From 84caae4c08edc18aec6434714e3090ae98fcc374 Mon Sep 17 00:00:00 2001 From: presentformyfriends Date: Wed, 12 Jun 2024 22:09:27 -0400 Subject: [PATCH 001/181] Add FILE line to Cuefile to include file path for each track --- src/engine/sidechain/enginerecord.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/engine/sidechain/enginerecord.cpp b/src/engine/sidechain/enginerecord.cpp index 50e739b06567..b4f90cf7aa40 100644 --- a/src/engine/sidechain/enginerecord.cpp +++ b/src/engine/sidechain/enginerecord.cpp @@ -248,6 +248,9 @@ void EngineRecord::writeCueLine() { m_cueFile.write(QString(" PERFORMER \"%1\"\n") .arg(m_pCurrentTrack->getArtist()) .toUtf8()); + m_cueFile.write(QString(" FILE \"%1\"\n") + .arg(m_pCurrentTrack->getLocation()) + .toUtf8()); // Woefully inaccurate (at the seconds level anyways). // We'd need a signal fired state tracker From c0fadc1b062131092c948047c79837a2957f9a8d Mon Sep 17 00:00:00 2001 From: presentformyfriends Date: Sun, 14 Jul 2024 19:21:45 -0400 Subject: [PATCH 002/181] Add CUE file annotation feature logic and UI Add boolean to EngineRecord and initialize it in updateFromPreferences Add checkbox to DlgPrefRecord to enable file annotation in CUE file Add logic to ensure checkbox is disabled by default, include tooltip --- src/engine/sidechain/enginerecord.cpp | 14 +++++--- src/engine/sidechain/enginerecord.h | 1 + src/preferences/dialog/dlgprefrecord.cpp | 40 +++++++++++++++++++++- src/preferences/dialog/dlgprefrecord.h | 5 +++ src/preferences/dialog/dlgprefrecorddlg.ui | 15 ++++++++ 5 files changed, 70 insertions(+), 5 deletions(-) diff --git a/src/engine/sidechain/enginerecord.cpp b/src/engine/sidechain/enginerecord.cpp index b4f90cf7aa40..ac9937133c93 100644 --- a/src/engine/sidechain/enginerecord.cpp +++ b/src/engine/sidechain/enginerecord.cpp @@ -18,7 +18,9 @@ EngineRecord::EngineRecord(UserSettingsPointer pConfig) m_recordedDuration(0), m_iMetaDataLife(0), m_cueTrack(0), - m_bCueIsEnabled(false) { + m_bCueIsEnabled(false), + m_bCueUsesFileAnnotation(false) +{ m_pRecReady = new ControlProxy(RECORDING_PREF_KEY, "status", this); m_sampleRate = mixxx::audio::SampleRate::fromDouble(m_sampleRateControl.get()); } @@ -36,6 +38,7 @@ int EngineRecord::updateFromPreferences() { m_baAlbum = m_pConfig->getValueString(ConfigKey(RECORDING_PREF_KEY, "Album")); m_cueFileName = m_pConfig->getValueString(ConfigKey(RECORDING_PREF_KEY, "CuePath")); m_bCueIsEnabled = m_pConfig->getValueString(ConfigKey(RECORDING_PREF_KEY, "CueEnabled")).toInt(); + m_bCueUsesFileAnnotation = m_pConfig->getValueString(ConfigKey(RECORDING_PREF_KEY, "CueFileAnnotationEnabled")).toInt(); m_sampleRate = mixxx::audio::SampleRate::fromDouble(m_sampleRateControl.get()); // Delete m_pEncoder if it has been initialized (with maybe) different bitrate. @@ -248,9 +251,12 @@ void EngineRecord::writeCueLine() { m_cueFile.write(QString(" PERFORMER \"%1\"\n") .arg(m_pCurrentTrack->getArtist()) .toUtf8()); - m_cueFile.write(QString(" FILE \"%1\"\n") - .arg(m_pCurrentTrack->getLocation()) - .toUtf8()); + + if (m_bCueUsesFileAnnotation) { + m_cueFile.write(QString(" FILE \"%1\"\n") + .arg(m_pCurrentTrack->getLocation()) + .toUtf8()); + } // Woefully inaccurate (at the seconds level anyways). // We'd need a signal fired state tracker diff --git a/src/engine/sidechain/enginerecord.h b/src/engine/sidechain/enginerecord.h index 662a7b25d6e9..b0fd93ef8b01 100644 --- a/src/engine/sidechain/enginerecord.h +++ b/src/engine/sidechain/enginerecord.h @@ -85,4 +85,5 @@ class EngineRecord : public QObject, public EncoderCallback, public SideChainWor QString m_cueFileName; quint64 m_cueTrack; bool m_bCueIsEnabled; + bool m_bCueUsesFileAnnotation; }; diff --git a/src/preferences/dialog/dlgprefrecord.cpp b/src/preferences/dialog/dlgprefrecord.cpp index d4e39dfcf1a8..91a4008367b1 100644 --- a/src/preferences/dialog/dlgprefrecord.cpp +++ b/src/preferences/dialog/dlgprefrecord.cpp @@ -76,6 +76,9 @@ DlgPrefRecord::DlgPrefRecord(QWidget* parent, UserSettingsPointer pConfig) CheckBoxRecordCueFile->setChecked(m_pConfig->getValue( ConfigKey(RECORDING_PREF_KEY, "CueEnabled"), kDefaultCueEnabled)); + CheckBoxUseCueFileAnnotation->setChecked(m_pConfig->getValue( + ConfigKey(RECORDING_PREF_KEY, "CueFileAnnotationEnabled"), false)); + // Setting split comboBoxSplitting->addItem(SPLIT_650MB); comboBoxSplitting->addItem(SPLIT_700MB); @@ -119,6 +122,11 @@ DlgPrefRecord::DlgPrefRecord(QWidget* parent, UserSettingsPointer pConfig) &QAbstractSlider::sliderReleased, this, &DlgPrefRecord::slotSliderCompression); + + connect(CheckBoxRecordCueFile, + &QCheckBox::stateChanged, + this, + &DlgPrefRecord::slotToggleCueEnabled); } DlgPrefRecord::~DlgPrefRecord() { @@ -144,6 +152,7 @@ void DlgPrefRecord::slotApply() { saveMetaData(); saveEncoding(); saveUseCueFile(); + saveUseCueFileAnnotation(); saveSplitSize(); } @@ -175,10 +184,12 @@ void DlgPrefRecord::slotUpdate() { loadMetaData(); - // Setting miscellaneous + // Setting miscellaneous CheckBoxRecordCueFile->setChecked(m_pConfig->getValue( ConfigKey(RECORDING_PREF_KEY, "CueEnabled"), kDefaultCueEnabled)); + updateCueEnabled(); + QString fileSizeStr = m_pConfig->getValueString(ConfigKey(RECORDING_PREF_KEY, "FileSize")); int index = comboBoxSplitting->findText(fileSizeStr); if (index >= 0) { @@ -201,7 +212,13 @@ void DlgPrefRecord::slotResetToDefaults() { // 4GB splitting is the default comboBoxSplitting->setCurrentIndex(4); + + // Sets 'Create a CUE file' checkbox value CheckBoxRecordCueFile->setChecked(kDefaultCueEnabled); + + // Sets 'Enable File Annotation in CUE file' checkbox value + CheckBoxUseCueFileAnnotation->setChecked(false); + } void DlgPrefRecord::slotBrowseRecordingsDir() { @@ -303,6 +320,17 @@ void DlgPrefRecord::slotSliderQuality() { // Settings are only stored when doing an apply so that "cancel" can actually cancel. } +// Set 'Enable File Annotation in CUE file' checkbox value depending on 'Create a CUE file' checkbox value +void DlgPrefRecord::updateCueEnabled() { + if (CheckBoxRecordCueFile->isChecked()) { + CheckBoxUseCueFileAnnotation->setEnabled(true); + } + else { + CheckBoxUseCueFileAnnotation->setEnabled(false); + CheckBoxUseCueFileAnnotation->setChecked(false); + } +} + void DlgPrefRecord::updateTextQuality() { EncoderRecordingSettingsPointer settings = EncoderFactory::getFactory().getEncoderRecordingSettings( @@ -429,11 +457,21 @@ void DlgPrefRecord::saveEncoding() { } } + +void DlgPrefRecord::slotToggleCueEnabled() { + updateCueEnabled(); +} + void DlgPrefRecord::saveUseCueFile() { m_pConfig->set(ConfigKey(RECORDING_PREF_KEY, "CueEnabled"), ConfigValue(CheckBoxRecordCueFile->isChecked())); } +void DlgPrefRecord::saveUseCueFileAnnotation() { + m_pConfig->set(ConfigKey(RECORDING_PREF_KEY, "CueFileAnnotationEnabled"), + ConfigValue(CheckBoxUseCueFileAnnotation->isChecked())); +} + void DlgPrefRecord::saveSplitSize() { m_pConfig->set(ConfigKey(RECORDING_PREF_KEY, "FileSize"), ConfigValue(comboBoxSplitting->currentText())); diff --git a/src/preferences/dialog/dlgprefrecord.h b/src/preferences/dialog/dlgprefrecord.h index 17c47a1ea573..bb086885d8ac 100644 --- a/src/preferences/dialog/dlgprefrecord.h +++ b/src/preferences/dialog/dlgprefrecord.h @@ -32,6 +32,9 @@ class DlgPrefRecord : public DlgPreferencePage, public Ui::DlgPrefRecordDlg { void slotSliderCompression(); void slotGroupChanged(); + private slots: + void slotToggleCueEnabled(); + signals: void apply(const QString &); @@ -44,6 +47,8 @@ class DlgPrefRecord : public DlgPreferencePage, public Ui::DlgPrefRecordDlg { void saveMetaData(); void saveEncoding(); void saveUseCueFile(); + void saveUseCueFileAnnotation(); + void updateCueEnabled(); void saveSplitSize(); // Pointer to config object diff --git a/src/preferences/dialog/dlgprefrecorddlg.ui b/src/preferences/dialog/dlgprefrecorddlg.ui index 01a3808af0d9..cffe8673c217 100644 --- a/src/preferences/dialog/dlgprefrecorddlg.ui +++ b/src/preferences/dialog/dlgprefrecorddlg.ui @@ -119,6 +119,20 @@ + + + + + This will include the filepath for each track in the CUE file. +This option makes the CUE file less portable and can reveal personal +information from filepaths (i.e. username) + + + Enable File Annotation in CUE file + + + + @@ -386,6 +400,7 @@ PushButtonBrowseRecordings comboBoxSplitting CheckBoxRecordCueFile + CheckBoxUseCueFileAnnotation SliderCompression SliderQuality LineEditTitle From d6a42bb98909107a4c3d7802b7f73e98306ee0f0 Mon Sep 17 00:00:00 2001 From: presentformyfriends Date: Sun, 14 Jul 2024 21:36:06 -0400 Subject: [PATCH 003/181] Fix formatting issues as per pre-commit hook --- src/engine/sidechain/enginerecord.cpp | 3 +-- src/preferences/dialog/dlgprefrecord.cpp | 7 ++----- 2 files changed, 3 insertions(+), 7 deletions(-) diff --git a/src/engine/sidechain/enginerecord.cpp b/src/engine/sidechain/enginerecord.cpp index ac9937133c93..61ee564825a4 100644 --- a/src/engine/sidechain/enginerecord.cpp +++ b/src/engine/sidechain/enginerecord.cpp @@ -19,8 +19,7 @@ EngineRecord::EngineRecord(UserSettingsPointer pConfig) m_iMetaDataLife(0), m_cueTrack(0), m_bCueIsEnabled(false), - m_bCueUsesFileAnnotation(false) -{ + m_bCueUsesFileAnnotation(false) { m_pRecReady = new ControlProxy(RECORDING_PREF_KEY, "status", this); m_sampleRate = mixxx::audio::SampleRate::fromDouble(m_sampleRateControl.get()); } diff --git a/src/preferences/dialog/dlgprefrecord.cpp b/src/preferences/dialog/dlgprefrecord.cpp index 91a4008367b1..2c32b6184559 100644 --- a/src/preferences/dialog/dlgprefrecord.cpp +++ b/src/preferences/dialog/dlgprefrecord.cpp @@ -218,7 +218,6 @@ void DlgPrefRecord::slotResetToDefaults() { // Sets 'Enable File Annotation in CUE file' checkbox value CheckBoxUseCueFileAnnotation->setChecked(false); - } void DlgPrefRecord::slotBrowseRecordingsDir() { @@ -324,8 +323,7 @@ void DlgPrefRecord::slotSliderQuality() { void DlgPrefRecord::updateCueEnabled() { if (CheckBoxRecordCueFile->isChecked()) { CheckBoxUseCueFileAnnotation->setEnabled(true); - } - else { + } else { CheckBoxUseCueFileAnnotation->setEnabled(false); CheckBoxUseCueFileAnnotation->setChecked(false); } @@ -457,7 +455,6 @@ void DlgPrefRecord::saveEncoding() { } } - void DlgPrefRecord::slotToggleCueEnabled() { updateCueEnabled(); } @@ -469,7 +466,7 @@ void DlgPrefRecord::saveUseCueFile() { void DlgPrefRecord::saveUseCueFileAnnotation() { m_pConfig->set(ConfigKey(RECORDING_PREF_KEY, "CueFileAnnotationEnabled"), - ConfigValue(CheckBoxUseCueFileAnnotation->isChecked())); + ConfigValue(CheckBoxUseCueFileAnnotation->isChecked())); } void DlgPrefRecord::saveSplitSize() { From 827c956b70f35dcb0e23a43599ec020eab3676d1 Mon Sep 17 00:00:00 2001 From: dbaser <63173073+presentformyfriends@users.noreply.github.com> Date: Wed, 17 Jul 2024 18:21:17 -0400 Subject: [PATCH 004/181] Update src/preferences/dialog/dlgprefrecord.cpp Co-authored-by: Antoine Colombier <7086688+acolombier@users.noreply.github.com> --- src/preferences/dialog/dlgprefrecord.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/preferences/dialog/dlgprefrecord.cpp b/src/preferences/dialog/dlgprefrecord.cpp index 2c32b6184559..148ba114b08d 100644 --- a/src/preferences/dialog/dlgprefrecord.cpp +++ b/src/preferences/dialog/dlgprefrecord.cpp @@ -77,7 +77,7 @@ DlgPrefRecord::DlgPrefRecord(QWidget* parent, UserSettingsPointer pConfig) ConfigKey(RECORDING_PREF_KEY, "CueEnabled"), kDefaultCueEnabled)); CheckBoxUseCueFileAnnotation->setChecked(m_pConfig->getValue( - ConfigKey(RECORDING_PREF_KEY, "CueFileAnnotationEnabled"), false)); + ConfigKey(RECORDING_PREF_KEY, "cue_file_annotation_enabled"), false)); // Setting split comboBoxSplitting->addItem(SPLIT_650MB); From 7ae6cb7bb7ad195763a557f30c4b80ac870ae207 Mon Sep 17 00:00:00 2001 From: dbaser <63173073+presentformyfriends@users.noreply.github.com> Date: Wed, 17 Jul 2024 18:24:21 -0400 Subject: [PATCH 005/181] Update src/preferences/dialog/dlgprefrecord.cpp Co-authored-by: Antoine Colombier <7086688+acolombier@users.noreply.github.com> --- src/preferences/dialog/dlgprefrecord.cpp | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/src/preferences/dialog/dlgprefrecord.cpp b/src/preferences/dialog/dlgprefrecord.cpp index 148ba114b08d..83c5696da168 100644 --- a/src/preferences/dialog/dlgprefrecord.cpp +++ b/src/preferences/dialog/dlgprefrecord.cpp @@ -321,12 +321,7 @@ void DlgPrefRecord::slotSliderQuality() { // Set 'Enable File Annotation in CUE file' checkbox value depending on 'Create a CUE file' checkbox value void DlgPrefRecord::updateCueEnabled() { - if (CheckBoxRecordCueFile->isChecked()) { - CheckBoxUseCueFileAnnotation->setEnabled(true); - } else { - CheckBoxUseCueFileAnnotation->setEnabled(false); - CheckBoxUseCueFileAnnotation->setChecked(false); - } + CheckBoxUseCueFileAnnotation->setEnabled(CheckBoxRecordCueFile->isChecked()); } void DlgPrefRecord::updateTextQuality() { From 5a071634179b2039832c376ec36c8c5671b11345 Mon Sep 17 00:00:00 2001 From: presentformyfriends Date: Thu, 18 Jul 2024 20:16:58 -0400 Subject: [PATCH 006/181] Add files modified by clang-format hook --- src/engine/sidechain/enginerecord.cpp | 6 +++++- src/preferences/dialog/dlgprefrecord.cpp | 23 +++++++++-------------- src/preferences/dialog/dlgprefrecord.h | 1 - 3 files changed, 14 insertions(+), 16 deletions(-) diff --git a/src/engine/sidechain/enginerecord.cpp b/src/engine/sidechain/enginerecord.cpp index 61ee564825a4..9512af3c9aca 100644 --- a/src/engine/sidechain/enginerecord.cpp +++ b/src/engine/sidechain/enginerecord.cpp @@ -37,7 +37,11 @@ int EngineRecord::updateFromPreferences() { m_baAlbum = m_pConfig->getValueString(ConfigKey(RECORDING_PREF_KEY, "Album")); m_cueFileName = m_pConfig->getValueString(ConfigKey(RECORDING_PREF_KEY, "CuePath")); m_bCueIsEnabled = m_pConfig->getValueString(ConfigKey(RECORDING_PREF_KEY, "CueEnabled")).toInt(); - m_bCueUsesFileAnnotation = m_pConfig->getValueString(ConfigKey(RECORDING_PREF_KEY, "CueFileAnnotationEnabled")).toInt(); + m_bCueUsesFileAnnotation = + m_pConfig + ->getValueString(ConfigKey( + RECORDING_PREF_KEY, "CueFileAnnotationEnabled")) + .toInt(); m_sampleRate = mixxx::audio::SampleRate::fromDouble(m_sampleRateControl.get()); // Delete m_pEncoder if it has been initialized (with maybe) different bitrate. diff --git a/src/preferences/dialog/dlgprefrecord.cpp b/src/preferences/dialog/dlgprefrecord.cpp index 2c32b6184559..3fa47d140ead 100644 --- a/src/preferences/dialog/dlgprefrecord.cpp +++ b/src/preferences/dialog/dlgprefrecord.cpp @@ -12,6 +12,7 @@ namespace { constexpr bool kDefaultCueEnabled = true; +constexpr bool kDefaultCueFileAnnotationEnabled = false; } // anonymous namespace DlgPrefRecord::DlgPrefRecord(QWidget* parent, UserSettingsPointer pConfig) @@ -77,7 +78,7 @@ DlgPrefRecord::DlgPrefRecord(QWidget* parent, UserSettingsPointer pConfig) ConfigKey(RECORDING_PREF_KEY, "CueEnabled"), kDefaultCueEnabled)); CheckBoxUseCueFileAnnotation->setChecked(m_pConfig->getValue( - ConfigKey(RECORDING_PREF_KEY, "CueFileAnnotationEnabled"), false)); + ConfigKey(RECORDING_PREF_KEY, "cue_file_annotation_enabled"), kDefaultCueFileAnnotationEnabled)); // Setting split comboBoxSplitting->addItem(SPLIT_650MB); @@ -188,7 +189,7 @@ void DlgPrefRecord::slotUpdate() { CheckBoxRecordCueFile->setChecked(m_pConfig->getValue( ConfigKey(RECORDING_PREF_KEY, "CueEnabled"), kDefaultCueEnabled)); - updateCueEnabled(); + slotToggleCueEnabled(); QString fileSizeStr = m_pConfig->getValueString(ConfigKey(RECORDING_PREF_KEY, "FileSize")); int index = comboBoxSplitting->findText(fileSizeStr); @@ -217,7 +218,7 @@ void DlgPrefRecord::slotResetToDefaults() { CheckBoxRecordCueFile->setChecked(kDefaultCueEnabled); // Sets 'Enable File Annotation in CUE file' checkbox value - CheckBoxUseCueFileAnnotation->setChecked(false); + CheckBoxUseCueFileAnnotation->setChecked(kDefaultCueFileAnnotationEnabled); } void DlgPrefRecord::slotBrowseRecordingsDir() { @@ -319,15 +320,6 @@ void DlgPrefRecord::slotSliderQuality() { // Settings are only stored when doing an apply so that "cancel" can actually cancel. } -// Set 'Enable File Annotation in CUE file' checkbox value depending on 'Create a CUE file' checkbox value -void DlgPrefRecord::updateCueEnabled() { - if (CheckBoxRecordCueFile->isChecked()) { - CheckBoxUseCueFileAnnotation->setEnabled(true); - } else { - CheckBoxUseCueFileAnnotation->setEnabled(false); - CheckBoxUseCueFileAnnotation->setChecked(false); - } -} void DlgPrefRecord::updateTextQuality() { EncoderRecordingSettingsPointer settings = @@ -455,8 +447,10 @@ void DlgPrefRecord::saveEncoding() { } } +// Set 'Enable File Annotation in CUE file' checkbox value depending on 'Create +// a CUE file' checkbox value void DlgPrefRecord::slotToggleCueEnabled() { - updateCueEnabled(); + CheckBoxUseCueFileAnnotation->setEnabled(CheckBoxRecordCueFile->isChecked()); } void DlgPrefRecord::saveUseCueFile() { @@ -466,10 +460,11 @@ void DlgPrefRecord::saveUseCueFile() { void DlgPrefRecord::saveUseCueFileAnnotation() { m_pConfig->set(ConfigKey(RECORDING_PREF_KEY, "CueFileAnnotationEnabled"), - ConfigValue(CheckBoxUseCueFileAnnotation->isChecked())); + ConfigValue(CheckBoxUseCueFileAnnotation->isChecked())); } void DlgPrefRecord::saveSplitSize() { m_pConfig->set(ConfigKey(RECORDING_PREF_KEY, "FileSize"), ConfigValue(comboBoxSplitting->currentText())); } + diff --git a/src/preferences/dialog/dlgprefrecord.h b/src/preferences/dialog/dlgprefrecord.h index bb086885d8ac..19d287c43c12 100644 --- a/src/preferences/dialog/dlgprefrecord.h +++ b/src/preferences/dialog/dlgprefrecord.h @@ -48,7 +48,6 @@ class DlgPrefRecord : public DlgPreferencePage, public Ui::DlgPrefRecordDlg { void saveEncoding(); void saveUseCueFile(); void saveUseCueFileAnnotation(); - void updateCueEnabled(); void saveSplitSize(); // Pointer to config object From b2327a0ea65697fde18ee37e668fdf903948ee5d Mon Sep 17 00:00:00 2001 From: presentformyfriends Date: Fri, 19 Jul 2024 19:18:48 -0400 Subject: [PATCH 007/181] Revert "Add files modified by clang-format hook" This reverts commit 5a071634179b2039832c376ec36c8c5671b11345. --- src/engine/sidechain/enginerecord.cpp | 6 +----- src/preferences/dialog/dlgprefrecord.cpp | 23 ++++++++++++++--------- src/preferences/dialog/dlgprefrecord.h | 1 + 3 files changed, 16 insertions(+), 14 deletions(-) diff --git a/src/engine/sidechain/enginerecord.cpp b/src/engine/sidechain/enginerecord.cpp index 9512af3c9aca..61ee564825a4 100644 --- a/src/engine/sidechain/enginerecord.cpp +++ b/src/engine/sidechain/enginerecord.cpp @@ -37,11 +37,7 @@ int EngineRecord::updateFromPreferences() { m_baAlbum = m_pConfig->getValueString(ConfigKey(RECORDING_PREF_KEY, "Album")); m_cueFileName = m_pConfig->getValueString(ConfigKey(RECORDING_PREF_KEY, "CuePath")); m_bCueIsEnabled = m_pConfig->getValueString(ConfigKey(RECORDING_PREF_KEY, "CueEnabled")).toInt(); - m_bCueUsesFileAnnotation = - m_pConfig - ->getValueString(ConfigKey( - RECORDING_PREF_KEY, "CueFileAnnotationEnabled")) - .toInt(); + m_bCueUsesFileAnnotation = m_pConfig->getValueString(ConfigKey(RECORDING_PREF_KEY, "CueFileAnnotationEnabled")).toInt(); m_sampleRate = mixxx::audio::SampleRate::fromDouble(m_sampleRateControl.get()); // Delete m_pEncoder if it has been initialized (with maybe) different bitrate. diff --git a/src/preferences/dialog/dlgprefrecord.cpp b/src/preferences/dialog/dlgprefrecord.cpp index 3fa47d140ead..2c32b6184559 100644 --- a/src/preferences/dialog/dlgprefrecord.cpp +++ b/src/preferences/dialog/dlgprefrecord.cpp @@ -12,7 +12,6 @@ namespace { constexpr bool kDefaultCueEnabled = true; -constexpr bool kDefaultCueFileAnnotationEnabled = false; } // anonymous namespace DlgPrefRecord::DlgPrefRecord(QWidget* parent, UserSettingsPointer pConfig) @@ -78,7 +77,7 @@ DlgPrefRecord::DlgPrefRecord(QWidget* parent, UserSettingsPointer pConfig) ConfigKey(RECORDING_PREF_KEY, "CueEnabled"), kDefaultCueEnabled)); CheckBoxUseCueFileAnnotation->setChecked(m_pConfig->getValue( - ConfigKey(RECORDING_PREF_KEY, "cue_file_annotation_enabled"), kDefaultCueFileAnnotationEnabled)); + ConfigKey(RECORDING_PREF_KEY, "CueFileAnnotationEnabled"), false)); // Setting split comboBoxSplitting->addItem(SPLIT_650MB); @@ -189,7 +188,7 @@ void DlgPrefRecord::slotUpdate() { CheckBoxRecordCueFile->setChecked(m_pConfig->getValue( ConfigKey(RECORDING_PREF_KEY, "CueEnabled"), kDefaultCueEnabled)); - slotToggleCueEnabled(); + updateCueEnabled(); QString fileSizeStr = m_pConfig->getValueString(ConfigKey(RECORDING_PREF_KEY, "FileSize")); int index = comboBoxSplitting->findText(fileSizeStr); @@ -218,7 +217,7 @@ void DlgPrefRecord::slotResetToDefaults() { CheckBoxRecordCueFile->setChecked(kDefaultCueEnabled); // Sets 'Enable File Annotation in CUE file' checkbox value - CheckBoxUseCueFileAnnotation->setChecked(kDefaultCueFileAnnotationEnabled); + CheckBoxUseCueFileAnnotation->setChecked(false); } void DlgPrefRecord::slotBrowseRecordingsDir() { @@ -320,6 +319,15 @@ void DlgPrefRecord::slotSliderQuality() { // Settings are only stored when doing an apply so that "cancel" can actually cancel. } +// Set 'Enable File Annotation in CUE file' checkbox value depending on 'Create a CUE file' checkbox value +void DlgPrefRecord::updateCueEnabled() { + if (CheckBoxRecordCueFile->isChecked()) { + CheckBoxUseCueFileAnnotation->setEnabled(true); + } else { + CheckBoxUseCueFileAnnotation->setEnabled(false); + CheckBoxUseCueFileAnnotation->setChecked(false); + } +} void DlgPrefRecord::updateTextQuality() { EncoderRecordingSettingsPointer settings = @@ -447,10 +455,8 @@ void DlgPrefRecord::saveEncoding() { } } -// Set 'Enable File Annotation in CUE file' checkbox value depending on 'Create -// a CUE file' checkbox value void DlgPrefRecord::slotToggleCueEnabled() { - CheckBoxUseCueFileAnnotation->setEnabled(CheckBoxRecordCueFile->isChecked()); + updateCueEnabled(); } void DlgPrefRecord::saveUseCueFile() { @@ -460,11 +466,10 @@ void DlgPrefRecord::saveUseCueFile() { void DlgPrefRecord::saveUseCueFileAnnotation() { m_pConfig->set(ConfigKey(RECORDING_PREF_KEY, "CueFileAnnotationEnabled"), - ConfigValue(CheckBoxUseCueFileAnnotation->isChecked())); + ConfigValue(CheckBoxUseCueFileAnnotation->isChecked())); } void DlgPrefRecord::saveSplitSize() { m_pConfig->set(ConfigKey(RECORDING_PREF_KEY, "FileSize"), ConfigValue(comboBoxSplitting->currentText())); } - diff --git a/src/preferences/dialog/dlgprefrecord.h b/src/preferences/dialog/dlgprefrecord.h index 19d287c43c12..bb086885d8ac 100644 --- a/src/preferences/dialog/dlgprefrecord.h +++ b/src/preferences/dialog/dlgprefrecord.h @@ -48,6 +48,7 @@ class DlgPrefRecord : public DlgPreferencePage, public Ui::DlgPrefRecordDlg { void saveEncoding(); void saveUseCueFile(); void saveUseCueFileAnnotation(); + void updateCueEnabled(); void saveSplitSize(); // Pointer to config object From 77cc748df0e0abd626236433e8c3e0919a19abc5 Mon Sep 17 00:00:00 2001 From: presentformyfriends Date: Tue, 23 Jul 2024 01:46:28 -0400 Subject: [PATCH 008/181] Fix line length, naming case, redundant function Resolve line length issues to pass clang-format hook in pre-commit. Change config key to snake_case. Remove redundant 'updateCueEnabled' function, call slotToggleCueEnabled directly instead. --- src/engine/sidechain/enginerecord.cpp | 21 +++++++++++++++------ src/preferences/dialog/dlgprefrecord.cpp | 21 +++++++++++---------- src/preferences/dialog/dlgprefrecord.h | 1 - 3 files changed, 26 insertions(+), 17 deletions(-) diff --git a/src/engine/sidechain/enginerecord.cpp b/src/engine/sidechain/enginerecord.cpp index 61ee564825a4..7d8038012420 100644 --- a/src/engine/sidechain/enginerecord.cpp +++ b/src/engine/sidechain/enginerecord.cpp @@ -36,8 +36,16 @@ int EngineRecord::updateFromPreferences() { m_baAuthor = m_pConfig->getValueString(ConfigKey(RECORDING_PREF_KEY, "Author")); m_baAlbum = m_pConfig->getValueString(ConfigKey(RECORDING_PREF_KEY, "Album")); m_cueFileName = m_pConfig->getValueString(ConfigKey(RECORDING_PREF_KEY, "CuePath")); - m_bCueIsEnabled = m_pConfig->getValueString(ConfigKey(RECORDING_PREF_KEY, "CueEnabled")).toInt(); - m_bCueUsesFileAnnotation = m_pConfig->getValueString(ConfigKey(RECORDING_PREF_KEY, "CueFileAnnotationEnabled")).toInt(); + m_bCueIsEnabled = + m_pConfig + ->getValueString(ConfigKey( + RECORDING_PREF_KEY, "CueEnabled")) + .toInt(); + m_bCueUsesFileAnnotation = + m_pConfig + ->getValueString(ConfigKey( + RECORDING_PREF_KEY, "cue_file_annotation_enabled")) + .toInt(); m_sampleRate = mixxx::audio::SampleRate::fromDouble(m_sampleRateControl.get()); // Delete m_pEncoder if it has been initialized (with maybe) different bitrate. @@ -240,19 +248,19 @@ void EngineRecord::writeCueLine() { ((m_frames / (m_sampleRate / 75))) % 75); - m_cueFile.write(QString(" TRACK %1 AUDIO\n") + m_cueFile.write(QStringLiteral(" TRACK %1 AUDIO\n") .arg((double)m_cueTrack, 2, 'f', 0, '0') .toUtf8()); - m_cueFile.write(QString(" TITLE \"%1\"\n") + m_cueFile.write(QStringLiteral(" TITLE \"%1\"\n") .arg(m_pCurrentTrack->getTitle()) .toUtf8()); - m_cueFile.write(QString(" PERFORMER \"%1\"\n") + m_cueFile.write(QStringLiteral(" PERFORMER \"%1\"\n") .arg(m_pCurrentTrack->getArtist()) .toUtf8()); if (m_bCueUsesFileAnnotation) { - m_cueFile.write(QString(" FILE \"%1\"\n") + m_cueFile.write(QStringLiteral(" FILE \"%1\"\n") .arg(m_pCurrentTrack->getLocation()) .toUtf8()); } @@ -388,3 +396,4 @@ void EngineRecord::closeCueFile() { m_cueFile.close(); } } + diff --git a/src/preferences/dialog/dlgprefrecord.cpp b/src/preferences/dialog/dlgprefrecord.cpp index 83c5696da168..bd2fa2908aee 100644 --- a/src/preferences/dialog/dlgprefrecord.cpp +++ b/src/preferences/dialog/dlgprefrecord.cpp @@ -12,6 +12,7 @@ namespace { constexpr bool kDefaultCueEnabled = true; +constexpr bool kDefaultCueFileAnnotationEnabled = false; } // anonymous namespace DlgPrefRecord::DlgPrefRecord(QWidget* parent, UserSettingsPointer pConfig) @@ -77,7 +78,8 @@ DlgPrefRecord::DlgPrefRecord(QWidget* parent, UserSettingsPointer pConfig) ConfigKey(RECORDING_PREF_KEY, "CueEnabled"), kDefaultCueEnabled)); CheckBoxUseCueFileAnnotation->setChecked(m_pConfig->getValue( - ConfigKey(RECORDING_PREF_KEY, "cue_file_annotation_enabled"), false)); + ConfigKey(RECORDING_PREF_KEY, "cue_file_annotation_enabled"), + kDefaultCueFileAnnotationEnabled)); // Setting split comboBoxSplitting->addItem(SPLIT_650MB); @@ -188,7 +190,7 @@ void DlgPrefRecord::slotUpdate() { CheckBoxRecordCueFile->setChecked(m_pConfig->getValue( ConfigKey(RECORDING_PREF_KEY, "CueEnabled"), kDefaultCueEnabled)); - updateCueEnabled(); + slotToggleCueEnabled(); QString fileSizeStr = m_pConfig->getValueString(ConfigKey(RECORDING_PREF_KEY, "FileSize")); int index = comboBoxSplitting->findText(fileSizeStr); @@ -319,11 +321,6 @@ void DlgPrefRecord::slotSliderQuality() { // Settings are only stored when doing an apply so that "cancel" can actually cancel. } -// Set 'Enable File Annotation in CUE file' checkbox value depending on 'Create a CUE file' checkbox value -void DlgPrefRecord::updateCueEnabled() { - CheckBoxUseCueFileAnnotation->setEnabled(CheckBoxRecordCueFile->isChecked()); -} - void DlgPrefRecord::updateTextQuality() { EncoderRecordingSettingsPointer settings = EncoderFactory::getFactory().getEncoderRecordingSettings( @@ -450,8 +447,11 @@ void DlgPrefRecord::saveEncoding() { } } +// Set 'Enable File Annotation in CUE file' checkbox value depending on 'Create +// a CUE file' checkbox value void DlgPrefRecord::slotToggleCueEnabled() { - updateCueEnabled(); + CheckBoxUseCueFileAnnotation->setEnabled(CheckBoxRecordCueFile + ->isChecked()); } void DlgPrefRecord::saveUseCueFile() { @@ -460,11 +460,12 @@ void DlgPrefRecord::saveUseCueFile() { } void DlgPrefRecord::saveUseCueFileAnnotation() { - m_pConfig->set(ConfigKey(RECORDING_PREF_KEY, "CueFileAnnotationEnabled"), - ConfigValue(CheckBoxUseCueFileAnnotation->isChecked())); + m_pConfig->set(ConfigKey(RECORDING_PREF_KEY, "cue_file_annotation_enabled"), + ConfigValue(CheckBoxUseCueFileAnnotation->isChecked())); } void DlgPrefRecord::saveSplitSize() { m_pConfig->set(ConfigKey(RECORDING_PREF_KEY, "FileSize"), ConfigValue(comboBoxSplitting->currentText())); } + diff --git a/src/preferences/dialog/dlgprefrecord.h b/src/preferences/dialog/dlgprefrecord.h index bb086885d8ac..19d287c43c12 100644 --- a/src/preferences/dialog/dlgprefrecord.h +++ b/src/preferences/dialog/dlgprefrecord.h @@ -48,7 +48,6 @@ class DlgPrefRecord : public DlgPreferencePage, public Ui::DlgPrefRecordDlg { void saveEncoding(); void saveUseCueFile(); void saveUseCueFileAnnotation(); - void updateCueEnabled(); void saveSplitSize(); // Pointer to config object From 213bfdb0ecfa1a6580510770739c15edd2b54369 Mon Sep 17 00:00:00 2001 From: presentformyfriends Date: Tue, 23 Jul 2024 03:07:08 -0400 Subject: [PATCH 009/181] Revert "Fix line length, naming case, redundant function" This reverts commit 77cc748df0e0abd626236433e8c3e0919a19abc5. --- src/engine/sidechain/enginerecord.cpp | 21 ++++++--------------- src/preferences/dialog/dlgprefrecord.cpp | 21 ++++++++++----------- src/preferences/dialog/dlgprefrecord.h | 1 + 3 files changed, 17 insertions(+), 26 deletions(-) diff --git a/src/engine/sidechain/enginerecord.cpp b/src/engine/sidechain/enginerecord.cpp index 7d8038012420..61ee564825a4 100644 --- a/src/engine/sidechain/enginerecord.cpp +++ b/src/engine/sidechain/enginerecord.cpp @@ -36,16 +36,8 @@ int EngineRecord::updateFromPreferences() { m_baAuthor = m_pConfig->getValueString(ConfigKey(RECORDING_PREF_KEY, "Author")); m_baAlbum = m_pConfig->getValueString(ConfigKey(RECORDING_PREF_KEY, "Album")); m_cueFileName = m_pConfig->getValueString(ConfigKey(RECORDING_PREF_KEY, "CuePath")); - m_bCueIsEnabled = - m_pConfig - ->getValueString(ConfigKey( - RECORDING_PREF_KEY, "CueEnabled")) - .toInt(); - m_bCueUsesFileAnnotation = - m_pConfig - ->getValueString(ConfigKey( - RECORDING_PREF_KEY, "cue_file_annotation_enabled")) - .toInt(); + m_bCueIsEnabled = m_pConfig->getValueString(ConfigKey(RECORDING_PREF_KEY, "CueEnabled")).toInt(); + m_bCueUsesFileAnnotation = m_pConfig->getValueString(ConfigKey(RECORDING_PREF_KEY, "CueFileAnnotationEnabled")).toInt(); m_sampleRate = mixxx::audio::SampleRate::fromDouble(m_sampleRateControl.get()); // Delete m_pEncoder if it has been initialized (with maybe) different bitrate. @@ -248,19 +240,19 @@ void EngineRecord::writeCueLine() { ((m_frames / (m_sampleRate / 75))) % 75); - m_cueFile.write(QStringLiteral(" TRACK %1 AUDIO\n") + m_cueFile.write(QString(" TRACK %1 AUDIO\n") .arg((double)m_cueTrack, 2, 'f', 0, '0') .toUtf8()); - m_cueFile.write(QStringLiteral(" TITLE \"%1\"\n") + m_cueFile.write(QString(" TITLE \"%1\"\n") .arg(m_pCurrentTrack->getTitle()) .toUtf8()); - m_cueFile.write(QStringLiteral(" PERFORMER \"%1\"\n") + m_cueFile.write(QString(" PERFORMER \"%1\"\n") .arg(m_pCurrentTrack->getArtist()) .toUtf8()); if (m_bCueUsesFileAnnotation) { - m_cueFile.write(QStringLiteral(" FILE \"%1\"\n") + m_cueFile.write(QString(" FILE \"%1\"\n") .arg(m_pCurrentTrack->getLocation()) .toUtf8()); } @@ -396,4 +388,3 @@ void EngineRecord::closeCueFile() { m_cueFile.close(); } } - diff --git a/src/preferences/dialog/dlgprefrecord.cpp b/src/preferences/dialog/dlgprefrecord.cpp index bd2fa2908aee..83c5696da168 100644 --- a/src/preferences/dialog/dlgprefrecord.cpp +++ b/src/preferences/dialog/dlgprefrecord.cpp @@ -12,7 +12,6 @@ namespace { constexpr bool kDefaultCueEnabled = true; -constexpr bool kDefaultCueFileAnnotationEnabled = false; } // anonymous namespace DlgPrefRecord::DlgPrefRecord(QWidget* parent, UserSettingsPointer pConfig) @@ -78,8 +77,7 @@ DlgPrefRecord::DlgPrefRecord(QWidget* parent, UserSettingsPointer pConfig) ConfigKey(RECORDING_PREF_KEY, "CueEnabled"), kDefaultCueEnabled)); CheckBoxUseCueFileAnnotation->setChecked(m_pConfig->getValue( - ConfigKey(RECORDING_PREF_KEY, "cue_file_annotation_enabled"), - kDefaultCueFileAnnotationEnabled)); + ConfigKey(RECORDING_PREF_KEY, "cue_file_annotation_enabled"), false)); // Setting split comboBoxSplitting->addItem(SPLIT_650MB); @@ -190,7 +188,7 @@ void DlgPrefRecord::slotUpdate() { CheckBoxRecordCueFile->setChecked(m_pConfig->getValue( ConfigKey(RECORDING_PREF_KEY, "CueEnabled"), kDefaultCueEnabled)); - slotToggleCueEnabled(); + updateCueEnabled(); QString fileSizeStr = m_pConfig->getValueString(ConfigKey(RECORDING_PREF_KEY, "FileSize")); int index = comboBoxSplitting->findText(fileSizeStr); @@ -321,6 +319,11 @@ void DlgPrefRecord::slotSliderQuality() { // Settings are only stored when doing an apply so that "cancel" can actually cancel. } +// Set 'Enable File Annotation in CUE file' checkbox value depending on 'Create a CUE file' checkbox value +void DlgPrefRecord::updateCueEnabled() { + CheckBoxUseCueFileAnnotation->setEnabled(CheckBoxRecordCueFile->isChecked()); +} + void DlgPrefRecord::updateTextQuality() { EncoderRecordingSettingsPointer settings = EncoderFactory::getFactory().getEncoderRecordingSettings( @@ -447,11 +450,8 @@ void DlgPrefRecord::saveEncoding() { } } -// Set 'Enable File Annotation in CUE file' checkbox value depending on 'Create -// a CUE file' checkbox value void DlgPrefRecord::slotToggleCueEnabled() { - CheckBoxUseCueFileAnnotation->setEnabled(CheckBoxRecordCueFile - ->isChecked()); + updateCueEnabled(); } void DlgPrefRecord::saveUseCueFile() { @@ -460,12 +460,11 @@ void DlgPrefRecord::saveUseCueFile() { } void DlgPrefRecord::saveUseCueFileAnnotation() { - m_pConfig->set(ConfigKey(RECORDING_PREF_KEY, "cue_file_annotation_enabled"), - ConfigValue(CheckBoxUseCueFileAnnotation->isChecked())); + m_pConfig->set(ConfigKey(RECORDING_PREF_KEY, "CueFileAnnotationEnabled"), + ConfigValue(CheckBoxUseCueFileAnnotation->isChecked())); } void DlgPrefRecord::saveSplitSize() { m_pConfig->set(ConfigKey(RECORDING_PREF_KEY, "FileSize"), ConfigValue(comboBoxSplitting->currentText())); } - diff --git a/src/preferences/dialog/dlgprefrecord.h b/src/preferences/dialog/dlgprefrecord.h index 19d287c43c12..bb086885d8ac 100644 --- a/src/preferences/dialog/dlgprefrecord.h +++ b/src/preferences/dialog/dlgprefrecord.h @@ -48,6 +48,7 @@ class DlgPrefRecord : public DlgPreferencePage, public Ui::DlgPrefRecordDlg { void saveEncoding(); void saveUseCueFile(); void saveUseCueFileAnnotation(); + void updateCueEnabled(); void saveSplitSize(); // Pointer to config object From 4d6590fa5288bbb72d848f94c9b1766007e890e5 Mon Sep 17 00:00:00 2001 From: presentformyfriends Date: Tue, 23 Jul 2024 03:10:42 -0400 Subject: [PATCH 010/181] Fix line length, naming case, redundant function Resolve line length issues to pass clang-format hook in pre-commit. Change config key to snake_case. Remove redundant 'updateCueEnabled' function, call slotToggleCueEnabled directly instead. --- src/engine/sidechain/enginerecord.cpp | 21 +++++++++++++++------ src/preferences/dialog/dlgprefrecord.cpp | 21 +++++++++++---------- src/preferences/dialog/dlgprefrecord.h | 1 - 3 files changed, 26 insertions(+), 17 deletions(-) diff --git a/src/engine/sidechain/enginerecord.cpp b/src/engine/sidechain/enginerecord.cpp index 61ee564825a4..7d8038012420 100644 --- a/src/engine/sidechain/enginerecord.cpp +++ b/src/engine/sidechain/enginerecord.cpp @@ -36,8 +36,16 @@ int EngineRecord::updateFromPreferences() { m_baAuthor = m_pConfig->getValueString(ConfigKey(RECORDING_PREF_KEY, "Author")); m_baAlbum = m_pConfig->getValueString(ConfigKey(RECORDING_PREF_KEY, "Album")); m_cueFileName = m_pConfig->getValueString(ConfigKey(RECORDING_PREF_KEY, "CuePath")); - m_bCueIsEnabled = m_pConfig->getValueString(ConfigKey(RECORDING_PREF_KEY, "CueEnabled")).toInt(); - m_bCueUsesFileAnnotation = m_pConfig->getValueString(ConfigKey(RECORDING_PREF_KEY, "CueFileAnnotationEnabled")).toInt(); + m_bCueIsEnabled = + m_pConfig + ->getValueString(ConfigKey( + RECORDING_PREF_KEY, "CueEnabled")) + .toInt(); + m_bCueUsesFileAnnotation = + m_pConfig + ->getValueString(ConfigKey( + RECORDING_PREF_KEY, "cue_file_annotation_enabled")) + .toInt(); m_sampleRate = mixxx::audio::SampleRate::fromDouble(m_sampleRateControl.get()); // Delete m_pEncoder if it has been initialized (with maybe) different bitrate. @@ -240,19 +248,19 @@ void EngineRecord::writeCueLine() { ((m_frames / (m_sampleRate / 75))) % 75); - m_cueFile.write(QString(" TRACK %1 AUDIO\n") + m_cueFile.write(QStringLiteral(" TRACK %1 AUDIO\n") .arg((double)m_cueTrack, 2, 'f', 0, '0') .toUtf8()); - m_cueFile.write(QString(" TITLE \"%1\"\n") + m_cueFile.write(QStringLiteral(" TITLE \"%1\"\n") .arg(m_pCurrentTrack->getTitle()) .toUtf8()); - m_cueFile.write(QString(" PERFORMER \"%1\"\n") + m_cueFile.write(QStringLiteral(" PERFORMER \"%1\"\n") .arg(m_pCurrentTrack->getArtist()) .toUtf8()); if (m_bCueUsesFileAnnotation) { - m_cueFile.write(QString(" FILE \"%1\"\n") + m_cueFile.write(QStringLiteral(" FILE \"%1\"\n") .arg(m_pCurrentTrack->getLocation()) .toUtf8()); } @@ -388,3 +396,4 @@ void EngineRecord::closeCueFile() { m_cueFile.close(); } } + diff --git a/src/preferences/dialog/dlgprefrecord.cpp b/src/preferences/dialog/dlgprefrecord.cpp index 83c5696da168..bd2fa2908aee 100644 --- a/src/preferences/dialog/dlgprefrecord.cpp +++ b/src/preferences/dialog/dlgprefrecord.cpp @@ -12,6 +12,7 @@ namespace { constexpr bool kDefaultCueEnabled = true; +constexpr bool kDefaultCueFileAnnotationEnabled = false; } // anonymous namespace DlgPrefRecord::DlgPrefRecord(QWidget* parent, UserSettingsPointer pConfig) @@ -77,7 +78,8 @@ DlgPrefRecord::DlgPrefRecord(QWidget* parent, UserSettingsPointer pConfig) ConfigKey(RECORDING_PREF_KEY, "CueEnabled"), kDefaultCueEnabled)); CheckBoxUseCueFileAnnotation->setChecked(m_pConfig->getValue( - ConfigKey(RECORDING_PREF_KEY, "cue_file_annotation_enabled"), false)); + ConfigKey(RECORDING_PREF_KEY, "cue_file_annotation_enabled"), + kDefaultCueFileAnnotationEnabled)); // Setting split comboBoxSplitting->addItem(SPLIT_650MB); @@ -188,7 +190,7 @@ void DlgPrefRecord::slotUpdate() { CheckBoxRecordCueFile->setChecked(m_pConfig->getValue( ConfigKey(RECORDING_PREF_KEY, "CueEnabled"), kDefaultCueEnabled)); - updateCueEnabled(); + slotToggleCueEnabled(); QString fileSizeStr = m_pConfig->getValueString(ConfigKey(RECORDING_PREF_KEY, "FileSize")); int index = comboBoxSplitting->findText(fileSizeStr); @@ -319,11 +321,6 @@ void DlgPrefRecord::slotSliderQuality() { // Settings are only stored when doing an apply so that "cancel" can actually cancel. } -// Set 'Enable File Annotation in CUE file' checkbox value depending on 'Create a CUE file' checkbox value -void DlgPrefRecord::updateCueEnabled() { - CheckBoxUseCueFileAnnotation->setEnabled(CheckBoxRecordCueFile->isChecked()); -} - void DlgPrefRecord::updateTextQuality() { EncoderRecordingSettingsPointer settings = EncoderFactory::getFactory().getEncoderRecordingSettings( @@ -450,8 +447,11 @@ void DlgPrefRecord::saveEncoding() { } } +// Set 'Enable File Annotation in CUE file' checkbox value depending on 'Create +// a CUE file' checkbox value void DlgPrefRecord::slotToggleCueEnabled() { - updateCueEnabled(); + CheckBoxUseCueFileAnnotation->setEnabled(CheckBoxRecordCueFile + ->isChecked()); } void DlgPrefRecord::saveUseCueFile() { @@ -460,11 +460,12 @@ void DlgPrefRecord::saveUseCueFile() { } void DlgPrefRecord::saveUseCueFileAnnotation() { - m_pConfig->set(ConfigKey(RECORDING_PREF_KEY, "CueFileAnnotationEnabled"), - ConfigValue(CheckBoxUseCueFileAnnotation->isChecked())); + m_pConfig->set(ConfigKey(RECORDING_PREF_KEY, "cue_file_annotation_enabled"), + ConfigValue(CheckBoxUseCueFileAnnotation->isChecked())); } void DlgPrefRecord::saveSplitSize() { m_pConfig->set(ConfigKey(RECORDING_PREF_KEY, "FileSize"), ConfigValue(comboBoxSplitting->currentText())); } + diff --git a/src/preferences/dialog/dlgprefrecord.h b/src/preferences/dialog/dlgprefrecord.h index bb086885d8ac..19d287c43c12 100644 --- a/src/preferences/dialog/dlgprefrecord.h +++ b/src/preferences/dialog/dlgprefrecord.h @@ -48,7 +48,6 @@ class DlgPrefRecord : public DlgPreferencePage, public Ui::DlgPrefRecordDlg { void saveEncoding(); void saveUseCueFile(); void saveUseCueFileAnnotation(); - void updateCueEnabled(); void saveSplitSize(); // Pointer to config object From 37d405d41d07609ba7fbaba9d90fc480f02d8e5d Mon Sep 17 00:00:00 2001 From: Lukas Waslowski Date: Sat, 25 May 2024 15:11:59 +0000 Subject: [PATCH 011/181] WSearchLineEdit: Correctly detect autocomplete vs. automatic "select all" on Enter/Return When the current text selection is due to the automatic selectAll() when focusing the text field, a subsequent Key_Enter should switch to the library view. Otherwise, it is due to an autocompletion and should trigger the search first. --- src/widget/wsearchlineedit.cpp | 22 +++++++++++++--------- src/widget/wsearchlineedit.h | 1 + 2 files changed, 14 insertions(+), 9 deletions(-) diff --git a/src/widget/wsearchlineedit.cpp b/src/widget/wsearchlineedit.cpp index 1154fdf88e43..12deea7b9229 100644 --- a/src/widget/wsearchlineedit.cpp +++ b/src/widget/wsearchlineedit.cpp @@ -312,14 +312,11 @@ QString WSearchLineEdit::getSearchText() const { DEBUG_ASSERT(!currentText().isNull()); QString text = currentText(); QCompleter* pCompleter = completer(); - if (pCompleter && hasSelectedText()) { - if (text.startsWith(pCompleter->completionPrefix()) && - pCompleter->completionPrefix().size() == lineEdit()->cursorPosition()) { - // Search for the entered text until the user has accepted the - // completion by pressing Enter or changed/deselected the selected - // completion text with Right or Left key - return pCompleter->completionPrefix(); - } + if (pCompleter && hasCompletionAvailable()) { + // Search for the entered text until the user has accepted the + // completion by pressing Enter or changed/deselected the selected + // completion text with Right or Left key + return pCompleter->completionPrefix(); } return text; } else { @@ -402,7 +399,7 @@ void WSearchLineEdit::keyPressEvent(QKeyEvent* keyEvent) { if (slotClearSearchIfClearButtonHasFocus()) { return; } - if (hasSelectedText()) { + if (hasCompletionAvailable()) { QComboBox::keyPressEvent(keyEvent); slotTriggerSearch(); return; @@ -809,3 +806,10 @@ void WSearchLineEdit::slotSetFont(const QFont& font) { bool WSearchLineEdit::hasSelectedText() const { return lineEdit()->hasSelectedText(); } + +bool WSearchLineEdit::hasCompletionAvailable() const { + QCompleter* pCompleter = completer(); + return pCompleter && hasSelectedText() && + lineEdit()->text().startsWith(pCompleter->completionPrefix()) && + pCompleter->completionPrefix().size() == lineEdit()->cursorPosition(); +} diff --git a/src/widget/wsearchlineedit.h b/src/widget/wsearchlineedit.h index 45d2d7910ca2..61e8110a8df4 100644 --- a/src/widget/wsearchlineedit.h +++ b/src/widget/wsearchlineedit.h @@ -92,6 +92,7 @@ class WSearchLineEdit : public QComboBox, public WBaseWidget { void deleteSelectedListItem(); void triggerSearchDebounced(); bool hasSelectedText() const; + bool hasCompletionAvailable() const; inline int findCurrentTextIndex() { return findData(currentText(), Qt::DisplayRole); From e4b9309a993e5d8b962ff7acb84245a082a226b2 Mon Sep 17 00:00:00 2001 From: Lukas Waslowski Date: Wed, 21 Aug 2024 12:38:48 +0000 Subject: [PATCH 012/181] WSearchLineEdit: Add Ctrl+Return as an alternative to Esc --- src/widget/wsearchlineedit.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/widget/wsearchlineedit.cpp b/src/widget/wsearchlineedit.cpp index 12deea7b9229..5ea0b5666dd5 100644 --- a/src/widget/wsearchlineedit.cpp +++ b/src/widget/wsearchlineedit.cpp @@ -241,7 +241,7 @@ void WSearchLineEdit::setup(const QDomNode& node, const SkinContext& context) { "Shows/hides the search history entries") + "\n" + tr("Delete or Backspace") + " " + tr("Delete query from history") + "\n" + - tr("Esc") + " " + tr("Exit search", "Exit search bar and leave focus")); + tr("Esc or Ctrl+Return") + " " + tr("Exit search", "Exit search bar and leave focus")); } void WSearchLineEdit::loadQueriesFromConfig() { @@ -399,6 +399,11 @@ void WSearchLineEdit::keyPressEvent(QKeyEvent* keyEvent) { if (slotClearSearchIfClearButtonHasFocus()) { return; } + if (keyEvent->modifiers() & Qt::ControlModifier) { + // Esc and Ctrl+Enter should have the same effect + emit setLibraryFocus(FocusWidget::TracksTable); + return; + } if (hasCompletionAvailable()) { QComboBox::keyPressEvent(keyEvent); slotTriggerSearch(); From cac9a01201c4751a89e28961796b796e7994e70b Mon Sep 17 00:00:00 2001 From: Lukas Waslowski Date: Thu, 23 May 2024 20:33:57 +0000 Subject: [PATCH 013/181] WSearchLineEdit: Update shortcut presentation in the search box tooltip ...so it uses the same format as the rest of the application. --- src/widget/wsearchlineedit.cpp | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/widget/wsearchlineedit.cpp b/src/widget/wsearchlineedit.cpp index 5ea0b5666dd5..ecfc0df530c2 100644 --- a/src/widget/wsearchlineedit.cpp +++ b/src/widget/wsearchlineedit.cpp @@ -227,21 +227,21 @@ void WSearchLineEdit::setup(const QDomNode& node, const SkinContext& context) { tr("Use operators like bpm:115-128, artist:BooFar, -year:1990") + "\n" + tr("For more information see User Manual > Mixxx Library") + "\n\n" + - tr("Shortcuts") + ": \n" + - tr("Ctrl+F") + " " + + tr("Shortcuts") + ":\n" + + tr("Ctrl+F") + ": " + tr("Focus", "Give search bar input focus") + "\n" + - tr("Return") + " " + + tr("Return") + ": " + tr("Trigger search before search-as-you-type timeout or" "jump to tracks view afterwards") + "\n" + - tr("Ctrl+Backspace") + " " + + tr("Ctrl+Backspace") + ": " + tr("Clear input", "Clear the search bar input field") + "\n" + - tr("Ctrl+Space") + " " + + tr("Ctrl+Space") + ": " + tr("Toggle search history", "Shows/hides the search history entries") + "\n" + - tr("Delete or Backspace") + " " + tr("Delete query from history") + "\n" + - tr("Esc or Ctrl+Return") + " " + tr("Exit search", "Exit search bar and leave focus")); + tr("Delete or Backspace") + ": " + tr("Delete query from history") + "\n" + + tr("Esc or Ctrl+Return") + ": " + tr("Exit search", "Exit search bar and leave focus")); } void WSearchLineEdit::loadQueriesFromConfig() { From 19dd37dd2c58d5a2ef52759ad6479213dbe5bb25 Mon Sep 17 00:00:00 2001 From: Lukas Waslowski Date: Fri, 7 Jun 2024 12:03:19 +0000 Subject: [PATCH 014/181] WSearchLineEdit: Fix: Remove unsupported Ctrl+Backspace shortcut from tooltip The Ctrl+Backspace shortcut is a standard shortcut handled by QLineEdit and deletes the current word, but doesn't actually clear the search box if more than one word has been typed. This is different from the function of the clear button, which clears the whole search box. --- src/widget/wsearchlineedit.cpp | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/src/widget/wsearchlineedit.cpp b/src/widget/wsearchlineedit.cpp index ecfc0df530c2..3d6352a66ff5 100644 --- a/src/widget/wsearchlineedit.cpp +++ b/src/widget/wsearchlineedit.cpp @@ -217,10 +217,7 @@ void WSearchLineEdit::setup(const QDomNode& node, const SkinContext& context) { setPalette(pal); m_clearButton->setToolTip(tr("Clear input") + "\n" + - tr("Clear the search bar input field") + "\n\n" + - - tr("Shortcut") + ": \n" + - tr("Ctrl+Backspace")); + tr("Clear the search bar input field")); setBaseTooltip(tr("Search", "noun") + "\n" + tr("Enter a string to search for") + "\n" + @@ -234,8 +231,6 @@ void WSearchLineEdit::setup(const QDomNode& node, const SkinContext& context) { tr("Trigger search before search-as-you-type timeout or" "jump to tracks view afterwards") + "\n" + - tr("Ctrl+Backspace") + ": " + - tr("Clear input", "Clear the search bar input field") + "\n" + tr("Ctrl+Space") + ": " + tr("Toggle search history", "Shows/hides the search history entries") + From b908e0f7070df01bd96267b106d6bb9845817053 Mon Sep 17 00:00:00 2001 From: Lukas Waslowski Date: Wed, 21 Aug 2024 11:20:45 +0000 Subject: [PATCH 015/181] WSearchLineEdit: Fix: Add missing whitespace in tooltip text --- src/widget/wsearchlineedit.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/widget/wsearchlineedit.cpp b/src/widget/wsearchlineedit.cpp index 3d6352a66ff5..9b2766cb861c 100644 --- a/src/widget/wsearchlineedit.cpp +++ b/src/widget/wsearchlineedit.cpp @@ -228,7 +228,7 @@ void WSearchLineEdit::setup(const QDomNode& node, const SkinContext& context) { tr("Ctrl+F") + ": " + tr("Focus", "Give search bar input focus") + "\n" + tr("Return") + ": " + - tr("Trigger search before search-as-you-type timeout or" + tr("Trigger search before search-as-you-type timeout or " "jump to tracks view afterwards") + "\n" + tr("Ctrl+Space") + ": " + From 1637b3512799820ff889fe313e044882a0c2115a Mon Sep 17 00:00:00 2001 From: Lukas Waslowski Date: Wed, 21 Aug 2024 13:13:23 +0200 Subject: [PATCH 016/181] WSearchLineEdit: Order the shortcuts list in the tooltip by importance --- src/widget/wsearchlineedit.cpp | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/widget/wsearchlineedit.cpp b/src/widget/wsearchlineedit.cpp index 9b2766cb861c..589866c82087 100644 --- a/src/widget/wsearchlineedit.cpp +++ b/src/widget/wsearchlineedit.cpp @@ -224,19 +224,22 @@ void WSearchLineEdit::setup(const QDomNode& node, const SkinContext& context) { tr("Use operators like bpm:115-128, artist:BooFar, -year:1990") + "\n" + tr("For more information see User Manual > Mixxx Library") + "\n\n" + - tr("Shortcuts") + ":\n" + tr("Ctrl+F") + ": " + - tr("Focus", "Give search bar input focus") + "\n" + + tr("Focus", "Give search bar input focus") + "\n\n" + + tr("Additional Shortcuts When Focused:") + "\n" + tr("Return") + ": " + tr("Trigger search before search-as-you-type timeout or " "jump to tracks view afterwards") + "\n" + + tr("Esc or Ctrl+Return") + ": " + + tr("Exit search and jump to tracks view", "Exit search bar and leave focus") + "\n" + tr("Ctrl+Space") + ": " + tr("Toggle search history", "Shows/hides the search history entries") + "\n" + - tr("Delete or Backspace") + ": " + tr("Delete query from history") + "\n" + - tr("Esc or Ctrl+Return") + ": " + tr("Exit search", "Exit search bar and leave focus")); + tr("Delete or Backspace") + + " (" + tr("in search history") + "): " + + tr("Delete query from history")); } void WSearchLineEdit::loadQueriesFromConfig() { From 7e2949c3b55815142ed9ed05bf368cd94a46d8f3 Mon Sep 17 00:00:00 2001 From: Lukas Waslowski Date: Wed, 21 Aug 2024 15:05:23 +0200 Subject: [PATCH 017/181] WSearchLineEdit: Use consistent wording ("jump to" vs. "focus") in tooltip --- src/widget/wsearchlineedit.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/widget/wsearchlineedit.cpp b/src/widget/wsearchlineedit.cpp index 589866c82087..6297fc96dd2f 100644 --- a/src/widget/wsearchlineedit.cpp +++ b/src/widget/wsearchlineedit.cpp @@ -229,11 +229,12 @@ void WSearchLineEdit::setup(const QDomNode& node, const SkinContext& context) { tr("Additional Shortcuts When Focused:") + "\n" + tr("Return") + ": " + tr("Trigger search before search-as-you-type timeout or " - "jump to tracks view afterwards") + + "focus tracks view afterwards") + "\n" + tr("Esc or Ctrl+Return") + ": " + - tr("Exit search and jump to tracks view", "Exit search bar and leave focus") + "\n" + - tr("Ctrl+Space") + ": " + + tr("Immediately trigger search and focus tracks view", + "Exit search bar and leave focus") + + "\n" + tr("Ctrl+Space") + ": " + tr("Toggle search history", "Shows/hides the search history entries") + "\n" + From 329fa0cfaf3c5473c7adc33d0cd84a78d3b58f4e Mon Sep 17 00:00:00 2001 From: Lukas Waslowski Date: Wed, 21 Aug 2024 11:50:40 +0000 Subject: [PATCH 018/181] WSearchLineEdit: Improve description text in search box tooltip --- src/widget/wsearchlineedit.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/widget/wsearchlineedit.cpp b/src/widget/wsearchlineedit.cpp index 6297fc96dd2f..37ee90407aa8 100644 --- a/src/widget/wsearchlineedit.cpp +++ b/src/widget/wsearchlineedit.cpp @@ -220,9 +220,9 @@ void WSearchLineEdit::setup(const QDomNode& node, const SkinContext& context) { tr("Clear the search bar input field")); setBaseTooltip(tr("Search", "noun") + "\n" + - tr("Enter a string to search for") + "\n" + - tr("Use operators like bpm:115-128, artist:BooFar, -year:1990") + - "\n" + tr("For more information see User Manual > Mixxx Library") + + tr("Enter a string to search for.") + " " + + tr("Use operators like bpm:115-128, artist:BooFar, -year:1990.") + + "\n" + tr("See User Manual > Mixxx Library for more information.") + "\n\n" + tr("Ctrl+F") + ": " + tr("Focus", "Give search bar input focus") + "\n\n" + From b848daf137e01577d686b2c59991cfdc7dcafe20 Mon Sep 17 00:00:00 2001 From: Lukas Waslowski Date: Fri, 3 May 2024 19:35:18 +0000 Subject: [PATCH 019/181] Library: Add LibraryFeature::selectAndActivate() --- src/library/library.cpp | 2 -- src/library/libraryfeature.cpp | 11 +++++++++++ src/library/libraryfeature.h | 4 ++++ src/library/mixxxlibraryfeature.cpp | 2 +- src/library/trackset/playlistfeature.cpp | 3 +-- src/library/trackset/setlogfeature.cpp | 9 ++------- 6 files changed, 19 insertions(+), 12 deletions(-) diff --git a/src/library/library.cpp b/src/library/library.cpp index 21f82be564ea..54c4143a11f5 100644 --- a/src/library/library.cpp +++ b/src/library/library.cpp @@ -722,8 +722,6 @@ void Library::searchTracksInCollection(const QString& query) { return; } m_pMixxxLibraryFeature->searchAndActivate(query); - emit switchToView(m_sTrackViewName); - m_pSidebarModel->activateDefaultSelection(); } #ifdef __ENGINEPRIME__ diff --git a/src/library/libraryfeature.cpp b/src/library/libraryfeature.cpp index 51ad6ae3fac6..7c88fbf93bdc 100644 --- a/src/library/libraryfeature.cpp +++ b/src/library/libraryfeature.cpp @@ -32,6 +32,17 @@ LibraryFeature::LibraryFeature( } } +void LibraryFeature::selectAndActivate(const QModelIndex& index) { + if (index.isValid()) { + emit featureSelect(this, index); + activateChild(index); + } else { + // calling featureSelect with invalid index will select the root item + emit featureSelect(this, QModelIndex()); + activate(); + } +} + QStringList LibraryFeature::getPlaylistFiles(QFileDialog::FileMode mode) const { QString lastPlaylistDirectory = m_pConfig->getValue( ConfigKey("[Library]", "LastImportExportPlaylistDirectory"), diff --git a/src/library/libraryfeature.h b/src/library/libraryfeature.h index 61972192dcd0..dc4ae2fd9858 100644 --- a/src/library/libraryfeature.h +++ b/src/library/libraryfeature.h @@ -103,6 +103,10 @@ class LibraryFeature : public QObject { const UserSettingsPointer m_pConfig; public slots: + /// Pretend that the user has clicked on a tree item belonging + /// to this LibraryFeature by updating both the library view + /// and the sidebar selection. + void selectAndActivate(const QModelIndex& index = QModelIndex()); // called when you single click on the root item virtual void activate() = 0; // called when you single click on a child item, e.g., a concrete playlist or crate diff --git a/src/library/mixxxlibraryfeature.cpp b/src/library/mixxxlibraryfeature.cpp index 4ea52b1e6a1f..cee77807b7c3 100644 --- a/src/library/mixxxlibraryfeature.cpp +++ b/src/library/mixxxlibraryfeature.cpp @@ -173,7 +173,7 @@ void MixxxLibraryFeature::searchAndActivate(const QString& query) { return; } m_pLibraryTableModel->search(query); - activate(); + selectAndActivate(); } #ifdef __ENGINEPRIME__ diff --git a/src/library/trackset/playlistfeature.cpp b/src/library/trackset/playlistfeature.cpp index 1fc77890c04d..303b10f55938 100644 --- a/src/library/trackset/playlistfeature.cpp +++ b/src/library/trackset/playlistfeature.cpp @@ -307,8 +307,7 @@ void PlaylistFeature::slotPlaylistTableChanged(int playlistId) { // Else (root item was selected or for some reason no index could be created) // there's nothing to do: either no child was selected earlier, or the root // was selected and will remain selected after the child model was rebuilt. - activateChild(newIndex); - emit featureSelect(this, newIndex); + selectAndActivate(newIndex); } } diff --git a/src/library/trackset/setlogfeature.cpp b/src/library/trackset/setlogfeature.cpp index 7f7b8a01487c..d0a4cc2ae6fe 100644 --- a/src/library/trackset/setlogfeature.cpp +++ b/src/library/trackset/setlogfeature.cpp @@ -706,13 +706,8 @@ void SetlogFeature::slotPlaylistTableChanged(int playlistId) { newIndex = m_pSidebarModel->index(selectedYearIndexRow - 1, 0); } } - if (newIndex.isValid()) { - emit featureSelect(this, newIndex); - activateChild(newIndex); - } else if (rootWasSelected) { - // calling featureSelect with invalid index will select the root item - emit featureSelect(this, newIndex); - activate(); // to reload the new current playlist + if (newIndex.isValid() || rootWasSelected) { + selectAndActivate(newIndex); } } From 4d201ae7a4e353d25f2d3cebeebe95dd5f0f25b9 Mon Sep 17 00:00:00 2001 From: Lukas Waslowski Date: Sat, 25 May 2024 15:41:24 +0200 Subject: [PATCH 020/181] Library: Add focusReason parameter to LibraryControl::setLibraryFocus --- src/library/librarycontrol.cpp | 12 +++++++----- src/library/librarycontrol.h | 5 +++-- src/widget/wlibrary.h | 3 ++- src/widget/wlibrarysidebar.h | 3 ++- src/widget/wsearchlineedit.cpp | 17 ++++++++++++++--- src/widget/wsearchlineedit.h | 5 ++++- 6 files changed, 32 insertions(+), 13 deletions(-) diff --git a/src/library/librarycontrol.cpp b/src/library/librarycontrol.cpp index 0b69650eb51a..a57b664a31bc 100644 --- a/src/library/librarycontrol.cpp +++ b/src/library/librarycontrol.cpp @@ -908,15 +908,17 @@ FocusWidget LibraryControl::getFocusedWidget() { } } -void LibraryControl::setLibraryFocus(FocusWidget newFocusWidget) { +void LibraryControl::setLibraryFocus(FocusWidget newFocusWidget, Qt::FocusReason focusReason) { if (!QApplication::focusWindow()) { qInfo() << "No Mixxx window, popup or menu has focus." << "Don't attempt to focus a specific widget."; return; } - // ignore no-op - if (newFocusWidget == m_focusedWidget) { + // The search box wants to do special handling when the Ctrl+f is used + // while it is already focused. Non-shortcut cases should still be a + // no-op when a control is already focused. + if (newFocusWidget == m_focusedWidget && focusReason != Qt::ShortcutFocusReason) { return; } @@ -925,13 +927,13 @@ void LibraryControl::setLibraryFocus(FocusWidget newFocusWidget) { VERIFY_OR_DEBUG_ASSERT(m_pSearchbox) { return; } - m_pSearchbox->setFocus(); + m_pSearchbox->handleSetFocus(focusReason); return; case FocusWidget::Sidebar: VERIFY_OR_DEBUG_ASSERT(m_pSidebarWidget) { return; } - m_pSidebarWidget->setFocus(); + m_pSidebarWidget->setFocus(focusReason); return; case FocusWidget::TracksTable: VERIFY_OR_DEBUG_ASSERT(m_pLibraryWidget) { diff --git a/src/library/librarycontrol.h b/src/library/librarycontrol.h index 65e21013ea45..35c9e36d40e6 100644 --- a/src/library/librarycontrol.h +++ b/src/library/librarycontrol.h @@ -44,8 +44,9 @@ class LibraryControl : public QObject { void bindLibraryWidget(WLibrary* pLibrary, KeyboardEventFilter* pKeyboard); void bindSidebarWidget(WLibrarySidebar* pLibrarySidebar); void bindSearchboxWidget(WSearchLineEdit* pSearchbox); - // Give the keyboard focus to one of the library widgets - void setLibraryFocus(FocusWidget newFocusWidget); + /// Give the keyboard focus to one of the library widgets + void setLibraryFocus(FocusWidget newFocusWidget, + Qt::FocusReason focusReason = Qt::OtherFocusReason); FocusWidget getFocusedWidget(); signals: diff --git a/src/widget/wlibrary.h b/src/widget/wlibrary.h index a017e9d823dd..c2ac12a3bcff 100644 --- a/src/widget/wlibrary.h +++ b/src/widget/wlibrary.h @@ -56,7 +56,8 @@ class WLibrary : public QStackedWidget, public WBaseWidget { } signals: - FocusWidget setLibraryFocus(FocusWidget newFocus); + FocusWidget setLibraryFocus(FocusWidget newFocus, + Qt::FocusReason focusReason = Qt::OtherFocusReason); public slots: // Show the view registered with the given name. Does nothing if the current diff --git a/src/widget/wlibrarysidebar.h b/src/widget/wlibrarysidebar.h index 4fa356e78b46..91d33befd709 100644 --- a/src/widget/wlibrarysidebar.h +++ b/src/widget/wlibrarysidebar.h @@ -37,7 +37,8 @@ class WLibrarySidebar : public QTreeView, public WBaseWidget { void rightClicked(const QPoint&, const QModelIndex&); void renameItem(const QModelIndex&); void deleteItem(const QModelIndex&); - FocusWidget setLibraryFocus(FocusWidget newFocus); + FocusWidget setLibraryFocus(FocusWidget newFocus, + Qt::FocusReason focusReason = Qt::OtherFocusReason); protected: bool event(QEvent* pEvent) override; diff --git a/src/widget/wsearchlineedit.cpp b/src/widget/wsearchlineedit.cpp index 37ee90407aa8..03aaa252cd2d 100644 --- a/src/widget/wsearchlineedit.cpp +++ b/src/widget/wsearchlineedit.cpp @@ -791,10 +791,21 @@ void WSearchLineEdit::slotTextChanged(const QString& text) { } void WSearchLineEdit::slotSetShortcutFocus() { - if (hasFocus()) { + handleSetFocus(Qt::ShortcutFocusReason); +} + +void WSearchLineEdit::handleSetFocus(Qt::FocusReason focusReason) { + if (!hasFocus()) { + // selectAll will be called by setFocus - but only if hasFocus + // was false previously and focusReason is Tab, Backtab or Shortcut + setFocus(focusReason); + } else if (focusReason == Qt::TabFocusReason || + focusReason == Qt::BacktabFocusReason || + focusReason == Qt::ShortcutFocusReason) { + // If this widget already had focus (which can happen when the user + // presses the shortcut key while already in the searchbox), + // we need to manually simulate this behavior instead. lineEdit()->selectAll(); - } else { - setFocus(Qt::ShortcutFocusReason); } } diff --git a/src/widget/wsearchlineedit.h b/src/widget/wsearchlineedit.h index 61e8110a8df4..e621f6637d82 100644 --- a/src/widget/wsearchlineedit.h +++ b/src/widget/wsearchlineedit.h @@ -37,6 +37,8 @@ class WSearchLineEdit : public QComboBox, public WBaseWidget { void setup(const QDomNode& node, const SkinContext& context); + void handleSetFocus(Qt::FocusReason focusReason); + protected: void resizeEvent(QResizeEvent*) override; void focusInEvent(QFocusEvent*) override; @@ -47,7 +49,8 @@ class WSearchLineEdit : public QComboBox, public WBaseWidget { signals: void search(const QString& text); - FocusWidget setLibraryFocus(FocusWidget newFocusWidget); + FocusWidget setLibraryFocus(FocusWidget newFocusWidget, + Qt::FocusReason focusReason = Qt::OtherFocusReason); public slots: void slotSetFont(const QFont& font); From efaa911251a949210bf2863273b752c583397aaa Mon Sep 17 00:00:00 2001 From: Lukas Waslowski Date: Wed, 21 Aug 2024 13:03:31 +0200 Subject: [PATCH 021/181] Library: Fix: setLibraryFocus should work even if the window is not currently focused This scenario occurs e.g. when calling setLibraryFocus from a menu action. The popup window has already been closed when QAction::triggered occurs, but the main window has not yet gotten its focus back. As per the documentation of QWidget::setFocus(), when the containing window is not active, the focus change request is delayed until the window becomes active - which is exactly what we want in our case. --- src/library/librarycontrol.cpp | 6 ------ 1 file changed, 6 deletions(-) diff --git a/src/library/librarycontrol.cpp b/src/library/librarycontrol.cpp index a57b664a31bc..af05f574bcf6 100644 --- a/src/library/librarycontrol.cpp +++ b/src/library/librarycontrol.cpp @@ -909,12 +909,6 @@ FocusWidget LibraryControl::getFocusedWidget() { } void LibraryControl::setLibraryFocus(FocusWidget newFocusWidget, Qt::FocusReason focusReason) { - if (!QApplication::focusWindow()) { - qInfo() << "No Mixxx window, popup or menu has focus." - << "Don't attempt to focus a specific widget."; - return; - } - // The search box wants to do special handling when the Ctrl+f is used // while it is already focused. Non-shortcut cases should still be a // no-op when a control is already focused. From f20fcb86b2b08285f42f594f0e38bc8073693c75 Mon Sep 17 00:00:00 2001 From: Lukas Waslowski Date: Mon, 20 May 2024 13:02:47 +0000 Subject: [PATCH 022/181] Library: Add Ctrl+Shift+F shortcut to search the internal database --- src/library/library.cpp | 16 ++++++++++++++++ src/library/library.h | 6 ++++++ src/mixxxmainwindow.cpp | 10 ++++++++++ src/widget/wmainmenubar.cpp | 24 ++++++++++++++++++++++++ src/widget/wmainmenubar.h | 2 ++ src/widget/wsearchlineedit.cpp | 20 ++++++-------------- src/widget/wsearchlineedit.h | 1 - 7 files changed, 64 insertions(+), 15 deletions(-) diff --git a/src/library/library.cpp b/src/library/library.cpp index 54c4143a11f5..e0c13c72e189 100644 --- a/src/library/library.cpp +++ b/src/library/library.cpp @@ -717,6 +717,22 @@ void Library::setEditMetadataSelectedClick(bool enabled) { emit setSelectedClick(enabled); } +void Library::slotSearchInCurrentView() { + m_pLibraryControl->setLibraryFocus(FocusWidget::Searchbar, Qt::ShortcutFocusReason); +} + +void Library::slotSearchInAllTracks() { + searchTracksInCollection(); +} + +void Library::searchTracksInCollection() { + VERIFY_OR_DEBUG_ASSERT(m_pMixxxLibraryFeature) { + return; + } + m_pMixxxLibraryFeature->selectAndActivate(); + m_pLibraryControl->setLibraryFocus(FocusWidget::Searchbar, Qt::ShortcutFocusReason); +} + void Library::searchTracksInCollection(const QString& query) { VERIFY_OR_DEBUG_ASSERT(m_pMixxxLibraryFeature) { return; diff --git a/src/library/library.h b/src/library/library.h index e0190084eeba..0dbdbcfb3982 100644 --- a/src/library/library.h +++ b/src/library/library.h @@ -98,6 +98,10 @@ class Library: public QObject { void setRowHeight(int rowHeight); void setEditMetadataSelectedClick(bool enable); + /// Switches to the internal track collection view + /// and focuses the search box. + void searchTracksInCollection(); + /// Triggers a new search in the internal track collection /// and shows the results by switching the view. void searchTracksInCollection(const QString& query); @@ -119,6 +123,8 @@ class Library: public QObject { void slotRefreshLibraryModels(); void slotCreatePlaylist(); void slotCreateCrate(); + void slotSearchInCurrentView(); + void slotSearchInAllTracks(); void onSkinLoadFinished(); void slotSaveCurrentViewState() const; void slotRestoreCurrentViewState() const; diff --git a/src/mixxxmainwindow.cpp b/src/mixxxmainwindow.cpp index c5b44237bf97..a49802f72e58 100644 --- a/src/mixxxmainwindow.cpp +++ b/src/mixxxmainwindow.cpp @@ -935,6 +935,16 @@ void MixxxMainWindow::connectMenuBar() { } if (m_pCoreServices->getLibrary()) { + connect(m_pMenuBar, + &WMainMenuBar::searchInCurrentView, + m_pCoreServices->getLibrary().get(), + &Library::slotSearchInCurrentView, + Qt::UniqueConnection); + connect(m_pMenuBar, + &WMainMenuBar::searchInAllTracks, + m_pCoreServices->getLibrary().get(), + &Library::slotSearchInAllTracks, + Qt::UniqueConnection); connect(m_pMenuBar, &WMainMenuBar::createCrate, m_pCoreServices->getLibrary().get(), diff --git a/src/widget/wmainmenubar.cpp b/src/widget/wmainmenubar.cpp index 9fa9e2d91199..2df2e366e754 100644 --- a/src/widget/wmainmenubar.cpp +++ b/src/widget/wmainmenubar.cpp @@ -168,6 +168,30 @@ void WMainMenuBar::initialize() { pLibraryMenu->addSeparator(); + QString searchHereTitle = tr("Search in Current View..."); + QString searchHereText = tr("Search for tracks in the current library view"); + auto* pSearchHere = new QAction(searchHereTitle, this); + pSearchHere->setShortcut(QKeySequence(tr("Ctrl+f"))); + pSearchHere->setShortcutContext(Qt::ApplicationShortcut); + pSearchHere->setStatusTip(searchHereText); + pSearchHere->setWhatsThis(buildWhatsThis(searchHereTitle, searchHereText)); + connect(pSearchHere, &QAction::triggered, this, &WMainMenuBar::searchInCurrentView); + pLibraryMenu->addAction(pSearchHere); + + QString searchAllTitle = tr("Search in Tracks Library..."); + QString searchAllText = + tr("Search in the internal track collection under \"Tracks\" in " + "the library"); + auto* pSearchAll = new QAction(searchAllTitle, this); + pSearchAll->setShortcut(tr("Ctrl+Shift+F")); + pSearchAll->setShortcutContext(Qt::ApplicationShortcut); + pSearchAll->setStatusTip(searchAllText); + pSearchAll->setWhatsThis(buildWhatsThis(searchAllText, searchAllText)); + connect(pSearchAll, &QAction::triggered, this, &WMainMenuBar::searchInAllTracks); + pLibraryMenu->addAction(pSearchAll); + + pLibraryMenu->addSeparator(); + QString createPlaylistTitle = tr("Create &New Playlist"); QString createPlaylistText = tr("Create a new playlist"); auto* pLibraryCreatePlaylist = new QAction(createPlaylistTitle, this); diff --git a/src/widget/wmainmenubar.h b/src/widget/wmainmenubar.h index 98ec66c698f7..dd9fafadbcee 100644 --- a/src/widget/wmainmenubar.h +++ b/src/widget/wmainmenubar.h @@ -67,6 +67,8 @@ class WMainMenuBar : public QMenuBar { #ifdef __ENGINEPRIME__ void exportLibrary(); #endif + void searchInCurrentView(); + void searchInAllTracks(); void showAbout(); void showKeywheel(bool visible); void showPreferences(); diff --git a/src/widget/wsearchlineedit.cpp b/src/widget/wsearchlineedit.cpp index 03aaa252cd2d..e74a8bdcd774 100644 --- a/src/widget/wsearchlineedit.cpp +++ b/src/widget/wsearchlineedit.cpp @@ -122,12 +122,6 @@ WSearchLineEdit::WSearchLineEdit(QWidget* pParent, UserSettingsPointer pConfig) this, &WSearchLineEdit::slotClearSearch); - QShortcut* setFocusShortcut = new QShortcut(QKeySequence(tr("Ctrl+F", "Search|Focus")), this); - connect(setFocusShortcut, - &QShortcut::activated, - this, - &WSearchLineEdit::slotSetShortcutFocus); - // Set up a timer to search after a few hundred milliseconds timeout. This // stops us from thrashing the database if you type really fast. m_debouncingTimer.setSingleShot(true); @@ -223,10 +217,12 @@ void WSearchLineEdit::setup(const QDomNode& node, const SkinContext& context) { tr("Enter a string to search for.") + " " + tr("Use operators like bpm:115-128, artist:BooFar, -year:1990.") + "\n" + tr("See User Manual > Mixxx Library for more information.") + - "\n\n" + - tr("Ctrl+F") + ": " + - tr("Focus", "Give search bar input focus") + "\n\n" + - tr("Additional Shortcuts When Focused:") + "\n" + + "\n\n" + tr("Ctrl+F") + ": " + + tr("Focus/Select All (Search in current view)", + "Give search bar input focus") + + "\n" + tr("Ctrl+Shift+F") + ": " + + tr("Focus/Select All (Search in \'Tracks\' library view)") + + "\n\n" + tr("Additional Shortcuts When Focused:") + "\n" + tr("Return") + ": " + tr("Trigger search before search-as-you-type timeout or " "focus tracks view afterwards") + @@ -790,10 +786,6 @@ void WSearchLineEdit::slotTextChanged(const QString& text) { m_saveTimer.start(kSaveTimeoutMillis); } -void WSearchLineEdit::slotSetShortcutFocus() { - handleSetFocus(Qt::ShortcutFocusReason); -} - void WSearchLineEdit::handleSetFocus(Qt::FocusReason focusReason) { if (!hasFocus()) { // selectAll will be called by setFocus - but only if hasFocus diff --git a/src/widget/wsearchlineedit.h b/src/widget/wsearchlineedit.h index e621f6637d82..fa7fefcd54f3 100644 --- a/src/widget/wsearchlineedit.h +++ b/src/widget/wsearchlineedit.h @@ -68,7 +68,6 @@ class WSearchLineEdit : public QComboBox, public WBaseWidget { void slotDeleteCurrentItem(); private slots: - void slotSetShortcutFocus(); void slotTextChanged(const QString& text); void slotIndexChanged(int index); From d03e359b945056073fd382978ff9370fb140598b Mon Sep 17 00:00:00 2001 From: "Antoine C." Date: Thu, 13 Feb 2025 00:49:16 +0000 Subject: [PATCH 023/181] chore: address pre-commit linting --- src/engine/sidechain/enginerecord.cpp | 17 ++++++++--------- src/preferences/dialog/dlgprefrecord.cpp | 5 ++--- 2 files changed, 10 insertions(+), 12 deletions(-) diff --git a/src/engine/sidechain/enginerecord.cpp b/src/engine/sidechain/enginerecord.cpp index 9b0fc6df944e..bbd8b23175a2 100644 --- a/src/engine/sidechain/enginerecord.cpp +++ b/src/engine/sidechain/enginerecord.cpp @@ -250,20 +250,20 @@ void EngineRecord::writeCueLine() { % 75); m_cueFile.write(QStringLiteral(" TRACK %1 AUDIO\n") - .arg((double)m_cueTrack, 2, 'f', 0, '0') - .toUtf8()); + .arg((double)m_cueTrack, 2, 'f', 0, '0') + .toUtf8()); m_cueFile.write(QStringLiteral(" TITLE \"%1\"\n") - .arg(m_pCurrentTrack->getTitle()) - .toUtf8()); + .arg(m_pCurrentTrack->getTitle()) + .toUtf8()); m_cueFile.write(QStringLiteral(" PERFORMER \"%1\"\n") - .arg(m_pCurrentTrack->getArtist()) - .toUtf8()); + .arg(m_pCurrentTrack->getArtist()) + .toUtf8()); if (m_bCueUsesFileAnnotation) { m_cueFile.write(QStringLiteral(" FILE \"%1\"\n") - .arg(m_pCurrentTrack->getLocation()) - .toUtf8()); + .arg(m_pCurrentTrack->getLocation()) + .toUtf8()); } // Woefully inaccurate (at the seconds level anyways). @@ -397,4 +397,3 @@ void EngineRecord::closeCueFile() { m_cueFile.close(); } } - diff --git a/src/preferences/dialog/dlgprefrecord.cpp b/src/preferences/dialog/dlgprefrecord.cpp index f078df00f86a..25217c5fb11d 100644 --- a/src/preferences/dialog/dlgprefrecord.cpp +++ b/src/preferences/dialog/dlgprefrecord.cpp @@ -79,7 +79,7 @@ DlgPrefRecord::DlgPrefRecord(QWidget* parent, UserSettingsPointer pConfig) CheckBoxUseCueFileAnnotation->setChecked(m_pConfig->getValue( ConfigKey(RECORDING_PREF_KEY, "cue_file_annotation_enabled"), - kDefaultCueFileAnnotationEnabled)); + kDefaultCueFileAnnotationEnabled)); // Setting split comboBoxSplitting->addItem(SPLIT_650MB); @@ -461,11 +461,10 @@ void DlgPrefRecord::saveUseCueFile() { void DlgPrefRecord::saveUseCueFileAnnotation() { m_pConfig->set(ConfigKey(RECORDING_PREF_KEY, "cue_file_annotation_enabled"), - ConfigValue(CheckBoxUseCueFileAnnotation->isChecked())); + ConfigValue(CheckBoxUseCueFileAnnotation->isChecked())); } void DlgPrefRecord::saveSplitSize() { m_pConfig->set(ConfigKey(RECORDING_PREF_KEY, "FileSize"), ConfigValue(comboBoxSplitting->currentText())); } - From d790d0d2990052d0e44a59c7b46679d6f115e8af Mon Sep 17 00:00:00 2001 From: Antoine Colombier <7086688+acolombier@users.noreply.github.com> Date: Thu, 13 Feb 2025 14:04:57 +0000 Subject: [PATCH 024/181] Apply suggestions from code review MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Daniel Schürmann --- src/engine/sidechain/enginerecord.cpp | 14 ++++---------- src/preferences/dialog/dlgprefrecord.cpp | 2 +- 2 files changed, 5 insertions(+), 11 deletions(-) diff --git a/src/engine/sidechain/enginerecord.cpp b/src/engine/sidechain/enginerecord.cpp index bbd8b23175a2..5eac865eb0fa 100644 --- a/src/engine/sidechain/enginerecord.cpp +++ b/src/engine/sidechain/enginerecord.cpp @@ -36,16 +36,10 @@ int EngineRecord::updateFromPreferences() { m_baAuthor = m_pConfig->getValueString(ConfigKey(RECORDING_PREF_KEY, "Author")); m_baAlbum = m_pConfig->getValueString(ConfigKey(RECORDING_PREF_KEY, "Album")); m_cueFileName = m_pConfig->getValueString(ConfigKey(RECORDING_PREF_KEY, "CuePath")); - m_bCueIsEnabled = - m_pConfig - ->getValueString(ConfigKey( - RECORDING_PREF_KEY, "CueEnabled")) - .toInt(); - m_bCueUsesFileAnnotation = - m_pConfig - ->getValueString(ConfigKey( - RECORDING_PREF_KEY, "cue_file_annotation_enabled")) - .toInt(); + m_bCueIsEnabled = m_pConfig->getValue( + ConfigKey(RECORDING_PREF_KEY, QStringLiteral("CueEnabled"))); + m_bCueUsesFileAnnotation = m_pConfig->getValue( + ConfigKey(RECORDING_PREF_KEY, QStringLiteral("cue_file_annotation_enabled"))); m_sampleRate = mixxx::audio::SampleRate::fromDouble(m_sampleRateControl.get()); // Delete m_pEncoder if it has been initialized (with maybe) different bitrate. diff --git a/src/preferences/dialog/dlgprefrecord.cpp b/src/preferences/dialog/dlgprefrecord.cpp index 25217c5fb11d..00814839cc61 100644 --- a/src/preferences/dialog/dlgprefrecord.cpp +++ b/src/preferences/dialog/dlgprefrecord.cpp @@ -219,7 +219,7 @@ void DlgPrefRecord::slotResetToDefaults() { CheckBoxRecordCueFile->setChecked(kDefaultCueEnabled); // Sets 'Enable File Annotation in CUE file' checkbox value - CheckBoxUseCueFileAnnotation->setChecked(false); + CheckBoxUseCueFileAnnotation->setChecked(kDefaultCueFileAnnotationEnabled); } void DlgPrefRecord::slotBrowseRecordingsDir() { From d42fdf3e4f101a2b25206f7b211e2d45fdc89fd7 Mon Sep 17 00:00:00 2001 From: Lukas Waslowski Date: Fri, 7 Jun 2024 12:11:35 +0000 Subject: [PATCH 025/181] Library: Make search shortcuts configurable via keymap --- res/keyboard/cs_CZ.kbd.cfg | 2 ++ res/keyboard/da_DK.kbd.cfg | 2 ++ res/keyboard/de_CH.kbd.cfg | 2 ++ res/keyboard/de_DE.kbd.cfg | 2 ++ res/keyboard/el_GR.kbd.cfg | 2 ++ res/keyboard/en_US.kbd.cfg | 2 ++ res/keyboard/es_ES.kbd.cfg | 2 ++ res/keyboard/fi_FI.kbd.cfg | 2 ++ res/keyboard/fr_CH.kbd.cfg | 2 ++ res/keyboard/fr_FR.kbd.cfg | 2 ++ res/keyboard/it_IT.kbd.cfg | 2 ++ res/keyboard/ru_RU.kbd.cfg | 2 ++ src/widget/wmainmenubar.cpp | 8 ++++++-- src/widget/wsearchlineedit.cpp | 7 +++++-- src/widget/wsearchlineedit.h | 2 ++ 15 files changed, 37 insertions(+), 4 deletions(-) diff --git a/res/keyboard/cs_CZ.kbd.cfg b/res/keyboard/cs_CZ.kbd.cfg index 6af18ba2a3f0..23bf9f34e32b 100644 --- a/res/keyboard/cs_CZ.kbd.cfg +++ b/res/keyboard/cs_CZ.kbd.cfg @@ -141,6 +141,8 @@ vinylcontrol_cueing Ctrl+Alt+U FileMenu_LoadDeck1 Ctrl+o FileMenu_LoadDeck2 Ctrl+Shift+O FileMenu_Quit Ctrl+q +LibraryMenu_SearchInCurrentView Ctrl+f +LibraryMenu_SearchInAllTracks Ctrl+Shift+F LibraryMenu_NewPlaylist Ctrl+n LibraryMenu_NewCrate Ctrl+Shift+N ViewMenu_ShowSkinSettings Ctrl+1 diff --git a/res/keyboard/da_DK.kbd.cfg b/res/keyboard/da_DK.kbd.cfg index 323a0942d82a..0676d66b9afd 100644 --- a/res/keyboard/da_DK.kbd.cfg +++ b/res/keyboard/da_DK.kbd.cfg @@ -141,6 +141,8 @@ vinylcontrol_cueing Ctrl+Alt+U FileMenu_LoadDeck1 Ctrl+o FileMenu_LoadDeck2 Ctrl+Shift+O FileMenu_Quit Ctrl+q +LibraryMenu_SearchInCurrentView Ctrl+f +LibraryMenu_SearchInAllTracks Ctrl+Shift+F LibraryMenu_NewPlaylist Ctrl+n LibraryMenu_NewCrate Ctrl+Shift+N ViewMenu_ShowSkinSettings Ctrl+1 diff --git a/res/keyboard/de_CH.kbd.cfg b/res/keyboard/de_CH.kbd.cfg index 99ccb5361ec0..99d111609898 100644 --- a/res/keyboard/de_CH.kbd.cfg +++ b/res/keyboard/de_CH.kbd.cfg @@ -141,6 +141,8 @@ vinylcontrol_cueing Ctrl+Alt+U FileMenu_LoadDeck1 Ctrl+o FileMenu_LoadDeck2 Ctrl+Shift+O FileMenu_Quit Ctrl+q +LibraryMenu_SearchInCurrentView Ctrl+f +LibraryMenu_SearchInAllTracks Ctrl+Shift+F LibraryMenu_NewPlaylist Ctrl+n LibraryMenu_NewCrate Ctrl+Shift+N ViewMenu_ShowSkinSettings Ctrl+1 diff --git a/res/keyboard/de_DE.kbd.cfg b/res/keyboard/de_DE.kbd.cfg index 9fdb8e712b6e..6055dc8bdfca 100644 --- a/res/keyboard/de_DE.kbd.cfg +++ b/res/keyboard/de_DE.kbd.cfg @@ -141,6 +141,8 @@ vinylcontrol_cueing Ctrl+Alt+U FileMenu_LoadDeck1 Ctrl+o FileMenu_LoadDeck2 Ctrl+Shift+O FileMenu_Quit Ctrl+q +LibraryMenu_SearchInCurrentView Ctrl+f +LibraryMenu_SearchInAllTracks Ctrl+Shift+F LibraryMenu_NewPlaylist Ctrl+n LibraryMenu_NewCrate Ctrl+Shift+N ViewMenu_ShowSkinSettings Ctrl+1 diff --git a/res/keyboard/el_GR.kbd.cfg b/res/keyboard/el_GR.kbd.cfg index 140ce77cf7af..622e1ff97417 100644 --- a/res/keyboard/el_GR.kbd.cfg +++ b/res/keyboard/el_GR.kbd.cfg @@ -145,6 +145,8 @@ vinylcontrol_cueing Ctrl+Alt+Θ FileMenu_LoadDeck1 Ctrl+o FileMenu_LoadDeck2 Ctrl+Shift+O FileMenu_Quit Ctrl+q +LibraryMenu_SearchInCurrentView Ctrl+f +LibraryMenu_SearchInAllTracks Ctrl+Shift+F LibraryMenu_NewPlaylist Ctrl+n LibraryMenu_NewCrate Ctrl+Shift+N ViewMenu_ShowSkinSettings Ctrl+1 diff --git a/res/keyboard/en_US.kbd.cfg b/res/keyboard/en_US.kbd.cfg index 7fe10956a9fc..7d8c18a89a7a 100644 --- a/res/keyboard/en_US.kbd.cfg +++ b/res/keyboard/en_US.kbd.cfg @@ -141,6 +141,8 @@ vinylcontrol_cueing Ctrl+Alt+U FileMenu_LoadDeck1 Ctrl+o FileMenu_LoadDeck2 Ctrl+Shift+O FileMenu_Quit Ctrl+q +LibraryMenu_SearchInCurrentView Ctrl+f +LibraryMenu_SearchInAllTracks Ctrl+Shift+F LibraryMenu_NewPlaylist Ctrl+n LibraryMenu_NewCrate Ctrl+Shift+N ViewMenu_ShowSkinSettings Ctrl+1 diff --git a/res/keyboard/es_ES.kbd.cfg b/res/keyboard/es_ES.kbd.cfg index 72423c40319d..73d2f033c99e 100644 --- a/res/keyboard/es_ES.kbd.cfg +++ b/res/keyboard/es_ES.kbd.cfg @@ -141,6 +141,8 @@ vinylcontrol_cueing Ctrl+Alt+U FileMenu_LoadDeck1 Ctrl+o FileMenu_LoadDeck2 Ctrl+Shift+O FileMenu_Quit Ctrl+q +LibraryMenu_SearchInCurrentView Ctrl+f +LibraryMenu_SearchInAllTracks Ctrl+Shift+F LibraryMenu_NewPlaylist Ctrl+n LibraryMenu_NewCrate Ctrl+Shift+N ViewMenu_ShowSkinSettings Ctrl+1 diff --git a/res/keyboard/fi_FI.kbd.cfg b/res/keyboard/fi_FI.kbd.cfg index ea197ca1f3ad..36ec3d6cd98f 100644 --- a/res/keyboard/fi_FI.kbd.cfg +++ b/res/keyboard/fi_FI.kbd.cfg @@ -141,6 +141,8 @@ vinylcontrol_cueing Ctrl+Alt+U FileMenu_LoadDeck1 Ctrl+o FileMenu_LoadDeck2 Ctrl+Shift+O FileMenu_Quit Ctrl+q +LibraryMenu_SearchInCurrentView Ctrl+f +LibraryMenu_SearchInAllTracks Ctrl+Shift+F LibraryMenu_NewPlaylist Ctrl+n LibraryMenu_NewCrate Ctrl+Shift+N ViewMenu_ShowSkinSettings Ctrl+1 diff --git a/res/keyboard/fr_CH.kbd.cfg b/res/keyboard/fr_CH.kbd.cfg index d3831aeb8d0d..df828dd9467e 100644 --- a/res/keyboard/fr_CH.kbd.cfg +++ b/res/keyboard/fr_CH.kbd.cfg @@ -141,6 +141,8 @@ vinylcontrol_cueing Ctrl+Alt+U FileMenu_LoadDeck1 Ctrl+o FileMenu_LoadDeck2 Ctrl+Shift+O FileMenu_Quit Ctrl+q +LibraryMenu_SearchInCurrentView Ctrl+f +LibraryMenu_SearchInAllTracks Ctrl+Shift+F LibraryMenu_NewPlaylist Ctrl+n LibraryMenu_NewCrate Ctrl+Shift+N ViewMenu_ShowSkinSettings Ctrl+1 diff --git a/res/keyboard/fr_FR.kbd.cfg b/res/keyboard/fr_FR.kbd.cfg index eb1a5ba474a4..0c89dc3579d7 100644 --- a/res/keyboard/fr_FR.kbd.cfg +++ b/res/keyboard/fr_FR.kbd.cfg @@ -141,6 +141,8 @@ vinylcontrol_cueing Ctrl+Alt+U FileMenu_LoadDeck1 Ctrl+o FileMenu_LoadDeck2 Ctrl+Shift+O FileMenu_Quit Ctrl+q +LibraryMenu_SearchInCurrentView Ctrl+f +LibraryMenu_SearchInAllTracks Ctrl+Shift+F LibraryMenu_NewPlaylist Ctrl+n LibraryMenu_NewCrate Ctrl+Shift+N ViewMenu_ShowSkinSettings Ctrl+1 diff --git a/res/keyboard/it_IT.kbd.cfg b/res/keyboard/it_IT.kbd.cfg index 9ef866ec5713..4f6e69649634 100644 --- a/res/keyboard/it_IT.kbd.cfg +++ b/res/keyboard/it_IT.kbd.cfg @@ -141,6 +141,8 @@ vinylcontrol_cueing Ctrl+Alt+U FileMenu_LoadDeck1 Ctrl+o FileMenu_LoadDeck2 Ctrl+Shift+O FileMenu_Quit Ctrl+q +LibraryMenu_SearchInCurrentView Ctrl+f +LibraryMenu_SearchInAllTracks Ctrl+Shift+F LibraryMenu_NewPlaylist Ctrl+n LibraryMenu_NewCrate Ctrl+Shift+N ViewMenu_ShowSkinSettings Ctrl+1 diff --git a/res/keyboard/ru_RU.kbd.cfg b/res/keyboard/ru_RU.kbd.cfg index beda6b6fa7b7..70672f10bb34 100644 --- a/res/keyboard/ru_RU.kbd.cfg +++ b/res/keyboard/ru_RU.kbd.cfg @@ -141,6 +141,8 @@ vinylcontrol_cueing Ctrl+Alt+Г FileMenu_LoadDeck1 Ctrl+o FileMenu_LoadDeck2 Ctrl+Shift+O FileMenu_Quit Ctrl+q +LibraryMenu_SearchInCurrentView Ctrl+f +LibraryMenu_SearchInAllTracks Ctrl+Shift+F LibraryMenu_NewPlaylist Ctrl+n LibraryMenu_NewCrate Ctrl+Shift+N ViewMenu_ShowSkinSettings Ctrl+1 diff --git a/src/widget/wmainmenubar.cpp b/src/widget/wmainmenubar.cpp index 2df2e366e754..aa376b5dfaca 100644 --- a/src/widget/wmainmenubar.cpp +++ b/src/widget/wmainmenubar.cpp @@ -171,7 +171,9 @@ void WMainMenuBar::initialize() { QString searchHereTitle = tr("Search in Current View..."); QString searchHereText = tr("Search for tracks in the current library view"); auto* pSearchHere = new QAction(searchHereTitle, this); - pSearchHere->setShortcut(QKeySequence(tr("Ctrl+f"))); + pSearchHere->setShortcut(QKeySequence(m_pKbdConfig->getValue( + ConfigKey("[KeyboardShortcuts]", "LibraryMenu_SearchInCurrentView"), + tr("Ctrl+f")))); pSearchHere->setShortcutContext(Qt::ApplicationShortcut); pSearchHere->setStatusTip(searchHereText); pSearchHere->setWhatsThis(buildWhatsThis(searchHereTitle, searchHereText)); @@ -183,7 +185,9 @@ void WMainMenuBar::initialize() { tr("Search in the internal track collection under \"Tracks\" in " "the library"); auto* pSearchAll = new QAction(searchAllTitle, this); - pSearchAll->setShortcut(tr("Ctrl+Shift+F")); + pSearchAll->setShortcut(QKeySequence(m_pKbdConfig->getValue( + ConfigKey("[KeyboardShortcuts]", "LibraryMenu_SearchInAllTracks"), + tr("Ctrl+Shift+F")))); pSearchAll->setShortcutContext(Qt::ApplicationShortcut); pSearchAll->setStatusTip(searchAllText); pSearchAll->setWhatsThis(buildWhatsThis(searchAllText, searchAllText)); diff --git a/src/widget/wsearchlineedit.cpp b/src/widget/wsearchlineedit.cpp index e74a8bdcd774..3afd0a489f4f 100644 --- a/src/widget/wsearchlineedit.cpp +++ b/src/widget/wsearchlineedit.cpp @@ -212,15 +212,18 @@ void WSearchLineEdit::setup(const QDomNode& node, const SkinContext& context) { m_clearButton->setToolTip(tr("Clear input") + "\n" + tr("Clear the search bar input field")); +} +void WSearchLineEdit::setupToolTip(const QString& searchInCurrentViewShortcut, + const QString& searchInAllTracksShortcut) { setBaseTooltip(tr("Search", "noun") + "\n" + tr("Enter a string to search for.") + " " + tr("Use operators like bpm:115-128, artist:BooFar, -year:1990.") + "\n" + tr("See User Manual > Mixxx Library for more information.") + - "\n\n" + tr("Ctrl+F") + ": " + + "\n\n" + searchInCurrentViewShortcut + ": " + tr("Focus/Select All (Search in current view)", "Give search bar input focus") + - "\n" + tr("Ctrl+Shift+F") + ": " + + "\n" + searchInAllTracksShortcut + ": " + tr("Focus/Select All (Search in \'Tracks\' library view)") + "\n\n" + tr("Additional Shortcuts When Focused:") + "\n" + tr("Return") + ": " + diff --git a/src/widget/wsearchlineedit.h b/src/widget/wsearchlineedit.h index fa7fefcd54f3..4094f081a944 100644 --- a/src/widget/wsearchlineedit.h +++ b/src/widget/wsearchlineedit.h @@ -36,6 +36,8 @@ class WSearchLineEdit : public QComboBox, public WBaseWidget { ~WSearchLineEdit(); void setup(const QDomNode& node, const SkinContext& context); + void setupToolTip(const QString& searchInCurrentViewShortcut, + const QString& searchInAllTracksShortcut); void handleSetFocus(Qt::FocusReason focusReason); From a922f0fc8ca886e07f9df70db9a0bf55c1747db2 Mon Sep 17 00:00:00 2001 From: Lukas Waslowski Date: Thu, 22 Aug 2024 21:15:59 +0000 Subject: [PATCH 026/181] WSearchLineEdit: Fix: Invoke WSearchLineEdit::setupTooltip in LegacySkinParser --- src/skin/legacy/legacyskinparser.cpp | 24 ++++++++++++++++++++---- src/skin/legacy/legacyskinparser.h | 1 + 2 files changed, 21 insertions(+), 4 deletions(-) diff --git a/src/skin/legacy/legacyskinparser.cpp b/src/skin/legacy/legacyskinparser.cpp index 5a4dfe5b9701..551eff842a41 100644 --- a/src/skin/legacy/legacyskinparser.cpp +++ b/src/skin/legacy/legacyskinparser.cpp @@ -1454,6 +1454,19 @@ QWidget* LegacySkinParser::parseSearchBox(const QDomElement& node) { commonWidgetSetup(node, pLineEditSearch, false); pLineEditSearch->setup(node, *m_pContext); + // Translate shortcuts to native text + QString searchInCurrentViewShortcut = + localizeShortcutKeys(m_pKeyboard->getKeyboardConfig()->getValue( + ConfigKey("[KeyboardShortcuts]", + "LibraryMenu_SearchInCurrentView"), + "Ctrl+f")); + QString searchInAllTracksShortcut = + localizeShortcutKeys(m_pKeyboard->getKeyboardConfig()->getValue( + ConfigKey("[KeyboardShortcuts]", + "LibraryMenu_SearchInAllTracks"), + "Ctrl+Shift+F")); + pLineEditSearch->setupToolTip(searchInCurrentViewShortcut, searchInAllTracksShortcut); + m_pLibrary->bindSearchboxWidget(pLineEditSearch); return pLineEditSearch; @@ -2504,9 +2517,6 @@ void LegacySkinParser::addShortcutToToolTip(WBaseWidget* pWidget, QString tooltip; - // translate shortcut to native text - QString nativeShortcut = QKeySequence(shortcut, QKeySequence::PortableText).toString(QKeySequence::NativeText); - tooltip += "\n"; tooltip += tr("Shortcut"); if (!cmd.isEmpty()) { @@ -2514,10 +2524,16 @@ void LegacySkinParser::addShortcutToToolTip(WBaseWidget* pWidget, tooltip += cmd; } tooltip += ": "; - tooltip += nativeShortcut; + tooltip += localizeShortcutKeys(shortcut); pWidget->appendBaseTooltip(tooltip); } +QString LegacySkinParser::localizeShortcutKeys(const QString& shortcut) { + // Translate shortcut to native text + return QKeySequence(shortcut, QKeySequence::PortableText) + .toString(QKeySequence::NativeText); +} + QString LegacySkinParser::parseLaunchImageStyle(const QDomNode& node) { return m_pContext->selectString(node, "LaunchImageStyle"); } diff --git a/src/skin/legacy/legacyskinparser.h b/src/skin/legacy/legacyskinparser.h index 11cb4639b713..e58533445b26 100644 --- a/src/skin/legacy/legacyskinparser.h +++ b/src/skin/legacy/legacyskinparser.h @@ -135,6 +135,7 @@ class LegacySkinParser : public QObject, public SkinParser { bool setupPosition=true); void setupConnections(const QDomNode& node, WBaseWidget* pWidget); void addShortcutToToolTip(WBaseWidget* pWidget, const QString& shortcut, const QString& cmd); + QString localizeShortcutKeys(const QString& shortcut); QString getLibraryStyle(const QDomNode& node); QString lookupNodeGroup(const QDomElement& node); From 408bb41841e8678e20a5797d90423e09120e6146 Mon Sep 17 00:00:00 2001 From: Lukas Waslowski Date: Fri, 23 Aug 2024 11:21:02 +0000 Subject: [PATCH 027/181] WSearchLineEdit: Review: Rename WSearchLineEdit::handleSetFocus to setFocus --- src/library/librarycontrol.cpp | 2 +- src/widget/wsearchlineedit.cpp | 4 ++-- src/widget/wsearchlineedit.h | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/library/librarycontrol.cpp b/src/library/librarycontrol.cpp index af05f574bcf6..2fe96b70ad7e 100644 --- a/src/library/librarycontrol.cpp +++ b/src/library/librarycontrol.cpp @@ -921,7 +921,7 @@ void LibraryControl::setLibraryFocus(FocusWidget newFocusWidget, Qt::FocusReason VERIFY_OR_DEBUG_ASSERT(m_pSearchbox) { return; } - m_pSearchbox->handleSetFocus(focusReason); + m_pSearchbox->setFocus(focusReason); return; case FocusWidget::Sidebar: VERIFY_OR_DEBUG_ASSERT(m_pSidebarWidget) { diff --git a/src/widget/wsearchlineedit.cpp b/src/widget/wsearchlineedit.cpp index 3afd0a489f4f..bea36e403698 100644 --- a/src/widget/wsearchlineedit.cpp +++ b/src/widget/wsearchlineedit.cpp @@ -789,11 +789,11 @@ void WSearchLineEdit::slotTextChanged(const QString& text) { m_saveTimer.start(kSaveTimeoutMillis); } -void WSearchLineEdit::handleSetFocus(Qt::FocusReason focusReason) { +void WSearchLineEdit::setFocus(Qt::FocusReason focusReason) { if (!hasFocus()) { // selectAll will be called by setFocus - but only if hasFocus // was false previously and focusReason is Tab, Backtab or Shortcut - setFocus(focusReason); + QWidget::setFocus(focusReason); } else if (focusReason == Qt::TabFocusReason || focusReason == Qt::BacktabFocusReason || focusReason == Qt::ShortcutFocusReason) { diff --git a/src/widget/wsearchlineedit.h b/src/widget/wsearchlineedit.h index 4094f081a944..0a123d96bac7 100644 --- a/src/widget/wsearchlineedit.h +++ b/src/widget/wsearchlineedit.h @@ -39,7 +39,7 @@ class WSearchLineEdit : public QComboBox, public WBaseWidget { void setupToolTip(const QString& searchInCurrentViewShortcut, const QString& searchInAllTracksShortcut); - void handleSetFocus(Qt::FocusReason focusReason); + void setFocus(Qt::FocusReason focusReason); protected: void resizeEvent(QResizeEvent*) override; From de0e7f4bcd89f3d5e46358f36b782ac4c669ee9e Mon Sep 17 00:00:00 2001 From: Lukas Waslowski Date: Fri, 23 Aug 2024 11:21:53 +0000 Subject: [PATCH 028/181] WSearchLineEdit: Review: Simplify WSearchLineEdit::getSearchText --- src/widget/wsearchlineedit.cpp | 21 ++++++++++++++------- src/widget/wsearchlineedit.h | 2 +- 2 files changed, 15 insertions(+), 8 deletions(-) diff --git a/src/widget/wsearchlineedit.cpp b/src/widget/wsearchlineedit.cpp index bea36e403698..fbb728c70cb3 100644 --- a/src/widget/wsearchlineedit.cpp +++ b/src/widget/wsearchlineedit.cpp @@ -309,12 +309,12 @@ QString WSearchLineEdit::getSearchText() const { if (isEnabled()) { DEBUG_ASSERT(!currentText().isNull()); QString text = currentText(); - QCompleter* pCompleter = completer(); - if (pCompleter && hasCompletionAvailable()) { + QString completionPrefix; + if (hasCompletionAvailable(&completionPrefix)) { // Search for the entered text until the user has accepted the // completion by pressing Enter or changed/deselected the selected // completion text with Right or Left key - return pCompleter->completionPrefix(); + return completionPrefix; } return text; } else { @@ -817,9 +817,16 @@ bool WSearchLineEdit::hasSelectedText() const { return lineEdit()->hasSelectedText(); } -bool WSearchLineEdit::hasCompletionAvailable() const { +bool WSearchLineEdit::hasCompletionAvailable(QString* completionPrefix) const { QCompleter* pCompleter = completer(); - return pCompleter && hasSelectedText() && - lineEdit()->text().startsWith(pCompleter->completionPrefix()) && - pCompleter->completionPrefix().size() == lineEdit()->cursorPosition(); + QString prefix = pCompleter ? pCompleter->completionPrefix() : QString(); + if (!prefix.isEmpty() && hasSelectedText() && + lineEdit()->text().startsWith(prefix) && + prefix.size() == lineEdit()->cursorPosition()) { + if (completionPrefix) { + *completionPrefix = prefix; + } + return true; + } + return false; } diff --git a/src/widget/wsearchlineedit.h b/src/widget/wsearchlineedit.h index 0a123d96bac7..e56507294705 100644 --- a/src/widget/wsearchlineedit.h +++ b/src/widget/wsearchlineedit.h @@ -96,7 +96,7 @@ class WSearchLineEdit : public QComboBox, public WBaseWidget { void deleteSelectedListItem(); void triggerSearchDebounced(); bool hasSelectedText() const; - bool hasCompletionAvailable() const; + bool hasCompletionAvailable(QString* completionPrefix = nullptr) const; inline int findCurrentTextIndex() { return findData(currentText(), Qt::DisplayRole); From 0880465623841c66d91bc2300039626b24b8574c Mon Sep 17 00:00:00 2001 From: ronso0 Date: Tue, 4 Mar 2025 13:51:09 +0100 Subject: [PATCH 029/181] add 'LoadTrackFromPreviewDeck' control --- src/mixer/basetrackplayer.cpp | 12 ++++++++++++ src/mixer/basetrackplayer.h | 2 ++ 2 files changed, 14 insertions(+) diff --git a/src/mixer/basetrackplayer.cpp b/src/mixer/basetrackplayer.cpp index a93ba2c4fee6..fc9a81d12db4 100644 --- a/src/mixer/basetrackplayer.cpp +++ b/src/mixer/basetrackplayer.cpp @@ -191,6 +191,13 @@ BaseTrackPlayerImpl::BaseTrackPlayerImpl( &ControlObject::valueChanged, this, &BaseTrackPlayerImpl::slotLoadTrackFromSampler); + m_pLoadTrackFromPreviewDeck = std::make_unique( + ConfigKey(getGroup(), "LoadTrackFromPreviewDeck"), + false); + connect(m_pLoadTrackFromPreviewDeck.get(), + &ControlObject::valueChanged, + this, + &BaseTrackPlayerImpl::slotLoadTrackFromPreviewDeck); // Waveform controls // This acts somewhat like a ControlPotmeter, but the normal _up/_down methods @@ -809,6 +816,11 @@ void BaseTrackPlayerImpl::slotLoadTrackFromDeck(double d) { loadTrackFromGroup(PlayerManager::groupForDeck(deck - 1)); } +void BaseTrackPlayerImpl::slotLoadTrackFromPreviewDeck(double d) { + int deck = static_cast(d); + loadTrackFromGroup(PlayerManager::groupForPreviewDeck(deck - 1)); +} + void BaseTrackPlayerImpl::slotLoadTrackFromSampler(double d) { int sampler = static_cast(d); loadTrackFromGroup(PlayerManager::groupForSampler(sampler - 1)); diff --git a/src/mixer/basetrackplayer.h b/src/mixer/basetrackplayer.h index e3c596a85e21..bce5b3e8ee03 100644 --- a/src/mixer/basetrackplayer.h +++ b/src/mixer/basetrackplayer.h @@ -140,6 +140,7 @@ class BaseTrackPlayerImpl : public BaseTrackPlayer { void loadTrackFromGroup(const QString& group); void slotLoadTrackFromDeck(double deck); void slotLoadTrackFromSampler(double sampler); + void slotLoadTrackFromPreviewDeck(double deck); void slotTrackColorChangeRequest(double value); /// Slot for change signals from up/down controls (relative values) void slotTrackRatingChangeRequestRelative(int change); @@ -181,6 +182,7 @@ class BaseTrackPlayerImpl : public BaseTrackPlayer { // Load track from other deck/sampler std::unique_ptr m_pLoadTrackFromDeck; std::unique_ptr m_pLoadTrackFromSampler; + std::unique_ptr m_pLoadTrackFromPreviewDeck; // Track color control std::unique_ptr m_pTrackColor; From 31e2b4e84c37022523d30e91e123aa21f9b3797c Mon Sep 17 00:00:00 2001 From: ronso0 Date: Thu, 13 Mar 2025 14:54:15 +0100 Subject: [PATCH 030/181] (fix) use canonical path to load font file --- src/util/font.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/util/font.cpp b/src/util/font.cpp index cb15ad7ca082..a50ade7ff594 100644 --- a/src/util/font.cpp +++ b/src/util/font.cpp @@ -67,16 +67,16 @@ void FontUtils::initializeFonts(const QString& resourcePath) { return; } - const QList files = fontsDir.entryList( + const QFileInfoList files = fontsDir.entryInfoList( QDir::NoDotAndDotDot | QDir::Files | QDir::Readable); - for (const QString& path : files) { + for (const QFileInfo& file : files) { // Skip text files (e.g. license files). For all others we let Qt tell // us whether the font format is supported since there is no way to // check other than adding. - if (path.endsWith(QStringLiteral(".txt"), Qt::CaseInsensitive)) { + if (file.suffix().toLower() == QStringLiteral("txt")) { continue; } - addFont(path); + addFont(file.canonicalFilePath()); } } From 16e746c41901138a5131efd7724f60508b6917e8 Mon Sep 17 00:00:00 2001 From: yen Date: Fri, 28 Mar 2025 12:35:03 +0100 Subject: [PATCH 031/181] Add nix flake with a dev shell to build Mixxx --- tools/flake.lock | 61 ++++++++++++++++++++++++++++++++++++++ tools/flake.nix | 76 ++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 137 insertions(+) create mode 100644 tools/flake.lock create mode 100644 tools/flake.nix diff --git a/tools/flake.lock b/tools/flake.lock new file mode 100644 index 000000000000..552b01ade3a7 --- /dev/null +++ b/tools/flake.lock @@ -0,0 +1,61 @@ +{ + "nodes": { + "nixpkgs": { + "locked": { + "lastModified": 1743080597, + "narHash": "sha256-UQwJgAe80hyILxk8sNSH2DCGDpHTYjtzld8uZv0nUes=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "2332f3658f3f9c0b7c5c8357329c0737d5757331", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "release-24.11", + "repo": "nixpkgs", + "type": "github" + } + }, + "root": { + "inputs": { + "nixpkgs": "nixpkgs", + "utils": "utils" + } + }, + "systems": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, + "utils": { + "inputs": { + "systems": "systems" + }, + "locked": { + "lastModified": 1731533236, + "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + } + }, + "root": "root", + "version": 7 +} diff --git a/tools/flake.nix b/tools/flake.nix new file mode 100644 index 000000000000..e81fc2bb0f36 --- /dev/null +++ b/tools/flake.nix @@ -0,0 +1,76 @@ +{ + inputs = { + utils.url = "github:numtide/flake-utils"; + nixpkgs.url = "github:NixOS/nixpkgs/release-24.11"; + }; + outputs = { self, nixpkgs, utils }: utils.lib.eachDefaultSystem (system: + let + pkgs = nixpkgs.legacyPackages.${system}; + in + { + devShell = pkgs.mkShell { + buildInputs = with pkgs; [ + # Building Mixxx + qt6.full + cmake + chromaprint + glib + libebur128 + fftw + flac + lame + libogg + libvorbis + portaudio + portmidi + protobuf + rubberband + libsndfile + soundtouch + taglib + upower + openssl + microsoft-gsl + kdePackages.qtkeychain + hidapi + wavpack + libid3tag + libusb1 + libmad + libopus + opusfile + libshout + lilv + libxkbcommon + sqlite + gtest + clang-tools + mp4v2 + vulkan-loader + xorg.libX11 + ffmpeg + libmodplug + vamp-plugin-sdk + ccache + libGLU + pcre + libselinux + utillinux + libdjinterop + libkeyfinder + cups + lv2 + + # Git pre-commits + pre-commit + nodejs + rustup + ]; + shellHook = '' + pre-commit install + pre-commit install -t pre-push + ''; + }; + } + ); +} From 348914cd41fe8ae2d0a744be2ff3a1a9bdbfff84 Mon Sep 17 00:00:00 2001 From: yen Date: Sun, 30 Mar 2025 21:27:00 +0200 Subject: [PATCH 032/181] explicitly install required qt6 libraries instead of qt6.full --- tools/flake.nix | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/tools/flake.nix b/tools/flake.nix index e81fc2bb0f36..118ef98e887b 100644 --- a/tools/flake.nix +++ b/tools/flake.nix @@ -6,12 +6,19 @@ outputs = { self, nixpkgs, utils }: utils.lib.eachDefaultSystem (system: let pkgs = nixpkgs.legacyPackages.${system}; + qt6Env = with pkgs.qt6; env "qt-custom-${qtbase.version}" + [ + qt5compat + qtshadertools + qtsvg + qtdeclarative + ]; in { devShell = pkgs.mkShell { buildInputs = with pkgs; [ # Building Mixxx - qt6.full + qt6Env cmake chromaprint glib From c4c9d263260e7f24a7f61e39cc68e0c268627f6d Mon Sep 17 00:00:00 2001 From: yen Date: Tue, 1 Apr 2025 01:29:16 +0200 Subject: [PATCH 033/181] fix clang-format pre-commit hook --- tools/flake.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/tools/flake.nix b/tools/flake.nix index 118ef98e887b..e6f33efa10c3 100644 --- a/tools/flake.nix +++ b/tools/flake.nix @@ -72,10 +72,13 @@ pre-commit nodejs rustup + stdenv.cc.cc ]; shellHook = '' pre-commit install pre-commit install -t pre-push + # Needed for clang-format pre-commit because it downloads and executes its own clang-format elf-binary + export LD_LIBRARY_PATH="${pkgs.stdenv.cc.cc.lib}/lib/:$LD_LIBRARY_PATH" ''; }; } From 8ddc637b12a7f420864c048c1618894f38071262 Mon Sep 17 00:00:00 2001 From: "Antoine C." Date: Sun, 6 Apr 2025 20:53:52 +0000 Subject: [PATCH 034/181] fix: don't connect to WaveformFactory on SceneGraph implem --- src/waveform/renderers/allshader/waveformrendermark.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/waveform/renderers/allshader/waveformrendermark.cpp b/src/waveform/renderers/allshader/waveformrendermark.cpp index 28a4c6610825..e8a0b10690ed 100644 --- a/src/waveform/renderers/allshader/waveformrendermark.cpp +++ b/src/waveform/renderers/allshader/waveformrendermark.cpp @@ -176,7 +176,7 @@ allshader::WaveformRenderMark::WaveformRenderMark( m_pPlayPosNode->initForRectangles(1); appendChildNode(std::move(pNode)); } - +#ifndef __SCENEGRAPH__ auto* pWaveformWidgetFactory = WaveformWidgetFactory::instance(); connect(pWaveformWidgetFactory, &WaveformWidgetFactory::untilMarkShowBeatsChanged, @@ -198,6 +198,7 @@ allshader::WaveformRenderMark::WaveformRenderMark( &WaveformWidgetFactory::untilMarkTextHeightLimitChanged, this, &WaveformRenderMark::setUntilMarkTextHeightLimit); +#endif } void allshader::WaveformRenderMark::draw(QPainter*, QPaintEvent*) { From dc30194378873bfc0079329d09913969e63a2a2f Mon Sep 17 00:00:00 2001 From: Sergey <5637569+fonsargo@users.noreply.github.com> Date: Mon, 31 Mar 2025 22:07:40 +0200 Subject: [PATCH 035/181] Initial AGC commit --- CMakeLists.txt | 1 + .../builtin/autogaincontroleffect.cpp | 244 ++++++++++++++++++ .../backends/builtin/autogaincontroleffect.h | 69 +++++ .../backends/builtin/builtinbackend.cpp | 2 + 4 files changed, 316 insertions(+) create mode 100644 src/effects/backends/builtin/autogaincontroleffect.cpp create mode 100644 src/effects/backends/builtin/autogaincontroleffect.h diff --git a/CMakeLists.txt b/CMakeLists.txt index b7a48247f97a..4596bf862cf7 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1090,6 +1090,7 @@ add_library( src/effects/backends/builtin/metronomeclick.cpp src/effects/backends/builtin/moogladder4filtereffect.cpp src/effects/backends/builtin/compressoreffect.cpp + src/effects/backends/builtin/autogaincontroleffect.cpp src/effects/backends/builtin/parametriceqeffect.cpp src/effects/backends/builtin/phasereffect.cpp src/effects/backends/builtin/reverbeffect.cpp diff --git a/src/effects/backends/builtin/autogaincontroleffect.cpp b/src/effects/backends/builtin/autogaincontroleffect.cpp new file mode 100644 index 000000000000..fe0e7cbfccaa --- /dev/null +++ b/src/effects/backends/builtin/autogaincontroleffect.cpp @@ -0,0 +1,244 @@ +#include "effects/backends/builtin/autogaincontroleffect.h" + +#include "util/math.h" + +namespace { +constexpr double defaultAttackMs = 1; +constexpr double defaultReleaseMs = 250; +constexpr double defaultThresholdDB = -40; +constexpr double defaultTargetDB = -5; +constexpr double defaultGainDB = 20; + +double calculateBallistics(double paramMs, const mixxx::EngineParameters& engineParameters) { + return exp(-1000.0 / (paramMs * engineParameters.sampleRate())); +} +} // anonymous namespace + +// static +QString AutoGainControlEffect::getId() { + return "org.mixxx.effects.autogaincontrol"; +} + +// static +EffectManifestPointer AutoGainControlEffect::getManifest() { + auto pManifest = EffectManifestPointer::create(); + pManifest->setId(getId()); + pManifest->setName(QObject::tr("Auto Gain Control")); + pManifest->setShortName(QObject::tr("AGC")); + pManifest->setAuthor("The Mixxx Team"); + pManifest->setVersion("1.0"); + pManifest->setDescription("Auto Gain Control (AGC) effect"); + pManifest->setEffectRampsFromDry(true); + pManifest->setMetaknobDefault(0.0); + + EffectManifestParameterPointer threshold = pManifest->addParameter(); + threshold->setId("threshold"); + threshold->setName(QObject::tr("Threshold (dBFS)")); + threshold->setShortName(QObject::tr("Threshold")); + threshold->setDescription( + QObject::tr("The Threshold knob adjusts the level above which the " + "effect starts enhancing the input signal")); + threshold->setValueScaler(EffectManifestParameter::ValueScaler::Linear); + threshold->setUnitsHint(EffectManifestParameter::UnitsHint::Decibel); + threshold->setNeutralPointOnScale(0); + threshold->setRange(-70, defaultThresholdDB, 0); + + EffectManifestParameterPointer target = pManifest->addParameter(); + target->setId("target"); + target->setName(QObject::tr("Target (dBFS)")); + target->setShortName(QObject::tr("Target")); + target->setDescription( + QObject::tr("The Target knob adjusts the desired target level of the output signal")); + target->setValueScaler(EffectManifestParameter::ValueScaler::Linear); + target->setUnitsHint(EffectManifestParameter::UnitsHint::Decibel); + target->setNeutralPointOnScale(0); + target->setRange(-20, defaultTargetDB, 10); + + EffectManifestParameterPointer gain = pManifest->addParameter(); + gain->setId("gain"); + gain->setName(QObject::tr("Gain (dB)")); + gain->setShortName(QObject::tr("Gain")); + gain->setDescription( + QObject::tr("The Gain knob adjusts the maximum amount of gain that " + "the effect will apply")); + gain->setValueScaler(EffectManifestParameter::ValueScaler::Linear); + gain->setUnitsHint(EffectManifestParameter::UnitsHint::Decibel); + gain->setRange(1, defaultGainDB, 40); + + EffectManifestParameterPointer attack = pManifest->addParameter(); + attack->setId("attack"); + attack->setName(QObject::tr("Attack (ms)")); + attack->setShortName(QObject::tr("Attack")); + attack->setDescription(QObject::tr( + "The Attack knob sets the time that determines how fast the " + "auto gain \nwill set in once the signal exceeds the threshold")); + attack->setValueScaler(EffectManifestParameter::ValueScaler::Logarithmic); + attack->setUnitsHint(EffectManifestParameter::UnitsHint::Millisecond); + attack->setRange(0, defaultAttackMs, 250); + + EffectManifestParameterPointer release = pManifest->addParameter(); + release->setId("release"); + release->setName(QObject::tr("Release (ms)")); + release->setShortName(QObject::tr("Release")); + release->setDescription( + QObject::tr("The Release knob sets the time that determines how " + "fast the auto gain will recover from the gain\n" + "adjustment once the signal falls under the threshold. " + "Depending on the input signal, short release times\n" + "may introduce a 'pumping' effect and/or distortion.")); + release->setValueScaler(EffectManifestParameter::ValueScaler::Integral); + release->setUnitsHint(EffectManifestParameter::UnitsHint::Millisecond); + release->setRange(0, defaultReleaseMs, 1500); + + return pManifest; +} + +void AutoGainControlGroupState::clear(const mixxx::EngineParameters& engineParameters) { + state = CSAMPLE_ONE; + attackCoeff = calculateBallistics(defaultAttackMs, engineParameters); + releaseCoeff = calculateBallistics(defaultReleaseMs, engineParameters); + + previousAttackParamMs = defaultAttackMs; + previousReleaseParamMs = defaultReleaseMs; + previousSampleRate = engineParameters.sampleRate(); +} + +void AutoGainControlGroupState::calculateCoeffsIfChanged( + const mixxx::EngineParameters& engineParameters, + double attackParamMs, + double releaseParamMs) { + if (engineParameters.sampleRate() != previousSampleRate) { + attackCoeff = calculateBallistics(attackParamMs, engineParameters); + previousAttackParamMs = attackParamMs; + + releaseCoeff = calculateBallistics(releaseParamMs, engineParameters); + previousReleaseParamMs = releaseParamMs; + + previousSampleRate = engineParameters.sampleRate(); + } else { + if (attackParamMs != previousAttackParamMs) { + attackCoeff = calculateBallistics(attackParamMs, engineParameters); + previousAttackParamMs = attackParamMs; + } + + if (releaseParamMs != previousReleaseParamMs) { + releaseCoeff = calculateBallistics(releaseParamMs, engineParameters); + previousReleaseParamMs = releaseParamMs; + } + } +} + +void AutoGainControlEffect::loadEngineEffectParameters( + const QMap& parameters) { + m_pThreshold = parameters.value("threshold"); + m_pTarget = parameters.value("target"); + m_pGain = parameters.value("gain"); + m_pAttack = parameters.value("attack"); + m_pRelease = parameters.value("release"); +} + +void AutoGainControlEffect::processChannel( + AutoGainControlGroupState* pState, + const CSAMPLE* pInput, + CSAMPLE* pOutput, + const mixxx::EngineParameters& engineParameters, + const EffectEnableState enableState, + const GroupFeatureState& groupFeatures) { + Q_UNUSED(groupFeatures); + + if (enableState == EffectEnableState::Enabling) { + pState->clear(engineParameters); + } else { + pState->calculateCoeffsIfChanged(engineParameters, m_pAttack->value(), m_pRelease->value()); + } + + applyAutoGainControl(pState, engineParameters, pInput, pOutput); +} + +void AutoGainControlEffect::applyAutoGainControl(AutoGainControlGroupState* pState, + const mixxx::EngineParameters& engineParameters, + const CSAMPLE* pInput, + CSAMPLE* pOutput) { + CSAMPLE threshold = db2ratio(m_pThreshold->value()); + CSAMPLE target = db2ratio(m_pTarget->value()); + CSAMPLE_GAIN maxGain = db2ratio(m_pGain->value()); + double kneeDB = 5.0; // TODO + double thresholdDB = m_pThreshold->value(); + double targetLevelDB = m_pTarget->value(); + double maxGainDB = m_pGain->value(); + + CSAMPLE state = pState->state; + + SINT numSamples = engineParameters.samplesPerBuffer(); + int channelCount = engineParameters.channelCount(); + for (SINT i = 0; i < numSamples; i += channelCount) { + CSAMPLE maxSample = std::max(fabs(pInput[i]), fabs(pInput[i + 1])); + if (maxSample == CSAMPLE_ZERO) { + pOutput[i] = CSAMPLE_ZERO; + pOutput[i + 1] = CSAMPLE_ZERO; + continue; + } + + // TODO attack/release gain + // ( ) + + // dB + double inputLevelDB = ratio2db(maxSample); + + // + double desiredGainDB = 0.0; + + double upperKnee = thresholdDB + 0.5 * kneeDB; + double lowerKnee = thresholdDB - 0.5 * kneeDB; + + if (inputLevelDB > upperKnee) { + // "Knee", + desiredGainDB = targetLevelDB - inputLevelDB; + } else if (inputLevelDB < lowerKnee) { + // "Knee", 0 + desiredGainDB = 0.0; + } else { + // "Knee", + double kneePosition = (inputLevelDB - lowerKnee) / kneeDB; + desiredGainDB = (targetLevelDB - upperKnee) * kneePosition; + } + + // + desiredGainDB = std::min(desiredGainDB, maxGainDB); + + // + CSAMPLE_GAIN gain = db2ratio(desiredGainDB); + // if (maxSample > threshold) { + // gain = target / maxSample; + // if (gain > maxGain) { + // gain = maxGain; + // } + // } else { + // gain = CSAMPLE_GAIN_ONE; + // } + + // TODO: maxGain! + // TODO: threshold doesn't work if signal is lower! + // CSAMPLE_GAIN gain = target / state; + // if (gain > maxGain) { + // gain = maxGain; + // } + // == another: + // if (state > threshold) { + // gain = target / state; + // } + // else { + // gain = target / threshold; + // } + + if (gain < state) { + state = pState->attackCoeff * (state - gain) + gain; + } else { + state = pState->releaseCoeff * (state - gain) + gain; + } + + pOutput[i] = pInput[i] * state; + pOutput[i + 1] = pInput[i + 1] * state; + } + pState->state = state; +} diff --git a/src/effects/backends/builtin/autogaincontroleffect.h b/src/effects/backends/builtin/autogaincontroleffect.h new file mode 100644 index 000000000000..9c9f92cade9f --- /dev/null +++ b/src/effects/backends/builtin/autogaincontroleffect.h @@ -0,0 +1,69 @@ +#pragma once + +#include "effects/backends/effectprocessor.h" +#include "engine/effects/engineeffect.h" +#include "engine/effects/engineeffectparameter.h" +#include "util/class.h" +#include "util/defs.h" +#include "util/sample.h" +#include "util/types.h" + +class AutoGainControlGroupState : public EffectState { + public: + AutoGainControlGroupState(const mixxx::EngineParameters& engineParameters) + : EffectState(engineParameters) { + clear(engineParameters); + } + + void clear(const mixxx::EngineParameters& engineParameters); + + void calculateCoeffsIfChanged( + const mixxx::EngineParameters& engineParameters, + double attackParamMs, + double releaseParamMs); + + CSAMPLE state; + double attackCoeff; + double releaseCoeff; + + double previousAttackParamMs; + double previousReleaseParamMs; + mixxx::audio::SampleRate previousSampleRate; +}; + +class AutoGainControlEffect : public EffectProcessorImpl { + public: + AutoGainControlEffect() = default; + + static QString getId(); + static EffectManifestPointer getManifest(); + + void loadEngineEffectParameters( + const QMap& parameters) override; + + void processChannel( + AutoGainControlGroupState* pState, + const CSAMPLE* pInput, + CSAMPLE* pOutput, + const mixxx::EngineParameters& engineParameters, + const EffectEnableState enableState, + const GroupFeatureState& groupFeatures) override; + + private: + QString debugString() const { + return getId(); + } + + EngineEffectParameterPointer m_pThreshold; + EngineEffectParameterPointer m_pTarget; + EngineEffectParameterPointer m_pGain; + EngineEffectParameterPointer m_pAttack; + EngineEffectParameterPointer m_pRelease; + + DISALLOW_COPY_AND_ASSIGN(AutoGainControlEffect); + + void applyAutoGainControl(AutoGainControlGroupState* pState, + const mixxx::EngineParameters& engineParameters, + const CSAMPLE* pInput, + CSAMPLE* pOutput); +}; diff --git a/src/effects/backends/builtin/builtinbackend.cpp b/src/effects/backends/builtin/builtinbackend.cpp index b4b71425301a..908440f78132 100644 --- a/src/effects/backends/builtin/builtinbackend.cpp +++ b/src/effects/backends/builtin/builtinbackend.cpp @@ -16,6 +16,7 @@ #ifndef __MACAPPSTORE__ #include "effects/backends/builtin/reverbeffect.h" #endif +#include "effects/backends/builtin/autogaincontroleffect.h" #include "effects/backends/builtin/autopaneffect.h" #include "effects/backends/builtin/compressoreffect.h" #include "effects/backends/builtin/distortioneffect.h" @@ -64,6 +65,7 @@ BuiltInBackend::BuiltInBackend() { registerEffect(); registerEffect(); registerEffect(); + registerEffect(); } std::unique_ptr BuiltInBackend::createProcessor( From e259924cfbbce6ac9daf8f95b579ffe1e80aada6 Mon Sep 17 00:00:00 2001 From: Sergey <5637569+fonsargo@users.noreply.github.com> Date: Mon, 7 Apr 2025 22:04:18 +0200 Subject: [PATCH 036/181] Test AGC version with switch for different attack types --- .../builtin/autogaincontroleffect.cpp | 72 ++++++++++++++++--- .../backends/builtin/autogaincontroleffect.h | 8 +++ 2 files changed, 69 insertions(+), 11 deletions(-) diff --git a/src/effects/backends/builtin/autogaincontroleffect.cpp b/src/effects/backends/builtin/autogaincontroleffect.cpp index fe0e7cbfccaa..3197d10115b0 100644 --- a/src/effects/backends/builtin/autogaincontroleffect.cpp +++ b/src/effects/backends/builtin/autogaincontroleffect.cpp @@ -4,7 +4,7 @@ namespace { constexpr double defaultAttackMs = 1; -constexpr double defaultReleaseMs = 250; +constexpr double defaultReleaseMs = 500; constexpr double defaultThresholdDB = -40; constexpr double defaultTargetDB = -5; constexpr double defaultGainDB = 20; @@ -31,6 +31,21 @@ EffectManifestPointer AutoGainControlEffect::getManifest() { pManifest->setEffectRampsFromDry(true); pManifest->setMetaknobDefault(0.0); + EffectManifestParameterPointer autoMakeUp = pManifest->addParameter(); + autoMakeUp->setId("automakeup"); + autoMakeUp->setName(QObject::tr("Auto Makeup Gain")); + autoMakeUp->setShortName(QObject::tr("Makeup")); + autoMakeUp->setDescription(QObject::tr( + "The Auto Makeup button enables automatic gain adjustment to keep " + "the input signal \nand the processed output signal as close as " + "possible in perceived loudness")); + autoMakeUp->setValueScaler(EffectManifestParameter::ValueScaler::Toggle); + autoMakeUp->setRange(0, 1, 1); + autoMakeUp->appendStep(qMakePair( + QObject::tr("Off"), static_cast(AutoMakeUp::AutoMakeUpOff))); + autoMakeUp->appendStep(qMakePair( + QObject::tr("On"), static_cast(AutoMakeUp::AutoMakeUpOn))); + EffectManifestParameterPointer threshold = pManifest->addParameter(); threshold->setId("threshold"); threshold->setName(QObject::tr("Threshold (dBFS)")); @@ -65,6 +80,17 @@ EffectManifestPointer AutoGainControlEffect::getManifest() { gain->setUnitsHint(EffectManifestParameter::UnitsHint::Decibel); gain->setRange(1, defaultGainDB, 40); + EffectManifestParameterPointer knee = pManifest->addParameter(); + knee->setId("knee"); + knee->setName(QObject::tr("Knee (dB)")); + knee->setShortName(QObject::tr("Knee")); + knee->setDescription(QObject::tr( + "The Knee knob is used to achieve a rounder compression curve")); + knee->setValueScaler(EffectManifestParameter::ValueScaler::Linear); + knee->setUnitsHint(EffectManifestParameter::UnitsHint::Coefficient); + knee->setNeutralPointOnScale(0); + knee->setRange(0.0, 5.0, 24); + EffectManifestParameterPointer attack = pManifest->addParameter(); attack->setId("attack"); attack->setName(QObject::tr("Attack (ms)")); @@ -95,6 +121,7 @@ EffectManifestPointer AutoGainControlEffect::getManifest() { void AutoGainControlGroupState::clear(const mixxx::EngineParameters& engineParameters) { state = CSAMPLE_ONE; + state2 = CSAMPLE_ZERO; attackCoeff = calculateBallistics(defaultAttackMs, engineParameters); releaseCoeff = calculateBallistics(defaultReleaseMs, engineParameters); @@ -133,8 +160,10 @@ void AutoGainControlEffect::loadEngineEffectParameters( m_pThreshold = parameters.value("threshold"); m_pTarget = parameters.value("target"); m_pGain = parameters.value("gain"); + m_pKnee = parameters.value("knee"); m_pAttack = parameters.value("attack"); m_pRelease = parameters.value("release"); + m_pAutoMakeUp = parameters.value("automakeup"); } void AutoGainControlEffect::processChannel( @@ -162,12 +191,13 @@ void AutoGainControlEffect::applyAutoGainControl(AutoGainControlGroupState* pSta CSAMPLE threshold = db2ratio(m_pThreshold->value()); CSAMPLE target = db2ratio(m_pTarget->value()); CSAMPLE_GAIN maxGain = db2ratio(m_pGain->value()); - double kneeDB = 5.0; // TODO + double kneeDB = m_pKnee->value(); double thresholdDB = m_pThreshold->value(); double targetLevelDB = m_pTarget->value(); double maxGainDB = m_pGain->value(); CSAMPLE state = pState->state; + // CSAMPLE state2 = pState->state2; SINT numSamples = engineParameters.samplesPerBuffer(); int channelCount = engineParameters.channelCount(); @@ -179,11 +209,19 @@ void AutoGainControlEffect::applyAutoGainControl(AutoGainControlGroupState* pSta continue; } + if (maxSample > state) { + state = pState->attackCoeff * state + (1 - pState->attackCoeff) * maxSample; + } else { + state = pState->releaseCoeff * state + (1 - pState->releaseCoeff) * maxSample; + } + // TODO attack/release gain // ( ) + // bool attack = maxSample > state2; + // state2 = maxSample; // dB - double inputLevelDB = ratio2db(maxSample); + double inputLevelDB = ratio2db(state); // double desiredGainDB = 0.0; @@ -230,15 +268,27 @@ void AutoGainControlEffect::applyAutoGainControl(AutoGainControlGroupState* pSta // else { // gain = target / threshold; // } - - if (gain < state) { - state = pState->attackCoeff * (state - gain) + gain; - } else { - state = pState->releaseCoeff * (state - gain) + gain; + /* + if (m_pAutoMakeUp->toInt() == static_cast(AutoMakeUp::AutoMakeUpOn)) { + if (attack && gain < state) { + state = pState->attackCoeff * (state - gain) + gain; + } + else { + state = pState->releaseCoeff * (state - gain) + gain; + } } - - pOutput[i] = pInput[i] * state; - pOutput[i + 1] = pInput[i + 1] * state; + else { + if (gain < state) { + state = pState->attackCoeff * (state - gain) + gain; + } + else { + state = pState->releaseCoeff * (state - gain) + gain; + } + }*/ + + pOutput[i] = pInput[i] * gain; + pOutput[i + 1] = pInput[i + 1] * gain; } pState->state = state; + // pState->state2 = state2; } diff --git a/src/effects/backends/builtin/autogaincontroleffect.h b/src/effects/backends/builtin/autogaincontroleffect.h index 9c9f92cade9f..64b8690e2f3a 100644 --- a/src/effects/backends/builtin/autogaincontroleffect.h +++ b/src/effects/backends/builtin/autogaincontroleffect.h @@ -23,6 +23,7 @@ class AutoGainControlGroupState : public EffectState { double releaseParamMs); CSAMPLE state; + CSAMPLE state2; double attackCoeff; double releaseCoeff; @@ -50,6 +51,11 @@ class AutoGainControlEffect : public EffectProcessorImpl Date: Tue, 8 Apr 2025 21:00:56 +0200 Subject: [PATCH 037/181] AGC calculations in ratio (bad looking) --- .../builtin/autogaincontroleffect.cpp | 47 +++++++++---------- .../backends/builtin/autogaincontroleffect.h | 7 --- 2 files changed, 23 insertions(+), 31 deletions(-) diff --git a/src/effects/backends/builtin/autogaincontroleffect.cpp b/src/effects/backends/builtin/autogaincontroleffect.cpp index 3197d10115b0..ea0853be921e 100644 --- a/src/effects/backends/builtin/autogaincontroleffect.cpp +++ b/src/effects/backends/builtin/autogaincontroleffect.cpp @@ -1,5 +1,7 @@ #include "effects/backends/builtin/autogaincontroleffect.h" +#include + #include "util/math.h" namespace { @@ -31,21 +33,6 @@ EffectManifestPointer AutoGainControlEffect::getManifest() { pManifest->setEffectRampsFromDry(true); pManifest->setMetaknobDefault(0.0); - EffectManifestParameterPointer autoMakeUp = pManifest->addParameter(); - autoMakeUp->setId("automakeup"); - autoMakeUp->setName(QObject::tr("Auto Makeup Gain")); - autoMakeUp->setShortName(QObject::tr("Makeup")); - autoMakeUp->setDescription(QObject::tr( - "The Auto Makeup button enables automatic gain adjustment to keep " - "the input signal \nand the processed output signal as close as " - "possible in perceived loudness")); - autoMakeUp->setValueScaler(EffectManifestParameter::ValueScaler::Toggle); - autoMakeUp->setRange(0, 1, 1); - autoMakeUp->appendStep(qMakePair( - QObject::tr("Off"), static_cast(AutoMakeUp::AutoMakeUpOff))); - autoMakeUp->appendStep(qMakePair( - QObject::tr("On"), static_cast(AutoMakeUp::AutoMakeUpOn))); - EffectManifestParameterPointer threshold = pManifest->addParameter(); threshold->setId("threshold"); threshold->setName(QObject::tr("Threshold (dBFS)")); @@ -121,7 +108,6 @@ EffectManifestPointer AutoGainControlEffect::getManifest() { void AutoGainControlGroupState::clear(const mixxx::EngineParameters& engineParameters) { state = CSAMPLE_ONE; - state2 = CSAMPLE_ZERO; attackCoeff = calculateBallistics(defaultAttackMs, engineParameters); releaseCoeff = calculateBallistics(defaultReleaseMs, engineParameters); @@ -163,7 +149,6 @@ void AutoGainControlEffect::loadEngineEffectParameters( m_pKnee = parameters.value("knee"); m_pAttack = parameters.value("attack"); m_pRelease = parameters.value("release"); - m_pAutoMakeUp = parameters.value("automakeup"); } void AutoGainControlEffect::processChannel( @@ -191,13 +176,13 @@ void AutoGainControlEffect::applyAutoGainControl(AutoGainControlGroupState* pSta CSAMPLE threshold = db2ratio(m_pThreshold->value()); CSAMPLE target = db2ratio(m_pTarget->value()); CSAMPLE_GAIN maxGain = db2ratio(m_pGain->value()); + CSAMPLE_GAIN knee = db2ratio(m_pKnee->value()); double kneeDB = m_pKnee->value(); double thresholdDB = m_pThreshold->value(); double targetLevelDB = m_pTarget->value(); double maxGainDB = m_pGain->value(); CSAMPLE state = pState->state; - // CSAMPLE state2 = pState->state2; SINT numSamples = engineParameters.samplesPerBuffer(); int channelCount = engineParameters.channelCount(); @@ -215,11 +200,7 @@ void AutoGainControlEffect::applyAutoGainControl(AutoGainControlGroupState* pSta state = pState->releaseCoeff * state + (1 - pState->releaseCoeff) * maxSample; } - // TODO attack/release gain - // ( ) - // bool attack = maxSample > state2; - // state2 = maxSample; - + /* // dB double inputLevelDB = ratio2db(state); @@ -246,6 +227,25 @@ void AutoGainControlEffect::applyAutoGainControl(AutoGainControlGroupState* pSta // CSAMPLE_GAIN gain = db2ratio(desiredGainDB); + */ + + CSAMPLE_GAIN kneeHalf = sqrt(knee); + CSAMPLE upperKnee = threshold * kneeHalf; + CSAMPLE lowerKnee = threshold / kneeHalf; + CSAMPLE_GAIN desiredGain; + + if (state > upperKnee) { + desiredGain = target / state; + } else if (state < lowerKnee) { + desiredGain = CSAMPLE_GAIN_ONE; + } else { + CSAMPLE kneePosition = (state - lowerKnee) / (upperKnee - lowerKnee); + desiredGain = pow(state / lowerKnee, + (targetLevelDB - thresholdDB - 0.5 * kneeDB) / kneeDB); + } + + CSAMPLE_GAIN gain = std::min(desiredGain, maxGain); + // if (maxSample > threshold) { // gain = target / maxSample; // if (gain > maxGain) { @@ -290,5 +290,4 @@ void AutoGainControlEffect::applyAutoGainControl(AutoGainControlGroupState* pSta pOutput[i + 1] = pInput[i + 1] * gain; } pState->state = state; - // pState->state2 = state2; } diff --git a/src/effects/backends/builtin/autogaincontroleffect.h b/src/effects/backends/builtin/autogaincontroleffect.h index 64b8690e2f3a..1126e700a7aa 100644 --- a/src/effects/backends/builtin/autogaincontroleffect.h +++ b/src/effects/backends/builtin/autogaincontroleffect.h @@ -23,7 +23,6 @@ class AutoGainControlGroupState : public EffectState { double releaseParamMs); CSAMPLE state; - CSAMPLE state2; double attackCoeff; double releaseCoeff; @@ -51,11 +50,6 @@ class AutoGainControlEffect : public EffectProcessorImpl Date: Tue, 8 Apr 2025 22:26:19 +0200 Subject: [PATCH 038/181] Add descriptions + refactoring --- .../builtin/autogaincontroleffect.cpp | 100 +++--------------- 1 file changed, 16 insertions(+), 84 deletions(-) diff --git a/src/effects/backends/builtin/autogaincontroleffect.cpp b/src/effects/backends/builtin/autogaincontroleffect.cpp index ea0853be921e..0bc10d05aaa4 100644 --- a/src/effects/backends/builtin/autogaincontroleffect.cpp +++ b/src/effects/backends/builtin/autogaincontroleffect.cpp @@ -10,6 +10,7 @@ constexpr double defaultReleaseMs = 500; constexpr double defaultThresholdDB = -40; constexpr double defaultTargetDB = -5; constexpr double defaultGainDB = 20; +constexpr double defaultKneeDB = 10; double calculateBallistics(double paramMs, const mixxx::EngineParameters& engineParameters) { return exp(-1000.0 / (paramMs * engineParameters.sampleRate())); @@ -29,7 +30,9 @@ EffectManifestPointer AutoGainControlEffect::getManifest() { pManifest->setShortName(QObject::tr("AGC")); pManifest->setAuthor("The Mixxx Team"); pManifest->setVersion("1.0"); - pManifest->setDescription("Auto Gain Control (AGC) effect"); + pManifest->setDescription( + "Auto Gain Control (AGC) automatically adjusts the gain of an " + "audio signal to maintain a consistent output level."); pManifest->setEffectRampsFromDry(true); pManifest->setMetaknobDefault(0.0); @@ -72,11 +75,13 @@ EffectManifestPointer AutoGainControlEffect::getManifest() { knee->setName(QObject::tr("Knee (dB)")); knee->setShortName(QObject::tr("Knee")); knee->setDescription(QObject::tr( - "The Knee knob is used to achieve a rounder compression curve")); + "The Knee knob defines the range around the Threshold where gain " + "changes are applied gradually,\nensuring smooth transitions and " + "avoiding abrupt level shifts.")); knee->setValueScaler(EffectManifestParameter::ValueScaler::Linear); knee->setUnitsHint(EffectManifestParameter::UnitsHint::Coefficient); knee->setNeutralPointOnScale(0); - knee->setRange(0.0, 5.0, 24); + knee->setRange(0.0, defaultKneeDB, 24); EffectManifestParameterPointer attack = pManifest->addParameter(); attack->setId("attack"); @@ -173,14 +178,12 @@ void AutoGainControlEffect::applyAutoGainControl(AutoGainControlGroupState* pSta const mixxx::EngineParameters& engineParameters, const CSAMPLE* pInput, CSAMPLE* pOutput) { - CSAMPLE threshold = db2ratio(m_pThreshold->value()); - CSAMPLE target = db2ratio(m_pTarget->value()); - CSAMPLE_GAIN maxGain = db2ratio(m_pGain->value()); - CSAMPLE_GAIN knee = db2ratio(m_pKnee->value()); - double kneeDB = m_pKnee->value(); double thresholdDB = m_pThreshold->value(); double targetLevelDB = m_pTarget->value(); double maxGainDB = m_pGain->value(); + double kneeDB = m_pKnee->value(); + double upperKneeDB = thresholdDB + 0.5 * kneeDB; + double lowerKneeDB = thresholdDB - 0.5 * kneeDB; CSAMPLE state = pState->state; @@ -200,91 +203,20 @@ void AutoGainControlEffect::applyAutoGainControl(AutoGainControlGroupState* pSta state = pState->releaseCoeff * state + (1 - pState->releaseCoeff) * maxSample; } - /* - // dB double inputLevelDB = ratio2db(state); - - // - double desiredGainDB = 0.0; - - double upperKnee = thresholdDB + 0.5 * kneeDB; - double lowerKnee = thresholdDB - 0.5 * kneeDB; - - if (inputLevelDB > upperKnee) { - // "Knee", + double desiredGainDB; + if (inputLevelDB > upperKneeDB) { desiredGainDB = targetLevelDB - inputLevelDB; - } else if (inputLevelDB < lowerKnee) { - // "Knee", 0 + } else if (inputLevelDB < lowerKneeDB) { desiredGainDB = 0.0; } else { - // "Knee", - double kneePosition = (inputLevelDB - lowerKnee) / kneeDB; - desiredGainDB = (targetLevelDB - upperKnee) * kneePosition; + double kneePosition = (inputLevelDB - lowerKneeDB) / kneeDB; + desiredGainDB = (targetLevelDB - upperKneeDB) * kneePosition; } - // desiredGainDB = std::min(desiredGainDB, maxGainDB); - // CSAMPLE_GAIN gain = db2ratio(desiredGainDB); - */ - - CSAMPLE_GAIN kneeHalf = sqrt(knee); - CSAMPLE upperKnee = threshold * kneeHalf; - CSAMPLE lowerKnee = threshold / kneeHalf; - CSAMPLE_GAIN desiredGain; - - if (state > upperKnee) { - desiredGain = target / state; - } else if (state < lowerKnee) { - desiredGain = CSAMPLE_GAIN_ONE; - } else { - CSAMPLE kneePosition = (state - lowerKnee) / (upperKnee - lowerKnee); - desiredGain = pow(state / lowerKnee, - (targetLevelDB - thresholdDB - 0.5 * kneeDB) / kneeDB); - } - - CSAMPLE_GAIN gain = std::min(desiredGain, maxGain); - - // if (maxSample > threshold) { - // gain = target / maxSample; - // if (gain > maxGain) { - // gain = maxGain; - // } - // } else { - // gain = CSAMPLE_GAIN_ONE; - // } - - // TODO: maxGain! - // TODO: threshold doesn't work if signal is lower! - // CSAMPLE_GAIN gain = target / state; - // if (gain > maxGain) { - // gain = maxGain; - // } - // == another: - // if (state > threshold) { - // gain = target / state; - // } - // else { - // gain = target / threshold; - // } - /* - if (m_pAutoMakeUp->toInt() == static_cast(AutoMakeUp::AutoMakeUpOn)) { - if (attack && gain < state) { - state = pState->attackCoeff * (state - gain) + gain; - } - else { - state = pState->releaseCoeff * (state - gain) + gain; - } - } - else { - if (gain < state) { - state = pState->attackCoeff * (state - gain) + gain; - } - else { - state = pState->releaseCoeff * (state - gain) + gain; - } - }*/ pOutput[i] = pInput[i] * gain; pOutput[i + 1] = pInput[i + 1] * gain; From b2a067885a98dded654c928e08e82c1a48ff2784 Mon Sep 17 00:00:00 2001 From: Sergey <5637569+fonsargo@users.noreply.github.com> Date: Tue, 8 Apr 2025 22:48:58 +0200 Subject: [PATCH 039/181] Fix double to float conversion --- src/effects/backends/builtin/autogaincontroleffect.cpp | 6 ++---- src/effects/backends/builtin/autogaincontroleffect.h | 2 +- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/src/effects/backends/builtin/autogaincontroleffect.cpp b/src/effects/backends/builtin/autogaincontroleffect.cpp index 0bc10d05aaa4..6bdf82a8ea55 100644 --- a/src/effects/backends/builtin/autogaincontroleffect.cpp +++ b/src/effects/backends/builtin/autogaincontroleffect.cpp @@ -1,7 +1,5 @@ #include "effects/backends/builtin/autogaincontroleffect.h" -#include - #include "util/math.h" namespace { @@ -185,7 +183,7 @@ void AutoGainControlEffect::applyAutoGainControl(AutoGainControlGroupState* pSta double upperKneeDB = thresholdDB + 0.5 * kneeDB; double lowerKneeDB = thresholdDB - 0.5 * kneeDB; - CSAMPLE state = pState->state; + double state = pState->state; SINT numSamples = engineParameters.samplesPerBuffer(); int channelCount = engineParameters.channelCount(); @@ -216,7 +214,7 @@ void AutoGainControlEffect::applyAutoGainControl(AutoGainControlGroupState* pSta desiredGainDB = std::min(desiredGainDB, maxGainDB); - CSAMPLE_GAIN gain = db2ratio(desiredGainDB); + CSAMPLE_GAIN gain = static_cast(db2ratio(desiredGainDB)); pOutput[i] = pInput[i] * gain; pOutput[i + 1] = pInput[i + 1] * gain; diff --git a/src/effects/backends/builtin/autogaincontroleffect.h b/src/effects/backends/builtin/autogaincontroleffect.h index 1126e700a7aa..f00ea90d32f8 100644 --- a/src/effects/backends/builtin/autogaincontroleffect.h +++ b/src/effects/backends/builtin/autogaincontroleffect.h @@ -22,7 +22,7 @@ class AutoGainControlGroupState : public EffectState { double attackParamMs, double releaseParamMs); - CSAMPLE state; + double state; double attackCoeff; double releaseCoeff; From c0045de8f35dd8ffbca6deb6d3a3f1ff5e538e0a Mon Sep 17 00:00:00 2001 From: Sergey <5637569+fonsargo@users.noreply.github.com> Date: Tue, 15 Apr 2025 21:43:18 +0200 Subject: [PATCH 040/181] Add additional comments --- .../backends/builtin/autogaincontroleffect.cpp | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/src/effects/backends/builtin/autogaincontroleffect.cpp b/src/effects/backends/builtin/autogaincontroleffect.cpp index 6bdf82a8ea55..d0f75621c21d 100644 --- a/src/effects/backends/builtin/autogaincontroleffect.cpp +++ b/src/effects/backends/builtin/autogaincontroleffect.cpp @@ -176,48 +176,66 @@ void AutoGainControlEffect::applyAutoGainControl(AutoGainControlGroupState* pSta const mixxx::EngineParameters& engineParameters, const CSAMPLE* pInput, CSAMPLE* pOutput) { + // Get user-defined parameters double thresholdDB = m_pThreshold->value(); double targetLevelDB = m_pTarget->value(); double maxGainDB = m_pGain->value(); double kneeDB = m_pKnee->value(); + + // Define the upper and lower boundaries of the knee region double upperKneeDB = thresholdDB + 0.5 * kneeDB; double lowerKneeDB = thresholdDB - 0.5 * kneeDB; + // Initialize the envelope state double state = pState->state; SINT numSamples = engineParameters.samplesPerBuffer(); int channelCount = engineParameters.channelCount(); for (SINT i = 0; i < numSamples; i += channelCount) { + // Detect peak level across stereo channels CSAMPLE maxSample = std::max(fabs(pInput[i]), fabs(pInput[i + 1])); + + // If the input is silent, output silence if (maxSample == CSAMPLE_ZERO) { pOutput[i] = CSAMPLE_ZERO; pOutput[i + 1] = CSAMPLE_ZERO; continue; } + // Smooth the level detector using attack/release envelope if (maxSample > state) { state = pState->attackCoeff * state + (1 - pState->attackCoeff) * maxSample; } else { state = pState->releaseCoeff * state + (1 - pState->releaseCoeff) * maxSample; } + // Convert current signal level to decibels double inputLevelDB = ratio2db(state); + + // Determine the appropriate gain based on the input level double desiredGainDB; if (inputLevelDB > upperKneeDB) { + // Above the knee range: apply full gain reduction desiredGainDB = targetLevelDB - inputLevelDB; } else if (inputLevelDB < lowerKneeDB) { + // Below the knee range: no gain applied desiredGainDB = 0.0; } else { + // Within the knee: interpolate gain smoothly double kneePosition = (inputLevelDB - lowerKneeDB) / kneeDB; desiredGainDB = (targetLevelDB - upperKneeDB) * kneePosition; } + // Limit the gain to the maximum allowed value desiredGainDB = std::min(desiredGainDB, maxGainDB); + // Convert gain from decibels to linear amplitude ratio CSAMPLE_GAIN gain = static_cast(db2ratio(desiredGainDB)); pOutput[i] = pInput[i] * gain; pOutput[i + 1] = pInput[i + 1] * gain; } + + // Store the envelope state for the next buffer pState->state = state; } From eb38c67c0b17d6b0677f9f9050b4f46c94b83184 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Sch=C3=BCrmann?= Date: Tue, 29 Apr 2025 21:18:03 +0200 Subject: [PATCH 041/181] Bump version to 2.7-alpha --- .tx/config | 2 +- CHANGELOG.md | 2 ++ CMakeLists.txt | 2 +- LICENSE | 2 +- res/linux/org.mixxx.Mixxx.metainfo.xml | 6 +++++- 5 files changed, 10 insertions(+), 4 deletions(-) diff --git a/.tx/config b/.tx/config index 2fec46c1f484..7b5c8801a000 100644 --- a/.tx/config +++ b/.tx/config @@ -1,7 +1,7 @@ [main] host = https://www.transifex.com -[o:mixxx-dj-software:p:mixxxdj:r:mixxx2-6] +[o:mixxx-dj-software:p:mixxxdj:r:mixxx2-7] file_filter = res/translations/mixxx_.ts source_file = res/translations/mixxx.ts source_lang = en diff --git a/CHANGELOG.md b/CHANGELOG.md index 026eb7895757..d8aab3227c48 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,7 @@ # Changelog +## [2.7.0](https://github.com/mixxxdj/mixxx/milestone/47) (Unreleased) + ## [2.6.0](https://github.com/mixxxdj/mixxx/milestone/44) (Unreleased) ### Controller Mappings diff --git a/CMakeLists.txt b/CMakeLists.txt index aca9cd1239f8..e9c9f2f1e6da 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -338,7 +338,7 @@ elseif(APPLE) endif() endif() -project(mixxx VERSION 2.6.0 LANGUAGES C CXX) +project(mixxx VERSION 2.7.0 LANGUAGES C CXX) # Work around missing version suffixes support https://gitlab.kitware.com/cmake/cmake/-/issues/16716 set(MIXXX_VERSION_PRERELEASE "alpha") # set to "alpha" "beta" or "" diff --git a/LICENSE b/LICENSE index a3ff5f714ce5..1bfecb19b6d8 100644 --- a/LICENSE +++ b/LICENSE @@ -1,4 +1,4 @@ -Mixxx 2.6-alpha, Digital DJ'ing software. +Mixxx 2.7-alpha, Digital DJ'ing software. Copyright (C) 2001-2025 Mixxx Development Team Mixxx is free software; you can redistribute it and/or modify diff --git a/res/linux/org.mixxx.Mixxx.metainfo.xml b/res/linux/org.mixxx.Mixxx.metainfo.xml index 59006b997e7c..5752aff313df 100644 --- a/res/linux/org.mixxx.Mixxx.metainfo.xml +++ b/res/linux/org.mixxx.Mixxx.metainfo.xml @@ -96,7 +96,11 @@ Do not edit it manually. --> - + + + + +

Controller Mappings From 15ed75b116367c9f5ded61bc21e4425725630ec3 Mon Sep 17 00:00:00 2001 From: ronso0 Date: Wed, 28 Feb 2024 13:08:52 +0100 Subject: [PATCH 042/181] View menu: add 'Show Auto DJ' action --- src/library/autodj/autodjfeature.cpp | 11 +++-------- src/library/autodj/autodjfeature.h | 1 + src/library/library.cpp | 14 ++++++++++++-- src/library/library.h | 6 +++++- src/mixxxmainwindow.cpp | 5 +++++ src/widget/wlibrary.cpp | 9 ++++----- src/widget/wmainmenubar.cpp | 14 ++++++++++++++ src/widget/wmainmenubar.h | 1 + 8 files changed, 45 insertions(+), 16 deletions(-) diff --git a/src/library/autodj/autodjfeature.cpp b/src/library/autodj/autodjfeature.cpp index a004dfa7f44c..03d745ef5490 100644 --- a/src/library/autodj/autodjfeature.cpp +++ b/src/library/autodj/autodjfeature.cpp @@ -22,12 +22,6 @@ #include "widget/wlibrary.h" #include "widget/wlibrarysidebar.h" -namespace { - -const QString kViewName = QStringLiteral("Auto DJ"); - -} // namespace - namespace { constexpr int kMaxRetrieveAttempts = 3; @@ -55,6 +49,7 @@ AutoDJFeature::AutoDJFeature(Library* pLibrary, m_pAutoDJProcessor(nullptr), m_pSidebarModel(make_parented(this)), m_pAutoDJView(nullptr), + m_viewName(Library::kAutoDJViewName), m_autoDjCratesDao(m_iAutoDJPlaylistId, pLibrary->trackCollectionManager(), m_pConfig) { qRegisterMetaType("AutoDJState"); m_pAutoDJProcessor = new AutoDJProcessor(this, @@ -152,7 +147,7 @@ void AutoDJFeature::bindLibraryWidget( m_pLibrary, m_pAutoDJProcessor, keyboard); - libraryWidget->registerView(kViewName, m_pAutoDJView); + libraryWidget->registerView(m_viewName, m_pAutoDJView); connect(m_pAutoDJView, &DlgAutoDJ::loadTrack, this, @@ -196,7 +191,7 @@ TreeItemModel* AutoDJFeature::sidebarModel() const { void AutoDJFeature::activate() { //qDebug() << "AutoDJFeature::activate()"; - emit switchToView(kViewName); + emit switchToView(m_viewName); emit disableSearch(); emit enableCoverArtDisplay(true); } diff --git a/src/library/autodj/autodjfeature.h b/src/library/autodj/autodjfeature.h index f17f44785039..53edd691426b 100644 --- a/src/library/autodj/autodjfeature.h +++ b/src/library/autodj/autodjfeature.h @@ -65,6 +65,7 @@ class AutoDJFeature : public LibraryFeature { AutoDJProcessor* m_pAutoDJProcessor; parented_ptr m_pSidebarModel; DlgAutoDJ* m_pAutoDJView; + const QString m_viewName; // Initialize the list of crates loaded into the auto-DJ queue. void constructCrateChildModel(); diff --git a/src/library/library.cpp b/src/library/library.cpp index 21f543399406..782f71a19608 100644 --- a/src/library/library.cpp +++ b/src/library/library.cpp @@ -51,7 +51,9 @@ using namespace mixxx::library::prefs; // This is the name which we use to register the WTrackTableView with the // WLibrary -const QString Library::m_sTrackViewName = QString("WTrackTableView"); +const QString Library::m_sTrackViewName = QStringLiteral("WTrackTableView"); + +const QString Library::kAutoDJViewName = QStringLiteral("Auto DJ"); // The default row height of the library. const int Library::kDefaultRowHeightPx = 20; @@ -71,6 +73,7 @@ Library::Library( m_pLibraryControl(make_parented(this)), m_pLibraryWidget(nullptr), m_pMixxxLibraryFeature(nullptr), + m_pAutoDJFeature(nullptr), m_pPlaylistFeature(nullptr), m_pCrateFeature(nullptr), m_pAnalysisFeature(nullptr) { @@ -98,7 +101,8 @@ Library::Library( Qt::DirectConnection /* signal-to-signal */); #endif - addFeature(new AutoDJFeature(this, m_pConfig, pPlayerManager)); + m_pAutoDJFeature = new AutoDJFeature(this, m_pConfig, pPlayerManager); + addFeature(m_pAutoDJFeature); m_pPlaylistFeature = new PlaylistFeature(this, UserSettingsPointer(m_pConfig)); addFeature(m_pPlaylistFeature); @@ -756,6 +760,12 @@ void Library::searchTracksInCollection(const QString& query) { m_pMixxxLibraryFeature->searchAndActivate(query); } +void Library::showAutoDJ() { + m_pAutoDJFeature->activate(); + emit switchToView(kAutoDJViewName); + m_pSidebarModel->slotFeatureSelect(m_pAutoDJFeature); +} + #ifdef __ENGINEPRIME__ std::unique_ptr Library::makeLibraryExporter( QWidget* parent) { diff --git a/src/library/library.h b/src/library/library.h index e4240aaf4686..8968a305f773 100644 --- a/src/library/library.h +++ b/src/library/library.h @@ -16,6 +16,7 @@ #include "util/parented_ptr.h" class AnalysisFeature; +class AutoDJFeature; class BrowseFeature; class ControlObject; class CrateFeature; @@ -105,6 +106,9 @@ class Library: public QObject { /// Triggers a new search in the internal track collection /// and shows the results by switching the view. void searchTracksInCollection(const QString& query); + void showAutoDJ(); + + static const QString kAutoDJViewName; bool requestAddDir(const QString& directory); bool requestRemoveDir(const QString& directory, LibraryRemovalType removalType); @@ -189,9 +193,9 @@ class Library: public QObject { QList m_features; const static QString m_sTrackViewName; - const static QString m_sAutoDJViewName; WLibrary* m_pLibraryWidget; MixxxLibraryFeature* m_pMixxxLibraryFeature; + AutoDJFeature* m_pAutoDJFeature; PlaylistFeature* m_pPlaylistFeature; CrateFeature* m_pCrateFeature; AnalysisFeature* m_pAnalysisFeature; diff --git a/src/mixxxmainwindow.cpp b/src/mixxxmainwindow.cpp index 4cda0aa7a57d..69d183e7554b 100644 --- a/src/mixxxmainwindow.cpp +++ b/src/mixxxmainwindow.cpp @@ -976,6 +976,11 @@ void MixxxMainWindow::connectMenuBar() { m_pCoreServices->getLibrary().get(), &Library::slotCreatePlaylist, Qt::UniqueConnection); + connect(m_pMenuBar, + &WMainMenuBar::showAutoDJ, + m_pCoreServices->getLibrary().get(), + &Library::showAutoDJ, + Qt::UniqueConnection); } #ifdef __ENGINEPRIME__ diff --git a/src/widget/wlibrary.cpp b/src/widget/wlibrary.cpp index dcc0390dde33..5520c0b3ce4f 100644 --- a/src/widget/wlibrary.cpp +++ b/src/widget/wlibrary.cpp @@ -55,9 +55,6 @@ void WLibrary::switchToView(const QString& name) { const auto lock = lockMutex(&m_mutex); //qDebug() << "WLibrary::switchToView" << name; - LibraryView* pOldLibrartView = dynamic_cast( - currentWidget()); - QWidget* pWidget = m_viewMap.value(name, nullptr); if (pWidget != nullptr) { LibraryView* pLibraryView = dynamic_cast(pWidget); @@ -68,8 +65,10 @@ void WLibrary::switchToView(const QString& name) { return; } if (currentWidget() != pWidget) { - if (pOldLibrartView) { - pOldLibrartView->saveCurrentViewState(); + LibraryView* pOldLibraryView = dynamic_cast( + currentWidget()); + if (pOldLibraryView) { + pOldLibraryView->saveCurrentViewState(); } //qDebug() << "WLibrary::setCurrentWidget" << name; setCurrentWidget(pWidget); diff --git a/src/widget/wmainmenubar.cpp b/src/widget/wmainmenubar.cpp index b22196815dfa..cac1b2f5b044 100644 --- a/src/widget/wmainmenubar.cpp +++ b/src/widget/wmainmenubar.cpp @@ -377,6 +377,20 @@ void WMainMenuBar::initialize() { pViewMenu->addSeparator(); + QString autoDJTitle = tr("Show Auto DJ"); + QString autoDJText = tr("Switch to the Auto DJ view."); + auto* pViewAutoDJ = new QAction(autoDJTitle, this); + // pViewAutoDJ->setShortcut(QKeySequence(m_pKbdConfig->getValue( + // ConfigKey("[KeyboardShortcuts]", "ViewMenu_ShowAutoDJ"), + // tr("Ctrl+9", "Menubar|View|Show Auto DJ")))); + pViewAutoDJ->setStatusTip(autoDJText); + pViewAutoDJ->setWhatsThis(buildWhatsThis(autoDJTitle, autoDJText)); + pViewAutoDJ->setCheckable(false); + connect(pViewAutoDJ, &QAction::triggered, this, &WMainMenuBar::showAutoDJ); + pViewMenu->addAction(pViewAutoDJ); + + pViewMenu->addSeparator(); + QString fullScreenTitle = tr("&Full Screen"); QString fullScreenText = tr("Display Mixxx using the full screen"); auto* pViewFullScreen = new QAction(fullScreenTitle, this); diff --git a/src/widget/wmainmenubar.h b/src/widget/wmainmenubar.h index dd9fafadbcee..385c9412c369 100644 --- a/src/widget/wmainmenubar.h +++ b/src/widget/wmainmenubar.h @@ -69,6 +69,7 @@ class WMainMenuBar : public QMenuBar { #endif void searchInCurrentView(); void searchInAllTracks(); + void showAutoDJ(); void showAbout(); void showKeywheel(bool visible); void showPreferences(); From cb3dd4aa1563e56e17094df7ac89f3a417e9fee9 Mon Sep 17 00:00:00 2001 From: ronso0 Date: Mon, 29 Jul 2024 13:19:15 +0200 Subject: [PATCH 043/181] Library: don't scroll when programmatically selecting AutoDJ --- src/library/library.cpp | 3 ++- src/library/libraryfeature.h | 2 +- src/library/sidebarmodel.cpp | 8 +++++--- src/library/sidebarmodel.h | 6 ++++-- src/widget/wlibrarysidebar.cpp | 16 +++++++++++++--- src/widget/wlibrarysidebar.h | 2 +- 6 files changed, 26 insertions(+), 11 deletions(-) diff --git a/src/library/library.cpp b/src/library/library.cpp index 782f71a19608..ab26cadbd36b 100644 --- a/src/library/library.cpp +++ b/src/library/library.cpp @@ -763,7 +763,8 @@ void Library::searchTracksInCollection(const QString& query) { void Library::showAutoDJ() { m_pAutoDJFeature->activate(); emit switchToView(kAutoDJViewName); - m_pSidebarModel->slotFeatureSelect(m_pAutoDJFeature); + // Select it but don't scroll there + m_pSidebarModel->slotFeatureSelect(m_pAutoDJFeature, QModelIndex(), false); } #ifdef __ENGINEPRIME__ diff --git a/src/library/libraryfeature.h b/src/library/libraryfeature.h index 3c0a204cc436..cfef22ea0569 100644 --- a/src/library/libraryfeature.h +++ b/src/library/libraryfeature.h @@ -165,7 +165,7 @@ class LibraryFeature : public QObject { // emit this signal if the foreign music collection has been imported/parsed. void featureLoadingFinished(LibraryFeature*s); // emit this signal to select pFeature - void featureSelect(LibraryFeature* pFeature, const QModelIndex& index); + void featureSelect(LibraryFeature* pFeature, const QModelIndex& index, bool scrollTo = true); // emit this signal to enable/disable the cover art widget void enableCoverArtDisplay(bool); void trackSelected(TrackPointer pTrack); diff --git a/src/library/sidebarmodel.cpp b/src/library/sidebarmodel.cpp index 2a43430a6913..d12e4b6d5d71 100644 --- a/src/library/sidebarmodel.cpp +++ b/src/library/sidebarmodel.cpp @@ -96,7 +96,7 @@ void SidebarModel::setDefaultSelection(unsigned int index) { void SidebarModel::activateDefaultSelection() { if (m_iDefaultSelectedIndex < static_cast(m_sFeatures.size())) { - emit selectIndex(getDefaultSelection()); + emit selectIndex(getDefaultSelection(), true /* scrollTo */); // Selecting an index does not activate it. m_sFeatures[m_iDefaultSelectedIndex]->activate(); } @@ -593,7 +593,9 @@ void SidebarModel::featureRenamed(LibraryFeature* pFeature) { } } -void SidebarModel::slotFeatureSelect(LibraryFeature* pFeature, const QModelIndex& featureIndex) { +void SidebarModel::slotFeatureSelect(LibraryFeature* pFeature, + const QModelIndex& featureIndex, + bool scrollTo) { QModelIndex ind; if (featureIndex.isValid()) { TreeItem* pTreeItem = static_cast(featureIndex.internalPointer()); @@ -606,5 +608,5 @@ void SidebarModel::slotFeatureSelect(LibraryFeature* pFeature, const QModelIndex } } } - emit selectIndex(ind); + emit selectIndex(ind, scrollTo); } diff --git a/src/library/sidebarmodel.h b/src/library/sidebarmodel.h index 60bd28c3029c..742bb0c28417 100644 --- a/src/library/sidebarmodel.h +++ b/src/library/sidebarmodel.h @@ -56,7 +56,9 @@ class SidebarModel : public QAbstractItemModel { void rightClicked(const QPoint& globalPos, const QModelIndex& index); void renameItem(const QModelIndex& index); void deleteItem(const QModelIndex& index); - void slotFeatureSelect(LibraryFeature* pFeature, const QModelIndex& index = QModelIndex()); + void slotFeatureSelect(LibraryFeature* pFeature, + const QModelIndex& index = QModelIndex(), + bool scrollTo = true); // Slots for every single QAbstractItemModel signal // void slotColumnsAboutToBeInserted(const QModelIndex& parent, int start, int end); @@ -79,7 +81,7 @@ class SidebarModel : public QAbstractItemModel { void slotFeatureLoadingFinished(LibraryFeature*); signals: - void selectIndex(const QModelIndex& index); + void selectIndex(const QModelIndex& index, bool scrollTo); private slots: void slotPressedUntilClickedTimeout(); diff --git a/src/widget/wlibrarysidebar.cpp b/src/widget/wlibrarysidebar.cpp index babe0714ac3d..fd0e9edcffa3 100644 --- a/src/widget/wlibrarysidebar.cpp +++ b/src/widget/wlibrarysidebar.cpp @@ -351,8 +351,8 @@ void WLibrarySidebar::focusInEvent(QFocusEvent* event) { QTreeView::focusInEvent(event); } -void WLibrarySidebar::selectIndex(const QModelIndex& index) { - //qDebug() << "WLibrarySidebar::selectIndex" << index; +void WLibrarySidebar::selectIndex(const QModelIndex& index, bool scrollToIndex) { + // qDebug() << "WLibrarySidebar::selectIndex" << index << scrollToIndex; if (!index.isValid()) { return; } @@ -365,8 +365,18 @@ void WLibrarySidebar::selectIndex(const QModelIndex& index) { expand(index.parent()); } setSelectionModel(pModel); + if (!scrollToIndex) { + // With auto-scroll enabled, setCurrentIndex() would scroll there. + // Disable (and re-enable if we don't want to scroll, e.g. when selecting + // AutoDJ from the menubar or during startup + setAutoScroll(false); + } setCurrentIndex(index); - scrollTo(index); + if (scrollToIndex) { + scrollTo(index); + } else { + setAutoScroll(true); + } } /// Selects a child index from a feature and ensures visibility diff --git a/src/widget/wlibrarysidebar.h b/src/widget/wlibrarysidebar.h index 2e092751ae66..a521df6e4d96 100644 --- a/src/widget/wlibrarysidebar.h +++ b/src/widget/wlibrarysidebar.h @@ -30,7 +30,7 @@ class WLibrarySidebar : public QTreeView, public WBaseWidget { bool isFeatureRootIndexSelected(LibraryFeature* pFeature); public slots: - void selectIndex(const QModelIndex&); + void selectIndex(const QModelIndex& index, bool scrollToIndex = true); void selectChildIndex(const QModelIndex&, bool selectItem = true); void slotSetFont(const QFont& font); From 6732312339e1ccfaa23f924dfff0695661cbd67e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Sch=C3=BCrmann?= Date: Wed, 7 May 2025 08:28:14 +0200 Subject: [PATCH 044/181] Update Translation template. Found 3213 source text(s) (16 new and 3197 already existing) --- res/translations/mixxx.ts | 354 ++++++++++++++++++++------------------ 1 file changed, 183 insertions(+), 171 deletions(-) diff --git a/res/translations/mixxx.ts b/res/translations/mixxx.ts index 864fce054d4c..549697e3eeb1 100644 --- a/res/translations/mixxx.ts +++ b/res/translations/mixxx.ts @@ -9545,57 +9545,57 @@ Shown when VuMeter can not be displayed. Please keep - + activate - + toggle - + right - + left - + right small - + left small - + up - + down - + up small - + down small - + Shortcut @@ -9668,22 +9668,22 @@ Aborting the operation to avoid library inconsistencies LibraryFeature - + Import Playlist - + Playlist Files (*.m3u *.m3u8 *.pls *.csv) - + Overwrite File? - + A playlist file with the name "%1" already exists. The default "m3u" extension was added because none was specified. @@ -9953,129 +9953,129 @@ Do you really want to overwrite it? - + Load track to Deck %1 - + Deck %1 is currently playing a track. - + Are you sure you want to load a new track? - + There is no input device selected for this vinyl control. Please select an input device in the sound hardware preferences first. - + There is no input device selected for this passthrough control. Please select an input device in the sound hardware preferences first. - + There is no input device selected for this microphone. Do you want to select an input device? - + There is no input device selected for this auxiliary. Do you want to select an input device? - + Scan took %1 - + No changes detected. - - + + %1 tracks in total - + %1 new tracks found - + %1 moved tracks detected - + %1 tracks are missing (%2 total) - + %1 tracks have been rediscovered - + Library scan finished - + Error in skin file - + The selected skin cannot be loaded. - + OpenGL Direct Rendering - + Direct rendering is not enabled on your machine.<br><br>This means that the waveform displays will be very<br><b>slow and may tax your CPU heavily</b>. Either update your<br>configuration to enable direct rendering, or disable<br>the waveform displays in the Mixxx preferences by selecting<br>"Empty" as the waveform display in the 'Interface' section. - - - + + + Confirm Exit - + A deck is currently playing. Exit Mixxx? - + A sampler is currently playing. Exit Mixxx? - + The preferences window is still open. - + Discard any changes and exit Mixxx? @@ -10097,7 +10097,7 @@ Do you want to select an input device? - + Playlists @@ -10112,27 +10112,27 @@ Do you want to select an input device? - + Playlists are ordered lists of tracks that allow you to plan your DJ sets. - + It may be necessary to skip some tracks in your prepared playlist or add some different tracks in order to maintain the energy of your audience. - + Some DJs construct playlists before they perform live, but others prefer to build them on-the-fly. - + When using a playlist during a live DJ set, remember to always pay close attention to how your audience reacts to the music you've chosen to play. - + Create New Playlist @@ -15504,323 +15504,353 @@ This can not be undone! - Create &New Playlist + Search in Current View... + Search for tracks in the current library view + + + + + Ctrl+f + + + + + Search in Tracks Library... + + + + + Search in the internal track collection under "Tracks" in the library + + + + + Ctrl+Shift+F + + + + + Create &New Playlist + + + + Create a new playlist - + Ctrl+n - + Create New &Crate - + Create a new crate - + Ctrl+Shift+N - - + + &View - + Auto-hide menu bar - + Auto-hide the main menu bar when it's not used. - + May not be supported on all skins. - + Show Skin Settings Menu - + Show the Skin Settings Menu of the currently selected Skin - + Ctrl+1 Menubar|View|Show Skin Settings - + Show Microphone Section - + Show the microphone section of the Mixxx interface. - + Ctrl+2 Menubar|View|Show Microphone Section - + Show Vinyl Control Section - + Show the vinyl control section of the Mixxx interface. - + Ctrl+3 Menubar|View|Show Vinyl Control Section - + Show Preview Deck - + Show the preview deck in the Mixxx interface. - + Ctrl+4 Menubar|View|Show Preview Deck - + Show Cover Art - + Show cover art in the Mixxx interface. - + Ctrl+6 Menubar|View|Show Cover Art - + Maximize Library - + Maximize the track library to take up all the available screen space. - + Space Menubar|View|Maximize Library - + &Full Screen - + Display Mixxx using the full screen - + &Options - + &Vinyl Control - + Use timecoded vinyls on external turntables to control Mixxx - + Enable Vinyl Control &%1 - + &Record Mix - + Record your mix to a file - + Ctrl+R - + Enable Live &Broadcasting - + Stream your mixes to a shoutcast or icecast server - + Ctrl+L - + Enable &Keyboard Shortcuts - + Toggles keyboard shortcuts on or off - + Ctrl+` - + &Preferences - + Change Mixxx settings (e.g. playback, MIDI, controls) - + &Developer - + &Reload Skin - + Reload the skin - + Ctrl+Shift+R - + Developer &Tools - + Opens the developer tools dialog - + Ctrl+Shift+T - + Stats: &Experiment Bucket - + Enables experiment mode. Collects stats in the EXPERIMENT tracking bucket. - + Ctrl+Shift+E - + Stats: &Base Bucket - + Enables base mode. Collects stats in the BASE tracking bucket. - + Ctrl+Shift+B - + Deb&ugger Enabled - + Enables the debugger during skin parsing - + Ctrl+Shift+D - + &Help - + Show Keywheel menu title @@ -15837,74 +15867,74 @@ This can not be undone! - + Show keywheel tooltip text - + F12 Menubar|View|Show Keywheel - + &Community Support - + Get help with Mixxx - + &User Manual - + Read the Mixxx user manual. - + &Keyboard Shortcuts - + Speed up your workflow with keyboard shortcuts. - + &Settings directory - + Open the Mixxx user settings directory. - + &Translate This Application - + Help translate this application into your language. - + &About - + About the application @@ -15939,25 +15969,13 @@ This can not be undone! WSearchLineEdit - - Clear input - Clear the search bar input field - - - - - Ctrl+F - Search|Focus - - - - + Search noun - + Clear input @@ -15968,92 +15986,86 @@ This can not be undone! - + Clear the search bar input field - - Enter a string to search for + + Return - - Use operators like bpm:115-128, artist:BooFar, -year:1990 + + Enter a string to search for. - - For more information see User Manual > Mixxx Library + + Use operators like bpm:115-128, artist:BooFar, -year:1990. - Shortcut + See User Manual > Mixxx Library for more information. - - Ctrl+F + + Focus/Select All (Search in current view) + Give search bar input focus - - Focus - Give search bar input focus + + Focus/Select All (Search in 'Tracks' library view) - - - Ctrl+Backspace + + Additional Shortcuts When Focused: - Shortcuts + Trigger search before search-as-you-type timeout or focus tracks view afterwards - Return + Esc or Ctrl+Return - Trigger search before search-as-you-type timeout orjump to tracks view afterwards + Immediately trigger search and focus tracks view + Exit search bar and leave focus - + Ctrl+Space - + Toggle search history Shows/hides the search history entries - + Delete or Backspace - - Delete query from history + + in search history - - Esc - - - - - Exit search - Exit search bar and leave focus + + Delete query from history From 097ff0f0311b7c42d6355e306abbe5624aeae2ea Mon Sep 17 00:00:00 2001 From: "Antoine C." Date: Wed, 7 May 2025 23:07:04 +0000 Subject: [PATCH 045/181] chore(pre-commit): upgrade qml_formatter to support JS chaining --- .pre-commit-config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 3b77b37d6090..f5aabe5b10bc 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -126,7 +126,7 @@ repos: - id: prettier types: [yaml] - repo: https://github.com/qarmin/qml_formatter.git - rev: 37c2513b1b8275a475a160ed2f5b044910335d5f # No release tag yet including #6 fix + rev: 16f651d727652dffff92678f4b602df9bfb45eb7 # No release tag yet including #7 fix hooks: - id: qml_formatter - repo: https://github.com/BlankSpruce/gersemi From 110a14c8745edf0cdb657ee481b9b3705ba81ea8 Mon Sep 17 00:00:00 2001 From: ronso0 Date: Thu, 8 May 2025 11:36:17 +0200 Subject: [PATCH 046/181] (fix) Tooltips: keep linebreak before kbd shortcut tooltips --- src/widget/wbasewidget.h | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/widget/wbasewidget.h b/src/widget/wbasewidget.h index 167e0cfd7185..744813a51a65 100644 --- a/src/widget/wbasewidget.h +++ b/src/widget/wbasewidget.h @@ -5,6 +5,8 @@ #include #include +#include "util/string.h" + class ControlWidgetPropertyConnection; class ControlParameterWidgetConnection; @@ -26,17 +28,17 @@ class WBaseWidget { } void appendBaseTooltip(const QString& tooltip) { - m_baseTooltip.append(tooltip.trimmed()); + m_baseTooltip.append(mixxx::removeTrailingWhitespaces(tooltip)); m_pWidget->setToolTip(m_baseTooltip); } void prependBaseTooltip(const QString& tooltip) { - m_baseTooltip.prepend(tooltip.trimmed()); + m_baseTooltip.prepend(mixxx::removeTrailingWhitespaces(tooltip)); m_pWidget->setToolTip(m_baseTooltip); } void setBaseTooltip(const QString& tooltip) { - m_baseTooltip = tooltip.trimmed(); + m_baseTooltip = mixxx::removeTrailingWhitespaces(tooltip); m_pWidget->setToolTip(m_baseTooltip); } From bc915c153b0374818c90be178494ac9545a13e4f Mon Sep 17 00:00:00 2001 From: "Antoine C." Date: Mon, 12 May 2025 18:40:53 +0000 Subject: [PATCH 047/181] chore: disable QML pre-commit hooks to prevent further data loss --- .pre-commit-config.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 3b77b37d6090..1eb8a69626a8 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -168,6 +168,8 @@ repos: language: system types: [text] files: ^.*\.qml$ + stages: + - manual - id: metainfo name: metainfo description: Update AppStream metainfo releases from CHANGELOG.md. From e7c8a79ee1c8273f926cc2488be813080f0ba319 Mon Sep 17 00:00:00 2001 From: "Antoine C." Date: Sun, 6 Apr 2025 22:13:19 +0000 Subject: [PATCH 048/181] feat: add QML setting popup --- CMakeLists.txt | 1 + res/qml/Button.qml | 164 +++++++---- res/qml/Settings.qml | 276 ++++++++++++++++++ res/qml/Settings/Analyzer.qml | 16 + res/qml/Settings/AutoDJ.qml | 16 + res/qml/Settings/Broadcast.qml | 16 + res/qml/Settings/Category.qml | 9 + res/qml/Settings/Controller.qml | 16 + res/qml/Settings/Interface.qml | 18 ++ res/qml/Settings/Library.qml | 16 + res/qml/Settings/MixerEffect.qml | 16 + res/qml/Settings/Recording.qml | 16 + res/qml/Settings/SoundHardware.qml | 64 ++++ res/qml/Settings/StatsPerformance.qml | 16 + res/qml/Theme/Theme.qml | 77 ++--- res/qml/images/gear.svg | 48 +++ res/qml/main.qml | 169 ++++++----- src/preferences/dialog/dlgprefinterface.cpp | 19 +- src/preferences/dialog/dlgprefinterface.h | 1 + src/preferences/dialog/dlgprefinterfacedlg.ui | 15 +- src/qml/qmlconfigproxy.cpp | 11 + src/qml/qmlconfigproxy.h | 1 + src/qml/qmlsettingparameter.cpp | 74 +++++ src/qml/qmlsettingparameter.h | 67 +++++ src/qml/qmlwaveformdisplay.cpp | 5 +- 25 files changed, 962 insertions(+), 185 deletions(-) create mode 100644 res/qml/Settings.qml create mode 100644 res/qml/Settings/Analyzer.qml create mode 100644 res/qml/Settings/AutoDJ.qml create mode 100644 res/qml/Settings/Broadcast.qml create mode 100644 res/qml/Settings/Category.qml create mode 100644 res/qml/Settings/Controller.qml create mode 100644 res/qml/Settings/Interface.qml create mode 100644 res/qml/Settings/Library.qml create mode 100644 res/qml/Settings/MixerEffect.qml create mode 100644 res/qml/Settings/Recording.qml create mode 100644 res/qml/Settings/SoundHardware.qml create mode 100644 res/qml/Settings/StatsPerformance.qml create mode 100644 res/qml/images/gear.svg create mode 100644 src/qml/qmlsettingparameter.cpp create mode 100644 src/qml/qmlsettingparameter.h diff --git a/CMakeLists.txt b/CMakeLists.txt index da2189c64279..4327eccb44bb 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -3452,6 +3452,7 @@ if(QML) src/qml/qmlmixxxcontrollerscreen.cpp src/qml/qmlwaveformdisplay.cpp src/qml/qmlwaveformrenderer.cpp + src/qml/qmlsettingparameter.cpp src/waveform/renderers/allshader/digitsrenderer.cpp src/waveform/renderers/allshader/waveformrenderbeat.cpp src/waveform/renderers/allshader/waveformrenderer.cpp diff --git a/res/qml/Button.qml b/res/qml/Button.qml index c01dd33c48d1..d9143853d4d7 100644 --- a/res/qml/Button.qml +++ b/res/qml/Button.qml @@ -6,116 +6,152 @@ import "Theme" AbstractButton { id: root - property color normalColor: Theme.buttonNormalColor required property color activeColor - property color pressedColor: activeColor property bool highlight: false + property color normalColor: Theme.buttonNormalColor + property color pressedColor: activeColor - implicitWidth: 52 implicitHeight: 26 + implicitWidth: 52 + + background: Item { + anchors.fill: parent + + Rectangle { + id: backgroundImage + anchors.fill: parent + color: Theme.darkGray2 + radius: 0 + } + InnerShadow { + id: bottomInnerEffect + anchors.fill: parent + color: "transparent" + horizontalOffset: -1 + radius: 8 + samples: 16 + source: backgroundImage + spread: 0.3 + verticalOffset: -1 + } + InnerShadow { + id: topInnerEffect + anchors.fill: parent + color: "transparent" + horizontalOffset: 1 + radius: 8 + samples: 16 + source: bottomInnerEffect + spread: 0.3 + verticalOffset: 1 + } + DropShadow { + id: dropEffect + anchors.fill: parent + color: Theme.darkGray + horizontalOffset: 0 + radius: 4.0 + source: topInnerEffect + verticalOffset: 0 + } + } + contentItem: Item { + anchors.fill: parent + + Glow { + id: labelGlow + anchors.fill: parent + color: label.color + radius: 1 + source: label + spread: 0.1 + } + Label { + id: label + anchors.fill: parent + color: root.normalColor + font.bold: true + font.capitalization: Font.AllUppercase + font.family: Theme.fontFamily + font.pixelSize: Theme.buttonFontPixelSize + horizontalAlignment: Text.AlignHCenter + text: root.text + verticalAlignment: Text.AlignVCenter + visible: root.text != null + } + Image { + id: image + anchors.centerIn: parent + asynchronous: true + fillMode: Image.PreserveAspectFit + height: icon.height + source: icon.source + visible: false + width: icon.width + } + ColorOverlay { + anchors.fill: image + antialiasing: true + color: root.normalColor + source: image + visible: icon.source != null + } + } states: [ State { name: "pressed" when: root.pressed PropertyChanges { + color: root.checked ? Theme.accentColor : Theme.darkGray3 target: backgroundImage - source: Theme.imgButtonPressed } - PropertyChanges { - target: label color: root.pressedColor + target: label } - PropertyChanges { target: labelGlow visible: true } - }, State { name: "active" when: (root.highlight || root.checked) && !root.pressed PropertyChanges { + color: Theme.accentColor target: backgroundImage - source: Theme.imgButton } - PropertyChanges { - target: label color: root.activeColor + target: label } - PropertyChanges { target: labelGlow visible: true } - + PropertyChanges { + color: Qt.darker(Theme.accentColor, 3) + target: bottomInnerEffect + } + PropertyChanges { + color: Qt.darker(Theme.accentColor, 3) + target: topInnerEffect + } }, State { name: "inactive" when: !root.checked && !root.highlight && !root.pressed PropertyChanges { - target: backgroundImage - source: Theme.imgButton - } - - PropertyChanges { - target: label color: root.normalColor + target: label } - PropertyChanges { target: labelGlow visible: false } } ] - - background: BorderImage { - id: backgroundImage - - anchors.fill: parent - horizontalTileMode: BorderImage.Stretch - verticalTileMode: BorderImage.Stretch - source: Theme.imgButton - - border { - top: 10 - left: 10 - right: 10 - bottom: 10 - } - } - - contentItem: Item { - anchors.fill: parent - - Glow { - id: labelGlow - - anchors.fill: parent - radius: 5 - spread: 0.1 - color: label.color - source: label - } - - Label { - id: label - - anchors.fill: parent - text: root.text - horizontalAlignment: Text.AlignHCenter - verticalAlignment: Text.AlignVCenter - font.family: Theme.fontFamily - font.capitalization: Font.AllUppercase - font.bold: true - font.pixelSize: Theme.buttonFontPixelSize - color: root.normalColor - } - } } diff --git a/res/qml/Settings.qml b/res/qml/Settings.qml new file mode 100644 index 000000000000..8a9d39eb9a96 --- /dev/null +++ b/res/qml/Settings.qml @@ -0,0 +1,276 @@ +import "." as Skin +import Mixxx 1.0 as Mixxx +import QtQuick 2.12 +import QtQuick.Controls +import QtQuick.Layouts +import QtQuick.Shapes +import Qt5Compat.GraphicalEffects +import "Theme" + +Popup { + id: root + + property int activeCategoryIndex: 0 + property list sections: ["SoundHardware", "Library", "Controller", "Interface", "MixerEffect", "AutoDJ", "Broadcast", "Recording", "Analyzer", "StatsPerformance"] + + readonly property var manager: managerItem + + background: Rectangle { + anchors.fill: parent + color: Theme.darkGray2 + opacity: parent.radius < 0 ? Math.max(0.1, 1 + parent.radius / 8) : 1 + radius: 8 + } + contentItem: Item { + anchors.centerIn: parent + height: parent.height - 40 + width: parent.width - 40 + + RowLayout { + anchors.fill: parent + spacing: 0 + + Rectangle { + Layout.fillHeight: true + Layout.preferredWidth: 280 + border.color: Theme.darkGray3 + border.width: 6 + color: Theme.darkGray + + ColumnLayout { + anchors.fill: parent + anchors.margins: 6 + spacing: 0 + + Rectangle { + id: searchSetting + + property bool active: false + property alias input: searchInput + + Layout.fillWidth: true + color: Theme.midGray + height: 30 + + Text { + id: searchInputPlaceholder + anchors.verticalCenter: parent.verticalCenter + color: Theme.white + text: 'Search...' + visible: !parent.active + } + TextInput { + id: searchInput + anchors.verticalCenter: parent.verticalCenter + visible: parent.active + width: parent.width + + onActiveFocusChanged: { + parent.active = activeFocus; + } + onTextEdited: { + root.manager.search(text); + } + } + TapHandler { + onTapped: { + parent.active = true; + searchInput.forceActiveFocus(); + } + } + } + ListView { + id: categoryList + Layout.fillHeight: true + Layout.fillWidth: true + clip: true + focus: true + model: sectionProperties + visible: !searchSetting.active + + delegate: Rectangle { + required property int index + required property var label + + color: ListView.isCurrentItem ? Theme.darkGray3 : Theme.darkGray2 + height: 38 + width: ListView.view.width + + Image { + id: handleImage + anchors.left: parent.left + anchors.leftMargin: 8 + anchors.verticalCenter: parent.verticalCenter + fillMode: Image.PreserveAspectFit + height: 24 + source: "images/gear.svg" + visible: false + } + ColorOverlay { + anchors.fill: handleImage + antialiasing: true + color: parent.ListView.isCurrentItem ? Theme.accentColor : Theme.midGray + source: handleImage + } + Text { + anchors.left: handleImage.right + anchors.leftMargin: 8 + anchors.verticalCenter: parent.verticalCenter + color: Theme.white + font.bold: parent.ListView.isCurrentItem + text: label + } + TapHandler { + onTapped: { + categoryList.currentIndex = index; + } + } + } + } + ListView { + id: settingResultList + Layout.fillHeight: true + Layout.fillWidth: true + clip: true + focus: true + model: root.manager.model + visible: searchSetting.active + + delegate: Rectangle { + required property var display + required property int index + required property var toolTip + required property var whatsThis + + color: Theme.darkGray2 + height: 40 + width: ListView.view.width + + ColumnLayout { + anchors.fill: parent + anchors.margins: 4 + + Text { + Layout.fillWidth: true + Layout.preferredHeight: implicitHeight + color: Theme.white + text: searchSetting.input.text ? display.replace(searchSetting.input.text, `${searchSetting.input.text}`) : display + textFormat: Text.RichText + } + Text { + Layout.fillWidth: true + Layout.preferredHeight: implicitHeight + color: Theme.midGray + font.pixelSize: 10 + text: searchSetting.input.text ? whatsThis.replace(searchSetting.input.text, `${searchSetting.input.text}`) : whatsThis + textFormat: Text.RichText + } + } + TapHandler { + onTapped: { + for (let setting of toolTip) { + setting.activated(); + } + parent.forceActiveFocus(); + } + } + } + } + } + } + ColumnLayout { + Layout.fillHeight: true + Layout.fillWidth: true + + Text { + Layout.alignment: Qt.AlignHCenter + Layout.preferredHeight: 36 + color: Theme.white + font.pixelSize: 16 + font.weight: Font.DemiBold + text: "Settings" + } + Rectangle { + id: tabBar + + readonly property var categoryItem: categoriesLoader.itemAt(categoryList.currentIndex) ? categoriesLoader.itemAt(categoryList.currentIndex).item : null + readonly property int selectedIndex: categoryItem && categoryItem.selectedIndex !== undefined ? categoryItem.selectedIndex : 0 + readonly property var tabs: categoryItem ? categoryItem.tabs : [] + + Layout.fillWidth: true + Layout.preferredHeight: 30 + color: Theme.darkGray3 + visible: tabs?.length > 0 + + RowLayout { + anchors.fill: parent + + Repeater { + model: tabBar.tabs + + Skin.Button { + required property int index + required property string modelData + + Layout.alignment: Qt.AlignHCenter + Layout.preferredHeight: 22 + Layout.preferredWidth: parent.width / (tabBar.tabs.length + 2) + activeColor: Theme.white + checked: tabBar.selectedIndex == index + text: modelData + + onPressed: { + categoriesLoader.itemAt(categoryList.currentIndex).item.selectedIndex = index; + } + } + } + } + } + + Mixxx.SettingParameterManager { + id: managerItem + Layout.fillHeight: true + Layout.fillWidth: true + Layout.leftMargin: 20 + + Repeater { + id: categoriesLoader + model: root.sections + + Loader { + id: category + + required property int index + required property var modelData + + anchors.fill: parent + source: `Settings/${modelData}.qml` + visible: categoryList.currentIndex == index + + // asynchronous: true // Unsupported + onLoaded: { + for (let i = sectionProperties.count; i < index; i++) + sectionProperties.append({}); + sectionProperties.set(index, { + "label": category.item.label + }); + } + + Connections { + function onActivated() { + categoryList.currentIndex = index; + } + + target: category.item + } + } + } + } + } + } + } + + ListModel { + id: sectionProperties + } +} diff --git a/res/qml/Settings/Analyzer.qml b/res/qml/Settings/Analyzer.qml new file mode 100644 index 000000000000..f56980a576e9 --- /dev/null +++ b/res/qml/Settings/Analyzer.qml @@ -0,0 +1,16 @@ +import QtQuick +import Mixxx 1.0 as Mixxx + +Category { + label: "Analyzer" + + Mixxx.SettingParameter { + label: "A grey square" + + Rectangle { + color: 'grey' + height: 20 + width: 20 + } + } +} diff --git a/res/qml/Settings/AutoDJ.qml b/res/qml/Settings/AutoDJ.qml new file mode 100644 index 000000000000..a8dd46caea76 --- /dev/null +++ b/res/qml/Settings/AutoDJ.qml @@ -0,0 +1,16 @@ +import QtQuick +import Mixxx 1.0 as Mixxx + +Category { + label: "AutoDJ" + + Mixxx.SettingParameter { + label: "A black square" + + Rectangle { + color: 'black' + height: 20 + width: 20 + } + } +} diff --git a/res/qml/Settings/Broadcast.qml b/res/qml/Settings/Broadcast.qml new file mode 100644 index 000000000000..d8150886807e --- /dev/null +++ b/res/qml/Settings/Broadcast.qml @@ -0,0 +1,16 @@ +import QtQuick +import Mixxx 1.0 as Mixxx + +Category { + label: "Broadcast" + + Mixxx.SettingParameter { + label: "A yellow square" + + Rectangle { + color: 'yellow' + height: 20 + width: 20 + } + } +} diff --git a/res/qml/Settings/Category.qml b/res/qml/Settings/Category.qml new file mode 100644 index 000000000000..16d232cb12a6 --- /dev/null +++ b/res/qml/Settings/Category.qml @@ -0,0 +1,9 @@ +import QtQuick +import Mixxx 1.0 as Mixxx + +Mixxx.SettingGroup { + id: root + + property int selectedIndex: 0 + property list tabs: [] +} diff --git a/res/qml/Settings/Controller.qml b/res/qml/Settings/Controller.qml new file mode 100644 index 000000000000..1023da91d3b6 --- /dev/null +++ b/res/qml/Settings/Controller.qml @@ -0,0 +1,16 @@ +import QtQuick +import Mixxx 1.0 as Mixxx + +Category { + label: "Controllers" + + Mixxx.SettingParameter { + label: "A orange square" + + Rectangle { + color: 'orange' + height: 20 + width: 20 + } + } +} diff --git a/res/qml/Settings/Interface.qml b/res/qml/Settings/Interface.qml new file mode 100644 index 000000000000..848da7fe71bb --- /dev/null +++ b/res/qml/Settings/Interface.qml @@ -0,0 +1,18 @@ +import QtQuick +import Mixxx 1.0 as Mixxx + +Category { + tabs: ["theme & colour", "waveform", "decks"] + + label: "Interface" + + Mixxx.SettingParameter { + label: "A pink square" + + Rectangle { + color: 'pink' + height: 20 + width: 20 + } + } +} diff --git a/res/qml/Settings/Library.qml b/res/qml/Settings/Library.qml new file mode 100644 index 000000000000..1ca75978c25e --- /dev/null +++ b/res/qml/Settings/Library.qml @@ -0,0 +1,16 @@ +import QtQuick +import Mixxx 1.0 as Mixxx + +Category { + label: "Library" + + Mixxx.SettingParameter { + label: "A blue square" + + Rectangle { + color: 'blue' + height: 20 + width: 20 + } + } +} diff --git a/res/qml/Settings/MixerEffect.qml b/res/qml/Settings/MixerEffect.qml new file mode 100644 index 000000000000..3be92fc7c17f --- /dev/null +++ b/res/qml/Settings/MixerEffect.qml @@ -0,0 +1,16 @@ +import QtQuick +import Mixxx 1.0 as Mixxx + +Category { + label: "Mixer & Effects" + + Mixxx.SettingParameter { + label: "A green square" + + Rectangle { + color: 'green' + height: 20 + width: 20 + } + } +} diff --git a/res/qml/Settings/Recording.qml b/res/qml/Settings/Recording.qml new file mode 100644 index 000000000000..16ac87057aae --- /dev/null +++ b/res/qml/Settings/Recording.qml @@ -0,0 +1,16 @@ +import QtQuick +import Mixxx 1.0 as Mixxx + +Category { + label: "Recording" + + Mixxx.SettingParameter { + label: "A red square" + + Rectangle { + color: 'red' + height: 20 + width: 20 + } + } +} diff --git a/res/qml/Settings/SoundHardware.qml b/res/qml/Settings/SoundHardware.qml new file mode 100644 index 000000000000..b1b6f70c9de2 --- /dev/null +++ b/res/qml/Settings/SoundHardware.qml @@ -0,0 +1,64 @@ +import QtQuick +import Mixxx 1.0 as Mixxx + +Category { + id: root + + label: "Sound hardware" + tabs: ["engine", "delays", "stats"] + + Mixxx.SettingGroup { + label: "Engine" + visible: root.selectedIndex == 0 + + onActivated: { + root.selectedIndex = 0; + } + + Mixxx.SettingParameter { + label: "A cyan square" + + Rectangle { + color: 'cyan' + height: 20 + width: 20 + } + } + } + Mixxx.SettingGroup { + label: "Delays" + visible: root.selectedIndex == 1 + + onActivated: { + root.selectedIndex = 1; + } + + Mixxx.SettingParameter { + label: "A magenta square" + + Rectangle { + color: 'magenta' + height: 20 + width: 20 + } + } + } + Mixxx.SettingGroup { + label: "Stats" + visible: root.selectedIndex == 2 + + onActivated: { + root.selectedIndex = 2; + } + + Mixxx.SettingParameter { + label: "A white square" + + Rectangle { + color: 'white' + height: 20 + width: 20 + } + } + } +} diff --git a/res/qml/Settings/StatsPerformance.qml b/res/qml/Settings/StatsPerformance.qml new file mode 100644 index 000000000000..a61b68730339 --- /dev/null +++ b/res/qml/Settings/StatsPerformance.qml @@ -0,0 +1,16 @@ +import QtQuick +import Mixxx 1.0 as Mixxx + +Category { + label: "Stats & Performance" + + Mixxx.SettingParameter { + label: "A grey square" + + Rectangle { + color: 'grey' + height: 20 + width: 20 + } + } +} diff --git a/res/qml/Theme/Theme.qml b/res/qml/Theme/Theme.qml index ca1b4d498e51..375911fcd0e8 100644 --- a/res/qml/Theme/Theme.qml +++ b/res/qml/Theme/Theme.qml @@ -2,65 +2,68 @@ import QtQuick 2.12 pragma Singleton QtObject { - property color white: "#e3d7fb" - property color yellow: "#fca001" - property color red: "#ea2a4e" + property color accentColor: "#3a60be" + property color backgroundColor: "#1e1e20" property color blue: "#01dcfc" - property color green: "#85c85b" - property color lightGray: "#747474" - property color lightGray2: "#b0b0b0" - property color midGray: "#696969" - property color darkGray: "#0f0f0f" - property color darkGray2: "#2e2e2e" - property color eqHighColor: white - property color eqMidColor: white - property color eqLowColor: white - property color eqFxColor: red - property color effectColor: yellow - property color effectUnitColor: red property color bpmSliderBarColor: green - property color volumeSliderBarColor: blue - property color gainKnobColor: blue - property color samplerColor: blue - property color crossfaderOrientationColor: lightGray + property color buttonNormalColor: midGray property color crossfaderBarColor: red - property color toolbarBackgroundColor: darkGray2 - property color pflActiveButtonColor: blue - property color backgroundColor: "#1e1e20" + property color crossfaderOrientationColor: lightGray + property color darkGray: "#0f0f0f" + property color darkGray2: "#2e2e2e" + property color darkGray3: "#3F3F3F" property color deckActiveColor: green property color deckBackgroundColor: darkGray - property color knobBackgroundColor: "#262626" property color deckLineColor: darkGray2 property color deckTextColor: lightGray2 + property color effectColor: yellow + property color effectUnitColor: red property color embeddedBackgroundColor: "#a0000000" - property color buttonNormalColor: midGray + property color eqFxColor: red + property color eqHighColor: white + property color eqLowColor: white + property color eqMidColor: white + property color gainKnobColor: blue + property color green: "#85c85b" + property color knobBackgroundColor: "#262626" + property color lightGray: "#747474" + property color lightGray2: "#b0b0b0" + property color midGray: "#696969" + property color pflActiveButtonColor: blue + property color red: "#ea2a4e" + property color samplerColor: blue property color textColor: lightGray2 property color toolbarActiveColor: white - property color waveformPrerollColor: midGray - property color waveformPostrollColor: midGray + property color toolbarBackgroundColor: darkGray2 + property color volumeSliderBarColor: blue + property color warningColor: "#7D3B3B" property color waveformBeatColor: lightGray property color waveformCursorColor: white property color waveformMarkerDefault: '#ff7a01' - property color waveformMarkerLabel: Qt.rgba(255, 255, 255, 0.8) property color waveformMarkerIntroOutroColor: '#2c5c9a' + property color waveformMarkerLabel: Qt.rgba(255, 255, 255, 0.8) property color waveformMarkerLoopColor: '#00b400' property color waveformMarkerLoopColorDisabled: '#FFFFFF' - property string fontFamily: "Open Sans" - property int textFontPixelSize: 14 + property color waveformPostrollColor: midGray + property color waveformPrerollColor: midGray + property color white: "#D9D9D9" + property color yellow: "#fca001" property int buttonFontPixelSize: 10 + property int textFontPixelSize: 14 + property string fontFamily: "Open Sans" + property string imgBpmSliderBackground: "images/slider_bpm.svg" property string imgButton: "images/button.svg" property string imgButtonPressed: "images/button_pressed.svg" - property string imgSliderHandle: "images/slider_handle.svg" - property string imgBpmSliderBackground: "images/slider_bpm.svg" - property string imgVolumeSliderBackground: "images/slider_volume.svg" - property string imgCrossfaderHandle: "images/slider_handle_crossfader.svg" property string imgCrossfaderBackground: "images/slider_crossfader.svg" - property string imgMicDuckingSliderHandle: "images/slider_handle_micducking.svg" - property string imgMicDuckingSlider: "images/slider_micducking.svg" - property string imgPopupBackground: imgButton + property string imgCrossfaderHandle: "images/slider_handle_crossfader.svg" property string imgKnob: "images/knob.svg" - property string imgKnobShadow: "images/knob_shadow.svg" property string imgKnobMini: "images/miniknob.svg" property string imgKnobMiniShadow: "images/miniknob_shadow.svg" + property string imgKnobShadow: "images/knob_shadow.svg" + property string imgMicDuckingSlider: "images/slider_micducking.svg" + property string imgMicDuckingSliderHandle: "images/slider_handle_micducking.svg" + property string imgPopupBackground: imgButton property string imgSectionBackground: "images/section.svg" + property string imgSliderHandle: "images/slider_handle.svg" + property string imgVolumeSliderBackground: "images/slider_volume.svg" } diff --git a/res/qml/images/gear.svg b/res/qml/images/gear.svg new file mode 100644 index 000000000000..c4f6cebc1aaa --- /dev/null +++ b/res/qml/images/gear.svg @@ -0,0 +1,48 @@ + + + + + + + + + + + diff --git a/res/qml/main.qml b/res/qml/main.qml index ced85a02856e..f79470440c41 100644 --- a/res/qml/main.qml +++ b/res/qml/main.qml @@ -1,86 +1,79 @@ import "." as Skin import Mixxx 1.0 as Mixxx import QtQuick 2.12 -import QtQuick.Controls 2.12 +import QtQuick.Controls +import QtQuick.Layouts +import Qt5Compat.GraphicalEffects import "Theme" ApplicationWindow { id: root + property alias maximizeLibrary: maximizeLibraryButton.checked property alias show4decks: show4DecksButton.checked property alias showEffects: showEffectsButton.checked property alias showSamplers: showSamplersButton.checked - property alias maximizeLibrary: maximizeLibraryButton.checked - width: 1920 - height: 1080 color: Theme.backgroundColor + height: 1080 visible: true + width: 1920 Column { + id: content anchors.fill: parent + move: Transition { + NumberAnimation { + duration: 150 + properties: "x,y" + } + } + Rectangle { id: toolbar - - width: parent.width - height: 36 color: Theme.toolbarBackgroundColor + height: 36 radius: 1 + width: parent.width - Row { - padding: 5 - spacing: 5 + RowLayout { + anchors.fill: parent Skin.Button { id: show4DecksButton - - text: "4 Decks" activeColor: Theme.white checkable: true + text: "4 Decks" } - Skin.Button { id: maximizeLibraryButton - - text: "Library" activeColor: Theme.white checkable: true + text: "Library" } - Skin.Button { id: showEffectsButton - - text: "Effects" activeColor: Theme.white checkable: true + text: "Effects" } - Skin.Button { id: showSamplersButton - - text: "Sampler" activeColor: Theme.white checkable: true + text: "Sampler" } - - Skin.Button { - id: showPreferencesButton - - text: "Prefs" - activeColor: Theme.white - onClicked: { - Mixxx.PreferencesDialog.show(); - } + Item { + Layout.fillWidth: true } - Skin.Button { id: showDevToolsButton - - text: "Develop" activeColor: Theme.white checkable: true checked: devToolsWindow.visible + text: "Develop" + onClicked: { if (devToolsWindow.visible) devToolsWindow.close(); @@ -90,132 +83,152 @@ ApplicationWindow { DeveloperToolsWindow { id: devToolsWindow - - width: 640 height: 480 + width: 640 + } + } + Skin.Button { + id: showPreferencesButton + activeColor: Theme.white + checked: settingsPopup.opened + icon.height: 16 + icon.source: "images/gear.svg" + icon.width: 16 + implicitWidth: implicitHeight + + onClicked: { + if (!settingsPopup.opened) { + settingsPopup.open(); + } + } + onPressAndHold: { + Mixxx.PreferencesDialog.show(); } } } } - Skin.WaveformDisplay { id: deck3waveform - group: "[Channel3]" - width: root.width height: 120 visible: root.show4decks && !root.maximizeLibrary + width: root.width - FadeBehavior on visible { + FadeBehavior on visible { fadeTarget: deck3waveform } } - Skin.WaveformDisplay { id: deck1waveform - group: "[Channel1]" - width: root.width height: 120 visible: !root.maximizeLibrary + width: root.width - FadeBehavior on visible { + FadeBehavior on visible { fadeTarget: deck1waveform } } - Skin.WaveformDisplay { id: deck2waveform - group: "[Channel2]" - width: root.width height: 120 visible: !root.maximizeLibrary + width: root.width - FadeBehavior on visible { + FadeBehavior on visible { fadeTarget: deck2waveform } } - Skin.WaveformDisplay { id: deck4waveform - group: "[Channel4]" - width: root.width height: 120 visible: root.show4decks && !root.maximizeLibrary + width: root.width - FadeBehavior on visible { + FadeBehavior on visible { fadeTarget: deck4waveform } } - Skin.DeckRow { id: decks12 - leftDeckGroup: "[Channel1]" + minimized: root.maximizeLibrary rightDeckGroup: "[Channel2]" width: parent.width - minimized: root.maximizeLibrary } - Skin.CrossfaderRow { id: crossfader - crossfaderWidth: decks12.mixer.width - width: parent.width visible: !root.maximizeLibrary + width: parent.width - Skin.FadeBehavior on visible { + Skin.FadeBehavior on visible { fadeTarget: crossfader } } - Skin.DeckRow { id: decks34 - leftDeckGroup: "[Channel3]" - rightDeckGroup: "[Channel4]" - width: parent.width minimized: root.maximizeLibrary + rightDeckGroup: "[Channel4]" visible: root.show4decks + width: parent.width - Skin.FadeBehavior on visible { + Skin.FadeBehavior on visible { fadeTarget: decks34 } } - Skin.SamplerRow { id: samplers - - width: parent.width visible: root.showSamplers + width: parent.width - Skin.FadeBehavior on visible { + Skin.FadeBehavior on visible { fadeTarget: samplers } } - Skin.EffectRow { id: effects - - width: parent.width visible: root.showEffects + width: parent.width - Skin.FadeBehavior on visible { + Skin.FadeBehavior on visible { fadeTarget: effects } } - Skin.Library { - width: parent.width height: parent.height - y + width: parent.width } - - move: Transition { - NumberAnimation { - properties: "x,y" - duration: 150 + } + Skin.Settings { + id: settingsPopup + height: Math.max(840, parent.height * 0.7) + modal: true + width: Math.max(1400, parent.width * 0.8) + x: Math.round((parent.width - width) / 2) + y: Math.round((parent.height - height) / 2) + + Overlay.modal: Rectangle { + id: overlayModal + property real radius: 12 + + readonly property bool hasHardwareAcceleration: Mixxx.Config.useAcceleration() + + anchors.fill: parent + color: Qt.alpha('#00000010', hasHardwareAcceleration ? 1.0 : 0.6) + + Repeater { + model: hasHardwareAcceleration ? 1 : 0 + GaussianBlur { + anchors.fill: overlayModal + deviation: 4 + radius: Math.max(0, overlayModal.radius) + samples: 16 + source: content + } } } } diff --git a/src/preferences/dialog/dlgprefinterface.cpp b/src/preferences/dialog/dlgprefinterface.cpp index 7cdc67e86a19..c025939a9857 100644 --- a/src/preferences/dialog/dlgprefinterface.cpp +++ b/src/preferences/dialog/dlgprefinterface.cpp @@ -36,6 +36,7 @@ const QString kResizableSkinKey = QStringLiteral("ResizableSkin"); const QString kLocaleKey = QStringLiteral("Locale"); const QString kTooltipsKey = QStringLiteral("Tooltips"); const QString kMultiSamplingKey = QStringLiteral("multi_sampling"); +const QString kForceHardwareAccelerationKey = QStringLiteral("force_hardware_acceleration"); const QString kHideMenuBarKey = QStringLiteral("hide_menubar"); // TODO move these to a common *_defs.h file, some are also used by e.g. MixxxMainWindow @@ -206,6 +207,9 @@ DlgPrefInterface::DlgPrefInterface( m_multiSampling = m_pConfig->getValue( ConfigKey(kPreferencesGroup, kMultiSamplingKey), mixxx::preferences::MultiSamplingMode::Four); + m_forceHardwareAcceleration = m_pConfig->getValue( + ConfigKey(kPreferencesGroup, kForceHardwareAccelerationKey), + false); int multiSamplingIndex = multiSamplingComboBox->findData( QVariant::fromValue((m_multiSampling))); if (multiSamplingIndex != -1) { @@ -223,6 +227,7 @@ DlgPrefInterface::DlgPrefInterface( #endif multiSamplingLabel->hide(); multiSamplingComboBox->hide(); + checkBoxForceHardwareAcceleration->hide(); } // Tooltip configuration @@ -358,6 +363,8 @@ void DlgPrefInterface::slotResetToDefaults() { multiSamplingComboBox->setCurrentIndex( multiSamplingComboBox->findData(QVariant::fromValue( mixxx::preferences::MultiSamplingMode::Four))); // 4x MSAA + checkBoxForceHardwareAcceleration->setChecked( + false); #endif #ifdef Q_OS_IOS @@ -489,11 +496,20 @@ void DlgPrefInterface::slotApply() { .value(); m_pConfig->setValue( ConfigKey(kPreferencesGroup, kMultiSamplingKey), multiSampling); + bool forceHardwareAcceleration = checkBoxForceHardwareAcceleration->isChecked(); + if (m_pConfig->exists( + ConfigKey(kPreferencesGroup, kForceHardwareAccelerationKey)) || + forceHardwareAcceleration) { + m_pConfig->setValue( + ConfigKey(kPreferencesGroup, kForceHardwareAccelerationKey), + forceHardwareAcceleration); + } #endif if (locale != m_localeOnUpdate || scaleFactor != m_dScaleFactor #ifdef MIXXX_USE_QML - || multiSampling != m_multiSampling + || multiSampling != m_multiSampling || + forceHardwareAcceleration != m_forceHardwareAcceleration #endif ) { notifyRebootNecessary(); @@ -502,6 +518,7 @@ void DlgPrefInterface::slotApply() { m_dScaleFactor = scaleFactor; #ifdef MIXXX_USE_QML m_multiSampling = multiSampling; + m_forceHardwareAcceleration = forceHardwareAcceleration; #endif } diff --git a/src/preferences/dialog/dlgprefinterface.h b/src/preferences/dialog/dlgprefinterface.h index b2c7fcb0d6c5..1a990b25d1b6 100644 --- a/src/preferences/dialog/dlgprefinterface.h +++ b/src/preferences/dialog/dlgprefinterface.h @@ -70,6 +70,7 @@ class DlgPrefInterface : public DlgPreferencePage, public Ui::DlgPrefControlsDlg QString m_colorSchemeOnUpdate; QString m_localeOnUpdate; mixxx::preferences::MultiSamplingMode m_multiSampling; + bool m_forceHardwareAcceleration; mixxx::preferences::Tooltips m_tooltipMode; double m_dScaleFactor; double m_minScaleFactor; diff --git a/src/preferences/dialog/dlgprefinterfacedlg.ui b/src/preferences/dialog/dlgprefinterfacedlg.ui index 2b7def9894f4..21fb27b4aa90 100644 --- a/src/preferences/dialog/dlgprefinterfacedlg.ui +++ b/src/preferences/dialog/dlgprefinterfacedlg.ui @@ -287,16 +287,26 @@ - + Multi-Sampling - + + + + + Force 3D acceleration + + + If checked, Mixxx will always assume 3D acceleration is available. This may lead to pour performance if only CP-backed rendering is available.. + + + @@ -327,6 +337,7 @@ radioButtonTooltipsLibrary radioButtonTooltipsLibraryAndSkin multiSamplingComboBox + checkBoxForceHardwareAcceleration diff --git a/src/qml/qmlconfigproxy.cpp b/src/qml/qmlconfigproxy.cpp index 091d4e348293..949245f875e9 100644 --- a/src/qml/qmlconfigproxy.cpp +++ b/src/qml/qmlconfigproxy.cpp @@ -15,6 +15,7 @@ QVariantList paletteToQColorList(const ColorPalette& palette) { const QString kPreferencesGroup = QStringLiteral("[Preferences]"); const QString kMultiSamplingKey = QStringLiteral("multi_sampling"); +const QString k3DHardwareAccelerationKey = QStringLiteral("force_hardware_acceleration"); } // namespace @@ -42,6 +43,16 @@ int QmlConfigProxy::getMultiSamplingLevel() { mixxx::preferences::MultiSamplingMode::Disabled)); } +bool QmlConfigProxy::useAcceleration() { + if (!m_pConfig->exists( + ConfigKey(kPreferencesGroup, k3DHardwareAccelerationKey))) { + // TODO: detect whether QML currently run with 3D acceleration. QSGRendererInterface? + return false; + } + return m_pConfig->getValue( + ConfigKey(kPreferencesGroup, k3DHardwareAccelerationKey)); +} + // static QmlConfigProxy* QmlConfigProxy::create(QQmlEngine* pQmlEngine, QJSEngine* pJsEngine) { // The implementation of this method is mostly taken from the code example diff --git a/src/qml/qmlconfigproxy.h b/src/qml/qmlconfigproxy.h index a0e107276d9a..f3c8ace222d1 100644 --- a/src/qml/qmlconfigproxy.h +++ b/src/qml/qmlconfigproxy.h @@ -23,6 +23,7 @@ class QmlConfigProxy : public QObject { Q_INVOKABLE QVariantList getHotcueColorPalette(); Q_INVOKABLE QVariantList getTrackColorPalette(); Q_INVOKABLE int getMultiSamplingLevel(); + Q_INVOKABLE bool useAcceleration(); static QmlConfigProxy* create(QQmlEngine* pQmlEngine, QJSEngine* pJsEngine); static inline void registerUserSettings(UserSettingsPointer pConfig) { diff --git a/src/qml/qmlsettingparameter.cpp b/src/qml/qmlsettingparameter.cpp new file mode 100644 index 000000000000..a951c179df33 --- /dev/null +++ b/src/qml/qmlsettingparameter.cpp @@ -0,0 +1,74 @@ +#include "qml/qmlsettingparameter.h" + +#include +#include + +#include "moc_qmlsettingparameter.cpp" +#include "util/assert.h" + +namespace mixxx { +namespace qml { + +QmlSettingGroup::QmlSettingGroup(QQuickItem* parent) + : QQuickItem(parent) { +} +QmlSettingParameter::QmlSettingParameter(QQuickItem* parent) + : QmlSettingGroup(parent) { +} + +void QmlSettingParameter::componentComplete() { + QmlSettingGroup::componentComplete(); + QList pathItems; + auto* pParent = parentItem(); + while (pParent != nullptr) { + auto* pManager = qobject_cast(pParent); + if (pManager) { + pManager->registerSettingParamater(this, pathItems); + return; + } + auto* pGroup = qobject_cast(pParent); + if (pGroup) { + pathItems.prepend(pGroup); + } + pParent = pParent->parentItem(); + } + DEBUG_ASSERT(!"Couldn't find manager!"); +} + +QmlSettingParameterManager::QmlSettingParameterManager(QQuickItem* parent) + : QQuickItem(parent), + m_model(this) { + m_model.setSourceModel(&m_sourceModel); + m_model.setFilterKeyColumn(1); + m_model.setFilterCaseSensitivity(Qt::CaseInsensitive); +} +QmlSettingParameterManager::~QmlSettingParameterManager() { + // Manually deleting children so they can complete deregistration + qDeleteAll(childItems()); +} + +void QmlSettingParameterManager::registerSettingParamater( + QmlSettingParameter* pParameter, QList pathItems) { + QStringList path; + for (const auto* pItem : pathItems) { + path.append(pItem->label()); + } + pathItems.append(pParameter); + + auto* pItem = new QStandardItem(pParameter->label()); + pItem->setData(path.join(" > "), Qt::WhatsThisRole); + pItem->setData(QVariant::fromValue(pathItems), Qt::ToolTipRole); + m_sourceModel.appendRow(QList{pItem, + new QStandardItem(pParameter->label() + path.join(" > "))}); + auto rowIndex = m_sourceModel.index(m_sourceModel.rowCount() - 1, 0); + connect(pParameter, &QObject::destroyed, this, [this, rowIndex](QObject*) { + m_sourceModel.removeRow(rowIndex.row()); + }); +} + +void QmlSettingParameterManager::search(const QString& criteria) { + m_model.setFilterFixedString(criteria); +} + +} // namespace qml +} // namespace mixxx diff --git a/src/qml/qmlsettingparameter.h b/src/qml/qmlsettingparameter.h new file mode 100644 index 000000000000..fc67c6b26772 --- /dev/null +++ b/src/qml/qmlsettingparameter.h @@ -0,0 +1,67 @@ +#pragma once +#include +#include +#include +#include + +namespace mixxx { +namespace qml { + +class QmlSettingGroup : public QQuickItem { + Q_OBJECT + Q_PROPERTY(QString label MEMBER m_label FINAL) + QML_NAMED_ELEMENT(SettingGroup) + public: + explicit QmlSettingGroup(QQuickItem* parent = nullptr); + + const QString& label() const { + return m_label; + } + signals: + Q_INVOKABLE void activated(); + + private: + QString m_label; +}; + +class QmlSettingParameterManager; +class QmlSettingParameter : public QmlSettingGroup { + Q_OBJECT + Q_PROPERTY(QStringList keywords MEMBER m_keywords FINAL) + QML_NAMED_ELEMENT(SettingParameter) + Q_INTERFACES(QQmlParserStatus) + public: + explicit QmlSettingParameter(QQuickItem* parent = nullptr); + + void componentComplete() override; + + const QStringList& keywords() const { + return m_keywords; + } + + private: + QStringList m_keywords; +}; + +class QmlSettingParameterManager : public QQuickItem { + Q_OBJECT + Q_PROPERTY(QSortFilterProxyModel* model READ model CONSTANT) + QML_NAMED_ELEMENT(SettingParameterManager) + public: + explicit QmlSettingParameterManager(QQuickItem* parent = nullptr); + ~QmlSettingParameterManager(); + + void registerSettingParamater(QmlSettingParameter* parameter, QList); + Q_INVOKABLE void search(const QString& criteria); + + QSortFilterProxyModel* model() { + return &m_model; + } + + private: + QStandardItemModel m_sourceModel; + QSortFilterProxyModel m_model; +}; + +} // namespace qml +} // namespace mixxx diff --git a/src/qml/qmlwaveformdisplay.cpp b/src/qml/qmlwaveformdisplay.cpp index 06d78d31bdfc..4fadc7dcbdab 100644 --- a/src/qml/qmlwaveformdisplay.cpp +++ b/src/qml/qmlwaveformdisplay.cpp @@ -1,11 +1,10 @@ #include "qml/qmlwaveformdisplay.h" -#include - #include #include #include #include +#include #include #include #include @@ -24,7 +23,7 @@ using namespace allshader; namespace { constexpr int kDefaultSyncInternalMs = 100; -} +} // namespace namespace mixxx { namespace qml { From 2aeee0a9843d25091e7e0a88633a98cfb95cf0d5 Mon Sep 17 00:00:00 2001 From: "Antoine C." Date: Mon, 24 Mar 2025 02:13:10 +0000 Subject: [PATCH 049/181] feat: refactor player proxy and create separated track proxy --- CMakeLists.txt | 13 +- res/qml/Mixxx/Controls/WaveformOverview.qml | 3 +- src/coreservices.cpp | 4 - src/qml/qmlplayermanagerproxy.cpp | 28 ++ src/qml/qmlplayermanagerproxy.h | 6 + src/qml/qmlplayerproxy.cpp | 355 ++---------------- src/qml/qmlplayerproxy.h | 126 +------ src/qml/qmltrackproxy.cpp | 244 ++++++++++++ src/qml/qmltrackproxy.h | 148 ++++++++ src/qml/qmlwaveformoverview.cpp | 83 +--- src/qml/qmlwaveformoverview.h | 23 +- .../controller_mapping_validation_test.cpp | 1 + 12 files changed, 508 insertions(+), 526 deletions(-) create mode 100644 src/qml/qmltrackproxy.cpp create mode 100644 src/qml/qmltrackproxy.h diff --git a/CMakeLists.txt b/CMakeLists.txt index 128de4c23187..9c3fb67dd3c1 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -3436,24 +3436,25 @@ if(QML) src/qml/qmlapplication.cpp src/qml/qmlautoreload.cpp src/qml/qmlbeatsmodel.cpp - src/qml/qmlcuesmodel.cpp - src/qml/qmlcontrolproxy.cpp + src/qml/qmlchainpresetmodel.cpp src/qml/qmlconfigproxy.cpp + src/qml/qmlcontrolproxy.cpp + src/qml/qmlcuesmodel.cpp src/qml/qmldlgpreferencesproxy.cpp src/qml/qmleffectmanifestparametersmodel.cpp - src/qml/qmleffectsmanagerproxy.cpp src/qml/qmleffectslotproxy.cpp + src/qml/qmleffectsmanagerproxy.cpp src/qml/qmllibraryproxy.cpp src/qml/qmllibrarytracklistmodel.cpp + src/qml/qmlmixxxcontrollerscreen.cpp src/qml/qmlplayermanagerproxy.cpp src/qml/qmlplayerproxy.cpp src/qml/qmlvisibleeffectsmodel.cpp - src/qml/qmlchainpresetmodel.cpp - src/qml/qmlwaveformoverview.cpp - src/qml/qmlmixxxcontrollerscreen.cpp src/qml/qmlwaveformdisplay.cpp + src/qml/qmlwaveformoverview.cpp src/qml/qmlwaveformrenderer.cpp src/qml/qmlsettingparameter.cpp + src/qml/qmltrackproxy.cpp src/waveform/renderers/allshader/digitsrenderer.cpp src/waveform/renderers/allshader/waveformrenderbeat.cpp src/waveform/renderers/allshader/waveformrenderer.cpp diff --git a/res/qml/Mixxx/Controls/WaveformOverview.qml b/res/qml/Mixxx/Controls/WaveformOverview.qml index 1c217986451a..0ed78fea1562 100644 --- a/res/qml/Mixxx/Controls/WaveformOverview.qml +++ b/res/qml/Mixxx/Controls/WaveformOverview.qml @@ -6,8 +6,9 @@ Mixxx.WaveformOverview { id: root required property string group + readonly property var player: Mixxx.PlayerManager.getPlayer(root.group) - player: Mixxx.PlayerManager.getPlayer(root.group) + track: player.currentTrack Mixxx.ControlProxy { id: trackLoadedControl diff --git a/src/coreservices.cpp b/src/coreservices.cpp index c9d404c7b46f..040b9dad15b9 100644 --- a/src/coreservices.cpp +++ b/src/coreservices.cpp @@ -40,13 +40,9 @@ #include "controllers/scripting/controllerscriptenginebase.h" #include "qml/qmlconfigproxy.h" -#include "qml/qmlcontrolproxy.h" -#include "qml/qmldlgpreferencesproxy.h" -#include "qml/qmleffectslotproxy.h" #include "qml/qmleffectsmanagerproxy.h" #include "qml/qmllibraryproxy.h" #include "qml/qmlplayermanagerproxy.h" -#include "qml/qmlplayerproxy.h" #endif #include "soundio/soundmanager.h" #include "sources/soundsourceproxy.h" diff --git a/src/qml/qmlplayermanagerproxy.cpp b/src/qml/qmlplayermanagerproxy.cpp index 2544b34f3ad5..cc2d1b3a8e97 100644 --- a/src/qml/qmlplayermanagerproxy.cpp +++ b/src/qml/qmlplayermanagerproxy.cpp @@ -5,6 +5,7 @@ #include "mixer/playermanager.h" #include "moc_qmlplayermanagerproxy.cpp" #include "qml/qmlplayerproxy.h" +#include "track/track_decl.h" namespace mixxx { namespace qml { @@ -31,6 +32,20 @@ QmlPlayerProxy* QmlPlayerManagerProxy::getPlayer(const QString& group) { [this, group](const QString& trackLocation, bool play) { loadLocationToPlayer(trackLocation, group, play); }); + connect(pPlayerProxy, + &QmlPlayerProxy::loadTrackRequested, + this, + [this, group](TrackPointer track, +#ifdef __STEM__ + mixxx::StemChannelSelection stemSelection, +#endif + bool play) { + loadTrackToPlayer(track, group, +#ifdef __STEM__ + stemSelection, +#endif + play); + }); connect(pPlayerProxy, &QmlPlayerProxy::cloneFromGroup, this, @@ -59,6 +74,19 @@ void QmlPlayerManagerProxy::loadLocationToPlayer( m_pPlayerManager->slotLoadLocationToPlayer(location, group, play); } +void QmlPlayerManagerProxy::loadTrackToPlayer(TrackPointer track, + const QString& group, +#ifdef __STEM__ + mixxx::StemChannelSelection stemSelection, +#endif + bool play) { + m_pPlayerManager->slotLoadTrackToPlayer(track, group, +#ifdef __STEM__ + stemSelection, +#endif + play); +} + // static QmlPlayerManagerProxy* QmlPlayerManagerProxy::create(QQmlEngine* pQmlEngine, QJSEngine* pJsEngine) { // The implementation of this method is mostly taken from the code example diff --git a/src/qml/qmlplayermanagerproxy.h b/src/qml/qmlplayermanagerproxy.h index 1cf650b7ceb8..3f23ad664867 100644 --- a/src/qml/qmlplayermanagerproxy.h +++ b/src/qml/qmlplayermanagerproxy.h @@ -24,6 +24,12 @@ class QmlPlayerManagerProxy : public QObject { const QUrl& locationUrl, bool play = false); Q_INVOKABLE void loadLocationToPlayer( const QString& location, const QString& group, bool play = false); + Q_INVOKABLE void loadTrackToPlayer(TrackPointer track, + const QString& group, +#ifdef __STEM__ + mixxx::StemChannelSelection stemSelection, +#endif + bool play); static QmlPlayerManagerProxy* create(QQmlEngine* pQmlEngine, QJSEngine* pJsEngine); static void registerPlayerManager(std::shared_ptr pPlayerManager) { diff --git a/src/qml/qmlplayerproxy.cpp b/src/qml/qmlplayerproxy.cpp index d3b6056fda6b..ba5b58ea2b6d 100644 --- a/src/qml/qmlplayerproxy.cpp +++ b/src/qml/qmlplayerproxy.cpp @@ -1,42 +1,19 @@ #include "qml/qmlplayerproxy.h" #include +#include #include "mixer/basetrackplayer.h" #include "moc_qmlplayerproxy.cpp" -#include "qml/asyncimageprovider.h" - -#define PROPERTY_IMPL_GETTER(TYPE, NAME, GETTER) \ - TYPE QmlPlayerProxy::GETTER() const { \ - const TrackPointer pTrack = m_pCurrentTrack; \ - if (pTrack == nullptr) { \ - return TYPE(); \ - } \ - return pTrack->GETTER(); \ - } - -#define PROPERTY_IMPL(TYPE, NAME, GETTER, SETTER) \ - PROPERTY_IMPL_GETTER(TYPE, NAME, GETTER) \ - void QmlPlayerProxy::SETTER(const TYPE& value) { \ - const TrackPointer pTrack = m_pCurrentTrack; \ - if (pTrack != nullptr) { \ - pTrack->SETTER(value); \ - } \ - } +#include "qmltrackproxy.h" +#include "track/track.h" namespace mixxx { namespace qml { QmlPlayerProxy::QmlPlayerProxy(BaseTrackPlayer* pTrackPlayer, QObject* parent) : QObject(parent), - m_pTrackPlayer(pTrackPlayer), - m_pBeatsModel(new QmlBeatsModel(this)), - m_pHotcuesModel(new QmlCuesModel(this)) -#ifdef __STEM__ - , - m_pStemsModel(std::make_unique(this)) -#endif -{ + m_pTrackPlayer(pTrackPlayer) { connect(m_pTrackPlayer, &BaseTrackPlayer::loadingTrack, this, @@ -46,15 +23,25 @@ QmlPlayerProxy::QmlPlayerProxy(BaseTrackPlayer* pTrackPlayer, QObject* parent) this, &QmlPlayerProxy::slotTrackLoaded); connect(m_pTrackPlayer, - &BaseTrackPlayer::playerEmpty, + &BaseTrackPlayer::trackUnloaded, this, - &QmlPlayerProxy::trackUnloaded); - connect(this, &QmlPlayerProxy::trackChanged, this, &QmlPlayerProxy::slotTrackChanged); + &QmlPlayerProxy::slotTrackUnloaded); if (m_pTrackPlayer && m_pTrackPlayer->getLoadedTrack()) { slotTrackLoaded(pTrackPlayer->getLoadedTrack()); } } +void QmlPlayerProxy::loadTrack(QmlTrackProxy* track, bool play) { + if (track == nullptr || track->internal() == nullptr) { + return; + } + emit loadTrackRequested(track->internal(), +#ifdef __STEM__ + mixxx::StemChannel::All, +#endif + play); +} + void QmlPlayerProxy::loadTrackFromLocation(const QString& trackLocation, bool play) { emit loadTrackFromLocationRequested(trackLocation, play); } @@ -69,323 +56,47 @@ void QmlPlayerProxy::loadTrackFromLocationUrl(const QUrl& trackLocationUrl, bool void QmlPlayerProxy::slotTrackLoaded(TrackPointer pTrack) { m_pCurrentTrack = pTrack; - if (pTrack != nullptr) { - connect(pTrack.get(), - &Track::artistChanged, - this, - &QmlPlayerProxy::artistChanged); - connect(pTrack.get(), - &Track::titleChanged, - this, - &QmlPlayerProxy::titleChanged); - connect(pTrack.get(), - &Track::albumChanged, - this, - &QmlPlayerProxy::albumChanged); - connect(pTrack.get(), - &Track::albumArtistChanged, - this, - &QmlPlayerProxy::albumArtistChanged); - connect(pTrack.get(), - &Track::genreChanged, - this, - &QmlPlayerProxy::genreChanged); - connect(pTrack.get(), - &Track::composerChanged, - this, - &QmlPlayerProxy::composerChanged); - connect(pTrack.get(), - &Track::groupingChanged, - this, - &QmlPlayerProxy::groupingChanged); - connect(pTrack.get(), - &Track::yearChanged, - this, - &QmlPlayerProxy::yearChanged); - connect(pTrack.get(), - &Track::trackNumberChanged, - this, - &QmlPlayerProxy::trackNumberChanged); - connect(pTrack.get(), - &Track::trackTotalChanged, - this, - &QmlPlayerProxy::trackTotalChanged); - connect(pTrack.get(), - &Track::commentChanged, - this, - &QmlPlayerProxy::commentChanged); - connect(pTrack.get(), - &Track::keyChanged, - this, - &QmlPlayerProxy::keyTextChanged); - connect(pTrack.get(), - &Track::colorUpdated, - this, - &QmlPlayerProxy::colorChanged); - connect(pTrack.get(), - &Track::waveformUpdated, - this, - &QmlPlayerProxy::slotWaveformChanged); - connect(pTrack.get(), - &Track::beatsUpdated, - this, - &QmlPlayerProxy::slotBeatsChanged); - connect(pTrack.get(), - &Track::cuesUpdated, - this, - &QmlPlayerProxy::slotHotcuesChanged); -#ifdef __STEM__ - connect(pTrack.get(), - &Track::stemsUpdated, - this, - &QmlPlayerProxy::slotStemsChanged); -#endif - slotBeatsChanged(); - slotHotcuesChanged(); -#ifdef __STEM__ - slotStemsChanged(); -#endif - slotWaveformChanged(); - } emit trackChanged(); emit trackLoaded(); } -void QmlPlayerProxy::slotLoadingTrack(TrackPointer pNewTrack, TrackPointer pOldTrack) { +void QmlPlayerProxy::slotTrackUnloaded(TrackPointer pOldTrack) { VERIFY_OR_DEBUG_ASSERT(pOldTrack == m_pCurrentTrack) { qWarning() << "QML Player proxy was expected to contain " << pOldTrack.get() << "as active track but got" << m_pCurrentTrack.get(); } - - if (pNewTrack.get() == m_pCurrentTrack.get()) { - emit trackLoading(); - return; - } - - const TrackPointer pTrack = m_pCurrentTrack; - if (pTrack != nullptr) { - disconnect(pTrack.get(), nullptr, this, nullptr); + if (m_pCurrentTrack != nullptr) { + disconnect(m_pCurrentTrack.get(), nullptr, this, nullptr); } m_pCurrentTrack.reset(); - m_pCurrentTrack = pNewTrack; - m_waveformTexture = QImage(); emit trackChanged(); - emit trackLoading(); -} - -void QmlPlayerProxy::slotTrackChanged() { - emit artistChanged(); - emit titleChanged(); - emit albumChanged(); - emit albumArtistChanged(); - emit genreChanged(); - emit composerChanged(); - emit groupingChanged(); - emit yearChanged(); - emit trackNumberChanged(); - emit trackTotalChanged(); - emit commentChanged(); - emit keyTextChanged(); - emit colorChanged(); - emit coverArtUrlChanged(); - emit trackLocationUrlChanged(); -#ifdef __STEM__ - emit stemsChanged(); -#endif - - emit waveformLengthChanged(); - emit waveformTextureChanged(); - emit waveformTextureSizeChanged(); - emit waveformTextureStrideChanged(); + emit trackUnloaded(); } -void QmlPlayerProxy::slotWaveformChanged() { - emit waveformLengthChanged(); - emit waveformTextureSizeChanged(); - emit waveformTextureStrideChanged(); - - const TrackPointer pTrack = m_pCurrentTrack; - if (!pTrack) { - return; - } - const ConstWaveformPointer pWaveform = - pTrack->getWaveform(); - if (!pWaveform) { - return; - } - const int textureWidth = pWaveform->getTextureStride(); - const int textureHeight = pWaveform->getTextureSize() / pWaveform->getTextureStride(); - - const WaveformData* data = pWaveform->data(); - // Make a copy of the waveform data, stripping the stems portion. Note that the datasize is - // different from the texture size -- we want the full texture size so the upload works. See - // m_data in waveform/waveform.h. - m_waveformData.resize(pWaveform->getTextureSize()); - for (int i = 0; i < pWaveform->getDataSize(); i++) { - m_waveformData[i] = data[i].filtered; - } - - m_waveformTexture = - QImage(reinterpret_cast(m_waveformData.data()), - textureWidth, - textureHeight, - QImage::Format_RGBA8888); - DEBUG_ASSERT(!m_waveformTexture.isNull()); - emit waveformTextureChanged(); -} - -void QmlPlayerProxy::slotBeatsChanged() { - VERIFY_OR_DEBUG_ASSERT(m_pBeatsModel != nullptr) { - return; - } - - const TrackPointer pTrack = m_pCurrentTrack; - if (pTrack) { - const auto trackEndPosition = mixxx::audio::FramePos{ - pTrack->getDuration() * pTrack->getSampleRate()}; - const auto pBeats = pTrack->getBeats(); - m_pBeatsModel->setBeats(pBeats, trackEndPosition); - } else { - m_pBeatsModel->setBeats(nullptr, audio::kStartFramePos); - } +QmlTrackProxy* QmlPlayerProxy::currentTrack() { + auto* pTrack = new QmlTrackProxy(m_pCurrentTrack, this); + QQmlEngine::setObjectOwnership(pTrack, QQmlEngine::JavaScriptOwnership); + return pTrack; } -#ifdef __STEM__ -void QmlPlayerProxy::slotStemsChanged() { - VERIFY_OR_DEBUG_ASSERT(m_pStemsModel != nullptr) { - return; - } - - const TrackPointer pTrack = m_pCurrentTrack; - if (pTrack) { - m_pStemsModel->setStems(pTrack->getStemInfo()); - emit stemsChanged(); - } -} -#endif - -void QmlPlayerProxy::slotHotcuesChanged() { - VERIFY_OR_DEBUG_ASSERT(m_pHotcuesModel != nullptr) { +void QmlPlayerProxy::slotLoadingTrack(TrackPointer pNewTrack, TrackPointer pOldTrack) { + if (pNewTrack.get() == m_pCurrentTrack.get()) { + emit trackLoading(); return; } - QList hotcues; - - const TrackPointer pTrack = m_pCurrentTrack; - if (pTrack) { - const auto& cuePoints = pTrack->getCuePoints(); - for (const auto& cuePoint : cuePoints) { - if (cuePoint->getHotCue() == Cue::kNoHotCue) - continue; - hotcues.append(cuePoint); - } + if (m_pCurrentTrack != nullptr) { + disconnect(m_pCurrentTrack.get(), nullptr, this, nullptr); } - m_pHotcuesModel->setCues(hotcues); - emit cuesChanged(); -} - -int QmlPlayerProxy::getWaveformLength() const { - const TrackPointer pTrack = m_pCurrentTrack; - if (pTrack) { - const ConstWaveformPointer pWaveform = pTrack->getWaveform(); - if (pWaveform) { - return pWaveform->getDataSize(); - } - } - return 0; -} - -QString QmlPlayerProxy::getWaveformTexture() const { - if (m_waveformTexture.isNull()) { - return QString(); - } - QByteArray byteArray; - QBuffer buffer(&byteArray); - buffer.open(QIODevice::WriteOnly); - m_waveformTexture.save(&buffer, "png"); - - QString imageData = QString::fromLatin1(byteArray.toBase64().data()); - if (imageData.isEmpty()) { - return QString(); - } - - return QStringLiteral("data:image/png;base64,") + imageData; -} - -int QmlPlayerProxy::getWaveformTextureSize() const { - const TrackPointer pTrack = m_pCurrentTrack; - if (pTrack) { - const ConstWaveformPointer pWaveform = pTrack->getWaveform(); - if (pWaveform) { - return pWaveform->getTextureSize(); - } - } - return 0; -} - -int QmlPlayerProxy::getWaveformTextureStride() const { - const TrackPointer pTrack = m_pCurrentTrack; - if (pTrack) { - const ConstWaveformPointer pWaveform = pTrack->getWaveform(); - if (pWaveform) { - return pWaveform->getTextureStride(); - } - } - return 0; + m_pCurrentTrack = pNewTrack; + emit trackChanged(); + emit trackLoading(); } bool QmlPlayerProxy::isLoaded() const { return m_pCurrentTrack != nullptr; } -PROPERTY_IMPL(QString, artist, getArtist, setArtist) -PROPERTY_IMPL(QString, title, getTitle, setTitle) -PROPERTY_IMPL(QString, album, getAlbum, setAlbum) -PROPERTY_IMPL(QString, albumArtist, getAlbumArtist, setAlbumArtist) -PROPERTY_IMPL_GETTER(QString, genre, getGenre) -PROPERTY_IMPL(QString, composer, getComposer, setComposer) -PROPERTY_IMPL(QString, grouping, getGrouping, setGrouping) -PROPERTY_IMPL(QString, year, getYear, setYear) -PROPERTY_IMPL(QString, trackNumber, getTrackNumber, setTrackNumber) -PROPERTY_IMPL(QString, trackTotal, getTrackTotal, setTrackTotal) -PROPERTY_IMPL(QString, comment, getComment, setComment) -PROPERTY_IMPL(QString, keyText, getKeyText, setKeyText) - -QColor QmlPlayerProxy::getColor() const { - const TrackPointer pTrack = m_pCurrentTrack; - if (pTrack == nullptr) { - return QColor(); - } - return RgbColor::toQColor(pTrack->getColor()); -} - -void QmlPlayerProxy::setColor(const QColor& value) { - const TrackPointer pTrack = m_pTrackPlayer->getLoadedTrack(); - if (pTrack != nullptr) { - std::optional color = RgbColor::fromQColor(value); - pTrack->setColor(color); - } -} - -QUrl QmlPlayerProxy::getCoverArtUrl() const { - const TrackPointer pTrack = m_pCurrentTrack; - if (pTrack == nullptr) { - return QUrl(); - } - - const CoverInfo coverInfo = pTrack->getCoverInfoWithLocation(); - return AsyncImageProvider::trackLocationToCoverArtUrl(coverInfo.trackLocation); -} - -QUrl QmlPlayerProxy::getTrackLocationUrl() const { - const TrackPointer pTrack = m_pCurrentTrack; - if (pTrack == nullptr) { - return QUrl(); - } - - return QUrl::fromLocalFile(pTrack->getLocation()); -} - } // namespace qml } // namespace mixxx diff --git a/src/qml/qmlplayerproxy.h b/src/qml/qmlplayerproxy.h index 54f42bb9c9a3..538639bdb0fa 100644 --- a/src/qml/qmlplayerproxy.h +++ b/src/qml/qmlplayerproxy.h @@ -7,115 +7,36 @@ #include #include "mixer/basetrackplayer.h" -#include "qml/qmlbeatsmodel.h" -#include "qml/qmlcuesmodel.h" -#include "qml/qmlstemsmodel.h" -#include "track/cueinfo.h" -#include "track/track.h" -#include "waveform/waveform.h" +#include "qmltrackproxy.h" +#include "track/track_decl.h" namespace mixxx { namespace qml { class QmlPlayerProxy : public QObject { Q_OBJECT + Q_PROPERTY(QmlTrackProxy* currentTrack READ currentTrack NOTIFY trackChanged) Q_PROPERTY(bool isLoaded READ isLoaded NOTIFY trackChanged) - Q_PROPERTY(QString artist READ getArtist WRITE setArtist NOTIFY artistChanged) - Q_PROPERTY(QString title READ getTitle WRITE setTitle NOTIFY titleChanged) - Q_PROPERTY(QString album READ getAlbum WRITE setAlbum NOTIFY albumChanged) - Q_PROPERTY(QString albumArtist READ getAlbumArtist WRITE setAlbumArtist - NOTIFY albumArtistChanged) - Q_PROPERTY(QString genre READ getGenre STORED false NOTIFY genreChanged) - Q_PROPERTY(QString composer READ getComposer WRITE setComposer NOTIFY composerChanged) - Q_PROPERTY(QString grouping READ getGrouping WRITE setGrouping NOTIFY groupingChanged) - Q_PROPERTY(QString year READ getYear WRITE setYear NOTIFY yearChanged) - Q_PROPERTY(QString trackNumber READ getTrackNumber WRITE setTrackNumber - NOTIFY trackNumberChanged) - Q_PROPERTY(QString trackTotal READ getTrackTotal WRITE setTrackTotal NOTIFY trackTotalChanged) - Q_PROPERTY(QString comment READ getComment WRITE setComment NOTIFY commentChanged) - Q_PROPERTY(QString keyText READ getKeyText WRITE setKeyText NOTIFY keyTextChanged) - Q_PROPERTY(QColor color READ getColor WRITE setColor NOTIFY colorChanged) - Q_PROPERTY(QUrl coverArtUrl READ getCoverArtUrl NOTIFY coverArtUrlChanged) - Q_PROPERTY(QUrl trackLocationUrl READ getTrackLocationUrl NOTIFY trackLocationUrlChanged) QML_NAMED_ELEMENT(Player) QML_UNCREATABLE("Only accessible via Mixxx.PlayerManager.getPlayer(group)") - Q_PROPERTY(int waveformLength READ getWaveformLength NOTIFY waveformLengthChanged) - Q_PROPERTY(QString waveformTexture READ getWaveformTexture NOTIFY waveformTextureChanged) - Q_PROPERTY(int waveformTextureSize READ getWaveformTextureSize NOTIFY - waveformTextureSizeChanged) - Q_PROPERTY(int waveformTextureStride READ getWaveformTextureStride NOTIFY - waveformTextureStrideChanged) - - Q_PROPERTY(mixxx::qml::QmlBeatsModel* beatsModel MEMBER m_pBeatsModel CONSTANT); - Q_PROPERTY(mixxx::qml::QmlCuesModel* hotcuesModel MEMBER m_pHotcuesModel CONSTANT); -#ifdef __STEM__ - Q_PROPERTY(mixxx::qml::QmlStemsModel* stemsModel READ getStemsModel CONSTANT); -#endif - public: explicit QmlPlayerProxy(BaseTrackPlayer* pTrackPlayer, QObject* parent = nullptr); bool isLoaded() const; - QString getTrack() const; - QString getTitle() const; - QString getArtist() const; - QString getAlbum() const; - QString getAlbumArtist() const; - QString getGenre() const; - QString getComposer() const; - QString getGrouping() const; - QString getYear() const; - QString getTrackNumber() const; - QString getTrackTotal() const; - QString getComment() const; - QString getKeyText() const; - QColor getColor() const; - QUrl getCoverArtUrl() const; - QUrl getTrackLocationUrl() const; - - int getWaveformLength() const; - QString getWaveformTexture() const; - int getWaveformTextureSize() const; - int getWaveformTextureStride() const; - /// Needed for interacting with the raw track player object. BaseTrackPlayer* internalTrackPlayer() const { return m_pTrackPlayer; } + Q_INVOKABLE void loadTrack(mixxx::qml::QmlTrackProxy* track, bool play = false); Q_INVOKABLE void loadTrackFromLocation(const QString& trackLocation, bool play = false); Q_INVOKABLE void loadTrackFromLocationUrl(const QUrl& trackLocationUrl, bool play = false); -#ifdef __STEM__ - QmlStemsModel* getStemsModel() const { - return m_pStemsModel.get(); - } -#endif - public slots: void slotTrackLoaded(TrackPointer pTrack); + void slotTrackUnloaded(TrackPointer pOldTrack); void slotLoadingTrack(TrackPointer pNewTrack, TrackPointer pOldTrack); - void slotTrackChanged(); - void slotWaveformChanged(); - void slotBeatsChanged(); - void slotHotcuesChanged(); -#ifdef __STEM__ - void slotStemsChanged(); -#endif - - void setArtist(const QString& artist); - void setTitle(const QString& title); - void setAlbum(const QString& album); - void setAlbumArtist(const QString& albumArtist); - void setComposer(const QString& composer); - void setGrouping(const QString& grouping); - void setYear(const QString& year); - void setTrackNumber(const QString& trackNumber); - void setTrackTotal(const QString& trackTotal); - void setComment(const QString& comment); - void setKeyText(const QString& keyText); - void setColor(const QColor& color); signals: void trackLoading(); @@ -124,43 +45,18 @@ class QmlPlayerProxy : public QObject { void trackChanged(); void cloneFromGroup(const QString& group); - void albumChanged(); - void titleChanged(); - void artistChanged(); - void albumArtistChanged(); - void genreChanged(); - void composerChanged(); - void groupingChanged(); - void yearChanged(); - void trackNumberChanged(); - void trackTotalChanged(); - void commentChanged(); - void keyTextChanged(); - void colorChanged(); - void coverArtUrlChanged(); - void trackLocationUrlChanged(); - void cuesChanged(); + void loadTrackFromLocationRequested(const QString& trackLocation, bool play); + void loadTrackRequested(TrackPointer track, #ifdef __STEM__ - void stemsChanged(); + mixxx::StemChannelSelection stemSelection, #endif - - void loadTrackFromLocationRequested(const QString& trackLocation, bool play); - - void waveformLengthChanged(); - void waveformTextureChanged(); - void waveformTextureSizeChanged(); - void waveformTextureStrideChanged(); + bool play); private: - std::vector m_waveformData; - QImage m_waveformTexture; + QmlTrackProxy* currentTrack(); + QPointer m_pTrackPlayer; TrackPointer m_pCurrentTrack; - QmlBeatsModel* m_pBeatsModel; - QmlCuesModel* m_pHotcuesModel; -#ifdef __STEM__ - std::unique_ptr m_pStemsModel; -#endif }; } // namespace qml diff --git a/src/qml/qmltrackproxy.cpp b/src/qml/qmltrackproxy.cpp new file mode 100644 index 000000000000..61adb7af19b8 --- /dev/null +++ b/src/qml/qmltrackproxy.cpp @@ -0,0 +1,244 @@ +#include "qml/qmltrackproxy.h" + +#include + +#include "mixer/basetrackplayer.h" +#include "moc_qmltrackproxy.cpp" +#include "qml/asyncimageprovider.h" +#include "track/track.h" +#include "util/parented_ptr.h" + +#define PROPERTY_IMPL_GETTER(TYPE, NAME, GETTER) \ + TYPE QmlTrackProxy::GETTER() const { \ + const TrackPointer pTrack = m_pTrack; \ + if (pTrack == nullptr) { \ + return TYPE(); \ + } \ + return pTrack->GETTER(); \ + } + +#define PROPERTY_IMPL(TYPE, NAME, GETTER, SETTER) \ + PROPERTY_IMPL_GETTER(TYPE, NAME, GETTER) \ + void QmlTrackProxy::SETTER(const TYPE& value) { \ + const TrackPointer pTrack = m_pTrack; \ + if (pTrack != nullptr) { \ + pTrack->SETTER(value); \ + } \ + } + +namespace mixxx { +namespace qml { + +QmlTrackProxy::QmlTrackProxy(TrackPointer track, QObject* parent) + : QObject(parent), + m_pTrack(track), + m_pBeatsModel(make_parented(this)), + m_pHotcuesModel(make_parented(this)) +#ifdef __STEM__ + , + m_pStemsModel(make_parented(this)) +#endif +{ + if (m_pTrack == nullptr) { + return; + } + connect(m_pTrack.get(), + &Track::artistChanged, + this, + &QmlTrackProxy::artistChanged); + connect(m_pTrack.get(), + &Track::titleChanged, + this, + &QmlTrackProxy::titleChanged); + connect(m_pTrack.get(), + &Track::albumChanged, + this, + &QmlTrackProxy::albumChanged); + connect(m_pTrack.get(), + &Track::albumArtistChanged, + this, + &QmlTrackProxy::albumArtistChanged); + connect(m_pTrack.get(), + &Track::genreChanged, + this, + &QmlTrackProxy::genreChanged); + connect(m_pTrack.get(), + &Track::composerChanged, + this, + &QmlTrackProxy::composerChanged); + connect(m_pTrack.get(), + &Track::groupingChanged, + this, + &QmlTrackProxy::groupingChanged); + connect(m_pTrack.get(), + &Track::yearChanged, + this, + &QmlTrackProxy::yearChanged); + connect(m_pTrack.get(), + &Track::trackNumberChanged, + this, + &QmlTrackProxy::trackNumberChanged); + connect(m_pTrack.get(), + &Track::trackTotalChanged, + this, + &QmlTrackProxy::trackTotalChanged); + connect(m_pTrack.get(), + &Track::commentChanged, + this, + &QmlTrackProxy::commentChanged); + connect(m_pTrack.get(), + &Track::keyChanged, + this, + &QmlTrackProxy::keyTextChanged); + connect(m_pTrack.get(), + &Track::colorUpdated, + this, + &QmlTrackProxy::colorChanged); + connect(m_pTrack.get(), + &Track::beatsUpdated, + this, + &QmlTrackProxy::slotBeatsChanged); + connect(m_pTrack.get(), + &Track::cuesUpdated, + this, + &QmlTrackProxy::slotHotcuesChanged); + connect(m_pTrack.get(), + &Track::durationChanged, + this, + &QmlTrackProxy::durationChanged); +#ifdef __STEM__ + connect(m_pTrack.get(), + &Track::stemsUpdated, + this, + &QmlTrackProxy::slotStemsChanged); +#endif + slotBeatsChanged(); + slotHotcuesChanged(); +#ifdef __STEM__ + slotStemsChanged(); +#endif +} + +void QmlTrackProxy::slotBeatsChanged() { + VERIFY_OR_DEBUG_ASSERT(m_pBeatsModel) { + return; + } + + const TrackPointer pTrack = m_pTrack; + if (pTrack) { + const auto trackEndPosition = mixxx::audio::FramePos{ + pTrack->getDuration() * pTrack->getSampleRate()}; + const auto pBeats = pTrack->getBeats(); + m_pBeatsModel->setBeats(pBeats, trackEndPosition); + } else { + m_pBeatsModel->setBeats(nullptr, audio::kStartFramePos); + } +} + +#ifdef __STEM__ +void QmlTrackProxy::slotStemsChanged() { + VERIFY_OR_DEBUG_ASSERT(m_pStemsModel) { + return; + } + + if (m_pTrack) { + m_pStemsModel->setStems(m_pTrack->getStemInfo()); + emit stemsChanged(); + } +} +#endif + +void QmlTrackProxy::slotHotcuesChanged() { + VERIFY_OR_DEBUG_ASSERT(m_pHotcuesModel) { + return; + } + + QList hotcues; + + if (m_pTrack) { + const auto& cuePoints = m_pTrack->getCuePoints(); + for (const auto& cuePoint : cuePoints) { + if (cuePoint->getHotCue() == Cue::kNoHotCue) { + continue; + } + hotcues.append(cuePoint); + } + } + m_pHotcuesModel->setCues(hotcues); + emit cuesChanged(); +} + +PROPERTY_IMPL(QString, artist, getArtist, setArtist) +PROPERTY_IMPL(QString, title, getTitle, setTitle) +PROPERTY_IMPL(QString, album, getAlbum, setAlbum) +PROPERTY_IMPL(QString, albumArtist, getAlbumArtist, setAlbumArtist) +PROPERTY_IMPL_GETTER(QString, genre, getGenre) +PROPERTY_IMPL(QString, composer, getComposer, setComposer) +PROPERTY_IMPL(QString, grouping, getGrouping, setGrouping) +PROPERTY_IMPL(QString, year, getYear, setYear) +PROPERTY_IMPL(QString, trackNumber, getTrackNumber, setTrackNumber) +PROPERTY_IMPL(QString, trackTotal, getTrackTotal, setTrackTotal) +PROPERTY_IMPL(QString, comment, getComment, setComment) +PROPERTY_IMPL(QString, keyText, getKeyText, setKeyText) + +QColor QmlTrackProxy::getColor() const { + if (m_pTrack == nullptr) { + return QColor(); + } + return RgbColor::toQColor(m_pTrack->getColor()); +} + +double QmlTrackProxy::getDuration() const { + if (m_pTrack == nullptr) { + return -1; + } + return m_pTrack->getDuration(); +} + +int QmlTrackProxy::getSampleRate() const { + if (m_pTrack == nullptr) { + return 0; + } + return m_pTrack->getSampleRate(); +} + +void QmlTrackProxy::setColor(const QColor& value) { + if (m_pTrack) { + std::optional color = RgbColor::fromQColor(value); + m_pTrack->setColor(color); + } +} + +int QmlTrackProxy::getStars() const { + if (m_pTrack == nullptr) { + return -1; + } + return m_pTrack->getRating(); +} + +void QmlTrackProxy::setStars(int value) { + if (m_pTrack && value <= mixxx::TrackRecord::kMaxRating && + value >= mixxx::TrackRecord::kMinRating) { + m_pTrack->setRating(value); + } +} + +QUrl QmlTrackProxy::getCoverArtUrl() const { + if (m_pTrack == nullptr) { + return QUrl(); + } + + const CoverInfo coverInfo = m_pTrack->getCoverInfoWithLocation(); + return AsyncImageProvider::trackLocationToCoverArtUrl(coverInfo.trackLocation); +} + +QUrl QmlTrackProxy::getTrackLocationUrl() const { + if (m_pTrack == nullptr) { + return QUrl(); + } + + return QUrl::fromLocalFile(m_pTrack->getLocation()); +} + +} // namespace qml +} // namespace mixxx diff --git a/src/qml/qmltrackproxy.h b/src/qml/qmltrackproxy.h new file mode 100644 index 000000000000..8b0e292d355c --- /dev/null +++ b/src/qml/qmltrackproxy.h @@ -0,0 +1,148 @@ +#pragma once +#include +#include +#include +#include +#include +#include +#include + +#include "mixer/basetrackplayer.h" +#include "qml/qmlbeatsmodel.h" +#include "qml/qmlcuesmodel.h" +#include "qml/qmlstemsmodel.h" +#include "track/track_decl.h" +#include "util/parented_ptr.h" + +namespace mixxx { +namespace qml { + +class QmlTrackProxy : public QObject { + Q_OBJECT + + Q_PROPERTY(QString artist READ getArtist WRITE setArtist NOTIFY artistChanged) + Q_PROPERTY(QString title READ getTitle WRITE setTitle NOTIFY titleChanged) + Q_PROPERTY(QString album READ getAlbum WRITE setAlbum NOTIFY albumChanged) + Q_PROPERTY(QString albumArtist READ getAlbumArtist WRITE setAlbumArtist + NOTIFY albumArtistChanged) + Q_PROPERTY(QString genre READ getGenre STORED false NOTIFY genreChanged) + Q_PROPERTY(QString composer READ getComposer WRITE setComposer NOTIFY composerChanged) + Q_PROPERTY(QString grouping READ getGrouping WRITE setGrouping NOTIFY groupingChanged) + Q_PROPERTY(int stars READ getStars WRITE setStars NOTIFY starsChanged) + Q_PROPERTY(QString year READ getYear WRITE setYear NOTIFY yearChanged) + Q_PROPERTY(QString trackNumber READ getTrackNumber WRITE setTrackNumber + NOTIFY trackNumberChanged) + Q_PROPERTY(QString trackTotal READ getTrackTotal WRITE setTrackTotal NOTIFY trackTotalChanged) + Q_PROPERTY(QString comment READ getComment WRITE setComment NOTIFY commentChanged) + Q_PROPERTY(QString keyText READ getKeyText WRITE setKeyText NOTIFY keyTextChanged) + Q_PROPERTY(QColor color READ getColor WRITE setColor NOTIFY colorChanged) + Q_PROPERTY(double duration READ getDuration NOTIFY durationChanged) + Q_PROPERTY(int sampleRate READ getSampleRate NOTIFY sampleRateChanged) + Q_PROPERTY(QUrl coverArtUrl READ getCoverArtUrl NOTIFY coverArtUrlChanged) + Q_PROPERTY(QUrl trackLocationUrl READ getTrackLocationUrl NOTIFY trackLocationUrlChanged) + + Q_PROPERTY(mixxx::qml::QmlBeatsModel* beatsModel READ getBeatsModel CONSTANT); + Q_PROPERTY(mixxx::qml::QmlCuesModel* hotcuesModel READ getCuesModel CONSTANT); +#ifdef __STEM__ + Q_PROPERTY(mixxx::qml::QmlStemsModel* stemsModel READ getStemsModel CONSTANT); +#endif + + QML_NAMED_ELEMENT(Track) + QML_UNCREATABLE("Only accessible via Mixxx.PlayerManager and Mixxx.Library") + public: + explicit QmlTrackProxy(TrackPointer track, QObject* parent = nullptr); + + QString getTrack() const; + QString getTitle() const; + QString getArtist() const; + QString getAlbum() const; + QString getAlbumArtist() const; + QString getGenre() const; + QString getComposer() const; + QString getGrouping() const; + QString getYear() const; + int getStars() const; + QString getTrackNumber() const; + QString getTrackTotal() const; + QString getComment() const; + QString getKeyText() const; + QColor getColor() const; + double getDuration() const; + int getSampleRate() const; + QUrl getCoverArtUrl() const; + QUrl getTrackLocationUrl() const; + + QmlBeatsModel* getBeatsModel() const { + return m_pBeatsModel.get(); + } + + QmlCuesModel* getCuesModel() const { + return m_pHotcuesModel.get(); + } + +#ifdef __STEM__ + QmlStemsModel* getStemsModel() const { + return m_pStemsModel.get(); + } +#endif + + TrackPointer internal() const { + return m_pTrack; + } + + public slots: + void slotBeatsChanged(); + void slotHotcuesChanged(); +#ifdef __STEM__ + void slotStemsChanged(); +#endif + + void setArtist(const QString& artist); + void setTitle(const QString& title); + void setAlbum(const QString& album); + void setAlbumArtist(const QString& albumArtist); + void setComposer(const QString& composer); + void setGrouping(const QString& grouping); + void setStars(int stars); + void setYear(const QString& year); + void setTrackNumber(const QString& trackNumber); + void setTrackTotal(const QString& trackTotal); + void setComment(const QString& comment); + void setKeyText(const QString& keyText); + void setColor(const QColor& color); + + signals: + void albumChanged(); + void titleChanged(); + void artistChanged(); + void albumArtistChanged(); + void genreChanged(); + void composerChanged(); + void groupingChanged(); + void starsChanged(); + void yearChanged(); + void trackNumberChanged(); + void trackTotalChanged(); + void commentChanged(); + void keyTextChanged(); + void colorChanged(); + void durationChanged(); + void sampleRateChanged(); + void coverArtUrlChanged(); + void trackLocationUrlChanged(); + void cuesChanged(); +#ifdef __STEM__ + void stemsChanged(); +#endif + + private: + TrackPointer m_pTrack; + parented_ptr m_pBeatsModel; + parented_ptr m_pHotcuesModel; +#ifdef __STEM__ + parented_ptr m_pStemsModel; +#endif +}; + +} // namespace qml +} // namespace mixxx diff --git a/src/qml/qmlwaveformoverview.cpp b/src/qml/qmlwaveformoverview.cpp index 54d2d1051ca2..133f627ed637 100644 --- a/src/qml/qmlwaveformoverview.cpp +++ b/src/qml/qmlwaveformoverview.cpp @@ -1,7 +1,9 @@ #include "qml/qmlwaveformoverview.h" -#include "mixer/basetrackplayer.h" #include "moc_qmlwaveformoverview.cpp" +#include "qmlplayerproxy.h" +#include "qmltrackproxy.h" +#include "track/track.h" namespace { constexpr double kDesiredChannelHeight = 255; @@ -12,7 +14,7 @@ namespace qml { QmlWaveformOverview::QmlWaveformOverview(QQuickItem* parent) : QQuickPaintedItem(parent), - m_pPlayer(nullptr), + m_pTrack(nullptr), m_channels(ChannelFlag::BothChannels), m_renderer(Renderer::RGB), m_colorHigh(0xFF0000), @@ -20,39 +22,28 @@ QmlWaveformOverview::QmlWaveformOverview(QQuickItem* parent) m_colorLow(0x0000FF) { } -QmlPlayerProxy* QmlWaveformOverview::getPlayer() const { - return m_pPlayer; +QmlTrackProxy* QmlWaveformOverview::getTrack() const { + return m_pTrack; } -void QmlWaveformOverview::setPlayer(QmlPlayerProxy* pPlayer) { - if (m_pPlayer == pPlayer) { +void QmlWaveformOverview::setTrack(QmlTrackProxy* pTrack) { + if (m_pTrack == pTrack) { return; } - if (m_pPlayer != nullptr) { - m_pPlayer->internalTrackPlayer()->disconnect(this); + if (m_pTrack != nullptr && m_pTrack->internal() != nullptr) { + m_pTrack->internal()->disconnect(this); } - m_pPlayer = pPlayer; + m_pTrack = pTrack; - if (m_pPlayer != nullptr) { - setCurrentTrack(m_pPlayer->internalTrackPlayer()->getLoadedTrack()); - connect(m_pPlayer->internalTrackPlayer(), - &BaseTrackPlayer::newTrackLoaded, - this, - &QmlWaveformOverview::slotTrackLoaded); - connect(m_pPlayer->internalTrackPlayer(), - &BaseTrackPlayer::loadingTrack, - this, - &QmlWaveformOverview::slotTrackLoading); - connect(m_pPlayer->internalTrackPlayer(), - &BaseTrackPlayer::playerEmpty, + if (m_pTrack != nullptr && pTrack->internal() != nullptr) { + connect(pTrack->internal().get(), + &Track::waveformSummaryUpdated, this, - &QmlWaveformOverview::slotTrackUnloaded); + &QmlWaveformOverview::slotWaveformUpdated); } - - emit playerChanged(); - update(); + slotWaveformUpdated(); } QmlWaveformOverview::Channels QmlWaveformOverview::getChannels() const { @@ -68,49 +59,15 @@ void QmlWaveformOverview::setChannels(QmlWaveformOverview::Channels channels) { emit channelsChanged(channels); } -void QmlWaveformOverview::slotTrackLoaded(TrackPointer pTrack) { - // TODO: Investigate if it's a bug that this debug assertion fails when - // passing tracks on the command line - // DEBUG_ASSERT(m_pCurrentTrack == pTrack); - setCurrentTrack(pTrack); -} - -void QmlWaveformOverview::slotTrackLoading(TrackPointer pNewTrack, TrackPointer pOldTrack) { - Q_UNUSED(pOldTrack); // only used in DEBUG_ASSERT - DEBUG_ASSERT(m_pCurrentTrack == pOldTrack); - setCurrentTrack(pNewTrack); -} - -void QmlWaveformOverview::slotTrackUnloaded() { - setCurrentTrack(nullptr); -} - -void QmlWaveformOverview::setCurrentTrack(TrackPointer pTrack) { - // TODO: Check if this is actually possible - if (m_pCurrentTrack == pTrack) { - return; - } - - if (m_pCurrentTrack != nullptr) { - disconnect(m_pCurrentTrack.get(), nullptr, this, nullptr); - } - - m_pCurrentTrack = pTrack; - if (pTrack != nullptr) { - connect(pTrack.get(), - &Track::waveformSummaryUpdated, - this, - &QmlWaveformOverview::slotWaveformUpdated); - } - slotWaveformUpdated(); -} - void QmlWaveformOverview::slotWaveformUpdated() { update(); } void QmlWaveformOverview::paint(QPainter* pPainter) { - TrackPointer pTrack = m_pCurrentTrack; + if (!m_pTrack) { + return; + } + TrackPointer pTrack = m_pTrack->internal(); if (!pTrack) { return; } diff --git a/src/qml/qmlwaveformoverview.h b/src/qml/qmlwaveformoverview.h index 4b51bb83747d..1b3ebe745095 100644 --- a/src/qml/qmlwaveformoverview.h +++ b/src/qml/qmlwaveformoverview.h @@ -6,18 +6,17 @@ #include #include -#include "qml/qmlplayerproxy.h" -#include "track/track.h" +#include "qmlplayerproxy.h" +#include "waveform/waveform.h" namespace mixxx { namespace qml { - class QmlWaveformOverview : public QQuickPaintedItem { Q_OBJECT Q_FLAGS(Channels) - Q_PROPERTY(mixxx::qml::QmlPlayerProxy* player READ getPlayer WRITE setPlayer - NOTIFY playerChanged REQUIRED) + Q_PROPERTY(mixxx::qml::QmlTrackProxy* track READ getTrack WRITE setTrack + NOTIFY trackChanged REQUIRED) Q_PROPERTY(Channels channels READ getChannels WRITE setChannels NOTIFY channelsChanged) Q_PROPERTY(Renderer renderer MEMBER m_renderer NOTIFY rendererChanged) Q_PROPERTY(QColor colorHigh MEMBER m_colorHigh NOTIFY colorHighChanged) @@ -44,19 +43,16 @@ class QmlWaveformOverview : public QQuickPaintedItem { void paint(QPainter* painter) override; - void setPlayer(QmlPlayerProxy* player); - QmlPlayerProxy* getPlayer() const; + void setTrack(QmlTrackProxy* track); + QmlTrackProxy* getTrack() const; void setChannels(Channels channels); Channels getChannels() const; private slots: - void slotTrackLoaded(TrackPointer pLoadedTrack); - void slotTrackLoading(TrackPointer pNewTrack, TrackPointer pOldTrack); - void slotTrackUnloaded(); void slotWaveformUpdated(); signals: - void playerChanged(); + void trackChanged(); void channelsChanged(mixxx::qml::QmlWaveformOverview::Channels channels); #if QT_VERSION >= QT_VERSION_CHECK(6, 9, 0) void rendererChanged(Renderer renderer); @@ -68,7 +64,6 @@ class QmlWaveformOverview : public QQuickPaintedItem { void colorLowChanged(const QColor& color); private: - void setCurrentTrack(TrackPointer pTrack); void drawFiltered(QPainter* pPainter, Channels channels, ConstWaveformPointer pWaveform, @@ -78,9 +73,7 @@ class QmlWaveformOverview : public QQuickPaintedItem { ConstWaveformPointer pWaveform, int completion) const; QColor getRgbPenColor(ConstWaveformPointer pWaveform, int completion) const; - - QPointer m_pPlayer; - TrackPointer m_pCurrentTrack; + QmlTrackProxy* m_pTrack; Channels m_channels; Renderer m_renderer; QColor m_colorHigh; diff --git a/src/test/controller_mapping_validation_test.cpp b/src/test/controller_mapping_validation_test.cpp index 1b2d7b37d72d..2b886449412a 100644 --- a/src/test/controller_mapping_validation_test.cpp +++ b/src/test/controller_mapping_validation_test.cpp @@ -7,6 +7,7 @@ #include "controllers/defs_controllers.h" #include "controllers/scripting/legacy/controllerscriptenginelegacy.h" +#include "track/track.h" #ifdef MIXXX_USE_QML #include "effects/effectsmanager.h" #include "engine/channelhandle.h" From ffbf0bc1b130cbe3efc78f29f9a1e74c363c2ad8 Mon Sep 17 00:00:00 2001 From: "Antoine C." Date: Thu, 22 May 2025 17:04:57 +0000 Subject: [PATCH 050/181] fix: prevent unnecessary needed restart popup --- src/preferences/dialog/dlgprefinterface.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/preferences/dialog/dlgprefinterface.cpp b/src/preferences/dialog/dlgprefinterface.cpp index c025939a9857..f4e0c7841d70 100644 --- a/src/preferences/dialog/dlgprefinterface.cpp +++ b/src/preferences/dialog/dlgprefinterface.cpp @@ -219,11 +219,13 @@ DlgPrefInterface::DlgPrefInterface( m_pConfig->setValue(ConfigKey(kPreferencesGroup, kMultiSamplingKey), mixxx::preferences::MultiSamplingMode::Disabled); } + checkBoxForceHardwareAcceleration->setChecked(m_forceHardwareAcceleration); } else #endif { #ifdef MIXXX_USE_QML m_multiSampling = mixxx::preferences::MultiSamplingMode::Disabled; + m_forceHardwareAcceleration = false; #endif multiSamplingLabel->hide(); multiSamplingComboBox->hide(); From 38a400a0571a041b7b68055dcf55a38ff7d6ad4c Mon Sep 17 00:00:00 2001 From: "Antoine C." Date: Mon, 24 Mar 2025 02:06:14 +0000 Subject: [PATCH 051/181] feat: add more renderers on QML --- res/qml/WaveformDisplay.qml | 18 +- res/qml/WaveformRow.qml | 380 ------------------ res/qml/WaveformShader.qml | 88 ---- src/coreservices.cpp | 4 - src/qml/qmlwaveformdisplay.cpp | 51 ++- src/qml/qmlwaveformdisplay.h | 7 + src/qml/qmlwaveformrenderer.cpp | 158 ++++++-- src/qml/qmlwaveformrenderer.h | 125 +++++- .../allshader/waveformrendererendoftrack.cpp | 8 +- .../allshader/waveformrendererfiltered.cpp | 2 +- .../allshader/waveformrendererhsv.cpp | 6 +- .../allshader/waveformrendererrgb.cpp | 18 +- .../renderers/allshader/waveformrendererrgb.h | 6 - .../allshader/waveformrenderersignalbase.cpp | 29 +- .../allshader/waveformrenderersignalbase.h | 14 + .../allshader/waveformrenderersimple.cpp | 5 +- .../allshader/waveformrendererslipmode.cpp | 8 +- .../allshader/waveformrendererstem.cpp | 13 +- .../allshader/waveformrendermark.cpp | 10 +- src/waveform/renderers/waveformmark.cpp | 6 +- .../renderers/waveformrenderersignalbase.cpp | 68 ++-- .../renderers/waveformrenderersignalbase.h | 19 +- .../renderers/waveformwidgetrenderer.cpp | 33 +- .../renderers/waveformwidgetrenderer.h | 4 + src/waveform/visualplayposition.cpp | 4 +- src/waveform/visualplayposition.h | 2 +- 26 files changed, 467 insertions(+), 619 deletions(-) delete mode 100644 res/qml/WaveformRow.qml delete mode 100644 res/qml/WaveformShader.qml diff --git a/res/qml/WaveformDisplay.qml b/res/qml/WaveformDisplay.qml index bc3b74c59f68..cf38e312b13a 100644 --- a/res/qml/WaveformDisplay.qml +++ b/res/qml/WaveformDisplay.qml @@ -62,11 +62,11 @@ Item { } } - Mixxx.WaveformRendererRGB { + Mixxx.WaveformRendererFiltered { axesColor: '#a1a1a1a1' - lowColor: '#ff2154d7' - midColor: '#cfb26606' - highColor: '#e5029c5c' + lowColor: '#2154D7' + midColor: '#97632D' + highColor: '#D5C2A2' gainAll: 1.0 gainLow: 1.0 @@ -84,8 +84,8 @@ Item { } Mixxx.WaveformRendererMark { - playMarkerColor: 'cyan' - playMarkerBackground: 'orange' + playMarkerColor: '#D9D9D9' + playMarkerBackground: '#D9D9D9' defaultMark: Mixxx.WaveformMark { align: "bottom|right" color: "#00d9ff" @@ -243,10 +243,10 @@ Item { mouseStatus = WaveformDisplay.MouseStatus.Normal; } - onWheel: { - if (wheel.angleDelta.y < 0 && zoomControl.value > 1) { + onWheel: (mouse) => { + if (mouse.angleDelta.y < 0 && zoomControl.value > 1) { zoomControl.value -= 1; - } else if (wheel.angleDelta.y > 0 && zoomControl.value < 10.0) { + } else if (mouse.angleDelta.y > 0 && zoomControl.value < 10.0) { zoomControl.value += 1; } } diff --git a/res/qml/WaveformRow.qml b/res/qml/WaveformRow.qml deleted file mode 100644 index be129fc42bfa..000000000000 --- a/res/qml/WaveformRow.qml +++ /dev/null @@ -1,380 +0,0 @@ -import "." as Skin -import Mixxx 1.0 as Mixxx -import QtQuick 2.14 -import QtQuick.Shapes 1.12 -import "Theme" - -Item { - id: root - - enum MouseStatus { - Normal, - Bending, - Scratching - } - - property string group // required - property var deckPlayer: Mixxx.PlayerManager.getPlayer(group) - - Item { - id: waveformContainer - - property real duration: samplesControl.value / sampleRateControl.value - - anchors.fill: parent - clip: true - - Mixxx.ControlProxy { - id: samplesControl - - group: root.group - key: "track_samples" - } - - Mixxx.ControlProxy { - id: sampleRateControl - - group: root.group - key: "track_samplerate" - } - - Mixxx.ControlProxy { - id: playPositionControl - - group: root.group - key: "playposition" - } - - Mixxx.ControlProxy { - id: rateRatioControl - - group: root.group - key: "rate_ratio" - } - - Mixxx.ControlProxy { - id: zoomControl - - group: root.group - key: "waveform_zoom" - } - - Mixxx.ControlProxy { - id: introStartPosition - - group: root.group - key: "intro_start_position" - } - - Mixxx.ControlProxy { - id: introEndPosition - - group: root.group - key: "intro_end_position" - } - - Mixxx.ControlProxy { - id: outroStartPosition - - group: root.group - key: "outro_start_position" - } - - Mixxx.ControlProxy { - id: outroEndPosition - - group: root.group - key: "outro_end_position" - } - - Mixxx.ControlProxy { - id: loopStartPosition - - group: root.group - key: "loop_start_position" - } - - Mixxx.ControlProxy { - id: loopEndPosition - - group: root.group - key: "loop_end_position" - } - - Mixxx.ControlProxy { - id: loopEnabled - - group: root.group - key: "loop_enabled" - } - - Mixxx.ControlProxy { - id: mainCuePosition - - group: root.group - key: "cue_point" - } - - Item { - id: waveform - - property real effectiveZoomFactor: (1 / rateRatioControl.value) * (100 / zoomControl.value) - - width: waveformContainer.duration * effectiveZoomFactor - height: parent.height - x: playMarker.screenPosition * waveformContainer.width - playPositionControl.value * width - visible: root.deckPlayer.isLoaded - - WaveformShader { - group: root.group - anchors.fill: parent - } - - Shape { - id: preroll - - property real triangleHeight: waveform.height - property real triangleWidth: 0.25 * waveform.effectiveZoomFactor - property int numTriangles: Math.ceil(width / triangleWidth) - - anchors.top: waveform.top - anchors.right: waveform.left - width: Math.max(0, waveform.x) - height: waveform.height - - ShapePath { - strokeColor: Theme.waveformPrerollColor - strokeWidth: 1 - fillColor: "transparent" - - PathMultiline { - paths: { - let p = []; - for (let i = 0; i < preroll.numTriangles; i++) { - p.push([ - Qt.point(preroll.width - i * preroll.triangleWidth, preroll.triangleHeight / 2), - Qt.point(preroll.width - (i + 1) * preroll.triangleWidth, 0), - Qt.point(preroll.width - (i + 1) * preroll.triangleWidth, preroll.triangleHeight), - Qt.point(preroll.width - i * preroll.triangleWidth, preroll.triangleHeight / 2), - ]); - } - return p; - } - } - } - } - - Shape { - id: postroll - - property real triangleHeight: waveform.height - property real triangleWidth: 0.25 * waveform.effectiveZoomFactor - property int numTriangles: Math.ceil(width / triangleWidth) - - anchors.top: waveform.top - anchors.left: waveform.right - width: waveformContainer.width / 2 - height: waveform.height - - ShapePath { - strokeColor: Theme.waveformPostrollColor - strokeWidth: 1 - fillColor: "transparent" - - PathMultiline { - paths: { - let p = []; - for (let i = 0; i < postroll.numTriangles; i++) { - p.push([ - Qt.point(i * postroll.triangleWidth, postroll.triangleHeight / 2), - Qt.point((i + 1) * postroll.triangleWidth, 0), - Qt.point((i + 1) * postroll.triangleWidth, postroll.triangleHeight), - Qt.point(i * postroll.triangleWidth, postroll.triangleHeight / 2), - ]); - } - return p; - } - } - } - } - - Repeater { - model: root.deckPlayer.beatsModel - - Rectangle { - property real alpha: 0.9 // TODO: Make this configurable (i.e., "[Waveform],beatGridAlpha" config option) - - width: 1 - height: waveform.height - x: (framePosition * 2 / samplesControl.value) * waveform.width - color: Theme.waveformBeatColor - } - } - - Skin.WaveformIntroOutro { - id: intro - - visible: introStartPosition.value != -1 || introEndPosition.value != -1 - - height: waveform.height - x: ((introStartPosition.value != -1 ? introStartPosition.value : introEndPosition.value) / samplesControl.value) * waveform.width - width: introEndPosition.value == -1 ? 0 : ((introEndPosition.value - introStartPosition.value) / samplesControl.value) * waveform.width - } - - Skin.WaveformIntroOutro { - id: outro - - visible: outroStartPosition.value != -1 || outroEndPosition.value != -1 - isIntro: false - - height: waveform.height - x: ((outroStartPosition.value != -1 ? outroStartPosition.value : outroEndPosition.value) / samplesControl.value) * waveform.width - width: outroEndPosition.value == -1 || outroStartPosition.value == -1 ? 0 : ((outroEndPosition.value - outroStartPosition.value) / samplesControl.value) * waveform.width - } - - Skin.WaveformLoop { - id: loop - - visible: loopStartPosition.value != -1 && loopEndPosition.value != -1 - - height: waveform.height - x: (loopStartPosition.value / samplesControl.value) * waveform.width - width: ((loopEndPosition.value - loopStartPosition.value) / samplesControl.value) * waveform.width - enabled: loopEnabled.value - } - - Repeater { - model: root.deckPlayer.hotcuesModel - - Item { - id: cue - - required property int startPosition - required property int endPosition - required property string label - required property bool isLoop - required property int hotcueNumber - - Skin.WaveformHotcue { - group: root.group - hotcueNumber: cue.hotcueNumber + 1 - label: cue.label - isLoop: cue.isLoop - - x: (startPosition * 2 / samplesControl.value) * waveform.width - width: cue.isLoop ? ((endPosition - startPosition) * 2 / samplesControl.value) * waveform.width : null - height: waveform.height - } - } - } - - Skin.WaveformCue { - id: maincue - - height: waveform.height - x: (mainCuePosition.value / samplesControl.value) * waveform.width - } - } - } - - Shape { - id: playMarkerShape - - anchors.fill: parent - - ShapePath { - id: playMarker - - property real screenPosition: 0.5 - - startX: playMarkerShape.width * playMarker.screenPosition - startY: 0 - strokeColor: Theme.waveformCursorColor - strokeWidth: 1 - - PathLine { - id: marker - - x: playMarkerShape.width * playMarker.screenPosition - y: playMarkerShape.height - } - } - } - - Mixxx.ControlProxy { - id: scratchPositionEnableControl - - group: root.group - key: "scratch_position_enable" - } - - Mixxx.ControlProxy { - id: scratchPositionControl - - group: root.group - key: "scratch_position" - } - - Mixxx.ControlProxy { - id: wheelControl - - group: root.group - key: "wheel" - } - - MouseArea { - property int mouseStatus: WaveformRow.MouseStatus.Normal - property point mouseAnchor: Qt.point(0, 0) - - anchors.fill: parent - acceptedButtons: Qt.LeftButton | Qt.RightButton - onPressed: { - mouseAnchor = Qt.point(mouse.x, mouse.y); - if (mouse.button == Qt.LeftButton) { - if (mouseStatus == WaveformRow.MouseStatus.Bending) - wheelControl.parameter = 0.5; - - mouseStatus = WaveformRow.MouseStatus.Scratching; - scratchPositionEnableControl.value = 1; - // TODO: Calculate position properly - scratchPositionControl.value = -mouse.x * waveform.effectiveZoomFactor * 2; - console.log(mouse.x); - } else { - if (mouseStatus == WaveformRow.MouseStatus.Scratching) - scratchPositionEnableControl.value = 0; - - wheelControl.parameter = 0.5; - mouseStatus = WaveformRow.MouseStatus.Bending; - } - } - onPositionChanged: { - switch (mouseStatus) { - case WaveformRow.MouseStatus.Bending: { - const diff = mouse.x - mouseAnchor.x; - // Start at the middle of [0.0, 1.0], and emit values based on how far - // the mouse has traveled horizontally. Note, for legacy (MIDI) reasons, - // this is tuned to 127. - const v = 0.5 + (diff / 1270); - // clamp to [0.0, 1.0] - wheelControl.parameter = Mixxx.MathUtils.clamp(v, 0, 1); - break; - }; - case WaveformRow.MouseStatus.Scratching: - // TODO: Calculate position properly - scratchPositionControl.value = -mouse.x * waveform.effectiveZoomFactor * 2; - break; - } - } - onReleased: { - switch (mouseStatus) { - case WaveformRow.MouseStatus.Bending: - wheelControl.parameter = 0.5; - break; - case WaveformRow.MouseStatus.Scratching: - scratchPositionEnableControl.value = 0; - break; - } - mouseStatus = WaveformRow.MouseStatus.Normal; - } - } -} diff --git a/res/qml/WaveformShader.qml b/res/qml/WaveformShader.qml deleted file mode 100644 index 33de4acde0cf..000000000000 --- a/res/qml/WaveformShader.qml +++ /dev/null @@ -1,88 +0,0 @@ -import Mixxx 1.0 as Mixxx -import QtQuick 2.12 - -ShaderEffect { - id: root - - property string group // required - property var deckPlayer: Mixxx.PlayerManager.getPlayer(group) - property size framebufferSize: Qt.size(width, height) - property int waveformLength: root.deckPlayer.waveformLength - property int textureSize: root.deckPlayer.waveformTextureSize - property int textureStride: root.deckPlayer.waveformTextureStride - property real firstVisualIndex: 1 - property real lastVisualIndex: root.deckPlayer.waveformLength / 2 - property color axesColor: "#FFFFFF" - property color highColor: "#0000FF" - property color midColor: "#00FF00" - property color lowColor: "#FF0000" - property real highGain: filterWaveformEnableControl.value ? (filterHighKillControl.value ? 0 : filterHighControl.value) : 1 - property real midGain: filterWaveformEnableControl.value ? (filterMidKillControl.value ? 0 : filterMidControl.value) : 1 - property real lowGain: filterWaveformEnableControl.value ? (filterLowKillControl.value ? 0 : filterLowControl.value) : 1 - property real allGain: pregainControl.value - property Image waveformTexture - - fragmentShader: "qrc:/shaders/rgbsignal_qml.frag.qsb" - - Mixxx.ControlProxy { - id: pregainControl - - group: root.group - key: "pregain" - } - - Mixxx.ControlProxy { - id: filterWaveformEnableControl - - group: root.group - key: "filterWaveformEnable" - } - - Mixxx.ControlProxy { - id: filterHighControl - - group: "[EqualizerRack1_" + root.group + "_Effect1]" - key: "parameter3" - } - - Mixxx.ControlProxy { - id: filterHighKillControl - - group: "[EqualizerRack1_" + root.group + "_Effect1]" - key: "button_parameter3" - } - - Mixxx.ControlProxy { - id: filterMidControl - - group: "[EqualizerRack1_" + root.group + "_Effect1]" - key: "parameter2" - } - - Mixxx.ControlProxy { - id: filterMidKillControl - - group: "[EqualizerRack1_" + root.group + "_Effect1]" - key: "button_parameter2" - } - - Mixxx.ControlProxy { - id: filterLowControl - - group: "[EqualizerRack1_" + root.group + "_Effect1]" - key: "parameter1" - } - - Mixxx.ControlProxy { - id: filterLowKillControl - - group: "[EqualizerRack1_" + root.group + "_Effect1]" - key: "button_parameter1" - } - - waveformTexture: Image { - visible: false - layer.enabled: false - source: root.deckPlayer.waveformTexture - } -} diff --git a/src/coreservices.cpp b/src/coreservices.cpp index c9d404c7b46f..040b9dad15b9 100644 --- a/src/coreservices.cpp +++ b/src/coreservices.cpp @@ -40,13 +40,9 @@ #include "controllers/scripting/controllerscriptenginebase.h" #include "qml/qmlconfigproxy.h" -#include "qml/qmlcontrolproxy.h" -#include "qml/qmldlgpreferencesproxy.h" -#include "qml/qmleffectslotproxy.h" #include "qml/qmleffectsmanagerproxy.h" #include "qml/qmllibraryproxy.h" #include "qml/qmlplayermanagerproxy.h" -#include "qml/qmlplayerproxy.h" #endif #include "soundio/soundmanager.h" #include "sources/soundsourceproxy.h" diff --git a/src/qml/qmlwaveformdisplay.cpp b/src/qml/qmlwaveformdisplay.cpp index 06d78d31bdfc..0bfed42eea8c 100644 --- a/src/qml/qmlwaveformdisplay.cpp +++ b/src/qml/qmlwaveformdisplay.cpp @@ -87,6 +87,7 @@ void QmlWaveformDisplay::geometryChange(const QRectF& newGeometry, const QRectF& QSGNode* QmlWaveformDisplay::updatePaintNode(QSGNode* node, UpdatePaintNodeData*) { if (m_dirtyFlag.testFlag(DirtyFlag::Window)) { delete node; + node = nullptr; m_dirtyFlag.setFlag(DirtyFlag::Window, false); } @@ -245,7 +246,55 @@ void QmlWaveformDisplay::slotWaveformUpdated() { } QQmlListProperty QmlWaveformDisplay::renderers() { - return {this, &m_waveformRenderers}; + return {this, + nullptr, + &QmlWaveformDisplay::renderers_append, + &QmlWaveformDisplay::renderers_count, + &QmlWaveformDisplay::renderers_at, + &QmlWaveformDisplay::renderers_clear}; +} + +// Static +void QmlWaveformDisplay::renderers_append( + QQmlListProperty* pList, + QmlWaveformRendererFactory* value) { + QmlWaveformDisplay* pWaveform = static_cast(pList->object); + VERIFY_OR_DEBUG_ASSERT(pWaveform) { + return; + } + pWaveform->m_dirtyFlag.setFlag(DirtyFlag::Window, true); + pWaveform->m_waveformRenderers.append(value); +} + +// Static +qsizetype QmlWaveformDisplay::renderers_count(QQmlListProperty* pList) { + QmlWaveformDisplay* pWaveform = static_cast(pList->object); + VERIFY_OR_DEBUG_ASSERT(pWaveform) { + return 0; + } + pWaveform->m_dirtyFlag.setFlag(DirtyFlag::Window, true); + return pWaveform->m_waveformRenderers.count(); +} + +// Static +QmlWaveformRendererFactory* QmlWaveformDisplay::renderers_at( + QQmlListProperty* pList, qsizetype index) { + VERIFY_OR_DEBUG_ASSERT(pList && pList->object) { + return nullptr; + } + QmlWaveformDisplay* pWaveform = static_cast(pList->object); + pWaveform->m_dirtyFlag.setFlag(DirtyFlag::Window, true); + return pWaveform->m_waveformRenderers.at(index); +} + +// Static +void QmlWaveformDisplay::renderers_clear(QQmlListProperty* pList) { + QmlWaveformDisplay* pWaveform = static_cast(pList->object); + VERIFY_OR_DEBUG_ASSERT(pWaveform) { + return; + } + pWaveform->m_dirtyFlag.setFlag(DirtyFlag::Window, true); + return pWaveform->m_waveformRenderers.clear(); } } // namespace qml diff --git a/src/qml/qmlwaveformdisplay.h b/src/qml/qmlwaveformdisplay.h index ae77f5c86f21..6c5088e6361e 100644 --- a/src/qml/qmlwaveformdisplay.h +++ b/src/qml/qmlwaveformdisplay.h @@ -75,6 +75,13 @@ class QmlWaveformDisplay : public QQuickItem, VSyncTimeProvider, public Waveform void componentComplete() override; QQmlListProperty renderers(); + static void renderers_append( + QQmlListProperty* property, + QmlWaveformRendererFactory* value); + static qsizetype renderers_count(QQmlListProperty* property); + static QmlWaveformRendererFactory* renderers_at( + QQmlListProperty* property, qsizetype index); + static void renderers_clear(QQmlListProperty* property); protected: QSGNode* updatePaintNode(QSGNode* old, QQuickItem::UpdatePaintNodeData*) override; diff --git a/src/qml/qmlwaveformrenderer.cpp b/src/qml/qmlwaveformrenderer.cpp index 2f98fe8b2926..da924e99a23e 100644 --- a/src/qml/qmlwaveformrenderer.cpp +++ b/src/qml/qmlwaveformrenderer.cpp @@ -6,8 +6,12 @@ #include "util/assert.h" #include "waveform/renderers/allshader/waveformrenderbeat.h" #include "waveform/renderers/allshader/waveformrendererendoftrack.h" +#include "waveform/renderers/allshader/waveformrendererfiltered.h" +#include "waveform/renderers/allshader/waveformrendererhsv.h" #include "waveform/renderers/allshader/waveformrendererpreroll.h" #include "waveform/renderers/allshader/waveformrendererrgb.h" +#include "waveform/renderers/allshader/waveformrenderersignalbase.h" +#include "waveform/renderers/allshader/waveformrenderersimple.h" #ifdef __STEM__ #include "waveform/renderers/allshader/waveformrendererstem.h" #endif @@ -19,7 +23,8 @@ namespace qml { QmlWaveformRendererMark::QmlWaveformRendererMark() : m_defaultMark(nullptr), - m_untilMark(std::make_unique()) { + m_untilMark(std::make_unique()), + m_playMarkerPosition(0.5) { } QmlWaveformRendererFactory::Renderer QmlWaveformRendererEndOfTrack::create( @@ -51,52 +56,142 @@ QmlWaveformRendererFactory::Renderer QmlWaveformRendererPreroll::create( return QmlWaveformRendererFactory::Renderer{pRenderer.get(), std::move(pRenderer)}; } +void QmlWaveformRendererSignal::setup( + allshader::WaveformRendererSignalBase* pRenderer) const { + pRenderer->setAxesColor(m_axesColor); + pRenderer->setLowColor(m_lowColor); + pRenderer->setMidColor(m_midColor); + pRenderer->setHighColor(m_highColor); + connect(this, + &QmlWaveformRendererSignal::axesColorChanged, + pRenderer, + &allshader::WaveformRendererSignalBase::setAxesColor); + connect(this, + &QmlWaveformRendererSignal::lowColorChanged, + pRenderer, + &allshader::WaveformRendererSignalBase::setLowColor); + connect(this, + &QmlWaveformRendererSignal::midColorChanged, + pRenderer, + &allshader::WaveformRendererSignalBase::setMidColor); + connect(this, + &QmlWaveformRendererSignal::highColorChanged, + pRenderer, + &allshader::WaveformRendererSignalBase::setHighColor); + + pRenderer->setAllChannelVisualGain(m_gainAll); + pRenderer->setLowVisualGain(m_gainLow); + pRenderer->setMidVisualGain(m_gainMid); + pRenderer->setHighVisualGain(m_gainHigh); + connect(this, + &QmlWaveformRendererSignal::gainAllChanged, + pRenderer, + &allshader::WaveformRendererSignalBase::setAllChannelVisualGain); + connect(this, + &QmlWaveformRendererSignal::gainLowChanged, + pRenderer, + &allshader::WaveformRendererSignalBase::setLowVisualGain); + connect(this, + &QmlWaveformRendererSignal::gainMidChanged, + pRenderer, + &allshader::WaveformRendererSignalBase::setMidVisualGain); + connect(this, + &QmlWaveformRendererSignal::gainHighChanged, + pRenderer, + &allshader::WaveformRendererSignalBase::setHighVisualGain); + pRenderer->setIgnoreStem(m_ignoreStem); + connect(this, + &QmlWaveformRendererSignal::ignoreStemChanged, + pRenderer, + &allshader::WaveformRendererSignalBase::setIgnoreStem); +} + QmlWaveformRendererFactory::Renderer QmlWaveformRendererRGB::create( WaveformWidgetRenderer* waveformWidget) const { auto pRenderer = std::make_unique( waveformWidget, m_position, m_options); + setup(pRenderer.get()); + return QmlWaveformRendererFactory::Renderer{pRenderer.get(), std::move(pRenderer)}; +} + +QmlWaveformRendererFactory::Renderer QmlWaveformRendererFiltered::create( + WaveformWidgetRenderer* waveformWidget) const { + auto pRenderer = std::make_unique( + waveformWidget, m_ignoreStem); + + setup(pRenderer.get()); + return QmlWaveformRendererFactory::Renderer{pRenderer.get(), std::move(pRenderer)}; +} + +QmlWaveformRendererFactory::Renderer QmlWaveformRendererHSV::create( + WaveformWidgetRenderer* waveformWidget) const { + auto pRenderer = std::make_unique( + waveformWidget); + pRenderer->setAxesColor(m_axesColor); - pRenderer->setLowColor(m_lowColor); - pRenderer->setMidColor(m_midColor); - pRenderer->setHighColor(m_highColor); + pRenderer->setColor(m_color); + pRenderer->setIgnoreStem(m_ignoreStem); + pRenderer->setAllChannelVisualGain(m_gainAll); + pRenderer->setLowVisualGain(m_gainLow); + pRenderer->setMidVisualGain(m_gainMid); + pRenderer->setHighVisualGain(m_gainHigh); + connect(this, + &QmlWaveformRendererHSV::gainAllChanged, + pRenderer.get(), + &allshader::WaveformRendererSignalBase::setAllChannelVisualGain); + connect(this, + &QmlWaveformRendererHSV::gainLowChanged, + pRenderer.get(), + &allshader::WaveformRendererSignalBase::setLowVisualGain); + connect(this, + &QmlWaveformRendererHSV::gainMidChanged, + pRenderer.get(), + &allshader::WaveformRendererSignalBase::setMidVisualGain); connect(this, - &QmlWaveformRendererRGB::axesColorChanged, + &QmlWaveformRendererHSV::gainHighChanged, pRenderer.get(), - &allshader::WaveformRendererRGB::setAxesColor); + &allshader::WaveformRendererSignalBase::setHighVisualGain); connect(this, - &QmlWaveformRendererRGB::lowColorChanged, + &QmlWaveformRendererHSV::axesColorChanged, pRenderer.get(), - &allshader::WaveformRendererRGB::setLowColor); + &allshader::WaveformRendererSignalBase::setAxesColor); connect(this, - &QmlWaveformRendererRGB::midColorChanged, + &QmlWaveformRendererHSV::colorChanged, pRenderer.get(), - &allshader::WaveformRendererRGB::setMidColor); + &allshader::WaveformRendererSignalBase::setColor); connect(this, - &QmlWaveformRendererRGB::highColorChanged, + &QmlWaveformRendererHSV::ignoreStemChanged, pRenderer.get(), - &allshader::WaveformRendererRGB::setHighColor); + &allshader::WaveformRendererSignalBase::setIgnoreStem); + return QmlWaveformRendererFactory::Renderer{pRenderer.get(), std::move(pRenderer)}; +} - pRenderer->setAllChannelVisualGain(m_gainAll); - pRenderer->setLowVisualGain(m_gainLow); - pRenderer->setMidVisualGain(m_gainMid); - pRenderer->setHighVisualGain(m_gainHigh); +QmlWaveformRendererFactory::Renderer QmlWaveformRendererSimple::create( + WaveformWidgetRenderer* waveformWidget) const { + auto pRenderer = std::make_unique( + waveformWidget); + + pRenderer->setAxesColor(m_axesColor); + pRenderer->setColor(m_color); + pRenderer->setAllChannelVisualGain(m_gain); + pRenderer->setIgnoreStem(m_ignoreStem); connect(this, - &QmlWaveformRendererRGB::gainAllChanged, + &QmlWaveformRendererSimple::axesColorChanged, pRenderer.get(), - &allshader::WaveformRendererRGB::setAllChannelVisualGain); + &allshader::WaveformRendererSignalBase::setAxesColor); connect(this, - &QmlWaveformRendererRGB::gainLowChanged, + &QmlWaveformRendererSimple::colorChanged, pRenderer.get(), - &allshader::WaveformRendererRGB::setLowVisualGain); + &allshader::WaveformRendererSignalBase::setColor); connect(this, - &QmlWaveformRendererRGB::gainMidChanged, + &QmlWaveformRendererSimple::gainChanged, pRenderer.get(), - &allshader::WaveformRendererRGB::setMidVisualGain); + &allshader::WaveformRendererSignalBase::setAllChannelVisualGain); connect(this, - &QmlWaveformRendererRGB::gainHighChanged, + &QmlWaveformRendererSimple::ignoreStemChanged, pRenderer.get(), - &allshader::WaveformRendererRGB::setHighVisualGain); + &allshader::WaveformRendererSignalBase::setIgnoreStem); return QmlWaveformRendererFactory::Renderer{pRenderer.get(), std::move(pRenderer)}; } @@ -104,11 +199,15 @@ QmlWaveformRendererFactory::Renderer QmlWaveformRendererBeat::create( WaveformWidgetRenderer* waveformWidget) const { auto pRenderer = std::make_unique( waveformWidget, m_position); - pRenderer->setColor(m_color); + waveformWidget->setDisplayBeatGridAlpha(m_color.alphaF() * 100); + pRenderer->setColor(m_color.rgb()); connect(this, &QmlWaveformRendererBeat::colorChanged, pRenderer.get(), - &allshader::WaveformRenderBeat::setColor); + [waveformWidget, &pRenderer](const QColor& color) { + waveformWidget->setDisplayBeatGridAlpha(color.alphaF() * 100); + pRenderer->setColor(color.rgb()); + }); return QmlWaveformRendererFactory::Renderer{pRenderer.get(), std::move(pRenderer)}; } @@ -164,6 +263,7 @@ QmlWaveformRendererFactory::Renderer QmlWaveformRendererMark::create( pRenderer->setPlayMarkerForegroundColor(m_playMarkerColor); pRenderer->setPlayMarkerBackgroundColor(m_playMarkerBackground); + waveformWidget->setPlayMarkerPosition(m_playMarkerPosition); pRenderer->setUntilMarkShowBeats(m_untilMark->showTime()); pRenderer->setUntilMarkShowTime(m_untilMark->showBeats()); @@ -196,6 +296,12 @@ QmlWaveformRendererFactory::Renderer QmlWaveformRendererMark::create( &QmlWaveformRendererMark::playMarkerBackgroundChanged, pRenderer.get(), &allshader::WaveformRenderMark::setPlayMarkerBackgroundColor); + connect(this, + &QmlWaveformRendererMark::playMarkerPositionChanged, + pRenderer.get(), + [waveformWidget](double value) { + waveformWidget->setPlayMarkerPosition(value); + }); // The initialisation is closely inspired from WaveformMarkSet::setup int priority = 0; diff --git a/src/qml/qmlwaveformrenderer.h b/src/qml/qmlwaveformrenderer.h index 361691ea48a3..0f441d8981e3 100644 --- a/src/qml/qmlwaveformrenderer.h +++ b/src/qml/qmlwaveformrenderer.h @@ -19,8 +19,12 @@ class WaveformRenderBeat; namespace mixxx { namespace qml { +typedef ::WaveformRendererAbstract::PositionSource WaveformRendererPositionSource; + class QmlWaveformRendererFactory : public QObject { Q_OBJECT + Q_PROPERTY(WaveformRendererPositionSource position MEMBER + m_position NOTIFY positionChanged) QML_ANONYMOUS public: struct Renderer { @@ -33,6 +37,16 @@ class QmlWaveformRendererFactory : public QObject { } virtual Renderer create(WaveformWidgetRenderer* waveformWidget) const = 0; + + signals: +#if QT_VERSION >= QT_VERSION_CHECK(6, 9, 0) + void positionChanged(WaveformRendererPositionSource); +#else + void positionChanged(mixxx::qml::WaveformRendererPositionSource); +#endif + + protected: + WaveformRendererPositionSource m_position{::WaveformRendererAbstract::Play}; }; class QmlWaveformRendererEndOfTrack @@ -71,9 +85,11 @@ class QmlWaveformRendererPreroll ::WaveformRendererAbstract::PositionSource m_position{::WaveformRendererAbstract::Play}; }; -class QmlWaveformRendererRGB +typedef allshader::WaveformRendererSignalBase::Options WaveformRendererSignalBaseOptions; +class QmlWaveformRendererSignal : public QmlWaveformRendererFactory { Q_OBJECT + Q_PROPERTY(bool ignoreStem MEMBER m_ignoreStem NOTIFY ignoreStemChanged) Q_PROPERTY(QColor axesColor MEMBER m_axesColor NOTIFY axesColorChanged REQUIRED) Q_PROPERTY(QColor lowColor MEMBER m_lowColor NOTIFY lowColorChanged REQUIRED) Q_PROPERTY(QColor midColor MEMBER m_midColor NOTIFY midColorChanged REQUIRED) @@ -82,10 +98,15 @@ class QmlWaveformRendererRGB Q_PROPERTY(double gainLow MEMBER m_gainLow NOTIFY gainLowChanged REQUIRED) Q_PROPERTY(double gainMid MEMBER m_gainMid NOTIFY gainMidChanged REQUIRED) Q_PROPERTY(double gainHigh MEMBER m_gainHigh NOTIFY gainHighChanged REQUIRED) - QML_NAMED_ELEMENT(WaveformRendererRGB) + Q_PROPERTY(WaveformRendererSignalBaseOptions options MEMBER + m_options NOTIFY optionsChanged) + QML_ANONYMOUS public: - Renderer create(WaveformWidgetRenderer* waveformWidget) const override; + Q_ENUM(WaveformRendererSignalBaseOptions) + + protected: + void setup(allshader::WaveformRendererSignalBase* renderer) const; signals: void axesColorChanged(const QColor&); @@ -96,8 +117,14 @@ class QmlWaveformRendererRGB void gainLowChanged(double); void gainMidChanged(double); void gainHighChanged(double); + void ignoreStemChanged(bool); +#if QT_VERSION >= QT_VERSION_CHECK(6, 9, 0) + void optionsChanged(WaveformRendererSignalBaseOptions); +#else + void optionsChanged(mixxx::qml::WaveformRendererSignalBaseOptions); +#endif - private: + protected: QColor m_axesColor; QColor m_lowColor; QColor m_midColor; @@ -108,11 +135,95 @@ class QmlWaveformRendererRGB double m_gainMid; double m_gainHigh; + bool m_ignoreStem{false}; + ::WaveformRendererAbstract::PositionSource m_position{::WaveformRendererAbstract::Play}; - allshader::WaveformRendererSignalBase::Options m_options{ + WaveformRendererSignalBaseOptions m_options{ allshader::WaveformRendererSignalBase::Option::None}; }; +class QmlWaveformRendererRGB + : public QmlWaveformRendererSignal { + Q_OBJECT + QML_NAMED_ELEMENT(WaveformRendererRGB) + + public: + Renderer create(WaveformWidgetRenderer* waveformWidget) const override; +}; + +class QmlWaveformRendererFiltered + : public QmlWaveformRendererSignal { + Q_OBJECT + Q_PROPERTY(bool stacked MEMBER m_stacked FINAL) + + QML_NAMED_ELEMENT(WaveformRendererFiltered) + + public: + Renderer create(WaveformWidgetRenderer* waveformWidget) const override; + + private: + bool m_stacked{false}; +}; + +class QmlWaveformRendererHSV + : public QmlWaveformRendererFactory { + Q_OBJECT + Q_PROPERTY(bool ignoreStem MEMBER m_ignoreStem NOTIFY ignoreStemChanged) + Q_PROPERTY(QColor axesColor MEMBER m_axesColor NOTIFY axesColorChanged REQUIRED) + Q_PROPERTY(QColor color MEMBER m_color NOTIFY colorChanged REQUIRED) + Q_PROPERTY(double gainAll MEMBER m_gainAll NOTIFY gainAllChanged REQUIRED) + Q_PROPERTY(double gainLow MEMBER m_gainLow NOTIFY gainLowChanged REQUIRED) + Q_PROPERTY(double gainMid MEMBER m_gainMid NOTIFY gainMidChanged REQUIRED) + Q_PROPERTY(double gainHigh MEMBER m_gainHigh NOTIFY gainHighChanged REQUIRED) + QML_NAMED_ELEMENT(WaveformRendererHSV) + + public: + Renderer create(WaveformWidgetRenderer* waveformWidget) const override; + signals: + void axesColorChanged(const QColor&); + void colorChanged(const QColor&); + void ignoreStemChanged(bool); + void gainAllChanged(double); + void gainLowChanged(double); + void gainMidChanged(double); + void gainHighChanged(double); + + private: + QColor m_axesColor; + QColor m_color; + + double m_gainAll; + double m_gainLow; + double m_gainMid; + double m_gainHigh; + + bool m_ignoreStem{false}; +}; + +class QmlWaveformRendererSimple + : public QmlWaveformRendererFactory { + Q_OBJECT + Q_PROPERTY(bool ignoreStem MEMBER m_ignoreStem NOTIFY ignoreStemChanged) + Q_PROPERTY(QColor axesColor MEMBER m_axesColor NOTIFY axesColorChanged REQUIRED) + Q_PROPERTY(QColor color MEMBER m_color NOTIFY colorChanged REQUIRED) + Q_PROPERTY(double gain MEMBER m_gain NOTIFY gainChanged REQUIRED) + QML_NAMED_ELEMENT(WaveformRendererSimple) + + public: + Renderer create(WaveformWidgetRenderer* waveformWidget) const override; + signals: + void axesColorChanged(const QColor&); + void colorChanged(const QColor&); + void ignoreStemChanged(bool); + void gainChanged(double); + + private: + QColor m_axesColor; + QColor m_color; + double m_gain; + bool m_ignoreStem{false}; +}; + class QmlWaveformRendererBeat : public QmlWaveformRendererFactory { Q_OBJECT @@ -373,6 +484,8 @@ class QmlWaveformRendererMark Q_PROPERTY(QColor playMarkerColor MEMBER m_playMarkerColor NOTIFY playMarkerColorChanged) Q_PROPERTY(QColor playMarkerBackground MEMBER m_playMarkerBackground NOTIFY playMarkerBackgroundChanged) + Q_PROPERTY(double playMarkerPosition MEMBER m_playMarkerPosition NOTIFY + playMarkerPositionChanged) Q_PROPERTY(QmlWaveformMark* defaultMark MEMBER m_defaultMark NOTIFY defaultMarkChanged) Q_PROPERTY(QmlWaveformUntilMark* untilMark READ untilMark FINAL) Q_CLASSINFO("DefaultProperty", "marks") @@ -397,6 +510,7 @@ class QmlWaveformRendererMark signals: void playMarkerColorChanged(const QColor&); void playMarkerBackgroundChanged(const QColor&); + void playMarkerPositionChanged(double); #if QT_VERSION >= QT_VERSION_CHECK(6, 9, 0) void defaultMarkChanged(QmlWaveformMark*); #else @@ -406,6 +520,7 @@ class QmlWaveformRendererMark private: QColor m_playMarkerColor; QColor m_playMarkerBackground; + double m_playMarkerPosition; QList m_marks; QmlWaveformMark* m_defaultMark; std::unique_ptr m_untilMark; diff --git a/src/waveform/renderers/allshader/waveformrendererendoftrack.cpp b/src/waveform/renderers/allshader/waveformrendererendoftrack.cpp index 478c7629a41b..fa998de33bc5 100644 --- a/src/waveform/renderers/allshader/waveformrendererendoftrack.cpp +++ b/src/waveform/renderers/allshader/waveformrendererendoftrack.cpp @@ -44,6 +44,12 @@ void WaveformRendererEndOfTrack::draw(QPainter* painter, QPaintEvent* event) { bool WaveformRendererEndOfTrack::init() { m_timer.restart(); + if (m_waveformRenderer->getGroup().isEmpty()) { + m_pEndOfTrackControl.reset(); + m_pTimeRemainingControl.reset(); + return true; + } + m_pEndOfTrackControl.reset(new ControlProxy( m_waveformRenderer->getGroup(), "end_of_track")); m_pTimeRemainingControl.reset(new ControlProxy( @@ -70,7 +76,7 @@ void WaveformRendererEndOfTrack::preprocess() { } bool WaveformRendererEndOfTrack::preprocessInner() { - if (!m_pEndOfTrackControl->toBool()) { + if (!m_pEndOfTrackControl || !m_pEndOfTrackControl->toBool()) { return false; } diff --git a/src/waveform/renderers/allshader/waveformrendererfiltered.cpp b/src/waveform/renderers/allshader/waveformrendererfiltered.cpp index efab7bdd60ad..8b14849f6ac1 100644 --- a/src/waveform/renderers/allshader/waveformrendererfiltered.cpp +++ b/src/waveform/renderers/allshader/waveformrendererfiltered.cpp @@ -56,7 +56,7 @@ bool WaveformRendererFiltered::preprocessInner() { #ifdef __STEM__ auto stemInfo = pTrack->getStemInfo(); // If this track is a stem track, skip the rendering - if (!stemInfo.isEmpty() && waveform->hasStem()) { + if (!stemInfo.isEmpty() && waveform->hasStem() && !m_ignoreStem) { return false; } #endif diff --git a/src/waveform/renderers/allshader/waveformrendererhsv.cpp b/src/waveform/renderers/allshader/waveformrendererhsv.cpp index bbf367407477..fe7773a162b0 100644 --- a/src/waveform/renderers/allshader/waveformrendererhsv.cpp +++ b/src/waveform/renderers/allshader/waveformrendererhsv.cpp @@ -54,7 +54,7 @@ bool WaveformRendererHSV::preprocessInner() { #ifdef __STEM__ auto stemInfo = pTrack->getStemInfo(); // If this track is a stem track, skip the rendering - if (!stemInfo.isEmpty() && waveform->hasStem()) { + if (!stemInfo.isEmpty() && waveform->hasStem() && !m_ignoreStem) { return false; } #endif @@ -80,9 +80,7 @@ bool WaveformRendererHSV::preprocessInner() { getGains(&allGain, false, nullptr, nullptr, nullptr); // Get base color of waveform in the HSV format (s and v isn't use) - float h, s, v; - getHsvF(m_waveformRenderer->getWaveformSignalColors()->getLowColor(), &h, &s, &v); - + float h = m_signalColor_h; const float breadth = static_cast(m_waveformRenderer->getBreadth()); const float halfBreadth = breadth / 2.0f; diff --git a/src/waveform/renderers/allshader/waveformrendererrgb.cpp b/src/waveform/renderers/allshader/waveformrendererrgb.cpp index 07b8d877416b..38c3854a11bb 100644 --- a/src/waveform/renderers/allshader/waveformrendererrgb.cpp +++ b/src/waveform/renderers/allshader/waveformrendererrgb.cpp @@ -28,22 +28,6 @@ WaveformRendererRGB::WaveformRendererRGB(WaveformWidgetRenderer* waveformWidget, setUsePreprocess(true); } -void WaveformRendererRGB::setAxesColor(const QColor& axesColor) { - getRgbF(axesColor, &m_axesColor_r, &m_axesColor_g, &m_axesColor_b, &m_axesColor_a); -} - -void WaveformRendererRGB::setLowColor(const QColor& lowColor) { - getRgbF(lowColor, &m_rgbLowColor_r, &m_rgbLowColor_g, &m_rgbLowColor_b); -} - -void WaveformRendererRGB::setMidColor(const QColor& midColor) { - getRgbF(midColor, &m_rgbMidColor_r, &m_rgbMidColor_g, &m_rgbMidColor_b); -} - -void WaveformRendererRGB::setHighColor(const QColor& highColor) { - getRgbF(highColor, &m_rgbHighColor_r, &m_rgbHighColor_g, &m_rgbHighColor_b); -} - void WaveformRendererRGB::onSetup(const QDomNode&) { } @@ -83,7 +67,7 @@ bool WaveformRendererRGB::preprocessInner() { #ifdef __STEM__ auto stemInfo = pTrack->getStemInfo(); // If this track is a stem track, skip the rendering - if (!stemInfo.isEmpty() && waveform->hasStem()) { + if (!stemInfo.isEmpty() && waveform->hasStem() && !m_ignoreStem) { return false; } #endif diff --git a/src/waveform/renderers/allshader/waveformrendererrgb.h b/src/waveform/renderers/allshader/waveformrendererrgb.h index 7451f65c1254..680e84996f73 100644 --- a/src/waveform/renderers/allshader/waveformrendererrgb.h +++ b/src/waveform/renderers/allshader/waveformrendererrgb.h @@ -27,12 +27,6 @@ class allshader::WaveformRendererRGB final // Virtuals for rendergraph::Node void preprocess() override; - public slots: - void setAxesColor(const QColor& axesColor); - void setLowColor(const QColor& lowColor); - void setMidColor(const QColor& midColor); - void setHighColor(const QColor& highColor); - private: bool m_isSlipRenderer; WaveformRendererSignalBase::Options m_options; diff --git a/src/waveform/renderers/allshader/waveformrenderersignalbase.cpp b/src/waveform/renderers/allshader/waveformrenderersignalbase.cpp index ea906dba69ea..e9cc902b31f3 100644 --- a/src/waveform/renderers/allshader/waveformrenderersignalbase.cpp +++ b/src/waveform/renderers/allshader/waveformrenderersignalbase.cpp @@ -1,14 +1,41 @@ #include "waveform/renderers/allshader/waveformrenderersignalbase.h" +#include "util/colorcomponents.h" + namespace allshader { WaveformRendererSignalBase::WaveformRendererSignalBase( WaveformWidgetRenderer* waveformWidget) - : ::WaveformRendererSignalBase(waveformWidget) { + : ::WaveformRendererSignalBase(waveformWidget), + m_ignoreStem(false) { } void WaveformRendererSignalBase::draw(QPainter*, QPaintEvent*) { DEBUG_ASSERT(false); } +void WaveformRendererSignalBase::setAxesColor(const QColor& axesColor) { + getRgbF(axesColor, &m_axesColor_r, &m_axesColor_g, &m_axesColor_b, &m_axesColor_a); +} + +void WaveformRendererSignalBase::setColor(const QColor& color) { + getRgbF(color, &m_signalColor_r, &m_signalColor_g, &m_signalColor_b); + getHsvF(color, &m_signalColor_h, &m_signalColor_s, &m_signalColor_v); +} + +void WaveformRendererSignalBase::setLowColor(const QColor& lowColor) { + getRgbF(lowColor, &m_rgbLowColor_r, &m_rgbLowColor_g, &m_rgbLowColor_b); + getRgbF(lowColor, &m_lowColor_r, &m_lowColor_g, &m_lowColor_b); +} + +void WaveformRendererSignalBase::setMidColor(const QColor& midColor) { + getRgbF(midColor, &m_rgbMidColor_r, &m_rgbMidColor_g, &m_rgbMidColor_b); + getRgbF(midColor, &m_midColor_r, &m_midColor_g, &m_midColor_b); +} + +void WaveformRendererSignalBase::setHighColor(const QColor& highColor) { + getRgbF(highColor, &m_rgbHighColor_r, &m_rgbHighColor_g, &m_rgbHighColor_b); + getRgbF(highColor, &m_highColor_r, &m_highColor_g, &m_highColor_b); +} + } // namespace allshader diff --git a/src/waveform/renderers/allshader/waveformrenderersignalbase.h b/src/waveform/renderers/allshader/waveformrenderersignalbase.h index 1299fe04fa86..252fad54476f 100644 --- a/src/waveform/renderers/allshader/waveformrenderersignalbase.h +++ b/src/waveform/renderers/allshader/waveformrenderersignalbase.h @@ -33,5 +33,19 @@ class allshader::WaveformRendererSignalBase : public ::WaveformRendererSignalBas return false; } + public slots: + void setAxesColor(const QColor& axesColor); + void setColor(const QColor& lowColor); + void setLowColor(const QColor& lowColor); + void setMidColor(const QColor& midColor); + void setHighColor(const QColor& highColor); + + void setIgnoreStem(bool value) { + m_ignoreStem = value; + } + + protected: + bool m_ignoreStem; + DISALLOW_COPY_AND_ASSIGN(WaveformRendererSignalBase); }; diff --git a/src/waveform/renderers/allshader/waveformrenderersimple.cpp b/src/waveform/renderers/allshader/waveformrenderersimple.cpp index 2626e80e4311..880485a0341e 100644 --- a/src/waveform/renderers/allshader/waveformrenderersimple.cpp +++ b/src/waveform/renderers/allshader/waveformrenderersimple.cpp @@ -54,7 +54,7 @@ bool WaveformRendererSimple::preprocessInner() { #ifdef __STEM__ auto stemInfo = pTrack->getStemInfo(); // If this track is a stem track, skip the rendering - if (!stemInfo.isEmpty() && waveform->hasStem()) { + if (!stemInfo.isEmpty() && waveform->hasStem() && !m_ignoreStem) { return false; } #endif @@ -82,8 +82,7 @@ bool WaveformRendererSimple::preprocessInner() { // Per-band gain from the EQ knobs. float allGain{1.0}; - float bandGain[3] = {1.0, 1.0, 1.0}; - getGains(&allGain, false, &bandGain[0], &bandGain[1], &bandGain[2]); + getGains(&allGain, false, nullptr, nullptr, nullptr); const float breadth = static_cast(m_waveformRenderer->getBreadth()); const float halfBreadth = breadth / 2.0f; diff --git a/src/waveform/renderers/allshader/waveformrendererslipmode.cpp b/src/waveform/renderers/allshader/waveformrendererslipmode.cpp index af122d2d5bf9..08a37653e65c 100644 --- a/src/waveform/renderers/allshader/waveformrendererslipmode.cpp +++ b/src/waveform/renderers/allshader/waveformrendererslipmode.cpp @@ -44,6 +44,11 @@ void WaveformRendererSlipMode::draw(QPainter* painter, QPaintEvent* event) { bool WaveformRendererSlipMode::init() { m_timer.restart(); + if (m_waveformRenderer->getGroup().isEmpty()) { + m_pSlipModeControl.reset(); + return true; + } + m_pSlipModeControl.reset(new ControlProxy( m_waveformRenderer->getGroup(), QStringLiteral("slip_enabled"))); @@ -79,7 +84,8 @@ void WaveformRendererSlipMode::preprocess() { } bool WaveformRendererSlipMode::preprocessInner() { - if (!m_pSlipModeControl->toBool() || !m_waveformRenderer->isSlipActive()) { + if (!m_pSlipModeControl || !m_pSlipModeControl->toBool() || + !m_waveformRenderer->isSlipActive()) { return false; } diff --git a/src/waveform/renderers/allshader/waveformrendererstem.cpp b/src/waveform/renderers/allshader/waveformrendererstem.cpp index 73e9e1750968..735d58aa2087 100644 --- a/src/waveform/renderers/allshader/waveformrendererstem.cpp +++ b/src/waveform/renderers/allshader/waveformrendererstem.cpp @@ -43,6 +43,11 @@ void WaveformRendererStem::onSetup(const QDomNode&) { } bool WaveformRendererStem::init() { + m_pStemGain.clear(); + m_pStemMute.clear(); + if (m_waveformRenderer->getGroup().isEmpty()) { + return true; + } for (int stemIdx = 0; stemIdx < mixxx::kMaxSupportedStems; stemIdx++) { QString stemGroup = EngineDeck::getGroupForStem(m_waveformRenderer->getGroup(), stemIdx); m_pStemGain.emplace_back( @@ -187,11 +192,15 @@ bool WaveformRendererStem::preprocessInner() { // Apply the gains if (layerIdx) { - max *= m_pStemMute[stemIdx]->toBool() || + bool isMuted = m_pStemMute.empty() ? false : m_pStemMute[stemIdx]->toBool(); + float volume = m_pStemGain.empty() + ? 1.f + : static_cast(m_pStemGain[stemIdx]->get()); + max *= isMuted || (selectedStems && !(selectedStems & 1 << stemIdx)) ? 0.f - : static_cast(m_pStemGain[stemIdx]->get()); + : volume; } // Lines are thin rectangles diff --git a/src/waveform/renderers/allshader/waveformrendermark.cpp b/src/waveform/renderers/allshader/waveformrendermark.cpp index 28a4c6610825..2f766b8370e7 100644 --- a/src/waveform/renderers/allshader/waveformrendermark.cpp +++ b/src/waveform/renderers/allshader/waveformrendermark.cpp @@ -224,8 +224,12 @@ void allshader::WaveformRenderMark::setup(const QDomNode& node, const SkinContex } bool allshader::WaveformRenderMark::init() { - m_pTimeRemainingControl = std::make_unique( - m_waveformRenderer->getGroup(), "time_remaining"); + if (!m_waveformRenderer->getGroup().isEmpty()) { + m_pTimeRemainingControl = std::make_unique( + m_waveformRenderer->getGroup(), "time_remaining"); + } else { + m_pTimeRemainingControl.reset(); + } ::WaveformRenderMarkBase::init(); return true; } @@ -584,7 +588,7 @@ void allshader::WaveformRenderMark::updateUntilMark( } const double endPosition = m_waveformRenderer->getTrackSamples(); - const double remainingTime = m_pTimeRemainingControl->get(); + const double remainingTime = m_pTimeRemainingControl ? m_pTimeRemainingControl->get() : 0; mixxx::BeatsPointer trackBeats = trackInfo->getBeats(); if (!trackBeats) { diff --git a/src/waveform/renderers/waveformmark.cpp b/src/waveform/renderers/waveformmark.cpp index ae4e09e41593..55997d03929a 100644 --- a/src/waveform/renderers/waveformmark.cpp +++ b/src/waveform/renderers/waveformmark.cpp @@ -126,15 +126,15 @@ WaveformMark::WaveformMark(const QString& group, m_showUntilNext = isShowUntilNextPositionControl(positionControl); } - if (!positionControl.isEmpty()) { + if (!positionControl.isEmpty() && !group.isEmpty()) { m_pPositionCO = std::make_unique(group, positionControl); } - if (!endPositionControl.isEmpty()) { + if (!endPositionControl.isEmpty() && !group.isEmpty()) { m_pEndPositionCO = std::make_unique(group, endPositionControl); m_pTypeCO = std::make_unique(group, typeControl); } - if (!visibilityControl.isEmpty()) { + if (!visibilityControl.isEmpty() && !group.isEmpty()) { ConfigKey key = ConfigKey::parseCommaSeparated(visibilityControl); m_pVisibleCO = std::make_unique(key); } diff --git a/src/waveform/renderers/waveformrenderersignalbase.cpp b/src/waveform/renderers/waveformrenderersignalbase.cpp index ed2a75abe084..4b48122cf84e 100644 --- a/src/waveform/renderers/waveformrenderersignalbase.cpp +++ b/src/waveform/renderers/waveformrenderersignalbase.cpp @@ -54,47 +54,35 @@ WaveformRendererSignalBase::WaveformRendererSignalBase( m_rgbHighColor_b(0) { } -WaveformRendererSignalBase::~WaveformRendererSignalBase() { - deleteControls(); -} - -void WaveformRendererSignalBase::deleteControls() { - if (m_pEQEnabled) { - delete m_pEQEnabled; - } - if (m_pLowFilterControlObject) { - delete m_pLowFilterControlObject; - } - if (m_pMidFilterControlObject) { - delete m_pMidFilterControlObject; - } - if (m_pHighFilterControlObject) { - delete m_pHighFilterControlObject; - } - if (m_pLowKillControlObject) { - delete m_pLowKillControlObject; - } - if (m_pMidKillControlObject) { - delete m_pMidKillControlObject; - } - if (m_pHighKillControlObject) { - delete m_pHighKillControlObject; - } -} +WaveformRendererSignalBase::~WaveformRendererSignalBase() = default; bool WaveformRendererSignalBase::init() { - deleteControls(); - - //create controls - m_pEQEnabled = new ControlProxy( - m_waveformRenderer->getGroup(), "filterWaveformEnable"); - const QString effectGroup = kEffectGroupFormat.arg(m_waveformRenderer->getGroup()); - m_pLowFilterControlObject = new ControlProxy(effectGroup, QStringLiteral("parameter1")); - m_pMidFilterControlObject = new ControlProxy(effectGroup, QStringLiteral("parameter2")); - m_pHighFilterControlObject = new ControlProxy(effectGroup, QStringLiteral("parameter3")); - m_pLowKillControlObject = new ControlProxy(effectGroup, QStringLiteral("button_parameter1")); - m_pMidKillControlObject = new ControlProxy(effectGroup, QStringLiteral("button_parameter2")); - m_pHighKillControlObject = new ControlProxy(effectGroup, QStringLiteral("button_parameter3")); + if (!m_waveformRenderer->getGroup().isEmpty()) { + // create controls + m_pEQEnabled = std::make_unique( + m_waveformRenderer->getGroup(), "filterWaveformEnable"); + const QString effectGroup = kEffectGroupFormat.arg(m_waveformRenderer->getGroup()); + m_pLowFilterControlObject = std::make_unique( + effectGroup, QStringLiteral("parameter1")); + m_pMidFilterControlObject = std::make_unique( + effectGroup, QStringLiteral("parameter2")); + m_pHighFilterControlObject = std::make_unique( + effectGroup, QStringLiteral("parameter3")); + m_pLowKillControlObject = std::make_unique( + effectGroup, QStringLiteral("button_parameter1")); + m_pMidKillControlObject = std::make_unique( + effectGroup, QStringLiteral("button_parameter2")); + m_pHighKillControlObject = std::make_unique( + effectGroup, QStringLiteral("button_parameter3")); + } else { + m_pEQEnabled.reset(); + m_pLowFilterControlObject.reset(); + m_pMidFilterControlObject.reset(); + m_pHighFilterControlObject.reset(); + m_pLowKillControlObject.reset(); + m_pMidKillControlObject.reset(); + m_pHighKillControlObject.reset(); + } return onInit(); } @@ -195,7 +183,7 @@ void WaveformRendererSignalBase::getGains(float* pAllGain, CSAMPLE_GAIN lowVisualGain = 1.0, midVisualGain = 1.0, highVisualGain = 1.0; // Only adjust low/mid/high gains if EQs are enabled. - if (m_pEQEnabled->get() > 0.0) { + if (m_pEQEnabled && m_pEQEnabled->get() > 0.0) { if (m_pLowFilterControlObject && m_pMidFilterControlObject && m_pHighFilterControlObject) { diff --git a/src/waveform/renderers/waveformrenderersignalbase.h b/src/waveform/renderers/waveformrenderersignalbase.h index 3611136bc7e2..9b5e832e7bd1 100644 --- a/src/waveform/renderers/waveformrenderersignalbase.h +++ b/src/waveform/renderers/waveformrenderersignalbase.h @@ -1,5 +1,7 @@ #pragma once +#include + #include "skin/legacy/skincontext.h" #include "util/span.h" #include "util/types.h" @@ -39,8 +41,6 @@ class WaveformRendererSignalBase : public QObject, public WaveformRendererAbstra } protected: - void deleteControls(); - void getGains(float* pAllGain, bool applyCompensation, float* pLowGain, @@ -48,13 +48,13 @@ class WaveformRendererSignalBase : public QObject, public WaveformRendererAbstra float* highGain); protected: - ControlProxy* m_pEQEnabled; - ControlProxy* m_pLowFilterControlObject; - ControlProxy* m_pMidFilterControlObject; - ControlProxy* m_pHighFilterControlObject; - ControlProxy* m_pLowKillControlObject; - ControlProxy* m_pMidKillControlObject; - ControlProxy* m_pHighKillControlObject; + std::unique_ptr m_pEQEnabled; + std::unique_ptr m_pLowFilterControlObject; + std::unique_ptr m_pMidFilterControlObject; + std::unique_ptr m_pHighFilterControlObject; + std::unique_ptr m_pLowKillControlObject; + std::unique_ptr m_pMidKillControlObject; + std::unique_ptr m_pHighKillControlObject; Qt::Alignment m_alignment; Qt::Orientation m_orientation; @@ -66,6 +66,7 @@ class WaveformRendererSignalBase : public QObject, public WaveformRendererAbstra float m_axesColor_r, m_axesColor_g, m_axesColor_b, m_axesColor_a; float m_signalColor_r, m_signalColor_g, m_signalColor_b; + float m_signalColor_h, m_signalColor_s, m_signalColor_v; float m_lowColor_r, m_lowColor_g, m_lowColor_b; float m_midColor_r, m_midColor_g, m_midColor_b; float m_highColor_r, m_highColor_g, m_highColor_b; diff --git a/src/waveform/renderers/waveformwidgetrenderer.cpp b/src/waveform/renderers/waveformwidgetrenderer.cpp index 9b4188a45aa7..40b0a2f524da 100644 --- a/src/waveform/renderers/waveformwidgetrenderer.cpp +++ b/src/waveform/renderers/waveformwidgetrenderer.cpp @@ -103,18 +103,23 @@ bool WaveformWidgetRenderer::init() { m_truePosSample[type] = -1.0; } - VERIFY_OR_DEBUG_ASSERT(!m_group.isEmpty()) { - return false; + // It is possible for a renderer to be defined with no group. This usually + // indicate that the position and track will be controlled by the owner. + // This is used in QML currently. + if (!m_group.isEmpty()) { + m_pRateRatioCO = std::make_unique( + m_group, QStringLiteral("rate_ratio")); + m_pGainControlObject = std::make_unique( + m_group, QStringLiteral("total_gain")); + m_pTrackSamplesControlObject = std::make_unique( + m_group, QStringLiteral("track_samples")); + + m_visualPlayPosition = VisualPlayPosition::getVisualPlayPosition(m_group); } - m_visualPlayPosition = VisualPlayPosition::getVisualPlayPosition(m_group); - - m_pRateRatioCO = std::make_unique( - m_group, QStringLiteral("rate_ratio")); - m_pGainControlObject = std::make_unique( - m_group, QStringLiteral("total_gain")); - m_pTrackSamplesControlObject = std::make_unique( - m_group, QStringLiteral("track_samples")); + VERIFY_OR_DEBUG_ASSERT(m_visualPlayPosition) { + return false; + } for (int i = 0; i < m_rendererStack.size(); ++i) { if (!m_rendererStack[i]->init()) { @@ -137,15 +142,17 @@ void WaveformWidgetRenderer::onPreRender(VSyncTimeProvider* vsyncThread) { } // For a valid track to render we need - m_trackSamples = m_pTrackSamplesControlObject->get(); + m_trackSamples = m_pTrackSamplesControlObject + ? m_pTrackSamplesControlObject->get() + : m_pTrack->getSampleRate() * m_pTrack->getDuration(); if (m_trackSamples <= 0) { return; } //Fetch parameters before rendering in order the display all sub-renderers with the same values - double rateRatio = m_pRateRatioCO->get(); + double rateRatio = m_pRateRatioCO ? m_pRateRatioCO->get() : 1.0; - m_gain = m_pGainControlObject->get(); + m_gain = m_pGainControlObject ? m_pGainControlObject->get() : 1.0; // Compute visual sample to pixel ratio // Allow waveform to spread one visual sample across a hundred pixels diff --git a/src/waveform/renderers/waveformwidgetrenderer.h b/src/waveform/renderers/waveformwidgetrenderer.h index 9e1996051a4a..3541dcc9010e 100644 --- a/src/waveform/renderers/waveformwidgetrenderer.h +++ b/src/waveform/renderers/waveformwidgetrenderer.h @@ -42,6 +42,10 @@ class WaveformWidgetRenderer { void onPreRender(VSyncTimeProvider* vsyncThread); void draw(QPainter* painter, QPaintEvent* event); + void setVisualPlayPosition(const QSharedPointer& value) { + m_visualPlayPosition = value; + } + const QString& getGroup() const { return m_group; } diff --git a/src/waveform/visualplayposition.cpp b/src/waveform/visualplayposition.cpp index 6fce7f1bf3f4..758f1a37d095 100644 --- a/src/waveform/visualplayposition.cpp +++ b/src/waveform/visualplayposition.cpp @@ -17,7 +17,9 @@ VisualPlayPosition::VisualPlayPosition(const QString& key) } VisualPlayPosition::~VisualPlayPosition() { - m_listVisualPlayPosition.remove(m_key); + if (!m_key.isEmpty()) { + m_listVisualPlayPosition.remove(m_key); + } } void VisualPlayPosition::set( diff --git a/src/waveform/visualplayposition.h b/src/waveform/visualplayposition.h index 9b94c91571a4..bded14a5f38e 100644 --- a/src/waveform/visualplayposition.h +++ b/src/waveform/visualplayposition.h @@ -49,7 +49,7 @@ class VisualPlayPositionData { class VisualPlayPosition : public QObject { Q_OBJECT public: - VisualPlayPosition(const QString& m_key); + VisualPlayPosition(const QString& m_key = {}); virtual ~VisualPlayPosition(); // WARNING: Not thread safe. This function must be called only from the From 941cfdfafb0b7e5ed6188e70538403c3cfa60cc7 Mon Sep 17 00:00:00 2001 From: "Antoine C." Date: Sat, 29 Mar 2025 01:03:14 +0000 Subject: [PATCH 052/181] fix: disable assert if stem aren't used --- src/qml/qmlwaveformdisplay.cpp | 2 ++ src/qml/qmlwaveformrenderer.h | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/src/qml/qmlwaveformdisplay.cpp b/src/qml/qmlwaveformdisplay.cpp index 0bfed42eea8c..fa21924cdc90 100644 --- a/src/qml/qmlwaveformdisplay.cpp +++ b/src/qml/qmlwaveformdisplay.cpp @@ -123,9 +123,11 @@ QSGNode* QmlWaveformDisplay::updatePaintNode(QSGNode* node, UpdatePaintNodeData* qDebug() << "Ignoring the unsupported" << pQmlRenderer << "renderer"; } auto renderer = pQmlRenderer->create(this); +#ifndef __STEM__ VERIFY_OR_DEBUG_ASSERT(renderer.renderer) { continue; } +#endif addRenderer(renderer.renderer); pTopNode->appendChildNode(std::move(renderer.node)); } diff --git a/src/qml/qmlwaveformrenderer.h b/src/qml/qmlwaveformrenderer.h index 0f441d8981e3..d012c3831fad 100644 --- a/src/qml/qmlwaveformrenderer.h +++ b/src/qml/qmlwaveformrenderer.h @@ -19,7 +19,7 @@ class WaveformRenderBeat; namespace mixxx { namespace qml { -typedef ::WaveformRendererAbstract::PositionSource WaveformRendererPositionSource; +using WaveformRendererPositionSource = ::WaveformRendererAbstract::PositionSource; class QmlWaveformRendererFactory : public QObject { Q_OBJECT From 70b1799457612d0fb738cf24a61f6b1e6b7b127b Mon Sep 17 00:00:00 2001 From: "Antoine C." Date: Mon, 26 May 2025 12:59:02 +0000 Subject: [PATCH 053/181] chore(QML): improve waveform zoom experience --- res/qml/WaveformDisplay.qml | 17 ++++++++++++++++- src/qml/qmlconfigproxy.cpp | 17 +++++++++++++++++ src/qml/qmlconfigproxy.h | 4 ++++ 3 files changed, 37 insertions(+), 1 deletion(-) diff --git a/res/qml/WaveformDisplay.qml b/res/qml/WaveformDisplay.qml index cf38e312b13a..7267b22edf0e 100644 --- a/res/qml/WaveformDisplay.qml +++ b/res/qml/WaveformDisplay.qml @@ -10,6 +10,8 @@ Item { required property string group property bool splitStemTracks: false + readonly property string zoomGroup: Mixxx.Config.waveformZoomSynchronization() ? "[Channel1]" : group + enum MouseStatus { Normal, Bending, @@ -22,6 +24,13 @@ Item { zoom: zoomControl.value backgroundColor: "#5e000000" + Behavior on zoom { + SmoothedAnimation { + duration: 500 + velocity: -1 + } + } + Mixxx.WaveformRendererEndOfTrack { color: '#ff8872' endOfTrackWarningTime: 30 @@ -180,8 +189,14 @@ Item { Mixxx.ControlProxy { id: zoomControl - group: root.group + group: root.zoomGroup key: "waveform_zoom" + + Component.onCompleted: { + if (group == root.group) { + value = Mixxx.Config.waveformDefaultZoom() + } + } } MouseArea { diff --git a/src/qml/qmlconfigproxy.cpp b/src/qml/qmlconfigproxy.cpp index 949245f875e9..4d3aba4f5e87 100644 --- a/src/qml/qmlconfigproxy.cpp +++ b/src/qml/qmlconfigproxy.cpp @@ -17,6 +17,12 @@ const QString kPreferencesGroup = QStringLiteral("[Preferences]"); const QString kMultiSamplingKey = QStringLiteral("multi_sampling"); const QString k3DHardwareAccelerationKey = QStringLiteral("force_hardware_acceleration"); +const QString kWaveformGroup = QStringLiteral("[Waveform]"); +const QString kWaveformZoomSynchronizationKey = QStringLiteral("ZoomSynchronization"); +const QString kWaveformDefaultZoomKey = QStringLiteral("DefaultZoom"); +const bool kWaveformZoomSynchronizationDefault = true; +const double kWaveformDefaultZoomDefault = 3.0; + } // namespace namespace mixxx { @@ -53,6 +59,17 @@ bool QmlConfigProxy::useAcceleration() { ConfigKey(kPreferencesGroup, k3DHardwareAccelerationKey)); } +bool QmlConfigProxy::waveformZoomSynchronization() { + return m_pConfig->getValue( + ConfigKey(kWaveformGroup, kWaveformZoomSynchronizationKey), + kWaveformZoomSynchronizationDefault); +} +double QmlConfigProxy::waveformDefaultZoom() { + return m_pConfig->getValue( + ConfigKey(kWaveformGroup, kWaveformDefaultZoomKey), + kWaveformDefaultZoomDefault); +} + // static QmlConfigProxy* QmlConfigProxy::create(QQmlEngine* pQmlEngine, QJSEngine* pJsEngine) { // The implementation of this method is mostly taken from the code example diff --git a/src/qml/qmlconfigproxy.h b/src/qml/qmlconfigproxy.h index f3c8ace222d1..d5a03bc7040e 100644 --- a/src/qml/qmlconfigproxy.h +++ b/src/qml/qmlconfigproxy.h @@ -25,6 +25,10 @@ class QmlConfigProxy : public QObject { Q_INVOKABLE int getMultiSamplingLevel(); Q_INVOKABLE bool useAcceleration(); + // Waveform settings + Q_INVOKABLE bool waveformZoomSynchronization(); + Q_INVOKABLE double waveformDefaultZoom(); + static QmlConfigProxy* create(QQmlEngine* pQmlEngine, QJSEngine* pJsEngine); static inline void registerUserSettings(UserSettingsPointer pConfig) { s_pUserSettings = std::move(pConfig); From d960c0a172348fc497d899081a8bf30a75dbc932 Mon Sep 17 00:00:00 2001 From: Christophe Henry Date: Sun, 9 Feb 2025 11:36:57 +0100 Subject: [PATCH 054/181] Create JavascriptPlayerProxy to expose track infos to JS controllers in a safe way --- CMakeLists.txt | 2 + res/controllers/engine-api.d.ts | 89 +++++++++++++ .../scripting/controllerscriptenginebase.cpp | 23 ++++ .../scripting/controllerscriptenginebase.h | 9 +- .../scripting/javascriptplayerproxy.cpp | 119 ++++++++++++++++++ .../scripting/javascriptplayerproxy.h | 62 +++++++++ .../controllerscriptinterfacelegacy.cpp | 4 + .../legacy/controllerscriptinterfacelegacy.h | 1 + src/coreservices.cpp | 5 +- 9 files changed, 312 insertions(+), 2 deletions(-) create mode 100644 src/controllers/scripting/javascriptplayerproxy.cpp create mode 100644 src/controllers/scripting/javascriptplayerproxy.h diff --git a/CMakeLists.txt b/CMakeLists.txt index 9c3fb67dd3c1..7979b06fa398 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1635,6 +1635,8 @@ add_library( src/widget/wwidget.cpp src/widget/wwidgetgroup.cpp src/widget/wwidgetstack.cpp + src/controllers/scripting/javascriptplayerproxy.cpp + src/controllers/scripting/javascriptplayerproxy.h ) set(MIXXX_COMMON_PRECOMPILED_HEADER src/util/assert.h) set( diff --git a/res/controllers/engine-api.d.ts b/res/controllers/engine-api.d.ts index 0aa26d09804e..c7c846ecf7cd 100644 --- a/res/controllers/engine-api.d.ts +++ b/res/controllers/engine-api.d.ts @@ -1,3 +1,6 @@ +declare interface QtSlot void> { + connect(callback: F): void +} /** ScriptConnectionJSProxy */ @@ -31,10 +34,96 @@ declare interface ScriptConnection { readonly isConnected: boolean; } +/** JavascriptPlayerProxy */ + +declare interface Player { + /** Track's artist or empty string if no track is loaded */ + readonly artist: string + /** Track's title or empty string if no track is loaded */ + readonly title: string + /** Track's album or empty string if no track is loaded */ + readonly album: string + /** Track's album artist or empty string if no track is loaded */ + readonly albumArtist: string + /** Track's genre or empty string if no track is loaded */ + readonly genre: string + /** Track's composer or empty string if no track is loaded */ + readonly composer: string + /** Track's grouping or empty string if no track is loaded */ + readonly grouping: string + /** Track's year of release or empty string if no track is loaded */ + readonly year: string + /** Track's number or empty string if no track is loaded */ + readonly trackNumber: string + /** Total number of tracks in track's album or empty string if no track is loaded */ + readonly trackTotal: string + + /** Emitted when the track is unloaded from the player. */ + trackUnloaded: QtSlot<() => void> + + /** + * Emitted with the new track's artist when a new track is loaded + * to the player or when the current track's metadata change. + */ + artistChanged: QtSlot<(newArtist: string) => void> + /** + * Emitted with the new track title when a new track is loaded + * to the player or when the current track's metadata change. + */ + titleChanged: QtSlot<(newTitle: string) => void> + /** + * Emitted with the new track album when a new track is loaded + * to the player or when the current track's metadata change. + */ + albumChanged: QtSlot<(newAlbum: string) => void> + /** + * Emitted with the new track album artist when a new track is loaded + * to the player or when the current track's metadata change. + */ + albumArtistChanged: QtSlot<(newAlbumArtist: string) => void> + /** + * Emitted with the new track genre when a new track is loaded + * to the player or when the current track's metadata change. + */ + genreChanged: QtSlot<(newGenre: string) => void> + /** + * Emitted with the new track's composer when a new track is loaded + * to the player or when the current track's metadata change. + */ + composerChanged: QtSlot<(newComposer: string) => void> + /** + * Emitted with the new track's grouping when a new track is loaded + * to the player or when the current track's metadata change. + */ + groupingChanged: QtSlot<(newGrouping: string) => void> + /** + * Emitted with the new track year of release when a new track is loaded + * to the player or when the current track's metadata change. + */ + yearChanged: QtSlot<(newYear: string) => void> + /** + * Emitted with the new track number when a new track is loaded + * to the player or when the current track's metadata change. + */ + trackNumberChanged: QtSlot<(newTrackNumber: string) => void> + /** + * Emitted with the new number of track in track's album when a new track + * is loaded to the player or when the current track's metadata change. + */ + trackTotalChanged: QtSlot<(newTrackTotal: string) => void> +} /** ControllerScriptInterfaceLegacy */ declare namespace engine { + /** + * Obtain the player associated with this deck. + * @param group The midi group for this deck; e.g. '[Channel1]' for deck 1. + * @returns The player providing track information and signals, or undefined + * if not player associated with this group was found. + */ + function getPlayer(group: string): Player | undefined + type SettingValue = string | number | boolean; /** * Gets the value of a controller setting diff --git a/src/controllers/scripting/controllerscriptenginebase.cpp b/src/controllers/scripting/controllerscriptenginebase.cpp index 075ef6f5a8a9..4ed622f147f1 100644 --- a/src/controllers/scripting/controllerscriptenginebase.cpp +++ b/src/controllers/scripting/controllerscriptenginebase.cpp @@ -30,6 +30,11 @@ ControllerScriptEngineBase::ControllerScriptEngineBase( qRegisterMetaType("QMessageBox::StandardButton"); } +void ControllerScriptEngineBase::registerPlayerManager( + std::shared_ptr pPlayerManager) { + ControllerScriptEngineBase::s_pPlayerManager = pPlayerManager; +} + #ifdef MIXXX_USE_QML void ControllerScriptEngineBase::registerTrackCollectionManager( std::shared_ptr pTrackCollectionManager) { @@ -116,6 +121,24 @@ void ControllerScriptEngineBase::reload() { initialize(); } +QObject* ControllerScriptEngineBase::getPlayer(const QString& group) { + VERIFY_OR_DEBUG_ASSERT(s_pPlayerManager != nullptr) { + qCritical() << "Uninitialized PlayerManager"; + return nullptr; + } + auto* const player = s_pPlayerManager->getPlayer(group); + if (!player) { + qWarning() << "PlayerManagerProxy failed to find player for group" << group; + return nullptr; + } + + // Don't set a parent here, so that the QML engine deletes the object when + // the corresponding JS object is garbage collected. + JavascriptPlayerProxy* pPlayerProxy = new JavascriptPlayerProxy(player, nullptr); + QJSEngine::setObjectOwnership(pPlayerProxy, QJSEngine::JavaScriptOwnership); + return pPlayerProxy; +} + bool ControllerScriptEngineBase::executeFunction( QJSValue* pFunctionObject, const QJSValueList& args) { // This function is called from outside the controller engine, so we can't diff --git a/src/controllers/scripting/controllerscriptenginebase.h b/src/controllers/scripting/controllerscriptenginebase.h index 2129184b641b..7523942b04ef 100644 --- a/src/controllers/scripting/controllerscriptenginebase.h +++ b/src/controllers/scripting/controllerscriptenginebase.h @@ -7,6 +7,8 @@ #include #include +#include "javascriptplayerproxy.h" +#include "mixer/playermanager.h" #include "util/runtimeloggingcategory.h" #ifdef MIXXX_USE_QML #include "controllers/controllerenginethreadcontrol.h" @@ -32,6 +34,8 @@ class ControllerScriptEngineBase : public QObject { bool executeFunction(QJSValue* pFunctionObject, const QJSValueList& arguments = {}); + QObject* getPlayer(const QString& group); + /// Shows a UI dialog notifying of a script evaluation error. /// Precondition: QJSValue.isError() == true void showScriptExceptionDialog(const QJSValue& evaluationResult, bool bFatal = false); @@ -53,6 +57,8 @@ class ControllerScriptEngineBase : public QObject { return m_bTesting; } + static void registerPlayerManager(std::shared_ptr pPlayerManager); + #ifdef MIXXX_USE_QML static void registerTrackCollectionManager( std::shared_ptr pTrackCollectionManager); @@ -91,8 +97,9 @@ class ControllerScriptEngineBase : public QObject { #endif bool m_bTesting; -#ifdef MIXXX_USE_QML private: + static inline std::shared_ptr s_pPlayerManager; +#ifdef MIXXX_USE_QML static inline std::shared_ptr s_pTrackCollectionManager; protected: diff --git a/src/controllers/scripting/javascriptplayerproxy.cpp b/src/controllers/scripting/javascriptplayerproxy.cpp new file mode 100644 index 000000000000..7a81146d1500 --- /dev/null +++ b/src/controllers/scripting/javascriptplayerproxy.cpp @@ -0,0 +1,119 @@ +#include "javascriptplayerproxy.h" + +#include "moc_javascriptplayerproxy.cpp" + +JavascriptPlayerProxy::JavascriptPlayerProxy(BaseTrackPlayer* pTrackPlayer, QObject* parent) + : QObject(parent), + m_pTrackPlayer(pTrackPlayer) { + if (m_pTrackPlayer && m_pTrackPlayer->getLoadedTrack()) { + slotTrackLoaded(pTrackPlayer->getLoadedTrack()); + } + + connect(m_pTrackPlayer, + &BaseTrackPlayer::loadingTrack, + this, + &JavascriptPlayerProxy::slotLoadingTrack); + connect(m_pTrackPlayer, + &BaseTrackPlayer::newTrackLoaded, + this, + &JavascriptPlayerProxy::slotTrackLoaded); + connect(m_pTrackPlayer, + &BaseTrackPlayer::playerEmpty, + this, + [this]() { + disconnectTrack(); + emit trackUnloaded(); + }); +} + +void JavascriptPlayerProxy::slotTrackLoaded(TrackPointer pTrack) { + m_pCurrentTrack = pTrack; + if (pTrack == nullptr) { + emit trackUnloaded(); + return; + } + + connect(pTrack.get(), + &Track::artistChanged, + this, + &JavascriptPlayerProxy::artistChanged); + connect(pTrack.get(), + &Track::titleChanged, + this, + &JavascriptPlayerProxy::titleChanged); + connect(pTrack.get(), + &Track::albumChanged, + this, + &JavascriptPlayerProxy::albumChanged); + connect(pTrack.get(), + &Track::albumArtistChanged, + this, + &JavascriptPlayerProxy::albumArtistChanged); + connect(pTrack.get(), + &Track::genreChanged, + this, + &JavascriptPlayerProxy::genreChanged); + connect(pTrack.get(), + &Track::composerChanged, + this, + &JavascriptPlayerProxy::composerChanged); + connect(pTrack.get(), + &Track::groupingChanged, + this, + &JavascriptPlayerProxy::groupingChanged); + connect(pTrack.get(), + &Track::yearChanged, + this, + &JavascriptPlayerProxy::yearChanged); + connect(pTrack.get(), + &Track::trackNumberChanged, + this, + &JavascriptPlayerProxy::trackNumberChanged); + connect(pTrack.get(), + &Track::trackTotalChanged, + this, + &JavascriptPlayerProxy::trackTotalChanged); + + emit artistChanged(m_pCurrentTrack->getArtist()); + emit titleChanged(m_pCurrentTrack->getTitle()); + emit albumChanged(m_pCurrentTrack->getAlbum()); + emit albumArtistChanged(m_pCurrentTrack->getAlbumArtist()); + emit genreChanged(m_pCurrentTrack->getGenre()); + emit composerChanged(m_pCurrentTrack->getComposer()); + emit groupingChanged(m_pCurrentTrack->getGrouping()); + emit yearChanged(m_pCurrentTrack->getYear()); + emit trackNumberChanged(m_pCurrentTrack->getTrackNumber()); + emit trackTotalChanged(m_pCurrentTrack->getTrackTotal()); +} + +void JavascriptPlayerProxy::slotLoadingTrack(TrackPointer pNewTrack, TrackPointer pOldTrack) { + VERIFY_OR_DEBUG_ASSERT(pOldTrack == m_pCurrentTrack) { + qWarning() << "Javascript Player proxy was expected to contain " + << pOldTrack.get() << "as active track but got" + << m_pCurrentTrack.get(); + } + + if (pNewTrack == m_pCurrentTrack) { + return; + } + + disconnectTrack(); + m_pCurrentTrack = pNewTrack; +} + +void JavascriptPlayerProxy::disconnectTrack() { + if (m_pCurrentTrack != nullptr) { + m_pCurrentTrack->disconnect(this); + } +} + +PROPERTY_IMPL_GETTER(JavascriptPlayerProxy, QString, artist, getArtist) +PROPERTY_IMPL_GETTER(JavascriptPlayerProxy, QString, title, getTitle) +PROPERTY_IMPL_GETTER(JavascriptPlayerProxy, QString, album, getAlbum) +PROPERTY_IMPL_GETTER(JavascriptPlayerProxy, QString, albumArtist, getAlbumArtist) +PROPERTY_IMPL_GETTER(JavascriptPlayerProxy, QString, genre, getGenre) +PROPERTY_IMPL_GETTER(JavascriptPlayerProxy, QString, composer, getComposer) +PROPERTY_IMPL_GETTER(JavascriptPlayerProxy, QString, grouping, getGrouping) +PROPERTY_IMPL_GETTER(JavascriptPlayerProxy, QString, year, getYear) +PROPERTY_IMPL_GETTER(JavascriptPlayerProxy, QString, trackNumber, getTrackNumber) +PROPERTY_IMPL_GETTER(JavascriptPlayerProxy, QString, trackTotal, getTrackTotal) diff --git a/src/controllers/scripting/javascriptplayerproxy.h b/src/controllers/scripting/javascriptplayerproxy.h new file mode 100644 index 000000000000..da2d04260d13 --- /dev/null +++ b/src/controllers/scripting/javascriptplayerproxy.h @@ -0,0 +1,62 @@ +#pragma once + +#include "mixer/basetrackplayer.h" +#include "track/track.h" + +#define PROPERTY_IMPL_GETTER(NAMESPACE, TYPE, NAME, GETTER) \ + TYPE NAMESPACE::GETTER() const { \ + const TrackPointer pTrack = m_pCurrentTrack; \ + if (pTrack == nullptr) { \ + return TYPE(); \ + } \ + return pTrack->GETTER(); \ + } + +class JavascriptPlayerProxy : public QObject { + Q_OBJECT + Q_PROPERTY(QString artist READ getArtist NOTIFY artistChanged) + Q_PROPERTY(QString title READ getTitle NOTIFY titleChanged) + Q_PROPERTY(QString album READ getAlbum NOTIFY albumChanged) + Q_PROPERTY(QString albumArtist READ getAlbumArtist NOTIFY albumArtistChanged) + Q_PROPERTY(QString genre READ getGenre STORED false NOTIFY genreChanged) + Q_PROPERTY(QString composer READ getComposer NOTIFY composerChanged) + Q_PROPERTY(QString grouping READ getGrouping NOTIFY groupingChanged) + Q_PROPERTY(QString year READ getYear NOTIFY yearChanged) + Q_PROPERTY(QString trackNumber READ getTrackNumber NOTIFY trackNumberChanged) + Q_PROPERTY(QString trackTotal READ getTrackTotal NOTIFY trackTotalChanged) + public: + explicit JavascriptPlayerProxy(BaseTrackPlayer* pTrackPlayer, QObject* parent); + + QString getTitle() const; + QString getArtist() const; + QString getAlbum() const; + QString getAlbumArtist() const; + QString getGenre() const; + QString getComposer() const; + QString getGrouping() const; + QString getYear() const; + QString getTrackNumber() const; + QString getTrackTotal() const; + + public slots: + void slotTrackLoaded(TrackPointer pTrack); + void slotLoadingTrack(TrackPointer pNewTrack, TrackPointer pOldTrack); + + signals: + void trackUnloaded(); + void albumChanged(QString newAlbum); + void titleChanged(QString newTitle); + void artistChanged(QString newArtist); + void albumArtistChanged(QString newAlbumArtist); + void genreChanged(QString newGenre); + void composerChanged(QString newComposer); + void groupingChanged(QString grouping); + void yearChanged(QString newYear); + void trackNumberChanged(QString newTrackNumber); + void trackTotalChanged(QString newTrackTotal); + + protected: + void disconnectTrack(); + QPointer m_pTrackPlayer; + TrackPointer m_pCurrentTrack; +}; diff --git a/src/controllers/scripting/legacy/controllerscriptinterfacelegacy.cpp b/src/controllers/scripting/legacy/controllerscriptinterfacelegacy.cpp index 543319a40ffd..960ba0214d7a 100644 --- a/src/controllers/scripting/legacy/controllerscriptinterfacelegacy.cpp +++ b/src/controllers/scripting/legacy/controllerscriptinterfacelegacy.cpp @@ -136,6 +136,10 @@ QJSValue ControllerScriptInterfaceLegacy::getSetting(const QString& name) { } } +QObject* ControllerScriptInterfaceLegacy::getPlayer(const QString& group) { + return m_pScriptEngineLegacy->getPlayer(group); +} + double ControllerScriptInterfaceLegacy::getValue(const QString& group, const QString& name) { ControlObjectScript* coScript = getControlObjectScript(group, name); if (coScript == nullptr) { diff --git a/src/controllers/scripting/legacy/controllerscriptinterfacelegacy.h b/src/controllers/scripting/legacy/controllerscriptinterfacelegacy.h index 745eb54c40a8..19d629a86900 100644 --- a/src/controllers/scripting/legacy/controllerscriptinterfacelegacy.h +++ b/src/controllers/scripting/legacy/controllerscriptinterfacelegacy.h @@ -56,6 +56,7 @@ class ControllerScriptInterfaceLegacy : public QObject { virtual ~ControllerScriptInterfaceLegacy(); Q_INVOKABLE QJSValue getSetting(const QString& name); + Q_INVOKABLE QObject* getPlayer(const QString& group); Q_INVOKABLE double getValue(const QString& group, const QString& name); Q_INVOKABLE void setValue(const QString& group, const QString& name, double newValue); Q_INVOKABLE double getParameter(const QString& group, const QString& name); diff --git a/src/coreservices.cpp b/src/coreservices.cpp index 040b9dad15b9..1de241f9594c 100644 --- a/src/coreservices.cpp +++ b/src/coreservices.cpp @@ -12,6 +12,7 @@ #include "control/controlindicatortimer.h" #include "controllers/controllermanager.h" #include "controllers/keyboard/keyboardeventfilter.h" +#include "controllers/scripting/controllerscriptenginebase.h" #include "database/mixxxdb.h" #include "effects/effectsmanager.h" #include "engine/enginemixer.h" @@ -38,7 +39,6 @@ #include #include -#include "controllers/scripting/controllerscriptenginebase.h" #include "qml/qmlconfigproxy.h" #include "qml/qmleffectsmanagerproxy.h" #include "qml/qmllibraryproxy.h" @@ -495,6 +495,8 @@ void CoreServices::initialize(QApplication* pApp) { m_isInitialized = true; + ControllerScriptEngineBase::registerPlayerManager(getPlayerManager()); + #ifdef MIXXX_USE_QML initializeQMLSingletons(); } @@ -636,6 +638,7 @@ void CoreServices::finalize() { mixxx::qml::QmlLibraryProxy::registerLibrary(nullptr); ControllerScriptEngineBase::registerTrackCollectionManager(nullptr); + ControllerScriptEngineBase::registerPlayerManager(nullptr); #endif // Stop all pending library operations From 3d974f7c0617ccd41961484f6572ec4618571c71 Mon Sep 17 00:00:00 2001 From: Nicolas PARLANT Date: Mon, 31 Mar 2025 13:33:13 +0000 Subject: [PATCH 055/181] X11-less - Use FindWrapOpenGL Use FindWrapOpenGL.cmake. It allows X11-less system. Set link_target to OpenGL::OpenGL, GLVND-based. If not found, use OpenGL:GL. Furthermore, adding a __X11__ definition so that the screensaver that requires Xlib is now optional. Signed-off-by: Nicolas PARLANT --- CMakeLists.txt | 10 ++++++++-- src/util/screensaver.cpp | 5 +++-- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index b7a48247f97a..dc54ed5fad34 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -3187,8 +3187,8 @@ else() set(CMAKE_FIND_FRAMEWORK FIRST) endif() set(OpenGL_GL_PREFERENCE "GLVND") - find_package(OpenGL REQUIRED) if(EMSCRIPTEN) + find_package(OpenGL REQUIRED) # Emscripten's FindOpenGL.cmake does not create OpenGL::GL target_link_libraries(mixxx-lib PRIVATE ${OPENGL_gl_LIBRARY}) target_compile_definitions(mixxx-lib PUBLIC QT_OPENGL_ES_2) @@ -3200,7 +3200,12 @@ else() PUBLIC -sMIN_WEBGL_VERSION=2 -sMAX_WEBGL_VERSION=2 -sFULL_ES2=1 ) else() - target_link_libraries(mixxx-lib PRIVATE OpenGL::GL) + find_package(WrapOpenGL REQUIRED) + if(OPENGL_opengl_LIBRARY) + target_link_libraries(mixxx-lib PRIVATE OpenGL::OpenGL) + else() + target_link_libraries(mixxx-lib PRIVATE OpenGL::GL) + endif() endif() if(UNIX AND QGLES2) target_compile_definitions(mixxx-lib PUBLIC QT_OPENGL_ES_2) @@ -3841,6 +3846,7 @@ elseif(UNIX AND NOT APPLE AND NOT EMSCRIPTEN) if(${X11_FOUND}) target_include_directories(mixxx-lib SYSTEM PUBLIC "${X11_INCLUDE_DIR}") target_link_libraries(mixxx-lib PRIVATE "${X11_LIBRARIES}") + target_compile_definitions(mixxx-lib PUBLIC __X11__) endif() find_package(Qt${QT_VERSION_MAJOR} COMPONENTS DBus REQUIRED) target_link_libraries(mixxx-lib PUBLIC Qt${QT_VERSION_MAJOR}::DBus) diff --git a/src/util/screensaver.cpp b/src/util/screensaver.cpp index 9eae4a1b4cd0..88f6e880ea56 100644 --- a/src/util/screensaver.cpp +++ b/src/util/screensaver.cpp @@ -36,7 +36,8 @@ With the help of the following source codes: # include #endif -#if defined(__LINUX__) || (defined(HAVE_XSCREENSAVER_SUSPEND) && HAVE_XSCREENSAVER_SUSPEND) +#if (defined(__LINUX__) && defined(__X11__)) || \ + (defined(HAVE_XSCREENSAVER_SUSPEND) && HAVE_XSCREENSAVER_SUSPEND) # define None XNone # define Window XWindow # include @@ -146,7 +147,7 @@ void ScreenSaverHelper::uninhibitInternal() s_enabled = false; } -#elif defined(Q_OS_LINUX) +#elif (defined(Q_OS_LINUX) && defined(__X11__)) const char *SCREENSAVERS[][4] = { // org.freedesktop.ScreenSaver is the standard. should work for gnome and kde too, // but I add their specific names too From ebeff352f22f4d1dbc35d7f7e3c2c88f1965dc4e Mon Sep 17 00:00:00 2001 From: Nicolas PARLANT Date: Mon, 16 Jun 2025 11:00:46 +0200 Subject: [PATCH 056/181] Don't try localeFromXkbSymbol w/o __X11__ defined Because X11/XKBlib.h is a part of libX11 Signed-off-by: Nicolas PARLANT --- src/coreservices.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/coreservices.cpp b/src/coreservices.cpp index 20fb1c240c66..0837d6039076 100644 --- a/src/coreservices.cpp +++ b/src/coreservices.cpp @@ -63,7 +63,7 @@ #include "util/sandbox.h" #endif -#ifdef Q_OS_LINUX +#if defined(Q_OS_LINUX) && defined(__X11__) #include #endif @@ -118,7 +118,7 @@ Bool __xErrorHandler(Display* display, XErrorEvent* event, xError* error) { #endif -#if defined(Q_OS_LINUX) +#if defined(Q_OS_LINUX) && defined(__X11__) QLocale localeFromXkbSymbol(const QString& xkbLayout) { // This maps XKB layouts to locales of keyboard mappings that are shipped with Mixxx static const QMap xkbToLocaleMap = { @@ -268,7 +268,7 @@ QString getCurrentXkbLayoutName() { // to "ibus engine". QGuiApplication::inputMethod() does not work with GNOME and XFCE // https://bugreports.qt.io/browse/QTBUG-137302 inline QLocale inputLocale() { -#if defined(Q_OS_LINUX) +#if defined(Q_OS_LINUX) && defined(__X11__) QString layoutName = getCurrentXkbLayoutName(); if (!layoutName.isEmpty()) { qDebug() << "Keyboard Layout from XKB:" << layoutName; From 7b116a4a0adf1dc3cffa23c1acc2a0d87f5fb1e8 Mon Sep 17 00:00:00 2001 From: Joerg Date: Sun, 15 Jun 2025 19:33:21 +0200 Subject: [PATCH 057/181] Made JS code containing the new engine.getPlayer API in controller_mapping_validation_test and controllerscriptenginelegacy_test executable without crash --- .../scripting/controllerscriptenginebase.cpp | 2 +- .../scripting/controllerscriptenginebase.h | 7 +- .../controller_mapping_validation_test.cpp | 23 ++--- src/test/controller_mapping_validation_test.h | 3 - .../controllerscriptenginelegacy_test.cpp | 98 ++++++++++++++++++- 5 files changed, 110 insertions(+), 23 deletions(-) diff --git a/src/controllers/scripting/controllerscriptenginebase.cpp b/src/controllers/scripting/controllerscriptenginebase.cpp index 4ed622f147f1..2137803be3e2 100644 --- a/src/controllers/scripting/controllerscriptenginebase.cpp +++ b/src/controllers/scripting/controllerscriptenginebase.cpp @@ -35,12 +35,12 @@ void ControllerScriptEngineBase::registerPlayerManager( ControllerScriptEngineBase::s_pPlayerManager = pPlayerManager; } -#ifdef MIXXX_USE_QML void ControllerScriptEngineBase::registerTrackCollectionManager( std::shared_ptr pTrackCollectionManager) { s_pTrackCollectionManager = std::move(pTrackCollectionManager); } +#ifdef MIXXX_USE_QML void ControllerScriptEngineBase::handleQMLErrors(const QList& qmlErrors) { for (const QQmlError& error : std::as_const(qmlErrors)) { showQMLExceptionDialog(error, m_bErrorsAreFatal); diff --git a/src/controllers/scripting/controllerscriptenginebase.h b/src/controllers/scripting/controllerscriptenginebase.h index 7523942b04ef..05bdaba7a92f 100644 --- a/src/controllers/scripting/controllerscriptenginebase.h +++ b/src/controllers/scripting/controllerscriptenginebase.h @@ -16,9 +16,7 @@ class Controller; class QJSEngine; -#ifdef MIXXX_USE_QML class TrackCollectionManager; -#endif /// ControllerScriptEngineBase manages the JavaScript engine for controller scripts. /// ControllerScriptModuleEngine implements the current system using JS modules. @@ -59,10 +57,9 @@ class ControllerScriptEngineBase : public QObject { static void registerPlayerManager(std::shared_ptr pPlayerManager); -#ifdef MIXXX_USE_QML static void registerTrackCollectionManager( std::shared_ptr pTrackCollectionManager); -#endif + signals: void beforeShutdown(); @@ -99,9 +96,9 @@ class ControllerScriptEngineBase : public QObject { private: static inline std::shared_ptr s_pPlayerManager; -#ifdef MIXXX_USE_QML static inline std::shared_ptr s_pTrackCollectionManager; +#ifdef MIXXX_USE_QML protected: /// Pause the GUI main thread. Pause is required by rendering /// thread (https://doc.qt.io/qt-6/qquickrendercontrol.html#sync). This diff --git a/src/test/controller_mapping_validation_test.cpp b/src/test/controller_mapping_validation_test.cpp index 2b886449412a..1893de1c4bd9 100644 --- a/src/test/controller_mapping_validation_test.cpp +++ b/src/test/controller_mapping_validation_test.cpp @@ -8,7 +8,6 @@ #include "controllers/defs_controllers.h" #include "controllers/scripting/legacy/controllerscriptenginelegacy.h" #include "track/track.h" -#ifdef MIXXX_USE_QML #include "effects/effectsmanager.h" #include "engine/channelhandle.h" #include "engine/enginemixer.h" @@ -16,10 +15,11 @@ #include "library/library.h" #include "mixer/playerinfo.h" #include "mixer/playermanager.h" +#ifdef MIXXX_USE_QML #include "qml/qmlplayermanagerproxy.h" -#include "soundio/soundmanager.h" #endif #include "moc_controller_mapping_validation_test.cpp" +#include "soundio/soundmanager.h" FakeMidiControllerJSProxy::FakeMidiControllerJSProxy() : ControllerJSProxy(nullptr) { @@ -122,18 +122,10 @@ bool FakeController::isMappable() const { return false; } -#ifdef MIXXX_USE_QML -void deleteTrack(Track* pTrack) { - // Delete track objects directly in unit tests with - // no main event loop - delete pTrack; -}; -#endif - void LegacyControllerMappingValidationTest::SetUp() { m_mappingPath = getTestDir().filePath(QStringLiteral("../../res/controllers/")); m_pEnumerator.reset(new MappingInfoEnumerator(QList{m_mappingPath.absolutePath()})); -#ifdef MIXXX_USE_QML + // This setup mirrors coreservices -- it would be nice if we could use coreservices instead // but it does a lot of local disk / settings setup. auto pChannelHandleFactory = std::make_shared(); @@ -165,7 +157,7 @@ void LegacyControllerMappingValidationTest::SetUp() { nullptr, m_pConfig, dbConnectionPooler(), - deleteTrack); + [](Track* pTrack) { delete pTrack; }); m_pRecordingManager = std::make_shared(m_pConfig, m_pEngine.get()); CoverArtCache::createInstance(); @@ -178,16 +170,21 @@ void LegacyControllerMappingValidationTest::SetUp() { m_pRecordingManager.get()); m_pPlayerManager->bindToLibrary(m_pLibrary.get()); +#ifdef MIXXX_USE_QML mixxx::qml::QmlPlayerManagerProxy::registerPlayerManager(m_pPlayerManager); +#endif + ControllerScriptEngineBase::registerPlayerManager(m_pPlayerManager); ControllerScriptEngineBase::registerTrackCollectionManager(m_pTrackCollectionManager); } void LegacyControllerMappingValidationTest::TearDown() { PlayerInfo::destroy(); CoverArtCache::destroy(); +#ifdef MIXXX_USE_QML mixxx::qml::QmlPlayerManagerProxy::registerPlayerManager(nullptr); - ControllerScriptEngineBase::registerTrackCollectionManager(nullptr); #endif + ControllerScriptEngineBase::registerPlayerManager(nullptr); + ControllerScriptEngineBase::registerTrackCollectionManager(nullptr); } bool LegacyControllerMappingValidationTest::testLoadMapping(const MappingInfo& mapping) { diff --git a/src/test/controller_mapping_validation_test.h b/src/test/controller_mapping_validation_test.h index ee5671616799..ab1c0a1c9dd2 100644 --- a/src/test/controller_mapping_validation_test.h +++ b/src/test/controller_mapping_validation_test.h @@ -1,7 +1,6 @@ #pragma once #include - #include "control/controlindicatortimer.h" #include "controllers/controller.h" #include "controllers/controllermappinginfoenumerator.h" @@ -222,7 +221,6 @@ class LegacyControllerMappingValidationTest : public MixxxDbTest, SoundSourcePro protected: void SetUp() override; -#ifdef MIXXX_USE_QML void TearDown() override; TrackPointer getOrAddTrackByLocation( @@ -239,7 +237,6 @@ class LegacyControllerMappingValidationTest : public MixxxDbTest, SoundSourcePro std::shared_ptr m_pTrackCollectionManager; std::shared_ptr m_pRecordingManager; std::shared_ptr m_pLibrary; -#endif bool testLoadMapping(const MappingInfo& mapping); diff --git a/src/test/controllerscriptenginelegacy_test.cpp b/src/test/controllerscriptenginelegacy_test.cpp index 9447f3d1ad61..bd4374f31d9a 100644 --- a/src/test/controllerscriptenginelegacy_test.cpp +++ b/src/test/controllerscriptenginelegacy_test.cpp @@ -30,6 +30,22 @@ #include "test/mixxxtest.h" #include "util/color/colorpalette.h" #include "util/time.h" +#include "track/track.h" +#include "sources/soundsourceproxy.h" +#include "control/controlindicatortimer.h" +#include "database/mixxxdb.h" +#include "test/mixxxdbtest.h" +#include "test/soundsourceproviderregistration.h" +#include "effects/effectsmanager.h" +#include "engine/enginemixer.h" +#include "library/coverartcache.h" +#include "soundio/soundmanager.h" +#include "library/trackcollectionmanager.h" +#include "mixer/playerinfo.h" +#include "mixer/playermanager.h" +#include "recording/recordingmanager.h" +#include "library/library.h" +#include "engine/channelhandle.h" using ::testing::_; using namespace std::chrono_literals; @@ -38,7 +54,7 @@ typedef std::unique_ptr ScopedTemporaryFile; const RuntimeLoggingCategory logger(QString("test").toLocal8Bit()); -class ControllerScriptEngineLegacyTest : public ControllerScriptEngineLegacy, public MixxxTest { +class ControllerScriptEngineLegacyTest : public ControllerScriptEngineLegacy, public MixxxDbTest, SoundSourceProviderRegistration { protected: ControllerScriptEngineLegacyTest() : ControllerScriptEngineLegacy(nullptr, logger) { @@ -57,13 +73,84 @@ class ControllerScriptEngineLegacyTest : public ControllerScriptEngineLegacy, pu mixxx::Time::addTestTime(10ms); QThread::currentThread()->setObjectName("Main"); initialize(); + + // This setup mirrors coreservices -- it would be nice if we could use coreservices instead + // but it does a lot of local disk / settings setup. + auto pChannelHandleFactory = std::make_shared(); + m_pEffectsManager = std::make_shared(config(), pChannelHandleFactory); + m_pEngine = std::make_shared( + config(), + "[Master]", + m_pEffectsManager.get(), + pChannelHandleFactory, + true); + m_pSoundManager = std::make_shared(config(), m_pEngine.get()); + m_pControlIndicatorTimer = std::make_shared(nullptr); + m_pEngine->registerNonEngineChannelSoundIO(gsl::make_not_null(m_pSoundManager.get())); + + CoverArtCache::createInstance(); + + m_pPlayerManager = std::make_shared(config(), + m_pSoundManager.get(), + m_pEffectsManager.get(), + m_pEngine.get()); + + m_pPlayerManager->addConfiguredDecks(); + m_pPlayerManager->addSampler(); + PlayerInfo::create(); + m_pEffectsManager->setup(); + + const auto dbConnection = mixxx::DbConnectionPooled(dbConnectionPooler()); + if (!MixxxDb::initDatabaseSchema(dbConnection)) { + exit(1); + } + + m_pTrackCollectionManager = std::make_shared( + nullptr, + config(), + dbConnectionPooler(), + [](Track* pTrack) { delete pTrack; }); + + m_pRecordingManager = std::make_shared(config(), m_pEngine.get()); + m_pLibrary = std::make_shared( + nullptr, + config(), + dbConnectionPooler(), + m_pTrackCollectionManager.get(), + m_pPlayerManager.get(), + m_pRecordingManager.get()); + + m_pPlayerManager->bindToLibrary(m_pLibrary.get()); + ControllerScriptEngineBase::registerPlayerManager(m_pPlayerManager); + ControllerScriptEngineBase::registerTrackCollectionManager(m_pTrackCollectionManager); } + // Helper to get or add a track by location, like in PlayerManagerTest + TrackPointer getOrAddTrackByLocation(const QString& trackLocation) { + return m_pTrackCollectionManager->getOrAddTrack( + TrackRef::fromFilePath(trackLocation)); + } void TearDown() override { mixxx::Time::setTestMode(false); #ifdef MIXXX_USE_QML m_rootItems.clear(); #endif + CoverArtCache::destroy(); + ControllerScriptEngineBase::registerPlayerManager(nullptr); + ControllerScriptEngineBase::registerTrackCollectionManager(nullptr); + } + + ~ControllerScriptEngineLegacyTest() { + // Reset in the correct order to avoid singleton destruction issues + m_pSoundManager.reset(); + m_pPlayerManager.reset(); + PlayerInfo::destroy(); + m_pLibrary.reset(); + m_pRecordingManager.reset(); + m_pEngine.reset(); + m_pEffectsManager.reset(); + m_pTrackCollectionManager.reset(); + m_pControlIndicatorTimer.reset(); } bool evaluateScriptFile(const QFileInfo& scriptFile) { @@ -107,6 +194,15 @@ class ControllerScriptEngineLegacyTest : public ControllerScriptEngineLegacy, pu handleScreenFrame(screeninfo, frame, timestamp); } #endif + + std::shared_ptr m_pEffectsManager; + std::shared_ptr m_pEngine; + std::shared_ptr m_pSoundManager; + std::shared_ptr m_pControlIndicatorTimer; + std::shared_ptr m_pPlayerManager; + std::shared_ptr m_pRecordingManager; + std::shared_ptr m_pLibrary; + std::shared_ptr m_pTrackCollectionManager; }; TEST_F(ControllerScriptEngineLegacyTest, commonScriptHasNoErrors) { From 80e959a3e289ea257dc692c3bc7697ad21e67eb9 Mon Sep 17 00:00:00 2001 From: Christophe Henry Date: Fri, 20 Jun 2025 14:59:50 +0200 Subject: [PATCH 058/181] Add tests for JavascriptPlayerProxy API --- .../controllerscriptenginelegacy_test.cpp | 94 ++++++++++++++---- src/test/id3-test-data/all.mp3 | Bin 0 -> 4096 bytes 2 files changed, 77 insertions(+), 17 deletions(-) create mode 100644 src/test/id3-test-data/all.mp3 diff --git a/src/test/controllerscriptenginelegacy_test.cpp b/src/test/controllerscriptenginelegacy_test.cpp index bd4374f31d9a..2258d47c7f3b 100644 --- a/src/test/controllerscriptenginelegacy_test.cpp +++ b/src/test/controllerscriptenginelegacy_test.cpp @@ -7,6 +7,7 @@ #include #include #include +#include #include #include #include @@ -27,25 +28,28 @@ #ifdef MIXXX_USE_QML #include "qml/qmlmixxxcontrollerscreen.h" #endif -#include "test/mixxxtest.h" -#include "util/color/colorpalette.h" -#include "util/time.h" -#include "track/track.h" -#include "sources/soundsourceproxy.h" #include "control/controlindicatortimer.h" #include "database/mixxxdb.h" -#include "test/mixxxdbtest.h" -#include "test/soundsourceproviderregistration.h" #include "effects/effectsmanager.h" +#include "engine/channelhandle.h" +#include "engine/channels/enginedeck.h" +#include "engine/enginebuffer.h" #include "engine/enginemixer.h" #include "library/coverartcache.h" -#include "soundio/soundmanager.h" +#include "library/library.h" #include "library/trackcollectionmanager.h" +#include "mixer/deck.h" #include "mixer/playerinfo.h" #include "mixer/playermanager.h" #include "recording/recordingmanager.h" -#include "library/library.h" -#include "engine/channelhandle.h" +#include "soundio/soundmanager.h" +#include "sources/soundsourceproxy.h" +#include "test/mixxxdbtest.h" +#include "test/mixxxtest.h" +#include "test/soundsourceproviderregistration.h" +#include "track/track.h" +#include "util/color/colorpalette.h" +#include "util/time.h" using ::testing::_; using namespace std::chrono_literals; @@ -54,7 +58,9 @@ typedef std::unique_ptr ScopedTemporaryFile; const RuntimeLoggingCategory logger(QString("test").toLocal8Bit()); -class ControllerScriptEngineLegacyTest : public ControllerScriptEngineLegacy, public MixxxDbTest, SoundSourceProviderRegistration { +class ControllerScriptEngineLegacyTest : public ControllerScriptEngineLegacy, + public MixxxDbTest, + SoundSourceProviderRegistration { protected: ControllerScriptEngineLegacyTest() : ControllerScriptEngineLegacy(nullptr, logger) { @@ -87,7 +93,7 @@ class ControllerScriptEngineLegacyTest : public ControllerScriptEngineLegacy, pu m_pSoundManager = std::make_shared(config(), m_pEngine.get()); m_pControlIndicatorTimer = std::make_shared(nullptr); m_pEngine->registerNonEngineChannelSoundIO(gsl::make_not_null(m_pSoundManager.get())); - + CoverArtCache::createInstance(); m_pPlayerManager = std::make_shared(config(), @@ -125,11 +131,22 @@ class ControllerScriptEngineLegacyTest : public ControllerScriptEngineLegacy, pu ControllerScriptEngineBase::registerTrackCollectionManager(m_pTrackCollectionManager); } - // Helper to get or add a track by location, like in PlayerManagerTest - TrackPointer getOrAddTrackByLocation(const QString& trackLocation) { - return m_pTrackCollectionManager->getOrAddTrack( - TrackRef::fromFilePath(trackLocation)); + void loadTrackSync(const QString& trackLocation) { + TrackPointer pTrack1 = m_pTrackCollectionManager->getOrAddTrack( + TrackRef::fromFilePath(getTestDir().filePath(trackLocation))); + auto* deck = m_pPlayerManager->getDeck(1); + deck->slotLoadTrack(pTrack1, +#ifdef __STEM__ + mixxx::StemChannelSelection(), +#endif + false); + m_pEngine->process(1024); + while (!deck->getEngineDeck()->getEngineBuffer()->isTrackLoaded()) { + QTest::qSleep(100); + } + processEvents(); } + void TearDown() override { mixxx::Time::setTestMode(false); #ifdef MIXXX_USE_QML @@ -914,11 +931,54 @@ TEST_F(ControllerScriptEngineLegacyTest, convertCharsetAllCharset) { } } +TEST_F(ControllerScriptEngineLegacyTest, JavascriptPlayerProxy) { + QMap expectedValues = { + std::pair("artist", "Test Artist"), + std::pair("title", "Test title"), + std::pair("album", "Test Album"), + std::pair("albumArtist", "Test Album Artist"), + std::pair("genre", "Test genre"), + std::pair("composer", "Test Composer"), + std::pair("grouping", ""), + std::pair("year", "2011"), + std::pair("trackNumber", "07"), + std::pair("trackTotal", "60")}; + + m_pJSEngine->globalObject().setProperty( + "testedValues", m_pJSEngine->toScriptValue(expectedValues.keys())); + + const auto* code = + "var result = {};" + "var player = engine.getPlayer('[Channel1]');" + "for(const name of testedValues) {" + " player[`${name}Changed`].connect(newValue => {" + " result[name] = newValue;" + " });" + "}"; + + EXPECT_TRUE(evaluateAndAssert(code)) << "Evaluation error in test code"; + loadTrackSync("id3-test-data/all.mp3"); + for (auto [property, expected] : expectedValues.asKeyValueRange()) { + auto const playerActual = evaluate("player." + property).toString(); + auto const slotActual = evaluate("result." + property).toString(); + EXPECT_QSTRING_EQ(expected, playerActual) + << QString("engine.getPlayer(...).%1 doesn't corresponds to " + "its expected value (expected: %2, actual: %3)") + .arg(property, expected, playerActual) + .toStdString(); + EXPECT_QSTRING_EQ(expected, slotActual) << QString( + "engine.getPlayer(...).%1Changed slot didn't produce the " + "expected value (expected: %2, actual: %3)") + .arg(property, expected, playerActual) + .toStdString(); + } +} + #ifdef MIXXX_USE_QML class MockScreenRender : public ControllerRenderingEngine { public: MockScreenRender(const LegacyControllerMapping::ScreenInfo& info) - : ControllerRenderingEngine(info, new ControllerEngineThreadControl){}; + : ControllerRenderingEngine(info, new ControllerEngineThreadControl) {}; MOCK_METHOD(void, requestSendingFrameData, (Controller * controller, const QByteArray& frame), diff --git a/src/test/id3-test-data/all.mp3 b/src/test/id3-test-data/all.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..2a383fc1fe685f8ce20d6f8abab1b201dc3b4e65 GIT binary patch literal 4096 zcmeHISyWS577a2Bk`Th6fFy<>gqbKI6qG;+fiP(ZV=+TOBFd-;h(rh=Q!$7}v;?A3 zh*E-zA~H`hg-L`4wL}~O(v(ahhQhplbhZAJpS@OpG<&VH-nsj{ckfwyuXnDUHBJ}; zLRyDrM>7HwDKKdCm{??NSZp|*c93MaS^Y{{M#qN5#DeVRtMG4Zc;NA)$p6$V9jrk9 z+cuV)HJT@h3X-B=7#SEE(x^mxFckyC0IzRsKqERkf%&&@Lg~k%=^*I{k}_cYyB}i2 z(a4AxdNjD+!j=MC3T!E`rNIA40pQR4&c7XPcPu0VB%xq{gI=-^g8Mr{zJucLfcqT) z-vM|Q!NJmzgwrDsqJ;*&_Jm-n3yXo*5OcGSA;Ox**TVnH^Dl#39>Z43as}-^mSwTB zEt7ic0pV;I1Y$O4q4XjMpPbqw#m@tBldA0Vdjr2>hdqhbB*NigL@_0OkiiEF)S7DF;dO2ZpOAN z?lMW({!EX;Do;oT{leRx!*!m{K=R7E;Iu&SYf@7%d$jWX%eG^-4~Y&xzZov!UAo$E zTUE&OgDX^-*?w_ekiMRCM6`n>VZECJGCLSKIsiev7ql~E2O4u z%fxN?qM9#y%n)lu)4rEeeD_A?bVu;BqU!ja4wfaVcPezWSP$)TaEM+bQjQD4_O*Xn z?(*A5ax?pMZo!66DEExOa{R0|u=aOO<0N?H>5uhXuQN~wok+j2ORFc@=|1)Vzj!s` zg^kX|wLHCJS z7{sj@{}QrDs(Ciw2ECoCnlf1L)>NsrGSoVh$cvpoH|*H&t|5US|1tS8iT<8l@qC?r zc~pO;AvEaPb5Yag57?PU=FC^q6K)rr97kaiy#9B{GIgc%7u`6Xm9sUuW<_I)9TIg- z(Q4#%gM@x*+9YM82oFnPoPgggGE?p^?@cfl`c!)r*0t%71Jji!vjMpSY|Ht}AwwJc z+@~h`?c81@L{+gM(yE&eHJ{?D>(K&2j0!>>nkVCo*7}@1TKIhaM#0MTflf5Lh?1bA zas2wS*mmjMr*H#N>R>L3C8MoJJ!Nq>h6u3B69?4f7Y;0jB~pixZU}SZfNm%KQqv5~ zs{Dq6RN-nn%3;+zRmTuP>3TUd%335|=!ZAX=xe^&C`F5&;aq&k7SUqmpW7DxNG7K9 zV)@JbyJFQxjR&Ys9JytxRZdMlYJP6V7~^Vz`V>?2)~zuGerb!o{zt!6VC~v*zPER^ zy@eG8MSXplMZT$Wsn%4&7$?&vt`Nn_e;Y(f|$UdCy@A&#N_oqOw`j%u$ zK(lSM_HKhJ?hHBNA5&y|lU+NaTwO`6W`%t#+!3N|_;!SrTbh=Pycg%o>4B;qA zRnkM&jVyW8M7+YNmPur3$5QR-v}Ia8Y}|UJwM3hG=#XQ3TU_hHp2jCbm1DE<3jf3% z2lxPQg-_qkpT1;RNX40ST;A0s193<_^x0+~L(-NuPeJBE{A*Gsua!w}cp-YP8cEtX6Gv zHKimX+@;pCoo}7iMA2o_&Gzy#KPO*9v4fPDS(GKTLdun*Y5WkXk(Yimt!rtc(@)~$ zMK1i%tS&9<)n0plzOY9WieZc7DE7-q2DgV@Ddp@61xz*I9M8!KM_fx^_B7gR2O1Di z_ovtIC%V;M>d?5&Ia5~7=G#?iT Date: Sat, 21 Jun 2025 02:10:38 +0200 Subject: [PATCH 059/181] Dont use asKeyValueRange() when building with Qt 6.2 --- src/test/controllerscriptenginelegacy_test.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/test/controllerscriptenginelegacy_test.cpp b/src/test/controllerscriptenginelegacy_test.cpp index 77e7729cf5c7..472c3d217870 100644 --- a/src/test/controllerscriptenginelegacy_test.cpp +++ b/src/test/controllerscriptenginelegacy_test.cpp @@ -974,7 +974,13 @@ TEST_F(ControllerScriptEngineLegacyTest, JavascriptPlayerProxy) { EXPECT_TRUE(evaluateAndAssert(code)) << "Evaluation error in test code"; loadTrackSync("id3-test-data/all.mp3"); +#if QT_VERSION >= QT_VERSION_CHECK(6, 4, 0) for (auto [property, expected] : expectedValues.asKeyValueRange()) { +#else + for (auto it = expectedValues.constBegin(); it != expectedValues.constEnd(); ++it) { + const QString& property = it.key(); + const QString& expected = it.value(); +#endif auto const playerActual = evaluate("player." + property).toString(); auto const slotActual = evaluate("result." + property).toString(); EXPECT_QSTRING_EQ(expected, playerActual) From d93e3c9582ab3247199fea3c8fa7aca9d3a5d096 Mon Sep 17 00:00:00 2001 From: Joerg Date: Sun, 22 Jun 2025 08:46:49 +0200 Subject: [PATCH 060/181] Change GitHub issue templates to set the issue type (bug or feature) instead of defining an additional label --- .github/ISSUE_TEMPLATE/bug.yaml | 2 +- .github/ISSUE_TEMPLATE/feature_request.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/bug.yaml b/.github/ISSUE_TEMPLATE/bug.yaml index 57bdc60f2f9e..c1e6a0480cb2 100644 --- a/.github/ISSUE_TEMPLATE/bug.yaml +++ b/.github/ISSUE_TEMPLATE/bug.yaml @@ -1,7 +1,7 @@ name: 🐛 Bug Report description: | Describe your problem here. -labels: [bug] +type: "bug" body: - type: markdown attributes: diff --git a/.github/ISSUE_TEMPLATE/feature_request.yaml b/.github/ISSUE_TEMPLATE/feature_request.yaml index 18489e986b0c..2ce3e4bd9aed 100644 --- a/.github/ISSUE_TEMPLATE/feature_request.yaml +++ b/.github/ISSUE_TEMPLATE/feature_request.yaml @@ -1,7 +1,7 @@ name: 🚀 Feature Request description: | What feature would you like to see added to Mixxx? -labels: [feature] +type: "feature" body: - type: markdown attributes: From 1ffbbfba801ca036734cb52466f8a187a4792d9a Mon Sep 17 00:00:00 2001 From: ronso0 Date: Wed, 14 May 2025 01:31:17 +0200 Subject: [PATCH 061/181] Looping: press 'beatloop_activate' while a looproll is active to adopt the loop and quit slip mode (without seeking) --- src/engine/controls/loopingcontrol.cpp | 51 +++++++++++++++++++------- src/engine/enginebuffer.cpp | 14 ++++++- src/engine/enginebuffer.h | 3 ++ 3 files changed, 53 insertions(+), 15 deletions(-) diff --git a/src/engine/controls/loopingcontrol.cpp b/src/engine/controls/loopingcontrol.cpp index cb1c7436e3c4..f5a099790c70 100644 --- a/src/engine/controls/loopingcontrol.cpp +++ b/src/engine/controls/loopingcontrol.cpp @@ -1309,6 +1309,15 @@ void LoopingControl::slotBeatLoopDeactivate(BeatLoopingControl* pBeatLoopControl void LoopingControl::slotBeatLoopDeactivateRoll(BeatLoopingControl* pBeatLoopControl) { pBeatLoopControl->deactivate(); + + if (!m_bLoopRollActive) { + // beatloop_activate was pressed while rolling and slotBeatLoopToggle() + // did already reset roll status (m_activeLoopRolls, m_bLoopRollActive) + // and EngineBuffer quit slip mode (but didn't seek). + // So nothing to do here, just leave the adopted loop active. + return; + } + const double size = pBeatLoopControl->getSize(); // clang-tidy wants auto to be auto* because QStack inherits from QVector // and QVector::iterator is a pointer type in Qt5, but QStack inherits @@ -1325,18 +1334,15 @@ void LoopingControl::slotBeatLoopDeactivateRoll(BeatLoopingControl* pBeatLoopCon // Make sure slip mode is not turned off if it was turned on // by something that was not a rolling beatloop. - if (m_bLoopRollActive && m_activeLoopRolls.empty()) { + if (m_activeLoopRolls.empty()) { setLoopingEnabled(false); m_pSlipEnabled->set(0); m_bLoopRollActive = false; - } - - // Return to the previous beatlooproll if necessary. - // Else previous regular beatloop if no rolling loops are active. - if (!m_activeLoopRolls.empty()) { - slotBeatLoop(m_activeLoopRolls.top(), m_bLoopRollActive, true); - } else { restoreLoopInfo(); + } else { + // Return to the previous beatlooproll if necessary. + // Else previous regular beatloop if no rolling loops are active. + slotBeatLoop(m_activeLoopRolls.top(), m_bLoopRollActive, true); } } @@ -1694,14 +1700,25 @@ void LoopingControl::slotBeatLoopSizeChangeRequest(double beats) { } void LoopingControl::slotBeatLoopToggle(double pressed) { - if (pressed > 0) { - if (m_bLoopingEnabled) { + if (pressed <= 0) { + return; + } + + if (m_bLoopingEnabled) { + // If we're in a rolling loop, quit slip mode and adopt it as regular loop. + // Use case is to have a looproll button pressed, then press loop_activate + // and nothing should happen when releasing the looproll button. + if (m_bLoopRollActive) { + m_bLoopRollActive = false; + m_activeLoopRolls.clear(); + getEngineBuffer()->slipQuitAndAdopt(); + } else { // Deactivate the loop if we're already looping setLoopingEnabled(false); - } else { - // Create a loop at current position - slotBeatLoop(m_pCOBeatLoopSize->get()); } + } else { + // Create a loop at current position + slotBeatLoop(m_pCOBeatLoopSize->get()); } } @@ -1723,6 +1740,14 @@ void LoopingControl::slotBeatLoopRollActivate(double pressed) { m_bLoopRollActive = true; } } else { + if (!m_bLoopRollActive) { + // beatloop_activate was pressed while rolling and slotBeatLoopToggle() + // did already reset roll status (m_activeLoopRolls, m_bLoopRollActive) + // and EngineBuffer quit slip mode (but didn't seek). + // So nothing to do here, just leave the adopted loop active. + return; + } + setLoopingEnabled(false); // Make sure slip mode is not turned off if it was turned on // by something that was not a rolling beatloop. diff --git a/src/engine/enginebuffer.cpp b/src/engine/enginebuffer.cpp index 9461197e4d5c..103a03b8eada 100644 --- a/src/engine/enginebuffer.cpp +++ b/src/engine/enginebuffer.cpp @@ -90,6 +90,7 @@ EngineBuffer::EngineBuffer(const QString& group, m_iSeekPhaseQueued(0), m_iEnableSyncQueued(SYNC_REQUEST_NONE), m_iSyncModeQueued(static_cast(SyncMode::Invalid)), + m_slipQuitAndAdopt(0), m_bPlayAfterLoading(false), m_channelCount(mixxx::kEngineChannelOutputCount), m_pCrossfadeBuffer(SampleUtil::alloc( @@ -864,6 +865,11 @@ void EngineBuffer::slotKeylockEngineChanged(double dIndex) { } } +void EngineBuffer::slipQuitAndAdopt() { + m_slipQuitAndAdopt.storeRelease(1); + m_pSlipButton->set(0); +} + void EngineBuffer::processTrackLocked( CSAMPLE* pOutput, const std::size_t bufferSize, mixxx::audio::SampleRate sampleRate) { ScopedTimer t(QStringLiteral("EngineBuffer::process_pauselock")); @@ -1257,8 +1263,12 @@ void EngineBuffer::processSlip(std::size_t bufferSize) { m_slipPos = m_playPos; m_dSlipRate = m_rate_old; } else { - // TODO(owen) assuming that looping will get canceled properly - seekExact(m_slipPos.toNearestFrameBoundary()); + // If m_slipQuitAndAdopt is 1 we've already quit slip mode + // but we don't seek in that case. + if (m_slipQuitAndAdopt.fetchAndStoreAcquire(0) == 0) { + // TODO(owen) assuming that looping will get canceled properly + seekExact(m_slipPos.toNearestFrameBoundary()); + } m_slipPos = mixxx::audio::kStartFramePos; } } diff --git a/src/engine/enginebuffer.h b/src/engine/enginebuffer.h index 9d4480609a15..046b2ff8dec5 100644 --- a/src/engine/enginebuffer.h +++ b/src/engine/enginebuffer.h @@ -236,6 +236,8 @@ class EngineBuffer : public EngineObject { void verifyPlay(); + void slipQuitAndAdopt(); + public slots: void slotControlPlayRequest(double); void slotControlPlayFromStart(double); @@ -466,6 +468,7 @@ class EngineBuffer : public EngineObject { ControlValueAtomic m_queuedSeek; bool m_previousBufferSeek = false; + QAtomicInt m_slipQuitAndAdopt; /// Indicates that no seek is queued static constexpr QueuedSeek kNoQueuedSeek = {mixxx::audio::kInvalidFramePos, SEEK_NONE}; /// indicates a clone seek on a bosition from another deck From d0009e3fa09cd64ab485dcc475564ab0b79483ff Mon Sep 17 00:00:00 2001 From: "Antoine C." Date: Tue, 24 Jun 2025 19:02:10 +0000 Subject: [PATCH 062/181] chore(waveform): migrate option to global namespace --- src/preferences/dialog/dlgprefwaveform.cpp | 36 ++++++------ src/preferences/dialog/dlgprefwaveform.h | 8 +-- src/preferences/upgrade.cpp | 20 +++---- src/qml/qmlwaveformrenderer.cpp | 12 ++-- src/qml/qmlwaveformrenderer.h | 22 +++++++- src/test/waveform_upgrade_test.cpp | 54 +++++++++--------- .../allshader/waveformrendererfiltered.cpp | 5 +- .../allshader/waveformrendererfiltered.h | 3 +- .../allshader/waveformrendererhsv.cpp | 5 +- .../renderers/allshader/waveformrendererhsv.h | 3 +- .../allshader/waveformrendererrgb.cpp | 6 +- .../renderers/allshader/waveformrendererrgb.h | 5 +- .../allshader/waveformrenderersignalbase.cpp | 4 +- .../allshader/waveformrenderersignalbase.h | 11 +--- .../allshader/waveformrenderersimple.cpp | 4 +- .../allshader/waveformrenderersimple.h | 3 +- .../allshader/waveformrendererstem.cpp | 5 +- .../allshader/waveformrendererstem.h | 4 +- .../allshader/waveformrenderertextured.cpp | 6 +- .../allshader/waveformrenderertextured.h | 6 +- .../deprecated/glwaveformrenderersignal.h | 5 +- .../renderers/glvsynctestrenderer.cpp | 3 +- .../renderers/qtvsynctestrenderer.cpp | 5 +- .../qtwaveformrendererfilteredsignal.cpp | 5 +- .../qtwaveformrendererfilteredsignal.h | 4 +- .../waveformrendererfilteredsignal.cpp | 5 +- .../waveformrendererfilteredsignal.h | 2 +- .../renderers/waveformrendererhsv.cpp | 5 +- src/waveform/renderers/waveformrendererhsv.h | 2 +- .../renderers/waveformrendererrgb.cpp | 5 +- src/waveform/renderers/waveformrendererrgb.h | 2 +- .../renderers/waveformrenderersignalbase.cpp | 2 +- .../renderers/waveformrenderersignalbase.h | 10 +++- src/waveform/waveformwidgetfactory.cpp | 55 +++++++++++-------- src/waveform/waveformwidgetfactory.h | 27 ++++++--- .../widgets/allshader/waveformwidget.cpp | 22 ++++---- .../widgets/allshader/waveformwidget.h | 6 +- src/waveform/widgets/hsvwaveformwidget.cpp | 6 +- src/waveform/widgets/hsvwaveformwidget.h | 5 +- src/waveform/widgets/rgbwaveformwidget.cpp | 6 +- src/waveform/widgets/rgbwaveformwidget.h | 5 +- .../widgets/softwarewaveformwidget.cpp | 6 +- src/waveform/widgets/softwarewaveformwidget.h | 5 +- 43 files changed, 244 insertions(+), 176 deletions(-) diff --git a/src/preferences/dialog/dlgprefwaveform.cpp b/src/preferences/dialog/dlgprefwaveform.cpp index d770f10e1249..32d06bed9a82 100644 --- a/src/preferences/dialog/dlgprefwaveform.cpp +++ b/src/preferences/dialog/dlgprefwaveform.cpp @@ -225,10 +225,10 @@ DlgPrefWaveform::~DlgPrefWaveform() { } void DlgPrefWaveform::slotSetWaveformOptions( - allshader::WaveformRendererSignalBase::Option option, bool enabled) { - allshader::WaveformRendererSignalBase::Options currentOption = m_pConfig->getValue( + WaveformRendererSignalBase::Option option, bool enabled) { + WaveformRendererSignalBase::Options currentOption = m_pConfig->getValue( ConfigKey("[Waveform]", "waveform_options"), - allshader::WaveformRendererSignalBase::Option::None); + WaveformRendererSignalBase::Option::None); m_pConfig->setValue(ConfigKey("[Waveform]", "waveform_options"), enabled ? currentOption | option @@ -268,9 +268,9 @@ void DlgPrefWaveform::slotUpdate() { bool useWaveform = factory->getType() != WaveformWidgetType::Empty; useWaveformCheckBox->setChecked(useWaveform); - allshader::WaveformRendererSignalBase::Options currentOptions = m_pConfig->getValue( + WaveformRendererSignalBase::Options currentOptions = m_pConfig->getValue( ConfigKey("[Waveform]", "waveform_options"), - allshader::WaveformRendererSignalBase::Option::None); + WaveformRendererSignalBase::Option::None); WaveformWidgetBackend backend = m_pConfig->getValue( ConfigKey("[Waveform]", "use_hardware_acceleration"), factory->preferredBackend()); @@ -348,11 +348,11 @@ void DlgPrefWaveform::slotResetToDefaults() { updateWaveformAcceleration(WaveformWidgetFactory::defaultType(), defaultBackend); updateWaveformTypeOptions(true, defaultBackend, - allshader::WaveformRendererSignalBase::Option::None); + WaveformRendererSignalBase::Option::None); // Restore waveform backend and option setting instantly m_pConfig->setValue(ConfigKey("[Waveform]", "waveform_options"), - allshader::WaveformRendererSignalBase::Option::None); + WaveformRendererSignalBase::Option::None); m_pConfig->setValue(ConfigKey("[Waveform]", "use_hardware_acceleration"), defaultBackend); factory->setWidgetTypeFromHandle( @@ -420,9 +420,9 @@ void DlgPrefWaveform::slotSetWaveformType(int index) { useAccelerationCheckBox->setChecked(backend != WaveformWidgetBackend::None); - allshader::WaveformRendererSignalBase::Options currentOptions = m_pConfig->getValue( + WaveformRendererSignalBase::Options currentOptions = m_pConfig->getValue( ConfigKey("[Waveform]", "waveform_options"), - allshader::WaveformRendererSignalBase::Option::None); + WaveformRendererSignalBase::Option::None); updateWaveformAcceleration(type, backend); updateWaveformTypeOptions(true, backend, currentOptions); updateEnableUntilMark(); @@ -459,9 +459,9 @@ void DlgPrefWaveform::slotSetWaveformAcceleration(bool checked) { auto type = static_cast(waveformTypeComboBox->currentData().toInt()); auto* factory = WaveformWidgetFactory::instance(); factory->setWidgetTypeFromHandle(factory->findHandleIndexFromType(type), true); - allshader::WaveformRendererSignalBase::Options currentOptions = m_pConfig->getValue( + WaveformRendererSignalBase::Options currentOptions = m_pConfig->getValue( ConfigKey("[Waveform]", "waveform_options"), - allshader::WaveformRendererSignalBase::Option::None); + WaveformRendererSignalBase::Option::None); updateWaveformTypeOptions(true, backend, currentOptions); updateEnableUntilMark(); } @@ -495,14 +495,14 @@ void DlgPrefWaveform::updateWaveformAcceleration( void DlgPrefWaveform::updateWaveformTypeOptions(bool useWaveform, WaveformWidgetBackend backend, - allshader::WaveformRendererSignalBase::Options currentOptions) { + WaveformRendererSignalBase::Options currentOptions) { splitLeftRightCheckBox->blockSignals(true); highDetailCheckBox->blockSignals(true); #ifdef MIXXX_USE_QOPENGL WaveformWidgetFactory* factory = WaveformWidgetFactory::instance(); - allshader::WaveformRendererSignalBase::Options supportedOption = - allshader::WaveformRendererSignalBase::Option::None; + WaveformRendererSignalBase::Options supportedOption = + WaveformRendererSignalBase::Option::None; auto type = static_cast(waveformTypeComboBox->currentData().toInt()); int handleIdx = factory->findHandleIndexFromType(type); @@ -513,15 +513,15 @@ void DlgPrefWaveform::updateWaveformTypeOptions(bool useWaveform, splitLeftRightCheckBox->setEnabled(useWaveform && supportedOption & - allshader::WaveformRendererSignalBase::Option::SplitStereoSignal); + WaveformRendererSignalBase::Option::SplitStereoSignal); highDetailCheckBox->setEnabled(useWaveform && supportedOption & - allshader::WaveformRendererSignalBase::Option::HighDetail); + WaveformRendererSignalBase::Option::HighDetail); splitLeftRightCheckBox->setChecked(splitLeftRightCheckBox->isEnabled() && currentOptions & - allshader::WaveformRendererSignalBase::Option::SplitStereoSignal); + WaveformRendererSignalBase::Option::SplitStereoSignal); highDetailCheckBox->setChecked(highDetailCheckBox->isEnabled() && - currentOptions & allshader::WaveformRendererSignalBase::Option::HighDetail); + currentOptions & WaveformRendererSignalBase::Option::HighDetail); #else splitLeftRightCheckBox->setVisible(false); highDetailCheckBox->setVisible(false); diff --git a/src/preferences/dialog/dlgprefwaveform.h b/src/preferences/dialog/dlgprefwaveform.h index 367dda8b396a..dbdfe2831d56 100644 --- a/src/preferences/dialog/dlgprefwaveform.h +++ b/src/preferences/dialog/dlgprefwaveform.h @@ -35,14 +35,14 @@ class DlgPrefWaveform : public DlgPreferencePage, public Ui::DlgPrefWaveformDlg void slotSetWaveformEnabled(bool checked); void slotSetWaveformAcceleration(bool checked); #ifdef MIXXX_USE_QOPENGL - void slotSetWaveformOptions(allshader::WaveformRendererSignalBase::Option option, bool enabled); + void slotSetWaveformOptions(WaveformRendererSignalBase::Option option, bool enabled); void slotSetWaveformOptionSplitStereoSignal(bool checked) { - slotSetWaveformOptions(allshader::WaveformRendererSignalBase::Option:: + slotSetWaveformOptions(WaveformRendererSignalBase::Option:: SplitStereoSignal, checked); } void slotSetWaveformOptionHighDetail(bool checked) { - slotSetWaveformOptions(allshader::WaveformRendererSignalBase::Option::HighDetail, checked); + slotSetWaveformOptions(WaveformRendererSignalBase::Option::HighDetail, checked); } #endif void slotSetWaveformOverviewType(); @@ -71,7 +71,7 @@ class DlgPrefWaveform : public DlgPreferencePage, public Ui::DlgPrefWaveformDlg void updateEnableUntilMark(); void updateWaveformTypeOptions(bool useWaveform, WaveformWidgetBackend backend, - allshader::WaveformRendererSignalBase::Options currentOption); + WaveformRendererSignalBase::Options currentOption); void updateWaveformAcceleration( WaveformWidgetType::Type type, WaveformWidgetBackend backend); void updateWaveformGeneralOptionsEnabled(); diff --git a/src/preferences/upgrade.cpp b/src/preferences/upgrade.cpp index 1d7704a6da47..f4641a5961a7 100644 --- a/src/preferences/upgrade.cpp +++ b/src/preferences/upgrade.cpp @@ -37,7 +37,7 @@ namespace { // mapping to proactively move users to the new all-shader waveform types std::tuple + WaveformRendererSignalBase::Options> upgradeToAllShaders(int unsafeWaveformType, int unsafeWaveformBackend, int unsafeWaveformOption) { @@ -45,10 +45,10 @@ upgradeToAllShaders(int unsafeWaveformType, using WWT = WaveformWidgetType; if (static_cast(WaveformWidgetBackend::AllShader) == unsafeWaveformBackend) { - allshader::WaveformRendererSignalBase::Options waveformOption = - static_cast( + WaveformRendererSignalBase::Options waveformOption = + static_cast( unsafeWaveformOption) & - allshader::WaveformRendererSignalBase::Option::AllOptionsCombined; + WaveformRendererSignalBase::Option::AllOptionsCombined; switch (unsafeWaveformType) { case WWT::Simple: case WWT::Filtered: @@ -67,8 +67,8 @@ upgradeToAllShaders(int unsafeWaveformType, } // Reset the options - allshader::WaveformRendererSignalBase::Options waveformOption = - allshader::WaveformRendererSignalBase::Option::None; + WaveformRendererSignalBase::Options waveformOption = + WaveformRendererSignalBase::Option::None; WaveformWidgetType::Type waveformType = static_cast(unsafeWaveformType); WaveformWidgetBackend waveformBackend = WaveformWidgetBackend::AllShader; @@ -97,7 +97,7 @@ upgradeToAllShaders(int unsafeWaveformType, // Filtered waveforms case WWT::Filtered: // GLSLFilteredWaveform case 22: // AllShaderTexturedFiltered - waveformOption = allshader::WaveformRendererSignalBase::Option::HighDetail; + waveformOption = WaveformRendererSignalBase::Option::HighDetail; [[fallthrough]]; case 2: // SoftwareWaveform case 4: // QtWaveform @@ -116,7 +116,7 @@ upgradeToAllShaders(int unsafeWaveformType, // Stacked waveform case 24: // AllShaderTexturedStacked case WWT::Stacked: // GLSLRGBStackedWaveform - waveformOption = allshader::WaveformRendererSignalBase::Option::HighDetail; + waveformOption = WaveformRendererSignalBase::Option::HighDetail; [[fallthrough]]; case 26: // AllShaderRGBStackedWaveform waveformType = WaveformWidgetType::Stacked; @@ -127,8 +127,8 @@ upgradeToAllShaders(int unsafeWaveformType, case 23: // AllShaderTexturedRGB case 12: // GLSLRGBWaveform waveformOption = unsafeWaveformType == 18 - ? allshader::WaveformRendererSignalBase::Option::SplitStereoSignal - : allshader::WaveformRendererSignalBase::Option::HighDetail; + ? WaveformRendererSignalBase::Option::SplitStereoSignal + : WaveformRendererSignalBase::Option::HighDetail; [[fallthrough]]; default: waveformType = WaveformWidgetFactory::defaultType(); diff --git a/src/qml/qmlwaveformrenderer.cpp b/src/qml/qmlwaveformrenderer.cpp index da924e99a23e..487aadcd5faf 100644 --- a/src/qml/qmlwaveformrenderer.cpp +++ b/src/qml/qmlwaveformrenderer.cpp @@ -22,9 +22,9 @@ namespace mixxx { namespace qml { QmlWaveformRendererMark::QmlWaveformRendererMark() - : m_defaultMark(nullptr), - m_untilMark(std::make_unique()), - m_playMarkerPosition(0.5) { + : m_playMarkerPosition(0.5), + m_defaultMark(nullptr), + m_untilMark(std::make_unique()) { } QmlWaveformRendererFactory::Renderer QmlWaveformRendererEndOfTrack::create( @@ -118,7 +118,7 @@ QmlWaveformRendererFactory::Renderer QmlWaveformRendererRGB::create( QmlWaveformRendererFactory::Renderer QmlWaveformRendererFiltered::create( WaveformWidgetRenderer* waveformWidget) const { auto pRenderer = std::make_unique( - waveformWidget, m_ignoreStem); + waveformWidget, m_ignoreStem, m_options); setup(pRenderer.get()); return QmlWaveformRendererFactory::Renderer{pRenderer.get(), std::move(pRenderer)}; @@ -127,7 +127,7 @@ QmlWaveformRendererFactory::Renderer QmlWaveformRendererFiltered::create( QmlWaveformRendererFactory::Renderer QmlWaveformRendererHSV::create( WaveformWidgetRenderer* waveformWidget) const { auto pRenderer = std::make_unique( - waveformWidget); + waveformWidget, m_options); pRenderer->setAxesColor(m_axesColor); pRenderer->setColor(m_color); @@ -170,7 +170,7 @@ QmlWaveformRendererFactory::Renderer QmlWaveformRendererHSV::create( QmlWaveformRendererFactory::Renderer QmlWaveformRendererSimple::create( WaveformWidgetRenderer* waveformWidget) const { auto pRenderer = std::make_unique( - waveformWidget); + waveformWidget, m_options); pRenderer->setAxesColor(m_axesColor); pRenderer->setColor(m_color); diff --git a/src/qml/qmlwaveformrenderer.h b/src/qml/qmlwaveformrenderer.h index d012c3831fad..3c1d10aae693 100644 --- a/src/qml/qmlwaveformrenderer.h +++ b/src/qml/qmlwaveformrenderer.h @@ -85,7 +85,7 @@ class QmlWaveformRendererPreroll ::WaveformRendererAbstract::PositionSource m_position{::WaveformRendererAbstract::Play}; }; -typedef allshader::WaveformRendererSignalBase::Options WaveformRendererSignalBaseOptions; +typedef WaveformRendererSignalBase::Options WaveformRendererSignalBaseOptions; class QmlWaveformRendererSignal : public QmlWaveformRendererFactory { Q_OBJECT @@ -139,7 +139,7 @@ class QmlWaveformRendererSignal ::WaveformRendererAbstract::PositionSource m_position{::WaveformRendererAbstract::Play}; WaveformRendererSignalBaseOptions m_options{ - allshader::WaveformRendererSignalBase::Option::None}; + WaveformRendererSignalBase::Option::None}; }; class QmlWaveformRendererRGB @@ -175,6 +175,8 @@ class QmlWaveformRendererHSV Q_PROPERTY(double gainLow MEMBER m_gainLow NOTIFY gainLowChanged REQUIRED) Q_PROPERTY(double gainMid MEMBER m_gainMid NOTIFY gainMidChanged REQUIRED) Q_PROPERTY(double gainHigh MEMBER m_gainHigh NOTIFY gainHighChanged REQUIRED) + Q_PROPERTY(WaveformRendererSignalBaseOptions options MEMBER + m_options NOTIFY optionsChanged) QML_NAMED_ELEMENT(WaveformRendererHSV) public: @@ -187,6 +189,11 @@ class QmlWaveformRendererHSV void gainLowChanged(double); void gainMidChanged(double); void gainHighChanged(double); +#if QT_VERSION >= QT_VERSION_CHECK(6, 9, 0) + void optionsChanged(WaveformRendererSignalBaseOptions); +#else + void optionsChanged(mixxx::qml::WaveformRendererSignalBaseOptions); +#endif private: QColor m_axesColor; @@ -198,6 +205,8 @@ class QmlWaveformRendererHSV double m_gainHigh; bool m_ignoreStem{false}; + WaveformRendererSignalBaseOptions m_options{ + WaveformRendererSignalBase::Option::None}; }; class QmlWaveformRendererSimple @@ -207,6 +216,8 @@ class QmlWaveformRendererSimple Q_PROPERTY(QColor axesColor MEMBER m_axesColor NOTIFY axesColorChanged REQUIRED) Q_PROPERTY(QColor color MEMBER m_color NOTIFY colorChanged REQUIRED) Q_PROPERTY(double gain MEMBER m_gain NOTIFY gainChanged REQUIRED) + Q_PROPERTY(WaveformRendererSignalBaseOptions options MEMBER + m_options NOTIFY optionsChanged) QML_NAMED_ELEMENT(WaveformRendererSimple) public: @@ -216,12 +227,19 @@ class QmlWaveformRendererSimple void colorChanged(const QColor&); void ignoreStemChanged(bool); void gainChanged(double); +#if QT_VERSION >= QT_VERSION_CHECK(6, 9, 0) + void optionsChanged(WaveformRendererSignalBaseOptions); +#else + void optionsChanged(mixxx::qml::WaveformRendererSignalBaseOptions); +#endif private: QColor m_axesColor; QColor m_color; double m_gain; bool m_ignoreStem{false}; + WaveformRendererSignalBaseOptions m_options{ + WaveformRendererSignalBase::Option::None}; }; class QmlWaveformRendererBeat diff --git a/src/test/waveform_upgrade_test.cpp b/src/test/waveform_upgrade_test.cpp index 44387755bca8..21386e1ec3f1 100644 --- a/src/test/waveform_upgrade_test.cpp +++ b/src/test/waveform_upgrade_test.cpp @@ -23,7 +23,7 @@ TEST_F(UpgradeTest, useCorrectWaveformType) { int oldTypeId; WaveformWidgetType::Type expectedType; WaveformWidgetBackend expectedBackend; - allshader::WaveformRendererSignalBase::Options expectedOptions; + WaveformRendererSignalBase::Options expectedOptions; }; QList testCases = { @@ -31,132 +31,132 @@ TEST_F(UpgradeTest, useCorrectWaveformType) { 0, WaveformWidgetType::Empty, WaveformWidgetBackend::None, - allshader::WaveformRendererSignalBase::Option::None}, + WaveformRendererSignalBase::Option::None}, test_case{"SoftwareWaveform", 2, // Filtered WaveformWidgetType::Filtered, WaveformWidgetBackend::AllShader, - allshader::WaveformRendererSignalBase::Option::None}, + WaveformRendererSignalBase::Option::None}, test_case{"QtSimpleWaveform", 3, // Simple Qt WaveformWidgetType::Simple, WaveformWidgetBackend::AllShader, - allshader::WaveformRendererSignalBase::Option::None}, + WaveformRendererSignalBase::Option::None}, test_case{"QtWaveform", 4, // Filtered Qt WaveformWidgetType::Filtered, WaveformWidgetBackend::AllShader, - allshader::WaveformRendererSignalBase::Option::None}, + WaveformRendererSignalBase::Option::None}, test_case{"GLSimpleWaveform", 5, // Simple GL WaveformWidgetType::Simple, WaveformWidgetBackend::AllShader, - allshader::WaveformRendererSignalBase::Option::None}, + WaveformRendererSignalBase::Option::None}, test_case{"GLFilteredWaveform", 6, // Filtered GL WaveformWidgetType::Filtered, WaveformWidgetBackend::AllShader, - allshader::WaveformRendererSignalBase::Option::None}, + WaveformRendererSignalBase::Option::None}, test_case{"GLSLFilteredWaveform", 7, // Filtered GLSL WaveformWidgetType::Filtered, WaveformWidgetBackend::AllShader, - allshader::WaveformRendererSignalBase::Option::HighDetail}, + WaveformRendererSignalBase::Option::HighDetail}, test_case{"HSVWaveform", 8, // HSV WaveformWidgetType::HSV, WaveformWidgetBackend::AllShader, - allshader::WaveformRendererSignalBase::Option::None}, + WaveformRendererSignalBase::Option::None}, test_case{"GLVSyncTest", 9, // VSync GL WaveformWidgetType::VSyncTest, WaveformWidgetBackend::None, - allshader::WaveformRendererSignalBase::Option::None}, + WaveformRendererSignalBase::Option::None}, test_case{"RGBWaveform", 10, // RGB WaveformWidgetType::RGB, WaveformWidgetBackend::AllShader, - allshader::WaveformRendererSignalBase::Option::None}, + WaveformRendererSignalBase::Option::None}, test_case{"GLRGBWaveform", 11, // RGB GL WaveformWidgetType::RGB, WaveformWidgetBackend::AllShader, - allshader::WaveformRendererSignalBase::Option::None}, + WaveformRendererSignalBase::Option::None}, test_case{"GLSLRGBWaveform", 12, // RGB GLSL WaveformWidgetType::RGB, WaveformWidgetBackend::AllShader, - allshader::WaveformRendererSignalBase::Option::HighDetail}, + WaveformRendererSignalBase::Option::HighDetail}, test_case{"QtVSyncTest", 13, // VSync Qt WaveformWidgetType::VSyncTest, WaveformWidgetBackend::None, - allshader::WaveformRendererSignalBase::Option::None}, + WaveformRendererSignalBase::Option::None}, test_case{"QtHSVWaveform", 14, // HSV Qt WaveformWidgetType::HSV, WaveformWidgetBackend::AllShader, - allshader::WaveformRendererSignalBase::Option::None}, + WaveformRendererSignalBase::Option::None}, test_case{"QtRGBWaveform", 15, // RGB Qt WaveformWidgetType::RGB, WaveformWidgetBackend::AllShader, - allshader::WaveformRendererSignalBase::Option::None}, + WaveformRendererSignalBase::Option::None}, test_case{"GLSLRGBStackedWaveform", 16, // RGB Stacked WaveformWidgetType::Stacked, WaveformWidgetBackend::AllShader, - allshader::WaveformRendererSignalBase::Option::HighDetail}, + WaveformRendererSignalBase::Option::HighDetail}, test_case{"AllShaderRGBWaveform", 17, // RGB (all-shaders) WaveformWidgetType::RGB, WaveformWidgetBackend::AllShader, - allshader::WaveformRendererSignalBase::Option::None}, + WaveformRendererSignalBase::Option::None}, test_case{"AllShaderLRRGBWaveform", 18, // L/R RGB (all-shaders) WaveformWidgetType::RGB, WaveformWidgetBackend::AllShader, - allshader::WaveformRendererSignalBase::Option::SplitStereoSignal}, + WaveformRendererSignalBase::Option::SplitStereoSignal}, test_case{"AllShaderFilteredWaveform", 19, // Filtered (all-shaders) WaveformWidgetType::Filtered, WaveformWidgetBackend::AllShader, - allshader::WaveformRendererSignalBase::Option::None}, + WaveformRendererSignalBase::Option::None}, test_case{"AllShaderSimpleWaveform", 20, // Simple (all-shaders) WaveformWidgetType::Simple, WaveformWidgetBackend::AllShader, - allshader::WaveformRendererSignalBase::Option::None}, + WaveformRendererSignalBase::Option::None}, test_case{"AllShaderHSVWaveform", 21, // HSV (all-shaders) WaveformWidgetType::HSV, WaveformWidgetBackend::AllShader, - allshader::WaveformRendererSignalBase::Option::None}, + WaveformRendererSignalBase::Option::None}, test_case{"AllShaderTexturedFiltered", 22, // Filtered (textured) (all-shaders) WaveformWidgetType::Filtered, WaveformWidgetBackend::AllShader, - allshader::WaveformRendererSignalBase::Option::HighDetail}, + WaveformRendererSignalBase::Option::HighDetail}, test_case{"AllShaderTexturedRGB", 23, // RGB (textured) (all-shaders) WaveformWidgetType::RGB, WaveformWidgetBackend::AllShader, - allshader::WaveformRendererSignalBase::Option::HighDetail}, + WaveformRendererSignalBase::Option::HighDetail}, test_case{"AllShaderTexturedStacked", 24, // Stacked (textured) (all-shaders) WaveformWidgetType::Stacked, WaveformWidgetBackend::AllShader, - allshader::WaveformRendererSignalBase::Option::HighDetail}, + WaveformRendererSignalBase::Option::HighDetail}, test_case{"AllShaderRGBStackedWaveform", 26, // Stacked (all-shaders) WaveformWidgetType::Stacked, WaveformWidgetBackend::AllShader, - allshader::WaveformRendererSignalBase::Option::None}, + WaveformRendererSignalBase::Option::None}, test_case{"Count_WaveformwidgetType", 27, // Also used as invalid value WaveformWidgetType::RGB, WaveformWidgetBackend::AllShader, - allshader::WaveformRendererSignalBase::Option::None}}; + WaveformRendererSignalBase::Option::None}}; for (const auto& testCase : testCases) { int waveformType = testCase.oldTypeId; diff --git a/src/waveform/renderers/allshader/waveformrendererfiltered.cpp b/src/waveform/renderers/allshader/waveformrendererfiltered.cpp index 8b14849f6ac1..13c14ea5582c 100644 --- a/src/waveform/renderers/allshader/waveformrendererfiltered.cpp +++ b/src/waveform/renderers/allshader/waveformrendererfiltered.cpp @@ -13,8 +13,9 @@ namespace allshader { WaveformRendererFiltered::WaveformRendererFiltered( WaveformWidgetRenderer* waveformWidget, - bool bRgbStacked) - : WaveformRendererSignalBase(waveformWidget), + bool bRgbStacked, + ::WaveformRendererSignalBase::Options options) + : WaveformRendererSignalBase(waveformWidget, options), m_bRgbStacked(bRgbStacked) { initForRectangles(0); setUsePreprocess(true); diff --git a/src/waveform/renderers/allshader/waveformrendererfiltered.h b/src/waveform/renderers/allshader/waveformrendererfiltered.h index e807d32a83ee..5317358b924b 100644 --- a/src/waveform/renderers/allshader/waveformrendererfiltered.h +++ b/src/waveform/renderers/allshader/waveformrendererfiltered.h @@ -13,7 +13,8 @@ class allshader::WaveformRendererFiltered final public rendergraph::GeometryNode { public: explicit WaveformRendererFiltered(WaveformWidgetRenderer* waveformWidget, - bool rgbStacked); + bool rgbStacked, + ::WaveformRendererSignalBase::Options options); // Pure virtual from WaveformRendererSignalBase, not used void onSetup(const QDomNode& node) override; diff --git a/src/waveform/renderers/allshader/waveformrendererhsv.cpp b/src/waveform/renderers/allshader/waveformrendererhsv.cpp index fe7773a162b0..db48a960790a 100644 --- a/src/waveform/renderers/allshader/waveformrendererhsv.cpp +++ b/src/waveform/renderers/allshader/waveformrendererhsv.cpp @@ -12,8 +12,9 @@ using namespace rendergraph; namespace allshader { -WaveformRendererHSV::WaveformRendererHSV(WaveformWidgetRenderer* waveformWidget) - : WaveformRendererSignalBase(waveformWidget) { +WaveformRendererHSV::WaveformRendererHSV(WaveformWidgetRenderer* waveformWidget, + ::WaveformRendererSignalBase::Options options) + : WaveformRendererSignalBase(waveformWidget, options) { initForRectangles(0); setUsePreprocess(true); } diff --git a/src/waveform/renderers/allshader/waveformrendererhsv.h b/src/waveform/renderers/allshader/waveformrendererhsv.h index d308a269eaf6..678d0809b193 100644 --- a/src/waveform/renderers/allshader/waveformrendererhsv.h +++ b/src/waveform/renderers/allshader/waveformrendererhsv.h @@ -12,7 +12,8 @@ class allshader::WaveformRendererHSV final : public allshader::WaveformRendererSignalBase, public rendergraph::GeometryNode { public: - explicit WaveformRendererHSV(WaveformWidgetRenderer* waveformWidget); + explicit WaveformRendererHSV(WaveformWidgetRenderer* waveformWidget, + ::WaveformRendererSignalBase::Options options); // Pure virtual from WaveformRendererSignalBase, not used void onSetup(const QDomNode& node) override; diff --git a/src/waveform/renderers/allshader/waveformrendererrgb.cpp b/src/waveform/renderers/allshader/waveformrendererrgb.cpp index 9d20e581a6e8..d1c97e575d43 100644 --- a/src/waveform/renderers/allshader/waveformrendererrgb.cpp +++ b/src/waveform/renderers/allshader/waveformrendererrgb.cpp @@ -20,8 +20,8 @@ inline float math_pow2(float x) { WaveformRendererRGB::WaveformRendererRGB(WaveformWidgetRenderer* waveformWidget, ::WaveformRendererAbstract::PositionSource type, - WaveformRendererSignalBase::Options options) - : WaveformRendererSignalBase(waveformWidget), + ::WaveformRendererSignalBase::Options options) + : WaveformRendererSignalBase(waveformWidget, options), m_isSlipRenderer(type == ::WaveformRendererAbstract::Slip), m_options(options) { initForRectangles(0); @@ -99,7 +99,7 @@ bool WaveformRendererRGB::preprocessInner() { const float heightFactorAbs = allGain * halfBreadth / m_maxValue; const float heightFactor[2] = {-heightFactorAbs, heightFactorAbs}; - const bool splitLeftRight = m_options & WaveformRendererSignalBase::Option::SplitStereoSignal; + const bool splitLeftRight = m_options & ::WaveformRendererSignalBase::Option::SplitStereoSignal; const float low_r = static_cast(m_rgbLowColor_r); const float mid_r = static_cast(m_rgbMidColor_r); diff --git a/src/waveform/renderers/allshader/waveformrendererrgb.h b/src/waveform/renderers/allshader/waveformrendererrgb.h index 680e84996f73..132c86b71916 100644 --- a/src/waveform/renderers/allshader/waveformrendererrgb.h +++ b/src/waveform/renderers/allshader/waveformrendererrgb.h @@ -15,7 +15,8 @@ class allshader::WaveformRendererRGB final explicit WaveformRendererRGB(WaveformWidgetRenderer* waveformWidget, ::WaveformRendererAbstract::PositionSource type = ::WaveformRendererAbstract::Play, - WaveformRendererSignalBase::Options options = WaveformRendererSignalBase::Option::None); + ::WaveformRendererSignalBase::Options options = + ::WaveformRendererSignalBase::Option::None); // Pure virtual from WaveformRendererSignalBase, not used void onSetup(const QDomNode& node) override; @@ -29,7 +30,7 @@ class allshader::WaveformRendererRGB final private: bool m_isSlipRenderer; - WaveformRendererSignalBase::Options m_options; + ::WaveformRendererSignalBase::Options m_options; bool preprocessInner(); diff --git a/src/waveform/renderers/allshader/waveformrenderersignalbase.cpp b/src/waveform/renderers/allshader/waveformrenderersignalbase.cpp index e9cc902b31f3..1e48cdbc0edf 100644 --- a/src/waveform/renderers/allshader/waveformrenderersignalbase.cpp +++ b/src/waveform/renderers/allshader/waveformrenderersignalbase.cpp @@ -5,8 +5,8 @@ namespace allshader { WaveformRendererSignalBase::WaveformRendererSignalBase( - WaveformWidgetRenderer* waveformWidget) - : ::WaveformRendererSignalBase(waveformWidget), + WaveformWidgetRenderer* waveformWidget, ::WaveformRendererSignalBase::Options options) + : ::WaveformRendererSignalBase(waveformWidget, options), m_ignoreStem(false) { } diff --git a/src/waveform/renderers/allshader/waveformrenderersignalbase.h b/src/waveform/renderers/allshader/waveformrenderersignalbase.h index 252fad54476f..a7214f6969b9 100644 --- a/src/waveform/renderers/allshader/waveformrenderersignalbase.h +++ b/src/waveform/renderers/allshader/waveformrenderersignalbase.h @@ -15,19 +15,12 @@ class WaveformRendererSignalBase; class allshader::WaveformRendererSignalBase : public ::WaveformRendererSignalBase { public: - enum class Option { - None = 0b0, - SplitStereoSignal = 0b1, - HighDetail = 0b10, - AllOptionsCombined = SplitStereoSignal | HighDetail, - }; - Q_DECLARE_FLAGS(Options, Option) - void draw(QPainter* painter, QPaintEvent* event) override final; static constexpr float m_maxValue{static_cast(std::numeric_limits::max())}; - explicit WaveformRendererSignalBase(WaveformWidgetRenderer* waveformWidget); + explicit WaveformRendererSignalBase(WaveformWidgetRenderer* waveformWidget, + ::WaveformRendererSignalBase::Options options); virtual bool supportsSlip() const { return false; diff --git a/src/waveform/renderers/allshader/waveformrenderersimple.cpp b/src/waveform/renderers/allshader/waveformrenderersimple.cpp index 880485a0341e..3d50774018a7 100644 --- a/src/waveform/renderers/allshader/waveformrenderersimple.cpp +++ b/src/waveform/renderers/allshader/waveformrenderersimple.cpp @@ -12,8 +12,8 @@ using namespace rendergraph; namespace allshader { WaveformRendererSimple::WaveformRendererSimple( - WaveformWidgetRenderer* waveformWidget) - : WaveformRendererSignalBase(waveformWidget) { + WaveformWidgetRenderer* waveformWidget, ::WaveformRendererSignalBase::Options options) + : WaveformRendererSignalBase(waveformWidget, options) { initForRectangles(0); setUsePreprocess(true); } diff --git a/src/waveform/renderers/allshader/waveformrenderersimple.h b/src/waveform/renderers/allshader/waveformrenderersimple.h index 10c9418186b0..91bcf4303b0c 100644 --- a/src/waveform/renderers/allshader/waveformrenderersimple.h +++ b/src/waveform/renderers/allshader/waveformrenderersimple.h @@ -12,7 +12,8 @@ class allshader::WaveformRendererSimple final : public allshader::WaveformRendererSignalBase, public rendergraph::GeometryNode { public: - explicit WaveformRendererSimple(WaveformWidgetRenderer* waveformWidget); + explicit WaveformRendererSimple(WaveformWidgetRenderer* waveformWidget, + ::WaveformRendererSignalBase::Options options); // Pure virtual from WaveformRendererSignalBase, not used void onSetup(const QDomNode& node) override; diff --git a/src/waveform/renderers/allshader/waveformrendererstem.cpp b/src/waveform/renderers/allshader/waveformrendererstem.cpp index 735d58aa2087..fdf8be02e9bd 100644 --- a/src/waveform/renderers/allshader/waveformrendererstem.cpp +++ b/src/waveform/renderers/allshader/waveformrendererstem.cpp @@ -31,8 +31,9 @@ namespace allshader { WaveformRendererStem::WaveformRendererStem( WaveformWidgetRenderer* waveformWidget, - ::WaveformRendererAbstract::PositionSource type) - : WaveformRendererSignalBase(waveformWidget), + ::WaveformRendererAbstract::PositionSource type, + ::WaveformRendererSignalBase::Options options) + : WaveformRendererSignalBase(waveformWidget, options), m_isSlipRenderer(type == ::WaveformRendererAbstract::Slip), m_splitStemTracks(false) { initForRectangles(0); diff --git a/src/waveform/renderers/allshader/waveformrendererstem.h b/src/waveform/renderers/allshader/waveformrendererstem.h index 9916c2d91115..d6c36517debf 100644 --- a/src/waveform/renderers/allshader/waveformrendererstem.h +++ b/src/waveform/renderers/allshader/waveformrendererstem.h @@ -19,7 +19,9 @@ class allshader::WaveformRendererStem final public: explicit WaveformRendererStem(WaveformWidgetRenderer* waveformWidget, ::WaveformRendererAbstract::PositionSource type = - ::WaveformRendererAbstract::Play); + ::WaveformRendererAbstract::Play, + ::WaveformRendererSignalBase::Options options = + ::WaveformRendererSignalBase::Option::None); // Pure virtual from WaveformRendererSignalBase, not used void onSetup(const QDomNode& node) override; diff --git a/src/waveform/renderers/allshader/waveformrenderertextured.cpp b/src/waveform/renderers/allshader/waveformrenderertextured.cpp index f114e7a2f0e6..c561e72afd2c 100644 --- a/src/waveform/renderers/allshader/waveformrenderertextured.cpp +++ b/src/waveform/renderers/allshader/waveformrenderertextured.cpp @@ -31,8 +31,8 @@ WaveformRendererTextured::WaveformRendererTextured( WaveformWidgetRenderer* waveformWidget, ::WaveformWidgetType::Type t, ::WaveformRendererAbstract::PositionSource type, - WaveformRendererSignalBase::Options options) - : WaveformRendererSignalBase(waveformWidget), + ::WaveformRendererSignalBase::Options options) + : WaveformRendererSignalBase(waveformWidget, options), m_unitQuadListId(-1), m_textureId(0), m_textureRenderedWaveformCompletion(0), @@ -380,7 +380,7 @@ void WaveformRendererTextured::paintGL() { if (m_type == ::WaveformWidgetType::RGB) { m_frameShaderProgram->setUniformValue("splitStereoSignal", - m_options & WaveformRendererSignalBase::Option::SplitStereoSignal); + m_options & ::WaveformRendererSignalBase::Option::SplitStereoSignal); } m_frameShaderProgram->setUniformValue("axesColor", diff --git a/src/waveform/renderers/allshader/waveformrenderertextured.h b/src/waveform/renderers/allshader/waveformrenderertextured.h index 3769ae6d09c8..600119587567 100644 --- a/src/waveform/renderers/allshader/waveformrenderertextured.h +++ b/src/waveform/renderers/allshader/waveformrenderertextured.h @@ -24,8 +24,8 @@ class allshader::WaveformRendererTextured final : public allshader::WaveformRend WaveformWidgetType::Type t, ::WaveformRendererAbstract::PositionSource type = ::WaveformRendererAbstract::Play, - WaveformRendererSignalBase::Options options = - WaveformRendererSignalBase::Option::None); + ::WaveformRendererSignalBase::Options options = + ::WaveformRendererSignalBase::Option::None); ~WaveformRendererTextured() override; // override ::WaveformRendererSignalBase @@ -72,7 +72,7 @@ class allshader::WaveformRendererTextured final : public allshader::WaveformRend // shaders bool m_isSlipRenderer; - WaveformRendererSignalBase::Options m_options; + ::WaveformRendererSignalBase::Options m_options; bool m_shadersValid; WaveformWidgetType::Type m_type; const QString m_pFragShader; diff --git a/src/waveform/renderers/deprecated/glwaveformrenderersignal.h b/src/waveform/renderers/deprecated/glwaveformrenderersignal.h index 76532a120145..57539bc91d27 100644 --- a/src/waveform/renderers/deprecated/glwaveformrenderersignal.h +++ b/src/waveform/renderers/deprecated/glwaveformrenderersignal.h @@ -12,8 +12,9 @@ /// QPainter API which Qt translates to OpenGL under the hood. class GLWaveformRendererSignal : public WaveformRendererSignalBase, public GLWaveformRenderer { public: - GLWaveformRendererSignal(WaveformWidgetRenderer* waveformWidgetRenderer) - : WaveformRendererSignalBase(waveformWidgetRenderer) { + GLWaveformRendererSignal(WaveformWidgetRenderer* waveformWidgetRenderer, + ::WaveformRendererSignalBase::Options options) + : WaveformRendererSignalBase(waveformWidgetRenderer, options) { } }; diff --git a/src/waveform/renderers/glvsynctestrenderer.cpp b/src/waveform/renderers/glvsynctestrenderer.cpp index a1d1cb7da275..b93f623092b0 100644 --- a/src/waveform/renderers/glvsynctestrenderer.cpp +++ b/src/waveform/renderers/glvsynctestrenderer.cpp @@ -7,7 +7,8 @@ GLVSyncTestRenderer::GLVSyncTestRenderer( WaveformWidgetRenderer* waveformWidgetRenderer) - : GLWaveformRendererSignal(waveformWidgetRenderer), + : GLWaveformRendererSignal(waveformWidgetRenderer, + WaveformRendererSignalBase::Option::None), m_drawcount(0) { } diff --git a/src/waveform/renderers/qtvsynctestrenderer.cpp b/src/waveform/renderers/qtvsynctestrenderer.cpp index d6b84441f598..1ca4b6c63ff0 100644 --- a/src/waveform/renderers/qtvsynctestrenderer.cpp +++ b/src/waveform/renderers/qtvsynctestrenderer.cpp @@ -9,8 +9,9 @@ QtVSyncTestRenderer::QtVSyncTestRenderer( WaveformWidgetRenderer* waveformWidgetRenderer) - : WaveformRendererSignalBase(waveformWidgetRenderer), - m_drawcount(0) { + : WaveformRendererSignalBase(waveformWidgetRenderer, + ::WaveformRendererSignalBase::Option::None), + m_drawcount(0) { } QtVSyncTestRenderer::~QtVSyncTestRenderer() { diff --git a/src/waveform/renderers/qtwaveformrendererfilteredsignal.cpp b/src/waveform/renderers/qtwaveformrendererfilteredsignal.cpp index e58ebd5a54ad..1fc93604401f 100644 --- a/src/waveform/renderers/qtwaveformrendererfilteredsignal.cpp +++ b/src/waveform/renderers/qtwaveformrendererfilteredsignal.cpp @@ -12,8 +12,9 @@ #include QtWaveformRendererFilteredSignal::QtWaveformRendererFilteredSignal( - WaveformWidgetRenderer* waveformWidgetRenderer) - : WaveformRendererSignalBase(waveformWidgetRenderer) { + WaveformWidgetRenderer* waveformWidgetRenderer, + ::WaveformRendererSignalBase::Options options) + : WaveformRendererSignalBase(waveformWidgetRenderer, options) { } QtWaveformRendererFilteredSignal::~QtWaveformRendererFilteredSignal() { diff --git a/src/waveform/renderers/qtwaveformrendererfilteredsignal.h b/src/waveform/renderers/qtwaveformrendererfilteredsignal.h index c7fed5db4b4d..945bd2af04ed 100644 --- a/src/waveform/renderers/qtwaveformrendererfilteredsignal.h +++ b/src/waveform/renderers/qtwaveformrendererfilteredsignal.h @@ -9,7 +9,9 @@ class ControlObject; class QtWaveformRendererFilteredSignal : public WaveformRendererSignalBase { public: - explicit QtWaveformRendererFilteredSignal(WaveformWidgetRenderer* waveformWidgetRenderer); + explicit QtWaveformRendererFilteredSignal( + WaveformWidgetRenderer* waveformWidgetRenderer, + ::WaveformRendererSignalBase::Options options); virtual ~QtWaveformRendererFilteredSignal(); virtual void onSetup(const QDomNode &node); diff --git a/src/waveform/renderers/waveformrendererfilteredsignal.cpp b/src/waveform/renderers/waveformrendererfilteredsignal.cpp index 15b6c2d7e38f..97b11b1583c0 100644 --- a/src/waveform/renderers/waveformrendererfilteredsignal.cpp +++ b/src/waveform/renderers/waveformrendererfilteredsignal.cpp @@ -7,8 +7,9 @@ #include "util/painterscope.h" WaveformRendererFilteredSignal::WaveformRendererFilteredSignal( - WaveformWidgetRenderer* waveformWidgetRenderer) - : WaveformRendererSignalBase(waveformWidgetRenderer) { + WaveformWidgetRenderer* waveformWidgetRenderer, + ::WaveformRendererSignalBase::Options options) + : WaveformRendererSignalBase(waveformWidgetRenderer, options) { } WaveformRendererFilteredSignal::~WaveformRendererFilteredSignal() { diff --git a/src/waveform/renderers/waveformrendererfilteredsignal.h b/src/waveform/renderers/waveformrendererfilteredsignal.h index ba8e41a2eba9..00c3510e4496 100644 --- a/src/waveform/renderers/waveformrendererfilteredsignal.h +++ b/src/waveform/renderers/waveformrendererfilteredsignal.h @@ -9,7 +9,7 @@ class WaveformRendererFilteredSignal : public WaveformRendererSignalBase { public: explicit WaveformRendererFilteredSignal( - WaveformWidgetRenderer* waveformWidget); + WaveformWidgetRenderer* waveformWidget, ::WaveformRendererSignalBase::Options options); virtual ~WaveformRendererFilteredSignal(); virtual void onSetup(const QDomNode& node); diff --git a/src/waveform/renderers/waveformrendererhsv.cpp b/src/waveform/renderers/waveformrendererhsv.cpp index 0efba33e8451..2951421108cf 100644 --- a/src/waveform/renderers/waveformrendererhsv.cpp +++ b/src/waveform/renderers/waveformrendererhsv.cpp @@ -8,8 +8,9 @@ #include "waveformwidgetrenderer.h" WaveformRendererHSV::WaveformRendererHSV( - WaveformWidgetRenderer* waveformWidgetRenderer) - : WaveformRendererSignalBase(waveformWidgetRenderer) { + WaveformWidgetRenderer* waveformWidgetRenderer, + ::WaveformRendererSignalBase::Options options) + : WaveformRendererSignalBase(waveformWidgetRenderer, options) { } WaveformRendererHSV::~WaveformRendererHSV() { diff --git a/src/waveform/renderers/waveformrendererhsv.h b/src/waveform/renderers/waveformrendererhsv.h index 4c13b61c9a33..55693ba56638 100644 --- a/src/waveform/renderers/waveformrendererhsv.h +++ b/src/waveform/renderers/waveformrendererhsv.h @@ -6,7 +6,7 @@ class WaveformRendererHSV : public WaveformRendererSignalBase { public: explicit WaveformRendererHSV( - WaveformWidgetRenderer* waveformWidget); + WaveformWidgetRenderer* waveformWidget, ::WaveformRendererSignalBase::Options options); virtual ~WaveformRendererHSV(); virtual void onSetup(const QDomNode& node); diff --git a/src/waveform/renderers/waveformrendererrgb.cpp b/src/waveform/renderers/waveformrendererrgb.cpp index c6b948335f2e..ba521a74ce86 100644 --- a/src/waveform/renderers/waveformrendererrgb.cpp +++ b/src/waveform/renderers/waveformrendererrgb.cpp @@ -6,8 +6,9 @@ #include "util/painterscope.h" WaveformRendererRGB::WaveformRendererRGB( - WaveformWidgetRenderer* waveformWidgetRenderer) - : WaveformRendererSignalBase(waveformWidgetRenderer) { + WaveformWidgetRenderer* waveformWidgetRenderer, + ::WaveformRendererSignalBase::Options options) + : WaveformRendererSignalBase(waveformWidgetRenderer, options) { } WaveformRendererRGB::~WaveformRendererRGB() { diff --git a/src/waveform/renderers/waveformrendererrgb.h b/src/waveform/renderers/waveformrendererrgb.h index fa8e8bbc12f9..9d452f9aa6a0 100644 --- a/src/waveform/renderers/waveformrendererrgb.h +++ b/src/waveform/renderers/waveformrendererrgb.h @@ -6,7 +6,7 @@ class WaveformRendererRGB : public WaveformRendererSignalBase { public: explicit WaveformRendererRGB( - WaveformWidgetRenderer* waveformWidget); + WaveformWidgetRenderer* waveformWidget, ::WaveformRendererSignalBase::Options options); virtual ~WaveformRendererRGB(); virtual void onSetup(const QDomNode& node); diff --git a/src/waveform/renderers/waveformrenderersignalbase.cpp b/src/waveform/renderers/waveformrenderersignalbase.cpp index 4b48122cf84e..a38043aa1acc 100644 --- a/src/waveform/renderers/waveformrenderersignalbase.cpp +++ b/src/waveform/renderers/waveformrenderersignalbase.cpp @@ -12,7 +12,7 @@ const QString kEffectGroupFormat = QStringLiteral("[EqualizerRack1_%1_Effect1]") } // namespace WaveformRendererSignalBase::WaveformRendererSignalBase( - WaveformWidgetRenderer* waveformWidgetRenderer) + WaveformWidgetRenderer* waveformWidgetRenderer, Options) : WaveformRendererAbstract(waveformWidgetRenderer), m_pEQEnabled(nullptr), m_pLowFilterControlObject(nullptr), diff --git a/src/waveform/renderers/waveformrenderersignalbase.h b/src/waveform/renderers/waveformrenderersignalbase.h index 9b5e832e7bd1..fbbafd0ee3c9 100644 --- a/src/waveform/renderers/waveformrenderersignalbase.h +++ b/src/waveform/renderers/waveformrenderersignalbase.h @@ -14,8 +14,16 @@ class WaveformSignalColors; class WaveformRendererSignalBase : public QObject, public WaveformRendererAbstract { Q_OBJECT public: + enum class Option { + None = 0b0, + SplitStereoSignal = 0b1, + HighDetail = 0b10, + AllOptionsCombined = SplitStereoSignal | HighDetail, + }; + Q_DECLARE_FLAGS(Options, Option) + explicit WaveformRendererSignalBase( - WaveformWidgetRenderer* waveformWidgetRenderer); + WaveformWidgetRenderer* waveformWidgetRenderer, Options options); virtual ~WaveformRendererSignalBase(); virtual bool init(); diff --git a/src/waveform/waveformwidgetfactory.cpp b/src/waveform/waveformwidgetfactory.cpp index b5f367a2f341..95f2e40f15d4 100644 --- a/src/waveform/waveformwidgetfactory.cpp +++ b/src/waveform/waveformwidgetfactory.cpp @@ -1,5 +1,6 @@ #include "waveform/waveformwidgetfactory.h" +#include "waveform/renderers/waveformrendererabstract.h" #include "waveform/waveform.h" #ifdef MIXXX_USE_QOPENGL @@ -931,7 +932,7 @@ void WaveformWidgetFactory::evaluateWidgets() { m_waveformWidgetHandles.clear(); QHash> collectedHandles; QHash + WaveformRendererSignalBase::Options> supportedOptions; for (WaveformWidgetType::Type type : WaveformWidgetType::kValues) { switch (type) { @@ -995,22 +996,21 @@ void WaveformWidgetFactory::evaluateWidgets() { m_waveformWidgetHandles.push_back(WaveformWidgetAbstractHandle(type, backends #ifdef MIXXX_USE_QOPENGL , - supportedOptions.value(type, allshader::WaveformRendererSignalBase::Option::None) + supportedOptions.value(type, WaveformRendererSignalBase::Option::None) #endif )); } } WaveformWidgetAbstract* WaveformWidgetFactory::createAllshaderWaveformWidget( - WaveformWidgetType::Type type, WWaveformViewer* viewer) { - allshader::WaveformRendererSignalBase::Options options = - m_config->getValue(ConfigKey("[Waveform]", "waveform_options"), - allshader::WaveformRendererSignalBase::Option::None); + WaveformWidgetType::Type type, + WWaveformViewer* viewer, + WaveformRendererSignalBase::Options options) { return new allshader::WaveformWidget(viewer, type, viewer->getGroup(), options); } WaveformWidgetAbstract* WaveformWidgetFactory::createFilteredWaveformWidget( - WWaveformViewer* viewer) { + WWaveformViewer* viewer, WaveformRendererSignalBase::Options options) { // On the UI, hardware acceleration is a boolean (0 => software rendering, 1 // => hardware acceleration), but in the setting, we keep the granularity so // in case of issue when we release, we can communicate workaround on @@ -1023,15 +1023,16 @@ WaveformWidgetAbstract* WaveformWidgetFactory::createFilteredWaveformWidget( switch (backend) { #ifdef MIXXX_USE_QOPENGL case WaveformWidgetBackend::AllShader: { - return createAllshaderWaveformWidget(WaveformWidgetType::Type::Filtered, viewer); + return createAllshaderWaveformWidget(WaveformWidgetType::Type::Filtered, viewer, options); } #endif default: - return new SoftwareWaveformWidget(viewer->getGroup(), viewer); + return new SoftwareWaveformWidget(viewer->getGroup(), viewer, options); } } -WaveformWidgetAbstract* WaveformWidgetFactory::createHSVWaveformWidget(WWaveformViewer* viewer) { +WaveformWidgetAbstract* WaveformWidgetFactory::createHSVWaveformWidget( + WWaveformViewer* viewer, WaveformRendererSignalBase::Options options) { // On the UI, hardware acceleration is a boolean (0 => software rendering, 1 // => hardware acceleration), but in the setting, we keep the granularity so // in case of issue when we release, we can communicate workaround on @@ -1044,14 +1045,15 @@ WaveformWidgetAbstract* WaveformWidgetFactory::createHSVWaveformWidget(WWaveform switch (backend) { #ifdef MIXXX_USE_QOPENGL case WaveformWidgetBackend::AllShader: - return createAllshaderWaveformWidget(WaveformWidgetType::HSV, viewer); + return createAllshaderWaveformWidget(WaveformWidgetType::HSV, viewer, options); #endif default: - return new HSVWaveformWidget(viewer->getGroup(), viewer); + return new HSVWaveformWidget(viewer->getGroup(), viewer, options); } } -WaveformWidgetAbstract* WaveformWidgetFactory::createRGBWaveformWidget(WWaveformViewer* viewer) { +WaveformWidgetAbstract* WaveformWidgetFactory::createRGBWaveformWidget( + WWaveformViewer* viewer, WaveformRendererSignalBase::Options options) { // On the UI, hardware acceleration is a boolean (0 => software rendering, 1 // => hardware acceleration), but in the setting, we keep the granularity so // in case of issue when we release, we can communicate workaround on @@ -1064,15 +1066,15 @@ WaveformWidgetAbstract* WaveformWidgetFactory::createRGBWaveformWidget(WWaveform switch (backend) { #ifdef MIXXX_USE_QOPENGL case WaveformWidgetBackend::AllShader: - return createAllshaderWaveformWidget(WaveformWidgetType::Type::RGB, viewer); + return createAllshaderWaveformWidget(WaveformWidgetType::Type::RGB, viewer, options); #endif default: - return new RGBWaveformWidget(viewer->getGroup(), viewer); + return new RGBWaveformWidget(viewer->getGroup(), viewer, options); } } WaveformWidgetAbstract* WaveformWidgetFactory::createStackedWaveformWidget( - WWaveformViewer* viewer) { + WWaveformViewer* viewer, WaveformRendererSignalBase::Options options) { #ifdef MIXXX_USE_QOPENGL // On the UI, hardware acceleration is a boolean (0 => software rendering, 1 // => hardware acceleration), but in the setting, we keep the granularity so @@ -1084,14 +1086,15 @@ WaveformWidgetAbstract* WaveformWidgetFactory::createStackedWaveformWidget( preferredBackend()); switch (backend) { case WaveformWidgetBackend::AllShader: - return createAllshaderWaveformWidget(WaveformWidgetType::Type::Stacked, viewer); + return createAllshaderWaveformWidget(WaveformWidgetType::Type::Stacked, viewer, options); #endif default: return new EmptyWaveformWidget(viewer->getGroup(), viewer); } } -WaveformWidgetAbstract* WaveformWidgetFactory::createSimpleWaveformWidget(WWaveformViewer* viewer) { +WaveformWidgetAbstract* WaveformWidgetFactory::createSimpleWaveformWidget( + WWaveformViewer* viewer, WaveformRendererSignalBase::Options options) { // On the UI, hardware acceleration is a boolean (0 => software rendering, 1 // => hardware acceleration), but in the setting, we keep the granularity so // in case of issue when we release, we can communicate workaround on @@ -1104,7 +1107,7 @@ WaveformWidgetAbstract* WaveformWidgetFactory::createSimpleWaveformWidget(WWavef switch (backend) { #ifdef MIXXX_USE_QOPENGL case WaveformWidgetBackend::AllShader: - return createAllshaderWaveformWidget(WaveformWidgetType::Type::Simple, viewer); + return createAllshaderWaveformWidget(WaveformWidgetType::Type::Simple, viewer, options); #endif default: return new EmptyWaveformWidget(viewer->getGroup(), viewer); @@ -1128,24 +1131,28 @@ WaveformWidgetAbstract* WaveformWidgetFactory::createWaveformWidget( type = WaveformWidgetType::Empty; } + WaveformRendererSignalBase::Options options = + m_config->getValue(ConfigKey("[Waveform]", "waveform_options"), + WaveformRendererSignalBase::Option::None); + switch (type) { case WaveformWidgetType::Simple: - widget = createSimpleWaveformWidget(viewer); + widget = createSimpleWaveformWidget(viewer, options); break; case WaveformWidgetType::Filtered: - widget = createFilteredWaveformWidget(viewer); + widget = createFilteredWaveformWidget(viewer, options); break; case WaveformWidgetType::HSV: - widget = createHSVWaveformWidget(viewer); + widget = createHSVWaveformWidget(viewer, options); break; case WaveformWidgetType::VSyncTest: widget = createVSyncTestWaveformWidget(viewer); break; case WaveformWidgetType::RGB: - widget = createRGBWaveformWidget(viewer); + widget = createRGBWaveformWidget(viewer, options); break; case WaveformWidgetType::Stacked: - widget = createStackedWaveformWidget(viewer); + widget = createStackedWaveformWidget(viewer, options); break; default: widget = new EmptyWaveformWidget(viewer->getGroup(), viewer); diff --git a/src/waveform/waveformwidgetfactory.h b/src/waveform/waveformwidgetfactory.h index 05e3ced526b4..3c698cbf62c0 100644 --- a/src/waveform/waveformwidgetfactory.h +++ b/src/waveform/waveformwidgetfactory.h @@ -10,6 +10,7 @@ #include "util/performancetimer.h" #include "util/singleton.h" #include "waveform/renderers/allshader/waveformrenderersignalbase.h" +#include "waveform/renderers/waveformrenderersignalbase.h" #include "waveform/widgets/waveformwidgettype.h" #include "waveform/widgets/waveformwidgetvars.h" @@ -61,11 +62,11 @@ class WaveformWidgetAbstractHandle { } #ifdef MIXXX_USE_QOPENGL - allshader::WaveformRendererSignalBase::Options supportedOptions( + WaveformRendererSignalBase::Options supportedOptions( WaveformWidgetBackend backend) const { return backend == WaveformWidgetBackend::AllShader ? m_supportedOption - : allshader::WaveformRendererSignalBase::Option::None; + : WaveformRendererSignalBase::Option::None; } #endif @@ -76,7 +77,7 @@ class WaveformWidgetAbstractHandle { QList m_backends; #ifdef MIXXX_USE_QOPENGL // Only relevant for Allshader (accelerated) backend. Other backends don't implement options - allshader::WaveformRendererSignalBase::Options m_supportedOption; + WaveformRendererSignalBase::Options m_supportedOption; #endif friend class WaveformWidgetFactory; @@ -260,7 +261,9 @@ class WaveformWidgetFactory : public QObject, template QString buildWidgetDisplayName() const; WaveformWidgetAbstract* createAllshaderWaveformWidget( - WaveformWidgetType::Type type, WWaveformViewer* viewer); + WaveformWidgetType::Type type, + WWaveformViewer* viewer, + WaveformRendererSignalBase::Options option); WaveformWidgetAbstract* createWaveformWidget(WaveformWidgetType::Type type, WWaveformViewer* viewer); int findIndexOf(WWaveformViewer* viewer) const; @@ -303,11 +306,17 @@ class WaveformWidgetFactory : public QObject, VisualsManager* m_pVisualsManager; // not owned // TODO(#13245): Migrate the following methods to smart pointer. - WaveformWidgetAbstract* createFilteredWaveformWidget(WWaveformViewer* viewer); - WaveformWidgetAbstract* createHSVWaveformWidget(WWaveformViewer* viewer); - WaveformWidgetAbstract* createRGBWaveformWidget(WWaveformViewer* viewer); - WaveformWidgetAbstract* createStackedWaveformWidget(WWaveformViewer* viewer); - WaveformWidgetAbstract* createSimpleWaveformWidget(WWaveformViewer* viewer); + WaveformWidgetAbstract* createFilteredWaveformWidget( + WWaveformViewer* viewer, + WaveformRendererSignalBase::Options option); + WaveformWidgetAbstract* createHSVWaveformWidget(WWaveformViewer* viewer, + WaveformRendererSignalBase::Options option); + WaveformWidgetAbstract* createRGBWaveformWidget(WWaveformViewer* viewer, + WaveformRendererSignalBase::Options option); + WaveformWidgetAbstract* createStackedWaveformWidget(WWaveformViewer* viewer, + WaveformRendererSignalBase::Options option); + WaveformWidgetAbstract* createSimpleWaveformWidget(WWaveformViewer* viewer, + WaveformRendererSignalBase::Options option); WaveformWidgetAbstract* createVSyncTestWaveformWidget(WWaveformViewer* viewer); //Debug diff --git a/src/waveform/widgets/allshader/waveformwidget.cpp b/src/waveform/widgets/allshader/waveformwidget.cpp index d29480668dc0..8b82797461e9 100644 --- a/src/waveform/widgets/allshader/waveformwidget.cpp +++ b/src/waveform/widgets/allshader/waveformwidget.cpp @@ -25,7 +25,7 @@ namespace allshader { WaveformWidget::WaveformWidget(QWidget* parent, WaveformWidgetType::Type type, const QString& group, - WaveformRendererSignalBase::Options options) + ::WaveformRendererSignalBase::Options options) : WGLWidget(parent), WaveformWidgetAbstract(group), m_pWaveformRendererSignal(nullptr) { @@ -101,10 +101,10 @@ WaveformWidget::~WaveformWidget() { std::unique_ptr WaveformWidget::addWaveformSignalRenderer(WaveformWidgetType::Type type, - WaveformRendererSignalBase::Options options, + ::WaveformRendererSignalBase::Options options, ::WaveformRendererAbstract::PositionSource positionSource) { #ifndef QT_OPENGL_ES_2 - if (options & WaveformRendererSignalBase::Option::HighDetail) { + if (options & ::WaveformRendererSignalBase::Option::HighDetail) { switch (type) { case ::WaveformWidgetType::RGB: case ::WaveformWidgetType::Filtered: @@ -119,16 +119,16 @@ WaveformWidget::addWaveformSignalRenderer(WaveformWidgetType::Type type, switch (type) { case ::WaveformWidgetType::Simple: - return addWaveformSignalRenderer(); + return addWaveformSignalRenderer(options); case ::WaveformWidgetType::RGB: return addWaveformSignalRenderer(positionSource, options); case ::WaveformWidgetType::HSV: - return addWaveformSignalRenderer(); + return addWaveformSignalRenderer(options); case ::WaveformWidgetType::Filtered: - return addWaveformSignalRenderer(false); + return addWaveformSignalRenderer(false, options); case ::WaveformWidgetType::Stacked: return addWaveformSignalRenderer( - true); // true for RGB Stacked + true, options); // true for RGB Stacked default: break; } @@ -198,16 +198,16 @@ void WaveformWidget::leaveEvent(QEvent* pEvent) { /* static */ WaveformRendererSignalBase::Options WaveformWidget::supportedOptions( WaveformWidgetType::Type type) { - WaveformRendererSignalBase::Options options = WaveformRendererSignalBase::Option::None; + ::WaveformRendererSignalBase::Options options = ::WaveformRendererSignalBase::Option::None; switch (type) { case WaveformWidgetType::Type::RGB: - options = WaveformRendererSignalBase::Option::AllOptionsCombined; + options = ::WaveformRendererSignalBase::Option::AllOptionsCombined; break; case WaveformWidgetType::Type::Filtered: - options = WaveformRendererSignalBase::Option::HighDetail; + options = ::WaveformRendererSignalBase::Option::HighDetail; break; case WaveformWidgetType::Type::Stacked: - options = WaveformRendererSignalBase::Option::HighDetail; + options = ::WaveformRendererSignalBase::Option::HighDetail; break; default: break; diff --git a/src/waveform/widgets/allshader/waveformwidget.h b/src/waveform/widgets/allshader/waveformwidget.h index 88a871f1fe78..fd5246e31adb 100644 --- a/src/waveform/widgets/allshader/waveformwidget.h +++ b/src/waveform/widgets/allshader/waveformwidget.h @@ -20,7 +20,7 @@ class allshader::WaveformWidget final : public ::WGLWidget, explicit WaveformWidget(QWidget* parent, WaveformWidgetType::Type type, const QString& group, - WaveformRendererSignalBase::Options options); + ::WaveformRendererSignalBase::Options options); ~WaveformWidget() override; WaveformWidgetType::Type getType() const override { @@ -40,7 +40,7 @@ class allshader::WaveformWidget final : public ::WGLWidget, return this; } static WaveformWidgetVars vars(); - static WaveformRendererSignalBase::Options supportedOptions(WaveformWidgetType::Type type); + static ::WaveformRendererSignalBase::Options supportedOptions(WaveformWidgetType::Type type); private: void castToQWidget() override; @@ -61,7 +61,7 @@ class allshader::WaveformWidget final : public ::WGLWidget, std::unique_ptr addWaveformSignalRenderer( WaveformWidgetType::Type type, - WaveformRendererSignalBase::Options options, + ::WaveformRendererSignalBase::Options options, ::WaveformRendererAbstract::PositionSource positionSource); WaveformWidgetType::Type m_type; diff --git a/src/waveform/widgets/hsvwaveformwidget.cpp b/src/waveform/widgets/hsvwaveformwidget.cpp index c3316889ff88..e66530c4671a 100644 --- a/src/waveform/widgets/hsvwaveformwidget.cpp +++ b/src/waveform/widgets/hsvwaveformwidget.cpp @@ -11,13 +11,15 @@ #include "waveform/renderers/waveformrendermark.h" #include "waveform/renderers/waveformrendermarkrange.h" -HSVWaveformWidget::HSVWaveformWidget(const QString& group, QWidget* parent) +HSVWaveformWidget::HSVWaveformWidget(const QString& group, + QWidget* parent, + ::WaveformRendererSignalBase::Options options) : NonGLWaveformWidgetAbstract(group, parent) { addRenderer(); addRenderer(); addRenderer(); addRenderer(); - addRenderer(); + addRenderer(options); addRenderer(); addRenderer(); diff --git a/src/waveform/widgets/hsvwaveformwidget.h b/src/waveform/widgets/hsvwaveformwidget.h index 64770edaf10f..5f4a1a6f197d 100644 --- a/src/waveform/widgets/hsvwaveformwidget.h +++ b/src/waveform/widgets/hsvwaveformwidget.h @@ -1,6 +1,7 @@ #pragma once #include "nonglwaveformwidgetabstract.h" +#include "waveform/renderers/waveformrenderersignalbase.h" class QWidget; @@ -28,6 +29,8 @@ class HSVWaveformWidget : public NonGLWaveformWidgetAbstract { virtual void paintEvent(QPaintEvent* event); private: - HSVWaveformWidget(const QString& group, QWidget* parent); + HSVWaveformWidget(const QString& group, + QWidget* parent, + WaveformRendererSignalBase::Options options); friend class WaveformWidgetFactory; }; diff --git a/src/waveform/widgets/rgbwaveformwidget.cpp b/src/waveform/widgets/rgbwaveformwidget.cpp index 3c7a61805d2e..72b907ede6af 100644 --- a/src/waveform/widgets/rgbwaveformwidget.cpp +++ b/src/waveform/widgets/rgbwaveformwidget.cpp @@ -11,13 +11,15 @@ #include "waveform/renderers/waveformrendermark.h" #include "waveform/renderers/waveformrendermarkrange.h" -RGBWaveformWidget::RGBWaveformWidget(const QString& group, QWidget* parent) +RGBWaveformWidget::RGBWaveformWidget(const QString& group, + QWidget* parent, + WaveformRendererSignalBase::Options options) : NonGLWaveformWidgetAbstract(group, parent) { addRenderer(); addRenderer(); addRenderer(); addRenderer(); - addRenderer(); + addRenderer(options); addRenderer(); addRenderer(); diff --git a/src/waveform/widgets/rgbwaveformwidget.h b/src/waveform/widgets/rgbwaveformwidget.h index 3c925c5359db..255415b697e2 100644 --- a/src/waveform/widgets/rgbwaveformwidget.h +++ b/src/waveform/widgets/rgbwaveformwidget.h @@ -1,6 +1,7 @@ #pragma once #include "nonglwaveformwidgetabstract.h" +#include "waveform/renderers/waveformrenderersignalbase.h" class QWidget; @@ -28,6 +29,8 @@ class RGBWaveformWidget : public NonGLWaveformWidgetAbstract { virtual void paintEvent(QPaintEvent* event); private: - RGBWaveformWidget(const QString& group, QWidget* parent); + RGBWaveformWidget(const QString& group, + QWidget* parent, + WaveformRendererSignalBase::Options options); friend class WaveformWidgetFactory; }; diff --git a/src/waveform/widgets/softwarewaveformwidget.cpp b/src/waveform/widgets/softwarewaveformwidget.cpp index 69099904e608..7f321b67a4d5 100644 --- a/src/waveform/widgets/softwarewaveformwidget.cpp +++ b/src/waveform/widgets/softwarewaveformwidget.cpp @@ -11,13 +11,15 @@ #include "waveform/renderers/waveformrendermark.h" #include "waveform/renderers/waveformrendermarkrange.h" -SoftwareWaveformWidget::SoftwareWaveformWidget(const QString& group, QWidget* parent) +SoftwareWaveformWidget::SoftwareWaveformWidget(const QString& group, + QWidget* parent, + WaveformRendererSignalBase::Options options) : NonGLWaveformWidgetAbstract(group, parent) { addRenderer(); addRenderer(); addRenderer(); addRenderer(); - addRenderer(); + addRenderer(options); addRenderer(); addRenderer(); diff --git a/src/waveform/widgets/softwarewaveformwidget.h b/src/waveform/widgets/softwarewaveformwidget.h index c79d0a545eaf..5227435f213f 100644 --- a/src/waveform/widgets/softwarewaveformwidget.h +++ b/src/waveform/widgets/softwarewaveformwidget.h @@ -1,6 +1,7 @@ #pragma once #include "nonglwaveformwidgetabstract.h" +#include "waveform/renderers/waveformrenderersignalbase.h" class QWidget; @@ -29,6 +30,8 @@ class SoftwareWaveformWidget : public NonGLWaveformWidgetAbstract { virtual void paintEvent(QPaintEvent* event); private: - SoftwareWaveformWidget(const QString& groupp, QWidget* parent); + SoftwareWaveformWidget(const QString& groupp, + QWidget* parent, + WaveformRendererSignalBase::Options options); friend class WaveformWidgetFactory; }; From 0ae4c6a7b0cf42a6a27ad3d9a9125e80b146372d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Sch=C3=BCrmann?= Date: Thu, 26 Jun 2025 01:08:24 +0200 Subject: [PATCH 063/181] Update Translation template. Found 3225 source text(s) (14 new and 3211 already existing) --- res/translations/mixxx.ts | 754 +++++++++++++++++++++----------------- 1 file changed, 408 insertions(+), 346 deletions(-) diff --git a/res/translations/mixxx.ts b/res/translations/mixxx.ts index 549697e3eeb1..56fd19245fe5 100644 --- a/res/translations/mixxx.ts +++ b/res/translations/mixxx.ts @@ -149,7 +149,7 @@ BasePlaylistFeature - + New Playlist @@ -160,7 +160,7 @@ - + Create New Playlist @@ -190,113 +190,120 @@ - - + + Import Playlist - + Export Track Files - + Analyze entire Playlist - + Enter new name for playlist: - + Duplicate Playlist - - + + Enter name for new playlist: - - + + Export Playlist - + Add to Auto DJ Queue (replace) - + + + Export to Engine DJ + "Engine DJ" is a product name and must not be translated. + + + + Rename Playlist - - + + Renaming Playlist Failed - - - + + + A playlist by that name already exists. - - - + + + A playlist cannot have a blank name. - + _copy //: Appendix to default name when duplicating a playlist - - - - - - + + + + + + Playlist Creation Failed - - + + An unknown error occurred while creating playlist: - + Confirm Deletion - + Do you really want to delete playlist <b>%1</b>? - + M3U Playlist (*.m3u) - + M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Text CSV (*.csv);;Readable Text (*.txt) @@ -304,12 +311,12 @@ BaseSqlTableModel - + # - + Timestamp @@ -317,7 +324,7 @@ BaseTrackPlayerImpl - + Couldn't load track. @@ -325,142 +332,142 @@ BaseTrackTableModel - + Album - + Album Artist - + Artist - + Bitrate - + BPM - + Channels - + Color - + Comment - + Composer - + Cover Art - + Date Added - + Last Played - + Duration - + Type - + Genre - + Grouping - + Key - + Location - + Overview - + Preview - + Rating - + ReplayGain - + Samplerate - + Played - + Title - + Track # - + Year - + Fetching image ... Tooltip text on the cover art column shown when the cover is read from disk @@ -609,6 +616,16 @@ "Computer" lets you navigate, view, and load tracks from folders on your hard disk and external devices. + + + It shows the data from the file tags, not track data from your Mixxx library like other track views. + + + + + If you load a track file from here, it will be added to your library. + + BrowseTableModel @@ -3627,32 +3644,32 @@ trace - Above + Profiling messages ControllerScriptEngineBase - + The functionality provided by this controller mapping will be disabled until the issue has been resolved. - + You can ignore this error for this session but you may experience erratic behavior. - + Try to recover by resetting your controller. - + Controller Mapping Error - + The mapping for your controller "%1" is not working properly. - + The script code needs to be fixed. @@ -3760,7 +3777,7 @@ trace - Above + Profiling messages - + Export Crate @@ -3770,7 +3787,7 @@ trace - Above + Profiling messages - + An unknown error occurred while creating crate: @@ -3796,17 +3813,17 @@ trace - Above + Profiling messages - + Crate Creation Failed - + M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Text CSV (*.csv);;Readable Text (*.txt) - + M3U Playlist (*.m3u) @@ -3932,12 +3949,12 @@ trace - Above + Profiling messages - + Official Website - + Donate @@ -3993,7 +4010,7 @@ trace - Above + Profiling messages - + Analyze @@ -4038,17 +4055,17 @@ trace - Above + Profiling messages - + Stop Analysis - + Analyzing %1% %2/%3 - + Analyzing %1/%2 @@ -4448,37 +4465,37 @@ Often results in higher quality beatgrids, but will not do well on tracks that h - + Didn't get any midi messages. Please try again. - + Unable to detect a mapping -- please try again. Be sure to only touch one control at once. - + Successfully mapped control: - + <i>Ready to learn %1</i> - + Learning: %1. Now move a control on your controller. - + The selected control does not exist.<br>This likely a bug. Please report it on the Mixxx bug tracker.<br><a href='https://github.com/mixxxdj/mixxx/issues'>https://github.com/mixxxdj/mixxx/issues</a><br><br>You tried to learn: %1,%2 - + The control you clicked in Mixxx is not learnable. This could be because you are either using an old skin and this control is no longer supported, or you clicked a control that provides visual feedback and can only be mapped to outputs like LEDs via scripts. @@ -5180,113 +5197,113 @@ associated with each key. DlgPrefController - + Apply device settings? - + Your settings must be applied before starting the learning wizard. Apply settings and continue? - + None - + %1 by %2 - + Mapping has been edited - + Always overwrite during this session - + Save As - + Overwrite - + Save user mapping - + Enter the name for saving the mapping to the user folder. - + Saving mapping failed - + A mapping cannot have a blank name and may not contain special characters. - + A mapping file with that name already exists. - + Do you want to save the changes? - + Troubleshooting - + <font color='#BB0000'><b>If you use this mapping your controller may not work correctly. Please select another mapping or disable the controller.</b></font><br><br>This mapping was designed for a newer Mixxx Controller Engine and cannot be used on your current Mixxx installation.<br>Your Mixxx installation has Controller Engine version %1. This mapping requires a Controller Engine version >= %2.<br><br>For more information visit the wiki page on <a href='https://mixxx.org/wiki/doku.php/controller_engine_versions'>Controller Engine Versions</a>. - + Mapping already exists. - + <b>%1</b> already exists in user mapping folder.<br>Overwrite or save with a new name? - + Clear Input Mappings - + Are you sure you want to clear all input mappings? - + Clear Output Mappings - + Are you sure you want to clear all output mappings? @@ -5617,6 +5634,16 @@ Apply settings and continue? Multi-Sampling + + + Force 3D acceleration + + + + + If checked, Mixxx will always assume 3D acceleration is available. This may lead to pour performance if only CP-backed rendering is available.. + + Start in full-screen mode @@ -6208,62 +6235,62 @@ You can always drag-and-drop tracks on screen to clone a deck. DlgPrefInterface - + The minimum size of the selected skin is bigger than your screen resolution. - + Allow screensaver to run - + Prevent screensaver from running - + Prevent screensaver while playing - + Disabled - + 2x MSAA - + 4x MSAA - + 8x MSAA - + 16x MSAA - + This skin does not support color schemes - + Information - + Mixxx must be restarted before the new locale, scaling or multi-sampling settings will take effect. @@ -7430,173 +7457,172 @@ The loudness target is approximate and assumes track pregain and main output lev DlgPrefSound - + %1 Hz - + Default (long delay) - + Experimental (no delay) - + Disabled (short delay) - + Soundcard Clock - + Network Clock - + Direct monitor (recording and broadcasting only) - + Disabled - + Enabled - + Stereo - + Mono - + To enable Realtime scheduling (currently disabled), see the %1. - + The %1 lists sound cards and controllers you may want to consider for using Mixxx. - + Mixxx DJ Hardware Guide - + Information - + Mixxx must be restarted before the multi-threaded RubberBand setting change will take effect. - + auto (<= 1024 frames/period) - + 2048 frames/period - + 4096 frames/period - + Are you sure? - + Distribute stereo channels into mono channels for parallel processing will result in a loss of mono compatibility and a diffuse stereo image. It is not recommended during broadcasting or recording. - + Are you sure you wish to proceed? - + No - + Yes, I know what I am doing - + Microphone inputs are out of time in the record & broadcast signal compared to what you hear. - + Measure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. - - + Refer to the Mixxx User Manual for details. - + Configured latency has changed. - + Remeasure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. - + Realtime scheduling is enabled. - + Main output only - + Main and booth outputs - + %1 ms - + Configuration error @@ -7614,131 +7640,131 @@ The loudness target is approximate and assumes track pregain and main output lev - + Sample Rate - + Audio Buffer - + Engine Clock - + Use soundcard clock for live audience setups and lowest latency.<br>Use network clock for broadcasting without a live audience. - + Main Mix - + Main Output Mode - + Microphone Monitor Mode - + Microphone Latency Compensation - - - - + + + + ms milliseconds - + 20 ms - + Buffer Underflow Count - + 0 - + Keylock/Pitch-Bending Engine - + Multi-Soundcard Synchronization - + Output - + Input - + System Reported Latency - + Enlarge your audio buffer if the underflow counter is increasing or you hear pops during playback. - + Main Output Delay - + Headphone Output Delay - + Booth Output Delay - + Dual-threaded Stereo - + Hints and Diagnostics - + Downsize your audio buffer to improve Mixxx's responsiveness. - + Query Devices @@ -9291,27 +9317,27 @@ Often results in higher quality beatgrids, but will not do well on tracks that h EngineBuffer - + Soundtouch (faster) - + Rubberband (better) - + Rubberband R3 (near-hi-fi quality) - + Unknown, using Rubberband (better) - + Unknown, using Soundtouch @@ -9526,15 +9552,15 @@ Often results in higher quality beatgrids, but will not do well on tracks that h LegacySkinParser - - + + Safe Mode Enabled Shown when Mixxx is running in safe mode. - - + + No OpenGL support. Shown when Spinny can not be displayed. Please keep @@ -9545,57 +9571,57 @@ Shown when VuMeter can not be displayed. Please keep - + activate - + toggle - + right - + left - + right small - + left small - + up - + down - + up small - + down small - + Shortcut @@ -9603,62 +9629,62 @@ Shown when VuMeter can not be displayed. Please keep Library - + This or a parent directory is already in your library. - + This or a listed directory does not exist or is inaccessible. Aborting the operation to avoid library inconsistencies - - + + This directory can not be read. - + An unknown error occurred. Aborting the operation to avoid library inconsistencies - + Can't add Directory to Library - + Could not add <b>%1</b> to your library. %2 - + Can't remove Directory from Library - + An unknown error occurred. - + This directory does not exist or is inaccessible. - + Relink Directory - + Could not relink <b>%1</b> to <b>%2</b>. %3 @@ -9833,249 +9859,249 @@ Do you really want to overwrite it? MixxxMainWindow - + Sound Device Busy - + <b>Retry</b> after closing the other application or reconnecting a sound device - - - + + + <b>Reconfigure</b> Mixxx's sound device settings. - - + + Get <b>Help</b> from the Mixxx Wiki. - - - + + + <b>Exit</b> Mixxx. - + Retry - + skin - + Allow Mixxx to hide the menu bar? - + Hide Always show the menu bar? - + Always show - + The Mixxx menu bar is hidden and can be toggled with a single press of the <b>Alt</b> key.<br><br>Click <b>%1</b> to agree.<br><br>Click <b>%2</b> to disable that, for example if you don't use Mixxx with a keyboard.<br><br>You can change this setting any time in Preferences -> Interface.<br> Keep formatting tags <b> (bold text) and <br> (linebreak). %1 is the placeholder for the 'Always show' button label - + Ask me again - - + + Reconfigure - + Help - - + + Exit - - + + Mixxx was unable to open all the configured sound devices. - + Sound Device Error - + <b>Retry</b> after fixing an issue - + No Output Devices - + Mixxx was configured without any output sound devices. Audio processing will be disabled without a configured output device. - + <b>Continue</b> without any outputs. - + Continue - + Load track to Deck %1 - + Deck %1 is currently playing a track. - + Are you sure you want to load a new track? - + There is no input device selected for this vinyl control. Please select an input device in the sound hardware preferences first. - + There is no input device selected for this passthrough control. Please select an input device in the sound hardware preferences first. - + There is no input device selected for this microphone. Do you want to select an input device? - + There is no input device selected for this auxiliary. Do you want to select an input device? - + Scan took %1 - + No changes detected. - - + + %1 tracks in total - + %1 new tracks found - + %1 moved tracks detected - + %1 tracks are missing (%2 total) - + %1 tracks have been rediscovered - + Library scan finished - + Error in skin file - + The selected skin cannot be loaded. - + OpenGL Direct Rendering - + Direct rendering is not enabled on your machine.<br><br>This means that the waveform displays will be very<br><b>slow and may tax your CPU heavily</b>. Either update your<br>configuration to enable direct rendering, or disable<br>the waveform displays in the Mixxx preferences by selecting<br>"Empty" as the waveform display in the 'Interface' section. - - - + + + Confirm Exit - + A deck is currently playing. Exit Mixxx? - + A sampler is currently playing. Exit Mixxx? - + The preferences window is still open. - + Discard any changes and exit Mixxx? @@ -10091,13 +10117,13 @@ Do you want to select an input device? PlaylistFeature - + Lock - - + + Playlists @@ -10107,32 +10133,58 @@ Do you want to select an input device? - + + Unlock all playlists + + + + + Delete all unlocked playlists + + + + Unlock - + + + Confirm Deletion + + + + + Do you really want to delete all unlocked playlists? + + + + + Deleting %1 unlocked playlists.<br>This operation can not be undone! + + + + Playlists are ordered lists of tracks that allow you to plan your DJ sets. - + It may be necessary to skip some tracks in your prepared playlist or add some different tracks in order to maintain the energy of your audience. - + Some DJs construct playlists before they perform live, but others prefer to build them on-the-fly. - + When using a playlist during a live DJ set, remember to always pay close attention to how your audience reacts to the music you've chosen to play. - + Create New Playlist @@ -11756,7 +11808,7 @@ Hint: compensates "chipmunk" or "growling" voices - + Passthrough @@ -11920,12 +11972,12 @@ may introduce a 'pumping' effect and/or distortion. - + built-in - + missing @@ -12053,54 +12105,54 @@ may introduce a 'pumping' effect and/or distortion. RekordboxFeature - - - + + + Rekordbox - + Playlists - + Folders - + Reads databases exported for Pioneer CDJ / XDJ players using the Rekordbox Export mode.<br/>Rekordbox can only export to USB or SD devices with a FAT or HFS file system.<br/>Mixxx can read a database from any device that contains the database folders (<tt>PIONEER</tt> and <tt>Contents</tt>).<br/>Not supported are Rekordbox databases that have been moved to an external device via<br/><i>Preferences > Advanced > Database management</i>.<br/><br/>The following data is read: - + Hot cues - + Loops (only the first loop is currently usable in Mixxx) - + Check for attached Rekordbox USB / SD devices (refresh) - + Beatgrids - + Memory cues - + (loading) Rekordbox @@ -15339,47 +15391,47 @@ This can not be undone! WCueMenuPopup - + Cue number - + Cue position - + Edit cue label - + Label... - + Delete this cue - + Toggle this cue type between normal cue and saved loop - + Left-click: Use the old size or the current beatloop size as the loop size - + Right-click: Use the current play position as loop end if it is after the cue - + Hotcue #%1 @@ -16897,37 +16949,37 @@ This can not be undone! WTrackTableView - + Confirm track hide - + Are you sure you want to hide the selected tracks? - + Are you sure you want to remove the selected tracks from AutoDJ queue? - + Are you sure you want to remove the selected tracks from this crate? - + Are you sure you want to remove the selected tracks from this playlist? - + Don't ask again during this session - + Confirm track removal @@ -16948,52 +17000,52 @@ This can not be undone! mixxx::CoreServices - + fonts - + database - + effects - + audio interface - + decks - + library - + Choose music library directory - + controllers - + Cannot open database - + Unable to establish a database connection. Mixxx requires QT with SQLite support. Please read the Qt SQL driver documentation for information on how to build it. @@ -17004,68 +17056,78 @@ Click OK to exit. mixxx::DlgLibraryExport - + Entire music library - - Selected crates + + Crates + + + + + Playlists - + + Selected crates/playlists + + + + Browse - + Export directory - + Database version - + Export - + Cancel - + Export Library to Engine DJ "Engine DJ" must not be translated - + Export Library To - + No Export Directory Chosen - + No export directory was chosen. Please choose a directory in order to export the music library. - + A database already exists in the chosen directory. Exported tracks will be added into this database. - + A database already exists in the chosen directory, but there was a problem loading it. Export is not guaranteed to succeed in this situation. @@ -17086,7 +17148,7 @@ Click OK to exit. mixxx::EnginePrimeExportJob - + Failed to export track %1 - %2: %3 %1 is the artist %2 is the title and %3 is the original error message @@ -17096,22 +17158,22 @@ Click OK to exit. mixxx::LibraryExporter - + Export Completed - - Exported %1 track(s) and %2 crate(s). + + Exported %1 track(s), %2 crate(s), and %3 playlist(s). - + Export Failed - + Exporting to Engine DJ... From 63384ba588b963d697f6dfb4dfd5a7922c3793e6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Sch=C3=BCrmann?= Date: Thu, 26 Jun 2025 08:38:25 +0200 Subject: [PATCH 064/181] Pull latest translations from https://www.transifex.com/mixxx-dj-software/mixxxdj/mixxx2-7/. Compile QM files out of TS files that are used by the localized app --- res/translations/mixxx_bg.qm | Bin 43992 -> 48964 bytes res/translations/mixxx_bg.ts | 5223 ++++++++++--------- res/translations/mixxx_ca.qm | Bin 388189 -> 398938 bytes res/translations/mixxx_ca.ts | 1167 +++-- res/translations/mixxx_cs.qm | Bin 421453 -> 419929 bytes res/translations/mixxx_cs.ts | 1054 ++-- res/translations/mixxx_de.qm | Bin 454582 -> 461879 bytes res/translations/mixxx_de.ts | 1174 +++-- res/translations/mixxx_el.qm | Bin 85046 -> 84857 bytes res/translations/mixxx_el.ts | 3612 +++++++------ res/translations/mixxx_en_CA.qm | Bin 290705 -> 289574 bytes res/translations/mixxx_en_CA.ts | 3201 ++++++------ res/translations/mixxx_en_GB.qm | Bin 290675 -> 289544 bytes res/translations/mixxx_en_GB.ts | 3201 ++++++------ res/translations/mixxx_es.qm | Bin 449612 -> 490223 bytes res/translations/mixxx_es.ts | 1533 +++--- res/translations/mixxx_es_419.qm | Bin 441590 -> 489959 bytes res/translations/mixxx_es_419.ts | 1608 +++--- res/translations/mixxx_es_AR.qm | Bin 441787 -> 489948 bytes res/translations/mixxx_es_AR.ts | 1602 +++--- res/translations/mixxx_es_CO.qm | Bin 441569 -> 489936 bytes res/translations/mixxx_es_CO.ts | 1608 +++--- res/translations/mixxx_es_ES.qm | Bin 443026 -> 490008 bytes res/translations/mixxx_es_ES.ts | 1589 +++--- res/translations/mixxx_es_MX.qm | Bin 443423 -> 489998 bytes res/translations/mixxx_es_MX.ts | 1589 +++--- res/translations/mixxx_et.qm | Bin 48997 -> 48742 bytes res/translations/mixxx_et.ts | 3614 +++++++------ res/translations/mixxx_eu.qm | Bin 50991 -> 50781 bytes res/translations/mixxx_eu.ts | 3614 +++++++------ res/translations/mixxx_fa.qm | Bin 34845 -> 34245 bytes res/translations/mixxx_fa.ts | 3620 +++++++------ res/translations/mixxx_fi.qm | Bin 84643 -> 84382 bytes res/translations/mixxx_fi.ts | 3614 +++++++------ res/translations/mixxx_fr.qm | Bin 508735 -> 510872 bytes res/translations/mixxx_fr.ts | 1072 ++-- res/translations/mixxx_gl.qm | Bin 186356 -> 186103 bytes res/translations/mixxx_gl.ts | 3189 +++++------ res/translations/mixxx_hi_IN.qm | Bin 25481 -> 25303 bytes res/translations/mixxx_hi_IN.ts | 5105 ++++++++++-------- res/translations/mixxx_hu.qm | Bin 98644 -> 102337 bytes res/translations/mixxx_hu.ts | 3674 +++++++------ res/translations/mixxx_id.qm | Bin 35573 -> 35384 bytes res/translations/mixxx_id.ts | 3616 +++++++------ res/translations/mixxx_it.qm | Bin 459254 -> 459840 bytes res/translations/mixxx_it.ts | 1100 ++-- res/translations/mixxx_ja.qm | Bin 90240 -> 91022 bytes res/translations/mixxx_ja.ts | 1480 +++--- res/translations/mixxx_ko.qm | Bin 57246 -> 57188 bytes res/translations/mixxx_ko.ts | 3187 +++++------ res/translations/mixxx_lb.qm | Bin 16202 -> 16294 bytes res/translations/mixxx_lb.ts | 3612 +++++++------ res/translations/mixxx_nb.qm | Bin 44199 -> 43781 bytes res/translations/mixxx_nb.ts | 3618 +++++++------ res/translations/mixxx_nl.qm | Bin 480821 -> 479003 bytes res/translations/mixxx_nl.ts | 1048 ++-- res/translations/mixxx_pl.qm | Bin 297517 -> 297017 bytes res/translations/mixxx_pl.ts | 3202 ++++++------ res/translations/mixxx_pt.qm | Bin 159807 -> 297422 bytes res/translations/mixxx_pt.ts | 5036 +++++++++--------- res/translations/mixxx_pt_BR.qm | Bin 234677 -> 296811 bytes res/translations/mixxx_pt_BR.ts | 3959 +++++++------- res/translations/mixxx_pt_PT.qm | Bin 285697 -> 296765 bytes res/translations/mixxx_pt_PT.ts | 3414 ++++++------ res/translations/mixxx_ro.qm | Bin 168368 -> 167624 bytes res/translations/mixxx_ro.ts | 3197 ++++++------ res/translations/mixxx_ru.qm | Bin 422856 -> 421028 bytes res/translations/mixxx_ru.ts | 1048 ++-- res/translations/mixxx_sl.qm | Bin 432757 -> 431169 bytes res/translations/mixxx_sl.ts | 1050 ++-- res/translations/mixxx_sq_AL.qm | Bin 166365 -> 167724 bytes res/translations/mixxx_sq_AL.ts | 1536 +++--- res/translations/mixxx_sr.qm | Bin 179678 -> 179419 bytes res/translations/mixxx_sr.ts | 3618 +++++++------ res/translations/mixxx_sv.qm | Bin 208821 -> 208855 bytes res/translations/mixxx_sv.ts | 3221 ++++++------ res/translations/mixxx_tr.qm | Bin 76698 -> 76577 bytes res/translations/mixxx_tr.ts | 3628 +++++++------ res/translations/mixxx_uk.qm | Bin 53821 -> 53487 bytes res/translations/mixxx_uk.ts | 3616 +++++++------ res/translations/mixxx_vi.qm | Bin 187157 -> 190797 bytes res/translations/mixxx_vi.ts | 3356 ++++++------ res/translations/mixxx_zh.qm | Bin 298048 -> 297086 bytes res/translations/mixxx_zh.ts | 1059 ++-- res/translations/mixxx_zh_CN.qm | Bin 298079 -> 297153 bytes res/translations/mixxx_zh_CN.ts | 1056 ++-- res/translations/mixxx_zh_HK.qm | Bin 297981 -> 297159 bytes res/translations/mixxx_zh_HK.ts | 1060 ++-- res/translations/mixxx_zh_TW.qm | Bin 298272 -> 297367 bytes res/translations/mixxx_zh_TW.ts | 1058 ++-- res/translations/source_copy_allow_list.tsv | 78 +- 91 files changed, 62236 insertions(+), 55280 deletions(-) diff --git a/res/translations/mixxx_bg.qm b/res/translations/mixxx_bg.qm index 8b0e62ad1f6ccf37c14d3b7dfea0d4201de2f7e8..3f91b1106b0de113ed7c441c2626f0d64d9e2252 100644 GIT binary patch delta 6281 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 E0A#z7lmGw# delta 3727 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 WNo>?eMe)cvmC*P_op|i5UjBc7mPBL# diff --git a/res/translations/mixxx_bg.ts b/res/translations/mixxx_bg.ts index 50fc06e3e5a4..0f7502263cd3 100644 --- a/res/translations/mixxx_bg.ts +++ b/res/translations/mixxx_bg.ts @@ -19,22 +19,52 @@ AutoDJFeature - + Crates Колекции - + + Enable Auto DJ + + + + + Disable Auto DJ + + + + + Clear Auto DJ Queue + + + + Remove Crate as Track Source Премахни Колекция като Пистов Източник - + Auto DJ Авто-DJ (Автодиджей) - + + Confirmation Clear + + + + + Do you really want to remove all tracks from the Auto DJ queue? + + + + + This can not be undone. + + + + Add Crate as Track Source Добави Колекция като Пистов Източник @@ -117,154 +147,161 @@ BasePlaylistFeature - + New Playlist Нов списък с песни - + Add to Auto DJ Queue (bottom) Добавяне към Авто DJ опашка (край) - - + + Create New Playlist Създаване на нов списък с песни - + Add to Auto DJ Queue (top) Добавяне към Авто DJ опашка (начало) - + Remove Премахване - + Rename Преименуване - + Lock Заключване - + Duplicate Дубликат - - + + Import Playlist Внасяне на списък за изпълнение - + Export Track Files - + Analyze entire Playlist Анализирай целия списък с песни - + Enter new name for playlist: Въведи ново име за списък с песни: - + Duplicate Playlist Копиране на списъка с песни - - + + Enter name for new playlist: Въведете име за нов списък с песни - - + + Export Playlist Изнасяне на списъка с песни - + Add to Auto DJ Queue (replace) - + + + Export to Engine DJ + "Engine DJ" is a product name and must not be translated. + + + + Rename Playlist Преименуване на списъка с песни - - + + Renaming Playlist Failed Преименуването на списъка с песни не бе успепно - - - + + + A playlist by that name already exists. Вече съществува списък с песни с това име - - - + + + A playlist cannot have a blank name. Списъка с песни не може да бъде без име. - + _copy //: Appendix to default name when duplicating a playlist _копие - - - - - - + + + + + + Playlist Creation Failed Създаването на списъка за изпъленине се провали - - + + An unknown error occurred while creating playlist: По време на създаването на списъка за изпълнение възникна неизвестна грешка: - + Confirm Deletion - + Do you really want to delete playlist <b>%1</b>? - + M3U Playlist (*.m3u) M3U Списък с песни (*.m3u) - + M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Text CSV (*.csv);;Readable Text (*.txt) Списък за изпълнение M3U (*.m3u);;Списък за изпълнение M3U8 (*.m3u8);;Списък за изпълнение PLS (*.pls);;Текст в CSV (*.csv);;Четим текст (*.txt) @@ -272,12 +309,12 @@ BaseSqlTableModel - + # - + Timestamp Дата @@ -285,7 +322,7 @@ BaseTrackPlayerImpl - + Couldn't load track. Песента не може да бъде заредена. @@ -293,137 +330,142 @@ BaseTrackTableModel - + Album Албум - + Album Artist Изпълнител - + Artist Изпълнител - + Bitrate Бит./сек. (bitrate) - + BPM Уд/мин (BPM) - + Channels Канали - + Color - + Comment Коментар - + Composer Композитор - + Cover Art Обложка - + Date Added Дата на добавяне - + Last Played - + Duration Продължителност - + Type Тип - + Genre Жанр - + Grouping Групировка - + Key Ключ - + Location Местоположение - + + Overview + + + + Preview Преглед - + Rating Оценка - + ReplayGain - + Samplerate - + Played Пускано - + Title Заглавие - + Track # Пътека/писта/запис № - + Year Година - + Fetching image ... Tooltip text on the cover art column shown when the cover is read from disk @@ -445,22 +487,22 @@ BroadcastProfile - + Can't use secure password storage: keychain access failed. - + Secure password retrieval unsuccessful: keychain access failed. - + Settings error Грешка в настройките - + <b>Error with settings for '%1':</b><br> <b>Грешка в настройките за '%1':</b><br> @@ -511,213 +553,215 @@ BrowseFeature - + Add to Quick Links Добави към Бързи връзки - + Remove from Quick Links Премахни от Бързи връзки - + Add to Library Добави в библиотека - + Refresh directory tree - + Quick Links Бързи връзки - - + + Devices Устройства - + Removable Devices Преносими устройства - - + + Computer Компютър - + Music Directory Added Музикалната папка е добавена - + You added one or more music directories. The tracks in these directories won't be available until you rescan your library. Would you like to rescan now? Вие сте добавили една или повече папки с музика. Файловете в тези папки няма да са налични докато не сканирате повторно вашата библиотека. Желаете ли да сканирате повторно сега? - + Scan Сканиране - + "Computer" lets you navigate, view, and load tracks from folders on your hard disk and external devices. + + + It shows the data from the file tags, not track data from your Mixxx library like other track views. + + + + + If you load a track file from here, it will be added to your library. + + BrowseTableModel - + Preview Преглед - + Filename Име на файл - + Artist Изпълнител - + Title Заглавие - + Album Албум - + Track # Пътека/писта/запис № - + Year Година - + Genre Жанр - + Composer Композитор - + Comment Коментар - + Duration Продължителност - + BPM Уд/мин (BPM) - + Key Ключ - + Type Тип - + Bitrate Бит./сек. (bitrate) - + ReplayGain - + Location Местоположение - + Album Artist Изпълнител - + Grouping Групировка - + File Modified Файла е модифициран - + File Created Файла е създаден - + Mixxx Library Библиотека на Mixxx - + Could not load the following file because it is in use by Mixxx or another application. Следният файл не може да бъде зареден, защото се използва отMixxx или друго приложение. - - BulkController - - - USB Controller - USB Контролер - - CachingReaderWorker - + The file '%1' could not be found. - + The file '%1' could not be loaded. - + The file '%1' could not be loaded because it contains %2 channels, and only 1 to %3 are supported. - + The file '%1' is empty and could not be loaded. @@ -725,82 +769,87 @@ CmdlineArgs - + Mixxx is an open source DJ software. For more information, see: - + Starts Mixxx in full-screen mode - + Use a custom locale for loading translations. (e.g 'fr') - + Top-level directory where Mixxx should look for its resource files such as MIDI mappings, overriding the default installation location. - + Path the debug statistics time line is written to - + Causes Mixxx to display/log all of the controller data it receives and script functions it loads - + The controller mapping will issue more aggressive warnings and errors when detecting misuse of controller APIs. New Controller Mappings should be developed with this option enabled! - + Enables developer-mode. Includes extra log info, stats on performance, and a Developer tools menu. - + Top-level directory where Mixxx should look for settings. Default is: - + Starts Auto DJ when Mixxx is launched. - + + Rescans the library when Mixxx is launched. + + + + Use legacy vu meter - + Use legacy spinny - + Loads experimental QML GUI instead of legacy QWidget skin - + Enables safe-mode. Disables OpenGL waveforms, and spinning vinyl widgets. Try this option if Mixxx is crashing on startup. - + [auto|always|never] Use colors on the console output. - + Sets the verbosity of command line logging. critical - Critical/Fatal only warning - Above + Warnings @@ -810,22 +859,32 @@ trace - Above + Profiling messages - + Sets the the logging level at which the log buffer is flushed to mixxx.log. <level> is one of the values defined at --log-level above. - + + Sets the maximum file size of the mixxx.log file in bytes. Use -1 for unlimited. The default is 100 MB as 1e5 or 100000000. + + + + Breaks (SIGINT) Mixxx, if a DEBUG_ASSERT evaluates to false. Under a debugger you can continue afterwards. - + + Overrides the default application GUI style. Possible values: %1 + + + + Load the specified music file(s) at start-up. Each file you specify will be loaded into the next virtual deck. - + Preview rendered controller screens in the Setting windows. @@ -1007,13 +1066,13 @@ trace - Above + Profiling messages - + Set to full volume - + Set to zero volume @@ -1038,13 +1097,13 @@ trace - Above + Profiling messages - + Headphone listen button - + Mute button Бутон за заглушаване @@ -1055,25 +1114,25 @@ trace - Above + Profiling messages - + Mix orientation (e.g. left, right, center) - + Set mix orientation to left - + Set mix orientation to center - + Set mix orientation to right @@ -1114,22 +1173,22 @@ trace - Above + Profiling messages - + Toggle quantize mode - + One-time beat sync (tempo only) - + One-time beat sync (phase only) - + Toggle keylock mode @@ -1139,193 +1198,193 @@ trace - Above + Profiling messages Еквалайзери - + Vinyl Control Контрол с грамофони - + Toggle vinyl-control cueing mode (OFF/ONE/HOT) - + Toggle vinyl-control mode (ABS/REL/CONST) - + Pass through external audio into the internal mixer - + Cues - + Cue button - + Set cue point - + Go to cue point - + Go to cue point and play - + Go to cue point and stop - + Preview from cue point - + Cue button (CDJ mode) - + Stutter cue - + Hotcues - + Set, preview from or jump to hotcue %1 - + Clear hotcue %1 - + Set hotcue %1 - + Jump to hotcue %1 - + Jump to hotcue %1 and stop - + Jump to hotcue %1 and play - + Preview from hotcue %1 - - + + Hotcue %1 - + Looping - + Loop In button - + Loop Out button - + Loop Exit button - + 1/2 1/2 - + 1 1 - + 2 2 - + 4 4 - + 8 8 - + 16 16 - + 32 32 - + 64 64 - + Move loop forward by %1 beats - + Move loop backward by %1 beats - + Create %1-beat loop - + Create temporary %1-beat loop roll @@ -1441,20 +1500,20 @@ trace - Above + Profiling messages - - + + Volume Fader - + Full Volume - + Zero Volume @@ -1470,7 +1529,7 @@ trace - Above + Profiling messages - + Mute Заглушаване @@ -1481,7 +1540,7 @@ trace - Above + Profiling messages - + Headphone Listen @@ -1502,25 +1561,25 @@ trace - Above + Profiling messages - + Orientation - + Orient Left - + Orient Center - + Orient Right @@ -1590,82 +1649,82 @@ trace - Above + Profiling messages - + Adjust Beatgrid - + Align beatgrid to current position - + Adjust Beatgrid - Match Alignment - + Adjust beatgrid to match another playing deck. - + Quantize Mode - + Sync Синхронизация - + Beat Sync One-Shot - + Sync Tempo One-Shot - + Sync Phase One-Shot - + Pitch control (does not affect tempo), center is original pitch - + Pitch Adjust - + Adjust pitch from speed slider pitch - + Match musical key - + Match Key - + Reset Key - + Resets key to original @@ -1706,456 +1765,451 @@ trace - Above + Profiling messages - + Toggle Vinyl Control - + Toggle Vinyl Control (ON/OFF) - + Vinyl Control Mode - + Vinyl Control Cueing Mode - + Vinyl Control Passthrough - + Vinyl Control Next Deck - + Single deck mode - Switch vinyl control to next deck - + Cue - + Set Cue - + Go-To Cue - + Go-To Cue And Play - + Go-To Cue And Stop - + Preview Cue - + Cue (CDJ Mode) - + Stutter Cue - + Go to cue point and play after release - + Clear Hotcue %1 - + Set Hotcue %1 - + Jump To Hotcue %1 - + Jump To Hotcue %1 And Stop - + Jump To Hotcue %1 And Play - + Preview Hotcue %1 - + Loop In - + Loop Out - + Loop Exit - + Reloop/Exit Loop - + Loop Halve - + Loop Double - + 1/32 1/32 - + 1/16 1/16 - + 1/8 1/8 - + 1/4 1/4 - + Move Loop +%1 Beats - + Move Loop -%1 Beats - + Loop %1 Beats - + Loop Roll %1 Beats - + Add to Auto DJ Queue (bottom) Добавяне към Авто DJ опашка (край) - + Append the selected track to the Auto DJ Queue - + Add to Auto DJ Queue (top) Добавяне към Авто DJ опашка (начало) - + Prepend selected track to the Auto DJ Queue - + Load Track - + Load selected track - + Load selected track and play - - + + Record Mix Запиши микс - + Toggle mix recording - + Effects Ефекти - + Quick Effects Бързи ефекти - + Deck %1 Quick Effect Super Knob - + Quick Effect Super Knob (control linked effect parameters) - - + + Quick Effect - + Clear Unit - + Clear effect unit - + Toggle Unit - + Dry/Wet - + Adjust the balance between the original (dry) and processed (wet) signal. - + Super Knob - + Next Chain - + Assign - + Clear Изчисти - + Clear the current effect - + Изчисти текущия ефект - + Toggle - + Toggle the current effect - + Next Следваща - + Switch to next effect - + Previous Предишна - + Switch to the previous effect - + Next or Previous - + Switch to either next or previous effect - - + + Parameter Value - - + + Microphone Ducking Strength - + Microphone Ducking Mode - + Gain - + Gain knob - + Shuffle the content of the Auto DJ queue - + Skip the next track in the Auto DJ queue - + Auto DJ Toggle Активиране на Автоматичен DJ - + Toggle Auto DJ On/Off - - Microphone & Auxiliary Show/Hide - - - - + Show/hide the microphone & auxiliary section - + 4 Effect Units Show/Hide - + Switches between showing 2 and 4 effect units - + Mixer Show/Hide - + Show or hide the mixer. - + Cover Art Show/Hide (Library) - + Show/hide cover art in the library - + Library Maximize/Restore - + Maximize the track library to take up all the available screen space. - + Effect Rack Show/Hide - + Show/hide the effect rack - + Waveform Zoom Out @@ -2170,102 +2224,102 @@ trace - Above + Profiling messages - + Tap to sync tempo (and phase with quantize enabled), hold to enable permanent sync - + One-time beat sync tempo (and phase with quantize enabled) - + Playback Speed Скорост на възпроизвеждане - + Playback speed control (Vinyl "Pitch" slider) - + Pitch (Musical key) - + Increase Speed - + Adjust speed faster (coarse) - + Increase Speed (Fine) - + Adjust speed faster (fine) - + Decrease Speed - + Adjust speed slower (coarse) - + Adjust speed slower (fine) - + Temporarily Increase Speed - + Temporarily increase speed (coarse) - + Temporarily Increase Speed (Fine) - + Temporarily increase speed (fine) - + Temporarily Decrease Speed - + Temporarily decrease speed (coarse) - + Temporarily Decrease Speed (Fine) - + Temporarily decrease speed (fine) @@ -2288,7 +2342,7 @@ trace - Above + Profiling messages Skin - + Кожа @@ -2417,1039 +2471,1075 @@ trace - Above + Profiling messages - - - Toggle the BPM/beatgrid lock + + Move Beatgrid Half a Beat - - Revert last BPM/Beatgrid Change + + Adjust the beatgrid by exactly one half beat. Usable only for tracks with constant tempo. - Revert last BPM/Beatgrid Change of the loaded track. + + Toggle the BPM/beatgrid lock - - Sync / Sync Lock + + Revert last BPM/Beatgrid Change - - Internal Sync Leader + + Revert last BPM/Beatgrid Change of the loaded track. - - Toggle Internal Sync Leader + + Sync / Sync Lock + Internal Sync Leader + + + - Internal Leader BPM + Toggle Internal Sync Leader + + Internal Leader BPM + + + + Internal Leader BPM +1 - + Increase internal Leader BPM by 1 - + Internal Leader BPM -1 - + Decrease internal Leader BPM by 1 - + Internal Leader BPM +0.1 - + Increase internal Leader BPM by 0.1 - + Internal Leader BPM -0.1 - + Decrease internal Leader BPM by 0.1 - + Sync Leader - + Sync mode 3-state toggle / indicator (Off, Soft Leader, Explicit Leader) - + Speed - + Decrease Speed (Fine) - + Pitch (Musical Key) - + Increase Pitch - + Increases the pitch by one semitone - + Increase Pitch (Fine) - + Increases the pitch by 10 cents - + Decrease Pitch - + Decreases the pitch by one semitone - + Decrease Pitch (Fine) - + Decreases the pitch by 10 cents - + Keylock - + CUP (Cue + Play) - + Shift cue points earlier - + Shift cue points 10 milliseconds earlier - + Shift cue points earlier (fine) - + Shift cue points 1 millisecond earlier - + Shift cue points later - + Shift cue points 10 milliseconds later - + Shift cue points later (fine) - + Shift cue points 1 millisecond later - + + + Sort hotcues by position + + + + + + Sort hotcues by position (remove offsets) + + + + Hotcues %1-%2 - + Intro / Outro Markers - + Intro Start Marker - + Intro End Marker - + Outro Start Marker - + Outro End Marker - + intro start marker - + intro end marker - + outro start marker - + outro end marker - + Activate %1 [intro/outro marker - + Jump to or set the %1 [intro/outro marker - + Set %1 [intro/outro marker - + Set or jump to the %1 [intro/outro marker - + Clear %1 [intro/outro marker - + Clear the %1 [intro/outro marker - + if the track has no beats the unit is seconds - + Loop Selected Beats - + Create a beat loop of selected beat size - + Loop Roll Selected Beats - + Create a rolling beat loop of selected beat size - + Loop %1 Beats set from its end point - + Loop Roll %1 Beats set from its end point - + Create %1-beat loop with the current play position as loop end - + Create temporary %1-beat loop roll with the current play position as loop end - + Loop Beats - + Loop Roll Beats - + Go To Loop In - + Go to Loop In button - + Go To Loop Out - + Go to Loop Out button - + Toggle loop on/off and jump to Loop In point if loop is behind play position - + Reloop And Stop - + Enable loop, jump to Loop In point, and stop - + Halve the loop length - + Double the loop length - + Beat Jump / Loop Move - + Jump / Move Loop Forward %1 Beats - + Jump / Move Loop Backward %1 Beats - + Jump forward by %1 beats, or if a loop is enabled, move the loop forward %1 beats - + Jump backward by %1 beats, or if a loop is enabled, move the loop backward %1 beats - + Beat Jump / Loop Move Forward Selected Beats - + Jump forward by the selected number of beats, or if a loop is enabled, move the loop forward by the selected number of beats - + Beat Jump / Loop Move Backward Selected Beats - + Jump backward by the selected number of beats, or if a loop is enabled, move the loop backward by the selected number of beats - + Beat Jump - + Indicate which loop marker remain static when adjusting the size or is inherited from the current position - + Beat Jump / Loop Move Forward - + Beat Jump / Loop Move Backward - + Loop Move Forward - + Loop Move Backward - + Remove Temporary Loop - + Remove the temporary loop - + Navigation - + Move up - + Equivalent to pressing the UP key on the keyboard - + Move down - + Equivalent to pressing the DOWN key on the keyboard - + Move up/down - + Move vertically in either direction using a knob, as if pressing UP/DOWN keys - + Scroll Up - + Equivalent to pressing the PAGE UP key on the keyboard - + Scroll Down - + Equivalent to pressing the PAGE DOWN key on the keyboard - + Scroll up/down - + Scroll vertically in either direction using a knob, as if pressing PGUP/PGDOWN keys - + Move left - + Equivalent to pressing the LEFT key on the keyboard - + Move right - + Equivalent to pressing the RIGHT key on the keyboard - + Move left/right - + Move horizontally in either direction using a knob, as if pressing LEFT/RIGHT keys - + Move focus to right pane - + Equivalent to pressing the TAB key on the keyboard - + Move focus to left pane - + Equivalent to pressing the SHIFT+TAB key on the keyboard - + Move focus to right/left pane - + Move focus one pane to right or left using a knob, as if pressing TAB/SHIFT+TAB keys - + Sort focused column - + Sort the column of the cell that is currently focused, equivalent to clicking on its header - + Go to the currently selected item - + Choose the currently selected item and advance forward one pane if appropriate - + Load Track and Play - + Add to Auto DJ Queue (replace) - + Replace Auto DJ Queue with selected tracks - + Select next search history - + Selects the next search history entry - + Select previous search history - + Selects the previous search history entry - + Move selected search entry - + Moves the selected search history item into given direction and steps - + Clear search - + Clears the search query - - + + Select Next Color Available - + Select the next color in the color palette for the first selected track - - + + Select Previous Color Available - + Select the previous color in the color palette for the first selected track - + Deck %1 Quick Effect Enable Button - + Quick Effect Enable Button - + Enable or disable effect processing - + Super Knob (control effects' Meta Knobs) - + Mix Mode Toggle - + Toggle effect unit between D/W and D+W modes - + Next chain preset - + Previous Chain - + Previous chain preset - + Next/Previous Chain - + Next or previous chain preset - - + + Show Effect Parameters - + Effect Unit Assignment - + Meta Knob - + Effect Meta Knob (control linked effect parameters) - + Meta Knob Mode - + Set how linked effect parameters change when turning the Meta Knob. - + Meta Knob Mode Invert - + Invert how linked effect parameters change when turning the Meta Knob. - - + + Button Parameter Value - + Microphone / Auxiliary - + Microphone On/Off - + Microphone on/off Вкл./изкл. микрофон - + Toggle microphone ducking mode (OFF, AUTO, MANUAL) - + Auxiliary On/Off - + Auxiliary on/off - + Auto DJ Авто-DJ (Автодиджей) - + Auto DJ Shuffle - + Auto DJ Skip Next - + Auto DJ Add Random Track - + Add a random track to the Auto DJ queue - + Auto DJ Fade To Next - + Trigger the transition to the next track - + User Interface - + Samplers Show/Hide - + Show/hide the sampler section - + + Microphone && Auxiliary Show/Hide + keep double & to prevent creation of keyboard accelerator + + + + Waveform Zoom Reset To Default - + Reset the waveform zoom level to the default value selected in Preferences -> Waveforms - + Select the next color in the color palette for the loaded track. - + Select previous color in the color palette for the loaded track. - + Navigate Through Track Colors - + Select either next or previous color in the palette for the loaded track. - + Start/Stop Live Broadcasting - + Stream your mix over the Internet. - + Start/stop recording your mix. - - + + Samplers - + Vinyl Control Show/Hide - + Show/hide the vinyl control section - + Preview Deck Show/Hide - + Show/hide the preview deck - + Toggle 4 Decks - + Switches between showing 2 decks and 4 decks. - + Cover Art Show/Hide (Decks) - + Show/hide cover art in the main decks - + Vinyl Spinner Show/Hide - + Show/hide spinning vinyl widget - + Vinyl Spinners Show/Hide (All Decks) - + Show/Hide all spinnies - + Toggle Waveforms - + Show/hide the scrolling waveforms. - + Waveform zoom - + Waveform Zoom - + Zoom waveform in - + Waveform Zoom In - + Zoom waveform out - + Star Rating Up - + Increase the track rating by one star - + Star Rating Down - + Decrease the track rating by one star + + Controller + + + Unknown + + + ControllerInputMappingTableModel @@ -3539,12 +3629,12 @@ trace - Above + Profiling messages - + Unnamed - + <i>FPS: %0/%1</i> @@ -3552,32 +3642,32 @@ trace - Above + Profiling messages ControllerScriptEngineBase - + The functionality provided by this controller mapping will be disabled until the issue has been resolved. - + You can ignore this error for this session but you may experience erratic behavior. - + Try to recover by resetting your controller. - + Controller Mapping Error - + The mapping for your controller "%1" is not working properly. - + The script code needs to be fixed. @@ -3585,27 +3675,27 @@ trace - Above + Profiling messages ControllerScriptEngineLegacy - + Controller Mapping File Problem - + The mapping for controller "%1" cannot be opened. - + The functionality provided by this controller mapping will be disabled until the issue has been resolved. - + File: - + Error: @@ -3626,15 +3716,15 @@ trace - Above + Profiling messages Премахване - + Create New Crate - + Rename - + Преименуване @@ -3685,7 +3775,7 @@ trace - Above + Profiling messages Внасяне на колекция - + Export Crate Изнасяне на колекция @@ -3695,7 +3785,7 @@ trace - Above + Profiling messages Отключване - + An unknown error occurred while creating crate: Неочаквана грешка при създаване на колекция: @@ -3704,12 +3794,6 @@ trace - Above + Profiling messages Rename Crate Преименуване на колекция - - - - Export to Engine Prime - - Make a crate for your next gig, for your favorite electrohouse tracks, or for your most requested tracks. @@ -3727,25 +3811,31 @@ trace - Above + Profiling messages Колекцията не бе преименувана успешно. - + Crate Creation Failed - + M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Text CSV (*.csv);;Readable Text (*.txt) Списък за изпълнение M3U (*.m3u);;Списък за изпълнение M3U8 (*.m3u8);;Списък за изпълнение PLS (*.pls);;Текст в CSV (*.csv);;Четим текст (*.txt) - + M3U Playlist (*.m3u) - + M3U Списък с песни (*.m3u) Crates are a great way to help organize the music you want to DJ with. + + + + Export to Engine DJ + + Crates let you organize your music however you'd like! @@ -3857,12 +3947,12 @@ trace - Above + Profiling messages Програмисти от стари версии - + Official Website - + Donate @@ -3918,7 +4008,7 @@ trace - Above + Profiling messages - + Analyze Анализиране @@ -3968,12 +4058,12 @@ trace - Above + Profiling messages Спиране на анализирането - + Analyzing %1% %2/%3 - + Analyzing %1/%2 @@ -3981,92 +4071,72 @@ trace - Above + Profiling messages DlgAutoDJ - + Skip Пропускане - + Random - + Fade - + Enable Auto DJ Shortcut: Shift+F12 - + Disable Auto DJ Shortcut: Shift+F12 - + Trigger the transition to the next track Shortcut: Shift+F11 - + Skip the next track in the Auto DJ queue Shortcut: Shift+F10 - + Shuffle the content of the Auto DJ queue Shortcut: Shift+F9 - + Repeat the playlist - + Determines the duration of the transition - + Seconds Секунди - - Full Intro + Outro - - - - - Fade At Outro Start - - - - - Full Track - - - - - Skip Silence - - - - + Auto DJ Fade Modes Full Intro + Outro: @@ -4088,59 +4158,89 @@ silence between tracks. Skip Silence: Play the whole track except for silence at the beginning and end. Begin crossfading from the selected number of seconds before the -last sound. +last sound. + +Skip Silence Start Full Volume: +The same as Skip Silence, but starting transitions with a centered +crossfader, so that the intro starts at full volume. + - - Repeat + + Full Intro + Outro - - Auto DJ requires two decks assigned to opposite sides of the crossfader. + + Fade At Outro Start - - One deck must be stopped to enable Auto DJ mode. + + Full Track + + + + + Skip Silence + + + + + Skip Silence Start Full Volume + + + + + Decks not used for Auto DJ must be stopped to enable Auto DJ mode. + + + + + Repeat + + + + + Auto DJ requires two decks assigned to opposite sides of the crossfader. - - Decks 3 and 4 must be stopped to enable Auto DJ mode. + + One deck must be stopped to enable Auto DJ mode. - + Enable - + Disable - + Displays the duration and number of selected tracks. - - - + + + Auto DJ Авто-DJ (Автодиджей) - + Shuffle Разбъркано възпроизвеждане - + Adds a random track from track sources (crates) to the Auto DJ queue. If no track sources are configured, the track is added from the library instead. @@ -4159,7 +4259,7 @@ If no track sources are configured, the track is added from the library instead. - + Choose between different algorithms to detect beats. @@ -4194,9 +4294,24 @@ Often results in higher quality beatgrids, but will not do well on tracks that h - - Choose Analyzer - Избери Анализатор + + Use rhythmic channel when analysing stem file + + + + + Disabled + + + + + Enforced + + + + + Choose Analyzer + Избери Анализатор @@ -4240,7 +4355,7 @@ Often results in higher quality beatgrids, but will not do well on tracks that h Close - + Затваряне @@ -4255,7 +4370,7 @@ Often results in higher quality beatgrids, but will not do well on tracks that h Cancel - + Отказ @@ -4305,7 +4420,7 @@ Often results in higher quality beatgrids, but will not do well on tracks that h Retry - + Отново @@ -4348,32 +4463,37 @@ Often results in higher quality beatgrids, but will not do well on tracks that h - + Didn't get any midi messages. Please try again. - + Unable to detect a mapping -- please try again. Be sure to only touch one control at once. - + Successfully mapped control: - + <i>Ready to learn %1</i> - + Learning: %1. Now move a control on your controller. - + + The selected control does not exist.<br>This likely a bug. Please report it on the Mixxx bug tracker.<br><a href='https://github.com/mixxxdj/mixxx/issues'>https://github.com/mixxxdj/mixxx/issues</a><br><br>You tried to learn: %1,%2 + + + + The control you clicked in Mixxx is not learnable. This could be because you are either using an old skin and this control is no longer supported, or you clicked a control that provides visual feedback and can only be mapped to outputs like LEDs via scripts. @@ -4412,17 +4532,17 @@ You tried to learn: %1,%2 - + Log - + Search - + Stats @@ -4488,7 +4608,7 @@ You tried to learn: %1,%2 - + &Close @@ -4556,7 +4676,7 @@ You tried to learn: %1,%2 % - + % @@ -4575,42 +4695,42 @@ You tried to learn: %1,%2 - + Add Random Tracks - + Enable random track addition to queue - + Add random tracks from Track Source if the specified minimum tracks remain - + Minimum allowed tracks before addition - + Minimum number of tracks after which random tracks may be added - + Crossfader Behaviour - + Reset the Crossfader back to center after disabling AutoDJ - + Hint: Resetting the crossfader to center will cause a drop of the main output's volume if you've selected "Constant Power" crossfader curve in the Mixer preferences. @@ -4620,7 +4740,7 @@ You tried to learn: %1,%2 Icecast 2 - + Icecast 2 @@ -4630,12 +4750,12 @@ You tried to learn: %1,%2 Icecast 1 - + Icecast 1 MP3 - + MP3 @@ -4675,65 +4795,65 @@ You tried to learn: %1,%2 Stereo - + Стерео - - - - + + + + Action failed Неуспешно действие - + You can't create more than %1 source connections. - + Source connection %1 - + At least one source connection is required. - + Are you sure you want to disconnect every active source connection? - - + + Confirmation required - + '%1' has the same Icecast mountpoint as '%2'. Two source connections to the same server that have the same mountpoint can not be enabled simultaneously. - + Are you sure you want to delete '%1'? - + Renaming '%1' - + New name for '%1': - + Can't rename '%1' to '%2': name already in use @@ -4758,7 +4878,7 @@ Two source connections to the same server that have the same mountpoint can not http://www.mixxx.org - + http://www.mixxx.org @@ -5006,13 +5126,13 @@ Two source connections to the same server that have the same mountpoint can not DlgPrefColors - - + + By hotcue number - + Color @@ -5055,132 +5175,133 @@ Two source connections to the same server that have the same mountpoint can not Replace… - - - DlgPrefController - - Apply device settings? + + When key colors are enabled, Mixxx will display a color hint +associated with each key. - - Your settings must be applied before starting the learning wizard. -Apply settings and continue? + + Enable Key Colors - - None + + Key palette + + + DlgPrefController - - %1 by %2 + + Apply device settings? - - No Name + + Your settings must be applied before starting the learning wizard. +Apply settings and continue? - - No Description - + + None + Без - - No Author + + %1 by %2 - + Mapping has been edited - + Always overwrite during this session - + Save As - + Overwrite - + Save user mapping - + Enter the name for saving the mapping to the user folder. - + Saving mapping failed - + A mapping cannot have a blank name and may not contain special characters. - + A mapping file with that name already exists. - + Do you want to save the changes? - + Troubleshooting - + <font color='#BB0000'><b>If you use this mapping your controller may not work correctly. Please select another mapping or disable the controller.</b></font><br><br>This mapping was designed for a newer Mixxx Controller Engine and cannot be used on your current Mixxx installation.<br>Your Mixxx installation has Controller Engine version %1. This mapping requires a Controller Engine version >= %2.<br><br>For more information visit the wiki page on <a href='https://mixxx.org/wiki/doku.php/controller_engine_versions'>Controller Engine Versions</a>. - + Mapping already exists. - + <b>%1</b> already exists in user mapping folder.<br>Overwrite or save with a new name? - + Clear Input Mappings - + Are you sure you want to clear all input mappings? - + Clear Output Mappings - + Are you sure you want to clear all output mappings? @@ -5188,65 +5309,115 @@ Apply settings and continue? DlgPrefControllerDlg - - (device category goes here) - - - - + Controller Name - + Enabled Включено - - Description: + + Device Info - - Support: + + Physical Interface: + + + + + Vendor name: + + + + + Product name: + + + + + Vendor ID + + + + + VID: - - Mapping settings + + Product ID - + + PID: + + + + + Serial number: + + + + + USB interface number: + + + + + HID Usage-Page: + + + + + HID Usage: + + + + + Description: + + + + + Support: + + + + Screens preview - + Input Mappings - - + + Search - - + + Add Добавяне - - + + Remove Премахване - + Click to start the Controller Learning wizard. @@ -5256,48 +5427,53 @@ Apply settings and continue? - - Controller Setup - - - - + Load Mapping: - + Mapping Info - + Author: - + Name: - + Learning Wizard (MIDI Only) - + + Data protocol: + + + + Mapping Files: - - - Clear All + + Mapping Settings - + + + Clear All + Изчистване на всичко + + + Output Mappings @@ -5305,22 +5481,28 @@ Apply settings and continue? DlgPrefControllers - + + %1 is a virtual controller that allows to use e.g. the 'MIDI for light' mapping.<br/>You need to restart Mixxx in order to enable it.<br/><b>Note:</b> mappings meant for physical controllers can cause issues and even render the Mixxx GUI unresponsive when being loaded to %1. + text enclosed in <b> is bold, <br/> is a linebreak %1 is the placehodler for 'MIDI Through Port' + + + + Mixxx uses "mappings" to connect messages from your controller to controls in Mixxx. If you do not see a mapping for your controller in the "Load Mapping" menu when you click on your controller on the left sidebar, you may be able to download one online from the %1. Place the XML (.xml) and Javascript (.js) file(s) in the "User Mapping Folder" then restart Mixxx. If you download a mapping in a ZIP file, extract the XML and Javascript file(s) from the ZIP file to your "User Mapping Folder" then restart Mixxx. - + Mixxx DJ Hardware Guide - + MIDI Mapping File Format - + MIDI Scripting with Javascript @@ -5343,17 +5525,22 @@ Apply settings and continue? - + + Enable MIDI Through Port + + + + Mappings - + Open User Mapping Folder - + Resources @@ -5363,7 +5550,7 @@ Apply settings and continue? - + You can create your own mapping by using the MIDI Learning Wizard when you select your controller in the sidebar. You can edit mappings by selecting the "Input Mappings" and "Output Mappings" tabs in the preference page for your controller. See the Resources below for more details on making mappings. @@ -5373,7 +5560,7 @@ Apply settings and continue? Skin - + Кожа @@ -5445,6 +5632,16 @@ Apply settings and continue? Multi-Sampling + + + Force 3D acceleration + + + + + If checked, Mixxx will always assume 3D acceleration is available. This may lead to pour performance if only CP-backed rendering is available.. + + Start in full-screen mode @@ -5586,7 +5783,7 @@ Apply settings and continue? 10% - + 10% @@ -5601,12 +5798,12 @@ Apply settings and continue? 50% - + 50% 90% - + 90% @@ -5662,7 +5859,7 @@ CUP mode: Remaining - + Остава @@ -5901,124 +6098,134 @@ You can always drag-and-drop tracks on screen to clone a deck. - - + + Effect Chain Presets - + Drag and drop to rearrange lists and copy chains between lists. Create and edit chain presets in the effect units in the main window. Please refer the manual for further details. - + Chain presets from these lists will be selectable in the given order in the main window and from controllers (depending on the controller mapping). - + Effects in this chain preset: - + effect 1 name - + effect 2 name - + effect 3 name - + Import - + Rename Преименуване - + Export Изнасяне - + Delete Изтриване - + Quick Effect Chain Presets - - + + Visible Effects - + Drag and drop to rearrange lists and show or hide effects. - + Hidden Effects - + + ❯ + + + + + ❮ + + + + Effect load behavior - + Keep metaknob position - + Reset metaknob to effect default - + Effect Info - + Version: - + Description: - + Author: - + Name: - + Type: @@ -6026,62 +6233,62 @@ You can always drag-and-drop tracks on screen to clone a deck. DlgPrefInterface - + The minimum size of the selected skin is bigger than your screen resolution. - + Allow screensaver to run - + Prevent screensaver from running - + Prevent screensaver while playing - + Disabled - + 2x MSAA - + 4x MSAA - + 8x MSAA - + 16x MSAA - + This skin does not support color schemes - + Information Информация - + Mixxx must be restarted before the new locale, scaling or multi-sampling settings will take effect. @@ -6094,193 +6301,208 @@ You can always drag-and-drop tracks on screen to clone a deck. - + When key detection is enabled, Mixxx detects the musical key of your tracks and allows you to pitch adjust them for harmonic mixing. - + Enable Key Detection - + Choose Analyzer Избери Анализатор - + Choose between different algorithms to detect keys. - + Analyzer Settings Настройки на Анализатор - + Enable Fast Analysis (For slow computers, may be less accurate) - + Re-analyze keys when settings change or 3rd-party keys are present - + + Exclude rhythmic channel when analysing stem file + + + + + Disabled + + + + + Enforced + + + + Key Notation - + Lancelot - + Lancelot/Traditional - + OpenKey - + OpenKey/Traditional - + Traditional - + Custom - + A - + Bb - + B - + C - + Db - + D - + Eb - + E - + F - + F# - + G - + Ab - + Am - + Bbm - + Bm - + Cm - + C#m - + Dm - + Ebm - + Em - + Fm - + F#m - + Gm - + G#m @@ -6288,72 +6510,72 @@ and allows you to pitch adjust them for harmonic mixing. DlgPrefLibrary - + See the manual for details - + Music Directory Added - + Музикалната папка е добавена - + You added one or more music directories. The tracks in these directories won't be available until you rescan your library. Would you like to rescan now? Вие сте добавили една или повече папки с музика. Файловете в тези папки няма да са налични докато не сканирате повторно вашата библиотека. Желаете ли да сканирате повторно сега? - + Scan Сканиране - + Item is not a directory or directory is missing - + Choose a music directory - + Confirm Directory Removal - + Mixxx will no longer watch this directory for new tracks. What would you like to do with the tracks from this directory and subdirectories?<ul><li>Hide all tracks from this directory and subdirectories.</li><li>Delete all metadata for these tracks from Mixxx permanently.</li><li>Leave the tracks unchanged in your library.</li></ul>Hiding tracks saves their metadata in case you re-add them in the future. - + Metadata means all track details (artist, title, playcount, etc.) as well as beatgrids, hotcues, and loops. This choice only affects the Mixxx library. No files on disk will be changed or deleted. - + Hide Tracks - + Delete Track Metadata - + Leave Tracks Unchanged - + Relink music directory to new location - + Select Library Font @@ -6404,7 +6626,7 @@ and allows you to pitch adjust them for harmonic mixing. Audio File Formats - + Аудио формати @@ -6715,22 +6937,22 @@ and allows you to pitch adjust them for harmonic mixing. - + Only allow EQ knobs to control EQ-specific effects - + Uncheck to allow any effect to be loaded into the EQ knobs. - + Use the same EQ filter for all decks - + Uncheck to allow different decks to use different EQ effects. @@ -6740,17 +6962,17 @@ and allows you to pitch adjust them for harmonic mixing. - + Quick Effect - + Bypass EQ effect processing - + When checked, EQs are not processed, improving performance on slower computers. @@ -6775,39 +6997,44 @@ and allows you to pitch adjust them for harmonic mixing. - + + Reset stem controls on track load + + + + Equalizer frequency Shelves - + High EQ - - + + 16 Hz - + 16 Hz - - + + 20.05 kHz - + 20.05 kHz - + Low EQ - + Main EQ - + Reset Parameter @@ -6846,12 +7073,12 @@ and allows you to pitch adjust them for harmonic mixing. High - + Високо None - + Без @@ -7115,7 +7342,7 @@ and allows you to pitch adjust them for harmonic mixing. DlgPrefReplayGain - + %1 LUFS (adjust by %2 dB) @@ -7228,173 +7455,172 @@ The loudness target is approximate and assumes track pregain and main output lev DlgPrefSound - + %1 Hz %1 Hz - + Default (long delay) - + Experimental (no delay) - + Disabled (short delay) - + Soundcard Clock - + Network Clock - + Direct monitor (recording and broadcasting only) - + Disabled - + Enabled Включено - + Stereo Стерео - + Mono - + To enable Realtime scheduling (currently disabled), see the %1. - + The %1 lists sound cards and controllers you may want to consider for using Mixxx. - + Mixxx DJ Hardware Guide - + Information - + Mixxx must be restarted before the multi-threaded RubberBand setting change will take effect. - + auto (<= 1024 frames/period) - + 2048 frames/period - + 4096 frames/period - + Are you sure? - + Distribute stereo channels into mono channels for parallel processing will result in a loss of mono compatibility and a diffuse stereo image. It is not recommended during broadcasting or recording. - + Are you sure you wish to proceed? - + No - + Yes, I know what I am doing - + Microphone inputs are out of time in the record & broadcast signal compared to what you hear. - + Measure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. - - + Refer to the Mixxx User Manual for details. - + Configured latency has changed. - + Remeasure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. - + Realtime scheduling is enabled. - + Main output only - + Main and booth outputs - + %1 ms - + %1 ms - + Configuration error Грешка в настройките @@ -7412,133 +7638,133 @@ The loudness target is approximate and assumes track pregain and main output lev API на звука - + Sample Rate Честота на дискретизация - + Audio Buffer - + Engine Clock - + Use soundcard clock for live audience setups and lowest latency.<br>Use network clock for broadcasting without a live audience. - + Main Mix - + Main Output Mode - + Microphone Monitor Mode - + Microphone Latency Compensation - - - - + + + + ms milliseconds - + 20 ms - + Buffer Underflow Count - + 0 - + Keylock/Pitch-Bending Engine - + Multi-Soundcard Synchronization - + Output Изход - + Input Вход - + System Reported Latency - + Enlarge your audio buffer if the underflow counter is increasing or you hear pops during playback. - + Main Output Delay - + Headphone Output Delay - + Booth Output Delay - + Dual-threaded Stereo - + Hints and Diagnostics - + Downsize your audio buffer to improve Mixxx's responsiveness. - + Query Devices - + Проверка за устройства @@ -7570,12 +7796,12 @@ The loudness target is approximate and assumes track pregain and main output lev Input - + Вход Vinyl Configuration - + Настройки на плочите @@ -7635,7 +7861,7 @@ The loudness target is approximate and assumes track pregain and main output lev Signal Quality - + Качество на сигнала @@ -7645,7 +7871,7 @@ The loudness target is approximate and assumes track pregain and main output lev Powered by xwax - + с помощта на xwax @@ -7691,17 +7917,28 @@ The loudness target is approximate and assumes track pregain and main output lev - + + 1/3 of waveform viewer + options for "Text height limit" + + + + + Entire waveform viewer + + + + OpenGL not available - + dropped frames - + Cached waveforms occupy %1 MiB on disk. @@ -7714,245 +7951,256 @@ The loudness target is approximate and assumes track pregain and main output lev - + Frame rate - - Displays which OpenGL version is supported by the current platform. + + OpenGL Status - - Waveform + + Displays which OpenGL version is supported by the current platform. - + Normalize waveform overview - + Average frame rate - + Visual gain - + Default zoom level Waveform zoom - + Displays the actual frame rate. - + Visual gain of the middle frequencies - + End of track warning - - OpenGL status - - - - + This functionality requires waveform acceleration. - + Highlight the waveforms when the last seconds of a track remains. - + seconds - + Low Ниско - + Show minute markers on waveform overview - + Use acceleration - + High details - + Middle - + Global - + Visual gain of the high frequencies - + Visual gain of the low frequencies - + High - + Високо - + Global visual gain - + The waveform overview shows the waveform envelope of the entire track. Select from different types of displays for the waveform overview, which differ primarily in the level of detail shown in the waveform. - + Enabled - + The waveform shows the waveform envelope of the track near the current playback position. Select from different types of displays for the waveform, which differ primarily in the level of detail shown in the waveform. - - Waveform overview type - - - - + fps - + Synchronize zoom level across all waveform displays. - + Synchronize zoom level across all waveforms - + Play marker hints - + Beats until next marker - - Time until next marker + + Preferred font size - - Placement + + Text height limit + + + + + Time until next marker - - Font size + + Placement - + pt - + Caching - + Mixxx caches the waveforms of your tracks on disk the first time you load a track. This reduces CPU usage when you are playing live but requires extra disk space. - + Enable waveform caching - + Generate waveforms when analyzing library - + Beat grid opacity - + + Scrolling Waveforms + + + + + + Type + + + + Stereo coloration - + Set amount of opacity on beat grid lines. - + % - + % - + Play marker position - + Moves the play marker position on the waveforms to the left, right or center (default). - + + Overview Waveforms + + + + Clear Cached Waveforms @@ -7960,47 +8208,47 @@ Select from different types of displays for the waveform, which differ primarily DlgPreferences - + Sound Hardware Звуков хардуер - + Controllers - + Library Библиотека - + Interface Интерфейс - + Waveforms - + Mixer - + Смесител - + Auto DJ Авто-DJ (Автодиджей) - + Decks - + Colors @@ -8008,7 +8256,7 @@ Select from different types of displays for the waveform, which differ primarily &Help Preferences standard buttons: consider the other buttons to choose a unique Alt hotkey (&) - + Помо&щ @@ -8035,47 +8283,47 @@ Select from different types of displays for the waveform, which differ primarily - + Effects Ефекти - + Recording - + Записване - + Beat Detection - + Key Detection - + Normalization Нормализация - + <font color='#BB0000'><b>Some preferences pages have errors. To apply the changes please first fix the issues.</b></font> - + Vinyl Control Контрол с грамофони - + Live Broadcasting Живо излъчване - + Modplug Decoder @@ -8090,7 +8338,7 @@ Select from different types of displays for the waveform, which differ primarily 1 - + 1 @@ -8108,22 +8356,22 @@ Select from different types of displays for the waveform, which differ primarily - + Start Recording Начало на записа - + Recording to file: - + Stop Recording Спиране на записа - + %1 MiB written in %2 @@ -8178,27 +8426,27 @@ Select from different types of displays for the waveform, which differ primarily - + Selecting database rows... - + No colors changed! - + No cues matched the specified criteria. - + Confirm Color Replacement - + The colors of %1 cues in %2 tracks will be replaced. This change cannot be undone! Are you sure? @@ -8250,7 +8498,7 @@ Select from different types of displays for the waveform, which differ primarily Изпълнител - + Fetching track data from the MusicBrainz database @@ -8327,72 +8575,67 @@ Select from different types of displays for the waveform, which differ primarily - + Original tags - + Metadata applied - + %1 - - Could not find this track in the MusicBrainz database. - - - - + Suggested tags - + The results are ready to be applied - + Can't connect to %1: %2 - + Looking for cover art - + Cover art found, receiving image. - + Cover Art is not available for selected metadata - + Metadata & Cover Art applied - + Selected cover art applied - + Cover Art File Already Exists - + File: %1 Folder: %2 Override existing file? @@ -8428,7 +8671,7 @@ This can not be undone! Track Editor - + Редактор на песни @@ -8436,102 +8679,102 @@ This can not be undone! - + Filetype: - + BPM: - + Темпо: - + Location: - + Bitrate: - + Comments - + BPM Уд/мин (BPM) - + Sets the BPM to 75% of the current value. - + 3/4 BPM - + Sets the BPM to 50% of the current value. - + Displays the BPM of the selected track. - + Track # Пътека/писта/запис № - + Album Artist Изпълнител - + Composer Композитор - + Title Заглавие - + Grouping Групировка - + Key Ключ - + Year Година - + Artist Изпълнител - + Album Албум - + Genre Жанр @@ -8541,179 +8784,179 @@ This can not be undone! - + Sets the BPM to 200% of the current value. - + Double BPM - + Halve BPM - + Clear BPM and Beatgrid - + Move to the previous item. "Previous" button - + &Previous - + Move to the next item. "Next" button - + &Next - + Duration: Продължителност: - + Import Metadata from MusicBrainz - + Re-Import Metadata from file - + Color - + Date added: - + Open in File Browser - + Samplerate: - + Track BPM: - + Темпо на песента: - + Converts beats detected by the analyzer into a fixed-tempo beatgrid. Use this setting if your tracks have a constant tempo (e.g. most electronic music). Often results in higher quality beatgrids, but will not do well on tracks that have tempo shifts. - + Assume constant tempo - + Sets the BPM to 66% of the current value. - + 2/3 BPM - + Sets the BPM to 150% of the current value. - + 3/2 BPM - + Sets the BPM to 133% of the current value. - + 4/3 BPM - + Tap with the beat to set the BPM to the speed you are tapping. - + Tap to Beat Щракнете в такт - + Hint: Use the Library Analyze view to run BPM detection. Щракнете на "Анализ", за да активирате засичане на темпо. - + Save changes and close the window. "OK" button - + &OK - + Discard changes and close the window. "Cancel" button - + Save changes and keep the window open. "Apply" button - + &Apply &Прилагане - + &Cancel &Отказ - + (no color) @@ -8781,12 +9024,12 @@ Often results in higher quality beatgrids, but will not do well on tracks that h - + Re-Import Metadata from files - + Color @@ -8870,7 +9113,7 @@ Often results in higher quality beatgrids, but will not do well on tracks that h - + (no color) @@ -9049,7 +9292,7 @@ Often results in higher quality beatgrids, but will not do well on tracks that h EffectParameterSlotBase - + No effect loaded. @@ -9072,27 +9315,27 @@ Often results in higher quality beatgrids, but will not do well on tracks that h EngineBuffer - + Soundtouch (faster) - + Rubberband (better) - + Rubberband R3 (near-hi-fi quality) - + Unknown, using Rubberband (better) - + Unknown, using Soundtouch @@ -9236,54 +9479,86 @@ Often results in higher quality beatgrids, but will not do well on tracks that h ITunesFeature - - + + iTunes - + iTunes - + Select your iTunes library Изберете вашата библиотека на iTunes - + (loading) iTunes iTunes (зареждане) - + Use Default Library Използване на стандартната библиотека - + Choose Library... Избор на библиотека... - + Error Loading iTunes Library Грешка при зареждане библиотеката на iTunes - + There was an error loading your iTunes library. Check the logs for details. + + LegacyControllerColorSetting + + + Change color + + + + + Choose a new color + + + + + LegacyControllerFileSetting + + + Browse... + + + + + + No file selected + + + + + Select a file + + + LegacySkinParser - - + + Safe Mode Enabled Shown when Mixxx is running in safe mode. - - + + No OpenGL support. Shown when Spinny can not be displayed. Please keep @@ -9294,57 +9569,57 @@ Shown when VuMeter can not be displayed. Please keep - + activate - + toggle - + right - + left - + right small - + left small - + up - + down - + up small - + down small - + Shortcut @@ -9352,62 +9627,62 @@ Shown when VuMeter can not be displayed. Please keep Library - + This or a parent directory is already in your library. - + This or a listed directory does not exist or is inaccessible. Aborting the operation to avoid library inconsistencies - - + + This directory can not be read. - + An unknown error occurred. Aborting the operation to avoid library inconsistencies - + Can't add Directory to Library - + Could not add <b>%1</b> to your library. %2 - + Can't remove Directory from Library - + An unknown error occurred. - + This directory does not exist or is inaccessible. - + Relink Directory - + Could not relink <b>%1</b> to <b>%2</b>. %3 @@ -9417,22 +9692,22 @@ Aborting the operation to avoid library inconsistencies LibraryFeature - + Import Playlist Внасяне на списък за изпълнение - + Playlist Files (*.m3u *.m3u8 *.pls *.csv) Списъци за изпълнение (*.m3u *.m3u8 *.pls *.csv) - + Overwrite File? - + A playlist file with the name "%1" already exists. The default "m3u" extension was added because none was specified. @@ -9479,32 +9754,27 @@ Do you really want to overwrite it? MidiController - - MIDI Controller + + MixxxControl(s) not found - - MixxxControl(s) not found - - - - + One or more MixxxControls specified in the outputs section of the loaded mapping were invalid. - + * Make sure the MixxxControls in question actually exist. Visit the manual for a complete list: - + Some LEDs or other feedback may not work correctly. - + * Check to see that the MixxxControl names are spelled correctly in the mapping file (.xml) @@ -9564,18 +9834,18 @@ Do you really want to overwrite it? MixxxLibraryFeature - + Missing Tracks - + Hidden Tracks - Export to Engine Prime + Export to Engine DJ @@ -9587,208 +9857,249 @@ Do you really want to overwrite it? MixxxMainWindow - + Sound Device Busy Аудио устройството е заето. - + <b>Retry</b> after closing the other application or reconnecting a sound device <b>Опитайте отново</b> след като затворите другото приложение и включите аудио устройството - - - + + + <b>Reconfigure</b> Mixxx's sound device settings. <b>Повторно</b> конфигуриране на настройките на Mixxx за аудио устройството. - - + + Get <b>Help</b> from the Mixxx Wiki. Получете <b>Помощ</b> от Уики-то на Mixxx. - - - + + + <b>Exit</b> Mixxx. <b>Изход</b> от Mixxx. - + Retry Отново - + skin - + Allow Mixxx to hide the menu bar? - + Hide Always show the menu bar? - + Always show - + The Mixxx menu bar is hidden and can be toggled with a single press of the <b>Alt</b> key.<br><br>Click <b>%1</b> to agree.<br><br>Click <b>%2</b> to disable that, for example if you don't use Mixxx with a keyboard.<br><br>You can change this setting any time in Preferences -> Interface.<br> Keep formatting tags <b> (bold text) and <br> (linebreak). %1 is the placeholder for the 'Always show' button label - + Ask me again - - + + Reconfigure Пренастройване - + Help Помощ - - + + Exit Изход - - + + Mixxx was unable to open all the configured sound devices. - + Sound Device Error - + <b>Retry</b> after fixing an issue - + No Output Devices - + Mixxx was configured without any output sound devices. Audio processing will be disabled without a configured output device. - + <b>Continue</b> without any outputs. - + Continue Продължаване - + Load track to Deck %1 - + Deck %1 is currently playing a track. - + Are you sure you want to load a new track? - + There is no input device selected for this vinyl control. Please select an input device in the sound hardware preferences first. - + There is no input device selected for this passthrough control. Please select an input device in the sound hardware preferences first. - + There is no input device selected for this microphone. Do you want to select an input device? - + There is no input device selected for this auxiliary. Do you want to select an input device? - + + Scan took %1 + + + + + No changes detected. + + + + + + %1 tracks in total + + + + + %1 new tracks found + + + + + %1 moved tracks detected + + + + + %1 tracks are missing (%2 total) + + + + + %1 tracks have been rediscovered + + + + + Library scan finished + + + + Error in skin file - + The selected skin cannot be loaded. - + OpenGL Direct Rendering - + Direct rendering is not enabled on your machine.<br><br>This means that the waveform displays will be very<br><b>slow and may tax your CPU heavily</b>. Either update your<br>configuration to enable direct rendering, or disable<br>the waveform displays in the Mixxx preferences by selecting<br>"Empty" as the waveform display in the 'Interface' section. - - - + + + Confirm Exit - + Потвърждане на излизането - + A deck is currently playing. Exit Mixxx? В момента свири дек. Изход от Mixxx? - + A sampler is currently playing. Exit Mixxx? - + The preferences window is still open. - + Discard any changes and exit Mixxx? @@ -9804,52 +10115,169 @@ Do you want to select an input device? PlaylistFeature - + Lock Заключване - - + + Playlists Списъци с песни - + Shuffle Playlist - + + Unlock all playlists + + + + + Delete all unlocked playlists + + + + Unlock Отключване - + + + Confirm Deletion + + + + + Do you really want to delete all unlocked playlists? + + + + + Deleting %1 unlocked playlists.<br>This operation can not be undone! + + + + Playlists are ordered lists of tracks that allow you to plan your DJ sets. - + It may be necessary to skip some tracks in your prepared playlist or add some different tracks in order to maintain the energy of your audience. - + Some DJs construct playlists before they perform live, but others prefer to build them on-the-fly. - + When using a playlist during a live DJ set, remember to always pay close attention to how your audience reacts to the music you've chosen to play. - + Create New Playlist Създаване на нов списък с песни + + PredefinedColorPaletes + + + Mixxx Hotcue Colors + + + + + PredefinedColorPalettes + + + Serato DJ Track Metadata Hotcue Colors + + + + + Serato DJ Pro Hotcue Colors + + + + + Rekordbox COLD1 Hotcue Colors + + + + + Rekordbox COLD2 Hotcue Colors + + + + + Rekordbox COLORFUL Hotcue Colors + + + + + Mixxx Track Colors + + + + + Rekordbox Track Colors + + + + + Serato DJ Pro Track Colors + + + + + Traktor Pro Track Colors + + + + + VirtualDJ Track Colors + + + + + Mixxx Key Colors + + + + + Traktor Key Colors + + + + + Mixed In Key - Key Colors + + + + + Protanopia / Protanomaly Key Colors + + + + + Deuteranopia / Deuteranomaly Key Colors + + + + + Tritanopia / Tritanomaly Key Colors + + + QMessageBox @@ -10091,7 +10519,7 @@ Do you want to scan your library for cover files now? Encoder - + Кодек @@ -10199,8 +10627,8 @@ If you do not want to grant Mixxx access, click Cancel on the file picker. Mixxx - + Feedback @@ -10249,8 +10677,8 @@ If you do not want to grant Mixxx access, click Cancel on the file picker. Mixxx - + Triplets @@ -10317,8 +10745,8 @@ Default: flat top - + Depth @@ -10382,13 +10810,13 @@ With width at zero, this allows for manually sweeping over the entire delay rang - + Intensity of the effect - + Divide rounded 1/2 beats of the Period parameter by 3. @@ -10409,40 +10837,55 @@ With width at zero, this allows for manually sweeping over the entire delay rang - + Metronome - + + The Mixxx Team + + + + Adds a metronome click sound to the stream - + BPM Уд/мин (BPM) - + Set the beats per minute value of the click sound - + Sync Синхронизация - + Synchronizes the BPM with the track if it can be retrieved + + + Gain + + + + + Set the gain of metronome click sound + + - + Period @@ -10539,15 +10982,15 @@ Higher values result in less attenuation of high frequencies. - - + + Low - + Ниско - + Gain for Low Filter @@ -10599,7 +11042,7 @@ Higher values result in less attenuation of high frequencies. High - + Високо @@ -10674,7 +11117,7 @@ Higher values result in less attenuation of high frequencies. - + Gain for Low Filter (neutral at 1.0) @@ -10684,60 +11127,60 @@ Higher values result in less attenuation of high frequencies. - + Phaser - + Stereo - + Стерео - + Stages - + Mixes the input signal with a copy passed through a series of all-pass filters to create comb filtering - + Period of the LFO (low frequency oscillator) 1/4 - 4 beats rounded to 1/2 beat if tempo is detected 1/4 - 4 seconds if no tempo is detected - + Controls how much of the output signal is looped - - + + Range - + Controls the frequency range across which the notches sweep. - + Number of stages - + Sets the LFOs (low frequency oscillators) for the left and right channels out of phase with each others @@ -10779,7 +11222,7 @@ Higher values result in less attenuation of high frequencies. Ctrl+Shift+O - + Ctrl+Shift+O @@ -10890,12 +11333,12 @@ Higher values result in less attenuation of high frequencies. - + This stream is online for testing purposes! - + Live Mix @@ -11208,7 +11651,7 @@ Fully right: end of the effect period - + MP3 encoding is not supported. Lame could not be initialized @@ -11230,7 +11673,7 @@ Fully right: end of the effect period - + Deck %1 Дек %1 @@ -11270,52 +11713,52 @@ Fully right: end of the effect period - + Pitch Shift - + Raises or lowers the original pitch of a sound. - + Pitch - + The pitch shift applied to the sound. - + The range of the Pitch knob (0 - 2 octaves). - + Semitones - + Change the pitch in semitone steps instead of continuously. - + Formant - + Preserve the resonant frequencies (formants) of the human vocal tract and other instruments. Hint: compensates "chipmunk" or "growling" voices @@ -11363,7 +11806,7 @@ Hint: compensates "chipmunk" or "growling" voices - + Passthrough Чисто преминаване на сигнала @@ -11394,170 +11837,170 @@ Hint: compensates "chipmunk" or "growling" voices - + Sampler %1 - - + + Compressor - + Auto Makeup Gain - + Makeup - + The Auto Makeup button enables automatic gain adjustment to keep the input signal and the processed output signal as close as possible in perceived loudness - + Off - + On - + Threshold (dBFS) - + Threshold - + The Threshold knob adjusts the level above which the compressor starts attenuating the input signal - + Ratio (:1) - + Ratio - + The Ratio knob determines how much the signal is attenuated above the chosen threshold. For a ratio of 4:1, one dB remains for every four dB of input signal above the threshold. At a ratio of 1:1 no compression is happening, as the input is exactly the output. - + Knee (dBFS) - + Knee - + The Knee knob is used to achieve a rounder compression curve - + Attack (ms) - + Attack - + The Attack knob sets the time that determines how fast the compression will set in once the signal exceeds the threshold - + Release (ms) - + Release - + The Release knob sets the time that determines how fast the compressor will recover from the gain reduction once the signal falls under the threshold. Depending on the input signal, short release times may introduce a 'pumping' effect and/or distortion. - - + + Level - + The Level knob adjusts the level of the output signal after the compression was applied - + various - + built-in - + missing - + Distribute stereo channels into mono channels processed in parallel. - + Warning! - + Processing stereo signal as mono channel may result in pitch and tone imperfection, and this is mono-incompatible, due to third party limitations. - + Dual threading mode is incompatible with mono main mix. - + Dual threading mode is only available with RubberBand. @@ -11567,42 +12010,42 @@ may introduce a 'pumping' effect and/or distortion. - + Empty - + Simple - + Filtered - + HSV - + VSyncTest - + RGB - + Stacked - + Unknown @@ -11660,54 +12103,54 @@ may introduce a 'pumping' effect and/or distortion. RekordboxFeature - - - + + + Rekordbox - + Playlists Списъци с песни - + Folders - + Reads databases exported for Pioneer CDJ / XDJ players using the Rekordbox Export mode.<br/>Rekordbox can only export to USB or SD devices with a FAT or HFS file system.<br/>Mixxx can read a database from any device that contains the database folders (<tt>PIONEER</tt> and <tt>Contents</tt>).<br/>Not supported are Rekordbox databases that have been moved to an external device via<br/><i>Preferences > Advanced > Database management</i>.<br/><br/>The following data is read: - + Hot cues - + Loops (only the first loop is currently usable in Mixxx) - + Check for attached Rekordbox USB / SD devices (refresh) - + Beatgrids - + Memory cues - + (loading) Rekordbox @@ -11715,10 +12158,10 @@ may introduce a 'pumping' effect and/or distortion. RhythmboxFeature - - + + Rhythmbox - + Rythmbox @@ -11762,34 +12205,34 @@ may introduce a 'pumping' effect and/or distortion. SeratoFeature - - - + + + Serato - + Reads the following from the Serato Music directory and removable devices: - + Tracks - + Crates - + Колекции - + Check for Serato databases (refresh) - + (loading) Serato @@ -11797,64 +12240,64 @@ may introduce a 'pumping' effect and/or distortion. SetlogFeature - + Join with previous (below) - + Mark all tracks played - + Finish current and start new - + Lock all child playlists - + Unlock all child playlists - + Delete all unlocked child playlists - + History - + Unlock - + Отключване - + Lock - + Заключване - - + + Confirm Deletion - + Do you really want to delete all unlocked playlist from <b>%1</b>?<br><br> %1 is the year <b> + </b> are used to make the text in between bold in the popup <br> is a linebreak - + Deleting %1 playlists from <b>%2</b>.<br><br> %1 is the number of playlists to be deleted %2 is the year <b> + </b> are used to make the text in between bold in the popup <br> is a linebreak @@ -12121,7 +12564,7 @@ may introduce a 'pumping' effect and/or distortion. Max - + от @@ -12147,12 +12590,27 @@ may introduce a 'pumping' effect and/or distortion. - - Identifying track through Acoustid + + Reading track for fingerprinting failed. + + + + + Identifying track through AcoustID + + + + + Could not identify track through AcoustID. + + + + + Could not find this track in the MusicBrainz database. - + Retrieving metadata from MusicBrainz @@ -12210,656 +12668,656 @@ may introduce a 'pumping' effect and/or distortion. - + Use the mouse to scratch, spin-back or throw tracks. - + Waveform Display - + Shows the loaded track's waveform near the playback position. - + Drag with mouse to make temporary pitch adjustments. - + Scroll to change the waveform zoom level. - + Waveform Zoom Out - + Waveform Zoom In - + Waveform Zoom - - + + Spinning Vinyl - + Rotates during playback and shows the position of a track. - + Right click to show cover art of loaded track. - + Gain - + Adjusts the pre-fader gain of the track (to avoid clipping). - + (too loud for the hardware and is being distorted). - + Indicates when the signal on the channel is clipping, - + Channel Volume Meter - + Shows the current channel volume. - + Microphone Volume Meter - + Shows the current microphone volume. - + Auxiliary Volume Meter - + Shows the current auxiliary volume. - + Auxiliary Peak Indicator - + Indicates when the signal on the auxiliary is clipping, - + Volume Control - + Adjusts the volume of the selected channel. - + Booth Gain - + Adjusts the booth output gain. - + Crossfader - + Кросфейдър - + Balance - + Headphone Volume - + Adjusts the headphone output volume. - + Headphone Gain - + Adjusts the headphone output gain. - + Headphone Mix - + Headphone Split Cue - + Adjust the Headphone Mix so in the left channel is not the pure cueing signal. - + Microphone - + Микрофон - + Show/hide the Microphone section. - + Sampler - + Show/hide the Sampler section. - + Vinyl Control - + Контрол с грамофони - + Show/hide the Vinyl Control section. - + Preview Deck - + Show/hide the Preview deck. - - - + + + Cover Art Обложка - + Show/hide Cover Art. - + Toggle 4 Decks - + Switches between showing 2 decks and 4 decks. - + Show Library - + Show or hide the track library. - + Show Effects - + Show or hide the effects. - + Toggle Mixer - + Show or hide the mixer. - + Show/hide volume meters for channels and main output. - + Microphone Volume - + Adjusts the microphone volume. - + Microphone Gain - + Adjusts the pre-fader microphone gain. - + Auxiliary Gain - + Adjusts the pre-fader auxiliary gain. - + Microphone Talk-Over - + Hold-to-talk or short click for latching to - + Microphone Talkover Mode - + Off: Do not reduce music volume - + Manual: Reduce music volume by a fixed amount set by the Strength knob. - + Behavior depends on Microphone Talkover Mode: - + Off: Does nothing - + Change the step-size in the Preferences -> Decks menu. - + Low EQ - + Adjusts the gain of the low EQ filter. - + Mid EQ - + Adjusts the gain of the mid EQ filter. - + High EQ - + Adjusts the gain of the high EQ filter. - + Hold-to-kill or short click for latching. - + High EQ Kill - + Holds the gain of the high EQ to zero while active. - + Mid EQ Kill - + Holds the gain of the mid EQ to zero while active. - + Low EQ Kill - + Holds the gain of the low EQ to zero while active. - + Displays the tempo of the loaded track in BPM (beats per minute). - + Tempo - + Key The musical key of a track - + Ключ - + BPM Tap - + When tapped repeatedly, adjusts the BPM to match the tapped BPM. - + Adjust BPM Down - + When tapped, adjusts the average BPM down by a small amount. - + Adjust BPM Up - + When tapped, adjusts the average BPM up by a small amount. - + Adjust Beats Earlier - + When tapped, moves the beatgrid left by a small amount. - + Adjust Beats Later - + When tapped, moves the beatgrid right by a small amount. - + Tempo and BPM Tap - + Show/hide the spinning vinyl section. - + Keylock - + Toggling keylock during playback may result in a momentary audio glitch. - + Toggle visibility of Loop Controls - + Toggle visibility of Beatjump Controls - + Toggle visibility of Rate Control - + Toggle visibility of Key Controls - + (while previewing) - + Places a cue point at the current position on the waveform. - + Stops track at cue point, OR go to cue point and play after release (CUP mode). - + Set cue point (Pioneer/Mixxx/Numark mode), set cue point and play after release (CUP mode) OR preview from it (Denon mode). - + Is latching the playing state. - + Seeks the track to the cue point and stops. - + Play - + Plays track from the cue point. - + Sends the selected channel's audio to the headphone output, selected in Preferences -> Sound Hardware. - + (This skin should be updated to use Sync Lock!) - + Enable Sync Lock - + Tap to sync the tempo to other playing tracks or the sync leader. - + Enable Sync Leader - + When enabled, this device will serve as the sync leader for all other decks. - + This is relevant when a dynamic tempo track is loaded to a sync leader deck.In that case, other synced devices will adopt the changing tempo. - + Changes the track playback speed (affects both the tempo and the pitch). If keylock is enabled, only the tempo is affected. - + Tempo Range Display - + Displays the current range of the tempo slider. - + Un-ejects when no track is loaded, i.e. reloads the track that was ejected last (of any deck). - + Delete selected hotcue. - + Track Comment - + Displays the comment tag of the loaded track. - + Opens separate artwork viewer. - + Effect Chain Preset Settings - + Show the effect chain settings menu for this unit. - + Select and configure a hardware device for this input - + Recording Duration @@ -12869,1092 +13327,1165 @@ may introduce a 'pumping' effect and/or distortion. - + + Left click and hold allows to preview the position where the play head will jump to on release. Dragging can be aborted with right click. + + + + Big Spinny/Cover Art - + Show a big version of the Spinny or track cover art if enabled. - + Main Output Peak Indicator - + Indicates when the signal on the main output is clipping, - + Main Output L Peak Indicator - + Indicates when the left signal on the main output is clipping, - + Main Output R Peak Indicator - + Indicates when the right signal on the main output is clipping, - + Main Channel L Volume Meter - + Shows the current volume for the left channel of the main output. - + Shows the current volume for the right channel of the main output. - - + + Main Output Gain - - + + Adjusts the main output gain. - + Determines the main output by fading between the left and right channels. - + Adjusts the left/right channel balance on the main output. - + Crossfades the headphone output between the main mix and cueing (PFL or Pre-Fader Listening) signal. - + If activated, the main mix signal plays in the right channel, while the cueing signal plays in the left channel. - + Show/hide Cover Art of the selected track in the library. - + Show/hide the scrolling waveforms - + Show/hide the beatgrid controls section - + + Show/hide the stem mixing controls section + + + + Hide all skin sections except the decks to have more screen space for the track library. - + Volume Meters - + mix microphone input into the main output. - + Auto: Automatically reduce music volume when microphone volume rises above threshold. - - + + Adjust the amount the music volume is reduced with the Strength knob. - + Auto: Sets how much to reduce the music volume when the volume of active microphones rises above threshold. - + Manual: Sets how much to reduce the music volume, when talkover is activated regardless of volume of microphone inputs. - + If keylock is disabled, pitch is also affected. - + Speed Up - + Raises the track playback speed (tempo). - + Raises playback speed in small steps. - + Slow Down - + Lowers the track playback speed (tempo). - + Lowers playback speed in small steps. - + Speed Up Temporarily (Nudge) - + Holds playback speed higher while active (tempo). - + Holds playback speed higher (small amount) while active. - + Slow Down Temporarily (Nudge) - + Holds playback speed lower while active (tempo). - + Holds playback speed lower (small amount) while active. - + When tapped repeatedly, adjusts the tempo to match the tapped BPM. - + Tempo Tap - + Rate Tap and BPM Tap - + + Adjust beatgrid by exactly one half beat. Usable only on +tracks with constant tempo. + + + + Revert last BPM/Beatgrid Change - + Revert last BPM/Beatgrid Change of the loaded track. - - + + Toggle the BPM/beatgrid lock - + Tempo and Rate Tap - + Tempo, Rate Tap and BPM Tap - + Shift cues earlier - - + + Shift cues imported from Serato or Rekordbox if they are slightly off time. - + Left click: shift 10 milliseconds earlier - + Right click: shift 1 millisecond earlier - + Shift cues later - + Left click: shift 10 milliseconds later - + Right click: shift 1 millisecond later - + + + + Drag a Hotcue button here to continue playing after releasing the Hotcue. + + + + + Hint: Change the default cue mode in Preferences -> Decks. + + + + Mutes the selected channel's audio in the main output. - + Main mix enable - + Hold or short click for latching to mix this input into the main output. - + If hotcue is a loop cue, toggles the loop and jumps to if the loop is behind the play position. - + If the play position is inside an active loop, stores the loop as loop cue. - + + Drag this button onto another Hotcue button to move it there (change its index). If the other hotcue is set, the two are swapped. + + + + Expand/Collapse Samplers - + Toggle expanded samplers view. - + Displays the duration of the running recording. - + Auto DJ is active - + Red for when needle skip has been detected. - + Hot Cue - Track will seek to nearest previous hotcue point. - + Sets the track Loop-In Marker to the current play position. - + Press and hold to move Loop-In Marker. - + Jump to Loop-In Marker. - + Sets the track Loop-Out Marker to the current play position. - + Press and hold to move Loop-Out Marker. - + Jump to Loop-Out Marker. - + If the track has no beats the unit is seconds. - + Beatloop Size - + Select the size of the loop in beats to set with the Beatloop button. - + Changing this resizes the loop if the loop already matches this size. - + Halve the size of an existing beatloop, or halve the size of the next beatloop set with the Beatloop button. - + Double the size of an existing beatloop, or double the size of the next beatloop set with the Beatloop button. - + Start a loop over the set number of beats. - + Temporarily enable a rolling loop over the set number of beats. - + Beatloop Anchor - + Define whether the loop is created and adjusted from its staring point or ending point. - + Beatjump/Loop Move Size - + Select the number of beats to jump or move the loop with the Beatjump Forward/Backward buttons. - + Beatjump Forward - + Jump forward by the set number of beats. - + Move the loop forward by the set number of beats. - + Jump forward by 1 beat. - + Move the loop forward by 1 beat. - + Beatjump Backward - + Jump backward by the set number of beats. - + Move the loop backward by the set number of beats. - + Jump backward by 1 beat. - + Move the loop backward by 1 beat. - + Reloop - + If the loop is ahead of the current position, looping will start when the loop is reached. - + Works only if Loop-In and Loop-Out Marker are set. - + Enable loop, jump to Loop-In Marker, and stop playback. - + Displays the elapsed and/or remaining time of the track loaded. - + Click to toggle between time elapsed/remaining time/both. - + Hint: Change the time format in Preferences -> Decks. - + Show/hide intro & outro markers and associated buttons. - + Intro Start Marker - - - - + + + + If marker is set, jumps to the marker. - - - - + + + + If marker is not set, sets the marker to the current play position. - - - - + + + + If marker is set, clears the marker. - + Intro End Marker - + Outro Start Marker - + Outro End Marker - + Mix - + Adjust the mixing of the dry (input) signal with the wet (output) signal of the effect unit - + D/W mode: Crossfade between dry and wet - + D+W mode: Add wet to dry - + Mix Mode - + Adjust how the dry (input) signal is mixed with the wet (output) signal of the effect unit - + Dry/Wet mode (crossed lines): Mix knob crossfades between dry and wet Use this to change the sound of the track with EQ and filter effects. - + Dry+Wet mode (flat dry line): Mix knob adds wet to dry Use this to change only the effected (wet) signal with EQ and filter effects. - + Route the main mix through this effect unit. - + Route the left crossfader bus through this effect unit. - + Route the right crossfader bus through this effect unit. - + Right side active: parameter moves with right half of Meta Knob turn - + + Stem Label + + + + + Name of the stem stored in the stem file + + + + + Text is displayed in the stem color stored in the stem file + + + + + this stem color is also used for the waveform of this stem + + + + + Stem Mute + + + + + Toggle the stem mute/unmuted + + + + + Stem Volume Knob + + + + + Adjusts the volume of the stem + + + + Skin Settings Menu - + Show/hide skin settings menu - + Save Sampler Bank - + Запазване на банка с фрази - + Save the collection of samples loaded in the samplers. - + Load Sampler Bank - + Зареждане на банка с фрази - + Load a previously saved collection of samples into the samplers. - + Show Effect Parameters - + Enable Effect - + Meta Knob Link - + Set how this parameter is linked to the effect's Meta Knob. - + Meta Knob Link Inversion - + Inverts the direction this parameter moves when turning the effect's Meta Knob. - + Super Knob - + Next Chain - + Previous Chain - + Next/Previous Chain - + Clear Изчисти - + Clear the current effect. - + Toggle - + Toggle the current effect. - + Next - + Следваща - + Clear Unit - + Clear effect unit. - + Show/hide parameters for effects in this unit. - + Toggle Unit - + Enable or disable this whole effect unit. - + Controls the Meta Knob of all effects in this unit together. - + Load next effect chain preset into this effect unit. - + Load previous effect chain preset into this effect unit. - + Load next or previous effect chain preset into this effect unit. - - - - - - - - - + + + + + + + + + Assign Effect Unit - + Assign this effect unit to the channel output. - + Route the headphone channel through this effect unit. - + Route this deck through the indicated effect unit. - + Route this sampler through the indicated effect unit. - + Route this microphone through the indicated effect unit. - + Route this auxiliary input through the indicated effect unit. - + The effect unit must also be assigned to a deck or other sound source to hear the effect. - + Switch to the next effect. - + Previous - + Предишна - + Switch to the previous effect. - + Next or Previous - + Switch to either the next or previous effect. - + Meta Knob - + Controls linked parameters of this effect - + Effect Focus Button - + Focuses this effect. - + Unfocuses this effect. - + Refer to the web page on the Mixxx wiki for your controller for more information. - + Effect Parameter - + Adjusts a parameter of the effect. - + Inactive: parameter not linked - + Active: parameter moves with Meta Knob - + Left side active: parameter moves with left half of Meta Knob turn - + Left and right side active: parameter moves across range with half of Meta Knob turn and back with the other half - - + + Equalizer Parameter Kill - - + + Holds the gain of the EQ to zero while active. - + Quick Effect Super Knob - + Quick Effect Super Knob (control linked effect parameters). - + Hint: Change the default Quick Effect mode in Preferences -> Equalizers. - + Equalizer Parameter - + Adjusts the gain of the EQ filter. - + Hint: Change the default EQ mode in Preferences -> Equalizers. - - + + Adjust Beatgrid - + Adjust beatgrid so the closest beat is aligned with the current play position. - - + + Adjust beatgrid to match another playing deck. - + If quantize is enabled, snaps to the nearest beat. - + Quantize - + Toggles quantization. - + Loops and cues snap to the nearest beat when quantization is enabled. - + Reverse - + Reverses track playback during regular playback. - + Puts a track into reverse while being held (Censor). - + Playback continues where the track would have been if it had not been temporarily reversed. - - - + + + Play/Pause - + Jumps to the beginning of the track. - + Syncs the tempo (BPM) and phase to that of the other track, if BPM is detected on both. - + Syncs the tempo (BPM) to that of the other track, if BPM is detected on both. - + Sync and Reset Key - + Increases the pitch by one semitone. - + Decreases the pitch by one semitone. - + Enable Vinyl Control - + When disabled, the track is controlled by Mixxx playback controls. - + When enabled, the track responds to external vinyl control. - + Enable Passthrough - + Indicates that the audio buffer is too small to do all audio processing. - + Displays cover artwork of the loaded track. - + Displays options for editing cover artwork. - + Star Rating - + Assign ratings to individual tracks by clicking the stars. - + Channel Peak Indicator @@ -13974,143 +14505,143 @@ Use this to change only the effected (wet) signal with EQ and filter effects. - + Right click hotcues to edit their labels and colors. - + Right click anywhere else to show the time at that point. - + Channel L Peak Indicator - + Indicates when the left signal on the channel is clipping, - + Channel R Peak Indicator - + Indicates when the right signal on the channel is clipping, - + Channel L Volume Meter - + Shows the current channel volume for the left channel. - + Channel R Volume Meter - + Shows the current channel volume for the right channel. - + Microphone Peak Indicator - + Indicates when the signal on the microphone is clipping, - + Sampler Volume Meter - + Shows the current sampler volume. - + Sampler Peak Indicator - + Indicates when the signal on the sampler is clipping, - + Preview Deck Volume Meter - + Shows the current Preview Deck volume. - + Preview Deck Peak Indicator - + Indicates when the signal on the Preview Deck is clipping, - + Maximize Library - + Microphone Talkover Ducking Strength - + Prevents the pitch from changing when the rate changes. - + Changes the number of hotcue buttons displayed in the deck - + Starts playing from the beginning of the track. - + Jumps to the beginning of the track and stops. - - + + Plays or pauses the track. - + (while playing) @@ -14125,215 +14656,225 @@ Use this to change only the effected (wet) signal with EQ and filter effects. - + Main Channel R Volume Meter - + (while stopped) - + Cue - + Headphone - + Mute Заглушаване - + Old Synchronize - + Syncs to the first deck (in numerical order) that is playing a track and has a BPM. - + If no deck is playing, syncs to the first deck that has a BPM. - + Decks can't sync to samplers and samplers can only sync to decks. - + Hold for at least a second to enable sync lock for this deck. - + Decks with sync locked will all play at the same tempo, and decks that also have quantize enabled will always have their beats lined up. - + Resets the key to the original track key. - + Speed Control - - - + + + Changes the track pitch independent of the tempo. - + Increases the pitch by 10 cents. - + Decreases the pitch by 10 cents. - + Pitch Adjust - + Adjust the pitch in addition to the speed slider pitch. - + Opens a menu to clear hotcues or edit their labels and colors. - + + Drag this button onto a Play button while previewing to continue playback after release. + + + + + Dragging with Shift key pressed will not start previewing the hotcue. + + + + Record Mix Запиши микс - + Toggle mix recording. - + Enable Live Broadcasting - + Stream your mix over the Internet. - + Provides visual feedback for Live Broadcasting status: - + disabled, connecting, connected, failure. - + When enabled, the deck directly plays the audio arriving on the vinyl input. - + Playback will resume where the track would have been if it had not entered the loop. - + Loop Exit - + Turns the current loop off. - + Slip Mode - + When active, the playback continues muted in the background during a loop, reverse, scratch etc. - + Once disabled, the audible playback will resume where the track would have been. - + Track Key The musical key of a track - + Displays the musical key of the loaded track. - + Clock - + Displays the current time. - + Audio Latency Usage Meter - + Displays the fraction of latency used for audio processing. - + A high value indicates that audible glitches are likely. - + Do not enable keylock, effects or additional decks in this situation. - + Audio Latency Overload Indicator - + If Vinyl control is enabled, displays time-coded vinyl signal quality (see Preferences -> Vinyl Control). @@ -14343,289 +14884,284 @@ Use this to change only the effected (wet) signal with EQ and filter effects. - + Change the crossfader curve in Preferences -> Crossfader - + Crossfader Orientation - + Set the channel's crossfader orientation. - + Either to the left side of crossfader, to the right side or to the center (unaffected by crossfader) - + Activate Vinyl Control from the Menu -> Options. - + Displays the current musical key of the loaded track after pitch shifting. - + Fast Rewind - + Fast rewind through the track. - + Fast Forward - + Fast forward through the track. - + Jumps to the end of the track. - + Sets the pitch to a key that allows a harmonic transition from the other track. Requires a detected key on both involved decks. - - - + + + Pitch Control - + Pitch Rate - + Displays the current playback rate of the track. - + Repeat - + When active the track will repeat if you go past the end or reverse before the start. - + Eject - + Ejects track from the player. - + Hotcue - + If hotcue is set, jumps to the hotcue. - + If hotcue is not set, sets the hotcue to the current play position. - + Vinyl Control Mode - + Absolute mode - track position equals needle position and speed. - + Relative mode - track speed equals needle speed regardless of needle position. - + Constant mode - track speed equals last known-steady speed regardless of needle input. - + Vinyl Status - + Provides visual feedback for vinyl control status: - + Green for control enabled. - + Blinking yellow for when the needle reaches the end of the record. - + Loop-In Marker - + Loop-Out Marker - + Loop Halve - + Halves the current loop's length by moving the end marker. - + Deck immediately loops if past the new endpoint. - + Loop Double - + Doubles the current loop's length by moving the end marker. - + Beatloop - + Toggles the current loop on or off. - + Works only if Loop-In and Loop-Out marker are set. - - Hint: Change the default cue mode in Preferences -> Interface. - - - - + Vinyl Cueing Mode - + Determines how cue points are treated in vinyl control Relative mode: - + Off - Cue points ignored. - + One Cue - If needle is dropped after the cue point, track will seek to that cue point. - + Track Time - + Track Duration - + Displays the duration of the loaded track. - + Information is loaded from the track's metadata tags. - + Track Artist - + Displays the artist of the loaded track. - + Track Title - + Displays the title of the loaded track. - + Track Album Албум - + Displays the album name of the loaded track. - + Track Artist/Title - + Displays the artist and title of the loaded track. @@ -14633,12 +15169,12 @@ Use this to change only the effected (wet) signal with EQ and filter effects. TrackCollection - + Hiding tracks - + The selected tracks are in the following playlists:%1Hiding them will remove them from these playlists. Continue? @@ -14646,33 +15182,33 @@ Use this to change only the effected (wet) signal with EQ and filter effects. TrackExportDlg - + Export finished - + Exporting %1 - - Overwrite Existing File? + + Replace Existing File? - - "%1" already exists, overwrite? + + "%1" already exists, replace? - - &Overwrite + + &Replace - - Over&write All + + Apply to all files @@ -14681,12 +15217,7 @@ Use this to change only the effected (wet) signal with EQ and filter effects. - - Skip &All - - - - + Export Error @@ -14694,7 +15225,7 @@ Use this to change only the effected (wet) signal with EQ and filter effects. TrackExportWizard - + Export Track Files To @@ -14702,23 +15233,23 @@ Use this to change only the effected (wet) signal with EQ and filter effects. TrackExportWorker - - + + Export process was canceled - + Error removing file %1: %2. Stopping. - + Error exporting track %1 to %2: %3. Stopping. - + Error exporting tracks @@ -14726,23 +15257,23 @@ Use this to change only the effected (wet) signal with EQ and filter effects. TraktorFeature - - + + Traktor Traktor - + (loading) Traktor Traktor (зареждане) - + Error Loading Traktor Library Грешка при зареждане библиотеката на Traktor - + There was an error loading your Traktor library. Some of your Traktor tracks or playlists may not have loaded. Грешка при зареждането на Traktor библиотеката. Някои от вашите Traktor песни или плейлисти може да не са заредени. @@ -14858,47 +15389,47 @@ This can not be undone! WCueMenuPopup - + Cue number - + Cue position - + Edit cue label - + Label... - + Delete this cue - + Toggle this cue type between normal cue and saved loop - + Left-click: Use the old size or the current beatloop size as the loop size - + Right-click: Use the current play position as loop end if it is after the cue - + Hotcue #%1 @@ -14921,7 +15452,7 @@ This can not be undone! - + Save snapshot @@ -15022,407 +15553,438 @@ This can not be undone! - - E&xport Library to Engine Prime + + Search in Current View... + + + + + Search for tracks in the current library view - - Export the library to the Engine Prime format + + Ctrl+f + + + + + Search in Tracks Library... + + + + + Search in the internal track collection under "Tracks" in the library - + + Ctrl+Shift+F + + + + Create &New Playlist - + Create a new playlist - + Създаване на нов списък с песни - + Ctrl+n - + Create New &Crate - + Create a new crate - + Създаване на нова колекция - + Ctrl+Shift+N - - + + &View &Изглед - + Auto-hide menu bar - + Auto-hide the main menu bar when it's not used. - + May not be supported on all skins. - + Show Skin Settings Menu - + Show the Skin Settings Menu of the currently selected Skin - + Ctrl+1 Menubar|View|Show Skin Settings - + Show Microphone Section - + Show the microphone section of the Mixxx interface. - + Ctrl+2 Menubar|View|Show Microphone Section - + Show Vinyl Control Section - + Show the vinyl control section of the Mixxx interface. - + Ctrl+3 Menubar|View|Show Vinyl Control Section - + Show Preview Deck - + Show the preview deck in the Mixxx interface. - + Ctrl+4 Menubar|View|Show Preview Deck - + Show Cover Art - + Show cover art in the Mixxx interface. - + Ctrl+6 Menubar|View|Show Cover Art - + Maximize Library - + Maximize the track library to take up all the available screen space. - + Space Menubar|View|Maximize Library - + &Full Screen &На цял екран - + Display Mixxx using the full screen Показване на Mixxx на цял екран - + &Options &Опции - + &Vinyl Control &Контрол с грамофони - + Use timecoded vinyls on external turntables to control Mixxx Ползване на грамофонни плочи с код за контролиране на Mixxx - + Enable Vinyl Control &%1 - + &Record Mix &Записване на микс - + Record your mix to a file Записва Вашия микс във файл - + Ctrl+R - + Ctrl+R - + Enable Live &Broadcasting - + Stream your mixes to a shoutcast or icecast server Излъчвайте миксовете чрез shoutcast или icecast сървър - + Ctrl+L - + Ctrl+L - + Enable &Keyboard Shortcuts - + Toggles keyboard shortcuts on or off - + Ctrl+` - + &Preferences - + Нас&тройки - + Change Mixxx settings (e.g. playback, MIDI, controls) - + &Developer - + &Reload Skin - + Reload the skin - + Ctrl+Shift+R - + Developer &Tools - + Opens the developer tools dialog - + Ctrl+Shift+T - + Stats: &Experiment Bucket - + Enables experiment mode. Collects stats in the EXPERIMENT tracking bucket. - + Ctrl+Shift+E - + Stats: &Base Bucket - + Enables base mode. Collects stats in the BASE tracking bucket. - + Ctrl+Shift+B - + Deb&ugger Enabled - + Enables the debugger during skin parsing - + Ctrl+Shift+D - + &Help Помо&щ - + Show Keywheel menu title - + + E&xport Library to Engine DJ + "Engine DJ" must not be translated + + + + + Export the library to the Engine DJ format + + + + Show keywheel tooltip text - + F12 Menubar|View|Show Keywheel - + &Community Support &Поддръжка от общността - + Get help with Mixxx - + &User Manual Н&аръчник на потребителя - + Read the Mixxx user manual. Прочетете наръчника за потребителя на Mixxx. - + &Keyboard Shortcuts - + Speed up your workflow with keyboard shortcuts. - + &Settings directory - + Open the Mixxx user settings directory. - + &Translate This Application - + Help translate this application into your language. Помогнете на превода на този софтуер на Вашия език. - + &About - + &За - + About the application Относно приложението @@ -15430,25 +15992,25 @@ This can not be undone! WOverview - + Passthrough Чисто преминаване на сигнала - + Ready to play, analyzing... Text on waveform overview when file is playable but no waveform is visible - - + + Loading track... Text on waveform overview when file is cached from source - + Finalizing... Text on waveform overview during finalizing of waveform analysis @@ -15457,25 +16019,13 @@ This can not be undone! WSearchLineEdit - - Clear input - Clear the search bar input field - - - - - Ctrl+F - Search|Focus - - - - + Search noun - + Clear input @@ -15486,169 +16036,163 @@ This can not be undone! Търсене... - + Clear the search bar input field - - Enter a string to search for + + Return - - Use operators like bpm:115-128, artist:BooFar, -year:1990 + + Enter a string to search for. - - For more information see User Manual > Mixxx Library + + Use operators like bpm:115-128, artist:BooFar, -year:1990. - Shortcut + See User Manual > Mixxx Library for more information. - - Ctrl+F + + Focus/Select All (Search in current view) + Give search bar input focus - - Focus - Give search bar input focus + + Focus/Select All (Search in 'Tracks' library view) - - - Ctrl+Backspace + + Additional Shortcuts When Focused: - Shortcuts + Trigger search before search-as-you-type timeout or focus tracks view afterwards - Return + Esc or Ctrl+Return - Trigger search before search-as-you-type timeout orjump to tracks view afterwards + Immediately trigger search and focus tracks view + Exit search bar and leave focus - + Ctrl+Space - + Toggle search history Shows/hides the search history entries - + Delete or Backspace - - Delete query from history - - - - - Esc + + in search history - - Exit search - Exit search bar and leave focus + + Delete query from history WSearchRelatedTracksMenu - + Search related Tracks - + Key Ключ - + harmonic with %1 - + BPM Уд/мин (BPM) - + between %1 and %2 - + Artist Изпълнител - + Album Artist Изпълнител - + Composer Композитор - + Title Заглавие - + Album Албум - + Grouping Групировка - + Year Година - + Genre Жанр - + Directory - + &Search selected @@ -15656,594 +16200,625 @@ This can not be undone! WTrackMenu - + Load to - + Deck Дек - + Sampler - + Add to Playlist Добавяне към списък с песни - + Crates - + Колекции - + Metadata - + Update external collections - + Cover Art - + Обложка - + Adjust BPM - + Select Color - - + + Analyze - + Анализиране - - + + Delete Track Files - + Add to Auto DJ Queue (bottom) Добавяне към Авто DJ опашка (край) - + Add to Auto DJ Queue (top) Добавяне към Авто DJ опашка (начало) - + Add to Auto DJ Queue (replace) - + Preview Deck - + Remove Премахване - + Remove from Playlist - + Remove from Crate - + Hide from Library - + Unhide from Library - + Purge from Library - + Move Track File(s) to Trash - + Delete Files from Disk - + Properties - + Open in File Browser - + Select in Library - + Import From File Tags - + Import From MusicBrainz - + Export To File Tags - + BPM and Beatgrid - + Play Count - + Rating Оценка - + Cue Point - + + Hotcues - + Intro - + Outro - + Key Ключ - + ReplayGain - + Waveform - + Comment Коментар - + All Всички - + + Sort hotcues by position (remove offsets) + + + + + Sort hotcues by position + + + + Lock BPM - + Unlock BPM - + Double BPM - + Halve BPM - + 2/3 BPM - + 3/4 BPM - + 4/3 BPM - + 3/2 BPM - + + Shift Beatgrid Half Beat + + + + Reanalyze - + Reanalyze (constant BPM) - + Reanalyze (variable BPM) - + Update ReplayGain from Deck Gain - + Deck %1 Дек %1 - + Importing metadata of %n track(s) from file tags - + Marking metadata of %n track(s) to be exported into file tags - - + + Create New Playlist Създаване на нов списък с песни - + Enter name for new playlist: Въведете име за нов списък с песни - + New Playlist Нов списък с песни - - - + + + Playlist Creation Failed Създаването на списъка за изпъленине се провали - + A playlist by that name already exists. Вече съществува списък с песни с това име - + A playlist cannot have a blank name. Списъка с песни не може да бъде без име. - + An unknown error occurred while creating playlist: По време на създаването на списъка за изпълнение възникна неизвестна грешка: - + Add to New Crate - + Scaling BPM of %n track(s) - + Undo BPM/beats change of %n track(s) - + Locking BPM of %n track(s) - + Unlocking BPM of %n track(s) - + Setting rating of %n track(s) - + Setting color of %n track(s) - + Resetting play count of %n track(s) - + Resetting beats of %n track(s) - + Clearing rating of %n track(s) - + Clearing comment of %n track(s) - + Removing main cue from %n track(s) - + Removing outro cue from %n track(s) - + Removing intro cue from %n track(s) - + Removing loop cues from %n track(s) - + Removing hot cues from %n track(s) - + + Sorting hotcues of %n track(s) by position (remove offsets) + + + + + Sorting hotcues of %n track(s) by position + + + + Resetting keys of %n track(s) - + Resetting replay gain of %n track(s) - + Resetting waveform of %n track(s) - + Resetting all performance metadata of %n track(s) - + Move these files to the trash bin? - + Permanently delete these files from disk? - - + + This can not be undone! - + Cancel Отказ - + Delete Files - + Okay - + Move Track File(s) to Trash? - + Track Files Deleted - + Track Files Moved To Trash - + %1 track files were moved to trash and purged from the Mixxx database. - + %1 track files were deleted from disk and purged from the Mixxx database. - + Track File Deleted - + Track file was deleted from disk and purged from the Mixxx database. - + The following %1 file(s) could not be deleted from disk - + This track file could not be deleted from disk - + Remaining Track File(s) - + Close Затваряне - + Clear Reset metadata in right click track context menu in library - + Loops - + Clear BPM and Beatgrid - + Undo last BPM/beats change - + Move this track file to the trash bin? - + Permanently delete this track file from disk? - + All decks where these tracks are loaded will be stopped and the tracks will be ejected. - + All decks where this track is loaded will be stopped and the track will be ejected. - + Removing %n track file(s) from disk... - + Note: if you are in the Computer or Recording view you need to click the current view again to see changes. - + Track File Moved To Trash - + Track file was moved to trash and purged from the Mixxx database. - + + Don't show again during this session + + + + The following %1 file(s) could not be moved to trash - + This track file could not be moved to trash - + Setting cover art of %n track(s) - + Reloading cover art of %n track(s) @@ -16256,40 +16831,78 @@ This can not be undone! + + WTrackStemMenu + + + Load for stem mixing + + + + + Load pre-mixed stereo track + + + + + Load the "%1" stem + + + + + Load multiple stem into a stereo deck + + + + + Select stems to load + + + + + Release "CTRL" to load the current selection + + + + + Use "CTRL" to select multiple stems + + + WTrackTableView - + Confirm track hide - + Are you sure you want to hide the selected tracks? - + Are you sure you want to remove the selected tracks from AutoDJ queue? - + Are you sure you want to remove the selected tracks from this crate? - + Are you sure you want to remove the selected tracks from this playlist? - + Don't ask again during this session - + Confirm track removal @@ -16297,60 +16910,65 @@ This can not be undone! WTrackTableViewHeader - + Show or hide columns. Показване или скриване на колони. + + + Shuffle Tracks + + mixxx::CoreServices - + fonts - + database - + effects - + audio interface - + decks - + library - + Choose music library directory Изберете папка за музикалната библиотека - + controllers - + Cannot open database Не може да се отвори базата данни - + Unable to establish a database connection. Mixxx requires QT with SQLite support. Please read the Qt SQL driver documentation for information on how to build it. @@ -16364,67 +16982,78 @@ Mixxx се нуждае от QT с поддръжка за SQLite. Молже п mixxx::DlgLibraryExport - + Entire music library - - Selected crates + + Crates + + + + + Playlists + + + + + Selected crates/playlists - + Browse Разглеждане - + Export directory - + Database version - + Export Изнасяне - + Cancel Отказ - - Export Library to Engine Prime + + Export Library to Engine DJ + "Engine DJ" must not be translated - + Export Library To - + No Export Directory Chosen - + No export directory was chosen. Please choose a directory in order to export the music library. - + A database already exists in the chosen directory. Exported tracks will be added into this database. - + A database already exists in the chosen directory, but there was a problem loading it. Export is not guaranteed to succeed in this situation. @@ -16443,30 +17072,35 @@ Mixxx се нуждае от QT с поддръжка за SQLite. Молже п - mixxx::LibraryExporter + mixxx::EnginePrimeExportJob - - Export Completed + + Failed to export track %1 - %2: +%3 + %1 is the artist %2 is the title and %3 is the original error message + + + mixxx::LibraryExporter - Exported %1 track(s) and %2 crate(s). + Export Completed - - Export Failed + + Exported %1 track(s), %2 crate(s), and %3 playlist(s). - Export failed: %1 + Export Failed - Exporting to Engine Prime... + Exporting to Engine DJ... @@ -16478,69 +17112,6 @@ Mixxx се нуждае от QT с поддръжка за SQLite. Молже п - - mixxx::hid::DeviceCategory - - - HID Interface %1: - - - - - Generic HID Pointer - - - - - Generic HID Mouse - - - - - Generic HID Joystick - - - - - Generic HID Game Pad - - - - - Generic HID Keyboard - - - - - Generic HID Keypad - - - - - Generic HID Multi-axis Controller - - - - - Unknown HID Desktop Device: - - - - - Apple HID Infrared Control - - - - - Unknown Apple HID Device: - - - - - Unknown HID Device: - - - mixxx::network::WebTask diff --git a/res/translations/mixxx_ca.qm b/res/translations/mixxx_ca.qm index f42c9b55cc837a4fc9ca3905ed6ed01fb437e8b4..830d10f2d34d0aef2b8a1e444ca5354ef17c4c29 100644 GIT binary patch delta 29265 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 delta 22915 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 OzTA#FQ|u90mY)HYWu;R9 diff --git a/res/translations/mixxx_ca.ts b/res/translations/mixxx_ca.ts index 6140026e4067..5b55a2184c88 100644 --- a/res/translations/mixxx_ca.ts +++ b/res/translations/mixxx_ca.ts @@ -26,12 +26,12 @@ Enable Auto DJ - + Activa el DJ automàtic Disable Auto DJ - + Desactiva el DJ automàtic @@ -149,7 +149,7 @@ BasePlaylistFeature - + New Playlist Llista de reproducció nova @@ -160,7 +160,7 @@ - + Create New Playlist Crea una nova llista de reproducció @@ -190,113 +190,120 @@ Duplica - - + + Import Playlist Importa la llista de reproducció - + Export Track Files Exporta pistes a fitxers - + Analyze entire Playlist Analitza tota la llista de reproducció - + Enter new name for playlist: Inseriu un nom nou per a la llista de reproducció: - + Duplicate Playlist Duplica la llista de reproducció - - + + Enter name for new playlist: Inseriu el nom de la llista nova de reproducció: - - + + Export Playlist Exporta la llista de reproducció - + Add to Auto DJ Queue (replace) Afegeix a la cua del DJ automàtic (reemplaça) - + + + Export to Engine DJ + "Engine DJ" is a product name and must not be translated. + + + + Rename Playlist Canvia el nom a la llista de reproducció - - + + Renaming Playlist Failed Ha fallat el canvi de nom de la llista de reproducció - - - + + + A playlist by that name already exists. Ja existeix una llista de reproducció amb aquest nom. - - - + + + A playlist cannot have a blank name. El nom de la llista de reproducció no pot quedar en blanc - + _copy //: Appendix to default name when duplicating a playlist _copia - - - - - - + + + + + + Playlist Creation Failed Ha fallat la creació de la llista de reproducció - - + + An unknown error occurred while creating playlist: S'ha produït un error desconegut en crear la llista de reproducció: - + Confirm Deletion Confirmeu la supressió - + Do you really want to delete playlist <b>%1</b>? Realment vols esborrar la llista de reproducció <b>%1</b>? - + M3U Playlist (*.m3u) Llista de reproducció M3U (*.m3u) - + M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Text CSV (*.csv);;Readable Text (*.txt) Llista de repr. M3U (*.m3u);;Llista de repr. M3U8 (*.m3u8);;Llista de repr. PLS (*.pls);;Text CSV (*.csv);;Text llegible (*.txt) @@ -304,12 +311,12 @@ BaseSqlTableModel - + # Núm. - + Timestamp Marca de temps @@ -317,7 +324,7 @@ BaseTrackPlayerImpl - + Couldn't load track. No s'ha pogut carregar la pista. @@ -325,142 +332,142 @@ BaseTrackTableModel - + Album Àlbum - + Album Artist Artista de l'àlbum - + Artist Artista - + Bitrate Taxa de bits - + BPM BPM - + Channels Canals - + Color Color - + Comment Comentari - + Composer Compositor - + Cover Art Portada - + Date Added Afegida el dia - + Last Played Darrera reproducció - + Duration Durada - + Type Tipus - + Genre Gènere - + Grouping Grup - + Key Tonalitat musical - + Location Ubicació - + Overview - + Visió general - + Preview Pre-escolta - + Rating Puntuació - + ReplayGain ReplayGain - + Samplerate Rati de mostreig - + Played Reproduït - + Title Tí­tol - + Track # Núm. de pista - + Year Any - + Fetching image ... Tooltip text on the cover art column shown when the cover is read from disk S' està recuperant la imatge... @@ -609,6 +616,16 @@ "Computer" lets you navigate, view, and load tracks from folders on your hard disk and external devices. "Ordinador" et permet navegar, veure i carregar les pistes de les carpetes del disc dur, o de dispositius externs. + + + It shows the data from the file tags, not track data from your Mixxx library like other track views. + + + + + If you load a track file from here, it will be added to your library. + + BrowseTableModel @@ -806,7 +823,7 @@ Rescans the library when Mixxx is launched. - + Torna a escanejar la biblioteca en iniciar el Mixxx. @@ -856,7 +873,7 @@ traça - Per sobre + Missatges de perfil Sets the maximum file size of the mixxx.log file in bytes. Use -1 for unlimited. The default is 100 MB as 1e5 or 100000000. - + Estableix la mida màxima, en bytes, del fitxer mixxx.log. Feu servir -1 si no voleu establir un límit. El valor predeterminat és 100 MB com a 1e5 o 100000000. @@ -866,7 +883,7 @@ traça - Per sobre + Missatges de perfil Overrides the default application GUI style. Possible values: %1 - + Substitueix l'estil de la GUI de l'aplicació per defecte. Valors possibles: %1 @@ -2433,7 +2450,7 @@ traça - Per sobre + Missatges de perfil Double BPM - + Doble BPM @@ -2463,12 +2480,12 @@ traça - Per sobre + Missatges de perfil Move Beatgrid Half a Beat - + Desplaça mitja pulsació la graella rítmica Adjust the beatgrid by exactly one half beat. Usable only for tracks with constant tempo. - + Ajusteu la quadrícula de ritme exactament mig ritme. Només es pot utilitzar per a pistes amb tempo constant. @@ -2505,57 +2522,57 @@ traça - Per sobre + Missatges de perfil Internal Leader BPM - + Líder intern BPM Internal Leader BPM +1 - + Líder intern BPM +1 Increase internal Leader BPM by 1 - + Incrementa Líder intern BPM en 1 Internal Leader BPM -1 - + Líder intern BPM -1 Decrease internal Leader BPM by 1 - + Decrementa Líder intern BPM en 1 Internal Leader BPM +0.1 - + Líder intern BPM +0.1 Increase internal Leader BPM by 0.1 - + Incrementa Líder intern BPM en 0.1 Internal Leader BPM -0.1 - + Líder intern BPM -0.1 Decrease internal Leader BPM by 0.1 - + Decrementa Líder intern BPM en 0.1 Sync Leader - + Sincronitzar Líder Sync mode 3-state toggle / indicator (Off, Soft Leader, Explicit Leader) - + Indicador o commutació de 3 estats del mode de sincronització (desactivat, líder suau, líder explícit) @@ -2666,13 +2683,13 @@ traça - Per sobre + Missatges de perfil Sort hotcues by position - + Ordena els hotcues per posició Sort hotcues by position (remove offsets) - + Ordena els hotcues per posició (elimina els desplaçaments) @@ -2763,7 +2780,7 @@ traça - Per sobre + Missatges de perfil if the track has no beats the unit is seconds - + si la pista no té ritmes la unitat són segons @@ -2788,22 +2805,22 @@ traça - Per sobre + Missatges de perfil Loop %1 Beats set from its end point - + Bucle % 1 Ritmes establerts des del seu punt final Loop Roll %1 Beats set from its end point - + Bucle Roll % 1 Ritmes establerts des del seu punt final Create %1-beat loop with the current play position as loop end - + Creeu %1-beat bucle amb la posició de reproducció actual com a final del bucle Create temporary %1-beat loop roll with the current play position as loop end - + Creeu temporalment %1-beat bucle amb la posició de reproducció actual com a final del bucle @@ -2909,12 +2926,12 @@ traça - Per sobre + Missatges de perfil Beat Jump - + Salt de ritme Indicate which loop marker remain static when adjusting the size or is inherited from the current position - + Indiqueu quin marcador de bucle roman estàtic quan s'ajusta la mida o s'hereta de la posició actual @@ -2939,12 +2956,12 @@ traça - Per sobre + Missatges de perfil Remove Temporary Loop - + Elimina bucle temporal Remove the temporary loop - + Elimina el bucle temporal @@ -3079,7 +3096,7 @@ traça - Per sobre + Missatges de perfil Sort the column of the cell that is currently focused, equivalent to clicking on its header - + Ordena la columna de la cel·la que està actualment activa, equivalent a fer clic a la seva capçalera @@ -3150,23 +3167,23 @@ traça - Per sobre + Missatges de perfil Select Next Color Available - + Seleccioneu el següent color disponible Select the next color in the color palette for the first selected track - + Seleccioneu el color següent a la paleta de colors per a la primera pista seleccionada Select Previous Color Available - + Seleccioneu el color anterior disponible Select the previous color in the color palette for the first selected track - + Seleccioneu el color anterior a la paleta de colors de la primera pista seleccionada @@ -3359,27 +3376,27 @@ traça - Per sobre + Missatges de perfil Waveform Zoom Reset To Default - + El zoom de la forma d'ona restablert al valor predeterminat Reset the waveform zoom level to the default value selected in Preferences -> Waveforms - + Restableix el nivell de zoom de la forma d'ona al valor predeterminat seleccionat a Preferències -> Formes d'ona Select the next color in the color palette for the loaded track. - + Seleccioneu el color següent a la paleta de colors per a la pista carregada. Select previous color in the color palette for the loaded track. - + Seleccioneu el color anterior a la paleta de colors per a la pista carregada. Navigate Through Track Colors - + Navegueu pels colors de la pista @@ -3633,32 +3650,32 @@ traça - Per sobre + Missatges de perfil ControllerScriptEngineBase - + The functionality provided by this controller mapping will be disabled until the issue has been resolved. Es deshabilitaran les funcions de les assignacions de controlador fins que el problema s'hagi resolt. - + You can ignore this error for this session but you may experience erratic behavior. Podeu ignorar l'error per aquesta sessió, però podríeu experimentar comportaments erràtics. - + Try to recover by resetting your controller. Intentar que s'arregli reiniciant la controladora. - + Controller Mapping Error Error de l'assignació de controlador - + The mapping for your controller "%1" is not working properly. L'assignació per al vostre controlador "%1" no funciona correctament. - + The script code needs to be fixed. Cal corregir el codi del script. @@ -3766,7 +3783,7 @@ traça - Per sobre + Missatges de perfil Importa una caixa - + Export Crate Exporta la caixa @@ -3776,7 +3793,7 @@ traça - Per sobre + Missatges de perfil Permet els canvis - + An unknown error occurred while creating crate: Hi ha hagut un error desconegut a l'hora de crear la caixa: @@ -3802,17 +3819,17 @@ traça - Per sobre + Missatges de perfil El canvi de nom de la caixa ha fallat - + Crate Creation Failed No s'ha pogut crear la caixa - + M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Text CSV (*.csv);;Readable Text (*.txt) Llista de repr. M3U (*.m3u);;Llista de repr. M3U8 (*.m3u8);;Llista de repr. PLS (*.pls);;Text CSV (*.csv);;Text llegible (*.txt) - + M3U Playlist (*.m3u) Llista de reproducció M3U (*.m3u) @@ -3938,12 +3955,12 @@ traça - Per sobre + Missatges de perfil Antics Contribuidors - + Official Website Lloc web oficial - + Donate Donatius @@ -3999,7 +4016,7 @@ traça - Per sobre + Missatges de perfil - + Analyze Analitzador @@ -4044,17 +4061,17 @@ traça - Per sobre + Missatges de perfil Executa la detecció de la graella de ritme, la clau musical i el ReplayGain a les pistes seleccionades. No en genera els gràfics d'ona per estalviar espai de disc. - + Stop Analysis Atura l'anàlisi - + Analyzing %1% %2/%3 S'està analitzant %1% %2/%3... - + Analyzing %1/%2 S'està analitzant %1% %2... @@ -4165,7 +4182,32 @@ Skip Silence Start Full Volume: The same as Skip Silence, but starting transitions with a centered crossfader, so that the intro starts at full volume. - + Modes Auto DJ Fade + +Introducció completa + Outro: +Reprodueix la introducció i l'outro complets. Utilitza la durada d'introducció o final com a +temps de transició creuada, el que sigui més curt. Si no hi ha cap introducció ni final marcada, +utilitza el temps de crossfade seleccionat. + +Fade at Outro Start: +Comenceu el crossfading a l'inici de l'outro. Si l'outro és més llarg que la +introducció, talla el final de l'outro. Utilitzeu la durada d'introducció o final com a +el temps de crossfade, el que sigui més curt. Si no hi ha introducció o final +marcat, utilitzeu el temps de crossfade seleccionat. + +Pista completa: +Reprodueix tota la pista. Comenceu el crossfading a partir del nombre seleccionat de +segons abans del final de la pista. Un temps de crossfading negatiu afegeix +silenci entre pistes. + +Omet el silenci: +Reprodueix tota la pista excepte el silenci al principi i al final. +Comenceu el crossfading des del nombre de segons seleccionat abans del +darrer so. + +Omet el silenci Inici de volum complet: +El mateix que Omet el solenci, però començant les transicions amb un crossfader +centrat, de manera que la introducció comenci a tot volum. @@ -4470,37 +4512,37 @@ Sovint ofereix una graella de pulsacions de major qualitat, però no serà prou Si l'assignació no funciona bé, proveu d'activar una de les opcions següents i proveu de nou. O sinó feu clic a Reintenta per a detectar el control MIDI de nou - + Didn't get any midi messages. Please try again. No s'ha rebut cap missatge MIDI. Proveu un altre cop. - + Unable to detect a mapping -- please try again. Be sure to only touch one control at once. No s'ha pogut detectar l'assignació -- proveu de nou. Assegureu-vos de tocar només un control cada cop. - + Successfully mapped control: Control assignat correctament: - + <i>Ready to learn %1</i> <i>Preparat per a aprendre %1</i> - + Learning: %1. Now move a control on your controller. Aprenent: %1. Ara feu anar el control en la vostra controladora - + The selected control does not exist.<br>This likely a bug. Please report it on the Mixxx bug tracker.<br><a href='https://github.com/mixxxdj/mixxx/issues'>https://github.com/mixxxdj/mixxx/issues</a><br><br>You tried to learn: %1,%2 - + The control you clicked in Mixxx is not learnable. This could be because you are either using an old skin and this control is no longer supported, or you clicked a control that provides visual feedback and can only be mapped to outputs like LEDs via scripts. @@ -5207,114 +5249,114 @@ associated with each key. DlgPrefController - + Apply device settings? Voleu aplicar la configuració del dispositiu? - + Your settings must be applied before starting the learning wizard. Apply settings and continue? És necessari aplicar la configuració abans d'iniciar l'assistent d'aprenentatge. Volue aplicar la configuració i continuar? - + None Cap - + %1 by %2 %1 per %2 - + Mapping has been edited S'ha editat el mapping - + Always overwrite during this session Sobreescriu sempre durant aquesta sessió - + Save As Anomena i desa - + Overwrite Sobreescriu - + Save user mapping Desa el mapping d'usuari - + Enter the name for saving the mapping to the user folder. Introdueix el nom del mapping per desar-lo a la carpeta d'usuari - + Saving mapping failed No s'ha pogut desar el mapping - + A mapping cannot have a blank name and may not contain special characters. Una assignació no pot tenir el nom en blanc i no pot tenir caràcters especials - + A mapping file with that name already exists. Ja existeix un fitxer d'assignació amb aquest nom. - + Do you want to save the changes? Voleu desar els canvis? - + Troubleshooting Solució de problemes - + <font color='#BB0000'><b>If you use this mapping your controller may not work correctly. Please select another mapping or disable the controller.</b></font><br><br>This mapping was designed for a newer Mixxx Controller Engine and cannot be used on your current Mixxx installation.<br>Your Mixxx installation has Controller Engine version %1. This mapping requires a Controller Engine version >= %2.<br><br>For more information visit the wiki page on <a href='https://mixxx.org/wiki/doku.php/controller_engine_versions'>Controller Engine Versions</a>. - + Mapping already exists. El fitxer d'assignació ja existeix. - + <b>%1</b> already exists in user mapping folder.<br>Overwrite or save with a new name? <b>%1</b> ja existeix a la carpeta de controladors d'usuari.<br>Voleu sobreesciure o desar amb un altre nom? - + Clear Input Mappings Esborra les assignacions d'entrada - + Are you sure you want to clear all input mappings? Esteu segur de voler esborrar totes les assignacions d'entrada? - + Clear Output Mappings Esborra les assignacions de sortida - + Are you sure you want to clear all output mappings? Esteu segur de voler esborrrar totes les assignacions de sortida? @@ -5645,6 +5687,16 @@ Volue aplicar la configuració i continuar? Multi-Sampling + + + Force 3D acceleration + + + + + If checked, Mixxx will always assume 3D acceleration is available. This may lead to pour performance if only CP-backed rendering is available.. + + Start in full-screen mode @@ -6254,62 +6306,62 @@ You can always drag-and-drop tracks on screen to clone a deck. DlgPrefInterface - + The minimum size of the selected skin is bigger than your screen resolution. La mida mínima de l'aparenca és més gran que la resolució de la vostra pantalla - + Allow screensaver to run Permet que s'activi l'estalvi de pantalla - + Prevent screensaver from running Evita que s'activi l'estalvi de pantalla - + Prevent screensaver while playing Evita l'estalvi de pantalla mentre reprodueix - + Disabled - + 2x MSAA - + 4x MSAA - + 8x MSAA - + 16x MSAA - + This skin does not support color schemes Aquesta aparença no suporta els esquemes de colors - + Information Informació - + Mixxx must be restarted before the new locale, scaling or multi-sampling settings will take effect. @@ -7477,173 +7529,172 @@ The loudness target is approximate and assumes track pregain and main output lev DlgPrefSound - + %1 Hz %1 Hz - + Default (long delay) Per defecte (retard llarg) - + Experimental (no delay) Experimental (sense retard) - + Disabled (short delay) Desactivat (retard curt) - + Soundcard Clock Rellotge de la targeta de so - + Network Clock Rellotge de xarxa - + Direct monitor (recording and broadcasting only) Monitor directe (només gravació i retransmissió) - + Disabled Desactivat - + Enabled Activat - + Stereo Estèreo - + Mono Mono - + To enable Realtime scheduling (currently disabled), see the %1. - + The %1 lists sound cards and controllers you may want to consider for using Mixxx. - + Mixxx DJ Hardware Guide Guia de maquinari de DJ de Mixxx - + Information - + Mixxx must be restarted before the multi-threaded RubberBand setting change will take effect. - + auto (<= 1024 frames/period) - + 2048 frames/period - + 4096 frames/period - + Are you sure? - + Distribute stereo channels into mono channels for parallel processing will result in a loss of mono compatibility and a diffuse stereo image. It is not recommended during broadcasting or recording. - + Are you sure you wish to proceed? - + No - + Yes, I know what I am doing - + Microphone inputs are out of time in the record & broadcast signal compared to what you hear. L'entrada de micròfon queda desincronitzada al gravar o retransmetre comparat amb el que es sent. - + Measure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. Mesureu la latència total i introduiu-la en la Compensació de la latència del micròfon per tal de sincronitzar el micròfon. - - + Refer to the Mixxx User Manual for details. Consulteu el Manual d'usuari del Mixxx per a més informació. - + Configured latency has changed. La latència configurada ha canviat - + Remeasure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. Torneu a mesurar la latència total i introduiu-la en la Compensació de la matència del micròfon per tal de sincronitzar el micròfon. - + Realtime scheduling is enabled. La planificació en temps real està activada - + Main output only Només la sortida principal - + Main and booth outputs Sortides principal i de cabina - + %1 ms %1 ms - + Configuration error Hi ha un error en la configuració @@ -7661,131 +7712,131 @@ The loudness target is approximate and assumes track pregain and main output lev API de so - + Sample Rate Freqüència de mostreig - + Audio Buffer Memòria intermèdia d'àudio - + Engine Clock Rellotge del motor - + Use soundcard clock for live audience setups and lowest latency.<br>Use network clock for broadcasting without a live audience. Feu anar el rellotge de la targeta de so en configuracions amb públic present i una menor latència. <br>Feu anar el rellotge de la xarxa per a emissions en viu a la xarxa sense un públic present. - + Main Mix Mescla principal - + Main Output Mode Mode de sortida principal - + Microphone Monitor Mode Mode de monitorització del micròfon - + Microphone Latency Compensation Compensació de la latència del micròfon - - - - + + + + ms milliseconds ms - + 20 ms 20 ms - + Buffer Underflow Count Comptador de buidat del búfer - + 0 0 - + Keylock/Pitch-Bending Engine Motor de bloqueig de clau/Pitch Bend - + Multi-Soundcard Synchronization Sincronització de múltiples targetes de so. - + Output Sortida - + Input Entrada - + System Reported Latency Latència reportada pel sistema - + Enlarge your audio buffer if the underflow counter is increasing or you hear pops during playback. Incrementeu el búfer d'audio si el comptador de buffer buit incrementa o si sentiu talls durant la reproducció. - + Main Output Delay Retard de la sortida principal - + Headphone Output Delay Retard de sortida d'auricular - + Booth Output Delay Retard de la sortida de cabina - + Dual-threaded Stereo - + Hints and Diagnostics Suggeriments i diagnòstic - + Downsize your audio buffer to improve Mixxx's responsiveness. Reduïu la mida del búfer d'audio per millorar la resposta del Mixxx - + Query Devices Consulta els dispositius @@ -9345,27 +9396,27 @@ Sovint ofereix una graella de pulsacions de major qualitat, però no serà prou EngineBuffer - + Soundtouch (faster) Soundtouch (ràpid) - + Rubberband (better) Rubberband (més qualitat) - + Rubberband R3 (near-hi-fi quality) Rubberband R3 (quasi qualitat hi-fi) - + Unknown, using Rubberband (better) Desconegut utilitzant Rubberband (millor) - + Unknown, using Soundtouch @@ -9580,15 +9631,15 @@ Sovint ofereix una graella de pulsacions de major qualitat, però no serà prou LegacySkinParser - - + + Safe Mode Enabled Shown when Mixxx is running in safe mode. Mode segur activat - - + + No OpenGL support. Shown when Spinny can not be displayed. Please keep @@ -9600,57 +9651,57 @@ Shown when VuMeter can not be displayed. Please keep OpenGL. - + activate activa - + toggle commuta - + right dreta - + left esquerra - + right small dreta petit - + left small esquerra petit - + up amunt - + down avall - + up small amunt petit - + down small avall petit - + Shortcut Drecera @@ -9658,62 +9709,62 @@ OpenGL. Library - + This or a parent directory is already in your library. - + This or a listed directory does not exist or is inaccessible. Aborting the operation to avoid library inconsistencies - - + + This directory can not be read. - + An unknown error occurred. Aborting the operation to avoid library inconsistencies - + Can't add Directory to Library - + Could not add <b>%1</b> to your library. %2 - + Can't remove Directory from Library - + An unknown error occurred. - + This directory does not exist or is inaccessible. - + Relink Directory - + Could not relink <b>%1</b> to <b>%2</b>. %3 @@ -9723,22 +9774,22 @@ Aborting the operation to avoid library inconsistencies LibraryFeature - + Import Playlist Importa la llista de reproducció - + Playlist Files (*.m3u *.m3u8 *.pls *.csv) Llistes de reproducció (*.m3u *.m3u8 *.pls *.csv) - + Overwrite File? Voleu sobreescriure el fitxer? - + A playlist file with the name "%1" already exists. The default "m3u" extension was added because none was specified. @@ -9892,253 +9943,253 @@ Voleu sobreescriure aquesta llista? MixxxMainWindow - + Sound Device Busy El dispositiu de so està ocupat - + <b>Retry</b> after closing the other application or reconnecting a sound device <b>Torna-ho a provar</b> després de tancar l'altra aplicació o reconnectar el dispositiu d'àudio - - - + + + <b>Reconfigure</b> Mixxx's sound device settings. <b>Reconfigura</b> les opcions del dispositiu d'àudio de Mixxx - - + + Get <b>Help</b> from the Mixxx Wiki. Obteniu <b>ajuda</b> a la Vikipèdia de Mixxx. - - - + + + <b>Exit</b> Mixxx. <b>Surt</b> del Mixxx. - + Retry Torna a provar - + skin Tema - + Allow Mixxx to hide the menu bar? - + Hide Always show the menu bar? - + Always show - + The Mixxx menu bar is hidden and can be toggled with a single press of the <b>Alt</b> key.<br><br>Click <b>%1</b> to agree.<br><br>Click <b>%2</b> to disable that, for example if you don't use Mixxx with a keyboard.<br><br>You can change this setting any time in Preferences -> Interface.<br> Keep formatting tags <b> (bold text) and <br> (linebreak). %1 is the placeholder for the 'Always show' button label - + Ask me again - - + + Reconfigure Reconfigura - + Help Ajuda - - + + Exit Surt - - + + Mixxx was unable to open all the configured sound devices. El Mixxx no ha pogut obrir tots els dispositius de so configurats. - + Sound Device Error Error del dispositiu de so - + <b>Retry</b> after fixing an issue <b>Reintenta</b> després de corregir el problema - + No Output Devices No hi ha cap dispositiu de sortida - + Mixxx was configured without any output sound devices. Audio processing will be disabled without a configured output device. S'ha configurat el Mixxx sense cap dispositiu de so de sortida, per la qual cosa s'inhabilitarà el processament d'àudio. - + <b>Continue</b> without any outputs. <b>Continua</b> sense cap sortida. - + Continue Continua - + Load track to Deck %1 Carrega la pista a la platina %1 - + Deck %1 is currently playing a track. La platina %1 està reproduint una pista. - + Are you sure you want to load a new track? Esteu segur de voler carregar una nova pista? - + There is no input device selected for this vinyl control. Please select an input device in the sound hardware preferences first. No hi ha cap dispositiu d'entrada seleccionat per a aquest control de vinil. Si us plau, seleccioneu primer un dispositiu d'entrada a les preferències de Maquinari de so. - + There is no input device selected for this passthrough control. Please select an input device in the sound hardware preferences first. No hi ha cap dispositiu d'entrada seleccionat per a aquest control de pas d'audio. Si us plau, seleccioneu primer un dispositiu d'entrada a les preferències de Maquinari de so. - + There is no input device selected for this microphone. Do you want to select an input device? No hi ha cap dispositiu d'entrada seleccionat per aquest micròfon. Volue seleccionar ara un dispositiu d'entrada? - + There is no input device selected for this auxiliary. Do you want to select an input device? No hi ha cap dispositiu d'entrada seleccionat per aquest auxiliar. Voleu seleccionar ara un dispositiu d'entrada? - + Scan took %1 - + No changes detected. - - + + %1 tracks in total - + %1 new tracks found - + %1 moved tracks detected - + %1 tracks are missing (%2 total) - + %1 tracks have been rediscovered - + Library scan finished - + Error in skin file Error en el fitxer d'aparença - + The selected skin cannot be loaded. No es pot carregar l'aparença seleccionada. - + OpenGL Direct Rendering OpenGL Renderització Directa - + Direct rendering is not enabled on your machine.<br><br>This means that the waveform displays will be very<br><b>slow and may tax your CPU heavily</b>. Either update your<br>configuration to enable direct rendering, or disable<br>the waveform displays in the Mixxx preferences by selecting<br>"Empty" as the waveform display in the 'Interface' section. La Renderizació Directa no està habilitada a la vostra màquina.<br><br> Això significa que els gràfics forma d'ona seran molt <br><b>lents i poden fer servir molta CPU</b>. Prove de canviar la<br> configuració per habilitar la renderització directa, o desactiveu<br>els gràfics de forma d'ona a les preferències del Mixxx seleccionant<br>"Buit" al tipus de forma d'ona, en la secció de "Gràfics d'ona". - - - + + + Confirm Exit Confirma la sortida - + A deck is currently playing. Exit Mixxx? Un plat està reproduint encara. Voleu sortir del Mixxx? - + A sampler is currently playing. Exit Mixxx? Hi ha un reproductor de mostres que està reproduint. Segur que voleu sortir del Mixxx? - + The preferences window is still open. La finestra de preferències està oberta encara. - + Discard any changes and exit Mixxx? Descartar els canvis i sortir del Mixxx? @@ -10154,13 +10205,13 @@ Voleu seleccionar ara un dispositiu d'entrada? PlaylistFeature - + Lock Bloca els canvis - - + + Playlists Llistes de reproducció @@ -10170,32 +10221,58 @@ Voleu seleccionar ara un dispositiu d'entrada? - + + Unlock all playlists + + + + + Delete all unlocked playlists + + + + Unlock Permet els canvis - + + + Confirm Deletion + + + + + Do you really want to delete all unlocked playlists? + + + + + Deleting %1 unlocked playlists.<br>This operation can not be undone! + + + + Playlists are ordered lists of tracks that allow you to plan your DJ sets. - + It may be necessary to skip some tracks in your prepared playlist or add some different tracks in order to maintain the energy of your audience. - + Some DJs construct playlists before they perform live, but others prefer to build them on-the-fly. Alguns DJ preparen llistes de reproducció abans d'actuar, però altres prefereixen fer-les en viu. - + When using a playlist during a live DJ set, remember to always pay close attention to how your audience reacts to the music you've chosen to play. Quan utilitzeu una llista de reproducció durant una sessió en viu, recordeu parar atenció a com reacciona l'audiència a la música que heu decidit reproduir. - + Create New Playlist Crea una nova llista de reproducció @@ -11847,7 +11924,7 @@ Hint: compensates "chipmunk" or "growling" voices - + Passthrough De pas @@ -12011,12 +12088,12 @@ may introduce a 'pumping' effect and/or distortion. - + built-in - + missing @@ -12144,54 +12221,54 @@ may introduce a 'pumping' effect and/or distortion. RekordboxFeature - - - + + + Rekordbox Rekordbox - + Playlists Llistes de reproducció - + Folders Carpetes - + Reads databases exported for Pioneer CDJ / XDJ players using the Rekordbox Export mode.<br/>Rekordbox can only export to USB or SD devices with a FAT or HFS file system.<br/>Mixxx can read a database from any device that contains the database folders (<tt>PIONEER</tt> and <tt>Contents</tt>).<br/>Not supported are Rekordbox databases that have been moved to an external device via<br/><i>Preferences > Advanced > Database management</i>.<br/><br/>The following data is read: - + Hot cues hotcues - + Loops (only the first loop is currently usable in Mixxx) bucle (només es pot utilitzar el primer bucle a Mixxx) - + Check for attached Rekordbox USB / SD devices (refresh) Cerca dispositius USB/ SD connectats de Rekordbox (refresca) - + Beatgrids Graella de ritmes - + Memory cues - + (loading) Rekordbox (carregant) Rekordbox @@ -13599,23 +13676,23 @@ may introduce a 'pumping' effect and/or distortion. Adjust beatgrid by exactly one half beat. Usable only on tracks with constant tempo. - + Ajusteu la quadrícula de ritme exactament mig ritme. Només es pot utilitzar per a pistes amb tempo constant. Revert last BPM/Beatgrid Change - + Reverteix l'últim canvi de BPM/quadrícula de ritme Revert last BPM/Beatgrid Change of the loaded track. - + Reverteix l'últim canvi de BPM/quadrícula de ritme de la pista carregada. Toggle the BPM/beatgrid lock - + Commuta el bloqueig BPM/quadrícula de ritme @@ -15435,47 +15512,47 @@ Això no es pot desfer! WCueMenuPopup - + Cue number Número de marca - + Cue position Marca de posició - + Edit cue label Edita la etiqueta del punt cue - + Label... Etiqueta... - + Delete this cue Suprimeix aquesta marca - + Toggle this cue type between normal cue and saved loop - + Left-click: Use the old size or the current beatloop size as the loop size - + Right-click: Use the current play position as loop end if it is after the cue - + Hotcue #%1 Marca directa #%1 @@ -15600,323 +15677,353 @@ Això no es pot desfer! + Search in Current View... + + + + + Search for tracks in the current library view + + + + + Ctrl+f + + + + + Search in Tracks Library... + + + + + Search in the internal track collection under "Tracks" in the library + + + + + Ctrl+Shift+F + + + + Create &New Playlist Crea una &nova llista de reproducció - + Create a new playlist Crea una nova llista de reproducció - + Ctrl+n Ctrl+n - + Create New &Crate Crea una nova &caixa - + Create a new crate Crea una nova caixa - + Ctrl+Shift+N Ctrl+Majús+N - - + + &View &Visualització - + Auto-hide menu bar - + Auto-hide the main menu bar when it's not used. - + May not be supported on all skins. No està disponible a totes les aparences - + Show Skin Settings Menu Mostra el menú de les opcions d'aparença - + Show the Skin Settings Menu of the currently selected Skin Mostra el menú d'opcions disponibles per a l'aparença seleccionada - + Ctrl+1 Menubar|View|Show Skin Settings Ctrl+1 - + Show Microphone Section Mostra la secció del micròfon - + Show the microphone section of the Mixxx interface. Mostra la secció de micròfons en la interfície del Mixxx. - + Ctrl+2 Menubar|View|Show Microphone Section Ctrl+2 - + Show Vinyl Control Section Mostra la secció de control per vinils - + Show the vinyl control section of the Mixxx interface. Mostra la secció dels controls de vinil a la interfície del Mixxx. - + Ctrl+3 Menubar|View|Show Vinyl Control Section Ctrl+3 - + Show Preview Deck Mostra el reproductor de pre-escolta - + Show the preview deck in the Mixxx interface. Mostra el reproductor de pre-escolta a la interfície del Mixxx. - + Ctrl+4 Menubar|View|Show Preview Deck Ctrl+4 - + Show Cover Art Mostra la caràtula - + Show cover art in the Mixxx interface. Mostra la caràtula a la interfície del Mixxx - + Ctrl+6 Menubar|View|Show Cover Art Ctrl+6 - + Maximize Library Maximitza la biblioteca - + Maximize the track library to take up all the available screen space. Maximitza o restaura la vista de Biblioteca per abarcar tota la pantalla - + Space Menubar|View|Maximize Library Espai - + &Full Screen Pantalla sencera - + Display Mixxx using the full screen Mostra Mixx a pantalla sencera - + &Options &Opcions - + &Vinyl Control Control per &vinils - + Use timecoded vinyls on external turntables to control Mixxx Permet l'ús de vinils amb codi de temps en tocadisc externs per controlar el Mixxx - + Enable Vinyl Control &%1 Activa el control de vinil &%1 - + &Record Mix En&registra la mescla - + Record your mix to a file Enregistra la vostra mescla a un fitxer - + Ctrl+R Ctrl+R - + Enable Live &Broadcasting Activa la retransmissió en directe(&B) - + Stream your mixes to a shoutcast or icecast server Transmeteu les vostres mescles a un servidor de shoutcast o d'icecast - + Ctrl+L Ctrl+L - + Enable &Keyboard Shortcuts Habilita les dreceres de teclat(&K) - + Toggles keyboard shortcuts on or off Activa o desactiva les dreceres de teclat - + Ctrl+` Ctrl+` - + &Preferences &Preferències - + Change Mixxx settings (e.g. playback, MIDI, controls) Canvia les opcions de Mixxx (p.ex. reproducció, MIDI, controladores) - + &Developer &Desenvolupador - + &Reload Skin &Recarrega l'aparença - + Reload the skin Recarrega l'aparença del disc - + Ctrl+Shift+R Ctrl+Majús+R - + Developer &Tools Eines de desenvolupador(&T) - + Opens the developer tools dialog Obre la finesta d'eines de desenvolupador - + Ctrl+Shift+T Ctrl+Majús+T - + Stats: &Experiment Bucket Estadístiques: Comptador &Experiment - + Enables experiment mode. Collects stats in the EXPERIMENT tracking bucket. Activa el mode experiment. Recupera les estadístiques corresponents al comptador EXPERIMENT. - + Ctrl+Shift+E Ctrl+Majús+E - + Stats: &Base Bucket Estadístiques: Comptador &Base - + Enables base mode. Collects stats in the BASE tracking bucket. Activa el mode bàsic. Recupera les estadístiques del comptador BASE. - + Ctrl+Shift+B Ctrl+Majús+B - + Deb&ugger Enabled Motor de dep&uració activat - + Enables the debugger during skin parsing Activa el motor de depuració durant el parseig de l'aparença - + Ctrl+Shift+D Ctrl+Majús+D - + &Help &Ajuda - + Show Keywheel menu title @@ -15933,74 +16040,74 @@ Això no es pot desfer! - + Show keywheel tooltip text - + F12 Menubar|View|Show Keywheel F12 - + &Community Support Suport de la &Comunitat - + Get help with Mixxx Obteniu ajuda sobre el Mixxx - + &User Manual Manual de l'&usuari - + Read the Mixxx user manual. Llegiu el manual de l'usuari de Mixxx. - + &Keyboard Shortcuts Dreceres de teclat(&K) - + Speed up your workflow with keyboard shortcuts. Fes les coses més ràpid amb les dreceres de teclat. - + &Settings directory Directori de &preferències - + Open the Mixxx user settings directory. Obre el directori de preferències d'usuari del Mixxx - + &Translate This Application &Traduïu aquesta aplicació - + Help translate this application into your language. Ajudeu a traduir aquesta aplicació a la vostra llengua. - + &About Sobre el Mixxx (&A) - + About the application Sobre l'aplicació @@ -16035,25 +16142,13 @@ Això no es pot desfer! WSearchLineEdit - - Clear input - Clear the search bar input field - Esborra el text - - - - Ctrl+F - Search|Focus - Ctrl+F - - - + Search noun Cerca - + Clear input Esborra el text @@ -16064,93 +16159,87 @@ Això no es pot desfer! Cerca... - + Clear the search bar input field Neteja el camp de la barra de cerca - - Enter a string to search for - Introduïu un text de cerca + + Return + Enter - - Use operators like bpm:115-128, artist:BooFar, -year:1990 - Utilitza operadors com bpm:115-128, artist:BooFar, -year:1990 + + Enter a string to search for. + - - For more information see User Manual > Mixxx Library - Per a més informació, feu un cop d'ull la Manual d'usuari > Llibreria del Mixxx + + Use operators like bpm:115-128, artist:BooFar, -year:1990. + - Shortcut - Drecera + See User Manual > Mixxx Library for more information. + - - Ctrl+F - Ctrl+F + + Focus/Select All (Search in current view) + Give search bar input focus + - - Focus - Give search bar input focus - Posa el cursor aquí + + Focus/Select All (Search in 'Tracks' library view) + - - - Ctrl+Backspace - Ctrl+Tecla de retrocés + + Additional Shortcuts When Focused: + - Shortcuts - tecles ràpides + Trigger search before search-as-you-type timeout or focus tracks view afterwards + - Return - Enter + Esc or Ctrl+Return + - Trigger search before search-as-you-type timeout orjump to tracks view afterwards + Immediately trigger search and focus tracks view + Exit search bar and leave focus - + Ctrl+Space Ctrl+Espai - + Toggle search history Shows/hides the search history entries commuta l'històric de cerques - + Delete or Backspace Suprimir o Retroceso - - Delete query from history - Esborra la consulta de l'històric - - - - Esc - Esc + + in search history + - - Exit search - Exit search bar and leave focus - Surt de la cerca + + Delete query from history + Esborra la consulta de l'històric @@ -16500,7 +16589,7 @@ Això no es pot desfer! Shift Beatgrid Half Beat - + Canvi quadrícula de ritme a Mig ritme @@ -16785,7 +16874,7 @@ Això no es pot desfer! Clear BPM and Beatgrid - + Esborra BPM i quadrícula de ritme @@ -16907,37 +16996,37 @@ Això no es pot desfer! WTrackTableView - + Confirm track hide Confirma la ocultació de pistes - + Are you sure you want to hide the selected tracks? - + Are you sure you want to remove the selected tracks from AutoDJ queue? - + Are you sure you want to remove the selected tracks from this crate? - + Are you sure you want to remove the selected tracks from this playlist? - + Don't ask again during this session No tornis a preguntar durant aquesta sessió - + Confirm track removal Confirma la eliminació de la pista @@ -16958,52 +17047,52 @@ Això no es pot desfer! mixxx::CoreServices - + fonts tipus de llegra - + database base de dades - + effects efectes - + audio interface interfície d'àudio - + decks reproductors - + library biblioteca - + Choose music library directory Seleccioneu la carpeta de la biblioteca de música. - + controllers controladors - + Cannot open database No es pot obrir la base de dades - + Unable to establish a database connection. Mixxx requires QT with SQLite support. Please read the Qt SQL driver documentation for information on how to build it. @@ -17017,68 +17106,78 @@ Feu click a Acceptar per sortir. mixxx::DlgLibraryExport - + Entire music library Biblioteca sencera - - Selected crates - Caixes seleccionades + + Crates + - + + Playlists + + + + + Selected crates/playlists + + + + Browse Navega - + Export directory Directori d'exportació - + Database version Versió de base de dades - + Export Exporta - + Cancel Cancel·la - + Export Library to Engine DJ "Engine DJ" must not be translated Exportar la llibreria a Engine DJ - + Export Library To Exportar la llibreria a - + No Export Directory Chosen No s'ha indicat un directori d'exportació - + No export directory was chosen. Please choose a directory in order to export the music library. - + A database already exists in the chosen directory. Exported tracks will be added into this database. - + A database already exists in the chosen directory, but there was a problem loading it. Export is not guaranteed to succeed in this situation. @@ -17099,7 +17198,7 @@ Feu click a Acceptar per sortir. mixxx::EnginePrimeExportJob - + Failed to export track %1 - %2: %3 %1 is the artist %2 is the title and %3 is the original error message @@ -17109,22 +17208,22 @@ Feu click a Acceptar per sortir. mixxx::LibraryExporter - + Export Completed Exportació finalitzada - - Exported %1 track(s) and %2 crate(s). - Exportat %1 pista(es) i %2 caixa(es). + + Exported %1 track(s), %2 crate(s), and %3 playlist(s). + - + Export Failed La exportació ha fallat - + Exporting to Engine DJ... Exportant a Engine DJ... diff --git a/res/translations/mixxx_cs.qm b/res/translations/mixxx_cs.qm index 93326d882b829f16fd40778c447f76559c382570..e122187571367ca84cbdf4a800a326ec47106221 100644 GIT binary patch delta 23323 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 delta 24311 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 Enable Auto DJ - + Spustit automatického diskžokeje Disable Auto DJ - + Zastavit automatického diskžokeje Clear Auto DJ Queue - + Vyprázdnit řadu automatického diskžokeje @@ -149,7 +149,7 @@ BasePlaylistFeature - + New Playlist Nový seznam skladeb @@ -160,7 +160,7 @@ - + Create New Playlist Vytvořit nový seznam skladeb @@ -190,113 +190,120 @@ Zdvojit - - + + Import Playlist Nahrát seznam skladeb - + Export Track Files Uložit soubory skladeb - + Analyze entire Playlist Rozebrat celý seznam skladeb - + Enter new name for playlist: Zadat nový název pro seznam skladeb: - + Duplicate Playlist Zdvojit seznam skladeb - - + + Enter name for new playlist: Zadat název pro nový seznam skladeb: - - + + Export Playlist Uložit seznam skladeb - + Add to Auto DJ Queue (replace) Přidat do řady skladeb automatického diskžokeje (nahradit) - + + + Export to Engine DJ + "Engine DJ" is a product name and must not be translated. + + + + Rename Playlist Přejmenovat seznam skladeb - - + + Renaming Playlist Failed Seznam skladeb se nepodařilo přejmenovat - - - + + + A playlist by that name already exists. Seznam skladeb s tímto názvem již existuje. - - - + + + A playlist cannot have a blank name. Seznam skladeb musí mít název. - + _copy //: Appendix to default name when duplicating a playlist _kopie - - - - - - + + + + + + Playlist Creation Failed Seznam skladeb se nepodařilo vytvořit - - + + An unknown error occurred while creating playlist: Při vytváření seznamu skladeb došlo k neznámé chybě: - + Confirm Deletion Potvrdit smazání - + Do you really want to delete playlist <b>%1</b>? Opravdu chcete seznam skladeb <b>%1</b> smazat? - + M3U Playlist (*.m3u) Seznam skladeb M3U (*.m3u) - + M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Text CSV (*.csv);;Readable Text (*.txt) Seznam skladeb M3U (*.m3u);;Seznam skladeb M3U8 (*.m3u8);;Seznam skladeb PLS (*.pls);;Text CSV (*.csv);;Prostý text (*.txt) @@ -304,12 +311,12 @@ BaseSqlTableModel - + # Č. - + Timestamp Časové razítko @@ -317,7 +324,7 @@ BaseTrackPlayerImpl - + Couldn't load track. Nepodařilo se nahrát skladbu. @@ -325,142 +332,142 @@ BaseTrackTableModel - + Album Album - + Album Artist Umělec alba - + Artist Umělec - + Bitrate Datový tok - + BPM MM - + Channels Kanály - + Color Barva - + Comment Poznámka - + Composer Skladatel - + Cover Art Obrázek obalu - + Date Added Datum přidání - + Last Played Naposledy hráno - + Duration Doba trvání - + Type Typ - + Genre Žánr - + Grouping Skupina - + Key Tónina - + Location Umístění - + Overview - + Preview Náhled - + Rating Hodnocení - + ReplayGain Vyrovnání hlasitosti - + Samplerate Vzorkovací kmitočet - + Played Hráno - + Title Název - + Track # Číslo skladby - + Year Rok - + Fetching image ... Tooltip text on the cover art column shown when the cover is read from disk Načítání obrázku ... @@ -609,6 +616,16 @@ "Computer" lets you navigate, view, and load tracks from folders on your hard disk and external devices. Počítač vám umožní pohyb ve skladbách, jejich zobrazení a nahrávání ze složek na pevném disku a vnějších zařízeních. + + + It shows the data from the file tags, not track data from your Mixxx library like other track views. + + + + + If you load a track file from here, it will be added to your library. + + BrowseTableModel @@ -3634,32 +3651,32 @@ trace - Výše + Profilování zpráv ControllerScriptEngineBase - + The functionality provided by this controller mapping will be disabled until the issue has been resolved. Funkce poskytované přiřazením tohoto ovladače budou až do vyřešení problému vypnuty. - + You can ignore this error for this session but you may experience erratic behavior. Nemusíte si pro toto sezení všímat této chyby, ale můžete zažít nevyzpytatelné chování. - + Try to recover by resetting your controller. Pokuste se o obnovu znovunastavením vašeho ovladače. - + Controller Mapping Error Chyba v přiřazení ovladače - + The mapping for your controller "%1" is not working properly. Přiřazení pro váš ovladač "%1" nefunguje správně. - + The script code needs to be fixed. Kód skriptu je potřeba opravit. @@ -3767,7 +3784,7 @@ trace - Výše + Profilování zpráv Nahrát přepravku - + Export Crate Uložit přepravku @@ -3777,7 +3794,7 @@ trace - Výše + Profilování zpráv Odemknout - + An unknown error occurred while creating crate: Při vytváření přepravky na desky nastala neznámá chyba: @@ -3803,17 +3820,17 @@ trace - Výše + Profilování zpráv Přejmenování přepravky se nezdařilo - + Crate Creation Failed Vytvoření přepravky se nezdařilo - + M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Text CSV (*.csv);;Readable Text (*.txt) Seznam skladeb M3U (*.m3u);;Seznam skladeb M3U8 (*.m3u8);;Seznam skladeb PLS (*.pls);;Text CSV (*.csv);;Prostý text (*.txt) - + M3U Playlist (*.m3u) Seznam skladeb M3U (*.m3u) @@ -3939,12 +3956,12 @@ trace - Výše + Profilování zpráv Přispěvatelé v minulosti - + Official Website Internetová stránka - + Donate Přispět @@ -4000,7 +4017,7 @@ trace - Výše + Profilování zpráv - + Analyze Analýza @@ -4045,17 +4062,17 @@ trace - Výše + Profilování zpráv Spustí rozpoznávání rytmické mřížky, tóniny a vyrovnání hlasitosti skladeb u vybraných skladeb. Nevytvoří pro vybrané skladby průběhové křivky kvůli ušetření místa na disku. - + Stop Analysis Zastavit rozbor - + Analyzing %1% %2/%3 Provádí se rozbor %1% %2/%3 - + Analyzing %1/%2 Provádí se rozbor %1/%2 @@ -4471,37 +4488,37 @@ Použijte toto nastavení, pokud mají vaše skladby stálé tempo (např. vět Když přiřazení nepracuje, zkuste níže povolit rozšířenou volbu, a potom ovládací prvek zkuste znovu. Nebo klepněte na Opakovat pro opětovné zjištění ovládání MIDI. - + Didn't get any midi messages. Please try again. Nepřijaty žádné zprávy MIDI. Zkuste to, prosím, znovu. - + Unable to detect a mapping -- please try again. Be sure to only touch one control at once. Nepodařilo se poznat žádné přiřazení - zkuste to, prosím, znovu. - + Successfully mapped control: Ovládací prvek úspěšně přiřazen: - + <i>Ready to learn %1</i> <i>Připraven k učení %1</i> - + Learning: %1. Now move a control on your controller. Učení: %1. Nyní posuňte ovládací prvek na svém ovladači. - + The selected control does not exist.<br>This likely a bug. Please report it on the Mixxx bug tracker.<br><a href='https://github.com/mixxxdj/mixxx/issues'>https://github.com/mixxxdj/mixxx/issues</a><br><br>You tried to learn: %1,%2 - + The control you clicked in Mixxx is not learnable. This could be because you are either using an old skin and this control is no longer supported, or you clicked a control that provides visual feedback and can only be mapped to outputs like LEDs via scripts. @@ -5207,114 +5224,114 @@ associated with each key. DlgPrefController - + Apply device settings? Použít nastavení zařízení? - + Your settings must be applied before starting the learning wizard. Apply settings and continue? Nastavení je nutné použít před spuštěním Průvodce učením. Použít nastavení a pokračovat? - + None Žádný - + %1 by %2 %1 od %2 - + Mapping has been edited Přiřazení bylo upraveno - + Always overwrite during this session Pokaždé přepsat během sezení - + Save As Uložit jako - + Overwrite Přepsat - + Save user mapping Uložit přiřazení uživatele - + Enter the name for saving the mapping to the user folder. Zadejte název pro uložení přiřazení do uživatelské složky. - + Saving mapping failed Uložení přiřazení selhalo - + A mapping cannot have a blank name and may not contain special characters. Přiřazení nesmí mít prázdný název a neměl by obsahovat zvláštní znaky. - + A mapping file with that name already exists. Soubor přiřazení s tímto názvem již existuje. - + Do you want to save the changes? Chcete uložit změny? - + Troubleshooting Odstraňování závad - + <font color='#BB0000'><b>If you use this mapping your controller may not work correctly. Please select another mapping or disable the controller.</b></font><br><br>This mapping was designed for a newer Mixxx Controller Engine and cannot be used on your current Mixxx installation.<br>Your Mixxx installation has Controller Engine version %1. This mapping requires a Controller Engine version >= %2.<br><br>For more information visit the wiki page on <a href='https://mixxx.org/wiki/doku.php/controller_engine_versions'>Controller Engine Versions</a>. <font color='#BB0000'><b>Pokud používáte toto přiřazení, váš ovladač nemusí pracovat správně. Vyberte prosím další přiřazení nebo vypnutí ovladače.</b></font><br><br>Toto přiřazení bylo navrženo pro novější ovladač stroje Mixxx a nelze je použít při vaší nynější instalaci Mixxx.<br>Vaše instalace Mixxx má verzi ovladače stroje %1. Toto přiřazení vyžaduje verzi ovladače stroje> = %2.<br><br>Pro více informací navštivte stránku wiki <a href='https://mixxx.org/wiki/doku.php/controller_engine_versions'>Verze ovladače stroje</a>. - + Mapping already exists. Přiřazení již existuje. - + <b>%1</b> already exists in user mapping folder.<br>Overwrite or save with a new name? <b>%1</b> již existuje v uživatelské složce přiřazení.<br>Přepsat nebo uložit pod novým názvem? - + Clear Input Mappings Smazat přiřazení vstupu - + Are you sure you want to clear all input mappings? Jste si jistý, že chcete smazat všechna přiřazení vstupu? - + Clear Output Mappings Smazat přiřazení výstupu - + Are you sure you want to clear all output mappings? Jste si jistý, že chcete smazat všechna přiřazení výstupu? @@ -5645,6 +5662,16 @@ Použít nastavení a pokračovat? Multi-Sampling Vícenásobné vzorkování + + + Force 3D acceleration + + + + + If checked, Mixxx will always assume 3D acceleration is available. This may lead to pour performance if only CP-backed rendering is available.. + + Start in full-screen mode @@ -6259,62 +6286,62 @@ Vždy můžete přetažením skladeb na obrazovce naklonovat přehrávač. DlgPrefInterface - + The minimum size of the selected skin is bigger than your screen resolution. Nejmenší velikost vybraného vzhledu je větší než rozlišení vaší obrazovky. - + Allow screensaver to run Povolit běh spořiče obrazovky - + Prevent screensaver from running Zabránit spořiči obrazovky v běhu - + Prevent screensaver while playing Zabránit spořiči obrazovky v běhu během přehrávání - + Disabled Zakázáno - + 2x MSAA 2x MSAA - + 4x MSAA 4x MSAA - + 8x MSAA 8x MSAA - + 16x MSAA 16x MSAA - + This skin does not support color schemes Tento vzhled nepodporuje barevná schémata - + Information Informace - + Mixxx must be restarted before the new locale, scaling or multi-sampling settings will take effect. Předtím než se změny, škálování nebo vícenásobné vzorkování projeví, bude se muset Mixxx spustit znovu. @@ -7484,175 +7511,174 @@ Cílová hlasitost zvuku je přibližná a předpokládá se, že předzesílen DlgPrefSound - + %1 Hz %1 Hz - + Default (long delay) Výchozí (dlouhé zpoždění) - + Experimental (no delay) Pokusné (žádné zpoždění) - + Disabled (short delay) Zakázáno (krátké zpoždění) - + Soundcard Clock Hodiny zvukové karty - + Network Clock Hodiny sítě - + Direct monitor (recording and broadcasting only) Přímý dohled (pouze nahrávání a vysílání) - + Disabled Zakázáno - + Enabled Povoleno - + Stereo Stereo - + Mono Mono - + To enable Realtime scheduling (currently disabled), see the %1. Povolit zařazování do rozvrhu (nyní vypnuto), podívejte se na %1. - + The %1 lists sound cards and controllers you may want to consider for using Mixxx. %1 uvádí zvukové karty a ovladače, které byste měli zvážit při používání Mixxxu. - + Mixxx DJ Hardware Guide Průvodce technickým vybavením pro DJ Mixxx - + Information - + Mixxx must be restarted before the multi-threaded RubberBand setting change will take effect. - + auto (<= 1024 frames/period) automaticky (<= 1024 snímků/periodu) - + 2048 frames/period 2048 snímků/periodu - + 4096 frames/period 4096 snímků/periodu - + Are you sure? - + Distribute stereo channels into mono channels for parallel processing will result in a loss of mono compatibility and a diffuse stereo image. It is not recommended during broadcasting or recording. - + Are you sure you wish to proceed? - + No - + Yes, I know what I am doing - + Microphone inputs are out of time in the record & broadcast signal compared to what you hear. Mikrofonní vstupy jsou při nahrávání a vysílaní zpožděny v porovnání s tím, co slyšíte. - + Measure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. Změřte prodlevu zpoždění a zadejte ji výše pro prodlevu mikrofonu. Kompenzace pro přizpůsobení načasování mikrofonu. - - + Refer to the Mixxx User Manual for details. Nahlédněte do uživatelské příručky k Mixxxu, kde jsou podrobnosti. - + Configured latency has changed. Nastavená prodleva se změnila. - + Remeasure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. Opakujte nastavení zpoždění a zadejte ji výše pro latenci mikrofonu Kompenzace pro přizpůsobení načasování mikrofonu. - + Realtime scheduling is enabled. Je povoleno zařazování do rozvrhu ve skutečném čase. - + Main output only Pouze hlavní výstup - + Main and booth outputs Hlavní výstup a výstup kukaně - + %1 ms %1 ms - + Configuration error Chyba nastavení @@ -7670,131 +7696,131 @@ Kompenzace pro přizpůsobení načasování mikrofonu. Zvukové API - + Sample Rate Vzorkovací kmitočet - + Audio Buffer Vyrovnávací paměť zvuku - + Engine Clock Hodiny stroje - + Use soundcard clock for live audience setups and lowest latency.<br>Use network clock for broadcasting without a live audience. Použijte hodiny zvukové karty pro nachystání pro živé obecenstvo a nejnižší časy prodlevy.<br>Použijte síťové hodiny pro vysílání bez živého obecenstva. - + Main Mix Hlavní míchání - + Main Output Mode Režim hlavního výstupu - + Microphone Monitor Mode Režim sledování mikrofonu - + Microphone Latency Compensation Náhrada za prodlevu mikrofonu - - - - + + + + ms milliseconds ms - + 20 ms 20 ms - + Buffer Underflow Count Počítadlo podtečení vyrovnávací paměti - + 0 0 - + Keylock/Pitch-Bending Engine Stroj na uzamčení tóniny/měnění výšek tónů - + Multi-Soundcard Synchronization Seřízení více karet - + Output Výstup - + Input Vstup - + System Reported Latency Systémem hlášená prodleva - + Enlarge your audio buffer if the underflow counter is increasing or you hear pops during playback. Zvětšete vyrovnávací paměť zvuku, když se zvýší počítadlo podtečení nebo během přehrávání slyšíte výpadky. - + Main Output Delay Zpoždění hlavního výstupu - + Headphone Output Delay Zpoždění výstupu sluchátek - + Booth Output Delay Zpoždění hlavní kukaně - + Dual-threaded Stereo - + Hints and Diagnostics Rady a diagnostika - + Downsize your audio buffer to improve Mixxx's responsiveness. Zmenšete vyrovnávací paměť zvuku, abyste zlepšili reakční schopnost Mixxxu. - + Query Devices Oslovit zařízení @@ -9354,27 +9380,27 @@ Použijte toto nastavení, pokud mají vaše skladby stálé tempo (např. vět EngineBuffer - + Soundtouch (faster) Soundtouch (rychlejší) - + Rubberband (better) Rubberband (lepší) - + Rubberband R3 (near-hi-fi quality) Rubberband R3 (kvalita poblíž hi-fi) - + Unknown, using Rubberband (better) Neznámé zařízení používající Rubberband (lepší) - + Unknown, using Soundtouch Neznámý, používám Soundtouch @@ -9589,15 +9615,15 @@ Použijte toto nastavení, pokud mají vaše skladby stálé tempo (např. vět LegacySkinParser - - + + Safe Mode Enabled Shown when Mixxx is running in safe mode. Bezpečný režim povolen - - + + No OpenGL support. Shown when Spinny can not be displayed. Please keep @@ -9609,57 +9635,57 @@ Shown when VuMeter can not be displayed. Please keep pro OpenGL. - + activate Zapnout - + toggle Přepnout - + right Vpravo - + left Vlevo - + right small Trochu doprava - + left small Trochu doleva - + up Nahoru - + down Dolů - + up small Trochu nahoru - + down small Trochu dolů - + Shortcut Klávesová zkratka @@ -9667,62 +9693,62 @@ pro OpenGL. Library - + This or a parent directory is already in your library. - + This or a listed directory does not exist or is inaccessible. Aborting the operation to avoid library inconsistencies - - + + This directory can not be read. - + An unknown error occurred. Aborting the operation to avoid library inconsistencies - + Can't add Directory to Library - + Could not add <b>%1</b> to your library. %2 - + Can't remove Directory from Library - + An unknown error occurred. - + This directory does not exist or is inaccessible. - + Relink Directory - + Could not relink <b>%1</b> to <b>%2</b>. %3 @@ -9732,22 +9758,22 @@ Aborting the operation to avoid library inconsistencies LibraryFeature - + Import Playlist Nahrát seznam skladeb - + Playlist Files (*.m3u *.m3u8 *.pls *.csv) Soubory se seznamy skladeb (*.m3u *.m3u8 *.pls *.csv) - + Overwrite File? Přepsat soubor? - + A playlist file with the name "%1" already exists. The default "m3u" extension was added because none was specified. @@ -9901,253 +9927,253 @@ Opravdu chcete přepsat soubor? MixxxMainWindow - + Sound Device Busy Zvukové zařízení je zaneprázdněné - + <b>Retry</b> after closing the other application or reconnecting a sound device <b>Zopakovat</b> pokus o připojení po zavření jiného programu nebo po opětovném připojení zvukového zařízení - - - + + + <b>Reconfigure</b> Mixxx's sound device settings. <b>Nastavit znovu</b> nastavení zvukových zařízení programu Mixxx. - - + + Get <b>Help</b> from the Mixxx Wiki. Získejte <b>nápovědu</b> z Mixxx Wiki. - - - + + + <b>Exit</b> Mixxx. <b>Ukončit</b> Mixxx. - + Retry Opakovat - + skin vzhled - + Allow Mixxx to hide the menu bar? - + Hide Always show the menu bar? - + Always show - + The Mixxx menu bar is hidden and can be toggled with a single press of the <b>Alt</b> key.<br><br>Click <b>%1</b> to agree.<br><br>Click <b>%2</b> to disable that, for example if you don't use Mixxx with a keyboard.<br><br>You can change this setting any time in Preferences -> Interface.<br> Keep formatting tags <b> (bold text) and <br> (linebreak). %1 is the placeholder for the 'Always show' button label - + Ask me again - - + + Reconfigure Nastavit znovu - + Help Nápověda - - + + Exit Ukončit - - + + Mixxx was unable to open all the configured sound devices. Mixxx nebyl schopen otevřít všechna nastavená zvuková zařízení. - + Sound Device Error Chyba zvukového zařízení - + <b>Retry</b> after fixing an issue Po spravení této záležitosti <b>Zkusit znovu</b> - + No Output Devices Žádná výstupní zařízení - + Mixxx was configured without any output sound devices. Audio processing will be disabled without a configured output device. Mixxx byl nastaven bez zařízení pro výstup zvuku. Zpracování zvuku bude bez nastaveného výstupního zařízení vypnuto. - + <b>Continue</b> without any outputs. <b>Pokračovat</b> bez jakéhokoli výstupu. - + Continue Pokračovat - + Load track to Deck %1 Nahrát skladbu do přehrávací mechaniky %1 - + Deck %1 is currently playing a track. Přehrávací mechanika %1 nyní přehrává skladbu. - + Are you sure you want to load a new track? Jste si jistý, že chcete nahrát novou skladbu? - + There is no input device selected for this vinyl control. Please select an input device in the sound hardware preferences first. Není vybráno žádné vstupní zařízení pro toto ovládání vinylovou gramodeskou. Nejprve, prosím, vyberte nějaké vstupní zařízení v nastavení zvukového technického vybavení. - + There is no input device selected for this passthrough control. Please select an input device in the sound hardware preferences first. Není vybráno žádné vstupní zařízení pro toto ovládání předání dál. Nejprve, prosím, vyberte nějaké vstupní zařízení v nastavení zvukového technického vybavení. - + There is no input device selected for this microphone. Do you want to select an input device? Pro tento mikrofon nebylo zjištěno žádné vstupní zařízení. Chcete vybrat vstupní zařízení? - + There is no input device selected for this auxiliary. Do you want to select an input device? Pro tuto pomocnou jednotku nebylo zjištěno žádné vstupní zařízení. Chcete vybrat vstupní zařízení? - + Scan took %1 - + No changes detected. - - + + %1 tracks in total - + %1 new tracks found - + %1 moved tracks detected - + %1 tracks are missing (%2 total) - + %1 tracks have been rediscovered - + Library scan finished - + Error in skin file Chyba v souboru se vzhledem - + The selected skin cannot be loaded. Nelze nahrát vybraný vzhled. - + OpenGL Direct Rendering Přímé vykreslování OpenGL - + Direct rendering is not enabled on your machine.<br><br>This means that the waveform displays will be very<br><b>slow and may tax your CPU heavily</b>. Either update your<br>configuration to enable direct rendering, or disable<br>the waveform displays in the Mixxx preferences by selecting<br>"Empty" as the waveform display in the 'Interface' section. Přímé vykreslování není na vašem stroji povoleno.<br><br>Znamená to, že zobrazování průběhové křivky bude velmi<br><b>pomalé a může hodně zatěžovat procesor</b>. Buď aktualizujte své<br>nastavení a povolte přímé vykreslování, nebo zakažte<br>zobrazování průběhové křivky v nastavení Mixxxu volbou<br>"Prázdný" jako zobrazování průběhové křivky v části 'Rozhraní'. - - - + + + Confirm Exit Potvrdit ukončení - + A deck is currently playing. Exit Mixxx? Některá z přehrávacích mechanik hraje. Ukončit Mixxx? - + A sampler is currently playing. Exit Mixxx? Vzorkovač nyní hraje. Ukončit Mixxx? - + The preferences window is still open. Okno s nastavením je stále otevřené. - + Discard any changes and exit Mixxx? Zahodit všechny změny a ukončit Mixxx? @@ -10163,13 +10189,13 @@ Chcete vybrat vstupní zařízení? PlaylistFeature - + Lock Zamknout - - + + Playlists Seznamy skladeb @@ -10179,32 +10205,58 @@ Chcete vybrat vstupní zařízení? Zamíchat seznam skladeb - + + Unlock all playlists + + + + + Delete all unlocked playlists + + + + Unlock Odemknout - + + + Confirm Deletion + + + + + Do you really want to delete all unlocked playlists? + + + + + Deleting %1 unlocked playlists.<br>This operation can not be undone! + + + + Playlists are ordered lists of tracks that allow you to plan your DJ sets. Seznamy skladeb jsou uspořádané seznamy skladeb, které vám umožňují plánovat vaše seznamy skladeb při míchání. - + It may be necessary to skip some tracks in your prepared playlist or add some different tracks in order to maintain the energy of your audience. Může být nezbytné přeskočit některé skladby v předpřipraveném seznamu skladeb nebo přidat několik nových skladeb pro udržení posluchačů při síle. - + Some DJs construct playlists before they perform live, but others prefer to build them on-the-fly. Někteří diskžokejové sestavují seznamy skladeb, předtím než vystoupí živě, ale jiní upřednostňují jejich tvoření bez rozmýšlení. - + When using a playlist during a live DJ set, remember to always pay close attention to how your audience reacts to the music you've chosen to play. Když používáte seznam skladeb během míchání, dávejte vždy obzvláštní pozor na to, jak hudba, kterou hrajete, účinkuje na posluchačstvo. - + Create New Playlist Vytvořit nový seznam skladeb @@ -11865,7 +11917,7 @@ Nápověda: vyvažuje „čipmánčí“ nebo „vrčící“ hlasyMíra zesílení použitého na zvukový signál. Ve vyšších úrovních bude zvuk více zkreslený. - + Passthrough Propustit skrz @@ -12029,12 +12081,12 @@ may introduce a 'pumping' effect and/or distortion. - + built-in - + missing @@ -12162,54 +12214,54 @@ may introduce a 'pumping' effect and/or distortion. RekordboxFeature - - - + + + Rekordbox Rekordbox - + Playlists Seznamy skladeb - + Folders Složky - + Reads databases exported for Pioneer CDJ / XDJ players using the Rekordbox Export mode.<br/>Rekordbox can only export to USB or SD devices with a FAT or HFS file system.<br/>Mixxx can read a database from any device that contains the database folders (<tt>PIONEER</tt> and <tt>Contents</tt>).<br/>Not supported are Rekordbox databases that have been moved to an external device via<br/><i>Preferences > Advanced > Database management</i>.<br/><br/>The following data is read: Čte databáze vyvedené pro přehrávače Pioneer CDJ / XDJ pomocí režimu Rekordbox Export.<br/>Rekordbox může ukládat pouze na zařízení USB nebo SD se systémem souborů FAT nebo HFS.<br/>Mixxx dokáže číst databázi z jakéhokoli zařízení, které obsahuje složky databáze (<tt>PIONEER</tt> a <tt>Contents</tt>).<br/>Podporovány nejsou databáze Rekordbox, které byly přesunuty na vnější zařízení přes<br/><i> Nastavení → Pokročilé → Správa databáze</i>.<br/><br/>Čtou se následující data: - + Hot cues Rychlé značky - + Loops (only the first loop is currently usable in Mixxx) Smyčky (pouze první smyčka je v Mixxxu aktuálně nepoužitelná) - + Check for attached Rekordbox USB / SD devices (refresh) Zkontrolovat připojená zařízení Rekordbox USB / SD (obnovit) - + Beatgrids Rytmické mřížky - + Memory cues Paměťové klíče - + (loading) Rekordbox (nahrává se) Rekordbox @@ -15454,47 +15506,47 @@ Tento krok nelze vrátit zpět! WCueMenuPopup - + Cue number Číslo značky - + Cue position Poloha značky - + Edit cue label Upravit popisek značky - + Label... Popisek... - + Delete this cue Smazat tuto značku - + Toggle this cue type between normal cue and saved loop - + Left-click: Use the old size or the current beatloop size as the loop size - + Right-click: Use the current play position as loop end if it is after the cue - + Hotcue #%1 Rychlá značka #%1 @@ -15619,323 +15671,353 @@ Tento krok nelze vrátit zpět! + Search in Current View... + + + + + Search for tracks in the current library view + + + + + Ctrl+f + + + + + Search in Tracks Library... + + + + + Search in the internal track collection under "Tracks" in the library + + + + + Ctrl+Shift+F + + + + Create &New Playlist Vytvořit &nový seznam skladeb - + Create a new playlist Vytvořit nový seznam skladeb - + Ctrl+n Ctrl+N - + Create New &Crate Vytvořit novou &přepravku - + Create a new crate Vytvořit novou přepravku - + Ctrl+Shift+N Ctrl+Shift+N - - + + &View &Pohled - + Auto-hide menu bar - + Auto-hide the main menu bar when it's not used. - + May not be supported on all skins. Nebude pravděpodobně podporován všemi vzhledy. - + Show Skin Settings Menu Ukázat nabídku nastavení vzhledu - + Show the Skin Settings Menu of the currently selected Skin Ukázat nabídku nastavení vzhledu nyní vybraného vzhledu - + Ctrl+1 Menubar|View|Show Skin Settings Ctrl+1 - + Show Microphone Section Ukázat mikrofony - + Show the microphone section of the Mixxx interface. Ukázat oblast s mikrofonem rozhraní Mixxxu. - + Ctrl+2 Menubar|View|Show Microphone Section Ctrl+2 - + Show Vinyl Control Section Ukázat ovládání vinylem - + Show the vinyl control section of the Mixxx interface. Ukázat oblast ovládání vinylovou gramodeskou v rozhraní Mixxxu. - + Ctrl+3 Menubar|View|Show Vinyl Control Section Ctrl+3 - + Show Preview Deck Ukázat přehrávač náhledu - + Show the preview deck in the Mixxx interface. Ukázat oblast s přehrávač náhledu v rozhraní Mixxxu. - + Ctrl+4 Menubar|View|Show Preview Deck Ctrl+4 - + Show Cover Art Ukázat obal - + Show cover art in the Mixxx interface. Ukázat obal v rozhraní Mixxxu. - + Ctrl+6 Menubar|View|Show Cover Art Ctrl+6 - + Maximize Library Zvětšit okno knihovny - + Maximize the track library to take up all the available screen space. Zvětšit knihovnu skladeb tak, aby zabírala veškerý na obrazovce dostupný prostor. - + Space Menubar|View|Maximize Library Mezerník - + &Full Screen Na &celou obrazovku - + Display Mixxx using the full screen Zobrazit Mixxx v režimu celé obrazovky - + &Options &Volby - + &Vinyl Control Ovládání &vinylem - + Use timecoded vinyls on external turntables to control Mixxx Použít vinylové gramodesky s časovým kódem k ovládání programu Mixxx vnějšími přehrávači (gramofony) - + Enable Vinyl Control &%1 Povolit ovládání vinylem &%1 - + &Record Mix Nah&rát míchání - + Record your mix to a file Nahrát míchání do souboru - + Ctrl+R Ctrl+R - + Enable Live &Broadcasting &Povolit živé vysílání - + Stream your mixes to a shoutcast or icecast server Vysílat vaše míchání na server shoutcast nebo icecast - + Ctrl+L Ctrl+L - + Enable &Keyboard Shortcuts Povolit &klávesové zkratky - + Toggles keyboard shortcuts on or off Zapnout/Vypnout klávesové zkratky - + Ctrl+` Ctrl+` - + &Preferences &Nastavení - + Change Mixxx settings (e.g. playback, MIDI, controls) Změnit nastavení Mixxxu (např. přehrávání, MIDI, ovládací prvky) - + &Developer &Vývojář - + &Reload Skin Nahrát vzhled &znovu - + Reload the skin Nahrát vzhled znovu - + Ctrl+Shift+R Ctrl+Shift+R - + Developer &Tools Vývojářské &nástroje - + Opens the developer tools dialog Otevře dialog vývojářských nástrojů - + Ctrl+Shift+T Ctrl+Shift+T - + Stats: &Experiment Bucket Statistiky: &Pokusný kýbl - + Enables experiment mode. Collects stats in the EXPERIMENT tracking bucket. Zapne pokusný režim. Sbírá statistiky do POKUSNÉHO sledovacího kýblu. - + Ctrl+Shift+E Ctrl+Shift+E - + Stats: &Base Bucket Statistiky: &Základní kýbl - + Enables base mode. Collects stats in the BASE tracking bucket. Zapne základní režim. Sbírá statistiky do ZÁKLADNÍHO sledovacího kýblu. - + Ctrl+Shift+B Ctrl+Shift+B - + Deb&ugger Enabled &Ladění povoleno - + Enables the debugger during skin parsing Zapne ladiče během zpracování vzhledu - + Ctrl+Shift+D Ctrl+Shift+D - + &Help &Nápověda - + Show Keywheel menu title Zobrazit kolo klíčů @@ -15952,74 +16034,74 @@ Tento krok nelze vrátit zpět! - + Show keywheel tooltip text Zobrazit kolo klíčů - + F12 Menubar|View|Show Keywheel F12 - + &Community Support Podpora &společenství - + Get help with Mixxx Dostat nápovědu k Mixxxu - + &User Manual &Uživatelská příručka - + Read the Mixxx user manual. Číst uživatelskou příručku k Mixxxu. - + &Keyboard Shortcuts &Klávesové zkratky - + Speed up your workflow with keyboard shortcuts. Zrychlit pracovní postup s klávesovými zkratkami - + &Settings directory Adresář &nastavení - + Open the Mixxx user settings directory. Otevřít adresář uživatelských nastavení Mixxx. - + &Translate This Application &Překlad - + Help translate this application into your language. Pomozte přeložit tento program do svého jazyka. - + &About &O programu - + About the application O tomto programu @@ -16054,25 +16136,13 @@ Tento krok nelze vrátit zpět! WSearchLineEdit - - Clear input - Clear the search bar input field - Vyčistit vstup - - - - Ctrl+F - Search|Focus - Ctrl+F - - - + Search noun Hledat - + Clear input Vyčistit vstup @@ -16083,93 +16153,87 @@ Tento krok nelze vrátit zpět! Hledat... - + Clear the search bar input field Vyprázdnit zadávací pole vyhledávacího řádku - - Enter a string to search for - Zadejte řetězec k vyhledání + + Return + Návrat - - Use operators like bpm:115-128, artist:BooFar, -year:1990 - Použít operátory jako je MM:115-128, artist:BooFar, -year:1990 + + Enter a string to search for. + - - For more information see User Manual > Mixxx Library - Na další informace se podívejte v Uživatelská příručka → Knihovna Mixxxu + + Use operators like bpm:115-128, artist:BooFar, -year:1990. + - Shortcut - Klávesová zkratka + See User Manual > Mixxx Library for more information. + - - Ctrl+F - Ctrl+F + + Focus/Select All (Search in current view) + Give search bar input focus + - - Focus - Give search bar input focus - Zaměření + + Focus/Select All (Search in 'Tracks' library view) + - - - Ctrl+Backspace - Ctrl+Backspace + + Additional Shortcuts When Focused: + - Shortcuts - Klávesové zkratky + Trigger search before search-as-you-type timeout or focus tracks view afterwards + - Return - Návrat + Esc or Ctrl+Return + - Trigger search before search-as-you-type timeout orjump to tracks view afterwards - Spusťte hledání před vypršením časového limitu zadávání hledání nebo přeskočte na zobrazení skladeb + Immediately trigger search and focus tracks view + Exit search bar and leave focus + - + Ctrl+Space Ctrl+mezerník - + Toggle search history Shows/hides the search history entries Přepnout historii vyhledávání - + Delete or Backspace Delete nebo Backspace - - Delete query from history - Odstranit dotaz z historie - - - - Esc - Esc + + in search history + - - Exit search - Exit search bar and leave focus - Ukončit hledání + + Delete query from history + Odstranit dotaz z historie @@ -16925,37 +16989,37 @@ Tento krok nelze vrátit zpět! WTrackTableView - + Confirm track hide Potvrdit skrytí skladby - + Are you sure you want to hide the selected tracks? Opravdu chcete skrýt vybrané skladby? - + Are you sure you want to remove the selected tracks from AutoDJ queue? Opravdu chcete odstranit vybrané skladby z řady automatického diskžokeje? - + Are you sure you want to remove the selected tracks from this crate? Opravdu chcete odstranit vybrané skladby z této přepravky? - + Are you sure you want to remove the selected tracks from this playlist? Opravdu chcete odstranit vybrané skladby z tohoto seznamu skladeb? - + Don't ask again during this session Příště se během tohoto sezení neptat - + Confirm track removal Potvrdit odstranění skladby @@ -16976,52 +17040,52 @@ Tento krok nelze vrátit zpět! mixxx::CoreServices - + fonts písma - + database databáze - + effects efekty - + audio interface rozhraní zvuku - + decks Přehrávače - + library knihovna - + Choose music library directory Vybrat adresář s hudební knihovnou - + controllers ovladače - + Cannot open database Nelze otevřít databázi - + Unable to establish a database connection. Mixxx requires QT with SQLite support. Please read the Qt SQL driver documentation for information on how to build it. @@ -17035,68 +17099,78 @@ Stiskněte OK pro ukončení. mixxx::DlgLibraryExport - + Entire music library Knihovna veškeré hudby - - Selected crates - Vybrané přepravky + + Crates + + + + + Playlists + - + + Selected crates/playlists + + + + Browse Procházení - + Export directory Uložit adresář - + Database version Verze databáze - + Export Uložit - + Cancel Zrušit - + Export Library to Engine DJ "Engine DJ" must not be translated - + Export Library To Uložit knihovnu do - + No Export Directory Chosen Nebyl vybrán žádný ukládací adresář - + No export directory was chosen. Please choose a directory in order to export the music library. Nebyl vybrán žádný ukládací adresář. Vyberte adresář, do kterého chcete uložit knihovnu s hudbou. - + A database already exists in the chosen directory. Exported tracks will be added into this database. Databáze ve vybraném adresáři již existuje. Uložené skladby budou přidány do této databáze. - + A database already exists in the chosen directory, but there was a problem loading it. Export is not guaranteed to succeed in this situation. Databáze ve zvoleném adresáři již existuje, ale nastal problém s načítáním. Uložení v této situaci nezaručuje úspěch. @@ -17117,7 +17191,7 @@ Stiskněte OK pro ukončení. mixxx::EnginePrimeExportJob - + Failed to export track %1 - %2: %3 %1 is the artist %2 is the title and %3 is the original error message @@ -17127,22 +17201,22 @@ Stiskněte OK pro ukončení. mixxx::LibraryExporter - + Export Completed Uložení dokončeno - - Exported %1 track(s) and %2 crate(s). - Exportován(y) %1 skladba(y) a %2 přepravka(y). + + Exported %1 track(s), %2 crate(s), and %3 playlist(s). + - + Export Failed Uložení selhalo - + Exporting to Engine DJ... diff --git a/res/translations/mixxx_de.qm b/res/translations/mixxx_de.qm index fc4aca801b4a358955f2880b661a38cef4a7921c..dc369d8dc6e86ef5f37e482e7ee5372dcf2b1cb8 100644 GIT binary patch delta 30866 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 delta 25616 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 This can not be undone. - + Dies kann nicht rückgängig gemacht werden. @@ -148,7 +148,7 @@ BasePlaylistFeature - + New Playlist Neue Wiedergabeliste @@ -159,7 +159,7 @@ - + Create New Playlist Neue Wiedergabeliste erstellen @@ -189,113 +189,120 @@ Duplizieren - - + + Import Playlist Wiedergabeliste importieren - + Export Track Files Track-Dateien exportieren - + Analyze entire Playlist Gesamte Wiedergabeliste analysieren - + Enter new name for playlist: Einen neuen Namen für die Wiedergabeliste eingeben: - + Duplicate Playlist Wiedergabeliste duplizieren - - + + Enter name for new playlist: Einen Namen für die neue Wiedergabeliste eingeben: - - + + Export Playlist Wiedergabeliste exportieren - + Add to Auto DJ Queue (replace) Zur Auto-DJ Warteschlange hinzufügen (Ersetzen) - + + + Export to Engine DJ + "Engine DJ" is a product name and must not be translated. + + + + Rename Playlist Wiedergabeliste umbenennen - - + + Renaming Playlist Failed Umbenennen der Wiedergabeliste fehlgeschlagen - - - + + + A playlist by that name already exists. Eine Wiedergabeliste mit diesem Namen existiert bereits. - - - + + + A playlist cannot have a blank name. Eine Wiedergabeliste muss einen Namen haben. - + _copy //: Appendix to default name when duplicating a playlist _Kopie - - - - - - + + + + + + Playlist Creation Failed Erstellen der Wiedergabeliste fehlgeschlagen - - + + An unknown error occurred while creating playlist: Ein unbekannter Fehler ist beim Erstellen der Wiedergabeliste aufgetreten: - + Confirm Deletion Löschen bestätigen - + Do you really want to delete playlist <b>%1</b>? Möchten Sie die Wiedergabeliste<b>%1</b> wirklich löschen? - + M3U Playlist (*.m3u) M3U-Wiedergabeliste (*.m3u) - + M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Text CSV (*.csv);;Readable Text (*.txt) M3U-Wiedergabeliste (*.m3u);;M3U8-Wiedergabeliste (*.m3u8);;PLS-Wiedergabeliste (*.pls);;CSV (*.csv);;Normaler Text (*.txt) @@ -303,12 +310,12 @@ BaseSqlTableModel - + # # - + Timestamp Zeitstempel @@ -316,7 +323,7 @@ BaseTrackPlayerImpl - + Couldn't load track. Track konnte nicht geladen werden. @@ -324,142 +331,142 @@ BaseTrackTableModel - + Album Album - + Album Artist Album-Interpret - + Artist Interpret - + Bitrate Bitrate - + BPM BPM - + Channels Kanäle - + Color Farbe - + Comment Kommentar - + Composer Komponist - + Cover Art Cover-Bild - + Date Added Hinzugefügt am - + Last Played Zuletzt gespielt - + Duration Dauer - + Type Typ - + Genre Genre - + Grouping Gruppierung - + Key Tonart - + Location Speicherort - + Overview - + Übersicht - + Preview Vorhören - + Rating Bewertung - + ReplayGain ReplayGain - + Samplerate Abtastrate - + Played Gespielt - + Title Titel - + Track # Track Nr. - + Year Jahr - + Fetching image ... Tooltip text on the cover art column shown when the cover is read from disk Bild abrufen ... @@ -608,6 +615,16 @@ "Computer" lets you navigate, view, and load tracks from folders on your hard disk and external devices. Sie können Ordner auf Ihrer Festplatte und externen Geräten durchsuchen, sich Tracks anzeigen lassen und diese laden. + + + It shows the data from the file tags, not track data from your Mixxx library like other track views. + + + + + If you load a track file from here, it will be added to your library. + + BrowseTableModel @@ -805,7 +822,7 @@ Rescans the library when Mixxx is launched. - + Scannt die Bibliothek erneut wenn Mixxx gestartet wird @@ -2462,7 +2479,7 @@ trace - Wie oben + Profiling-Meldungen Move Beatgrid Half a Beat - + Beatgrid eine halben Beat verschieben @@ -2473,12 +2490,12 @@ trace - Wie oben + Profiling-Meldungen Toggle the BPM/beatgrid lock - + BPM-/Beatgrid-Sperre umschalten Revert last BPM/Beatgrid Change - + BPM/Beatgrid-Änderung rückgängig machen @@ -2665,13 +2682,13 @@ trace - Wie oben + Profiling-Meldungen Sort hotcues by position - + Hotcues nach Position sortieren Sort hotcues by position (remove offsets) - + Hotcues nach Position sortieren (Versatz entfernen) @@ -2762,7 +2779,7 @@ trace - Wie oben + Profiling-Meldungen if the track has no beats the unit is seconds - + wenn der Track keine Beats hat ist die Einheit Sekunden @@ -3526,7 +3543,7 @@ trace - Wie oben + Profiling-Meldungen Unknown - + Unbekannt @@ -3631,32 +3648,32 @@ trace - Wie oben + Profiling-Meldungen ControllerScriptEngineBase - + The functionality provided by this controller mapping will be disabled until the issue has been resolved. Die von diesem Controller-Mapping bereitgestellten Funktionen werden deaktiviert, bis das Problem behoben ist. - + You can ignore this error for this session but you may experience erratic behavior. Sie können den Fehler für diese Sitzung ignorieren, es kann aber zu unvorhergesehenem Verhalten kommen. - + Try to recover by resetting your controller. Versuchen Sie, Ihren Controller durch aus-/anschalten zurückzusetzen. - + Controller Mapping Error Fehler im Controller-Mapping - + The mapping for your controller "%1" is not working properly. Das Mapping für Ihren Controller "%1" funktioniert nicht richtig. - + The script code needs to be fixed. Der Skript-Code muss korrigiert werden. @@ -3764,7 +3781,7 @@ trace - Wie oben + Profiling-Meldungen Plattenkiste importieren - + Export Crate Plattenkiste exportieren @@ -3774,7 +3791,7 @@ trace - Wie oben + Profiling-Meldungen Entsperren - + An unknown error occurred while creating crate: Bei der Erstellung der Plattenkiste ist ein unbekannter Fehler aufgetreten: @@ -3800,17 +3817,17 @@ trace - Wie oben + Profiling-Meldungen Umbenennen der Plattenkiste fehlgeschlagen - + Crate Creation Failed Erstellung der Plattenkiste fehlgeschlagen - + M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Text CSV (*.csv);;Readable Text (*.txt) M3U-Wiedergabeliste (*.m3u);;M3U8-Wiedergabeliste (*.m3u8);;PLS-Wiedergabeliste (*.pls);;CSV (*.csv);;Normaler Text (*.txt) - + M3U Playlist (*.m3u) M3U-Wiedergabeliste (*.m3u) @@ -3936,12 +3953,12 @@ trace - Wie oben + Profiling-Meldungen Frühere Mitwirkende - + Official Website Offizielle Webseite - + Donate Spenden @@ -3997,7 +4014,7 @@ trace - Wie oben + Profiling-Meldungen - + Analyze Analysieren @@ -4042,17 +4059,17 @@ trace - Wie oben + Profiling-Meldungen Führt die Beatgrid-, Tonart-, und ReplayGain-Erkennung bei den ausgewählten Tracks aus. Generiert keine Wellenformen für die ausgewählten Tracks, um Speicherplatz zu sparen. - + Stop Analysis Analyse stoppen - + Analyzing %1% %2/%3 Analysiere %1% %2/%3 - + Analyzing %1/%2 Analysiere %1/%2 @@ -4188,7 +4205,7 @@ crossfader, so that the intro starts at full volume. Skip Silence Start Full Volume - + Stille überspringen, starte mit voller Lautstärke @@ -4469,37 +4486,37 @@ Das führt oft zu Beatgrids mit höherer Qualität, wird aber nicht so gut bei T Wenn die Zuweisung nicht funktioniert, versuchen Sie unten eine erweiterte Option zu aktivieren und testen SIe dann das Steuerelement erneut. Oder klicken Sie auf "Wiederholen" um die Midi-Steuerung erneut zu erkennen. - + Didn't get any midi messages. Please try again. Keine MIDI-Nachrichten empfangen. Bitte versuchen Sie es erneut. - + Unable to detect a mapping -- please try again. Be sure to only touch one control at once. Eine Zuweisung konnte nicht erkannt werden - bitte versuchen Sie es erneut. Achten Sie darauf, dass Sie nur ein Steuerelement auf einmal berühren. - + Successfully mapped control: Steuerelement erfolgreich zugewiesen: - + <i>Ready to learn %1</i> <i>Bereit zu lernen %1</i> - + Learning: %1. Now move a control on your controller. Lerne: %1. Bewegen Sie jetzt ein Steuerelement an Ihrem Controller. - + The selected control does not exist.<br>This likely a bug. Please report it on the Mixxx bug tracker.<br><a href='https://github.com/mixxxdj/mixxx/issues'>https://github.com/mixxxdj/mixxx/issues</a><br><br>You tried to learn: %1,%2 - + Das ausgewählte Steuerelement existiert nicht.<br>Dies ist wahrscheinlich ein Bug. Bitte melde ihn im Mixxx-Bug-Tracker.<br><a href='https://github.com/mixxxdj/mixxx/issues'>https://github.com/mixxxdj/mixxx/issues</a><br><br>Du hast versucht %1,%2 zu lernen. - + The control you clicked in Mixxx is not learnable. This could be because you are either using an old skin and this control is no longer supported, or you clicked a control that provides visual feedback and can only be mapped to outputs like LEDs via scripts. @@ -5206,114 +5223,114 @@ die mit der jeweiligen Tonart verbunden ist. DlgPrefController - + Apply device settings? Einstellungen für Gerät anwenden? - + Your settings must be applied before starting the learning wizard. Apply settings and continue? Ihre Einstellungen müssen übernommen werden bevor Sie den Lern-Assistenten starten. Einstellungen übernehmen und fortfahren? - + None Keine - + %1 by %2 %1 von %2 - + Mapping has been edited Mapping wurde bearbeitet - + Always overwrite during this session Während dieser Session immer überschreiben - + Save As Speichern als - + Overwrite Überschreiben - + Save user mapping Benutzer-Mapping speichern - + Enter the name for saving the mapping to the user folder. Geben Sie den Namen für die Speicherung des Mappings im Benutzerordner ein. - + Saving mapping failed Speichern des Mappings fehlgeschlagen - + A mapping cannot have a blank name and may not contain special characters. Ein Mapping muss einen Namen haben und darf keine Sonderzeichen enthalten. - + A mapping file with that name already exists. Eine Mapping-Datei mit diesem Namen ist bereits vorhanden. - + Do you want to save the changes? Möchten Sie die Änderungen speichern? - + Troubleshooting Fehlerbehebung - + <font color='#BB0000'><b>If you use this mapping your controller may not work correctly. Please select another mapping or disable the controller.</b></font><br><br>This mapping was designed for a newer Mixxx Controller Engine and cannot be used on your current Mixxx installation.<br>Your Mixxx installation has Controller Engine version %1. This mapping requires a Controller Engine version >= %2.<br><br>For more information visit the wiki page on <a href='https://mixxx.org/wiki/doku.php/controller_engine_versions'>Controller Engine Versions</a>. <font color='#BB0000'><b>Es kann notwendig sein, einige Titel in Ihrer vorbereiteten Playlist zu überspringen oder einige andere Titel hinzuzufügen, um die Energie Ihres Publikums aufrechtzuerhalten.</b></font><br><br>Dieses Mapping wurde für eine neuere Mixxx Controller-Engine entwickelt und kann nicht auf Ihrer aktuellen Mixxx-Installation verwendet werden.<br>Ihre Mixxx-Installation hat die Controller-Engine-Version %1. Dieses Mapping erfordert eine Controller-Engine-Version >= %2<br><br>Für weitere Informationen besuchen Sie die Wiki-Seite <a href='https://mixxx.org/wiki/doku.php/controller_engine_versions'>Controller-Engine-Versionen</a>. - + Mapping already exists. Mapping ist bereits vorhanden. - + <b>%1</b> already exists in user mapping folder.<br>Overwrite or save with a new name? <b>%1</b> existiert bereits im Benutzerordner.<br>Überschreiben oder unter einem neuen Namen speichern? - + Clear Input Mappings Eingangs-Mappings löschen - + Are you sure you want to clear all input mappings? Wollen Sie wirklich alle Eingangs-Mappings löschen? - + Clear Output Mappings Ausgangs-Mappings löschen - + Are you sure you want to clear all output mappings? Wollen Sie wirklich alle Ausgangs-Mappings löschen? @@ -5333,7 +5350,7 @@ Einstellungen übernehmen und fortfahren? Device Info - + Geräte-Info @@ -5343,17 +5360,17 @@ Einstellungen übernehmen und fortfahren? Vendor name: - + Anbietername Product name: - + Produktname Vendor ID - + Anbieter-ID @@ -5363,7 +5380,7 @@ Einstellungen übernehmen und fortfahren? Product ID - + Produktnummer @@ -5373,7 +5390,7 @@ Einstellungen übernehmen und fortfahren? Serial number: - + Seriennummer @@ -5476,7 +5493,7 @@ Einstellungen übernehmen und fortfahren? Mapping Settings - + Mapping-Einstellungen @@ -5644,6 +5661,16 @@ Einstellungen übernehmen und fortfahren? Multi-Sampling Multi-Sampling + + + Force 3D acceleration + + + + + If checked, Mixxx will always assume 3D acceleration is available. This may lead to pour performance if only CP-backed rendering is available.. + + Start in full-screen mode @@ -6258,62 +6285,62 @@ Sie können jederzeit Tracks auf dem Bildschirm ziehen und ablegen, um ein Deck DlgPrefInterface - + The minimum size of the selected skin is bigger than your screen resolution. Die minimale Größe des ausgewählten Skins ist größer als Ihre Bildschirmauflösung. - + Allow screensaver to run Bildschirmschoner erlauben - + Prevent screensaver from running Bildschirmschoner unterdrücken - + Prevent screensaver while playing Bildschirmschoner während der Wiedergabe unterdrücken - + Disabled Deaktiviert - + 2x MSAA 2x MSAA - + 4x MSAA 4x MSAA - + 8x MSAA 8x MSAA - + 16x MSAA 16x MSAA - + This skin does not support color schemes Dieses Skin unterstützt keine Farbschemen - + Information Information - + Mixxx must be restarted before the new locale, scaling or multi-sampling settings will take effect. Mixxx muss neu gestartet werden, damit die neuen Sprach-, Skalierungs- oder Multi-Sampling-Einstellungen wirksam werden. @@ -7483,173 +7510,172 @@ Die Ziel-Lautheit ist ungefähr und nimmt an, dass Track-Vorverstärkung und Mas DlgPrefSound - + %1 Hz %1 Hz - + Default (long delay) Standard (lange Verzögerung) - + Experimental (no delay) Experimentell (keine Verzögerung) - + Disabled (short delay) Deaktiviert (kurze Verzögerung) - + Soundcard Clock Taktgeber der Soundkarte - + Network Clock Netzwerk-Taktgeber - + Direct monitor (recording and broadcasting only) Direkter Monitor (nur Aufzeichnung und Liveübertragung) - + Disabled Deaktiviert - + Enabled Aktiviert - + Stereo Stereo - + Mono Mono - + To enable Realtime scheduling (currently disabled), see the %1. Um Echtzeit-Scheduling zu aktivieren (aktuell deaktiviert), siehe das %1. - + The %1 lists sound cards and controllers you may want to consider for using Mixxx. Im %1 sind Soundkarten und Controller aufgeführt, die Sie für die Verwendung von Mixxx in Betracht ziehen sollten. - + Mixxx DJ Hardware Guide Mixxx DJ Hardware-Handbuch - + Information Information - + Mixxx must be restarted before the multi-threaded RubberBand setting change will take effect. - + auto (<= 1024 frames/period) automatisch (<= 1024 Frames/Periode) - + 2048 frames/period 2048 Frames/Periode - + 4096 frames/period 4096 Frames/Periode - + Are you sure? - + Bist du dir sicher? - + Distribute stereo channels into mono channels for parallel processing will result in a loss of mono compatibility and a diffuse stereo image. It is not recommended during broadcasting or recording. - + Are you sure you wish to proceed? - + Bist du dir sicher, dass du fortfahren möchtest? - + No - + Nein - + Yes, I know what I am doing - + Ja, ich weiß, was ich tue - + Microphone inputs are out of time in the record & broadcast signal compared to what you hear. Mikrofon-Eingänge sind nicht synchron im Aufnahmen- und Liveübertragungssignal, verglichen mit dem was Sie hören. - + Measure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. Messen Sie die Round-Trip-Latenzzeit und geben Sie diese für die Mikrofon-Latenzkompensation ein, um das Mikrofon-Timing auszurichten. - - + Refer to the Mixxx User Manual for details. Details dazu finden Sie im Mixxx-Benutzerhandbuch. - + Configured latency has changed. Die eingestellte Latenz hat sich geändert. - + Remeasure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. Messen Sie erneut die Round-Trip-Latenzzeit und geben Sie diese für die Mikrofon-Latenzkompensation ein, um das Mikrofon-Timing auszurichten. - + Realtime scheduling is enabled. Echtzeit-Scheduling ist aktiviert. - + Main output only Nur Hauptausgang - + Main and booth outputs Haupt- und Kabinenausgänge - + %1 ms %1 ms - + Configuration error Fehler in der Konfiguration @@ -7667,131 +7693,131 @@ Die Ziel-Lautheit ist ungefähr und nimmt an, dass Track-Vorverstärkung und Mas Sound API - + Sample Rate Abtastrate - + Audio Buffer Audio-Puffer - + Engine Clock Engine-Taktgeber - + Use soundcard clock for live audience setups and lowest latency.<br>Use network clock for broadcasting without a live audience. Verwenden Sie Soundkarten-Taktgeber für Live-Setups und für die geringste Latenz.<br>Verwenden Sie die Netzwerk-Taktgeber für die Live-Übertragung ohne physisches Publikum. - + Main Mix Haupt-Mix - + Main Output Mode Hauptausgang-Modus - + Microphone Monitor Mode Mikrofon-Monitormodus - + Microphone Latency Compensation Mikrofon-Latenzkompensation - - - - + + + + ms milliseconds ms - + 20 ms 20 ms - + Buffer Underflow Count Pufferunterlauf-Zähler - + 0 0 - + Keylock/Pitch-Bending Engine Tonhöhensperre/Pitch-Bend-Engine - + Multi-Soundcard Synchronization Multi-Soundkarten-Synchronisation - + Output Ausgang - + Input Eingang - + System Reported Latency Vom System gemeldete Latenz - + Enlarge your audio buffer if the underflow counter is increasing or you hear pops during playback. Vergrößern Sie den Audio-Puffer, wenn sich der Unterlaufzähler erhöht oder wenn Sie Aussetzer während der Wiedergabe hören. - + Main Output Delay Hauptausgang-Verzögerung - + Headphone Output Delay Kopfhörerausgang-Verzögerung - + Booth Output Delay Kabinenausgangsverzögerung - + Dual-threaded Stereo - + Hints and Diagnostics Hinweise und Diagnose - + Downsize your audio buffer to improve Mixxx's responsiveness. Verkleinern Sie Ihren Audio-Puffer, um Mixxx' Reaktionsfähigkeit zu verbessern. - + Query Devices Geräte abfragen @@ -7987,7 +8013,7 @@ Die Ziel-Lautheit ist ungefähr und nimmt an, dass Track-Vorverstärkung und Mas OpenGL Status - + OpenGL Status @@ -8142,7 +8168,7 @@ Wählen Sie aus verschiedenen Arten der Wellenform-Anzeige, welche sich in erste Preferred font size - + Bevorzugte Schriftgröße @@ -8198,7 +8224,7 @@ Wählen Sie aus verschiedenen Arten der Wellenform-Anzeige, welche sich in erste Type - + Typ @@ -8692,7 +8718,7 @@ Dies kann nicht rückgängig gemacht werden! (status text) - + (status text) @@ -9351,27 +9377,27 @@ Das führt oft zu Beatgrids mit höherer Qualität, wird aber nicht so gut bei T EngineBuffer - + Soundtouch (faster) Soundtouch (schneller) - + Rubberband (better) Rubberband (besser) - + Rubberband R3 (near-hi-fi quality) Rubberband R3 (nahezu Hi-Fi-Qualität) - + Unknown, using Rubberband (better) Unbekannt, nutze Rubberband (besser) - + Unknown, using Soundtouch Unbekannt, Soundtouch wird verwenden @@ -9556,12 +9582,12 @@ Das führt oft zu Beatgrids mit höherer Qualität, wird aber nicht so gut bei T Change color - + Farbe ändern Choose a new color - + Neue Farbe auswählen @@ -9569,32 +9595,32 @@ Das führt oft zu Beatgrids mit höherer Qualität, wird aber nicht so gut bei T Browse... - + Durchsuchen... No file selected - + Keine Datei ausgewählt Select a file - + Datei auswählen LegacySkinParser - - + + Safe Mode Enabled Shown when Mixxx is running in safe mode. Abgesicherter Modus aktiviert - - + + No OpenGL support. Shown when Spinny can not be displayed. Please keep @@ -9606,57 +9632,57 @@ Shown when VuMeter can not be displayed. Please keep Unterstützung. - + activate aktivieren - + toggle umschalten - + right rechts - + left links - + right small wenig rechts - + left small wenig links - + up hoch - + down runter - + up small wenig hoch - + down small wenig runter - + Shortcut Tastenkombination @@ -9664,37 +9690,37 @@ Unterstützung. Library - + This or a parent directory is already in your library. Dieses oder ein übergeordnetes Verzeichnis befindet sich bereits in Ihrer Bibliothek. - + This or a listed directory does not exist or is inaccessible. Aborting the operation to avoid library inconsistencies Dieses oder ein aufgelistetes Verzeichnis existiert nicht oder ist nicht zugänglich. Der Vorgang wird zur zur Vermeidung von Inkonsistenzen in der Bibliothek abgebrochen. - - + + This directory can not be read. Dieses Verzeichnis kann nicht gelesen werden. - + An unknown error occurred. Aborting the operation to avoid library inconsistencies Ein unbekannter Fehler ist aufgetreten. Der Vorgang wird zur zur Vermeidung von Inkonsistenzen in der Bibliothek abgebrochen. - + Can't add Directory to Library Verzeichnis kann nicht zur Bibliothek hinzugefügt werden - + Could not add <b>%1</b> to your library. %2 @@ -9703,27 +9729,27 @@ Der Vorgang wird zur zur Vermeidung von Inkonsistenzen in der Bibliothek abgebro %2 - + Can't remove Directory from Library Verzeichnis kann nicht aus der Bibliothek entfernt werden - + An unknown error occurred. Es ist ein unbekannter Fehler aufgetreten. - + This directory does not exist or is inaccessible. Dieses Verzeichnis existiert nicht oder ist nicht zugänglich. - + Relink Directory Verzeichnis neu verknüpfen - + Could not relink <b>%1</b> to <b>%2</b>. %3 @@ -9735,22 +9761,22 @@ Der Vorgang wird zur zur Vermeidung von Inkonsistenzen in der Bibliothek abgebro LibraryFeature - + Import Playlist Wiedergabeliste importieren - + Playlist Files (*.m3u *.m3u8 *.pls *.csv) Wiedergabeliste-Dateien (*.m3u *.m3u8 *.pls *.csv) - + Overwrite File? Datei überschreiben? - + A playlist file with the name "%1" already exists. The default "m3u" extension was added because none was specified. @@ -9904,253 +9930,253 @@ Möchten Sie wirklich diese Datei überschreiben? MixxxMainWindow - + Sound Device Busy Audiogerät beschäftigt - + <b>Retry</b> after closing the other application or reconnecting a sound device <b>Wiederholen</b> nach dem Schließen der anderen Anwendung oder dem erneuten Verbinden eines Audiogerätes - - - + + + <b>Reconfigure</b> Mixxx's sound device settings. Mixxx's Audiogeräte-Einstellungen <b>neu konfigurieren</b>. - - + + Get <b>Help</b> from the Mixxx Wiki. Erhalten Sie <b>Hilfe</b> aus dem Mixxx Wiki. - - - + + + <b>Exit</b> Mixxx. Mixxx <b>beenden</b>. - + Retry Wiederholen - + skin Skin - + Allow Mixxx to hide the menu bar? Darf Mixxx die Menüleiste ausblenden? - + Hide Always show the menu bar? Ausblenden - + Always show Immer anzeigen - + The Mixxx menu bar is hidden and can be toggled with a single press of the <b>Alt</b> key.<br><br>Click <b>%1</b> to agree.<br><br>Click <b>%2</b> to disable that, for example if you don't use Mixxx with a keyboard.<br><br>You can change this setting any time in Preferences -> Interface.<br> Keep formatting tags <b> (bold text) and <br> (linebreak). %1 is the placeholder for the 'Always show' button label Die Mixxx-Menüleiste ist ausgeblendet und kann mit einem einzigen Druck der <b>Alt</b> Taste umgeschaltet werden.<br><br><b>%1</b> anklicken, um zuzustimmen.<br><br><b>%2</b>anklicken, um dies zu deaktivieren , z.B. wenn Sie Mixxx nicht mit einer Tastatur verwenden.<br><br>Sie können diese Einstellung jederzeit unter Einstellungen -> Benutzeroberfläche ändern.<br> - + Ask me again Nochmals fragen - - + + Reconfigure Neu konfigurieren - + Help Hilfe - - + + Exit Beenden - - + + Mixxx was unable to open all the configured sound devices. Mixxx konnte nicht alle konfigurierten Audiogeräte öffnen. - + Sound Device Error Audiogeräte-Fehler - + <b>Retry</b> after fixing an issue <b>Wiederholen</b> nach Fehlerbehebung - + No Output Devices Keine Ausgabegeräte - + Mixxx was configured without any output sound devices. Audio processing will be disabled without a configured output device. Mixxx wurde ohne Tonausgabe-Geräte konfiguriert. Die Audio-Verarbeitung wird ohne ein konfiguriertes Ausgabegerät deaktiviert werden. - + <b>Continue</b> without any outputs. <b>Weiter</b> ohne jegliche Ausgabegeräte. - + Continue Weiter - + Load track to Deck %1 Track in Deck %1 laden - + Deck %1 is currently playing a track. Deck %1 spielt derzeit einen Track. - + Are you sure you want to load a new track? Möchten Sie wirklich einen neuen Track laden? - + There is no input device selected for this vinyl control. Please select an input device in the sound hardware preferences first. Es ist kein Eingabegerät für diese Vinyl-Steuerung ausgewählt. Bitte wählen Sie zuerst ein Eingabegerät in den Sound-Hardware-Einstellungen. - + There is no input device selected for this passthrough control. Please select an input device in the sound hardware preferences first. Es ist kein Eingabegerät für diese Passthrough-Steuerung ausgewählt. Bitte wählen Sie zuerst ein Eingabegerät in den Sound-Hardware-Einstellungen. - + There is no input device selected for this microphone. Do you want to select an input device? Es ist kein Eingabegerät für dieses Mikrofon ausgewählt. Wollen Sie ein Eingabegerät auswählen? - + There is no input device selected for this auxiliary. Do you want to select an input device? Es ist kein Eingabegerät für diesen Aux ausgewählt. Wollen Sie ein Eingabegerät auswählen? - + Scan took %1 - + No changes detected. - - + + %1 tracks in total - + %1 Tracks insgesamt - + %1 new tracks found - + %1 neue Tracks gefunden - + %1 moved tracks detected - + %1 verschobene Tracks erkannt - + %1 tracks are missing (%2 total) - + %1 Tracks fehlen (%2 insgesamt) - + %1 tracks have been rediscovered - + %1 Tracks wurden wiedergefunden - + Library scan finished - + Bibliothek-Scan abgeschlossen - + Error in skin file Fehler in Skin-Datei - + The selected skin cannot be loaded. Das gewählte Skin kann nicht geladen werden. - + OpenGL Direct Rendering Direktes Rendern mit OpenGL - + Direct rendering is not enabled on your machine.<br><br>This means that the waveform displays will be very<br><b>slow and may tax your CPU heavily</b>. Either update your<br>configuration to enable direct rendering, or disable<br>the waveform displays in the Mixxx preferences by selecting<br>"Empty" as the waveform display in the 'Interface' section. Direktes Rendern ist auf Ihrem System nicht aktiviert.<br><br>Dies bedeutet, dass die Wellenform-Anzeige sehr langsam sein wird <br><b>und möglicherweise Ihre CPU stark belastet</b>. Entweder aktualisieren Sie Ihre<br>Konfiguration, um direktes Rendern zu aktivieren oder deaktivieren<br>die Wellenform-Anzeige in den Mixxx-Einstellungen durch die Auswahl von<br>"Leer" als Wellenform-Anzeige im Bereich 'Benutzeroberfläche'. - - - + + + Confirm Exit Beenden bestätigen - + A deck is currently playing. Exit Mixxx? Ein Deck spielt derzeit. Mixxx beenden? - + A sampler is currently playing. Exit Mixxx? Ein Sampler spielt derzeit. Mixxx beenden? - + The preferences window is still open. Das Einstellungen-Fenster ist noch geöffnet. - + Discard any changes and exit Mixxx? Alle Änderungen verwerfen und Mixxx schließen? @@ -10166,13 +10192,13 @@ Wollen Sie ein Eingabegerät auswählen? PlaylistFeature - + Lock Sperren - - + + Playlists Wiedergabelisten @@ -10182,32 +10208,58 @@ Wollen Sie ein Eingabegerät auswählen? Wiedergabeliste mischen - + + Unlock all playlists + + + + + Delete all unlocked playlists + + + + Unlock Entsperren - + + + Confirm Deletion + + + + + Do you really want to delete all unlocked playlists? + + + + + Deleting %1 unlocked playlists.<br>This operation can not be undone! + + + + Playlists are ordered lists of tracks that allow you to plan your DJ sets. Wiedergabelisten sind geordnete Listen von Tracks, mit denen Sie Ihre DJ-Sets planen können. - + It may be necessary to skip some tracks in your prepared playlist or add some different tracks in order to maintain the energy of your audience. Es kann notwendig sein, einige Tracks in Ihrer vorbereiteten Wiedergabeliste zu überspringen oder einige andere Tracks hinzuzufügen, um die Energie Ihres Publikums aufrechtzuerhalten. - + Some DJs construct playlists before they perform live, but others prefer to build them on-the-fly. Einige DJs stellen Wiedergabelisten zusammen bevor sie live auftreten, während andere es bevorzugen sie währenddessen zu erstellen. - + When using a playlist during a live DJ set, remember to always pay close attention to how your audience reacts to the music you've chosen to play. Achten Sie bei der Verwendung einer Wiedergabeliste während eines Live-DJ-Sets immer darauf, wie das Publikum auf die von Ihnen gespielte Musik reagiert. - + Create New Playlist Neue Wiedergabeliste erstellen @@ -10250,7 +10302,7 @@ Wollen Sie ein Eingabegerät auswählen? Mixxx Track Colors - + Mixxx Track-Farben @@ -10884,7 +10936,7 @@ Mit einer Breite von Null kann der gesamte Verzögerungsbereich manuell überstr The Mixxx Team - + Das Mixxx-Team @@ -10914,7 +10966,7 @@ Mit einer Breite von Null kann der gesamte Verzögerungsbereich manuell überstr Gain - + Verstärkung @@ -11868,7 +11920,7 @@ Hinweis: Kompensiert "Chipmunk"- oder "Brumm"- StimmenDie Intensität der Verstärkung, die auf das Audiosignal angewendet wird. Bei höheren Pegeln wird der Ton stärker verzerrt. - + Passthrough Passthrough @@ -11907,7 +11959,7 @@ Hinweis: Kompensiert "Chipmunk"- oder "Brumm"- Stimmen Compressor - + Kompressor @@ -11938,108 +11990,110 @@ and the processed output signal as close as possible in perceived loudness Threshold (dBFS) - + Schwellwert (dBFS) Threshold - + Schwellwert The Threshold knob adjusts the level above which the compressor starts attenuating the input signal - + Der Schwellwert-Regler stellt den Pegel ein, ab dem der Kompressor beginnt, das Eingangssignal zu dämpfen Ratio (:1) - + Ratio (:1) Ratio - + Ratio The Ratio knob determines how much the signal is attenuated above the chosen threshold. For a ratio of 4:1, one dB remains for every four dB of input signal above the threshold. At a ratio of 1:1 no compression is happening, as the input is exactly the output. - + Der Ratio-Regler bestimmt, wie stark das Signal über dem gewählten Schwellenwert gedämpft wird. +Bei einem Verhältnis von 4:1 bleibt für jeweils vier dB Eingangssignal über dem Schwellenwert ein dB übrig. +Bei einem Verhältnis von 1:1 findet keine Komprimierung statt, da der Eingang genau dem Ausgang entspricht. Knee (dBFS) - + Knie (dBFS) Knee - + Knie The Knee knob is used to achieve a rounder compression curve - + Der Knie-Regler wird verwendet, um eine sanftere Kompressionskurve zu erreichen Attack (ms) - + Attack (ms) Attack - + Attack The Attack knob sets the time that determines how fast the compression will set in once the signal exceeds the threshold - + Der Attack-Regler bestimmt, wie schnell die Kompression einsetzt, wenn das Signal den Schellwert überschreitet Release (ms) - + Release (ms) Release - + Release The Release knob sets the time that determines how fast the compressor will recover from the gain reduction once the signal falls under the threshold. Depending on the input signal, short release times may introduce a 'pumping' effect and/or distortion. - + Der Release-Regler bestimmt die Zeit, die der Kompressor benötigt, um sich von der Verstärkungsreduzierung zu erholen, sobald das Signal unter den Schwellenwert fällt. Je nach Eingangssignal können kurze Release-Zeiten zu einem Pumpeffekt und/oder Verzerrungen führen. Level - + Pegel The Level knob adjusts the level of the output signal after the compression was applied - + Der Pegel-Regler bestimmt den Pegel des Ausgangssignals nach angewendeter Kompression various - + verschiedene - + built-in - + eingebaut - + missing - + fehlt @@ -12165,54 +12219,54 @@ may introduce a 'pumping' effect and/or distortion. RekordboxFeature - - - + + + Rekordbox Rekordbox - + Playlists Wiedergabelisten - + Folders Ordner - + Reads databases exported for Pioneer CDJ / XDJ players using the Rekordbox Export mode.<br/>Rekordbox can only export to USB or SD devices with a FAT or HFS file system.<br/>Mixxx can read a database from any device that contains the database folders (<tt>PIONEER</tt> and <tt>Contents</tt>).<br/>Not supported are Rekordbox databases that have been moved to an external device via<br/><i>Preferences > Advanced > Database management</i>.<br/><br/>The following data is read: Liest Datenbanken, die für Pioneer CDJ / XDJ-Player mit dem Rekordbox Export-Modus exportiert wurden.<br/>Rekordbox kann nur auf USB- oder SD-Geräte mit einem FAT- oder HFS-Dateisystem exportieren.<br/>Mixxx kann eine Datenbank von jedem Gerät lesen, das die Datenbankordner enthält (<tt>PIONEER</tt> und <tt>Contents</tt>).<br/>Nicht unterstützt werden Rekordbox-Datenbanken, die auf ein externes Gerät verschoben wurden über<br/><i>Voreinstellungen > Erweitert > Datenbankverwaltung</i>.<br/><br/>Die folgenden Daten werden gelesen: - + Hot cues Hotcues - + Loops (only the first loop is currently usable in Mixxx) Loops (nur der erste Loop ist derzeit in Mixxx nutzbar) - + Check for attached Rekordbox USB / SD devices (refresh) Nach angeschlossenen USB / SD Rekordbox-Geräten suchen (aktualisieren) - + Beatgrids Beatgrids - + Memory cues Memory-Cues - + (loading) Rekordbox (lade) Rekordbox @@ -15456,47 +15510,47 @@ Dies kann nicht rückgängig gemacht werden! WCueMenuPopup - + Cue number Cue-Nummer - + Cue position Cue-Position - + Edit cue label Cue-Beschriftungen bearbeiten - + Label... Beschriftung … - + Delete this cue Diesen Cue löschen - + Toggle this cue type between normal cue and saved loop - + Left-click: Use the old size or the current beatloop size as the loop size - + Right-click: Use the current play position as loop end if it is after the cue - + Hotcue #%1 Hotcue #%1 @@ -15621,323 +15675,353 @@ Dies kann nicht rückgängig gemacht werden! + Search in Current View... + + + + + Search for tracks in the current library view + + + + + Ctrl+f + + + + + Search in Tracks Library... + + + + + Search in the internal track collection under "Tracks" in the library + + + + + Ctrl+Shift+F + + + + Create &New Playlist Neue &Wiedergabeliste erstellen - + Create a new playlist Neue Wiedergabeliste erstellen - + Ctrl+n Strg+N - + Create New &Crate Neue &Plattenkiste erstellen - + Create a new crate Neue Plattenkiste erstellen - + Ctrl+Shift+N Strg+Umschalt+N - - + + &View &Ansicht - + Auto-hide menu bar Menüleiste automatisch verbergen - + Auto-hide the main menu bar when it's not used. Menüleiste automatisch verbergen wenn sie nicht verwendet wird.. - + May not be supported on all skins. Wird möglicherweise nicht von allen Skins unterstützt. - + Show Skin Settings Menu Skin-Einstellungsmenü anzeigen - + Show the Skin Settings Menu of the currently selected Skin Das Skin-Einstellungsmenü des aktuell ausgewählten Skin anzeigen - + Ctrl+1 Menubar|View|Show Skin Settings Strg+1 - + Show Microphone Section Mikrofon-Bereich anzeigen - + Show the microphone section of the Mixxx interface. Den Mikrofon-Bereich der Mixxx-Benutzeroberfläche anzeigen. - + Ctrl+2 Menubar|View|Show Microphone Section Strg+2 - + Show Vinyl Control Section Vinyl-Steuerung-Bereich anzeigen - + Show the vinyl control section of the Mixxx interface. Den Vinyl-Steuerung Bereich der Mixxx-Benutzeroberfläche anzeigen. - + Ctrl+3 Menubar|View|Show Vinyl Control Section Strg+3 - + Show Preview Deck Vorhör-Deck anzeigen - + Show the preview deck in the Mixxx interface. Das Vorhör-Deck in der Mixxx-Benutzeroberfläche anzeigen. - + Ctrl+4 Menubar|View|Show Preview Deck Strg+4 - + Show Cover Art Cover-Bild anzeigen - + Show cover art in the Mixxx interface. Cover-Bild in der Mixxx-Benutzeroberfläche anzeigen. - + Ctrl+6 Menubar|View|Show Cover Art Strg+6 - + Maximize Library Bibliothek maximieren - + Maximize the track library to take up all the available screen space. Die Track-Bibliothek auf den verfügbaren Bildschirmplatz maximieren. - + Space Menubar|View|Maximize Library Leertaste - + &Full Screen &Vollbild - + Display Mixxx using the full screen Mixxx im Vollbildmodus anzeigen - + &Options &Optionen - + &Vinyl Control &Vinyl-Steuerung - + Use timecoded vinyls on external turntables to control Mixxx Timecode-Vinyls benutzen um Mixxx mit externen Plattenspielern zu steuern - + Enable Vinyl Control &%1 Vinyl-Steuerung &%1 aktivieren - + &Record Mix &Mix aufnehmen - + Record your mix to a file Aufnahme Ihres Mixes in eine Datei - + Ctrl+R Strg+R - + Enable Live &Broadcasting &Liveübertragung aktivieren - + Stream your mixes to a shoutcast or icecast server Den Mix zu einem Icecast- oder Shoutcast-Server streamen - + Ctrl+L Strg+L - + Enable &Keyboard Shortcuts &Tastenkombinationen aktivieren - + Toggles keyboard shortcuts on or off Tastenkombinationen ein-/ausschalten - + Ctrl+` Strg+` - + &Preferences &Einstellungen - + Change Mixxx settings (e.g. playback, MIDI, controls) Mixxx Einstellungen verändern (z.B. Wiedergabe, MIDI, Steuerelemente) - + &Developer &Entwickler - + &Reload Skin Skin &neu laden - + Reload the skin Das Skin neu laden - + Ctrl+Shift+R Strg+Umschalt+R - + Developer &Tools Entwickler&werkzeuge - + Opens the developer tools dialog Öffnet den Entwicklerwerkzeuge-Dialog - + Ctrl+Shift+T Strg+Umschalt+T - + Stats: &Experiment Bucket Statistiken: &Experiment Bucket - + Enables experiment mode. Collects stats in the EXPERIMENT tracking bucket. Aktiviert den Experiment-Modus. Sammelt Statistiken im Experiment-Tracking-Bucket. - + Ctrl+Shift+E Strg+Umschalt+E - + Stats: &Base Bucket Statistiken: &Base Bucket - + Enables base mode. Collects stats in the BASE tracking bucket. Aktiviert den Base-Modus. Sammelt Statistiken im Base-Tracking-Bucket. - + Ctrl+Shift+B Strg+Umschalt+B - + Deb&ugger Enabled Deb&ugger aktiviert - + Enables the debugger during skin parsing Aktiviert den Debugger während des Parsens der Skins - + Ctrl+Shift+D Strg+Umschalt+D - + &Help &Hilfe - + Show Keywheel menu title Tonartrad anzeigen @@ -15954,74 +16038,74 @@ Dies kann nicht rückgängig gemacht werden! Die Bibliothek in das Engine DJ Format exportieren - + Show keywheel tooltip text Tonartrad anzeigen - + F12 Menubar|View|Show Keywheel F12 - + &Community Support &Community Unterstützung - + Get help with Mixxx Hilfe zu Mixxx erhalten - + &User Manual &Benutzerhandbuch - + Read the Mixxx user manual. Mixxx-Benutzerhandbuch lesen. - + &Keyboard Shortcuts &Tastenkombinationen - + Speed up your workflow with keyboard shortcuts. Beschleunigen Sie Ihren Arbeitsablauf mit Tastenkombinationen. - + &Settings directory &Einstellungs-Verzeichnis - + Open the Mixxx user settings directory. Das Verzeichnis mit den Mixxx-Benutzereinstellungen öffnen. - + &Translate This Application Diese Anwendung &übersetzen - + Help translate this application into your language. Helfen Sie, diese Anwendung in Ihre Sprache zu übersetzen. - + &About &Über - + About the application Über diese Anwendung @@ -16056,25 +16140,13 @@ Dies kann nicht rückgängig gemacht werden! WSearchLineEdit - - Clear input - Clear the search bar input field - Eingabe löschen - - - - Ctrl+F - Search|Focus - Strg+F - - - + Search noun Suche - + Clear input Eingabe löschen @@ -16085,93 +16157,87 @@ Dies kann nicht rückgängig gemacht werden! Suchen … - + Clear the search bar input field Eingabefeld der Suchleiste löschen - - Enter a string to search for - Geben Sie einen Suchbegriff ein + + Return + Enter - - Use operators like bpm:115-128, artist:BooFar, -year:1990 - Verwenden Sie Operatoren wie bpm:115-128, artist:Max Muster, -year:1990 + + Enter a string to search for. + - - For more information see User Manual > Mixxx Library - Für weitere Informationen siehe Benutzerhandbuch > Mixxx Bibliothek + + Use operators like bpm:115-128, artist:BooFar, -year:1990. + - Shortcut - Tastenkombination + See User Manual > Mixxx Library for more information. + - - Ctrl+F - Strg+F + + Focus/Select All (Search in current view) + Give search bar input focus + - - Focus - Give search bar input focus - Fokus + + Focus/Select All (Search in 'Tracks' library view) + - - - Ctrl+Backspace - Strg+Rücktaste + + Additional Shortcuts When Focused: + - Shortcuts - Tastenkombinationen + Trigger search before search-as-you-type timeout or focus tracks view afterwards + - Return - Enter + Esc or Ctrl+Return + - Trigger search before search-as-you-type timeout orjump to tracks view afterwards - Suche auslösen, vor dem Timeout für Instant-Suche, oder danach zur Track-Ansicht wechseln + Immediately trigger search and focus tracks view + Exit search bar and leave focus + - + Ctrl+Space Strg+Leertaste - + Toggle search history Shows/hides the search history entries Suchverlauf ein-/ausblenden - + Delete or Backspace Löschen oder Backspace - - Delete query from history - Suchbegriff aus dem Verlauf löschen - - - - Esc - Esc + + in search history + - - Exit search - Exit search bar and leave focus - Suche verlassen + + Delete query from history + Suchbegriff aus dem Verlauf löschen @@ -16927,37 +16993,37 @@ Dies kann nicht rückgängig gemacht werden! WTrackTableView - + Confirm track hide Ausblenden der Tracks bestätigen - + Are you sure you want to hide the selected tracks? Möchten Sie wirklich die gewählten Tracks ausblenden? - + Are you sure you want to remove the selected tracks from AutoDJ queue? Möchten Sie wirklich die gewählten Tracks aus der Auto-DJ Warteschlange löschen? - + Are you sure you want to remove the selected tracks from this crate? Möchten Sie wirklich die gewählten Tracks aus dieser Plattenkiste löschen? - + Are you sure you want to remove the selected tracks from this playlist? Möchten Sie wirklich die gewählten Tracks von dieser Wiedergabeliste löschen? - + Don't ask again during this session Während dieser Sitzung nicht erneut fragen. - + Confirm track removal Entfernen der Tracks bestätigen @@ -16978,52 +17044,52 @@ Dies kann nicht rückgängig gemacht werden! mixxx::CoreServices - + fonts Schriftarten - + database Datenbank - + effects Effekte - + audio interface Audio-Interface - + decks Decks - + library Bibliothek - + Choose music library directory Verzeichnis für die Musikbibliothek auswählen - + controllers Controller - + Cannot open database Kann Datenbank nicht öffnen - + Unable to establish a database connection. Mixxx requires QT with SQLite support. Please read the Qt SQL driver documentation for information on how to build it. @@ -17037,68 +17103,78 @@ Zum Beenden OK drücken. mixxx::DlgLibraryExport - + Entire music library Gesamte Musikbibliothek - - Selected crates - Gewählte Plattenkisten + + Crates + - + + Playlists + + + + + Selected crates/playlists + + + + Browse Durchsuchen - + Export directory Verzeichnis exportieren - + Database version Datenbankversion - + Export Exportieren - + Cancel Abbrechen - + Export Library to Engine DJ "Engine DJ" must not be translated Bibliothek nach Engine DJ exportieren - + Export Library To Bibliothek exportieren nach - + No Export Directory Chosen Kein Exportverzeichnis ausgewählt - + No export directory was chosen. Please choose a directory in order to export the music library. Es wurde kein Exportverzeichnis gewählt. Bitte wählen Sie ein Verzeichnis, um die Musikbibliothek zu exportieren. - + A database already exists in the chosen directory. Exported tracks will be added into this database. Im gewählten Verzeichnis existiert bereits eine Datenbank. Exportierte Tracks werden in diese Datenbank eingefügt. - + A database already exists in the chosen directory, but there was a problem loading it. Export is not guaranteed to succeed in this situation. Im gewählten Verzeichnis ist bereits eine Datenbank vorhanden, aber es gab ein Problem beim Laden der Datenbank. Der Export ist in dieser Situation möglicherweise nicht erfolgreich. @@ -17119,7 +17195,7 @@ Zum Beenden OK drücken. mixxx::EnginePrimeExportJob - + Failed to export track %1 - %2: %3 %1 is the artist %2 is the title and %3 is the original error message @@ -17130,22 +17206,22 @@ Zum Beenden OK drücken. mixxx::LibraryExporter - + Export Completed Export abgeschlossen - - Exported %1 track(s) and %2 crate(s). - %1 Track(s) und %2 Plattenkiste(n) wurden exportiert. + + Exported %1 track(s), %2 crate(s), and %3 playlist(s). + - + Export Failed Export fehlgeschlagen - + Exporting to Engine DJ... Exportieren nach Engine DJ … diff --git a/res/translations/mixxx_el.qm b/res/translations/mixxx_el.qm index 548f555b5aa779a2b1a876c0febdc87dac361058..8723778571bc1715f0a0b230383dc9abc71a1689 100644 GIT binary patch delta 472 zcmXBPO-Pe*90&0K@3*(y+oR7`4tw@&bKA4*SM|6oL?M}y-$n#U@9FS`6(Pz=I<1CoD1#2Ek7FM&DJAF#s?sL6eMPCUz|kT)nzHQwj8fAC$8R7a z4{$7pak&J{ sX!9_K*6_XgCdXf6&{yEd7h~IJB2GTMPc0Q{q33?|%*HC$JE`XR4>+QZTmS$7 delta 608 zcmZY4T}V>_6bJBg&hFjj^}4l>@}up}sk?qn#UR&1Dr9a+KJ+mv#1^qyJ`BZe3BpEX z=7UIO$8tjq?aP{p{dYA9r*Km`SXYKYg&Ao6tC^X zPm{J4d@#ALNUoCr-3+LdvJIOG<^c}B0<5#A{HPK+T^!f6kpp=_vw|=9mY|S&hZlqp zl~-_;xQ1U+R;>|h)7YGg0UDp9r{^`mTr;-z-UGD1$4;dZV0j!*%nt)L9^w5uAEtRi z*Fv>joY8s7olMF4Q;5GgT=0+_0k%o1SsfITT?>HCkA<84H}dweUs9#&HevqCkNoak zj!OghjlW9goZm(9%@n{$Zp+o5qRW>6Sj=vU&H%>>v*fO0zpRow$Z^?+?>Hm3NQzgy zy)Th}_aF;JS8331HWgjv3C%u?Mrk8YbL zwUuqA5Gf-(Y8s=4GM3E&sr_h5-cK zmio6_?itz?EA5=IrtxzszTJRSt>uXw%TztcXNvo&BF0O_L)37byGy3Ybvd - + Remove Crate as Track Source Αφαίρεση κιβωτίου ως πηγή κομματιών - + Auto DJ Αυτόματος DJ - + Confirmation Clear - + Do you really want to remove all tracks from the Auto DJ queue? - + This can not be undone. - + Add Crate as Track Source Προσθήκη κιβωτίου ως πηγή κομματιών @@ -149,28 +149,28 @@ BasePlaylistFeature - + New Playlist Νέα Λίστα Αναπαραγωγής - + Add to Auto DJ Queue (bottom) Προσθήκη στη λίστα του Αυτόματου DJ (στο τέλος) - + Create New Playlist Δημιουργία νέας λίστας αναπαραγωγής - + Add to Auto DJ Queue (top) Προσθήκη στη λίστα του Αυτόματου DJ (στην αρχή) - + Remove Αφαίρεση @@ -180,12 +180,12 @@ Μετονομασία - + Lock Κλείδωμα - + Duplicate Κλωνοποίηση @@ -206,24 +206,24 @@ Ανάλυση ολόκληρης της λίστας αναπαραγωγής - + Enter new name for playlist: Εισάγετε νέο όνομα για τη λίστα αναπαραγωγής: - + Duplicate Playlist Κλωνοποίηση λίστας αναπαραγωγής - - + + Enter name for new playlist: Εισάγετε όνομα για τη νέα λίστα αναπαραγωγής: - + Export Playlist Εξαγωγή λίστας αναπαραγωγής @@ -233,70 +233,77 @@ Προσθήκη στη λίστα του Αυτόματου DJ (Αντικατάσταση) - + + + Export to Engine DJ + "Engine DJ" is a product name and must not be translated. + + + + Rename Playlist Μετονομασία λίστας αναπαραγωγής - - + + Renaming Playlist Failed Η μετονομασία της λίστας αναπαραγωγής απέτυχε - - - + + + A playlist by that name already exists. Μια λίστα αναπαραγωγής με αυτό το όνομα υπάρχει ήδη. - - - + + + A playlist cannot have a blank name. Η λίστα αναπαραγωγής δεν μπορεί να έχει κενό όνομα. - + _copy //: Appendix to default name when duplicating a playlist _αντίγραφο - - - - - - + + + + + + Playlist Creation Failed Η δημιουργία λίστας αναπαραγωγής απέτυχε - - + + An unknown error occurred while creating playlist: Προέκυψε άγνωστο σφάλμα κατά τη δημιουργία λίστας: - + Confirm Deletion Επιβεβαίωση Διαγραφής - + Do you really want to delete playlist <b>%1</b>? - + M3U Playlist (*.m3u) Λίστα αναπαραγωγής M3U (*.m3u) - + M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Text CSV (*.csv);;Readable Text (*.txt) Λίστα αναπαραγωγής M3U (*.m3u);;Λίστα αναπαραγωγής M3U8 (*.m3u8);;Λίστα αναπαραγωγής PLS (*.pls);;Κείμενο CSV (*.csv);;Απλό κείμενο (*.txt) @@ -304,12 +311,12 @@ BaseSqlTableModel - + # # - + Timestamp Χρονική σήμανση @@ -317,7 +324,7 @@ BaseTrackPlayerImpl - + Couldn't load track. H φόρτωση του κομματιού απέτυχε. @@ -325,137 +332,142 @@ BaseTrackTableModel - + Album Άλμπουμ - + Album Artist Καλλιτέχνης δίσκου - + Artist Καλλιτέχνης - + Bitrate Ρυθμός μετάδοσης bit - + BPM BPM - + Channels Κανάλια - + Color Χρώμα - + Comment Σχόλιο - + Composer Συνθέτης - + Cover Art Εξώφυλλο - + Date Added Ημερομηνία προσθήκης - + Last Played - + Duration Διάρκεια - + Type Τύπος - + Genre Είδος - + Grouping Ομαδοποίηση - + Key Κλειδί - + Location Θέση - + + Overview + + + + Preview Προεπισκόπηση - + Rating Αξιολόγηση - + ReplayGain ReplayGain - + Samplerate Ρυθμός δειγματοληψίας - + Played Έπαιξε - + Title Τίτλος - + Track # Αρ. κομματιού - + Year Έτος - + Fetching image ... Tooltip text on the cover art column shown when the cover is read from disk @@ -543,67 +555,77 @@ BrowseFeature - + Add to Quick Links Προσθήκη στους Γρήγορους Συνδέσμους - + Remove from Quick Links Αφαίρεση από Γρήγορους Συνδέσμους - + Add to Library Προσθήκη στη Συλλογή - + Refresh directory tree - + Quick Links Γρήγοροι Σύνδεσμοι - - + + Devices Συσκευές - + Removable Devices Αφαιρούμενες συσκευές - - + + Computer Υπολογιστής - + Music Directory Added Προστέθηκε Μουσικός Κατάλογος - + You added one or more music directories. The tracks in these directories won't be available until you rescan your library. Would you like to rescan now? Προσθέσατε έναν ή περισσότερους μουσικούς καταλόγους. Τα κομμάτια σε αυτούς τους καταλόγους δεν θα είναι διαθέσιμα μέχρι να επανασαρωθεί η συλλογή σας. Θέλετε να γίνει τώρα επανασάρωση; - + Scan Σάρωση - + "Computer" lets you navigate, view, and load tracks from folders on your hard disk and external devices. Ο "Υπολογιστής" σας επιτρέπει την πλοήγηση σε, προβολή και φόρτωση κομματιών από φακέλους στο σκληρό σας δίσκο και τις εξωτερικές σας συσκευές. + + + It shows the data from the file tags, not track data from your Mixxx library like other track views. + + + + + If you load a track file from here, it will be added to your library. + + BrowseTableModel @@ -749,87 +771,87 @@ CmdlineArgs - + Mixxx is an open source DJ software. For more information, see: - + Starts Mixxx in full-screen mode - + Use a custom locale for loading translations. (e.g 'fr') - + Top-level directory where Mixxx should look for its resource files such as MIDI mappings, overriding the default installation location. - + Path the debug statistics time line is written to - + Causes Mixxx to display/log all of the controller data it receives and script functions it loads - + The controller mapping will issue more aggressive warnings and errors when detecting misuse of controller APIs. New Controller Mappings should be developed with this option enabled! - + Enables developer-mode. Includes extra log info, stats on performance, and a Developer tools menu. - + Top-level directory where Mixxx should look for settings. Default is: - + Starts Auto DJ when Mixxx is launched. - + Rescans the library when Mixxx is launched. - + Use legacy vu meter - + Use legacy spinny - + Loads experimental QML GUI instead of legacy QWidget skin - + Enables safe-mode. Disables OpenGL waveforms, and spinning vinyl widgets. Try this option if Mixxx is crashing on startup. - + [auto|always|never] Use colors on the console output. - + Sets the verbosity of command line logging. critical - Critical/Fatal only warning - Above + Warnings @@ -839,27 +861,32 @@ trace - Above + Profiling messages - + Sets the the logging level at which the log buffer is flushed to mixxx.log. <level> is one of the values defined at --log-level above. - + Sets the maximum file size of the mixxx.log file in bytes. Use -1 for unlimited. The default is 100 MB as 1e5 or 100000000. - + Breaks (SIGINT) Mixxx, if a DEBUG_ASSERT evaluates to false. Under a debugger you can continue afterwards. - + + Overrides the default application GUI style. Possible values: %1 + + + + Load the specified music file(s) at start-up. Each file you specify will be loaded into the next virtual deck. - + Preview rendered controller screens in the Setting windows. @@ -1041,13 +1068,13 @@ trace - Above + Profiling messages - + Set to full volume Ρύθμιση σε πλήρη ένταση - + Set to zero volume Ρύθμιση σε μηδενική ένταση @@ -1072,13 +1099,13 @@ trace - Above + Profiling messages Κουμπί αντίστροφης κύλισης (Λογοκρισία) - + Headphone listen button Κουμπί για ακρόαση ακουστικών - + Mute button Κουμπί σίγασης @@ -1089,25 +1116,25 @@ trace - Above + Profiling messages - + Mix orientation (e.g. left, right, center) Προσανατολισμός μείξης (π.χ. αρ., δεξ., κέντρο) - + Set mix orientation to left Ρύθμιση προσανατολισμού μείξης προς τα αριστερά - + Set mix orientation to center Ρύθμιση προσανατολισμού μείξης προς το κέντρο - + Set mix orientation to right Ρύθμιση προσανατολισμού μείξης προς τα δεξιά @@ -1148,23 +1175,23 @@ trace - Above + Profiling messages Πλήκτρο χτύπου BPM - + Toggle quantize mode Ενεργ./Απενεργ. λειτουργίας κβαντισμού - + One-time beat sync (tempo only) Άμεσος συγχρον. ρυθμού (μόνο βήμα) - + One-time beat sync (phase only) Άμεσος συγχρον. ρυθμού (μόνο φάση) - + Toggle keylock mode Ενεργ./Απενεργ. λειτουργίας κλειδώματος ύψους @@ -1174,193 +1201,193 @@ trace - Above + Profiling messages Ισοσταθμιστές - + Vinyl Control Έλεγχος βινυλίου - + Toggle vinyl-control cueing mode (OFF/ONE/HOT) Ενεργ./Απενεργ. λειτουργίας cueing ελέγχου-βινυλίου (ΑΝΕΝΕΡΓΟ/ΕΝΑ/HOT) - + Toggle vinyl-control mode (ABS/REL/CONST) Τρόπος ελέγχου-βινυλίου (ΑΠΟΛ/ΣΧΕΤ/ΣΤΑΘ) - + Pass through external audio into the internal mixer - + Cues - + Cue button - + Set cue point - + Go to cue point - + Go to cue point and play - + Go to cue point and stop - + Preview from cue point - + Cue button (CDJ mode) - + Stutter cue - + Hotcues - + Set, preview from or jump to hotcue %1 - + Clear hotcue %1 - + Set hotcue %1 - + Jump to hotcue %1 - + Jump to hotcue %1 and stop - + Jump to hotcue %1 and play - + Preview from hotcue %1 - - + + Hotcue %1 - + Looping Επανάληψη - + Loop In button Κουμπί Εισόδου στην Επανάληψη - + Loop Out button Κουμπί Εξόδου από την Επανάληψη - + Loop Exit button Κουμπί για έξοδο από τον βρόχο (loop) - + 1/2 1/2 - + 1 1 - + 2 2 - + 4 4 - + 8 8 - + 16 16 - + 32 32 - + 64 64 - + Move loop forward by %1 beats - + Move loop backward by %1 beats - + Create %1-beat loop - + Create temporary %1-beat loop roll @@ -1476,20 +1503,20 @@ trace - Above + Profiling messages - - + + Volume Fader Ποτενσιόμετρο Έντασης - + Full Volume Πλήρης Ένταση - + Zero Volume Μηδενική ένταση @@ -1505,7 +1532,7 @@ trace - Above + Profiling messages - + Mute Σίγαση @@ -1516,7 +1543,7 @@ trace - Above + Profiling messages - + Headphone Listen @@ -1537,25 +1564,25 @@ trace - Above + Profiling messages - + Orientation Προσανατολισμός - + Orient Left - + Orient Center - + Orient Right @@ -1625,82 +1652,82 @@ trace - Above + Profiling messages - + Adjust Beatgrid - + Align beatgrid to current position - + Adjust Beatgrid - Match Alignment - + Adjust beatgrid to match another playing deck. - + Quantize Mode - + Sync Συγχρονισμός - + Beat Sync One-Shot - + Sync Tempo One-Shot - + Sync Phase One-Shot - + Pitch control (does not affect tempo), center is original pitch Έλεγχος τόνου (δεν επηρεάζει το ρυθμό), το κέντρο αντιστοιχεί στον αρχικό τόνο - + Pitch Adjust Ρύθμιση Τόνου - + Adjust pitch from speed slider pitch - + Match musical key - + Match Key - + Reset Key - + Resets key to original @@ -1741,451 +1768,451 @@ trace - Above + Profiling messages Χαμηλός Ισοσταθμιστής - + Toggle Vinyl Control - + Toggle Vinyl Control (ON/OFF) - + Vinyl Control Mode - + Vinyl Control Cueing Mode - + Vinyl Control Passthrough - + Vinyl Control Next Deck - + Single deck mode - Switch vinyl control to next deck - + Cue - + Set Cue - + Go-To Cue - + Go-To Cue And Play - + Go-To Cue And Stop - + Preview Cue - + Cue (CDJ Mode) - + Stutter Cue - + Go to cue point and play after release - + Clear Hotcue %1 - + Set Hotcue %1 - + Jump To Hotcue %1 - + Jump To Hotcue %1 And Stop - + Jump To Hotcue %1 And Play - + Preview Hotcue %1 - + Loop In - + Loop Out - + Loop Exit - + Reloop/Exit Loop - + Loop Halve - + Loop Double - + 1/32 1/32 - + 1/16 1/16 - + 1/8 1/8 - + 1/4 1/4 - + Move Loop +%1 Beats - + Move Loop -%1 Beats - + Loop %1 Beats - + Loop Roll %1 Beats - + Add to Auto DJ Queue (bottom) Προσθήκη στη λίστα του Αυτόματου DJ (στο τέλος) - + Append the selected track to the Auto DJ Queue - + Add to Auto DJ Queue (top) Προσθήκη στη λίστα του Αυτόματου DJ (στην αρχή) - + Prepend selected track to the Auto DJ Queue - + Load Track Άνοιγμα κομματιού - + Load selected track Φόρτωση του διαλεγμένου κομματιού - + Load selected track and play Φόρτωση του επιλεγμένου κομματιού και αναπαραγωγή - - + + Record Mix Εγγραφή μίξης - + Toggle mix recording - + Effects Εφέ - + Quick Effects - + Deck %1 Quick Effect Super Knob - + Quick Effect Super Knob (control linked effect parameters) - - + + Quick Effect - + Clear Unit - + Clear effect unit - + Toggle Unit - + Dry/Wet - + Adjust the balance between the original (dry) and processed (wet) signal. - + Super Knob - + Next Chain - + Assign - + Clear Εκκαθάριση - + Clear the current effect - + Toggle - + Toggle the current effect - + Next Επόμενο - + Switch to next effect - + Previous Προηγούμενο - + Switch to the previous effect Εναλλαγή στο προηγούμενο εφέ - + Next or Previous Επόμενο ή Προηγούμενο - + Switch to either next or previous effect Εναλλαγή είτε στο επόμενο είτε στο προηγούμενο εφέ - - + + Parameter Value Τιμή Παραμέτρου - - + + Microphone Ducking Strength Ισχύς "Βύθισης" Μικροφώνου - + Microphone Ducking Mode Λειτουργία "Βύθισης" Μικροφώνου - + Gain Ενίσχυση - + Gain knob Κουμπί ρύθμισης του gain - + Shuffle the content of the Auto DJ queue - + Skip the next track in the Auto DJ queue - + Auto DJ Toggle Εναλλαγή Aυτόματου DJ - + Toggle Auto DJ On/Off Θέστε τον Αυτόματο DJ εντός/εκτός λειτουργίας - + Show/hide the microphone & auxiliary section - + 4 Effect Units Show/Hide - + Switches between showing 2 and 4 effect units - + Mixer Show/Hide - + Show or hide the mixer. - + Cover Art Show/Hide (Library) - + Show/hide cover art in the library - + Library Maximize/Restore Μεγιστοποίηση/Επαναφορά Βιβλιοθήκης - + Maximize the track library to take up all the available screen space. Μεγιστοποίηση της βιλιοθήκης αρχείων ώστε να καταλαμβάνει ολόκληρο τον διαθέσιμο χώρο της οθόνης - + Effect Rack Show/Hide - + Show/hide the effect rack - + Waveform Zoom Out @@ -2200,102 +2227,102 @@ trace - Above + Profiling messages Ενίσχυση Ακουστικού - + Tap to sync tempo (and phase with quantize enabled), hold to enable permanent sync - + One-time beat sync tempo (and phase with quantize enabled) - + Playback Speed Ταχύτητα αναπαραγωγής - + Playback speed control (Vinyl "Pitch" slider) - + Pitch (Musical key) - + Increase Speed Αύξηση ταχύτητας - + Adjust speed faster (coarse) - + Increase Speed (Fine) Αύξηση Ταχύτητας (Ακριβής) - + Adjust speed faster (fine) - + Decrease Speed Ελάττωση ταχύτητας - + Adjust speed slower (coarse) - + Adjust speed slower (fine) - + Temporarily Increase Speed Προσωρινή αύξηση ταχύτητας - + Temporarily increase speed (coarse) - + Temporarily Increase Speed (Fine) - + Temporarily increase speed (fine) - + Temporarily Decrease Speed Προσωρινή μείωση ταχύτητας - + Temporarily decrease speed (coarse) - + Temporarily Decrease Speed (Fine) - + Temporarily decrease speed (fine) @@ -2447,1041 +2474,1063 @@ trace - Above + Profiling messages - - + + Move Beatgrid Half a Beat + + + + + Adjust the beatgrid by exactly one half beat. Usable only for tracks with constant tempo. + + + + + Toggle the BPM/beatgrid lock - + Revert last BPM/Beatgrid Change - + Revert last BPM/Beatgrid Change of the loaded track. - + Sync / Sync Lock - + Internal Sync Leader - + Toggle Internal Sync Leader - - + + Internal Leader BPM - + Internal Leader BPM +1 - + Increase internal Leader BPM by 1 - + Internal Leader BPM -1 - + Decrease internal Leader BPM by 1 - + Internal Leader BPM +0.1 - + Increase internal Leader BPM by 0.1 - + Internal Leader BPM -0.1 - + Decrease internal Leader BPM by 0.1 - + Sync Leader - + Sync mode 3-state toggle / indicator (Off, Soft Leader, Explicit Leader) - + Speed - + Decrease Speed (Fine) - + Pitch (Musical Key) - + Increase Pitch - + Increases the pitch by one semitone - + Increase Pitch (Fine) - + Increases the pitch by 10 cents - + Decrease Pitch - + Decreases the pitch by one semitone - + Decrease Pitch (Fine) - + Decreases the pitch by 10 cents - + Keylock - + CUP (Cue + Play) - + Shift cue points earlier - + Shift cue points 10 milliseconds earlier - + Shift cue points earlier (fine) - + Shift cue points 1 millisecond earlier - + Shift cue points later - + Shift cue points 10 milliseconds later - + Shift cue points later (fine) - + Shift cue points 1 millisecond later - + + + Sort hotcues by position + + + + + + Sort hotcues by position (remove offsets) + + + + Hotcues %1-%2 - + Intro / Outro Markers - + Intro Start Marker - + Intro End Marker - + Outro Start Marker - + Outro End Marker - + intro start marker - + intro end marker - + outro start marker - + outro end marker - + Activate %1 [intro/outro marker - + Jump to or set the %1 [intro/outro marker - + Set %1 [intro/outro marker - + Set or jump to the %1 [intro/outro marker - + Clear %1 [intro/outro marker - + Clear the %1 [intro/outro marker - + if the track has no beats the unit is seconds - + Loop Selected Beats - + Create a beat loop of selected beat size - + Loop Roll Selected Beats - + Create a rolling beat loop of selected beat size - + Loop %1 Beats set from its end point - + Loop Roll %1 Beats set from its end point - + Create %1-beat loop with the current play position as loop end - + Create temporary %1-beat loop roll with the current play position as loop end - + Loop Beats - + Loop Roll Beats - + Go To Loop In - + Go to Loop In button - + Go To Loop Out - + Go to Loop Out button - + Toggle loop on/off and jump to Loop In point if loop is behind play position - + Reloop And Stop - + Enable loop, jump to Loop In point, and stop - + Halve the loop length - + Double the loop length - + Beat Jump / Loop Move - + Jump / Move Loop Forward %1 Beats - + Jump / Move Loop Backward %1 Beats - + Jump forward by %1 beats, or if a loop is enabled, move the loop forward %1 beats - + Jump backward by %1 beats, or if a loop is enabled, move the loop backward %1 beats - + Beat Jump / Loop Move Forward Selected Beats - + Jump forward by the selected number of beats, or if a loop is enabled, move the loop forward by the selected number of beats - + Beat Jump / Loop Move Backward Selected Beats - + Jump backward by the selected number of beats, or if a loop is enabled, move the loop backward by the selected number of beats - + Beat Jump - + Indicate which loop marker remain static when adjusting the size or is inherited from the current position - + Beat Jump / Loop Move Forward - + Beat Jump / Loop Move Backward - + Loop Move Forward - + Loop Move Backward - + Remove Temporary Loop - + Remove the temporary loop - + Navigation - + Move up - + Equivalent to pressing the UP key on the keyboard - + Move down - + Equivalent to pressing the DOWN key on the keyboard - + Move up/down - + Move vertically in either direction using a knob, as if pressing UP/DOWN keys - + Scroll Up - + Equivalent to pressing the PAGE UP key on the keyboard - + Scroll Down - + Equivalent to pressing the PAGE DOWN key on the keyboard - + Scroll up/down - + Scroll vertically in either direction using a knob, as if pressing PGUP/PGDOWN keys - + Move left - + Equivalent to pressing the LEFT key on the keyboard - + Move right - + Equivalent to pressing the RIGHT key on the keyboard - + Move left/right - + Move horizontally in either direction using a knob, as if pressing LEFT/RIGHT keys - + Move focus to right pane - + Equivalent to pressing the TAB key on the keyboard - + Move focus to left pane - + Equivalent to pressing the SHIFT+TAB key on the keyboard - + Move focus to right/left pane - + Move focus one pane to right or left using a knob, as if pressing TAB/SHIFT+TAB keys - + Sort focused column - + Sort the column of the cell that is currently focused, equivalent to clicking on its header - + Go to the currently selected item - + Choose the currently selected item and advance forward one pane if appropriate - + Load Track and Play - + Add to Auto DJ Queue (replace) Προσθήκη στη λίστα του Αυτόματου DJ (Αντικατάσταση) - + Replace Auto DJ Queue with selected tracks - + Select next search history - + Selects the next search history entry - + Select previous search history - + Selects the previous search history entry - + Move selected search entry - + Moves the selected search history item into given direction and steps - + Clear search - + Clears the search query - - + + Select Next Color Available - + Select the next color in the color palette for the first selected track - - + + Select Previous Color Available - + Select the previous color in the color palette for the first selected track - + Deck %1 Quick Effect Enable Button - + Quick Effect Enable Button - + Enable or disable effect processing - + Super Knob (control effects' Meta Knobs) - + Mix Mode Toggle - + Toggle effect unit between D/W and D+W modes - + Next chain preset - + Previous Chain - + Previous chain preset - + Next/Previous Chain - + Next or previous chain preset - - + + Show Effect Parameters - + Effect Unit Assignment - + Meta Knob - + Effect Meta Knob (control linked effect parameters) - + Meta Knob Mode - + Set how linked effect parameters change when turning the Meta Knob. - + Meta Knob Mode Invert - + Invert how linked effect parameters change when turning the Meta Knob. - - + + Button Parameter Value - + Microphone / Auxiliary - + Microphone On/Off - + Microphone on/off Μικρόφωνο ανοιχτό/κλειστό - + Toggle microphone ducking mode (OFF, AUTO, MANUAL) - + Auxiliary On/Off - + Auxiliary on/off - + Auto DJ Αυτόματος DJ - + Auto DJ Shuffle - + Auto DJ Skip Next - + Auto DJ Add Random Track - + Add a random track to the Auto DJ queue - + Auto DJ Fade To Next - + Trigger the transition to the next track Ενεργοποίηση μετάβασης στο επόμενο κομμάτι - + User Interface Διεπαφή χρήστη - + Samplers Show/Hide - + Show/hide the sampler section - + Microphone && Auxiliary Show/Hide keep double & to prevent creation of keyboard accelerator Μικρόφωνο && Θύρα Aux Εμφάνιση/Απόκρυψη - + Waveform Zoom Reset To Default - + Reset the waveform zoom level to the default value selected in Preferences -> Waveforms - + Select the next color in the color palette for the loaded track. - + Select previous color in the color palette for the loaded track. - + Navigate Through Track Colors - + Select either next or previous color in the palette for the loaded track. - + Start/Stop Live Broadcasting - + Stream your mix over the Internet. - + Start/stop recording your mix. - - + + Samplers - + Vinyl Control Show/Hide - + Show/hide the vinyl control section Εμφάνιση/ Απόκρυψη ενότητας για τον έλεγχο βινυλίου - + Preview Deck Show/Hide - + Show/hide the preview deck Εμφάνιση/ Απόκρυψη του deck προεπισκόπησης - + Toggle 4 Decks - + Switches between showing 2 decks and 4 decks. - + Cover Art Show/Hide (Decks) - + Show/hide cover art in the main decks - + Vinyl Spinner Show/Hide - + Show/hide spinning vinyl widget - + Vinyl Spinners Show/Hide (All Decks) - + Show/Hide all spinnies - + Toggle Waveforms - + Show/hide the scrolling waveforms. - + Waveform zoom - + Waveform Zoom - + Zoom waveform in - + Waveform Zoom In - + Zoom waveform out - + Star Rating Up - + Increase the track rating by one star - + Star Rating Down - + Decrease the track rating by one star @@ -3596,32 +3645,32 @@ trace - Above + Profiling messages ControllerScriptEngineBase - + The functionality provided by this controller mapping will be disabled until the issue has been resolved. - + You can ignore this error for this session but you may experience erratic behavior. - + Try to recover by resetting your controller. - + Controller Mapping Error - + The mapping for your controller "%1" is not working properly. - + The script code needs to be fixed. @@ -3665,13 +3714,13 @@ trace - Above + Profiling messages CrateFeature - + Remove Αφαίρεση - + Create New Crate @@ -3681,132 +3730,132 @@ trace - Above + Profiling messages Μετονομασία - - + + Lock Κλείδωμα - + Export Crate as Playlist - + Export Track Files Εξαγωγή αρχείων ήχου - + Duplicate Κλωνοποίηση - + Analyze entire Crate - + Auto DJ Track Source - + Enter new name for crate: - - + + Crates Κιβώτια - - + + Import Crate Εισαγωγή Κιβωτίου - + Export Crate Εξαγωγή Κιβωτίου - + Unlock Ξεκλείδωμα - + An unknown error occurred while creating crate: Προκλήθηκε άγνωστο σφάλμα κατά την δημιουργία του κιβωτίου: - + Rename Crate Μετονομασία Κιβωτίου - - - Export to Engine Prime - - - - + Make a crate for your next gig, for your favorite electrohouse tracks, or for your most requested tracks. - + Confirm Deletion Επιβεβαίωση Διαγραφής - - + + Renaming Crate Failed Η Μετονομασία του Κιβωτίου Απέτυχε - + Crate Creation Failed - + M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Text CSV (*.csv);;Readable Text (*.txt) Λίστα αναπαραγωγής M3U (*.m3u);;Λίστα αναπαραγωγής M3U8 (*.m3u8);;Λίστα αναπαραγωγής PLS (*.pls);;Κείμενο CSV (*.csv);;Απλό κείμενο (*.txt) - + M3U Playlist (*.m3u) Λίστα αναπαραγωγής M3U (*.m3u) - + Crates are a great way to help organize the music you want to DJ with. Τα κιβώτια ειναι ενας φοβερός τρόπος που βοηθάει την οργάνωση της μουσικής που θέλετε να αναπαράγετε - + + + Export to Engine DJ + + + + Crates let you organize your music however you'd like! Τα κιβώτια σας επιτρέπουν να οργανώσετε τη μουσική σας όπως σας αρέσει! - + Do you really want to delete crate <b>%1</b>? - + A crate cannot have a blank name. Το όνομα ενός Κιβωτίου δε μπορεί να είναι Κενό - + A crate by that name already exists. Υπάρχει ήδη κιβώτιο με αυτό το όνομα. @@ -3901,12 +3950,12 @@ trace - Above + Profiling messages - + Official Website - + Donate @@ -4025,72 +4074,72 @@ trace - Above + Profiling messages DlgAutoDJ - + Skip Παράκαμψη - + Random - + Fade - + Enable Auto DJ Shortcut: Shift+F12 - + Disable Auto DJ Shortcut: Shift+F12 - + Trigger the transition to the next track Shortcut: Shift+F11 - + Skip the next track in the Auto DJ queue Shortcut: Shift+F10 - + Shuffle the content of the Auto DJ queue Shortcut: Shift+F9 - + Repeat the playlist - + Determines the duration of the transition - + Seconds Δευτερόλεπτα - + Auto DJ Fade Modes Full Intro + Outro: @@ -4121,80 +4170,80 @@ crossfader, so that the intro starts at full volume. - + Full Intro + Outro - + Fade At Outro Start - + Full Track - + Skip Silence - + Skip Silence Start Full Volume - + Decks not used for Auto DJ must be stopped to enable Auto DJ mode. - + Repeat Επανάληψη - + Auto DJ requires two decks assigned to opposite sides of the crossfader. - + One deck must be stopped to enable Auto DJ mode. - + Enable - + Disable - + Displays the duration and number of selected tracks. - - - + + + Auto DJ Αυτόματος DJ - + Shuffle Ανακάτεμα - + Adds a random track from track sources (crates) to the Auto DJ queue. If no track sources are configured, the track is added from the library instead. @@ -4417,37 +4466,37 @@ Often results in higher quality beatgrids, but will not do well on tracks that h - + Didn't get any midi messages. Please try again. Δεν έλαβα μηνύματα MIDI. Παρακαλώ δοκιμάστε ξανά. - + Unable to detect a mapping -- please try again. Be sure to only touch one control at once. Αδύνατη ανίχνευση χαρτογράφησης -- παρακαλώ δοκιμάστε ξανά. Σιγουρευτείτε ότι αγγίζετε έναν ελεγκτή τη φορά. - + Successfully mapped control: - + <i>Ready to learn %1</i> - + Learning: %1. Now move a control on your controller. - + The selected control does not exist.<br>This likely a bug. Please report it on the Mixxx bug tracker.<br><a href='https://github.com/mixxxdj/mixxx/issues'>https://github.com/mixxxdj/mixxx/issues</a><br><br>You tried to learn: %1,%2 - + The control you clicked in Mixxx is not learnable. This could be because you are either using an old skin and this control is no longer supported, or you clicked a control that provides visual feedback and can only be mapped to outputs like LEDs via scripts. @@ -4486,17 +4535,17 @@ You tried to learn: %1,%2 - + Log - + Search Αναζήτηση - + Stats @@ -5149,114 +5198,114 @@ associated with each key. DlgPrefController - + Apply device settings? Να γίνει εφαρμογή των ρυθμίσεων της συσκευής; - + Your settings must be applied before starting the learning wizard. Apply settings and continue? Πρέπει να εφαρμοσθούν οι ρυθμίσεις σας πριν εκκινήσετε τον Μάγο εκμάθησης. Να γίνει εφαρμογή ρυθμίσεων και να συνεχίσουμε; - + None Κανένα - + %1 by %2 %1 από %2 - + Mapping has been edited - + Always overwrite during this session - + Save As - + Overwrite - + Save user mapping - + Enter the name for saving the mapping to the user folder. - + Saving mapping failed - + A mapping cannot have a blank name and may not contain special characters. - + A mapping file with that name already exists. - + Do you want to save the changes? - + Troubleshooting - + <font color='#BB0000'><b>If you use this mapping your controller may not work correctly. Please select another mapping or disable the controller.</b></font><br><br>This mapping was designed for a newer Mixxx Controller Engine and cannot be used on your current Mixxx installation.<br>Your Mixxx installation has Controller Engine version %1. This mapping requires a Controller Engine version >= %2.<br><br>For more information visit the wiki page on <a href='https://mixxx.org/wiki/doku.php/controller_engine_versions'>Controller Engine Versions</a>. - + Mapping already exists. - + <b>%1</b> already exists in user mapping folder.<br>Overwrite or save with a new name? - + Clear Input Mappings - + Are you sure you want to clear all input mappings? - + Clear Output Mappings - + Are you sure you want to clear all output mappings? @@ -5269,105 +5318,105 @@ Apply settings and continue? Όνομα Ελεγκτή - + Enabled Ενεργό - + Device Info - + Physical Interface: - + Vendor name: - + Product name: - + Vendor ID - + VID: - + Product ID - + PID: - + Serial number: - + USB interface number: - + HID Usage-Page: - + HID Usage: - + Description: Περιγραφή: - + Support: Υποστήριξη: - + Screens preview - + Input Mappings - - + + Search Αναζήτηση - - + + Add Προσθήκη - - + + Remove Αφαίρεση @@ -5382,22 +5431,22 @@ Apply settings and continue? - + Load Mapping: - + Mapping Info - + Author: - + Name: @@ -5407,28 +5456,28 @@ Apply settings and continue? Μάγος για τον Έλεγχο εκμάθησης (Μόνο MIDI) - + Data protocol: - + Mapping Files: - + Mapping Settings - - + + Clear All Καθαρισμός Όλων - + Output Mappings @@ -5587,6 +5636,16 @@ Apply settings and continue? Multi-Sampling + + + Force 3D acceleration + + + + + If checked, Mixxx will always assume 3D acceleration is available. This may lead to pour performance if only CP-backed rendering is available.. + + Start in full-screen mode @@ -6178,62 +6237,62 @@ You can always drag-and-drop tracks on screen to clone a deck. DlgPrefInterface - + The minimum size of the selected skin is bigger than your screen resolution. - + Allow screensaver to run - + Prevent screensaver from running - + Prevent screensaver while playing - + Disabled - + 2x MSAA - + 4x MSAA - + 8x MSAA - + 16x MSAA - + This skin does not support color schemes - + Information Πληροφορίες - + Mixxx must be restarted before the new locale, scaling or multi-sampling settings will take effect. @@ -7400,173 +7459,172 @@ The loudness target is approximate and assumes track pregain and main output lev DlgPrefSound - + %1 Hz %1 Hz - + Default (long delay) Αρχική (μακρά καθυστέρηση) - + Experimental (no delay) - + Disabled (short delay) - + Soundcard Clock - + Network Clock - + Direct monitor (recording and broadcasting only) - + Disabled Απενεργοποιημένο - + Enabled Ενεργό - + Stereo Στεροφωνία - + Mono Μονοφωνία - + To enable Realtime scheduling (currently disabled), see the %1. - + The %1 lists sound cards and controllers you may want to consider for using Mixxx. - + Mixxx DJ Hardware Guide - + Information - + Mixxx must be restarted before the multi-threaded RubberBand setting change will take effect. - + auto (<= 1024 frames/period) - + 2048 frames/period - + 4096 frames/period - + Are you sure? - + Distribute stereo channels into mono channels for parallel processing will result in a loss of mono compatibility and a diffuse stereo image. It is not recommended during broadcasting or recording. - + Are you sure you wish to proceed? - + No - + Yes, I know what I am doing - + Microphone inputs are out of time in the record & broadcast signal compared to what you hear. - + Measure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. - - + Refer to the Mixxx User Manual for details. - + Configured latency has changed. - + Remeasure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. - + Realtime scheduling is enabled. - + Main output only - + Main and booth outputs - + %1 ms %1 ms - + Configuration error Σφάλμα ρυθμίσεων @@ -7584,131 +7642,131 @@ The loudness target is approximate and assumes track pregain and main output lev API Ήχου - + Sample Rate Ρυθμός Δειγματοληψίας - + Audio Buffer - + Engine Clock - + Use soundcard clock for live audience setups and lowest latency.<br>Use network clock for broadcasting without a live audience. - + Main Mix - + Main Output Mode - + Microphone Monitor Mode - + Microphone Latency Compensation - - - - + + + + ms milliseconds ms - + 20 ms 20 ms - + Buffer Underflow Count - + 0 0 - + Keylock/Pitch-Bending Engine Μηχανή Κλειδώματος/Μεταβολής Τόνου - + Multi-Soundcard Synchronization Συγχρονισμός πολλών καρτών ήχου - + Output Έξοδος - + Input Είσοδος - + System Reported Latency - + Enlarge your audio buffer if the underflow counter is increasing or you hear pops during playback. - + Main Output Delay - + Headphone Output Delay - + Booth Output Delay - + Dual-threaded Stereo - + Hints and Diagnostics - + Downsize your audio buffer to improve Mixxx's responsiveness. - + Query Devices Εντοπισμός Συσκευών @@ -7863,27 +7921,28 @@ The loudness target is approximate and assumes track pregain and main output lev - - 1/3rd of waveform viewer + + 1/3 of waveform viewer + options for "Text height limit" - - Full waveform viewer height + + Entire waveform viewer - + OpenGL not available Η OpenGL δεν είναι διαθέσιμη - + dropped frames απορριφθέντα καρέ - + Cached waveforms occupy %1 MiB on disk. @@ -7896,250 +7955,256 @@ The loudness target is approximate and assumes track pregain and main output lev Επιλογές Κυματομορφής - + Frame rate Ρυθμός καρέ - - Displays which OpenGL version is supported by the current platform. + + OpenGL Status - - Waveform + + Displays which OpenGL version is supported by the current platform. - + Normalize waveform overview - + Average frame rate Μέσος Ρυθμός καρέ - + Visual gain Οπτικό κέρδος - + Default zoom level Waveform zoom - + Displays the actual frame rate. Εμφανίζει πραγματικό ρυθμό ανανέωσης εικόνας (frame rate) - + Visual gain of the middle frequencies Οπτική ενίσχυση των μεσαίων συχνοτήτων - + End of track warning - - OpenGL status - - - - + This functionality requires waveform acceleration. - + Highlight the waveforms when the last seconds of a track remains. - + seconds - + Low Χαμηλά - + Show minute markers on waveform overview - + Use acceleration - + High details - + Middle - + Global - + Visual gain of the high frequencies Οπτική ενίσχυση των υψηλών συχνοτήτων - + Visual gain of the low frequencies Οπτική ενίσχυση των χαμηλών συχνοτήτων - + High Υψηλά - + Global visual gain Καθολική οπτική ενίσχυση - + The waveform overview shows the waveform envelope of the entire track. Select from different types of displays for the waveform overview, which differ primarily in the level of detail shown in the waveform. - + Enabled - + The waveform shows the waveform envelope of the track near the current playback position. Select from different types of displays for the waveform, which differ primarily in the level of detail shown in the waveform. - - Waveform overview type - - - - + fps - + Synchronize zoom level across all waveform displays. Συγχρονισμός επιπέδου μεγέθυνσης για όλες τις μορφές εμφάνισης κυματομορφής. - + Synchronize zoom level across all waveforms - + Play marker hints - + Beats until next marker - + Preferred font size - + Text height limit - + Time until next marker - + Placement - + pt - + Caching - + Mixxx caches the waveforms of your tracks on disk the first time you load a track. This reduces CPU usage when you are playing live but requires extra disk space. - + Enable waveform caching - + Generate waveforms when analyzing library - + Beat grid opacity - + + Scrolling Waveforms + + + + + + Type + + + + Stereo coloration - + Set amount of opacity on beat grid lines. - + % % - + Play marker position - + Moves the play marker position on the waveforms to the left, right or center (default). - + + Overview Waveforms + + + + Clear Cached Waveforms @@ -8147,47 +8212,47 @@ Select from different types of displays for the waveform, which differ primarily DlgPreferences - + Sound Hardware Υλικό Ήχου - + Controllers Ελεγκτές - + Library Βιβλιοθήκη - + Interface Διεπαφή - + Waveforms - + Mixer Μείκτης - + Auto DJ Αυτόματος DJ - + Decks - + Colors @@ -8222,47 +8287,47 @@ Select from different types of displays for the waveform, which differ primarily - + Effects Εφέ - + Recording Ηχογράφηση - + Beat Detection - + Key Detection - + Normalization Κανονικοποίηση - + <font color='#BB0000'><b>Some preferences pages have errors. To apply the changes please first fix the issues.</b></font> - + Vinyl Control Έλεγχος βινυλίου - + Live Broadcasting Ζωντανή Εκπομπή - + Modplug Decoder @@ -8295,22 +8360,22 @@ Select from different types of displays for the waveform, which differ primarily - + Start Recording Έναρξη Εγγραφής - + Recording to file: - + Stop Recording Διακοπή Εγγραφής - + %1 MiB written in %2 @@ -8618,284 +8683,284 @@ This can not be undone! - + Filetype: - + BPM: BPM: - + Location: - + Bitrate: - + Comments - + BPM BPM - + Sets the BPM to 75% of the current value. Θέτει το BPM στο 75% της τρέχουσας τιμής. - + 3/4 BPM 3/4 BPM - + Sets the BPM to 50% of the current value. Θέτει το BPM στο 50% της τρέχουσας τιμής. - + Displays the BPM of the selected track. Απεικονίζει το BPM του επιλεγμένου κομματιού. - + Track # Αρ. κομματιού - + Album Artist Καλλιτέχνης δίσκου - + Composer Συνθέτης - + Title Τίτλος - + Grouping Ομαδοποίηση - + Key Κλειδί - + Year Έτος - + Artist Καλλιτέχνης - + Album Άλμπουμ - + Genre Είδος - + ReplayGain: - + Sets the BPM to 200% of the current value. Θέτει το BPM στο 200% της τρέχουσας τιμής. - + Double BPM Διπλασιασμός BPM - + Halve BPM Υποδιπλασιασμός BPM - + Clear BPM and Beatgrid Καθαρισμός BPM και πλέγματος χτύπων - + Move to the previous item. "Previous" button - + &Previous - + Move to the next item. "Next" button - + &Next - + Duration: Διάρκεια: - + Import Metadata from MusicBrainz - + Re-Import Metadata from file - + Color Χρώμα - + Date added: - + Open in File Browser Άνοιξε το στο πρόγραμμα περιήγησης αρχείων - + Samplerate: - + Track BPM: BPM Κομματιού: - + Converts beats detected by the analyzer into a fixed-tempo beatgrid. Use this setting if your tracks have a constant tempo (e.g. most electronic music). Often results in higher quality beatgrids, but will not do well on tracks that have tempo shifts. - + Assume constant tempo - + Sets the BPM to 66% of the current value. Θέτει το BPM στο 66% της τρέχουσας τιμής. - + 2/3 BPM 2/3 BPM - + Sets the BPM to 150% of the current value. - + 3/2 BPM - + Sets the BPM to 133% of the current value. - + 4/3 BPM - + Tap with the beat to set the BPM to the speed you are tapping. Χτυπήστε για να θέσετε το BPM στον ρυθμό που επιθυμείτε. - + Tap to Beat Πατήστε για Ρυθμό - + Hint: Use the Library Analyze view to run BPM detection. Συμβουλή: Χρησιμοποιήστε την προβολή Ανάλυσης Βιβλιοθήκης για να τρέξετε τον εντοπισμό BPM. - + Save changes and close the window. "OK" button - + &OK - + Discard changes and close the window. "Cancel" button - + Save changes and keep the window open. "Apply" button - + &Apply &Εφαρμογή - + &Cancel Ακύ&ρωση - + (no color) @@ -9052,7 +9117,7 @@ Often results in higher quality beatgrids, but will not do well on tracks that h - + (no color) @@ -9254,27 +9319,27 @@ Often results in higher quality beatgrids, but will not do well on tracks that h EngineBuffer - + Soundtouch (faster) - + Rubberband (better) - + Rubberband R3 (near-hi-fi quality) - + Unknown, using Rubberband (better) - + Unknown, using Soundtouch @@ -9418,38 +9483,38 @@ Often results in higher quality beatgrids, but will not do well on tracks that h ITunesFeature - - + + iTunes iTunes - + Select your iTunes library Επιλέξτε την συλλογή του iTunes σας - + (loading) iTunes (φορτώνεται) iTunes - + Use Default Library Χρησιμοποιήστε την Προεπιλεγμένη Συλλογή - + Choose Library... Επιλέξτε Συλλογή - + Error Loading iTunes Library Σφάλμα στην Φόρτωση της Συλλογής του iTunes - + There was an error loading your iTunes library. Check the logs for details. @@ -9457,12 +9522,12 @@ Often results in higher quality beatgrids, but will not do well on tracks that h LegacyControllerColorSetting - + Change color - + Choose a new color @@ -9470,18 +9535,18 @@ Often results in higher quality beatgrids, but will not do well on tracks that h LegacyControllerFileSetting - + Browse... - - + + No file selected - + Select a file @@ -9489,15 +9554,15 @@ Often results in higher quality beatgrids, but will not do well on tracks that h LegacySkinParser - - + + Safe Mode Enabled Shown when Mixxx is running in safe mode. - - + + No OpenGL support. Shown when Spinny can not be displayed. Please keep @@ -9508,57 +9573,57 @@ Shown when VuMeter can not be displayed. Please keep - + activate - + toggle - + right - + left - + right small - + left small - + up - + down - + up small - + down small - + Shortcut @@ -9566,62 +9631,62 @@ Shown when VuMeter can not be displayed. Please keep Library - + This or a parent directory is already in your library. - + This or a listed directory does not exist or is inaccessible. Aborting the operation to avoid library inconsistencies - - + + This directory can not be read. - + An unknown error occurred. Aborting the operation to avoid library inconsistencies - + Can't add Directory to Library - + Could not add <b>%1</b> to your library. %2 - + Can't remove Directory from Library - + An unknown error occurred. - + This directory does not exist or is inaccessible. - + Relink Directory - + Could not relink <b>%1</b> to <b>%2</b>. %3 @@ -9631,22 +9696,22 @@ Aborting the operation to avoid library inconsistencies LibraryFeature - + Import Playlist Εισαγωγή λίστας αναπαραγωγής - + Playlist Files (*.m3u *.m3u8 *.pls *.csv) Αρχεία Λίστας (*.m3u *.m3u8 *.pls *.csv) - + Overwrite File? - + A playlist file with the name "%1" already exists. The default "m3u" extension was added because none was specified. @@ -9693,27 +9758,27 @@ Do you really want to overwrite it? MidiController - + MixxxControl(s) not found - + One or more MixxxControls specified in the outputs section of the loaded mapping were invalid. - + * Make sure the MixxxControls in question actually exist. Visit the manual for a complete list: - + Some LEDs or other feedback may not work correctly. - + * Check to see that the MixxxControl names are spelled correctly in the mapping file (.xml) @@ -9773,18 +9838,18 @@ Do you really want to overwrite it? MixxxLibraryFeature - + Missing Tracks - + Hidden Tracks - Export to Engine Prime + Export to Engine DJ @@ -9796,208 +9861,249 @@ Do you really want to overwrite it? MixxxMainWindow - + Sound Device Busy Συσκευή Ήχου Απασχολημένη - + <b>Retry</b> after closing the other application or reconnecting a sound device - - - + + + <b>Reconfigure</b> Mixxx's sound device settings. - - + + Get <b>Help</b> from the Mixxx Wiki. - - - + + + <b>Exit</b> Mixxx. - + Retry Επανάληψη - + skin - + Allow Mixxx to hide the menu bar? - + Hide Always show the menu bar? - + Always show - + The Mixxx menu bar is hidden and can be toggled with a single press of the <b>Alt</b> key.<br><br>Click <b>%1</b> to agree.<br><br>Click <b>%2</b> to disable that, for example if you don't use Mixxx with a keyboard.<br><br>You can change this setting any time in Preferences -> Interface.<br> Keep formatting tags <b> (bold text) and <br> (linebreak). %1 is the placeholder for the 'Always show' button label - + Ask me again - - + + Reconfigure Επαναρύθμιση - + Help Βοήθεια - - + + Exit Έξοδος - - + + Mixxx was unable to open all the configured sound devices. - + Sound Device Error - + <b>Retry</b> after fixing an issue - + No Output Devices - + Mixxx was configured without any output sound devices. Audio processing will be disabled without a configured output device. - + <b>Continue</b> without any outputs. - + Continue Συνέχεια - + Load track to Deck %1 - + Deck %1 is currently playing a track. - + Are you sure you want to load a new track? - + There is no input device selected for this vinyl control. Please select an input device in the sound hardware preferences first. - + There is no input device selected for this passthrough control. Please select an input device in the sound hardware preferences first. - + There is no input device selected for this microphone. Do you want to select an input device? - + There is no input device selected for this auxiliary. Do you want to select an input device? - + + Scan took %1 + + + + + No changes detected. + + + + + + %1 tracks in total + + + + + %1 new tracks found + + + + + %1 moved tracks detected + + + + + %1 tracks are missing (%2 total) + + + + + %1 tracks have been rediscovered + + + + + Library scan finished + + + + Error in skin file Σφάλμα στο αρχείο skin - + The selected skin cannot be loaded. - + OpenGL Direct Rendering - + Direct rendering is not enabled on your machine.<br><br>This means that the waveform displays will be very<br><b>slow and may tax your CPU heavily</b>. Either update your<br>configuration to enable direct rendering, or disable<br>the waveform displays in the Mixxx preferences by selecting<br>"Empty" as the waveform display in the 'Interface' section. - - - + + + Confirm Exit Επιβεβαίωση εξόδου - + A deck is currently playing. Exit Mixxx? - + A sampler is currently playing. Exit Mixxx? - + The preferences window is still open. Το παράθυρο επιλογών είναι ακόμα ανοιχτό - + Discard any changes and exit Mixxx? Απαλοιφή αλλαγών και έξοδος του Mixxx; @@ -10013,13 +10119,13 @@ Do you want to select an input device? PlaylistFeature - + Lock Κλείδωμα - - + + Playlists Λίστες Αναπαραγωγής @@ -10029,32 +10135,58 @@ Do you want to select an input device? - + + Unlock all playlists + + + + + Delete all unlocked playlists + + + + Unlock Ξεκλείδωμα - + + + Confirm Deletion + + + + + Do you really want to delete all unlocked playlists? + + + + + Deleting %1 unlocked playlists.<br>This operation can not be undone! + + + + Playlists are ordered lists of tracks that allow you to plan your DJ sets. - + It may be necessary to skip some tracks in your prepared playlist or add some different tracks in order to maintain the energy of your audience. - + Some DJs construct playlists before they perform live, but others prefer to build them on-the-fly. - + When using a playlist during a live DJ set, remember to always pay close attention to how your audience reacts to the music you've chosen to play. - + Create New Playlist Δημιουργία νέας λίστας αναπαραγωγής @@ -11545,7 +11677,7 @@ Fully right: end of the effect period - + Deck %1 Deck %1 @@ -11678,7 +11810,7 @@ Hint: compensates "chipmunk" or "growling" voices - + Passthrough Διέλευση @@ -11709,7 +11841,7 @@ Hint: compensates "chipmunk" or "growling" voices - + Sampler %1 @@ -11842,12 +11974,12 @@ may introduce a 'pumping' effect and/or distortion. - + built-in - + missing @@ -11882,42 +12014,42 @@ may introduce a 'pumping' effect and/or distortion. - + Empty - + Simple - + Filtered - + HSV - + VSyncTest - + RGB - + Stacked - + Unknown @@ -11975,54 +12107,54 @@ may introduce a 'pumping' effect and/or distortion. RekordboxFeature - - - + + + Rekordbox - + Playlists Λίστες Αναπαραγωγής - + Folders - + Reads databases exported for Pioneer CDJ / XDJ players using the Rekordbox Export mode.<br/>Rekordbox can only export to USB or SD devices with a FAT or HFS file system.<br/>Mixxx can read a database from any device that contains the database folders (<tt>PIONEER</tt> and <tt>Contents</tt>).<br/>Not supported are Rekordbox databases that have been moved to an external device via<br/><i>Preferences > Advanced > Database management</i>.<br/><br/>The following data is read: - + Hot cues - + Loops (only the first loop is currently usable in Mixxx) - + Check for attached Rekordbox USB / SD devices (refresh) - + Beatgrids - + Memory cues - + (loading) Rekordbox @@ -12157,19 +12289,19 @@ may introduce a 'pumping' effect and/or distortion. Κλείδωμα - - + + Confirm Deletion Επιβεβαίωση Διαγραφής - + Do you really want to delete all unlocked playlist from <b>%1</b>?<br><br> %1 is the year <b> + </b> are used to make the text in between bold in the popup <br> is a linebreak - + Deleting %1 playlists from <b>%2</b>.<br><br> %1 is the number of playlists to be deleted %2 is the year <b> + </b> are used to make the text in between bold in the popup <br> is a linebreak @@ -12581,7 +12713,7 @@ may introduce a 'pumping' effect and/or distortion. - + Spinning Vinyl @@ -12763,7 +12895,7 @@ may introduce a 'pumping' effect and/or distortion. - + Cover Art Εξώφυλλο @@ -12999,197 +13131,197 @@ may introduce a 'pumping' effect and/or distortion. Όταν χτυπηθεί, ρυθμίζει το μέσο BPM προς τα επάνω κατά μικρή δόση. - + Adjust Beats Earlier - + When tapped, moves the beatgrid left by a small amount. - + Adjust Beats Later - + When tapped, moves the beatgrid right by a small amount. - + Tempo and BPM Tap Ρυθμός και χτύπος BPM - + Show/hide the spinning vinyl section. - + Keylock - + Toggling keylock during playback may result in a momentary audio glitch. - + Toggle visibility of Loop Controls - + Toggle visibility of Beatjump Controls - + Toggle visibility of Rate Control - + Toggle visibility of Key Controls - + (while previewing) - + Places a cue point at the current position on the waveform. - + Stops track at cue point, OR go to cue point and play after release (CUP mode). - + Set cue point (Pioneer/Mixxx/Numark mode), set cue point and play after release (CUP mode) OR preview from it (Denon mode). - + Is latching the playing state. - + Seeks the track to the cue point and stops. - + Play Αναπαραγωγή - + Plays track from the cue point. - + Sends the selected channel's audio to the headphone output, selected in Preferences -> Sound Hardware. - + (This skin should be updated to use Sync Lock!) - + Enable Sync Lock - + Tap to sync the tempo to other playing tracks or the sync leader. - + Enable Sync Leader - + When enabled, this device will serve as the sync leader for all other decks. - + This is relevant when a dynamic tempo track is loaded to a sync leader deck.In that case, other synced devices will adopt the changing tempo. - + Changes the track playback speed (affects both the tempo and the pitch). If keylock is enabled, only the tempo is affected. - + Tempo Range Display - + Displays the current range of the tempo slider. - + Un-ejects when no track is loaded, i.e. reloads the track that was ejected last (of any deck). - + Delete selected hotcue. - + Track Comment - + Displays the comment tag of the loaded track. - + Opens separate artwork viewer. - + Effect Chain Preset Settings - + Show the effect chain settings menu for this unit. - + Select and configure a hardware device for this input - + Recording Duration Διάρκεια Ηχογράφησης @@ -13427,924 +13559,932 @@ may introduce a 'pumping' effect and/or distortion. - + + Adjust beatgrid by exactly one half beat. Usable only on +tracks with constant tempo. + + + + Revert last BPM/Beatgrid Change - + Revert last BPM/Beatgrid Change of the loaded track. - - + + Toggle the BPM/beatgrid lock - + Tempo and Rate Tap - + Tempo, Rate Tap and BPM Tap - + Shift cues earlier - - + + Shift cues imported from Serato or Rekordbox if they are slightly off time. - + Left click: shift 10 milliseconds earlier - + Right click: shift 1 millisecond earlier - + Shift cues later - + Left click: shift 10 milliseconds later - + Right click: shift 1 millisecond later - + + + + Drag a Hotcue button here to continue playing after releasing the Hotcue. + + + + Hint: Change the default cue mode in Preferences -> Decks. - + Mutes the selected channel's audio in the main output. - + Main mix enable - + Hold or short click for latching to mix this input into the main output. - + If hotcue is a loop cue, toggles the loop and jumps to if the loop is behind the play position. - + If the play position is inside an active loop, stores the loop as loop cue. - + Drag this button onto another Hotcue button to move it there (change its index). If the other hotcue is set, the two are swapped. - - Dragging with Shift key pressed will not start previewing the hotcue - - - - + Expand/Collapse Samplers - + Toggle expanded samplers view. - + Displays the duration of the running recording. - + Auto DJ is active - + Red for when needle skip has been detected. - + Hot Cue - Track will seek to nearest previous hotcue point. - + Sets the track Loop-In Marker to the current play position. - + Press and hold to move Loop-In Marker. - + Jump to Loop-In Marker. - + Sets the track Loop-Out Marker to the current play position. - + Press and hold to move Loop-Out Marker. - + Jump to Loop-Out Marker. - + If the track has no beats the unit is seconds. - + Beatloop Size - + Select the size of the loop in beats to set with the Beatloop button. - + Changing this resizes the loop if the loop already matches this size. - + Halve the size of an existing beatloop, or halve the size of the next beatloop set with the Beatloop button. - + Double the size of an existing beatloop, or double the size of the next beatloop set with the Beatloop button. - + Start a loop over the set number of beats. - + Temporarily enable a rolling loop over the set number of beats. - + Beatloop Anchor - + Define whether the loop is created and adjusted from its staring point or ending point. - + Beatjump/Loop Move Size - + Select the number of beats to jump or move the loop with the Beatjump Forward/Backward buttons. - + Beatjump Forward - + Jump forward by the set number of beats. - + Move the loop forward by the set number of beats. - + Jump forward by 1 beat. - + Move the loop forward by 1 beat. - + Beatjump Backward - + Jump backward by the set number of beats. - + Move the loop backward by the set number of beats. - + Jump backward by 1 beat. - + Move the loop backward by 1 beat. - + Reloop - + If the loop is ahead of the current position, looping will start when the loop is reached. - + Works only if Loop-In and Loop-Out Marker are set. - + Enable loop, jump to Loop-In Marker, and stop playback. - + Displays the elapsed and/or remaining time of the track loaded. - + Click to toggle between time elapsed/remaining time/both. - + Hint: Change the time format in Preferences -> Decks. - + Show/hide intro & outro markers and associated buttons. - + Intro Start Marker - - - - + + + + If marker is set, jumps to the marker. - - - - + + + + If marker is not set, sets the marker to the current play position. - - - - + + + + If marker is set, clears the marker. - + Intro End Marker - + Outro Start Marker - + Outro End Marker - + Mix Μείξη - + Adjust the mixing of the dry (input) signal with the wet (output) signal of the effect unit - + D/W mode: Crossfade between dry and wet - + D+W mode: Add wet to dry - + Mix Mode - + Adjust how the dry (input) signal is mixed with the wet (output) signal of the effect unit - + Dry/Wet mode (crossed lines): Mix knob crossfades between dry and wet Use this to change the sound of the track with EQ and filter effects. - + Dry+Wet mode (flat dry line): Mix knob adds wet to dry Use this to change only the effected (wet) signal with EQ and filter effects. - + Route the main mix through this effect unit. - + Route the left crossfader bus through this effect unit. - + Route the right crossfader bus through this effect unit. - + Right side active: parameter moves with right half of Meta Knob turn - + Stem Label - + Name of the stem stored in the stem file - + Text is displayed in the stem color stored in the stem file - + this stem color is also used for the waveform of this stem - + Stem Mute - + Toggle the stem mute/unmuted - + Stem Volume Knob - + Adjusts the volume of the stem - + Skin Settings Menu - + Show/hide skin settings menu - + Save Sampler Bank - + Save the collection of samples loaded in the samplers. - + Load Sampler Bank - + Load a previously saved collection of samples into the samplers. - + Show Effect Parameters - + Enable Effect - + Meta Knob Link - + Set how this parameter is linked to the effect's Meta Knob. - + Meta Knob Link Inversion - + Inverts the direction this parameter moves when turning the effect's Meta Knob. - + Super Knob - + Next Chain - + Previous Chain - + Next/Previous Chain - + Clear Εκκαθάριση - + Clear the current effect. - + Toggle - + Toggle the current effect. - + Next Επόμενο - + Clear Unit - + Clear effect unit. - + Show/hide parameters for effects in this unit. - + Toggle Unit - + Enable or disable this whole effect unit. - + Controls the Meta Knob of all effects in this unit together. - + Load next effect chain preset into this effect unit. - + Load previous effect chain preset into this effect unit. - + Load next or previous effect chain preset into this effect unit. - - - - - - - - - + + + + + + + + + Assign Effect Unit - + Assign this effect unit to the channel output. - + Route the headphone channel through this effect unit. - + Route this deck through the indicated effect unit. - + Route this sampler through the indicated effect unit. - + Route this microphone through the indicated effect unit. - + Route this auxiliary input through the indicated effect unit. - + The effect unit must also be assigned to a deck or other sound source to hear the effect. - + Switch to the next effect. Εναλλαγή στο επόμενο εφέ - + Previous Προηγούμενο - + Switch to the previous effect. Εναλλαγή στο προηγούμενο εφέ - + Next or Previous Επόμενο ή Προηγούμενο - + Switch to either the next or previous effect. Εναλλαγή είτε στο επόμενο είτε στο προηγούμενο εφέ - + Meta Knob - + Controls linked parameters of this effect - + Effect Focus Button - + Focuses this effect. - + Unfocuses this effect. - + Refer to the web page on the Mixxx wiki for your controller for more information. - + Effect Parameter Παράμετρος Εφέ - + Adjusts a parameter of the effect. Ρυθμίζει την παράμετρο του εφέ - + Inactive: parameter not linked - + Active: parameter moves with Meta Knob - + Left side active: parameter moves with left half of Meta Knob turn - + Left and right side active: parameter moves across range with half of Meta Knob turn and back with the other half - - + + Equalizer Parameter Kill - - + + Holds the gain of the EQ to zero while active. - + Quick Effect Super Knob - + Quick Effect Super Knob (control linked effect parameters). - + Hint: Change the default Quick Effect mode in Preferences -> Equalizers. - + Equalizer Parameter Παράμετρος Ισοσταθμιστή - + Adjusts the gain of the EQ filter. - + Hint: Change the default EQ mode in Preferences -> Equalizers. - - + + Adjust Beatgrid - + Adjust beatgrid so the closest beat is aligned with the current play position. - - + + Adjust beatgrid to match another playing deck. - + If quantize is enabled, snaps to the nearest beat. - + Quantize - + Toggles quantization. - + Loops and cues snap to the nearest beat when quantization is enabled. - + Reverse - + Reverses track playback during regular playback. - + Puts a track into reverse while being held (Censor). - + Playback continues where the track would have been if it had not been temporarily reversed. - - - + + + Play/Pause Αναπαραγωγή/Παύση - + Jumps to the beginning of the track. Μεταπηδάει στην αρχή του κομματιού. - + Syncs the tempo (BPM) and phase to that of the other track, if BPM is detected on both. Συγχρονίζει το ρυθμό (BPM) και τη φάση σε αυτή του άλλου κομματιού, εάν αμφότερα τα BPM έχουν ανιχνευθεί. - + Syncs the tempo (BPM) to that of the other track, if BPM is detected on both. Συγχρονίζει το ρυθμό (BPM) σε αυτό του άλλου κομματιού, εάν αμφότερα τα BPM έχουν ανιχνευθεί. - + Sync and Reset Key Συγχρονισμός και Επαναφορά Κλειδιού. - + Increases the pitch by one semitone. Αυξάνει τον τόνο κατά ένα ημιτόνιο. - + Decreases the pitch by one semitone. Μειώνει τον τόνο κατά ένα ημιτόνιο. - + Enable Vinyl Control - + When disabled, the track is controlled by Mixxx playback controls. - + When enabled, the track responds to external vinyl control. - + Enable Passthrough - + Indicates that the audio buffer is too small to do all audio processing. - + Displays cover artwork of the loaded track. - + Displays options for editing cover artwork. - + Star Rating - + Assign ratings to individual tracks by clicking the stars. @@ -14479,33 +14619,33 @@ Use this to change only the effected (wet) signal with EQ and filter effects. - + Prevents the pitch from changing when the rate changes. - + Changes the number of hotcue buttons displayed in the deck - + Starts playing from the beginning of the track. Αρχίζει αναπαραγωγή από την αρχή του κομματιού. - + Jumps to the beginning of the track and stops. Μεταπηδάει στην αρχή του κομματιού και σταματάει. - - + + Plays or pauses the track. Παίζει ή παύει το κομμάτι. - + (while playing) (ενώ παίζει) @@ -14525,205 +14665,215 @@ Use this to change only the effected (wet) signal with EQ and filter effects. - + (while stopped) (ενώ είναι σταματημένο) - + Cue - + Headphone Ακουστικά - + Mute Σίγαση - + Old Synchronize - + Syncs to the first deck (in numerical order) that is playing a track and has a BPM. Συγχρονίζει στο πρώτο κατά αριθμητική σειρά deck όπου παίζεται κομμάτι και υπάρχει BPM. - + If no deck is playing, syncs to the first deck that has a BPM. Εάν δεν παίζει κανένα deck, συγχρονίζει στο πρώτο deck που έχει BPM. - + Decks can't sync to samplers and samplers can only sync to decks. - + Hold for at least a second to enable sync lock for this deck. - + Decks with sync locked will all play at the same tempo, and decks that also have quantize enabled will always have their beats lined up. - + Resets the key to the original track key. - + Speed Control Έλεγχος Ταχύτητας - - - + + + Changes the track pitch independent of the tempo. - + Increases the pitch by 10 cents. - + Decreases the pitch by 10 cents. - + Pitch Adjust Ρύθμιση Τόνου - + Adjust the pitch in addition to the speed slider pitch. - + Opens a menu to clear hotcues or edit their labels and colors. - + + Drag this button onto a Play button while previewing to continue playback after release. + + + + + Dragging with Shift key pressed will not start previewing the hotcue. + + + + Record Mix Εγγραφή μίξης - + Toggle mix recording. - + Enable Live Broadcasting - + Stream your mix over the Internet. - + Provides visual feedback for Live Broadcasting status: - + disabled, connecting, connected, failure. - + When enabled, the deck directly plays the audio arriving on the vinyl input. - + Playback will resume where the track would have been if it had not entered the loop. - + Loop Exit - + Turns the current loop off. - + Slip Mode - + When active, the playback continues muted in the background during a loop, reverse, scratch etc. - + Once disabled, the audible playback will resume where the track would have been. - + Track Key The musical key of a track - + Displays the musical key of the loaded track. - + Clock - + Displays the current time. - + Audio Latency Usage Meter - + Displays the fraction of latency used for audio processing. - + A high value indicates that audible glitches are likely. - + Do not enable keylock, effects or additional decks in this situation. - + Audio Latency Overload Indicator @@ -14768,254 +14918,254 @@ Use this to change only the effected (wet) signal with EQ and filter effects. - + Fast Rewind Γρήγορη Επιστροφή - + Fast rewind through the track. - + Fast Forward Γρήγορη Προώθηση - + Fast forward through the track. - + Jumps to the end of the track. Μετάβαση στο τέλος του κομματιού - + Sets the pitch to a key that allows a harmonic transition from the other track. Requires a detected key on both involved decks. - - - + + + Pitch Control - + Pitch Rate - + Displays the current playback rate of the track. - + Repeat Επανάληψη - + When active the track will repeat if you go past the end or reverse before the start. - + Eject Αποβολή - + Ejects track from the player. - + Hotcue - + If hotcue is set, jumps to the hotcue. - + If hotcue is not set, sets the hotcue to the current play position. - + Vinyl Control Mode - + Absolute mode - track position equals needle position and speed. - + Relative mode - track speed equals needle speed regardless of needle position. - + Constant mode - track speed equals last known-steady speed regardless of needle input. - + Vinyl Status - + Provides visual feedback for vinyl control status: - + Green for control enabled. - + Blinking yellow for when the needle reaches the end of the record. - + Loop-In Marker - + Loop-Out Marker - + Loop Halve - + Halves the current loop's length by moving the end marker. - + Deck immediately loops if past the new endpoint. - + Loop Double - + Doubles the current loop's length by moving the end marker. - + Beatloop - + Toggles the current loop on or off. - + Works only if Loop-In and Loop-Out marker are set. - + Vinyl Cueing Mode - + Determines how cue points are treated in vinyl control Relative mode: - + Off - Cue points ignored. - + One Cue - If needle is dropped after the cue point, track will seek to that cue point. - + Track Time Χρόνος κομματιού - + Track Duration Διάρκεια κομματιού - + Displays the duration of the loaded track. - + Information is loaded from the track's metadata tags. - + Track Artist Καλλιτέχνης κομματιού - + Displays the artist of the loaded track. - + Track Title Τίτλος Κομματιού - + Displays the title of the loaded track. - + Track Album Τίτλος Δίσκου - + Displays the album name of the loaded track. - + Track Artist/Title - + Displays the artist and title of the loaded track. @@ -15023,12 +15173,12 @@ Use this to change only the effected (wet) signal with EQ and filter effects. TrackCollection - + Hiding tracks - + The selected tracks are in the following playlists:%1Hiding them will remove them from these playlists. Continue? @@ -15036,47 +15186,42 @@ Use this to change only the effected (wet) signal with EQ and filter effects. TrackExportDlg - + Export finished - + Exporting %1 - - - Overwrite Existing File? - - - "%1" already exists, overwrite? + Replace Existing File? - - &Overwrite + + "%1" already exists, replace? - - Over&write All + + &Replace - - &Skip + + Apply to all files - Skip &All + &Skip - + Export Error @@ -15248,47 +15393,47 @@ This can not be undone! WCueMenuPopup - + Cue number - + Cue position - + Edit cue label - + Label... - + Delete this cue - + Toggle this cue type between normal cue and saved loop - + Left-click: Use the old size or the current beatloop size as the loop size - + Right-click: Use the current play position as loop end if it is after the cue - + Hotcue #%1 @@ -15412,407 +15557,438 @@ This can not be undone! - - E&xport Library to Engine Prime + + Search in Current View... - - Export the library to the Engine Prime format + + Search for tracks in the current library view - + + Ctrl+f + + + + + Search in Tracks Library... + + + + + Search in the internal track collection under "Tracks" in the library + + + + + Ctrl+Shift+F + + + + Create &New Playlist - + Create a new playlist - + Ctrl+n - + Create New &Crate - + Create a new crate - + Ctrl+Shift+N Ctrl+Shift+N - - + + &View &Εμφάνιση - + Auto-hide menu bar - + Auto-hide the main menu bar when it's not used. - + May not be supported on all skins. - + Show Skin Settings Menu - + Show the Skin Settings Menu of the currently selected Skin - + Ctrl+1 Menubar|View|Show Skin Settings - + Show Microphone Section - + Show the microphone section of the Mixxx interface. - + Ctrl+2 Menubar|View|Show Microphone Section - + Show Vinyl Control Section - + Show the vinyl control section of the Mixxx interface. - + Ctrl+3 Menubar|View|Show Vinyl Control Section - + Show Preview Deck - + Show the preview deck in the Mixxx interface. - + Ctrl+4 Menubar|View|Show Preview Deck - + Show Cover Art - + Show cover art in the Mixxx interface. - + Ctrl+6 Menubar|View|Show Cover Art - + Maximize Library - + Maximize the track library to take up all the available screen space. Μεγιστοποίηση της βιλιοθήκης αρχείων ώστε να καταλαμβάνει ολόκληρο τον διαθέσιμο χώρο της οθόνης - + Space Menubar|View|Maximize Library - + &Full Screen &Πλήρης Οθόνη - + Display Mixxx using the full screen Εμφάνιση του Mixxx σε πλήρη οθόνη - + &Options &Επιλογές - + &Vinyl Control - + Use timecoded vinyls on external turntables to control Mixxx - + Enable Vinyl Control &%1 - + &Record Mix - + Record your mix to a file Ηχογραφήστε την μίξη σας σε αρχείο - + Ctrl+R Ctrl+R - + Enable Live &Broadcasting - + Stream your mixes to a shoutcast or icecast server - + Ctrl+L Ctrl+L - + Enable &Keyboard Shortcuts - + Toggles keyboard shortcuts on or off - + Ctrl+` - + &Preferences &Προτιμήσεις - + Change Mixxx settings (e.g. playback, MIDI, controls) - + &Developer - + &Reload Skin - + Reload the skin - + Ctrl+Shift+R - + Developer &Tools - + Opens the developer tools dialog - + Ctrl+Shift+T - + Stats: &Experiment Bucket - + Enables experiment mode. Collects stats in the EXPERIMENT tracking bucket. - + Ctrl+Shift+E - + Stats: &Base Bucket - + Enables base mode. Collects stats in the BASE tracking bucket. - + Ctrl+Shift+B - + Deb&ugger Enabled - + Enables the debugger during skin parsing - + Ctrl+Shift+D - + &Help &Βοήθεια - + Show Keywheel menu title - + + E&xport Library to Engine DJ + "Engine DJ" must not be translated + + + + + Export the library to the Engine DJ format + + + + Show keywheel tooltip text - + F12 Menubar|View|Show Keywheel - + &Community Support - + Get help with Mixxx - + &User Manual - + Read the Mixxx user manual. - + &Keyboard Shortcuts - + Speed up your workflow with keyboard shortcuts. - + &Settings directory - + Open the Mixxx user settings directory. - + &Translate This Application - + Help translate this application into your language. - + &About &Περί - + About the application @@ -15820,25 +15996,25 @@ This can not be undone! WOverview - + Passthrough Διέλευση - + Ready to play, analyzing... Text on waveform overview when file is playable but no waveform is visible - - + + Loading track... Text on waveform overview when file is cached from source - + Finalizing... Text on waveform overview during finalizing of waveform analysis @@ -15847,25 +16023,13 @@ This can not be undone! WSearchLineEdit - - Clear input - Clear the search bar input field - - - - - Ctrl+F - Search|Focus - Ctrl+F - - - + Search noun Αναζήτηση - + Clear input @@ -15876,169 +16040,163 @@ This can not be undone! Αναζήτηση - + Clear the search bar input field - - Enter a string to search for + + Return - - Use operators like bpm:115-128, artist:BooFar, -year:1990 + + Enter a string to search for. - - For more information see User Manual > Mixxx Library + + Use operators like bpm:115-128, artist:BooFar, -year:1990. - Shortcut + See User Manual > Mixxx Library for more information. - - Ctrl+F - Ctrl+F + + Focus/Select All (Search in current view) + Give search bar input focus + - - Focus - Give search bar input focus + + Focus/Select All (Search in 'Tracks' library view) - - - Ctrl+Backspace + + Additional Shortcuts When Focused: - Shortcuts + Trigger search before search-as-you-type timeout or focus tracks view afterwards - Return + Esc or Ctrl+Return - Trigger search before search-as-you-type timeout orjump to tracks view afterwards + Immediately trigger search and focus tracks view + Exit search bar and leave focus - + Ctrl+Space - + Toggle search history Shows/hides the search history entries - + Delete or Backspace - - Delete query from history + + in search history - - Esc - Esc - - - - Exit search - Exit search bar and leave focus + + Delete query from history WSearchRelatedTracksMenu - + Search related Tracks - + Key Κλειδί - + harmonic with %1 - + BPM BPM - + between %1 and %2 - + Artist Καλλιτέχνης - + Album Artist Καλλιτέχνης δίσκου - + Composer Συνθέτης - + Title Τίτλος - + Album Άλμπουμ - + Grouping Ομαδοποίηση - + Year Έτος - + Genre Είδος - + Directory - + &Search selected @@ -16046,599 +16204,625 @@ This can not be undone! WTrackMenu - + Load to - + Deck - + Sampler - + Add to Playlist Προσθήκη στη Λίστα Αναπαραγωγής - + Crates Κιβώτια - + Metadata - + Update external collections - + Cover Art Εξώφυλλο - + Adjust BPM - + Select Color - - + + Analyze Ανάλυση - - + + Delete Track Files - + Add to Auto DJ Queue (bottom) Προσθήκη στη λίστα του Αυτόματου DJ (στο τέλος) - + Add to Auto DJ Queue (top) Προσθήκη στη λίστα του Αυτόματου DJ (στην αρχή) - + Add to Auto DJ Queue (replace) Προσθήκη στη λίστα του Αυτόματου DJ (Αντικατάσταση) - + Preview Deck - + Remove Αφαίρεση - + Remove from Playlist - + Remove from Crate - + Hide from Library - + Unhide from Library - + Purge from Library - + Move Track File(s) to Trash - + Delete Files from Disk - + Properties Ιδιότητες - + Open in File Browser Άνοιξε το στο πρόγραμμα περιήγησης αρχείων - + Select in Library - + Import From File Tags Εισαγωγή Από Ετικέτες Αρχείου - + Import From MusicBrainz Εισαγωγή από MusicBrainz - + Export To File Tags - + BPM and Beatgrid - + Play Count - + Rating Αξιολόγηση - + Cue Point - + + Hotcues - + Intro - + Outro - + Key Κλειδί - + ReplayGain ReplayGain - + Waveform Κυματομορφή - + Comment Σχόλιο - + All Όλα - + + Sort hotcues by position (remove offsets) + + + + + Sort hotcues by position + + + + Lock BPM Kλείδωμα BPM - + Unlock BPM Ξεκλείδωμα BPM - + Double BPM Διπλασιασμός BPM - + Halve BPM Υποδιπλασιασμός BPM - + 2/3 BPM 2/3 BPM - + 3/4 BPM 3/4 BPM - + 4/3 BPM - + 3/2 BPM - + + Shift Beatgrid Half Beat + + + + Reanalyze - + Reanalyze (constant BPM) - + Reanalyze (variable BPM) - + Update ReplayGain from Deck Gain - + Deck %1 Deck %1 - + Importing metadata of %n track(s) from file tags - + Marking metadata of %n track(s) to be exported into file tags - - + + Create New Playlist Δημιουργία νέας λίστας αναπαραγωγής - + Enter name for new playlist: Εισάγετε όνομα για τη νέα λίστα αναπαραγωγής: - + New Playlist Νέα Λίστα Αναπαραγωγής - - - + + + Playlist Creation Failed Η δημιουργία λίστας αναπαραγωγής απέτυχε - + A playlist by that name already exists. Μια λίστα αναπαραγωγής με αυτό το όνομα υπάρχει ήδη. - + A playlist cannot have a blank name. Η λίστα αναπαραγωγής δεν μπορεί να έχει κενό όνομα. - + An unknown error occurred while creating playlist: Προέκυψε άγνωστο σφάλμα κατά τη δημιουργία λίστας: - + Add to New Crate - + Scaling BPM of %n track(s) - + Undo BPM/beats change of %n track(s) - + Locking BPM of %n track(s) - + Unlocking BPM of %n track(s) - + Setting rating of %n track(s) - + Setting color of %n track(s) - + Resetting play count of %n track(s) - + Resetting beats of %n track(s) - + Clearing rating of %n track(s) - + Clearing comment of %n track(s) - + Removing main cue from %n track(s) - + Removing outro cue from %n track(s) - + Removing intro cue from %n track(s) - + Removing loop cues from %n track(s) - + Removing hot cues from %n track(s) - + + Sorting hotcues of %n track(s) by position (remove offsets) + + + + + Sorting hotcues of %n track(s) by position + + + + Resetting keys of %n track(s) - + Resetting replay gain of %n track(s) - + Resetting waveform of %n track(s) - + Resetting all performance metadata of %n track(s) - + Move these files to the trash bin? - + Permanently delete these files from disk? - - + + This can not be undone! - + Cancel Άκυρο - + Delete Files - + Okay - + Move Track File(s) to Trash? - + Track Files Deleted - + Track Files Moved To Trash - + %1 track files were moved to trash and purged from the Mixxx database. - + %1 track files were deleted from disk and purged from the Mixxx database. - + Track File Deleted - + Track file was deleted from disk and purged from the Mixxx database. - + The following %1 file(s) could not be deleted from disk - + This track file could not be deleted from disk - + Remaining Track File(s) - + Close Κλείσιμο - + Clear Reset metadata in right click track context menu in library - + Loops - + Clear BPM and Beatgrid - + Undo last BPM/beats change - + Move this track file to the trash bin? - + Permanently delete this track file from disk? - + All decks where these tracks are loaded will be stopped and the tracks will be ejected. - + All decks where this track is loaded will be stopped and the track will be ejected. - + Removing %n track file(s) from disk... - + Note: if you are in the Computer or Recording view you need to click the current view again to see changes. - + Track File Moved To Trash - + Track file was moved to trash and purged from the Mixxx database. - + Don't show again during this session - + The following %1 file(s) could not be moved to trash - + This track file could not be moved to trash - + Setting cover art of %n track(s) - + Reloading cover art of %n track(s) @@ -16654,37 +16838,37 @@ This can not be undone! WTrackStemMenu - + Load for stem mixing - + Load pre-mixed stereo track - + Load the "%1" stem - + Load multiple stem into a stereo deck - + Select stems to load - + Release "CTRL" to load the current selection - + Use "CTRL" to select multiple stems @@ -16692,37 +16876,37 @@ This can not be undone! WTrackTableView - + Confirm track hide - + Are you sure you want to hide the selected tracks? - + Are you sure you want to remove the selected tracks from AutoDJ queue? - + Are you sure you want to remove the selected tracks from this crate? - + Are you sure you want to remove the selected tracks from this playlist? - + Don't ask again during this session - + Confirm track removal @@ -16730,60 +16914,65 @@ This can not be undone! WTrackTableViewHeader - + Show or hide columns. Εμφάνιση ή κρύψιμο στηλών + + + Shuffle Tracks + + mixxx::CoreServices - + fonts - + database - + effects - + audio interface - + decks - + library - + Choose music library directory Επιλογή καταλόγου μουσικής συλλογής - + controllers - + Cannot open database Αδυναμία ανοίγματος της βάσης δεδομένων - + Unable to establish a database connection. Mixxx requires QT with SQLite support. Please read the Qt SQL driver documentation for information on how to build it. @@ -16797,67 +16986,78 @@ Click OK to exit. mixxx::DlgLibraryExport - + Entire music library - - Selected crates + + Crates + + + + + Playlists + + + + + Selected crates/playlists - + Browse Περιηγηθείτε - + Export directory - + Database version - + Export Εξαγωγή - + Cancel Άκυρο - - Export Library to Engine Prime + + Export Library to Engine DJ + "Engine DJ" must not be translated - + Export Library To - + No Export Directory Chosen - + No export directory was chosen. Please choose a directory in order to export the music library. - + A database already exists in the chosen directory. Exported tracks will be added into this database. - + A database already exists in the chosen directory, but there was a problem loading it. Export is not guaranteed to succeed in this situation. @@ -16878,7 +17078,7 @@ Click OK to exit. mixxx::EnginePrimeExportJob - + Failed to export track %1 - %2: %3 %1 is the artist %2 is the title and %3 is the original error message @@ -16888,23 +17088,23 @@ Click OK to exit. mixxx::LibraryExporter - + Export Completed - - Exported %1 track(s) and %2 crate(s). + + Exported %1 track(s), %2 crate(s), and %3 playlist(s). - + Export Failed - - Exporting to Engine Prime... + + Exporting to Engine DJ... diff --git a/res/translations/mixxx_en_CA.qm b/res/translations/mixxx_en_CA.qm index 446e85d9c35b29e7c7689563f45bab2e9f0bcd06..9360e0a23ce2eb8db1dae9d7a52fedbd65512543 100644 GIT binary patch delta 761 zcmW-eT}V@L7{<^4+1Z!Qoo%|aFY}bk*~d~VH!1Q1lW7pMd7)|LC`wbvNK+w517mep z@m7|k7ZF=n8TF5b5avyeZj>(4ib^Ob`aq$AT?E;|i-+IM%frL(y|QSH&s#6&v5SwC zB?kRnlHfyDH!yQ40ycERj7^UzJmXkcCQ4ftWCAE#vJ4w>rrb*pT=-yL8 zAB3c%MSUkl4C`U=Qoo@B+50JJXhY5tDaKhC-tlGQ7r;G83#I|s{!mlaW3rle**w2l zOSo9T_%u7%@>US#DvFxNkoknKnEL?Rb>45)F*v*Vpe+a}E0oNca%WFy4xC;P@McMK zVEmV$IZ>rKR9GsAP6u7G%W%A)g#8trlaIkVPhaImI6w1B#~6dnLW|Bg^c{4;6||XO zi#PT>6U4l(}c>B6m)!q=L@`ErYX(fLXZS^`S z;`KxSkp{gL(0=C6y^Rc>OXMh+fUM!Ef*^x6lU961F#e$8LK(TeR9iRzOMs^eCm3?} zQUAuBd~)M026F>7ZSI5XJI!s5K{v{q{9y+7GEZz#X_@8eqBaIYl%geVa6aUz5+8$U z3oUPLg?*aWZ;LZXrIg-2kNk0(D-FZmOiEx1N)IgtWLQQh9mqpw1$PA1e^>`dDVu;j zm(P`TsY{4g?wHcpvI3^WgDV0nJ-SLU$3;?k7}9ZymWSZ-QKEbd<`}Q7P&=d#yuQ+` z`r$lUrONd9czg9zhO7}%YGN>r@I+07NuBqG1mW<_Rf@JFTndF4yhduO-9a~MJK^ma n?r0G=4EgIW`0JP&sL>?-b>egF@V>Bkez-p(_9oK};z;g)V=?VQ delta 1509 zcmZ8eZERCj7(Vyy?Y&#quB_Wy+Li7?p%wN$w{~6FM>f}vgfKTWP;?Zd zcAv%aJ$riFyM%Qc*r~*`gxzonXYKo;G>5#STYry|b*LeSivf2p4pv-%HGg8AbH-rm z*KhjcVaoZ2deg}PI9|i=TtTRq#k$G~aP{G0WzbM4>tF18jOzQV$_up&6gR5=_4}#7 z&tZ0h4@@896K2;A1)E<#q0b8Y*)1mA@4l~WxZ;~JI}z{82UH2 za_Qgc(EO^rnF?W%&|GyG*8PQB(c>JT~9KmMNC#2NmH;?9t3awQpy+gq~j?enXQYkE{A~xDOQY(k>qNzUVDgE zt~*GA*~}H4m(SCdh?HI02oR%PGs%PO+i@^Mr1`2;t5J?L`=oy1m!6S zeMw3_EGEXpVWC|J$J6PwuszUc(g4%WK?92QSkV)V%p<4LL&V^Evt20A2N~ zuMYGj{gNP$N{X10m838nACiRr(UI1MhUS`v#+GV9R8sL|sNTkrpN_E4JO2UBOQKu= diff --git a/res/translations/mixxx_en_CA.ts b/res/translations/mixxx_en_CA.ts index 6c07734ae43d..df107c1f9a3e 100644 --- a/res/translations/mixxx_en_CA.ts +++ b/res/translations/mixxx_en_CA.ts @@ -39,32 +39,32 @@ - + Remove Crate as Track Source Remove Crate as Track Source - + Auto DJ Auto DJ - + Confirmation Clear - + Do you really want to remove all tracks from the Auto DJ queue? - + This can not be undone. - + Add Crate as Track Source Add Crate as Track Source @@ -149,7 +149,7 @@ BasePlaylistFeature - + New Playlist New Playlist @@ -160,7 +160,7 @@ - + Create New Playlist Create New Playlist @@ -190,113 +190,120 @@ Duplicate - - + + Import Playlist Import Playlist - + Export Track Files Export Track Files - + Analyze entire Playlist Analyse entire Playlist - + Enter new name for playlist: Enter new name for playlist: - + Duplicate Playlist Duplicate Playlist - - + + Enter name for new playlist: Enter name for new playlist: - - + + Export Playlist Export Playlist - + Add to Auto DJ Queue (replace) Add to Auto DJ Queue (replace) - + + + Export to Engine DJ + "Engine DJ" is a product name and must not be translated. + + + + Rename Playlist Rename Playlist - - + + Renaming Playlist Failed Renaming Playlist Failed - - - + + + A playlist by that name already exists. A playlist by that name already exists. - - - + + + A playlist cannot have a blank name. A playlist cannot have a blank name. - + _copy //: Appendix to default name when duplicating a playlist _copy - - - - - - + + + + + + Playlist Creation Failed Playlist Creation Failed - - + + An unknown error occurred while creating playlist: An unknown error occurred while creating playlist: - + Confirm Deletion - + Do you really want to delete playlist <b>%1</b>? - + M3U Playlist (*.m3u) M3U Playlist (*.m3u) - + M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Text CSV (*.csv);;Readable Text (*.txt) M3U Playlist (*.m3u);; M3U8 Playlist (*.m3u8);; PLS Playlist (*.pls);; Text CSV (*.csv);; Readable Text (*.txt) @@ -304,12 +311,12 @@ BaseSqlTableModel - + # # - + Timestamp Timestamp @@ -317,7 +324,7 @@ BaseTrackPlayerImpl - + Couldn't load track. Couldn't load track. @@ -325,137 +332,142 @@ BaseTrackTableModel - + Album Album - + Album Artist Album Artist - + Artist Artist - + Bitrate Bitrate - + BPM BPM - + Channels Channels - + Color Color - + Comment Comment - + Composer Composer - + Cover Art Show Cover Art - + Date Added Date Added - + Last Played - + Duration Duration - + Type Type - + Genre Genre - + Grouping Grouping - + Key Key - + Location Location - + + Overview + + + + Preview Preview - + Rating Rating - + ReplayGain ReplayGain - + Samplerate Samplerate - + Played Played - + Title Title - + Track # Track # - + Year Year - + Fetching image ... Tooltip text on the cover art column shown when the cover is read from disk @@ -543,67 +555,77 @@ BrowseFeature - + Add to Quick Links Add to Quick Links - + Remove from Quick Links Remove from Quick Links - + Add to Library Add to Library - + Refresh directory tree - + Quick Links Quick Links - - + + Devices Devices - + Removable Devices Removable Devices - - + + Computer Computer - + Music Directory Added Music Directory Added - + You added one or more music directories. The tracks in these directories won't be available until you rescan your library. Would you like to rescan now? You added one or more music directories. The tracks in these directories won't be available until you rescan your library. Would you like to rescan now? - + Scan Scan - + "Computer" lets you navigate, view, and load tracks from folders on your hard disk and external devices. "Computer" lets you navigate, view, and load tracks from folders on your hard disk and external devices. + + + It shows the data from the file tags, not track data from your Mixxx library like other track views. + + + + + If you load a track file from here, it will be added to your library. + + BrowseTableModel @@ -1046,13 +1068,13 @@ trace - Above + Profiling messages - + Set to full volume Set to full volume - + Set to zero volume Set to zero volume @@ -1077,13 +1099,13 @@ trace - Above + Profiling messages Reverse roll (Censor) button - + Headphone listen button Headphone listen button - + Mute button Mute button @@ -1094,25 +1116,25 @@ trace - Above + Profiling messages - + Mix orientation (e.g. left, right, center) Mix orientation (e.g. left, right, center) - + Set mix orientation to left Set mix orientation to left - + Set mix orientation to center Set mix orientation to center - + Set mix orientation to right Set mix orientation to right @@ -1153,22 +1175,22 @@ trace - Above + Profiling messages BPM tap button - + Toggle quantize mode Toggle quantize mode - + One-time beat sync (tempo only) One-time beat sync (tempo only) - + One-time beat sync (phase only) One-time beat sync (phase only) - + Toggle keylock mode Toggle keylock mode @@ -1178,193 +1200,193 @@ trace - Above + Profiling messages Equalizers - + Vinyl Control Vinyl Control - + Toggle vinyl-control cueing mode (OFF/ONE/HOT) Toggle vinyl-control cueing mode (OFF/ONE/HOT) - + Toggle vinyl-control mode (ABS/REL/CONST) Toggle vinyl-control mode (ABS/REL/CONST) - + Pass through external audio into the internal mixer Pass through external audio into the internal mixer - + Cues Cues - + Cue button Cue button - + Set cue point Set cue point - + Go to cue point Go to cue point - + Go to cue point and play Go to cue point and play - + Go to cue point and stop Go to cue point and stop - + Preview from cue point Preview from cue point - + Cue button (CDJ mode) Cue button (CDJ mode) - + Stutter cue Stutter cue - + Hotcues Hotcues - + Set, preview from or jump to hotcue %1 Set, preview from or jump to hotcue %1 - + Clear hotcue %1 Clear hotcue %1 - + Set hotcue %1 Set hotcue %1 - + Jump to hotcue %1 Jump to hotcue %1 - + Jump to hotcue %1 and stop Jump to hotcue %1 and stop - + Jump to hotcue %1 and play Jump to hotcue %1 and play - + Preview from hotcue %1 Preview from hotcue %1 - - + + Hotcue %1 Hotcue %1 - + Looping Looping - + Loop In button Loop In button - + Loop Out button Loop Out button - + Loop Exit button Loop Exit button - + 1/2 1/2 - + 1 1 - + 2 2 - + 4 4 - + 8 8 - + 16 16 - + 32 32 - + 64 64 - + Move loop forward by %1 beats Move loop forward by %1 beats - + Move loop backward by %1 beats Move loop backward by %1 beats - + Create %1-beat loop Create %1-beat loop - + Create temporary %1-beat loop roll Create temporary %1-beat loop roll @@ -1480,20 +1502,20 @@ trace - Above + Profiling messages - - + + Volume Fader Volume Fader - + Full Volume Full Volume - + Zero Volume Zero Volume @@ -1509,7 +1531,7 @@ trace - Above + Profiling messages - + Mute Mute @@ -1520,7 +1542,7 @@ trace - Above + Profiling messages - + Headphone Listen Headphone Listen @@ -1541,25 +1563,25 @@ trace - Above + Profiling messages - + Orientation Orientation - + Orient Left Orient Left - + Orient Center Orient Center - + Orient Right Orient Right @@ -1629,82 +1651,82 @@ trace - Above + Profiling messages Adjust the beatgrid to the right - + Adjust Beatgrid Adjust Beatgrid - + Align beatgrid to current position Align beatgrid to current position - + Adjust Beatgrid - Match Alignment Adjust Beatgrid - Match Alignment - + Adjust beatgrid to match another playing deck. Adjust beatgrid to match another playing deck. - + Quantize Mode Quantize Mode - + Sync Sync - + Beat Sync One-Shot Beat Sync One-Shot - + Sync Tempo One-Shot Sync Tempo One-Shot - + Sync Phase One-Shot Sync Phase One-Shot - + Pitch control (does not affect tempo), center is original pitch Pitch control (does not affect tempo), center is original pitch - + Pitch Adjust Pitch Adjust - + Adjust pitch from speed slider pitch Adjust pitch from speed slider pitch - + Match musical key Match musical key - + Match Key Match Key - + Reset Key Reset Key - + Resets key to original Resets key to original @@ -1745,451 +1767,451 @@ trace - Above + Profiling messages Low EQ - + Toggle Vinyl Control Toggle Vinyl Control - + Toggle Vinyl Control (ON/OFF) Toggle Vinyl Control (ON/OFF) - + Vinyl Control Mode Vinyl Control Mode - + Vinyl Control Cueing Mode Vinyl Control Cueing Mode - + Vinyl Control Passthrough Vinyl Control Passthrough - + Vinyl Control Next Deck Vinyl Control Next Deck - + Single deck mode - Switch vinyl control to next deck Single deck mode - Switch vinyl control to next deck - + Cue Cue - + Set Cue Set Cue - + Go-To Cue Go-To Cue - + Go-To Cue And Play Go-To Cue And Play - + Go-To Cue And Stop Go-To Cue And Stop - + Preview Cue Preview Cue - + Cue (CDJ Mode) Cue (CDJ Mode) - + Stutter Cue Stutter Cue - + Go to cue point and play after release Go to cue point and play after release - + Clear Hotcue %1 Clear Hotcue %1 - + Set Hotcue %1 Set Hotcue %1 - + Jump To Hotcue %1 Jump To Hotcue %1 - + Jump To Hotcue %1 And Stop Jump To Hotcue %1 And Stop - + Jump To Hotcue %1 And Play Jump To Hotcue %1 And Play - + Preview Hotcue %1 Preview Hotcue %1 - + Loop In Loop In - + Loop Out Loop Out - + Loop Exit Loop Exit - + Reloop/Exit Loop Reloop/Exit Loop - + Loop Halve Loop Halve - + Loop Double Loop Double - + 1/32 1/32 - + 1/16 1/16 - + 1/8 1/8 - + 1/4 1/4 - + Move Loop +%1 Beats Move Loop +%1 Beats - + Move Loop -%1 Beats Move Loop -%1 Beats - + Loop %1 Beats Loop %1 Beats - + Loop Roll %1 Beats Loop Roll %1 Beats - + Add to Auto DJ Queue (bottom) Add to Auto DJ Queue (bottom) - + Append the selected track to the Auto DJ Queue Append the selected track to the Auto DJ Queue - + Add to Auto DJ Queue (top) Add to Auto DJ Queue (top) - + Prepend selected track to the Auto DJ Queue Prepend selected track to the Auto DJ Queue - + Load Track Load Track - + Load selected track Load selected track - + Load selected track and play Load selected track and play - - + + Record Mix Record Mix - + Toggle mix recording Toggle mix recording - + Effects Effects - + Quick Effects Quick Effects - + Deck %1 Quick Effect Super Knob Deck %1 Quick Effect Super Knob - + Quick Effect Super Knob (control linked effect parameters) Quick Effect Super Knob (control linked effect parameters) - - + + Quick Effect Quick Effect - + Clear Unit Clear Unit - + Clear effect unit Clear effect unit - + Toggle Unit Toggle Unit - + Dry/Wet Dry/Wet - + Adjust the balance between the original (dry) and processed (wet) signal. Adjust the balance between the original (dry) and processed (wet) signal. - + Super Knob Super Knob - + Next Chain Next Chain - + Assign Assign - + Clear Clear - + Clear the current effect Clear the current effect - + Toggle Toggle - + Toggle the current effect Toggle the current effect - + Next Next - + Switch to next effect Switch to next effect - + Previous Previous - + Switch to the previous effect Switch to the previous effect - + Next or Previous Next or Previous - + Switch to either next or previous effect Switch to either next or previous effect - - + + Parameter Value Parameter Value - - + + Microphone Ducking Strength Microphone Ducking Strength - + Microphone Ducking Mode Microphone Ducking Mode - + Gain Gain - + Gain knob Gain knob - + Shuffle the content of the Auto DJ queue Shuffle the content of the Auto DJ queue - + Skip the next track in the Auto DJ queue Skip the next track in the Auto DJ queue - + Auto DJ Toggle Auto DJ Toggle - + Toggle Auto DJ On/Off Toggle Auto DJ On/Off - + Show/hide the microphone & auxiliary section - + 4 Effect Units Show/Hide - + Switches between showing 2 and 4 effect units - + Mixer Show/Hide - + Show or hide the mixer. Show or hide the mixer. - + Cover Art Show/Hide (Library) Cover Art Show/Hide (Library) - + Show/hide cover art in the library Show/hide cover art in the library - + Library Maximize/Restore Library Maximize/Restore - + Maximize the track library to take up all the available screen space. Maximize the track library to take up all the available screen space. - + Effect Rack Show/Hide Effect Rack Show/Hide - + Show/hide the effect rack Show/hide the effect rack - + Waveform Zoom Out Waveform Zoom Out @@ -2204,102 +2226,102 @@ trace - Above + Profiling messages Headphone gain - + Tap to sync tempo (and phase with quantize enabled), hold to enable permanent sync Tap to sync tempo (and phase with quantize enabled), hold to enable permanent sync - + One-time beat sync tempo (and phase with quantize enabled) One-time beat sync tempo (and phase with quantize enabled) - + Playback Speed Playback Speed - + Playback speed control (Vinyl "Pitch" slider) Playback speed control (Vinyl "Pitch" slider) - + Pitch (Musical key) Pitch (Musical key) - + Increase Speed Increase Speed - + Adjust speed faster (coarse) Adjust speed faster (coarse) - + Increase Speed (Fine) Increase Speed (Fine) - + Adjust speed faster (fine) Adjust speed faster (fine) - + Decrease Speed Decrease Speed - + Adjust speed slower (coarse) Adjust speed slower (coarse) - + Adjust speed slower (fine) Adjust speed slower (fine) - + Temporarily Increase Speed Temporarily Increase Speed - + Temporarily increase speed (coarse) Temporarily increase speed (coarse) - + Temporarily Increase Speed (Fine) Temporarily Increase Speed (Fine) - + Temporarily increase speed (fine) Temporarily increase speed (fine) - + Temporarily Decrease Speed Temporarily Decrease Speed - + Temporarily decrease speed (coarse) Temporarily decrease speed (coarse) - + Temporarily Decrease Speed (Fine) Temporarily Decrease Speed (Fine) - + Temporarily decrease speed (fine) Temporarily decrease speed (fine) @@ -2451,1053 +2473,1063 @@ trace - Above + Profiling messages - - + + Move Beatgrid Half a Beat + + + + + Adjust the beatgrid by exactly one half beat. Usable only for tracks with constant tempo. + + + + + Toggle the BPM/beatgrid lock - + Revert last BPM/Beatgrid Change - + Revert last BPM/Beatgrid Change of the loaded track. - + Sync / Sync Lock - + Internal Sync Leader - + Toggle Internal Sync Leader - - + + Internal Leader BPM - + Internal Leader BPM +1 - + Increase internal Leader BPM by 1 - + Internal Leader BPM -1 - + Decrease internal Leader BPM by 1 - + Internal Leader BPM +0.1 - + Increase internal Leader BPM by 0.1 - + Internal Leader BPM -0.1 - + Decrease internal Leader BPM by 0.1 - + Sync Leader - + Sync mode 3-state toggle / indicator (Off, Soft Leader, Explicit Leader) - + Speed Speed - + Decrease Speed (Fine) - + Pitch (Musical Key) - + Increase Pitch - + Increases the pitch by one semitone - + Increase Pitch (Fine) - + Increases the pitch by 10 cents - + Decrease Pitch - + Decreases the pitch by one semitone - + Decrease Pitch (Fine) - + Decreases the pitch by 10 cents - + Keylock Keylock - + CUP (Cue + Play) CUP (Cue + Play) - + Shift cue points earlier - + Shift cue points 10 milliseconds earlier - + Shift cue points earlier (fine) - + Shift cue points 1 millisecond earlier - + Shift cue points later - + Shift cue points 10 milliseconds later - + Shift cue points later (fine) - + Shift cue points 1 millisecond later - - + + Sort hotcues by position - - + + Sort hotcues by position (remove offsets) - + Hotcues %1-%2 - + Intro / Outro Markers - + Intro Start Marker Intro Start Marker - + Intro End Marker Intro End Marker - + Outro Start Marker Outro Start Marker - + Outro End Marker Outro End Marker - + intro start marker - + intro end marker - + outro start marker - + outro end marker - + Activate %1 [intro/outro marker - + Jump to or set the %1 [intro/outro marker - + Set %1 [intro/outro marker - + Set or jump to the %1 [intro/outro marker - + Clear %1 [intro/outro marker - + Clear the %1 [intro/outro marker - + if the track has no beats the unit is seconds - + Loop Selected Beats Loop Selected Beats - + Create a beat loop of selected beat size Create a beat loop of selected beat size - + Loop Roll Selected Beats Loop Roll Selected Beats - + Create a rolling beat loop of selected beat size Create a rolling beat loop of selected beat size - + Loop %1 Beats set from its end point - + Loop Roll %1 Beats set from its end point - + Create %1-beat loop with the current play position as loop end - + Create temporary %1-beat loop roll with the current play position as loop end - + Loop Beats - + Loop Roll Beats - + Go To Loop In - + Go to Loop In button - + Go To Loop Out - + Go to Loop Out button - + Toggle loop on/off and jump to Loop In point if loop is behind play position Toggle loop on/off and jump to Loop In point if loop is behind play position - + Reloop And Stop Reloop And Stop - + Enable loop, jump to Loop In point, and stop Enable loop, jump to Loop In point, and stop - + Halve the loop length Halve the loop length - + Double the loop length Double the loop length - + Beat Jump / Loop Move Beat Jump / Loop Move - + Jump / Move Loop Forward %1 Beats Jump / Move Loop Forward %1 Beats - + Jump / Move Loop Backward %1 Beats Jump / Move Loop Backward %1 Beats - + Jump forward by %1 beats, or if a loop is enabled, move the loop forward %1 beats Jump forward by %1 beats, or if a loop is enabled, move the loop forward %1 beats - + Jump backward by %1 beats, or if a loop is enabled, move the loop backward %1 beats Jump backward by %1 beats, or if a loop is enabled, move the loop backward %1 beats - + Beat Jump / Loop Move Forward Selected Beats Beat Jump / Loop Move Forward Selected Beats - + Jump forward by the selected number of beats, or if a loop is enabled, move the loop forward by the selected number of beats Jump forward by the selected number of beats, or if a loop is enabled, move the loop forward by the selected number of beats - + Beat Jump / Loop Move Backward Selected Beats Beat Jump / Loop Move Backward Selected Beats - + Jump backward by the selected number of beats, or if a loop is enabled, move the loop backward by the selected number of beats Jump backward by the selected number of beats, or if a loop is enabled, move the loop backward by the selected number of beats - + Beat Jump - + Indicate which loop marker remain static when adjusting the size or is inherited from the current position - + Beat Jump / Loop Move Forward - + Beat Jump / Loop Move Backward - + Loop Move Forward - + Loop Move Backward - + Remove Temporary Loop - + Remove the temporary loop - + Navigation Navigation - + Move up Move up - + Equivalent to pressing the UP key on the keyboard Equivalent to pressing the UP key on the keyboard - + Move down Move down - + Equivalent to pressing the DOWN key on the keyboard Equivalent to pressing the DOWN key on the keyboard - + Move up/down Move up/down - + Move vertically in either direction using a knob, as if pressing UP/DOWN keys Move vertically in either direction using a knob, as if pressing UP/DOWN keys - + Scroll Up Scroll Up - + Equivalent to pressing the PAGE UP key on the keyboard Equivalent to pressing the PAGE UP key on the keyboard - + Scroll Down Scroll Down - + Equivalent to pressing the PAGE DOWN key on the keyboard Equivalent to pressing the PAGE DOWN key on the keyboard - + Scroll up/down Scroll up/down - + Scroll vertically in either direction using a knob, as if pressing PGUP/PGDOWN keys Scroll vertically in either direction using a knob, as if pressing PGUP/PGDOWN keys - + Move left Move left - + Equivalent to pressing the LEFT key on the keyboard Equivalent to pressing the LEFT key on the keyboard - + Move right Move right - + Equivalent to pressing the RIGHT key on the keyboard Equivalent to pressing the RIGHT key on the keyboard - + Move left/right Move left/right - + Move horizontally in either direction using a knob, as if pressing LEFT/RIGHT keys Move horizontally in either direction using a knob, as if pressing LEFT/RIGHT keys - + Move focus to right pane Move focus to right pane - + Equivalent to pressing the TAB key on the keyboard Equivalent to pressing the TAB key on the keyboard - + Move focus to left pane Move focus to left pane - + Equivalent to pressing the SHIFT+TAB key on the keyboard Equivalent to pressing the SHIFT+TAB key on the keyboard - + Move focus to right/left pane Move focus to right/left pane - + Move focus one pane to right or left using a knob, as if pressing TAB/SHIFT+TAB keys Move focus one pane to right or left using a knob, as if pressing TAB/SHIFT+TAB keys - + Sort focused column - + Sort the column of the cell that is currently focused, equivalent to clicking on its header - + Go to the currently selected item Go to the currently selected item - + Choose the currently selected item and advance forward one pane if appropriate Choose the currently selected item and advance forward one pane if appropriate - + Load Track and Play - + Add to Auto DJ Queue (replace) Add to Auto DJ Queue (replace) - + Replace Auto DJ Queue with selected tracks Replace Auto DJ Queue with selected tracks - + Select next search history - + Selects the next search history entry - + Select previous search history - + Selects the previous search history entry - + Move selected search entry - + Moves the selected search history item into given direction and steps - + Clear search - + Clears the search query - - + + Select Next Color Available - + Select the next color in the color palette for the first selected track - - + + Select Previous Color Available - + Select the previous color in the color palette for the first selected track - + Deck %1 Quick Effect Enable Button Deck %1 Quick Effect Enable Button - + Quick Effect Enable Button Quick Effect Enable Button - + Enable or disable effect processing Enable or disable effect processing - + Super Knob (control effects' Meta Knobs) Super Knob (control effects' Meta Knobs) - + Mix Mode Toggle Mix Mode Toggle - + Toggle effect unit between D/W and D+W modes Toggle effect unit between D/W and D+W modes - + Next chain preset Next chain preset - + Previous Chain Previous Chain - + Previous chain preset Previous chain preset - + Next/Previous Chain Next/Previous Chain - + Next or previous chain preset Next or previous chain preset - - + + Show Effect Parameters Show Effect Parameters - + Effect Unit Assignment - + Meta Knob Meta Knob - + Effect Meta Knob (control linked effect parameters) Effect Meta Knob (control linked effect parameters) - + Meta Knob Mode Meta Knob Mode - + Set how linked effect parameters change when turning the Meta Knob. Set how linked effect parameters change when turning the Meta Knob. - + Meta Knob Mode Invert Meta Knob Mode Invert - + Invert how linked effect parameters change when turning the Meta Knob. Invert how linked effect parameters change when turning the Meta Knob. - - + + Button Parameter Value - + Microphone / Auxiliary Microphone / Auxiliary - + Microphone On/Off Microphone On/Off - + Microphone on/off Microphone on/off - + Toggle microphone ducking mode (OFF, AUTO, MANUAL) Toggle microphone ducking mode (OFF, AUTO, MANUAL) - + Auxiliary On/Off Auxiliary On/Off - + Auxiliary on/off Auxiliary on/off - + Auto DJ Auto DJ - + Auto DJ Shuffle Auto DJ Shuffle - + Auto DJ Skip Next Auto DJ Skip Next - + Auto DJ Add Random Track - + Add a random track to the Auto DJ queue - + Auto DJ Fade To Next Auto DJ Fade To Next - + Trigger the transition to the next track Trigger the transition to the next track - + User Interface User Interface - + Samplers Show/Hide Samplers Show/Hide - + Show/hide the sampler section Show/hide the sampler section - + Microphone && Auxiliary Show/Hide keep double & to prevent creation of keyboard accelerator - + Waveform Zoom Reset To Default - + Reset the waveform zoom level to the default value selected in Preferences -> Waveforms - + Select the next color in the color palette for the loaded track. - + Select previous color in the color palette for the loaded track. - + Navigate Through Track Colors - + Select either next or previous color in the palette for the loaded track. - + Start/Stop Live Broadcasting - + Stream your mix over the Internet. Stream your mix over the Internet. - + Start/stop recording your mix. - - + + Samplers - + Vinyl Control Show/Hide Vinyl Control Show/Hide - + Show/hide the vinyl control section Show/hide the vinyl control section - + Preview Deck Show/Hide Preview Deck Show/Hide - + Show/hide the preview deck Show/hide the preview deck - + Toggle 4 Decks Toggle 4 Decks - + Switches between showing 2 decks and 4 decks. Switches between showing 2 decks and 4 decks. - + Cover Art Show/Hide (Decks) Cover Art Show/Hide (Decks) - + Show/hide cover art in the main decks Show/hide cover art in the main decks - + Vinyl Spinner Show/Hide Vinyl Spinner Show/Hide - + Show/hide spinning vinyl widget Show/hide spinning vinyl widget - + Vinyl Spinners Show/Hide (All Decks) - + Show/Hide all spinnies - + Toggle Waveforms - + Show/hide the scrolling waveforms. - + Waveform zoom Waveform zoom - + Waveform Zoom Waveform Zoom - + Zoom waveform in Zoom waveform in - + Waveform Zoom In Waveform Zoom In - + Zoom waveform out Zoom waveform out - + Star Rating Up Star Rating Up - + Increase the track rating by one star Increase the track rating by one star - + Star Rating Down Star Rating Down - + Decrease the track rating by one star Decrease the track rating by one star @@ -3612,32 +3644,32 @@ trace - Above + Profiling messages ControllerScriptEngineBase - + The functionality provided by this controller mapping will be disabled until the issue has been resolved. The functionality provided by this controller mapping will be disabled until the issue has been resolved. - + You can ignore this error for this session but you may experience erratic behavior. You can ignore this error for this session but you may experience erratic behavior. - + Try to recover by resetting your controller. Try to recover by resetting your controller. - + Controller Mapping Error - + The mapping for your controller "%1" is not working properly. - + The script code needs to be fixed. The script code needs to be fixed. @@ -3745,7 +3777,7 @@ trace - Above + Profiling messages Import Crate - + Export Crate Export Crate @@ -3755,7 +3787,7 @@ trace - Above + Profiling messages Unlock - + An unknown error occurred while creating crate: An unknown error occurred while creating crate: @@ -3764,12 +3796,6 @@ trace - Above + Profiling messages Rename Crate Rename Crate - - - - Export to Engine Prime - - Make a crate for your next gig, for your favorite electrohouse tracks, or for your most requested tracks. @@ -3787,17 +3813,17 @@ trace - Above + Profiling messages Renaming Crate Failed - + Crate Creation Failed Crate Creation Failed - + M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Text CSV (*.csv);;Readable Text (*.txt) M3U Playlist (*.m3u);; M3U8 Playlist (*.m3u8);; PLS Playlist (*.pls);; Text CSV (*.csv);; Readable Text (*.txt) - + M3U Playlist (*.m3u) M3U Playlist (*.m3u) @@ -3806,6 +3832,12 @@ trace - Above + Profiling messages Crates are a great way to help organize the music you want to DJ with. Crates are a great way to help organize the music you want to DJ with. + + + + Export to Engine DJ + + Crates let you organize your music however you'd like! @@ -3917,12 +3949,12 @@ trace - Above + Profiling messages Past Contributors - + Official Website - + Donate @@ -4445,37 +4477,37 @@ Often results in higher quality beatgrids, but will not do well on tracks that h If the mapping is not working try enabling an advanced option below and then try the control again. Or click Retry to redetect the midi control. - + Didn't get any midi messages. Please try again. Didn't get any midi messages. Please try again. - + Unable to detect a mapping -- please try again. Be sure to only touch one control at once. Unable to detect a mapping -- please try again. Be sure to only touch one control at once. - + Successfully mapped control: Successfully mapped control: - + <i>Ready to learn %1</i> <i>Ready to learn %1</i> - + Learning: %1. Now move a control on your controller. Learning: %1. Now move a control on your controller. - + The selected control does not exist.<br>This likely a bug. Please report it on the Mixxx bug tracker.<br><a href='https://github.com/mixxxdj/mixxx/issues'>https://github.com/mixxxdj/mixxx/issues</a><br><br>You tried to learn: %1,%2 - + The control you clicked in Mixxx is not learnable. This could be because you are either using an old skin and this control is no longer supported, or you clicked a control that provides visual feedback and can only be mapped to outputs like LEDs via scripts. @@ -4514,17 +4546,17 @@ You tried to learn: %1,%2 Dump to csv - + Log Log - + Search Search - + Stats Stats @@ -5177,114 +5209,114 @@ associated with each key. DlgPrefController - + Apply device settings? Apply device settings? - + Your settings must be applied before starting the learning wizard. Apply settings and continue? Your settings must be applied before starting the learning wizard. Apply settings and continue? - + None None - + %1 by %2 %1 by %2 - + Mapping has been edited - + Always overwrite during this session - + Save As - + Overwrite - + Save user mapping - + Enter the name for saving the mapping to the user folder. - + Saving mapping failed - + A mapping cannot have a blank name and may not contain special characters. - + A mapping file with that name already exists. - + Do you want to save the changes? Do you want to save the changes? - + Troubleshooting Troubleshooting - + <font color='#BB0000'><b>If you use this mapping your controller may not work correctly. Please select another mapping or disable the controller.</b></font><br><br>This mapping was designed for a newer Mixxx Controller Engine and cannot be used on your current Mixxx installation.<br>Your Mixxx installation has Controller Engine version %1. This mapping requires a Controller Engine version >= %2.<br><br>For more information visit the wiki page on <a href='https://mixxx.org/wiki/doku.php/controller_engine_versions'>Controller Engine Versions</a>. - + Mapping already exists. - + <b>%1</b> already exists in user mapping folder.<br>Overwrite or save with a new name? - + Clear Input Mappings Clear Input Mappings - + Are you sure you want to clear all input mappings? Are you sure you want to clear all input mappings? - + Clear Output Mappings Clear Output Mappings - + Are you sure you want to clear all output mappings? Are you sure you want to clear all output mappings? @@ -5302,100 +5334,100 @@ Apply settings and continue? Enabled - + Device Info - + Physical Interface: - + Vendor name: - + Product name: - + Vendor ID - + VID: - + Product ID - + PID: - + Serial number: - + USB interface number: - + HID Usage-Page: - + HID Usage: - + Description: Description: - + Support: Support: - + Screens preview - + Input Mappings Input Mappings - - + + Search Search - - + + Add Add - - + + Remove Remove @@ -5415,17 +5447,17 @@ Apply settings and continue? - + Mapping Info - + Author: Author: - + Name: Name: @@ -5435,28 +5467,28 @@ Apply settings and continue? Learning Wizard (MIDI Only) - + Data protocol: - + Mapping Files: - + Mapping Settings - - + + Clear All Clear All - + Output Mappings Output Mappings @@ -5615,6 +5647,16 @@ Apply settings and continue? Multi-Sampling + + + Force 3D acceleration + + + + + If checked, Mixxx will always assume 3D acceleration is available. This may lead to pour performance if only CP-backed rendering is available.. + + Start in full-screen mode @@ -6229,62 +6271,62 @@ You can always drag-and-drop tracks on screen to clone a deck. DlgPrefInterface - + The minimum size of the selected skin is bigger than your screen resolution. The minimum size of the selected skin is bigger than your screen resolution. - + Allow screensaver to run Allow screensaver to run - + Prevent screensaver from running Prevent screensaver from running - + Prevent screensaver while playing Prevent screensaver while playing - + Disabled - + 2x MSAA - + 4x MSAA - + 8x MSAA - + 16x MSAA - + This skin does not support color schemes This skin does not support color schemes - + Information Information - + Mixxx must be restarted before the new locale, scaling or multi-sampling settings will take effect. @@ -7451,173 +7493,172 @@ The loudness target is approximate and assumes track pregain and main output lev DlgPrefSound - + %1 Hz %1 Hz - + Default (long delay) Default (long delay) - + Experimental (no delay) Experimental (no delay) - + Disabled (short delay) Disabled (short delay) - + Soundcard Clock Soundcard Clock - + Network Clock Network Clock - + Direct monitor (recording and broadcasting only) Direct monitor (recording and broadcasting only) - + Disabled Disabled - + Enabled Enabled - + Stereo Stereo - + Mono Mono - + To enable Realtime scheduling (currently disabled), see the %1. - + The %1 lists sound cards and controllers you may want to consider for using Mixxx. - + Mixxx DJ Hardware Guide - + Information - + Mixxx must be restarted before the multi-threaded RubberBand setting change will take effect. - + auto (<= 1024 frames/period) - + 2048 frames/period - + 4096 frames/period - + Are you sure? - + Distribute stereo channels into mono channels for parallel processing will result in a loss of mono compatibility and a diffuse stereo image. It is not recommended during broadcasting or recording. - + Are you sure you wish to proceed? - + No - + Yes, I know what I am doing - + Microphone inputs are out of time in the record & broadcast signal compared to what you hear. Microphone inputs are out of time in the record & broadcast signal compared to what you hear. - + Measure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. Measure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. - - + Refer to the Mixxx User Manual for details. Refer to the Mixxx User Manual for details. - + Configured latency has changed. Configured latency has changed. - + Remeasure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. Remeasure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. - + Realtime scheduling is enabled. Realtime scheduling is enabled. - + Main output only - + Main and booth outputs - + %1 ms %1 ms - + Configuration error Configuration error @@ -7635,131 +7676,131 @@ The loudness target is approximate and assumes track pregain and main output lev Sound API - + Sample Rate Sample Rate - + Audio Buffer Audio Buffer - + Engine Clock Engine Clock - + Use soundcard clock for live audience setups and lowest latency.<br>Use network clock for broadcasting without a live audience. Use soundcard clock for live audience setups and lowest latency.<br>Use network clock for broadcasting without a live audience. - + Main Mix - + Main Output Mode - + Microphone Monitor Mode Microphone Monitor Mode - + Microphone Latency Compensation Microphone Latency Compensation - - - - + + + + ms milliseconds ms - + 20 ms 20 ms - + Buffer Underflow Count Buffer Underflow Count - + 0 0 - + Keylock/Pitch-Bending Engine Keylock/Pitch-Bending Engine - + Multi-Soundcard Synchronization Multi-Soundcard Synchronization - + Output Output - + Input Input - + System Reported Latency System Reported Latency - + Enlarge your audio buffer if the underflow counter is increasing or you hear pops during playback. Enlarge your audio buffer if the underflow counter is increasing or you hear pops during playback. - + Main Output Delay - + Headphone Output Delay - + Booth Output Delay - + Dual-threaded Stereo - + Hints and Diagnostics Hints and Diagnostics - + Downsize your audio buffer to improve Mixxx's responsiveness. Downsize your audio buffer to improve Mixxx's responsiveness. - + Query Devices Query Devices @@ -8207,47 +8248,47 @@ Select from different types of displays for the waveform, which differ primarily DlgPreferences - + Sound Hardware Sound Hardware - + Controllers Controllers - + Library Library - + Interface Interface - + Waveforms Waveforms - + Mixer Mixer - + Auto DJ Auto DJ - + Decks Decks - + Colors Colors @@ -8282,47 +8323,47 @@ Select from different types of displays for the waveform, which differ primarily - + Effects Effects - + Recording Recording - + Beat Detection Beat Detection - + Key Detection Key Detection - + Normalization Normalization - + <font color='#BB0000'><b>Some preferences pages have errors. To apply the changes please first fix the issues.</b></font> - + Vinyl Control Vinyl Control - + Live Broadcasting Live Broadcasting - + Modplug Decoder Modplug Decoder @@ -8678,284 +8719,284 @@ This can not be undone! Summary - + Filetype: Filetype: - + BPM: BPM: - + Location: Location: - + Bitrate: Bitrate: - + Comments Comments - + BPM BPM - + Sets the BPM to 75% of the current value. Sets the BPM to 75% of the current value. - + 3/4 BPM 3/4 BPM - + Sets the BPM to 50% of the current value. Sets the BPM to 50% of the current value. - + Displays the BPM of the selected track. Displays the BPM of the selected track. - + Track # Track # - + Album Artist Album Artist - + Composer Composer - + Title Title - + Grouping Grouping - + Key Key - + Year Year - + Artist Artist - + Album Album - + Genre Genre - + ReplayGain: ReplayGain: - + Sets the BPM to 200% of the current value. Sets the BPM to 200% of the current value. - + Double BPM Double BPM - + Halve BPM Halve BPM - + Clear BPM and Beatgrid Clear BPM and Beatgrid - + Move to the previous item. "Previous" button Move to the previous item. - + &Previous &Previous - + Move to the next item. "Next" button Move to the next item. - + &Next &Next - + Duration: Duration: - + Import Metadata from MusicBrainz Import Metadata from MusicBrainz - + Re-Import Metadata from file Re-Import Metadata from file - + Color Color - + Date added: Date added: - + Open in File Browser Open in File Browser - + Samplerate: - + Track BPM: Track BPM: - + Converts beats detected by the analyzer into a fixed-tempo beatgrid. Use this setting if your tracks have a constant tempo (e.g. most electronic music). Often results in higher quality beatgrids, but will not do well on tracks that have tempo shifts. Converts beats detected by the analyser into a fixed-tempo beatgrid. Use this setting if your tracks have a constant tempo (e.g. most electronic music). Often results in higher quality beatgrids, but will not do well on tracks that have tempo shifts. - + Assume constant tempo Assume constant tempo - + Sets the BPM to 66% of the current value. Sets the BPM to 66% of the current value. - + 2/3 BPM 2/3 BPM - + Sets the BPM to 150% of the current value. Sets the BPM to 150% of the current value. - + 3/2 BPM 3/2 BPM - + Sets the BPM to 133% of the current value. Sets the BPM to 133% of the current value. - + 4/3 BPM 4/3 BPM - + Tap with the beat to set the BPM to the speed you are tapping. Tap with the beat to set the BPM to the speed you are tapping. - + Tap to Beat Tap to Beat - + Hint: Use the Library Analyze view to run BPM detection. Hint: Use the Library Analyse view to run BPM detection. - + Save changes and close the window. "OK" button Save changes and close the window. - + &OK &OK - + Discard changes and close the window. "Cancel" button Discard changes and close the window. - + Save changes and keep the window open. "Apply" button Save changes and keep the window open. - + &Apply &Apply - + &Cancel &Cancel - + (no color) @@ -9112,7 +9153,7 @@ Often results in higher quality beatgrids, but will not do well on tracks that h - + (no color) @@ -9314,27 +9355,27 @@ Often results in higher quality beatgrids, but will not do well on tracks that h EngineBuffer - + Soundtouch (faster) Soundtouch (faster) - + Rubberband (better) Rubberband (better) - + Rubberband R3 (near-hi-fi quality) - + Unknown, using Rubberband (better) - + Unknown, using Soundtouch @@ -9549,15 +9590,15 @@ Often results in higher quality beatgrids, but will not do well on tracks that h LegacySkinParser - - + + Safe Mode Enabled Shown when Mixxx is running in safe mode. Safe Mode Enabled - - + + No OpenGL support. Shown when Spinny can not be displayed. Please keep @@ -9569,57 +9610,57 @@ Shown when VuMeter can not be displayed. Please keep support. - + activate activate - + toggle toggle - + right right - + left left - + right small right small - + left small left small - + up up - + down down - + up small up small - + down small down small - + Shortcut Shortcut @@ -9627,62 +9668,62 @@ support. Library - + This or a parent directory is already in your library. - + This or a listed directory does not exist or is inaccessible. Aborting the operation to avoid library inconsistencies - - + + This directory can not be read. - + An unknown error occurred. Aborting the operation to avoid library inconsistencies - + Can't add Directory to Library - + Could not add <b>%1</b> to your library. %2 - + Can't remove Directory from Library - + An unknown error occurred. - + This directory does not exist or is inaccessible. - + Relink Directory - + Could not relink <b>%1</b> to <b>%2</b>. %3 @@ -9692,22 +9733,22 @@ Aborting the operation to avoid library inconsistencies LibraryFeature - + Import Playlist Import Playlist - + Playlist Files (*.m3u *.m3u8 *.pls *.csv) Playlist Files (*.m3u *.m3u8 *.pls *.csv) - + Overwrite File? Overwrite File? - + A playlist file with the name "%1" already exists. The default "m3u" extension was added because none was specified. @@ -9757,27 +9798,27 @@ Do you really want to overwrite it? MidiController - + MixxxControl(s) not found MixxxControl(s) not found - + One or more MixxxControls specified in the outputs section of the loaded mapping were invalid. - + * Make sure the MixxxControls in question actually exist. Visit the manual for a complete list: - + Some LEDs or other feedback may not work correctly. Some LEDs or other feedback may not work correctly. - + * Check to see that the MixxxControl names are spelled correctly in the mapping file (.xml) * Check to see that the MixxxControl names are spelled correctly in the mapping file (.xml) @@ -9838,18 +9879,18 @@ Do you really want to overwrite it? MixxxLibraryFeature - + Missing Tracks Missing Tracks - + Hidden Tracks Hidden Tracks - Export to Engine Prime + Export to Engine DJ @@ -9861,212 +9902,253 @@ Do you really want to overwrite it? MixxxMainWindow - + Sound Device Busy Sound Device Busy - + <b>Retry</b> after closing the other application or reconnecting a sound device <b>Retry</b> after closing the other application or reconnecting a sound device - - - + + + <b>Reconfigure</b> Mixxx's sound device settings. <b>Reconfigure</b> Mixxx's sound device settings. - - + + Get <b>Help</b> from the Mixxx Wiki. Get <b>Help</b> from the Mixxx Wiki. - - - + + + <b>Exit</b> Mixxx. <b>Exit</b> Mixxx. - + Retry Retry - + skin - + Allow Mixxx to hide the menu bar? - + Hide Always show the menu bar? - + Always show - + The Mixxx menu bar is hidden and can be toggled with a single press of the <b>Alt</b> key.<br><br>Click <b>%1</b> to agree.<br><br>Click <b>%2</b> to disable that, for example if you don't use Mixxx with a keyboard.<br><br>You can change this setting any time in Preferences -> Interface.<br> Keep formatting tags <b> (bold text) and <br> (linebreak). %1 is the placeholder for the 'Always show' button label - + Ask me again - - + + Reconfigure Reconfigure - + Help Help - - + + Exit Exit - - + + Mixxx was unable to open all the configured sound devices. Mixxx was unable to open all the configured sound devices. - + Sound Device Error Sound Device Error - + <b>Retry</b> after fixing an issue <b>Retry</b> after fixing an issue - + No Output Devices No Output Devices - + Mixxx was configured without any output sound devices. Audio processing will be disabled without a configured output device. Mixxx was configured without any output sound devices. Audio processing will be disabled without a configured output device. - + <b>Continue</b> without any outputs. <b>Continue</b> without any outputs. - + Continue Continue - + Load track to Deck %1 Load track to Deck %1 - + Deck %1 is currently playing a track. Deck %1 is currently playing a track. - + Are you sure you want to load a new track? Are you sure you want to load a new track? - + There is no input device selected for this vinyl control. Please select an input device in the sound hardware preferences first. There is no input device selected for this vinyl control. Please select an input device in the sound hardware preferences first. - + There is no input device selected for this passthrough control. Please select an input device in the sound hardware preferences first. There is no input device selected for this passthrough control. Please select an input device in the sound hardware preferences first. - + There is no input device selected for this microphone. Do you want to select an input device? There is no input device selected for this microphone. Do you want to select an input device? - + There is no input device selected for this auxiliary. Do you want to select an input device? There is no input device selected for this auxiliary. Do you want to select an input device? - + + Scan took %1 + + + + + No changes detected. + + + + + + %1 tracks in total + + + + + %1 new tracks found + + + + + %1 moved tracks detected + + + + + %1 tracks are missing (%2 total) + + + + + %1 tracks have been rediscovered + + + + + Library scan finished + + + + Error in skin file Error in skin file - + The selected skin cannot be loaded. The selected skin cannot be loaded. - + OpenGL Direct Rendering OpenGL Direct Rendering - + Direct rendering is not enabled on your machine.<br><br>This means that the waveform displays will be very<br><b>slow and may tax your CPU heavily</b>. Either update your<br>configuration to enable direct rendering, or disable<br>the waveform displays in the Mixxx preferences by selecting<br>"Empty" as the waveform display in the 'Interface' section. Direct rendering is not enabled on your machine.<br><br>This means that the waveform displays will be very<br><b>slow and may tax your CPU heavily</b>. Either update your<br>configuration to enable direct rendering, or disable<br>the waveform displays in the Mixxx preferences by selecting<br>"Empty" as the waveform display in the 'Interface' section. - - - + + + Confirm Exit Confirm Exit - + A deck is currently playing. Exit Mixxx? A deck is currently playing. Exit Mixxx? - + A sampler is currently playing. Exit Mixxx? A sampler is currently playing. Exit Mixxx? - + The preferences window is still open. The preferences window is still open. - + Discard any changes and exit Mixxx? Discard any changes and exit Mixxx? @@ -10082,13 +10164,13 @@ Do you want to select an input device? PlaylistFeature - + Lock Lock - - + + Playlists Playlists @@ -10098,32 +10180,58 @@ Do you want to select an input device? - + + Unlock all playlists + + + + + Delete all unlocked playlists + + + + Unlock Unlock - + + + Confirm Deletion + + + + + Do you really want to delete all unlocked playlists? + + + + + Deleting %1 unlocked playlists.<br>This operation can not be undone! + + + + Playlists are ordered lists of tracks that allow you to plan your DJ sets. - + It may be necessary to skip some tracks in your prepared playlist or add some different tracks in order to maintain the energy of your audience. - + Some DJs construct playlists before they perform live, but others prefer to build them on-the-fly. Some DJs construct playlists before they perform live, but others prefer to build them on-the-fly. - + When using a playlist during a live DJ set, remember to always pay close attention to how your audience reacts to the music you've chosen to play. When using a playlist during a live DJ set, remember to always pay close attention to how your audience reacts to the music you've chosen to play. - + Create New Playlist Create New Playlist @@ -11641,7 +11749,7 @@ Fully right: end of the effect period - + Deck %1 Deck %1 @@ -11774,7 +11882,7 @@ Hint: compensates "chipmunk" or "growling" voices - + Passthrough Passthrough @@ -11805,7 +11913,7 @@ Hint: compensates "chipmunk" or "growling" voices - + Sampler %1 @@ -11938,12 +12046,12 @@ may introduce a 'pumping' effect and/or distortion. - + built-in - + missing @@ -11978,42 +12086,42 @@ may introduce a 'pumping' effect and/or distortion. - + Empty - + Simple - + Filtered - + HSV - + VSyncTest - + RGB - + Stacked - + Unknown @@ -12071,54 +12179,54 @@ may introduce a 'pumping' effect and/or distortion. RekordboxFeature - - - + + + Rekordbox - + Playlists Playlists - + Folders Folders - + Reads databases exported for Pioneer CDJ / XDJ players using the Rekordbox Export mode.<br/>Rekordbox can only export to USB or SD devices with a FAT or HFS file system.<br/>Mixxx can read a database from any device that contains the database folders (<tt>PIONEER</tt> and <tt>Contents</tt>).<br/>Not supported are Rekordbox databases that have been moved to an external device via<br/><i>Preferences > Advanced > Database management</i>.<br/><br/>The following data is read: - + Hot cues Hot cues - + Loops (only the first loop is currently usable in Mixxx) - + Check for attached Rekordbox USB / SD devices (refresh) - + Beatgrids Beatgrids - + Memory cues Memory cues - + (loading) Rekordbox (loading) Rekordbox @@ -12677,7 +12785,7 @@ may introduce a 'pumping' effect and/or distortion. - + Spinning Vinyl Spinning Vinyl @@ -12859,7 +12967,7 @@ may introduce a 'pumping' effect and/or distortion. - + Cover Art Show Cover Art @@ -13095,197 +13203,197 @@ may introduce a 'pumping' effect and/or distortion. When tapped, adjusts the average BPM up by a small amount. - + Adjust Beats Earlier Adjust Beats Earlier - + When tapped, moves the beatgrid left by a small amount. When tapped, moves the beatgrid left by a small amount. - + Adjust Beats Later Adjust Beats Later - + When tapped, moves the beatgrid right by a small amount. When tapped, moves the beatgrid right by a small amount. - + Tempo and BPM Tap Tempo and BPM Tap - + Show/hide the spinning vinyl section. Show/hide the spinning vinyl section. - + Keylock Keylock - + Toggling keylock during playback may result in a momentary audio glitch. Toggling keylock during playback may result in a momentary audio glitch. - + Toggle visibility of Loop Controls - + Toggle visibility of Beatjump Controls - + Toggle visibility of Rate Control Toggle visibility of Rate Control - + Toggle visibility of Key Controls - + (while previewing) - + Places a cue point at the current position on the waveform. Places a cue point at the current position on the waveform. - + Stops track at cue point, OR go to cue point and play after release (CUP mode). Stops track at cue point, OR go to cue point and play after release (CUP mode). - + Set cue point (Pioneer/Mixxx/Numark mode), set cue point and play after release (CUP mode) OR preview from it (Denon mode). Set cue point (Pioneer/Mixxx/Numark mode), set cue point and play after release (CUP mode) OR preview from it (Denon mode). - + Is latching the playing state. - + Seeks the track to the cue point and stops. Seeks the track to the cue point and stops. - + Play Play - + Plays track from the cue point. Plays track from the cue point. - + Sends the selected channel's audio to the headphone output, selected in Preferences -> Sound Hardware. Sends the selected channel's audio to the headphone output, selected in Preferences -> Sound Hardware. - + (This skin should be updated to use Sync Lock!) - + Enable Sync Lock - + Tap to sync the tempo to other playing tracks or the sync leader. - + Enable Sync Leader - + When enabled, this device will serve as the sync leader for all other decks. - + This is relevant when a dynamic tempo track is loaded to a sync leader deck.In that case, other synced devices will adopt the changing tempo. - + Changes the track playback speed (affects both the tempo and the pitch). If keylock is enabled, only the tempo is affected. Changes the track playback speed (affects both the tempo and the pitch). If keylock is enabled, only the tempo is affected. - + Tempo Range Display - + Displays the current range of the tempo slider. - + Un-ejects when no track is loaded, i.e. reloads the track that was ejected last (of any deck). - + Delete selected hotcue. - + Track Comment - + Displays the comment tag of the loaded track. - + Opens separate artwork viewer. - + Effect Chain Preset Settings - + Show the effect chain settings menu for this unit. - + Select and configure a hardware device for this input Select and configure a hardware device for this input - + Recording Duration Recording Duration @@ -13523,928 +13631,934 @@ may introduce a 'pumping' effect and/or distortion. - + + Adjust beatgrid by exactly one half beat. Usable only on +tracks with constant tempo. + + + + Revert last BPM/Beatgrid Change - + Revert last BPM/Beatgrid Change of the loaded track. - - + + Toggle the BPM/beatgrid lock - + Tempo and Rate Tap - + Tempo, Rate Tap and BPM Tap - + Shift cues earlier - - + + Shift cues imported from Serato or Rekordbox if they are slightly off time. - + Left click: shift 10 milliseconds earlier - + Right click: shift 1 millisecond earlier - + Shift cues later - + Left click: shift 10 milliseconds later - + Right click: shift 1 millisecond later - - + + Drag a Hotcue button here to continue playing after releasing the Hotcue. - + Hint: Change the default cue mode in Preferences -> Decks. - + Mutes the selected channel's audio in the main output. - + Main mix enable - + Hold or short click for latching to mix this input into the main output. - + If hotcue is a loop cue, toggles the loop and jumps to if the loop is behind the play position. - + If the play position is inside an active loop, stores the loop as loop cue. - + Drag this button onto another Hotcue button to move it there (change its index). If the other hotcue is set, the two are swapped. - + Expand/Collapse Samplers - + Toggle expanded samplers view. - + Displays the duration of the running recording. Displays the duration of the running recording. - + Auto DJ is active - + Red for when needle skip has been detected. - + Hot Cue - Track will seek to nearest previous hotcue point. Hot Cue - Track will seek to nearest previous hotcue point. - + Sets the track Loop-In Marker to the current play position. Sets the track Loop-In Marker to the current play position. - + Press and hold to move Loop-In Marker. Press and hold to move Loop-In Marker. - + Jump to Loop-In Marker. Jump to Loop-In Marker. - + Sets the track Loop-Out Marker to the current play position. Sets the track Loop-Out Marker to the current play position. - + Press and hold to move Loop-Out Marker. Press and hold to move Loop-Out Marker. - + Jump to Loop-Out Marker. Jump to Loop-Out Marker. - + If the track has no beats the unit is seconds. - + Beatloop Size Beatloop Size - + Select the size of the loop in beats to set with the Beatloop button. Select the size of the loop in beats to set with the Beatloop button. - + Changing this resizes the loop if the loop already matches this size. Changing this resizes the loop if the loop already matches this size. - + Halve the size of an existing beatloop, or halve the size of the next beatloop set with the Beatloop button. Halve the size of an existing beatloop, or halve the size of the next beatloop set with the Beatloop button. - + Double the size of an existing beatloop, or double the size of the next beatloop set with the Beatloop button. Double the size of an existing beatloop, or double the size of the next beatloop set with the Beatloop button. - + Start a loop over the set number of beats. Start a loop over the set number of beats. - + Temporarily enable a rolling loop over the set number of beats. Temporarily enable a rolling loop over the set number of beats. - + Beatloop Anchor - + Define whether the loop is created and adjusted from its staring point or ending point. - + Beatjump/Loop Move Size Beatjump/Loop Move Size - + Select the number of beats to jump or move the loop with the Beatjump Forward/Backward buttons. Select the number of beats to jump or move the loop with the Beatjump Forward/Backward buttons. - + Beatjump Forward Beatjump Forward - + Jump forward by the set number of beats. Jump forward by the set number of beats. - + Move the loop forward by the set number of beats. Move the loop forward by the set number of beats. - + Jump forward by 1 beat. Jump forward by 1 beat. - + Move the loop forward by 1 beat. Move the loop forward by 1 beat. - + Beatjump Backward Beatjump Backward - + Jump backward by the set number of beats. Jump backward by the set number of beats. - + Move the loop backward by the set number of beats. Move the loop backward by the set number of beats. - + Jump backward by 1 beat. Jump backward by 1 beat. - + Move the loop backward by 1 beat. Move the loop backward by 1 beat. - + Reloop Reloop - + If the loop is ahead of the current position, looping will start when the loop is reached. If the loop is ahead of the current position, looping will start when the loop is reached. - + Works only if Loop-In and Loop-Out Marker are set. Works only if Loop-In and Loop-Out Marker are set. - + Enable loop, jump to Loop-In Marker, and stop playback. Enable loop, jump to Loop-In Marker, and stop playback. - + Displays the elapsed and/or remaining time of the track loaded. Displays the elapsed and/or remaining time of the track loaded. - + Click to toggle between time elapsed/remaining time/both. Click to toggle between time elapsed/remaining time/both. - + Hint: Change the time format in Preferences -> Decks. - + Show/hide intro & outro markers and associated buttons. Show/hide intro & outro markers and associated buttons. - + Intro Start Marker Intro Start Marker - - - - + + + + If marker is set, jumps to the marker. If marker is set, jumps to the marker. - - - - + + + + If marker is not set, sets the marker to the current play position. If marker is not set, sets the marker to the current play position. - - - - + + + + If marker is set, clears the marker. If marker is set, clears the marker. - + Intro End Marker Intro End Marker - + Outro Start Marker Outro Start Marker - + Outro End Marker Outro End Marker - + Mix Mix - + Adjust the mixing of the dry (input) signal with the wet (output) signal of the effect unit Adjust the mixing of the dry (input) signal with the wet (output) signal of the effect unit - + D/W mode: Crossfade between dry and wet D/W mode: Crossfade between dry and wet - + D+W mode: Add wet to dry D+W mode: Add wet to dry - + Mix Mode Mix Mode - + Adjust how the dry (input) signal is mixed with the wet (output) signal of the effect unit Adjust how the dry (input) signal is mixed with the wet (output) signal of the effect unit - + Dry/Wet mode (crossed lines): Mix knob crossfades between dry and wet Use this to change the sound of the track with EQ and filter effects. Dry/Wet mode (crossed lines): Mix knob crossfades between dry and wet Use this to change the sound of the track with EQ and filter effects. - + Dry+Wet mode (flat dry line): Mix knob adds wet to dry Use this to change only the effected (wet) signal with EQ and filter effects. Dry+Wet mode (flat dry line): Mix knob adds wet to dry Use this to change only the effected (wet) signal with EQ and filter effects. - + Route the main mix through this effect unit. - + Route the left crossfader bus through this effect unit. Route the left crossfader bus through this effect unit. - + Route the right crossfader bus through this effect unit. Route the right crossfader bus through this effect unit. - + Right side active: parameter moves with right half of Meta Knob turn Right side active: parameter moves with right half of Meta Knob turn - + Stem Label - + Name of the stem stored in the stem file - + Text is displayed in the stem color stored in the stem file - + this stem color is also used for the waveform of this stem - + Stem Mute - + Toggle the stem mute/unmuted - + Stem Volume Knob - + Adjusts the volume of the stem - + Skin Settings Menu Skin Settings Menu - + Show/hide skin settings menu Show/hide skin settings menu - + Save Sampler Bank Save Sampler Bank - + Save the collection of samples loaded in the samplers. Save the collection of samples loaded in the samplers. - + Load Sampler Bank Load Sampler Bank - + Load a previously saved collection of samples into the samplers. Load a previously saved collection of samples into the samplers. - + Show Effect Parameters Show Effect Parameters - + Enable Effect Enable Effect - + Meta Knob Link Meta Knob Link - + Set how this parameter is linked to the effect's Meta Knob. Set how this parameter is linked to the effect's Meta Knob. - + Meta Knob Link Inversion Meta Knob Link Inversion - + Inverts the direction this parameter moves when turning the effect's Meta Knob. Inverts the direction this parameter moves when turning the effect's Meta Knob. - + Super Knob Super Knob - + Next Chain Next Chain - + Previous Chain Previous Chain - + Next/Previous Chain Next/Previous Chain - + Clear Clear - + Clear the current effect. Clear the current effect. - + Toggle Toggle - + Toggle the current effect. Toggle the current effect. - + Next Next - + Clear Unit Clear Unit - + Clear effect unit. Clear effect unit. - + Show/hide parameters for effects in this unit. Show/hide parameters for effects in this unit. - + Toggle Unit Toggle Unit - + Enable or disable this whole effect unit. Enable or disable this whole effect unit. - + Controls the Meta Knob of all effects in this unit together. Controls the Meta Knob of all effects in this unit together. - + Load next effect chain preset into this effect unit. Load next effect chain preset into this effect unit. - + Load previous effect chain preset into this effect unit. Load previous effect chain preset into this effect unit. - + Load next or previous effect chain preset into this effect unit. Load next or previous effect chain preset into this effect unit. - - - - + + + + Assign Effect Unit Assign Effect Unit - + Assign this effect unit to the channel output. Assign this effect unit to the channel output. - + Route the headphone channel through this effect unit. Route the headphone channel through this effect unit. - + Route this deck through the indicated effect unit. Route this deck through the indicated effect unit. - + Route this sampler through the indicated effect unit. Route this sampler through the indicated effect unit. - + Route this microphone through the indicated effect unit. Route this microphone through the indicated effect unit. - + Route this auxiliary input through the indicated effect unit. Route this auxiliary input through the indicated effect unit. - + The effect unit must also be assigned to a deck or other sound source to hear the effect. The effect unit must also be assigned to a deck or other sound source to hear the effect. - + Switch to the next effect. Switch to the next effect. - + Previous Previous - + Switch to the previous effect. Switch to the previous effect. - + Next or Previous Next or Previous - + Switch to either the next or previous effect. Switch to either the next or previous effect. - + Meta Knob Meta Knob - + Controls linked parameters of this effect Controls linked parameters of this effect - + Effect Focus Button Effect Focus Button - + Focuses this effect. Focuses this effect. - + Unfocuses this effect. Unfocuses this effect. - + Refer to the web page on the Mixxx wiki for your controller for more information. Refer to the web page on the Mixxx wiki for your controller for more information. - + Effect Parameter Effect Parameter - + Adjusts a parameter of the effect. Adjusts a parameter of the effect. - + Inactive: parameter not linked Inactive: parameter not linked - + Active: parameter moves with Meta Knob Active: parameter moves with Meta Knob - + Left side active: parameter moves with left half of Meta Knob turn Left side active: parameter moves with left half of Meta Knob turn - + Left and right side active: parameter moves across range with half of Meta Knob turn and back with the other half Left and right side active: parameter moves across range with half of Meta Knob turn and back with the other half - - + + Equalizer Parameter Kill Equalizer Parameter Kill - - + + Holds the gain of the EQ to zero while active. Holds the gain of the EQ to zero while active. - + Quick Effect Super Knob Quick Effect Super Knob - + Quick Effect Super Knob (control linked effect parameters). Quick Effect Super Knob (control linked effect parameters). - + Hint: Change the default Quick Effect mode in Preferences -> Equalizers. Hint: Change the default Quick Effect mode in Preferences -> Equalizers. - + Equalizer Parameter Equalizer Parameter - + Adjusts the gain of the EQ filter. Adjusts the gain of the EQ filter. - + Hint: Change the default EQ mode in Preferences -> Equalizers. Hint: Change the default EQ mode in Preferences -> Equalizers. - - + + Adjust Beatgrid Adjust Beatgrid - + Adjust beatgrid so the closest beat is aligned with the current play position. Adjust beatgrid so the closest beat is aligned with the current play position. - - + + Adjust beatgrid to match another playing deck. Adjust beatgrid to match another playing deck. - + If quantize is enabled, snaps to the nearest beat. If quantize is enabled, snaps to the nearest beat. - + Quantize Quantize - + Toggles quantization. Toggles quantization. - + Loops and cues snap to the nearest beat when quantization is enabled. Loops and cues snap to the nearest beat when quantization is enabled. - + Reverse Reverse - + Reverses track playback during regular playback. Reverses track playback during regular playback. - + Puts a track into reverse while being held (Censor). Puts a track into reverse while being held (Censor). - + Playback continues where the track would have been if it had not been temporarily reversed. Playback continues where the track would have been if it had not been temporarily reversed. - - - + + + Play/Pause Play/Pause - + Jumps to the beginning of the track. Jumps to the beginning of the track. - + Syncs the tempo (BPM) and phase to that of the other track, if BPM is detected on both. Syncs the tempo (BPM) and phase to that of the other track, if BPM is detected on both. - + Syncs the tempo (BPM) to that of the other track, if BPM is detected on both. Syncs the tempo (BPM) to that of the other track, if BPM is detected on both. - + Sync and Reset Key Sync and Reset Key - + Increases the pitch by one semitone. Increases the pitch by one semitone. - + Decreases the pitch by one semitone. Decreases the pitch by one semitone. - + Enable Vinyl Control Enable Vinyl Control - + When disabled, the track is controlled by Mixxx playback controls. When disabled, the track is controlled by Mixxx playback controls. - + When enabled, the track responds to external vinyl control. When enabled, the track responds to external vinyl control. - + Enable Passthrough Enable Passthrough - + Indicates that the audio buffer is too small to do all audio processing. Indicates that the audio buffer is too small to do all audio processing. - + Displays cover artwork of the loaded track. Displays cover artwork of the loaded track. - + Displays options for editing cover artwork. Displays options for editing cover artwork. - + Star Rating Star Rating - + Assign ratings to individual tracks by clicking the stars. Assign ratings to individual tracks by clicking the stars. @@ -14579,33 +14693,33 @@ Use this to change only the effected (wet) signal with EQ and filter effects.Microphone Talkover Ducking Strength - + Prevents the pitch from changing when the rate changes. Prevents the pitch from changing when the rate changes. - + Changes the number of hotcue buttons displayed in the deck Changes the number of hotcue buttons displayed in the deck - + Starts playing from the beginning of the track. Starts playing from the beginning of the track. - + Jumps to the beginning of the track and stops. Jumps to the beginning of the track and stops. - - + + Plays or pauses the track. Plays or pauses the track. - + (while playing) (while playing) @@ -14625,215 +14739,215 @@ Use this to change only the effected (wet) signal with EQ and filter effects. - + (while stopped) (while stopped) - + Cue Cue - + Headphone Headphone - + Mute Mute - + Old Synchronize Old Synchronize - + Syncs to the first deck (in numerical order) that is playing a track and has a BPM. Syncs to the first deck (in numerical order) that is playing a track and has a BPM. - + If no deck is playing, syncs to the first deck that has a BPM. If no deck is playing, syncs to the first deck that has a BPM. - + Decks can't sync to samplers and samplers can only sync to decks. Decks can't sync to samplers and samplers can only sync to decks. - + Hold for at least a second to enable sync lock for this deck. Hold for at least a second to enable sync lock for this deck. - + Decks with sync locked will all play at the same tempo, and decks that also have quantize enabled will always have their beats lined up. Decks with sync locked will all play at the same tempo, and decks that also have quantize enabled will always have their beats lined up. - + Resets the key to the original track key. Resets the key to the original track key. - + Speed Control Speed Control - - - + + + Changes the track pitch independent of the tempo. Changes the track pitch independent of the tempo. - + Increases the pitch by 10 cents. Increases the pitch by 10 cents. - + Decreases the pitch by 10 cents. Decreases the pitch by 10 cents. - + Pitch Adjust Pitch Adjust - + Adjust the pitch in addition to the speed slider pitch. Adjust the pitch in addition to the speed slider pitch. - + Opens a menu to clear hotcues or edit their labels and colors. Opens a menu to clear hotcues or edit their labels and colors. - + Drag this button onto a Play button while previewing to continue playback after release. - + Dragging with Shift key pressed will not start previewing the hotcue. - + Record Mix Record Mix - + Toggle mix recording. Toggle mix recording. - + Enable Live Broadcasting Enable Live Broadcasting - + Stream your mix over the Internet. Stream your mix over the Internet. - + Provides visual feedback for Live Broadcasting status: Provides visual feedback for Live Broadcasting status: - + disabled, connecting, connected, failure. disabled, connecting, connected, failure. - + When enabled, the deck directly plays the audio arriving on the vinyl input. When enabled, the deck directly plays the audio arriving on the vinyl input. - + Playback will resume where the track would have been if it had not entered the loop. Playback will resume where the track would have been if it had not entered the loop. - + Loop Exit Loop Exit - + Turns the current loop off. Turns the current loop off. - + Slip Mode Slip Mode - + When active, the playback continues muted in the background during a loop, reverse, scratch etc. When active, the playback continues muted in the background during a loop, reverse, scratch etc. - + Once disabled, the audible playback will resume where the track would have been. Once disabled, the audible playback will resume where the track would have been. - + Track Key The musical key of a track Track Key - + Displays the musical key of the loaded track. Displays the musical key of the loaded track. - + Clock Clock - + Displays the current time. Displays the current time. - + Audio Latency Usage Meter Audio Latency Usage Meter - + Displays the fraction of latency used for audio processing. Displays the fraction of latency used for audio processing. - + A high value indicates that audible glitches are likely. A high value indicates that audible glitches are likely. - + Do not enable keylock, effects or additional decks in this situation. Do not enable keylock, effects or additional decks in this situation. - + Audio Latency Overload Indicator Audio Latency Overload Indicator @@ -14878,254 +14992,254 @@ Use this to change only the effected (wet) signal with EQ and filter effects.Displays the current musical key of the loaded track after pitch shifting. - + Fast Rewind Fast Rewind - + Fast rewind through the track. Fast rewind through the track. - + Fast Forward Fast Forward - + Fast forward through the track. Fast forward through the track. - + Jumps to the end of the track. Jumps to the end of the track. - + Sets the pitch to a key that allows a harmonic transition from the other track. Requires a detected key on both involved decks. Sets the pitch to a key that allows a harmonic transition from the other track. Requires a detected key on both involved decks. - - - + + + Pitch Control Pitch Control - + Pitch Rate Pitch Rate - + Displays the current playback rate of the track. Displays the current playback rate of the track. - + Repeat Repeat - + When active the track will repeat if you go past the end or reverse before the start. When active the track will repeat if you go past the end or reverse before the start. - + Eject Eject - + Ejects track from the player. Ejects track from the player. - + Hotcue Hotcue - + If hotcue is set, jumps to the hotcue. If hotcue is set, jumps to the hotcue. - + If hotcue is not set, sets the hotcue to the current play position. If hotcue is not set, sets the hotcue to the current play position. - + Vinyl Control Mode Vinyl Control Mode - + Absolute mode - track position equals needle position and speed. Absolute mode - track position equals needle position and speed. - + Relative mode - track speed equals needle speed regardless of needle position. Relative mode - track speed equals needle speed regardless of needle position. - + Constant mode - track speed equals last known-steady speed regardless of needle input. Constant mode - track speed equals last known-steady speed regardless of needle input. - + Vinyl Status Vinyl Status - + Provides visual feedback for vinyl control status: Provides visual feedback for vinyl control status: - + Green for control enabled. Green for control enabled. - + Blinking yellow for when the needle reaches the end of the record. Blinking yellow for when the needle reaches the end of the record. - + Loop-In Marker Loop-In Marker - + Loop-Out Marker Loop-Out Marker - + Loop Halve Loop Halve - + Halves the current loop's length by moving the end marker. Halves the current loop's length by moving the end marker. - + Deck immediately loops if past the new endpoint. Deck immediately loops if past the new endpoint. - + Loop Double Loop Double - + Doubles the current loop's length by moving the end marker. Doubles the current loop's length by moving the end marker. - + Beatloop Beatloop - + Toggles the current loop on or off. Toggles the current loop on or off. - + Works only if Loop-In and Loop-Out marker are set. Works only if Loop-In and Loop-Out marker are set. - + Vinyl Cueing Mode Vinyl Cueing Mode - + Determines how cue points are treated in vinyl control Relative mode: Determines how cue points are treated in vinyl control Relative mode: - + Off - Cue points ignored. Off - Cue points ignored. - + One Cue - If needle is dropped after the cue point, track will seek to that cue point. One Cue - If needle is dropped after the cue point, track will seek to that cue point. - + Track Time Track Time - + Track Duration Track Duration - + Displays the duration of the loaded track. Displays the duration of the loaded track. - + Information is loaded from the track's metadata tags. Information is loaded from the track's metadata tags. - + Track Artist Track Artist - + Displays the artist of the loaded track. Displays the artist of the loaded track. - + Track Title Track Title - + Displays the title of the loaded track. Displays the title of the loaded track. - + Track Album Track Album - + Displays the album name of the loaded track. Displays the album name of the loaded track. - + Track Artist/Title Track Artist/Title - + Displays the artist and title of the loaded track. Displays the artist and title of the loaded track. @@ -15133,12 +15247,12 @@ Use this to change only the effected (wet) signal with EQ and filter effects. TrackCollection - + Hiding tracks Hiding tracks - + The selected tracks are in the following playlists:%1Hiding them will remove them from these playlists. Continue? The selected tracks are in the following playlists:%1Hiding them will remove them from these playlists. Continue? @@ -15353,47 +15467,47 @@ This can not be undone! WCueMenuPopup - + Cue number Cue number - + Cue position Cue position - + Edit cue label Edit cue label - + Label... Label... - + Delete this cue Delete this cue - + Toggle this cue type between normal cue and saved loop - + Left-click: Use the old size or the current beatloop size as the loop size - + Right-click: Use the current play position as loop end if it is after the cue - + Hotcue #%1 Hotcue #%1 @@ -15518,323 +15632,353 @@ This can not be undone! + Search in Current View... + + + + + Search for tracks in the current library view + + + + + Ctrl+f + + + + + Search in Tracks Library... + + + + + Search in the internal track collection under "Tracks" in the library + + + + + Ctrl+Shift+F + + + + Create &New Playlist Create &New Playlist - + Create a new playlist Create a new playlist - + Ctrl+n Ctrl+n - + Create New &Crate Create New &Crate - + Create a new crate Create a new crate - + Ctrl+Shift+N Ctrl+Shift+N - - + + &View &View - + Auto-hide menu bar - + Auto-hide the main menu bar when it's not used. - + May not be supported on all skins. May not be supported on all skins. - + Show Skin Settings Menu Show Skin Settings Menu - + Show the Skin Settings Menu of the currently selected Skin Show the Skin Settings Menu of the currently selected Skin - + Ctrl+1 Menubar|View|Show Skin Settings Ctrl+1 - + Show Microphone Section Show Microphone Section - + Show the microphone section of the Mixxx interface. Show the microphone section of the Mixxx interface. - + Ctrl+2 Menubar|View|Show Microphone Section Ctrl+2 - + Show Vinyl Control Section Show Vinyl Control Section - + Show the vinyl control section of the Mixxx interface. Show the vinyl control section of the Mixxx interface. - + Ctrl+3 Menubar|View|Show Vinyl Control Section Ctrl+3 - + Show Preview Deck Show Preview Deck - + Show the preview deck in the Mixxx interface. Show the preview deck in the Mixxx interface. - + Ctrl+4 Menubar|View|Show Preview Deck Ctrl+4 - + Show Cover Art Show Cover Art - + Show cover art in the Mixxx interface. Show cover art in the Mixxx interface. - + Ctrl+6 Menubar|View|Show Cover Art Ctrl+6 - + Maximize Library Maximize Library - + Maximize the track library to take up all the available screen space. Maximize the track library to take up all the available screen space. - + Space Menubar|View|Maximize Library Space - + &Full Screen &Full Screen - + Display Mixxx using the full screen Display Mixxx using the full screen - + &Options &Options - + &Vinyl Control &Vinyl Control - + Use timecoded vinyls on external turntables to control Mixxx Use timecoded vinyls on external turntables to control Mixxx - + Enable Vinyl Control &%1 Enable Vinyl Control &%1 - + &Record Mix &Record Mix - + Record your mix to a file Record your mix to a file - + Ctrl+R Ctrl+R - + Enable Live &Broadcasting Enable Live &Broadcasting - + Stream your mixes to a shoutcast or icecast server Stream your mixes to a shoutcast or icecast server - + Ctrl+L Ctrl+L - + Enable &Keyboard Shortcuts Enable &Keyboard Shortcuts - + Toggles keyboard shortcuts on or off Toggles keyboard shortcuts on or off - + Ctrl+` Ctrl+` - + &Preferences &Preferences - + Change Mixxx settings (e.g. playback, MIDI, controls) Change Mixxx settings (e.g. playback, MIDI, controls) - + &Developer &Developer - + &Reload Skin &Reload Skin - + Reload the skin Reload the skin - + Ctrl+Shift+R Ctrl+Shift+R - + Developer &Tools Developer &Tools - + Opens the developer tools dialog Opens the developer tools dialog - + Ctrl+Shift+T Ctrl+Shift+T - + Stats: &Experiment Bucket Stats: &Experiment Bucket - + Enables experiment mode. Collects stats in the EXPERIMENT tracking bucket. Enables experiment mode. Collects stats in the EXPERIMENT tracking bucket. - + Ctrl+Shift+E Ctrl+Shift+E - + Stats: &Base Bucket Stats: &Base Bucket - + Enables base mode. Collects stats in the BASE tracking bucket. Enables base mode. Collects stats in the BASE tracking bucket. - + Ctrl+Shift+B Ctrl+Shift+B - + Deb&ugger Enabled Deb&ugger Enabled - + Enables the debugger during skin parsing Enables the debugger during skin parsing - + Ctrl+Shift+D Ctrl+Shift+D - + &Help &Help - + Show Keywheel menu title @@ -15851,74 +15995,74 @@ This can not be undone! - + Show keywheel tooltip text - + F12 Menubar|View|Show Keywheel - + &Community Support &Community Support - + Get help with Mixxx Get help with Mixxx - + &User Manual &User Manual - + Read the Mixxx user manual. Read the Mixxx user manual. - + &Keyboard Shortcuts &Keyboard Shortcuts - + Speed up your workflow with keyboard shortcuts. Speed up your workflow with keyboard shortcuts. - + &Settings directory - + Open the Mixxx user settings directory. - + &Translate This Application &Translate This Application - + Help translate this application into your language. Help translate this application into your language. - + &About &About - + About the application About the application @@ -15926,25 +16070,25 @@ This can not be undone! WOverview - + Passthrough Passthrough - + Ready to play, analyzing... Text on waveform overview when file is playable but no waveform is visible - - + + Loading track... Text on waveform overview when file is cached from source - + Finalizing... Text on waveform overview during finalizing of waveform analysis @@ -15953,25 +16097,13 @@ This can not be undone! WSearchLineEdit - - Clear input - Clear the search bar input field - Clear input - - - - Ctrl+F - Search|Focus - Ctrl+F - - - + Search noun Search - + Clear input Clear input @@ -15982,169 +16114,163 @@ This can not be undone! Search... - + Clear the search bar input field Clear the search bar input field - - Enter a string to search for - Enter a string to search for + + Return + - - Use operators like bpm:115-128, artist:BooFar, -year:1990 - Use operators like bpm:115-128, artist:BooFar, -year:1990 + + Enter a string to search for. + - - For more information see User Manual > Mixxx Library - For more information see User Manual > Mixxx Library + + Use operators like bpm:115-128, artist:BooFar, -year:1990. + - Shortcut - Shortcut + See User Manual > Mixxx Library for more information. + - - Ctrl+F - Ctrl+F + + Focus/Select All (Search in current view) + Give search bar input focus + - - Focus - Give search bar input focus - Focus + + Focus/Select All (Search in 'Tracks' library view) + - - - Ctrl+Backspace - Ctrl+Backspace + + Additional Shortcuts When Focused: + - Shortcuts + Trigger search before search-as-you-type timeout or focus tracks view afterwards - Return + Esc or Ctrl+Return - Trigger search before search-as-you-type timeout orjump to tracks view afterwards + Immediately trigger search and focus tracks view + Exit search bar and leave focus - + Ctrl+Space - + Toggle search history Shows/hides the search history entries - + Delete or Backspace - - Delete query from history + + in search history - - Esc - Esc - - - - Exit search - Exit search bar and leave focus - Exit search + + Delete query from history + WSearchRelatedTracksMenu - + Search related Tracks - + Key Key - + harmonic with %1 - + BPM BPM - + between %1 and %2 - + Artist Artist - + Album Artist Album Artist - + Composer Composer - + Title Title - + Album Album - + Grouping Grouping - + Year Year - + Genre Genre - + Directory - + &Search selected @@ -16152,620 +16278,625 @@ This can not be undone! WTrackMenu - + Load to Load to - + Deck Deck - + Sampler Sampler - + Add to Playlist Add to Playlist - + Crates Crates - + Metadata Metadata - + Update external collections Update external collections - + Cover Art Show Cover Art - + Adjust BPM Adjust BPM - + Select Color Select Color - - + + Analyze Analyse - - + + Delete Track Files - + Add to Auto DJ Queue (bottom) Add to Auto DJ Queue (bottom) - + Add to Auto DJ Queue (top) Add to Auto DJ Queue (top) - + Add to Auto DJ Queue (replace) Add to Auto DJ Queue (replace) - + Preview Deck Preview Deck - + Remove Remove - + Remove from Playlist Remove from Playlist - + Remove from Crate Remove from Crate - + Hide from Library Hide from Library - + Unhide from Library Unhide from Library - + Purge from Library Purge from Library - + Move Track File(s) to Trash - + Delete Files from Disk - + Properties Properties - + Open in File Browser Open in File Browser - + Select in Library - + Import From File Tags Import From File Tags - + Import From MusicBrainz Import From MusicBrainz - + Export To File Tags Export To File Tags - + BPM and Beatgrid BPM and Beatgrid - + Play Count Play Count - + Rating Rating - + Cue Point Cue Point - - + + Hotcues Hotcues - + Intro Intro - + Outro Outro - + Key Key - + ReplayGain ReplayGain - + Waveform Waveform - + Comment Comment - + All All - + Sort hotcues by position (remove offsets) - + Sort hotcues by position - + Lock BPM Lock BPM - + Unlock BPM Unlock BPM - + Double BPM Double BPM - + Halve BPM Halve BPM - + 2/3 BPM 2/3 BPM - + 3/4 BPM 3/4 BPM - + 4/3 BPM 4/3 BPM - + 3/2 BPM 3/2 BPM - + + Shift Beatgrid Half Beat + + + + Reanalyze - + Reanalyze (constant BPM) - + Reanalyze (variable BPM) - + Update ReplayGain from Deck Gain - + Deck %1 Deck %1 - + Importing metadata of %n track(s) from file tags - + Marking metadata of %n track(s) to be exported into file tags - - + + Create New Playlist Create New Playlist - + Enter name for new playlist: Enter name for new playlist: - + New Playlist New Playlist - - - + + + Playlist Creation Failed Playlist Creation Failed - + A playlist by that name already exists. A playlist by that name already exists. - + A playlist cannot have a blank name. A playlist cannot have a blank name. - + An unknown error occurred while creating playlist: An unknown error occurred while creating playlist: - + Add to New Crate Add to New Crate - + Scaling BPM of %n track(s) - + Undo BPM/beats change of %n track(s) - + Locking BPM of %n track(s) - + Unlocking BPM of %n track(s) - + Setting rating of %n track(s) - + Setting color of %n track(s) - + Resetting play count of %n track(s) - + Resetting beats of %n track(s) - + Clearing rating of %n track(s) - + Clearing comment of %n track(s) - + Removing main cue from %n track(s) - + Removing outro cue from %n track(s) - + Removing intro cue from %n track(s) - + Removing loop cues from %n track(s) - + Removing hot cues from %n track(s) - + Sorting hotcues of %n track(s) by position (remove offsets) - + Sorting hotcues of %n track(s) by position - + Resetting keys of %n track(s) - + Resetting replay gain of %n track(s) - + Resetting waveform of %n track(s) - + Resetting all performance metadata of %n track(s) - + Move these files to the trash bin? - + Permanently delete these files from disk? - - + + This can not be undone! - + Cancel Cancel - + Delete Files - + Okay - + Move Track File(s) to Trash? - + Track Files Deleted - + Track Files Moved To Trash - + %1 track files were moved to trash and purged from the Mixxx database. - + %1 track files were deleted from disk and purged from the Mixxx database. - + Track File Deleted - + Track file was deleted from disk and purged from the Mixxx database. - + The following %1 file(s) could not be deleted from disk - + This track file could not be deleted from disk - + Remaining Track File(s) - + Close Close - + Clear Reset metadata in right click track context menu in library - + Loops - + Clear BPM and Beatgrid - + Undo last BPM/beats change - + Move this track file to the trash bin? - + Permanently delete this track file from disk? - + All decks where these tracks are loaded will be stopped and the tracks will be ejected. - + All decks where this track is loaded will be stopped and the track will be ejected. - + Removing %n track file(s) from disk... - + Note: if you are in the Computer or Recording view you need to click the current view again to see changes. - + Track File Moved To Trash - + Track file was moved to trash and purged from the Mixxx database. - + Don't show again during this session - + The following %1 file(s) could not be moved to trash - + This track file could not be moved to trash - + Setting cover art of %n track(s) Setting cover art of %n track(s)Setting cover art of %n track(s) - + Reloading cover art of %n track(s) Reloading cover art of %n track(s)Reloading cover art of %n track(s) @@ -16781,37 +16912,37 @@ This can not be undone! WTrackStemMenu - + Load for stem mixing - + Load pre-mixed stereo track - + Load the "%1" stem - + Load multiple stem into a stereo deck - + Select stems to load - + Release "CTRL" to load the current selection - + Use "CTRL" to select multiple stems @@ -16819,37 +16950,37 @@ This can not be undone! WTrackTableView - + Confirm track hide - + Are you sure you want to hide the selected tracks? - + Are you sure you want to remove the selected tracks from AutoDJ queue? - + Are you sure you want to remove the selected tracks from this crate? - + Are you sure you want to remove the selected tracks from this playlist? - + Don't ask again during this session - + Confirm track removal @@ -16857,12 +16988,12 @@ This can not be undone! WTrackTableViewHeader - + Show or hide columns. Show or hide columns. - + Shuffle Tracks @@ -16870,52 +17001,52 @@ This can not be undone! mixxx::CoreServices - + fonts - + database - + effects - + audio interface - + decks - + library - + Choose music library directory Choose music library directory - + controllers - + Cannot open database Cannot open database - + Unable to establish a database connection. Mixxx requires QT with SQLite support. Please read the Qt SQL driver documentation for information on how to build it. @@ -16929,68 +17060,78 @@ Click OK to exit. mixxx::DlgLibraryExport - + Entire music library - - Selected crates + + Crates - + + Playlists + + + + + Selected crates/playlists + + + + Browse Browse - + Export directory - + Database version - + Export Export - + Cancel Cancel - + Export Library to Engine DJ "Engine DJ" must not be translated - + Export Library To - + No Export Directory Chosen - + No export directory was chosen. Please choose a directory in order to export the music library. - + A database already exists in the chosen directory. Exported tracks will be added into this database. - + A database already exists in the chosen directory, but there was a problem loading it. Export is not guaranteed to succeed in this situation. @@ -17011,7 +17152,7 @@ Click OK to exit. mixxx::EnginePrimeExportJob - + Failed to export track %1 - %2: %3 %1 is the artist %2 is the title and %3 is the original error message @@ -17021,23 +17162,23 @@ Click OK to exit. mixxx::LibraryExporter - + Export Completed - - Exported %1 track(s) and %2 crate(s). + + Exported %1 track(s), %2 crate(s), and %3 playlist(s). - + Export Failed - - Exporting to Engine Prime... + + Exporting to Engine DJ... diff --git a/res/translations/mixxx_en_GB.qm b/res/translations/mixxx_en_GB.qm index 939708fbf4da290cc36f087567318b75bb40b10c..9b5af989606f7d26cc745f4e79a8ade9c38f5a5f 100644 GIT binary patch delta 776 zcmW-eT}V@L7{<^4+1Ylcb7z}wXCJncn;(@+%XHF*8YR;x7NhCN%GE^{LPb#;(H9h} zAj)`)6_tg7iz2E1&FppT2bpe`hW?9j!-@8;#<;rIS}Ydbn_>+`Xr zx76o2VSw%#zQXW? z(#8-hKk1#Zo1#)FB$;}pMieffjMRmqm!z6rKzhu7m_7lX4K!ii5BoU93vQFmvdHco zV;zxd0oU%ZwHef}%3Zn9xPCA@W(v)_*qJz$ju-&E4&UUy)d6Ux5VAF=W24QTYBkqvh z@<2Sh?7krS-iYV6p3!)oa_&yZC#c%9l<)C)8B~Q*-p4SHQKEP-&$Liq_Gh)W@+z07 z831Q5DQXx>4<*zjJf-wm4d)qF=`SwXr^$Q7>!(*Sh1iv6%EJXvRVHCL#^b>VgXa}b&(>(Y$tSD27^LNtn9~Kiz^}RAGYkQ zJHK%~ALo;~6@)8E2S=fSvH$1`-h#5_%3E6s$@b;H+ z37$aNi*!lH@Wti0pznhsI~s&jLhnAp>z8p(cmT%Rm^HLOsUDXNW5U2y!WWEUu)qtZ z8XPL<0DBZq77RnhT{IMa1*TgxSNIcvD~(I0Jz)CSu&EmrGy{L#&y629g){#fcA=I3#)au7=2LxZDR|A>(lXph6ifoDCARDBMs?&AjM zSz~cbzxMBKjPob-j#B_|yoo=%B2e`PZgB4hR}dH75o6(Y{kvVSviatyL2Tfl#6^Rv z2ibsM!)#3p6ko>Wn)P1OA;KF?!lr%~Ay0M*?K^w~=I;s}M^6!5$!(!KdW4bKgJw?y z6n&4Ko(>TFbjH)ifqNh3*33iYV>-LGg@bZ}OWp=3{uLj3Z6J=J!M6v>*3((vJO>qF z46X|ana6Bt9xAV6gRpKzbL}puzJs&1`=RhKHP^*BaNVOr^~{%Dr3($i9GC{t-Z%`- zGjyiW%fYHToNF3{$`7ca`78&e8*yRd4e*}CS$_;FW0><_ad<|JA6@^9kj-yv9**>D zo-aFy3jr6H+v#$EEw)_6TnnRbp|imhV|al6)p|u|wfIeQ7Y`H8KcIQOq6EL#6ob+c zw6{l~x(bKdPk{Ax`cFHnQF@&kI!oASFH!q5Y!B`#>h8MCf#n$Hy7$AXV|3`*t(-l% z@I2uQzc!DZ-%E&eQ1iU4pDu+X9C)9gp{LDo`x&;+g5%iPGY-Ddy%&0BFZ6Ki06V(H z3qAa|`fMo5S7on7`PJFJD1R~FB;6!U6f!|-Nf(hwoQxBdOlh}70b!58PDyuKnW*iO z;^XR+6i;Nu7++a!dMY)t0u?l9M1!pRAH?)rLQ>+RuSDedw3@H{G`zZ%gh`6gNiaep zqaZRWd2&hibtF5sjdOZe`Z&X>bV3m&QB5n!)QFgtMOCXU4$F$xy-Z-`R1#lF(S_Bx z7V+6wB*V(4wH681N@2=JSCB>FOfoI1*{T@tau`X3$Sgcf)D?hU6QC8-jgm-Ky{_}E z&C^XV6G^Xj%ZrGz+9{SQu?dT$gNS&3$`kNMWJR2mm4ui~F}jmdIw_|Z|Ag49GEq?} zH7!ku9bz<@$z;SW$(@R%?AE$vbuoTAJ1_&j?3x%~KBN5COJo$Mw82SCmCW?0tltFF zIIc0;$)b}aM4FfdNIiQulU7p4FnR51hRcsS#Qp)9Sw#DqkJgjjEI*IQ=e99xTp2=J zuNq8<@>D{R(z2q86Up&}xN~YU)YKHHZ)$F>6D1{`RMVj@S&m3bomjt{Z79^#*4C(L LS - + Remove Crate as Track Source Remove Crate as Track Source - + Auto DJ Auto DJ - + Confirmation Clear - + Do you really want to remove all tracks from the Auto DJ queue? - + This can not be undone. - + Add Crate as Track Source Add Crate as Track Source @@ -149,7 +149,7 @@ BasePlaylistFeature - + New Playlist New Playlist @@ -160,7 +160,7 @@ - + Create New Playlist Create New Playlist @@ -190,113 +190,120 @@ Duplicate - - + + Import Playlist Import Playlist - + Export Track Files Export Track Files - + Analyze entire Playlist Analyse entire Playlist - + Enter new name for playlist: Enter new name for playlist: - + Duplicate Playlist Duplicate Playlist - - + + Enter name for new playlist: Enter name for new playlist: - - + + Export Playlist Export Playlist - + Add to Auto DJ Queue (replace) Add to Auto DJ Queue (replace) - + + + Export to Engine DJ + "Engine DJ" is a product name and must not be translated. + + + + Rename Playlist Rename Playlist - - + + Renaming Playlist Failed Renaming Playlist Failed - - - + + + A playlist by that name already exists. A playlist by that name already exists. - - - + + + A playlist cannot have a blank name. A playlist cannot have a blank name. - + _copy //: Appendix to default name when duplicating a playlist _copy - - - - - - + + + + + + Playlist Creation Failed Playlist Creation Failed - - + + An unknown error occurred while creating playlist: An unknown error occurred while creating playlist: - + Confirm Deletion - + Do you really want to delete playlist <b>%1</b>? - + M3U Playlist (*.m3u) M3U Playlist (*.m3u) - + M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Text CSV (*.csv);;Readable Text (*.txt) M3U Playlist (*.m3u);; M3U8 Playlist (*.m3u8);; PLS Playlist (*.pls);; Text CSV (*.csv);; Readable Text (*.txt) @@ -304,12 +311,12 @@ BaseSqlTableModel - + # # - + Timestamp Timestamp @@ -317,7 +324,7 @@ BaseTrackPlayerImpl - + Couldn't load track. Couldn't load track. @@ -325,137 +332,142 @@ BaseTrackTableModel - + Album Album - + Album Artist Album Artist - + Artist Artist - + Bitrate Bitrate - + BPM BPM - + Channels Channels - + Color Color - + Comment Comment - + Composer Composer - + Cover Art Cover Art - + Date Added Date Added - + Last Played - + Duration Duration - + Type Type - + Genre Genre - + Grouping Grouping - + Key Key - + Location Location - + + Overview + + + + Preview Preview - + Rating Rating - + ReplayGain ReplayGain - + Samplerate Samplerate - + Played Played - + Title Title - + Track # Track # - + Year Year - + Fetching image ... Tooltip text on the cover art column shown when the cover is read from disk @@ -543,67 +555,77 @@ BrowseFeature - + Add to Quick Links Add to Quick Links - + Remove from Quick Links Remove from Quick Links - + Add to Library Add to Library - + Refresh directory tree - + Quick Links Quick Links - - + + Devices Devices - + Removable Devices Removable Devices - - + + Computer Computer - + Music Directory Added Music Directory Added - + You added one or more music directories. The tracks in these directories won't be available until you rescan your library. Would you like to rescan now? You added one or more music directories. The tracks in these directories won't be available until you rescan your library. Would you like to rescan now? - + Scan Scan - + "Computer" lets you navigate, view, and load tracks from folders on your hard disk and external devices. "Computer" lets you navigate, view, and load tracks from folders on your hard disk and external devices. + + + It shows the data from the file tags, not track data from your Mixxx library like other track views. + + + + + If you load a track file from here, it will be added to your library. + + BrowseTableModel @@ -1046,13 +1068,13 @@ trace - Above + Profiling messages - + Set to full volume Set to full volume - + Set to zero volume Set to zero volume @@ -1077,13 +1099,13 @@ trace - Above + Profiling messages Reverse roll (Censor) button - + Headphone listen button Headphone listen button - + Mute button Mute button @@ -1094,25 +1116,25 @@ trace - Above + Profiling messages - + Mix orientation (e.g. left, right, center) Mix orientation (e.g. left, right, center) - + Set mix orientation to left Set mix orientation to left - + Set mix orientation to center Set mix orientation to center - + Set mix orientation to right Set mix orientation to right @@ -1153,22 +1175,22 @@ trace - Above + Profiling messages BPM tap button - + Toggle quantize mode Toggle quantize mode - + One-time beat sync (tempo only) One-time beat sync (tempo only) - + One-time beat sync (phase only) One-time beat sync (phase only) - + Toggle keylock mode Toggle keylock mode @@ -1178,193 +1200,193 @@ trace - Above + Profiling messages Equalizers - + Vinyl Control Vinyl Control - + Toggle vinyl-control cueing mode (OFF/ONE/HOT) Toggle vinyl-control cueing mode (OFF/ONE/HOT) - + Toggle vinyl-control mode (ABS/REL/CONST) Toggle vinyl-control mode (ABS/REL/CONST) - + Pass through external audio into the internal mixer Pass through external audio into the internal mixer - + Cues Cues - + Cue button Cue button - + Set cue point Set cue point - + Go to cue point Go to cue point - + Go to cue point and play Go to cue point and play - + Go to cue point and stop Go to cue point and stop - + Preview from cue point Preview from cue point - + Cue button (CDJ mode) Cue button (CDJ mode) - + Stutter cue Stutter cue - + Hotcues Hotcues - + Set, preview from or jump to hotcue %1 Set, preview from or jump to hotcue %1 - + Clear hotcue %1 Clear hotcue %1 - + Set hotcue %1 Set hotcue %1 - + Jump to hotcue %1 Jump to hotcue %1 - + Jump to hotcue %1 and stop Jump to hotcue %1 and stop - + Jump to hotcue %1 and play Jump to hotcue %1 and play - + Preview from hotcue %1 Preview from hotcue %1 - - + + Hotcue %1 Hotcue %1 - + Looping Looping - + Loop In button Loop In button - + Loop Out button Loop Out button - + Loop Exit button Loop Exit button - + 1/2 1/2 - + 1 1 - + 2 2 - + 4 4 - + 8 8 - + 16 16 - + 32 32 - + 64 64 - + Move loop forward by %1 beats Move loop forward by %1 beats - + Move loop backward by %1 beats Move loop backward by %1 beats - + Create %1-beat loop Create %1-beat loop - + Create temporary %1-beat loop roll Create temporary %1-beat loop roll @@ -1480,20 +1502,20 @@ trace - Above + Profiling messages - - + + Volume Fader Volume Fader - + Full Volume Full Volume - + Zero Volume Zero Volume @@ -1509,7 +1531,7 @@ trace - Above + Profiling messages - + Mute Mute @@ -1520,7 +1542,7 @@ trace - Above + Profiling messages - + Headphone Listen Headphone Listen @@ -1541,25 +1563,25 @@ trace - Above + Profiling messages - + Orientation Orientation - + Orient Left Orient Left - + Orient Center Orient Center - + Orient Right Orient Right @@ -1629,82 +1651,82 @@ trace - Above + Profiling messages Adjust the beatgrid to the right - + Adjust Beatgrid Adjust Beatgrid - + Align beatgrid to current position Align beatgrid to current position - + Adjust Beatgrid - Match Alignment Adjust Beatgrid - Match Alignment - + Adjust beatgrid to match another playing deck. Adjust beatgrid to match another playing deck. - + Quantize Mode Quantize Mode - + Sync Sync - + Beat Sync One-Shot Beat Sync One-Shot - + Sync Tempo One-Shot Sync Tempo One-Shot - + Sync Phase One-Shot Sync Phase One-Shot - + Pitch control (does not affect tempo), center is original pitch Pitch control (does not affect tempo), center is original pitch - + Pitch Adjust Pitch Adjust - + Adjust pitch from speed slider pitch Adjust pitch from speed slider pitch - + Match musical key Match musical key - + Match Key Match Key - + Reset Key Reset Key - + Resets key to original Resets key to original @@ -1745,451 +1767,451 @@ trace - Above + Profiling messages Low EQ - + Toggle Vinyl Control Toggle Vinyl Control - + Toggle Vinyl Control (ON/OFF) Toggle Vinyl Control (ON/OFF) - + Vinyl Control Mode Vinyl Control Mode - + Vinyl Control Cueing Mode Vinyl Control Cueing Mode - + Vinyl Control Passthrough Vinyl Control Passthrough - + Vinyl Control Next Deck Vinyl Control Next Deck - + Single deck mode - Switch vinyl control to next deck Single deck mode - Switch vinyl control to next deck - + Cue Cue - + Set Cue Set Cue - + Go-To Cue Go-To Cue - + Go-To Cue And Play Go-To Cue And Play - + Go-To Cue And Stop Go-To Cue And Stop - + Preview Cue Preview Cue - + Cue (CDJ Mode) Cue (CDJ Mode) - + Stutter Cue Stutter Cue - + Go to cue point and play after release Go to cue point and play after release - + Clear Hotcue %1 Clear Hotcue %1 - + Set Hotcue %1 Set Hotcue %1 - + Jump To Hotcue %1 Jump To Hotcue %1 - + Jump To Hotcue %1 And Stop Jump To Hotcue %1 And Stop - + Jump To Hotcue %1 And Play Jump To Hotcue %1 And Play - + Preview Hotcue %1 Preview Hotcue %1 - + Loop In Loop In - + Loop Out Loop Out - + Loop Exit Loop Exit - + Reloop/Exit Loop Reloop/Exit Loop - + Loop Halve Loop Halve - + Loop Double Loop Double - + 1/32 1/32 - + 1/16 1/16 - + 1/8 1/8 - + 1/4 1/4 - + Move Loop +%1 Beats Move Loop +%1 Beats - + Move Loop -%1 Beats Move Loop -%1 Beats - + Loop %1 Beats Loop %1 Beats - + Loop Roll %1 Beats Loop Roll %1 Beats - + Add to Auto DJ Queue (bottom) Add to Auto DJ Queue (bottom) - + Append the selected track to the Auto DJ Queue Append the selected track to the Auto DJ Queue - + Add to Auto DJ Queue (top) Add to Auto DJ Queue (top) - + Prepend selected track to the Auto DJ Queue Prepend selected track to the Auto DJ Queue - + Load Track Load Track - + Load selected track Load selected track - + Load selected track and play Load selected track and play - - + + Record Mix Record Mix - + Toggle mix recording Toggle mix recording - + Effects Effects - + Quick Effects Quick Effects - + Deck %1 Quick Effect Super Knob Deck %1 Quick Effect Super Knob - + Quick Effect Super Knob (control linked effect parameters) Quick Effect Super Knob (control linked effect parameters) - - + + Quick Effect Quick Effect - + Clear Unit Clear Unit - + Clear effect unit Clear effect unit - + Toggle Unit Toggle Unit - + Dry/Wet Dry/Wet - + Adjust the balance between the original (dry) and processed (wet) signal. Adjust the balance between the original (dry) and processed (wet) signal. - + Super Knob Super Knob - + Next Chain Next Chain - + Assign Assign - + Clear Clear - + Clear the current effect Clear the current effect - + Toggle Toggle - + Toggle the current effect Toggle the current effect - + Next Next - + Switch to next effect Switch to next effect - + Previous Previous - + Switch to the previous effect Switch to the previous effect - + Next or Previous Next or Previous - + Switch to either next or previous effect Switch to either next or previous effect - - + + Parameter Value Parameter Value - - + + Microphone Ducking Strength Microphone Ducking Strength - + Microphone Ducking Mode Microphone Ducking Mode - + Gain Gain - + Gain knob Gain knob - + Shuffle the content of the Auto DJ queue Shuffle the content of the Auto DJ queue - + Skip the next track in the Auto DJ queue Skip the next track in the Auto DJ queue - + Auto DJ Toggle Auto DJ Toggle - + Toggle Auto DJ On/Off Toggle Auto DJ On/Off - + Show/hide the microphone & auxiliary section - + 4 Effect Units Show/Hide - + Switches between showing 2 and 4 effect units - + Mixer Show/Hide - + Show or hide the mixer. Show or hide the mixer. - + Cover Art Show/Hide (Library) Cover Art Show/Hide (Library) - + Show/hide cover art in the library Show/hide cover art in the library - + Library Maximize/Restore Library Maximize/Restore - + Maximize the track library to take up all the available screen space. Maximize the track library to take up all the available screen space. - + Effect Rack Show/Hide Effect Rack Show/Hide - + Show/hide the effect rack Show/hide the effect rack - + Waveform Zoom Out Waveform Zoom Out @@ -2204,102 +2226,102 @@ trace - Above + Profiling messages Headphone gain - + Tap to sync tempo (and phase with quantize enabled), hold to enable permanent sync Tap to sync tempo (and phase with quantize enabled), hold to enable permanent sync - + One-time beat sync tempo (and phase with quantize enabled) One-time beat sync tempo (and phase with quantize enabled) - + Playback Speed Playback Speed - + Playback speed control (Vinyl "Pitch" slider) Playback speed control (Vinyl "Pitch" slider) - + Pitch (Musical key) Pitch (Musical key) - + Increase Speed Increase Speed - + Adjust speed faster (coarse) Adjust speed faster (coarse) - + Increase Speed (Fine) Increase Speed (Fine) - + Adjust speed faster (fine) Adjust speed faster (fine) - + Decrease Speed Decrease Speed - + Adjust speed slower (coarse) Adjust speed slower (coarse) - + Adjust speed slower (fine) Adjust speed slower (fine) - + Temporarily Increase Speed Temporarily Increase Speed - + Temporarily increase speed (coarse) Temporarily increase speed (coarse) - + Temporarily Increase Speed (Fine) Temporarily Increase Speed (Fine) - + Temporarily increase speed (fine) Temporarily increase speed (fine) - + Temporarily Decrease Speed Temporarily Decrease Speed - + Temporarily decrease speed (coarse) Temporarily decrease speed (coarse) - + Temporarily Decrease Speed (Fine) Temporarily Decrease Speed (Fine) - + Temporarily decrease speed (fine) Temporarily decrease speed (fine) @@ -2451,1053 +2473,1063 @@ trace - Above + Profiling messages - - + + Move Beatgrid Half a Beat + + + + + Adjust the beatgrid by exactly one half beat. Usable only for tracks with constant tempo. + + + + + Toggle the BPM/beatgrid lock - + Revert last BPM/Beatgrid Change - + Revert last BPM/Beatgrid Change of the loaded track. - + Sync / Sync Lock - + Internal Sync Leader - + Toggle Internal Sync Leader - - + + Internal Leader BPM - + Internal Leader BPM +1 - + Increase internal Leader BPM by 1 - + Internal Leader BPM -1 - + Decrease internal Leader BPM by 1 - + Internal Leader BPM +0.1 - + Increase internal Leader BPM by 0.1 - + Internal Leader BPM -0.1 - + Decrease internal Leader BPM by 0.1 - + Sync Leader - + Sync mode 3-state toggle / indicator (Off, Soft Leader, Explicit Leader) - + Speed Speed - + Decrease Speed (Fine) - + Pitch (Musical Key) - + Increase Pitch - + Increases the pitch by one semitone - + Increase Pitch (Fine) - + Increases the pitch by 10 cents - + Decrease Pitch - + Decreases the pitch by one semitone - + Decrease Pitch (Fine) - + Decreases the pitch by 10 cents - + Keylock Keylock - + CUP (Cue + Play) CUP (Cue + Play) - + Shift cue points earlier - + Shift cue points 10 milliseconds earlier - + Shift cue points earlier (fine) - + Shift cue points 1 millisecond earlier - + Shift cue points later - + Shift cue points 10 milliseconds later - + Shift cue points later (fine) - + Shift cue points 1 millisecond later - - + + Sort hotcues by position - - + + Sort hotcues by position (remove offsets) - + Hotcues %1-%2 - + Intro / Outro Markers - + Intro Start Marker Intro Start Marker - + Intro End Marker Intro End Marker - + Outro Start Marker Outro Start Marker - + Outro End Marker Outro End Marker - + intro start marker - + intro end marker - + outro start marker - + outro end marker - + Activate %1 [intro/outro marker - + Jump to or set the %1 [intro/outro marker - + Set %1 [intro/outro marker - + Set or jump to the %1 [intro/outro marker - + Clear %1 [intro/outro marker - + Clear the %1 [intro/outro marker - + if the track has no beats the unit is seconds - + Loop Selected Beats Loop Selected Beats - + Create a beat loop of selected beat size Create a beat loop of selected beat size - + Loop Roll Selected Beats Loop Roll Selected Beats - + Create a rolling beat loop of selected beat size Create a rolling beat loop of selected beat size - + Loop %1 Beats set from its end point - + Loop Roll %1 Beats set from its end point - + Create %1-beat loop with the current play position as loop end - + Create temporary %1-beat loop roll with the current play position as loop end - + Loop Beats - + Loop Roll Beats - + Go To Loop In - + Go to Loop In button - + Go To Loop Out - + Go to Loop Out button - + Toggle loop on/off and jump to Loop In point if loop is behind play position Toggle loop on/off and jump to Loop In point if loop is behind play position - + Reloop And Stop Reloop And Stop - + Enable loop, jump to Loop In point, and stop Enable loop, jump to Loop In point, and stop - + Halve the loop length Halve the loop length - + Double the loop length Double the loop length - + Beat Jump / Loop Move Beat Jump / Loop Move - + Jump / Move Loop Forward %1 Beats Jump / Move Loop Forward %1 Beats - + Jump / Move Loop Backward %1 Beats Jump / Move Loop Backward %1 Beats - + Jump forward by %1 beats, or if a loop is enabled, move the loop forward %1 beats Jump forward by %1 beats, or if a loop is enabled, move the loop forward %1 beats - + Jump backward by %1 beats, or if a loop is enabled, move the loop backward %1 beats Jump backward by %1 beats, or if a loop is enabled, move the loop backward %1 beats - + Beat Jump / Loop Move Forward Selected Beats Beat Jump / Loop Move Forward Selected Beats - + Jump forward by the selected number of beats, or if a loop is enabled, move the loop forward by the selected number of beats Jump forward by the selected number of beats, or if a loop is enabled, move the loop forward by the selected number of beats - + Beat Jump / Loop Move Backward Selected Beats Beat Jump / Loop Move Backward Selected Beats - + Jump backward by the selected number of beats, or if a loop is enabled, move the loop backward by the selected number of beats Jump backward by the selected number of beats, or if a loop is enabled, move the loop backward by the selected number of beats - + Beat Jump - + Indicate which loop marker remain static when adjusting the size or is inherited from the current position - + Beat Jump / Loop Move Forward - + Beat Jump / Loop Move Backward - + Loop Move Forward - + Loop Move Backward - + Remove Temporary Loop - + Remove the temporary loop - + Navigation Navigation - + Move up Move up - + Equivalent to pressing the UP key on the keyboard Equivalent to pressing the UP key on the keyboard - + Move down Move down - + Equivalent to pressing the DOWN key on the keyboard Equivalent to pressing the DOWN key on the keyboard - + Move up/down Move up/down - + Move vertically in either direction using a knob, as if pressing UP/DOWN keys Move vertically in either direction using a knob, as if pressing UP/DOWN keys - + Scroll Up Scroll Up - + Equivalent to pressing the PAGE UP key on the keyboard Equivalent to pressing the PAGE UP key on the keyboard - + Scroll Down Scroll Down - + Equivalent to pressing the PAGE DOWN key on the keyboard Equivalent to pressing the PAGE DOWN key on the keyboard - + Scroll up/down Scroll up/down - + Scroll vertically in either direction using a knob, as if pressing PGUP/PGDOWN keys Scroll vertically in either direction using a knob, as if pressing PGUP/PGDOWN keys - + Move left Move left - + Equivalent to pressing the LEFT key on the keyboard Equivalent to pressing the LEFT key on the keyboard - + Move right Move right - + Equivalent to pressing the RIGHT key on the keyboard Equivalent to pressing the RIGHT key on the keyboard - + Move left/right Move left/right - + Move horizontally in either direction using a knob, as if pressing LEFT/RIGHT keys Move horizontally in either direction using a knob, as if pressing LEFT/RIGHT keys - + Move focus to right pane Move focus to right pane - + Equivalent to pressing the TAB key on the keyboard Equivalent to pressing the TAB key on the keyboard - + Move focus to left pane Move focus to left pane - + Equivalent to pressing the SHIFT+TAB key on the keyboard Equivalent to pressing the SHIFT+TAB key on the keyboard - + Move focus to right/left pane Move focus to right/left pane - + Move focus one pane to right or left using a knob, as if pressing TAB/SHIFT+TAB keys Move focus one pane to right or left using a knob, as if pressing TAB/SHIFT+TAB keys - + Sort focused column - + Sort the column of the cell that is currently focused, equivalent to clicking on its header - + Go to the currently selected item Go to the currently selected item - + Choose the currently selected item and advance forward one pane if appropriate Choose the currently selected item and advance forward one pane if appropriate - + Load Track and Play - + Add to Auto DJ Queue (replace) Add to Auto DJ Queue (replace) - + Replace Auto DJ Queue with selected tracks Replace Auto DJ Queue with selected tracks - + Select next search history - + Selects the next search history entry - + Select previous search history - + Selects the previous search history entry - + Move selected search entry - + Moves the selected search history item into given direction and steps - + Clear search - + Clears the search query - - + + Select Next Color Available - + Select the next color in the color palette for the first selected track - - + + Select Previous Color Available - + Select the previous color in the color palette for the first selected track - + Deck %1 Quick Effect Enable Button Deck %1 Quick Effect Enable Button - + Quick Effect Enable Button Quick Effect Enable Button - + Enable or disable effect processing Enable or disable effect processing - + Super Knob (control effects' Meta Knobs) Super Knob (control effects' Meta Knobs) - + Mix Mode Toggle Mix Mode Toggle - + Toggle effect unit between D/W and D+W modes Toggle effect unit between D/W and D+W modes - + Next chain preset Next chain preset - + Previous Chain Previous Chain - + Previous chain preset Previous chain preset - + Next/Previous Chain Next/Previous Chain - + Next or previous chain preset Next or previous chain preset - - + + Show Effect Parameters Show Effect Parameters - + Effect Unit Assignment - + Meta Knob Meta Knob - + Effect Meta Knob (control linked effect parameters) Effect Meta Knob (control linked effect parameters) - + Meta Knob Mode Meta Knob Mode - + Set how linked effect parameters change when turning the Meta Knob. Set how linked effect parameters change when turning the Meta Knob. - + Meta Knob Mode Invert Meta Knob Mode Invert - + Invert how linked effect parameters change when turning the Meta Knob. Invert how linked effect parameters change when turning the Meta Knob. - - + + Button Parameter Value - + Microphone / Auxiliary Microphone / Auxiliary - + Microphone On/Off Microphone On/Off - + Microphone on/off Microphone on/off - + Toggle microphone ducking mode (OFF, AUTO, MANUAL) Toggle microphone ducking mode (OFF, AUTO, MANUAL) - + Auxiliary On/Off Auxiliary On/Off - + Auxiliary on/off Auxiliary on/off - + Auto DJ Auto DJ - + Auto DJ Shuffle Auto DJ Shuffle - + Auto DJ Skip Next Auto DJ Skip Next - + Auto DJ Add Random Track - + Add a random track to the Auto DJ queue - + Auto DJ Fade To Next Auto DJ Fade To Next - + Trigger the transition to the next track Trigger the transition to the next track - + User Interface User Interface - + Samplers Show/Hide Samplers Show/Hide - + Show/hide the sampler section Show/hide the sampler section - + Microphone && Auxiliary Show/Hide keep double & to prevent creation of keyboard accelerator - + Waveform Zoom Reset To Default - + Reset the waveform zoom level to the default value selected in Preferences -> Waveforms - + Select the next color in the color palette for the loaded track. - + Select previous color in the color palette for the loaded track. - + Navigate Through Track Colors - + Select either next or previous color in the palette for the loaded track. - + Start/Stop Live Broadcasting - + Stream your mix over the Internet. Stream your mix over the Internet. - + Start/stop recording your mix. - - + + Samplers - + Vinyl Control Show/Hide Vinyl Control Show/Hide - + Show/hide the vinyl control section Show/hide the vinyl control section - + Preview Deck Show/Hide Preview Deck Show/Hide - + Show/hide the preview deck Show/hide the preview deck - + Toggle 4 Decks Toggle 4 Decks - + Switches between showing 2 decks and 4 decks. Switches between showing 2 decks and 4 decks. - + Cover Art Show/Hide (Decks) Cover Art Show/Hide (Decks) - + Show/hide cover art in the main decks Show/hide cover art in the main decks - + Vinyl Spinner Show/Hide Vinyl Spinner Show/Hide - + Show/hide spinning vinyl widget Show/hide spinning vinyl widget - + Vinyl Spinners Show/Hide (All Decks) - + Show/Hide all spinnies - + Toggle Waveforms - + Show/hide the scrolling waveforms. - + Waveform zoom Waveform zoom - + Waveform Zoom Waveform Zoom - + Zoom waveform in Zoom waveform in - + Waveform Zoom In Waveform Zoom In - + Zoom waveform out Zoom waveform out - + Star Rating Up Star Rating Up - + Increase the track rating by one star Increase the track rating by one star - + Star Rating Down Star Rating Down - + Decrease the track rating by one star Decrease the track rating by one star @@ -3612,32 +3644,32 @@ trace - Above + Profiling messages ControllerScriptEngineBase - + The functionality provided by this controller mapping will be disabled until the issue has been resolved. The functionality provided by this controller mapping will be disabled until the issue has been resolved. - + You can ignore this error for this session but you may experience erratic behavior. You can ignore this error for this session but you may experience erratic behavior. - + Try to recover by resetting your controller. Try to recover by resetting your controller. - + Controller Mapping Error - + The mapping for your controller "%1" is not working properly. - + The script code needs to be fixed. The script code needs to be fixed. @@ -3745,7 +3777,7 @@ trace - Above + Profiling messages Import Crate - + Export Crate Export Crate @@ -3755,7 +3787,7 @@ trace - Above + Profiling messages Unlock - + An unknown error occurred while creating crate: An unknown error occurred while creating crate: @@ -3764,12 +3796,6 @@ trace - Above + Profiling messages Rename Crate Rename Crate - - - - Export to Engine Prime - - Make a crate for your next gig, for your favorite electrohouse tracks, or for your most requested tracks. @@ -3787,17 +3813,17 @@ trace - Above + Profiling messages Renaming Crate Failed - + Crate Creation Failed Crate Creation Failed - + M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Text CSV (*.csv);;Readable Text (*.txt) M3U Playlist (*.m3u);; M3U8 Playlist (*.m3u8);; PLS Playlist (*.pls);; Text CSV (*.csv);; Readable Text (*.txt) - + M3U Playlist (*.m3u) M3U Playlist (*.m3u) @@ -3806,6 +3832,12 @@ trace - Above + Profiling messages Crates are a great way to help organize the music you want to DJ with. Crates are a great way to help organize the music you want to DJ with. + + + + Export to Engine DJ + + Crates let you organize your music however you'd like! @@ -3917,12 +3949,12 @@ trace - Above + Profiling messages Past Contributors - + Official Website - + Donate @@ -4445,37 +4477,37 @@ Often results in higher quality beatgrids, but will not do well on tracks that h If the mapping is not working try enabling an advanced option below and then try the control again. Or click Retry to redetect the midi control. - + Didn't get any midi messages. Please try again. Didn't get any midi messages. Please try again. - + Unable to detect a mapping -- please try again. Be sure to only touch one control at once. Unable to detect a mapping -- please try again. Be sure to only touch one control at once. - + Successfully mapped control: Successfully mapped control: - + <i>Ready to learn %1</i> <i>Ready to learn %1</i> - + Learning: %1. Now move a control on your controller. Learning: %1. Now move a control on your controller. - + The selected control does not exist.<br>This likely a bug. Please report it on the Mixxx bug tracker.<br><a href='https://github.com/mixxxdj/mixxx/issues'>https://github.com/mixxxdj/mixxx/issues</a><br><br>You tried to learn: %1,%2 - + The control you clicked in Mixxx is not learnable. This could be because you are either using an old skin and this control is no longer supported, or you clicked a control that provides visual feedback and can only be mapped to outputs like LEDs via scripts. @@ -4514,17 +4546,17 @@ You tried to learn: %1,%2 Dump to csv - + Log Log - + Search Search - + Stats Stats @@ -5177,114 +5209,114 @@ associated with each key. DlgPrefController - + Apply device settings? Apply device settings? - + Your settings must be applied before starting the learning wizard. Apply settings and continue? Your settings must be applied before starting the learning wizard. Apply settings and continue? - + None None - + %1 by %2 %1 by %2 - + Mapping has been edited - + Always overwrite during this session - + Save As - + Overwrite - + Save user mapping - + Enter the name for saving the mapping to the user folder. - + Saving mapping failed - + A mapping cannot have a blank name and may not contain special characters. - + A mapping file with that name already exists. - + Do you want to save the changes? Do you want to save the changes? - + Troubleshooting Troubleshooting - + <font color='#BB0000'><b>If you use this mapping your controller may not work correctly. Please select another mapping or disable the controller.</b></font><br><br>This mapping was designed for a newer Mixxx Controller Engine and cannot be used on your current Mixxx installation.<br>Your Mixxx installation has Controller Engine version %1. This mapping requires a Controller Engine version >= %2.<br><br>For more information visit the wiki page on <a href='https://mixxx.org/wiki/doku.php/controller_engine_versions'>Controller Engine Versions</a>. - + Mapping already exists. - + <b>%1</b> already exists in user mapping folder.<br>Overwrite or save with a new name? - + Clear Input Mappings Clear Input Mappings - + Are you sure you want to clear all input mappings? Are you sure you want to clear all input mappings? - + Clear Output Mappings Clear Output Mappings - + Are you sure you want to clear all output mappings? Are you sure you want to clear all output mappings? @@ -5302,100 +5334,100 @@ Apply settings and continue? Enabled - + Device Info - + Physical Interface: - + Vendor name: - + Product name: - + Vendor ID - + VID: - + Product ID - + PID: - + Serial number: - + USB interface number: - + HID Usage-Page: - + HID Usage: - + Description: Description: - + Support: Support: - + Screens preview - + Input Mappings Input Mappings - - + + Search Search - - + + Add Add - - + + Remove Remove @@ -5415,17 +5447,17 @@ Apply settings and continue? - + Mapping Info - + Author: Author: - + Name: Name: @@ -5435,28 +5467,28 @@ Apply settings and continue? Learning Wizard (MIDI Only) - + Data protocol: - + Mapping Files: - + Mapping Settings - - + + Clear All Clear All - + Output Mappings Output Mappings @@ -5615,6 +5647,16 @@ Apply settings and continue? Multi-Sampling + + + Force 3D acceleration + + + + + If checked, Mixxx will always assume 3D acceleration is available. This may lead to pour performance if only CP-backed rendering is available.. + + Start in full-screen mode @@ -6229,62 +6271,62 @@ You can always drag-and-drop tracks on screen to clone a deck. DlgPrefInterface - + The minimum size of the selected skin is bigger than your screen resolution. The minimum size of the selected skin is bigger than your screen resolution. - + Allow screensaver to run Allow screensaver to run - + Prevent screensaver from running Prevent screensaver from running - + Prevent screensaver while playing Prevent screensaver while playing - + Disabled - + 2x MSAA - + 4x MSAA - + 8x MSAA - + 16x MSAA - + This skin does not support color schemes This skin does not support color schemes - + Information Information - + Mixxx must be restarted before the new locale, scaling or multi-sampling settings will take effect. @@ -7451,173 +7493,172 @@ The loudness target is approximate and assumes track pregain and main output lev DlgPrefSound - + %1 Hz %1 Hz - + Default (long delay) Default (long delay) - + Experimental (no delay) Experimental (no delay) - + Disabled (short delay) Disabled (short delay) - + Soundcard Clock Soundcard Clock - + Network Clock Network Clock - + Direct monitor (recording and broadcasting only) Direct monitor (recording and broadcasting only) - + Disabled Disabled - + Enabled Enabled - + Stereo Stereo - + Mono Mono - + To enable Realtime scheduling (currently disabled), see the %1. - + The %1 lists sound cards and controllers you may want to consider for using Mixxx. - + Mixxx DJ Hardware Guide - + Information - + Mixxx must be restarted before the multi-threaded RubberBand setting change will take effect. - + auto (<= 1024 frames/period) - + 2048 frames/period - + 4096 frames/period - + Are you sure? - + Distribute stereo channels into mono channels for parallel processing will result in a loss of mono compatibility and a diffuse stereo image. It is not recommended during broadcasting or recording. - + Are you sure you wish to proceed? - + No - + Yes, I know what I am doing - + Microphone inputs are out of time in the record & broadcast signal compared to what you hear. Microphone inputs are out of time in the record & broadcast signal compared to what you hear. - + Measure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. Measure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. - - + Refer to the Mixxx User Manual for details. Refer to the Mixxx User Manual for details. - + Configured latency has changed. Configured latency has changed. - + Remeasure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. Remeasure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. - + Realtime scheduling is enabled. Realtime scheduling is enabled. - + Main output only - + Main and booth outputs - + %1 ms %1 ms - + Configuration error Configuration error @@ -7635,131 +7676,131 @@ The loudness target is approximate and assumes track pregain and main output lev Sound API - + Sample Rate Sample Rate - + Audio Buffer Audio Buffer - + Engine Clock Engine Clock - + Use soundcard clock for live audience setups and lowest latency.<br>Use network clock for broadcasting without a live audience. Use soundcard clock for live audience setups and lowest latency.<br>Use network clock for broadcasting without a live audience. - + Main Mix - + Main Output Mode - + Microphone Monitor Mode Microphone Monitor Mode - + Microphone Latency Compensation Microphone Latency Compensation - - - - + + + + ms milliseconds ms - + 20 ms 20 ms - + Buffer Underflow Count Buffer Underflow Count - + 0 0 - + Keylock/Pitch-Bending Engine Keylock/Pitch-Bending Engine - + Multi-Soundcard Synchronization Multi-Soundcard Synchronization - + Output Output - + Input Input - + System Reported Latency System Reported Latency - + Enlarge your audio buffer if the underflow counter is increasing or you hear pops during playback. Enlarge your audio buffer if the underflow counter is increasing or you hear pops during playback. - + Main Output Delay - + Headphone Output Delay - + Booth Output Delay - + Dual-threaded Stereo - + Hints and Diagnostics Hints and Diagnostics - + Downsize your audio buffer to improve Mixxx's responsiveness. Downsize your audio buffer to improve Mixxx's responsiveness. - + Query Devices Query Devices @@ -8207,47 +8248,47 @@ Select from different types of displays for the waveform, which differ primarily DlgPreferences - + Sound Hardware Sound Hardware - + Controllers Controllers - + Library Library - + Interface Interface - + Waveforms Waveforms - + Mixer Mixer - + Auto DJ Auto DJ - + Decks Decks - + Colors Colors @@ -8282,47 +8323,47 @@ Select from different types of displays for the waveform, which differ primarily - + Effects Effects - + Recording Recording - + Beat Detection Beat Detection - + Key Detection Key Detection - + Normalization Normalization - + <font color='#BB0000'><b>Some preferences pages have errors. To apply the changes please first fix the issues.</b></font> - + Vinyl Control Vinyl Control - + Live Broadcasting Live Broadcasting - + Modplug Decoder Modplug Decoder @@ -8678,284 +8719,284 @@ This can not be undone! Summary - + Filetype: Filetype: - + BPM: BPM: - + Location: Location: - + Bitrate: Bitrate: - + Comments Comments - + BPM BPM - + Sets the BPM to 75% of the current value. Sets the BPM to 75% of the current value. - + 3/4 BPM 3/4 BPM - + Sets the BPM to 50% of the current value. Sets the BPM to 50% of the current value. - + Displays the BPM of the selected track. Displays the BPM of the selected track. - + Track # Track # - + Album Artist Album Artist - + Composer Composer - + Title Title - + Grouping Grouping - + Key Key - + Year Year - + Artist Artist - + Album Album - + Genre Genre - + ReplayGain: ReplayGain: - + Sets the BPM to 200% of the current value. Sets the BPM to 200% of the current value. - + Double BPM Double BPM - + Halve BPM Halve BPM - + Clear BPM and Beatgrid Clear BPM and Beatgrid - + Move to the previous item. "Previous" button Move to the previous item. - + &Previous &Previous - + Move to the next item. "Next" button Move to the next item. - + &Next &Next - + Duration: Duration: - + Import Metadata from MusicBrainz Import Metadata from MusicBrainz - + Re-Import Metadata from file Re-Import Metadata from file - + Color Color - + Date added: Date added: - + Open in File Browser Open in File Browser - + Samplerate: - + Track BPM: Track BPM: - + Converts beats detected by the analyzer into a fixed-tempo beatgrid. Use this setting if your tracks have a constant tempo (e.g. most electronic music). Often results in higher quality beatgrids, but will not do well on tracks that have tempo shifts. Converts beats detected by the analyser into a fixed-tempo beatgrid. Use this setting if your tracks have a constant tempo (e.g. most electronic music). Often results in higher quality beatgrids, but will not do well on tracks that have tempo shifts. - + Assume constant tempo Assume constant tempo - + Sets the BPM to 66% of the current value. Sets the BPM to 66% of the current value. - + 2/3 BPM 2/3 BPM - + Sets the BPM to 150% of the current value. Sets the BPM to 150% of the current value. - + 3/2 BPM 3/2 BPM - + Sets the BPM to 133% of the current value. Sets the BPM to 133% of the current value. - + 4/3 BPM 4/3 BPM - + Tap with the beat to set the BPM to the speed you are tapping. Tap with the beat to set the BPM to the speed you are tapping. - + Tap to Beat Tap to Beat - + Hint: Use the Library Analyze view to run BPM detection. Hint: Use the Library Analyse view to run BPM detection. - + Save changes and close the window. "OK" button Save changes and close the window. - + &OK &OK - + Discard changes and close the window. "Cancel" button Discard changes and close the window. - + Save changes and keep the window open. "Apply" button Save changes and keep the window open. - + &Apply &Apply - + &Cancel &Cancel - + (no color) @@ -9112,7 +9153,7 @@ Often results in higher quality beatgrids, but will not do well on tracks that h - + (no color) @@ -9314,27 +9355,27 @@ Often results in higher quality beatgrids, but will not do well on tracks that h EngineBuffer - + Soundtouch (faster) Soundtouch (faster) - + Rubberband (better) Rubberband (better) - + Rubberband R3 (near-hi-fi quality) - + Unknown, using Rubberband (better) - + Unknown, using Soundtouch @@ -9549,15 +9590,15 @@ Often results in higher quality beatgrids, but will not do well on tracks that h LegacySkinParser - - + + Safe Mode Enabled Shown when Mixxx is running in safe mode. Safe Mode Enabled - - + + No OpenGL support. Shown when Spinny can not be displayed. Please keep @@ -9569,57 +9610,57 @@ Shown when VuMeter can not be displayed. Please keep support. - + activate activate - + toggle toggle - + right right - + left left - + right small right small - + left small left small - + up up - + down down - + up small up small - + down small down small - + Shortcut Shortcut @@ -9627,62 +9668,62 @@ support. Library - + This or a parent directory is already in your library. - + This or a listed directory does not exist or is inaccessible. Aborting the operation to avoid library inconsistencies - - + + This directory can not be read. - + An unknown error occurred. Aborting the operation to avoid library inconsistencies - + Can't add Directory to Library - + Could not add <b>%1</b> to your library. %2 - + Can't remove Directory from Library - + An unknown error occurred. - + This directory does not exist or is inaccessible. - + Relink Directory - + Could not relink <b>%1</b> to <b>%2</b>. %3 @@ -9692,22 +9733,22 @@ Aborting the operation to avoid library inconsistencies LibraryFeature - + Import Playlist Import Playlist - + Playlist Files (*.m3u *.m3u8 *.pls *.csv) Playlist Files (*.m3u *.m3u8 *.pls *.csv) - + Overwrite File? Overwrite File? - + A playlist file with the name "%1" already exists. The default "m3u" extension was added because none was specified. @@ -9757,27 +9798,27 @@ Do you really want to overwrite it? MidiController - + MixxxControl(s) not found MixxxControl(s) not found - + One or more MixxxControls specified in the outputs section of the loaded mapping were invalid. - + * Make sure the MixxxControls in question actually exist. Visit the manual for a complete list: - + Some LEDs or other feedback may not work correctly. Some LEDs or other feedback may not work correctly. - + * Check to see that the MixxxControl names are spelled correctly in the mapping file (.xml) * Check to see that the MixxxControl names are spelled correctly in the mapping file (.xml) @@ -9838,18 +9879,18 @@ Do you really want to overwrite it? MixxxLibraryFeature - + Missing Tracks Missing Tracks - + Hidden Tracks Hidden Tracks - Export to Engine Prime + Export to Engine DJ @@ -9861,212 +9902,253 @@ Do you really want to overwrite it? MixxxMainWindow - + Sound Device Busy Sound Device Busy - + <b>Retry</b> after closing the other application or reconnecting a sound device <b>Retry</b> after closing the other application or reconnecting a sound device - - - + + + <b>Reconfigure</b> Mixxx's sound device settings. <b>Reconfigure</b> Mixxx's sound device settings. - - + + Get <b>Help</b> from the Mixxx Wiki. Get <b>Help</b> from the Mixxx Wiki. - - - + + + <b>Exit</b> Mixxx. <b>Exit</b> Mixxx. - + Retry Retry - + skin - + Allow Mixxx to hide the menu bar? - + Hide Always show the menu bar? - + Always show - + The Mixxx menu bar is hidden and can be toggled with a single press of the <b>Alt</b> key.<br><br>Click <b>%1</b> to agree.<br><br>Click <b>%2</b> to disable that, for example if you don't use Mixxx with a keyboard.<br><br>You can change this setting any time in Preferences -> Interface.<br> Keep formatting tags <b> (bold text) and <br> (linebreak). %1 is the placeholder for the 'Always show' button label - + Ask me again - - + + Reconfigure Reconfigure - + Help Help - - + + Exit Exit - - + + Mixxx was unable to open all the configured sound devices. Mixxx was unable to open all the configured sound devices. - + Sound Device Error Sound Device Error - + <b>Retry</b> after fixing an issue <b>Retry</b> after fixing an issue - + No Output Devices No Output Devices - + Mixxx was configured without any output sound devices. Audio processing will be disabled without a configured output device. Mixxx was configured without any output sound devices. Audio processing will be disabled without a configured output device. - + <b>Continue</b> without any outputs. <b>Continue</b> without any outputs. - + Continue Continue - + Load track to Deck %1 Load track to Deck %1 - + Deck %1 is currently playing a track. Deck %1 is currently playing a track. - + Are you sure you want to load a new track? Are you sure you want to load a new track? - + There is no input device selected for this vinyl control. Please select an input device in the sound hardware preferences first. There is no input device selected for this vinyl control. Please select an input device in the sound hardware preferences first. - + There is no input device selected for this passthrough control. Please select an input device in the sound hardware preferences first. There is no input device selected for this passthrough control. Please select an input device in the sound hardware preferences first. - + There is no input device selected for this microphone. Do you want to select an input device? There is no input device selected for this microphone. Do you want to select an input device? - + There is no input device selected for this auxiliary. Do you want to select an input device? There is no input device selected for this auxiliary. Do you want to select an input device? - + + Scan took %1 + + + + + No changes detected. + + + + + + %1 tracks in total + + + + + %1 new tracks found + + + + + %1 moved tracks detected + + + + + %1 tracks are missing (%2 total) + + + + + %1 tracks have been rediscovered + + + + + Library scan finished + + + + Error in skin file Error in skin file - + The selected skin cannot be loaded. The selected skin cannot be loaded. - + OpenGL Direct Rendering OpenGL Direct Rendering - + Direct rendering is not enabled on your machine.<br><br>This means that the waveform displays will be very<br><b>slow and may tax your CPU heavily</b>. Either update your<br>configuration to enable direct rendering, or disable<br>the waveform displays in the Mixxx preferences by selecting<br>"Empty" as the waveform display in the 'Interface' section. Direct rendering is not enabled on your machine.<br><br>This means that the waveform displays will be very<br><b>slow and may tax your CPU heavily</b>. Either update your<br>configuration to enable direct rendering, or disable<br>the waveform displays in the Mixxx preferences by selecting<br>"Empty" as the waveform display in the 'Interface' section. - - - + + + Confirm Exit Confirm Exit - + A deck is currently playing. Exit Mixxx? A deck is currently playing. Exit Mixxx? - + A sampler is currently playing. Exit Mixxx? A sampler is currently playing. Exit Mixxx? - + The preferences window is still open. The preferences window is still open. - + Discard any changes and exit Mixxx? Discard any changes and exit Mixxx? @@ -10082,13 +10164,13 @@ Do you want to select an input device? PlaylistFeature - + Lock Lock - - + + Playlists Playlists @@ -10098,32 +10180,58 @@ Do you want to select an input device? - + + Unlock all playlists + + + + + Delete all unlocked playlists + + + + Unlock Unlock - + + + Confirm Deletion + + + + + Do you really want to delete all unlocked playlists? + + + + + Deleting %1 unlocked playlists.<br>This operation can not be undone! + + + + Playlists are ordered lists of tracks that allow you to plan your DJ sets. - + It may be necessary to skip some tracks in your prepared playlist or add some different tracks in order to maintain the energy of your audience. - + Some DJs construct playlists before they perform live, but others prefer to build them on-the-fly. Some DJs construct playlists before they perform live, but others prefer to build them on-the-fly. - + When using a playlist during a live DJ set, remember to always pay close attention to how your audience reacts to the music you've chosen to play. When using a playlist during a live DJ set, remember to always pay close attention to how your audience reacts to the music you've chosen to play. - + Create New Playlist Create New Playlist @@ -11641,7 +11749,7 @@ Fully right: end of the effect period - + Deck %1 Deck %1 @@ -11774,7 +11882,7 @@ Hint: compensates "chipmunk" or "growling" voices - + Passthrough Passthrough @@ -11805,7 +11913,7 @@ Hint: compensates "chipmunk" or "growling" voices - + Sampler %1 @@ -11938,12 +12046,12 @@ may introduce a 'pumping' effect and/or distortion. - + built-in - + missing @@ -11978,42 +12086,42 @@ may introduce a 'pumping' effect and/or distortion. - + Empty - + Simple - + Filtered - + HSV - + VSyncTest - + RGB - + Stacked - + Unknown @@ -12071,54 +12179,54 @@ may introduce a 'pumping' effect and/or distortion. RekordboxFeature - - - + + + Rekordbox - + Playlists Playlists - + Folders Folders - + Reads databases exported for Pioneer CDJ / XDJ players using the Rekordbox Export mode.<br/>Rekordbox can only export to USB or SD devices with a FAT or HFS file system.<br/>Mixxx can read a database from any device that contains the database folders (<tt>PIONEER</tt> and <tt>Contents</tt>).<br/>Not supported are Rekordbox databases that have been moved to an external device via<br/><i>Preferences > Advanced > Database management</i>.<br/><br/>The following data is read: - + Hot cues Hot cues - + Loops (only the first loop is currently usable in Mixxx) - + Check for attached Rekordbox USB / SD devices (refresh) - + Beatgrids Beatgrids - + Memory cues Memory cues - + (loading) Rekordbox (loading) Rekordbox @@ -12677,7 +12785,7 @@ may introduce a 'pumping' effect and/or distortion. - + Spinning Vinyl Spinning Vinyl @@ -12859,7 +12967,7 @@ may introduce a 'pumping' effect and/or distortion. - + Cover Art Cover Art @@ -13095,197 +13203,197 @@ may introduce a 'pumping' effect and/or distortion. When tapped, adjusts the average BPM up by a small amount. - + Adjust Beats Earlier Adjust Beats Earlier - + When tapped, moves the beatgrid left by a small amount. When tapped, moves the beatgrid left by a small amount. - + Adjust Beats Later Adjust Beats Later - + When tapped, moves the beatgrid right by a small amount. When tapped, moves the beatgrid right by a small amount. - + Tempo and BPM Tap Tempo and BPM Tap - + Show/hide the spinning vinyl section. Show/hide the spinning vinyl section. - + Keylock Keylock - + Toggling keylock during playback may result in a momentary audio glitch. Toggling keylock during playback may result in a momentary audio glitch. - + Toggle visibility of Loop Controls - + Toggle visibility of Beatjump Controls - + Toggle visibility of Rate Control Toggle visibility of Rate Control - + Toggle visibility of Key Controls - + (while previewing) - + Places a cue point at the current position on the waveform. Places a cue point at the current position on the waveform. - + Stops track at cue point, OR go to cue point and play after release (CUP mode). Stops track at cue point, OR go to cue point and play after release (CUP mode). - + Set cue point (Pioneer/Mixxx/Numark mode), set cue point and play after release (CUP mode) OR preview from it (Denon mode). Set cue point (Pioneer/Mixxx/Numark mode), set cue point and play after release (CUP mode) OR preview from it (Denon mode). - + Is latching the playing state. - + Seeks the track to the cue point and stops. Seeks the track to the cue point and stops. - + Play Play - + Plays track from the cue point. Plays track from the cue point. - + Sends the selected channel's audio to the headphone output, selected in Preferences -> Sound Hardware. Sends the selected channel's audio to the headphone output, selected in Preferences -> Sound Hardware. - + (This skin should be updated to use Sync Lock!) - + Enable Sync Lock - + Tap to sync the tempo to other playing tracks or the sync leader. - + Enable Sync Leader - + When enabled, this device will serve as the sync leader for all other decks. - + This is relevant when a dynamic tempo track is loaded to a sync leader deck.In that case, other synced devices will adopt the changing tempo. - + Changes the track playback speed (affects both the tempo and the pitch). If keylock is enabled, only the tempo is affected. Changes the track playback speed (affects both the tempo and the pitch). If keylock is enabled, only the tempo is affected. - + Tempo Range Display - + Displays the current range of the tempo slider. - + Un-ejects when no track is loaded, i.e. reloads the track that was ejected last (of any deck). - + Delete selected hotcue. - + Track Comment - + Displays the comment tag of the loaded track. - + Opens separate artwork viewer. - + Effect Chain Preset Settings - + Show the effect chain settings menu for this unit. - + Select and configure a hardware device for this input Select and configure a hardware device for this input - + Recording Duration Recording Duration @@ -13523,928 +13631,934 @@ may introduce a 'pumping' effect and/or distortion. - + + Adjust beatgrid by exactly one half beat. Usable only on +tracks with constant tempo. + + + + Revert last BPM/Beatgrid Change - + Revert last BPM/Beatgrid Change of the loaded track. - - + + Toggle the BPM/beatgrid lock - + Tempo and Rate Tap - + Tempo, Rate Tap and BPM Tap - + Shift cues earlier - - + + Shift cues imported from Serato or Rekordbox if they are slightly off time. - + Left click: shift 10 milliseconds earlier - + Right click: shift 1 millisecond earlier - + Shift cues later - + Left click: shift 10 milliseconds later - + Right click: shift 1 millisecond later - - + + Drag a Hotcue button here to continue playing after releasing the Hotcue. - + Hint: Change the default cue mode in Preferences -> Decks. - + Mutes the selected channel's audio in the main output. - + Main mix enable - + Hold or short click for latching to mix this input into the main output. - + If hotcue is a loop cue, toggles the loop and jumps to if the loop is behind the play position. - + If the play position is inside an active loop, stores the loop as loop cue. - + Drag this button onto another Hotcue button to move it there (change its index). If the other hotcue is set, the two are swapped. - + Expand/Collapse Samplers - + Toggle expanded samplers view. - + Displays the duration of the running recording. Displays the duration of the running recording. - + Auto DJ is active - + Red for when needle skip has been detected. - + Hot Cue - Track will seek to nearest previous hotcue point. Hot Cue - Track will seek to nearest previous hotcue point. - + Sets the track Loop-In Marker to the current play position. Sets the track Loop-In Marker to the current play position. - + Press and hold to move Loop-In Marker. Press and hold to move Loop-In Marker. - + Jump to Loop-In Marker. Jump to Loop-In Marker. - + Sets the track Loop-Out Marker to the current play position. Sets the track Loop-Out Marker to the current play position. - + Press and hold to move Loop-Out Marker. Press and hold to move Loop-Out Marker. - + Jump to Loop-Out Marker. Jump to Loop-Out Marker. - + If the track has no beats the unit is seconds. - + Beatloop Size Beatloop Size - + Select the size of the loop in beats to set with the Beatloop button. Select the size of the loop in beats to set with the Beatloop button. - + Changing this resizes the loop if the loop already matches this size. Changing this resizes the loop if the loop already matches this size. - + Halve the size of an existing beatloop, or halve the size of the next beatloop set with the Beatloop button. Halve the size of an existing beatloop, or halve the size of the next beatloop set with the Beatloop button. - + Double the size of an existing beatloop, or double the size of the next beatloop set with the Beatloop button. Double the size of an existing beatloop, or double the size of the next beatloop set with the Beatloop button. - + Start a loop over the set number of beats. Start a loop over the set number of beats. - + Temporarily enable a rolling loop over the set number of beats. Temporarily enable a rolling loop over the set number of beats. - + Beatloop Anchor - + Define whether the loop is created and adjusted from its staring point or ending point. - + Beatjump/Loop Move Size Beatjump/Loop Move Size - + Select the number of beats to jump or move the loop with the Beatjump Forward/Backward buttons. Select the number of beats to jump or move the loop with the Beatjump Forward/Backward buttons. - + Beatjump Forward Beatjump Forward - + Jump forward by the set number of beats. Jump forward by the set number of beats. - + Move the loop forward by the set number of beats. Move the loop forward by the set number of beats. - + Jump forward by 1 beat. Jump forward by 1 beat. - + Move the loop forward by 1 beat. Move the loop forward by 1 beat. - + Beatjump Backward Beatjump Backward - + Jump backward by the set number of beats. Jump backward by the set number of beats. - + Move the loop backward by the set number of beats. Move the loop backward by the set number of beats. - + Jump backward by 1 beat. Jump backward by 1 beat. - + Move the loop backward by 1 beat. Move the loop backward by 1 beat. - + Reloop Reloop - + If the loop is ahead of the current position, looping will start when the loop is reached. If the loop is ahead of the current position, looping will start when the loop is reached. - + Works only if Loop-In and Loop-Out Marker are set. Works only if Loop-In and Loop-Out Marker are set. - + Enable loop, jump to Loop-In Marker, and stop playback. Enable loop, jump to Loop-In Marker, and stop playback. - + Displays the elapsed and/or remaining time of the track loaded. Displays the elapsed and/or remaining time of the track loaded. - + Click to toggle between time elapsed/remaining time/both. Click to toggle between time elapsed/remaining time/both. - + Hint: Change the time format in Preferences -> Decks. - + Show/hide intro & outro markers and associated buttons. Show/hide intro & outro markers and associated buttons. - + Intro Start Marker Intro Start Marker - - - - + + + + If marker is set, jumps to the marker. If marker is set, jumps to the marker. - - - - + + + + If marker is not set, sets the marker to the current play position. If marker is not set, sets the marker to the current play position. - - - - + + + + If marker is set, clears the marker. If marker is set, clears the marker. - + Intro End Marker Intro End Marker - + Outro Start Marker Outro Start Marker - + Outro End Marker Outro End Marker - + Mix Mix - + Adjust the mixing of the dry (input) signal with the wet (output) signal of the effect unit Adjust the mixing of the dry (input) signal with the wet (output) signal of the effect unit - + D/W mode: Crossfade between dry and wet D/W mode: Crossfade between dry and wet - + D+W mode: Add wet to dry D+W mode: Add wet to dry - + Mix Mode Mix Mode - + Adjust how the dry (input) signal is mixed with the wet (output) signal of the effect unit Adjust how the dry (input) signal is mixed with the wet (output) signal of the effect unit - + Dry/Wet mode (crossed lines): Mix knob crossfades between dry and wet Use this to change the sound of the track with EQ and filter effects. Dry/Wet mode (crossed lines): Mix knob crossfades between dry and wet Use this to change the sound of the track with EQ and filter effects. - + Dry+Wet mode (flat dry line): Mix knob adds wet to dry Use this to change only the effected (wet) signal with EQ and filter effects. Dry+Wet mode (flat dry line): Mix knob adds wet to dry Use this to change only the effected (wet) signal with EQ and filter effects. - + Route the main mix through this effect unit. - + Route the left crossfader bus through this effect unit. Route the left crossfader bus through this effect unit. - + Route the right crossfader bus through this effect unit. Route the right crossfader bus through this effect unit. - + Right side active: parameter moves with right half of Meta Knob turn Right side active: parameter moves with right half of Meta Knob turn - + Stem Label - + Name of the stem stored in the stem file - + Text is displayed in the stem color stored in the stem file - + this stem color is also used for the waveform of this stem - + Stem Mute - + Toggle the stem mute/unmuted - + Stem Volume Knob - + Adjusts the volume of the stem - + Skin Settings Menu Skin Settings Menu - + Show/hide skin settings menu Show/hide skin settings menu - + Save Sampler Bank Save Sampler Bank - + Save the collection of samples loaded in the samplers. Save the collection of samples loaded in the samplers. - + Load Sampler Bank Load Sampler Bank - + Load a previously saved collection of samples into the samplers. Load a previously saved collection of samples into the samplers. - + Show Effect Parameters Show Effect Parameters - + Enable Effect Enable Effect - + Meta Knob Link Meta Knob Link - + Set how this parameter is linked to the effect's Meta Knob. Set how this parameter is linked to the effect's Meta Knob. - + Meta Knob Link Inversion Meta Knob Link Inversion - + Inverts the direction this parameter moves when turning the effect's Meta Knob. Inverts the direction this parameter moves when turning the effect's Meta Knob. - + Super Knob Super Knob - + Next Chain Next Chain - + Previous Chain Previous Chain - + Next/Previous Chain Next/Previous Chain - + Clear Clear - + Clear the current effect. Clear the current effect. - + Toggle Toggle - + Toggle the current effect. Toggle the current effect. - + Next Next - + Clear Unit Clear Unit - + Clear effect unit. Clear effect unit. - + Show/hide parameters for effects in this unit. Show/hide parameters for effects in this unit. - + Toggle Unit Toggle Unit - + Enable or disable this whole effect unit. Enable or disable this whole effect unit. - + Controls the Meta Knob of all effects in this unit together. Controls the Meta Knob of all effects in this unit together. - + Load next effect chain preset into this effect unit. Load next effect chain preset into this effect unit. - + Load previous effect chain preset into this effect unit. Load previous effect chain preset into this effect unit. - + Load next or previous effect chain preset into this effect unit. Load next or previous effect chain preset into this effect unit. - - - - + + + + Assign Effect Unit Assign Effect Unit - + Assign this effect unit to the channel output. Assign this effect unit to the channel output. - + Route the headphone channel through this effect unit. Route the headphone channel through this effect unit. - + Route this deck through the indicated effect unit. Route this deck through the indicated effect unit. - + Route this sampler through the indicated effect unit. Route this sampler through the indicated effect unit. - + Route this microphone through the indicated effect unit. Route this microphone through the indicated effect unit. - + Route this auxiliary input through the indicated effect unit. Route this auxiliary input through the indicated effect unit. - + The effect unit must also be assigned to a deck or other sound source to hear the effect. The effect unit must also be assigned to a deck or other sound source to hear the effect. - + Switch to the next effect. Switch to the next effect. - + Previous Previous - + Switch to the previous effect. Switch to the previous effect. - + Next or Previous Next or Previous - + Switch to either the next or previous effect. Switch to either the next or previous effect. - + Meta Knob Meta Knob - + Controls linked parameters of this effect Controls linked parameters of this effect - + Effect Focus Button Effect Focus Button - + Focuses this effect. Focuses this effect. - + Unfocuses this effect. Unfocuses this effect. - + Refer to the web page on the Mixxx wiki for your controller for more information. Refer to the web page on the Mixxx wiki for your controller for more information. - + Effect Parameter Effect Parameter - + Adjusts a parameter of the effect. Adjusts a parameter of the effect. - + Inactive: parameter not linked Inactive: parameter not linked - + Active: parameter moves with Meta Knob Active: parameter moves with Meta Knob - + Left side active: parameter moves with left half of Meta Knob turn Left side active: parameter moves with left half of Meta Knob turn - + Left and right side active: parameter moves across range with half of Meta Knob turn and back with the other half Left and right side active: parameter moves across range with half of Meta Knob turn and back with the other half - - + + Equalizer Parameter Kill Equalizer Parameter Kill - - + + Holds the gain of the EQ to zero while active. Holds the gain of the EQ to zero while active. - + Quick Effect Super Knob Quick Effect Super Knob - + Quick Effect Super Knob (control linked effect parameters). Quick Effect Super Knob (control linked effect parameters). - + Hint: Change the default Quick Effect mode in Preferences -> Equalizers. Hint: Change the default Quick Effect mode in Preferences -> Equalizers. - + Equalizer Parameter Equalizer Parameter - + Adjusts the gain of the EQ filter. Adjusts the gain of the EQ filter. - + Hint: Change the default EQ mode in Preferences -> Equalizers. Hint: Change the default EQ mode in Preferences -> Equalizers. - - + + Adjust Beatgrid Adjust Beatgrid - + Adjust beatgrid so the closest beat is aligned with the current play position. Adjust beatgrid so the closest beat is aligned with the current play position. - - + + Adjust beatgrid to match another playing deck. Adjust beatgrid to match another playing deck. - + If quantize is enabled, snaps to the nearest beat. If quantize is enabled, snaps to the nearest beat. - + Quantize Quantize - + Toggles quantization. Toggles quantization. - + Loops and cues snap to the nearest beat when quantization is enabled. Loops and cues snap to the nearest beat when quantization is enabled. - + Reverse Reverse - + Reverses track playback during regular playback. Reverses track playback during regular playback. - + Puts a track into reverse while being held (Censor). Puts a track into reverse while being held (Censor). - + Playback continues where the track would have been if it had not been temporarily reversed. Playback continues where the track would have been if it had not been temporarily reversed. - - - + + + Play/Pause Play/Pause - + Jumps to the beginning of the track. Jumps to the beginning of the track. - + Syncs the tempo (BPM) and phase to that of the other track, if BPM is detected on both. Syncs the tempo (BPM) and phase to that of the other track, if BPM is detected on both. - + Syncs the tempo (BPM) to that of the other track, if BPM is detected on both. Syncs the tempo (BPM) to that of the other track, if BPM is detected on both. - + Sync and Reset Key Sync and Reset Key - + Increases the pitch by one semitone. Increases the pitch by one semitone. - + Decreases the pitch by one semitone. Decreases the pitch by one semitone. - + Enable Vinyl Control Enable Vinyl Control - + When disabled, the track is controlled by Mixxx playback controls. When disabled, the track is controlled by Mixxx playback controls. - + When enabled, the track responds to external vinyl control. When enabled, the track responds to external vinyl control. - + Enable Passthrough Enable Passthrough - + Indicates that the audio buffer is too small to do all audio processing. Indicates that the audio buffer is too small to do all audio processing. - + Displays cover artwork of the loaded track. Displays cover artwork of the loaded track. - + Displays options for editing cover artwork. Displays options for editing cover artwork. - + Star Rating Star Rating - + Assign ratings to individual tracks by clicking the stars. Assign ratings to individual tracks by clicking the stars. @@ -14579,33 +14693,33 @@ Use this to change only the effected (wet) signal with EQ and filter effects.Microphone Talkover Ducking Strength - + Prevents the pitch from changing when the rate changes. Prevents the pitch from changing when the rate changes. - + Changes the number of hotcue buttons displayed in the deck Changes the number of hotcue buttons displayed in the deck - + Starts playing from the beginning of the track. Starts playing from the beginning of the track. - + Jumps to the beginning of the track and stops. Jumps to the beginning of the track and stops. - - + + Plays or pauses the track. Plays or pauses the track. - + (while playing) (while playing) @@ -14625,215 +14739,215 @@ Use this to change only the effected (wet) signal with EQ and filter effects. - + (while stopped) (while stopped) - + Cue Cue - + Headphone Headphone - + Mute Mute - + Old Synchronize Old Synchronize - + Syncs to the first deck (in numerical order) that is playing a track and has a BPM. Syncs to the first deck (in numerical order) that is playing a track and has a BPM. - + If no deck is playing, syncs to the first deck that has a BPM. If no deck is playing, syncs to the first deck that has a BPM. - + Decks can't sync to samplers and samplers can only sync to decks. Decks can't sync to samplers and samplers can only sync to decks. - + Hold for at least a second to enable sync lock for this deck. Hold for at least a second to enable sync lock for this deck. - + Decks with sync locked will all play at the same tempo, and decks that also have quantize enabled will always have their beats lined up. Decks with sync locked will all play at the same tempo, and decks that also have quantize enabled will always have their beats lined up. - + Resets the key to the original track key. Resets the key to the original track key. - + Speed Control Speed Control - - - + + + Changes the track pitch independent of the tempo. Changes the track pitch independent of the tempo. - + Increases the pitch by 10 cents. Increases the pitch by 10 cents. - + Decreases the pitch by 10 cents. Decreases the pitch by 10 cents. - + Pitch Adjust Pitch Adjust - + Adjust the pitch in addition to the speed slider pitch. Adjust the pitch in addition to the speed slider pitch. - + Opens a menu to clear hotcues or edit their labels and colors. Opens a menu to clear hotcues or edit their labels and colors. - + Drag this button onto a Play button while previewing to continue playback after release. - + Dragging with Shift key pressed will not start previewing the hotcue. - + Record Mix Record Mix - + Toggle mix recording. Toggle mix recording. - + Enable Live Broadcasting Enable Live Broadcasting - + Stream your mix over the Internet. Stream your mix over the Internet. - + Provides visual feedback for Live Broadcasting status: Provides visual feedback for Live Broadcasting status: - + disabled, connecting, connected, failure. disabled, connecting, connected, failure. - + When enabled, the deck directly plays the audio arriving on the vinyl input. When enabled, the deck directly plays the audio arriving on the vinyl input. - + Playback will resume where the track would have been if it had not entered the loop. Playback will resume where the track would have been if it had not entered the loop. - + Loop Exit Loop Exit - + Turns the current loop off. Turns the current loop off. - + Slip Mode Slip Mode - + When active, the playback continues muted in the background during a loop, reverse, scratch etc. When active, the playback continues muted in the background during a loop, reverse, scratch etc. - + Once disabled, the audible playback will resume where the track would have been. Once disabled, the audible playback will resume where the track would have been. - + Track Key The musical key of a track Track Key - + Displays the musical key of the loaded track. Displays the musical key of the loaded track. - + Clock Clock - + Displays the current time. Displays the current time. - + Audio Latency Usage Meter Audio Latency Usage Meter - + Displays the fraction of latency used for audio processing. Displays the fraction of latency used for audio processing. - + A high value indicates that audible glitches are likely. A high value indicates that audible glitches are likely. - + Do not enable keylock, effects or additional decks in this situation. Do not enable keylock, effects or additional decks in this situation. - + Audio Latency Overload Indicator Audio Latency Overload Indicator @@ -14878,254 +14992,254 @@ Use this to change only the effected (wet) signal with EQ and filter effects.Displays the current musical key of the loaded track after pitch shifting. - + Fast Rewind Fast Rewind - + Fast rewind through the track. Fast rewind through the track. - + Fast Forward Fast Forward - + Fast forward through the track. Fast forward through the track. - + Jumps to the end of the track. Jumps to the end of the track. - + Sets the pitch to a key that allows a harmonic transition from the other track. Requires a detected key on both involved decks. Sets the pitch to a key that allows a harmonic transition from the other track. Requires a detected key on both involved decks. - - - + + + Pitch Control Pitch Control - + Pitch Rate Pitch Rate - + Displays the current playback rate of the track. Displays the current playback rate of the track. - + Repeat Repeat - + When active the track will repeat if you go past the end or reverse before the start. When active the track will repeat if you go past the end or reverse before the start. - + Eject Eject - + Ejects track from the player. Ejects track from the player. - + Hotcue Hotcue - + If hotcue is set, jumps to the hotcue. If hotcue is set, jumps to the hotcue. - + If hotcue is not set, sets the hotcue to the current play position. If hotcue is not set, sets the hotcue to the current play position. - + Vinyl Control Mode Vinyl Control Mode - + Absolute mode - track position equals needle position and speed. Absolute mode - track position equals needle position and speed. - + Relative mode - track speed equals needle speed regardless of needle position. Relative mode - track speed equals needle speed regardless of needle position. - + Constant mode - track speed equals last known-steady speed regardless of needle input. Constant mode - track speed equals last known-steady speed regardless of needle input. - + Vinyl Status Vinyl Status - + Provides visual feedback for vinyl control status: Provides visual feedback for vinyl control status: - + Green for control enabled. Green for control enabled. - + Blinking yellow for when the needle reaches the end of the record. Blinking yellow for when the needle reaches the end of the record. - + Loop-In Marker Loop-In Marker - + Loop-Out Marker Loop-Out Marker - + Loop Halve Loop Halve - + Halves the current loop's length by moving the end marker. Halves the current loop's length by moving the end marker. - + Deck immediately loops if past the new endpoint. Deck immediately loops if past the new endpoint. - + Loop Double Loop Double - + Doubles the current loop's length by moving the end marker. Doubles the current loop's length by moving the end marker. - + Beatloop Beatloop - + Toggles the current loop on or off. Toggles the current loop on or off. - + Works only if Loop-In and Loop-Out marker are set. Works only if Loop-In and Loop-Out marker are set. - + Vinyl Cueing Mode Vinyl Cueing Mode - + Determines how cue points are treated in vinyl control Relative mode: Determines how cue points are treated in vinyl control Relative mode: - + Off - Cue points ignored. Off - Cue points ignored. - + One Cue - If needle is dropped after the cue point, track will seek to that cue point. One Cue - If needle is dropped after the cue point, track will seek to that cue point. - + Track Time Track Time - + Track Duration Track Duration - + Displays the duration of the loaded track. Displays the duration of the loaded track. - + Information is loaded from the track's metadata tags. Information is loaded from the track's metadata tags. - + Track Artist Track Artist - + Displays the artist of the loaded track. Displays the artist of the loaded track. - + Track Title Track Title - + Displays the title of the loaded track. Displays the title of the loaded track. - + Track Album Track Album - + Displays the album name of the loaded track. Displays the album name of the loaded track. - + Track Artist/Title Track Artist/Title - + Displays the artist and title of the loaded track. Displays the artist and title of the loaded track. @@ -15133,12 +15247,12 @@ Use this to change only the effected (wet) signal with EQ and filter effects. TrackCollection - + Hiding tracks Hiding tracks - + The selected tracks are in the following playlists:%1Hiding them will remove them from these playlists. Continue? The selected tracks are in the following playlists:%1Hiding them will remove them from these playlists. Continue? @@ -15353,47 +15467,47 @@ This can not be undone! WCueMenuPopup - + Cue number Cue number - + Cue position Cue position - + Edit cue label Edit cue label - + Label... Label... - + Delete this cue Delete this cue - + Toggle this cue type between normal cue and saved loop - + Left-click: Use the old size or the current beatloop size as the loop size - + Right-click: Use the current play position as loop end if it is after the cue - + Hotcue #%1 Hotcue #%1 @@ -15518,323 +15632,353 @@ This can not be undone! + Search in Current View... + + + + + Search for tracks in the current library view + + + + + Ctrl+f + + + + + Search in Tracks Library... + + + + + Search in the internal track collection under "Tracks" in the library + + + + + Ctrl+Shift+F + + + + Create &New Playlist Create &New Playlist - + Create a new playlist Create a new playlist - + Ctrl+n Ctrl+n - + Create New &Crate Create New &Crate - + Create a new crate Create a new crate - + Ctrl+Shift+N Ctrl+Shift+N - - + + &View &View - + Auto-hide menu bar - + Auto-hide the main menu bar when it's not used. - + May not be supported on all skins. May not be supported on all skins. - + Show Skin Settings Menu Show Skin Settings Menu - + Show the Skin Settings Menu of the currently selected Skin Show the Skin Settings Menu of the currently selected Skin - + Ctrl+1 Menubar|View|Show Skin Settings Ctrl+1 - + Show Microphone Section Show Microphone Section - + Show the microphone section of the Mixxx interface. Show the microphone section of the Mixxx interface. - + Ctrl+2 Menubar|View|Show Microphone Section Ctrl+2 - + Show Vinyl Control Section Show Vinyl Control Section - + Show the vinyl control section of the Mixxx interface. Show the vinyl control section of the Mixxx interface. - + Ctrl+3 Menubar|View|Show Vinyl Control Section Ctrl+3 - + Show Preview Deck Show Preview Deck - + Show the preview deck in the Mixxx interface. Show the preview deck in the Mixxx interface. - + Ctrl+4 Menubar|View|Show Preview Deck Ctrl+4 - + Show Cover Art Show Cover Art - + Show cover art in the Mixxx interface. Show cover art in the Mixxx interface. - + Ctrl+6 Menubar|View|Show Cover Art Ctrl+6 - + Maximize Library Maximize Library - + Maximize the track library to take up all the available screen space. Maximize the track library to take up all the available screen space. - + Space Menubar|View|Maximize Library Space - + &Full Screen &Full Screen - + Display Mixxx using the full screen Display Mixxx using the full screen - + &Options &Options - + &Vinyl Control &Vinyl Control - + Use timecoded vinyls on external turntables to control Mixxx Use timecoded vinyls on external turntables to control Mixxx - + Enable Vinyl Control &%1 Enable Vinyl Control &%1 - + &Record Mix &Record Mix - + Record your mix to a file Record your mix to a file - + Ctrl+R Ctrl+R - + Enable Live &Broadcasting Enable Live &Broadcasting - + Stream your mixes to a shoutcast or icecast server Stream your mixes to a shoutcast or icecast server - + Ctrl+L Ctrl+L - + Enable &Keyboard Shortcuts Enable &Keyboard Shortcuts - + Toggles keyboard shortcuts on or off Toggles keyboard shortcuts on or off - + Ctrl+` Ctrl+` - + &Preferences &Preferences - + Change Mixxx settings (e.g. playback, MIDI, controls) Change Mixxx settings (e.g. playback, MIDI, controls) - + &Developer &Developer - + &Reload Skin &Reload Skin - + Reload the skin Reload the skin - + Ctrl+Shift+R Ctrl+Shift+R - + Developer &Tools Developer &Tools - + Opens the developer tools dialog Opens the developer tools dialog - + Ctrl+Shift+T Ctrl+Shift+T - + Stats: &Experiment Bucket Stats: &Experiment Bucket - + Enables experiment mode. Collects stats in the EXPERIMENT tracking bucket. Enables experiment mode. Collects stats in the EXPERIMENT tracking bucket. - + Ctrl+Shift+E Ctrl+Shift+E - + Stats: &Base Bucket Stats: &Base Bucket - + Enables base mode. Collects stats in the BASE tracking bucket. Enables base mode. Collects stats in the BASE tracking bucket. - + Ctrl+Shift+B Ctrl+Shift+B - + Deb&ugger Enabled Deb&ugger Enabled - + Enables the debugger during skin parsing Enables the debugger during skin parsing - + Ctrl+Shift+D Ctrl+Shift+D - + &Help &Help - + Show Keywheel menu title @@ -15851,74 +15995,74 @@ This can not be undone! - + Show keywheel tooltip text - + F12 Menubar|View|Show Keywheel - + &Community Support &Community Support - + Get help with Mixxx Get help with Mixxx - + &User Manual &User Manual - + Read the Mixxx user manual. Read the Mixxx user manual. - + &Keyboard Shortcuts &Keyboard Shortcuts - + Speed up your workflow with keyboard shortcuts. Speed up your workflow with keyboard shortcuts. - + &Settings directory - + Open the Mixxx user settings directory. - + &Translate This Application &Translate This Application - + Help translate this application into your language. Help translate this application into your language. - + &About &About - + About the application About the application @@ -15926,25 +16070,25 @@ This can not be undone! WOverview - + Passthrough Passthrough - + Ready to play, analyzing... Text on waveform overview when file is playable but no waveform is visible - - + + Loading track... Text on waveform overview when file is cached from source - + Finalizing... Text on waveform overview during finalizing of waveform analysis @@ -15953,25 +16097,13 @@ This can not be undone! WSearchLineEdit - - Clear input - Clear the search bar input field - Clear input - - - - Ctrl+F - Search|Focus - Ctrl+F - - - + Search noun Search - + Clear input Clear input @@ -15982,169 +16114,163 @@ This can not be undone! Search... - + Clear the search bar input field Clear the search bar input field - - Enter a string to search for - Enter a string to search for + + Return + - - Use operators like bpm:115-128, artist:BooFar, -year:1990 - Use operators like bpm:115-128, artist:BooFar, -year:1990 + + Enter a string to search for. + - - For more information see User Manual > Mixxx Library - For more information see User Manual > Mixxx Library + + Use operators like bpm:115-128, artist:BooFar, -year:1990. + - Shortcut - Shortcut + See User Manual > Mixxx Library for more information. + - - Ctrl+F - Ctrl+F + + Focus/Select All (Search in current view) + Give search bar input focus + - - Focus - Give search bar input focus - Focus + + Focus/Select All (Search in 'Tracks' library view) + - - - Ctrl+Backspace - Ctrl+Backspace + + Additional Shortcuts When Focused: + - Shortcuts + Trigger search before search-as-you-type timeout or focus tracks view afterwards - Return + Esc or Ctrl+Return - Trigger search before search-as-you-type timeout orjump to tracks view afterwards + Immediately trigger search and focus tracks view + Exit search bar and leave focus - + Ctrl+Space - + Toggle search history Shows/hides the search history entries - + Delete or Backspace - - Delete query from history + + in search history - - Esc - Esc - - - - Exit search - Exit search bar and leave focus - Exit search + + Delete query from history + WSearchRelatedTracksMenu - + Search related Tracks - + Key Key - + harmonic with %1 - + BPM BPM - + between %1 and %2 - + Artist Artist - + Album Artist Album Artist - + Composer Composer - + Title Title - + Album Album - + Grouping Grouping - + Year Year - + Genre Genre - + Directory - + &Search selected @@ -16152,620 +16278,625 @@ This can not be undone! WTrackMenu - + Load to Load to - + Deck Deck - + Sampler Sampler - + Add to Playlist Add to Playlist - + Crates Crates - + Metadata Metadata - + Update external collections Update external collections - + Cover Art Cover Art - + Adjust BPM Adjust BPM - + Select Color Select Color - - + + Analyze Analyse - - + + Delete Track Files - + Add to Auto DJ Queue (bottom) Add to Auto DJ Queue (bottom) - + Add to Auto DJ Queue (top) Add to Auto DJ Queue (top) - + Add to Auto DJ Queue (replace) Add to Auto DJ Queue (replace) - + Preview Deck Preview Deck - + Remove Remove - + Remove from Playlist Remove from Playlist - + Remove from Crate Remove from Crate - + Hide from Library Hide from Library - + Unhide from Library Unhide from Library - + Purge from Library Purge from Library - + Move Track File(s) to Trash - + Delete Files from Disk - + Properties Properties - + Open in File Browser Open in File Browser - + Select in Library - + Import From File Tags Import From File Tags - + Import From MusicBrainz Import From MusicBrainz - + Export To File Tags Export To File Tags - + BPM and Beatgrid BPM and Beatgrid - + Play Count Play Count - + Rating Rating - + Cue Point Cue Point - - + + Hotcues Hotcues - + Intro Intro - + Outro Outro - + Key Key - + ReplayGain ReplayGain - + Waveform Waveform - + Comment Comment - + All All - + Sort hotcues by position (remove offsets) - + Sort hotcues by position - + Lock BPM Lock BPM - + Unlock BPM Unlock BPM - + Double BPM Double BPM - + Halve BPM Halve BPM - + 2/3 BPM 2/3 BPM - + 3/4 BPM 3/4 BPM - + 4/3 BPM 4/3 BPM - + 3/2 BPM 3/2 BPM - + + Shift Beatgrid Half Beat + + + + Reanalyze - + Reanalyze (constant BPM) - + Reanalyze (variable BPM) - + Update ReplayGain from Deck Gain - + Deck %1 Deck %1 - + Importing metadata of %n track(s) from file tags - + Marking metadata of %n track(s) to be exported into file tags - - + + Create New Playlist Create New Playlist - + Enter name for new playlist: Enter name for new playlist: - + New Playlist New Playlist - - - + + + Playlist Creation Failed Playlist Creation Failed - + A playlist by that name already exists. A playlist by that name already exists. - + A playlist cannot have a blank name. A playlist cannot have a blank name. - + An unknown error occurred while creating playlist: An unknown error occurred while creating playlist: - + Add to New Crate Add to New Crate - + Scaling BPM of %n track(s) - + Undo BPM/beats change of %n track(s) - + Locking BPM of %n track(s) - + Unlocking BPM of %n track(s) - + Setting rating of %n track(s) - + Setting color of %n track(s) - + Resetting play count of %n track(s) - + Resetting beats of %n track(s) - + Clearing rating of %n track(s) - + Clearing comment of %n track(s) - + Removing main cue from %n track(s) - + Removing outro cue from %n track(s) - + Removing intro cue from %n track(s) - + Removing loop cues from %n track(s) - + Removing hot cues from %n track(s) - + Sorting hotcues of %n track(s) by position (remove offsets) - + Sorting hotcues of %n track(s) by position - + Resetting keys of %n track(s) - + Resetting replay gain of %n track(s) - + Resetting waveform of %n track(s) - + Resetting all performance metadata of %n track(s) - + Move these files to the trash bin? - + Permanently delete these files from disk? - - + + This can not be undone! - + Cancel Cancel - + Delete Files - + Okay - + Move Track File(s) to Trash? - + Track Files Deleted - + Track Files Moved To Trash - + %1 track files were moved to trash and purged from the Mixxx database. - + %1 track files were deleted from disk and purged from the Mixxx database. - + Track File Deleted - + Track file was deleted from disk and purged from the Mixxx database. - + The following %1 file(s) could not be deleted from disk - + This track file could not be deleted from disk - + Remaining Track File(s) - + Close Close - + Clear Reset metadata in right click track context menu in library - + Loops - + Clear BPM and Beatgrid - + Undo last BPM/beats change - + Move this track file to the trash bin? - + Permanently delete this track file from disk? - + All decks where these tracks are loaded will be stopped and the tracks will be ejected. - + All decks where this track is loaded will be stopped and the track will be ejected. - + Removing %n track file(s) from disk... - + Note: if you are in the Computer or Recording view you need to click the current view again to see changes. - + Track File Moved To Trash - + Track file was moved to trash and purged from the Mixxx database. - + Don't show again during this session - + The following %1 file(s) could not be moved to trash - + This track file could not be moved to trash - + Setting cover art of %n track(s) Setting cover art of %n track(s)Setting cover art of %n track(s) - + Reloading cover art of %n track(s) Reloading cover art of %n track(s)Reloading cover art of %n track(s) @@ -16781,37 +16912,37 @@ This can not be undone! WTrackStemMenu - + Load for stem mixing - + Load pre-mixed stereo track - + Load the "%1" stem - + Load multiple stem into a stereo deck - + Select stems to load - + Release "CTRL" to load the current selection - + Use "CTRL" to select multiple stems @@ -16819,37 +16950,37 @@ This can not be undone! WTrackTableView - + Confirm track hide - + Are you sure you want to hide the selected tracks? - + Are you sure you want to remove the selected tracks from AutoDJ queue? - + Are you sure you want to remove the selected tracks from this crate? - + Are you sure you want to remove the selected tracks from this playlist? - + Don't ask again during this session - + Confirm track removal @@ -16857,12 +16988,12 @@ This can not be undone! WTrackTableViewHeader - + Show or hide columns. Show or hide columns. - + Shuffle Tracks @@ -16870,52 +17001,52 @@ This can not be undone! mixxx::CoreServices - + fonts - + database - + effects - + audio interface - + decks - + library - + Choose music library directory Choose music library directory - + controllers - + Cannot open database Cannot open database - + Unable to establish a database connection. Mixxx requires QT with SQLite support. Please read the Qt SQL driver documentation for information on how to build it. @@ -16929,68 +17060,78 @@ Click OK to exit. mixxx::DlgLibraryExport - + Entire music library - - Selected crates + + Crates - + + Playlists + + + + + Selected crates/playlists + + + + Browse Browse - + Export directory - + Database version - + Export Export - + Cancel Cancel - + Export Library to Engine DJ "Engine DJ" must not be translated - + Export Library To - + No Export Directory Chosen - + No export directory was chosen. Please choose a directory in order to export the music library. - + A database already exists in the chosen directory. Exported tracks will be added into this database. - + A database already exists in the chosen directory, but there was a problem loading it. Export is not guaranteed to succeed in this situation. @@ -17011,7 +17152,7 @@ Click OK to exit. mixxx::EnginePrimeExportJob - + Failed to export track %1 - %2: %3 %1 is the artist %2 is the title and %3 is the original error message @@ -17021,23 +17162,23 @@ Click OK to exit. mixxx::LibraryExporter - + Export Completed - - Exported %1 track(s) and %2 crate(s). + + Exported %1 track(s), %2 crate(s), and %3 playlist(s). - + Export Failed - - Exporting to Engine Prime... + + Exporting to Engine DJ... diff --git a/res/translations/mixxx_es.qm b/res/translations/mixxx_es.qm index e09b546de632bf6ef1b54c4fac0f33a021e92b92..00dd9032b90d2b56927c09ae62bed9ff50f191af 100644 GIT binary patch delta 50477 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 delta 25659 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 yH{pyBgcX7z Enable Auto DJ - + Activar Auto DJ Disable Auto DJ - + Desactivar Auto DJ Clear Auto DJ Queue - + Limpiar la cola de Auto DJ @@ -51,17 +51,17 @@ Confirmation Clear - + Confirmación limpiada Do you really want to remove all tracks from the Auto DJ queue? - + Realmente quieres eliminar todas las pistas de la cola de Auto DJ? This can not be undone. - + ¡Esto no puede ser revertido! @@ -149,7 +149,7 @@ BasePlaylistFeature - + New Playlist Nueva lista de reproducción @@ -160,7 +160,7 @@ - + Create New Playlist Crear nueva lista de reproducción @@ -190,113 +190,120 @@ Duplicar - - + + Import Playlist Importar Lista de Reproducción - + Export Track Files Exportar pistas - + Analyze entire Playlist Analizar toda la lista de reproducción - + Enter new name for playlist: Escriba un nuevo nombre para la lista de reproducción: - + Duplicate Playlist Duplicar lista de reproducción - - + + Enter name for new playlist: Escriba un nombre para la nueva lista de reproducción: - - + + Export Playlist Exportar lista de reproducción - + Add to Auto DJ Queue (replace) Añadir a la cola de Auto DJ (reemplaza) - + + + Export to Engine DJ + "Engine DJ" is a product name and must not be translated. + + + + Rename Playlist Renombrar lista de reproducción - - + + Renaming Playlist Failed Ha fallado el renombrado de la lista de reproducción - - - + + + A playlist by that name already exists. Ya existe una lista de reproducción con ese nombre. - - - + + + A playlist cannot have a blank name. El nombre de la lista de reproducción no puede quedar en blanco. - + _copy //: Appendix to default name when duplicating a playlist _copia - - - - - - + + + + + + Playlist Creation Failed Ha fallado la creación de la lista de reproducción - - + + An unknown error occurred while creating playlist: Se ha producido un error desconocido al crear la lista de reproducción: - + Confirm Deletion Confirmar Borrado - + Do you really want to delete playlist <b>%1</b>? ¿Desea realmente eliminar la lista de reproducción<b>%1</b>? - + M3U Playlist (*.m3u) Lista de reproducción M3U (*.m3u) - + M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Text CSV (*.csv);;Readable Text (*.txt) Lista de reproducción M3U (*.m3u);;Lista de reproducción M3U8 (*.m3u8);;Lista de reproducción PLS (*.pls);;Texto CSV (*.csv);;Texto legible (*.txt) @@ -304,12 +311,12 @@ BaseSqlTableModel - + # # - + Timestamp Marca de tiempo @@ -317,7 +324,7 @@ BaseTrackPlayerImpl - + Couldn't load track. No se ha podido cargar la pista. @@ -325,142 +332,142 @@ BaseTrackTableModel - + Album Álbum - + Album Artist Artista del álbum - + Artist Artista - + Bitrate Tasa de bits - + BPM BPM - + Channels Canales - + Color Color - + Comment Comentario - + Composer Compositor - + Cover Art Carátula - + Date Added Fecha añadida - + Last Played Última reproducción - + Duration Duración - + Type Tipo - + Genre Género - + Grouping Grupo - + Key Clave - + Location Ubicación - + Overview - + Resumen - + Preview Preescucha - + Rating Puntuación - + ReplayGain Ganancia de reproducción - + Samplerate Muestra - + Played Reproducido - + Title Título - + Track # Pista n.º - + Year Año - + Fetching image ... Tooltip text on the cover art column shown when the cover is read from disk Recuperando imagen... @@ -609,6 +616,16 @@ "Computer" lets you navigate, view, and load tracks from folders on your hard disk and external devices. "Equipo" te permite navegar, ver y abrir las pistas de las carpetas del disco duro o de dispositivos externos. + + + It shows the data from the file tags, not track data from your Mixxx library like other track views. + + + + + If you load a track file from here, it will be added to your library. + + BrowseTableModel @@ -806,7 +823,7 @@ Rescans the library when Mixxx is launched. - + Re escanea la librería cuando se inicia Mixxx @@ -856,7 +873,7 @@ rastrear - Arriba + Perfilar mensajes Sets the maximum file size of the mixxx.log file in bytes. Use -1 for unlimited. The default is 100 MB as 1e5 or 100000000. - + Configura el tamaño máximo del archivo mixxx.log en bytes. Usa -1 para ilimitado. Por defecto es 100 MB, como en 1e5 o 100000000. @@ -866,7 +883,7 @@ rastrear - Arriba + Perfilar mensajes Overrides the default application GUI style. Possible values: %1 - + Anula el estilo por defecto de la interfaz de usuario de la aplicación. Valores posibles: %1 @@ -2463,12 +2480,12 @@ rastrear - Arriba + Perfilar mensajes Move Beatgrid Half a Beat - + Desplaza la cuadricula de tiempo medio pulso Adjust the beatgrid by exactly one half beat. Usable only for tracks with constant tempo. - + Ajusta la cuadrícula de tiempo en exactamente medio beat. Solo se puede usar en pistas con tempo constante. @@ -2666,13 +2683,13 @@ rastrear - Arriba + Perfilar mensajes Sort hotcues by position - + Ordenar hotcues por posición Sort hotcues by position (remove offsets) - + Ordenar hotcues por posición (removiendo desfases) @@ -3527,7 +3544,7 @@ rastrear - Arriba + Perfilar mensajes Unknown - + Desconocido @@ -3632,32 +3649,32 @@ rastrear - Arriba + Perfilar mensajes ControllerScriptEngineBase - + The functionality provided by this controller mapping will be disabled until the issue has been resolved. La funcionalidad provista por este mapa de controlador será desactivada hasta que el problema sea resuelto. - + You can ignore this error for this session but you may experience erratic behavior. Puedes ignorar este error durante esta sesión, pero podrías experimentar problemas impredecibles. - + Try to recover by resetting your controller. Prueba de corregirlo reseteando la controladora. - + Controller Mapping Error Error del mapa de controlador - + The mapping for your controller "%1" is not working properly. El mapa de tu controlador "%1" no funciona correctamente. - + The script code needs to be fixed. El código del script necesita ser reparado. @@ -3765,7 +3782,7 @@ rastrear - Arriba + Perfilar mensajes Importar caja - + Export Crate Exportar caja @@ -3775,7 +3792,7 @@ rastrear - Arriba + Perfilar mensajes Desbloquear - + An unknown error occurred while creating crate: Se ha producido un error desconocido al crear la caja: @@ -3801,17 +3818,17 @@ rastrear - Arriba + Perfilar mensajes Fallo al renombrar la caja - + Crate Creation Failed Fallo al crear la caja - + M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Text CSV (*.csv);;Readable Text (*.txt) Lista de reproducción M3U (*.m3u);;Lista de reproducción M3U8 (*.m3u8);;Lista de reproducción PLS (*.pls);;Texto CSV (*.csv);;Texto legible (*.txt) - + M3U Playlist (*.m3u) Lista de reproducción M3U (*.m3u) @@ -3937,12 +3954,12 @@ rastrear - Arriba + Perfilar mensajes Contribuyentes anteriores - + Official Website Sitio web oficial - + Donate Donar @@ -3998,7 +4015,7 @@ rastrear - Arriba + Perfilar mensajes - + Analyze Analizar @@ -4043,17 +4060,17 @@ rastrear - Arriba + Perfilar mensajes Ejecuta el análisis de cuadrícula de tempo, clave musical y ReplayGain en las pistas seleccionadas. No genera formas de onda para las pistas seleccionadas para ahorrar espacio en disco. - + Stop Analysis Detener análisis - + Analyzing %1% %2/%3 Analizando %1% %2/%3 - + Analyzing %1/%2 Analizando %1/%2 @@ -4164,7 +4181,32 @@ Skip Silence Start Full Volume: The same as Skip Silence, but starting transitions with a centered crossfader, so that the intro starts at full volume. - + Modos de desvanecimiento de Auto DJ + +Intro completa + Outro: +Reproduce la intro completa y la outro. Usa la duración de la intro o la outro como +el tiempo de fundido cruzado, el que sea el más corto. Si no se ha marcado una intro u outro, +usa el tiempo de fundido cruzado seleccionado. + +Desvanecer al iniciar la Outro: +Inicia el fundido cruzado al inicio de la outro. Si la outro es más larga que la intro, +corta el final de la outro. Usa la duración de la intro o la outro como +el tiempo de fundido cruzado, el que sea más corto.Si no se ha marcado una intro u outro, +usa el tiempo de fundido cruzado seleccionado. + +Pista completa: +Reproduce la pista completa. Comienza el fundido cruzado desde el +número de segundos seleccionado antes del final de la pista. Un fundido cruzado negativo +agrega silencio entre las pistas. + +Saltar silencio: +Reproduce la pista completa excepto el silencio al inicio y al final. +Inicia el fundido cruzado desde el número de segundos seleccionado antes +del último sonido. + +Saltar silencio e iniciar con volumen al máximo: +Lo mismo que Saltar silencio, pero inicia la transición con el crossfader +centrado, de manera que la intro inicia con el volumen al máximo. @@ -4189,7 +4231,7 @@ crossfader, so that the intro starts at full volume. Skip Silence Start Full Volume - + Saltar silencio e iniciar con volumen al máximo @@ -4470,37 +4512,37 @@ A menudo resulta en cuadrículas de más calidad, pero no lo hacemos bien en pis Si el mapeo no funciona, prueba a activar uno de los controles avanzados siguientes y prueba de nuevo. También puedes volver a detectar el control. - + Didn't get any midi messages. Please try again. No se detectó ningún mensaje MIDI. Por favor, inténtelo de nuevo. - + Unable to detect a mapping -- please try again. Be sure to only touch one control at once. No se detectó un mapeado -- Intentelo nuevamente. Asegurese de tocar sólo un control a la vez. - + Successfully mapped control: Control mapeado con éxito: - + <i>Ready to learn %1</i> <i>Preparado para asignar %1</i> - + Learning: %1. Now move a control on your controller. Aprendizaje: %1. Ahora mueva un control en su controlador. - + The selected control does not exist.<br>This likely a bug. Please report it on the Mixxx bug tracker.<br><a href='https://github.com/mixxxdj/mixxx/issues'>https://github.com/mixxxdj/mixxx/issues</a><br><br>You tried to learn: %1,%2 - + El control seleccionado no existe. <br>Esto es posiblemente un bug. Por favor repórtelo en el seguidor de bugs de Mixxx. <br><a href='https://github.com/mixxxdj/mixxx/issues'>https://github.com/mixxxdj/mixxx/issues</a><br><br> Trataste de vincular: %1,%2 - + The control you clicked in Mixxx is not learnable. This could be because you are either using an old skin and this control is no longer supported, or you clicked a control that provides visual feedback and can only be mapped to outputs like LEDs via scripts. @@ -5198,120 +5240,120 @@ associated with each key. Key palette - + Paleta de notas DlgPrefController - + Apply device settings? ¿Aplicar la configuración del dispositivo? - + Your settings must be applied before starting the learning wizard. Apply settings and continue? La configuración debe ser aplicada antes de iniciar el asistente de aprendizaje. ¿Aplicar la configuración y continuar? - + None Ningún - + %1 by %2 %1 por %2 - + Mapping has been edited Se ha editado el mapeo - + Always overwrite during this session Siempre sobreescribir durante esta sesión - + Save As Guardar como - + Overwrite Sobreescribir - + Save user mapping Guardar mapeo del usuario - + Enter the name for saving the mapping to the user folder. Ingresar el nombre del archivo de mapeo para guardarlo en la carpeta de usuario. - + Saving mapping failed Ha fallado el guardado del mapeo - + A mapping cannot have a blank name and may not contain special characters. El nombre del mapeo no puede estar en blanco, ni contener caracteres especiales. - + A mapping file with that name already exists. Ya existe un archivo de mapeo con el mismo nombre. - + Do you want to save the changes? Quieres guardar los cambios? - + Troubleshooting Solución de problemas - + <font color='#BB0000'><b>If you use this mapping your controller may not work correctly. Please select another mapping or disable the controller.</b></font><br><br>This mapping was designed for a newer Mixxx Controller Engine and cannot be used on your current Mixxx installation.<br>Your Mixxx installation has Controller Engine version %1. This mapping requires a Controller Engine version >= %2.<br><br>For more information visit the wiki page on <a href='https://mixxx.org/wiki/doku.php/controller_engine_versions'>Controller Engine Versions</a>. <font color='#BB0000'><b>Si usas este mapeo, tu controlador podría no funcionar correctamente. Por favor selecciona otro mapeo o deshabilita el controlador. </b></font><br><br>Este mapeo fue diseñado para un nuevo Motor de Controladores de Mixxx, y no puede ser usado con tu instalación actual.<br>Tu instalación de Mixxx posee la version del Motor de Controladores %1. Este mapeo requiere una versión del Motor de controladores >=%2.<br><br>Para más información visita la wiki de <a href='https://mixxx.org/wiki/doku.php/controller_engine_versions'>Versiones del Motor de Controladores</a>. - + Mapping already exists. El mapeo ya existe. - + <b>%1</b> already exists in user mapping folder.<br>Overwrite or save with a new name? <b>%1</b> ya existe en la carpeta de mapeos de usuario. <br>¿Deseas sobreescribir o guardar con otro nombre? - + Clear Input Mappings Limpiar mapeos de Entrada - + Are you sure you want to clear all input mappings? Está seguro de querer eliminar todos los mapeos de entrada? - + Clear Output Mappings Limpiar mapeos de Salida - + Are you sure you want to clear all output mappings? Está seguro de querer eliminar todos los mapeos de salida? @@ -5331,62 +5373,62 @@ Apply settings and continue? Device Info - + Información del dispositivo Physical Interface: - + Interfase física Vendor name: - + Nombre del fabricante: Product name: - + Nombre del producto: Vendor ID - + ID del proveedor VID: - + VID: Product ID - + ID del producto PID: - + PID: Serial number: - + Número de serie: USB interface number: - + Número de interfaz USB HID Usage-Page: - + Página de uso HID HID Usage: - + Uso de HID: @@ -5464,7 +5506,7 @@ Apply settings and continue? Data protocol: - + Protocolo de datos: @@ -5474,7 +5516,7 @@ Apply settings and continue? Mapping Settings - + Configuración de mapeo @@ -5537,7 +5579,7 @@ Apply settings and continue? Enable MIDI Through Port - + Activar puerto de MIDI Through @@ -5642,6 +5684,16 @@ Apply settings and continue? Multi-Sampling Multi-Muestreo + + + Force 3D acceleration + + + + + If checked, Mixxx will always assume 3D acceleration is available. This may lead to pour performance if only CP-backed rendering is available.. + + Start in full-screen mode @@ -6200,12 +6252,12 @@ Siempre puedes arrastrar y tirar pistas en la pantalla para clonar una plataform ❯ - + ❮ - + @@ -6256,62 +6308,62 @@ Siempre puedes arrastrar y tirar pistas en la pantalla para clonar una plataform DlgPrefInterface - + The minimum size of the selected skin is bigger than your screen resolution. El tamaño mínimo de la apariencia seleccionada es mas grande que la resolucion de su pantalla. - + Allow screensaver to run Permite el salvapantallas - + Prevent screensaver from running Evita que se active el salvapantallas - + Prevent screensaver while playing Evita el salvapantallas mientras reproduce - + Disabled Desactivado - + 2x MSAA 2x MSAA - + 4x MSAA 4x MSAA - + 8x MSAA 8x MSAA - + 16x MSAA 16x MSAA - + This skin does not support color schemes Este skin no soporta esquemas de color - + Information Información - + Mixxx must be restarted before the new locale, scaling or multi-sampling settings will take effect. Mixxx debe ser reiniciado para que el nuevo ajuste de locale, escalado o multi-muestreo tenga efecto. @@ -7023,7 +7075,7 @@ y te permite ajustar su pitch para lograr mezclas armónicas. Reset stem controls on track load - + Reiniciar controles de stem al cargar pista @@ -7481,173 +7533,172 @@ El objetivo de sonoridad es aproximado y asume que la preganancia de la pista y DlgPrefSound - + %1 Hz %1 Hz - + Default (long delay) Por Defecto (mas retardo) - + Experimental (no delay) Experimental (sin retardo) - + Disabled (short delay) Desactivado (poco retardo) - + Soundcard Clock Reloj de la tarjeta de sonido - + Network Clock Reloj de red - + Direct monitor (recording and broadcasting only) Monitorización directa (solo grabación y emisión en vivo) - + Disabled Desactivado - + Enabled Activado - + Stereo Estéreo - + Mono Mono - + To enable Realtime scheduling (currently disabled), see the %1. Para activar el Planificador en tiempo real (actualmente desactivado), mira %1. - + The %1 lists sound cards and controllers you may want to consider for using Mixxx. %1 muestra una lista de tarjetas de sonido y controladores que podrías considerar para utilizar con Mixxx - + Mixxx DJ Hardware Guide Guía de Hardware DJ de Mixxx - + Information Información - + Mixxx must be restarted before the multi-threaded RubberBand setting change will take effect. Mixxx debe ser reiniciado para que el cambio de ajuste de RubberBand multi-hilo tenga efecto. - + auto (<= 1024 frames/period) auto (<= 1024 fotogramas/período) - + 2048 frames/period 2048 fotogramas/período - + 4096 frames/period 4096 fotogramas/período - + Are you sure? ¿Estás seguro(a)? - + Distribute stereo channels into mono channels for parallel processing will result in a loss of mono compatibility and a diffuse stereo image. It is not recommended during broadcasting or recording. Distribuir los canales estéreo en canales mono para su procesamiento en paralelo podría resultar en la pérdida de la compatibilidad mono y una imagen estéreo difusa. No se recomienda al transmitir en vivo o al grabar. - + Are you sure you wish to proceed? ¿Realmente deseas continuar? - + No No - + Yes, I know what I am doing Sí, se lo que estoy haciendo - + Microphone inputs are out of time in the record & broadcast signal compared to what you hear. La entrada de micrófono está desincronizada respecto la grabación y emisión comparado con la señal que se oye. - + Measure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. Mide la latencia total e introducela en la Compensacion de latencia del micrófono para sincronizar el micrófono. - - + Refer to the Mixxx User Manual for details. Para más detalles, lea el manual de usuario de Mixxx. - + Configured latency has changed. La latencia configurada ha cambiado. - + Remeasure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. Vuelve a medir la latencia total e introducela en la Compensacion de latencia del micrófono para sincronizar el micrófono. - + Realtime scheduling is enabled. La planificación en Tiempo Real está activada. - + Main output only Solo Salida principal - + Main and booth outputs Salidas principal y de cabina - + %1 ms %1 ms - + Configuration error Error de configuración @@ -7665,131 +7716,131 @@ El objetivo de sonoridad es aproximado y asume que la preganancia de la pista y API de sonido - + Sample Rate Frecuencia de muestreo - + Audio Buffer Búfer de audio - + Engine Clock Relog del motor - + Use soundcard clock for live audience setups and lowest latency.<br>Use network clock for broadcasting without a live audience. Usa el reloj de la tarjeta de sonido para emitir a un público presente y para la menor latencia. <br>Usa el reloj de red para emitir en vivo sin un público presente. - + Main Mix Mezcla principal - + Main Output Mode Modo de Salida principal - + Microphone Monitor Mode Modo de monitorización del micrófono - + Microphone Latency Compensation Compensación de latencia del micrófono - - - - + + + + ms milliseconds ms - + 20 ms 20 ms - + Buffer Underflow Count Contador de vaciado del búfer - + 0 0 - + Keylock/Pitch-Bending Engine Bloqueo tonal/Motor de Pitch-bend - + Multi-Soundcard Synchronization Sincronización con Múltiples Tarjetas de Sonido - + Output Salida - + Input Entrada - + System Reported Latency Latencia reportada por el sistema - + Enlarge your audio buffer if the underflow counter is increasing or you hear pops during playback. Aumente su búfer de audio si el contador de desbordamiento está aumentando o escuchas chasquidos durante la reproducción. - + Main Output Delay Retardo Salida Principal - + Headphone Output Delay Retraso/delay de la Salida de auriculares - + Booth Output Delay Retraso/delay de la salida de cabina - + Dual-threaded Stereo Estéreo en doble-hilo - + Hints and Diagnostics Diagnóstico y sugerencias - + Downsize your audio buffer to improve Mixxx's responsiveness. Disminuya su búfer de audio para mejorar la velocidad de respuesta de Mixxx. - + Query Devices Consultar aparatos @@ -7947,12 +7998,12 @@ El objetivo de sonoridad es aproximado y asume que la preganancia de la pista y 1/3 of waveform viewer options for "Text height limit" - + 1/3 de visualización de forma de onda Entire waveform viewer - + Visor de forma de onda completa @@ -7985,7 +8036,7 @@ El objetivo de sonoridad es aproximado y asume que la preganancia de la pista y OpenGL Status - + Estado de OpenGL @@ -8140,12 +8191,12 @@ Elija entre los distintos tipos de visualización para la forma de onda, que se Preferred font size - + Tamaño de tipo de letra preferido Text height limit - + Límite de altura de texto @@ -8190,13 +8241,13 @@ Elija entre los distintos tipos de visualización para la forma de onda, que se Scrolling Waveforms - + Deslizar formas de onda Type - + Tipo @@ -8226,7 +8277,7 @@ Elija entre los distintos tipos de visualización para la forma de onda, que se Overview Waveforms - + Visualizar formas de onda @@ -9349,27 +9400,27 @@ A menudo resulta en una cuadrícula de mayor calidad, pero no lo hacemos bien en EngineBuffer - + Soundtouch (faster) Soundtouch (rápido) - + Rubberband (better) Rubberband (mejor) - + Rubberband R3 (near-hi-fi quality) Banda elástica R3 (calidad casi alta fidelidad) - + Unknown, using Rubberband (better) Desconocido, utilizando Banda elástica (mejor) - + Unknown, using Soundtouch Desconocido, usando Soundtouch @@ -9554,12 +9605,12 @@ A menudo resulta en una cuadrícula de mayor calidad, pero no lo hacemos bien en Change color - + Cambiar color Choose a new color - + Escoger un nuevo color @@ -9567,32 +9618,32 @@ A menudo resulta en una cuadrícula de mayor calidad, pero no lo hacemos bien en Browse... - + Examinar… No file selected - + No se ha seleccionado ningún archivo Select a file - + Seleccionar un archivo LegacySkinParser - - + + Safe Mode Enabled Shown when Mixxx is running in safe mode. Modo Seguro Activado - - + + No OpenGL support. Shown when Spinny can not be displayed. Please keep @@ -9604,57 +9655,57 @@ Shown when VuMeter can not be displayed. Please keep de OpenGL. - + activate activar - + toggle conmutar - + right derecha - + left izquierda - + right small derecha pequeño - + left small izquierda pequeño - + up arriba - + down abajo - + up small arriba pequeño - + down small abajo pequeño - + Shortcut Atajo @@ -9662,37 +9713,37 @@ de OpenGL. Library - + This or a parent directory is already in your library. Este directorio o su superior ya se encuentra en tu biblioteca. - + This or a listed directory does not exist or is inaccessible. Aborting the operation to avoid library inconsistencies Este directorio o el indicado no existe o es inaccesible. Cancelando la operación para evitar inconsistencias de biblioteca. - - + + This directory can not be read. Este directorio no puede ser leído. - + An unknown error occurred. Aborting the operation to avoid library inconsistencies Ha ocurrido un error desconocido. Cancelando la operación para evitar inconsistencias de biblioteca - + Can't add Directory to Library No se pudo agregar el directorio a la biblioteca - + Could not add <b>%1</b> to your library. %2 @@ -9701,27 +9752,27 @@ Cancelando la operación para evitar inconsistencias de biblioteca %2 - + Can't remove Directory from Library No se pudo remover el directorio de la biblioteca. - + An unknown error occurred. Ha ocurrido un error desconocido. - + This directory does not exist or is inaccessible. Este directorio no existe o es inaccesible. - + Relink Directory Reenlazar directorio - + Could not relink <b>%1</b> to <b>%2</b>. %3 @@ -9733,22 +9784,22 @@ Cancelando la operación para evitar inconsistencias de biblioteca LibraryFeature - + Import Playlist Importar lista de reproducción - + Playlist Files (*.m3u *.m3u8 *.pls *.csv) Archivos de lista de reproducción (*.m3u *.m3u8 *.pls *.csv) - + Overwrite File? ¿Sobrescribir archivo? - + A playlist file with the name "%1" already exists. The default "m3u" extension was added because none was specified. @@ -9899,253 +9950,253 @@ Do you really want to overwrite it? MixxxMainWindow - + Sound Device Busy El dispositivo de sonido está ocupado - + <b>Retry</b> after closing the other application or reconnecting a sound device <b>Reintente</b> luego de cerrar las otras aplicaciones o reconectar un dispositivo de sonido - - - + + + <b>Reconfigure</b> Mixxx's sound device settings. <b>Reconfigure</b> las opciones del dispositivo de sonido de Mixxx. - - + + Get <b>Help</b> from the Mixxx Wiki. Obtenga <b>ayuda</b> del wiki de Mixxx. - - - + + + <b>Exit</b> Mixxx. <b>Salir</b> de Mixxx. - + Retry Reintentar - + skin apariencia - + Allow Mixxx to hide the menu bar? ¿Permitir a Mixxx ocultar la barra de menú? - + Hide Always show the menu bar? Ocultar - + Always show Mostrar siempre - + The Mixxx menu bar is hidden and can be toggled with a single press of the <b>Alt</b> key.<br><br>Click <b>%1</b> to agree.<br><br>Click <b>%2</b> to disable that, for example if you don't use Mixxx with a keyboard.<br><br>You can change this setting any time in Preferences -> Interface.<br> Keep formatting tags <b> (bold text) and <br> (linebreak). %1 is the placeholder for the 'Always show' button label La barra de menú de Mixxx ha sido ocultada y se puede alternar presionando la tecla <b>Alt</b>. <br><br>Haz clic en <b>%1</b> para aceptar. <br><br>Haz clic en <b>%2</b> para desactivarlo, por ejemplo si usas Mixxx sin un teclado. <br><br>Puedes cambiar este ajuste en cualquier momento en Preferencias -> Interfaz. <br> - + Ask me again Pregúntame de nuevo - - + + Reconfigure Reconfigurar - + Help Ayuda - - + + Exit Salir - - + + Mixxx was unable to open all the configured sound devices. Mixxx no ha podido activar todos los dispositivos de sonido configurados. - + Sound Device Error Error del dispositivo de sonido - + <b>Retry</b> after fixing an issue <b>Reintenta</b> una vez corregido el problema - + No Output Devices No hay dispositivos de salida - + Mixxx was configured without any output sound devices. Audio processing will be disabled without a configured output device. Mixxx fue configurado sin ningún dispositivo de salida de audio. El procesamiento de audio estará desactivado mientras no se configure un dispositivo de audio de salida. - + <b>Continue</b> without any outputs. <b>Continuar</b> sin ninguna salida. - + Continue Continuar - + Load track to Deck %1 Cargar pista al plato %1 - + Deck %1 is currently playing a track. El plato %1 está reproduciendo una pista. - + Are you sure you want to load a new track? ¿Está seguro de cargar una pista nueva? - + There is no input device selected for this vinyl control. Please select an input device in the sound hardware preferences first. No hay ningún dispositivo de entrada seleccionado para el control por vinilo. Por favor, seleccione un dispositivo de entrada en las preferencias de hardware de sonido. - + There is no input device selected for this passthrough control. Please select an input device in the sound hardware preferences first. No hay ningún dispositivo de entrada seleccionado para el control passthrough. Por favor, seleccione un dispositivo de entrada en las preferencias de hardware de sonido. - + There is no input device selected for this microphone. Do you want to select an input device? No se ha seleccionado un dispositivo de Entrada para este micrófono. ¿Deseas escoger uno ahora? - + There is no input device selected for this auxiliary. Do you want to select an input device? No se ha seleccionado un dispositivo de entrada para este Auxiliar. ¿Deseas escoger uno ahora? - + Scan took %1 - + El escaneo tomo %1 - + No changes detected. - + No se han detectado cambios - - + + %1 tracks in total - + %1 pistas en total - + %1 new tracks found - + Encontradas %1 pistas nuevas - + %1 moved tracks detected - + %1 pistas movidas detectadas - + %1 tracks are missing (%2 total) - + %1 pistas perdidas (%2 en total) - + %1 tracks have been rediscovered - + %1 pistas han sido reencontradas - + Library scan finished - + Escaneo de la biblioteca terminado - + Error in skin file Error en el archivo de la apariencia - + The selected skin cannot be loaded. No se ha podido cargar la apariencia seleccionada. - + OpenGL Direct Rendering Renderizado directo de OpenGL - + Direct rendering is not enabled on your machine.<br><br>This means that the waveform displays will be very<br><b>slow and may tax your CPU heavily</b>. Either update your<br>configuration to enable direct rendering, or disable<br>the waveform displays in the Mixxx preferences by selecting<br>"Empty" as the waveform display in the 'Interface' section. El renderizado directo no está habilitado en su máquina. <br><br>Esto significa que las visualizaciones de forma de onda serán muy <br><b>lentas y pueden exigir mucho a su CPU</b>. Actualice su <br>configuración para habilitar la representación directa o desactiv<br> las visualizaciones de forma de onda en las preferencias de Mixxx seleccionando <br>"Vacío" como la pantalla de forma de onda en la sección 'Interfaz'. - - - + + + Confirm Exit Confirmar salida - + A deck is currently playing. Exit Mixxx? Un plato está reproduciendo. ¿Salir de Mixxx? - + A sampler is currently playing. Exit Mixxx? Un reproductor de muestras está en reproducción. ¿Salir de Mixxx? - + The preferences window is still open. La ventana de preferencias todavía está abierta. - + Discard any changes and exit Mixxx? ¿Descartar cambios y salir de Mixxx? @@ -10161,13 +10212,13 @@ Do you want to select an input device? PlaylistFeature - + Lock Bloquear - - + + Playlists Listas de reproducción @@ -10177,32 +10228,58 @@ Do you want to select an input device? Aleatorizar lista de reproducción - + + Unlock all playlists + + + + + Delete all unlocked playlists + + + + Unlock Desbloquear - + + + Confirm Deletion + + + + + Do you really want to delete all unlocked playlists? + + + + + Deleting %1 unlocked playlists.<br>This operation can not be undone! + + + + Playlists are ordered lists of tracks that allow you to plan your DJ sets. Las listas de reproducción son listar ordenadas de pistas que te permiten planificar tus sesiones de DJ. - + It may be necessary to skip some tracks in your prepared playlist or add some different tracks in order to maintain the energy of your audience. Podría ser necesario saltar algunas pistas en tu lista de reproducción planificada, o añadir algunas pistas diferentes, con el fin de mantener la energía de tu audiencia. - + Some DJs construct playlists before they perform live, but others prefer to build them on-the-fly. Algunos DJ preparan listas de reproducción antes de tocar en vivo, pero otros prefieren hacerlo en el momento. - + When using a playlist during a live DJ set, remember to always pay close attention to how your audience reacts to the music you've chosen to play. Cuando uses una lista de reproducción en una actuación en vivo, recuerda siempre prestar mucha atención a cómo reacciona la audiencia con la música que has elegido reproducir. - + Create New Playlist Crear nueva lista de reproducción @@ -10212,7 +10289,7 @@ Do you want to select an input device? Mixxx Hotcue Colors - + Colores de hotcues de Mixxx @@ -10220,82 +10297,82 @@ Do you want to select an input device? Serato DJ Track Metadata Hotcue Colors - + Metadatos de colores de hotcues de pistas de Serato DJ Serato DJ Pro Hotcue Colors - + Colores de hotcues de Serato DJ Pro Rekordbox COLD1 Hotcue Colors - + Colores de hotcues de Rekordbox COLD1 Rekordbox COLD2 Hotcue Colors - + Colores de hotcues de Rekordbox COLD2 Rekordbox COLORFUL Hotcue Colors - + Colores de hotcues COLORFUL de Rekordbox Mixxx Track Colors - + Colores de pistas de Mixxx Rekordbox Track Colors - + Colores de pistas de Rekordbox Serato DJ Pro Track Colors - + Colores de pistas de Serato DJ Pro Traktor Pro Track Colors - + Colores de pistas de Traktor Pro VirtualDJ Track Colors - + Colores de pistas de VirtualDJ Mixxx Key Colors - + Colores de notas de Mixxx Traktor Key Colors - + Colores de notas de Traktor Mixed In Key - Key Colors - + Colores de notas de Mixed In Key Protanopia / Protanomaly Key Colors - + Colores de notas de Protanopia/Protanomalía Deuteranopia / Deuteranomaly Key Colors - + Colores de notas de Deuteranopía/Deuteranomalía Tritanopia / Tritanomaly Key Colors - + Colores de notas de Tritanopía/Tritanomalía @@ -10429,7 +10506,7 @@ Do you want to scan your library for cover files now? Switch - + Switch @@ -10879,7 +10956,7 @@ Si la amplitud es cero, este parámetro permite mover la posición manualmente p The Mixxx Team - + Equipo de Mixxx @@ -10909,12 +10986,12 @@ Si la amplitud es cero, este parámetro permite mover la posición manualmente p Gain - + Ganancia Set the gain of metronome click sound - + Configura la ganancia del sonido del metrónomo @@ -11863,7 +11940,7 @@ Consejo: compensa las voces de "ardillitas" o "gruñonas"La cantidad de amplificación aplicada a la señal de audio. A niveles más altos, el audio estará más distorsionado. - + Passthrough Paso @@ -12033,12 +12110,12 @@ pueden introducir un efecto de "bombeo" y/o distorsión. varios - + built-in nativo - + missing no encontrado @@ -12166,54 +12243,54 @@ pueden introducir un efecto de "bombeo" y/o distorsión. RekordboxFeature - - - + + + Rekordbox Rekordbox - + Playlists Listas de reproducción - + Folders Carpetas - + Reads databases exported for Pioneer CDJ / XDJ players using the Rekordbox Export mode.<br/>Rekordbox can only export to USB or SD devices with a FAT or HFS file system.<br/>Mixxx can read a database from any device that contains the database folders (<tt>PIONEER</tt> and <tt>Contents</tt>).<br/>Not supported are Rekordbox databases that have been moved to an external device via<br/><i>Preferences > Advanced > Database management</i>.<br/><br/>The following data is read: - + Hot cues Accesos Directos - + Loops (only the first loop is currently usable in Mixxx) Bucles (solo el primer bucle es utilizable en Mixxx) - + Check for attached Rekordbox USB / SD devices (refresh) Buscar dispositivos de almacenamiento Rekordbox (refrescar) - + Beatgrids Grillas de pulsos - + Memory cues Cues en memoria - + (loading) Rekordbox (cargando) Rekordbox @@ -12655,22 +12732,22 @@ pueden introducir un efecto de "bombeo" y/o distorsión. Reading track for fingerprinting failed. - + Ha fallado la lectura de la pista para fingerprinting Identifying track through AcoustID - + Identificando pista mediante AcoustID Could not identify track through AcoustID. - + No se pudo identificar la pista mediante AcoustID. Could not find this track in the MusicBrainz database. - + No se pudo encontrar esta pista en la base de datos de MusicBrainz. @@ -13392,7 +13469,7 @@ pueden introducir un efecto de "bombeo" y/o distorsión. Left click and hold allows to preview the position where the play head will jump to on release. Dragging can be aborted with right click. - + Mantener el clic izquierdo permite previsualizar la posición donde la cabeza de reproducción saltará al soltarlo. El arrastre puede ser abortado con el clic derecho. @@ -13442,12 +13519,12 @@ pueden introducir un efecto de "bombeo" y/o distorsión. Shows the current volume for the left channel of the main output. - + Muestra el volumen actual para el canal izquierdo en la salida principal. Shows the current volume for the right channel of the main output. - + Muestra el volumen actual para el canal derecho de la salida principal. @@ -13459,27 +13536,27 @@ pueden introducir un efecto de "bombeo" y/o distorsión. Adjusts the main output gain. - + Ajusta el volumen principal Determines the main output by fading between the left and right channels. - + Determina la salida principal desvaneciendo entre los canales izquierdo y derecho. Adjusts the left/right channel balance on the main output. - + Ajusta el balance de los canales izquierdo/derecho en la salida principal. Crossfades the headphone output between the main mix and cueing (PFL or Pre-Fader Listening) signal. - + Desvanecimiento cruzado de la salida de auriculares entre la salida principal y la señal de cueing (PFL o Escucha Pre-Deslizador) If activated, the main mix signal plays in the right channel, while the cueing signal plays in the left channel. - + Si se activa, la señal principal de la mezcla se reproduce en el canal derecho, mientras que la señal de cueing se reproduce en el canal izquierdo. @@ -13494,12 +13571,12 @@ pueden introducir un efecto de "bombeo" y/o distorsión. Show/hide the beatgrid controls section - + Mostrar/ocultar la sección de controles de la cuadrícula de tiempo Show/hide the stem mixing controls section - + Mostrar/ocultar la sección de controles de mezcla de stems @@ -13509,17 +13586,17 @@ pueden introducir un efecto de "bombeo" y/o distorsión. Volume Meters - + Medidores de volumen mix microphone input into the main output. - + mezcla la entrada de micrófono con la salida principal. Auto: Automatically reduce music volume when microphone volume rises above threshold. - + Auto: reduce automáticamente el volumen de la música cuando el volumen del micrófono supera el umbral. @@ -13530,17 +13607,17 @@ pueden introducir un efecto de "bombeo" y/o distorsión. Auto: Sets how much to reduce the music volume when the volume of active microphones rises above threshold. - + Auto: configura cuánto reducir el volumen de la música cuando el volumen de los micrófonos activos supera el umbral. Manual: Sets how much to reduce the music volume, when talkover is activated regardless of volume of microphone inputs. - + Manual: configura cuánto reducir el volumen de la música cuando el talkover se encuentra activado, independientemente del volumen de las entradas de micrófono. If keylock is disabled, pitch is also affected. - + Si el bloqueo tonal se desactiva, la altura también es afectada. @@ -13555,7 +13632,7 @@ pueden introducir un efecto de "bombeo" y/o distorsión. Raises playback speed in small steps. - + Incrementa la velocidad de reproducción en pasos pequeños. @@ -13570,7 +13647,7 @@ pueden introducir un efecto de "bombeo" y/o distorsión. Lowers playback speed in small steps. - + Reduce la velocidad de reproducción en pasos pequeños. @@ -13580,12 +13657,12 @@ pueden introducir un efecto de "bombeo" y/o distorsión. Holds playback speed higher while active (tempo). - + Mantiene la velocidad de reproducción alta cuando se activa (tempo). Holds playback speed higher (small amount) while active. - + Mantiene la velocidad de reproducción alta (pequeña cantidad) cuando se activa. @@ -13595,59 +13672,60 @@ pueden introducir un efecto de "bombeo" y/o distorsión. Holds playback speed lower while active (tempo). - + Mantiene la velocidad de reproducción baja cuando se activa (tempo). Holds playback speed lower (small amount) while active. - + Mantiene la velocidad de reproducción baja (pequeña cantidad) cuando se activa. When tapped repeatedly, adjusts the tempo to match the tapped BPM. - + Cuando se pulsa repetidamente, ajusta el tempo para coincidir con la frecuencia de pulsaciones. Tempo Tap - + Seguidor de Tempo (Tempo Tap) Rate Tap and BPM Tap - + Frecuencia de pulsaciones y de BPM Adjust beatgrid by exactly one half beat. Usable only on tracks with constant tempo. - + Ajusta la cuadrícula de tiempo en exactamente medio beat. Solo se puede usar en +pistas con tempo constante Revert last BPM/Beatgrid Change - + Revierte el último cambio de BPM/cuadrícula de tiempo Revert last BPM/Beatgrid Change of the loaded track. - + Revierte el último cambio de BPM/Cuadrícula de tiempo para la pista cargada. Toggle the BPM/beatgrid lock - + Cambia el bloqueo de BPM/cuadrícula de tiempo Tempo and Rate Tap - + Toques de Tempo y Frecuencia Tempo, Rate Tap and BPM Tap - + Toques de Tempo, Frecuencia y BPM @@ -13663,79 +13741,79 @@ tracks with constant tempo. Left click: shift 10 milliseconds earlier - + Clic izquierdo: adelantar 10 milisegundos Right click: shift 1 millisecond earlier - + Clic derecho: adelantar 1 milisegundo Shift cues later - + Retrasar cues Left click: shift 10 milliseconds later - + Clic izquierdo: retrasar 10 milisegundos Right click: shift 1 millisecond later - + Clic derecho: retrasar 1 milisegundo Drag a Hotcue button here to continue playing after releasing the Hotcue. - + Arrastra un botón de Hotcue aquí para continuar reproduciendo después de soltar la hotcue. Hint: Change the default cue mode in Preferences -> Decks. - + Sugerencia: cambie el modo por defecto de las cues en Preferencias -> Platos. Mutes the selected channel's audio in the main output. - + Silencia el audio del canal seleccionado en la salida principal. Main mix enable - + Activador de mezcla principal Hold or short click for latching to mix this input into the main output. - + Clic sostenido o corto para enganchar, para mezclar esta entrada con la salida principal. If hotcue is a loop cue, toggles the loop and jumps to if the loop is behind the play position. - + Si la hotcue es una cue de bucle, activa el bucle y salta hacia él si se encuentra detrás de la posición de reproducción. If the play position is inside an active loop, stores the loop as loop cue. - + Si la posición de reproducción se encuentra dentro de un bucle activo, almacena el bucle como una hotcue de bucle. Drag this button onto another Hotcue button to move it there (change its index). If the other hotcue is set, the two are swapped. - + Arrastrar este botón dentro de otro botón de hotcue para moverlo hacia este (cambiando su número). Si la otra hotcue ya se encuentra definida, las dos son intercambiadas. Expand/Collapse Samplers - + Expandir/contraer samplers Toggle expanded samplers view. - + Alternar la vista expandida de los samplers. @@ -13745,12 +13823,12 @@ tracks with constant tempo. Auto DJ is active - + Auto DJ se encuentra activo Red for when needle skip has been detected. - + Rojo cuando se detecta un salto de aguja. @@ -13790,7 +13868,7 @@ tracks with constant tempo. If the track has no beats the unit is seconds. - + Si la pista no tiene pulsaciones, la unidad es segundos. @@ -13830,12 +13908,12 @@ tracks with constant tempo. Beatloop Anchor - + Ancla del bucle de pulsaciones Define whether the loop is created and adjusted from its staring point or ending point. - + Define si el bucle es creado y ajustado desde su punto de inicio o de final. @@ -13930,12 +14008,12 @@ tracks with constant tempo. Hint: Change the time format in Preferences -> Decks. - + Sugerencia: cambie el formato de tiempo en Preferencias -> Platos. Show/hide intro & outro markers and associated buttons. - + Mostrar/ocultar marcadores de intro y outro, y sus botones asociados. @@ -13948,7 +14026,7 @@ tracks with constant tempo. If marker is set, jumps to the marker. - + Si el marcador se encuentra definido, salta al marcador. @@ -13956,7 +14034,7 @@ tracks with constant tempo. If marker is not set, sets the marker to the current play position. - + Si el marcador no se encuentra definido, lo configura a la posición de reproducción actual. @@ -13964,7 +14042,7 @@ tracks with constant tempo. If marker is set, clears the marker. - + Si el marcador se encuentra definido, lo elimina. @@ -14026,7 +14104,7 @@ Use this to change only the effected (wet) signal with EQ and filter effects. Route the main mix through this effect unit. - + Enruta la mezcla principal a través de esta unidad de efectos. @@ -14046,42 +14124,42 @@ Use this to change only the effected (wet) signal with EQ and filter effects. Stem Label - + Etiqueta de stem Name of the stem stored in the stem file - + Nombre del stem almacenado en el archivo de stem Text is displayed in the stem color stored in the stem file - + El texto es presentado con el color del stem almacenado en el archivo de stem this stem color is also used for the waveform of this stem - + este color de stem también es usado en la forma de onda de este stem Stem Mute - + Silenciar stem Toggle the stem mute/unmuted - + Alterna el silencio del stem Stem Volume Knob - + Perilla de volumen del stem Adjusts the volume of the stem - + Ajusta el volumen del stem @@ -14565,17 +14643,17 @@ Use this to change only the effected (wet) signal with EQ and filter effects. Left click to jump around in the track. - + Clic izquierdo para saltar a lo largo de la pista. Right click hotcues to edit their labels and colors. - + Click derecho en los accesos directos para editar sus etiquetas y colores. Right click anywhere else to show the time at that point. - + Clic derecho en cualquier otra parte para mostrar el tiempo en ese punto. @@ -14670,7 +14748,7 @@ Use this to change only the effected (wet) signal with EQ and filter effects. Maximize Library - + Maximizar Biblioteca @@ -14711,12 +14789,12 @@ Use this to change only the effected (wet) signal with EQ and filter effects. Opens the track properties editor - + Abre el editor de propiedades de pista Opens the track context menu. - + Abre el menú contextual de la pista @@ -14818,12 +14896,12 @@ Use this to change only the effected (wet) signal with EQ and filter effects. Drag this button onto a Play button while previewing to continue playback after release. - + Arrastre este botón a un boton de Play durante la preescucha para continuar la reproducción tras soltarlo. Dragging with Shift key pressed will not start previewing the hotcue. - + Arrastrar mientras presiona la tecla Shift no iniciará la preescucha de la hotcue. @@ -15257,22 +15335,22 @@ Use this to change only the effected (wet) signal with EQ and filter effects. Replace Existing File? - + ¿Reemplazar el archivo existente? "%1" already exists, replace? - + "%1% ya existe, ¿reemplazar? &Replace - + &Reemplazar Apply to all files - + Aplicar a todos los archivos @@ -15371,7 +15449,7 @@ Use this to change only the effected (wet) signal with EQ and filter effects. frameSwapped-signal driven phase locked loop - + Bucle con bloqueo de fase manejado por señal con marco cambiado @@ -15397,12 +15475,12 @@ Use this to change only the effected (wet) signal with EQ and filter effects. No color - + Sin color Custom color - + Color personalizado @@ -15455,47 +15533,47 @@ Carpeta: %2 WCueMenuPopup - + Cue number - + Número de cue - + Cue position Posición Marca - + Edit cue label Editar etiqueta de marca - + Label... - + Etiqueta... - + Delete this cue Borrar esta marca - + Toggle this cue type between normal cue and saved loop - + Alterna el tipo de esta cue entre cue normal y bucle guardado - + Left-click: Use the old size or the current beatloop size as the loop size - + Clic izquierdo: usar el tamaño anterior o el del bucle actual como el tamaño de bucle - + Right-click: Use the current play position as loop end if it is after the cue - + Clic derecho: usar la posición de reproducción actual como final del bucle si se encuentra después de la cue - + Hotcue #%1 Acceso DIrecto #%1 @@ -15510,7 +15588,7 @@ Carpeta: %2 Rename Preset - + Renombrar preajuste @@ -15620,407 +15698,437 @@ Carpeta: %2 + Search in Current View... + + + + + Search for tracks in the current library view + + + + + Ctrl+f + + + + + Search in Tracks Library... + + + + + Search in the internal track collection under "Tracks" in the library + + + + + Ctrl+Shift+F + + + + Create &New Playlist Crear &nueva Playlist - + Create a new playlist Crear una nueva lista de reproducción - + Ctrl+n Ctrl+N - + Create New &Crate Crear nueva &caja - + Create a new crate Crea una nueva caja - + Ctrl+Shift+N Ctrl+Mayús+N - - + + &View &Vista - + Auto-hide menu bar - + Auto-ocultar barra de menú - + Auto-hide the main menu bar when it's not used. - + Auto-ocultar la barra de menú principal cuando no es utilizada. - + May not be supported on all skins. Puede no estar disponible para todas las apariencias. - + Show Skin Settings Menu Mostrar la configuración de Temas - + Show the Skin Settings Menu of the currently selected Skin Mostrar la configuración actual del menu de tema - + Ctrl+1 Menubar|View|Show Skin Settings Ctrl+1 - + Show Microphone Section Mostrar seccion del microfono - + Show the microphone section of the Mixxx interface. Muestra la sección de control de micrófono de la interfaz de Mixxx. - + Ctrl+2 Menubar|View|Show Microphone Section Ctrl+2 - + Show Vinyl Control Section Mostrar la Sección de Control de Vinilo - + Show the vinyl control section of the Mixxx interface. Muestra la sección de control de vinilo de la interfaz de Mixxx. - + Ctrl+3 Menubar|View|Show Vinyl Control Section Ctrl+3 - + Show Preview Deck Mostrar el reproductor de preescucha - + Show the preview deck in the Mixxx interface. Muestra el reproductor de preescucha en la interfaz de Mixxx. - + Ctrl+4 Menubar|View|Show Preview Deck Ctrl+4 - + Show Cover Art Muestra carátulas - + Show cover art in the Mixxx interface. Muestra las carátulas en la interfaz de Mixxx. - + Ctrl+6 Menubar|View|Show Cover Art Ctrl+6 - + Maximize Library Maximizar Biblioteca - + Maximize the track library to take up all the available screen space. Maximizar la biblioteca para tomar todo el espacio disponible en pantalla. - + Space Menubar|View|Maximize Library Espacio - + &Full Screen &Pantalla completa - + Display Mixxx using the full screen Mostrar Mixxx a pantalla completa - + &Options &Opciones - + &Vinyl Control Control de &vinilo - + Use timecoded vinyls on external turntables to control Mixxx Usar vinilos con codigo de tiempo en bandejas externas para controlar Mixxx - + Enable Vinyl Control &%1 Habilita el Control por Vinilo &%1 - + &Record Mix &Grabar Mezcla - + Record your mix to a file Grava a súa mestura a un ficheiro - + Ctrl+R Ctrl+R - + Enable Live &Broadcasting Activar transmisión en &vivo - + Stream your mixes to a shoutcast or icecast server Transmite tus mezclas a un servidor shoutcast o icecast - + Ctrl+L Ctrl+L - + Enable &Keyboard Shortcuts Activar Atajos de &Teclado - + Toggles keyboard shortcuts on or off Activa o desactiva los atajos de teclado - + Ctrl+` Ctrl+` - + &Preferences &Preferencias - + Change Mixxx settings (e.g. playback, MIDI, controls) Cambiar la configuración de Mixxx (p.ej.: reproducción, MIDI, controles) - + &Developer &Desarrollador - + &Reload Skin &Recargar apariencia - + Reload the skin Recargar la apariencia - + Ctrl+Shift+R Ctrl+Mayús+R - + Developer &Tools U&tilidades de desarrollador - + Opens the developer tools dialog Abre el cuadro de diálogo de herramientas de desarrollo - + Ctrl+Shift+T Ctrl+Mayús+T - + Stats: &Experiment Bucket Estadísticas: Contadores &Experiment - + Enables experiment mode. Collects stats in the EXPERIMENT tracking bucket. Activa el modo experimental. Recoje estadísticas en los contadores EXPERIMENT. - + Ctrl+Shift+E Ctrl+Mayús+E - + Stats: &Base Bucket Estadísticas: contadores &Base - + Enables base mode. Collects stats in the BASE tracking bucket. Activa el modo base. Recoje estadísticas en los contadores BASE. - + Ctrl+Shift+B Ctrl+Mayús+B - + Deb&ugger Enabled Dep&uración activada - + Enables the debugger during skin parsing Activa el depurador durante el análisis de la máscara - + Ctrl+Shift+D Ctrl+Mayús+D - + &Help Ay&uda - + Show Keywheel menu title - + Mostrar rueda de notas E&xport Library to Engine DJ "Engine DJ" must not be translated - + Exportar biblioteca a Engine DJ Export the library to the Engine DJ format - + Exportar biblioteca al formato Engine DJ - + Show keywheel tooltip text - + Mostrar rueda de notas - + F12 Menubar|View|Show Keywheel - + F12 - + &Community Support Soporte &comunitario - + Get help with Mixxx Obtener ayuda con Mixxx - + &User Manual Manual de &usuario - + Read the Mixxx user manual. Lea el manual de usuario de Mixxx. - + &Keyboard Shortcuts Atajos de &Teclado - + Speed up your workflow with keyboard shortcuts. Trabaja más rápidamente usando los atajos de teclado. - + &Settings directory &Directorio de configuración - + Open the Mixxx user settings directory. Abre el directorio de configuración de usuario de Mixxx. - + &Translate This Application &Traducir esta aplicación - + Help translate this application into your language. Ayude a traducir esta aplicación a su idioma. - + &About &Acerca de - + About the application Acerca de la aplicación @@ -16036,7 +16144,7 @@ Carpeta: %2 Ready to play, analyzing... Text on waveform overview when file is playable but no waveform is visible - + Listo para reproducir, analizando... @@ -16049,31 +16157,19 @@ Carpeta: %2 Finalizing... Text on waveform overview during finalizing of waveform analysis - + Finalizando... WSearchLineEdit - - Clear input - Clear the search bar input field - Borrar el texto - - - - Ctrl+F - Search|Focus - Ctrl+F - - - + Search noun Buscar - + Clear input Borrar el texto @@ -16084,93 +16180,87 @@ Carpeta: %2 Buscar... - + Clear the search bar input field - + Limpia el campo de entrada de la barra de búsqueda - - Enter a string to search for - Introducir el texto a buscar + + Return + Volver - - Use operators like bpm:115-128, artist:BooFar, -year:1990 + + Enter a string to search for. - - For more information see User Manual > Mixxx Library - Para más información vea el Manual de Usuario> Biblioteca Mixxx + + Use operators like bpm:115-128, artist:BooFar, -year:1990. + - Shortcut - Atajo + See User Manual > Mixxx Library for more information. + - - Ctrl+F - Ctrl+F + + Focus/Select All (Search in current view) + Give search bar input focus + - - Focus - Give search bar input focus - Poner el cursor aquí + + Focus/Select All (Search in 'Tracks' library view) + - - - Ctrl+Backspace - Ctrl+Tecla de retroceso + + Additional Shortcuts When Focused: + - Shortcuts - Atajos + Trigger search before search-as-you-type timeout or focus tracks view afterwards + - Return + Esc or Ctrl+Return - Trigger search before search-as-you-type timeout orjump to tracks view afterwards - Activa la búsqueda antes del tiempo de espera de "búsqueda mientras escribe" o salte a la vista de pistas después + Immediately trigger search and focus tracks view + Exit search bar and leave focus + - + Ctrl+Space - + Ctrl+Espacio - + Toggle search history Shows/hides the search history entries - + Alternar historial de búsqueda - + Delete or Backspace Borrar o Retorno - - Delete query from history - Borrar Consulta del Historial - - - - Esc - Esc + + in search history + - - Exit search - Exit search bar and leave focus - Salir de la busqueda + + Delete query from history + Borrar Consulta del Historial @@ -16178,7 +16268,7 @@ Carpeta: %2 Search related Tracks - + Buscar pistas relacionadas @@ -16188,7 +16278,7 @@ Carpeta: %2 harmonic with %1 - + armónico con %1 @@ -16198,7 +16288,7 @@ Carpeta: %2 between %1 and %2 - + entre %1 y %2 @@ -16248,7 +16338,7 @@ Carpeta: %2 &Search selected - + &Búsqueda seleccionada @@ -16286,7 +16376,7 @@ Carpeta: %2 Update external collections - + Actualizar colecciones externas @@ -16296,12 +16386,12 @@ Carpeta: %2 Adjust BPM - + Ajustar BPM Select Color - + Seleccionar color @@ -16469,12 +16559,12 @@ Carpeta: %2 Sort hotcues by position (remove offsets) - + Ordenar hotcues por posición (removiendo desfases) Sort hotcues by position - + Ordenar hotcues por posición @@ -16519,7 +16609,7 @@ Carpeta: %2 Shift Beatgrid Half Beat - + Desplazar la cuadrícula de tiempo medio beat @@ -16607,7 +16697,7 @@ Carpeta: %2 Undo BPM/beats change of %n track(s) - + Deshacer cambios de BPM/pulsaciones de %n pista(s)Deshacer cambios de BPM/pulsaciones de %n pista(s)Deshacer cambios de BPM/pulsaciones de %n pista(s) @@ -16622,7 +16712,7 @@ Carpeta: %2 Setting rating of %n track(s) - + Definiendo evaluación de %n pistaDefiniendo evaluación de %n pistasDefiniendo evaluación de %n pista(s) @@ -16677,12 +16767,12 @@ Carpeta: %2 Sorting hotcues of %n track(s) by position (remove offsets) - + Ordenando hotcues de %n pista por posición (removiendo desfases)Ordenando hotcues de %n pistas por posición (removiendo desfases)Ordenando hotcues de %n pistas(s) por posición (removiendo desfases) Sorting hotcues of %n track(s) by position - + Ordenando hotcues de %n pista por posiciónOrdenando hotcues de %n pistas por posiciónOrdenando hotcues de %n pista(s) por posición @@ -16707,7 +16797,7 @@ Carpeta: %2 Move these files to the trash bin? - + ¿Mover estos archivos a la papelera? @@ -16733,7 +16823,7 @@ Carpeta: %2 Okay - + Okey @@ -16783,7 +16873,7 @@ Carpeta: %2 Remaining Track File(s) - + Renombrando archivo(s) de pista @@ -16794,7 +16884,7 @@ Carpeta: %2 Clear Reset metadata in right click track context menu in library - + Climpiar @@ -16804,37 +16894,37 @@ Carpeta: %2 Clear BPM and Beatgrid - + Limpia las BPM y la cuadrícula de tiempo Undo last BPM/beats change - + Revertir el último cambio de BPM/pulsaciones Move this track file to the trash bin? - + ¿Mover este archivo de pista a la papelera? Permanently delete this track file from disk? - + ¿Eliminar permanentemente este archivo de pista del disco? All decks where these tracks are loaded will be stopped and the tracks will be ejected. - + Todos los platos donde estas pistas hayan sido cargadas se detendrán, y las pistas serán expulsadas. All decks where this track is loaded will be stopped and the track will be ejected. - + Todos los platos donde esta pista haya sido cargada se detendrán, y la pista será expulsada. Removing %n track file(s) from disk... - + Removiendo %n archivo(s) de pista del disco... @@ -16854,12 +16944,12 @@ Carpeta: %2 Don't show again during this session - + No mostrar nuevamente durante esta sesión The following %1 file(s) could not be moved to trash - + El/los siguiente(s) %1 archivo(s) no pudieron ser movidos a la papelera @@ -16882,7 +16972,7 @@ Carpeta: %2 title - + título @@ -16890,73 +16980,73 @@ Carpeta: %2 Load for stem mixing - + Cargar para mezcla de stems Load pre-mixed stereo track - + Cargar pista estéreo premezclada Load the "%1" stem - + Cargar el stem "%1" Load multiple stem into a stereo deck - + Cargar múltiples stems en un plato estéreo Select stems to load - + Seleccionar stems a cargar Release "CTRL" to load the current selection - + Soltar "Ctrl" para cargar la selección actual Use "CTRL" to select multiple stems - + Use "Ctrl" para seleccionar múltiples stems WTrackTableView - + Confirm track hide Confirmar ocultar pista - + Are you sure you want to hide the selected tracks? ¿Estas seguro de que quieres ocultar las pistas seleccionadas? - + Are you sure you want to remove the selected tracks from AutoDJ queue? ¿Esta seguro de que quiere eliminar las pistas seleccionadas de la cola del AutoDJ? - + Are you sure you want to remove the selected tracks from this crate? ¿Estás seguro de que quieres eliminar las pistas seleccionadas de esta caja? - + Are you sure you want to remove the selected tracks from this playlist? ¿Esta seguro de que desea eliminar las pistas seleccionadas de la lista de reproducción? - + Don't ask again during this session No volver a preguntar durante esta sesión - + Confirm track removal Confirmar eliminación del track @@ -16971,58 +17061,58 @@ Carpeta: %2 Shuffle Tracks - + Mezclar pistas mixxx::CoreServices - + fonts tipos de letra - + database base de datos - + effects efectos - + audio interface interface de sonido - + decks - + decks - + library Biblioteca - + Choose music library directory Elija el directorio de la biblioteca de la música - + controllers Controladores - + Cannot open database No se puede abrir la base de datos - + Unable to establish a database connection. Mixxx requires QT with SQLite support. Please read the Qt SQL driver documentation for information on how to build it. @@ -17036,70 +17126,80 @@ Pulse Aceptar para salir. mixxx::DlgLibraryExport - + Entire music library + Biblioteca de música completa + + + + Crates + + + + + Playlists - - Selected crates - Cajas seleccionadas + + Selected crates/playlists + - + Browse Examinar - + Export directory - + Exportar directorio - + Database version - + Versión de base de datos - + Export Exportar - + Cancel Cancelar - + Export Library to Engine DJ "Engine DJ" must not be translated - + Exportar biblioteca a Engine DJ - + Export Library To - + Exportar biblioteca a - + No Export Directory Chosen - + No se seleccionó un directorio de exportación - + No export directory was chosen. Please choose a directory in order to export the music library. - + No se escogió un directorio de exportación. Por favor escoja un directorio para poder exportar la biblioteca de música. - + A database already exists in the chosen directory. Exported tracks will be added into this database. - + Una base de datos ya existe en el directorio seleccionado. Las pistas exportadas serán añadidas a esta base de datos. - + A database already exists in the chosen directory, but there was a problem loading it. Export is not guaranteed to succeed in this situation. - + Una base de datos ya existe en el directorio seleccionado, pero ocurrió un problema al cargarla. No se garantiza una exportación exitosa en esta situación. @@ -17118,34 +17218,35 @@ Pulse Aceptar para salir. mixxx::EnginePrimeExportJob - + Failed to export track %1 - %2: %3 %1 is the artist %2 is the title and %3 is the original error message - + Fallo al exportar %1 - %2: +%3 mixxx::LibraryExporter - + Export Completed - + Exportación completada - - Exported %1 track(s) and %2 crate(s). - Exportados %1 pista(s) y %2 caja(s). + + Exported %1 track(s), %2 crate(s), and %3 playlist(s). + - + Export Failed - + Exportación fallida - + Exporting to Engine DJ... - + Exportando a Engine DJ... @@ -17153,7 +17254,7 @@ Pulse Aceptar para salir. Abort - + Abortar diff --git a/res/translations/mixxx_es_419.qm b/res/translations/mixxx_es_419.qm index 3ea6f48109b7a09fac696ef4bcbd5de407fe63b1..6c6573084af0d6f66341a71d67b4b1ade633342d 100644 GIT binary patch delta 54984 zcmXV&bwCu|*T=szHzpRbTQRZ40$c3FZc$Oe4lHbC74)$XTLBftPEfG}vBf||#6k@0 z!1ib2dzgLy`phgFGxwf8XZZfJ(917Hm$=ydjsPeH6dp`;g>rwQMYZ!Ai>$p#tP19S zidYTkQ`I617)7iO^v!y|JK!^&SR3fKme?5T$|b}mP*-LBy(!eyF2rU~!*dXu6R!|k zz^<;nP6sWauA4;c1irC5pw0pdYz(j#^aE`ys$cICed&if5(h!`szqEuKR5>9k-EjrV(jD)=VUf8nBL;xAqYEfI znO^?~RICTKXdKZ_2b%-vpf}j4wzR^|P-836ik76MUPvrWd`EPJ+U5kY9IZ%U;v71E z4tQj(gfsC!sNZVP4$%9&`U3TdZRvaJ(}jEsr4{c2mj}{_kE%8Mn z{ouOdK4uL z4s@wT+dqL=oftvv0VU}iaR}7Ew0A_-otB!&7v(0-gUD|Xzk)BBOw6S7K0sHU&hJJ+srh^wd4<&gEaAyEiB?HRKQ&2~ZCt({2H7x*2=6kR* zL10ZQgEb*->eGwpOFRbF>=#t~*QsDFNl3o#0Gpd7Ed9VIm|#mPJGkXL_^vhJzBMe$ z)3jQ<&H{5DgU8Sv4JihGs5z8_k;F9cVRU}<18F3!&c!WI!sz@u2WNS}Z#0MMQx*J9 zCa`XWMLVB7%sLRW8-u4-g8F9+_^a8Zx=q2~(VJN+_=hdv+?jZn{=Us3>qeiWa~?IKpsR)uKM zfrR3eMOL{TL@N)Vd@ToiZMMkHEw(7~2Sc=_rGM>XQQUn*{0h8DvncK_fM_=rYWb%S z-RaJY6}8AzcZdP=A+OJZ7;KM&jBtV&au&+RFo<#Ufv-m`if1GT6IVd_M;9=UR$$8* zh|plDFY7^s2Lf(WEvhl|E%GWHVr?_pmX#1unNZ5Mv8c9g4Y3hW*7kzfmJXI}mxJ@^ zbM{^Rp;V?X+Cx`bS%ui^0e-tYu_+Xf5*GQXeGu`3$W63zuvTGYkZ)r&kK$2kmuVA{gDe<S+!RvR+o z2J($=4YmD9(oZo0!N@!*@GG=34Hns zce-HpYb&_VCO&tE2YEf_{sJDB9Z^tgaF*fei#kuEA#OOM?sO7jpY5o7bs(76TZ?u+ zVXSo^^4vn*SLASx-A03i*^og4(9%7M{P;MuT(tsPo{nf$p7gs&PY0`>v&f7A4%)pO z41Mq5mdXw$>~Zjl?%-7)i*nB|wEABj(*Fnf(0cH8@J>(BrXor0R6mQtYm7yCvJcvL zkU=|rPH5*!FON%?WmA-FeSBQKm#4}(s zC!oy&`vNG_8=%cm5+YxTHpfbVjfqE_i*!MQ7r<-Dc`~W<(bl#ZSX#xRn0^IqTOOrg zrx4ny^m)JaXjjA;B1a{(J3j{~cGW@mB#X+=REuo&PzSgFvM6KLpuK%nJkZ+%?KhCC z^}B@*B9=_-eTyvDaR-}?LB}5F!0L{6uvrW`#)m?7)X?!`IMlK|(0KuAOQpT&d?XY~ zd~bBVdIEgme01qchUiZWx(pr{$nFoG-f4(kPiGx&|*G zliA+Eg;UXOn4s6^qWi0r;A?ZChZ#nUM2}0iq1^i5;N9)$S%iX^fxhTD`!-q1=IFWL zAE{+N^gI~{zI_aOUI~YCX1ql<_n1X)Y_X%)5b{L3Cc%5iO32OM;XN!8Vp3~(k2nCO z;slHQSSxsMkEI{(pu8H7F`b@~+ir$2+aHsmF)^uIDAWetnEaOvRLVe1 zS@;Kb*>xGF>`EfTpkZoqDafuZF^!g1e*cJRg(-sRyc9Eou97cUjG6J}!7etz%uA1< zR8leP({e}(D1+Lq0GoXrK?7;8t1iHtg27hOF2T-+6f5=}gk7nmc6WXv zI-xz3bHfqiJCvfKI@sI$D3F|hy~(ttJr5!Fa#lQW7KdWU1h+q~CtHm_fqTej6@LrwC~MVI*`7C*M&E3FF8fJZXl6RphoSZpGC_OQ7D0#?`H4 zPmcM)esk7ssO&3}U1$rAZAS9JPmmMp;!gNIuu>&)w`3fY!O;!|B;alWT|iI>?k1AI zPiTr%7ZTE~AxQ14fE!QoFgwNev0ivQmfUd4Cp?+%1`J(<^g$FS^sys7iDbpM1YXu- zV0R1J@oLC9@B@SKYBHrvw%>T$c?aZ0hQC|ol;Dn^70WUoVt?H~uf_*xWCUn|a!ogvaDDtWt|h1#sC zk}oEK;{TDAl>+%AATQ`j!OCQ#_x4c=&C3866_lbre&EIHC`DJ3diKbtxb$ofHOCyK z#HR8<=s=~^br*`1n<=H&1cJY;tdu!MpDVvXDO)5CqHu4e!WT{v(lZBrJ}MPY--X;> zNvYD~G%)RrQf1O<%KxUODpmDFs7rb%)m{fcw!5O#cuQ)PzD%ikcQ%x+gOpm;1Asq$ zEvj#wlv>`GDc~5Q)UO-|mf@|`-(CfBtWy7}3)tw#N`oeD z6bTT)EpgsSdskC?;3p^OCw0N4u2TF&rWK!Rc zQM!;>7JtVpU4ErOp4p-F+%*N7GF0(yUxmC}A*GM^J;wf_i`!y zeG?%+Hdp%Za-prgt_*n8o1*Fgif@%rh@CqX-%$HyDARltzcXFH*mGsjYI3XP!}PU==F+M@F2f-=gLR=|Ij zGHMQ`+oLNhW5b(6PLEN>UMB6BB9wqXK48`QC=(lbL;0_`GR0p07Ua@_%9J_uhi`|K zX&YVxS~Ulq{Tv+7#G*Wup-eB+6>>pEC2-ImD2*#A_TOcIl(ovtE_A2GiYPN9$t$Ma zRc5)xfstvL)4w3(*SpHx;>1fUm3jNpp=Ks2p{K~6)Ge#n7q2V}wdq}D$>g7qW0RGo zCgo?nt1C-C#({g@QdSkt1O98hvi5(TP-je6*4d9k{%@(WVN^e8wpmJ4-e-{hkxJB# zFW^mgE1Qmk)1513S z9BK82GN<`UT)jvr51f^_mT6FrqrQPS0B&{jr_~}ZrQXMRAfRgM>LYaS` zlI#}^);v&2{^3LZf8J{)rNRNQcsC_we;~x8<;vY{e<5l%Qtk~~4z>4E)x zDk^7GTQrsTTF+Cn^>zdQ-%!>0>@h0soKv%(r1)Q{Szpc3V+z!xh1Hyszd)VeNX@&R zoXCeNYJvBO5Q!OTp~V?sa*8MVs!dr&*RP^%s%QyMZutzNwY_~$=rjhF7gnp~zc_8vs zQ)@RS`*Ccx>KQ_MUnNNOq*P0}{!4A#o|ZhVoZ9qJFy#3KYO_=JuSMpuV`G zwx~*OxP580#q|uR*|w{#f^I{uk5j$6Z6W7W-J-bIM)kVq207J9Z5MhAxNt-5Sb_X| z)EkRz=~cDkd;^T{S3AvL4%GXtc3wrMe446u8_uBKTcY+1OQhe8Fgy4cVKsVs#CX86kVpb zI^$3Z-DozuYOmo;S#4R1vZkiaYWRn$9;s^ZhtH5BRCTsWU)Z*dI{OUm^~}lY?CYbT z_#RN_WYS)bIaJ5mDo`O~uBI+^rZj(T zZwGhUzp5*abOH;GwkRikQzNP=P)4*<=HnH%cd zpX%nYon!%Dsar-+S{++e-I|vwX7kFa+g!;M7rm`+TXl}I=rZc|Np-+RZgMbin1dk~ z9kg%yscv8G0aeYdZr@NI^3F1KXI6H5=eb1|7^UvINB%m#q`JqoIoS8F>OQ^_i2AGU ze{he=YXdAQqm$Lx4-`;rnyntrx{yj`)Wc&*TbjL4kF+QOOpQ>FBv8z^d6RmqczG(% z?N*N+h@<#FqMmxZbqwUyAocjs3y|AZt0#-m9_vu!D$aqZvrdgmNrsY9Lp^nvDp)sO zSd?K-YW$x_ph0i-bahg*5eL=N2Yy0nU0uE4x)JF0K)n!8H!}XFdf^rcU6_Y@X^SV6 z{hQTbIYhnc@|h}Em({CY3&2*pIJkY6diC3Whz7&dYYW^U`j1s_ zPANqe@rQadmE7*H8ftQoC(tmvn*3l2m(*^-AN5&f2Br8G^;ruloj5O2pPi%% z=e%(B*;mSZZcbERl%;t7(GT_QGH38Th17SmDAr5V)DH&bfTJ&|A8WZl{4S&ZXc-4_ zIb8kmiEiLpSM_HzvZ$r5sz2u?kcITN$i^nAKgs@+_p71)TtIt2yM_AmJmr4V52-(& zyMmv~ul|~n37Kn!`fKAeV1&2&YkNVk>sQpw=pJAbi!rpD4J~(Grt~=r)@K}J^XUQ# zoMqg)flEx>m;m)jIMX8iAwH)u?Z#8c=C_%dcn0E<%IxMHlIHRYnE55^3nwwB5X$%4 zPGL@$N$938XW0@-h>}Y&=g2_FikxLf2G{~$mc1~Q;jVOI*&mY7r4(SfBHL32G==3k zMdkW_9a#P?{?M|oV1)~xhRB_h6{e6}$h)j`p&DRLGgz4#bipCx?5zB7f2c`IScR8y zV-)9XU=Et+oK`F`>{Gz@6v@f zWOb@j40&?`t21Z{ZCw#o_wRl3CEHko;m(lD&aj5AWcwS{XARS6MVc01jWZ5I?Q6fx znkqiv^==Up-vHWbLyI)9CK3L-*xSONTn>k<7ZSYz^Ef%DU$a1=|+Kx>uwi z*Z%r1>oMdX#bz$7XI6JA_B!hwa0mR=I@Wt9X~o4T*0-!XWXeS5bC^P~OEp-(wz(i~ zmtua~NG3*mvVkk9a*|S<4K5u`zG4|0JSIPI?LRi8qY7#3%!ch%p*nwJql)f>lIIB< z)gX(mY<$^G6#r+IW#c>2opm|ECSVd+=Rs^jH!3W{nN7&L;>3FvS-k)@IhZWlj=^m5 z>{8S-NMzGb1e1|i#AfuT$mrB%He+Ey@b@9iz9uUut-|c_aghCAG5bqWzb(btO#TV# z>$7ZTfw>eVe_%5+r`VyH=UH&pogdIxaDWTg4KFr(f)ANmKQ`wD+4RV}?7zbl*Y}8G zbBC4&h96`h^C+0~3}PXn6ihbg%0h2H0IRj1tysGWO2aM|W%B^G@ z*8GW3zLsHIV_!q5HlJ-TIG@t&Ot$?@e_+E`wnq$vj4aDyBnjOgC${&WhAC=jW7j9q;Ilz8WU9cO)D6Z(>$?P|-Gy(6hizVHSr)c$m?A9ylgdmZ$S&}oal#Uw%zHv*wA0+25DB?Fiklm1fj>XUZABT?c6_)K)%`?r0?+xk3)lm9 zo_nMVlrHH!_iGAb_e|jV%MGFC(-U4`%s{B`Zt_A==OH|Q^1{`+Q2yWP6feApg2`1G z++{7f-J|imST$0=E^)lrL$Yv1p7IiuG)j9pUdp>Guq1$&T5}Fc{?)v6%O;SM%JVW* zXjc7m^D@(EC3g$Z6T|E;vMHu+wI{g z-su%>W$XjqZN4XUuKK0%?zsX>eaV=|$fNaZ6ZEdkPpbN|Zs zAkTg0V@x+F{2(8TMo{X+5$%m2J*V<<`fsQ`^YZ{FGL`c#@qm3~l7AiI0iT}$<3{s< ztX}=N=X@gh1a__!pP1AOYCt1CX)k^5dJR5#+$Hc9(R}J&A1FP79qiSBPtSjoe8fy1 zxR>IL5)Zk($UMsZit(U2o59a#oY&C4RQUv+Tt zNC&qZaxlU1K6a&{xt}DO8)xS5T0u zHtE9cE1OcYY3&fcYAp#{r7e8b@xEYf>hsmqa_5E*4{LpbVzz-6S$YqP@?=?ynwg)6 z`>%v%JmL`M?5N?Dxwn>@Xb>w)oQzrZ<)W6wx$o?vU@I+pFR23n#;k)H0IkE zoTd7}C5y^%!y^BZVNu3+<=ekz(hU{nJFAfJ_UXZQex;$5o&EW)P-;qDtqVh!iW{noOkb>0*sY-miaGq6?kZ zB^IOeAYutRA4M!p=X;41+VxK(QW$O@;KX;Ws|MC|36Tl~O)n8^P~1*Uk#+9G+I-g@ zG8Av>^WBxUK%H&y-MjkI)J!7Zv*at(X@7aNPi^4#X1;&S0AO)*9^3dfly*BT$}XWi zHohn1s^a`mfjm$v*W!m-ZJ}209)9Rt2F?FOZRSUuhJfp@`LR7|6hb|BEeGDNGLH|YSnuuCuo-&h?NZ0-j&Th_A76m}rS=yqy<^@k#PKC># z8~9zCnBtSei4;ptzRn-acn-CH1^zI$Jw)X${K+HxGhj?Ho}Sg!nqHEp_nZ#a^$LIX zUsWhW5*(cHk-z**!c=hqf4gH2*yTwMUb*hzwQBrb@(L&cMfm%z6f3%3;vYA-ffc#Q zKiSEEwZFwbU7?U}SUdjdX((8a&ir$ATEWDT{ImTf?b*0${EL>wZTwqM0OXMo{QFKC z%Zcd2|JRC4Yd|snV_{MH;gSwsndactd;ACaf6??l|J{vx`|rbeX7@QzFaG42`^d)6 z@Dgy!4H=vv&?z0N+$^}Y((yvokTbs9MUgLG!9G6~MT?H39I(15-ux)!-7&(o#e9?uu)X?qPpL!&!YO?%V00&iyE8r zP~PyL@NjueGeFIRN0=+!&}iYYuLKpT>`9{LiYN+~FIrSzkFqEddWzab;=va$7PWg% zCq58$hR_#9P8anWm4$GgB#0hiEuEbmT2^`CF#2qjdNTF z`#DTBewYlU<}T6f5AAjRSkYom1+Z{;(c-Kd#3p~yvO+iwF_jjrcfSGuT3mSDY6SK? zQFuM3A1Hf8wCzOog{GrLhv^Df4cxAun-+VVsHuMtxTehX# z@s>q4-a-DLopmm|G!gw{1F5~YLiB%gpA1laF?dNZ<^S$6V(=ESNIiEt*e5&L1~MEq zu8Coc5{$;(#PA6ue5(qJ5m|{uzw%^Uo?@gMu|}pCIpGP}_(Njk5{mW0&WVwf zFR%t5h5vlABWvr4F)iuF`ehem0x4DVcqGPdB$;tNEygXj9{@`95COfu0kay5$z>BL zy(T7xLfkDSrY2CasZ%$LvfFntJ?p$nDKTRpg<#bih~TUKkb|p=+4fpsHP(x{g(z~$ z+$H8NC;i`$Cg#yBpb}9@%-h?NeuvJ9@>YMbFpP4|HyuQXodyfkj(bH&RWItx)fOQ& z`$K%ME0yLY~u=@7g35@1ts1#(S|`C%ty6BbK+z z1mB%aEZ_WML5mqU|mZQkuweQTbPI#&>q~=*xmSp_^J2iiRS@f%&<|efF4niB95GiBv7sfY zTVfZB{7_-BIcwJBP;0T}b{(i4?5D-f8E3&y+!8w%Qb19DoY;Bk6qHYAEV624E%KAK z#Lnvlp(fuHyH=3&&-*8$vwTKevWRYWfa3Wk;y~C%sLP_n!8G!Q4f9)+%^QnDCI3M! zk}M8A7zXw3NO9;3{k=qnEms1>wtgr5l5CMl3{ru;tr6IM0^pa%4R^Z7Zvd} z10hZ=5b@nh18YMpilF)8bOz0goSq=g(RiM6hl%qv9is$)J%mx$|y$^(Br#0@VpNcUcf8y6|7 z{c%Vn=^AA9w&GS-3d0N7#jTX(P(F4ODYe@JPF*a@13yJdeX4+TJSFax*a`LK0&#CQ z8K5fCBCEJX+`DOzbNVdqCzmAspB^Dn8+$@}jS&xhDF~g@K|Bt+1^&CQcs!qazd!$q z$A^XigTuws!R?{APq!#*R}|?Qh3hRJi)XRqd~_%AJU7YCs-og$K~8P`+v26`3Lx)( zi|olo@iN>6qHinl%0~G@o5AAEQu}Mj`OU?fsc(vW|p*n%&;h){wJ|yAaHoKRD8ZbJ;kMZC6z`k z)=IXK>IQ3uNVek})OIhVI2Q-?Q-IX$)E?tEI!o>4d`h2lNh9Ss5>@BzH?Mp-87^FDbkvd~!;<$S z%i2Zh1Ft5^`aN7|_Dhou`jiDS0GZKNV~71^*%b|@o9%ciGugDvgo;MOg&c@2^Y z`wZD)#WHa7plmtH7jWt1V0C*<>wqm??BLed7G;bsTPD&QE9IAM%A5guB*-?QWH>s$ zkZnCQsL!{`w!55xw*@SU`^ROw`@O*GOqT6kHdAZHO?IuE1|@HO*{!A<(0;eb-K|__IbIKichm3F+D$4(@6x2ZW_j!}5ppt-PM9Umc}ywPs+amq=fljK*bW>Fb{c{^z#z8#)(q z#dbMxIJxngx*SxaAcV^=IXI>U?EHO0IkYVqh{HMLuth#p-+L*CXWeP1+;aFKjZEbf zIbu#1$X0LU$ZFwG*RPW!Pty;@e~_cDAEhSrMmhHGUdp2H%Ye4+!H3_F6WcZhe!P^E zEHBtfPWmz*{7XkUWg!hL@46?aNy?mhev;GlbSfmwo+GC(rkF48zO)ym03#*0v@cYF zo;l^r-;}+UxFu&r+yYWp%HVt3fy~Jk#piW$_FF31l*oSZA0+pCxIyMAB4f4olshh#u`i!Pd3IAC9ZAAhmGu93PWqzCH{|iw%c>A#&Miwd=65#Jvn83&V#`J&dak-0wQsqJiE@5dPEWO{P{%Szh3e} zwm>Lu<>ZA0RDg6FAuo-km3bW@FAt*|`6=a<vAmkHiAFZ!>@qPc zw_C+z;zw6t$^dzzHc9oNV0mK$jb@3*GN~<%)v#JJ>AwsJ_xkcyyBfgJ5Sen50+)ry zXAin4=pP!lv z_TFAdzK98gjEa}9d~QN0A@WsbYZ^eRC12A-6dUzQzHSpqC6vn!CcTueML`c|4#<3I}M z8)#0HIWbXB%T_y(=D%+yYR;ZXP~syr=L61AzRlNie0T(Pd^;_d>I3$-fmUz??dj+V zT9K9BK<@Dt15wJ2X+)>%V+IE&T;;fCue){ma^bX|a%_7Hb23Qd(dAwdR{N0^*;d z`BfyJ5bm$}Wz~-Towb4K6wo}{rr8G%rn2~@9@^k136OQ!bG`C~Iib zf|~=AS8CI~lJqVzv>8L`eYdA+Gmg6hPd8|R*=Z$;I%_kFP#QmHls0o417CMTo8^`S zQR;~{>#HlUVW>9uszDQzIkb5>O4636X$y-KgIX}jt}PtrPT}`RZDG781()-*h2P0y zP3xtF^v}wG!nBZ!^&$UD(L%1TrW9(8gEez$i@bjTUyf;up2b1(q1xh!6wiMATajJ?qKK20m6#|bYhk6SaMAR$7Pj;pIV1Zq3xxhlz9x&Vrfv2mp-IrB@`^>jdtk7H)>A3vnb|zXh&z$-&|AnAbN*=O&L;x}!Ytb5 zwXNDkbv5{pW!lA+k>J@Qv`gXs5TE8~2@A*qzFw+bPNl54Yj*AG;hj{XU8`O9t3gAj zKeQX`20%GeSW8l;&=RlHk|&2koc7Uf|E8{a)mqw}EdRfLzjn7>8hOv++5^u~lr2Bk z(yGxDbZ7c%>1Er~Qq=vZy_&a->VUJfR|~5{v^l1|x|<8)io5pe!G7Wi?F~Nwm|ZL? z!`5kU7gO}x#?&%uKLfu0Py4)tnoDmRXy4q6P`@C%_WcD#PPSz2e@k4T<{z#7_)B@i z9S`kSt^-gvRMCD#|3{Hlrj~iyo+T6yw0~7ggU@2xzaG92wIg)UcrB|}PRD54qYkxn z0-|&;L!-(96c54@fLcvx}+T$<8|k8y`bKX)N`Jq;gtd}^t?Wu zsREj;=Uo*IkupKgS1kj|firr3N^a%EX?g*B3YEuF%j$)T_Xo=(^rD}9AQIl{#kaqt z`dn4L_`dce{X=!vt(zfsRMX2;A`^WuMK4pCgsRjZy$n4>Bp>q**> zEtL~y_J91CgtA6BQ z^H1y5x{%YT^GvV)v>Qz_*VR4Fm7;Xq)N7iXq0|l5Yd6k>cvVZUvxwBSd|tiIYAU&G zTdddhq^4D&8+tvpH`G2}dObG^w^tU^Jy~ArCyvk?m!&P7R?VXDiqu=AIz!Y|?0U=c z6bx!b^j3|@&;S;d8Fwto6HD|~KJ*-4(_VV3DF>-^vQBTEvl*q^8}!!xZcw`})LUO7 z=d@nvUWsHOlV|H~tGuKE#nO8FR7&AK&euB*pbJh<*E{Zu27kI<@3hsAw4|5bDLE3d ztbLO1-7XIluLXMVo6%s?67)VbC(xkbP~GQyHyWM(t@j&#h8m5Hb-xOf^SS!z1K-aC zpD|h=)b%4(K3w!6Su1rnK_6C+>iN_1>!bRSTfXv3AGM2QqFZ0xzw&FUfE3loG+;o* zefl^?TfCx?KK>MGm%ZFWJwPKjTcwUZ;T);og_-&!LdAqky^u2~j z5lv5h@80)R*}Sjsx6#9k&Rjou!5=JNA^jjVpGDvt{YX{%ey67T(aTvk*it`gf7%&* zK?(in+l@3Z5T_q2OVV1N>&O0vL&kK{i`p1fASd@veHT9SVGdm*SLuRA#FqJAY0P1PdKLI1J3 zJ?jN!&J*heHhQgo#hnb&?{xjjU{7iwzSOVW>Pvf;XiU+xn?YSIWv{t{yVu9a=Me(kSel74k@W)BNnT>=s?SY=;b{3d0QBSHGLc-hLt|zAi zLNxzRzq4Tql;So$bw?(+t-PLA@FzWbF++b`$puR3Df*L~X;9uR&@%=^LRsEb&xp-{ z*my<%kT0Er({%mw*d5exvr7^yVnYc8B_G%mdx1n zKLO5Ad)gQ4e|FOsh7Z^O9H1cbz-#?)Y$90BN`_i94#H=q!TM4pR7iC&W4*xwTxbi{ z7(DC3>oqj^+uo3Gt{WnioRV{ULnDL6Q}!4d#ScnHX4vLE2a0xfu-bl$%9kj^sWPDWz$DmdUGx9f~81eiEqwo>hy5;wbB72VxX2NZ4`g&51GA(Q7SK8pjN~vMb8LgQ8$Zh)q0Eatfx^rh*s9? zno)Y$AkzOa%Z#!=!@=&gGs-n84NQMzly6-MYRxtl*_g>jrStUMPK<|9bv!+&YFsg@ zr;_yhl{RV($V-M~q*2?2+IJ%-8?}oW;Ggpub;fR@>Q}r`=fG^56KH36wrWW2x;=*H zS{I0AlZ=K+CPb%=M&rhT)cI5E33;@I(KPT2S}cCM(+JqXQPvcCk-YHH9DQJ)4|CIqsRF)h-$TrUbf{>7seXB635e|QaQuhi6Wyz zdkycdiI6Ub4WIe9paecQ`WLT5P3t1YfQy+>%I!CNPxObPdl`OjscXKZkwuZz&KT00 zzSm=`F~m=S64}HUGVv!hubLS{(>=+A8^%yO9k8<3trys(3}bj(4yAKRi?aJZWB4p` zyEVLx5n(;afRr;v8YInXlreJTHY%qJ2R(F)Y;}Z#JE~cfG53s-cikX6jyL>IXF~YJ z7~{GUheR3UE3Jjtz0t6bA44XwX;WkTSc+=XV~l`mw;(T!Gy;-5!S8l9rhL@EI;=OQ zKD$f8wBE4O0}AXyOT(UJLd9ES)+!tLr-K&7nYBjnRr2ex?~UMFUSO4{8neeOgOo2E zd>UuWeVjly>}Sk#rVH8d+HNd3OnH0wTL*XSG#0iiOhOcHQR?-LkO1;(#nu|3f@;7| z(~Kn>e*#0+7)#EThrI7?M3iq#<9UsZ2!C?FUiFQ&xi^wKFJY{$ydQkyH)CB7iVLEg zjSXXI7UbU|W5dZvsH@K#8-7qBBi%mRhzcb4y5@mJ5!Awn`tyvMMi-5Z9Vo2++S=Gu z*M(B5-^P}*^o;-F9mf7oo={eHHV))_3f#Y999;Sva(y%7(0fwX#Jk5ai;ZLivPDXG|mnTr=YQ_aqjXy;FGs;?qw*= z?UXbwlqZ9t1Q{3VQ&alwW#d9?N})zqG%nCTo=|e%FfK*-K$PxoT%JMh`qe4pGCg=E zJ)MlJsh$vnD;w9#hC&3V8aE0wr$lC=adUJiMa|cZn`2`jmL4{4525G3)#E3OI}y34 zQ8?1Lccna_r8=11aB#pgi}LV%<5B2yupcFir+dE89n>?PB~U@pDbjd8dJ}j?C*%2| z!IVk;FL%dH zKjYmH%2wYzwJ4JY81K#Yko|HQ??X0&=X+;-sGbHHo5T3Ts5}19Fuvc)fM~bf_;rZl zh~FiR-=UPI$J>qHhxZcy8NaVlD7VJl_}hoJtiQAImqbT43^y`IPk>swg7NR3y(QG* z=Z$~Q1(b7nP1Ggtbm*0dSdxLkr%lC)0uJv0Q$6khrR+RYJwfL^hnZQ=^l4aO^8ZZ( zt9sJZ{U{Ns6lzh8_A$+jwop5Hn@*LeLwdl?%vO;?y#D^C^YdnuKPYDQmziK663kro z>RTw=4L5VWcYzqW&MY#8z9=EaESlYbOj~3Y{X~&WJAbp7`(mnu8fNJ_0_qc2vutCE z;o3!;6}$UGmMUvjZW%~@!_B7KkxZ%)C7Ev5+EaR6)2z~pGOT$c%qr2OmQ%NwRYwkk ztbNgRPZ$WLL{HQ1(Q_G)^u)}fxLMDvsnal-@!YKGOOs3G#+#nczJdQ&-fVP*w8ZzQ zMN!JhY_ft%v^%z&&5Q|TddrzD!zc%IS#7rBb$|>%vsJYTki}1#UP?OIkKd*jRnf%a z`=-}E8p*gb)a+P=v}#OlyV=>5x>)-Qnw`s#^zVOZdN&>BW==}B# zbLfx%fsJosk-si(4twy4`h^3`kvAFC2Kmj=6*9mdUpFW2?Ll7gh&l1>B=F@W%_&Du zK`rEKPL2K_J@R$Sw3|o4?ME+|GpC=SQtLQ#7FDf91DHWk{@`^Nm_dmFq&7ij(8GdI zVxrC2W2hWI;GQ{q4TaBLKA8V)p$pm;F$J~%Hj;30&nNj!zK4l{DGx4?= zHSjzo4$sVuzw(oi&N8=T)sENQF}Hb>H;c`0Zi^zdJ+Z;uKCA**pl0qEkwC*Ixy@Zg z0-z3PVD4)0goL(|xw`?WbIV?4%xZgXs`GC(W1dW=%x9%Vx#N(zH}N*u?Gom`-ZQ~o z9y9mt?Mh|3MP{rg6&n6LGh=VjOxHBSJP<>nR?&Utk(!O6IlnTGCY`2gxQj*Z+t;Ez z?PDHe?;xT(na9fAgS>UmJl<*wS)y?BxIOD2Tax32{;?M2p}}UHH>pkT`DWa;@lcA* zH%}F(BJ)XR#^0u3v}*_RbjK{AD{P*v(UdHwpLwn}xz(ru^W2LJGBml&ORLX=jjd}Y zgt-A_hMHG@29tqmXI`hqrAYZ?UT=7cIxI&``;BJv!4@W&H*M>|b2K-TrqXC-{o`h` zYa*l>XC^P8^9C=?+aGCb9u6?m&bffK*l9k#SCSeI=glXpDMR|Y(0p2&Qmh+w%%?j^ zjpwJD>AQTuZ}%{t`6PpV>25xIcNS_)y!ql^G(?Rs^K~tn6Wm+gZoZDE|8Bx7n{Qf^ zP?%lJPae;}u3a)eJ@BQ0gB0`YUuUpk`^|4>UjwI8&7WHWp=BFw{whjaa&V{lX96{u zlikg~gZ;t2l{Nnj%Ye-L(foIoOsq>8n`jb6BVI3Ta#S3Z-Q#Wg4i_5hZD2E|3?esf ze`zzm(w&{N*-R?6BIu+oTYFNwN&9U%PLHQ&!|K>_2QkQVo7P;99-N}T=*2h+q%5Hex##St-8Eui1t@xZ}BxAK~ z#Sc&kxAGfXiKxru|I4P^T=&I6$=2CcCY?<2t8`oWT?J{$&f6;akhiP6(pGsS>2Ywp zt#WWEn3865Ti^-xUsapi5qhFA=Q~@C)LalBM%ilf^*TYKXx3E@s#hsiV% z*|55;lPjfIXII!dcWn+nbAYY$k2IjzP+K>*XsE5K*t%6sqxiqWSzF&8ltlLZXY0FS z8hNGv+4>ixO2^uvHs2kz0zDhr{KCnbX<;_MGc};Rce4##m4^zGd2K_=l8{O#+mL;f zXuP;;8*x1rJW$w170(18($Y4j;0hX4s%{(mB9XLVqHW@XK=8CBwn=Jd8uxEzo7C7& z?zDFfTX6kf5btis+9IDQsKRmMr1W{II>BgEsr7tQS6SwQWjuf-rKMgz+_ta63#$Fxuakl?Bicix`reYS7TH+Uc71?9WJ_U7D*XZMsfR74Z8|k3y=*B|{St@A+U~C?4Vf{* zc0YnFWX*6}YWZqp@OIl$mn{X&Uq;(fcYlHqm2HpA3`i8PJ)(x9FzVW#Ur2^BN!s2% z3W8Duws*bAmRFx-`|xoBc#{jZk9(nXO+37*u^ykz^9Pf%~DiS1`M zih_@vwf)>pTYRLc?N{eCYT^8HQa4bgb<|)d^=}7y{_jti6C@fiidr&* zUOMHjS&+KqgPd}A3k14<|G(Pa13s!MeILJN?u8_`q*p?QKp>$cbP$mmKzbl_U0{+- zl7VC<%uIlw5K!!jCBi{e1VPufVA~xP7Qwch@u)GjLy@Eo`?oRfoH^jiYmIT&9haoS`}tMrn!&GXw{GHEZWfB2sjbs;iZtC ze;zj$KJ_F3%uAY$h3~GHZg$J45RiCz-jd|W6>JKfCuk3d>6nfDpQRmoe-D=Jw`Bnx1_JQ z(`YO#1{VCJv9x@%qzCsI%M>u}JI!UrvW~Z5Pv(urvbwhbCe1dMQBCNfXN_f8Tj|}e zji!Ho0=VpAqv?YWCH1@+#){`gN!sCCjPuGMp2zwcD?b4Wx_$=0T z$Xesld%lFVD-_p$+l0O{?W0H*<{bx(+zYZHW?t!AY z?S12>nuU^d@<-$5N8OV4P9J0Qhi)J!<;E?`K*95WF}AedA!+Vu#;rsD0{MUFZR4+h zyH=8aDd$)H*-YckPQxUvD%H6A2Y9og4~?C_z%{FV+jwvgN;1^`#)B_H?*A4r9y)lL zB)$HG@o+DAGKKw&e-3}l+KPQec7-NxfbiY3iI#dtyiQ+Hg?uUgq2 zxY`oS7@&1OpjMpYUD=Cv^8n3Us z3C?Vd@%nw=z$|}iypapVRP?qt~ZsU_oOHxXA8lO%+F5!40 z@lEsVu+x|27(e#Lh-(IkYvUZ_#KAWa zof^i;%b%9?&u%kL{sWaym(Dkpb%_0@?lP6TW=W2#hM5kpCCMlMZR$53kmT!2%{UvR z{^;Lk{Ov%^x}GrOzh5iqyPq->K7CNqo9{J^!(hU1KQzs4fNUO{WHy^$-h+DmEHiPZ zSJM8m#!OlO)qBewW}03hNpIe0rl)|(e#ta5Zo!(L`?Hxd1Ig$ix0@YaFO$@5{mk5R z0kModXy)$dCFzsbn0e<-k+gL$n9e<*%uVl`o%AM2e`kZ4KM;<}JC~RR8Ssja{9tyQ z1TpS(u-Pn}3{BQ}n_0N&nB>^J+3bGq1Bg^kn#DVhNXkQZntlE=O_EBdnEl#Kk#u#n zIq=F@Gpx)Z1E6kyTD^dOSck`^>@R~1@&Cs>0iw^#{(ynl6?H?$QaMB`rZr8@vdq(qnpi1qcQL^?>8qK zn^frDZDL>s|de?*d2lO-j zmmH9^w|AM#*$GMd_Azt$vk3sL-!jj`S%A`gGtBeff~}d@WHxWdz|KxISLeNn`2VP4 zUNEj)Qa-lKweL^C+K%H_?ej~`i)SXm?w6Sthi-<)qnMYKWxy3{G_Uf$B&m%~^QzrA zkf7rk=DN{)CGDF+^J?R-$Y(xbUVRRLhr`dC*N!-V=sJ;K^}qkkY*8PT)EzTT*2R*v zABUM6o13qdlB2;{;M>Sx|S_Wp_+%}sDVE*Q|& zb>~b zK9gK2X=~m!pFIekT6LcJpV_a%3eGZLxB|Sg!D+sfyj{}QpJO(^UJB;xFx`CPX`tEi zBJ<5nUrO3FUz=}BPDzSeY#w-ghop9&XdbiwUs4mDR{D1^LItXoRdT1Ke{;T-m((ITCd{>*Dan%h^zD{&*PYlE zlVs)B;(6_#R>6WwNx8oHzgEHRh}&mwvAQkIm87lJR$(HJWH9Qj!ha&-S$Kt2R0eeX z!T$WJJs7fzn(+DPrTnVBS7a4!{aJE6pI~*ra+@UW-fER3y)4P2)?0l)n=h$HTC9QZ zgWE5;$2wyhmhz+7)|pE$k(Bxx>#WJ3eDiJHt+QZ!^tF4f;RALdbMd@2;)UUoBWaCQ zS_90cIM*7}15xXviZ!;XKT0T8T4PVZSgpQ?U-e~6t#NU1HXom0oxSZrNm@G5n)rT_ zq%XePnzUk=q{m%oO&x)FLD^tUeHfTfV3k$=@-a!zdd({TYz^eUI>(yXb%&(9wb7cr zZi>`S%CqKd*d%GnE!LdfaHpqsvgYo`67|)rxo-iz&bh%lCl8*HdVzJ$-;PUCzeCo! zn~^E`=VR8nZ$QyZ@LLPc!9;H8YArl69tB6+t;)JrB#G^@YHZjR;~}eNNs6R)IM1s4 z>>}X*2fUW|$~;M#zrgZsg95q9wi>GejlS}{)dc5MP6$}%9o{c#J(pQ46L(1RbIDfo zgvYTxH``hx?~xqId#wu|gFLT&*SZjgQ^{Rxt+h>%f8RycMT6ngn&YgC%CI!KH}I=` z>|^V)+kqut{iAi+H_by)Jo1Wl#ri#xw&iT=imy{8<@0e?%j^5$g#K)?*T9UgIIWEj zR!_jGIXtLr2!kY(NacbBB;CDyia9!c%e#oB%= zAliGoTid^%A!!45T6d(ti~eQ3b)z&;t&-MmjdkC^2PHXmwH129D=9x} z*2CIytocXQBRvN|EM;p~|5cJ&afP+ZgSC5XthGBENXgl~_*Eab()#D#9g?GDu(jv? z`y}b*udGMcPLSjy-&>D4AS*uN6ZqFTCA)eZeP^e&{Oe ztp`AvK95;%(?+BB?y%lTL9O?)e_8K5g_&Qz$2!n&wIsD~5?A{ce${vFunt{NENM=& z**f$_v7~&zzeW7mN)o%>tI=NCxQ{M)Q=pY%%VJ3Fl(mcUVo zKV<#*&K?9hw^~1)*e_|h%@DzVfI7mwlrk4q`GF>%Dr<@c9UtV6@4L|imeTLT#}xb?RFEW zeE(^?{l8#kZ(L}{b;dwP{l$*|2VA`7A3E9zYG285-hFmLJYu#Lx7!KGXvmNK!#2*E zBI)PuvCZ9>@$H}3=CQ9O>Brk_>$x;Zzxyw?P4~B7$FJHYOYFq@9Z+QdwUc^oM({e& zPC6HHe@(8PdbuJwF8+_5QCbXqFw4&B0M&ibN;~J16R7{KU1N7z2JY?D)h^6{czyko zUHI=Qk|X0WyJ+w+NnT~yMPpA$(zT21p35NLpT1=mA6qBsBU0>=+YlezRcH4uIs?c@ zi`}~cydl4B_kJAke2)co--ocIBVV`syMTxk^tT7h#PgS`_P|2y6I36x&*;_>{(q;V z_K-q9*8YHf=Bzy^KAUBq=~*kOuUu)Lc`@XF%|+t++BxF-=JWQ@#~_~BetUQe6p?hM zJ!$FX6baem~iBkpGhwwzn7j zt9hNIT)d_J#??lAgcXz9H>lRMRKeH#I_> z-|BDQymE)651MUnehM@HexrTM>nA1smuu|it+mTh67hh&?br-SIe)6X{URijre0`s z-0zxP`?mdku*U7|zy1Saw5iD6(c?;J%;ENquOUwDR@giDpCKtfDE7Ut4wJMy@3QYl zfT864Vm|;p0Y_rle;;y8QjNFme+=6%Nn>Z)j|{?ulYg;yf0u!{p|aWDbA22@q=5Zs zF^t0GRQu64-I6@H(0*b~M@gUfiv7d}6evA@qy41kprrqFsr_W#M!4Pg+fR*9B)NO3 z{nR2bS;Z9lnVfY1u{3_wSKlSBYubgcOZc^2+ST?mQ!bR0|GZ&8m%LwcjB5_s&&};9 zX+FvR&mHq6Y1}dUrAm;>>SMop?tDqTCCh&GlNplq-A4QM@U~Dk6-bseSB$}q`v%!{q2iz)ke>^ziV12IXwThzq@@V^hE~0YL|AfzhBTF zZv5-^&x^rRS8ca{IeRB^$rsuuYAU4m`qJk;QoD4OSu3$O>*P6a+x?|Ul1HkS8t|`6 z^0(|;(6!~=C*o34M%TGre&@)>pwC%4!8xtb-PqE6Ze~$;X|#kxhox#f@5g&CsS*wjNAJdrI4zZ(e^BYra&%vZgyA^NMFM;(NyA&%j$D@V zo|2sCj*fN-M(Z9<9jYCrk*uV%QqbNS3G`w)I$#Va*pKrYPDjVt{dkb;JUokCyGc#?O90PT;B9($2yPcheWJ4%LEZX2RqlW@ zSnGCHxvO1`bwQ`Ap`p%GDQGxu=6Giy*i`2(c9!`90S^&usjIHh9T?&)=+h!^&Um2c z<`3jlX&xt_7-J>I?3LVX(knPu_V$gM)pE}EuBknyy91Rjujs4JQ{i{{n_8~f-cykk z=KEYrW7X#=sm#$=O=j)S#b3qgj`+#N7`jiY;ghGuu8^8Q0-6lXaVD-ro?bYE!3kyp zEAh`D5oZbyo^?r8Xn~$CV_P?=I1N$^(usF^<3Fb~SsEqv#I+L7)#Ly4J@wTG*8#ZF z9q}wZANj91O2+fb-9a&{de?GKePg||+5<8LJS*HzUo|Ify=VFI<;8Wr8fW!n`p)BZ zRx}0Ofnw*(fZN%tkF(n6cQ$(KJoTQSyQ&<;)eKN zi}S{`2drCO%#&YZNkc)zlLNGlE%!cZu!W0seSlk94gyqiGK3i$lX7wOb8)(t zyDEcqO-`TJ?W}dxRXgcRnjU9=pBG=z9D{yW<>G*InI~B5tn_&UL6;Y8x$7Hz#Vu=g z=R9z5&+x9QC5>T+-&WJ~c4Mlm-IZ))iJbdD#}D3CzFm! zx76(%6`9o8Gz%AfZgG9nA@pW1xopbx!O~RlSQXmwq60rjRtu5^LE=W#@f-=`}H zUszE^d&w;K`Gd|{U$7EF1j@D4?d#I5>W?+c%AR(lol}VR-JDaGqJ0_(ak!I@DgYJf zLcc_WqG+E*r}XJ;@C7_vM;7|s^)zc=b#(w-+>&&%L#XI{`RaU@{DhXyj_%h?wr;r` zC!1_Ri(D9bXtSIb&-U$?dnUw>_IZPTUtOKs&#t^n?i%|34*9%dXIvQs%EyNk2oEYU zw51rDm-V_?&uMvUfz>ZwikHS?^g+yr#xLZLmd?!?)+zPC-Kn6gcw&eY&t8}ZN*e2XDJkW2d3LP~B}AicmZGkQ`c%YI9_y-dJ16_#%EiZzZLF(vjwjvh?BSf+ zi0hE}vN~52x7pS7rH6m%@>V&0^tJFp$ORN%z)th~&N{cZ28J4b2fmE2^uq(Jb~U4? zpr_v5)48nHQ(5bV59x%D5~zh;bNh>(EIR{BCEx%fHxN)ib^kE)R7UaM!sj z;qExY4Tsw;#tdjSBZFe_&hntk9~=_TFL<_@kD|)st#P`9A0h?|U&0TM1Km^O;vU9T z=kwNJguz;um(PMvv8S`LF-S&_KkFt!w0iCL>CsFCiKjl=j{DEjBR)(I=O3U4E!qrn zov@NUB1^ff)(2OTdsM}6Q)=K;Mn*)$srLKonUyGKG{*)}%T@(CcCjyiprWIg^zr+hqyeD6k(C!5uu=QeVrmHC}-#wej zQZ~RaJ>JjJF@rpkdc+07xfB5qloY#nxzdg4TeVD9=9C@SvP@r9Ky4yufL7y{KI(Ix zJ>A{QB?iD_0k-=MB|Dd*0tA{t2tI}ARj#0mln100f3k&N$Qhw&U&ld zvvmwtvL_T_3KJMJVq_{C!-j>te4)QZBYAh|>0}?nLt!sXS30wC1==vRn>36KEYPL` z@h<@lheaNVUY*hmbV|_{IqB4Sq-k>H$sUV{-yez9;c65}eWOJEi1Tk$Zwd$8S>;0{ z;q?U}W}ZN>cxc5W|F9Xgr29OJ-3Yu~VD1_O@W57}dj0MOia$jrnBM)^mc;97iT-t*xn*7&PXVAFZDn(jrUgj#0zg#Dr1L~!CkH4R3%0g zU6Siei+whn;nHZQ_Sxf0DN?O*_bS6bqSqej5}Z^1w0M`l(`u;k(YM44p^jC`XEO7z z!icxLDeLSxx00NcI2mvXsg$S;@+rktE7xbV2XQctR&6@U#+QoLM&yTMBk~p^F&+6& zUtmz=f4Ew`mQq&R6aZwy&A!`T?WznijCp+F)YlOP`jK7Nec-Kq(z z-0k;Z)ZWJW3b#MpMpKP4((Ku~4YpvVlGzQTp9vp+RCL+WW|og4KSNBoO(P)ftW!xl zD?-}-&R-?UQVfmY0R%14F5+gvBEcOBQ-wWPp=9=;)gUD#RzdirF%CAuuf(VldZb2K z(4Ia1px(80%zV~T#Tm+OP;OKg3p||i@Kgz%AbJTECnz|X4|_c5FarT3NflI@ zR2v;^W*BRnJic^15G22^v8EQNoj=HiEmb;(9t9gYs=+zM7j&@~UsiHLGVZl^$j7D0?C@GW#U`$<;l4G2yp`-wS2c@O{iG(c zuJ6VvZa(YytvcXOr&8qCkq=Z!%7mQW5?l zB?K>@9X`v^J)eJfDu6@53Mu+ZGHUGdzp8odgoX35YYC>Da~Q)ZTdOCqvLBUHG6YjF z1TUpkIh2kYQ=H^2d`gujD3?qFqc5&1I9+;|OFvabZm1$ssxrk+mn^Xq)R z2B3}HDpc0`rjowopqz^kwlI7t3_%#0Eyh}LAQRRZhT0QY4Ac&tRKPuiFI@w_9fDB> zTLc%LB_2^SL!A#OO{3WgC-iiAk)92*k%g;oSu#JPrT2w#?4~?DE~OJ-U^ls1?s`H1 z2|;3?I@Q9^O`X*F)7oW26rdH^>TE|U+xdkO7avznzMXSq+4#_5zq-DC+$=mose?L} z)Qp%Y>ura@5@$Pfw&O)dBHMdCAdyYysj0agW;FV}L5@F;_cp-2EBDmEA#slK`2z4Y zmZ@2xrRS;Z<#rPQ@0LjY*p)460h=O2b?;rTB3!>h&CE#eQ__!ugJrIzITeCkI}A4X#R0u!*@YQ9FcAtX4P2 zC*8~8H&SNgw*;kHw&qGTmz6*5NM`Z3Xa+006mv`XTrt>Rdh5yT(H?U01mWYw0#~w; zg&a$5tL%zmv8Obf;8GqLa*hjg zsF;tO-E@VzHo+P8=^!V})yT`=HMIEo9Q0$~#BQ6z{bhe2-2ajZZiz`r+kDM#p5S4aLv8*<1S zTN1bCu=5_#GP|{6F}z%bF%VoKU_bJt>)>Kg_U69Z)fCpe#G$ub^GIqbIS)d2HgFg) zrof8e**IPGq>xBZ!YoNjgFE}2Pcb4SI|Q44ex>@NqDXz&i)SinNdyIv`WDmxz1Y^p zdRlVQ4EJ)Nm=Y;-wwfe2za{THX_Tg$ZGj#t3wOChsOQp>9rjo@rAC=p) zLzZl|YMuH7C@@6%gy?2v3h&}b7-nq3Y9&s~lO~%dYKh&P0sqSpo3^~p+ z$z-)@Ad?;byPn57X2=O_%*|?Q==qyfuZ+Cnh%cb~Pxf;paHVBiLTR1t@>eYb_CbAT zo&u>`<}8o5sm>XO(ZwTY-l8s%GugBw_@`mH3g=dE0fpXy(6zUy?`F$A*;DV~pPx4< z@o6Ii0mQYZq*7R?-D+B>{t-2ARC6{mr!fmeDk0*A$GjY4G*{?orOxMXhxBHLNk9TB zn_>X}X!<7X!OAM0=*fkZnyLwF8WCnu%F@k2N6`^0*{*6sqdc8Fx)#b8(KoP$Wq+(c zcKj^0cYe;PBN_|9q4j{yW@}0uy%GqUgDHmp>1DovBWqA%*osBbCYs;>Yz>aYLK)%3 z8i#{@JdETZ;D{?W%X#F5(Nlu&e>D`kO5P?WIwid^wfxIUUpSa zC8J+HqB}}1=5s8#9Hb+lG=kM0!zW=DD33?B)GGyAUc95Az==2NrG6lGKAsUNrwE)F z%`>pWx2kDr)JTLXBEf(#nw=M~b!sLgm;!hThXddXa%m~*_w!z3+3p)gat&VxCq$$+ zdHRmjJ2|<|{DMCDa9jLtR~6*}@l>Fg11*t+a(;ck#(aDebOTg@URVZ41(?#=&}!D@N2 zGNt7i@4S$=y<=bEIfE(5&B+q+6G^QRv`axY>3#Z4s+mYClB4`?lua`W`Zy^qRux9M z!iWX@oTNNQ)~vx`eu~uzdnVMJw5VwG*E)`f1fGa?kb(|K0tAQ#{SFU@x2=t!!Lt&l zk};JmR;1xVf&nmUp{gk=Apf_nRgMqo_(*dcZ1o^p4>M3$&=*7ty6TErw?Cp$?>w58 zo!UEXBGF;CYO@yB6{`i{4+hB-sH9a0(?jdR$9(uYC8HoZvS=I0v2g*Qj36*3y z(%Q$XV?j(ZE`Bz=o1>cw?q#);wSpWnNdYjp$U6~plVrO{P}ssUB_o0CX*g(LhYd%D z3IemO*Fe<1|2zD^AzgL+@-IC?ru8u1rIs2|KM+N3xOXrNy%QA#B;(}Yi|C6ugx(_I zqu7K5L$p!Jv%Vy%kui>j(>fFFl|X=oabc#2E|)ADEfa-`B->&_5#UIE1CCjJG2F3( zm&@4+0+r&z$QpXcX)OcySZuvVPqibUSJ+6OGD~*tLL}Gz)5p<~b-zQ8Z@GV8dap=M zIPzvb;$iYDzX0cu%AhqD$qoYc)|`(Zt$$Y-w#Sz!dClDrXo|2_Ko2XVZZW@4URVkT z7f690p)taD@EDLLjy~~H7lZ{~5?enU!pd6MeSszcF50%;l+sPir3VN5+`F>Put0-&9Z4G5>){26*5 zK}NNwrqM47TA)DOq9mv4lxg(j@eGQBno;CJFOq^geSE~k_(H@=4ctZJ#+iyBL`DN7 zq1W@r)Hej1pc#dad}>QTE_g%T#zzp0Zg`(yQ51Y_?d!-2m3DFrQ|!{PrR60x5RNq| zN&!26mYkiQHc1rGIH{}#irMQ4)P_YebU|mwBdRu#hv3)r)zjFZ4`hqIFhO1K3vHhJL9YXyJ9oM9(1A#^R zCV{0snV^`=p{qHAQUtxu=4B6XdEib2NOz~hy@8nkn^f_eWiE;*1Kh`$FPh11j;L!V zcYLWFK!ip#zG}E}yR_4@wp-&7fS)uTTE;wq~8aED?;C zxP_L4iuy{R5e4!q?w-CJodF=C{wKT`;SayR6s<=SC%9xnWNMt*;uF;D*`WPs)QwC6 zQ^bnha;Li&`}|cEzU9u*Qzw=7ah}GDt(LrXKYyf~7(#zaH+}zPH)XA7lN_DMRB5_2 z76xV#!vs5zakiPu)aheqPWqGm42|>?V~CUlHD^ey;XlO_V%Y6EJ+v z15p{s0p9BprJY#rKRM*mNFT8wZ_qWX{MS0lZrjnHnoAuJ$$b~;S?r$Yl{nT=CAVX% zCP85M)cR3L0+%1^yQT1PV`A4>U!tEVp!erEEUYziA?1yRnl~sJtt}1$H2D*99@a}~ zEJ~wuM8at?*Wcv7v|W+RNGG%&e~L`Mq6VldQF7T@Gq=6_D{5c{ocX942!Hs~YT$H+ zo;(YKAp~8xU|^FdAEwXp_=6}OM2Ybqopb2Xvm6tqvL9}7WNVIbE{~TLU*#wWWFr#80zeIl|;5~oUW@tYT2Pr@q>@Y?u8S$rxD=xoQw37!kF79 z4IJ%jtgGUV9?Uf&BT6s^x#0jYChkzP(u>KW$Io!pj0G+YPmEjfDz@ZFIU|We8R2Go zco9$~>(dD`c43^7Y?G@@$qd4akq={s6fM03Wyye2tKskQK7!$V#z-LFf#CSkQ~P2s z^w2KvHUaOS(hp2g#2F^TM18o}>Nq8>?38Y!q|YB8?wWktU+?|bCc3EQ=0Ju@?)27o zffx+DM$McZD@mrL1_2Y~xioM&ArG71i*{T%9U*kAQ>vE*sZqVs05_Ww_|9r11P~gB z#`e_ax0he}zb*N-X$1rrO)C}85?=$$C47kbUtmpfQ)YxqeKM8 z=4a?xq3!*(Vx{N_Ao`2K3_xL0C35q^*QDr;VlFq3P9$X5wJ$m{m>tB?qqtod=BP*n z9?9=`nQNXSEw?tDg`^mo9;V4rC`O-)*p!1>Z+6WwEpE=d@VsgfWRQ$j`J0@D9?BRL z0d(al1F(8Mci*DO$1(_XA<7n7KNYSaa`Tjmvyly-uBC-u8mOJAn0s5#kR2ST<+Ao~ z0+Ii}oyy#ET2*Ibz{E1)LH)|4{`_3bGqj1Cd_9|bj-!Ar=nSwm=>)XhhB=r?VPDy9 z*?mtgTRlZh9vp**hlnAGAc)cdB_bO@A&A$Fe3GlqMRi4p8bN$^`3WtL&FhB^4dl2F7zI0B3ViyxrpbfcI)l8KE$@kx;~JMaO@+&xR#;c;3@ z)^pJoXlDfl?jo`7W_f*4lG}F=IPAY0v?Nyi6}0UpSx;oEhH2RxcZ(%|2w)&n(Fist zERL8oM!uQU^$@YQpES;WJm3nr4#VHFBr~RAFC#2vIxGSJT88BX<;= z$mYqa&g>Ifd-g=5oXkVCR+NLR39uuQ;rjhaE*6u7kqjVhxeODltR<)~JWmqJ)8|Te z!;|zCp;DjL19q1E}+P@j_L(g3Z4Y&S94;wd{7JvQXHvex#Z{j_rh{^|QnGY2DciyOegUYLJ#WKH1E$Tq4-0YUKw2YzAfv8rtKTrFeT>{1S5kQ9P1{oIal z{(;7*1b|Itu9Sy&@!d1{K-HN5umO0ZY?a8=;De1PIssP0XSVtoEsHh8>yFTX`PvFO zX*(aZfIg^L*~^ZO!V}Q8saeEa0bV;o)x}iQO$-1UvHPxvQSrV7qln_stF`!X<4gT66!AvlK*98Y z^r%D?7!{J99&e+Y=N^bcu4)VzI)TdA=rbt*3bB~;H7yO!kgGvUIfDp6M4}oFAN~@1 z1c^~1b%1o2ko!nBwv6OoYGPm40Xp9B8ANE|dRVrD-vLi`)TxpO0*pMGA*tgB%#Y#Hm@JDb)AOP*aD{Tl< z=heh*7zTr+adV~*^;n|ymM6(`TItSm42;659w>5btt$(`uRO7jm8XTEr|2)*Z$%*z zd}7kL?7*9jT-LpZoKT7{W9pY4C7ZSg_fAv3*hMiD>nXNfQb_`tMUq1wD=vqtyKOSO zL~Xqzxu1)dI>d5rWQAhQ(ilW;g2Z!-G!6eYv8~t3DV)2+_7M_45=RRFvTVZLL@96(Qju3)ILfI)otb z^*~$U*augVLLo@iT%Cywp|}%yyPcp+fMtK^$YV?9Xa%WUif8gQZ?iCY?C5mW!TvD| zrB*%DWqSh-ylMBlRBui3D?ss*7{&RX0nmz4gmM101t8k< zg8pui=tV@~zf1U3=KUNNzQM1pYTvCtm}fayTg3hZ1C?;0Agx2ZLs2+{fK8q!XJloL zS>AxrlmPUtb2We;%3bvh*wq*ay|Y4lHNIdIuhkNvJK0sTuc*G|D;CkB?v{}oQrLHE zwM^QUZIeieB_+2d!1jNl74;K_hKvt(FGuahkh5X;hd6~h$aPR8Z4Up5oqv&*=_np|)MOsR%_t1S8 zY4LLN{cwOqMpNi>VQ;C#Kc?bxLNDsvEiW zjdDq!-|J0y6(Rs)eO}UXer;kEm=r1R|247hgMPIuWMKdJym()+d5!w*dG-FC&Q6Z z7oLSfbkqk(q5G>q2&i7vZW|7@eJ7bYpTct`vL3&n0ei|gb;*qvenK?R2?InTcO4GW z+5jAUTNv%rf>H}dM5nyN=F55)?Hls5$VbS)u6@!SqF9GyNrXP+U$v@C=CTtDxq&(+ z%4r%^Hw4&9OU{V<1e{C~>fy)++r2@axZ!FoVcG)BCg%CLcxf<=3={L!)YOH;0Uo@N zj$YJQ-@vV-N9>S`L^Ty|B=-phhGTQJ)+sc8o%XP-t>&}H+azbPD>~=~av39P)C|6F znsj1Bz9RL0Bx!_tc%)CD6@5a}r|mU4pU0Ppb35ONPxxcueKJSd#_<%juS@ z4qLKBQ8R#2!fD&j@UayuwS-Rppt12zh%l6hh;6!>y$x8nCY=PQ)*D;=}u zpOlQAvH5pt(;4?#E9u0Pa97x1$vT~-rR6sK&)!OYr8i7dV5C9;k}8bSiB0p%DP6jr z-hY%oh{1^vd;}ro8ZA!M-luW29D4aoW)9FZ!!s1BoJ<2)y5-)N)AC|$EQn1#)B1>l zWWn0GWK+mhj7di85M<}SwcPO&F+3UuNn^A!m$<@%!ZWyqC{+l;%spFQ9wryB=HSAC+v?6{cxQor{>EO;Q5iMBzqwC43l`!iV$E$ zJ0zwpl2cgkryP!!;};|{xdgsP@6C>uBQIxXQB)%Ig^)UO_350C6)kIg1;b;DOodTG zCTZzU32pJs7~UZXiU@$odvdd#x9S<)sKLnoeqs1&frJpZ9_5SJx7>W$Bmlq8N*pVL z=oVU|7PgaiI{21x)e;Vf#o9%VrT~;eKtNf{t`3>W*o{t7S7ZN`&@j)IigJpL4`XTN!#F*npQ2g8f&D*l|D@5j(}!` ze!5+|ip~q#rRha2*X(j|2Z;T2rXy}Vk%E|kj8H2Vh~J5+qJl}}5uD}#!2}B52M`}S z3b6=Xx>Nf~O&J2LH3F=Q2*uAj^#JDT_NlqHJvjm#^5QHGuZNaB0LzW~Cm{zSi#voX zVIb&a6%TV_l13m>2<%-H>A9oQwrsM?i%jnj+JEN+7xr_dw(uGg_8O4UaAOA)6g4VOg940axBLx0-xuxVWVU-W{BqA`5P9L_+IUM2wk$c3 z#(K+g`S8)1YY~=<#}*$y;z*t;pvs7v4qHmT$h1F& zy!eqQU(XEQ*1@@r9f$SZcM_!bC(W_|vW_J%`V#7@qUN3-`vI8s|y zKOB$4k>c1bz2rFd_#EtI_;4IR(5v4@=EpHt9){=o>{4_2p;A?ILF*F>v;?+cu6zbt zT?yTET~s&84y(I2ZH<><^RlW=GW9ZEHo+*{%Ys-3x7&D$`0l%CT8?+c3>3131}-_e$&v;D~O^=xZOMAQ+hSWgrn zCE^75Nbtx4(CmA^(Z15;%h{@*wN7lCDt8zpa9x6qMIm+UupjcFd2oV7C&MDpd2$%Q z4lVMLG`4A*8ecr997|kMOU@bscGM(w4WHy8Tx|IFAf_u2@Kt&sO6;qTv<{)2-)s9- zc`Xg2V8b#H!&j|aEbnKi)x!G~BeI7nGs@*%y2W}S{~}t@K&lJ-rw9+OWG829>7kWB z;|HYW;IFoglj=qaZXxGM#O*PHb#L1TSF7Qa{OR3xy%RL)qx0D0p13a0Qv zrG}k)2oBlBQyo^+JPeNs|48aYDBsFPY!yQWDQuHSBhcI^`V?hG{7ptfe~1{XF&YME>|Jei{ec z@`9ETDvQ%w;@Gw;3}{`$&hg zd&g+$1+?2Q`Y`$wDt`tzS^zl2^TITA5zOD#8szXcdpaXVAq1mPC=b{a_PU9oXx9(P zl0XC^SqE|-$cb#_b~9%cqLhVObVsLFv&Wmi4FW;&MYW|=dP3ES<~gvZl5LT z@u3HD^bPG!srl2zhC;SV*Rw<8JL}~#PH~vb4*jBaWhXW{u$@t`zY_(j@Z8x8e+OQ^ zxr_d8oVo|KwGAJ`TCDD+4`c~8e(x*>%T}`70y&4h@UbJGJ^V3z@=>g)7>E_vqQMs` zE7p7J*moBNZ`qG-Jk7UZ-!NZIW#0xIi7n6H18@$7L4`5h)t%}DPW78f>-$J?aV6F6 zQV(ROT`X8W$w#q<1eHh-W#Fp0R9GI->b=MoEvJ+9m6A26!%Ul%D2{x*h4^ zj-6v@cOT^~$D+02Aq;yrH^F~#hyhH zA~*I*la>mU$#nwD5RCIEfkt}z-FrKrZ>Dvm6WF8UB0Fc>yc!xXLN8NCX16}e1WgDt!5ysVbmB*&&_R>|(Fn}h_&nL| zZ7lOOG&Y1*kJhKlIYP>C9yxz6h>8YlJkVp&g;u0DbT-@In(27&^ zcEm)Sy1$?6EG!R^O3^pfbC+2T+>$(#-t1}FhawgPT; z^%%W#=%rHqZ7tO`KRoeA0TuLU*L7>Ci4NHsM`=!cNAT zjwEe~)~Pxw`}(vxI7}Ver?2SyyE*!t_9;Dqsu98`f#2A*zzvYB+PO2M4%#R=@&<)m+@{sQ~Gynu@hwtY4gRHtHFL9VSNNJ`9^ysHcr3 zT#)>6;vmIz>-($FT^>e)Cn1BDgPjc^4-exddL)5KbrzuxCX88k=w3;KlQMqO=}kdDcRcNDPZ3-okd6ppj| zE`g13oUiv(pO$8@RS#qC6h(R2F9(%QDO8j|{u~*4^7{!yb@ouxfU}ZBlHsPvhFDW< zDJPCkXEGlg;aOz$Yu6O_+eDRi>(lm!pCnM)Dxffx-a5&2uKYNDX#hzWRC#VmFXI9B)#z!q8ND+HQcfnxn zkqJkqi+jS6q&f{6zwpq0XYR<3;h-l9_YSwb@nK$h`RS8{q2ePaJNrjwD9Yb3|L_Fa zzU6vasQ3B$4%wL)b_ycW7n22z|K0;za=D(GQr1>Nu^ukAwB)})FO4(LhGR_{mWwMpa~;J0!limPJMRiTK0lvMP9j~7#piB0`RL*G4b(a- z(B9T7^t7Z|tsB8gxLMLRy$3TtM_I#FOA!=OYhAmBTZ>Yenmnz=5L!Gc<6OL{(qc>~ zwlCQ+b+N07Q;h|mRBPDxSLu7?Ad6e4pUKj<>F^I8R@<|xb$V*&US%j4c6os^A*>K5 ze__~d`VFyldYmI;7>_Dw7hq&h16Swln#&RAe)4xEIW1$ln~XTc5@1|_y%bTf`?l&C zp)J?xii|yVYp&Nb)B?yRe{1eioOexQ8Agx+)v5zGZsY$VJVF5|wOD}s4R4f4Q5Yx^ z)z+vMSX^ApnTZ{1(I>N`h?GO$w&-ss$oa7YU*I^N>f#&WgI{=9z-bkF;THXSId4>} zO7dvYHLVmc#;#+-DR;d8M&0fVR}0UU;+sfifzTtQ*iL;qk^OR1iPv(GvI?@YX1$j= zhrb#AU4xdR5BDN8egJVM5rf(Y|B6G@GGq$8mi9656PWm~8PF#_{CWTPzhe-|x3gS=%K2My-^zxzQ0Hgcn$o;L$bPmVNEJmzIas|Q%pje0Jduv3ojOCB95esWh}dT7yR z{ehRKh*T+ggXDCyX(PHK-RVadh&v+*2%rlQMkO9a(S7)588`{^R{w#H`KbBXZj=5n z5ouBv{DHRPqLbo3J5l$CJBZHs%s)J1ue0qBQSfzRPjA&h z#CqMTcW{Ezq+diDiKKu`kZ=&VIbsboPzzn49sKY$`dQFEL5l28zIR4Zt&h#!bac-z{RN3Sb3Vji% z@zP>;c#GaSX%1J8;)Fg59T6U_!^WZJImq@W=i%HJ>_E!N<_++(txs!(OkC*tJM?S? zXAdUc1uY4cwP6`T`P<;&<>bs12cXb_OMW`=5a1-R}$Fpqgve9p40hO8nixo#`H<~kH2WR@# zHda@I(YTldLObr&|K`ZXZ&BbeZ0&0$2pV_tS?~K`SI+sn{h+#7O~v|nRI6D zcI28AfzTNYWP@C6-`!dYymNj+E<2Q@r!`+Sk{`NWK?rHvGutBR9_)7v07MnXBl-M@ zfU(1dm;%*U{Ny$|o*Pw{^?d2bpn34K3t@l)&LEYt)ik2A4P_vZ3@mY=v9gl>L_UeR z>rf-mC8XzSpZ*p}*r5+Vq3xIH>D|JC1($p}QL`9db^22NR9KRs8L)r*-Q(prp6VzZf$M zzZ~Tj-e1DJ7{j*Qw=YdTw&7ib$oCFKB$2Wk728)l>VSy@a2|eL94Q87!#)V&KHf^s zm$6nL0<_ZPniE3Sw!L(=^>ar$On3MZ*5_@dv)sT|PjI9qh>)BEb*v=bG0+oLMGMfs zTi|NZ;d2fb5)eHwA0Ne;m9eM5$v8_0)nOo3xCzplZPu+g1mZoWCJX_zMTiqs5Z^ag z&v6MPq!*?{XZq1k&=g4hqNB delta 25636 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𝔪H0y3Rh{&Vc8YBSqh90c;& zD7NK72xx5r*fzA9rK)^ZfKIDC={DQZ7PDaY0@%)wVt`KV+3q$tF_&N)+xr^B;O!FG z{`ro0oMs9u^mha0^LecBavVsVZnC0D$m;_#E6P2Ao60(N#Bvk#o)6fOkqgnde9n%B z${?8{+0hXZpgCM)$LnT;lEdv#`y=zeu=EqG=wyfbkhSc1#1xR%+fJ}kHH$&T#c(bL zNi!>eU5Fk8%BWx1g@=8xF8DONl#aop+;UdxhGJOr2RoEvYqBdoDEIe%W>-U_KzAF; zuGN*$*<8-9ZAk^CZy>w=U>QK!@9f5#?WkxjvRgy;gS@W^yEVEMD5h!bP60}XjsL~& z2Bd+~>@d5(1XbgiKUul;6t00BR#8|ThIeI87NC*(&2jeXELt|9gV^f~6gQv!?Dg8d z=o#IyL#;stdpo!#8mG(Hp9xPu4GU&}eT}Z$yDO|Jekj(M6<9zwiB+eE0|#< zSb!&{C^Y9oOgaDKwB((0EY2+_CVoc2py5kA3j(LT@hRxGpS;z&-GACZVUzy5VKT|#Vmj{$BqWNLv ztSl0aDz9{rb6WA&xzBkei07SGwu|Q%6syGbQYA?oC{+&C$%$L=FY#xkqIVK%AjZsd z=4A}z^Si3<;vahN8+K314+G!&0_-L&RG2{!a*j;3F(3-U8O($s6#ABP* z-9e1Y()?v{ZLx;b^=t?6y}$lc5x)oMCP{d<(k~ezAw*xG3#TxBE#+Q4b)Apwt1smf`spjgul@B> zl|LG+Ulupb`VB=)9;SEwOwjTAQ%zi*q8BS7X@=fb62oTdCSAnL(=#-2Y@wdx$oH($ z2Z)z>I->P#jUJ=&`#?VOrCvI*bC44-<=|L7y^?-shfMHo+XG3qw@-yrq|&b{Nz$uYyn zg(b#}NvZDcAB}7Csmv&D76{*?4_mB_>y6Qrlg}e^!tJF@K|}bWMq|eErI9^-vXQ)DR%xh~&A-tEn@)_THQ}SrlGAuFKG%7JU z&SbITBu1H2Es0i~Rh+4B3QjfLY#n1BX$mogThi0hP2XCECYzHps>jRbCj-^`JjKPR z<<${MWrh)mW6Ix{Irbi&n4B6jCN;&59l4EKJOhdOmio4{)Ljsi+9zOWEngJ=*h}#e+=8JPqHOG z9x?wfV}{1ztm2Ts;{%o2^-YP%BgTvxUCp@EWOGbHifODRF3n^fhHOnUC&zxmHD}Fy zFY(UR=pu8yxoYAIY8ocq&{eI)ojeRLan-{p)AtW-kyZ6K>d5@3 z?~IOu4>E3O;&`l)t@3P(af}y^GBUX-(dc9}L@_`j^Q1?Li8uR7a&%$6<3`5Cq{hXX zVv^0NaVflGqETNQPc~L6b-%`Sm=2@u%chz+vDM5$V*0{Yyt%*O(JjM%6M&yFcHWtx uF*fi6|Gzot+ckYOvJkuX{pu6B8mIV~%vQV)_%tHkbC+}+Ga=m=C;bPyG$Y{v diff --git a/res/translations/mixxx_es_419.ts b/res/translations/mixxx_es_419.ts index 3bc4ea462a2c..30340cd07b0c 100644 --- a/res/translations/mixxx_es_419.ts +++ b/res/translations/mixxx_es_419.ts @@ -26,17 +26,17 @@ Enable Auto DJ - + Activar Auto DJ Disable Auto DJ - + Desactivar Auto DJ Clear Auto DJ Queue - + Limpiar la cola de Auto DJ @@ -51,17 +51,17 @@ Confirmation Clear - + Confirmación limpiada Do you really want to remove all tracks from the Auto DJ queue? - + Realmente quieres eliminar todas las pistas de la cola de Auto DJ? This can not be undone. - + ¡Esto no puede ser revertido! @@ -149,7 +149,7 @@ BasePlaylistFeature - + New Playlist Nueva lista de reproducción @@ -160,7 +160,7 @@ - + Create New Playlist Crear nueva lista de reproducción @@ -190,113 +190,120 @@ Duplicar - - + + Import Playlist Importar Lista de Reproducción - + Export Track Files Exportar pistas de audio - + Analyze entire Playlist Analizar toda la lista de reproducción - + Enter new name for playlist: Escriba un nuevo nombre para la lista de reproducción: - + Duplicate Playlist Duplicar lista de reproducción - - + + Enter name for new playlist: Escriba un nombre para la nueva lista de reproducción: - - + + Export Playlist Exportar lista de reproducción - + Add to Auto DJ Queue (replace) Añadir a la lista de DJ Automático (reemplazar). - + + + Export to Engine DJ + "Engine DJ" is a product name and must not be translated. + + + + Rename Playlist Renombrar Lista de Reproducción - - + + Renaming Playlist Failed Ha fallado el renombrado de la lista de reproducción - - - + + + A playlist by that name already exists. Una lista de reproducción ya existe con el mismo nombre - - - + + + A playlist cannot have a blank name. El nombre de una lista de reproduccion no puede estar vacío - + _copy //: Appendix to default name when duplicating a playlist Copiar - - - - - - + + + + + + Playlist Creation Failed Fallo la creación de lista de Reproducción - - + + An unknown error occurred while creating playlist: Se ha producido un error desconocido al crear la lista de reproducción: - + Confirm Deletion Confirmar Borrado - + Do you really want to delete playlist <b>%1</b>? ¿Desea realmente eliminar la lista de reproducción<b>%1</b>? - + M3U Playlist (*.m3u) Lista de reproducción M3U (*.m3u) - + M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Text CSV (*.csv);;Readable Text (*.txt) Lista de reproducción M3U (*.m3u);;Lista de reproducción M3U8 (*.m3u8);;Lista de reproducción PLS (*.pls);;Texto CSV (*.csv);;Texto legible (*.txt) @@ -304,12 +311,12 @@ BaseSqlTableModel - + # # - + Timestamp Marca de tiempo @@ -317,7 +324,7 @@ BaseTrackPlayerImpl - + Couldn't load track. No se ha podido cargar la pista. @@ -325,142 +332,142 @@ BaseTrackTableModel - + Album Album - + Album Artist Artista del Album - + Artist Artista - + Bitrate Tasa de bits - + BPM BPM - + Channels Canales - + Color Color - + Comment Comentario - + Composer Compositor - + Cover Art Portada - + Date Added Fecha de Agregado - + Last Played Última reproducción - + Duration Duración - + Type Tipo - + Genre Genero - + Grouping Agrupación - + Key Clave - + Location Ubicación - + Overview - + Resumen - + Preview Preescucha - + Rating Calificación - + ReplayGain Reproducir otra vez - + Samplerate Tasa de muestreo - + Played Reproducido - + Title Título - + Track # Pista n.º - + Year Año - + Fetching image ... Tooltip text on the cover art column shown when the cover is read from disk Recuperando imagen... @@ -609,6 +616,16 @@ "Computer" lets you navigate, view, and load tracks from folders on your hard disk and external devices. "Computadora" le permite navegar, ver y cargar pistas desde carpetas en su disco duro y dispositivos externos. + + + It shows the data from the file tags, not track data from your Mixxx library like other track views. + + + + + If you load a track file from here, it will be added to your library. + + BrowseTableModel @@ -806,7 +823,7 @@ Rescans the library when Mixxx is launched. - + Re escanea la librería cuando se inicia Mixxx @@ -856,7 +873,7 @@ trace - Arriba + Perfilar mensajes Sets the maximum file size of the mixxx.log file in bytes. Use -1 for unlimited. The default is 100 MB as 1e5 or 100000000. - + Configura el tamaño máximo del archivo mixxx.log en bytes. Usa -1 para ilimitado. Por defecto es 100 MB, como en 1e5 o 100000000. @@ -866,7 +883,7 @@ trace - Arriba + Perfilar mensajes Overrides the default application GUI style. Possible values: %1 - + Anula el estilo por defecto de la interfaz de usuario de la aplicación. Valores posibles: %1 @@ -1185,12 +1202,12 @@ trace - Arriba + Perfilar mensajes Equalizers - + Ecualizadores Vinyl Control - + Control de vinilo @@ -1983,7 +2000,7 @@ trace - Arriba + Perfilar mensajes Effects - + Efectos @@ -2463,12 +2480,12 @@ trace - Arriba + Perfilar mensajes Move Beatgrid Half a Beat - + Desplaza la cuadricula de tiempo medio pulso Adjust the beatgrid by exactly one half beat. Usable only for tracks with constant tempo. - + Ajusta la cuadrícula de tiempo en exactamente medio beat. Solo se puede usar en pistas con tempo constante. @@ -2666,13 +2683,13 @@ trace - Arriba + Perfilar mensajes Sort hotcues by position - + Ordenar hotcues por posición Sort hotcues by position (remove offsets) - + Ordenar hotcues por posición (removiendo desfases) @@ -3527,7 +3544,7 @@ trace - Arriba + Perfilar mensajes Unknown - + Desconocido @@ -3632,32 +3649,32 @@ trace - Arriba + Perfilar mensajes ControllerScriptEngineBase - + The functionality provided by this controller mapping will be disabled until the issue has been resolved. La funcionalidad provista por este mapa de controlador será desactivada hasta que el problema sea resuelto. - + You can ignore this error for this session but you may experience erratic behavior. Puedes ignorar este error durante esta sesión, pero podrías experimentar problemas impredecibles. - + Try to recover by resetting your controller. Prueba de corregirlo reseteando la controladora. - + Controller Mapping Error Error del mapa de controlador - + The mapping for your controller "%1" is not working properly. El mapa de tu controlador "%1" no funciona correctamente. - + The script code needs to be fixed. El código del script necesita ser reparado. @@ -3765,7 +3782,7 @@ trace - Arriba + Perfilar mensajes Importar cajón - + Export Crate Exportar cajón @@ -3775,7 +3792,7 @@ trace - Arriba + Perfilar mensajes Desbloquear - + An unknown error occurred while creating crate: Ocurrió un error desconocido al crear el cajón: @@ -3801,17 +3818,17 @@ trace - Arriba + Perfilar mensajes No se pudo renombrar el cajón - + Crate Creation Failed Falló la creación del cajón - + M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Text CSV (*.csv);;Readable Text (*.txt) Lista de reproducción M3U (*.m3u);;Lista de reproducción M3U8 (*.m3u8);;Lista de reproducción PLS (*.pls);;Texto CSV (*.csv);;Texto legible (*.txt) - + M3U Playlist (*.m3u) Lista de reproducción M3U (*.m3u) @@ -3937,12 +3954,12 @@ trace - Arriba + Perfilar mensajes Antiguos colaboradores - + Official Website Sitio web oficial - + Donate Donar @@ -3998,7 +4015,7 @@ trace - Arriba + Perfilar mensajes - + Analyze Analizar @@ -4043,17 +4060,17 @@ trace - Arriba + Perfilar mensajes Ejecuta el análisis de cuadrícula de tempo, clave musical y ReplayGain en las pistas seleccionadas. No genera formas de onda para las pistas seleccionadas para ahorrar espacio en disco. - + Stop Analysis Detener análisis - + Analyzing %1% %2/%3 Analizando %1% %2/%3 - + Analyzing %1/%2 Analizando %1/%2 @@ -4164,7 +4181,32 @@ Skip Silence Start Full Volume: The same as Skip Silence, but starting transitions with a centered crossfader, so that the intro starts at full volume. - + Modos de desvanecimiento de Auto DJ + +Intro completa + Outro: +Reproduce la intro completa y la outro. Usa la duración de la intro o la outro como +el tiempo de fundido cruzado, el que sea el más corto. Si no se ha marcado una intro u outro, +usa el tiempo de fundido cruzado seleccionado. + +Desvanecer al iniciar la Outro: +Inicia el fundido cruzado al inicio de la outro. Si la outro es más larga que la intro, +corta el final de la outro. Usa la duración de la intro o la outro como +el tiempo de fundido cruzado, el que sea más corto.Si no se ha marcado una intro u outro, +usa el tiempo de fundido cruzado seleccionado. + +Pista completa: +Reproduce la pista completa. Comienza el fundido cruzado desde el +número de segundos seleccionado antes del final de la pista. Un fundido cruzado negativo +agrega silencio entre las pistas. + +Saltar silencio: +Reproduce la pista completa excepto el silencio al inicio y al final. +Inicia el fundido cruzado desde el número de segundos seleccionado antes +del último sonido. + +Saltar silencio e iniciar con volumen al máximo: +Lo mismo que Saltar silencio, pero inicia la transición con el crossfader +centrado, de manera que la intro inicia con el volumen al máximo. @@ -4189,7 +4231,7 @@ crossfader, so that the intro starts at full volume. Skip Silence Start Full Volume - + Saltar silencio e iniciar con volumen al máximo @@ -4322,7 +4364,7 @@ Generalmente produce cuadrículas de mayor calidad, pero no funciona bien en pis Analyzer Settings - + Configuración del Analizador @@ -4344,7 +4386,7 @@ Generalmente produce cuadrículas de mayor calidad, pero no funciona bien en pis Re-analyze beats when settings change or beat detection data is outdated - + Re-analizar pulsaciones cuando las preferencias cambien o la información sobre pulsaciones sea obsoleta @@ -4470,37 +4512,37 @@ Generalmente produce cuadrículas de mayor calidad, pero no funciona bien en pis Si el mapeo no funciona, prueba a activar uno de los controles avanzados siguientes y prueba de nuevo. También puedes volver a detectar el control. - + Didn't get any midi messages. Please try again. No se detectó ningún mensaje MIDI. Por favor, inténtelo de nuevo. - + Unable to detect a mapping -- please try again. Be sure to only touch one control at once. No se detectó un mapeado -- Intentelo nuevamente. Asegurese de tocar sólo un control a la vez. - + Successfully mapped control: Control mapeado con éxito: - + <i>Ready to learn %1</i> <i>Preparado para asignar %1</i> - + Learning: %1. Now move a control on your controller. Aprendizaje: %1. Ahora mueva un control en su controlador. - + The selected control does not exist.<br>This likely a bug. Please report it on the Mixxx bug tracker.<br><a href='https://github.com/mixxxdj/mixxx/issues'>https://github.com/mixxxdj/mixxx/issues</a><br><br>You tried to learn: %1,%2 - + El control seleccionado no existe. <br>Esto es posiblemente un bug. Por favor repórtelo en el seguidor de bugs de Mixxx. <br><a href='https://github.com/mixxxdj/mixxx/issues'>https://github.com/mixxxdj/mixxx/issues</a><br><br> Trataste de vincular: %1,%2 - + The control you clicked in Mixxx is not learnable. This could be because you are either using an old skin and this control is no longer supported, or you clicked a control that provides visual feedback and can only be mapped to outputs like LEDs via scripts. @@ -5198,120 +5240,120 @@ associated with each key. Key palette - + Paleta de notas DlgPrefController - + Apply device settings? ¿Aplicar la configuración del dispositivo? - + Your settings must be applied before starting the learning wizard. Apply settings and continue? La configuración debe ser aplicada antes de iniciar el asistente de aprendizaje. ¿Aplicar la configuración y continuar? - + None Ningún - + %1 by %2 %1 por %2 - + Mapping has been edited Se ha editado el mapeo - + Always overwrite during this session Siempre sobreescribir durante esta sesión - + Save As Guardar como - + Overwrite Sobreescribir - + Save user mapping Guardar mapeo del usuario - + Enter the name for saving the mapping to the user folder. Ingresar el nombre del archivo de mapeo para guardarlo en la carpeta de usuario. - + Saving mapping failed Ha fallado el guardado del mapeo - + A mapping cannot have a blank name and may not contain special characters. El nombre del mapeo no puede estar en blanco, ni contener caracteres especiales. - + A mapping file with that name already exists. Ya existe un archivo de mapeo con el mismo nombre. - + Do you want to save the changes? Quieres guardar los cambios? - + Troubleshooting Solución de problemas - + <font color='#BB0000'><b>If you use this mapping your controller may not work correctly. Please select another mapping or disable the controller.</b></font><br><br>This mapping was designed for a newer Mixxx Controller Engine and cannot be used on your current Mixxx installation.<br>Your Mixxx installation has Controller Engine version %1. This mapping requires a Controller Engine version >= %2.<br><br>For more information visit the wiki page on <a href='https://mixxx.org/wiki/doku.php/controller_engine_versions'>Controller Engine Versions</a>. <font color='#BB0000'><b>Si usas este mapeo, tu controlador podría no funcionar correctamente. Por favor selecciona otro mapeo o deshabilita el controlador. </b></font><br><br>Este mapeo fue diseñado para un nuevo Motor de Controladores de Mixxx, y no puede ser usado con tu instalación actual.<br>Tu instalación de Mixxx posee la version del Motor de Controladores %1. Este mapeo requiere una versión del Motor de controladores >=%2.<br><br>Para más información visita la wiki de <a href='https://mixxx.org/wiki/doku.php/controller_engine_versions'>Versiones del Motor de Controladores</a>. - + Mapping already exists. El mapeo ya existe. - + <b>%1</b> already exists in user mapping folder.<br>Overwrite or save with a new name? <b>%1</b> ya existe en la carpeta de mapeos de usuario. <br>¿Deseas sobreescribir o guardar con otro nombre? - + Clear Input Mappings Limpiar mapeos de Entrada - + Are you sure you want to clear all input mappings? Está seguro de querer eliminar todos los mapeos de entrada? - + Clear Output Mappings Limpiar mapeos de Salida - + Are you sure you want to clear all output mappings? Está seguro de querer eliminar todos los mapeos de salida? @@ -5331,62 +5373,62 @@ Apply settings and continue? Device Info - + Información del dispositivo Physical Interface: - + Interfase física: Vendor name: - + Nombre del fabricante: Product name: - + Nombre del producto: Vendor ID - + ID del proveedor VID: - + VID: Product ID - + ID del producto PID: - + PID: Serial number: - + Número de serie: USB interface number: - + Número de interfaz USB HID Usage-Page: - + Página de uso HID HID Usage: - + Uso de HID: @@ -5464,7 +5506,7 @@ Apply settings and continue? Data protocol: - + Protocolo de datos: @@ -5474,7 +5516,7 @@ Apply settings and continue? Mapping Settings - + Configuración de mapeo @@ -5527,7 +5569,7 @@ Apply settings and continue? Controllers - + Controladores @@ -5537,7 +5579,7 @@ Apply settings and continue? Enable MIDI Through Port - + Activar puerto de MIDI Through @@ -5642,6 +5684,16 @@ Apply settings and continue? Multi-Sampling Multi-Muestreo + + + Force 3D acceleration + + + + + If checked, Mixxx will always assume 3D acceleration is available. This may lead to pour performance if only CP-backed rendering is available.. + + Start in full-screen mode @@ -6169,7 +6221,7 @@ Siempre puedes arrastrar y tirar pistas en la pantalla para clonar una plataform Export - + Exportar @@ -6200,12 +6252,12 @@ Siempre puedes arrastrar y tirar pistas en la pantalla para clonar una plataform ❯ - + ❮ - + @@ -6256,62 +6308,62 @@ Siempre puedes arrastrar y tirar pistas en la pantalla para clonar una plataform DlgPrefInterface - + The minimum size of the selected skin is bigger than your screen resolution. El tamaño mínimo de la apariencia seleccionada es mas grande que la resolucion de su pantalla. - + Allow screensaver to run Permite el salvapantallas - + Prevent screensaver from running Evita que se active el salvapantallas - + Prevent screensaver while playing Evita el salvapantallas mientras reproduce - + Disabled Desactivado - + 2x MSAA 2x MSAA - + 4x MSAA 4x MSAA - + 8x MSAA 8x MSAA - + 16x MSAA 16x MSAA - + This skin does not support color schemes Este skin no soporta esquemas de color - + Information Información - + Mixxx must be restarted before the new locale, scaling or multi-sampling settings will take effect. Mixxx debe ser reiniciado para que el nuevo ajuste de locale, escalado o multi-muestreo tenga efecto. @@ -6348,7 +6400,7 @@ y te permite ajustar su pitch para lograr mezclas armónicas. Analyzer Settings - + Configuración del Analizador @@ -6378,7 +6430,7 @@ y te permite ajustar su pitch para lograr mezclas armónicas. Key Notation - + Notación de clave musical @@ -6576,7 +6628,7 @@ y te permite ajustar su pitch para lograr mezclas armónicas. Metadata means all track details (artist, title, playcount, etc.) as well as beatgrids, hotcues, and loops. This choice only affects the Mixxx library. No files on disk will be changed or deleted. - + Metadatos significa todos los detalles de la pista (artista, titulo, cantidad de reproducciones, etc) como cuadrículas de tempo, hotcues y bucles. Este cambio solo afecta a la biblioteca de Mixxx. Ningun archivo en el disco será cambiado o eliminado. @@ -7023,7 +7075,7 @@ y te permite ajustar su pitch para lograr mezclas armónicas. Reset stem controls on track load - + Reiniciar controles de stem al cargar pista @@ -7481,173 +7533,172 @@ El objetivo de sonoridad es aproximado y asume que la preganancia de la pista y DlgPrefSound - + %1 Hz %1 Hz - + Default (long delay) Por Defecto (mas retardo) - + Experimental (no delay) Experimental (sin retardo) - + Disabled (short delay) Desactivado (poco retardo) - + Soundcard Clock Reloj de la tarjeta de sonido - + Network Clock Reloj de red - + Direct monitor (recording and broadcasting only) Monitorización directa (solo grabación y emisión en vivo) - + Disabled Desactivado - + Enabled Habilitado - + Stereo Estéreo - + Mono Mono - + To enable Realtime scheduling (currently disabled), see the %1. Para activar el Planificador en tiempo real (actualmente desactivado), mira %1. - + The %1 lists sound cards and controllers you may want to consider for using Mixxx. %1 muestra una lista de tarjetas de sonido y controladores que podrías considerar para utilizar con Mixxx - + Mixxx DJ Hardware Guide Guía de Hardware DJ de Mixxx - + Information Información - + Mixxx must be restarted before the multi-threaded RubberBand setting change will take effect. Mixxx debe ser reiniciado para que el cambio de ajuste de RubberBand multi-hilo tenga efecto. - + auto (<= 1024 frames/period) auto (<= 1024 fotogramas/período) - + 2048 frames/period 2048 fotogramas/período - + 4096 frames/period 4096 fotogramas/período - + Are you sure? ¿Estás seguro(a)? - + Distribute stereo channels into mono channels for parallel processing will result in a loss of mono compatibility and a diffuse stereo image. It is not recommended during broadcasting or recording. Distribuir los canales estéreo en canales mono para su procesamiento en paralelo podría resultar en la pérdida de la compatibilidad mono y una imagen estéreo difusa. No se recomienda al transmitir en vivo o al grabar. - + Are you sure you wish to proceed? ¿Realmente deseas continuar? - + No No - + Yes, I know what I am doing Sí, se lo que estoy haciendo - + Microphone inputs are out of time in the record & broadcast signal compared to what you hear. La entrada de micrófono está desincronizada respecto la grabación y emisión comparado con la señal que se oye. - + Measure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. Mide la latencia total e introducela en la Compensacion de latencia del micrófono para sincronizar el micrófono. - - + Refer to the Mixxx User Manual for details. Para más detalles, lea el manual de usuario de Mixxx. - + Configured latency has changed. La latencia configurada ha cambiado. - + Remeasure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. Vuelve a medir la latencia total e introducela en la Compensacion de latencia del micrófono para sincronizar el micrófono. - + Realtime scheduling is enabled. La planificación en Tiempo Real está activada. - + Main output only Solo Salida principal - + Main and booth outputs Salidas principal y de cabina - + %1 ms %1 ms - + Configuration error Error de configuración @@ -7662,134 +7713,134 @@ El objetivo de sonoridad es aproximado y asume que la preganancia de la pista y Sound API - + API de sonido - + Sample Rate Tasa de muestreo - + Audio Buffer Búfer de audio - + Engine Clock Relog del motor - + Use soundcard clock for live audience setups and lowest latency.<br>Use network clock for broadcasting without a live audience. Usa el reloj de la tarjeta de sonido para emitir a un público presente y para la menor latencia. <br>Usa el reloj de red para emitir en vivo sin un público presente. - + Main Mix Mezcla principal - + Main Output Mode Modo de Salida principal - + Microphone Monitor Mode Modo de monitorización del micrófono - + Microphone Latency Compensation Compensación de latencia del micrófono - - - - + + + + ms milliseconds ms - + 20 ms 20 ms - + Buffer Underflow Count Contador de vaciado del búfer - + 0 0 - + Keylock/Pitch-Bending Engine Bloqueo tonal/Motor de Pitch-bend - + Multi-Soundcard Synchronization Sincronización con Múltiples Tarjetas de Sonido - + Output Salida - + Input Entrada - + System Reported Latency Latencia reportada por el sistema - + Enlarge your audio buffer if the underflow counter is increasing or you hear pops during playback. Aumente su búfer de audio si el contador de desbordamiento está aumentando o escuchas chasquidos durante la reproducción. - + Main Output Delay Retardo Salida Principal - + Headphone Output Delay Retraso/delay de la Salida de auriculares - + Booth Output Delay Retraso/delay de la salida de cabina - + Dual-threaded Stereo Estéreo en doble-hilo - + Hints and Diagnostics Diagnóstico y sugerencias - + Downsize your audio buffer to improve Mixxx's responsiveness. Disminuya su búfer de audio para mejorar la velocidad de respuesta de Mixxx. - + Query Devices Consultar aparatos @@ -7843,7 +7894,7 @@ El objetivo de sonoridad es aproximado y asume que la preganancia de la pista y Turntable Input Signal Boost - + Amplificación de señal de entrada de Vinilo @@ -7947,12 +7998,12 @@ El objetivo de sonoridad es aproximado y asume que la preganancia de la pista y 1/3 of waveform viewer options for "Text height limit" - + 1/3 de visualización de forma de onda Entire waveform viewer - + Visor de forma de onda completa @@ -7985,7 +8036,7 @@ El objetivo de sonoridad es aproximado y asume que la preganancia de la pista y OpenGL Status - + Estado de OpenGL @@ -8140,12 +8191,12 @@ Elija entre los distintos tipos de visualización para la forma de onda, que se Preferred font size - + Tamaño de tipo de letra preferido Text height limit - + Límite de altura de texto @@ -8185,18 +8236,18 @@ Elija entre los distintos tipos de visualización para la forma de onda, que se Beat grid opacity - + Superar la opacidad de la rejilla Scrolling Waveforms - + Deslizar formas de onda Type - + Tipo @@ -8206,7 +8257,7 @@ Elija entre los distintos tipos de visualización para la forma de onda, que se Set amount of opacity on beat grid lines. - + Establece la cantidad de opacidad en las líneas de la cuadrícula del compás. @@ -8216,17 +8267,17 @@ Elija entre los distintos tipos de visualización para la forma de onda, que se Play marker position - + <br><div><br data-mce-bogus="1"></div> Moves the play marker position on the waveforms to the left, right or center (default). - + Mover the marcador de posición en la pista a la izquierda, derecha o centro (Defabrica). Overview Waveforms - + Visualizar formas de onda @@ -8239,17 +8290,17 @@ Elija entre los distintos tipos de visualización para la forma de onda, que se Sound Hardware - + Hardware de sonido Controllers - + Controladores Library - + Biblioteca @@ -8324,12 +8375,12 @@ Elija entre los distintos tipos de visualización para la forma de onda, que se Beat Detection - + Detección de pulsaciones Key Detection - + Detección de tonalidad @@ -8344,7 +8395,7 @@ Elija entre los distintos tipos de visualización para la forma de onda, que se Vinyl Control - + Control de vinilo @@ -8362,7 +8413,7 @@ Elija entre los distintos tipos de visualización para la forma de onda, que se Preferences - + Preferencias @@ -8909,7 +8960,7 @@ Generalmente produce cuadrículas de mayor calidad, pero no funciona bien en pis Assume constant tempo - + Asumir tempo constante @@ -9349,27 +9400,27 @@ Generalmente produce cuadrículas de mayor calidad, pero no funciona bien en pis EngineBuffer - + Soundtouch (faster) Soundtouch (rápido) - + Rubberband (better) Rubberband (mejor) - + Rubberband R3 (near-hi-fi quality) Banda elástica R3 (calidad casi alta fidelidad) - + Unknown, using Rubberband (better) Desconocido, utilizando Banda elástica (mejor) - + Unknown, using Soundtouch Desconocido, usando Soundtouch @@ -9554,12 +9605,12 @@ Generalmente produce cuadrículas de mayor calidad, pero no funciona bien en pis Change color - + Cambiar color Choose a new color - + Escoger un nuevo color @@ -9567,32 +9618,32 @@ Generalmente produce cuadrículas de mayor calidad, pero no funciona bien en pis Browse... - + Examinar… No file selected - + No se ha seleccionado ningún archivo Select a file - + Seleccionar un archivo LegacySkinParser - - + + Safe Mode Enabled Shown when Mixxx is running in safe mode. Modo Seguro Activado - - + + No OpenGL support. Shown when Spinny can not be displayed. Please keep @@ -9604,57 +9655,57 @@ Shown when VuMeter can not be displayed. Please keep de OpenGL. - + activate activar - + toggle conmutar - + right derecha - + left izquierda - + right small derecha pequeño - + left small izquierda pequeño - + up arriba - + down abajo - + up small arriba pequeño - + down small abajo pequeño - + Shortcut Atajo @@ -9662,37 +9713,37 @@ de OpenGL. Library - + This or a parent directory is already in your library. Este directorio o su superior ya se encuentra en tu biblioteca. - + This or a listed directory does not exist or is inaccessible. Aborting the operation to avoid library inconsistencies Este directorio o el indicado no existe o es inaccesible. Cancelando la operación para evitar inconsistencias de biblioteca. - - + + This directory can not be read. Este directorio no puede ser leído. - + An unknown error occurred. Aborting the operation to avoid library inconsistencies Ha ocurrido un error desconocido. Cancelando la operación para evitar inconsistencias de biblioteca - + Can't add Directory to Library No se pudo agregar el directorio a la biblioteca - + Could not add <b>%1</b> to your library. %2 @@ -9701,27 +9752,27 @@ Cancelando la operación para evitar inconsistencias de biblioteca %2 - + Can't remove Directory from Library No se pudo remover el directorio de la biblioteca. - + An unknown error occurred. Ha ocurrido un error desconocido. - + This directory does not exist or is inaccessible. Este directorio no existe o es inaccesible. - + Relink Directory Reenlazar directorio - + Could not relink <b>%1</b> to <b>%2</b>. %3 @@ -9733,27 +9784,27 @@ Cancelando la operación para evitar inconsistencias de biblioteca LibraryFeature - + Import Playlist Importar Lista de Reproducción - + Playlist Files (*.m3u *.m3u8 *.pls *.csv) Archivos de lista de reproducción (*.m3u *.m3u8 *.pls *.csv) - + Overwrite File? ¿Sobrescribir archivo? - + A playlist file with the name "%1" already exists. The default "m3u" extension was added because none was specified. Do you really want to overwrite it? - + Ya existe un archivo de lista de reproducción con el nombre "% 1". Se agregó la extensión predeterminada "m3u" porque no se especificó ninguna. ¿Realmente desea sobrescribirla? @@ -9899,253 +9950,253 @@ Do you really want to overwrite it? MixxxMainWindow - + Sound Device Busy El dispositivo de sonido está ocupado - + <b>Retry</b> after closing the other application or reconnecting a sound device <b>Reintente</b> luego de cerrar las otras aplicaciones o reconectar un dispositivo de sonido - - - + + + <b>Reconfigure</b> Mixxx's sound device settings. <b>Reconfigure</b> las opciones del dispositivo de sonido de Mixxx. - - + + Get <b>Help</b> from the Mixxx Wiki. Obtenga <b>ayuda</b> del wiki de Mixxx. - - - + + + <b>Exit</b> Mixxx. <b>Salir</b> de Mixxx. - + Retry Reintentar - + skin apariencia - + Allow Mixxx to hide the menu bar? ¿Permitir a Mixxx ocultar la barra de menú? - + Hide Always show the menu bar? Ocultar - + Always show Mostrar siempre - + The Mixxx menu bar is hidden and can be toggled with a single press of the <b>Alt</b> key.<br><br>Click <b>%1</b> to agree.<br><br>Click <b>%2</b> to disable that, for example if you don't use Mixxx with a keyboard.<br><br>You can change this setting any time in Preferences -> Interface.<br> Keep formatting tags <b> (bold text) and <br> (linebreak). %1 is the placeholder for the 'Always show' button label La barra de menú de Mixxx ha sido ocultada y se puede alternar presionando la tecla <b>Alt</b>. <br><br>Haz clic en <b>%1</b> para aceptar. <br><br>Haz clic en <b>%2</b> para desactivarlo, por ejemplo si usas Mixxx sin un teclado. <br><br>Puedes cambiar este ajuste en cualquier momento en Preferencias -> Interfaz. <br> - + Ask me again Pregúntame de nuevo - - + + Reconfigure Reconfigurar - + Help Ayuda - - + + Exit Salir - - + + Mixxx was unable to open all the configured sound devices. Mixxx no ha podido activar todos los dispositivos de sonido configurados. - + Sound Device Error Error del dispositivo de sonido - + <b>Retry</b> after fixing an issue <b>Reintenta</b> una vez corregido el problema - + No Output Devices No hay dispositivos de salida - + Mixxx was configured without any output sound devices. Audio processing will be disabled without a configured output device. Mixxx fue configurado sin ningún dispositivo de salida de audio. El procesamiento de audio estará desactivado mientras no se configure un dispositivo de audio de salida. - + <b>Continue</b> without any outputs. <b>Continuar</b> sin ninguna salida. - + Continue Continuar - + Load track to Deck %1 Cargar pista al plato %1 - + Deck %1 is currently playing a track. El plato %1 está reproduciendo una pista. - + Are you sure you want to load a new track? ¿Está seguro de cargar una pista nueva? - + There is no input device selected for this vinyl control. Please select an input device in the sound hardware preferences first. No hay ningún dispositivo de entrada seleccionado para el control por vinilo. Por favor, seleccione un dispositivo de entrada en las preferencias de hardware de sonido. - + There is no input device selected for this passthrough control. Please select an input device in the sound hardware preferences first. No hay ningún dispositivo de entrada seleccionado para el control passthrough. Por favor, seleccione un dispositivo de entrada en las preferencias de hardware de sonido. - + There is no input device selected for this microphone. Do you want to select an input device? No se ha seleccionado un dispositivo de Entrada para este micrófono. ¿Deseas escoger uno ahora? - + There is no input device selected for this auxiliary. Do you want to select an input device? No se ha seleccionado un dispositivo de entrada para este Auxiliar. ¿Deseas escoger uno ahora? - + Scan took %1 - + El escaneo tomo %1 - + No changes detected. - + No se han detectado cambios - - + + %1 tracks in total - + %1 pistas en total - + %1 new tracks found - + Encontradas %1 pistas nuevas - + %1 moved tracks detected - + %1 pistas movidas detectadas - + %1 tracks are missing (%2 total) - + %1 pistas perdidas (%2 en total) - + %1 tracks have been rediscovered - + %1 pistas han sido reencontradas - + Library scan finished - + Escaneo de la biblioteca terminado - + Error in skin file Error en el archivo de la apariencia - + The selected skin cannot be loaded. No se ha podido cargar la apariencia seleccionada. - + OpenGL Direct Rendering Renderizado directo de OpenGL - + Direct rendering is not enabled on your machine.<br><br>This means that the waveform displays will be very<br><b>slow and may tax your CPU heavily</b>. Either update your<br>configuration to enable direct rendering, or disable<br>the waveform displays in the Mixxx preferences by selecting<br>"Empty" as the waveform display in the 'Interface' section. - + El renderizado directo no está habilitado en su máquina. <br><br>Esto significa que las visualizaciones de forma de onda serán muy <br><b>lentas y pueden exigir mucho a su CPU</b>. Actualice su <br>configuración para habilitar la representación directa o desactiv<br> las visualizaciones de forma de onda en las preferencias de Mixxx seleccionando <br>"Vacío" como la pantalla de forma de onda en la sección 'Interfaz'. - - - + + + Confirm Exit Confirmar salida - + A deck is currently playing. Exit Mixxx? Un plato está reproduciendo. ¿Salir de Mixxx? - + A sampler is currently playing. Exit Mixxx? Un reproductor de muestras está en reproducción. ¿Salir de Mixxx? - + The preferences window is still open. La ventana de preferencias todavía está abierta. - + Discard any changes and exit Mixxx? ¿Descartar cambios y salir de Mixxx? @@ -10161,13 +10212,13 @@ Do you want to select an input device? PlaylistFeature - + Lock Bloquear - - + + Playlists Listas de reproducción @@ -10177,32 +10228,58 @@ Do you want to select an input device? Aleatorizar lista de reproducción - + + Unlock all playlists + + + + + Delete all unlocked playlists + + + + Unlock Desbloquear - + + + Confirm Deletion + + + + + Do you really want to delete all unlocked playlists? + + + + + Deleting %1 unlocked playlists.<br>This operation can not be undone! + + + + Playlists are ordered lists of tracks that allow you to plan your DJ sets. Las listas de reproducción son listar ordenadas de pistas que te permiten planificar tus sesiones de DJ. - + It may be necessary to skip some tracks in your prepared playlist or add some different tracks in order to maintain the energy of your audience. Podría ser necesario saltar algunas pistas en tu lista de reproducción planificada, o añadir algunas pistas diferentes, con el fin de mantener la energía de tu audiencia. - + Some DJs construct playlists before they perform live, but others prefer to build them on-the-fly. Algunos DJ preparan listas de reproducción antes de tocar en vivo, pero otros prefieren hacerlo en el momento. - + When using a playlist during a live DJ set, remember to always pay close attention to how your audience reacts to the music you've chosen to play. Cuando uses una lista de reproducción en una actuación en vivo, recuerda siempre prestar mucha atención a cómo reacciona la audiencia con la música que has elegido reproducir. - + Create New Playlist Crear nueva lista de reproducción @@ -10212,7 +10289,7 @@ Do you want to select an input device? Mixxx Hotcue Colors - + Colores de hotcues de Mixxx @@ -10220,82 +10297,82 @@ Do you want to select an input device? Serato DJ Track Metadata Hotcue Colors - + Metadatos de colores de hotcues de pistas de Serato DJ Serato DJ Pro Hotcue Colors - + Colores de hotcues de Serato DJ Pro Rekordbox COLD1 Hotcue Colors - + Colores de hotcues de Rekordbox COLD1 Rekordbox COLD2 Hotcue Colors - + Colores de hotcues de Rekordbox COLD2 Rekordbox COLORFUL Hotcue Colors - + Colores de hotcues COLORFUL de Rekordbox Mixxx Track Colors - + Colores de pistas de Mixxx Rekordbox Track Colors - + Colores de pistas de Rekordbox Serato DJ Pro Track Colors - + Colores de pistas de Serato DJ Pro Traktor Pro Track Colors - + Colores de pistas de Traktor Pro VirtualDJ Track Colors - + Colores de pistas de VirtualDJ Mixxx Key Colors - + Colores de notas de Mixxx Traktor Key Colors - + Colores de notas de Traktor Mixed In Key - Key Colors - + Colores de notas de Mixed In Key Protanopia / Protanomaly Key Colors - + Colores de notas de Protanopia/Protanomalía Deuteranopia / Deuteranomaly Key Colors - + Colores de notas de Deuteranopía/Deuteranomalía Tritanopia / Tritanomaly Key Colors - + Colores de notas de Tritanopía/Tritanomalía @@ -10429,7 +10506,7 @@ Do you want to scan your library for cover files now? Switch - + Switch @@ -10514,7 +10591,7 @@ Do you want to scan your library for cover files now? Vinyl Control - + Control de vinilo @@ -10879,7 +10956,7 @@ Si la amplitud es cero, este parámetro permite mover la posición manualmente p The Mixxx Team - + Equipo de Mixxx @@ -10909,12 +10986,12 @@ Si la amplitud es cero, este parámetro permite mover la posición manualmente p Gain - + Ganancia Set the gain of metronome click sound - + Configura la ganancia del sonido del metrónomo @@ -11863,7 +11940,7 @@ Consejo: compensa las voces de "ardillitas" o "gruñonas"La cantidad de amplificación aplicada a la señal de audio. A niveles más altos, el audio estará más distorsionado. - + Passthrough Paso @@ -12033,12 +12110,12 @@ pueden introducir un efecto de "bombeo" y/o distorsión. varios - + built-in nativo - + missing no encontrado @@ -12166,54 +12243,54 @@ pueden introducir un efecto de "bombeo" y/o distorsión. RekordboxFeature - - - + + + Rekordbox Rekordbox - + Playlists Listas de reproducción - + Folders Carpetas - + Reads databases exported for Pioneer CDJ / XDJ players using the Rekordbox Export mode.<br/>Rekordbox can only export to USB or SD devices with a FAT or HFS file system.<br/>Mixxx can read a database from any device that contains the database folders (<tt>PIONEER</tt> and <tt>Contents</tt>).<br/>Not supported are Rekordbox databases that have been moved to an external device via<br/><i>Preferences > Advanced > Database management</i>.<br/><br/>The following data is read: - + Hot cues Accesos Directos - + Loops (only the first loop is currently usable in Mixxx) Bucles (solo el primer bucle es utilizable en Mixxx) - + Check for attached Rekordbox USB / SD devices (refresh) Buscar dispositivos de almacenamiento Rekordbox (refrescar) - + Beatgrids Grillas de pulsos - + Memory cues Cues en memoria - + (loading) Rekordbox (cargando) Rekordbox @@ -12655,22 +12732,22 @@ pueden introducir un efecto de "bombeo" y/o distorsión. Reading track for fingerprinting failed. - + Ha fallado la lectura de la pista para fingerprinting Identifying track through AcoustID - + Identificando pista mediante AcoustID Could not identify track through AcoustID. - + No se pudo identificar la pista mediante AcoustID. Could not find this track in the MusicBrainz database. - + No se pudo encontrar esta pista en la base de datos de MusicBrainz. @@ -12934,7 +13011,7 @@ pueden introducir un efecto de "bombeo" y/o distorsión. Vinyl Control - + Control de vinilo @@ -13242,7 +13319,7 @@ pueden introducir un efecto de "bombeo" y/o distorsión. Toggle visibility of Rate Control - + Alternar visibilidad del control de velocidad @@ -13392,7 +13469,7 @@ pueden introducir un efecto de "bombeo" y/o distorsión. Left click and hold allows to preview the position where the play head will jump to on release. Dragging can be aborted with right click. - + Mantener el clic izquierdo permite previsualizar la posición donde la cabeza de reproducción saltará al soltarlo. El arrastre puede ser abortado con el clic derecho. @@ -13442,12 +13519,12 @@ pueden introducir un efecto de "bombeo" y/o distorsión. Shows the current volume for the left channel of the main output. - + Muestra el volumen actual para el canal izquierdo en la salida principal. Shows the current volume for the right channel of the main output. - + Muestra el volumen actual para el canal derecho de la salida principal. @@ -13459,27 +13536,27 @@ pueden introducir un efecto de "bombeo" y/o distorsión. Adjusts the main output gain. - + Ajusta el volumen principal Determines the main output by fading between the left and right channels. - + Determina la salida principal desvaneciendo entre los canales izquierdo y derecho. Adjusts the left/right channel balance on the main output. - + Ajusta el balance de los canales izquierdo/derecho en la salida principal. Crossfades the headphone output between the main mix and cueing (PFL or Pre-Fader Listening) signal. - + Desvanecimiento cruzado de la salida de auriculares entre la salida principal y la señal de cueing (PFL o Escucha Pre-Deslizador) If activated, the main mix signal plays in the right channel, while the cueing signal plays in the left channel. - + Si se activa, la señal principal de la mezcla se reproduce en el canal derecho, mientras que la señal de cueing se reproduce en el canal izquierdo. @@ -13494,12 +13571,12 @@ pueden introducir un efecto de "bombeo" y/o distorsión. Show/hide the beatgrid controls section - + Mostrar/ocultar la sección de controles de la cuadrícula de tiempo Show/hide the stem mixing controls section - + Mostrar/ocultar la sección de controles de mezcla de stems @@ -13509,17 +13586,17 @@ pueden introducir un efecto de "bombeo" y/o distorsión. Volume Meters - + Medidores de volumen mix microphone input into the main output. - + mezcla la entrada de micrófono con la salida principal. Auto: Automatically reduce music volume when microphone volume rises above threshold. - + Auto: reduce automáticamente el volumen de la música cuando el volumen del micrófono supera el umbral. @@ -13530,17 +13607,17 @@ pueden introducir un efecto de "bombeo" y/o distorsión. Auto: Sets how much to reduce the music volume when the volume of active microphones rises above threshold. - + Auto: configura cuánto se reduce el volumen de la música cuando el volumen de los micrófonos activos supera el umbral. Manual: Sets how much to reduce the music volume, when talkover is activated regardless of volume of microphone inputs. - + Manual: configura cuánto reducir e If keylock is disabled, pitch is also affected. - + Si el bloqueo tonal se desactiva, la altura también es afectada. @@ -13555,7 +13632,7 @@ pueden introducir un efecto de "bombeo" y/o distorsión. Raises playback speed in small steps. - + Incrementa la velocidad de reproducción en pasos pequeños. @@ -13570,7 +13647,7 @@ pueden introducir un efecto de "bombeo" y/o distorsión. Lowers playback speed in small steps. - + Reduce la velocidad de reproducción en pasos pequeños. @@ -13580,12 +13657,12 @@ pueden introducir un efecto de "bombeo" y/o distorsión. Holds playback speed higher while active (tempo). - + Mantiene la velocidad de reproducción alta cuando se activa (tempo). Holds playback speed higher (small amount) while active. - + Mantiene la velocidad de reproducción alta (pequeña cantidad) cuando se activa. @@ -13595,59 +13672,60 @@ pueden introducir un efecto de "bombeo" y/o distorsión. Holds playback speed lower while active (tempo). - + Mantiene la velocidad de reproducción baja cuando se activa (tempo). Holds playback speed lower (small amount) while active. - + Mantiene la velocidad de reproducción baja (pequeña cantidad) cuando se activa. When tapped repeatedly, adjusts the tempo to match the tapped BPM. - + Cuando se pulsa repetidamente, ajusta el tempo para coincidir con la frecuencia de pulsaciones. Tempo Tap - + Seguidor de Tempo (Tempo Tap) Rate Tap and BPM Tap - + Frecuencia de pulsaciones y de BPM Adjust beatgrid by exactly one half beat. Usable only on tracks with constant tempo. - + Ajusta la cuadrícula de tiempo en exactamente medio beat. Solo se puede usar en +pistas con tempo constante Revert last BPM/Beatgrid Change - + Revierte el último cambio de BPM/cuadrícula de tiempo Revert last BPM/Beatgrid Change of the loaded track. - + Revierte el último cambio de BPM/Cuadrícula de tiempo para la pista cargada. Toggle the BPM/beatgrid lock - + Cambia el bloqueo de BPM/cuadrícula de tiempo Tempo and Rate Tap - + Toques de Tempo y Frecuencia Tempo, Rate Tap and BPM Tap - + Toques de Tempo, Frecuencia y BPM @@ -13663,79 +13741,79 @@ tracks with constant tempo. Left click: shift 10 milliseconds earlier - + Clic izquierdo: adelantar 10 milisegundos Right click: shift 1 millisecond earlier - + Clic derecho: adelantar 1 milisegundo Shift cues later - + Retrasar cues Left click: shift 10 milliseconds later - + Clic izquierdo: retrasar 10 milisegundos Right click: shift 1 millisecond later - + Clic derecho: retrasar 1 milisegundo Drag a Hotcue button here to continue playing after releasing the Hotcue. - + Arrastra un botón de Hotcue aquí para continuar reproduciendo después de soltar la hotcue. Hint: Change the default cue mode in Preferences -> Decks. - + Sugerencia: cambie el modo por defecto de las cues en Preferencias -> Platos. Mutes the selected channel's audio in the main output. - + Silencia el audio del canal seleccionado en la salida principal. Main mix enable - + Activador de mezcla principal Hold or short click for latching to mix this input into the main output. - + Clic sostenido o corto para enganchar, para mezclar esta entrada con la salida principal. If hotcue is a loop cue, toggles the loop and jumps to if the loop is behind the play position. - + Si la hotcue es una cue de bucle, activa el bucle y salta hacia él si se encuentra detrás de la posición de reproducción. If the play position is inside an active loop, stores the loop as loop cue. - + Si la posición de reproducción se encuentra dentro de un bucle activo, almacena el bucle como una hotcue de bucle. Drag this button onto another Hotcue button to move it there (change its index). If the other hotcue is set, the two are swapped. - + Arrastrar este botón dentro de otro botón de hotcue para moverlo hacia este (cambiando su número). Si la otra hotcue ya se encuentra definida, las dos son intercambiadas. Expand/Collapse Samplers - + Expandir/contraer samplers Toggle expanded samplers view. - + Alternar la vista expandida de los samplers. @@ -13745,12 +13823,12 @@ tracks with constant tempo. Auto DJ is active - + Auto DJ se encuentra activo Red for when needle skip has been detected. - + Rojo cuando se detecta un salto de aguja. @@ -13790,7 +13868,7 @@ tracks with constant tempo. If the track has no beats the unit is seconds. - + Si la pista no tiene pulsaciones, la unidad es segundos. @@ -13830,12 +13908,12 @@ tracks with constant tempo. Beatloop Anchor - + Ancla del bucle de pulsaciones Define whether the loop is created and adjusted from its staring point or ending point. - + Define si el bucle es creado y ajustado desde su punto de inicio o de final. @@ -13930,12 +14008,12 @@ tracks with constant tempo. Hint: Change the time format in Preferences -> Decks. - + Sugerencia: cambie el formato de tiempo en Preferencias -> Platos. Show/hide intro & outro markers and associated buttons. - + Mostrar/ocultar marcadores de intro y outro, y sus botones asociados. @@ -13948,7 +14026,7 @@ tracks with constant tempo. If marker is set, jumps to the marker. - + Si el marcador se encuentra definido, salta al marcador. @@ -13956,7 +14034,7 @@ tracks with constant tempo. If marker is not set, sets the marker to the current play position. - + Si el marcador no se encuentra definido, lo configura a la posición de reproducción actual. @@ -13964,7 +14042,7 @@ tracks with constant tempo. If marker is set, clears the marker. - + Si el marcador se encuentra definido, lo elimina. @@ -13989,7 +14067,7 @@ tracks with constant tempo. Adjust the mixing of the dry (input) signal with the wet (output) signal of the effect unit - + Ajuste la mezcla de la señal seca (entrada) con la señal húmeda (salida) de la unidad de efectos @@ -13999,7 +14077,7 @@ tracks with constant tempo. D+W mode: Add wet to dry - + Modo D+W: agregue húmedo a seco @@ -14009,24 +14087,25 @@ tracks with constant tempo. Adjust how the dry (input) signal is mixed with the wet (output) signal of the effect unit - + Ajuste cómo se mezcla la señal seca (entrada) con la señal húmeda (salida) de la unidad de efectos Dry/Wet mode (crossed lines): Mix knob crossfades between dry and wet Use this to change the sound of the track with EQ and filter effects. - + Modo seco / húmedo (líneas cruzadas): Mezcle los fundidos cruzados de la perilla entre seco y húmedo. Use esto para cambiar el sonido de la pista con EQ y efectos de filtro. Dry+Wet mode (flat dry line): Mix knob adds wet to dry Use this to change only the effected (wet) signal with EQ and filter effects. - + Modo Seco+Húmedo (línea seca plana): La perilla de mezcla agrega mojado a seco +Utiliza esto para cambiar únicamente la señal afectada (mojada) con EQ y efectos de filtrado. Route the main mix through this effect unit. - + Enruta la mezcla principal a través de esta unidad de efectos. @@ -14046,42 +14125,42 @@ Use this to change only the effected (wet) signal with EQ and filter effects. Stem Label - + Etiqueta de stem Name of the stem stored in the stem file - + Nombre del stem almacenado en el archivo de stem Text is displayed in the stem color stored in the stem file - + El texto es presentado con el color del stem almacenado en el archivo de stem this stem color is also used for the waveform of this stem - + este color de stem también es usado en la forma de onda de este stem Stem Mute - + Silenciar stem Toggle the stem mute/unmuted - + Alterna el silencio del stem Stem Volume Knob - + Perilla de volumen del stem Adjusts the volume of the stem - + Ajusta el volumen del stem @@ -14349,7 +14428,7 @@ Use this to change only the effected (wet) signal with EQ and filter effects. Inactive: parameter not linked - + Inactivo: parámetro no enlazado @@ -14565,17 +14644,17 @@ Use this to change only the effected (wet) signal with EQ and filter effects. Left click to jump around in the track. - + Clic izquierdo para saltar a lo largo de la pista. Right click hotcues to edit their labels and colors. - + Click derecho en los accesos directos para editar sus etiquetas y colores. Right click anywhere else to show the time at that point. - + Clic derecho en cualquier otra parte para mostrar el tiempo en ese punto. @@ -14670,7 +14749,7 @@ Use this to change only the effected (wet) signal with EQ and filter effects. Maximize Library - + Maximizar Biblioteca @@ -14685,7 +14764,7 @@ Use this to change only the effected (wet) signal with EQ and filter effects. Changes the number of hotcue buttons displayed in the deck - + Cambia el número de botones de acceso directo mostrados en el deck @@ -14711,12 +14790,12 @@ Use this to change only the effected (wet) signal with EQ and filter effects. Opens the track properties editor - + Abre el editor de propiedades de pista Opens the track context menu. - + Abre el menú contextual de la pista @@ -14818,12 +14897,12 @@ Use this to change only the effected (wet) signal with EQ and filter effects. Drag this button onto a Play button while previewing to continue playback after release. - + Arrastre este botón a un boton de Play durante la preescucha para continuar la reproducción tras soltarlo. Dragging with Shift key pressed will not start previewing the hotcue. - + Arrastrar mientras presiona la tecla Shift no iniciará la preescucha de la hotcue. @@ -15257,22 +15336,22 @@ Use this to change only the effected (wet) signal with EQ and filter effects. Replace Existing File? - + ¿Reemplazar el archivo existente? "%1" already exists, replace? - + "%1% ya existe, ¿reemplazar? &Replace - + &Reemplazar Apply to all files - + Aplicar a todos los archivos @@ -15371,7 +15450,7 @@ Use this to change only the effected (wet) signal with EQ and filter effects. frameSwapped-signal driven phase locked loop - + Bucle con bloqueo de fase manejado por señal con marco cambiado @@ -15397,12 +15476,12 @@ Use this to change only the effected (wet) signal with EQ and filter effects. No color - + Sin color Custom color - + Color personalizado @@ -15455,47 +15534,47 @@ Carpeta: %2 WCueMenuPopup - + Cue number - + Número de cue - + Cue position Posición Marca - + Edit cue label Editar etiqueta de marca - + Label... - + Etiqueta... - + Delete this cue Borrar esta marca - + Toggle this cue type between normal cue and saved loop - + Alterna el tipo de esta cue entre cue normal y bucle guardado - + Left-click: Use the old size or the current beatloop size as the loop size - + Clic izquierdo: usar el tamaño anterior o el del bucle actual como el tamaño de bucle - + Right-click: Use the current play position as loop end if it is after the cue - + Clic derecho: usar la posición de reproducción actual como final del bucle si se encuentra después de la cue - + Hotcue #%1 Acceso DIrecto #%1 @@ -15510,7 +15589,7 @@ Carpeta: %2 Rename Preset - + Renombrar preajuste @@ -15620,407 +15699,437 @@ Carpeta: %2 - Create &New Playlist + Search in Current View... + Search for tracks in the current library view + + + + + Ctrl+f + + + + + Search in Tracks Library... + + + + + Search in the internal track collection under "Tracks" in the library + + + + + Ctrl+Shift+F + + + + + Create &New Playlist + Crear &nueva Playlist + + + Create a new playlist Crear una nueva lista de reproducción - + Ctrl+n Ctrl+N - + Create New &Crate Crear un nuevo&cajón - + Create a new crate Crear un nuevo cajón - + Ctrl+Shift+N Ctrl+Mayús+N - - + + &View &Vista - + Auto-hide menu bar - + Auto-ocultar barra de menú - + Auto-hide the main menu bar when it's not used. - + Auto-ocultar la barra de menú principal cuando no es utilizada. - + May not be supported on all skins. Puede no estar disponible para todas las apariencias. - + Show Skin Settings Menu Mostrar menú de ajustes de aspecto - + Show the Skin Settings Menu of the currently selected Skin Mostrar la configuración actual del menu de tema - + Ctrl+1 Menubar|View|Show Skin Settings Ctrl+1 - + Show Microphone Section Mostrar seccion del microfono - + Show the microphone section of the Mixxx interface. Muestra la sección de control de micrófono de la interfaz de Mixxx. - + Ctrl+2 Menubar|View|Show Microphone Section Ctrl+2 - + Show Vinyl Control Section Mostrar la Sección de Control de Vinilo - + Show the vinyl control section of the Mixxx interface. Muestra la sección de control de vinilo de la interfaz de Mixxx. - + Ctrl+3 Menubar|View|Show Vinyl Control Section Ctrl+3 - + Show Preview Deck Mostrar el reproductor de preescucha - + Show the preview deck in the Mixxx interface. Muestra el reproductor de preescucha en la interfaz de Mixxx. - + Ctrl+4 Menubar|View|Show Preview Deck Ctrl+4 - + Show Cover Art Muestra carátulas - + Show cover art in the Mixxx interface. Muestra las carátulas en la interfaz de Mixxx. - + Ctrl+6 Menubar|View|Show Cover Art Ctrl+6 - + Maximize Library Maximizar Biblioteca - + Maximize the track library to take up all the available screen space. Maximizar la biblioteca para tomar todo el espacio disponible en pantalla. - + Space Menubar|View|Maximize Library - + Espacio - + &Full Screen &Pantalla completa - + Display Mixxx using the full screen Mostrar Mixxx a pantalla completa - + &Options &Opciones - + &Vinyl Control Control de &vinilo - + Use timecoded vinyls on external turntables to control Mixxx Usar vinilos con codigo de tiempo en bandejas externas para controlar Mixxx - + Enable Vinyl Control &%1 Habilita el Control por Vinilo &%1 - + &Record Mix &Grabar Mezcla - + Record your mix to a file Grava a súa mestura a un ficheiro - + Ctrl+R Ctrl+R - + Enable Live &Broadcasting Activar transmisión en &vivo - + Stream your mixes to a shoutcast or icecast server Transmite tus mezclas a un servidor shoutcast o icecast - + Ctrl+L Ctrl+L - + Enable &Keyboard Shortcuts Activar Atajos de &Teclado - + Toggles keyboard shortcuts on or off Activa o desactiva los atajos de teclado - + Ctrl+` Ctrl+` - + &Preferences &Preferencias - + Change Mixxx settings (e.g. playback, MIDI, controls) Cambiar la configuración de Mixxx (p.ej.: reproducción, MIDI, controles) - + &Developer &Desarrollador - + &Reload Skin &Recargar apariencia - + Reload the skin Recargar la apariencia - + Ctrl+Shift+R Ctrl+Mayús+R - + Developer &Tools U&tilidades de desarrollador - + Opens the developer tools dialog Abre el cuadro de diálogo de herramientas de desarrollo - + Ctrl+Shift+T Ctrl+Mayús+T - + Stats: &Experiment Bucket Estadísticas: Contadores &Experiment - + Enables experiment mode. Collects stats in the EXPERIMENT tracking bucket. Activa el modo experimental. Recoje estadísticas en los contadores EXPERIMENT. - + Ctrl+Shift+E Ctrl+Mayús+E - + Stats: &Base Bucket Estadísticas: contadores &Base - + Enables base mode. Collects stats in the BASE tracking bucket. Activa el modo base. Recoje estadísticas en los contadores BASE. - + Ctrl+Shift+B Ctrl+Mayús+B - + Deb&ugger Enabled Dep&uración activada - + Enables the debugger during skin parsing Activa el depurador durante el análisis de la máscara - + Ctrl+Shift+D Ctrl+Mayús+D - + &Help Ay&uda - + Show Keywheel menu title - + Mostrar rueda de notas E&xport Library to Engine DJ "Engine DJ" must not be translated - + Exportar biblioteca a Engine DJ Export the library to the Engine DJ format - + Exportar biblioteca al formato Engine DJ - + Show keywheel tooltip text - + Mostrar rueda de notas - + F12 Menubar|View|Show Keywheel - + F12 - + &Community Support Soporte &comunitario - + Get help with Mixxx Obtener ayuda con Mixxx - + &User Manual Manual de &usuario - + Read the Mixxx user manual. Lea el manual de usuario de Mixxx. - + &Keyboard Shortcuts Atajos de &Teclado - + Speed up your workflow with keyboard shortcuts. Trabaja más rápidamente usando los atajos de teclado. - + &Settings directory &Directorio de configuración - + Open the Mixxx user settings directory. Abre el directorio de configuración de usuario de Mixxx. - + &Translate This Application &Traducir esta aplicación - + Help translate this application into your language. Ayude a traducir esta aplicación a su idioma. - + &About &Acerca de - + About the application Acerca de la aplicación @@ -16036,7 +16145,7 @@ Carpeta: %2 Ready to play, analyzing... Text on waveform overview when file is playable but no waveform is visible - + Listo para reproducir, analizando... @@ -16049,31 +16158,19 @@ Carpeta: %2 Finalizing... Text on waveform overview during finalizing of waveform analysis - + Finalizando... WSearchLineEdit - - Clear input - Clear the search bar input field - Borrar el texto - - - - Ctrl+F - Search|Focus - Ctrl+F - - - + Search noun Buscar - + Clear input Borrar el texto @@ -16084,93 +16181,87 @@ Carpeta: %2 Buscar... - + Clear the search bar input field - + Limpia el campo de entrada de la barra de búsqueda - - Enter a string to search for - Introducir el texto a buscar + + Return + Volver - - Use operators like bpm:115-128, artist:BooFar, -year:1990 + + Enter a string to search for. - - For more information see User Manual > Mixxx Library - Para más información vea el Manual de Usuario> Biblioteca Mixxx + + Use operators like bpm:115-128, artist:BooFar, -year:1990. + - Shortcut - Atajo + See User Manual > Mixxx Library for more information. + - - Ctrl+F - Ctrl+F + + Focus/Select All (Search in current view) + Give search bar input focus + - - Focus - Give search bar input focus - Poner el cursor aquí + + Focus/Select All (Search in 'Tracks' library view) + - - - Ctrl+Backspace - Ctrl+Tecla de retroceso + + Additional Shortcuts When Focused: + - Shortcuts - Atajos + Trigger search before search-as-you-type timeout or focus tracks view afterwards + - Return + Esc or Ctrl+Return - Trigger search before search-as-you-type timeout orjump to tracks view afterwards - Activa la búsqueda antes del tiempo de espera de "búsqueda mientras escribe" o salte a la vista de pistas después + Immediately trigger search and focus tracks view + Exit search bar and leave focus + - + Ctrl+Space - + Ctrl+Espacio - + Toggle search history Shows/hides the search history entries - + Alternar historial de búsqueda - + Delete or Backspace Borrar o Retorno - - Delete query from history - Borrar Consulta del Historial - - - - Esc - Esc + + in search history + - - Exit search - Exit search bar and leave focus - Salir de la busqueda + + Delete query from history + Borrar Consulta del Historial @@ -16178,7 +16269,7 @@ Carpeta: %2 Search related Tracks - + Buscar pistas relacionadas @@ -16188,7 +16279,7 @@ Carpeta: %2 harmonic with %1 - + armónico con %1 @@ -16198,7 +16289,7 @@ Carpeta: %2 between %1 and %2 - + entre %1 y %2 @@ -16248,7 +16339,7 @@ Carpeta: %2 &Search selected - + &Búsqueda seleccionada @@ -16286,7 +16377,7 @@ Carpeta: %2 Update external collections - + Actualizar colecciones externas @@ -16296,12 +16387,12 @@ Carpeta: %2 Adjust BPM - + Ajustar BPM Select Color - + Seleccionar color @@ -16469,12 +16560,12 @@ Carpeta: %2 Sort hotcues by position (remove offsets) - + Ordenar hotcues por posición (removiendo desfases) Sort hotcues by position - + Ordenar hotcues por posición @@ -16519,7 +16610,7 @@ Carpeta: %2 Shift Beatgrid Half Beat - + Desplazar la cuadrícula de tiempo medio beat @@ -16607,7 +16698,7 @@ Carpeta: %2 Undo BPM/beats change of %n track(s) - + Deshacer cambios de BPM/pulsaciones de %n pista(s)Deshacer cambios de BPM/pulsaciones de %n pista(s)Deshacer cambios de BPM/pulsaciones de %n pista(s) @@ -16622,7 +16713,7 @@ Carpeta: %2 Setting rating of %n track(s) - + Definiendo evaluación de %n pistaDefiniendo evaluación de %n pistasDefiniendo evaluación de %n pista(s) @@ -16677,12 +16768,12 @@ Carpeta: %2 Sorting hotcues of %n track(s) by position (remove offsets) - + Ordenando hotcues de %n pista por posición (removiendo desfases)Ordenando hotcues de %n pistas por posición (removiendo desfases)Ordenando hotcues de %n pistas(s) por posición (removiendo desfases) Sorting hotcues of %n track(s) by position - + Ordenando hotcues de %n pista por posiciónOrdenando hotcues de %n pistas por posiciónOrdenando hotcues de %n pista(s) por posición @@ -16707,7 +16798,7 @@ Carpeta: %2 Move these files to the trash bin? - + ¿Mover estos archivos a la papelera? @@ -16733,7 +16824,7 @@ Carpeta: %2 Okay - + Okey @@ -16783,7 +16874,7 @@ Carpeta: %2 Remaining Track File(s) - + Renombrando archivo(s) de pista @@ -16794,7 +16885,7 @@ Carpeta: %2 Clear Reset metadata in right click track context menu in library - + Climpiar @@ -16804,37 +16895,37 @@ Carpeta: %2 Clear BPM and Beatgrid - + Limpia las BPM y la cuadrícula de tiempo Undo last BPM/beats change - + Revertir el último cambio de BPM/pulsaciones Move this track file to the trash bin? - + ¿Mover este archivo de pista a la papelera? Permanently delete this track file from disk? - + ¿Eliminar permanentemente este archivo de pista del disco? All decks where these tracks are loaded will be stopped and the tracks will be ejected. - + Todos los platos donde estas pistas hayan sido cargadas se detendrán, y las pistas serán expulsadas. All decks where this track is loaded will be stopped and the track will be ejected. - + Todos los platos donde esta pista haya sido cargada se detendrán, y la pista será expulsada. Removing %n track file(s) from disk... - + Removiendo %n archivo(s) de pista del disco... @@ -16854,12 +16945,12 @@ Carpeta: %2 Don't show again during this session - + No mostrar nuevamente durante esta sesión The following %1 file(s) could not be moved to trash - + El/los siguiente(s) %1 archivo(s) no pudieron ser movidos a la papelera @@ -16882,7 +16973,7 @@ Carpeta: %2 title - + título @@ -16890,73 +16981,73 @@ Carpeta: %2 Load for stem mixing - + Cargar para mezcla de stems Load pre-mixed stereo track - + Cargar pista estéreo premezclada Load the "%1" stem - + Cargar el stem "%1" Load multiple stem into a stereo deck - + Cargar múltiples stems en un plato estéreo Select stems to load - + Seleccionar stems a cargar Release "CTRL" to load the current selection - + Soltar "Ctrl" para cargar la selección actual Use "CTRL" to select multiple stems - + Use "Ctrl" para seleccionar múltiples stems WTrackTableView - + Confirm track hide Confirmar ocultar pista - + Are you sure you want to hide the selected tracks? ¿Estas seguro de que quieres ocultar las pistas seleccionadas? - + Are you sure you want to remove the selected tracks from AutoDJ queue? ¿Esta seguro de que quiere eliminar las pistas seleccionadas de la cola del AutoDJ? - + Are you sure you want to remove the selected tracks from this crate? Estás seguro que quieres eliminar las pistas seleccionada de este cajón? - + Are you sure you want to remove the selected tracks from this playlist? ¿Esta seguro de que desea eliminar las pistas seleccionadas de la lista de reproducción? - + Don't ask again during this session No volver a preguntar durante esta sesión - + Confirm track removal Confirmar eliminación del track @@ -16971,58 +17062,58 @@ Carpeta: %2 Shuffle Tracks - + Mezclar pistas mixxx::CoreServices - + fonts tipos de letra - + database base de datos - + effects efectos - + audio interface interface de sonido - + decks - + decks - + library Biblioteca - + Choose music library directory Elija el directorio de la biblioteca de la música - + controllers Controladores - + Cannot open database No se puede abrir la base de datos - + Unable to establish a database connection. Mixxx requires QT with SQLite support. Please read the Qt SQL driver documentation for information on how to build it. @@ -17036,70 +17127,80 @@ Pulse Aceptar para salir. mixxx::DlgLibraryExport - + Entire music library + Biblioteca de música completa + + + + Crates - - Selected crates - Cajas seleccionadas + + Playlists + - + + Selected crates/playlists + + + + Browse Ver - + Export directory - + Exportar directorio - + Database version - + Versión de base de datos - + Export Exportar - + Cancel Cancelar - + Export Library to Engine DJ "Engine DJ" must not be translated - + Exportar biblioteca a Engine DJ - + Export Library To - + Exportar biblioteca a - + No Export Directory Chosen - + No se seleccionó un directorio de exportación - + No export directory was chosen. Please choose a directory in order to export the music library. - + No se escogió un directorio de exportación. Por favor escoja un directorio para poder exportar la biblioteca de música. - + A database already exists in the chosen directory. Exported tracks will be added into this database. - + Una base de datos ya existe en el directorio seleccionado. Las pistas exportadas serán añadidas a esta base de datos. - + A database already exists in the chosen directory, but there was a problem loading it. Export is not guaranteed to succeed in this situation. - + Una base de datos ya existe en el directorio seleccionado, pero ocurrió un problema al cargarla. No se garantiza una exportación exitosa en esta situación. @@ -17118,34 +17219,35 @@ Pulse Aceptar para salir. mixxx::EnginePrimeExportJob - + Failed to export track %1 - %2: %3 %1 is the artist %2 is the title and %3 is the original error message - + Fallo al exportar %1 - %2: +%3 mixxx::LibraryExporter - + Export Completed - + Exportación completada - - Exported %1 track(s) and %2 crate(s). - Exportados %1 pista(s) y %2 caja(s). + + Exported %1 track(s), %2 crate(s), and %3 playlist(s). + - + Export Failed - + Exportación fallida - + Exporting to Engine DJ... - + Exportando a Engine DJ... @@ -17153,7 +17255,7 @@ Pulse Aceptar para salir. Abort - + Abortar diff --git a/res/translations/mixxx_es_AR.qm b/res/translations/mixxx_es_AR.qm index f7f53e416ca1f00c038e10f2c63e18d8abbae48c..8580654440d4fdcfc04d52db2fdd155a73514f26 100644 GIT binary patch delta 54900 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

q8J*cRbk9 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 delta 25571 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 diff --git a/res/translations/mixxx_es_AR.ts b/res/translations/mixxx_es_AR.ts index 5d9391783fe1..448751f8876f 100644 --- a/res/translations/mixxx_es_AR.ts +++ b/res/translations/mixxx_es_AR.ts @@ -26,17 +26,17 @@ Enable Auto DJ - + Activar Auto DJ Disable Auto DJ - + Desactivar Auto DJ Clear Auto DJ Queue - + Limpiar la cola de Auto DJ @@ -51,17 +51,17 @@ Confirmation Clear - + Confirmación limpiada Do you really want to remove all tracks from the Auto DJ queue? - + Realmente quieres eliminar todas las pistas de la cola de Auto DJ? This can not be undone. - + ¡Esto no puede ser revertido! @@ -149,7 +149,7 @@ BasePlaylistFeature - + New Playlist Nueva lista de reproducción @@ -160,7 +160,7 @@ - + Create New Playlist Crear nueva lista de reproducción @@ -190,113 +190,120 @@ Duplicar - - + + Import Playlist Importar Lista de Reproducción - + Export Track Files Exportar pistas de audio - + Analyze entire Playlist Analizar toda la lista de reproducción - + Enter new name for playlist: Escriba un nuevo nombre para la lista de reproducción: - + Duplicate Playlist Duplicar lista de reproducción - - + + Enter name for new playlist: Escriba un nombre para la nueva lista de reproducción: - - + + Export Playlist Exportar lista de reproducción - + Add to Auto DJ Queue (replace) Añadir a la lista de DJ Automático (reemplazar). - + + + Export to Engine DJ + "Engine DJ" is a product name and must not be translated. + + + + Rename Playlist Renombrar Lista de Reproducción - - + + Renaming Playlist Failed Ha fallado el renombrado de la lista de reproducción - - - + + + A playlist by that name already exists. Una lista de reproducción ya existe con el mismo nombre - - - + + + A playlist cannot have a blank name. El nombre de una lista de reproduccion no puede estar vacío - + _copy //: Appendix to default name when duplicating a playlist Copiar - - - - - - + + + + + + Playlist Creation Failed Fallo la creación de lista de Reproducción - - + + An unknown error occurred while creating playlist: Se ha producido un error desconocido al crear la lista de reproducción: - + Confirm Deletion Confirmar Borrado - + Do you really want to delete playlist <b>%1</b>? ¿Desea realmente eliminar la lista de reproducción<b>%1</b>? - + M3U Playlist (*.m3u) Lista de reproducción M3U (*.m3u) - + M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Text CSV (*.csv);;Readable Text (*.txt) Lista de reproducción M3U (*.m3u);;Lista de reproducción M3U8 (*.m3u8);;Lista de reproducción PLS (*.pls);;Texto CSV (*.csv);;Texto legible (*.txt) @@ -304,12 +311,12 @@ BaseSqlTableModel - + # # - + Timestamp Marca de tiempo @@ -317,7 +324,7 @@ BaseTrackPlayerImpl - + Couldn't load track. No se ha podido cargar la pista. @@ -325,142 +332,142 @@ BaseTrackTableModel - + Album Album - + Album Artist Artista del Album - + Artist Artista - + Bitrate Tasa de bits - + BPM BPM - + Channels Canales - + Color Color - + Comment Comentario - + Composer Compositor - + Cover Art Portada - + Date Added Fecha de Agregado - + Last Played Última reproducción - + Duration Duración - + Type Tipo - + Genre Genero - + Grouping Agrupación - + Key Clave - + Location Ubicación - + Overview - + Resumen - + Preview Preescucha - + Rating Calificación - + ReplayGain Reproducir otra vez - + Samplerate Tasa de muestreo - + Played Reproducido - + Title Título - + Track # Pista n.º - + Year Año - + Fetching image ... Tooltip text on the cover art column shown when the cover is read from disk Recuperando imagen... @@ -609,6 +616,16 @@ "Computer" lets you navigate, view, and load tracks from folders on your hard disk and external devices. "Computadora" le permite navegar, ver y cargar pistas desde carpetas en su disco duro y dispositivos externos. + + + It shows the data from the file tags, not track data from your Mixxx library like other track views. + + + + + If you load a track file from here, it will be added to your library. + + BrowseTableModel @@ -806,7 +823,7 @@ Rescans the library when Mixxx is launched. - + Re escanea la librería cuando se inicia Mixxx @@ -856,7 +873,7 @@ trace - Arriba + Perfilar mensajes Sets the maximum file size of the mixxx.log file in bytes. Use -1 for unlimited. The default is 100 MB as 1e5 or 100000000. - + Configura el tamaño máximo del archivo mixxx.log en bytes. Usa -1 para ilimitado. Por defecto es 100 MB, como en 1e5 o 100000000. @@ -866,7 +883,7 @@ trace - Arriba + Perfilar mensajes Overrides the default application GUI style. Possible values: %1 - + Anula el estilo por defecto de la interfaz de usuario de la aplicación. Valores posibles: %1 @@ -1185,12 +1202,12 @@ trace - Arriba + Perfilar mensajes Equalizers - + Ecualizadores Vinyl Control - + Control de vinilo @@ -1983,7 +2000,7 @@ trace - Arriba + Perfilar mensajes Effects - + Efectos @@ -2463,12 +2480,12 @@ trace - Arriba + Perfilar mensajes Move Beatgrid Half a Beat - + Desplaza la cuadricula de tiempo medio pulso Adjust the beatgrid by exactly one half beat. Usable only for tracks with constant tempo. - + Ajusta la cuadrícula de tiempo en exactamente medio beat. Solo se puede usar en pistas con tempo constante. @@ -2666,13 +2683,13 @@ trace - Arriba + Perfilar mensajes Sort hotcues by position - + Ordenar hotcues por posición Sort hotcues by position (remove offsets) - + Ordenar hotcues por posición (removiendo desfases) @@ -3527,7 +3544,7 @@ trace - Arriba + Perfilar mensajes Unknown - + Desconocido @@ -3632,32 +3649,32 @@ trace - Arriba + Perfilar mensajes ControllerScriptEngineBase - + The functionality provided by this controller mapping will be disabled until the issue has been resolved. La funcionalidad provista por este mapa de controlador será desactivada hasta que el problema sea resuelto. - + You can ignore this error for this session but you may experience erratic behavior. Puedes ignorar este error durante esta sesión, pero podrías experimentar problemas impredecibles. - + Try to recover by resetting your controller. Prueba de corregirlo reseteando la controladora. - + Controller Mapping Error Error del mapa de controlador - + The mapping for your controller "%1" is not working properly. El mapa de tu controlador "%1" no funciona correctamente. - + The script code needs to be fixed. El código del script necesita ser reparado. @@ -3765,7 +3782,7 @@ trace - Arriba + Perfilar mensajes Importar cajón - + Export Crate Exportar cajón @@ -3775,7 +3792,7 @@ trace - Arriba + Perfilar mensajes Desbloquear - + An unknown error occurred while creating crate: Ocurrió un error desconocido al crear el cajón: @@ -3801,17 +3818,17 @@ trace - Arriba + Perfilar mensajes No se pudo renombrar el cajón - + Crate Creation Failed Falló la creación del cajón - + M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Text CSV (*.csv);;Readable Text (*.txt) Lista de reproducción M3U (*.m3u);;Lista de reproducción M3U8 (*.m3u8);;Lista de reproducción PLS (*.pls);;Texto CSV (*.csv);;Texto legible (*.txt) - + M3U Playlist (*.m3u) Lista de reproducción M3U (*.m3u) @@ -3937,12 +3954,12 @@ trace - Arriba + Perfilar mensajes Antiguos colaboradores - + Official Website Sitio web oficial - + Donate Donar @@ -3998,7 +4015,7 @@ trace - Arriba + Perfilar mensajes - + Analyze Analizar @@ -4043,17 +4060,17 @@ trace - Arriba + Perfilar mensajes Ejecuta el análisis de cuadrícula de tempo, clave musical y ReplayGain en las pistas seleccionadas. No genera formas de onda para las pistas seleccionadas para ahorrar espacio en disco. - + Stop Analysis Detener análisis - + Analyzing %1% %2/%3 Analizando %1% %2/%3 - + Analyzing %1/%2 Analizando %1/%2 @@ -4164,7 +4181,32 @@ Skip Silence Start Full Volume: The same as Skip Silence, but starting transitions with a centered crossfader, so that the intro starts at full volume. - + Modos de desvanecimiento de Auto DJ + +Intro completa + Outro: +Reproduce la intro completa y la outro. Usa la duración de la intro o la outro como +el tiempo de fundido cruzado, el que sea el más corto. Si no se ha marcado una intro u outro, +usa el tiempo de fundido cruzado seleccionado. + +Desvanecer al iniciar la Outro: +Inicia el fundido cruzado al inicio de la outro. Si la outro es más larga que la intro, +corta el final de la outro. Usa la duración de la intro o la outro como +el tiempo de fundido cruzado, el que sea más corto.Si no se ha marcado una intro u outro, +usa el tiempo de fundido cruzado seleccionado. + +Pista completa: +Reproduce la pista completa. Comienza el fundido cruzado desde el +número de segundos seleccionado antes del final de la pista. Un fundido cruzado negativo +agrega silencio entre las pistas. + +Saltar silencio: +Reproduce la pista completa excepto el silencio al inicio y al final. +Inicia el fundido cruzado desde el número de segundos seleccionado antes +del último sonido. + +Saltar silencio e iniciar con volumen al máximo: +Lo mismo que Saltar silencio, pero inicia la transición con el crossfader +centrado, de manera que la intro inicia con el volumen al máximo. @@ -4189,7 +4231,7 @@ crossfader, so that the intro starts at full volume. Skip Silence Start Full Volume - + Saltar silencio e iniciar con volumen al máximo @@ -4322,7 +4364,7 @@ A menudo resulta en cuadrículas de más calidad, pero no lo hacemos bien en pis Analyzer Settings - + Configuración del Analizador @@ -4344,7 +4386,7 @@ A menudo resulta en cuadrículas de más calidad, pero no lo hacemos bien en pis Re-analyze beats when settings change or beat detection data is outdated - + Re-analizar pulsaciones cuando las preferencias cambien o la información sobre pulsaciones sea obsoleta @@ -4470,37 +4512,37 @@ A menudo resulta en cuadrículas de más calidad, pero no lo hacemos bien en pis Si el mapeo no funciona, prueba a activar uno de los controles avanzados siguientes y prueba de nuevo. También puedes volver a detectar el control. - + Didn't get any midi messages. Please try again. No se detectó ningún mensaje MIDI. Por favor, inténtelo de nuevo. - + Unable to detect a mapping -- please try again. Be sure to only touch one control at once. No se detectó un mapeado -- Intentelo nuevamente. Asegurese de tocar sólo un control a la vez. - + Successfully mapped control: Control mapeado con éxito: - + <i>Ready to learn %1</i> <i>Preparado para asignar %1</i> - + Learning: %1. Now move a control on your controller. Aprendizaje: %1. Ahora mueva un control en su controlador. - + The selected control does not exist.<br>This likely a bug. Please report it on the Mixxx bug tracker.<br><a href='https://github.com/mixxxdj/mixxx/issues'>https://github.com/mixxxdj/mixxx/issues</a><br><br>You tried to learn: %1,%2 - + El control seleccionado no existe. <br>Esto es posiblemente un bug. Por favor repórtelo en el seguidor de bugs de Mixxx. <br><a href='https://github.com/mixxxdj/mixxx/issues'>https://github.com/mixxxdj/mixxx/issues</a><br><br> Trataste de vincular: %1,%2 - + The control you clicked in Mixxx is not learnable. This could be because you are either using an old skin and this control is no longer supported, or you clicked a control that provides visual feedback and can only be mapped to outputs like LEDs via scripts. @@ -5198,120 +5240,120 @@ associated with each key. Key palette - + Paleta de notas DlgPrefController - + Apply device settings? ¿Aplicar la configuración del dispositivo? - + Your settings must be applied before starting the learning wizard. Apply settings and continue? La configuración debe ser aplicada antes de iniciar el asistente de aprendizaje. ¿Aplicar la configuración y continuar? - + None Ningún - + %1 by %2 %1 por %2 - + Mapping has been edited Se ha editado el mapeo - + Always overwrite during this session Siempre sobreescribir durante esta sesión - + Save As Guardar como - + Overwrite Sobreescribir - + Save user mapping Guardar mapeo del usuario - + Enter the name for saving the mapping to the user folder. Ingresar el nombre del archivo de mapeo para guardarlo en la carpeta de usuario. - + Saving mapping failed Ha fallado el guardado del mapeo - + A mapping cannot have a blank name and may not contain special characters. El nombre del mapeo no puede estar en blanco, ni contener caracteres especiales. - + A mapping file with that name already exists. Ya existe un archivo de mapeo con el mismo nombre. - + Do you want to save the changes? Quieres guardar los cambios? - + Troubleshooting Solución de problemas - + <font color='#BB0000'><b>If you use this mapping your controller may not work correctly. Please select another mapping or disable the controller.</b></font><br><br>This mapping was designed for a newer Mixxx Controller Engine and cannot be used on your current Mixxx installation.<br>Your Mixxx installation has Controller Engine version %1. This mapping requires a Controller Engine version >= %2.<br><br>For more information visit the wiki page on <a href='https://mixxx.org/wiki/doku.php/controller_engine_versions'>Controller Engine Versions</a>. <font color='#BB0000'><b>Si usas este mapeo, tu controlador podría no funcionar correctamente. Por favor selecciona otro mapeo o deshabilita el controlador. </b></font><br><br>Este mapeo fue diseñado para un nuevo Motor de Controladores de Mixxx, y no puede ser usado con tu instalación actual.<br>Tu instalación de Mixxx posee la version del Motor de Controladores %1. Este mapeo requiere una versión del Motor de controladores >=%2.<br><br>Para más información visita la wiki de <a href='https://mixxx.org/wiki/doku.php/controller_engine_versions'>Versiones del Motor de Controladores</a>. - + Mapping already exists. El mapeo ya existe. - + <b>%1</b> already exists in user mapping folder.<br>Overwrite or save with a new name? <b>%1</b> ya existe en la carpeta de mapeos de usuario. <br>¿Deseas sobreescribir o guardar con otro nombre? - + Clear Input Mappings Limpiar mapeos de Entrada - + Are you sure you want to clear all input mappings? Está seguro de querer eliminar todos los mapeos de entrada? - + Clear Output Mappings Limpiar mapeos de Salida - + Are you sure you want to clear all output mappings? Está seguro de querer eliminar todos los mapeos de salida? @@ -5331,62 +5373,62 @@ Apply settings and continue? Device Info - + Información del dispositivo Physical Interface: - + Interfase física Vendor name: - + Nombre del fabricante: Product name: - + Nombre del producto: Vendor ID - + ID del proveedor VID: - + VID: Product ID - + ID del producto PID: - + PID: Serial number: - + Número de serie: USB interface number: - + Número de interfaz USB HID Usage-Page: - + Página de uso HID HID Usage: - + Uso de HID: @@ -5464,7 +5506,7 @@ Apply settings and continue? Data protocol: - + Protocolo de datos: @@ -5474,7 +5516,7 @@ Apply settings and continue? Mapping Settings - + Configuración de mapeo @@ -5527,7 +5569,7 @@ Apply settings and continue? Controllers - + Controladores @@ -5537,7 +5579,7 @@ Apply settings and continue? Enable MIDI Through Port - + Activar puerto de MIDI Through @@ -5642,6 +5684,16 @@ Apply settings and continue? Multi-Sampling Multi-Muestreo + + + Force 3D acceleration + + + + + If checked, Mixxx will always assume 3D acceleration is available. This may lead to pour performance if only CP-backed rendering is available.. + + Start in full-screen mode @@ -6169,7 +6221,7 @@ Siempre puedes arrastrar y tirar pistas en la pantalla para clonar una plataform Export - + Exportar @@ -6200,12 +6252,12 @@ Siempre puedes arrastrar y tirar pistas en la pantalla para clonar una plataform ❯ - + ❮ - + @@ -6256,62 +6308,62 @@ Siempre puedes arrastrar y tirar pistas en la pantalla para clonar una plataform DlgPrefInterface - + The minimum size of the selected skin is bigger than your screen resolution. El tamaño mínimo de la apariencia seleccionada es mas grande que la resolucion de su pantalla. - + Allow screensaver to run Permite el salvapantallas - + Prevent screensaver from running Evita que se active el salvapantallas - + Prevent screensaver while playing Evita el salvapantallas mientras reproduce - + Disabled Desactivado - + 2x MSAA 2x MSAA - + 4x MSAA 4x MSAA - + 8x MSAA 8x MSAA - + 16x MSAA 16x MSAA - + This skin does not support color schemes Este skin no soporta esquemas de color - + Information Información - + Mixxx must be restarted before the new locale, scaling or multi-sampling settings will take effect. Mixxx debe ser reiniciado para que el nuevo ajuste de locale, escalado o multi-muestreo tenga efecto. @@ -6348,7 +6400,7 @@ y te permite ajustar su pitch para lograr mezclas armónicas. Analyzer Settings - + Configuración del Analizador @@ -6378,7 +6430,7 @@ y te permite ajustar su pitch para lograr mezclas armónicas. Key Notation - + Notación de clave musical @@ -6576,7 +6628,7 @@ y te permite ajustar su pitch para lograr mezclas armónicas. Metadata means all track details (artist, title, playcount, etc.) as well as beatgrids, hotcues, and loops. This choice only affects the Mixxx library. No files on disk will be changed or deleted. - + Metadatos significa todos los detalles de la pista (artista, titulo, cantidad de reproducciones, etc) como cuadrículas de tempo, hotcues y bucles. Este cambio solo afecta a la biblioteca de Mixxx. Ningun archivo en el disco será cambiado o eliminado. @@ -6830,7 +6882,7 @@ y te permite ajustar su pitch para lograr mezclas armónicas. Search-as-you-type timeout: - + Tiempo de espera de búsqueda mientras escribe: @@ -7023,7 +7075,7 @@ y te permite ajustar su pitch para lograr mezclas armónicas. Reset stem controls on track load - + Reiniciar controles de stem al cargar pista @@ -7481,173 +7533,172 @@ El objetivo de sonoridad es aproximado y asume que la preganancia de la pista y DlgPrefSound - + %1 Hz %1 Hz - + Default (long delay) Por Defecto (mas retardo) - + Experimental (no delay) Experimental (sin retardo) - + Disabled (short delay) Desactivado (poco retardo) - + Soundcard Clock Reloj de la tarjeta de sonido - + Network Clock Reloj de red - + Direct monitor (recording and broadcasting only) Monitorización directa (solo grabación y emisión en vivo) - + Disabled Desactivado - + Enabled Habilitado - + Stereo Estéreo - + Mono Mono - + To enable Realtime scheduling (currently disabled), see the %1. Para activar el Planificador en tiempo real (actualmente desactivado), mira %1. - + The %1 lists sound cards and controllers you may want to consider for using Mixxx. %1 muestra una lista de tarjetas de sonido y controladores que podrías considerar para utilizar con Mixxx - + Mixxx DJ Hardware Guide Guía de Hardware DJ de Mixxx - + Information Información - + Mixxx must be restarted before the multi-threaded RubberBand setting change will take effect. Mixxx debe ser reiniciado para que el cambio de ajuste de RubberBand multi-hilo tenga efecto. - + auto (<= 1024 frames/period) auto (<= 1024 fotogramas/período) - + 2048 frames/period 2048 fotogramas/período - + 4096 frames/period 4096 fotogramas/período - + Are you sure? ¿Estás seguro(a)? - + Distribute stereo channels into mono channels for parallel processing will result in a loss of mono compatibility and a diffuse stereo image. It is not recommended during broadcasting or recording. Distribuir los canales estéreo en canales mono para su procesamiento en paralelo podría resultar en la pérdida de la compatibilidad mono y una imagen estéreo difusa. No se recomienda al transmitir en vivo o al grabar. - + Are you sure you wish to proceed? ¿Realmente deseas continuar? - + No No - + Yes, I know what I am doing Sí, se lo que estoy haciendo - + Microphone inputs are out of time in the record & broadcast signal compared to what you hear. La entrada de micrófono está desincronizada respecto la grabación y emisión comparado con la señal que se oye. - + Measure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. Mide la latencia total e introducela en la Compensacion de latencia del micrófono para sincronizar el micrófono. - - + Refer to the Mixxx User Manual for details. Para más detalles, lea el manual de usuario de Mixxx. - + Configured latency has changed. La latencia configurada ha cambiado. - + Remeasure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. Vuelve a medir la latencia total e introducela en la Compensacion de latencia del micrófono para sincronizar el micrófono. - + Realtime scheduling is enabled. La planificación en Tiempo Real está activada. - + Main output only Solo Salida principal - + Main and booth outputs Salidas principal y de cabina - + %1 ms %1 ms - + Configuration error Error de configuración @@ -7665,131 +7716,131 @@ El objetivo de sonoridad es aproximado y asume que la preganancia de la pista y API de sonido - + Sample Rate Tasa de muestreo - + Audio Buffer Búfer de audio - + Engine Clock Relog del motor - + Use soundcard clock for live audience setups and lowest latency.<br>Use network clock for broadcasting without a live audience. Usa el reloj de la tarjeta de sonido para emitir a un público presente y para la menor latencia. <br>Usa el reloj de red para emitir en vivo sin un público presente. - + Main Mix Mezcla principal - + Main Output Mode Modo de Salida principal - + Microphone Monitor Mode Modo de monitorización del micrófono - + Microphone Latency Compensation Compensación de latencia del micrófono - - - - + + + + ms milliseconds ms - + 20 ms 20 ms - + Buffer Underflow Count Contador de vaciado del búfer - + 0 0 - + Keylock/Pitch-Bending Engine Bloqueo tonal/Motor de Pitch-bend - + Multi-Soundcard Synchronization Sincronización con Múltiples Tarjetas de Sonido - + Output Salida - + Input Entrada - + System Reported Latency Latencia reportada por el sistema - + Enlarge your audio buffer if the underflow counter is increasing or you hear pops during playback. Aumente su búfer de audio si el contador de desbordamiento está aumentando o escuchas chasquidos durante la reproducción. - + Main Output Delay Retardo Salida Principal - + Headphone Output Delay Retraso/delay de la Salida de auriculares - + Booth Output Delay Retraso/delay de la salida de cabina - + Dual-threaded Stereo Estéreo en doble-hilo - + Hints and Diagnostics Diagnóstico y sugerencias - + Downsize your audio buffer to improve Mixxx's responsiveness. Disminuya su búfer de audio para mejorar la velocidad de respuesta de Mixxx. - + Query Devices Consultar aparatos @@ -7843,7 +7894,7 @@ El objetivo de sonoridad es aproximado y asume que la preganancia de la pista y Turntable Input Signal Boost - + Amplificación de señal de entrada de Vinilo @@ -7947,12 +7998,12 @@ El objetivo de sonoridad es aproximado y asume que la preganancia de la pista y 1/3 of waveform viewer options for "Text height limit" - + 1/3 de visualización de forma de onda Entire waveform viewer - + Visor de forma de onda completa @@ -7985,7 +8036,7 @@ El objetivo de sonoridad es aproximado y asume que la preganancia de la pista y OpenGL Status - + Estado de OpenGL @@ -8140,12 +8191,12 @@ Elija entre los distintos tipos de visualización para la forma de onda, que se Preferred font size - + Tamaño de tipo de letra preferido Text height limit - + Límite de altura de texto @@ -8185,18 +8236,18 @@ Elija entre los distintos tipos de visualización para la forma de onda, que se Beat grid opacity - + Superar la opacidad de la rejilla Scrolling Waveforms - + Deslizar formas de onda Type - + Tipo @@ -8206,7 +8257,7 @@ Elija entre los distintos tipos de visualización para la forma de onda, que se Set amount of opacity on beat grid lines. - + Establece la cantidad de opacidad en las líneas de la cuadrícula del compás. @@ -8216,17 +8267,17 @@ Elija entre los distintos tipos de visualización para la forma de onda, que se Play marker position - + <br><div><br data-mce-bogus="1"></div> Moves the play marker position on the waveforms to the left, right or center (default). - + Mover the marcador de posición en la pista a la izquierda, derecha o centro (Defabrica). Overview Waveforms - + Visualizar formas de onda @@ -8239,17 +8290,17 @@ Elija entre los distintos tipos de visualización para la forma de onda, que se Sound Hardware - + Hardware de sonido Controllers - + Controladores Library - + Biblioteca @@ -8329,7 +8380,7 @@ Elija entre los distintos tipos de visualización para la forma de onda, que se Key Detection - + Detección de tonalidad @@ -8344,7 +8395,7 @@ Elija entre los distintos tipos de visualización para la forma de onda, que se Vinyl Control - + Control de vinilo @@ -9349,27 +9400,27 @@ A menudo resulta en una cuadrícula de mayor calidad, pero no lo hacemos bien en EngineBuffer - + Soundtouch (faster) Soundtouch (rápido) - + Rubberband (better) Rubberband (mejor) - + Rubberband R3 (near-hi-fi quality) Banda elástica R3 (calidad casi alta fidelidad) - + Unknown, using Rubberband (better) Desconocido, utilizando Banda elástica (mejor) - + Unknown, using Soundtouch Desconocido, usando Soundtouch @@ -9554,12 +9605,12 @@ A menudo resulta en una cuadrícula de mayor calidad, pero no lo hacemos bien en Change color - + Cambiar color Choose a new color - + Escoger un nuevo color @@ -9567,32 +9618,32 @@ A menudo resulta en una cuadrícula de mayor calidad, pero no lo hacemos bien en Browse... - + Examinar… No file selected - + No se ha seleccionado ningún archivo Select a file - + Seleccionar un archivo LegacySkinParser - - + + Safe Mode Enabled Shown when Mixxx is running in safe mode. Modo Seguro Activado - - + + No OpenGL support. Shown when Spinny can not be displayed. Please keep @@ -9604,57 +9655,57 @@ Shown when VuMeter can not be displayed. Please keep de OpenGL. - + activate activar - + toggle conmutar - + right derecha - + left izquierda - + right small derecha pequeño - + left small izquierda pequeño - + up arriba - + down abajo - + up small arriba pequeño - + down small abajo pequeño - + Shortcut Atajo @@ -9662,37 +9713,37 @@ de OpenGL. Library - + This or a parent directory is already in your library. Este directorio o su superior ya se encuentra en tu biblioteca. - + This or a listed directory does not exist or is inaccessible. Aborting the operation to avoid library inconsistencies Este directorio o el indicado no existe o es inaccesible. Cancelando la operación para evitar inconsistencias de biblioteca. - - + + This directory can not be read. Este directorio no puede ser leído. - + An unknown error occurred. Aborting the operation to avoid library inconsistencies Ha ocurrido un error desconocido. Cancelando la operación para evitar inconsistencias de biblioteca - + Can't add Directory to Library No se pudo agregar el directorio a la biblioteca - + Could not add <b>%1</b> to your library. %2 @@ -9701,27 +9752,27 @@ Cancelando la operación para evitar inconsistencias de biblioteca %2 - + Can't remove Directory from Library No se pudo remover el directorio de la biblioteca. - + An unknown error occurred. Ha ocurrido un error desconocido. - + This directory does not exist or is inaccessible. Este directorio no existe o es inaccesible. - + Relink Directory Reenlazar directorio - + Could not relink <b>%1</b> to <b>%2</b>. %3 @@ -9733,27 +9784,27 @@ Cancelando la operación para evitar inconsistencias de biblioteca LibraryFeature - + Import Playlist Importar Lista de Reproducción - + Playlist Files (*.m3u *.m3u8 *.pls *.csv) Archivos de lista de reproducción (*.m3u *.m3u8 *.pls *.csv) - + Overwrite File? ¿Sobrescribir archivo? - + A playlist file with the name "%1" already exists. The default "m3u" extension was added because none was specified. Do you really want to overwrite it? - + Ya existe un archivo de lista de reproducción con el nombre "% 1". Se agregó la extensión predeterminada "m3u" porque no se especificó ninguna. ¿Realmente desea sobrescribirla? @@ -9899,253 +9950,253 @@ Do you really want to overwrite it? MixxxMainWindow - + Sound Device Busy El dispositivo de sonido está ocupado - + <b>Retry</b> after closing the other application or reconnecting a sound device <b>Reintente</b> luego de cerrar las otras aplicaciones o reconectar un dispositivo de sonido - - - + + + <b>Reconfigure</b> Mixxx's sound device settings. <b>Reconfigure</b> las opciones del dispositivo de sonido de Mixxx. - - + + Get <b>Help</b> from the Mixxx Wiki. Obtenga <b>ayuda</b> del wiki de Mixxx. - - - + + + <b>Exit</b> Mixxx. <b>Salir</b> de Mixxx. - + Retry Reintentar - + skin apariencia - + Allow Mixxx to hide the menu bar? ¿Permitir a Mixxx ocultar la barra de menú? - + Hide Always show the menu bar? Ocultar - + Always show Mostrar siempre - + The Mixxx menu bar is hidden and can be toggled with a single press of the <b>Alt</b> key.<br><br>Click <b>%1</b> to agree.<br><br>Click <b>%2</b> to disable that, for example if you don't use Mixxx with a keyboard.<br><br>You can change this setting any time in Preferences -> Interface.<br> Keep formatting tags <b> (bold text) and <br> (linebreak). %1 is the placeholder for the 'Always show' button label La barra de menú de Mixxx ha sido ocultada y se puede alternar presionando la tecla <b>Alt</b>. <br><br>Haz clic en <b>%1</b> para aceptar. <br><br>Haz clic en <b>%2</b> para desactivarlo, por ejemplo si usas Mixxx sin un teclado. <br><br>Puedes cambiar este ajuste en cualquier momento en Preferencias -> Interfaz. <br> - + Ask me again Pregúntame de nuevo - - + + Reconfigure Reconfigurar - + Help Ayuda - - + + Exit Salir - - + + Mixxx was unable to open all the configured sound devices. Mixxx no ha podido activar todos los dispositivos de sonido configurados. - + Sound Device Error Error del dispositivo de sonido - + <b>Retry</b> after fixing an issue <b>Reintenta</b> una vez corregido el problema - + No Output Devices No hay dispositivos de salida - + Mixxx was configured without any output sound devices. Audio processing will be disabled without a configured output device. Mixxx fue configurado sin ningún dispositivo de salida de audio. El procesamiento de audio estará desactivado mientras no se configure un dispositivo de audio de salida. - + <b>Continue</b> without any outputs. <b>Continuar</b> sin ninguna salida. - + Continue Continuar - + Load track to Deck %1 Cargar pista al plato %1 - + Deck %1 is currently playing a track. El plato %1 está reproduciendo una pista. - + Are you sure you want to load a new track? ¿Está seguro de cargar una pista nueva? - + There is no input device selected for this vinyl control. Please select an input device in the sound hardware preferences first. No hay ningún dispositivo de entrada seleccionado para el control por vinilo. Por favor, seleccione un dispositivo de entrada en las preferencias de hardware de sonido. - + There is no input device selected for this passthrough control. Please select an input device in the sound hardware preferences first. No hay ningún dispositivo de entrada seleccionado para el control passthrough. Por favor, seleccione un dispositivo de entrada en las preferencias de hardware de sonido. - + There is no input device selected for this microphone. Do you want to select an input device? No se ha seleccionado un dispositivo de Entrada para este micrófono. ¿Deseas escoger uno ahora? - + There is no input device selected for this auxiliary. Do you want to select an input device? No se ha seleccionado un dispositivo de entrada para este Auxiliar. ¿Deseas escoger uno ahora? - + Scan took %1 - + El escaneo tomo %1 - + No changes detected. - + No se han detectado cambios - - + + %1 tracks in total - + %1 pistas en total - + %1 new tracks found - + Encontradas %1 pistas nuevas - + %1 moved tracks detected - + %1 pistas movidas detectadas - + %1 tracks are missing (%2 total) - + %1 pistas perdidas (%2 en total) - + %1 tracks have been rediscovered - + %1 pistas han sido reencontradas - + Library scan finished - + Escaneo de la biblioteca terminado - + Error in skin file Error en el archivo de la apariencia - + The selected skin cannot be loaded. No se ha podido cargar la apariencia seleccionada. - + OpenGL Direct Rendering Renderizado directo de OpenGL - + Direct rendering is not enabled on your machine.<br><br>This means that the waveform displays will be very<br><b>slow and may tax your CPU heavily</b>. Either update your<br>configuration to enable direct rendering, or disable<br>the waveform displays in the Mixxx preferences by selecting<br>"Empty" as the waveform display in the 'Interface' section. - + El renderizado directo no está habilitado en su máquina. <br><br>Esto significa que las visualizaciones de forma de onda serán muy <br><b>lentas y pueden exigir mucho a su CPU</b>. Actualice su <br>configuración para habilitar la representación directa o desactiv<br> las visualizaciones de forma de onda en las preferencias de Mixxx seleccionando <br>"Vacío" como la pantalla de forma de onda en la sección 'Interfaz'. - - - + + + Confirm Exit Confirmar salida - + A deck is currently playing. Exit Mixxx? Un plato está reproduciendo. ¿Salir de Mixxx? - + A sampler is currently playing. Exit Mixxx? Un reproductor de muestras está en reproducción. ¿Salir de Mixxx? - + The preferences window is still open. La ventana de preferencias todavía está abierta. - + Discard any changes and exit Mixxx? ¿Descartar cambios y salir de Mixxx? @@ -10161,13 +10212,13 @@ Do you want to select an input device? PlaylistFeature - + Lock Bloquear - - + + Playlists Listas de reproducción @@ -10177,32 +10228,58 @@ Do you want to select an input device? Aleatorizar lista de reproducción - + + Unlock all playlists + + + + + Delete all unlocked playlists + + + + Unlock Desbloquear - + + + Confirm Deletion + + + + + Do you really want to delete all unlocked playlists? + + + + + Deleting %1 unlocked playlists.<br>This operation can not be undone! + + + + Playlists are ordered lists of tracks that allow you to plan your DJ sets. Las listas de reproducción son listar ordenadas de pistas que te permiten planificar tus sesiones de DJ. - + It may be necessary to skip some tracks in your prepared playlist or add some different tracks in order to maintain the energy of your audience. Podría ser necesario saltar algunas pistas en tu lista de reproducción planificada, o añadir algunas pistas diferentes, con el fin de mantener la energía de tu audiencia. - + Some DJs construct playlists before they perform live, but others prefer to build them on-the-fly. Algunos DJ preparan listas de reproducción antes de tocar en vivo, pero otros prefieren hacerlo en el momento. - + When using a playlist during a live DJ set, remember to always pay close attention to how your audience reacts to the music you've chosen to play. Cuando uses una lista de reproducción en una actuación en vivo, recuerda siempre prestar mucha atención a cómo reacciona la audiencia con la música que has elegido reproducir. - + Create New Playlist Crear nueva lista de reproducción @@ -10212,7 +10289,7 @@ Do you want to select an input device? Mixxx Hotcue Colors - + Colores de hotcues de Mixxx @@ -10220,82 +10297,82 @@ Do you want to select an input device? Serato DJ Track Metadata Hotcue Colors - + Metadatos de colores de hotcues de pistas de Serato DJ Serato DJ Pro Hotcue Colors - + Colores de hotcues de Serato DJ Pro Rekordbox COLD1 Hotcue Colors - + Colores de hotcues de Rekordbox COLD1 Rekordbox COLD2 Hotcue Colors - + Colores de hotcues de Rekordbox COLD2 Rekordbox COLORFUL Hotcue Colors - + Colores de hotcues COLORFUL de Rekordbox Mixxx Track Colors - + Colores de pistas de Mixxx Rekordbox Track Colors - + Colores de pistas de Rekordbox Serato DJ Pro Track Colors - + Colores de pistas de Serato DJ Pro Traktor Pro Track Colors - + Colores de pistas de Traktor Pro VirtualDJ Track Colors - + Colores de pistas de VirtualDJ Mixxx Key Colors - + Colores de notas de Mixxx Traktor Key Colors - + Colores de notas de Traktor Mixed In Key - Key Colors - + Colores de notas de Mixed In Key Protanopia / Protanomaly Key Colors - + Colores de notas de Protanopia/Protanomalía Deuteranopia / Deuteranomaly Key Colors - + Colores de notas de Deuteranopía/Deuteranomalía Tritanopia / Tritanomaly Key Colors - + Colores de notas de Tritanopía/Tritanomalía @@ -10429,7 +10506,7 @@ Do you want to scan your library for cover files now? Switch - + Switch @@ -10514,7 +10591,7 @@ Do you want to scan your library for cover files now? Vinyl Control - + Control de vinilo @@ -10879,7 +10956,7 @@ Si la amplitud es cero, este parámetro permite mover la posición manualmente p The Mixxx Team - + Equipo de Mixxx @@ -10909,12 +10986,12 @@ Si la amplitud es cero, este parámetro permite mover la posición manualmente p Gain - + Ganancia Set the gain of metronome click sound - + Configura la ganancia del sonido del metrónomo @@ -11863,7 +11940,7 @@ Consejo: compensa las voces de "ardillitas" o "gruñonas"La cantidad de amplificación aplicada a la señal de audio. A niveles más altos, el audio estará más distorsionado. - + Passthrough Paso @@ -12033,12 +12110,12 @@ pueden introducir un efecto de "bombeo" y/o distorsión. varios - + built-in nativo - + missing no encontrado @@ -12166,54 +12243,54 @@ pueden introducir un efecto de "bombeo" y/o distorsión. RekordboxFeature - - - + + + Rekordbox Rekordbox - + Playlists Listas de reproducción - + Folders Carpetas - + Reads databases exported for Pioneer CDJ / XDJ players using the Rekordbox Export mode.<br/>Rekordbox can only export to USB or SD devices with a FAT or HFS file system.<br/>Mixxx can read a database from any device that contains the database folders (<tt>PIONEER</tt> and <tt>Contents</tt>).<br/>Not supported are Rekordbox databases that have been moved to an external device via<br/><i>Preferences > Advanced > Database management</i>.<br/><br/>The following data is read: - + Hot cues Accesos Directos - + Loops (only the first loop is currently usable in Mixxx) Bucles (solo el primer bucle es utilizable en Mixxx) - + Check for attached Rekordbox USB / SD devices (refresh) Buscar dispositivos de almacenamiento Rekordbox (refrescar) - + Beatgrids Grillas de pulsos - + Memory cues Cues en memoria - + (loading) Rekordbox (cargando) Rekordbox @@ -12655,22 +12732,22 @@ pueden introducir un efecto de "bombeo" y/o distorsión. Reading track for fingerprinting failed. - + Ha fallado la lectura de la pista para fingerprinting Identifying track through AcoustID - + Identificando pista mediante AcoustID Could not identify track through AcoustID. - + No se pudo identificar la pista mediante AcoustID. Could not find this track in the MusicBrainz database. - + No se pudo encontrar esta pista en la base de datos de MusicBrainz. @@ -12934,7 +13011,7 @@ pueden introducir un efecto de "bombeo" y/o distorsión. Vinyl Control - + Control de vinilo @@ -13242,7 +13319,7 @@ pueden introducir un efecto de "bombeo" y/o distorsión. Toggle visibility of Rate Control - + Alternar visibilidad del control de velocidad @@ -13392,7 +13469,7 @@ pueden introducir un efecto de "bombeo" y/o distorsión. Left click and hold allows to preview the position where the play head will jump to on release. Dragging can be aborted with right click. - + Mantener el clic izquierdo permite previsualizar la posición donde la cabeza de reproducción saltará al soltarlo. El arrastre puede ser abortado con el clic derecho. @@ -13442,12 +13519,12 @@ pueden introducir un efecto de "bombeo" y/o distorsión. Shows the current volume for the left channel of the main output. - + Muestra el volumen actual para el canal izquierdo en la salida principal. Shows the current volume for the right channel of the main output. - + Muestra el volumen actual para el canal derecho de la salida principal. @@ -13459,27 +13536,27 @@ pueden introducir un efecto de "bombeo" y/o distorsión. Adjusts the main output gain. - + Ajusta el volumen principal Determines the main output by fading between the left and right channels. - + Determina la salida principal desvaneciendo entre los canales izquierdo y derecho. Adjusts the left/right channel balance on the main output. - + Ajusta el balance de los canales izquierdo/derecho en la salida principal. Crossfades the headphone output between the main mix and cueing (PFL or Pre-Fader Listening) signal. - + Desvanecimiento cruzado de la salida de auriculares entre la salida principal y la señal de cueing (PFL o Escucha Pre-Deslizador) If activated, the main mix signal plays in the right channel, while the cueing signal plays in the left channel. - + Si se activa, la señal principal de la mezcla se reproduce en el canal derecho, mientras que la señal de cueing se reproduce en el canal izquierdo. @@ -13494,12 +13571,12 @@ pueden introducir un efecto de "bombeo" y/o distorsión. Show/hide the beatgrid controls section - + Mostrar/ocultar la sección de controles de la cuadrícula de tiempo Show/hide the stem mixing controls section - + Mostrar/ocultar la sección de controles de mezcla de stems @@ -13509,17 +13586,17 @@ pueden introducir un efecto de "bombeo" y/o distorsión. Volume Meters - + Medidores de volumen mix microphone input into the main output. - + mezcla la entrada de micrófono con la salida principal. Auto: Automatically reduce music volume when microphone volume rises above threshold. - + Auto: reduce automáticamente el volumen de la música cuando el volumen del micrófono supera el umbral. @@ -13530,17 +13607,17 @@ pueden introducir un efecto de "bombeo" y/o distorsión. Auto: Sets how much to reduce the music volume when the volume of active microphones rises above threshold. - + Auto: configura cuánto se reduce el volumen de la música cuando el volumen de los micrófonos activos supera el umbral. Manual: Sets how much to reduce the music volume, when talkover is activated regardless of volume of microphone inputs. - + Manual: configura cuánto reducir e If keylock is disabled, pitch is also affected. - + Si el bloqueo tonal se desactiva, la altura también es afectada. @@ -13555,7 +13632,7 @@ pueden introducir un efecto de "bombeo" y/o distorsión. Raises playback speed in small steps. - + Incrementa la velocidad de reproducción en pasos pequeños. @@ -13570,7 +13647,7 @@ pueden introducir un efecto de "bombeo" y/o distorsión. Lowers playback speed in small steps. - + Reduce la velocidad de reproducción en pasos pequeños. @@ -13580,12 +13657,12 @@ pueden introducir un efecto de "bombeo" y/o distorsión. Holds playback speed higher while active (tempo). - + Mantiene la velocidad de reproducción alta cuando se activa (tempo). Holds playback speed higher (small amount) while active. - + Mantiene la velocidad de reproducción alta (pequeña cantidad) cuando se activa. @@ -13595,59 +13672,60 @@ pueden introducir un efecto de "bombeo" y/o distorsión. Holds playback speed lower while active (tempo). - + Mantiene la velocidad de reproducción baja cuando se activa (tempo). Holds playback speed lower (small amount) while active. - + Mantiene la velocidad de reproducción baja (pequeña cantidad) cuando se activa. When tapped repeatedly, adjusts the tempo to match the tapped BPM. - + Cuando se pulsa repetidamente, ajusta el tempo para coincidir con la frecuencia de pulsaciones. Tempo Tap - + Seguidor de Tempo (Tempo Tap) Rate Tap and BPM Tap - + Frecuencia de pulsaciones y de BPM Adjust beatgrid by exactly one half beat. Usable only on tracks with constant tempo. - + Ajusta la cuadrícula de tiempo en exactamente medio beat. Solo se puede usar en +pistas con tempo constante Revert last BPM/Beatgrid Change - + Revierte el último cambio de BPM/cuadrícula de tiempo Revert last BPM/Beatgrid Change of the loaded track. - + Revierte el último cambio de BPM/Cuadrícula de tiempo para la pista cargada. Toggle the BPM/beatgrid lock - + Cambia el bloqueo de BPM/cuadrícula de tiempo Tempo and Rate Tap - + Toques de Tempo y Frecuencia Tempo, Rate Tap and BPM Tap - + Toques de Tempo, Frecuencia y BPM @@ -13663,79 +13741,79 @@ tracks with constant tempo. Left click: shift 10 milliseconds earlier - + Clic izquierdo: adelantar 10 milisegundos Right click: shift 1 millisecond earlier - + Clic derecho: adelantar 1 milisegundo Shift cues later - + Retrasar cues Left click: shift 10 milliseconds later - + Clic izquierdo: retrasar 10 milisegundos Right click: shift 1 millisecond later - + Clic derecho: retrasar 1 milisegundo Drag a Hotcue button here to continue playing after releasing the Hotcue. - + Arrastra un botón de Hotcue aquí para continuar reproduciendo después de soltar la hotcue. Hint: Change the default cue mode in Preferences -> Decks. - + Sugerencia: cambie el modo por defecto de las cues en Preferencias -> Platos. Mutes the selected channel's audio in the main output. - + Silencia el audio del canal seleccionado en la salida principal. Main mix enable - + Activador de mezcla principal Hold or short click for latching to mix this input into the main output. - + Clic sostenido o corto para enganchar, para mezclar esta entrada con la salida principal. If hotcue is a loop cue, toggles the loop and jumps to if the loop is behind the play position. - + Si la hotcue es una cue de bucle, activa el bucle y salta hacia él si se encuentra detrás de la posición de reproducción. If the play position is inside an active loop, stores the loop as loop cue. - + Si la posición de reproducción se encuentra dentro de un bucle activo, almacena el bucle como una hotcue de bucle. Drag this button onto another Hotcue button to move it there (change its index). If the other hotcue is set, the two are swapped. - + Arrastrar este botón dentro de otro botón de hotcue para moverlo hacia este (cambiando su número). Si la otra hotcue ya se encuentra definida, las dos son intercambiadas. Expand/Collapse Samplers - + Expandir/contraer samplers Toggle expanded samplers view. - + Alternar la vista expandida de los samplers. @@ -13745,12 +13823,12 @@ tracks with constant tempo. Auto DJ is active - + Auto DJ se encuentra activo Red for when needle skip has been detected. - + Rojo cuando se detecta un salto de aguja. @@ -13790,7 +13868,7 @@ tracks with constant tempo. If the track has no beats the unit is seconds. - + Si la pista no tiene pulsaciones, la unidad es segundos. @@ -13830,12 +13908,12 @@ tracks with constant tempo. Beatloop Anchor - + Ancla del bucle de pulsaciones Define whether the loop is created and adjusted from its staring point or ending point. - + Define si el bucle es creado y ajustado desde su punto de inicio o de final. @@ -13930,12 +14008,12 @@ tracks with constant tempo. Hint: Change the time format in Preferences -> Decks. - + Sugerencia: cambie el formato de tiempo en Preferencias -> Platos. Show/hide intro & outro markers and associated buttons. - + Mostrar/ocultar marcadores de intro y outro, y sus botones asociados. @@ -13948,7 +14026,7 @@ tracks with constant tempo. If marker is set, jumps to the marker. - + Si el marcador se encuentra definido, salta al marcador. @@ -13956,7 +14034,7 @@ tracks with constant tempo. If marker is not set, sets the marker to the current play position. - + Si el marcador no se encuentra definido, lo configura a la posición de reproducción actual. @@ -13964,7 +14042,7 @@ tracks with constant tempo. If marker is set, clears the marker. - + Si el marcador se encuentra definido, lo elimina. @@ -13989,7 +14067,7 @@ tracks with constant tempo. Adjust the mixing of the dry (input) signal with the wet (output) signal of the effect unit - + Ajuste la mezcla de la señal seca (entrada) con la señal húmeda (salida) de la unidad de efectos @@ -13999,7 +14077,7 @@ tracks with constant tempo. D+W mode: Add wet to dry - + Modo D+W: agregue húmedo a seco @@ -14009,24 +14087,25 @@ tracks with constant tempo. Adjust how the dry (input) signal is mixed with the wet (output) signal of the effect unit - + Ajuste cómo se mezcla la señal seca (entrada) con la señal húmeda (salida) de la unidad de efectos Dry/Wet mode (crossed lines): Mix knob crossfades between dry and wet Use this to change the sound of the track with EQ and filter effects. - + Modo seco / húmedo (líneas cruzadas): Mezcle los fundidos cruzados de la perilla entre seco y húmedo. Use esto para cambiar el sonido de la pista con EQ y efectos de filtro. Dry+Wet mode (flat dry line): Mix knob adds wet to dry Use this to change only the effected (wet) signal with EQ and filter effects. - + Modo Seco+Húmedo (línea seca plana): La perilla de mezcla agrega mojado a seco +Utiliza esto para cambiar únicamente la señal afectada (mojada) con EQ y efectos de filtrado. Route the main mix through this effect unit. - + Enruta la mezcla principal a través de esta unidad de efectos. @@ -14046,42 +14125,42 @@ Use this to change only the effected (wet) signal with EQ and filter effects. Stem Label - + Etiqueta de stem Name of the stem stored in the stem file - + Nombre del stem almacenado en el archivo de stem Text is displayed in the stem color stored in the stem file - + El texto es presentado con el color del stem almacenado en el archivo de stem this stem color is also used for the waveform of this stem - + este color de stem también es usado en la forma de onda de este stem Stem Mute - + Silenciar stem Toggle the stem mute/unmuted - + Alterna el silencio del stem Stem Volume Knob - + Perilla de volumen del stem Adjusts the volume of the stem - + Ajusta el volumen del stem @@ -14349,7 +14428,7 @@ Use this to change only the effected (wet) signal with EQ and filter effects. Inactive: parameter not linked - + Inactivo: parámetro no enlazado @@ -14565,17 +14644,17 @@ Use this to change only the effected (wet) signal with EQ and filter effects. Left click to jump around in the track. - + Clic izquierdo para saltar a lo largo de la pista. Right click hotcues to edit their labels and colors. - + Click derecho en los accesos directos para editar sus etiquetas y colores. Right click anywhere else to show the time at that point. - + Clic derecho en cualquier otra parte para mostrar el tiempo en ese punto. @@ -14670,7 +14749,7 @@ Use this to change only the effected (wet) signal with EQ and filter effects. Maximize Library - + Maximizar Biblioteca @@ -14685,7 +14764,7 @@ Use this to change only the effected (wet) signal with EQ and filter effects. Changes the number of hotcue buttons displayed in the deck - + Cambia el número de botones de acceso directo mostrados en el deck @@ -14711,12 +14790,12 @@ Use this to change only the effected (wet) signal with EQ and filter effects. Opens the track properties editor - + Abre el editor de propiedades de pista Opens the track context menu. - + Abre el menú contextual de la pista @@ -14818,12 +14897,12 @@ Use this to change only the effected (wet) signal with EQ and filter effects. Drag this button onto a Play button while previewing to continue playback after release. - + Arrastre este botón a un boton de Play durante la preescucha para continuar la reproducción tras soltarlo. Dragging with Shift key pressed will not start previewing the hotcue. - + Arrastrar mientras presiona la tecla Shift no iniciará la preescucha de la hotcue. @@ -15257,22 +15336,22 @@ Use this to change only the effected (wet) signal with EQ and filter effects. Replace Existing File? - + ¿Reemplazar el archivo existente? "%1" already exists, replace? - + "%1% ya existe, ¿reemplazar? &Replace - + &Reemplazar Apply to all files - + Aplicar a todos los archivos @@ -15371,7 +15450,7 @@ Use this to change only the effected (wet) signal with EQ and filter effects. frameSwapped-signal driven phase locked loop - + Bucle con bloqueo de fase manejado por señal con marco cambiado @@ -15397,12 +15476,12 @@ Use this to change only the effected (wet) signal with EQ and filter effects. No color - + Sin color Custom color - + Color personalizado @@ -15455,47 +15534,47 @@ Carpeta: %2 WCueMenuPopup - + Cue number - + Número de cue - + Cue position Posición Marca - + Edit cue label Editar etiqueta de marca - + Label... - + Etiqueta... - + Delete this cue Borrar esta marca - + Toggle this cue type between normal cue and saved loop - + Alterna el tipo de esta cue entre cue normal y bucle guardado - + Left-click: Use the old size or the current beatloop size as the loop size - + Clic izquierdo: usar el tamaño anterior o el del bucle actual como el tamaño de bucle - + Right-click: Use the current play position as loop end if it is after the cue - + Clic derecho: usar la posición de reproducción actual como final del bucle si se encuentra después de la cue - + Hotcue #%1 Acceso DIrecto #%1 @@ -15510,7 +15589,7 @@ Carpeta: %2 Rename Preset - + Renombrar preajuste @@ -15620,407 +15699,437 @@ Carpeta: %2 - Create &New Playlist + Search in Current View... + Search for tracks in the current library view + + + + + Ctrl+f + + + + + Search in Tracks Library... + + + + + Search in the internal track collection under "Tracks" in the library + + + + + Ctrl+Shift+F + + + + + Create &New Playlist + Crear &nueva Playlist + + + Create a new playlist Crear una nueva lista de reproducción - + Ctrl+n Ctrl+N - + Create New &Crate Crear un nuevo&cajón - + Create a new crate Crear un nuevo cajón - + Ctrl+Shift+N Ctrl+Mayús+N - - + + &View &Vista - + Auto-hide menu bar - + Auto-ocultar barra de menú - + Auto-hide the main menu bar when it's not used. - + Auto-ocultar la barra de menú principal cuando no es utilizada. - + May not be supported on all skins. Puede no estar disponible para todas las apariencias. - + Show Skin Settings Menu Mostrar menú de ajustes de aspecto - + Show the Skin Settings Menu of the currently selected Skin Mostrar la configuración actual del menu de tema - + Ctrl+1 Menubar|View|Show Skin Settings Ctrl+1 - + Show Microphone Section Mostrar seccion del microfono - + Show the microphone section of the Mixxx interface. Muestra la sección de control de micrófono de la interfaz de Mixxx. - + Ctrl+2 Menubar|View|Show Microphone Section Ctrl+2 - + Show Vinyl Control Section Mostrar la Sección de Control de Vinilo - + Show the vinyl control section of the Mixxx interface. Muestra la sección de control de vinilo de la interfaz de Mixxx. - + Ctrl+3 Menubar|View|Show Vinyl Control Section Ctrl+3 - + Show Preview Deck Mostrar el reproductor de preescucha - + Show the preview deck in the Mixxx interface. Muestra el reproductor de preescucha en la interfaz de Mixxx. - + Ctrl+4 Menubar|View|Show Preview Deck Ctrl+4 - + Show Cover Art Muestra carátulas - + Show cover art in the Mixxx interface. Muestra las carátulas en la interfaz de Mixxx. - + Ctrl+6 Menubar|View|Show Cover Art Ctrl+6 - + Maximize Library Maximizar Biblioteca - + Maximize the track library to take up all the available screen space. Maximizar la biblioteca para tomar todo el espacio disponible en pantalla. - + Space Menubar|View|Maximize Library - + Espacio - + &Full Screen &Pantalla completa - + Display Mixxx using the full screen Mostrar Mixxx a pantalla completa - + &Options &Opciones - + &Vinyl Control Control de &vinilo - + Use timecoded vinyls on external turntables to control Mixxx Usar vinilos con codigo de tiempo en bandejas externas para controlar Mixxx - + Enable Vinyl Control &%1 Habilita el Control por Vinilo &%1 - + &Record Mix &Grabar Mezcla - + Record your mix to a file Grava a súa mestura a un ficheiro - + Ctrl+R Ctrl+R - + Enable Live &Broadcasting Activar transmisión en &vivo - + Stream your mixes to a shoutcast or icecast server Transmite tus mezclas a un servidor shoutcast o icecast - + Ctrl+L Ctrl+L - + Enable &Keyboard Shortcuts Activar Atajos de &Teclado - + Toggles keyboard shortcuts on or off Activa o desactiva los atajos de teclado - + Ctrl+` Ctrl+` - + &Preferences &Preferencias - + Change Mixxx settings (e.g. playback, MIDI, controls) Cambiar la configuración de Mixxx (p.ej.: reproducción, MIDI, controles) - + &Developer &Desarrollador - + &Reload Skin &Recargar apariencia - + Reload the skin Recargar la apariencia - + Ctrl+Shift+R Ctrl+Mayús+R - + Developer &Tools U&tilidades de desarrollador - + Opens the developer tools dialog Abre el cuadro de diálogo de herramientas de desarrollo - + Ctrl+Shift+T Ctrl+Mayús+T - + Stats: &Experiment Bucket Estadísticas: Contadores &Experiment - + Enables experiment mode. Collects stats in the EXPERIMENT tracking bucket. Activa el modo experimental. Recoje estadísticas en los contadores EXPERIMENT. - + Ctrl+Shift+E Ctrl+Mayús+E - + Stats: &Base Bucket Estadísticas: contadores &Base - + Enables base mode. Collects stats in the BASE tracking bucket. Activa el modo base. Recoje estadísticas en los contadores BASE. - + Ctrl+Shift+B Ctrl+Mayús+B - + Deb&ugger Enabled Dep&uración activada - + Enables the debugger during skin parsing Activa el depurador durante el análisis de la máscara - + Ctrl+Shift+D Ctrl+Mayús+D - + &Help Ay&uda - + Show Keywheel menu title - + Mostrar rueda de notas E&xport Library to Engine DJ "Engine DJ" must not be translated - + Exportar biblioteca a Engine DJ Export the library to the Engine DJ format - + Exportar biblioteca al formato Engine DJ - + Show keywheel tooltip text - + Mostrar rueda de notas - + F12 Menubar|View|Show Keywheel - + F12 - + &Community Support Soporte &comunitario - + Get help with Mixxx Obtener ayuda con Mixxx - + &User Manual Manual de &usuario - + Read the Mixxx user manual. Lea el manual de usuario de Mixxx. - + &Keyboard Shortcuts Atajos de &Teclado - + Speed up your workflow with keyboard shortcuts. Trabaja más rápidamente usando los atajos de teclado. - + &Settings directory &Directorio de configuración - + Open the Mixxx user settings directory. Abre el directorio de configuración de usuario de Mixxx. - + &Translate This Application &Traducir esta aplicación - + Help translate this application into your language. Ayude a traducir esta aplicación a su idioma. - + &About &Acerca de - + About the application Acerca de la aplicación @@ -16036,7 +16145,7 @@ Carpeta: %2 Ready to play, analyzing... Text on waveform overview when file is playable but no waveform is visible - + Listo para reproducir, analizando... @@ -16049,31 +16158,19 @@ Carpeta: %2 Finalizing... Text on waveform overview during finalizing of waveform analysis - + Finalizando... WSearchLineEdit - - Clear input - Clear the search bar input field - Borrar el texto - - - - Ctrl+F - Search|Focus - Ctrl+F - - - + Search noun Buscar - + Clear input Borrar el texto @@ -16084,93 +16181,87 @@ Carpeta: %2 Buscar... - + Clear the search bar input field - + Limpia el campo de entrada de la barra de búsqueda - - Enter a string to search for - Introducir el texto a buscar + + Return + Volver - - Use operators like bpm:115-128, artist:BooFar, -year:1990 + + Enter a string to search for. - - For more information see User Manual > Mixxx Library - Para más información vea el Manual de Usuario> Biblioteca Mixxx + + Use operators like bpm:115-128, artist:BooFar, -year:1990. + - Shortcut - Atajo + See User Manual > Mixxx Library for more information. + - - Ctrl+F - Ctrl+F + + Focus/Select All (Search in current view) + Give search bar input focus + - - Focus - Give search bar input focus - Poner el cursor aquí + + Focus/Select All (Search in 'Tracks' library view) + - - - Ctrl+Backspace - Ctrl+Tecla de retroceso + + Additional Shortcuts When Focused: + - Shortcuts - Atajos + Trigger search before search-as-you-type timeout or focus tracks view afterwards + - Return + Esc or Ctrl+Return - Trigger search before search-as-you-type timeout orjump to tracks view afterwards - Activa la búsqueda antes del tiempo de espera de "búsqueda mientras escribe" o salte a la vista de pistas después + Immediately trigger search and focus tracks view + Exit search bar and leave focus + - + Ctrl+Space - + Ctrl+Espacio - + Toggle search history Shows/hides the search history entries - + Alternar historial de búsqueda - + Delete or Backspace Borrar o Retorno - - Delete query from history - Borrar Consulta del Historial - - - - Esc - Esc + + in search history + - - Exit search - Exit search bar and leave focus - Salir de la busqueda + + Delete query from history + Borrar Consulta del Historial @@ -16178,7 +16269,7 @@ Carpeta: %2 Search related Tracks - + Buscar pistas relacionadas @@ -16188,7 +16279,7 @@ Carpeta: %2 harmonic with %1 - + armónico con %1 @@ -16198,7 +16289,7 @@ Carpeta: %2 between %1 and %2 - + entre %1 y %2 @@ -16248,7 +16339,7 @@ Carpeta: %2 &Search selected - + &Búsqueda seleccionada @@ -16286,7 +16377,7 @@ Carpeta: %2 Update external collections - + Actualizar colecciones externas @@ -16296,12 +16387,12 @@ Carpeta: %2 Adjust BPM - + Ajustar BPM Select Color - + Seleccionar color @@ -16469,12 +16560,12 @@ Carpeta: %2 Sort hotcues by position (remove offsets) - + Ordenar hotcues por posición (removiendo desfases) Sort hotcues by position - + Ordenar hotcues por posición @@ -16519,7 +16610,7 @@ Carpeta: %2 Shift Beatgrid Half Beat - + Desplazar la cuadrícula de tiempo medio beat @@ -16607,7 +16698,7 @@ Carpeta: %2 Undo BPM/beats change of %n track(s) - + Deshacer cambios de BPM/pulsaciones de %n pista(s)Deshacer cambios de BPM/pulsaciones de %n pista(s)Deshacer cambios de BPM/pulsaciones de %n pista(s) @@ -16622,7 +16713,7 @@ Carpeta: %2 Setting rating of %n track(s) - + Definiendo evaluación de %n pistaDefiniendo evaluación de %n pistasDefiniendo evaluación de %n pista(s) @@ -16677,12 +16768,12 @@ Carpeta: %2 Sorting hotcues of %n track(s) by position (remove offsets) - + Ordenando hotcues de %n pista por posición (removiendo desfases)Ordenando hotcues de %n pistas por posición (removiendo desfases)Ordenando hotcues de %n pistas(s) por posición (removiendo desfases) Sorting hotcues of %n track(s) by position - + Ordenando hotcues de %n pista por posiciónOrdenando hotcues de %n pistas por posiciónOrdenando hotcues de %n pista(s) por posición @@ -16707,7 +16798,7 @@ Carpeta: %2 Move these files to the trash bin? - + ¿Mover estos archivos a la papelera? @@ -16733,7 +16824,7 @@ Carpeta: %2 Okay - + Okey @@ -16783,7 +16874,7 @@ Carpeta: %2 Remaining Track File(s) - + Renombrando archivo(s) de pista @@ -16794,7 +16885,7 @@ Carpeta: %2 Clear Reset metadata in right click track context menu in library - + Climpiar @@ -16804,37 +16895,37 @@ Carpeta: %2 Clear BPM and Beatgrid - + Limpia las BPM y la cuadrícula de tiempo Undo last BPM/beats change - + Revertir el último cambio de BPM/pulsaciones Move this track file to the trash bin? - + ¿Mover este archivo de pista a la papelera? Permanently delete this track file from disk? - + ¿Eliminar permanentemente este archivo de pista del disco? All decks where these tracks are loaded will be stopped and the tracks will be ejected. - + Todos los platos donde estas pistas hayan sido cargadas se detendrán, y las pistas serán expulsadas. All decks where this track is loaded will be stopped and the track will be ejected. - + Todos los platos donde esta pista haya sido cargada se detendrán, y la pista será expulsada. Removing %n track file(s) from disk... - + Removiendo %n archivo(s) de pista del disco... @@ -16854,12 +16945,12 @@ Carpeta: %2 Don't show again during this session - + No mostrar nuevamente durante esta sesión The following %1 file(s) could not be moved to trash - + El/los siguiente(s) %1 archivo(s) no pudieron ser movidos a la papelera @@ -16882,7 +16973,7 @@ Carpeta: %2 title - + título @@ -16890,73 +16981,73 @@ Carpeta: %2 Load for stem mixing - + Cargar para mezcla de stems Load pre-mixed stereo track - + Cargar pista estéreo premezclada Load the "%1" stem - + Cargar el stem "%1" Load multiple stem into a stereo deck - + Cargar múltiples stems en un plato estéreo Select stems to load - + Seleccionar stems a cargar Release "CTRL" to load the current selection - + Soltar "Ctrl" para cargar la selección actual Use "CTRL" to select multiple stems - + Use "Ctrl" para seleccionar múltiples stems WTrackTableView - + Confirm track hide Confirmar ocultar pista - + Are you sure you want to hide the selected tracks? ¿Estas seguro de que quieres ocultar las pistas seleccionadas? - + Are you sure you want to remove the selected tracks from AutoDJ queue? ¿Esta seguro de que quiere eliminar las pistas seleccionadas de la cola del AutoDJ? - + Are you sure you want to remove the selected tracks from this crate? Estás seguro que quieres eliminar las pistas seleccionada de este cajón? - + Are you sure you want to remove the selected tracks from this playlist? ¿Esta seguro de que desea eliminar las pistas seleccionadas de la lista de reproducción? - + Don't ask again during this session No volver a preguntar durante esta sesión - + Confirm track removal Confirmar eliminación del track @@ -16971,58 +17062,58 @@ Carpeta: %2 Shuffle Tracks - + Mezclar pistas mixxx::CoreServices - + fonts tipos de letra - + database base de datos - + effects efectos - + audio interface interface de sonido - + decks - + decks - + library Biblioteca - + Choose music library directory Elija el directorio de la biblioteca de la música - + controllers Controladores - + Cannot open database No se puede abrir la base de datos - + Unable to establish a database connection. Mixxx requires QT with SQLite support. Please read the Qt SQL driver documentation for information on how to build it. @@ -17036,70 +17127,80 @@ Pulse Aceptar para salir. mixxx::DlgLibraryExport - + Entire music library + Biblioteca de música completa + + + + Crates - - Selected crates - Cajas seleccionadas + + Playlists + - + + Selected crates/playlists + + + + Browse Ver - + Export directory - + Exportar directorio - + Database version - + Versión de base de datos - + Export Exportar - + Cancel Cancelar - + Export Library to Engine DJ "Engine DJ" must not be translated - + Exportar biblioteca a Engine DJ - + Export Library To - + Exportar biblioteca a - + No Export Directory Chosen - + No se seleccionó un directorio de exportación - + No export directory was chosen. Please choose a directory in order to export the music library. - + No se escogió un directorio de exportación. Por favor escoja un directorio para poder exportar la biblioteca de música. - + A database already exists in the chosen directory. Exported tracks will be added into this database. - + Una base de datos ya existe en el directorio seleccionado. Las pistas exportadas serán añadidas a esta base de datos. - + A database already exists in the chosen directory, but there was a problem loading it. Export is not guaranteed to succeed in this situation. - + Una base de datos ya existe en el directorio seleccionado, pero ocurrió un problema al cargarla. No se garantiza una exportación exitosa en esta situación. @@ -17118,34 +17219,35 @@ Pulse Aceptar para salir. mixxx::EnginePrimeExportJob - + Failed to export track %1 - %2: %3 %1 is the artist %2 is the title and %3 is the original error message - + Fallo al exportar %1 - %2: +%3 mixxx::LibraryExporter - + Export Completed - + Exportación completada - - Exported %1 track(s) and %2 crate(s). - Exportados %1 pista(s) y %2 caja(s). + + Exported %1 track(s), %2 crate(s), and %3 playlist(s). + - + Export Failed - + Exportación fallida - + Exporting to Engine DJ... - + Exportando a Engine DJ... @@ -17153,7 +17255,7 @@ Pulse Aceptar para salir. Abort - + Abortar diff --git a/res/translations/mixxx_es_CO.qm b/res/translations/mixxx_es_CO.qm index d190c988b5d32370cc05ee0ae44854392b7a7843..966ca9937c8a2ff8cc1047390129e216c76976c5 100644 GIT binary patch delta 55112 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 S1{O>L?-TTe=I+ogkpDlS+RPXL delta 25566 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 Enable Auto DJ - + Activar Auto DJ Disable Auto DJ - + Desactivar Auto DJ Clear Auto DJ Queue - + Limpiar la cola de Auto DJ @@ -51,17 +51,17 @@ Confirmation Clear - + Confirmación limpiada Do you really want to remove all tracks from the Auto DJ queue? - + Realmente quieres eliminar todas las pistas de la cola de Auto DJ? This can not be undone. - + ¡Esto no puede ser revertido! @@ -149,7 +149,7 @@ BasePlaylistFeature - + New Playlist Nueva lista de reproducción @@ -160,7 +160,7 @@ - + Create New Playlist Crear nueva lista de reproducción @@ -190,113 +190,120 @@ Duplicar - - + + Import Playlist Importar Lista de Reproducción - + Export Track Files Exportar pistas de audio - + Analyze entire Playlist Analizar toda la lista de reproducción - + Enter new name for playlist: Escriba un nuevo nombre para la lista de reproducción: - + Duplicate Playlist Duplicar lista de reproducción - - + + Enter name for new playlist: Escriba un nombre para la nueva lista de reproducción: - - + + Export Playlist Exportar lista de reproducción - + Add to Auto DJ Queue (replace) Añadir a la lista de DJ Automático (reemplazar). - + + + Export to Engine DJ + "Engine DJ" is a product name and must not be translated. + + + + Rename Playlist Renombrar Lista de Reproducción - - + + Renaming Playlist Failed Ha fallado el renombrado de la lista de reproducción - - - + + + A playlist by that name already exists. Una lista de reproducción ya existe con el mismo nombre - - - + + + A playlist cannot have a blank name. El nombre de una lista de reproduccion no puede estar vacío - + _copy //: Appendix to default name when duplicating a playlist Copiar - - - - - - + + + + + + Playlist Creation Failed Fallo la creación de lista de Reproducción - - + + An unknown error occurred while creating playlist: Se ha producido un error desconocido al crear la lista de reproducción: - + Confirm Deletion Confirmar Borrado - + Do you really want to delete playlist <b>%1</b>? ¿Desea realmente eliminar la lista de reproducción<b>%1</b>? - + M3U Playlist (*.m3u) Lista de reproducción M3U (*.m3u) - + M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Text CSV (*.csv);;Readable Text (*.txt) Lista de reproducción M3U (*.m3u);;Lista de reproducción M3U8 (*.m3u8);;Lista de reproducción PLS (*.pls);;Texto CSV (*.csv);;Texto legible (*.txt) @@ -304,12 +311,12 @@ BaseSqlTableModel - + # # - + Timestamp Marca de tiempo @@ -317,7 +324,7 @@ BaseTrackPlayerImpl - + Couldn't load track. No se ha podido cargar la pista. @@ -325,142 +332,142 @@ BaseTrackTableModel - + Album Album - + Album Artist Artista del Album - + Artist Artista - + Bitrate Tasa de bits - + BPM BPM - + Channels Canales - + Color Color - + Comment Comentario - + Composer Compositor - + Cover Art Portada - + Date Added Fecha de Agregado - + Last Played Última reproducción - + Duration Duración - + Type Tipo - + Genre Genero - + Grouping Agrupación - + Key Clave - + Location Ubicación - + Overview - + Resumen - + Preview Preescucha - + Rating Calificación - + ReplayGain Reproducir otra vez - + Samplerate Tasa de muestreo - + Played Reproducido - + Title Título - + Track # Pista n.º - + Year Año - + Fetching image ... Tooltip text on the cover art column shown when the cover is read from disk Recuperando imagen... @@ -609,6 +616,16 @@ "Computer" lets you navigate, view, and load tracks from folders on your hard disk and external devices. "Computadora" le permite navegar, ver y cargar pistas desde carpetas en su disco duro y dispositivos externos. + + + It shows the data from the file tags, not track data from your Mixxx library like other track views. + + + + + If you load a track file from here, it will be added to your library. + + BrowseTableModel @@ -806,7 +823,7 @@ Rescans the library when Mixxx is launched. - + Re escanea la librería cuando se inicia Mixxx @@ -856,7 +873,7 @@ trace - Arriba + Perfilar mensajes Sets the maximum file size of the mixxx.log file in bytes. Use -1 for unlimited. The default is 100 MB as 1e5 or 100000000. - + Configura el tamaño máximo del archivo mixxx.log en bytes. Usa -1 para ilimitado. Por defecto es 100 MB, como en 1e5 o 100000000. @@ -866,7 +883,7 @@ trace - Arriba + Perfilar mensajes Overrides the default application GUI style. Possible values: %1 - + Anula el estilo por defecto de la interfaz de usuario de la aplicación. Valores posibles: %1 @@ -1185,12 +1202,12 @@ trace - Arriba + Perfilar mensajes Equalizers - + Ecualizadores Vinyl Control - + Control de vinilo @@ -1983,7 +2000,7 @@ trace - Arriba + Perfilar mensajes Effects - + Efectos @@ -2463,12 +2480,12 @@ trace - Arriba + Perfilar mensajes Move Beatgrid Half a Beat - + Desplaza la cuadricula de tiempo medio pulso Adjust the beatgrid by exactly one half beat. Usable only for tracks with constant tempo. - + Ajusta la cuadrícula de tiempo en exactamente medio beat. Solo se puede usar en pistas con tempo constante. @@ -2666,13 +2683,13 @@ trace - Arriba + Perfilar mensajes Sort hotcues by position - + Ordenar hotcues por posición Sort hotcues by position (remove offsets) - + Ordenar hotcues por posición (removiendo desfases) @@ -3527,7 +3544,7 @@ trace - Arriba + Perfilar mensajes Unknown - + Desconocido @@ -3632,32 +3649,32 @@ trace - Arriba + Perfilar mensajes ControllerScriptEngineBase - + The functionality provided by this controller mapping will be disabled until the issue has been resolved. La funcionalidad provista por este mapa de controlador será desactivada hasta que el problema sea resuelto. - + You can ignore this error for this session but you may experience erratic behavior. Puedes ignorar este error durante esta sesión, pero podrías experimentar problemas impredecibles. - + Try to recover by resetting your controller. Prueba de corregirlo reseteando la controladora. - + Controller Mapping Error Error del mapa de controlador - + The mapping for your controller "%1" is not working properly. El mapa de tu controlador "%1" no funciona correctamente. - + The script code needs to be fixed. El código del script necesita ser reparado. @@ -3765,7 +3782,7 @@ trace - Arriba + Perfilar mensajes Importar cajón - + Export Crate Exportar cajón @@ -3775,7 +3792,7 @@ trace - Arriba + Perfilar mensajes Desbloquear - + An unknown error occurred while creating crate: Ocurrió un error desconocido al crear el cajón: @@ -3801,17 +3818,17 @@ trace - Arriba + Perfilar mensajes No se pudo renombrar el cajón - + Crate Creation Failed Falló la creación del cajón - + M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Text CSV (*.csv);;Readable Text (*.txt) Lista de reproducción M3U (*.m3u);;Lista de reproducción M3U8 (*.m3u8);;Lista de reproducción PLS (*.pls);;Texto CSV (*.csv);;Texto legible (*.txt) - + M3U Playlist (*.m3u) Lista de reproducción M3U (*.m3u) @@ -3937,12 +3954,12 @@ trace - Arriba + Perfilar mensajes Antiguos colaboradores - + Official Website Sitio web oficial - + Donate Donar @@ -3998,7 +4015,7 @@ trace - Arriba + Perfilar mensajes - + Analyze Analizar @@ -4043,17 +4060,17 @@ trace - Arriba + Perfilar mensajes Ejecuta el análisis de cuadrícula de tempo, clave musical y ReplayGain en las pistas seleccionadas. No genera formas de onda para las pistas seleccionadas para ahorrar espacio en disco. - + Stop Analysis Detener análisis - + Analyzing %1% %2/%3 Analizando %1% %2/%3 - + Analyzing %1/%2 Analizando %1/%2 @@ -4164,7 +4181,32 @@ Skip Silence Start Full Volume: The same as Skip Silence, but starting transitions with a centered crossfader, so that the intro starts at full volume. - + Modos de desvanecimiento de Auto DJ + +Intro completa + Outro: +Reproduce la intro completa y la outro. Usa la duración de la intro o la outro como +el tiempo de fundido cruzado, el que sea el más corto. Si no se ha marcado una intro u outro, +usa el tiempo de fundido cruzado seleccionado. + +Desvanecer al iniciar la Outro: +Inicia el fundido cruzado al inicio de la outro. Si la outro es más larga que la intro, +corta el final de la outro. Usa la duración de la intro o la outro como +el tiempo de fundido cruzado, el que sea más corto.Si no se ha marcado una intro u outro, +usa el tiempo de fundido cruzado seleccionado. + +Pista completa: +Reproduce la pista completa. Comienza el fundido cruzado desde el +número de segundos seleccionado antes del final de la pista. Un fundido cruzado negativo +agrega silencio entre las pistas. + +Saltar silencio: +Reproduce la pista completa excepto el silencio al inicio y al final. +Inicia el fundido cruzado desde el número de segundos seleccionado antes +del último sonido. + +Saltar silencio e iniciar con volumen al máximo: +Lo mismo que Saltar silencio, pero inicia la transición con el crossfader +centrado, de manera que la intro inicia con el volumen al máximo. @@ -4189,7 +4231,7 @@ crossfader, so that the intro starts at full volume. Skip Silence Start Full Volume - + Saltar silencio e iniciar con volumen al máximo @@ -4322,7 +4364,7 @@ A menudo resulta en cuadrículas de más calidad, pero no lo hacemos bien en pis Analyzer Settings - + Configuración del Analizador @@ -4344,7 +4386,7 @@ A menudo resulta en cuadrículas de más calidad, pero no lo hacemos bien en pis Re-analyze beats when settings change or beat detection data is outdated - + Re-analizar pulsaciones cuando las preferencias cambien o la información sobre pulsaciones sea obsoleta @@ -4470,37 +4512,37 @@ A menudo resulta en cuadrículas de más calidad, pero no lo hacemos bien en pis Si el mapeo no funciona, prueba a activar uno de los controles avanzados siguientes y prueba de nuevo. También puedes volver a detectar el control. - + Didn't get any midi messages. Please try again. No se detectó ningún mensaje MIDI. Por favor, inténtelo de nuevo. - + Unable to detect a mapping -- please try again. Be sure to only touch one control at once. No se detectó un mapeado -- Intentelo nuevamente. Asegurese de tocar sólo un control a la vez. - + Successfully mapped control: Control mapeado con éxito: - + <i>Ready to learn %1</i> <i>Preparado para asignar %1</i> - + Learning: %1. Now move a control on your controller. Aprendizaje: %1. Ahora mueva un control en su controlador. - + The selected control does not exist.<br>This likely a bug. Please report it on the Mixxx bug tracker.<br><a href='https://github.com/mixxxdj/mixxx/issues'>https://github.com/mixxxdj/mixxx/issues</a><br><br>You tried to learn: %1,%2 - + El control seleccionado no existe. <br>Esto es posiblemente un bug. Por favor repórtelo en el seguidor de bugs de Mixxx. <br><a href='https://github.com/mixxxdj/mixxx/issues'>https://github.com/mixxxdj/mixxx/issues</a><br><br> Trataste de vincular: %1,%2 - + The control you clicked in Mixxx is not learnable. This could be because you are either using an old skin and this control is no longer supported, or you clicked a control that provides visual feedback and can only be mapped to outputs like LEDs via scripts. @@ -5198,120 +5240,120 @@ associated with each key. Key palette - + Paleta de notas DlgPrefController - + Apply device settings? ¿Aplicar la configuración del dispositivo? - + Your settings must be applied before starting the learning wizard. Apply settings and continue? La configuración debe ser aplicada antes de iniciar el asistente de aprendizaje. ¿Aplicar la configuración y continuar? - + None Ningún - + %1 by %2 %1 por %2 - + Mapping has been edited Se ha editado el mapeo - + Always overwrite during this session Siempre sobreescribir durante esta sesión - + Save As Guardar como - + Overwrite Sobreescribir - + Save user mapping Guardar mapeo del usuario - + Enter the name for saving the mapping to the user folder. Ingresar el nombre del archivo de mapeo para guardarlo en la carpeta de usuario. - + Saving mapping failed Ha fallado el guardado del mapeo - + A mapping cannot have a blank name and may not contain special characters. El nombre del mapeo no puede estar en blanco, ni contener caracteres especiales. - + A mapping file with that name already exists. Ya existe un archivo de mapeo con el mismo nombre. - + Do you want to save the changes? Quieres guardar los cambios? - + Troubleshooting Solución de problemas - + <font color='#BB0000'><b>If you use this mapping your controller may not work correctly. Please select another mapping or disable the controller.</b></font><br><br>This mapping was designed for a newer Mixxx Controller Engine and cannot be used on your current Mixxx installation.<br>Your Mixxx installation has Controller Engine version %1. This mapping requires a Controller Engine version >= %2.<br><br>For more information visit the wiki page on <a href='https://mixxx.org/wiki/doku.php/controller_engine_versions'>Controller Engine Versions</a>. <font color='#BB0000'><b>Si usas este mapeo, tu controlador podría no funcionar correctamente. Por favor selecciona otro mapeo o deshabilita el controlador. </b></font><br><br>Este mapeo fue diseñado para un nuevo Motor de Controladores de Mixxx, y no puede ser usado con tu instalación actual.<br>Tu instalación de Mixxx posee la version del Motor de Controladores %1. Este mapeo requiere una versión del Motor de controladores >=%2.<br><br>Para más información visita la wiki de <a href='https://mixxx.org/wiki/doku.php/controller_engine_versions'>Versiones del Motor de Controladores</a>. - + Mapping already exists. El mapeo ya existe. - + <b>%1</b> already exists in user mapping folder.<br>Overwrite or save with a new name? <b>%1</b> ya existe en la carpeta de mapeos de usuario. <br>¿Deseas sobreescribir o guardar con otro nombre? - + Clear Input Mappings Limpiar mapeos de Entrada - + Are you sure you want to clear all input mappings? Está seguro de querer eliminar todos los mapeos de entrada? - + Clear Output Mappings Limpiar mapeos de Salida - + Are you sure you want to clear all output mappings? Está seguro de querer eliminar todos los mapeos de salida? @@ -5331,62 +5373,62 @@ Apply settings and continue? Device Info - + Información del dispositivo Physical Interface: - + Interfase física Vendor name: - + Nombre del fabricante: Product name: - + Nombre del producto: Vendor ID - + ID del proveedor VID: - + VID: Product ID - + ID del producto PID: - + PID: Serial number: - + Número de serie: USB interface number: - + Número de interfaz USB HID Usage-Page: - + Página de uso HID HID Usage: - + Uso de HID: @@ -5464,7 +5506,7 @@ Apply settings and continue? Data protocol: - + Protocolo de datos: @@ -5474,7 +5516,7 @@ Apply settings and continue? Mapping Settings - + Configuración de mapeo @@ -5527,7 +5569,7 @@ Apply settings and continue? Controllers - + Controladores @@ -5537,7 +5579,7 @@ Apply settings and continue? Enable MIDI Through Port - + Activar puerto de MIDI Through @@ -5642,6 +5684,16 @@ Apply settings and continue? Multi-Sampling Multi-Muestreo + + + Force 3D acceleration + + + + + If checked, Mixxx will always assume 3D acceleration is available. This may lead to pour performance if only CP-backed rendering is available.. + + Start in full-screen mode @@ -6169,7 +6221,7 @@ Siempre puedes arrastrar y tirar pistas en la pantalla para clonar una plataform Export - + Exportar @@ -6200,12 +6252,12 @@ Siempre puedes arrastrar y tirar pistas en la pantalla para clonar una plataform ❯ - + ❮ - + @@ -6256,62 +6308,62 @@ Siempre puedes arrastrar y tirar pistas en la pantalla para clonar una plataform DlgPrefInterface - + The minimum size of the selected skin is bigger than your screen resolution. El tamaño mínimo de la apariencia seleccionada es mas grande que la resolucion de su pantalla. - + Allow screensaver to run Permite el salvapantallas - + Prevent screensaver from running Evita que se active el salvapantallas - + Prevent screensaver while playing Evita el salvapantallas mientras reproduce - + Disabled Desactivado - + 2x MSAA 2x MSAA - + 4x MSAA 4x MSAA - + 8x MSAA 8x MSAA - + 16x MSAA 16x MSAA - + This skin does not support color schemes Este skin no soporta esquemas de color - + Information Información - + Mixxx must be restarted before the new locale, scaling or multi-sampling settings will take effect. Mixxx debe ser reiniciado para que el nuevo ajuste de locale, escalado o multi-muestreo tenga efecto. @@ -6348,7 +6400,7 @@ y te permite ajustar su pitch para lograr mezclas armónicas. Analyzer Settings - + Configuración del Analizador @@ -6378,7 +6430,7 @@ y te permite ajustar su pitch para lograr mezclas armónicas. Key Notation - + Notación de clave musical @@ -6576,7 +6628,7 @@ y te permite ajustar su pitch para lograr mezclas armónicas. Metadata means all track details (artist, title, playcount, etc.) as well as beatgrids, hotcues, and loops. This choice only affects the Mixxx library. No files on disk will be changed or deleted. - + Metadatos significa todos los detalles de la pista (artista, titulo, cantidad de reproducciones, etc) como cuadrículas de tempo, hotcues y bucles. Este cambio solo afecta a la biblioteca de Mixxx. Ningun archivo en el disco será cambiado o eliminado. @@ -7023,7 +7075,7 @@ y te permite ajustar su pitch para lograr mezclas armónicas. Reset stem controls on track load - + Reiniciar controles de stem al cargar pista @@ -7481,173 +7533,172 @@ El objetivo de sonoridad es aproximado y asume que la preganancia de la pista y DlgPrefSound - + %1 Hz %1 Hz - + Default (long delay) Por Defecto (mas retardo) - + Experimental (no delay) Experimental (sin retardo) - + Disabled (short delay) Desactivado (poco retardo) - + Soundcard Clock Reloj de la tarjeta de sonido - + Network Clock Reloj de red - + Direct monitor (recording and broadcasting only) Monitorización directa (solo grabación y emisión en vivo) - + Disabled Desactivado - + Enabled Habilitado - + Stereo Estéreo - + Mono Mono - + To enable Realtime scheduling (currently disabled), see the %1. Para activar el Planificador en tiempo real (actualmente desactivado), mira %1. - + The %1 lists sound cards and controllers you may want to consider for using Mixxx. %1 muestra una lista de tarjetas de sonido y controladores que podrías considerar para utilizar con Mixxx - + Mixxx DJ Hardware Guide Guía de Hardware DJ de Mixxx - + Information Información - + Mixxx must be restarted before the multi-threaded RubberBand setting change will take effect. Mixxx debe ser reiniciado para que el cambio de ajuste de RubberBand multi-hilo tenga efecto. - + auto (<= 1024 frames/period) auto (<= 1024 fotogramas/período) - + 2048 frames/period 2048 fotogramas/período - + 4096 frames/period 4096 fotogramas/período - + Are you sure? ¿Estás seguro(a)? - + Distribute stereo channels into mono channels for parallel processing will result in a loss of mono compatibility and a diffuse stereo image. It is not recommended during broadcasting or recording. Distribuir los canales estéreo en canales mono para su procesamiento en paralelo podría resultar en la pérdida de la compatibilidad mono y una imagen estéreo difusa. No se recomienda al transmitir en vivo o al grabar. - + Are you sure you wish to proceed? ¿Realmente deseas continuar? - + No No - + Yes, I know what I am doing Sí, se lo que estoy haciendo - + Microphone inputs are out of time in the record & broadcast signal compared to what you hear. La entrada de micrófono está desincronizada respecto la grabación y emisión comparado con la señal que se oye. - + Measure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. Mide la latencia total e introducela en la Compensacion de latencia del micrófono para sincronizar el micrófono. - - + Refer to the Mixxx User Manual for details. Para más detalles, lea el manual de usuario de Mixxx. - + Configured latency has changed. La latencia configurada ha cambiado. - + Remeasure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. Vuelve a medir la latencia total e introducela en la Compensacion de latencia del micrófono para sincronizar el micrófono. - + Realtime scheduling is enabled. La planificación en Tiempo Real está activada. - + Main output only Solo Salida principal - + Main and booth outputs Salidas principal y de cabina - + %1 ms %1 ms - + Configuration error Error de configuración @@ -7662,134 +7713,134 @@ El objetivo de sonoridad es aproximado y asume que la preganancia de la pista y Sound API - + API de sonido - + Sample Rate Tasa de muestreo - + Audio Buffer Búfer de audio - + Engine Clock Relog del motor - + Use soundcard clock for live audience setups and lowest latency.<br>Use network clock for broadcasting without a live audience. Usa el reloj de la tarjeta de sonido para emitir a un público presente y para la menor latencia. <br>Usa el reloj de red para emitir en vivo sin un público presente. - + Main Mix Mezcla principal - + Main Output Mode Modo de Salida principal - + Microphone Monitor Mode Modo de monitorización del micrófono - + Microphone Latency Compensation Compensación de latencia del micrófono - - - - + + + + ms milliseconds ms - + 20 ms 20 ms - + Buffer Underflow Count Contador de vaciado del búfer - + 0 0 - + Keylock/Pitch-Bending Engine Bloqueo tonal/Motor de Pitch-bend - + Multi-Soundcard Synchronization Sincronización con Múltiples Tarjetas de Sonido - + Output Salida - + Input Entrada - + System Reported Latency Latencia reportada por el sistema - + Enlarge your audio buffer if the underflow counter is increasing or you hear pops during playback. Aumente su búfer de audio si el contador de desbordamiento está aumentando o escuchas chasquidos durante la reproducción. - + Main Output Delay Retardo Salida Principal - + Headphone Output Delay Retraso/delay de la Salida de auriculares - + Booth Output Delay Retraso/delay de la salida de cabina - + Dual-threaded Stereo Estéreo en doble-hilo - + Hints and Diagnostics Diagnóstico y sugerencias - + Downsize your audio buffer to improve Mixxx's responsiveness. Disminuya su búfer de audio para mejorar la velocidad de respuesta de Mixxx. - + Query Devices Consultar aparatos @@ -7843,7 +7894,7 @@ El objetivo de sonoridad es aproximado y asume que la preganancia de la pista y Turntable Input Signal Boost - + Amplificación de señal de entrada de Vinilo @@ -7947,12 +7998,12 @@ El objetivo de sonoridad es aproximado y asume que la preganancia de la pista y 1/3 of waveform viewer options for "Text height limit" - + 1/3 de visualización de forma de onda Entire waveform viewer - + Visor de forma de onda completa @@ -7985,7 +8036,7 @@ El objetivo de sonoridad es aproximado y asume que la preganancia de la pista y OpenGL Status - + Estado de OpenGL @@ -8140,12 +8191,12 @@ Elija entre los distintos tipos de visualización para la forma de onda, que se Preferred font size - + Tamaño de tipo de letra preferido Text height limit - + Límite de altura de texto @@ -8185,18 +8236,18 @@ Elija entre los distintos tipos de visualización para la forma de onda, que se Beat grid opacity - + Superar la opacidad de la rejilla Scrolling Waveforms - + Deslizar formas de onda Type - + Tipo @@ -8206,7 +8257,7 @@ Elija entre los distintos tipos de visualización para la forma de onda, que se Set amount of opacity on beat grid lines. - + Establece la cantidad de opacidad en las líneas de la cuadrícula del compás. @@ -8216,17 +8267,17 @@ Elija entre los distintos tipos de visualización para la forma de onda, que se Play marker position - + <br><div><br data-mce-bogus="1"></div> Moves the play marker position on the waveforms to the left, right or center (default). - + Mover the marcador de posición en la pista a la izquierda, derecha o centro (Defabrica). Overview Waveforms - + Visualizar formas de onda @@ -8239,17 +8290,17 @@ Elija entre los distintos tipos de visualización para la forma de onda, que se Sound Hardware - + Hardware de sonido Controllers - + Controladores Library - + Biblioteca @@ -8324,12 +8375,12 @@ Elija entre los distintos tipos de visualización para la forma de onda, que se Beat Detection - + Detección de pulsaciones Key Detection - + Detección de tonalidad @@ -8344,7 +8395,7 @@ Elija entre los distintos tipos de visualización para la forma de onda, que se Vinyl Control - + Control de vinilo @@ -8362,7 +8413,7 @@ Elija entre los distintos tipos de visualización para la forma de onda, que se Preferences - + Preferencias @@ -8909,7 +8960,7 @@ A menudo resulta en una cuadrícula de mayor calidad, pero no lo hacemos bien en Assume constant tempo - + Asumir tempo constante @@ -9349,27 +9400,27 @@ A menudo resulta en una cuadrícula de mayor calidad, pero no lo hacemos bien en EngineBuffer - + Soundtouch (faster) Soundtouch (rápido) - + Rubberband (better) Rubberband (mejor) - + Rubberband R3 (near-hi-fi quality) Banda elástica R3 (calidad casi alta fidelidad) - + Unknown, using Rubberband (better) Desconocido, utilizando Banda elástica (mejor) - + Unknown, using Soundtouch Desconocido, usando Soundtouch @@ -9554,12 +9605,12 @@ A menudo resulta en una cuadrícula de mayor calidad, pero no lo hacemos bien en Change color - + Cambiar color Choose a new color - + Escoger un nuevo color @@ -9567,32 +9618,32 @@ A menudo resulta en una cuadrícula de mayor calidad, pero no lo hacemos bien en Browse... - + Examinar… No file selected - + No se ha seleccionado ningún archivo Select a file - + Seleccionar un archivo LegacySkinParser - - + + Safe Mode Enabled Shown when Mixxx is running in safe mode. Modo Seguro Activado - - + + No OpenGL support. Shown when Spinny can not be displayed. Please keep @@ -9604,57 +9655,57 @@ Shown when VuMeter can not be displayed. Please keep de OpenGL. - + activate activar - + toggle conmutar - + right derecha - + left izquierda - + right small derecha pequeño - + left small izquierda pequeño - + up arriba - + down abajo - + up small arriba pequeño - + down small abajo pequeño - + Shortcut Atajo @@ -9662,37 +9713,37 @@ de OpenGL. Library - + This or a parent directory is already in your library. Este directorio o su superior ya se encuentra en tu biblioteca. - + This or a listed directory does not exist or is inaccessible. Aborting the operation to avoid library inconsistencies Este directorio o el indicado no existe o es inaccesible. Cancelando la operación para evitar inconsistencias de biblioteca. - - + + This directory can not be read. Este directorio no puede ser leído. - + An unknown error occurred. Aborting the operation to avoid library inconsistencies Ha ocurrido un error desconocido. Cancelando la operación para evitar inconsistencias de biblioteca - + Can't add Directory to Library No se pudo agregar el directorio a la biblioteca - + Could not add <b>%1</b> to your library. %2 @@ -9701,27 +9752,27 @@ Cancelando la operación para evitar inconsistencias de biblioteca %2 - + Can't remove Directory from Library No se pudo remover el directorio de la biblioteca. - + An unknown error occurred. Ha ocurrido un error desconocido. - + This directory does not exist or is inaccessible. Este directorio no existe o es inaccesible. - + Relink Directory Reenlazar directorio - + Could not relink <b>%1</b> to <b>%2</b>. %3 @@ -9733,27 +9784,27 @@ Cancelando la operación para evitar inconsistencias de biblioteca LibraryFeature - + Import Playlist Importar Lista de Reproducción - + Playlist Files (*.m3u *.m3u8 *.pls *.csv) Archivos de lista de reproducción (*.m3u *.m3u8 *.pls *.csv) - + Overwrite File? ¿Sobrescribir archivo? - + A playlist file with the name "%1" already exists. The default "m3u" extension was added because none was specified. Do you really want to overwrite it? - + Ya existe un archivo de lista de reproducción con el nombre "% 1". Se agregó la extensión predeterminada "m3u" porque no se especificó ninguna. ¿Realmente desea sobrescribirla? @@ -9899,253 +9950,253 @@ Do you really want to overwrite it? MixxxMainWindow - + Sound Device Busy El dispositivo de sonido está ocupado - + <b>Retry</b> after closing the other application or reconnecting a sound device <b>Reintente</b> luego de cerrar las otras aplicaciones o reconectar un dispositivo de sonido - - - + + + <b>Reconfigure</b> Mixxx's sound device settings. <b>Reconfigure</b> las opciones del dispositivo de sonido de Mixxx. - - + + Get <b>Help</b> from the Mixxx Wiki. Obtenga <b>ayuda</b> del wiki de Mixxx. - - - + + + <b>Exit</b> Mixxx. <b>Salir</b> de Mixxx. - + Retry Reintentar - + skin apariencia - + Allow Mixxx to hide the menu bar? ¿Permitir a Mixxx ocultar la barra de menú? - + Hide Always show the menu bar? Ocultar - + Always show Mostrar siempre - + The Mixxx menu bar is hidden and can be toggled with a single press of the <b>Alt</b> key.<br><br>Click <b>%1</b> to agree.<br><br>Click <b>%2</b> to disable that, for example if you don't use Mixxx with a keyboard.<br><br>You can change this setting any time in Preferences -> Interface.<br> Keep formatting tags <b> (bold text) and <br> (linebreak). %1 is the placeholder for the 'Always show' button label La barra de menú de Mixxx ha sido ocultada y se puede alternar presionando la tecla <b>Alt</b>. <br><br>Haz clic en <b>%1</b> para aceptar. <br><br>Haz clic en <b>%2</b> para desactivarlo, por ejemplo si usas Mixxx sin un teclado. <br><br>Puedes cambiar este ajuste en cualquier momento en Preferencias -> Interfaz. <br> - + Ask me again Pregúntame de nuevo - - + + Reconfigure Reconfigurar - + Help Ayuda - - + + Exit Salir - - + + Mixxx was unable to open all the configured sound devices. Mixxx no ha podido activar todos los dispositivos de sonido configurados. - + Sound Device Error Error del dispositivo de sonido - + <b>Retry</b> after fixing an issue <b>Reintenta</b> una vez corregido el problema - + No Output Devices No hay dispositivos de salida - + Mixxx was configured without any output sound devices. Audio processing will be disabled without a configured output device. Mixxx fue configurado sin ningún dispositivo de salida de audio. El procesamiento de audio estará desactivado mientras no se configure un dispositivo de audio de salida. - + <b>Continue</b> without any outputs. <b>Continuar</b> sin ninguna salida. - + Continue Continuar - + Load track to Deck %1 Cargar pista al plato %1 - + Deck %1 is currently playing a track. El plato %1 está reproduciendo una pista. - + Are you sure you want to load a new track? ¿Está seguro de cargar una pista nueva? - + There is no input device selected for this vinyl control. Please select an input device in the sound hardware preferences first. No hay ningún dispositivo de entrada seleccionado para el control por vinilo. Por favor, seleccione un dispositivo de entrada en las preferencias de hardware de sonido. - + There is no input device selected for this passthrough control. Please select an input device in the sound hardware preferences first. No hay ningún dispositivo de entrada seleccionado para el control passthrough. Por favor, seleccione un dispositivo de entrada en las preferencias de hardware de sonido. - + There is no input device selected for this microphone. Do you want to select an input device? No se ha seleccionado un dispositivo de Entrada para este micrófono. ¿Deseas escoger uno ahora? - + There is no input device selected for this auxiliary. Do you want to select an input device? No se ha seleccionado un dispositivo de entrada para este Auxiliar. ¿Deseas escoger uno ahora? - + Scan took %1 - + El escaneo tomo %1 - + No changes detected. - + No se han detectado cambios - - + + %1 tracks in total - + %1 pistas en total - + %1 new tracks found - + Encontradas %1 pistas nuevas - + %1 moved tracks detected - + %1 pistas movidas detectadas - + %1 tracks are missing (%2 total) - + %1 pistas perdidas (%2 en total) - + %1 tracks have been rediscovered - + %1 pistas han sido reencontradas - + Library scan finished - + Escaneo de la biblioteca terminado - + Error in skin file Error en el archivo de la apariencia - + The selected skin cannot be loaded. No se ha podido cargar la apariencia seleccionada. - + OpenGL Direct Rendering Renderizado directo de OpenGL - + Direct rendering is not enabled on your machine.<br><br>This means that the waveform displays will be very<br><b>slow and may tax your CPU heavily</b>. Either update your<br>configuration to enable direct rendering, or disable<br>the waveform displays in the Mixxx preferences by selecting<br>"Empty" as the waveform display in the 'Interface' section. - + El renderizado directo no está habilitado en su máquina. <br><br>Esto significa que las visualizaciones de forma de onda serán muy <br><b>lentas y pueden exigir mucho a su CPU</b>. Actualice su <br>configuración para habilitar la representación directa o desactiv<br> las visualizaciones de forma de onda en las preferencias de Mixxx seleccionando <br>"Vacío" como la pantalla de forma de onda en la sección 'Interfaz'. - - - + + + Confirm Exit Confirmar salida - + A deck is currently playing. Exit Mixxx? Un plato está reproduciendo. ¿Salir de Mixxx? - + A sampler is currently playing. Exit Mixxx? Un reproductor de muestras está en reproducción. ¿Salir de Mixxx? - + The preferences window is still open. La ventana de preferencias todavía está abierta. - + Discard any changes and exit Mixxx? ¿Descartar cambios y salir de Mixxx? @@ -10161,13 +10212,13 @@ Do you want to select an input device? PlaylistFeature - + Lock Bloquear - - + + Playlists Listas de reproducción @@ -10177,32 +10228,58 @@ Do you want to select an input device? Aleatorizar lista de reproducción - + + Unlock all playlists + + + + + Delete all unlocked playlists + + + + Unlock Desbloquear - + + + Confirm Deletion + + + + + Do you really want to delete all unlocked playlists? + + + + + Deleting %1 unlocked playlists.<br>This operation can not be undone! + + + + Playlists are ordered lists of tracks that allow you to plan your DJ sets. Las listas de reproducción son listar ordenadas de pistas que te permiten planificar tus sesiones de DJ. - + It may be necessary to skip some tracks in your prepared playlist or add some different tracks in order to maintain the energy of your audience. Podría ser necesario saltar algunas pistas en tu lista de reproducción planificada, o añadir algunas pistas diferentes, con el fin de mantener la energía de tu audiencia. - + Some DJs construct playlists before they perform live, but others prefer to build them on-the-fly. Algunos DJ preparan listas de reproducción antes de tocar en vivo, pero otros prefieren hacerlo en el momento. - + When using a playlist during a live DJ set, remember to always pay close attention to how your audience reacts to the music you've chosen to play. Cuando uses una lista de reproducción en una actuación en vivo, recuerda siempre prestar mucha atención a cómo reacciona la audiencia con la música que has elegido reproducir. - + Create New Playlist Crear nueva lista de reproducción @@ -10212,7 +10289,7 @@ Do you want to select an input device? Mixxx Hotcue Colors - + Colores de hotcues de Mixxx @@ -10220,82 +10297,82 @@ Do you want to select an input device? Serato DJ Track Metadata Hotcue Colors - + Metadatos de colores de hotcues de pistas de Serato DJ Serato DJ Pro Hotcue Colors - + Colores de hotcues de Serato DJ Pro Rekordbox COLD1 Hotcue Colors - + Colores de hotcues de Rekordbox COLD1 Rekordbox COLD2 Hotcue Colors - + Colores de hotcues de Rekordbox COLD2 Rekordbox COLORFUL Hotcue Colors - + Colores de hotcues COLORFUL de Rekordbox Mixxx Track Colors - + Colores de pistas de Mixxx Rekordbox Track Colors - + Colores de pistas de Rekordbox Serato DJ Pro Track Colors - + Colores de pistas de Serato DJ Pro Traktor Pro Track Colors - + Colores de pistas de Traktor Pro VirtualDJ Track Colors - + Colores de pistas de VirtualDJ Mixxx Key Colors - + Colores de notas de Mixxx Traktor Key Colors - + Colores de notas de Traktor Mixed In Key - Key Colors - + Colores de notas de Mixed In Key Protanopia / Protanomaly Key Colors - + Colores de notas de Protanopia/Protanomalía Deuteranopia / Deuteranomaly Key Colors - + Colores de notas de Deuteranopía/Deuteranomalía Tritanopia / Tritanomaly Key Colors - + Colores de notas de Tritanopía/Tritanomalía @@ -10429,7 +10506,7 @@ Do you want to scan your library for cover files now? Switch - + Switch @@ -10514,7 +10591,7 @@ Do you want to scan your library for cover files now? Vinyl Control - + Control de vinilo @@ -10879,7 +10956,7 @@ Si la amplitud es cero, este parámetro permite mover la posición manualmente p The Mixxx Team - + Equipo de Mixxx @@ -10909,12 +10986,12 @@ Si la amplitud es cero, este parámetro permite mover la posición manualmente p Gain - + Ganancia Set the gain of metronome click sound - + Configura la ganancia del sonido del metrónomo @@ -11863,7 +11940,7 @@ Consejo: compensa las voces de "ardillitas" o "gruñonas"La cantidad de amplificación aplicada a la señal de audio. A niveles más altos, el audio estará más distorsionado. - + Passthrough Paso @@ -12033,12 +12110,12 @@ pueden introducir un efecto de "bombeo" y/o distorsión. varios - + built-in nativo - + missing no encontrado @@ -12166,54 +12243,54 @@ pueden introducir un efecto de "bombeo" y/o distorsión. RekordboxFeature - - - + + + Rekordbox Rekordbox - + Playlists Listas de reproducción - + Folders Carpetas - + Reads databases exported for Pioneer CDJ / XDJ players using the Rekordbox Export mode.<br/>Rekordbox can only export to USB or SD devices with a FAT or HFS file system.<br/>Mixxx can read a database from any device that contains the database folders (<tt>PIONEER</tt> and <tt>Contents</tt>).<br/>Not supported are Rekordbox databases that have been moved to an external device via<br/><i>Preferences > Advanced > Database management</i>.<br/><br/>The following data is read: - + Hot cues Accesos Directos - + Loops (only the first loop is currently usable in Mixxx) Bucles (solo el primer bucle es utilizable en Mixxx) - + Check for attached Rekordbox USB / SD devices (refresh) Buscar dispositivos de almacenamiento Rekordbox (refrescar) - + Beatgrids Grillas de pulsos - + Memory cues Cues en memoria - + (loading) Rekordbox (cargando) Rekordbox @@ -12655,22 +12732,22 @@ pueden introducir un efecto de "bombeo" y/o distorsión. Reading track for fingerprinting failed. - + Ha fallado la lectura de la pista para fingerprinting Identifying track through AcoustID - + Identificando pista mediante AcoustID Could not identify track through AcoustID. - + No se pudo identificar la pista mediante AcoustID. Could not find this track in the MusicBrainz database. - + No se pudo encontrar esta pista en la base de datos de MusicBrainz. @@ -12934,7 +13011,7 @@ pueden introducir un efecto de "bombeo" y/o distorsión. Vinyl Control - + Control de vinilo @@ -13242,7 +13319,7 @@ pueden introducir un efecto de "bombeo" y/o distorsión. Toggle visibility of Rate Control - + Alternar visibilidad del control de velocidad @@ -13392,7 +13469,7 @@ pueden introducir un efecto de "bombeo" y/o distorsión. Left click and hold allows to preview the position where the play head will jump to on release. Dragging can be aborted with right click. - + Mantener el clic izquierdo permite previsualizar la posición donde la cabeza de reproducción saltará al soltarlo. El arrastre puede ser abortado con el clic derecho. @@ -13442,12 +13519,12 @@ pueden introducir un efecto de "bombeo" y/o distorsión. Shows the current volume for the left channel of the main output. - + Muestra el volumen actual para el canal izquierdo en la salida principal. Shows the current volume for the right channel of the main output. - + Muestra el volumen actual para el canal derecho de la salida principal. @@ -13459,27 +13536,27 @@ pueden introducir un efecto de "bombeo" y/o distorsión. Adjusts the main output gain. - + Ajusta el volumen principal Determines the main output by fading between the left and right channels. - + Determina la salida principal desvaneciendo entre los canales izquierdo y derecho. Adjusts the left/right channel balance on the main output. - + Ajusta el balance de los canales izquierdo/derecho en la salida principal. Crossfades the headphone output between the main mix and cueing (PFL or Pre-Fader Listening) signal. - + Desvanecimiento cruzado de la salida de auriculares entre la salida principal y la señal de cueing (PFL o Escucha Pre-Deslizador) If activated, the main mix signal plays in the right channel, while the cueing signal plays in the left channel. - + Si se activa, la señal principal de la mezcla se reproduce en el canal derecho, mientras que la señal de cueing se reproduce en el canal izquierdo. @@ -13494,12 +13571,12 @@ pueden introducir un efecto de "bombeo" y/o distorsión. Show/hide the beatgrid controls section - + Mostrar/ocultar la sección de controles de la cuadrícula de tiempo Show/hide the stem mixing controls section - + Mostrar/ocultar la sección de controles de mezcla de stems @@ -13509,17 +13586,17 @@ pueden introducir un efecto de "bombeo" y/o distorsión. Volume Meters - + Medidores de volumen mix microphone input into the main output. - + mezcla la entrada de micrófono con la salida principal. Auto: Automatically reduce music volume when microphone volume rises above threshold. - + Auto: reduce automáticamente el volumen de la música cuando el volumen del micrófono supera el umbral. @@ -13530,17 +13607,17 @@ pueden introducir un efecto de "bombeo" y/o distorsión. Auto: Sets how much to reduce the music volume when the volume of active microphones rises above threshold. - + Auto: configura cuánto se reduce el volumen de la música cuando el volumen de los micrófonos activos supera el umbral. Manual: Sets how much to reduce the music volume, when talkover is activated regardless of volume of microphone inputs. - + Manual: configura cuánto reducir e If keylock is disabled, pitch is also affected. - + Si el bloqueo tonal se desactiva, la altura también es afectada. @@ -13555,7 +13632,7 @@ pueden introducir un efecto de "bombeo" y/o distorsión. Raises playback speed in small steps. - + Incrementa la velocidad de reproducción en pasos pequeños. @@ -13570,7 +13647,7 @@ pueden introducir un efecto de "bombeo" y/o distorsión. Lowers playback speed in small steps. - + Reduce la velocidad de reproducción en pasos pequeños. @@ -13580,12 +13657,12 @@ pueden introducir un efecto de "bombeo" y/o distorsión. Holds playback speed higher while active (tempo). - + Mantiene la velocidad de reproducción alta cuando se activa (tempo). Holds playback speed higher (small amount) while active. - + Mantiene la velocidad de reproducción alta (pequeña cantidad) cuando se activa. @@ -13595,59 +13672,60 @@ pueden introducir un efecto de "bombeo" y/o distorsión. Holds playback speed lower while active (tempo). - + Mantiene la velocidad de reproducción baja cuando se activa (tempo). Holds playback speed lower (small amount) while active. - + Mantiene la velocidad de reproducción baja (pequeña cantidad) cuando se activa. When tapped repeatedly, adjusts the tempo to match the tapped BPM. - + Cuando se pulsa repetidamente, ajusta el tempo para coincidir con la frecuencia de pulsaciones. Tempo Tap - + Seguidor de Tempo (Tempo Tap) Rate Tap and BPM Tap - + Frecuencia de pulsaciones y de BPM Adjust beatgrid by exactly one half beat. Usable only on tracks with constant tempo. - + Ajusta la cuadrícula de tiempo en exactamente medio beat. Solo se puede usar en +pistas con tempo constante Revert last BPM/Beatgrid Change - + Revierte el último cambio de BPM/cuadrícula de tiempo Revert last BPM/Beatgrid Change of the loaded track. - + Revierte el último cambio de BPM/Cuadrícula de tiempo para la pista cargada. Toggle the BPM/beatgrid lock - + Cambia el bloqueo de BPM/cuadrícula de tiempo Tempo and Rate Tap - + Toques de Tempo y Frecuencia Tempo, Rate Tap and BPM Tap - + Toques de Tempo, Frecuencia y BPM @@ -13663,79 +13741,79 @@ tracks with constant tempo. Left click: shift 10 milliseconds earlier - + Clic izquierdo: adelantar 10 milisegundos Right click: shift 1 millisecond earlier - + Clic derecho: adelantar 1 milisegundo Shift cues later - + Retrasar cues Left click: shift 10 milliseconds later - + Clic izquierdo: retrasar 10 milisegundos Right click: shift 1 millisecond later - + Clic derecho: retrasar 1 milisegundo Drag a Hotcue button here to continue playing after releasing the Hotcue. - + Arrastra un botón de Hotcue aquí para continuar reproduciendo después de soltar la hotcue. Hint: Change the default cue mode in Preferences -> Decks. - + Sugerencia: cambie el modo por defecto de las cues en Preferencias -> Platos. Mutes the selected channel's audio in the main output. - + Silencia el audio del canal seleccionado en la salida principal. Main mix enable - + Activador de mezcla principal Hold or short click for latching to mix this input into the main output. - + Clic sostenido o corto para enganchar, para mezclar esta entrada con la salida principal. If hotcue is a loop cue, toggles the loop and jumps to if the loop is behind the play position. - + Si la hotcue es una cue de bucle, activa el bucle y salta hacia él si se encuentra detrás de la posición de reproducción. If the play position is inside an active loop, stores the loop as loop cue. - + Si la posición de reproducción se encuentra dentro de un bucle activo, almacena el bucle como una hotcue de bucle. Drag this button onto another Hotcue button to move it there (change its index). If the other hotcue is set, the two are swapped. - + Arrastrar este botón dentro de otro botón de hotcue para moverlo hacia este (cambiando su número). Si la otra hotcue ya se encuentra definida, las dos son intercambiadas. Expand/Collapse Samplers - + Expandir/contraer samplers Toggle expanded samplers view. - + Alternar la vista expandida de los samplers. @@ -13745,12 +13823,12 @@ tracks with constant tempo. Auto DJ is active - + Auto DJ se encuentra activo Red for when needle skip has been detected. - + Rojo cuando se detecta un salto de aguja. @@ -13790,7 +13868,7 @@ tracks with constant tempo. If the track has no beats the unit is seconds. - + Si la pista no tiene pulsaciones, la unidad es segundos. @@ -13830,12 +13908,12 @@ tracks with constant tempo. Beatloop Anchor - + Ancla del bucle de pulsaciones Define whether the loop is created and adjusted from its staring point or ending point. - + Define si el bucle es creado y ajustado desde su punto de inicio o de final. @@ -13930,12 +14008,12 @@ tracks with constant tempo. Hint: Change the time format in Preferences -> Decks. - + Sugerencia: cambie el formato de tiempo en Preferencias -> Platos. Show/hide intro & outro markers and associated buttons. - + Mostrar/ocultar marcadores de intro y outro, y sus botones asociados. @@ -13948,7 +14026,7 @@ tracks with constant tempo. If marker is set, jumps to the marker. - + Si el marcador se encuentra definido, salta al marcador. @@ -13956,7 +14034,7 @@ tracks with constant tempo. If marker is not set, sets the marker to the current play position. - + Si el marcador no se encuentra definido, lo configura a la posición de reproducción actual. @@ -13964,7 +14042,7 @@ tracks with constant tempo. If marker is set, clears the marker. - + Si el marcador se encuentra definido, lo elimina. @@ -13989,7 +14067,7 @@ tracks with constant tempo. Adjust the mixing of the dry (input) signal with the wet (output) signal of the effect unit - + Ajuste la mezcla de la señal seca (entrada) con la señal húmeda (salida) de la unidad de efectos @@ -13999,7 +14077,7 @@ tracks with constant tempo. D+W mode: Add wet to dry - + Modo D+W: agregue húmedo a seco @@ -14009,24 +14087,25 @@ tracks with constant tempo. Adjust how the dry (input) signal is mixed with the wet (output) signal of the effect unit - + Ajuste cómo se mezcla la señal seca (entrada) con la señal húmeda (salida) de la unidad de efectos Dry/Wet mode (crossed lines): Mix knob crossfades between dry and wet Use this to change the sound of the track with EQ and filter effects. - + Modo seco / húmedo (líneas cruzadas): Mezcle los fundidos cruzados de la perilla entre seco y húmedo. Use esto para cambiar el sonido de la pista con EQ y efectos de filtro. Dry+Wet mode (flat dry line): Mix knob adds wet to dry Use this to change only the effected (wet) signal with EQ and filter effects. - + Modo Seco+Húmedo (línea seca plana): La perilla de mezcla agrega mojado a seco +Utiliza esto para cambiar únicamente la señal afectada (mojada) con EQ y efectos de filtrado. Route the main mix through this effect unit. - + Enruta la mezcla principal a través de esta unidad de efectos. @@ -14046,42 +14125,42 @@ Use this to change only the effected (wet) signal with EQ and filter effects. Stem Label - + Etiqueta de stem Name of the stem stored in the stem file - + Nombre del stem almacenado en el archivo de stem Text is displayed in the stem color stored in the stem file - + El texto es presentado con el color del stem almacenado en el archivo de stem this stem color is also used for the waveform of this stem - + este color de stem también es usado en la forma de onda de este stem Stem Mute - + Silenciar stem Toggle the stem mute/unmuted - + Alterna el silencio del stem Stem Volume Knob - + Perilla de volumen del stem Adjusts the volume of the stem - + Ajusta el volumen del stem @@ -14349,7 +14428,7 @@ Use this to change only the effected (wet) signal with EQ and filter effects. Inactive: parameter not linked - + Inactivo: parámetro no enlazado @@ -14565,17 +14644,17 @@ Use this to change only the effected (wet) signal with EQ and filter effects. Left click to jump around in the track. - + Clic izquierdo para saltar a lo largo de la pista. Right click hotcues to edit their labels and colors. - + Click derecho en los accesos directos para editar sus etiquetas y colores. Right click anywhere else to show the time at that point. - + Clic derecho en cualquier otra parte para mostrar el tiempo en ese punto. @@ -14670,7 +14749,7 @@ Use this to change only the effected (wet) signal with EQ and filter effects. Maximize Library - + Maximizar Biblioteca @@ -14685,7 +14764,7 @@ Use this to change only the effected (wet) signal with EQ and filter effects. Changes the number of hotcue buttons displayed in the deck - + Cambia el número de botones de acceso directo mostrados en el deck @@ -14711,12 +14790,12 @@ Use this to change only the effected (wet) signal with EQ and filter effects. Opens the track properties editor - + Abre el editor de propiedades de pista Opens the track context menu. - + Abre el menú contextual de la pista @@ -14818,12 +14897,12 @@ Use this to change only the effected (wet) signal with EQ and filter effects. Drag this button onto a Play button while previewing to continue playback after release. - + Arrastre este botón a un boton de Play durante la preescucha para continuar la reproducción tras soltarlo. Dragging with Shift key pressed will not start previewing the hotcue. - + Arrastrar mientras presiona la tecla Shift no iniciará la preescucha de la hotcue. @@ -15257,22 +15336,22 @@ Use this to change only the effected (wet) signal with EQ and filter effects. Replace Existing File? - + ¿Reemplazar el archivo existente? "%1" already exists, replace? - + "%1% ya existe, ¿reemplazar? &Replace - + &Reemplazar Apply to all files - + Aplicar a todos los archivos @@ -15371,7 +15450,7 @@ Use this to change only the effected (wet) signal with EQ and filter effects. frameSwapped-signal driven phase locked loop - + Bucle con bloqueo de fase manejado por señal con marco cambiado @@ -15397,12 +15476,12 @@ Use this to change only the effected (wet) signal with EQ and filter effects. No color - + Sin color Custom color - + Color personalizado @@ -15455,47 +15534,47 @@ Carpeta: %2 WCueMenuPopup - + Cue number - + Número de cue - + Cue position Posición Marca - + Edit cue label Editar etiqueta de marca - + Label... - + Etiqueta... - + Delete this cue Borrar esta marca - + Toggle this cue type between normal cue and saved loop - + Alterna el tipo de esta cue entre cue normal y bucle guardado - + Left-click: Use the old size or the current beatloop size as the loop size - + Clic izquierdo: usar el tamaño anterior o el del bucle actual como el tamaño de bucle - + Right-click: Use the current play position as loop end if it is after the cue - + Clic derecho: usar la posición de reproducción actual como final del bucle si se encuentra después de la cue - + Hotcue #%1 Acceso DIrecto #%1 @@ -15510,7 +15589,7 @@ Carpeta: %2 Rename Preset - + Renombrar preajuste @@ -15620,407 +15699,437 @@ Carpeta: %2 - Create &New Playlist + Search in Current View... + Search for tracks in the current library view + + + + + Ctrl+f + + + + + Search in Tracks Library... + + + + + Search in the internal track collection under "Tracks" in the library + + + + + Ctrl+Shift+F + + + + + Create &New Playlist + Crear &nueva Playlist + + + Create a new playlist Crear una nueva lista de reproducción - + Ctrl+n Ctrl+N - + Create New &Crate Crear un nuevo&cajón - + Create a new crate Crear un nuevo cajón - + Ctrl+Shift+N Ctrl+Mayús+N - - + + &View &Vista - + Auto-hide menu bar - + Auto-ocultar barra de menú - + Auto-hide the main menu bar when it's not used. - + Auto-ocultar la barra de menú principal cuando no es utilizada. - + May not be supported on all skins. Puede no estar disponible para todas las apariencias. - + Show Skin Settings Menu Mostrar menú de ajustes de aspecto - + Show the Skin Settings Menu of the currently selected Skin Mostrar la configuración actual del menu de tema - + Ctrl+1 Menubar|View|Show Skin Settings Ctrl+1 - + Show Microphone Section Mostrar seccion del microfono - + Show the microphone section of the Mixxx interface. Muestra la sección de control de micrófono de la interfaz de Mixxx. - + Ctrl+2 Menubar|View|Show Microphone Section Ctrl+2 - + Show Vinyl Control Section Mostrar la Sección de Control de Vinilo - + Show the vinyl control section of the Mixxx interface. Muestra la sección de control de vinilo de la interfaz de Mixxx. - + Ctrl+3 Menubar|View|Show Vinyl Control Section Ctrl+3 - + Show Preview Deck Mostrar el reproductor de preescucha - + Show the preview deck in the Mixxx interface. Muestra el reproductor de preescucha en la interfaz de Mixxx. - + Ctrl+4 Menubar|View|Show Preview Deck Ctrl+4 - + Show Cover Art Muestra carátulas - + Show cover art in the Mixxx interface. Muestra las carátulas en la interfaz de Mixxx. - + Ctrl+6 Menubar|View|Show Cover Art Ctrl+6 - + Maximize Library Maximizar Biblioteca - + Maximize the track library to take up all the available screen space. Maximizar la biblioteca para tomar todo el espacio disponible en pantalla. - + Space Menubar|View|Maximize Library - + Espacio - + &Full Screen &Pantalla completa - + Display Mixxx using the full screen Mostrar Mixxx a pantalla completa - + &Options &Opciones - + &Vinyl Control Control de &vinilo - + Use timecoded vinyls on external turntables to control Mixxx Usar vinilos con codigo de tiempo en bandejas externas para controlar Mixxx - + Enable Vinyl Control &%1 Habilita el Control por Vinilo &%1 - + &Record Mix &Grabar Mezcla - + Record your mix to a file Grava a súa mestura a un ficheiro - + Ctrl+R Ctrl+R - + Enable Live &Broadcasting Activar transmisión en &vivo - + Stream your mixes to a shoutcast or icecast server Transmite tus mezclas a un servidor shoutcast o icecast - + Ctrl+L Ctrl+L - + Enable &Keyboard Shortcuts Activar Atajos de &Teclado - + Toggles keyboard shortcuts on or off Activa o desactiva los atajos de teclado - + Ctrl+` Ctrl+` - + &Preferences &Preferencias - + Change Mixxx settings (e.g. playback, MIDI, controls) Cambiar la configuración de Mixxx (p.ej.: reproducción, MIDI, controles) - + &Developer &Desarrollador - + &Reload Skin &Recargar apariencia - + Reload the skin Recargar la apariencia - + Ctrl+Shift+R Ctrl+Mayús+R - + Developer &Tools U&tilidades de desarrollador - + Opens the developer tools dialog Abre el cuadro de diálogo de herramientas de desarrollo - + Ctrl+Shift+T Ctrl+Mayús+T - + Stats: &Experiment Bucket Estadísticas: Contadores &Experiment - + Enables experiment mode. Collects stats in the EXPERIMENT tracking bucket. Activa el modo experimental. Recoje estadísticas en los contadores EXPERIMENT. - + Ctrl+Shift+E Ctrl+Mayús+E - + Stats: &Base Bucket Estadísticas: contadores &Base - + Enables base mode. Collects stats in the BASE tracking bucket. Activa el modo base. Recoje estadísticas en los contadores BASE. - + Ctrl+Shift+B Ctrl+Mayús+B - + Deb&ugger Enabled Dep&uración activada - + Enables the debugger during skin parsing Activa el depurador durante el análisis de la máscara - + Ctrl+Shift+D Ctrl+Mayús+D - + &Help Ay&uda - + Show Keywheel menu title - + Mostrar rueda de notas E&xport Library to Engine DJ "Engine DJ" must not be translated - + Exportar biblioteca a Engine DJ Export the library to the Engine DJ format - + Exportar biblioteca al formato Engine DJ - + Show keywheel tooltip text - + Mostrar rueda de notas - + F12 Menubar|View|Show Keywheel - + F12 - + &Community Support Soporte &comunitario - + Get help with Mixxx Obtener ayuda con Mixxx - + &User Manual Manual de &usuario - + Read the Mixxx user manual. Lea el manual de usuario de Mixxx. - + &Keyboard Shortcuts Atajos de &Teclado - + Speed up your workflow with keyboard shortcuts. Trabaja más rápidamente usando los atajos de teclado. - + &Settings directory &Directorio de configuración - + Open the Mixxx user settings directory. Abre el directorio de configuración de usuario de Mixxx. - + &Translate This Application &Traducir esta aplicación - + Help translate this application into your language. Ayude a traducir esta aplicación a su idioma. - + &About &Acerca de - + About the application Acerca de la aplicación @@ -16036,7 +16145,7 @@ Carpeta: %2 Ready to play, analyzing... Text on waveform overview when file is playable but no waveform is visible - + Listo para reproducir, analizando... @@ -16049,31 +16158,19 @@ Carpeta: %2 Finalizing... Text on waveform overview during finalizing of waveform analysis - + Finalizando... WSearchLineEdit - - Clear input - Clear the search bar input field - Borrar el texto - - - - Ctrl+F - Search|Focus - Ctrl+F - - - + Search noun Buscar - + Clear input Borrar el texto @@ -16084,93 +16181,87 @@ Carpeta: %2 Buscar... - + Clear the search bar input field - + Limpia el campo de entrada de la barra de búsqueda - - Enter a string to search for - Introducir el texto a buscar + + Return + Volver - - Use operators like bpm:115-128, artist:BooFar, -year:1990 + + Enter a string to search for. - - For more information see User Manual > Mixxx Library - Para más información vea el Manual de Usuario> Biblioteca Mixxx + + Use operators like bpm:115-128, artist:BooFar, -year:1990. + - Shortcut - Atajo + See User Manual > Mixxx Library for more information. + - - Ctrl+F - Ctrl+F + + Focus/Select All (Search in current view) + Give search bar input focus + - - Focus - Give search bar input focus - Poner el cursor aquí + + Focus/Select All (Search in 'Tracks' library view) + - - - Ctrl+Backspace - Ctrl+Tecla de retroceso + + Additional Shortcuts When Focused: + - Shortcuts - Atajos + Trigger search before search-as-you-type timeout or focus tracks view afterwards + - Return + Esc or Ctrl+Return - Trigger search before search-as-you-type timeout orjump to tracks view afterwards - Activa la búsqueda antes del tiempo de espera de "búsqueda mientras escribe" o salte a la vista de pistas después + Immediately trigger search and focus tracks view + Exit search bar and leave focus + - + Ctrl+Space - + Ctrl+Espacio - + Toggle search history Shows/hides the search history entries - + Alternar historial de búsqueda - + Delete or Backspace Borrar o Retorno - - Delete query from history - Borrar Consulta del Historial - - - - Esc - Esc + + in search history + - - Exit search - Exit search bar and leave focus - Salir de la busqueda + + Delete query from history + Borrar Consulta del Historial @@ -16178,7 +16269,7 @@ Carpeta: %2 Search related Tracks - + Buscar pistas relacionadas @@ -16188,7 +16279,7 @@ Carpeta: %2 harmonic with %1 - + armónico con %1 @@ -16198,7 +16289,7 @@ Carpeta: %2 between %1 and %2 - + entre %1 y %2 @@ -16248,7 +16339,7 @@ Carpeta: %2 &Search selected - + &Búsqueda seleccionada @@ -16286,7 +16377,7 @@ Carpeta: %2 Update external collections - + Actualizar colecciones externas @@ -16296,12 +16387,12 @@ Carpeta: %2 Adjust BPM - + Ajustar BPM Select Color - + Seleccionar color @@ -16469,12 +16560,12 @@ Carpeta: %2 Sort hotcues by position (remove offsets) - + Ordenar hotcues por posición (removiendo desfases) Sort hotcues by position - + Ordenar hotcues por posición @@ -16519,7 +16610,7 @@ Carpeta: %2 Shift Beatgrid Half Beat - + Desplazar la cuadrícula de tiempo medio beat @@ -16607,7 +16698,7 @@ Carpeta: %2 Undo BPM/beats change of %n track(s) - + Deshacer cambios de BPM/pulsaciones de %n pista(s)Deshacer cambios de BPM/pulsaciones de %n pista(s)Deshacer cambios de BPM/pulsaciones de %n pista(s) @@ -16622,7 +16713,7 @@ Carpeta: %2 Setting rating of %n track(s) - + Definiendo evaluación de %n pistaDefiniendo evaluación de %n pistasDefiniendo evaluación de %n pista(s) @@ -16677,12 +16768,12 @@ Carpeta: %2 Sorting hotcues of %n track(s) by position (remove offsets) - + Ordenando hotcues de %n pista por posición (removiendo desfases)Ordenando hotcues de %n pistas por posición (removiendo desfases)Ordenando hotcues de %n pistas(s) por posición (removiendo desfases) Sorting hotcues of %n track(s) by position - + Ordenando hotcues de %n pista por posiciónOrdenando hotcues de %n pistas por posiciónOrdenando hotcues de %n pista(s) por posición @@ -16707,7 +16798,7 @@ Carpeta: %2 Move these files to the trash bin? - + ¿Mover estos archivos a la papelera? @@ -16733,7 +16824,7 @@ Carpeta: %2 Okay - + Okey @@ -16783,7 +16874,7 @@ Carpeta: %2 Remaining Track File(s) - + Renombrando archivo(s) de pista @@ -16794,7 +16885,7 @@ Carpeta: %2 Clear Reset metadata in right click track context menu in library - + Climpiar @@ -16804,37 +16895,37 @@ Carpeta: %2 Clear BPM and Beatgrid - + Limpia las BPM y la cuadrícula de tiempo Undo last BPM/beats change - + Revertir el último cambio de BPM/pulsaciones Move this track file to the trash bin? - + ¿Mover este archivo de pista a la papelera? Permanently delete this track file from disk? - + ¿Eliminar permanentemente este archivo de pista del disco? All decks where these tracks are loaded will be stopped and the tracks will be ejected. - + Todos los platos donde estas pistas hayan sido cargadas se detendrán, y las pistas serán expulsadas. All decks where this track is loaded will be stopped and the track will be ejected. - + Todos los platos donde esta pista haya sido cargada se detendrán, y la pista será expulsada. Removing %n track file(s) from disk... - + Removiendo %n archivo(s) de pista del disco... @@ -16854,12 +16945,12 @@ Carpeta: %2 Don't show again during this session - + No mostrar nuevamente durante esta sesión The following %1 file(s) could not be moved to trash - + El/los siguiente(s) %1 archivo(s) no pudieron ser movidos a la papelera @@ -16882,7 +16973,7 @@ Carpeta: %2 title - + título @@ -16890,73 +16981,73 @@ Carpeta: %2 Load for stem mixing - + Cargar para mezcla de stems Load pre-mixed stereo track - + Cargar pista estéreo premezclada Load the "%1" stem - + Cargar el stem "%1" Load multiple stem into a stereo deck - + Cargar múltiples stems en un plato estéreo Select stems to load - + Seleccionar stems a cargar Release "CTRL" to load the current selection - + Soltar "Ctrl" para cargar la selección actual Use "CTRL" to select multiple stems - + Use "Ctrl" para seleccionar múltiples stems WTrackTableView - + Confirm track hide Confirmar ocultar pista - + Are you sure you want to hide the selected tracks? ¿Estas seguro de que quieres ocultar las pistas seleccionadas? - + Are you sure you want to remove the selected tracks from AutoDJ queue? ¿Esta seguro de que quiere eliminar las pistas seleccionadas de la cola del AutoDJ? - + Are you sure you want to remove the selected tracks from this crate? Estás seguro que quieres eliminar las pistas seleccionada de este cajón? - + Are you sure you want to remove the selected tracks from this playlist? ¿Esta seguro de que desea eliminar las pistas seleccionadas de la lista de reproducción? - + Don't ask again during this session No volver a preguntar durante esta sesión - + Confirm track removal Confirmar eliminación del track @@ -16971,58 +17062,58 @@ Carpeta: %2 Shuffle Tracks - + Mezclar pistas mixxx::CoreServices - + fonts tipos de letra - + database base de datos - + effects efectos - + audio interface interface de sonido - + decks - + decks - + library Biblioteca - + Choose music library directory Elija el directorio de la biblioteca de la música - + controllers Controladores - + Cannot open database No se puede abrir la base de datos - + Unable to establish a database connection. Mixxx requires QT with SQLite support. Please read the Qt SQL driver documentation for information on how to build it. @@ -17036,70 +17127,80 @@ Pulse Aceptar para salir. mixxx::DlgLibraryExport - + Entire music library + Biblioteca de música completa + + + + Crates - - Selected crates - Cajas seleccionadas + + Playlists + - + + Selected crates/playlists + + + + Browse Ver - + Export directory - + Exportar directorio - + Database version - + Versión de base de datos - + Export Exportar - + Cancel Cancelar - + Export Library to Engine DJ "Engine DJ" must not be translated - + Exportar biblioteca a Engine DJ - + Export Library To - + Exportar biblioteca a - + No Export Directory Chosen - + No se seleccionó un directorio de exportación - + No export directory was chosen. Please choose a directory in order to export the music library. - + No se escogió un directorio de exportación. Por favor escoja un directorio para poder exportar la biblioteca de música. - + A database already exists in the chosen directory. Exported tracks will be added into this database. - + Una base de datos ya existe en el directorio seleccionado. Las pistas exportadas serán añadidas a esta base de datos. - + A database already exists in the chosen directory, but there was a problem loading it. Export is not guaranteed to succeed in this situation. - + Una base de datos ya existe en el directorio seleccionado, pero ocurrió un problema al cargarla. No se garantiza una exportación exitosa en esta situación. @@ -17118,34 +17219,35 @@ Pulse Aceptar para salir. mixxx::EnginePrimeExportJob - + Failed to export track %1 - %2: %3 %1 is the artist %2 is the title and %3 is the original error message - + Fallo al exportar %1 - %2: +%3 mixxx::LibraryExporter - + Export Completed - + Exportación completada - - Exported %1 track(s) and %2 crate(s). - Exportados %1 pista(s) y %2 caja(s). + + Exported %1 track(s), %2 crate(s), and %3 playlist(s). + - + Export Failed - + Exportación fallida - + Exporting to Engine DJ... - + Exportando a Engine DJ... @@ -17153,7 +17255,7 @@ Pulse Aceptar para salir. Abort - + Abortar diff --git a/res/translations/mixxx_es_ES.qm b/res/translations/mixxx_es_ES.qm index 810af7d212c0a28632d35156a46e084b25aa4d39..8d85ae979c81c8ad4690af7a626cdc466a93ce1a 100644 GIT binary patch delta 54665 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 N6FLo@w^z-O{~vbuAQ%7u delta 25772 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 diff --git a/res/translations/mixxx_es_ES.ts b/res/translations/mixxx_es_ES.ts index 181086cd7ee1..7c3c0d8cd4b3 100644 --- a/res/translations/mixxx_es_ES.ts +++ b/res/translations/mixxx_es_ES.ts @@ -26,17 +26,17 @@ Enable Auto DJ - + Activar Auto DJ Disable Auto DJ - + Desactivar Auto DJ Clear Auto DJ Queue - + Vaciar la cola de Auto DJ @@ -51,22 +51,22 @@ Confirmation Clear - + Confirmación limpiada Do you really want to remove all tracks from the Auto DJ queue? - + ¿Realmente quieres eliminar todas las pistas de la cola de Auto DJ? This can not be undone. - + ¡Esto no puede ser revertido! Add Crate as Track Source - Usar cajón como fuente de pistas + Usar el cajón como fuente de pistas @@ -149,7 +149,7 @@ BasePlaylistFeature - + New Playlist Nueva lista de reproducción @@ -160,7 +160,7 @@ - + Create New Playlist Crear nueva lista de reproducción @@ -190,114 +190,120 @@ Duplicar - - + + Import Playlist Importar lista de reproducción - + Export Track Files Exportar pistas - + Analyze entire Playlist Analizar toda la lista de reproducción - + Enter new name for playlist: Escriba un nuevo nombre para la lista de reproducción: - + Duplicate Playlist Duplicar lista de reproducción - - + + Enter name for new playlist: Escriba un nombre para la nueva lista de reproducción: - - + + Export Playlist Exportar lista de reproducción - + Add to Auto DJ Queue (replace) Añadir a la cola de Auto DJ (reemplaza) - + + + Export to Engine DJ + "Engine DJ" is a product name and must not be translated. + + + + Rename Playlist Renombrar lista de reproducción - - + + Renaming Playlist Failed Ha fallado el renombrado de la lista de reproducción - - - + + + A playlist by that name already exists. Ya existe una lista de reproducción con ese nombre. - - - + + + A playlist cannot have a blank name. El nombre de la lista de reproducción no puede quedar en blanco. - + _copy //: Appendix to default name when duplicating a playlist _copia - - - - - - + + + + + + Playlist Creation Failed Ha fallado la creación de la lista de reproducción - - + + An unknown error occurred while creating playlist: Se ha producido un error desconocido al crear la lista de reproducción: - + Confirm Deletion Confirmar Borrado - + Do you really want to delete playlist <b>%1</b>? - Do you really want to delete playlist -%1? + ¿Deseas realmente eliminar la lista de reproducción<b>%1</b>? - + M3U Playlist (*.m3u) Lista de reproducción M3U (*.m3u) - + M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Text CSV (*.csv);;Readable Text (*.txt) Lista de reproducción M3U (*.m3u);;Lista de reproducción M3U8 (*.m3u8);;Lista de reproducción PLS (*.pls);;Texto CSV (*.csv);;Texto legible (*.txt) @@ -305,12 +311,12 @@ BaseSqlTableModel - + # # - + Timestamp Marca de tiempo @@ -318,7 +324,7 @@ BaseTrackPlayerImpl - + Couldn't load track. No se ha podido cargar la pista. @@ -326,142 +332,142 @@ BaseTrackTableModel - + Album Álbum - + Album Artist Artista del álbum - + Artist Artista - + Bitrate Tasa de bits - + BPM BPM - + Channels Canales - + Color Color - + Comment Comentario - + Composer Compositor - + Cover Art Carátula - + Date Added Fecha añadida - + Last Played Última reproducción - + Duration Duración - + Type Tipo - + Genre Género - + Grouping Grupo - + Key Clave - + Location Ubicación - + Overview - + Resumen - + Preview Preescucha - + Rating Puntuación - + ReplayGain Ganancia de reproducción - + Samplerate Velocidad de muestreo - + Played Reproducido - + Title Título - + Track # Pista n.º - + Year Año - + Fetching image ... Tooltip text on the cover art column shown when the cover is read from disk Recuperando imagen... @@ -610,6 +616,16 @@ "Computer" lets you navigate, view, and load tracks from folders on your hard disk and external devices. "Equipo" te permite navegar, ver y abrir las pistas de las carpetas del disco duro o de dispositivos externos. + + + It shows the data from the file tags, not track data from your Mixxx library like other track views. + + + + + If you load a track file from here, it will be added to your library. + + BrowseTableModel @@ -734,12 +750,12 @@ The file '%1' could not be found. - + El archivo '%1' no se encontró. The file '%1' could not be loaded. - + El archivo '%1' no se pudo cargar. @@ -807,7 +823,7 @@ Rescans the library when Mixxx is launched. - + Re escanea la librería cuando se inicia Mixxx @@ -857,7 +873,7 @@ trace - Arriba + Perfilar mensajes Sets the maximum file size of the mixxx.log file in bytes. Use -1 for unlimited. The default is 100 MB as 1e5 or 100000000. - + Configura el tamaño máximo del archivo mixxx.log en bytes. Usa -1 para ilimitado. Por defecto es 100 MB, como en 1e5 o 100000000. @@ -867,7 +883,7 @@ trace - Arriba + Perfilar mensajes Overrides the default application GUI style. Possible values: %1 - + Anula el estilo por defecto de la interfaz de usuario de la aplicación. Valores posibles: %1 @@ -2358,7 +2374,7 @@ trace - Arriba + Perfilar mensajes Main Output delay - + Retardo (delay) de la Salida principal @@ -2464,12 +2480,12 @@ trace - Arriba + Perfilar mensajes Move Beatgrid Half a Beat - + Desplaza la cuadricula de tiempo medio pulso Adjust the beatgrid by exactly one half beat. Usable only for tracks with constant tempo. - + Ajusta la cuadrícula de tiempo en exactamente medio beat. Solo se puede usar en pistas con tempo constante. @@ -2667,13 +2683,13 @@ trace - Arriba + Perfilar mensajes Sort hotcues by position - + Ordenar hotcues por posición Sort hotcues by position (remove offsets) - + Ordenar hotcues por posición (removiendo desfases) @@ -3528,7 +3544,7 @@ trace - Arriba + Perfilar mensajes Unknown - + Desconocido @@ -3633,32 +3649,32 @@ trace - Arriba + Perfilar mensajes ControllerScriptEngineBase - + The functionality provided by this controller mapping will be disabled until the issue has been resolved. La funcionalidad provista por este mapa de controlador será desactivada hasta que el problema sea resuelto. - + You can ignore this error for this session but you may experience erratic behavior. Puedes ignorar este error durante esta sesión, pero podrías experimentar problemas impredecibles. - + Try to recover by resetting your controller. Prueba de corregirlo reseteando la controladora. - + Controller Mapping Error Error del mapa de controlador - + The mapping for your controller "%1" is not working properly. El mapa de tu controlador "%1" no funciona correctamente. - + The script code needs to be fixed. El código del script necesita ser reparado. @@ -3766,7 +3782,7 @@ trace - Arriba + Perfilar mensajes Importar cajón - + Export Crate Exportar cajón @@ -3776,7 +3792,7 @@ trace - Arriba + Perfilar mensajes Desbloquear - + An unknown error occurred while creating crate: Ocurrió un error desconocido al crear el cajón: @@ -3802,17 +3818,17 @@ trace - Arriba + Perfilar mensajes No se pudo renombrar el cajón - + Crate Creation Failed Falló la creación del cajón - + M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Text CSV (*.csv);;Readable Text (*.txt) Lista de reproducción M3U (*.m3u);;Lista de reproducción M3U8 (*.m3u8);;Lista de reproducción PLS (*.pls);;Texto CSV (*.csv);;Texto legible (*.txt) - + M3U Playlist (*.m3u) Lista de reproducción M3U (*.m3u) @@ -3938,12 +3954,12 @@ trace - Arriba + Perfilar mensajes Antiguos colaboradores - + Official Website Sitio web oficial - + Donate Donar @@ -3999,7 +4015,7 @@ trace - Arriba + Perfilar mensajes - + Analyze Analizar @@ -4044,17 +4060,17 @@ trace - Arriba + Perfilar mensajes Ejecuta el análisis de cuadrícula de tempo, clave musical y ReplayGain en las pistas seleccionadas. No genera formas de onda para las pistas seleccionadas para ahorrar espacio en disco. - + Stop Analysis Detener análisis - + Analyzing %1% %2/%3 Analizando %1% %2/%3 - + Analyzing %1/%2 Analizando %1/%2 @@ -4165,12 +4181,37 @@ Skip Silence Start Full Volume: The same as Skip Silence, but starting transitions with a centered crossfader, so that the intro starts at full volume. - + Modos de desvanecimiento de Auto DJ + +Intro completa + Outro: +Reproduce la intro completa y la outro. Usa la duración de la intro o la outro como +el tiempo de fundido cruzado, el que sea el más corto. Si no se ha marcado una intro u outro, +usa el tiempo de fundido cruzado seleccionado. + +Desvanecer al iniciar la Outro: +Inicia el fundido cruzado al inicio de la outro. Si la outro es más larga que la intro, +corta el final de la outro. Usa la duración de la intro o la outro como +el tiempo de fundido cruzado, el que sea más corto.Si no se ha marcado una intro u outro, +usa el tiempo de fundido cruzado seleccionado. + +Pista completa: +Reproduce la pista completa. Comienza el fundido cruzado desde el +número de segundos seleccionado antes del final de la pista. Un fundido cruzado negativo +agrega silencio entre las pistas. + +Saltar silencio: +Reproduce la pista completa excepto el silencio al inicio y al final. +Inicia el fundido cruzado desde el número de segundos seleccionado antes +del último sonido. + +Saltar silencio e iniciar con volumen al máximo: +Lo mismo que Saltar silencio, pero inicia la transición con el crossfader +centrado, de manera que la intro inicia con el volumen al máximo. Full Intro + Outro - + Entrada + Salida completa @@ -4190,7 +4231,7 @@ crossfader, so that the intro starts at full volume. Skip Silence Start Full Volume - + Saltar silencio e iniciar con volumen al máximo @@ -4471,37 +4512,37 @@ A menudo resulta en cuadrículas de más calidad, pero no lo hacemos bien en pis Si el mapeo no funciona, prueba a activar uno de los controles avanzados siguientes y prueba de nuevo. También puedes volver a detectar el control. - + Didn't get any midi messages. Please try again. No se detectó ningún mensaje MIDI. Por favor, inténtelo de nuevo. - + Unable to detect a mapping -- please try again. Be sure to only touch one control at once. No se detectó un mapeado -- Intentelo nuevamente. Asegurese de tocar sólo un control a la vez. - + Successfully mapped control: Control mapeado con éxito: - + <i>Ready to learn %1</i> <i>Preparado para asignar %1</i> - + Learning: %1. Now move a control on your controller. Aprendizaje: %1. Ahora mueva un control en su controlador. - + The selected control does not exist.<br>This likely a bug. Please report it on the Mixxx bug tracker.<br><a href='https://github.com/mixxxdj/mixxx/issues'>https://github.com/mixxxdj/mixxx/issues</a><br><br>You tried to learn: %1,%2 - + El control seleccionado no existe. <br>Esto es posiblemente un bug. Por favor repórtelo en el seguidor de bugs de Mixxx. <br><a href='https://github.com/mixxxdj/mixxx/issues'>https://github.com/mixxxdj/mixxx/issues</a><br><br> Trataste de vincular: %1,%2 - + The control you clicked in Mixxx is not learnable. This could be because you are either using an old skin and this control is no longer supported, or you clicked a control that provides visual feedback and can only be mapped to outputs like LEDs via scripts. @@ -5199,120 +5240,120 @@ associated with each key. Key palette - + Paleta de notas DlgPrefController - + Apply device settings? ¿Aplicar la configuración del dispositivo? - + Your settings must be applied before starting the learning wizard. Apply settings and continue? La configuración debe ser aplicada antes de iniciar el asistente de aprendizaje. ¿Aplicar la configuración y continuar? - + None Ningún - + %1 by %2 %1 por %2 - + Mapping has been edited Se ha editado el mapeo - + Always overwrite during this session Siempre sobreescribir durante esta sesión - + Save As Guardar como - + Overwrite Sobreescribir - + Save user mapping Guardar mapeo del usuario - + Enter the name for saving the mapping to the user folder. Ingresar el nombre del archivo de mapeo para guardarlo en la carpeta de usuario. - + Saving mapping failed Ha fallado el guardado del mapeo - + A mapping cannot have a blank name and may not contain special characters. El nombre del mapeo no puede estar en blanco, ni contener caracteres especiales. - + A mapping file with that name already exists. Ya existe un archivo de mapeo con el mismo nombre. - + Do you want to save the changes? Quieres guardar los cambios? - + Troubleshooting Solución de problemas - + <font color='#BB0000'><b>If you use this mapping your controller may not work correctly. Please select another mapping or disable the controller.</b></font><br><br>This mapping was designed for a newer Mixxx Controller Engine and cannot be used on your current Mixxx installation.<br>Your Mixxx installation has Controller Engine version %1. This mapping requires a Controller Engine version >= %2.<br><br>For more information visit the wiki page on <a href='https://mixxx.org/wiki/doku.php/controller_engine_versions'>Controller Engine Versions</a>. <font color='#BB0000'><b>Si usas este mapeo, tu controlador podría no funcionar correctamente. Por favor selecciona otro mapeo o deshabilita el controlador. </b></font><br><br>Este mapeo fue diseñado para un nuevo Motor de Controladores de Mixxx, y no puede ser usado con tu instalación actual.<br>Tu instalación de Mixxx posee la version del Motor de Controladores %1. Este mapeo requiere una versión del Motor de controladores >=%2.<br><br>Para más información visita la wiki de <a href='https://mixxx.org/wiki/doku.php/controller_engine_versions'>Versiones del Motor de Controladores</a>. - + Mapping already exists. El mapeo ya existe. - + <b>%1</b> already exists in user mapping folder.<br>Overwrite or save with a new name? <b>%1</b> ya existe en la carpeta de mapeos de usuario. <br>¿Deseas sobreescribir o guardar con otro nombre? - + Clear Input Mappings Limpiar mapeos de Entrada - + Are you sure you want to clear all input mappings? Está seguro de querer eliminar todos los mapeos de entrada? - + Clear Output Mappings Limpiar mapeos de Salida - + Are you sure you want to clear all output mappings? Está seguro de querer eliminar todos los mapeos de salida? @@ -5332,62 +5373,62 @@ Apply settings and continue? Device Info - + Información del dispositivo Physical Interface: - + Interfase física: Vendor name: - + Nombre del fabricante: Product name: - + Nombre del producto: Vendor ID - + ID del proveedor VID: - + VID: Product ID - + ID del producto PID: - + PID: Serial number: - + Número de serie: USB interface number: - + Número de interfaz USB HID Usage-Page: - + Página de uso HID HID Usage: - + Uso de HID: @@ -5465,7 +5506,7 @@ Apply settings and continue? Data protocol: - + Protocolo de datos: @@ -5475,7 +5516,7 @@ Apply settings and continue? Mapping Settings - + Configuración de mapeo @@ -5538,7 +5579,7 @@ Apply settings and continue? Enable MIDI Through Port - + Activar puerto de MIDI Through @@ -5643,6 +5684,16 @@ Apply settings and continue? Multi-Sampling Multi-Muestreo + + + Force 3D acceleration + + + + + If checked, Mixxx will always assume 3D acceleration is available. This may lead to pour performance if only CP-backed rendering is available.. + + Start in full-screen mode @@ -6170,7 +6221,7 @@ Siempre puedes arrastrar y tirar pistas en la pantalla para clonar una plataform Export - + Exportar @@ -6201,12 +6252,12 @@ Siempre puedes arrastrar y tirar pistas en la pantalla para clonar una plataform ❯ - + ❮ - + @@ -6257,62 +6308,62 @@ Siempre puedes arrastrar y tirar pistas en la pantalla para clonar una plataform DlgPrefInterface - + The minimum size of the selected skin is bigger than your screen resolution. El tamaño mínimo de la apariencia seleccionada es mas grande que la resolucion de su pantalla. - + Allow screensaver to run Permite el salvapantallas - + Prevent screensaver from running Evita que se active el salvapantallas - + Prevent screensaver while playing Evita el salvapantallas mientras reproduce - + Disabled Desactivado - + 2x MSAA 2x MSAA - + 4x MSAA 4x MSAA - + 8x MSAA 8x MSAA - + 16x MSAA 16x MSAA - + This skin does not support color schemes Este skin no soporta esquemas de color - + Information Información - + Mixxx must be restarted before the new locale, scaling or multi-sampling settings will take effect. Mixxx debe ser reiniciado para que el nuevo ajuste de locale, escalado o multi-muestreo tenga efecto. @@ -7024,7 +7075,7 @@ y te permite ajustar su pitch para lograr mezclas armónicas. Reset stem controls on track load - + Reiniciar controles de stem al cargar pista @@ -7482,173 +7533,172 @@ El objetivo de sonoridad es aproximado y asume que la preganancia de la pista y DlgPrefSound - + %1 Hz %1 Hz - + Default (long delay) Por Defecto (mas retardo) - + Experimental (no delay) Experimental (sin retardo) - + Disabled (short delay) Desactivado (poco retardo) - + Soundcard Clock Reloj de la tarjeta de sonido - + Network Clock Reloj de red - + Direct monitor (recording and broadcasting only) Monitorización directa (solo grabación y emisión en vivo) - + Disabled Desactivado - + Enabled Activado - + Stereo Estéreo - + Mono Mono - + To enable Realtime scheduling (currently disabled), see the %1. Para activar el Planificador en tiempo real (actualmente desactivado), mira %1. - + The %1 lists sound cards and controllers you may want to consider for using Mixxx. %1 muestra una lista de tarjetas de sonido y controladores que podrías considerar para utilizar con Mixxx - + Mixxx DJ Hardware Guide Guía de Hardware DJ de Mixxx - + Information Información - + Mixxx must be restarted before the multi-threaded RubberBand setting change will take effect. Mixxx debe ser reiniciado para que el cambio de ajuste de RubberBand multi-hilo tenga efecto. - + auto (<= 1024 frames/period) auto (<= 1024 fotogramas/período) - + 2048 frames/period 2048 fotogramas/período - + 4096 frames/period 4096 fotogramas/período - + Are you sure? ¿Estás seguro(a)? - + Distribute stereo channels into mono channels for parallel processing will result in a loss of mono compatibility and a diffuse stereo image. It is not recommended during broadcasting or recording. Distribuir los canales estéreo en canales mono para su procesamiento en paralelo podría resultar en la pérdida de la compatibilidad mono y una imagen estéreo difusa. No se recomienda al transmitir en vivo o al grabar. - + Are you sure you wish to proceed? ¿Realmente deseas continuar? - + No No - + Yes, I know what I am doing Sí, se lo que estoy haciendo - + Microphone inputs are out of time in the record & broadcast signal compared to what you hear. La entrada de micrófono está desincronizada respecto la grabación y emisión comparado con la señal que se oye. - + Measure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. Mide la latencia total e introducela en la Compensacion de latencia del micrófono para sincronizar el micrófono. - - + Refer to the Mixxx User Manual for details. Para más detalles, lea el manual de usuario de Mixxx. - + Configured latency has changed. La latencia configurada ha cambiado. - + Remeasure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. Vuelve a medir la latencia total e introducela en la Compensacion de latencia del micrófono para sincronizar el micrófono. - + Realtime scheduling is enabled. La planificación en Tiempo Real está activada. - + Main output only Solo Salida principal - + Main and booth outputs Salidas principal y de cabina - + %1 ms %1 ms - + Configuration error Error de configuración @@ -7666,131 +7716,131 @@ El objetivo de sonoridad es aproximado y asume que la preganancia de la pista y API de sonido - + Sample Rate Frecuencia de muestreo - + Audio Buffer Búfer de audio - + Engine Clock Relog del motor - + Use soundcard clock for live audience setups and lowest latency.<br>Use network clock for broadcasting without a live audience. Usa el reloj de la tarjeta de sonido para emitir a un público presente y para la menor latencia. <br>Usa el reloj de red para emitir en vivo sin un público presente. - + Main Mix Mezcla principal - + Main Output Mode Modo de Salida principal - + Microphone Monitor Mode Modo de monitorización del micrófono - + Microphone Latency Compensation Compensación de latencia del micrófono - - - - + + + + ms milliseconds ms - + 20 ms 20 ms - + Buffer Underflow Count Contador de vaciado del búfer - + 0 0 - + Keylock/Pitch-Bending Engine Bloqueo tonal/Motor de Pitch-bend - + Multi-Soundcard Synchronization Sincronización con Múltiples Tarjetas de Sonido - + Output Salida - + Input Entrada - + System Reported Latency Latencia reportada por el sistema - + Enlarge your audio buffer if the underflow counter is increasing or you hear pops during playback. Aumente su búfer de audio si el contador de desbordamiento está aumentando o escuchas chasquidos durante la reproducción. - + Main Output Delay Retardo Salida Principal - + Headphone Output Delay Retraso/delay de la Salida de auriculares - + Booth Output Delay Retraso/delay de la salida de cabina - + Dual-threaded Stereo Estéreo en doble-hilo - + Hints and Diagnostics Diagnóstico y sugerencias - + Downsize your audio buffer to improve Mixxx's responsiveness. Disminuya su búfer de audio para mejorar la velocidad de respuesta de Mixxx. - + Query Devices Consultar aparatos @@ -7948,12 +7998,12 @@ El objetivo de sonoridad es aproximado y asume que la preganancia de la pista y 1/3 of waveform viewer options for "Text height limit" - + 1/3 de visualización de forma de onda Entire waveform viewer - + Visor de forma de onda completa @@ -7986,7 +8036,7 @@ El objetivo de sonoridad es aproximado y asume que la preganancia de la pista y OpenGL Status - + Estado de OpenGL @@ -8141,12 +8191,12 @@ Elija entre los distintos tipos de visualización para la forma de onda, que se Preferred font size - + Tamaño de tipo de letra preferido Text height limit - + Límite de altura de texto @@ -8186,18 +8236,18 @@ Elija entre los distintos tipos de visualización para la forma de onda, que se Beat grid opacity - + Superar la opacidad de la rejilla Scrolling Waveforms - + Deslizar formas de onda Type - + Tipo @@ -8207,7 +8257,7 @@ Elija entre los distintos tipos de visualización para la forma de onda, que se Set amount of opacity on beat grid lines. - + Establece la cantidad de opacidad en las líneas de la cuadrícula del compás. @@ -8217,17 +8267,17 @@ Elija entre los distintos tipos de visualización para la forma de onda, que se Play marker position - + <br><div><br data-mce-bogus="1"></div> Moves the play marker position on the waveforms to the left, right or center (default). - + Mover the marcador de posición en la pista a la izquierda, derecha o centro (Defabrica). Overview Waveforms - + Visualizar formas de onda @@ -8468,7 +8518,7 @@ Elija entre los distintos tipos de visualización para la forma de onda, que se No cues matched the specified criteria. - + Ninguna marca igualó el criterio especificado. @@ -9350,27 +9400,27 @@ A menudo resulta en una cuadrícula de mayor calidad, pero no lo hacemos bien en EngineBuffer - + Soundtouch (faster) Soundtouch (rápido) - + Rubberband (better) Rubberband (mejor) - + Rubberband R3 (near-hi-fi quality) Banda elástica R3 (calidad casi alta fidelidad) - + Unknown, using Rubberband (better) Desconocido, utilizando Banda elástica (mejor) - + Unknown, using Soundtouch Desconocido, usando Soundtouch @@ -9555,12 +9605,12 @@ A menudo resulta en una cuadrícula de mayor calidad, pero no lo hacemos bien en Change color - + Cambiar color Choose a new color - + Escoger un nuevo color @@ -9568,32 +9618,32 @@ A menudo resulta en una cuadrícula de mayor calidad, pero no lo hacemos bien en Browse... - + Examinar… No file selected - + No se ha seleccionado ningún archivo Select a file - + Seleccionar un archivo LegacySkinParser - - + + Safe Mode Enabled Shown when Mixxx is running in safe mode. Modo Seguro Activado - - + + No OpenGL support. Shown when Spinny can not be displayed. Please keep @@ -9605,57 +9655,57 @@ Shown when VuMeter can not be displayed. Please keep de OpenGL. - + activate activar - + toggle conmutar - + right derecha - + left izquierda - + right small derecha pequeño - + left small izquierda pequeño - + up arriba - + down abajo - + up small arriba pequeño - + down small abajo pequeño - + Shortcut Atajo @@ -9663,37 +9713,37 @@ de OpenGL. Library - + This or a parent directory is already in your library. Este directorio o su superior ya se encuentra en tu biblioteca. - + This or a listed directory does not exist or is inaccessible. Aborting the operation to avoid library inconsistencies Este directorio o el indicado no existe o es inaccesible. Cancelando la operación para evitar inconsistencias de biblioteca. - - + + This directory can not be read. Este directorio no puede ser leído. - + An unknown error occurred. Aborting the operation to avoid library inconsistencies Ha ocurrido un error desconocido. Cancelando la operación para evitar inconsistencias de biblioteca - + Can't add Directory to Library No se pudo agregar el directorio a la biblioteca - + Could not add <b>%1</b> to your library. %2 @@ -9702,27 +9752,27 @@ Cancelando la operación para evitar inconsistencias de biblioteca %2 - + Can't remove Directory from Library No se pudo remover el directorio de la biblioteca. - + An unknown error occurred. Ha ocurrido un error desconocido. - + This directory does not exist or is inaccessible. Este directorio no existe o es inaccesible. - + Relink Directory Reenlazar directorio - + Could not relink <b>%1</b> to <b>%2</b>. %3 @@ -9734,27 +9784,27 @@ Cancelando la operación para evitar inconsistencias de biblioteca LibraryFeature - + Import Playlist Importar lista de reproducción - + Playlist Files (*.m3u *.m3u8 *.pls *.csv) Archivos de lista de reproducción (*.m3u *.m3u8 *.pls *.csv) - + Overwrite File? ¿Sobrescribir archivo? - + A playlist file with the name "%1" already exists. The default "m3u" extension was added because none was specified. Do you really want to overwrite it? - + Ya existe un archivo de lista de reproducción con el nombre "% 1". Se agregó la extensión predeterminada "m3u" porque no se especificó ninguna. ¿Realmente desea sobrescribirla? @@ -9900,253 +9950,253 @@ Do you really want to overwrite it? MixxxMainWindow - + Sound Device Busy El dispositivo de sonido está ocupado - + <b>Retry</b> after closing the other application or reconnecting a sound device <b>Reintente</b> luego de cerrar las otras aplicaciones o reconectar un dispositivo de sonido - - - + + + <b>Reconfigure</b> Mixxx's sound device settings. <b>Reconfigure</b> las opciones del dispositivo de sonido de Mixxx. - - + + Get <b>Help</b> from the Mixxx Wiki. Obtenga <b>ayuda</b> del wiki de Mixxx. - - - + + + <b>Exit</b> Mixxx. <b>Salir</b> de Mixxx. - + Retry Reintentar - + skin apariencia - + Allow Mixxx to hide the menu bar? ¿Permitir a Mixxx ocultar la barra de menú? - + Hide Always show the menu bar? Ocultar - + Always show Mostrar siempre - + The Mixxx menu bar is hidden and can be toggled with a single press of the <b>Alt</b> key.<br><br>Click <b>%1</b> to agree.<br><br>Click <b>%2</b> to disable that, for example if you don't use Mixxx with a keyboard.<br><br>You can change this setting any time in Preferences -> Interface.<br> Keep formatting tags <b> (bold text) and <br> (linebreak). %1 is the placeholder for the 'Always show' button label La barra de menú de Mixxx ha sido ocultada y se puede alternar presionando la tecla <b>Alt</b>. <br><br>Haz clic en <b>%1</b> para aceptar. <br><br>Haz clic en <b>%2</b> para desactivarlo, por ejemplo si usas Mixxx sin un teclado. <br><br>Puedes cambiar este ajuste en cualquier momento en Preferencias -> Interfaz. <br> - + Ask me again Pregúntame de nuevo - - + + Reconfigure Reconfigurar - + Help Ayuda - - + + Exit Salir - - + + Mixxx was unable to open all the configured sound devices. Mixxx no ha podido activar todos los dispositivos de sonido configurados. - + Sound Device Error Error del dispositivo de sonido - + <b>Retry</b> after fixing an issue <b>Reintenta</b> una vez corregido el problema - + No Output Devices No hay dispositivos de salida - + Mixxx was configured without any output sound devices. Audio processing will be disabled without a configured output device. Mixxx fue configurado sin ningún dispositivo de salida de audio. El procesamiento de audio estará desactivado mientras no se configure un dispositivo de audio de salida. - + <b>Continue</b> without any outputs. <b>Continuar</b> sin ninguna salida. - + Continue Continuar - + Load track to Deck %1 Cargar pista al plato %1 - + Deck %1 is currently playing a track. El plato %1 está reproduciendo una pista. - + Are you sure you want to load a new track? ¿Está seguro de cargar una pista nueva? - + There is no input device selected for this vinyl control. Please select an input device in the sound hardware preferences first. No hay ningún dispositivo de entrada seleccionado para el control por vinilo. Por favor, seleccione un dispositivo de entrada en las preferencias de hardware de sonido. - + There is no input device selected for this passthrough control. Please select an input device in the sound hardware preferences first. No hay ningún dispositivo de entrada seleccionado para el control passthrough. Por favor, seleccione un dispositivo de entrada en las preferencias de hardware de sonido. - + There is no input device selected for this microphone. Do you want to select an input device? No se ha seleccionado un dispositivo de Entrada para este micrófono. ¿Deseas escoger uno ahora? - + There is no input device selected for this auxiliary. Do you want to select an input device? No se ha seleccionado un dispositivo de entrada para este Auxiliar. ¿Deseas escoger uno ahora? - + Scan took %1 - + El escaneo tomo %1 - + No changes detected. - + No se han detectado cambios - - + + %1 tracks in total - + %1 pistas en total - + %1 new tracks found - + Encontradas %1 pistas nuevas - + %1 moved tracks detected - + %1 pistas movidas detectadas - + %1 tracks are missing (%2 total) - + %1 pistas perdidas (%2 en total) - + %1 tracks have been rediscovered - + %1 pistas han sido reencontradas - + Library scan finished - + Escaneo de la biblioteca terminado - + Error in skin file Error en el archivo de la apariencia - + The selected skin cannot be loaded. No se ha podido cargar la apariencia seleccionada. - + OpenGL Direct Rendering Renderizado directo de OpenGL - + Direct rendering is not enabled on your machine.<br><br>This means that the waveform displays will be very<br><b>slow and may tax your CPU heavily</b>. Either update your<br>configuration to enable direct rendering, or disable<br>the waveform displays in the Mixxx preferences by selecting<br>"Empty" as the waveform display in the 'Interface' section. - + El renderizado directo no está habilitado en su máquina. <br><br>Esto significa que las visualizaciones de forma de onda serán muy <br><b>lentas y pueden exigir mucho a su CPU</b>. Actualice su <br>configuración para habilitar la representación directa o desactiv<br> las visualizaciones de forma de onda en las preferencias de Mixxx seleccionando <br>"Vacío" como la pantalla de forma de onda en la sección 'Interfaz'. - - - + + + Confirm Exit Confirmar salida - + A deck is currently playing. Exit Mixxx? Un plato está reproduciendo. ¿Salir de Mixxx? - + A sampler is currently playing. Exit Mixxx? Un reproductor de muestras está en reproducción. ¿Salir de Mixxx? - + The preferences window is still open. La ventana de preferencias todavía está abierta. - + Discard any changes and exit Mixxx? ¿Descartar cambios y salir de Mixxx? @@ -10162,13 +10212,13 @@ Do you want to select an input device? PlaylistFeature - + Lock Bloquear - - + + Playlists Listas de reproducción @@ -10178,32 +10228,58 @@ Do you want to select an input device? Aleatorizar lista de reproducción - + + Unlock all playlists + + + + + Delete all unlocked playlists + + + + Unlock Desbloquear - + + + Confirm Deletion + + + + + Do you really want to delete all unlocked playlists? + + + + + Deleting %1 unlocked playlists.<br>This operation can not be undone! + + + + Playlists are ordered lists of tracks that allow you to plan your DJ sets. Las listas de reproducción son listar ordenadas de pistas que te permiten planificar tus sesiones de DJ. - + It may be necessary to skip some tracks in your prepared playlist or add some different tracks in order to maintain the energy of your audience. Podría ser necesario saltar algunas pistas en tu lista de reproducción planificada, o añadir algunas pistas diferentes, con el fin de mantener la energía de tu audiencia. - + Some DJs construct playlists before they perform live, but others prefer to build them on-the-fly. Algunos DJ preparan listas de reproducción antes de tocar en vivo, pero otros prefieren hacerlo en el momento. - + When using a playlist during a live DJ set, remember to always pay close attention to how your audience reacts to the music you've chosen to play. Cuando uses una lista de reproducción en una actuación en vivo, recuerda siempre prestar mucha atención a cómo reacciona la audiencia con la música que has elegido reproducir. - + Create New Playlist Crear nueva lista de reproducción @@ -10213,7 +10289,7 @@ Do you want to select an input device? Mixxx Hotcue Colors - + Colores de hotcues de Mixxx @@ -10221,82 +10297,82 @@ Do you want to select an input device? Serato DJ Track Metadata Hotcue Colors - + Metadatos de colores de hotcues de pistas de Serato DJ Serato DJ Pro Hotcue Colors - + Colores de hotcues de Serato DJ Pro Rekordbox COLD1 Hotcue Colors - + Colores de hotcues de Rekordbox COLD1 Rekordbox COLD2 Hotcue Colors - + Colores de hotcues de Rekordbox COLD2 Rekordbox COLORFUL Hotcue Colors - + Colores de hotcues COLORFUL de Rekordbox Mixxx Track Colors - + Colores de pistas de Mixxx Rekordbox Track Colors - + Colores de pistas de Rekordbox Serato DJ Pro Track Colors - + Colores de pistas de Serato DJ Pro Traktor Pro Track Colors - + Colores de pistas de Traktor Pro VirtualDJ Track Colors - + Colores de pistas de VirtualDJ Mixxx Key Colors - + Colores de notas de Mixxx Traktor Key Colors - + Colores de notas de Traktor Mixed In Key - Key Colors - + Colores de notas de Mixed In Key Protanopia / Protanomaly Key Colors - + Colores de notas de Protanopia/Protanomalía Deuteranopia / Deuteranomaly Key Colors - + Colores de notas de Deuteranopía/Deuteranomalía Tritanopia / Tritanomaly Key Colors - + Colores de notas de Tritanopía/Tritanomalía @@ -10430,7 +10506,7 @@ Do you want to scan your library for cover files now? Switch - + Switch @@ -10880,7 +10956,7 @@ Si la amplitud es cero, este parámetro permite mover la posición manualmente p The Mixxx Team - + Equipo de Mixxx @@ -10910,12 +10986,12 @@ Si la amplitud es cero, este parámetro permite mover la posición manualmente p Gain - + Ganancia Set the gain of metronome click sound - + Configura la ganancia del sonido del metrónomo @@ -11864,7 +11940,7 @@ Consejo: compensa las voces de "ardillitas" o "gruñonas"La cantidad de amplificación aplicada a la señal de audio. A niveles más altos, el audio estará más distorsionado. - + Passthrough Paso @@ -12034,12 +12110,12 @@ pueden introducir un efecto de "bombeo" y/o distorsión. varios - + built-in nativo - + missing no encontrado @@ -12167,54 +12243,54 @@ pueden introducir un efecto de "bombeo" y/o distorsión. RekordboxFeature - - - + + + Rekordbox Rekordbox - + Playlists Listas de reproducción - + Folders Carpetas - + Reads databases exported for Pioneer CDJ / XDJ players using the Rekordbox Export mode.<br/>Rekordbox can only export to USB or SD devices with a FAT or HFS file system.<br/>Mixxx can read a database from any device that contains the database folders (<tt>PIONEER</tt> and <tt>Contents</tt>).<br/>Not supported are Rekordbox databases that have been moved to an external device via<br/><i>Preferences > Advanced > Database management</i>.<br/><br/>The following data is read: - + Hot cues Accesos Directos - + Loops (only the first loop is currently usable in Mixxx) Bucles (solo el primer bucle es utilizable en Mixxx) - + Check for attached Rekordbox USB / SD devices (refresh) Buscar dispositivos de almacenamiento Rekordbox (refrescar) - + Beatgrids Grillas de pulsos - + Memory cues Cues en memoria - + (loading) Rekordbox (cargando) Rekordbox @@ -12656,22 +12732,22 @@ pueden introducir un efecto de "bombeo" y/o distorsión. Reading track for fingerprinting failed. - + Ha fallado la lectura de la pista para fingerprinting Identifying track through AcoustID - + Identificando pista mediante AcoustID Could not identify track through AcoustID. - + No se pudo identificar la pista mediante AcoustID. Could not find this track in the MusicBrainz database. - + No se pudo encontrar esta pista en la base de datos de MusicBrainz. @@ -13243,7 +13319,7 @@ pueden introducir un efecto de "bombeo" y/o distorsión. Toggle visibility of Rate Control - + Alternar visibilidad del control de velocidad @@ -13393,7 +13469,7 @@ pueden introducir un efecto de "bombeo" y/o distorsión. Left click and hold allows to preview the position where the play head will jump to on release. Dragging can be aborted with right click. - + Mantener el clic izquierdo permite previsualizar la posición donde la cabeza de reproducción saltará al soltarlo. El arrastre puede ser abortado con el clic derecho. @@ -13443,12 +13519,12 @@ pueden introducir un efecto de "bombeo" y/o distorsión. Shows the current volume for the left channel of the main output. - + Muestra el volumen actual para el canal izquierdo en la salida principal. Shows the current volume for the right channel of the main output. - + Muestra el volumen actual para el canal derecho de la salida principal. @@ -13460,27 +13536,27 @@ pueden introducir un efecto de "bombeo" y/o distorsión. Adjusts the main output gain. - + Ajusta el volumen principal Determines the main output by fading between the left and right channels. - + Determina la salida principal desvaneciendo entre los canales izquierdo y derecho. Adjusts the left/right channel balance on the main output. - + Ajusta el balance de los canales izquierdo/derecho en la salida principal. Crossfades the headphone output between the main mix and cueing (PFL or Pre-Fader Listening) signal. - + Desvanecimiento cruzado de la salida de auriculares entre la salida principal y la señal de cueing (PFL o Escucha Pre-Deslizador) If activated, the main mix signal plays in the right channel, while the cueing signal plays in the left channel. - + Si se activa, la señal principal de la mezcla se reproduce en el canal derecho, mientras que la señal de cueing se reproduce en el canal izquierdo. @@ -13495,12 +13571,12 @@ pueden introducir un efecto de "bombeo" y/o distorsión. Show/hide the beatgrid controls section - + Mostrar/ocultar la sección de controles de la cuadrícula de tiempo Show/hide the stem mixing controls section - + Mostrar/ocultar la sección de controles de mezcla de stems @@ -13510,17 +13586,17 @@ pueden introducir un efecto de "bombeo" y/o distorsión. Volume Meters - + Medidores de volumen mix microphone input into the main output. - + mezcla la entrada de micrófono con la salida principal. Auto: Automatically reduce music volume when microphone volume rises above threshold. - + Auto: reduce automáticamente el volumen de la música cuando el volumen del micrófono supera el umbral. @@ -13531,17 +13607,17 @@ pueden introducir un efecto de "bombeo" y/o distorsión. Auto: Sets how much to reduce the music volume when the volume of active microphones rises above threshold. - + Auto: configura cuánto se reduce el volumen de la música cuando el volumen de los micrófonos activos supera el umbral. Manual: Sets how much to reduce the music volume, when talkover is activated regardless of volume of microphone inputs. - + Manual: configura cuánto reducir e If keylock is disabled, pitch is also affected. - + Si el bloqueo tonal se desactiva, la altura también es afectada. @@ -13556,7 +13632,7 @@ pueden introducir un efecto de "bombeo" y/o distorsión. Raises playback speed in small steps. - + Incrementa la velocidad de reproducción en pasos pequeños. @@ -13571,7 +13647,7 @@ pueden introducir un efecto de "bombeo" y/o distorsión. Lowers playback speed in small steps. - + Reduce la velocidad de reproducción en pasos pequeños. @@ -13581,12 +13657,12 @@ pueden introducir un efecto de "bombeo" y/o distorsión. Holds playback speed higher while active (tempo). - + Mantiene la velocidad de reproducción alta cuando se activa (tempo). Holds playback speed higher (small amount) while active. - + Mantiene la velocidad de reproducción alta (pequeña cantidad) cuando se activa. @@ -13596,59 +13672,60 @@ pueden introducir un efecto de "bombeo" y/o distorsión. Holds playback speed lower while active (tempo). - + Mantiene la velocidad de reproducción baja cuando se activa (tempo). Holds playback speed lower (small amount) while active. - + Mantiene la velocidad de reproducción baja (pequeña cantidad) cuando se activa. When tapped repeatedly, adjusts the tempo to match the tapped BPM. - + Cuando se pulsa repetidamente, ajusta el tempo para coincidir con la frecuencia de pulsaciones. Tempo Tap - + Seguidor de Tempo (Tempo Tap) Rate Tap and BPM Tap - + Frecuencia de pulsaciones y de BPM Adjust beatgrid by exactly one half beat. Usable only on tracks with constant tempo. - + Ajusta la cuadrícula de tiempo en exactamente medio beat. Solo se puede usar en +pistas con tempo constante Revert last BPM/Beatgrid Change - + Revierte el último cambio de BPM/cuadrícula de tiempo Revert last BPM/Beatgrid Change of the loaded track. - + Revierte el último cambio de BPM/Cuadrícula de tiempo para la pista cargada. Toggle the BPM/beatgrid lock - + Cambia el bloqueo de BPM/cuadrícula de tiempo Tempo and Rate Tap - + Toques de Tempo y Frecuencia Tempo, Rate Tap and BPM Tap - + Toques de Tempo, Frecuencia y BPM @@ -13659,84 +13736,84 @@ tracks with constant tempo. Shift cues imported from Serato or Rekordbox if they are slightly off time. - + Cambia marcas importadas desde Serato o Rekordbox si están ligeramente desfazadas. Left click: shift 10 milliseconds earlier - + Clic izquierdo: adelantar 10 milisegundos Right click: shift 1 millisecond earlier - + Clic derecho: adelantar 1 milisegundo Shift cues later - + Retrasar cues Left click: shift 10 milliseconds later - + Clic izquierdo: retrasar 10 milisegundos Right click: shift 1 millisecond later - + Clic derecho: retrasar 1 milisegundo Drag a Hotcue button here to continue playing after releasing the Hotcue. - + Arrastra un botón de Hotcue aquí para continuar reproduciendo después de soltar la hotcue. Hint: Change the default cue mode in Preferences -> Decks. - + Sugerencia: cambie el modo por defecto de las cues en Preferencias -> Platos. Mutes the selected channel's audio in the main output. - + Silencia el audio del canal seleccionado en la salida principal. Main mix enable - + Activador de mezcla principal Hold or short click for latching to mix this input into the main output. - + Clic sostenido o corto para enganchar, para mezclar esta entrada con la salida principal. If hotcue is a loop cue, toggles the loop and jumps to if the loop is behind the play position. - + Si la hotcue es una cue de bucle, activa el bucle y salta hacia él si se encuentra detrás de la posición de reproducción. If the play position is inside an active loop, stores the loop as loop cue. - + Si la posición de reproducción se encuentra dentro de un bucle activo, almacena el bucle como una hotcue de bucle. Drag this button onto another Hotcue button to move it there (change its index). If the other hotcue is set, the two are swapped. - + Arrastrar este botón dentro de otro botón de hotcue para moverlo hacia este (cambiando su número). Si la otra hotcue ya se encuentra definida, las dos son intercambiadas. Expand/Collapse Samplers - + Expandir/contraer samplers Toggle expanded samplers view. - + Alternar la vista expandida de los samplers. @@ -13746,12 +13823,12 @@ tracks with constant tempo. Auto DJ is active - + Auto DJ se encuentra activo Red for when needle skip has been detected. - + Rojo cuando se detecta un salto de aguja. @@ -13791,7 +13868,7 @@ tracks with constant tempo. If the track has no beats the unit is seconds. - + Si la pista no tiene pulsaciones, la unidad es segundos. @@ -13831,12 +13908,12 @@ tracks with constant tempo. Beatloop Anchor - + Ancla del bucle de pulsaciones Define whether the loop is created and adjusted from its staring point or ending point. - + Define si el bucle es creado y ajustado desde su punto de inicio o de final. @@ -13931,12 +14008,12 @@ tracks with constant tempo. Hint: Change the time format in Preferences -> Decks. - + Sugerencia: cambie el formato de tiempo en Preferencias -> Platos. Show/hide intro & outro markers and associated buttons. - + Mostrar/ocultar marcadores de intro y outro, y sus botones asociados. @@ -13949,7 +14026,7 @@ tracks with constant tempo. If marker is set, jumps to the marker. - + Si el marcador se encuentra definido, salta al marcador. @@ -13957,7 +14034,7 @@ tracks with constant tempo. If marker is not set, sets the marker to the current play position. - + Si el marcador no se encuentra definido, lo configura a la posición de reproducción actual. @@ -13965,7 +14042,7 @@ tracks with constant tempo. If marker is set, clears the marker. - + Si el marcador se encuentra definido, lo elimina. @@ -13990,7 +14067,7 @@ tracks with constant tempo. Adjust the mixing of the dry (input) signal with the wet (output) signal of the effect unit - + Ajuste la mezcla de la señal seca (entrada) con la señal húmeda (salida) de la unidad de efectos @@ -14000,7 +14077,7 @@ tracks with constant tempo. D+W mode: Add wet to dry - + Modo D+W: agregue húmedo a seco @@ -14010,24 +14087,25 @@ tracks with constant tempo. Adjust how the dry (input) signal is mixed with the wet (output) signal of the effect unit - + Ajuste cómo se mezcla la señal seca (entrada) con la señal húmeda (salida) de la unidad de efectos Dry/Wet mode (crossed lines): Mix knob crossfades between dry and wet Use this to change the sound of the track with EQ and filter effects. - + Modo seco / húmedo (líneas cruzadas): Mezcle los fundidos cruzados de la perilla entre seco y húmedo. Use esto para cambiar el sonido de la pista con EQ y efectos de filtro. Dry+Wet mode (flat dry line): Mix knob adds wet to dry Use this to change only the effected (wet) signal with EQ and filter effects. - + Modo Seco+Húmedo (línea seca plana): La perilla de mezcla agrega mojado a seco +Utiliza esto para cambiar únicamente la señal afectada (mojada) con EQ y efectos de filtrado. Route the main mix through this effect unit. - + Enruta la mezcla principal a través de esta unidad de efectos. @@ -14047,42 +14125,42 @@ Use this to change only the effected (wet) signal with EQ and filter effects. Stem Label - + Etiqueta de stem Name of the stem stored in the stem file - + Nombre del stem almacenado en el archivo de stem Text is displayed in the stem color stored in the stem file - + El texto es presentado con el color del stem almacenado en el archivo de stem this stem color is also used for the waveform of this stem - + este color de stem también es usado en la forma de onda de este stem Stem Mute - + Silenciar stem Toggle the stem mute/unmuted - + Alterna el silencio del stem Stem Volume Knob - + Perilla de volumen del stem Adjusts the volume of the stem - + Ajusta el volumen del stem @@ -14556,7 +14634,7 @@ Use this to change only the effected (wet) signal with EQ and filter effects. Drag this item to other decks/samplers, to crates and playlist or to external file manager. - + Arrastra este elemento a otros decks/samplers, a cajas y listas de reproducción o a un gestor de archivos externo. @@ -14566,17 +14644,17 @@ Use this to change only the effected (wet) signal with EQ and filter effects. Left click to jump around in the track. - + Clic izquierdo para saltar a lo largo de la pista. Right click hotcues to edit their labels and colors. - + Click derecho en los accesos directos para editar sus etiquetas y colores. Right click anywhere else to show the time at that point. - + Clic derecho en cualquier otra parte para mostrar el tiempo en ese punto. @@ -14671,7 +14749,7 @@ Use this to change only the effected (wet) signal with EQ and filter effects. Maximize Library - + Maximizar Biblioteca @@ -14686,7 +14764,7 @@ Use this to change only the effected (wet) signal with EQ and filter effects. Changes the number of hotcue buttons displayed in the deck - + Cambia el número de botones de acceso directo mostrados en el deck @@ -14712,12 +14790,12 @@ Use this to change only the effected (wet) signal with EQ and filter effects. Opens the track properties editor - + Abre el editor de propiedades de pista Opens the track context menu. - + Abre el menú contextual de la pista @@ -14819,12 +14897,12 @@ Use this to change only the effected (wet) signal with EQ and filter effects. Drag this button onto a Play button while previewing to continue playback after release. - + Arrastre este botón a un boton de Play durante la preescucha para continuar la reproducción tras soltarlo. Dragging with Shift key pressed will not start previewing the hotcue. - + Arrastrar mientras presiona la tecla Shift no iniciará la preescucha de la hotcue. @@ -15258,22 +15336,22 @@ Use this to change only the effected (wet) signal with EQ and filter effects. Replace Existing File? - + ¿Reemplazar el archivo existente? "%1" already exists, replace? - + "%1% ya existe, ¿reemplazar? &Replace - + &Reemplazar Apply to all files - + Aplicar a todos los archivos @@ -15372,7 +15450,7 @@ Use this to change only the effected (wet) signal with EQ and filter effects. frameSwapped-signal driven phase locked loop - + Bucle con bloqueo de fase manejado por señal con marco cambiado @@ -15398,12 +15476,12 @@ Use this to change only the effected (wet) signal with EQ and filter effects. No color - + Sin color Custom color - + Color personalizado @@ -15456,47 +15534,47 @@ Carpeta: %2 WCueMenuPopup - + Cue number - + Número de cue - + Cue position Posición Marca - + Edit cue label - + Editar etiqueta de marca - + Label... - + Etiqueta... - + Delete this cue Borrar esta marca - + Toggle this cue type between normal cue and saved loop - + Alterna el tipo de esta cue entre cue normal y bucle guardado - + Left-click: Use the old size or the current beatloop size as the loop size - + Clic izquierdo: usar el tamaño anterior o el del bucle actual como el tamaño de bucle - + Right-click: Use the current play position as loop end if it is after the cue - + Clic derecho: usar la posición de reproducción actual como final del bucle si se encuentra después de la cue - + Hotcue #%1 Hotcue #%1 @@ -15511,7 +15589,7 @@ Carpeta: %2 Rename Preset - + Renombrar preajuste @@ -15621,407 +15699,437 @@ Carpeta: %2 + Search in Current View... + + + + + Search for tracks in the current library view + + + + + Ctrl+f + + + + + Search in Tracks Library... + + + + + Search in the internal track collection under "Tracks" in the library + + + + + Ctrl+Shift+F + + + + Create &New Playlist Crear &nueva Playlist - + Create a new playlist Crear una nueva lista de reproducción - + Ctrl+n Ctrl+N - + Create New &Crate Crear un nuevo&cajón - + Create a new crate Crear un nuevo cajón - + Ctrl+Shift+N Ctrl+Mayús+N - - + + &View &Vista - + Auto-hide menu bar - + Auto-ocultar barra de menú - + Auto-hide the main menu bar when it's not used. - + Auto-ocultar la barra de menú principal cuando no es utilizada. - + May not be supported on all skins. Puede no estar disponible para todas las apariencias. - + Show Skin Settings Menu Mostrar menú de ajustes de aspecto - + Show the Skin Settings Menu of the currently selected Skin Mostrar el menú de ajustes de aspecto del seleccionado actualmente - + Ctrl+1 Menubar|View|Show Skin Settings Ctrl+1 - + Show Microphone Section Mostrar seccion del microfono - + Show the microphone section of the Mixxx interface. Muestra la sección de control de micrófono de la interfaz de Mixxx. - + Ctrl+2 Menubar|View|Show Microphone Section Ctrl+2 - + Show Vinyl Control Section Mostrar la Sección de Control de Vinilo - + Show the vinyl control section of the Mixxx interface. Muestra la sección de control de vinilo de la interfaz de Mixxx. - + Ctrl+3 Menubar|View|Show Vinyl Control Section Ctrl+3 - + Show Preview Deck Mostrar el reproductor de preescucha - + Show the preview deck in the Mixxx interface. Muestra el reproductor de preescucha en la interfaz de Mixxx. - + Ctrl+4 Menubar|View|Show Preview Deck Ctrl+4 - + Show Cover Art Muestra carátulas - + Show cover art in the Mixxx interface. Muestra las carátulas en la interfaz de Mixxx. - + Ctrl+6 Menubar|View|Show Cover Art Ctrl+6 - + Maximize Library Maximizar Biblioteca - + Maximize the track library to take up all the available screen space. Maximizar la biblioteca para tomar todo el espacio disponible en pantalla. - + Space Menubar|View|Maximize Library - + Espacio - + &Full Screen &Pantalla completa - + Display Mixxx using the full screen Mostrar Mixxx a pantalla completa - + &Options &Opciones - + &Vinyl Control Control de &vinilo - + Use timecoded vinyls on external turntables to control Mixxx Usar vinilos con codigo de tiempo en bandejas externas para controlar Mixxx - + Enable Vinyl Control &%1 Habilita el Control por Vinilo &%1 - + &Record Mix &Grabar Mezcla - + Record your mix to a file Grava a súa mestura a un ficheiro - + Ctrl+R Ctrl+R - + Enable Live &Broadcasting Activar transmisión en &vivo - + Stream your mixes to a shoutcast or icecast server Transmite tus mezclas a un servidor shoutcast o icecast - + Ctrl+L Ctrl+L - + Enable &Keyboard Shortcuts Activar Atajos de &Teclado - + Toggles keyboard shortcuts on or off Activa o desactiva los atajos de teclado - + Ctrl+` Ctrl+` - + &Preferences &Preferencias - + Change Mixxx settings (e.g. playback, MIDI, controls) Cambiar la configuración de Mixxx (p.ej.: reproducción, MIDI, controles) - + &Developer &Desarrollador - + &Reload Skin &Recargar apariencia - + Reload the skin Recargar la apariencia - + Ctrl+Shift+R Ctrl+Mayús+R - + Developer &Tools U&tilidades de desarrollador - + Opens the developer tools dialog Abre el cuadro de diálogo de herramientas de desarrollo - + Ctrl+Shift+T Ctrl+Mayús+T - + Stats: &Experiment Bucket Estadísticas: Contadores &Experiment - + Enables experiment mode. Collects stats in the EXPERIMENT tracking bucket. Activa el modo experimental. Recoje estadísticas en los contadores EXPERIMENT. - + Ctrl+Shift+E Ctrl+Mayús+E - + Stats: &Base Bucket Estadísticas: contadores &Base - + Enables base mode. Collects stats in the BASE tracking bucket. Activa el modo base. Recoje estadísticas en los contadores BASE. - + Ctrl+Shift+B Ctrl+Mayús+B - + Deb&ugger Enabled Dep&uración activada - + Enables the debugger during skin parsing Activa el depurador durante el análisis de la máscara - + Ctrl+Shift+D Ctrl+Mayús+D - + &Help Ay&uda - + Show Keywheel menu title - + Mostrar rueda de notas E&xport Library to Engine DJ "Engine DJ" must not be translated - + Exportar biblioteca a Engine DJ Export the library to the Engine DJ format - + Exportar biblioteca al formato Engine DJ - + Show keywheel tooltip text - + Mostrar rueda de notas - + F12 Menubar|View|Show Keywheel - + F12 - + &Community Support Soporte &comunitario - + Get help with Mixxx Obtener ayuda con Mixxx - + &User Manual Manual de &usuario - + Read the Mixxx user manual. Lea el manual de usuario de Mixxx. - + &Keyboard Shortcuts Atajos de &Teclado - + Speed up your workflow with keyboard shortcuts. Trabaja más rápidamente usando los atajos de teclado. - + &Settings directory &Directorio de configuración - + Open the Mixxx user settings directory. Abre el directorio de configuración de usuario de Mixxx. - + &Translate This Application &Traducir esta aplicación - + Help translate this application into your language. Ayude a traducir esta aplicación a su idioma. - + &About &Acerca de - + About the application Acerca de la aplicación @@ -16037,7 +16145,7 @@ Carpeta: %2 Ready to play, analyzing... Text on waveform overview when file is playable but no waveform is visible - + Listo para reproducir, analizando... @@ -16050,31 +16158,19 @@ Carpeta: %2 Finalizing... Text on waveform overview during finalizing of waveform analysis - + Finalizando... WSearchLineEdit - - Clear input - Clear the search bar input field - Borrar el texto - - - - Ctrl+F - Search|Focus - Ctrl+F - - - + Search noun Buscar - + Clear input Borrar el texto @@ -16085,93 +16181,87 @@ Carpeta: %2 Buscar... - + Clear the search bar input field - + Limpia el campo de entrada de la barra de búsqueda - - Enter a string to search for - Introducir el texto a buscar + + Return + Volver - - Use operators like bpm:115-128, artist:BooFar, -year:1990 + + Enter a string to search for. - - For more information see User Manual > Mixxx Library - Para más información vea el Manual de Usuario> Biblioteca Mixxx + + Use operators like bpm:115-128, artist:BooFar, -year:1990. + - Shortcut - Atajo + See User Manual > Mixxx Library for more information. + - - Ctrl+F - Ctrl+F + + Focus/Select All (Search in current view) + Give search bar input focus + - - Focus - Give search bar input focus - Poner el cursor aquí + + Focus/Select All (Search in 'Tracks' library view) + - - - Ctrl+Backspace - Ctrl+Tecla de retroceso + + Additional Shortcuts When Focused: + - Shortcuts - Atajos + Trigger search before search-as-you-type timeout or focus tracks view afterwards + - Return + Esc or Ctrl+Return - Trigger search before search-as-you-type timeout orjump to tracks view afterwards - Activa la búsqueda antes del tiempo de espera de "búsqueda mientras escribe" o salte a la vista de pistas después + Immediately trigger search and focus tracks view + Exit search bar and leave focus + - + Ctrl+Space - + Ctrl+Espacio - + Toggle search history Shows/hides the search history entries - + Alternar historial de búsqueda - + Delete or Backspace Borrar o Retorno - - Delete query from history - Borrar Consulta del Historial - - - - Esc - Esc + + in search history + - - Exit search - Exit search bar and leave focus - Salir de la busqueda + + Delete query from history + Borrar Consulta del Historial @@ -16179,7 +16269,7 @@ Carpeta: %2 Search related Tracks - + Buscar pistas relacionadas @@ -16189,7 +16279,7 @@ Carpeta: %2 harmonic with %1 - + armónico con %1 @@ -16199,7 +16289,7 @@ Carpeta: %2 between %1 and %2 - + entre %1 y %2 @@ -16249,7 +16339,7 @@ Carpeta: %2 &Search selected - + &Búsqueda seleccionada @@ -16287,7 +16377,7 @@ Carpeta: %2 Update external collections - + Actualizar colecciones externas @@ -16297,12 +16387,12 @@ Carpeta: %2 Adjust BPM - + Ajustar BPM Select Color - + Seleccionar color @@ -16470,12 +16560,12 @@ Carpeta: %2 Sort hotcues by position (remove offsets) - + Ordenar hotcues por posición (removiendo desfases) Sort hotcues by position - + Ordenar hotcues por posición @@ -16520,7 +16610,7 @@ Carpeta: %2 Shift Beatgrid Half Beat - + Desplazar la cuadrícula de tiempo medio beat @@ -16608,7 +16698,7 @@ Carpeta: %2 Undo BPM/beats change of %n track(s) - + Deshacer cambios de BPM/pulsaciones de %n pista(s)Deshacer cambios de BPM/pulsaciones de %n pista(s)Deshacer cambios de BPM/pulsaciones de %n pista(s) @@ -16623,7 +16713,7 @@ Carpeta: %2 Setting rating of %n track(s) - + Definiendo evaluación de %n pistaDefiniendo evaluación de %n pistasDefiniendo evaluación de %n pista(s) @@ -16678,12 +16768,12 @@ Carpeta: %2 Sorting hotcues of %n track(s) by position (remove offsets) - + Ordenando hotcues de %n pista por posición (removiendo desfases)Ordenando hotcues de %n pistas por posición (removiendo desfases)Ordenando hotcues de %n pistas(s) por posición (removiendo desfases) Sorting hotcues of %n track(s) by position - + Ordenando hotcues de %n pista por posiciónOrdenando hotcues de %n pistas por posiciónOrdenando hotcues de %n pista(s) por posición @@ -16708,7 +16798,7 @@ Carpeta: %2 Move these files to the trash bin? - + ¿Mover estos archivos a la papelera? @@ -16734,7 +16824,7 @@ Carpeta: %2 Okay - + Okey @@ -16784,7 +16874,7 @@ Carpeta: %2 Remaining Track File(s) - + Renombrando archivo(s) de pista @@ -16795,7 +16885,7 @@ Carpeta: %2 Clear Reset metadata in right click track context menu in library - + Climpiar @@ -16805,37 +16895,37 @@ Carpeta: %2 Clear BPM and Beatgrid - + Limpia las BPM y la cuadrícula de tiempo Undo last BPM/beats change - + Revertir el último cambio de BPM/pulsaciones Move this track file to the trash bin? - + ¿Mover este archivo de pista a la papelera? Permanently delete this track file from disk? - + ¿Eliminar permanentemente este archivo de pista del disco? All decks where these tracks are loaded will be stopped and the tracks will be ejected. - + Todos los platos donde estas pistas hayan sido cargadas se detendrán, y las pistas serán expulsadas. All decks where this track is loaded will be stopped and the track will be ejected. - + Todos los platos donde esta pista haya sido cargada se detendrán, y la pista será expulsada. Removing %n track file(s) from disk... - + Removiendo %n archivo(s) de pista del disco... @@ -16855,12 +16945,12 @@ Carpeta: %2 Don't show again during this session - + No mostrar nuevamente durante esta sesión The following %1 file(s) could not be moved to trash - + El/los siguiente(s) %1 archivo(s) no pudieron ser movidos a la papelera @@ -16883,7 +16973,7 @@ Carpeta: %2 title - + título @@ -16891,73 +16981,73 @@ Carpeta: %2 Load for stem mixing - + Cargar para mezcla de stems Load pre-mixed stereo track - + Cargar pista estéreo premezclada Load the "%1" stem - + Cargar el stem "%1" Load multiple stem into a stereo deck - + Cargar múltiples stems en un plato estéreo Select stems to load - + Seleccionar stems a cargar Release "CTRL" to load the current selection - + Soltar "Ctrl" para cargar la selección actual Use "CTRL" to select multiple stems - + Use "Ctrl" para seleccionar múltiples stems WTrackTableView - + Confirm track hide Confirmar ocultar pista - + Are you sure you want to hide the selected tracks? ¿Estas seguro de que quieres ocultar las pistas seleccionadas? - + Are you sure you want to remove the selected tracks from AutoDJ queue? ¿Esta seguro de que quiere eliminar las pistas seleccionadas de la cola del AutoDJ? - + Are you sure you want to remove the selected tracks from this crate? Estás seguro que quieres eliminar las pistas seleccionada de este cajón? - + Are you sure you want to remove the selected tracks from this playlist? ¿Esta seguro de que desea eliminar las pistas seleccionadas de la lista de reproducción? - + Don't ask again during this session No volver a preguntar durante esta sesión - + Confirm track removal Confirmar eliminación del track @@ -16972,58 +17062,58 @@ Carpeta: %2 Shuffle Tracks - + Mezclar pistas mixxx::CoreServices - + fonts tipos de letra - + database base de datos - + effects efectos - + audio interface interface de sonido - + decks - + decks - + library Biblioteca - + Choose music library directory Elija el directorio de la biblioteca de la música - + controllers - + Controladores - + Cannot open database No se puede abrir la base de datos - + Unable to establish a database connection. Mixxx requires QT with SQLite support. Please read the Qt SQL driver documentation for information on how to build it. @@ -17037,70 +17127,80 @@ Pulse Aceptar para salir. mixxx::DlgLibraryExport - + Entire music library + Biblioteca de música completa + + + + Crates - - Selected crates - Cajas seleccionadas + + Playlists + - + + Selected crates/playlists + + + + Browse Ver - + Export directory - + Exportar directorio - + Database version - + Versión de base de datos - + Export Exportar - + Cancel Cancelar - + Export Library to Engine DJ "Engine DJ" must not be translated - + Exportar biblioteca a Engine DJ - + Export Library To - + Exportar biblioteca a - + No Export Directory Chosen - + No se seleccionó un directorio de exportación - + No export directory was chosen. Please choose a directory in order to export the music library. - + No se escogió un directorio de exportación. Por favor escoja un directorio para poder exportar la biblioteca de música. - + A database already exists in the chosen directory. Exported tracks will be added into this database. - + Una base de datos ya existe en el directorio seleccionado. Las pistas exportadas serán añadidas a esta base de datos. - + A database already exists in the chosen directory, but there was a problem loading it. Export is not guaranteed to succeed in this situation. - + Una base de datos ya existe en el directorio seleccionado, pero ocurrió un problema al cargarla. No se garantiza una exportación exitosa en esta situación. @@ -17119,34 +17219,35 @@ Pulse Aceptar para salir. mixxx::EnginePrimeExportJob - + Failed to export track %1 - %2: %3 %1 is the artist %2 is the title and %3 is the original error message - + Fallo al exportar %1 - %2: +%3 mixxx::LibraryExporter - + Export Completed - + Exportación completada - - Exported %1 track(s) and %2 crate(s). - Exportados %1 pista(s) y %2 caja(s). + + Exported %1 track(s), %2 crate(s), and %3 playlist(s). + - + Export Failed - + Exportación fallida - + Exporting to Engine DJ... - + Exportando a Engine DJ... @@ -17154,7 +17255,7 @@ Pulse Aceptar para salir. Abort - + Abortar @@ -17162,7 +17263,7 @@ Pulse Aceptar para salir. No network access - + Sin conexión a la red diff --git a/res/translations/mixxx_es_MX.qm b/res/translations/mixxx_es_MX.qm index 3adc212aa965c0aae7a695399e5dc40e48e45c03..968126c38cbae315066f449ded8f483121c9a2c5 100644 GIT binary patch delta 54505 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 z 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 X;qH~W0*gz)79lZK4sCi;TPgoP;XD^t delta 25616 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 diff --git a/res/translations/mixxx_es_MX.ts b/res/translations/mixxx_es_MX.ts index 0947c8991dbf..f0e558627127 100644 --- a/res/translations/mixxx_es_MX.ts +++ b/res/translations/mixxx_es_MX.ts @@ -26,17 +26,17 @@ Enable Auto DJ - + Activar Auto DJ Disable Auto DJ - + Desactivar Auto DJ Clear Auto DJ Queue - + Limpiar la cola de Auto DJ @@ -51,17 +51,17 @@ Confirmation Clear - + Confirmación limpiada Do you really want to remove all tracks from the Auto DJ queue? - + Realmente quieres eliminar todas las pistas de la cola de Auto DJ? This can not be undone. - + ¡Esto no puede ser revertido! @@ -149,7 +149,7 @@ BasePlaylistFeature - + New Playlist Nueva lista de reproducción @@ -160,7 +160,7 @@ - + Create New Playlist Crear una nueva lista de reproducción @@ -190,113 +190,120 @@ Duplicar - - + + Import Playlist Importar Lista de Reproducción - + Export Track Files Exportar pistas de audio - + Analyze entire Playlist Analizar toda la lista de reproducción - + Enter new name for playlist: Introducir nuevo nombre de Lista de Repoducción - + Duplicate Playlist Duplicar lista de reproducción - - + + Enter name for new playlist: Introducir nuevo nombre de lista de reproducción - - + + Export Playlist Exportar lista de reproducción - + Add to Auto DJ Queue (replace) Añadir a la lista de DJ Automático (reemplazar). - + + + Export to Engine DJ + "Engine DJ" is a product name and must not be translated. + + + + Rename Playlist Renombrar Lista de Reproducción - - + + Renaming Playlist Failed Renombrando lista de reproducción fallida - - - + + + A playlist by that name already exists. Una lista de reproducción ya existe con el mismo nombre - - - + + + A playlist cannot have a blank name. El nombre de una lista de reproduccion no puede estar vacío - + _copy //: Appendix to default name when duplicating a playlist Copiar - - - - - - + + + + + + Playlist Creation Failed Fallo la creación de lista de Reproducción - - + + An unknown error occurred while creating playlist: Un error desconocido ocurrio mientras la creacion de la lista de reproducción - + Confirm Deletion Confirmar Borrado - + Do you really want to delete playlist <b>%1</b>? ¿Desea realmente eliminar la lista de reproducción<b>%1</b>? - + M3U Playlist (*.m3u) Lista de Reproducción M3U (*.m3u) - + M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Text CSV (*.csv);;Readable Text (*.txt) Lista de reproducción M3U (*.m3u);;Lista de reproducción M3U8 (*.m3u8);;Lista de reproducción PLS (*.pls);;Texto CSV (*.csv);;Texto legible (*.txt) @@ -304,12 +311,12 @@ BaseSqlTableModel - + # # - + Timestamp Marca de tiempo @@ -317,7 +324,7 @@ BaseTrackPlayerImpl - + Couldn't load track. No se puede cargar la pista @@ -325,142 +332,142 @@ BaseTrackTableModel - + Album Album - + Album Artist Artista del Album - + Artist Artista - + Bitrate Tasa de Muestreo - + BPM BPM - + Channels Canales - + Color Color - + Comment Comentario - + Composer Compositor - + Cover Art Portada - + Date Added Fecha de Agregado - + Last Played Última reproducción - + Duration Duración - + Type Tipo - + Genre Genero - + Grouping Agrupación - + Key Tono - + Location Ubicación - + Overview - + Resumen - + Preview Vista Previa - + Rating Calificación - + ReplayGain Reproducir otra vez - + Samplerate Tasa de muestreo - + Played Reproducido - + Title Título - + Track # Pista # - + Year Año - + Fetching image ... Tooltip text on the cover art column shown when the cover is read from disk Recuperando imagen... @@ -609,6 +616,16 @@ "Computer" lets you navigate, view, and load tracks from folders on your hard disk and external devices. "Computadora" le permite navegar, ver y cargar pistas desde carpetas en su disco duro y dispositivos externos. + + + It shows the data from the file tags, not track data from your Mixxx library like other track views. + + + + + If you load a track file from here, it will be added to your library. + + BrowseTableModel @@ -806,7 +823,7 @@ Rescans the library when Mixxx is launched. - + Re escanea la librería cuando se inicia Mixxx @@ -856,7 +873,7 @@ trace - Arriba + Perfilar mensajes Sets the maximum file size of the mixxx.log file in bytes. Use -1 for unlimited. The default is 100 MB as 1e5 or 100000000. - + Configura el tamaño máximo del archivo mixxx.log en bytes. Usa -1 para ilimitado. Por defecto es 100 MB, como en 1e5 o 100000000. @@ -866,7 +883,7 @@ trace - Arriba + Perfilar mensajes Overrides the default application GUI style. Possible values: %1 - + Anula el estilo por defecto de la interfaz de usuario de la aplicación. Valores posibles: %1 @@ -1185,12 +1202,12 @@ trace - Arriba + Perfilar mensajes Equalizers - + Ecualizadores Vinyl Control - + Control de Vinilos @@ -1983,7 +2000,7 @@ trace - Arriba + Perfilar mensajes Effects - + Efectos @@ -2463,12 +2480,12 @@ trace - Arriba + Perfilar mensajes Move Beatgrid Half a Beat - + Desplaza la cuadricula de tiempo medio pulso Adjust the beatgrid by exactly one half beat. Usable only for tracks with constant tempo. - + Ajusta la cuadrícula de tiempo en exactamente medio beat. Solo se puede usar en pistas con tempo constante. @@ -2666,13 +2683,13 @@ trace - Arriba + Perfilar mensajes Sort hotcues by position - + Ordenar hotcues por posición Sort hotcues by position (remove offsets) - + Ordenar hotcues por posición (removiendo desfases) @@ -3527,7 +3544,7 @@ trace - Arriba + Perfilar mensajes Unknown - + Desconocido @@ -3632,32 +3649,32 @@ trace - Arriba + Perfilar mensajes ControllerScriptEngineBase - + The functionality provided by this controller mapping will be disabled until the issue has been resolved. La funcionalidad provista por este mapa de controlador será desactivada hasta que el problema sea resuelto. - + You can ignore this error for this session but you may experience erratic behavior. Puedes ignorar este error durante esta sesión, pero podrías experimentar problemas impredecibles. - + Try to recover by resetting your controller. Prueba de corregirlo reseteando la controladora. - + Controller Mapping Error Error del mapa de controlador - + The mapping for your controller "%1" is not working properly. El mapa de tu controlador "%1" no funciona correctamente. - + The script code needs to be fixed. El código del script necesita ser reparado. @@ -3765,7 +3782,7 @@ trace - Arriba + Perfilar mensajes Importar cajón - + Export Crate Exportar cajón @@ -3775,7 +3792,7 @@ trace - Arriba + Perfilar mensajes Desbloquear - + An unknown error occurred while creating crate: Ocurrió un error desconocido al crear el cajón: @@ -3801,17 +3818,17 @@ trace - Arriba + Perfilar mensajes No se pudo renombrar el cajón - + Crate Creation Failed Falló la creación del cajón - + M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Text CSV (*.csv);;Readable Text (*.txt) Lista de reproducción M3U (*.m3u);;Lista de reproducción M3U8 (*.m3u8);;Lista de reproducción PLS (*.pls);;Texto CSV (*.csv);;Texto legible (*.txt) - + M3U Playlist (*.m3u) Lista de Reproducción M3U (*.m3u) @@ -3937,12 +3954,12 @@ trace - Arriba + Perfilar mensajes Antiguos colaboradores - + Official Website Sitio web oficial - + Donate Donar @@ -3998,7 +4015,7 @@ trace - Arriba + Perfilar mensajes - + Analyze Analizar @@ -4043,17 +4060,17 @@ trace - Arriba + Perfilar mensajes Ejecuta el análisis de cuadrícula de tempo, clave musical y ReplayGain en las pistas seleccionadas. No genera formas de onda para las pistas seleccionadas para ahorrar espacio en disco. - + Stop Analysis Detener análisis - + Analyzing %1% %2/%3 Analizando %1% %2/%3 - + Analyzing %1/%2 Analizando %1/%2 @@ -4164,7 +4181,32 @@ Skip Silence Start Full Volume: The same as Skip Silence, but starting transitions with a centered crossfader, so that the intro starts at full volume. - + Modos de desvanecimiento de Auto DJ + +Intro completa + Outro: +Reproduce la intro completa y la outro. Usa la duración de la intro o la outro como +el tiempo de fundido cruzado, el que sea el más corto. Si no se ha marcado una intro u outro, +usa el tiempo de fundido cruzado seleccionado. + +Desvanecer al iniciar la Outro: +Inicia el fundido cruzado al inicio de la outro. Si la outro es más larga que la intro, +corta el final de la outro. Usa la duración de la intro o la outro como +el tiempo de fundido cruzado, el que sea más corto.Si no se ha marcado una intro u outro, +usa el tiempo de fundido cruzado seleccionado. + +Pista completa: +Reproduce la pista completa. Comienza el fundido cruzado desde el +número de segundos seleccionado antes del final de la pista. Un fundido cruzado negativo +agrega silencio entre las pistas. + +Saltar silencio: +Reproduce la pista completa excepto el silencio al inicio y al final. +Inicia el fundido cruzado desde el número de segundos seleccionado antes +del último sonido. + +Saltar silencio e iniciar con volumen al máximo: +Lo mismo que Saltar silencio, pero inicia la transición con el crossfader +centrado, de manera que la intro inicia con el volumen al máximo. @@ -4189,7 +4231,7 @@ crossfader, so that the intro starts at full volume. Skip Silence Start Full Volume - + Saltar silencio e iniciar con volumen al máximo @@ -4322,7 +4364,7 @@ A menudo resulta en cuadrículas de más calidad, pero no lo hacemos bien en pis Analyzer Settings - + Configuración del Analizador @@ -4344,7 +4386,7 @@ A menudo resulta en cuadrículas de más calidad, pero no lo hacemos bien en pis Re-analyze beats when settings change or beat detection data is outdated - + Re-analizar pulsaciones cuando las preferencias cambien o la información sobre pulsaciones sea obsoleta @@ -4470,37 +4512,37 @@ A menudo resulta en cuadrículas de más calidad, pero no lo hacemos bien en pis Si el mapeo no funciona, prueba a activar uno de los controles avanzados siguientes y prueba de nuevo. También puedes volver a detectar el control. - + Didn't get any midi messages. Please try again. No se detectó ningún mensaje MIDI. Por favor, inténtelo de nuevo. - + Unable to detect a mapping -- please try again. Be sure to only touch one control at once. No se detectó un mapeado -- Intentelo nuevamente. Asegurese de tocar sólo un control a la vez. - + Successfully mapped control: Control mapeado con éxito: - + <i>Ready to learn %1</i> <i>Preparado para asignar %1</i> - + Learning: %1. Now move a control on your controller. Aprendizaje: %1. Ahora mueva un control en su controlador. - + The selected control does not exist.<br>This likely a bug. Please report it on the Mixxx bug tracker.<br><a href='https://github.com/mixxxdj/mixxx/issues'>https://github.com/mixxxdj/mixxx/issues</a><br><br>You tried to learn: %1,%2 - + El control seleccionado no existe. <br>Esto es posiblemente un bug. Por favor repórtelo en el seguidor de bugs de Mixxx. <br><a href='https://github.com/mixxxdj/mixxx/issues'>https://github.com/mixxxdj/mixxx/issues</a><br><br> Trataste de vincular: %1,%2 - + The control you clicked in Mixxx is not learnable. This could be because you are either using an old skin and this control is no longer supported, or you clicked a control that provides visual feedback and can only be mapped to outputs like LEDs via scripts. @@ -5198,120 +5240,120 @@ associated with each key. Key palette - + Paleta de notas DlgPrefController - + Apply device settings? ¿Aplicar la configuración del dispositivo? - + Your settings must be applied before starting the learning wizard. Apply settings and continue? La configuración debe ser aplicada antes de iniciar el asistente de aprendizaje. ¿Aplicar la configuración y continuar? - + None Ningún - + %1 by %2 %1 por %2 - + Mapping has been edited Se ha editado el mapeo - + Always overwrite during this session Siempre sobreescribir durante esta sesión - + Save As Guardar como - + Overwrite Sobreescribir - + Save user mapping Guardar mapeo del usuario - + Enter the name for saving the mapping to the user folder. Ingresar el nombre del archivo de mapeo para guardarlo en la carpeta de usuario. - + Saving mapping failed Ha fallado el guardado del mapeo - + A mapping cannot have a blank name and may not contain special characters. El nombre del mapeo no puede estar en blanco, ni contener caracteres especiales. - + A mapping file with that name already exists. Ya existe un archivo de mapeo con el mismo nombre. - + Do you want to save the changes? Quieres guardar los cambios? - + Troubleshooting Solución de problemas - + <font color='#BB0000'><b>If you use this mapping your controller may not work correctly. Please select another mapping or disable the controller.</b></font><br><br>This mapping was designed for a newer Mixxx Controller Engine and cannot be used on your current Mixxx installation.<br>Your Mixxx installation has Controller Engine version %1. This mapping requires a Controller Engine version >= %2.<br><br>For more information visit the wiki page on <a href='https://mixxx.org/wiki/doku.php/controller_engine_versions'>Controller Engine Versions</a>. <font color='#BB0000'><b>Si usas este mapeo, tu controlador podría no funcionar correctamente. Por favor selecciona otro mapeo o deshabilita el controlador. </b></font><br><br>Este mapeo fue diseñado para un nuevo Motor de Controladores de Mixxx, y no puede ser usado con tu instalación actual.<br>Tu instalación de Mixxx posee la version del Motor de Controladores %1. Este mapeo requiere una versión del Motor de controladores >=%2.<br><br>Para más información visita la wiki de <a href='https://mixxx.org/wiki/doku.php/controller_engine_versions'>Versiones del Motor de Controladores</a>. - + Mapping already exists. El mapeo ya existe. - + <b>%1</b> already exists in user mapping folder.<br>Overwrite or save with a new name? <b>%1</b> ya existe en la carpeta de mapeos de usuario. <br>¿Deseas sobreescribir o guardar con otro nombre? - + Clear Input Mappings Limpiar mapeos de Entrada - + Are you sure you want to clear all input mappings? Está seguro de querer eliminar todos los mapeos de entrada? - + Clear Output Mappings Limpiar mapeos de Salida - + Are you sure you want to clear all output mappings? Está seguro de querer eliminar todos los mapeos de salida? @@ -5331,62 +5373,62 @@ Apply settings and continue? Device Info - + Información del dispositivo Physical Interface: - + Interfase física Vendor name: - + Nombre del fabricante: Product name: - + Nombre del producto: Vendor ID - + ID del proveedor VID: - + VID: Product ID - + ID del producto PID: - + PID: Serial number: - + Número de serie: USB interface number: - + Número de interfaz USB HID Usage-Page: - + Página de uso HID HID Usage: - + Uso de HID: @@ -5464,7 +5506,7 @@ Apply settings and continue? Data protocol: - + Protocolo de datos: @@ -5474,7 +5516,7 @@ Apply settings and continue? Mapping Settings - + Configuración de mapeo @@ -5527,7 +5569,7 @@ Apply settings and continue? Controllers - + Controladores @@ -5537,7 +5579,7 @@ Apply settings and continue? Enable MIDI Through Port - + Activar puerto de MIDI Through @@ -5642,6 +5684,16 @@ Apply settings and continue? Multi-Sampling Multi-Muestreo + + + Force 3D acceleration + + + + + If checked, Mixxx will always assume 3D acceleration is available. This may lead to pour performance if only CP-backed rendering is available.. + + Start in full-screen mode @@ -6169,7 +6221,7 @@ Siempre puedes arrastrar y tirar pistas en la pantalla para clonar una plataform Export - + Exportar @@ -6200,12 +6252,12 @@ Siempre puedes arrastrar y tirar pistas en la pantalla para clonar una plataform ❯ - + ❮ - + @@ -6256,62 +6308,62 @@ Siempre puedes arrastrar y tirar pistas en la pantalla para clonar una plataform DlgPrefInterface - + The minimum size of the selected skin is bigger than your screen resolution. El tamaño mínimo de la apariencia seleccionada es mas grande que la resolucion de su pantalla. - + Allow screensaver to run Permite el salvapantallas - + Prevent screensaver from running Evita que se active el salvapantallas - + Prevent screensaver while playing Evita el salvapantallas mientras reproduce - + Disabled Desactivado - + 2x MSAA 2x MSAA - + 4x MSAA 4x MSAA - + 8x MSAA 8x MSAA - + 16x MSAA 16x MSAA - + This skin does not support color schemes Este skin no soporta esquemas de color - + Information Información - + Mixxx must be restarted before the new locale, scaling or multi-sampling settings will take effect. Mixxx debe ser reiniciado para que el nuevo ajuste de locale, escalado o multi-muestreo tenga efecto. @@ -6348,7 +6400,7 @@ y te permite ajustar su pitch para lograr mezclas armónicas. Analyzer Settings - + Configuración del Analizador @@ -6378,7 +6430,7 @@ y te permite ajustar su pitch para lograr mezclas armónicas. Key Notation - + Notación de clave musical @@ -6576,7 +6628,7 @@ y te permite ajustar su pitch para lograr mezclas armónicas. Metadata means all track details (artist, title, playcount, etc.) as well as beatgrids, hotcues, and loops. This choice only affects the Mixxx library. No files on disk will be changed or deleted. - + Metadatos significa todos los detalles de la pista (artista, titulo, cantidad de reproducciones, etc) como cuadrículas de tempo, hotcues y bucles. Este cambio solo afecta a la biblioteca de Mixxx. Ningun archivo en el disco será cambiado o eliminado. @@ -7023,7 +7075,7 @@ y te permite ajustar su pitch para lograr mezclas armónicas. Reset stem controls on track load - + Reiniciar controles de stem al cargar pista @@ -7481,173 +7533,172 @@ El objetivo de sonoridad es aproximado y asume que la preganancia de la pista y DlgPrefSound - + %1 Hz %1 Hz - + Default (long delay) Por Defecto (mas retardo) - + Experimental (no delay) Experimental (sin retardo) - + Disabled (short delay) Desactivado (poco retardo) - + Soundcard Clock Reloj de la tarjeta de sonido - + Network Clock Reloj de red - + Direct monitor (recording and broadcasting only) Monitorización directa (solo grabación y emisión en vivo) - + Disabled Desactivado - + Enabled Habilitado - + Stereo Estéreo - + Mono Mono - + To enable Realtime scheduling (currently disabled), see the %1. Para activar el Planificador en tiempo real (actualmente desactivado), mira %1. - + The %1 lists sound cards and controllers you may want to consider for using Mixxx. %1 muestra una lista de tarjetas de sonido y controladores que podrías considerar para utilizar con Mixxx - + Mixxx DJ Hardware Guide Guía de Hardware DJ de Mixxx - + Information Información - + Mixxx must be restarted before the multi-threaded RubberBand setting change will take effect. Mixxx debe ser reiniciado para que el cambio de ajuste de RubberBand multi-hilo tenga efecto. - + auto (<= 1024 frames/period) auto (<= 1024 fotogramas/período) - + 2048 frames/period 2048 fotogramas/período - + 4096 frames/period 4096 fotogramas/período - + Are you sure? ¿Estás seguro(a)? - + Distribute stereo channels into mono channels for parallel processing will result in a loss of mono compatibility and a diffuse stereo image. It is not recommended during broadcasting or recording. Distribuir los canales estéreo en canales mono para su procesamiento en paralelo podría resultar en la pérdida de la compatibilidad mono y una imagen estéreo difusa. No se recomienda al transmitir en vivo o al grabar. - + Are you sure you wish to proceed? ¿Realmente deseas continuar? - + No No - + Yes, I know what I am doing Sí, se lo que estoy haciendo - + Microphone inputs are out of time in the record & broadcast signal compared to what you hear. La entrada de micrófono está desincronizada respecto la grabación y emisión comparado con la señal que se oye. - + Measure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. Mide la latencia total e introducela en la Compensacion de latencia del micrófono para sincronizar el micrófono. - - + Refer to the Mixxx User Manual for details. Para más detalles, lea el manual de usuario de Mixxx. - + Configured latency has changed. La latencia configurada ha cambiado. - + Remeasure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. Vuelve a medir la latencia total e introducela en la Compensacion de latencia del micrófono para sincronizar el micrófono. - + Realtime scheduling is enabled. La planificación en Tiempo Real está activada. - + Main output only Solo Salida principal - + Main and booth outputs Salidas principal y de cabina - + %1 ms %1 ms - + Configuration error Error de configuración @@ -7665,131 +7716,131 @@ El objetivo de sonoridad es aproximado y asume que la preganancia de la pista y API de sonido - + Sample Rate Tasa de muestreo - + Audio Buffer Búfer de audio - + Engine Clock Relog del motor - + Use soundcard clock for live audience setups and lowest latency.<br>Use network clock for broadcasting without a live audience. Usa el reloj de la tarjeta de sonido para emitir a un público presente y para la menor latencia. <br>Usa el reloj de red para emitir en vivo sin un público presente. - + Main Mix Mezcla principal - + Main Output Mode Modo de Salida principal - + Microphone Monitor Mode Modo de monitorización del micrófono - + Microphone Latency Compensation Compensación de latencia del micrófono - - - - + + + + ms milliseconds ms - + 20 ms 20 ms - + Buffer Underflow Count Contador de vaciado del búfer - + 0 0 - + Keylock/Pitch-Bending Engine Bloqueo tonal/Motor de Pitch-bend - + Multi-Soundcard Synchronization Sincronización con Múltiples Tarjetas de Sonido - + Output Salida - + Input Entrada - + System Reported Latency Latencia reportada por el sistema - + Enlarge your audio buffer if the underflow counter is increasing or you hear pops during playback. Aumente su búfer de audio si el contador de desbordamiento está aumentando o escuchas chasquidos durante la reproducción. - + Main Output Delay Retardo Salida Principal - + Headphone Output Delay Retraso/delay de la Salida de auriculares - + Booth Output Delay Retraso/delay de la salida de cabina - + Dual-threaded Stereo Estéreo en doble-hilo - + Hints and Diagnostics Diagnóstico y sugerencias - + Downsize your audio buffer to improve Mixxx's responsiveness. Disminuya su búfer de audio para mejorar la velocidad de respuesta de Mixxx. - + Query Devices Consultar aparatos @@ -7843,7 +7894,7 @@ El objetivo de sonoridad es aproximado y asume que la preganancia de la pista y Turntable Input Signal Boost - + Aumento de la Señal de Entrada del Tornamesa @@ -7947,12 +7998,12 @@ El objetivo de sonoridad es aproximado y asume que la preganancia de la pista y 1/3 of waveform viewer options for "Text height limit" - + 1/3 de visualización de forma de onda Entire waveform viewer - + Visor de forma de onda completa @@ -7985,7 +8036,7 @@ El objetivo de sonoridad es aproximado y asume que la preganancia de la pista y OpenGL Status - + Estado de OpenGL @@ -8140,12 +8191,12 @@ Elija entre los distintos tipos de visualización para la forma de onda, que se Preferred font size - + Tamaño de tipo de letra preferido Text height limit - + Límite de altura de texto @@ -8185,18 +8236,18 @@ Elija entre los distintos tipos de visualización para la forma de onda, que se Beat grid opacity - + Superar la opacidad de la rejilla Scrolling Waveforms - + Deslizar formas de onda Type - + Tipo @@ -8206,7 +8257,7 @@ Elija entre los distintos tipos de visualización para la forma de onda, que se Set amount of opacity on beat grid lines. - + Establece la cantidad de opacidad en las líneas de la cuadrícula del compás. @@ -8216,17 +8267,17 @@ Elija entre los distintos tipos de visualización para la forma de onda, que se Play marker position - + <br><div><br data-mce-bogus="1"></div> Moves the play marker position on the waveforms to the left, right or center (default). - + Mover the marcador de posición en la pista a la izquierda, derecha o centro (Defabrica). Overview Waveforms - + Visualizar formas de onda @@ -8239,17 +8290,17 @@ Elija entre los distintos tipos de visualización para la forma de onda, que se Sound Hardware - + Hardware de sonido Controllers - + Controladores Library - + Biblioteca @@ -8329,7 +8380,7 @@ Elija entre los distintos tipos de visualización para la forma de onda, que se Key Detection - + Detección de tonalidad @@ -8344,7 +8395,7 @@ Elija entre los distintos tipos de visualización para la forma de onda, que se Vinyl Control - + Control de vinilo @@ -8373,7 +8424,7 @@ Elija entre los distintos tipos de visualización para la forma de onda, que se TextLabel - + Etiqueta @@ -9349,27 +9400,27 @@ A menudo resulta en una cuadrícula de mayor calidad, pero no lo hacemos bien en EngineBuffer - + Soundtouch (faster) Soundtouch (rápido) - + Rubberband (better) Rubberband (mejor) - + Rubberband R3 (near-hi-fi quality) Banda elástica R3 (calidad casi alta fidelidad) - + Unknown, using Rubberband (better) Desconocido, utilizando Banda elástica (mejor) - + Unknown, using Soundtouch Desconocido, usando Soundtouch @@ -9554,12 +9605,12 @@ A menudo resulta en una cuadrícula de mayor calidad, pero no lo hacemos bien en Change color - + Cambiar color Choose a new color - + Escoger un nuevo color @@ -9567,32 +9618,32 @@ A menudo resulta en una cuadrícula de mayor calidad, pero no lo hacemos bien en Browse... - + Examinar… No file selected - + No se ha seleccionado ningún archivo Select a file - + Seleccionar un archivo LegacySkinParser - - + + Safe Mode Enabled Shown when Mixxx is running in safe mode. Modo Seguro Activado - - + + No OpenGL support. Shown when Spinny can not be displayed. Please keep @@ -9604,57 +9655,57 @@ Shown when VuMeter can not be displayed. Please keep de OpenGL. - + activate activar - + toggle conmutar - + right derecha - + left izquierda - + right small derecha pequeño - + left small izquierda pequeño - + up arriba - + down abajo - + up small arriba pequeño - + down small abajo pequeño - + Shortcut Atajo @@ -9662,37 +9713,37 @@ de OpenGL. Library - + This or a parent directory is already in your library. Este directorio o su superior ya se encuentra en tu biblioteca. - + This or a listed directory does not exist or is inaccessible. Aborting the operation to avoid library inconsistencies Este directorio o el indicado no existe o es inaccesible. Cancelando la operación para evitar inconsistencias de biblioteca. - - + + This directory can not be read. Este directorio no puede ser leído. - + An unknown error occurred. Aborting the operation to avoid library inconsistencies Ha ocurrido un error desconocido. Cancelando la operación para evitar inconsistencias de biblioteca - + Can't add Directory to Library No se pudo agregar el directorio a la biblioteca - + Could not add <b>%1</b> to your library. %2 @@ -9701,27 +9752,27 @@ Cancelando la operación para evitar inconsistencias de biblioteca %2 - + Can't remove Directory from Library No se pudo remover el directorio de la biblioteca. - + An unknown error occurred. Ha ocurrido un error desconocido. - + This directory does not exist or is inaccessible. Este directorio no existe o es inaccesible. - + Relink Directory Reenlazar directorio - + Could not relink <b>%1</b> to <b>%2</b>. %3 @@ -9733,27 +9784,27 @@ Cancelando la operación para evitar inconsistencias de biblioteca LibraryFeature - + Import Playlist Importar Lista de Reproducción - + Playlist Files (*.m3u *.m3u8 *.pls *.csv) Archivos de lista de reproducción (*.m3u *.m3u8 *.pls *.csv) - + Overwrite File? ¿Sobrescribir archivo? - + A playlist file with the name "%1" already exists. The default "m3u" extension was added because none was specified. Do you really want to overwrite it? - + Ya existe un archivo de lista de reproducción con el nombre "% 1". Se agregó la extensión predeterminada "m3u" porque no se especificó ninguna. ¿Realmente desea sobrescribirla? @@ -9899,253 +9950,253 @@ Do you really want to overwrite it? MixxxMainWindow - + Sound Device Busy El dispositivo de sonido está ocupado - + <b>Retry</b> after closing the other application or reconnecting a sound device <b>Reintente</b> luego de cerrar las otras aplicaciones o reconectar un dispositivo de sonido - - - + + + <b>Reconfigure</b> Mixxx's sound device settings. <b>Reconfigure</b> las opciones del dispositivo de sonido de Mixxx. - - + + Get <b>Help</b> from the Mixxx Wiki. Obtenga <b>ayuda</b> del wiki de Mixxx. - - - + + + <b>Exit</b> Mixxx. <b>Salir</b> de Mixxx. - + Retry Reintentar - + skin apariencia - + Allow Mixxx to hide the menu bar? ¿Permitir a Mixxx ocultar la barra de menú? - + Hide Always show the menu bar? Ocultar - + Always show Mostrar siempre - + The Mixxx menu bar is hidden and can be toggled with a single press of the <b>Alt</b> key.<br><br>Click <b>%1</b> to agree.<br><br>Click <b>%2</b> to disable that, for example if you don't use Mixxx with a keyboard.<br><br>You can change this setting any time in Preferences -> Interface.<br> Keep formatting tags <b> (bold text) and <br> (linebreak). %1 is the placeholder for the 'Always show' button label La barra de menú de Mixxx ha sido ocultada y se puede alternar presionando la tecla <b>Alt</b>. <br><br>Haz clic en <b>%1</b> para aceptar. <br><br>Haz clic en <b>%2</b> para desactivarlo, por ejemplo si usas Mixxx sin un teclado. <br><br>Puedes cambiar este ajuste en cualquier momento en Preferencias -> Interfaz. <br> - + Ask me again Pregúntame de nuevo - - + + Reconfigure Reconfigurar - + Help Ayuda - - + + Exit Salir - - + + Mixxx was unable to open all the configured sound devices. Mixxx no ha podido activar todos los dispositivos de sonido configurados. - + Sound Device Error Error del dispositivo de sonido - + <b>Retry</b> after fixing an issue <b>Reintenta</b> una vez corregido el problema - + No Output Devices No hay dispositivos de salida - + Mixxx was configured without any output sound devices. Audio processing will be disabled without a configured output device. Mixxx fue configurado sin ningún dispositivo de salida de audio. El procesamiento de audio estará desactivado mientras no se configure un dispositivo de audio de salida. - + <b>Continue</b> without any outputs. <b>Continuar</b> sin ninguna salida. - + Continue Continuar - + Load track to Deck %1 Cargar pista al plato %1 - + Deck %1 is currently playing a track. El plato %1 está reproduciendo una pista. - + Are you sure you want to load a new track? ¿Está seguro de cargar una pista nueva? - + There is no input device selected for this vinyl control. Please select an input device in the sound hardware preferences first. No hay ningún dispositivo de entrada seleccionado para el control por vinilo. Por favor, seleccione un dispositivo de entrada en las preferencias de hardware de sonido. - + There is no input device selected for this passthrough control. Please select an input device in the sound hardware preferences first. No hay ningún dispositivo de entrada seleccionado para el control passthrough. Por favor, seleccione un dispositivo de entrada en las preferencias de hardware de sonido. - + There is no input device selected for this microphone. Do you want to select an input device? No se ha seleccionado un dispositivo de Entrada para este micrófono. ¿Deseas escoger uno ahora? - + There is no input device selected for this auxiliary. Do you want to select an input device? No se ha seleccionado un dispositivo de entrada para este Auxiliar. ¿Deseas escoger uno ahora? - + Scan took %1 - + El escaneo tomo %1 - + No changes detected. - + No se han detectado cambios - - + + %1 tracks in total - + %1 pistas en total - + %1 new tracks found - + Encontradas %1 pistas nuevas - + %1 moved tracks detected - + %1 pistas movidas detectadas - + %1 tracks are missing (%2 total) - + %1 pistas perdidas (%2 en total) - + %1 tracks have been rediscovered - + %1 pistas han sido reencontradas - + Library scan finished - + Escaneo de la biblioteca terminado - + Error in skin file Error en el archivo de la apariencia - + The selected skin cannot be loaded. No se ha podido cargar la apariencia seleccionada. - + OpenGL Direct Rendering Renderizado directo de OpenGL - + Direct rendering is not enabled on your machine.<br><br>This means that the waveform displays will be very<br><b>slow and may tax your CPU heavily</b>. Either update your<br>configuration to enable direct rendering, or disable<br>the waveform displays in the Mixxx preferences by selecting<br>"Empty" as the waveform display in the 'Interface' section. - + El renderizado directo no está habilitado en tu máquina.<br><br>Esto significa que la pantalla de la forma de onda será muy <br><b>lenta y puede agobiar a tu CPU fuertemente</b>. Ya sea que actualices tu<br>configuración para habilitar renderizado directo, o deshabilitar<br>las pantallas de forma de onda en las preferencias de Mixxx seleccionando <br>"Vacío" como la pantalla de forma de onda en la sección 'Interface'. - - - + + + Confirm Exit Confirmar salida - + A deck is currently playing. Exit Mixxx? Un plato está reproduciendo. ¿Salir de Mixxx? - + A sampler is currently playing. Exit Mixxx? Un reproductor de muestras está en reproducción. ¿Salir de Mixxx? - + The preferences window is still open. La ventana de preferencias todavía está abierta. - + Discard any changes and exit Mixxx? ¿Descartar cambios y salir de Mixxx? @@ -10161,13 +10212,13 @@ Do you want to select an input device? PlaylistFeature - + Lock Bloquear - - + + Playlists Listas de reproducción @@ -10177,32 +10228,58 @@ Do you want to select an input device? Aleatorizar lista de reproducción - + + Unlock all playlists + + + + + Delete all unlocked playlists + + + + Unlock Desbloquear - + + + Confirm Deletion + + + + + Do you really want to delete all unlocked playlists? + + + + + Deleting %1 unlocked playlists.<br>This operation can not be undone! + + + + Playlists are ordered lists of tracks that allow you to plan your DJ sets. Las listas de reproducción son listar ordenadas de pistas que te permiten planificar tus sesiones de DJ. - + It may be necessary to skip some tracks in your prepared playlist or add some different tracks in order to maintain the energy of your audience. Podría ser necesario saltar algunas pistas en tu lista de reproducción planificada, o añadir algunas pistas diferentes, con el fin de mantener la energía de tu audiencia. - + Some DJs construct playlists before they perform live, but others prefer to build them on-the-fly. Algunos DJ preparan listas de reproducción antes de tocar en vivo, pero otros prefieren hacerlo en el momento. - + When using a playlist during a live DJ set, remember to always pay close attention to how your audience reacts to the music you've chosen to play. Cuando uses una lista de reproducción en una actuación en vivo, recuerda siempre prestar mucha atención a cómo reacciona la audiencia con la música que has elegido reproducir. - + Create New Playlist Crear una nueva lista de reproducción @@ -10212,7 +10289,7 @@ Do you want to select an input device? Mixxx Hotcue Colors - + Colores de hotcues de Mixxx @@ -10220,82 +10297,82 @@ Do you want to select an input device? Serato DJ Track Metadata Hotcue Colors - + Metadatos de colores de hotcues de pistas de Serato DJ Serato DJ Pro Hotcue Colors - + Colores de hotcues de Serato DJ Pro Rekordbox COLD1 Hotcue Colors - + Colores de hotcues de Rekordbox COLD1 Rekordbox COLD2 Hotcue Colors - + Colores de hotcues de Rekordbox COLD2 Rekordbox COLORFUL Hotcue Colors - + Colores de hotcues COLORFUL de Rekordbox Mixxx Track Colors - + Colores de pistas de Mixxx Rekordbox Track Colors - + Colores de pistas de Rekordbox Serato DJ Pro Track Colors - + Colores de pistas de Serato DJ Pro Traktor Pro Track Colors - + Colores de pistas de Traktor Pro VirtualDJ Track Colors - + Colores de pistas de VirtualDJ Mixxx Key Colors - + Colores de notas de Mixxx Traktor Key Colors - + Colores de notas de Traktor Mixed In Key - Key Colors - + Colores de notas de Mixed In Key Protanopia / Protanomaly Key Colors - + Colores de notas de Protanopia/Protanomalía Deuteranopia / Deuteranomaly Key Colors - + Colores de notas de Deuteranopía/Deuteranomalía Tritanopia / Tritanomaly Key Colors - + Colores de notas de Tritanopía/Tritanomalía @@ -10429,7 +10506,7 @@ Do you want to scan your library for cover files now? Switch - + Switch @@ -10514,7 +10591,7 @@ Do you want to scan your library for cover files now? Vinyl Control - + Control de vinilo @@ -10879,7 +10956,7 @@ Si la amplitud es cero, este parámetro permite mover la posición manualmente p The Mixxx Team - + Equipo de Mixxx @@ -10909,12 +10986,12 @@ Si la amplitud es cero, este parámetro permite mover la posición manualmente p Gain - + Ganancia Set the gain of metronome click sound - + Configura la ganancia del sonido del metrónomo @@ -11863,7 +11940,7 @@ Consejo: compensa las voces de "ardillas" o "gruñonas"La cantidad de amplificación aplicada a la señal de audio. A niveles más altos, el audio estará más distorsionado. - + Passthrough Paso @@ -12033,12 +12110,12 @@ pueden introducir un efecto de "bombeo" y/o distorsión. varios - + built-in nativo - + missing no encontrado @@ -12166,54 +12243,54 @@ pueden introducir un efecto de "bombeo" y/o distorsión. RekordboxFeature - - - + + + Rekordbox Rekordbox - + Playlists Listas de reproducción - + Folders Carpetas - + Reads databases exported for Pioneer CDJ / XDJ players using the Rekordbox Export mode.<br/>Rekordbox can only export to USB or SD devices with a FAT or HFS file system.<br/>Mixxx can read a database from any device that contains the database folders (<tt>PIONEER</tt> and <tt>Contents</tt>).<br/>Not supported are Rekordbox databases that have been moved to an external device via<br/><i>Preferences > Advanced > Database management</i>.<br/><br/>The following data is read: - + Hot cues Accesos Directos - + Loops (only the first loop is currently usable in Mixxx) Bucles (solo el primer bucle es utilizable en Mixxx) - + Check for attached Rekordbox USB / SD devices (refresh) Buscar dispositivos de almacenamiento Rekordbox (refrescar) - + Beatgrids Grillas de pulsos - + Memory cues Marcas en Memoria - + (loading) Rekordbox (cargando) Rekordbox @@ -12655,22 +12732,22 @@ pueden introducir un efecto de "bombeo" y/o distorsión. Reading track for fingerprinting failed. - + Ha fallado la lectura de la pista para fingerprinting Identifying track through AcoustID - + Identificando pista mediante AcoustID Could not identify track through AcoustID. - + No se pudo identificar la pista mediante AcoustID. Could not find this track in the MusicBrainz database. - + No se pudo encontrar esta pista en la base de datos de MusicBrainz. @@ -12934,7 +13011,7 @@ pueden introducir un efecto de "bombeo" y/o distorsión. Vinyl Control - + Control de vinilo @@ -13242,7 +13319,7 @@ pueden introducir un efecto de "bombeo" y/o distorsión. Toggle visibility of Rate Control - + Alternar visibilidad del control de velocidad @@ -13392,7 +13469,7 @@ pueden introducir un efecto de "bombeo" y/o distorsión. Left click and hold allows to preview the position where the play head will jump to on release. Dragging can be aborted with right click. - + Mantener el clic izquierdo permite previsualizar la posición donde la cabeza de reproducción saltará al soltarlo. El arrastre puede ser abortado con el clic derecho. @@ -13442,12 +13519,12 @@ pueden introducir un efecto de "bombeo" y/o distorsión. Shows the current volume for the left channel of the main output. - + Muestra el volumen actual para el canal izquierdo en la salida principal. Shows the current volume for the right channel of the main output. - + Muestra el volumen actual para el canal derecho de la salida principal. @@ -13459,27 +13536,27 @@ pueden introducir un efecto de "bombeo" y/o distorsión. Adjusts the main output gain. - + Ajusta el volumen principal Determines the main output by fading between the left and right channels. - + Determina la salida principal desvaneciendo entre los canales izquierdo y derecho. Adjusts the left/right channel balance on the main output. - + Ajusta el balance de los canales izquierdo/derecho en la salida principal. Crossfades the headphone output between the main mix and cueing (PFL or Pre-Fader Listening) signal. - + Desvanecimiento cruzado de la salida de auriculares entre la salida principal y la señal de cueing (PFL o Escucha Pre-Deslizador) If activated, the main mix signal plays in the right channel, while the cueing signal plays in the left channel. - + Si se activa, la señal principal de la mezcla se reproduce en el canal derecho, mientras que la señal de cueing se reproduce en el canal izquierdo. @@ -13494,12 +13571,12 @@ pueden introducir un efecto de "bombeo" y/o distorsión. Show/hide the beatgrid controls section - + Mostrar/ocultar la sección de controles de la cuadrícula de tiempo Show/hide the stem mixing controls section - + Mostrar/ocultar la sección de controles de mezcla de stems @@ -13509,17 +13586,17 @@ pueden introducir un efecto de "bombeo" y/o distorsión. Volume Meters - + Medidores de volumen mix microphone input into the main output. - + mezcla la entrada de micrófono con la salida principal. Auto: Automatically reduce music volume when microphone volume rises above threshold. - + Auto: reduce automáticamente el volumen de la música cuando el volumen del micrófono supera el umbral. @@ -13530,17 +13607,17 @@ pueden introducir un efecto de "bombeo" y/o distorsión. Auto: Sets how much to reduce the music volume when the volume of active microphones rises above threshold. - + Auto: configura cuánto se reduce el volumen de la música cuando el volumen de los micrófonos activos supera el umbral. Manual: Sets how much to reduce the music volume, when talkover is activated regardless of volume of microphone inputs. - + Manual: configura cuánto reducir e If keylock is disabled, pitch is also affected. - + Si el bloqueo tonal se desactiva, la altura también es afectada. @@ -13555,7 +13632,7 @@ pueden introducir un efecto de "bombeo" y/o distorsión. Raises playback speed in small steps. - + Incrementa la velocidad de reproducción en pasos pequeños. @@ -13570,7 +13647,7 @@ pueden introducir un efecto de "bombeo" y/o distorsión. Lowers playback speed in small steps. - + Reduce la velocidad de reproducción en pasos pequeños. @@ -13580,12 +13657,12 @@ pueden introducir un efecto de "bombeo" y/o distorsión. Holds playback speed higher while active (tempo). - + Mantiene la velocidad de reproducción alta cuando se activa (tempo). Holds playback speed higher (small amount) while active. - + Mantiene la velocidad de reproducción alta (pequeña cantidad) cuando se activa. @@ -13595,59 +13672,60 @@ pueden introducir un efecto de "bombeo" y/o distorsión. Holds playback speed lower while active (tempo). - + Mantiene la velocidad de reproducción baja cuando se activa (tempo). Holds playback speed lower (small amount) while active. - + Mantiene la velocidad de reproducción baja (pequeña cantidad) cuando se activa. When tapped repeatedly, adjusts the tempo to match the tapped BPM. - + Cuando se pulsa repetidamente, ajusta el tempo para coincidir con la frecuencia de pulsaciones. Tempo Tap - + Seguidor de Tempo (Tempo Tap) Rate Tap and BPM Tap - + Frecuencia de pulsaciones y de BPM Adjust beatgrid by exactly one half beat. Usable only on tracks with constant tempo. - + Ajusta la cuadrícula de tiempo en exactamente medio beat. Solo se puede usar en +pistas con tempo constante Revert last BPM/Beatgrid Change - + Revierte el último cambio de BPM/cuadrícula de tiempo Revert last BPM/Beatgrid Change of the loaded track. - + Revierte el último cambio de BPM/Cuadrícula de tiempo para la pista cargada. Toggle the BPM/beatgrid lock - + Cambia el bloqueo de BPM/cuadrícula de tiempo Tempo and Rate Tap - + Toques de Tempo y Frecuencia Tempo, Rate Tap and BPM Tap - + Toques de Tempo, Frecuencia y BPM @@ -13663,12 +13741,12 @@ tracks with constant tempo. Left click: shift 10 milliseconds earlier - + Clic izquierdo: adelantar 10 milisegundos Right click: shift 1 millisecond earlier - + Clic derecho: adelantar 1 milisegundo @@ -13678,64 +13756,64 @@ tracks with constant tempo. Left click: shift 10 milliseconds later - + Clic izquierdo: retrasar 10 milisegundos Right click: shift 1 millisecond later - + Clic derecho: retrasar 1 milisegundo Drag a Hotcue button here to continue playing after releasing the Hotcue. - + Arrastra un botón de Hotcue aquí para continuar reproduciendo después de soltar la hotcue. Hint: Change the default cue mode in Preferences -> Decks. - + Sugerencia: cambie el modo por defecto de las cues en Preferencias -> Platos. Mutes the selected channel's audio in the main output. - + Silencia el audio del canal seleccionado en la salida principal. Main mix enable - + Activador de mezcla principal Hold or short click for latching to mix this input into the main output. - + Clic sostenido o corto para enganchar, para mezclar esta entrada con la salida principal. If hotcue is a loop cue, toggles the loop and jumps to if the loop is behind the play position. - + Si la hotcue es una cue de bucle, activa el bucle y salta hacia él si se encuentra detrás de la posición de reproducción. If the play position is inside an active loop, stores the loop as loop cue. - + Si la posición de reproducción se encuentra dentro de un bucle activo, almacena el bucle como una hotcue de bucle. Drag this button onto another Hotcue button to move it there (change its index). If the other hotcue is set, the two are swapped. - + Arrastrar este botón dentro de otro botón de hotcue para moverlo hacia este (cambiando su número). Si la otra hotcue ya se encuentra definida, las dos son intercambiadas. Expand/Collapse Samplers - + Expandir/contraer samplers Toggle expanded samplers view. - + Alternar la vista expandida de los samplers. @@ -13745,12 +13823,12 @@ tracks with constant tempo. Auto DJ is active - + Auto DJ se encuentra activo Red for when needle skip has been detected. - + Rojo cuando se detecta un salto de aguja. @@ -13790,7 +13868,7 @@ tracks with constant tempo. If the track has no beats the unit is seconds. - + Si la pista no tiene pulsaciones, la unidad es segundos. @@ -13830,12 +13908,12 @@ tracks with constant tempo. Beatloop Anchor - + Ancla del bucle de pulsaciones Define whether the loop is created and adjusted from its staring point or ending point. - + Define si el bucle es creado y ajustado desde su punto de inicio o de final. @@ -13930,12 +14008,12 @@ tracks with constant tempo. Hint: Change the time format in Preferences -> Decks. - + Sugerencia: cambie el formato de tiempo en Preferencias -> Platos. Show/hide intro & outro markers and associated buttons. - + Mostrar/ocultar marcadores de intro y outro, y sus botones asociados. @@ -13948,7 +14026,7 @@ tracks with constant tempo. If marker is set, jumps to the marker. - + Si el marcador se encuentra definido, salta al marcador. @@ -13956,7 +14034,7 @@ tracks with constant tempo. If marker is not set, sets the marker to the current play position. - + Si el marcador no se encuentra definido, lo configura a la posición de reproducción actual. @@ -13964,7 +14042,7 @@ tracks with constant tempo. If marker is set, clears the marker. - + Si el marcador se encuentra definido, lo elimina. @@ -13989,7 +14067,7 @@ tracks with constant tempo. Adjust the mixing of the dry (input) signal with the wet (output) signal of the effect unit - + Ajuste la mezcla de la señal seca (entrada) con la señal húmeda (salida) de la unidad de efectos @@ -13999,7 +14077,7 @@ tracks with constant tempo. D+W mode: Add wet to dry - + Modo D+W: agregue húmedo a seco @@ -14009,7 +14087,7 @@ tracks with constant tempo. Adjust how the dry (input) signal is mixed with the wet (output) signal of the effect unit - + Ajuste cómo se mezcla la señal seca (entrada) con la señal húmeda (salida) de la unidad de efectos @@ -14028,7 +14106,7 @@ Utiliza esto para cambiar únicamente la señal afectada (mojada) con EQ y efect Route the main mix through this effect unit. - + Enruta la mezcla principal a través de esta unidad de efectos. @@ -14048,42 +14126,42 @@ Utiliza esto para cambiar únicamente la señal afectada (mojada) con EQ y efect Stem Label - + Etiqueta de stem Name of the stem stored in the stem file - + Nombre del stem almacenado en el archivo de stem Text is displayed in the stem color stored in the stem file - + El texto es presentado con el color del stem almacenado en el archivo de stem this stem color is also used for the waveform of this stem - + este color de stem también es usado en la forma de onda de este stem Stem Mute - + Silenciar stem Toggle the stem mute/unmuted - + Alterna el silencio del stem Stem Volume Knob - + Perilla de volumen del stem Adjusts the volume of the stem - + Ajusta el volumen del stem @@ -14351,7 +14429,7 @@ Utiliza esto para cambiar únicamente la señal afectada (mojada) con EQ y efect Inactive: parameter not linked - + Inactivo: parámetro no enlazado @@ -14567,7 +14645,7 @@ Utiliza esto para cambiar únicamente la señal afectada (mojada) con EQ y efect Left click to jump around in the track. - + Clic izquierdo para saltar a lo largo de la pista. @@ -14577,7 +14655,7 @@ Utiliza esto para cambiar únicamente la señal afectada (mojada) con EQ y efect Right click anywhere else to show the time at that point. - + Clic derecho en cualquier otra parte para mostrar el tiempo en ese punto. @@ -14672,7 +14750,7 @@ Utiliza esto para cambiar únicamente la señal afectada (mojada) con EQ y efect Maximize Library - + Maximizar Biblioteca @@ -14687,7 +14765,7 @@ Utiliza esto para cambiar únicamente la señal afectada (mojada) con EQ y efect Changes the number of hotcue buttons displayed in the deck - + Cambia el número de botones de acceso directo mostrados en el deck @@ -14713,12 +14791,12 @@ Utiliza esto para cambiar únicamente la señal afectada (mojada) con EQ y efect Opens the track properties editor - + Abre el editor de propiedades de pista Opens the track context menu. - + Abre el menú contextual de la pista @@ -14820,12 +14898,12 @@ Utiliza esto para cambiar únicamente la señal afectada (mojada) con EQ y efect Drag this button onto a Play button while previewing to continue playback after release. - + Arrastre este botón a un boton de Play durante la preescucha para continuar la reproducción tras soltarlo. Dragging with Shift key pressed will not start previewing the hotcue. - + Arrastrar mientras presiona la tecla Shift no iniciará la preescucha de la hotcue. @@ -15259,22 +15337,22 @@ Utiliza esto para cambiar únicamente la señal afectada (mojada) con EQ y efect Replace Existing File? - + ¿Reemplazar el archivo existente? "%1" already exists, replace? - + "%1% ya existe, ¿reemplazar? &Replace - + &Reemplazar Apply to all files - + Aplicar a todos los archivos @@ -15373,7 +15451,7 @@ Utiliza esto para cambiar únicamente la señal afectada (mojada) con EQ y efect frameSwapped-signal driven phase locked loop - + Bucle con bloqueo de fase manejado por señal con marco cambiado @@ -15399,12 +15477,12 @@ Utiliza esto para cambiar únicamente la señal afectada (mojada) con EQ y efect No color - + Sin color Custom color - + Color personalizado @@ -15457,47 +15535,47 @@ Carpeta: %2 WCueMenuPopup - + Cue number Número de Marca - + Cue position Posición Marca - + Edit cue label Editar etiqueta de marca - + Label... - + Etiqueta... - + Delete this cue Borrar esta marca - + Toggle this cue type between normal cue and saved loop - + Alterna el tipo de esta cue entre cue normal y bucle guardado - + Left-click: Use the old size or the current beatloop size as the loop size - + Clic izquierdo: usar el tamaño anterior o el del bucle actual como el tamaño de bucle - + Right-click: Use the current play position as loop end if it is after the cue - + Clic derecho: usar la posición de reproducción actual como final del bucle si se encuentra después de la cue - + Hotcue #%1 Acceso DIrecto #%1 @@ -15512,7 +15590,7 @@ Carpeta: %2 Rename Preset - + Renombrar preajuste @@ -15622,407 +15700,437 @@ Carpeta: %2 - Create &New Playlist + Search in Current View... + Search for tracks in the current library view + + + + + Ctrl+f + + + + + Search in Tracks Library... + + + + + Search in the internal track collection under "Tracks" in the library + + + + + Ctrl+Shift+F + + + + + Create &New Playlist + Crear &nueva Playlist + + + Create a new playlist Crear una nueva lista de reproducción - + Ctrl+n Ctrl+N - + Create New &Crate Crear un nuevo&cajón - + Create a new crate Crear un nuevo cajón - + Ctrl+Shift+N Ctrl+Mayús+N - - + + &View &Vista - + Auto-hide menu bar - + Auto-ocultar barra de menú - + Auto-hide the main menu bar when it's not used. - + Auto-ocultar la barra de menú principal cuando no es utilizada. - + May not be supported on all skins. Puede no estar disponible para todas las apariencias. - + Show Skin Settings Menu Mostrar menú de ajustes de aspecto - + Show the Skin Settings Menu of the currently selected Skin Mostrar la configuración actual del menu de tema - + Ctrl+1 Menubar|View|Show Skin Settings Ctrl+1 - + Show Microphone Section Mostrar seccion del microfono - + Show the microphone section of the Mixxx interface. Muestra la sección de control de micrófono de la interfaz de Mixxx. - + Ctrl+2 Menubar|View|Show Microphone Section Ctrl+2 - + Show Vinyl Control Section Mostrar la Sección de Control de Vinilo - + Show the vinyl control section of the Mixxx interface. Muestra la sección de control de vinilo de la interfaz de Mixxx. - + Ctrl+3 Menubar|View|Show Vinyl Control Section Ctrl+3 - + Show Preview Deck Mostrar el reproductor de preescucha - + Show the preview deck in the Mixxx interface. Muestra el reproductor de preescucha en la interfaz de Mixxx. - + Ctrl+4 Menubar|View|Show Preview Deck Ctrl+4 - + Show Cover Art Muestra carátulas - + Show cover art in the Mixxx interface. Muestra las carátulas en la interfaz de Mixxx. - + Ctrl+6 Menubar|View|Show Cover Art Ctrl+6 - + Maximize Library Maximizar Biblioteca - + Maximize the track library to take up all the available screen space. Maximizar la biblioteca para tomar todo el espacio disponible en pantalla. - + Space Menubar|View|Maximize Library - + Espacio - + &Full Screen &Pantalla completa - + Display Mixxx using the full screen Mostrar Mixxx a pantalla completa - + &Options &Opciones - + &Vinyl Control Control de &vinilo - + Use timecoded vinyls on external turntables to control Mixxx Usar vinilos con codigo de tiempo en bandejas externas para controlar Mixxx - + Enable Vinyl Control &%1 Habilita el Control por Vinilo &%1 - + &Record Mix &Grabar Mezcla - + Record your mix to a file Grava a súa mestura a un ficheiro - + Ctrl+R Ctrl+R - + Enable Live &Broadcasting Activar transmisión en &vivo - + Stream your mixes to a shoutcast or icecast server Transmite tus mezclas a un servidor shoutcast o icecast - + Ctrl+L Ctrl+L - + Enable &Keyboard Shortcuts Activar Atajos de &Teclado - + Toggles keyboard shortcuts on or off Activa o desactiva los atajos de teclado - + Ctrl+` Ctrl+` - + &Preferences &Preferencias - + Change Mixxx settings (e.g. playback, MIDI, controls) Cambiar la configuración de Mixxx (p.ej.: reproducción, MIDI, controles) - + &Developer &Desarrollador - + &Reload Skin &Recargar apariencia - + Reload the skin Recargar la apariencia - + Ctrl+Shift+R Ctrl+Mayús+R - + Developer &Tools U&tilidades de desarrollador - + Opens the developer tools dialog Abre el cuadro de diálogo de herramientas de desarrollo - + Ctrl+Shift+T Ctrl+Mayús+T - + Stats: &Experiment Bucket Estadísticas: Contadores &Experiment - + Enables experiment mode. Collects stats in the EXPERIMENT tracking bucket. Activa el modo experimental. Recoje estadísticas en los contadores EXPERIMENT. - + Ctrl+Shift+E Ctrl+Mayús+E - + Stats: &Base Bucket Estadísticas: contadores &Base - + Enables base mode. Collects stats in the BASE tracking bucket. Activa el modo base. Recoje estadísticas en los contadores BASE. - + Ctrl+Shift+B Ctrl+Mayús+B - + Deb&ugger Enabled Dep&uración activada - + Enables the debugger during skin parsing Activa el depurador durante el análisis de la máscara - + Ctrl+Shift+D Ctrl+Mayús+D - + &Help Ay&uda - + Show Keywheel menu title - + Mostrar rueda de notas E&xport Library to Engine DJ "Engine DJ" must not be translated - + Exportar biblioteca a Engine DJ Export the library to the Engine DJ format - + Exportar biblioteca al formato Engine DJ - + Show keywheel tooltip text - + Mostrar rueda de notas - + F12 Menubar|View|Show Keywheel - + F12 - + &Community Support Soporte &comunitario - + Get help with Mixxx Obtener ayuda con Mixxx - + &User Manual Manual de &usuario - + Read the Mixxx user manual. Lea el manual de usuario de Mixxx. - + &Keyboard Shortcuts Atajos de &Teclado - + Speed up your workflow with keyboard shortcuts. Trabaja más rápidamente usando los atajos de teclado. - + &Settings directory &Directorio de configuración - + Open the Mixxx user settings directory. Abre el directorio de configuración de usuario de Mixxx. - + &Translate This Application &Traducir esta aplicación - + Help translate this application into your language. Ayude a traducir esta aplicación a su idioma. - + &About &Acerca de - + About the application Acerca de la aplicación @@ -16038,7 +16146,7 @@ Carpeta: %2 Ready to play, analyzing... Text on waveform overview when file is playable but no waveform is visible - + Listo para reproducir, analizando... @@ -16051,31 +16159,19 @@ Carpeta: %2 Finalizing... Text on waveform overview during finalizing of waveform analysis - + Finalizando... WSearchLineEdit - - Clear input - Clear the search bar input field - Borrar el texto - - - - Ctrl+F - Search|Focus - Ctrl+F - - - + Search noun Buscar - + Clear input Borrar el texto @@ -16086,93 +16182,87 @@ Carpeta: %2 Buscar... - + Clear the search bar input field - + Limpia el campo de entrada de la barra de búsqueda - - Enter a string to search for - Introducir el texto a buscar + + Return + Volver - - Use operators like bpm:115-128, artist:BooFar, -year:1990 + + Enter a string to search for. - - For more information see User Manual > Mixxx Library - Para más información vea el Manual de Usuario> Biblioteca Mixxx + + Use operators like bpm:115-128, artist:BooFar, -year:1990. + - Shortcut - Atajo + See User Manual > Mixxx Library for more information. + - - Ctrl+F - Ctrl+F + + Focus/Select All (Search in current view) + Give search bar input focus + - - Focus - Give search bar input focus - Poner el cursor aquí + + Focus/Select All (Search in 'Tracks' library view) + - - - Ctrl+Backspace - Ctrl+Tecla de retroceso + + Additional Shortcuts When Focused: + - Shortcuts - Atajos + Trigger search before search-as-you-type timeout or focus tracks view afterwards + - Return + Esc or Ctrl+Return - Trigger search before search-as-you-type timeout orjump to tracks view afterwards - Activa la búsqueda antes del tiempo de espera de "búsqueda mientras escribe" o salte a la vista de pistas después + Immediately trigger search and focus tracks view + Exit search bar and leave focus + - + Ctrl+Space - + Ctrl+Espacio - + Toggle search history Shows/hides the search history entries - + Alternar historial de búsqueda - + Delete or Backspace Borrar o Retorno - - Delete query from history - Borrar Consulta del Historial - - - - Esc - Esc + + in search history + - - Exit search - Exit search bar and leave focus - Salir de la busqueda + + Delete query from history + Borrar Consulta del Historial @@ -16180,7 +16270,7 @@ Carpeta: %2 Search related Tracks - + Buscar pistas relacionadas @@ -16190,7 +16280,7 @@ Carpeta: %2 harmonic with %1 - + armónico con %1 @@ -16200,7 +16290,7 @@ Carpeta: %2 between %1 and %2 - + entre %1 y %2 @@ -16250,7 +16340,7 @@ Carpeta: %2 &Search selected - + &Búsqueda seleccionada @@ -16288,7 +16378,7 @@ Carpeta: %2 Update external collections - + Actualizar colecciones externas @@ -16303,7 +16393,7 @@ Carpeta: %2 Select Color - + Seleccionar color @@ -16471,12 +16561,12 @@ Carpeta: %2 Sort hotcues by position (remove offsets) - + Ordenar hotcues por posición (removiendo desfases) Sort hotcues by position - + Ordenar hotcues por posición @@ -16521,7 +16611,7 @@ Carpeta: %2 Shift Beatgrid Half Beat - + Desplazar la cuadrícula de tiempo medio beat @@ -16609,7 +16699,7 @@ Carpeta: %2 Undo BPM/beats change of %n track(s) - + Deshacer cambios de BPM/pulsaciones de %n pista(s)Deshacer cambios de BPM/pulsaciones de %n pista(s)Deshacer cambios de BPM/pulsaciones de %n pista(s) @@ -16624,7 +16714,7 @@ Carpeta: %2 Setting rating of %n track(s) - + Definiendo evaluación de %n pistaDefiniendo evaluación de %n pistasDefiniendo evaluación de %n pista(s) @@ -16679,12 +16769,12 @@ Carpeta: %2 Sorting hotcues of %n track(s) by position (remove offsets) - + Ordenando hotcues de %n pista por posición (removiendo desfases)Ordenando hotcues de %n pistas por posición (removiendo desfases)Ordenando hotcues de %n pistas(s) por posición (removiendo desfases) Sorting hotcues of %n track(s) by position - + Ordenando hotcues de %n pista por posiciónOrdenando hotcues de %n pistas por posiciónOrdenando hotcues de %n pista(s) por posición @@ -16709,7 +16799,7 @@ Carpeta: %2 Move these files to the trash bin? - + ¿Mover estos archivos a la papelera? @@ -16735,7 +16825,7 @@ Carpeta: %2 Okay - + Okey @@ -16785,7 +16875,7 @@ Carpeta: %2 Remaining Track File(s) - + Renombrando archivo(s) de pista @@ -16796,7 +16886,7 @@ Carpeta: %2 Clear Reset metadata in right click track context menu in library - + Climpiar @@ -16806,37 +16896,37 @@ Carpeta: %2 Clear BPM and Beatgrid - + Limpia las BPM y la cuadrícula de tiempo Undo last BPM/beats change - + Revertir el último cambio de BPM/pulsaciones Move this track file to the trash bin? - + ¿Mover este archivo de pista a la papelera? Permanently delete this track file from disk? - + ¿Eliminar permanentemente este archivo de pista del disco? All decks where these tracks are loaded will be stopped and the tracks will be ejected. - + Todos los platos donde estas pistas hayan sido cargadas se detendrán, y las pistas serán expulsadas. All decks where this track is loaded will be stopped and the track will be ejected. - + Todos los platos donde esta pista haya sido cargada se detendrán, y la pista será expulsada. Removing %n track file(s) from disk... - + Removiendo %n archivo(s) de pista del disco... @@ -16856,12 +16946,12 @@ Carpeta: %2 Don't show again during this session - + No mostrar nuevamente durante esta sesión The following %1 file(s) could not be moved to trash - + El/los siguiente(s) %1 archivo(s) no pudieron ser movidos a la papelera @@ -16884,7 +16974,7 @@ Carpeta: %2 title - + título @@ -16892,73 +16982,73 @@ Carpeta: %2 Load for stem mixing - + Cargar para mezcla de stems Load pre-mixed stereo track - + Cargar pista estéreo premezclada Load the "%1" stem - + Cargar el stem "%1" Load multiple stem into a stereo deck - + Cargar múltiples stems en un plato estéreo Select stems to load - + Seleccionar stems a cargar Release "CTRL" to load the current selection - + Soltar "Ctrl" para cargar la selección actual Use "CTRL" to select multiple stems - + Use "Ctrl" para seleccionar múltiples stems WTrackTableView - + Confirm track hide Confirmar ocultar pista - + Are you sure you want to hide the selected tracks? ¿Estas seguro de que quieres ocultar las pistas seleccionadas? - + Are you sure you want to remove the selected tracks from AutoDJ queue? ¿Esta seguro de que quiere eliminar las pistas seleccionadas de la cola del AutoDJ? - + Are you sure you want to remove the selected tracks from this crate? Estás seguro que quieres eliminar las pistas seleccionada de este cajón? - + Are you sure you want to remove the selected tracks from this playlist? ¿Esta seguro de que desea eliminar las pistas seleccionadas de la lista de reproducción? - + Don't ask again during this session No volver a preguntar durante esta sesión - + Confirm track removal Confirmar eliminación del track @@ -16973,58 +17063,58 @@ Carpeta: %2 Shuffle Tracks - + Mezclar pistas mixxx::CoreServices - + fonts tipos de letra - + database base de datos - + effects efectos - + audio interface interface de sonido - + decks - + decks - + library Biblioteca - + Choose music library directory Elija el directorio de la biblioteca de la música - + controllers Controladores - + Cannot open database No se puede abrir la base de datos - + Unable to establish a database connection. Mixxx requires QT with SQLite support. Please read the Qt SQL driver documentation for information on how to build it. @@ -17038,70 +17128,80 @@ Pulse Aceptar para salir. mixxx::DlgLibraryExport - + Entire music library + Biblioteca de música completa + + + + Crates - - Selected crates - Cajas seleccionadas + + Playlists + - + + Selected crates/playlists + + + + Browse Ver - + Export directory - + Exportar directorio - + Database version - + Versión de base de datos - + Export Exportar - + Cancel Cancelar - + Export Library to Engine DJ "Engine DJ" must not be translated - + Exportar biblioteca a Engine DJ - + Export Library To - + Exportar biblioteca a - + No Export Directory Chosen - + No se seleccionó un directorio de exportación - + No export directory was chosen. Please choose a directory in order to export the music library. - + No se escogió un directorio de exportación. Por favor escoja un directorio para poder exportar la biblioteca de música. - + A database already exists in the chosen directory. Exported tracks will be added into this database. - + Una base de datos ya existe en el directorio seleccionado. Las pistas exportadas serán añadidas a esta base de datos. - + A database already exists in the chosen directory, but there was a problem loading it. Export is not guaranteed to succeed in this situation. - + Una base de datos ya existe en el directorio seleccionado, pero ocurrió un problema al cargarla. No se garantiza una exportación exitosa en esta situación. @@ -17120,34 +17220,35 @@ Pulse Aceptar para salir. mixxx::EnginePrimeExportJob - + Failed to export track %1 - %2: %3 %1 is the artist %2 is the title and %3 is the original error message - + Fallo al exportar %1 - %2: +%3 mixxx::LibraryExporter - + Export Completed - + Exportación completada - - Exported %1 track(s) and %2 crate(s). - Exportados %1 pista(s) y %2 caja(s). + + Exported %1 track(s), %2 crate(s), and %3 playlist(s). + - + Export Failed - + Exportación fallida - + Exporting to Engine DJ... - + Exportando a Engine DJ... @@ -17155,7 +17256,7 @@ Pulse Aceptar para salir. Abort - + Abortar diff --git a/res/translations/mixxx_et.qm b/res/translations/mixxx_et.qm index 656f2f55076e6e22bfd46c3cae9381f9f4da3970..99f097fc329a67e82418526d82086732d0592928 100644 GIT binary patch delta 496 zcmXBQOK1~u7zFU||FK<@?QWAMf>qN)LdnG?Rj~0Ovqx~K6t|(h&JnZ_y*#r!Ep{DKV7hD*G?lL*^2^Ck^ zXTOl1j@5}uo6^E;r(d$ra)mjUhU(sj5%*~kz;pK`FUQe#hdJBAPUVE~!BE0nJch?g zgp1eF=%m6t+RAxeoIt$$Y_Ly`U7R8ET8@1`9Fx}^t#fF0o1xNv`IXT_bl;TMHIwK- zQhs+iLZqkU4ZdFd-s zo=ajEetU*_C5eOHNGKmu-i+QL5_67H+c9W6E+vrirbR#0-c`xuA&w{}gWfhdkvop6x_u-u&weMCG@&HNQ85tJTA`pVgb%f6A<=pa1{> delta 608 zcma)1Ur3X26urOe{_mUL+U%vqps*24e2LbJS~&JqG7L#H#IW4724lu%Z)Pu}H3%w> zQIh-TJ~#hm${wN^y;xBYJq?10o~ox_g0R9NeKqK*hb~;sy_b8>Irnp&Kke|Xy&}Ki zN{M|xh>oj7!J!78*&;g8Ms)OD1B+=q6Z;K85M`41DB3OgW}?1VL}djoPKoV`$}z$D z>uAySa&{D9-J3mG5A__rPm~7r`0fz-e>PBkiJ;!cxipgc51dyJHq073hl?6{ccpG{ z3obXqWt!&fBg~mR4i&n4C#yuuk9D&#jc54^Y9NTqw39aT4v5lm;my3r` zGkZ9{iMn}Ed_}*-!%MB0vb6KkAXc@mdndWKEZK6dU;Q6PB$`fJ>@8vFDJO!7% zol71B?QWh|5Vfa79pCJ0yl@ceu4}wdM4Q9Mh35!626!otszdW#f#mEnMjrNS4}HO~ z(dey4vj9`!0lt&|5(kDZT)E(Rm9u|PO7 zDVnsQM1Gp2I7P`zf3Bp)(v&h0x}5kQ1_K2sL7~5jO@YMj(7*Jsx_%7)8wV E0i9sNF#rGn diff --git a/res/translations/mixxx_et.ts b/res/translations/mixxx_et.ts index 60170e09d075..97608bbe9fe6 100644 --- a/res/translations/mixxx_et.ts +++ b/res/translations/mixxx_et.ts @@ -39,32 +39,32 @@ - + Remove Crate as Track Source - + Auto DJ Automaatne DJ - + Confirmation Clear - + Do you really want to remove all tracks from the Auto DJ queue? - + This can not be undone. - + Add Crate as Track Source @@ -147,28 +147,28 @@ BasePlaylistFeature - + New Playlist Uus esitusnimekiri - + Add to Auto DJ Queue (bottom) Lisa auto-DJ järjekorda (alla) - + Create New Playlist Loo uus esitusloend - + Add to Auto DJ Queue (top) Lisa auto-DJ järjekorda (üles) - + Remove Eemalda @@ -178,12 +178,12 @@ Nimeta ümber - + Lock Lukus - + Duplicate duplikaat @@ -204,24 +204,24 @@ Analüüsi terve esitusloend - + Enter new name for playlist: Sisesta uus nimi esitusloendile: - + Duplicate Playlist - - + + Enter name for new playlist: Sisesta uue esitusloendi nimi: - + Export Playlist Ekspordi esitusloend @@ -231,70 +231,77 @@ - + + + Export to Engine DJ + "Engine DJ" is a product name and must not be translated. + + + + Rename Playlist Muuda esitusloendi nime - - + + Renaming Playlist Failed Esitusloendi ümbernimetamine nurjus - - - + + + A playlist by that name already exists. Selle nimega esitusloend juba eksisteerib. - - - + + + A playlist cannot have a blank name. Esitusloend ei saa olla nimeta. - + _copy //: Appendix to default name when duplicating a playlist _kopeeri - - - - - - + + + + + + Playlist Creation Failed Esitusloendi loomine nurjus - - + + An unknown error occurred while creating playlist: Teadmatu viga tekkis esitusloendi tegemisel: - + Confirm Deletion - + Do you really want to delete playlist <b>%1</b>? - + M3U Playlist (*.m3u) M3U Esitusloend (*.m3u) - + M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Text CSV (*.csv);;Readable Text (*.txt) M3U Esitusloend (*.m3u);;M3U8 Esitusloend (*.m3u8);;PLSEsitusloend (*.pls);;Tekst CSV (*.csv);;Loetav tekst (*.txt) @@ -302,12 +309,12 @@ BaseSqlTableModel - + # Nr - + Timestamp Ajatempel @@ -315,7 +322,7 @@ BaseTrackPlayerImpl - + Couldn't load track. Ei suuda lugu laadida. @@ -323,137 +330,142 @@ BaseTrackTableModel - + Album Album - + Album Artist Albumi esitaja - + Artist Esitaja - + Bitrate Bitikiirus - + BPM Lööki minutis - + Channels Kanalid - + Color - + Comment Märkus - + Composer Helilooja - + Cover Art Katte kunst - + Date Added Lisamise kuupäev - + Last Played - + Duration Kestus - + Type Tüüp - + Genre Žanr - + Grouping Rühmitamine - + Key Helistik - + Location Asukoht - + + Overview + + + + Preview Eelvaade - + Rating Hinnang - + ReplayGain - + Samplerate - + Played Mängitud - + Title Pealkiri - + Track # Lugu nr - + Year Aasta - + Fetching image ... Tooltip text on the cover art column shown when the cover is read from disk @@ -541,67 +553,77 @@ BrowseFeature - + Add to Quick Links Lisa otselinkidesse - + Remove from Quick Links Eemalda otselinkidest - + Add to Library Lisa kogumikku - + Refresh directory tree - + Quick Links Kiirlingid - - + + Devices Seadmed - + Removable Devices Eemaldatavad seadmed - - + + Computer Arvuti - + Music Directory Added Muusikakataloog edukalt lisatud - + You added one or more music directories. The tracks in these directories won't be available until you rescan your library. Would you like to rescan now? - + Scan Skänni - + "Computer" lets you navigate, view, and load tracks from folders on your hard disk and external devices. + + + It shows the data from the file tags, not track data from your Mixxx library like other track views. + + + + + If you load a track file from here, it will be added to your library. + + BrowseTableModel @@ -747,87 +769,87 @@ CmdlineArgs - + Mixxx is an open source DJ software. For more information, see: - + Starts Mixxx in full-screen mode - + Use a custom locale for loading translations. (e.g 'fr') - + Top-level directory where Mixxx should look for its resource files such as MIDI mappings, overriding the default installation location. - + Path the debug statistics time line is written to - + Causes Mixxx to display/log all of the controller data it receives and script functions it loads - + The controller mapping will issue more aggressive warnings and errors when detecting misuse of controller APIs. New Controller Mappings should be developed with this option enabled! - + Enables developer-mode. Includes extra log info, stats on performance, and a Developer tools menu. - + Top-level directory where Mixxx should look for settings. Default is: - + Starts Auto DJ when Mixxx is launched. - + Rescans the library when Mixxx is launched. - + Use legacy vu meter - + Use legacy spinny - + Loads experimental QML GUI instead of legacy QWidget skin - + Enables safe-mode. Disables OpenGL waveforms, and spinning vinyl widgets. Try this option if Mixxx is crashing on startup. - + [auto|always|never] Use colors on the console output. - + Sets the verbosity of command line logging. critical - Critical/Fatal only warning - Above + Warnings @@ -837,27 +859,32 @@ trace - Above + Profiling messages - + Sets the the logging level at which the log buffer is flushed to mixxx.log. <level> is one of the values defined at --log-level above. - + Sets the maximum file size of the mixxx.log file in bytes. Use -1 for unlimited. The default is 100 MB as 1e5 or 100000000. - + Breaks (SIGINT) Mixxx, if a DEBUG_ASSERT evaluates to false. Under a debugger you can continue afterwards. - + + Overrides the default application GUI style. Possible values: %1 + + + + Load the specified music file(s) at start-up. Each file you specify will be loaded into the next virtual deck. - + Preview rendered controller screens in the Setting windows. @@ -1039,13 +1066,13 @@ trace - Above + Profiling messages - + Set to full volume Sea volüüm maksimumile - + Set to zero volume Sea volüüm nulli @@ -1070,13 +1097,13 @@ trace - Above + Profiling messages - + Headphone listen button Kõrvaklappidega kuulamise nupp - + Mute button Vaigistusnupp @@ -1087,25 +1114,25 @@ trace - Above + Profiling messages - + Mix orientation (e.g. left, right, center) - + Set mix orientation to left - + Set mix orientation to center - + Set mix orientation to right @@ -1146,22 +1173,22 @@ trace - Above + Profiling messages - + Toggle quantize mode - + One-time beat sync (tempo only) - + One-time beat sync (phase only) - + Toggle keylock mode @@ -1171,193 +1198,193 @@ trace - Above + Profiling messages Ekvalaiserid - + Vinyl Control - + Toggle vinyl-control cueing mode (OFF/ONE/HOT) - + Toggle vinyl-control mode (ABS/REL/CONST) - + Pass through external audio into the internal mixer - + Cues - + Cue button - + Set cue point - + Go to cue point - + Go to cue point and play - + Go to cue point and stop - + Preview from cue point - + Cue button (CDJ mode) - + Stutter cue - + Hotcues - + Set, preview from or jump to hotcue %1 - + Clear hotcue %1 - + Set hotcue %1 - + Jump to hotcue %1 - + Jump to hotcue %1 and stop - + Jump to hotcue %1 and play - + Preview from hotcue %1 - - + + Hotcue %1 - + Looping - + Loop In button - + Loop Out button - + Loop Exit button - + 1/2 1/2 - + 1 1 - + 2 2 - + 4 4 - + 8 8 - + 16 16 - + 32 32 - + 64 64 - + Move loop forward by %1 beats - + Move loop backward by %1 beats - + Create %1-beat loop - + Create temporary %1-beat loop roll @@ -1473,20 +1500,20 @@ trace - Above + Profiling messages - - + + Volume Fader - + Full Volume Täisvolüüm - + Zero Volume Nullvolüüm @@ -1502,7 +1529,7 @@ trace - Above + Profiling messages - + Mute Vaigista @@ -1513,7 +1540,7 @@ trace - Above + Profiling messages - + Headphone Listen @@ -1534,25 +1561,25 @@ trace - Above + Profiling messages - + Orientation - + Orient Left - + Orient Center - + Orient Right @@ -1622,82 +1649,82 @@ trace - Above + Profiling messages - + Adjust Beatgrid - + Align beatgrid to current position - + Adjust Beatgrid - Match Alignment - + Adjust beatgrid to match another playing deck. - + Quantize Mode - + Sync - + Beat Sync One-Shot - + Sync Tempo One-Shot - + Sync Phase One-Shot - + Pitch control (does not affect tempo), center is original pitch - + Pitch Adjust - + Adjust pitch from speed slider pitch - + Match musical key - + Match Key - + Reset Key - + Resets key to original @@ -1738,451 +1765,451 @@ trace - Above + Profiling messages - + Toggle Vinyl Control - + Toggle Vinyl Control (ON/OFF) - + Vinyl Control Mode - + Vinyl Control Cueing Mode - + Vinyl Control Passthrough - + Vinyl Control Next Deck - + Single deck mode - Switch vinyl control to next deck - + Cue - + Set Cue - + Go-To Cue - + Go-To Cue And Play - + Go-To Cue And Stop - + Preview Cue - + Cue (CDJ Mode) - + Stutter Cue - + Go to cue point and play after release - + Clear Hotcue %1 - + Set Hotcue %1 - + Jump To Hotcue %1 - + Jump To Hotcue %1 And Stop - + Jump To Hotcue %1 And Play - + Preview Hotcue %1 - + Loop In - + Loop Out - + Loop Exit - + Reloop/Exit Loop - + Loop Halve - + Loop Double - + 1/32 1/32 - + 1/16 1/16 - + 1/8 1/8 - + 1/4 1/4 - + Move Loop +%1 Beats - + Move Loop -%1 Beats - + Loop %1 Beats - + Loop Roll %1 Beats - + Add to Auto DJ Queue (bottom) Lisa auto-DJ järjekorda (alla) - + Append the selected track to the Auto DJ Queue - + Add to Auto DJ Queue (top) Lisa auto-DJ järjekorda (üles) - + Prepend selected track to the Auto DJ Queue - + Load Track - + Load selected track - + Load selected track and play - - + + Record Mix - + Toggle mix recording - + Effects Efektid - + Quick Effects - + Deck %1 Quick Effect Super Knob - + Quick Effect Super Knob (control linked effect parameters) - - + + Quick Effect - + Clear Unit - + Clear effect unit - + Toggle Unit - + Dry/Wet - + Adjust the balance between the original (dry) and processed (wet) signal. - + Super Knob - + Next Chain - + Assign - + Clear - + Clear the current effect - + Toggle Lülita - + Toggle the current effect Lülita praegust efekti - + Next Järgmine - + Switch to next effect - + Previous Eelmine - + Switch to the previous effect - + Next or Previous - + Switch to either next or previous effect - - + + Parameter Value - - + + Microphone Ducking Strength - + Microphone Ducking Mode - + Gain Tugevus - + Gain knob Helitugevuse nupp - + Shuffle the content of the Auto DJ queue - + Skip the next track in the Auto DJ queue - + Auto DJ Toggle Auto DJ lüliti - + Toggle Auto DJ On/Off - + Show/hide the microphone & auxiliary section - + 4 Effect Units Show/Hide - + Switches between showing 2 and 4 effect units - + Mixer Show/Hide - + Show or hide the mixer. - + Cover Art Show/Hide (Library) - + Show/hide cover art in the library - + Library Maximize/Restore - + Maximize the track library to take up all the available screen space. - + Effect Rack Show/Hide - + Show/hide the effect rack - + Waveform Zoom Out @@ -2197,102 +2224,102 @@ trace - Above + Profiling messages Kõrvaklappide tundlikkus - + Tap to sync tempo (and phase with quantize enabled), hold to enable permanent sync - + One-time beat sync tempo (and phase with quantize enabled) - + Playback Speed - + Playback speed control (Vinyl "Pitch" slider) - + Pitch (Musical key) - + Increase Speed - + Adjust speed faster (coarse) - + Increase Speed (Fine) - + Adjust speed faster (fine) - + Decrease Speed - + Adjust speed slower (coarse) - + Adjust speed slower (fine) - + Temporarily Increase Speed - + Temporarily increase speed (coarse) - + Temporarily Increase Speed (Fine) - + Temporarily increase speed (fine) - + Temporarily Decrease Speed - + Temporarily decrease speed (coarse) - + Temporarily Decrease Speed (Fine) - + Temporarily decrease speed (fine) @@ -2444,1041 +2471,1063 @@ trace - Above + Profiling messages - - + + Move Beatgrid Half a Beat + + + + + Adjust the beatgrid by exactly one half beat. Usable only for tracks with constant tempo. + + + + + Toggle the BPM/beatgrid lock - + Revert last BPM/Beatgrid Change - + Revert last BPM/Beatgrid Change of the loaded track. - + Sync / Sync Lock - + Internal Sync Leader - + Toggle Internal Sync Leader - - + + Internal Leader BPM - + Internal Leader BPM +1 - + Increase internal Leader BPM by 1 - + Internal Leader BPM -1 - + Decrease internal Leader BPM by 1 - + Internal Leader BPM +0.1 - + Increase internal Leader BPM by 0.1 - + Internal Leader BPM -0.1 - + Decrease internal Leader BPM by 0.1 - + Sync Leader - + Sync mode 3-state toggle / indicator (Off, Soft Leader, Explicit Leader) - + Speed - + Decrease Speed (Fine) - + Pitch (Musical Key) - + Increase Pitch - + Increases the pitch by one semitone - + Increase Pitch (Fine) - + Increases the pitch by 10 cents - + Decrease Pitch - + Decreases the pitch by one semitone - + Decrease Pitch (Fine) - + Decreases the pitch by 10 cents - + Keylock - + CUP (Cue + Play) - + Shift cue points earlier - + Shift cue points 10 milliseconds earlier - + Shift cue points earlier (fine) - + Shift cue points 1 millisecond earlier - + Shift cue points later - + Shift cue points 10 milliseconds later - + Shift cue points later (fine) - + Shift cue points 1 millisecond later - + + + Sort hotcues by position + + + + + + Sort hotcues by position (remove offsets) + + + + Hotcues %1-%2 - + Intro / Outro Markers - + Intro Start Marker - + Intro End Marker - + Outro Start Marker - + Outro End Marker - + intro start marker - + intro end marker - + outro start marker - + outro end marker - + Activate %1 [intro/outro marker - + Jump to or set the %1 [intro/outro marker - + Set %1 [intro/outro marker - + Set or jump to the %1 [intro/outro marker - + Clear %1 [intro/outro marker - + Clear the %1 [intro/outro marker - + if the track has no beats the unit is seconds - + Loop Selected Beats - + Create a beat loop of selected beat size - + Loop Roll Selected Beats - + Create a rolling beat loop of selected beat size - + Loop %1 Beats set from its end point - + Loop Roll %1 Beats set from its end point - + Create %1-beat loop with the current play position as loop end - + Create temporary %1-beat loop roll with the current play position as loop end - + Loop Beats - + Loop Roll Beats - + Go To Loop In - + Go to Loop In button - + Go To Loop Out - + Go to Loop Out button - + Toggle loop on/off and jump to Loop In point if loop is behind play position - + Reloop And Stop - + Enable loop, jump to Loop In point, and stop - + Halve the loop length - + Double the loop length - + Beat Jump / Loop Move - + Jump / Move Loop Forward %1 Beats - + Jump / Move Loop Backward %1 Beats - + Jump forward by %1 beats, or if a loop is enabled, move the loop forward %1 beats - + Jump backward by %1 beats, or if a loop is enabled, move the loop backward %1 beats - + Beat Jump / Loop Move Forward Selected Beats - + Jump forward by the selected number of beats, or if a loop is enabled, move the loop forward by the selected number of beats - + Beat Jump / Loop Move Backward Selected Beats - + Jump backward by the selected number of beats, or if a loop is enabled, move the loop backward by the selected number of beats - + Beat Jump - + Indicate which loop marker remain static when adjusting the size or is inherited from the current position - + Beat Jump / Loop Move Forward - + Beat Jump / Loop Move Backward - + Loop Move Forward - + Loop Move Backward - + Remove Temporary Loop - + Remove the temporary loop - + Navigation - + Move up - + Equivalent to pressing the UP key on the keyboard - + Move down - + Equivalent to pressing the DOWN key on the keyboard - + Move up/down - + Move vertically in either direction using a knob, as if pressing UP/DOWN keys - + Scroll Up - + Equivalent to pressing the PAGE UP key on the keyboard - + Scroll Down - + Equivalent to pressing the PAGE DOWN key on the keyboard - + Scroll up/down - + Scroll vertically in either direction using a knob, as if pressing PGUP/PGDOWN keys - + Move left - + Equivalent to pressing the LEFT key on the keyboard - + Move right - + Equivalent to pressing the RIGHT key on the keyboard - + Move left/right - + Move horizontally in either direction using a knob, as if pressing LEFT/RIGHT keys - + Move focus to right pane - + Equivalent to pressing the TAB key on the keyboard - + Move focus to left pane - + Equivalent to pressing the SHIFT+TAB key on the keyboard - + Move focus to right/left pane - + Move focus one pane to right or left using a knob, as if pressing TAB/SHIFT+TAB keys - + Sort focused column - + Sort the column of the cell that is currently focused, equivalent to clicking on its header - + Go to the currently selected item - + Choose the currently selected item and advance forward one pane if appropriate - + Load Track and Play - + Add to Auto DJ Queue (replace) - + Replace Auto DJ Queue with selected tracks - + Select next search history - + Selects the next search history entry - + Select previous search history - + Selects the previous search history entry - + Move selected search entry - + Moves the selected search history item into given direction and steps - + Clear search - + Clears the search query - - + + Select Next Color Available - + Select the next color in the color palette for the first selected track - - + + Select Previous Color Available - + Select the previous color in the color palette for the first selected track - + Deck %1 Quick Effect Enable Button - + Quick Effect Enable Button - + Enable or disable effect processing - + Super Knob (control effects' Meta Knobs) - + Mix Mode Toggle - + Toggle effect unit between D/W and D+W modes - + Next chain preset - + Previous Chain - + Previous chain preset - + Next/Previous Chain - + Next or previous chain preset - - + + Show Effect Parameters - + Effect Unit Assignment - + Meta Knob - + Effect Meta Knob (control linked effect parameters) - + Meta Knob Mode - + Set how linked effect parameters change when turning the Meta Knob. - + Meta Knob Mode Invert - + Invert how linked effect parameters change when turning the Meta Knob. - - + + Button Parameter Value - + Microphone / Auxiliary - + Microphone On/Off - + Microphone on/off Mikrofon sees/väljas - + Toggle microphone ducking mode (OFF, AUTO, MANUAL) - + Auxiliary On/Off - + Auxiliary on/off - + Auto DJ Automaatne DJ - + Auto DJ Shuffle - + Auto DJ Skip Next - + Auto DJ Add Random Track - + Add a random track to the Auto DJ queue - + Auto DJ Fade To Next - + Trigger the transition to the next track - + User Interface Kasutajaliides - + Samplers Show/Hide - + Show/hide the sampler section - + Microphone && Auxiliary Show/Hide keep double & to prevent creation of keyboard accelerator - + Waveform Zoom Reset To Default - + Reset the waveform zoom level to the default value selected in Preferences -> Waveforms - + Select the next color in the color palette for the loaded track. - + Select previous color in the color palette for the loaded track. - + Navigate Through Track Colors - + Select either next or previous color in the palette for the loaded track. - + Start/Stop Live Broadcasting - + Stream your mix over the Internet. - + Start/stop recording your mix. - - + + Samplers - + Vinyl Control Show/Hide - + Show/hide the vinyl control section - + Preview Deck Show/Hide Eelvaate Rada kuva/peida - + Show/hide the preview deck Kuva/peida eelvaate rada - + Toggle 4 Decks - + Switches between showing 2 decks and 4 decks. - + Cover Art Show/Hide (Decks) - + Show/hide cover art in the main decks - + Vinyl Spinner Show/Hide - + Show/hide spinning vinyl widget - + Vinyl Spinners Show/Hide (All Decks) - + Show/Hide all spinnies - + Toggle Waveforms - + Show/hide the scrolling waveforms. - + Waveform zoom - + Waveform Zoom - + Zoom waveform in - + Waveform Zoom In - + Zoom waveform out - + Star Rating Up - + Increase the track rating by one star - + Star Rating Down - + Decrease the track rating by one star @@ -3593,32 +3642,32 @@ trace - Above + Profiling messages ControllerScriptEngineBase - + The functionality provided by this controller mapping will be disabled until the issue has been resolved. - + You can ignore this error for this session but you may experience erratic behavior. - + Try to recover by resetting your controller. - + Controller Mapping Error - + The mapping for your controller "%1" is not working properly. - + The script code needs to be fixed. @@ -3662,13 +3711,13 @@ trace - Above + Profiling messages CrateFeature - + Remove Eemalda - + Create New Crate @@ -3678,132 +3727,132 @@ trace - Above + Profiling messages Nimeta ümber - - + + Lock Lukus - + Export Crate as Playlist - + Export Track Files - + Duplicate duplikaat - + Analyze entire Crate - + Auto DJ Track Source - + Enter new name for crate: - - + + Crates Plaadikastid - - + + Import Crate Impordi kast - + Export Crate Ekspordi kast - + Unlock Võta lukust lahti - + An unknown error occurred while creating crate: Plaadikasti loomisel esines tundmatu viga: - + Rename Crate Nimeta plaadikast ümber - - - Export to Engine Prime - - - - + Make a crate for your next gig, for your favorite electrohouse tracks, or for your most requested tracks. - + Confirm Deletion - - + + Renaming Crate Failed Plaadikasti ümbernimetamine ebaõnnestus - + Crate Creation Failed - + M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Text CSV (*.csv);;Readable Text (*.txt) M3U Esitusloend (*.m3u);;M3U8 Esitusloend (*.m3u8);;PLSEsitusloend (*.pls);;Tekst CSV (*.csv);;Loetav tekst (*.txt) - + M3U Playlist (*.m3u) M3U Esitusloend (*.m3u) - + Crates are a great way to help organize the music you want to DJ with. - + + + Export to Engine DJ + + + + Crates let you organize your music however you'd like! - + Do you really want to delete crate <b>%1</b>? - + A crate cannot have a blank name. Plaadikasti nimi ei saa olla tühi. - + A crate by that name already exists. Sellise nimega kast on juba olemas. @@ -3898,12 +3947,12 @@ trace - Above + Profiling messages - + Official Website - + Donate @@ -4022,72 +4071,72 @@ trace - Above + Profiling messages DlgAutoDJ - + Skip Hüpe - + Random - + Fade - + Enable Auto DJ Shortcut: Shift+F12 - + Disable Auto DJ Shortcut: Shift+F12 - + Trigger the transition to the next track Shortcut: Shift+F11 - + Skip the next track in the Auto DJ queue Shortcut: Shift+F10 - + Shuffle the content of the Auto DJ queue Shortcut: Shift+F9 - + Repeat the playlist - + Determines the duration of the transition - + Seconds Sekundid - + Auto DJ Fade Modes Full Intro + Outro: @@ -4118,80 +4167,80 @@ crossfader, so that the intro starts at full volume. - + Full Intro + Outro - + Fade At Outro Start - + Full Track - + Skip Silence - + Skip Silence Start Full Volume - + Decks not used for Auto DJ must be stopped to enable Auto DJ mode. - + Repeat Kordus - + Auto DJ requires two decks assigned to opposite sides of the crossfader. - + One deck must be stopped to enable Auto DJ mode. - + Enable - + Disable - + Displays the duration and number of selected tracks. - - - + + + Auto DJ Automaatne DJ - + Shuffle Juhuesitus - + Adds a random track from track sources (crates) to the Auto DJ queue. If no track sources are configured, the track is added from the library instead. @@ -4414,37 +4463,37 @@ Often results in higher quality beatgrids, but will not do well on tracks that h - + Didn't get any midi messages. Please try again. - + Unable to detect a mapping -- please try again. Be sure to only touch one control at once. - + Successfully mapped control: - + <i>Ready to learn %1</i> <i>Valmis õppima %1</i> - + Learning: %1. Now move a control on your controller. - + The selected control does not exist.<br>This likely a bug. Please report it on the Mixxx bug tracker.<br><a href='https://github.com/mixxxdj/mixxx/issues'>https://github.com/mixxxdj/mixxx/issues</a><br><br>You tried to learn: %1,%2 - + The control you clicked in Mixxx is not learnable. This could be because you are either using an old skin and this control is no longer supported, or you clicked a control that provides visual feedback and can only be mapped to outputs like LEDs via scripts. @@ -4483,17 +4532,17 @@ You tried to learn: %1,%2 - + Log - + Search - + Stats @@ -5146,113 +5195,113 @@ associated with each key. DlgPrefController - + Apply device settings? - + Your settings must be applied before starting the learning wizard. Apply settings and continue? - + None Pole - + %1 by %2 %1 - %2 - + Mapping has been edited - + Always overwrite during this session - + Save As - + Overwrite - + Save user mapping - + Enter the name for saving the mapping to the user folder. - + Saving mapping failed - + A mapping cannot have a blank name and may not contain special characters. - + A mapping file with that name already exists. - + Do you want to save the changes? - + Troubleshooting Tõrkeotsing - + <font color='#BB0000'><b>If you use this mapping your controller may not work correctly. Please select another mapping or disable the controller.</b></font><br><br>This mapping was designed for a newer Mixxx Controller Engine and cannot be used on your current Mixxx installation.<br>Your Mixxx installation has Controller Engine version %1. This mapping requires a Controller Engine version >= %2.<br><br>For more information visit the wiki page on <a href='https://mixxx.org/wiki/doku.php/controller_engine_versions'>Controller Engine Versions</a>. - + Mapping already exists. - + <b>%1</b> already exists in user mapping folder.<br>Overwrite or save with a new name? - + Clear Input Mappings - + Are you sure you want to clear all input mappings? - + Clear Output Mappings - + Are you sure you want to clear all output mappings? @@ -5265,105 +5314,105 @@ Apply settings and continue? Kontrolleri nimi - + Enabled Lubatud - + Device Info - + Physical Interface: - + Vendor name: - + Product name: - + Vendor ID - + VID: - + Product ID - + PID: - + Serial number: - + USB interface number: - + HID Usage-Page: - + HID Usage: - + Description: Kirjeldus: - + Support: Toetus: - + Screens preview - + Input Mappings - - + + Search - - + + Add Lisa - - + + Remove Eemalda @@ -5378,22 +5427,22 @@ Apply settings and continue? - + Load Mapping: - + Mapping Info - + Author: Autor: - + Name: Nimi: @@ -5403,28 +5452,28 @@ Apply settings and continue? - + Data protocol: - + Mapping Files: - + Mapping Settings - - + + Clear All Tühjenda kõik - + Output Mappings @@ -5583,6 +5632,16 @@ Apply settings and continue? Multi-Sampling + + + Force 3D acceleration + + + + + If checked, Mixxx will always assume 3D acceleration is available. This may lead to pour performance if only CP-backed rendering is available.. + + Start in full-screen mode @@ -6174,62 +6233,62 @@ You can always drag-and-drop tracks on screen to clone a deck. DlgPrefInterface - + The minimum size of the selected skin is bigger than your screen resolution. - + Allow screensaver to run - + Prevent screensaver from running - + Prevent screensaver while playing - + Disabled - + 2x MSAA - + 4x MSAA - + 8x MSAA - + 16x MSAA - + This skin does not support color schemes - + Information Info - + Mixxx must be restarted before the new locale, scaling or multi-sampling settings will take effect. @@ -7396,173 +7455,172 @@ The loudness target is approximate and assumes track pregain and main output lev DlgPrefSound - + %1 Hz %1 Hz - + Default (long delay) - + Experimental (no delay) - + Disabled (short delay) - + Soundcard Clock - + Network Clock - + Direct monitor (recording and broadcasting only) - + Disabled - + Enabled Lubatud - + Stereo Stereo - + Mono - + To enable Realtime scheduling (currently disabled), see the %1. - + The %1 lists sound cards and controllers you may want to consider for using Mixxx. - + Mixxx DJ Hardware Guide - + Information - + Mixxx must be restarted before the multi-threaded RubberBand setting change will take effect. - + auto (<= 1024 frames/period) - + 2048 frames/period - + 4096 frames/period - + Are you sure? - + Distribute stereo channels into mono channels for parallel processing will result in a loss of mono compatibility and a diffuse stereo image. It is not recommended during broadcasting or recording. - + Are you sure you wish to proceed? - + No - + Yes, I know what I am doing - + Microphone inputs are out of time in the record & broadcast signal compared to what you hear. - + Measure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. - - + Refer to the Mixxx User Manual for details. - + Configured latency has changed. - + Remeasure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. - + Realtime scheduling is enabled. - + Main output only - + Main and booth outputs - + %1 ms %1 ms - + Configuration error Seadistamise viga @@ -7580,131 +7638,131 @@ The loudness target is approximate and assumes track pregain and main output lev - + Sample Rate Diskreetimissagedus - + Audio Buffer Audiopuhver - + Engine Clock - + Use soundcard clock for live audience setups and lowest latency.<br>Use network clock for broadcasting without a live audience. - + Main Mix - + Main Output Mode - + Microphone Monitor Mode - + Microphone Latency Compensation - - - - + + + + ms milliseconds - + 20 ms 20 ms - + Buffer Underflow Count - + 0 0 - + Keylock/Pitch-Bending Engine - + Multi-Soundcard Synchronization - + Output Väljund - + Input Sisend - + System Reported Latency - + Enlarge your audio buffer if the underflow counter is increasing or you hear pops during playback. - + Main Output Delay - + Headphone Output Delay - + Booth Output Delay - + Dual-threaded Stereo - + Hints and Diagnostics - + Downsize your audio buffer to improve Mixxx's responsiveness. - + Query Devices @@ -7859,27 +7917,28 @@ The loudness target is approximate and assumes track pregain and main output lev - - 1/3rd of waveform viewer + + 1/3 of waveform viewer + options for "Text height limit" - - Full waveform viewer height + + Entire waveform viewer - + OpenGL not available - + dropped frames - + Cached waveforms occupy %1 MiB on disk. @@ -7892,250 +7951,256 @@ The loudness target is approximate and assumes track pregain and main output lev - + Frame rate Kaadrisagedus - - Displays which OpenGL version is supported by the current platform. + + OpenGL Status - - Waveform + + Displays which OpenGL version is supported by the current platform. - + Normalize waveform overview - + Average frame rate - + Visual gain - + Default zoom level Waveform zoom - + Displays the actual frame rate. - + Visual gain of the middle frequencies - + End of track warning - - OpenGL status - - - - + This functionality requires waveform acceleration. - + Highlight the waveforms when the last seconds of a track remains. - + seconds - + Low Madal - + Show minute markers on waveform overview - + Use acceleration - + High details - + Middle - + Global - + Visual gain of the high frequencies - + Visual gain of the low frequencies - + High Kõrge - + Global visual gain - + The waveform overview shows the waveform envelope of the entire track. Select from different types of displays for the waveform overview, which differ primarily in the level of detail shown in the waveform. - + Enabled - + The waveform shows the waveform envelope of the track near the current playback position. Select from different types of displays for the waveform, which differ primarily in the level of detail shown in the waveform. - - Waveform overview type - - - - + fps - + Synchronize zoom level across all waveform displays. - + Synchronize zoom level across all waveforms - + Play marker hints - + Beats until next marker - + Preferred font size - + Text height limit - + Time until next marker - + Placement - + pt - + Caching - + Mixxx caches the waveforms of your tracks on disk the first time you load a track. This reduces CPU usage when you are playing live but requires extra disk space. - + Enable waveform caching - + Generate waveforms when analyzing library - + Beat grid opacity - + + Scrolling Waveforms + + + + + + Type + + + + Stereo coloration - + Set amount of opacity on beat grid lines. - + % % - + Play marker position - + Moves the play marker position on the waveforms to the left, right or center (default). - + + Overview Waveforms + + + + Clear Cached Waveforms @@ -8143,47 +8208,47 @@ Select from different types of displays for the waveform, which differ primarily DlgPreferences - + Sound Hardware - + Controllers Kontrollerid - + Library Fonoteek - + Interface Liides - + Waveforms - + Mixer Miksija - + Auto DJ Automaatne DJ - + Decks - + Colors @@ -8218,47 +8283,47 @@ Select from different types of displays for the waveform, which differ primarily - + Effects Efektid - + Recording Salvestamine - + Beat Detection - + Key Detection Helistiku tuvastamine - + Normalization Normaliseerimine - + <font color='#BB0000'><b>Some preferences pages have errors. To apply the changes please first fix the issues.</b></font> - + Vinyl Control - + Live Broadcasting - + Modplug Decoder @@ -8291,22 +8356,22 @@ Select from different types of displays for the waveform, which differ primarily - + Start Recording Alusta salvestamist - + Recording to file: - + Stop Recording Peata salvestamine - + %1 MiB written in %2 @@ -8614,284 +8679,284 @@ This can not be undone! Summaarne - + Filetype: Failitüüp: - + BPM: Tempo: - + Location: Asukoht: - + Bitrate: Bitikiirus: - + Comments - + BPM Lööki minutis - + Sets the BPM to 75% of the current value. - + 3/4 BPM 3/4 BPM - + Sets the BPM to 50% of the current value. - + Displays the BPM of the selected track. - + Track # Lugu nr - + Album Artist Albumi esitaja - + Composer Helilooja - + Title Pealkiri - + Grouping Rühmitamine - + Key Helistik - + Year Aasta - + Artist Esitaja - + Album Album - + Genre Žanr - + ReplayGain: - + Sets the BPM to 200% of the current value. - + Double BPM Topelt BPM - + Halve BPM Pool BPM - + Clear BPM and Beatgrid - + Move to the previous item. "Previous" button - + &Previous &Eelmine - + Move to the next item. "Next" button - + &Next &Järgmine - + Duration: Kestvus: - + Import Metadata from MusicBrainz - + Re-Import Metadata from file - + Color - + Date added: - + Open in File Browser Ava failisirvias - + Samplerate: - + Track BPM: - + Converts beats detected by the analyzer into a fixed-tempo beatgrid. Use this setting if your tracks have a constant tempo (e.g. most electronic music). Often results in higher quality beatgrids, but will not do well on tracks that have tempo shifts. - + Assume constant tempo - + Sets the BPM to 66% of the current value. - + 2/3 BPM 2/3 BPM - + Sets the BPM to 150% of the current value. - + 3/2 BPM - + Sets the BPM to 133% of the current value. - + 4/3 BPM - + Tap with the beat to set the BPM to the speed you are tapping. - + Tap to Beat - + Hint: Use the Library Analyze view to run BPM detection. - + Save changes and close the window. "OK" button - + &OK - + Discard changes and close the window. "Cancel" button - + Save changes and keep the window open. "Apply" button - + &Apply &Rakenda - + &Cancel &Katkesta - + (no color) @@ -9048,7 +9113,7 @@ Often results in higher quality beatgrids, but will not do well on tracks that h - + (no color) @@ -9250,27 +9315,27 @@ Often results in higher quality beatgrids, but will not do well on tracks that h EngineBuffer - + Soundtouch (faster) - + Rubberband (better) - + Rubberband R3 (near-hi-fi quality) - + Unknown, using Rubberband (better) - + Unknown, using Soundtouch @@ -9414,38 +9479,38 @@ Often results in higher quality beatgrids, but will not do well on tracks that h ITunesFeature - - + + iTunes iTunes - + Select your iTunes library - + (loading) iTunes - + Use Default Library - + Choose Library... - + Error Loading iTunes Library - + There was an error loading your iTunes library. Check the logs for details. @@ -9453,12 +9518,12 @@ Often results in higher quality beatgrids, but will not do well on tracks that h LegacyControllerColorSetting - + Change color - + Choose a new color @@ -9466,18 +9531,18 @@ Often results in higher quality beatgrids, but will not do well on tracks that h LegacyControllerFileSetting - + Browse... - - + + No file selected - + Select a file @@ -9485,15 +9550,15 @@ Often results in higher quality beatgrids, but will not do well on tracks that h LegacySkinParser - - + + Safe Mode Enabled Shown when Mixxx is running in safe mode. - - + + No OpenGL support. Shown when Spinny can not be displayed. Please keep @@ -9504,57 +9569,57 @@ Shown when VuMeter can not be displayed. Please keep - + activate aktiveeri - + toggle lüliti - + right paremale - + left vasakule - + right small - + left small - + up üles - + down alla - + up small - + down small - + Shortcut Otsetee @@ -9562,62 +9627,62 @@ Shown when VuMeter can not be displayed. Please keep Library - + This or a parent directory is already in your library. - + This or a listed directory does not exist or is inaccessible. Aborting the operation to avoid library inconsistencies - - + + This directory can not be read. - + An unknown error occurred. Aborting the operation to avoid library inconsistencies - + Can't add Directory to Library - + Could not add <b>%1</b> to your library. %2 - + Can't remove Directory from Library - + An unknown error occurred. - + This directory does not exist or is inaccessible. - + Relink Directory - + Could not relink <b>%1</b> to <b>%2</b>. %3 @@ -9627,22 +9692,22 @@ Aborting the operation to avoid library inconsistencies LibraryFeature - + Import Playlist Impordi esitusloend - + Playlist Files (*.m3u *.m3u8 *.pls *.csv) Esitusloendi failid (*.m3u *.m3u8 *.pls *.csv) - + Overwrite File? - + A playlist file with the name "%1" already exists. The default "m3u" extension was added because none was specified. @@ -9689,27 +9754,27 @@ Do you really want to overwrite it? MidiController - + MixxxControl(s) not found - + One or more MixxxControls specified in the outputs section of the loaded mapping were invalid. - + * Make sure the MixxxControls in question actually exist. Visit the manual for a complete list: - + Some LEDs or other feedback may not work correctly. - + * Check to see that the MixxxControl names are spelled correctly in the mapping file (.xml) @@ -9769,18 +9834,18 @@ Do you really want to overwrite it? MixxxLibraryFeature - + Missing Tracks Kadunud lood - + Hidden Tracks - Export to Engine Prime + Export to Engine DJ @@ -9792,208 +9857,249 @@ Do you really want to overwrite it? MixxxMainWindow - + Sound Device Busy - + <b>Retry</b> after closing the other application or reconnecting a sound device - - - + + + <b>Reconfigure</b> Mixxx's sound device settings. - - + + Get <b>Help</b> from the Mixxx Wiki. - - - + + + <b>Exit</b> Mixxx. - + Retry Proovi uuesti - + skin - + Allow Mixxx to hide the menu bar? - + Hide Always show the menu bar? - + Always show - + The Mixxx menu bar is hidden and can be toggled with a single press of the <b>Alt</b> key.<br><br>Click <b>%1</b> to agree.<br><br>Click <b>%2</b> to disable that, for example if you don't use Mixxx with a keyboard.<br><br>You can change this setting any time in Preferences -> Interface.<br> Keep formatting tags <b> (bold text) and <br> (linebreak). %1 is the placeholder for the 'Always show' button label - + Ask me again - - + + Reconfigure Seadista uuesti - + Help Abi - - + + Exit Välju - - + + Mixxx was unable to open all the configured sound devices. - + Sound Device Error - + <b>Retry</b> after fixing an issue - + No Output Devices - + Mixxx was configured without any output sound devices. Audio processing will be disabled without a configured output device. - + <b>Continue</b> without any outputs. - + Continue Jätka - + Load track to Deck %1 - + Deck %1 is currently playing a track. - + Are you sure you want to load a new track? Oled sa kindel, et tahad laadida uue loo? - + There is no input device selected for this vinyl control. Please select an input device in the sound hardware preferences first. - + There is no input device selected for this passthrough control. Please select an input device in the sound hardware preferences first. - + There is no input device selected for this microphone. Do you want to select an input device? - + There is no input device selected for this auxiliary. Do you want to select an input device? - + + Scan took %1 + + + + + No changes detected. + + + + + + %1 tracks in total + + + + + %1 new tracks found + + + + + %1 moved tracks detected + + + + + %1 tracks are missing (%2 total) + + + + + %1 tracks have been rediscovered + + + + + Library scan finished + + + + Error in skin file - + The selected skin cannot be loaded. - + OpenGL Direct Rendering - + Direct rendering is not enabled on your machine.<br><br>This means that the waveform displays will be very<br><b>slow and may tax your CPU heavily</b>. Either update your<br>configuration to enable direct rendering, or disable<br>the waveform displays in the Mixxx preferences by selecting<br>"Empty" as the waveform display in the 'Interface' section. - - - + + + Confirm Exit Kinnita väljumine - + A deck is currently playing. Exit Mixxx? - + A sampler is currently playing. Exit Mixxx? - + The preferences window is still open. - + Discard any changes and exit Mixxx? @@ -10009,13 +10115,13 @@ Do you want to select an input device? PlaylistFeature - + Lock Lukus - - + + Playlists Esitusloendid @@ -10025,32 +10131,58 @@ Do you want to select an input device? - + + Unlock all playlists + + + + + Delete all unlocked playlists + + + + Unlock Võta lukust lahti - + + + Confirm Deletion + + + + + Do you really want to delete all unlocked playlists? + + + + + Deleting %1 unlocked playlists.<br>This operation can not be undone! + + + + Playlists are ordered lists of tracks that allow you to plan your DJ sets. - + It may be necessary to skip some tracks in your prepared playlist or add some different tracks in order to maintain the energy of your audience. - + Some DJs construct playlists before they perform live, but others prefer to build them on-the-fly. - + When using a playlist during a live DJ set, remember to always pay close attention to how your audience reacts to the music you've chosen to play. - + Create New Playlist Loo uus esitusloend @@ -11541,7 +11673,7 @@ Fully right: end of the effect period - + Deck %1 Rada %1 @@ -11674,7 +11806,7 @@ Hint: compensates "chipmunk" or "growling" voices - + Passthrough @@ -11705,7 +11837,7 @@ Hint: compensates "chipmunk" or "growling" voices - + Sampler %1 @@ -11838,12 +11970,12 @@ may introduce a 'pumping' effect and/or distortion. - + built-in - + missing @@ -11878,42 +12010,42 @@ may introduce a 'pumping' effect and/or distortion. - + Empty - + Simple - + Filtered - + HSV - + VSyncTest - + RGB - + Stacked - + Unknown @@ -11971,54 +12103,54 @@ may introduce a 'pumping' effect and/or distortion. RekordboxFeature - - - + + + Rekordbox - + Playlists Esitusloendid - + Folders - + Reads databases exported for Pioneer CDJ / XDJ players using the Rekordbox Export mode.<br/>Rekordbox can only export to USB or SD devices with a FAT or HFS file system.<br/>Mixxx can read a database from any device that contains the database folders (<tt>PIONEER</tt> and <tt>Contents</tt>).<br/>Not supported are Rekordbox databases that have been moved to an external device via<br/><i>Preferences > Advanced > Database management</i>.<br/><br/>The following data is read: - + Hot cues - + Loops (only the first loop is currently usable in Mixxx) - + Check for attached Rekordbox USB / SD devices (refresh) - + Beatgrids - + Memory cues - + (loading) Rekordbox @@ -12153,19 +12285,19 @@ may introduce a 'pumping' effect and/or distortion. Lukus - - + + Confirm Deletion - + Do you really want to delete all unlocked playlist from <b>%1</b>?<br><br> %1 is the year <b> + </b> are used to make the text in between bold in the popup <br> is a linebreak - + Deleting %1 playlists from <b>%2</b>.<br><br> %1 is the number of playlists to be deleted %2 is the year <b> + </b> are used to make the text in between bold in the popup <br> is a linebreak @@ -12577,7 +12709,7 @@ may introduce a 'pumping' effect and/or distortion. - + Spinning Vinyl @@ -12759,7 +12891,7 @@ may introduce a 'pumping' effect and/or distortion. - + Cover Art Katte kunst @@ -12995,197 +13127,197 @@ may introduce a 'pumping' effect and/or distortion. - + Adjust Beats Earlier - + When tapped, moves the beatgrid left by a small amount. - + Adjust Beats Later - + When tapped, moves the beatgrid right by a small amount. - + Tempo and BPM Tap - + Show/hide the spinning vinyl section. - + Keylock - + Toggling keylock during playback may result in a momentary audio glitch. - + Toggle visibility of Loop Controls - + Toggle visibility of Beatjump Controls - + Toggle visibility of Rate Control - + Toggle visibility of Key Controls - + (while previewing) - + Places a cue point at the current position on the waveform. - + Stops track at cue point, OR go to cue point and play after release (CUP mode). - + Set cue point (Pioneer/Mixxx/Numark mode), set cue point and play after release (CUP mode) OR preview from it (Denon mode). - + Is latching the playing state. - + Seeks the track to the cue point and stops. - + Play - + Plays track from the cue point. - + Sends the selected channel's audio to the headphone output, selected in Preferences -> Sound Hardware. - + (This skin should be updated to use Sync Lock!) - + Enable Sync Lock - + Tap to sync the tempo to other playing tracks or the sync leader. - + Enable Sync Leader - + When enabled, this device will serve as the sync leader for all other decks. - + This is relevant when a dynamic tempo track is loaded to a sync leader deck.In that case, other synced devices will adopt the changing tempo. - + Changes the track playback speed (affects both the tempo and the pitch). If keylock is enabled, only the tempo is affected. - + Tempo Range Display - + Displays the current range of the tempo slider. - + Un-ejects when no track is loaded, i.e. reloads the track that was ejected last (of any deck). - + Delete selected hotcue. - + Track Comment - + Displays the comment tag of the loaded track. - + Opens separate artwork viewer. - + Effect Chain Preset Settings - + Show the effect chain settings menu for this unit. - + Select and configure a hardware device for this input - + Recording Duration @@ -13423,924 +13555,932 @@ may introduce a 'pumping' effect and/or distortion. - + + Adjust beatgrid by exactly one half beat. Usable only on +tracks with constant tempo. + + + + Revert last BPM/Beatgrid Change - + Revert last BPM/Beatgrid Change of the loaded track. - - + + Toggle the BPM/beatgrid lock - + Tempo and Rate Tap - + Tempo, Rate Tap and BPM Tap - + Shift cues earlier - - + + Shift cues imported from Serato or Rekordbox if they are slightly off time. - + Left click: shift 10 milliseconds earlier - + Right click: shift 1 millisecond earlier - + Shift cues later - + Left click: shift 10 milliseconds later - + Right click: shift 1 millisecond later - + + + + Drag a Hotcue button here to continue playing after releasing the Hotcue. + + + + Hint: Change the default cue mode in Preferences -> Decks. - + Mutes the selected channel's audio in the main output. - + Main mix enable - + Hold or short click for latching to mix this input into the main output. - + If hotcue is a loop cue, toggles the loop and jumps to if the loop is behind the play position. - + If the play position is inside an active loop, stores the loop as loop cue. - + Drag this button onto another Hotcue button to move it there (change its index). If the other hotcue is set, the two are swapped. - - Dragging with Shift key pressed will not start previewing the hotcue - - - - + Expand/Collapse Samplers - + Toggle expanded samplers view. - + Displays the duration of the running recording. - + Auto DJ is active - + Red for when needle skip has been detected. - + Hot Cue - Track will seek to nearest previous hotcue point. - + Sets the track Loop-In Marker to the current play position. - + Press and hold to move Loop-In Marker. - + Jump to Loop-In Marker. - + Sets the track Loop-Out Marker to the current play position. - + Press and hold to move Loop-Out Marker. - + Jump to Loop-Out Marker. - + If the track has no beats the unit is seconds. - + Beatloop Size - + Select the size of the loop in beats to set with the Beatloop button. - + Changing this resizes the loop if the loop already matches this size. - + Halve the size of an existing beatloop, or halve the size of the next beatloop set with the Beatloop button. - + Double the size of an existing beatloop, or double the size of the next beatloop set with the Beatloop button. - + Start a loop over the set number of beats. - + Temporarily enable a rolling loop over the set number of beats. - + Beatloop Anchor - + Define whether the loop is created and adjusted from its staring point or ending point. - + Beatjump/Loop Move Size - + Select the number of beats to jump or move the loop with the Beatjump Forward/Backward buttons. - + Beatjump Forward - + Jump forward by the set number of beats. - + Move the loop forward by the set number of beats. - + Jump forward by 1 beat. - + Move the loop forward by 1 beat. - + Beatjump Backward - + Jump backward by the set number of beats. - + Move the loop backward by the set number of beats. - + Jump backward by 1 beat. - + Move the loop backward by 1 beat. - + Reloop - + If the loop is ahead of the current position, looping will start when the loop is reached. - + Works only if Loop-In and Loop-Out Marker are set. - + Enable loop, jump to Loop-In Marker, and stop playback. - + Displays the elapsed and/or remaining time of the track loaded. - + Click to toggle between time elapsed/remaining time/both. - + Hint: Change the time format in Preferences -> Decks. - + Show/hide intro & outro markers and associated buttons. - + Intro Start Marker - - - - + + + + If marker is set, jumps to the marker. - - - - + + + + If marker is not set, sets the marker to the current play position. - - - - + + + + If marker is set, clears the marker. - + Intro End Marker - + Outro Start Marker - + Outro End Marker - + Mix - + Adjust the mixing of the dry (input) signal with the wet (output) signal of the effect unit - + D/W mode: Crossfade between dry and wet - + D+W mode: Add wet to dry - + Mix Mode - + Adjust how the dry (input) signal is mixed with the wet (output) signal of the effect unit - + Dry/Wet mode (crossed lines): Mix knob crossfades between dry and wet Use this to change the sound of the track with EQ and filter effects. - + Dry+Wet mode (flat dry line): Mix knob adds wet to dry Use this to change only the effected (wet) signal with EQ and filter effects. - + Route the main mix through this effect unit. - + Route the left crossfader bus through this effect unit. - + Route the right crossfader bus through this effect unit. - + Right side active: parameter moves with right half of Meta Knob turn - + Stem Label - + Name of the stem stored in the stem file - + Text is displayed in the stem color stored in the stem file - + this stem color is also used for the waveform of this stem - + Stem Mute - + Toggle the stem mute/unmuted - + Stem Volume Knob - + Adjusts the volume of the stem - + Skin Settings Menu - + Show/hide skin settings menu - + Save Sampler Bank - + Save the collection of samples loaded in the samplers. - + Load Sampler Bank - + Load a previously saved collection of samples into the samplers. - + Show Effect Parameters - + Enable Effect - + Meta Knob Link - + Set how this parameter is linked to the effect's Meta Knob. - + Meta Knob Link Inversion - + Inverts the direction this parameter moves when turning the effect's Meta Knob. - + Super Knob - + Next Chain - + Previous Chain - + Next/Previous Chain - + Clear - + Clear the current effect. - + Toggle Lülita - + Toggle the current effect. - + Next Järgmine - + Clear Unit - + Clear effect unit. - + Show/hide parameters for effects in this unit. - + Toggle Unit - + Enable or disable this whole effect unit. - + Controls the Meta Knob of all effects in this unit together. - + Load next effect chain preset into this effect unit. - + Load previous effect chain preset into this effect unit. - + Load next or previous effect chain preset into this effect unit. - - - - - - - - - + + + + + + + + + Assign Effect Unit - + Assign this effect unit to the channel output. - + Route the headphone channel through this effect unit. - + Route this deck through the indicated effect unit. - + Route this sampler through the indicated effect unit. - + Route this microphone through the indicated effect unit. - + Route this auxiliary input through the indicated effect unit. - + The effect unit must also be assigned to a deck or other sound source to hear the effect. - + Switch to the next effect. - + Previous Eelmine - + Switch to the previous effect. - + Next or Previous - + Switch to either the next or previous effect. - + Meta Knob - + Controls linked parameters of this effect - + Effect Focus Button - + Focuses this effect. - + Unfocuses this effect. - + Refer to the web page on the Mixxx wiki for your controller for more information. - + Effect Parameter - + Adjusts a parameter of the effect. - + Inactive: parameter not linked - + Active: parameter moves with Meta Knob - + Left side active: parameter moves with left half of Meta Knob turn - + Left and right side active: parameter moves across range with half of Meta Knob turn and back with the other half - - + + Equalizer Parameter Kill - - + + Holds the gain of the EQ to zero while active. - + Quick Effect Super Knob - + Quick Effect Super Knob (control linked effect parameters). - + Hint: Change the default Quick Effect mode in Preferences -> Equalizers. - + Equalizer Parameter - + Adjusts the gain of the EQ filter. - + Hint: Change the default EQ mode in Preferences -> Equalizers. - - + + Adjust Beatgrid - + Adjust beatgrid so the closest beat is aligned with the current play position. - - + + Adjust beatgrid to match another playing deck. - + If quantize is enabled, snaps to the nearest beat. - + Quantize - + Toggles quantization. - + Loops and cues snap to the nearest beat when quantization is enabled. - + Reverse Vastupidi - + Reverses track playback during regular playback. - + Puts a track into reverse while being held (Censor). - + Playback continues where the track would have been if it had not been temporarily reversed. - - - + + + Play/Pause Mängi/peata - + Jumps to the beginning of the track. - + Syncs the tempo (BPM) and phase to that of the other track, if BPM is detected on both. - + Syncs the tempo (BPM) to that of the other track, if BPM is detected on both. - + Sync and Reset Key - + Increases the pitch by one semitone. - + Decreases the pitch by one semitone. - + Enable Vinyl Control - + When disabled, the track is controlled by Mixxx playback controls. - + When enabled, the track responds to external vinyl control. - + Enable Passthrough - + Indicates that the audio buffer is too small to do all audio processing. - + Displays cover artwork of the loaded track. - + Displays options for editing cover artwork. - + Star Rating - + Assign ratings to individual tracks by clicking the stars. @@ -14475,33 +14615,33 @@ Use this to change only the effected (wet) signal with EQ and filter effects. - + Prevents the pitch from changing when the rate changes. - + Changes the number of hotcue buttons displayed in the deck - + Starts playing from the beginning of the track. - + Jumps to the beginning of the track and stops. - - + + Plays or pauses the track. - + (while playing) (mängides) @@ -14521,205 +14661,215 @@ Use this to change only the effected (wet) signal with EQ and filter effects. - + (while stopped) (peatamise ajal) - + Cue - + Headphone Kõrvaklapid - + Mute Vaigista - + Old Synchronize - + Syncs to the first deck (in numerical order) that is playing a track and has a BPM. - + If no deck is playing, syncs to the first deck that has a BPM. Kui ükski rada ei mängi, sünkroniseerub esimese rajaga millel on BPM. - + Decks can't sync to samplers and samplers can only sync to decks. - + Hold for at least a second to enable sync lock for this deck. - + Decks with sync locked will all play at the same tempo, and decks that also have quantize enabled will always have their beats lined up. - + Resets the key to the original track key. - + Speed Control - - - + + + Changes the track pitch independent of the tempo. - + Increases the pitch by 10 cents. - + Decreases the pitch by 10 cents. - + Pitch Adjust - + Adjust the pitch in addition to the speed slider pitch. - + Opens a menu to clear hotcues or edit their labels and colors. - + + Drag this button onto a Play button while previewing to continue playback after release. + + + + + Dragging with Shift key pressed will not start previewing the hotcue. + + + + Record Mix - + Toggle mix recording. - + Enable Live Broadcasting - + Stream your mix over the Internet. - + Provides visual feedback for Live Broadcasting status: - + disabled, connecting, connected, failure. - + When enabled, the deck directly plays the audio arriving on the vinyl input. - + Playback will resume where the track would have been if it had not entered the loop. - + Loop Exit - + Turns the current loop off. - + Slip Mode - + When active, the playback continues muted in the background during a loop, reverse, scratch etc. - + Once disabled, the audible playback will resume where the track would have been. - + Track Key The musical key of a track - + Displays the musical key of the loaded track. - + Clock Kell - + Displays the current time. Jooksva aja kuvamine. - + Audio Latency Usage Meter - + Displays the fraction of latency used for audio processing. - + A high value indicates that audible glitches are likely. - + Do not enable keylock, effects or additional decks in this situation. - + Audio Latency Overload Indicator @@ -14764,254 +14914,254 @@ Use this to change only the effected (wet) signal with EQ and filter effects. - + Fast Rewind - + Fast rewind through the track. - + Fast Forward Kiiresti edasi - + Fast forward through the track. - + Jumps to the end of the track. - + Sets the pitch to a key that allows a harmonic transition from the other track. Requires a detected key on both involved decks. - - - + + + Pitch Control - + Pitch Rate - + Displays the current playback rate of the track. - + Repeat Kordus - + When active the track will repeat if you go past the end or reverse before the start. - + Eject Väljasta - + Ejects track from the player. - + Hotcue - + If hotcue is set, jumps to the hotcue. - + If hotcue is not set, sets the hotcue to the current play position. - + Vinyl Control Mode - + Absolute mode - track position equals needle position and speed. - + Relative mode - track speed equals needle speed regardless of needle position. - + Constant mode - track speed equals last known-steady speed regardless of needle input. - + Vinyl Status - + Provides visual feedback for vinyl control status: - + Green for control enabled. - + Blinking yellow for when the needle reaches the end of the record. - + Loop-In Marker - + Loop-Out Marker - + Loop Halve - + Halves the current loop's length by moving the end marker. - + Deck immediately loops if past the new endpoint. - + Loop Double - + Doubles the current loop's length by moving the end marker. - + Beatloop - + Toggles the current loop on or off. - + Works only if Loop-In and Loop-Out marker are set. - + Vinyl Cueing Mode - + Determines how cue points are treated in vinyl control Relative mode: - + Off - Cue points ignored. - + One Cue - If needle is dropped after the cue point, track will seek to that cue point. - + Track Time - + Track Duration Loo kestvus - + Displays the duration of the loaded track. - + Information is loaded from the track's metadata tags. - + Track Artist Loo esitaja - + Displays the artist of the loaded track. - + Track Title Loo pealkiri - + Displays the title of the loaded track. - + Track Album Album - + Displays the album name of the loaded track. - + Track Artist/Title - + Displays the artist and title of the loaded track. @@ -15019,12 +15169,12 @@ Use this to change only the effected (wet) signal with EQ and filter effects. TrackCollection - + Hiding tracks - + The selected tracks are in the following playlists:%1Hiding them will remove them from these playlists. Continue? @@ -15032,47 +15182,42 @@ Use this to change only the effected (wet) signal with EQ and filter effects. TrackExportDlg - + Export finished - + Exporting %1 - - - Overwrite Existing File? - - - "%1" already exists, overwrite? + Replace Existing File? - - &Overwrite + + "%1" already exists, replace? - - Over&write All + + &Replace - - &Skip + + Apply to all files - Skip &All + &Skip - + Export Error @@ -15244,47 +15389,47 @@ This can not be undone! WCueMenuPopup - + Cue number - + Cue position - + Edit cue label - + Label... - + Delete this cue - + Toggle this cue type between normal cue and saved loop - + Left-click: Use the old size or the current beatloop size as the loop size - + Right-click: Use the current play position as loop end if it is after the cue - + Hotcue #%1 @@ -15408,407 +15553,438 @@ This can not be undone! - - E&xport Library to Engine Prime + + Search in Current View... - - Export the library to the Engine Prime format + + Search for tracks in the current library view + + + + + Ctrl+f - + + Search in Tracks Library... + + + + + Search in the internal track collection under "Tracks" in the library + + + + + Ctrl+Shift+F + + + + Create &New Playlist - + Create a new playlist Uue esitusnimekirja loomine - + Ctrl+n - + Create New &Crate - + Create a new crate - + Ctrl+Shift+N Ctrl+Shift+N - - + + &View &Vaade - + Auto-hide menu bar - + Auto-hide the main menu bar when it's not used. - + May not be supported on all skins. - + Show Skin Settings Menu - + Show the Skin Settings Menu of the currently selected Skin - + Ctrl+1 Menubar|View|Show Skin Settings Ctrl+1 - + Show Microphone Section - + Show the microphone section of the Mixxx interface. - + Ctrl+2 Menubar|View|Show Microphone Section Ctrl+2 - + Show Vinyl Control Section - + Show the vinyl control section of the Mixxx interface. - + Ctrl+3 Menubar|View|Show Vinyl Control Section Ctrl+3 - + Show Preview Deck - + Show the preview deck in the Mixxx interface. - + Ctrl+4 Menubar|View|Show Preview Deck Ctrl+4 - + Show Cover Art - + Show cover art in the Mixxx interface. - + Ctrl+6 Menubar|View|Show Cover Art Ctrl+6 - + Maximize Library - + Maximize the track library to take up all the available screen space. - + Space Menubar|View|Maximize Library Tühik - + &Full Screen &Täisekraan - + Display Mixxx using the full screen - + &Options &Seaded - + &Vinyl Control - + Use timecoded vinyls on external turntables to control Mixxx - + Enable Vinyl Control &%1 - + &Record Mix - + Record your mix to a file - + Ctrl+R Ctrl+R - + Enable Live &Broadcasting - + Stream your mixes to a shoutcast or icecast server - + Ctrl+L Ctrl+L - + Enable &Keyboard Shortcuts Luba &klaviatuuri otseteed - + Toggles keyboard shortcuts on or off Lülitab klaviatuuri otseteed sisse või välja - + Ctrl+` Ctrl+` - + &Preferences &Valikud - + Change Mixxx settings (e.g. playback, MIDI, controls) - + &Developer - + &Reload Skin - + Reload the skin - + Ctrl+Shift+R Ctrl+Shift+R - + Developer &Tools Arendaja &Tööriistad - + Opens the developer tools dialog - + Ctrl+Shift+T Ctrl+Shift+T - + Stats: &Experiment Bucket - + Enables experiment mode. Collects stats in the EXPERIMENT tracking bucket. - + Ctrl+Shift+E Ctrl+Shift+E - + Stats: &Base Bucket - + Enables base mode. Collects stats in the BASE tracking bucket. - + Ctrl+Shift+B - + Deb&ugger Enabled - + Enables the debugger during skin parsing - + Ctrl+Shift+D Ctrl+Shift+D - + &Help &Abi - + Show Keywheel menu title - + + E&xport Library to Engine DJ + "Engine DJ" must not be translated + + + + + Export the library to the Engine DJ format + + + + Show keywheel tooltip text - + F12 Menubar|View|Show Keywheel - + &Community Support - + Get help with Mixxx - + &User Manual &Kasutusjuhend - + Read the Mixxx user manual. - + &Keyboard Shortcuts &Klaviatuuri Otseteed - + Speed up your workflow with keyboard shortcuts. Kiirenda oma tööd kasutades klaviatuuri otseteid. - + &Settings directory - + Open the Mixxx user settings directory. - + &Translate This Application &Tõlgi see rakendus - + Help translate this application into your language. - + &About &Teave - + About the application Teave rakendusest @@ -15816,25 +15992,25 @@ This can not be undone! WOverview - + Passthrough - + Ready to play, analyzing... Text on waveform overview when file is playable but no waveform is visible - - + + Loading track... Text on waveform overview when file is cached from source - + Finalizing... Text on waveform overview during finalizing of waveform analysis @@ -15843,25 +16019,13 @@ This can not be undone! WSearchLineEdit - - Clear input - Clear the search bar input field - - - - - Ctrl+F - Search|Focus - Ctrl+F - - - + Search noun - + Clear input @@ -15872,169 +16036,163 @@ This can not be undone! Otsi... - + Clear the search bar input field - - Enter a string to search for + + Return - - Use operators like bpm:115-128, artist:BooFar, -year:1990 + + Enter a string to search for. - - For more information see User Manual > Mixxx Library + + Use operators like bpm:115-128, artist:BooFar, -year:1990. - Shortcut - Otsetee + See User Manual > Mixxx Library for more information. + - - Ctrl+F - Ctrl+F + + Focus/Select All (Search in current view) + Give search bar input focus + - - Focus - Give search bar input focus + + Focus/Select All (Search in 'Tracks' library view) - - - Ctrl+Backspace + + Additional Shortcuts When Focused: - Shortcuts + Trigger search before search-as-you-type timeout or focus tracks view afterwards - Return + Esc or Ctrl+Return - Trigger search before search-as-you-type timeout orjump to tracks view afterwards + Immediately trigger search and focus tracks view + Exit search bar and leave focus - + Ctrl+Space - + Toggle search history Shows/hides the search history entries - + Delete or Backspace - - Delete query from history + + in search history - - Esc - Esc - - - - Exit search - Exit search bar and leave focus + + Delete query from history WSearchRelatedTracksMenu - + Search related Tracks - + Key Nupp - + harmonic with %1 - + BPM Lööki minutis - + between %1 and %2 - + Artist Esitaja - + Album Artist Albumi esitaja - + Composer Helilooja - + Title Pealkiri - + Album Album - + Grouping Rühmitamine - + Year Aasta - + Genre Žanr - + Directory - + &Search selected @@ -16042,599 +16200,625 @@ This can not be undone! WTrackMenu - + Load to - + Deck Rada - + Sampler - + Add to Playlist Lisa esitusnimekirja - + Crates Plaadikastid - + Metadata - + Update external collections - + Cover Art Katte kunst - + Adjust BPM - + Select Color - - + + Analyze Analüüsi - - + + Delete Track Files - + Add to Auto DJ Queue (bottom) Lisa auto-DJ järjekorda (alla) - + Add to Auto DJ Queue (top) Lisa auto-DJ järjekorda (üles) - + Add to Auto DJ Queue (replace) - + Preview Deck - + Remove Eemalda - + Remove from Playlist - + Remove from Crate - + Hide from Library - + Unhide from Library - + Purge from Library - + Move Track File(s) to Trash - + Delete Files from Disk - + Properties Seaded - + Open in File Browser Ava failisirvias - + Select in Library - + Import From File Tags - + Import From MusicBrainz - + Export To File Tags - + BPM and Beatgrid - + Play Count - + Rating Hinnang - + Cue Point - + + Hotcues - + Intro - + Outro - + Key Nupp - + ReplayGain - + Waveform - + Comment Märkus - + All Kõik - + + Sort hotcues by position (remove offsets) + + + + + Sort hotcues by position + + + + Lock BPM Lukusta BPM - + Unlock BPM Eemalda BMP lukk - + Double BPM Topelt BPM - + Halve BPM Pool BPM - + 2/3 BPM 2/3 BPM - + 3/4 BPM 3/4 BPM - + 4/3 BPM - + 3/2 BPM - + + Shift Beatgrid Half Beat + + + + Reanalyze - + Reanalyze (constant BPM) - + Reanalyze (variable BPM) - + Update ReplayGain from Deck Gain - + Deck %1 Rada %1 - + Importing metadata of %n track(s) from file tags - + Marking metadata of %n track(s) to be exported into file tags - - + + Create New Playlist Loo uus esitusloend - + Enter name for new playlist: Sisesta uue esitusloendi nimi: - + New Playlist Uus esitusnimekiri - - - + + + Playlist Creation Failed Esitusloendi loomine nurjus - + A playlist by that name already exists. Selle nimega esitusloend juba eksisteerib. - + A playlist cannot have a blank name. Esitusloend ei saa olla nimeta. - + An unknown error occurred while creating playlist: Teadmatu viga tekkis esitusloendi tegemisel: - + Add to New Crate - + Scaling BPM of %n track(s) - + Undo BPM/beats change of %n track(s) - + Locking BPM of %n track(s) - + Unlocking BPM of %n track(s) - + Setting rating of %n track(s) - + Setting color of %n track(s) - + Resetting play count of %n track(s) - + Resetting beats of %n track(s) - + Clearing rating of %n track(s) - + Clearing comment of %n track(s) - + Removing main cue from %n track(s) - + Removing outro cue from %n track(s) - + Removing intro cue from %n track(s) - + Removing loop cues from %n track(s) - + Removing hot cues from %n track(s) - + + Sorting hotcues of %n track(s) by position (remove offsets) + + + + + Sorting hotcues of %n track(s) by position + + + + Resetting keys of %n track(s) - + Resetting replay gain of %n track(s) - + Resetting waveform of %n track(s) - + Resetting all performance metadata of %n track(s) - + Move these files to the trash bin? - + Permanently delete these files from disk? - - + + This can not be undone! - + Cancel Katkesta - + Delete Files - + Okay - + Move Track File(s) to Trash? - + Track Files Deleted - + Track Files Moved To Trash - + %1 track files were moved to trash and purged from the Mixxx database. - + %1 track files were deleted from disk and purged from the Mixxx database. - + Track File Deleted - + Track file was deleted from disk and purged from the Mixxx database. - + The following %1 file(s) could not be deleted from disk - + This track file could not be deleted from disk - + Remaining Track File(s) - + Close Sulge - + Clear Reset metadata in right click track context menu in library - + Loops - + Clear BPM and Beatgrid - + Undo last BPM/beats change - + Move this track file to the trash bin? - + Permanently delete this track file from disk? - + All decks where these tracks are loaded will be stopped and the tracks will be ejected. - + All decks where this track is loaded will be stopped and the track will be ejected. - + Removing %n track file(s) from disk... - + Note: if you are in the Computer or Recording view you need to click the current view again to see changes. - + Track File Moved To Trash - + Track file was moved to trash and purged from the Mixxx database. - + Don't show again during this session - + The following %1 file(s) could not be moved to trash - + This track file could not be moved to trash - + Setting cover art of %n track(s) - + Reloading cover art of %n track(s) @@ -16650,37 +16834,37 @@ This can not be undone! WTrackStemMenu - + Load for stem mixing - + Load pre-mixed stereo track - + Load the "%1" stem - + Load multiple stem into a stereo deck - + Select stems to load - + Release "CTRL" to load the current selection - + Use "CTRL" to select multiple stems @@ -16688,37 +16872,37 @@ This can not be undone! WTrackTableView - + Confirm track hide - + Are you sure you want to hide the selected tracks? - + Are you sure you want to remove the selected tracks from AutoDJ queue? - + Are you sure you want to remove the selected tracks from this crate? - + Are you sure you want to remove the selected tracks from this playlist? - + Don't ask again during this session - + Confirm track removal @@ -16726,60 +16910,65 @@ This can not be undone! WTrackTableViewHeader - + Show or hide columns. Näita või peida tulpasi. + + + Shuffle Tracks + + mixxx::CoreServices - + fonts - + database - + effects - + audio interface - + decks - + library - + Choose music library directory - + controllers - + Cannot open database Ei suuda avada andmebaasi - + Unable to establish a database connection. Mixxx requires QT with SQLite support. Please read the Qt SQL driver documentation for information on how to build it. @@ -16790,67 +16979,78 @@ Click OK to exit. mixxx::DlgLibraryExport - + Entire music library - - Selected crates + + Crates + + + + + Playlists + + + + + Selected crates/playlists - + Browse Sirvi - + Export directory - + Database version - + Export Ekspordi - + Cancel Katkesta - - Export Library to Engine Prime + + Export Library to Engine DJ + "Engine DJ" must not be translated - + Export Library To - + No Export Directory Chosen - + No export directory was chosen. Please choose a directory in order to export the music library. - + A database already exists in the chosen directory. Exported tracks will be added into this database. - + A database already exists in the chosen directory, but there was a problem loading it. Export is not guaranteed to succeed in this situation. @@ -16871,7 +17071,7 @@ Click OK to exit. mixxx::EnginePrimeExportJob - + Failed to export track %1 - %2: %3 %1 is the artist %2 is the title and %3 is the original error message @@ -16881,23 +17081,23 @@ Click OK to exit. mixxx::LibraryExporter - + Export Completed - - Exported %1 track(s) and %2 crate(s). + + Exported %1 track(s), %2 crate(s), and %3 playlist(s). - + Export Failed - - Exporting to Engine Prime... + + Exporting to Engine DJ... diff --git a/res/translations/mixxx_eu.qm b/res/translations/mixxx_eu.qm index e0f1210c84d227f37cc60b44da95188a44d5c7a9..58e6770a719a3981a47265acaa9a495975e2bdc4 100644 GIT binary patch delta 445 zcmXAjUr1AN9L3M?yPw-_|J-a5tFUNx37dfrj)=0tbR{-ON@MLs5nqz~6p0Tdh*%F% z%6CS8U=OKx)7^QS8(A>&C2JXUi+# z=^1p!rhzV0X>79PNKm$)L(&wd*ply$wmr(&;;v|~j{qZM;#PhHC>2C1xeXMPJXtpMeR@`Yw^m*bpv zsZ3x7DOJfmWfEjtyz^AAO*oX+We!{PvY-Mzs}&cb#M$ozJ0Y|Yq5 z!hF}=L5qD{aX%pQ1E2H6>Wo1pc`XFQ!iv`P4Or^oagR!Kt892yL_H6AHOju`9UBYx zxyyHtjK6I867*)0L;hBp|Iau4riietT^7w;snw{Ub2M<8=DRr+NYIkq6zHLRnq{z= a&j%yISLzF{&+*Li1ztUItaSO^u73|yzL?$s delta 571 zcmZ9HT}V@L7{;Iff2W<}ock~#Y)fRV73d-_ntdsTIcv;8WGS`_L#0M?LR%j~UsOba znet{N4Fhv?y3M2eXb6QjQWSz0k|gL|U4*xzE>h^kZlV`neizU4!1Jv4Ym@=apoP^9 zS>M_wMu5g~;Ox&l&mRF!Rssz>@{E@a{P}ypSS9O?NLGh=nF6$7i6buQofO1bn}T;Y8D;EiDu#D zsdqr;xG*BC9WspiMTc&>N{9`p!@?gZE!OhP1ImdG9!ru{dcl*IDJ?m8a-7zr2%l`H zhXps-5^WZ=n15>%t5IO|mv(VQEj+tSojNyHEELz>;WIa>vd~qWD3{urN&r`>Bs+fq zDH8y$HO*#^ap zGM{cIt7$)<(v#QZP*#S%Z+~kTiv?a diff --git a/res/translations/mixxx_eu.ts b/res/translations/mixxx_eu.ts index 2b80212ca903..518820c3c7f6 100644 --- a/res/translations/mixxx_eu.ts +++ b/res/translations/mixxx_eu.ts @@ -39,32 +39,32 @@ - + Remove Crate as Track Source Kendu kaxa pistaren iturri bezala - + Auto DJ Auto DJ - + Confirmation Clear - + Do you really want to remove all tracks from the Auto DJ queue? - + This can not be undone. - + Add Crate as Track Source Gehitu kaxa pistaren iturri bezala @@ -149,28 +149,28 @@ BasePlaylistFeature - + New Playlist Erreprodukzio-zerrenda berria - + Add to Auto DJ Queue (bottom) Gehitu Auto DJ ilarara (bukaeran) - + Create New Playlist Erreprodukzio-zerrenda berria sortu - + Add to Auto DJ Queue (top) Gehitu Auto DJ ilarara (hasieran) - + Remove Kendu @@ -180,12 +180,12 @@ Berrizendatu - + Lock Blokeatu - + Duplicate Bikoiztu @@ -206,24 +206,24 @@ Erreprodukzio-zerrenda osoa aztertu - + Enter new name for playlist: Erreprodukzio-zerrendaren izen berria sartu: - + Duplicate Playlist Bikoiztu erreprodukzio-zerrenda - - + + Enter name for new playlist: Erreprodukzio-zerrenda berriaren izena sartu: - + Export Playlist Esportatu erreprodukzio-zerrenda @@ -233,70 +233,77 @@ - + + + Export to Engine DJ + "Engine DJ" is a product name and must not be translated. + + + + Rename Playlist Berrizendatu erreprodukzio-zerrenda - - + + Renaming Playlist Failed Ezin izan da erreprodukzio-zerrenda berrizendatu - - - + + + A playlist by that name already exists. Badago izen bereko beste erreproduzkio-zerrenda bat - - - + + + A playlist cannot have a blank name. Erreprodukzio-Zerrenda batek ezin du izen hutsik izan - + _copy //: Appendix to default name when duplicating a playlist - - - - - - + + + + + + Playlist Creation Failed Ezin izan da erreprodukzio-zerrenda sortu - - + + An unknown error occurred while creating playlist: Errore ezezagun bat gertatu da erreprodukzio zerrenda sortzean: - + Confirm Deletion - + Do you really want to delete playlist <b>%1</b>? - + M3U Playlist (*.m3u) M3U erreproduzio-zerrenda (*.m3u) - + M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Text CSV (*.csv);;Readable Text (*.txt) M3U erreprodukzio-zerrenda (*.m3u);;M3U8 erreprodukzio-zerrenda (*.m3u8);;PLS erreprodukzio-zerrenda (*.pls);;CSV testua (*.csv);;Testu hutsa (*.txt) @@ -304,12 +311,12 @@ BaseSqlTableModel - + # # - + Timestamp Denbora-marka @@ -317,7 +324,7 @@ BaseTrackPlayerImpl - + Couldn't load track. Ezin izan da pista kargatu @@ -325,137 +332,142 @@ BaseTrackTableModel - + Album Albuma - + Album Artist Albumaren artista - + Artist Artista - + Bitrate Bit tasa - + BPM BPM - + Channels Kanalak - + Color Kolorea - + Comment Iruzkina - + Composer Konpositorea - + Cover Art Azalaren irudia - + Date Added Gehitze-data: - + Last Played - + Duration Iraupena - + Type Mota - + Genre Generoa - + Grouping Taldeka - + Key Tonalitatea - + Location Kokalekua - + + Overview + + + + Preview Aurreikusi - + Rating Balorazioa - + ReplayGain ReplayGain - + Samplerate - + Played Jotakoak - + Title Titulua - + Track # Pista-zenbakia - + Year Urtea - + Fetching image ... Tooltip text on the cover art column shown when the cover is read from disk @@ -543,67 +555,77 @@ BrowseFeature - + Add to Quick Links Gehitu esteka azkarretara - + Remove from Quick Links Kendu esteka azkarretatik - + Add to Library Liburutegira gehitu - + Refresh directory tree - + Quick Links Esteka azkarrak - - + + Devices Gailuak - + Removable Devices Gailu aldagarriak - - + + Computer Ordenagailua - + Music Directory Added Musika-direktorioa gehitu da - + You added one or more music directories. The tracks in these directories won't be available until you rescan your library. Would you like to rescan now? - + Scan - + "Computer" lets you navigate, view, and load tracks from folders on your hard disk and external devices. + + + It shows the data from the file tags, not track data from your Mixxx library like other track views. + + + + + If you load a track file from here, it will be added to your library. + + BrowseTableModel @@ -749,87 +771,87 @@ CmdlineArgs - + Mixxx is an open source DJ software. For more information, see: - + Starts Mixxx in full-screen mode - + Use a custom locale for loading translations. (e.g 'fr') - + Top-level directory where Mixxx should look for its resource files such as MIDI mappings, overriding the default installation location. - + Path the debug statistics time line is written to - + Causes Mixxx to display/log all of the controller data it receives and script functions it loads - + The controller mapping will issue more aggressive warnings and errors when detecting misuse of controller APIs. New Controller Mappings should be developed with this option enabled! - + Enables developer-mode. Includes extra log info, stats on performance, and a Developer tools menu. - + Top-level directory where Mixxx should look for settings. Default is: - + Starts Auto DJ when Mixxx is launched. - + Rescans the library when Mixxx is launched. - + Use legacy vu meter - + Use legacy spinny - + Loads experimental QML GUI instead of legacy QWidget skin - + Enables safe-mode. Disables OpenGL waveforms, and spinning vinyl widgets. Try this option if Mixxx is crashing on startup. - + [auto|always|never] Use colors on the console output. - + Sets the verbosity of command line logging. critical - Critical/Fatal only warning - Above + Warnings @@ -839,27 +861,32 @@ trace - Above + Profiling messages - + Sets the the logging level at which the log buffer is flushed to mixxx.log. <level> is one of the values defined at --log-level above. - + Sets the maximum file size of the mixxx.log file in bytes. Use -1 for unlimited. The default is 100 MB as 1e5 or 100000000. - + Breaks (SIGINT) Mixxx, if a DEBUG_ASSERT evaluates to false. Under a debugger you can continue afterwards. - + + Overrides the default application GUI style. Possible values: %1 + + + + Load the specified music file(s) at start-up. Each file you specify will be loaded into the next virtual deck. - + Preview rendered controller screens in the Setting windows. @@ -1041,13 +1068,13 @@ trace - Above + Profiling messages - + Set to full volume - + Set to zero volume @@ -1072,13 +1099,13 @@ trace - Above + Profiling messages - + Headphone listen button - + Mute button @@ -1089,25 +1116,25 @@ trace - Above + Profiling messages - + Mix orientation (e.g. left, right, center) - + Set mix orientation to left - + Set mix orientation to center - + Set mix orientation to right @@ -1148,22 +1175,22 @@ trace - Above + Profiling messages - + Toggle quantize mode - + One-time beat sync (tempo only) - + One-time beat sync (phase only) - + Toggle keylock mode @@ -1173,193 +1200,193 @@ trace - Above + Profiling messages Ekualizadoreak - + Vinyl Control Binilo kontrola - + Toggle vinyl-control cueing mode (OFF/ONE/HOT) - + Toggle vinyl-control mode (ABS/REL/CONST) - + Pass through external audio into the internal mixer - + Cues - + Cue button - + Set cue point - + Go to cue point - + Go to cue point and play - + Go to cue point and stop - + Preview from cue point - + Cue button (CDJ mode) - + Stutter cue - + Hotcues - + Set, preview from or jump to hotcue %1 - + Clear hotcue %1 - + Set hotcue %1 - + Jump to hotcue %1 - + Jump to hotcue %1 and stop - + Jump to hotcue %1 and play - + Preview from hotcue %1 - - + + Hotcue %1 - + Looping - + Loop In button - + Loop Out button - + Loop Exit button - + 1/2 1/2 - + 1 1 - + 2 2 - + 4 4 - + 8 8 - + 16 16 - + 32 32 - + 64 64 - + Move loop forward by %1 beats - + Move loop backward by %1 beats - + Create %1-beat loop Sortu %1-taupada begizta - + Create temporary %1-beat loop roll Sortu behin behineko %1-taupada begizta erroilua @@ -1475,20 +1502,20 @@ trace - Above + Profiling messages - - + + Volume Fader - + Full Volume - + Zero Volume @@ -1504,7 +1531,7 @@ trace - Above + Profiling messages - + Mute @@ -1515,7 +1542,7 @@ trace - Above + Profiling messages - + Headphone Listen @@ -1536,25 +1563,25 @@ trace - Above + Profiling messages - + Orientation - + Orient Left - + Orient Center - + Orient Right @@ -1624,82 +1651,82 @@ trace - Above + Profiling messages - + Adjust Beatgrid Doitu taupada sarea - + Align beatgrid to current position - + Adjust Beatgrid - Match Alignment - + Adjust beatgrid to match another playing deck. - + Quantize Mode - + Sync - + Beat Sync One-Shot - + Sync Tempo One-Shot - + Sync Phase One-Shot - + Pitch control (does not affect tempo), center is original pitch - + Pitch Adjust - + Adjust pitch from speed slider pitch - + Match musical key - + Match Key - + Reset Key - + Resets key to original @@ -1740,451 +1767,451 @@ trace - Above + Profiling messages - + Toggle Vinyl Control - + Toggle Vinyl Control (ON/OFF) - + Vinyl Control Mode - + Vinyl Control Cueing Mode - + Vinyl Control Passthrough - + Vinyl Control Next Deck - + Single deck mode - Switch vinyl control to next deck - + Cue - + Set Cue - + Go-To Cue - + Go-To Cue And Play - + Go-To Cue And Stop - + Preview Cue - + Cue (CDJ Mode) - + Stutter Cue - + Go to cue point and play after release - + Clear Hotcue %1 - + Set Hotcue %1 - + Jump To Hotcue %1 - + Jump To Hotcue %1 And Stop - + Jump To Hotcue %1 And Play - + Preview Hotcue %1 - + Loop In - + Loop Out - + Loop Exit - + Reloop/Exit Loop - + Loop Halve Begizta erdibitu - + Loop Double Begizta bikoiztu - + 1/32 - + 1/16 - + 1/8 - + 1/4 - + Move Loop +%1 Beats - + Move Loop -%1 Beats - + Loop %1 Beats - + Loop Roll %1 Beats - + Add to Auto DJ Queue (bottom) Gehitu Auto DJ ilarara (bukaeran) - + Append the selected track to the Auto DJ Queue - + Add to Auto DJ Queue (top) Gehitu Auto DJ ilarara (hasieran) - + Prepend selected track to the Auto DJ Queue - + Load Track - + Load selected track Kargatu aukeratutako pista - + Load selected track and play Kargatu aukeratutako pista eta erreproduzitu - - + + Record Mix - + Toggle mix recording - + Effects Efektuak - + Quick Effects - + Deck %1 Quick Effect Super Knob - + Quick Effect Super Knob (control linked effect parameters) - - + + Quick Effect - + Clear Unit - + Clear effect unit - + Toggle Unit - + Dry/Wet - + Adjust the balance between the original (dry) and processed (wet) signal. - + Super Knob - + Next Chain - + Assign - + Clear - + Clear the current effect - + Toggle - + Toggle the current effect - + Next Hurrengoa - + Switch to next effect - + Previous Aurrekoa - + Switch to the previous effect - + Next or Previous - + Switch to either next or previous effect - - + + Parameter Value - - + + Microphone Ducking Strength - + Microphone Ducking Mode - + Gain Irabazia - + Gain knob Irabazi kisketa - + Shuffle the content of the Auto DJ queue - + Skip the next track in the Auto DJ queue - + Auto DJ Toggle - + Toggle Auto DJ On/Off - + Show/hide the microphone & auxiliary section - + 4 Effect Units Show/Hide - + Switches between showing 2 and 4 effect units - + Mixer Show/Hide - + Show or hide the mixer. - + Cover Art Show/Hide (Library) - + Show/hide cover art in the library - + Library Maximize/Restore - + Maximize the track library to take up all the available screen space. - + Effect Rack Show/Hide - + Show/hide the effect rack - + Waveform Zoom Out @@ -2199,102 +2226,102 @@ trace - Above + Profiling messages - + Tap to sync tempo (and phase with quantize enabled), hold to enable permanent sync - + One-time beat sync tempo (and phase with quantize enabled) - + Playback Speed - + Playback speed control (Vinyl "Pitch" slider) - + Pitch (Musical key) - + Increase Speed - + Adjust speed faster (coarse) - + Increase Speed (Fine) - + Adjust speed faster (fine) - + Decrease Speed - + Adjust speed slower (coarse) - + Adjust speed slower (fine) - + Temporarily Increase Speed - + Temporarily increase speed (coarse) - + Temporarily Increase Speed (Fine) - + Temporarily increase speed (fine) - + Temporarily Decrease Speed - + Temporarily decrease speed (coarse) - + Temporarily Decrease Speed (Fine) - + Temporarily decrease speed (fine) @@ -2446,1041 +2473,1063 @@ trace - Above + Profiling messages - - + + Move Beatgrid Half a Beat + + + + + Adjust the beatgrid by exactly one half beat. Usable only for tracks with constant tempo. + + + + + Toggle the BPM/beatgrid lock - + Revert last BPM/Beatgrid Change - + Revert last BPM/Beatgrid Change of the loaded track. - + Sync / Sync Lock - + Internal Sync Leader - + Toggle Internal Sync Leader - - + + Internal Leader BPM - + Internal Leader BPM +1 - + Increase internal Leader BPM by 1 - + Internal Leader BPM -1 - + Decrease internal Leader BPM by 1 - + Internal Leader BPM +0.1 - + Increase internal Leader BPM by 0.1 - + Internal Leader BPM -0.1 - + Decrease internal Leader BPM by 0.1 - + Sync Leader - + Sync mode 3-state toggle / indicator (Off, Soft Leader, Explicit Leader) - + Speed - + Decrease Speed (Fine) - + Pitch (Musical Key) - + Increase Pitch - + Increases the pitch by one semitone - + Increase Pitch (Fine) - + Increases the pitch by 10 cents - + Decrease Pitch - + Decreases the pitch by one semitone - + Decrease Pitch (Fine) - + Decreases the pitch by 10 cents - + Keylock - + CUP (Cue + Play) - + Shift cue points earlier - + Shift cue points 10 milliseconds earlier - + Shift cue points earlier (fine) - + Shift cue points 1 millisecond earlier - + Shift cue points later - + Shift cue points 10 milliseconds later - + Shift cue points later (fine) - + Shift cue points 1 millisecond later - + + + Sort hotcues by position + + + + + + Sort hotcues by position (remove offsets) + + + + Hotcues %1-%2 - + Intro / Outro Markers - + Intro Start Marker - + Intro End Marker - + Outro Start Marker - + Outro End Marker - + intro start marker - + intro end marker - + outro start marker - + outro end marker - + Activate %1 [intro/outro marker - + Jump to or set the %1 [intro/outro marker - + Set %1 [intro/outro marker - + Set or jump to the %1 [intro/outro marker - + Clear %1 [intro/outro marker - + Clear the %1 [intro/outro marker - + if the track has no beats the unit is seconds - + Loop Selected Beats - + Create a beat loop of selected beat size - + Loop Roll Selected Beats - + Create a rolling beat loop of selected beat size - + Loop %1 Beats set from its end point - + Loop Roll %1 Beats set from its end point - + Create %1-beat loop with the current play position as loop end - + Create temporary %1-beat loop roll with the current play position as loop end - + Loop Beats - + Loop Roll Beats - + Go To Loop In - + Go to Loop In button - + Go To Loop Out - + Go to Loop Out button - + Toggle loop on/off and jump to Loop In point if loop is behind play position - + Reloop And Stop - + Enable loop, jump to Loop In point, and stop - + Halve the loop length - + Double the loop length - + Beat Jump / Loop Move - + Jump / Move Loop Forward %1 Beats - + Jump / Move Loop Backward %1 Beats - + Jump forward by %1 beats, or if a loop is enabled, move the loop forward %1 beats - + Jump backward by %1 beats, or if a loop is enabled, move the loop backward %1 beats - + Beat Jump / Loop Move Forward Selected Beats - + Jump forward by the selected number of beats, or if a loop is enabled, move the loop forward by the selected number of beats - + Beat Jump / Loop Move Backward Selected Beats - + Jump backward by the selected number of beats, or if a loop is enabled, move the loop backward by the selected number of beats - + Beat Jump - + Indicate which loop marker remain static when adjusting the size or is inherited from the current position - + Beat Jump / Loop Move Forward - + Beat Jump / Loop Move Backward - + Loop Move Forward - + Loop Move Backward - + Remove Temporary Loop - + Remove the temporary loop - + Navigation - + Move up - + Equivalent to pressing the UP key on the keyboard - + Move down - + Equivalent to pressing the DOWN key on the keyboard - + Move up/down - + Move vertically in either direction using a knob, as if pressing UP/DOWN keys - + Scroll Up - + Equivalent to pressing the PAGE UP key on the keyboard - + Scroll Down - + Equivalent to pressing the PAGE DOWN key on the keyboard - + Scroll up/down - + Scroll vertically in either direction using a knob, as if pressing PGUP/PGDOWN keys - + Move left - + Equivalent to pressing the LEFT key on the keyboard - + Move right - + Equivalent to pressing the RIGHT key on the keyboard - + Move left/right - + Move horizontally in either direction using a knob, as if pressing LEFT/RIGHT keys - + Move focus to right pane - + Equivalent to pressing the TAB key on the keyboard - + Move focus to left pane - + Equivalent to pressing the SHIFT+TAB key on the keyboard - + Move focus to right/left pane - + Move focus one pane to right or left using a knob, as if pressing TAB/SHIFT+TAB keys - + Sort focused column - + Sort the column of the cell that is currently focused, equivalent to clicking on its header - + Go to the currently selected item - + Choose the currently selected item and advance forward one pane if appropriate - + Load Track and Play - + Add to Auto DJ Queue (replace) - + Replace Auto DJ Queue with selected tracks - + Select next search history - + Selects the next search history entry - + Select previous search history - + Selects the previous search history entry - + Move selected search entry - + Moves the selected search history item into given direction and steps - + Clear search - + Clears the search query - - + + Select Next Color Available - + Select the next color in the color palette for the first selected track - - + + Select Previous Color Available - + Select the previous color in the color palette for the first selected track - + Deck %1 Quick Effect Enable Button - + Quick Effect Enable Button - + Enable or disable effect processing - + Super Knob (control effects' Meta Knobs) - + Mix Mode Toggle - + Toggle effect unit between D/W and D+W modes - + Next chain preset - + Previous Chain - + Previous chain preset - + Next/Previous Chain - + Next or previous chain preset - - + + Show Effect Parameters - + Effect Unit Assignment - + Meta Knob - + Effect Meta Knob (control linked effect parameters) - + Meta Knob Mode - + Set how linked effect parameters change when turning the Meta Knob. - + Meta Knob Mode Invert - + Invert how linked effect parameters change when turning the Meta Knob. - - + + Button Parameter Value - + Microphone / Auxiliary - + Microphone On/Off - + Microphone on/off Mikrofonoa on/off - + Toggle microphone ducking mode (OFF, AUTO, MANUAL) - + Auxiliary On/Off - + Auxiliary on/off - + Auto DJ Auto DJ - + Auto DJ Shuffle - + Auto DJ Skip Next - + Auto DJ Add Random Track - + Add a random track to the Auto DJ queue - + Auto DJ Fade To Next - + Trigger the transition to the next track - + User Interface Erabiltzaile interfazea - + Samplers Show/Hide - + Show/hide the sampler section - + Microphone && Auxiliary Show/Hide keep double & to prevent creation of keyboard accelerator - + Waveform Zoom Reset To Default - + Reset the waveform zoom level to the default value selected in Preferences -> Waveforms - + Select the next color in the color palette for the loaded track. - + Select previous color in the color palette for the loaded track. - + Navigate Through Track Colors - + Select either next or previous color in the palette for the loaded track. - + Start/Stop Live Broadcasting - + Stream your mix over the Internet. - + Start/stop recording your mix. - - + + Samplers - + Vinyl Control Show/Hide - + Show/hide the vinyl control section - + Preview Deck Show/Hide - + Show/hide the preview deck - + Toggle 4 Decks - + Switches between showing 2 decks and 4 decks. - + Cover Art Show/Hide (Decks) - + Show/hide cover art in the main decks - + Vinyl Spinner Show/Hide - + Show/hide spinning vinyl widget - + Vinyl Spinners Show/Hide (All Decks) - + Show/Hide all spinnies - + Toggle Waveforms - + Show/hide the scrolling waveforms. - + Waveform zoom - + Waveform Zoom - + Zoom waveform in - + Waveform Zoom In - + Zoom waveform out - + Star Rating Up - + Increase the track rating by one star - + Star Rating Down - + Decrease the track rating by one star @@ -3595,32 +3644,32 @@ trace - Above + Profiling messages ControllerScriptEngineBase - + The functionality provided by this controller mapping will be disabled until the issue has been resolved. - + You can ignore this error for this session but you may experience erratic behavior. - + Try to recover by resetting your controller. - + Controller Mapping Error - + The mapping for your controller "%1" is not working properly. - + The script code needs to be fixed. @@ -3664,13 +3713,13 @@ trace - Above + Profiling messages CrateFeature - + Remove Kendu - + Create New Crate @@ -3680,132 +3729,132 @@ trace - Above + Profiling messages Berrizendatu - - + + Lock Blokeatu - + Export Crate as Playlist - + Export Track Files Pisten fitxategiak esportatu - + Duplicate Bikoiztu - + Analyze entire Crate - + Auto DJ Track Source - + Enter new name for crate: - - + + Crates Kaxak - - + + Import Crate Inportatu kaxa - + Export Crate Esportatu kaxa - + Unlock Desblokeatu - + An unknown error occurred while creating crate: Errore ezezagun bat gertatu da kaxa sortzean: - + Rename Crate Berrizendatu kaxa - - - Export to Engine Prime - - - - + Make a crate for your next gig, for your favorite electrohouse tracks, or for your most requested tracks. - + Confirm Deletion - - + + Renaming Crate Failed Ezin inan da kaxa berrizendatu - + Crate Creation Failed - + M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Text CSV (*.csv);;Readable Text (*.txt) M3U erreprodukzio-zerrenda (*.m3u);;M3U8 erreprodukzio-zerrenda (*.m3u8);;PLS erreprodukzio-zerrenda (*.pls);;CSV testua (*.csv);;Testu hutsa (*.txt) - + M3U Playlist (*.m3u) M3U erreproduzio-zerrenda (*.m3u) - + Crates are a great way to help organize the music you want to DJ with. Kaxak DJ bezala erabili nahi duzun musika antolatzeko bikainak dira - + + + Export to Engine DJ + + + + Crates let you organize your music however you'd like! Kaxak zure musika nahieran antolatzea baimentzen dizute! - + Do you really want to delete crate <b>%1</b>? - + A crate cannot have a blank name. Kaxa batek ezin du izena hutsik izan - + A crate by that name already exists. Izen hori duen beste kaxa bat bada @@ -3900,12 +3949,12 @@ trace - Above + Profiling messages Lehengo - + Official Website - + Donate @@ -4024,72 +4073,72 @@ trace - Above + Profiling messages DlgAutoDJ - + Skip Jauzi - + Random - + Fade - + Enable Auto DJ Shortcut: Shift+F12 - + Disable Auto DJ Shortcut: Shift+F12 - + Trigger the transition to the next track Shortcut: Shift+F11 - + Skip the next track in the Auto DJ queue Shortcut: Shift+F10 - + Shuffle the content of the Auto DJ queue Shortcut: Shift+F9 - + Repeat the playlist - + Determines the duration of the transition - + Seconds Segundoak - + Auto DJ Fade Modes Full Intro + Outro: @@ -4120,80 +4169,80 @@ crossfader, so that the intro starts at full volume. - + Full Intro + Outro - + Fade At Outro Start - + Full Track - + Skip Silence - + Skip Silence Start Full Volume - + Decks not used for Auto DJ must be stopped to enable Auto DJ mode. - + Repeat Errepikatu - + Auto DJ requires two decks assigned to opposite sides of the crossfader. - + One deck must be stopped to enable Auto DJ mode. - + Enable - + Disable - + Displays the duration and number of selected tracks. - - - + + + Auto DJ Auto DJ - + Shuffle Nahastu - + Adds a random track from track sources (crates) to the Auto DJ queue. If no track sources are configured, the track is added from the library instead. @@ -4416,37 +4465,37 @@ Often results in higher quality beatgrids, but will not do well on tracks that h - + Didn't get any midi messages. Please try again. - + Unable to detect a mapping -- please try again. Be sure to only touch one control at once. - + Successfully mapped control: - + <i>Ready to learn %1</i> - + Learning: %1. Now move a control on your controller. - + The selected control does not exist.<br>This likely a bug. Please report it on the Mixxx bug tracker.<br><a href='https://github.com/mixxxdj/mixxx/issues'>https://github.com/mixxxdj/mixxx/issues</a><br><br>You tried to learn: %1,%2 - + The control you clicked in Mixxx is not learnable. This could be because you are either using an old skin and this control is no longer supported, or you clicked a control that provides visual feedback and can only be mapped to outputs like LEDs via scripts. @@ -4485,17 +4534,17 @@ You tried to learn: %1,%2 - + Log - + Search - + Stats @@ -5148,113 +5197,113 @@ associated with each key. DlgPrefController - + Apply device settings? - + Your settings must be applied before starting the learning wizard. Apply settings and continue? - + None Bat ere ez - + %1 by %2 - + Mapping has been edited - + Always overwrite during this session - + Save As - + Overwrite - + Save user mapping - + Enter the name for saving the mapping to the user folder. - + Saving mapping failed - + A mapping cannot have a blank name and may not contain special characters. - + A mapping file with that name already exists. - + Do you want to save the changes? - + Troubleshooting - + <font color='#BB0000'><b>If you use this mapping your controller may not work correctly. Please select another mapping or disable the controller.</b></font><br><br>This mapping was designed for a newer Mixxx Controller Engine and cannot be used on your current Mixxx installation.<br>Your Mixxx installation has Controller Engine version %1. This mapping requires a Controller Engine version >= %2.<br><br>For more information visit the wiki page on <a href='https://mixxx.org/wiki/doku.php/controller_engine_versions'>Controller Engine Versions</a>. - + Mapping already exists. - + <b>%1</b> already exists in user mapping folder.<br>Overwrite or save with a new name? - + Clear Input Mappings - + Are you sure you want to clear all input mappings? - + Clear Output Mappings - + Are you sure you want to clear all output mappings? @@ -5267,105 +5316,105 @@ Apply settings and continue? - + Enabled Gaitua - + Device Info - + Physical Interface: - + Vendor name: - + Product name: - + Vendor ID - + VID: - + Product ID - + PID: - + Serial number: - + USB interface number: - + HID Usage-Page: - + HID Usage: - + Description: - + Support: - + Screens preview - + Input Mappings - - + + Search - - + + Add Gehitu - - + + Remove Kendu @@ -5380,22 +5429,22 @@ Apply settings and continue? - + Load Mapping: - + Mapping Info - + Author: - + Name: @@ -5405,28 +5454,28 @@ Apply settings and continue? - + Data protocol: - + Mapping Files: - + Mapping Settings - - + + Clear All Garbitu dena - + Output Mappings @@ -5585,6 +5634,16 @@ Apply settings and continue? Multi-Sampling + + + Force 3D acceleration + + + + + If checked, Mixxx will always assume 3D acceleration is available. This may lead to pour performance if only CP-backed rendering is available.. + + Start in full-screen mode @@ -6176,62 +6235,62 @@ You can always drag-and-drop tracks on screen to clone a deck. DlgPrefInterface - + The minimum size of the selected skin is bigger than your screen resolution. - + Allow screensaver to run - + Prevent screensaver from running - + Prevent screensaver while playing - + Disabled - + 2x MSAA - + 4x MSAA - + 8x MSAA - + 16x MSAA - + This skin does not support color schemes - + Information Informazioa - + Mixxx must be restarted before the new locale, scaling or multi-sampling settings will take effect. @@ -7398,173 +7457,172 @@ The loudness target is approximate and assumes track pregain and main output lev DlgPrefSound - + %1 Hz %1 Hz - + Default (long delay) - + Experimental (no delay) - + Disabled (short delay) - + Soundcard Clock - + Network Clock - + Direct monitor (recording and broadcasting only) - + Disabled - + Enabled Gaitua - + Stereo Estereo - + Mono - + To enable Realtime scheduling (currently disabled), see the %1. - + The %1 lists sound cards and controllers you may want to consider for using Mixxx. - + Mixxx DJ Hardware Guide - + Information - + Mixxx must be restarted before the multi-threaded RubberBand setting change will take effect. - + auto (<= 1024 frames/period) - + 2048 frames/period - + 4096 frames/period - + Are you sure? - + Distribute stereo channels into mono channels for parallel processing will result in a loss of mono compatibility and a diffuse stereo image. It is not recommended during broadcasting or recording. - + Are you sure you wish to proceed? - + No - + Yes, I know what I am doing - + Microphone inputs are out of time in the record & broadcast signal compared to what you hear. - + Measure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. - - + Refer to the Mixxx User Manual for details. - + Configured latency has changed. - + Remeasure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. - + Realtime scheduling is enabled. - + Main output only - + Main and booth outputs - + %1 ms %1 ms - + Configuration error Konfigurazio-errorea @@ -7582,131 +7640,131 @@ The loudness target is approximate and assumes track pregain and main output lev - + Sample Rate Lagintze-maiztasuna - + Audio Buffer - + Engine Clock - + Use soundcard clock for live audience setups and lowest latency.<br>Use network clock for broadcasting without a live audience. - + Main Mix - + Main Output Mode - + Microphone Monitor Mode - + Microphone Latency Compensation - - - - + + + + ms milliseconds - + 20 ms - + Buffer Underflow Count - + 0 - + Keylock/Pitch-Bending Engine - + Multi-Soundcard Synchronization - + Output Irteera - + Input Sarrera - + System Reported Latency - + Enlarge your audio buffer if the underflow counter is increasing or you hear pops during playback. - + Main Output Delay - + Headphone Output Delay - + Booth Output Delay - + Dual-threaded Stereo - + Hints and Diagnostics - + Downsize your audio buffer to improve Mixxx's responsiveness. - + Query Devices @@ -7861,27 +7919,28 @@ The loudness target is approximate and assumes track pregain and main output lev - - 1/3rd of waveform viewer + + 1/3 of waveform viewer + options for "Text height limit" - - Full waveform viewer height + + Entire waveform viewer - + OpenGL not available - + dropped frames - + Cached waveforms occupy %1 MiB on disk. @@ -7894,250 +7953,256 @@ The loudness target is approximate and assumes track pregain and main output lev - + Frame rate - - Displays which OpenGL version is supported by the current platform. + + OpenGL Status - - Waveform + + Displays which OpenGL version is supported by the current platform. - + Normalize waveform overview - + Average frame rate - + Visual gain - + Default zoom level Waveform zoom - + Displays the actual frame rate. - + Visual gain of the middle frequencies - + End of track warning - - OpenGL status - - - - + This functionality requires waveform acceleration. - + Highlight the waveforms when the last seconds of a track remains. - + seconds - + Low Grabea - + Show minute markers on waveform overview - + Use acceleration - + High details - + Middle - + Global - + Visual gain of the high frequencies - + Visual gain of the low frequencies - + High Agudoa - + Global visual gain - + The waveform overview shows the waveform envelope of the entire track. Select from different types of displays for the waveform overview, which differ primarily in the level of detail shown in the waveform. - + Enabled - + The waveform shows the waveform envelope of the track near the current playback position. Select from different types of displays for the waveform, which differ primarily in the level of detail shown in the waveform. - - Waveform overview type - - - - + fps - + Synchronize zoom level across all waveform displays. - + Synchronize zoom level across all waveforms - + Play marker hints - + Beats until next marker - + Preferred font size - + Text height limit - + Time until next marker - + Placement - + pt - + Caching - + Mixxx caches the waveforms of your tracks on disk the first time you load a track. This reduces CPU usage when you are playing live but requires extra disk space. - + Enable waveform caching - + Generate waveforms when analyzing library - + Beat grid opacity - + + Scrolling Waveforms + + + + + + Type + + + + Stereo coloration - + Set amount of opacity on beat grid lines. - + % % - + Play marker position - + Moves the play marker position on the waveforms to the left, right or center (default). - + + Overview Waveforms + + + + Clear Cached Waveforms @@ -8145,47 +8210,47 @@ Select from different types of displays for the waveform, which differ primarily DlgPreferences - + Sound Hardware Soinu Hardware-a - + Controllers - + Library Liburutegia - + Interface Interfazea - + Waveforms - + Mixer Nahastailea - + Auto DJ Auto DJ - + Decks - + Colors @@ -8220,47 +8285,47 @@ Select from different types of displays for the waveform, which differ primarily - + Effects Efektuak - + Recording Grabaketa - + Beat Detection Taupada Detekzioa - + Key Detection - + Normalization Normalizatu - + <font color='#BB0000'><b>Some preferences pages have errors. To apply the changes please first fix the issues.</b></font> - + Vinyl Control Binilo kontrola - + Live Broadcasting - + Modplug Decoder @@ -8293,22 +8358,22 @@ Select from different types of displays for the waveform, which differ primarily - + Start Recording Grabatzen hasi - + Recording to file: - + Stop Recording Grabaketa gelditu - + %1 MiB written in %2 @@ -8616,284 +8681,284 @@ This can not be undone! Laburpena - + Filetype: - + BPM: BPM: - + Location: Kokapena: - + Bitrate: Bit-tasa: - + Comments - + BPM BPM - + Sets the BPM to 75% of the current value. - + 3/4 BPM - + Sets the BPM to 50% of the current value. - + Displays the BPM of the selected track. - + Track # Pista-zenbakia - + Album Artist Albumaren artista - + Composer Konpositorea - + Title Titulua - + Grouping Taldeka - + Key Tonalitatea - + Year Urtea - + Artist Artista - + Album Albuma - + Genre Generoa - + ReplayGain: - + Sets the BPM to 200% of the current value. - + Double BPM Bikoiztu BPMa - + Halve BPM Erdibitu BPMa - + Clear BPM and Beatgrid Garbitu BPM eta taupada sarea - + Move to the previous item. "Previous" button - + &Previous &Aurrekoa - + Move to the next item. "Next" button - + &Next &Hurrengoa - + Duration: Iraupena: - + Import Metadata from MusicBrainz - + Re-Import Metadata from file - + Color - + Date added: - + Open in File Browser Ireki fitxategi kudeatzailean - + Samplerate: - + Track BPM: Pistaren BPM: - + Converts beats detected by the analyzer into a fixed-tempo beatgrid. Use this setting if your tracks have a constant tempo (e.g. most electronic music). Often results in higher quality beatgrids, but will not do well on tracks that have tempo shifts. - + Assume constant tempo - + Sets the BPM to 66% of the current value. - + 2/3 BPM - + Sets the BPM to 150% of the current value. - + 3/2 BPM - + Sets the BPM to 133% of the current value. - + 4/3 BPM - + Tap with the beat to set the BPM to the speed you are tapping. - + Tap to Beat Erritmora klikatu - + Hint: Use the Library Analyze view to run BPM detection. Aholkua: Liburutegiko Analizatu ikuspegia erabili BPM detekzioa abiarazteko. - + Save changes and close the window. "OK" button - + &OK - + Discard changes and close the window. "Cancel" button - + Save changes and keep the window open. "Apply" button - + &Apply &Aplikatu - + &Cancel &Ezeztatu - + (no color) @@ -9050,7 +9115,7 @@ Often results in higher quality beatgrids, but will not do well on tracks that h - + (no color) @@ -9252,27 +9317,27 @@ Often results in higher quality beatgrids, but will not do well on tracks that h EngineBuffer - + Soundtouch (faster) - + Rubberband (better) - + Rubberband R3 (near-hi-fi quality) - + Unknown, using Rubberband (better) - + Unknown, using Soundtouch @@ -9416,38 +9481,38 @@ Often results in higher quality beatgrids, but will not do well on tracks that h ITunesFeature - - + + iTunes iTunes - + Select your iTunes library Aukeratu zure iTunes liburutegia - + (loading) iTunes (kargatzen) iTunes - + Use Default Library Lehenetsitako liburutegia erabili - + Choose Library... Liburutegia aukeratu - + Error Loading iTunes Library Errorea iTunes Liburutegia kargatzerakoan - + There was an error loading your iTunes library. Check the logs for details. @@ -9455,12 +9520,12 @@ Often results in higher quality beatgrids, but will not do well on tracks that h LegacyControllerColorSetting - + Change color - + Choose a new color @@ -9468,18 +9533,18 @@ Often results in higher quality beatgrids, but will not do well on tracks that h LegacyControllerFileSetting - + Browse... - - + + No file selected - + Select a file @@ -9487,15 +9552,15 @@ Often results in higher quality beatgrids, but will not do well on tracks that h LegacySkinParser - - + + Safe Mode Enabled Shown when Mixxx is running in safe mode. - - + + No OpenGL support. Shown when Spinny can not be displayed. Please keep @@ -9506,57 +9571,57 @@ Shown when VuMeter can not be displayed. Please keep - + activate aktibatu - + toggle - + right eskuina - + left ezkerra - + right small - + left small - + up gora - + down behera - + up small - + down small - + Shortcut Lasterbidea @@ -9564,62 +9629,62 @@ Shown when VuMeter can not be displayed. Please keep Library - + This or a parent directory is already in your library. - + This or a listed directory does not exist or is inaccessible. Aborting the operation to avoid library inconsistencies - - + + This directory can not be read. - + An unknown error occurred. Aborting the operation to avoid library inconsistencies - + Can't add Directory to Library - + Could not add <b>%1</b> to your library. %2 - + Can't remove Directory from Library - + An unknown error occurred. - + This directory does not exist or is inaccessible. - + Relink Directory - + Could not relink <b>%1</b> to <b>%2</b>. %3 @@ -9629,22 +9694,22 @@ Aborting the operation to avoid library inconsistencies LibraryFeature - + Import Playlist Inportatu erreprodukzio-zerrenda - + Playlist Files (*.m3u *.m3u8 *.pls *.csv) Erreprodukzio-zerrenda fitxategiak (*.m3u *.m3u8 *.pls *.csv) - + Overwrite File? - + A playlist file with the name "%1" already exists. The default "m3u" extension was added because none was specified. @@ -9691,27 +9756,27 @@ Do you really want to overwrite it? MidiController - + MixxxControl(s) not found - + One or more MixxxControls specified in the outputs section of the loaded mapping were invalid. - + * Make sure the MixxxControls in question actually exist. Visit the manual for a complete list: - + Some LEDs or other feedback may not work correctly. - + * Check to see that the MixxxControl names are spelled correctly in the mapping file (.xml) @@ -9771,18 +9836,18 @@ Do you really want to overwrite it? MixxxLibraryFeature - + Missing Tracks - + Hidden Tracks - Export to Engine Prime + Export to Engine DJ @@ -9794,208 +9859,249 @@ Do you really want to overwrite it? MixxxMainWindow - + Sound Device Busy - + <b>Retry</b> after closing the other application or reconnecting a sound device - - - + + + <b>Reconfigure</b> Mixxx's sound device settings. - - + + Get <b>Help</b> from the Mixxx Wiki. Laguntza<b>Eskuratu</b> Mixxx wikitik. - - - + + + <b>Exit</b> Mixxx. <b>atera</b> Mixxx-etik. - + Retry Berriz saiatu - + skin - + Allow Mixxx to hide the menu bar? - + Hide Always show the menu bar? - + Always show - + The Mixxx menu bar is hidden and can be toggled with a single press of the <b>Alt</b> key.<br><br>Click <b>%1</b> to agree.<br><br>Click <b>%2</b> to disable that, for example if you don't use Mixxx with a keyboard.<br><br>You can change this setting any time in Preferences -> Interface.<br> Keep formatting tags <b> (bold text) and <br> (linebreak). %1 is the placeholder for the 'Always show' button label - + Ask me again - - + + Reconfigure Birkonfiguratu - + Help Laguntza - - + + Exit Irten - - + + Mixxx was unable to open all the configured sound devices. - + Sound Device Error - + <b>Retry</b> after fixing an issue - + No Output Devices - + Mixxx was configured without any output sound devices. Audio processing will be disabled without a configured output device. - + <b>Continue</b> without any outputs. - + Continue Jarraitu - + Load track to Deck %1 - + Deck %1 is currently playing a track. - + Are you sure you want to load a new track? - + There is no input device selected for this vinyl control. Please select an input device in the sound hardware preferences first. - + There is no input device selected for this passthrough control. Please select an input device in the sound hardware preferences first. - + There is no input device selected for this microphone. Do you want to select an input device? - + There is no input device selected for this auxiliary. Do you want to select an input device? - + + Scan took %1 + + + + + No changes detected. + + + + + + %1 tracks in total + + + + + %1 new tracks found + + + + + %1 moved tracks detected + + + + + %1 tracks are missing (%2 total) + + + + + %1 tracks have been rediscovered + + + + + Library scan finished + + + + Error in skin file - + The selected skin cannot be loaded. - + OpenGL Direct Rendering - + Direct rendering is not enabled on your machine.<br><br>This means that the waveform displays will be very<br><b>slow and may tax your CPU heavily</b>. Either update your<br>configuration to enable direct rendering, or disable<br>the waveform displays in the Mixxx preferences by selecting<br>"Empty" as the waveform display in the 'Interface' section. - - - + + + Confirm Exit Irtetzea konfirmatu - + A deck is currently playing. Exit Mixxx? - + A sampler is currently playing. Exit Mixxx? - + The preferences window is still open. - + Discard any changes and exit Mixxx? @@ -10011,13 +10117,13 @@ Do you want to select an input device? PlaylistFeature - + Lock Blokeatu - - + + Playlists Erreprodukzio-zerrendak @@ -10027,32 +10133,58 @@ Do you want to select an input device? - + + Unlock all playlists + + + + + Delete all unlocked playlists + + + + Unlock Desblokeatu - + + + Confirm Deletion + + + + + Do you really want to delete all unlocked playlists? + + + + + Deleting %1 unlocked playlists.<br>This operation can not be undone! + + + + Playlists are ordered lists of tracks that allow you to plan your DJ sets. - + It may be necessary to skip some tracks in your prepared playlist or add some different tracks in order to maintain the energy of your audience. - + Some DJs construct playlists before they perform live, but others prefer to build them on-the-fly. - + When using a playlist during a live DJ set, remember to always pay close attention to how your audience reacts to the music you've chosen to play. - + Create New Playlist Erreprodukzio-zerrenda berria sortu @@ -11543,7 +11675,7 @@ Fully right: end of the effect period - + Deck %1 @@ -11676,7 +11808,7 @@ Hint: compensates "chipmunk" or "growling" voices - + Passthrough @@ -11707,7 +11839,7 @@ Hint: compensates "chipmunk" or "growling" voices - + Sampler %1 @@ -11840,12 +11972,12 @@ may introduce a 'pumping' effect and/or distortion. - + built-in - + missing @@ -11880,42 +12012,42 @@ may introduce a 'pumping' effect and/or distortion. - + Empty - + Simple - + Filtered - + HSV - + VSyncTest - + RGB - + Stacked - + Unknown @@ -11973,54 +12105,54 @@ may introduce a 'pumping' effect and/or distortion. RekordboxFeature - - - + + + Rekordbox - + Playlists Erreprodukzio-zerrendak - + Folders - + Reads databases exported for Pioneer CDJ / XDJ players using the Rekordbox Export mode.<br/>Rekordbox can only export to USB or SD devices with a FAT or HFS file system.<br/>Mixxx can read a database from any device that contains the database folders (<tt>PIONEER</tt> and <tt>Contents</tt>).<br/>Not supported are Rekordbox databases that have been moved to an external device via<br/><i>Preferences > Advanced > Database management</i>.<br/><br/>The following data is read: - + Hot cues - + Loops (only the first loop is currently usable in Mixxx) - + Check for attached Rekordbox USB / SD devices (refresh) - + Beatgrids - + Memory cues - + (loading) Rekordbox @@ -12155,19 +12287,19 @@ may introduce a 'pumping' effect and/or distortion. Blokeatu - - + + Confirm Deletion - + Do you really want to delete all unlocked playlist from <b>%1</b>?<br><br> %1 is the year <b> + </b> are used to make the text in between bold in the popup <br> is a linebreak - + Deleting %1 playlists from <b>%2</b>.<br><br> %1 is the number of playlists to be deleted %2 is the year <b> + </b> are used to make the text in between bold in the popup <br> is a linebreak @@ -12579,7 +12711,7 @@ may introduce a 'pumping' effect and/or distortion. - + Spinning Vinyl @@ -12761,7 +12893,7 @@ may introduce a 'pumping' effect and/or distortion. - + Cover Art Azalaren irudia @@ -12997,197 +13129,197 @@ may introduce a 'pumping' effect and/or distortion. - + Adjust Beats Earlier - + When tapped, moves the beatgrid left by a small amount. - + Adjust Beats Later - + When tapped, moves the beatgrid right by a small amount. - + Tempo and BPM Tap - + Show/hide the spinning vinyl section. - + Keylock - + Toggling keylock during playback may result in a momentary audio glitch. - + Toggle visibility of Loop Controls - + Toggle visibility of Beatjump Controls - + Toggle visibility of Rate Control - + Toggle visibility of Key Controls - + (while previewing) - + Places a cue point at the current position on the waveform. - + Stops track at cue point, OR go to cue point and play after release (CUP mode). - + Set cue point (Pioneer/Mixxx/Numark mode), set cue point and play after release (CUP mode) OR preview from it (Denon mode). - + Is latching the playing state. - + Seeks the track to the cue point and stops. - + Play - + Plays track from the cue point. - + Sends the selected channel's audio to the headphone output, selected in Preferences -> Sound Hardware. - + (This skin should be updated to use Sync Lock!) - + Enable Sync Lock - + Tap to sync the tempo to other playing tracks or the sync leader. - + Enable Sync Leader - + When enabled, this device will serve as the sync leader for all other decks. - + This is relevant when a dynamic tempo track is loaded to a sync leader deck.In that case, other synced devices will adopt the changing tempo. - + Changes the track playback speed (affects both the tempo and the pitch). If keylock is enabled, only the tempo is affected. - + Tempo Range Display - + Displays the current range of the tempo slider. - + Un-ejects when no track is loaded, i.e. reloads the track that was ejected last (of any deck). - + Delete selected hotcue. - + Track Comment - + Displays the comment tag of the loaded track. - + Opens separate artwork viewer. - + Effect Chain Preset Settings - + Show the effect chain settings menu for this unit. - + Select and configure a hardware device for this input - + Recording Duration @@ -13425,924 +13557,932 @@ may introduce a 'pumping' effect and/or distortion. - + + Adjust beatgrid by exactly one half beat. Usable only on +tracks with constant tempo. + + + + Revert last BPM/Beatgrid Change - + Revert last BPM/Beatgrid Change of the loaded track. - - + + Toggle the BPM/beatgrid lock - + Tempo and Rate Tap - + Tempo, Rate Tap and BPM Tap - + Shift cues earlier - - + + Shift cues imported from Serato or Rekordbox if they are slightly off time. - + Left click: shift 10 milliseconds earlier - + Right click: shift 1 millisecond earlier - + Shift cues later - + Left click: shift 10 milliseconds later - + Right click: shift 1 millisecond later - + + + + Drag a Hotcue button here to continue playing after releasing the Hotcue. + + + + Hint: Change the default cue mode in Preferences -> Decks. - + Mutes the selected channel's audio in the main output. - + Main mix enable - + Hold or short click for latching to mix this input into the main output. - + If hotcue is a loop cue, toggles the loop and jumps to if the loop is behind the play position. - + If the play position is inside an active loop, stores the loop as loop cue. - + Drag this button onto another Hotcue button to move it there (change its index). If the other hotcue is set, the two are swapped. - - Dragging with Shift key pressed will not start previewing the hotcue - - - - + Expand/Collapse Samplers - + Toggle expanded samplers view. - + Displays the duration of the running recording. - + Auto DJ is active - + Red for when needle skip has been detected. - + Hot Cue - Track will seek to nearest previous hotcue point. - + Sets the track Loop-In Marker to the current play position. - + Press and hold to move Loop-In Marker. - + Jump to Loop-In Marker. - + Sets the track Loop-Out Marker to the current play position. - + Press and hold to move Loop-Out Marker. - + Jump to Loop-Out Marker. - + If the track has no beats the unit is seconds. - + Beatloop Size - + Select the size of the loop in beats to set with the Beatloop button. - + Changing this resizes the loop if the loop already matches this size. - + Halve the size of an existing beatloop, or halve the size of the next beatloop set with the Beatloop button. - + Double the size of an existing beatloop, or double the size of the next beatloop set with the Beatloop button. - + Start a loop over the set number of beats. - + Temporarily enable a rolling loop over the set number of beats. - + Beatloop Anchor - + Define whether the loop is created and adjusted from its staring point or ending point. - + Beatjump/Loop Move Size - + Select the number of beats to jump or move the loop with the Beatjump Forward/Backward buttons. - + Beatjump Forward - + Jump forward by the set number of beats. - + Move the loop forward by the set number of beats. - + Jump forward by 1 beat. - + Move the loop forward by 1 beat. - + Beatjump Backward - + Jump backward by the set number of beats. - + Move the loop backward by the set number of beats. - + Jump backward by 1 beat. - + Move the loop backward by 1 beat. - + Reloop - + If the loop is ahead of the current position, looping will start when the loop is reached. - + Works only if Loop-In and Loop-Out Marker are set. - + Enable loop, jump to Loop-In Marker, and stop playback. - + Displays the elapsed and/or remaining time of the track loaded. - + Click to toggle between time elapsed/remaining time/both. - + Hint: Change the time format in Preferences -> Decks. - + Show/hide intro & outro markers and associated buttons. - + Intro Start Marker - - - - + + + + If marker is set, jumps to the marker. - - - - + + + + If marker is not set, sets the marker to the current play position. - - - - + + + + If marker is set, clears the marker. - + Intro End Marker - + Outro Start Marker - + Outro End Marker - + Mix - + Adjust the mixing of the dry (input) signal with the wet (output) signal of the effect unit - + D/W mode: Crossfade between dry and wet - + D+W mode: Add wet to dry - + Mix Mode - + Adjust how the dry (input) signal is mixed with the wet (output) signal of the effect unit - + Dry/Wet mode (crossed lines): Mix knob crossfades between dry and wet Use this to change the sound of the track with EQ and filter effects. - + Dry+Wet mode (flat dry line): Mix knob adds wet to dry Use this to change only the effected (wet) signal with EQ and filter effects. - + Route the main mix through this effect unit. - + Route the left crossfader bus through this effect unit. - + Route the right crossfader bus through this effect unit. - + Right side active: parameter moves with right half of Meta Knob turn - + Stem Label - + Name of the stem stored in the stem file - + Text is displayed in the stem color stored in the stem file - + this stem color is also used for the waveform of this stem - + Stem Mute - + Toggle the stem mute/unmuted - + Stem Volume Knob - + Adjusts the volume of the stem - + Skin Settings Menu - + Show/hide skin settings menu - + Save Sampler Bank Sampler Bankua Gorde - + Save the collection of samples loaded in the samplers. - + Load Sampler Bank Kargatu Sampler Bankua - + Load a previously saved collection of samples into the samplers. - + Show Effect Parameters - + Enable Effect - + Meta Knob Link - + Set how this parameter is linked to the effect's Meta Knob. - + Meta Knob Link Inversion - + Inverts the direction this parameter moves when turning the effect's Meta Knob. - + Super Knob - + Next Chain - + Previous Chain - + Next/Previous Chain - + Clear - + Clear the current effect. - + Toggle - + Toggle the current effect. - + Next Hurrengoa - + Clear Unit - + Clear effect unit. - + Show/hide parameters for effects in this unit. - + Toggle Unit - + Enable or disable this whole effect unit. - + Controls the Meta Knob of all effects in this unit together. - + Load next effect chain preset into this effect unit. - + Load previous effect chain preset into this effect unit. - + Load next or previous effect chain preset into this effect unit. - - - - - - - - - + + + + + + + + + Assign Effect Unit - + Assign this effect unit to the channel output. - + Route the headphone channel through this effect unit. - + Route this deck through the indicated effect unit. - + Route this sampler through the indicated effect unit. - + Route this microphone through the indicated effect unit. - + Route this auxiliary input through the indicated effect unit. - + The effect unit must also be assigned to a deck or other sound source to hear the effect. - + Switch to the next effect. - + Previous Aurrekoa - + Switch to the previous effect. - + Next or Previous - + Switch to either the next or previous effect. - + Meta Knob - + Controls linked parameters of this effect - + Effect Focus Button - + Focuses this effect. - + Unfocuses this effect. - + Refer to the web page on the Mixxx wiki for your controller for more information. - + Effect Parameter - + Adjusts a parameter of the effect. - + Inactive: parameter not linked - + Active: parameter moves with Meta Knob - + Left side active: parameter moves with left half of Meta Knob turn - + Left and right side active: parameter moves across range with half of Meta Knob turn and back with the other half - - + + Equalizer Parameter Kill - - + + Holds the gain of the EQ to zero while active. - + Quick Effect Super Knob - + Quick Effect Super Knob (control linked effect parameters). - + Hint: Change the default Quick Effect mode in Preferences -> Equalizers. - + Equalizer Parameter - + Adjusts the gain of the EQ filter. - + Hint: Change the default EQ mode in Preferences -> Equalizers. - - + + Adjust Beatgrid Doitu taupada sarea - + Adjust beatgrid so the closest beat is aligned with the current play position. Doitu taupada sarea taupada hurbilena oraingo erreprodukzio posizioarekin lerrokatu dadin. - - + + Adjust beatgrid to match another playing deck. - + If quantize is enabled, snaps to the nearest beat. - + Quantize - + Toggles quantization. - + Loops and cues snap to the nearest beat when quantization is enabled. - + Reverse - + Reverses track playback during regular playback. - + Puts a track into reverse while being held (Censor). - + Playback continues where the track would have been if it had not been temporarily reversed. - - - + + + Play/Pause - + Jumps to the beginning of the track. - + Syncs the tempo (BPM) and phase to that of the other track, if BPM is detected on both. - + Syncs the tempo (BPM) to that of the other track, if BPM is detected on both. - + Sync and Reset Key - + Increases the pitch by one semitone. - + Decreases the pitch by one semitone. - + Enable Vinyl Control - + When disabled, the track is controlled by Mixxx playback controls. - + When enabled, the track responds to external vinyl control. - + Enable Passthrough - + Indicates that the audio buffer is too small to do all audio processing. - + Displays cover artwork of the loaded track. - + Displays options for editing cover artwork. - + Star Rating - + Assign ratings to individual tracks by clicking the stars. @@ -14477,33 +14617,33 @@ Use this to change only the effected (wet) signal with EQ and filter effects. - + Prevents the pitch from changing when the rate changes. - + Changes the number of hotcue buttons displayed in the deck - + Starts playing from the beginning of the track. - + Jumps to the beginning of the track and stops. - - + + Plays or pauses the track. - + (while playing) @@ -14523,205 +14663,215 @@ Use this to change only the effected (wet) signal with EQ and filter effects. - + (while stopped) - + Cue - + Headphone - + Mute - + Old Synchronize - + Syncs to the first deck (in numerical order) that is playing a track and has a BPM. - + If no deck is playing, syncs to the first deck that has a BPM. - + Decks can't sync to samplers and samplers can only sync to decks. - + Hold for at least a second to enable sync lock for this deck. - + Decks with sync locked will all play at the same tempo, and decks that also have quantize enabled will always have their beats lined up. - + Resets the key to the original track key. - + Speed Control - - - + + + Changes the track pitch independent of the tempo. - + Increases the pitch by 10 cents. - + Decreases the pitch by 10 cents. - + Pitch Adjust - + Adjust the pitch in addition to the speed slider pitch. - + Opens a menu to clear hotcues or edit their labels and colors. - + + Drag this button onto a Play button while previewing to continue playback after release. + + + + + Dragging with Shift key pressed will not start previewing the hotcue. + + + + Record Mix - + Toggle mix recording. - + Enable Live Broadcasting - + Stream your mix over the Internet. - + Provides visual feedback for Live Broadcasting status: - + disabled, connecting, connected, failure. - + When enabled, the deck directly plays the audio arriving on the vinyl input. - + Playback will resume where the track would have been if it had not entered the loop. - + Loop Exit - + Turns the current loop off. - + Slip Mode - + When active, the playback continues muted in the background during a loop, reverse, scratch etc. - + Once disabled, the audible playback will resume where the track would have been. - + Track Key The musical key of a track - + Displays the musical key of the loaded track. - + Clock Erlojua - + Displays the current time. - + Audio Latency Usage Meter - + Displays the fraction of latency used for audio processing. - + A high value indicates that audible glitches are likely. - + Do not enable keylock, effects or additional decks in this situation. - + Audio Latency Overload Indicator @@ -14766,254 +14916,254 @@ Use this to change only the effected (wet) signal with EQ and filter effects. - + Fast Rewind - + Fast rewind through the track. - + Fast Forward Aurreratze azkarra - + Fast forward through the track. - + Jumps to the end of the track. - + Sets the pitch to a key that allows a harmonic transition from the other track. Requires a detected key on both involved decks. - - - + + + Pitch Control - + Pitch Rate - + Displays the current playback rate of the track. - + Repeat Errepikatu - + When active the track will repeat if you go past the end or reverse before the start. - + Eject Egotzi - + Ejects track from the player. - + Hotcue - + If hotcue is set, jumps to the hotcue. - + If hotcue is not set, sets the hotcue to the current play position. - + Vinyl Control Mode - + Absolute mode - track position equals needle position and speed. - + Relative mode - track speed equals needle speed regardless of needle position. - + Constant mode - track speed equals last known-steady speed regardless of needle input. - + Vinyl Status - + Provides visual feedback for vinyl control status: - + Green for control enabled. - + Blinking yellow for when the needle reaches the end of the record. - + Loop-In Marker - + Loop-Out Marker - + Loop Halve Begizta erdibitu - + Halves the current loop's length by moving the end marker. Uneko begiztaren luzera erdibitzen du bukaera marka mugituz. - + Deck immediately loops if past the new endpoint. Erreproduzigailua berehala begiztatzen du bukaera puntua igarotakoan. - + Loop Double Begizta bikoiztu - + Doubles the current loop's length by moving the end marker. Uneko begiztaren luzera bikoizten du bukaera marka mugituz. - + Beatloop Taupada begizta - + Toggles the current loop on or off. Uneko begizta gaitu ala desgaitzen du - + Works only if Loop-In and Loop-Out marker are set. Begizta sarrera eta begizta irteera markak ezarrita badaude dabil soilik. - + Vinyl Cueing Mode - + Determines how cue points are treated in vinyl control Relative mode: - + Off - Cue points ignored. - + One Cue - If needle is dropped after the cue point, track will seek to that cue point. - + Track Time - + Track Duration - + Displays the duration of the loaded track. - + Information is loaded from the track's metadata tags. - + Track Artist Pistaren artista - + Displays the artist of the loaded track. - + Track Title Pistaren izenburua - + Displays the title of the loaded track. - + Track Album Albuma - + Displays the album name of the loaded track. - + Track Artist/Title - + Displays the artist and title of the loaded track. @@ -15021,12 +15171,12 @@ Use this to change only the effected (wet) signal with EQ and filter effects. TrackCollection - + Hiding tracks - + The selected tracks are in the following playlists:%1Hiding them will remove them from these playlists. Continue? @@ -15034,47 +15184,42 @@ Use this to change only the effected (wet) signal with EQ and filter effects. TrackExportDlg - + Export finished - + Exporting %1 - - - Overwrite Existing File? - - - "%1" already exists, overwrite? + Replace Existing File? - - &Overwrite + + "%1" already exists, replace? - - Over&write All + + &Replace - - &Skip + + Apply to all files - Skip &All + &Skip - + Export Error @@ -15246,47 +15391,47 @@ This can not be undone! WCueMenuPopup - + Cue number - + Cue position - + Edit cue label - + Label... - + Delete this cue - + Toggle this cue type between normal cue and saved loop - + Left-click: Use the old size or the current beatloop size as the loop size - + Right-click: Use the current play position as loop end if it is after the cue - + Hotcue #%1 @@ -15410,407 +15555,438 @@ This can not be undone! - - E&xport Library to Engine Prime + + Search in Current View... - - Export the library to the Engine Prime format + + Search for tracks in the current library view + + + + + Ctrl+f - + + Search in Tracks Library... + + + + + Search in the internal track collection under "Tracks" in the library + + + + + Ctrl+Shift+F + + + + Create &New Playlist - + Create a new playlist Sortu erreprodukzio-zerrenda berria - + Ctrl+n - + Create New &Crate - + Create a new crate Sortu kaxa berria - + Ctrl+Shift+N - - + + &View &Ikusi - + Auto-hide menu bar - + Auto-hide the main menu bar when it's not used. - + May not be supported on all skins. - + Show Skin Settings Menu - + Show the Skin Settings Menu of the currently selected Skin - + Ctrl+1 Menubar|View|Show Skin Settings - + Show Microphone Section - + Show the microphone section of the Mixxx interface. - + Ctrl+2 Menubar|View|Show Microphone Section - + Show Vinyl Control Section - + Show the vinyl control section of the Mixxx interface. - + Ctrl+3 Menubar|View|Show Vinyl Control Section - + Show Preview Deck - + Show the preview deck in the Mixxx interface. - + Ctrl+4 Menubar|View|Show Preview Deck - + Show Cover Art - + Show cover art in the Mixxx interface. - + Ctrl+6 Menubar|View|Show Cover Art - + Maximize Library - + Maximize the track library to take up all the available screen space. - + Space Menubar|View|Maximize Library - + &Full Screen &Pantaila osoa - + Display Mixxx using the full screen Erakutsi Mixxx pantaila osoa erabiliz - + &Options &Aukerak - + &Vinyl Control &Binilo Kontrola - + Use timecoded vinyls on external turntables to control Mixxx - + Enable Vinyl Control &%1 - + &Record Mix &Nahasketa Grabatu - + Record your mix to a file Zure Nahasketa Fitxategi Batean Gorde - + Ctrl+R Ctrl+R - + Enable Live &Broadcasting - + Stream your mixes to a shoutcast or icecast server - + Ctrl+L Ctrl+L - + Enable &Keyboard Shortcuts - + Toggles keyboard shortcuts on or off - + Ctrl+` - + &Preferences &Hobespenak - + Change Mixxx settings (e.g. playback, MIDI, controls) - + &Developer - + &Reload Skin - + Reload the skin - + Ctrl+Shift+R - + Developer &Tools - + Opens the developer tools dialog - + Ctrl+Shift+T - + Stats: &Experiment Bucket - + Enables experiment mode. Collects stats in the EXPERIMENT tracking bucket. - + Ctrl+Shift+E - + Stats: &Base Bucket - + Enables base mode. Collects stats in the BASE tracking bucket. - + Ctrl+Shift+B - + Deb&ugger Enabled - + Enables the debugger during skin parsing - + Ctrl+Shift+D - + &Help &Laguntza - + Show Keywheel menu title - + + E&xport Library to Engine DJ + "Engine DJ" must not be translated + + + + + Export the library to the Engine DJ format + + + + Show keywheel tooltip text - + F12 Menubar|View|Show Keywheel - + &Community Support &Komunitatearen Laguntza - + Get help with Mixxx - + &User Manual &Erabiltzaile Liburua - + Read the Mixxx user manual. Mixxx-en erabiltzaile liburua irakurri - + &Keyboard Shortcuts - + Speed up your workflow with keyboard shortcuts. - + &Settings directory - + Open the Mixxx user settings directory. - + &Translate This Application Aplikazio Hau &Itzuli - + Help translate this application into your language. Lagundu aplikazio hau zure hizkuntzara itzultzen - + &About &Honi buruz - + About the application Aplikazioari buruz @@ -15818,25 +15994,25 @@ This can not be undone! WOverview - + Passthrough - + Ready to play, analyzing... Text on waveform overview when file is playable but no waveform is visible - - + + Loading track... Text on waveform overview when file is cached from source - + Finalizing... Text on waveform overview during finalizing of waveform analysis @@ -15845,25 +16021,13 @@ This can not be undone! WSearchLineEdit - - Clear input - Clear the search bar input field - - - - - Ctrl+F - Search|Focus - Ctrl+F - - - + Search noun - + Clear input @@ -15874,169 +16038,163 @@ This can not be undone! Bilatu... - + Clear the search bar input field - - Enter a string to search for + + Return - - Use operators like bpm:115-128, artist:BooFar, -year:1990 + + Enter a string to search for. - - For more information see User Manual > Mixxx Library + + Use operators like bpm:115-128, artist:BooFar, -year:1990. - Shortcut - Lasterbidea + See User Manual > Mixxx Library for more information. + - - Ctrl+F - Ctrl+F + + Focus/Select All (Search in current view) + Give search bar input focus + - - Focus - Give search bar input focus + + Focus/Select All (Search in 'Tracks' library view) - - - Ctrl+Backspace + + Additional Shortcuts When Focused: - Shortcuts + Trigger search before search-as-you-type timeout or focus tracks view afterwards - Return + Esc or Ctrl+Return - Trigger search before search-as-you-type timeout orjump to tracks view afterwards + Immediately trigger search and focus tracks view + Exit search bar and leave focus - + Ctrl+Space - + Toggle search history Shows/hides the search history entries - + Delete or Backspace - - Delete query from history + + in search history - - Esc - - - - - Exit search - Exit search bar and leave focus + + Delete query from history WSearchRelatedTracksMenu - + Search related Tracks - + Key Tonalitatea - + harmonic with %1 - + BPM BPM - + between %1 and %2 - + Artist Artista - + Album Artist Albumaren artista - + Composer Konpositorea - + Title Titulua - + Album Albuma - + Grouping Taldeka - + Year Urtea - + Genre Generoa - + Directory - + &Search selected @@ -16044,599 +16202,625 @@ This can not be undone! WTrackMenu - + Load to - + Deck - + Sampler - + Add to Playlist Gehitu erreprodukzio-zerrendara - + Crates Kaxak - + Metadata - + Update external collections - + Cover Art Azalaren irudia - + Adjust BPM - + Select Color - - + + Analyze Aztertu - - + + Delete Track Files - + Add to Auto DJ Queue (bottom) Gehitu Auto DJ ilarara (bukaeran) - + Add to Auto DJ Queue (top) Gehitu Auto DJ ilarara (hasieran) - + Add to Auto DJ Queue (replace) - + Preview Deck - + Remove Kendu - + Remove from Playlist - + Remove from Crate - + Hide from Library Liburutegitik ezkutatu - + Unhide from Library Liburutegitik ezkutatzeari utzi - + Purge from Library Kendu liburutegitik - + Move Track File(s) to Trash - + Delete Files from Disk - + Properties Propietateak - + Open in File Browser Ireki fitxategi kudeatzailean - + Select in Library - + Import From File Tags - + Import From MusicBrainz - + Export To File Tags - + BPM and Beatgrid - + Play Count - + Rating Balorazioa - + Cue Point - + + Hotcues - + Intro - + Outro - + Key Tonalitatea - + ReplayGain ReplayGain - + Waveform - + Comment Iruzkina - + All Guztiak - + + Sort hotcues by position (remove offsets) + + + + + Sort hotcues by position + + + + Lock BPM - + Unlock BPM - + Double BPM Bikoiztu BPMa - + Halve BPM Erdibitu BPMa - + 2/3 BPM - + 3/4 BPM - + 4/3 BPM - + 3/2 BPM - + + Shift Beatgrid Half Beat + + + + Reanalyze - + Reanalyze (constant BPM) - + Reanalyze (variable BPM) - + Update ReplayGain from Deck Gain - + Deck %1 - + Importing metadata of %n track(s) from file tags - + Marking metadata of %n track(s) to be exported into file tags - - + + Create New Playlist Erreprodukzio-zerrenda berria sortu - + Enter name for new playlist: Idatzi erreprodukzio-zerrendaren izena - + New Playlist Erreprodukzio-zerrenda berria - - - + + + Playlist Creation Failed Ezin izan da erreprodukzio-zerrenda sortu - + A playlist by that name already exists. Badago izen bereko beste erreproduzkio-zerrenda bat - + A playlist cannot have a blank name. Erreprodukzio-Zerrenda batek ezin du izen hutsik izan - + An unknown error occurred while creating playlist: Errore ezezagun bat gertatu da erreprodukzio zerrenda sortzean: - + Add to New Crate - + Scaling BPM of %n track(s) - + Undo BPM/beats change of %n track(s) - + Locking BPM of %n track(s) - + Unlocking BPM of %n track(s) - + Setting rating of %n track(s) - + Setting color of %n track(s) - + Resetting play count of %n track(s) - + Resetting beats of %n track(s) - + Clearing rating of %n track(s) - + Clearing comment of %n track(s) - + Removing main cue from %n track(s) - + Removing outro cue from %n track(s) - + Removing intro cue from %n track(s) - + Removing loop cues from %n track(s) - + Removing hot cues from %n track(s) - + + Sorting hotcues of %n track(s) by position (remove offsets) + + + + + Sorting hotcues of %n track(s) by position + + + + Resetting keys of %n track(s) - + Resetting replay gain of %n track(s) - + Resetting waveform of %n track(s) - + Resetting all performance metadata of %n track(s) - + Move these files to the trash bin? - + Permanently delete these files from disk? - - + + This can not be undone! - + Cancel Ezeztatu - + Delete Files - + Okay - + Move Track File(s) to Trash? - + Track Files Deleted - + Track Files Moved To Trash - + %1 track files were moved to trash and purged from the Mixxx database. - + %1 track files were deleted from disk and purged from the Mixxx database. - + Track File Deleted - + Track file was deleted from disk and purged from the Mixxx database. - + The following %1 file(s) could not be deleted from disk - + This track file could not be deleted from disk - + Remaining Track File(s) - + Close Itxi - + Clear Reset metadata in right click track context menu in library - + Loops - + Clear BPM and Beatgrid - + Undo last BPM/beats change - + Move this track file to the trash bin? - + Permanently delete this track file from disk? - + All decks where these tracks are loaded will be stopped and the tracks will be ejected. - + All decks where this track is loaded will be stopped and the track will be ejected. - + Removing %n track file(s) from disk... - + Note: if you are in the Computer or Recording view you need to click the current view again to see changes. - + Track File Moved To Trash - + Track file was moved to trash and purged from the Mixxx database. - + Don't show again during this session - + The following %1 file(s) could not be moved to trash - + This track file could not be moved to trash - + Setting cover art of %n track(s) - + Reloading cover art of %n track(s) @@ -16652,37 +16836,37 @@ This can not be undone! WTrackStemMenu - + Load for stem mixing - + Load pre-mixed stereo track - + Load the "%1" stem - + Load multiple stem into a stereo deck - + Select stems to load - + Release "CTRL" to load the current selection - + Use "CTRL" to select multiple stems @@ -16690,37 +16874,37 @@ This can not be undone! WTrackTableView - + Confirm track hide - + Are you sure you want to hide the selected tracks? - + Are you sure you want to remove the selected tracks from AutoDJ queue? - + Are you sure you want to remove the selected tracks from this crate? - + Are you sure you want to remove the selected tracks from this playlist? - + Don't ask again during this session - + Confirm track removal @@ -16728,60 +16912,65 @@ This can not be undone! WTrackTableViewHeader - + Show or hide columns. Erakutsi ala ezkutatu Zutabeak + + + Shuffle Tracks + + mixxx::CoreServices - + fonts - + database - + effects - + audio interface - + decks - + library - + Choose music library directory Aukeratu musika liburutegiaren direktorioa - + controllers - + Cannot open database Ezin da datu-basea ireki - + Unable to establish a database connection. Mixxx requires QT with SQLite support. Please read the Qt SQL driver documentation for information on how to build it. @@ -16792,67 +16981,78 @@ Click OK to exit. mixxx::DlgLibraryExport - + Entire music library - - Selected crates + + Crates + + + + + Playlists + + + + + Selected crates/playlists - + Browse Arakatu - + Export directory - + Database version - + Export Esportatu - + Cancel Ezeztatu - - Export Library to Engine Prime + + Export Library to Engine DJ + "Engine DJ" must not be translated - + Export Library To - + No Export Directory Chosen - + No export directory was chosen. Please choose a directory in order to export the music library. - + A database already exists in the chosen directory. Exported tracks will be added into this database. - + A database already exists in the chosen directory, but there was a problem loading it. Export is not guaranteed to succeed in this situation. @@ -16873,7 +17073,7 @@ Click OK to exit. mixxx::EnginePrimeExportJob - + Failed to export track %1 - %2: %3 %1 is the artist %2 is the title and %3 is the original error message @@ -16883,23 +17083,23 @@ Click OK to exit. mixxx::LibraryExporter - + Export Completed - - Exported %1 track(s) and %2 crate(s). + + Exported %1 track(s), %2 crate(s), and %3 playlist(s). - + Export Failed - - Exporting to Engine Prime... + + Exporting to Engine DJ... diff --git a/res/translations/mixxx_fa.qm b/res/translations/mixxx_fa.qm index e852c288a9b2fb1dd0c294c599cd6c03bb7c792d..e00a10ce159b5c8bc663b6b968cfd6f059c8cc98 100644 GIT binary patch delta 452 zcmXBQJ4hP=9LMqh{k_~>E-$E|OVgo^%~BH_LIfYNh@7!vLC_9X)Y4Lrdl)YdDc+`A z6_g*93bB(*AygrY)gbr+vveq}D5zbs6ztTYON9n*`i$Qnzl{|>dB-dFgsIiY*+T797VhQinF~a$w_*1sRLp z6z8I-dM(ZekyIN2M;RLm6Ft@yEB>poomws&*yyRVQS z7!g!pJOxG{1kFGSyReIh-9$yyeU?F@Aw(c_)7OPTXA?x|z~TQK&hPpEpL1Sc!Ml?< zxkGpVdhL9Z@(AE?0iZ*-u7|n+`da|@K3mu1EWiK(MB`-Bxy;4QfoAzQ&3x) zE9%;Hn5d>7=tad!o%*9}I1do%q`dwD#@>)19Av(i+~F&A3J#3dQ&5=2_-C>i0@kjP z2mHpV8}TgwWQJ(MFw;=D?cx11`gebO0IY+8c#JHc_78i~$lV)j0^(Q^HbYr?ms}?(^EF_9{9G9s@Ok+Am1@Rtg z4dkxuM(r}?D_xjaqNkN!%m!$UOLCsvRdw~@Cqn?SYu4un1OSuY`f(foQL|xPoz5_S z`pDeHs-6gGx!rYAUo;d*O4?XRQh6bdNoV*mtRzyJG#U;?gEW#adZEYXONhur`pWwYS=6@nplAq|!ppUSnoW%)^-( f*0#}ZD2J2`=tWK?M{o~)$yL)sd()i%{8`ICrr+CI diff --git a/res/translations/mixxx_fa.ts b/res/translations/mixxx_fa.ts index 181bc75412fe..84a9247c2057 100644 --- a/res/translations/mixxx_fa.ts +++ b/res/translations/mixxx_fa.ts @@ -39,32 +39,32 @@ - + Remove Crate as Track Source پاک کردن کلکسیون - + Auto DJ دی‌جی خودکار - + Confirmation Clear - + Do you really want to remove all tracks from the Auto DJ queue? - + This can not be undone. - + Add Crate as Track Source افزودن کلکسیون @@ -147,28 +147,28 @@ BasePlaylistFeature - + New Playlist فهرست‌پخش جدید - + Add to Auto DJ Queue (bottom) افزودن به صف دی‌جی خودکار (پایین) - + Create New Playlist ساخت فهرست پخش جدید - + Add to Auto DJ Queue (top) افزودن به صف دی‌جی خودکار (بالا) - + Remove حذف @@ -178,12 +178,12 @@ نام‌گذاری دوباره - + Lock قفل - + Duplicate کپی همسان @@ -204,24 +204,24 @@ تحلیل فهرست‌پخش جاری - + Enter new name for playlist: نام جدید برای فهرست‌پخش - + Duplicate Playlist کپی همسان از فهرست‌پخش - - + + Enter name for new playlist: نام جدید برای فهرست‌پخش - + Export Playlist برون ریزی فهرست پخش @@ -231,70 +231,77 @@ - + + + Export to Engine DJ + "Engine DJ" is a product name and must not be translated. + + + + Rename Playlist نام‌گذاری دوباره فهرست‌پخش - - + + Renaming Playlist Failed خطا در نام‌گذاری فهرست‌پخش - - - + + + A playlist by that name already exists. فهرست‌پخشی با این نام از پیش موجود است. - - - + + + A playlist cannot have a blank name. فهرست‌پخش نمیتواند بدون نام باشد - + _copy //: Appendix to default name when duplicating a playlist کپی - - - - - - + + + + + + Playlist Creation Failed خطا در ایجاد فهرست‌پخش - - + + An unknown error occurred while creating playlist: خطایی ناشناخته در هنگام تولید فهرست‌پخش رخ داده است : - + Confirm Deletion - + Do you really want to delete playlist <b>%1</b>? - + M3U Playlist (*.m3u) فهرست پخش M3U (فایل .m3u) - + M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Text CSV (*.csv);;Readable Text (*.txt) M3U فهرست‌پخش (*.m3u);;M3U8 فهرست‌پخش (*.m3u8);;PLS فهرست‌پخش (*.pls);;Text CSV (*.csv);; متن قابل خواندن (*.txt) @@ -302,12 +309,12 @@ BaseSqlTableModel - + # # - + Timestamp زمان ثبت شده در سیستم @@ -315,7 +322,7 @@ BaseTrackPlayerImpl - + Couldn't load track. بارگزاری قطعه امکان‌پذیر نیست. @@ -323,137 +330,142 @@ BaseTrackTableModel - + Album کل %n آلبوم - + Album Artist هنرمند آلبوم - + Artist کل %n هنرمند - + Bitrate میزان ارسال بیت - + BPM BPM - + Channels کانال‌ها - + Color رنگ - + Comment دیدگاه - + Composer آهنگساز - + Cover Art جلد - + Date Added تاریخ افزودن - + Last Played - + Duration مدت پخش - + Type نوع - + Genre ژانر - + Grouping دسته بندی - + Key کلید - + Location موقعیت - + + Overview + + + + Preview پیش‌نمایش - + Rating رتبه‌دهی - + ReplayGain - + Samplerate - + Played پخش شده - + Title سمت - + Track # قطعه # - + Year سال - + Fetching image ... Tooltip text on the cover art column shown when the cover is read from disk @@ -543,67 +555,77 @@ BrowseFeature - + Add to Quick Links افزودن به پیوندهای سریع - + Remove from Quick Links حذف از پیوندهای سریع - + Add to Library - + Refresh directory tree - + Quick Links پیوندهای سریع - - + + Devices دستگاه‌ها - + Removable Devices دستگاههای جداشدنی - - + + Computer کامپیوتر - + Music Directory Added - + You added one or more music directories. The tracks in these directories won't be available until you rescan your library. Would you like to rescan now? - + Scan - + "Computer" lets you navigate, view, and load tracks from folders on your hard disk and external devices. + + + It shows the data from the file tags, not track data from your Mixxx library like other track views. + + + + + If you load a track file from here, it will be added to your library. + + BrowseTableModel @@ -749,87 +771,87 @@ CmdlineArgs - + Mixxx is an open source DJ software. For more information, see: - + Starts Mixxx in full-screen mode - + Use a custom locale for loading translations. (e.g 'fr') - + Top-level directory where Mixxx should look for its resource files such as MIDI mappings, overriding the default installation location. - + Path the debug statistics time line is written to - + Causes Mixxx to display/log all of the controller data it receives and script functions it loads - + The controller mapping will issue more aggressive warnings and errors when detecting misuse of controller APIs. New Controller Mappings should be developed with this option enabled! - + Enables developer-mode. Includes extra log info, stats on performance, and a Developer tools menu. - + Top-level directory where Mixxx should look for settings. Default is: - + Starts Auto DJ when Mixxx is launched. - + Rescans the library when Mixxx is launched. - + Use legacy vu meter - + Use legacy spinny - + Loads experimental QML GUI instead of legacy QWidget skin - + Enables safe-mode. Disables OpenGL waveforms, and spinning vinyl widgets. Try this option if Mixxx is crashing on startup. - + [auto|always|never] Use colors on the console output. - + Sets the verbosity of command line logging. critical - Critical/Fatal only warning - Above + Warnings @@ -839,27 +861,32 @@ trace - Above + Profiling messages - + Sets the the logging level at which the log buffer is flushed to mixxx.log. <level> is one of the values defined at --log-level above. - + Sets the maximum file size of the mixxx.log file in bytes. Use -1 for unlimited. The default is 100 MB as 1e5 or 100000000. - + Breaks (SIGINT) Mixxx, if a DEBUG_ASSERT evaluates to false. Under a debugger you can continue afterwards. - + + Overrides the default application GUI style. Possible values: %1 + + + + Load the specified music file(s) at start-up. Each file you specify will be loaded into the next virtual deck. - + Preview rendered controller screens in the Setting windows. @@ -1041,13 +1068,13 @@ trace - Above + Profiling messages - + Set to full volume روی کامل گذاشتن - + Set to zero volume روی 0 گذاشتن @@ -1072,13 +1099,13 @@ trace - Above + Profiling messages - + Headphone listen button - + Mute button دکمه قطع صدا @@ -1089,25 +1116,25 @@ trace - Above + Profiling messages - + Mix orientation (e.g. left, right, center) - + Set mix orientation to left - + Set mix orientation to center - + Set mix orientation to right @@ -1148,22 +1175,22 @@ trace - Above + Profiling messages - + Toggle quantize mode - + One-time beat sync (tempo only) - + One-time beat sync (phase only) - + Toggle keylock mode @@ -1173,193 +1200,193 @@ trace - Above + Profiling messages اکولایزرها - + Vinyl Control - + Toggle vinyl-control cueing mode (OFF/ONE/HOT) - + Toggle vinyl-control mode (ABS/REL/CONST) - + Pass through external audio into the internal mixer - + Cues - + Cue button - + Set cue point - + Go to cue point - + Go to cue point and play - + Go to cue point and stop - + Preview from cue point - + Cue button (CDJ mode) - + Stutter cue - + Hotcues - + Set, preview from or jump to hotcue %1 - + Clear hotcue %1 - + Set hotcue %1 - + Jump to hotcue %1 - + Jump to hotcue %1 and stop - + Jump to hotcue %1 and play - + Preview from hotcue %1 - - + + Hotcue %1 - + Looping - + Loop In button - + Loop Out button - + Loop Exit button - + 1/2 1/2 - + 1 1 - + 2 2 - + 4 4 - + 8 8 - + 16 ۱۶ - + 32 32 - + 64 64 - + Move loop forward by %1 beats - + Move loop backward by %1 beats - + Create %1-beat loop - + Create temporary %1-beat loop roll @@ -1475,20 +1502,20 @@ trace - Above + Profiling messages - - + + Volume Fader - + Full Volume صدای کامل - + Zero Volume صدای 0 @@ -1504,7 +1531,7 @@ trace - Above + Profiling messages - + Mute بی صدا @@ -1515,7 +1542,7 @@ trace - Above + Profiling messages - + Headphone Listen @@ -1536,25 +1563,25 @@ trace - Above + Profiling messages - + Orientation - + Orient Left - + Orient Center - + Orient Right @@ -1624,82 +1651,82 @@ trace - Above + Profiling messages - + Adjust Beatgrid - + Align beatgrid to current position - + Adjust Beatgrid - Match Alignment - + Adjust beatgrid to match another playing deck. - + Quantize Mode - + Sync - + Beat Sync One-Shot - + Sync Tempo One-Shot - + Sync Phase One-Shot - + Pitch control (does not affect tempo), center is original pitch - + Pitch Adjust - + Adjust pitch from speed slider pitch - + Match musical key - + Match Key - + Reset Key - + Resets key to original @@ -1740,451 +1767,451 @@ trace - Above + Profiling messages - + Toggle Vinyl Control - + Toggle Vinyl Control (ON/OFF) - + Vinyl Control Mode - + Vinyl Control Cueing Mode - + Vinyl Control Passthrough - + Vinyl Control Next Deck - + Single deck mode - Switch vinyl control to next deck - + Cue - + Set Cue - + Go-To Cue - + Go-To Cue And Play - + Go-To Cue And Stop - + Preview Cue - + Cue (CDJ Mode) - + Stutter Cue - + Go to cue point and play after release - + Clear Hotcue %1 - + Set Hotcue %1 - + Jump To Hotcue %1 - + Jump To Hotcue %1 And Stop - + Jump To Hotcue %1 And Play - + Preview Hotcue %1 - + Loop In - + Loop Out - + Loop Exit - + Reloop/Exit Loop - + Loop Halve - + Loop Double - + 1/32 - + 1/16 - + 1/8 - + 1/4 - + Move Loop +%1 Beats - + Move Loop -%1 Beats - + Loop %1 Beats - + Loop Roll %1 Beats - + Add to Auto DJ Queue (bottom) افزودن به صف دی‌جی خودکار (پایین) - + Append the selected track to the Auto DJ Queue - + Add to Auto DJ Queue (top) افزودن به صف دی‌جی خودکار (بالا) - + Prepend selected track to the Auto DJ Queue - + Load Track - + Load selected track - + Load selected track and play - - + + Record Mix - + Toggle mix recording - + Effects جلوه‌ها - + Quick Effects - + Deck %1 Quick Effect Super Knob - + Quick Effect Super Knob (control linked effect parameters) - - + + Quick Effect - + Clear Unit - + Clear effect unit - + Toggle Unit - + Dry/Wet - + Adjust the balance between the original (dry) and processed (wet) signal. - + Super Knob - + Next Chain - + Assign - + Clear - + Clear the current effect - + Toggle - + Toggle the current effect - + Next - + Switch to next effect - + Previous - + Switch to the previous effect - + Next or Previous - + Switch to either next or previous effect - - + + Parameter Value - - + + Microphone Ducking Strength - + Microphone Ducking Mode - + Gain سود - + Gain knob - + Shuffle the content of the Auto DJ queue - + Skip the next track in the Auto DJ queue - + Auto DJ Toggle - + Toggle Auto DJ On/Off - + Show/hide the microphone & auxiliary section - + 4 Effect Units Show/Hide - + Switches between showing 2 and 4 effect units - + Mixer Show/Hide - + Show or hide the mixer. - + Cover Art Show/Hide (Library) - + Show/hide cover art in the library - + Library Maximize/Restore - + Maximize the track library to take up all the available screen space. - + Effect Rack Show/Hide - + Show/hide the effect rack - + Waveform Zoom Out @@ -2199,102 +2226,102 @@ trace - Above + Profiling messages - + Tap to sync tempo (and phase with quantize enabled), hold to enable permanent sync - + One-time beat sync tempo (and phase with quantize enabled) - + Playback Speed - + Playback speed control (Vinyl "Pitch" slider) - + Pitch (Musical key) - + Increase Speed - + Adjust speed faster (coarse) - + Increase Speed (Fine) - + Adjust speed faster (fine) - + Decrease Speed - + Adjust speed slower (coarse) - + Adjust speed slower (fine) - + Temporarily Increase Speed - + Temporarily increase speed (coarse) - + Temporarily Increase Speed (Fine) - + Temporarily increase speed (fine) - + Temporarily Decrease Speed - + Temporarily decrease speed (coarse) - + Temporarily Decrease Speed (Fine) - + Temporarily decrease speed (fine) @@ -2446,1041 +2473,1063 @@ trace - Above + Profiling messages - - + + Move Beatgrid Half a Beat + + + + + Adjust the beatgrid by exactly one half beat. Usable only for tracks with constant tempo. + + + + + Toggle the BPM/beatgrid lock - + Revert last BPM/Beatgrid Change - + Revert last BPM/Beatgrid Change of the loaded track. - + Sync / Sync Lock - + Internal Sync Leader - + Toggle Internal Sync Leader - - + + Internal Leader BPM - + Internal Leader BPM +1 - + Increase internal Leader BPM by 1 - + Internal Leader BPM -1 - + Decrease internal Leader BPM by 1 - + Internal Leader BPM +0.1 - + Increase internal Leader BPM by 0.1 - + Internal Leader BPM -0.1 - + Decrease internal Leader BPM by 0.1 - + Sync Leader - + Sync mode 3-state toggle / indicator (Off, Soft Leader, Explicit Leader) - + Speed - + Decrease Speed (Fine) - + Pitch (Musical Key) - + Increase Pitch - + Increases the pitch by one semitone - + Increase Pitch (Fine) - + Increases the pitch by 10 cents - + Decrease Pitch - + Decreases the pitch by one semitone - + Decrease Pitch (Fine) - + Decreases the pitch by 10 cents - + Keylock - + CUP (Cue + Play) - + Shift cue points earlier - + Shift cue points 10 milliseconds earlier - + Shift cue points earlier (fine) - + Shift cue points 1 millisecond earlier - + Shift cue points later - + Shift cue points 10 milliseconds later - + Shift cue points later (fine) - + Shift cue points 1 millisecond later - + + + Sort hotcues by position + + + + + + Sort hotcues by position (remove offsets) + + + + Hotcues %1-%2 - + Intro / Outro Markers - + Intro Start Marker - + Intro End Marker - + Outro Start Marker - + Outro End Marker - + intro start marker - + intro end marker - + outro start marker - + outro end marker - + Activate %1 [intro/outro marker - + Jump to or set the %1 [intro/outro marker - + Set %1 [intro/outro marker - + Set or jump to the %1 [intro/outro marker - + Clear %1 [intro/outro marker - + Clear the %1 [intro/outro marker - + if the track has no beats the unit is seconds - + Loop Selected Beats - + Create a beat loop of selected beat size - + Loop Roll Selected Beats - + Create a rolling beat loop of selected beat size - + Loop %1 Beats set from its end point - + Loop Roll %1 Beats set from its end point - + Create %1-beat loop with the current play position as loop end - + Create temporary %1-beat loop roll with the current play position as loop end - + Loop Beats - + Loop Roll Beats - + Go To Loop In - + Go to Loop In button - + Go To Loop Out - + Go to Loop Out button - + Toggle loop on/off and jump to Loop In point if loop is behind play position - + Reloop And Stop - + Enable loop, jump to Loop In point, and stop - + Halve the loop length - + Double the loop length - + Beat Jump / Loop Move - + Jump / Move Loop Forward %1 Beats - + Jump / Move Loop Backward %1 Beats - + Jump forward by %1 beats, or if a loop is enabled, move the loop forward %1 beats - + Jump backward by %1 beats, or if a loop is enabled, move the loop backward %1 beats - + Beat Jump / Loop Move Forward Selected Beats - + Jump forward by the selected number of beats, or if a loop is enabled, move the loop forward by the selected number of beats - + Beat Jump / Loop Move Backward Selected Beats - + Jump backward by the selected number of beats, or if a loop is enabled, move the loop backward by the selected number of beats - + Beat Jump - + Indicate which loop marker remain static when adjusting the size or is inherited from the current position - + Beat Jump / Loop Move Forward - + Beat Jump / Loop Move Backward - + Loop Move Forward - + Loop Move Backward - + Remove Temporary Loop - + Remove the temporary loop - + Navigation - + Move up - + Equivalent to pressing the UP key on the keyboard - + Move down - + Equivalent to pressing the DOWN key on the keyboard - + Move up/down - + Move vertically in either direction using a knob, as if pressing UP/DOWN keys - + Scroll Up - + Equivalent to pressing the PAGE UP key on the keyboard - + Scroll Down - + Equivalent to pressing the PAGE DOWN key on the keyboard - + Scroll up/down - + Scroll vertically in either direction using a knob, as if pressing PGUP/PGDOWN keys - + Move left - + Equivalent to pressing the LEFT key on the keyboard - + Move right - + Equivalent to pressing the RIGHT key on the keyboard - + Move left/right - + Move horizontally in either direction using a knob, as if pressing LEFT/RIGHT keys - + Move focus to right pane - + Equivalent to pressing the TAB key on the keyboard - + Move focus to left pane - + Equivalent to pressing the SHIFT+TAB key on the keyboard - + Move focus to right/left pane - + Move focus one pane to right or left using a knob, as if pressing TAB/SHIFT+TAB keys - + Sort focused column - + Sort the column of the cell that is currently focused, equivalent to clicking on its header - + Go to the currently selected item - + Choose the currently selected item and advance forward one pane if appropriate - + Load Track and Play - + Add to Auto DJ Queue (replace) - + Replace Auto DJ Queue with selected tracks - + Select next search history - + Selects the next search history entry - + Select previous search history - + Selects the previous search history entry - + Move selected search entry - + Moves the selected search history item into given direction and steps - + Clear search - + Clears the search query - - + + Select Next Color Available - + Select the next color in the color palette for the first selected track - - + + Select Previous Color Available - + Select the previous color in the color palette for the first selected track - + Deck %1 Quick Effect Enable Button - + Quick Effect Enable Button - + Enable or disable effect processing - + Super Knob (control effects' Meta Knobs) - + Mix Mode Toggle - + Toggle effect unit between D/W and D+W modes - + Next chain preset - + Previous Chain - + Previous chain preset - + Next/Previous Chain - + Next or previous chain preset - - + + Show Effect Parameters - + Effect Unit Assignment - + Meta Knob - + Effect Meta Knob (control linked effect parameters) - + Meta Knob Mode - + Set how linked effect parameters change when turning the Meta Knob. - + Meta Knob Mode Invert - + Invert how linked effect parameters change when turning the Meta Knob. - - + + Button Parameter Value - + Microphone / Auxiliary - + Microphone On/Off - + Microphone on/off - + Toggle microphone ducking mode (OFF, AUTO, MANUAL) - + Auxiliary On/Off - + Auxiliary on/off - + Auto DJ دی‌جی خودکار - + Auto DJ Shuffle - + Auto DJ Skip Next - + Auto DJ Add Random Track - + Add a random track to the Auto DJ queue - + Auto DJ Fade To Next - + Trigger the transition to the next track - + User Interface واسط کاربر - + Samplers Show/Hide - + Show/hide the sampler section - + Microphone && Auxiliary Show/Hide keep double & to prevent creation of keyboard accelerator - + Waveform Zoom Reset To Default - + Reset the waveform zoom level to the default value selected in Preferences -> Waveforms - + Select the next color in the color palette for the loaded track. - + Select previous color in the color palette for the loaded track. - + Navigate Through Track Colors - + Select either next or previous color in the palette for the loaded track. - + Start/Stop Live Broadcasting - + Stream your mix over the Internet. - + Start/stop recording your mix. - - + + Samplers - + Vinyl Control Show/Hide - + Show/hide the vinyl control section - + Preview Deck Show/Hide - + Show/hide the preview deck - + Toggle 4 Decks - + Switches between showing 2 decks and 4 decks. - + Cover Art Show/Hide (Decks) - + Show/hide cover art in the main decks - + Vinyl Spinner Show/Hide - + Show/hide spinning vinyl widget - + Vinyl Spinners Show/Hide (All Decks) - + Show/Hide all spinnies - + Toggle Waveforms - + Show/hide the scrolling waveforms. - + Waveform zoom - + Waveform Zoom - + Zoom waveform in - + Waveform Zoom In - + Zoom waveform out - + Star Rating Up - + Increase the track rating by one star - + Star Rating Down - + Decrease the track rating by one star @@ -3595,32 +3644,32 @@ trace - Above + Profiling messages ControllerScriptEngineBase - + The functionality provided by this controller mapping will be disabled until the issue has been resolved. - + You can ignore this error for this session but you may experience erratic behavior. - + Try to recover by resetting your controller. - + Controller Mapping Error - + The mapping for your controller "%1" is not working properly. - + The script code needs to be fixed. @@ -3664,13 +3713,13 @@ trace - Above + Profiling messages CrateFeature - + Remove حذف - + Create New Crate @@ -3680,132 +3729,132 @@ trace - Above + Profiling messages نام‌گذاری دوباره - - + + Lock قفل - + Export Crate as Playlist - + Export Track Files برون ریزی فهرست پخش - + Duplicate کپی همسان - + Analyze entire Crate - + Auto DJ Track Source - + Enter new name for crate: - - + + Crates کلکسیون - - + + Import Crate - + Export Crate - + Unlock بازکردن قفل - + An unknown error occurred while creating crate: - + Rename Crate - - - Export to Engine Prime - - - - + Make a crate for your next gig, for your favorite electrohouse tracks, or for your most requested tracks. - + Confirm Deletion - - + + Renaming Crate Failed - + Crate Creation Failed - + M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Text CSV (*.csv);;Readable Text (*.txt) M3U فهرست‌پخش (*.m3u);;M3U8 فهرست‌پخش (*.m3u8);;PLS فهرست‌پخش (*.pls);;Text CSV (*.csv);; متن قابل خواندن (*.txt) - + M3U Playlist (*.m3u) فهرست پخش M3U (فایل .m3u) - + Crates are a great way to help organize the music you want to DJ with. - + + + Export to Engine DJ + + + + Crates let you organize your music however you'd like! - + Do you really want to delete crate <b>%1</b>? - + A crate cannot have a blank name. - + A crate by that name already exists. @@ -3900,12 +3949,12 @@ trace - Above + Profiling messages - + Official Website - + Donate @@ -4026,72 +4075,72 @@ trace - Above + Profiling messages DlgAutoDJ - + Skip - + Random - + Fade - + Enable Auto DJ Shortcut: Shift+F12 - + Disable Auto DJ Shortcut: Shift+F12 - + Trigger the transition to the next track Shortcut: Shift+F11 - + Skip the next track in the Auto DJ queue Shortcut: Shift+F10 - + Shuffle the content of the Auto DJ queue Shortcut: Shift+F9 - + Repeat the playlist - + Determines the duration of the transition - + Seconds ثانیه - + Auto DJ Fade Modes Full Intro + Outro: @@ -4122,80 +4171,80 @@ crossfader, so that the intro starts at full volume. - + Full Intro + Outro - + Fade At Outro Start - + Full Track - + Skip Silence - + Skip Silence Start Full Volume - + Decks not used for Auto DJ must be stopped to enable Auto DJ mode. - + Repeat تکرار - + Auto DJ requires two decks assigned to opposite sides of the crossfader. - + One deck must be stopped to enable Auto DJ mode. - + Enable - + Disable - + Displays the duration and number of selected tracks. - - - + + + Auto DJ دی‌جی خودکار - + Shuffle درهم ریختن - + Adds a random track from track sources (crates) to the Auto DJ queue. If no track sources are configured, the track is added from the library instead. @@ -4418,37 +4467,37 @@ Often results in higher quality beatgrids, but will not do well on tracks that h - + Didn't get any midi messages. Please try again. - + Unable to detect a mapping -- please try again. Be sure to only touch one control at once. - + Successfully mapped control: - + <i>Ready to learn %1</i> - + Learning: %1. Now move a control on your controller. - + The selected control does not exist.<br>This likely a bug. Please report it on the Mixxx bug tracker.<br><a href='https://github.com/mixxxdj/mixxx/issues'>https://github.com/mixxxdj/mixxx/issues</a><br><br>You tried to learn: %1,%2 - + The control you clicked in Mixxx is not learnable. This could be because you are either using an old skin and this control is no longer supported, or you clicked a control that provides visual feedback and can only be mapped to outputs like LEDs via scripts. @@ -4487,17 +4536,17 @@ You tried to learn: %1,%2 - + Log - + Search جستوجو - + Stats @@ -5150,113 +5199,113 @@ associated with each key. DlgPrefController - + Apply device settings? - + Your settings must be applied before starting the learning wizard. Apply settings and continue? - + None هیچکدام - + %1 by %2 %1 بر اساس %2 - + Mapping has been edited - + Always overwrite during this session - + Save As - + Overwrite - + Save user mapping - + Enter the name for saving the mapping to the user folder. - + Saving mapping failed - + A mapping cannot have a blank name and may not contain special characters. - + A mapping file with that name already exists. - + Do you want to save the changes? - + Troubleshooting - + <font color='#BB0000'><b>If you use this mapping your controller may not work correctly. Please select another mapping or disable the controller.</b></font><br><br>This mapping was designed for a newer Mixxx Controller Engine and cannot be used on your current Mixxx installation.<br>Your Mixxx installation has Controller Engine version %1. This mapping requires a Controller Engine version >= %2.<br><br>For more information visit the wiki page on <a href='https://mixxx.org/wiki/doku.php/controller_engine_versions'>Controller Engine Versions</a>. - + Mapping already exists. - + <b>%1</b> already exists in user mapping folder.<br>Overwrite or save with a new name? - + Clear Input Mappings - + Are you sure you want to clear all input mappings? - + Clear Output Mappings - + Are you sure you want to clear all output mappings? @@ -5269,105 +5318,105 @@ Apply settings and continue? - + Enabled فعال‌شده - + Device Info - + Physical Interface: - + Vendor name: - + Product name: - + Vendor ID - + VID: - + Product ID - + PID: - + Serial number: - + USB interface number: - + HID Usage-Page: - + HID Usage: - + Description: توضیح: - + Support: پشتیبانی: - + Screens preview - + Input Mappings - - + + Search جستوجو - - + + Add افزودن - - + + Remove حذف @@ -5382,22 +5431,22 @@ Apply settings and continue? - + Load Mapping: - + Mapping Info - + Author: - + Name: @@ -5407,28 +5456,28 @@ Apply settings and continue? - + Data protocol: - + Mapping Files: - + Mapping Settings - - + + Clear All پاک کردن همه - + Output Mappings @@ -5587,6 +5636,16 @@ Apply settings and continue? Multi-Sampling + + + Force 3D acceleration + + + + + If checked, Mixxx will always assume 3D acceleration is available. This may lead to pour performance if only CP-backed rendering is available.. + + Start in full-screen mode @@ -6178,62 +6237,62 @@ You can always drag-and-drop tracks on screen to clone a deck. DlgPrefInterface - + The minimum size of the selected skin is bigger than your screen resolution. - + Allow screensaver to run - + Prevent screensaver from running - + Prevent screensaver while playing - + Disabled - + 2x MSAA - + 4x MSAA - + 8x MSAA - + 16x MSAA - + This skin does not support color schemes - + Information اطلاعات - + Mixxx must be restarted before the new locale, scaling or multi-sampling settings will take effect. @@ -7400,173 +7459,172 @@ The loudness target is approximate and assumes track pregain and main output lev DlgPrefSound - + %1 Hz %1 Hz - + Default (long delay) - + Experimental (no delay) - + Disabled (short delay) - + Soundcard Clock - + Network Clock - + Direct monitor (recording and broadcasting only) - + Disabled - + Enabled فعال‌شده - + Stereo استریو - + Mono - + To enable Realtime scheduling (currently disabled), see the %1. - + The %1 lists sound cards and controllers you may want to consider for using Mixxx. - + Mixxx DJ Hardware Guide - + Information - + Mixxx must be restarted before the multi-threaded RubberBand setting change will take effect. - + auto (<= 1024 frames/period) - + 2048 frames/period - + 4096 frames/period - + Are you sure? - + Distribute stereo channels into mono channels for parallel processing will result in a loss of mono compatibility and a diffuse stereo image. It is not recommended during broadcasting or recording. - + Are you sure you wish to proceed? - + No - + Yes, I know what I am doing - + Microphone inputs are out of time in the record & broadcast signal compared to what you hear. - + Measure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. - - + Refer to the Mixxx User Manual for details. - + Configured latency has changed. - + Remeasure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. - + Realtime scheduling is enabled. - + Main output only - + Main and booth outputs - + %1 ms %1 ms - + Configuration error خطای پیکربندی @@ -7584,131 +7642,131 @@ The loudness target is approximate and assumes track pregain and main output lev - + Sample Rate سرعت نمونه - + Audio Buffer - + Engine Clock - + Use soundcard clock for live audience setups and lowest latency.<br>Use network clock for broadcasting without a live audience. - + Main Mix - + Main Output Mode - + Microphone Monitor Mode - + Microphone Latency Compensation - - - - + + + + ms milliseconds - + 20 ms 20 ms - + Buffer Underflow Count - + 0 0 - + Keylock/Pitch-Bending Engine - + Multi-Soundcard Synchronization - + Output خروجی - + Input ورودی - + System Reported Latency - + Enlarge your audio buffer if the underflow counter is increasing or you hear pops during playback. - + Main Output Delay - + Headphone Output Delay - + Booth Output Delay - + Dual-threaded Stereo - + Hints and Diagnostics - + Downsize your audio buffer to improve Mixxx's responsiveness. - + Query Devices @@ -7863,27 +7921,28 @@ The loudness target is approximate and assumes track pregain and main output lev - - 1/3rd of waveform viewer + + 1/3 of waveform viewer + options for "Text height limit" - - Full waveform viewer height + + Entire waveform viewer - + OpenGL not available - + dropped frames - + Cached waveforms occupy %1 MiB on disk. @@ -7896,250 +7955,256 @@ The loudness target is approximate and assumes track pregain and main output lev - + Frame rate سرعت فریم‌ها - - Displays which OpenGL version is supported by the current platform. + + OpenGL Status - - Waveform + + Displays which OpenGL version is supported by the current platform. - + Normalize waveform overview - + Average frame rate - + Visual gain - + Default zoom level Waveform zoom - + Displays the actual frame rate. - + Visual gain of the middle frequencies - + End of track warning - - OpenGL status - - - - + This functionality requires waveform acceleration. - + Highlight the waveforms when the last seconds of a track remains. - + seconds - + Low پایین - + Show minute markers on waveform overview - + Use acceleration - + High details - + Middle - + Global - + Visual gain of the high frequencies - + Visual gain of the low frequencies - + High بالا - + Global visual gain - + The waveform overview shows the waveform envelope of the entire track. Select from different types of displays for the waveform overview, which differ primarily in the level of detail shown in the waveform. - + Enabled - + The waveform shows the waveform envelope of the track near the current playback position. Select from different types of displays for the waveform, which differ primarily in the level of detail shown in the waveform. - - Waveform overview type - - - - + fps - + Synchronize zoom level across all waveform displays. - + Synchronize zoom level across all waveforms - + Play marker hints - + Beats until next marker - + Preferred font size - + Text height limit - + Time until next marker - + Placement - + pt - + Caching - + Mixxx caches the waveforms of your tracks on disk the first time you load a track. This reduces CPU usage when you are playing live but requires extra disk space. - + Enable waveform caching - + Generate waveforms when analyzing library - + Beat grid opacity - + + Scrolling Waveforms + + + + + + Type + + + + Stereo coloration - + Set amount of opacity on beat grid lines. - + % % - + Play marker position - + Moves the play marker position on the waveforms to the left, right or center (default). - + + Overview Waveforms + + + + Clear Cached Waveforms @@ -8147,47 +8212,47 @@ Select from different types of displays for the waveform, which differ primarily DlgPreferences - + Sound Hardware - + Controllers - + Library کتابخانه - + Interface واسط - + Waveforms - + Mixer مخلوط‌کن - + Auto DJ دی‌جی خودکار - + Decks - + Colors @@ -8222,47 +8287,47 @@ Select from different types of displays for the waveform, which differ primarily - + Effects جلوه‌ها - + Recording ضبط - + Beat Detection - + Key Detection - + Normalization - + <font color='#BB0000'><b>Some preferences pages have errors. To apply the changes please first fix the issues.</b></font> - + Vinyl Control - + Live Broadcasting - + Modplug Decoder @@ -8295,22 +8360,22 @@ Select from different types of displays for the waveform, which differ primarily - + Start Recording - + Recording to file: - + Stop Recording - + %1 MiB written in %2 @@ -8618,284 +8683,284 @@ This can not be undone! چکیده - + Filetype: - + BPM: BPM: - + Location: مکان: - + Bitrate: نرخ بیت: - + Comments - + BPM BPM - + Sets the BPM to 75% of the current value. - + 3/4 BPM - + Sets the BPM to 50% of the current value. - + Displays the BPM of the selected track. - + Track # قطعه # - + Album Artist هنرمند آلبوم - + Composer آهنگساز - + Title سمت - + Grouping دسته بندی - + Key کلید - + Year سال - + Artist کل %n هنرمند - + Album کل %n آلبوم - + Genre ژانر - + ReplayGain: - + Sets the BPM to 200% of the current value. - + Double BPM - + Halve BPM - + Clear BPM and Beatgrid - + Move to the previous item. "Previous" button - + &Previous &قبلی‌ - + Move to the next item. "Next" button - + &Next &بعدی‌ - + Duration: مدت‌زمان: - + Import Metadata from MusicBrainz - + Re-Import Metadata from file - + Color رنگ - + Date added: - + Open in File Browser بازکردن در ... - + Samplerate: - + Track BPM: - + Converts beats detected by the analyzer into a fixed-tempo beatgrid. Use this setting if your tracks have a constant tempo (e.g. most electronic music). Often results in higher quality beatgrids, but will not do well on tracks that have tempo shifts. - + Assume constant tempo - + Sets the BPM to 66% of the current value. - + 2/3 BPM - + Sets the BPM to 150% of the current value. - + 3/2 BPM - + Sets the BPM to 133% of the current value. - + 4/3 BPM - + Tap with the beat to set the BPM to the speed you are tapping. - + Tap to Beat - + Hint: Use the Library Analyze view to run BPM detection. - + Save changes and close the window. "OK" button - + &OK - + Discard changes and close the window. "Cancel" button - + Save changes and keep the window open. "Apply" button - + &Apply &اعمال‌ - + &Cancel &لغو - + (no color) @@ -9052,7 +9117,7 @@ Often results in higher quality beatgrids, but will not do well on tracks that h - + (no color) @@ -9256,27 +9321,27 @@ Often results in higher quality beatgrids, but will not do well on tracks that h EngineBuffer - + Soundtouch (faster) - + Rubberband (better) - + Rubberband R3 (near-hi-fi quality) - + Unknown, using Rubberband (better) - + Unknown, using Soundtouch @@ -9420,38 +9485,38 @@ Often results in higher quality beatgrids, but will not do well on tracks that h ITunesFeature - - + + iTunes - + Select your iTunes library - + (loading) iTunes - + Use Default Library - + Choose Library... - + Error Loading iTunes Library - + There was an error loading your iTunes library. Check the logs for details. @@ -9459,12 +9524,12 @@ Often results in higher quality beatgrids, but will not do well on tracks that h LegacyControllerColorSetting - + Change color - + Choose a new color @@ -9472,18 +9537,18 @@ Often results in higher quality beatgrids, but will not do well on tracks that h LegacyControllerFileSetting - + Browse... - - + + No file selected - + Select a file @@ -9491,15 +9556,15 @@ Often results in higher quality beatgrids, but will not do well on tracks that h LegacySkinParser - - + + Safe Mode Enabled Shown when Mixxx is running in safe mode. - - + + No OpenGL support. Shown when Spinny can not be displayed. Please keep @@ -9510,57 +9575,57 @@ Shown when VuMeter can not be displayed. Please keep - + activate فعالسازی - + toggle ضامن - + right راست - + left چپ - + right small - + left small - + up بالا - + down پایین - + up small - + down small - + Shortcut میان‌بر @@ -9568,62 +9633,62 @@ Shown when VuMeter can not be displayed. Please keep Library - + This or a parent directory is already in your library. - + This or a listed directory does not exist or is inaccessible. Aborting the operation to avoid library inconsistencies - - + + This directory can not be read. - + An unknown error occurred. Aborting the operation to avoid library inconsistencies - + Can't add Directory to Library - + Could not add <b>%1</b> to your library. %2 - + Can't remove Directory from Library - + An unknown error occurred. - + This directory does not exist or is inaccessible. - + Relink Directory - + Could not relink <b>%1</b> to <b>%2</b>. %3 @@ -9633,22 +9698,22 @@ Aborting the operation to avoid library inconsistencies LibraryFeature - + Import Playlist درون ریزی فهرست‌پخش - + Playlist Files (*.m3u *.m3u8 *.pls *.csv) نوع فایل فهرست‌پخش (*.m3u *.m3u8 *.pls *.csv) - + Overwrite File? - + A playlist file with the name "%1" already exists. The default "m3u" extension was added because none was specified. @@ -9695,27 +9760,27 @@ Do you really want to overwrite it? MidiController - + MixxxControl(s) not found - + One or more MixxxControls specified in the outputs section of the loaded mapping were invalid. - + * Make sure the MixxxControls in question actually exist. Visit the manual for a complete list: - + Some LEDs or other feedback may not work correctly. - + * Check to see that the MixxxControl names are spelled correctly in the mapping file (.xml) @@ -9775,18 +9840,18 @@ Do you really want to overwrite it? MixxxLibraryFeature - + Missing Tracks - + Hidden Tracks - Export to Engine Prime + Export to Engine DJ @@ -9798,208 +9863,249 @@ Do you really want to overwrite it? MixxxMainWindow - + Sound Device Busy - + <b>Retry</b> after closing the other application or reconnecting a sound device - - - + + + <b>Reconfigure</b> Mixxx's sound device settings. - - + + Get <b>Help</b> from the Mixxx Wiki. - - - + + + <b>Exit</b> Mixxx. - + Retry تلاش دوباره - + skin - + Allow Mixxx to hide the menu bar? - + Hide Always show the menu bar? - + Always show - + The Mixxx menu bar is hidden and can be toggled with a single press of the <b>Alt</b> key.<br><br>Click <b>%1</b> to agree.<br><br>Click <b>%2</b> to disable that, for example if you don't use Mixxx with a keyboard.<br><br>You can change this setting any time in Preferences -> Interface.<br> Keep formatting tags <b> (bold text) and <br> (linebreak). %1 is the placeholder for the 'Always show' button label - + Ask me again - - + + Reconfigure پیکربندی مجدد - + Help راهنما - - + + Exit خروج - - + + Mixxx was unable to open all the configured sound devices. - + Sound Device Error - + <b>Retry</b> after fixing an issue - + No Output Devices - + Mixxx was configured without any output sound devices. Audio processing will be disabled without a configured output device. - + <b>Continue</b> without any outputs. - + Continue ادامه - + Load track to Deck %1 - + Deck %1 is currently playing a track. - + Are you sure you want to load a new track? - + There is no input device selected for this vinyl control. Please select an input device in the sound hardware preferences first. - + There is no input device selected for this passthrough control. Please select an input device in the sound hardware preferences first. - + There is no input device selected for this microphone. Do you want to select an input device? - + There is no input device selected for this auxiliary. Do you want to select an input device? - + + Scan took %1 + + + + + No changes detected. + + + + + + %1 tracks in total + + + + + %1 new tracks found + + + + + %1 moved tracks detected + + + + + %1 tracks are missing (%2 total) + + + + + %1 tracks have been rediscovered + + + + + Library scan finished + + + + Error in skin file - + The selected skin cannot be loaded. - + OpenGL Direct Rendering - + Direct rendering is not enabled on your machine.<br><br>This means that the waveform displays will be very<br><b>slow and may tax your CPU heavily</b>. Either update your<br>configuration to enable direct rendering, or disable<br>the waveform displays in the Mixxx preferences by selecting<br>"Empty" as the waveform display in the 'Interface' section. - - - + + + Confirm Exit - + A deck is currently playing. Exit Mixxx? - + A sampler is currently playing. Exit Mixxx? - + The preferences window is still open. - + Discard any changes and exit Mixxx? @@ -10015,13 +10121,13 @@ Do you want to select an input device? PlaylistFeature - + Lock قفل - - + + Playlists فهرست‌های پخش @@ -10031,32 +10137,58 @@ Do you want to select an input device? - + + Unlock all playlists + + + + + Delete all unlocked playlists + + + + Unlock بازکردن قفل - + + + Confirm Deletion + + + + + Do you really want to delete all unlocked playlists? + + + + + Deleting %1 unlocked playlists.<br>This operation can not be undone! + + + + Playlists are ordered lists of tracks that allow you to plan your DJ sets. - + It may be necessary to skip some tracks in your prepared playlist or add some different tracks in order to maintain the energy of your audience. - + Some DJs construct playlists before they perform live, but others prefer to build them on-the-fly. - + When using a playlist during a live DJ set, remember to always pay close attention to how your audience reacts to the music you've chosen to play. - + Create New Playlist ساخت فهرست پخش جدید @@ -11547,7 +11679,7 @@ Fully right: end of the effect period - + Deck %1 دک %1 @@ -11680,7 +11812,7 @@ Hint: compensates "chipmunk" or "growling" voices - + Passthrough @@ -11711,7 +11843,7 @@ Hint: compensates "chipmunk" or "growling" voices - + Sampler %1 @@ -11844,12 +11976,12 @@ may introduce a 'pumping' effect and/or distortion. - + built-in - + missing @@ -11884,42 +12016,42 @@ may introduce a 'pumping' effect and/or distortion. - + Empty - + Simple - + Filtered - + HSV - + VSyncTest - + RGB - + Stacked - + Unknown @@ -11977,54 +12109,54 @@ may introduce a 'pumping' effect and/or distortion. RekordboxFeature - - - + + + Rekordbox - + Playlists فهرست‌های پخش - + Folders - + Reads databases exported for Pioneer CDJ / XDJ players using the Rekordbox Export mode.<br/>Rekordbox can only export to USB or SD devices with a FAT or HFS file system.<br/>Mixxx can read a database from any device that contains the database folders (<tt>PIONEER</tt> and <tt>Contents</tt>).<br/>Not supported are Rekordbox databases that have been moved to an external device via<br/><i>Preferences > Advanced > Database management</i>.<br/><br/>The following data is read: - + Hot cues - + Loops (only the first loop is currently usable in Mixxx) - + Check for attached Rekordbox USB / SD devices (refresh) - + Beatgrids - + Memory cues - + (loading) Rekordbox @@ -12159,19 +12291,19 @@ may introduce a 'pumping' effect and/or distortion. قفل - - + + Confirm Deletion - + Do you really want to delete all unlocked playlist from <b>%1</b>?<br><br> %1 is the year <b> + </b> are used to make the text in between bold in the popup <br> is a linebreak - + Deleting %1 playlists from <b>%2</b>.<br><br> %1 is the number of playlists to be deleted %2 is the year <b> + </b> are used to make the text in between bold in the popup <br> is a linebreak @@ -12583,7 +12715,7 @@ may introduce a 'pumping' effect and/or distortion. - + Spinning Vinyl @@ -12765,7 +12897,7 @@ may introduce a 'pumping' effect and/or distortion. - + Cover Art جلد @@ -13001,197 +13133,197 @@ may introduce a 'pumping' effect and/or distortion. - + Adjust Beats Earlier - + When tapped, moves the beatgrid left by a small amount. - + Adjust Beats Later - + When tapped, moves the beatgrid right by a small amount. - + Tempo and BPM Tap - + Show/hide the spinning vinyl section. - + Keylock - + Toggling keylock during playback may result in a momentary audio glitch. - + Toggle visibility of Loop Controls - + Toggle visibility of Beatjump Controls - + Toggle visibility of Rate Control - + Toggle visibility of Key Controls - + (while previewing) - + Places a cue point at the current position on the waveform. - + Stops track at cue point, OR go to cue point and play after release (CUP mode). - + Set cue point (Pioneer/Mixxx/Numark mode), set cue point and play after release (CUP mode) OR preview from it (Denon mode). - + Is latching the playing state. - + Seeks the track to the cue point and stops. - + Play نواختن - + Plays track from the cue point. - + Sends the selected channel's audio to the headphone output, selected in Preferences -> Sound Hardware. - + (This skin should be updated to use Sync Lock!) - + Enable Sync Lock - + Tap to sync the tempo to other playing tracks or the sync leader. - + Enable Sync Leader - + When enabled, this device will serve as the sync leader for all other decks. - + This is relevant when a dynamic tempo track is loaded to a sync leader deck.In that case, other synced devices will adopt the changing tempo. - + Changes the track playback speed (affects both the tempo and the pitch). If keylock is enabled, only the tempo is affected. - + Tempo Range Display - + Displays the current range of the tempo slider. - + Un-ejects when no track is loaded, i.e. reloads the track that was ejected last (of any deck). - + Delete selected hotcue. - + Track Comment - + Displays the comment tag of the loaded track. - + Opens separate artwork viewer. - + Effect Chain Preset Settings - + Show the effect chain settings menu for this unit. - + Select and configure a hardware device for this input - + Recording Duration @@ -13429,924 +13561,932 @@ may introduce a 'pumping' effect and/or distortion. - + + Adjust beatgrid by exactly one half beat. Usable only on +tracks with constant tempo. + + + + Revert last BPM/Beatgrid Change - + Revert last BPM/Beatgrid Change of the loaded track. - - + + Toggle the BPM/beatgrid lock - + Tempo and Rate Tap - + Tempo, Rate Tap and BPM Tap - + Shift cues earlier - - + + Shift cues imported from Serato or Rekordbox if they are slightly off time. - + Left click: shift 10 milliseconds earlier - + Right click: shift 1 millisecond earlier - + Shift cues later - + Left click: shift 10 milliseconds later - + Right click: shift 1 millisecond later - + + + + Drag a Hotcue button here to continue playing after releasing the Hotcue. + + + + Hint: Change the default cue mode in Preferences -> Decks. - + Mutes the selected channel's audio in the main output. - + Main mix enable - + Hold or short click for latching to mix this input into the main output. - + If hotcue is a loop cue, toggles the loop and jumps to if the loop is behind the play position. - + If the play position is inside an active loop, stores the loop as loop cue. - + Drag this button onto another Hotcue button to move it there (change its index). If the other hotcue is set, the two are swapped. - - Dragging with Shift key pressed will not start previewing the hotcue - - - - + Expand/Collapse Samplers - + Toggle expanded samplers view. - + Displays the duration of the running recording. - + Auto DJ is active - + Red for when needle skip has been detected. - + Hot Cue - Track will seek to nearest previous hotcue point. - + Sets the track Loop-In Marker to the current play position. - + Press and hold to move Loop-In Marker. - + Jump to Loop-In Marker. - + Sets the track Loop-Out Marker to the current play position. - + Press and hold to move Loop-Out Marker. - + Jump to Loop-Out Marker. - + If the track has no beats the unit is seconds. - + Beatloop Size - + Select the size of the loop in beats to set with the Beatloop button. - + Changing this resizes the loop if the loop already matches this size. - + Halve the size of an existing beatloop, or halve the size of the next beatloop set with the Beatloop button. - + Double the size of an existing beatloop, or double the size of the next beatloop set with the Beatloop button. - + Start a loop over the set number of beats. - + Temporarily enable a rolling loop over the set number of beats. - + Beatloop Anchor - + Define whether the loop is created and adjusted from its staring point or ending point. - + Beatjump/Loop Move Size - + Select the number of beats to jump or move the loop with the Beatjump Forward/Backward buttons. - + Beatjump Forward - + Jump forward by the set number of beats. - + Move the loop forward by the set number of beats. - + Jump forward by 1 beat. - + Move the loop forward by 1 beat. - + Beatjump Backward - + Jump backward by the set number of beats. - + Move the loop backward by the set number of beats. - + Jump backward by 1 beat. - + Move the loop backward by 1 beat. - + Reloop - + If the loop is ahead of the current position, looping will start when the loop is reached. - + Works only if Loop-In and Loop-Out Marker are set. - + Enable loop, jump to Loop-In Marker, and stop playback. - + Displays the elapsed and/or remaining time of the track loaded. - + Click to toggle between time elapsed/remaining time/both. - + Hint: Change the time format in Preferences -> Decks. - + Show/hide intro & outro markers and associated buttons. - + Intro Start Marker - - - - + + + + If marker is set, jumps to the marker. - - - - + + + + If marker is not set, sets the marker to the current play position. - - - - + + + + If marker is set, clears the marker. - + Intro End Marker - + Outro Start Marker - + Outro End Marker - + Mix - + Adjust the mixing of the dry (input) signal with the wet (output) signal of the effect unit - + D/W mode: Crossfade between dry and wet - + D+W mode: Add wet to dry - + Mix Mode - + Adjust how the dry (input) signal is mixed with the wet (output) signal of the effect unit - + Dry/Wet mode (crossed lines): Mix knob crossfades between dry and wet Use this to change the sound of the track with EQ and filter effects. - + Dry+Wet mode (flat dry line): Mix knob adds wet to dry Use this to change only the effected (wet) signal with EQ and filter effects. - + Route the main mix through this effect unit. - + Route the left crossfader bus through this effect unit. - + Route the right crossfader bus through this effect unit. - + Right side active: parameter moves with right half of Meta Knob turn - + Stem Label - + Name of the stem stored in the stem file - + Text is displayed in the stem color stored in the stem file - + this stem color is also used for the waveform of this stem - + Stem Mute - + Toggle the stem mute/unmuted - + Stem Volume Knob - + Adjusts the volume of the stem - + Skin Settings Menu - + Show/hide skin settings menu - + Save Sampler Bank - + Save the collection of samples loaded in the samplers. - + Load Sampler Bank - + Load a previously saved collection of samples into the samplers. - + Show Effect Parameters - + Enable Effect - + Meta Knob Link - + Set how this parameter is linked to the effect's Meta Knob. - + Meta Knob Link Inversion - + Inverts the direction this parameter moves when turning the effect's Meta Knob. - + Super Knob - + Next Chain - + Previous Chain - + Next/Previous Chain - + Clear - + Clear the current effect. - + Toggle - + Toggle the current effect. - + Next - + Clear Unit - + Clear effect unit. - + Show/hide parameters for effects in this unit. - + Toggle Unit - + Enable or disable this whole effect unit. - + Controls the Meta Knob of all effects in this unit together. - + Load next effect chain preset into this effect unit. - + Load previous effect chain preset into this effect unit. - + Load next or previous effect chain preset into this effect unit. - - - - - - - - - + + + + + + + + + Assign Effect Unit - + Assign this effect unit to the channel output. - + Route the headphone channel through this effect unit. - + Route this deck through the indicated effect unit. - + Route this sampler through the indicated effect unit. - + Route this microphone through the indicated effect unit. - + Route this auxiliary input through the indicated effect unit. - + The effect unit must also be assigned to a deck or other sound source to hear the effect. - + Switch to the next effect. - + Previous - + Switch to the previous effect. - + Next or Previous - + Switch to either the next or previous effect. - + Meta Knob - + Controls linked parameters of this effect - + Effect Focus Button - + Focuses this effect. - + Unfocuses this effect. - + Refer to the web page on the Mixxx wiki for your controller for more information. - + Effect Parameter - + Adjusts a parameter of the effect. - + Inactive: parameter not linked - + Active: parameter moves with Meta Knob - + Left side active: parameter moves with left half of Meta Knob turn - + Left and right side active: parameter moves across range with half of Meta Knob turn and back with the other half - - + + Equalizer Parameter Kill - - + + Holds the gain of the EQ to zero while active. - + Quick Effect Super Knob - + Quick Effect Super Knob (control linked effect parameters). - + Hint: Change the default Quick Effect mode in Preferences -> Equalizers. - + Equalizer Parameter - + Adjusts the gain of the EQ filter. - + Hint: Change the default EQ mode in Preferences -> Equalizers. - - + + Adjust Beatgrid - + Adjust beatgrid so the closest beat is aligned with the current play position. - - + + Adjust beatgrid to match another playing deck. - + If quantize is enabled, snaps to the nearest beat. - + Quantize - + Toggles quantization. - + Loops and cues snap to the nearest beat when quantization is enabled. - + Reverse معکوس - + Reverses track playback during regular playback. - + Puts a track into reverse while being held (Censor). - + Playback continues where the track would have been if it had not been temporarily reversed. - - - + + + Play/Pause پخش/مکث - + Jumps to the beginning of the track. - + Syncs the tempo (BPM) and phase to that of the other track, if BPM is detected on both. - + Syncs the tempo (BPM) to that of the other track, if BPM is detected on both. - + Sync and Reset Key - + Increases the pitch by one semitone. - + Decreases the pitch by one semitone. - + Enable Vinyl Control - + When disabled, the track is controlled by Mixxx playback controls. - + When enabled, the track responds to external vinyl control. - + Enable Passthrough - + Indicates that the audio buffer is too small to do all audio processing. - + Displays cover artwork of the loaded track. - + Displays options for editing cover artwork. - + Star Rating - + Assign ratings to individual tracks by clicking the stars. @@ -14481,33 +14621,33 @@ Use this to change only the effected (wet) signal with EQ and filter effects. - + Prevents the pitch from changing when the rate changes. - + Changes the number of hotcue buttons displayed in the deck - + Starts playing from the beginning of the track. - + Jumps to the beginning of the track and stops. - - + + Plays or pauses the track. - + (while playing) @@ -14527,205 +14667,215 @@ Use this to change only the effected (wet) signal with EQ and filter effects. - + (while stopped) - + Cue - + Headphone هد‌فون - + Mute بی صدا - + Old Synchronize - + Syncs to the first deck (in numerical order) that is playing a track and has a BPM. - + If no deck is playing, syncs to the first deck that has a BPM. - + Decks can't sync to samplers and samplers can only sync to decks. - + Hold for at least a second to enable sync lock for this deck. - + Decks with sync locked will all play at the same tempo, and decks that also have quantize enabled will always have their beats lined up. - + Resets the key to the original track key. - + Speed Control - - - + + + Changes the track pitch independent of the tempo. - + Increases the pitch by 10 cents. - + Decreases the pitch by 10 cents. - + Pitch Adjust - + Adjust the pitch in addition to the speed slider pitch. - + Opens a menu to clear hotcues or edit their labels and colors. - + + Drag this button onto a Play button while previewing to continue playback after release. + + + + + Dragging with Shift key pressed will not start previewing the hotcue. + + + + Record Mix - + Toggle mix recording. - + Enable Live Broadcasting - + Stream your mix over the Internet. - + Provides visual feedback for Live Broadcasting status: - + disabled, connecting, connected, failure. - + When enabled, the deck directly plays the audio arriving on the vinyl input. - + Playback will resume where the track would have been if it had not entered the loop. - + Loop Exit - + Turns the current loop off. - + Slip Mode - + When active, the playback continues muted in the background during a loop, reverse, scratch etc. - + Once disabled, the audible playback will resume where the track would have been. - + Track Key The musical key of a track - + Displays the musical key of the loaded track. - + Clock ساعت - + Displays the current time. - + Audio Latency Usage Meter - + Displays the fraction of latency used for audio processing. - + A high value indicates that audible glitches are likely. - + Do not enable keylock, effects or additional decks in this situation. - + Audio Latency Overload Indicator @@ -14770,254 +14920,254 @@ Use this to change only the effected (wet) signal with EQ and filter effects. - + Fast Rewind - + Fast rewind through the track. - + Fast Forward - + Fast forward through the track. - + Jumps to the end of the track. - + Sets the pitch to a key that allows a harmonic transition from the other track. Requires a detected key on both involved decks. - - - + + + Pitch Control - + Pitch Rate - + Displays the current playback rate of the track. - + Repeat تکرار - + When active the track will repeat if you go past the end or reverse before the start. - + Eject پس زدن - + Ejects track from the player. - + Hotcue - + If hotcue is set, jumps to the hotcue. - + If hotcue is not set, sets the hotcue to the current play position. - + Vinyl Control Mode - + Absolute mode - track position equals needle position and speed. - + Relative mode - track speed equals needle speed regardless of needle position. - + Constant mode - track speed equals last known-steady speed regardless of needle input. - + Vinyl Status - + Provides visual feedback for vinyl control status: - + Green for control enabled. - + Blinking yellow for when the needle reaches the end of the record. - + Loop-In Marker - + Loop-Out Marker - + Loop Halve - + Halves the current loop's length by moving the end marker. - + Deck immediately loops if past the new endpoint. - + Loop Double - + Doubles the current loop's length by moving the end marker. - + Beatloop - + Toggles the current loop on or off. - + Works only if Loop-In and Loop-Out marker are set. - + Vinyl Cueing Mode - + Determines how cue points are treated in vinyl control Relative mode: - + Off - Cue points ignored. - + One Cue - If needle is dropped after the cue point, track will seek to that cue point. - + Track Time - + Track Duration - + Displays the duration of the loaded track. - + Information is loaded from the track's metadata tags. - + Track Artist - + Displays the artist of the loaded track. - + Track Title - + Displays the title of the loaded track. - + Track Album آلبوم - + Displays the album name of the loaded track. - + Track Artist/Title - + Displays the artist and title of the loaded track. @@ -15025,12 +15175,12 @@ Use this to change only the effected (wet) signal with EQ and filter effects. TrackCollection - + Hiding tracks - + The selected tracks are in the following playlists:%1Hiding them will remove them from these playlists. Continue? @@ -15038,47 +15188,42 @@ Use this to change only the effected (wet) signal with EQ and filter effects. TrackExportDlg - + Export finished - + Exporting %1 - - Overwrite Existing File? + + Replace Existing File? - - "%1" already exists, overwrite? + + "%1" already exists, replace? - &Overwrite + &Replace - - Over&write All - - - - - &Skip + + Apply to all files - Skip &All + &Skip - + Export Error @@ -15250,47 +15395,47 @@ This can not be undone! WCueMenuPopup - + Cue number - + Cue position - + Edit cue label - + Label... - + Delete this cue - + Toggle this cue type between normal cue and saved loop - + Left-click: Use the old size or the current beatloop size as the loop size - + Right-click: Use the current play position as loop end if it is after the cue - + Hotcue #%1 @@ -15414,407 +15559,438 @@ This can not be undone! - - E&xport Library to Engine Prime + + Search in Current View... - - Export the library to the Engine Prime format + + Search for tracks in the current library view - + + Ctrl+f + + + + + Search in Tracks Library... + + + + + Search in the internal track collection under "Tracks" in the library + + + + + Ctrl+Shift+F + + + + Create &New Playlist - + Create a new playlist ایجاد یک فهرست‌پخش جدید - + Ctrl+n - + Create New &Crate - + Create a new crate - + Ctrl+Shift+N Ctrl+Shift+N - - + + &View &نما‌ - + Auto-hide menu bar - + Auto-hide the main menu bar when it's not used. - + May not be supported on all skins. - + Show Skin Settings Menu - + Show the Skin Settings Menu of the currently selected Skin - + Ctrl+1 Menubar|View|Show Skin Settings Ctrl+1 - + Show Microphone Section - + Show the microphone section of the Mixxx interface. - + Ctrl+2 Menubar|View|Show Microphone Section Ctrl+2 - + Show Vinyl Control Section - + Show the vinyl control section of the Mixxx interface. - + Ctrl+3 Menubar|View|Show Vinyl Control Section Ctrl+3 - + Show Preview Deck - + Show the preview deck in the Mixxx interface. - + Ctrl+4 Menubar|View|Show Preview Deck Ctrl+5 - + Show Cover Art - + Show cover art in the Mixxx interface. - + Ctrl+6 Menubar|View|Show Cover Art - + Maximize Library - + Maximize the track library to take up all the available screen space. - + Space Menubar|View|Maximize Library - + &Full Screen &تمام صفحه - + Display Mixxx using the full screen - + &Options &گزینه‌ها‌ - + &Vinyl Control - + Use timecoded vinyls on external turntables to control Mixxx - + Enable Vinyl Control &%1 - + &Record Mix - + Record your mix to a file - + Ctrl+R Ctrl+R - + Enable Live &Broadcasting - + Stream your mixes to a shoutcast or icecast server - + Ctrl+L Ctrl+L - + Enable &Keyboard Shortcuts - + Toggles keyboard shortcuts on or off - + Ctrl+` Ctrl+` - + &Preferences &تنظیمات‌ - + Change Mixxx settings (e.g. playback, MIDI, controls) - + &Developer - + &Reload Skin - + Reload the skin - + Ctrl+Shift+R - + Developer &Tools - + Opens the developer tools dialog - + Ctrl+Shift+T - + Stats: &Experiment Bucket - + Enables experiment mode. Collects stats in the EXPERIMENT tracking bucket. - + Ctrl+Shift+E - + Stats: &Base Bucket - + Enables base mode. Collects stats in the BASE tracking bucket. - + Ctrl+Shift+B - + Deb&ugger Enabled - + Enables the debugger during skin parsing - + Ctrl+Shift+D - + &Help &راهنما - + Show Keywheel menu title - + + E&xport Library to Engine DJ + "Engine DJ" must not be translated + + + + + Export the library to the Engine DJ format + + + + Show keywheel tooltip text - + F12 Menubar|View|Show Keywheel - + &Community Support - + Get help with Mixxx &دریافت کمک از Mixxx - + &User Manual &راهنمای کاربری - + Read the Mixxx user manual. خواندن راهنمای کاربری Mixxx - + &Keyboard Shortcuts &میانبر های کیبورد - + Speed up your workflow with keyboard shortcuts. سرعت کار خود را با میانبر های کیبورد افزایش دهید! - + &Settings directory - + Open the Mixxx user settings directory. - + &Translate This Application &این نرم افزار را ترجمه کنید - + Help translate this application into your language. در ترجمه این نرم افزار به زبان خودتان کمک کنید - + &About &درباره - + About the application درباره این نرم افزار @@ -15822,25 +15998,25 @@ This can not be undone! WOverview - + Passthrough - + Ready to play, analyzing... Text on waveform overview when file is playable but no waveform is visible - - + + Loading track... Text on waveform overview when file is cached from source - + Finalizing... Text on waveform overview during finalizing of waveform analysis @@ -15849,25 +16025,13 @@ This can not be undone! WSearchLineEdit - - Clear input - Clear the search bar input field - پاکسازی داده ها - - - - Ctrl+F - Search|Focus - Ctrl+F - - - + Search noun جستوجو - + Clear input پاکسازی داده ها @@ -15878,169 +16042,163 @@ This can not be undone! جستجو... - + Clear the search bar input field - - Enter a string to search for + + Return - - Use operators like bpm:115-128, artist:BooFar, -year:1990 + + Enter a string to search for. - - For more information see User Manual > Mixxx Library + + Use operators like bpm:115-128, artist:BooFar, -year:1990. - Shortcut - میان‌بر + See User Manual > Mixxx Library for more information. + - - Ctrl+F - Ctrl+F + + Focus/Select All (Search in current view) + Give search bar input focus + - - Focus - Give search bar input focus - تمرکز + + Focus/Select All (Search in 'Tracks' library view) + - - - Ctrl+Backspace - Ctrl+Backspace + + Additional Shortcuts When Focused: + - Shortcuts + Trigger search before search-as-you-type timeout or focus tracks view afterwards - Return + Esc or Ctrl+Return - Trigger search before search-as-you-type timeout orjump to tracks view afterwards + Immediately trigger search and focus tracks view + Exit search bar and leave focus - + Ctrl+Space - + Toggle search history Shows/hides the search history entries - + Delete or Backspace - - Delete query from history + + in search history - - Esc - Esc - - - - Exit search - Exit search bar and leave focus - خروج از جستوجو + + Delete query from history + WSearchRelatedTracksMenu - + Search related Tracks - + Key کلید - + harmonic with %1 - + BPM BPM - + between %1 and %2 - + Artist کل %n هنرمند - + Album Artist هنرمند آلبوم - + Composer آهنگساز - + Title سمت - + Album کل %n آلبوم - + Grouping دسته بندی - + Year سال - + Genre ژانر - + Directory - + &Search selected @@ -16048,599 +16206,625 @@ This can not be undone! WTrackMenu - + Load to - + Deck دسته - + Sampler - + Add to Playlist افزودن به فهرست پخش - + Crates کلکسیون - + Metadata - + Update external collections - + Cover Art جلد - + Adjust BPM - + Select Color - - + + Analyze تحلیل - - + + Delete Track Files - + Add to Auto DJ Queue (bottom) افزودن به صف دی‌جی خودکار (پایین) - + Add to Auto DJ Queue (top) افزودن به صف دی‌جی خودکار (بالا) - + Add to Auto DJ Queue (replace) - + Preview Deck - + Remove حذف - + Remove from Playlist - + Remove from Crate - + Hide from Library از کتابخانه پنهان کن - + Unhide from Library ظاهر سازی در کتابخانه - + Purge from Library پاکسازی کتابخانه - + Move Track File(s) to Trash - + Delete Files from Disk - + Properties مشخصات - + Open in File Browser بازکردن در ... - + Select in Library - + Import From File Tags - + Import From MusicBrainz - + Export To File Tags - + BPM and Beatgrid - + Play Count - + Rating رتبه‌دهی - + Cue Point - + + Hotcues - + Intro - + Outro - + Key کلید - + ReplayGain - + Waveform - + Comment دیدگاه - + All همه - + + Sort hotcues by position (remove offsets) + + + + + Sort hotcues by position + + + + Lock BPM - + Unlock BPM - + Double BPM - + Halve BPM - + 2/3 BPM - + 3/4 BPM - + 4/3 BPM - + 3/2 BPM - + + Shift Beatgrid Half Beat + + + + Reanalyze - + Reanalyze (constant BPM) - + Reanalyze (variable BPM) - + Update ReplayGain from Deck Gain - + Deck %1 دک %1 - + Importing metadata of %n track(s) from file tags - + Marking metadata of %n track(s) to be exported into file tags - - + + Create New Playlist ساخت فهرست پخش جدید - + Enter name for new playlist: نام جدید برای فهرست‌پخش - + New Playlist فهرست‌پخش جدید - - - + + + Playlist Creation Failed خطا در ایجاد فهرست‌پخش - + A playlist by that name already exists. فهرست‌پخشی با این نام از پیش موجود است. - + A playlist cannot have a blank name. فهرست‌پخش نمیتواند بدون نام باشد - + An unknown error occurred while creating playlist: خطایی ناشناخته در هنگام تولید فهرست‌پخش رخ داده است : - + Add to New Crate - + Scaling BPM of %n track(s) - + Undo BPM/beats change of %n track(s) - + Locking BPM of %n track(s) - + Unlocking BPM of %n track(s) - + Setting rating of %n track(s) - + Setting color of %n track(s) - + Resetting play count of %n track(s) - + Resetting beats of %n track(s) - + Clearing rating of %n track(s) - + Clearing comment of %n track(s) - + Removing main cue from %n track(s) - + Removing outro cue from %n track(s) - + Removing intro cue from %n track(s) - + Removing loop cues from %n track(s) - + Removing hot cues from %n track(s) - + + Sorting hotcues of %n track(s) by position (remove offsets) + + + + + Sorting hotcues of %n track(s) by position + + + + Resetting keys of %n track(s) - + Resetting replay gain of %n track(s) - + Resetting waveform of %n track(s) - + Resetting all performance metadata of %n track(s) - + Move these files to the trash bin? - + Permanently delete these files from disk? - - + + This can not be undone! - + Cancel انصراف - + Delete Files - + Okay - + Move Track File(s) to Trash? - + Track Files Deleted - + Track Files Moved To Trash - + %1 track files were moved to trash and purged from the Mixxx database. - + %1 track files were deleted from disk and purged from the Mixxx database. - + Track File Deleted - + Track file was deleted from disk and purged from the Mixxx database. - + The following %1 file(s) could not be deleted from disk - + This track file could not be deleted from disk - + Remaining Track File(s) - + Close - + Clear Reset metadata in right click track context menu in library - + Loops - + Clear BPM and Beatgrid - + Undo last BPM/beats change - + Move this track file to the trash bin? - + Permanently delete this track file from disk? - + All decks where these tracks are loaded will be stopped and the tracks will be ejected. - + All decks where this track is loaded will be stopped and the track will be ejected. - + Removing %n track file(s) from disk... - + Note: if you are in the Computer or Recording view you need to click the current view again to see changes. - + Track File Moved To Trash - + Track file was moved to trash and purged from the Mixxx database. - + Don't show again during this session - + The following %1 file(s) could not be moved to trash - + This track file could not be moved to trash - + Setting cover art of %n track(s) - + Reloading cover art of %n track(s) @@ -16656,37 +16840,37 @@ This can not be undone! WTrackStemMenu - + Load for stem mixing - + Load pre-mixed stereo track - + Load the "%1" stem - + Load multiple stem into a stereo deck - + Select stems to load - + Release "CTRL" to load the current selection - + Use "CTRL" to select multiple stems @@ -16694,37 +16878,37 @@ This can not be undone! WTrackTableView - + Confirm track hide - + Are you sure you want to hide the selected tracks? - + Are you sure you want to remove the selected tracks from AutoDJ queue? - + Are you sure you want to remove the selected tracks from this crate? - + Are you sure you want to remove the selected tracks from this playlist? - + Don't ask again during this session - + Confirm track removal @@ -16732,60 +16916,65 @@ This can not be undone! WTrackTableViewHeader - + Show or hide columns. نمایش یا پنهان سازی ستون ها + + + Shuffle Tracks + + mixxx::CoreServices - + fonts - + database - + effects - + audio interface - + decks - + library - + Choose music library directory - + controllers - + Cannot open database - + Unable to establish a database connection. Mixxx requires QT with SQLite support. Please read the Qt SQL driver documentation for information on how to build it. @@ -16796,67 +16985,78 @@ Click OK to exit. mixxx::DlgLibraryExport - + Entire music library - - Selected crates + + Crates + + + + + Playlists + + + + + Selected crates/playlists - + Browse انتخاب فایل - + Export directory - + Database version - + Export - + Cancel انصراف - - Export Library to Engine Prime + + Export Library to Engine DJ + "Engine DJ" must not be translated - + Export Library To - + No Export Directory Chosen - + No export directory was chosen. Please choose a directory in order to export the music library. - + A database already exists in the chosen directory. Exported tracks will be added into this database. - + A database already exists in the chosen directory, but there was a problem loading it. Export is not guaranteed to succeed in this situation. @@ -16877,7 +17077,7 @@ Click OK to exit. mixxx::EnginePrimeExportJob - + Failed to export track %1 - %2: %3 %1 is the artist %2 is the title and %3 is the original error message @@ -16887,23 +17087,23 @@ Click OK to exit. mixxx::LibraryExporter - + Export Completed - - Exported %1 track(s) and %2 crate(s). + + Exported %1 track(s), %2 crate(s), and %3 playlist(s). - + Export Failed - - Exporting to Engine Prime... + + Exporting to Engine DJ... diff --git a/res/translations/mixxx_fi.qm b/res/translations/mixxx_fi.qm index ed01cc2160389a0153522c10076eab016e0b753c..91d9d1db279f10270a967792a0831d94f5037728 100644 GIT binary patch delta 554 zcmXBPO-Pdg7{Kx8dEDD;+nRGO_hD@7-S+OY4a!!cQOsIPn&3q|EKe~iWC#hvm?b$z z2O;5cX=Fka9@<*Q0wagDV>Rd!9U{7vow5w04~b}Or{C=l|GPP1k%gHKoP4w=gp&0D zz{z_6ndc2T4iNPNjNY${_E$WH`?-h?rR@m7zzaZk55LDG$+6ODN+8*u@#Cg`vdpnU z@zrcO1APZ?0c^yeFO&mFP1HrFnbksqtjjzm6v=j_l{~iM##0qdS!$xn;cilI>)+V{!|$-m{#0O=4u|} zS!IBnPr0g0P;iYqRS~kMN@X78SD$M7T0EUrZJVcSSkJRwlO%tXGnx>2UUFG8Y?e1fk9HlvxFvetRRD&zMPD`mxG&6|Eg#7J zfc4r0IUaIaYaySX7qo{^;y2pQBrkKh^)gw1aE~rP-c26SrLdVl>5Alx@@(56c?S4P z+n^+0Qm#hF0h&HG6u&p@?W&7XN9nA-9m)N>l-?aca!zugy%yQxxM7&~&T!d~Am3|t u7?;TYhpWarEf?}r0I|Py(e;lrrfv%UoT`{sDkhXIbJK^hdqwQRh1UNBe5Ppt delta 726 zcma)%TS$`u6vxjwyL@YYI$frljosY7Id?&%=0il1Zk23;WHmwz*<2Z8hE61~dQe6X zM08yDEOGgep~(av@}YW(!l%&aLiP{^K~@kH#Gt+udZ~vF9Dawx|NQ@)F;-1vRp&P2 z%~?|b?N$T8t{lL~{dIB&z-}+VvD<4z$6Zciy*kW*<|~{-No%tMv^@rN+jt36n&zsanv~2H~ zknN+`bb1Wn^9~G}s{!uWF*NnJkk6XO$MnZ!V4QhRC9)v+7MZm zIjoiR&L_%Cdlmrex|EkwS(#2A(fYO04dv9?Z*qd2=d=l`n_yE>h#VdHc#(kkg_EL0 z9v6>_0rDQ^MbS*|ef&|(knIhpi!)?x#^c{fVtKfe5 z03iB9@MQdeeixf`E95@U1zp1K9M!Z<#sF^hY7R!q0lFGBv0C{_lV6kaeE{^9@knU{ zKH`Pa_vFfQuIwaPU$8^(C(kms>j!a_7xmL5`FLpKeyR=dk_^`&_LiHe8uH=t3MBXI ze0-B1N$Td&3R(M{n=3oXKES!k1bOFJG)$6Xh35?8l|3`fhaz?n` - + Remove Crate as Track Source Poista levylaukku olemasta raitalähde - + Auto DJ Auto-DJ - + Confirmation Clear - + Do you really want to remove all tracks from the Auto DJ queue? - + This can not be undone. - + Add Crate as Track Source Lisää levylaukku raitalähteeksi @@ -149,28 +149,28 @@ BasePlaylistFeature - + New Playlist Uusi soittolista - + Add to Auto DJ Queue (bottom) Lisää Auto DJ -jonon loppuun - + Create New Playlist Luo uusi soittolista - + Add to Auto DJ Queue (top) Lisää Auto DJ -jonon alkuun - + Remove Poista @@ -180,12 +180,12 @@ Muuta nimeä - + Lock Lukitse - + Duplicate Monista @@ -206,24 +206,24 @@ Analysoi koko soittolista - + Enter new name for playlist: Anna uusi nimi soittolistalle - + Duplicate Playlist Duplikoi soittolista - - + + Enter name for new playlist: Anna nimi uudelle soittolistalle - + Export Playlist Vie soittolista @@ -233,70 +233,77 @@ Lisää Auto DJ -jonoon (korvaa) - + + + Export to Engine DJ + "Engine DJ" is a product name and must not be translated. + + + + Rename Playlist Nimeä soittolista uudelleen - - + + Renaming Playlist Failed Soittolistan uudelleennimeäminen epäonnistui - - - + + + A playlist by that name already exists. Samanniminen soittolista on jo olemassa. - - - + + + A playlist cannot have a blank name. Soittolistan nimi ei voi olla tyhjä. - + _copy //: Appendix to default name when duplicating a playlist _kopioi - - - - - - + + + + + + Playlist Creation Failed Soittolistan luominen epäonnistui - - + + An unknown error occurred while creating playlist: Soittolistan luonnissa tapahtui tuntematon virhe: - + Confirm Deletion - + Do you really want to delete playlist <b>%1</b>? - + M3U Playlist (*.m3u) M3U Soittolista (*.m3u) - + M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Text CSV (*.csv);;Readable Text (*.txt) m3u-soittolista (*.m3u);;m3u8-soittolista (*.m3u8);;pls-soittolista (*.pls);;CSV-tekstitiedosto (*.csv);;Luettava tekstitiedosto (*.txt) @@ -304,12 +311,12 @@ BaseSqlTableModel - + # # - + Timestamp Aikaleima @@ -317,7 +324,7 @@ BaseTrackPlayerImpl - + Couldn't load track. Kappaletta ei voitu ladata. @@ -325,137 +332,142 @@ BaseTrackTableModel - + Album Levy - + Album Artist Albumin esittäjä - + Artist Esittäjä - + Bitrate Bittinopeus - + BPM BPM - + Channels Kanavat - + Color Väri - + Comment Kommentti - + Composer Säveltäjä - + Cover Art Kansikuva - + Date Added Lisäyspäivä - + Last Played Viimeksi soitettu - + Duration Kesto - + Type Tyyppi - + Genre Tyylilaji - + Grouping Ryhmittely - + Key Sävellaji - + Location Sijainti - + + Overview + + + + Preview Esikatselu - + Rating Arvostelu - + ReplayGain ReplayGain (toiston voimakkuuden tasoitus) - + Samplerate Näytteenottotaajuus - + Played Soitettu - + Title Kappale - + Track # Raidan # - + Year Vuosi - + Fetching image ... Tooltip text on the cover art column shown when the cover is read from disk @@ -543,67 +555,77 @@ BrowseFeature - + Add to Quick Links Lisää pikalinkkejä - + Remove from Quick Links Poista pikalinkeistä - + Add to Library Lisää kirjastoon - + Refresh directory tree - + Quick Links Pikalinkit - - + + Devices Laitteet - + Removable Devices Irrotettavat laitteet - - + + Computer Tietokone - + Music Directory Added Musiikkikansio lisätty - + You added one or more music directories. The tracks in these directories won't be available until you rescan your library. Would you like to rescan now? Lisäsit yhden tahi useamman musiikkihakemiston. Raidat näiden hakemistojen sisällä eivät tule tarjolle ennen kuin kirjastosi uudelleenskannataan. Haluatko skannata sen lävitse nyt? - + Scan Skannaa - + "Computer" lets you navigate, view, and load tracks from folders on your hard disk and external devices. "Tietokone" mahdollistaa navigoinnin, tarkastelun ja raitojen lataamisen kiintolevysi kansioista sekä ulkoisista laitteista. + + + It shows the data from the file tags, not track data from your Mixxx library like other track views. + + + + + If you load a track file from here, it will be added to your library. + + BrowseTableModel @@ -749,87 +771,87 @@ CmdlineArgs - + Mixxx is an open source DJ software. For more information, see: Mixx on avoimen lähdekoodin DJ-ohjelma. Lisätietoja näet täältä: - + Starts Mixxx in full-screen mode Käynnistää Mixxx:in kokoruututilassa - + Use a custom locale for loading translations. (e.g 'fr') Ota käyttöön oma kotoistus ja kieli ladataksesi käännöksiä. (esim. 'fi') - + Top-level directory where Mixxx should look for its resource files such as MIDI mappings, overriding the default installation location. Päällimmäinen hakemisto josta Mixx etsii hyödykkeitä kuten MIDI-kartoitukset, vakiollisen asennussijainnin ohittaminen. - + Path the debug statistics time line is written to Polku johon virhekorjaustilaston aikajana kirjoitetaan - + Causes Mixxx to display/log all of the controller data it receives and script functions it loads Laittaa Mixxx:in näyttämään/kirjoittamaan talteen kaiken sen vastaanottaman ohjain-datan sekä kirjaamaan nuo ladatut toiminnot - + The controller mapping will issue more aggressive warnings and errors when detecting misuse of controller APIs. New Controller Mappings should be developed with this option enabled! - + Enables developer-mode. Includes extra log info, stats on performance, and a Developer tools menu. Kytkee päälle kehittäjätilan. Sisältää tietojen lisäkirjauksia, suorituskykyyn liittyviä tilastoja, sekä kehittäjätyökalujen valikon. - + Top-level directory where Mixxx should look for settings. Default is: - + Starts Auto DJ when Mixxx is launched. - + Rescans the library when Mixxx is launched. - + Use legacy vu meter - + Use legacy spinny - + Loads experimental QML GUI instead of legacy QWidget skin - + Enables safe-mode. Disables OpenGL waveforms, and spinning vinyl widgets. Try this option if Mixxx is crashing on startup. Kytkee päälle turvatun tilan. Päältä otetaan pois OpenGL-ääniaaltomuodot sekä pyörivät vinyylivimpaimet. Kokeile tätä vaihtoehtotilaa mikäli Mixxx kaatuu käynnistyksen yhteydessä. - + [auto|always|never] Use colors on the console output. [auto|always|never] Käytä päätteen tulosteissa värejä. - + Sets the verbosity of command line logging. critical - Critical/Fatal only warning - Above + Warnings @@ -844,27 +866,32 @@ virheenkorjaukseen liittyvät - kuten yllä + bugeihin liittyvät/kehittäjälii jäljitys - kuten yllä + henkilökuvaliitteiset viestit - + Sets the the logging level at which the log buffer is flushed to mixxx.log. <level> is one of the values defined at --log-level above. Asettaa kirjaustason asteelle jossa kirjauspuskuri huuhtaistaan mixxx.log -tiedostoon. <level> on yksi arvoista jotka määritetään yllä --log-level tasolla. - + Sets the maximum file size of the mixxx.log file in bytes. Use -1 for unlimited. The default is 100 MB as 1e5 or 100000000. - + Breaks (SIGINT) Mixxx, if a DEBUG_ASSERT evaluates to false. Under a debugger you can continue afterwards. - + + Overrides the default application GUI style. Possible values: %1 + + + + Load the specified music file(s) at start-up. Each file you specify will be loaded into the next virtual deck. - + Preview rendered controller screens in the Setting windows. @@ -1046,13 +1073,13 @@ jäljitys - kuten yllä + henkilökuvaliitteiset viestit - + Set to full volume Aseta äänenvoimakkuus täysille - + Set to zero volume Aseta äänenvoimakkuus nollalle @@ -1077,13 +1104,13 @@ jäljitys - kuten yllä + henkilökuvaliitteiset viestit - + Headphone listen button Kuulokekuuntelun nappi - + Mute button Hiljennä-nappi @@ -1094,25 +1121,25 @@ jäljitys - kuten yllä + henkilökuvaliitteiset viestit - + Mix orientation (e.g. left, right, center) Miksauksen suunta (vasen, oikea, keskellä) - + Set mix orientation to left - + Set mix orientation to center - + Set mix orientation to right @@ -1153,22 +1180,22 @@ jäljitys - kuten yllä + henkilökuvaliitteiset viestit BPM-syötön nappi - + Toggle quantize mode Kvantisoinnin valintanappi - + One-time beat sync (tempo only) - + One-time beat sync (phase only) - + Toggle keylock mode Valitse sävellajin lukitustila @@ -1178,193 +1205,193 @@ jäljitys - kuten yllä + henkilökuvaliitteiset viestit Taajuuskorjaimet - + Vinyl Control Ohjainlevy - + Toggle vinyl-control cueing mode (OFF/ONE/HOT) Ohjainlevyn käynnistystila (päällä/pois/kuuma) - + Toggle vinyl-control mode (ABS/REL/CONST) Ohjainlevyn ohjaustila (abs./suht./vakio) - + Pass through external audio into the internal mixer - + Cues Cue-nappi - + Cue button Cue-nappi - + Set cue point Aseta cue-piste - + Go to cue point - + Go to cue point and play - + Go to cue point and stop Siirry cue-pisteeseen ja pysäytä - + Preview from cue point - + Cue button (CDJ mode) - + Stutter cue - + Hotcues Nopea merkki - + Set, preview from or jump to hotcue %1 - + Clear hotcue %1 Poista hotcue-piste %1 - + Set hotcue %1 Aseta hotcue-piste %1 - + Jump to hotcue %1 Siirry hotcue-pisteeseen %1 - + Jump to hotcue %1 and stop Siirry hotcue-pisteeseen %1 ja pysäytä - + Jump to hotcue %1 and play Siirry hotcue-pisteeseen %1 ja toista. - + Preview from hotcue %1 - - + + Hotcue %1 - + Looping Loopit - + Loop In button Loopin aloitusnappi - + Loop Out button Loopin lopetusnappi - + Loop Exit button - + 1/2 - + 1 1 - + 2 - + 4 - + 8 - + 16 - + 32 - + 64 - + Move loop forward by %1 beats - + Move loop backward by %1 beats - + Create %1-beat loop Luo %1-tahdin looppi - + Create temporary %1-beat loop roll @@ -1482,20 +1509,20 @@ jäljitys - kuten yllä + henkilökuvaliitteiset viestit - - + + Volume Fader - + Full Volume - + Zero Volume @@ -1511,7 +1538,7 @@ jäljitys - kuten yllä + henkilökuvaliitteiset viestit - + Mute Hiljennä @@ -1522,7 +1549,7 @@ jäljitys - kuten yllä + henkilökuvaliitteiset viestit - + Headphone Listen @@ -1543,25 +1570,25 @@ jäljitys - kuten yllä + henkilökuvaliitteiset viestit - + Orientation - + Orient Left - + Orient Center - + Orient Right @@ -1631,82 +1658,82 @@ jäljitys - kuten yllä + henkilökuvaliitteiset viestit - + Adjust Beatgrid Säädä Beatgrid - + Align beatgrid to current position - + Adjust Beatgrid - Match Alignment - + Adjust beatgrid to match another playing deck. - + Quantize Mode - + Sync - + Beat Sync One-Shot - + Sync Tempo One-Shot - + Sync Phase One-Shot - + Pitch control (does not affect tempo), center is original pitch - + Pitch Adjust - + Adjust pitch from speed slider pitch - + Match musical key - + Match Key - + Reset Key - + Resets key to original @@ -1747,451 +1774,451 @@ jäljitys - kuten yllä + henkilökuvaliitteiset viestit Matalien taajuuksien korjain - + Toggle Vinyl Control - + Toggle Vinyl Control (ON/OFF) - + Vinyl Control Mode - + Vinyl Control Cueing Mode - + Vinyl Control Passthrough - + Vinyl Control Next Deck - + Single deck mode - Switch vinyl control to next deck - + Cue Cue-nappi - + Set Cue - + Go-To Cue - + Go-To Cue And Play - + Go-To Cue And Stop - + Preview Cue - + Cue (CDJ Mode) - + Stutter Cue - + Go to cue point and play after release - + Clear Hotcue %1 - + Set Hotcue %1 - + Jump To Hotcue %1 - + Jump To Hotcue %1 And Stop - + Jump To Hotcue %1 And Play - + Preview Hotcue %1 - + Loop In - + Loop Out - + Loop Exit - + Reloop/Exit Loop - + Loop Halve - + Loop Double - + 1/32 - + 1/16 - + 1/8 - + 1/4 - + Move Loop +%1 Beats - + Move Loop -%1 Beats - + Loop %1 Beats - + Loop Roll %1 Beats - + Add to Auto DJ Queue (bottom) Lisää Auto DJ -jonon loppuun - + Append the selected track to the Auto DJ Queue - + Add to Auto DJ Queue (top) Lisää Auto DJ -jonon alkuun - + Prepend selected track to the Auto DJ Queue - + Load Track - + Load selected track Lataa valittu kappale - + Load selected track and play Lataa valittu kappale ja soita - - + + Record Mix - + Toggle mix recording - + Effects Efektit - + Quick Effects - + Deck %1 Quick Effect Super Knob - + Quick Effect Super Knob (control linked effect parameters) - - + + Quick Effect - + Clear Unit - + Clear effect unit - + Toggle Unit - + Dry/Wet - + Adjust the balance between the original (dry) and processed (wet) signal. - + Super Knob - + Next Chain - + Assign - + Clear - + Clear the current effect - + Toggle - + Toggle the current effect - + Next Seuraava - + Switch to next effect - + Previous Edellinen - + Switch to the previous effect - + Next or Previous - + Switch to either next or previous effect - - + + Parameter Value - - + + Microphone Ducking Strength - + Microphone Ducking Mode - + Gain Herkkyys - + Gain knob Sisääntulon herkkyys - + Shuffle the content of the Auto DJ queue - + Skip the next track in the Auto DJ queue - + Auto DJ Toggle - + Toggle Auto DJ On/Off - + Show/hide the microphone & auxiliary section - + 4 Effect Units Show/Hide - + Switches between showing 2 and 4 effect units - + Mixer Show/Hide - + Show or hide the mixer. - + Cover Art Show/Hide (Library) - + Show/hide cover art in the library - + Library Maximize/Restore - + Maximize the track library to take up all the available screen space. - + Effect Rack Show/Hide - + Show/hide the effect rack - + Waveform Zoom Out @@ -2206,102 +2233,102 @@ jäljitys - kuten yllä + henkilökuvaliitteiset viestit - + Tap to sync tempo (and phase with quantize enabled), hold to enable permanent sync - + One-time beat sync tempo (and phase with quantize enabled) - + Playback Speed - + Playback speed control (Vinyl "Pitch" slider) - + Pitch (Musical key) - + Increase Speed - + Adjust speed faster (coarse) - + Increase Speed (Fine) - + Adjust speed faster (fine) - + Decrease Speed - + Adjust speed slower (coarse) - + Adjust speed slower (fine) - + Temporarily Increase Speed - + Temporarily increase speed (coarse) - + Temporarily Increase Speed (Fine) - + Temporarily increase speed (fine) - + Temporarily Decrease Speed - + Temporarily decrease speed (coarse) - + Temporarily Decrease Speed (Fine) - + Temporarily decrease speed (fine) @@ -2453,1041 +2480,1063 @@ jäljitys - kuten yllä + henkilökuvaliitteiset viestit - - + + Move Beatgrid Half a Beat + + + + + Adjust the beatgrid by exactly one half beat. Usable only for tracks with constant tempo. + + + + + Toggle the BPM/beatgrid lock - + Revert last BPM/Beatgrid Change - + Revert last BPM/Beatgrid Change of the loaded track. - + Sync / Sync Lock - + Internal Sync Leader - + Toggle Internal Sync Leader - - + + Internal Leader BPM - + Internal Leader BPM +1 - + Increase internal Leader BPM by 1 - + Internal Leader BPM -1 - + Decrease internal Leader BPM by 1 - + Internal Leader BPM +0.1 - + Increase internal Leader BPM by 0.1 - + Internal Leader BPM -0.1 - + Decrease internal Leader BPM by 0.1 - + Sync Leader - + Sync mode 3-state toggle / indicator (Off, Soft Leader, Explicit Leader) - + Speed - + Decrease Speed (Fine) - + Pitch (Musical Key) - + Increase Pitch - + Increases the pitch by one semitone - + Increase Pitch (Fine) - + Increases the pitch by 10 cents - + Decrease Pitch - + Decreases the pitch by one semitone - + Decrease Pitch (Fine) - + Decreases the pitch by 10 cents - + Keylock - + CUP (Cue + Play) - + Shift cue points earlier - + Shift cue points 10 milliseconds earlier - + Shift cue points earlier (fine) - + Shift cue points 1 millisecond earlier - + Shift cue points later - + Shift cue points 10 milliseconds later - + Shift cue points later (fine) - + Shift cue points 1 millisecond later - + + + Sort hotcues by position + + + + + + Sort hotcues by position (remove offsets) + + + + Hotcues %1-%2 - + Intro / Outro Markers - + Intro Start Marker - + Intro End Marker - + Outro Start Marker - + Outro End Marker - + intro start marker - + intro end marker - + outro start marker - + outro end marker - + Activate %1 [intro/outro marker - + Jump to or set the %1 [intro/outro marker - + Set %1 [intro/outro marker - + Set or jump to the %1 [intro/outro marker - + Clear %1 [intro/outro marker - + Clear the %1 [intro/outro marker - + if the track has no beats the unit is seconds - + Loop Selected Beats - + Create a beat loop of selected beat size - + Loop Roll Selected Beats - + Create a rolling beat loop of selected beat size - + Loop %1 Beats set from its end point - + Loop Roll %1 Beats set from its end point - + Create %1-beat loop with the current play position as loop end - + Create temporary %1-beat loop roll with the current play position as loop end - + Loop Beats - + Loop Roll Beats - + Go To Loop In - + Go to Loop In button - + Go To Loop Out - + Go to Loop Out button - + Toggle loop on/off and jump to Loop In point if loop is behind play position - + Reloop And Stop - + Enable loop, jump to Loop In point, and stop - + Halve the loop length - + Double the loop length - + Beat Jump / Loop Move - + Jump / Move Loop Forward %1 Beats - + Jump / Move Loop Backward %1 Beats - + Jump forward by %1 beats, or if a loop is enabled, move the loop forward %1 beats - + Jump backward by %1 beats, or if a loop is enabled, move the loop backward %1 beats - + Beat Jump / Loop Move Forward Selected Beats - + Jump forward by the selected number of beats, or if a loop is enabled, move the loop forward by the selected number of beats - + Beat Jump / Loop Move Backward Selected Beats - + Jump backward by the selected number of beats, or if a loop is enabled, move the loop backward by the selected number of beats - + Beat Jump - + Indicate which loop marker remain static when adjusting the size or is inherited from the current position - + Beat Jump / Loop Move Forward - + Beat Jump / Loop Move Backward - + Loop Move Forward - + Loop Move Backward - + Remove Temporary Loop - + Remove the temporary loop - + Navigation - + Move up - + Equivalent to pressing the UP key on the keyboard - + Move down - + Equivalent to pressing the DOWN key on the keyboard - + Move up/down - + Move vertically in either direction using a knob, as if pressing UP/DOWN keys - + Scroll Up - + Equivalent to pressing the PAGE UP key on the keyboard - + Scroll Down - + Equivalent to pressing the PAGE DOWN key on the keyboard - + Scroll up/down - + Scroll vertically in either direction using a knob, as if pressing PGUP/PGDOWN keys - + Move left - + Equivalent to pressing the LEFT key on the keyboard - + Move right - + Equivalent to pressing the RIGHT key on the keyboard - + Move left/right - + Move horizontally in either direction using a knob, as if pressing LEFT/RIGHT keys - + Move focus to right pane - + Equivalent to pressing the TAB key on the keyboard - + Move focus to left pane - + Equivalent to pressing the SHIFT+TAB key on the keyboard - + Move focus to right/left pane - + Move focus one pane to right or left using a knob, as if pressing TAB/SHIFT+TAB keys - + Sort focused column - + Sort the column of the cell that is currently focused, equivalent to clicking on its header - + Go to the currently selected item - + Choose the currently selected item and advance forward one pane if appropriate - + Load Track and Play - + Add to Auto DJ Queue (replace) Lisää Auto DJ -jonoon (korvaa) - + Replace Auto DJ Queue with selected tracks - + Select next search history - + Selects the next search history entry - + Select previous search history - + Selects the previous search history entry - + Move selected search entry - + Moves the selected search history item into given direction and steps - + Clear search - + Clears the search query - - + + Select Next Color Available - + Select the next color in the color palette for the first selected track - - + + Select Previous Color Available - + Select the previous color in the color palette for the first selected track - + Deck %1 Quick Effect Enable Button - + Quick Effect Enable Button - + Enable or disable effect processing - + Super Knob (control effects' Meta Knobs) - + Mix Mode Toggle - + Toggle effect unit between D/W and D+W modes - + Next chain preset - + Previous Chain - + Previous chain preset - + Next/Previous Chain - + Next or previous chain preset - - + + Show Effect Parameters - + Effect Unit Assignment - + Meta Knob - + Effect Meta Knob (control linked effect parameters) - + Meta Knob Mode - + Set how linked effect parameters change when turning the Meta Knob. - + Meta Knob Mode Invert - + Invert how linked effect parameters change when turning the Meta Knob. - - + + Button Parameter Value - + Microphone / Auxiliary - + Microphone On/Off - + Microphone on/off Mikrofoni päällä/pois - + Toggle microphone ducking mode (OFF, AUTO, MANUAL) - + Auxiliary On/Off - + Auxiliary on/off - + Auto DJ Auto-DJ - + Auto DJ Shuffle - + Auto DJ Skip Next - + Auto DJ Add Random Track - + Add a random track to the Auto DJ queue - + Auto DJ Fade To Next - + Trigger the transition to the next track - + User Interface Käyttöliittymä - + Samplers Show/Hide - + Show/hide the sampler section Näytä tai piilota näytesoittimet - + Microphone && Auxiliary Show/Hide keep double & to prevent creation of keyboard accelerator - + Waveform Zoom Reset To Default - + Reset the waveform zoom level to the default value selected in Preferences -> Waveforms - + Select the next color in the color palette for the loaded track. - + Select previous color in the color palette for the loaded track. - + Navigate Through Track Colors - + Select either next or previous color in the palette for the loaded track. - + Start/Stop Live Broadcasting - + Stream your mix over the Internet. - + Start/stop recording your mix. - - + + Samplers - + Vinyl Control Show/Hide - + Show/hide the vinyl control section Näytä tai piilota ohjainlevyjen valinnat - + Preview Deck Show/Hide - + Show/hide the preview deck - + Toggle 4 Decks - + Switches between showing 2 decks and 4 decks. - + Cover Art Show/Hide (Decks) - + Show/hide cover art in the main decks - + Vinyl Spinner Show/Hide - + Show/hide spinning vinyl widget Näytä tai piilota pyörivä ohjainlevy - + Vinyl Spinners Show/Hide (All Decks) - + Show/Hide all spinnies - + Toggle Waveforms - + Show/hide the scrolling waveforms. - + Waveform zoom - + Waveform Zoom - + Zoom waveform in - + Waveform Zoom In - + Zoom waveform out - + Star Rating Up - + Increase the track rating by one star - + Star Rating Down - + Decrease the track rating by one star @@ -3602,32 +3651,32 @@ jäljitys - kuten yllä + henkilökuvaliitteiset viestit ControllerScriptEngineBase - + The functionality provided by this controller mapping will be disabled until the issue has been resolved. - + You can ignore this error for this session but you may experience erratic behavior. - + Try to recover by resetting your controller. - + Controller Mapping Error - + The mapping for your controller "%1" is not working properly. - + The script code needs to be fixed. @@ -3671,13 +3720,13 @@ jäljitys - kuten yllä + henkilökuvaliitteiset viestit CrateFeature - + Remove Poista - + Create New Crate @@ -3687,132 +3736,132 @@ jäljitys - kuten yllä + henkilökuvaliitteiset viestit Muuta nimeä - - + + Lock Lukitse - + Export Crate as Playlist - + Export Track Files Vie raitatiedostoja - + Duplicate Monista - + Analyze entire Crate - + Auto DJ Track Source - + Enter new name for crate: - - + + Crates Levylaukut - - + + Import Crate Tuo levylaukku - + Export Crate Vie levylaukku - + Unlock Poista lukitus - + An unknown error occurred while creating crate: Levylaukkua tuotaessa tapahtui tuntematon virhe: - + Rename Crate Muuta levylaukun nimeä - - - Export to Engine Prime - - - - + Make a crate for your next gig, for your favorite electrohouse tracks, or for your most requested tracks. - + Confirm Deletion - - + + Renaming Crate Failed Levylaukun uudelleennimeäminen epäonnistui - + Crate Creation Failed - + M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Text CSV (*.csv);;Readable Text (*.txt) m3u-soittolista (*.m3u);;m3u8-soittolista (*.m3u8);;pls-soittolista (*.pls);;CSV-tekstitiedosto (*.csv);;Luettava tekstitiedosto (*.txt) - + M3U Playlist (*.m3u) M3U Soittolista (*.m3u) - + Crates are a great way to help organize the music you want to DJ with. Levylaukkujen avulla voit helpommin järjestellä musiikkisi DJ-käyttöön. - + + + Export to Engine DJ + + + + Crates let you organize your music however you'd like! Levylaukkujen avulla voit järjestellä musiikkisi kuten haluat! - + Do you really want to delete crate <b>%1</b>? - + A crate cannot have a blank name. Levylaukun nimi ei voi olla tyhjä - + A crate by that name already exists. Samanniminen levylaukku on jo olemassa. @@ -3907,12 +3956,12 @@ jäljitys - kuten yllä + henkilökuvaliitteiset viestit Aikaisemmat avustajat - + Official Website - + Donate @@ -4031,72 +4080,72 @@ jäljitys - kuten yllä + henkilökuvaliitteiset viestit DlgAutoDJ - + Skip Ohita - + Random - + Fade - + Enable Auto DJ Shortcut: Shift+F12 - + Disable Auto DJ Shortcut: Shift+F12 - + Trigger the transition to the next track Shortcut: Shift+F11 - + Skip the next track in the Auto DJ queue Shortcut: Shift+F10 - + Shuffle the content of the Auto DJ queue Shortcut: Shift+F9 - + Repeat the playlist - + Determines the duration of the transition - + Seconds sekuntia - + Auto DJ Fade Modes Full Intro + Outro: @@ -4127,80 +4176,80 @@ crossfader, so that the intro starts at full volume. - + Full Intro + Outro - + Fade At Outro Start - + Full Track - + Skip Silence - + Skip Silence Start Full Volume - + Decks not used for Auto DJ must be stopped to enable Auto DJ mode. - + Repeat Kertaa - + Auto DJ requires two decks assigned to opposite sides of the crossfader. - + One deck must be stopped to enable Auto DJ mode. - + Enable - + Disable - + Displays the duration and number of selected tracks. - - - + + + Auto DJ Auto-DJ - + Shuffle Sekoita - + Adds a random track from track sources (crates) to the Auto DJ queue. If no track sources are configured, the track is added from the library instead. @@ -4423,37 +4472,37 @@ Often results in higher quality beatgrids, but will not do well on tracks that h - + Didn't get any midi messages. Please try again. - + Unable to detect a mapping -- please try again. Be sure to only touch one control at once. - + Successfully mapped control: - + <i>Ready to learn %1</i> - + Learning: %1. Now move a control on your controller. - + The selected control does not exist.<br>This likely a bug. Please report it on the Mixxx bug tracker.<br><a href='https://github.com/mixxxdj/mixxx/issues'>https://github.com/mixxxdj/mixxx/issues</a><br><br>You tried to learn: %1,%2 - + The control you clicked in Mixxx is not learnable. This could be because you are either using an old skin and this control is no longer supported, or you clicked a control that provides visual feedback and can only be mapped to outputs like LEDs via scripts. @@ -4492,17 +4541,17 @@ You tried to learn: %1,%2 - + Log - + Search - + Stats @@ -5155,114 +5204,114 @@ associated with each key. DlgPrefController - + Apply device settings? Otetaanko laitteen asetukset käyttöön? - + Your settings must be applied before starting the learning wizard. Apply settings and continue? Laitteen asetukset tulee ottaa käyttöön ennen ohjatun määrittelyn käynnistämistä. Haluatko ottaa asetukset käyttöön ja jatkaa? - + None Määrittelemätön - + %1 by %2 %1 (tehnyt %2) - + Mapping has been edited - + Always overwrite during this session - + Save As - + Overwrite - + Save user mapping - + Enter the name for saving the mapping to the user folder. - + Saving mapping failed - + A mapping cannot have a blank name and may not contain special characters. - + A mapping file with that name already exists. - + Do you want to save the changes? - + Troubleshooting - + <font color='#BB0000'><b>If you use this mapping your controller may not work correctly. Please select another mapping or disable the controller.</b></font><br><br>This mapping was designed for a newer Mixxx Controller Engine and cannot be used on your current Mixxx installation.<br>Your Mixxx installation has Controller Engine version %1. This mapping requires a Controller Engine version >= %2.<br><br>For more information visit the wiki page on <a href='https://mixxx.org/wiki/doku.php/controller_engine_versions'>Controller Engine Versions</a>. - + Mapping already exists. - + <b>%1</b> already exists in user mapping folder.<br>Overwrite or save with a new name? - + Clear Input Mappings - + Are you sure you want to clear all input mappings? - + Clear Output Mappings - + Are you sure you want to clear all output mappings? @@ -5275,105 +5324,105 @@ Haluatko ottaa asetukset käyttöön ja jatkaa? Ohjaimen nimi - + Enabled Käytössä - + Device Info - + Physical Interface: - + Vendor name: - + Product name: - + Vendor ID - + VID: - + Product ID - + PID: - + Serial number: - + USB interface number: - + HID Usage-Page: - + HID Usage: - + Description: Kuvaus: - + Support: Tuki: - + Screens preview - + Input Mappings - - + + Search - - + + Add Lisää - - + + Remove Poista @@ -5388,22 +5437,22 @@ Haluatko ottaa asetukset käyttöön ja jatkaa? - + Load Mapping: - + Mapping Info - + Author: - + Name: @@ -5413,28 +5462,28 @@ Haluatko ottaa asetukset käyttöön ja jatkaa? Ohjattu määrittely (vain MIDI) - + Data protocol: - + Mapping Files: - + Mapping Settings - - + + Clear All Tyhjennä kaikki - + Output Mappings @@ -5593,6 +5642,16 @@ Haluatko ottaa asetukset käyttöön ja jatkaa? Multi-Sampling + + + Force 3D acceleration + + + + + If checked, Mixxx will always assume 3D acceleration is available. This may lead to pour performance if only CP-backed rendering is available.. + + Start in full-screen mode @@ -6184,62 +6243,62 @@ You can always drag-and-drop tracks on screen to clone a deck. DlgPrefInterface - + The minimum size of the selected skin is bigger than your screen resolution. - + Allow screensaver to run - + Prevent screensaver from running - + Prevent screensaver while playing - + Disabled - + 2x MSAA - + 4x MSAA - + 8x MSAA - + 16x MSAA - + This skin does not support color schemes - + Information Tietoja - + Mixxx must be restarted before the new locale, scaling or multi-sampling settings will take effect. @@ -7406,173 +7465,172 @@ The loudness target is approximate and assumes track pregain and main output lev DlgPrefSound - + %1 Hz %1 Hz - + Default (long delay) - + Experimental (no delay) - + Disabled (short delay) - + Soundcard Clock - + Network Clock - + Direct monitor (recording and broadcasting only) - + Disabled - + Enabled Käytössä - + Stereo Stereo - + Mono - + To enable Realtime scheduling (currently disabled), see the %1. - + The %1 lists sound cards and controllers you may want to consider for using Mixxx. - + Mixxx DJ Hardware Guide - + Information - + Mixxx must be restarted before the multi-threaded RubberBand setting change will take effect. - + auto (<= 1024 frames/period) - + 2048 frames/period - + 4096 frames/period - + Are you sure? - + Distribute stereo channels into mono channels for parallel processing will result in a loss of mono compatibility and a diffuse stereo image. It is not recommended during broadcasting or recording. - + Are you sure you wish to proceed? - + No - + Yes, I know what I am doing - + Microphone inputs are out of time in the record & broadcast signal compared to what you hear. - + Measure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. - - + Refer to the Mixxx User Manual for details. - + Configured latency has changed. - + Remeasure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. - + Realtime scheduling is enabled. - + Main output only - + Main and booth outputs - + %1 ms %1 ms - + Configuration error Virhe asetuksissa @@ -7590,131 +7648,131 @@ The loudness target is approximate and assumes track pregain and main output lev Äänirajapinta - + Sample Rate Näytteenottotaajuus - + Audio Buffer - + Engine Clock - + Use soundcard clock for live audience setups and lowest latency.<br>Use network clock for broadcasting without a live audience. - + Main Mix - + Main Output Mode - + Microphone Monitor Mode - + Microphone Latency Compensation - - - - + + + + ms milliseconds - + 20 ms - + Buffer Underflow Count - + 0 0 - + Keylock/Pitch-Bending Engine - + Multi-Soundcard Synchronization - + Output Ulostulo - + Input Sisääntulo - + System Reported Latency - + Enlarge your audio buffer if the underflow counter is increasing or you hear pops during playback. - + Main Output Delay - + Headphone Output Delay - + Booth Output Delay - + Dual-threaded Stereo - + Hints and Diagnostics - + Downsize your audio buffer to improve Mixxx's responsiveness. - + Query Devices Etsi laitteita @@ -7869,27 +7927,28 @@ The loudness target is approximate and assumes track pregain and main output lev - - 1/3rd of waveform viewer + + 1/3 of waveform viewer + options for "Text height limit" - - Full waveform viewer height + + Entire waveform viewer - + OpenGL not available OpenGL ei ole käytettävissä - + dropped frames - + Cached waveforms occupy %1 MiB on disk. @@ -7902,250 +7961,256 @@ The loudness target is approximate and assumes track pregain and main output lev - + Frame rate Kehysnopeus - - Displays which OpenGL version is supported by the current platform. + + OpenGL Status - - Waveform + + Displays which OpenGL version is supported by the current platform. - + Normalize waveform overview - + Average frame rate - + Visual gain Näytettävä herkkyys - + Default zoom level Waveform zoom - + Displays the actual frame rate. - + Visual gain of the middle frequencies Visuaalinen säädin keskialueen taajuuksille - + End of track warning - - OpenGL status - - - - + This functionality requires waveform acceleration. - + Highlight the waveforms when the last seconds of a track remains. - + seconds - + Low Matala - + Show minute markers on waveform overview - + Use acceleration - + High details - + Middle - + Global - + Visual gain of the high frequencies Visuaalinen säädin korkeille taajuuksille - + Visual gain of the low frequencies Visuaalinen säädin matalille taajuksille - + High Korkea - + Global visual gain Yleinen visuaalinen säädin - + The waveform overview shows the waveform envelope of the entire track. Select from different types of displays for the waveform overview, which differ primarily in the level of detail shown in the waveform. - + Enabled - + The waveform shows the waveform envelope of the track near the current playback position. Select from different types of displays for the waveform, which differ primarily in the level of detail shown in the waveform. - - Waveform overview type - - - - + fps - + Synchronize zoom level across all waveform displays. - + Synchronize zoom level across all waveforms - + Play marker hints - + Beats until next marker - + Preferred font size - + Text height limit - + Time until next marker - + Placement - + pt - + Caching - + Mixxx caches the waveforms of your tracks on disk the first time you load a track. This reduces CPU usage when you are playing live but requires extra disk space. - + Enable waveform caching - + Generate waveforms when analyzing library - + Beat grid opacity - + + Scrolling Waveforms + + + + + + Type + + + + Stereo coloration - + Set amount of opacity on beat grid lines. - + % % - + Play marker position - + Moves the play marker position on the waveforms to the left, right or center (default). - + + Overview Waveforms + + + + Clear Cached Waveforms @@ -8153,47 +8218,47 @@ Select from different types of displays for the waveform, which differ primarily DlgPreferences - + Sound Hardware Ääniliitynnät - + Controllers Ohjaimet - + Library Kirjasto - + Interface Käyttöliittymä - + Waveforms - + Mixer Mikseri - + Auto DJ Auto-DJ - + Decks - + Colors @@ -8228,47 +8293,47 @@ Select from different types of displays for the waveform, which differ primarily - + Effects Efektit - + Recording Nauhoitus - + Beat Detection Iskuntunnistus - + Key Detection - + Normalization Normalisointi - + <font color='#BB0000'><b>Some preferences pages have errors. To apply the changes please first fix the issues.</b></font> - + Vinyl Control Ohjainlevy - + Live Broadcasting Verkkojulkaisu - + Modplug Decoder @@ -8301,22 +8366,22 @@ Select from different types of displays for the waveform, which differ primarily - + Start Recording Aloita tallennus - + Recording to file: - + Stop Recording Lopeta tallennus - + %1 MiB written in %2 @@ -8624,284 +8689,284 @@ This can not be undone! Yhteenveto - + Filetype: Tiedostotyyppi: - + BPM: BPM: - + Location: Sijainti: - + Bitrate: Bittinopeus: - + Comments - + BPM BPM - + Sets the BPM to 75% of the current value. - + 3/4 BPM - + Sets the BPM to 50% of the current value. - + Displays the BPM of the selected track. - + Track # Raidan # - + Album Artist Albumin esittäjä - + Composer Säveltäjä - + Title Kappale - + Grouping Ryhmittely - + Key Sävellaji - + Year Vuosi - + Artist Esittäjä - + Album Levy - + Genre Tyylilaji - + ReplayGain: - + Sets the BPM to 200% of the current value. - + Double BPM Tuplaa BPM - + Halve BPM Puolita BPM - + Clear BPM and Beatgrid Tyhjennä BPM ja iskuverkko - + Move to the previous item. "Previous" button - + &Previous &Edellinen - + Move to the next item. "Next" button - + &Next &Seuraava - + Duration: Kesto: - + Import Metadata from MusicBrainz - + Re-Import Metadata from file - + Color Väri - + Date added: - + Open in File Browser Avaa tiedostoselain - + Samplerate: - + Track BPM: Tempo (BPM): - + Converts beats detected by the analyzer into a fixed-tempo beatgrid. Use this setting if your tracks have a constant tempo (e.g. most electronic music). Often results in higher quality beatgrids, but will not do well on tracks that have tempo shifts. - + Assume constant tempo - + Sets the BPM to 66% of the current value. - + 2/3 BPM - + Sets the BPM to 150% of the current value. - + 3/2 BPM - + Sets the BPM to 133% of the current value. - + 4/3 BPM - + Tap with the beat to set the BPM to the speed you are tapping. - + Tap to Beat Naputa tahdissa - + Hint: Use the Library Analyze view to run BPM detection. Vinkki: voit käynnistää tempotunnistuksen kirjaston analysointinäkymstä. - + Save changes and close the window. "OK" button - + &OK - + Discard changes and close the window. "Cancel" button - + Save changes and keep the window open. "Apply" button - + &Apply &Käytä - + &Cancel &Peru - + (no color) @@ -9058,7 +9123,7 @@ Often results in higher quality beatgrids, but will not do well on tracks that h - + (no color) @@ -9260,27 +9325,27 @@ Often results in higher quality beatgrids, but will not do well on tracks that h EngineBuffer - + Soundtouch (faster) - + Rubberband (better) - + Rubberband R3 (near-hi-fi quality) - + Unknown, using Rubberband (better) - + Unknown, using Soundtouch @@ -9424,38 +9489,38 @@ Often results in higher quality beatgrids, but will not do well on tracks that h ITunesFeature - - + + iTunes iTunes - + Select your iTunes library Valitse iTunes kirjastosi - + (loading) iTunes (ladataan) iTunes - + Use Default Library Käytä oletuskirjastoa - + Choose Library... Valitse kirjasto... - + Error Loading iTunes Library Virhe ladattaessa iTunes-kirjastoa - + There was an error loading your iTunes library. Check the logs for details. @@ -9463,12 +9528,12 @@ Often results in higher quality beatgrids, but will not do well on tracks that h LegacyControllerColorSetting - + Change color - + Choose a new color @@ -9476,18 +9541,18 @@ Often results in higher quality beatgrids, but will not do well on tracks that h LegacyControllerFileSetting - + Browse... - - + + No file selected - + Select a file @@ -9495,15 +9560,15 @@ Often results in higher quality beatgrids, but will not do well on tracks that h LegacySkinParser - - + + Safe Mode Enabled Shown when Mixxx is running in safe mode. - - + + No OpenGL support. Shown when Spinny can not be displayed. Please keep @@ -9514,57 +9579,57 @@ Shown when VuMeter can not be displayed. Please keep - + activate aktivoi - + toggle näkyvyys - + right oikea - + left vasen - + right small - + left small - + up ylös - + down alas - + up small - + down small - + Shortcut Pikakuvake @@ -9572,62 +9637,62 @@ Shown when VuMeter can not be displayed. Please keep Library - + This or a parent directory is already in your library. - + This or a listed directory does not exist or is inaccessible. Aborting the operation to avoid library inconsistencies - - + + This directory can not be read. - + An unknown error occurred. Aborting the operation to avoid library inconsistencies - + Can't add Directory to Library - + Could not add <b>%1</b> to your library. %2 - + Can't remove Directory from Library - + An unknown error occurred. - + This directory does not exist or is inaccessible. - + Relink Directory - + Could not relink <b>%1</b> to <b>%2</b>. %3 @@ -9637,22 +9702,22 @@ Aborting the operation to avoid library inconsistencies LibraryFeature - + Import Playlist Tuo soittolista - + Playlist Files (*.m3u *.m3u8 *.pls *.csv) Soittolistan tiedostot (*.m3u *.m3u8 *.pls *.csv) - + Overwrite File? - + A playlist file with the name "%1" already exists. The default "m3u" extension was added because none was specified. @@ -9699,27 +9764,27 @@ Do you really want to overwrite it? MidiController - + MixxxControl(s) not found - + One or more MixxxControls specified in the outputs section of the loaded mapping were invalid. - + * Make sure the MixxxControls in question actually exist. Visit the manual for a complete list: - + Some LEDs or other feedback may not work correctly. - + * Check to see that the MixxxControl names are spelled correctly in the mapping file (.xml) @@ -9779,18 +9844,18 @@ Do you really want to overwrite it? MixxxLibraryFeature - + Missing Tracks Puuttuvat kappaleet - + Hidden Tracks Piilotetut kappaleet - Export to Engine Prime + Export to Engine DJ @@ -9802,208 +9867,249 @@ Do you really want to overwrite it? MixxxMainWindow - + Sound Device Busy Äänilaite on varattu - + <b>Retry</b> after closing the other application or reconnecting a sound device <b>Yritä uudelleen</b> suljettuasi toisen ohjelman tai yhdistettyäsi äänilaitteen - - - + + + <b>Reconfigure</b> Mixxx's sound device settings. <b>Määrittelle uudestaan</b> Mixxx- äänilaitteidn asetukset. - - + + Get <b>Help</b> from the Mixxx Wiki. Etsi <b>apua</b> Mixxx-wikistä. - - - + + + <b>Exit</b> Mixxx. <b>Sulje</b> Mixxx. - + Retry Yritä uudelleen - + skin - + Allow Mixxx to hide the menu bar? - + Hide Always show the menu bar? - + Always show - + The Mixxx menu bar is hidden and can be toggled with a single press of the <b>Alt</b> key.<br><br>Click <b>%1</b> to agree.<br><br>Click <b>%2</b> to disable that, for example if you don't use Mixxx with a keyboard.<br><br>You can change this setting any time in Preferences -> Interface.<br> Keep formatting tags <b> (bold text) and <br> (linebreak). %1 is the placeholder for the 'Always show' button label - + Ask me again - - + + Reconfigure Määrittele uudelleen - + Help Ohje - - + + Exit Sulje - - + + Mixxx was unable to open all the configured sound devices. - + Sound Device Error - + <b>Retry</b> after fixing an issue - + No Output Devices Äänilaitteita ei löytynyt - + Mixxx was configured without any output sound devices. Audio processing will be disabled without a configured output device. Äänilaitteita ei ole määritelty mixxx-asetuksissa. Äänen käsittely ei ole käytössä, kunnes kelvollinen toistolaite on määritelty. - + <b>Continue</b> without any outputs. <b>Jatka</b> määrittelemättä äänilaitteita. - + Continue Jatka - + Load track to Deck %1 Lataa kappale dekkiin %1 - + Deck %1 is currently playing a track. Dekki %1 soittaa kappaletta. - + Are you sure you want to load a new track? Haluatko varmasti ladata uuden kappaleen? - + There is no input device selected for this vinyl control. Please select an input device in the sound hardware preferences first. - + There is no input device selected for this passthrough control. Please select an input device in the sound hardware preferences first. - + There is no input device selected for this microphone. Do you want to select an input device? - + There is no input device selected for this auxiliary. Do you want to select an input device? - + + Scan took %1 + + + + + No changes detected. + + + + + + %1 tracks in total + + + + + %1 new tracks found + + + + + %1 moved tracks detected + + + + + %1 tracks are missing (%2 total) + + + + + %1 tracks have been rediscovered + + + + + Library scan finished + + + + Error in skin file Virhe teematiedostossa - + The selected skin cannot be loaded. Valittua teemaa ei voi ladata. - + OpenGL Direct Rendering OpenGL -suorapiirto - + Direct rendering is not enabled on your machine.<br><br>This means that the waveform displays will be very<br><b>slow and may tax your CPU heavily</b>. Either update your<br>configuration to enable direct rendering, or disable<br>the waveform displays in the Mixxx preferences by selecting<br>"Empty" as the waveform display in the 'Interface' section. - - - + + + Confirm Exit Varmista lopetus - + A deck is currently playing. Exit Mixxx? Dekki soittaa kappaletta. Suljetaanko Mixxx? - + A sampler is currently playing. Exit Mixxx? Näytesoitin on käynnissä. Suljetaanko mixxx? - + The preferences window is still open. Määritys-ikkuna on vielä auki. - + Discard any changes and exit Mixxx? Hylkää kaikki muutokset ja sulje Mixxx @@ -10019,13 +10125,13 @@ Do you want to select an input device? PlaylistFeature - + Lock Lukitse - - + + Playlists Soittolistat @@ -10035,32 +10141,58 @@ Do you want to select an input device? - + + Unlock all playlists + + + + + Delete all unlocked playlists + + + + Unlock Poista lukitus - + + + Confirm Deletion + + + + + Do you really want to delete all unlocked playlists? + + + + + Deleting %1 unlocked playlists.<br>This operation can not be undone! + + + + Playlists are ordered lists of tracks that allow you to plan your DJ sets. - + It may be necessary to skip some tracks in your prepared playlist or add some different tracks in order to maintain the energy of your audience. - + Some DJs construct playlists before they perform live, but others prefer to build them on-the-fly. Jotkut DJ:t luovat soittolistoja ennen esiintymistä, toiset rakentavat soittolistan esityksen aikana. - + When using a playlist during a live DJ set, remember to always pay close attention to how your audience reacts to the music you've chosen to play. Käyttäessäsi soittolistaa DJ-esityksen aikana, muista tarkkailla yleisön reaktioita valitsemaasi musiikkiin. - + Create New Playlist Luo uusi soittolista @@ -11551,7 +11683,7 @@ Fully right: end of the effect period - + Deck %1 Dekki %1 @@ -11684,7 +11816,7 @@ Hint: compensates "chipmunk" or "growling" voices - + Passthrough Läpisyöttö @@ -11715,7 +11847,7 @@ Hint: compensates "chipmunk" or "growling" voices - + Sampler %1 @@ -11848,12 +11980,12 @@ may introduce a 'pumping' effect and/or distortion. - + built-in - + missing @@ -11888,42 +12020,42 @@ may introduce a 'pumping' effect and/or distortion. - + Empty - + Simple - + Filtered - + HSV - + VSyncTest - + RGB - + Stacked - + Unknown @@ -11981,54 +12113,54 @@ may introduce a 'pumping' effect and/or distortion. RekordboxFeature - - - + + + Rekordbox - + Playlists Soittolistat - + Folders - + Reads databases exported for Pioneer CDJ / XDJ players using the Rekordbox Export mode.<br/>Rekordbox can only export to USB or SD devices with a FAT or HFS file system.<br/>Mixxx can read a database from any device that contains the database folders (<tt>PIONEER</tt> and <tt>Contents</tt>).<br/>Not supported are Rekordbox databases that have been moved to an external device via<br/><i>Preferences > Advanced > Database management</i>.<br/><br/>The following data is read: - + Hot cues - + Loops (only the first loop is currently usable in Mixxx) - + Check for attached Rekordbox USB / SD devices (refresh) - + Beatgrids - + Memory cues - + (loading) Rekordbox @@ -12163,19 +12295,19 @@ may introduce a 'pumping' effect and/or distortion. Lukitse - - + + Confirm Deletion - + Do you really want to delete all unlocked playlist from <b>%1</b>?<br><br> %1 is the year <b> + </b> are used to make the text in between bold in the popup <br> is a linebreak - + Deleting %1 playlists from <b>%2</b>.<br><br> %1 is the number of playlists to be deleted %2 is the year <b> + </b> are used to make the text in between bold in the popup <br> is a linebreak @@ -12587,7 +12719,7 @@ may introduce a 'pumping' effect and/or distortion. - + Spinning Vinyl Pyörivä Vinyyli @@ -12769,7 +12901,7 @@ may introduce a 'pumping' effect and/or distortion. - + Cover Art Kansikuva @@ -13005,197 +13137,197 @@ may introduce a 'pumping' effect and/or distortion. - + Adjust Beats Earlier - + When tapped, moves the beatgrid left by a small amount. - + Adjust Beats Later - + When tapped, moves the beatgrid right by a small amount. - + Tempo and BPM Tap Tempon ja BPM:n naputus - + Show/hide the spinning vinyl section. Näytä/Piilota pyörivä vinyylialue - + Keylock - + Toggling keylock during playback may result in a momentary audio glitch. - + Toggle visibility of Loop Controls - + Toggle visibility of Beatjump Controls - + Toggle visibility of Rate Control - + Toggle visibility of Key Controls - + (while previewing) - + Places a cue point at the current position on the waveform. - + Stops track at cue point, OR go to cue point and play after release (CUP mode). - + Set cue point (Pioneer/Mixxx/Numark mode), set cue point and play after release (CUP mode) OR preview from it (Denon mode). - + Is latching the playing state. - + Seeks the track to the cue point and stops. - + Play - + Plays track from the cue point. - + Sends the selected channel's audio to the headphone output, selected in Preferences -> Sound Hardware. - + (This skin should be updated to use Sync Lock!) - + Enable Sync Lock - + Tap to sync the tempo to other playing tracks or the sync leader. - + Enable Sync Leader - + When enabled, this device will serve as the sync leader for all other decks. - + This is relevant when a dynamic tempo track is loaded to a sync leader deck.In that case, other synced devices will adopt the changing tempo. - + Changes the track playback speed (affects both the tempo and the pitch). If keylock is enabled, only the tempo is affected. - + Tempo Range Display - + Displays the current range of the tempo slider. - + Un-ejects when no track is loaded, i.e. reloads the track that was ejected last (of any deck). - + Delete selected hotcue. - + Track Comment - + Displays the comment tag of the loaded track. - + Opens separate artwork viewer. - + Effect Chain Preset Settings - + Show the effect chain settings menu for this unit. - + Select and configure a hardware device for this input - + Recording Duration @@ -13433,924 +13565,932 @@ may introduce a 'pumping' effect and/or distortion. - + + Adjust beatgrid by exactly one half beat. Usable only on +tracks with constant tempo. + + + + Revert last BPM/Beatgrid Change - + Revert last BPM/Beatgrid Change of the loaded track. - - + + Toggle the BPM/beatgrid lock - + Tempo and Rate Tap - + Tempo, Rate Tap and BPM Tap - + Shift cues earlier - - + + Shift cues imported from Serato or Rekordbox if they are slightly off time. - + Left click: shift 10 milliseconds earlier - + Right click: shift 1 millisecond earlier - + Shift cues later - + Left click: shift 10 milliseconds later - + Right click: shift 1 millisecond later - + + + + Drag a Hotcue button here to continue playing after releasing the Hotcue. + + + + Hint: Change the default cue mode in Preferences -> Decks. - + Mutes the selected channel's audio in the main output. - + Main mix enable - + Hold or short click for latching to mix this input into the main output. - + If hotcue is a loop cue, toggles the loop and jumps to if the loop is behind the play position. - + If the play position is inside an active loop, stores the loop as loop cue. - + Drag this button onto another Hotcue button to move it there (change its index). If the other hotcue is set, the two are swapped. - - Dragging with Shift key pressed will not start previewing the hotcue - - - - + Expand/Collapse Samplers - + Toggle expanded samplers view. - + Displays the duration of the running recording. - + Auto DJ is active - + Red for when needle skip has been detected. - + Hot Cue - Track will seek to nearest previous hotcue point. - + Sets the track Loop-In Marker to the current play position. - + Press and hold to move Loop-In Marker. - + Jump to Loop-In Marker. - + Sets the track Loop-Out Marker to the current play position. - + Press and hold to move Loop-Out Marker. - + Jump to Loop-Out Marker. - + If the track has no beats the unit is seconds. - + Beatloop Size - + Select the size of the loop in beats to set with the Beatloop button. - + Changing this resizes the loop if the loop already matches this size. - + Halve the size of an existing beatloop, or halve the size of the next beatloop set with the Beatloop button. - + Double the size of an existing beatloop, or double the size of the next beatloop set with the Beatloop button. - + Start a loop over the set number of beats. - + Temporarily enable a rolling loop over the set number of beats. - + Beatloop Anchor - + Define whether the loop is created and adjusted from its staring point or ending point. - + Beatjump/Loop Move Size - + Select the number of beats to jump or move the loop with the Beatjump Forward/Backward buttons. - + Beatjump Forward - + Jump forward by the set number of beats. - + Move the loop forward by the set number of beats. - + Jump forward by 1 beat. - + Move the loop forward by 1 beat. - + Beatjump Backward - + Jump backward by the set number of beats. - + Move the loop backward by the set number of beats. - + Jump backward by 1 beat. - + Move the loop backward by 1 beat. - + Reloop - + If the loop is ahead of the current position, looping will start when the loop is reached. - + Works only if Loop-In and Loop-Out Marker are set. - + Enable loop, jump to Loop-In Marker, and stop playback. - + Displays the elapsed and/or remaining time of the track loaded. - + Click to toggle between time elapsed/remaining time/both. - + Hint: Change the time format in Preferences -> Decks. - + Show/hide intro & outro markers and associated buttons. - + Intro Start Marker - - - - + + + + If marker is set, jumps to the marker. - - - - + + + + If marker is not set, sets the marker to the current play position. - - - - + + + + If marker is set, clears the marker. - + Intro End Marker - + Outro Start Marker - + Outro End Marker - + Mix - + Adjust the mixing of the dry (input) signal with the wet (output) signal of the effect unit - + D/W mode: Crossfade between dry and wet - + D+W mode: Add wet to dry - + Mix Mode - + Adjust how the dry (input) signal is mixed with the wet (output) signal of the effect unit - + Dry/Wet mode (crossed lines): Mix knob crossfades between dry and wet Use this to change the sound of the track with EQ and filter effects. - + Dry+Wet mode (flat dry line): Mix knob adds wet to dry Use this to change only the effected (wet) signal with EQ and filter effects. - + Route the main mix through this effect unit. - + Route the left crossfader bus through this effect unit. - + Route the right crossfader bus through this effect unit. - + Right side active: parameter moves with right half of Meta Knob turn - + Stem Label - + Name of the stem stored in the stem file - + Text is displayed in the stem color stored in the stem file - + this stem color is also used for the waveform of this stem - + Stem Mute - + Toggle the stem mute/unmuted - + Stem Volume Knob - + Adjusts the volume of the stem - + Skin Settings Menu - + Show/hide skin settings menu - + Save Sampler Bank Tallenna samplepankki - + Save the collection of samples loaded in the samplers. - + Load Sampler Bank Lataa samplepankki - + Load a previously saved collection of samples into the samplers. - + Show Effect Parameters - + Enable Effect - + Meta Knob Link - + Set how this parameter is linked to the effect's Meta Knob. - + Meta Knob Link Inversion - + Inverts the direction this parameter moves when turning the effect's Meta Knob. - + Super Knob - + Next Chain - + Previous Chain - + Next/Previous Chain - + Clear - + Clear the current effect. - + Toggle - + Toggle the current effect. - + Next Seuraava - + Clear Unit - + Clear effect unit. - + Show/hide parameters for effects in this unit. - + Toggle Unit - + Enable or disable this whole effect unit. - + Controls the Meta Knob of all effects in this unit together. - + Load next effect chain preset into this effect unit. - + Load previous effect chain preset into this effect unit. - + Load next or previous effect chain preset into this effect unit. - - - - - - - - - + + + + + + + + + Assign Effect Unit - + Assign this effect unit to the channel output. - + Route the headphone channel through this effect unit. - + Route this deck through the indicated effect unit. - + Route this sampler through the indicated effect unit. - + Route this microphone through the indicated effect unit. - + Route this auxiliary input through the indicated effect unit. - + The effect unit must also be assigned to a deck or other sound source to hear the effect. - + Switch to the next effect. - + Previous Edellinen - + Switch to the previous effect. - + Next or Previous - + Switch to either the next or previous effect. - + Meta Knob - + Controls linked parameters of this effect - + Effect Focus Button - + Focuses this effect. - + Unfocuses this effect. - + Refer to the web page on the Mixxx wiki for your controller for more information. - + Effect Parameter - + Adjusts a parameter of the effect. - + Inactive: parameter not linked - + Active: parameter moves with Meta Knob - + Left side active: parameter moves with left half of Meta Knob turn - + Left and right side active: parameter moves across range with half of Meta Knob turn and back with the other half - - + + Equalizer Parameter Kill - - + + Holds the gain of the EQ to zero while active. - + Quick Effect Super Knob - + Quick Effect Super Knob (control linked effect parameters). - + Hint: Change the default Quick Effect mode in Preferences -> Equalizers. - + Equalizer Parameter - + Adjusts the gain of the EQ filter. - + Hint: Change the default EQ mode in Preferences -> Equalizers. - - + + Adjust Beatgrid Säädä Beatgrid - + Adjust beatgrid so the closest beat is aligned with the current play position. - - + + Adjust beatgrid to match another playing deck. - + If quantize is enabled, snaps to the nearest beat. - + Quantize Kvantisoi - + Toggles quantization. - + Loops and cues snap to the nearest beat when quantization is enabled. - + Reverse Soita takaperin - + Reverses track playback during regular playback. - + Puts a track into reverse while being held (Censor). - + Playback continues where the track would have been if it had not been temporarily reversed. - - - + + + Play/Pause Soita/pysäytä - + Jumps to the beginning of the track. Hyppää kappaleen alkuun. - + Syncs the tempo (BPM) and phase to that of the other track, if BPM is detected on both. - + Syncs the tempo (BPM) to that of the other track, if BPM is detected on both. - + Sync and Reset Key - + Increases the pitch by one semitone. - + Decreases the pitch by one semitone. - + Enable Vinyl Control - + When disabled, the track is controlled by Mixxx playback controls. - + When enabled, the track responds to external vinyl control. - + Enable Passthrough - + Indicates that the audio buffer is too small to do all audio processing. - + Displays cover artwork of the loaded track. - + Displays options for editing cover artwork. - + Star Rating - + Assign ratings to individual tracks by clicking the stars. @@ -14485,33 +14625,33 @@ Use this to change only the effected (wet) signal with EQ and filter effects. - + Prevents the pitch from changing when the rate changes. - + Changes the number of hotcue buttons displayed in the deck - + Starts playing from the beginning of the track. - + Jumps to the beginning of the track and stops. - - + + Plays or pauses the track. Soita tai pysäytä kappale. - + (while playing) @@ -14531,205 +14671,215 @@ Use this to change only the effected (wet) signal with EQ and filter effects. - + (while stopped) - + Cue Cue-nappi - + Headphone Kuulokkeet - + Mute Hiljennä - + Old Synchronize - + Syncs to the first deck (in numerical order) that is playing a track and has a BPM. - + If no deck is playing, syncs to the first deck that has a BPM. - + Decks can't sync to samplers and samplers can only sync to decks. - + Hold for at least a second to enable sync lock for this deck. - + Decks with sync locked will all play at the same tempo, and decks that also have quantize enabled will always have their beats lined up. - + Resets the key to the original track key. - + Speed Control - - - + + + Changes the track pitch independent of the tempo. - + Increases the pitch by 10 cents. - + Decreases the pitch by 10 cents. - + Pitch Adjust - + Adjust the pitch in addition to the speed slider pitch. - + Opens a menu to clear hotcues or edit their labels and colors. - + + Drag this button onto a Play button while previewing to continue playback after release. + + + + + Dragging with Shift key pressed will not start previewing the hotcue. + + + + Record Mix - + Toggle mix recording. - + Enable Live Broadcasting - + Stream your mix over the Internet. - + Provides visual feedback for Live Broadcasting status: - + disabled, connecting, connected, failure. - + When enabled, the deck directly plays the audio arriving on the vinyl input. - + Playback will resume where the track would have been if it had not entered the loop. - + Loop Exit - + Turns the current loop off. - + Slip Mode - + When active, the playback continues muted in the background during a loop, reverse, scratch etc. - + Once disabled, the audible playback will resume where the track would have been. - + Track Key The musical key of a track - + Displays the musical key of the loaded track. - + Clock Kello - + Displays the current time. Näyttää nykyisen ajan. - + Audio Latency Usage Meter - + Displays the fraction of latency used for audio processing. - + A high value indicates that audible glitches are likely. - + Do not enable keylock, effects or additional decks in this situation. - + Audio Latency Overload Indicator @@ -14774,254 +14924,254 @@ Use this to change only the effected (wet) signal with EQ and filter effects. - + Fast Rewind Pikakelaus eteenpäin - + Fast rewind through the track. Nopea kappaleen takaperin kelaus. - + Fast Forward Pikakelaus taaksepäin - + Fast forward through the track. Nopea kappaleen etuperin kelaus. - + Jumps to the end of the track. Hyppää kappaleen loppuun. - + Sets the pitch to a key that allows a harmonic transition from the other track. Requires a detected key on both involved decks. - - - + + + Pitch Control Sävelkorkeuden säätö - + Pitch Rate Sävelkorkeuden suhde - + Displays the current playback rate of the track. - + Repeat Kertaa - + When active the track will repeat if you go past the end or reverse before the start. - + Eject Poistaa dekistä - + Ejects track from the player. - + Hotcue Nopea merkki - + If hotcue is set, jumps to the hotcue. - + If hotcue is not set, sets the hotcue to the current play position. - + Vinyl Control Mode - + Absolute mode - track position equals needle position and speed. Absoluuttinen tila - Kappaleen asento vastaa neulan sijaintia ja nopeutta. - + Relative mode - track speed equals needle speed regardless of needle position. Suhteellinen tila - Neula seuraa kappaleen noupeutta riippumatta neulan sijainnista. - + Constant mode - track speed equals last known-steady speed regardless of needle input. Vakio tila - Kappaleen nopeus vastaa vakionopeutta riippumatta neulan sisääntulosta. - + Vinyl Status Vinyylin tila - + Provides visual feedback for vinyl control status: - + Green for control enabled. - + Blinking yellow for when the needle reaches the end of the record. - + Loop-In Marker - + Loop-Out Marker - + Loop Halve - + Halves the current loop's length by moving the end marker. Puolittaa nykyisen loopin pituuden siirtämällä loppumerkkiä. - + Deck immediately loops if past the new endpoint. Dekki toistaa loopin heti, jos ollaan uuden ohituskohdan ohi - + Loop Double - + Doubles the current loop's length by moving the end marker. Tuplaa nykyisen loopin pituuden siirtämällä loppumerkkiä. - + Beatloop Iskulooppi - + Toggles the current loop on or off. - + Works only if Loop-In and Loop-Out marker are set. - + Vinyl Cueing Mode - + Determines how cue points are treated in vinyl control Relative mode: - + Off - Cue points ignored. - + One Cue - If needle is dropped after the cue point, track will seek to that cue point. - + Track Time Kappaleen kesto - + Track Duration Kappaleen kesto - + Displays the duration of the loaded track. - + Information is loaded from the track's metadata tags. - + Track Artist Kappaleen esittäjä - + Displays the artist of the loaded track. Näyttää ladatun kappaleen esittäjän. - + Track Title Kappaleen nimi - + Displays the title of the loaded track. Näytää ladatun kappaleen nimi. - + Track Album Kappaleen albumi - + Displays the album name of the loaded track. Näyttää ladatun kappaleen albumin. - + Track Artist/Title - + Displays the artist and title of the loaded track. Näyttää ladatun kappaleen esittäjän ja nimen. @@ -15029,12 +15179,12 @@ Use this to change only the effected (wet) signal with EQ and filter effects. TrackCollection - + Hiding tracks - + The selected tracks are in the following playlists:%1Hiding them will remove them from these playlists. Continue? @@ -15042,47 +15192,42 @@ Use this to change only the effected (wet) signal with EQ and filter effects. TrackExportDlg - + Export finished - + Exporting %1 - - - Overwrite Existing File? - - - "%1" already exists, overwrite? + Replace Existing File? - - &Overwrite + + "%1" already exists, replace? - - Over&write All + + &Replace - - &Skip + + Apply to all files - Skip &All + &Skip - + Export Error @@ -15254,47 +15399,47 @@ This can not be undone! WCueMenuPopup - + Cue number - + Cue position - + Edit cue label - + Label... - + Delete this cue - + Toggle this cue type between normal cue and saved loop - + Left-click: Use the old size or the current beatloop size as the loop size - + Right-click: Use the current play position as loop end if it is after the cue - + Hotcue #%1 @@ -15418,407 +15563,438 @@ This can not be undone! - - E&xport Library to Engine Prime + + Search in Current View... - - Export the library to the Engine Prime format + + Search for tracks in the current library view + + + + + Ctrl+f - + + Search in Tracks Library... + + + + + Search in the internal track collection under "Tracks" in the library + + + + + Ctrl+Shift+F + + + + Create &New Playlist - + Create a new playlist Luo uusi soittolista - + Ctrl+n - + Create New &Crate - + Create a new crate Luo uusi levylaukku - + Ctrl+Shift+N Ctrl+Shift+N - - + + &View &Näytä - + Auto-hide menu bar - + Auto-hide the main menu bar when it's not used. - + May not be supported on all skins. Ei välttämättä tue kaikkia kalvoja. - + Show Skin Settings Menu - + Show the Skin Settings Menu of the currently selected Skin - + Ctrl+1 Menubar|View|Show Skin Settings - + Show Microphone Section - + Show the microphone section of the Mixxx interface. - + Ctrl+2 Menubar|View|Show Microphone Section - + Show Vinyl Control Section - + Show the vinyl control section of the Mixxx interface. - + Ctrl+3 Menubar|View|Show Vinyl Control Section - + Show Preview Deck - + Show the preview deck in the Mixxx interface. - + Ctrl+4 Menubar|View|Show Preview Deck - + Show Cover Art - + Show cover art in the Mixxx interface. - + Ctrl+6 Menubar|View|Show Cover Art - + Maximize Library - + Maximize the track library to take up all the available screen space. - + Space Menubar|View|Maximize Library - + &Full Screen K&okoruututila - + Display Mixxx using the full screen Näytä Mixxx kokoruututilassa - + &Options &Valinnat - + &Vinyl Control &Levyohjain - + Use timecoded vinyls on external turntables to control Mixxx Ohjaa mixxx:iä levysoittimilla ja aikakoodatuilla levyillä - + Enable Vinyl Control &%1 - + &Record Mix N&auhoita miksaus - + Record your mix to a file Nauhoita miksauksesi tiedostoon - + Ctrl+R Ctrl+R - + Enable Live &Broadcasting Ota suora nettijulkaisu käyttöön - + Stream your mixes to a shoutcast or icecast server Lähetä miksauksesi shoutcast- tai icecast-palvelimelle - + Ctrl+L Ctrl+L - + Enable &Keyboard Shortcuts Ota &Näppäimistö pikakuvakkeet käyttöön - + Toggles keyboard shortcuts on or off Määrittää ovatko pikanäppäimet käytössä - + Ctrl+` Ctrl+` - + &Preferences &Asetukset - + Change Mixxx settings (e.g. playback, MIDI, controls) Muokkaa ohjelman asetuksia (toistoa, MIDI-ohjaimia jne.) - + &Developer - + &Reload Skin - + Reload the skin - + Ctrl+Shift+R - + Developer &Tools - + Opens the developer tools dialog - + Ctrl+Shift+T - + Stats: &Experiment Bucket - + Enables experiment mode. Collects stats in the EXPERIMENT tracking bucket. - + Ctrl+Shift+E - + Stats: &Base Bucket - + Enables base mode. Collects stats in the BASE tracking bucket. - + Ctrl+Shift+B - + Deb&ugger Enabled - + Enables the debugger during skin parsing - + Ctrl+Shift+D - + &Help &Ohje - + Show Keywheel menu title - + + E&xport Library to Engine DJ + "Engine DJ" must not be translated + + + + + Export the library to the Engine DJ format + + + + Show keywheel tooltip text - + F12 Menubar|View|Show Keywheel - + &Community Support &Mixxx-yhteisö (englanniksi) - + Get help with Mixxx Pyydä apua Mixxx:in kanssa - + &User Manual &Käyttöohje - + Read the Mixxx user manual. Lue Mixxx-käyttöohjetta. - + &Keyboard Shortcuts - + Speed up your workflow with keyboard shortcuts. - + &Settings directory - + Open the Mixxx user settings directory. - + &Translate This Application &Käännä tätä ohjelmaa - + Help translate this application into your language. Auta tämän ohjelman kääntämisessä kielellesi. - + &About &Tietoja - + About the application Tietoja ohjelmasta @@ -15826,25 +16002,25 @@ This can not be undone! WOverview - + Passthrough Läpisyöttö - + Ready to play, analyzing... Text on waveform overview when file is playable but no waveform is visible - - + + Loading track... Text on waveform overview when file is cached from source - + Finalizing... Text on waveform overview during finalizing of waveform analysis @@ -15853,25 +16029,13 @@ This can not be undone! WSearchLineEdit - - Clear input - Clear the search bar input field - - - - - Ctrl+F - Search|Focus - Ctrl+F - - - + Search noun - + Clear input @@ -15882,169 +16046,163 @@ This can not be undone! Etsi... - + Clear the search bar input field - - Enter a string to search for + + Return - - Use operators like bpm:115-128, artist:BooFar, -year:1990 + + Enter a string to search for. - - For more information see User Manual > Mixxx Library + + Use operators like bpm:115-128, artist:BooFar, -year:1990. - Shortcut - Pikakuvake + See User Manual > Mixxx Library for more information. + - - Ctrl+F - Ctrl+F + + Focus/Select All (Search in current view) + Give search bar input focus + - - Focus - Give search bar input focus + + Focus/Select All (Search in 'Tracks' library view) - - - Ctrl+Backspace + + Additional Shortcuts When Focused: - Shortcuts + Trigger search before search-as-you-type timeout or focus tracks view afterwards - Return + Esc or Ctrl+Return - Trigger search before search-as-you-type timeout orjump to tracks view afterwards + Immediately trigger search and focus tracks view + Exit search bar and leave focus - + Ctrl+Space - + Toggle search history Shows/hides the search history entries - + Delete or Backspace - - Delete query from history + + in search history - - Esc - Esc - - - - Exit search - Exit search bar and leave focus + + Delete query from history WSearchRelatedTracksMenu - + Search related Tracks - + Key Sävellaji - + harmonic with %1 - + BPM BPM - + between %1 and %2 - + Artist Esittäjä - + Album Artist Albumin esittäjä - + Composer Säveltäjä - + Title Kappale - + Album Levy - + Grouping Ryhmittely - + Year Vuosi - + Genre Tyylilaji - + Directory - + &Search selected @@ -16052,599 +16210,625 @@ This can not be undone! WTrackMenu - + Load to - + Deck Dekki - + Sampler Näytesoitin - + Add to Playlist Lisää soittolistaan - + Crates Levylaukut - + Metadata - + Update external collections - + Cover Art Kansikuva - + Adjust BPM - + Select Color - - + + Analyze Analysoi - - + + Delete Track Files - + Add to Auto DJ Queue (bottom) Lisää Auto DJ -jonon loppuun - + Add to Auto DJ Queue (top) Lisää Auto DJ -jonon alkuun - + Add to Auto DJ Queue (replace) Lisää Auto DJ -jonoon (korvaa) - + Preview Deck - + Remove Poista - + Remove from Playlist - + Remove from Crate - + Hide from Library Piilota kirjastosta. - + Unhide from Library Näytä kirjastossa. - + Purge from Library - + Move Track File(s) to Trash - + Delete Files from Disk - + Properties Ominaisuudet - + Open in File Browser Avaa tiedostoselain - + Select in Library - + Import From File Tags - + Import From MusicBrainz - + Export To File Tags - + BPM and Beatgrid - + Play Count - + Rating Arvostelu - + Cue Point - + + Hotcues Nopea merkki - + Intro - + Outro - + Key Sävellaji - + ReplayGain ReplayGain (toiston voimakkuuden tasoitus) - + Waveform - + Comment Kommentti - + All Kaikki - + + Sort hotcues by position (remove offsets) + + + + + Sort hotcues by position + + + + Lock BPM Lukitse BPM - + Unlock BPM Poista BPM-lukitus - + Double BPM Tuplaa BPM - + Halve BPM Puolita BPM - + 2/3 BPM - + 3/4 BPM - + 4/3 BPM - + 3/2 BPM - + + Shift Beatgrid Half Beat + + + + Reanalyze - + Reanalyze (constant BPM) - + Reanalyze (variable BPM) - + Update ReplayGain from Deck Gain - + Deck %1 Dekki %1 - + Importing metadata of %n track(s) from file tags - + Marking metadata of %n track(s) to be exported into file tags - - + + Create New Playlist Luo uusi soittolista - + Enter name for new playlist: Anna nimi uudelle soittolistalle - + New Playlist Uusi soittolista - - - + + + Playlist Creation Failed Soittolistan luominen epäonnistui - + A playlist by that name already exists. Samanniminen soittolista on jo olemassa. - + A playlist cannot have a blank name. Soittolistan nimi ei voi olla tyhjä. - + An unknown error occurred while creating playlist: Soittolistan luonnissa tapahtui tuntematon virhe: - + Add to New Crate - + Scaling BPM of %n track(s) - + Undo BPM/beats change of %n track(s) - + Locking BPM of %n track(s) - + Unlocking BPM of %n track(s) - + Setting rating of %n track(s) - + Setting color of %n track(s) - + Resetting play count of %n track(s) - + Resetting beats of %n track(s) - + Clearing rating of %n track(s) - + Clearing comment of %n track(s) - + Removing main cue from %n track(s) - + Removing outro cue from %n track(s) - + Removing intro cue from %n track(s) - + Removing loop cues from %n track(s) - + Removing hot cues from %n track(s) - + + Sorting hotcues of %n track(s) by position (remove offsets) + + + + + Sorting hotcues of %n track(s) by position + + + + Resetting keys of %n track(s) - + Resetting replay gain of %n track(s) - + Resetting waveform of %n track(s) - + Resetting all performance metadata of %n track(s) - + Move these files to the trash bin? - + Permanently delete these files from disk? - - + + This can not be undone! - + Cancel Keskeytä - + Delete Files - + Okay - + Move Track File(s) to Trash? - + Track Files Deleted - + Track Files Moved To Trash - + %1 track files were moved to trash and purged from the Mixxx database. - + %1 track files were deleted from disk and purged from the Mixxx database. - + Track File Deleted - + Track file was deleted from disk and purged from the Mixxx database. - + The following %1 file(s) could not be deleted from disk - + This track file could not be deleted from disk - + Remaining Track File(s) - + Close Sulje - + Clear Reset metadata in right click track context menu in library - + Loops - + Clear BPM and Beatgrid - + Undo last BPM/beats change - + Move this track file to the trash bin? - + Permanently delete this track file from disk? - + All decks where these tracks are loaded will be stopped and the tracks will be ejected. - + All decks where this track is loaded will be stopped and the track will be ejected. - + Removing %n track file(s) from disk... - + Note: if you are in the Computer or Recording view you need to click the current view again to see changes. - + Track File Moved To Trash - + Track file was moved to trash and purged from the Mixxx database. - + Don't show again during this session - + The following %1 file(s) could not be moved to trash - + This track file could not be moved to trash - + Setting cover art of %n track(s) - + Reloading cover art of %n track(s) @@ -16660,37 +16844,37 @@ This can not be undone! WTrackStemMenu - + Load for stem mixing - + Load pre-mixed stereo track - + Load the "%1" stem - + Load multiple stem into a stereo deck - + Select stems to load - + Release "CTRL" to load the current selection - + Use "CTRL" to select multiple stems @@ -16698,37 +16882,37 @@ This can not be undone! WTrackTableView - + Confirm track hide - + Are you sure you want to hide the selected tracks? - + Are you sure you want to remove the selected tracks from AutoDJ queue? - + Are you sure you want to remove the selected tracks from this crate? - + Are you sure you want to remove the selected tracks from this playlist? - + Don't ask again during this session - + Confirm track removal @@ -16736,60 +16920,65 @@ This can not be undone! WTrackTableViewHeader - + Show or hide columns. Näytä tai piilota sarakkeita. + + + Shuffle Tracks + + mixxx::CoreServices - + fonts - + database - + effects - + audio interface - + decks - + library - + Choose music library directory Valitse musiikkikokoelman sijainti - + controllers - + Cannot open database Tietokantaa ei voida avata - + Unable to establish a database connection. Mixxx requires QT with SQLite support. Please read the Qt SQL driver documentation for information on how to build it. @@ -16803,67 +16992,78 @@ Valitse OK poistuaksesi. mixxx::DlgLibraryExport - + Entire music library - - Selected crates + + Crates + + + + + Playlists + + + + + Selected crates/playlists - + Browse Selaa - + Export directory - + Database version - + Export Vie - + Cancel Keskeytä - - Export Library to Engine Prime + + Export Library to Engine DJ + "Engine DJ" must not be translated - + Export Library To - + No Export Directory Chosen - + No export directory was chosen. Please choose a directory in order to export the music library. - + A database already exists in the chosen directory. Exported tracks will be added into this database. - + A database already exists in the chosen directory, but there was a problem loading it. Export is not guaranteed to succeed in this situation. @@ -16884,7 +17084,7 @@ Valitse OK poistuaksesi. mixxx::EnginePrimeExportJob - + Failed to export track %1 - %2: %3 %1 is the artist %2 is the title and %3 is the original error message @@ -16894,23 +17094,23 @@ Valitse OK poistuaksesi. mixxx::LibraryExporter - + Export Completed - - Exported %1 track(s) and %2 crate(s). + + Exported %1 track(s), %2 crate(s), and %3 playlist(s). - + Export Failed - - Exporting to Engine Prime... + + Exporting to Engine DJ... diff --git a/res/translations/mixxx_fr.qm b/res/translations/mixxx_fr.qm index 01e81edcb56894abef75591119ebc543cc042d2d..a5f5f92ba862333b0754bdf4db77d21b6699639a 100644 GIT binary patch delta 27965 zcmXV&cR)_x8^E7)&$x^1O;#Zzq$DF-GBP7YM$619``b$yA=zX__DqybLPn%WHW_6` zq-^qgy6^9=&%JN&d+$BxJo`Df^9yT6t*^PFnrQ?8)CH(^25AlC!*YYtgr)}Ru*BKq_(zn51JkLbe^B2yey?ArB&t zB7Y;#fpnrj@+ST;68RLQGbI3cAE5n)BfWto-2#v)(CtrzhkdQ3nD z0iBH3uRjAnM>c8$G=6F^O+ar9!2>U#D-YoeTi_S)5B7C%sy8F8kbjZZAo&&`8{mvI zMlQe^s1D#zJQFx$4hw-+OvDwy@A=`Zv_<;+Av*)DR1If*0Fb}aky~)&9!MOBz$J7s z^#-VcQ|W@V+h=Cb0fY3or9n1rtU>Vyr_5yv&gv25PLLcYnVInppnGE=5myb$0&mUuv4zcB0RqU zFi^qsSc9T83g5u1K$hV{xnBWkRDFXiX&1ntqd+H(G4rd*WE`-xp#UD2fZb^U;CT*s zZ+`%<5%|S*0AUk>WT0w&2m$H9W26bBg96B+Y+&6V0m;ORW?6wm@__uB57LCGC~W0G z$_fIhY-^zPLV*U91=ViU25p{e~G2a6V)_@-GZf5E$ zUfam66*`xbb26dap4GrcYwq#w!~ROD&l?owEs=!) z1$7OI3O8{XXMxndDeyr!@)jQqQmYEUM=l1r#y#Nvi6#(_R{{^X1QOi}dMGe6jNcRFB83t6b0=^*xpec?7Dc!_}M>3D*z&CdR_7GR4LBiUcT^Fa_wc#ZWDBlm~0mS|BYRnv4T6zCYB9XCRd*1r6*`FFRX8 z14mTH&Ti14S17Py)?m}O4iKL;U^5fx>jn)`t;EG|(D0Tuh)a#3A!-XxEx=>4e21#mFz z$r5n%FE&7(!0BZy2z3m!o`b@?C>L6z)upD1+l>Pj{m3BiQ36`Or2t7$&@N>@j&LA! zS#JZPpfCPxK6N=1Ctz~BZ|M_LQ zac-goDaL{L-4wciN8J{0z}0^*u-QMMM);=-F6IMYlms4nRW1zQ$zn^>% zdRMmq-nBXOzPtdvV+}JMUKx~1mNH1s?L(Rtpqs2nyfqG|pG1BMlWR2rS9$$u)yl{&$IvHO79TEjq#ivZ7D4bpX=VBq+HAeC{4 zfniHPa-MGH-sRvvhU4cCV9*V`vE>{X^mZ+<%adWS76t4Ifx*}A0(li{=KB-iQN1<} zXc>6Szl)Z%8F(x~KXaRc$>UriunZUQxUm7q9bu3j!XMx{vvY$X0c(KWZ4I6QYeBq= z2hTClz+(%+b6f%t$FT-k&I$0`8;^0r7w}A;2x4{x@Y1aT>ijj+ale_vo*AUgHklds z)nqWb9uLUQ@Gx`(%OFqD^R8>%mZgGqk@Y z4DE~Ny!ROx8oCo$To)J`hM|^sDHysCXJpJ27}fv{+`VKN_QC>0Thl`r_8T39z8i*j z!X?P-3?tV%06FslMivwSzuyjg9B{zZ_tuCXHay z-sb?JZ(zE6BuIms!;HUZxr&;=%%y)otojZ!4`iUh=mxVg>*D!Qn2j?ecXNT+)q;SG zNPxMaspu=l!`vhr9Kar!d+j-pR#jkL{%R15W3?4`JyH^la5;!Lr;Ez~7&P$Z4@a-V8VM{To>GI1gRzAXvYS0ZCY7 zP&%~U%;S>`(iU-Mx(L|lq62B`2Aihb0n+6RY~FnxSjaYrj$8wf_#C#@iZuaSQ4hAd z9Kl?p8^nCb18A@Wc2tT)7x@f!q&oxun+`iKX#nNN!LAOkK$NKjyDc#a9zP9sFOq=w zYzBK5WP()Q9rkX=CHvwC`=1^KwlEqFJV7=5(F0;r+<@G*hQp&q1FsVfab6e!Ki&&* znI>G@$fXc}y*O}~1ji4@0uK#M-!v`DS)ItogZ+(PQ_w7-Q!r=7i zY@mmo;mpBk5FG_vXzC0k>l7qA1p&=UgsX#F0ZUi{SEsiEsZ<~5C!KUWgYr=#~qNmYz0UK&meU-8k(0DaC_cekSaMsrX?;xL2t-B zmJcGK9NgdV5Yt2#cu*%1NN^Q1!*;@h6nucaHQ_-T#s%p+;fW;*>p>Ns^e3p+i{WXh zF90VC!SsA`2*}p{@M4ZFz_@0R?Pm#WK?Y=JpwKLA32)j^p#O5@fw>vAU_@rQarT|?nd@ssW=gg+PafLuw3zb-i96>p&EOCXNK z8U7u^YH~k~}F$VBwxItkVPAs0IVW{$yRB*?j)cY2xcsK>5aC=g@(ngTW z9V1nmOa<|G3#l5O2h6rUsp0Jd%(XA6u^!cQUJYXD;RceG8>zj+24Hn_Qa9Za`0O*p zYEuaCavey$)A+mow@Ll#i5UO&jU^2WF!CAWXy(k-q|t>3AU-@MO$TFIWeO%urz1n$ zNi!u4q(jw7^LIfYBD#|nxu{m(%8`~2<^vh!K^*PS9`GWARDVhwJ+EUx)0nhvf_h&u zg|wZV4dVMN(splC5c^X}+Y>gJ|7RwUwofqVw3|lSzO=-e!c@|(lP&N^7Np&I48P0e zlg{C&B}<%0S4(uqUq6vi@D|WO$4-i1K~Nh*4=Ew+|&F4p@S; zsv#Nq%nQTtlVnuWNZ{EHWK`sJAWJ3^pNj*4T4xf!_2_Q>2a(Y(1wao4lF{2RsvYrx zj9DCt$>&@$=20Zjhds#H(RLt?)g==cs$Jcu2Fc%DWP-KH2Bam?WWoZ>&ku!@$s4+Y zIO|O&Uq>~GxlV%qcms8BN2Yb~1hTdtnQ3zeL`G9GbAdN7%b{fUws!z>yqOle%=Gaw zC^H)}r`|vi*QbyWzdt~FzaXaH^#GnuCvyj+ffzc0%r!-$n|y6e=Gi6!^}0+JjHm)~ z7fu${LROqX!jGVVsTDvX&!b`K7DASy*nu~xwQ z>?R2_u49f>M2^+90Dk5;InhV~GI|Lz1X)B*pq-%KT*%4p?=jQ5M-tma1Nqp*L=s)H zKuS#^myxmDgk?xM6%CB0%I*mPI;VKeGhqiuL6$fJ$V;|k;|-CW-f># zpPRV@H2Ft9Z;A%7p@4kJ!Kt+EOn&&GmYlsze(pu}-RePpH_JqC`hom8UJ1nN-x7I% zNp6Q~k`#$c-6~9yUf#y~Pf9aM_QZ%snk~tjwgJ1dT+(B)9_aH_D(Qt6YUCtYTsn=l zpw5!T4>u6cKTD;~l?T#kt5kaMOpxw-OJ!yhfVA61s<0KE%J)L4@<)_z#Yw8VJP&At z1gYi$oWViUq*`S&LG}l!_90AquT_!iCi-FhNAD`ty@(I6c&ubSq$9wIzEZuzsMmGM zO7%|R`N=v`qu%|29DZ(4N?0H@N-qH-{Jzw<#9g4H>?PY@IjCN942rNtQq#*1K^oUc zYIX)K>%MTw&aMyedZ(loZ|niKm6IHj@PYRql3MzkP+eSorB)pyL6+}J&Jn2peuubl(M#HqW2{AF1auL%$6i8oT;#VS^+4oUqM zuLfvWOX|N4ZTpgHlKWT+($80tM^qZn#mgm+O=$UEFO-J&#qVQGF?~d=b#;iews_^BqLx zveMX`BH$6B(zr?}rPKVRNu%xn9eGEZ)%*kce;aAmZVa#6)RF$f%C%H0Niwyt0Mf?8 zpqO%6n%Djh@OKVU*rzWb_61AxCA?lJmF8c>wNAqG^a(&Fos$+6;Zo0umckuyChwjy zN#S0Rm?#V}(=ouH+%QU7^1%|I%~2_$Ayz<^&XQJIV0wM=nwc4n(wdX~fbN@UP@L!_ zZEQ|}%={*8?Dhr7@XFHGdF6ogDJ^X~v>(Ln?b5a)tO@S?Chd&c5Ax6<(ynoshCek? zX?F#z@x)D+_E_Uoc@{}~)+J-wT}|3M-3g;&X6BAqGml;~^ZFBM?|KK2D%eYVx7mPP zuN3AUYk|CbZ;?x zojG*{oh>HG<-FX_Y0e7I6d`V$S{yiU4c7YQc5 zy@zxm;U|zmAEhhS+cE$8CS6Iwk%aD-uG~SPOPnTM+vN=8;s7b-*8qSsN2KdX!C0iM zETvk00shk@rS@C`^xQBr)03stuScNw=RA0-+&NW~ehj zhwf75@VeXLm$$-lazA~E2D9FQcfXeL_fPquj_Zg6z{H- zy9$e1_ijiZ=2?PV-B$XfnlL$>GC}(6XbHlxlJvs`rzzh)MJa9bw*+MWXt*j)Ox zw+hhj1Er$a!9X`&qtJUk$i50CrlFUB&izQ~VoTs|wJ0-2@E_&3f`Lk1s2m*#!ge*4 zZ@mN&R-S5U7eSClRJ)JT?0lGN1$e-6vECo%Ml0dIMjkRy3BxikED&eVjtmHFKX+A zAy{o^+Kiwx`w>m;s-pDI525yZV?jLnMV*>Gz~J_|i8|R~BJrRib@H2uwb^vq`tKuj zCI@M|u@)fi9HZ^6(f0ScN!w=ygEVXp?U;80%jm0VXM!P^UnnvJSU_3Yr58$l_xrTV zmIS&^y+y~^E1F2iF zWeVv@`wUtQl9QjAeVS1BwXOj7-qJy3B7vrzqk|e@wELwy9USlvYd*QuqqwV;QG$8} z-3MO&EcM!t77(t}VfF1nw)#%JPhcqa<{%y3t1O68In-wl%ES~xeb=r9*<^Ku`dh`K zv&g6Zldxr$=|BVeN+7zuqGRGDkm@AT2{n!Ysd<`CXos}?K&RH<0YpxwQ~Tn`rvFES zVLH%ht!c2kFYp$*G`RSI@2)aPhr7}lVQAR$+Rz#Eu{2M2(K%3>VB0I!luO`D3N)3Vf*gjx`tPEBu6{hp4ab6Gx6Es)Nwya=SF5}jK#6NAZmG|U)z z7aA61iPHUq&JXrRQ)@*RyhfA0BbzQffjQ$mPr7Kd6~Kfj8WD~$WsiIs5s5LS>nR#} z_c8YWye85$n{h-v?->-Khw0k0!!edzN!R~GKb|p%ZfF(;@VPDB5El(n_i=P%`)L55 zn$wNXX8_&&AB}GN7IVgiG{zP6KiY}z8XAZt7H_({QW{8d8M-_E9gudX>E0@f0d_gk zy%$FS>|RU{ag#5Imn-OD@d#TlyJ+0W?O5|YMiZ)8V5hScJ$4T>AO{tOVBfzc(Am2^!%|=z+Nz#l;Q^B=Qw(~{d3?R?dg?mQ?a)DgT0xHvMNIrBbO&QV!TO}rX{ci_=YOiVPQJm5@9yD!bc@Qr9 zX}XM3zh?@)RTBe@zB}lx8=Zj7%%T|&k}!CEPVcav@@%*FzwuOof6rwb;dKj_=(fgpT3(04UCP@7o#?vpc!0Xls@ zEEZ_69nFI@U{=BOb0-{7<0$%NG%nG&c_#D0jZ4Qo#;+~yurNwXCW@5 zRZIrUgfX$UMokZH~apJZE|hiX|UYDOLgtgQ8R z4x`zle^{jk0U+7OvdWWu0qrWQ8iSp%pz5qz^8p}@FTtuU!=Q3=J7&2V-EYbsRtnQ{{Aa(jOE0<0nOvih%diEKZgw|p8=HOI* zCam6-A`q=gGn)|>AXa3thGSf@={%e@42=QqP{kDR*?4&V@+SCff#X& z*^P?^8Wh1=a2!yG#O#ZM&M)@N@hSS2XB(K46HfVsX3WX$A~0zJYkk@TCb8e0wV9a* z^wCh(ZeSYljo(*Eo82zg=kJaS>W>Gf8*Bj(M{g~HmG<4lpvtjumDCFgt z_s5?mAlapvf9FWx^R_ep5cFz$f|>upuRtfsZ1mwGAU8Q1KYay2Zf_RYKyYOiR6vlCY#RCq zntPi~%Pue1Mt>o%j%jp@PGof!r+P-W`}y~28*%%WV+VhC5kAk*g1u>!is6aNVaokA8cBkX1f-z#ihB+b{#|?QerLJ-EuY7nr@lc-X+*D zBxwf8j5P*%{bL5@l4sc7Lez%QacqB6l-{w`+5SS@-ICde9f*7aEc_Mn1&Gu-NQ{tD z-H}-3N)1QmAkQFQBlD10O}|;29as*)7MDY!m%V8khzA%vzH&g829drASrM6rtb$*h zhqS~(0YTQp^TWv6cy5oh!t(3=*pgN=8AWZHI(9Xv1$q+>7Gp%sN7MMbe#Z`|$hWDz?$X(Yg!(k#B?T_9ew z42qRsS$vWQi2D=S@yg{v>a>I%@4gFr$0ynG)3+1+8@nE$6$V)y1^a@o3#nK6RhTZWa)Q;Q5rr^>N= ztLLN8++`1N3l@tBL}HK`vza~q?-fY1KC!3qIDkSAD;b!(Ba}8!dU)jgq7(_Pj$3Abf z1={`(%Qtz0Sk{;2-?)#BNXGJCMgpBZjD5jQ8T(a}zNc$owSx zwja0oWQ4Kr-P3>{n8ki9t%3Jl%YK-O55BxNe^A(k{V0wDW_D)3-N%Bk@nJ=S7GUr= zmK7aAn?Lt6hZ5zm+kKxyzig1IJmk!n>dTz(%K|AboAXqB@botZS=?F9pK&ZW1Q_K1 zE_2ZYz3PZ|T;-Svjrz(>dY#6=bGmT77Yf<5-@GK?RGv7+%jDqN{~OQC&MW}(ezZYW z^&PLY9s`Vq#Gn||iC4q=9(1zc)h*|OIJbvaFDL|7Z8on_1K0XT0k75d6lTXixwXrG zxOFSeAWf)eP$mma-1;|`!|Imh^+J4sU8KB$Et=5Yy?NvG?jWA3yjf3->C`>kE)E+D z7CU*1o#ip1=*b-{-{Ib&kK7^38p|L*xWkd!m|Sw+a!m|I(V+&Z*3h7k9`jb!lYpJ{ z<*mHtAfvfc0A6Q@$;8`qs1LleCvS72GSEYxc{^Ws%x=eWXHN@|TG?~wwdg(vf9LHT zlkvjWcza*G!P6%OMQIP-{s4yIv#odso{7!o`@BPc%ybf-@D67;0Igesclhjr`hK2w zES(Ol4&xo4W&-J4nRoevOKqBbns-~!5a{`NyxS#P;Ezvnmxdbv@P@7j-vh7ziub(J z0a(d5yytVgL4$6*S3fK~3@hS&<`AHMsl5Lzbl0UG8Waw`+&!%}K!gn+v>Hd6xP}k$ z4gu=fn0xj_uR3BY_dH++(jYfJ)a4KAe~l@8=t>4O`x+lM!X9_Snf9(oB-V!66VdwdH+hUsd_}~|4>u2-vD=_xEaEFh_ zM1qdo!UGqhA-TMnPjbPLg?sQxA(+E;YRe~Y#~ZtS;Zv3;0My>kgNA$sSkQ~lsGovG z=QutiEfPezL3~yU7NLfZHz?MO<8x9>_`%55{6Ale$()z)u+%^hJIC<(CP$!y=krBX z?}F^+!56JY{l9vMhxZ%?WM3N|9_NBZt7-=2+Ub00R0!~jkvsx7CP-ty^N40Wv3=*m zBU+9CVONPqbXW*5^%;-ob{U{*NrNP`HIFdi2U3U0#s^YCj6vCI7LO?2dR5icAPJpn zP}JWmRLI&WSLia#4C&e^E>h7NBRM)G=i^IP^~+* z7hi7?31npwUw`2!w$EA^ z* zt3Tx1Tu|M<9yQ3G+wq;nn^m5V;JfZRVHd54@Bi--us7j+|5A)AY+mvG*Up2)E*Yfm znnCvFJ>Q>R1*ESg3w~e?O8;TTV~d@}yV*RpO9JqzU3o&(RgexJ=f|?p8}?jiP=t== z$Lst9srdqa{P7rUE??ls3-IqFH}R9R>Z0ZAXpq}D@{_C6(5_tPi3u(so=oHC>*oQ9 zY{ipWqOAPz;Yow6umTdZ*f`*)bNGck+;nnvE>Hf1>hq5A%ecLUg!vd`-C7#twuSu4 zmqg&>ZTR&j)qu|`%TtTHU(5gUn{n7$X|s^0d19b(Jl3GB74Y<`Hb6uMztt1BbdY3z z>nbL@ReSObMaK9)FrMETi1B#i?flL?tbEX+{9Y?JfD-2o%F-ZyuPs(ayr1)jwfBRR zzn(ulhz7{zyFuEgA%A#V1(12Fn6f9dar@qdT&#RnjQHJ&YF+&*d;&xuFp)6kEPR$(_%ro zQ;UD@?GD1?AOAKV1DT7xco8+t2R{ELFRC4lPUQ& zOfCuO#uMC{;UnmFEGX=sFX+CnSpT;XJQ;6THebla-Lv1hLVmLt=>B&?y@wkXc03a$ zYoJzDT_j5Go(n`t7Nt|2fq4!UWldEVV60~$%9T@r92;s-Ix$C-@A3kq3)e;YQTMR= z)kRd;fZeSnk3@w>vB3VOiHg|oXU*G+s(&fg4?BpOJ5gP4JQlSV;orAph`KpAGus9V zE5q&P8l(wB4a(%Suv&%n1MVkGR?#@Zn-@hf1ymB&RpYUQdQw<#`vh#z5mB%B0wd}f zqzS7G$|O%TShEY$?WLk&v1Qy^LNuC|1;Trtux*$PtXaBfRvUNGp79jTJtKilDG)8- zF76xnEga`NVGj9Nw5oyj!O_tq+77nF%;dOeH?%&m(^G_V)OO&3R-%2qQb1-qi_RCy zVTUBZ%$t#-YYUW#uu-DhnpMDB*a?>jqW~<|nAxI_L3(1ZnKv^Hia+gzOB#N!@ioz- z-bH{R38F`2@g_G@8PUr@#y0sl(d&Q(b~L>ViVA;3??*#`4r?#mEO!E=x{HBLvVhd8 zE8JV!0`x5-2G_s@<8xmz_}g^cZnIo?zP14VWRUP86@Xbc5niiS19@3l41Kc_i&8Pd zdlsr?>@4AZG#B7{Gco)y%8cofmH8keN{o!k0=j;g7}aDeR>gENs(BZn@2tfr+-eQC zwu(`KS-_j^6h5ODfw=ov_>M(Cp3j9}3oPFabP)cBTVNS)n;6{-?Zc;uV$3oOR`Xtq zvBpSyh_T0Iw3Lxz+=2lh79J7fn{UAW|Jh_Q{sP|U?R+sI{S**4KQZ}19EjQZBB+-e zu+^8uv|b&7NEO9&!wZ%Y(+d`3U{XfRT#7rO?`{^e1!hqGv0}D@saJB4n6n&Xz7oBK zsm34Nn3N+-OC{XaEs43mF^TQU#Jr7n0J6u6u!nn5|CMsZ2Uz9qF6QTA4X5WUv1krD zi+`3Pd~_O!e|Wd{W(6HoO6-zlz;pB;8=?#3ql|n@1V-9$ygILzOGe{%D z#q#ByvCM8V$jf#TD{9{X*3V9?-j7-_wv|}32!*x9JF&KeDG$W>6=JPR1)zK9i>R`= zwu{3>)JF%9`(6?ow3+Be4~yvH?J^z%#a8?I0Jl@cRea`$oK z#_BwPf0IONCuiVmoJ8t9+{RP8sYol%@y>Pl?#|#&Ddba>L-(1|g9g16~>Wllox?odkym;i_1L*sS;?c#m04rCDEQ|$7 z$#Npwc_Pqb2_ky~MoOPAiR_KYyg2dd{48JJMcOzq7Fzix?l6VgyR{YCD4OhgX96S-$=V-opWh6BdZ&W0IJ)_8V0SfbC_JBV+h9gmE{tcNzwY<yejch;7x z-^HZ!q?cU7`4>oeVX~!fBFMuA$+e0S0m=+ENT#P4BL_F$OYuy`B3K1Ob|5I39j`y@AxKm+x= zw%lY$28avi<)(N1@IlKOB(p!rO$+?6p0`+TsiADR{FWVEy)jE3CAZpyGf9@qZJG{6 zZ`w(28#)ts6(q?&K1$WJ9rqBTTYa_ zt+oL6)m3)gT7+%5Y`KqT5_ZY!8RS!*%6)|ba@*^2{~93@{k`nAf>gGy@%nGPaZ9g zSdERyQ;p=24!Gts-^n9q$AdVi$s>Pap5MNXJSt-xh&GDs(+GV;^jg_x6VAY#cd~Ex z0HDxI_V>rC`KQye|BDn5gC%)#al3E*9C_w7vMkiZ73l{~Mix zT`NWY?~Fab`yp~jDV&K0P35`O3$Z`YR-U_u0=qg>o@bi@e2Aw!uh1G>D#zqSsVYd{ z-R1Do7z56IAup|76Qm|j<)u^XF&wv+mnJ!bm`LTN-)upgejrDTz>FxUt4WTy+7`r> zyK+SOdQ2#uo9Wn8Ugr4&;7_`|EGH2}htBfyX-@bqm#e(|doqSn-{e&negdadUX$Gr zc)uZXaiT(e^5iHhEM)Y3Cr7PJM(5-wM;*iw7bMFYpP+V>nk#Rf5QGua0eMS9S1je2 zw#eITM*?+7m1Bkq^%r}`wN+=cdlHVV9=ri^6|4@v5R%eAWy0zpPG+fn9@`}ZI3s6wp>2*6isSm zw0v#>dbjZtw!1+k*}_e z2G**Yd~HJ@h$hZ*%91?P|1xRv^(UAnPtTE4PwdCq?It5|RDp?D|C7edP{?W2&%h=M9nOGV zDNy*K9RROW6>TDJnR>WDDcKsOw_!8IVhZ*PzCKpUoc{vCeXUZ#yFXS$A1f8sp}Lmo zuT*S~IbO1#QVFwNacs0w`5sow@@6U3YK;Ke@|#j4-x~y-qSV^^2FrC$N-fh7H$)m*8!7+Wp2HI#a}=oM!zQ0hCQ5cZmr<^w?`|jow2Lcx2DoY z@&ai(C~a&p{61HxIMWK)aIB|vtdC0=l4Ow28>V!7Vu4|Nk>X;5v0<5-O81UvX8;V6 zh%W|Z^|wjs?u{=B_U*28pLq=AI!tjb(*@J-c*Ql)7No#b#q}CGr?U-}o@rEO3jtO26Gcs3otJewooAd>bmBy~_g`;-h%o z#_w-SQ--z-1~R(7;{DAXNTF$vGJNbs>_ke6PeaTBtsf}9ALjzwRiyY0{ERmKsuEB< zRnJx_W7=SSe@CJ+VK}&WeW8Mp88aodOiX-jUnNIGYR`gV6#$eUVv~-y==OS9Pz>mtD9CWu4>y`gJapbYp zmAQXVy&5l2=7pkR^8c-bPQV}jouh;nzr!)ToIySn8JhuY`#U9Ub0>UxWrwmrU`2H7 z6lFm)+7q@(S#YW~(2MhxMfn$iCH+#uj|2igZ>=oR5;6b(W~nSm$AZ8){GgcWiVj1AiL#b- z1TOn2Yx^7nas89Bb~42b>VUFdticVAjg<8xKoq7byDp`HRMB49JrN(U-34X$eKg6Bkp-wF{lb+!kr>vyyC{2u-eE1dk+QGI z)B#}9cV&Mzy4^A>l!Mc*qENL^4s~bb-$?dZ8S<5(w1EMmdH}YJS{PIoS+tyzMRJ)b-+#hA5|A_6K%!m2xU~JF>2F zx_%LG@59Pz)87ps{wz@vD_sOJu!M5HEWQI8R9m@t@-ncDqspZR3xFK>pj^S%ab&w` z%2jJ?5PMfEDYr6#!#?Huu~;DaHI(b$s)FRW-^}PK%8l~49TyVKoNRB9thF>q*R)Y? z*k8gI5;Vnh!`~Sjj77?gJHv48wi=YXDN5>C9D&tVB{k(Trb@?@)Q|B%cMdT#ev5LG z#sguI21Wf}%FU3=K=@YWc1c_sSy3`>O~4P?8!k{6!`{Bd>V zQ^jnMA}T9iChx;`{avLH@b^msl)}%OKnmEReES&!B5RNGd&nB#$Ly5fh75u7C&&V% zsTRtggLu8Y)0IC77*jqm%~JlxrvYtIph_(hF@wof=`ak9I&Cq?t2I<j~6qOZ^ zU{WWQ<$8hal%w(|=%gxNR%NtsT#8m@3@C`VQ1x((?P_c_)9$`ONo-b2c%d`eeON6M zIUg z5D0AK2-VW>Fh~vsYOUNr5Ivizbt~WlHhrqr&HoFqs-Z!8_K`uk^kda36ld0-saC7} zun65qt^c#Q4p>KR(7_7#|IA&e+PI?r_StHXu2t2>m+}3dH_>Xdsk4APZ&dA`pceSK zs*WQopkawuTUla%FMN^Os-_Cu`hw~-c?U>YOI4=?EK2XYqB?hP4^rzTs`F+`;5Q_- zJt+ddXq?&+6BO=MOYL|Bb4RgU?Hp2o{(m=DT_R5bt(mI2;)BQoi_{*$mYAzmGAJrW zsXdfp;+m?ej*Lv#}wp1sNHkTeXX)EBB}iS<|_xuALuOatNd zP4!-U2gtHt>WErcwfa6#9eK3~h`pCO>g)(0W!+St+*iO(l`<$wyjKIf@WNxSssTO( z$RRH^VA@Y~YWvjD+0Gyxx@VB~cwpw|A?jFDF9u{pdvz>QtZl50ori9?{W5i2lm|-h zJ9WH@((F7-9Y1~#HkSsP*|Lg3dhVf_w|W>9e@m<5AJ~G3e60pvC<4BrNS!hex#gQW zwee=)uS%*@C!uAW+eMu^8H3#1ovJCQIc^*--$)J0aK;|6qdN05R>P(aQfK8nKw+At zn(z$=`th`CDmJB6Dy#F>>A2?o&HO!84NJ8E{-K*1cBd!MeihXDQ&wTYBF3QHyo|c& zImVVf0@ZK}e2|A_)g>n|olhEM=B*Tyy0kY|vFmj*C^|n=BZAP&*^g8sITnfEpHNq9 z{|PX*w7MeM2IK~p)QvV+jH>fM-57}OICy}%x!iUj9$(bWO^yOf%~Q7w#yBC)QQbCq z1rXI<-F7Y-q=YPW+Yc;o)EuD3grK+G_P`)NZHiH2{^VfH=caD&g9$_R&+3lWmY8CN zsJrTq1nFR)dNkh|$j*ssLdBN=FIK6?R{jQ&eMde15!E%XqI%+KAa>1as;7Oku_mmj zr~T2i@+5PfRap%LuX!Vls28dQj~I06qfCj|?Rwfd>AChh=U^@;jwnLqHt81?Ny ze7nUj%*=oe>f1?}6F$sV-_E{)1qelbw>1_M77O)#k~cOYx~uP>>;QOoQvDDx4)woY zSn&bKwH~P-H8&7ji25;NC$RQY)lYU=AcLQpPcfjV?5}>igFYZ^g8J(?zBg3&nEE>s z)AlP<)ZZuKkl)nbH!-%`-%kBI6qjs5uKE{6N6cBH7EKHW$w^oLJ#<0Kc~JfLiUY~K zu0d-Pda1Jk8pNXvET5v05*UDl6=>2K2Ouq~Y0_Cd4=t~;!4s^ytJbtTCZW5=YfWQOJ&*R#nvEX= zBKW9gpW+LoNh8g{V-+sZ3e8k}AoN77rIG$C=Ixw!ARiyDk3*hO=R!rXAc1FbuA0{He`>)t#Vgg0nCNjBP%Xssuf+4!~Q zTF)c+?-{78*0(8YS8RmV-x`};C(fF*{`F7|PDW~;opu48_ek?WooQJ*j!w^*t940Z#0DaFh?oiyLJ<*^UY$IKQb4HCZ;GXoYG zluJ4yvAuuCL-RXT9gEhcYUYE0N80E*m}1==sg0gK9&@zH+UWBmK@{a_qu=9s>Gj&^ zAK$S&f8QXl&_)~cI3F8}zS{WP6x-?VwTTT;I7>un)8YoBcf71kyM!B+&V1Bno;nYb z?F4OBEWT-x5vQ57Q^0bZw7GLGqW`a1MVp7!Z9au+p)u&+eS2!5X+Z#wx@w_Ms{lE_ zMVmhf>-I|?X!AFr7Od*8E!;I8U$w~9mfB&iN1e5$aRs>fyuP+9>KM?;FSO+a33!9o z+KTKJAp335*7d`UNWa{*D2q|RW`}7}t#QVWJkX+CH-m|;>}VX&Ba6(8r)J)$u0`G1 zj{l{msX@N*u(n|cs;6IVZNo)|{lPkBRtYvJ*Xpfpco+x}lcjAa!lczcPTN=qORo2? zYSH&l-P)DWqQ4>ACTd%^pke!VSKHRHxc@(+inc8Tr!L@@wk>Z8o)6Mu0RLUe_BO~b z$W>a5F9xAEdTQH$RYD;JZP!p-`{Yn{v+J z5iiUEOUv4kxPe%|3)kYEu>jHPh8BMZ_kNvTq9q*0kgMA)?PSZ2AP*m|oyxd?)$(}; z+0syhvc-MvH2nbl^=a*NgNGOgbkNRpp9vsWFw??9J7X&TU{sp%flN1PiJqu7Ekm@# zn^Q4NmbCM=FvEFsTuZu(L1~DucA;;v&{=AiT69JeYNsW)Lic*Drb=oYe}9)QVi$Z6$j9EW{ zxK`FOt?e6D1G`$zKtYk}|V>f8eAJzfUd4%?2J!VYuLhYp$rd*$E zX)pJqP(`lSvJaq>BHgqc?@VCT^0k}~=nZeiYp?&s0v~-_d*^r&=>0X?yQCw)TeUK2 z?_E(S%ExN?4mm)-Hr4VUW6YKtrWO9Rz&zeb`+DgecExkGpSwb^==@syRRfpgsiXEM z7@N_BW3<2is5LcGwSQyqLHoIZ*>hzu&^*sFX@JAH|wWf`odIvxvYU+E|h{?=A2%kIa;vW%k>Jc@qhOu z4%91FN(QoLyk2ogdrZa3>6Ob20J>tCUiE$v=7KJI4J^mO$1Qrz&@KRPFX*)vtU?)U ztJg}v8S7S{*N(XkQrj=O^^ru(|0^BS>t&-Y&hMhz9Ka2S)ko-!y|X}!ZKyXHk9vI2 zL2nWki5rQ|>$Xdrf!4aD+n&TXBg=NsTRg!sTBDYFD~5YPt!(tR@)NA@H_)92M}ipU zs<$7BGSlm%-rm2Mb@dJ}ok1Mvt#`WT1LT#TK@+RGPVX9nZ@+oQ>D>xLfG_-^cVC3U zxA>CYeaRhQJ)(8j#8{v?BlRABmHaH&l|A%(dhpm~7 zUg?THqKZ3+r|J5reK-T_PU=1z(3@4Gy3fTHAVGWGcU^g4Wrpej^-)MWrt1Mm@HHBT zVfwiAcwoEd=o4z8n_d1vpHyWH(3fBJ$*0g1*w^ zY6-mI41HC*T#!qR)>mOy8|IDCSDozu)bWtMu0FcqlMnQ$V3hL4_4TNCG1yqBjNFd& z&^Ov+7F!}h-?SS?xcrd5x%Yew+rJrPtK#*oBe5bn;I)T)DK=lOKEvlkKHf@*n_+J;bSPAZy)K0A7UQRWQ$3U ztASH~Bs)V3nW|WC(79XRGM#)n4I;~VP3$Z zXX$6gp!;<$ub(@LS?>2VJ<<5Rs-LfcX?FYT`gwaB;PEx|^LH`&jr^itNOQxkda`~o z=pjfmP51RH9mWBv5};pMssOK)s$bP`EfbK1Yk}Km>DLcr0sS1Kr=G@4$vp#!^}n?{ z4AQj=^z@N|Am&Ht8CLkB?z2!J^*-t!hM-Mv zu}c5+IT+aZ<@)D1tZbfMuIK-10ql3M{w2j3SjC$9*NT|wOgg0hbjPSTaghG=Ag=wn z4EY$(yuoW(YVB4f3c!uS3snisaT9kA+kdl2r*|#-MQ$Nj{c+` z#Ytz$8$uVOKYuly*qSla#+DJ=1;qdzrV{&y*s@7zKpfgRV^{q+afq0TUGrn4!QS2= z_MJzZ<`sg}wUjh;PX_T`OVV(2G3Ng<>xj!4SI}f{Cynrfnh9Fs*2Vxr<5k4%2;RH- zESl(gI)mc<9ckj0hxNUmht z#4G(JXeJIPKALQh5}y*EQ`I1ykS`yUbBF33IB-reTk!-*i5^TcE$A2a1*~lBj zn8l>m&@VtUsX6Jj>?Q7EYi~tOz|U3``vlbDgmThn2qvv-*O5MJf-pncNcxqX2W`z; z65<$$?Y2Fnf3qVvhm@1g2O-1FT&*bR>(t`Hg~V+6hxo+9`i6wJv3)*E3tEr!By4*z z?%&C&#qx$Ed}aj*qf5vj7hJ`P=g8o(yKt*TS2AP>8dd&TGNg1pmSo=`=3t`YONMUo z1#QWA5;gJ}K+8-kYRZq0kqiqRbJ~%SU!fP3m6^%Ngv1BtGW5216f zCNaySK+XvzF)tC<4<&k6)ZLTQL?2oVQrS2%YSu20nHDP3Y6I`gIH6*462QhWikyI~a%&`uc5S9&cp*fGFY0!G_JCZcl4FD&1 zkhH`bSY*l}Y3AKHf5(wD)Gbt0lk`KCpwS;9=?{L!MnW)|bQ*1>aX6VAdI>agYci!0 zjWPNJnUUHCw2x27ORdE=r^!4Sy};gq%)f!FVRN&|)&n`xjw~2l zfa$Xb$(V~Hwm(Ex@V`LZ=0#S#3Bj!vgsjZP6Goh|qP)C}WC_UV*0Ch();`dTSWVU> zb971-VNB_U{ zhU~pF58(D1vabbZHeEu=p>|~;t~y8#TRI#Idy~VbH6R};BxUz8)NdI>j%v`TU2j+r zr^z`6>l+G9A>T(o#!Th_Ie7}JT}_PS2U9R;_VpsCd%i+%m_yE7pAHaxj$Bxr0dlrI zx#)q}uWcr|wD4olO2f(J{jNAUN#ybktdOogO|JN19bm&Ta;5JNpoz~QSEqapa_}Q^ zb>|C^QU!9Yu^A&&vp90ygmt>sN6D=tSU_CugLo1&iO0z8+bF7D9^_8VD}c9M$lW^_ z!>@319~%!!r(8r|Y_T*a6~oY&roJE#7WW5jmo!q@kfBOCkVhdeaSll)zpnAdJ>N^o za~W&8Tc21_DqTaKn{zPc`xKBDS8?86bdJ1jg&e1TU5m3?km@_vvH1L$)XYBtN-nl2>16~rdlIj(7uMsYi@&(JDl2ZUu@%jOzUpMYFeisY27!N zDb@9(^&ag8xnwmZ_s|Hv&rmbX%?0g~E|fma2jP(`wcTz6>FFD4Hv&U&!Aa^U#{k?- zrVSjhMC-bOI;}&UPmiW9;n=i}3Z{*&hJtvi5p6sSOE2M_Y2$(xATOw*`XktSZo+2&T=3 z72?WeFZJDiA4UF>`kfsJ5WI%AR{De7HJY|th_j#MLEA6K^}&uMw0(gyN-%*7 zp_F#+5DRcVly*6YS@gC!G$`@~$YH-U!Sbpvg)Q?$R25mTi4 zwEtWj*|r=Sx?m>m?@guyU9mITr!Ng#fdM7AAq}7B3&OM`G#qO_QuqowC=>~gsYfGi zvC+_U6OF9KTJoF{I^_2-EX&JuSWgD>iLYtYZ?~~j`xT9ebjS67d_5YIkF$|;6pb}x zgOJpV#-}q7>rAJkmg7hp`A`GD2U52U)X)Lb?{$bh1JLR(($U}8MtNRZcU9V&6&v`m|LkoaCRrJdn85pZmmr-*b zayI(_o#u8O+ixj!MlW1a)wx4wRrJRuQ@IsoFF!gb!Vc&ErF2fwTF{PpMdyV&VQO}l zE;3#~w=JZL4n|@zY8K7tQHnbpD(Paf3D*Vf>EfYSkZ9G2F70+3fW}!-(Y&RZqPYab z%g3qefef?@p{vZeSJUYfU3C$4*}ENGg%u6$y&$^UGVd=LMzb&(6_$F@JRPdcFN|*R zK!)=D=;li}7wp|gw@j)A>9_=#!z37#PdCw{s~iEA$I)XO(OnmAr6=uULE7(1 zf4GA-HRDrycJO7~S9Fq^&n-Y>+0dF^u+IbeN)EjmWCS^KF}-#ItKC8(y`J?Hq?04* zkDvpvsiL>b3P21wNbfMz?bYk_p6+81why8AzP^s@|7P^wMsF-G8R-3!xL)`%hE|kC zfhPAY{aJ4Uc=;uLSc9wQExEL6z+sR&UpLd2Y4}{`)u-vpigXY@|Czq3ZiFLSL|@xs zR(n~be~g(4!mmZN#-=p}quGT73SP>3n<;wn44WDXiY>pBd5OYt!6PjLOo+DyGvrA^48`1dE zC$pv#8Ut*i%*(bClwnVq*P-u0GdYTRhhq7B-*qcWPdu1+I==o-M=Q#W?=tW8e}eYS z9@cDOF2Ioqtfk#W5C$w^{*R+TTW=3*SAn+n{Z7^~7gcF~wwHC9fGO2H6YCO!qOW|w zy5J-vAKk{fwmkqsWFG5wt}AE*yjajEtmXJVV!=LBL0ehKdd9Uu0*v*n#z||VvlZn% z+gUFgOgb-KXP@O_0+Sxj`c~M1ytO{-Hz^QjzW_F%8?GOGrmz9~j-mgra${i^t3V!9 z$if~^2f@^VMSM~KnzvPKa7KSn22`*wR%U_JZYulYAg0yHN`Vkiz|b6Ym@esA2Mq_Wt=OISw`*(h$n z{=btm8->qn7Q3!uiH~OkJXp$%3*B&S_7O|Uy$#Z(RxCAsA4qVGrDL)xIR4Bg-zx_x zM#rYu7JzW8BQy8G@_g@YY`Rbk+D@5l#t{b6p&&LBpME9yJF{8o^FZEK!De^Rg4psd zn;nX(X?zXQoQt{JWj1dk7MahLv3V~#<7SgT*n$=y+|L-}4Wn~m$n{Fb@s=%7>l9OyLKB!zuHL&c<86a(qVmaSMgA|a(a(fv- z?A4v+`zZHd8^Ilfw=es<3`=iyiz3D=86sttij7Wrs=& zK>I~3E3VjyHRa>1WL6&#Uaw&#uP|O5j$r0e-UI#8m03`3(1RWBfZniaDmywEo5aII z*@@{+7(xr!$>|;dw&&OxG$P?y7`yP19z>-ZyGZV%H;iLfe9=9ZZD&_UptrPa&TbT< zgmCZakCq#jUb(QF4)Z|!%}sXmI7*<*iQR5J4R-_mWv)Ho_pGScII_Dld_jts$nIYA z1=0Bt`>C=&_HaGf{fql?Pd8!rE3pBwxQIPi>xtFuL+rucA8~{7X7&(QJdoI$S)cK8 zbvb+d!T?f>R_xh+BS6?qR<#Tz<6FgEMtK5^+{0cS!_clZ?_&QMkC}^OFZT8(8jt4~ z_D3}u*XK9bUwQYiXzXD{(I(D{(vcro^#Kh?Q|Gc87ew<-Rx>{eq-Bd)4b}$)hbFA% zxCDw6#sN2@i?b8CW=AAwC$!{Zj6aAQ26Cx=8NkJSuJpl8?B-L?c%APtciX#`+kA|i z_Sntq?zs+9^D16X^apL;AYQL7uHkaScs=ZR2p4;C(gh`wb%4`@IO6<4oK`)@SyIE< zX>IpE8d~w7dECnhjZpiRd!530y<2bY-JuG*;@;f5XEne|N8UW` zHfSAMaNnv7kf+q)EjQqLVf!)O%DW?0M2_%Qx2TM$~`0(>ue0-C4K7#H#cqs3hiGc|^@lU7i1~D>^2Y-T}Z&PkXrR}dgc$+y5 zF|ulb#?}= z|BpOw1tu2$54rvbhUg}t+^{_y87t$XznzJ;v)77>eH9=53~l7OEg#b+1y{vQd6I+y zY3DPZWd67x$ga=$_}`GTl+oOjwF0#JOgwFWI%pRE#3wrZ1j3C5JpGLpAoVz(yxRzp zKABH(!x1(*$IX48f_C%(K3zr~&)C6d4S9jvbuaOS+NmISyu~v%=VIyQBffM&C5XWl ze3?7m5xqK@uk7QC5?;#9t1Vv!@a1Rx>s0jbyH$Mclmfg{!JlUzN3Rfy_`0k32!)WY ze0>6TNLUA+TNMtPRTVsMb_8e)rM$LI_!Hky?uR;$;+ysuK`hPU1wIQglE(3Z=SatH zEZ<(<5yX$y^BtE1LHddFUAO?zwEEo43$fs!DKql#0;(`JkK=m+%K>^V=lk2^h#eyM z!Pib8gdO3<%WbgO)Q6Y&;#@KA7%#bwb^IZ}^P|(zR^~hNqbu>*ke5E=#|(Es>Dz)I zOI(HN_!EA-n+Ak-P5JTBXmqP``AL@y5PzLzMY+_xrS{-3yu&yvD)Bk|WdE6K@S-*gdh{lA#s++hOIoZp4tdYBFH;ts$4JFZl|{Dj{fSq!2? z_}y`Bv29+#?-!!G9nR+!{%LqZIIp;L8>BOr`OjZlR927wVmysDbCEwT!DiEg7yQ>| zC;^w|{OJmJ5Z9IRmlGUu_k1RQbzTP$w2i+`&j9VR3jTUy1b(&2xAUzBQt2K3W<(pz z=dbWT$DmQ|>B9f|Y&$lg_w(ven7w{?&H&0N+d}WSH;(G~dqQaDs}$$VOG!cM@v++a znHlNM>hK(`cj19aX?4|UrvzCj2v@ zv)byu#!1aSqxnc37b(=ATYg4URDMQmzf%eTPw-Qh4$wHL?q-hnINAUUafvH`b7nVla-OU>vez8KBNG-1n47n1u~fQqmZdmX*TX>&vwGD-~T|CeK|X^i-pL z6-NZYOKG4k@>LoZjr3Jo3wH7EX~;cH$%#JkMdMp4C0v-Ko*$^xSI>T-IA@N_AnLfO zf>vFWrqogQ{4Tkw#!jM>x@3%OpR{#*4Hi6-cEv8l<)dZS5~_)b(7 z=dfO12zpOkQh!?~Fe~BA_+MPCOug zqIT^p$Z9iuWT%gX#6O6*d>|5D>pAaq_nyqgf3tJ`8ytGKVH!I%w6h?o;Vy!$i^V|4 z;*Uio?hyJ9D|1()3nWMN%p%3LTkwaASwvtkn)J!W=)_vd=wg!+6VYc4Nk$#|o<3RU zUdxd?e$XniMD>oR(x|9aSLHkrhN$I!ic@Azj;s1pplshY9yzd>LZbEBmB>fHdr7%> zkBc){2;;TF5|WZlv8kpM-QWatm7YnlsVVxn0CoI8#aRvQr+BKL^i!ItCH<7GMJ@X) z0fIvyeo>Rf$t}*9jC51MsIKpzbr9}muCJ)i@VyT@X{_!TpfnPEt>hYaz%yeZ0l6B7 z=UJkT4tiKAC4!H-V4&hj?SoTdb!Z$`^HO&XRNUxF{6Z+pSW?lDTdIfsM3;J&Xp)L2 zVwCx}Hmp`B57jn|w3vMy@@T=P|D}Vb{|G|<))BW1(_3V%>z+X^!QuwB7vz&LMpz=f0b?~vUM)VTG*NZm;*644Vb=f$ zskcfb5m5)V>QBwQm*b@Rz7%X!T?4I+U#s3@$6_puHt7@7(aH>?Mxj}y)VgG}F%I1l zwg0zcT0IcWph8%w2KtF^Vw}!dy?aM=76U=29zLRR$()j9qn=3+shS~+^)x!?%<(zS z%|2+qZJ1uKi%7w1ghU%t(bxiYA%=+)C+gn$l$yOn{zy$7s5q*ZK3A3s_C*O{ii;qG zs*H*;{c@>qaOI9RBHCF=$F-AwcaEp|}YF>WB!Xv4bCU#Gh9G zFv9?KafH(Gof+Z`+i{fWqu!b%*r~j`Xd~JgjB1xKrD@UK2xSEBkU(PzQFqwL4b+=K rf=y9uv~u64o;#YV#p+PLYE2%7#MDKKLyMvZ`;~E0(I2Hskmi2?gz3Ry delta 26770 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

M0w116D+X{B5^5QJ$qz{PNP5Oeam z-2E&-xysdHn0$V57;o}3+HM7ZakF+<(1Dyc{iy=e?auLLqC4gdJMm^s(RJI=o;Sll zhVDidC%v&nHl}l0h&A4OkkfZ>Kqr37*=6)8p9`FS{=acgmT5ySbmYya=YyEy#9MU4 zh^CdqTZ~8lf67DNa)p4gn?HH$LD=MWKD>=J>hk4Xxm9gF$eDY&eKHF1*TLMmH432= z$el0xf#ltm8+yD0U3wZf_|^k#h~piTD?u_}!Cl{FAkA07-EvFN|KG3Yoef?fHMQfN z<4`!7>3HX}twHEVx%)9cwlX#NpA44_I&n z#2_8_>3|n_7)+>ke8vYKm*gS+8=;%0KEy7SI&Iu-bEPnvOqL00@bXV zPkoKT@$xaB=8=Hp@JAjiqaxaOn#Z=ol@HpU<}-fBg2kWbiJ2QfI_krdPo#jbsxO~q z@hj*mX7H4c53OPxUAvI-wBWZG$Z+H7(tJ=n z^Ld7GcQ#Ti$$ZVqS`dBu^R*86=JKYieB&@zj0cAE&6dXj=4A7&NjR>n{P?zc`S@ai z$hTj>(V#QuJMQ302ZMU?ol|Ck($tJ+zYD;mlm0wsaUcj$R=kl1?8|e@x?qiu^B;bS z0kQZGp6`+l!pRbD%zuM7YW@q~U*?75xSk)l)d%E2Nr00Xb=I2sTMixKk z=QiRJj^)|>eAFXQ2N?MI=uK#j*BbeSegfz`7xD{JQP|ce@=~h|5MMktp;9>ezj(b7 zPkEY94cW;{{T6}nx-GwKUIx;1Z+nH`5Zc-+$-tuj|o;YQjIH zWPp@$lz-S2h|cH}6Uv1L_{RwzXxIP1|Cxrub%^m#L-vC>s5P&jj7IFiol&4p;D=Ku zezer)#o$^Tc{AH+R@FMg;kk2?n=W!&vea#fuE1@H5HLhLa8;1Bb2UOsZA+QZR+p&R z;mb@*OUs0U(lW98!Gh5Xr3t*iZLPFc)Lb@7PnL#j5`N@@a7|gfrJ!S1wX3dRt%tge z7g!EfuM=%afI9N?m!swrsM>3J0cyFYH4KDAh=*u!fdLQ(5ikuBAkMTEiEFt4DEMIm z6XT;@282aSONa}Lh}5nJt8HuuUK#*j!*IOR_uo?$)2Y6uQw;y_6yhHl79TNXu5WBa zQo`pu|KHOKjDc!Tos&2I1WSymP?1?5rKQf(S!z3Sg{C&v zJ~4@r@%k`*LSlSW%w&CHtUkf?9Q~x&cvDHfXo@$DfGJq7xPOZ(`Xoe{j?xbJ<1R@M zg%3@HNNvqGV%v2YHD;ul&#b7#|K7@UV%w(pvoNuEqa;Z9_cpSrGN$9Y_3Mm#dQ&}& zzz4GfaimLpb*Rbm$3s z%`-%`^NjqwiGmS}f4*3lc<6}xogf7-{Ji)1XczFpzs~=*hnKcEMD;Qis$l2@HKdsq ze@bqtRTj$43ocDnt6g-iTIW2)N*kG?Q?xZ9QtN{I8&$JTszaj$u50ngu{rmTjE;;* zjGU;Ch!0DQOwgL2Qtb@Yp%2g=?Ckn)5gmPI#bM*&-5tB=6XQ{?of8cDuo&ETZ+sx`yK2{dQS}7@rRpHz Fe*n&LSk?dl diff --git a/res/translations/mixxx_fr.ts b/res/translations/mixxx_fr.ts index 43285b58ba9d..c00ac34b264b 100644 --- a/res/translations/mixxx_fr.ts +++ b/res/translations/mixxx_fr.ts @@ -149,7 +149,7 @@ BasePlaylistFeature - + New Playlist Nouvelle liste de lecture @@ -160,7 +160,7 @@ - + Create New Playlist Créer une nouvelle liste de lecture @@ -190,113 +190,120 @@ Dupliquer - - + + Import Playlist Importer une liste de lecture - + Export Track Files Exporter les fichiers des pistes - + Analyze entire Playlist Analyser la liste de lecture entière - + Enter new name for playlist: Entrer le nouveau nom de la liste de lecture : - + Duplicate Playlist Dupliquer la liste de lecture - - + + Enter name for new playlist: Entrer le nom de la nouvelle liste de lecture : - - + + Export Playlist Exporter la liste de lecture - + Add to Auto DJ Queue (replace) Ajouter à la file d'attente Auto-DJ (Remplacer) - + + + Export to Engine DJ + "Engine DJ" is a product name and must not be translated. + Exporter vers Engine DJ + + + Rename Playlist Renommer la liste de lecture - - + + Renaming Playlist Failed Échec pour renomer la liste de lecture - - - + + + A playlist by that name already exists. Une liste de lecture du même nom exise déjà - - - + + + A playlist cannot have a blank name. Une liste de lecture ne peut pas être sans nom. - + _copy //: Appendix to default name when duplicating a playlist _copie - - - - - - + + + + + + Playlist Creation Failed La création de la liste de lecture a échouée - - + + An unknown error occurred while creating playlist: Une erreur inconnue s'est produite à la création de la liste de lecture : - + Confirm Deletion Confirmer la suppression - + Do you really want to delete playlist <b>%1</b>? Voulez-vous vraiment supprimer la liste de lecture <b>%1</b>? - + M3U Playlist (*.m3u) Liste de lecture M3U (*.m3u) - + M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Text CSV (*.csv);;Readable Text (*.txt) Liste de lecture M3U (*.m3u);;Liste de lecture M3U8 (*.m3u8);;Liste de lecture PLS (*.pls);;Texte CSV (*.csv);;Texte (*.txt) @@ -304,12 +311,12 @@ BaseSqlTableModel - + # - + Timestamp Horodatage @@ -317,7 +324,7 @@ BaseTrackPlayerImpl - + Couldn't load track. Impossible de charger la piste. @@ -325,142 +332,142 @@ BaseTrackTableModel - + Album Album - + Album Artist Artiste de l'album - + Artist Artiste - + Bitrate Débit - + BPM BPM - + Channels Canaux - + Color Couleur - + Comment Commentaire - + Composer Compositeur - + Cover Art Pochette d'album - + Date Added Date d'ajout - + Last Played Dernière écoute - + Duration Durée - + Type Type - + Genre Genre - + Grouping Regroupement - + Key Tonalité - + Location Emplacement - + Overview - + Aperçu - + Preview Aperçu - + Rating Notation - + ReplayGain ReplayGain - + Samplerate Taux d'échantillonnage - + Played Joué - + Title Titre - + Track # Piste n° - + Year Année - + Fetching image ... Tooltip text on the cover art column shown when the cover is read from disk Récupération de l'image... @@ -609,6 +616,16 @@ "Computer" lets you navigate, view, and load tracks from folders on your hard disk and external devices. "Ordinateur" vous permet de naviguer, voir et charger les pistes dans les répertoires de votre disque dur et périphériques externes. + + + It shows the data from the file tags, not track data from your Mixxx library like other track views. + + + + + If you load a track file from here, it will be added to your library. + + BrowseTableModel @@ -3633,32 +3650,32 @@ trace : ci-dessus + messages de profilage ControllerScriptEngineBase - + The functionality provided by this controller mapping will be disabled until the issue has been resolved. La fonctionnalité fournie par ce mappage de contrôleur sera désactivée jusqu'à ce que le problème soit résolu. - + You can ignore this error for this session but you may experience erratic behavior. Vous pouvez ignorer cette erreur pour la durée de la session mais il se peut que vous observiez un comportement erratique. - + Try to recover by resetting your controller. Tenter de récupérer en redémarrant votre contrôleur. - + Controller Mapping Error Erreur du mappage contrôleur - + The mapping for your controller "%1" is not working properly. Le mappage pour votre contrôleur "%1" ne fonctionne pas correctement. - + The script code needs to be fixed. Le code du script doit être corrigé. @@ -3766,7 +3783,7 @@ trace : ci-dessus + messages de profilage Importer un bac - + Export Crate Exporter un bac @@ -3776,7 +3793,7 @@ trace : ci-dessus + messages de profilage Déverrouiller - + An unknown error occurred while creating crate: Une erreur inconnue s'est produite lors de la création du bac : @@ -3802,17 +3819,17 @@ trace : ci-dessus + messages de profilage Le renommage du bac a échoué - + Crate Creation Failed Échec de création d'un bac - + M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Text CSV (*.csv);;Readable Text (*.txt) Liste de lecture M3U (*.m3u);;Liste de lecture M3U8 (*.m3u8);;Liste de lecture PLS (*.pls);;Texte CSV (*.csv);;Texte (*.txt) - + M3U Playlist (*.m3u) Liste de lecture M3U (*.m3u) @@ -3938,12 +3955,12 @@ trace : ci-dessus + messages de profilage Anciens contributeurs - + Official Website Site Internet officiel - + Donate Donation @@ -3999,7 +4016,7 @@ trace : ci-dessus + messages de profilage - + Analyze Analyser @@ -4044,17 +4061,17 @@ trace : ci-dessus + messages de profilage Lance les détections de grille rythmique, tonalité et ReplayGain sur les pistes sélectionnées. Ne génère pas leur formes d'ondes pour économiser l'espace disque. - + Stop Analysis Arrêter l'analyse - + Analyzing %1% %2/%3 Analyse %1% %2/%3% - + Analyzing %1/%2 Analyse %1/%2 @@ -4496,37 +4513,37 @@ Résulte souvent en de meilleures grilles rythmiques, mais ne marchera pas bien Si l'assignation ne fonctionne pas, essayez d'activer une option avancée ci-dessous et testez le contrôle à nouveau. Ou cliquez sur Réessayer pour recommencer la détection du contrôle MIDI. - + Didn't get any midi messages. Please try again. Aucun message MIDI reçu. Veuillez réessayer. - + Unable to detect a mapping -- please try again. Be sure to only touch one control at once. Impossible de détecter une association de contrôle -- veuillez réessayer. Assurez-vous de ne toucher qu'un contrôle à la fois. - + Successfully mapped control: Contrôle assigné avec succès : - + <i>Ready to learn %1</i> <i>Prêt pour apprendre %1</i> - + Learning: %1. Now move a control on your controller. Apprentissage de : %1. Maintenant bouger un contrôle de votre contrôleur. - + The selected control does not exist.<br>This likely a bug. Please report it on the Mixxx bug tracker.<br><a href='https://github.com/mixxxdj/mixxx/issues'>https://github.com/mixxxdj/mixxx/issues</a><br><br>You tried to learn: %1,%2 Le contrôle sélectionné n'existe pas.<br>Il s'agit probablement d'un bug. Veuillez le signaler sur le bug tracker de Mixxx. <br><a href='https://github.com/mixxxdj/mixxx/issues'>https://github.com/mixxxdj/mixxx/issues</a><br><br>Vous avez essayé d'apprendre : %1,%2 - + The control you clicked in Mixxx is not learnable. This could be because you are either using an old skin and this control is no longer supported, or you clicked a control that provides visual feedback and can only be mapped to outputs like LEDs via scripts. @@ -5233,114 +5250,114 @@ associé à chaque tonalité. DlgPrefController - + Apply device settings? Appliquer les paramètres du périphérique ? - + Your settings must be applied before starting the learning wizard. Apply settings and continue? Vos paramètres doivent être appliqués avant de démarrer l'assistant d'apprentissage. Appliquer les paramètres et continuer ? - + None Aucune - + %1 by %2 %1 par %2 - + Mapping has been edited Le mappage à été modifié - + Always overwrite during this session Toujours écraser durant cette session - + Save As Enregistrer sous - + Overwrite Écraser - + Save user mapping Enregistrer le mappage utilisateur - + Enter the name for saving the mapping to the user folder. Entrer le nom pour enregistrer le mappage dans le dossier de l'utilisateur - + Saving mapping failed L'enregistrement du mappage à échoué - + A mapping cannot have a blank name and may not contain special characters. Un mappage ne peut pas avoir un nom vide et ne peut pas contenir des caractères spéciaux. - + A mapping file with that name already exists. Un fichier de mappage utilise déjà ce nom. - + Do you want to save the changes? Voulez-vous enregistrer les modifications ? - + Troubleshooting Dépannage - + <font color='#BB0000'><b>If you use this mapping your controller may not work correctly. Please select another mapping or disable the controller.</b></font><br><br>This mapping was designed for a newer Mixxx Controller Engine and cannot be used on your current Mixxx installation.<br>Your Mixxx installation has Controller Engine version %1. This mapping requires a Controller Engine version >= %2.<br><br>For more information visit the wiki page on <a href='https://mixxx.org/wiki/doku.php/controller_engine_versions'>Controller Engine Versions</a>. <font color='#BB0000'><b>Si vous utilisez ce mappage, votre contrôleur risque de ne pas fonctionner correctement. Veuillez sélectionner un autre mappage ou désactiver le contrôleur.</b></font><br><br>Ce mappage a été conçu pour un moteur de contrôleur Mixxx plus récent et ne peut pas être utilisé sur votre installation de Mixxx actuelle.<br>Votre installation de Mixxx a la version Controller Engine %1. Ce mappage nécessite une version de Controller Engine >= %2.<br><br>Pour plus d'informations, visitez la page wiki sur<a href='https://mixxx.org/wiki/doku.php/controller_engine_versions'>Versions de Controller Engine</a>. - + Mapping already exists. Le mappage existe déjà. - + <b>%1</b> already exists in user mapping folder.<br>Overwrite or save with a new name? <b>%1</b> existe déjà dans le dossier des mappages de l'utilisateur.<br>Écraser ou utiliser un autre nom ? - + Clear Input Mappings Effacer les associations de contrôles d'entrées - + Are you sure you want to clear all input mappings? Voulez-vous vraiment effacer toutes les associations de contrôles d'entrées ? - + Clear Output Mappings Effacer les associations de contrôles de sorties - + Are you sure you want to clear all output mappings? Voulez-vous vraiment effacer toutes les associations de contrôles de sortie ? @@ -5671,6 +5688,16 @@ Appliquer les paramètres et continuer ? Multi-Sampling Multi-échantillonnage + + + Force 3D acceleration + + + + + If checked, Mixxx will always assume 3D acceleration is available. This may lead to pour performance if only CP-backed rendering is available.. + + Start in full-screen mode @@ -5707,7 +5734,7 @@ Appliquer les paramètres et continuer ? Mixxx mode (no blinking) - mode Mixxx (sans clignottement) + mode Mixxx (sans clignotement) @@ -6285,62 +6312,62 @@ Vous pouvez toujours glisser-déposer des pistes sur l'écran pour cloner u DlgPrefInterface - + The minimum size of the selected skin is bigger than your screen resolution. La taille minimale du thème sélectionné est plus grande que la résolution de votre écran. - + Allow screensaver to run Autoriser l'économiseur d'écran - + Prevent screensaver from running Interdire l'économiseur d'écran - + Prevent screensaver while playing Interdire l'économiseur d'écran pendant la lecture - + Disabled Désactivé - + 2x MSAA 2x MSAA - + 4x MSAA 4x MSAA - + 8x MSAA 8x MSAA - + 16x MSAA 16x MSAA - + This skin does not support color schemes Ce thème n'accepte pas les modèles de couleurs - + Information Information - + Mixxx must be restarted before the new locale, scaling or multi-sampling settings will take effect. Mixxx doit être redémarré avant que les nouveaux paramètres régionaux, de mise à l'échelle ou de multi-échantillonnage ne prennent effet. @@ -7510,173 +7537,172 @@ L'intensité sonore visée est approximatif et suppose que les gains d&apos DlgPrefSound - + %1 Hz %1 Hz - + Default (long delay) Par défaut (délai long) - + Experimental (no delay) Expérimental (sans délai) - + Disabled (short delay) Désactivé (délai court) - + Soundcard Clock Horloge carte son - + Network Clock Horloge réseau - + Direct monitor (recording and broadcasting only) Moniteur direct (seulement enregistrement et diffusion) - + Disabled Désactivé - + Enabled Activé - + Stereo Stéréo - + Mono Mono - + To enable Realtime scheduling (currently disabled), see the %1. Pour activer la planification en temps réel (actuellement désactivée), consulter le %1. - + The %1 lists sound cards and controllers you may want to consider for using Mixxx. Le %1 répertorie les cartes son et les contrôleurs que vous pouvez envisager d'utiliser avec Mixxx. - + Mixxx DJ Hardware Guide Guide Mixxx du matériel DJ - + Information Information - + Mixxx must be restarted before the multi-threaded RubberBand setting change will take effect. Mixxx doit être redémarré avant que la modification du paramètre multi-thread RubberBand ne prenne effet. - + auto (<= 1024 frames/period) auto (<= 1024 images/période) - + 2048 frames/period 2048 images/période - + 4096 frames/period 4096 images/période - + Are you sure? Est-vous sûr ? - + Distribute stereo channels into mono channels for parallel processing will result in a loss of mono compatibility and a diffuse stereo image. It is not recommended during broadcasting or recording. La distribution des canaux stéréo en canaux mono pour un traitement parallèle entrainera une perte de compatibilité mono et une image stéréo diffuse. Il n'est pas recommandé pendant la diffusion ou l'enregistrement. - + Are you sure you wish to proceed? Êtes-vous sûr de vouloir continuer ? - + No Non - + Yes, I know what I am doing Oui, je sais ce que je fais - + Microphone inputs are out of time in the record & broadcast signal compared to what you hear. Les entrées microphone sont à contretemps dans l'enregistrement et le signal diffusé, comparées à ce que vous entendez. - + Measure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. Mesurer la latence du trajet aller-retour et entrez-la ci-dessus pour la compensation de latence du microphone afin d'aligner la synchronisation du microphone. - - + Refer to the Mixxx User Manual for details. Se référer au manuel utilisateur de Mixxx pour les détails. - + Configured latency has changed. La latence configurée à changé. - + Remeasure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. Réinitialisez la latence du trajet aller-retour et entrez-la ci-dessus pour la compensation de latence du microphone afin d'aligner la synchronisation du microphone. - + Realtime scheduling is enabled. La planification en temps réel est activé. - + Main output only Sortie principale seulement - + Main and booth outputs Sorties principale et cabine - + %1 ms %1 ms - + Configuration error Erreur de configuration @@ -7694,131 +7720,131 @@ L'intensité sonore visée est approximatif et suppose que les gains d&apos API sonore - + Sample Rate Taux d'échantillonnage - + Audio Buffer Tampon audio - + Engine Clock Moteur de l'horloge - + Use soundcard clock for live audience setups and lowest latency.<br>Use network clock for broadcasting without a live audience. Utiliser l'horloge de la carte son pour les réglages d'un publique en direct et la plus faible latence.<br>Utiliser l'horloge réseau pour la diffusion sans un publique en direct. - + Main Mix Mix principal - + Main Output Mode Mode Sortie principale - + Microphone Monitor Mode Mode moniteur microphone - + Microphone Latency Compensation Compensation latence du microphone - - - - + + + + ms milliseconds ms - + 20 ms 20 ms - + Buffer Underflow Count Compteur de sous-alimentation du tampon - + 0 0 - + Keylock/Pitch-Bending Engine Moteur de Verrouillage de tonalité/Distorsion de hauteur tonale - + Multi-Soundcard Synchronization Synchronisation de plusieurs cartes-son - + Output Sortie - + Input Entrée - + System Reported Latency Latence indiquée par le système - + Enlarge your audio buffer if the underflow counter is increasing or you hear pops during playback. Augmentez le tampon audio si le compteur de sous-alimentation augmente ou si des pops se font entendre pendant la lecture. - + Main Output Delay Délai de la sortie principale - + Headphone Output Delay Délai de la sortie casque - + Booth Output Delay Délai de la sortie cabine - + Dual-threaded Stereo Stéréo à double thread - + Hints and Diagnostics Astuces et Diagnostics - + Downsize your audio buffer to improve Mixxx's responsiveness. Diminuez le tampon audio pour améliorer la réactivité de Mixxx. - + Query Devices Interroger périphériques @@ -9378,27 +9404,27 @@ Résulte souvent en de meilleures grilles rythmiques, mais ne marchera pas bien EngineBuffer - + Soundtouch (faster) Soundtouch (plus rapide) - + Rubberband (better) Rubberband (mieux) - + Rubberband R3 (near-hi-fi quality) Rubberband R3 (qualité quasi-hi-fi) - + Unknown, using Rubberband (better) Inconnu, utilisation de Rubberband (meilleure) - + Unknown, using Soundtouch Inconnu, utilisant Soundtouch @@ -9613,15 +9639,15 @@ Résulte souvent en de meilleures grilles rythmiques, mais ne marchera pas bien LegacySkinParser - - + + Safe Mode Enabled Shown when Mixxx is running in safe mode. Mode sécurisé activé - - + + No OpenGL support. Shown when Spinny can not be displayed. Please keep @@ -9633,57 +9659,57 @@ Shown when VuMeter can not be displayed. Please keep d'OpenGL. - + activate activer - + toggle activer/désactiver - + right droite - + left gauche - + right small droit, petit - + left small gauche, petit - + up haut - + down bas - + up small haut, petit - + down small bas, petit - + Shortcut Raccourci @@ -9691,37 +9717,37 @@ d'OpenGL. Library - + This or a parent directory is already in your library. Ce répertoire ou un répertoire parent est déjà dans votre bibliothèque. - + This or a listed directory does not exist or is inaccessible. Aborting the operation to avoid library inconsistencies Ce répertoire ou un répertoire listé n'existe pas ou est inaccessible. Abandonner l'opération pour éviter les incohérences de la bibliothèque - - + + This directory can not be read. Ce répertoire ne peut pas être lu. - + An unknown error occurred. Aborting the operation to avoid library inconsistencies Une erreur inconnue est survenue. Abandonner l'opération pour éviter les incohérences de la bibliothèque - + Can't add Directory to Library Impossible d'ajouter un répertoire à la bibliothèque - + Could not add <b>%1</b> to your library. %2 @@ -9730,27 +9756,27 @@ Abandonner l'opération pour éviter les incohérences de la bibliothèque< %2 - + Can't remove Directory from Library Impossible de retirer un répertoire à la bibliothèque - + An unknown error occurred. Une erreur inconnue est survenue. - + This directory does not exist or is inaccessible. Ce répertoire n'existe pas ou est inaccessible. - + Relink Directory Reconnecter le répertoire - + Could not relink <b>%1</b> to <b>%2</b>. %3 @@ -9762,22 +9788,22 @@ Abandonner l'opération pour éviter les incohérences de la bibliothèque< LibraryFeature - + Import Playlist Importer une liste de lecture - + Playlist Files (*.m3u *.m3u8 *.pls *.csv) Fichiers de liste de lecture (*.m3u *.m3u8 *.pls *.csv) - + Overwrite File? Remplacer le fichier ? - + A playlist file with the name "%1" already exists. The default "m3u" extension was added because none was specified. @@ -9931,253 +9957,253 @@ Voulez-vous vraiment l'écraser ? MixxxMainWindow - + Sound Device Busy Carte son occupée - + <b>Retry</b> after closing the other application or reconnecting a sound device <b>Réessayer</b> après avoir fermé l'autre application ou avoir reconnecté le périphérique de son - - - + + + <b>Reconfigure</b> Mixxx's sound device settings. <b>Reconfigurer</b> les options audio de Mixxx. - - + + Get <b>Help</b> from the Mixxx Wiki. Trouver <b>de l'aide</b> sur le Wiki Mixxx. - - - + + + <b>Exit</b> Mixxx. <b>Quitter</b> Mixxx. - + Retry Réessayer - + skin thème - + Allow Mixxx to hide the menu bar? Autoriser Mixxx à masquer la barre de menu ? - + Hide Always show the menu bar? Masquer - + Always show Toujours montrer - + The Mixxx menu bar is hidden and can be toggled with a single press of the <b>Alt</b> key.<br><br>Click <b>%1</b> to agree.<br><br>Click <b>%2</b> to disable that, for example if you don't use Mixxx with a keyboard.<br><br>You can change this setting any time in Preferences -> Interface.<br> Keep formatting tags <b> (bold text) and <br> (linebreak). %1 is the placeholder for the 'Always show' button label La barre de menu Mixxx est masquée et peut être basculée d'une simple pression sur le bouton <b>Alt</b>.<br><br>Clic <b>%1</b> pour accepter.<br><br>Clic <b>%2</b> pour désactiver, par exemple si vous n'utilisez pas Mixxx avec un clavier.<br><br>Vous pouvez modifier ce paramètre à tout moment dans Préférences --> Interface.<br> - + Ask me again Demandez-le moi encore - - + + Reconfigure Reconfigurer - + Help Aide - - + + Exit Quitter - - + + Mixxx was unable to open all the configured sound devices. Mixxx n'est pas parvenu à ouvrir tous les périphériques de son configurés. - + Sound Device Error Erreur de périphérique de son - + <b>Retry</b> after fixing an issue <b>Réessayer</b> après avoir solutionné un problème - + No Output Devices Aucun périphérique de sortie - + Mixxx was configured without any output sound devices. Audio processing will be disabled without a configured output device. Mixxx a été configuré sans aucun périphérique de sortie audio. Sans périphérique de sortie configuré, le traitement du son sera désactivé . - + <b>Continue</b> without any outputs. <b>Continuer</b> sans aucune sortie. - + Continue Continuer - + Load track to Deck %1 Charger la piste sur la platine %1 - + Deck %1 is currently playing a track. La platine %1 est en cours de lecture d'une piste. - + Are you sure you want to load a new track? Êtes-vous certain de vouloir charger une nouvelle piste ? - + There is no input device selected for this vinyl control. Please select an input device in the sound hardware preferences first. Aucun périphérique d'entrée n'est sélectionné pour ce contrôle vinyle. Veuillez d'abord en sélectionner un dans les Préférences du matériel sonore. - + There is no input device selected for this passthrough control. Please select an input device in the sound hardware preferences first. Il n'y a aucun périphérique d'entrée sélectionné pour ce contrôle intermédiaire. Veuillez d'abord en sélectionner un dans les Préférences du matériel sonore. - + There is no input device selected for this microphone. Do you want to select an input device? Aucun périphérique d'entrée n'est sélectionné pour ce microphone. Voulez-vous sélectionner un périphérique d'entrée ? - + There is no input device selected for this auxiliary. Do you want to select an input device? Aucun périphérique d'entrée n'est sélectionné pour cet auxiliaire. Voulez-vous sélectionner un périphérique d'entrée ? - + Scan took %1 - + Le scan a pris %1 - + No changes detected. - + Aucun changement détecté. - - + + %1 tracks in total - + %1 pistes au total - + %1 new tracks found - + %1 nouvelles pistes trouvées - + %1 moved tracks detected - + %1 pistes déplacées détectées - + %1 tracks are missing (%2 total) - + %1 titres sont manquants (%2 au total) - + %1 tracks have been rediscovered - + %1 pistes ont été redécouvertes - + Library scan finished - + Analyse de la bibliothèque terminée - + Error in skin file Erreur dans le fichier du thème - + The selected skin cannot be loaded. Le thème sélectionné ne peut pas être chargé. - + OpenGL Direct Rendering Rendu Direct OpenGL - + Direct rendering is not enabled on your machine.<br><br>This means that the waveform displays will be very<br><b>slow and may tax your CPU heavily</b>. Either update your<br>configuration to enable direct rendering, or disable<br>the waveform displays in the Mixxx preferences by selecting<br>"Empty" as the waveform display in the 'Interface' section. Le rendu direct n'est pas activé sur votre machine.<br><br> Cela signifie que l'affichage de la forme d'onde sera très<br><b>lent et risque de surcharger votre processeur</b>. Mettez à jour votre<br>configuration pour activer le rendu direct ou désactivez<br>les affichages de forme d'onde dans les préférences de Mixxx en sélectionnant<br>"Vide" comme affichage de forme d'onde dans la section "Interface". - - - + + + Confirm Exit Confirmer la fermeture - + A deck is currently playing. Exit Mixxx? Une platine est en cours de lecture. Quitter Mixxx ? - + A sampler is currently playing. Exit Mixxx? Un échantillonneur est en cours de lecture. Quitter Mixxx ? - + The preferences window is still open. La fenêtre de Préférences est déjà ouverte. - + Discard any changes and exit Mixxx? Abandonner toutes les modifications et quitter Mixxx ? @@ -10193,13 +10219,13 @@ Voulez-vous sélectionner un périphérique d'entrée ? PlaylistFeature - + Lock Verrouiller - - + + Playlists Listes de lecture @@ -10209,32 +10235,58 @@ Voulez-vous sélectionner un périphérique d'entrée ? Mélanger la liste de lecture - + + Unlock all playlists + + + + + Delete all unlocked playlists + + + + Unlock Déverrouiller - + + + Confirm Deletion + + + + + Do you really want to delete all unlocked playlists? + + + + + Deleting %1 unlocked playlists.<br>This operation can not be undone! + + + + Playlists are ordered lists of tracks that allow you to plan your DJ sets. Les listes de lectures sont des listes ordonnées de pistes qui vous permettent de planifier vos sessions de mixage. - + It may be necessary to skip some tracks in your prepared playlist or add some different tracks in order to maintain the energy of your audience. Il peut être nécessaire de sauter quelques pistes de la liste de lecture que vous avez préparée ou d'ajouter des pistes différentes afin d'entretenir la ferveur de votre public. - + Some DJs construct playlists before they perform live, but others prefer to build them on-the-fly. Certains DJ préparent des listes de lecture avant leurs performances publiques quand d'autres préfèrent les constituer à la volée. - + When using a playlist during a live DJ set, remember to always pay close attention to how your audience reacts to the music you've chosen to play. Lorsque vous utilisez des listes de lecture pendant des sessions de mixage, souvenez-vous de porter une attention toute particulière à la façon dont votre public réagit à la musique que vous avez choisie de jouer. - + Create New Playlist Créer une nouvelle liste de lecture @@ -11894,7 +11946,7 @@ Astuce : compense les voix de "canard" ou "grondante"La quantité d'amplification appliquée au signal audio. À des niveaux plus élevés, l'audio sera plus déformé. - + Passthrough Passerelle @@ -12065,12 +12117,12 @@ du signal d'entrée, des temps de relâchement courts peuvent introduire un divers - + built-in intégré - + missing manquant @@ -12198,54 +12250,54 @@ du signal d'entrée, des temps de relâchement courts peuvent introduire un RekordboxFeature - - - + + + Rekordbox Rekordbox - + Playlists Listes de lecture - + Folders Répertoires - + Reads databases exported for Pioneer CDJ / XDJ players using the Rekordbox Export mode.<br/>Rekordbox can only export to USB or SD devices with a FAT or HFS file system.<br/>Mixxx can read a database from any device that contains the database folders (<tt>PIONEER</tt> and <tt>Contents</tt>).<br/>Not supported are Rekordbox databases that have been moved to an external device via<br/><i>Preferences > Advanced > Database management</i>.<br/><br/>The following data is read: Lit les bases de données exportées pour les lecteurs Pioneer CDJ / XDJ en utilisant le mode d'exportation Rekordbox.<br/>Rekordbox peut uniquement exporter vers des périphériques USB ou SD avec un système de fichiers FAT ou HFS.<br/>Mixxx peut lire une base de données à partir de n'importe quel périphérique contenant des dossiers de base de données (<tt>PIONEER</tt> et <tt>contenu</tt>).<br/>Ne sont pas prises en charge les bases de données Rekordbox qui ont été déplacées vers un périphérique externe via<br/><i>Préférences> Avancé> Gestion de la base de données</i>.<br/><br/>Les données suivantes sont lues : - + Hot cues Repères rapides - + Loops (only the first loop is currently usable in Mixxx) Boucles (actuellement, seule la première boucle est disponible dans Mixxx) - + Check for attached Rekordbox USB / SD devices (refresh) Vérifie les périphériques USB/SD Rekordbox connectés (actualise) - + Beatgrids Grilles rythmiques - + Memory cues Repères mémoire - + (loading) Rekordbox (chargement) Rekordbox @@ -15490,47 +15542,47 @@ Cette opération est irréversible ! WCueMenuPopup - + Cue number Numéro de repère - + Cue position Position du repère - + Edit cue label Modifie l'étiquette du repère - + Label... Etiquette... - + Delete this cue Supprimer ce repère - + Toggle this cue type between normal cue and saved loop Activer/désactiver ce type de repère entre le repère normal et la boucle enregistrée - + Left-click: Use the old size or the current beatloop size as the loop size Clic-gauche : utiliser l'ancienne taille ou la taille actuelle de boucle de battement comme taille de boucle - + Right-click: Use the current play position as loop end if it is after the cue Clic-droit : utiliser la position de lecture actuelle comme sortie de boucle si elle se situe après le repère - + Hotcue #%1 Repère rapide #%1 @@ -15655,323 +15707,353 @@ Cette opération est irréversible ! + Search in Current View... + Rechercher dans la vue actuelle... + + + + Search for tracks in the current library view + Rechercher des pistes dans la vue actuelle de la bibliothèque + + + + Ctrl+f + Ctrl+f + + + + Search in Tracks Library... + Recherche dans la bibliothèque des pistes... + + + + Search in the internal track collection under "Tracks" in the library + Rechercher dans la collection de pistes interne comme "Pistes" dans la bibliothèque + + + + Ctrl+Shift+F + Ctrl+Shift+F + + + Create &New Playlist Créer une &nouvelle liste de lecture - + Create a new playlist Créer une nouvelle liste de lecture - + Ctrl+n Ctrl+n - + Create New &Crate &Créer un nouveau bac - + Create a new crate Créer un nouveau bac - + Ctrl+Shift+N Ctrl+Shift+N - - + + &View &Affichage - + Auto-hide menu bar Masquer automatiquement la barre de menu - + Auto-hide the main menu bar when it's not used. Masquer automatiquement la barre de menu principale lorsqu'elle n'est pas utilisée. - + May not be supported on all skins. Peut-être pas supporté sur tous les thèmes - + Show Skin Settings Menu Afficher le menu de réglage du thème - + Show the Skin Settings Menu of the currently selected Skin Afficher le menu paramètres de Thème du thème actuellement sélectionnée - + Ctrl+1 Menubar|View|Show Skin Settings Ctrl+1 - + Show Microphone Section Afficher la section microphone - + Show the microphone section of the Mixxx interface. Afficher la section microphone de l'interface Mixxx. - + Ctrl+2 Menubar|View|Show Microphone Section Ctrl+2 - + Show Vinyl Control Section Afficher la section de contrôle des vinyles - + Show the vinyl control section of the Mixxx interface. Afficher la section de contrôle des vinyles de l'interface Mixxx. - + Ctrl+3 Menubar|View|Show Vinyl Control Section Ctrl+3 - + Show Preview Deck Afficher la platine de pré-écoute - + Show the preview deck in the Mixxx interface. Afficher la platine de pré-écoute dans l'interface de Mixxx. - + Ctrl+4 Menubar|View|Show Preview Deck Ctrl+4 - + Show Cover Art Afficher la pochette d'album - + Show cover art in the Mixxx interface. Afficher la pochette d'album dans l'interface Mixxx. - + Ctrl+6 Menubar|View|Show Cover Art Ctrl+6 - + Maximize Library Maximiser la bibliothèque - + Maximize the track library to take up all the available screen space. Maximise la bibliothèque de pistes pour occuper tout l'espace d'écran disponible - + Space Menubar|View|Maximize Library Espace - + &Full Screen Plein &écran - + Display Mixxx using the full screen Afficher Mixxx en plein écran - + &Options &Options - + &Vinyl Control Contrôle &Vinyle - + Use timecoded vinyls on external turntables to control Mixxx Utiliser des disques vinyles avec timecode sur un tourne-disque externe pour contrôler Mixxx - + Enable Vinyl Control &%1 Activer le Contrôle Vinyle &%1 - + &Record Mix &Enregistrer le Mix - + Record your mix to a file Enregistrer votre mix dans un fichier - + Ctrl+R Ctrl+R - + Enable Live &Broadcasting Activer la Diffusion en Direct (&Broadcast) - + Stream your mixes to a shoutcast or icecast server Diffuser vos mixages via un serveur shoutcast ou icecast - + Ctrl+L Ctrl+L - + Enable &Keyboard Shortcuts Activer les Raccourcis Clavier (&K) - + Toggles keyboard shortcuts on or off Active/désactive les raccourcis claviers - + Ctrl+` Ctrl+` - + &Preferences &Préférences - + Change Mixxx settings (e.g. playback, MIDI, controls) Modifier les paramètres de Mixxx (par ex. lecture, MIDI, contrôleurs) - + &Developer &Développeur - + &Reload Skin &Recharger le thème - + Reload the skin Recharger le thème - + Ctrl+Shift+R Ctrl+Maj+R - + Developer &Tools Ou&Tils de développement - + Opens the developer tools dialog Ouvre le panneau d'outils de dévelopement - + Ctrl+Shift+T Ctrl+Maj+T - + Stats: &Experiment Bucket Statistiques : Paquet &Expérimental - + Enables experiment mode. Collects stats in the EXPERIMENT tracking bucket. Active le mode expérimental. Collecte des statistiques dans le paquet de suivi EXPERIMENTAL. - + Ctrl+Shift+E Ctrl+Maj+E - + Stats: &Base Bucket Statistiques : Paquet de &Base - + Enables base mode. Collects stats in the BASE tracking bucket. Active le mode basique. Collecte des statistiques dans le paquet de suivi BASIQUE. - + Ctrl+Shift+B Ctrl+Maj+B - + Deb&ugger Enabled Débogueur activé (&U) - + Enables the debugger during skin parsing Active le debogueur pendant l'analyse syntaxique des apparences - + Ctrl+Shift+D Ctrl+Maj+D - + &Help &Aide - + Show Keywheel menu title Afficher la roue de tonalités @@ -15988,74 +16070,74 @@ Cette opération est irréversible ! Exporter la bibliothèque au format Engine DJ - + Show keywheel tooltip text Afficher la roue de tonalités - + F12 Menubar|View|Show Keywheel F12 - + &Community Support Support &communautaire - + Get help with Mixxx Obtenir de l'aide sur Mixxx - + &User Manual &Manuel utilisateur - + Read the Mixxx user manual. Lire le manuel utilisateur de Mixxx - + &Keyboard Shortcuts &Raccourcis clavier - + Speed up your workflow with keyboard shortcuts. Gagnez en rapidité avec les raccourcis clavier. - + &Settings directory Répertoire des paramètres - + Open the Mixxx user settings directory. Ouvrez le répertoire des paramètres utilisateur Mixxx. - + &Translate This Application &Traduire cette application - + Help translate this application into your language. Aidez à traduire cette application dans votre langage. - + &About À &propos - + About the application A propos de l'application @@ -16090,25 +16172,13 @@ Cette opération est irréversible ! WSearchLineEdit - - Clear input - Clear the search bar input field - Efface la saisie - - - - Ctrl+F - Search|Focus - CTRL+F - - - + Search noun Rechercher - + Clear input Efface la saisie @@ -16119,93 +16189,87 @@ Cette opération est irréversible ! Rechercher... - + Clear the search bar input field Effacer le champ de saisie de la barre de recherche - - Enter a string to search for - Entrer un élément à rechercher + + Return + Retour arrière - - Use operators like bpm:115-128, artist:BooFar, -year:1990 - Utilisez des opérateurs tels que bpm: 115-128, artiste: BooFar, -year: 1990 + + Enter a string to search for. + Entrer une chaîne à rechercher. - - For more information see User Manual > Mixxx Library - Pour plus d'informations, voir Manuel de l'utilisateur> Bibliothèque Mixxx + + Use operators like bpm:115-128, artist:BooFar, -year:1990. + Utiliser des opérateurs comme bpm:115-128, artist:BooFar, -year:1990. - Shortcut - Raccourci + See User Manual > Mixxx Library for more information. + Voir le manuel d’utilisation > Bibliothèque Mixxx pour plus d’informations. - - Ctrl+F - CTRL+F + + Focus/Select All (Search in current view) + Give search bar input focus + Focus/Sélectionner tout (Rechercher dans la vue actuelle) - - Focus - Give search bar input focus - Focus + + Focus/Select All (Search in 'Tracks' library view) + Focus/Sélectionner tout (Rechercher dans la vue bibliothèques des 'Pistes') - - - Ctrl+Backspace - Ctrl+Backspace + + Additional Shortcuts When Focused: + Raccourcis supplémentaires lorsque focalisé : - Shortcuts - Raccourcis + Trigger search before search-as-you-type timeout or focus tracks view afterwards + Déclenche la recherche avant l'expiration du délai de recherche au-fur-et-à-mesure-de-la-frappe ou passe ensuite à l'affichage des pistes - Return - Retour arrière + Esc or Ctrl+Return + Echap ou Ctrl+Retour arrière - Trigger search before search-as-you-type timeout orjump to tracks view afterwards - Déclenche la recherche avant l'expiration du délai de recherche au-fur-et-à-mesure-de-la-frappe ou passe ensuite à l'affichage des pistes + Immediately trigger search and focus tracks view + Exit search bar and leave focus + Activer immédiatement la recherche et le focus sur les pistes - + Ctrl+Space Ctrl + Espace - + Toggle search history Shows/hides the search history entries Activer/désactiver l'historique de recherche - + Delete or Backspace Supprimer ou Retour arrière - - Delete query from history - Supprimer la requête de l'historique + + in search history + dans l'historique de recherche - - Esc - Echap - - - - Exit search - Exit search bar and leave focus - Quitte la recherche + + Delete query from history + Supprimer la requête de l'historique @@ -16331,12 +16395,12 @@ Cette opération est irréversible ! Adjust BPM - Ajuster le BPM + BPM ajustement Select Color - Sélectionner la couleur + Couleur sélection @@ -16961,37 +17025,37 @@ Cette opération est irréversible ! WTrackTableView - + Confirm track hide Confirmer le masquage de la piste - + Are you sure you want to hide the selected tracks? Êtes-vous certain de vouloir masquer les pistes sélectionnées ? - + Are you sure you want to remove the selected tracks from AutoDJ queue? Êtes-vous sûr de vouloir supprimer les pistes sélectionnées de la file d'attente AutoDJ ? - + Are you sure you want to remove the selected tracks from this crate? Êtes-vous sûr de vouloir supprimer les pistes sélectionnées de ce bac ? - + Are you sure you want to remove the selected tracks from this playlist? Êtes-vous sûr de vouloir supprimer les pistes sélectionnées de cette liste de lecture ? - + Don't ask again during this session Ne demandez plus pendant cette session - + Confirm track removal Confirmer la suppression de la piste @@ -17012,52 +17076,52 @@ Cette opération est irréversible ! mixxx::CoreServices - + fonts polices - + database base de données - + effects effets - + audio interface interface audio - + decks platines - + library bibliothèque - + Choose music library directory Choisissez le répertoire de la bibliothèque musicale - + controllers contrôleurs - + Cannot open database Ne peux ouvrir la base de données - + Unable to establish a database connection. Mixxx requires QT with SQLite support. Please read the Qt SQL driver documentation for information on how to build it. @@ -17070,68 +17134,78 @@ Cliquez sur OK pour sortir. mixxx::DlgLibraryExport - + Entire music library Bibliothèque musicale entière - - Selected crates - Bacs sélectionnés + + Crates + + + + + Playlists + + + + + Selected crates/playlists + - + Browse Parcourir - + Export directory Exporter le répertoire - + Database version Version de la base de données - + Export Exporter - + Cancel Annuler - + Export Library to Engine DJ "Engine DJ" must not be translated Exporter la bibliothèque vers Engine DJ - + Export Library To Exporter la bibliothèque vers - + No Export Directory Chosen Aucun répertoire d'exportation choisi - + No export directory was chosen. Please choose a directory in order to export the music library. Aucun répertoire d'exportation n'a été choisi. Veuillez choisir un répertoire afin d'exporter la bibliothèque musicale. - + A database already exists in the chosen directory. Exported tracks will be added into this database. Une base de données existe déjà dans le répertoire choisi. Les pistes exportées seront ajoutées à cette base de données. - + A database already exists in the chosen directory, but there was a problem loading it. Export is not guaranteed to succeed in this situation. Une base de données existe déjà dans le répertoire choisi, mais un problème est survenu lors de son chargement. Dans cette situation, l’exportation n’est pas garantie de réussir. @@ -17152,7 +17226,7 @@ Cliquez sur OK pour sortir. mixxx::EnginePrimeExportJob - + Failed to export track %1 - %2: %3 %1 is the artist %2 is the title and %3 is the original error message @@ -17163,22 +17237,22 @@ Cliquez sur OK pour sortir. mixxx::LibraryExporter - + Export Completed Exportation terminée - - Exported %1 track(s) and %2 crate(s). - %1 piste(s) et %2 bac(s) ont été exportées. + + Exported %1 track(s), %2 crate(s), and %3 playlist(s). + - + Export Failed Échec de l'exportation - + Exporting to Engine DJ... Exportation en cours vers Engine DJ... diff --git a/res/translations/mixxx_gl.qm b/res/translations/mixxx_gl.qm index 7c3d681a02f73d32eefe32c7254ecb12e35eba16..140e8c292439d8adbdcf245855505fc5b77a1b41 100644 GIT binary patch delta 568 zcmXBQTS(Jk9LDkYefm3cTd7m$A)PhXu=&?U*(w+Y5#~sYC?-T|geXRJQ6dB#E?fmQ zEc)%_w*Pbo*M*0OH;`yVgjj)BDTQIXX>^m_nAnX(YrFc~JU8EG zC+NM93v3+pi277!gg%j5)ep~_*iad=qZv`Q{W@q=-J(vc@C)Zx7-F0j)lLMy2$Mz+ z#6Af7jx-P%rkdh3B5!G{coZHpxl5XLAw>!}QVf$(Y3!OeYcDO9*bu%?lCF^s>!vXI zoiaKf#(vSQ(gAK1nbLlan3FonZHRfvRo;X6W6G2tE7TV#$8TpdMoHFxhHssuicR>O zv{lgz-$Rls+u(_dp~{^ci7s+g^&t9=GF3?^-^g8UgYS))ufEHZng*;wx>`M~uov z_3QSVj7f*`7T(KiJ(3fFQ{ts*lVf5~Oq*MQ@g-Vo=tS5q?ECI;gkMq0vH*XOT#bJb zUllI7lOs4HmYW>B=c7&& U>->&+obwO=;D)*1^Wdfb0N}I8R{#J2 delta 677 zcmZ9IPe{{o7{tsgg2RhFD>Eh-t-2twzD71hGs|3L+$W zxBdLLO}9A@l^WkjDi6UzvIZTBD2N5oCGb)WyH(SmgD<>%E)O4go?j1gQVThEO8Mc3 zx)omKJHptZDC7Fu|JY?^?68rsx2jEI(n2!qmbVcDjgkc>h5s01$5$Dqo5+cI1oMP0 zW1hqRk`l5`c%wp}Y31xO0 zuubTzaykD@mg*R0mgrM;5W&6V(U)VqR!r&FIc99aTeAk4lYp`WB`NMa6@YUse+h_v_` z^}}xSO}CjZxy|@-x3rn{GZ%9*1G8nb^vO5Ax!>h9*rcI2v~^0hC8F#&cgE%D^Vlvs o2HacYDmiOmZsz#!%4l&rHbs&njsfXL7OJI@IMhoY;;1P63toNSuK)l5 diff --git a/res/translations/mixxx_gl.ts b/res/translations/mixxx_gl.ts index 26c7c60391a9..c7969a61a090 100644 --- a/res/translations/mixxx_gl.ts +++ b/res/translations/mixxx_gl.ts @@ -39,32 +39,32 @@ - + Remove Crate as Track Source Retirar caixa como orixe da pista - + Auto DJ DJ automático - + Confirmation Clear - + Do you really want to remove all tracks from the Auto DJ queue? - + This can not be undone. - + Add Crate as Track Source Engadir caixa como orixe da pista @@ -149,7 +149,7 @@ BasePlaylistFeature - + New Playlist Nova lista de reprodución @@ -160,7 +160,7 @@ - + Create New Playlist Crear unha nova lista de reprodución @@ -190,113 +190,120 @@ Duplicar - - + + Import Playlist Importar unha lista de reprodución - + Export Track Files Exportar pistas a ficheiros - + Analyze entire Playlist Analizar toda a lista d reprodución - + Enter new name for playlist: Escriba o novo nome para a lista de reprodución - + Duplicate Playlist Duplicar a lista de reprodución - - + + Enter name for new playlist: Escriba o nome para a nova lista de reprodución - - + + Export Playlist Exportar a lista de reprodución - + Add to Auto DJ Queue (replace) Engadir á cola do DJ automático (trocar) - + + + Export to Engine DJ + "Engine DJ" is a product name and must not be translated. + + + + Rename Playlist Cambiar o nome da lista de reprodución - - + + Renaming Playlist Failed Produciuse un erro ao cambiarlle o nome a lista de reprodución - - - + + + A playlist by that name already exists. Xa existe unha lista de reprodución con ese nome. - - - + + + A playlist cannot have a blank name. Unha lista de reprodución non pode ter un nome baleiro. - + _copy //: Appendix to default name when duplicating a playlist _copia - - - - - - + + + + + + Playlist Creation Failed Non foi posíbel crear a lista de reprodución - - + + An unknown error occurred while creating playlist: Produciuse un erro descoñecido mentres se creaba a lista de reprodución: - + Confirm Deletion Confimar o borrado - + Do you really want to delete playlist <b>%1</b>? - + M3U Playlist (*.m3u) Lista de reprodución M3U (*.m3u) - + M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Text CSV (*.csv);;Readable Text (*.txt) Lista de reprodución M3U (*.m3u);;Lista de reprodución M3U8 (*.m3u8);;Lista de reprodución PLS (*.pls);;Texto CSV (*.csv);;Texto lexíbel (*.txt) @@ -304,12 +311,12 @@ BaseSqlTableModel - + # Num. - + Timestamp Marca de tempo @@ -317,7 +324,7 @@ BaseTrackPlayerImpl - + Couldn't load track. Non foi posíbel cargar a pista. @@ -325,137 +332,142 @@ BaseTrackTableModel - + Album Álbum - + Album Artist Interprete do álbum - + Artist Interprete - + Bitrate Taxa de bits - + BPM BPM - + Channels Canles - + Color Cor - + Comment Comentario - + Composer Compositor - + Cover Art Deseño da portada - + Date Added Data de engadido - + Last Played Último reproducido - + Duration Duración - + Type Tipo - + Genre Xénero - + Grouping Agrupación - + Key Clave - + Location Localización - + + Overview + + + + Preview Escoita previa - + Rating Cualificación - + ReplayGain ReplayGain - + Samplerate - + Played Reproducidas - + Title Título - + Track # Pista num. - + Year Ano - + Fetching image ... Tooltip text on the cover art column shown when the cover is read from disk @@ -543,67 +555,77 @@ BrowseFeature - + Add to Quick Links Engadir a ligazóns rápidas - + Remove from Quick Links Retirar de ligazóns rápidas - + Add to Library Engadir a fonoteca - + Refresh directory tree - + Quick Links Ligazóns rápidas - - + + Devices Dispositivos - + Removable Devices Dispositivos extraíbeis - - + + Computer Computador - + Music Directory Added Engadido o directorio de música - + You added one or more music directories. The tracks in these directories won't be available until you rescan your library. Would you like to rescan now? Engadiu un ou máis directorios de música. As pistas destes directorios non estarán dispoñíbeis ata que volva a examinar a fonoteca. Quere examinala agora? - + Scan Examinar - + "Computer" lets you navigate, view, and load tracks from folders on your hard disk and external devices. «Computador» permítelle navegar, ver, e cargar pistas desde cartafoles no disco ríxido e nos dispositivos externos. + + + It shows the data from the file tags, not track data from your Mixxx library like other track views. + + + + + If you load a track file from here, it will be added to your library. + + BrowseTableModel @@ -1046,13 +1068,13 @@ trace - Above + Profiling messages - + Set to full volume Estabelecer o volume no máximo - + Set to zero volume Estabelecer o volume a cero @@ -1077,13 +1099,13 @@ trace - Above + Profiling messages Botón de desprazamento inverso (Censor) - + Headphone listen button Botón de escoita por auriculares - + Mute button Botón de silencio @@ -1094,25 +1116,25 @@ trace - Above + Profiling messages - + Mix orientation (e.g. left, right, center) Orientación da mestura (p-ex. esquerda, dereita, centro) - + Set mix orientation to left Estabelecer a orientación da mestura cara a esquerda - + Set mix orientation to center Estabelecer a orientación da mestura no centro - + Set mix orientation to right Estabelecer a orientación da mestura cara a dereita @@ -1153,22 +1175,22 @@ trace - Above + Profiling messages Botón de toque de BPM - + Toggle quantize mode Conmutador do modo de cuantización - + One-time beat sync (tempo only) Sincronizar só unha vez o golpe (só o tempo) - + One-time beat sync (phase only) Sincronizar só unha vez o golpe (só a fase) - + Toggle keylock mode Conmutador do modo de bloqueo tonal @@ -1178,193 +1200,193 @@ trace - Above + Profiling messages Ecualizadores - + Vinyl Control Control do vinilo - + Toggle vinyl-control cueing mode (OFF/ONE/HOT) Conmutador do modo de punto de referencia do control de vinilo (APAGADO/UNHA/ACTIVO) - + Toggle vinyl-control mode (ABS/REL/CONST) Conmutador do Control do vinilo (ABS/REL/CONST) - + Pass through external audio into the internal mixer Enviar o son externo ao mesturador interno - + Cues Referencias - + Cue button Botón de punto de referencia - + Set cue point Estabelecer o punto de referencia - + Go to cue point Ir o punto de referencia - + Go to cue point and play Ir o punto de referencia e reproducir - + Go to cue point and stop Ir o punto de referencia e deter - + Preview from cue point Escoita previa do punto de referencia - + Cue button (CDJ mode) Botón de punto de referencia (modo CDJ) - + Stutter cue Referencia repetida (tatexo) - + Hotcues Referencias activas - + Set, preview from or jump to hotcue %1 Estabelecer, preescoitar ou ir á referencia activa %1 - + Clear hotcue %1 Limpar a referencia activa %1 - + Set hotcue %1 Estabelecer a referencia activa %1 - + Jump to hotcue %1 Saltar á referencia activa %1 - + Jump to hotcue %1 and stop Saltar á referencia activa %1 e deter - + Jump to hotcue %1 and play Saltar á referencia activa %1 e reproducir - + Preview from hotcue %1 Escoita previa desde a referencia activa %1 - - + + Hotcue %1 Referencia activa %1 - + Looping Repetición en bucle - + Loop In button Botón para o comezo do bucle - + Loop Out button Botón para a fin do bucle - + Loop Exit button Botón de saída do bucle - + 1/2 1/2 - + 1 1 - + 2 2 - + 4 4 - + 8 8 - + 16 16 - + 32 32 - + 64 64 - + Move loop forward by %1 beats Mover o bucle cara diante en %1 golpes - + Move loop backward by %1 beats Mover o bucle cara atrás en %1 golpes - + Create %1-beat loop Crear un bucle de %1 golpes - + Create temporary %1-beat loop roll Crear un bucle temporal constante de %1 golpes @@ -1480,20 +1502,20 @@ trace - Above + Profiling messages - - + + Volume Fader Control de volume - + Full Volume Volume máximo - + Zero Volume Volume cero @@ -1509,7 +1531,7 @@ trace - Above + Profiling messages - + Mute Silenciar @@ -1520,7 +1542,7 @@ trace - Above + Profiling messages - + Headphone Listen Escoita por auriculares @@ -1541,25 +1563,25 @@ trace - Above + Profiling messages - + Orientation Orientación - + Orient Left Orientar cara a esquerda - + Orient Center Orientar ao centro - + Orient Right Orientar cara a dereita @@ -1629,82 +1651,82 @@ trace - Above + Profiling messages Axustar a grella do ritmo cara a dereita - + Adjust Beatgrid Axustar a grella do ritmo - + Align beatgrid to current position Aliñar a grella do ritmo á posición actual - + Adjust Beatgrid - Match Alignment Axustar a grella do ritmo, deixala aliñada - + Adjust beatgrid to match another playing deck. Axustar a grella do ritmo para que coincida co outro prato en reprodución - + Quantize Mode Modo de cuantización - + Sync Sincronizar - + Beat Sync One-Shot Sincroniza o ritmo ao premer - + Sync Tempo One-Shot Sincroniza o tempo ao premer - + Sync Phase One-Shot Sincroniza a fase ao premer - + Pitch control (does not affect tempo), center is original pitch Control de ton (non afecta ao tempo), no centro está o ton orixinal - + Pitch Adjust Axuste de ton - + Adjust pitch from speed slider pitch Axuste o ton dende o esvarador de ton - + Match musical key Coincidir coa clave musical - + Match Key Coincidir coa clave - + Reset Key Restabelecer a clave - + Resets key to original Restabelecer a clave á orixinal @@ -1745,451 +1767,451 @@ trace - Above + Profiling messages EQ graves - + Toggle Vinyl Control Conmutador do Control do vinilo - + Toggle Vinyl Control (ON/OFF) Conmutador do Control do vinilo (acendido/apagado) - + Vinyl Control Mode Modo do Control do vinilo - + Vinyl Control Cueing Mode Modo de Control dos puntos de referencia con vinilo - + Vinyl Control Passthrough Paso do son de entrada do Control do vinilo - + Vinyl Control Next Deck Control do vinilo ao seguinte prato - + Single deck mode - Switch vinyl control to next deck Modo de prato único - Pasar o control do vinilo para o seguinte prato - + Cue Referencia - + Set Cue Estabelecer a referencia - + Go-To Cue Ir á referencia - + Go-To Cue And Play Ir á e reproducir - + Go-To Cue And Stop Ir á referencia e deter - + Preview Cue Escoita previa do punto de referencia - + Cue (CDJ Mode) Punto de referencia (modo CDJ) - + Stutter Cue Referencia repetida (tatexo) - + Go to cue point and play after release Ir á referencia e reproducir após soltar - + Clear Hotcue %1 Limpar a referencia activa %1 - + Set Hotcue %1 Estabelecer a referencia activa %1 - + Jump To Hotcue %1 Saltar á referencia activa %1 - + Jump To Hotcue %1 And Stop Saltar á referencia activa %1 e deter - + Jump To Hotcue %1 And Play Saltar á referencia activa %1 e reproducir - + Preview Hotcue %1 Escoita previa da referencia activa %1 - + Loop In Inicio do bucle - + Loop Out Fin do bucle - + Loop Exit Saír do bucle - + Reloop/Exit Loop Repetir/saír do bucle - + Loop Halve Divide o bucle á metade - + Loop Double Duplica a lonxitude do bucle - + 1/32 1/32 - + 1/16 1/16 - + 1/8 1/8 - + 1/4 1/4 - + Move Loop +%1 Beats Mover o bucle +%1 golpes - + Move Loop -%1 Beats Mover o bucle -%1 golpes - + Loop %1 Beats Bucle de %1 golpes - + Loop Roll %1 Beats Bucle corredizo de %1 golpes - + Add to Auto DJ Queue (bottom) Engadir á cola de DJ automático (abaixo) - + Append the selected track to the Auto DJ Queue Engade as pistas seleccionadas na fin da cola de Auto DJ - + Add to Auto DJ Queue (top) Engadir á cola de DJ automático (arriba) - + Prepend selected track to the Auto DJ Queue Engade as pistas seleccionadas no principio da cola de Auto DJ - + Load Track Cargara pista - + Load selected track Cargar a pista seleccionada - + Load selected track and play Cargar a pista seleccionada e reproducila - - + + Record Mix Gravar a mestura - + Toggle mix recording Conmutador da gravación da mestura - + Effects Efectos - + Quick Effects Efectos rápidos - + Deck %1 Quick Effect Super Knob Súper mando de efecto rápido do prato %1 - + Quick Effect Super Knob (control linked effect parameters) Súper mando de efecto rápido (parámetros de efecto asociado ao control) - - + + Quick Effect Efecto rápido - + Clear Unit Limpar a unidade - + Clear effect unit Limpar a unidade de efectos - + Toggle Unit Conmutador da unidade - + Dry/Wet Directo/Procesado - + Adjust the balance between the original (dry) and processed (wet) signal. Axusta o equilibrio entre o sinal orixinal (dry) e o procesado (wet). - + Super Knob Súper mando - + Next Chain Seguinte cadea - + Assign Asignar - + Clear Limpar - + Clear the current effect Limpar o efecto actual - + Toggle Conmutar - + Toggle the current effect Conmutador do efecto actual - + Next Seguinte - + Switch to next effect Pasa ao efecto seguinte - + Previous Anterior - + Switch to the previous effect Pasa ao efecto anterior - + Next or Previous Seguinte ou anterior - + Switch to either next or previous effect Pasa ao anterior ou seguinte efecto - - + + Parameter Value Valor do parámetro - - + + Microphone Ducking Strength Intensidade da atenuación do micrófono - + Microphone Ducking Mode Modo de atenuación do micrófono - + Gain Ganancia - + Gain knob Mando da ganancia - + Shuffle the content of the Auto DJ queue - + Skip the next track in the Auto DJ queue - + Auto DJ Toggle Conmutador do DJ automático - + Toggle Auto DJ On/Off Conmutador do DJ automático acender/apagar - + Show/hide the microphone & auxiliary section - + 4 Effect Units Show/Hide - + Switches between showing 2 and 4 effect units - + Mixer Show/Hide - + Show or hide the mixer. - + Cover Art Show/Hide (Library) - + Show/hide cover art in the library - + Library Maximize/Restore Maximiza/Restaura a vista da fonoteca - + Maximize the track library to take up all the available screen space. Maximiza ou restaura a vista da fonoteca per abarcar toda a pantalla - + Effect Rack Show/Hide Amosar/agachar a caixa de efectos - + Show/hide the effect rack Amosar/agachar a caixa de efectos - + Waveform Zoom Out Afastar o zoom da forma da onda @@ -2204,102 +2226,102 @@ trace - Above + Profiling messages Ganancia dos auriculares - + Tap to sync tempo (and phase with quantize enabled), hold to enable permanent sync - + One-time beat sync tempo (and phase with quantize enabled) - + Playback Speed Velocidade de reprodución - + Playback speed control (Vinyl "Pitch" slider) Control de velocidade de reprodución (O ton do vinilo) - + Pitch (Musical key) Ton (clave musical) - + Increase Speed Incrementar a velocidade - + Adjust speed faster (coarse) Axuste da velocidade rápida (basto) - + Increase Speed (Fine) Incrementar a velocidade (fino) - + Adjust speed faster (fine) Axuste da velocidade rápida (fino) - + Decrease Speed Diminuir a velocidade - + Adjust speed slower (coarse) Axuste da velocidade lenta (basto) - + Adjust speed slower (fine) Axuste da velocidade lenta (fino) - + Temporarily Increase Speed Incremento temporal da velocidade - + Temporarily increase speed (coarse) Incremento temporal da velocidade (basto) - + Temporarily Increase Speed (Fine) Incremento temporal da velocidade (fino) - + Temporarily increase speed (fine) Incremento temporal da velocidade (fino) - + Temporarily Decrease Speed Diminución temporal da velocidade - + Temporarily decrease speed (coarse) Diminución temporal da velocidade (basto) - + Temporarily Decrease Speed (Fine) Diminución temporal da velocidade (fino) - + Temporarily decrease speed (fine) Diminución temporal da velocidade (fino) @@ -2451,1053 +2473,1063 @@ trace - Above + Profiling messages - - + + Move Beatgrid Half a Beat + + + + + Adjust the beatgrid by exactly one half beat. Usable only for tracks with constant tempo. + + + + + Toggle the BPM/beatgrid lock - + Revert last BPM/Beatgrid Change - + Revert last BPM/Beatgrid Change of the loaded track. - + Sync / Sync Lock - + Internal Sync Leader - + Toggle Internal Sync Leader - - + + Internal Leader BPM - + Internal Leader BPM +1 - + Increase internal Leader BPM by 1 - + Internal Leader BPM -1 - + Decrease internal Leader BPM by 1 - + Internal Leader BPM +0.1 - + Increase internal Leader BPM by 0.1 - + Internal Leader BPM -0.1 - + Decrease internal Leader BPM by 0.1 - + Sync Leader - + Sync mode 3-state toggle / indicator (Off, Soft Leader, Explicit Leader) - + Speed - + Decrease Speed (Fine) - + Pitch (Musical Key) - + Increase Pitch - + Increases the pitch by one semitone - + Increase Pitch (Fine) - + Increases the pitch by 10 cents - + Decrease Pitch - + Decreases the pitch by one semitone - + Decrease Pitch (Fine) - + Decreases the pitch by 10 cents - + Keylock Bloqueo tonal - + CUP (Cue + Play) CUP (Punto de referencia + Reproducir) - + Shift cue points earlier - + Shift cue points 10 milliseconds earlier - + Shift cue points earlier (fine) - + Shift cue points 1 millisecond earlier - + Shift cue points later - + Shift cue points 10 milliseconds later - + Shift cue points later (fine) - + Shift cue points 1 millisecond later - - + + Sort hotcues by position - - + + Sort hotcues by position (remove offsets) - + Hotcues %1-%2 - + Intro / Outro Markers - + Intro Start Marker - + Intro End Marker - + Outro Start Marker - + Outro End Marker - + intro start marker - + intro end marker - + outro start marker - + outro end marker - + Activate %1 [intro/outro marker - + Jump to or set the %1 [intro/outro marker - + Set %1 [intro/outro marker - + Set or jump to the %1 [intro/outro marker - + Clear %1 [intro/outro marker - + Clear the %1 [intro/outro marker - + if the track has no beats the unit is seconds - + Loop Selected Beats - + Create a beat loop of selected beat size - + Loop Roll Selected Beats - + Create a rolling beat loop of selected beat size - + Loop %1 Beats set from its end point - + Loop Roll %1 Beats set from its end point - + Create %1-beat loop with the current play position as loop end - + Create temporary %1-beat loop roll with the current play position as loop end - + Loop Beats - + Loop Roll Beats - + Go To Loop In - + Go to Loop In button - + Go To Loop Out - + Go to Loop Out button - + Toggle loop on/off and jump to Loop In point if loop is behind play position - + Reloop And Stop - + Enable loop, jump to Loop In point, and stop - + Halve the loop length - + Double the loop length - + Beat Jump / Loop Move - + Jump / Move Loop Forward %1 Beats - + Jump / Move Loop Backward %1 Beats - + Jump forward by %1 beats, or if a loop is enabled, move the loop forward %1 beats - + Jump backward by %1 beats, or if a loop is enabled, move the loop backward %1 beats - + Beat Jump / Loop Move Forward Selected Beats - + Jump forward by the selected number of beats, or if a loop is enabled, move the loop forward by the selected number of beats - + Beat Jump / Loop Move Backward Selected Beats - + Jump backward by the selected number of beats, or if a loop is enabled, move the loop backward by the selected number of beats - + Beat Jump - + Indicate which loop marker remain static when adjusting the size or is inherited from the current position - + Beat Jump / Loop Move Forward - + Beat Jump / Loop Move Backward - + Loop Move Forward - + Loop Move Backward - + Remove Temporary Loop - + Remove the temporary loop - + Navigation - + Move up Mover cara arriba - + Equivalent to pressing the UP key on the keyboard Equivalente a premer la tecla frecha ARRIBA no teclado - + Move down Mover cara abaixo - + Equivalent to pressing the DOWN key on the keyboard Equivalente a premer la tecla frecha ABAIXO no teclado - + Move up/down Mover cara arriba/abaixo - + Move vertically in either direction using a knob, as if pressing UP/DOWN keys Mover verticalmente en calquera dirección usando un mando, como se se premeran as teclas frecha ARRIBA/ABAIXO - + Scroll Up Páxina arriba - + Equivalent to pressing the PAGE UP key on the keyboard Equivalente a premer a tecla de páxina arriba (RePáx) no teclado - + Scroll Down Páxina abaixo - + Equivalent to pressing the PAGE DOWN key on the keyboard Equivalente a premer a tecla de páxina abaixo (AvPáx) no teclado - + Scroll up/down Páxina arriba/abaixo - + Scroll vertically in either direction using a knob, as if pressing PGUP/PGDOWN keys Mover verticalmente en calquera dirección usando un mando, como se se premeran as teclas de avance/retroceso de páxina (RePáx/AvPáx) - + Move left Mover cara a esquerda - + Equivalent to pressing the LEFT key on the keyboard Equivalente a premer la tecla frecha ESQUERDA no teclado - + Move right Mover cara a dereita - + Equivalent to pressing the RIGHT key on the keyboard Equivalente a premer la tecla frecha DEREITA no teclado - + Move left/right Mover cara a esquerda/dereita - + Move horizontally in either direction using a knob, as if pressing LEFT/RIGHT keys Mover verticalmente en calquera dirección usando un mando, como se se premeran as teclas frecha ESQUERDA/DEREITA - + Move focus to right pane Mover o foco para o panel dereito - + Equivalent to pressing the TAB key on the keyboard Equivalente a premer la tecla TABULADOR no teclado - + Move focus to left pane Mover o foco para o panel esquerdo - + Equivalent to pressing the SHIFT+TAB key on the keyboard Equivalente a premer as teclas MAIÚS+ TABULADOR no teclado - + Move focus to right/left pane Mover o foco para o panel esquerdo/dereito - + Move focus one pane to right or left using a knob, as if pressing TAB/SHIFT+TAB keys Mover o foco para o panel esquerdo ou dereito usando un mando, como se se premera TABULADOR/MAIÚS+TABULADOR - + Sort focused column - + Sort the column of the cell that is currently focused, equivalent to clicking on its header - + Go to the currently selected item - + Choose the currently selected item and advance forward one pane if appropriate - + Load Track and Play - + Add to Auto DJ Queue (replace) Engadir á cola do DJ automático (trocar) - + Replace Auto DJ Queue with selected tracks - + Select next search history - + Selects the next search history entry - + Select previous search history - + Selects the previous search history entry - + Move selected search entry - + Moves the selected search history item into given direction and steps - + Clear search - + Clears the search query - - + + Select Next Color Available - + Select the next color in the color palette for the first selected track - - + + Select Previous Color Available - + Select the previous color in the color palette for the first selected track - + Deck %1 Quick Effect Enable Button - + Quick Effect Enable Button - + Enable or disable effect processing Activar ou desactivar o procesado de efectos - + Super Knob (control effects' Meta Knobs) - + Mix Mode Toggle - + Toggle effect unit between D/W and D+W modes - + Next chain preset Seguinte axuste previo de cadea - + Previous Chain Cadea anterior - + Previous chain preset Anterior axuste previo de cadea - + Next/Previous Chain Cadea seguinte/anterior - + Next or previous chain preset Seguinte ou anterior axuste previo de cadea - - + + Show Effect Parameters - + Effect Unit Assignment - + Meta Knob - + Effect Meta Knob (control linked effect parameters) - + Meta Knob Mode - + Set how linked effect parameters change when turning the Meta Knob. - + Meta Knob Mode Invert - + Invert how linked effect parameters change when turning the Meta Knob. - - + + Button Parameter Value - + Microphone / Auxiliary Micrófono / Auxiliar - + Microphone On/Off Micrófono acender/apagar - + Microphone on/off Micrófono acender/apagar - + Toggle microphone ducking mode (OFF, AUTO, MANUAL) Conmutador do modo de atenuación de micrófono (APAGADO, AUTO, MANUAL) - + Auxiliary On/Off Auxiliar acender/apagar - + Auxiliary on/off Auxiliar acender/apagar - + Auto DJ DJ automático - + Auto DJ Shuffle DJ automático ao chou - + Auto DJ Skip Next Omitir a seguinte no DJ automático - + Auto DJ Add Random Track - + Add a random track to the Auto DJ queue - + Auto DJ Fade To Next Esvaecer para a seguinte no DJ automático - + Trigger the transition to the next track Disparar a transición á pista seguinte - + User Interface Interface de usuario - + Samplers Show/Hide Amosar/agachar o reprodutor de mostras - + Show/hide the sampler section Amosar/agachar a sección do reprodutor de mostras - + Microphone && Auxiliary Show/Hide keep double & to prevent creation of keyboard accelerator - + Waveform Zoom Reset To Default - + Reset the waveform zoom level to the default value selected in Preferences -> Waveforms - + Select the next color in the color palette for the loaded track. - + Select previous color in the color palette for the loaded track. - + Navigate Through Track Colors - + Select either next or previous color in the palette for the loaded track. - + Start/Stop Live Broadcasting - + Stream your mix over the Internet. - + Start/stop recording your mix. - - + + Samplers - + Vinyl Control Show/Hide Amosar/agochar o Control do vinilo - + Show/hide the vinyl control section Amosar/agachar a sección do Control do vinilo - + Preview Deck Show/Hide Amosar/agochar a escoita previa do prato - + Show/hide the preview deck Amosar/agachar a escoita previa do prato - + Toggle 4 Decks - + Switches between showing 2 decks and 4 decks. - + Cover Art Show/Hide (Decks) - + Show/hide cover art in the main decks - + Vinyl Spinner Show/Hide Amosar/agachar o trebello do vinilo xiratorio - + Show/hide spinning vinyl widget Amosar/agachar o trebello do vinilo xiratorio - + Vinyl Spinners Show/Hide (All Decks) - + Show/Hide all spinnies - + Toggle Waveforms - + Show/hide the scrolling waveforms. - + Waveform zoom Zoom da forma da onda - + Waveform Zoom Zoom da forma da onda - + Zoom waveform in Achegar o zoom da forma da onda - + Waveform Zoom In Achegar o zoom da forma da onda - + Zoom waveform out Afastar o zoom da forma da onda - + Star Rating Up - + Increase the track rating by one star - + Star Rating Down - + Decrease the track rating by one star @@ -3612,32 +3644,32 @@ trace - Above + Profiling messages ControllerScriptEngineBase - + The functionality provided by this controller mapping will be disabled until the issue has been resolved. - + You can ignore this error for this session but you may experience erratic behavior. - + Try to recover by resetting your controller. Tente recuperar reiniciando a controladora. - + Controller Mapping Error - + The mapping for your controller "%1" is not working properly. - + The script code needs to be fixed. É necesario arranxar o código do script @@ -3745,7 +3777,7 @@ trace - Above + Profiling messages Importar un caixón - + Export Crate Exportar un caixón @@ -3755,7 +3787,7 @@ trace - Above + Profiling messages Desbloquear - + An unknown error occurred while creating crate: Produciuse un erro descoñecido ao crear o caixón: @@ -3764,12 +3796,6 @@ trace - Above + Profiling messages Rename Crate Cambiar o nome do caixón - - - - Export to Engine Prime - - Make a crate for your next gig, for your favorite electrohouse tracks, or for your most requested tracks. @@ -3787,17 +3813,17 @@ trace - Above + Profiling messages Non foi posíbel cambiarlle o nome ao caixón - + Crate Creation Failed Non foi posíbel crear o caixón - + M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Text CSV (*.csv);;Readable Text (*.txt) Lista de reprodución M3U (*.m3u);;Lista de reprodución M3U8 (*.m3u8);;Lista de reprodución PLS (*.pls);;Texto CSV (*.csv);;Texto lexíbel (*.txt) - + M3U Playlist (*.m3u) Lista de reprodución M3U (*.m3u) @@ -3806,6 +3832,12 @@ trace - Above + Profiling messages Crates are a great way to help organize the music you want to DJ with. Os caixóns son un xeito excelente de axudarlle a organizar a música que quere mesturar. + + + + Export to Engine DJ + + Crates let you organize your music however you'd like! @@ -3917,12 +3949,12 @@ trace - Above + Profiling messages Colaboradores anteriores - + Official Website - + Donate @@ -4434,37 +4466,37 @@ Often results in higher quality beatgrids, but will not do well on tracks that h Se non funciona a asignación, probe a activar un dos controles avanzados seguintes e probe de novo. Tamén pode volver detectar o control. - + Didn't get any midi messages. Please try again. Non se detectou ningunha mensaxe MIDI. Tenteo de novo. - + Unable to detect a mapping -- please try again. Be sure to only touch one control at once. Non é posíbel detectar unha asignación -- Tenteo de novo. Asegúrese de tocar só un control de vez. - + Successfully mapped control: Control asignado correctamente: - + <i>Ready to learn %1</i> <i>Preparado para aprender sobre %1</i> - + Learning: %1. Now move a control on your controller. Aprendendor: %1. Agora mova un control do seu controlador. - + The selected control does not exist.<br>This likely a bug. Please report it on the Mixxx bug tracker.<br><a href='https://github.com/mixxxdj/mixxx/issues'>https://github.com/mixxxdj/mixxx/issues</a><br><br>You tried to learn: %1,%2 - + The control you clicked in Mixxx is not learnable. This could be because you are either using an old skin and this control is no longer supported, or you clicked a control that provides visual feedback and can only be mapped to outputs like LEDs via scripts. @@ -4503,17 +4535,17 @@ You tried to learn: %1,%2 Envorcar a csv - + Log Rexistro - + Search Buscar - + Stats Estatísticas @@ -5166,114 +5198,114 @@ associated with each key. DlgPrefController - + Apply device settings? Aplicar os axustes do dispositivo? - + Your settings must be applied before starting the learning wizard. Apply settings and continue? Deben aplicarse os axustes antes de iniciar o asistente de aprendizaxe. Aplicar os axustes e continuar? - + None Ningún - + %1 by %2 %1 de %2 - + Mapping has been edited - + Always overwrite during this session - + Save As - + Overwrite - + Save user mapping - + Enter the name for saving the mapping to the user folder. - + Saving mapping failed - + A mapping cannot have a blank name and may not contain special characters. - + A mapping file with that name already exists. - + Do you want to save the changes? - + Troubleshooting Solución de problemas - + <font color='#BB0000'><b>If you use this mapping your controller may not work correctly. Please select another mapping or disable the controller.</b></font><br><br>This mapping was designed for a newer Mixxx Controller Engine and cannot be used on your current Mixxx installation.<br>Your Mixxx installation has Controller Engine version %1. This mapping requires a Controller Engine version >= %2.<br><br>For more information visit the wiki page on <a href='https://mixxx.org/wiki/doku.php/controller_engine_versions'>Controller Engine Versions</a>. - + Mapping already exists. - + <b>%1</b> already exists in user mapping folder.<br>Overwrite or save with a new name? - + Clear Input Mappings Limpar as asignacións de entrada - + Are you sure you want to clear all input mappings? Confirma que quere limpar todas as asignacións de entrada? - + Clear Output Mappings Limpar as asignacións de saída - + Are you sure you want to clear all output mappings? Confirma que quere limpar todas as asignacións de saída? @@ -5291,100 +5323,100 @@ Aplicar os axustes e continuar? Activado - + Device Info - + Physical Interface: - + Vendor name: - + Product name: - + Vendor ID - + VID: - + Product ID - + PID: - + Serial number: - + USB interface number: - + HID Usage-Page: - + HID Usage: - + Description: Descrición: - + Support: Asistencia: - + Screens preview - + Input Mappings Asignacións de entrada - - + + Search Buscar - - + + Add Engadir - - + + Remove Retirar @@ -5404,17 +5436,17 @@ Aplicar os axustes e continuar? - + Mapping Info - + Author: Autor: - + Name: Nome: @@ -5424,28 +5456,28 @@ Aplicar os axustes e continuar? Asistente de aprendizaxe (só MIDI) - + Data protocol: - + Mapping Files: - + Mapping Settings - - + + Clear All Limpar todo - + Output Mappings Asignacións de saída @@ -5604,6 +5636,16 @@ Aplicar os axustes e continuar? Multi-Sampling + + + Force 3D acceleration + + + + + If checked, Mixxx will always assume 3D acceleration is available. This may lead to pour performance if only CP-backed rendering is available.. + + Start in full-screen mode @@ -6195,62 +6237,62 @@ You can always drag-and-drop tracks on screen to clone a deck. DlgPrefInterface - + The minimum size of the selected skin is bigger than your screen resolution. O tamaño mínimo do tema seleccionado é maior que a resolución da súa pantalla. - + Allow screensaver to run Permitir que se execute o protector de pantallas - + Prevent screensaver from running Impide que se execute o protector de pantallas - + Prevent screensaver while playing Impide que se execute o protector de pantallas durante a reprodución - + Disabled - + 2x MSAA - + 4x MSAA - + 8x MSAA - + 16x MSAA - + This skin does not support color schemes Este tema non admite esquemas de cor - + Information Información - + Mixxx must be restarted before the new locale, scaling or multi-sampling settings will take effect. @@ -7417,173 +7459,172 @@ The loudness target is approximate and assumes track pregain and main output lev DlgPrefSound - + %1 Hz %1 Hz - + Default (long delay) Predeterminado (máis retardado) - + Experimental (no delay) Experimental (sen retardo) - + Disabled (short delay) Desactivado (pouco retardo) - + Soundcard Clock - + Network Clock - + Direct monitor (recording and broadcasting only) - + Disabled Desactivado - + Enabled Activado - + Stereo Estéreo - + Mono Mono - + To enable Realtime scheduling (currently disabled), see the %1. - + The %1 lists sound cards and controllers you may want to consider for using Mixxx. - + Mixxx DJ Hardware Guide - + Information - + Mixxx must be restarted before the multi-threaded RubberBand setting change will take effect. - + auto (<= 1024 frames/period) - + 2048 frames/period - + 4096 frames/period - + Are you sure? - + Distribute stereo channels into mono channels for parallel processing will result in a loss of mono compatibility and a diffuse stereo image. It is not recommended during broadcasting or recording. - + Are you sure you wish to proceed? - + No - + Yes, I know what I am doing - + Microphone inputs are out of time in the record & broadcast signal compared to what you hear. - + Measure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. - - + Refer to the Mixxx User Manual for details. - + Configured latency has changed. - + Remeasure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. - + Realtime scheduling is enabled. A planificación en tempo real está activada. - + Main output only - + Main and booth outputs - + %1 ms %1 ms - + Configuration error Produciuse un erro de configuración @@ -7601,131 +7642,131 @@ The loudness target is approximate and assumes track pregain and main output lev API de son - + Sample Rate Taxa de mostraxe - + Audio Buffer Búfer de son - + Engine Clock - + Use soundcard clock for live audience setups and lowest latency.<br>Use network clock for broadcasting without a live audience. - + Main Mix - + Main Output Mode - + Microphone Monitor Mode - + Microphone Latency Compensation - - - - + + + + ms milliseconds ms - + 20 ms 20 ms - + Buffer Underflow Count Contador de desbordamento do búfer - + 0 0 - + Keylock/Pitch-Bending Engine Motor de bloqueo tonal/pregado do ton - + Multi-Soundcard Synchronization Sincronización con múltiples tarxetas de son - + Output Saída - + Input Entrada - + System Reported Latency Latencia informada polo sistema - + Enlarge your audio buffer if the underflow counter is increasing or you hear pops during playback. Aumente búfer de son se o contador de desbordamento está aumentando ou escoita chascar durante a reprodución. - + Main Output Delay - + Headphone Output Delay - + Booth Output Delay - + Dual-threaded Stereo - + Hints and Diagnostics Consellos e diagnósticos - + Downsize your audio buffer to improve Mixxx's responsiveness. Reduza u búfer de son para mellorar a velocidade de resposta do Mixxx. - + Query Devices Consulta a dispositivos @@ -8171,47 +8212,47 @@ Select from different types of displays for the waveform, which differ primarily DlgPreferences - + Sound Hardware Hardware de son - + Controllers Controladores - + Library Fonoteca - + Interface Interface - + Waveforms Formas de onda - + Mixer Mesturador - + Auto DJ DJ automático - + Decks - + Colors @@ -8246,47 +8287,47 @@ Select from different types of displays for the waveform, which differ primarily - + Effects Efectos - + Recording Gravando - + Beat Detection Detección de ritmo - + Key Detection Detección de clave musical - + Normalization Normalización - + <font color='#BB0000'><b>Some preferences pages have errors. To apply the changes please first fix the issues.</b></font> - + Vinyl Control Control do vinilo - + Live Broadcasting Difusión en directo - + Modplug Decoder Descodificador do Modplug @@ -8642,284 +8683,284 @@ This can not be undone! Resumo - + Filetype: Tipo de ficheiro: - + BPM: BPM: - + Location: Localización: - + Bitrate: Taxa de bits: - + Comments Comentarios - + BPM BPM - + Sets the BPM to 75% of the current value. Estabelece os BPM ao 75% do valor detectado. - + 3/4 BPM 3/4 BPM - + Sets the BPM to 50% of the current value. Estabelece os BPM ao 50% do valor actual. - + Displays the BPM of the selected track. Amosar os BPM da pista seleccionada. - + Track # Pista num. - + Album Artist Interprete do álbum - + Composer Compositor - + Title Título - + Grouping Agrupación - + Key Clave - + Year Ano - + Artist Interprete - + Album Álbum - + Genre Xénero - + ReplayGain: ReplayGain: - + Sets the BPM to 200% of the current value. Estabelece os BPM ao 200% do valor actual. - + Double BPM Duplicar os BPM - + Halve BPM Dividir ÷2 os BPM - + Clear BPM and Beatgrid Limpar os BPM e a grella de ritmo - + Move to the previous item. "Previous" button Mover ao elemento anterior - + &Previous &Anterior - + Move to the next item. "Next" button Mover ao seguinte elemento - + &Next &Seguinte - + Duration: Duración: - + Import Metadata from MusicBrainz - + Re-Import Metadata from file - + Color Cor - + Date added: - + Open in File Browser Abrir no navegador de ficheiros - + Samplerate: - + Track BPM: BPM da pista: - + Converts beats detected by the analyzer into a fixed-tempo beatgrid. Use this setting if your tracks have a constant tempo (e.g. most electronic music). Often results in higher quality beatgrids, but will not do well on tracks that have tempo shifts. - + Assume constant tempo Asumir tempo constante - + Sets the BPM to 66% of the current value. Estabelece os BPM ao 66% do valor actual. - + 2/3 BPM 2/3 BPM - + Sets the BPM to 150% of the current value. Estabelece os BPM ao 150% do valor actual. - + 3/2 BPM 3/2 BPM - + Sets the BPM to 133% of the current value. Estabelece os BPM ao 133% do valor actual. - + 4/3 BPM 4/3 BPM - + Tap with the beat to set the BPM to the speed you are tapping. Golpee seguindo o ritmo para estabelecer os BPM. - + Tap to Beat Toque para golpe de ritmo - + Hint: Use the Library Analyze view to run BPM detection. Consello: Use a vista de análise na fototeca para executar a detección de BPM. - + Save changes and close the window. "OK" button Gardar os cambios e pechar a xanela. - + &OK &Aceptar - + Discard changes and close the window. "Cancel" button Desbotar os cambios e pechar a xanela. - + Save changes and keep the window open. "Apply" button Gardar os cambios e manter a xanela aberta. - + &Apply A&plicar - + &Cancel &Cancelar - + (no color) @@ -9076,7 +9117,7 @@ Often results in higher quality beatgrids, but will not do well on tracks that h - + (no color) @@ -9278,27 +9319,27 @@ Often results in higher quality beatgrids, but will not do well on tracks that h EngineBuffer - + Soundtouch (faster) Soundtouch (rápido) - + Rubberband (better) Rubberband (mellor) - + Rubberband R3 (near-hi-fi quality) - + Unknown, using Rubberband (better) - + Unknown, using Soundtouch @@ -9513,15 +9554,15 @@ Often results in higher quality beatgrids, but will not do well on tracks that h LegacySkinParser - - + + Safe Mode Enabled Shown when Mixxx is running in safe mode. Modo seguro activado - - + + No OpenGL support. Shown when Spinny can not be displayed. Please keep @@ -9533,57 +9574,57 @@ Shown when VuMeter can not be displayed. Please keep OpenGL. - + activate activar - + toggle conmutar - + right dereita - + left esquerda - + right small dereita pequeno - + left small esquerda pequeno - + up arriba - + down abaixo - + up small arriba pequeno - + down small abaixo pequeno - + Shortcut Atallo @@ -9591,62 +9632,62 @@ OpenGL. Library - + This or a parent directory is already in your library. - + This or a listed directory does not exist or is inaccessible. Aborting the operation to avoid library inconsistencies - - + + This directory can not be read. - + An unknown error occurred. Aborting the operation to avoid library inconsistencies - + Can't add Directory to Library - + Could not add <b>%1</b> to your library. %2 - + Can't remove Directory from Library - + An unknown error occurred. - + This directory does not exist or is inaccessible. - + Relink Directory - + Could not relink <b>%1</b> to <b>%2</b>. %3 @@ -9656,22 +9697,22 @@ Aborting the operation to avoid library inconsistencies LibraryFeature - + Import Playlist Importar unha lista de reprodución - + Playlist Files (*.m3u *.m3u8 *.pls *.csv) Ficheiros de lista de reprodución (*.m3u *.m3u8 *.pls *.csv) - + Overwrite File? - + A playlist file with the name "%1" already exists. The default "m3u" extension was added because none was specified. @@ -9718,27 +9759,27 @@ Do you really want to overwrite it? MidiController - + MixxxControl(s) not found Non se atoparon os controis do Mixxx - + One or more MixxxControls specified in the outputs section of the loaded mapping were invalid. - + * Make sure the MixxxControls in question actually exist. Visit the manual for a complete list: - + Some LEDs or other feedback may not work correctly. - + * Check to see that the MixxxControl names are spelled correctly in the mapping file (.xml) @@ -9798,18 +9839,18 @@ Do you really want to overwrite it? MixxxLibraryFeature - + Missing Tracks Non se atopan as pistas - + Hidden Tracks Pistas agachadas - Export to Engine Prime + Export to Engine DJ @@ -9821,209 +9862,250 @@ Do you really want to overwrite it? MixxxMainWindow - + Sound Device Busy O dispositivo de son está ocupado - + <b>Retry</b> after closing the other application or reconnecting a sound device <b>Tenteo de novo</b> despois de pechar o outro aplicativo ou de volver conectar un dispositivo de son - - - + + + <b>Reconfigure</b> Mixxx's sound device settings. <b>Reconfigurar</b> os axustes do dispositivo de son do Mixxx. - - + + Get <b>Help</b> from the Mixxx Wiki. Obter <b>axuda</b> no wiki de Mixxx. - - - + + + <b>Exit</b> Mixxx. <b>Saír</b> do Mixxx. - + Retry Tentar de novo - + skin - + Allow Mixxx to hide the menu bar? - + Hide Always show the menu bar? - + Always show - + The Mixxx menu bar is hidden and can be toggled with a single press of the <b>Alt</b> key.<br><br>Click <b>%1</b> to agree.<br><br>Click <b>%2</b> to disable that, for example if you don't use Mixxx with a keyboard.<br><br>You can change this setting any time in Preferences -> Interface.<br> Keep formatting tags <b> (bold text) and <br> (linebreak). %1 is the placeholder for the 'Always show' button label - + Ask me again - - + + Reconfigure Volver configurar - + Help Axuda - - + + Exit Saír - - + + Mixxx was unable to open all the configured sound devices. - + Sound Device Error Produciuse un erro no dispositivo de son - + <b>Retry</b> after fixing an issue - + No Output Devices Non hai dispositivos de saída - + Mixxx was configured without any output sound devices. Audio processing will be disabled without a configured output device. Mixxx foi configurado sen ningún dispositivo de saída de son. Se non hai configurado.un dispositivo de saída de son o procesado será desactivado. - + <b>Continue</b> without any outputs. <b>Continuar</b> sen ningunha saída. - + Continue Continuar - + Load track to Deck %1 Cargar a pista no prato %1 - + Deck %1 is currently playing a track. O prato %1 está a reproducir unha pista. - + Are you sure you want to load a new track? Confirma que quere cargar unha nova pista? - + There is no input device selected for this vinyl control. Please select an input device in the sound hardware preferences first. - + There is no input device selected for this passthrough control. Please select an input device in the sound hardware preferences first. Non hai ningún dispositivo de entrada seleccionado para este control de paso. Seleccione antes un dispositivo de entrada nas preferencias de hardware de son. - + There is no input device selected for this microphone. Do you want to select an input device? - + There is no input device selected for this auxiliary. Do you want to select an input device? - + + Scan took %1 + + + + + No changes detected. + + + + + + %1 tracks in total + + + + + %1 new tracks found + + + + + %1 moved tracks detected + + + + + %1 tracks are missing (%2 total) + + + + + %1 tracks have been rediscovered + + + + + Library scan finished + + + + Error in skin file Produciuse un erro no ficheiro do tema - + The selected skin cannot be loaded. Non foi posíbel cargar o tema seleccionado. - + OpenGL Direct Rendering Debuxado directo OpenGL - + Direct rendering is not enabled on your machine.<br><br>This means that the waveform displays will be very<br><b>slow and may tax your CPU heavily</b>. Either update your<br>configuration to enable direct rendering, or disable<br>the waveform displays in the Mixxx preferences by selecting<br>"Empty" as the waveform display in the 'Interface' section. - - - + + + Confirm Exit Confirmar a saída - + A deck is currently playing. Exit Mixxx? O prato está reproducindo. Saír do Mixxx? - + A sampler is currently playing. Exit Mixxx? Un mostreador está reproducindo actualmente. Saír dp Mixxx? - + The preferences window is still open. A xanela de preferencias segue aberta. - + Discard any changes and exit Mixxx? Desbotar calquera cambio e saír do Mixxx? @@ -10039,13 +10121,13 @@ Do you want to select an input device? PlaylistFeature - + Lock Bloquear - - + + Playlists Listas de reprodución @@ -10055,32 +10137,58 @@ Do you want to select an input device? - + + Unlock all playlists + + + + + Delete all unlocked playlists + + + + Unlock Desbloquear - + + + Confirm Deletion + + + + + Do you really want to delete all unlocked playlists? + + + + + Deleting %1 unlocked playlists.<br>This operation can not be undone! + + + + Playlists are ordered lists of tracks that allow you to plan your DJ sets. - + It may be necessary to skip some tracks in your prepared playlist or add some different tracks in order to maintain the energy of your audience. - + Some DJs construct playlists before they perform live, but others prefer to build them on-the-fly. Algúns DJ constrúen listas de reprodución antes de actuar en directo, outros prefiren facelo ao voo. - + When using a playlist during a live DJ set, remember to always pay close attention to how your audience reacts to the music you've chosen to play. Cando se utiliza unha lista de reprodución durante una sesión de DJ en directo, lembre que debe observar sempre con moita atención como reacciona o público á música que escolleu para reproducir. - + Create New Playlist Crear unha nova lista de reprodución @@ -11571,7 +11679,7 @@ Fully right: end of the effect period - + Deck %1 Prato %1 @@ -11704,7 +11812,7 @@ Hint: compensates "chipmunk" or "growling" voices - + Passthrough Pasante @@ -11735,7 +11843,7 @@ Hint: compensates "chipmunk" or "growling" voices - + Sampler %1 @@ -11868,12 +11976,12 @@ may introduce a 'pumping' effect and/or distortion. - + built-in - + missing @@ -11908,42 +12016,42 @@ may introduce a 'pumping' effect and/or distortion. - + Empty - + Simple - + Filtered - + HSV - + VSyncTest - + RGB - + Stacked - + Unknown @@ -12001,54 +12109,54 @@ may introduce a 'pumping' effect and/or distortion. RekordboxFeature - - - + + + Rekordbox - + Playlists Listas de reprodución - + Folders - + Reads databases exported for Pioneer CDJ / XDJ players using the Rekordbox Export mode.<br/>Rekordbox can only export to USB or SD devices with a FAT or HFS file system.<br/>Mixxx can read a database from any device that contains the database folders (<tt>PIONEER</tt> and <tt>Contents</tt>).<br/>Not supported are Rekordbox databases that have been moved to an external device via<br/><i>Preferences > Advanced > Database management</i>.<br/><br/>The following data is read: - + Hot cues - + Loops (only the first loop is currently usable in Mixxx) - + Check for attached Rekordbox USB / SD devices (refresh) - + Beatgrids - + Memory cues - + (loading) Rekordbox @@ -12607,7 +12715,7 @@ may introduce a 'pumping' effect and/or distortion. - + Spinning Vinyl Vinilo xirando @@ -12789,7 +12897,7 @@ may introduce a 'pumping' effect and/or distortion. - + Cover Art Deseño da portada @@ -13025,197 +13133,197 @@ may introduce a 'pumping' effect and/or distortion. - + Adjust Beats Earlier - + When tapped, moves the beatgrid left by a small amount. - + Adjust Beats Later - + When tapped, moves the beatgrid right by a small amount. - + Tempo and BPM Tap Toque de tempo e BPM - + Show/hide the spinning vinyl section. Amosar/agachar a sección do vinilo xiratorio. - + Keylock Bloqueo tonal - + Toggling keylock during playback may result in a momentary audio glitch. - + Toggle visibility of Loop Controls - + Toggle visibility of Beatjump Controls - + Toggle visibility of Rate Control - + Toggle visibility of Key Controls - + (while previewing) - + Places a cue point at the current position on the waveform. - + Stops track at cue point, OR go to cue point and play after release (CUP mode). - + Set cue point (Pioneer/Mixxx/Numark mode), set cue point and play after release (CUP mode) OR preview from it (Denon mode). - + Is latching the playing state. - + Seeks the track to the cue point and stops. - + Play Reproducir - + Plays track from the cue point. - + Sends the selected channel's audio to the headphone output, selected in Preferences -> Sound Hardware. - + (This skin should be updated to use Sync Lock!) - + Enable Sync Lock - + Tap to sync the tempo to other playing tracks or the sync leader. - + Enable Sync Leader - + When enabled, this device will serve as the sync leader for all other decks. - + This is relevant when a dynamic tempo track is loaded to a sync leader deck.In that case, other synced devices will adopt the changing tempo. - + Changes the track playback speed (affects both the tempo and the pitch). If keylock is enabled, only the tempo is affected. - + Tempo Range Display - + Displays the current range of the tempo slider. - + Un-ejects when no track is loaded, i.e. reloads the track that was ejected last (of any deck). - + Delete selected hotcue. - + Track Comment - + Displays the comment tag of the loaded track. - + Opens separate artwork viewer. - + Effect Chain Preset Settings - + Show the effect chain settings menu for this unit. - + Select and configure a hardware device for this input - + Recording Duration @@ -13453,926 +13561,932 @@ may introduce a 'pumping' effect and/or distortion. - + + Adjust beatgrid by exactly one half beat. Usable only on +tracks with constant tempo. + + + + Revert last BPM/Beatgrid Change - + Revert last BPM/Beatgrid Change of the loaded track. - - + + Toggle the BPM/beatgrid lock - + Tempo and Rate Tap - + Tempo, Rate Tap and BPM Tap - + Shift cues earlier - - + + Shift cues imported from Serato or Rekordbox if they are slightly off time. - + Left click: shift 10 milliseconds earlier - + Right click: shift 1 millisecond earlier - + Shift cues later - + Left click: shift 10 milliseconds later - + Right click: shift 1 millisecond later - - + + Drag a Hotcue button here to continue playing after releasing the Hotcue. - + Hint: Change the default cue mode in Preferences -> Decks. - + Mutes the selected channel's audio in the main output. - + Main mix enable - + Hold or short click for latching to mix this input into the main output. - + If hotcue is a loop cue, toggles the loop and jumps to if the loop is behind the play position. - + If the play position is inside an active loop, stores the loop as loop cue. - + Drag this button onto another Hotcue button to move it there (change its index). If the other hotcue is set, the two are swapped. - + Expand/Collapse Samplers - + Toggle expanded samplers view. - + Displays the duration of the running recording. - + Auto DJ is active - + Red for when needle skip has been detected. - + Hot Cue - Track will seek to nearest previous hotcue point. - + Sets the track Loop-In Marker to the current play position. - + Press and hold to move Loop-In Marker. - + Jump to Loop-In Marker. - + Sets the track Loop-Out Marker to the current play position. - + Press and hold to move Loop-Out Marker. - + Jump to Loop-Out Marker. - + If the track has no beats the unit is seconds. - + Beatloop Size - + Select the size of the loop in beats to set with the Beatloop button. - + Changing this resizes the loop if the loop already matches this size. - + Halve the size of an existing beatloop, or halve the size of the next beatloop set with the Beatloop button. - + Double the size of an existing beatloop, or double the size of the next beatloop set with the Beatloop button. - + Start a loop over the set number of beats. - + Temporarily enable a rolling loop over the set number of beats. - + Beatloop Anchor - + Define whether the loop is created and adjusted from its staring point or ending point. - + Beatjump/Loop Move Size - + Select the number of beats to jump or move the loop with the Beatjump Forward/Backward buttons. - + Beatjump Forward - + Jump forward by the set number of beats. - + Move the loop forward by the set number of beats. - + Jump forward by 1 beat. - + Move the loop forward by 1 beat. - + Beatjump Backward - + Jump backward by the set number of beats. - + Move the loop backward by the set number of beats. - + Jump backward by 1 beat. - + Move the loop backward by 1 beat. - + Reloop - + If the loop is ahead of the current position, looping will start when the loop is reached. - + Works only if Loop-In and Loop-Out Marker are set. - + Enable loop, jump to Loop-In Marker, and stop playback. - + Displays the elapsed and/or remaining time of the track loaded. - + Click to toggle between time elapsed/remaining time/both. - + Hint: Change the time format in Preferences -> Decks. - + Show/hide intro & outro markers and associated buttons. - + Intro Start Marker - - - - + + + + If marker is set, jumps to the marker. - - - - + + + + If marker is not set, sets the marker to the current play position. - - - - + + + + If marker is set, clears the marker. - + Intro End Marker - + Outro Start Marker - + Outro End Marker - + Mix - + Adjust the mixing of the dry (input) signal with the wet (output) signal of the effect unit - + D/W mode: Crossfade between dry and wet - + D+W mode: Add wet to dry - + Mix Mode - + Adjust how the dry (input) signal is mixed with the wet (output) signal of the effect unit - + Dry/Wet mode (crossed lines): Mix knob crossfades between dry and wet Use this to change the sound of the track with EQ and filter effects. - + Dry+Wet mode (flat dry line): Mix knob adds wet to dry Use this to change only the effected (wet) signal with EQ and filter effects. - + Route the main mix through this effect unit. - + Route the left crossfader bus through this effect unit. - + Route the right crossfader bus through this effect unit. - + Right side active: parameter moves with right half of Meta Knob turn - + Stem Label - + Name of the stem stored in the stem file - + Text is displayed in the stem color stored in the stem file - + this stem color is also used for the waveform of this stem - + Stem Mute - + Toggle the stem mute/unmuted - + Stem Volume Knob - + Adjusts the volume of the stem - + Skin Settings Menu - + Show/hide skin settings menu - + Save Sampler Bank Gardar o banco de mostras - + Save the collection of samples loaded in the samplers. - + Load Sampler Bank Cargar o banco de mostras - + Load a previously saved collection of samples into the samplers. - + Show Effect Parameters - + Enable Effect - + Meta Knob Link - + Set how this parameter is linked to the effect's Meta Knob. - + Meta Knob Link Inversion - + Inverts the direction this parameter moves when turning the effect's Meta Knob. - + Super Knob Súper mando - + Next Chain Seguinte cadea - + Previous Chain Cadea anterior - + Next/Previous Chain Cadea seguinte/anterior - + Clear Limpar - + Clear the current effect. - + Toggle Conmutar - + Toggle the current effect. - + Next Seguinte - + Clear Unit Limpar a unidade - + Clear effect unit. - + Show/hide parameters for effects in this unit. - + Toggle Unit Conmutador da unidade - + Enable or disable this whole effect unit. - + Controls the Meta Knob of all effects in this unit together. - + Load next effect chain preset into this effect unit. - + Load previous effect chain preset into this effect unit. - + Load next or previous effect chain preset into this effect unit. - - - - + + + + Assign Effect Unit - + Assign this effect unit to the channel output. - + Route the headphone channel through this effect unit. - + Route this deck through the indicated effect unit. - + Route this sampler through the indicated effect unit. - + Route this microphone through the indicated effect unit. - + Route this auxiliary input through the indicated effect unit. - + The effect unit must also be assigned to a deck or other sound source to hear the effect. - + Switch to the next effect. - + Previous Anterior - + Switch to the previous effect. - + Next or Previous Seguinte ou anterior - + Switch to either the next or previous effect. - + Meta Knob - + Controls linked parameters of this effect - + Effect Focus Button - + Focuses this effect. - + Unfocuses this effect. - + Refer to the web page on the Mixxx wiki for your controller for more information. - + Effect Parameter - + Adjusts a parameter of the effect. - + Inactive: parameter not linked - + Active: parameter moves with Meta Knob - + Left side active: parameter moves with left half of Meta Knob turn - + Left and right side active: parameter moves across range with half of Meta Knob turn and back with the other half - - + + Equalizer Parameter Kill - - + + Holds the gain of the EQ to zero while active. - + Quick Effect Super Knob - + Quick Effect Super Knob (control linked effect parameters). - + Hint: Change the default Quick Effect mode in Preferences -> Equalizers. - + Equalizer Parameter - + Adjusts the gain of the EQ filter. - + Hint: Change the default EQ mode in Preferences -> Equalizers. - - + + Adjust Beatgrid Axustar a grella do ritmo - + Adjust beatgrid so the closest beat is aligned with the current play position. Axusta grella de ritmo polo que o ritmo máis próximo aliñase coa reprodución actual. - - + + Adjust beatgrid to match another playing deck. Axustar a grella do ritmo para que coincida co outro prato en reprodución - + If quantize is enabled, snaps to the nearest beat. Se está activada a cuantización, acóplase ao ritmo máis próximo. - + Quantize Cuantizar - + Toggles quantization. Conmutar o modo de cuantización. - + Loops and cues snap to the nearest beat when quantization is enabled. Bucles e referencias axústanse ao ritmo próximo cando a cuantización está activada. - + Reverse Inverter - + Reverses track playback during regular playback. Inverte a reprodución da pista durante unha reprodución normal. - + Puts a track into reverse while being held (Censor). - + Playback continues where the track would have been if it had not been temporarily reversed. - - - + + + Play/Pause Reproducir/Deter - + Jumps to the beginning of the track. Salta ao principio da pista. - + Syncs the tempo (BPM) and phase to that of the other track, if BPM is detected on both. - + Syncs the tempo (BPM) to that of the other track, if BPM is detected on both. - + Sync and Reset Key - + Increases the pitch by one semitone. - + Decreases the pitch by one semitone. - + Enable Vinyl Control - + When disabled, the track is controlled by Mixxx playback controls. - + When enabled, the track responds to external vinyl control. - + Enable Passthrough Activa o paso do son - + Indicates that the audio buffer is too small to do all audio processing. - + Displays cover artwork of the loaded track. - + Displays options for editing cover artwork. - + Star Rating - + Assign ratings to individual tracks by clicking the stars. @@ -14507,33 +14621,33 @@ Use this to change only the effected (wet) signal with EQ and filter effects. - + Prevents the pitch from changing when the rate changes. - + Changes the number of hotcue buttons displayed in the deck - + Starts playing from the beginning of the track. - + Jumps to the beginning of the track and stops. - - + + Plays or pauses the track. Reproduce ou detén a pista. - + (while playing) (cando reproduce) @@ -14553,215 +14667,215 @@ Use this to change only the effected (wet) signal with EQ and filter effects. - + (while stopped) (cando está detida) - + Cue Referencia - + Headphone Auricular - + Mute Silenciar - + Old Synchronize - + Syncs to the first deck (in numerical order) that is playing a track and has a BPM. Sincronizase co primeiro prato (en orde numérica) que estea reproducindo unha pista e teña BPM. - + If no deck is playing, syncs to the first deck that has a BPM. Se non hai un prato reproducindo, sincronizase co primeiro prato que teña BPM. - + Decks can't sync to samplers and samplers can only sync to decks. Os pratos non poden sincronizar con mostreadores e os mostreadores só poden sincronizar con pratos. - + Hold for at least a second to enable sync lock for this deck. - + Decks with sync locked will all play at the same tempo, and decks that also have quantize enabled will always have their beats lined up. - + Resets the key to the original track key. - + Speed Control - - - + + + Changes the track pitch independent of the tempo. - + Increases the pitch by 10 cents. - + Decreases the pitch by 10 cents. - + Pitch Adjust Axuste de ton - + Adjust the pitch in addition to the speed slider pitch. - + Opens a menu to clear hotcues or edit their labels and colors. - + Drag this button onto a Play button while previewing to continue playback after release. - + Dragging with Shift key pressed will not start previewing the hotcue. - + Record Mix Gravar a mestura - + Toggle mix recording. - + Enable Live Broadcasting Activar a difusión en directo - + Stream your mix over the Internet. - + Provides visual feedback for Live Broadcasting status: - + disabled, connecting, connected, failure. - + When enabled, the deck directly plays the audio arriving on the vinyl input. - + Playback will resume where the track would have been if it had not entered the loop. A reprodución retomase cando corresponda na pista como se non houbera entrado no bucle. - + Loop Exit Saír do bucle - + Turns the current loop off. Apaga o bucle actual. - + Slip Mode Modo de esvaramento - + When active, the playback continues muted in the background during a loop, reverse, scratch etc. Cando está activado, a reprodución continua silenciosa en segundo plano durante un bucle, inversión de xiro, rabuñada, etc. - + Once disabled, the audible playback will resume where the track would have been. Unha vez desactivado, a reprodución sonora retomarase na pista na que debera estar. - + Track Key The musical key of a track Clave da pista - + Displays the musical key of the loaded track. Amosa a clave musical da pista cargada. - + Clock Reloxo - + Displays the current time. Amosa o tempo actual. - + Audio Latency Usage Meter - + Displays the fraction of latency used for audio processing. - + A high value indicates that audible glitches are likely. - + Do not enable keylock, effects or additional decks in this situation. - + Audio Latency Overload Indicator @@ -14806,254 +14920,254 @@ Use this to change only the effected (wet) signal with EQ and filter effects. - + Fast Rewind Retroceso rápido - + Fast rewind through the track. Retroceder rápido na pista. - + Fast Forward Avance rápido - + Fast forward through the track. Avance rápido na pista. - + Jumps to the end of the track. Salta á fin da pista. - + Sets the pitch to a key that allows a harmonic transition from the other track. Requires a detected key on both involved decks. - - - + + + Pitch Control Control do ton - + Pitch Rate Taxa de ton - + Displays the current playback rate of the track. Amosa a taxa de reprodución actual da pista. - + Repeat Repetición - + When active the track will repeat if you go past the end or reverse before the start. Cando está activada, a pista repetirase se sobrepasa a fin ou cara atrás antes do inicio. - + Eject Expulsar - + Ejects track from the player. Expulsa a pista do reprodutor. - + Hotcue Referencia activa - + If hotcue is set, jumps to the hotcue. Se está estabelecida a referencia activa, salta á referencia activa. - + If hotcue is not set, sets the hotcue to the current play position. Se non está estabelecida a referencia activa, estabelece a referencia activa na posición de reprodución actual. - + Vinyl Control Mode Modo do Control do vinilo - + Absolute mode - track position equals needle position and speed. Modo absoluto - a posición da pista é igual a posición e velocidade da agulla. - + Relative mode - track speed equals needle speed regardless of needle position. Modo relativo - a velocidade da pista é igual á velocidade da agulla sen importar a posición da agulla. - + Constant mode - track speed equals last known-steady speed regardless of needle input. Modo constante - a velocidade da pista é igual á última velocidade constante coñecida, independentemente da entrada da agulla. - + Vinyl Status Estado do vinilo - + Provides visual feedback for vinyl control status: Fornece información visual para o estado do control do vinilo: - + Green for control enabled. Verde para o control activado. - + Blinking yellow for when the needle reaches the end of the record. Amarelo intermitente para cando a agulla chega á fin do disco. - + Loop-In Marker Marcador do inicio do bucle - + Loop-Out Marker Marcador da fin do bucle - + Loop Halve Divide o bucle á metade - + Halves the current loop's length by moving the end marker. Divide á metade a lonxitude do bucle actual movendo o marcador da fin. - + Deck immediately loops if past the new endpoint. O prato reinicia inmediatamente o bucle de sobrepasarse o novo punto de fin. - + Loop Double Duplica a lonxitude do bucle - + Doubles the current loop's length by moving the end marker. Duplica a lonxitude do bucle actual movendo o marcador da fin. - + Beatloop Golpe de bucle - + Toggles the current loop on or off. Conmutar o apagado e activado do bucle actual. - + Works only if Loop-In and Loop-Out marker are set. Só funciona se se estabelecen as marcas de inicio fin do de bucle. - + Vinyl Cueing Mode Modo punto de referencia do vinilo - + Determines how cue points are treated in vinyl control Relative mode: Determina como se tratan os puntos de referencia no modo relativo do control do vinilo: - + Off - Cue points ignored. Apagado: Os puntos de referencia son ignorados. - + One Cue - If needle is dropped after the cue point, track will seek to that cue point. Unha referencia: Se a agulla fose soltada despois dun punto de referencia, a pista vai buscar ese punto de referencia. - + Track Time Tempo da pista - + Track Duration Duración da pista - + Displays the duration of the loaded track. Amosa a duración da pista cargada. - + Information is loaded from the track's metadata tags. A información cargase desde as etiquetas de metadatos da pista. - + Track Artist Intérprete da pista - + Displays the artist of the loaded track. Amosa o intérprete da pista cargada. - + Track Title Título da pista - + Displays the title of the loaded track. Amosa o título da pista cargada. - + Track Album Álbum da pista - + Displays the album name of the loaded track. Amosa o álbum da pista cargada. - + Track Artist/Title Pista interprete/título - + Displays the artist and title of the loaded track. Amosa o interprete e o título da pista cargada. @@ -15061,12 +15175,12 @@ Use this to change only the effected (wet) signal with EQ and filter effects. TrackCollection - + Hiding tracks - + The selected tracks are in the following playlists:%1Hiding them will remove them from these playlists. Continue? @@ -15281,47 +15395,47 @@ This can not be undone! WCueMenuPopup - + Cue number - + Cue position - + Edit cue label - + Label... - + Delete this cue - + Toggle this cue type between normal cue and saved loop - + Left-click: Use the old size or the current beatloop size as the loop size - + Right-click: Use the current play position as loop end if it is after the cue - + Hotcue #%1 @@ -15446,323 +15560,353 @@ This can not be undone! + Search in Current View... + + + + + Search for tracks in the current library view + + + + + Ctrl+f + + + + + Search in Tracks Library... + + + + + Search in the internal track collection under "Tracks" in the library + + + + + Ctrl+Shift+F + + + + Create &New Playlist Crear unha &nova lista de reprodución - + Create a new playlist Crear unha nova lista de reprodución - + Ctrl+n Ctrl+n - + Create New &Crate Crear un novo &caixón - + Create a new crate Crear un novo caixón - + Ctrl+Shift+N Ctrl+Maiús+N - - + + &View &Ver - + Auto-hide menu bar - + Auto-hide the main menu bar when it's not used. - + May not be supported on all skins. É probábel que non admita todos os temas. - + Show Skin Settings Menu - + Show the Skin Settings Menu of the currently selected Skin - + Ctrl+1 Menubar|View|Show Skin Settings Ctrl+1 - + Show Microphone Section Amosar a sección do micrófono - + Show the microphone section of the Mixxx interface. Amosa a sección do micrófono na interface do Mixxx. - + Ctrl+2 Menubar|View|Show Microphone Section Ctrl+2 - + Show Vinyl Control Section Amosar a sección do Control do vinilo - + Show the vinyl control section of the Mixxx interface. Amosa a sección do control do vinilo na interface do Mixxx. - + Ctrl+3 Menubar|View|Show Vinyl Control Section Ctrl+3 - + Show Preview Deck Amosar a escoita previa do prato - + Show the preview deck in the Mixxx interface. Amosar a escoita previa do prato na interface do Mixxx. - + Ctrl+4 Menubar|View|Show Preview Deck Ctrl+4 - + Show Cover Art Amosa o deseño da portada - + Show cover art in the Mixxx interface. Amosar o deseño da portada na interface do Mixxx. - + Ctrl+6 Menubar|View|Show Cover Art Ctrl+6 - + Maximize Library Maximizar a fonoteca - + Maximize the track library to take up all the available screen space. Maximiza ou restaura a vista da fonoteca per abarcar toda a pantalla - + Space Menubar|View|Maximize Library Espazo - + &Full Screen &Pantalla completa - + Display Mixxx using the full screen Amosa o Mixxx usando a pantalla completa - + &Options &Opcións - + &Vinyl Control &Control do vinilo - + Use timecoded vinyls on external turntables to control Mixxx Usar vinilos con código de tempo en xira discos externos para controlar Mixxx - + Enable Vinyl Control &%1 Activar o Control do vinilo &%1 - + &Record Mix &Gravar a mestura - + Record your mix to a file Grava a súa mestura a un ficheiro - + Ctrl+R Ctrl+R - + Enable Live &Broadcasting Activar a &difusión en directo - + Stream your mixes to a shoutcast or icecast server Difundir as súas mesturas a un servidor Shoutcast ou Icecast - + Ctrl+L Ctrl+L - + Enable &Keyboard Shortcuts Activar os atallos do &teclado - + Toggles keyboard shortcuts on or off Conmutar os atallos de teclado activados ou desactivados - + Ctrl+` Ctrl+` - + &Preferences &Preferencias - + Change Mixxx settings (e.g. playback, MIDI, controls) Cambiar os axustes do Mixxx (p.ex. reprodución, MIDI, controles) - + &Developer &Desenvolvedor - + &Reload Skin &Volver cargar o tema - + Reload the skin Volver cargar o tema - + Ctrl+Shift+R Ctrl+Maiús+R - + Developer &Tools &Ferramentas de desenvolvemento - + Opens the developer tools dialog Abre o cadro de diálogo das ferramentas de desenvolvemento - + Ctrl+Shift+T Ctrl+Maiús+T - + Stats: &Experiment Bucket - + Enables experiment mode. Collects stats in the EXPERIMENT tracking bucket. - + Ctrl+Shift+E Ctrl+Maiús+E - + Stats: &Base Bucket - + Enables base mode. Collects stats in the BASE tracking bucket. - + Ctrl+Shift+B Ctrl+Maiús+B - + Deb&ugger Enabled - + Enables the debugger during skin parsing - + Ctrl+Shift+D Ctrl+Maiús+D - + &Help &Axuda - + Show Keywheel menu title @@ -15779,74 +15923,74 @@ This can not be undone! - + Show keywheel tooltip text - + F12 Menubar|View|Show Keywheel - + &Community Support Axuda da &comunidade - + Get help with Mixxx Obter axuda con Mixxx - + &User Manual Manual do &usuario - + Read the Mixxx user manual. Lea o manual do usuario do Mixxx. - + &Keyboard Shortcuts - + Speed up your workflow with keyboard shortcuts. - + &Settings directory - + Open the Mixxx user settings directory. - + &Translate This Application &Traducir este aplicativo - + Help translate this application into your language. Axude a traducir este aplicativo ao seu idioma. - + &About &Sobre - + About the application Sobre o aplicativo @@ -15854,25 +15998,25 @@ This can not be undone! WOverview - + Passthrough Pasante - + Ready to play, analyzing... Text on waveform overview when file is playable but no waveform is visible - - + + Loading track... Text on waveform overview when file is cached from source - + Finalizing... Text on waveform overview during finalizing of waveform analysis @@ -15881,25 +16025,13 @@ This can not be undone! WSearchLineEdit - - Clear input - Clear the search bar input field - - - - - Ctrl+F - Search|Focus - Ctrl+F - - - + Search noun Buscar - + Clear input @@ -15910,169 +16042,163 @@ This can not be undone! Buscar... - + Clear the search bar input field - - Enter a string to search for + + Return - - Use operators like bpm:115-128, artist:BooFar, -year:1990 + + Enter a string to search for. - - For more information see User Manual > Mixxx Library + + Use operators like bpm:115-128, artist:BooFar, -year:1990. - Shortcut - Atallo + See User Manual > Mixxx Library for more information. + - - Ctrl+F - Ctrl+F + + Focus/Select All (Search in current view) + Give search bar input focus + - - Focus - Give search bar input focus + + Focus/Select All (Search in 'Tracks' library view) - - - Ctrl+Backspace + + Additional Shortcuts When Focused: - Shortcuts + Trigger search before search-as-you-type timeout or focus tracks view afterwards - Return + Esc or Ctrl+Return - Trigger search before search-as-you-type timeout orjump to tracks view afterwards + Immediately trigger search and focus tracks view + Exit search bar and leave focus - + Ctrl+Space - + Toggle search history Shows/hides the search history entries - + Delete or Backspace - - Delete query from history + + in search history - - Esc - Esc - - - - Exit search - Exit search bar and leave focus + + Delete query from history WSearchRelatedTracksMenu - + Search related Tracks - + Key Clave - + harmonic with %1 - + BPM BPM - + between %1 and %2 - + Artist Interprete - + Album Artist Interprete do álbum - + Composer Compositor - + Title Título - + Album Álbum - + Grouping Agrupación - + Year Ano - + Genre Xénero - + Directory - + &Search selected @@ -16080,620 +16206,625 @@ This can not be undone! WTrackMenu - + Load to - + Deck Prato - + Sampler Mostras - + Add to Playlist Engadir á lista de reprodución - + Crates Caixóns - + Metadata Metadatos - + Update external collections - + Cover Art Deseño da portada - + Adjust BPM - + Select Color - - + + Analyze Analizar - - + + Delete Track Files - + Add to Auto DJ Queue (bottom) Engadir á cola de DJ automático (abaixo) - + Add to Auto DJ Queue (top) Engadir á cola de DJ automático (arriba) - + Add to Auto DJ Queue (replace) Engadir á cola do DJ automático (trocar) - + Preview Deck Escoita previa do prato - + Remove Retirar - + Remove from Playlist - + Remove from Crate - + Hide from Library Agachar da fonoteca - + Unhide from Library Amosar da fonoteca - + Purge from Library Purgar da fonoteca - + Move Track File(s) to Trash - + Delete Files from Disk - + Properties Propiedades - + Open in File Browser Abrir no navegador de ficheiros - + Select in Library - + Import From File Tags - + Import From MusicBrainz - + Export To File Tags - + BPM and Beatgrid - + Play Count - + Rating Cualificación - + Cue Point - - + + Hotcues Referencias activas - + Intro - + Outro - + Key Clave - + ReplayGain ReplayGain - + Waveform - + Comment Comentario - + All Todas - + Sort hotcues by position (remove offsets) - + Sort hotcues by position - + Lock BPM Bloquear os BPM - + Unlock BPM Desbloquear os BPM - + Double BPM Duplicar os BPM - + Halve BPM Dividir ÷2 os BPM - + 2/3 BPM 2/3 BPM - + 3/4 BPM 3/4 BPM - + 4/3 BPM 4/3 BPM - + 3/2 BPM 3/2 BPM - + + Shift Beatgrid Half Beat + + + + Reanalyze - + Reanalyze (constant BPM) - + Reanalyze (variable BPM) - + Update ReplayGain from Deck Gain - + Deck %1 Prato %1 - + Importing metadata of %n track(s) from file tags - + Marking metadata of %n track(s) to be exported into file tags - - + + Create New Playlist Crear unha nova lista de reprodución - + Enter name for new playlist: Escriba o nome para a nova lista de reprodución - + New Playlist Nova lista de reprodución - - - + + + Playlist Creation Failed Non foi posíbel crear a lista de reprodución - + A playlist by that name already exists. Xa existe unha lista de reprodución con ese nome. - + A playlist cannot have a blank name. Unha lista de reprodución non pode ter un nome baleiro. - + An unknown error occurred while creating playlist: Produciuse un erro descoñecido mentres se creaba a lista de reprodución: - + Add to New Crate - + Scaling BPM of %n track(s) - + Undo BPM/beats change of %n track(s) - + Locking BPM of %n track(s) - + Unlocking BPM of %n track(s) - + Setting rating of %n track(s) - + Setting color of %n track(s) - + Resetting play count of %n track(s) - + Resetting beats of %n track(s) - + Clearing rating of %n track(s) - + Clearing comment of %n track(s) - + Removing main cue from %n track(s) - + Removing outro cue from %n track(s) - + Removing intro cue from %n track(s) - + Removing loop cues from %n track(s) - + Removing hot cues from %n track(s) - + Sorting hotcues of %n track(s) by position (remove offsets) - + Sorting hotcues of %n track(s) by position - + Resetting keys of %n track(s) - + Resetting replay gain of %n track(s) - + Resetting waveform of %n track(s) - + Resetting all performance metadata of %n track(s) - + Move these files to the trash bin? - + Permanently delete these files from disk? - - + + This can not be undone! - + Cancel Cancelar - + Delete Files - + Okay - + Move Track File(s) to Trash? - + Track Files Deleted - + Track Files Moved To Trash - + %1 track files were moved to trash and purged from the Mixxx database. - + %1 track files were deleted from disk and purged from the Mixxx database. - + Track File Deleted - + Track file was deleted from disk and purged from the Mixxx database. - + The following %1 file(s) could not be deleted from disk - + This track file could not be deleted from disk - + Remaining Track File(s) - + Close Pechar - + Clear Reset metadata in right click track context menu in library - + Loops - + Clear BPM and Beatgrid - + Undo last BPM/beats change - + Move this track file to the trash bin? - + Permanently delete this track file from disk? - + All decks where these tracks are loaded will be stopped and the tracks will be ejected. - + All decks where this track is loaded will be stopped and the track will be ejected. - + Removing %n track file(s) from disk... - + Note: if you are in the Computer or Recording view you need to click the current view again to see changes. - + Track File Moved To Trash - + Track file was moved to trash and purged from the Mixxx database. - + Don't show again during this session - + The following %1 file(s) could not be moved to trash - + This track file could not be moved to trash - + Setting cover art of %n track(s) - + Reloading cover art of %n track(s) @@ -16709,37 +16840,37 @@ This can not be undone! WTrackStemMenu - + Load for stem mixing - + Load pre-mixed stereo track - + Load the "%1" stem - + Load multiple stem into a stereo deck - + Select stems to load - + Release "CTRL" to load the current selection - + Use "CTRL" to select multiple stems @@ -16747,37 +16878,37 @@ This can not be undone! WTrackTableView - + Confirm track hide - + Are you sure you want to hide the selected tracks? - + Are you sure you want to remove the selected tracks from AutoDJ queue? - + Are you sure you want to remove the selected tracks from this crate? - + Are you sure you want to remove the selected tracks from this playlist? - + Don't ask again during this session - + Confirm track removal @@ -16785,12 +16916,12 @@ This can not be undone! WTrackTableViewHeader - + Show or hide columns. Amosar ou agachar as columnas. - + Shuffle Tracks @@ -16798,52 +16929,52 @@ This can not be undone! mixxx::CoreServices - + fonts - + database - + effects - + audio interface - + decks - + library - + Choose music library directory Escolla o directorio da fonoteca - + controllers - + Cannot open database Non é posíbel abrir a base de datos - + Unable to establish a database connection. Mixxx requires QT with SQLite support. Please read the Qt SQL driver documentation for information on how to build it. @@ -16854,68 +16985,78 @@ Click OK to exit. mixxx::DlgLibraryExport - + Entire music library - - Selected crates + + Crates - + + Playlists + + + + + Selected crates/playlists + + + + Browse Examinar - + Export directory - + Database version - + Export Exportar - + Cancel Cancelar - + Export Library to Engine DJ "Engine DJ" must not be translated - + Export Library To - + No Export Directory Chosen - + No export directory was chosen. Please choose a directory in order to export the music library. - + A database already exists in the chosen directory. Exported tracks will be added into this database. - + A database already exists in the chosen directory, but there was a problem loading it. Export is not guaranteed to succeed in this situation. @@ -16936,7 +17077,7 @@ Click OK to exit. mixxx::EnginePrimeExportJob - + Failed to export track %1 - %2: %3 %1 is the artist %2 is the title and %3 is the original error message @@ -16946,23 +17087,23 @@ Click OK to exit. mixxx::LibraryExporter - + Export Completed - - Exported %1 track(s) and %2 crate(s). + + Exported %1 track(s), %2 crate(s), and %3 playlist(s). - + Export Failed - - Exporting to Engine Prime... + + Exporting to Engine DJ... diff --git a/res/translations/mixxx_hi_IN.qm b/res/translations/mixxx_hi_IN.qm index c121bd2b54d66beaa8769af6e887c07d78512323..5c19267877af1a5891ba2e9549a48e14e4ddd9bd 100644 GIT binary patch delta 41 xcmeA?&UpPO;{-XzjE(Z~jEroX>lr69ZkAxKW@U7l92lduc^}7v$jKhbjsPke4ln=! delta 189 zcmcb9l(F+T;{-Xzf{pU=jEoyL*E3FJWN+`WV_=A4+sw~g!^-$>vaf~K=4~7gBI~0V zR2d8z6gcHMeK`#{Jvc=fG&n67G=U-_oCXXEKv^RoTNEto&M6O<73H)8id%4MbAseG zIPHPDeL3|x?Ko9{d`nJ8PBsn(AYcPxRo9Aw{GyW76a`g7g_5Gg AutoDJFeature - + Crates संदूक - + + Enable Auto DJ + + + + + Disable Auto DJ + + + + + Clear Auto DJ Queue + + + + Remove Crate as Track Source क्रेट को ट्रैक स्रोत से हटाएं - + Auto DJ स्वत: डीजे - + + Confirmation Clear + + + + + Do you really want to remove all tracks from the Auto DJ queue? + + + + + This can not be undone. + + + + Add Crate as Track Source क्रेट को ट्रैक स्रोत में जोड़ें @@ -118,154 +148,161 @@ BasePlaylistFeature - + New Playlist नई प्लेलिस्ट - + Add to Auto DJ Queue (bottom) स्वत: डीजे के पंक्ति में जोड़ें (सब से नीचे) - - + + Create New Playlist नई प्लेलिस्ट बनाएं - + Add to Auto DJ Queue (top) स्वत: डीजे के पंक्ति में जोड़ें (सब से ऊपर) - + Remove हटाएं - + Rename नाम बदलें - + Lock लॉक - + Duplicate प्रतिरूप बनाएं - - + + Import Playlist प्लेलिस्ट आयात करें - + Export Track Files ट्रैक फ़ाइलें निर्यात करें - + Analyze entire Playlist पूरी प्लेलिस्ट का विश्लेषण करें - + Enter new name for playlist: प्लेलिस्ट के लिए नया नाम दर्ज करें: - + Duplicate Playlist प्लेलिस्ट का प्रतिरूप बनाएं - - + + Enter name for new playlist: नई प्लेलिस्ट के लिए नाम दर्ज करें: - - + + Export Playlist प्लेलिस्ट निर्यात करें - + Add to Auto DJ Queue (replace) - + + + Export to Engine DJ + "Engine DJ" is a product name and must not be translated. + + + + Rename Playlist प्लेलिस्ट का नाम बदलें - - + + Renaming Playlist Failed प्लेलिस्ट का नामकरण विफल - - - + + + A playlist by that name already exists. उस नाम की एक प्लेलिस्ट पहले से मौजूद है। - - - + + + A playlist cannot have a blank name. एक प्लेलिस्ट में एक खाली नाम नहीं हो सकता। - + _copy //: Appendix to default name when duplicating a playlist _कॉपी - - - - - - + + + + + + Playlist Creation Failed प्लेलिस्ट निर्माण विफल रहा - - + + An unknown error occurred while creating playlist: प्लेलिस्ट बनाते समय एक अज्ञात त्रुटि हुई: - + Confirm Deletion - + Do you really want to delete playlist <b>%1</b>? - + M3U Playlist (*.m3u) एम३यू प्लेलिस्ट (*.m3u) - + M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Text CSV (*.csv);;Readable Text (*.txt) एम३यू प्लेलिस्ट (*.m3u);;एम३यू८ प्लेलिस्ट (*.m3u8);;पीएलएस प्लेलिस्ट (*.pls);;टेक्स्ट सीएसवी (*.csv);;रीडेबल टेक्स्ट (*.txt) @@ -273,12 +310,12 @@ BaseSqlTableModel - + # # - + Timestamp टाइमस्टैम्प @@ -286,7 +323,7 @@ BaseTrackPlayerImpl - + Couldn't load track. ट्रैक लोड नहीं हो सका @@ -294,137 +331,142 @@ BaseTrackTableModel - + Album एल्बम - + Album Artist एलबम कलाकार - + Artist कलाकार - + Bitrate बिटरेट - + BPM बीपीएम - + Channels चैनल्स - + Color रंग - + Comment टिप्पणी - + Composer संगीतकार - + Cover Art कवर आर्ट - + Date Added तारीख संकलित हुई - + Last Played - + Duration अवधि - + Type प्रकार - + Genre शैली - + Grouping समूहीकरण - + Key चाभी - + Location स्थान - + + Overview + + + + Preview पूर्वावलोकन - + Rating रेटिंग - + ReplayGain - + Samplerate सैम्पलरेट - + Played चलाये जा चुके - + Title शीर्षक - + Track # ट्रैक # - + Year साल - + Fetching image ... Tooltip text on the cover art column shown when the cover is read from disk @@ -446,22 +488,22 @@ BroadcastProfile - + Can't use secure password storage: keychain access failed. सुरक्षित पासवर्ड संग्रहण का उपयोग नहीं कर सकते: कीचेन ऐक्सेस विफल। - + Secure password retrieval unsuccessful: keychain access failed. सुरक्षित पासवर्ड पुनर्प्राप्ति असफल: कीचेन ऐक्सेस विफल। - + Settings error सेटिंग्स त्रुटि - + <b>Error with settings for '%1':</b><br> @@ -512,213 +554,215 @@ BrowseFeature - + Add to Quick Links शीघ्रगामी लिंकों की कड़ी में जोड़े - + Remove from Quick Links शीघ्रगामी लिंकों की कड़ी से हटाएं - + Add to Library लाइब्रेरी में जोड़ें - + Refresh directory tree - + Quick Links शीघ्रगामी लिंक - - + + Devices यंत्र - + Removable Devices - - + + Computer कंप्यूटर - + Music Directory Added - + You added one or more music directories. The tracks in these directories won't be available until you rescan your library. Would you like to rescan now? - + Scan जाँच करें - + "Computer" lets you navigate, view, and load tracks from folders on your hard disk and external devices. + + + It shows the data from the file tags, not track data from your Mixxx library like other track views. + + + + + If you load a track file from here, it will be added to your library. + + BrowseTableModel - + Preview पूर्वावलोकन - + Filename फ़ाइल का नाम - + Artist कलाकार - + Title शीर्षक - + Album एल्बम - + Track # ट्रैक # - + Year साल - + Genre शैली - + Composer संगीतकार - + Comment टिप्पणी - + Duration अवधि - + BPM बीपीएम - + Key चाभी - + Type प्रकार - + Bitrate बिटरेट - + ReplayGain - + Location स्थान - + Album Artist एलबम कलाकार - + Grouping समूहीकरण - + File Modified फ़ाइल में बदलाव - + File Created फ़ाइल की रचना हुई - + Mixxx Library Mixxx लाइब्रेरी - + Could not load the following file because it is in use by Mixxx or another application. - - BulkController - - - USB Controller - - - CachingReaderWorker - + The file '%1' could not be found. '%1' फ़ाइल नहीं मिली। - + The file '%1' could not be loaded. '%1' फ़ाइल लोड नहीं हो पाया। - + The file '%1' could not be loaded because it contains %2 channels, and only 1 to %3 are supported. - + The file '%1' is empty and could not be loaded. '%1' फ़ाइल खाली है, इसलिए लोड नहीं हुआ। @@ -726,82 +770,87 @@ CmdlineArgs - + Mixxx is an open source DJ software. For more information, see: Mixxx एक सार्वजनिक स्रोत डिस्क जॉकी सॉफ्टवेयर है। अधिक जानकारी के लिए देखें : - + Starts Mixxx in full-screen mode Mixxx को पूरी स्क्रीन में चलाएं - + Use a custom locale for loading translations. (e.g 'fr') - + Top-level directory where Mixxx should look for its resource files such as MIDI mappings, overriding the default installation location. - + Path the debug statistics time line is written to - + Causes Mixxx to display/log all of the controller data it receives and script functions it loads - + The controller mapping will issue more aggressive warnings and errors when detecting misuse of controller APIs. New Controller Mappings should be developed with this option enabled! - + Enables developer-mode. Includes extra log info, stats on performance, and a Developer tools menu. - + Top-level directory where Mixxx should look for settings. Default is: - + Starts Auto DJ when Mixxx is launched. - + + Rescans the library when Mixxx is launched. + + + + Use legacy vu meter - + Use legacy spinny - + Loads experimental QML GUI instead of legacy QWidget skin - + Enables safe-mode. Disables OpenGL waveforms, and spinning vinyl widgets. Try this option if Mixxx is crashing on startup. - + [auto|always|never] Use colors on the console output. - + Sets the verbosity of command line logging. critical - Critical/Fatal only warning - Above + Warnings @@ -811,22 +860,32 @@ trace - Above + Profiling messages - + Sets the the logging level at which the log buffer is flushed to mixxx.log. <level> is one of the values defined at --log-level above. - + + Sets the maximum file size of the mixxx.log file in bytes. Use -1 for unlimited. The default is 100 MB as 1e5 or 100000000. + + + + Breaks (SIGINT) Mixxx, if a DEBUG_ASSERT evaluates to false. Under a debugger you can continue afterwards. - + + Overrides the default application GUI style. Possible values: %1 + + + + Load the specified music file(s) at start-up. Each file you specify will be loaded into the next virtual deck. - + Preview rendered controller screens in the Setting windows. @@ -1008,13 +1067,13 @@ trace - Above + Profiling messages - + Set to full volume - + Set to zero volume @@ -1039,13 +1098,13 @@ trace - Above + Profiling messages - + Headphone listen button - + Mute button @@ -1056,25 +1115,25 @@ trace - Above + Profiling messages - + Mix orientation (e.g. left, right, center) - + Set mix orientation to left - + Set mix orientation to center - + Set mix orientation to right @@ -1115,22 +1174,22 @@ trace - Above + Profiling messages - + Toggle quantize mode - + One-time beat sync (tempo only) - + One-time beat sync (phase only) - + Toggle keylock mode @@ -1140,193 +1199,193 @@ trace - Above + Profiling messages - + Vinyl Control - + Toggle vinyl-control cueing mode (OFF/ONE/HOT) - + Toggle vinyl-control mode (ABS/REL/CONST) - + Pass through external audio into the internal mixer - + Cues - + Cue button - + Set cue point - + Go to cue point - + Go to cue point and play - + Go to cue point and stop - + Preview from cue point - + Cue button (CDJ mode) - + Stutter cue - + Hotcues - + Set, preview from or jump to hotcue %1 - + Clear hotcue %1 - + Set hotcue %1 - + Jump to hotcue %1 - + Jump to hotcue %1 and stop - + Jump to hotcue %1 and play - + Preview from hotcue %1 - - + + Hotcue %1 - + Looping - + Loop In button - + Loop Out button - + Loop Exit button - + 1/2 - + 1 - + 2 - + 4 - + 8 - + 16 - + 32 - + 64 - + Move loop forward by %1 beats - + Move loop backward by %1 beats - + Create %1-beat loop - + Create temporary %1-beat loop roll @@ -1442,20 +1501,20 @@ trace - Above + Profiling messages - - + + Volume Fader - + Full Volume - + Zero Volume @@ -1471,7 +1530,7 @@ trace - Above + Profiling messages - + Mute @@ -1482,7 +1541,7 @@ trace - Above + Profiling messages - + Headphone Listen @@ -1503,25 +1562,25 @@ trace - Above + Profiling messages - + Orientation - + Orient Left - + Orient Center - + Orient Right @@ -1591,82 +1650,82 @@ trace - Above + Profiling messages - + Adjust Beatgrid - + Align beatgrid to current position - + Adjust Beatgrid - Match Alignment - + Adjust beatgrid to match another playing deck. - + Quantize Mode - + Sync - + Beat Sync One-Shot - + Sync Tempo One-Shot - + Sync Phase One-Shot - + Pitch control (does not affect tempo), center is original pitch - + Pitch Adjust - + Adjust pitch from speed slider pitch - + Match musical key - + Match Key - + Reset Key - + Resets key to original @@ -1707,456 +1766,451 @@ trace - Above + Profiling messages - + Toggle Vinyl Control - + Toggle Vinyl Control (ON/OFF) - + Vinyl Control Mode - + Vinyl Control Cueing Mode - + Vinyl Control Passthrough - + Vinyl Control Next Deck - + Single deck mode - Switch vinyl control to next deck - + Cue - + Set Cue - + Go-To Cue - + Go-To Cue And Play - + Go-To Cue And Stop - + Preview Cue - + Cue (CDJ Mode) - + Stutter Cue - + Go to cue point and play after release - + Clear Hotcue %1 - + Set Hotcue %1 - + Jump To Hotcue %1 - + Jump To Hotcue %1 And Stop - + Jump To Hotcue %1 And Play - + Preview Hotcue %1 - + Loop In - + Loop Out - + Loop Exit - + Reloop/Exit Loop - + Loop Halve - + Loop Double - + 1/32 - + 1/16 - + 1/8 - + 1/4 - + Move Loop +%1 Beats - + Move Loop -%1 Beats - + Loop %1 Beats - + Loop Roll %1 Beats - + Add to Auto DJ Queue (bottom) स्वत: डीजे के पंक्ति में जोड़ें (सब से नीचे) - + Append the selected track to the Auto DJ Queue - + Add to Auto DJ Queue (top) स्वत: डीजे के पंक्ति में जोड़ें (सब से ऊपर) - + Prepend selected track to the Auto DJ Queue - + Load Track - + Load selected track - + Load selected track and play - - + + Record Mix - + Toggle mix recording - + Effects - + Quick Effects - + Deck %1 Quick Effect Super Knob - + Quick Effect Super Knob (control linked effect parameters) - - + + Quick Effect - + Clear Unit - + Clear effect unit - + Toggle Unit - + Dry/Wet - + Adjust the balance between the original (dry) and processed (wet) signal. - + Super Knob - + Next Chain - + Assign - + Clear - + Clear the current effect - + Toggle - + Toggle the current effect - + Next - + Switch to next effect - + Previous - + Switch to the previous effect - + Next or Previous - + Switch to either next or previous effect - - + + Parameter Value - - + + Microphone Ducking Strength - + Microphone Ducking Mode - + Gain - + Gain knob - + Shuffle the content of the Auto DJ queue - + Skip the next track in the Auto DJ queue - + Auto DJ Toggle - + Toggle Auto DJ On/Off - - Microphone & Auxiliary Show/Hide - - - - + Show/hide the microphone & auxiliary section - + 4 Effect Units Show/Hide - + Switches between showing 2 and 4 effect units - + Mixer Show/Hide - + Show or hide the mixer. - + Cover Art Show/Hide (Library) - + Show/hide cover art in the library - + Library Maximize/Restore - + Maximize the track library to take up all the available screen space. - + Effect Rack Show/Hide - + Show/hide the effect rack - + Waveform Zoom Out @@ -2171,102 +2225,102 @@ trace - Above + Profiling messages - + Tap to sync tempo (and phase with quantize enabled), hold to enable permanent sync - + One-time beat sync tempo (and phase with quantize enabled) - + Playback Speed - + Playback speed control (Vinyl "Pitch" slider) - + Pitch (Musical key) - + Increase Speed - + Adjust speed faster (coarse) - + Increase Speed (Fine) - + Adjust speed faster (fine) - + Decrease Speed - + Adjust speed slower (coarse) - + Adjust speed slower (fine) - + Temporarily Increase Speed - + Temporarily increase speed (coarse) - + Temporarily Increase Speed (Fine) - + Temporarily increase speed (fine) - + Temporarily Decrease Speed - + Temporarily decrease speed (coarse) - + Temporarily Decrease Speed (Fine) - + Temporarily decrease speed (fine) @@ -2418,1039 +2472,1075 @@ trace - Above + Profiling messages - - - Toggle the BPM/beatgrid lock + + Move Beatgrid Half a Beat - - Revert last BPM/Beatgrid Change + + Adjust the beatgrid by exactly one half beat. Usable only for tracks with constant tempo. - Revert last BPM/Beatgrid Change of the loaded track. + + Toggle the BPM/beatgrid lock - - Sync / Sync Lock + + Revert last BPM/Beatgrid Change - - Internal Sync Leader + + Revert last BPM/Beatgrid Change of the loaded track. - - Toggle Internal Sync Leader + + Sync / Sync Lock + Internal Sync Leader + + + - Internal Leader BPM + Toggle Internal Sync Leader + + Internal Leader BPM + + + + Internal Leader BPM +1 - + Increase internal Leader BPM by 1 - + Internal Leader BPM -1 - + Decrease internal Leader BPM by 1 - + Internal Leader BPM +0.1 - + Increase internal Leader BPM by 0.1 - + Internal Leader BPM -0.1 - + Decrease internal Leader BPM by 0.1 - + Sync Leader - + Sync mode 3-state toggle / indicator (Off, Soft Leader, Explicit Leader) - + Speed - + Decrease Speed (Fine) - + Pitch (Musical Key) - + Increase Pitch - + Increases the pitch by one semitone - + Increase Pitch (Fine) - + Increases the pitch by 10 cents - + Decrease Pitch - + Decreases the pitch by one semitone - + Decrease Pitch (Fine) - + Decreases the pitch by 10 cents - + Keylock - + CUP (Cue + Play) - + Shift cue points earlier - + Shift cue points 10 milliseconds earlier - + Shift cue points earlier (fine) - + Shift cue points 1 millisecond earlier - + Shift cue points later - + Shift cue points 10 milliseconds later - + Shift cue points later (fine) - + Shift cue points 1 millisecond later - + + + Sort hotcues by position + + + + + + Sort hotcues by position (remove offsets) + + + + Hotcues %1-%2 - + Intro / Outro Markers - + Intro Start Marker - + Intro End Marker - + Outro Start Marker - + Outro End Marker - + intro start marker - + intro end marker - + outro start marker - + outro end marker - + Activate %1 [intro/outro marker - + Jump to or set the %1 [intro/outro marker - + Set %1 [intro/outro marker - + Set or jump to the %1 [intro/outro marker - + Clear %1 [intro/outro marker - + Clear the %1 [intro/outro marker - + if the track has no beats the unit is seconds - + Loop Selected Beats - + Create a beat loop of selected beat size - + Loop Roll Selected Beats - + Create a rolling beat loop of selected beat size - + Loop %1 Beats set from its end point - + Loop Roll %1 Beats set from its end point - + Create %1-beat loop with the current play position as loop end - + Create temporary %1-beat loop roll with the current play position as loop end - + Loop Beats - + Loop Roll Beats - + Go To Loop In - + Go to Loop In button - + Go To Loop Out - + Go to Loop Out button - + Toggle loop on/off and jump to Loop In point if loop is behind play position - + Reloop And Stop - + Enable loop, jump to Loop In point, and stop - + Halve the loop length - + Double the loop length - + Beat Jump / Loop Move - + Jump / Move Loop Forward %1 Beats - + Jump / Move Loop Backward %1 Beats - + Jump forward by %1 beats, or if a loop is enabled, move the loop forward %1 beats - + Jump backward by %1 beats, or if a loop is enabled, move the loop backward %1 beats - + Beat Jump / Loop Move Forward Selected Beats - + Jump forward by the selected number of beats, or if a loop is enabled, move the loop forward by the selected number of beats - + Beat Jump / Loop Move Backward Selected Beats - + Jump backward by the selected number of beats, or if a loop is enabled, move the loop backward by the selected number of beats - + Beat Jump - + Indicate which loop marker remain static when adjusting the size or is inherited from the current position - + Beat Jump / Loop Move Forward - + Beat Jump / Loop Move Backward - + Loop Move Forward - + Loop Move Backward - + Remove Temporary Loop - + Remove the temporary loop - + Navigation - + Move up - + Equivalent to pressing the UP key on the keyboard - + Move down - + Equivalent to pressing the DOWN key on the keyboard - + Move up/down - + Move vertically in either direction using a knob, as if pressing UP/DOWN keys - + Scroll Up - + Equivalent to pressing the PAGE UP key on the keyboard - + Scroll Down - + Equivalent to pressing the PAGE DOWN key on the keyboard - + Scroll up/down - + Scroll vertically in either direction using a knob, as if pressing PGUP/PGDOWN keys - + Move left - + Equivalent to pressing the LEFT key on the keyboard - + Move right - + Equivalent to pressing the RIGHT key on the keyboard - + Move left/right - + Move horizontally in either direction using a knob, as if pressing LEFT/RIGHT keys - + Move focus to right pane - + Equivalent to pressing the TAB key on the keyboard - + Move focus to left pane - + Equivalent to pressing the SHIFT+TAB key on the keyboard - + Move focus to right/left pane - + Move focus one pane to right or left using a knob, as if pressing TAB/SHIFT+TAB keys - + Sort focused column - + Sort the column of the cell that is currently focused, equivalent to clicking on its header - + Go to the currently selected item - + Choose the currently selected item and advance forward one pane if appropriate - + Load Track and Play - + Add to Auto DJ Queue (replace) - + Replace Auto DJ Queue with selected tracks - + Select next search history - + Selects the next search history entry - + Select previous search history - + Selects the previous search history entry - + Move selected search entry - + Moves the selected search history item into given direction and steps - + Clear search - + Clears the search query - - + + Select Next Color Available - + Select the next color in the color palette for the first selected track - - + + Select Previous Color Available - + Select the previous color in the color palette for the first selected track - + Deck %1 Quick Effect Enable Button - + Quick Effect Enable Button - + Enable or disable effect processing - + Super Knob (control effects' Meta Knobs) - + Mix Mode Toggle - + Toggle effect unit between D/W and D+W modes - + Next chain preset - + Previous Chain - + Previous chain preset - + Next/Previous Chain - + Next or previous chain preset - - + + Show Effect Parameters - + Effect Unit Assignment - + Meta Knob - + Effect Meta Knob (control linked effect parameters) - + Meta Knob Mode - + Set how linked effect parameters change when turning the Meta Knob. - + Meta Knob Mode Invert - + Invert how linked effect parameters change when turning the Meta Knob. - - + + Button Parameter Value - + Microphone / Auxiliary - + Microphone On/Off - + Microphone on/off - + Toggle microphone ducking mode (OFF, AUTO, MANUAL) - + Auxiliary On/Off - + Auxiliary on/off - + Auto DJ स्वत: डीजे - + Auto DJ Shuffle - + Auto DJ Skip Next - + Auto DJ Add Random Track - + Add a random track to the Auto DJ queue - + Auto DJ Fade To Next - + Trigger the transition to the next track - + User Interface - + Samplers Show/Hide - + Show/hide the sampler section - + + Microphone && Auxiliary Show/Hide + keep double & to prevent creation of keyboard accelerator + + + + Waveform Zoom Reset To Default - + Reset the waveform zoom level to the default value selected in Preferences -> Waveforms - + Select the next color in the color palette for the loaded track. - + Select previous color in the color palette for the loaded track. - + Navigate Through Track Colors - + Select either next or previous color in the palette for the loaded track. - + Start/Stop Live Broadcasting - + Stream your mix over the Internet. - + Start/stop recording your mix. - - + + Samplers - + Vinyl Control Show/Hide - + Show/hide the vinyl control section - + Preview Deck Show/Hide - + Show/hide the preview deck - + Toggle 4 Decks - + Switches between showing 2 decks and 4 decks. - + Cover Art Show/Hide (Decks) - + Show/hide cover art in the main decks - + Vinyl Spinner Show/Hide - + Show/hide spinning vinyl widget - + Vinyl Spinners Show/Hide (All Decks) - + Show/Hide all spinnies - + Toggle Waveforms - + Show/hide the scrolling waveforms. - + Waveform zoom - + Waveform Zoom - + Zoom waveform in - + Waveform Zoom In - + Zoom waveform out - + Star Rating Up - + Increase the track rating by one star - + Star Rating Down - + Decrease the track rating by one star + + Controller + + + Unknown + + + ControllerInputMappingTableModel @@ -3540,12 +3630,12 @@ trace - Above + Profiling messages - + Unnamed - + <i>FPS: %0/%1</i> @@ -3553,32 +3643,32 @@ trace - Above + Profiling messages ControllerScriptEngineBase - + The functionality provided by this controller mapping will be disabled until the issue has been resolved. - + You can ignore this error for this session but you may experience erratic behavior. - + Try to recover by resetting your controller. - + Controller Mapping Error - + The mapping for your controller "%1" is not working properly. - + The script code needs to be fixed. @@ -3586,27 +3676,27 @@ trace - Above + Profiling messages ControllerScriptEngineLegacy - + Controller Mapping File Problem - + The mapping for controller "%1" cannot be opened. - + The functionality provided by this controller mapping will be disabled until the issue has been resolved. - + File: फ़ाइल : - + Error: @@ -3627,13 +3717,13 @@ trace - Above + Profiling messages हटाएं - + Create New Crate - + Rename नाम बदलें @@ -3686,7 +3776,7 @@ trace - Above + Profiling messages - + Export Crate @@ -3696,7 +3786,7 @@ trace - Above + Profiling messages - + An unknown error occurred while creating crate: @@ -3705,12 +3795,6 @@ trace - Above + Profiling messages Rename Crate - - - - Export to Engine Prime - - Make a crate for your next gig, for your favorite electrohouse tracks, or for your most requested tracks. @@ -3728,17 +3812,17 @@ trace - Above + Profiling messages - + Crate Creation Failed - + M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Text CSV (*.csv);;Readable Text (*.txt) एम३यू प्लेलिस्ट (*.m3u);;एम३यू८ प्लेलिस्ट (*.m3u8);;पीएलएस प्लेलिस्ट (*.pls);;टेक्स्ट सीएसवी (*.csv);;रीडेबल टेक्स्ट (*.txt) - + M3U Playlist (*.m3u) एम३यू प्लेलिस्ट (*.m3u) @@ -3747,6 +3831,12 @@ trace - Above + Profiling messages Crates are a great way to help organize the music you want to DJ with. + + + + Export to Engine DJ + + Crates let you organize your music however you'd like! @@ -3858,12 +3948,12 @@ trace - Above + Profiling messages - + Official Website - + Donate @@ -3919,7 +4009,7 @@ trace - Above + Profiling messages - + Analyze विश्लेषण @@ -3969,12 +4059,12 @@ trace - Above + Profiling messages - + Analyzing %1% %2/%3 - + Analyzing %1/%2 @@ -3982,92 +4072,72 @@ trace - Above + Profiling messages DlgAutoDJ - + Skip - + Random - + Fade - + Enable Auto DJ Shortcut: Shift+F12 - + Disable Auto DJ Shortcut: Shift+F12 - + Trigger the transition to the next track Shortcut: Shift+F11 - + Skip the next track in the Auto DJ queue Shortcut: Shift+F10 - + Shuffle the content of the Auto DJ queue Shortcut: Shift+F9 - + Repeat the playlist - + Determines the duration of the transition - + Seconds - - Full Intro + Outro - - - - - Fade At Outro Start - - - - - Full Track - - - - - Skip Silence - - - - + Auto DJ Fade Modes Full Intro + Outro: @@ -4089,59 +4159,89 @@ silence between tracks. Skip Silence: Play the whole track except for silence at the beginning and end. Begin crossfading from the selected number of seconds before the -last sound. +last sound. + +Skip Silence Start Full Volume: +The same as Skip Silence, but starting transitions with a centered +crossfader, so that the intro starts at full volume. + - - Repeat + + Full Intro + Outro - - Auto DJ requires two decks assigned to opposite sides of the crossfader. + + Fade At Outro Start - - One deck must be stopped to enable Auto DJ mode. + + Full Track + + + + + Skip Silence + + + + + Skip Silence Start Full Volume + + + + + Decks not used for Auto DJ must be stopped to enable Auto DJ mode. + + + + + Repeat + + + + + Auto DJ requires two decks assigned to opposite sides of the crossfader. - - Decks 3 and 4 must be stopped to enable Auto DJ mode. + + One deck must be stopped to enable Auto DJ mode. - + Enable - + Disable - + Displays the duration and number of selected tracks. - - - + + + Auto DJ स्वत: डीजे - + Shuffle - + Adds a random track from track sources (crates) to the Auto DJ queue. If no track sources are configured, the track is added from the library instead. @@ -4160,7 +4260,7 @@ If no track sources are configured, the track is added from the library instead. - + Choose between different algorithms to detect beats. @@ -4195,23 +4295,38 @@ Often results in higher quality beatgrids, but will not do well on tracks that h - - Choose Analyzer + + Use rhythmic channel when analysing stem file - - Analyzer Settings + + Disabled - - Enable Fast Analysis (For slow computers, may be less accurate) + + Enforced - - Assume constant tempo (Recommended) + + Choose Analyzer + + + + + Analyzer Settings + + + + + Enable Fast Analysis (For slow computers, may be less accurate) + + + + + Assume constant tempo (Recommended) @@ -4349,32 +4464,37 @@ Often results in higher quality beatgrids, but will not do well on tracks that h - + Didn't get any midi messages. Please try again. - + Unable to detect a mapping -- please try again. Be sure to only touch one control at once. - + Successfully mapped control: - + <i>Ready to learn %1</i> - + Learning: %1. Now move a control on your controller. - + + The selected control does not exist.<br>This likely a bug. Please report it on the Mixxx bug tracker.<br><a href='https://github.com/mixxxdj/mixxx/issues'>https://github.com/mixxxdj/mixxx/issues</a><br><br>You tried to learn: %1,%2 + + + + The control you clicked in Mixxx is not learnable. This could be because you are either using an old skin and this control is no longer supported, or you clicked a control that provides visual feedback and can only be mapped to outputs like LEDs via scripts. @@ -4413,17 +4533,17 @@ You tried to learn: %1,%2 - + Log - + Search - + Stats @@ -4489,7 +4609,7 @@ You tried to learn: %1,%2 - + &Close @@ -4576,42 +4696,42 @@ You tried to learn: %1,%2 - + Add Random Tracks - + Enable random track addition to queue - + Add random tracks from Track Source if the specified minimum tracks remain - + Minimum allowed tracks before addition - + Minimum number of tracks after which random tracks may be added - + Crossfader Behaviour - + Reset the Crossfader back to center after disabling AutoDJ - + Hint: Resetting the crossfader to center will cause a drop of the main output's volume if you've selected "Constant Power" crossfader curve in the Mixer preferences. @@ -4679,62 +4799,62 @@ You tried to learn: %1,%2 - - - - + + + + Action failed क्रिया: विफल रही - + You can't create more than %1 source connections. - + Source connection %1 %1 स्त्रोत से संपर्क जुड़ा - + At least one source connection is required. कम से कम एक स्त्रोत से संपर्क होना आवश्यक है। - + Are you sure you want to disconnect every active source connection? - - + + Confirmation required - + '%1' has the same Icecast mountpoint as '%2'. Two source connections to the same server that have the same mountpoint can not be enabled simultaneously. - + Are you sure you want to delete '%1'? - + Renaming '%1' - + New name for '%1': - + Can't rename '%1' to '%2': name already in use @@ -5007,13 +5127,13 @@ Two source connections to the same server that have the same mountpoint can not DlgPrefColors - - + + By hotcue number - + Color रंग @@ -5056,132 +5176,133 @@ Two source connections to the same server that have the same mountpoint can not Replace… - - - DlgPrefController - - Apply device settings? + + When key colors are enabled, Mixxx will display a color hint +associated with each key. - - Your settings must be applied before starting the learning wizard. -Apply settings and continue? + + Enable Key Colors - - None + + Key palette + + + DlgPrefController - - %1 by %2 + + Apply device settings? - - No Name + + Your settings must be applied before starting the learning wizard. +Apply settings and continue? - - No Description + + None - - No Author + + %1 by %2 - + Mapping has been edited - + Always overwrite during this session - + Save As - + Overwrite - + Save user mapping - + Enter the name for saving the mapping to the user folder. - + Saving mapping failed - + A mapping cannot have a blank name and may not contain special characters. - + A mapping file with that name already exists. - + Do you want to save the changes? - + Troubleshooting - + <font color='#BB0000'><b>If you use this mapping your controller may not work correctly. Please select another mapping or disable the controller.</b></font><br><br>This mapping was designed for a newer Mixxx Controller Engine and cannot be used on your current Mixxx installation.<br>Your Mixxx installation has Controller Engine version %1. This mapping requires a Controller Engine version >= %2.<br><br>For more information visit the wiki page on <a href='https://mixxx.org/wiki/doku.php/controller_engine_versions'>Controller Engine Versions</a>. - + Mapping already exists. - + <b>%1</b> already exists in user mapping folder.<br>Overwrite or save with a new name? - + Clear Input Mappings - + Are you sure you want to clear all input mappings? - + Clear Output Mappings - + Are you sure you want to clear all output mappings? @@ -5189,65 +5310,115 @@ Apply settings and continue? DlgPrefControllerDlg - - (device category goes here) - - - - + Controller Name - + Enabled सक्रिय किये हुए - - Description: + + Device Info - - Support: + + Physical Interface: + + + + + Vendor name: + + + + + Product name: + + + + + Vendor ID + + + + + VID: + + + + + Product ID + + + + + PID: + + + + + Serial number: + + + + + USB interface number: + + + + + HID Usage-Page: + + + + + HID Usage: - - Mapping settings + + Description: + + + + + Support: - + Screens preview - + Input Mappings - - + + Search - - + + Add - - + + Remove हटाएं - + Click to start the Controller Learning wizard. @@ -5257,48 +5428,53 @@ Apply settings and continue? - - Controller Setup - - - - + Load Mapping: - + Mapping Info - + Author: - + Name: - + Learning Wizard (MIDI Only) - + + Data protocol: + + + + Mapping Files: - - + + Mapping Settings + + + + + Clear All - + Output Mappings @@ -5306,22 +5482,28 @@ Apply settings and continue? DlgPrefControllers - + + %1 is a virtual controller that allows to use e.g. the 'MIDI for light' mapping.<br/>You need to restart Mixxx in order to enable it.<br/><b>Note:</b> mappings meant for physical controllers can cause issues and even render the Mixxx GUI unresponsive when being loaded to %1. + text enclosed in <b> is bold, <br/> is a linebreak %1 is the placehodler for 'MIDI Through Port' + + + + Mixxx uses "mappings" to connect messages from your controller to controls in Mixxx. If you do not see a mapping for your controller in the "Load Mapping" menu when you click on your controller on the left sidebar, you may be able to download one online from the %1. Place the XML (.xml) and Javascript (.js) file(s) in the "User Mapping Folder" then restart Mixxx. If you download a mapping in a ZIP file, extract the XML and Javascript file(s) from the ZIP file to your "User Mapping Folder" then restart Mixxx. - + Mixxx DJ Hardware Guide - + MIDI Mapping File Format - + MIDI Scripting with Javascript @@ -5344,17 +5526,22 @@ Apply settings and continue? - + + Enable MIDI Through Port + + + + Mappings - + Open User Mapping Folder - + Resources संसाधन @@ -5364,7 +5551,7 @@ Apply settings and continue? - + You can create your own mapping by using the MIDI Learning Wizard when you select your controller in the sidebar. You can edit mappings by selecting the "Input Mappings" and "Output Mappings" tabs in the preference page for your controller. See the Resources below for more details on making mappings. @@ -5446,6 +5633,16 @@ Apply settings and continue? Multi-Sampling + + + Force 3D acceleration + + + + + If checked, Mixxx will always assume 3D acceleration is available. This may lead to pour performance if only CP-backed rendering is available.. + + Start in full-screen mode @@ -5902,124 +6099,134 @@ You can always drag-and-drop tracks on screen to clone a deck. - - + + Effect Chain Presets - + Drag and drop to rearrange lists and copy chains between lists. Create and edit chain presets in the effect units in the main window. Please refer the manual for further details. - + Chain presets from these lists will be selectable in the given order in the main window and from controllers (depending on the controller mapping). - + Effects in this chain preset: - + effect 1 name - + effect 2 name - + effect 3 name - + Import - + Rename नाम बदलें - + Export निर्यात करें - + Delete - + Quick Effect Chain Presets - - + + Visible Effects - + Drag and drop to rearrange lists and show or hide effects. - + Hidden Effects - + + ❯ + + + + + ❮ + + + + Effect load behavior - + Keep metaknob position - + Reset metaknob to effect default - + Effect Info - + Version: - + Description: - + Author: - + Name: - + Type: @@ -6027,62 +6234,62 @@ You can always drag-and-drop tracks on screen to clone a deck. DlgPrefInterface - + The minimum size of the selected skin is bigger than your screen resolution. - + Allow screensaver to run - + Prevent screensaver from running - + Prevent screensaver while playing - + Disabled - + 2x MSAA - + 4x MSAA - + 8x MSAA - + 16x MSAA - + This skin does not support color schemes इस स्किन में रंग परियोजना का समर्थन नहीं है - + Information - + Mixxx must be restarted before the new locale, scaling or multi-sampling settings will take effect. @@ -6095,193 +6302,208 @@ You can always drag-and-drop tracks on screen to clone a deck. - + When key detection is enabled, Mixxx detects the musical key of your tracks and allows you to pitch adjust them for harmonic mixing. - + Enable Key Detection - + Choose Analyzer - + Choose between different algorithms to detect keys. - + Analyzer Settings - + Enable Fast Analysis (For slow computers, may be less accurate) - + Re-analyze keys when settings change or 3rd-party keys are present - + + Exclude rhythmic channel when analysing stem file + + + + + Disabled + + + + + Enforced + + + + Key Notation - + Lancelot - + Lancelot/Traditional - + OpenKey - + OpenKey/Traditional - + Traditional - + Custom - + A - + Bb - + B - + C - + Db - + D - + Eb - + E - + F - + F# - + G - + Ab - + Am - + Bbm - + Bm - + Cm - + C#m - + Dm - + Ebm - + Em - + Fm - + F#m - + Gm - + G#m @@ -6289,72 +6511,72 @@ and allows you to pitch adjust them for harmonic mixing. DlgPrefLibrary - + See the manual for details - + Music Directory Added - + You added one or more music directories. The tracks in these directories won't be available until you rescan your library. Would you like to rescan now? - + Scan जाँच करें - + Item is not a directory or directory is missing - + Choose a music directory - + Confirm Directory Removal - + Mixxx will no longer watch this directory for new tracks. What would you like to do with the tracks from this directory and subdirectories?<ul><li>Hide all tracks from this directory and subdirectories.</li><li>Delete all metadata for these tracks from Mixxx permanently.</li><li>Leave the tracks unchanged in your library.</li></ul>Hiding tracks saves their metadata in case you re-add them in the future. - + Metadata means all track details (artist, title, playcount, etc.) as well as beatgrids, hotcues, and loops. This choice only affects the Mixxx library. No files on disk will be changed or deleted. - + Hide Tracks - + Delete Track Metadata - + Leave Tracks Unchanged - + Relink music directory to new location - + Select Library Font @@ -6716,22 +6938,22 @@ and allows you to pitch adjust them for harmonic mixing. - + Only allow EQ knobs to control EQ-specific effects - + Uncheck to allow any effect to be loaded into the EQ knobs. - + Use the same EQ filter for all decks - + Uncheck to allow different decks to use different EQ effects. @@ -6741,17 +6963,17 @@ and allows you to pitch adjust them for harmonic mixing. - + Quick Effect - + Bypass EQ effect processing - + When checked, EQs are not processed, improving performance on slower computers. @@ -6776,39 +6998,44 @@ and allows you to pitch adjust them for harmonic mixing. - + + Reset stem controls on track load + + + + Equalizer frequency Shelves - + High EQ - - + + 16 Hz - - + + 20.05 kHz - + Low EQ - + Main EQ - + Reset Parameter @@ -7116,7 +7343,7 @@ and allows you to pitch adjust them for harmonic mixing. DlgPrefReplayGain - + %1 LUFS (adjust by %2 dB) @@ -7229,173 +7456,172 @@ The loudness target is approximate and assumes track pregain and main output lev DlgPrefSound - + %1 Hz - + Default (long delay) - + Experimental (no delay) - + Disabled (short delay) - + Soundcard Clock - + Network Clock - + Direct monitor (recording and broadcasting only) - + Disabled - + Enabled सक्रिय किये हुए - + Stereo - + Mono - + To enable Realtime scheduling (currently disabled), see the %1. - + The %1 lists sound cards and controllers you may want to consider for using Mixxx. - + Mixxx DJ Hardware Guide - + Information - + Mixxx must be restarted before the multi-threaded RubberBand setting change will take effect. - + auto (<= 1024 frames/period) - + 2048 frames/period - + 4096 frames/period - + Are you sure? - + Distribute stereo channels into mono channels for parallel processing will result in a loss of mono compatibility and a diffuse stereo image. It is not recommended during broadcasting or recording. - + Are you sure you wish to proceed? - + No - + Yes, I know what I am doing - + Microphone inputs are out of time in the record & broadcast signal compared to what you hear. - + Measure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. - - + Refer to the Mixxx User Manual for details. - + Configured latency has changed. - + Remeasure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. - + Realtime scheduling is enabled. - + Main output only - + Main and booth outputs - + %1 ms - + Configuration error @@ -7413,131 +7639,131 @@ The loudness target is approximate and assumes track pregain and main output lev - + Sample Rate - + Audio Buffer - + Engine Clock - + Use soundcard clock for live audience setups and lowest latency.<br>Use network clock for broadcasting without a live audience. - + Main Mix - + Main Output Mode - + Microphone Monitor Mode - + Microphone Latency Compensation - - - - + + + + ms milliseconds - + 20 ms - + Buffer Underflow Count - + 0 - + Keylock/Pitch-Bending Engine - + Multi-Soundcard Synchronization - + Output - + Input - + System Reported Latency - + Enlarge your audio buffer if the underflow counter is increasing or you hear pops during playback. - + Main Output Delay - + Headphone Output Delay - + Booth Output Delay - + Dual-threaded Stereo - + Hints and Diagnostics - + Downsize your audio buffer to improve Mixxx's responsiveness. - + Query Devices @@ -7692,17 +7918,28 @@ The loudness target is approximate and assumes track pregain and main output lev - + + 1/3 of waveform viewer + options for "Text height limit" + + + + + Entire waveform viewer + + + + OpenGL not available - + dropped frames - + Cached waveforms occupy %1 MiB on disk. @@ -7715,245 +7952,256 @@ The loudness target is approximate and assumes track pregain and main output lev - + Frame rate - - Displays which OpenGL version is supported by the current platform. + + OpenGL Status - - Waveform + + Displays which OpenGL version is supported by the current platform. - + Normalize waveform overview - + Average frame rate - + Visual gain - + Default zoom level Waveform zoom - + Displays the actual frame rate. - + Visual gain of the middle frequencies - + End of track warning - - OpenGL status - - - - + This functionality requires waveform acceleration. - + Highlight the waveforms when the last seconds of a track remains. - + seconds - + Low - + Show minute markers on waveform overview - + Use acceleration - + High details - + Middle - + Global - + Visual gain of the high frequencies - + Visual gain of the low frequencies - + High - + Global visual gain - + The waveform overview shows the waveform envelope of the entire track. Select from different types of displays for the waveform overview, which differ primarily in the level of detail shown in the waveform. - + Enabled - + The waveform shows the waveform envelope of the track near the current playback position. Select from different types of displays for the waveform, which differ primarily in the level of detail shown in the waveform. - - Waveform overview type - - - - + fps - + Synchronize zoom level across all waveform displays. - + Synchronize zoom level across all waveforms - + Play marker hints - + Beats until next marker - - Time until next marker + + Preferred font size - - Placement + + Text height limit + + + + + Time until next marker - - Font size + + Placement - + pt - + Caching - + Mixxx caches the waveforms of your tracks on disk the first time you load a track. This reduces CPU usage when you are playing live but requires extra disk space. - + Enable waveform caching - + Generate waveforms when analyzing library - + Beat grid opacity - + + Scrolling Waveforms + + + + + + Type + + + + Stereo coloration - + Set amount of opacity on beat grid lines. - + % - + Play marker position - + Moves the play marker position on the waveforms to the left, right or center (default). - + + Overview Waveforms + + + + Clear Cached Waveforms @@ -7961,47 +8209,47 @@ Select from different types of displays for the waveform, which differ primarily DlgPreferences - + Sound Hardware - + Controllers - + Library - + Interface - + Waveforms - + Mixer मिक्सर - + Auto DJ स्वत: डीजे - + Decks - + Colors रंग @@ -8036,47 +8284,47 @@ Select from different types of displays for the waveform, which differ primarily - + Effects - + Recording - + Beat Detection - + Key Detection - + Normalization - + <font color='#BB0000'><b>Some preferences pages have errors. To apply the changes please first fix the issues.</b></font> - + Vinyl Control - + Live Broadcasting - + Modplug Decoder @@ -8109,22 +8357,22 @@ Select from different types of displays for the waveform, which differ primarily - + Start Recording - + Recording to file: रिकॉर्डिंग करने की फ़ाइल: - + Stop Recording - + %1 MiB written in %2 @@ -8179,27 +8427,27 @@ Select from different types of displays for the waveform, which differ primarily नए क्यू का रंग - + Selecting database rows... - + No colors changed! कोई रंग नहीं बदला गया ! - + No cues matched the specified criteria. - + Confirm Color Replacement रंग बदलाव की पुष्टि करें - + The colors of %1 cues in %2 tracks will be replaced. This change cannot be undone! Are you sure? %2 ट्रैक्स के %1 क्यूस के रंग बदले जाएँगे। इस बदलाव को वापिस नहीं लिया जा सकता। क्या आप निश्चित हैं? @@ -8251,7 +8499,7 @@ Select from different types of displays for the waveform, which differ primarily एलबम कलाकार - + Fetching track data from the MusicBrainz database @@ -8328,72 +8576,67 @@ Select from different types of displays for the waveform, which differ primarily - + Original tags - + Metadata applied - + %1 - - Could not find this track in the MusicBrainz database. - - - - + Suggested tags - + The results are ready to be applied - + Can't connect to %1: %2 - + Looking for cover art - + Cover art found, receiving image. - + Cover Art is not available for selected metadata - + Metadata & Cover Art applied - + Selected cover art applied - + Cover Art File Already Exists - + File: %1 Folder: %2 Override existing file? @@ -8437,102 +8680,102 @@ This can not be undone! - + Filetype: फ़ाइल प्रकार: - + BPM: - + Location: - + Bitrate: - + Comments - + BPM बीपीएम - + Sets the BPM to 75% of the current value. - + 3/4 BPM - + Sets the BPM to 50% of the current value. - + Displays the BPM of the selected track. - + Track # ट्रैक # - + Album Artist एलबम कलाकार - + Composer संगीतकार - + Title शीर्षक - + Grouping समूहीकरण - + Key चाभी - + Year साल - + Artist कलाकार - + Album एल्बम - + Genre शैली @@ -8542,179 +8785,179 @@ This can not be undone! - + Sets the BPM to 200% of the current value. - + Double BPM - + Halve BPM - + Clear BPM and Beatgrid - + Move to the previous item. "Previous" button - + &Previous - + Move to the next item. "Next" button - + &Next - + Duration: - + Import Metadata from MusicBrainz - + Re-Import Metadata from file - + Color रंग - + Date added: - + Open in File Browser फ़ाइल ब्राउज़र में खोलें - + Samplerate: - + Track BPM: - + Converts beats detected by the analyzer into a fixed-tempo beatgrid. Use this setting if your tracks have a constant tempo (e.g. most electronic music). Often results in higher quality beatgrids, but will not do well on tracks that have tempo shifts. - + Assume constant tempo - + Sets the BPM to 66% of the current value. - + 2/3 BPM - + Sets the BPM to 150% of the current value. - + 3/2 BPM - + Sets the BPM to 133% of the current value. - + 4/3 BPM - + Tap with the beat to set the BPM to the speed you are tapping. - + Tap to Beat - + Hint: Use the Library Analyze view to run BPM detection. - + Save changes and close the window. "OK" button - + &OK - + Discard changes and close the window. "Cancel" button - + Save changes and keep the window open. "Apply" button - + &Apply - + &Cancel - + (no color) @@ -8782,12 +9025,12 @@ Often results in higher quality beatgrids, but will not do well on tracks that h - + Re-Import Metadata from files - + Color @@ -8871,7 +9114,7 @@ Often results in higher quality beatgrids, but will not do well on tracks that h - + (no color) @@ -9050,7 +9293,7 @@ Often results in higher quality beatgrids, but will not do well on tracks that h EffectParameterSlotBase - + No effect loaded. @@ -9073,27 +9316,27 @@ Often results in higher quality beatgrids, but will not do well on tracks that h EngineBuffer - + Soundtouch (faster) - + Rubberband (better) - + Rubberband R3 (near-hi-fi quality) - + Unknown, using Rubberband (better) - + Unknown, using Soundtouch @@ -9237,54 +9480,86 @@ Often results in higher quality beatgrids, but will not do well on tracks that h ITunesFeature - - + + iTunes - + Select your iTunes library - + (loading) iTunes - + Use Default Library - + Choose Library... - + Error Loading iTunes Library - + There was an error loading your iTunes library. Check the logs for details. + + LegacyControllerColorSetting + + + Change color + + + + + Choose a new color + + + + + LegacyControllerFileSetting + + + Browse... + + + + + + No file selected + + + + + Select a file + + + LegacySkinParser - - + + Safe Mode Enabled Shown when Mixxx is running in safe mode. - - + + No OpenGL support. Shown when Spinny can not be displayed. Please keep @@ -9295,57 +9570,57 @@ Shown when VuMeter can not be displayed. Please keep - + activate - + toggle - + right - + left - + right small - + left small - + up - + down - + up small - + down small - + Shortcut @@ -9353,62 +9628,62 @@ Shown when VuMeter can not be displayed. Please keep Library - + This or a parent directory is already in your library. - + This or a listed directory does not exist or is inaccessible. Aborting the operation to avoid library inconsistencies - - + + This directory can not be read. - + An unknown error occurred. Aborting the operation to avoid library inconsistencies - + Can't add Directory to Library - + Could not add <b>%1</b> to your library. %2 - + Can't remove Directory from Library - + An unknown error occurred. - + This directory does not exist or is inaccessible. - + Relink Directory - + Could not relink <b>%1</b> to <b>%2</b>. %3 @@ -9418,22 +9693,22 @@ Aborting the operation to avoid library inconsistencies LibraryFeature - + Import Playlist प्लेलिस्ट आयात करें - + Playlist Files (*.m3u *.m3u8 *.pls *.csv) प्लेलिस्ट फ़ाइलस (*.m3u *.m3u8 *.pls *.csv) - + Overwrite File? क्या फ़ाइल के ऊपर लिखें ? - + A playlist file with the name "%1" already exists. The default "m3u" extension was added because none was specified. @@ -9483,32 +9758,27 @@ Do you really want to overwrite it? MidiController - - MIDI Controller - - - - + MixxxControl(s) not found - + One or more MixxxControls specified in the outputs section of the loaded mapping were invalid. - + * Make sure the MixxxControls in question actually exist. Visit the manual for a complete list: - + Some LEDs or other feedback may not work correctly. - + * Check to see that the MixxxControl names are spelled correctly in the mapping file (.xml) @@ -9568,18 +9838,18 @@ Do you really want to overwrite it? MixxxLibraryFeature - + Missing Tracks - + Hidden Tracks - Export to Engine Prime + Export to Engine DJ @@ -9591,208 +9861,249 @@ Do you really want to overwrite it? MixxxMainWindow - + Sound Device Busy - + <b>Retry</b> after closing the other application or reconnecting a sound device - - - + + + <b>Reconfigure</b> Mixxx's sound device settings. - - + + Get <b>Help</b> from the Mixxx Wiki. - - - + + + <b>Exit</b> Mixxx. - + Retry - + skin - + Allow Mixxx to hide the menu bar? - + Hide Always show the menu bar? - + Always show - + The Mixxx menu bar is hidden and can be toggled with a single press of the <b>Alt</b> key.<br><br>Click <b>%1</b> to agree.<br><br>Click <b>%2</b> to disable that, for example if you don't use Mixxx with a keyboard.<br><br>You can change this setting any time in Preferences -> Interface.<br> Keep formatting tags <b> (bold text) and <br> (linebreak). %1 is the placeholder for the 'Always show' button label - + Ask me again - - + + Reconfigure - + Help - - + + Exit - - + + Mixxx was unable to open all the configured sound devices. - + Sound Device Error - + <b>Retry</b> after fixing an issue - + No Output Devices - + Mixxx was configured without any output sound devices. Audio processing will be disabled without a configured output device. - + <b>Continue</b> without any outputs. - + Continue - + Load track to Deck %1 - + Deck %1 is currently playing a track. - + Are you sure you want to load a new track? - + There is no input device selected for this vinyl control. Please select an input device in the sound hardware preferences first. - + There is no input device selected for this passthrough control. Please select an input device in the sound hardware preferences first. - + There is no input device selected for this microphone. Do you want to select an input device? - + There is no input device selected for this auxiliary. Do you want to select an input device? - + + Scan took %1 + + + + + No changes detected. + + + + + + %1 tracks in total + + + + + %1 new tracks found + + + + + %1 moved tracks detected + + + + + %1 tracks are missing (%2 total) + + + + + %1 tracks have been rediscovered + + + + + Library scan finished + + + + Error in skin file - + The selected skin cannot be loaded. - + OpenGL Direct Rendering - + Direct rendering is not enabled on your machine.<br><br>This means that the waveform displays will be very<br><b>slow and may tax your CPU heavily</b>. Either update your<br>configuration to enable direct rendering, or disable<br>the waveform displays in the Mixxx preferences by selecting<br>"Empty" as the waveform display in the 'Interface' section. - - - + + + Confirm Exit - + A deck is currently playing. Exit Mixxx? - + A sampler is currently playing. Exit Mixxx? - + The preferences window is still open. - + Discard any changes and exit Mixxx? @@ -9808,52 +10119,169 @@ Do you want to select an input device? PlaylistFeature - + Lock लॉक - - + + Playlists - + Shuffle Playlist - - Unlock + + Unlock all playlists - - Playlists are ordered lists of tracks that allow you to plan your DJ sets. + + Delete all unlocked playlists - - It may be necessary to skip some tracks in your prepared playlist or add some different tracks in order to maintain the energy of your audience. + + Unlock - + + + Confirm Deletion + + + + + Do you really want to delete all unlocked playlists? + + + + + Deleting %1 unlocked playlists.<br>This operation can not be undone! + + + + + Playlists are ordered lists of tracks that allow you to plan your DJ sets. + + + + + It may be necessary to skip some tracks in your prepared playlist or add some different tracks in order to maintain the energy of your audience. + + + + Some DJs construct playlists before they perform live, but others prefer to build them on-the-fly. - + When using a playlist during a live DJ set, remember to always pay close attention to how your audience reacts to the music you've chosen to play. - + Create New Playlist नई प्लेलिस्ट बनाएं + + PredefinedColorPaletes + + + Mixxx Hotcue Colors + + + + + PredefinedColorPalettes + + + Serato DJ Track Metadata Hotcue Colors + + + + + Serato DJ Pro Hotcue Colors + + + + + Rekordbox COLD1 Hotcue Colors + + + + + Rekordbox COLD2 Hotcue Colors + + + + + Rekordbox COLORFUL Hotcue Colors + + + + + Mixxx Track Colors + + + + + Rekordbox Track Colors + + + + + Serato DJ Pro Track Colors + + + + + Traktor Pro Track Colors + + + + + VirtualDJ Track Colors + + + + + Mixxx Key Colors + + + + + Traktor Key Colors + + + + + Mixed In Key - Key Colors + + + + + Protanopia / Protanomaly Key Colors + + + + + Deuteranopia / Deuteranomaly Key Colors + + + + + Tritanopia / Tritanomaly Key Colors + + + QMessageBox @@ -10203,8 +10631,8 @@ If you do not want to grant Mixxx access, click Cancel on the file picker. Mixxx - + Feedback @@ -10253,8 +10681,8 @@ If you do not want to grant Mixxx access, click Cancel on the file picker. Mixxx - + Triplets @@ -10321,8 +10749,8 @@ Default: flat top - + Depth @@ -10386,13 +10814,13 @@ With width at zero, this allows for manually sweeping over the entire delay rang - + Intensity of the effect - + Divide rounded 1/2 beats of the Period parameter by 3. @@ -10413,40 +10841,55 @@ With width at zero, this allows for manually sweeping over the entire delay rang - + Metronome - + + The Mixxx Team + + + + Adds a metronome click sound to the stream - + BPM बीपीएम - + Set the beats per minute value of the click sound - + Sync - + Synchronizes the BPM with the track if it can be retrieved + + + Gain + + + + + Set the gain of metronome click sound + + - + Period @@ -10543,15 +10986,15 @@ Higher values result in less attenuation of high frequencies. - - + + Low - + Gain for Low Filter @@ -10678,7 +11121,7 @@ Higher values result in less attenuation of high frequencies. - + Gain for Low Filter (neutral at 1.0) @@ -10688,60 +11131,60 @@ Higher values result in less attenuation of high frequencies. - + Phaser - + Stereo - + Stages - + Mixes the input signal with a copy passed through a series of all-pass filters to create comb filtering - + Period of the LFO (low frequency oscillator) 1/4 - 4 beats rounded to 1/2 beat if tempo is detected 1/4 - 4 seconds if no tempo is detected - + Controls how much of the output signal is looped - - + + Range - + Controls the frequency range across which the notches sweep. - + Number of stages - + Sets the LFOs (low frequency oscillators) for the left and right channels out of phase with each others @@ -10894,12 +11337,12 @@ Higher values result in less attenuation of high frequencies. - + This stream is online for testing purposes! - + Live Mix @@ -11212,7 +11655,7 @@ Fully right: end of the effect period - + MP3 encoding is not supported. Lame could not be initialized @@ -11234,7 +11677,7 @@ Fully right: end of the effect period - + Deck %1 डेक %1 @@ -11274,52 +11717,52 @@ Fully right: end of the effect period - + Pitch Shift - + Raises or lowers the original pitch of a sound. - + Pitch - + The pitch shift applied to the sound. - + The range of the Pitch knob (0 - 2 octaves). - + Semitones - + Change the pitch in semitone steps instead of continuously. - + Formant - + Preserve the resonant frequencies (formants) of the human vocal tract and other instruments. Hint: compensates "chipmunk" or "growling" voices @@ -11367,7 +11810,7 @@ Hint: compensates "chipmunk" or "growling" voices - + Passthrough @@ -11398,170 +11841,170 @@ Hint: compensates "chipmunk" or "growling" voices - + Sampler %1 - - + + Compressor - + Auto Makeup Gain - + Makeup - + The Auto Makeup button enables automatic gain adjustment to keep the input signal and the processed output signal as close as possible in perceived loudness - + Off - + On - + Threshold (dBFS) - + Threshold - + The Threshold knob adjusts the level above which the compressor starts attenuating the input signal - + Ratio (:1) - + Ratio - + The Ratio knob determines how much the signal is attenuated above the chosen threshold. For a ratio of 4:1, one dB remains for every four dB of input signal above the threshold. At a ratio of 1:1 no compression is happening, as the input is exactly the output. - + Knee (dBFS) - + Knee - + The Knee knob is used to achieve a rounder compression curve - + Attack (ms) - + Attack - + The Attack knob sets the time that determines how fast the compression will set in once the signal exceeds the threshold - + Release (ms) - + Release - + The Release knob sets the time that determines how fast the compressor will recover from the gain reduction once the signal falls under the threshold. Depending on the input signal, short release times may introduce a 'pumping' effect and/or distortion. - - + + Level - + The Level knob adjusts the level of the output signal after the compression was applied - + various - + built-in - + missing - + Distribute stereo channels into mono channels processed in parallel. - + Warning! - + Processing stereo signal as mono channel may result in pitch and tone imperfection, and this is mono-incompatible, due to third party limitations. - + Dual threading mode is incompatible with mono main mix. - + Dual threading mode is only available with RubberBand. @@ -11571,42 +12014,42 @@ may introduce a 'pumping' effect and/or distortion. - + Empty - + Simple - + Filtered - + HSV - + VSyncTest - + RGB - + Stacked - + Unknown @@ -11664,54 +12107,54 @@ may introduce a 'pumping' effect and/or distortion. RekordboxFeature - - - + + + Rekordbox - + Playlists - + Folders - + Reads databases exported for Pioneer CDJ / XDJ players using the Rekordbox Export mode.<br/>Rekordbox can only export to USB or SD devices with a FAT or HFS file system.<br/>Mixxx can read a database from any device that contains the database folders (<tt>PIONEER</tt> and <tt>Contents</tt>).<br/>Not supported are Rekordbox databases that have been moved to an external device via<br/><i>Preferences > Advanced > Database management</i>.<br/><br/>The following data is read: - + Hot cues - + Loops (only the first loop is currently usable in Mixxx) - + Check for attached Rekordbox USB / SD devices (refresh) - + Beatgrids - + Memory cues - + (loading) Rekordbox @@ -11719,8 +12162,8 @@ may introduce a 'pumping' effect and/or distortion. RhythmboxFeature - - + + Rhythmbox @@ -11766,34 +12209,34 @@ may introduce a 'pumping' effect and/or distortion. SeratoFeature - - - + + + Serato - + Reads the following from the Serato Music directory and removable devices: - + Tracks - + Crates संदूक - + Check for Serato databases (refresh) - + (loading) Serato @@ -11801,64 +12244,64 @@ may introduce a 'pumping' effect and/or distortion. SetlogFeature - + Join with previous (below) - + Mark all tracks played - + Finish current and start new - + Lock all child playlists - + Unlock all child playlists - + Delete all unlocked child playlists - + History - + Unlock - + Lock लॉक - - + + Confirm Deletion - + Do you really want to delete all unlocked playlist from <b>%1</b>?<br><br> %1 is the year <b> + </b> are used to make the text in between bold in the popup <br> is a linebreak - + Deleting %1 playlists from <b>%2</b>.<br><br> %1 is the number of playlists to be deleted %2 is the year <b> + </b> are used to make the text in between bold in the popup <br> is a linebreak @@ -12151,12 +12594,27 @@ may introduce a 'pumping' effect and/or distortion. - - Identifying track through Acoustid + + Reading track for fingerprinting failed. + + + + + Identifying track through AcoustID + + + + + Could not identify track through AcoustID. + + + + + Could not find this track in the MusicBrainz database. - + Retrieving metadata from MusicBrainz @@ -12214,656 +12672,656 @@ may introduce a 'pumping' effect and/or distortion. - + Use the mouse to scratch, spin-back or throw tracks. - + Waveform Display - + Shows the loaded track's waveform near the playback position. - + Drag with mouse to make temporary pitch adjustments. - + Scroll to change the waveform zoom level. - + Waveform Zoom Out - + Waveform Zoom In - + Waveform Zoom - - + + Spinning Vinyl - + Rotates during playback and shows the position of a track. - + Right click to show cover art of loaded track. - + Gain - + Adjusts the pre-fader gain of the track (to avoid clipping). - + (too loud for the hardware and is being distorted). - + Indicates when the signal on the channel is clipping, - + Channel Volume Meter - + Shows the current channel volume. - + Microphone Volume Meter - + Shows the current microphone volume. - + Auxiliary Volume Meter - + Shows the current auxiliary volume. - + Auxiliary Peak Indicator - + Indicates when the signal on the auxiliary is clipping, - + Volume Control - + Adjusts the volume of the selected channel. - + Booth Gain - + Adjusts the booth output gain. - + Crossfader - + Balance - + Headphone Volume - + Adjusts the headphone output volume. - + Headphone Gain - + Adjusts the headphone output gain. - + Headphone Mix - + Headphone Split Cue - + Adjust the Headphone Mix so in the left channel is not the pure cueing signal. - + Microphone - + Show/hide the Microphone section. - + Sampler - + Show/hide the Sampler section. - + Vinyl Control - + Show/hide the Vinyl Control section. - + Preview Deck - + Show/hide the Preview deck. - - - + + + Cover Art कवर आर्ट - + Show/hide Cover Art. - + Toggle 4 Decks - + Switches between showing 2 decks and 4 decks. - + Show Library - + Show or hide the track library. - + Show Effects - + Show or hide the effects. - + Toggle Mixer - + Show or hide the mixer. - + Show/hide volume meters for channels and main output. - + Microphone Volume - + Adjusts the microphone volume. - + Microphone Gain - + Adjusts the pre-fader microphone gain. - + Auxiliary Gain - + Adjusts the pre-fader auxiliary gain. - + Microphone Talk-Over - + Hold-to-talk or short click for latching to - + Microphone Talkover Mode - + Off: Do not reduce music volume - + Manual: Reduce music volume by a fixed amount set by the Strength knob. - + Behavior depends on Microphone Talkover Mode: - + Off: Does nothing - + Change the step-size in the Preferences -> Decks menu. - + Low EQ - + Adjusts the gain of the low EQ filter. - + Mid EQ - + Adjusts the gain of the mid EQ filter. - + High EQ - + Adjusts the gain of the high EQ filter. - + Hold-to-kill or short click for latching. - + High EQ Kill - + Holds the gain of the high EQ to zero while active. - + Mid EQ Kill - + Holds the gain of the mid EQ to zero while active. - + Low EQ Kill - + Holds the gain of the low EQ to zero while active. - + Displays the tempo of the loaded track in BPM (beats per minute). - + Tempo - + Key The musical key of a track चाभी - + BPM Tap - + When tapped repeatedly, adjusts the BPM to match the tapped BPM. - + Adjust BPM Down - + When tapped, adjusts the average BPM down by a small amount. - + Adjust BPM Up - + When tapped, adjusts the average BPM up by a small amount. - + Adjust Beats Earlier - + When tapped, moves the beatgrid left by a small amount. - + Adjust Beats Later - + When tapped, moves the beatgrid right by a small amount. - + Tempo and BPM Tap - + Show/hide the spinning vinyl section. - + Keylock - + Toggling keylock during playback may result in a momentary audio glitch. - + Toggle visibility of Loop Controls - + Toggle visibility of Beatjump Controls - + Toggle visibility of Rate Control - + Toggle visibility of Key Controls - + (while previewing) - + Places a cue point at the current position on the waveform. - + Stops track at cue point, OR go to cue point and play after release (CUP mode). - + Set cue point (Pioneer/Mixxx/Numark mode), set cue point and play after release (CUP mode) OR preview from it (Denon mode). - + Is latching the playing state. - + Seeks the track to the cue point and stops. - + Play - + Plays track from the cue point. - + Sends the selected channel's audio to the headphone output, selected in Preferences -> Sound Hardware. - + (This skin should be updated to use Sync Lock!) - + Enable Sync Lock - + Tap to sync the tempo to other playing tracks or the sync leader. - + Enable Sync Leader - + When enabled, this device will serve as the sync leader for all other decks. - + This is relevant when a dynamic tempo track is loaded to a sync leader deck.In that case, other synced devices will adopt the changing tempo. - + Changes the track playback speed (affects both the tempo and the pitch). If keylock is enabled, only the tempo is affected. - + Tempo Range Display - + Displays the current range of the tempo slider. - + Un-ejects when no track is loaded, i.e. reloads the track that was ejected last (of any deck). - + Delete selected hotcue. - + Track Comment - + Displays the comment tag of the loaded track. - + Opens separate artwork viewer. - + Effect Chain Preset Settings - + Show the effect chain settings menu for this unit. - + Select and configure a hardware device for this input - + Recording Duration @@ -12873,1092 +13331,1165 @@ may introduce a 'pumping' effect and/or distortion. - + + Left click and hold allows to preview the position where the play head will jump to on release. Dragging can be aborted with right click. + + + + Big Spinny/Cover Art - + Show a big version of the Spinny or track cover art if enabled. - + Main Output Peak Indicator - + Indicates when the signal on the main output is clipping, - + Main Output L Peak Indicator - + Indicates when the left signal on the main output is clipping, - + Main Output R Peak Indicator - + Indicates when the right signal on the main output is clipping, - + Main Channel L Volume Meter - + Shows the current volume for the left channel of the main output. - + Shows the current volume for the right channel of the main output. - - + + Main Output Gain - - + + Adjusts the main output gain. - + Determines the main output by fading between the left and right channels. - + Adjusts the left/right channel balance on the main output. - + Crossfades the headphone output between the main mix and cueing (PFL or Pre-Fader Listening) signal. - + If activated, the main mix signal plays in the right channel, while the cueing signal plays in the left channel. - + Show/hide Cover Art of the selected track in the library. - + Show/hide the scrolling waveforms - + Show/hide the beatgrid controls section - + + Show/hide the stem mixing controls section + + + + Hide all skin sections except the decks to have more screen space for the track library. - + Volume Meters - + mix microphone input into the main output. - + Auto: Automatically reduce music volume when microphone volume rises above threshold. - - + + Adjust the amount the music volume is reduced with the Strength knob. - + Auto: Sets how much to reduce the music volume when the volume of active microphones rises above threshold. - + Manual: Sets how much to reduce the music volume, when talkover is activated regardless of volume of microphone inputs. - + If keylock is disabled, pitch is also affected. - + Speed Up - + Raises the track playback speed (tempo). - + Raises playback speed in small steps. - + Slow Down - + Lowers the track playback speed (tempo). - + Lowers playback speed in small steps. - + Speed Up Temporarily (Nudge) - + Holds playback speed higher while active (tempo). - + Holds playback speed higher (small amount) while active. - + Slow Down Temporarily (Nudge) - + Holds playback speed lower while active (tempo). - + Holds playback speed lower (small amount) while active. - + When tapped repeatedly, adjusts the tempo to match the tapped BPM. - + Tempo Tap - + Rate Tap and BPM Tap - + + Adjust beatgrid by exactly one half beat. Usable only on +tracks with constant tempo. + + + + Revert last BPM/Beatgrid Change - + Revert last BPM/Beatgrid Change of the loaded track. - - + + Toggle the BPM/beatgrid lock - + Tempo and Rate Tap - + Tempo, Rate Tap and BPM Tap - + Shift cues earlier - - + + Shift cues imported from Serato or Rekordbox if they are slightly off time. - + Left click: shift 10 milliseconds earlier - + Right click: shift 1 millisecond earlier - + Shift cues later - + Left click: shift 10 milliseconds later - + Right click: shift 1 millisecond later - + + + + Drag a Hotcue button here to continue playing after releasing the Hotcue. + + + + + Hint: Change the default cue mode in Preferences -> Decks. + + + + Mutes the selected channel's audio in the main output. - + Main mix enable - + Hold or short click for latching to mix this input into the main output. - + If hotcue is a loop cue, toggles the loop and jumps to if the loop is behind the play position. - + If the play position is inside an active loop, stores the loop as loop cue. - + + Drag this button onto another Hotcue button to move it there (change its index). If the other hotcue is set, the two are swapped. + + + + Expand/Collapse Samplers - + Toggle expanded samplers view. - + Displays the duration of the running recording. - + Auto DJ is active - + Red for when needle skip has been detected. - + Hot Cue - Track will seek to nearest previous hotcue point. - + Sets the track Loop-In Marker to the current play position. - + Press and hold to move Loop-In Marker. - + Jump to Loop-In Marker. - + Sets the track Loop-Out Marker to the current play position. - + Press and hold to move Loop-Out Marker. - + Jump to Loop-Out Marker. - + If the track has no beats the unit is seconds. - + Beatloop Size - + Select the size of the loop in beats to set with the Beatloop button. - + Changing this resizes the loop if the loop already matches this size. - + Halve the size of an existing beatloop, or halve the size of the next beatloop set with the Beatloop button. - + Double the size of an existing beatloop, or double the size of the next beatloop set with the Beatloop button. - + Start a loop over the set number of beats. - + Temporarily enable a rolling loop over the set number of beats. - + Beatloop Anchor - + Define whether the loop is created and adjusted from its staring point or ending point. - + Beatjump/Loop Move Size - + Select the number of beats to jump or move the loop with the Beatjump Forward/Backward buttons. - + Beatjump Forward - + Jump forward by the set number of beats. - + Move the loop forward by the set number of beats. - + Jump forward by 1 beat. - + Move the loop forward by 1 beat. - + Beatjump Backward - + Jump backward by the set number of beats. - + Move the loop backward by the set number of beats. - + Jump backward by 1 beat. - + Move the loop backward by 1 beat. - + Reloop - + If the loop is ahead of the current position, looping will start when the loop is reached. - + Works only if Loop-In and Loop-Out Marker are set. - + Enable loop, jump to Loop-In Marker, and stop playback. - + Displays the elapsed and/or remaining time of the track loaded. - + Click to toggle between time elapsed/remaining time/both. - + Hint: Change the time format in Preferences -> Decks. - + Show/hide intro & outro markers and associated buttons. - + Intro Start Marker - - - - + + + + If marker is set, jumps to the marker. - - - - + + + + If marker is not set, sets the marker to the current play position. - - - - + + + + If marker is set, clears the marker. - + Intro End Marker - + Outro Start Marker - + Outro End Marker - + Mix - + Adjust the mixing of the dry (input) signal with the wet (output) signal of the effect unit - + D/W mode: Crossfade between dry and wet - + D+W mode: Add wet to dry - + Mix Mode - + Adjust how the dry (input) signal is mixed with the wet (output) signal of the effect unit - + Dry/Wet mode (crossed lines): Mix knob crossfades between dry and wet Use this to change the sound of the track with EQ and filter effects. - + Dry+Wet mode (flat dry line): Mix knob adds wet to dry Use this to change only the effected (wet) signal with EQ and filter effects. - + Route the main mix through this effect unit. - + Route the left crossfader bus through this effect unit. - + Route the right crossfader bus through this effect unit. - + Right side active: parameter moves with right half of Meta Knob turn - + + Stem Label + + + + + Name of the stem stored in the stem file + + + + + Text is displayed in the stem color stored in the stem file + + + + + this stem color is also used for the waveform of this stem + + + + + Stem Mute + + + + + Toggle the stem mute/unmuted + + + + + Stem Volume Knob + + + + + Adjusts the volume of the stem + + + + Skin Settings Menu - + Show/hide skin settings menu - + Save Sampler Bank - + Save the collection of samples loaded in the samplers. - + Load Sampler Bank - + Load a previously saved collection of samples into the samplers. - + Show Effect Parameters - + Enable Effect - + Meta Knob Link - + Set how this parameter is linked to the effect's Meta Knob. - + Meta Knob Link Inversion - + Inverts the direction this parameter moves when turning the effect's Meta Knob. - + Super Knob - + Next Chain - + Previous Chain - + Next/Previous Chain - + Clear - + Clear the current effect. - + Toggle - + Toggle the current effect. - + Next - + Clear Unit - + Clear effect unit. - + Show/hide parameters for effects in this unit. - + Toggle Unit - + Enable or disable this whole effect unit. - + Controls the Meta Knob of all effects in this unit together. - + Load next effect chain preset into this effect unit. - + Load previous effect chain preset into this effect unit. - + Load next or previous effect chain preset into this effect unit. - - - - - - - - - + + + + + + + + + Assign Effect Unit - + Assign this effect unit to the channel output. - + Route the headphone channel through this effect unit. - + Route this deck through the indicated effect unit. - + Route this sampler through the indicated effect unit. - + Route this microphone through the indicated effect unit. - + Route this auxiliary input through the indicated effect unit. - + The effect unit must also be assigned to a deck or other sound source to hear the effect. - + Switch to the next effect. - + Previous - + Switch to the previous effect. - + Next or Previous - + Switch to either the next or previous effect. - + Meta Knob - + Controls linked parameters of this effect - + Effect Focus Button - + Focuses this effect. - + Unfocuses this effect. - + Refer to the web page on the Mixxx wiki for your controller for more information. - + Effect Parameter - + Adjusts a parameter of the effect. - + Inactive: parameter not linked - + Active: parameter moves with Meta Knob - + Left side active: parameter moves with left half of Meta Knob turn - + Left and right side active: parameter moves across range with half of Meta Knob turn and back with the other half - - + + Equalizer Parameter Kill - - + + Holds the gain of the EQ to zero while active. - + Quick Effect Super Knob - + Quick Effect Super Knob (control linked effect parameters). - + Hint: Change the default Quick Effect mode in Preferences -> Equalizers. - + Equalizer Parameter - + Adjusts the gain of the EQ filter. - + Hint: Change the default EQ mode in Preferences -> Equalizers. - - + + Adjust Beatgrid - + Adjust beatgrid so the closest beat is aligned with the current play position. - - + + Adjust beatgrid to match another playing deck. - + If quantize is enabled, snaps to the nearest beat. - + Quantize - + Toggles quantization. - + Loops and cues snap to the nearest beat when quantization is enabled. - + Reverse - + Reverses track playback during regular playback. - + Puts a track into reverse while being held (Censor). - + Playback continues where the track would have been if it had not been temporarily reversed. - - - + + + Play/Pause - + Jumps to the beginning of the track. - + Syncs the tempo (BPM) and phase to that of the other track, if BPM is detected on both. - + Syncs the tempo (BPM) to that of the other track, if BPM is detected on both. - + Sync and Reset Key - + Increases the pitch by one semitone. - + Decreases the pitch by one semitone. - + Enable Vinyl Control - + When disabled, the track is controlled by Mixxx playback controls. - + When enabled, the track responds to external vinyl control. - + Enable Passthrough - + Indicates that the audio buffer is too small to do all audio processing. - + Displays cover artwork of the loaded track. - + Displays options for editing cover artwork. - + Star Rating - + Assign ratings to individual tracks by clicking the stars. - + Channel Peak Indicator @@ -13978,143 +14509,143 @@ Use this to change only the effected (wet) signal with EQ and filter effects. - + Right click hotcues to edit their labels and colors. - + Right click anywhere else to show the time at that point. - + Channel L Peak Indicator - + Indicates when the left signal on the channel is clipping, - + Channel R Peak Indicator - + Indicates when the right signal on the channel is clipping, - + Channel L Volume Meter - + Shows the current channel volume for the left channel. - + Channel R Volume Meter - + Shows the current channel volume for the right channel. - + Microphone Peak Indicator - + Indicates when the signal on the microphone is clipping, - + Sampler Volume Meter - + Shows the current sampler volume. - + Sampler Peak Indicator - + Indicates when the signal on the sampler is clipping, - + Preview Deck Volume Meter - + Shows the current Preview Deck volume. - + Preview Deck Peak Indicator - + Indicates when the signal on the Preview Deck is clipping, - + Maximize Library - + Microphone Talkover Ducking Strength - + Prevents the pitch from changing when the rate changes. - + Changes the number of hotcue buttons displayed in the deck - + Starts playing from the beginning of the track. - + Jumps to the beginning of the track and stops. - - + + Plays or pauses the track. - + (while playing) @@ -14129,215 +14660,225 @@ Use this to change only the effected (wet) signal with EQ and filter effects. - + Main Channel R Volume Meter - + (while stopped) - + Cue - + Headphone - + Mute - + Old Synchronize - + Syncs to the first deck (in numerical order) that is playing a track and has a BPM. - + If no deck is playing, syncs to the first deck that has a BPM. - + Decks can't sync to samplers and samplers can only sync to decks. - + Hold for at least a second to enable sync lock for this deck. - + Decks with sync locked will all play at the same tempo, and decks that also have quantize enabled will always have their beats lined up. - + Resets the key to the original track key. - + Speed Control - - - + + + Changes the track pitch independent of the tempo. - + Increases the pitch by 10 cents. - + Decreases the pitch by 10 cents. - + Pitch Adjust - + Adjust the pitch in addition to the speed slider pitch. - + Opens a menu to clear hotcues or edit their labels and colors. - + + Drag this button onto a Play button while previewing to continue playback after release. + + + + + Dragging with Shift key pressed will not start previewing the hotcue. + + + + Record Mix - + Toggle mix recording. - + Enable Live Broadcasting - + Stream your mix over the Internet. - + Provides visual feedback for Live Broadcasting status: - + disabled, connecting, connected, failure. - + When enabled, the deck directly plays the audio arriving on the vinyl input. - + Playback will resume where the track would have been if it had not entered the loop. - + Loop Exit - + Turns the current loop off. - + Slip Mode - + When active, the playback continues muted in the background during a loop, reverse, scratch etc. - + Once disabled, the audible playback will resume where the track would have been. - + Track Key The musical key of a track - + Displays the musical key of the loaded track. - + Clock - + Displays the current time. - + Audio Latency Usage Meter - + Displays the fraction of latency used for audio processing. - + A high value indicates that audible glitches are likely. - + Do not enable keylock, effects or additional decks in this situation. - + Audio Latency Overload Indicator - + If Vinyl control is enabled, displays time-coded vinyl signal quality (see Preferences -> Vinyl Control). @@ -14347,289 +14888,284 @@ Use this to change only the effected (wet) signal with EQ and filter effects. - + Change the crossfader curve in Preferences -> Crossfader - + Crossfader Orientation - + Set the channel's crossfader orientation. - + Either to the left side of crossfader, to the right side or to the center (unaffected by crossfader) - + Activate Vinyl Control from the Menu -> Options. - + Displays the current musical key of the loaded track after pitch shifting. - + Fast Rewind - + Fast rewind through the track. - + Fast Forward - + Fast forward through the track. - + Jumps to the end of the track. - + Sets the pitch to a key that allows a harmonic transition from the other track. Requires a detected key on both involved decks. - - - + + + Pitch Control - + Pitch Rate - + Displays the current playback rate of the track. - + Repeat - + When active the track will repeat if you go past the end or reverse before the start. - + Eject - + Ejects track from the player. - + Hotcue - + If hotcue is set, jumps to the hotcue. - + If hotcue is not set, sets the hotcue to the current play position. - + Vinyl Control Mode - + Absolute mode - track position equals needle position and speed. - + Relative mode - track speed equals needle speed regardless of needle position. - + Constant mode - track speed equals last known-steady speed regardless of needle input. - + Vinyl Status - + Provides visual feedback for vinyl control status: - + Green for control enabled. - + Blinking yellow for when the needle reaches the end of the record. - + Loop-In Marker - + Loop-Out Marker - + Loop Halve - + Halves the current loop's length by moving the end marker. - + Deck immediately loops if past the new endpoint. - + Loop Double - + Doubles the current loop's length by moving the end marker. - + Beatloop - + Toggles the current loop on or off. - + Works only if Loop-In and Loop-Out marker are set. - - Hint: Change the default cue mode in Preferences -> Interface. - - - - + Vinyl Cueing Mode - + Determines how cue points are treated in vinyl control Relative mode: - + Off - Cue points ignored. - + One Cue - If needle is dropped after the cue point, track will seek to that cue point. - + Track Time - + Track Duration - + Displays the duration of the loaded track. - + Information is loaded from the track's metadata tags. - + Track Artist - + Displays the artist of the loaded track. - + Track Title - + Displays the title of the loaded track. - + Track Album - + Displays the album name of the loaded track. - + Track Artist/Title - + Displays the artist and title of the loaded track. @@ -14637,12 +15173,12 @@ Use this to change only the effected (wet) signal with EQ and filter effects. TrackCollection - + Hiding tracks - + The selected tracks are in the following playlists:%1Hiding them will remove them from these playlists. Continue? @@ -14650,33 +15186,33 @@ Use this to change only the effected (wet) signal with EQ and filter effects. TrackExportDlg - + Export finished - + Exporting %1 - - Overwrite Existing File? + + Replace Existing File? - - "%1" already exists, overwrite? + + "%1" already exists, replace? - - &Overwrite + + &Replace - - Over&write All + + Apply to all files @@ -14685,12 +15221,7 @@ Use this to change only the effected (wet) signal with EQ and filter effects. - - Skip &All - - - - + Export Error @@ -14698,7 +15229,7 @@ Use this to change only the effected (wet) signal with EQ and filter effects. TrackExportWizard - + Export Track Files To @@ -14706,23 +15237,23 @@ Use this to change only the effected (wet) signal with EQ and filter effects. TrackExportWorker - - + + Export process was canceled - + Error removing file %1: %2. Stopping. - + Error exporting track %1 to %2: %3. Stopping. - + Error exporting tracks @@ -14730,23 +15261,23 @@ Use this to change only the effected (wet) signal with EQ and filter effects. TraktorFeature - - + + Traktor - + (loading) Traktor - + Error Loading Traktor Library - + There was an error loading your Traktor library. Some of your Traktor tracks or playlists may not have loaded. @@ -14862,47 +15393,47 @@ This can not be undone! WCueMenuPopup - + Cue number - + Cue position - + Edit cue label - + Label... - + Delete this cue - + Toggle this cue type between normal cue and saved loop - + Left-click: Use the old size or the current beatloop size as the loop size - + Right-click: Use the current play position as loop end if it is after the cue - + Hotcue #%1 @@ -14925,7 +15456,7 @@ This can not be undone! - + Save snapshot @@ -15026,407 +15557,438 @@ This can not be undone! - - E&xport Library to Engine Prime + + Search in Current View... + + + + + Search for tracks in the current library view - - Export the library to the Engine Prime format + + Ctrl+f + + + + + Search in Tracks Library... + + + + + Search in the internal track collection under "Tracks" in the library - + + Ctrl+Shift+F + + + + Create &New Playlist - + Create a new playlist - + Ctrl+n - + Create New &Crate - + Create a new crate - + Ctrl+Shift+N - - + + &View - + Auto-hide menu bar - + Auto-hide the main menu bar when it's not used. - + May not be supported on all skins. - + Show Skin Settings Menu - + Show the Skin Settings Menu of the currently selected Skin - + Ctrl+1 Menubar|View|Show Skin Settings - + Show Microphone Section - + Show the microphone section of the Mixxx interface. - + Ctrl+2 Menubar|View|Show Microphone Section - + Show Vinyl Control Section - + Show the vinyl control section of the Mixxx interface. - + Ctrl+3 Menubar|View|Show Vinyl Control Section - + Show Preview Deck - + Show the preview deck in the Mixxx interface. - + Ctrl+4 Menubar|View|Show Preview Deck - + Show Cover Art - + Show cover art in the Mixxx interface. - + Ctrl+6 Menubar|View|Show Cover Art - + Maximize Library - + Maximize the track library to take up all the available screen space. - + Space Menubar|View|Maximize Library - + &Full Screen - + Display Mixxx using the full screen - + &Options - + &Vinyl Control - + Use timecoded vinyls on external turntables to control Mixxx - + Enable Vinyl Control &%1 - + &Record Mix - + Record your mix to a file - + Ctrl+R - + Enable Live &Broadcasting - + Stream your mixes to a shoutcast or icecast server - + Ctrl+L - + Enable &Keyboard Shortcuts - + Toggles keyboard shortcuts on or off - + Ctrl+` - + &Preferences - + Change Mixxx settings (e.g. playback, MIDI, controls) - + &Developer - + &Reload Skin - + Reload the skin - + Ctrl+Shift+R - + Developer &Tools - + Opens the developer tools dialog - + Ctrl+Shift+T - + Stats: &Experiment Bucket - + Enables experiment mode. Collects stats in the EXPERIMENT tracking bucket. - + Ctrl+Shift+E - + Stats: &Base Bucket - + Enables base mode. Collects stats in the BASE tracking bucket. - + Ctrl+Shift+B - + Deb&ugger Enabled - + Enables the debugger during skin parsing - + Ctrl+Shift+D - + &Help - + Show Keywheel menu title - + + E&xport Library to Engine DJ + "Engine DJ" must not be translated + + + + + Export the library to the Engine DJ format + + + + Show keywheel tooltip text - + F12 Menubar|View|Show Keywheel - + &Community Support - + Get help with Mixxx - + &User Manual - + Read the Mixxx user manual. - + &Keyboard Shortcuts - + Speed up your workflow with keyboard shortcuts. - + &Settings directory - + Open the Mixxx user settings directory. - + &Translate This Application - + Help translate this application into your language. - + &About - + About the application @@ -15434,25 +15996,25 @@ This can not be undone! WOverview - + Passthrough - + Ready to play, analyzing... Text on waveform overview when file is playable but no waveform is visible - - + + Loading track... Text on waveform overview when file is cached from source - + Finalizing... Text on waveform overview during finalizing of waveform analysis @@ -15461,25 +16023,13 @@ This can not be undone! WSearchLineEdit - - Clear input - Clear the search bar input field - - - - - Ctrl+F - Search|Focus - - - - + Search noun - + Clear input @@ -15490,169 +16040,163 @@ This can not be undone! - + Clear the search bar input field - - Enter a string to search for + + Return - - Use operators like bpm:115-128, artist:BooFar, -year:1990 + + Enter a string to search for. - - For more information see User Manual > Mixxx Library + + Use operators like bpm:115-128, artist:BooFar, -year:1990. - Shortcut + See User Manual > Mixxx Library for more information. - - Ctrl+F + + Focus/Select All (Search in current view) + Give search bar input focus - - Focus - Give search bar input focus + + Focus/Select All (Search in 'Tracks' library view) - - - Ctrl+Backspace + + Additional Shortcuts When Focused: - Shortcuts + Trigger search before search-as-you-type timeout or focus tracks view afterwards - Return + Esc or Ctrl+Return - Trigger search before search-as-you-type timeout orjump to tracks view afterwards + Immediately trigger search and focus tracks view + Exit search bar and leave focus - + Ctrl+Space - + Toggle search history Shows/hides the search history entries - + Delete or Backspace - - Delete query from history - - - - - Esc + + in search history - - Exit search - Exit search bar and leave focus + + Delete query from history WSearchRelatedTracksMenu - + Search related Tracks - + Key चाभी - + harmonic with %1 - + BPM बीपीएम - + between %1 and %2 - + Artist कलाकार - + Album Artist एलबम कलाकार - + Composer संगीतकार - + Title शीर्षक - + Album एल्बम - + Grouping समूहीकरण - + Year साल - + Genre शैली - + Directory - + &Search selected @@ -15660,594 +16204,625 @@ This can not be undone! WTrackMenu - + Load to - + Deck - + Sampler - + Add to Playlist - + Crates संदूक - + Metadata - + Update external collections - + Cover Art कवर आर्ट - + Adjust BPM - + Select Color रंग चुनें - - + + Analyze विश्लेषण - - + + Delete Track Files - + Add to Auto DJ Queue (bottom) स्वत: डीजे के पंक्ति में जोड़ें (सब से नीचे) - + Add to Auto DJ Queue (top) स्वत: डीजे के पंक्ति में जोड़ें (सब से ऊपर) - + Add to Auto DJ Queue (replace) - + Preview Deck - + Remove हटाएं - + Remove from Playlist - + Remove from Crate - + Hide from Library - + Unhide from Library - + Purge from Library - + Move Track File(s) to Trash - + Delete Files from Disk - + Properties - + Open in File Browser फ़ाइल ब्राउज़र में खोलें - + Select in Library - + Import From File Tags - + Import From MusicBrainz - + Export To File Tags - + BPM and Beatgrid - + Play Count - + Rating रेटिंग - + Cue Point - + + Hotcues - + Intro - + Outro - + Key चाभी - + ReplayGain - + Waveform - + Comment टिप्पणी - + All - + + Sort hotcues by position (remove offsets) + + + + + Sort hotcues by position + + + + Lock BPM - + Unlock BPM - + Double BPM - + Halve BPM - + 2/3 BPM - + 3/4 BPM - + 4/3 BPM - + 3/2 BPM - + + Shift Beatgrid Half Beat + + + + Reanalyze - + Reanalyze (constant BPM) - + Reanalyze (variable BPM) - + Update ReplayGain from Deck Gain - + Deck %1 डेक %1 - + Importing metadata of %n track(s) from file tags - + Marking metadata of %n track(s) to be exported into file tags - - + + Create New Playlist नई प्लेलिस्ट बनाएं - + Enter name for new playlist: नई प्लेलिस्ट के लिए नाम दर्ज करें: - + New Playlist नई प्लेलिस्ट - - - + + + Playlist Creation Failed प्लेलिस्ट निर्माण विफल रहा - + A playlist by that name already exists. उस नाम की एक प्लेलिस्ट पहले से मौजूद है। - + A playlist cannot have a blank name. एक प्लेलिस्ट में एक खाली नाम नहीं हो सकता। - + An unknown error occurred while creating playlist: प्लेलिस्ट बनाते समय एक अज्ञात त्रुटि हुई: - + Add to New Crate - + Scaling BPM of %n track(s) - + Undo BPM/beats change of %n track(s) - + Locking BPM of %n track(s) - + Unlocking BPM of %n track(s) - + Setting rating of %n track(s) - + Setting color of %n track(s) %n ट्रैक(स) का रंग बदला जा रहा हैट्रैक(स) का रंग बदला जा रहा है - + Resetting play count of %n track(s) - + Resetting beats of %n track(s) - + Clearing rating of %n track(s) - + Clearing comment of %n track(s) - + Removing main cue from %n track(s) - + Removing outro cue from %n track(s) - + Removing intro cue from %n track(s) - + Removing loop cues from %n track(s) - + Removing hot cues from %n track(s) - + + Sorting hotcues of %n track(s) by position (remove offsets) + + + + + Sorting hotcues of %n track(s) by position + + + + Resetting keys of %n track(s) - + Resetting replay gain of %n track(s) - + Resetting waveform of %n track(s) - + Resetting all performance metadata of %n track(s) - + Move these files to the trash bin? - + Permanently delete these files from disk? - - + + This can not be undone! - + Cancel रद्द करें - + Delete Files - + Okay - + Move Track File(s) to Trash? - + Track Files Deleted - + Track Files Moved To Trash - + %1 track files were moved to trash and purged from the Mixxx database. - + %1 track files were deleted from disk and purged from the Mixxx database. - + Track File Deleted - + Track file was deleted from disk and purged from the Mixxx database. - + The following %1 file(s) could not be deleted from disk - + This track file could not be deleted from disk - + Remaining Track File(s) - + Close - + Clear Reset metadata in right click track context menu in library - + Loops - + Clear BPM and Beatgrid - + Undo last BPM/beats change - + Move this track file to the trash bin? - + Permanently delete this track file from disk? - + All decks where these tracks are loaded will be stopped and the tracks will be ejected. - + All decks where this track is loaded will be stopped and the track will be ejected. - + Removing %n track file(s) from disk... - + Note: if you are in the Computer or Recording view you need to click the current view again to see changes. - + Track File Moved To Trash - + Track file was moved to trash and purged from the Mixxx database. - + + Don't show again during this session + + + + The following %1 file(s) could not be moved to trash - + This track file could not be moved to trash - + Setting cover art of %n track(s) - + Reloading cover art of %n track(s) @@ -16260,40 +16835,78 @@ This can not be undone! + + WTrackStemMenu + + + Load for stem mixing + + + + + Load pre-mixed stereo track + + + + + Load the "%1" stem + + + + + Load multiple stem into a stereo deck + + + + + Select stems to load + + + + + Release "CTRL" to load the current selection + + + + + Use "CTRL" to select multiple stems + + + WTrackTableView - + Confirm track hide - + Are you sure you want to hide the selected tracks? - + Are you sure you want to remove the selected tracks from AutoDJ queue? - + Are you sure you want to remove the selected tracks from this crate? - + Are you sure you want to remove the selected tracks from this playlist? - + Don't ask again during this session - + Confirm track removal @@ -16301,60 +16914,65 @@ This can not be undone! WTrackTableViewHeader - + Show or hide columns. + + + Shuffle Tracks + + mixxx::CoreServices - + fonts - + database - + effects - + audio interface - + decks - + library - + Choose music library directory - + controllers - + Cannot open database - + Unable to establish a database connection. Mixxx requires QT with SQLite support. Please read the Qt SQL driver documentation for information on how to build it. @@ -16365,67 +16983,78 @@ Click OK to exit. mixxx::DlgLibraryExport - + Entire music library - - Selected crates + + Crates + + + + + Playlists + + + + + Selected crates/playlists - + Browse - + Export directory - + Database version - + Export निर्यात करें - + Cancel रद्द करें - - Export Library to Engine Prime - लाइब्रेरी को इंजन प्राइम में निर्यात करें + + Export Library to Engine DJ + "Engine DJ" must not be translated + - + Export Library To लाइब्रेरी को निर्यात करें - + No Export Directory Chosen - + No export directory was chosen. Please choose a directory in order to export the music library. - + A database already exists in the chosen directory. Exported tracks will be added into this database. - + A database already exists in the chosen directory, but there was a problem loading it. Export is not guaranteed to succeed in this situation. @@ -16443,31 +17072,36 @@ Click OK to exit. + + mixxx::EnginePrimeExportJob + + + Failed to export track %1 - %2: +%3 + %1 is the artist %2 is the title and %3 is the original error message + + + mixxx::LibraryExporter - + Export Completed निर्यात सफल हुआ - - Exported %1 track(s) and %2 crate(s). - %1 ट्रैक(स) और %2 क्रेट(स) का सफल निर्यात हुआ + + Exported %1 track(s), %2 crate(s), and %3 playlist(s). + - + Export Failed निर्यात असफल - - - Export failed: %1 - निर्यात असफल: %1 - - Exporting to Engine Prime... + Exporting to Engine DJ... @@ -16479,69 +17113,6 @@ Click OK to exit. रद्द करें - - mixxx::hid::DeviceCategory - - - HID Interface %1: - - - - - Generic HID Pointer - - - - - Generic HID Mouse - - - - - Generic HID Joystick - - - - - Generic HID Game Pad - - - - - Generic HID Keyboard - - - - - Generic HID Keypad - - - - - Generic HID Multi-axis Controller - - - - - Unknown HID Desktop Device: - - - - - Apple HID Infrared Control - - - - - Unknown Apple HID Device: - - - - - Unknown HID Device: - - - mixxx::network::WebTask diff --git a/res/translations/mixxx_hu.qm b/res/translations/mixxx_hu.qm index f1d1eb984763a2a4db89c611042356a96000af32..e8771895a34298bec7501943ff3a4d60f56f73f7 100644 GIT binary patch delta 10329 zcmb7~cU%{3J#1i^y6(3T?0g3BUe+eEQOP2y@$Gb=xZBjCc3p9oP|CU zh!ptl%@lA9_!Bq|1EhlE(N7C-I_}Y*;(H7f04@R7fos5v;0B_MEix&52Il7s)cOgVWLP7!dt`gofe;LXd=?iFyqra^Ql+Vc@Q4_*WuP_aj8^ z6%vC3MY5*(5)&XCzGp))BY`;>xJM{aHP*jp4zbz_iM*G@$P*ak5YeeFM5zafZhlSF zdjl~qr^JvE{>Z zxpyM2OE?_qdx`DcMY4b#iJcA;mxu{ZNBVXr zDvfA;8gc94mX3{e#0wTRi@4opBCjP9L*7WdzCa`k_{2_s5ch5z+FgWdWYdSK8d>pfh z)?F3JlAn-Y7;K?|h5TB=1{%z#rotMhwxXt|d_XHT71owNE;02XH9L8TSfAn4JoYYP zSQ!OWW)cmrM?v+r5N*&=SlC+!u^PWpSUEa2zNc`(@7>=~xM*basAaZbl&h(WKWw4i zQHjm}5XtHdk=S^N#3l}jL1QEadw=3#iG%i2LNjPCc>pD3!no_V1Rc0&drNw7!$l9;+3yOGXG5yhp4FAce`Q4 zi>ce9?ufoiDVeK+)%TZJ{|+TPga@8CD5cMSVjck!y=qg>K`^4LvDC}BmuTEmk*rY| z^|D|sufC$b?hO&N>QmoibK!Q+L^AI=5+g=Z|NM+DThx)JMP>OIs(xQp;-4wp_TA_aQn|imZ24Nry-Oi2$>ij`V^? zN+!~!M!SgiHj#KNkgj?{u-r;|*y9JHZ?@3O+sBD9#{zmUe35;GK0LP)jTp-0c7(_l zFPQFUgj45Zku2#dtGf=N`S}UfY!4#Wz*#J?&mN+bP!?DUCeLI+YJ}TYeynAPov3o8 zNLHhgwd{YCm?@BTzKQ%$K8$t#Rp4)|@2WClj>2s$E#m~S{C+HRZ%<;b<5+Io3(PEu z6(}$xUM=xbUp8vd10v-SiTV~2I|hhk8CEvd{GMo&oH^b#K}gSGUo60yPddUT{{&6d z-pn?PfH8lqVjD*sC1R7=;hM(~|A%g3N1mamc#zLdg&!j-?j@2XIM}JS0mQTeSalu} z#&2J;>UmIo{33RzHagODWDo4;i4IsK{-R>f?<^o%-GIFdI)|m)DXX*aInlR~vSvv= z5CQi~e8C7Cw_5 z^jSjGK1p_PH{LtiR(9lVPa^Ai+3~JZiTRI^oi1w(ja`+UzKSKBb5nLbs}|9}YRK+% zMnH3WB6|}nXzIM|jbk#5s(7~S4age)D0?&2pIGk(a)r>azQ0^QjU(EgBR5^c_xhFc zruQH~UO#z2>v2R&ZSo+7rTF%SJfuDZ=^>N14uN%#-5`&CvYF_9oILjXjcE5#-sy&! zXn75J!Zfs7o+VGXFq3FSmfX=zQ01Xk^3>V!L}TX5`wFF&YKMG~Zy2$>`|@n>weX6D z^6Vm4qEUV11sFJ}8nk^_Q6aN`CnF4~UG@MY7Ho`O&|kkUL!Dr@UZW zt+&X}kA_Vw-y}aTjHhxW$}jjWMGbgV{`>+2u{@T4+^h!cD;i9PQ4ai%qVc@_M9U^B znkT)1joef;e^mnm_fYi9!VIi+6$3^=L#+xFmQvJ%Uwx}6(gqMMIHa(t-x1v&udqMA zMU?nVVSfRmOv+IVKhuxs&jE^&>jxwM@46yg?C!59H;%`eXDOzv$C|n&No-Ldl6kvH zZ1ShXpr0iM50DrlmpHh)V%oY4V)dMgir#mLMKn{)iQj=7;Sk9}-%8Aq=wLw7@43UwuG{{tw) z{cFYQ=1}#^2*v7EgHZ4HR;>93UhrpyVnb0nQNK5es_64XJL(FA|95Yx*tX_6RN*F) z_4`?|T??yiSFJd(2yR!8DGtkU@6%UtQYgJ%T1B#=ql!~)_M+JQS#f?4R9Tv*xZo^@ z;N2B>CI%7h^ObnKo#N3symxe};_(W2!I~7s^Lr2^u}bkm<-kRfzvAUMJF(2s9QOkR z`OhVeyTKvw>=eloHgm2O(8Q0UMY3cQ=M#rYDOw|vHF1%c7R?29h1;5b;6j(xhFi|$ z!hdQA|DV7`%vucZnI)3dXezO5B^T*v3F8`df{V;TgD+lNa%fdNuCaf8yrknb08X>r&?Y~Lr6HF_#BYQMyk z$6Q*~SfX<^xwPLe6P>ujIV_un!s9S!`+6gh$70Uj?mfv-#Za z-rhv%`65}DIottZ<8k!0NY-|Q#F#q)lTk0t8PTvB#|ub2kt^UOk~F!?&hXE z?5wYFcU>UZz%1^bn*s&RY3`oSER@(kie#ZYcVFiMqrdrzdsU9SFYm&AXt;oAW}uS3 z$wEa`Uup2D4bALU8diKkG{23~#YKa)nxqt{?;D@j8hC zi6WVwpTxljm2oHVz29PGLX*9yo;{R_tBlw|Z5PQBA1PBK5CL1eD+kPkrY`s?2XA;t zWFM%^==mpd$zi1>7{<)h%7T+y9jI7}m7|n$qTOocC^agT-o2HMuVm;rU-@O_S)vK^ zmE)^dBFRh=$-13T&Z&g~dQ~guJPs#T7@=H)?^*A2%H1`8CaQ>6?)$z2(V|hxg9cdp zPoB!d!_a>E2jwy66Qb{yC{GORM$B)J^3);+icQX@yu5cdQQslT>+lBpK1zB21G3pS zEtC%u79ao}RX!}wA{H61e7JufjO&r|asAsw{`-}$ddwgSeWZM4+e#E%sghq@1VK-$ zG?gEabb6`WXZI(nu}>t+E>-a#b`cq;s~U~RlHP8u@^J`j5o1#M*SHHeI;ir$yaxqF zk}B}5883QDJg`p{p@m=@e^IrJN76}MplTa95Nn^UikXXK((5Z#M;UCTfuAb5|84}d zry^NgO;xY_GVJ%es!|UfKzeTtVw}+~s`NLrh^m5Bj?89QlffrdnL?I3n5fFmM)e!$ zsv47vf+H_ZHD-GlvRa&Ktmy&K%HLI!j%$b+7OAG4#36;p4T-_`Rnz<9*k)Fo>g)fY zA6H-19B;ViruVAFd)5*)?50{v6Ns*-s@9GAh>(9%wQ0vor1x@%c)_~-rrLkt98sMt zku2wd>Y@-}npLZ=2R9(HJyrd#*hr*4AaUO#)x)ph4coj_Pg>o<_I#w8TeFmCau2o9 z)(@3Zh?-w{51~9(-K50{RMA;#zmochc+J&;3(?<>;p*U?SfX&pWp&7}sYG9tsKfU+ zMj&yhBect)>ST3W*#M$@q3RCuI&i-^>S$jGkbF-hi|eHB65WaLPvR*Tku2+=I{t7h z3KWaFe^PCP;=1b0rVF5fd+HovobgT61w&q719L-N)E-9f@C#Ot-V2q*`>DszkHMBo zrk=0>s!{l=r)rV?28~xwJ$V^LWgGRpNLX#_%jyN~tBHIss+aG>%&xsvuXr(*X!8*D z4f7&L}L0yMP56)Oc zGX8`5_)s*gJ4gMCyozXUqDa;)P5sMQ7*S=Q`r@K8qE!Xz_jV)E9hF8t$O*xm5~I6n zbdzCZZd)X_I3w|Ls-^+9{nUS-#(h2BYyVNx_}O3Z|GrOz3;5$piP>Qq?{RN%K9{WV zo@vI6Dm8vMh@zCKn%2Wms%hn#xEWiqqiLf_DDlLO=D0|fRIW+5iuNa#Xp(ZUwjJ^$ zUOuPkccK_+`L<^86vUHLg_?{VX^0OIn#_j|lt__(;Q~zLHMzGtASrw;k_B$i3{6xZ z3trX?{c;)HWr@aO`4`f1lEk30-|??n#E)HW5e^KX0ZbotV_IRW8Gh293M3MkD{!eY1JI`hjq`tt2r1C zzUZepm;jY7siiqxI0H*}RCBQs8;Zu~G}XuaiBxG4^*beY+#!->ywu$9g+1ZFd5OCh zX@1{57)!Wc^ZQkJ%hX*O$GgqzQKvuBy!)jDdo{iOz|76G=B@6Kbce(}9kjWx|3j=%uEc1Ac24|!V*D(LK9*0srk!(k2_j%U zkt}YTcJ5vUHm7?f*4ZMG<<8d5t+pb)@6}c|ipLIVh<4%kLLhT^YZqr7z$w)S?GO1! zh<Ilvc>SzyFpx=f?+9PuUh#KA09)B|)S@VYWWF!ibc6GGRuAoeJ47j3wx$glYT&|9b zK@HgTxz1}`EYXx|U5oKEQ1k881#CG<)uG$^OMS9y&FWb4z9YzZvAi)GFrD(q)xZ=Dh4>UM&gBRi5C-eE0+HXYdSz%e&$&06Whz2QY;nLgsF<1|shdVNdb!RRX@ zS=VFwNRM-ffRXx`BOy4Yx+{{U1n4{2ZNy?`>pQ#q<8+JkaRd6|FosEBav#;a=U!^`$b*bix3AspoQ>8=TRXIyS;qX6j2XoF|%iPG7bYw)Cr3 zKY8^N*vLqUfphg!FAv5B=7~s_JVO6fpSAD?nch*!un~CqNWbb03Xh^f{l=E4h-7>9 zTW(Cj!DF(1zYH_0|4<~0n=H|6)*m^FNa!(0f5`)?Zqi48 zl~_=y;oGR|*dM$S$~YldStFi^^S z!>twmFv^aG`yV0DnZ<^W8qD-;p~N@UMx_pGzjdFHcc}$$$u{~7!Hiy?H2MzrzzN9* zW5`3)h+!edh&x6Eww1>Ad*!H(ryFB)5P+I`7?ZamFg03c>@%Yq{NK9OIKT_WBX>6r zScA0=yktzf9gi2?jhU8nM1$rTbB1AG(7@AZc{l+Fib=-tj_vphht@bDWhwIfONp0f z8mByOhq^w}IA<#gmrh>Bl`fNTH2anDr-+S6Ub~FjnuntRcxK#n=O5V0*ZM+bG8J}rjydL@mvfF)m;0B=w8MdmoaVUbKrFtI zspddLy0~PMn>zwhs+-C0Xg6Xli%o&c;T`!qO+o&xiG`M%!c%eI+shQ;hb;H~dQ;op zyHHGaF}0mI1CjBi#0#q>Ui{V+>4b)fbZuiPpzcVd3Sb_ruKhwgCuwKg#rll`>;b`TW zY1xES`29uG@)N-jw7+R>vuP+oSD4m5L;Ho_n%13w;I(?0s>&7EYkp_i))M2?7-Z_T z;}y>Jwp5sobb|o8d8YFNVLZ)Rna)2z$KO3QU2=g6YqgPh@TBS5{RPrQ)Gp@TwqjZaf zx7*S)^NaaxTVVlj&ozIRW|$yNB*bww{eP2jj=AGr^K(zePS(%zIX`$#bR^;r>?1Kz zUYu$H8%Dz+pambh_~FS47T|l~S?;H2!$tK7lSxPWLbS2sNxGl$vbGN6ms@yAEt7$^LpdlMsDs*F+Z_OGV3$59C zwgNuZY%$yO3a!ptO+B2y`xhozC?wvpRG>E)~zWz~mP;4PzR#?K@%usk4Uz%>U^H}mMK@KxtWJxcx znP$IJ%=1UPF(csSq3dphex%x~3*67f!sXq7L}TL$_ZN`jz*(qS`X|J;`@ zF&*-xKrnNb*vXm%FXyQUH{aT{M`(zS@}U_kt{}?i*VM_w&9>or=2GFEss|BW>$;qQ zAAC~R-->cZC%HQB#Wi>M;D2!Nl!@`v(NQ53Y!&6uXqkm!|8Ad; zt6+GQ4~61Nn1NvVZ$E$kcYlJn*~RY)F?VSkVFJ*bAhzHN8O}*b4LiW3GSf?n&3vAn z&n&ds)AOvwyiW+9nVW94nk~i6`E+X*Uuebp1q+Mk6UwLC%zSZ4QBk4I?(EZzuL?`* z$nY2SXbhPI?TiqAcv0zPcxI(CdMqv>_|AnkzMv43%Clw{+6vMIA8F1Po6T)_!OL_V3$iSER&%s1r82DG7v~9)b$Gg^#9Z8l_X+-Ar zE0i3o%W)l%T%ETzyF2e?yq1Sibj7Z=%vEQG=VXiKV|RZ0)U9?sp_xrwfy@${&5Y1& zcD7&5SKY{buBtfDiiHZ&SDns})TrtT>So<5bp4ncQ#b>Tc~#XYG07`Bl(HbPmDh+U zUwH&2R5WbMT)K$Uz;uFO(GlWL3z&frYlTz-gZMl}k0jV>UJ+u;-!jCcB=H$#d{96{ zLw? v59U&{W}o!oW+5o?{R>g2B$qg&SGzmcZ&Wz9{nDx`>4b9O=3@nHip&24@3(F# delta 7884 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 diff --git a/res/translations/mixxx_hu.ts b/res/translations/mixxx_hu.ts index 8322277bb728..c5691d88cecb 100644 --- a/res/translations/mixxx_hu.ts +++ b/res/translations/mixxx_hu.ts @@ -26,45 +26,45 @@ Enable Auto DJ - + Auto DJ engedélyezése Disable Auto DJ - + Auto DJ letiltása Clear Auto DJ Queue - + Auto DJ-lista ürítése - + Remove Crate as Track Source Rekesz, mint zene forrás eltávoltása - + Auto DJ Auto DJ - + Confirmation Clear - + Do you really want to remove all tracks from the Auto DJ queue? - + Biztosan el akarod távolítani az összes számot az Auto DJ-listából? - + This can not be undone. - + Ezt a műveletet nem lehet visszavonni. - + Add Crate as Track Source Rekesz, mint zene forrás hozzáadása @@ -149,28 +149,28 @@ BasePlaylistFeature - + New Playlist Új lejátszólista - + Add to Auto DJ Queue (bottom) Hozzáadás az Auto DJ listához (végére) - + Create New Playlist Új lejátszólista készítése - + Add to Auto DJ Queue (top) Hozzáadás az Auto DJ listához (elejére) - + Remove Eltávolítás @@ -180,12 +180,12 @@ Átnevezés - + Lock Zárolás - + Duplicate Másolat @@ -206,24 +206,24 @@ Teljes lejátszólista elemzése - + Enter new name for playlist: Add meg a lejátszólista új nevét: - + Duplicate Playlist Lejátszólista másolata - - + + Enter name for new playlist: Add meg az új lejátszólista nevét: - + Export Playlist Lejátszólista exportálása @@ -233,70 +233,77 @@ Hozzáadás az Auto DJ listához (csere) - + + + Export to Engine DJ + "Engine DJ" is a product name and must not be translated. + + + + Rename Playlist Lejátszólista átnevezése - - + + Renaming Playlist Failed Lejátszólista átnevezése sikertelen - - - + + + A playlist by that name already exists. Egy lejátszólista ezzel a névvel már létezik. - - - + + + A playlist cannot have a blank name. A lejátszólista nem tartalmazhat üres helyet. - + _copy //: Appendix to default name when duplicating a playlist _másolás - - - - - - + + + + + + Playlist Creation Failed Lejátszólista készítése sikertelen - - + + An unknown error occurred while creating playlist: Ismeretlen hiba történt a lejátszólista készítésekor: - + Confirm Deletion - + Törlés megerősítése - + Do you really want to delete playlist <b>%1</b>? - + Biztos törölni akarod a(z) <b>„%1”</b> lejátszólistát? - + M3U Playlist (*.m3u) M3U lejátszási lista (*.m3u) - + M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Text CSV (*.csv);;Readable Text (*.txt) M3U lejátszási lista (*.m3u);;M3U8 lejátszási lista (*.m3u8);;PLS lejátszási lista (*.pls);;Szöveg CSV (*.csv);;Olvasható szöveg (*.txt) @@ -304,12 +311,12 @@ BaseSqlTableModel - + # # - + Timestamp Időbélyeg @@ -317,7 +324,7 @@ BaseTrackPlayerImpl - + Couldn't load track. Nem lehet a számot betölteni. @@ -325,140 +332,145 @@ BaseTrackTableModel - + Album Album - + Album Artist Album Előadó - + Artist Előadó - + Bitrate Bitráta - + BPM BPM - + Channels Csatornák - + Color Szín - + Comment Megjegyzés - + Composer Szerző - + Cover Art Borító - + Date Added Hozzáadás dátuma - + Last Played - + Legutóbb játszott - + Duration Időtartam - + Type Típus - + Genre Műfaj - + Grouping Csoportosítás - + Key Hangnem - + Location Hely - + + Overview + Áttekintés + + + Preview Előnézet - + Rating Értékelés - + ReplayGain Visszajátszás hangerősítése - + Samplerate Mintavételezési frekvencia - + Played Játszott - + Title Cím - + Track # Zeneszám # - + Year Év - + Fetching image ... Tooltip text on the cover art column shown when the cover is read from disk - + Kép betöltése... @@ -543,67 +555,77 @@ BrowseFeature - + Add to Quick Links Hozzáadás gyorshivatkozásokhoz - + Remove from Quick Links Eltávolítás a gyorshivatkozások közül - + Add to Library Hozzáadás könyvtárhoz - + Refresh directory tree - + Quick Links Gyors Linkek - - + + Devices Eszközök - + Removable Devices Cserélhető eszközök - - + + Computer Számítógép - + Music Directory Added Zenei könyvtár hozzáadva - + You added one or more music directories. The tracks in these directories won't be available until you rescan your library. Would you like to rescan now? Hozzáadtál egy vagy több zenei könyvtárat. A zeneszámok ezekben a könyvtárakban nem lesznek elérhetők, amíg újra nem olvastatod a könyvtáraidat. Szeretnéd most újraolvastatni? - + Scan Beolvasás - + "Computer" lets you navigate, view, and load tracks from folders on your hard disk and external devices. A "Számítógép" enged navigálni, megnézni és betölteni számokat a mappákból a merevlemezeden, vagy cserélhető adattárolókból + + + It shows the data from the file tags, not track data from your Mixxx library like other track views. + + + + + If you load a track file from here, it will be added to your library. + + BrowseTableModel @@ -738,7 +760,7 @@ The file '%1' could not be loaded because it contains %2 channels, and only 1 to %3 are supported. - + A(z) „%1” fájlt nem lehet betölteni, mert %2 csatornát tartalmaz, de csak 1-%3 számú csatorna támogatott. @@ -749,87 +771,87 @@ CmdlineArgs - + Mixxx is an open source DJ software. For more information, see: - + A Mixxx egy nyílt forráskódú DJ szoftver. Bővebb információkért lásd: - + Starts Mixxx in full-screen mode Teljes képernyős módban indítja el a Mixxx-et - + Use a custom locale for loading translations. (e.g 'fr') - + Top-level directory where Mixxx should look for its resource files such as MIDI mappings, overriding the default installation location. - + Path the debug statistics time line is written to - + Causes Mixxx to display/log all of the controller data it receives and script functions it loads - + The controller mapping will issue more aggressive warnings and errors when detecting misuse of controller APIs. New Controller Mappings should be developed with this option enabled! - + Enables developer-mode. Includes extra log info, stats on performance, and a Developer tools menu. - + Top-level directory where Mixxx should look for settings. Default is: - + Starts Auto DJ when Mixxx is launched. - + Elindítja az Auto DJ-t a Mixxx indításakor. - + Rescans the library when Mixxx is launched. - + Újra átvizsgálja a könyvtárat a Mixxx indításakor. - + Use legacy vu meter - + Use legacy spinny - + Loads experimental QML GUI instead of legacy QWidget skin - + Enables safe-mode. Disables OpenGL waveforms, and spinning vinyl widgets. Try this option if Mixxx is crashing on startup. - + [auto|always|never] Use colors on the console output. [auto|always|never] Színek használata a konzolos kimeneten. - + Sets the verbosity of command line logging. critical - Critical/Fatal only warning - Above + Warnings @@ -839,27 +861,32 @@ trace - Above + Profiling messages - + Sets the the logging level at which the log buffer is flushed to mixxx.log. <level> is one of the values defined at --log-level above. - + Sets the maximum file size of the mixxx.log file in bytes. Use -1 for unlimited. The default is 100 MB as 1e5 or 100000000. - + Breaks (SIGINT) Mixxx, if a DEBUG_ASSERT evaluates to false. Under a debugger you can continue afterwards. - + + Overrides the default application GUI style. Possible values: %1 + Felülírja az alkalmazás alapértelmezett GUI stílusát. Lehetséges értékek: %1 + + + Load the specified music file(s) at start-up. Each file you specify will be loaded into the next virtual deck. - + Preview rendered controller screens in the Setting windows. @@ -1041,13 +1068,13 @@ trace - Above + Profiling messages - + Set to full volume Teljes hangerő - + Set to zero volume Nulla hangerő @@ -1072,13 +1099,13 @@ trace - Above + Profiling messages Visszafele görgetés (Cenzúra) gomb - + Headphone listen button Fejhallgató belehallgatás gomb - + Mute button Némítás @@ -1089,25 +1116,25 @@ trace - Above + Profiling messages - + Mix orientation (e.g. left, right, center) Keverő orientáció (pl. bal, jobb, közép) - + Set mix orientation to left Keverés orientáció beállítása balra - + Set mix orientation to center Keverés orientáció beállítása középre - + Set mix orientation to right Keverés orientáció beállítása jobbra @@ -1148,22 +1175,22 @@ trace - Above + Profiling messages BPM koppintás gomb - + Toggle quantize mode Kvantálási mód kapcsolása - + One-time beat sync (tempo only) Egyszeres ütemigazítás (csak BPM) - + One-time beat sync (phase only) Egyszeres ütemigazítás (csak fázis) - + Toggle keylock mode Hangszín zár kapcsoló @@ -1173,193 +1200,193 @@ trace - Above + Profiling messages Hangszínszabályzók - + Vinyl Control Bakelit vezérlés - + Toggle vinyl-control cueing mode (OFF/ONE/HOT) - + Toggle vinyl-control mode (ABS/REL/CONST) Bakelit vezérlési mód váltása (ABSZ/REL/KONST) - + Pass through external audio into the internal mixer - + Cues Cue pontok - + Cue button Cue gomb - + Set cue point Cue pont beállítása - + Go to cue point Cue pontra ugrás - + Go to cue point and play Cue pontra ugrás és lejátszás - + Go to cue point and stop Cue pontra ugrás és megállítás - + Preview from cue point Előhallgatás cue ponttól - + Cue button (CDJ mode) Cue gomb (CDJ mód) - + Stutter cue - + Hotcues Hotcue pontok - + Set, preview from or jump to hotcue %1 - + Clear hotcue %1 Hotcue %1 törlése - + Set hotcue %1 Hotcue %1 beállítása - + Jump to hotcue %1 Ugrás a(z) % 1 hotcue-hoz - + Jump to hotcue %1 and stop Ugrás a(z) hotcue-hoz és stop - + Jump to hotcue %1 and play - + Preview from hotcue %1 - - + + Hotcue %1 Hotcue %1 - + Looping Ismétlés - + Loop In button Ismétlés kezdete gomb - + Loop Out button Ismétlés vége gomb - + Loop Exit button Ismétlésből kilépés gomb - + 1/2 1/2 - + 1 1 - + 2 2 - + 4 4 - + 8 8 - + 16 16 - + 32 32 - + 64 64 - + Move loop forward by %1 beats Ismétlés előre mozgatása %1 ütemmel - + Move loop backward by %1 beats Ismétlés hátra mozgatása %1 ütemmel - + Create %1-beat loop %1 ütem ismétlésének létrehozása - + Create temporary %1-beat loop roll %1 ütem ismétlésének átmeneti létrehozása csúsztatással @@ -1475,20 +1502,20 @@ trace - Above + Profiling messages - - + + Volume Fader Hangerő Fader - + Full Volume Teljes hangerő - + Zero Volume Némítás @@ -1504,7 +1531,7 @@ trace - Above + Profiling messages - + Mute Némítás @@ -1515,7 +1542,7 @@ trace - Above + Profiling messages - + Headphone Listen @@ -1536,25 +1563,25 @@ trace - Above + Profiling messages - + Orientation Tájolás - + Orient Left Balra igazítás - + Orient Center Középre igazítás - + Orient Right Jobbra igazítás @@ -1624,82 +1651,82 @@ trace - Above + Profiling messages Ütemrács mozgatása jobbra - + Adjust Beatgrid Ütemrács igazítása - + Align beatgrid to current position Ütemrács igazítása a jelenlegi pozícióra - + Adjust Beatgrid - Match Alignment - + Adjust beatgrid to match another playing deck. Ütemrács igazítása másik futó lemezjátszóhoz. - + Quantize Mode Kvantált mód - + Sync Szinkron - + Beat Sync One-Shot - + Sync Tempo One-Shot - + Sync Phase One-Shot - + Pitch control (does not affect tempo), center is original pitch Hangmagasság vezérlő (nincs hatással a tempóra), középen az eredeti érték - + Pitch Adjust Hangmagasság állítás - + Adjust pitch from speed slider pitch Hangmagasság állítása a sebesség csúszkával - + Match musical key Zenei hangnem illesztése - + Match Key Hangnem illesztése - + Reset Key Hangnem visszaállítása - + Resets key to original Visszaállítja a hangnemet az eredetire @@ -1740,453 +1767,453 @@ trace - Above + Profiling messages Mély EQ - + Toggle Vinyl Control Bakelit vezérlés kapcsolása - + Toggle Vinyl Control (ON/OFF) Bakelit vezérlés kapcsolása (BE/KI) - + Vinyl Control Mode Bakelit vezérlés mód - + Vinyl Control Cueing Mode - + Vinyl Control Passthrough - + Vinyl Control Next Deck Bakelit vezérlés következő lejátszó - + Single deck mode - Switch vinyl control to next deck Egylejátszós mód - Bakelit vezérlés váltása a következő lejátszóra - + Cue Cue - + Set Cue Cue pont beállítása - + Go-To Cue Cue pontra ugrás - + Go-To Cue And Play Cue pontra ugrás és lejátszás - + Go-To Cue And Stop Cue pontra ugrás és megállítás - + Preview Cue Cue pont előhallgatása - + Cue (CDJ Mode) Cue (CDJ mód) - + Stutter Cue - + Go to cue point and play after release - + Clear Hotcue %1 Hotcue %1 törlés - + Set Hotcue %1 Hotcue %1 beállítás - + Jump To Hotcue %1 Ugrás a %1 Hotcue - + Jump To Hotcue %1 And Stop - + Jump To Hotcue %1 And Play - + Preview Hotcue %1 Hotcue %1 előnézet - + Loop In Ismétlést kezd - + Loop Out Ismétlést zár - + Loop Exit Ismétlésből kilép - + Reloop/Exit Loop Újraismétlés/kilépés - + Loop Halve Ismétlés felezése - + Loop Double Ismétlés kétszerezése - + 1/32 1/32 - + 1/16 1/16 - + 1/8 1/8 - + 1/4 1/4 - + Move Loop +%1 Beats Ismétlés mozgatása +%1 ütemmel - + Move Loop -%1 Beats Ismétlés mozgatása -%1 ütemmel - + Loop %1 Beats %1 ütem ismétlése - + Loop Roll %1 Beats %1 ütem ismétlése csúsztatással - + Add to Auto DJ Queue (bottom) Hozzáadás az Auto DJ listához (végére) - + Append the selected track to the Auto DJ Queue A kiválasztott szám hozzáadása az Auto DJ lejátszási listájának végére - + Add to Auto DJ Queue (top) Hozzáadás az Auto DJ listához (elejére) - + Prepend selected track to the Auto DJ Queue A kiválasztott szám hozzáadása az Auto DJ lejátszási listájának elejére - + Load Track Szám betöltése - + Load selected track Kiválasztott szám betöltése - + Load selected track and play Kiválasztott szám betöltése és lejátszás - - + + Record Mix Mix felvétele - + Toggle mix recording Mix felvételének kapcsolása - + Effects Effektek - + Quick Effects Gyors effektek - + Deck %1 Quick Effect Super Knob - + Quick Effect Super Knob (control linked effect parameters) - - + + Quick Effect Gyors effekt - + Clear Unit Egység ürítése - + Clear effect unit - + Toggle Unit Egység kapcsolása - + Dry/Wet Száraz/nedves - + Adjust the balance between the original (dry) and processed (wet) signal. - + Super Knob Super potméter - + Next Chain Következő lánc - + Assign - + Hozzárendelés - + Clear - + Törlés - + Clear the current effect - + A jelenlegi effekt törlése - + Toggle - + Toggle the current effect - + Next Következő - + Switch to next effect - + Váltás a következő effektre - + Previous Előző - + Switch to the previous effect - + Váltás az előző effektre - + Next or Previous Következő vagy előző - + Switch to either next or previous effect - - + + Parameter Value Paraméter érték - - + + Microphone Ducking Strength - + Microphone Ducking Mode - + Gain - + Előerősítés - + Gain knob - + Shuffle the content of the Auto DJ queue Az Auto DJ lejátszási lista tartalmának összekeverése. - + Skip the next track in the Auto DJ queue Az Auto DJ lejátszási lista következő számának átugrása - + Auto DJ Toggle Auto DJ kapcsolása - + Toggle Auto DJ On/Off Auto DJ be/kikapcsolása - + Show/hide the microphone & auxiliary section Megmutatja/elrejti a mikrofon és külső bemenet részt - + 4 Effect Units Show/Hide - + Switches between showing 2 and 4 effect units - + Mixer Show/Hide Keverő mutatása/rejtése - + Show or hide the mixer. Megmutatja vagy elrejti a keverőt - + Cover Art Show/Hide (Library) Borítókép mutatása/rejtése (Könyvtár) - + Show/hide cover art in the library Megmutatja vagy elrejti a könyvtárban a borítóképet - + Library Maximize/Restore Könyvtár maximalizálása/visszaállítása - + Maximize the track library to take up all the available screen space. Maximalizálja a számkönyvtárat, hogy minden elérhető helyet elfoglaljon a képernyőn. - + Effect Rack Show/Hide - + Show/hide the effect rack - + Waveform Zoom Out - + Hullámforma kicsinyítése @@ -2199,102 +2226,102 @@ trace - Above + Profiling messages Fejhallgató erősítés - + Tap to sync tempo (and phase with quantize enabled), hold to enable permanent sync - + One-time beat sync tempo (and phase with quantize enabled) - + Playback Speed Lejátszási sebesség - + Playback speed control (Vinyl "Pitch" slider) - + Pitch (Musical key) Hangmagasság (Zenei hangnem) - + Increase Speed Sebesség növelése - + Adjust speed faster (coarse) Sebesség növelése (durva) - + Increase Speed (Fine) Sebesség növelése (finom) - + Adjust speed faster (fine) Sebesség növelése (finom) - + Decrease Speed Sebesség csökkentése - + Adjust speed slower (coarse) Sebesség csökkentése (durva) - + Adjust speed slower (fine) Sebesség csökkentése (finom) - + Temporarily Increase Speed Sebesség növelése átmenetileg - + Temporarily increase speed (coarse) - + Temporarily Increase Speed (Fine) - + Temporarily increase speed (fine) - + Temporarily Decrease Speed - + Sebesség ideiglenes csökkentése - + Temporarily decrease speed (coarse) - + Temporarily Decrease Speed (Fine) - + Temporarily decrease speed (fine) @@ -2368,7 +2395,7 @@ trace - Above + Profiling messages Halve BPM - + BPM felezése @@ -2378,17 +2405,17 @@ trace - Above + Profiling messages 2/3 BPM - + 2/3 BPM Multiply current BPM by 0.666 - + Jelenlegi BPM 0.666-szorosa 3/4 BPM - + 3/4 BPM @@ -2398,7 +2425,7 @@ trace - Above + Profiling messages 4/3 BPM - + 4/3 BPM @@ -2408,7 +2435,7 @@ trace - Above + Profiling messages 3/2 BPM - + 3/2 BPM @@ -2418,7 +2445,7 @@ trace - Above + Profiling messages Double BPM - + BPM duplázása @@ -2446,1041 +2473,1063 @@ trace - Above + Profiling messages - - + + Move Beatgrid Half a Beat + + + + + Adjust the beatgrid by exactly one half beat. Usable only for tracks with constant tempo. + + + + + Toggle the BPM/beatgrid lock - + Revert last BPM/Beatgrid Change - + Revert last BPM/Beatgrid Change of the loaded track. - + Sync / Sync Lock - + Internal Sync Leader - + Toggle Internal Sync Leader - - + + Internal Leader BPM - + Internal Leader BPM +1 - + Increase internal Leader BPM by 1 - + Internal Leader BPM -1 - + Decrease internal Leader BPM by 1 - + Internal Leader BPM +0.1 - + Increase internal Leader BPM by 0.1 - + Internal Leader BPM -0.1 - + Decrease internal Leader BPM by 0.1 - + Sync Leader - + Sync mode 3-state toggle / indicator (Off, Soft Leader, Explicit Leader) - + Speed Sebesség - + Decrease Speed (Fine) - + Pitch (Musical Key) Hangmagasság (Zenei hangnem) - + Increase Pitch Hangmagasság növelése - + Increases the pitch by one semitone Hangmagasság növelése félhanggal - + Increase Pitch (Fine) Hangmagasság növelése (finom) - + Increases the pitch by 10 cents - + Decrease Pitch Hangmagasság csökkentése - + Decreases the pitch by one semitone Hangmagasság csökkentése félhanggal - + Decrease Pitch (Fine) Hangmagasság csökkentése (finom) - + Decreases the pitch by 10 cents - + Keylock Hangnemzár - + CUP (Cue + Play) CUP (Cue + Lejátszás) - + Shift cue points earlier Cue pontok igazítása korábbra - + Shift cue points 10 milliseconds earlier Cue pontok igazítása 10 milliszekundummal korábbra - + Shift cue points earlier (fine) Cue pontok igazítása korábbra (finom) - + Shift cue points 1 millisecond earlier Cue pontok igazítása 1 milliszekundummal korábbra - + Shift cue points later Cue pontok igazítása későbbre - + Shift cue points 10 milliseconds later Cue pontok igazítása 10 milliszekundummal későbbre - + Shift cue points later (fine) Cue pontok igazítása későbbre (finom) - + Shift cue points 1 millisecond later Cue pontok igazítása 1 milliszekundummal későbbre - + + + Sort hotcues by position + + + + + + Sort hotcues by position (remove offsets) + + + + Hotcues %1-%2 Hotcuek %1-%2 - + Intro / Outro Markers - + Intro Start Marker - + Intro End Marker - + Outro Start Marker - + Outro End Marker - + intro start marker - + intro end marker - + outro start marker - + outro end marker - + Activate %1 [intro/outro marker - + Jump to or set the %1 [intro/outro marker - + Set %1 [intro/outro marker - + Set or jump to the %1 [intro/outro marker - + Clear %1 [intro/outro marker - + Clear the %1 [intro/outro marker - + if the track has no beats the unit is seconds - + Loop Selected Beats Kiválasztott ütemek ismétlése - + Create a beat loop of selected beat size Kiválasztott ütemszámú ismétlés indítása - + Loop Roll Selected Beats Kiválasztott ütemek ismétlése csúsztatással - + Create a rolling beat loop of selected beat size Kiválasztott ütemszámú ismétlés indítása csúsztatással - + Loop %1 Beats set from its end point - + Loop Roll %1 Beats set from its end point - + Create %1-beat loop with the current play position as loop end - + Create temporary %1-beat loop roll with the current play position as loop end - + Loop Beats Ütemek ismétlése - + Loop Roll Beats Ütemek ismétlése csúsztatással - + Go To Loop In - + Go to Loop In button - + Go To Loop Out - + Go to Loop Out button - + Toggle loop on/off and jump to Loop In point if loop is behind play position Ismétlés be/kikapcsolása és ugrás az ismétlés kezdőpontjára, ha az ismétlés a lejátszótű mögött van - + Reloop And Stop Újraismétlés és megállítás - + Enable loop, jump to Loop In point, and stop Ismétlés bekapcsolása, kezdetére ugrás és megállítása - + Halve the loop length Az ismétlés hosszának felezése - + Double the loop length Az ismétlés hosszának duplázása - + Beat Jump / Loop Move Ütemugrás / Ismétlés mozgatása - + Jump / Move Loop Forward %1 Beats Ugorj / Mozgasd az ismétlést %1 ütemmel előre - + Jump / Move Loop Backward %1 Beats Ugorj / Mozgasd az ismétlést %1 ütemmel vissza - + Jump forward by %1 beats, or if a loop is enabled, move the loop forward %1 beats - + Jump backward by %1 beats, or if a loop is enabled, move the loop backward %1 beats - + Beat Jump / Loop Move Forward Selected Beats - + Jump forward by the selected number of beats, or if a loop is enabled, move the loop forward by the selected number of beats - + Beat Jump / Loop Move Backward Selected Beats - + Jump backward by the selected number of beats, or if a loop is enabled, move the loop backward by the selected number of beats - + Beat Jump - + Indicate which loop marker remain static when adjusting the size or is inherited from the current position - + Beat Jump / Loop Move Forward - + Beat Jump / Loop Move Backward - + Loop Move Forward - + Loop Move Backward - + Remove Temporary Loop - + Remove the temporary loop - + Navigation Navigáció - + Move up Mozgás fel - + Equivalent to pressing the UP key on the keyboard Megegyezik a FEL billentyűvel - + Move down Mozgás le - + Equivalent to pressing the DOWN key on the keyboard Megegyezik a LE billentyűvel - + Move up/down Fel/le mozgás - + Move vertically in either direction using a knob, as if pressing UP/DOWN keys Mozogj függőlegesen mindkét irányba enkóder használatával, mintha a FEL/LE gombokat nyomkodnád - + Scroll Up Tekerés fel - + Equivalent to pressing the PAGE UP key on the keyboard Megegyezik a PAGE UP billentyűvel - + Scroll Down Tekerés le - + Equivalent to pressing the PAGE DOWN key on the keyboard Megegyezik a PAGE DOWN billentyűvel - + Scroll up/down Tekerés fel/le - + Scroll vertically in either direction using a knob, as if pressing PGUP/PGDOWN keys Tekerj függőlegesen mindkét irányba enkóder használatával, mintha a PGUP/PGDOWN billentyűket nyomkodnád - + Move left Mozgás balra - + Equivalent to pressing the LEFT key on the keyboard Megegyezik a BAL billentyűvel - + Move right Mozgás jobbra - + Equivalent to pressing the RIGHT key on the keyboard Megegyezik a JOBB billentyűvel - + Move left/right Mozgás balra/jobbra - + Move horizontally in either direction using a knob, as if pressing LEFT/RIGHT keys Mozogj vízszintesen mindkét irányba enkóder használatával, mintha a BAL/JOBB billentyűket nyomkodnád - + Move focus to right pane Fókusz mozgatása a jobb panelra - + Equivalent to pressing the TAB key on the keyboard Megegyezik a TAB billentyűvel - + Move focus to left pane Fókusz mozgatása a bal panelra - + Equivalent to pressing the SHIFT+TAB key on the keyboard Megegyezik a SHIFT+TAB billentyűkombinációval - + Move focus to right/left pane Fókusz mozgatása a jobb/bal panelra - + Move focus one pane to right or left using a knob, as if pressing TAB/SHIFT+TAB keys Fókusz mozgatása egy panellal jobbra vagy balra, mintha a TAB/SHIFT+TAB billentyűket nyomkodnád - + Sort focused column - + Sort the column of the cell that is currently focused, equivalent to clicking on its header - + Go to the currently selected item Ugrás az utoljára kiválasztott elemhez - + Choose the currently selected item and advance forward one pane if appropriate - + Load Track and Play Szám betöltése és lejátszás - + Add to Auto DJ Queue (replace) Hozzáadás az Auto DJ listához (csere) - + Replace Auto DJ Queue with selected tracks - + Select next search history - + Selects the next search history entry - + Select previous search history - + Selects the previous search history entry - + Move selected search entry - + Moves the selected search history item into given direction and steps - + Clear search - + Clears the search query - - + + Select Next Color Available - + Select the next color in the color palette for the first selected track - - + + Select Previous Color Available - + Select the previous color in the color palette for the first selected track - + Deck %1 Quick Effect Enable Button - + Quick Effect Enable Button Gyors effekt engedély gomb - + Enable or disable effect processing - + Super Knob (control effects' Meta Knobs) - + Mix Mode Toggle Mix mód kiválsztás - + Toggle effect unit between D/W and D+W modes - + Next chain preset Következő lánc beállítás - + Previous Chain Előző lánc - + Previous chain preset Előző lánc beállítás - + Next/Previous Chain Következő/előző lánc - + Next or previous chain preset - - + + Show Effect Parameters Effekt paraméterek mutatása - + Effect Unit Assignment - + Meta Knob - + Effect Meta Knob (control linked effect parameters) - + Meta Knob Mode - + Set how linked effect parameters change when turning the Meta Knob. - + Meta Knob Mode Invert - + Invert how linked effect parameters change when turning the Meta Knob. - - + + Button Parameter Value - + Microphone / Auxiliary - + Microphone On/Off Kikrofon ki/be - + Microphone on/off Mikrofon be/ki - + Toggle microphone ducking mode (OFF, AUTO, MANUAL) - + Auxiliary On/Off AUX ki/be - + Auxiliary on/off - + Auto DJ Auto DJ - + Auto DJ Shuffle - + Auto DJ Skip Next - + Auto DJ Add Random Track - + Add a random track to the Auto DJ queue - + Auto DJ Fade To Next - + Trigger the transition to the next track - + User Interface Felhasználói felület - + Samplers Show/Hide Sampler mutat/elrejt - + Show/hide the sampler section Sampler szekció mutat/elrejt - + Microphone && Auxiliary Show/Hide keep double & to prevent creation of keyboard accelerator Mikrofon és külső bemenetek mutatása/rejtése - + Waveform Zoom Reset To Default - + Reset the waveform zoom level to the default value selected in Preferences -> Waveforms - + Select the next color in the color palette for the loaded track. - + Select previous color in the color palette for the loaded track. - + Navigate Through Track Colors - + Select either next or previous color in the palette for the loaded track. - + Start/Stop Live Broadcasting - + Stream your mix over the Internet. - + Start/stop recording your mix. - - + + Samplers - + Vinyl Control Show/Hide - + Show/hide the vinyl control section - + Preview Deck Show/Hide - + Show/hide the preview deck - + Toggle 4 Decks - + Switches between showing 2 decks and 4 decks. - + Cover Art Show/Hide (Decks) - + Show/hide cover art in the main decks - + Vinyl Spinner Show/Hide - + Show/hide spinning vinyl widget - + Vinyl Spinners Show/Hide (All Decks) - + Show/Hide all spinnies - + Toggle Waveforms - + Show/hide the scrolling waveforms. - + Waveform zoom Hanghullámforma zoom - + Waveform Zoom Hanghullámforma zoom - + Zoom waveform in - + Waveform Zoom In - + Zoom waveform out - + Star Rating Up - + Increase the track rating by one star - + Star Rating Down - + Decrease the track rating by one star @@ -3595,32 +3644,32 @@ trace - Above + Profiling messages ControllerScriptEngineBase - + The functionality provided by this controller mapping will be disabled until the issue has been resolved. - + You can ignore this error for this session but you may experience erratic behavior. - + Try to recover by resetting your controller. Probáld resetelni a controllered - + Controller Mapping Error - + The mapping for your controller "%1" is not working properly. - + The script code needs to be fixed. @@ -3664,13 +3713,13 @@ trace - Above + Profiling messages CrateFeature - + Remove Eltávolítás - + Create New Crate Új Rekesz készítése @@ -3680,132 +3729,132 @@ trace - Above + Profiling messages Átnevezés - - + + Lock Zárolás - + Export Crate as Playlist Rekesz exportálása mint lejátszólista - + Export Track Files Zeneszám fájlok exportálása - + Duplicate Másolat - + Analyze entire Crate - + Auto DJ Track Source - + Enter new name for crate: - - + + Crates Rekeszek - - + + Import Crate Rekesz importálása - + Export Crate Rekesz exportálása - + Unlock Feloldás - + An unknown error occurred while creating crate: Egy ismeretlen hiba lépett fel a rekesz készítése közben: - + Rename Crate Rekesz átnevezése - - - Export to Engine Prime - - - - + Make a crate for your next gig, for your favorite electrohouse tracks, or for your most requested tracks. - + Confirm Deletion - - + + Renaming Crate Failed Rekesz átnevezése sikertelen - + Crate Creation Failed Rekesz elkészítése sikertelen - + M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Text CSV (*.csv);;Readable Text (*.txt) M3U lejátszási lista (*.m3u);;M3U8 lejátszási lista (*.m3u8);;PLS lejátszási lista (*.pls);;Szöveg CSV (*.csv);;Olvasható szöveg (*.txt) - + M3U Playlist (*.m3u) M3U lejátszási lista (*.m3u) - + Crates are a great way to help organize the music you want to DJ with. - + + + Export to Engine DJ + + + + Crates let you organize your music however you'd like! A Rekeszekkel tudod a zenéidet úgy rendszerezni, ahogy szeretnéd! - + Do you really want to delete crate <b>%1</b>? - + A crate cannot have a blank name. Rekesz neve nem lehet üres. - + A crate by that name already exists. Rekesz ezzel a névvel már létezik. @@ -3900,12 +3949,12 @@ trace - Above + Profiling messages - + Official Website - + Donate @@ -4024,72 +4073,72 @@ trace - Above + Profiling messages DlgAutoDJ - + Skip Kihagyás - + Random - + Fade - + Enable Auto DJ Shortcut: Shift+F12 - + Disable Auto DJ Shortcut: Shift+F12 - + Trigger the transition to the next track Shortcut: Shift+F11 - + Skip the next track in the Auto DJ queue Shortcut: Shift+F10 - + Shuffle the content of the Auto DJ queue Shortcut: Shift+F9 - + Repeat the playlist Lejátszólista ismétlése - + Determines the duration of the transition - + Seconds - + Auto DJ Fade Modes Full Intro + Outro: @@ -4120,80 +4169,80 @@ crossfader, so that the intro starts at full volume. - + Full Intro + Outro - + Fade At Outro Start - + Full Track - + Skip Silence - + Skip Silence Start Full Volume - + Decks not used for Auto DJ must be stopped to enable Auto DJ mode. - + Repeat - + Auto DJ requires two decks assigned to opposite sides of the crossfader. - + One deck must be stopped to enable Auto DJ mode. - + Enable - + Disable - + Displays the duration and number of selected tracks. - - - + + + Auto DJ Auto DJ - + Shuffle Összekeverés - + Adds a random track from track sources (crates) to the Auto DJ queue. If no track sources are configured, the track is added from the library instead. @@ -4416,37 +4465,37 @@ Often results in higher quality beatgrids, but will not do well on tracks that h - + Didn't get any midi messages. Please try again. - + Unable to detect a mapping -- please try again. Be sure to only touch one control at once. - + Successfully mapped control: - + <i>Ready to learn %1</i> - + Learning: %1. Now move a control on your controller. - + The selected control does not exist.<br>This likely a bug. Please report it on the Mixxx bug tracker.<br><a href='https://github.com/mixxxdj/mixxx/issues'>https://github.com/mixxxdj/mixxx/issues</a><br><br>You tried to learn: %1,%2 - + The control you clicked in Mixxx is not learnable. This could be because you are either using an old skin and this control is no longer supported, or you clicked a control that provides visual feedback and can only be mapped to outputs like LEDs via scripts. @@ -4485,17 +4534,17 @@ You tried to learn: %1,%2 - + Log - + Search - + Stats @@ -5148,113 +5197,113 @@ associated with each key. DlgPrefController - + Apply device settings? - + Your settings must be applied before starting the learning wizard. Apply settings and continue? - + None Nincs - + %1 by %2 - + Mapping has been edited - + Always overwrite during this session - + Save As - + Overwrite - + Save user mapping - + Enter the name for saving the mapping to the user folder. - + Saving mapping failed - + A mapping cannot have a blank name and may not contain special characters. - + A mapping file with that name already exists. - + Do you want to save the changes? - + Troubleshooting - + <font color='#BB0000'><b>If you use this mapping your controller may not work correctly. Please select another mapping or disable the controller.</b></font><br><br>This mapping was designed for a newer Mixxx Controller Engine and cannot be used on your current Mixxx installation.<br>Your Mixxx installation has Controller Engine version %1. This mapping requires a Controller Engine version >= %2.<br><br>For more information visit the wiki page on <a href='https://mixxx.org/wiki/doku.php/controller_engine_versions'>Controller Engine Versions</a>. - + Mapping already exists. - + <b>%1</b> already exists in user mapping folder.<br>Overwrite or save with a new name? - + Clear Input Mappings - + Are you sure you want to clear all input mappings? - + Clear Output Mappings - + Are you sure you want to clear all output mappings? @@ -5267,105 +5316,105 @@ Apply settings and continue? - + Enabled Engedélyezve - + Device Info - + Physical Interface: - + Vendor name: - + Product name: - + Vendor ID - + VID: - + Product ID - + PID: - + Serial number: - + USB interface number: - + HID Usage-Page: - + HID Usage: - + Description: - + Support: - + Screens preview - + Input Mappings - - + + Search - - + + Add Hozzáadás - - + + Remove Eltávolítás @@ -5380,22 +5429,22 @@ Apply settings and continue? - + Load Mapping: - + Mapping Info - + Author: - + Name: @@ -5405,28 +5454,28 @@ Apply settings and continue? - + Data protocol: - + Mapping Files: - + Mapping Settings - - + + Clear All Összes törlése - + Output Mappings @@ -5585,6 +5634,16 @@ Apply settings and continue? Multi-Sampling + + + Force 3D acceleration + + + + + If checked, Mixxx will always assume 3D acceleration is available. This may lead to pour performance if only CP-backed rendering is available.. + + Start in full-screen mode @@ -6195,62 +6254,62 @@ Fogd-és-vidd módszerrel mindig másolhatsz lejátszókat. DlgPrefInterface - + The minimum size of the selected skin is bigger than your screen resolution. A kiválasztott kinézet mérete nagyobb, mint a képernyőd felbontása. - + Allow screensaver to run Képernyővédő engedése - + Prevent screensaver from running Képernyővédő letiltása - + Prevent screensaver while playing Képernyővédő letiltása lejátszás közben - + Disabled - + 2x MSAA - + 4x MSAA - + 8x MSAA - + 16x MSAA - + This skin does not support color schemes Ez a kinézet nem támogat színsémákat - + Information Információ - + Mixxx must be restarted before the new locale, scaling or multi-sampling settings will take effect. @@ -7417,173 +7476,172 @@ The loudness target is approximate and assumes track pregain and main output lev DlgPrefSound - + %1 Hz %1 Hz - + Default (long delay) - + Experimental (no delay) - + Disabled (short delay) - + Soundcard Clock - + Network Clock - + Direct monitor (recording and broadcasting only) - + Disabled Letiltva - + Enabled Engedélyezve - + Stereo Sztereó - + Mono Mono - + To enable Realtime scheduling (currently disabled), see the %1. - + The %1 lists sound cards and controllers you may want to consider for using Mixxx. - + Mixxx DJ Hardware Guide - + Information - + Mixxx must be restarted before the multi-threaded RubberBand setting change will take effect. - + auto (<= 1024 frames/period) - + 2048 frames/period - + 4096 frames/period - + Are you sure? - + Distribute stereo channels into mono channels for parallel processing will result in a loss of mono compatibility and a diffuse stereo image. It is not recommended during broadcasting or recording. - + Are you sure you wish to proceed? - + No - + Yes, I know what I am doing - + Microphone inputs are out of time in the record & broadcast signal compared to what you hear. - + Measure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. - - + Refer to the Mixxx User Manual for details. - + Configured latency has changed. - + Remeasure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. - + Realtime scheduling is enabled. - + Main output only - + Main and booth outputs - + %1 ms %1 ms - + Configuration error @@ -7601,131 +7659,131 @@ The loudness target is approximate and assumes track pregain and main output lev Zene API - + Sample Rate - + Audio Buffer - + Engine Clock - + Use soundcard clock for live audience setups and lowest latency.<br>Use network clock for broadcasting without a live audience. - + Main Mix - + Main Output Mode - + Microphone Monitor Mode - + Microphone Latency Compensation - - - - + + + + ms milliseconds ms - + 20 ms 20 ms - + Buffer Underflow Count - + 0 0 - + Keylock/Pitch-Bending Engine - + Multi-Soundcard Synchronization - + Output Kimenet - + Input Bemenet - + System Reported Latency - + Enlarge your audio buffer if the underflow counter is increasing or you hear pops during playback. - + Main Output Delay Fő kimenet késleltetése - + Headphone Output Delay - + Booth Output Delay - + Dual-threaded Stereo - + Hints and Diagnostics - + Downsize your audio buffer to improve Mixxx's responsiveness. - + Query Devices @@ -7880,27 +7938,28 @@ The loudness target is approximate and assumes track pregain and main output lev - - 1/3rd of waveform viewer + + 1/3 of waveform viewer + options for "Text height limit" - - Full waveform viewer height + + Entire waveform viewer - + OpenGL not available - + dropped frames - + Cached waveforms occupy %1 MiB on disk. @@ -7913,250 +7972,256 @@ The loudness target is approximate and assumes track pregain and main output lev - + Frame rate - - Displays which OpenGL version is supported by the current platform. + + OpenGL Status - - Waveform + + Displays which OpenGL version is supported by the current platform. - + Normalize waveform overview - + Average frame rate - + Visual gain - + Default zoom level Waveform zoom - + Displays the actual frame rate. - + Visual gain of the middle frequencies - + End of track warning - - OpenGL status - - - - + This functionality requires waveform acceleration. - + Highlight the waveforms when the last seconds of a track remains. - + seconds - + Low Alacsony - + Show minute markers on waveform overview - + Use acceleration - + High details - + Middle - + Global - + Visual gain of the high frequencies - + Visual gain of the low frequencies - + High Magas - + Global visual gain - + The waveform overview shows the waveform envelope of the entire track. Select from different types of displays for the waveform overview, which differ primarily in the level of detail shown in the waveform. - + Enabled - + The waveform shows the waveform envelope of the track near the current playback position. Select from different types of displays for the waveform, which differ primarily in the level of detail shown in the waveform. - - Waveform overview type - - - - + fps - + Synchronize zoom level across all waveform displays. - + Synchronize zoom level across all waveforms - + Play marker hints - + Beats until next marker - + Preferred font size - + Text height limit - + Time until next marker - + Placement - + pt - + Caching - + Mixxx caches the waveforms of your tracks on disk the first time you load a track. This reduces CPU usage when you are playing live but requires extra disk space. - - Enable waveform caching + + Enable waveform caching + + + + + Generate waveforms when analyzing library + + + + + Beat grid opacity - - Generate waveforms when analyzing library + + Scrolling Waveforms - - Beat grid opacity + + + Type - + Stereo coloration - + Set amount of opacity on beat grid lines. - + % % - + Play marker position - + Moves the play marker position on the waveforms to the left, right or center (default). - + + Overview Waveforms + + + + Clear Cached Waveforms @@ -8164,47 +8229,47 @@ Select from different types of displays for the waveform, which differ primarily DlgPreferences - + Sound Hardware Zene Hardware - + Controllers - + Library Könyvtár - + Interface Felület - + Waveforms - + Mixer Keverő - + Auto DJ Auto DJ - + Decks - + Colors @@ -8239,47 +8304,47 @@ Select from different types of displays for the waveform, which differ primarily - + Effects Effektek - + Recording Rögzítés - + Beat Detection - + Key Detection - + Normalization - + <font color='#BB0000'><b>Some preferences pages have errors. To apply the changes please first fix the issues.</b></font> - + Vinyl Control Bakelit vezérlés - + Live Broadcasting Élő közvetítés - + Modplug Decoder @@ -8312,22 +8377,22 @@ Select from different types of displays for the waveform, which differ primarily - + Start Recording - + Recording to file: - + Stop Recording - + %1 MiB written in %2 @@ -8635,284 +8700,284 @@ This can not be undone! Összegzés - + Filetype: Fájltípus: - + BPM: BPM: - + Location: Hely: - + Bitrate: Bitráta: - + Comments Megjegyzések: - + BPM BPM - + Sets the BPM to 75% of the current value. A BPM-et a jelenlegi érték 75%-ára állítja - + 3/4 BPM 3/4 BPM - + Sets the BPM to 50% of the current value. A BPM-et a jelenlegi érték 50%-ára állítja - + Displays the BPM of the selected track. A kiválasztott szám BPM értékét mutatja. - + Track # Zeneszám # - + Album Artist Album Előadó - + Composer Szerző - + Title Cím - + Grouping Csoportosítás - + Key Billentyű - + Year Év - + Artist Előadó - + Album Album - + Genre Műfaj - + ReplayGain: - + Sets the BPM to 200% of the current value. A BPM-et a jelenlegi érték 200%-ára állítja - + Double BPM BPM duplázása - + Halve BPM BPM felezése - + Clear BPM and Beatgrid - + Move to the previous item. "Previous" button - + &Previous - + Move to the next item. "Next" button - + &Next - + Duration: Időtartam: - + Import Metadata from MusicBrainz - + Re-Import Metadata from file - + Color Szín - + Date added: - + Open in File Browser Megnyitás fájlkezelőben - + Samplerate: - + Track BPM: Zene BPM - + Converts beats detected by the analyzer into a fixed-tempo beatgrid. Use this setting if your tracks have a constant tempo (e.g. most electronic music). Often results in higher quality beatgrids, but will not do well on tracks that have tempo shifts. - + Assume constant tempo - + Sets the BPM to 66% of the current value. - + 2/3 BPM 2/3 BPM - + Sets the BPM to 150% of the current value. - + 3/2 BPM - + Sets the BPM to 133% of the current value. - + 4/3 BPM - + Tap with the beat to set the BPM to the speed you are tapping. - + Tap to Beat - + Hint: Use the Library Analyze view to run BPM detection. - + Save changes and close the window. "OK" button - + &OK - + Discard changes and close the window. "Cancel" button - + Save changes and keep the window open. "Apply" button - + &Apply &Alkalmaz - + &Cancel &Mégsem - + (no color) @@ -9069,7 +9134,7 @@ Often results in higher quality beatgrids, but will not do well on tracks that h - + (no color) @@ -9271,27 +9336,27 @@ Often results in higher quality beatgrids, but will not do well on tracks that h EngineBuffer - + Soundtouch (faster) - + Rubberband (better) - + Rubberband R3 (near-hi-fi quality) - + Unknown, using Rubberband (better) - + Unknown, using Soundtouch @@ -9435,38 +9500,38 @@ Often results in higher quality beatgrids, but will not do well on tracks that h ITunesFeature - - + + iTunes iTunes - + Select your iTunes library - + (loading) iTunes - + Use Default Library - + Choose Library... - + Error Loading iTunes Library - + There was an error loading your iTunes library. Check the logs for details. @@ -9474,12 +9539,12 @@ Often results in higher quality beatgrids, but will not do well on tracks that h LegacyControllerColorSetting - + Change color - + Choose a new color @@ -9487,18 +9552,18 @@ Often results in higher quality beatgrids, but will not do well on tracks that h LegacyControllerFileSetting - + Browse... - - + + No file selected - + Select a file @@ -9506,15 +9571,15 @@ Often results in higher quality beatgrids, but will not do well on tracks that h LegacySkinParser - - + + Safe Mode Enabled Shown when Mixxx is running in safe mode. - - + + No OpenGL support. Shown when Spinny can not be displayed. Please keep @@ -9525,57 +9590,57 @@ Shown when VuMeter can not be displayed. Please keep - + activate - + toggle - + right - + left - + right small - + left small - + up - + down - + up small - + down small - + Shortcut @@ -9583,62 +9648,62 @@ Shown when VuMeter can not be displayed. Please keep Library - + This or a parent directory is already in your library. - + This or a listed directory does not exist or is inaccessible. Aborting the operation to avoid library inconsistencies - - + + This directory can not be read. - + An unknown error occurred. Aborting the operation to avoid library inconsistencies - + Can't add Directory to Library - + Could not add <b>%1</b> to your library. %2 - + Can't remove Directory from Library - + An unknown error occurred. - + This directory does not exist or is inaccessible. - + Relink Directory - + Could not relink <b>%1</b> to <b>%2</b>. %3 @@ -9648,22 +9713,22 @@ Aborting the operation to avoid library inconsistencies LibraryFeature - + Import Playlist Lejátszólista importálása - + Playlist Files (*.m3u *.m3u8 *.pls *.csv) Lejátszólista típusok - + Overwrite File? - + A playlist file with the name "%1" already exists. The default "m3u" extension was added because none was specified. @@ -9710,27 +9775,27 @@ Do you really want to overwrite it? MidiController - + MixxxControl(s) not found - + One or more MixxxControls specified in the outputs section of the loaded mapping were invalid. - + * Make sure the MixxxControls in question actually exist. Visit the manual for a complete list: - + Some LEDs or other feedback may not work correctly. - + * Check to see that the MixxxControl names are spelled correctly in the mapping file (.xml) @@ -9790,18 +9855,18 @@ Do you really want to overwrite it? MixxxLibraryFeature - + Missing Tracks - + Hidden Tracks - Export to Engine Prime + Export to Engine DJ @@ -9813,208 +9878,249 @@ Do you really want to overwrite it? MixxxMainWindow - + Sound Device Busy A hangeszköz foglalt - + <b>Retry</b> after closing the other application or reconnecting a sound device - - - + + + <b>Reconfigure</b> Mixxx's sound device settings. - - + + Get <b>Help</b> from the Mixxx Wiki. Kapjon <b>segítséget</b> a Mixxx Wikiből. - - - + + + <b>Exit</b> Mixxx. - + Retry Újra - + skin - + Allow Mixxx to hide the menu bar? - + Hide Always show the menu bar? - + Always show - + The Mixxx menu bar is hidden and can be toggled with a single press of the <b>Alt</b> key.<br><br>Click <b>%1</b> to agree.<br><br>Click <b>%2</b> to disable that, for example if you don't use Mixxx with a keyboard.<br><br>You can change this setting any time in Preferences -> Interface.<br> Keep formatting tags <b> (bold text) and <br> (linebreak). %1 is the placeholder for the 'Always show' button label - + Ask me again - - + + Reconfigure Újrakonfigurálás - + Help Súgó - - + + Exit Kilépés - - + + Mixxx was unable to open all the configured sound devices. - + Sound Device Error - + <b>Retry</b> after fixing an issue - + No Output Devices - + Mixxx was configured without any output sound devices. Audio processing will be disabled without a configured output device. - + <b>Continue</b> without any outputs. - + Continue - + Load track to Deck %1 - + Deck %1 is currently playing a track. - + Are you sure you want to load a new track? - + There is no input device selected for this vinyl control. Please select an input device in the sound hardware preferences first. - + There is no input device selected for this passthrough control. Please select an input device in the sound hardware preferences first. - + There is no input device selected for this microphone. Do you want to select an input device? - + There is no input device selected for this auxiliary. Do you want to select an input device? - + + Scan took %1 + + + + + No changes detected. + + + + + + %1 tracks in total + + + + + %1 new tracks found + + + + + %1 moved tracks detected + + + + + %1 tracks are missing (%2 total) + + + + + %1 tracks have been rediscovered + + + + + Library scan finished + + + + Error in skin file - + The selected skin cannot be loaded. - + OpenGL Direct Rendering - + Direct rendering is not enabled on your machine.<br><br>This means that the waveform displays will be very<br><b>slow and may tax your CPU heavily</b>. Either update your<br>configuration to enable direct rendering, or disable<br>the waveform displays in the Mixxx preferences by selecting<br>"Empty" as the waveform display in the 'Interface' section. - - - + + + Confirm Exit - + A deck is currently playing. Exit Mixxx? - + A sampler is currently playing. Exit Mixxx? - + The preferences window is still open. - + Discard any changes and exit Mixxx? @@ -10030,13 +10136,13 @@ Do you want to select an input device? PlaylistFeature - + Lock Zárolás - - + + Playlists Lejátszólista @@ -10046,32 +10152,58 @@ Do you want to select an input device? - + + Unlock all playlists + + + + + Delete all unlocked playlists + + + + Unlock Feloldás - + + + Confirm Deletion + + + + + Do you really want to delete all unlocked playlists? + + + + + Deleting %1 unlocked playlists.<br>This operation can not be undone! + + + + Playlists are ordered lists of tracks that allow you to plan your DJ sets. - + It may be necessary to skip some tracks in your prepared playlist or add some different tracks in order to maintain the energy of your audience. Megeshet, hogy ki kell hagynod pár számot az előkészített lejátszólistádból, vagy egyéb számokat is be kell fűznöd, hogy fenntartsd a buli energiaszintjét. - + Some DJs construct playlists before they perform live, but others prefer to build them on-the-fly. Néhány DJ az élő előadása előtt állít össze lejátszási listákat, míg mások szeretik inkább az előadásuk helyszínén összerakni a sajátjaikat. - + When using a playlist during a live DJ set, remember to always pay close attention to how your audience reacts to the music you've chosen to play. - + Create New Playlist Új lejátszólista készítése @@ -11563,7 +11695,7 @@ Fully right: end of the effect period - + Deck %1 @@ -11696,7 +11828,7 @@ Hint: compensates "chipmunk" or "growling" voices - + Passthrough @@ -11727,7 +11859,7 @@ Hint: compensates "chipmunk" or "growling" voices - + Sampler %1 @@ -11860,12 +11992,12 @@ may introduce a 'pumping' effect and/or distortion. - + built-in - + missing @@ -11900,42 +12032,42 @@ may introduce a 'pumping' effect and/or distortion. - + Empty - + Simple - + Filtered - + HSV - + VSyncTest - + RGB - + Stacked - + Unknown @@ -11993,54 +12125,54 @@ may introduce a 'pumping' effect and/or distortion. RekordboxFeature - - - + + + Rekordbox - + Playlists Lejátszólista - + Folders - + Reads databases exported for Pioneer CDJ / XDJ players using the Rekordbox Export mode.<br/>Rekordbox can only export to USB or SD devices with a FAT or HFS file system.<br/>Mixxx can read a database from any device that contains the database folders (<tt>PIONEER</tt> and <tt>Contents</tt>).<br/>Not supported are Rekordbox databases that have been moved to an external device via<br/><i>Preferences > Advanced > Database management</i>.<br/><br/>The following data is read: - + Hot cues - + Loops (only the first loop is currently usable in Mixxx) - + Check for attached Rekordbox USB / SD devices (refresh) - + Beatgrids - + Memory cues - + (loading) Rekordbox @@ -12175,19 +12307,19 @@ may introduce a 'pumping' effect and/or distortion. Zárolás - - + + Confirm Deletion - + Do you really want to delete all unlocked playlist from <b>%1</b>?<br><br> %1 is the year <b> + </b> are used to make the text in between bold in the popup <br> is a linebreak - + Deleting %1 playlists from <b>%2</b>.<br><br> %1 is the number of playlists to be deleted %2 is the year <b> + </b> are used to make the text in between bold in the popup <br> is a linebreak @@ -12599,7 +12731,7 @@ may introduce a 'pumping' effect and/or distortion. - + Spinning Vinyl @@ -12781,7 +12913,7 @@ may introduce a 'pumping' effect and/or distortion. - + Cover Art Borító @@ -13017,197 +13149,197 @@ may introduce a 'pumping' effect and/or distortion. - + Adjust Beats Earlier - + When tapped, moves the beatgrid left by a small amount. - + Adjust Beats Later - + When tapped, moves the beatgrid right by a small amount. - + Tempo and BPM Tap - + Show/hide the spinning vinyl section. - + Keylock Hangnemzár - + Toggling keylock during playback may result in a momentary audio glitch. - + Toggle visibility of Loop Controls - + Toggle visibility of Beatjump Controls - + Toggle visibility of Rate Control - + Toggle visibility of Key Controls - + (while previewing) - + Places a cue point at the current position on the waveform. - + Stops track at cue point, OR go to cue point and play after release (CUP mode). - + Set cue point (Pioneer/Mixxx/Numark mode), set cue point and play after release (CUP mode) OR preview from it (Denon mode). - + Is latching the playing state. - + Seeks the track to the cue point and stops. - + Play Lejátszás - + Plays track from the cue point. - + Sends the selected channel's audio to the headphone output, selected in Preferences -> Sound Hardware. - + (This skin should be updated to use Sync Lock!) - + Enable Sync Lock - + Tap to sync the tempo to other playing tracks or the sync leader. - + Enable Sync Leader - + When enabled, this device will serve as the sync leader for all other decks. - + This is relevant when a dynamic tempo track is loaded to a sync leader deck.In that case, other synced devices will adopt the changing tempo. - + Changes the track playback speed (affects both the tempo and the pitch). If keylock is enabled, only the tempo is affected. - + Tempo Range Display - + Displays the current range of the tempo slider. - + Un-ejects when no track is loaded, i.e. reloads the track that was ejected last (of any deck). - + Delete selected hotcue. - + Track Comment - + Displays the comment tag of the loaded track. - + Opens separate artwork viewer. - + Effect Chain Preset Settings - + Show the effect chain settings menu for this unit. - + Select and configure a hardware device for this input - + Recording Duration @@ -13445,924 +13577,932 @@ may introduce a 'pumping' effect and/or distortion. - + + Adjust beatgrid by exactly one half beat. Usable only on +tracks with constant tempo. + + + + Revert last BPM/Beatgrid Change - + Revert last BPM/Beatgrid Change of the loaded track. - - + + Toggle the BPM/beatgrid lock - + Tempo and Rate Tap - + Tempo, Rate Tap and BPM Tap - + Shift cues earlier - - + + Shift cues imported from Serato or Rekordbox if they are slightly off time. - + Left click: shift 10 milliseconds earlier - + Right click: shift 1 millisecond earlier - + Shift cues later - + Left click: shift 10 milliseconds later - + Right click: shift 1 millisecond later - + + + + Drag a Hotcue button here to continue playing after releasing the Hotcue. + + + + Hint: Change the default cue mode in Preferences -> Decks. - + Mutes the selected channel's audio in the main output. - + Main mix enable - + Hold or short click for latching to mix this input into the main output. - + If hotcue is a loop cue, toggles the loop and jumps to if the loop is behind the play position. - + If the play position is inside an active loop, stores the loop as loop cue. - + Drag this button onto another Hotcue button to move it there (change its index). If the other hotcue is set, the two are swapped. - - Dragging with Shift key pressed will not start previewing the hotcue - - - - + Expand/Collapse Samplers - + Toggle expanded samplers view. - + Displays the duration of the running recording. - + Auto DJ is active - + Red for when needle skip has been detected. - + Hot Cue - Track will seek to nearest previous hotcue point. - + Sets the track Loop-In Marker to the current play position. - + Press and hold to move Loop-In Marker. - + Jump to Loop-In Marker. - + Sets the track Loop-Out Marker to the current play position. - + Press and hold to move Loop-Out Marker. - + Jump to Loop-Out Marker. - + If the track has no beats the unit is seconds. - + Beatloop Size - + Select the size of the loop in beats to set with the Beatloop button. - + Changing this resizes the loop if the loop already matches this size. - + Halve the size of an existing beatloop, or halve the size of the next beatloop set with the Beatloop button. - + Double the size of an existing beatloop, or double the size of the next beatloop set with the Beatloop button. - + Start a loop over the set number of beats. - + Temporarily enable a rolling loop over the set number of beats. - + Beatloop Anchor - + Define whether the loop is created and adjusted from its staring point or ending point. - + Beatjump/Loop Move Size - + Select the number of beats to jump or move the loop with the Beatjump Forward/Backward buttons. - + Beatjump Forward - + Jump forward by the set number of beats. - + Move the loop forward by the set number of beats. - + Jump forward by 1 beat. - + Move the loop forward by 1 beat. - + Beatjump Backward - + Jump backward by the set number of beats. - + Move the loop backward by the set number of beats. - + Jump backward by 1 beat. - + Move the loop backward by 1 beat. - + Reloop - + If the loop is ahead of the current position, looping will start when the loop is reached. - + Works only if Loop-In and Loop-Out Marker are set. - + Enable loop, jump to Loop-In Marker, and stop playback. - + Displays the elapsed and/or remaining time of the track loaded. - + Click to toggle between time elapsed/remaining time/both. - + Hint: Change the time format in Preferences -> Decks. - + Show/hide intro & outro markers and associated buttons. - + Intro Start Marker - - - - + + + + If marker is set, jumps to the marker. - - - - + + + + If marker is not set, sets the marker to the current play position. - - - - + + + + If marker is set, clears the marker. - + Intro End Marker - + Outro Start Marker - + Outro End Marker - + Mix - + Adjust the mixing of the dry (input) signal with the wet (output) signal of the effect unit - + D/W mode: Crossfade between dry and wet - + D+W mode: Add wet to dry - + Mix Mode - + Adjust how the dry (input) signal is mixed with the wet (output) signal of the effect unit - + Dry/Wet mode (crossed lines): Mix knob crossfades between dry and wet Use this to change the sound of the track with EQ and filter effects. - + Dry+Wet mode (flat dry line): Mix knob adds wet to dry Use this to change only the effected (wet) signal with EQ and filter effects. - + Route the main mix through this effect unit. - + Route the left crossfader bus through this effect unit. - + Route the right crossfader bus through this effect unit. - + Right side active: parameter moves with right half of Meta Knob turn - + Stem Label - + Name of the stem stored in the stem file - + Text is displayed in the stem color stored in the stem file - + this stem color is also used for the waveform of this stem - + Stem Mute - + Toggle the stem mute/unmuted - + Stem Volume Knob - + Adjusts the volume of the stem - + Skin Settings Menu - + Show/hide skin settings menu - + Save Sampler Bank - + Save the collection of samples loaded in the samplers. - + Load Sampler Bank - + Load a previously saved collection of samples into the samplers. - + Show Effect Parameters Effekt paraméterek mutatása - + Enable Effect - + Meta Knob Link - + Set how this parameter is linked to the effect's Meta Knob. - + Meta Knob Link Inversion - + Inverts the direction this parameter moves when turning the effect's Meta Knob. - + Super Knob Super potméter - + Next Chain Következő lánc - + Previous Chain Előző lánc - + Next/Previous Chain Következő/előző lánc - + Clear - + Clear the current effect. - + Toggle - + Toggle the current effect. - + Next Következő - + Clear Unit Egység ürítése - + Clear effect unit. - + Show/hide parameters for effects in this unit. - + Toggle Unit Egység kapcsolása - + Enable or disable this whole effect unit. - + Controls the Meta Knob of all effects in this unit together. - + Load next effect chain preset into this effect unit. - + Load previous effect chain preset into this effect unit. - + Load next or previous effect chain preset into this effect unit. - - - - - - - - - + + + + + + + + + Assign Effect Unit - + Assign this effect unit to the channel output. - + Route the headphone channel through this effect unit. - + Route this deck through the indicated effect unit. - + Route this sampler through the indicated effect unit. - + Route this microphone through the indicated effect unit. - + Route this auxiliary input through the indicated effect unit. - + The effect unit must also be assigned to a deck or other sound source to hear the effect. - + Switch to the next effect. - + Previous Előző - + Switch to the previous effect. - + Next or Previous Következő vagy előző - + Switch to either the next or previous effect. - + Meta Knob - + Controls linked parameters of this effect - + Effect Focus Button - + Focuses this effect. - + Unfocuses this effect. - + Refer to the web page on the Mixxx wiki for your controller for more information. - + Effect Parameter - + Adjusts a parameter of the effect. - + Inactive: parameter not linked - + Active: parameter moves with Meta Knob - + Left side active: parameter moves with left half of Meta Knob turn - + Left and right side active: parameter moves across range with half of Meta Knob turn and back with the other half - - + + Equalizer Parameter Kill - - + + Holds the gain of the EQ to zero while active. - + Quick Effect Super Knob - + Quick Effect Super Knob (control linked effect parameters). - + Hint: Change the default Quick Effect mode in Preferences -> Equalizers. - + Equalizer Parameter - + Adjusts the gain of the EQ filter. - + Hint: Change the default EQ mode in Preferences -> Equalizers. - - + + Adjust Beatgrid Ütemrács igazítása - + Adjust beatgrid so the closest beat is aligned with the current play position. - - + + Adjust beatgrid to match another playing deck. Ütemrács igazítása másik futó lemezjátszóhoz. - + If quantize is enabled, snaps to the nearest beat. - + Quantize - + Toggles quantization. - + Loops and cues snap to the nearest beat when quantization is enabled. - + Reverse - + Reverses track playback during regular playback. - + Puts a track into reverse while being held (Censor). - + Playback continues where the track would have been if it had not been temporarily reversed. - - - + + + Play/Pause - + Jumps to the beginning of the track. - + Syncs the tempo (BPM) and phase to that of the other track, if BPM is detected on both. - + Syncs the tempo (BPM) to that of the other track, if BPM is detected on both. - + Sync and Reset Key - + Increases the pitch by one semitone. - + Decreases the pitch by one semitone. - + Enable Vinyl Control - + When disabled, the track is controlled by Mixxx playback controls. - + When enabled, the track responds to external vinyl control. - + Enable Passthrough - + Indicates that the audio buffer is too small to do all audio processing. - + Displays cover artwork of the loaded track. - + Displays options for editing cover artwork. - + Star Rating - + Assign ratings to individual tracks by clicking the stars. @@ -14497,33 +14637,33 @@ Use this to change only the effected (wet) signal with EQ and filter effects. - + Prevents the pitch from changing when the rate changes. - + Changes the number of hotcue buttons displayed in the deck - + Starts playing from the beginning of the track. - + Jumps to the beginning of the track and stops. - - + + Plays or pauses the track. - + (while playing) @@ -14543,205 +14683,215 @@ Use this to change only the effected (wet) signal with EQ and filter effects. - + (while stopped) - + Cue Cue - + Headphone Fejhallgató - + Mute Némítás - + Old Synchronize - + Syncs to the first deck (in numerical order) that is playing a track and has a BPM. - + If no deck is playing, syncs to the first deck that has a BPM. - + Decks can't sync to samplers and samplers can only sync to decks. - + Hold for at least a second to enable sync lock for this deck. - + Decks with sync locked will all play at the same tempo, and decks that also have quantize enabled will always have their beats lined up. - + Resets the key to the original track key. - + Speed Control - - - + + + Changes the track pitch independent of the tempo. - + Increases the pitch by 10 cents. - + Decreases the pitch by 10 cents. - + Pitch Adjust Hangmagasság állítás - + Adjust the pitch in addition to the speed slider pitch. - + Opens a menu to clear hotcues or edit their labels and colors. - + + Drag this button onto a Play button while previewing to continue playback after release. + + + + + Dragging with Shift key pressed will not start previewing the hotcue. + + + + Record Mix Mix felvétele - + Toggle mix recording. - + Enable Live Broadcasting - + Stream your mix over the Internet. - + Provides visual feedback for Live Broadcasting status: - + disabled, connecting, connected, failure. - + When enabled, the deck directly plays the audio arriving on the vinyl input. - + Playback will resume where the track would have been if it had not entered the loop. - + Loop Exit Ismétlésből kilép - + Turns the current loop off. - + Slip Mode Csúsztató mód - + When active, the playback continues muted in the background during a loop, reverse, scratch etc. - + Once disabled, the audible playback will resume where the track would have been. - + Track Key The musical key of a track - + Displays the musical key of the loaded track. - + Clock - + Displays the current time. - + Audio Latency Usage Meter - + Displays the fraction of latency used for audio processing. - + A high value indicates that audible glitches are likely. - + Do not enable keylock, effects or additional decks in this situation. - + Audio Latency Overload Indicator @@ -14786,254 +14936,254 @@ Use this to change only the effected (wet) signal with EQ and filter effects. - + Fast Rewind Gyors hátracsévélés - + Fast rewind through the track. - + Fast Forward Gyors előrecsévélés - + Fast forward through the track. - + Jumps to the end of the track. - + Sets the pitch to a key that allows a harmonic transition from the other track. Requires a detected key on both involved decks. - - - + + + Pitch Control - + Pitch Rate - + Displays the current playback rate of the track. - + Repeat - + When active the track will repeat if you go past the end or reverse before the start. - + Eject Kiadás - + Ejects track from the player. - + Hotcue - + If hotcue is set, jumps to the hotcue. - + If hotcue is not set, sets the hotcue to the current play position. - + Vinyl Control Mode Bakelit vezérlés mód - + Absolute mode - track position equals needle position and speed. - + Relative mode - track speed equals needle speed regardless of needle position. - + Constant mode - track speed equals last known-steady speed regardless of needle input. - + Vinyl Status - + Provides visual feedback for vinyl control status: - + Green for control enabled. - + Blinking yellow for when the needle reaches the end of the record. - + Loop-In Marker - + Loop-Out Marker - + Loop Halve Ismétlés felezése - + Halves the current loop's length by moving the end marker. - + Deck immediately loops if past the new endpoint. - + Loop Double Ismétlés kétszerezése - + Doubles the current loop's length by moving the end marker. - + Beatloop - + Toggles the current loop on or off. - + Works only if Loop-In and Loop-Out marker are set. - + Vinyl Cueing Mode - + Determines how cue points are treated in vinyl control Relative mode: - + Off - Cue points ignored. - + One Cue - If needle is dropped after the cue point, track will seek to that cue point. - + Track Time - + Track Duration - + Displays the duration of the loaded track. - + Information is loaded from the track's metadata tags. - + Track Artist - + Displays the artist of the loaded track. - + Track Title - + Displays the title of the loaded track. - + Track Album Album - + Displays the album name of the loaded track. - + Track Artist/Title - + Displays the artist and title of the loaded track. @@ -15041,12 +15191,12 @@ Use this to change only the effected (wet) signal with EQ and filter effects. TrackCollection - + Hiding tracks - + The selected tracks are in the following playlists:%1Hiding them will remove them from these playlists. Continue? A kiválasztott számok benne vannak a következő lejátszólistákban:%1Amennyiben elrejted őket, akkor el lesznek távolítva a listákból. Biztos folytatni akarod? @@ -15054,47 +15204,42 @@ Use this to change only the effected (wet) signal with EQ and filter effects. TrackExportDlg - + Export finished - + Exporting %1 - - - Overwrite Existing File? - - - "%1" already exists, overwrite? + Replace Existing File? - - &Overwrite + + "%1" already exists, replace? - - Over&write All + + &Replace - - &Skip + + Apply to all files - Skip &All + &Skip - + Export Error @@ -15266,47 +15411,47 @@ This can not be undone! WCueMenuPopup - + Cue number - + Cue position - + Edit cue label - + Label... - + Delete this cue - + Toggle this cue type between normal cue and saved loop - + Left-click: Use the old size or the current beatloop size as the loop size - + Right-click: Use the current play position as loop end if it is after the cue - + Hotcue #%1 @@ -15430,407 +15575,438 @@ This can not be undone! - - E&xport Library to Engine Prime + + Search in Current View... - - Export the library to the Engine Prime format + + Search for tracks in the current library view + + + + + Ctrl+f + + + + + Search in Tracks Library... + + + + + Search in the internal track collection under "Tracks" in the library + + + + + Ctrl+Shift+F - + Create &New Playlist - + Create a new playlist Új lejátszólista létrehozása - + Ctrl+n - + Create New &Crate - + Create a new crate Új rekesz készítése - + Ctrl+Shift+N - - + + &View &Nézet - + Auto-hide menu bar - + Auto-hide the main menu bar when it's not used. - + May not be supported on all skins. - + Show Skin Settings Menu - + Show the Skin Settings Menu of the currently selected Skin - + Ctrl+1 Menubar|View|Show Skin Settings - + Show Microphone Section - + Show the microphone section of the Mixxx interface. - + Ctrl+2 Menubar|View|Show Microphone Section - + Show Vinyl Control Section - + Show the vinyl control section of the Mixxx interface. - + Ctrl+3 Menubar|View|Show Vinyl Control Section - + Show Preview Deck - + Show the preview deck in the Mixxx interface. - + Ctrl+4 Menubar|View|Show Preview Deck - + Show Cover Art - + Show cover art in the Mixxx interface. - + Ctrl+6 Menubar|View|Show Cover Art - + Maximize Library - + Maximize the track library to take up all the available screen space. Maximalizálja a számkönyvtárat, hogy minden elérhető helyet elfoglaljon a képernyőn. - + Space Menubar|View|Maximize Library - + &Full Screen &Teljes képernyő - + Display Mixxx using the full screen A Mixxx teljes képernyőben mutatása - + &Options &Opciók - + &Vinyl Control - + Use timecoded vinyls on external turntables to control Mixxx Használjon időkódos lemezeket a külső lemezjátszókon a Mixxx vezérléséhez - + Enable Vinyl Control &%1 - + &Record Mix &Mix felvétele - + Record your mix to a file A mix rögzítése fileba - + Ctrl+R Ctrl+R - + Enable Live &Broadcasting - + Stream your mixes to a shoutcast or icecast server Közvetítse a mixeit shoutcast vagy icecast serverre - + Ctrl+L Ctrl+L - + Enable &Keyboard Shortcuts - + Toggles keyboard shortcuts on or off - + Ctrl+` - + &Preferences &Testreszabás - + Change Mixxx settings (e.g. playback, MIDI, controls) - + &Developer - + &Reload Skin - + Reload the skin - + Ctrl+Shift+R - + Developer &Tools - + Opens the developer tools dialog - + Ctrl+Shift+T - + Stats: &Experiment Bucket - + Enables experiment mode. Collects stats in the EXPERIMENT tracking bucket. - + Ctrl+Shift+E - + Stats: &Base Bucket - + Enables base mode. Collects stats in the BASE tracking bucket. - + Ctrl+Shift+B - + Deb&ugger Enabled - + Enables the debugger during skin parsing - + Ctrl+Shift+D - + &Help &Súgó - + Show Keywheel menu title - + + E&xport Library to Engine DJ + "Engine DJ" must not be translated + + + + + Export the library to the Engine DJ format + + + + Show keywheel tooltip text - + F12 Menubar|View|Show Keywheel - + &Community Support - + Get help with Mixxx - + &User Manual - + Read the Mixxx user manual. - + &Keyboard Shortcuts - + Speed up your workflow with keyboard shortcuts. - + &Settings directory - + Open the Mixxx user settings directory. A Mixxx felhasználói beállítások könyvtár megnyitása. - + &Translate This Application - + Help translate this application into your language. - + &About - + About the application Az alkalmazásról @@ -15838,25 +16014,25 @@ This can not be undone! WOverview - + Passthrough - + Ready to play, analyzing... Text on waveform overview when file is playable but no waveform is visible - - + + Loading track... Text on waveform overview when file is cached from source - + Finalizing... Text on waveform overview during finalizing of waveform analysis @@ -15865,25 +16041,13 @@ This can not be undone! WSearchLineEdit - - Clear input - Clear the search bar input field - - - - - Ctrl+F - Search|Focus - Ctrl+F - - - + Search noun - + Clear input @@ -15894,169 +16058,163 @@ This can not be undone! Keresés... - + Clear the search bar input field - - Enter a string to search for + + Return - - Use operators like bpm:115-128, artist:BooFar, -year:1990 + + Enter a string to search for. - - For more information see User Manual > Mixxx Library + + Use operators like bpm:115-128, artist:BooFar, -year:1990. - Shortcut + See User Manual > Mixxx Library for more information. - - Ctrl+F - Ctrl+F + + Focus/Select All (Search in current view) + Give search bar input focus + - - Focus - Give search bar input focus + + Focus/Select All (Search in 'Tracks' library view) - - - Ctrl+Backspace + + Additional Shortcuts When Focused: - Shortcuts + Trigger search before search-as-you-type timeout or focus tracks view afterwards - Return + Esc or Ctrl+Return - Trigger search before search-as-you-type timeout orjump to tracks view afterwards + Immediately trigger search and focus tracks view + Exit search bar and leave focus - + Ctrl+Space - + Toggle search history Shows/hides the search history entries - + Delete or Backspace - - Delete query from history - - - - - Esc + + in search history - - Exit search - Exit search bar and leave focus + + Delete query from history WSearchRelatedTracksMenu - + Search related Tracks - + Key Billentyű - + harmonic with %1 - + BPM BPM - + between %1 and %2 - + Artist Előadó - + Album Artist Album Előadó - + Composer Szerző - + Title Cím - + Album Album - + Grouping Csoportosítás - + Year Év - + Genre Műfaj - + Directory - + &Search selected @@ -16064,599 +16222,625 @@ This can not be undone! WTrackMenu - + Load to - + Deck - + Sampler - + Add to Playlist Hozzáadás lejátszólistához - + Crates Rekeszek - + Metadata - + Update external collections - + Cover Art Borító - + Adjust BPM - + Select Color - - + + Analyze Elemzés - - + + Delete Track Files - + Add to Auto DJ Queue (bottom) Hozzáadás az Auto DJ listához (végére) - + Add to Auto DJ Queue (top) Hozzáadás az Auto DJ listához (elejére) - + Add to Auto DJ Queue (replace) Hozzáadás az Auto DJ listához (csere) - + Preview Deck - + Remove Eltávolítás - + Remove from Playlist Eltávolítás a lejátszólistából - + Remove from Crate - + Hide from Library - + Unhide from Library - + Purge from Library - + Move Track File(s) to Trash - + Delete Files from Disk - + Properties - + Open in File Browser Megnyitás fájlkezelőben - + Select in Library - + Import From File Tags - + Import From MusicBrainz - + Export To File Tags - + BPM and Beatgrid - + Play Count - + Rating Értékelés - + Cue Point - + + Hotcues Hotcue pontok - + Intro - + Outro - + Key Billentyű - + ReplayGain Visszajátszás hangerősítése - + Waveform - + Comment Megjegyzés - + All Mind - + + Sort hotcues by position (remove offsets) + + + + + Sort hotcues by position + + + + Lock BPM BPM zárolása - + Unlock BPM BPM zárolás feloldása - + Double BPM BPM duplázása - + Halve BPM BPM felezése - + 2/3 BPM 2/3 BPM - + 3/4 BPM 3/4 BPM - + 4/3 BPM - + 3/2 BPM - + + Shift Beatgrid Half Beat + + + + Reanalyze - + Reanalyze (constant BPM) - + Reanalyze (variable BPM) - + Update ReplayGain from Deck Gain - + Deck %1 - + Importing metadata of %n track(s) from file tags - + Marking metadata of %n track(s) to be exported into file tags - - + + Create New Playlist Új lejátszólista készítése - + Enter name for new playlist: Add meg az új lejátszólista nevét: - + New Playlist Új lejátszólista - - - + + + Playlist Creation Failed Lejátszólista készítése sikertelen - + A playlist by that name already exists. Egy lejátszólista ezzel a névvel már létezik. - + A playlist cannot have a blank name. A lejátszólista nem tartalmazhat üres helyet. - + An unknown error occurred while creating playlist: Ismeretlen hiba történt a lejátszólista készítésekor: - + Add to New Crate - + Scaling BPM of %n track(s) - + Undo BPM/beats change of %n track(s) - + Locking BPM of %n track(s) - + Unlocking BPM of %n track(s) - + Setting rating of %n track(s) - + Setting color of %n track(s) - + Resetting play count of %n track(s) - + Resetting beats of %n track(s) - + Clearing rating of %n track(s) - + Clearing comment of %n track(s) - + Removing main cue from %n track(s) - + Removing outro cue from %n track(s) - + Removing intro cue from %n track(s) - + Removing loop cues from %n track(s) - + Removing hot cues from %n track(s) - + + Sorting hotcues of %n track(s) by position (remove offsets) + + + + + Sorting hotcues of %n track(s) by position + + + + Resetting keys of %n track(s) - + Resetting replay gain of %n track(s) - + Resetting waveform of %n track(s) - + Resetting all performance metadata of %n track(s) - + Move these files to the trash bin? - + Permanently delete these files from disk? - - + + This can not be undone! - + Cancel Mégsem - + Delete Files - + Okay - + Move Track File(s) to Trash? - + Track Files Deleted - + Track Files Moved To Trash - + %1 track files were moved to trash and purged from the Mixxx database. - + %1 track files were deleted from disk and purged from the Mixxx database. - + Track File Deleted - + Track file was deleted from disk and purged from the Mixxx database. A Track fájl törölve lett a meghajtóról, és kitisztítva a Mixxx adatbázisból. - + The following %1 file(s) could not be deleted from disk - + This track file could not be deleted from disk Ez a track fájl nem törölhető a meghajtóról - + Remaining Track File(s) Hátralévő Track Fájl(ok) - + Close - + Clear Reset metadata in right click track context menu in library - + Loops - + Clear BPM and Beatgrid - + Undo last BPM/beats change - + Move this track file to the trash bin? - + Permanently delete this track file from disk? - + All decks where these tracks are loaded will be stopped and the tracks will be ejected. - + All decks where this track is loaded will be stopped and the track will be ejected. - + Removing %n track file(s) from disk... - + Note: if you are in the Computer or Recording view you need to click the current view again to see changes. - + Track File Moved To Trash - + Track file was moved to trash and purged from the Mixxx database. - + Don't show again during this session - + The following %1 file(s) could not be moved to trash - + This track file could not be moved to trash - + Setting cover art of %n track(s) - + Reloading cover art of %n track(s) @@ -16672,37 +16856,37 @@ This can not be undone! WTrackStemMenu - + Load for stem mixing - + Load pre-mixed stereo track - + Load the "%1" stem - + Load multiple stem into a stereo deck - + Select stems to load - + Release "CTRL" to load the current selection - + Use "CTRL" to select multiple stems @@ -16710,37 +16894,37 @@ This can not be undone! WTrackTableView - + Confirm track hide Track elrejtés megerősítése - + Are you sure you want to hide the selected tracks? - + Are you sure you want to remove the selected tracks from AutoDJ queue? - + Are you sure you want to remove the selected tracks from this crate? - + Are you sure you want to remove the selected tracks from this playlist? Biztosan el akarod távolítani a kijelölt számokat ebből a lejátszólistából? - + Don't ask again during this session Ne kérdezzen rá többször ebben a munkamenetben - + Confirm track removal @@ -16748,60 +16932,65 @@ This can not be undone! WTrackTableViewHeader - + Show or hide columns. Oszlop mutatása vagy elrejtése. + + + Shuffle Tracks + + mixxx::CoreServices - + fonts - + database - + effects - + audio interface - + decks - + library - + Choose music library directory Válasszon zene gyűjtemény könyvtárat - + controllers - + Cannot open database Az adatbázis megnyitása nem sikerült - + Unable to establish a database connection. Mixxx requires QT with SQLite support. Please read the Qt SQL driver documentation for information on how to build it. @@ -16812,67 +17001,78 @@ Click OK to exit. mixxx::DlgLibraryExport - + Entire music library - - Selected crates + + Crates + + + + + Playlists + + + + + Selected crates/playlists - + Browse Böngészés - + Export directory - + Database version - + Export Exportálás - + Cancel Mégsem - - Export Library to Engine Prime + + Export Library to Engine DJ + "Engine DJ" must not be translated - + Export Library To - + No Export Directory Chosen - + No export directory was chosen. Please choose a directory in order to export the music library. - + A database already exists in the chosen directory. Exported tracks will be added into this database. - + A database already exists in the chosen directory, but there was a problem loading it. Export is not guaranteed to succeed in this situation. @@ -16893,7 +17093,7 @@ Click OK to exit. mixxx::EnginePrimeExportJob - + Failed to export track %1 - %2: %3 %1 is the artist %2 is the title and %3 is the original error message @@ -16903,23 +17103,23 @@ Click OK to exit. mixxx::LibraryExporter - + Export Completed - - Exported %1 track(s) and %2 crate(s). + + Exported %1 track(s), %2 crate(s), and %3 playlist(s). - + Export Failed - - Exporting to Engine Prime... + + Exporting to Engine DJ... diff --git a/res/translations/mixxx_id.qm b/res/translations/mixxx_id.qm index 63c46250dc8bb5ec66f7cfdd91c4a92157f07895..1e841013b7134479376c80382792d0cac91d2dd6 100644 GIT binary patch delta 376 zcmXBMze@sf7{~GF`{;S<3DFN4L~4n%Ahg2l2SMPF1yV#uMTJ3-5rl-A`7@!Q$sv0b z3W|oxMZ)1EA_y7^ilV8f+LppeKWf(G*n;ootFs#*M~p$mqk!3zdxvtcM(e zhmB6MKlixR>#?jF*+;BFsny8h?~5C@y?hqM5E_a?xemEL9s+Yid!bTFr_gSdrV%#q{dV-b@COaGN#g?$v(_8`E6qs19eYf zj96XCz);7v`3W0+I{6Q)98;~!WEnO&rfToWHf-^XCnwKg3u7t?nEZv!jj3kgWE*xf zrmBd^CG2TT)h(0nu&XovoXo#xYfzPp;wAW2(`Z zyoOUvsY-=ww+GOD467hCi#LRp{SKka-cA0(nGUothAWM!GI#P3u5iY4lV!Nol**#{ z*tnN6Fqkgpvo31~hK@d;OL{W{gQzfHc%L5wLv82e6mCDJ3hl{TxZTC>^DjMT$iSdx z%D>B;g@J)xBNOQPGn)l@l8R(`7@QeO7>XEj7_=GOIDl?pU;|<2lA;`Kx5@MCBsDQq p@C2tO7A0rYxaB987Ne;aVPkM*C}v28o5bu|oD4E%b8+2KZUAPcj_Uvb diff --git a/res/translations/mixxx_id.ts b/res/translations/mixxx_id.ts index 42d1c31e39b5..60ab85e9ed7f 100644 --- a/res/translations/mixxx_id.ts +++ b/res/translations/mixxx_id.ts @@ -39,32 +39,32 @@ - + Remove Crate as Track Source - + Auto DJ Auto DJ - + Confirmation Clear - + Do you really want to remove all tracks from the Auto DJ queue? - + This can not be undone. - + Add Crate as Track Source @@ -147,28 +147,28 @@ BasePlaylistFeature - + New Playlist Playlist Baru - + Add to Auto DJ Queue (bottom) Tambahkan ke Auto DJ (bawah) - + Create New Playlist Buat Playlist Baru - + Add to Auto DJ Queue (top) Tambahkan ke Auto DJ (atas) - + Remove Hapus @@ -178,12 +178,12 @@ Ganti Nama - + Lock Kunci - + Duplicate Duplikasi @@ -204,24 +204,24 @@ Analisa Seluruh Playlist - + Enter new name for playlist: Ganti nama baru untuk Playlist ini: - + Duplicate Playlist Duplikasi Playlist - - + + Enter name for new playlist: Masukkan nama baru untuk Playlist ini: - + Export Playlist Ekspor Playlist @@ -231,70 +231,77 @@ - + + + Export to Engine DJ + "Engine DJ" is a product name and must not be translated. + + + + Rename Playlist Ganti Nama Playlist - - + + Renaming Playlist Failed Ganti Nama Playlist Gagal - - - + + + A playlist by that name already exists. Nama playlist tersebut sudah digunakan - - - + + + A playlist cannot have a blank name. Playlist tidak bisa memiliki nama kosong - + _copy //: Appendix to default name when duplicating a playlist _salin - - - - - - + + + + + + Playlist Creation Failed Pembuatan Playlist Tidak Berhasil - - + + An unknown error occurred while creating playlist: Kesalahan yang tidak diketahui terjadi saat membuat playlist: - + Confirm Deletion - + Do you really want to delete playlist <b>%1</b>? - + M3U Playlist (*.m3u) - + M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Text CSV (*.csv);;Readable Text (*.txt) Playlist M3U (*.m3u);;Playlist M3U8 (*.m3u8);;Playlist PLS (*.pls);;Teks CSV (*.csv);;Teks Terbaca (*.txt) @@ -302,12 +309,12 @@ BaseSqlTableModel - + # # - + Timestamp Penanda waktu @@ -315,7 +322,7 @@ BaseTrackPlayerImpl - + Couldn't load track. Tidak dapat memuat lagu @@ -323,137 +330,142 @@ BaseTrackTableModel - + Album Album - + Album Artist Artis dari Album - + Artist Artis - + Bitrate Bitrasi - + BPM DPM - + Channels - + Color - + Comment Komentar - + Composer Penyusun - + Cover Art Gambar - + Date Added Tanggal Ditambahkan - + Last Played - + Duration Durasi - + Type Jenis - + Genre Aliran - + Grouping Kelompok - + Key Kunci - + Location Tempat - + + Overview + + + + Preview Pratinjau - + Rating Penilaian - + ReplayGain - + Samplerate - + Played Dimainkan - + Title Judul - + Track # Lagu # - + Year Tahun - + Fetching image ... Tooltip text on the cover art column shown when the cover is read from disk @@ -541,67 +553,77 @@ BrowseFeature - + Add to Quick Links Tambahkan ke Link Cepat - + Remove from Quick Links Hapus dari Link Cepat - + Add to Library Tambahkan ke Library - + Refresh directory tree - + Quick Links Link Cepat - - + + Devices Perangkat - + Removable Devices Perangkat Removable - - + + Computer - + Music Directory Added Berkas Musik Ditambahkan - + You added one or more music directories. The tracks in these directories won't be available until you rescan your library. Would you like to rescan now? - + Scan Pindai - + "Computer" lets you navigate, view, and load tracks from folders on your hard disk and external devices. + + + It shows the data from the file tags, not track data from your Mixxx library like other track views. + + + + + If you load a track file from here, it will be added to your library. + + BrowseTableModel @@ -747,87 +769,87 @@ CmdlineArgs - + Mixxx is an open source DJ software. For more information, see: - + Starts Mixxx in full-screen mode - + Use a custom locale for loading translations. (e.g 'fr') - + Top-level directory where Mixxx should look for its resource files such as MIDI mappings, overriding the default installation location. - + Path the debug statistics time line is written to - + Causes Mixxx to display/log all of the controller data it receives and script functions it loads - + The controller mapping will issue more aggressive warnings and errors when detecting misuse of controller APIs. New Controller Mappings should be developed with this option enabled! - + Enables developer-mode. Includes extra log info, stats on performance, and a Developer tools menu. - + Top-level directory where Mixxx should look for settings. Default is: - + Starts Auto DJ when Mixxx is launched. - + Rescans the library when Mixxx is launched. - + Use legacy vu meter - + Use legacy spinny - + Loads experimental QML GUI instead of legacy QWidget skin - + Enables safe-mode. Disables OpenGL waveforms, and spinning vinyl widgets. Try this option if Mixxx is crashing on startup. - + [auto|always|never] Use colors on the console output. - + Sets the verbosity of command line logging. critical - Critical/Fatal only warning - Above + Warnings @@ -837,27 +859,32 @@ trace - Above + Profiling messages - + Sets the the logging level at which the log buffer is flushed to mixxx.log. <level> is one of the values defined at --log-level above. - + Sets the maximum file size of the mixxx.log file in bytes. Use -1 for unlimited. The default is 100 MB as 1e5 or 100000000. - + Breaks (SIGINT) Mixxx, if a DEBUG_ASSERT evaluates to false. Under a debugger you can continue afterwards. - + + Overrides the default application GUI style. Possible values: %1 + + + + Load the specified music file(s) at start-up. Each file you specify will be loaded into the next virtual deck. - + Preview rendered controller screens in the Setting windows. @@ -1039,13 +1066,13 @@ trace - Above + Profiling messages - + Set to full volume buat jadi volume maksimal - + Set to zero volume buat jadi tidak ada volume @@ -1070,13 +1097,13 @@ trace - Above + Profiling messages - + Headphone listen button Tombol dengar headphone - + Mute button Tombol diam @@ -1087,25 +1114,25 @@ trace - Above + Profiling messages - + Mix orientation (e.g. left, right, center) Orientasi mix (misalnya kiri, tengah, kanan) - + Set mix orientation to left Jadikan orientasi mix ke kiri - + Set mix orientation to center Jadikan orientasi mix ke tengah - + Set mix orientation to right Jadikan orientasi mix ke kanan @@ -1146,22 +1173,22 @@ trace - Above + Profiling messages Tombol sadap BPM - + Toggle quantize mode Mode pengalihan quantisasi - + One-time beat sync (tempo only) - + One-time beat sync (phase only) - + Toggle keylock mode Aktifkan mode Keylock @@ -1171,193 +1198,193 @@ trace - Above + Profiling messages Equalizer - + Vinyl Control Kontrol Vinil - + Toggle vinyl-control cueing mode (OFF/ONE/HOT) Pengalihan mode penanda kontrol-vinil (OFF/ONE/HOT) - + Toggle vinyl-control mode (ABS/REL/CONST) Pengalihan mode kontrol-vinil (ABS/REL/CONST) - + Pass through external audio into the internal mixer Sambungkan Audio eksternal ke Mixer internal - + Cues Penanda - + Cue button Tombol penanda - + Set cue point Atur titik penanda - + Go to cue point Lompat ke titik penanda - + Go to cue point and play Lompat ke titik penanda dan play - + Go to cue point and stop Ke titik penanda dan stop - + Preview from cue point - + Cue button (CDJ mode) - + Stutter cue - + Hotcues Penanda Utama - + Set, preview from or jump to hotcue %1 - + Clear hotcue %1 Hapus penanda tepat %1 - + Set hotcue %1 - + Jump to hotcue %1 Loncat ke penanda tepat %1 - + Jump to hotcue %1 and stop Loncat ke penanda tepat %1 dan stop - + Jump to hotcue %1 and play - + Preview from hotcue %1 - - + + Hotcue %1 - + Looping Putaran - + Loop In button Tombol Masuk Putaran - + Loop Out button Tombol Keluar Putaran - + Loop Exit button - + 1/2 1/2 - + 1 1 - + 2 2 - + 4 4 - + 8 8 - + 16 16 - + 32 - + 64 - + Move loop forward by %1 beats - + Move loop backward by %1 beats - + Create %1-beat loop Buat %1-putaran ketukan - + Create temporary %1-beat loop roll @@ -1473,20 +1500,20 @@ trace - Above + Profiling messages - - + + Volume Fader - + Full Volume - + Zero Volume @@ -1502,7 +1529,7 @@ trace - Above + Profiling messages - + Mute @@ -1513,7 +1540,7 @@ trace - Above + Profiling messages - + Headphone Listen @@ -1534,25 +1561,25 @@ trace - Above + Profiling messages - + Orientation - + Orient Left - + Orient Center - + Orient Right @@ -1622,82 +1649,82 @@ trace - Above + Profiling messages - + Adjust Beatgrid - + Align beatgrid to current position - + Adjust Beatgrid - Match Alignment - + Adjust beatgrid to match another playing deck. - + Quantize Mode - + Sync - + Beat Sync One-Shot - + Sync Tempo One-Shot - + Sync Phase One-Shot - + Pitch control (does not affect tempo), center is original pitch - + Pitch Adjust - + Adjust pitch from speed slider pitch - + Match musical key - + Match Key - + Reset Key - + Resets key to original @@ -1738,451 +1765,451 @@ trace - Above + Profiling messages - + Toggle Vinyl Control - + Toggle Vinyl Control (ON/OFF) - + Vinyl Control Mode - + Vinyl Control Cueing Mode - + Vinyl Control Passthrough - + Vinyl Control Next Deck - + Single deck mode - Switch vinyl control to next deck - + Cue - + Set Cue - + Go-To Cue - + Go-To Cue And Play - + Go-To Cue And Stop - + Preview Cue - + Cue (CDJ Mode) - + Stutter Cue - + Go to cue point and play after release - + Clear Hotcue %1 - + Set Hotcue %1 - + Jump To Hotcue %1 - + Jump To Hotcue %1 And Stop - + Jump To Hotcue %1 And Play - + Preview Hotcue %1 - + Loop In - + Loop Out - + Loop Exit - + Reloop/Exit Loop - + Loop Halve - + Loop Double - + 1/32 - + 1/16 - + 1/8 - + 1/4 - + Move Loop +%1 Beats - + Move Loop -%1 Beats - + Loop %1 Beats - + Loop Roll %1 Beats - + Add to Auto DJ Queue (bottom) Tambahkan ke Auto DJ (bawah) - + Append the selected track to the Auto DJ Queue - + Add to Auto DJ Queue (top) Tambahkan ke Auto DJ (atas) - + Prepend selected track to the Auto DJ Queue - + Load Track - + Load selected track Muat lagu yang dipilih - + Load selected track and play Buka trek terpilih dan mainkan - - + + Record Mix - + Toggle mix recording - + Effects Efek - + Quick Effects - + Deck %1 Quick Effect Super Knob - + Quick Effect Super Knob (control linked effect parameters) - - + + Quick Effect - + Clear Unit - + Clear effect unit - + Toggle Unit - + Dry/Wet - + Adjust the balance between the original (dry) and processed (wet) signal. - + Super Knob - + Next Chain - + Assign - + Clear - + Clear the current effect - + Toggle - + Toggle the current effect - + Next - + Switch to next effect - + Previous - + Switch to the previous effect - + Next or Previous - + Switch to either next or previous effect - - + + Parameter Value - - + + Microphone Ducking Strength - + Microphone Ducking Mode - + Gain - + Gain knob Tombol tambah - + Shuffle the content of the Auto DJ queue - + Skip the next track in the Auto DJ queue - + Auto DJ Toggle - + Toggle Auto DJ On/Off - + Show/hide the microphone & auxiliary section - + 4 Effect Units Show/Hide - + Switches between showing 2 and 4 effect units - + Mixer Show/Hide - + Show or hide the mixer. - + Cover Art Show/Hide (Library) - + Show/hide cover art in the library - + Library Maximize/Restore - + Maximize the track library to take up all the available screen space. - + Effect Rack Show/Hide - + Show/hide the effect rack - + Waveform Zoom Out @@ -2197,102 +2224,102 @@ trace - Above + Profiling messages - + Tap to sync tempo (and phase with quantize enabled), hold to enable permanent sync - + One-time beat sync tempo (and phase with quantize enabled) - + Playback Speed - + Playback speed control (Vinyl "Pitch" slider) - + Pitch (Musical key) - + Increase Speed - + Adjust speed faster (coarse) - + Increase Speed (Fine) - + Adjust speed faster (fine) - + Decrease Speed - + Adjust speed slower (coarse) - + Adjust speed slower (fine) - + Temporarily Increase Speed - + Temporarily increase speed (coarse) - + Temporarily Increase Speed (Fine) - + Temporarily increase speed (fine) - + Temporarily Decrease Speed - + Temporarily decrease speed (coarse) - + Temporarily Decrease Speed (Fine) - + Temporarily decrease speed (fine) @@ -2444,1041 +2471,1063 @@ trace - Above + Profiling messages - - + + Move Beatgrid Half a Beat + + + + + Adjust the beatgrid by exactly one half beat. Usable only for tracks with constant tempo. + + + + + Toggle the BPM/beatgrid lock - + Revert last BPM/Beatgrid Change - + Revert last BPM/Beatgrid Change of the loaded track. - + Sync / Sync Lock - + Internal Sync Leader - + Toggle Internal Sync Leader - - + + Internal Leader BPM - + Internal Leader BPM +1 - + Increase internal Leader BPM by 1 - + Internal Leader BPM -1 - + Decrease internal Leader BPM by 1 - + Internal Leader BPM +0.1 - + Increase internal Leader BPM by 0.1 - + Internal Leader BPM -0.1 - + Decrease internal Leader BPM by 0.1 - + Sync Leader - + Sync mode 3-state toggle / indicator (Off, Soft Leader, Explicit Leader) - + Speed - + Decrease Speed (Fine) - + Pitch (Musical Key) - + Increase Pitch - + Increases the pitch by one semitone - + Increase Pitch (Fine) - + Increases the pitch by 10 cents - + Decrease Pitch - + Decreases the pitch by one semitone - + Decrease Pitch (Fine) - + Decreases the pitch by 10 cents - + Keylock - + CUP (Cue + Play) - + Shift cue points earlier - + Shift cue points 10 milliseconds earlier - + Shift cue points earlier (fine) - + Shift cue points 1 millisecond earlier - + Shift cue points later - + Shift cue points 10 milliseconds later - + Shift cue points later (fine) - + Shift cue points 1 millisecond later - + + + Sort hotcues by position + + + + + + Sort hotcues by position (remove offsets) + + + + Hotcues %1-%2 - + Intro / Outro Markers - + Intro Start Marker - + Intro End Marker - + Outro Start Marker - + Outro End Marker - + intro start marker - + intro end marker - + outro start marker - + outro end marker - + Activate %1 [intro/outro marker - + Jump to or set the %1 [intro/outro marker - + Set %1 [intro/outro marker - + Set or jump to the %1 [intro/outro marker - + Clear %1 [intro/outro marker - + Clear the %1 [intro/outro marker - + if the track has no beats the unit is seconds - + Loop Selected Beats - + Create a beat loop of selected beat size - + Loop Roll Selected Beats - + Create a rolling beat loop of selected beat size - + Loop %1 Beats set from its end point - + Loop Roll %1 Beats set from its end point - + Create %1-beat loop with the current play position as loop end - + Create temporary %1-beat loop roll with the current play position as loop end - + Loop Beats - + Loop Roll Beats - + Go To Loop In - + Go to Loop In button - + Go To Loop Out - + Go to Loop Out button - + Toggle loop on/off and jump to Loop In point if loop is behind play position - + Reloop And Stop - + Enable loop, jump to Loop In point, and stop - + Halve the loop length - + Double the loop length - + Beat Jump / Loop Move - + Jump / Move Loop Forward %1 Beats - + Jump / Move Loop Backward %1 Beats - + Jump forward by %1 beats, or if a loop is enabled, move the loop forward %1 beats - + Jump backward by %1 beats, or if a loop is enabled, move the loop backward %1 beats - + Beat Jump / Loop Move Forward Selected Beats - + Jump forward by the selected number of beats, or if a loop is enabled, move the loop forward by the selected number of beats - + Beat Jump / Loop Move Backward Selected Beats - + Jump backward by the selected number of beats, or if a loop is enabled, move the loop backward by the selected number of beats - + Beat Jump - + Indicate which loop marker remain static when adjusting the size or is inherited from the current position - + Beat Jump / Loop Move Forward - + Beat Jump / Loop Move Backward - + Loop Move Forward - + Loop Move Backward - + Remove Temporary Loop - + Remove the temporary loop - + Navigation - + Move up - + Equivalent to pressing the UP key on the keyboard - + Move down - + Equivalent to pressing the DOWN key on the keyboard - + Move up/down - + Move vertically in either direction using a knob, as if pressing UP/DOWN keys - + Scroll Up - + Equivalent to pressing the PAGE UP key on the keyboard - + Scroll Down - + Equivalent to pressing the PAGE DOWN key on the keyboard - + Scroll up/down - + Scroll vertically in either direction using a knob, as if pressing PGUP/PGDOWN keys - + Move left - + Equivalent to pressing the LEFT key on the keyboard - + Move right - + Equivalent to pressing the RIGHT key on the keyboard - + Move left/right - + Move horizontally in either direction using a knob, as if pressing LEFT/RIGHT keys - + Move focus to right pane - + Equivalent to pressing the TAB key on the keyboard - + Move focus to left pane - + Equivalent to pressing the SHIFT+TAB key on the keyboard - + Move focus to right/left pane - + Move focus one pane to right or left using a knob, as if pressing TAB/SHIFT+TAB keys - + Sort focused column - + Sort the column of the cell that is currently focused, equivalent to clicking on its header - + Go to the currently selected item - + Choose the currently selected item and advance forward one pane if appropriate - + Load Track and Play - + Add to Auto DJ Queue (replace) - + Replace Auto DJ Queue with selected tracks - + Select next search history - + Selects the next search history entry - + Select previous search history - + Selects the previous search history entry - + Move selected search entry - + Moves the selected search history item into given direction and steps - + Clear search - + Clears the search query - - + + Select Next Color Available - + Select the next color in the color palette for the first selected track - - + + Select Previous Color Available - + Select the previous color in the color palette for the first selected track - + Deck %1 Quick Effect Enable Button - + Quick Effect Enable Button - + Enable or disable effect processing - + Super Knob (control effects' Meta Knobs) - + Mix Mode Toggle - + Toggle effect unit between D/W and D+W modes - + Next chain preset - + Previous Chain - + Previous chain preset - + Next/Previous Chain - + Next or previous chain preset - - + + Show Effect Parameters - + Effect Unit Assignment - + Meta Knob - + Effect Meta Knob (control linked effect parameters) - + Meta Knob Mode - + Set how linked effect parameters change when turning the Meta Knob. - + Meta Knob Mode Invert - + Invert how linked effect parameters change when turning the Meta Knob. - - + + Button Parameter Value - + Microphone / Auxiliary - + Microphone On/Off - + Microphone on/off Mikrofon on/off - + Toggle microphone ducking mode (OFF, AUTO, MANUAL) - + Auxiliary On/Off - + Auxiliary on/off - + Auto DJ Auto DJ - + Auto DJ Shuffle - + Auto DJ Skip Next - + Auto DJ Add Random Track - + Add a random track to the Auto DJ queue - + Auto DJ Fade To Next - + Trigger the transition to the next track - + User Interface Antarmuka Pengguna - + Samplers Show/Hide - + Show/hide the sampler section Tampilkan/sembunyikan seksi sampler/contoh - + Microphone && Auxiliary Show/Hide keep double & to prevent creation of keyboard accelerator - + Waveform Zoom Reset To Default - + Reset the waveform zoom level to the default value selected in Preferences -> Waveforms - + Select the next color in the color palette for the loaded track. - + Select previous color in the color palette for the loaded track. - + Navigate Through Track Colors - + Select either next or previous color in the palette for the loaded track. - + Start/Stop Live Broadcasting - + Stream your mix over the Internet. - + Start/stop recording your mix. - - + + Samplers - + Vinyl Control Show/Hide - + Show/hide the vinyl control section Tampil/sembunyikan bagian kontrol vinil - + Preview Deck Show/Hide - + Show/hide the preview deck - + Toggle 4 Decks - + Switches between showing 2 decks and 4 decks. - + Cover Art Show/Hide (Decks) - + Show/hide cover art in the main decks - + Vinyl Spinner Show/Hide - + Show/hide spinning vinyl widget Tampil/sembunyikan bagian widget vinil - + Vinyl Spinners Show/Hide (All Decks) - + Show/Hide all spinnies - + Toggle Waveforms - + Show/hide the scrolling waveforms. - + Waveform zoom - + Waveform Zoom - + Zoom waveform in - + Waveform Zoom In - + Zoom waveform out - + Star Rating Up - + Increase the track rating by one star - + Star Rating Down - + Decrease the track rating by one star @@ -3593,32 +3642,32 @@ trace - Above + Profiling messages ControllerScriptEngineBase - + The functionality provided by this controller mapping will be disabled until the issue has been resolved. - + You can ignore this error for this session but you may experience erratic behavior. - + Try to recover by resetting your controller. - + Controller Mapping Error - + The mapping for your controller "%1" is not working properly. - + The script code needs to be fixed. @@ -3662,13 +3711,13 @@ trace - Above + Profiling messages CrateFeature - + Remove Hapus - + Create New Crate @@ -3678,132 +3727,132 @@ trace - Above + Profiling messages Ganti Nama - - + + Lock Kunci - + Export Crate as Playlist - + Export Track Files - + Duplicate Duplikasi - + Analyze entire Crate - + Auto DJ Track Source - + Enter new name for crate: - - + + Crates Peti - - + + Import Crate Impor Peti - + Export Crate Ekspor Peti - + Unlock Buka Kunci - + An unknown error occurred while creating crate: Kesalahan tidak diketahui terjadi saat membuat peti: - + Rename Crate Ubah nama peti - - - Export to Engine Prime - - - - + Make a crate for your next gig, for your favorite electrohouse tracks, or for your most requested tracks. - + Confirm Deletion - - + + Renaming Crate Failed Penamaan Peti Gagal - + Crate Creation Failed - + M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Text CSV (*.csv);;Readable Text (*.txt) Playlist M3U (*.m3u);;Playlist M3U8 (*.m3u8);;Playlist PLS (*.pls);;Teks CSV (*.csv);;Teks Terbaca (*.txt) - + M3U Playlist (*.m3u) - + Crates are a great way to help organize the music you want to DJ with. Peti merupakan cara yang baik membantu mengatur musik yang akan di mix. - + + + Export to Engine DJ + + + + Crates let you organize your music however you'd like! Peti memberi kebebasan Anda mengatur musik seperti yang diinginkan! - + Do you really want to delete crate <b>%1</b>? - + A crate cannot have a blank name. Sebuah peti tidak dapat memiliki nama kosong - + A crate by that name already exists. Sebuah peti dengan nama tersebut sudah ada @@ -3898,12 +3947,12 @@ trace - Above + Profiling messages - + Official Website - + Donate @@ -4022,72 +4071,72 @@ trace - Above + Profiling messages DlgAutoDJ - + Skip - + Random - + Fade - + Enable Auto DJ Shortcut: Shift+F12 - + Disable Auto DJ Shortcut: Shift+F12 - + Trigger the transition to the next track Shortcut: Shift+F11 - + Skip the next track in the Auto DJ queue Shortcut: Shift+F10 - + Shuffle the content of the Auto DJ queue Shortcut: Shift+F9 - + Repeat the playlist - + Determines the duration of the transition - + Seconds Detik - + Auto DJ Fade Modes Full Intro + Outro: @@ -4118,80 +4167,80 @@ crossfader, so that the intro starts at full volume. - + Full Intro + Outro - + Fade At Outro Start - + Full Track - + Skip Silence - + Skip Silence Start Full Volume - + Decks not used for Auto DJ must be stopped to enable Auto DJ mode. - + Repeat - + Auto DJ requires two decks assigned to opposite sides of the crossfader. - + One deck must be stopped to enable Auto DJ mode. - + Enable - + Disable - + Displays the duration and number of selected tracks. - - - + + + Auto DJ Auto DJ - + Shuffle Acak - + Adds a random track from track sources (crates) to the Auto DJ queue. If no track sources are configured, the track is added from the library instead. @@ -4414,37 +4463,37 @@ Often results in higher quality beatgrids, but will not do well on tracks that h - + Didn't get any midi messages. Please try again. - + Unable to detect a mapping -- please try again. Be sure to only touch one control at once. - + Successfully mapped control: - + <i>Ready to learn %1</i> - + Learning: %1. Now move a control on your controller. - + The selected control does not exist.<br>This likely a bug. Please report it on the Mixxx bug tracker.<br><a href='https://github.com/mixxxdj/mixxx/issues'>https://github.com/mixxxdj/mixxx/issues</a><br><br>You tried to learn: %1,%2 - + The control you clicked in Mixxx is not learnable. This could be because you are either using an old skin and this control is no longer supported, or you clicked a control that provides visual feedback and can only be mapped to outputs like LEDs via scripts. @@ -4483,17 +4532,17 @@ You tried to learn: %1,%2 - + Log - + Search - + Stats @@ -5146,113 +5195,113 @@ associated with each key. DlgPrefController - + Apply device settings? Terapkan pengaturan perangkat? - + Your settings must be applied before starting the learning wizard. Apply settings and continue? - + None Tidak ada - + %1 by %2 - + Mapping has been edited - + Always overwrite during this session - + Save As - + Overwrite - + Save user mapping - + Enter the name for saving the mapping to the user folder. - + Saving mapping failed - + A mapping cannot have a blank name and may not contain special characters. - + A mapping file with that name already exists. - + Do you want to save the changes? - + Troubleshooting - + <font color='#BB0000'><b>If you use this mapping your controller may not work correctly. Please select another mapping or disable the controller.</b></font><br><br>This mapping was designed for a newer Mixxx Controller Engine and cannot be used on your current Mixxx installation.<br>Your Mixxx installation has Controller Engine version %1. This mapping requires a Controller Engine version >= %2.<br><br>For more information visit the wiki page on <a href='https://mixxx.org/wiki/doku.php/controller_engine_versions'>Controller Engine Versions</a>. - + Mapping already exists. - + <b>%1</b> already exists in user mapping folder.<br>Overwrite or save with a new name? - + Clear Input Mappings - + Are you sure you want to clear all input mappings? - + Clear Output Mappings - + Are you sure you want to clear all output mappings? @@ -5265,105 +5314,105 @@ Apply settings and continue? - + Enabled - + Device Info - + Physical Interface: - + Vendor name: - + Product name: - + Vendor ID - + VID: - + Product ID - + PID: - + Serial number: - + USB interface number: - + HID Usage-Page: - + HID Usage: - + Description: - + Support: - + Screens preview - + Input Mappings - - + + Search - - + + Add Tambah - - + + Remove Hapus @@ -5378,22 +5427,22 @@ Apply settings and continue? - + Load Mapping: - + Mapping Info - + Author: - + Name: @@ -5403,28 +5452,28 @@ Apply settings and continue? - + Data protocol: - + Mapping Files: - + Mapping Settings - - + + Clear All Hapus Semua - + Output Mappings @@ -5583,6 +5632,16 @@ Apply settings and continue? Multi-Sampling + + + Force 3D acceleration + + + + + If checked, Mixxx will always assume 3D acceleration is available. This may lead to pour performance if only CP-backed rendering is available.. + + Start in full-screen mode @@ -6174,62 +6233,62 @@ You can always drag-and-drop tracks on screen to clone a deck. DlgPrefInterface - + The minimum size of the selected skin is bigger than your screen resolution. - + Allow screensaver to run - + Prevent screensaver from running - + Prevent screensaver while playing - + Disabled - + 2x MSAA - + 4x MSAA - + 8x MSAA - + 16x MSAA - + This skin does not support color schemes - + Information - + Mixxx must be restarted before the new locale, scaling or multi-sampling settings will take effect. @@ -7396,173 +7455,172 @@ The loudness target is approximate and assumes track pregain and main output lev DlgPrefSound - + %1 Hz - + Default (long delay) - + Experimental (no delay) - + Disabled (short delay) - + Soundcard Clock - + Network Clock - + Direct monitor (recording and broadcasting only) - + Disabled - + Enabled - + Stereo Stereo - + Mono - + To enable Realtime scheduling (currently disabled), see the %1. - + The %1 lists sound cards and controllers you may want to consider for using Mixxx. - + Mixxx DJ Hardware Guide - + Information - + Mixxx must be restarted before the multi-threaded RubberBand setting change will take effect. - + auto (<= 1024 frames/period) - + 2048 frames/period - + 4096 frames/period - + Are you sure? - + Distribute stereo channels into mono channels for parallel processing will result in a loss of mono compatibility and a diffuse stereo image. It is not recommended during broadcasting or recording. - + Are you sure you wish to proceed? - + No - + Yes, I know what I am doing - + Microphone inputs are out of time in the record & broadcast signal compared to what you hear. - + Measure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. - - + Refer to the Mixxx User Manual for details. - + Configured latency has changed. - + Remeasure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. - + Realtime scheduling is enabled. - + Main output only - + Main and booth outputs - + %1 ms - + Configuration error @@ -7580,131 +7638,131 @@ The loudness target is approximate and assumes track pregain and main output lev - + Sample Rate - + Audio Buffer - + Engine Clock - + Use soundcard clock for live audience setups and lowest latency.<br>Use network clock for broadcasting without a live audience. - + Main Mix - + Main Output Mode - + Microphone Monitor Mode - + Microphone Latency Compensation - - - - + + + + ms milliseconds - + 20 ms - + Buffer Underflow Count - + 0 - + Keylock/Pitch-Bending Engine - + Multi-Soundcard Synchronization - + Output - + Input - + System Reported Latency - + Enlarge your audio buffer if the underflow counter is increasing or you hear pops during playback. - + Main Output Delay - + Headphone Output Delay - + Booth Output Delay - + Dual-threaded Stereo - + Hints and Diagnostics - + Downsize your audio buffer to improve Mixxx's responsiveness. - + Query Devices @@ -7859,27 +7917,28 @@ The loudness target is approximate and assumes track pregain and main output lev - - 1/3rd of waveform viewer + + 1/3 of waveform viewer + options for "Text height limit" - - Full waveform viewer height + + Entire waveform viewer - + OpenGL not available - + dropped frames - + Cached waveforms occupy %1 MiB on disk. @@ -7892,250 +7951,256 @@ The loudness target is approximate and assumes track pregain and main output lev - + Frame rate Tingkat bingkai - - Displays which OpenGL version is supported by the current platform. - Menampilkan versi OpenGL yang didukung oleh platform saat ini. + + OpenGL Status + - - Waveform - + + Displays which OpenGL version is supported by the current platform. + Menampilkan versi OpenGL yang didukung oleh platform saat ini. - + Normalize waveform overview - + Average frame rate - + Visual gain Tambah visual - + Default zoom level Waveform zoom - + Displays the actual frame rate. Menampilkan frame rate yang sebenarnya. - + Visual gain of the middle frequencies Tambahan visual suntuk frekuensi tengah - + End of track warning - - OpenGL status - - - - + This functionality requires waveform acceleration. - + Highlight the waveforms when the last seconds of a track remains. - + seconds - + Low Rendah - + Show minute markers on waveform overview - + Use acceleration - + High details - + Middle - + Global - + Visual gain of the high frequencies Tambahan visual suntuk frekuensi tinggi - + Visual gain of the low frequencies Tambahan visual suntuk frekuensi rendah - + High Tinggi - + Global visual gain Tambahan visual global - + The waveform overview shows the waveform envelope of the entire track. Select from different types of displays for the waveform overview, which differ primarily in the level of detail shown in the waveform. - + Enabled - + The waveform shows the waveform envelope of the track near the current playback position. Select from different types of displays for the waveform, which differ primarily in the level of detail shown in the waveform. - - Waveform overview type - - - - + fps - + Synchronize zoom level across all waveform displays. Sinkronkan tingkat tanjak di semua tampilan bentuk gelombang. - + Synchronize zoom level across all waveforms - + Play marker hints - + Beats until next marker - + Preferred font size - + Text height limit - + Time until next marker - + Placement - + pt - + Caching - + Mixxx caches the waveforms of your tracks on disk the first time you load a track. This reduces CPU usage when you are playing live but requires extra disk space. - + Enable waveform caching - + Generate waveforms when analyzing library - + Beat grid opacity - + + Scrolling Waveforms + + + + + + Type + + + + Stereo coloration - + Set amount of opacity on beat grid lines. - + % % - + Play marker position - + Moves the play marker position on the waveforms to the left, right or center (default). - + + Overview Waveforms + + + + Clear Cached Waveforms @@ -8143,47 +8208,47 @@ Select from different types of displays for the waveform, which differ primarily DlgPreferences - + Sound Hardware - + Controllers - + Library Pustaka - + Interface - + Waveforms - + Mixer Mixer - + Auto DJ Auto DJ - + Decks - + Colors @@ -8218,47 +8283,47 @@ Select from different types of displays for the waveform, which differ primarily - + Effects Efek - + Recording - + Beat Detection - + Key Detection - + Normalization - + <font color='#BB0000'><b>Some preferences pages have errors. To apply the changes please first fix the issues.</b></font> - + Vinyl Control Kontrol Vinil - + Live Broadcasting - + Modplug Decoder @@ -8291,22 +8356,22 @@ Select from different types of displays for the waveform, which differ primarily - + Start Recording - + Recording to file: - + Stop Recording - + %1 MiB written in %2 @@ -8614,284 +8679,284 @@ This can not be undone! - + Filetype: - + BPM: BPM - + Location: - + Bitrate: - + Comments - + BPM DPM - + Sets the BPM to 75% of the current value. - + 3/4 BPM - + Sets the BPM to 50% of the current value. - + Displays the BPM of the selected track. - + Track # Lagu # - + Album Artist Artis dari Album - + Composer Penyusun - + Title Judul - + Grouping Kelompok - + Key Kunci - + Year Tahun - + Artist Artis - + Album Album - + Genre Aliran - + ReplayGain: - + Sets the BPM to 200% of the current value. - + Double BPM - + Halve BPM - + Clear BPM and Beatgrid Hapus DPM dan Beatgrid - + Move to the previous item. "Previous" button - + &Previous - + Move to the next item. "Next" button - + &Next - + Duration: - + Import Metadata from MusicBrainz - + Re-Import Metadata from file - + Color - + Date added: - + Open in File Browser Buka di Browser Berkas - + Samplerate: - + Track BPM: - + Converts beats detected by the analyzer into a fixed-tempo beatgrid. Use this setting if your tracks have a constant tempo (e.g. most electronic music). Often results in higher quality beatgrids, but will not do well on tracks that have tempo shifts. - + Assume constant tempo - + Sets the BPM to 66% of the current value. - + 2/3 BPM - + Sets the BPM to 150% of the current value. - + 3/2 BPM - + Sets the BPM to 133% of the current value. - + 4/3 BPM - + Tap with the beat to set the BPM to the speed you are tapping. - + Tap to Beat - + Hint: Use the Library Analyze view to run BPM detection. - + Save changes and close the window. "OK" button - + &OK - + Discard changes and close the window. "Cancel" button - + Save changes and keep the window open. "Apply" button - + &Apply - + &Cancel - + (no color) @@ -9048,7 +9113,7 @@ Often results in higher quality beatgrids, but will not do well on tracks that h - + (no color) @@ -9250,27 +9315,27 @@ Often results in higher quality beatgrids, but will not do well on tracks that h EngineBuffer - + Soundtouch (faster) - + Rubberband (better) - + Rubberband R3 (near-hi-fi quality) - + Unknown, using Rubberband (better) - + Unknown, using Soundtouch @@ -9414,38 +9479,38 @@ Often results in higher quality beatgrids, but will not do well on tracks that h ITunesFeature - - + + iTunes - + Select your iTunes library - + (loading) iTunes - + Use Default Library - + Choose Library... - + Error Loading iTunes Library - + There was an error loading your iTunes library. Check the logs for details. @@ -9453,12 +9518,12 @@ Often results in higher quality beatgrids, but will not do well on tracks that h LegacyControllerColorSetting - + Change color - + Choose a new color @@ -9466,18 +9531,18 @@ Often results in higher quality beatgrids, but will not do well on tracks that h LegacyControllerFileSetting - + Browse... - - + + No file selected - + Select a file @@ -9485,15 +9550,15 @@ Often results in higher quality beatgrids, but will not do well on tracks that h LegacySkinParser - - + + Safe Mode Enabled Shown when Mixxx is running in safe mode. - - + + No OpenGL support. Shown when Spinny can not be displayed. Please keep @@ -9504,57 +9569,57 @@ Shown when VuMeter can not be displayed. Please keep - + activate - + toggle - + right - + left - + right small - + left small - + up - + down - + up small - + down small - + Shortcut @@ -9562,62 +9627,62 @@ Shown when VuMeter can not be displayed. Please keep Library - + This or a parent directory is already in your library. - + This or a listed directory does not exist or is inaccessible. Aborting the operation to avoid library inconsistencies - - + + This directory can not be read. - + An unknown error occurred. Aborting the operation to avoid library inconsistencies - + Can't add Directory to Library - + Could not add <b>%1</b> to your library. %2 - + Can't remove Directory from Library - + An unknown error occurred. - + This directory does not exist or is inaccessible. - + Relink Directory - + Could not relink <b>%1</b> to <b>%2</b>. %3 @@ -9627,22 +9692,22 @@ Aborting the operation to avoid library inconsistencies LibraryFeature - + Import Playlist Impor Playlist - + Playlist Files (*.m3u *.m3u8 *.pls *.csv) Berkas Daftar putar (*.m3u *.m3u8 *.pls *.csv) - + Overwrite File? - + A playlist file with the name "%1" already exists. The default "m3u" extension was added because none was specified. @@ -9689,27 +9754,27 @@ Do you really want to overwrite it? MidiController - + MixxxControl(s) not found - + One or more MixxxControls specified in the outputs section of the loaded mapping were invalid. - + * Make sure the MixxxControls in question actually exist. Visit the manual for a complete list: - + Some LEDs or other feedback may not work correctly. - + * Check to see that the MixxxControl names are spelled correctly in the mapping file (.xml) @@ -9769,18 +9834,18 @@ Do you really want to overwrite it? MixxxLibraryFeature - + Missing Tracks - + Hidden Tracks - Export to Engine Prime + Export to Engine DJ @@ -9792,208 +9857,249 @@ Do you really want to overwrite it? MixxxMainWindow - + Sound Device Busy - + <b>Retry</b> after closing the other application or reconnecting a sound device - - - + + + <b>Reconfigure</b> Mixxx's sound device settings. - - + + Get <b>Help</b> from the Mixxx Wiki. - - - + + + <b>Exit</b> Mixxx. - + Retry - + skin - + Allow Mixxx to hide the menu bar? - + Hide Always show the menu bar? - + Always show - + The Mixxx menu bar is hidden and can be toggled with a single press of the <b>Alt</b> key.<br><br>Click <b>%1</b> to agree.<br><br>Click <b>%2</b> to disable that, for example if you don't use Mixxx with a keyboard.<br><br>You can change this setting any time in Preferences -> Interface.<br> Keep formatting tags <b> (bold text) and <br> (linebreak). %1 is the placeholder for the 'Always show' button label - + Ask me again - - + + Reconfigure - + Help - - + + Exit - - + + Mixxx was unable to open all the configured sound devices. - + Sound Device Error - + <b>Retry</b> after fixing an issue - + No Output Devices - + Mixxx was configured without any output sound devices. Audio processing will be disabled without a configured output device. - + <b>Continue</b> without any outputs. - + Continue - + Load track to Deck %1 - + Deck %1 is currently playing a track. - + Are you sure you want to load a new track? - + There is no input device selected for this vinyl control. Please select an input device in the sound hardware preferences first. - + There is no input device selected for this passthrough control. Please select an input device in the sound hardware preferences first. - + There is no input device selected for this microphone. Do you want to select an input device? - + There is no input device selected for this auxiliary. Do you want to select an input device? - + + Scan took %1 + + + + + No changes detected. + + + + + + %1 tracks in total + + + + + %1 new tracks found + + + + + %1 moved tracks detected + + + + + %1 tracks are missing (%2 total) + + + + + %1 tracks have been rediscovered + + + + + Library scan finished + + + + Error in skin file - + The selected skin cannot be loaded. - + OpenGL Direct Rendering - + Direct rendering is not enabled on your machine.<br><br>This means that the waveform displays will be very<br><b>slow and may tax your CPU heavily</b>. Either update your<br>configuration to enable direct rendering, or disable<br>the waveform displays in the Mixxx preferences by selecting<br>"Empty" as the waveform display in the 'Interface' section. - - - + + + Confirm Exit - + A deck is currently playing. Exit Mixxx? - + A sampler is currently playing. Exit Mixxx? - + The preferences window is still open. - + Discard any changes and exit Mixxx? @@ -10009,13 +10115,13 @@ Do you want to select an input device? PlaylistFeature - + Lock Kunci - - + + Playlists @@ -10025,32 +10131,58 @@ Do you want to select an input device? - + + Unlock all playlists + + + + + Delete all unlocked playlists + + + + Unlock Buka Kunci - + + + Confirm Deletion + + + + + Do you really want to delete all unlocked playlists? + + + + + Deleting %1 unlocked playlists.<br>This operation can not be undone! + + + + Playlists are ordered lists of tracks that allow you to plan your DJ sets. - + It may be necessary to skip some tracks in your prepared playlist or add some different tracks in order to maintain the energy of your audience. - + Some DJs construct playlists before they perform live, but others prefer to build them on-the-fly. - + When using a playlist during a live DJ set, remember to always pay close attention to how your audience reacts to the music you've chosen to play. - + Create New Playlist Buat Playlist Baru @@ -11541,7 +11673,7 @@ Fully right: end of the effect period - + Deck %1 Deck %1 @@ -11674,7 +11806,7 @@ Hint: compensates "chipmunk" or "growling" voices - + Passthrough @@ -11705,7 +11837,7 @@ Hint: compensates "chipmunk" or "growling" voices - + Sampler %1 @@ -11838,12 +11970,12 @@ may introduce a 'pumping' effect and/or distortion. - + built-in - + missing @@ -11878,42 +12010,42 @@ may introduce a 'pumping' effect and/or distortion. - + Empty - + Simple - + Filtered - + HSV - + VSyncTest - + RGB - + Stacked - + Unknown @@ -11971,54 +12103,54 @@ may introduce a 'pumping' effect and/or distortion. RekordboxFeature - - - + + + Rekordbox - + Playlists - + Folders - + Reads databases exported for Pioneer CDJ / XDJ players using the Rekordbox Export mode.<br/>Rekordbox can only export to USB or SD devices with a FAT or HFS file system.<br/>Mixxx can read a database from any device that contains the database folders (<tt>PIONEER</tt> and <tt>Contents</tt>).<br/>Not supported are Rekordbox databases that have been moved to an external device via<br/><i>Preferences > Advanced > Database management</i>.<br/><br/>The following data is read: - + Hot cues - + Loops (only the first loop is currently usable in Mixxx) - + Check for attached Rekordbox USB / SD devices (refresh) - + Beatgrids - + Memory cues - + (loading) Rekordbox @@ -12153,19 +12285,19 @@ may introduce a 'pumping' effect and/or distortion. Kunci - - + + Confirm Deletion - + Do you really want to delete all unlocked playlist from <b>%1</b>?<br><br> %1 is the year <b> + </b> are used to make the text in between bold in the popup <br> is a linebreak - + Deleting %1 playlists from <b>%2</b>.<br><br> %1 is the number of playlists to be deleted %2 is the year <b> + </b> are used to make the text in between bold in the popup <br> is a linebreak @@ -12577,7 +12709,7 @@ may introduce a 'pumping' effect and/or distortion. - + Spinning Vinyl @@ -12759,7 +12891,7 @@ may introduce a 'pumping' effect and/or distortion. - + Cover Art Gambar @@ -12995,197 +13127,197 @@ may introduce a 'pumping' effect and/or distortion. - + Adjust Beats Earlier - + When tapped, moves the beatgrid left by a small amount. - + Adjust Beats Later - + When tapped, moves the beatgrid right by a small amount. - + Tempo and BPM Tap - + Show/hide the spinning vinyl section. - + Keylock - + Toggling keylock during playback may result in a momentary audio glitch. - + Toggle visibility of Loop Controls - + Toggle visibility of Beatjump Controls - + Toggle visibility of Rate Control - + Toggle visibility of Key Controls - + (while previewing) - + Places a cue point at the current position on the waveform. - + Stops track at cue point, OR go to cue point and play after release (CUP mode). - + Set cue point (Pioneer/Mixxx/Numark mode), set cue point and play after release (CUP mode) OR preview from it (Denon mode). - + Is latching the playing state. - + Seeks the track to the cue point and stops. - + Play - + Plays track from the cue point. - + Sends the selected channel's audio to the headphone output, selected in Preferences -> Sound Hardware. - + (This skin should be updated to use Sync Lock!) - + Enable Sync Lock - + Tap to sync the tempo to other playing tracks or the sync leader. - + Enable Sync Leader - + When enabled, this device will serve as the sync leader for all other decks. - + This is relevant when a dynamic tempo track is loaded to a sync leader deck.In that case, other synced devices will adopt the changing tempo. - + Changes the track playback speed (affects both the tempo and the pitch). If keylock is enabled, only the tempo is affected. - + Tempo Range Display - + Displays the current range of the tempo slider. - + Un-ejects when no track is loaded, i.e. reloads the track that was ejected last (of any deck). - + Delete selected hotcue. - + Track Comment - + Displays the comment tag of the loaded track. - + Opens separate artwork viewer. - + Effect Chain Preset Settings - + Show the effect chain settings menu for this unit. - + Select and configure a hardware device for this input - + Recording Duration @@ -13423,924 +13555,932 @@ may introduce a 'pumping' effect and/or distortion. - + + Adjust beatgrid by exactly one half beat. Usable only on +tracks with constant tempo. + + + + Revert last BPM/Beatgrid Change - + Revert last BPM/Beatgrid Change of the loaded track. - - + + Toggle the BPM/beatgrid lock - + Tempo and Rate Tap - + Tempo, Rate Tap and BPM Tap - + Shift cues earlier - - + + Shift cues imported from Serato or Rekordbox if they are slightly off time. - + Left click: shift 10 milliseconds earlier - + Right click: shift 1 millisecond earlier - + Shift cues later - + Left click: shift 10 milliseconds later - + Right click: shift 1 millisecond later - + + + + Drag a Hotcue button here to continue playing after releasing the Hotcue. + + + + Hint: Change the default cue mode in Preferences -> Decks. - + Mutes the selected channel's audio in the main output. - + Main mix enable - + Hold or short click for latching to mix this input into the main output. - + If hotcue is a loop cue, toggles the loop and jumps to if the loop is behind the play position. - + If the play position is inside an active loop, stores the loop as loop cue. - + Drag this button onto another Hotcue button to move it there (change its index). If the other hotcue is set, the two are swapped. - - Dragging with Shift key pressed will not start previewing the hotcue - - - - + Expand/Collapse Samplers - + Toggle expanded samplers view. - + Displays the duration of the running recording. - + Auto DJ is active - + Red for when needle skip has been detected. - + Hot Cue - Track will seek to nearest previous hotcue point. - + Sets the track Loop-In Marker to the current play position. - + Press and hold to move Loop-In Marker. - + Jump to Loop-In Marker. - + Sets the track Loop-Out Marker to the current play position. - + Press and hold to move Loop-Out Marker. - + Jump to Loop-Out Marker. - + If the track has no beats the unit is seconds. - + Beatloop Size - + Select the size of the loop in beats to set with the Beatloop button. - + Changing this resizes the loop if the loop already matches this size. - + Halve the size of an existing beatloop, or halve the size of the next beatloop set with the Beatloop button. - + Double the size of an existing beatloop, or double the size of the next beatloop set with the Beatloop button. - + Start a loop over the set number of beats. - + Temporarily enable a rolling loop over the set number of beats. - + Beatloop Anchor - + Define whether the loop is created and adjusted from its staring point or ending point. - + Beatjump/Loop Move Size - + Select the number of beats to jump or move the loop with the Beatjump Forward/Backward buttons. - + Beatjump Forward - + Jump forward by the set number of beats. - + Move the loop forward by the set number of beats. - + Jump forward by 1 beat. - + Move the loop forward by 1 beat. - + Beatjump Backward - + Jump backward by the set number of beats. - + Move the loop backward by the set number of beats. - + Jump backward by 1 beat. - + Move the loop backward by 1 beat. - + Reloop - + If the loop is ahead of the current position, looping will start when the loop is reached. - + Works only if Loop-In and Loop-Out Marker are set. - + Enable loop, jump to Loop-In Marker, and stop playback. - + Displays the elapsed and/or remaining time of the track loaded. - + Click to toggle between time elapsed/remaining time/both. - + Hint: Change the time format in Preferences -> Decks. - + Show/hide intro & outro markers and associated buttons. - + Intro Start Marker - - - - + + + + If marker is set, jumps to the marker. - - - - + + + + If marker is not set, sets the marker to the current play position. - - - - + + + + If marker is set, clears the marker. - + Intro End Marker - + Outro Start Marker - + Outro End Marker - + Mix - + Adjust the mixing of the dry (input) signal with the wet (output) signal of the effect unit - + D/W mode: Crossfade between dry and wet - + D+W mode: Add wet to dry - + Mix Mode - + Adjust how the dry (input) signal is mixed with the wet (output) signal of the effect unit - + Dry/Wet mode (crossed lines): Mix knob crossfades between dry and wet Use this to change the sound of the track with EQ and filter effects. - + Dry+Wet mode (flat dry line): Mix knob adds wet to dry Use this to change only the effected (wet) signal with EQ and filter effects. - + Route the main mix through this effect unit. - + Route the left crossfader bus through this effect unit. - + Route the right crossfader bus through this effect unit. - + Right side active: parameter moves with right half of Meta Knob turn - + Stem Label - + Name of the stem stored in the stem file - + Text is displayed in the stem color stored in the stem file - + this stem color is also used for the waveform of this stem - + Stem Mute - + Toggle the stem mute/unmuted - + Stem Volume Knob - + Adjusts the volume of the stem - + Skin Settings Menu - + Show/hide skin settings menu - + Save Sampler Bank - + Save the collection of samples loaded in the samplers. - + Load Sampler Bank - + Load a previously saved collection of samples into the samplers. - + Show Effect Parameters - + Enable Effect - + Meta Knob Link - + Set how this parameter is linked to the effect's Meta Knob. - + Meta Knob Link Inversion - + Inverts the direction this parameter moves when turning the effect's Meta Knob. - + Super Knob - + Next Chain - + Previous Chain - + Next/Previous Chain - + Clear - + Clear the current effect. - + Toggle - + Toggle the current effect. - + Next - + Clear Unit - + Clear effect unit. - + Show/hide parameters for effects in this unit. - + Toggle Unit - + Enable or disable this whole effect unit. - + Controls the Meta Knob of all effects in this unit together. - + Load next effect chain preset into this effect unit. - + Load previous effect chain preset into this effect unit. - + Load next or previous effect chain preset into this effect unit. - - - - - - - - - + + + + + + + + + Assign Effect Unit - + Assign this effect unit to the channel output. - + Route the headphone channel through this effect unit. - + Route this deck through the indicated effect unit. - + Route this sampler through the indicated effect unit. - + Route this microphone through the indicated effect unit. - + Route this auxiliary input through the indicated effect unit. - + The effect unit must also be assigned to a deck or other sound source to hear the effect. - + Switch to the next effect. - + Previous - + Switch to the previous effect. - + Next or Previous - + Switch to either the next or previous effect. - + Meta Knob - + Controls linked parameters of this effect - + Effect Focus Button - + Focuses this effect. - + Unfocuses this effect. - + Refer to the web page on the Mixxx wiki for your controller for more information. - + Effect Parameter - + Adjusts a parameter of the effect. - + Inactive: parameter not linked - + Active: parameter moves with Meta Knob - + Left side active: parameter moves with left half of Meta Knob turn - + Left and right side active: parameter moves across range with half of Meta Knob turn and back with the other half - - + + Equalizer Parameter Kill - - + + Holds the gain of the EQ to zero while active. - + Quick Effect Super Knob - + Quick Effect Super Knob (control linked effect parameters). - + Hint: Change the default Quick Effect mode in Preferences -> Equalizers. - + Equalizer Parameter - + Adjusts the gain of the EQ filter. - + Hint: Change the default EQ mode in Preferences -> Equalizers. - - + + Adjust Beatgrid - + Adjust beatgrid so the closest beat is aligned with the current play position. - - + + Adjust beatgrid to match another playing deck. - + If quantize is enabled, snaps to the nearest beat. - + Quantize - + Toggles quantization. - + Loops and cues snap to the nearest beat when quantization is enabled. - + Reverse - + Reverses track playback during regular playback. - + Puts a track into reverse while being held (Censor). - + Playback continues where the track would have been if it had not been temporarily reversed. - - - + + + Play/Pause - + Jumps to the beginning of the track. - + Syncs the tempo (BPM) and phase to that of the other track, if BPM is detected on both. - + Syncs the tempo (BPM) to that of the other track, if BPM is detected on both. - + Sync and Reset Key - + Increases the pitch by one semitone. - + Decreases the pitch by one semitone. - + Enable Vinyl Control - + When disabled, the track is controlled by Mixxx playback controls. - + When enabled, the track responds to external vinyl control. - + Enable Passthrough - + Indicates that the audio buffer is too small to do all audio processing. - + Displays cover artwork of the loaded track. - + Displays options for editing cover artwork. - + Star Rating - + Assign ratings to individual tracks by clicking the stars. @@ -14475,33 +14615,33 @@ Use this to change only the effected (wet) signal with EQ and filter effects. - + Prevents the pitch from changing when the rate changes. - + Changes the number of hotcue buttons displayed in the deck - + Starts playing from the beginning of the track. - + Jumps to the beginning of the track and stops. - - + + Plays or pauses the track. - + (while playing) @@ -14521,205 +14661,215 @@ Use this to change only the effected (wet) signal with EQ and filter effects. - + (while stopped) - + Cue - + Headphone - + Mute - + Old Synchronize - + Syncs to the first deck (in numerical order) that is playing a track and has a BPM. - + If no deck is playing, syncs to the first deck that has a BPM. - + Decks can't sync to samplers and samplers can only sync to decks. - + Hold for at least a second to enable sync lock for this deck. - + Decks with sync locked will all play at the same tempo, and decks that also have quantize enabled will always have their beats lined up. - + Resets the key to the original track key. - + Speed Control - - - + + + Changes the track pitch independent of the tempo. - + Increases the pitch by 10 cents. - + Decreases the pitch by 10 cents. - + Pitch Adjust - + Adjust the pitch in addition to the speed slider pitch. - + Opens a menu to clear hotcues or edit their labels and colors. - + + Drag this button onto a Play button while previewing to continue playback after release. + + + + + Dragging with Shift key pressed will not start previewing the hotcue. + + + + Record Mix - + Toggle mix recording. - + Enable Live Broadcasting - + Stream your mix over the Internet. - + Provides visual feedback for Live Broadcasting status: - + disabled, connecting, connected, failure. - + When enabled, the deck directly plays the audio arriving on the vinyl input. - + Playback will resume where the track would have been if it had not entered the loop. - + Loop Exit - + Turns the current loop off. - + Slip Mode - + When active, the playback continues muted in the background during a loop, reverse, scratch etc. - + Once disabled, the audible playback will resume where the track would have been. - + Track Key The musical key of a track - + Displays the musical key of the loaded track. - + Clock - + Displays the current time. - + Audio Latency Usage Meter - + Displays the fraction of latency used for audio processing. - + A high value indicates that audible glitches are likely. - + Do not enable keylock, effects or additional decks in this situation. - + Audio Latency Overload Indicator @@ -14764,254 +14914,254 @@ Use this to change only the effected (wet) signal with EQ and filter effects. - + Fast Rewind - + Fast rewind through the track. - + Fast Forward - + Fast forward through the track. - + Jumps to the end of the track. - + Sets the pitch to a key that allows a harmonic transition from the other track. Requires a detected key on both involved decks. - - - + + + Pitch Control - + Pitch Rate - + Displays the current playback rate of the track. - + Repeat - + When active the track will repeat if you go past the end or reverse before the start. - + Eject - + Ejects track from the player. - + Hotcue - + If hotcue is set, jumps to the hotcue. - + If hotcue is not set, sets the hotcue to the current play position. - + Vinyl Control Mode - + Absolute mode - track position equals needle position and speed. - + Relative mode - track speed equals needle speed regardless of needle position. - + Constant mode - track speed equals last known-steady speed regardless of needle input. - + Vinyl Status - + Provides visual feedback for vinyl control status: - + Green for control enabled. - + Blinking yellow for when the needle reaches the end of the record. - + Loop-In Marker - + Loop-Out Marker - + Loop Halve - + Halves the current loop's length by moving the end marker. - + Deck immediately loops if past the new endpoint. - + Loop Double - + Doubles the current loop's length by moving the end marker. - + Beatloop - + Toggles the current loop on or off. - + Works only if Loop-In and Loop-Out marker are set. - + Vinyl Cueing Mode - + Determines how cue points are treated in vinyl control Relative mode: - + Off - Cue points ignored. - + One Cue - If needle is dropped after the cue point, track will seek to that cue point. - + Track Time - + Track Duration - + Displays the duration of the loaded track. - + Information is loaded from the track's metadata tags. - + Track Artist - + Displays the artist of the loaded track. - + Track Title - + Displays the title of the loaded track. - + Track Album Album - + Displays the album name of the loaded track. - + Track Artist/Title - + Displays the artist and title of the loaded track. @@ -15019,12 +15169,12 @@ Use this to change only the effected (wet) signal with EQ and filter effects. TrackCollection - + Hiding tracks - + The selected tracks are in the following playlists:%1Hiding them will remove them from these playlists. Continue? @@ -15032,47 +15182,42 @@ Use this to change only the effected (wet) signal with EQ and filter effects. TrackExportDlg - + Export finished - + Exporting %1 - - - Overwrite Existing File? - - - "%1" already exists, overwrite? + Replace Existing File? - - &Overwrite + + "%1" already exists, replace? - - Over&write All + + &Replace - - &Skip + + Apply to all files - Skip &All + &Skip - + Export Error @@ -15244,47 +15389,47 @@ This can not be undone! WCueMenuPopup - + Cue number - + Cue position - + Edit cue label - + Label... - + Delete this cue - + Toggle this cue type between normal cue and saved loop - + Left-click: Use the old size or the current beatloop size as the loop size - + Right-click: Use the current play position as loop end if it is after the cue - + Hotcue #%1 @@ -15408,407 +15553,438 @@ This can not be undone! - - E&xport Library to Engine Prime + + Search in Current View... - - Export the library to the Engine Prime format + + Search for tracks in the current library view - + + Ctrl+f + + + + + Search in Tracks Library... + + + + + Search in the internal track collection under "Tracks" in the library + + + + + Ctrl+Shift+F + + + + Create &New Playlist - + Create a new playlist - + Ctrl+n - + Create New &Crate - + Create a new crate - + Ctrl+Shift+N - - + + &View - + Auto-hide menu bar - + Auto-hide the main menu bar when it's not used. - + May not be supported on all skins. - + Show Skin Settings Menu - + Show the Skin Settings Menu of the currently selected Skin - + Ctrl+1 Menubar|View|Show Skin Settings - + Show Microphone Section - + Show the microphone section of the Mixxx interface. - + Ctrl+2 Menubar|View|Show Microphone Section - + Show Vinyl Control Section - + Show the vinyl control section of the Mixxx interface. - + Ctrl+3 Menubar|View|Show Vinyl Control Section - + Show Preview Deck - + Show the preview deck in the Mixxx interface. - + Ctrl+4 Menubar|View|Show Preview Deck - + Show Cover Art - + Show cover art in the Mixxx interface. - + Ctrl+6 Menubar|View|Show Cover Art - + Maximize Library - + Maximize the track library to take up all the available screen space. - + Space Menubar|View|Maximize Library - + &Full Screen - + Display Mixxx using the full screen - + &Options - + &Vinyl Control - + Use timecoded vinyls on external turntables to control Mixxx - + Enable Vinyl Control &%1 - + &Record Mix - + Record your mix to a file - + Ctrl+R - + Enable Live &Broadcasting - + Stream your mixes to a shoutcast or icecast server - + Ctrl+L - + Enable &Keyboard Shortcuts - + Toggles keyboard shortcuts on or off - + Ctrl+` - + &Preferences - + Change Mixxx settings (e.g. playback, MIDI, controls) - + &Developer - + &Reload Skin - + Reload the skin - + Ctrl+Shift+R - + Developer &Tools - + Opens the developer tools dialog - + Ctrl+Shift+T - + Stats: &Experiment Bucket - + Enables experiment mode. Collects stats in the EXPERIMENT tracking bucket. - + Ctrl+Shift+E - + Stats: &Base Bucket - + Enables base mode. Collects stats in the BASE tracking bucket. - + Ctrl+Shift+B - + Deb&ugger Enabled - + Enables the debugger during skin parsing - + Ctrl+Shift+D - + &Help - + Show Keywheel menu title - + + E&xport Library to Engine DJ + "Engine DJ" must not be translated + + + + + Export the library to the Engine DJ format + + + + Show keywheel tooltip text - + F12 Menubar|View|Show Keywheel - + &Community Support - + Get help with Mixxx - + &User Manual - + Read the Mixxx user manual. - + &Keyboard Shortcuts - + Speed up your workflow with keyboard shortcuts. - + &Settings directory - + Open the Mixxx user settings directory. - + &Translate This Application - + Help translate this application into your language. - + &About - + About the application @@ -15816,25 +15992,25 @@ This can not be undone! WOverview - + Passthrough - + Ready to play, analyzing... Text on waveform overview when file is playable but no waveform is visible - - + + Loading track... Text on waveform overview when file is cached from source - + Finalizing... Text on waveform overview during finalizing of waveform analysis @@ -15843,25 +16019,13 @@ This can not be undone! WSearchLineEdit - - Clear input - Clear the search bar input field - - - - - Ctrl+F - Search|Focus - Ctrl+F - - - + Search noun - + Clear input @@ -15872,169 +16036,163 @@ This can not be undone! Pencarian... - + Clear the search bar input field - - Enter a string to search for + + Return - - Use operators like bpm:115-128, artist:BooFar, -year:1990 + + Enter a string to search for. - - For more information see User Manual > Mixxx Library + + Use operators like bpm:115-128, artist:BooFar, -year:1990. - Shortcut + See User Manual > Mixxx Library for more information. - - Ctrl+F - Ctrl+F + + Focus/Select All (Search in current view) + Give search bar input focus + - - Focus - Give search bar input focus + + Focus/Select All (Search in 'Tracks' library view) - - - Ctrl+Backspace + + Additional Shortcuts When Focused: - Shortcuts + Trigger search before search-as-you-type timeout or focus tracks view afterwards - Return + Esc or Ctrl+Return - Trigger search before search-as-you-type timeout orjump to tracks view afterwards + Immediately trigger search and focus tracks view + Exit search bar and leave focus - + Ctrl+Space - + Toggle search history Shows/hides the search history entries - + Delete or Backspace - - Delete query from history + + in search history - - Esc - Esc - - - - Exit search - Exit search bar and leave focus + + Delete query from history WSearchRelatedTracksMenu - + Search related Tracks - + Key Kunci - + harmonic with %1 - + BPM DPM - + between %1 and %2 - + Artist Artis - + Album Artist Artis dari Album - + Composer Penyusun - + Title Judul - + Album Album - + Grouping Kelompok - + Year Tahun - + Genre Aliran - + Directory - + &Search selected @@ -16042,599 +16200,625 @@ This can not be undone! WTrackMenu - + Load to - + Deck - + Sampler - + Add to Playlist Tambah ke Daftar Putar - + Crates Peti - + Metadata - + Update external collections - + Cover Art Gambar - + Adjust BPM - + Select Color - - + + Analyze Menganalisis - - + + Delete Track Files - + Add to Auto DJ Queue (bottom) Tambahkan ke Auto DJ (bawah) - + Add to Auto DJ Queue (top) Tambahkan ke Auto DJ (atas) - + Add to Auto DJ Queue (replace) - + Preview Deck - + Remove Hapus - + Remove from Playlist - + Remove from Crate - + Hide from Library - + Unhide from Library - + Purge from Library - + Move Track File(s) to Trash - + Delete Files from Disk - + Properties Pengaturan - + Open in File Browser Buka di Browser Berkas - + Select in Library - + Import From File Tags - + Import From MusicBrainz - + Export To File Tags - + BPM and Beatgrid - + Play Count - + Rating Penilaian - + Cue Point - + + Hotcues Penanda Utama - + Intro - + Outro - + Key Kunci - + ReplayGain - + Waveform - + Comment Komentar - + All - + + Sort hotcues by position (remove offsets) + + + + + Sort hotcues by position + + + + Lock BPM Kunci DPM - + Unlock BPM Buka Kunci BPM - + Double BPM - + Halve BPM - + 2/3 BPM - + 3/4 BPM - + 4/3 BPM - + 3/2 BPM - + + Shift Beatgrid Half Beat + + + + Reanalyze - + Reanalyze (constant BPM) - + Reanalyze (variable BPM) - + Update ReplayGain from Deck Gain - + Deck %1 Deck %1 - + Importing metadata of %n track(s) from file tags - + Marking metadata of %n track(s) to be exported into file tags - - + + Create New Playlist Buat Playlist Baru - + Enter name for new playlist: Masukkan nama baru untuk Playlist ini: - + New Playlist Playlist Baru - - - + + + Playlist Creation Failed Pembuatan Playlist Tidak Berhasil - + A playlist by that name already exists. Nama playlist tersebut sudah digunakan - + A playlist cannot have a blank name. Playlist tidak bisa memiliki nama kosong - + An unknown error occurred while creating playlist: Kesalahan yang tidak diketahui terjadi saat membuat playlist: - + Add to New Crate - + Scaling BPM of %n track(s) - + Undo BPM/beats change of %n track(s) - + Locking BPM of %n track(s) - + Unlocking BPM of %n track(s) - + Setting rating of %n track(s) - + Setting color of %n track(s) - + Resetting play count of %n track(s) - + Resetting beats of %n track(s) - + Clearing rating of %n track(s) - + Clearing comment of %n track(s) - + Removing main cue from %n track(s) - + Removing outro cue from %n track(s) - + Removing intro cue from %n track(s) - + Removing loop cues from %n track(s) - + Removing hot cues from %n track(s) - + + Sorting hotcues of %n track(s) by position (remove offsets) + + + + + Sorting hotcues of %n track(s) by position + + + + Resetting keys of %n track(s) - + Resetting replay gain of %n track(s) - + Resetting waveform of %n track(s) - + Resetting all performance metadata of %n track(s) - + Move these files to the trash bin? - + Permanently delete these files from disk? - - + + This can not be undone! - + Cancel - + Delete Files - + Okay - + Move Track File(s) to Trash? - + Track Files Deleted - + Track Files Moved To Trash - + %1 track files were moved to trash and purged from the Mixxx database. - + %1 track files were deleted from disk and purged from the Mixxx database. - + Track File Deleted - + Track file was deleted from disk and purged from the Mixxx database. - + The following %1 file(s) could not be deleted from disk - + This track file could not be deleted from disk - + Remaining Track File(s) - + Close - + Clear Reset metadata in right click track context menu in library - + Loops - + Clear BPM and Beatgrid - + Undo last BPM/beats change - + Move this track file to the trash bin? - + Permanently delete this track file from disk? - + All decks where these tracks are loaded will be stopped and the tracks will be ejected. - + All decks where this track is loaded will be stopped and the track will be ejected. - + Removing %n track file(s) from disk... - + Note: if you are in the Computer or Recording view you need to click the current view again to see changes. - + Track File Moved To Trash - + Track file was moved to trash and purged from the Mixxx database. - + Don't show again during this session - + The following %1 file(s) could not be moved to trash - + This track file could not be moved to trash - + Setting cover art of %n track(s) - + Reloading cover art of %n track(s) @@ -16650,37 +16834,37 @@ This can not be undone! WTrackStemMenu - + Load for stem mixing - + Load pre-mixed stereo track - + Load the "%1" stem - + Load multiple stem into a stereo deck - + Select stems to load - + Release "CTRL" to load the current selection - + Use "CTRL" to select multiple stems @@ -16688,37 +16872,37 @@ This can not be undone! WTrackTableView - + Confirm track hide - + Are you sure you want to hide the selected tracks? - + Are you sure you want to remove the selected tracks from AutoDJ queue? - + Are you sure you want to remove the selected tracks from this crate? - + Are you sure you want to remove the selected tracks from this playlist? - + Don't ask again during this session - + Confirm track removal @@ -16726,60 +16910,65 @@ This can not be undone! WTrackTableViewHeader - + Show or hide columns. Tampilkan atau sembunyikan kolom. + + + Shuffle Tracks + + mixxx::CoreServices - + fonts - + database - + effects - + audio interface - + decks - + library - + Choose music library directory Pilih petunjuk pustaka musik. - + controllers - + Cannot open database - + Unable to establish a database connection. Mixxx requires QT with SQLite support. Please read the Qt SQL driver documentation for information on how to build it. @@ -16790,67 +16979,78 @@ Click OK to exit. mixxx::DlgLibraryExport - + Entire music library - - Selected crates + + Crates + + + + + Playlists + + + + + Selected crates/playlists - + Browse Telusuri - + Export directory - + Database version - + Export - + Cancel - - Export Library to Engine Prime + + Export Library to Engine DJ + "Engine DJ" must not be translated - + Export Library To - + No Export Directory Chosen - + No export directory was chosen. Please choose a directory in order to export the music library. - + A database already exists in the chosen directory. Exported tracks will be added into this database. - + A database already exists in the chosen directory, but there was a problem loading it. Export is not guaranteed to succeed in this situation. @@ -16871,7 +17071,7 @@ Click OK to exit. mixxx::EnginePrimeExportJob - + Failed to export track %1 - %2: %3 %1 is the artist %2 is the title and %3 is the original error message @@ -16881,23 +17081,23 @@ Click OK to exit. mixxx::LibraryExporter - + Export Completed - - Exported %1 track(s) and %2 crate(s). + + Exported %1 track(s), %2 crate(s), and %3 playlist(s). - + Export Failed - - Exporting to Engine Prime... + + Exporting to Engine DJ... diff --git a/res/translations/mixxx_it.qm b/res/translations/mixxx_it.qm index d05328dbf672e5bf73b74ce657be2022b75d2c41..77b46f739d19bfb8ca80c308efa6594f1fd19f96 100644 GIT binary patch delta 26296 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%0DtC)(sDm*0UK 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%0Dl46~-!bmEWy!Esqw@_p{_(dyTDv;zC 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 A+yDRo diff --git a/res/translations/mixxx_it.ts b/res/translations/mixxx_it.ts index 75bd2bcbb6a5..fe1b0c0cd9e3 100644 --- a/res/translations/mixxx_it.ts +++ b/res/translations/mixxx_it.ts @@ -26,17 +26,17 @@ Enable Auto DJ - + Attiva Auto DJ Disable Auto DJ - + Disattiva Auto DJ Clear Auto DJ Queue - + Pulisci Coda Auto DJ @@ -51,17 +51,17 @@ Confirmation Clear - + Conferma rimozione Do you really want to remove all tracks from the Auto DJ queue? - + Vuoi rimuovere tutte le tracce dalla coda dell'Auto DJ? This can not be undone. - + Non può essere annullato. @@ -149,7 +149,7 @@ BasePlaylistFeature - + New Playlist Nuova Playlist @@ -160,7 +160,7 @@ - + Create New Playlist Crea Nuova Playlist @@ -190,113 +190,120 @@ Duplica - - + + Import Playlist Importa Playlist - + Export Track Files Esporta Files Tracce - + Analyze entire Playlist Analizza l'intera Playlist - + Enter new name for playlist: Inserisci il nuovo nome per la playlist: - + Duplicate Playlist Duplica Playlist - - + + Enter name for new playlist: Inserisci il nome per la playlist: - - + + Export Playlist Esporta Playlist - + Add to Auto DJ Queue (replace) Aggiungi a Auto DJ (sostituisce) - + + + Export to Engine DJ + "Engine DJ" is a product name and must not be translated. + + + + Rename Playlist Rinomina Playlist - - + + Renaming Playlist Failed Errore nel rinominare la Playlist - - - + + + A playlist by that name already exists. Esiste già una playlist con questo nome. - - - + + + A playlist cannot have a blank name. Il nome della playlist non può essere vuoto. - + _copy //: Appendix to default name when duplicating a playlist _copy - - - - - - + + + + + + Playlist Creation Failed Creazione della Playlist non Riuscita - - + + An unknown error occurred while creating playlist: Errore sconosciuto durante la creazione della playlist: - + Confirm Deletion Conferma Cancellazione - + Do you really want to delete playlist <b>%1</b>? Sei davvero sicuro di voler cancellare la playlist <b>%1</b>? - + M3U Playlist (*.m3u) Playlist M3U (*.m3u) - + M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Text CSV (*.csv);;Readable Text (*.txt) Playlist M3U (*.m3u);;Playlist M3U8 (*.m3u8);;Playlist PLS (*.pls);;Testo CSV (*.csv);;File testuale (*.txt) @@ -304,12 +311,12 @@ BaseSqlTableModel - + # # - + Timestamp Marca temporale @@ -317,7 +324,7 @@ BaseTrackPlayerImpl - + Couldn't load track. Impossibile caricare la traccia. @@ -325,142 +332,142 @@ BaseTrackTableModel - + Album Album - + Album Artist Artista Album - + Artist Artista - + Bitrate Bitrate - + BPM BPM - + Channels Canali - + Color Colore - + Comment Commento - + Composer Autore - + Cover Art Immagine Copertina - + Date Added Data di Importazione - + Last Played Ultima Riproduzione - + Duration Durata - + Type Tipo - + Genre Genere - + Grouping Gruppo - + Key Chiave - + Location Posizione - + Overview - + Preview Anteprima - + Rating Voto - + ReplayGain ReplayGain - + Samplerate Frequenza di campionamento - + Played Riprodotta - + Title Titolo - + Track # Traccia # - + Year Anno - + Fetching image ... Tooltip text on the cover art column shown when the cover is read from disk Recupero immagine ... @@ -609,6 +616,16 @@ "Computer" lets you navigate, view, and load tracks from folders on your hard disk and external devices. "Computer" permette di navigare, vedere, e caricare tracce da cartelle sul tuo hard disk o dispositivi esterni. + + + It shows the data from the file tags, not track data from your Mixxx library like other track views. + + + + + If you load a track file from here, it will be added to your library. + + BrowseTableModel @@ -3527,7 +3544,7 @@ traccia - Come sopra + Messaggi di profilazione Unknown - + Sconosciuto @@ -3632,32 +3649,32 @@ traccia - Come sopra + Messaggi di profilazione ControllerScriptEngineBase - + The functionality provided by this controller mapping will be disabled until the issue has been resolved. La funzionalità fornita da questo mapping controller sarà disabilitata fino a che il problema non sarà risolto. - + You can ignore this error for this session but you may experience erratic behavior. Puoi ignorare questo errore per questa sessione ma puoi incontrare comportamenti incoerenti. - + Try to recover by resetting your controller. Tenta il ripristino tramite la reimpostazione ai valori predefiniti del tuo controller. - + Controller Mapping Error Errore Mappatura Controller - + The mapping for your controller "%1" is not working properly. La mappatura per il tuo controller "%1" non funziona correttamente. - + The script code needs to be fixed. Il codice dello script deve essere riparato. @@ -3765,7 +3782,7 @@ traccia - Come sopra + Messaggi di profilazione Importa il Contenitore - + Export Crate Esporta il Contenitore @@ -3775,7 +3792,7 @@ traccia - Come sopra + Messaggi di profilazione Sblocca - + An unknown error occurred while creating crate: Si è verificato un errore sconosciuto durante la creazione del contenitore: @@ -3801,17 +3818,17 @@ traccia - Come sopra + Messaggi di profilazione Impossibile Rinominare il Contenitore - + Crate Creation Failed Impossibile Creare il Contenitore - + M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Text CSV (*.csv);;Readable Text (*.txt) Playlist M3U (*.m3u);;Playlist M3U8 (*.m3u8);;Playlist PLS (*.pls);;Testo CSV (*.csv);;File testuale (*.txt) - + M3U Playlist (*.m3u) Playlist M3U (*.m3u) @@ -3914,7 +3931,7 @@ traccia - Come sopra + Messaggi di profilazione Mixxx %1.%2 Development Team - + Mixxx %1.%2 Development Team @@ -3937,12 +3954,12 @@ traccia - Come sopra + Messaggi di profilazione Collaboratori passati - + Official Website Sito Ufficiale - + Donate Dona @@ -3998,7 +4015,7 @@ traccia - Come sopra + Messaggi di profilazione - + Analyze Analizza @@ -4043,17 +4060,17 @@ traccia - Come sopra + Messaggi di profilazione Rileva chiave, ReplayGain e beat sulle tracce selezionate. Non genera forme d'onda per le tracce selezionate per risparmiare spazio su disco. - + Stop Analysis Arresta l'analisi - + Analyzing %1% %2/%3 Analisi %1% %2/%3 - + Analyzing %1/%2 Analisi %1/%2 @@ -4307,7 +4324,7 @@ Spesso si avrà un buon risultato con tracce a ritmo costante, non funzionerà b Disabled - + Disattivato @@ -4469,37 +4486,37 @@ Spesso si avrà un buon risultato con tracce a ritmo costante, non funzionerà b Se la mappatura non sta funzionando, prova ad abilitare un opzione avanzata fra le seguenti e prova nuovamente il controllo. Oppure clicca Riprova per rilevare nuovamente il controllo midi. - + Didn't get any midi messages. Please try again. Non ho ricevuto nessun messaggio midi. Riprova. - + Unable to detect a mapping -- please try again. Be sure to only touch one control at once. Impossibile rilevare una mappatura -- riprova. Assicurati di toccare solo un controllo alla volta. - + Successfully mapped control: Controllo mappato con successo: - + <i>Ready to learn %1</i> <i>Pronto ad imparare %1</i> - + Learning: %1. Now move a control on your controller. Imparando: %1. Ora muovi un controllo sul tuo controller. - + The selected control does not exist.<br>This likely a bug. Please report it on the Mixxx bug tracker.<br><a href='https://github.com/mixxxdj/mixxx/issues'>https://github.com/mixxxdj/mixxx/issues</a><br><br>You tried to learn: %1,%2 - + The control you clicked in Mixxx is not learnable. This could be because you are either using an old skin and this control is no longer supported, or you clicked a control that provides visual feedback and can only be mapped to outputs like LEDs via scripts. @@ -5205,114 +5222,114 @@ associated with each key. DlgPrefController - + Apply device settings? Applicare le impostazioni della periferica? - + Your settings must be applied before starting the learning wizard. Apply settings and continue? La configurazione deve essere applicata prima di iniziare l'auto apprendimento. Applicare la configurazione e continuare? - + None Nessuno/a - + %1 by %2 %1 da %2 - + Mapping has been edited La mappatura è stata modificata - + Always overwrite during this session Sovrascrivi sempre durante questa sessione - + Save As Salva come - + Overwrite Sovrascrivi - + Save user mapping Salva mappatura utente - + Enter the name for saving the mapping to the user folder. Digita il nome per salvare la mappatura nella cartella utente. - + Saving mapping failed Salvataggio mappatura fallito - + A mapping cannot have a blank name and may not contain special characters. Una mappatura non può avere un nome nullo e non deve contenere caratteri speciali. - + A mapping file with that name already exists. Un file mappatura con lo stesso nome esiste già. - + Do you want to save the changes? Vuoi salvare le modifiche? - + Troubleshooting Risoluzione dei problemi - + <font color='#BB0000'><b>If you use this mapping your controller may not work correctly. Please select another mapping or disable the controller.</b></font><br><br>This mapping was designed for a newer Mixxx Controller Engine and cannot be used on your current Mixxx installation.<br>Your Mixxx installation has Controller Engine version %1. This mapping requires a Controller Engine version >= %2.<br><br>For more information visit the wiki page on <a href='https://mixxx.org/wiki/doku.php/controller_engine_versions'>Controller Engine Versions</a>. <font color='#BB0000'><b>ISe si utilizza questa mappatura, il controller potrebbe non funzionare correttamente. Selezionare un'altra mappatura o disabilitare il controller.</b></font><br><br>Questa mappatura è stata progettata per un nuovo motore di controllo Mixxx e non può essere utilizzata nell'installazione corrente di Mixxx.<br>L'installazione di Mixxx ha Controller Engine versione %1. Questa mappatura richiede una versione del motore di controllo >= %2.<br><br>Per maggiori informazioni visita la pagina wiki su <a href='https://mixxx.org/wiki/doku.php/controller_engine_versions'>Controller Engine Versions</a>. - + Mapping already exists. La mappatura esiste già. - + <b>%1</b> already exists in user mapping folder.<br>Overwrite or save with a new name? <b>%1</b> esiste già nella cartella mappatura dell'utente.<br>Sovrascrivo o salvo con un nuovo nome? - + Clear Input Mappings Elimina le Mappature di Ingresso - + Are you sure you want to clear all input mappings? Sei sicuro di voler eliminare tutte le mappature di ingresso? - + Clear Output Mappings Elimina le Mappature di Uscita - + Are you sure you want to clear all output mappings? Sei sicuro di voler eliminare tutte le mappature di uscita? @@ -5332,7 +5349,7 @@ Applicare la configurazione e continuare? Device Info - + Info del dispositivo @@ -5372,7 +5389,7 @@ Applicare la configurazione e continuare? Serial number: - + Numero seriale: @@ -5643,6 +5660,16 @@ Applicare la configurazione e continuare? Multi-Sampling Multi-Sampling + + + Force 3D acceleration + + + + + If checked, Mixxx will always assume 3D acceleration is available. This may lead to pour performance if only CP-backed rendering is available.. + + Start in full-screen mode @@ -5656,7 +5683,7 @@ Applicare la configurazione e continuare? Off - + Off @@ -6201,12 +6228,12 @@ Puoi sempre trascinare tracce sullo schermo per clonare un deck. ❯ - + ❮ - + @@ -6257,62 +6284,62 @@ Puoi sempre trascinare tracce sullo schermo per clonare un deck. DlgPrefInterface - + The minimum size of the selected skin is bigger than your screen resolution. La dimensione minore della skin selezionata è maggiore della risoluzione del tuo schermo. - + Allow screensaver to run Permette di avviare il salvaschermo - + Prevent screensaver from running Evita l'avvio del salvaschermo - + Prevent screensaver while playing Evita l'avvio del salvaschermo durante la riproduzione - + Disabled Disabilitato - + 2x MSAA 2x MSAA - + 4x MSAA 4x MSAA - + 8x MSAA 8x MSAA - + 16x MSAA 16x MSAA - + This skin does not support color schemes Questa skin non supporta gli schemi di colore. - + Information Informazione - + Mixxx must be restarted before the new locale, scaling or multi-sampling settings will take effect. Mixxx deve essere riavviato prima che le nuove impostazioni di localizzazione, scalatura o multi-sampling abbiano effetto. @@ -6368,7 +6395,7 @@ and allows you to pitch adjust them for harmonic mixing. Disabled - + Disattivato @@ -7481,173 +7508,172 @@ Il target di intensità sonora è approssimativo e presuppone che il pregain del DlgPrefSound - + %1 Hz %1 Hz - + Default (long delay) Predefinita (ritardo lungo) - + Experimental (no delay) Sperimentale (nessun ritardo) - + Disabled (short delay) Disabilitato (ritardo corto) - + Soundcard Clock Clock Scheda Audio - + Network Clock Clock Rete - + Direct monitor (recording and broadcasting only) Monitor diretto (solo registrazione e trasmissione) - + Disabled Disabilitato - + Enabled Attivato - + Stereo Stereo - + Mono Mono - + To enable Realtime scheduling (currently disabled), see the %1. Per abilitare lo scheduling Realtime (attualmente disabilitato), vedere il %1. - + The %1 lists sound cards and controllers you may want to consider for using Mixxx. Le %1 liste schede audio e controllori che puoi voler considerare per l'uso con Mixxx. - + Mixxx DJ Hardware Guide Mixxx DJ Guida Hardware - + Information Informazione - + Mixxx must be restarted before the multi-threaded RubberBand setting change will take effect. Mixxx deve essere riavviato prima che la modifica delle impostazioni di RubberBand multi-thread abbia effetto. - + auto (<= 1024 frames/period) automatico (<= 1024 fotogrammi/periodo) - + 2048 frames/period 2048 fotogrammi/periodo - + 4096 frames/period 4096 fotogrammi/periodo - + Are you sure? Sei sicuro? - + Distribute stereo channels into mono channels for parallel processing will result in a loss of mono compatibility and a diffuse stereo image. It is not recommended during broadcasting or recording. La diffusione di canali stereo in canali mono per l'elaborazione parallela comporta la perdita della compatibilità mono e un'immagine stereo diffusa. Non è consigliabile durante la trasmissione o la registrazione. - + Are you sure you wish to proceed? Si è sicuri di voler procedere? - + No No - + Yes, I know what I am doing Si, sò cosa stò facendo - + Microphone inputs are out of time in the record & broadcast signal compared to what you hear. Gli inputs microfonici sono fuori tempo nel segnale di registrazione & trasmissione rispetto a quanto senti. - + Measure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. Misura la latenza di round trip e la impone per la Compensazione della Latenza Microfono per allineare la temporizzazione microfono. - - + Refer to the Mixxx User Manual for details. Riferirsi al Manuale Utente Mixxx per dettagli. - + Configured latency has changed. La latenza configurata è cambiata. - + Remeasure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. Rimisura la latenza di round trip e la impone per la Compensazione della Latenza Microfono per allineare la temporizzazione microfono. - + Realtime scheduling is enabled. Realtime scheduling è abilitato. - + Main output only Solo uscita master - + Main and booth outputs Uscite master e booth - + %1 ms %1 ms - + Configuration error Errore di configurazione @@ -7665,131 +7691,131 @@ Il target di intensità sonora è approssimativo e presuppone che il pregain del API audio - + Sample Rate Frequenza di campionamento - + Audio Buffer Buffer Audio - + Engine Clock Motore Clock - + Use soundcard clock for live audience setups and lowest latency.<br>Use network clock for broadcasting without a live audience. Usa il clock della scheda audio per le impostazioni dell'ascolto dal vivo e la più bassa latenza.<br>Usa il clock di rete per trasmissione senza ascolto dal vivo. - + Main Mix Mix Principale - + Main Output Mode Modo Uscita Main - + Microphone Monitor Mode Modo Monitor Microfono - + Microphone Latency Compensation Compensazione Latenza Microfono - - - - + + + + ms milliseconds ms - + 20 ms 20 ms - + Buffer Underflow Count Numero Buffer Underflow - + 0 0 - + Keylock/Pitch-Bending Engine Motore KeyLock/Pitch-Bending - + Multi-Soundcard Synchronization Sincronizzazione Schede Audio Multiple - + Output - + Uscita - + Input Ingresso - + System Reported Latency Latenza Sistema Riscontrata - + Enlarge your audio buffer if the underflow counter is increasing or you hear pops during playback. Aumenta il tuo buffer audio se il contatore di underflow aumenta oppure se senti dei salti o rumori durante la musica. - + Main Output Delay Ritardo Uscita Master - + Headphone Output Delay Ritardo Uscita Cuffia - + Booth Output Delay Ritardo Uscita Booth - + Dual-threaded Stereo - + Hints and Diagnostics Suggerimenti e Diagnostica - + Downsize your audio buffer to improve Mixxx's responsiveness. Diminuisci il tuo buffer audio per aumentare la responsività di Mixxx - + Query Devices Interroga i dispositivi @@ -8948,7 +8974,7 @@ Spesso si avrà un buon risultato con tracce a ritmo costante, non funzionerà b Tap to Beat - + Premi alla Battuta @@ -9348,27 +9374,27 @@ Spesso si avrà un buon risultato con tracce a ritmo costante, non funzionerà b EngineBuffer - + Soundtouch (faster) Soundtouch (più veloce) - + Rubberband (better) Rubberband (migliore) - + Rubberband R3 (near-hi-fi quality) Rubberband R3 (qualità quasi-alta-fedeltà) - + Unknown, using Rubberband (better) Sconosciuto, usando Rubberband (migliore) - + Unknown, using Soundtouch Sconosciuto, utilizzando Soundtouch @@ -9553,12 +9579,12 @@ Spesso si avrà un buon risultato con tracce a ritmo costante, non funzionerà b Change color - + Cambia colore Choose a new color - + Scegli un nuovo colore @@ -9566,32 +9592,32 @@ Spesso si avrà un buon risultato con tracce a ritmo costante, non funzionerà b Browse... - + Cerca... No file selected - + Nessun file selezionato Select a file - + Seleziona un file LegacySkinParser - - + + Safe Mode Enabled Shown when Mixxx is running in safe mode. Modalità Sicura Attivata - - + + No OpenGL support. Shown when Spinny can not be displayed. Please keep @@ -9603,57 +9629,57 @@ Shown when VuMeter can not be displayed. Please keep supporto OpenGL. - + activate Attiva - + toggle Attiva - + right destra - + left sinistra - + right small destra piccolo - + left small sinistra poco - + up su - + down giù - + up small su poco - + down small giu poco - + Shortcut Scorciatoia da tastiera @@ -9661,37 +9687,37 @@ supporto OpenGL. Library - + This or a parent directory is already in your library. Questa o una cartella superiore è già presente nella tua libreria. - + This or a listed directory does not exist or is inaccessible. Aborting the operation to avoid library inconsistencies Questa o una cartella elencata non esiste o è inaccessibile. Interrompi l'operazione per evitare incongruenze nella libreria - - + + This directory can not be read. La cartella non può essere letta. - + An unknown error occurred. Aborting the operation to avoid library inconsistencies Si è verificato un errore sconosciuto. Interrompi l'operazione per evitare incongruenze nella libreria - + Can't add Directory to Library Non posso aggiungere la Cartella alla Libreria - + Could not add <b>%1</b> to your library. %2 @@ -9700,27 +9726,27 @@ Interrompi l'operazione per evitare incongruenze nella libreria - + Can't remove Directory from Library Non posso rimuovere la Cartella dalla Libreria - + An unknown error occurred. Si è verificato un errore sconosciuto - + This directory does not exist or is inaccessible. La cartella non esiste o non è accessibile. - + Relink Directory Ricollega Cartella - + Could not relink <b>%1</b> to <b>%2</b>. %3 @@ -9732,22 +9758,22 @@ Interrompi l'operazione per evitare incongruenze nella libreria LibraryFeature - + Import Playlist Importa Playlist - + Playlist Files (*.m3u *.m3u8 *.pls *.csv) File playlist (*.m3u *.m3u8 *.pls *.csv) - + Overwrite File? Sovrascrivo File? - + A playlist file with the name "%1" already exists. The default "m3u" extension was added because none was specified. @@ -9901,253 +9927,253 @@ Vuoi veramente sovrascriverlo? MixxxMainWindow - + Sound Device Busy Periferica audio occupata - + <b>Retry</b> after closing the other application or reconnecting a sound device <b>Riprova</b> dopo aver chiuso l'altra applicazione o riconnesso la periferica audio - - - + + + <b>Reconfigure</b> Mixxx's sound device settings. <b>Riconfigura</b> settaggi dei dispositivi di Mixxx. - - + + Get <b>Help</b> from the Mixxx Wiki. Ottieni <b>Aiuto</b> dal Wiki di Mixxx - - - + + + <b>Exit</b> Mixxx. <b>Uscire</b> da Mixxx - + Retry Riprova - + skin skin - + Allow Mixxx to hide the menu bar? Permetti a Mixxx di nascondere la barra dei menu? - + Hide Always show the menu bar? Nascondi - + Always show Mostra sempre - + The Mixxx menu bar is hidden and can be toggled with a single press of the <b>Alt</b> key.<br><br>Click <b>%1</b> to agree.<br><br>Click <b>%2</b> to disable that, for example if you don't use Mixxx with a keyboard.<br><br>You can change this setting any time in Preferences -> Interface.<br> Keep formatting tags <b> (bold text) and <br> (linebreak). %1 is the placeholder for the 'Always show' button label La barra dei menu di Mixxx è nascosta e può essere attivata/disattivata con una singola pressione del tasto <b>Alt</b> .<br><br>Clicca <b>%1</b> per confermare.<br><br>Clicca <b>%2</b> per non confermare, per esempio se non usi Mixxx con una tastiera.<br><br>Puoi cambiare in ogni momento queste impostazioni da Preferenze -> Interfaccia.<br> - + Ask me again Chiedi nuovamente - - + + Reconfigure Riconfigura - + Help Guida - - + + Exit Esci - - + + Mixxx was unable to open all the configured sound devices. Mixxx non ha potuto aprire tutti i dispositivi musicali configurati. - + Sound Device Error Errore Dispositivo Sound - + <b>Retry</b> after fixing an issue <b>Riprova</b> dopo aver corretto un problema - + No Output Devices Nessun dispositivo di output - + Mixxx was configured without any output sound devices. Audio processing will be disabled without a configured output device. Mixxx è stato configurato senza un dispositivo audio di output. L'elaborazione audio sarà disabilitata senza un dispositivo audio configurato. - + <b>Continue</b> without any outputs. <b>Continua</b> senza alcun output - + Continue Continua - + Load track to Deck %1 Carica una traccia dal mazzo %1 - + Deck %1 is currently playing a track. Il mazzo %1 sta correntemente riproducendo una traccia. - + Are you sure you want to load a new track? Sei sicuro di voler caricare una nuova traccia? - + There is no input device selected for this vinyl control. Please select an input device in the sound hardware preferences first. Non è stato selezionato nessuno dispositivo di input per il controllo vinile. Prego selezionare prima un dispositivo di controllo di input nel pannello di preferenze hardware. - + There is no input device selected for this passthrough control. Please select an input device in the sound hardware preferences first. Nessun dispositivo di input è stato selezionato per il controllo diretto passtrough. Prego selezionare prima un dispositivo di input nel pannello di preferenze hardware. - + There is no input device selected for this microphone. Do you want to select an input device? Non c'è nessun dispositivo di input selezionato per questo microfono. Vuoi selezionare un dispositivo di input? - + There is no input device selected for this auxiliary. Do you want to select an input device? Non c'è nessun dispositivo di input selezionato per questo ausiliare. Vuoi selezionare un dispositivo di input? - + Scan took %1 - + No changes detected. - + Nessun cambiamento rilevato. - - + + %1 tracks in total - + %1 new tracks found - + %1 moved tracks detected - + %1 tracks are missing (%2 total) - + %1 tracks have been rediscovered - + Library scan finished - + Error in skin file Errore nel file della Skin - + The selected skin cannot be loaded. La seguente Skin non può essere caricata. - + OpenGL Direct Rendering Rendering Diretto OpenGL - + Direct rendering is not enabled on your machine.<br><br>This means that the waveform displays will be very<br><b>slow and may tax your CPU heavily</b>. Either update your<br>configuration to enable direct rendering, or disable<br>the waveform displays in the Mixxx preferences by selecting<br>"Empty" as the waveform display in the 'Interface' section. Direct rendering non è abilitato sulla tua macchina.<br><br>Ciò significa che la visualizzazione delle forme d'onda sarà molto<br><b>lento e può impattare sulla tua CPU pesantemente</b>. Aggiorna la tua<br>configurazione per abilitare il direct rendering, or disabilita la visualizzazione<br>della forma d'onda nelle preferenze di Mixxx selezionando<br>"Vuota" come visualizzazione di forma d'onda nella sezione 'Interfaccia'. - - - + + + Confirm Exit Conferma uscita - + A deck is currently playing. Exit Mixxx? Un deck è in riproduzione. Uscire da Mixxx? - + A sampler is currently playing. Exit Mixxx? Un campionamento è attualmente in riproduzione. Uscire da Mixxx? - + The preferences window is still open. La finestra delle Preferenze è ancora aperta. - + Discard any changes and exit Mixxx? Annullare ogni modifica e uscire da Mixxx? @@ -10163,13 +10189,13 @@ Vuoi selezionare un dispositivo di input? PlaylistFeature - + Lock Blocca - - + + Playlists Playlist @@ -10179,32 +10205,58 @@ Vuoi selezionare un dispositivo di input? Mescola Playlist - + + Unlock all playlists + + + + + Delete all unlocked playlists + + + + Unlock Sblocca - + + + Confirm Deletion + + + + + Do you really want to delete all unlocked playlists? + + + + + Deleting %1 unlocked playlists.<br>This operation can not be undone! + + + + Playlists are ordered lists of tracks that allow you to plan your DJ sets. Le playlist sono elenchi ordinati di brani che ti consentono di pianificare i tuoi DJ set. - + It may be necessary to skip some tracks in your prepared playlist or add some different tracks in order to maintain the energy of your audience. Potrebbe essere necessario saltare alcune tracce nella playlist preparata o aggiungere alcune tracce diverse per mantenere l'energia del pubblico. - + Some DJs construct playlists before they perform live, but others prefer to build them on-the-fly. Alcuni Djs organizzano le playlist prima della performance live, ma altri preferiscono farle al "volo". - + When using a playlist during a live DJ set, remember to always pay close attention to how your audience reacts to the music you've chosen to play. Quando usi una playlist durante una esibizione Live Dj, ricordati sempre di prestare molta attenzione a come il tuo pubblico reagisce alla musica da eseguire che hai selezionato. - + Create New Playlist Crea Nuova Playlist @@ -10542,7 +10594,7 @@ Vuoi scansionare la tua libreria per cercare i file di copertina adesso? Encoder - + Encoder @@ -10883,7 +10935,7 @@ Con larghezza a zero, consente di scorrere manualmente l'intero intervallo The Mixxx Team - + Il Team Mixxx @@ -11868,7 +11920,7 @@ Suggerimento: compensa le voci "chipmunk" o "ringhio"La quantità di amplificazione applicata al segnale audio. Ad alti livelli, il suono sarà più distorto. - + Passthrough Passthrough @@ -12038,12 +12090,12 @@ possono introdurre un effetto di "pompaggio" e/o distorsione.varie - + built-in integrato - + missing mancante @@ -12171,54 +12223,54 @@ possono introdurre un effetto di "pompaggio" e/o distorsione. RekordboxFeature - - - + + + Rekordbox Rekordbox - + Playlists Playlist - + Folders Cartelle - + Reads databases exported for Pioneer CDJ / XDJ players using the Rekordbox Export mode.<br/>Rekordbox can only export to USB or SD devices with a FAT or HFS file system.<br/>Mixxx can read a database from any device that contains the database folders (<tt>PIONEER</tt> and <tt>Contents</tt>).<br/>Not supported are Rekordbox databases that have been moved to an external device via<br/><i>Preferences > Advanced > Database management</i>.<br/><br/>The following data is read: Legge databases esportati dai players Pioneer CDJ / XDJ usando il modo Rekordbox Export.<br/>Rekordbox può esportare solo su USB o dispositivi SD con un file system FAT o HFS.<br/>Mixxx può leggere un database da qualsiasi dispositivo che contiene le cartelle database (<tt>PIONEER</tt> e <tt>Contents</tt>).<br/>Non sono supportati databases Rekordbox che sono stati spostati su un dispositivo esterno usando<br/><i>Preferenze > Avanzate > Gestione Database</i>.<br/><br/>Vengono letti i seguenti dati: - + Hot cues Hot cues - + Loops (only the first loop is currently usable in Mixxx) Loop (solo il primo loop è attualmente utilizzabile in Mixxx) - + Check for attached Rekordbox USB / SD devices (refresh) Verifica la presenza di dispositivi Rekordbox USB / SD collegati (aggiorna) - + Beatgrids Beatgrids - + Memory cues Memoria cues - + (loading) Rekordbox (caricamento) Rekordbox @@ -15279,7 +15331,7 @@ Usalo per modificare solo il segnale modificato (wet) con effetti di EQ e filtro Apply to all files - + Applica a tutti i file @@ -15462,47 +15514,47 @@ Questa azione non può essere annullata! WCueMenuPopup - + Cue number Numero cue - + Cue position Posizione cue - + Edit cue label Modifica etichetta cue - + Label... Etichetta... - + Delete this cue Cancella questa cue - + Toggle this cue type between normal cue and saved loop Alterna questo cue tra il tipo di cue standard ed il loop salvato - + Left-click: Use the old size or the current beatloop size as the loop size Clic-sinistro del mouse: Usa la vecchia dimensione o la dimensione del beatloop corrente come dimensione del loop - + Right-click: Use the current play position as loop end if it is after the cue Clic-destro: Utilizza la posizione di riproduzione corrente come fine loop, se esso è dopo la cue. - + Hotcue #%1 Hotcue #%1 @@ -15627,323 +15679,353 @@ Questa azione non può essere annullata! + Search in Current View... + + + + + Search for tracks in the current library view + + + + + Ctrl+f + Ctrl+f + + + + Search in Tracks Library... + + + + + Search in the internal track collection under "Tracks" in the library + + + + + Ctrl+Shift+F + + + + Create &New Playlist Crea una &Nuova Playlist - + Create a new playlist Crea una nuova playlist - + Ctrl+n Ctrl+n - + Create New &Crate Crea Nuovo &Contenitore - + Create a new crate Crea un nuovo contenitore - + Ctrl+Shift+N Ctrl+Shift+N - - + + &View &Vista - + Auto-hide menu bar Auto-nascondi la barra del menu - + Auto-hide the main menu bar when it's not used. Auto-nasconde la barra del menu quando non viene usata. - + May not be supported on all skins. Potrebbe non essere supportata su tutte le skin - + Show Skin Settings Menu Mostra Menu Impostazioni Skin - + Show the Skin Settings Menu of the currently selected Skin Mostra Menu Impostazioni Skin della Skin correntemente selezionata - + Ctrl+1 Menubar|View|Show Skin Settings Ctrl+1 - + Show Microphone Section Mostra la Sezione Microfono - + Show the microphone section of the Mixxx interface. Mostra la Sezione Microfono dell'interfaccia Mixxx. - + Ctrl+2 Menubar|View|Show Microphone Section Ctrl+2 - + Show Vinyl Control Section Mostra la Sezione Controllo Vinile - + Show the vinyl control section of the Mixxx interface. Mosta la sezione Vinyl Control della Interfaccia Mixxx - + Ctrl+3 Menubar|View|Show Vinyl Control Section Ctrl+3 - + Show Preview Deck Mostra Anteprima Deck - + Show the preview deck in the Mixxx interface. Mostra l'anteprima del deck nell'interfaccia di Mixxx. - + Ctrl+4 Menubar|View|Show Preview Deck Ctrl+4 - + Show Cover Art Mostra Copertina - + Show cover art in the Mixxx interface. Mostra la copertina nell'interfaccia Mixxx. - + Ctrl+6 Menubar|View|Show Cover Art Ctrl+6 - + Maximize Library Massimizza Libreria - + Maximize the track library to take up all the available screen space. Massimizza la libreria tracce per occupare tutto lo spazio disponibile sullo schermo - + Space Menubar|View|Maximize Library Spazio - + &Full Screen &Schermo intero - + Display Mixxx using the full screen Visualizza Mixxx a schermo intero - + &Options &Opzioni - + &Vinyl Control Controllo &Vinile - + Use timecoded vinyls on external turntables to control Mixxx Usa vinili timecoded su piatti esterni per controllare Mixxx - + Enable Vinyl Control &%1 Abilita Controllo Vinile &%1 - + &Record Mix &Registra il Mixaggio - + Record your mix to a file Registra il tuo Mixaggio su un file - + Ctrl+R Ctrl+R - + Enable Live &Broadcasting Abilita Live &Broadcasting - + Stream your mixes to a shoutcast or icecast server Invia i tuoi mix a un server shoutcast o icecast - + Ctrl+L Ctrl+L - + Enable &Keyboard Shortcuts Attiva Scorciatoie da Tastiera - + Toggles keyboard shortcuts on or off Alterna le scorciatoie da Tastiera On/Offf - + Ctrl+` Ctrl+` - + &Preferences &Preferenze - + Change Mixxx settings (e.g. playback, MIDI, controls) Cambia le impostazioni di Mixxx (per esempio la riproduzione, i Midi, i controlli) - + &Developer &Sviluppatore - + &Reload Skin Ricarica la Skin - + Reload the skin Ricarica la Skin - + Ctrl+Shift+R Ctrl+Shift+R - + Developer &Tools Strumenti Sviluppa&tori - + Opens the developer tools dialog Apre lo strumento dialogo sviluppatore - + Ctrl+Shift+T Ctrl+Shift+T - + Stats: &Experiment Bucket Statistiche: Cassetto &Esperimento - + Enables experiment mode. Collects stats in the EXPERIMENT tracking bucket. Abilita il modo esperimento. Colleziona statistiche nel cassetto di tracciamento esperimento. - + Ctrl+Shift+E Ctrl+Shift+E - + Stats: &Base Bucket Statistiche: Cassetto &Base - + Enables base mode. Collects stats in the BASE tracking bucket. Abilita Modo Base. Colleziona statistiche nel cassetto tracciamento Base - + Ctrl+Shift+B Ctrl+Shift+B - + Deb&ugger Enabled Deb&ugger Abilitato - + Enables the debugger during skin parsing Abilita il debugger durante l'analisi skin - + Ctrl+Shift+D Ctrl+Shift+D - + &Help &Aiuto - + Show Keywheel menu title Mostra ruota di chiave @@ -15960,74 +16042,74 @@ Questa azione non può essere annullata! Esporta la libreria nel formato Engine DJ - + Show keywheel tooltip text Mostra ruota di chiave - + F12 Menubar|View|Show Keywheel F12 - + &Community Support Supporto della &comunità - + Get help with Mixxx Ottieni dell'aiuto con Mixxx - + &User Manual Manuale &Utente - + Read the Mixxx user manual. Leggi il manuale utente di Mixxx - + &Keyboard Shortcuts Scorciatoie da tastiera - + Speed up your workflow with keyboard shortcuts. Velocizza il tuo flusso di lavoro con le scorciatoie da tastiera. - + &Settings directory Cartella Impostazioni - + Open the Mixxx user settings directory. Apre la directory delle impostazioni utente di Mixxx. - + &Translate This Application &Traduci questa applicazione - + Help translate this application into your language. Aiutaci a tradurre questo programma nella tua lingua. - + &About &Informazioni su - + About the application Informazioni sull'applicazione @@ -16062,25 +16144,13 @@ Questa azione non può essere annullata! WSearchLineEdit - - Clear input - Clear the search bar input field - Cancella l'input - - - - Ctrl+F - Search|Focus - Ctrl+F - - - + Search noun Cerca - + Clear input Cancella l'input @@ -16091,93 +16161,87 @@ Questa azione non può essere annullata! Cerca... - + Clear the search bar input field Pulisce il campo della barra di ricerca - - Enter a string to search for - Inserisci una stringa da cercare + + Return + - - Use operators like bpm:115-128, artist:BooFar, -year:1990 - Usa operatori come bpm:115-128, artist:BooFar, -year:1990 + + Enter a string to search for. + - - For more information see User Manual > Mixxx Library - Per maggiori informazioni vedi il Manuale Utente > Mixxx Library + + Use operators like bpm:115-128, artist:BooFar, -year:1990. + - Shortcut - Scorciatoia da tastiera + See User Manual > Mixxx Library for more information. + - - Ctrl+F - Ctrl+F + + Focus/Select All (Search in current view) + Give search bar input focus + - - Focus - Give search bar input focus - Il centro + + Focus/Select All (Search in 'Tracks' library view) + - - - Ctrl+Backspace - Ctrl+Del + + Additional Shortcuts When Focused: + - Shortcuts - Scorciatoie + Trigger search before search-as-you-type timeout or focus tracks view afterwards + - Return + Esc or Ctrl+Return - Trigger search before search-as-you-type timeout orjump to tracks view afterwards - Attiva la ricerca prima del timeout della ricerca-come-tu-scrivi o salta alla visualizzazione dei brani in seguito + Immediately trigger search and focus tracks view + Exit search bar and leave focus + - + Ctrl+Space Ctrl+Spazio - + Toggle search history Shows/hides the search history entries Attiva/disattiva cronologia ricerche - + Delete or Backspace Cancella o Backspace - - Delete query from history - Cancella query dallo storico - - - - Esc - Esc + + in search history + - - Exit search - Exit search bar and leave focus - Esci dalla ricerca + + Delete query from history + Cancella query dallo storico @@ -16740,7 +16804,7 @@ Questa azione non può essere annullata! Okay - + Okay @@ -16933,37 +16997,37 @@ Questa azione non può essere annullata! WTrackTableView - + Confirm track hide Conferma nascondimento traccia - + Are you sure you want to hide the selected tracks? Sei sicuro di voler nascondere le tracce selezionate? - + Are you sure you want to remove the selected tracks from AutoDJ queue? Sei sicuro di voler rimuovere le tracce selezionate dalla coda di AutoDJ? - + Are you sure you want to remove the selected tracks from this crate? Sei sicuro di voler rimuovere le tracce selezionate da questo contenitore? - + Are you sure you want to remove the selected tracks from this playlist? Sei sicuro di voler rimuovere i brani selezionati da questa playlist? - + Don't ask again during this session Non chiedere ancora durante questa sessione - + Confirm track removal Conferma rimozione traccia @@ -16984,52 +17048,52 @@ Questa azione non può essere annullata! mixxx::CoreServices - + fonts font - + database database - + effects effetti - + audio interface interfaccia audio - + decks decks - + library libreria - + Choose music library directory Scegli la cartella della tua libreria musicale - + controllers controllers - + Cannot open database Impossibile aprire il database - + Unable to establish a database connection. Mixxx requires QT with SQLite support. Please read the Qt SQL driver documentation for information on how to build it. @@ -17043,68 +17107,78 @@ Clicca su OK per uscire. mixxx::DlgLibraryExport - + Entire music library Intera libreria musica - - Selected crates - Contenitori selezionati + + Crates + + + + + Playlists + + + + + Selected crates/playlists + - + Browse Sfoglia - + Export directory Directory esportazione - + Database version Versione database - + Export Esporta - + Cancel Annulla - + Export Library to Engine DJ "Engine DJ" must not be translated Esporta Libreria su Engine DJ - + Export Library To Esporta Libreria Su - + No Export Directory Chosen Nessuna Cartella di Esportazione Selezionata - + No export directory was chosen. Please choose a directory in order to export the music library. Non è stata scelta alcuna directory di esportazione. Si prega di scegliere una directory per esportare la libreria musicale. - + A database already exists in the chosen directory. Exported tracks will be added into this database. Un database esiste già nella directory scelta. Le tracce esportate verranno aggiunte a questo database. - + A database already exists in the chosen directory, but there was a problem loading it. Export is not guaranteed to succeed in this situation. Un database esiste già nella directory scelta, ma c'e' stato un problema durante il caricamento. Il successo dell'esportazione non è garantito in questa situazione. @@ -17125,7 +17199,7 @@ Clicca su OK per uscire. mixxx::EnginePrimeExportJob - + Failed to export track %1 - %2: %3 %1 is the artist %2 is the title and %3 is the original error message @@ -17135,22 +17209,22 @@ Clicca su OK per uscire. mixxx::LibraryExporter - + Export Completed Esportazione Completata - - Exported %1 track(s) and %2 crate(s). - Esportate %1 tracc(ia/e) e %2 contenitore(i). + + Exported %1 track(s), %2 crate(s), and %3 playlist(s). + - + Export Failed Esportazione Fallita - + Exporting to Engine DJ... Esportazione a Engine DJ... diff --git a/res/translations/mixxx_ja.qm b/res/translations/mixxx_ja.qm index a33fd58b433bbef0f4e21c4c968f65e8870faf7b..bbb768211200e530b0f14e8ac7475a286476846b 100644 GIT binary patch delta 9550 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 delta 9149 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 BasePlaylistFeature - + New Playlist プレイリストの新規作成 @@ -158,7 +158,7 @@ - + Create New Playlist 新規プレイリストの作成 @@ -188,113 +188,120 @@ 複製 - - + + Import Playlist プレイリストをインポート - + Export Track Files トラックファイルを出力 - + Analyze entire Playlist すべての曲を解析 - + Enter new name for playlist: プレイリストに新しい名前を付ける - + Duplicate Playlist プレイリストを複製する - - + + Enter name for new playlist: 新しいプレイリストの名前 - - + + Export Playlist プレイリストをエクスポート - + Add to Auto DJ Queue (replace) - + + + Export to Engine DJ + "Engine DJ" is a product name and must not be translated. + + + + Rename Playlist プレイリストの名前の変更 - - + + Renaming Playlist Failed プレイリストの名前の変更に失敗 - - - + + + A playlist by that name already exists. 同じ名前のプレイリストが既にあります。 - - - + + + A playlist cannot have a blank name. プレイリストには名前が必要です。 - + _copy //: Appendix to default name when duplicating a playlist コピー(_C) - - - - - - + + + + + + Playlist Creation Failed プレイリストの作成に失敗 - - + + An unknown error occurred while creating playlist: プレイリストの作成中に不明なエラーが発生しました - + Confirm Deletion 削除の確認 - + Do you really want to delete playlist <b>%1</b>? - + M3U Playlist (*.m3u) M3U プレイリスト (*.m3u) - + M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Text CSV (*.csv);;Readable Text (*.txt) M3Uプレイリスト (*.m3u);;M3U8プレイリスト (*.m3u8);;PLSプレイリスト (*.pls);;CSVファイル(*.csv);;テキストファイル(*.txt);; @@ -302,12 +309,12 @@ BaseSqlTableModel - + # # - + Timestamp 更新日時 @@ -315,7 +322,7 @@ BaseTrackPlayerImpl - + Couldn't load track. トラックを読み込めませんでした @@ -323,137 +330,142 @@ BaseTrackTableModel - + Album アルバム - + Album Artist アルバム アーティスト - + Artist アーティスト - + Bitrate ビットレート - + BPM BPM - + Channels チャンネル - + Color - + Comment コメント - + Composer 作曲者 - + Cover Art カバーアート - + Date Added 追加日時 - + Last Played 最終プレイ - + Duration 長さ - + Type タイプ - + Genre ジャンル - + Grouping グループ - + Key キー - + Location ファイルの場所 - + + Overview + + + + Preview プレビュー - + Rating 評価 - + ReplayGain リプレイゲイン - + Samplerate サンプルレート - + Played 再生回数 - + Title タイトル - + Track # トラック番号 - + Year 発売年 - + Fetching image ... Tooltip text on the cover art column shown when the cover is read from disk イメージを取得しています @@ -541,67 +553,77 @@ BrowseFeature - + Add to Quick Links クイックリンクに追加 - + Remove from Quick Links クイックリンクから削除 - + Add to Library ライブラリに追加 - + Refresh directory tree - + Quick Links クイックリンク - - + + Devices デバイス - + Removable Devices リムーバブルデバイス - - + + Computer コンピュータ - + Music Directory Added 音楽フォルダを追加しました - + You added one or more music directories. The tracks in these directories won't be available until you rescan your library. Would you like to rescan now? いくつかの音楽フォルダが登録されました。が、その中にあるファイルは、ライブラリを再スキャンしないと使えません。すぐに再スキャンを行いますか? - + Scan スキャン - + "Computer" lets you navigate, view, and load tracks from folders on your hard disk and external devices. + + + It shows the data from the file tags, not track data from your Mixxx library like other track views. + + + + + If you load a track file from here, it will be added to your library. + + BrowseTableModel @@ -2352,7 +2374,7 @@ trace - Above + Profiling messages Headphone - + ヘッドホン @@ -3622,32 +3644,32 @@ trace - Above + Profiling messages ControllerScriptEngineBase - + The functionality provided by this controller mapping will be disabled until the issue has been resolved. - + You can ignore this error for this session but you may experience erratic behavior. - + Try to recover by resetting your controller. - + Controller Mapping Error - + The mapping for your controller "%1" is not working properly. - + The script code needs to be fixed. @@ -3755,7 +3777,7 @@ trace - Above + Profiling messages レコードボックスのインポート - + Export Crate レコードボックスのエクスポート @@ -3765,7 +3787,7 @@ trace - Above + Profiling messages ロックを解除 - + An unknown error occurred while creating crate: 新しいレコードボックスを作成中にエラーが発生しました @@ -3774,12 +3796,6 @@ trace - Above + Profiling messages Rename Crate レコードボックスの名前を変更 - - - - Export to Engine Prime - - Make a crate for your next gig, for your favorite electrohouse tracks, or for your most requested tracks. @@ -3797,17 +3813,17 @@ trace - Above + Profiling messages レコードボックスの名前変更に失敗 - + Crate Creation Failed レコードボックスの作成に失敗 - + M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Text CSV (*.csv);;Readable Text (*.txt) M3Uプレイリスト (*.m3u);;M3U8プレイリスト (*.m3u8);;PLSプレイリスト (*.pls);;CSVファイル(*.csv);;テキストファイル(*.txt);; - + M3U Playlist (*.m3u) M3U プレイリスト (*.m3u) @@ -3816,6 +3832,12 @@ trace - Above + Profiling messages Crates are a great way to help organize the music you want to DJ with. CratesはDJでしたい音楽を整理しやすくするための優れた方法です。 + + + + Export to Engine DJ + + Crates let you organize your music however you'd like! @@ -3927,12 +3949,12 @@ trace - Above + Profiling messages 過去の開発 - + Official Website - + Donate @@ -4449,37 +4471,37 @@ Often results in higher quality beatgrids, but will not do well on tracks that h - + Didn't get any midi messages. Please try again. - + Unable to detect a mapping -- please try again. Be sure to only touch one control at once. - + Successfully mapped control: - + <i>Ready to learn %1</i> - + Learning: %1. Now move a control on your controller. - + The selected control does not exist.<br>This likely a bug. Please report it on the Mixxx bug tracker.<br><a href='https://github.com/mixxxdj/mixxx/issues'>https://github.com/mixxxdj/mixxx/issues</a><br><br>You tried to learn: %1,%2 - + The control you clicked in Mixxx is not learnable. This could be because you are either using an old skin and this control is no longer supported, or you clicked a control that provides visual feedback and can only be mapped to outputs like LEDs via scripts. @@ -4518,17 +4540,17 @@ You tried to learn: %1,%2 - + Log - + Search - + Stats @@ -5181,113 +5203,113 @@ associated with each key. DlgPrefController - + Apply device settings? - + Your settings must be applied before starting the learning wizard. Apply settings and continue? - + None なし - + %1 by %2 - + Mapping has been edited - + Always overwrite during this session - + Save As - + Overwrite - + Save user mapping - + Enter the name for saving the mapping to the user folder. - + Saving mapping failed - + A mapping cannot have a blank name and may not contain special characters. - + A mapping file with that name already exists. - + Do you want to save the changes? - + Troubleshooting - + <font color='#BB0000'><b>If you use this mapping your controller may not work correctly. Please select another mapping or disable the controller.</b></font><br><br>This mapping was designed for a newer Mixxx Controller Engine and cannot be used on your current Mixxx installation.<br>Your Mixxx installation has Controller Engine version %1. This mapping requires a Controller Engine version >= %2.<br><br>For more information visit the wiki page on <a href='https://mixxx.org/wiki/doku.php/controller_engine_versions'>Controller Engine Versions</a>. - + Mapping already exists. - + <b>%1</b> already exists in user mapping folder.<br>Overwrite or save with a new name? - + Clear Input Mappings - + Are you sure you want to clear all input mappings? - + Clear Output Mappings - + Are you sure you want to clear all output mappings? @@ -5618,6 +5640,16 @@ Apply settings and continue? Multi-Sampling + + + Force 3D acceleration + + + + + If checked, Mixxx will always assume 3D acceleration is available. This may lead to pour performance if only CP-backed rendering is available.. + + Start in full-screen mode @@ -6209,62 +6241,62 @@ You can always drag-and-drop tracks on screen to clone a deck. DlgPrefInterface - + The minimum size of the selected skin is bigger than your screen resolution. - + Allow screensaver to run - + Prevent screensaver from running - + Prevent screensaver while playing - + Disabled - + 2x MSAA - + 4x MSAA - + 8x MSAA - + 16x MSAA - + This skin does not support color schemes - + Information 通知 - + Mixxx must be restarted before the new locale, scaling or multi-sampling settings will take effect. @@ -7431,173 +7463,172 @@ The loudness target is approximate and assumes track pregain and main output lev DlgPrefSound - + %1 Hz %1 Hz - + Default (long delay) 標準 (遅延 大) - + Experimental (no delay) 試験中 (遅延無し) - + Disabled (short delay) 無効 (遅延 小) - + Soundcard Clock - + Network Clock - + Direct monitor (recording and broadcasting only) - + Disabled 無効 - + Enabled 有効 - + Stereo ステレオ - + Mono モノラル - + To enable Realtime scheduling (currently disabled), see the %1. - + The %1 lists sound cards and controllers you may want to consider for using Mixxx. - + Mixxx DJ Hardware Guide - + Information - + Mixxx must be restarted before the multi-threaded RubberBand setting change will take effect. - + auto (<= 1024 frames/period) - + 2048 frames/period - + 4096 frames/period - + Are you sure? - + Distribute stereo channels into mono channels for parallel processing will result in a loss of mono compatibility and a diffuse stereo image. It is not recommended during broadcasting or recording. - + Are you sure you wish to proceed? - + No - + Yes, I know what I am doing - + Microphone inputs are out of time in the record & broadcast signal compared to what you hear. - + Measure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. - - + Refer to the Mixxx User Manual for details. - + Configured latency has changed. - + Remeasure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. - + Realtime scheduling is enabled. - + Main output only - + Main and booth outputs - + %1 ms %1 ms - + Configuration error 設定エラー @@ -7615,131 +7646,131 @@ The loudness target is approximate and assumes track pregain and main output lev サウンドAPI - + Sample Rate サンプルレート - + Audio Buffer オーディオバッファ - + Engine Clock - + Use soundcard clock for live audience setups and lowest latency.<br>Use network clock for broadcasting without a live audience. - + Main Mix メインミックス - + Main Output Mode メイン出力モード - + Microphone Monitor Mode マイクモニターモード - + Microphone Latency Compensation - - - - + + + + ms milliseconds ms - + 20 ms 20 ms - + Buffer Underflow Count - + 0 0 - + Keylock/Pitch-Bending Engine キーロック/ピッチベンド エンジン - + Multi-Soundcard Synchronization - + Output 出力 - + Input 入力 - + System Reported Latency システムで検知した遅延 - + Enlarge your audio buffer if the underflow counter is increasing or you hear pops during playback. - + Main Output Delay メイン出力 ディレイ - + Headphone Output Delay ヘッドホン出力 ディレイ - + Booth Output Delay ブース出力 ディレイ - + Dual-threaded Stereo - + Hints and Diagnostics ヒントと診断 - + Downsize your audio buffer to improve Mixxx's responsiveness. - + Query Devices デバイスを問い合わせる @@ -8185,47 +8216,47 @@ Select from different types of displays for the waveform, which differ primarily DlgPreferences - + Sound Hardware サウンドハードウェア - + Controllers コントローラ - + Library ライブラリ - + Interface インターフェース - + Waveforms 波形 - + Mixer ミキサー - + Auto DJ オートDJ - + Decks デッキ - + Colors カラー @@ -8260,47 +8291,47 @@ Select from different types of displays for the waveform, which differ primarily - + Effects エフェクト - + Recording レコーディング - + Beat Detection ビート検出 - + Key Detection キー検出 - + Normalization ノーマライズ - + <font color='#BB0000'><b>Some preferences pages have errors. To apply the changes please first fix the issues.</b></font> <font color='#BB0000'><b>設定ページにエラーがあります。エラーを修正し、変更を適用してください。</b></font> - + Vinyl Control Vinylコントロール - + Live Broadcasting ライブ放送 - + Modplug Decoder Modplugデコーダ @@ -8950,12 +8981,12 @@ Often results in higher quality beatgrids, but will not do well on tracks that h Title - + タイトル Artist - + アーティスト @@ -8965,7 +8996,7 @@ Often results in higher quality beatgrids, but will not do well on tracks that h Album Artist - + アルバム アーティスト @@ -9294,27 +9325,27 @@ Often results in higher quality beatgrids, but will not do well on tracks that h EngineBuffer - + Soundtouch (faster) Soundtouch (高速) - + Rubberband (better) Rubberband (高品質) - + Rubberband R3 (near-hi-fi quality) - + Unknown, using Rubberband (better) - + Unknown, using Soundtouch @@ -9357,7 +9388,7 @@ Often results in higher quality beatgrids, but will not do well on tracks that h Artist + Title - + アーティスト + タイトル @@ -9367,7 +9398,7 @@ Often results in higher quality beatgrids, but will not do well on tracks that h Artist + Album - + アーティスト + アルバム @@ -9385,7 +9416,7 @@ Often results in higher quality beatgrids, but will not do well on tracks that h Artist + Title - + アーティスト + タイトル @@ -9395,7 +9426,7 @@ Often results in higher quality beatgrids, but will not do well on tracks that h Artist + Album - + アーティスト + アルバム @@ -9413,7 +9444,7 @@ Often results in higher quality beatgrids, but will not do well on tracks that h Artist + Title - + アーティスト + タイトル @@ -9423,7 +9454,7 @@ Often results in higher quality beatgrids, but will not do well on tracks that h Artist + Album - + アーティスト + アルバム @@ -9529,15 +9560,15 @@ Often results in higher quality beatgrids, but will not do well on tracks that h LegacySkinParser - - + + Safe Mode Enabled Shown when Mixxx is running in safe mode. - - + + No OpenGL support. Shown when Spinny can not be displayed. Please keep @@ -9548,57 +9579,57 @@ Shown when VuMeter can not be displayed. Please keep - + activate - + toggle - + right - + left - + right small - + left small - + up - + down - + up small - + down small - + Shortcut @@ -9606,62 +9637,62 @@ Shown when VuMeter can not be displayed. Please keep Library - + This or a parent directory is already in your library. - + This or a listed directory does not exist or is inaccessible. Aborting the operation to avoid library inconsistencies - - + + This directory can not be read. - + An unknown error occurred. Aborting the operation to avoid library inconsistencies - + Can't add Directory to Library - + Could not add <b>%1</b> to your library. %2 - + Can't remove Directory from Library - + An unknown error occurred. - + This directory does not exist or is inaccessible. - + Relink Directory - + Could not relink <b>%1</b> to <b>%2</b>. %3 @@ -9671,22 +9702,22 @@ Aborting the operation to avoid library inconsistencies LibraryFeature - + Import Playlist プレイリストをインポート - + Playlist Files (*.m3u *.m3u8 *.pls *.csv) プレイリスト ファイル (*.m3u *.m3u8 *.pls *.csv) - + Overwrite File? - + A playlist file with the name "%1" already exists. The default "m3u" extension was added because none was specified. @@ -9813,18 +9844,18 @@ Do you really want to overwrite it? MixxxLibraryFeature - + Missing Tracks - + Hidden Tracks - Export to Engine Prime + Export to Engine DJ @@ -9836,208 +9867,249 @@ Do you really want to overwrite it? MixxxMainWindow - + Sound Device Busy サウンドデバイスがビジーです。 - + <b>Retry</b> after closing the other application or reconnecting a sound device 他のアプリケーションを閉じるかデバイスを再接続した後で<b>リトライ</b>してください。 - - - + + + <b>Reconfigure</b> Mixxx's sound device settings. Mixxxのサウンドデバイス設定を<b>再設定</b>する。 - - + + Get <b>Help</b> from the Mixxx Wiki. Mixxx Wikiで<b>Help</b>を手に入れてください。 - - - + + + <b>Exit</b> Mixxx. Mixxxを<b>終了</b>する。 - + Retry リトライ - + skin - + Allow Mixxx to hide the menu bar? - + Hide Always show the menu bar? - + Always show - + The Mixxx menu bar is hidden and can be toggled with a single press of the <b>Alt</b> key.<br><br>Click <b>%1</b> to agree.<br><br>Click <b>%2</b> to disable that, for example if you don't use Mixxx with a keyboard.<br><br>You can change this setting any time in Preferences -> Interface.<br> Keep formatting tags <b> (bold text) and <br> (linebreak). %1 is the placeholder for the 'Always show' button label - + Ask me again - - + + Reconfigure 再設定 - + Help ヘルプ - - + + Exit 終了 - - + + Mixxx was unable to open all the configured sound devices. - + Sound Device Error - + <b>Retry</b> after fixing an issue - + No Output Devices - + Mixxx was configured without any output sound devices. Audio processing will be disabled without a configured output device. - + <b>Continue</b> without any outputs. - + Continue 続行 - + Load track to Deck %1 - + Deck %1 is currently playing a track. - + Are you sure you want to load a new track? - + There is no input device selected for this vinyl control. Please select an input device in the sound hardware preferences first. - + There is no input device selected for this passthrough control. Please select an input device in the sound hardware preferences first. - + There is no input device selected for this microphone. Do you want to select an input device? - + There is no input device selected for this auxiliary. Do you want to select an input device? - + + Scan took %1 + + + + + No changes detected. + + + + + + %1 tracks in total + + + + + %1 new tracks found + + + + + %1 moved tracks detected + + + + + %1 tracks are missing (%2 total) + + + + + %1 tracks have been rediscovered + + + + + Library scan finished + + + + Error in skin file - + The selected skin cannot be loaded. - + OpenGL Direct Rendering - + Direct rendering is not enabled on your machine.<br><br>This means that the waveform displays will be very<br><b>slow and may tax your CPU heavily</b>. Either update your<br>configuration to enable direct rendering, or disable<br>the waveform displays in the Mixxx preferences by selecting<br>"Empty" as the waveform display in the 'Interface' section. - - - + + + Confirm Exit 終了の確認 - + A deck is currently playing. Exit Mixxx? デッキは現在再生中です。Mixxxを終了しますか? - + A sampler is currently playing. Exit Mixxx? サンプラーは現在再生中です。MIXXXを終了しますか? - + The preferences window is still open. - + Discard any changes and exit Mixxx? @@ -10053,13 +10125,13 @@ Do you want to select an input device? PlaylistFeature - + Lock ロックをかける - - + + Playlists プレイリスト @@ -10069,32 +10141,58 @@ Do you want to select an input device? - + + Unlock all playlists + + + + + Delete all unlocked playlists + + + + Unlock ロックを解除 - + + + Confirm Deletion + + + + + Do you really want to delete all unlocked playlists? + + + + + Deleting %1 unlocked playlists.<br>This operation can not be undone! + + + + Playlists are ordered lists of tracks that allow you to plan your DJ sets. - + It may be necessary to skip some tracks in your prepared playlist or add some different tracks in order to maintain the energy of your audience. - + Some DJs construct playlists before they perform live, but others prefer to build them on-the-fly. - + When using a playlist during a live DJ set, remember to always pay close attention to how your audience reacts to the music you've chosen to play. - + Create New Playlist 新規プレイリストの作成 @@ -11588,7 +11686,7 @@ Fully right: end of the effect period - + Deck %1 デッキ %1 @@ -11721,7 +11819,7 @@ Hint: compensates "chipmunk" or "growling" voices - + Passthrough パススルー @@ -11752,7 +11850,7 @@ Hint: compensates "chipmunk" or "growling" voices - + Sampler %1 @@ -11885,12 +11983,12 @@ may introduce a 'pumping' effect and/or distortion. - + built-in - + missing @@ -12018,54 +12116,54 @@ may introduce a 'pumping' effect and/or distortion. RekordboxFeature - - - + + + Rekordbox - + Playlists プレイリスト - + Folders - + Reads databases exported for Pioneer CDJ / XDJ players using the Rekordbox Export mode.<br/>Rekordbox can only export to USB or SD devices with a FAT or HFS file system.<br/>Mixxx can read a database from any device that contains the database folders (<tt>PIONEER</tt> and <tt>Contents</tt>).<br/>Not supported are Rekordbox databases that have been moved to an external device via<br/><i>Preferences > Advanced > Database management</i>.<br/><br/>The following data is read: - + Hot cues - + Loops (only the first loop is currently usable in Mixxx) - + Check for attached Rekordbox USB / SD devices (refresh) - + Beatgrids - + Memory cues - + (loading) Rekordbox @@ -14588,7 +14686,7 @@ Use this to change only the effected (wet) signal with EQ and filter effects. Headphone - + ヘッドホン @@ -15084,12 +15182,12 @@ Use this to change only the effected (wet) signal with EQ and filter effects. TrackCollection - + Hiding tracks - + The selected tracks are in the following playlists:%1Hiding them will remove them from these playlists. Continue? @@ -15304,47 +15402,47 @@ This can not be undone! WCueMenuPopup - + Cue number - + Cue position - + Edit cue label - + Label... - + Delete this cue - + Toggle this cue type between normal cue and saved loop - + Left-click: Use the old size or the current beatloop size as the loop size - + Right-click: Use the current play position as loop end if it is after the cue - + Hotcue #%1 @@ -15469,323 +15567,353 @@ This can not be undone! + Search in Current View... + + + + + Search for tracks in the current library view + + + + + Ctrl+f + + + + + Search in Tracks Library... + + + + + Search in the internal track collection under "Tracks" in the library + + + + + Ctrl+Shift+F + + + + Create &New Playlist 新しいプレイリストを作成(&N) - + Create a new playlist 新しいプレイリストを作成 - + Ctrl+n Ctrl+n - + Create New &Crate 新しいレコードボックスを作成(&C) - + Create a new crate 新しいレコードボックスを作成 - + Ctrl+Shift+N Ctrl+Shift+N - - + + &View 表示(&V) - + Auto-hide menu bar - + Auto-hide the main menu bar when it's not used. - + May not be supported on all skins. - + Show Skin Settings Menu - + Show the Skin Settings Menu of the currently selected Skin - + Ctrl+1 Menubar|View|Show Skin Settings Ctrl+1 - + Show Microphone Section - + Show the microphone section of the Mixxx interface. - + Ctrl+2 Menubar|View|Show Microphone Section Ctrl+2 - + Show Vinyl Control Section - + Show the vinyl control section of the Mixxx interface. - + Ctrl+3 Menubar|View|Show Vinyl Control Section Ctrl+3 - + Show Preview Deck プレビューデッキを表示 - + Show the preview deck in the Mixxx interface. - + Ctrl+4 Menubar|View|Show Preview Deck Ctrl+4 - + Show Cover Art カバーアートを表示 - + Show cover art in the Mixxx interface. - + Ctrl+6 Menubar|View|Show Cover Art Ctrl+6 - + Maximize Library ライブラリを最大化 - + Maximize the track library to take up all the available screen space. - + Space Menubar|View|Maximize Library - + &Full Screen 全画面表示 (&F) - + Display Mixxx using the full screen Mixxxを全画面表示にする。 - + &Options オプション(&O) - + &Vinyl Control Vinylコントロール(&V) - + Use timecoded vinyls on external turntables to control Mixxx ターンテーブルとタイムコードの記録されているレコードを使用してMixxxを操作する - + Enable Vinyl Control &%1 - + &Record Mix ミックスを録音する (&R) - + Record your mix to a file ミックスをファイルに録音する - + Ctrl+R Ctrl+R - + Enable Live &Broadcasting - + Stream your mixes to a shoutcast or icecast server shoutcastかicecastサーバーを通じてミックスをストリーミング - + Ctrl+L Ctrl+L - + Enable &Keyboard Shortcuts - + Toggles keyboard shortcuts on or off - + Ctrl+` Ctrl+ - + &Preferences 設定(&P) - + Change Mixxx settings (e.g. playback, MIDI, controls) - + &Developer - + &Reload Skin - + Reload the skin - + Ctrl+Shift+R Ctrl+Shift+R - + Developer &Tools - + Opens the developer tools dialog - + Ctrl+Shift+T Ctrl+Shift+T - + Stats: &Experiment Bucket - + Enables experiment mode. Collects stats in the EXPERIMENT tracking bucket. - + Ctrl+Shift+E Ctrl+Shift+E - + Stats: &Base Bucket - + Enables base mode. Collects stats in the BASE tracking bucket. - + Ctrl+Shift+B Ctrl+Shift+B - + Deb&ugger Enabled デバッガを有効化(&u) - + Enables the debugger during skin parsing - + Ctrl+Shift+D Ctrl+Shift+D - + &Help ヘルプ(&H) - + Show Keywheel menu title @@ -15802,74 +15930,74 @@ This can not be undone! - + Show keywheel tooltip text - + F12 Menubar|View|Show Keywheel F12 - + &Community Support コミュニティーのサポート(&C) - + Get help with Mixxx - + &User Manual ユーザーマニュアル(_U) - + Read the Mixxx user manual. Mixxxユーザーマニュアルを読む - + &Keyboard Shortcuts キーボードショートカット(&K) - + Speed up your workflow with keyboard shortcuts. - + &Settings directory - + Open the Mixxx user settings directory. - + &Translate This Application このアプリケーションを翻訳(&T) - + Help translate this application into your language. あなたの言語でこのアプリケーションを翻訳するのを手伝ってください。 - + &About このアプリケーションについて(&A) - + About the application このアプリケーションについて @@ -15877,25 +16005,25 @@ This can not be undone! WOverview - + Passthrough パススルー - + Ready to play, analyzing... Text on waveform overview when file is playable but no waveform is visible - - + + Loading track... Text on waveform overview when file is cached from source - + Finalizing... Text on waveform overview during finalizing of waveform analysis @@ -15904,25 +16032,13 @@ This can not be undone! WSearchLineEdit - - Clear input - Clear the search bar input field - - - - - Ctrl+F - Search|Focus - Ctrl+F - - - + Search noun - + Clear input @@ -15933,169 +16049,163 @@ This can not be undone! 検索... - + Clear the search bar input field - - Enter a string to search for + + Return - - Use operators like bpm:115-128, artist:BooFar, -year:1990 + + Enter a string to search for. - - For more information see User Manual > Mixxx Library + + Use operators like bpm:115-128, artist:BooFar, -year:1990. - Shortcut + See User Manual > Mixxx Library for more information. - - Ctrl+F - Ctrl+F + + Focus/Select All (Search in current view) + Give search bar input focus + - - Focus - Give search bar input focus + + Focus/Select All (Search in 'Tracks' library view) - - - Ctrl+Backspace + + Additional Shortcuts When Focused: - Shortcuts + Trigger search before search-as-you-type timeout or focus tracks view afterwards - Return + Esc or Ctrl+Return - Trigger search before search-as-you-type timeout orjump to tracks view afterwards + Immediately trigger search and focus tracks view + Exit search bar and leave focus - + Ctrl+Space - + Toggle search history Shows/hides the search history entries - + Delete or Backspace - - Delete query from history - - - - - Esc + + in search history - - Exit search - Exit search bar and leave focus + + Delete query from history WSearchRelatedTracksMenu - + Search related Tracks - + Key キー - + harmonic with %1 - + BPM BPM - + between %1 and %2 - + Artist アーティスト - + Album Artist アルバム アーティスト - + Composer 作曲者 - + Title タイトル - + Album アルバム - + Grouping グループ - + Year 発売年 - + Genre ジャンル - + Directory - + &Search selected @@ -16103,625 +16213,625 @@ This can not be undone! WTrackMenu - + Load to - + Deck デッキ - + Sampler サンプラー - + Add to Playlist プレイリストに追加する - + Crates レコードボックス - + Metadata メタデータ - + Update external collections - + Cover Art カバーアート - + Adjust BPM BPMを調整 - + Select Color カラーを選択 - - + + Analyze 解析 - - + + Delete Track Files - + Add to Auto DJ Queue (bottom) オートDJの最後に追加 - + Add to Auto DJ Queue (top) オートDJの先頭に追加 - + Add to Auto DJ Queue (replace) - + Preview Deck プレビューデッキ - + Remove 削除する - + Remove from Playlist - + Remove from Crate - + Hide from Library ライブラリから隠す - + Unhide from Library - + Purge from Library ライブラリから削除 - + Move Track File(s) to Trash - + Delete Files from Disk - + Properties - + Open in File Browser - + Select in Library - + Import From File Tags - + Import From MusicBrainz - + Export To File Tags - + BPM and Beatgrid - + Play Count - + Rating 評価 - + Cue Point - - + + Hotcues ホットキュー - + Intro - + Outro - + Key キー - + ReplayGain リプレイゲイン - + Waveform 波形 - + Comment コメント - + All 全て - + Sort hotcues by position (remove offsets) - + Sort hotcues by position - + Lock BPM BPMを固定 - + Unlock BPM BPMの固定を解除 - + Double BPM 2倍 BPM - + Halve BPM 1/2 BPM - + 2/3 BPM 2/3 BPM - + 3/4 BPM 3/4 BPM - + 4/3 BPM 4/3 BPM - + 3/2 BPM 3/2 BPM - + Shift Beatgrid Half Beat - + Reanalyze - + Reanalyze (constant BPM) - + Reanalyze (variable BPM) - + Update ReplayGain from Deck Gain - + Deck %1 デッキ %1 - + Importing metadata of %n track(s) from file tags - + Marking metadata of %n track(s) to be exported into file tags - - + + Create New Playlist 新規プレイリストの作成 - + Enter name for new playlist: 新しいプレイリストの名前 - + New Playlist プレイリストの新規作成 - - - + + + Playlist Creation Failed プレイリストの作成に失敗 - + A playlist by that name already exists. 同じ名前のプレイリストが既にあります。 - + A playlist cannot have a blank name. プレイリストには名前が必要です。 - + An unknown error occurred while creating playlist: プレイリストの作成中に不明なエラーが発生しました - + Add to New Crate 新しいレコードボックスに追加 - + Scaling BPM of %n track(s) - + Undo BPM/beats change of %n track(s) - + Locking BPM of %n track(s) - + Unlocking BPM of %n track(s) - + Setting rating of %n track(s) - + Setting color of %n track(s) - + Resetting play count of %n track(s) - + Resetting beats of %n track(s) - + Clearing rating of %n track(s) - + Clearing comment of %n track(s) - + Removing main cue from %n track(s) - + Removing outro cue from %n track(s) - + Removing intro cue from %n track(s) - + Removing loop cues from %n track(s) - + Removing hot cues from %n track(s) - + Sorting hotcues of %n track(s) by position (remove offsets) - + Sorting hotcues of %n track(s) by position - + Resetting keys of %n track(s) - + Resetting replay gain of %n track(s) - + Resetting waveform of %n track(s) - + Resetting all performance metadata of %n track(s) - + Move these files to the trash bin? - + Permanently delete these files from disk? - - + + This can not be undone! - + Cancel キャンセル - + Delete Files - + Okay - + Move Track File(s) to Trash? - + Track Files Deleted - + Track Files Moved To Trash - + %1 track files were moved to trash and purged from the Mixxx database. - + %1 track files were deleted from disk and purged from the Mixxx database. - + Track File Deleted - + Track file was deleted from disk and purged from the Mixxx database. - + The following %1 file(s) could not be deleted from disk - + This track file could not be deleted from disk - + Remaining Track File(s) - + Close 閉じる - + Clear Reset metadata in right click track context menu in library - + Loops - + Clear BPM and Beatgrid - + Undo last BPM/beats change - + Move this track file to the trash bin? - + Permanently delete this track file from disk? - + All decks where these tracks are loaded will be stopped and the tracks will be ejected. - + All decks where this track is loaded will be stopped and the track will be ejected. - + Removing %n track file(s) from disk... - + Note: if you are in the Computer or Recording view you need to click the current view again to see changes. - + Track File Moved To Trash - + Track file was moved to trash and purged from the Mixxx database. - + Don't show again during this session - + The following %1 file(s) could not be moved to trash - + This track file could not be moved to trash - + Setting cover art of %n track(s) - + Reloading cover art of %n track(s) @@ -16731,43 +16841,43 @@ This can not be undone! title - + タイトル WTrackStemMenu - + Load for stem mixing - + Load pre-mixed stereo track - + Load the "%1" stem - + Load multiple stem into a stereo deck - + Select stems to load - + Release "CTRL" to load the current selection - + Use "CTRL" to select multiple stems @@ -16775,37 +16885,37 @@ This can not be undone! WTrackTableView - + Confirm track hide - + Are you sure you want to hide the selected tracks? - + Are you sure you want to remove the selected tracks from AutoDJ queue? - + Are you sure you want to remove the selected tracks from this crate? - + Are you sure you want to remove the selected tracks from this playlist? - + Don't ask again during this session - + Confirm track removal @@ -16813,12 +16923,12 @@ This can not be undone! WTrackTableViewHeader - + Show or hide columns. 列の表示/非表示 - + Shuffle Tracks @@ -16826,52 +16936,52 @@ This can not be undone! mixxx::CoreServices - + fonts - + database - + effects - + audio interface - + decks - + library - + Choose music library directory 音楽ライブラリのディレクトリを選択してください - + controllers - + Cannot open database データベースが開けません。 - + Unable to establish a database connection. Mixxx requires QT with SQLite support. Please read the Qt SQL driver documentation for information on how to build it. @@ -16885,68 +16995,78 @@ OKを押すと終了します。 mixxx::DlgLibraryExport - + Entire music library - - Selected crates + + Crates - + + Playlists + + + + + Selected crates/playlists + + + + Browse ブラウザ - + Export directory - + Database version - + Export エクスポート - + Cancel キャンセル - + Export Library to Engine DJ "Engine DJ" must not be translated - + Export Library To - + No Export Directory Chosen - + No export directory was chosen. Please choose a directory in order to export the music library. - + A database already exists in the chosen directory. Exported tracks will be added into this database. - + A database already exists in the chosen directory, but there was a problem loading it. Export is not guaranteed to succeed in this situation. @@ -16967,7 +17087,7 @@ OKを押すと終了します。 mixxx::EnginePrimeExportJob - + Failed to export track %1 - %2: %3 %1 is the artist %2 is the title and %3 is the original error message @@ -16977,23 +17097,23 @@ OKを押すと終了します。 mixxx::LibraryExporter - + Export Completed - - Exported %1 track(s) and %2 crate(s). + + Exported %1 track(s), %2 crate(s), and %3 playlist(s). - + Export Failed - - Exporting to Engine Prime... + + Exporting to Engine DJ... diff --git a/res/translations/mixxx_ko.qm b/res/translations/mixxx_ko.qm index a1c3a29500c20533a547fea2799b9838c88d967c..3d2ccdab99a12e758f7c7b4d3f840b38ff279e44 100644 GIT binary patch delta 392 zcmXBPPbhb>2-O34xhEO{G5`PYMAzIKDM_Kxf4X;C*k5I zQCB08|3!G|M1mc9J5m1)(N(RM<0SJuBC?ZDk&)MV4qj!D_i&=5*`tMuEX=Ej>RQ-| zj4sA;ZKycRoWx^^PbDRq93fg+Q{sVTq8lRy^bQUqq%S1+)!%a`as~$n@N0OJ&OY&K z4BAsV_e5c&UI=U7h1;?)J&lOT&E2>)1-Ta;rDIa&1G}Y@?1If4kS_laHP=hmcQ`P| zxEei{Ln)nyV)gL`#;xn@fJtqVu71#_y6ts_!h0T89`2!N_FlV8Z4Rc8I xmKEN5Fjc`f<6EM delta 404 zcmXBPPei0~9LMqR_j#VCW|}`ev;CvVnxr9V*_JLPR!oN>)sTot8cqKUWu&pQR5~;i zA2nh%9Y#rMS!SHKMGF*h_lPsL)3LablRoqoM293UT)(&vT}@%Fr@VIU;I+iyr6{& zY|J-^7@9eNtRc#mT7O}fIfwfqpZZyeBnF9oY$)p!t3(&A@ETowfRHiFO?WllauB-7 z#hZ9FJxRZ7@vk`O{BLlNzej3D_%Scsk%j4P%$wajiz{=GzoXqUEd8m$o@J7!;jm6f z*-waA>!foDht?>2;IaLbjw_**_*lnSNsRkoRvV?WdbFr+XSXTYF+(IJg$7ml#V^cQ z5LXBI1&V!u_q8GW`|SdzJ}mPcl+sRKgSYgIqi~e%RE#9NM5#rae|L`P>$C9G1-;C} S)0(q - + Remove Crate as Track Source 트랙 영역에 삭제 - + Auto DJ 자동 디제잉 - + Confirmation Clear - + Do you really want to remove all tracks from the Auto DJ queue? - + This can not be undone. - + Add Crate as Track Source 트랙 영역에 추가 @@ -148,7 +148,7 @@ BasePlaylistFeature - + New Playlist 새 재생 목록 @@ -159,7 +159,7 @@ - + Create New Playlist 새 재생 목록 만들기 @@ -189,113 +189,120 @@ 복제 - - + + Import Playlist 재생 목록 가져오기 - + Export Track Files 트랙 파일 익스포트 - + Analyze entire Playlist 전체 재생 목록 분석 - + Enter new name for playlist: 새로운 재생 목록의 이름 입력 : - + Duplicate Playlist 재생 목록 복제 - - + + Enter name for new playlist: 새 재생 목록의 이름을 입력하세요: - - + + Export Playlist 재생 목록 내보내기 - + Add to Auto DJ Queue (replace) 자동 디제잉 대기열에 넣기 (교체) - + + + Export to Engine DJ + "Engine DJ" is a product name and must not be translated. + + + + Rename Playlist 재생 목록 이름 변경 - - + + Renaming Playlist Failed 재생 목록 이름 변경 실패 - - - + + + A playlist by that name already exists. 해당 재생 목록 이름은 이미 존재합니다. - - - + + + A playlist cannot have a blank name. 재생 목록은 공백을 이름으로 가질 수 없습니다. - + _copy //: Appendix to default name when duplicating a playlist _복사 - - - - - - + + + + + + Playlist Creation Failed 재생 목록 생성 실패 - - + + An unknown error occurred while creating playlist: 재생 목록을 생성하는 도중에 알 수 없는 에러가 발생했습니다: - + Confirm Deletion 삭제 확인하기 - + Do you really want to delete playlist <b>%1</b>? 플레이리스트 <b>%1</b>를 삭제하시겠습니까? - + M3U Playlist (*.m3u) M3U 재생 목록 (*.m3u) - + M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Text CSV (*.csv);;Readable Text (*.txt) M3U 재생 목록 (*.m3u);;M3U8 재생 목록 (*.m3u8);;PLS 재생 목록 (*.pls);;CSV 텍스트 (*.csv);;일반 텍스트 (*.txt) @@ -303,12 +310,12 @@ BaseSqlTableModel - + # # - + Timestamp 타임 스탬프 @@ -316,7 +323,7 @@ BaseTrackPlayerImpl - + Couldn't load track. 트랙을 불러올 수 없습니다. @@ -324,137 +331,142 @@ BaseTrackTableModel - + Album 앨범 - + Album Artist 앨범 작가 - + Artist 악곡가 - + Bitrate 품질 - + BPM 분당 박자수 - + Channels 채널 - + Color 색상 - + Comment 덛붙임 - + Composer 작곡가 - + Cover Art 인장 - + Date Added 추가된 날짜 - + Last Played 마지막 재생 - + Duration 길이 - + Type 유형 - + Genre 장르 - + Grouping 그룹핑 - + Key - + Location 위치 - + + Overview + + + + Preview 미리 듣기 - + Rating 별점 - + ReplayGain 리플레이 게인 - + Samplerate 샘플레이트 - + Played 재생됨 - + Title 제목 - + Track # 트랙 번호 - + Year 년도 - + Fetching image ... Tooltip text on the cover art column shown when the cover is read from disk @@ -542,67 +554,77 @@ BrowseFeature - + Add to Quick Links 퀵 링크에 추가 - + Remove from Quick Links 퀵 링크에서 제거 - + Add to Library 라이브러리에 추가 - + Refresh directory tree - + Quick Links 퀵 링크 - - + + Devices 장치 - + Removable Devices 이동식 장치 - - + + Computer 컴퓨터 - + Music Directory Added 음악 디렉토리에 추가됨 - + You added one or more music directories. The tracks in these directories won't be available until you rescan your library. Would you like to rescan now? 하나 이상의 음악 디렉토리를 추가했습니다. 이 디렉토리의 트랙은 라이브러리를 다시 스캔할 때까지 사용할 수 없습니다. 지금 다시 스캔하시겠습니까? - + Scan 스캔 - + "Computer" lets you navigate, view, and load tracks from folders on your hard disk and external devices. "컴퓨터"를 사용하면 하드 디스크 및 외부 장치의 폴더에서 트랙을 탐색, 확인 및 로드할 수 있습니다. + + + It shows the data from the file tags, not track data from your Mixxx library like other track views. + + + + + If you load a track file from here, it will be added to your library. + + BrowseTableModel @@ -1045,13 +1067,13 @@ trace - Above + Profiling messages - + Set to full volume 음량 최대로 - + Set to zero volume 음량 0으로 @@ -1076,13 +1098,13 @@ trace - Above + Profiling messages 리버스 롤(Censor) 버튼 - + Headphone listen button 헤드폰 듣기 버튼 - + Mute button 음소거 @@ -1093,25 +1115,25 @@ trace - Above + Profiling messages - + Mix orientation (e.g. left, right, center) 믹스 방향 (예: 왼쪽, 오른쪽, 가운데) - + Set mix orientation to left 믹스 방향을 왼쪽으로 설정 - + Set mix orientation to center 믹스 방향을 가운데로 설정 - + Set mix orientation to right 믹스 방향을 오른쪽으로 설정 @@ -1152,22 +1174,22 @@ trace - Above + Profiling messages BPM(분당 박자수) 탭 버튼 - + Toggle quantize mode 양자화(quantize) 모드 토글 - + One-time beat sync (tempo only) 1회 비트 싱크 (템포 전용) - + One-time beat sync (phase only) 1회 비트 싱크 (위상 전용) - + Toggle keylock mode 음높이 고정 모드 토글 @@ -1177,193 +1199,193 @@ trace - Above + Profiling messages 이퀄라이저(EQ) - + Vinyl Control 바이닐(Vinyl) 컨트롤 - + Toggle vinyl-control cueing mode (OFF/ONE/HOT) 바이닐 컨트롤 큐잉 모드 토글 (끄기/1회/핫큐) - + Toggle vinyl-control mode (ABS/REL/CONST) 바이닐 컨트롤 모드 토글 (ABS/REL/CONST) - + Pass through external audio into the internal mixer 외부 오디오를 통해 내부 믹서로 전달 - + Cues - + Cue button 큐 버튼 - + Set cue point 큐 포인트 설정 - + Go to cue point 큐 포인트로 이동 - + Go to cue point and play 큐 포인트로 가서 재생 - + Go to cue point and stop 큐 포인트로 가서 정지 - + Preview from cue point 큐 포인트에서 미리보기 - + Cue button (CDJ mode) 큐 버튼 (CDJ 모드) - + Stutter cue 스터터 큐 - + Hotcues 핫큐 - + Set, preview from or jump to hotcue %1 핫큐 %1 에서 미리보기 또는 이동 설정 - + Clear hotcue %1 핫큐 %1 지우기 - + Set hotcue %1 핫큐 %1 설정 - + Jump to hotcue %1 핫큐 %1 으로 이동 - + Jump to hotcue %1 and stop 핫큐 %1 으로 이동 후 정지 - + Jump to hotcue %1 and play 핫큐 %1 으로 이동 후 재생 - + Preview from hotcue %1 핫큐 %1 했을때 미리듣기 - - + + Hotcue %1 핫큐 %1 - + Looping 반복(루핑) - + Loop In button 반복 들어가기 버튼 - + Loop Out button 반복 나오기 버튼 - + Loop Exit button 반복 나가기 버튼 - + 1/2 1/2 - + 1 1 - + 2 2 - + 4 4 - + 8 8 - + 16 16 - + 32 32 - + 64 64 - + Move loop forward by %1 beats 루프를 %1 비트 앞으로 이동 - + Move loop backward by %1 beats 루프를 %1 비트 뒤로 이동 - + Create %1-beat loop %1-박자 반복 만들기 - + Create temporary %1-beat loop roll %1-박자 반복 롤 설정 @@ -1479,20 +1501,20 @@ trace - Above + Profiling messages - - + + Volume Fader 음량 페이더 - + Full Volume 최고음량 - + Zero Volume 무음량 @@ -1508,7 +1530,7 @@ trace - Above + Profiling messages - + Mute 음소거 @@ -1519,7 +1541,7 @@ trace - Above + Profiling messages - + Headphone Listen 헤드폰으로 듣기 @@ -1540,25 +1562,25 @@ trace - Above + Profiling messages - + Orientation 크로스페이더 위치 - + Orient Left 크로스페이더 왼쪽으로 위치 - + Orient Center 크로스페이더 중앙으로 위치 - + Orient Right 크로스페이더 오른쪽으로 위치 @@ -1628,82 +1650,82 @@ trace - Above + Profiling messages - + Adjust Beatgrid - + Align beatgrid to current position - + Adjust Beatgrid - Match Alignment - + Adjust beatgrid to match another playing deck. - + Quantize Mode - + Sync - + Beat Sync One-Shot - + Sync Tempo One-Shot - + Sync Phase One-Shot - + Pitch control (does not affect tempo), center is original pitch - + Pitch Adjust - + Adjust pitch from speed slider pitch - + Match musical key - + Match Key - + Reset Key 초기화 키 - + Resets key to original 원상복구 키 @@ -1744,451 +1766,451 @@ trace - Above + Profiling messages - + Toggle Vinyl Control - + Toggle Vinyl Control (ON/OFF) - + Vinyl Control Mode - + Vinyl Control Cueing Mode - + Vinyl Control Passthrough - + Vinyl Control Next Deck - + Single deck mode - Switch vinyl control to next deck - + Cue - + Set Cue - + Go-To Cue - + Go-To Cue And Play - + Go-To Cue And Stop - + Preview Cue - + Cue (CDJ Mode) - + Stutter Cue - + Go to cue point and play after release - + Clear Hotcue %1 핫큐 %1 지우기 - + Set Hotcue %1 핫큐 %1 설정 - + Jump To Hotcue %1 핫큐 %1 으로 이동 - + Jump To Hotcue %1 And Stop 핫큐 %1 으로 이동 후 정지 - + Jump To Hotcue %1 And Play 핫큐 %1 으로 이동 후 재생 - + Preview Hotcue %1 핫큐 %1 했을때 미리듣기 - + Loop In - + Loop Out - + Loop Exit - + Reloop/Exit Loop - + Loop Halve - + Loop Double - + 1/32 1/32 - + 1/16 1/16 - + 1/8 1/8 - + 1/4 1/4 - + Move Loop +%1 Beats - + Move Loop -%1 Beats - + Loop %1 Beats - + Loop Roll %1 Beats - + Add to Auto DJ Queue (bottom) 자동 디제잉 대기열에 넣기 (아래로) - + Append the selected track to the Auto DJ Queue - + Add to Auto DJ Queue (top) 자동 디제잉 대기열에 넣기 (위로) - + Prepend selected track to the Auto DJ Queue - + Load Track 트랙 불러오기 - + Load selected track 선택한 트랙 불러오기 - + Load selected track and play 선택한 트랙 불러오고 재생 - - + + Record Mix - + Toggle mix recording - + Effects 이펙트 - + Quick Effects - + Deck %1 Quick Effect Super Knob - + Quick Effect Super Knob (control linked effect parameters) - - + + Quick Effect - + Clear Unit - + Clear effect unit - + Toggle Unit - + Dry/Wet - + Adjust the balance between the original (dry) and processed (wet) signal. - + Super Knob - + Next Chain - + Assign - + Clear - + Clear the current effect - + Toggle - + Toggle the current effect - + Next - + Switch to next effect - + Previous - + Switch to the previous effect - + Next or Previous - + Switch to either next or previous effect - - + + Parameter Value - - + + Microphone Ducking Strength - + Microphone Ducking Mode - + Gain - + Gain knob 게인 노브 - + Shuffle the content of the Auto DJ queue - + Skip the next track in the Auto DJ queue - + Auto DJ Toggle - + Toggle Auto DJ On/Off - + Show/hide the microphone & auxiliary section - + 4 Effect Units Show/Hide - + Switches between showing 2 and 4 effect units - + Mixer Show/Hide - + Show or hide the mixer. - + Cover Art Show/Hide (Library) - + Show/hide cover art in the library - + Library Maximize/Restore - + Maximize the track library to take up all the available screen space. - + Effect Rack Show/Hide - + Show/hide the effect rack - + Waveform Zoom Out @@ -2203,102 +2225,102 @@ trace - Above + Profiling messages 헤드폰 게인 - + Tap to sync tempo (and phase with quantize enabled), hold to enable permanent sync - + One-time beat sync tempo (and phase with quantize enabled) - + Playback Speed - + Playback speed control (Vinyl "Pitch" slider) - + Pitch (Musical key) - + Increase Speed - + Adjust speed faster (coarse) - + Increase Speed (Fine) - + Adjust speed faster (fine) - + Decrease Speed - + Adjust speed slower (coarse) - + Adjust speed slower (fine) - + Temporarily Increase Speed - + Temporarily increase speed (coarse) - + Temporarily Increase Speed (Fine) - + Temporarily increase speed (fine) - + Temporarily Decrease Speed - + Temporarily decrease speed (coarse) - + Temporarily Decrease Speed (Fine) - + Temporarily decrease speed (fine) @@ -2450,1053 +2472,1063 @@ trace - Above + Profiling messages - - + + Move Beatgrid Half a Beat + + + + + Adjust the beatgrid by exactly one half beat. Usable only for tracks with constant tempo. + + + + + Toggle the BPM/beatgrid lock - + Revert last BPM/Beatgrid Change - + Revert last BPM/Beatgrid Change of the loaded track. - + Sync / Sync Lock - + Internal Sync Leader - + Toggle Internal Sync Leader - - + + Internal Leader BPM - + Internal Leader BPM +1 - + Increase internal Leader BPM by 1 - + Internal Leader BPM -1 - + Decrease internal Leader BPM by 1 - + Internal Leader BPM +0.1 - + Increase internal Leader BPM by 0.1 - + Internal Leader BPM -0.1 - + Decrease internal Leader BPM by 0.1 - + Sync Leader - + Sync mode 3-state toggle / indicator (Off, Soft Leader, Explicit Leader) - + Speed - + Decrease Speed (Fine) - + Pitch (Musical Key) - + Increase Pitch - + Increases the pitch by one semitone - + Increase Pitch (Fine) - + Increases the pitch by 10 cents - + Decrease Pitch - + Decreases the pitch by one semitone - + Decrease Pitch (Fine) - + Decreases the pitch by 10 cents - + Keylock - + CUP (Cue + Play) - + Shift cue points earlier - + Shift cue points 10 milliseconds earlier - + Shift cue points earlier (fine) - + Shift cue points 1 millisecond earlier - + Shift cue points later - + Shift cue points 10 milliseconds later - + Shift cue points later (fine) - + Shift cue points 1 millisecond later - - + + Sort hotcues by position - - + + Sort hotcues by position (remove offsets) - + Hotcues %1-%2 - + Intro / Outro Markers - + Intro Start Marker - + Intro End Marker - + Outro Start Marker - + Outro End Marker - + intro start marker - + intro end marker - + outro start marker - + outro end marker - + Activate %1 [intro/outro marker - + Jump to or set the %1 [intro/outro marker - + Set %1 [intro/outro marker - + Set or jump to the %1 [intro/outro marker - + Clear %1 [intro/outro marker - + Clear the %1 [intro/outro marker - + if the track has no beats the unit is seconds - + Loop Selected Beats - + Create a beat loop of selected beat size - + Loop Roll Selected Beats - + Create a rolling beat loop of selected beat size - + Loop %1 Beats set from its end point - + Loop Roll %1 Beats set from its end point - + Create %1-beat loop with the current play position as loop end - + Create temporary %1-beat loop roll with the current play position as loop end - + Loop Beats - + Loop Roll Beats - + Go To Loop In - + Go to Loop In button - + Go To Loop Out - + Go to Loop Out button - + Toggle loop on/off and jump to Loop In point if loop is behind play position - + Reloop And Stop - + Enable loop, jump to Loop In point, and stop - + Halve the loop length - + Double the loop length - + Beat Jump / Loop Move - + Jump / Move Loop Forward %1 Beats - + Jump / Move Loop Backward %1 Beats - + Jump forward by %1 beats, or if a loop is enabled, move the loop forward %1 beats - + Jump backward by %1 beats, or if a loop is enabled, move the loop backward %1 beats - + Beat Jump / Loop Move Forward Selected Beats - + Jump forward by the selected number of beats, or if a loop is enabled, move the loop forward by the selected number of beats - + Beat Jump / Loop Move Backward Selected Beats - + Jump backward by the selected number of beats, or if a loop is enabled, move the loop backward by the selected number of beats - + Beat Jump - + Indicate which loop marker remain static when adjusting the size or is inherited from the current position - + Beat Jump / Loop Move Forward - + Beat Jump / Loop Move Backward - + Loop Move Forward - + Loop Move Backward - + Remove Temporary Loop - + Remove the temporary loop - + Navigation - + Move up - + Equivalent to pressing the UP key on the keyboard - + Move down - + Equivalent to pressing the DOWN key on the keyboard - + Move up/down - + Move vertically in either direction using a knob, as if pressing UP/DOWN keys - + Scroll Up - + Equivalent to pressing the PAGE UP key on the keyboard - + Scroll Down - + Equivalent to pressing the PAGE DOWN key on the keyboard - + Scroll up/down - + Scroll vertically in either direction using a knob, as if pressing PGUP/PGDOWN keys - + Move left - + Equivalent to pressing the LEFT key on the keyboard - + Move right - + Equivalent to pressing the RIGHT key on the keyboard - + Move left/right - + Move horizontally in either direction using a knob, as if pressing LEFT/RIGHT keys - + Move focus to right pane - + Equivalent to pressing the TAB key on the keyboard - + Move focus to left pane - + Equivalent to pressing the SHIFT+TAB key on the keyboard - + Move focus to right/left pane - + Move focus one pane to right or left using a knob, as if pressing TAB/SHIFT+TAB keys - + Sort focused column - + Sort the column of the cell that is currently focused, equivalent to clicking on its header - + Go to the currently selected item - + Choose the currently selected item and advance forward one pane if appropriate - + Load Track and Play - + Add to Auto DJ Queue (replace) 자동 디제잉 대기열에 넣기 (교체) - + Replace Auto DJ Queue with selected tracks - + Select next search history - + Selects the next search history entry - + Select previous search history - + Selects the previous search history entry - + Move selected search entry - + Moves the selected search history item into given direction and steps - + Clear search - + Clears the search query - - + + Select Next Color Available - + Select the next color in the color palette for the first selected track - - + + Select Previous Color Available - + Select the previous color in the color palette for the first selected track - + Deck %1 Quick Effect Enable Button - + Quick Effect Enable Button - + Enable or disable effect processing - + Super Knob (control effects' Meta Knobs) - + Mix Mode Toggle - + Toggle effect unit between D/W and D+W modes - + Next chain preset - + Previous Chain - + Previous chain preset - + Next/Previous Chain - + Next or previous chain preset - - + + Show Effect Parameters - + Effect Unit Assignment - + Meta Knob - + Effect Meta Knob (control linked effect parameters) - + Meta Knob Mode - + Set how linked effect parameters change when turning the Meta Knob. - + Meta Knob Mode Invert - + Invert how linked effect parameters change when turning the Meta Knob. - - + + Button Parameter Value - + Microphone / Auxiliary - + Microphone On/Off - + Microphone on/off 마이크 켜기/끄기 - + Toggle microphone ducking mode (OFF, AUTO, MANUAL) - + Auxiliary On/Off - + Auxiliary on/off - + Auto DJ 자동 디제잉 - + Auto DJ Shuffle - + Auto DJ Skip Next - + Auto DJ Add Random Track - + Add a random track to the Auto DJ queue - + Auto DJ Fade To Next - + Trigger the transition to the next track 다음 노래로의 전환 발동 - + User Interface 유저 인터페이스 - + Samplers Show/Hide - + Show/hide the sampler section 샘플러 부분 보이기/가리기 - + Microphone && Auxiliary Show/Hide keep double & to prevent creation of keyboard accelerator - + Waveform Zoom Reset To Default - + Reset the waveform zoom level to the default value selected in Preferences -> Waveforms - + Select the next color in the color palette for the loaded track. - + Select previous color in the color palette for the loaded track. - + Navigate Through Track Colors - + Select either next or previous color in the palette for the loaded track. - + Start/Stop Live Broadcasting - + Stream your mix over the Internet. - + Start/stop recording your mix. - - + + Samplers - + Vinyl Control Show/Hide - + Show/hide the vinyl control section 바이닐 컨트롤 부분 보이기/가리기 - + Preview Deck Show/Hide - + Show/hide the preview deck 덱 미리보기 보기/가기리 - + Toggle 4 Decks - + Switches between showing 2 decks and 4 decks. - + Cover Art Show/Hide (Decks) - + Show/hide cover art in the main decks - + Vinyl Spinner Show/Hide - + Show/hide spinning vinyl widget 회전하는 바이닐 위젯 보이기/가리기 - + Vinyl Spinners Show/Hide (All Decks) - + Show/Hide all spinnies - + Toggle Waveforms - + Show/hide the scrolling waveforms. - + Waveform zoom - + Waveform Zoom - + Zoom waveform in - + Waveform Zoom In - + Zoom waveform out - + Star Rating Up - + Increase the track rating by one star - + Star Rating Down - + Decrease the track rating by one star @@ -3611,32 +3643,32 @@ trace - Above + Profiling messages ControllerScriptEngineBase - + The functionality provided by this controller mapping will be disabled until the issue has been resolved. - + You can ignore this error for this session but you may experience erratic behavior. - + Try to recover by resetting your controller. - + Controller Mapping Error - + The mapping for your controller "%1" is not working properly. - + The script code needs to be fixed. @@ -3744,7 +3776,7 @@ trace - Above + Profiling messages 상자 가져오기 - + Export Crate 상자 내보내기 @@ -3754,7 +3786,7 @@ trace - Above + Profiling messages 잠금 해제 - + An unknown error occurred while creating crate: 상자를 만드는 도중 예상치 못한 에러가 발생했습니다: @@ -3763,12 +3795,6 @@ trace - Above + Profiling messages Rename Crate 상자 이름 변경 - - - - Export to Engine Prime - - Make a crate for your next gig, for your favorite electrohouse tracks, or for your most requested tracks. @@ -3786,17 +3812,17 @@ trace - Above + Profiling messages 상자 이름 변경 실패 - + Crate Creation Failed - + M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Text CSV (*.csv);;Readable Text (*.txt) M3U 재생 목록 (*.m3u);;M3U8 재생 목록 (*.m3u8);;PLS 재생 목록 (*.pls);;CSV 텍스트 (*.csv);;일반 텍스트 (*.txt) - + M3U Playlist (*.m3u) M3U 재생 목록 (*.m3u) @@ -3805,6 +3831,12 @@ trace - Above + Profiling messages Crates are a great way to help organize the music you want to DJ with. 상자는 디제잉을 위해 음악을 구성하는 좋은 방법입니다. + + + + Export to Engine DJ + + Crates let you organize your music however you'd like! @@ -3916,12 +3948,12 @@ trace - Above + Profiling messages - + Official Website - + Donate @@ -4432,37 +4464,37 @@ Often results in higher quality beatgrids, but will not do well on tracks that h - + Didn't get any midi messages. Please try again. - + Unable to detect a mapping -- please try again. Be sure to only touch one control at once. - + Successfully mapped control: - + <i>Ready to learn %1</i> - + Learning: %1. Now move a control on your controller. - + The selected control does not exist.<br>This likely a bug. Please report it on the Mixxx bug tracker.<br><a href='https://github.com/mixxxdj/mixxx/issues'>https://github.com/mixxxdj/mixxx/issues</a><br><br>You tried to learn: %1,%2 - + The control you clicked in Mixxx is not learnable. This could be because you are either using an old skin and this control is no longer supported, or you clicked a control that provides visual feedback and can only be mapped to outputs like LEDs via scripts. @@ -4501,17 +4533,17 @@ You tried to learn: %1,%2 - + Log - + Search 검색 - + Stats @@ -5164,114 +5196,114 @@ associated with each key. DlgPrefController - + Apply device settings? 장치 설정을 적용하시겠습니까? - + Your settings must be applied before starting the learning wizard. Apply settings and continue? 학습 마법사를 시작하기 전에 설정이 적용되어야 합니다. 설정을 적용하고 계속하시겠습니까? - + None 없음 - + %1 by %2 %1 / %2 - + Mapping has been edited - + Always overwrite during this session - + Save As - + Overwrite - + Save user mapping - + Enter the name for saving the mapping to the user folder. - + Saving mapping failed - + A mapping cannot have a blank name and may not contain special characters. - + A mapping file with that name already exists. - + Do you want to save the changes? - + Troubleshooting - + <font color='#BB0000'><b>If you use this mapping your controller may not work correctly. Please select another mapping or disable the controller.</b></font><br><br>This mapping was designed for a newer Mixxx Controller Engine and cannot be used on your current Mixxx installation.<br>Your Mixxx installation has Controller Engine version %1. This mapping requires a Controller Engine version >= %2.<br><br>For more information visit the wiki page on <a href='https://mixxx.org/wiki/doku.php/controller_engine_versions'>Controller Engine Versions</a>. - + Mapping already exists. - + <b>%1</b> already exists in user mapping folder.<br>Overwrite or save with a new name? - + Clear Input Mappings - + Are you sure you want to clear all input mappings? - + Clear Output Mappings - + Are you sure you want to clear all output mappings? @@ -5289,100 +5321,100 @@ Apply settings and continue? 활성화됨 - + Device Info - + Physical Interface: - + Vendor name: - + Product name: - + Vendor ID - + VID: - + Product ID - + PID: - + Serial number: - + USB interface number: - + HID Usage-Page: - + HID Usage: - + Description: 설명: - + Support: 지원: - + Screens preview - + Input Mappings - - + + Search 검색 - - + + Add 추가 - - + + Remove 지우기 @@ -5402,17 +5434,17 @@ Apply settings and continue? - + Mapping Info - + Author: 저자: - + Name: 이름: @@ -5422,28 +5454,28 @@ Apply settings and continue? 학습 마법사 (MIDI 전용) - + Data protocol: - + Mapping Files: - + Mapping Settings - - + + Clear All 모두 삭제 - + Output Mappings 출력 맵핑 @@ -5602,6 +5634,16 @@ Apply settings and continue? Multi-Sampling + + + Force 3D acceleration + + + + + If checked, Mixxx will always assume 3D acceleration is available. This may lead to pour performance if only CP-backed rendering is available.. + + Start in full-screen mode @@ -6193,62 +6235,62 @@ You can always drag-and-drop tracks on screen to clone a deck. DlgPrefInterface - + The minimum size of the selected skin is bigger than your screen resolution. - + Allow screensaver to run - + Prevent screensaver from running - + Prevent screensaver while playing - + Disabled - + 2x MSAA - + 4x MSAA - + 8x MSAA - + 16x MSAA - + This skin does not support color schemes - + Information 정보 - + Mixxx must be restarted before the new locale, scaling or multi-sampling settings will take effect. @@ -7415,173 +7457,172 @@ The loudness target is approximate and assumes track pregain and main output lev DlgPrefSound - + %1 Hz %1 Hz - + Default (long delay) - + Experimental (no delay) - + Disabled (short delay) - + Soundcard Clock - + Network Clock - + Direct monitor (recording and broadcasting only) - + Disabled - + Enabled 활성화됨 - + Stereo 스테레오 - + Mono - + To enable Realtime scheduling (currently disabled), see the %1. - + The %1 lists sound cards and controllers you may want to consider for using Mixxx. - + Mixxx DJ Hardware Guide - + Information - + Mixxx must be restarted before the multi-threaded RubberBand setting change will take effect. - + auto (<= 1024 frames/period) - + 2048 frames/period - + 4096 frames/period - + Are you sure? - + Distribute stereo channels into mono channels for parallel processing will result in a loss of mono compatibility and a diffuse stereo image. It is not recommended during broadcasting or recording. - + Are you sure you wish to proceed? - + No - + Yes, I know what I am doing - + Microphone inputs are out of time in the record & broadcast signal compared to what you hear. - + Measure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. - - + Refer to the Mixxx User Manual for details. - + Configured latency has changed. - + Remeasure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. - + Realtime scheduling is enabled. - + Main output only - + Main and booth outputs - + %1 ms - + Configuration error @@ -7599,131 +7640,131 @@ The loudness target is approximate and assumes track pregain and main output lev - + Sample Rate - + Audio Buffer - + Engine Clock - + Use soundcard clock for live audience setups and lowest latency.<br>Use network clock for broadcasting without a live audience. - + Main Mix - + Main Output Mode - + Microphone Monitor Mode - + Microphone Latency Compensation - - - - + + + + ms milliseconds - + 20 ms - + Buffer Underflow Count - + 0 - + Keylock/Pitch-Bending Engine - + Multi-Soundcard Synchronization - + Output 출력 - + Input 입력 - + System Reported Latency - + Enlarge your audio buffer if the underflow counter is increasing or you hear pops during playback. - + Main Output Delay - + Headphone Output Delay - + Booth Output Delay - + Dual-threaded Stereo - + Hints and Diagnostics - + Downsize your audio buffer to improve Mixxx's responsiveness. - + Query Devices @@ -8169,47 +8210,47 @@ Select from different types of displays for the waveform, which differ primarily DlgPreferences - + Sound Hardware - + Controllers - + Library 라이브러리 - + Interface - + Waveforms - + Mixer 믹서 - + Auto DJ 자동 디제잉 - + Decks - + Colors @@ -8244,47 +8285,47 @@ Select from different types of displays for the waveform, which differ primarily - + Effects 이펙트 - + Recording - + Beat Detection - + Key Detection - + Normalization - + <font color='#BB0000'><b>Some preferences pages have errors. To apply the changes please first fix the issues.</b></font> - + Vinyl Control 바이닐(Vinyl) 컨트롤 - + Live Broadcasting - + Modplug Decoder @@ -8640,284 +8681,284 @@ This can not be undone! - + Filetype: - + BPM: 분당 박자수: - + Location: - + Bitrate: - + Comments - + BPM 분당 박자수 - + Sets the BPM to 75% of the current value. - + 3/4 BPM 3/4 BPM - + Sets the BPM to 50% of the current value. - + Displays the BPM of the selected track. - + Track # 트랙 번호 - + Album Artist 앨범 작가 - + Composer 작곡가 - + Title 제목 - + Grouping 그룹핑 - + Key - + Year 년도 - + Artist 악곡가 - + Album 앨범 - + Genre 장르 - + ReplayGain: - + Sets the BPM to 200% of the current value. - + Double BPM - + Halve BPM - + Clear BPM and Beatgrid - + Move to the previous item. "Previous" button - + &Previous - + Move to the next item. "Next" button - + &Next - + Duration: - + Import Metadata from MusicBrainz - + Re-Import Metadata from file - + Color 색상 - + Date added: - + Open in File Browser 파일 탐색기에서 열기 - + Samplerate: - + Track BPM: - + Converts beats detected by the analyzer into a fixed-tempo beatgrid. Use this setting if your tracks have a constant tempo (e.g. most electronic music). Often results in higher quality beatgrids, but will not do well on tracks that have tempo shifts. - + Assume constant tempo - + Sets the BPM to 66% of the current value. - + 2/3 BPM - + Sets the BPM to 150% of the current value. - + 3/2 BPM - + Sets the BPM to 133% of the current value. - + 4/3 BPM - + Tap with the beat to set the BPM to the speed you are tapping. - + Tap to Beat - + Hint: Use the Library Analyze view to run BPM detection. - + Save changes and close the window. "OK" button - + &OK - + Discard changes and close the window. "Cancel" button - + Save changes and keep the window open. "Apply" button - + &Apply - + &Cancel - + (no color) @@ -9074,7 +9115,7 @@ Often results in higher quality beatgrids, but will not do well on tracks that h - + (no color) @@ -9276,27 +9317,27 @@ Often results in higher quality beatgrids, but will not do well on tracks that h EngineBuffer - + Soundtouch (faster) - + Rubberband (better) - + Rubberband R3 (near-hi-fi quality) - + Unknown, using Rubberband (better) - + Unknown, using Soundtouch @@ -9511,15 +9552,15 @@ Often results in higher quality beatgrids, but will not do well on tracks that h LegacySkinParser - - + + Safe Mode Enabled Shown when Mixxx is running in safe mode. - - + + No OpenGL support. Shown when Spinny can not be displayed. Please keep @@ -9530,57 +9571,57 @@ Shown when VuMeter can not be displayed. Please keep - + activate - + toggle - + right - + left - + right small - + left small - + up - + down - + up small - + down small - + Shortcut 단축키 @@ -9588,62 +9629,62 @@ Shown when VuMeter can not be displayed. Please keep Library - + This or a parent directory is already in your library. - + This or a listed directory does not exist or is inaccessible. Aborting the operation to avoid library inconsistencies - - + + This directory can not be read. - + An unknown error occurred. Aborting the operation to avoid library inconsistencies - + Can't add Directory to Library - + Could not add <b>%1</b> to your library. %2 - + Can't remove Directory from Library - + An unknown error occurred. - + This directory does not exist or is inaccessible. - + Relink Directory - + Could not relink <b>%1</b> to <b>%2</b>. %3 @@ -9653,22 +9694,22 @@ Aborting the operation to avoid library inconsistencies LibraryFeature - + Import Playlist 재생 목록 가져오기 - + Playlist Files (*.m3u *.m3u8 *.pls *.csv) 재생 목록 파일 (*.m3u *.m3u8 *.pls *.csv) - + Overwrite File? - + A playlist file with the name "%1" already exists. The default "m3u" extension was added because none was specified. @@ -9715,27 +9756,27 @@ Do you really want to overwrite it? MidiController - + MixxxControl(s) not found - + One or more MixxxControls specified in the outputs section of the loaded mapping were invalid. - + * Make sure the MixxxControls in question actually exist. Visit the manual for a complete list: - + Some LEDs or other feedback may not work correctly. - + * Check to see that the MixxxControl names are spelled correctly in the mapping file (.xml) @@ -9795,18 +9836,18 @@ Do you really want to overwrite it? MixxxLibraryFeature - + Missing Tracks 빠진 트랙 - + Hidden Tracks 숨은 트랙 - Export to Engine Prime + Export to Engine DJ @@ -9818,208 +9859,249 @@ Do you really want to overwrite it? MixxxMainWindow - + Sound Device Busy - + <b>Retry</b> after closing the other application or reconnecting a sound device - - - + + + <b>Reconfigure</b> Mixxx's sound device settings. - - + + Get <b>Help</b> from the Mixxx Wiki. - - - + + + <b>Exit</b> Mixxx. - + Retry - + skin - + Allow Mixxx to hide the menu bar? - + Hide Always show the menu bar? - + Always show - + The Mixxx menu bar is hidden and can be toggled with a single press of the <b>Alt</b> key.<br><br>Click <b>%1</b> to agree.<br><br>Click <b>%2</b> to disable that, for example if you don't use Mixxx with a keyboard.<br><br>You can change this setting any time in Preferences -> Interface.<br> Keep formatting tags <b> (bold text) and <br> (linebreak). %1 is the placeholder for the 'Always show' button label - + Ask me again - - + + Reconfigure - + Help - - + + Exit - - + + Mixxx was unable to open all the configured sound devices. - + Sound Device Error - + <b>Retry</b> after fixing an issue - + No Output Devices - + Mixxx was configured without any output sound devices. Audio processing will be disabled without a configured output device. - + <b>Continue</b> without any outputs. - + Continue - + Load track to Deck %1 - + Deck %1 is currently playing a track. - + Are you sure you want to load a new track? - + There is no input device selected for this vinyl control. Please select an input device in the sound hardware preferences first. - + There is no input device selected for this passthrough control. Please select an input device in the sound hardware preferences first. - + There is no input device selected for this microphone. Do you want to select an input device? - + There is no input device selected for this auxiliary. Do you want to select an input device? - + + Scan took %1 + + + + + No changes detected. + + + + + + %1 tracks in total + + + + + %1 new tracks found + + + + + %1 moved tracks detected + + + + + %1 tracks are missing (%2 total) + + + + + %1 tracks have been rediscovered + + + + + Library scan finished + + + + Error in skin file - + The selected skin cannot be loaded. - + OpenGL Direct Rendering - + Direct rendering is not enabled on your machine.<br><br>This means that the waveform displays will be very<br><b>slow and may tax your CPU heavily</b>. Either update your<br>configuration to enable direct rendering, or disable<br>the waveform displays in the Mixxx preferences by selecting<br>"Empty" as the waveform display in the 'Interface' section. - - - + + + Confirm Exit - + A deck is currently playing. Exit Mixxx? - + A sampler is currently playing. Exit Mixxx? - + The preferences window is still open. - + Discard any changes and exit Mixxx? @@ -10035,13 +10117,13 @@ Do you want to select an input device? PlaylistFeature - + Lock 잠그기 - - + + Playlists @@ -10051,32 +10133,58 @@ Do you want to select an input device? - + + Unlock all playlists + + + + + Delete all unlocked playlists + + + + Unlock 잠금 해제 - + + + Confirm Deletion + + + + + Do you really want to delete all unlocked playlists? + + + + + Deleting %1 unlocked playlists.<br>This operation can not be undone! + + + + Playlists are ordered lists of tracks that allow you to plan your DJ sets. - + It may be necessary to skip some tracks in your prepared playlist or add some different tracks in order to maintain the energy of your audience. - + Some DJs construct playlists before they perform live, but others prefer to build them on-the-fly. - + When using a playlist during a live DJ set, remember to always pay close attention to how your audience reacts to the music you've chosen to play. - + Create New Playlist 새 재생 목록 만들기 @@ -11567,7 +11675,7 @@ Fully right: end of the effect period - + Deck %1 덱 %1 @@ -11700,7 +11808,7 @@ Hint: compensates "chipmunk" or "growling" voices - + Passthrough @@ -11731,7 +11839,7 @@ Hint: compensates "chipmunk" or "growling" voices - + Sampler %1 @@ -11864,12 +11972,12 @@ may introduce a 'pumping' effect and/or distortion. - + built-in - + missing @@ -11904,42 +12012,42 @@ may introduce a 'pumping' effect and/or distortion. - + Empty - + Simple - + Filtered - + HSV - + VSyncTest - + RGB - + Stacked - + Unknown @@ -11997,54 +12105,54 @@ may introduce a 'pumping' effect and/or distortion. RekordboxFeature - - - + + + Rekordbox - + Playlists - + Folders - + Reads databases exported for Pioneer CDJ / XDJ players using the Rekordbox Export mode.<br/>Rekordbox can only export to USB or SD devices with a FAT or HFS file system.<br/>Mixxx can read a database from any device that contains the database folders (<tt>PIONEER</tt> and <tt>Contents</tt>).<br/>Not supported are Rekordbox databases that have been moved to an external device via<br/><i>Preferences > Advanced > Database management</i>.<br/><br/>The following data is read: - + Hot cues - + Loops (only the first loop is currently usable in Mixxx) - + Check for attached Rekordbox USB / SD devices (refresh) - + Beatgrids - + Memory cues - + (loading) Rekordbox @@ -12603,7 +12711,7 @@ may introduce a 'pumping' effect and/or distortion. - + Spinning Vinyl @@ -12785,7 +12893,7 @@ may introduce a 'pumping' effect and/or distortion. - + Cover Art 인장 @@ -13021,197 +13129,197 @@ may introduce a 'pumping' effect and/or distortion. - + Adjust Beats Earlier - + When tapped, moves the beatgrid left by a small amount. - + Adjust Beats Later - + When tapped, moves the beatgrid right by a small amount. - + Tempo and BPM Tap - + Show/hide the spinning vinyl section. - + Keylock - + Toggling keylock during playback may result in a momentary audio glitch. - + Toggle visibility of Loop Controls - + Toggle visibility of Beatjump Controls - + Toggle visibility of Rate Control - + Toggle visibility of Key Controls - + (while previewing) - + Places a cue point at the current position on the waveform. - + Stops track at cue point, OR go to cue point and play after release (CUP mode). - + Set cue point (Pioneer/Mixxx/Numark mode), set cue point and play after release (CUP mode) OR preview from it (Denon mode). - + Is latching the playing state. - + Seeks the track to the cue point and stops. - + Play 재생 - + Plays track from the cue point. - + Sends the selected channel's audio to the headphone output, selected in Preferences -> Sound Hardware. - + (This skin should be updated to use Sync Lock!) - + Enable Sync Lock - + Tap to sync the tempo to other playing tracks or the sync leader. - + Enable Sync Leader - + When enabled, this device will serve as the sync leader for all other decks. - + This is relevant when a dynamic tempo track is loaded to a sync leader deck.In that case, other synced devices will adopt the changing tempo. - + Changes the track playback speed (affects both the tempo and the pitch). If keylock is enabled, only the tempo is affected. - + Tempo Range Display - + Displays the current range of the tempo slider. - + Un-ejects when no track is loaded, i.e. reloads the track that was ejected last (of any deck). - + Delete selected hotcue. - + Track Comment - + Displays the comment tag of the loaded track. - + Opens separate artwork viewer. - + Effect Chain Preset Settings - + Show the effect chain settings menu for this unit. - + Select and configure a hardware device for this input - + Recording Duration @@ -13449,926 +13557,932 @@ may introduce a 'pumping' effect and/or distortion. - + + Adjust beatgrid by exactly one half beat. Usable only on +tracks with constant tempo. + + + + Revert last BPM/Beatgrid Change - + Revert last BPM/Beatgrid Change of the loaded track. - - + + Toggle the BPM/beatgrid lock - + Tempo and Rate Tap - + Tempo, Rate Tap and BPM Tap - + Shift cues earlier - - + + Shift cues imported from Serato or Rekordbox if they are slightly off time. - + Left click: shift 10 milliseconds earlier - + Right click: shift 1 millisecond earlier - + Shift cues later - + Left click: shift 10 milliseconds later - + Right click: shift 1 millisecond later - - + + Drag a Hotcue button here to continue playing after releasing the Hotcue. - + Hint: Change the default cue mode in Preferences -> Decks. - + Mutes the selected channel's audio in the main output. - + Main mix enable - + Hold or short click for latching to mix this input into the main output. - + If hotcue is a loop cue, toggles the loop and jumps to if the loop is behind the play position. - + If the play position is inside an active loop, stores the loop as loop cue. - + Drag this button onto another Hotcue button to move it there (change its index). If the other hotcue is set, the two are swapped. - + Expand/Collapse Samplers - + Toggle expanded samplers view. - + Displays the duration of the running recording. - + Auto DJ is active - + Red for when needle skip has been detected. - + Hot Cue - Track will seek to nearest previous hotcue point. - + Sets the track Loop-In Marker to the current play position. - + Press and hold to move Loop-In Marker. - + Jump to Loop-In Marker. - + Sets the track Loop-Out Marker to the current play position. - + Press and hold to move Loop-Out Marker. - + Jump to Loop-Out Marker. - + If the track has no beats the unit is seconds. - + Beatloop Size - + Select the size of the loop in beats to set with the Beatloop button. - + Changing this resizes the loop if the loop already matches this size. - + Halve the size of an existing beatloop, or halve the size of the next beatloop set with the Beatloop button. - + Double the size of an existing beatloop, or double the size of the next beatloop set with the Beatloop button. - + Start a loop over the set number of beats. - + Temporarily enable a rolling loop over the set number of beats. - + Beatloop Anchor - + Define whether the loop is created and adjusted from its staring point or ending point. - + Beatjump/Loop Move Size - + Select the number of beats to jump or move the loop with the Beatjump Forward/Backward buttons. - + Beatjump Forward - + Jump forward by the set number of beats. - + Move the loop forward by the set number of beats. - + Jump forward by 1 beat. - + Move the loop forward by 1 beat. - + Beatjump Backward - + Jump backward by the set number of beats. - + Move the loop backward by the set number of beats. - + Jump backward by 1 beat. - + Move the loop backward by 1 beat. - + Reloop - + If the loop is ahead of the current position, looping will start when the loop is reached. - + Works only if Loop-In and Loop-Out Marker are set. - + Enable loop, jump to Loop-In Marker, and stop playback. - + Displays the elapsed and/or remaining time of the track loaded. - + Click to toggle between time elapsed/remaining time/both. - + Hint: Change the time format in Preferences -> Decks. - + Show/hide intro & outro markers and associated buttons. - + Intro Start Marker - - - - + + + + If marker is set, jumps to the marker. - - - - + + + + If marker is not set, sets the marker to the current play position. - - - - + + + + If marker is set, clears the marker. - + Intro End Marker - + Outro Start Marker - + Outro End Marker - + Mix - + Adjust the mixing of the dry (input) signal with the wet (output) signal of the effect unit - + D/W mode: Crossfade between dry and wet - + D+W mode: Add wet to dry - + Mix Mode - + Adjust how the dry (input) signal is mixed with the wet (output) signal of the effect unit - + Dry/Wet mode (crossed lines): Mix knob crossfades between dry and wet Use this to change the sound of the track with EQ and filter effects. - + Dry+Wet mode (flat dry line): Mix knob adds wet to dry Use this to change only the effected (wet) signal with EQ and filter effects. - + Route the main mix through this effect unit. - + Route the left crossfader bus through this effect unit. - + Route the right crossfader bus through this effect unit. - + Right side active: parameter moves with right half of Meta Knob turn - + Stem Label - + Name of the stem stored in the stem file - + Text is displayed in the stem color stored in the stem file - + this stem color is also used for the waveform of this stem - + Stem Mute - + Toggle the stem mute/unmuted - + Stem Volume Knob - + Adjusts the volume of the stem - + Skin Settings Menu - + Show/hide skin settings menu - + Save Sampler Bank - + Save the collection of samples loaded in the samplers. - + Load Sampler Bank - + Load a previously saved collection of samples into the samplers. - + Show Effect Parameters - + Enable Effect - + Meta Knob Link - + Set how this parameter is linked to the effect's Meta Knob. - + Meta Knob Link Inversion - + Inverts the direction this parameter moves when turning the effect's Meta Knob. - + Super Knob - + Next Chain - + Previous Chain - + Next/Previous Chain - + Clear - + Clear the current effect. - + Toggle - + Toggle the current effect. - + Next - + Clear Unit - + Clear effect unit. - + Show/hide parameters for effects in this unit. - + Toggle Unit - + Enable or disable this whole effect unit. - + Controls the Meta Knob of all effects in this unit together. - + Load next effect chain preset into this effect unit. - + Load previous effect chain preset into this effect unit. - + Load next or previous effect chain preset into this effect unit. - - - - + + + + Assign Effect Unit - + Assign this effect unit to the channel output. - + Route the headphone channel through this effect unit. - + Route this deck through the indicated effect unit. - + Route this sampler through the indicated effect unit. - + Route this microphone through the indicated effect unit. - + Route this auxiliary input through the indicated effect unit. - + The effect unit must also be assigned to a deck or other sound source to hear the effect. - + Switch to the next effect. - + Previous - + Switch to the previous effect. - + Next or Previous - + Switch to either the next or previous effect. - + Meta Knob - + Controls linked parameters of this effect - + Effect Focus Button - + Focuses this effect. - + Unfocuses this effect. - + Refer to the web page on the Mixxx wiki for your controller for more information. - + Effect Parameter - + Adjusts a parameter of the effect. - + Inactive: parameter not linked - + Active: parameter moves with Meta Knob - + Left side active: parameter moves with left half of Meta Knob turn - + Left and right side active: parameter moves across range with half of Meta Knob turn and back with the other half - - + + Equalizer Parameter Kill - - + + Holds the gain of the EQ to zero while active. - + Quick Effect Super Knob - + Quick Effect Super Knob (control linked effect parameters). - + Hint: Change the default Quick Effect mode in Preferences -> Equalizers. - + Equalizer Parameter - + Adjusts the gain of the EQ filter. - + Hint: Change the default EQ mode in Preferences -> Equalizers. - - + + Adjust Beatgrid - + Adjust beatgrid so the closest beat is aligned with the current play position. - - + + Adjust beatgrid to match another playing deck. - + If quantize is enabled, snaps to the nearest beat. - + Quantize - + Toggles quantization. - + Loops and cues snap to the nearest beat when quantization is enabled. - + Reverse - + Reverses track playback during regular playback. - + Puts a track into reverse while being held (Censor). - + Playback continues where the track would have been if it had not been temporarily reversed. - - - + + + Play/Pause - + Jumps to the beginning of the track. - + Syncs the tempo (BPM) and phase to that of the other track, if BPM is detected on both. - + Syncs the tempo (BPM) to that of the other track, if BPM is detected on both. - + Sync and Reset Key - + Increases the pitch by one semitone. - + Decreases the pitch by one semitone. - + Enable Vinyl Control - + When disabled, the track is controlled by Mixxx playback controls. - + When enabled, the track responds to external vinyl control. - + Enable Passthrough - + Indicates that the audio buffer is too small to do all audio processing. - + Displays cover artwork of the loaded track. - + Displays options for editing cover artwork. - + Star Rating 별점 - + Assign ratings to individual tracks by clicking the stars. @@ -14503,33 +14617,33 @@ Use this to change only the effected (wet) signal with EQ and filter effects. - + Prevents the pitch from changing when the rate changes. - + Changes the number of hotcue buttons displayed in the deck - + Starts playing from the beginning of the track. - + Jumps to the beginning of the track and stops. - - + + Plays or pauses the track. - + (while playing) @@ -14549,215 +14663,215 @@ Use this to change only the effected (wet) signal with EQ and filter effects. - + (while stopped) - + Cue - + Headphone - + Mute 음소거 - + Old Synchronize - + Syncs to the first deck (in numerical order) that is playing a track and has a BPM. - + If no deck is playing, syncs to the first deck that has a BPM. - + Decks can't sync to samplers and samplers can only sync to decks. - + Hold for at least a second to enable sync lock for this deck. - + Decks with sync locked will all play at the same tempo, and decks that also have quantize enabled will always have their beats lined up. - + Resets the key to the original track key. - + Speed Control - - - + + + Changes the track pitch independent of the tempo. - + Increases the pitch by 10 cents. - + Decreases the pitch by 10 cents. - + Pitch Adjust - + Adjust the pitch in addition to the speed slider pitch. - + Opens a menu to clear hotcues or edit their labels and colors. - + Drag this button onto a Play button while previewing to continue playback after release. - + Dragging with Shift key pressed will not start previewing the hotcue. - + Record Mix - + Toggle mix recording. - + Enable Live Broadcasting - + Stream your mix over the Internet. - + Provides visual feedback for Live Broadcasting status: - + disabled, connecting, connected, failure. - + When enabled, the deck directly plays the audio arriving on the vinyl input. - + Playback will resume where the track would have been if it had not entered the loop. - + Loop Exit - + Turns the current loop off. - + Slip Mode 슬립 모드 - + When active, the playback continues muted in the background during a loop, reverse, scratch etc. - + Once disabled, the audible playback will resume where the track would have been. - + Track Key The musical key of a track - + Displays the musical key of the loaded track. - + Clock - + Displays the current time. - + Audio Latency Usage Meter - + Displays the fraction of latency used for audio processing. - + A high value indicates that audible glitches are likely. - + Do not enable keylock, effects or additional decks in this situation. - + Audio Latency Overload Indicator @@ -14802,254 +14916,254 @@ Use this to change only the effected (wet) signal with EQ and filter effects. - + Fast Rewind 빠른 되감기 - + Fast rewind through the track. - + Fast Forward 빨리감기 - + Fast forward through the track. - + Jumps to the end of the track. - + Sets the pitch to a key that allows a harmonic transition from the other track. Requires a detected key on both involved decks. - - - + + + Pitch Control - + Pitch Rate - + Displays the current playback rate of the track. - + Repeat - + When active the track will repeat if you go past the end or reverse before the start. - + Eject 꺼내다 - + Ejects track from the player. - + Hotcue - + If hotcue is set, jumps to the hotcue. - + If hotcue is not set, sets the hotcue to the current play position. - + Vinyl Control Mode - + Absolute mode - track position equals needle position and speed. - + Relative mode - track speed equals needle speed regardless of needle position. - + Constant mode - track speed equals last known-steady speed regardless of needle input. - + Vinyl Status - + Provides visual feedback for vinyl control status: - + Green for control enabled. - + Blinking yellow for when the needle reaches the end of the record. - + Loop-In Marker - + Loop-Out Marker - + Loop Halve - + Halves the current loop's length by moving the end marker. - + Deck immediately loops if past the new endpoint. - + Loop Double - + Doubles the current loop's length by moving the end marker. - + Beatloop - + Toggles the current loop on or off. - + Works only if Loop-In and Loop-Out marker are set. - + Vinyl Cueing Mode - + Determines how cue points are treated in vinyl control Relative mode: - + Off - Cue points ignored. - + One Cue - If needle is dropped after the cue point, track will seek to that cue point. - + Track Time - + Track Duration - + Displays the duration of the loaded track. - + Information is loaded from the track's metadata tags. - + Track Artist - + Displays the artist of the loaded track. - + Track Title - + Displays the title of the loaded track. - + Track Album 앨범 - + Displays the album name of the loaded track. 불려온 트랙의 앨범 이름을 보여줍니다. - + Track Artist/Title 트랙 작가/이름 - + Displays the artist and title of the loaded track. 불려온 트랙의 작가와 곡이름을 보여줍니다. @@ -15057,12 +15171,12 @@ Use this to change only the effected (wet) signal with EQ and filter effects. TrackCollection - + Hiding tracks - + The selected tracks are in the following playlists:%1Hiding them will remove them from these playlists. Continue? @@ -15277,47 +15391,47 @@ This can not be undone! WCueMenuPopup - + Cue number - + Cue position - + Edit cue label - + Label... - + Delete this cue - + Toggle this cue type between normal cue and saved loop - + Left-click: Use the old size or the current beatloop size as the loop size - + Right-click: Use the current play position as loop end if it is after the cue - + Hotcue #%1 @@ -15442,323 +15556,353 @@ This can not be undone! - Create &New Playlist + Search in Current View... + Search for tracks in the current library view + + + + + Ctrl+f + + + + + Search in Tracks Library... + + + + + Search in the internal track collection under "Tracks" in the library + + + + + Ctrl+Shift+F + + + + + Create &New Playlist + + + + Create a new playlist - + Ctrl+n - + Create New &Crate - + Create a new crate - + Ctrl+Shift+N - - + + &View - + Auto-hide menu bar - + Auto-hide the main menu bar when it's not used. - + May not be supported on all skins. - + Show Skin Settings Menu - + Show the Skin Settings Menu of the currently selected Skin - + Ctrl+1 Menubar|View|Show Skin Settings - + Show Microphone Section - + Show the microphone section of the Mixxx interface. - + Ctrl+2 Menubar|View|Show Microphone Section - + Show Vinyl Control Section - + Show the vinyl control section of the Mixxx interface. - + Ctrl+3 Menubar|View|Show Vinyl Control Section - + Show Preview Deck - + Show the preview deck in the Mixxx interface. - + Ctrl+4 Menubar|View|Show Preview Deck - + Show Cover Art - + Show cover art in the Mixxx interface. - + Ctrl+6 Menubar|View|Show Cover Art - + Maximize Library - + Maximize the track library to take up all the available screen space. - + Space Menubar|View|Maximize Library - + &Full Screen - + Display Mixxx using the full screen - + &Options - + &Vinyl Control - + Use timecoded vinyls on external turntables to control Mixxx - + Enable Vinyl Control &%1 - + &Record Mix - + Record your mix to a file - + Ctrl+R - + Enable Live &Broadcasting - + Stream your mixes to a shoutcast or icecast server - + Ctrl+L - + Enable &Keyboard Shortcuts - + Toggles keyboard shortcuts on or off - + Ctrl+` - + &Preferences - + Change Mixxx settings (e.g. playback, MIDI, controls) - + &Developer - + &Reload Skin - + Reload the skin - + Ctrl+Shift+R - + Developer &Tools - + Opens the developer tools dialog - + Ctrl+Shift+T - + Stats: &Experiment Bucket - + Enables experiment mode. Collects stats in the EXPERIMENT tracking bucket. - + Ctrl+Shift+E - + Stats: &Base Bucket - + Enables base mode. Collects stats in the BASE tracking bucket. - + Ctrl+Shift+B - + Deb&ugger Enabled - + Enables the debugger during skin parsing - + Ctrl+Shift+D - + &Help - + Show Keywheel menu title @@ -15775,74 +15919,74 @@ This can not be undone! - + Show keywheel tooltip text - + F12 Menubar|View|Show Keywheel - + &Community Support - + Get help with Mixxx - + &User Manual &사용설명서 - + Read the Mixxx user manual. Mixxx의 사용설명서를 읽어주세요. - + &Keyboard Shortcuts &단축키 - + Speed up your workflow with keyboard shortcuts. 단축키를 이용하여 작업속도를 높이세요. - + &Settings directory - + Open the Mixxx user settings directory. - + &Translate This Application &프로그램 번역 - + Help translate this application into your language. 자국어로 번역하는 일을 도와주세요. - + &About - + About the application 이 프로그램에 대해 @@ -15850,25 +15994,25 @@ This can not be undone! WOverview - + Passthrough - + Ready to play, analyzing... Text on waveform overview when file is playable but no waveform is visible - - + + Loading track... Text on waveform overview when file is cached from source - + Finalizing... Text on waveform overview during finalizing of waveform analysis @@ -15877,25 +16021,13 @@ This can not be undone! WSearchLineEdit - - Clear input - Clear the search bar input field - - - - - Ctrl+F - Search|Focus - - - - + Search noun 검색 - + Clear input @@ -15906,169 +16038,163 @@ This can not be undone! - + Clear the search bar input field - - Enter a string to search for + + Return - - Use operators like bpm:115-128, artist:BooFar, -year:1990 + + Enter a string to search for. - - For more information see User Manual > Mixxx Library + + Use operators like bpm:115-128, artist:BooFar, -year:1990. - Shortcut - 단축키 + See User Manual > Mixxx Library for more information. + - - Ctrl+F + + Focus/Select All (Search in current view) + Give search bar input focus - - Focus - Give search bar input focus + + Focus/Select All (Search in 'Tracks' library view) - - - Ctrl+Backspace + + Additional Shortcuts When Focused: - Shortcuts + Trigger search before search-as-you-type timeout or focus tracks view afterwards - Return + Esc or Ctrl+Return - Trigger search before search-as-you-type timeout orjump to tracks view afterwards + Immediately trigger search and focus tracks view + Exit search bar and leave focus - + Ctrl+Space - + Toggle search history Shows/hides the search history entries - + Delete or Backspace - - Delete query from history + + in search history - - Esc - - - - - Exit search - Exit search bar and leave focus + + Delete query from history WSearchRelatedTracksMenu - + Search related Tracks - + Key - + harmonic with %1 - + BPM 분당 박자수 - + between %1 and %2 - + Artist 악곡가 - + Album Artist 앨범 작가 - + Composer 작곡가 - + Title 제목 - + Album 앨범 - + Grouping 그룹핑 - + Year 년도 - + Genre 장르 - + Directory - + &Search selected @@ -16076,620 +16202,625 @@ This can not be undone! WTrackMenu - + Load to - + Deck - + Sampler - + Add to Playlist 재생목록에 추가 - + Crates 상자 - + Metadata - + Update external collections - + Cover Art 인장 - + Adjust BPM - + Select Color - - + + Analyze 분석 - - + + Delete Track Files - + Add to Auto DJ Queue (bottom) 자동 디제잉 대기열에 넣기 (아래로) - + Add to Auto DJ Queue (top) 자동 디제잉 대기열에 넣기 (위로) - + Add to Auto DJ Queue (replace) 자동 디제잉 대기열에 넣기 (교체) - + Preview Deck - + Remove 지우기 - + Remove from Playlist - + Remove from Crate - + Hide from Library 라이브러리에서 숨기기 - + Unhide from Library 라이브러리에서 숨김해제 - + Purge from Library - + Move Track File(s) to Trash - + Delete Files from Disk - + Properties - + Open in File Browser 파일 탐색기에서 열기 - + Select in Library - + Import From File Tags - + Import From MusicBrainz - + Export To File Tags - + BPM and Beatgrid - + Play Count 재생 횟수 - + Rating 별점 - + Cue Point 큐포인트 - - + + Hotcues 핫큐 - + Intro - + Outro - + Key - + ReplayGain 리플레이 게인 - + Waveform 웨이브폼 - + Comment 덛붙임 - + All 전체 - + Sort hotcues by position (remove offsets) - + Sort hotcues by position - + Lock BPM - + Unlock BPM - + Double BPM - + Halve BPM - + 2/3 BPM - + 3/4 BPM 3/4 BPM - + 4/3 BPM - + 3/2 BPM - + + Shift Beatgrid Half Beat + + + + Reanalyze - + Reanalyze (constant BPM) - + Reanalyze (variable BPM) - + Update ReplayGain from Deck Gain - + Deck %1 덱 %1 - + Importing metadata of %n track(s) from file tags - + Marking metadata of %n track(s) to be exported into file tags - - + + Create New Playlist 새 재생 목록 만들기 - + Enter name for new playlist: 새 재생 목록의 이름을 입력하세요: - + New Playlist 새 재생 목록 - - - + + + Playlist Creation Failed 재생 목록 생성 실패 - + A playlist by that name already exists. 해당 재생 목록 이름은 이미 존재합니다. - + A playlist cannot have a blank name. 재생 목록은 공백을 이름으로 가질 수 없습니다. - + An unknown error occurred while creating playlist: 재생 목록을 생성하는 도중에 알 수 없는 에러가 발생했습니다: - + Add to New Crate - + Scaling BPM of %n track(s) - + Undo BPM/beats change of %n track(s) - + Locking BPM of %n track(s) - + Unlocking BPM of %n track(s) - + Setting rating of %n track(s) - + Setting color of %n track(s) - + Resetting play count of %n track(s) - + Resetting beats of %n track(s) - + Clearing rating of %n track(s) - + Clearing comment of %n track(s) - + Removing main cue from %n track(s) - + Removing outro cue from %n track(s) - + Removing intro cue from %n track(s) - + Removing loop cues from %n track(s) - + Removing hot cues from %n track(s) - + Sorting hotcues of %n track(s) by position (remove offsets) - + Sorting hotcues of %n track(s) by position - + Resetting keys of %n track(s) - + Resetting replay gain of %n track(s) - + Resetting waveform of %n track(s) - + Resetting all performance metadata of %n track(s) - + Move these files to the trash bin? - + Permanently delete these files from disk? - - + + This can not be undone! - + Cancel - + Delete Files - + Okay - + Move Track File(s) to Trash? - + Track Files Deleted - + Track Files Moved To Trash - + %1 track files were moved to trash and purged from the Mixxx database. - + %1 track files were deleted from disk and purged from the Mixxx database. - + Track File Deleted - + Track file was deleted from disk and purged from the Mixxx database. - + The following %1 file(s) could not be deleted from disk - + This track file could not be deleted from disk - + Remaining Track File(s) - + Close - + Clear Reset metadata in right click track context menu in library - + Loops - + Clear BPM and Beatgrid - + Undo last BPM/beats change - + Move this track file to the trash bin? - + Permanently delete this track file from disk? - + All decks where these tracks are loaded will be stopped and the tracks will be ejected. - + All decks where this track is loaded will be stopped and the track will be ejected. - + Removing %n track file(s) from disk... - + Note: if you are in the Computer or Recording view you need to click the current view again to see changes. - + Track File Moved To Trash - + Track file was moved to trash and purged from the Mixxx database. - + Don't show again during this session - + The following %1 file(s) could not be moved to trash - + This track file could not be moved to trash - + Setting cover art of %n track(s) - + Reloading cover art of %n track(s) @@ -16705,37 +16836,37 @@ This can not be undone! WTrackStemMenu - + Load for stem mixing - + Load pre-mixed stereo track - + Load the "%1" stem - + Load multiple stem into a stereo deck - + Select stems to load - + Release "CTRL" to load the current selection - + Use "CTRL" to select multiple stems @@ -16743,37 +16874,37 @@ This can not be undone! WTrackTableView - + Confirm track hide - + Are you sure you want to hide the selected tracks? - + Are you sure you want to remove the selected tracks from AutoDJ queue? - + Are you sure you want to remove the selected tracks from this crate? - + Are you sure you want to remove the selected tracks from this playlist? - + Don't ask again during this session - + Confirm track removal @@ -16781,12 +16912,12 @@ This can not be undone! WTrackTableViewHeader - + Show or hide columns. - + Shuffle Tracks @@ -16794,52 +16925,52 @@ This can not be undone! mixxx::CoreServices - + fonts - + database - + effects - + audio interface - + decks - + library - + Choose music library directory 음악 라이브러리 디렉토리를 선택하세요 - + controllers - + Cannot open database 자료모음을 열 수 없음 - + Unable to establish a database connection. Mixxx requires QT with SQLite support. Please read the Qt SQL driver documentation for information on how to build it. @@ -16850,68 +16981,78 @@ Click OK to exit. mixxx::DlgLibraryExport - + Entire music library - - Selected crates + + Crates - + + Playlists + + + + + Selected crates/playlists + + + + Browse 탐색기 - + Export directory - + Database version - + Export - + Cancel - + Export Library to Engine DJ "Engine DJ" must not be translated - + Export Library To - + No Export Directory Chosen - + No export directory was chosen. Please choose a directory in order to export the music library. - + A database already exists in the chosen directory. Exported tracks will be added into this database. - + A database already exists in the chosen directory, but there was a problem loading it. Export is not guaranteed to succeed in this situation. @@ -16932,7 +17073,7 @@ Click OK to exit. mixxx::EnginePrimeExportJob - + Failed to export track %1 - %2: %3 %1 is the artist %2 is the title and %3 is the original error message @@ -16942,23 +17083,23 @@ Click OK to exit. mixxx::LibraryExporter - + Export Completed - - Exported %1 track(s) and %2 crate(s). + + Exported %1 track(s), %2 crate(s), and %3 playlist(s). - + Export Failed - - Exporting to Engine Prime... + + Exporting to Engine DJ... diff --git a/res/translations/mixxx_lb.qm b/res/translations/mixxx_lb.qm index 8c06dc2a9d7f2b203a606d5f807348d0a1164956..d10add87bcd971d435af3213825a1e9ede6bc9f2 100644 GIT binary patch delta 853 zcmXZaUr5tY6bJC{Z@=HwX*pf=Z)r~O&;I|PZc9UBh6P#=k&;Qcaz=kA8{1Q5B&7yn z02x@m#>t0ap14$WD_* zcSxs;blJfg*MZ&rq+0{ld=MyI`mYS*VshQ*>IHih7TLdm{k{Pdw2(U=kmeE6+Ddv$ zc$-wwYRbkT({sQqXIvm{>WovQ{Q~JuqiOagpt(x!I7*hrNXtCwN%JMC*lnuD$t~p~ zeHUr@McR5uyEo$+=~>}cRr7hXSLq)YEj0fnZFL!ckoFYmUQvcF-vyuv!cTSz;FiqmfvwGt?1|mIUL`M3}eRbrX{Pu=XG7$k|5# delta 781 zcmXZZTS${(7zgnGx9@#*THD-3nQS>|y2H1_x9wA>WOQ0s=nTvh${+%f?0^)miw;Hy z&?4G;%aWoXOa>VV^GYlvF(HbCz$i?-%8N!yffDfQ`#@oqblxEK zFJ$C1c+(27VStQIfVb@e+zbCy;k%MqiAN3asZQDb7Wl7AKuJ5f{w}E{$zTC#ycHda z=YTJV-ToJV|2e6hC4=K+sEZ7jlCf4KXRZR)^W?g{r28}(NRdXXSWwDizGWO-QweBJ zGB84h^#3lA;d`W!7C}>6w||KZjL8>jPsw1O3_T>nEo3ashECoAYG1PKwP^rx(lJ3s zvShrAjRv0po{j8%>bA6T{Nls_8va7 z8j`D%jM&I%F`ut(22>YW#rbj>0}2-Ta;2P9xRVTj5Rqe7iAm-y(~E~*$swjevgi>R z|0I4hml6|B?lA@CMS{l_hd9T*&6_M*hwN!TY{_g}l-tgcRnM%6uFJCi-MVO81eC`l iA0TTQZ4rMRpc}S{`07=uqd;9t?k6wt - + Remove Crate as Track Source - + Auto DJ Auto Dj - + Confirmation Clear - + Do you really want to remove all tracks from the Auto DJ queue? - + This can not be undone. - + Add Crate as Track Source @@ -147,28 +147,28 @@ BasePlaylistFeature - + New Playlist Nei Playlist - + Add to Auto DJ Queue (bottom) An Playlescht Warteschlang setzen (Ennen) - + Create New Playlist - + Add to Auto DJ Queue (top) An Playlescht Warteschlang setzen (Uewen) - + Remove Läschen @@ -178,12 +178,12 @@ Ëmbenennen - + Lock Späer - + Duplicate @@ -204,24 +204,24 @@ - + Enter new name for playlist: - + Duplicate Playlist Playlescht dublizeieren - - + + Enter name for new playlist: - + Export Playlist Playlescht exportéieren @@ -231,70 +231,77 @@ - + + + Export to Engine DJ + "Engine DJ" is a product name and must not be translated. + + + + Rename Playlist Playlescht Embenennen - - + + Renaming Playlist Failed Embennen ass fehlgeschloen - - - + + + A playlist by that name already exists. Eng Playlescht mam selweschten Numm gett et schon - - - + + + A playlist cannot have a blank name. Eng Playlescht kann net Eidel sin - + _copy //: Appendix to default name when duplicating a playlist _kopéieren - - - - - - + + + + + + Playlist Creation Failed Playlescht konnt net erstallt gin - - + + An unknown error occurred while creating playlist: En onbekannten Fehler ass beim Erstellen vun der Playlescht opgetrueden: - + Confirm Deletion - + Do you really want to delete playlist <b>%1</b>? - + M3U Playlist (*.m3u) - + M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Text CSV (*.csv);;Readable Text (*.txt) M3U Playlescht (*.m3u);;M3U8 Playlescht (*.m3u8);;PLS Playlescht (*.pls);;Text CSV (*.csv);;LiesbarenText (*.txt) @@ -302,12 +309,12 @@ BaseSqlTableModel - + # # - + Timestamp Zäitstempel @@ -315,7 +322,7 @@ BaseTrackPlayerImpl - + Couldn't load track. Konnt net gelueden gin @@ -323,137 +330,142 @@ BaseTrackTableModel - + Album Album - + Album Artist - + Artist Kënschtler - + Bitrate Bitrate - + BPM BPM - + Channels - + Color - + Comment Kommentar - + Composer Komponist - + Cover Art - + Date Added Datum bäigesat - + Last Played - + Duration Dauer - + Type Typ - + Genre Genre - + Grouping - + Key - + Location Uertschaft - + + Overview + + + + Preview Virschau - + Rating Bewäertung - + ReplayGain - + Samplerate - + Played Gespielt - + Title Titel - + Track # Lied - + Year Joër - + Fetching image ... Tooltip text on the cover art column shown when the cover is read from disk @@ -541,67 +553,77 @@ BrowseFeature - + Add to Quick Links Quick Links dobäisetzen - + Remove from Quick Links Läschen vun den Quick Links - + Add to Library - + Refresh directory tree - + Quick Links Schnell Link - - + + Devices Geräter - + Removable Devices USB Geräter - - + + Computer - + Music Directory Added - + You added one or more music directories. The tracks in these directories won't be available until you rescan your library. Would you like to rescan now? - + Scan - + "Computer" lets you navigate, view, and load tracks from folders on your hard disk and external devices. + + + It shows the data from the file tags, not track data from your Mixxx library like other track views. + + + + + If you load a track file from here, it will be added to your library. + + BrowseTableModel @@ -747,87 +769,87 @@ CmdlineArgs - + Mixxx is an open source DJ software. For more information, see: - + Starts Mixxx in full-screen mode - + Use a custom locale for loading translations. (e.g 'fr') - + Top-level directory where Mixxx should look for its resource files such as MIDI mappings, overriding the default installation location. - + Path the debug statistics time line is written to - + Causes Mixxx to display/log all of the controller data it receives and script functions it loads - + The controller mapping will issue more aggressive warnings and errors when detecting misuse of controller APIs. New Controller Mappings should be developed with this option enabled! - + Enables developer-mode. Includes extra log info, stats on performance, and a Developer tools menu. - + Top-level directory where Mixxx should look for settings. Default is: - + Starts Auto DJ when Mixxx is launched. - + Rescans the library when Mixxx is launched. - + Use legacy vu meter - + Use legacy spinny - + Loads experimental QML GUI instead of legacy QWidget skin - + Enables safe-mode. Disables OpenGL waveforms, and spinning vinyl widgets. Try this option if Mixxx is crashing on startup. - + [auto|always|never] Use colors on the console output. - + Sets the verbosity of command line logging. critical - Critical/Fatal only warning - Above + Warnings @@ -837,27 +859,32 @@ trace - Above + Profiling messages - + Sets the the logging level at which the log buffer is flushed to mixxx.log. <level> is one of the values defined at --log-level above. - + Sets the maximum file size of the mixxx.log file in bytes. Use -1 for unlimited. The default is 100 MB as 1e5 or 100000000. - + Breaks (SIGINT) Mixxx, if a DEBUG_ASSERT evaluates to false. Under a debugger you can continue afterwards. - + + Overrides the default application GUI style. Possible values: %1 + + + + Load the specified music file(s) at start-up. Each file you specify will be loaded into the next virtual deck. - + Preview rendered controller screens in the Setting windows. @@ -1039,13 +1066,13 @@ trace - Above + Profiling messages - + Set to full volume - + Set to zero volume @@ -1070,13 +1097,13 @@ trace - Above + Profiling messages - + Headphone listen button - + Mute button @@ -1087,25 +1114,25 @@ trace - Above + Profiling messages - + Mix orientation (e.g. left, right, center) - + Set mix orientation to left - + Set mix orientation to center - + Set mix orientation to right @@ -1146,22 +1173,22 @@ trace - Above + Profiling messages - + Toggle quantize mode - + One-time beat sync (tempo only) - + One-time beat sync (phase only) - + Toggle keylock mode @@ -1171,193 +1198,193 @@ trace - Above + Profiling messages - + Vinyl Control - + Toggle vinyl-control cueing mode (OFF/ONE/HOT) - + Toggle vinyl-control mode (ABS/REL/CONST) - + Pass through external audio into the internal mixer - + Cues - + Cue button - + Set cue point - + Go to cue point - + Go to cue point and play - + Go to cue point and stop - + Preview from cue point - + Cue button (CDJ mode) - + Stutter cue - + Hotcues - + Set, preview from or jump to hotcue %1 - + Clear hotcue %1 - + Set hotcue %1 - + Jump to hotcue %1 - + Jump to hotcue %1 and stop - + Jump to hotcue %1 and play - + Preview from hotcue %1 - - + + Hotcue %1 - + Looping - + Loop In button - + Loop Out button - + Loop Exit button - + 1/2 - + 1 - + 2 - + 4 - + 8 - + 16 - + 32 - + 64 - + Move loop forward by %1 beats - + Move loop backward by %1 beats - + Create %1-beat loop - + Create temporary %1-beat loop roll @@ -1473,20 +1500,20 @@ trace - Above + Profiling messages - - + + Volume Fader - + Full Volume - + Zero Volume @@ -1502,7 +1529,7 @@ trace - Above + Profiling messages - + Mute @@ -1513,7 +1540,7 @@ trace - Above + Profiling messages - + Headphone Listen @@ -1534,25 +1561,25 @@ trace - Above + Profiling messages - + Orientation - + Orient Left - + Orient Center - + Orient Right @@ -1622,82 +1649,82 @@ trace - Above + Profiling messages - + Adjust Beatgrid - + Align beatgrid to current position - + Adjust Beatgrid - Match Alignment - + Adjust beatgrid to match another playing deck. - + Quantize Mode - + Sync - + Beat Sync One-Shot - + Sync Tempo One-Shot - + Sync Phase One-Shot - + Pitch control (does not affect tempo), center is original pitch - + Pitch Adjust - + Adjust pitch from speed slider pitch - + Match musical key - + Match Key - + Reset Key - + Resets key to original @@ -1738,451 +1765,451 @@ trace - Above + Profiling messages - + Toggle Vinyl Control - + Toggle Vinyl Control (ON/OFF) - + Vinyl Control Mode - + Vinyl Control Cueing Mode - + Vinyl Control Passthrough - + Vinyl Control Next Deck - + Single deck mode - Switch vinyl control to next deck - + Cue - + Set Cue - + Go-To Cue - + Go-To Cue And Play - + Go-To Cue And Stop - + Preview Cue - + Cue (CDJ Mode) - + Stutter Cue - + Go to cue point and play after release - + Clear Hotcue %1 - + Set Hotcue %1 - + Jump To Hotcue %1 - + Jump To Hotcue %1 And Stop - + Jump To Hotcue %1 And Play - + Preview Hotcue %1 - + Loop In - + Loop Out - + Loop Exit - + Reloop/Exit Loop - + Loop Halve - + Loop Double - + 1/32 - + 1/16 - + 1/8 - + 1/4 - + Move Loop +%1 Beats - + Move Loop -%1 Beats - + Loop %1 Beats - + Loop Roll %1 Beats - + Add to Auto DJ Queue (bottom) An Playlescht Warteschlang setzen (Ennen) - + Append the selected track to the Auto DJ Queue - + Add to Auto DJ Queue (top) An Playlescht Warteschlang setzen (Uewen) - + Prepend selected track to the Auto DJ Queue - + Load Track - + Load selected track - + Load selected track and play - - + + Record Mix - + Toggle mix recording - + Effects - + Quick Effects - + Deck %1 Quick Effect Super Knob - + Quick Effect Super Knob (control linked effect parameters) - - + + Quick Effect - + Clear Unit - + Clear effect unit - + Toggle Unit - + Dry/Wet - + Adjust the balance between the original (dry) and processed (wet) signal. - + Super Knob - + Next Chain - + Assign - + Clear - + Clear the current effect - + Toggle - + Toggle the current effect - + Next Nächsten - + Switch to next effect - + Previous Fierderun - + Switch to the previous effect - + Next or Previous - + Switch to either next or previous effect - - + + Parameter Value - - + + Microphone Ducking Strength - + Microphone Ducking Mode - + Gain - + Gain knob - + Shuffle the content of the Auto DJ queue - + Skip the next track in the Auto DJ queue - + Auto DJ Toggle - + Toggle Auto DJ On/Off - + Show/hide the microphone & auxiliary section - + 4 Effect Units Show/Hide - + Switches between showing 2 and 4 effect units - + Mixer Show/Hide - + Show or hide the mixer. - + Cover Art Show/Hide (Library) - + Show/hide cover art in the library - + Library Maximize/Restore - + Maximize the track library to take up all the available screen space. - + Effect Rack Show/Hide - + Show/hide the effect rack - + Waveform Zoom Out @@ -2197,102 +2224,102 @@ trace - Above + Profiling messages - + Tap to sync tempo (and phase with quantize enabled), hold to enable permanent sync - + One-time beat sync tempo (and phase with quantize enabled) - + Playback Speed - + Playback speed control (Vinyl "Pitch" slider) - + Pitch (Musical key) - + Increase Speed - + Adjust speed faster (coarse) - + Increase Speed (Fine) - + Adjust speed faster (fine) - + Decrease Speed - + Adjust speed slower (coarse) - + Adjust speed slower (fine) - + Temporarily Increase Speed - + Temporarily increase speed (coarse) - + Temporarily Increase Speed (Fine) - + Temporarily increase speed (fine) - + Temporarily Decrease Speed - + Temporarily decrease speed (coarse) - + Temporarily Decrease Speed (Fine) - + Temporarily decrease speed (fine) @@ -2444,1041 +2471,1063 @@ trace - Above + Profiling messages - - + + Move Beatgrid Half a Beat + + + + + Adjust the beatgrid by exactly one half beat. Usable only for tracks with constant tempo. + + + + + Toggle the BPM/beatgrid lock - + Revert last BPM/Beatgrid Change - + Revert last BPM/Beatgrid Change of the loaded track. - + Sync / Sync Lock - + Internal Sync Leader - + Toggle Internal Sync Leader - - + + Internal Leader BPM - + Internal Leader BPM +1 - + Increase internal Leader BPM by 1 - + Internal Leader BPM -1 - + Decrease internal Leader BPM by 1 - + Internal Leader BPM +0.1 - + Increase internal Leader BPM by 0.1 - + Internal Leader BPM -0.1 - + Decrease internal Leader BPM by 0.1 - + Sync Leader - + Sync mode 3-state toggle / indicator (Off, Soft Leader, Explicit Leader) - + Speed - + Decrease Speed (Fine) - + Pitch (Musical Key) - + Increase Pitch - + Increases the pitch by one semitone - + Increase Pitch (Fine) - + Increases the pitch by 10 cents - + Decrease Pitch - + Decreases the pitch by one semitone - + Decrease Pitch (Fine) - + Decreases the pitch by 10 cents - + Keylock - + CUP (Cue + Play) - + Shift cue points earlier - + Shift cue points 10 milliseconds earlier - + Shift cue points earlier (fine) - + Shift cue points 1 millisecond earlier - + Shift cue points later - + Shift cue points 10 milliseconds later - + Shift cue points later (fine) - + Shift cue points 1 millisecond later - + + + Sort hotcues by position + + + + + + Sort hotcues by position (remove offsets) + + + + Hotcues %1-%2 - + Intro / Outro Markers - + Intro Start Marker - + Intro End Marker - + Outro Start Marker - + Outro End Marker - + intro start marker - + intro end marker - + outro start marker - + outro end marker - + Activate %1 [intro/outro marker - + Jump to or set the %1 [intro/outro marker - + Set %1 [intro/outro marker - + Set or jump to the %1 [intro/outro marker - + Clear %1 [intro/outro marker - + Clear the %1 [intro/outro marker - + if the track has no beats the unit is seconds - + Loop Selected Beats - + Create a beat loop of selected beat size - + Loop Roll Selected Beats - + Create a rolling beat loop of selected beat size - + Loop %1 Beats set from its end point - + Loop Roll %1 Beats set from its end point - + Create %1-beat loop with the current play position as loop end - + Create temporary %1-beat loop roll with the current play position as loop end - + Loop Beats - + Loop Roll Beats - + Go To Loop In - + Go to Loop In button - + Go To Loop Out - + Go to Loop Out button - + Toggle loop on/off and jump to Loop In point if loop is behind play position - + Reloop And Stop - + Enable loop, jump to Loop In point, and stop - + Halve the loop length - + Double the loop length - + Beat Jump / Loop Move - + Jump / Move Loop Forward %1 Beats - + Jump / Move Loop Backward %1 Beats - + Jump forward by %1 beats, or if a loop is enabled, move the loop forward %1 beats - + Jump backward by %1 beats, or if a loop is enabled, move the loop backward %1 beats - + Beat Jump / Loop Move Forward Selected Beats - + Jump forward by the selected number of beats, or if a loop is enabled, move the loop forward by the selected number of beats - + Beat Jump / Loop Move Backward Selected Beats - + Jump backward by the selected number of beats, or if a loop is enabled, move the loop backward by the selected number of beats - + Beat Jump - + Indicate which loop marker remain static when adjusting the size or is inherited from the current position - + Beat Jump / Loop Move Forward - + Beat Jump / Loop Move Backward - + Loop Move Forward - + Loop Move Backward - + Remove Temporary Loop - + Remove the temporary loop - + Navigation - + Move up - + Equivalent to pressing the UP key on the keyboard - + Move down - + Equivalent to pressing the DOWN key on the keyboard - + Move up/down - + Move vertically in either direction using a knob, as if pressing UP/DOWN keys - + Scroll Up - + Equivalent to pressing the PAGE UP key on the keyboard - + Scroll Down - + Equivalent to pressing the PAGE DOWN key on the keyboard - + Scroll up/down - + Scroll vertically in either direction using a knob, as if pressing PGUP/PGDOWN keys - + Move left - + Equivalent to pressing the LEFT key on the keyboard - + Move right - + Equivalent to pressing the RIGHT key on the keyboard - + Move left/right - + Move horizontally in either direction using a knob, as if pressing LEFT/RIGHT keys - + Move focus to right pane - + Equivalent to pressing the TAB key on the keyboard - + Move focus to left pane - + Equivalent to pressing the SHIFT+TAB key on the keyboard - + Move focus to right/left pane - + Move focus one pane to right or left using a knob, as if pressing TAB/SHIFT+TAB keys - + Sort focused column - + Sort the column of the cell that is currently focused, equivalent to clicking on its header - + Go to the currently selected item - + Choose the currently selected item and advance forward one pane if appropriate - + Load Track and Play - + Add to Auto DJ Queue (replace) - + Replace Auto DJ Queue with selected tracks - + Select next search history - + Selects the next search history entry - + Select previous search history - + Selects the previous search history entry - + Move selected search entry - + Moves the selected search history item into given direction and steps - + Clear search - + Clears the search query - - + + Select Next Color Available - + Select the next color in the color palette for the first selected track - - + + Select Previous Color Available - + Select the previous color in the color palette for the first selected track - + Deck %1 Quick Effect Enable Button - + Quick Effect Enable Button - + Enable or disable effect processing - + Super Knob (control effects' Meta Knobs) - + Mix Mode Toggle - + Toggle effect unit between D/W and D+W modes - + Next chain preset - + Previous Chain - + Previous chain preset - + Next/Previous Chain - + Next or previous chain preset - - + + Show Effect Parameters - + Effect Unit Assignment - + Meta Knob - + Effect Meta Knob (control linked effect parameters) - + Meta Knob Mode - + Set how linked effect parameters change when turning the Meta Knob. - + Meta Knob Mode Invert - + Invert how linked effect parameters change when turning the Meta Knob. - - + + Button Parameter Value - + Microphone / Auxiliary - + Microphone On/Off - + Microphone on/off - + Toggle microphone ducking mode (OFF, AUTO, MANUAL) - + Auxiliary On/Off - + Auxiliary on/off - + Auto DJ Auto Dj - + Auto DJ Shuffle - + Auto DJ Skip Next - + Auto DJ Add Random Track - + Add a random track to the Auto DJ queue - + Auto DJ Fade To Next - + Trigger the transition to the next track - + User Interface - + Samplers Show/Hide - + Show/hide the sampler section - + Microphone && Auxiliary Show/Hide keep double & to prevent creation of keyboard accelerator - + Waveform Zoom Reset To Default - + Reset the waveform zoom level to the default value selected in Preferences -> Waveforms - + Select the next color in the color palette for the loaded track. - + Select previous color in the color palette for the loaded track. - + Navigate Through Track Colors - + Select either next or previous color in the palette for the loaded track. - + Start/Stop Live Broadcasting - + Stream your mix over the Internet. - + Start/stop recording your mix. - - + + Samplers - + Vinyl Control Show/Hide - + Show/hide the vinyl control section - + Preview Deck Show/Hide - + Show/hide the preview deck - + Toggle 4 Decks - + Switches between showing 2 decks and 4 decks. - + Cover Art Show/Hide (Decks) - + Show/hide cover art in the main decks - + Vinyl Spinner Show/Hide - + Show/hide spinning vinyl widget - + Vinyl Spinners Show/Hide (All Decks) - + Show/Hide all spinnies - + Toggle Waveforms - + Show/hide the scrolling waveforms. - + Waveform zoom - + Waveform Zoom - + Zoom waveform in - + Waveform Zoom In - + Zoom waveform out - + Star Rating Up - + Increase the track rating by one star - + Star Rating Down - + Decrease the track rating by one star @@ -3593,32 +3642,32 @@ trace - Above + Profiling messages ControllerScriptEngineBase - + The functionality provided by this controller mapping will be disabled until the issue has been resolved. - + You can ignore this error for this session but you may experience erratic behavior. - + Try to recover by resetting your controller. - + Controller Mapping Error - + The mapping for your controller "%1" is not working properly. - + The script code needs to be fixed. @@ -3662,13 +3711,13 @@ trace - Above + Profiling messages CrateFeature - + Remove Läschen - + Create New Crate @@ -3678,132 +3727,132 @@ trace - Above + Profiling messages Ëmbenennen - - + + Lock Späer - + Export Crate as Playlist - + Export Track Files - + Duplicate - + Analyze entire Crate - + Auto DJ Track Source - + Enter new name for crate: - - + + Crates Datei - - + + Import Crate Datei importeieren - + Export Crate Datei exporteieren - + Unlock Opgespart - + An unknown error occurred while creating crate: Een fehler ass opgetrueden bei der creatioun vun der datei - + Rename Crate datei embenimmen - - - Export to Engine Prime - - - - + Make a crate for your next gig, for your favorite electrohouse tracks, or for your most requested tracks. - + Confirm Deletion - - + + Renaming Crate Failed Fehler beim embenennen vun der datei - + Crate Creation Failed - + M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Text CSV (*.csv);;Readable Text (*.txt) M3U Playlescht (*.m3u);;M3U8 Playlescht (*.m3u8);;PLS Playlescht (*.pls);;Text CSV (*.csv);;LiesbarenText (*.txt) - + M3U Playlist (*.m3u) - + Crates are a great way to help organize the music you want to DJ with. - + + + Export to Engine DJ + + + + Crates let you organize your music however you'd like! - + Do you really want to delete crate <b>%1</b>? - + A crate cannot have a blank name. Eng datei muss een numm hun. - + A crate by that name already exists. Dest datei mat dem selweschten num gett et schon @@ -3898,12 +3947,12 @@ trace - Above + Profiling messages - + Official Website - + Donate @@ -4022,72 +4071,72 @@ trace - Above + Profiling messages DlgAutoDJ - + Skip Iwwersprangen - + Random - + Fade - + Enable Auto DJ Shortcut: Shift+F12 - + Disable Auto DJ Shortcut: Shift+F12 - + Trigger the transition to the next track Shortcut: Shift+F11 - + Skip the next track in the Auto DJ queue Shortcut: Shift+F10 - + Shuffle the content of the Auto DJ queue Shortcut: Shift+F9 - + Repeat the playlist - + Determines the duration of the transition - + Seconds - + Auto DJ Fade Modes Full Intro + Outro: @@ -4118,80 +4167,80 @@ crossfader, so that the intro starts at full volume. - + Full Intro + Outro - + Fade At Outro Start - + Full Track - + Skip Silence - + Skip Silence Start Full Volume - + Decks not used for Auto DJ must be stopped to enable Auto DJ mode. - + Repeat - + Auto DJ requires two decks assigned to opposite sides of the crossfader. - + One deck must be stopped to enable Auto DJ mode. - + Enable - + Disable - + Displays the duration and number of selected tracks. - - - + + + Auto DJ Auto Dj - + Shuffle - + Adds a random track from track sources (crates) to the Auto DJ queue. If no track sources are configured, the track is added from the library instead. @@ -4414,37 +4463,37 @@ Often results in higher quality beatgrids, but will not do well on tracks that h - + Didn't get any midi messages. Please try again. - + Unable to detect a mapping -- please try again. Be sure to only touch one control at once. - + Successfully mapped control: - + <i>Ready to learn %1</i> - + Learning: %1. Now move a control on your controller. - + The selected control does not exist.<br>This likely a bug. Please report it on the Mixxx bug tracker.<br><a href='https://github.com/mixxxdj/mixxx/issues'>https://github.com/mixxxdj/mixxx/issues</a><br><br>You tried to learn: %1,%2 - + The control you clicked in Mixxx is not learnable. This could be because you are either using an old skin and this control is no longer supported, or you clicked a control that provides visual feedback and can only be mapped to outputs like LEDs via scripts. @@ -4483,17 +4532,17 @@ You tried to learn: %1,%2 - + Log - + Search - + Stats @@ -5146,113 +5195,113 @@ associated with each key. DlgPrefController - + Apply device settings? - + Your settings must be applied before starting the learning wizard. Apply settings and continue? - + None Keen - + %1 by %2 - + Mapping has been edited - + Always overwrite during this session - + Save As - + Overwrite - + Save user mapping - + Enter the name for saving the mapping to the user folder. - + Saving mapping failed - + A mapping cannot have a blank name and may not contain special characters. - + A mapping file with that name already exists. - + Do you want to save the changes? - + Troubleshooting - + <font color='#BB0000'><b>If you use this mapping your controller may not work correctly. Please select another mapping or disable the controller.</b></font><br><br>This mapping was designed for a newer Mixxx Controller Engine and cannot be used on your current Mixxx installation.<br>Your Mixxx installation has Controller Engine version %1. This mapping requires a Controller Engine version >= %2.<br><br>For more information visit the wiki page on <a href='https://mixxx.org/wiki/doku.php/controller_engine_versions'>Controller Engine Versions</a>. - + Mapping already exists. - + <b>%1</b> already exists in user mapping folder.<br>Overwrite or save with a new name? - + Clear Input Mappings - + Are you sure you want to clear all input mappings? - + Clear Output Mappings - + Are you sure you want to clear all output mappings? @@ -5265,105 +5314,105 @@ Apply settings and continue? - + Enabled Aktiv - + Device Info - + Physical Interface: - + Vendor name: - + Product name: - + Vendor ID - + VID: - + Product ID - + PID: - + Serial number: - + USB interface number: - + HID Usage-Page: - + HID Usage: - + Description: - + Support: - + Screens preview - + Input Mappings - - + + Search - - + + Add Dobäifügen - - + + Remove Läschen @@ -5378,22 +5427,22 @@ Apply settings and continue? - + Load Mapping: - + Mapping Info - + Author: - + Name: @@ -5403,28 +5452,28 @@ Apply settings and continue? - + Data protocol: - + Mapping Files: - + Mapping Settings - - + + Clear All Alles ausmaachen - + Output Mappings @@ -5583,6 +5632,16 @@ Apply settings and continue? Multi-Sampling + + + Force 3D acceleration + + + + + If checked, Mixxx will always assume 3D acceleration is available. This may lead to pour performance if only CP-backed rendering is available.. + + Start in full-screen mode @@ -6174,62 +6233,62 @@ You can always drag-and-drop tracks on screen to clone a deck. DlgPrefInterface - + The minimum size of the selected skin is bigger than your screen resolution. - + Allow screensaver to run - + Prevent screensaver from running - + Prevent screensaver while playing - + Disabled - + 2x MSAA - + 4x MSAA - + 8x MSAA - + 16x MSAA - + This skin does not support color schemes - + Information Informatioun - + Mixxx must be restarted before the new locale, scaling or multi-sampling settings will take effect. @@ -6835,7 +6894,7 @@ and allows you to pitch adjust them for harmonic mixing. Crossfader Curve - + Crossfader Curve @@ -7396,173 +7455,172 @@ The loudness target is approximate and assumes track pregain and main output lev DlgPrefSound - + %1 Hz - + Default (long delay) - + Experimental (no delay) - + Disabled (short delay) - + Soundcard Clock - + Network Clock - + Direct monitor (recording and broadcasting only) - + Disabled - + Enabled Aktiv - + Stereo - + Mono - + To enable Realtime scheduling (currently disabled), see the %1. - + The %1 lists sound cards and controllers you may want to consider for using Mixxx. - + Mixxx DJ Hardware Guide - + Information - + Mixxx must be restarted before the multi-threaded RubberBand setting change will take effect. - + auto (<= 1024 frames/period) - + 2048 frames/period - + 4096 frames/period - + Are you sure? - + Distribute stereo channels into mono channels for parallel processing will result in a loss of mono compatibility and a diffuse stereo image. It is not recommended during broadcasting or recording. - + Are you sure you wish to proceed? - + No - + Yes, I know what I am doing - + Microphone inputs are out of time in the record & broadcast signal compared to what you hear. - + Measure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. - - + Refer to the Mixxx User Manual for details. - + Configured latency has changed. - + Remeasure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. - + Realtime scheduling is enabled. - + Main output only - + Main and booth outputs - + %1 ms - + Configuration error @@ -7580,131 +7638,131 @@ The loudness target is approximate and assumes track pregain and main output lev - + Sample Rate - + Audio Buffer - + Engine Clock - + Use soundcard clock for live audience setups and lowest latency.<br>Use network clock for broadcasting without a live audience. - + Main Mix - + Main Output Mode - + Microphone Monitor Mode - + Microphone Latency Compensation - - - - + + + + ms milliseconds - + 20 ms - + Buffer Underflow Count - + 0 - + Keylock/Pitch-Bending Engine - + Multi-Soundcard Synchronization - + Output - + Input - + System Reported Latency - + Enlarge your audio buffer if the underflow counter is increasing or you hear pops during playback. - + Main Output Delay - + Headphone Output Delay - + Booth Output Delay - + Dual-threaded Stereo - + Hints and Diagnostics - + Downsize your audio buffer to improve Mixxx's responsiveness. - + Query Devices @@ -7859,27 +7917,28 @@ The loudness target is approximate and assumes track pregain and main output lev - - 1/3rd of waveform viewer + + 1/3 of waveform viewer + options for "Text height limit" - - Full waveform viewer height + + Entire waveform viewer - + OpenGL not available - + dropped frames - + Cached waveforms occupy %1 MiB on disk. @@ -7892,250 +7951,256 @@ The loudness target is approximate and assumes track pregain and main output lev - + Frame rate - - Displays which OpenGL version is supported by the current platform. + + OpenGL Status - - Waveform + + Displays which OpenGL version is supported by the current platform. - + Normalize waveform overview - + Average frame rate - + Visual gain - + Default zoom level Waveform zoom - + Displays the actual frame rate. - + Visual gain of the middle frequencies - + End of track warning - - OpenGL status - - - - + This functionality requires waveform acceleration. - + Highlight the waveforms when the last seconds of a track remains. - + seconds - + Low - + Show minute markers on waveform overview - + Use acceleration - + High details - + Middle - + Global - + Visual gain of the high frequencies - + Visual gain of the low frequencies - + High - + Global visual gain - + The waveform overview shows the waveform envelope of the entire track. Select from different types of displays for the waveform overview, which differ primarily in the level of detail shown in the waveform. - + Enabled - + The waveform shows the waveform envelope of the track near the current playback position. Select from different types of displays for the waveform, which differ primarily in the level of detail shown in the waveform. - - Waveform overview type - - - - + fps - + Synchronize zoom level across all waveform displays. - + Synchronize zoom level across all waveforms - + Play marker hints - + Beats until next marker - + Preferred font size - + Text height limit - + Time until next marker - + Placement - + pt - + Caching - + Mixxx caches the waveforms of your tracks on disk the first time you load a track. This reduces CPU usage when you are playing live but requires extra disk space. - + Enable waveform caching - + Generate waveforms when analyzing library - + Beat grid opacity - + + Scrolling Waveforms + + + + + + Type + + + + Stereo coloration - + Set amount of opacity on beat grid lines. - + % % - + Play marker position - + Moves the play marker position on the waveforms to the left, right or center (default). - + + Overview Waveforms + + + + Clear Cached Waveforms @@ -8143,47 +8208,47 @@ Select from different types of displays for the waveform, which differ primarily DlgPreferences - + Sound Hardware - + Controllers - + Library - + Interface - + Waveforms - + Mixer - + Auto DJ Auto Dj - + Decks - + Colors @@ -8218,47 +8283,47 @@ Select from different types of displays for the waveform, which differ primarily - + Effects - + Recording - + Beat Detection - + Key Detection - + Normalization - + <font color='#BB0000'><b>Some preferences pages have errors. To apply the changes please first fix the issues.</b></font> - + Vinyl Control - + Live Broadcasting - + Modplug Decoder @@ -8291,22 +8356,22 @@ Select from different types of displays for the waveform, which differ primarily - + Start Recording - + Recording to file: - + Stop Recording - + %1 MiB written in %2 @@ -8614,284 +8679,284 @@ This can not be undone! - + Filetype: - + BPM: BPM - + Location: - + Bitrate: - + Comments - + BPM BPM - + Sets the BPM to 75% of the current value. - + 3/4 BPM - + Sets the BPM to 50% of the current value. - + Displays the BPM of the selected track. - + Track # Lied - + Album Artist - + Composer Komponist - + Title Titel - + Grouping - + Key - + Year Joër - + Artist Kënschtler - + Album Album - + Genre Genre - + ReplayGain: - + Sets the BPM to 200% of the current value. - + Double BPM - + Halve BPM - + Clear BPM and Beatgrid - + Move to the previous item. "Previous" button - + &Previous - + Move to the next item. "Next" button - + &Next - + Duration: - + Import Metadata from MusicBrainz - + Re-Import Metadata from file - + Color - + Date added: - + Open in File Browser - + Samplerate: - + Track BPM: - + Converts beats detected by the analyzer into a fixed-tempo beatgrid. Use this setting if your tracks have a constant tempo (e.g. most electronic music). Often results in higher quality beatgrids, but will not do well on tracks that have tempo shifts. - + Assume constant tempo - + Sets the BPM to 66% of the current value. - + 2/3 BPM - + Sets the BPM to 150% of the current value. - + 3/2 BPM - + Sets the BPM to 133% of the current value. - + 4/3 BPM - + Tap with the beat to set the BPM to the speed you are tapping. - + Tap to Beat - + Hint: Use the Library Analyze view to run BPM detection. - + Save changes and close the window. "OK" button - + &OK - + Discard changes and close the window. "Cancel" button - + Save changes and keep the window open. "Apply" button - + &Apply - + &Cancel - + (no color) @@ -9048,7 +9113,7 @@ Often results in higher quality beatgrids, but will not do well on tracks that h - + (no color) @@ -9250,27 +9315,27 @@ Often results in higher quality beatgrids, but will not do well on tracks that h EngineBuffer - + Soundtouch (faster) - + Rubberband (better) - + Rubberband R3 (near-hi-fi quality) - + Unknown, using Rubberband (better) - + Unknown, using Soundtouch @@ -9414,38 +9479,38 @@ Often results in higher quality beatgrids, but will not do well on tracks that h ITunesFeature - - + + iTunes - + Select your iTunes library - + (loading) iTunes - + Use Default Library - + Choose Library... - + Error Loading iTunes Library - + There was an error loading your iTunes library. Check the logs for details. @@ -9453,12 +9518,12 @@ Often results in higher quality beatgrids, but will not do well on tracks that h LegacyControllerColorSetting - + Change color - + Choose a new color @@ -9466,18 +9531,18 @@ Often results in higher quality beatgrids, but will not do well on tracks that h LegacyControllerFileSetting - + Browse... - - + + No file selected - + Select a file @@ -9485,15 +9550,15 @@ Often results in higher quality beatgrids, but will not do well on tracks that h LegacySkinParser - - + + Safe Mode Enabled Shown when Mixxx is running in safe mode. - - + + No OpenGL support. Shown when Spinny can not be displayed. Please keep @@ -9504,57 +9569,57 @@ Shown when VuMeter can not be displayed. Please keep - + activate - + toggle - + right - + left - + right small - + left small - + up - + down - + up small - + down small - + Shortcut @@ -9562,62 +9627,62 @@ Shown when VuMeter can not be displayed. Please keep Library - + This or a parent directory is already in your library. - + This or a listed directory does not exist or is inaccessible. Aborting the operation to avoid library inconsistencies - - + + This directory can not be read. - + An unknown error occurred. Aborting the operation to avoid library inconsistencies - + Can't add Directory to Library - + Could not add <b>%1</b> to your library. %2 - + Can't remove Directory from Library - + An unknown error occurred. - + This directory does not exist or is inaccessible. - + Relink Directory - + Could not relink <b>%1</b> to <b>%2</b>. %3 @@ -9627,22 +9692,22 @@ Aborting the operation to avoid library inconsistencies LibraryFeature - + Import Playlist Playlescht emportéieren - + Playlist Files (*.m3u *.m3u8 *.pls *.csv) Playlescht Fichieren (*.m3u *.m3u8 *.pls *.csv) - + Overwrite File? - + A playlist file with the name "%1" already exists. The default "m3u" extension was added because none was specified. @@ -9689,27 +9754,27 @@ Do you really want to overwrite it? MidiController - + MixxxControl(s) not found - + One or more MixxxControls specified in the outputs section of the loaded mapping were invalid. - + * Make sure the MixxxControls in question actually exist. Visit the manual for a complete list: - + Some LEDs or other feedback may not work correctly. - + * Check to see that the MixxxControl names are spelled correctly in the mapping file (.xml) @@ -9769,18 +9834,18 @@ Do you really want to overwrite it? MixxxLibraryFeature - + Missing Tracks - + Hidden Tracks - Export to Engine Prime + Export to Engine DJ @@ -9792,208 +9857,249 @@ Do you really want to overwrite it? MixxxMainWindow - + Sound Device Busy - + <b>Retry</b> after closing the other application or reconnecting a sound device - - - + + + <b>Reconfigure</b> Mixxx's sound device settings. - - + + Get <b>Help</b> from the Mixxx Wiki. - - - + + + <b>Exit</b> Mixxx. - + Retry - + skin - + Allow Mixxx to hide the menu bar? - + Hide Always show the menu bar? - + Always show - + The Mixxx menu bar is hidden and can be toggled with a single press of the <b>Alt</b> key.<br><br>Click <b>%1</b> to agree.<br><br>Click <b>%2</b> to disable that, for example if you don't use Mixxx with a keyboard.<br><br>You can change this setting any time in Preferences -> Interface.<br> Keep formatting tags <b> (bold text) and <br> (linebreak). %1 is the placeholder for the 'Always show' button label - + Ask me again - - + + Reconfigure - + Help - - + + Exit - - + + Mixxx was unable to open all the configured sound devices. - + Sound Device Error - + <b>Retry</b> after fixing an issue - + No Output Devices - + Mixxx was configured without any output sound devices. Audio processing will be disabled without a configured output device. - + <b>Continue</b> without any outputs. - + Continue - + Load track to Deck %1 - + Deck %1 is currently playing a track. - + Are you sure you want to load a new track? - + There is no input device selected for this vinyl control. Please select an input device in the sound hardware preferences first. - + There is no input device selected for this passthrough control. Please select an input device in the sound hardware preferences first. - + There is no input device selected for this microphone. Do you want to select an input device? - + There is no input device selected for this auxiliary. Do you want to select an input device? - + + Scan took %1 + + + + + No changes detected. + + + + + + %1 tracks in total + + + + + %1 new tracks found + + + + + %1 moved tracks detected + + + + + %1 tracks are missing (%2 total) + + + + + %1 tracks have been rediscovered + + + + + Library scan finished + + + + Error in skin file - + The selected skin cannot be loaded. - + OpenGL Direct Rendering - + Direct rendering is not enabled on your machine.<br><br>This means that the waveform displays will be very<br><b>slow and may tax your CPU heavily</b>. Either update your<br>configuration to enable direct rendering, or disable<br>the waveform displays in the Mixxx preferences by selecting<br>"Empty" as the waveform display in the 'Interface' section. - - - + + + Confirm Exit - + A deck is currently playing. Exit Mixxx? - + A sampler is currently playing. Exit Mixxx? - + The preferences window is still open. - + Discard any changes and exit Mixxx? @@ -10009,13 +10115,13 @@ Do you want to select an input device? PlaylistFeature - + Lock Späer - - + + Playlists @@ -10025,32 +10131,58 @@ Do you want to select an input device? - + + Unlock all playlists + + + + + Delete all unlocked playlists + + + + Unlock Opgespart - + + + Confirm Deletion + + + + + Do you really want to delete all unlocked playlists? + + + + + Deleting %1 unlocked playlists.<br>This operation can not be undone! + + + + Playlists are ordered lists of tracks that allow you to plan your DJ sets. - + It may be necessary to skip some tracks in your prepared playlist or add some different tracks in order to maintain the energy of your audience. - + Some DJs construct playlists before they perform live, but others prefer to build them on-the-fly. - + When using a playlist during a live DJ set, remember to always pay close attention to how your audience reacts to the music you've chosen to play. - + Create New Playlist @@ -11541,7 +11673,7 @@ Fully right: end of the effect period - + Deck %1 @@ -11674,7 +11806,7 @@ Hint: compensates "chipmunk" or "growling" voices - + Passthrough @@ -11705,7 +11837,7 @@ Hint: compensates "chipmunk" or "growling" voices - + Sampler %1 @@ -11838,12 +11970,12 @@ may introduce a 'pumping' effect and/or distortion. - + built-in - + missing @@ -11878,42 +12010,42 @@ may introduce a 'pumping' effect and/or distortion. - + Empty - + Simple - + Filtered - + HSV - + VSyncTest - + RGB - + Stacked - + Unknown @@ -11971,54 +12103,54 @@ may introduce a 'pumping' effect and/or distortion. RekordboxFeature - - - + + + Rekordbox - + Playlists - + Folders - + Reads databases exported for Pioneer CDJ / XDJ players using the Rekordbox Export mode.<br/>Rekordbox can only export to USB or SD devices with a FAT or HFS file system.<br/>Mixxx can read a database from any device that contains the database folders (<tt>PIONEER</tt> and <tt>Contents</tt>).<br/>Not supported are Rekordbox databases that have been moved to an external device via<br/><i>Preferences > Advanced > Database management</i>.<br/><br/>The following data is read: - + Hot cues - + Loops (only the first loop is currently usable in Mixxx) - + Check for attached Rekordbox USB / SD devices (refresh) - + Beatgrids - + Memory cues - + (loading) Rekordbox @@ -12153,19 +12285,19 @@ may introduce a 'pumping' effect and/or distortion. Späer - - + + Confirm Deletion - + Do you really want to delete all unlocked playlist from <b>%1</b>?<br><br> %1 is the year <b> + </b> are used to make the text in between bold in the popup <br> is a linebreak - + Deleting %1 playlists from <b>%2</b>.<br><br> %1 is the number of playlists to be deleted %2 is the year <b> + </b> are used to make the text in between bold in the popup <br> is a linebreak @@ -12577,7 +12709,7 @@ may introduce a 'pumping' effect and/or distortion. - + Spinning Vinyl @@ -12759,7 +12891,7 @@ may introduce a 'pumping' effect and/or distortion. - + Cover Art @@ -12995,197 +13127,197 @@ may introduce a 'pumping' effect and/or distortion. - + Adjust Beats Earlier - + When tapped, moves the beatgrid left by a small amount. - + Adjust Beats Later - + When tapped, moves the beatgrid right by a small amount. - + Tempo and BPM Tap - + Show/hide the spinning vinyl section. - + Keylock - + Toggling keylock during playback may result in a momentary audio glitch. - + Toggle visibility of Loop Controls - + Toggle visibility of Beatjump Controls - + Toggle visibility of Rate Control - + Toggle visibility of Key Controls - + (while previewing) - + Places a cue point at the current position on the waveform. - + Stops track at cue point, OR go to cue point and play after release (CUP mode). - + Set cue point (Pioneer/Mixxx/Numark mode), set cue point and play after release (CUP mode) OR preview from it (Denon mode). - + Is latching the playing state. - + Seeks the track to the cue point and stops. - + Play - + Plays track from the cue point. - + Sends the selected channel's audio to the headphone output, selected in Preferences -> Sound Hardware. - + (This skin should be updated to use Sync Lock!) - + Enable Sync Lock - + Tap to sync the tempo to other playing tracks or the sync leader. - + Enable Sync Leader - + When enabled, this device will serve as the sync leader for all other decks. - + This is relevant when a dynamic tempo track is loaded to a sync leader deck.In that case, other synced devices will adopt the changing tempo. - + Changes the track playback speed (affects both the tempo and the pitch). If keylock is enabled, only the tempo is affected. - + Tempo Range Display - + Displays the current range of the tempo slider. - + Un-ejects when no track is loaded, i.e. reloads the track that was ejected last (of any deck). - + Delete selected hotcue. - + Track Comment - + Displays the comment tag of the loaded track. - + Opens separate artwork viewer. - + Effect Chain Preset Settings - + Show the effect chain settings menu for this unit. - + Select and configure a hardware device for this input - + Recording Duration @@ -13423,924 +13555,932 @@ may introduce a 'pumping' effect and/or distortion. - + + Adjust beatgrid by exactly one half beat. Usable only on +tracks with constant tempo. + + + + Revert last BPM/Beatgrid Change - + Revert last BPM/Beatgrid Change of the loaded track. - - + + Toggle the BPM/beatgrid lock - + Tempo and Rate Tap - + Tempo, Rate Tap and BPM Tap - + Shift cues earlier - - + + Shift cues imported from Serato or Rekordbox if they are slightly off time. - + Left click: shift 10 milliseconds earlier - + Right click: shift 1 millisecond earlier - + Shift cues later - + Left click: shift 10 milliseconds later - + Right click: shift 1 millisecond later - + + + + Drag a Hotcue button here to continue playing after releasing the Hotcue. + + + + Hint: Change the default cue mode in Preferences -> Decks. - + Mutes the selected channel's audio in the main output. - + Main mix enable - + Hold or short click for latching to mix this input into the main output. - + If hotcue is a loop cue, toggles the loop and jumps to if the loop is behind the play position. - + If the play position is inside an active loop, stores the loop as loop cue. - + Drag this button onto another Hotcue button to move it there (change its index). If the other hotcue is set, the two are swapped. - - Dragging with Shift key pressed will not start previewing the hotcue - - - - + Expand/Collapse Samplers - + Toggle expanded samplers view. - + Displays the duration of the running recording. - + Auto DJ is active - + Red for when needle skip has been detected. - + Hot Cue - Track will seek to nearest previous hotcue point. - + Sets the track Loop-In Marker to the current play position. - + Press and hold to move Loop-In Marker. - + Jump to Loop-In Marker. - + Sets the track Loop-Out Marker to the current play position. - + Press and hold to move Loop-Out Marker. - + Jump to Loop-Out Marker. - + If the track has no beats the unit is seconds. - + Beatloop Size - + Select the size of the loop in beats to set with the Beatloop button. - + Changing this resizes the loop if the loop already matches this size. - + Halve the size of an existing beatloop, or halve the size of the next beatloop set with the Beatloop button. - + Double the size of an existing beatloop, or double the size of the next beatloop set with the Beatloop button. - + Start a loop over the set number of beats. - + Temporarily enable a rolling loop over the set number of beats. - + Beatloop Anchor - + Define whether the loop is created and adjusted from its staring point or ending point. - + Beatjump/Loop Move Size - + Select the number of beats to jump or move the loop with the Beatjump Forward/Backward buttons. - + Beatjump Forward - + Jump forward by the set number of beats. - + Move the loop forward by the set number of beats. - + Jump forward by 1 beat. - + Move the loop forward by 1 beat. - + Beatjump Backward - + Jump backward by the set number of beats. - + Move the loop backward by the set number of beats. - + Jump backward by 1 beat. - + Move the loop backward by 1 beat. - + Reloop - + If the loop is ahead of the current position, looping will start when the loop is reached. - + Works only if Loop-In and Loop-Out Marker are set. - + Enable loop, jump to Loop-In Marker, and stop playback. - + Displays the elapsed and/or remaining time of the track loaded. - + Click to toggle between time elapsed/remaining time/both. - + Hint: Change the time format in Preferences -> Decks. - + Show/hide intro & outro markers and associated buttons. - + Intro Start Marker - - - - + + + + If marker is set, jumps to the marker. - - - - + + + + If marker is not set, sets the marker to the current play position. - - - - + + + + If marker is set, clears the marker. - + Intro End Marker - + Outro Start Marker - + Outro End Marker - + Mix - + Adjust the mixing of the dry (input) signal with the wet (output) signal of the effect unit - + D/W mode: Crossfade between dry and wet - + D+W mode: Add wet to dry - + Mix Mode - + Adjust how the dry (input) signal is mixed with the wet (output) signal of the effect unit - + Dry/Wet mode (crossed lines): Mix knob crossfades between dry and wet Use this to change the sound of the track with EQ and filter effects. - + Dry+Wet mode (flat dry line): Mix knob adds wet to dry Use this to change only the effected (wet) signal with EQ and filter effects. - + Route the main mix through this effect unit. - + Route the left crossfader bus through this effect unit. - + Route the right crossfader bus through this effect unit. - + Right side active: parameter moves with right half of Meta Knob turn - + Stem Label - + Name of the stem stored in the stem file - + Text is displayed in the stem color stored in the stem file - + this stem color is also used for the waveform of this stem - + Stem Mute - + Toggle the stem mute/unmuted - + Stem Volume Knob - + Adjusts the volume of the stem - + Skin Settings Menu - + Show/hide skin settings menu - + Save Sampler Bank - + Save the collection of samples loaded in the samplers. - + Load Sampler Bank - + Load a previously saved collection of samples into the samplers. - + Show Effect Parameters - + Enable Effect - + Meta Knob Link - + Set how this parameter is linked to the effect's Meta Knob. - + Meta Knob Link Inversion - + Inverts the direction this parameter moves when turning the effect's Meta Knob. - + Super Knob - + Next Chain - + Previous Chain - + Next/Previous Chain - + Clear - + Clear the current effect. - + Toggle - + Toggle the current effect. - + Next Nächsten - + Clear Unit - + Clear effect unit. - + Show/hide parameters for effects in this unit. - + Toggle Unit - + Enable or disable this whole effect unit. - + Controls the Meta Knob of all effects in this unit together. - + Load next effect chain preset into this effect unit. - + Load previous effect chain preset into this effect unit. - + Load next or previous effect chain preset into this effect unit. - - - - - - - - - + + + + + + + + + Assign Effect Unit - + Assign this effect unit to the channel output. - + Route the headphone channel through this effect unit. - + Route this deck through the indicated effect unit. - + Route this sampler through the indicated effect unit. - + Route this microphone through the indicated effect unit. - + Route this auxiliary input through the indicated effect unit. - + The effect unit must also be assigned to a deck or other sound source to hear the effect. - + Switch to the next effect. - + Previous Fierderun - + Switch to the previous effect. - + Next or Previous - + Switch to either the next or previous effect. - + Meta Knob - + Controls linked parameters of this effect - + Effect Focus Button - + Focuses this effect. - + Unfocuses this effect. - + Refer to the web page on the Mixxx wiki for your controller for more information. - + Effect Parameter - + Adjusts a parameter of the effect. - + Inactive: parameter not linked - + Active: parameter moves with Meta Knob - + Left side active: parameter moves with left half of Meta Knob turn - + Left and right side active: parameter moves across range with half of Meta Knob turn and back with the other half - - + + Equalizer Parameter Kill - - + + Holds the gain of the EQ to zero while active. - + Quick Effect Super Knob - + Quick Effect Super Knob (control linked effect parameters). - + Hint: Change the default Quick Effect mode in Preferences -> Equalizers. - + Equalizer Parameter - + Adjusts the gain of the EQ filter. - + Hint: Change the default EQ mode in Preferences -> Equalizers. - - + + Adjust Beatgrid - + Adjust beatgrid so the closest beat is aligned with the current play position. - - + + Adjust beatgrid to match another playing deck. - + If quantize is enabled, snaps to the nearest beat. - + Quantize - + Toggles quantization. - + Loops and cues snap to the nearest beat when quantization is enabled. - + Reverse - + Reverses track playback during regular playback. - + Puts a track into reverse while being held (Censor). - + Playback continues where the track would have been if it had not been temporarily reversed. - - - + + + Play/Pause - + Jumps to the beginning of the track. - + Syncs the tempo (BPM) and phase to that of the other track, if BPM is detected on both. - + Syncs the tempo (BPM) to that of the other track, if BPM is detected on both. - + Sync and Reset Key - + Increases the pitch by one semitone. - + Decreases the pitch by one semitone. - + Enable Vinyl Control - + When disabled, the track is controlled by Mixxx playback controls. - + When enabled, the track responds to external vinyl control. - + Enable Passthrough - + Indicates that the audio buffer is too small to do all audio processing. - + Displays cover artwork of the loaded track. - + Displays options for editing cover artwork. - + Star Rating - + Assign ratings to individual tracks by clicking the stars. @@ -14475,33 +14615,33 @@ Use this to change only the effected (wet) signal with EQ and filter effects. - + Prevents the pitch from changing when the rate changes. - + Changes the number of hotcue buttons displayed in the deck - + Starts playing from the beginning of the track. - + Jumps to the beginning of the track and stops. - - + + Plays or pauses the track. - + (while playing) @@ -14521,205 +14661,215 @@ Use this to change only the effected (wet) signal with EQ and filter effects. - + (while stopped) - + Cue - + Headphone - + Mute - + Old Synchronize - + Syncs to the first deck (in numerical order) that is playing a track and has a BPM. - + If no deck is playing, syncs to the first deck that has a BPM. - + Decks can't sync to samplers and samplers can only sync to decks. - + Hold for at least a second to enable sync lock for this deck. - + Decks with sync locked will all play at the same tempo, and decks that also have quantize enabled will always have their beats lined up. - + Resets the key to the original track key. - + Speed Control - - - + + + Changes the track pitch independent of the tempo. - + Increases the pitch by 10 cents. - + Decreases the pitch by 10 cents. - + Pitch Adjust - + Adjust the pitch in addition to the speed slider pitch. - + Opens a menu to clear hotcues or edit their labels and colors. - + + Drag this button onto a Play button while previewing to continue playback after release. + + + + + Dragging with Shift key pressed will not start previewing the hotcue. + + + + Record Mix - + Toggle mix recording. - + Enable Live Broadcasting - + Stream your mix over the Internet. - + Provides visual feedback for Live Broadcasting status: - + disabled, connecting, connected, failure. - + When enabled, the deck directly plays the audio arriving on the vinyl input. - + Playback will resume where the track would have been if it had not entered the loop. - + Loop Exit - + Turns the current loop off. - + Slip Mode - + When active, the playback continues muted in the background during a loop, reverse, scratch etc. - + Once disabled, the audible playback will resume where the track would have been. - + Track Key The musical key of a track - + Displays the musical key of the loaded track. - + Clock - + Displays the current time. - + Audio Latency Usage Meter - + Displays the fraction of latency used for audio processing. - + A high value indicates that audible glitches are likely. - + Do not enable keylock, effects or additional decks in this situation. - + Audio Latency Overload Indicator @@ -14764,254 +14914,254 @@ Use this to change only the effected (wet) signal with EQ and filter effects. - + Fast Rewind - + Fast rewind through the track. - + Fast Forward - + Fast forward through the track. - + Jumps to the end of the track. - + Sets the pitch to a key that allows a harmonic transition from the other track. Requires a detected key on both involved decks. - - - + + + Pitch Control - + Pitch Rate - + Displays the current playback rate of the track. - + Repeat - + When active the track will repeat if you go past the end or reverse before the start. - + Eject - + Ejects track from the player. - + Hotcue - + If hotcue is set, jumps to the hotcue. - + If hotcue is not set, sets the hotcue to the current play position. - + Vinyl Control Mode - + Absolute mode - track position equals needle position and speed. - + Relative mode - track speed equals needle speed regardless of needle position. - + Constant mode - track speed equals last known-steady speed regardless of needle input. - + Vinyl Status - + Provides visual feedback for vinyl control status: - + Green for control enabled. - + Blinking yellow for when the needle reaches the end of the record. - + Loop-In Marker - + Loop-Out Marker - + Loop Halve - + Halves the current loop's length by moving the end marker. - + Deck immediately loops if past the new endpoint. - + Loop Double - + Doubles the current loop's length by moving the end marker. - + Beatloop - + Toggles the current loop on or off. - + Works only if Loop-In and Loop-Out marker are set. - + Vinyl Cueing Mode - + Determines how cue points are treated in vinyl control Relative mode: - + Off - Cue points ignored. - + One Cue - If needle is dropped after the cue point, track will seek to that cue point. - + Track Time - + Track Duration - + Displays the duration of the loaded track. - + Information is loaded from the track's metadata tags. - + Track Artist - + Displays the artist of the loaded track. - + Track Title - + Displays the title of the loaded track. - + Track Album Album - + Displays the album name of the loaded track. - + Track Artist/Title - + Displays the artist and title of the loaded track. @@ -15019,12 +15169,12 @@ Use this to change only the effected (wet) signal with EQ and filter effects. TrackCollection - + Hiding tracks - + The selected tracks are in the following playlists:%1Hiding them will remove them from these playlists. Continue? @@ -15032,47 +15182,42 @@ Use this to change only the effected (wet) signal with EQ and filter effects. TrackExportDlg - + Export finished - + Exporting %1 - - - Overwrite Existing File? - - - "%1" already exists, overwrite? + Replace Existing File? - - &Overwrite + + "%1" already exists, replace? - - Over&write All + + &Replace - - &Skip + + Apply to all files - Skip &All + &Skip - + Export Error @@ -15244,47 +15389,47 @@ This can not be undone! WCueMenuPopup - + Cue number - + Cue position - + Edit cue label - + Label... - + Delete this cue - + Toggle this cue type between normal cue and saved loop - + Left-click: Use the old size or the current beatloop size as the loop size - + Right-click: Use the current play position as loop end if it is after the cue - + Hotcue #%1 @@ -15408,407 +15553,438 @@ This can not be undone! - - E&xport Library to Engine Prime + + Search in Current View... - - Export the library to the Engine Prime format + + Search for tracks in the current library view + + + + + Ctrl+f - + + Search in Tracks Library... + + + + + Search in the internal track collection under "Tracks" in the library + + + + + Ctrl+Shift+F + + + + Create &New Playlist - + Create a new playlist - + Ctrl+n - + Create New &Crate - + Create a new crate - + Ctrl+Shift+N - - + + &View - + Auto-hide menu bar - + Auto-hide the main menu bar when it's not used. - + May not be supported on all skins. - + Show Skin Settings Menu - + Show the Skin Settings Menu of the currently selected Skin - + Ctrl+1 Menubar|View|Show Skin Settings - + Show Microphone Section - + Show the microphone section of the Mixxx interface. - + Ctrl+2 Menubar|View|Show Microphone Section - + Show Vinyl Control Section - + Show the vinyl control section of the Mixxx interface. - + Ctrl+3 Menubar|View|Show Vinyl Control Section - + Show Preview Deck - + Show the preview deck in the Mixxx interface. - + Ctrl+4 Menubar|View|Show Preview Deck - + Show Cover Art - + Show cover art in the Mixxx interface. - + Ctrl+6 Menubar|View|Show Cover Art - + Maximize Library - + Maximize the track library to take up all the available screen space. - + Space Menubar|View|Maximize Library - + &Full Screen - + Display Mixxx using the full screen - + &Options - + &Vinyl Control - + Use timecoded vinyls on external turntables to control Mixxx - + Enable Vinyl Control &%1 - + &Record Mix - + Record your mix to a file - + Ctrl+R - + Enable Live &Broadcasting - + Stream your mixes to a shoutcast or icecast server - + Ctrl+L - + Enable &Keyboard Shortcuts - + Toggles keyboard shortcuts on or off - + Ctrl+` - + &Preferences - + Change Mixxx settings (e.g. playback, MIDI, controls) - + &Developer - + &Reload Skin - + Reload the skin - + Ctrl+Shift+R - + Developer &Tools - + Opens the developer tools dialog - + Ctrl+Shift+T - + Stats: &Experiment Bucket - + Enables experiment mode. Collects stats in the EXPERIMENT tracking bucket. - + Ctrl+Shift+E - + Stats: &Base Bucket - + Enables base mode. Collects stats in the BASE tracking bucket. - + Ctrl+Shift+B - + Deb&ugger Enabled - + Enables the debugger during skin parsing - + Ctrl+Shift+D - + &Help - + Show Keywheel menu title - + + E&xport Library to Engine DJ + "Engine DJ" must not be translated + + + + + Export the library to the Engine DJ format + + + + Show keywheel tooltip text - + F12 Menubar|View|Show Keywheel - + &Community Support - + Get help with Mixxx - + &User Manual - + Read the Mixxx user manual. - + &Keyboard Shortcuts - + Speed up your workflow with keyboard shortcuts. - + &Settings directory - + Open the Mixxx user settings directory. - + &Translate This Application - + Help translate this application into your language. - + &About - + About the application @@ -15816,25 +15992,25 @@ This can not be undone! WOverview - + Passthrough - + Ready to play, analyzing... Text on waveform overview when file is playable but no waveform is visible - - + + Loading track... Text on waveform overview when file is cached from source - + Finalizing... Text on waveform overview during finalizing of waveform analysis @@ -15843,25 +16019,13 @@ This can not be undone! WSearchLineEdit - - Clear input - Clear the search bar input field - - - - - Ctrl+F - Search|Focus - - - - + Search noun - + Clear input @@ -15872,169 +16036,163 @@ This can not be undone! - + Clear the search bar input field - - Enter a string to search for + + Return - - Use operators like bpm:115-128, artist:BooFar, -year:1990 + + Enter a string to search for. - - For more information see User Manual > Mixxx Library + + Use operators like bpm:115-128, artist:BooFar, -year:1990. - Shortcut + See User Manual > Mixxx Library for more information. - - Ctrl+F + + Focus/Select All (Search in current view) + Give search bar input focus - - Focus - Give search bar input focus + + Focus/Select All (Search in 'Tracks' library view) - - - Ctrl+Backspace + + Additional Shortcuts When Focused: - Shortcuts + Trigger search before search-as-you-type timeout or focus tracks view afterwards - Return + Esc or Ctrl+Return - Trigger search before search-as-you-type timeout orjump to tracks view afterwards + Immediately trigger search and focus tracks view + Exit search bar and leave focus - + Ctrl+Space - + Toggle search history Shows/hides the search history entries - + Delete or Backspace - - Delete query from history + + in search history - - Esc - - - - - Exit search - Exit search bar and leave focus + + Delete query from history WSearchRelatedTracksMenu - + Search related Tracks - + Key - + harmonic with %1 - + BPM BPM - + between %1 and %2 - + Artist Kënschtler - + Album Artist - + Composer Komponist - + Title Titel - + Album Album - + Grouping - + Year Joër - + Genre Genre - + Directory - + &Search selected @@ -16042,599 +16200,625 @@ This can not be undone! WTrackMenu - + Load to - + Deck - + Sampler - + Add to Playlist - + Crates Datei - + Metadata - + Update external collections - + Cover Art - + Adjust BPM - + Select Color - - + + Analyze - - + + Delete Track Files - + Add to Auto DJ Queue (bottom) An Playlescht Warteschlang setzen (Ennen) - + Add to Auto DJ Queue (top) An Playlescht Warteschlang setzen (Uewen) - + Add to Auto DJ Queue (replace) - + Preview Deck - + Remove Läschen - + Remove from Playlist - + Remove from Crate - + Hide from Library - + Unhide from Library - + Purge from Library - + Move Track File(s) to Trash - + Delete Files from Disk - + Properties - + Open in File Browser - + Select in Library - + Import From File Tags - + Import From MusicBrainz - + Export To File Tags - + BPM and Beatgrid - + Play Count - + Rating Bewäertung - + Cue Point - + + Hotcues - + Intro - + Outro - + Key - + ReplayGain - + Waveform - + Comment Kommentar - + All - + + Sort hotcues by position (remove offsets) + + + + + Sort hotcues by position + + + + Lock BPM - + Unlock BPM - + Double BPM - + Halve BPM - + 2/3 BPM - + 3/4 BPM - + 4/3 BPM - + 3/2 BPM - + + Shift Beatgrid Half Beat + + + + Reanalyze - + Reanalyze (constant BPM) - + Reanalyze (variable BPM) - + Update ReplayGain from Deck Gain - + Deck %1 - + Importing metadata of %n track(s) from file tags - + Marking metadata of %n track(s) to be exported into file tags - - + + Create New Playlist - + Enter name for new playlist: - + New Playlist Nei Playlist - - - + + + Playlist Creation Failed Playlescht konnt net erstallt gin - + A playlist by that name already exists. Eng Playlescht mam selweschten Numm gett et schon - + A playlist cannot have a blank name. Eng Playlescht kann net Eidel sin - + An unknown error occurred while creating playlist: En onbekannten Fehler ass beim Erstellen vun der Playlescht opgetrueden: - + Add to New Crate - + Scaling BPM of %n track(s) - + Undo BPM/beats change of %n track(s) - + Locking BPM of %n track(s) - + Unlocking BPM of %n track(s) - + Setting rating of %n track(s) - + Setting color of %n track(s) - + Resetting play count of %n track(s) - + Resetting beats of %n track(s) - + Clearing rating of %n track(s) - + Clearing comment of %n track(s) - + Removing main cue from %n track(s) - + Removing outro cue from %n track(s) - + Removing intro cue from %n track(s) - + Removing loop cues from %n track(s) - + Removing hot cues from %n track(s) - + + Sorting hotcues of %n track(s) by position (remove offsets) + + + + + Sorting hotcues of %n track(s) by position + + + + Resetting keys of %n track(s) - + Resetting replay gain of %n track(s) - + Resetting waveform of %n track(s) - + Resetting all performance metadata of %n track(s) - + Move these files to the trash bin? - + Permanently delete these files from disk? - - + + This can not be undone! - + Cancel - + Delete Files - + Okay - + Move Track File(s) to Trash? - + Track Files Deleted - + Track Files Moved To Trash - + %1 track files were moved to trash and purged from the Mixxx database. - + %1 track files were deleted from disk and purged from the Mixxx database. - + Track File Deleted - + Track file was deleted from disk and purged from the Mixxx database. - + The following %1 file(s) could not be deleted from disk - + This track file could not be deleted from disk - + Remaining Track File(s) - + Close - + Clear Reset metadata in right click track context menu in library - + Loops - + Clear BPM and Beatgrid - + Undo last BPM/beats change - + Move this track file to the trash bin? - + Permanently delete this track file from disk? - + All decks where these tracks are loaded will be stopped and the tracks will be ejected. - + All decks where this track is loaded will be stopped and the track will be ejected. - + Removing %n track file(s) from disk... - + Note: if you are in the Computer or Recording view you need to click the current view again to see changes. - + Track File Moved To Trash - + Track file was moved to trash and purged from the Mixxx database. - + Don't show again during this session - + The following %1 file(s) could not be moved to trash - + This track file could not be moved to trash - + Setting cover art of %n track(s) - + Reloading cover art of %n track(s) @@ -16650,37 +16834,37 @@ This can not be undone! WTrackStemMenu - + Load for stem mixing - + Load pre-mixed stereo track - + Load the "%1" stem - + Load multiple stem into a stereo deck - + Select stems to load - + Release "CTRL" to load the current selection - + Use "CTRL" to select multiple stems @@ -16688,37 +16872,37 @@ This can not be undone! WTrackTableView - + Confirm track hide - + Are you sure you want to hide the selected tracks? - + Are you sure you want to remove the selected tracks from AutoDJ queue? - + Are you sure you want to remove the selected tracks from this crate? - + Are you sure you want to remove the selected tracks from this playlist? - + Don't ask again during this session - + Confirm track removal @@ -16726,60 +16910,65 @@ This can not be undone! WTrackTableViewHeader - + Show or hide columns. + + + Shuffle Tracks + + mixxx::CoreServices - + fonts - + database - + effects - + audio interface - + decks - + library - + Choose music library directory - + controllers - + Cannot open database - + Unable to establish a database connection. Mixxx requires QT with SQLite support. Please read the Qt SQL driver documentation for information on how to build it. @@ -16790,67 +16979,78 @@ Click OK to exit. mixxx::DlgLibraryExport - + Entire music library - - Selected crates + + Crates + + + + + Playlists + + + + + Selected crates/playlists - + Browse Duerchsichen - + Export directory - + Database version - + Export Exportéieren - + Cancel - - Export Library to Engine Prime + + Export Library to Engine DJ + "Engine DJ" must not be translated - + Export Library To - + No Export Directory Chosen - + No export directory was chosen. Please choose a directory in order to export the music library. - + A database already exists in the chosen directory. Exported tracks will be added into this database. - + A database already exists in the chosen directory, but there was a problem loading it. Export is not guaranteed to succeed in this situation. @@ -16871,7 +17071,7 @@ Click OK to exit. mixxx::EnginePrimeExportJob - + Failed to export track %1 - %2: %3 %1 is the artist %2 is the title and %3 is the original error message @@ -16881,23 +17081,23 @@ Click OK to exit. mixxx::LibraryExporter - + Export Completed - - Exported %1 track(s) and %2 crate(s). + + Exported %1 track(s), %2 crate(s), and %3 playlist(s). - + Export Failed - - Exporting to Engine Prime... + + Exporting to Engine DJ... diff --git a/res/translations/mixxx_nb.qm b/res/translations/mixxx_nb.qm index 2f93eacaa6eea3f96869c83f24c7c5a2a5ed10ad..72a1ab3fe588ae3b73017584801e02cee0b303d1 100644 GIT binary patch delta 508 zcmXBMJ!lgF7{>9pZ*q6Z^)6RqK}c(%MI)Aoiu7*&zDhLy()C(~C=nqVd+J&${yik;_YqzENL0DejC5tYIB#N|bvEx~hnIt9oRWH( zD0$q~@?g;uuYI;fRG;+L zW}T;cA9ln6w${)qrMSL=>yjQSr36y;5%-(p?LvOS1VUwFu#5RAkK zk=AgH8m^bCg1z9Z>xhCOmcbdz$u<2B8 z17k{zi(g?VDYlMc+o3v*h#DR$>+yaJ5_i-rR|EK`HrSfRYG8`3 wZ&0)-7dCOup>_&}mgZ6$9qlxZ^n|$n6aC}E&D%XK1G`uIu&|tLijP;+{|KX}4gdfE delta 817 zcmZY5TS${(7zgmjXWx$QU>SjPnT5_wiJ}~N(NK3#mn@>S=md?aD4L0zp|I>^Vln6D zv!ioCB{oQkGz4K6S<=ahF4V9~(Yxp-4TGRw{Xm2+UViV#`+xu6!+U2QA1|O^jT!p_ znu)^x+W?ir0H>exUhD>_Dh4nnd4phW@`aiaPYI z(h}a^?wbUQE(BmX#2ad-pg@m)pjp8P`lralb&8K&c*M%;X@%>;*l%(RrwWGSCIIiE zAeqJL57-3BSC^RY1aGCE09q5gk%wdxS0GGe; z298ir+=DS9jYPXQ_Ce^aDgjW9@anz1XCuPsEp}_LjA|u1nNKZDRItw|N5c{;28L)w zV#h!O)kwA2KS^$>SsmXadZXw9C^;&cp&tN;^F$x#*+a$bG%Gb@WH)JK^|ENG_-n@+ z8+MMmWjYKgDJ9dQ&q7PG798v(Te=;?i!_?vg8nkn$jwLws+C(Y^nhM4q6@?+v=~lO zu_6Zt=BP%|gV7r_s~Ex10(q467-nTkJr0;DPo>AfF{)MBF=(Wes$AUo%m(1QPJdL{ zICO@-+xCweGE&|W4H&=;ZO{xwPyr5bLKC>4bz@g2VQ&v2wv+~UTXRu`!`b9&bvWzj zcp__;e9KMqW>U0~G_NNL|4YbE)j8Un4Ic9qXS-{?cT0MQ2u$qH&dnx)$>m(HDcA|+ uaFrc3LpvMQ4Y_Q;22Gp6bW=y8JJ&_q5;-(|KAY4D3yt;WkDo|PDE - + Remove Crate as Track Source Fjern Kasse som Sporkilde - + Auto DJ Auto DJ - + Confirmation Clear - + Do you really want to remove all tracks from the Auto DJ queue? - + This can not be undone. - + Add Crate as Track Source Legg til Kasse som Sporkilde @@ -149,28 +149,28 @@ BasePlaylistFeature - + New Playlist Ny spilleliste - + Add to Auto DJ Queue (bottom) Legg til Automatisk DJ Kø - + Create New Playlist Opprett ny spilleliste - + Add to Auto DJ Queue (top) Legg til Automatisk DJ Kø (øverst) - + Remove Fjern @@ -180,12 +180,12 @@ Gi nytt navn - + Lock Lås - + Duplicate Duplikat @@ -206,24 +206,24 @@ Analysér hele spillelisten - + Enter new name for playlist: Skriv inn nytt navn for spilleliste: - + Duplicate Playlist Dupliser spillelisten - - + + Enter name for new playlist: Skriv inn nytt navn for spilleliste: - + Export Playlist Eksportér spilleliste @@ -233,70 +233,77 @@ - + + + Export to Engine DJ + "Engine DJ" is a product name and must not be translated. + + + + Rename Playlist Gi spillelisten nytt navn - - + + Renaming Playlist Failed Navngivning av spilleliste mislyktes - - - + + + A playlist by that name already exists. Det finnes allerede en spilleliste med det navnet. - - - + + + A playlist cannot have a blank name. Spillelisten kan ikke ha en tomt navn. - + _copy //: Appendix to default name when duplicating a playlist Kopier - - - - - - + + + + + + Playlist Creation Failed Oppretting av spilleliste mislyktes - - + + An unknown error occurred while creating playlist: Det oppstod en ukjent feil under oppretting av spilleliste: - + Confirm Deletion - + Do you really want to delete playlist <b>%1</b>? - + M3U Playlist (*.m3u) M3U spilleliste (*.m3u) - + M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Text CSV (*.csv);;Readable Text (*.txt) M3U Spilleliste (*.m3u);;M3U8 Spilleliste (*.m3u8);;PLS Spilleliste (*.pls);;Tekst CSV (*.csv);;Lesbar Tekst (*.txt) @@ -304,12 +311,12 @@ BaseSqlTableModel - + # # - + Timestamp Tidsstempel @@ -317,7 +324,7 @@ BaseTrackPlayerImpl - + Couldn't load track. Fikk ikke lastet sporet @@ -325,137 +332,142 @@ BaseTrackTableModel - + Album Album - + Album Artist Albumartist - + Artist Artist - + Bitrate Bithastighet - + BPM BPM - + Channels Kanaler - + Color - + Comment Kommentar - + Composer Komponist - + Cover Art Omslagsbilde - + Date Added Dato lagt til - + Last Played - + Duration Varighet - + Type Type - + Genre Sjanger - + Grouping Gruppering - + Key Tast - + Location Plassering - + + Overview + + + + Preview Forhåndsvisning - + Rating Vurdering - + ReplayGain Avspillingsnivå - + Samplerate - + Played Spilt - + Title Tittel - + Track # Spornummer # - + Year År - + Fetching image ... Tooltip text on the cover art column shown when the cover is read from disk @@ -543,67 +555,77 @@ BrowseFeature - + Add to Quick Links Legg til Hurtiglenker - + Remove from Quick Links Fjern fra Hurtiglenker - + Add to Library Legg til bibliotek - + Refresh directory tree - + Quick Links Hurtiglenker - - + + Devices Enheter - + Removable Devices Avtagbare enheter - - + + Computer Datamaskin - + Music Directory Added Musikkmappe lagt til - + You added one or more music directories. The tracks in these directories won't be available until you rescan your library. Would you like to rescan now? Du har lagt til én eller flere musikkmapper. Sporene i disse mappene vil ikke være tilgjengelig før du oppdaterer biblioteket. Vil du oppdatere nå? - + Scan Skann - + "Computer" lets you navigate, view, and load tracks from folders on your hard disk and external devices. + + + It shows the data from the file tags, not track data from your Mixxx library like other track views. + + + + + If you load a track file from here, it will be added to your library. + + BrowseTableModel @@ -749,87 +771,87 @@ CmdlineArgs - + Mixxx is an open source DJ software. For more information, see: - + Starts Mixxx in full-screen mode - + Use a custom locale for loading translations. (e.g 'fr') - + Top-level directory where Mixxx should look for its resource files such as MIDI mappings, overriding the default installation location. - + Path the debug statistics time line is written to - + Causes Mixxx to display/log all of the controller data it receives and script functions it loads - + The controller mapping will issue more aggressive warnings and errors when detecting misuse of controller APIs. New Controller Mappings should be developed with this option enabled! - + Enables developer-mode. Includes extra log info, stats on performance, and a Developer tools menu. - + Top-level directory where Mixxx should look for settings. Default is: - + Starts Auto DJ when Mixxx is launched. - + Rescans the library when Mixxx is launched. - + Use legacy vu meter - + Use legacy spinny - + Loads experimental QML GUI instead of legacy QWidget skin - + Enables safe-mode. Disables OpenGL waveforms, and spinning vinyl widgets. Try this option if Mixxx is crashing on startup. - + [auto|always|never] Use colors on the console output. - + Sets the verbosity of command line logging. critical - Critical/Fatal only warning - Above + Warnings @@ -839,27 +861,32 @@ trace - Above + Profiling messages - + Sets the the logging level at which the log buffer is flushed to mixxx.log. <level> is one of the values defined at --log-level above. - + Sets the maximum file size of the mixxx.log file in bytes. Use -1 for unlimited. The default is 100 MB as 1e5 or 100000000. - + Breaks (SIGINT) Mixxx, if a DEBUG_ASSERT evaluates to false. Under a debugger you can continue afterwards. - + + Overrides the default application GUI style. Possible values: %1 + + + + Load the specified music file(s) at start-up. Each file you specify will be loaded into the next virtual deck. - + Preview rendered controller screens in the Setting windows. @@ -1041,13 +1068,13 @@ trace - Above + Profiling messages - + Set to full volume Sett til fullt volum - + Set to zero volume @@ -1072,13 +1099,13 @@ trace - Above + Profiling messages - + Headphone listen button - + Mute button @@ -1089,25 +1116,25 @@ trace - Above + Profiling messages - + Mix orientation (e.g. left, right, center) - + Set mix orientation to left - + Set mix orientation to center - + Set mix orientation to right @@ -1148,22 +1175,22 @@ trace - Above + Profiling messages BPM tappeknapp - + Toggle quantize mode - + One-time beat sync (tempo only) - + One-time beat sync (phase only) - + Toggle keylock mode @@ -1173,194 +1200,194 @@ trace - Above + Profiling messages Hint - + Vinyl Control Vinylkontroll - + Toggle vinyl-control cueing mode (OFF/ONE/HOT) - + Toggle vinyl-control mode (ABS/REL/CONST) - + Pass through external audio into the internal mixer - + Cues Markører - + Cue button Markørknapp - + Set cue point Sett markørpunkt - + Go to cue point Gå til markørpunkt - + Go to cue point and play Gå til markørpunkt og spill - + Go to cue point and stop Gå til markørpunkt og stopp - + Preview from cue point - + Cue button (CDJ mode) - + Stutter cue - + Hotcues - + Set, preview from or jump to hotcue %1 - + Clear hotcue %1 - + Set hotcue %1 - + Jump to hotcue %1 - + Jump to hotcue %1 and stop - + Jump to hotcue %1 and play - + Preview from hotcue %1 - - + + Hotcue %1 - + Looping - + Loop In button - + Loop Out button - + Loop Exit button - + 1/2 1/2 - + 1 1 - + 2 2 - + 4 4 - + 8 8 - + 16 16 - + 32 32 - + 64 64 - + Move loop forward by %1 beats - + Move loop backward by %1 beats - + Create %1-beat loop - + Create temporary %1-beat loop roll @@ -1476,20 +1503,20 @@ Markørknapp - - + + Volume Fader - + Full Volume Fullt Volum - + Zero Volume @@ -1505,7 +1532,7 @@ Markørknapp - + Mute @@ -1516,7 +1543,7 @@ Markørknapp - + Headphone Listen @@ -1537,25 +1564,25 @@ Markørknapp - + Orientation - + Orient Left - + Orient Center - + Orient Right @@ -1625,82 +1652,82 @@ Markørknapp - + Adjust Beatgrid - + Align beatgrid to current position - + Adjust Beatgrid - Match Alignment - + Adjust beatgrid to match another playing deck. - + Quantize Mode - + Sync - + Beat Sync One-Shot - + Sync Tempo One-Shot - + Sync Phase One-Shot - + Pitch control (does not affect tempo), center is original pitch - + Pitch Adjust - + Adjust pitch from speed slider pitch - + Match musical key - + Match Key - + Reset Key - + Resets key to original @@ -1741,451 +1768,451 @@ Markørknapp - + Toggle Vinyl Control - + Toggle Vinyl Control (ON/OFF) - + Vinyl Control Mode Vinyl Kontrollmodus - + Vinyl Control Cueing Mode - + Vinyl Control Passthrough - + Vinyl Control Next Deck - + Single deck mode - Switch vinyl control to next deck - + Cue - + Set Cue - + Go-To Cue - + Go-To Cue And Play - + Go-To Cue And Stop - + Preview Cue - + Cue (CDJ Mode) - + Stutter Cue - + Go to cue point and play after release - + Clear Hotcue %1 - + Set Hotcue %1 - + Jump To Hotcue %1 - + Jump To Hotcue %1 And Stop - + Jump To Hotcue %1 And Play - + Preview Hotcue %1 - + Loop In - + Loop Out - + Loop Exit - + Reloop/Exit Loop - + Loop Halve - + Loop Double - + 1/32 - + 1/16 - + 1/8 - + 1/4 - + Move Loop +%1 Beats - + Move Loop -%1 Beats - + Loop %1 Beats - + Loop Roll %1 Beats - + Add to Auto DJ Queue (bottom) Legg til Automatisk DJ Kø - + Append the selected track to the Auto DJ Queue - + Add to Auto DJ Queue (top) Legg til Automatisk DJ Kø (øverst) - + Prepend selected track to the Auto DJ Queue - + Load Track - + Load selected track - + Load selected track and play - - + + Record Mix - + Toggle mix recording - + Effects Effekter - + Quick Effects - + Deck %1 Quick Effect Super Knob - + Quick Effect Super Knob (control linked effect parameters) - - + + Quick Effect - + Clear Unit - + Clear effect unit - + Toggle Unit - + Dry/Wet - + Adjust the balance between the original (dry) and processed (wet) signal. - + Super Knob - + Next Chain - + Assign - + Clear - + Clear the current effect - + Toggle - + Toggle the current effect - + Next Neste - + Switch to next effect - + Previous Forrige - + Switch to the previous effect - + Next or Previous - + Switch to either next or previous effect - - + + Parameter Value - - + + Microphone Ducking Strength - + Microphone Ducking Mode - + Gain - + Gain knob Forsterker knapp - + Shuffle the content of the Auto DJ queue - + Skip the next track in the Auto DJ queue - + Auto DJ Toggle - + Toggle Auto DJ On/Off - + Show/hide the microphone & auxiliary section - + 4 Effect Units Show/Hide - + Switches between showing 2 and 4 effect units - + Mixer Show/Hide - + Show or hide the mixer. - + Cover Art Show/Hide (Library) - + Show/hide cover art in the library - + Library Maximize/Restore - + Maximize the track library to take up all the available screen space. - + Effect Rack Show/Hide - + Show/hide the effect rack - + Waveform Zoom Out @@ -2200,102 +2227,102 @@ Markørknapp - + Tap to sync tempo (and phase with quantize enabled), hold to enable permanent sync - + One-time beat sync tempo (and phase with quantize enabled) - + Playback Speed - + Playback speed control (Vinyl "Pitch" slider) - + Pitch (Musical key) - + Increase Speed - + Adjust speed faster (coarse) - + Increase Speed (Fine) - + Adjust speed faster (fine) - + Decrease Speed - + Adjust speed slower (coarse) - + Adjust speed slower (fine) - + Temporarily Increase Speed - + Temporarily increase speed (coarse) - + Temporarily Increase Speed (Fine) - + Temporarily increase speed (fine) - + Temporarily Decrease Speed - + Temporarily decrease speed (coarse) - + Temporarily Decrease Speed (Fine) - + Temporarily decrease speed (fine) @@ -2447,1041 +2474,1063 @@ Markørknapp - - + + Move Beatgrid Half a Beat + + + + + Adjust the beatgrid by exactly one half beat. Usable only for tracks with constant tempo. + + + + + Toggle the BPM/beatgrid lock - + Revert last BPM/Beatgrid Change - + Revert last BPM/Beatgrid Change of the loaded track. - + Sync / Sync Lock - + Internal Sync Leader - + Toggle Internal Sync Leader - - + + Internal Leader BPM - + Internal Leader BPM +1 - + Increase internal Leader BPM by 1 - + Internal Leader BPM -1 - + Decrease internal Leader BPM by 1 - + Internal Leader BPM +0.1 - + Increase internal Leader BPM by 0.1 - + Internal Leader BPM -0.1 - + Decrease internal Leader BPM by 0.1 - + Sync Leader - + Sync mode 3-state toggle / indicator (Off, Soft Leader, Explicit Leader) - + Speed - + Decrease Speed (Fine) - + Pitch (Musical Key) - + Increase Pitch - + Increases the pitch by one semitone - + Increase Pitch (Fine) - + Increases the pitch by 10 cents - + Decrease Pitch - + Decreases the pitch by one semitone - + Decrease Pitch (Fine) - + Decreases the pitch by 10 cents - + Keylock - + CUP (Cue + Play) - + Shift cue points earlier - + Shift cue points 10 milliseconds earlier - + Shift cue points earlier (fine) - + Shift cue points 1 millisecond earlier - + Shift cue points later - + Shift cue points 10 milliseconds later - + Shift cue points later (fine) - + Shift cue points 1 millisecond later - + + + Sort hotcues by position + + + + + + Sort hotcues by position (remove offsets) + + + + Hotcues %1-%2 - + Intro / Outro Markers - + Intro Start Marker - + Intro End Marker - + Outro Start Marker - + Outro End Marker - + intro start marker - + intro end marker - + outro start marker - + outro end marker - + Activate %1 [intro/outro marker - + Jump to or set the %1 [intro/outro marker - + Set %1 [intro/outro marker - + Set or jump to the %1 [intro/outro marker - + Clear %1 [intro/outro marker - + Clear the %1 [intro/outro marker - + if the track has no beats the unit is seconds - + Loop Selected Beats - + Create a beat loop of selected beat size - + Loop Roll Selected Beats - + Create a rolling beat loop of selected beat size - + Loop %1 Beats set from its end point - + Loop Roll %1 Beats set from its end point - + Create %1-beat loop with the current play position as loop end - + Create temporary %1-beat loop roll with the current play position as loop end - + Loop Beats - + Loop Roll Beats - + Go To Loop In - + Go to Loop In button - + Go To Loop Out - + Go to Loop Out button - + Toggle loop on/off and jump to Loop In point if loop is behind play position - + Reloop And Stop - + Enable loop, jump to Loop In point, and stop - + Halve the loop length - + Double the loop length - + Beat Jump / Loop Move - + Jump / Move Loop Forward %1 Beats - + Jump / Move Loop Backward %1 Beats - + Jump forward by %1 beats, or if a loop is enabled, move the loop forward %1 beats - + Jump backward by %1 beats, or if a loop is enabled, move the loop backward %1 beats - + Beat Jump / Loop Move Forward Selected Beats - + Jump forward by the selected number of beats, or if a loop is enabled, move the loop forward by the selected number of beats - + Beat Jump / Loop Move Backward Selected Beats - + Jump backward by the selected number of beats, or if a loop is enabled, move the loop backward by the selected number of beats - + Beat Jump - + Indicate which loop marker remain static when adjusting the size or is inherited from the current position - + Beat Jump / Loop Move Forward - + Beat Jump / Loop Move Backward - + Loop Move Forward - + Loop Move Backward - + Remove Temporary Loop - + Remove the temporary loop - + Navigation - + Move up - + Equivalent to pressing the UP key on the keyboard - + Move down - + Equivalent to pressing the DOWN key on the keyboard - + Move up/down - + Move vertically in either direction using a knob, as if pressing UP/DOWN keys - + Scroll Up - + Equivalent to pressing the PAGE UP key on the keyboard - + Scroll Down - + Equivalent to pressing the PAGE DOWN key on the keyboard - + Scroll up/down - + Scroll vertically in either direction using a knob, as if pressing PGUP/PGDOWN keys - + Move left - + Equivalent to pressing the LEFT key on the keyboard - + Move right - + Equivalent to pressing the RIGHT key on the keyboard - + Move left/right - + Move horizontally in either direction using a knob, as if pressing LEFT/RIGHT keys - + Move focus to right pane - + Equivalent to pressing the TAB key on the keyboard - + Move focus to left pane - + Equivalent to pressing the SHIFT+TAB key on the keyboard - + Move focus to right/left pane - + Move focus one pane to right or left using a knob, as if pressing TAB/SHIFT+TAB keys - + Sort focused column - + Sort the column of the cell that is currently focused, equivalent to clicking on its header - + Go to the currently selected item - + Choose the currently selected item and advance forward one pane if appropriate - + Load Track and Play - + Add to Auto DJ Queue (replace) - + Replace Auto DJ Queue with selected tracks - + Select next search history - + Selects the next search history entry - + Select previous search history - + Selects the previous search history entry - + Move selected search entry - + Moves the selected search history item into given direction and steps - + Clear search - + Clears the search query - - + + Select Next Color Available - + Select the next color in the color palette for the first selected track - - + + Select Previous Color Available - + Select the previous color in the color palette for the first selected track - + Deck %1 Quick Effect Enable Button - + Quick Effect Enable Button - + Enable or disable effect processing - + Super Knob (control effects' Meta Knobs) - + Mix Mode Toggle - + Toggle effect unit between D/W and D+W modes - + Next chain preset - + Previous Chain - + Previous chain preset - + Next/Previous Chain - + Next or previous chain preset - - + + Show Effect Parameters - + Effect Unit Assignment - + Meta Knob - + Effect Meta Knob (control linked effect parameters) - + Meta Knob Mode - + Set how linked effect parameters change when turning the Meta Knob. - + Meta Knob Mode Invert - + Invert how linked effect parameters change when turning the Meta Knob. - - + + Button Parameter Value - + Microphone / Auxiliary - + Microphone On/Off - + Microphone on/off Mikrofon av/på - + Toggle microphone ducking mode (OFF, AUTO, MANUAL) - + Auxiliary On/Off - + Auxiliary on/off - + Auto DJ Auto DJ - + Auto DJ Shuffle - + Auto DJ Skip Next - + Auto DJ Add Random Track - + Add a random track to the Auto DJ queue - + Auto DJ Fade To Next - + Trigger the transition to the next track - + User Interface Brukergrensesnitt - + Samplers Show/Hide - + Show/hide the sampler section - + Microphone && Auxiliary Show/Hide keep double & to prevent creation of keyboard accelerator - + Waveform Zoom Reset To Default - + Reset the waveform zoom level to the default value selected in Preferences -> Waveforms - + Select the next color in the color palette for the loaded track. - + Select previous color in the color palette for the loaded track. - + Navigate Through Track Colors - + Select either next or previous color in the palette for the loaded track. - + Start/Stop Live Broadcasting - + Stream your mix over the Internet. - + Start/stop recording your mix. - - + + Samplers - + Vinyl Control Show/Hide - + Show/hide the vinyl control section - + Preview Deck Show/Hide - + Show/hide the preview deck - + Toggle 4 Decks - + Switches between showing 2 decks and 4 decks. - + Cover Art Show/Hide (Decks) - + Show/hide cover art in the main decks - + Vinyl Spinner Show/Hide - + Show/hide spinning vinyl widget - + Vinyl Spinners Show/Hide (All Decks) - + Show/Hide all spinnies - + Toggle Waveforms - + Show/hide the scrolling waveforms. - + Waveform zoom - + Waveform Zoom - + Zoom waveform in - + Waveform Zoom In - + Zoom waveform out - + Star Rating Up - + Increase the track rating by one star - + Star Rating Down - + Decrease the track rating by one star @@ -3596,32 +3645,32 @@ Markørknapp ControllerScriptEngineBase - + The functionality provided by this controller mapping will be disabled until the issue has been resolved. - + You can ignore this error for this session but you may experience erratic behavior. - + Try to recover by resetting your controller. - + Controller Mapping Error - + The mapping for your controller "%1" is not working properly. - + The script code needs to be fixed. @@ -3665,13 +3714,13 @@ Markørknapp CrateFeature - + Remove Fjern - + Create New Crate @@ -3681,132 +3730,132 @@ Markørknapp Gi nytt navn - - + + Lock Lås - + Export Crate as Playlist - + Export Track Files - + Duplicate Duplikat - + Analyze entire Crate - + Auto DJ Track Source - + Enter new name for crate: - - + + Crates Kasser - - + + Import Crate Importer Kasse - + Export Crate Eksporter Kasse - + Unlock Lås opp - + An unknown error occurred while creating crate: En ukjent feil oppstod under oppretting av kasse: - + Rename Crate Endra navn på Kasse - - - Export to Engine Prime - - - - + Make a crate for your next gig, for your favorite electrohouse tracks, or for your most requested tracks. - + Confirm Deletion - - + + Renaming Crate Failed Endring av kassenavn mislykket - + Crate Creation Failed - + M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Text CSV (*.csv);;Readable Text (*.txt) M3U Spilleliste (*.m3u);;M3U8 Spilleliste (*.m3u8);;PLS Spilleliste (*.pls);;Tekst CSV (*.csv);;Lesbar Tekst (*.txt) - + M3U Playlist (*.m3u) M3U spilleliste (*.m3u) - + Crates are a great way to help organize the music you want to DJ with. Kasser er en fin måte å organisere musikken du vil mikse med. - + + + Export to Engine DJ + + + + Crates let you organize your music however you'd like! Kasser lar deg organisere musikken som du vil! - + Do you really want to delete crate <b>%1</b>? - + A crate cannot have a blank name. En kasse kan ikke ha blankt navn. - + A crate by that name already exists. Det er allerede en kasse ved det navnet. @@ -3901,12 +3950,12 @@ Markørknapp Tidligere bidragsytere - + Official Website - + Donate @@ -4025,72 +4074,72 @@ Markørknapp DlgAutoDJ - + Skip Hopp over - + Random - + Fade - + Enable Auto DJ Shortcut: Shift+F12 - + Disable Auto DJ Shortcut: Shift+F12 - + Trigger the transition to the next track Shortcut: Shift+F11 - + Skip the next track in the Auto DJ queue Shortcut: Shift+F10 - + Shuffle the content of the Auto DJ queue Shortcut: Shift+F9 - + Repeat the playlist - + Determines the duration of the transition - + Seconds Sekunder - + Auto DJ Fade Modes Full Intro + Outro: @@ -4121,80 +4170,80 @@ crossfader, so that the intro starts at full volume. - + Full Intro + Outro - + Fade At Outro Start - + Full Track - + Skip Silence - + Skip Silence Start Full Volume - + Decks not used for Auto DJ must be stopped to enable Auto DJ mode. - + Repeat - + Auto DJ requires two decks assigned to opposite sides of the crossfader. - + One deck must be stopped to enable Auto DJ mode. - + Enable - + Disable - + Displays the duration and number of selected tracks. - - - + + + Auto DJ Auto DJ - + Shuffle Tilfeldig rekkefølge - + Adds a random track from track sources (crates) to the Auto DJ queue. If no track sources are configured, the track is added from the library instead. @@ -4417,37 +4466,37 @@ Often results in higher quality beatgrids, but will not do well on tracks that h - + Didn't get any midi messages. Please try again. - + Unable to detect a mapping -- please try again. Be sure to only touch one control at once. - + Successfully mapped control: - + <i>Ready to learn %1</i> - + Learning: %1. Now move a control on your controller. - + The selected control does not exist.<br>This likely a bug. Please report it on the Mixxx bug tracker.<br><a href='https://github.com/mixxxdj/mixxx/issues'>https://github.com/mixxxdj/mixxx/issues</a><br><br>You tried to learn: %1,%2 - + The control you clicked in Mixxx is not learnable. This could be because you are either using an old skin and this control is no longer supported, or you clicked a control that provides visual feedback and can only be mapped to outputs like LEDs via scripts. @@ -4486,17 +4535,17 @@ You tried to learn: %1,%2 - + Log - + Search Søk - + Stats @@ -5149,113 +5198,113 @@ associated with each key. DlgPrefController - + Apply device settings? - + Your settings must be applied before starting the learning wizard. Apply settings and continue? - + None Ingen - + %1 by %2 %1 av %2 - + Mapping has been edited - + Always overwrite during this session - + Save As - + Overwrite - + Save user mapping - + Enter the name for saving the mapping to the user folder. - + Saving mapping failed - + A mapping cannot have a blank name and may not contain special characters. - + A mapping file with that name already exists. - + Do you want to save the changes? - + Troubleshooting - + <font color='#BB0000'><b>If you use this mapping your controller may not work correctly. Please select another mapping or disable the controller.</b></font><br><br>This mapping was designed for a newer Mixxx Controller Engine and cannot be used on your current Mixxx installation.<br>Your Mixxx installation has Controller Engine version %1. This mapping requires a Controller Engine version >= %2.<br><br>For more information visit the wiki page on <a href='https://mixxx.org/wiki/doku.php/controller_engine_versions'>Controller Engine Versions</a>. - + Mapping already exists. - + <b>%1</b> already exists in user mapping folder.<br>Overwrite or save with a new name? - + Clear Input Mappings - + Are you sure you want to clear all input mappings? - + Clear Output Mappings - + Are you sure you want to clear all output mappings? @@ -5268,105 +5317,105 @@ Apply settings and continue? - + Enabled Slått på - + Device Info - + Physical Interface: - + Vendor name: - + Product name: - + Vendor ID - + VID: - + Product ID - + PID: - + Serial number: - + USB interface number: - + HID Usage-Page: - + HID Usage: - + Description: Beskrivelse: - + Support: - + Screens preview - + Input Mappings - - + + Search Søk - - + + Add Legg til - - + + Remove Fjern @@ -5381,22 +5430,22 @@ Apply settings and continue? - + Load Mapping: - + Mapping Info - + Author: - + Name: @@ -5406,28 +5455,28 @@ Apply settings and continue? - + Data protocol: - + Mapping Files: - + Mapping Settings - - + + Clear All Nullstill alle - + Output Mappings @@ -5586,6 +5635,16 @@ Apply settings and continue? Multi-Sampling + + + Force 3D acceleration + + + + + If checked, Mixxx will always assume 3D acceleration is available. This may lead to pour performance if only CP-backed rendering is available.. + + Start in full-screen mode @@ -6177,62 +6236,62 @@ You can always drag-and-drop tracks on screen to clone a deck. DlgPrefInterface - + The minimum size of the selected skin is bigger than your screen resolution. - + Allow screensaver to run - + Prevent screensaver from running - + Prevent screensaver while playing - + Disabled - + 2x MSAA - + 4x MSAA - + 8x MSAA - + 16x MSAA - + This skin does not support color schemes - + Information Informasjon - + Mixxx must be restarted before the new locale, scaling or multi-sampling settings will take effect. @@ -7399,173 +7458,172 @@ The loudness target is approximate and assumes track pregain and main output lev DlgPrefSound - + %1 Hz %1 Hz - + Default (long delay) - + Experimental (no delay) - + Disabled (short delay) - + Soundcard Clock - + Network Clock - + Direct monitor (recording and broadcasting only) - + Disabled - + Enabled Slått på - + Stereo Stereo - + Mono - + To enable Realtime scheduling (currently disabled), see the %1. - + The %1 lists sound cards and controllers you may want to consider for using Mixxx. - + Mixxx DJ Hardware Guide - + Information - + Mixxx must be restarted before the multi-threaded RubberBand setting change will take effect. - + auto (<= 1024 frames/period) - + 2048 frames/period - + 4096 frames/period - + Are you sure? - + Distribute stereo channels into mono channels for parallel processing will result in a loss of mono compatibility and a diffuse stereo image. It is not recommended during broadcasting or recording. - + Are you sure you wish to proceed? - + No - + Yes, I know what I am doing - + Microphone inputs are out of time in the record & broadcast signal compared to what you hear. - + Measure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. - - + Refer to the Mixxx User Manual for details. - + Configured latency has changed. - + Remeasure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. - + Realtime scheduling is enabled. - + Main output only - + Main and booth outputs - + %1 ms %1 ms - + Configuration error Feil i oppsettet @@ -7583,131 +7641,131 @@ The loudness target is approximate and assumes track pregain and main output lev - + Sample Rate Samplingsfrekvens - + Audio Buffer - + Engine Clock - + Use soundcard clock for live audience setups and lowest latency.<br>Use network clock for broadcasting without a live audience. - + Main Mix - + Main Output Mode - + Microphone Monitor Mode - + Microphone Latency Compensation - - - - + + + + ms milliseconds - + 20 ms - + Buffer Underflow Count - + 0 - + Keylock/Pitch-Bending Engine - + Multi-Soundcard Synchronization - + Output Utgang - + Input Inngang - + System Reported Latency - + Enlarge your audio buffer if the underflow counter is increasing or you hear pops during playback. - + Main Output Delay - + Headphone Output Delay - + Booth Output Delay - + Dual-threaded Stereo - + Hints and Diagnostics - + Downsize your audio buffer to improve Mixxx's responsiveness. - + Query Devices @@ -7862,27 +7920,28 @@ The loudness target is approximate and assumes track pregain and main output lev - - 1/3rd of waveform viewer + + 1/3 of waveform viewer + options for "Text height limit" - - Full waveform viewer height + + Entire waveform viewer - + OpenGL not available OpenGL ikke tilgjengelig - + dropped frames - + Cached waveforms occupy %1 MiB on disk. @@ -7895,250 +7954,256 @@ The loudness target is approximate and assumes track pregain and main output lev - + Frame rate - - Displays which OpenGL version is supported by the current platform. + + OpenGL Status - - Waveform + + Displays which OpenGL version is supported by the current platform. - + Normalize waveform overview - + Average frame rate - + Visual gain - + Default zoom level Waveform zoom - + Displays the actual frame rate. - + Visual gain of the middle frequencies - + End of track warning - - OpenGL status - - - - + This functionality requires waveform acceleration. - + Highlight the waveforms when the last seconds of a track remains. - + seconds sekunder - + Low Lav - + Show minute markers on waveform overview - + Use acceleration - + High details - + Middle - + Global - + Visual gain of the high frequencies - + Visual gain of the low frequencies - + High Høy - + Global visual gain - + The waveform overview shows the waveform envelope of the entire track. Select from different types of displays for the waveform overview, which differ primarily in the level of detail shown in the waveform. - + Enabled - + The waveform shows the waveform envelope of the track near the current playback position. Select from different types of displays for the waveform, which differ primarily in the level of detail shown in the waveform. - - Waveform overview type - - - - + fps - + Synchronize zoom level across all waveform displays. - + Synchronize zoom level across all waveforms - + Play marker hints - + Beats until next marker - + Preferred font size - + Text height limit - + Time until next marker - + Placement - + pt - + Caching - + Mixxx caches the waveforms of your tracks on disk the first time you load a track. This reduces CPU usage when you are playing live but requires extra disk space. - + Enable waveform caching - + Generate waveforms when analyzing library - + Beat grid opacity - + + Scrolling Waveforms + + + + + + Type + + + + Stereo coloration - + Set amount of opacity on beat grid lines. - + % % - + Play marker position - + Moves the play marker position on the waveforms to the left, right or center (default). - + + Overview Waveforms + + + + Clear Cached Waveforms @@ -8146,47 +8211,47 @@ Select from different types of displays for the waveform, which differ primarily DlgPreferences - + Sound Hardware - + Controllers - + Library Bibliotek - + Interface - + Waveforms - + Mixer Mikser - + Auto DJ Auto DJ - + Decks - + Colors @@ -8221,47 +8286,47 @@ Select from different types of displays for the waveform, which differ primarily - + Effects Effekter - + Recording Opptak - + Beat Detection - + Key Detection - + Normalization Normalisering - + <font color='#BB0000'><b>Some preferences pages have errors. To apply the changes please first fix the issues.</b></font> - + Vinyl Control Vinylkontroll - + Live Broadcasting Direkte Sending - + Modplug Decoder @@ -8294,22 +8359,22 @@ Select from different types of displays for the waveform, which differ primarily - + Start Recording Start opptak - + Recording to file: - + Stop Recording Stopp opptak - + %1 MiB written in %2 @@ -8617,284 +8682,284 @@ This can not be undone! - + Filetype: - + BPM: BPM - + Location: - + Bitrate: - + Comments Kommentarer - + BPM BPM - + Sets the BPM to 75% of the current value. - + 3/4 BPM 3/4 BPM - + Sets the BPM to 50% of the current value. - + Displays the BPM of the selected track. - + Track # Spornummer # - + Album Artist Albumartist - + Composer Komponist - + Title Tittel - + Grouping Gruppering - + Key Tast - + Year År - + Artist Artist - + Album Album - + Genre Sjanger - + ReplayGain: - + Sets the BPM to 200% of the current value. - + Double BPM Dobbel BPM - + Halve BPM Halv BPM - + Clear BPM and Beatgrid - + Move to the previous item. "Previous" button - + &Previous &Forrige - + Move to the next item. "Next" button - + &Next &Neste - + Duration: Varighet: - + Import Metadata from MusicBrainz - + Re-Import Metadata from file - + Color - + Date added: - + Open in File Browser Åpne i filutforsker - + Samplerate: - + Track BPM: - + Converts beats detected by the analyzer into a fixed-tempo beatgrid. Use this setting if your tracks have a constant tempo (e.g. most electronic music). Often results in higher quality beatgrids, but will not do well on tracks that have tempo shifts. - + Assume constant tempo - + Sets the BPM to 66% of the current value. - + 2/3 BPM 2/3 BPM - + Sets the BPM to 150% of the current value. - + 3/2 BPM - + Sets the BPM to 133% of the current value. - + 4/3 BPM - + Tap with the beat to set the BPM to the speed you are tapping. - + Tap to Beat - + Hint: Use the Library Analyze view to run BPM detection. - + Save changes and close the window. "OK" button - + &OK - + Discard changes and close the window. "Cancel" button - + Save changes and keep the window open. "Apply" button - + &Apply &Bruk - + &Cancel &Avbryt - + (no color) @@ -9051,7 +9116,7 @@ Often results in higher quality beatgrids, but will not do well on tracks that h - + (no color) @@ -9253,27 +9318,27 @@ Often results in higher quality beatgrids, but will not do well on tracks that h EngineBuffer - + Soundtouch (faster) - + Rubberband (better) - + Rubberband R3 (near-hi-fi quality) - + Unknown, using Rubberband (better) - + Unknown, using Soundtouch @@ -9417,38 +9482,38 @@ Often results in higher quality beatgrids, but will not do well on tracks that h ITunesFeature - - + + iTunes iTunes - + Select your iTunes library Velg ditt ITunes-bibliotek - + (loading) iTunes (laster) iTunes - + Use Default Library Bruk standardbiblioteket - + Choose Library... Velg bibliotek ... - + Error Loading iTunes Library Feil ved lasting av iTunes-bibliotek - + There was an error loading your iTunes library. Check the logs for details. @@ -9456,12 +9521,12 @@ Often results in higher quality beatgrids, but will not do well on tracks that h LegacyControllerColorSetting - + Change color - + Choose a new color @@ -9469,18 +9534,18 @@ Often results in higher quality beatgrids, but will not do well on tracks that h LegacyControllerFileSetting - + Browse... - - + + No file selected - + Select a file @@ -9488,15 +9553,15 @@ Often results in higher quality beatgrids, but will not do well on tracks that h LegacySkinParser - - + + Safe Mode Enabled Shown when Mixxx is running in safe mode. - - + + No OpenGL support. Shown when Spinny can not be displayed. Please keep @@ -9507,57 +9572,57 @@ Shown when VuMeter can not be displayed. Please keep - + activate - + toggle - + right - + left - + right small - + left small - + up - + down - + up small - + down small - + Shortcut Snarvei @@ -9565,62 +9630,62 @@ Shown when VuMeter can not be displayed. Please keep Library - + This or a parent directory is already in your library. - + This or a listed directory does not exist or is inaccessible. Aborting the operation to avoid library inconsistencies - - + + This directory can not be read. - + An unknown error occurred. Aborting the operation to avoid library inconsistencies - + Can't add Directory to Library - + Could not add <b>%1</b> to your library. %2 - + Can't remove Directory from Library - + An unknown error occurred. - + This directory does not exist or is inaccessible. - + Relink Directory - + Could not relink <b>%1</b> to <b>%2</b>. %3 @@ -9630,22 +9695,22 @@ Aborting the operation to avoid library inconsistencies LibraryFeature - + Import Playlist Importer spilleliste - + Playlist Files (*.m3u *.m3u8 *.pls *.csv) Spilleliste filer (*.m3u *.m3u8 *.pls *.csv) - + Overwrite File? - + A playlist file with the name "%1" already exists. The default "m3u" extension was added because none was specified. @@ -9692,27 +9757,27 @@ Do you really want to overwrite it? MidiController - + MixxxControl(s) not found - + One or more MixxxControls specified in the outputs section of the loaded mapping were invalid. - + * Make sure the MixxxControls in question actually exist. Visit the manual for a complete list: - + Some LEDs or other feedback may not work correctly. - + * Check to see that the MixxxControl names are spelled correctly in the mapping file (.xml) @@ -9772,18 +9837,18 @@ Do you really want to overwrite it? MixxxLibraryFeature - + Missing Tracks - + Hidden Tracks - Export to Engine Prime + Export to Engine DJ @@ -9795,208 +9860,249 @@ Do you really want to overwrite it? MixxxMainWindow - + Sound Device Busy - + <b>Retry</b> after closing the other application or reconnecting a sound device - - - + + + <b>Reconfigure</b> Mixxx's sound device settings. - - + + Get <b>Help</b> from the Mixxx Wiki. Finn <b>Hjelp</b> i Mixxx-wiki'en. - - - + + + <b>Exit</b> Mixxx. - + Retry Prøv igjen - + skin - + Allow Mixxx to hide the menu bar? - + Hide Always show the menu bar? - + Always show - + The Mixxx menu bar is hidden and can be toggled with a single press of the <b>Alt</b> key.<br><br>Click <b>%1</b> to agree.<br><br>Click <b>%2</b> to disable that, for example if you don't use Mixxx with a keyboard.<br><br>You can change this setting any time in Preferences -> Interface.<br> Keep formatting tags <b> (bold text) and <br> (linebreak). %1 is the placeholder for the 'Always show' button label - + Ask me again - - + + Reconfigure Sett opp på nytt - + Help Hjelp - - + + Exit Avslutt - - + + Mixxx was unable to open all the configured sound devices. - + Sound Device Error - + <b>Retry</b> after fixing an issue - + No Output Devices - + Mixxx was configured without any output sound devices. Audio processing will be disabled without a configured output device. - + <b>Continue</b> without any outputs. - + Continue Fortsett - + Load track to Deck %1 - + Deck %1 is currently playing a track. - + Are you sure you want to load a new track? - + There is no input device selected for this vinyl control. Please select an input device in the sound hardware preferences first. - + There is no input device selected for this passthrough control. Please select an input device in the sound hardware preferences first. - + There is no input device selected for this microphone. Do you want to select an input device? - + There is no input device selected for this auxiliary. Do you want to select an input device? - + + Scan took %1 + + + + + No changes detected. + + + + + + %1 tracks in total + + + + + %1 new tracks found + + + + + %1 moved tracks detected + + + + + %1 tracks are missing (%2 total) + + + + + %1 tracks have been rediscovered + + + + + Library scan finished + + + + Error in skin file - + The selected skin cannot be loaded. - + OpenGL Direct Rendering - + Direct rendering is not enabled on your machine.<br><br>This means that the waveform displays will be very<br><b>slow and may tax your CPU heavily</b>. Either update your<br>configuration to enable direct rendering, or disable<br>the waveform displays in the Mixxx preferences by selecting<br>"Empty" as the waveform display in the 'Interface' section. - - - + + + Confirm Exit - + A deck is currently playing. Exit Mixxx? - + A sampler is currently playing. Exit Mixxx? - + The preferences window is still open. - + Discard any changes and exit Mixxx? @@ -10012,13 +10118,13 @@ Do you want to select an input device? PlaylistFeature - + Lock Lås - - + + Playlists Spillelister @@ -10028,32 +10134,58 @@ Do you want to select an input device? - + + Unlock all playlists + + + + + Delete all unlocked playlists + + + + Unlock Lås opp - + + + Confirm Deletion + + + + + Do you really want to delete all unlocked playlists? + + + + + Deleting %1 unlocked playlists.<br>This operation can not be undone! + + + + Playlists are ordered lists of tracks that allow you to plan your DJ sets. - + It may be necessary to skip some tracks in your prepared playlist or add some different tracks in order to maintain the energy of your audience. - + Some DJs construct playlists before they perform live, but others prefer to build them on-the-fly. - + When using a playlist during a live DJ set, remember to always pay close attention to how your audience reacts to the music you've chosen to play. - + Create New Playlist Opprett ny spilleliste @@ -11544,7 +11676,7 @@ Fully right: end of the effect period - + Deck %1 Spiller %1 @@ -11677,7 +11809,7 @@ Hint: compensates "chipmunk" or "growling" voices - + Passthrough @@ -11708,7 +11840,7 @@ Hint: compensates "chipmunk" or "growling" voices - + Sampler %1 @@ -11841,12 +11973,12 @@ may introduce a 'pumping' effect and/or distortion. - + built-in - + missing @@ -11881,42 +12013,42 @@ may introduce a 'pumping' effect and/or distortion. - + Empty - + Simple - + Filtered - + HSV - + VSyncTest - + RGB - + Stacked - + Unknown @@ -11974,54 +12106,54 @@ may introduce a 'pumping' effect and/or distortion. RekordboxFeature - - - + + + Rekordbox - + Playlists Spillelister - + Folders - + Reads databases exported for Pioneer CDJ / XDJ players using the Rekordbox Export mode.<br/>Rekordbox can only export to USB or SD devices with a FAT or HFS file system.<br/>Mixxx can read a database from any device that contains the database folders (<tt>PIONEER</tt> and <tt>Contents</tt>).<br/>Not supported are Rekordbox databases that have been moved to an external device via<br/><i>Preferences > Advanced > Database management</i>.<br/><br/>The following data is read: - + Hot cues - + Loops (only the first loop is currently usable in Mixxx) - + Check for attached Rekordbox USB / SD devices (refresh) - + Beatgrids - + Memory cues - + (loading) Rekordbox @@ -12156,19 +12288,19 @@ may introduce a 'pumping' effect and/or distortion. Lås - - + + Confirm Deletion - + Do you really want to delete all unlocked playlist from <b>%1</b>?<br><br> %1 is the year <b> + </b> are used to make the text in between bold in the popup <br> is a linebreak - + Deleting %1 playlists from <b>%2</b>.<br><br> %1 is the number of playlists to be deleted %2 is the year <b> + </b> are used to make the text in between bold in the popup <br> is a linebreak @@ -12580,7 +12712,7 @@ may introduce a 'pumping' effect and/or distortion. - + Spinning Vinyl @@ -12762,7 +12894,7 @@ may introduce a 'pumping' effect and/or distortion. - + Cover Art Omslagsbilde @@ -12998,197 +13130,197 @@ may introduce a 'pumping' effect and/or distortion. - + Adjust Beats Earlier - + When tapped, moves the beatgrid left by a small amount. - + Adjust Beats Later - + When tapped, moves the beatgrid right by a small amount. - + Tempo and BPM Tap - + Show/hide the spinning vinyl section. - + Keylock - + Toggling keylock during playback may result in a momentary audio glitch. - + Toggle visibility of Loop Controls - + Toggle visibility of Beatjump Controls - + Toggle visibility of Rate Control - + Toggle visibility of Key Controls - + (while previewing) - + Places a cue point at the current position on the waveform. - + Stops track at cue point, OR go to cue point and play after release (CUP mode). - + Set cue point (Pioneer/Mixxx/Numark mode), set cue point and play after release (CUP mode) OR preview from it (Denon mode). - + Is latching the playing state. - + Seeks the track to the cue point and stops. - + Play Spill - + Plays track from the cue point. - + Sends the selected channel's audio to the headphone output, selected in Preferences -> Sound Hardware. - + (This skin should be updated to use Sync Lock!) - + Enable Sync Lock - + Tap to sync the tempo to other playing tracks or the sync leader. - + Enable Sync Leader - + When enabled, this device will serve as the sync leader for all other decks. - + This is relevant when a dynamic tempo track is loaded to a sync leader deck.In that case, other synced devices will adopt the changing tempo. - + Changes the track playback speed (affects both the tempo and the pitch). If keylock is enabled, only the tempo is affected. - + Tempo Range Display - + Displays the current range of the tempo slider. - + Un-ejects when no track is loaded, i.e. reloads the track that was ejected last (of any deck). - + Delete selected hotcue. - + Track Comment - + Displays the comment tag of the loaded track. - + Opens separate artwork viewer. - + Effect Chain Preset Settings - + Show the effect chain settings menu for this unit. - + Select and configure a hardware device for this input - + Recording Duration @@ -13426,924 +13558,932 @@ may introduce a 'pumping' effect and/or distortion. - + + Adjust beatgrid by exactly one half beat. Usable only on +tracks with constant tempo. + + + + Revert last BPM/Beatgrid Change - + Revert last BPM/Beatgrid Change of the loaded track. - - + + Toggle the BPM/beatgrid lock - + Tempo and Rate Tap - + Tempo, Rate Tap and BPM Tap - + Shift cues earlier - - + + Shift cues imported from Serato or Rekordbox if they are slightly off time. - + Left click: shift 10 milliseconds earlier - + Right click: shift 1 millisecond earlier - + Shift cues later - + Left click: shift 10 milliseconds later - + Right click: shift 1 millisecond later - + + + + Drag a Hotcue button here to continue playing after releasing the Hotcue. + + + + Hint: Change the default cue mode in Preferences -> Decks. - + Mutes the selected channel's audio in the main output. - + Main mix enable - + Hold or short click for latching to mix this input into the main output. - + If hotcue is a loop cue, toggles the loop and jumps to if the loop is behind the play position. - + If the play position is inside an active loop, stores the loop as loop cue. - + Drag this button onto another Hotcue button to move it there (change its index). If the other hotcue is set, the two are swapped. - - Dragging with Shift key pressed will not start previewing the hotcue - - - - + Expand/Collapse Samplers - + Toggle expanded samplers view. - + Displays the duration of the running recording. - + Auto DJ is active - + Red for when needle skip has been detected. - + Hot Cue - Track will seek to nearest previous hotcue point. - + Sets the track Loop-In Marker to the current play position. - + Press and hold to move Loop-In Marker. - + Jump to Loop-In Marker. - + Sets the track Loop-Out Marker to the current play position. - + Press and hold to move Loop-Out Marker. - + Jump to Loop-Out Marker. - + If the track has no beats the unit is seconds. - + Beatloop Size - + Select the size of the loop in beats to set with the Beatloop button. - + Changing this resizes the loop if the loop already matches this size. - + Halve the size of an existing beatloop, or halve the size of the next beatloop set with the Beatloop button. - + Double the size of an existing beatloop, or double the size of the next beatloop set with the Beatloop button. - + Start a loop over the set number of beats. - + Temporarily enable a rolling loop over the set number of beats. - + Beatloop Anchor - + Define whether the loop is created and adjusted from its staring point or ending point. - + Beatjump/Loop Move Size - + Select the number of beats to jump or move the loop with the Beatjump Forward/Backward buttons. - + Beatjump Forward - + Jump forward by the set number of beats. - + Move the loop forward by the set number of beats. - + Jump forward by 1 beat. - + Move the loop forward by 1 beat. - + Beatjump Backward - + Jump backward by the set number of beats. - + Move the loop backward by the set number of beats. - + Jump backward by 1 beat. - + Move the loop backward by 1 beat. - + Reloop - + If the loop is ahead of the current position, looping will start when the loop is reached. - + Works only if Loop-In and Loop-Out Marker are set. - + Enable loop, jump to Loop-In Marker, and stop playback. - + Displays the elapsed and/or remaining time of the track loaded. - + Click to toggle between time elapsed/remaining time/both. - + Hint: Change the time format in Preferences -> Decks. - + Show/hide intro & outro markers and associated buttons. - + Intro Start Marker - - - - + + + + If marker is set, jumps to the marker. - - - - + + + + If marker is not set, sets the marker to the current play position. - - - - + + + + If marker is set, clears the marker. - + Intro End Marker - + Outro Start Marker - + Outro End Marker - + Mix - + Adjust the mixing of the dry (input) signal with the wet (output) signal of the effect unit - + D/W mode: Crossfade between dry and wet - + D+W mode: Add wet to dry - + Mix Mode - + Adjust how the dry (input) signal is mixed with the wet (output) signal of the effect unit - + Dry/Wet mode (crossed lines): Mix knob crossfades between dry and wet Use this to change the sound of the track with EQ and filter effects. - + Dry+Wet mode (flat dry line): Mix knob adds wet to dry Use this to change only the effected (wet) signal with EQ and filter effects. - + Route the main mix through this effect unit. - + Route the left crossfader bus through this effect unit. - + Route the right crossfader bus through this effect unit. - + Right side active: parameter moves with right half of Meta Knob turn - + Stem Label - + Name of the stem stored in the stem file - + Text is displayed in the stem color stored in the stem file - + this stem color is also used for the waveform of this stem - + Stem Mute - + Toggle the stem mute/unmuted - + Stem Volume Knob - + Adjusts the volume of the stem - + Skin Settings Menu - + Show/hide skin settings menu - + Save Sampler Bank - + Save the collection of samples loaded in the samplers. - + Load Sampler Bank - + Load a previously saved collection of samples into the samplers. - + Show Effect Parameters - + Enable Effect - + Meta Knob Link - + Set how this parameter is linked to the effect's Meta Knob. - + Meta Knob Link Inversion - + Inverts the direction this parameter moves when turning the effect's Meta Knob. - + Super Knob - + Next Chain - + Previous Chain - + Next/Previous Chain - + Clear - + Clear the current effect. - + Toggle - + Toggle the current effect. - + Next Neste - + Clear Unit - + Clear effect unit. - + Show/hide parameters for effects in this unit. - + Toggle Unit - + Enable or disable this whole effect unit. - + Controls the Meta Knob of all effects in this unit together. - + Load next effect chain preset into this effect unit. - + Load previous effect chain preset into this effect unit. - + Load next or previous effect chain preset into this effect unit. - - - - - - - - - + + + + + + + + + Assign Effect Unit - + Assign this effect unit to the channel output. - + Route the headphone channel through this effect unit. - + Route this deck through the indicated effect unit. - + Route this sampler through the indicated effect unit. - + Route this microphone through the indicated effect unit. - + Route this auxiliary input through the indicated effect unit. - + The effect unit must also be assigned to a deck or other sound source to hear the effect. - + Switch to the next effect. - + Previous Forrige - + Switch to the previous effect. - + Next or Previous - + Switch to either the next or previous effect. - + Meta Knob - + Controls linked parameters of this effect - + Effect Focus Button - + Focuses this effect. - + Unfocuses this effect. - + Refer to the web page on the Mixxx wiki for your controller for more information. - + Effect Parameter - + Adjusts a parameter of the effect. - + Inactive: parameter not linked - + Active: parameter moves with Meta Knob - + Left side active: parameter moves with left half of Meta Knob turn - + Left and right side active: parameter moves across range with half of Meta Knob turn and back with the other half - - + + Equalizer Parameter Kill - - + + Holds the gain of the EQ to zero while active. - + Quick Effect Super Knob - + Quick Effect Super Knob (control linked effect parameters). - + Hint: Change the default Quick Effect mode in Preferences -> Equalizers. - + Equalizer Parameter - + Adjusts the gain of the EQ filter. - + Hint: Change the default EQ mode in Preferences -> Equalizers. - - + + Adjust Beatgrid - + Adjust beatgrid so the closest beat is aligned with the current play position. - - + + Adjust beatgrid to match another playing deck. - + If quantize is enabled, snaps to the nearest beat. - + Quantize - + Toggles quantization. - + Loops and cues snap to the nearest beat when quantization is enabled. - + Reverse - + Reverses track playback during regular playback. - + Puts a track into reverse while being held (Censor). - + Playback continues where the track would have been if it had not been temporarily reversed. - - - + + + Play/Pause - + Jumps to the beginning of the track. - + Syncs the tempo (BPM) and phase to that of the other track, if BPM is detected on both. - + Syncs the tempo (BPM) to that of the other track, if BPM is detected on both. - + Sync and Reset Key - + Increases the pitch by one semitone. - + Decreases the pitch by one semitone. - + Enable Vinyl Control - + When disabled, the track is controlled by Mixxx playback controls. - + When enabled, the track responds to external vinyl control. - + Enable Passthrough - + Indicates that the audio buffer is too small to do all audio processing. - + Displays cover artwork of the loaded track. - + Displays options for editing cover artwork. - + Star Rating - + Assign ratings to individual tracks by clicking the stars. @@ -14478,33 +14618,33 @@ Use this to change only the effected (wet) signal with EQ and filter effects. - + Prevents the pitch from changing when the rate changes. - + Changes the number of hotcue buttons displayed in the deck - + Starts playing from the beginning of the track. - + Jumps to the beginning of the track and stops. - - + + Plays or pauses the track. - + (while playing) @@ -14524,205 +14664,215 @@ Use this to change only the effected (wet) signal with EQ and filter effects. - + (while stopped) - + Cue - + Headphone - + Mute - + Old Synchronize - + Syncs to the first deck (in numerical order) that is playing a track and has a BPM. - + If no deck is playing, syncs to the first deck that has a BPM. - + Decks can't sync to samplers and samplers can only sync to decks. - + Hold for at least a second to enable sync lock for this deck. - + Decks with sync locked will all play at the same tempo, and decks that also have quantize enabled will always have their beats lined up. - + Resets the key to the original track key. - + Speed Control - - - + + + Changes the track pitch independent of the tempo. - + Increases the pitch by 10 cents. - + Decreases the pitch by 10 cents. - + Pitch Adjust - + Adjust the pitch in addition to the speed slider pitch. - + Opens a menu to clear hotcues or edit their labels and colors. - + + Drag this button onto a Play button while previewing to continue playback after release. + + + + + Dragging with Shift key pressed will not start previewing the hotcue. + + + + Record Mix - + Toggle mix recording. - + Enable Live Broadcasting - + Stream your mix over the Internet. - + Provides visual feedback for Live Broadcasting status: - + disabled, connecting, connected, failure. - + When enabled, the deck directly plays the audio arriving on the vinyl input. - + Playback will resume where the track would have been if it had not entered the loop. - + Loop Exit - + Turns the current loop off. - + Slip Mode - + When active, the playback continues muted in the background during a loop, reverse, scratch etc. - + Once disabled, the audible playback will resume where the track would have been. - + Track Key The musical key of a track - + Displays the musical key of the loaded track. - + Clock - + Displays the current time. - + Audio Latency Usage Meter - + Displays the fraction of latency used for audio processing. - + A high value indicates that audible glitches are likely. - + Do not enable keylock, effects or additional decks in this situation. - + Audio Latency Overload Indicator @@ -14767,254 +14917,254 @@ Use this to change only the effected (wet) signal with EQ and filter effects. - + Fast Rewind - + Fast rewind through the track. - + Fast Forward - + Fast forward through the track. - + Jumps to the end of the track. - + Sets the pitch to a key that allows a harmonic transition from the other track. Requires a detected key on both involved decks. - - - + + + Pitch Control - + Pitch Rate - + Displays the current playback rate of the track. - + Repeat - + When active the track will repeat if you go past the end or reverse before the start. - + Eject Løs ut - + Ejects track from the player. - + Hotcue - + If hotcue is set, jumps to the hotcue. - + If hotcue is not set, sets the hotcue to the current play position. - + Vinyl Control Mode Vinyl Kontrollmodus - + Absolute mode - track position equals needle position and speed. - + Relative mode - track speed equals needle speed regardless of needle position. - + Constant mode - track speed equals last known-steady speed regardless of needle input. - + Vinyl Status - + Provides visual feedback for vinyl control status: - + Green for control enabled. - + Blinking yellow for when the needle reaches the end of the record. - + Loop-In Marker - + Loop-Out Marker - + Loop Halve - + Halves the current loop's length by moving the end marker. - + Deck immediately loops if past the new endpoint. - + Loop Double - + Doubles the current loop's length by moving the end marker. - + Beatloop - + Toggles the current loop on or off. - + Works only if Loop-In and Loop-Out marker are set. - + Vinyl Cueing Mode - + Determines how cue points are treated in vinyl control Relative mode: - + Off - Cue points ignored. - + One Cue - If needle is dropped after the cue point, track will seek to that cue point. - + Track Time - + Track Duration - + Displays the duration of the loaded track. - + Information is loaded from the track's metadata tags. - + Track Artist - + Displays the artist of the loaded track. - + Track Title - + Displays the title of the loaded track. - + Track Album Album - + Displays the album name of the loaded track. - + Track Artist/Title - + Displays the artist and title of the loaded track. @@ -15022,12 +15172,12 @@ Use this to change only the effected (wet) signal with EQ and filter effects. TrackCollection - + Hiding tracks - + The selected tracks are in the following playlists:%1Hiding them will remove them from these playlists. Continue? @@ -15035,47 +15185,42 @@ Use this to change only the effected (wet) signal with EQ and filter effects. TrackExportDlg - + Export finished - + Exporting %1 - - - Overwrite Existing File? - - - "%1" already exists, overwrite? + Replace Existing File? - - &Overwrite + + "%1" already exists, replace? - - Over&write All + + &Replace - - &Skip + + Apply to all files - Skip &All + &Skip - + Export Error @@ -15247,47 +15392,47 @@ This can not be undone! WCueMenuPopup - + Cue number - + Cue position - + Edit cue label - + Label... - + Delete this cue - + Toggle this cue type between normal cue and saved loop - + Left-click: Use the old size or the current beatloop size as the loop size - + Right-click: Use the current play position as loop end if it is after the cue - + Hotcue #%1 @@ -15411,407 +15556,438 @@ This can not be undone! - - E&xport Library to Engine Prime + + Search in Current View... + + + + + Search for tracks in the current library view - - Export the library to the Engine Prime format + + Ctrl+f - + + Search in Tracks Library... + + + + + Search in the internal track collection under "Tracks" in the library + + + + + Ctrl+Shift+F + + + + Create &New Playlist - + Create a new playlist Lag en ny spilleliste - + Ctrl+n - + Create New &Crate - + Create a new crate - + Ctrl+Shift+N - - + + &View &Vis - + Auto-hide menu bar - + Auto-hide the main menu bar when it's not used. - + May not be supported on all skins. - + Show Skin Settings Menu - + Show the Skin Settings Menu of the currently selected Skin - + Ctrl+1 Menubar|View|Show Skin Settings - + Show Microphone Section - + Show the microphone section of the Mixxx interface. - + Ctrl+2 Menubar|View|Show Microphone Section - + Show Vinyl Control Section - + Show the vinyl control section of the Mixxx interface. - + Ctrl+3 Menubar|View|Show Vinyl Control Section - + Show Preview Deck - + Show the preview deck in the Mixxx interface. - + Ctrl+4 Menubar|View|Show Preview Deck - + Show Cover Art - + Show cover art in the Mixxx interface. - + Ctrl+6 Menubar|View|Show Cover Art - + Maximize Library - + Maximize the track library to take up all the available screen space. - + Space Menubar|View|Maximize Library - + &Full Screen &Fullskjerm - + Display Mixxx using the full screen Vis Mixxx på hele skjermen - + &Options &Alternativer - + &Vinyl Control &Vinylkontroll - + Use timecoded vinyls on external turntables to control Mixxx - + Enable Vinyl Control &%1 - + &Record Mix - + Record your mix to a file - + Ctrl+R Ctrl+R - + Enable Live &Broadcasting - + Stream your mixes to a shoutcast or icecast server - + Ctrl+L Ctrl+L - + Enable &Keyboard Shortcuts - + Toggles keyboard shortcuts on or off - + Ctrl+` - + &Preferences &Innstillinger - + Change Mixxx settings (e.g. playback, MIDI, controls) - + &Developer - + &Reload Skin - + Reload the skin - + Ctrl+Shift+R - + Developer &Tools - + Opens the developer tools dialog - + Ctrl+Shift+T - + Stats: &Experiment Bucket - + Enables experiment mode. Collects stats in the EXPERIMENT tracking bucket. - + Ctrl+Shift+E - + Stats: &Base Bucket - + Enables base mode. Collects stats in the BASE tracking bucket. - + Ctrl+Shift+B - + Deb&ugger Enabled - + Enables the debugger during skin parsing - + Ctrl+Shift+D - + &Help &Hjelp - + Show Keywheel menu title - + + E&xport Library to Engine DJ + "Engine DJ" must not be translated + + + + + Export the library to the Engine DJ format + + + + Show keywheel tooltip text - + F12 Menubar|View|Show Keywheel - + &Community Support - + Get help with Mixxx - + &User Manual - + Read the Mixxx user manual. Les Mixxx bruksanvisningen. - + &Keyboard Shortcuts &Tastatursnarveier - + Speed up your workflow with keyboard shortcuts. - + &Settings directory - + Open the Mixxx user settings directory. - + &Translate This Application Oversett Denne Applikasjon. - + Help translate this application into your language. Hjelp til med å oversette dette programmet til ditt språk. - + &About &Om - + About the application Om programmet @@ -15819,25 +15995,25 @@ This can not be undone! WOverview - + Passthrough - + Ready to play, analyzing... Text on waveform overview when file is playable but no waveform is visible - - + + Loading track... Text on waveform overview when file is cached from source - + Finalizing... Text on waveform overview during finalizing of waveform analysis @@ -15846,25 +16022,13 @@ This can not be undone! WSearchLineEdit - - Clear input - Clear the search bar input field - - - - - Ctrl+F - Search|Focus - Ctrl+F - - - + Search noun Søk - + Clear input @@ -15875,169 +16039,163 @@ This can not be undone! Søk… - + Clear the search bar input field - - Enter a string to search for + + Return - - Use operators like bpm:115-128, artist:BooFar, -year:1990 + + Enter a string to search for. - - For more information see User Manual > Mixxx Library + + Use operators like bpm:115-128, artist:BooFar, -year:1990. - Shortcut - Snarvei + See User Manual > Mixxx Library for more information. + - - Ctrl+F - Ctrl+F + + Focus/Select All (Search in current view) + Give search bar input focus + - - Focus - Give search bar input focus + + Focus/Select All (Search in 'Tracks' library view) - - - Ctrl+Backspace - Ctrl+Backspace + + Additional Shortcuts When Focused: + - Shortcuts + Trigger search before search-as-you-type timeout or focus tracks view afterwards - Return + Esc or Ctrl+Return - Trigger search before search-as-you-type timeout orjump to tracks view afterwards + Immediately trigger search and focus tracks view + Exit search bar and leave focus - + Ctrl+Space - + Toggle search history Shows/hides the search history entries - + Delete or Backspace - - Delete query from history + + in search history - - Esc - Esc - - - - Exit search - Exit search bar and leave focus - Avslutt søk + + Delete query from history + WSearchRelatedTracksMenu - + Search related Tracks - + Key Tast - + harmonic with %1 - + BPM BPM - + between %1 and %2 - + Artist Artist - + Album Artist Albumartist - + Composer Komponist - + Title Tittel - + Album Album - + Grouping Gruppering - + Year År - + Genre Sjanger - + Directory - + &Search selected @@ -16045,599 +16203,625 @@ This can not be undone! WTrackMenu - + Load to - + Deck - + Sampler - + Add to Playlist Legg til i spilleliste - + Crates Kasser - + Metadata - + Update external collections - + Cover Art Omslagsbilde - + Adjust BPM - + Select Color - - + + Analyze Analysér - - + + Delete Track Files - + Add to Auto DJ Queue (bottom) Legg til Automatisk DJ Kø - + Add to Auto DJ Queue (top) Legg til Automatisk DJ Kø (øverst) - + Add to Auto DJ Queue (replace) - + Preview Deck - + Remove Fjern - + Remove from Playlist - + Remove from Crate - + Hide from Library - + Unhide from Library - + Purge from Library - + Move Track File(s) to Trash - + Delete Files from Disk - + Properties Egenskaper - + Open in File Browser Åpne i filutforsker - + Select in Library - + Import From File Tags - + Import From MusicBrainz - + Export To File Tags - + BPM and Beatgrid - + Play Count - + Rating Vurdering - + Cue Point - + + Hotcues - + Intro - + Outro - + Key Tast - + ReplayGain Avspillingsnivå - + Waveform Bølgeform - + Comment Kommentar - + All Alle - + + Sort hotcues by position (remove offsets) + + + + + Sort hotcues by position + + + + Lock BPM Lås BPM - + Unlock BPM Åpne BPM - + Double BPM Dobbel BPM - + Halve BPM Halv BPM - + 2/3 BPM 2/3 BPM - + 3/4 BPM 3/4 BPM - + 4/3 BPM - + 3/2 BPM - + + Shift Beatgrid Half Beat + + + + Reanalyze - + Reanalyze (constant BPM) - + Reanalyze (variable BPM) - + Update ReplayGain from Deck Gain - + Deck %1 Spiller %1 - + Importing metadata of %n track(s) from file tags - + Marking metadata of %n track(s) to be exported into file tags - - + + Create New Playlist Opprett ny spilleliste - + Enter name for new playlist: Skriv inn nytt navn for spilleliste: - + New Playlist Ny spilleliste - - - + + + Playlist Creation Failed Oppretting av spilleliste mislyktes - + A playlist by that name already exists. Det finnes allerede en spilleliste med det navnet. - + A playlist cannot have a blank name. Spillelisten kan ikke ha en tomt navn. - + An unknown error occurred while creating playlist: Det oppstod en ukjent feil under oppretting av spilleliste: - + Add to New Crate - + Scaling BPM of %n track(s) - + Undo BPM/beats change of %n track(s) - + Locking BPM of %n track(s) - + Unlocking BPM of %n track(s) - + Setting rating of %n track(s) - + Setting color of %n track(s) - + Resetting play count of %n track(s) - + Resetting beats of %n track(s) - + Clearing rating of %n track(s) - + Clearing comment of %n track(s) - + Removing main cue from %n track(s) - + Removing outro cue from %n track(s) - + Removing intro cue from %n track(s) - + Removing loop cues from %n track(s) - + Removing hot cues from %n track(s) - + + Sorting hotcues of %n track(s) by position (remove offsets) + + + + + Sorting hotcues of %n track(s) by position + + + + Resetting keys of %n track(s) - + Resetting replay gain of %n track(s) - + Resetting waveform of %n track(s) - + Resetting all performance metadata of %n track(s) - + Move these files to the trash bin? - + Permanently delete these files from disk? - - + + This can not be undone! - + Cancel Avbryt - + Delete Files - + Okay - + Move Track File(s) to Trash? - + Track Files Deleted - + Track Files Moved To Trash - + %1 track files were moved to trash and purged from the Mixxx database. - + %1 track files were deleted from disk and purged from the Mixxx database. - + Track File Deleted - + Track file was deleted from disk and purged from the Mixxx database. - + The following %1 file(s) could not be deleted from disk - + This track file could not be deleted from disk - + Remaining Track File(s) - + Close Lukk - + Clear Reset metadata in right click track context menu in library - + Loops - + Clear BPM and Beatgrid - + Undo last BPM/beats change - + Move this track file to the trash bin? - + Permanently delete this track file from disk? - + All decks where these tracks are loaded will be stopped and the tracks will be ejected. - + All decks where this track is loaded will be stopped and the track will be ejected. - + Removing %n track file(s) from disk... - + Note: if you are in the Computer or Recording view you need to click the current view again to see changes. - + Track File Moved To Trash - + Track file was moved to trash and purged from the Mixxx database. - + Don't show again during this session - + The following %1 file(s) could not be moved to trash - + This track file could not be moved to trash - + Setting cover art of %n track(s) - + Reloading cover art of %n track(s) @@ -16653,37 +16837,37 @@ This can not be undone! WTrackStemMenu - + Load for stem mixing - + Load pre-mixed stereo track - + Load the "%1" stem - + Load multiple stem into a stereo deck - + Select stems to load - + Release "CTRL" to load the current selection - + Use "CTRL" to select multiple stems @@ -16691,37 +16875,37 @@ This can not be undone! WTrackTableView - + Confirm track hide - + Are you sure you want to hide the selected tracks? - + Are you sure you want to remove the selected tracks from AutoDJ queue? - + Are you sure you want to remove the selected tracks from this crate? - + Are you sure you want to remove the selected tracks from this playlist? - + Don't ask again during this session - + Confirm track removal @@ -16729,60 +16913,65 @@ This can not be undone! WTrackTableViewHeader - + Show or hide columns. Vis eller skjul kolonner + + + Shuffle Tracks + + mixxx::CoreServices - + fonts - + database - + effects - + audio interface - + decks - + library - + Choose music library directory - + controllers - + Cannot open database Får ikke åpnet databasen - + Unable to establish a database connection. Mixxx requires QT with SQLite support. Please read the Qt SQL driver documentation for information on how to build it. @@ -16793,67 +16982,78 @@ Click OK to exit. mixxx::DlgLibraryExport - + Entire music library - - Selected crates + + Crates + + + + + Playlists + + + + + Selected crates/playlists - + Browse Bla gjennom - + Export directory - + Database version - + Export Eksportér - + Cancel Avbryt - - Export Library to Engine Prime + + Export Library to Engine DJ + "Engine DJ" must not be translated - + Export Library To - + No Export Directory Chosen - + No export directory was chosen. Please choose a directory in order to export the music library. - + A database already exists in the chosen directory. Exported tracks will be added into this database. - + A database already exists in the chosen directory, but there was a problem loading it. Export is not guaranteed to succeed in this situation. @@ -16874,7 +17074,7 @@ Click OK to exit. mixxx::EnginePrimeExportJob - + Failed to export track %1 - %2: %3 %1 is the artist %2 is the title and %3 is the original error message @@ -16884,23 +17084,23 @@ Click OK to exit. mixxx::LibraryExporter - + Export Completed - - Exported %1 track(s) and %2 crate(s). + + Exported %1 track(s), %2 crate(s), and %3 playlist(s). - + Export Failed - - Exporting to Engine Prime... + + Exporting to Engine DJ... diff --git a/res/translations/mixxx_nl.qm b/res/translations/mixxx_nl.qm index 76a8cc3607d820bddd65693298404ede2f26f33e..ae2ce14d4fff4f977f74a755d8261b8fd8938764 100644 GIT binary patch delta 1889 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 U{DUxjt@YTmm16UaY~@J&FPWtITL1t6 diff --git a/res/translations/mixxx_nl.ts b/res/translations/mixxx_nl.ts index 328a03065a8e..1634ffe49a0c 100644 --- a/res/translations/mixxx_nl.ts +++ b/res/translations/mixxx_nl.ts @@ -149,7 +149,7 @@ BasePlaylistFeature - + New Playlist Nieuwe Afspeellijst @@ -160,7 +160,7 @@ - + Create New Playlist Creëer nieuwe afspeellijst @@ -190,113 +190,120 @@ Dupliceren - - + + Import Playlist Importeer Afspeellijst - + Export Track Files Exporteer Track Bestanden - + Analyze entire Playlist Analyseer hele afspeellijst - + Enter new name for playlist: Voer nieuwe naam in voor Afspeellijst: - + Duplicate Playlist Dupliceer afspeellijst - - + + Enter name for new playlist: Voer naam in voor nieuwe afspeellijst: - - + + Export Playlist Exporteer afspeellijst - + Add to Auto DJ Queue (replace) Voeg toe aan de Auto-DJ wachtrij (vervang) - + + + Export to Engine DJ + "Engine DJ" is a product name and must not be translated. + + + + Rename Playlist Hernoem afspeellijst - - + + Renaming Playlist Failed Afspeellijst Hernoemen Mislukt - - - + + + A playlist by that name already exists. Een afspeellijst met deze naam bestaat al. - - - + + + A playlist cannot have a blank name. Een afspeellijst kan geen blanco naam hebben. - + _copy //: Appendix to default name when duplicating a playlist _kopiëren - - - - - - + + + + + + Playlist Creation Failed Creatie Afspeellijst is mislukt - - + + An unknown error occurred while creating playlist: Een onbekende fout trad op bij het creëren van afspeellijst: - + Confirm Deletion Bevestig verwijderen - + Do you really want to delete playlist <b>%1</b>? Weet je zeker dat je de afspeellijst <b>%1</b> wil verwijderen? - + M3U Playlist (*.m3u) M3U Afspeellijst (*.m3u) - + M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Text CSV (*.csv);;Readable Text (*.txt) M3U Afspeellijst (*.m3u);;M3U8 Afspeellijst (*.m3u8);;PLS Afspeellijst (*.pls);;Tekst CSV (*.csv);;Leesbare Tekst (*.txt) @@ -304,12 +311,12 @@ BaseSqlTableModel - + # # - + Timestamp Tijdstempel @@ -317,7 +324,7 @@ BaseTrackPlayerImpl - + Couldn't load track. Kan de Track niet laden. @@ -325,142 +332,142 @@ BaseTrackTableModel - + Album Album - + Album Artist Album Artiest - + Artist Artiest - + Bitrate Bit Snelheid - + BPM BPM - + Channels Kanalen - + Color Kleur - + Comment Opmerking - + Composer Componist - + Cover Art Cover Art - + Date Added Datum Toegevoegd - + Last Played Laatst Afgespeeld - + Duration Duur - + Type Type - + Genre Genre - + Grouping Groepering - + Key Toonaard (Key) - + Location Locatie - + Overview - + Preview Voorbeluistering - + Rating Waardering - + ReplayGain ReplayGain - + Samplerate Sample Snelheid - + Played Afgespeeld - + Title Titel - + Track # Track # - + Year Jaar - + Fetching image ... Tooltip text on the cover art column shown when the cover is read from disk Afbeelding ophalen @@ -609,6 +616,16 @@ "Computer" lets you navigate, view, and load tracks from folders on your hard disk and external devices. De optie "Computer" laat u toe om door mappen te navigeren, nummers te bekijken en te laden van op uw harde schijf en externe apparaten. + + + It shows the data from the file tags, not track data from your Mixxx library like other track views. + + + + + If you load a track file from here, it will be added to your library. + + BrowseTableModel @@ -3632,32 +3649,32 @@ traceren - Boven + Profileringsberichten ControllerScriptEngineBase - + The functionality provided by this controller mapping will be disabled until the issue has been resolved. De functionaliteit van deze controller-verbinding wordt uitgeschakeld totdat het probleem is opgelost. - + You can ignore this error for this session but you may experience erratic behavior. U kunt deze fout tijdens deze sessie negeren, maar u kunt onregelmatig gedrag ervaren. - + Try to recover by resetting your controller. Probeer te herstellen door uw controller te resetten. - + Controller Mapping Error Controller Mapping Fout - + The mapping for your controller "%1" is not working properly. De mapping voor uw controller "%1" werkt niet goed. - + The script code needs to be fixed. De script code moet hersteld worden. @@ -3765,7 +3782,7 @@ traceren - Boven + Profileringsberichten Importeer Krat - + Export Crate Exporteer Krat @@ -3775,7 +3792,7 @@ traceren - Boven + Profileringsberichten Ontgrendel - + An unknown error occurred while creating crate: Een onbekende fout heeft plaatsgevonden bij het aanmaken van de Krat: @@ -3801,17 +3818,17 @@ traceren - Boven + Profileringsberichten Krat Hernoemen Mislukt - + Crate Creation Failed Krat Aanmaken Mislukt - + M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Text CSV (*.csv);;Readable Text (*.txt) M3U Afspeellijst (*.m3u);;M3U8 Afspeellijst (*.m3u8);;PLS Afspeellijst (*.pls);;Tekst CSV (*.csv);;Leesbare Tekst (*.txt) - + M3U Playlist (*.m3u) M3U Afspeellijst (*.m3u) @@ -3937,12 +3954,12 @@ traceren - Boven + Profileringsberichten Eerdere Medewerkers - + Official Website Officiële Website - + Donate Donaties @@ -3998,7 +4015,7 @@ traceren - Boven + Profileringsberichten - + Analyze Analyseer @@ -4043,17 +4060,17 @@ traceren - Boven + Profileringsberichten Voert beatgrid-, toonaard- en afspeelversterking-detectie uit op de geselecteerde Tracks. Genereert geen golfvoren op de geselecteerde Tracks om schijfruimte te besparen. - + Stop Analysis Stop Analyse - + Analyzing %1% %2/%3 Analyseren van %1% %2/%3 - + Analyzing %1/%2 Analyseren van %1/%2 @@ -4497,37 +4514,37 @@ Dit resulteert vaak in Beat-Grids van hogere kwaliteit, maar zal het niet goed d Als de koppeling niet werkt, probeer dan een geavanceerde optie hieronder in te schakelen en probeer het vervolgens opnieuw. Of klik op Opnieuw Proberen om de midi-besturing opnieuw te detecteren. - + Didn't get any midi messages. Please try again. Geen MIDI-berichten ontvangen. Probeer het opnieuw. - + Unable to detect a mapping -- please try again. Be sure to only touch one control at once. Kan een koppeling niet detecteren - probeer het opnieuw a.u.b. Zorg ervoor dat u slechts één bedieningselement tegelijk aanraakt. - + Successfully mapped control: Bediening met succes toegewezen: - + <i>Ready to learn %1</i> <i>Klaar om te leren %1</i> - + Learning: %1. Now move a control on your controller. Aan Het Leren: %1. Verplaats nu een besturingselement op uw controller. - + The selected control does not exist.<br>This likely a bug. Please report it on the Mixxx bug tracker.<br><a href='https://github.com/mixxxdj/mixxx/issues'>https://github.com/mixxxdj/mixxx/issues</a><br><br>You tried to learn: %1,%2 Het geselecteerde besturingselement bestaat niet.<br>Dit is mogelijks een bug. Gelieve het te rapporteren op de Mixxx bug tracker.<br><a href='https://github.com/mixxxdj/mixxx/issues'>https://github.com/mixxxdj/mixxx/issues</a><br><br>You tried to learn: %1,%2 - + The control you clicked in Mixxx is not learnable. This could be because you are either using an old skin and this control is no longer supported, or you clicked a control that provides visual feedback and can only be mapped to outputs like LEDs via scripts. @@ -5234,114 +5251,114 @@ die geassocieerd is met elke key. DlgPrefController - + Apply device settings? Apparaatinstellingen toepassen? - + Your settings must be applied before starting the learning wizard. Apply settings and continue? Uw instellingen moeten worden toegepast voordat u de leerassistent start. Instellingen toepassen en doorgaan? - + None Geen - + %1 by %2 %1 bij %2 - + Mapping has been edited Toewijzing is bewerkt - + Always overwrite during this session Overschrijf altijd tijdens deze sessie - + Save As Opslaan Als - + Overwrite Overschrijf - + Save user mapping Bewaar gebruikerstoewijzingen - + Enter the name for saving the mapping to the user folder. Voer de naam in voor het opslaan van de toewijzing in de gebruikersmap. - + Saving mapping failed Het opslaan van de toewijzing is mislukt - + A mapping cannot have a blank name and may not contain special characters. Een toewijzing mag geen lege naam hebben en mag geen speciale tekens bevatten. - + A mapping file with that name already exists. Er bestaat al een toewijzingsbestand met die naam. - + Do you want to save the changes? Wilt u de wijzigingen opslaan? - + Troubleshooting Probleemoplossen - + <font color='#BB0000'><b>If you use this mapping your controller may not work correctly. Please select another mapping or disable the controller.</b></font><br><br>This mapping was designed for a newer Mixxx Controller Engine and cannot be used on your current Mixxx installation.<br>Your Mixxx installation has Controller Engine version %1. This mapping requires a Controller Engine version >= %2.<br><br>For more information visit the wiki page on <a href='https://mixxx.org/wiki/doku.php/controller_engine_versions'>Controller Engine Versions</a>. <font color='#BB0000'><b>Als u deze mapping gebruikt, werkt uw controller mogelijk niet correct. Selecteer een andere Mapping of schakel de controller uit.</b></font><br><br> Deze Mapping is ontworpen voor een nieuwere Mixxx Controller Engine en kan niet worden gebruikt op je huidige Mixxx-installatien.<br>Je Mixxx-installatie heeft Controller Engine-versie %1. Voor deze mapping is een Controller Engine-versie> = %2 vereist.<br><br> Bezoek voor meer informatie de wikipagina over <a href='https://mixxx.org/wiki/doku.php/controller_engine_versions'>Controller Engine Versions</a>. - + Mapping already exists. Er bestaat al een Mapping. - + <b>%1</b> already exists in user mapping folder.<br>Overwrite or save with a new name? <b>%1</b> bestaat al in de map voor Mappings.<br>Overschrijven of opslaan met een nieuwe naam? - + Clear Input Mappings Wis Input-Mappings (Invoerkoppelingen) - + Are you sure you want to clear all input mappings? Weet u het zeker dat u alle Input-Mappings (invoerkoppelingen) wilt wissen? - + Clear Output Mappings Wis Output-Mappings (Uitvoerkoppelingen) - + Are you sure you want to clear all output mappings? Weet u het zeker dat u alle Output-Mappings (Uitvoerkoppelingen) wilt wissen? @@ -5672,6 +5689,16 @@ Instellingen toepassen en doorgaan? Multi-Sampling Multi-Sampling + + + Force 3D acceleration + + + + + If checked, Mixxx will always assume 3D acceleration is available. This may lead to pour performance if only CP-backed rendering is available.. + + Start in full-screen mode @@ -6286,62 +6313,62 @@ U kunt de Tracks ten allen tijde op het scherm slepen en neerzetten om een deck DlgPrefInterface - + The minimum size of the selected skin is bigger than your screen resolution. De minimale grootte van de geselecteerde skin is groter dan uw schermresolutie. - + Allow screensaver to run Toestaan dat Schermbeveiliging wordt uitgevoerd. - + Prevent screensaver from running Voorkom dat Schermbeveiliging wordt uitgevoerd - + Prevent screensaver while playing Voorkom Schermbeveiliging tijdens afspelen - + Disabled Uitgeschakeld - + 2x MSAA 2x MSAA - + 4x MSAA 4x MSAA - + 8x MSAA 8x MSAA - + 16x MSAA 16x MSAA - + This skin does not support color schemes Deze skin ondersteunt geen kleurenschema's - + Information Informatie - + Mixxx must be restarted before the new locale, scaling or multi-sampling settings will take effect. Mixxx moet worden herstart vóór de nieuwe regio, schaal of multi-sampling instellingen toegepast worden. @@ -7510,173 +7537,172 @@ Het DoelVolume is bij benadering en veronderstelt dat Track PreGain en Hoofd Out DlgPrefSound - + %1 Hz %1 Hz - + Default (long delay) Standaard (lange vertraging) - + Experimental (no delay) Experimenteel (geen vertraging) - + Disabled (short delay) Uitgeschakeld (korte vertraging) - + Soundcard Clock Geluidskaart Klok - + Network Clock Netwerk Klok - + Direct monitor (recording and broadcasting only) Directe monitor (enkel opnemen en uitzenden) - + Disabled Uitgeschakeld - + Enabled Ingeschakeld - + Stereo Stereo - + Mono Mono - + To enable Realtime scheduling (currently disabled), see the %1. Om Realtime scheduling in te schakelen (momenteel uitgeschakeld), zie de %1. - + The %1 lists sound cards and controllers you may want to consider for using Mixxx. De %1 bevat een lijst met geluidskaarten en controllers die u kunt overwegen voor het gebruik met Mixxx. - + Mixxx DJ Hardware Guide Mixxx DJ Hardware Gids - + Information Informatie - + Mixxx must be restarted before the multi-threaded RubberBand setting change will take effect. Mixxx moet worden herstart alvorens de multi-threaded RubberBand instelling wordt toegepast. - + auto (<= 1024 frames/period) auto (<= 1024 frames/periode) - + 2048 frames/period 2048 frames/periode - + 4096 frames/period 4096 frames/periode - + Are you sure? Weet u zeker? - + Distribute stereo channels into mono channels for parallel processing will result in a loss of mono compatibility and a diffuse stereo image. It is not recommended during broadcasting or recording. Stereo kanalen in mono kanalen omzetten voor gelijktijdige verwerking zal resulteren in een verlies van mono compatibiliteit en een diffuus stereo beeld. Dit wordt niet aangeraden tijdens uitzenden of opname. - + Are you sure you wish to proceed? Weet u zeker dat u wilt doorgaan. - + No Neen - + Yes, I know what I am doing Ja, Ik weet wat ik doe. - + Microphone inputs are out of time in the record & broadcast signal compared to what you hear. Microfooningangen zijn niet synchroon met het opname- en uitzendsignaal in vergelijking met wat je hoort. - + Measure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. Meet de Round Trip Latency en voer het hierboven in voor Microphone Latency Compensation om de microfoon timing uit te lijnen. - - + Refer to the Mixxx User Manual for details. Raadpleeg de Mixxx-gebruikershandleiding voor meer informatie. - + Configured latency has changed. De geconfigureerde latency is gewijzigd. - + Remeasure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. Meet opnieuw de Round Trip Latency en voer het hierboven in voor Microphone Latency Compensation om de microfoon timing uit te lijnen. - + Realtime scheduling is enabled. Realtime scheduling is ingeschakeld. - + Main output only Alleen HoofdUitgang - + Main and booth outputs Hoofd en Booth uitgangen - + %1 ms %1 ms - + Configuration error Configuratiefout @@ -7694,131 +7720,131 @@ Het DoelVolume is bij benadering en veronderstelt dat Track PreGain en Hoofd Out Geluid API - + Sample Rate Samplefrequentie - + Audio Buffer Audio Buffer - + Engine Clock Engine Klok - + Use soundcard clock for live audience setups and lowest latency.<br>Use network clock for broadcasting without a live audience. Gebruik de geluidskaartklok voor live publieksopstellingen en de laagste latency.<br>Gebruik een netwerkklok voor uitzendingen zonder een live publiek. - + Main Mix Hoofdmix - + Main Output Mode HoofduitgangsModus - + Microphone Monitor Mode Microfoon monitorModus - + Microphone Latency Compensation Compensatie voor microfoonvertraging - - - - + + + + ms milliseconds ms - + 20 ms 20 ms - + Buffer Underflow Count Buffer Underflow Teller - + 0 0 - + Keylock/Pitch-Bending Engine Toonaard (Key)/Toonhoogte (Pitch)-Aanpassings Engine - + Multi-Soundcard Synchronization Synchronisatie van meervoudige geluidskaarten - + Output Uitvoer - + Input Invoer - + System Reported Latency Door systeem gerapporteerde Latency - + Enlarge your audio buffer if the underflow counter is increasing or you hear pops during playback. Vergroot je geluidsbuffer als de teller voor bufferleegloop verhoogt of als je korte onderbrekingen hoort tijdens het afspelen. - + Main Output Delay Hoofduitgang Delay - + Headphone Output Delay Vertraging hoofdtelefoonuitgang - + Booth Output Delay Vertraging booth-uitgang - + Dual-threaded Stereo Tweevoudige bedraad Stereo - + Hints and Diagnostics Tips en diagnostische gegevens - + Downsize your audio buffer to improve Mixxx's responsiveness. Verklein uw audiobuffer om het reactievermogen van Mixxx te verbeteren. - + Query Devices Vraag apparaten op @@ -9378,27 +9404,27 @@ Dit resulteert vaak in Beat-Grids van hogere kwaliteit, maar zal het niet goed d EngineBuffer - + Soundtouch (faster) Soundtouch (sneller) - + Rubberband (better) Rubberband (beter) - + Rubberband R3 (near-hi-fi quality) Rubberband R3 (bijna hi-fi kwaliteit) - + Unknown, using Rubberband (better) Onbekend, Rubberband gebruiken (beter) - + Unknown, using Soundtouch Onbekend, Soundtouch gebruiken @@ -9613,15 +9639,15 @@ Dit resulteert vaak in Beat-Grids van hogere kwaliteit, maar zal het niet goed d LegacySkinParser - - + + Safe Mode Enabled Shown when Mixxx is running in safe mode. Veilige Modus ingeschakeld - - + + No OpenGL support. Shown when Spinny can not be displayed. Please keep @@ -9633,57 +9659,57 @@ Shown when VuMeter can not be displayed. Please keep ondersteuning. - + activate Activeer - + toggle Schakelaar - + right rechts - + left links - + right small rechts klein - + left small links klein - + up omhoog - + down omlaag - + up small omhoog klein - + down small omlaag klein - + Shortcut Snelkoppeling @@ -9691,37 +9717,37 @@ ondersteuning. Library - + This or a parent directory is already in your library. Deze map of een bovenliggende map is reeds opgenomen in uw bibliotheek. - + This or a listed directory does not exist or is inaccessible. Aborting the operation to avoid library inconsistencies Deze map of een opgelijste map bestaat niet of is niet toegankelijk. De operatie wordt afgebroken om fouten in de bibliotheek the vermijden. - - + + This directory can not be read. Deze map kan niet worden uitgelezen. - + An unknown error occurred. Aborting the operation to avoid library inconsistencies Een onbekende fout is opgetreden. De operatie wordt afgebroken om fouten in de bibliotheek the vermijden. - + Can't add Directory to Library Deze map kan niet worden toegevoegd aan de bibliotheek. - + Could not add <b>%1</b> to your library. %2 @@ -9730,27 +9756,27 @@ De operatie wordt afgebroken om fouten in de bibliotheek the vermijden. - + Can't remove Directory from Library De map kon niet uit uw bibliotheek verwijderd worden - + An unknown error occurred. Een onbekende fout is opgetreden. - + This directory does not exist or is inaccessible. Deze map bestaat niet of is niet toegankelijk. - + Relink Directory Herlink de map - + Could not relink <b>%1</b> to <b>%2</b>. %3 @@ -9762,22 +9788,22 @@ De operatie wordt afgebroken om fouten in de bibliotheek the vermijden. LibraryFeature - + Import Playlist Importeer Afspeellijst - + Playlist Files (*.m3u *.m3u8 *.pls *.csv) Afspeellijstbestanden (*.m3u *.m3u8 *.pls *.csv) - + Overwrite File? Bestand Overschrijven? - + A playlist file with the name "%1" already exists. The default "m3u" extension was added because none was specified. @@ -9931,253 +9957,253 @@ Wil je het echt overschrijven? MixxxMainWindow - + Sound Device Busy Geluisapparaat bezig - + <b>Retry</b> after closing the other application or reconnecting a sound device <b>Probeer opnieuw</b> na het afsluiten van de andere applicatie of het opnieuw aansluiten van een geluidsapparaat - - - + + + <b>Reconfigure</b> Mixxx's sound device settings. <b>Configureer</b> opnieuw de Mixxx instellingen van het geluidsapparaat. - - + + Get <b>Help</b> from the Mixxx Wiki. <b>Hulp</b>zoeken in de Mixxx Wiki. - - - + + + <b>Exit</b> Mixxx. <b>Verlaat</b> Mixxx. - + Retry Probeer opnieuw - + skin skin - + Allow Mixxx to hide the menu bar? Mixxx toestaan om de menu balk te verbergen? - + Hide Always show the menu bar? Verberg - + Always show Altijd tonen - + The Mixxx menu bar is hidden and can be toggled with a single press of the <b>Alt</b> key.<br><br>Click <b>%1</b> to agree.<br><br>Click <b>%2</b> to disable that, for example if you don't use Mixxx with a keyboard.<br><br>You can change this setting any time in Preferences -> Interface.<br> Keep formatting tags <b> (bold text) and <br> (linebreak). %1 is the placeholder for the 'Always show' button label De Mixxx menu balk is verborgen en kan worden opgeroepen met een enkele druk op de <b>Alt</b> toets.<br><br>Click <b>%1</b> om akkoord te gaan.<br><br>Click <b>%2</b> om dit uit te schakelen, bijvoorbeeld wanneer u Mixxx niet met een toetsenbord gebruikt.<br><br>U kan deze instelling altijd wijzigen in de Voorkeuren -> Interface.<br> - + Ask me again Vraag mij opnieuw - - + + Reconfigure Opnieuw configureren - + Help Help - - + + Exit Afsluiten - - + + Mixxx was unable to open all the configured sound devices. Mixxx kon niet alle geconfigureerde geluidsapparaten openen. - + Sound Device Error Fout met geluidsapparaat - + <b>Retry</b> after fixing an issue <b>Probeer opnieuw</b> na het oplossen van een probleem - + No Output Devices Geen uitvoerapparaten - + Mixxx was configured without any output sound devices. Audio processing will be disabled without a configured output device. Mixxx is ingesteld zonder uitvoerapparaten voor geluid. Geluidsverwerking wordt uitgeschakeld zonder een geconfigureerd uitvoerapparaat. - + <b>Continue</b> without any outputs. <b>Ga door</b> zonder uitvoer. - + Continue Verdergaan - + Load track to Deck %1 Laad Track in deck %1 - + Deck %1 is currently playing a track. Deck %1 speelt momenteel een Track af. - + Are you sure you want to load a new track? Bent u zeker dat u een nieuwe Track wil laden? - + There is no input device selected for this vinyl control. Please select an input device in the sound hardware preferences first. Er is geen invoerapparaat geselecteerd voor deze vinylbesturing. Selecteer eerst een invoerapparaat in de voorkeuren voor geluidshardware. - + There is no input device selected for this passthrough control. Please select an input device in the sound hardware preferences first. Er is geen invoerapparaat geselecteerd voor dit Directe Doorvoerapparaat. Selecteer eerst een invoerapparaat in de voorkeuren voor geluidsapparatuur. - + There is no input device selected for this microphone. Do you want to select an input device? Er is geen invoerapparaat geselecteerd voor deze microfoon. Wilt u een invoerapparaat selecteren? - + There is no input device selected for this auxiliary. Do you want to select an input device? Er is geen invoerapparaat geselecteerd voor deze Auxiliary. Wilt u een invoerapparaat selecteren? - + Scan took %1 - + No changes detected. - - + + %1 tracks in total - + %1 new tracks found - + %1 moved tracks detected - + %1 tracks are missing (%2 total) - + %1 tracks have been rediscovered - + Library scan finished - + Error in skin file Fout in Skin-bestand - + The selected skin cannot be loaded. De geselecteerde Skin kan niet worden geladen. - + OpenGL Direct Rendering OpenGL Direct Rendering - + Direct rendering is not enabled on your machine.<br><br>This means that the waveform displays will be very<br><b>slow and may tax your CPU heavily</b>. Either update your<br>configuration to enable direct rendering, or disable<br>the waveform displays in the Mixxx preferences by selecting<br>"Empty" as the waveform display in the 'Interface' section. OpenGL Directe weergave-herberekening is niet ingeschakeld op uw computer.<br><br> Dit betekent dat de weergave van de golfvormen erg<br><b> traag zal zijn en uw CPU zwaar kan belasten</b>. Werk uw <br> configuratie bij om OpenGL Directe weergave-herberekening mogelijk te maken of schakel<br>de waveform weergaven uit in de Mixxx-voorkeuren door "Leeg" te selecteren<br> als de waveform weergave in het gedeelte "Interface". - - - + + + Confirm Exit Afsluiten bevestigen - + A deck is currently playing. Exit Mixxx? Er is momenteel een deck actief. Mixxx afsluiten? - + A sampler is currently playing. Exit Mixxx? Er is momenteel een sampler actief. Mixxx afsluiten? - + The preferences window is still open. Het scherm "Voorkeuren" staat nog open. - + Discard any changes and exit Mixxx? Wijzigingen negeren en Mixxx afsluiten? @@ -10193,13 +10219,13 @@ Wilt u een invoerapparaat selecteren? PlaylistFeature - + Lock Vergrendel - - + + Playlists Afspeellijsten @@ -10209,32 +10235,58 @@ Wilt u een invoerapparaat selecteren? Afspeellijst door elkaar schudden - + + Unlock all playlists + + + + + Delete all unlocked playlists + + + + Unlock Ontgrendel - + + + Confirm Deletion + + + + + Do you really want to delete all unlocked playlists? + + + + + Deleting %1 unlocked playlists.<br>This operation can not be undone! + + + + Playlists are ordered lists of tracks that allow you to plan your DJ sets. Playlists zijn geordende lijsten met Tracks waarmee u uw DJ-sets kunt plannen. - + It may be necessary to skip some tracks in your prepared playlist or add some different tracks in order to maintain the energy of your audience. Het kan nodig zijn om enkele Tracks van uw voorbereide afspeellijst over te slaan of enkele andere Tracks toe te voegen om de energie van uw publiek op peil te houden. - + Some DJs construct playlists before they perform live, but others prefer to build them on-the-fly. Sommige DJ's maken afspeellijsten voordat ze live optreden, maar anderen bouwen ze liever on-the-fly tijdens hun optreden. - + When using a playlist during a live DJ set, remember to always pay close attention to how your audience reacts to the music you've chosen to play. Wanneer u een afspeellijst gebruikt tijdens een live DJ-set, vergeet dan niet om goed op te letten hoe uw publiek reageert op de muziek die u hebt gekozen om te spelen. - + Create New Playlist Creëer nieuwe afspeellijst @@ -11895,7 +11947,7 @@ Tip: compenseer "chipmunk" en "diepeg" stemmen De hoeveelheid versterking die toegepast wordt op het audio signaal. Op een hoger niveau zal het geluid meer worden vervormd (distored)r. - + Passthrough Directe Doorvoer @@ -12064,12 +12116,12 @@ release tijd zorgen voor een pompend effect en/of een vervorming. allerlei - + built-in ingebouwd - + missing ontbrekend @@ -12198,54 +12250,54 @@ release tijd zorgen voor een pompend effect en/of een vervorming. RekordboxFeature - - - + + + Rekordbox Rekordbox - + Playlists Afspeellijsten - + Folders Mappen - + Reads databases exported for Pioneer CDJ / XDJ players using the Rekordbox Export mode.<br/>Rekordbox can only export to USB or SD devices with a FAT or HFS file system.<br/>Mixxx can read a database from any device that contains the database folders (<tt>PIONEER</tt> and <tt>Contents</tt>).<br/>Not supported are Rekordbox databases that have been moved to an external device via<br/><i>Preferences > Advanced > Database management</i>.<br/><br/>The following data is read: Leest databases die zijn geëxporteerd voor Pioneer CDJ / XDJ-spelers met behulp van de <br/>Rekordbox ExportModus.Rekordbox kan alleen exporteren naar USB- of SD-apparaten met een FAT- of HFS-bestandssysteem. <br/>Mixxx kan een database lezen van elk apparaat dat de databasemappen bevat (<tt>PIONEER</tt> en <tt>Inhoud</tt>). <br/>Niet ondersteund worden Rekordbox-databases die zijn verplaatst naar een extern apparaat via <br/><i>Voorkeuren > Geavanceerd > Databasebeheer</i>.<br/><br/>De volgende gegevens worden gelezen: - + Hot cues Hot cues - + Loops (only the first loop is currently usable in Mixxx) Loops (alleen de eerste loop is momenteel bruikbaar in Mixxx) - + Check for attached Rekordbox USB / SD devices (refresh) Controleer op aangesloten Rekordbox USB / SD-apparaten (vernieuwen) - + Beatgrids Beat-Grids - + Memory cues Memory Cues - + (loading) Rekordbox (laden) Rekordbox @@ -15492,47 +15544,47 @@ Dit kan niet ongedaan gemaakt worden! WCueMenuPopup - + Cue number Cue Nr - + Cue position Cue Positie - + Edit cue label Bewerk Cue Label - + Label... Label... - + Delete this cue Verwijder deze Cue... - + Toggle this cue type between normal cue and saved loop Schakelt dit cue type tussen normale cue en opgeslagen lus cue. - + Left-click: Use the old size or the current beatloop size as the loop size Linker-click: Gebruik de oude grootte of de huidige beatlus grootte als de lusgrootte - + Right-click: Use the current play position as loop end if it is after the cue Rechter-click: Gebruik de huidige afspeelpositie als lus einde indien deze zich achter de cue bevindt. - + Hotcue #%1 Hotcue #%1 @@ -15657,323 +15709,353 @@ Dit kan niet ongedaan gemaakt worden! + Search in Current View... + + + + + Search for tracks in the current library view + + + + + Ctrl+f + + + + + Search in Tracks Library... + + + + + Search in the internal track collection under "Tracks" in the library + + + + + Ctrl+Shift+F + + + + Create &New Playlist Maak &nieuwe Afspeellijst - + Create a new playlist Maak een nieuwe afspeellijst - + Ctrl+n Ctrl+n - + Create New &Crate Creëer nieuwe &Krat - + Create a new crate Creëer een nieuwe Krat - + Ctrl+Shift+N Ctrl+Shift+N - - + + &View &Bekijk - + Auto-hide menu bar Verberg de menu balk automatisch - + Auto-hide the main menu bar when it's not used. Verberg de hoofd menu balk wanneer deze niet gebruikt wordt. - + May not be supported on all skins. Wordt mogelijk niet op alle Skins ondersteund. - + Show Skin Settings Menu Menu Skin-instellingen weergeven - + Show the Skin Settings Menu of the currently selected Skin Toon het menu Skin-instellingen van de huidig geselecteerde thema - + Ctrl+1 Menubar|View|Show Skin Settings Ctrl+1 - + Show Microphone Section Laat Microfoon Sectie zien - + Show the microphone section of the Mixxx interface. Toon de microfoonsectie van de Mixxx-interface. - + Ctrl+2 Menubar|View|Show Microphone Section Ctrl+2 - + Show Vinyl Control Section Toon sectie VinylBediening - + Show the vinyl control section of the Mixxx interface. Toon de sectie VinylBediening van de Mixxx-interface. - + Ctrl+3 Menubar|View|Show Vinyl Control Section Ctrl+3 - + Show Preview Deck Toon VoorbeluisterDeck - + Show the preview deck in the Mixxx interface. Toon het VoorbeluisterDeck in de Mixxx-interface. - + Ctrl+4 Menubar|View|Show Preview Deck Ctrl+4 - + Show Cover Art Toon Cover Art - + Show cover art in the Mixxx interface. Toon Cover Art in de Mixxx-interface. - + Ctrl+6 Menubar|View|Show Cover Art Ctrl+6 - + Maximize Library Maximaliseer Bibliotheek - + Maximize the track library to take up all the available screen space. Maximaliseer de TrackBibliotheek in de beschikbare schermruimte. - + Space Menubar|View|Maximize Library Spatie - + &Full Screen &Volledig Scherm - + Display Mixxx using the full screen Geef Mixxx weer in volledig scherm - + &Options &Opties - + &Vinyl Control &VinylBediening - + Use timecoded vinyls on external turntables to control Mixxx Gebruik tijdgecodeerde vinyl op externe draaitafels om Mixxx te bedienen - + Enable Vinyl Control &%1 Activeer VinylBediening &%1 - + &Record Mix Mix &Opnemen - + Record your mix to a file Neem je Mix op naar een bestand - + Ctrl+R Ctrl+R - + Enable Live &Broadcasting Schakel Live &Uitzenden in - + Stream your mixes to a shoutcast or icecast server Stream je mixen naar een Shoutcast- of Icecast-server - + Ctrl+L Ctrl+L - + Enable &Keyboard Shortcuts Schakel &Sneltoetsen in - + Toggles keyboard shortcuts on or off ToetsenbordSneltoetsen Aan/Uit-Schakelen - + Ctrl+` Ctrl+` - + &Preferences &Instellingen - + Change Mixxx settings (e.g. playback, MIDI, controls) Mixxx-instellingen wijzigen (bijv. Afspelen, MIDI, BedieningsElementen) - + &Developer &Ontwikkelaar - + &Reload Skin &Herlaad Skin - + Reload the skin Herlaad de Skin - + Ctrl+Shift+R Ctrl+Shift+R - + Developer &Tools Ontwikkelaar &Hulpmiddelen - + Opens the developer tools dialog Opent het dialoogvenster hulpprogramma's voor ontwikkelaars - + Ctrl+Shift+T Ctrl+Shift+T - + Stats: &Experiment Bucket Statistieken: &Experiment Bucket - + Enables experiment mode. Collects stats in the EXPERIMENT tracking bucket. Schakel Experiment-Modus in. Verzamelt statistieken in de EXPERIMENT-Tracking bucket. - + Ctrl+Shift+E Ctrl+Shift+E - + Stats: &Base Bucket Statistieken: &Base Bucket - + Enables base mode. Collects stats in the BASE tracking bucket. Schakel Base Modus in. Verzamelt statistieken in de BASE Tracking bucket. - + Ctrl+Shift+B Ctrl+Shift+B - + Deb&ugger Enabled Deb&ugger ingeschakeld - + Enables the debugger during skin parsing Activeert de debugger tijdens het ontleden van het thema - + Ctrl+Shift+D Ctrl+Shift+D - + &Help &Help - + Show Keywheel menu title Toon Toonaard (Key)-Rad @@ -15990,74 +16072,74 @@ Dit kan niet ongedaan gemaakt worden! Exporteer de bibliotheek naar het Engine DJ formaat - + Show keywheel tooltip text Toon Toonaard (Key)-Rad - + F12 Menubar|View|Show Keywheel F12 - + &Community Support &Community Ondersteuning - + Get help with Mixxx Zoek hulp bij Mixxx - + &User Manual &Gebruikers Handleiding - + Read the Mixxx user manual. Lees de Mixxx gebruikers handleiding. - + &Keyboard Shortcuts &Toetsenbord Sneltoetsen - + Speed up your workflow with keyboard shortcuts. Versnel uw workflow met sneltoetsen. - + &Settings directory &Instellingen map - + Open the Mixxx user settings directory. Open de map met Mixxx GebruikersInstellingen - + &Translate This Application &Vertaal Deze Applicatie - + Help translate this application into your language. Help om deze applicatie in je eigen taal te vertalen. - + &About &Over - + About the application Over de applicatie @@ -16092,25 +16174,13 @@ Dit kan niet ongedaan gemaakt worden! WSearchLineEdit - - Clear input - Clear the search bar input field - Invoer wissen - - - - Ctrl+F - Search|Focus - Ctrl+F - - - + Search noun Zoek - + Clear input Invoer wissen @@ -16121,93 +16191,87 @@ Dit kan niet ongedaan gemaakt worden! Zoek... - + Clear the search bar input field Wis het zoektekstveld - - Enter a string to search for - Geef waarde om op te zoeken + + Return + Enter - - Use operators like bpm:115-128, artist:BooFar, -year:1990 - Gebruik operatoren zoals BPM: 115-128, Artiest: BooFar, -jaar: 1990 + + Enter a string to search for. + - - For more information see User Manual > Mixxx Library - Voor meer informatie zie Handleiding > Mixxx Bibliotheek + + Use operators like bpm:115-128, artist:BooFar, -year:1990. + - Shortcut - Snelkoppeling + See User Manual > Mixxx Library for more information. + - - Ctrl+F - Ctrl+F + + Focus/Select All (Search in current view) + Give search bar input focus + - - Focus - Give search bar input focus - Focus + + Focus/Select All (Search in 'Tracks' library view) + - - - Ctrl+Backspace - Ctrl+Backspace + + Additional Shortcuts When Focused: + - Shortcuts - Snelkoppelingen + Trigger search before search-as-you-type timeout or focus tracks view afterwards + - Return - Enter + Esc or Ctrl+Return + - Trigger search before search-as-you-type timeout orjump to tracks view afterwards - Kies Zoek voor zoek-terwijl-je-typt timeout of spring naar de Tracks nadien. + Immediately trigger search and focus tracks view + Exit search bar and leave focus + - + Ctrl+Space Ctrl+Spatie - + Toggle search history Shows/hides the search history entries Zoekgeschiedenis Tonen/Verbergen-Schakelaar - + Delete or Backspace Delete of Backspace - - Delete query from history - Verwijder zoekterm uit geschiedenis - - - - Esc - Esc + + in search history + - - Exit search - Exit search bar and leave focus - Beëindig zoeken + + Delete query from history + Verwijder zoekterm uit geschiedenis @@ -16963,37 +17027,37 @@ Dit kan niet ongedaan gemaakt worden! WTrackTableView - + Confirm track hide Bevestig het verbergen van de Track - + Are you sure you want to hide the selected tracks? Bent u zeker dat u de Track wil verbergen? - + Are you sure you want to remove the selected tracks from AutoDJ queue? Bent u zeker dat u de geselecteerde Track(s) wil verwijderen uit de Auto-DJ afspeelrij? - + Are you sure you want to remove the selected tracks from this crate? Bent u zeker dat u de geselecteerde Track(s) wil verwijderen uit deze Krat? - + Are you sure you want to remove the selected tracks from this playlist? Bent u zeker dat u de geselecteerde Track(s) wil verwijderen uit deze Afspeellijst - + Don't ask again during this session Niet meer vragen tijdens deze sessie - + Confirm track removal Bevestig verwijderen van de Track @@ -17014,52 +17078,52 @@ Dit kan niet ongedaan gemaakt worden! mixxx::CoreServices - + fonts lettertype - + database database - + effects Effecten - + audio interface audio interface - + decks Decks - + library Bibliotheek - + Choose music library directory Kies de map voor de muziekBibliotheek - + controllers Controllers - + Cannot open database Kan de database niet openen - + Unable to establish a database connection. Mixxx requires QT with SQLite support. Please read the Qt SQL driver documentation for information on how to build it. @@ -17073,68 +17137,78 @@ Klik op OK om af te sluiten. mixxx::DlgLibraryExport - + Entire music library Volledige muziekBibliotheek - - Selected crates - Geselecteerde Kratten + + Crates + + + + + Playlists + + + + + Selected crates/playlists + - + Browse Bladeren - + Export directory Exporteer map - + Database version Database versie - + Export Exporteer - + Cancel Annuleer - + Export Library to Engine DJ "Engine DJ" must not be translated Bibliotheek exporteren naar Engine DJ - + Export Library To Exporteer Bibliotheek Naar - + No Export Directory Chosen Geen Export Map gekozen - + No export directory was chosen. Please choose a directory in order to export the music library. Er is geen exportmap gekozen. Kies een map om de muziekBibliotheek naar te exporteren. - + A database already exists in the chosen directory. Exported tracks will be added into this database. Er bestaat al een database in de gekozen directory. Geëxporteerde Tracks worden aan deze database toegevoegd. - + A database already exists in the chosen directory, but there was a problem loading it. Export is not guaranteed to succeed in this situation. Er bestaat al een database in de gekozen directory, maar er is een probleem opgetreden bij het laden ervan. Export zal in deze situatie niet gegarandeerd slagen. @@ -17155,7 +17229,7 @@ Klik op OK om af te sluiten. mixxx::EnginePrimeExportJob - + Failed to export track %1 - %2: %3 %1 is the artist %2 is the title and %3 is the original error message @@ -17166,22 +17240,22 @@ Klik op OK om af te sluiten. mixxx::LibraryExporter - + Export Completed Exporteren voltooid - - Exported %1 track(s) and %2 crate(s). - %1 Track(s) en %2 Krat(ten) geëxporteerd. + + Exported %1 track(s), %2 crate(s), and %3 playlist(s). + - + Export Failed Exporteren mislukt - + Exporting to Engine DJ... Exporteren naar Engine DJ... diff --git a/res/translations/mixxx_pl.qm b/res/translations/mixxx_pl.qm index 2e9d19708b93ac74f62ee13694282aed13c488ca..15e6982fef55b415ead857dc5718f7d575b091fb 100644 GIT binary patch delta 12430 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 delta 13007 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 ~zNN<;jf_h-Vc{Wir`YTpg`2JE9{2W8O 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 diff --git a/res/translations/mixxx_pl.ts b/res/translations/mixxx_pl.ts index 2c4f97c4d664..4888018f9fd4 100644 --- a/res/translations/mixxx_pl.ts +++ b/res/translations/mixxx_pl.ts @@ -39,32 +39,32 @@ - + Remove Crate as Track Source Usuń Skrzynkę jako źródło utworów - + Auto DJ Auto DJ - + Confirmation Clear - + Do you really want to remove all tracks from the Auto DJ queue? - + This can not be undone. - + Add Crate as Track Source Dodaj Skrzynkę jako źródło utworów @@ -150,7 +150,7 @@ Importuj jako skrzynkę BasePlaylistFeature - + New Playlist Nowa lista odtwarzania @@ -161,7 +161,7 @@ Importuj jako skrzynkę - + Create New Playlist Utwórz nową listę odtwarzania @@ -191,113 +191,120 @@ Importuj jako skrzynkę Duplikuj - - + + Import Playlist Importuj listę odtwarzania - + Export Track Files Eksportuj pliki utworu - + Analyze entire Playlist Analizuj całą listę odtwarzania - + Enter new name for playlist: Podaj nową nazwę listy odtwarzania: - + Duplicate Playlist Duplikuj listę odtwarzania - - + + Enter name for new playlist: Podaj nazwę dla nowej listy odtwarzania: - - + + Export Playlist Eksportuj listę odtwarzania - + Add to Auto DJ Queue (replace) Dodaj do kolejki Auto DJ (zamień) - + + + Export to Engine DJ + "Engine DJ" is a product name and must not be translated. + + + + Rename Playlist Zmień nazwę listy odtwarzania - - + + Renaming Playlist Failed Zmiana nazwy listy odtwarzania nie powiodła się - - - + + + A playlist by that name already exists. Lista odtwarzania o tej nazwie już istnieje. - - - + + + A playlist cannot have a blank name. Lista odtwarzania nie może mieć pustej nazwy. - + _copy //: Appendix to default name when duplicating a playlist _kopia - - - - - - + + + + + + Playlist Creation Failed Tworzenie listy odtwarzania nie powiodło się - - + + An unknown error occurred while creating playlist: Wystąpił nieznany błąd podczas tworzenia listy odtwarzania: - + Confirm Deletion Potwierdź usunięcie - + Do you really want to delete playlist <b>%1</b>? Czy na pewno chcesz usunąć playlistę <b>%1</b>? - + M3U Playlist (*.m3u) Lista odtwarzania M3U (*.m3u) - + M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Text CSV (*.csv);;Readable Text (*.txt) Lista odtwarzania M3U (*.m3u);;Lista odtwarzania M3U8 (*.m3u8);;Lista odtwarzania PLS (*.pls);;Tekst CSV (*.csv);;Odczytywalny Tekst (*.txt) @@ -305,12 +312,12 @@ Importuj jako skrzynkę BaseSqlTableModel - + # Nr - + Timestamp Znacznik czasu @@ -318,7 +325,7 @@ Importuj jako skrzynkę BaseTrackPlayerImpl - + Couldn't load track. Nie mogę załadować ścieżki. @@ -326,137 +333,142 @@ Importuj jako skrzynkę BaseTrackTableModel - + Album Album - + Album Artist Wykonawca albumu - + Artist Wykonawca - + Bitrate Bitrate - + BPM BPM - + Channels Kanały - + Color Kolor - + Comment Komentarz - + Composer Kompozytor - + Cover Art Okładka - + Date Added Data dodania - + Last Played Ostatnio grane - + Duration Czas trwania - + Type Typ - + Genre Gatunek - + Grouping Grupowanie - + Key Tonacja - + Location Lokalizacja - + + Overview + + + + Preview Podgląd - + Rating Ocena - + ReplayGain GainPowtórki - + Samplerate Próbkowanie - + Played Zagrane - + Title Tytuł - + Track # Nr ścieżki - + Year Rok - + Fetching image ... Tooltip text on the cover art column shown when the cover is read from disk @@ -544,67 +556,77 @@ Importuj jako skrzynkę BrowseFeature - + Add to Quick Links Dodaj do Szybkich Odnośników - + Remove from Quick Links Usuń z Szybkich Odnośników - + Add to Library Dodaj do Biblioteki - + Refresh directory tree - + Quick Links Szybkie Odnośniki - - + + Devices Nośniki - + Removable Devices Urządzenia wymienne - - + + Computer Komputer - + Music Directory Added Dodano katalog z muzyką - + You added one or more music directories. The tracks in these directories won't be available until you rescan your library. Would you like to rescan now? Dodałeś jeden lub więcej katalogów z muzyką. Utwory z tych katalogów nie będą dostępne dopóki ponownie nie przeskanujesz biblioteki. Czy chcesz zrobić to teraz? - + Scan Skanuj - + "Computer" lets you navigate, view, and load tracks from folders on your hard disk and external devices. "Komputer" pozwala Ci nawigować, przeglądać i ładować ścieżki z folderów na dysku twardym komputera oraz na urządzeniach zewnętrznych. + + + It shows the data from the file tags, not track data from your Mixxx library like other track views. + + + + + If you load a track file from here, it will be added to your library. + + BrowseTableModel @@ -1047,13 +1069,13 @@ trace - Above + Profiling messages - + Set to full volume Ustaw głośność na maksimum - + Set to zero volume Ustaw głośność na zero @@ -1078,13 +1100,13 @@ trace - Above + Profiling messages Przycisk reverse roll (cenzuruj) - + Headphone listen button Przycisk odsłuchu słuchawkowego - + Mute button Przycisk wyciszenia @@ -1095,25 +1117,25 @@ trace - Above + Profiling messages - + Mix orientation (e.g. left, right, center) Orientacja miksu (np. lewo, prawo, środek) - + Set mix orientation to left Ustaw kierunek miksowania na lewo - + Set mix orientation to center Ustaw kierunek miksowania na środek - + Set mix orientation to right Ustaw kierunek miksowania na prawo @@ -1154,22 +1176,22 @@ trace - Above + Profiling messages Przycisk wstukiwania bitu - + Toggle quantize mode Przełącz tryb kwantyzacji - + One-time beat sync (tempo only) Jednorazowa synchronizacja rytmu (tylko tempo) - + One-time beat sync (phase only) Jednorazowa synchronizacja rytmu (tylko faza) - + Toggle keylock mode Przełącz tryb blokowania @@ -1179,193 +1201,193 @@ trace - Above + Profiling messages Equalizery - + Vinyl Control Kontrola vinylem - + Toggle vinyl-control cueing mode (OFF/ONE/HOT) Przełącz kontrolę vinylem w trybie CUE (OFF/ONE/HOT) - + Toggle vinyl-control mode (ABS/REL/CONST) Przełącz kontrolę vinylem (ABS/REL/CONST) - + Pass through external audio into the internal mixer Przepuść zewnętrzne audio do wewnętrznego miksera - + Cues Znaczniki Cue - + Cue button Przycisk Cue - + Set cue point Ustaw punkt Cue - + Go to cue point Idź do Cue - + Go to cue point and play Idź do Cue i odtwarzaj - + Go to cue point and stop Idź do Cue i zatrzymaj - + Preview from cue point Podejrzyj od Cue - + Cue button (CDJ mode) Przycisk Cue (tryb CDJ) - + Stutter cue - + Hotcues Znaczniki hotcue - + Set, preview from or jump to hotcue %1 Ustaw, przejrzyj od lub przejdź do hotcue %1 - + Clear hotcue %1 Wyczyść hotcue %1 - + Set hotcue %1 Ustaw hotcue %1 - + Jump to hotcue %1 Przeskocz do hotcue %1 - + Jump to hotcue %1 and stop Przeskocz do hotcue %1 i zatrzymaj - + Jump to hotcue %1 and play Skocz do hotcue %1 i odtwarzaj - + Preview from hotcue %1 Przejrzyj od hotcue %1 - - + + Hotcue %1 Skrót %1 - + Looping Zapętlanie - + Loop In button Przycisk początku pętli - + Loop Out button Przycisk końca pętli - + Loop Exit button Przycisk wyjścia z pętli - + 1/2 1/2 - + 1 1 - + 2 2 - + 4 4 - + 8 8 - + 16 16 - + 32 32 - + 64 64 - + Move loop forward by %1 beats Przesuń pętlę naprzód o %1 beat'ów - + Move loop backward by %1 beats Przesuń pętlę wstecz o %1 beat'ów - + Create %1-beat loop Stwórz %1-beatową pętlę - + Create temporary %1-beat loop roll Utwórz tymczasową pętlę %1-beatową @@ -1481,20 +1503,20 @@ trace - Above + Profiling messages - - + + Volume Fader Regulacja głośności - + Full Volume Maksymalna głóśność - + Zero Volume Głośność zero @@ -1510,7 +1532,7 @@ trace - Above + Profiling messages - + Mute Wycisz @@ -1521,7 +1543,7 @@ trace - Above + Profiling messages - + Headphone Listen Odsłuch na słuchawkach @@ -1542,25 +1564,25 @@ trace - Above + Profiling messages - + Orientation Kierunek - + Orient Left Kierunek w lewo - + Orient Center Kierunek środek - + Orient Right Kierunek w prawo @@ -1630,82 +1652,82 @@ trace - Above + Profiling messages Skoryguj siatkę tempa do prawej - + Adjust Beatgrid Reguluje siatkę uderzeń - + Align beatgrid to current position Wyrównaj siatkę tempa do bieżącej pozycji - + Adjust Beatgrid - Match Alignment Skoryguj siatkę tempa - dopasuj wyrównanie - + Adjust beatgrid to match another playing deck. Skoryguj siatkę tempa aby pasowała do drugiego grającego odtwarzacza. - + Quantize Mode Tryb Kwantyzacji - + Sync Synchronizuj - + Beat Sync One-Shot Synchronizacja bitów One-Shot - + Sync Tempo One-Shot Synchronizacja tempa One-Shot - + Sync Phase One-Shot Synchronizacja fazy One-Shot - + Pitch control (does not affect tempo), center is original pitch Kontrola wysokości dźwięku (nie wpływa na tempo), środek to oryginalna wysokość - + Pitch Adjust Dostosowanie Tonu - + Adjust pitch from speed slider pitch Dostosuj wysokość za pomocą suwaka prędkości - + Match musical key Dopasuj klucz muzyczny - + Match Key Dopasuj Klucz - + Reset Key Przywróć Klucz - + Resets key to original Przywróć klucz do oryginalnego @@ -1746,451 +1768,451 @@ trace - Above + Profiling messages Basy - + Toggle Vinyl Control Przełącza kontrolę winylem - + Toggle Vinyl Control (ON/OFF) Przełącz kontrolę winylem (Włącz/Wyłącz) - + Vinyl Control Mode Tryb kontroli winylem - + Vinyl Control Cueing Mode Przejście kontroli CUE winylu - + Vinyl Control Passthrough Przejście kontroli winylu - + Vinyl Control Next Deck Kontrola Vinyla Następny Deck - + Single deck mode - Switch vinyl control to next deck Tryb pojedynczego odtwarzacza - Przełącz kontrole winylem do następnego odtwarzacza - + Cue Wskaźnik (Cue) - + Set Cue Ustaw wskaźnik (Cue) - + Go-To Cue Idź do Cue - + Go-To Cue And Play Idź do Cue i odtwarzaj - + Go-To Cue And Stop Idź do Cue i zatrzymaj - + Preview Cue Podgląd Cue - + Cue (CDJ Mode) Cue (Tryb CDJ) - + Stutter Cue Wskazóœka CUE - + Go to cue point and play after release Idź do punktu CUE i odtwarzaj po puszczeniu - + Clear Hotcue %1 Wyczysć HotCue %1 - + Set Hotcue %1 Ustaw HotCue %1 - + Jump To Hotcue %1 Skocz do HotCue %1 - + Jump To Hotcue %1 And Stop Skocz do HotCue %1 i zatrzymaj - + Jump To Hotcue %1 And Play Skocz do HotCue %1 i odtwarzaj - + Preview Hotcue %1 Pokaż HotCue %1 - + Loop In Początek pętli - + Loop Out Koniec pętli - + Loop Exit Wyjście z pętli - + Reloop/Exit Loop Powtórz/Wyjdź z pętli - + Loop Halve Połowa pętli - + Loop Double Podwojenie pętli - + 1/32 1/32 - + 1/16 1/16 - + 1/8 1/8 - + 1/4 1/4 - + Move Loop +%1 Beats Przesuń pętlę +%1 beat'ów - + Move Loop -%1 Beats Przesuń pętlę -%1 beat'ów - + Loop %1 Beats Pętla %1 beat'ów - + Loop Roll %1 Beats Zapętlenie % 1 beat'ów - + Add to Auto DJ Queue (bottom) Dodaj do kolejki Auto DJ (dół) - + Append the selected track to the Auto DJ Queue Dołącz wybrany utwór do kolejki Auto DJ - + Add to Auto DJ Queue (top) Dodaj do kolejki Auto DJ (góra) - + Prepend selected track to the Auto DJ Queue Dodaj wybrany utwór do kolejki Auto DJ - + Load Track Załaduj utwór - + Load selected track Załaduj zaznaczoną scieżkę - + Load selected track and play Załaduj zaznaczoną ścieżkę i odtwórz - - + + Record Mix Zarejestruj mix - + Toggle mix recording Przełącz rejestrację mix'u - + Effects Efekty - + Quick Effects Szybkie efekty - + Deck %1 Quick Effect Super Knob Super Gałka Szybkiego Efektu dla odtwarzacza %1 - + Quick Effect Super Knob (control linked effect parameters) Szybka Super Gałka (kontroluje połączone parametry efektów) - - + + Quick Effect Szybki Efekt - + Clear Unit Wyczyść Jednostkę - + Clear effect unit Wyczyść moduł efektu - + Toggle Unit Przełącz moduł - + Dry/Wet Suchy/Mokry - + Adjust the balance between the original (dry) and processed (wet) signal. Dostosuj balans pomiędzy sygnałem oryginalnym (suchym) i przetworzonym (mokrym). - + Super Knob Super Gałka - + Next Chain Następny łańcuch - + Assign Przypisz - + Clear Wyczyść - + Clear the current effect Wyczyść bieżący efekt - + Toggle Przełącz - + Toggle the current effect Przełącz bieżący efekt - + Next Następny - + Switch to next effect Przełącz do następnego efektu - + Previous Wstecz - + Switch to the previous effect Przełącz do poprzedniego efektu - + Next or Previous Następny lub Poprzedni - + Switch to either next or previous effect Przełącz do następnego lub poprzedniego efektu - - + + Parameter Value Wartość parametru - - + + Microphone Ducking Strength Moc wyciszania mikrofonu - + Microphone Ducking Mode Tryb wyciszania mikrofonu - + Gain Wzmocnienie - + Gain knob Pokrętło wzmocnienia - + Shuffle the content of the Auto DJ queue Przetasuj zawartość kolejki Auto DJ - + Skip the next track in the Auto DJ queue Pomiń następny utwór w kolejce Auto DJ - + Auto DJ Toggle Przełącznik trybu Auto DJ - + Toggle Auto DJ On/Off Włącz/Wyłącz tryb Auto DJ - + Show/hide the microphone & auxiliary section Pokaż/ukryj sekcję mikrofonu i sekcji pomocniczej - + 4 Effect Units Show/Hide 4 jednostki efektów Pokaż/Ukryj - + Switches between showing 2 and 4 effect units Przełącza pomiędzy wyświetlaniem 2 i 4 jednostek efektów - + Mixer Show/Hide Mikser Pokaż/Ukryj - + Show or hide the mixer. Pokazuje lub ukrywa Mikser - + Cover Art Show/Hide (Library) Pokaż/ukryj okładkę (biblioteka) - + Show/hide cover art in the library Pokaż/ukryj okładkę w bibliotece - + Library Maximize/Restore Maksymalizuj/Przywróć Bibliotekę - + Maximize the track library to take up all the available screen space. Maksymalizuj bibliotekę utworów, aby wykorzystać całe dostępne miejsce na ekranie. - + Effect Rack Show/Hide Moduł Efektów Pokaż/Ukryj - + Show/hide the effect rack Pokaż/ukryj Moduł Efektów - + Waveform Zoom Out Zmniejsz wykres dźwięku @@ -2205,102 +2227,102 @@ trace - Above + Profiling messages Wzmocnienie słuchawek - + Tap to sync tempo (and phase with quantize enabled), hold to enable permanent sync Stuknij, aby zsynchronizować tempo (i fazę z włączoną kwantyzacją), przytrzymaj, aby włączyć stałą synchronizację - + One-time beat sync tempo (and phase with quantize enabled) Jednorazowa synchronizacja rytmu (i faza z włączoną kwantyzacją) - + Playback Speed Prędkość odtwarzania - + Playback speed control (Vinyl "Pitch" slider) Kontrola prędkości odtwarzania (suwak Vinyl "Pitch") - + Pitch (Musical key) Wysokość tonu (klucz muzyczny) - + Increase Speed Zwiększ prędkość - + Adjust speed faster (coarse) Regulacja prędkości szybciej (zgrubna) - + Increase Speed (Fine) Zwiększ prędkość (dokładne) - + Adjust speed faster (fine) Regulacja prędkości szybciej (dokładna) - + Decrease Speed Zmniejsz prędkość - + Adjust speed slower (coarse) Regulacja prędkości wolniej (zgrubna) - + Adjust speed slower (fine) Regulacja prędkości wolniej (dokładna) - + Temporarily Increase Speed Tymczasowo Zwiększ prędkość - + Temporarily increase speed (coarse) Tymczasowo zwiększ prędkość (zgrubnie) - + Temporarily Increase Speed (Fine) Tymczasowo Zwiększ prędkość (Dokładnie) - + Temporarily increase speed (fine) Tymczasowo zwiększ prędkość (Dokładnie) - + Temporarily Decrease Speed Tymczasowo Zmniejsz prędkość - + Temporarily decrease speed (coarse) Tymczasowo zmniejsz prędkość (zgrubnie) - + Temporarily Decrease Speed (Fine) Tymczasowo Zmniejsz prędkość(dokładnie) - + Temporarily decrease speed (fine) Tymczasowo zmniejsz prędkość (dokładnie) @@ -2452,1053 +2474,1063 @@ trace - Above + Profiling messages - - + + Move Beatgrid Half a Beat + + + + + Adjust the beatgrid by exactly one half beat. Usable only for tracks with constant tempo. + + + + + Toggle the BPM/beatgrid lock - + Revert last BPM/Beatgrid Change - + Revert last BPM/Beatgrid Change of the loaded track. - + Sync / Sync Lock Synchronizacja / Blokada synchronizacji - + Internal Sync Leader Główna synchronizacja wewnętrzna - + Toggle Internal Sync Leader Przełącz główną synchronizację wewnętrzną - - + + Internal Leader BPM Główna synchronizacja wewnętrzna BPM - + Internal Leader BPM +1 Główna synchronizacja wewnętrzna BPM +1 - + Increase internal Leader BPM by 1 Zwiększ główne wewnętrzne BPM o 1 - + Internal Leader BPM -1 Główna synchronizacja wewnętrzna BPM -1 - + Decrease internal Leader BPM by 1 Zmniejsz główne wewnętrzne BPM o 1 - + Internal Leader BPM +0.1 Główna synchronizacja wewnętrzna BPM +0,1 - + Increase internal Leader BPM by 0.1 Zwiększ główne wewnętrzne BPM o 0,1 - + Internal Leader BPM -0.1 Główna synchronizacja wewnętrzna BPM -0,1 - + Decrease internal Leader BPM by 0.1 Zmniejsz główne wewnętrzne BPM o 0,1 - + Sync Leader Główna synchronizacja - + Sync mode 3-state toggle / indicator (Off, Soft Leader, Explicit Leader) 3-stanowy przełącznik/wskaźnik trybu synchronizacji (wyłączony, miękki lider, wyraźny lider) - + Speed Prędkość - + Decrease Speed (Fine) Zmniejsz prędkość (dobrze) - + Pitch (Musical Key) Wysokość tonu (klawisz muzyczny) - + Increase Pitch Zwiększ wysokość tonu - + Increases the pitch by one semitone Zwiększa wysokość dźwięku o jeden półton - + Increase Pitch (Fine) Zwiększ wysokość dźwięku (dokładnie) - + Increases the pitch by 10 cents Zwiększa wysokość dźwięku o 10 centów - + Decrease Pitch Zmniejsz wysokość tonu - + Decreases the pitch by one semitone Zmniejsza wysokość dźwięku o jeden półton - + Decrease Pitch (Fine) Zmniejsza wysokość dźwięku (dokładnie) - + Decreases the pitch by 10 cents Zmniejsza wysokość dźwięku o 10 centów - + Keylock Blokada przycisków - + CUP (Cue + Play) CUP (CUE + start) - + Shift cue points earlier Cofnij do wcześniejszego punktu CUE - + Shift cue points 10 milliseconds earlier Przesuń punkty CUE 10 milisekund wstecz - + Shift cue points earlier (fine) Przesuń punkty CUE wstecz (dokładnie) - + Shift cue points 1 millisecond earlier Przesuń punkty CUE o 1 milisekundę wstecz - + Shift cue points later Przesuń punkt CUE dalej - + Shift cue points 10 milliseconds later Przesuń punkty CUE 10 milisekund dalej - + Shift cue points later (fine) Przesuń punkty CUE dalej (dokładnie) - + Shift cue points 1 millisecond later Przesuń punkty CUE o 1 milisekundę dalej - - + + Sort hotcues by position - - + + Sort hotcues by position (remove offsets) - + Hotcues %1-%2 Szybkie CUE %1-%2 - + Intro / Outro Markers Markery Intro / Outro - + Intro Start Marker Start Intro Marker - + Intro End Marker Stop Intro Marker - + Outro Start Marker Start Outro Marker - + Outro End Marker Stop Outro Marker - + intro start marker start intro marker - + intro end marker stop intro marker - + outro start marker start outro marker - + outro end marker stop outro marker - + Activate %1 [intro/outro marker Aktywacja %1 - + Jump to or set the %1 [intro/outro marker Przejdź do lub ustaw %1 - + Set %1 [intro/outro marker Ustaw %1 - + Set or jump to the %1 [intro/outro marker Ustaw lub Przejdź do %1 - + Clear %1 [intro/outro marker Czyść %1 - + Clear the %1 [intro/outro marker Czyść w %1 - + if the track has no beats the unit is seconds - + Loop Selected Beats Zapętl wybrane uderzenia - + Create a beat loop of selected beat size Utwórz pętlę beatów o wybranym rozmiarze beatów - + Loop Roll Selected Beats Zapętl wybrane rytmy - + Create a rolling beat loop of selected beat size Utwórz pętlę rytmiczną o wybranym rozmiarze - + Loop %1 Beats set from its end point - + Loop Roll %1 Beats set from its end point - + Create %1-beat loop with the current play position as loop end - + Create temporary %1-beat loop roll with the current play position as loop end - + Loop Beats Pętla bitów - + Loop Roll Beats Zapętlone rytmy - + Go To Loop In Przejdź do początku pętli - + Go to Loop In button Przejdź do początku przycisku Zapętlenie - + Go To Loop Out Przejdź na koniec pętli - + Go to Loop Out button Przejdź na koniec przycisku Zapętlenie - + Toggle loop on/off and jump to Loop In point if loop is behind play position Włącz/wyłącz pętlę i przejdź do punktu Loop In, jeśli pętla znajduje się za pozycją odtwarzania - + Reloop And Stop Uruchom ponownie i zatrzymaj - + Enable loop, jump to Loop In point, and stop Włącz pętlę, przejdź do punktu Loop In i zatrzymaj się - + Halve the loop length Zmniejsz o połowę długość pętli - + Double the loop length Podwoić długość pętli - + Beat Jump / Loop Move Beat skok / ruch w pętli - + Jump / Move Loop Forward %1 Beats Skok / Przesuń pętlę do przodu %1 beat - + Jump / Move Loop Backward %1 Beats Skok / Przesuń pętlę w tył %1 beat - + Jump forward by %1 beats, or if a loop is enabled, move the loop forward %1 beats Przeskocz do przodu o %1 uderzeń lub, jeśli włączona jest pętla, przesuń pętlę do przodu o %1 uderzeń - + Jump backward by %1 beats, or if a loop is enabled, move the loop backward %1 beats Przeskocz w tył o %1 uderzeń lub, jeśli włączona jest pętla, przesuń pętlę w tył o %1 uderzeń - + Beat Jump / Loop Move Forward Selected Beats Beat skok / Ruch w pętli Przesuń do przodu wybrane beaty - + Jump forward by the selected number of beats, or if a loop is enabled, move the loop forward by the selected number of beats Przeskocz do przodu o wybraną liczbę uderzeń lub, jeśli włączona jest pętla, przesuń pętlę do przodu o wybraną liczbę uderzeń - + Beat Jump / Loop Move Backward Selected Beats Beat skok / Ruch w pętli Przesuń wstecz wybrane beaty - + Jump backward by the selected number of beats, or if a loop is enabled, move the loop backward by the selected number of beats Przeskocz do tyłu o wybraną liczbę uderzeń lub, jeśli włączona jest pętla, przesuń pętlę do tyłu o wybraną liczbę uderzeń - + Beat Jump - + Indicate which loop marker remain static when adjusting the size or is inherited from the current position - + Beat Jump / Loop Move Forward Beat skok / Ruch w pętli Przesuń do przodu - + Beat Jump / Loop Move Backward Beat skok / Ruch w pętli Przesuń wstecz - + Loop Move Forward Pętla Przejdź do przodu - + Loop Move Backward Pętla Przejdź do tyłu - + Remove Temporary Loop - + Remove the temporary loop - + Navigation Nawigacja - + Move up Przesuń w górę - + Equivalent to pressing the UP key on the keyboard Równoznaczne z wciśnięciem klawisza W GÓRĘ na klawiaturze - + Move down Przesuń w dół - + Equivalent to pressing the DOWN key on the keyboard Równoznaczne z wciśnięciem klawisza W DÓŁ na klawiaturze - + Move up/down Przesuń w górę/w dół - + Move vertically in either direction using a knob, as if pressing UP/DOWN keys Przesuń pionowo w dowolnym kierunku używając gałki lub wciskając klawisze W GÓRĘ/W DÓŁ - + Scroll Up Przewiń w górę - + Equivalent to pressing the PAGE UP key on the keyboard Równoznaczne z wciśnięciem klawisza PG UP na klawiaturze - + Scroll Down Przewiń w dół - + Equivalent to pressing the PAGE DOWN key on the keyboard Równoznaczne z wciśnięciem klawisza PG DN na klawiaturze - + Scroll up/down Przewiń w górę/w dół - + Scroll vertically in either direction using a knob, as if pressing PGUP/PGDOWN keys Przewiń pionowo w dowolnym kierunku używając gałki lub wciskając klawisze PG UP/PG DN - + Move left Przesuń w lewo - + Equivalent to pressing the LEFT key on the keyboard Równoznaczne z wciśnięciem klawisza LEWO na klawiaturze - + Move right Przesuń w prawo - + Equivalent to pressing the RIGHT key on the keyboard Równoznaczne z wciśnięciem klawisza PRAWO na klawiaturze - + Move left/right Przesuń w lewo/prawo - + Move horizontally in either direction using a knob, as if pressing LEFT/RIGHT keys Poruszaj się poziomo w dowolnym kierunku za pomocą pokrętła, tak jakbyś naciskał klawisze LEWO/PRAWO - + Move focus to right pane Przenieś fokus do prawego panelu - + Equivalent to pressing the TAB key on the keyboard Odpowiednik przytrzymywania klawisza TAB na klawiaturze - + Move focus to left pane Przenieś fokus do lewego panelu - + Equivalent to pressing the SHIFT+TAB key on the keyboard Odpowiednik naciśnięcia klawiszy SHIFT+TAB na klawiaturze - + Move focus to right/left pane Przenieś fokus do prawego/lewego panelu - + Move focus one pane to right or left using a knob, as if pressing TAB/SHIFT+TAB keys Przesuń fokus o jedno okienko w prawo lub w lewo za pomocą pokrętła, tak jak przy naciśnięciu klawiszy TAB/SHIFT+TAB - + Sort focused column Sortuj wybraną kolumnę - + Sort the column of the cell that is currently focused, equivalent to clicking on its header Posortuj kolumnę aktualnie aktywnej komórki, co odpowiada kliknięciu jej nagłówka - + Go to the currently selected item Przejdź do aktualnie wybranego elementu - + Choose the currently selected item and advance forward one pane if appropriate Wybierz aktualnie wybrany element i w razie potrzeby przejdź do przodu o jedno okienko - + Load Track and Play Załaduj utwór i odtwarzaj - + Add to Auto DJ Queue (replace) Dodaj do kolejki Auto DJ (zamień) - + Replace Auto DJ Queue with selected tracks Zastąp kolejkę Auto DJ wybranymi utworami - + Select next search history Wybierz następną historię wyszukiwania - + Selects the next search history entry Wybiera następny wpis w historii wyszukiwania - + Select previous search history Wybierz poprzednią historię wyszukiwania - + Selects the previous search history entry Wybiera poprzedni wpis historii wyszukiwania - + Move selected search entry Przenieś wybrany wpis wyszukiwania - + Moves the selected search history item into given direction and steps Przesuwa wybrany element historii wyszukiwania w określonym kierunku i krokach - + Clear search Wyczyść wyszukiwanie - + Clears the search query - - + + Select Next Color Available - + Select the next color in the color palette for the first selected track - - + + Select Previous Color Available - + Select the previous color in the color palette for the first selected track - + Deck %1 Quick Effect Enable Button Deck %1 Przycisk włączania szybkich efektów - + Quick Effect Enable Button Przycisk włączania szybkiego efektu - + Enable or disable effect processing Włącz lub wyłącz przetwarzanie efektu - + Super Knob (control effects' Meta Knobs) Super pokrętło (meta pokrętła efektów sterujących) - + Mix Mode Toggle Przełącznik trybu miksowania - + Toggle effect unit between D/W and D+W modes Przełącz jednostkę efektu pomiędzy trybami D/W i D+W - + Next chain preset Ustawienie następnego łańcucha - + Previous Chain Poprzedni Łańcuch - + Previous chain preset Ustawienie poprzedniego łańcucha - + Next/Previous Chain Następny/Poprzedni Łańcuch - + Next or previous chain preset Ustawienie następnego lub poprzedniego łańcucha. - - + + Show Effect Parameters Pokaż parametry efektu - + Effect Unit Assignment Przypisanie jednostki efektu - + Meta Knob Pokrętło Meta - + Effect Meta Knob (control linked effect parameters) Pokrętło Efektu Meta (kontrola parametrów powiązanych efektów) - + Meta Knob Mode Tryb Pokrętła Meta - + Set how linked effect parameters change when turning the Meta Knob. Ustaw sposób zmiany parametrów połączonych efektów podczas obracania pokrętła Meta. - + Meta Knob Mode Invert Odwrócenie trybu pokrętła Meta - + Invert how linked effect parameters change when turning the Meta Knob. Odwróć sposób, w jaki zmieniają się parametry połączonych efektów podczas obracania pokrętła Meta. - - + + Button Parameter Value Wartość parametru przycisku - + Microphone / Auxiliary Mikrofon / Zewnętrze - + Microphone On/Off Włącz/Wyłącz mikrofon - + Microphone on/off włącz/wyłącz mikrofon - + Toggle microphone ducking mode (OFF, AUTO, MANUAL) Przełącz tryb wyciszania mikrofonu(Wyłącz, Auto, Ręcznie) - + Auxiliary On/Off Zewnętrzny Włącz/Wyłącz - + Auxiliary on/off Zewnętrzny włącz/wyłącz - + Auto DJ Auto DJ - + Auto DJ Shuffle Wymieszaj Auto DJ - + Auto DJ Skip Next Auto DJ Skok do następnego - + Auto DJ Add Random Track - + Add a random track to the Auto DJ queue - + Auto DJ Fade To Next Auto DJ Wycisz do następnego - + Trigger the transition to the next track Przełącz przejście do następnego utworu - + User Interface Interfejs Użytkownika - + Samplers Show/Hide Samplery Pokaż/Ukryj - + Show/hide the sampler section Pokaż/Ukryj sekcje samplera - + Microphone && Auxiliary Show/Hide keep double & to prevent creation of keyboard accelerator Mikrofon i urządzenie pomocnicze Pokaż/Ukryj - + Waveform Zoom Reset To Default - + Reset the waveform zoom level to the default value selected in Preferences -> Waveforms - + Select the next color in the color palette for the loaded track. - + Select previous color in the color palette for the loaded track. - + Navigate Through Track Colors - + Select either next or previous color in the palette for the loaded track. - + Start/Stop Live Broadcasting Rozpocznij/zatrzymaj transmisję na żywo - + Stream your mix over the Internet. Transmituj swój mix przez Internet. - + Start/stop recording your mix. Rozpocznij/zatrzymaj nagrywanie miksu. - - + + Samplers Próbniki - + Vinyl Control Show/Hide Kontrola winylem Pokaż/Ukryj - + Show/hide the vinyl control section Pokaż/Ukryj sekcje kontroli winylem - + Preview Deck Show/Hide Pokaż/Schowaj Deck podglądowy - + Show/hide the preview deck Pokaż/ukryj podgląd decka - + Toggle 4 Decks Przełącz 4 odtwarzacze. - + Switches between showing 2 decks and 4 decks. Przełącza między wyświetlaniem 2 i 4 odtwarzaczy. - + Cover Art Show/Hide (Decks) Pokaż/ukryj okładkę (Decki) - + Show/hide cover art in the main decks Pokaż/ukryj okładkę na głównych deckach - + Vinyl Spinner Show/Hide Pokaż/Ukryj tarczę winyla - + Show/hide spinning vinyl widget Pokaż/Ukryj wirującą płytę vinylową - + Vinyl Spinners Show/Hide (All Decks) Spinnery winylowe Pokaż/Ukryj (wszystkie decki) - + Show/Hide all spinnies Pokaż/ukryj wszystkie krążki - + Toggle Waveforms Przełącz przebiegi - + Show/hide the scrolling waveforms. Pokaż/ukryj przewijane przebiegi. - + Waveform zoom Skalowanie wykresu dźwięku - + Waveform Zoom Skalowanie wykresu dźwięku - + Zoom waveform in Powiększ wykres dźwięku - + Waveform Zoom In Powiększ wykres dźwięku - + Zoom waveform out Zmniejsz wykres dźwięku - + Star Rating Up Ocena gwiazdkowa w górę - + Increase the track rating by one star Zwiększ ocenę utworu o jedną gwiazdkę - + Star Rating Down Ocena gwiazdkowa w dół - + Decrease the track rating by one star Zmniejsz ocenę utworu o jedną gwiazdkę @@ -3613,32 +3645,32 @@ trace - Above + Profiling messages ControllerScriptEngineBase - + The functionality provided by this controller mapping will be disabled until the issue has been resolved. Funkcjonalność zapewniana przez to mapowanie kontrolera zostanie wyłączona do czasu rozwiązania problemu. - + You can ignore this error for this session but you may experience erratic behavior. Możesz zignorować ten błąd w tej sesji, ale może wystąpić nieprawidłowe zachowanie. - + Try to recover by resetting your controller. Spróbuj przwrócić resetując swój kontroler - + Controller Mapping Error Błąd mapowania kontrolera - + The mapping for your controller "%1" is not working properly. Mapowanie kontrolera „%1” nie działa poprawnie. - + The script code needs to be fixed. Kod skryptu musi zostać naprawiony. @@ -3746,7 +3778,7 @@ trace - Above + Profiling messages Importuj skrzynkę - + Export Crate Eksportuj Skrzynkę @@ -3756,7 +3788,7 @@ trace - Above + Profiling messages Odblokuj - + An unknown error occurred while creating crate: Podczas tworzenia skrzynki pojawił się nieznany błąd: @@ -3765,12 +3797,6 @@ trace - Above + Profiling messages Rename Crate Zmień nazwę skrzynki - - - - Export to Engine Prime - - Make a crate for your next gig, for your favorite electrohouse tracks, or for your most requested tracks. @@ -3788,17 +3814,17 @@ trace - Above + Profiling messages Zmiana nazwy skrzynki nie powiodła się - + Crate Creation Failed Tworzenie skrzynki nie powiodło się - + M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Text CSV (*.csv);;Readable Text (*.txt) Lista odtwarzania M3U (*.m3u);;Lista odtwarzania M3U8 (*.m3u8);;Lista odtwarzania PLS (*.pls);;Tekst CSV (*.csv);;Odczytywalny Tekst (*.txt) - + M3U Playlist (*.m3u) Lista odtwarzania M3U (*.m3u) @@ -3807,6 +3833,12 @@ trace - Above + Profiling messages Crates are a great way to help organize the music you want to DJ with. Skrzynki to świetny sposób na organizację muzyki, którą chcesz mixować. + + + + Export to Engine DJ + + Crates let you organize your music however you'd like! @@ -3918,12 +3950,12 @@ trace - Above + Profiling messages Byli współpracownicy - + Official Website Oficjalna strona internetowa - + Donate Wspomóż @@ -4447,37 +4479,37 @@ Często skutkuje wyższą jakością siatek beatowych, ale nie sprawdzi się dob Jeżeli mapowanie nie działa prawidłowo spróbuj włączyć opcje zaawansowane poniżej i wypróbuj kontrolkę ponownie. Możesz też kliknąć Ponów aby wykryć kontrolkę midi jeszcze raz. - + Didn't get any midi messages. Please try again. Nie otrzymano żadnych poleceń midi. Proszę spróbować ponownie. - + Unable to detect a mapping -- please try again. Be sure to only touch one control at once. Nie można wykryć mapowania - proszę spróbować jeszcze raz. Upewnij się, ze dotykasz tylko jednej kontrolki w danym momencie. - + Successfully mapped control: Kontrolka zamapowana prawidłowo: - + <i>Ready to learn %1</i> <i>Gotowy do nauki %1</i> - + Learning: %1. Now move a control on your controller. Uczenie: %1. Rusz teraz wybraną kontrolką na Twoim kontrolerze midi. - + The selected control does not exist.<br>This likely a bug. Please report it on the Mixxx bug tracker.<br><a href='https://github.com/mixxxdj/mixxx/issues'>https://github.com/mixxxdj/mixxx/issues</a><br><br>You tried to learn: %1,%2 - + The control you clicked in Mixxx is not learnable. This could be because you are either using an old skin and this control is no longer supported, or you clicked a control that provides visual feedback and can only be mapped to outputs like LEDs via scripts. @@ -4518,17 +4550,17 @@ Próbowałeś się nauczyć: %1,%2 Zmień w csv - + Log Logowanie - + Search Szukaj - + Stats Statystyki @@ -5181,114 +5213,114 @@ associated with each key. DlgPrefController - + Apply device settings? Zastosować ustawienia urządzenia? - + Your settings must be applied before starting the learning wizard. Apply settings and continue? Twoje ustawienia muszą być zapisane przed uruchomieniem kreatora. Zastosować ustawienie i kontynuować? - + None Żadne - + %1 by %2 %1 wykonywane przez %2 - + Mapping has been edited Mapowanie zostało zmodyfikowane - + Always overwrite during this session Zawsze nadpisz podczas tej sesji - + Save As Zapisz Jako - + Overwrite Nadpisz - + Save user mapping Zapisz mapowanie użytkownika - + Enter the name for saving the mapping to the user folder. Wprowadź nazwę, pod którą chcesz zapisać mapowanie w folderze użytkownika. - + Saving mapping failed Zapisanie mapowania nie powiodło się - + A mapping cannot have a blank name and may not contain special characters. Mapowanie nie może mieć pustej nazwy i nie może zawierać znaków specjalnych. - + A mapping file with that name already exists. Plik mapowania o tej nazwie już istnieje. - + Do you want to save the changes? Czy chcesz zapisać zmiany? - + Troubleshooting Rozwiązywanie problemów - + <font color='#BB0000'><b>If you use this mapping your controller may not work correctly. Please select another mapping or disable the controller.</b></font><br><br>This mapping was designed for a newer Mixxx Controller Engine and cannot be used on your current Mixxx installation.<br>Your Mixxx installation has Controller Engine version %1. This mapping requires a Controller Engine version >= %2.<br><br>For more information visit the wiki page on <a href='https://mixxx.org/wiki/doku.php/controller_engine_versions'>Controller Engine Versions</a>. - + Mapping already exists. Mapowanie już istnieje. - + <b>%1</b> already exists in user mapping folder.<br>Overwrite or save with a new name? <b>%1</b> już istnieje w folderze mapowania użytkownika.<br>Zastąpić czy zapisać pod nową nazwą? - + Clear Input Mappings Wyczyść mapowanie przychodzące - + Are you sure you want to clear all input mappings? Czy na pewno wyczyścić wszystkie mapowania przychodzące? - + Clear Output Mappings Wyczyść mapowanie wychodzące - + Are you sure you want to clear all output mappings? Czy na pewno wyczyścić wszystkie mapowania wychodzące? @@ -5306,100 +5338,100 @@ Zastosować ustawienie i kontynuować? Włączony - + Device Info - + Physical Interface: - + Vendor name: - + Product name: - + Vendor ID - + VID: - + Product ID - + PID: - + Serial number: - + USB interface number: - + HID Usage-Page: - + HID Usage: - + Description: Opis: - + Support: Wsparcie: - + Screens preview - + Input Mappings Mapowania przychodzące - - + + Search Szukaj - - + + Add Dodaj - - + + Remove Usuń @@ -5419,17 +5451,17 @@ Zastosować ustawienie i kontynuować? Załaduj mapowanie: - + Mapping Info Informacje o mapowaniu - + Author: Autor: - + Name: Nazwa: @@ -5439,28 +5471,28 @@ Zastosować ustawienie i kontynuować? Kreator uczenia się kontrolera (tylko MIDI) - + Data protocol: - + Mapping Files: Pliki mapowania: - + Mapping Settings - - + + Clear All Wyczyść Wszystko - + Output Mappings Mapowania wychodzące @@ -5619,6 +5651,16 @@ Zastosować ustawienie i kontynuować? Multi-Sampling + + + Force 3D acceleration + + + + + If checked, Mixxx will always assume 3D acceleration is available. This may lead to pour performance if only CP-backed rendering is available.. + + Start in full-screen mode @@ -6215,62 +6257,62 @@ Zawsze możesz przeciągnąć i upuścić ścieżki na ekranie, aby sklonować t DlgPrefInterface - + The minimum size of the selected skin is bigger than your screen resolution. Minimalny rozmiar wybranej skórki jest większy niż dostępna rozdzielczość ekranu. - + Allow screensaver to run Zezwól na uruchomienie wygaszacza ekranu - + Prevent screensaver from running Zapobiegaj uruchomieniu wygaszacza ekranu - + Prevent screensaver while playing Zapobiegaj wygaszaczowi ekranu podczas gry - + Disabled Wyłączone - + 2x MSAA 2x MSAA - + 4x MSAA 4x MSAA - + 8x MSAA 8x MSAA - + 16x MSAA 16x MSAA - + This skin does not support color schemes Ta skórka nie obsługuje schematów kolorów. - + Information Informacja - + Mixxx must be restarted before the new locale, scaling or multi-sampling settings will take effect. @@ -7437,173 +7479,172 @@ The loudness target is approximate and assumes track pregain and main output lev DlgPrefSound - + %1 Hz %1 Hz - + Default (long delay) Domyślne (długie opóźnienie) - + Experimental (no delay) Eksperymentalne (bez opóźnienia) - + Disabled (short delay) Wyłączone (krótkie opóźnienie) - + Soundcard Clock Zegar karty dźwiękowej - + Network Clock Zegar sieciowy - + Direct monitor (recording and broadcasting only) Bezpośrednie monitorowanie (tylko nagrywanie i nadawanie) - + Disabled Wyłączone - + Enabled Włączony - + Stereo Stereo - + Mono Mono - + To enable Realtime scheduling (currently disabled), see the %1. Aby włączyć planowanie w czasie rzeczywistym (obecnie wyłączone), zobacz %1. - + The %1 lists sound cards and controllers you may want to consider for using Mixxx. %1 zawiera listę kart dźwiękowych i kontrolerów, które warto rozważyć przy korzystaniu z Mixxx. - + Mixxx DJ Hardware Guide Przewodnik po sprzęcie Mixxx DJ - + Information Informacja - + Mixxx must be restarted before the multi-threaded RubberBand setting change will take effect. - + auto (<= 1024 frames/period) auto (<= 1024 klatek/okres) - + 2048 frames/period 2048 klatek/okres - + 4096 frames/period 4096 klatek/okres - + Are you sure? Jesteś pewien? - + Distribute stereo channels into mono channels for parallel processing will result in a loss of mono compatibility and a diffuse stereo image. It is not recommended during broadcasting or recording. - + Are you sure you wish to proceed? - + No Nie - + Yes, I know what I am doing Tak, wiem co robię - + Microphone inputs are out of time in the record & broadcast signal compared to what you hear. Wejścia mikrofonowe są nieaktualne w sygnale nagrywania i nadawania w porównaniu z tym, co słyszysz. - + Measure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. Zmierz opóźnienie w obie strony i wprowadź je powyżej w celu kompensacji opóźnienia mikrofonu, aby dostosować taktowanie mikrofonu. - - + Refer to the Mixxx User Manual for details. Szczegółowe informacje można znaleźć w instrukcji obsługi Mixxx. - + Configured latency has changed. Ustawione opóźnienie zostało zmienione. - + Remeasure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. Zmierz ponownie opóźnienie w obie strony i wprowadź je powyżej w polu Kompensacja opóźnienia mikrofonu, aby dopasować taktowanie mikrofonu. - + Realtime scheduling is enabled. - + Planowanie w czasie rzeczywistym jest włączone. - + Main output only - + Main and booth outputs - + %1 ms %1 ms - + Configuration error Błąd konfiguracji @@ -7621,131 +7662,131 @@ The loudness target is approximate and assumes track pregain and main output lev API Dźwięku - + Sample Rate Próbkowanie - + Audio Buffer Bufor Audio - + Engine Clock Zegar silnika - + Use soundcard clock for live audience setups and lowest latency.<br>Use network clock for broadcasting without a live audience. Użyj zegara karty dźwiękowej do konfiguracji odbiorców na żywo i najniższego opóźnienia.<br>Użyj zegara sieciowego do transmisji bez publiczności na żywo. - + Main Mix Główny Mix - + Main Output Mode - + Microphone Monitor Mode Tryb monitorowania mikrofonu - + Microphone Latency Compensation Kompensacja opóźnienia mikrofonu - - - - + + + + ms milliseconds ms - + 20 ms 20 ms - + Buffer Underflow Count Licznik niedomiaru bufora - + 0 0 - + Keylock/Pitch-Bending Engine Silnik blokady klawiszy/wyginania tonu - + Multi-Soundcard Synchronization Synchronizacja wielu kart dźwiękowych - + Output Wyjście - + Input Wejście - + System Reported Latency Zgłoszone przez system opóźnienie - + Enlarge your audio buffer if the underflow counter is increasing or you hear pops during playback. Powiększ bufor audio, jeśli licznik niedopełnienia rośnie lub podczas odtwarzania słychać trzaski. - + Main Output Delay Główne opóźnienie wyjścia - + Headphone Output Delay - + Booth Output Delay - + Dual-threaded Stereo - + Hints and Diagnostics Podpowiedzi i diagnostyka - + Downsize your audio buffer to improve Mixxx's responsiveness. Zmniejsz Twój bufor audio aby poprawić czas odpowiedzi Mixxx'a. - + Query Devices Zapytaj Urządzenia @@ -8193,47 +8234,47 @@ Wybierz spośród różnych typów wyświetlania przebiegu, które różnią si DlgPreferences - + Sound Hardware Urządzenia Audio - + Controllers Kontrolery - + Library Biblioteka - + Interface Interfejs - + Waveforms Wykresy dźwięku - + Mixer Mikser - + Auto DJ Auto DJ - + Decks Deki - + Colors Kolory @@ -8268,47 +8309,47 @@ Wybierz spośród różnych typów wyświetlania przebiegu, które różnią si &OK - + Effects Efekty - + Recording Nagrywanie - + Beat Detection Detekcja rytmu (beat'u) - + Key Detection Detekcja Klucza - + Normalization Normalizacja - + <font color='#BB0000'><b>Some preferences pages have errors. To apply the changes please first fix the issues.</b></font> - + Vinyl Control Kontrola vinylem - + Live Broadcasting Nadawanie Live - + Modplug Decoder Dekoder Modplug @@ -8664,194 +8705,194 @@ This can not be undone! Podsumowanie - + Filetype: Typ pliku: - + BPM: BPM (uderzenia na minutę): - + Location: Lokalizacja: - + Bitrate: Bitrate: - + Comments Komentarze - + BPM BPM - + Sets the BPM to 75% of the current value. Ustawia BPM do 75% obecnej wartości. - + 3/4 BPM 3/4 BPM - + Sets the BPM to 50% of the current value. Ustawia BPM do 50% obecnej wartości. - + Displays the BPM of the selected track. Wyświetla BPM wybranego utworu. - + Track # Nr ścieżki - + Album Artist Wykonawca albumu - + Composer Kompozytor - + Title Tytuł - + Grouping Grupowanie - + Key Tonacja - + Year Rok - + Artist Wykonawca - + Album Album - + Genre Gatunek - + ReplayGain: GainPowtórki: - + Sets the BPM to 200% of the current value. Ustawia BPM do 200% obecnej wartości. - + Double BPM Podwójny BPM - + Halve BPM Połowa BPM - + Clear BPM and Beatgrid Wyczyść BPM i siatkę beat'u - + Move to the previous item. "Previous" button Przenieś do poprzedniej pozycji. - + &Previous &Poprzedni - + Move to the next item. "Next" button Przenieś do następnej pozycji. - + &Next &Następny - + Duration: Czas trwania: - + Import Metadata from MusicBrainz Importuj metadane z MusicBrainz - + Re-Import Metadata from file Zaimportuj ponownie metadane z pliku - + Color Kolor - + Date added: Data dodania: - + Open in File Browser Otwórz plik w przeglądarce - + Samplerate: Próbkowanie: - + Track BPM: BPM Ścieżki: - + Converts beats detected by the analyzer into a fixed-tempo beatgrid. Use this setting if your tracks have a constant tempo (e.g. most electronic music). Often results in higher quality beatgrids, but will not do well on tracks that have tempo shifts. @@ -8860,90 +8901,90 @@ Użyj tego ustawienia, jeśli Twoje utwory mają stałe tempo (np. większość Często skutkuje wyższą jakością siatek beatowych, ale nie sprawdzi się dobrze w przypadku utworów zawierających zmiany tempa. - + Assume constant tempo Załóż stałe tempo - + Sets the BPM to 66% of the current value. Ustawia BPM do 66% obecnej wartości. - + 2/3 BPM 2/3 BPM - + Sets the BPM to 150% of the current value. Ustawia BPM do 150% obecnej wartości. - + 3/2 BPM 3/2 BPM - + Sets the BPM to 133% of the current value. Ustawia BPM do 133% obecnej wartości. - + 4/3 BPM 4/3 BPM - + Tap with the beat to set the BPM to the speed you are tapping. Uderzaj zgodnie z beat'em aby ustawić BPM zgodnie z tym który uderzasz. - + Tap to Beat Uderzaj do Bitu - + Hint: Use the Library Analyze view to run BPM detection. Podpowiedź: Użyj widoku Analizuj Kolekcję, aby uruchomić wykrywanie BPM. - + Save changes and close the window. "OK" button Zapisz zmiany i zamknij okno. - + &OK &OK - + Discard changes and close the window. "Cancel" button Porzuć zmiany i zamknij okno. - + Save changes and keep the window open. "Apply" button Zapisz zmiany i nie zamykaj okna. - + &Apply Z&astosuj - + &Cancel &Anuluj - + (no color) @@ -9100,7 +9141,7 @@ Często skutkuje wyższą jakością siatek beatowych, ale nie sprawdzi się dob &OK - + (no color) @@ -9302,27 +9343,27 @@ Często skutkuje wyższą jakością siatek beatowych, ale nie sprawdzi się dob EngineBuffer - + Soundtouch (faster) Soundtouch (szybszy) - + Rubberband (better) Rubberband (lepszy) - + Rubberband R3 (near-hi-fi quality) - + Unknown, using Rubberband (better) - + Unknown, using Soundtouch @@ -9537,15 +9578,15 @@ Często skutkuje wyższą jakością siatek beatowych, ale nie sprawdzi się dob LegacySkinParser - - + + Safe Mode Enabled Shown when Mixxx is running in safe mode. Tryb Bezpieczny Włączony - - + + No OpenGL support. Shown when Spinny can not be displayed. Please keep @@ -9556,57 +9597,57 @@ Shown when VuMeter can not be displayed. Please keep Brak wsparcia OpenGL. - + activate aktywny - + toggle przełącz - + right w prawo - + left w lewo - + right small odrobinę w prawo - + left small odrobinę w lewo - + up w górę - + down w dół - + up small odrobinę w górę - + down small odrobinę w dół - + Shortcut Skrót @@ -9614,62 +9655,62 @@ Shown when VuMeter can not be displayed. Please keep Library - + This or a parent directory is already in your library. - + This or a listed directory does not exist or is inaccessible. Aborting the operation to avoid library inconsistencies - - + + This directory can not be read. - + An unknown error occurred. Aborting the operation to avoid library inconsistencies - + Can't add Directory to Library - + Could not add <b>%1</b> to your library. %2 - + Can't remove Directory from Library - + An unknown error occurred. - + This directory does not exist or is inaccessible. - + Relink Directory - + Could not relink <b>%1</b> to <b>%2</b>. %3 @@ -9679,22 +9720,22 @@ Aborting the operation to avoid library inconsistencies LibraryFeature - + Import Playlist Importuj listę odtwarzania - + Playlist Files (*.m3u *.m3u8 *.pls *.csv) Pliki list odtwarzania (*.m3u *.m3u8 *.pls *.csv) - + Overwrite File? Nadpisać plik? - + A playlist file with the name "%1" already exists. The default "m3u" extension was added because none was specified. @@ -9744,27 +9785,27 @@ Czy na pewno chcesz to nadpisać? MidiController - + MixxxControl(s) not found Nie znaleziono MixxxControl(s) - + One or more MixxxControls specified in the outputs section of the loaded mapping were invalid. Co najmniej jeden element MixxxControl określony w sekcji wyników załadowanego mapowania był nieprawidłowy. - + * Make sure the MixxxControls in question actually exist. Visit the manual for a complete list: * Upewnij się, że dane MixxxControls rzeczywiście istnieją. Pełną listę znajdziesz w instrukcji: - + Some LEDs or other feedback may not work correctly. Któryś z LED'ów lub inne sprzężenie zwrotne może nie działać prawidłowo. - + * Check to see that the MixxxControl names are spelled correctly in the mapping file (.xml) * Sprawdź, czy nazwy MixxxControl są wpisane poprawnie w pliku odwzorowania (. xml) @@ -9825,18 +9866,18 @@ Czy na pewno chcesz to nadpisać? MixxxLibraryFeature - + Missing Tracks Brakujące utwory - + Hidden Tracks Ukryte utwory - Export to Engine Prime + Export to Engine DJ @@ -9848,211 +9889,252 @@ Czy na pewno chcesz to nadpisać? MixxxMainWindow - + Sound Device Busy Urządzenie dźwiękowe zajęte - + <b>Retry</b> after closing the other application or reconnecting a sound device <b>Ponów</b> po zamknięciu innej aplikacji lub podłącz ponownie urządzenie dźwiękowe - - - + + + <b>Reconfigure</b> Mixxx's sound device settings. <b>Rekonfiguruj</b> ustawienia urządzeń dźwiękowych Mixxx'a. - - + + Get <b>Help</b> from the Mixxx Wiki. Otrzymaj <b>Pomoc</b> na Wiki Mixxx'a. - - - + + + <b>Exit</b> Mixxx. <b>Wyjdź<b> z Mixxx'a. - + Retry Ponów - + skin Skórka - + Allow Mixxx to hide the menu bar? - + Hide Always show the menu bar? - + Always show - + The Mixxx menu bar is hidden and can be toggled with a single press of the <b>Alt</b> key.<br><br>Click <b>%1</b> to agree.<br><br>Click <b>%2</b> to disable that, for example if you don't use Mixxx with a keyboard.<br><br>You can change this setting any time in Preferences -> Interface.<br> Keep formatting tags <b> (bold text) and <br> (linebreak). %1 is the placeholder for the 'Always show' button label - + Ask me again - - + + Reconfigure Rekonfiguruj - + Help Pomoc - - + + Exit Wyjdź - - + + Mixxx was unable to open all the configured sound devices. W przypadku błędów bazy danych po pomoc skontaktuj się z: - + Sound Device Error Błąd urządzenia dźwiękowego - + <b>Retry</b> after fixing an issue <b>Spróbuj ponownie</b> po rozwiązaniu problemu - + No Output Devices Brak urządzeń wyjściowych. - + Mixxx was configured without any output sound devices. Audio processing will be disabled without a configured output device. Mixxx został skonfigurowany bez jakichkolwiek wyjściowych urządzeń dźwiękowych. Przetwarzanie dźwięku będzie wyłączone do czasu skonfigurowania urządzenia wyjściowego. - + <b>Continue</b> without any outputs. <b>Kontynuuj</b> bez urządzeń wyjściowych. - + Continue Dalej - + Load track to Deck %1 Załaduj utwór do odtwarzacza %1 - + Deck %1 is currently playing a track. Odtwarzacz %1 aktualnie odtwarza utwór. - + Are you sure you want to load a new track? Czy na pewno chcesz załadować nowy utwór? - + There is no input device selected for this vinyl control. Please select an input device in the sound hardware preferences first. Nie zostało wybrane urządzenie do tej kontroli winylem. Proszę najpierw wybrać urządzenie wejściowe w Urządzeniach Audio. - + There is no input device selected for this passthrough control. Please select an input device in the sound hardware preferences first. Nie wybrano żadnego urządzenia wejściowego dla tej kontroli przejścia. Najpierw wybierz urządzenie wejściowe w preferencjach sprzętu dźwiękowego. - + There is no input device selected for this microphone. Do you want to select an input device? Dla tego mikrofonu nie wybrano żadnego urządzenia wejściowego. Czy chcesz wybrać urządzenie wejściowe? - + There is no input device selected for this auxiliary. Do you want to select an input device? Dla tego urządzenia pomocniczego nie wybrano żadnego urządzenia wejściowego. Czy chcesz wybrać urządzenie wejściowe? - + + Scan took %1 + + + + + No changes detected. + + + + + + %1 tracks in total + + + + + %1 new tracks found + + + + + %1 moved tracks detected + + + + + %1 tracks are missing (%2 total) + + + + + %1 tracks have been rediscovered + + + + + Library scan finished + + + + Error in skin file Błąd w pliku skórki. - + The selected skin cannot be loaded. Wybrana skórka nie może być załadowana. - + OpenGL Direct Rendering Renderowanie bezpośrednie OpenGL - + Direct rendering is not enabled on your machine.<br><br>This means that the waveform displays will be very<br><b>slow and may tax your CPU heavily</b>. Either update your<br>configuration to enable direct rendering, or disable<br>the waveform displays in the Mixxx preferences by selecting<br>"Empty" as the waveform display in the 'Interface' section. Renderowanie bezpośrednie nie jest włączone na Twoim komputerze.<br><br>Oznacza to, że wyświetlanie przebiegów będzie bardzo <br><b>powolne i może mocno obciążać procesor</b>. Zaktualizuj<br>konfigurację, aby włączyć bezpośrednie renderowanie, albo wyłącz<br>wyświetlanie przebiegu w preferencjach Mixxx, wybierając<br>„Pusty” jako sposób wyświetlania przebiegu w sekcji „Interfejs”. - - - + + + Confirm Exit Potwierdź zamknięcie - + A deck is currently playing. Exit Mixxx? Deck właśnie gra! Wyjść z Mixxx'a? - + A sampler is currently playing. Exit Mixxx? Sampler aktualnie odtwarza. Wyjśc z Mixxx? - + The preferences window is still open. Okno właściwości jest nadal otwarte. - + Discard any changes and exit Mixxx? Porzucić wszystkie zmiany i wyjść z Mixxx? @@ -10068,13 +10150,13 @@ Czy chcesz wybrać urządzenie wejściowe? PlaylistFeature - + Lock Zablokuj - - + + Playlists Listy odtwarzania @@ -10084,32 +10166,58 @@ Czy chcesz wybrać urządzenie wejściowe? Wymieszaj Listę Odtwarzania - + + Unlock all playlists + + + + + Delete all unlocked playlists + + + + Unlock Odblokuj - + + + Confirm Deletion + + + + + Do you really want to delete all unlocked playlists? + + + + + Deleting %1 unlocked playlists.<br>This operation can not be undone! + + + + Playlists are ordered lists of tracks that allow you to plan your DJ sets. - + It may be necessary to skip some tracks in your prepared playlist or add some different tracks in order to maintain the energy of your audience. - + Some DJs construct playlists before they perform live, but others prefer to build them on-the-fly. Niektórzy didżeje tworzą playlisty przed ich występem na żywo, natomiast inni preferują tworzyć je w locie. - + When using a playlist during a live DJ set, remember to always pay close attention to how your audience reacts to the music you've chosen to play. Przy zastosowaniu list odtwarzania podczas występu na żywo, pamiętaj, aby zawsze zwracać baczną uwagę na to, jak publiczność reaguje na muzykę, którą wybrałeś do gry. - + Create New Playlist Utwórz nową listę odtwarzania @@ -10511,7 +10619,7 @@ Jeśli nie chcesz przyznawać Mixxx dostępu, kliknij Anuluj w selektorze plikó Downsampling - + Downsampling @@ -11611,7 +11719,7 @@ Fully right: end of the effect period - + Deck %1 Decka %1 @@ -11744,7 +11852,7 @@ Hint: compensates "chipmunk" or "growling" voices - + Passthrough Passthrough @@ -11775,7 +11883,7 @@ Hint: compensates "chipmunk" or "growling" voices - + Sampler %1 @@ -11908,12 +12016,12 @@ may introduce a 'pumping' effect and/or distortion. - + built-in - + missing @@ -11948,42 +12056,42 @@ may introduce a 'pumping' effect and/or distortion. - + Empty - + Simple - + Filtered - + HSV - + VSyncTest - + RGB - + Stacked - + Unknown @@ -12041,54 +12149,54 @@ may introduce a 'pumping' effect and/or distortion. RekordboxFeature - - - + + + Rekordbox - + Playlists Listy odtwarzania - + Folders Foldery - + Reads databases exported for Pioneer CDJ / XDJ players using the Rekordbox Export mode.<br/>Rekordbox can only export to USB or SD devices with a FAT or HFS file system.<br/>Mixxx can read a database from any device that contains the database folders (<tt>PIONEER</tt> and <tt>Contents</tt>).<br/>Not supported are Rekordbox databases that have been moved to an external device via<br/><i>Preferences > Advanced > Database management</i>.<br/><br/>The following data is read: Odczytuje bazy danych wyeksportowane dla odtwarzaczy Pioneer CDJ / XDJ przy użyciu trybu eksportu Rekordbox.<br/>Rekordbox może eksportować tylko do urządzeń USB lub SD z systemem plików FAT lub HFS.<br/>Mixxx może odczytać bazę danych z dowolnego urządzenia zawierającego foldery baz danych (<tt>PIONEER</tt> i <tt>Contents</tt>).<br/>Nie obsługiwane są bazy danych Rekordbox, które zostały przeniesione na urządzenie zewnętrzne poprzez<br/><i>Preferencje > Zaawansowane > Zarządzanie bazą danych</i>.<br/><br/>Odczytywane są następujące dane: - + Hot cues - + Loops (only the first loop is currently usable in Mixxx) - + Check for attached Rekordbox USB / SD devices (refresh) - + Beatgrids - + Memory cues - + (loading) Rekordbox @@ -12647,7 +12755,7 @@ may introduce a 'pumping' effect and/or distortion. - + Spinning Vinyl Obracajacy się vinyl @@ -12829,7 +12937,7 @@ may introduce a 'pumping' effect and/or distortion. - + Cover Art Okładka @@ -13065,197 +13173,197 @@ may introduce a 'pumping' effect and/or distortion. - + Adjust Beats Earlier - + When tapped, moves the beatgrid left by a small amount. - + Adjust Beats Later - + When tapped, moves the beatgrid right by a small amount. - + Tempo and BPM Tap Tempo i BPM Tap - + Show/hide the spinning vinyl section. Pokaż/ukryj sekcję obracającego się vinyla - + Keylock Blokada przycisków - + Toggling keylock during playback may result in a momentary audio glitch. - + Toggle visibility of Loop Controls - + Toggle visibility of Beatjump Controls - + Toggle visibility of Rate Control - + Toggle visibility of Key Controls - + (while previewing) - + Places a cue point at the current position on the waveform. - + Stops track at cue point, OR go to cue point and play after release (CUP mode). - + Set cue point (Pioneer/Mixxx/Numark mode), set cue point and play after release (CUP mode) OR preview from it (Denon mode). - + Is latching the playing state. - + Seeks the track to the cue point and stops. - + Play Odtwarzaj - + Plays track from the cue point. - + Sends the selected channel's audio to the headphone output, selected in Preferences -> Sound Hardware. - + (This skin should be updated to use Sync Lock!) - + Enable Sync Lock - + Tap to sync the tempo to other playing tracks or the sync leader. - + Enable Sync Leader - + When enabled, this device will serve as the sync leader for all other decks. - + This is relevant when a dynamic tempo track is loaded to a sync leader deck.In that case, other synced devices will adopt the changing tempo. - + Changes the track playback speed (affects both the tempo and the pitch). If keylock is enabled, only the tempo is affected. - + Tempo Range Display - + Displays the current range of the tempo slider. - + Un-ejects when no track is loaded, i.e. reloads the track that was ejected last (of any deck). - + Delete selected hotcue. - + Track Comment - + Displays the comment tag of the loaded track. - + Opens separate artwork viewer. - + Effect Chain Preset Settings - + Show the effect chain settings menu for this unit. - + Select and configure a hardware device for this input - + Recording Duration @@ -13493,926 +13601,932 @@ may introduce a 'pumping' effect and/or distortion. - + + Adjust beatgrid by exactly one half beat. Usable only on +tracks with constant tempo. + + + + Revert last BPM/Beatgrid Change - + Revert last BPM/Beatgrid Change of the loaded track. - - + + Toggle the BPM/beatgrid lock - + Tempo and Rate Tap - + Tempo, Rate Tap and BPM Tap - + Shift cues earlier - - + + Shift cues imported from Serato or Rekordbox if they are slightly off time. - + Left click: shift 10 milliseconds earlier - + Right click: shift 1 millisecond earlier - + Shift cues later - + Left click: shift 10 milliseconds later - + Right click: shift 1 millisecond later - - + + Drag a Hotcue button here to continue playing after releasing the Hotcue. - + Hint: Change the default cue mode in Preferences -> Decks. - + Mutes the selected channel's audio in the main output. - + Main mix enable - + Hold or short click for latching to mix this input into the main output. - + If hotcue is a loop cue, toggles the loop and jumps to if the loop is behind the play position. - + If the play position is inside an active loop, stores the loop as loop cue. - + Drag this button onto another Hotcue button to move it there (change its index). If the other hotcue is set, the two are swapped. - + Expand/Collapse Samplers - + Toggle expanded samplers view. - + Displays the duration of the running recording. - + Auto DJ is active - + Red for when needle skip has been detected. - + Hot Cue - Track will seek to nearest previous hotcue point. - + Sets the track Loop-In Marker to the current play position. - + Press and hold to move Loop-In Marker. - + Jump to Loop-In Marker. - + Sets the track Loop-Out Marker to the current play position. - + Press and hold to move Loop-Out Marker. - + Jump to Loop-Out Marker. - + If the track has no beats the unit is seconds. - + Beatloop Size - + Select the size of the loop in beats to set with the Beatloop button. - + Changing this resizes the loop if the loop already matches this size. - + Halve the size of an existing beatloop, or halve the size of the next beatloop set with the Beatloop button. - + Double the size of an existing beatloop, or double the size of the next beatloop set with the Beatloop button. - + Start a loop over the set number of beats. - + Temporarily enable a rolling loop over the set number of beats. - + Beatloop Anchor - + Define whether the loop is created and adjusted from its staring point or ending point. - + Beatjump/Loop Move Size - + Select the number of beats to jump or move the loop with the Beatjump Forward/Backward buttons. - + Beatjump Forward - + Jump forward by the set number of beats. - + Move the loop forward by the set number of beats. - + Jump forward by 1 beat. - + Move the loop forward by 1 beat. - + Beatjump Backward - + Jump backward by the set number of beats. - + Move the loop backward by the set number of beats. - + Jump backward by 1 beat. - + Move the loop backward by 1 beat. - + Reloop - + If the loop is ahead of the current position, looping will start when the loop is reached. - + Works only if Loop-In and Loop-Out Marker are set. - + Enable loop, jump to Loop-In Marker, and stop playback. - + Displays the elapsed and/or remaining time of the track loaded. - + Click to toggle between time elapsed/remaining time/both. - + Hint: Change the time format in Preferences -> Decks. - + Show/hide intro & outro markers and associated buttons. - + Intro Start Marker Start Intro Marker - - - - + + + + If marker is set, jumps to the marker. - - - - + + + + If marker is not set, sets the marker to the current play position. - - - - + + + + If marker is set, clears the marker. - + Intro End Marker Stop Intro Marker - + Outro Start Marker Start Outro Marker - + Outro End Marker Stop Outro Marker - + Mix Mix - + Adjust the mixing of the dry (input) signal with the wet (output) signal of the effect unit - + D/W mode: Crossfade between dry and wet - + D+W mode: Add wet to dry - + Mix Mode - + Adjust how the dry (input) signal is mixed with the wet (output) signal of the effect unit - + Dry/Wet mode (crossed lines): Mix knob crossfades between dry and wet Use this to change the sound of the track with EQ and filter effects. - + Dry+Wet mode (flat dry line): Mix knob adds wet to dry Use this to change only the effected (wet) signal with EQ and filter effects. - + Route the main mix through this effect unit. - + Route the left crossfader bus through this effect unit. - + Route the right crossfader bus through this effect unit. - + Right side active: parameter moves with right half of Meta Knob turn - + Stem Label - + Name of the stem stored in the stem file - + Text is displayed in the stem color stored in the stem file - + this stem color is also used for the waveform of this stem - + Stem Mute - + Toggle the stem mute/unmuted - + Stem Volume Knob - + Adjusts the volume of the stem - + Skin Settings Menu - + Show/hide skin settings menu - + Save Sampler Bank Zapisz Sampler Bank - + Save the collection of samples loaded in the samplers. - + Load Sampler Bank Wczytaj Sampler Bank - + Load a previously saved collection of samples into the samplers. - + Show Effect Parameters Pokaż parametry efektu - + Enable Effect - + Meta Knob Link - + Set how this parameter is linked to the effect's Meta Knob. - + Meta Knob Link Inversion - + Inverts the direction this parameter moves when turning the effect's Meta Knob. - + Super Knob Super Gałka - + Next Chain Następny łańcuch - + Previous Chain Poprzedni Łańcuch - + Next/Previous Chain Następny/Poprzedni Łańcuch - + Clear Wyczyść - + Clear the current effect. Wyczyść obecny efekt. - + Toggle Przełącz - + Toggle the current effect. Przełącz obecny efekt. - + Next Następny - + Clear Unit Wyczyść Jednostkę - + Clear effect unit. - + Show/hide parameters for effects in this unit. - + Toggle Unit Przełącz moduł - + Enable or disable this whole effect unit. - + Controls the Meta Knob of all effects in this unit together. - + Load next effect chain preset into this effect unit. - + Load previous effect chain preset into this effect unit. - + Load next or previous effect chain preset into this effect unit. - - - - + + + + Assign Effect Unit - + Assign this effect unit to the channel output. - + Route the headphone channel through this effect unit. - + Route this deck through the indicated effect unit. - + Route this sampler through the indicated effect unit. - + Route this microphone through the indicated effect unit. - + Route this auxiliary input through the indicated effect unit. - + The effect unit must also be assigned to a deck or other sound source to hear the effect. - + Switch to the next effect. Przełącz do następnego efektu - + Previous Wstecz - + Switch to the previous effect. Przełącz do poprzedniego efektu - + Next or Previous Następny lub Poprzedni - + Switch to either the next or previous effect. Przełącz do następnego lub poprzedniego efektu. - + Meta Knob Pokrętło Meta - + Controls linked parameters of this effect - + Effect Focus Button - + Focuses this effect. - + Unfocuses this effect. - + Refer to the web page on the Mixxx wiki for your controller for more information. - + Effect Parameter Parametr efektu - + Adjusts a parameter of the effect. Reguluje parametr efektu. - + Inactive: parameter not linked - + Active: parameter moves with Meta Knob - + Left side active: parameter moves with left half of Meta Knob turn - + Left and right side active: parameter moves across range with half of Meta Knob turn and back with the other half - - + + Equalizer Parameter Kill - - + + Holds the gain of the EQ to zero while active. - + Quick Effect Super Knob - + Quick Effect Super Knob (control linked effect parameters). - + Hint: Change the default Quick Effect mode in Preferences -> Equalizers. - + Equalizer Parameter Parametr Equalizera - + Adjusts the gain of the EQ filter. Reguluje moc filtru korektora. - + Hint: Change the default EQ mode in Preferences -> Equalizers. Podpowiedź: Zmień domyślny tryb korektora w Ustawienia -> Korekcja graficzna - - + + Adjust Beatgrid Reguluje siatkę uderzeń - + Adjust beatgrid so the closest beat is aligned with the current play position. Ustawia siatkę uderzeń tak aby najbliższa linia siatki została wyrównana do aktualnej pozycji odtwarzania. - - + + Adjust beatgrid to match another playing deck. Skoryguj siatkę tempa aby pasowała do drugiego grającego odtwarzacza. - + If quantize is enabled, snaps to the nearest beat. Jeśli kwantyzacja jest włączona, przeskakuje do najbliższego uderzenia. - + Quantize Kwantyzuje - + Toggles quantization. Przełącza kwantyzację. - + Loops and cues snap to the nearest beat when quantization is enabled. Pętle i wskaźniki przeuwają się do najbliższego uderzenia kiedy kwantyzacja jest włączona. - + Reverse Wstecz - + Reverses track playback during regular playback. Odwraca kierunek odtwarzania podczas odtwarzania utworu. - + Puts a track into reverse while being held (Censor). - + Playback continues where the track would have been if it had not been temporarily reversed. - - - + + + Play/Pause Odtwórz/Wstrzymaj - + Jumps to the beginning of the track. Skacze do początku utworu. - + Syncs the tempo (BPM) and phase to that of the other track, if BPM is detected on both. - + Syncs the tempo (BPM) to that of the other track, if BPM is detected on both. - + Sync and Reset Key - + Increases the pitch by one semitone. Zwiększa odstrojenie o jeden półton. - + Decreases the pitch by one semitone. Zmniejsza odstrojenie o jeden półton. - + Enable Vinyl Control Włącz kontrolę vinylem - + When disabled, the track is controlled by Mixxx playback controls. - + When enabled, the track responds to external vinyl control. - + Enable Passthrough - + Indicates that the audio buffer is too small to do all audio processing. Wskazuje, że bufor audio jest za mały, aby wykonać całe przetwarzanie audio. - + Displays cover artwork of the loaded track. Wyświetla okładkę albumu załadowanego utworu. - + Displays options for editing cover artwork. Wyświetla opcje edycji okładki albumu. - + Star Rating Ranking Gwiazdek - + Assign ratings to individual tracks by clicking the stars. Przyporządkowuje ranking do poszczególnych utworów przez kliknięcie gwiazdek. @@ -14547,33 +14661,33 @@ Use this to change only the effected (wet) signal with EQ and filter effects. - + Prevents the pitch from changing when the rate changes. - + Changes the number of hotcue buttons displayed in the deck - + Starts playing from the beginning of the track. Rozpoczyna odtwarzanie od początku utworu. - + Jumps to the beginning of the track and stops. Skacze do początku utworu i zatrzymuje. - - + + Plays or pauses the track. Odtwarza lub pauzuje utwór. - + (while playing) (podczas odtwarzania) @@ -14593,215 +14707,215 @@ Use this to change only the effected (wet) signal with EQ and filter effects. - + (while stopped) (kiedy zatrzymane) - + Cue Wskaźnik (Cue) - + Headphone Słuchawka - + Mute Wycisz - + Old Synchronize - + Syncs to the first deck (in numerical order) that is playing a track and has a BPM. Synchronizuje do pierwszego odtwarzacza (w porządku numerycznym) który gra i ma określony BPM. - + If no deck is playing, syncs to the first deck that has a BPM. Jeśli żaden odtwarzacz nie gra, synchronizuje do pierwszego odtwarzacza który ma podany BPM. - + Decks can't sync to samplers and samplers can only sync to decks. Odtwarzaczy nie można synchronizować do samplerów, a samplery można synchronizować tylko do odtwarzaczy. - + Hold for at least a second to enable sync lock for this deck. - + Decks with sync locked will all play at the same tempo, and decks that also have quantize enabled will always have their beats lined up. - + Resets the key to the original track key. Resetuj klucz do oryginalnego klucza utworu. - + Speed Control Kontrola prędkości - - - + + + Changes the track pitch independent of the tempo. Zmienia wysokość tonu utworu nie zależnie od tempa. - + Increases the pitch by 10 cents. - + Decreases the pitch by 10 cents. - + Pitch Adjust Dostosowanie Tonu - + Adjust the pitch in addition to the speed slider pitch. - + Opens a menu to clear hotcues or edit their labels and colors. - + Drag this button onto a Play button while previewing to continue playback after release. - + Dragging with Shift key pressed will not start previewing the hotcue. - + Record Mix Zarejestruj mix - + Toggle mix recording. - + Enable Live Broadcasting Włącz Nadawane na Żywo - + Stream your mix over the Internet. Transmituj swój mix przez Internet. - + Provides visual feedback for Live Broadcasting status: - + disabled, connecting, connected, failure. - + When enabled, the deck directly plays the audio arriving on the vinyl input. - + Playback will resume where the track would have been if it had not entered the loop. Odtwarzanie zostanie wznowione tam, gdzie byłoby gdyby nie było ustawionej pętli. - + Loop Exit Wyjście z pętli - + Turns the current loop off. Wyłącza atualny loop. - + Slip Mode Tryb poślizgu - + When active, the playback continues muted in the background during a loop, reverse, scratch etc. Kiedy aktywne, odtwarzanie jest kontynuowane w tle wyciszone podczas trwania pętli, odtwarzania w tył, skreczowania itp. - + Once disabled, the audible playback will resume where the track would have been. Kiedy nieaktywne, odtwarzanie szłyszalne, będzie kontynuowane tam gdzie ścieżki znajdowały się oryginalnie. - + Track Key The musical key of a track Tonacja Ścieżki - + Displays the musical key of the loaded track. Pokazuje tonację załadowanej ścieżki. - + Clock Zegar - + Displays the current time. Wyświetla aktualny czas. - + Audio Latency Usage Meter Wskaźnik użycia bufora opóźnienia audio. - + Displays the fraction of latency used for audio processing. - + A high value indicates that audible glitches are likely. - + Do not enable keylock, effects or additional decks in this situation. - + Audio Latency Overload Indicator Wskaźnik przeładownia bufora opóźnienia audio. @@ -14846,254 +14960,254 @@ Use this to change only the effected (wet) signal with EQ and filter effects. - + Fast Rewind Szybkie cofanie - + Fast rewind through the track. Szybkie przewijanie (do tyłu) przez ścieżkę. - + Fast Forward Przewiń do przodu - + Fast forward through the track. Szybkie przewijanie (do przodu) przez ścieżkę. - + Jumps to the end of the track. Przeskakuje do końca utworu. - + Sets the pitch to a key that allows a harmonic transition from the other track. Requires a detected key on both involved decks. - - - + + + Pitch Control Kontrola wysoości tonu - + Pitch Rate Wysokość tonu. - + Displays the current playback rate of the track. Wyświetla aktualną prędkość utworu. - + Repeat Powtórz - + When active the track will repeat if you go past the end or reverse before the start. - + Eject Wysuń - + Ejects track from the player. Wysuwa ścieżkę z odtwarzacza. - + Hotcue Szybiki znacznik (Hotcue) - + If hotcue is set, jumps to the hotcue. Jeżeli Hotcue jest ustalony, przeskakuje do Hotcue. - + If hotcue is not set, sets the hotcue to the current play position. Jeżeli Hotcue nie jest ustalony, ustala Hotcue na pozycję aktualnie odtwarzaną. - + Vinyl Control Mode Tryb kontroli vinylem - + Absolute mode - track position equals needle position and speed. Tryb bezwzględny - pozycja utworu jest równa pozycji i prędkosci igły. - + Relative mode - track speed equals needle speed regardless of needle position. Tryb względny - Prędkość utworu jest równa prędkości igły niezależnie od jej pozycji. - + Constant mode - track speed equals last known-steady speed regardless of needle input. Tryb stały - prędkość utworu jest równa ostatniej stałej prędkości igły niezależnie od wejścia. - + Vinyl Status Status vinyla - + Provides visual feedback for vinyl control status: Pokazuje wizualne sprzężenie zwrotne stanu kontroli vinylem. - + Green for control enabled. Zielone jeśli kontrola jest włączona. - + Blinking yellow for when the needle reaches the end of the record. Mrugające żółte kiedy igła osiągnie koniec nagrania. - + Loop-In Marker Znacznik początku pętli - + Loop-Out Marker Znacznik końca pętli. - + Loop Halve Połowa pętli - + Halves the current loop's length by moving the end marker. Skraca o połowę aktualną petlę przenosząc znacznik końca pętli. - + Deck immediately loops if past the new endpoint. Odtwarzacz natychmiast zapętla się jeśli przekroczy nowy punkt końcowy. - + Loop Double Podwojenie pętli - + Doubles the current loop's length by moving the end marker. Podwaja długość aktualnej pętli przenosząc znacznik końca pętli. - + Beatloop - + Toggles the current loop on or off. Przełacza biezacą pętlę (Wł./Wył.) - + Works only if Loop-In and Loop-Out marker are set. Dziala tylko iedy znaczniki początku i końca petli są ustawione. - + Vinyl Cueing Mode Tryb CUE Vinyla - + Determines how cue points are treated in vinyl control Relative mode: Ustala jak pozycje CUE są traktowane w trybie względnej kontroli vinyla: - + Off - Cue points ignored. OFF - Pozycje CUE ignorowane. - + One Cue - If needle is dropped after the cue point, track will seek to that cue point. One Cue - Kiedy igła zostaje opuszczona po pozycji CUE, przewinie ścieżkę do tej pozycji CUE. - + Track Time Całkowity czas utworu - + Track Duration Czas trwania utworu - + Displays the duration of the loaded track. Wyświetla czas trwania załadowanego utworu. - + Information is loaded from the track's metadata tags. Informacja jest załadowana z metadanych utworu. - + Track Artist Wykonawca utworu. - + Displays the artist of the loaded track. Wyświetla wykonawcę załadowanego utworu. - + Track Title Tytuł utworu - + Displays the title of the loaded track. Wyświetla tytuł załadowanego utworu. - + Track Album Album utworu - + Displays the album name of the loaded track. Wyświetla tytuł albumu, z którego pochodzi utwór. - + Track Artist/Title Wykonawca/tytuł utworu - + Displays the artist and title of the loaded track. Wyświetla nazwę wykonawcy oraz tytuł załadowanego utworu. @@ -15101,12 +15215,12 @@ Use this to change only the effected (wet) signal with EQ and filter effects. TrackCollection - + Hiding tracks - + The selected tracks are in the following playlists:%1Hiding them will remove them from these playlists. Continue? @@ -15322,47 +15436,47 @@ This can not be undone! WCueMenuPopup - + Cue number Numer CUE - + Cue position Pozycja CUE - + Edit cue label - + Label... Okładka... - + Delete this cue - + Toggle this cue type between normal cue and saved loop - + Left-click: Use the old size or the current beatloop size as the loop size - + Right-click: Use the current play position as loop end if it is after the cue - + Hotcue #%1 Hotcue #%1 @@ -15487,323 +15601,353 @@ This can not be undone! + Search in Current View... + + + + + Search for tracks in the current library view + + + + + Ctrl+f + + + + + Search in Tracks Library... + + + + + Search in the internal track collection under "Tracks" in the library + + + + + Ctrl+Shift+F + + + + Create &New Playlist Utwórz &Nową Listę Odtwarzania - + Create a new playlist Utwórz nową listę odtwarzania - + Ctrl+n Ctrl+n - + Create New &Crate Utwórz nową &Skrzynkę - + Create a new crate Utwórz nową Skrzynkę - + Ctrl+Shift+N Ctrl+Shift+N - - + + &View &Widok - + Auto-hide menu bar - + Auto-hide the main menu bar when it's not used. - + May not be supported on all skins. Może nie być wspierane we wszystkich skórkach. - + Show Skin Settings Menu - + Show the Skin Settings Menu of the currently selected Skin - + Ctrl+1 Menubar|View|Show Skin Settings Ctrl+1 - + Show Microphone Section Pokaż Sekcję Mikrofonową - + Show the microphone section of the Mixxx interface. Pokaż sekcję mikrofonu w interfejsie Mixxx'a. - + Ctrl+2 Menubar|View|Show Microphone Section Ctrl+2 - + Show Vinyl Control Section Pokaż Sekcję Kontroli Vinyli - + Show the vinyl control section of the Mixxx interface. Pokaż sekcję kontroli vinyla w interfejsie Mixxx'a. - + Ctrl+3 Menubar|View|Show Vinyl Control Section Ctrl+3 - + Show Preview Deck Pokaż Podgląd Decka - + Show the preview deck in the Mixxx interface. Pokaż podgląd decka w interfejsie Mixxx'a. - + Ctrl+4 Menubar|View|Show Preview Deck Ctrl+4 - + Show Cover Art Pokaż Okładę - + Show cover art in the Mixxx interface. Pokaż Okładkę w interfejsie Mixxx'a - + Ctrl+6 Menubar|View|Show Cover Art Ctrl+6 - + Maximize Library Maksymalizuj Bibliotekę - + Maximize the track library to take up all the available screen space. Maksymalizuj bibliotekę utworów, aby wykorzystać całe dostępne miejsce na ekranie. - + Space Menubar|View|Maximize Library Spacja - + &Full Screen &Pełny Ekran - + Display Mixxx using the full screen Włącz Mixxx w trybie pełnoekranowym - + &Options &Opcje - + &Vinyl Control Kontrola &Winylem - + Use timecoded vinyls on external turntables to control Mixxx Użyj "timecoded vinyls" na zewnętrznych gramofonach aby kontrolować Mixxx'a - + Enable Vinyl Control &%1 Włącz Kontrolę Winylem &%1 - + &Record Mix &Nagraj Mix - + Record your mix to a file Nagraj swój mix do pliku - + Ctrl+R Ctrl+R - + Enable Live &Broadcasting Włącz &Nadawanie na żywo - + Stream your mixes to a shoutcast or icecast server Wysyłaj strumień mixu do serwera shoutcast/icecast - + Ctrl+L Ctrl+L - + Enable &Keyboard Shortcuts Włącz skróty &Klawiaturowe - + Toggles keyboard shortcuts on or off Przełącza skróty klawiaturowe (Wł./Wył.) - + Ctrl+` Ctrl+` - + &Preferences &Ustawienia - + Change Mixxx settings (e.g. playback, MIDI, controls) Zmień ustawienia Mixxx (np. odtwarzanie, MIDI, sterowanie) - + &Developer &Programista - + &Reload Skin &Wczytaj ponownie skórkę - + Reload the skin Wczytaj ponownie skórkę - + Ctrl+Shift+R Ctrl+Shift+R - + Developer &Tools Narzędzia &Programistyczne - + Opens the developer tools dialog Otwiera okienko dialogowe z narzędziami dla programistów. - + Ctrl+Shift+T Ctrl+Shift+T - + Stats: &Experiment Bucket - + Enables experiment mode. Collects stats in the EXPERIMENT tracking bucket. Włącza tryb eksperymentalny. Zbiera statystyki w "Koszyku Śledzenia Eksperymentu". - + Ctrl+Shift+E Ctrl+Shift+E - + Stats: &Base Bucket - + Enables base mode. Collects stats in the BASE tracking bucket. Włącza tryb podstawowy. Zbiera statystyki w "Podstawowym Koszyku Śledzenia". - + Ctrl+Shift+B Ctrl+Shift+B - + Deb&ugger Enabled - + Enables the debugger during skin parsing Włącza debugger podczas analizowania skórki - + Ctrl+Shift+D Ctrl+Shift+D - + &Help &Pomoc - + Show Keywheel menu title @@ -15820,74 +15964,74 @@ This can not be undone! - + Show keywheel tooltip text - + F12 Menubar|View|Show Keywheel - + &Community Support & Wsparcie Mixxx - + Get help with Mixxx Uzyskaj pomoc Mixxx - + &User Manual I instrukcja - + Read the Mixxx user manual. Przeczytaj instrukcję użytkownika Mixxx. - + &Keyboard Shortcuts &Skróty Klawiaturowe - + Speed up your workflow with keyboard shortcuts. Przyśpiesz pracę używając skrótów klawiaturowych - + &Settings directory - + Open the Mixxx user settings directory. - + &Translate This Application Prze&tłumacz ten program - + Help translate this application into your language. Pomóż przetłumaczyć ta Aplikacje Na Twój język. - + &About &O programie - + About the application O programie @@ -15895,25 +16039,25 @@ This can not be undone! WOverview - + Passthrough Passthrough - + Ready to play, analyzing... Text on waveform overview when file is playable but no waveform is visible - - + + Loading track... Text on waveform overview when file is cached from source Ładowanie ścieżki... - + Finalizing... Text on waveform overview during finalizing of waveform analysis Kończenie... @@ -15922,25 +16066,13 @@ This can not be undone! WSearchLineEdit - - Clear input - Clear the search bar input field - Wyczyść wejście - - - - Ctrl+F - Search|Focus - Ctrl+F - - - + Search noun Szukaj - + Clear input Wyczyść wejście @@ -15951,170 +16083,163 @@ This can not be undone! Szukaj... - + Clear the search bar input field - - Enter a string to search for - Wpisz słowo do wyszukania + + Return + - - Use operators like bpm:115-128, artist:BooFar, -year:1990 + + Enter a string to search for. - - For more information see User Manual > Mixxx Library + + Use operators like bpm:115-128, artist:BooFar, -year:1990. - Shortcut - Skrót + See User Manual > Mixxx Library for more information. + - - Ctrl+F - Ctrl+F + + Focus/Select All (Search in current view) + Give search bar input focus + - - Focus - Give search bar input focus - Skupienie - + + Focus/Select All (Search in 'Tracks' library view) + - - - Ctrl+Backspace - Ctrl+Backspce + + Additional Shortcuts When Focused: + - Shortcuts + Trigger search before search-as-you-type timeout or focus tracks view afterwards - Return + Esc or Ctrl+Return - Trigger search before search-as-you-type timeout orjump to tracks view afterwards + Immediately trigger search and focus tracks view + Exit search bar and leave focus - + Ctrl+Space - + Toggle search history Shows/hides the search history entries - + Delete or Backspace - - Delete query from history + + in search history - - Esc - Esc - - - - Exit search - Exit search bar and leave focus - Wyjdź z wyszukiwania + + Delete query from history + WSearchRelatedTracksMenu - + Search related Tracks - + Key Tonacja - + harmonic with %1 - + BPM BPM - + between %1 and %2 - + Artist Wykonawca - + Album Artist Wykonawca albumu - + Composer Kompozytor - + Title Tytuł - + Album Album - + Grouping Grupowanie - + Year Rok - + Genre Gatunek - + Directory - + &Search selected @@ -16122,620 +16247,625 @@ This can not be undone! WTrackMenu - + Load to Załaduj do - + Deck Odtwarzacz - + Sampler - + Add to Playlist Dodaj do listy odtwarzania - + Crates Skrzynki - + Metadata Metadane - + Update external collections - + Cover Art Okładka - + Adjust BPM Ustaw BPM - + Select Color Wybierz Kolor - - + + Analyze Analizuj - - + + Delete Track Files - + Add to Auto DJ Queue (bottom) Dodaj do kolejki Auto DJ (dół) - + Add to Auto DJ Queue (top) Dodaj do kolejki Auto DJ (góra) - + Add to Auto DJ Queue (replace) Dodaj do kolejki Auto DJ (zamień) - + Preview Deck Podgląd Decka - + Remove Usuń - + Remove from Playlist - + Remove from Crate - + Hide from Library Ukryj w bibliotece - + Unhide from Library Odkryj w bibliotece - + Purge from Library Usuń z biblioteki - + Move Track File(s) to Trash - + Delete Files from Disk - + Properties Właściwości - + Open in File Browser Otwórz plik w przeglądarce - + Select in Library - + Import From File Tags - + Import From MusicBrainz - + Export To File Tags - + BPM and Beatgrid - + Play Count - + Rating Ocena - + Cue Point Punkt CUE - - + + Hotcues Znaczniki hotcue - + Intro Intro - + Outro Outro - + Key Tonacja - + ReplayGain GainPowtórki - + Waveform - + Comment Komentarz - + All Wszystko - + Sort hotcues by position (remove offsets) - + Sort hotcues by position - + Lock BPM Zablokuj BPM - + Unlock BPM Odblokuj BPM - + Double BPM Podwójny BPM - + Halve BPM Połowa BPM - + 2/3 BPM 2/3 BPM - + 3/4 BPM 3/4 BPM - + 4/3 BPM 4/3 BPM - + 3/2 BPM 3/2 BPM - + + Shift Beatgrid Half Beat + + + + Reanalyze - + Reanalyze (constant BPM) - + Reanalyze (variable BPM) - + Update ReplayGain from Deck Gain - + Deck %1 Decka %1 - + Importing metadata of %n track(s) from file tags - + Marking metadata of %n track(s) to be exported into file tags - - + + Create New Playlist Utwórz nową listę odtwarzania - + Enter name for new playlist: Podaj nazwę dla nowej listy odtwarzania: - + New Playlist Nowa lista odtwarzania - - - + + + Playlist Creation Failed Tworzenie listy odtwarzania nie powiodło się - + A playlist by that name already exists. Lista odtwarzania o tej nazwie już istnieje. - + A playlist cannot have a blank name. Lista odtwarzania nie może mieć pustej nazwy. - + An unknown error occurred while creating playlist: Wystąpił nieznany błąd podczas tworzenia listy odtwarzania: - + Add to New Crate - + Scaling BPM of %n track(s) - + Undo BPM/beats change of %n track(s) - + Locking BPM of %n track(s) - + Unlocking BPM of %n track(s) - + Setting rating of %n track(s) - + Setting color of %n track(s) - + Resetting play count of %n track(s) - + Resetting beats of %n track(s) - + Clearing rating of %n track(s) - + Clearing comment of %n track(s) - + Removing main cue from %n track(s) - + Removing outro cue from %n track(s) - + Removing intro cue from %n track(s) - + Removing loop cues from %n track(s) - + Removing hot cues from %n track(s) - + Sorting hotcues of %n track(s) by position (remove offsets) - + Sorting hotcues of %n track(s) by position - + Resetting keys of %n track(s) - + Resetting replay gain of %n track(s) - + Resetting waveform of %n track(s) - + Resetting all performance metadata of %n track(s) - + Move these files to the trash bin? - + Permanently delete these files from disk? - - + + This can not be undone! - + Cancel Anuluj - + Delete Files - + Okay - + Move Track File(s) to Trash? - + Track Files Deleted - + Track Files Moved To Trash - + %1 track files were moved to trash and purged from the Mixxx database. - + %1 track files were deleted from disk and purged from the Mixxx database. - + Track File Deleted - + Track file was deleted from disk and purged from the Mixxx database. - + The following %1 file(s) could not be deleted from disk - + This track file could not be deleted from disk - + Remaining Track File(s) - + Close Zamknij - + Clear Reset metadata in right click track context menu in library - + Loops - + Clear BPM and Beatgrid - + Undo last BPM/beats change - + Move this track file to the trash bin? - + Permanently delete this track file from disk? - + All decks where these tracks are loaded will be stopped and the tracks will be ejected. - + All decks where this track is loaded will be stopped and the track will be ejected. - + Removing %n track file(s) from disk... - + Note: if you are in the Computer or Recording view you need to click the current view again to see changes. - + Track File Moved To Trash - + Track file was moved to trash and purged from the Mixxx database. - + Don't show again during this session - + The following %1 file(s) could not be moved to trash - + This track file could not be moved to trash - + Setting cover art of %n track(s) - + Reloading cover art of %n track(s) @@ -16751,37 +16881,37 @@ This can not be undone! WTrackStemMenu - + Load for stem mixing - + Load pre-mixed stereo track - + Load the "%1" stem - + Load multiple stem into a stereo deck - + Select stems to load - + Release "CTRL" to load the current selection - + Use "CTRL" to select multiple stems @@ -16789,37 +16919,37 @@ This can not be undone! WTrackTableView - + Confirm track hide - + Are you sure you want to hide the selected tracks? - + Are you sure you want to remove the selected tracks from AutoDJ queue? - + Are you sure you want to remove the selected tracks from this crate? - + Are you sure you want to remove the selected tracks from this playlist? - + Don't ask again during this session - + Confirm track removal @@ -16827,12 +16957,12 @@ This can not be undone! WTrackTableViewHeader - + Show or hide columns. Pokaż lub ukryj kolumny. - + Shuffle Tracks @@ -16840,52 +16970,52 @@ This can not be undone! mixxx::CoreServices - + fonts - + database - + effects - + audio interface - + decks - + library - + Choose music library directory Wybierz katalog biblioteki utworów. - + controllers - + Cannot open database Nie mogę otworzyć bazy danych - + Unable to establish a database connection. Mixxx requires QT with SQLite support. Please read the Qt SQL driver documentation for information on how to build it. @@ -16899,68 +17029,78 @@ Kliknij OK aby wyjść. mixxx::DlgLibraryExport - + Entire music library - - Selected crates + + Crates - + + Playlists + + + + + Selected crates/playlists + + + + Browse Przeglądaj - + Export directory - + Database version - + Export Eksportuj - + Cancel Anuluj - + Export Library to Engine DJ "Engine DJ" must not be translated - + Export Library To - + No Export Directory Chosen - + No export directory was chosen. Please choose a directory in order to export the music library. - + A database already exists in the chosen directory. Exported tracks will be added into this database. - + A database already exists in the chosen directory, but there was a problem loading it. Export is not guaranteed to succeed in this situation. @@ -16981,7 +17121,7 @@ Kliknij OK aby wyjść. mixxx::EnginePrimeExportJob - + Failed to export track %1 - %2: %3 %1 is the artist %2 is the title and %3 is the original error message @@ -16991,23 +17131,23 @@ Kliknij OK aby wyjść. mixxx::LibraryExporter - + Export Completed - - Exported %1 track(s) and %2 crate(s). + + Exported %1 track(s), %2 crate(s), and %3 playlist(s). - + Export Failed - - Exporting to Engine Prime... + + Exporting to Engine DJ... diff --git a/res/translations/mixxx_pt.qm b/res/translations/mixxx_pt.qm index 2e07156982a38dee861a21642c172e5d099319b3..fd4b26aa57f932abf2cc9507066182b26829afd3 100644 GIT binary patch literal 297422 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

fgXnWUHXb;yg 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 Xm602EY=}3FRv!6%vFU&C$Rqz3BG*13 delta 13143 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 KLimpar fila do Auto DJ - + Remove Crate as Track Source Remover Caixa como Fonte de Faixas - + Auto DJ Auto DJ - + Confirmation Clear Confirmar limpeza - + Do you really want to remove all tracks from the Auto DJ queue? Você tem certeza que quer remover todas as faixas da fila do Auto DJ? - + This can not be undone. Esta ação não pode ser desfeita. - + Add Crate as Track Source Adicionar Caixa como Fonte de Faixas @@ -147,7 +147,7 @@ BasePlaylistFeature - + New Playlist Nova lista de reprodução @@ -158,7 +158,7 @@ - + Create New Playlist Criar nova lista de reprodução @@ -170,7 +170,7 @@ Remove - + Remover @@ -188,113 +188,120 @@ Duplicado - - + + Import Playlist Importar Playlist - + Export Track Files Exportar Pistas - + Analyze entire Playlist Analisar toda a Lista de reprodução - + Enter new name for playlist: Insira um novo nome para a lista de reprodução: - + Duplicate Playlist Duplicar Playlist - - + + Enter name for new playlist: Entre o nome da nova lista de reprodução - - + + Export Playlist Exportar Playlist - + Add to Auto DJ Queue (replace) Adicionar a fila do Auto DJ (substituir) - + + + Export to Engine DJ + "Engine DJ" is a product name and must not be translated. + + + + Rename Playlist Renomear Playlist - - + + Renaming Playlist Failed A mudança de nome da Playlist falhou - - - + + + A playlist by that name already exists. Já existe uma Playlist com este nome - - - + + + A playlist cannot have a blank name. A Playlist não pode ter um nome vazio - + _copy //: Appendix to default name when duplicating a playlist _copiar - - - - - - + + + + + + Playlist Creation Failed A criação da Lista de reprodução falhou - - + + An unknown error occurred while creating playlist: Ocorreu um erro desconhecido ao criar a Playlist - + Confirm Deletion Confimar a remoção - + Do you really want to delete playlist <b>%1</b>? Você realmente deseja excluir a lista de reprodução <b>%1</b>? - + M3U Playlist (*.m3u) Lista de reprodução M3U (*.m3u) - + M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Text CSV (*.csv);;Readable Text (*.txt) Lista M3U (*.m3u);;Lista M3U8 (*.m3u8);;Lista PLS (*.pls);;Texto CSV (*.csv);;Texto (*.txt) @@ -302,12 +309,12 @@ BaseSqlTableModel - + # - + Timestamp Data/Hora @@ -315,7 +322,7 @@ BaseTrackPlayerImpl - + Couldn't load track. NAO FOI Possível carregar a Faixa @@ -323,137 +330,142 @@ BaseTrackTableModel - + Album Album - + Album Artist Álbum Artista - + Artist Artista - + Bitrate Bit rate - + BPM - + BPM - + Channels Canais - + Color - + Cor - + Comment Comentário - + Composer Compositor - + Cover Art Capa - + Date Added Data Adicionada - + Last Played Última Execução - + Duration Duração - + Type Tipo - + Genre Gênero - + Grouping Agrupar - + Key Nota - + Location LOCALIZAÇÃO - + + Overview + + + + Preview Prévia - + Rating classificação - + ReplayGain ReplayGain - + Samplerate Taxa de amostragem - + Played Reproduzido - + Title Título - + Track # Faixa # - + Year Ano - + Fetching image ... Tooltip text on the cover art column shown when the cover is read from disk Buscando imagem ... @@ -541,67 +553,77 @@ BrowseFeature - + Add to Quick Links Adicionar AOS Ligações - + Remove from Quick Links Retirar dos links - + Add to Library Adicionar à Biblioteca - + Refresh directory tree Recarregar pastas - + Quick Links Links Rápidos - - + + Devices Dispositivos - + Removable Devices Dispositivos Removíveis - - + + Computer Computador - + Music Directory Added Directoria de Musica Adicionada - + You added one or more music directories. The tracks in these directories won't be available until you rescan your library. Would you like to rescan now? Adicionou uma ou mais diretorias de musicas. As musicas nestas diretorias não estarão disponíveis até atualizar a sua biblioteca. Deseja atualizar agora ? - + Scan - + Examinar - + "Computer" lets you navigate, view, and load tracks from folders on your hard disk and external devices. "Computador" permite que você navegue, veja e carregue faixas de pastas do seu disco rígido ou de dispositivos externos. + + + It shows the data from the file tags, not track data from your Mixxx library like other track views. + + + + + If you load a track file from here, it will be added to your library. + + BrowseTableModel @@ -678,7 +700,7 @@ Bitrate - + Bit rate @@ -688,7 +710,7 @@ Location - + LOCALIZAÇÃO @@ -726,7 +748,7 @@ The file '%1' could not be found. - + O arquivo '%1' não pôde ser encontrado. @@ -888,7 +910,7 @@ trace - Above + Profiling messages Remove Palette - + Remover Paleta @@ -916,7 +938,7 @@ trace - Above + Profiling messages No control chosen. - + Nenhum controlo escolhido. @@ -994,7 +1016,7 @@ trace - Above + Profiling messages Effect Rack %1 - + Rack de Efeitos %1 @@ -1004,7 +1026,7 @@ trace - Above + Profiling messages Mixer - + Mixer @@ -1025,7 +1047,7 @@ trace - Above + Profiling messages Headphone delay - + Atraso Auscultador @@ -1044,13 +1066,13 @@ trace - Above + Profiling messages - + Set to full volume Volume Máximo - + Set to zero volume Volume Mínimo @@ -1075,15 +1097,15 @@ trace - Above + Profiling messages Tecla de rolagem inversa (Censurar) - + Headphone listen button Botão de audição dos fones - + Mute button - + Tecla de Silêncio @@ -1092,27 +1114,27 @@ trace - Above + Profiling messages - + Mix orientation (e.g. left, right, center) Orientação da Mistura (ex.: esquerda, direita, centro) - + Set mix orientation to left - + Definir orientação da mistura à esquerda - + Set mix orientation to center Definir orientação da mixagem para o centro - + Set mix orientation to right - + Definir orientação da mistura à direita @@ -1151,22 +1173,22 @@ trace - Above + Profiling messages Botão de batimento BPM - + Toggle quantize mode Activar/desactivar o modo de quantificação - + One-time beat sync (tempo only) - + Sincronização pontual da batida (só tempo) - + One-time beat sync (phase only) - + Sincronização pontual da batida (só fase) - + Toggle keylock mode Activar/desactivar o modo de bloqueio @@ -1176,193 +1198,193 @@ trace - Above + Profiling messages Equalizadores - + Vinyl Control Controlo Vinilo - + Toggle vinyl-control cueing mode (OFF/ONE/HOT) Activar/desactivar o modo de marcação do controlo vinilo (OFF/UM/HOT) - + Toggle vinyl-control mode (ABS/REL/CONST) Activar/desactivar o modo de controlo vinilo (ABS/REL/CONST) - + Pass through external audio into the internal mixer Passar audio externo para o misturador interno - + Cues Marcas - + Cue button Tecla de marca - + Set cue point Definir o ponto de marcação - + Go to cue point Ir para marca - + Go to cue point and play Ir para marca e tocar - + Go to cue point and stop Ir para o ponto de marcação e parar - + Preview from cue point - + Antevisão a partir do ponto de marcação - + Cue button (CDJ mode) Botão Cue (modo CDJ) - + Stutter cue - + Marcação Stutter - + Hotcues Marcações - + Set, preview from or jump to hotcue %1 Definir, escutar de ou pular ao hotcue %1 - + Clear hotcue %1 Apagar o marcador %1 - + Set hotcue %1 - + Definir a Hot Cue %1 - + Jump to hotcue %1 Ir para o marcador %1 - + Jump to hotcue %1 and stop Ir para o marcador %1 e parar - + Jump to hotcue %1 and play Pular para hotcue %1 e jogar - + Preview from hotcue %1 - + Antevisão a partir da Hot Cue %1 - - + + Hotcue %1 Pistas Quentes %1 - + Looping Looping - + Loop In button Tecla de entrada em Loop - + Loop Out button Botão de saída de Loop - + Loop Exit button Botão de saída de ciclo - + 1/2 1/2 - + 1 1 - + 2 2 - + 4 4 - + 8 8 - + 16 16 - + 32 32 - + 64 64 - + Move loop forward by %1 beats Mover o loop para frente %1 batidas - + Move loop backward by %1 beats - + Move o loop para trás %1 batidas - + Create %1-beat loop Criar um loop com %1 tempos - + Create temporary %1-beat loop roll Criar temporariamente %1 -beat loop roll @@ -1374,7 +1396,7 @@ trace - Above + Profiling messages Slot %1 - + Compartimento %1 @@ -1384,12 +1406,12 @@ trace - Above + Profiling messages Headphone Split Cue - + Escuta Dividida no Auscultador Headphone Delay - + Atraso Auscultador @@ -1419,7 +1441,7 @@ trace - Above + Profiling messages Strip Search - + Busca pela Faixa @@ -1478,22 +1500,22 @@ trace - Above + Profiling messages - - + + Volume Fader Fader de Volume - + Full Volume Volume Total - + Zero Volume - + Volume Zero @@ -1503,11 +1525,11 @@ trace - Above + Profiling messages Track Gain knob - + Botão de Ganho da Faixa - + Mute Mutar @@ -1518,14 +1540,14 @@ trace - Above + Profiling messages - + Headphone Listen - + Escuta de Auscultador Headphone listen (pfl) button - + Botão de escuta de auscultador (PFL) @@ -1539,25 +1561,25 @@ trace - Above + Profiling messages - + Orientation Orientação - + Orient Left Orientação à Esquerda - + Orient Center Orientação ao Centro - + Orient Right Orientação à Direita @@ -1574,7 +1596,7 @@ trace - Above + Profiling messages BPM +0.1 - + BPM +0.1 @@ -1589,7 +1611,7 @@ trace - Above + Profiling messages Adjust Beatgrid Faster +.01 - + Ajustar Grelha de Batidas Mais Rápido +.01 @@ -1604,12 +1626,12 @@ trace - Above + Profiling messages Decrease track's average BPM by 0.01 - + Atrasa o BPM médio da faixa de 0.01 Move Beatgrid Earlier - + Mover Grelha de Batidas Cedo @@ -1619,7 +1641,7 @@ trace - Above + Profiling messages Move Beatgrid Later - + Mover Grelha de Batidas Tarde @@ -1627,84 +1649,84 @@ trace - Above + Profiling messages Move a grade de batidas à direita - + Adjust Beatgrid Ajustar a grelha ritmica - + Align beatgrid to current position - + Alinhar a grade de batidas à posição atual - + Adjust Beatgrid - Match Alignment - + Ajustar Grelha de Batidas - Igualar Alinhamento - + Adjust beatgrid to match another playing deck. - + Ajusta a grelha de batidas para corresponder um outro leitor em reprodução. - + Quantize Mode - + Modo Quantização - + Sync Sincronizar - + Beat Sync One-Shot Sincronizar a Batida De Uma Vez - + Sync Tempo One-Shot - + Sincronizar o Tempo De Uma Vez - + Sync Phase One-Shot Sincronizar a Fase De Uma Vez - + Pitch control (does not affect tempo), center is original pitch - + Controlo de tom (não afeta o tempo), ao centro é o tom original - + Pitch Adjust - + Ajustar Tom - + Adjust pitch from speed slider pitch - + Ajustar o tom com o cursor de velocidade - + Match musical key - + Igualar o tom musical - + Match Key - + Igualar Tom - + Reset Key - + Redefinir o Tom - + Resets key to original - + Redefine o tom para o original @@ -1714,7 +1736,7 @@ trace - Above + Profiling messages Mid EQ - + Equalizador dos Médios @@ -1743,563 +1765,563 @@ trace - Above + Profiling messages Equalizador dos Graves - + Toggle Vinyl Control - + Alternar Controlo do Vinil - + Toggle Vinyl Control (ON/OFF) Alternar o Controle por Vinil (Ligado/Desligado) - + Vinyl Control Mode Modo de Controlo Vinilo - + Vinyl Control Cueing Mode - + Controlo do Vinil Modo Marcação - + Vinyl Control Passthrough - + Controlo do Vinil Passthrough - + Vinyl Control Next Deck - + Controlo do Vinil Próximo Leitor - + Single deck mode - Switch vinyl control to next deck - + Modo leitor único - Comutar o controlo do vinil para Próximo Leitor - + Cue Marca de início - + Set Cue - + Definir Cue - + Go-To Cue - + Ir Para Cue - + Go-To Cue And Play - + Ir para Marcação e Tocar - + Go-To Cue And Stop - + Ir para Marcação e Parar - + Preview Cue - + Antevisão Marcação - + Cue (CDJ Mode) - + Cue (Modo CDJ) - + Stutter Cue - + Marcação Stutter - + Go to cue point and play after release Avança até ao Cue Point e toca a faixa após largar o botão. - + Clear Hotcue %1 Limpar Hotcue %1 - + Set Hotcue %1 - + Definir Hot Cue %1 - + Jump To Hotcue %1 Pular Para Hotcue %1 - + Jump To Hotcue %1 And Stop - + Pular Para Hotcue %1 e Parar - + Jump To Hotcue %1 And Play Pular Para Hotcue %1 e Tocar - + Preview Hotcue %1 - + Escutar Hotcue %1 - + Loop In - + Início de Loop - + Loop Out Saída do Loop - + Loop Exit - + Saída do Loop - + Reloop/Exit Loop - + Reloopar/Sair do Loop - + Loop Halve Reduz o loop a metade - + Loop Double Duplicação do loop - + 1/32 1/32 - + 1/16 1/16 - + 1/8 - + 1/8 - + 1/4 - + 1/4 - + Move Loop +%1 Beats - + Mover Loop +%1 Batidas - + Move Loop -%1 Beats - + Mover o Loop -%1 Batidas - + Loop %1 Beats - + Loopar %1 Batidas - + Loop Roll %1 Beats - + Loopar Temporariamente %1 Batidas - + Add to Auto DJ Queue (bottom) Juntar à fila Auto DJ (em baixo) - + Append the selected track to the Auto DJ Queue - + Coloca a faixa selecionada no final da fila Auto DJ - + Add to Auto DJ Queue (top) Juntar à fila Auto DJ (em cima) - + Prepend selected track to the Auto DJ Queue - + Adicionar a faixa selecionada no começo da fila do Auto DJ - + Load Track - + Carregar Faixa - + Load selected track - + Carregar a faixa seleccionada - + Load selected track and play Carregar faixa selecionada e reproduzir - - + + Record Mix Gravar Mixagem - + Toggle mix recording - + Alternar gravação da mistura - + Effects Efeitos - + Quick Effects - + Efeitos Rápidos - + Deck %1 Quick Effect Super Knob - + Super Botão de Efeito Rápido do Deck %1 - + Quick Effect Super Knob (control linked effect parameters) - + Super Botão de Efeito Rápido (controla os parâmetros do efeito a que está ligado) - - + + Quick Effect - + Efeito Rápido - + Clear Unit - + Limpar Unidade - + Clear effect unit Limpar unidade de efeitos - + Toggle Unit - + Ligar/Desligar Unidade - + Dry/Wet - + Seco/Molhado - + Adjust the balance between the original (dry) and processed (wet) signal. Define o balançoentre o sinal original (seco) e o processado (molhado). - + Super Knob - + Super Botão - + Next Chain - + Próxima Corrente - + Assign Atribuir - + Clear - + Limpar - + Clear the current effect - + Limpar o efeito corrente - + Toggle Ligar/Desligar - + Toggle the current effect - + Alternar o efeito corrente - + Next Seguinte - + Switch to next effect Muda para o próximo efeito - + Previous Anterior - + Switch to the previous effect - + Trocar para o efeito anterior - + Next or Previous - + Próximo ou Anterior - + Switch to either next or previous effect - + Comutar quer para o próximo ou anterior efeito - - + + Parameter Value - + Valor do Parâmetro - - + + Microphone Ducking Strength Força da Redução de Música do Microfone - + Microphone Ducking Mode Modo de Redução de Música do Microfone - + Gain Ganho - + Gain knob Controlo de Ganho - + Shuffle the content of the Auto DJ queue Reproduzir aleatoriamente o conteúdo da fila Auto DJ - + Skip the next track in the Auto DJ queue - + Pular a próxima faixa na fila do Auto DJ - + Auto DJ Toggle Ligar/Desligar Auto DJ - + Toggle Auto DJ On/Off - + Ligar/Desligar Auto DJ - + Show/hide the microphone & auxiliary section - + 4 Effect Units Show/Hide - + Switches between showing 2 and 4 effect units - + Mixer Show/Hide - + Show or hide the mixer. Mostra ou oculta o misturador. - + Cover Art Show/Hide (Library) - + Show/hide cover art in the library - + Library Maximize/Restore - + Maximizar/Restaurar Biblioteca - + Maximize the track library to take up all the available screen space. - + Maximiza a biblioteca de faixas para ocupar todo o espaço disponível do ecrã. - + Effect Rack Show/Hide Mostrar/Ocultar Prateleira de Efeitos - + Show/hide the effect rack - + Mostra/Oculta a prateleira de efeitos - + Waveform Zoom Out - + Reduzir Forma de Onda Headphone Gain - + Ganho Auscultador Headphone gain - + Ganho dos auscultadores - + Tap to sync tempo (and phase with quantize enabled), hold to enable permanent sync Toque para sincronizar o tempo (e fase com a quantização ativada), segure para ativar a sincronização permanente - + One-time beat sync tempo (and phase with quantize enabled) - + Tempo de sincronização de batida única (e fase com quantização ativada) - + Playback Speed - + Velocidade da Reprodução - + Playback speed control (Vinyl "Pitch" slider) Controle da velocidade da reprodução (Deslizante de "Pitch" do Vinil) - + Pitch (Musical key) Pitch (Tom musical) - + Increase Speed - + Aumentar a Velocidade - + Adjust speed faster (coarse) - + Aumentar a velocidade (grosso) - + Increase Speed (Fine) - + Aumentar Velocidade (Fino) - + Adjust speed faster (fine) Aumentar a velocidade (fino) - + Decrease Speed Diminuir a Velocidade - + Adjust speed slower (coarse) - + Diminuir a velocidade (grosso) - + Adjust speed slower (fine) Diminuir a velocidade (fino) - + Temporarily Increase Speed Temporariamente Aumentar a Velocidade - + Temporarily increase speed (coarse) - + Temporariamente aumentar a velocidade (grosso) - + Temporarily Increase Speed (Fine) Temporariamente Aumentar a Velocidade (Fino) - + Temporarily increase speed (fine) Temporariamente aumentar a velocidade (fino) - + Temporarily Decrease Speed - + Temporariamente Diminuir a Velocidade - + Temporarily decrease speed (coarse) - + Diminuir a velocidade temporariamente (grosseiro) - + Temporarily Decrease Speed (Fine) - + Temporariamente Diminuir a Velocidade (Fino) - + Temporarily decrease speed (fine) - + Temporariamente diminuir a velocidade (fino) @@ -2350,7 +2372,7 @@ trace - Above + Profiling messages Headphone - + Auscultador @@ -2449,1053 +2471,1063 @@ trace - Above + Profiling messages - - + + Move Beatgrid Half a Beat + + + + + Adjust the beatgrid by exactly one half beat. Usable only for tracks with constant tempo. + + + + + Toggle the BPM/beatgrid lock - + Revert last BPM/Beatgrid Change - + Revert last BPM/Beatgrid Change of the loaded track. - + Sync / Sync Lock - + Internal Sync Leader - + Toggle Internal Sync Leader - - + + Internal Leader BPM - + Internal Leader BPM +1 - + Increase internal Leader BPM by 1 - + Internal Leader BPM -1 - + Decrease internal Leader BPM by 1 - + Internal Leader BPM +0.1 - + Increase internal Leader BPM by 0.1 - + Internal Leader BPM -0.1 - + Decrease internal Leader BPM by 0.1 - + Sync Leader - + Sync mode 3-state toggle / indicator (Off, Soft Leader, Explicit Leader) - + Speed - + Velocidade - + Decrease Speed (Fine) Diminuir velocidade (Fino) - + Pitch (Musical Key) Pitch (Tom musical) - + Increase Pitch - + Increases the pitch by one semitone - + Increase Pitch (Fine) - + Increases the pitch by 10 cents - + Decrease Pitch - + Decreases the pitch by one semitone - + Decrease Pitch (Fine) - + Decreases the pitch by 10 cents - + Keylock Trava de Tom - + CUP (Cue + Play) CUP (Cue + Play, ou seja Cue + Toca a faixa) - + Shift cue points earlier - + Shift cue points 10 milliseconds earlier - + Shift cue points earlier (fine) - + Shift cue points 1 millisecond earlier - + Shift cue points later - + Shift cue points 10 milliseconds later - + Shift cue points later (fine) - + Shift cue points 1 millisecond later - - + + Sort hotcues by position - - + + Sort hotcues by position (remove offsets) - + Hotcues %1-%2 - + Intro / Outro Markers - + Intro Start Marker - + Intro End Marker - + Outro Start Marker - + Outro End Marker - + intro start marker - + intro end marker - + outro start marker - + outro end marker - + Activate %1 [intro/outro marker - + Jump to or set the %1 [intro/outro marker - + Set %1 [intro/outro marker - + Set or jump to the %1 [intro/outro marker - + Clear %1 [intro/outro marker - + Clear the %1 [intro/outro marker - + if the track has no beats the unit is seconds - + Loop Selected Beats - + Loop de Batidas Selecionadas - + Create a beat loop of selected beat size - + Criar um loop de batida do tamanho de batida selecionada - + Loop Roll Selected Beats - + Batidas Selecionadas da Lista de Loop - + Create a rolling beat loop of selected beat size - + Criar um loop rolado de batidas do tamanho selecionado - + Loop %1 Beats set from its end point - + Loop Roll %1 Beats set from its end point - + Create %1-beat loop with the current play position as loop end - + Create temporary %1-beat loop roll with the current play position as loop end - + Loop Beats - + Loop Roll Beats - + Go To Loop In Ir para Loop In - + Go to Loop In button Botão de Ir para o Fim do Loop - + Go To Loop Out Ir para o Fim do Loop - + Go to Loop Out button Botão de Ir para o Fim do Loop - + Toggle loop on/off and jump to Loop In point if loop is behind play position - + Alterna entre ligar/desligar o loop e salta para o ponto Início de Loop, se o loop estiver atrás da posição de leitura - + Reloop And Stop - + Reloop e Parar - + Enable loop, jump to Loop In point, and stop - + Ativa o loop, salta para o ponto de Início de Loop, e pára. - + Halve the loop length - + Reduzir o loop pela metade - + Double the loop length - + Duplica o comprimento do loop - + Beat Jump / Loop Move - + Saltar Batidas / Mover Loop - + Jump / Move Loop Forward %1 Beats - + Mover o loop para frente %1 batidas - + Jump / Move Loop Backward %1 Beats Mover o loop para atrás %1 batidas - + Jump forward by %1 beats, or if a loop is enabled, move the loop forward %1 beats - + Saltar para a frente %1 batidas, ou se o loop estiver ativado, mover o loop para a frente %1 batidas - + Jump backward by %1 beats, or if a loop is enabled, move the loop backward %1 beats - + Saltar para trás %1 batidas, ou se o loop estiver ativado, mover o loop para trás %1 batidas - + Beat Jump / Loop Move Forward Selected Beats - + Saltar Batidas / Mover Loop Frente Batidas Selecionadas - + Jump forward by the selected number of beats, or if a loop is enabled, move the loop forward by the selected number of beats - + Saltar para a frente do número de batidas selecionadas, ou se o loop estiver ativado, mover o loop para a frente o número de batidas selecionadas - + Beat Jump / Loop Move Backward Selected Beats - + Saltar Batida / Mover Loop Atraso Batidas Selecionadas - + Jump backward by the selected number of beats, or if a loop is enabled, move the loop backward by the selected number of beats - + Saltar para trás o número de batidas selecionadas, ou se o loop estiver ativado, mover o loop para trás o número de batidas selecionadas - + Beat Jump - + Indicate which loop marker remain static when adjusting the size or is inherited from the current position - + Beat Jump / Loop Move Forward - + Beat Jump / Loop Move Backward - + Loop Move Forward - + Loop Move Backward - + Remove Temporary Loop - + Remove the temporary loop - + Navigation Navegação - + Move up Mover acima - + Equivalent to pressing the UP key on the keyboard Equivalente a pressionar a SETA ACIMA no teclado - + Move down Mover abaixo - + Equivalent to pressing the DOWN key on the keyboard Equivalente a pressionar a SETA ABAIXO no teclado - + Move up/down Mover acima/abaixo - + Move vertically in either direction using a knob, as if pressing UP/DOWN keys Move verticalmente em uma das direções usando um botão, como se pressionasse as teclas ACIMA/ABAIXO - + Scroll Up Rolar acima - + Equivalent to pressing the PAGE UP key on the keyboard - + Equivalente a pressionar a tecla PAGE UP no teclado - + Scroll Down Rolar abaixo - + Equivalent to pressing the PAGE DOWN key on the keyboard Equivalente a pressionar a tecla PAGE DOWN no teclado - + Scroll up/down Rolar acima/abaixo - + Scroll vertically in either direction using a knob, as if pressing PGUP/PGDOWN keys Rolar verticalmente em uma das direções usando um botão, como se pressionasse as teclas PAGE UP/PAGE DOWN - + Move left - + Mover à esquerda - + Equivalent to pressing the LEFT key on the keyboard Equivalente a pressionar a SETA À ESQUERDA no teclado - + Move right - + Mover direita - + Equivalent to pressing the RIGHT key on the keyboard Equivalente a pressionar a SETA À DIREITA no teclado - + Move left/right Mover à esquerda/direita - + Move horizontally in either direction using a knob, as if pressing LEFT/RIGHT keys Mova horizontalmente em uma das direções usando um botão, como ao pressionar as teclas ESQUERDA/DIREITA - + Move focus to right pane Move o foco ao painel da direita - + Equivalent to pressing the TAB key on the keyboard - + Equivalente a pressionar a tecla TAB no teclado - + Move focus to left pane - + Mover o foco para o painel da esquerda - + Equivalent to pressing the SHIFT+TAB key on the keyboard - + Equivalente a pressionar SHIFT+TAB no teclado - + Move focus to right/left pane - + Mover o foco para o painel direita/esquerda - + Move focus one pane to right or left using a knob, as if pressing TAB/SHIFT+TAB keys Move o foco um painel à direita ou esquerda usando um botão, como se pressionasse TAB/SHIFT-TAB - + Sort focused column - + Sort the column of the cell that is currently focused, equivalent to clicking on its header - + Go to the currently selected item - + Ir para o item seleccionado correntemente - + Choose the currently selected item and advance forward one pane if appropriate - + Escolher o item seleccionado correntemente e avançar um para a frente - + Load Track and Play - + Add to Auto DJ Queue (replace) - + Adicionar à Fila Auto DJ (Substituir) - + Replace Auto DJ Queue with selected tracks - + Substituir Fila Auto DJ com as faixas selecionadas - + Select next search history - + Selects the next search history entry - + Select previous search history - + Selects the previous search history entry - + Move selected search entry - + Moves the selected search history item into given direction and steps - + Clear search - + Clears the search query - - + + Select Next Color Available - + Select the next color in the color palette for the first selected track - - + + Select Previous Color Available - + Select the previous color in the color palette for the first selected track - + Deck %1 Quick Effect Enable Button - + Botão de Ativar Efeito Rápido no Leitor %1 - + Quick Effect Enable Button - + Botão de Ativar Efeito Rápido - + Enable or disable effect processing Ativar ou desativar processamento de efeitos - + Super Knob (control effects' Meta Knobs) - + Super Botão (controla os efeitos dos Meta Botões) - + Mix Mode Toggle - + Alternar Modo Mistura - + Toggle effect unit between D/W and D+W modes - + Alternar unidade de efeito entre os modos S/M e S+M - + Next chain preset - + Próxima cadeia predefinida - + Previous Chain Corrente Anterior - + Previous chain preset Prédefinição de corrente anterior - + Next/Previous Chain - + Corrente Seguinte/Anterior - + Next or previous chain preset Prédefinição da corrente seguinte ou anterior - - + + Show Effect Parameters - + Mostrar Parâmetros dos Efeitos - + Effect Unit Assignment - + Meta Knob - + Botão Meta - + Effect Meta Knob (control linked effect parameters) - + Meta Botão Efeitos (controla os parâmetros dos efeitos a que está ligado) - + Meta Knob Mode - + Modo Meta Botão - + Set how linked effect parameters change when turning the Meta Knob. - + Define como mudam os efeitos a que está ligado, quando se roda o Meta Botão. - + Meta Knob Mode Invert - + Inverter Modo Meta Botão - + Invert how linked effect parameters change when turning the Meta Knob. - + Inverter como mudam os efeitos a que está ligado, quando se roda o Meta Botão. - - + + Button Parameter Value - + Microphone / Auxiliary - + Microfone / Auxiliar - + Microphone On/Off Ligar/Desligar Microfone - + Microphone on/off Microfone ligar/desligar - + Toggle microphone ducking mode (OFF, AUTO, MANUAL) Alternar entre modos de redução de música do microfone (DESLIGADO, AUTOMÁTICO, MANUAL) - + Auxiliary On/Off Ligar/Desligar Auxiliar - + Auxiliary on/off - + Ligar/Desligar Auxiliar - + Auto DJ Auto DJ - + Auto DJ Shuffle - + Embaralhar o Auto DJ - + Auto DJ Skip Next - + Pular a Próxima no Auto DJ - + Auto DJ Add Random Track - + Add a random track to the Auto DJ queue - + Auto DJ Fade To Next - + Trocar Para a Próxima no Auto DJ - + Trigger the transition to the next track Desencadear a transição para a próxima faixa - + User Interface Interface do Utilizador - + Samplers Show/Hide - + Samplers Mostrar/Ocultar - + Show/hide the sampler section Mostrar/ocultar a secção sampler - + Microphone && Auxiliary Show/Hide keep double & to prevent creation of keyboard accelerator - + Waveform Zoom Reset To Default - + Reset the waveform zoom level to the default value selected in Preferences -> Waveforms - + Select the next color in the color palette for the loaded track. - + Select previous color in the color palette for the loaded track. - + Navigate Through Track Colors - + Select either next or previous color in the palette for the loaded track. - + Start/Stop Live Broadcasting - + Stream your mix over the Internet. Transmite sua mixagem pela Internet. - + Start/stop recording your mix. - - + + Samplers - + Vinyl Control Show/Hide - + Mostrar/Ocultar Controle por Vinil - + Show/hide the vinyl control section Mostrar/ocultar a secção controlo vinilo - + Preview Deck Show/Hide - + Leitor de Antevisão Mostrar/Ocultar - + Show/hide the preview deck Mostrar/esconder o leitor anterior - + Toggle 4 Decks - + Ligar/Desligar 4 Decks - + Switches between showing 2 decks and 4 decks. Troca entre a visualização de 2 decks e 4 decks. - + Cover Art Show/Hide (Decks) - + Show/hide cover art in the main decks - + Vinyl Spinner Show/Hide Mostrar/Ocultar Vinil Giratório - + Show/hide spinning vinyl widget Mostrar/ocultar o "widget" vinilo em rotação - + Vinyl Spinners Show/Hide (All Decks) - + Show/Hide all spinnies - + Toggle Waveforms - + Show/hide the scrolling waveforms. - + Mostrar/esconder as ondas. - + Waveform zoom Aproximação das ondas - + Waveform Zoom Aproximação das Ondas - + Zoom waveform in - + Ampliar a forma de onda - + Waveform Zoom In Aproximar Ondas - + Zoom waveform out - + Reduzir a forma de onda - + Star Rating Up - + Increase the track rating by one star - + Star Rating Down - + Decrease the track rating by one star @@ -3528,12 +3560,12 @@ trace - Above + Profiling messages Options - + Opções Action - + Ação @@ -3546,7 +3578,7 @@ trace - Above + Profiling messages Channel - + Canal @@ -3561,17 +3593,17 @@ trace - Above + Profiling messages On Value - + Valor On Off Value - + Valor Off Action - + Ação @@ -3581,7 +3613,7 @@ trace - Above + Profiling messages On Range Max - + Alcance Máximo para Ligado @@ -3610,32 +3642,32 @@ trace - Above + Profiling messages ControllerScriptEngineBase - + The functionality provided by this controller mapping will be disabled until the issue has been resolved. - + You can ignore this error for this session but you may experience erratic behavior. - + Try to recover by resetting your controller. Tente recuperar reiniciando seu controlador. - + Controller Mapping Error - + The mapping for your controller "%1" is not working properly. - + The script code needs to be fixed. O código do script precisa ser corrigido. @@ -3681,7 +3713,7 @@ trace - Above + Profiling messages Remove - + Remover @@ -3692,7 +3724,7 @@ trace - Above + Profiling messages Rename - + Renomear @@ -3718,17 +3750,17 @@ trace - Above + Profiling messages Analyze entire Crate - + Analisar Toda a Caixa Auto DJ Track Source - + Fonte de Faixas do Auto DJ Enter new name for crate: - + Introduza um novo nome para a caixa: @@ -3743,7 +3775,7 @@ trace - Above + Profiling messages Importar caixa - + Export Crate Exportar caixa @@ -3753,7 +3785,7 @@ trace - Above + Profiling messages Desbloquear - + An unknown error occurred while creating crate: Ocorreu um erro desconhecido durante a criação da caixa: @@ -3762,12 +3794,6 @@ trace - Above + Profiling messages Rename Crate Renomear Caixa - - - - Export to Engine Prime - - Make a crate for your next gig, for your favorite electrohouse tracks, or for your most requested tracks. @@ -3785,17 +3811,17 @@ trace - Above + Profiling messages Falha AO renomear a Caixa - + Crate Creation Failed - + Criação da Caixa Falhou - + M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Text CSV (*.csv);;Readable Text (*.txt) Lista M3U (*.m3u);;Lista M3U8 (*.m3u8);;Lista PLS (*.pls);;Texto CSV (*.csv);;Texto (*.txt) - + M3U Playlist (*.m3u) Lista M3U (*.m3u) @@ -3804,6 +3830,12 @@ trace - Above + Profiling messages Crates are a great way to help organize the music you want to DJ with. Grades são uma ótima maneira para ajudar a organizar a música que você quer DJ com. + + + + Export to Engine DJ + + Crates let you organize your music however you'd like! @@ -3884,7 +3916,7 @@ trace - Above + Profiling messages Duplicating Crate Failed - + Falha ao duplicar a caixa @@ -3915,12 +3947,12 @@ trace - Above + Profiling messages Colaboradores antigos - + Official Website - + Donate @@ -3968,7 +4000,7 @@ trace - Above + Profiling messages License - + Licença @@ -4008,7 +4040,7 @@ trace - Above + Profiling messages Selects all tracks in the table below. - + Seleciona todas as faixas da tabela abaixo @@ -4018,7 +4050,7 @@ trace - Above + Profiling messages Runs beatgrid, key, and ReplayGain detection on the selected tracks. Does not generate waveforms for the selected tracks to save disk space. - + Executa a detecção da grade de batidas, do tom e do ReplayGain nas faixas selecionadas. Não gera ondas para as faixas selecionadas para salvar espaço no disco. @@ -4096,12 +4128,12 @@ Shortcut: Shift+F9 Determines the duration of the transition - + Determina a duração da transição. Seconds - + Segundos @@ -4167,7 +4199,7 @@ crossfader, so that the intro starts at full volume. Repeat - + Repetir @@ -4177,7 +4209,7 @@ crossfader, so that the intro starts at full volume. One deck must be stopped to enable Auto DJ mode. - + Um leitor deve ser parado para permitir o modo Auto DJ. @@ -4192,7 +4224,7 @@ crossfader, so that the intro starts at full volume. Displays the duration and number of selected tracks. - + Mostra a duração e número de faixas selecionadas. @@ -4211,7 +4243,8 @@ crossfader, so that the intro starts at full volume. Adds a random track from track sources (crates) to the Auto DJ queue. If no track sources are configured, the track is added from the library instead. - + Adiciona uma faixa aleatoriamente das fontes de faixas (caixas) à fila Auto DJ. +Se não estão configuradas fontes de faixas, então a faixa é adicionada da biblioteca. @@ -4234,7 +4267,7 @@ If no track sources are configured, the track is added from the library instead. Beat Detection Preferences - + Preferências para a Detecção de Batida @@ -4254,7 +4287,9 @@ This can speed up beat detection on slower computers but may result in lower qua Converts beats detected by the analyzer into a fixed-tempo beatgrid. Use this setting if your tracks have a constant tempo (e.g. most electronic music). Often results in higher quality beatgrids, but will not do well on tracks that have tempo shifts. - + Converte batidas detectada pelo analisador em uma grade de batidas de tempo fixo. +Use esta configuração se suas faixas tem um tempo constante (como a maioria das músicas eletrônicas). +Frequentemente resulta em grades de batida de melhor qualidade, e não funciona direito em faixas que tem mudanças de tempo. @@ -4279,12 +4314,12 @@ Often results in higher quality beatgrids, but will not do well on tracks that h Choose Analyzer - + Escolha o Analisador Analyzer Settings - + Configurações do Analisador @@ -4300,12 +4335,13 @@ Often results in higher quality beatgrids, but will not do well on tracks that h e.g. from 3rd-party programs or Mixxx versions before 1.11. (Not checked: Analyze only, if no beats exist.) - + ex. de programas de terceiros ou versões do Mixxx anteriores a 1.11 +(Não verificado: Analisar apenas, se não existirem batidas) Re-analyze beats when settings change or beat detection data is outdated - + Re-analisar batidas quando as configurações forem alteradas ou quando os dados de detecção de batida estiverem desatualizados @@ -4323,7 +4359,7 @@ Often results in higher quality beatgrids, but will not do well on tracks that h Close - + Fechar @@ -4333,27 +4369,27 @@ Often results in higher quality beatgrids, but will not do well on tracks that h Hints: If you're mapping a button or switch, only press or flip it once. For knobs and sliders, move the control in both directions for best results. Make sure to touch one control at a time. - + Dicas: Se você está mapeando um botão ou chave, apenas pressione ou vire uma vez. Para botões de girar e deslizantes, mova o controle em ambas as direções para melhores resultados. Toque apenas um controle de cada vez. Cancel - + Cancelar Advanced MIDI Options - + Opções MIDI Avançadas Switch mode interprets all messages for the control as button presses. - + Modo Switch interpreta todas as mensagens para o controlo como teclas de pressão. Switch Mode - + Modo Switch @@ -4363,27 +4399,27 @@ Often results in higher quality beatgrids, but will not do well on tracks that h Soft Takeover - + Soft Takeover Reverses the direction of the control. - + Inverte a direção do controlo. Invert - + Inverter For jog wheels or infinite-scroll knobs. Interprets incoming messages in two's complement. - + Para jog wheels ou botões com rolagem infinita. Interpreta as mensagens em um complemento para dois. Jog Wheel / Select Knob - + Jog Wheel / Botão de Seleção @@ -4403,7 +4439,7 @@ Often results in higher quality beatgrids, but will not do well on tracks that h Click anywhere in Mixxx or choose a control to learn - + Clique em qualquer lugar no Mixxx ou escolha um controle para aprender @@ -4418,55 +4454,58 @@ Often results in higher quality beatgrids, but will not do well on tracks that h If you manipulate the control, you should see the Mixxx user interface respond the way you expect. - + Se você manipular o controle, você deve ver a interface do Mixxx responder da maneira que você espera. Not quite right? - + Ainda não está perfeito? If the mapping is not working try enabling an advanced option below and then try the control again. Or click Retry to redetect the midi control. - + Se o mapeamento não estiver a funcionar tente validar uma opção avançada abaixo e depois tente o controlo de novo. Ou clique repetir para redetetar o controlo midi. - + Didn't get any midi messages. Please try again. - + Não recebi nenhuma mensagem MIDI. Por favor tente de novo. - + Unable to detect a mapping -- please try again. Be sure to only touch one control at once. Não foi possível detectar o mapeamento -- por favor tente de novo. Esteja certo de mexer apenas um controle de cada vez. - + Successfully mapped control: Controle mapeado com sucesso: - + <i>Ready to learn %1</i> <i>Pronto para aprender %1</i> - + Learning: %1. Now move a control on your controller. Aprendendo: %1. Agora mova o controle em seu controlador. - + The selected control does not exist.<br>This likely a bug. Please report it on the Mixxx bug tracker.<br><a href='https://github.com/mixxxdj/mixxx/issues'>https://github.com/mixxxdj/mixxx/issues</a><br><br>You tried to learn: %1,%2 - + The control you clicked in Mixxx is not learnable. This could be because you are either using an old skin and this control is no longer supported, or you clicked a control that provides visual feedback and can only be mapped to outputs like LEDs via scripts. You tried to learn: %1,%2 - + O controle que você clicou no Mixxx não pode ser mapeado. +Isso pode ser porque você está usando um tema antigo e esse controle não é mais suportado, ou você clicou em um controle que provê feedback visual e só pode ser mapeado em saídas como LEDs por meio de scripts. + +Você tentou mapear: %1,%2 @@ -4482,7 +4521,7 @@ You tried to learn: %1,%2 Developer Tools - + Ferramentas de Desenvolvedor @@ -4492,27 +4531,27 @@ You tried to learn: %1,%2 Dumps all ControlObject values to a csv-file saved in the settings path (e.g. ~/.mixxx) - + Despeja todos os valores ControlObject para um arquivo csv salvo na pasta de configurações (por exemplo ~/.mixxx) Dump to csv - + Descarga para csv - + Log - + Registo - + Search - + Pesquisa - + Stats - + Estatísticas @@ -4624,12 +4663,12 @@ You tried to learn: %1,%2 Minimum available tracks in Track Source - + Número mínimo de faixas disponíveis na Fonte de Faixas Auto DJ Preferences - + Preferências Auto DJ @@ -4644,13 +4683,13 @@ You tried to learn: %1,%2 % - + % Uncheck, to ignore all played tracks. - + Desmarque para ignorar todas as faixas tocadas. @@ -4660,7 +4699,7 @@ You tried to learn: %1,%2 Suspension period for track selection - + Período de suspensão para a seleção de faixas @@ -4670,7 +4709,7 @@ You tried to learn: %1,%2 Enable random track addition to queue - + Ativar adição de faixa aleatória à fila @@ -4680,7 +4719,7 @@ You tried to learn: %1,%2 Minimum allowed tracks before addition - + Mínimo de faixas permitidas antes da adição @@ -4733,7 +4772,7 @@ You tried to learn: %1,%2 Opus - + Opus @@ -4743,17 +4782,17 @@ You tried to learn: %1,%2 HE-AAC - + HE-AAC HE-AACv2 - + HE-AACv2 Automatic - + Automático @@ -4776,28 +4815,28 @@ You tried to learn: %1,%2 You can't create more than %1 source connections. - + Não pode criar mais de %1 ligações fonte. Source connection %1 - + Ligação fonte %1 At least one source connection is required. - + É necessária pelo menos uma ligação fonte. Are you sure you want to disconnect every active source connection? - + Tem a certeza que quer desligar todas as ligações fonte ativas? Confirmation required - + Confirmação necessária @@ -4808,7 +4847,7 @@ Two source connections to the same server that have the same mountpoint can not Are you sure you want to delete '%1'? - + Tem a certeza que quer apagar '%1'? @@ -4818,12 +4857,12 @@ Two source connections to the same server that have the same mountpoint can not New name for '%1': - + Novo nome para '%1': Can't rename '%1' to '%2': name already in use - + Não pode renomear '%1' para '%2': nome já em uso @@ -4851,7 +4890,7 @@ Two source connections to the same server that have the same mountpoint can not Stream name - + Nome da transmissão @@ -4861,37 +4900,37 @@ Two source connections to the same server that have the same mountpoint can not Live Broadcasting source connections - + Ligações fonte Emissão em Direto Delete selected - + Apagar selecionadas Create new connection - + Criar nova ligação Rename selected - + Renomear selecionadas Disconnect all - + Desligar todas Turn on Live Broadcasting when applying these settings - + Ligar Emissão em Direto quando aplicar estas definições Settings for %1 - + Definições para %1 @@ -4926,7 +4965,7 @@ Two source connections to the same server that have the same mountpoint can not Select a source connection above to edit its settings here - + Selecionar uma ligação fonte acima para editar as suas definições aqui @@ -4936,12 +4975,12 @@ Two source connections to the same server that have the same mountpoint can not Plain text - + Texto simples Secure storage (OS keychain) - + Armazenamento seguro (Porta chaves do SO) @@ -5002,7 +5041,7 @@ Two source connections to the same server that have the same mountpoint can not Mount - + Montar @@ -5012,48 +5051,48 @@ Two source connections to the same server that have the same mountpoint can not Password - + Palavra passe Stream info - + Informações do Fluxo Metadata - + Metadado Use static artist and title. - + Usar artista e título estáticos. Static title - + Título estático Static artist - + Artista estático Automatic reconnect - + Religar automático Time to wait before the first reconnection attempt is made. - + Tempo de espera antes da primeira tentativa de religação. seconds - + segundos @@ -5073,22 +5112,22 @@ Two source connections to the same server that have the same mountpoint can not Limit number of reconnection attempts - + Limitar número de tentativas de reconexão Maximum retries - + Máximo de tentativas Reconnect if the connection to the streaming server is lost. - + Religar se a ligação ao servidor de streaming estiver perdida. Enable automatic reconnect - + Ativar reconexão automática @@ -5097,7 +5136,7 @@ Two source connections to the same server that have the same mountpoint can not By hotcue number - + Por número do hotcue @@ -5131,7 +5170,7 @@ Two source connections to the same server that have the same mountpoint can not Hotcue palette - + Paleta de hotcue @@ -5163,116 +5202,116 @@ associated with each key. DlgPrefController - + Apply device settings? Aplicar os parâmetros do dispositivo? - + Your settings must be applied before starting the learning wizard. Apply settings and continue? Os seus parâmetros devem ser aplicados antes de iniciar o Assistente de Aprendizagem Aplicar os parâmetros e continuar? - + None Nenhum - + %1 by %2 %1 por %2 - + Mapping has been edited - + Always overwrite during this session - + Save As - + Overwrite - + Save user mapping - + Enter the name for saving the mapping to the user folder. - + Saving mapping failed - + A mapping cannot have a blank name and may not contain special characters. - + A mapping file with that name already exists. - + Do you want to save the changes? - + Troubleshooting Solução de Problemas - + <font color='#BB0000'><b>If you use this mapping your controller may not work correctly. Please select another mapping or disable the controller.</b></font><br><br>This mapping was designed for a newer Mixxx Controller Engine and cannot be used on your current Mixxx installation.<br>Your Mixxx installation has Controller Engine version %1. This mapping requires a Controller Engine version >= %2.<br><br>For more information visit the wiki page on <a href='https://mixxx.org/wiki/doku.php/controller_engine_versions'>Controller Engine Versions</a>. - + Mapping already exists. - + <b>%1</b> already exists in user mapping folder.<br>Overwrite or save with a new name? - + Clear Input Mappings - + Limpar Mapeamentos de Entrada - + Are you sure you want to clear all input mappings? - + Tem a certeza que deseja limpar todas os mapeamentos de entrada? - + Clear Output Mappings - + Limpar Mapeamentos de Saída - + Are you sure you want to clear all output mappings? - + Tem certeza de que deseja limpar todos os mapeamentos de saída? @@ -5288,102 +5327,102 @@ Aplicar os parâmetros e continuar? Activado - + Device Info - + Physical Interface: - + Vendor name: - + Product name: - + Vendor ID - + VID: - + Product ID - + PID: - + Serial number: - + USB interface number: - + HID Usage-Page: - + HID Usage: - + Description: Descrição - + Support: Suporte: - + Screens preview - + Input Mappings Mapeamento de Entrada - - + + Search Pesquisa - - + + Add Adicionar - - + + Remove - + Remover @@ -5401,19 +5440,19 @@ Aplicar os parâmetros e continuar? - + Mapping Info - + Author: - + Autor: - + Name: - + Nome: @@ -5421,30 +5460,30 @@ Aplicar os parâmetros e continuar? Assistente de Aprendizagem (Só MIDI) - + Data protocol: - + Mapping Files: - + Mapping Settings - - + + Clear All Limpar tudo - + Output Mappings - + Mapeamento de Saída @@ -5491,7 +5530,7 @@ Aplicar os parâmetros e continuar? Mixxx did not detect any controllers. If you connected the controller while Mixxx was running you must restart Mixxx first. - + O Mixxx não detectou nenhum controlador. Se você conectou um controlador enquanto o Mixxx estava rodando, você precisa reiniciar o Mixxx primeiro. @@ -5511,12 +5550,12 @@ Aplicar os parâmetros e continuar? Resources - + Recursos Controllers are physical devices that send MIDI or HID signals to your computer over a USB connection. These allow you to control Mixxx in a more hands-on way than a keyboard and mouse. Attached controllers that Mixxx recognizes are shown in the "Controllers" section in the sidebar. - + Controladores são dispositivos físicos que mandam sinais MIDI ou HID para o seu computador em uma conexão USB. Esses permitem que você controle o Mixxx de uma maneira mais tátil do que um teclado ou mouse. Controladores ligados que o Mixxx reconhece são mostrados na seção "Controladores" na barra lateral. @@ -5539,17 +5578,17 @@ Aplicar os parâmetros e continuar? Select from different color schemes of a skin if available. - + Selecione diferentes esquemas de cor de uma skin se disponível. Color scheme - + Esquema de côr Locales determine country and language specific settings. - + A localização determina as configurações específicas de país e língua. @@ -5559,7 +5598,7 @@ Aplicar os parâmetros e continuar? Interface Preferences - + Preferências do Interface @@ -5574,7 +5613,7 @@ Aplicar os parâmetros e continuar? HiDPI / Retina scaling - + Escala HiDPI / Retina @@ -5601,6 +5640,16 @@ Aplicar os parâmetros e continuar? Multi-Sampling + + + Force 3D acceleration + + + + + If checked, Mixxx will always assume 3D acceleration is available. This may lead to pour performance if only CP-backed rendering is available.. + + Start in full-screen mode @@ -5747,7 +5796,7 @@ Aplicar os parâmetros e continuar? 16% - + 16% @@ -5770,7 +5819,7 @@ Aplicar os parâmetros e continuar? Deck Preferences - + Preferências Leitor @@ -5832,7 +5881,7 @@ Modo CUP: Elapsed - + Decorrido @@ -5847,7 +5896,7 @@ Modo CUP: Time Format - + Formato de tempo @@ -5861,7 +5910,11 @@ it will place it at the main cue point if the main cue point has been set previo This may be helpful for upgrading to Mixxx 2.3 from earlier versions. If this option is disabled, the intro start point is automatically placed at the first sound. - + Quando o analisador coloca automaticamente o ponto de início da introdução, +ele coloca-o no ponto de referência principal se o ponto de referência principal tiver sido definido anteriormente. +Isso pode ser útil para atualizar para o Mixxx 2.3 de versões anteriores. + +Se essa opção estiver desativada, o ponto de início da introdução é colocado automaticamente no primeiro som. @@ -5871,7 +5924,7 @@ If this option is disabled, the intro start point is automatically placed at the Track load point - + Ponto de carga de rastreamento @@ -5892,7 +5945,7 @@ You can always drag-and-drop tracks on screen to clone a deck. Double-press Load button to clone playing track - + Pressione Carregar duas vezes para clonar uma faixa que está tocando @@ -5925,7 +5978,7 @@ You can always drag-and-drop tracks on screen to clone a deck. Current key - + Tom atual @@ -5935,12 +5988,12 @@ You can always drag-and-drop tracks on screen to clone a deck. Permanent - + Permanente Temporary - + Temporário @@ -5955,17 +6008,17 @@ You can always drag-and-drop tracks on screen to clone a deck. Ramping sensitivity - + Sensibilidade da aceleração Pitch bend behavior - + Comportamento do pitch bend Original key - + Tom original @@ -5975,17 +6028,17 @@ You can always drag-and-drop tracks on screen to clone a deck. Speed/Tempo - + Velocidade/Tempo Key/Pitch - + Tom/Pitch Adjustment buttons: - + Ajustamento das teclas: @@ -6000,32 +6053,32 @@ You can always drag-and-drop tracks on screen to clone a deck. Coarse - + Grosso Fine - + Fino Make the speed sliders work like those on DJ turntables and CDJs where moving downward increases the speed - + Fazer os cursores de velocidade funcionar como os dos gira-discos e CDJs em que a movimentação para baixo aumenta a velocidade. Down increases speed - + Pra baixo aumenta a velocidade Slider range - + Extensão do cursor Adjusts the range of the speed (Vinyl "Pitch") slider. - + Ajusta a extensão do cursor de velocidade ("Pitch" do Vinil) @@ -6035,27 +6088,27 @@ You can always drag-and-drop tracks on screen to clone a deck. Smoothly adjusts deck speed when temporary change buttons are held down - + Suavemente ajusta a velocidade do deck quando os botões de mudança temporário são segurados Smooth ramping - + Rampa Keyunlock mode - + Modo desbloqueio de tecla Reset key - + Reiniciar tom Keep key - + Manter tecla @@ -6073,7 +6126,7 @@ You can always drag-and-drop tracks on screen to clone a deck. Effects Preferences - + Preferências dos Efeitos @@ -6124,7 +6177,7 @@ You can always drag-and-drop tracks on screen to clone a deck. Export - + Exportar @@ -6170,12 +6223,12 @@ You can always drag-and-drop tracks on screen to clone a deck. Keep metaknob position - + Manter posição do metabotão Reset metaknob to effect default - + Reinicia metabotão para efeito padrão @@ -6185,7 +6238,7 @@ You can always drag-and-drop tracks on screen to clone a deck. Version: - + Versão: @@ -6195,78 +6248,78 @@ You can always drag-and-drop tracks on screen to clone a deck. Author: - + Autor: Name: - + Nome: Type: - + Tipo: DlgPrefInterface - + The minimum size of the selected skin is bigger than your screen resolution. O tamanho mínimo da skin selecionada é maior do que a sua resolução de tela. - + Allow screensaver to run - + Permitir que o protetor de tela execute - + Prevent screensaver from running - + Prevenir que o protetor de tela execute - + Prevent screensaver while playing - + Prevenir o protetor de tela quando tocando - + Disabled - + 2x MSAA - + 4x MSAA - + 8x MSAA - + 16x MSAA - + This skin does not support color schemes - + Esta Skin não suporta esquemas de cores - + Information Informação - + Mixxx must be restarted before the new locale, scaling or multi-sampling settings will take effect. @@ -6276,7 +6329,7 @@ You can always drag-and-drop tracks on screen to clone a deck. Key Notation Format Settings - + Configurações do Formato da Notação de Tom @@ -6287,7 +6340,7 @@ and allows you to pitch adjust them for harmonic mixing. Enable Key Detection - + Validar Deteção de Tom @@ -6297,7 +6350,7 @@ and allows you to pitch adjust them for harmonic mixing. Choose between different algorithms to detect keys. - + Escolher entre diferentes algoritmos para detetar os tons. @@ -6332,7 +6385,7 @@ and allows you to pitch adjust them for harmonic mixing. Key Notation - + Notação do Tom @@ -6357,17 +6410,17 @@ and allows you to pitch adjust them for harmonic mixing. Traditional - + Tradicional Custom - + Personalizado A - + @@ -6377,17 +6430,17 @@ and allows you to pitch adjust them for harmonic mixing. B - + Si C - + C Db - + Db @@ -6397,92 +6450,92 @@ and allows you to pitch adjust them for harmonic mixing. Eb - + Mib E - + E F - + F F# - + Fá# G - + Sol Ab - + Ab Am - + Lám Bbm - + Bbm Bm - + Bm Cm - + Dóm C#m - + C#m Dm - + Dm Ebm - + Ebm Em - + Em Fm - + Fám F#m - + F#m Gm - + Gm G#m - + Sol#m @@ -6505,7 +6558,7 @@ and allows you to pitch adjust them for harmonic mixing. Scan - + Examinar @@ -6525,27 +6578,27 @@ and allows you to pitch adjust them for harmonic mixing. Mixxx will no longer watch this directory for new tracks. What would you like to do with the tracks from this directory and subdirectories?<ul><li>Hide all tracks from this directory and subdirectories.</li><li>Delete all metadata for these tracks from Mixxx permanently.</li><li>Leave the tracks unchanged in your library.</li></ul>Hiding tracks saves their metadata in case you re-add them in the future. - + O Mixxx não vai mais procurar por novas faixas neste diretório. O que você gostaria de fazer com as faixas deste diretório e subdiretório?<ul><li>Ocultar todas as faixas deste diretório e subdiretórios.</li><li>Excluir todos os metadados para estas faixas do Mixxx permanentemente</li><li>Deixar as faixas inalteradas na sua biblioteca.</li></ul>As faixas ocultas continuarão com os metadados, no caso de você readicioná-las no futuro. Metadata means all track details (artist, title, playcount, etc.) as well as beatgrids, hotcues, and loops. This choice only affects the Mixxx library. No files on disk will be changed or deleted. - + Os metadados referem-se a todos os detalhes das faixas (artista, título, género, etc.) bem como as grelhas de batidas, hotcues e loops. Esta escolha afeta apenas a biblioteca do Mixxx. Nenhumas faixas do disco serão alteradas ou apagadas. Hide Tracks - + Ocultar Faixas Delete Track Metadata - + Apagar Metadados das Faixas Leave Tracks Unchanged - + Deixar Faixas Inalteradas @@ -6563,17 +6616,17 @@ and allows you to pitch adjust them for harmonic mixing. If removed, Mixxx will no longer watch this directory and its subdirectories for new tracks. - + Se removido, o Mixxx não vai mais poder procurar por novas faixas neste diretório e subdiretórios. Remove - + Remover Add a directory where your music is stored. Mixxx will watch this directory and its subdirectories for new tracks. - + Adicione um diretório onde sua música está guardada. O Mixxx vai procurar por novas faixas neste diretório e seus subdiretórios. @@ -6594,7 +6647,7 @@ and allows you to pitch adjust them for harmonic mixing. Relink This will re-establish the links to the audio files in the Mixxx database if you move an music directory to a new location. - + Religar @@ -6649,7 +6702,7 @@ and allows you to pitch adjust them for harmonic mixing. Library Font: - + Fonte da Biblioteca: @@ -6714,7 +6767,7 @@ and allows you to pitch adjust them for harmonic mixing. 250 px - + 250 px @@ -6739,7 +6792,7 @@ and allows you to pitch adjust them for harmonic mixing. Library Row Height: - + Altura da Linha da Biblioteca: @@ -6749,12 +6802,12 @@ and allows you to pitch adjust them for harmonic mixing. ... - + ... px - + px @@ -6779,12 +6832,12 @@ and allows you to pitch adjust them for harmonic mixing. Edit metadata after clicking selected track - + Editar metadados após clicar faixa seleccionada Search-as-you-type timeout: - + Tempo limite de procura ao escrever: @@ -6794,12 +6847,12 @@ and allows you to pitch adjust them for harmonic mixing. Load track to next available deck - + Carregar a faixa no próximo deck disponível External Libraries - + Bibliotecas Externas @@ -6834,12 +6887,12 @@ and allows you to pitch adjust them for harmonic mixing. Show Banshee Library - + Mostrar Biblioteca Banshee Show iTunes Library - + Mostrar a biblioteca iTunes @@ -6859,7 +6912,7 @@ and allows you to pitch adjust them for harmonic mixing. All external libraries shown are write protected. - + Todas as bibliotecas externas mostradas são protegidas contra escrita. @@ -6867,7 +6920,7 @@ and allows you to pitch adjust them for harmonic mixing. Crossfader Preferences - + Preferências do Crossfader @@ -6877,7 +6930,7 @@ and allows you to pitch adjust them for harmonic mixing. Slow fade/Fast cut (additive) - + Atenuação lenta/Corte rápido (aditivo) @@ -6892,7 +6945,7 @@ and allows you to pitch adjust them for harmonic mixing. Scratching - + Scratching @@ -6907,7 +6960,7 @@ and allows you to pitch adjust them for harmonic mixing. Reverse crossfader (Hamster Style) - + Crossfader Invertido (Estilo Hamster) @@ -6917,12 +6970,12 @@ and allows you to pitch adjust them for harmonic mixing. Only allow EQ knobs to control EQ-specific effects - + Apenas deixar botões de EQ controlarem efeitos de EQ Uncheck to allow any effect to be loaded into the EQ knobs. - + Desmarque para deixar qualquer efeito ser carregado para os botões de EQ @@ -6932,7 +6985,7 @@ and allows you to pitch adjust them for harmonic mixing. Uncheck to allow different decks to use different EQ effects. - + Desmarque para deixar decks usarem diferentes efeitos de EQ @@ -6952,17 +7005,17 @@ and allows you to pitch adjust them for harmonic mixing. When checked, EQs are not processed, improving performance on slower computers. - + Quando marcado, os EQs não são processados, melhorando a performance em computadores lentos. Resets the equalizers to their default values when loading a track. - + Redefine os equalizadores para os seus valores padrão ao carregar uma faixa. Reset equalizers on track load - + Redefinir os equalizadores ao carregar uma faixa @@ -6993,13 +7046,13 @@ and allows you to pitch adjust them for harmonic mixing. 16 Hz - + 16 Hz 20.05 kHz - + 20.05 kHz @@ -7022,7 +7075,7 @@ and allows you to pitch adjust them for harmonic mixing. Modplug Preferences - + Preferências Modplug @@ -7032,7 +7085,7 @@ and allows you to pitch adjust them for harmonic mixing. Show Advanced Settings - + Mostrar Configurações Avançadas @@ -7061,12 +7114,12 @@ and allows you to pitch adjust them for harmonic mixing. Bass Expansion - + Expansão de Baixos Bass Range: - + Alcance dos Graves: @@ -7106,12 +7159,12 @@ and allows you to pitch adjust them for harmonic mixing. 10ms - + 10ms 256 - + 256 @@ -7121,12 +7174,12 @@ and allows you to pitch adjust them for harmonic mixing. 100Hz - + 100Hz 250ms - + 250ms @@ -7210,7 +7263,7 @@ and allows you to pitch adjust them for harmonic mixing. Recordings directory invalid - + Diretório de gravações inválido @@ -7269,7 +7322,7 @@ and allows you to pitch adjust them for harmonic mixing. Album - + Album @@ -7433,173 +7486,172 @@ The loudness target is approximate and assumes track pregain and main output lev DlgPrefSound - + %1 Hz %1 Hz - + Default (long delay) Padrão (atraso longo) - + Experimental (no delay) Experimental (sem atraso) - + Disabled (short delay) Desativada (atraso curto) - + Soundcard Clock Relógio da Placa de Som - + Network Clock - + Relógio da Rede - + Direct monitor (recording and broadcasting only) - + Monição direta (apenas gravação e emissão) - + Disabled Desativado - + Enabled Activado - + Stereo Estéreo - + Mono Mono - + To enable Realtime scheduling (currently disabled), see the %1. - + The %1 lists sound cards and controllers you may want to consider for using Mixxx. - + Mixxx DJ Hardware Guide - + Information - + Mixxx must be restarted before the multi-threaded RubberBand setting change will take effect. - + auto (<= 1024 frames/period) auto (<= 1024 quadros/período) - + 2048 frames/period 2048 quadros/período - + 4096 frames/period 4096 quadros/período - + Are you sure? - + Distribute stereo channels into mono channels for parallel processing will result in a loss of mono compatibility and a diffuse stereo image. It is not recommended during broadcasting or recording. - + Are you sure you wish to proceed? - + No - + Yes, I know what I am doing - + Microphone inputs are out of time in the record & broadcast signal compared to what you hear. - + As entradas de microfone estão fora de tempo no sinal gravar e emitir comparado com o que ouve. - + Measure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. - + Medir a latência de ida e volta e introduza-a acima para Compensação da Latência do Microfone de maneira a alinhar o tempo do microfone. - - + Refer to the Mixxx User Manual for details. - + Consulte o Manual do Utilizador do Mixxx para detalhes. - + Configured latency has changed. - + A latência configurada foi alterada. - + Remeasure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. - + Volta a medir a latência de ida e volta e introduza-a acima para Compensação da Latência do Microfone de maneira a alinhar o tempo do microfone. - + Realtime scheduling is enabled. O agendamento em tempo real está ativado. - + Main output only - + Main and booth outputs - + %1 ms %1 ms - + Configuration error Erro de configuração @@ -7617,131 +7669,131 @@ The loudness target is approximate and assumes track pregain and main output lev API (Interface de Programação Aplicacional) do Som - + Sample Rate - + Frequência de Amostragem - + Audio Buffer Buffer de Áudio - + Engine Clock - + Relógio Motor - + Use soundcard clock for live audience setups and lowest latency.<br>Use network clock for broadcasting without a live audience. - + Use o relógio da placa de som para montagens com audiência ao vivo e a menor latência.<br>Use o relógio de rede para emissões sem audiência ao vivo. - + Main Mix - + Main Output Mode - + Microphone Monitor Mode - + Modo Monição Microfone - + Microphone Latency Compensation - + Compensação da Latência do Microfone - - - - + + + + ms milliseconds - + ms - + 20 ms 20 ms - + Buffer Underflow Count Contagem insuficiente no tampão - + 0 - + 0 - + Keylock/Pitch-Bending Engine Motor Keylock/Pitch-Bending - + Multi-Soundcard Synchronization Sincronização de Múltiplas Placas de Som - + Output Saída - + Input Entrada - + System Reported Latency Latência Relatada pelo Sistema - + Enlarge your audio buffer if the underflow counter is increasing or you hear pops during playback. Aumente o buffer de áudio se o contador de esvaziamentos aumentar ou se você ouvir estouros na reprodução. - + Main Output Delay - + Headphone Output Delay - + Booth Output Delay - + Dual-threaded Stereo - + Hints and Diagnostics Dicas e Diagnóstico - + Downsize your audio buffer to improve Mixxx's responsiveness. Diminua o buffer de áudio para melhorar a capacidade de resposta do Mixxx. - + Query Devices Consultar dispositivos @@ -7810,7 +7862,7 @@ The loudness target is approximate and assumes track pregain and main output lev Vinyl Type - + Tipo do Vinil @@ -7840,7 +7892,7 @@ The loudness target is approximate and assumes track pregain and main output lev Signal Quality - + Qualidade do Sinal @@ -7873,12 +7925,12 @@ The loudness target is approximate and assumes track pregain and main output lev HSV - + HSV RGB - + RGB @@ -7947,12 +7999,12 @@ The loudness target is approximate and assumes track pregain and main output lev Normalize waveform overview - + Normaliza a visualizção da forma de onda Average frame rate - + Taxa média de fotogramas @@ -7978,7 +8030,7 @@ The loudness target is approximate and assumes track pregain and main output lev End of track warning - + Aviso de faixa acabando @@ -7988,12 +8040,12 @@ The loudness target is approximate and assumes track pregain and main output lev Highlight the waveforms when the last seconds of a track remains. - + Realçar as formas de onda quando faltam os últimos segundos da faixa. seconds - + segundos @@ -8018,7 +8070,7 @@ The loudness target is approximate and assumes track pregain and main output lev Middle - + Médios @@ -8049,7 +8101,8 @@ The loudness target is approximate and assumes track pregain and main output lev The waveform overview shows the waveform envelope of the entire track. Select from different types of displays for the waveform overview, which differ primarily in the level of detail shown in the waveform. - + A forma de onda mostra o envoltório da onda na faixa inteira. +Selecione entre tipos diferentes de visualizações da forma de onda, o que difere principalmente no nível de detalhe mostrado na forma de onda. @@ -8060,12 +8113,13 @@ Select from different types of displays for the waveform overview, which differ The waveform shows the waveform envelope of the track near the current playback position. Select from different types of displays for the waveform, which differ primarily in the level of detail shown in the waveform. - + A forma de onda mostra o envoltório da onda na faixa junto à posição corrente de leitura. +Selecione entre tipos diferentes de visualizações da forma de onda, o que difere principalmente no nível de detalhe mostrado na forma de onda. fps - + fps @@ -8115,7 +8169,7 @@ Select from different types of displays for the waveform, which differ primarily Caching - + Caching @@ -8125,7 +8179,7 @@ Select from different types of displays for the waveform, which differ primarily Enable waveform caching - + Ativa o caching das Waveforms @@ -8135,7 +8189,7 @@ Select from different types of displays for the waveform, which differ primarily Beat grid opacity - + Opacidade da grelha de batidas @@ -8156,7 +8210,7 @@ Select from different types of displays for the waveform, which differ primarily Set amount of opacity on beat grid lines. - + Define a quantidade de opacidade das linhas da grelha de batida. @@ -8166,12 +8220,12 @@ Select from different types of displays for the waveform, which differ primarily Play marker position - + Marcador da posição de reprodução Moves the play marker position on the waveforms to the left, right or center (default). - + Move o marcador da posição de reprodução nas formas de onda para a esquerda, direita ou centro (padrão). @@ -8181,53 +8235,53 @@ Select from different types of displays for the waveform, which differ primarily Clear Cached Waveforms - + Limpar Ondas no Cache DlgPreferences - + Sound Hardware Hardware de Som - + Controllers - + Controladores - + Library Biblioteca - + Interface Interface - + Waveforms - + Formas de Onda - + Mixer - + Mixer - + Auto DJ - + Auto DJ - + Decks - + Leitores - + Colors @@ -8259,52 +8313,52 @@ Select from different types of displays for the waveform, which differ primarily &Ok Preferences standard buttons: consider the other buttons to choose a unique Alt hotkey (&) - + &Ok - + Effects Efeitos - + Recording Gravação - + Beat Detection Detecção do tempo - + Key Detection - + Detecção de Tom - + Normalization Normalização - + <font color='#BB0000'><b>Some preferences pages have errors. To apply the changes please first fix the issues.</b></font> - + Vinyl Control Controlo Vinilo - + Live Broadcasting Difusão em directo - + Modplug Decoder - + Decodificador do Modplug @@ -8387,7 +8441,7 @@ Select from different types of displays for the waveform, which differ primarily Current cue color - + Cor da pista atual @@ -8435,7 +8489,7 @@ Select from different types of displays for the waveform, which differ primarily MusicBrainz - + MusicBrainz @@ -8446,13 +8500,13 @@ Select from different types of displays for the waveform, which differ primarily Track - + Faixa Year - + Ano @@ -8485,13 +8539,13 @@ Select from different types of displays for the waveform, which differ primarily Get API-Key To be able to submit audio fingerprints to the MusicBrainz database, a free application programming interface key (API key) is required. - + Obter API-Key Submit Submits audio fingerprints to the MusicBrainz database. - + Enviar @@ -8506,7 +8560,7 @@ Select from different types of displays for the waveform, which differ primarily Current Cover Art - + Capa de Álbum Atual @@ -8521,7 +8575,7 @@ Select from different types of displays for the waveform, which differ primarily Retry - + Tentar de novo @@ -8531,7 +8585,7 @@ Select from different types of displays for the waveform, which differ primarily &Next - + Segui&nte @@ -8551,12 +8605,12 @@ Select from different types of displays for the waveform, which differ primarily &Close - + &Fechar Original tags - + Etiquetas originais @@ -8571,7 +8625,7 @@ Select from different types of displays for the waveform, which differ primarily Suggested tags - + Etiquetas sugeridas @@ -8627,12 +8681,12 @@ This can not be undone! Export Tracks - + Exportar Faixas Exporting Tracks - + Exportando Faixas @@ -8658,284 +8712,284 @@ This can not be undone! Resumo - + Filetype: Tipo de ficheiro: - + BPM: BPM: - + Location: Localização: - + Bitrate: Débito: - + Comments - + Comentários - + BPM BPM - + Sets the BPM to 75% of the current value. - + Define o BPM para 75% do valor presente. - + 3/4 BPM 3/4 BPM - + Sets the BPM to 50% of the current value. - + Define o BPM para 50% do valor atual. - + Displays the BPM of the selected track. - + Exibe o BPM da faixa selecionada. - + Track # Faixa # - + Album Artist Álbum Artista - + Composer - + Compositor - + Title Título - + Grouping Agrupar - + Key Nota - + Year Ano - + Artist Artista - + Album Album - + Genre Gênero - + ReplayGain: ReplayGain: - + Sets the BPM to 200% of the current value. - + Define o BPM para 200% do valor atual. - + Double BPM Duplicar o BPM - + Halve BPM Reduzir o BPM a metade - + Clear BPM and Beatgrid Limpar o Tempo (BPM) e a grelha rítmica - + Move to the previous item. "Previous" button Mover para o item anterior. - + &Previous &Anterior - + Move to the next item. "Next" button - + Move para o próximo item. - + &Next Segui&nte - + Duration: Duração: - + Import Metadata from MusicBrainz - + Importar Metadados de MusicBrainz - + Re-Import Metadata from file - + Color cor - + Date added: - + Open in File Browser Abrir no Navegador de Ficheiros - + Samplerate: - + Track BPM: Faixa BPM: - + Converts beats detected by the analyzer into a fixed-tempo beatgrid. Use this setting if your tracks have a constant tempo (e.g. most electronic music). Often results in higher quality beatgrids, but will not do well on tracks that have tempo shifts. - + Assume constant tempo - + Assumir tempo constante - + Sets the BPM to 66% of the current value. - + Define o BPM para 66% do valor atual. - + 2/3 BPM 2/3 BPM - + Sets the BPM to 150% of the current value. - + Define o BPM para 150% do valor atual. - + 3/2 BPM 3/2 BPM - + Sets the BPM to 133% of the current value. - + Define o BPM para 133% do valor atual. - + 4/3 BPM 4/3 BPM - + Tap with the beat to set the BPM to the speed you are tapping. Pressione de acordo com a batida para definir o BPM para velocidade que você está tocando. - + Tap to Beat Bata o ritmo - + Hint: Use the Library Analyze view to run BPM detection. Sugestão: Utilize a vista de Análise da Biblioteca para executar a detecção do BPM. - + Save changes and close the window. "OK" button Salva as alterações e fechar a janela. - + &OK &OK - + Discard changes and close the window. "Cancel" button - + Rejeita as alterações e fecha a janela. - + Save changes and keep the window open. "Apply" button - + Salvar as alterações e deixar a janela aberta. - + &Apply - + &Aplicar - + &Cancel &Cancelar - + (no color) @@ -9092,7 +9146,7 @@ Often results in higher quality beatgrids, but will not do well on tracks that h - + (no color) @@ -9294,27 +9348,27 @@ Often results in higher quality beatgrids, but will not do well on tracks that h EngineBuffer - + Soundtouch (faster) - + Soundtouch (mais rápido) - + Rubberband (better) Rubberband (melhor) - + Rubberband R3 (near-hi-fi quality) - + Unknown, using Rubberband (better) - + Unknown, using Soundtouch @@ -9344,7 +9398,7 @@ Often results in higher quality beatgrids, but will not do well on tracks that h Question - + Questão @@ -9352,7 +9406,7 @@ Often results in higher quality beatgrids, but will not do well on tracks that h Artist - + Artista @@ -9400,7 +9454,7 @@ Often results in higher quality beatgrids, but will not do well on tracks that h Album - + Album @@ -9529,15 +9583,15 @@ Often results in higher quality beatgrids, but will not do well on tracks that h LegacySkinParser - - + + Safe Mode Enabled Shown when Mixxx is running in safe mode. - + Modo Segurança Ativado - - + + No OpenGL support. Shown when Spinny can not be displayed. Please keep @@ -9549,57 +9603,57 @@ Shown when VuMeter can not be displayed. Please keep para OpenGL. - + activate activar - + toggle alternar - + right direita - + left esquerda - + right small direita (curto) - + left small esquerda (curto) - + up - + cima - + down baixo - + up small cima (curto) - + down small baixo (curto) - + Shortcut Atalho @@ -9607,62 +9661,62 @@ para OpenGL. Library - + This or a parent directory is already in your library. - + This or a listed directory does not exist or is inaccessible. Aborting the operation to avoid library inconsistencies - - + + This directory can not be read. - + An unknown error occurred. Aborting the operation to avoid library inconsistencies - + Can't add Directory to Library - + Could not add <b>%1</b> to your library. %2 - + Can't remove Directory from Library - + An unknown error occurred. - + This directory does not exist or is inaccessible. - + Relink Directory - + Could not relink <b>%1</b> to <b>%2</b>. %3 @@ -9672,22 +9726,22 @@ Aborting the operation to avoid library inconsistencies LibraryFeature - + Import Playlist - + Importar Playlist - + Playlist Files (*.m3u *.m3u8 *.pls *.csv) Listas de reprodução (*.m3u *.m3u8 *.pls *.csv) - + Overwrite File? - + A playlist file with the name "%1" already exists. The default "m3u" extension was added because none was specified. @@ -9734,27 +9788,27 @@ Do you really want to overwrite it? MidiController - + MixxxControl(s) not found MixxxControl(s) não encontrado(s) - + One or more MixxxControls specified in the outputs section of the loaded mapping were invalid. - + * Make sure the MixxxControls in question actually exist. Visit the manual for a complete list: - + Some LEDs or other feedback may not work correctly. Alguns LEDs ou outros retornos podem não funcionar corretamente. - + * Check to see that the MixxxControl names are spelled correctly in the mapping file (.xml) * Marcar para ver se os nomes dos MixxxControl estão escritos corretamente no arquivo de mapeamento (.xml) @@ -9803,7 +9857,7 @@ Do you really want to overwrite it? Your mixxxdb.sqlite file was created by a newer version of Mixxx and is incompatible. - + O seu arquivo mixxxdb.sqlite foi criado por uma versão nova do Mixxx e é incompatível. @@ -9814,231 +9868,274 @@ Do you really want to overwrite it? MixxxLibraryFeature - + Missing Tracks Faixas em falta - + Hidden Tracks Faixas escondidas - Export to Engine Prime + Export to Engine DJ Tracks - + Faixas MixxxMainWindow - + Sound Device Busy Dispositivo de som ocupado - + <b>Retry</b> after closing the other application or reconnecting a sound device <b>Tentar de novo</b> após ter fechado a outra aplicação ou ter religado o dispositivo de som. - - - + + + <b>Reconfigure</b> Mixxx's sound device settings. <b>Reconfigurar</b> as opções áudio do Mixxx. - - + + Get <b>Help</b> from the Mixxx Wiki. Encontrar <b>Ajuda</b> no Mixxx Wiki. - - - + + + <b>Exit</b> Mixxx. <b>Sair</b> do Mixxx. - + Retry Tentar de novo - + skin - + Allow Mixxx to hide the menu bar? - + Hide Always show the menu bar? - + Always show - + The Mixxx menu bar is hidden and can be toggled with a single press of the <b>Alt</b> key.<br><br>Click <b>%1</b> to agree.<br><br>Click <b>%2</b> to disable that, for example if you don't use Mixxx with a keyboard.<br><br>You can change this setting any time in Preferences -> Interface.<br> Keep formatting tags <b> (bold text) and <br> (linebreak). %1 is the placeholder for the 'Always show' button label - + Ask me again - - + + Reconfigure Reconfigurar - + Help Ajuda - - + + Exit - + Sair - - + + Mixxx was unable to open all the configured sound devices. - + Mixxx não foi capaz de abrir todos os dispositivos de som configurados. - + Sound Device Error - + Erro Dispositivo de Som - + <b>Retry</b> after fixing an issue <b>Tentar novamente</b> depois de corrigir um problema - + No Output Devices Nenhum dispositivo de saída - + Mixxx was configured without any output sound devices. Audio processing will be disabled without a configured output device. O Mixxx foi configurado sem nenhum dispositivo de saída audio. Sem dispositivo de saída configurado, o processamento do som será desactivado. - + <b>Continue</b> without any outputs. <b>Continuar</b> sem nenhuma saída. - + Continue Continuar - + Load track to Deck %1 Carregar a faixa no leitor %1 - + Deck %1 is currently playing a track. O leitor %1 está actualmente a ler uma faixa. - + Are you sure you want to load a new track? Tem a certeza de querer carregar uma nova faixa? - + There is no input device selected for this vinyl control. Please select an input device in the sound hardware preferences first. - + Não existe nenhum dispositivo selecionado para este controlo do vinil. +Por favor, selecione primeiro um dispositivo de entrada, nas preferências de hardware de som. - + There is no input device selected for this passthrough control. Please select an input device in the sound hardware preferences first. - + Não tem nenhum dispositivo de entrada selecionado para este controle atravessador. +Por favor selecione um dispositivo de entrada nas preferências do hardware de som primeiro. - + There is no input device selected for this microphone. Do you want to select an input device? - + There is no input device selected for this auxiliary. Do you want to select an input device? - + + Scan took %1 + + + + + No changes detected. + + + + + + %1 tracks in total + + + + + %1 new tracks found + + + + + %1 moved tracks detected + + + + + %1 tracks are missing (%2 total) + + + + + %1 tracks have been rediscovered + + + + + Library scan finished + + + + Error in skin file Erro no ficheiro de tema - + The selected skin cannot be loaded. O tema seleccionado não pode ser carregado - + OpenGL Direct Rendering Processamento Direct OpenGL - + Direct rendering is not enabled on your machine.<br><br>This means that the waveform displays will be very<br><b>slow and may tax your CPU heavily</b>. Either update your<br>configuration to enable direct rendering, or disable<br>the waveform displays in the Mixxx preferences by selecting<br>"Empty" as the waveform display in the 'Interface' section. - - - + + + Confirm Exit Confirmar saída - + A deck is currently playing. Exit Mixxx? Um leitor está actualmente a tocar. Sair do Mixxx? - + A sampler is currently playing. Exit Mixxx? Uma amostra está actualmente a tocar. Sair do Mixxx? - + The preferences window is still open. A janela de preferências ainda está aberta. - + Discard any changes and exit Mixxx? Rejeitar quaisquer alterações e sair do Mixxx? @@ -10054,13 +10151,13 @@ Do you want to select an input device? PlaylistFeature - + Lock Bloquear - - + + Playlists Listas de reprodução @@ -10070,32 +10167,58 @@ Do you want to select an input device? - + + Unlock all playlists + + + + + Delete all unlocked playlists + + + + Unlock Desbloquear - + + + Confirm Deletion + + + + + Do you really want to delete all unlocked playlists? + + + + + Deleting %1 unlocked playlists.<br>This operation can not be undone! + + + + Playlists are ordered lists of tracks that allow you to plan your DJ sets. - + It may be necessary to skip some tracks in your prepared playlist or add some different tracks in order to maintain the energy of your audience. - + Some DJs construct playlists before they perform live, but others prefer to build them on-the-fly. Alguns DJs preparam listas de reprodução antes das suas actuações, mas outros preferem construi-las na altura em que estão a actuar. - + When using a playlist during a live DJ set, remember to always pay close attention to how your audience reacts to the music you've chosen to play. Quando usa listas de reprodução durante uma actuação de DJ ao vivo, lembre-se de prestar uma atenção particular à forma como o seu público reage à música que escolheu para tocar. - + Create New Playlist Criar nova lista de reprodução @@ -10196,33 +10319,34 @@ Do you want to select an input device? Upgrading Mixxx - + Atualização Mixxx Mixxx now supports displaying cover art. Do you want to scan your library for cover files now? - + O Mixxx agora permite mostrar a capa do disco. +Deseja examinar a sua biblioteca para encontrar ficheiros de capa de disco, agora? Scan - + Examinar Later - + Depois Upgrading Mixxx from v1.9.x/1.10.x. - + Atualização do Mixxx a partir de V1.9.x/1.10.x. Mixxx has a new and improved beat detector. - + O Mixx possui um detetor de batidas novo e aperfeiçoado. @@ -10232,7 +10356,7 @@ Do you want to scan your library for cover files now? This does not affect saved cues, hotcues, playlists, or crates. - + Isto não afeta os pontos cue salvos, hotcues, listas de reprodução ou caixas. @@ -10281,7 +10405,7 @@ Do you want to scan your library for cover files now? Unknown (0x%1) - + Desconhecido (0x%1) @@ -10291,12 +10415,12 @@ Do you want to scan your library for cover files now? Invert - + Inverter Rot64 - + Rot64 @@ -10321,7 +10445,7 @@ Do you want to scan your library for cover files now? Switch - + Comutador @@ -10336,7 +10460,7 @@ Do you want to scan your library for cover files now? SelectKnob - + SelectKnob @@ -10346,7 +10470,7 @@ Do you want to scan your library for cover files now? Script - + Script @@ -10366,7 +10490,7 @@ Do you want to scan your library for cover files now? Booth - + Cabine @@ -10376,7 +10500,7 @@ Do you want to scan your library for cover files now? Left Bus - + Barramento Esquerdo @@ -10391,7 +10515,7 @@ Do you want to scan your library for cover files now? Invalid Bus - + Barramento Inválido @@ -10401,7 +10525,7 @@ Do you want to scan your library for cover files now? Record/Broadcast - + Gravar/Emitir @@ -10437,7 +10561,7 @@ Do you want to scan your library for cover files now? Mixxx Needs Access to: %1 - + Mixxx Precisa Acessar: %1 @@ -10471,7 +10595,7 @@ If you do not want to grant Mixxx access, click Cancel on the file picker. Mixxx Bit Depth - + Profundidade de Bit @@ -10482,17 +10606,17 @@ If you do not want to grant Mixxx access, click Cancel on the file picker. Mixxx Adds noise by the reducing the bit depth and sample rate - + Adiciona ruído pela redução da Profundidade de Bit e taxa de amostragem The bit depth of the samples - + A profundidade de bit das amostras Downsampling - + Decimação @@ -10502,13 +10626,13 @@ If you do not want to grant Mixxx access, click Cancel on the file picker. Mixxx The sample rate to which the signal is downsampled - + A taxa de amostragem para a qual este sinal será reduzida Echo - + Eco @@ -10516,13 +10640,13 @@ If you do not want to grant Mixxx access, click Cancel on the file picker. Mixxx Time - + Tempo Ping Pong - + Pingue Pongue @@ -10530,12 +10654,12 @@ If you do not want to grant Mixxx access, click Cancel on the file picker. Mixxx Send - + Enviar How much of the signal to send into the delay buffer - + Quantidade de sinal a enviar para o buffer de atraso @@ -10543,12 +10667,12 @@ If you do not want to grant Mixxx access, click Cancel on the file picker. Mixxx Feedback - + Retorno Stores the input signal in a temporary buffer and outputs it after a short time - + Guarda o sinal de entrada num buffer temporário e fá-lo sair após um pequeno tempo. @@ -10556,17 +10680,19 @@ If you do not want to grant Mixxx access, click Cancel on the file picker. Mixxx Delay time 1/8 - 2 beats if tempo is detected 1/8 - 2 seconds if no tempo is detected - + Tempo de atraso +1/8 - 2 batidas se o BPM tiver sido detetado +1/8 - 2 segundos se o BPM não tiver sido detetado Amount the echo fades each time it loops - + Quantidade de eco que desaparece cada vez que loopa How much the echoed sound bounces between the left and right sides of the stereo field - + Quanto do sinal ecoado ressalta entre os os lados esquerdo e direito do campo estéreo @@ -10581,7 +10707,7 @@ If you do not want to grant Mixxx access, click Cancel on the file picker. Mixxx Round the Time parameter to the nearest 1/4 beat. - + Arredonda o parâmetro Tempo para o 1/4 de batida mais próxima. @@ -10594,28 +10720,28 @@ If you do not want to grant Mixxx access, click Cancel on the file picker. Mixxx Triplets - + Triplets When the Quantize parameter is enabled, divide rounded 1/4 beats of Time parameter by 3. - + Quando o parâmetro Quantização está ativo, divide o parâmetro Tempo arredondado a 1/4 de batida, por 3. Filter - + Filtro Allows only high or low frequencies to play. - + Permite tocar apenas as altas ou baixas frequências. Low Pass Filter Cutoff - + Corte Filtro Passa Baixo @@ -10627,7 +10753,7 @@ If you do not want to grant Mixxx access, click Cancel on the file picker. Mixxx Corner frequency ratio of the low pass filter - + Frequência de corte do filtro passa baixo @@ -10638,12 +10764,13 @@ If you do not want to grant Mixxx access, click Cancel on the file picker. Mixxx Resonance of the filters Default: flat top - + Ressonancia dos filtros +Padrão: Topo plano High Pass Filter Cutoff - + Corte Filtro Passa Alto @@ -10655,7 +10782,7 @@ Default: flat top Corner frequency ratio of the high pass filter - + Frequência de corte do filtro passa alto @@ -10663,7 +10790,7 @@ Default: flat top Depth - + Profundidade @@ -10675,7 +10802,7 @@ Default: flat top Speed - + Velocidade @@ -10686,58 +10813,61 @@ Default: flat top Mixes the input with a delayed, pitch modulated copy of itself to create comb filtering - + Mistura a entrada com uma cópia de si mesma, atrasada e modulada em tonalidade para criar uma filtragem pente Speed of the LFO (low frequency oscillator) 32 - 1/4 beats rounded to 1/2 beat per LFO cycle if tempo is detected 1/32 - 4 Hz if no tempo is detected - + Velocidade do LFO (oscilador de baixa frequência) +32 - 1/4 batidas arredondadas para 1/2 batida por ciclo LFO se o BPM tiver sido detetado +1/32 - 4 Hz se o BPM não tiver sido detetado Delay amplitude of the LFO (low frequency oscillator) - + Amplitude do atraso do LFO (oscilador de baixa frequência). Delay offset of the LFO (low frequency oscillator). With width at zero, this allows for manually sweeping over the entire delay range. - + Alinhamento do atraso do LFO (oscilador de baixa frequência). +Com a largura a zero, permite o varrimento manual ao longo de toda a extensão do atraso. Regeneration - + Regeneração Regen - + Regerar How much of the delay output is feed back into the input - + Quantidade da saída atrasada que é retornada para a entrada Intensity of the effect - + Intensidade do efeito Divide rounded 1/2 beats of the Period parameter by 3. - + Divide o parâmetro Período, arredondado a 1/2 batidas, por 3. Mix - + Mistura @@ -10747,12 +10877,12 @@ With width at zero, this allows for manually sweeping over the entire delay rang Width - + Largura Metronome - + Metrónomo @@ -10762,7 +10892,7 @@ With width at zero, this allows for manually sweeping over the entire delay rang Adds a metronome click sound to the stream - + Adiciona o som dum clique de metrónomo à stream @@ -10772,7 +10902,7 @@ With width at zero, this allows for manually sweeping over the entire delay rang Set the beats per minute value of the click sound - + Define o valor do bpm do som do clique @@ -10782,7 +10912,7 @@ With width at zero, this allows for manually sweeping over the entire delay rang Synchronizes the BPM with the track if it can be retrieved - + Sincroniza o BPM com a faixa, se este puder ser obtido @@ -10800,7 +10930,7 @@ With width at zero, this allows for manually sweeping over the entire delay rang Period - + Período @@ -10811,34 +10941,36 @@ With width at zero, this allows for manually sweeping over the entire delay rang Bounce the sound left and right across the stereo field - + Balança o som entre a esquerda e direita ao longo do campo estéreo How fast the sound goes from one side to another 1/4 - 4 beats rounded to 1/2 beat if tempo is detected 1/4 - 4 seconds if no tempo is detected - + Velocidade com que o sinal vai dum lado para o outro +1/4 - 4 batidas arredondado para 1/2 batidas se o BPM tiver sido detetado +1/4 - 4 segundos se o BPM não tiver sido detetado Smoothing - + Suavização Smooth - + Suave How smoothly the signal goes from one side to the other - + Suavidade com que o sinal vai de um lado para o outro How far the signal goes to each side - + Até onde o sinal vai em cada lado @@ -10848,34 +10980,35 @@ With width at zero, this allows for manually sweeping over the entire delay rang Emulates the sound of the signal bouncing off the walls of a room - + Simula o som do sinal sendo refletido nas paredes duma sala Decay - + Declínio Lower decay values cause reverberations to fade out more quickly. - + Valores de declínio baixos causam o desvanecimento das reverberações mais rápido. Bandwidth of the low pass filter at the input. Higher values result in less attenuation of high frequencies. - + Largura de banda do filtro passa baixo na entrada. +Valores mais altos resultam em menos atenuação das altas frequências. How much of the signal to send in to the effect - + Quantidade do sinal a enviar para o efeito Bandwidth - + Largura de Banda @@ -10886,12 +11019,12 @@ Higher values result in less attenuation of high frequencies. Damping - + Amortecimento Higher damping values cause high frequencies to decay more quickly than low frequencies. - + Valores maiores de amortecimento fazem com que frequências altas morram mais rápido do que frequências baixas. @@ -10920,7 +11053,7 @@ Higher values result in less attenuation of high frequencies. Mid - + Médios @@ -10940,7 +11073,7 @@ Higher values result in less attenuation of high frequencies. Gain for Mid Filter - + Ganho para Filtro Médio @@ -10971,7 +11104,7 @@ Higher values result in less attenuation of high frequencies. Kill the High Filter - + Matar o Filtro Agudo @@ -10986,32 +11119,32 @@ Higher values result in less attenuation of high frequencies. Graphic EQ - + EQ Gráfico An 8-band graphic equalizer based on biquad filters - + Um equalizador gráfico de 8 bandas baseado em filtros biquad Gain for Band Filter %1 - + Ganho para o Filtro de Banda %1 Moog Ladder 4 Filter - + Filtro Moog Ladder 4 Moog Filter - + Filtro Moog A 4-pole Moog ladder filter, based on Antti Houvilainen's non linear digital implementation - + Um filtro Moog ladder de 4 polos, baseado na implementação digital não linear de Antti Houvilainen @@ -11022,17 +11155,17 @@ Higher values result in less attenuation of high frequencies. Resonance - + Ressonância Resonance of the filters. 4 = self oscillating - + Ressonância dos filtros. 4 = auto oscilante Gain for Low Filter (neutral at 1.0) - + Ganho para Filtro de Baixos (neutro a 1.0) @@ -11055,24 +11188,26 @@ Higher values result in less attenuation of high frequencies. Stages - + Estágios Mixes the input signal with a copy passed through a series of all-pass filters to create comb filtering - + Mistura o sinal de entrada com uma cópia passada através de uma série de filtros para criar uma filtragem em pente Period of the LFO (low frequency oscillator) 1/4 - 4 beats rounded to 1/2 beat if tempo is detected 1/4 - 4 seconds if no tempo is detected - + Período do LFO (oscilador de baixa frequência) +1/4 - 4 batidas arrendondadas a 1/2 batida se o BPM tiver sido detetado +1/4 - 4 segundos se o BPM não tiver sido detetado Controls how much of the output signal is looped - + Controla o quanto do sinal da saída é repetido @@ -11080,27 +11215,27 @@ Higher values result in less attenuation of high frequencies. Range - + Extensão Controls the frequency range across which the notches sweep. - + Controla a faixa de frequências que o filtro elimina banda vai atuar. Number of stages - + Número de estágios Sets the LFOs (low frequency oscillators) for the left and right channels out of phase with each others - + Define os LFOs (osciladores de baixa frequência) para os canais esquerdo e direito, desfasados uns com os outros %1 minutes - + %1 minutos @@ -11120,12 +11255,12 @@ Higher values result in less attenuation of high frequencies. Ctrl+u - + Ctrl+u Ctrl+i - + Ctrl+i @@ -11135,7 +11270,7 @@ Higher values result in less attenuation of high frequencies. Ctrl+Shift+O - + Ctrl+Shift+O @@ -11160,12 +11295,12 @@ Higher values result in less attenuation of high frequencies. A Bessel 8th-order filter isolator with Lipshitz and Vanderkooy mix (bit perfect unity, roll-off -48 dB/octave). - + Um filtro isolador Bessel de 8ª ordem com mixagem Lipshitz e Vanderkooy (unidade perfeita bit a bit, com roll-off de -48db/oitava). LinkwitzRiley8 Isolator - + LinkwitzRiley8 Isolator @@ -11175,7 +11310,7 @@ Higher values result in less attenuation of high frequencies. A Linkwitz-Riley 8th-order filter isolator (optimized crossover, constant phase shift, roll-off -48 dB/octave). - + Um filtro isolador Linkwitz-Riley de 8ª order (crossover otimizado, mudança de fase constante, com roll-off de -48 dB/oitava). @@ -11185,7 +11320,7 @@ Higher values result in less attenuation of high frequencies. BQ EQ - + BQ EQ @@ -11195,7 +11330,7 @@ Higher values result in less attenuation of high frequencies. Device not found - + Dispositivo não encontrado @@ -11205,7 +11340,7 @@ Higher values result in less attenuation of high frequencies. BQ EQ/ISO - + BQ EQ/ISO @@ -11215,7 +11350,7 @@ Higher values result in less attenuation of high frequencies. Loudness Contour - + Curva de Loudness @@ -11227,33 +11362,33 @@ Higher values result in less attenuation of high frequencies. Amplifies low and high frequencies at low volumes to compensate for reduced sensitivity of the human ear. - + Amplifica frequências altas e baixas em volumes baixos para compensar pela sensitividade reduzida do ouvido humano. Set the gain of the applied loudness contour - + Define o ganho da curva de loudness aplicada Use Gain - + Usar Ganho Follow Gain Knob - + Seguir Botão de Ganho This stream is online for testing purposes! - + Esta stream está online para teste! Live Mix - + Mixagem Ao Vivo @@ -11271,18 +11406,18 @@ Higher values result in less attenuation of high frequencies. Bit depth - + Profundidade de bit Bitrate Mode - + Modo da Taxa de Bits 32 bits float - + 32 bits flutuante @@ -11294,33 +11429,33 @@ Higher values result in less attenuation of high frequencies. Adjust the left/right balance and stereo width - + Ajusta o balanço esquerda/direita e a largura estéreo Adjust balance between left and right channels - + Ajusta o balanço entre os canais esquerdo e direito Mid/Side - + Centro/Lado Bypass Fr. - + Ignorar Fr. Bypass Frequency - + Ignorar Frequência Stereo Balance - + Balanço Estéreo @@ -11328,22 +11463,25 @@ Higher values result in less attenuation of high frequencies. Fully left: mono Fully right: only side ambiance Center: does not change the original signal. - + Ajusta a amplitude estéreo alterando o balanço do sinal entre centro e lado. +Tudo esquerda: mono +Tudo direita: apenas o lado ambiente +Centro: não altera o sinal original. Frequencies below this cutoff are not adjusted in the stereo field - + As frequências abaixo deste ponto de corte não são ajustadas no campo estéreo Parametric Equalizer - + Equalizador Paramétrico Param EQ - + EQ Param @@ -11355,71 +11493,75 @@ It is designed as a complement to the steep mixing equalizers. Gain 1 - + Ganho 1 Gain for Filter 1 - + Ganho para o Filtro 1 Q 1 - + Q 1 Controls the bandwidth of Filter 1. A lower Q affects a wider band of frequencies, a higher Q affects a narrower band of frequencies. - + Controla a largura de banda do Filtro 1. +Um Q mais baixo afecta uma banda mais larga de frequências, +um Q mais alto afecta uma banda mais estreita de frequências. Center 1 - + Centro 1 Center frequency for Filter 1, from 100 Hz to 14 kHz - + Frequência central para o Filtro 1, de 100 Hz a 14 kHz Gain 2 - + Ganho 2 Gain for Filter 2 - + Ganho para o Filtro 2 Q 2 - + Q 2 Controls the bandwidth of Filter 2. A lower Q affects a wider band of frequencies, a higher Q affects a narrower band of frequencies. - + Controla a largura de banda do Filtro 2. +Um Q mais baixo afecta uma banda mais larga de frequências, +um Q mais alto afecta uma banda mais estreita de frequências. Center 2 - + Centro 2 Center frequency for Filter 2, from 100 Hz to 14 kHz - + Frequência central para o Filtro 2, de 100 Hz a 14 kHz @@ -11430,72 +11572,79 @@ a higher Q affects a narrower band of frequencies. Cycles the volume up and down - + Sobe e desce o volume num ciclo How much the effect changes the volume - + Até que ponto o efeito altera o volume Rate - + Taxa Rate of the volume changes 4 beats - 1/8 beat if tempo is detected 1/4 Hz - 8 Hz if no tempo is detected - + Taxa das alterações do volume +4 batidas - 1/8 batida se o BPM tiver sido detetado +1/4 Hz - 8 Hz se o BPM não tiver sido detetado Width of the volume peak 10% - 90% of the effect period - + Largura do pico de volume +10% - 90% do período do efeito Shape of the volume modulation wave Fully left: Square wave Fully right: Sine wave - + Forma da onda de modulação do volume +Tudo esquerda: Onda quadrada +Tudo direita: Onda sinusoidal When the Quantize parameter is enabled, divide the effect period by 3. - + Quando o parâmetro Quantização está ativo, divide o período do efeito por 3. Waveform - + Forma de Onda Phase - + Fase Shifts the position of the volume peak within the period Fully left: beginning of the effect period Fully right: end of the effect period - + Desloca a posição do pico de volume dentro do período +Tudo esquerda: início do período do efeito +Tudo direita: fim do período do efeito Round the Rate parameter to the nearest whole division of a beat. - + Aproxima o parâmetro Taxa à divisão inteira mais próxima de uma batida. Triplet - + Terceto @@ -11586,7 +11735,7 @@ Fully right: end of the effect period - + Deck %1 Leitor %1 @@ -11719,7 +11868,7 @@ Hint: compensates "chipmunk" or "growling" voices - + Passthrough Passagem @@ -11750,7 +11899,7 @@ Hint: compensates "chipmunk" or "growling" voices - + Sampler %1 @@ -11883,12 +12032,12 @@ may introduce a 'pumping' effect and/or distortion. - + built-in - + missing @@ -11923,42 +12072,42 @@ may introduce a 'pumping' effect and/or distortion. - + Empty - + Simple - + Filtered - + HSV - + VSyncTest - + RGB - + Stacked - + Unknown @@ -11976,7 +12125,7 @@ may introduce a 'pumping' effect and/or distortion. Low Disk Space Warning - + Aviso de Pouco Espaço em Disco @@ -11991,17 +12140,17 @@ may introduce a 'pumping' effect and/or distortion. Could not create audio file for recording! - + Não foi possível criar o arquivo de áudio para a gravação! Ensure there is enough free disk space and you have write permission for the Recordings folder. - + Certifique-se de que há espaço livre suficiente em disco e que você tem permissão para salvar arquivos na sua pasta de gravações. You can change the location of the Recordings folder in Preferences -> Recording. - + Pode alterar o local da pasta Gravações em Preferências -> Gravação. @@ -12016,54 +12165,54 @@ may introduce a 'pumping' effect and/or distortion. RekordboxFeature - - - + + + Rekordbox - + Playlists Listas de reprodução - + Folders - + Reads databases exported for Pioneer CDJ / XDJ players using the Rekordbox Export mode.<br/>Rekordbox can only export to USB or SD devices with a FAT or HFS file system.<br/>Mixxx can read a database from any device that contains the database folders (<tt>PIONEER</tt> and <tt>Contents</tt>).<br/>Not supported are Rekordbox databases that have been moved to an external device via<br/><i>Preferences > Advanced > Database management</i>.<br/><br/>The following data is read: - + Hot cues - + Loops (only the first loop is currently usable in Mixxx) - + Check for attached Rekordbox USB / SD devices (refresh) - + Beatgrids - + Memory cues - + Cues de memória - + (loading) Rekordbox (carregando) Rekordbox @@ -12292,22 +12441,22 @@ may introduce a 'pumping' effect and/or distortion. Error setting stream IRC! - + Erro a definir a stream IRC! Error setting stream AIM! - + Erro a definir a stream AIM! Error setting stream ICQ! - + Erro a definir a stream ICQ! Error setting stream public! - + Erro ao tornar a stream pública! @@ -12362,27 +12511,27 @@ may introduce a 'pumping' effect and/or distortion. Network cache overflow - + Overflow do cache da rede Connection error - + Erro de ligação One of the Live Broadcasting connections raised this error:<br><b>Error with connection '%1':</b><br> - + Uma das ligações de Emissão em Direto apresentou este erro:<br><b>Erro com a ligação '%1':</b><br> Connection message - + Mensagem da ligação <b>Message from Live Broadcasting connection '%1':</b><br> - + <b>Mensagem da ligação Emissão em Direto '%1':</b><br> @@ -12392,17 +12541,17 @@ may introduce a 'pumping' effect and/or distortion. Lost connection to streaming server. - + A conexão com o servidor de streaming foi perdida. Please check your connection to the Internet. - + Por favor, verifique a sua conecção à internet. Can't connect to streaming server - + Não se consegue ligar ao servidor de streaming. @@ -12415,7 +12564,7 @@ may introduce a 'pumping' effect and/or distortion. Filtered - + Filtrado @@ -12434,12 +12583,12 @@ may introduce a 'pumping' effect and/or distortion. Two outputs cannot share channels on "%1" - + Duas saídas não podem compartilhar o canal "%1" Error opening "%1" - + Erro abrindo "%1" @@ -12452,7 +12601,7 @@ may introduce a 'pumping' effect and/or distortion. Count - + Contagem @@ -12467,7 +12616,7 @@ may introduce a 'pumping' effect and/or distortion. Sum - + Soma @@ -12492,7 +12641,7 @@ may introduce a 'pumping' effect and/or distortion. Standard Deviation - + Desvio Padrão @@ -12563,7 +12712,7 @@ may introduce a 'pumping' effect and/or distortion. loop active - + loop ativo @@ -12573,7 +12722,7 @@ may introduce a 'pumping' effect and/or distortion. Effects within the chain must be enabled to hear them. - + Os efeitos dentro da cadeia devem estar ativados para serem ouvidos. @@ -12603,12 +12752,12 @@ may introduce a 'pumping' effect and/or distortion. Scroll to change the waveform zoom level. - + Role para modificar o zoom das ondas. Waveform Zoom Out - + Reduzir Forma de Onda @@ -12622,7 +12771,7 @@ may introduce a 'pumping' effect and/or distortion. - + Spinning Vinyl Vinilo em rotação @@ -12634,7 +12783,7 @@ may introduce a 'pumping' effect and/or distortion. Right click to show cover art of loaded track. - + Clique direito para mostrar a capa do disco da faixa carregada. @@ -12649,7 +12798,7 @@ may introduce a 'pumping' effect and/or distortion. (too loud for the hardware and is being distorted). - + (Muito forte para o hardware e a ser distorcido) @@ -12694,7 +12843,7 @@ may introduce a 'pumping' effect and/or distortion. Indicates when the signal on the auxiliary is clipping, - + Indica quando o sinal auxiliar está clipando. @@ -12704,22 +12853,22 @@ may introduce a 'pumping' effect and/or distortion. Adjusts the volume of the selected channel. - + Ajusta o volume do canal seleccionado. Booth Gain - + Ganho Cabine Adjusts the booth output gain. - + Ajusta o ganho de saída para a cabine. Crossfader - + Crossfader @@ -12739,12 +12888,12 @@ may introduce a 'pumping' effect and/or distortion. Headphone Gain - + Ganho do Fone Adjusts the headphone output gain. - + Ajusta o ganho da saída do fone. @@ -12759,12 +12908,12 @@ may introduce a 'pumping' effect and/or distortion. Adjust the Headphone Mix so in the left channel is not the pure cueing signal. - + Ajusta a Mistura do Auscultador de maneira que no canal esquerdo não está só o sinal puro de escuta. Microphone - + Microfone @@ -12784,7 +12933,7 @@ may introduce a 'pumping' effect and/or distortion. Vinyl Control - + Controlo Vinilo @@ -12804,19 +12953,19 @@ may introduce a 'pumping' effect and/or distortion. - + Cover Art Capa Show/hide Cover Art. - + Mostrar/ocultar Capa de Disco Toggle 4 Decks - + Ligar/Desligar 4 Decks @@ -12826,32 +12975,32 @@ may introduce a 'pumping' effect and/or distortion. Show Library - + Mostrar Biblioteca Show or hide the track library. - + Mostra ou oculta a biblioteca da faixa. Show Effects - + Mostrar Efeitos Show or hide the effects. - + Mostra ou oculta os efeitos. Toggle Mixer - + Alternar Misturador Show or hide the mixer. - + Mostra ou oculta o misturador. @@ -12876,7 +13025,7 @@ may introduce a 'pumping' effect and/or distortion. Adjusts the pre-fader microphone gain. - + Ajusta o ganho do microfone antes do controlador de transições. @@ -12901,27 +13050,27 @@ may introduce a 'pumping' effect and/or distortion. Microphone Talkover Mode - + Microfone Modo Talkover Off: Do not reduce music volume - + Desligado: Não reduza o volume da música Manual: Reduce music volume by a fixed amount set by the Strength knob. - + Manual: Reduz o volume de música de um valor fixo definido pelo botão Strenght. Behavior depends on Microphone Talkover Mode: - + O comportamento depende do Modo Talkover Microfone: Off: Does nothing - + Desligado: Faz nada @@ -13001,7 +13150,7 @@ may introduce a 'pumping' effect and/or distortion. Tempo - + Tempo @@ -13027,7 +13176,7 @@ may introduce a 'pumping' effect and/or distortion. When tapped, adjusts the average BPM down by a small amount. - + Quando pressionado, diminui um pouco o BPM médio. @@ -13037,202 +13186,202 @@ may introduce a 'pumping' effect and/or distortion. When tapped, adjusts the average BPM up by a small amount. - + Quando pressionado, aumenta um pouco o BPM médio. - + Adjust Beats Earlier - + Ajustar Batidas Cedo - + When tapped, moves the beatgrid left by a small amount. Quando pressionado, move a grade de batidas um pouco para a esquerda. - + Adjust Beats Later - + Adiantar Grade de Batidas - + When tapped, moves the beatgrid right by a small amount. - + Quando batido, move a grelha de batidas para a direita, uma pequena quantidade. - + Tempo and BPM Tap Batimento de Tempo e BPM - + Show/hide the spinning vinyl section. - + Mostrar/ocultar a secção do Vinilo em Rotação - + Keylock Trava de Tom - + Toggling keylock during playback may result in a momentary audio glitch. Ligar/Desligar a trava de tom enquanto tocando pode resultar em um glitch de áudio momentâneo - + Toggle visibility of Loop Controls - + Toggle visibility of Beatjump Controls - + Toggle visibility of Rate Control - + Alterna a visibilidade do Controlo da Taxa - + Toggle visibility of Key Controls - + (while previewing) - + Places a cue point at the current position on the waveform. Coloca um ponto de sinalização na posição atual na forma de onda. - + Stops track at cue point, OR go to cue point and play after release (CUP mode). - + Pára a faixa no CUE Point, OU vai para o CUE Point e reproduz a faixa após soltar o botão (CUP mode). - + Set cue point (Pioneer/Mixxx/Numark mode), set cue point and play after release (CUP mode) OR preview from it (Denon mode). Define o CUE point (em modo Pioneer/Mixxx/Numark), define o CUE point e toca após largar a tecla (modo CUP) OU escuta o preview (modo Denon). - + Is latching the playing state. - + Seeks the track to the cue point and stops. Avança a faixa até ao Cue Point e para. - + Play Tocar - + Plays track from the cue point. - + Toca a faixa a partir do ponto de marcação. - + Sends the selected channel's audio to the headphone output, selected in Preferences -> Sound Hardware. - + (This skin should be updated to use Sync Lock!) - + Enable Sync Lock - + Tap to sync the tempo to other playing tracks or the sync leader. - + Enable Sync Leader - + When enabled, this device will serve as the sync leader for all other decks. - + This is relevant when a dynamic tempo track is loaded to a sync leader deck.In that case, other synced devices will adopt the changing tempo. - + Changes the track playback speed (affects both the tempo and the pitch). If keylock is enabled, only the tempo is affected. - + Altera a velocidade da faixa (afeta o tempo e o pitch). Se o keylock estiver ativo, apenas o tempo é alterado. - + Tempo Range Display - + Displays the current range of the tempo slider. - + Mostra o alcance atual do deslizante de tempo. - + Un-ejects when no track is loaded, i.e. reloads the track that was ejected last (of any deck). - + Delete selected hotcue. - + Track Comment - + Displays the comment tag of the loaded track. - + Opens separate artwork viewer. - + Effect Chain Preset Settings - + Show the effect chain settings menu for this unit. - + Select and configure a hardware device for this input - + Recording Duration - + Duração da Gravação @@ -13380,7 +13529,7 @@ may introduce a 'pumping' effect and/or distortion. Auto: Sets how much to reduce the music volume when the volume of active microphones rises above threshold. - + Auto: Define o quanto reduzir o volume da música quando o volume de microfones ativos passa de um determinado limite. @@ -13468,933 +13617,941 @@ may introduce a 'pumping' effect and/or distortion. - + + Adjust beatgrid by exactly one half beat. Usable only on +tracks with constant tempo. + + + + Revert last BPM/Beatgrid Change - + Revert last BPM/Beatgrid Change of the loaded track. - - + + Toggle the BPM/beatgrid lock - + Tempo and Rate Tap - + Tempo, Rate Tap and BPM Tap - + Shift cues earlier - - + + Shift cues imported from Serato or Rekordbox if they are slightly off time. - + Left click: shift 10 milliseconds earlier - + Right click: shift 1 millisecond earlier - + Shift cues later - + Left click: shift 10 milliseconds later - + Right click: shift 1 millisecond later - - + + Drag a Hotcue button here to continue playing after releasing the Hotcue. - + Hint: Change the default cue mode in Preferences -> Decks. - + Mutes the selected channel's audio in the main output. - + Main mix enable - + Hold or short click for latching to mix this input into the main output. - + If hotcue is a loop cue, toggles the loop and jumps to if the loop is behind the play position. - + If the play position is inside an active loop, stores the loop as loop cue. - + Drag this button onto another Hotcue button to move it there (change its index). If the other hotcue is set, the two are swapped. - + Expand/Collapse Samplers - + Toggle expanded samplers view. - + Displays the duration of the running recording. Mostra a duração da gravação em andamento. - + Auto DJ is active - + Red for when needle skip has been detected. - + Hot Cue - Track will seek to nearest previous hotcue point. - + Sets the track Loop-In Marker to the current play position. - + Define o marcador Início Loop da faixa para a atual posição de reprodução. - + Press and hold to move Loop-In Marker. - + Pressione e mantenha para mover o marcador Início Loop. - + Jump to Loop-In Marker. - + Saltar para o marcador Início Loop. - + Sets the track Loop-Out Marker to the current play position. - + Define o marcador Fim Loop para a atual posição de reprodução. - + Press and hold to move Loop-Out Marker. - + Pressione e mantenha para mover o marcador Fim Loop. - + Jump to Loop-Out Marker. - + Saltar para o marcador Fim Loop. - + If the track has no beats the unit is seconds. - + Beatloop Size - + Tamanho do Loop de Batidas - + Select the size of the loop in beats to set with the Beatloop button. - + Escolher o tamanho do loop em batidas estabelecer com o botão Loop. - + Changing this resizes the loop if the loop already matches this size. - + Alterando isto redimensiona o loop se o loop já coincide com este tamanho. - + Halve the size of an existing beatloop, or halve the size of the next beatloop set with the Beatloop button. - + Reduz a metade o tamanho dum loop existente, ou reduz a metade o tamanho do próximo loop definido com o botão Loop. - + Double the size of an existing beatloop, or double the size of the next beatloop set with the Beatloop button. - + Duplica o tamanho dum loop existente, ou duplica o tamanho do próximo loop definido com o botão Loop. - + Start a loop over the set number of beats. - + Iniciar um loop com o número de batidas prédefinidas. - + Temporarily enable a rolling loop over the set number of beats. - + Ativa temporariamente um loop de rolamento sobre o número de batidas selecionado. - + Beatloop Anchor - + Define whether the loop is created and adjusted from its staring point or ending point. - + Beatjump/Loop Move Size - + Beatjump/Loop Tamanho Movimento - + Select the number of beats to jump or move the loop with the Beatjump Forward/Backward buttons. - + Selecione o número de batidas a saltar ou a deslocar o loop com os botões Beatjump Frente/Atrás. - + Beatjump Forward - + Beatjump Frente - + Jump forward by the set number of beats. - + Salta para a frente o número de batidas predefinidas. - + Move the loop forward by the set number of beats. - + Move o loop para a frente o número de batidas prédefinidas. - + Jump forward by 1 beat. - + Salta para a frente 1 batida. - + Move the loop forward by 1 beat. - + Move o loop para a frente 1 batida. - + Beatjump Backward - + Beatjump Atrás - + Jump backward by the set number of beats. - + Salta para trás o número de batidas prédefinidas. - + Move the loop backward by the set number of beats. - + Move o loop para trás o número de batidas prédefinidas. - + Jump backward by 1 beat. - + Salta para trás 1 batida. - + Move the loop backward by 1 beat. - + Move o loop para trás 1 batida. - + Reloop - + Reloop - + If the loop is ahead of the current position, looping will start when the loop is reached. - + Se o loop estiver à frente da posição atual de reprodução, o ciclo de looping começará quando o loop for atingido. - + Works only if Loop-In and Loop-Out Marker are set. - + Funciona apenas se os marcadores de Início Loop e Fim Loop estiverem definidos. - + Enable loop, jump to Loop-In Marker, and stop playback. - + Ativar loop, saltar para o marcador Início Loop, e parar a reprodução. - + Displays the elapsed and/or remaining time of the track loaded. - + Mostra o tempo executado e/ou restante da faixa carregada. - + Click to toggle between time elapsed/remaining time/both. Clique para alternar entre tempo executado/restante tempo/ambos. - + Hint: Change the time format in Preferences -> Decks. - + Show/hide intro & outro markers and associated buttons. - + Intro Start Marker - - - - + + + + If marker is set, jumps to the marker. - - - - + + + + If marker is not set, sets the marker to the current play position. - - - - + + + + If marker is set, clears the marker. - + Intro End Marker - + Outro Start Marker - + Outro End Marker - + Mix - + Mistura - + Adjust the mixing of the dry (input) signal with the wet (output) signal of the effect unit - + Ajustar a mistura do sinal seco (entrada) com o molhado (saída) da unidade de efeito - + D/W mode: Crossfade between dry and wet - + Modo S/M: crossfade entre seco e molhado - + D+W mode: Add wet to dry - + Modo S/M: adicionar molhado ao seco - + Mix Mode - + Modo Mistura - + Adjust how the dry (input) signal is mixed with the wet (output) signal of the effect unit - + Ajustar a mistura do sinal seco (entrada) com o sinal molhado (saída) da unidade de efeito - + Dry/Wet mode (crossed lines): Mix knob crossfades between dry and wet Use this to change the sound of the track with EQ and filter effects. - + Modo Seco/Molhado (linhas cruzadas): o botão de Mistura faz a transição entre seco e molhado. +Usar isto para alterar o som da faixa com EQ e filtros de efeitos. - + Dry+Wet mode (flat dry line): Mix knob adds wet to dry Use this to change only the effected (wet) signal with EQ and filter effects. - + Modo Seco+Molhado (linha seca plana): o botão de Mistura adiciona o molhado ao seco. +Usar isto para alterar apenas o sinal já com os efeitos (molhado) de EQ e filtros de efeitos. - + Route the main mix through this effect unit. - + Route the left crossfader bus through this effect unit. - + Envia o bus esquerdo do crossfader através desta unidade de efeito. - + Route the right crossfader bus through this effect unit. - + Envia o bus direito do crossfader através desta unidade de efeito. - + Right side active: parameter moves with right half of Meta Knob turn - + Lado direito ativo: o parâmetro muda com meia volta para a direita do Botão Meta - + Stem Label - + Name of the stem stored in the stem file - + Text is displayed in the stem color stored in the stem file - + this stem color is also used for the waveform of this stem - + Stem Mute - + Toggle the stem mute/unmuted - + Stem Volume Knob - + Adjusts the volume of the stem - + Skin Settings Menu - + Menu Definições Skin - + Show/hide skin settings menu - + Mostra/Oculta menu de definições. - + Save Sampler Bank - + Guardar o Banco do Sampler - + Save the collection of samples loaded in the samplers. - + Guarda a colecção de samples carregadas nos samplers. - + Load Sampler Bank Carregar o Banco do Sampler - + Load a previously saved collection of samples into the samplers. - + Carrega uma colecção de samples guardada previamente nos samplers. - + Show Effect Parameters Mostrar Parâmetros do Efeito - + Enable Effect - + Ativar Efeito - + Meta Knob Link - + Ligação Botão Meta - + Set how this parameter is linked to the effect's Meta Knob. - + Definir como este parâmetro está ligado ao botão de efeitos Meta. - + Meta Knob Link Inversion - + Vínculo inverso do Botão Meta - + Inverts the direction this parameter moves when turning the effect's Meta Knob. - + Inverte a direção que este parâmetro se move quando rodando o efeito do Botão Meta - + Super Knob - + Super Botão - + Next Chain Próxima Corrente - + Previous Chain - + Cadeia Anterior - + Next/Previous Chain - + Corrente Seguinte/Anterior - + Clear - + Limpar - + Clear the current effect. - + Limpa o efeito atual. - + Toggle - + Ligar/Desligar - + Toggle the current effect. - + Liga/Desliga o efeito atual. - + Next Seguinte - + Clear Unit - + Limpar Unidade - + Clear effect unit. Limpa a unidade de efeito. - + Show/hide parameters for effects in this unit. - + Mostra/Oculta parâmetros para efeitos nesta unidade. - + Toggle Unit - + Ligar/Desligar Unidade - + Enable or disable this whole effect unit. - + Ativa ou desativa esta unidade completa de efeito. - + Controls the Meta Knob of all effects in this unit together. - + Controla o Meta Botão de todos os efeitos conjuntamente nesta unidade. - + Load next effect chain preset into this effect unit. - + Carrega a próxima cadeia de efeitos prédefinida nesta unidade de efeito. - + Load previous effect chain preset into this effect unit. - + Carrega a anterior cadeia de efeitos prédefinida nesta unidade de efeito. - + Load next or previous effect chain preset into this effect unit. - + Carrega a próxima ou anterior cadeia de efeitos prédefinida nesta unidade de efeito. - - - - + + + + Assign Effect Unit - + Atribuir Unidade de Efeito - + Assign this effect unit to the channel output. - + Atribuir esta unidade de efeito ao canal de saída. - + Route the headphone channel through this effect unit. - + Encaminha o canal de auscultadores através desta unidade de efeito. - + Route this deck through the indicated effect unit. - + Encaminha este deck através da unidade de efeito indicada. - + Route this sampler through the indicated effect unit. - + Encaminha este sampler através da unidade de efeito indicada. - + Route this microphone through the indicated effect unit. - + Encaminha este microfone através da unidade de efeito indicada. - + Route this auxiliary input through the indicated effect unit. - + Encaminha esta entrada auxiliar através da unidade de efeito indicada. - + The effect unit must also be assigned to a deck or other sound source to hear the effect. - + Esta unidade de efeito deve também ser atribuída a um leitor ou a outra fonte sonora para ouvir o efeito. - + Switch to the next effect. - + Troca para o próximo efeito. - + Previous Anterior - + Switch to the previous effect. Troca para o efeito anterior. - + Next or Previous - + Próximo ou Anterior - + Switch to either the next or previous effect. - + Troca para o efeito seguinte ou anterior. - + Meta Knob - + Botão Meta - + Controls linked parameters of this effect - + Controla os parâmetros deste efeito aqui ligado. - + Effect Focus Button - + Botão de Foco do Efeito - + Focuses this effect. Se foca no efeito. - + Unfocuses this effect. - + Anula o realce deste efeito. - + Refer to the web page on the Mixxx wiki for your controller for more information. - + Acesse a página web do seu controlador na wiki do Mixxx para mais informações. - + Effect Parameter - + Parâmetro Efeito - + Adjusts a parameter of the effect. - + Ajusta um parâmetro do efeito. - + Inactive: parameter not linked - + Inativo: parâmetro não ligado - + Active: parameter moves with Meta Knob - + Activo: o parâmetro move-se com o Botão Meta - + Left side active: parameter moves with left half of Meta Knob turn - + Lado esquerdo ativo: o parâmetro move-se com meia volta para a esquerda do Botão Meta - + Left and right side active: parameter moves across range with half of Meta Knob turn and back with the other half - + Lado esquerdo e direito ativo: o parâmetro desloca-se ao longo da sua extensão com meia volta do Botão Meta e para trás com a outra meia volta. - - + + Equalizer Parameter Kill Matar Parâmetro do Equalizador - - + + Holds the gain of the EQ to zero while active. - + Mantem o ganho do equalizador em zero quanto ativo. - + Quick Effect Super Knob Super Botão de Efeito Rápido - + Quick Effect Super Knob (control linked effect parameters). - + Super Botão de Efeito Rápido (controla parâmetros de efeitos conectados). - + Hint: Change the default Quick Effect mode in Preferences -> Equalizers. - + Sugestão: Alterar o modo Efeito Rápido padrão em Preferências -> Equalizadores. - + Equalizer Parameter - + Parâmetro do Equalizador - + Adjusts the gain of the EQ filter. - + Ajusta o ganho do filtro EQ. - + Hint: Change the default EQ mode in Preferences -> Equalizers. Dica: Mude o modo padrão do equalizador em Preferências -> Equalizadores. - - + + Adjust Beatgrid Ajustar a grelha ritmica - + Adjust beatgrid so the closest beat is aligned with the current play position. - + Ajustar a grelha ritmica para que o tempo mais próximo seja alinhado com a posição corrente do cursor. - - + + Adjust beatgrid to match another playing deck. - + Ajusta a grade de batidas para combinar com outro deck tocando. - + If quantize is enabled, snaps to the nearest beat. Quando a quantificação está activada, ajusta-se ao tempo mais próximo. - + Quantize Quantificação - + Toggles quantization. Activa/desactiva a quantificação. - + Loops and cues snap to the nearest beat when quantization is enabled. Os loops e as marcas ajustam-se ao tempo mais próximo quando a quantificação está activada. - + Reverse Inverter - + Reverses track playback during regular playback. Inverte o sentido da leitura da faixa durante a reprodução normal. - + Puts a track into reverse while being held (Censor). Coloca a faixa em reprodução invertida enquanto pressionado (Censurar). - + Playback continues where the track would have been if it had not been temporarily reversed. - + A reprodução continua onde a faixa estaria se ela não estivesse sido temporariamente invertida. - - - + + + Play/Pause - + Leitura/Pausa - + Jumps to the beginning of the track. - + Salta para o início da faixa - + Syncs the tempo (BPM) and phase to that of the other track, if BPM is detected on both. Sincroniza o tempo (BPM) e a fase para a da outra faixa, ou BPM se detectado nos dois. - + Syncs the tempo (BPM) to that of the other track, if BPM is detected on both. - + Sincroniza o tempo (BPM) com o da outra faixa, se o BPM for detetado em ambas. - + Sync and Reset Key - + Sincronizar e Reiniciar Tom - + Increases the pitch by one semitone. - + Aumenta a tonalidade de um meio tom. - + Decreases the pitch by one semitone. Diminui o pitch por um semitom. - + Enable Vinyl Control - + Ativar Controle por Vini - + When disabled, the track is controlled by Mixxx playback controls. - + Quando desativado, a faixa é controlada pelos controles de reprodução do Mixxx. - + When enabled, the track responds to external vinyl control. Quando ativado, a faixa responde ao controle por vinil externo - + Enable Passthrough - + Ativar Passthrough - + Indicates that the audio buffer is too small to do all audio processing. Indica que o buffer de áudio é muito pequeno para fazer todo o processamento de aúdio. - + Displays cover artwork of the loaded track. - + Mostra a arte da capa da faixa carregada. - + Displays options for editing cover artwork. - + Mostra as opções para edição da capa do disco. - + Star Rating - + Classificação de Estrela - + Assign ratings to individual tracks by clicking the stars. - + Atribui classificações a faixas individuais clicando nas estrelas. Channel Peak Indicator - + Indicador de Pico de Canal @@ -14434,7 +14591,7 @@ Use this to change only the effected (wet) signal with EQ and filter effects. Channel R Peak Indicator - + Indicador de Pico do Canal D @@ -14444,12 +14601,12 @@ Use this to change only the effected (wet) signal with EQ and filter effects. Channel L Volume Meter - + Volume do Canal E Shows the current channel volume for the left channel. - + Mostra o volume atual do canal para o lado esquerdo. @@ -14464,7 +14621,7 @@ Use this to change only the effected (wet) signal with EQ and filter effects. Microphone Peak Indicator - + Indicador de Pico do Microfone @@ -14504,7 +14661,7 @@ Use this to change only the effected (wet) signal with EQ and filter effects. Preview Deck Peak Indicator - + Indicador de Pico do Leitor de Antevisão @@ -14514,41 +14671,41 @@ Use this to change only the effected (wet) signal with EQ and filter effects. Maximize Library - + Maximizar Biblioteca Microphone Talkover Ducking Strength - + Amplitude da Redução no Talkover - + Prevents the pitch from changing when the rate changes. - + Previne que o tom mude com as mudanças na taxa do pitch. - + Changes the number of hotcue buttons displayed in the deck - + Altera o número de botões hotcue mostrados no leitor - + Starts playing from the beginning of the track. Começa a tocar do começo da faixa. - + Jumps to the beginning of the track and stops. Pula para o começo da faixa e para. - - + + Plays or pauses the track. Lê ou suspende a leitura da faixa. - + (while playing) (durante a leitura) @@ -14568,217 +14725,217 @@ Use this to change only the effected (wet) signal with EQ and filter effects. - + (while stopped) (enquanto parado) - + Cue Marca de início - + Headphone Auscultador - + Mute Mutar - + Old Synchronize - + Sincronização Antiga - + Syncs to the first deck (in numerical order) that is playing a track and has a BPM. Sincroniza com o primeiro Deck (em ordem numérica) que está tocar uma faixa e que tem um BPM. - + If no deck is playing, syncs to the first deck that has a BPM. Se nenhum Deck estiver a tocar, sincroniza com o primeiro Deck que tenha BPM - + Decks can't sync to samplers and samplers can only sync to decks. os Deck não conseguem sincronizar com as amostras e as amostras só conseguem sincronizar com os Decks - + Hold for at least a second to enable sync lock for this deck. - + Manter premido, por pelo menos um segundo, para ativar o bloqueio de sincronização para este leitor. - + Decks with sync locked will all play at the same tempo, and decks that also have quantize enabled will always have their beats lined up. - + Decks com trava de sincronização vão tocar no mesmo tempo, e os decks que também tem quantização ativada vão sempre ter suas batidas alinhadas. - + Resets the key to the original track key. - + Reinicia o tom, para o tom original da faixa. - + Speed Control - + Controle de Velocidade - - - + + + Changes the track pitch independent of the tempo. - + Muda o pitch da faixa independentemente do tempo. - + Increases the pitch by 10 cents. - + Aumenta o pitch por 10 cents. - + Decreases the pitch by 10 cents. - + Diminui o pitch por 10 cents. - + Pitch Adjust Ajustar o Pitch - + Adjust the pitch in addition to the speed slider pitch. - + Ajusta o pitch junto com o deslizante de velocidade pitch. - + Opens a menu to clear hotcues or edit their labels and colors. - + Drag this button onto a Play button while previewing to continue playback after release. - + Dragging with Shift key pressed will not start previewing the hotcue. - + Record Mix Gravar Mixagem - + Toggle mix recording. - + Ativa/Desativa gravação da mixagem. - + Enable Live Broadcasting - + Ativar Emissão em Direto - + Stream your mix over the Internet. - + Transmite sua mixagem pela Internet. - + Provides visual feedback for Live Broadcasting status: Provê retorno visual para o estado de Transmissão Ao Vivo: - + disabled, connecting, connected, failure. desativado, conectando, conectado, falha. - + When enabled, the deck directly plays the audio arriving on the vinyl input. - + Quando ativada, o leitor toca o audio que chega diretamente à entrada do vinil. - + Playback will resume where the track would have been if it had not entered the loop. O Playback vai retornar ao ponto onde a faixa teria ficado se não tivesse entrado no loop. - + Loop Exit Sair do Loop - + Turns the current loop off. Desliga o loop - + Slip Mode Modo de deslizamento - + When active, the playback continues muted in the background during a loop, reverse, scratch etc. Quando activo, o playback continua abafado em segundo plano durante o loop, reverse, scratch etc. - + Once disabled, the audible playback will resume where the track would have been. Uma vez desactivado, o playback audível será retomado onde a faixa estaria. - + Track Key The musical key of a track Tom da Faixa - + Displays the musical key of the loaded track. - + Mostra o tom musical da faixa carregada. - + Clock Relógio - + Displays the current time. Afixa a hora actual - + Audio Latency Usage Meter - + Uso da Latência de Áudio - + Displays the fraction of latency used for audio processing. - + Mostra a fração da latência usada no processamento de audio. - + A high value indicates that audible glitches are likely. - + Um valor alto indica que ruídos no áudio são prováveis. - + Do not enable keylock, effects or additional decks in this situation. - + Não ative a trava de tom, efeitos ou decks adicionais nessa situação. - + Audio Latency Overload Indicator - + Indicador de Sobrecarga de Latência Audio @@ -14788,7 +14945,7 @@ Use this to change only the effected (wet) signal with EQ and filter effects. Drop tracks from library, external file manager, or other decks/samplers here. - + Largar faixas da biblioteca, gestor de ficheiros exterior, ou outros leitores/samplers aqui. @@ -14798,17 +14955,17 @@ Use this to change only the effected (wet) signal with EQ and filter effects. Crossfader Orientation - + Orientação Crossfader Set the channel's crossfader orientation. - + Define a orientação do crossfader entre canais. Either to the left side of crossfader, to the right side or to the center (unaffected by crossfader) - + Quer para o lado esquerdo do crossfader, ou para o lado direito, ou para o centro (não afetada pelo crossfader) @@ -14818,257 +14975,257 @@ Use this to change only the effected (wet) signal with EQ and filter effects. Displays the current musical key of the loaded track after pitch shifting. - + Mostra o tom musical corrente da faixa carregada, após movimentação do cursor de velocidade/tom. - + Fast Rewind Retorno Rápido - + Fast rewind through the track. Retorno rápido percorrendo a faixa. - + Fast Forward Avanço Rápido - + Fast forward through the track. Avanço rápido percorrendo a faixa. - + Jumps to the end of the track. Salta para o fim da faixa. - + Sets the pitch to a key that allows a harmonic transition from the other track. Requires a detected key on both involved decks. - + Define a tonalidade para um tom que permita uma transição harmónica para outra faixa. Requer ter sido detetado um tom em ambos os leitores envolvidos. - - - + + + Pitch Control Controlo da Velocidade - + Pitch Rate Variador de Altura - + Displays the current playback rate of the track. Mostra a velocidade corrente da faixa. - + Repeat Repetir - + When active the track will repeat if you go past the end or reverse before the start. Quando activo, a faixa será repetida se for para além do fim, ou em reverso para além do início. - + Eject Ejectar - + Ejects track from the player. Ejecta a faixa do leitor. - + Hotcue Marcação - + If hotcue is set, jumps to the hotcue. Se o ponto de marcação estiver definido, salta para o ponto de marcação. - + If hotcue is not set, sets the hotcue to the current play position. Se o ponto de marcação não estiver definido, define o ponto de marcação no local de leitura corrente. - + Vinyl Control Mode Modo de Controlo Vinilo - + Absolute mode - track position equals needle position and speed. Modo Absoluto - a posição na faixa é igual à posição e velocidade da agulha. - + Relative mode - track speed equals needle speed regardless of needle position. Modo Relativo - a velocidade da faixa é igual à velocidade da agulha independentemente da posição da agulha. - + Constant mode - track speed equals last known-steady speed regardless of needle input. Modo Constante - a velocidade da faixa é igual à última velocidade instantânea conhecida independentemente da posição da agulha. - + Vinyl Status Estado do Vinilo - + Provides visual feedback for vinyl control status: Fornece um sinal visual para o estado do controlo vinilo: - + Green for control enabled. Verde para controlo activado. - + Blinking yellow for when the needle reaches the end of the record. Amarelo a piscar quando a agulha chega ao fin do disco. - + Loop-In Marker Marcador de Entrada de Loop - + Loop-Out Marker Marcador de Saída de Loop - + Loop Halve Reduz o loop a metade - + Halves the current loop's length by moving the end marker. Reduz a metade o comprimento do loop corrente, movendo o marcador de fim. - + Deck immediately loops if past the new endpoint. O leitor faz loop imdiatamente, se o novo marcador de saída for ultrapassado. - + Loop Double Duplicação do loop - + Doubles the current loop's length by moving the end marker. Duplica o comprimento corrente do loop movendo o marcador de fim. - + Beatloop Loop de Tempos - + Toggles the current loop on or off. Activa ou desactiva o loop corrente. - + Works only if Loop-In and Loop-Out marker are set. Funciona apenas se as marcas de entrada e de saída do loop estiverem definidas. - + Vinyl Cueing Mode Modo de Marcação Vinilo - + Determines how cue points are treated in vinyl control Relative mode: Determina a forma como os pontos de marcação são tratados no modo de controlo vinilo Relativo. - + Off - Cue points ignored. Inactivo - os pontos de marcação são ignorados. - + One Cue - If needle is dropped after the cue point, track will seek to that cue point. Uma Marca – Se a agulha é largada após o ponto de marcação, a faixa posiciona-se nesse ponto de marcação. - + Track Time Duração da faixa - + Track Duration Duração da Faixa - + Displays the duration of the loaded track. Mostra a duração da faixa carregada. - + Information is loaded from the track's metadata tags. A informação é carregada a partir das etiquetas de metadados da faixa. - + Track Artist Artista da Faixa - + Displays the artist of the loaded track. Mostra o artista da faixa carregada. - + Track Title Título da Faixa - + Displays the title of the loaded track. Mostra o título da faixa. - + Track Album Album da faixa - + Displays the album name of the loaded track. Mostra o nome do album da faixa carregada. - + Track Artist/Title Artista/título da faixa - + Displays the artist and title of the loaded track. Mostra o artista e o título da faixa carregada. @@ -15076,14 +15233,14 @@ Use this to change only the effected (wet) signal with EQ and filter effects. TrackCollection - + Hiding tracks - + Ocultar faixas - + The selected tracks are in the following playlists:%1Hiding them will remove them from these playlists. Continue? - + As faixas selecionadas estão na seguintes playlists: %1 Ocultando-as serão removidas destas playlists. Continuar? @@ -15091,7 +15248,7 @@ Use this to change only the effected (wet) signal with EQ and filter effects. Export finished - + Exportação terminada @@ -15121,12 +15278,12 @@ Use this to change only the effected (wet) signal with EQ and filter effects. &Skip - + P&ular Export Error - + Erro de Exportação @@ -15134,7 +15291,7 @@ Use this to change only the effected (wet) signal with EQ and filter effects. Export Track Files To - + Exportar Faixas Para @@ -15148,17 +15305,17 @@ Use this to change only the effected (wet) signal with EQ and filter effects. Error removing file %1: %2. Stopping. - + Erro na remoção do ficheiro %1: %2. Paragem. Error exporting track %1 to %2: %3. Stopping. - + Erro ao exportar faixa %1 para %2: %3. Parando. Error exporting tracks - + Erro ao exportar as faixas @@ -15190,7 +15347,7 @@ Use this to change only the effected (wet) signal with EQ and filter effects. Timer (Fallback) - + Cronômetro (Retirada) @@ -15200,12 +15357,12 @@ Use this to change only the effected (wet) signal with EQ and filter effects. Wait for Video sync - + Aguardar pela sincronização Video Sync Control - + Controle de Sincronização @@ -15223,7 +15380,7 @@ Use this to change only the effected (wet) signal with EQ and filter effects. Time until charged: %1 - + Tempo até carregada: %1 @@ -15233,7 +15390,7 @@ Use this to change only the effected (wet) signal with EQ and filter effects. Battery fully charged. - + Bateria carregada completamente. @@ -15255,29 +15412,29 @@ Use this to change only the effected (wet) signal with EQ and filter effects. Choose new cover change cover art location - + Escolher nova capa Clear cover clears the set cover art -- does not touch files on disk - + Limpar capa do disco Reload from file/folder reload cover art from file metadata or folder - + Recarregar do arquivo/pasta Image Files - + Arquivos de Imagem Change Cover Art - + Mudar Arte da Capa @@ -15296,47 +15453,47 @@ This can not be undone! WCueMenuPopup - + Cue number - + Cue position - + Edit cue label - + Label... - + Delete this cue - + Toggle this cue type between normal cue and saved loop - + Left-click: Use the old size or the current beatloop size as the loop size - + Right-click: Use the current play position as loop end if it is after the cue - + Hotcue #%1 @@ -15461,323 +15618,353 @@ This can not be undone! - Create &New Playlist + Search in Current View... - Create a new playlist + Search for tracks in the current library view + + + + + Ctrl+f - + + Search in Tracks Library... + + + + + Search in the internal track collection under "Tracks" in the library + + + + + Ctrl+Shift+F + + + + + Create &New Playlist + Criar &Playlist Nova + + + + Create a new playlist + Criar uma nova playlist + + + Ctrl+n Ctrl+n - + Create New &Crate - + Criar Nova &Caixa - + Create a new crate Criar uma Caixa nova - + Ctrl+Shift+N - + Ctrl+Shift+N - - + + &View &Ver - + Auto-hide menu bar - + Auto-hide the main menu bar when it's not used. - + May not be supported on all skins. Pode não ser compatível com todos os temas - + Show Skin Settings Menu - + Mostrar Menu de Configurações do Tema - + Show the Skin Settings Menu of the currently selected Skin - + Mostra o menu das configurações do tema do tema atualmente selecionado - + Ctrl+1 Menubar|View|Show Skin Settings Ctrl+1 - + Show Microphone Section Mostrar a Secção do Microfone - + Show the microphone section of the Mixxx interface. Mostrar a secção microfone do interface Mixxx - + Ctrl+2 Menubar|View|Show Microphone Section - + Ctrl+2 - + Show Vinyl Control Section Mostrar a Secção de Controle de Vinyl - + Show the vinyl control section of the Mixxx interface. Mostrar a secção Controlo Vinilo do interface Mixxx - + Ctrl+3 Menubar|View|Show Vinyl Control Section - + Ctrl+3 - + Show Preview Deck Mostrar o Deck de Pré-visualização - + Show the preview deck in the Mixxx interface. Mostrar o Deck de Pré-visualização no interface do Mixxx. - + Ctrl+4 Menubar|View|Show Preview Deck - + Ctrl+4 - + Show Cover Art Mostrar Arte da Capa - + Show cover art in the Mixxx interface. - + Mostrar as capas dos discos no interface Mixxx. - + Ctrl+6 Menubar|View|Show Cover Art - + Ctrl+6 - + Maximize Library Maximizar Biblioteca - + Maximize the track library to take up all the available screen space. - + Maximiza a biblioteca de faixas para ocupar todo o espaço disponível do ecrã. - + Space Menubar|View|Maximize Library Espaço - + &Full Screen &Ecrã completo - + Display Mixxx using the full screen Mostrar o Mixxx em ecrã completo - + &Options &Opções - + &Vinyl Control Controlo Vinilo - + Use timecoded vinyls on external turntables to control Mixxx Utilizar discos de vinilo codificados num leitor externo para controlar o Mixxx - + Enable Vinyl Control &%1 - + Ativar Controle por Vinil &%1 - + &Record Mix Gravar a mistura - + Record your mix to a file Gravar a sua mistura num ficheiro - + Ctrl+R Ctrl+R - + Enable Live &Broadcasting Activar a difusão em directo - + Stream your mixes to a shoutcast or icecast server Difunda as suas misturas via um servidor de "shoutcast" ou "icecast" - + Ctrl+L Ctrl+L - + Enable &Keyboard Shortcuts Activar atalhos de teclado - + Toggles keyboard shortcuts on or off Activar/desactivar atalhos de teclado - + Ctrl+` Ctrl+` - + &Preferences &Preferências - + Change Mixxx settings (e.g. playback, MIDI, controls) Modificar os parâmetros do Mixxx (ex. difusão, MIDI, controladores) - + &Developer &Desenvolvedor - + &Reload Skin &Recarregar Skin - + Reload the skin Recarregar a skin - + Ctrl+Shift+R Ctrl+Shift+R - + Developer &Tools - + &Ferramentas do Desenvolvedor - + Opens the developer tools dialog Abre o diálogo das ferramentas de desenvolvedor - + Ctrl+Shift+T - + Ctrl+Shift+T - + Stats: &Experiment Bucket Dados: Balde de &Experimento - + Enables experiment mode. Collects stats in the EXPERIMENT tracking bucket. - + Ativa o modo Experiências. Coleta estatísticas no balde de rastreio EXPERIÊNCIAS. - + Ctrl+Shift+E - + Ctrl+Shift+E - + Stats: &Base Bucket - + Estatísticas: &Balde Base - + Enables base mode. Collects stats in the BASE tracking bucket. - + Ativa o modo base. Coleta dados no balde de localização BASE. - + Ctrl+Shift+B Ctrl+Shift+B - + Deb&ugger Enabled - + Deb&ugger Ativado - + Enables the debugger during skin parsing - + Ativa o debugger enquanto a skin estiver sendo analisada - + Ctrl+Shift+D - + Ctrl+Shift+D - + &Help &Ajuda - + Show Keywheel menu title @@ -15794,74 +15981,74 @@ This can not be undone! - + Show keywheel tooltip text - + F12 Menubar|View|Show Keywheel - + F12 - + &Community Support Suporte da comunidade - + Get help with Mixxx Obter ajuda sobre o Mixxx - + &User Manual Manual do utilizador - + Read the Mixxx user manual. Ler o manual de utilizador do Mixxx - + &Keyboard Shortcuts - + &Atalhos de Teclado - + Speed up your workflow with keyboard shortcuts. Acelere seu fluxo de trabalho com atalhos de teclado. - + &Settings directory - + Open the Mixxx user settings directory. - + &Translate This Application &Traduzir esta Aplicação - + Help translate this application into your language. Ajude a traduzir esta aplicação na sua linguagem - + &About &Sobre - + About the application Sobre a aplicação @@ -15869,25 +16056,25 @@ This can not be undone! WOverview - + Passthrough Passagem - + Ready to play, analyzing... Text on waveform overview when file is playable but no waveform is visible - - + + Loading track... Text on waveform overview when file is cached from source - + Finalizing... Text on waveform overview during finalizing of waveform analysis @@ -15896,25 +16083,13 @@ This can not be undone! WSearchLineEdit - - Clear input - Clear the search bar input field - Limpar entrada - - - - Ctrl+F - Search|Focus - Ctrl+F - - - + Search noun Pesquisa - + Clear input Limpar a entrada @@ -15925,169 +16100,163 @@ This can not be undone! Procurar... - + Clear the search bar input field - - Enter a string to search for - + + Return + Enter - - Use operators like bpm:115-128, artist:BooFar, -year:1990 + + Enter a string to search for. - - For more information see User Manual > Mixxx Library + + Use operators like bpm:115-128, artist:BooFar, -year:1990. - Shortcut - Atalho + See User Manual > Mixxx Library for more information. + - - Ctrl+F + + Focus/Select All (Search in current view) + Give search bar input focus - - Focus - Give search bar input focus + + Focus/Select All (Search in 'Tracks' library view) - - - Ctrl+Backspace - Ctrl+Backspace + + Additional Shortcuts When Focused: + - Shortcuts + Trigger search before search-as-you-type timeout or focus tracks view afterwards - Return - Enter + Esc or Ctrl+Return + - Trigger search before search-as-you-type timeout orjump to tracks view afterwards + Immediately trigger search and focus tracks view + Exit search bar and leave focus - + Ctrl+Space - + Ctrl+Space - + Toggle search history Shows/hides the search history entries - + Delete or Backspace - - Delete query from history - - - - - Esc + + in search history - - Exit search - Exit search bar and leave focus + + Delete query from history WSearchRelatedTracksMenu - + Search related Tracks - + Key Nota - + harmonic with %1 - + BPM BPM - + between %1 and %2 - + Artist Artista - + Album Artist Álbum Artista - + Composer Compositor - + Title Título - + Album Album - + Grouping Agrupar - + Year - + Ano - + Genre Gênero - + Directory - + &Search selected @@ -16095,620 +16264,625 @@ This can not be undone! WTrackMenu - + Load to Carregar para - + Deck Leitor - + Sampler Amostrador - + Add to Playlist Adicionar à Lista de reprodução - + Crates Caixas - + Metadata Metadado - + Update external collections - + Cover Art Capa - + Adjust BPM - + Ajustar BPM - + Select Color - - + + Analyze Analisar - - + + Delete Track Files - + Add to Auto DJ Queue (bottom) Juntar à fila Auto DJ (em baixo) - + Add to Auto DJ Queue (top) Juntar à fila Auto DJ (em cima) - + Add to Auto DJ Queue (replace) - + Adicionar à Fila Auto DJ (Substituir) - + Preview Deck Deck de Prá-visualização - + Remove - + Remover - + Remove from Playlist - + Remover da Playlist - + Remove from Crate - + Remover da Caixa - + Hide from Library Ocultar na Biblioteca - + Unhide from Library Reexibir na Biblioteca - + Purge from Library Limpar da Biblioteca - + Move Track File(s) to Trash - + Delete Files from Disk - + Properties Propriedades - + Open in File Browser Abrir no Navegador de Ficheiros - + Select in Library - + Import From File Tags Importar Das Tags Ficheiros - + Import From MusicBrainz - + Importar do MusicBrainz - + Export To File Tags - + Exportar Para Tags Ficheiros - + BPM and Beatgrid - + BPM e Grelha de Batidas - + Play Count - + Contador de Leitura - + Rating classificação - + Cue Point - + Ponto de Marcação - - + + Hotcues Marcações - + Intro - + Outro - + Key Nota - + ReplayGain ReplayGain - + Waveform - + Forma de Onda - + Comment Comentário - + All Tudo - + Sort hotcues by position (remove offsets) - + Sort hotcues by position - + Lock BPM Bloquear o Tempo (BPM) - + Unlock BPM Desbloquear o Tempo (BPM) - + Double BPM Duplicar o BPM - + Halve BPM Reduzir o BPM a metade - + 2/3 BPM 2/3 BPM - + 3/4 BPM 3/4 BPM - + 4/3 BPM - + 4/3 BPM - + 3/2 BPM 3/2 BPM - + + Shift Beatgrid Half Beat + + + + Reanalyze - + Reanalyze (constant BPM) - + Reanalyze (variable BPM) - + Update ReplayGain from Deck Gain - + Deck %1 Leitor %1 - + Importing metadata of %n track(s) from file tags - + Marking metadata of %n track(s) to be exported into file tags - - + + Create New Playlist Criar nova lista de reprodução - + Enter name for new playlist: Entre o nome da nova lista de reprodução - + New Playlist Nova lista de reprodução - - - + + + Playlist Creation Failed - + A criação da Lista de reprodução falhou - + A playlist by that name already exists. Já existe uma Playlist com este nome - + A playlist cannot have a blank name. - + A Playlist não pode ter um nome vazio - + An unknown error occurred while creating playlist: Ocorreu um erro desconhecido ao criar a Playlist - + Add to New Crate - + Scaling BPM of %n track(s) - + Undo BPM/beats change of %n track(s) - + Locking BPM of %n track(s) Locking BPM of %n track(s)Locking BPM of %n track(s)Bloqueando o BPM de %n faixa(s) - + Unlocking BPM of %n track(s) Unlocking BPM of %n track(s)Unlocking BPM of %n track(s)Desbloqueando o BPM de %n faixa(s) - + Setting rating of %n track(s) - + Setting color of %n track(s) Setting color of %n track(s)Setting color of %n track(s)Mudando a cor de %n faixa(s) - + Resetting play count of %n track(s) - + Resetting beats of %n track(s) - + Clearing rating of %n track(s) - + Clearing comment of %n track(s) - + Removing main cue from %n track(s) - + Removing outro cue from %n track(s) - + Removing intro cue from %n track(s) - + Removing loop cues from %n track(s) - + Removing hot cues from %n track(s) - + Sorting hotcues of %n track(s) by position (remove offsets) - + Sorting hotcues of %n track(s) by position - + Resetting keys of %n track(s) - + Resetting replay gain of %n track(s) - + Resetting waveform of %n track(s) - + Resetting all performance metadata of %n track(s) - + Move these files to the trash bin? - + Permanently delete these files from disk? - - + + This can not be undone! - + Cancel Cancelar - + Delete Files - + Okay - + Move Track File(s) to Trash? - + Track Files Deleted - + Track Files Moved To Trash - + %1 track files were moved to trash and purged from the Mixxx database. - + %1 track files were deleted from disk and purged from the Mixxx database. - + Track File Deleted - + Track file was deleted from disk and purged from the Mixxx database. - + The following %1 file(s) could not be deleted from disk - + This track file could not be deleted from disk - + Remaining Track File(s) - + Close Fechar - + Clear Reset metadata in right click track context menu in library - + Loops - + Clear BPM and Beatgrid - + Undo last BPM/beats change - + Move this track file to the trash bin? - + Permanently delete this track file from disk? - + All decks where these tracks are loaded will be stopped and the tracks will be ejected. - + All decks where this track is loaded will be stopped and the track will be ejected. - + Removing %n track file(s) from disk... - + Note: if you are in the Computer or Recording view you need to click the current view again to see changes. - + Track File Moved To Trash - + Track file was moved to trash and purged from the Mixxx database. - + Don't show again during this session - + The following %1 file(s) could not be moved to trash - + This track file could not be moved to trash - + Setting cover art of %n track(s) - + Reloading cover art of %n track(s) @@ -16724,37 +16898,37 @@ This can not be undone! WTrackStemMenu - + Load for stem mixing - + Load pre-mixed stereo track - + Load the "%1" stem - + Load multiple stem into a stereo deck - + Select stems to load - + Release "CTRL" to load the current selection - + Use "CTRL" to select multiple stems @@ -16762,37 +16936,37 @@ This can not be undone! WTrackTableView - + Confirm track hide - + Are you sure you want to hide the selected tracks? - + Are you sure you want to remove the selected tracks from AutoDJ queue? - + Are you sure you want to remove the selected tracks from this crate? - + Are you sure you want to remove the selected tracks from this playlist? - + Don't ask again during this session - + Confirm track removal @@ -16800,12 +16974,12 @@ This can not be undone! WTrackTableViewHeader - + Show or hide columns. Mostrar/ocultar colunas - + Shuffle Tracks @@ -16813,52 +16987,52 @@ This can not be undone! mixxx::CoreServices - + fonts - + database - + effects - + audio interface - + decks - + library - + Choose music library directory Escolha a pasta da biblioteca musical - + controllers - + Cannot open database Não é possível abrir a base de dados - + Unable to establish a database connection. Mixxx requires QT with SQLite support. Please read the Qt SQL driver documentation for information on how to build it. @@ -16872,68 +17046,78 @@ Clique em OK para sair. mixxx::DlgLibraryExport - + Entire music library - - Selected crates + + Crates - - Browse + + Playlists + + + + + Selected crates/playlists - + + Browse + Procurar + + + Export directory - + Database version - + Export Exportar - + Cancel - + Cancelar - + Export Library to Engine DJ "Engine DJ" must not be translated - + Export Library To - + No Export Directory Chosen - + No export directory was chosen. Please choose a directory in order to export the music library. - + A database already exists in the chosen directory. Exported tracks will be added into this database. - + A database already exists in the chosen directory, but there was a problem loading it. Export is not guaranteed to succeed in this situation. @@ -16943,18 +17127,18 @@ Clique em OK para sair. Export Modified Track Metadata - + Exportar Metadados Modificados da Faixa Mixxx may wait to modify files until they are not loaded to any decks or samplers. If you do not see changed metadata in other programs immediately, eject the track from all decks and samplers or shutdown Mixxx. - + O Mixxx poderá esperar para modificar ficheiros até que não estejam carregados em quaisquer leitores ou samplers. Se não vir os metadados alterados noutros programas imediatamente, ejecte a faixa de todos os leitores e samplers ou encerre o Mixxx. mixxx::EnginePrimeExportJob - + Failed to export track %1 - %2: %3 %1 is the artist %2 is the title and %3 is the original error message @@ -16964,23 +17148,23 @@ Clique em OK para sair. mixxx::LibraryExporter - + Export Completed - - Exported %1 track(s) and %2 crate(s). + + Exported %1 track(s), %2 crate(s), and %3 playlist(s). - + Export Failed - - Exporting to Engine Prime... + + Exporting to Engine DJ... @@ -16997,7 +17181,7 @@ Clique em OK para sair. No network access - + Sem acesso a rede diff --git a/res/translations/mixxx_pt_BR.qm b/res/translations/mixxx_pt_BR.qm index 5fd1d7ebcb2912b7bdeeabbdee24a8a212971b37..4c172df81737c76bb1b573ce15db126d1cd75c43 100644 GIT binary patch delta 60915 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 JEqD#i{{#1WPe=d& delta 16670 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 fila do Auto DJ - + Remove Crate as Track Source Remover Caixa como Fonte de Faixas - + Auto DJ Auto DJ - + Confirmation Clear Confirmar limpeza - + Do you really want to remove all tracks from the Auto DJ queue? Você tem certeza que quer remover todas as faixas da fila do Auto DJ? - + This can not be undone. Esta ação não pode ser desfeita. - + Add Crate as Track Source Adicionar Caixa como Fonte de Faixas @@ -149,7 +149,7 @@ BasePlaylistFeature - + New Playlist Nova Lista de Reprodução @@ -160,7 +160,7 @@ - + Create New Playlist Criar uma Playlist Nova @@ -190,113 +190,120 @@ Duplicar - - + + Import Playlist Importar Playlist - + Export Track Files Exportar Arquivos de Faixa - + Analyze entire Playlist Analisar toda a Lista de reprodução - + Enter new name for playlist: Digite o novo nome para a lista: - + Duplicate Playlist Duplicar a Lista de Reprodução - - + + Enter name for new playlist: Digite o nome para a nova lista de reprodução: - - + + Export Playlist Exportar Playlist - + Add to Auto DJ Queue (replace) Adicionar a fila do Auto DJ (substituir) - + + + Export to Engine DJ + "Engine DJ" is a product name and must not be translated. + + + + Rename Playlist Renomear Playlist - - + + Renaming Playlist Failed A mudança de nome da Playlist falhou - - - + + + A playlist by that name already exists. Uma lista de reprodução com esse nome já existe. - - - + + + A playlist cannot have a blank name. Uma lista de reprodução não pode ter um nome em branco. - + _copy //: Appendix to default name when duplicating a playlist _copiar - - - - - - + + + + + + Playlist Creation Failed A criação da Lista de reprodução falhou - - + + An unknown error occurred while creating playlist: Ocorreu um erro desconhecido ao criar a lista de reprodução: - + Confirm Deletion Confimar a remoção - + Do you really want to delete playlist <b>%1</b>? Você realmente deseja excluir a lista de reprodução <b>%1</b>? - + M3U Playlist (*.m3u) Lista de reprodução M3U (*.m3u) - + M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Text CSV (*.csv);;Readable Text (*.txt) Lista de Reprodução M3U (*.m3u);;Lista de Reprodução M3U8 (*.m3u8);;Lista de Reprodução PLS (*.pls);;Texto CSV (*.csv);;Texto (*.txt) @@ -304,12 +311,12 @@ BaseSqlTableModel - + # - + Timestamp Data/Hora @@ -317,7 +324,7 @@ BaseTrackPlayerImpl - + Couldn't load track. Não conseguiu carregar a faixa. @@ -325,137 +332,142 @@ BaseTrackTableModel - + Album Álbum - + Album Artist Artista do Álbum - + Artist Artista - + Bitrate Taxa de Bits - + BPM BPM - + Channels Canais - + Color Cor - + Comment Comentário - + Composer Compositor - + Cover Art Arte de Capa - + Date Added Data Adicionada - + Last Played Última Execução - + Duration Duração - + Type Tipo - + Genre Gênero - + Grouping Agrupamento - + Key Tom - + Location Localização - + + Overview + + + + Preview Pré-Visualizar - + Rating Classificação - + ReplayGain ReplayGain - + Samplerate Taxa de amostragem - + Played Tocada - + Title Título - + Track # Faixa # - + Year Ano - + Fetching image ... Tooltip text on the cover art column shown when the cover is read from disk Buscando imagem ... @@ -543,67 +555,77 @@ BrowseFeature - + Add to Quick Links Adicionar aos Links Rápidos - + Remove from Quick Links Remover dos Links Rápidos - + Add to Library Adicionar à Biblioteca - + Refresh directory tree Recarregar pastas - + Quick Links Links Rápidos - - + + Devices Dispositivos - + Removable Devices Dispositivos Removíveis - - + + Computer Computador - + Music Directory Added - + Pasta de Música Adicionada - + You added one or more music directories. The tracks in these directories won't be available until you rescan your library. Would you like to rescan now? Você adicionou um ou mais diretórios de música. As faixas nesses diretórios não ficarão disponíveis até que você reexamine sua biblioteca. Você quer reexaminar agora? - + Scan - + Examinar - + "Computer" lets you navigate, view, and load tracks from folders on your hard disk and external devices. "Computador" permite que você navegue, veja e carregue faixas de pastas do seu disco rígido ou de dispositivos externos. + + + It shows the data from the file tags, not track data from your Mixxx library like other track views. + + + + + If you load a track file from here, it will be added to your library. + + BrowseTableModel @@ -670,7 +692,7 @@ Key - + Nota @@ -705,17 +727,17 @@ File Modified - + Ficheiro Modificado File Created - + Ficheiro Criado Mixxx Library - + Biblioteca Mixxx @@ -728,7 +750,7 @@ The file '%1' could not be found. - + O arquivo '%1' não pôde ser encontrado. @@ -890,7 +912,7 @@ trace - Above + Profiling messages Remove Palette - + Remover Paleta @@ -918,7 +940,7 @@ trace - Above + Profiling messages No control chosen. - + Nenhum controlo escolhido. @@ -986,7 +1008,7 @@ trace - Above + Profiling messages Auxiliary %1 - + Auxiliar %1 @@ -996,7 +1018,7 @@ trace - Above + Profiling messages Effect Rack %1 - + Rack de Efeitos %1 @@ -1027,7 +1049,7 @@ trace - Above + Profiling messages Headphone delay - + Atraso Auscultador @@ -1046,15 +1068,15 @@ trace - Above + Profiling messages - + Set to full volume - + Volume Máximo - + Set to zero volume - + Ajustar para o volume zero @@ -1077,15 +1099,15 @@ trace - Above + Profiling messages Botão de rolagem reversa (Censurar) - + Headphone listen button Tecla de escuta no auscultador - + Mute button - + Tecla de Silêncio @@ -1094,25 +1116,25 @@ trace - Above + Profiling messages - + Mix orientation (e.g. left, right, center) - + Orientação da mistura (ex. esquerda, direita, centro) - + Set mix orientation to left Definir orientação da mixagem à esquerda - + Set mix orientation to center Definir orientação da mixagem para o centro - + Set mix orientation to right Definir orientação da mixagem à direita @@ -1130,12 +1152,12 @@ trace - Above + Profiling messages Increase BPM by 1 - + Aumentar BPM em 1 Decrease BPM by 1 - + Diminuir BPM em 1 @@ -1153,24 +1175,24 @@ trace - Above + Profiling messages Botão de toque do BPM - + Toggle quantize mode Ligar/Desligar modo de quantização - + One-time beat sync (tempo only) - + Sincronização pontual da batida (só tempo) - + One-time beat sync (phase only) - + Sincronização pontual da batida (só fase) - + Toggle keylock mode - + Activar/desactivar o modo de bloqueio @@ -1178,193 +1200,193 @@ trace - Above + Profiling messages Equalizadores - + Vinyl Control - + Controlo Vinilo - + Toggle vinyl-control cueing mode (OFF/ONE/HOT) Alternar modo de cue do controle por vinil (OFF/UM/QUENTE) - + Toggle vinyl-control mode (ABS/REL/CONST) Alternar modo de controle por vinil (CONST/ABS/REL) - + Pass through external audio into the internal mixer Atravessa o áudio externo no mixer interno - + Cues - + Pontos de marcação - + Cue button Botão de marca - + Set cue point Definir ponto cue - + Go to cue point Ir ao ponto cue - + Go to cue point and play Ir ao ponto cue e tocar - + Go to cue point and stop Ir ao ponto cue e parar - + Preview from cue point - + Antevisão a partir do ponto de marcação - + Cue button (CDJ mode) Botão Cue (modo CDJ) - + Stutter cue - + Marcação Stutter - + Hotcues - + Hotcues - + Set, preview from or jump to hotcue %1 Definir, escutar de ou pular ao hotcue %1 - + Clear hotcue %1 Apagar hotcue %1 - + Set hotcue %1 - + Definir a Hot Cue %1 - + Jump to hotcue %1 Pular para hotcue %1 - + Jump to hotcue %1 and stop Pular para hotcue %1 e parar - + Jump to hotcue %1 and play Pular para hotcue %1 e jogar - + Preview from hotcue %1 - + Antevisão a partir da Hot Cue %1 - - + + Hotcue %1 - + Hot Cue %1 - + Looping Looping - + Loop In button Botão de entrada em Loop - + Loop Out button - + Tecla de Final de Loop - + Loop Exit button - + Botão de saída de ciclo - + 1/2 1/2 - + 1 1 - + 2 2 - + 4 4 - + 8 8 - + 16 16 - + 32 32 - + 64 64 - + Move loop forward by %1 beats Mover o loop para frente %1 batidas - + Move loop backward by %1 beats Mover o loop para atrás %1 batidas - + Create %1-beat loop - + Criar um loop de %1-batidas - + Create temporary %1-beat loop roll Criar loop temporário de %1 batidas @@ -1376,27 +1398,27 @@ trace - Above + Profiling messages Slot %1 - + Compartimento %1 Headphone Mix - + Mistura do auscultador Headphone Split Cue - + Escuta Dividida no Auscultador Headphone Delay - + Atraso Auscultador Play - + Tocar @@ -1480,27 +1502,27 @@ trace - Above + Profiling messages - - + + Volume Fader Fader de Volume - + Full Volume Volume Máximo - + Zero Volume - + Volume Zero Track Gain - + Ganho da Faixa @@ -1509,9 +1531,9 @@ trace - Above + Profiling messages - + Mute - + Mutar @@ -1520,48 +1542,48 @@ trace - Above + Profiling messages - + Headphone Listen - + Escuta de Auscultador Headphone listen (pfl) button - + Botão de escuta de auscultador (PFL) Repeat Mode - + Modo Repetir Slip Mode - + Modo Escorregar - + Orientation Orientação - + Orient Left - + Orientar Esquerda - + Orient Center - + Orientar Centro - + Orient Right - + Orientação à Direita @@ -1586,12 +1608,12 @@ trace - Above + Profiling messages BPM Tap - + Bater BPM Adjust Beatgrid Faster +.01 - + Ajustar Grelha de Batidas Mais Rápido +.01 @@ -1611,7 +1633,7 @@ trace - Above + Profiling messages Move Beatgrid Earlier - + Mover Grelha de Batidas Cedo @@ -1621,7 +1643,7 @@ trace - Above + Profiling messages Move Beatgrid Later - + Mover Grelha de Batidas Tarde @@ -1629,82 +1651,82 @@ trace - Above + Profiling messages Move a grade de batidas à direita - + Adjust Beatgrid - + Ajustar a grelha ritmica - + Align beatgrid to current position Alinhar a grade de batidas à posição atual - + Adjust Beatgrid - Match Alignment Ajustar a Grade de Batidas - Combinar Alinhamento - + Adjust beatgrid to match another playing deck. - + Ajusta a grelha de batidas para corresponder um outro leitor em reprodução. - + Quantize Mode - + Modo Quantização - + Sync - + Sincronizar - + Beat Sync One-Shot Sincronizar a Batida De Uma Vez - + Sync Tempo One-Shot Sincronizar o Tempo De Uma Vez - + Sync Phase One-Shot Sincronizar a Fase De Uma Vez - + Pitch control (does not affect tempo), center is original pitch Controle do pitch (não afeta o tempo), o centro é o pitch original - + Pitch Adjust Ajustar o Pitch - + Adjust pitch from speed slider pitch Ajusta o pitch do deslizante de velocidade pitch - + Match musical key Igualar tom musical - + Match Key Igualar Tom - + Reset Key Redefinir o Tom - + Resets key to original Redefine o tom para o original @@ -1745,451 +1767,451 @@ trace - Above + Profiling messages EQ de Graves - + Toggle Vinyl Control Ligar/Desligar o Controle por Vinil - + Toggle Vinyl Control (ON/OFF) Alternar o Controle por Vinil (Ligado/Desligado) - + Vinyl Control Mode Modo de Controle por Vinil - + Vinyl Control Cueing Mode Modo de Cue do Controle por Vinil - + Vinyl Control Passthrough Repasse do Controle por Vinil - + Vinyl Control Next Deck Próximo Deck do Controle por Vinil - + Single deck mode - Switch vinyl control to next deck Modo de deck único - Mudar o controle por vinil para o próximo deck - + Cue Cue - + Set Cue Definir Cue - + Go-To Cue Ir Para Cue - + Go-To Cue And Play Ir Para Cue e Tocar - + Go-To Cue And Stop Ir Para Cue e Parar - + Preview Cue Escutar Cue - + Cue (CDJ Mode) - + Cue (Modo CDJ) - + Stutter Cue - + Marcação Stutter - + Go to cue point and play after release Avança até ao Cue Point e toca a faixa após largar o botão. - + Clear Hotcue %1 Limpar Hotcue %1 - + Set Hotcue %1 Definir Hotcue %1 - + Jump To Hotcue %1 Pular Para Hotcue %1 - + Jump To Hotcue %1 And Stop Pular Para Hotcue %1 e Parar - + Jump To Hotcue %1 And Play Pular Para Hotcue %1 e Tocar - + Preview Hotcue %1 Escutar Hotcue %1 - + Loop In Entrada do Loop - + Loop Out Saída do Loop - + Loop Exit - + Saída do Loop - + Reloop/Exit Loop Reloopar/Sair do Loop - + Loop Halve Divide o Loop pela Metade - + Loop Double Dobrar o Loop - + 1/32 1/32 - + 1/16 1/16 - + 1/8 1/8 - + 1/4 1/4 - + Move Loop +%1 Beats Mover o Loop +%1 Batidas - + Move Loop -%1 Beats Mover o Loop -%1 Batidas - + Loop %1 Beats Loopar %1 Batidas - + Loop Roll %1 Beats Loopar Temporariamente %1 Batidas - + Add to Auto DJ Queue (bottom) Adicionar à fila do Auto DJ (embaixo) - + Append the selected track to the Auto DJ Queue - + Coloca a faixa selecionada no final da fila Auto DJ - + Add to Auto DJ Queue (top) Adicionar à Fila do Auto DJ (em cima) - + Prepend selected track to the Auto DJ Queue Adicionar a faixa selecionada no começo da fila do Auto DJ - + Load Track Carregar Faixa - + Load selected track Carregar faixa selecionada - + Load selected track and play Carregar faixa selecionada e tocar - - + + Record Mix Gravar Mixagem - + Toggle mix recording Ligar/Desligar gravação da mixagem - + Effects Efeitos - + Quick Effects Efeitos Rápidos - + Deck %1 Quick Effect Super Knob Super Botão de Efeito Rápido do Deck %1 - + Quick Effect Super Knob (control linked effect parameters) Super Botão de Efeito Rápido (controla parâmetros de efeito ligados) - - + + Quick Effect Efeito Rápido - + Clear Unit Limpar Unidade - + Clear effect unit Limpar unidade de efeitos - + Toggle Unit Ligar/Desligar Unidade - + Dry/Wet Seco/Molhado - + Adjust the balance between the original (dry) and processed (wet) signal. Define o balançoentre o sinal original (seco) e o processado (molhado). - + Super Knob Super Botão - + Next Chain Próxima Corrente - + Assign Atribuir - + Clear Limpar - + Clear the current effect Limpar o efeito atual - + Toggle Ligar/Desligar - + Toggle the current effect Ligar/Desligar o efeito atual - + Next Próximo - + Switch to next effect Muda para o próximo efeito - + Previous Anterior - + Switch to the previous effect Trocar para o efeito anterior - + Next or Previous - + Próximo ou Anterior - + Switch to either next or previous effect Muda para o efeito seguinte ou anterior - - + + Parameter Value Valor do Parâmetro - - + + Microphone Ducking Strength Força da Redução de Música do Microfone - + Microphone Ducking Mode Modo de Redução de Música do Microfone - + Gain Ganho - + Gain knob Botão de ganho - + Shuffle the content of the Auto DJ queue Reproduzir aleatoriamente o conteúdo da fila Auto DJ - + Skip the next track in the Auto DJ queue Pular a próxima faixa na fila do Auto DJ - + Auto DJ Toggle Ligar/Desligar Auto DJ - + Toggle Auto DJ On/Off Ligar/Desligar Auto DJ - + Show/hide the microphone & auxiliary section - + 4 Effect Units Show/Hide - + Switches between showing 2 and 4 effect units - + Mixer Show/Hide - + Show or hide the mixer. Mostra ou oculta o mixer. - + Cover Art Show/Hide (Library) - + Show/hide cover art in the library - + Library Maximize/Restore Maximizar/Restaurar Biblioteca - + Maximize the track library to take up all the available screen space. Maximiza a biblioteca de faixas para ocupar todo o espaço de tela disponível. - + Effect Rack Show/Hide Mostrar/Ocultar Prateleira de Efeitos - + Show/hide the effect rack Mostra/Oculta a prateleira de efeitos - + Waveform Zoom Out Afastar Ondas @@ -2204,102 +2226,102 @@ trace - Above + Profiling messages Ganho do fone - + Tap to sync tempo (and phase with quantize enabled), hold to enable permanent sync Toque para sincronizar o tempo (e fase com a quantização ativada), segure para ativar a sincronização permanente - + One-time beat sync tempo (and phase with quantize enabled) Tempo de sincronização de batida única (e fase com quantização ativada) - + Playback Speed Velocidade da Reprodução - + Playback speed control (Vinyl "Pitch" slider) Controle da velocidade da reprodução (Deslizante de "Pitch" do Vinil) - + Pitch (Musical key) Pitch (Tom musical) - + Increase Speed Aumentar a Velocidade - + Adjust speed faster (coarse) Aumentar a velocidade (grosso) - + Increase Speed (Fine) Aumentar a Velocidade (Fino) - + Adjust speed faster (fine) Aumentar a velocidade (fino) - + Decrease Speed Diminuir a Velocidade - + Adjust speed slower (coarse) Diminuir a velocidade (grosso) - + Adjust speed slower (fine) Diminuir a velocidade (fino) - + Temporarily Increase Speed Temporariamente Aumentar a Velocidade - + Temporarily increase speed (coarse) Temporariamente aumentar a velocidade (grosso) - + Temporarily Increase Speed (Fine) Temporariamente Aumentar a Velocidade (Fino) - + Temporarily increase speed (fine) Temporariamente aumentar a velocidade (fino) - + Temporarily Decrease Speed Temporariamente Diminuir a Velocidade - + Temporarily decrease speed (coarse) Temporariamente diminuir a velocidade (grosso) - + Temporarily Decrease Speed (Fine) Temporariamente Diminuir a Velocidade (Fino) - + Temporarily decrease speed (fine) Temporariamente diminuir a velocidade (fino) @@ -2322,7 +2344,7 @@ trace - Above + Profiling messages Skin - + Skin @@ -2451,1053 +2473,1063 @@ trace - Above + Profiling messages - - + + Move Beatgrid Half a Beat + + + + + Adjust the beatgrid by exactly one half beat. Usable only for tracks with constant tempo. + + + + + Toggle the BPM/beatgrid lock - + Revert last BPM/Beatgrid Change - + Revert last BPM/Beatgrid Change of the loaded track. - + Sync / Sync Lock - + Internal Sync Leader - + Toggle Internal Sync Leader - - + + Internal Leader BPM - + Internal Leader BPM +1 - + Increase internal Leader BPM by 1 - + Internal Leader BPM -1 - + Decrease internal Leader BPM by 1 - + Internal Leader BPM +0.1 - + Increase internal Leader BPM by 0.1 - + Internal Leader BPM -0.1 - + Decrease internal Leader BPM by 0.1 - + Sync Leader - + Sync mode 3-state toggle / indicator (Off, Soft Leader, Explicit Leader) - + Speed - + Velocidade - + Decrease Speed (Fine) Diminuir velocidade (Fino) - + Pitch (Musical Key) Pitch (Tom musical) - + Increase Pitch - + Increases the pitch by one semitone - + Increase Pitch (Fine) - + Increases the pitch by 10 cents - + Decrease Pitch - + Decreases the pitch by one semitone - + Decrease Pitch (Fine) - + Decreases the pitch by 10 cents - + Keylock Trava de Tom - + CUP (Cue + Play) CUP (Cue + Play, ou seja Cue + Toca a faixa) - + Shift cue points earlier - + Shift cue points 10 milliseconds earlier - + Shift cue points earlier (fine) - + Shift cue points 1 millisecond earlier - + Shift cue points later - + Shift cue points 10 milliseconds later - + Shift cue points later (fine) - + Shift cue points 1 millisecond later - - + + Sort hotcues by position - - + + Sort hotcues by position (remove offsets) - + Hotcues %1-%2 - + Intro / Outro Markers - + Intro Start Marker - + Intro End Marker - + Outro Start Marker - + Outro End Marker - + intro start marker - + intro end marker - + outro start marker - + outro end marker - + Activate %1 [intro/outro marker - + Jump to or set the %1 [intro/outro marker - + Set %1 [intro/outro marker - + Set or jump to the %1 [intro/outro marker - + Clear %1 [intro/outro marker - + Clear the %1 [intro/outro marker - + if the track has no beats the unit is seconds - + Loop Selected Beats Loop de Batidas Selecionadas - + Create a beat loop of selected beat size Criar um loop de batida do tamanho de batida selecionada - + Loop Roll Selected Beats Batidas Selecionadas da Lista de Loop - + Create a rolling beat loop of selected beat size Crie um loop de batida contínua do tamanho de batida selecionada - + Loop %1 Beats set from its end point - + Loop Roll %1 Beats set from its end point - + Create %1-beat loop with the current play position as loop end - + Create temporary %1-beat loop roll with the current play position as loop end - + Loop Beats - + Loop Roll Beats - + Go To Loop In Ir para Loop In - + Go to Loop In button Botão de Ir para o Início do Loop - + Go To Loop Out Ir para o Fim do Loop - + Go to Loop Out button Botão de Ir para o Fim do Loop - + Toggle loop on/off and jump to Loop In point if loop is behind play position Ative/desative a alternância do loop e pule para o ponto Loop In se o loop estiver atrás da posição de reprodução - + Reloop And Stop - + Reloop e Parar - + Enable loop, jump to Loop In point, and stop Ative o loop, pule para o ponto Loop In e pare - + Halve the loop length Reduzir o loop pela metade - + Double the loop length Dobrar o tamanho do loop atual - + Beat Jump / Loop Move Pular batidas e mover loops - + Jump / Move Loop Forward %1 Beats Mover o loop para frente %1 batidas - + Jump / Move Loop Backward %1 Beats Mover o loop para atrás %1 batidas - + Jump forward by %1 beats, or if a loop is enabled, move the loop forward %1 beats - + Saltar para a frente %1 batidas, ou se o loop estiver ativado, mover o loop para a frente %1 batidas - + Jump backward by %1 beats, or if a loop is enabled, move the loop backward %1 beats - + Saltar para trás %1 batidas, ou se o loop estiver ativado, mover o loop para trás %1 batidas - + Beat Jump / Loop Move Forward Selected Beats - + Saltar Batidas / Mover Loop Frente Batidas Selecionadas - + Jump forward by the selected number of beats, or if a loop is enabled, move the loop forward by the selected number of beats - + Saltar para a frente do número de batidas selecionadas, ou se o loop estiver ativado, mover o loop para a frente o número de batidas selecionadas - + Beat Jump / Loop Move Backward Selected Beats - + Saltar Batida / Mover Loop Atraso Batidas Selecionadas - + Jump backward by the selected number of beats, or if a loop is enabled, move the loop backward by the selected number of beats - + Saltar para trás o número de batidas selecionadas, ou se o loop estiver ativado, mover o loop para trás o número de batidas selecionadas - + Beat Jump - + Indicate which loop marker remain static when adjusting the size or is inherited from the current position - + Beat Jump / Loop Move Forward - + Beat Jump / Loop Move Backward - + Loop Move Forward - + Loop Move Backward - + Remove Temporary Loop - + Remove the temporary loop - + Navigation Navegação - + Move up Mover acima - + Equivalent to pressing the UP key on the keyboard Equivalente a pressionar a SETA ACIMA no teclado - + Move down Mover abaixo - + Equivalent to pressing the DOWN key on the keyboard Equivalente a pressionar a SETA ABAIXO no teclado - + Move up/down Mover acima/abaixo - + Move vertically in either direction using a knob, as if pressing UP/DOWN keys Move verticalmente em uma das direções usando um botão, como se pressionasse as teclas ACIMA/ABAIXO - + Scroll Up Rolar acima - + Equivalent to pressing the PAGE UP key on the keyboard Equivalente a pressionar a tecla PAGE UP no teclado - + Scroll Down Rolar abaixo - + Equivalent to pressing the PAGE DOWN key on the keyboard Equivalente a pressionar a tecla PAGE DOWN no teclado - + Scroll up/down Rolar acima/abaixo - + Scroll vertically in either direction using a knob, as if pressing PGUP/PGDOWN keys Rolar verticalmente em uma das direções usando um botão, como se pressionasse as teclas PAGE UP/PAGE DOWN - + Move left Mover à esquerda - + Equivalent to pressing the LEFT key on the keyboard Equivalente a pressionar a SETA À ESQUERDA no teclado - + Move right Mover à direita - + Equivalent to pressing the RIGHT key on the keyboard Equivalente a pressionar a SETA À DIREITA no teclado - + Move left/right Mover à esquerda/direita - + Move horizontally in either direction using a knob, as if pressing LEFT/RIGHT keys Mova horizontalmente em uma das direções usando um botão, como ao pressionar as teclas ESQUERDA/DIREITA - + Move focus to right pane Move o foco ao painel da direita - + Equivalent to pressing the TAB key on the keyboard Equivalente a pressionar a tecla TAB no teclado - + Move focus to left pane Move o foco ao painel da esquerda - + Equivalent to pressing the SHIFT+TAB key on the keyboard Equivalente a pressionar SHIFT+TAB no teclado - + Move focus to right/left pane Move o foco ao painel da direita/esquerda - + Move focus one pane to right or left using a knob, as if pressing TAB/SHIFT+TAB keys Move o foco um painel à direita ou esquerda usando um botão, como se pressionasse TAB/SHIFT-TAB - + Sort focused column - + Sort the column of the cell that is currently focused, equivalent to clicking on its header - + Go to the currently selected item - + Ir para o item seleccionado correntemente - + Choose the currently selected item and advance forward one pane if appropriate - + Escolher o item seleccionado correntemente e avançar um para a frente - + Load Track and Play - + Add to Auto DJ Queue (replace) - + Adicionar à Fila Auto DJ (Substituir) - + Replace Auto DJ Queue with selected tracks - + Substituir Fila Auto DJ com as faixas selecionadas - + Select next search history - + Selects the next search history entry - + Select previous search history - + Selects the previous search history entry - + Move selected search entry - + Moves the selected search history item into given direction and steps - + Clear search - + Clears the search query - - + + Select Next Color Available - + Select the next color in the color palette for the first selected track - - + + Select Previous Color Available - + Select the previous color in the color palette for the first selected track - + Deck %1 Quick Effect Enable Button - + Botão de Ativar Efeito Rápido no Leitor %1 - + Quick Effect Enable Button - + Botão de Ativar Efeito Rápido - + Enable or disable effect processing Ativar ou desativar processamento de efeitos - + Super Knob (control effects' Meta Knobs) - + Super Botão (controla os efeitos dos Meta Botões) - + Mix Mode Toggle - + Alternar Modo Mistura - + Toggle effect unit between D/W and D+W modes - + Alternar unidade de efeito entre os modos S/M e S+M - + Next chain preset Próxima prédefinição de corrente - + Previous Chain Corrente Anterior - + Previous chain preset Prédefinição de corrente anterior - + Next/Previous Chain Corrente Seguinte/Anterior - + Next or previous chain preset Prédefinição da corrente seguinte ou anterior - - + + Show Effect Parameters Mostrar Parâmetros do Efeito - + Effect Unit Assignment - + Meta Knob Botão Meta - + Effect Meta Knob (control linked effect parameters) - + Meta Botão Efeitos (controla os parâmetros dos efeitos a que está ligado) - + Meta Knob Mode - + Modo Meta Botão - + Set how linked effect parameters change when turning the Meta Knob. - + Define como mudam os efeitos a que está ligado, quando se roda o Meta Botão. - + Meta Knob Mode Invert - + Inverter Modo Meta Botão - + Invert how linked effect parameters change when turning the Meta Knob. - + Inverter como mudam os efeitos a que está ligado, quando se roda o Meta Botão. - - + + Button Parameter Value - + Microphone / Auxiliary Microfone / Auxiliar - + Microphone On/Off Ligar/Desligar Microfone - + Microphone on/off Microfone ligado/desligado - + Toggle microphone ducking mode (OFF, AUTO, MANUAL) Alternar entre modos de redução de música do microfone (DESLIGADO, AUTOMÁTICO, MANUAL) - + Auxiliary On/Off Ligar/Desligar Auxiliar - + Auxiliary on/off Ligar/Desligar Auxiliar - + Auto DJ Auto DJ - + Auto DJ Shuffle Embaralhar o Auto DJ - + Auto DJ Skip Next Pular a Próxima no Auto DJ - + Auto DJ Add Random Track - + Add a random track to the Auto DJ queue - + Auto DJ Fade To Next Trocar Para a Próxima no Auto DJ - + Trigger the transition to the next track Inicia a transição para a próxima música - + User Interface Interface do Usuário - + Samplers Show/Hide Mostrar/Ocultar Samplers - + Show/hide the sampler section Mostrar/Ocultar a seção dos samplers - + Microphone && Auxiliary Show/Hide keep double & to prevent creation of keyboard accelerator - + Waveform Zoom Reset To Default - + Reset the waveform zoom level to the default value selected in Preferences -> Waveforms - + Select the next color in the color palette for the loaded track. - + Select previous color in the color palette for the loaded track. - + Navigate Through Track Colors - + Select either next or previous color in the palette for the loaded track. - + Start/Stop Live Broadcasting - + Stream your mix over the Internet. Transmite sua mixagem pela Internet. - + Start/stop recording your mix. - - + + Samplers - + Vinyl Control Show/Hide Mostrar/Ocultar Controle por Vinil - + Show/hide the vinyl control section Mostrar/Ocultar a seção controle por vinil - + Preview Deck Show/Hide Mostrar/Ocultar Deck de Pré-escuta - + Show/hide the preview deck Mostrar/Ocultar o deck de pré-escuta - + Toggle 4 Decks Ligar/Desligar 4 Decks - + Switches between showing 2 decks and 4 decks. Troca entre a visualização de 2 decks e 4 decks. - + Cover Art Show/Hide (Decks) - + Show/hide cover art in the main decks - + Vinyl Spinner Show/Hide Mostrar/Ocultar Vinil Giratório - + Show/hide spinning vinyl widget Mostrar/Ocultar a janela do vinil giratório - + Vinyl Spinners Show/Hide (All Decks) - + Show/Hide all spinnies - + Toggle Waveforms - + Show/hide the scrolling waveforms. - + Mostrar/esconder as ondas. - + Waveform zoom Aproximação das ondas - + Waveform Zoom Aproximação das Ondas - + Zoom waveform in Aproximar ondas - + Waveform Zoom In Aproximar Ondas - + Zoom waveform out - + Reduzir a forma de onda - + Star Rating Up - + Increase the track rating by one star - + Star Rating Down - + Decrease the track rating by one star @@ -3515,7 +3547,7 @@ trace - Above + Profiling messages Channel - + Canal @@ -3612,32 +3644,32 @@ trace - Above + Profiling messages ControllerScriptEngineBase - + The functionality provided by this controller mapping will be disabled until the issue has been resolved. - + You can ignore this error for this session but you may experience erratic behavior. - + Try to recover by resetting your controller. Tente recuperar reiniciando seu controlador. - + Controller Mapping Error - + The mapping for your controller "%1" is not working properly. - + The script code needs to be fixed. O código do script precisa ser corrigido. @@ -3745,7 +3777,7 @@ trace - Above + Profiling messages Importar Caixa - + Export Crate Exportar Caixa @@ -3755,7 +3787,7 @@ trace - Above + Profiling messages Destravar - + An unknown error occurred while creating crate: Ocorreu um erro desconhecido durante a criação do caixa: @@ -3764,12 +3796,6 @@ trace - Above + Profiling messages Rename Crate Renomear Caixa - - - - Export to Engine Prime - - Make a crate for your next gig, for your favorite electrohouse tracks, or for your most requested tracks. @@ -3787,17 +3813,17 @@ trace - Above + Profiling messages Falha ao Renomear Caixa - + Crate Creation Failed Criação da Caixa Falhou - + M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Text CSV (*.csv);;Readable Text (*.txt) Lista de Reprodução M3U (*.m3u);;Lista de Reprodução M3U8 (*.m3u8);;Lista de Reprodução PLS (*.pls);;Texto CSV (*.csv);;Texto (*.txt) - + M3U Playlist (*.m3u) Lista de Reprodução M3U (*.m3u) @@ -3806,6 +3832,12 @@ trace - Above + Profiling messages Crates are a great way to help organize the music you want to DJ with. Uma ótima maneira para ajudar você a organizar as músicas que você quer tocar é a de colocar elas em caixas. + + + + Export to Engine DJ + + Crates let you organize your music however you'd like! @@ -3917,12 +3949,12 @@ trace - Above + Profiling messages Contribuidores Anteriores - + Official Website - + Donate @@ -3970,7 +4002,7 @@ trace - Above + Profiling messages License - + Licença @@ -4098,7 +4130,7 @@ Shortcut: Shift+F9 Determines the duration of the transition - + Determina a duração da transição. @@ -4194,7 +4226,7 @@ crossfader, so that the intro starts at full volume. Displays the duration and number of selected tracks. - + Mostra a duração e número de faixas selecionadas. @@ -4213,7 +4245,8 @@ crossfader, so that the intro starts at full volume. Adds a random track from track sources (crates) to the Auto DJ queue. If no track sources are configured, the track is added from the library instead. - + Adiciona uma faixa aleatoriamente das fontes de faixas (caixas) à fila Auto DJ. +Se não estão configuradas fontes de faixas, então a faixa é adicionada da biblioteca. @@ -4256,7 +4289,9 @@ This can speed up beat detection on slower computers but may result in lower qua Converts beats detected by the analyzer into a fixed-tempo beatgrid. Use this setting if your tracks have a constant tempo (e.g. most electronic music). Often results in higher quality beatgrids, but will not do well on tracks that have tempo shifts. - + Converte batidas detectada pelo analisador em uma grade de batidas de tempo fixo. +Use esta configuração se suas faixas tem um tempo constante (como a maioria das músicas eletrônicas). +Frequentemente resulta em grades de batida de melhor qualidade, e não funciona direito em faixas que tem mudanças de tempo. @@ -4434,42 +4469,45 @@ Often results in higher quality beatgrids, but will not do well on tracks that h Se o mapeamento não está funcionando, tente ativar uma opção avançada abaixo e tente o controle de novo. Ou clique Tentar de Novo para redetectar o controle MIDI. - + Didn't get any midi messages. Please try again. Não recebi nenhuma mensagem MIDI. Por favor tente de novo. - + Unable to detect a mapping -- please try again. Be sure to only touch one control at once. Não foi possível detectar o mapeamento -- por favor tente de novo. Esteja certo de mexer apenas um controle de cada vez. - + Successfully mapped control: Controle mapeado com sucesso: - + <i>Ready to learn %1</i> <i>Pronto para aprender %1</i> - + Learning: %1. Now move a control on your controller. Aprendendo: %1. Agora mova o controle em seu controlador. - + The selected control does not exist.<br>This likely a bug. Please report it on the Mixxx bug tracker.<br><a href='https://github.com/mixxxdj/mixxx/issues'>https://github.com/mixxxdj/mixxx/issues</a><br><br>You tried to learn: %1,%2 - + The control you clicked in Mixxx is not learnable. This could be because you are either using an old skin and this control is no longer supported, or you clicked a control that provides visual feedback and can only be mapped to outputs like LEDs via scripts. You tried to learn: %1,%2 - + O controle que você clicou no Mixxx não pode ser mapeado. +Isso pode ser porque você está usando um tema antigo e esse controle não é mais suportado, ou você clicou em um controle que provê feedback visual e só pode ser mapeado em saídas como LEDs por meio de scripts. + +Você tentou mapear: %1,%2 @@ -4503,17 +4541,17 @@ You tried to learn: %1,%2 Despeja para csv - + Log Log - + Search Pesquisa - + Stats Dados @@ -4779,28 +4817,28 @@ You tried to learn: %1,%2 You can't create more than %1 source connections. - + Não pode criar mais de %1 ligações fonte. Source connection %1 - + Ligação fonte %1 At least one source connection is required. - + É necessária pelo menos uma ligação fonte. Are you sure you want to disconnect every active source connection? - + Tem a certeza que quer desligar todas as ligações fonte ativas? Confirmation required - + Confirmação necessária @@ -4811,7 +4849,7 @@ Two source connections to the same server that have the same mountpoint can not Are you sure you want to delete '%1'? - + Tem a certeza que quer apagar '%1'? @@ -4821,12 +4859,12 @@ Two source connections to the same server that have the same mountpoint can not New name for '%1': - + Novo nome para '%1': Can't rename '%1' to '%2': name already in use - + Não pode renomear '%1' para '%2': nome já em uso @@ -4864,37 +4902,37 @@ Two source connections to the same server that have the same mountpoint can not Live Broadcasting source connections - + Conexões para Transmissão Ao Vivo Delete selected - + Apagar selecionadas Create new connection - + Criar nova ligação Rename selected - + Renomear selecionadas Disconnect all - + Desligar todas Turn on Live Broadcasting when applying these settings - + Iniciar transmissão ao vivo quando aplicar estas configurações Settings for %1 - + Definições para %1 @@ -4909,7 +4947,7 @@ Two source connections to the same server that have the same mountpoint can not AIM - + AIM @@ -4929,12 +4967,12 @@ Two source connections to the same server that have the same mountpoint can not Select a source connection above to edit its settings here - + Selecionar uma ligação fonte acima para editar as suas definições aqui Password storage - + Armazenamento Palavra Passe @@ -4944,7 +4982,7 @@ Two source connections to the same server that have the same mountpoint can not Secure storage (OS keychain) - + Armazenamento seguro (Porta chaves do SO) @@ -4995,12 +5033,12 @@ Two source connections to the same server that have the same mountpoint can not Host - + Host Login - + Login @@ -5100,7 +5138,7 @@ Two source connections to the same server that have the same mountpoint can not By hotcue number - + Por número do hotcue @@ -5134,7 +5172,7 @@ Two source connections to the same server that have the same mountpoint can not Hotcue palette - + Paleta de hotcue @@ -5166,114 +5204,114 @@ associated with each key. DlgPrefController - + Apply device settings? Aplicar configurações dos dispositivos? - + Your settings must be applied before starting the learning wizard. Apply settings and continue? Suas configurações devem ser aplicadas antes de começar o assistente de configuração. Aplicar as configurações e continuar? - + None Nenhuma - + %1 by %2 %1 por %2 - + Mapping has been edited - + Always overwrite during this session - + Save As - + Overwrite - + Save user mapping - + Enter the name for saving the mapping to the user folder. - + Saving mapping failed - + A mapping cannot have a blank name and may not contain special characters. - + A mapping file with that name already exists. - + Do you want to save the changes? - + Troubleshooting Solução de Problemas - + <font color='#BB0000'><b>If you use this mapping your controller may not work correctly. Please select another mapping or disable the controller.</b></font><br><br>This mapping was designed for a newer Mixxx Controller Engine and cannot be used on your current Mixxx installation.<br>Your Mixxx installation has Controller Engine version %1. This mapping requires a Controller Engine version >= %2.<br><br>For more information visit the wiki page on <a href='https://mixxx.org/wiki/doku.php/controller_engine_versions'>Controller Engine Versions</a>. - + Mapping already exists. - + <b>%1</b> already exists in user mapping folder.<br>Overwrite or save with a new name? - + Clear Input Mappings Limpar Mapeamentos de Entrada - + Are you sure you want to clear all input mappings? Tem certeza de que deseja limpar todos os mapeamentos de entrada? - + Clear Output Mappings Limpar Mapeamentos de Saída - + Are you sure you want to clear all output mappings? Tem certeza de que deseja limpar todos os mapeamentos de saída? @@ -5291,100 +5329,100 @@ Aplicar as configurações e continuar? Ativada - + Device Info - + Physical Interface: - + Vendor name: - + Product name: - + Vendor ID - + VID: - + Product ID - + PID: - + Serial number: - + USB interface number: - + HID Usage-Page: - + HID Usage: - + Description: Descrição: - + Support: Compatível: - + Screens preview - + Input Mappings Mapeamento de Entrada - - + + Search Pesquisa - - + + Add Adicionar - - + + Remove Remover @@ -5404,17 +5442,17 @@ Aplicar as configurações e continuar? - + Mapping Info - + Author: - + Autor: - + Name: Nome: @@ -5424,28 +5462,28 @@ Aplicar as configurações e continuar? Assistente de Configuração (Somente MIDI) - + Data protocol: - + Mapping Files: - + Mapping Settings - - + + Clear All Limpar Tudo - + Output Mappings Mapeamento de Saída @@ -5532,7 +5570,7 @@ Aplicar as configurações e continuar? Skin - + Skin @@ -5604,6 +5642,16 @@ Aplicar as configurações e continuar? Multi-Sampling + + + Force 3D acceleration + + + + + If checked, Mixxx will always assume 3D acceleration is available. This may lead to pour performance if only CP-backed rendering is available.. + + Start in full-screen mode @@ -5773,7 +5821,7 @@ Aplicar as configurações e continuar? Deck Preferences - + Preferências Leitor @@ -5850,7 +5898,7 @@ Modo CUP: Time Format - + Formato de tempo @@ -5864,7 +5912,11 @@ it will place it at the main cue point if the main cue point has been set previo This may be helpful for upgrading to Mixxx 2.3 from earlier versions. If this option is disabled, the intro start point is automatically placed at the first sound. - + Quando o analisador coloca automaticamente o ponto de início da introdução, +ele coloca-o no ponto de referência principal se o ponto de referência principal tiver sido definido anteriormente. +Isso pode ser útil para atualizar para o Mixxx 2.3 de versões anteriores. + +Se essa opção estiver desativada, o ponto de início da introdução é colocado automaticamente no primeiro som. @@ -5874,7 +5926,7 @@ If this option is disabled, the intro start point is automatically placed at the Track load point - + Ponto de carga de rastreamento @@ -5895,7 +5947,7 @@ You can always drag-and-drop tracks on screen to clone a deck. Double-press Load button to clone playing track - + Pressione Carregar duas vezes para clonar uma faixa que está tocando @@ -6173,12 +6225,12 @@ You can always drag-and-drop tracks on screen to clone a deck. Keep metaknob position - + Manter posição do metabotão Reset metaknob to effect default - + Reinicia metabotão para efeito padrão @@ -6214,62 +6266,62 @@ You can always drag-and-drop tracks on screen to clone a deck. DlgPrefInterface - + The minimum size of the selected skin is bigger than your screen resolution. O tamanho mínimo da skin selecionada é maior do que a sua resolução de tela. - + Allow screensaver to run Permitir que o protetor de tela execute - + Prevent screensaver from running Prevenir que o protetor de tela execute - + Prevent screensaver while playing Prevenir o protetor de tela quando tocando - + Disabled - + 2x MSAA - + 4x MSAA - + 8x MSAA - + 16x MSAA - + This skin does not support color schemes Esta skin não suporta esquemas de cor - + Information Informação - + Mixxx must be restarted before the new locale, scaling or multi-sampling settings will take effect. @@ -6350,7 +6402,7 @@ and allows you to pitch adjust them for harmonic mixing. OpenKey - + OpenKey @@ -6782,12 +6834,12 @@ and allows you to pitch adjust them for harmonic mixing. Edit metadata after clicking selected track - + Editar metadados após clicar faixa seleccionada Search-as-you-type timeout: - + Tempo limite de procura ao escrever: @@ -6895,7 +6947,7 @@ and allows you to pitch adjust them for harmonic mixing. Scratching - + Scratching @@ -7213,7 +7265,7 @@ and allows you to pitch adjust them for harmonic mixing. Recordings directory invalid - + Diretório de gravações inválido @@ -7436,173 +7488,172 @@ The loudness target is approximate and assumes track pregain and main output lev DlgPrefSound - + %1 Hz %1 Hz - + Default (long delay) Padrão (atraso longo) - + Experimental (no delay) Experimental (sem atraso) - + Disabled (short delay) Desativada (atraso curto) - + Soundcard Clock Relógio da Placa de Som - + Network Clock - + Relógio da Rede - + Direct monitor (recording and broadcasting only) - + Monição direta (apenas gravação e emissão) - + Disabled Desativado - + Enabled Ativada - + Stereo Estéreo - + Mono Mono - + To enable Realtime scheduling (currently disabled), see the %1. - + The %1 lists sound cards and controllers you may want to consider for using Mixxx. - + Mixxx DJ Hardware Guide - + Information - + Mixxx must be restarted before the multi-threaded RubberBand setting change will take effect. - + auto (<= 1024 frames/period) auto (<= 1024 quadros/período) - + 2048 frames/period 2048 quadros/período - + 4096 frames/period 4096 quadros/período - + Are you sure? - + Distribute stereo channels into mono channels for parallel processing will result in a loss of mono compatibility and a diffuse stereo image. It is not recommended during broadcasting or recording. - + Are you sure you wish to proceed? - + No - + Yes, I know what I am doing - + Microphone inputs are out of time in the record & broadcast signal compared to what you hear. - + As entradas de microfone estão fora de tempo no sinal gravar e emitir comparado com o que ouve. - + Measure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. - + Medir a latência de ida e volta e introduza-a acima para Compensação da Latência do Microfone de maneira a alinhar o tempo do microfone. - - + Refer to the Mixxx User Manual for details. - + Consulte o Manual do Utilizador do Mixxx para detalhes. - + Configured latency has changed. - + A latência configurada foi alterada. - + Remeasure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. - + Volta a medir a latência de ida e volta e introduza-a acima para Compensação da Latência do Microfone de maneira a alinhar o tempo do microfone. - + Realtime scheduling is enabled. O agendamento em tempo real está ativado. - + Main output only - + Main and booth outputs - + %1 ms %1 ms - + Configuration error Erro de configuração @@ -7620,131 +7671,131 @@ The loudness target is approximate and assumes track pregain and main output lev API de Som - + Sample Rate Taxa de Amostragem - + Audio Buffer Buffer de Áudio - + Engine Clock - + Relógio Motor - + Use soundcard clock for live audience setups and lowest latency.<br>Use network clock for broadcasting without a live audience. - + Use o relógio da placa de som para montagens com audiência ao vivo e a menor latência.<br>Use o relógio de rede para emissões sem audiência ao vivo. - + Main Mix - + Main Output Mode - + Microphone Monitor Mode - + Modo Monição Microfone - + Microphone Latency Compensation - + Compensação da Latência do Microfone - - - - + + + + ms milliseconds ms - + 20 ms 20 ms - + Buffer Underflow Count Contagem de Esvaziamentos do Buffer - + 0 0 - + Keylock/Pitch-Bending Engine Mecanismo da Trava de Tom/Pitch-Bending - + Multi-Soundcard Synchronization Sincronização de Múltiplas Placas de Som - + Output Saída - + Input Entrada - + System Reported Latency Latência Relatada pelo Sistema - + Enlarge your audio buffer if the underflow counter is increasing or you hear pops during playback. Aumente o buffer de áudio se o contador de esvaziamentos aumentar ou se você ouvir estouros na reprodução. - + Main Output Delay - + Headphone Output Delay - + Booth Output Delay - + Dual-threaded Stereo - + Hints and Diagnostics Dicas e Diagnóstico - + Downsize your audio buffer to improve Mixxx's responsiveness. Diminua o buffer de áudio para melhorar a capacidade de resposta do Mixxx. - + Query Devices Buscar Dispositivos @@ -7813,7 +7864,7 @@ The loudness target is approximate and assumes track pregain and main output lev Vinyl Type - + Tipo do Vinil @@ -8052,7 +8103,8 @@ The loudness target is approximate and assumes track pregain and main output lev The waveform overview shows the waveform envelope of the entire track. Select from different types of displays for the waveform overview, which differ primarily in the level of detail shown in the waveform. - + A forma de onda mostra o envoltório da onda na faixa inteira. +Selecione entre tipos diferentes de visualizações da forma de onda, o que difere principalmente no nível de detalhe mostrado na forma de onda. @@ -8063,12 +8115,13 @@ Select from different types of displays for the waveform overview, which differ The waveform shows the waveform envelope of the track near the current playback position. Select from different types of displays for the waveform, which differ primarily in the level of detail shown in the waveform. - + A forma de onda mostra o envoltório da onda na faixa junto à posição corrente de leitura. +Selecione entre tipos diferentes de visualizações da forma de onda, o que difere principalmente no nível de detalhe mostrado na forma de onda. fps - + fps @@ -8138,7 +8191,7 @@ Select from different types of displays for the waveform, which differ primarily Beat grid opacity - + Opacidade da grelha de batidas @@ -8159,7 +8212,7 @@ Select from different types of displays for the waveform, which differ primarily Set amount of opacity on beat grid lines. - + Define a quantidade de opacidade das linhas da grelha de batida. @@ -8169,12 +8222,12 @@ Select from different types of displays for the waveform, which differ primarily Play marker position - + Marcador da posição de reprodução Moves the play marker position on the waveforms to the left, right or center (default). - + Move o marcador da posição de reprodução nas formas de onda para a esquerda, direita ou centro (padrão). @@ -8190,47 +8243,47 @@ Select from different types of displays for the waveform, which differ primarily DlgPreferences - + Sound Hardware - + Hardware de Som - + Controllers Controladores - + Library Biblioteca - + Interface Interface - + Waveforms Ondas - + Mixer - + Mixer - + Auto DJ - + Auto DJ - + Decks - + Leitores - + Colors @@ -8262,50 +8315,50 @@ Select from different types of displays for the waveform, which differ primarily &Ok Preferences standard buttons: consider the other buttons to choose a unique Alt hotkey (&) - + &Ok - + Effects Efeitos - + Recording Gravação - + Beat Detection Detecção de Batida - + Key Detection Detecção de Tom - + Normalization Normalização - + <font color='#BB0000'><b>Some preferences pages have errors. To apply the changes please first fix the issues.</b></font> - + Vinyl Control Controle por Vinil - + Live Broadcasting Transmissão Ao Vivo - + Modplug Decoder Decodificador do Modplug @@ -8326,7 +8379,7 @@ Select from different types of displays for the waveform, which differ primarily TextLabel - + TextLabel @@ -8390,7 +8443,7 @@ Select from different types of displays for the waveform, which differ primarily Current cue color - + Cor da pista atual @@ -8661,284 +8714,284 @@ This can not be undone! Resumo - + Filetype: Tipo de arquivo: - + BPM: BPM: - + Location: Localização: - + Bitrate: Taxa de bits: - + Comments Comentários - + BPM BPM - + Sets the BPM to 75% of the current value. Define o BPM para 75% do valor atual. - + 3/4 BPM 3/4 BPM - + Sets the BPM to 50% of the current value. Define o BPM para 50% do valor atual. - + Displays the BPM of the selected track. Exibe o BPM da faixa selecionada. - + Track # Faixa # - + Album Artist Artista do Álbum - + Composer Compositor - + Title Título - + Grouping Agrupamento - + Key Tom - + Year Ano - + Artist Artista - + Album Álbum - + Genre Gênero - + ReplayGain: ReplayGain: - + Sets the BPM to 200% of the current value. Define o BPM para 200% do valor atual. - + Double BPM Dobrar o BPM - + Halve BPM Diminuir o BPM pela metade - + Clear BPM and Beatgrid Limpar BPM e Grade de Batidas - + Move to the previous item. "Previous" button Mover para o item anterior. - + &Previous &Anterior - + Move to the next item. "Next" button Move para o próximo item. - + &Next &Próximo - + Duration: Duração: - + Import Metadata from MusicBrainz - + Importar Metadados de MusicBrainz - + Re-Import Metadata from file - + Color cor - + Date added: - + Open in File Browser Abrir no Navegador de Arquivos - + Samplerate: - + Track BPM: BPM da Faixa: - + Converts beats detected by the analyzer into a fixed-tempo beatgrid. Use this setting if your tracks have a constant tempo (e.g. most electronic music). Often results in higher quality beatgrids, but will not do well on tracks that have tempo shifts. - + Assume constant tempo Assumir tempo constante - + Sets the BPM to 66% of the current value. Define o BPM para 66% do valor atual. - + 2/3 BPM 2/3 BPM - + Sets the BPM to 150% of the current value. Define o BPM para 150% do valor atual. - + 3/2 BPM 3/2 BPM - + Sets the BPM to 133% of the current value. Define o BPM para 133% do valor atual. - + 4/3 BPM 4/3 BPM - + Tap with the beat to set the BPM to the speed you are tapping. Pressione de acordo com a batida para definir o BPM para velocidade que você está tocando. - + Tap to Beat Toque a Batida - + Hint: Use the Library Analyze view to run BPM detection. Dica: Use a seção Analise a Biblioteca para executar a detecção de BPM. - + Save changes and close the window. "OK" button Salva as alterações e fechar a janela. - + &OK &OK - + Discard changes and close the window. "Cancel" button Descartar as alterações e fechar a janela. - + Save changes and keep the window open. "Apply" button Salvar as alterações e deixar a janela aberta. - + &Apply &Aplicar - + &Cancel &Cancelar - + (no color) @@ -9095,7 +9148,7 @@ Often results in higher quality beatgrids, but will not do well on tracks that h - + (no color) @@ -9297,27 +9350,27 @@ Often results in higher quality beatgrids, but will not do well on tracks that h EngineBuffer - + Soundtouch (faster) Soundtouch (mais rápido) - + Rubberband (better) Rubberband (melhor) - + Rubberband R3 (near-hi-fi quality) - + Unknown, using Rubberband (better) - + Unknown, using Soundtouch @@ -9532,15 +9585,15 @@ Often results in higher quality beatgrids, but will not do well on tracks that h LegacySkinParser - - + + Safe Mode Enabled Shown when Mixxx is running in safe mode. Modo Seguro Ativado - - + + No OpenGL support. Shown when Spinny can not be displayed. Please keep @@ -9548,60 +9601,61 @@ support. ---------- Shown when VuMeter can not be displayed. Please keep unchanged - + Sem suporte +OpenGL - + activate ativar - + toggle alternar - + right direito - + left esquerdo - + right small direito pequeno - + left small esquerdo pequeno - + up acima - + down abaixo - + up small acima pequeno - + down small abaixo pequeno - + Shortcut Atalho @@ -9609,62 +9663,62 @@ Shown when VuMeter can not be displayed. Please keep Library - + This or a parent directory is already in your library. - + This or a listed directory does not exist or is inaccessible. Aborting the operation to avoid library inconsistencies - - + + This directory can not be read. - + An unknown error occurred. Aborting the operation to avoid library inconsistencies - + Can't add Directory to Library - + Could not add <b>%1</b> to your library. %2 - + Can't remove Directory from Library - + An unknown error occurred. - + This directory does not exist or is inaccessible. - + Relink Directory - + Could not relink <b>%1</b> to <b>%2</b>. %3 @@ -9674,22 +9728,22 @@ Aborting the operation to avoid library inconsistencies LibraryFeature - + Import Playlist Importar Lista de Reprodução - + Playlist Files (*.m3u *.m3u8 *.pls *.csv) Arquivos de Lista de Reprodução (*.m3u *.m3u8 *.pls *.csv) - + Overwrite File? - + A playlist file with the name "%1" already exists. The default "m3u" extension was added because none was specified. @@ -9736,27 +9790,27 @@ Do you really want to overwrite it? MidiController - + MixxxControl(s) not found MixxxControl(s) não encontrado(s) - + One or more MixxxControls specified in the outputs section of the loaded mapping were invalid. - + * Make sure the MixxxControls in question actually exist. Visit the manual for a complete list: - + Some LEDs or other feedback may not work correctly. Alguns LEDs ou outros retornos podem não funcionar corretamente. - + * Check to see that the MixxxControl names are spelled correctly in the mapping file (.xml) * Marcar para ver se os nomes dos MixxxControl estão escritos corretamente no arquivo de mapeamento (.xml) @@ -9816,18 +9870,18 @@ Do you really want to overwrite it? MixxxLibraryFeature - + Missing Tracks Faixas Faltando - + Hidden Tracks - + Músicas Ocultadas - Export to Engine Prime + Export to Engine DJ @@ -9839,210 +9893,251 @@ Do you really want to overwrite it? MixxxMainWindow - + Sound Device Busy Dispositivo de Som Ocupado - + <b>Retry</b> after closing the other application or reconnecting a sound device <b>Tentar novamente</b> após fechar a outra aplicação ou reconectar um dispositivo de som - - - + + + <b>Reconfigure</b> Mixxx's sound device settings. <b>Reconfigurar</b> as configurações de dispositivos de som do Mixxx. - - + + Get <b>Help</b> from the Mixxx Wiki. Obter <b>Ajuda</b> na Wiki do Mixxx. - - - + + + <b>Exit</b> Mixxx. <b>Sair<b> do Mixxx. - + Retry Repetir - + skin - + Allow Mixxx to hide the menu bar? - + Hide Always show the menu bar? - + Always show - + The Mixxx menu bar is hidden and can be toggled with a single press of the <b>Alt</b> key.<br><br>Click <b>%1</b> to agree.<br><br>Click <b>%2</b> to disable that, for example if you don't use Mixxx with a keyboard.<br><br>You can change this setting any time in Preferences -> Interface.<br> Keep formatting tags <b> (bold text) and <br> (linebreak). %1 is the placeholder for the 'Always show' button label - + Ask me again - - + + Reconfigure Reconfigurar - + Help Ajuda - - + + Exit Sair - - + + Mixxx was unable to open all the configured sound devices. Mixxx não foi capaz de abrir todos os dispositivos de som configurados. - + Sound Device Error Erro com o Dispositivo de Som - + <b>Retry</b> after fixing an issue <b>Tentar novamente</b> depois de corrigir um problema - + No Output Devices Sem Dispositivos de Saída - + Mixxx was configured without any output sound devices. Audio processing will be disabled without a configured output device. O Mixxx foi configurado sem nenhum dispositivo de saída de som. O processamento de áudio será desativado sem um dispositivo de saída configurado. - + <b>Continue</b> without any outputs. <b>Continuar</b> sem nenhuma saída. - + Continue Continuar - + Load track to Deck %1 Carregar faixa no Deck %1 - + Deck %1 is currently playing a track. O deck %1 está tocando uma faixa neste momento. - + Are you sure you want to load a new track? Tem certeza de que deseja carregar uma nova faixa? - + There is no input device selected for this vinyl control. Please select an input device in the sound hardware preferences first. Não há nenhum dispositivo de entrada selecionado para o controle por vinil. Por favor, selecione um dispositivo de entrada nas preferências do hardware de som. - + There is no input device selected for this passthrough control. Please select an input device in the sound hardware preferences first. Não tem nenhum dispositivo de entrada selecionado para este controle atravessador. Por favor selecione um dispositivo de entrada nas preferências do hardware de som primeiro. - + There is no input device selected for this microphone. Do you want to select an input device? - + There is no input device selected for this auxiliary. Do you want to select an input device? - + + Scan took %1 + + + + + No changes detected. + + + + + + %1 tracks in total + + + + + %1 new tracks found + + + + + %1 moved tracks detected + + + + + %1 tracks are missing (%2 total) + + + + + %1 tracks have been rediscovered + + + + + Library scan finished + + + + Error in skin file Erro no arquivo de skin - + The selected skin cannot be loaded. A skin selecionada não pôde ser carregada. - + OpenGL Direct Rendering Renderização Direta OpenGL - + Direct rendering is not enabled on your machine.<br><br>This means that the waveform displays will be very<br><b>slow and may tax your CPU heavily</b>. Either update your<br>configuration to enable direct rendering, or disable<br>the waveform displays in the Mixxx preferences by selecting<br>"Empty" as the waveform display in the 'Interface' section. - - - + + + Confirm Exit Confirmar a Saída - + A deck is currently playing. Exit Mixxx? - + Um leitor está presentemente em reprodução. Sair do Mixxx? - + A sampler is currently playing. Exit Mixxx? Um sampler está tocando neste momento. Sair do Mixxx? - + The preferences window is still open. A janela de preferências ainda está aberta. - + Discard any changes and exit Mixxx? Descartar quaisquer mudanças e sair do Mixxx? @@ -10058,13 +10153,13 @@ Do you want to select an input device? PlaylistFeature - + Lock Travar - - + + Playlists Listas de Reprodução @@ -10074,32 +10169,58 @@ Do you want to select an input device? - + + Unlock all playlists + + + + + Delete all unlocked playlists + + + + Unlock Destravar - + + + Confirm Deletion + + + + + Do you really want to delete all unlocked playlists? + + + + + Deleting %1 unlocked playlists.<br>This operation can not be undone! + + + + Playlists are ordered lists of tracks that allow you to plan your DJ sets. - + It may be necessary to skip some tracks in your prepared playlist or add some different tracks in order to maintain the energy of your audience. - + Some DJs construct playlists before they perform live, but others prefer to build them on-the-fly. Alguns DJs constroem listas de reprodução antes de apresentações ao vivo, mas outros preferem construí-las na hora. - + When using a playlist during a live DJ set, remember to always pay close attention to how your audience reacts to the music you've chosen to play. Ao utilizar uma lista de reprodução durante uma apresentação ao vivo, lembre-se de sempre prestar atenção em como o público reage à música que você escolheu tocar. - + Create New Playlist Criar Nova Lista de Reprodução @@ -10326,7 +10447,7 @@ Você quer examinar a sua biblioteca procurando por arquivos de capa agora? Switch - + Comutador @@ -10351,7 +10472,7 @@ Você quer examinar a sua biblioteca procurando por arquivos de capa agora? Script - + Script @@ -10371,12 +10492,12 @@ Você quer examinar a sua biblioteca procurando por arquivos de capa agora? Booth - + Cabine Headphones - + Fones @@ -10401,17 +10522,17 @@ Você quer examinar a sua biblioteca procurando por arquivos de capa agora? Deck - + Leitor Record/Broadcast - + Gravar/Emitir Vinyl Control - + Controlo Vinilo @@ -10487,12 +10608,12 @@ If you do not want to grant Mixxx access, click Cancel on the file picker. Mixxx Adds noise by the reducing the bit depth and sample rate - + Adiciona ruído pela redução da Profundidade de Bit e taxa de amostragem The bit depth of the samples - + A profundidade de bit das amostras @@ -10507,7 +10628,7 @@ If you do not want to grant Mixxx access, click Cancel on the file picker. Mixxx The sample rate to which the signal is downsampled - + A taxa de amostragem para a qual este sinal será reduzida @@ -10521,13 +10642,13 @@ If you do not want to grant Mixxx access, click Cancel on the file picker. Mixxx Time - + Tempo Ping Pong - + Pingue Pongue @@ -10553,7 +10674,7 @@ If you do not want to grant Mixxx access, click Cancel on the file picker. Mixxx Stores the input signal in a temporary buffer and outputs it after a short time - + Guarda o sinal de entrada num buffer temporário e fá-lo sair após um pequeno tempo. @@ -10561,7 +10682,9 @@ If you do not want to grant Mixxx access, click Cancel on the file picker. Mixxx Delay time 1/8 - 2 beats if tempo is detected 1/8 - 2 seconds if no tempo is detected - + Tempo de atraso +1/8 - 2 batidas se o BPM tiver sido detetado +1/8 - 2 segundos se o BPM não tiver sido detetado @@ -10571,7 +10694,7 @@ If you do not want to grant Mixxx access, click Cancel on the file picker. Mixxx How much the echoed sound bounces between the left and right sides of the stereo field - + Quanto do sinal ecoado ressalta entre os os lados esquerdo e direito do campo estéreo @@ -10586,7 +10709,7 @@ If you do not want to grant Mixxx access, click Cancel on the file picker. Mixxx Round the Time parameter to the nearest 1/4 beat. - + Arredonda o parâmetro Tempo para o 1/4 de batida mais próxima. @@ -10599,12 +10722,12 @@ If you do not want to grant Mixxx access, click Cancel on the file picker. Mixxx Triplets - + Triplets When the Quantize parameter is enabled, divide rounded 1/4 beats of Time parameter by 3. - + Quando o parâmetro Quantização está ativo, divide o parâmetro Tempo arredondado a 1/4 de batida, por 3. @@ -10615,12 +10738,12 @@ If you do not want to grant Mixxx access, click Cancel on the file picker. Mixxx Allows only high or low frequencies to play. - + Permite tocar apenas as altas ou baixas frequências. Low Pass Filter Cutoff - + Corte Filtro Passa Baixo @@ -10643,12 +10766,13 @@ If you do not want to grant Mixxx access, click Cancel on the file picker. Mixxx Resonance of the filters Default: flat top - + Ressonancia dos filtros +Padrão: Topo plano High Pass Filter Cutoff - + Corte Filtro Passa Alto @@ -10680,7 +10804,7 @@ Default: flat top Speed - + Velocidade @@ -10691,58 +10815,61 @@ Default: flat top Mixes the input with a delayed, pitch modulated copy of itself to create comb filtering - + Mistura a entrada com uma cópia de si mesma, atrasada e modulada em tonalidade para criar uma filtragem pente Speed of the LFO (low frequency oscillator) 32 - 1/4 beats rounded to 1/2 beat per LFO cycle if tempo is detected 1/32 - 4 Hz if no tempo is detected - + Velocidade do LFO (oscilador de baixa frequência) +32 - 1/4 batidas arredondadas para 1/2 batida por ciclo LFO se o BPM tiver sido detetado +1/32 - 4 Hz se o BPM não tiver sido detetado Delay amplitude of the LFO (low frequency oscillator) - + Amplitude do atraso do LFO (oscilador de baixa frequência). Delay offset of the LFO (low frequency oscillator). With width at zero, this allows for manually sweeping over the entire delay range. - + Alinhamento do atraso do LFO (oscilador de baixa frequência). +Com a largura a zero, permite o varrimento manual ao longo de toda a extensão do atraso. Regeneration - + Regeneração Regen - + Regen How much of the delay output is feed back into the input - + Quantidade da saída atrasada que é retornada para a entrada Intensity of the effect - + Intensidade do efeito Divide rounded 1/2 beats of the Period parameter by 3. - + Divide o parâmetro Período, arredondado a 1/2 batidas, por 3. Mix - + Mistura @@ -10757,7 +10884,7 @@ With width at zero, this allows for manually sweeping over the entire delay rang Metronome - + Metrónomo @@ -10767,7 +10894,7 @@ With width at zero, this allows for manually sweeping over the entire delay rang Adds a metronome click sound to the stream - + Adiciona o som dum clique de metrónomo à stream @@ -10777,7 +10904,7 @@ With width at zero, this allows for manually sweeping over the entire delay rang Set the beats per minute value of the click sound - + Define o valor do bpm do som do clique @@ -10787,7 +10914,7 @@ With width at zero, this allows for manually sweeping over the entire delay rang Synchronizes the BPM with the track if it can be retrieved - + Sincroniza o BPM com a faixa, se este puder ser obtido @@ -10816,14 +10943,16 @@ With width at zero, this allows for manually sweeping over the entire delay rang Bounce the sound left and right across the stereo field - + Balança o som entre a esquerda e direita ao longo do campo estéreo How fast the sound goes from one side to another 1/4 - 4 beats rounded to 1/2 beat if tempo is detected 1/4 - 4 seconds if no tempo is detected - + Velocidade com que o sinal vai dum lado para o outro +1/4 - 4 batidas arredondado para 1/2 batidas se o BPM tiver sido detetado +1/4 - 4 segundos se o BPM não tiver sido detetado @@ -10838,12 +10967,12 @@ With width at zero, this allows for manually sweeping over the entire delay rang How smoothly the signal goes from one side to the other - + Suavidade com que o sinal vai de um lado para o outro How far the signal goes to each side - + Até onde o sinal vai em cada lado @@ -10853,7 +10982,7 @@ With width at zero, this allows for manually sweeping over the entire delay rang Emulates the sound of the signal bouncing off the walls of a room - + Simula o som do sinal sendo refletido nas paredes duma sala @@ -10864,18 +10993,19 @@ With width at zero, this allows for manually sweeping over the entire delay rang Lower decay values cause reverberations to fade out more quickly. - + Valores de declínio baixos causam o desvanecimento das reverberações mais rápido. Bandwidth of the low pass filter at the input. Higher values result in less attenuation of high frequencies. - + Largura de banda do filtro passa baixo na entrada. +Valores mais altos resultam em menos atenuação das altas frequências. How much of the signal to send in to the effect - + Quantidade do sinal a enviar para o efeito @@ -11065,14 +11195,16 @@ Higher values result in less attenuation of high frequencies. Mixes the input signal with a copy passed through a series of all-pass filters to create comb filtering - + Mistura o sinal de entrada com uma cópia passada através de uma série de filtros para criar uma filtragem em pente Period of the LFO (low frequency oscillator) 1/4 - 4 beats rounded to 1/2 beat if tempo is detected 1/4 - 4 seconds if no tempo is detected - + Período do LFO (oscilador de baixa frequência) +1/4 - 4 batidas arrendondadas a 1/2 batida se o BPM tiver sido detetado +1/4 - 4 segundos se o BPM não tiver sido detetado @@ -11095,12 +11227,12 @@ Higher values result in less attenuation of high frequencies. Number of stages - + Número de estágios Sets the LFOs (low frequency oscillators) for the left and right channels out of phase with each others - + Define os LFOs (osciladores de baixa frequência) para os canais esquerdo e direito, desfasados uns com os outros @@ -11170,7 +11302,7 @@ Higher values result in less attenuation of high frequencies. LinkwitzRiley8 Isolator - + Isolador LinkwitzRiley8 @@ -11185,12 +11317,12 @@ Higher values result in less attenuation of high frequencies. Biquad Equalizer - + Equalizador Biquad BQ EQ - + EQ BQ @@ -11205,12 +11337,12 @@ Higher values result in less attenuation of high frequencies. Biquad Full Kill Equalizer - + Equalizador Biquado Full Kill BQ EQ/ISO - + EQ/ISO BQ @@ -11299,33 +11431,33 @@ Higher values result in less attenuation of high frequencies. Adjust the left/right balance and stereo width - + Ajusta o balanço esquerdo/direito e a largura estéreo Adjust balance between left and right channels - + Ajusta o balanço entre os canais esquerdo e direito Mid/Side - + Centro/Lado Bypass Fr. - + Ignorar Fr. Bypass Frequency - + Ignorar Frequência Stereo Balance - + Balanço Estéreo @@ -11333,22 +11465,25 @@ Higher values result in less attenuation of high frequencies. Fully left: mono Fully right: only side ambiance Center: does not change the original signal. - + Ajusta a largura estéreo mudando o balanço entre o meio e o lado do canal. +Totalmente à esquerda: mono +Totalmente à direita: apenas ambiente do lado +Centro: não muda o sinal original. Frequencies below this cutoff are not adjusted in the stereo field - + As frequências abaixo deste ponto de corte não são ajustadas no campo estéreo Parametric Equalizer - + Equalizador Paramétrico Param EQ - + EQ Param @@ -11360,71 +11495,75 @@ It is designed as a complement to the steep mixing equalizers. Gain 1 - + Ganho 1 Gain for Filter 1 - + Ganho para o Filtro 1 Q 1 - + Q 1 Controls the bandwidth of Filter 1. A lower Q affects a wider band of frequencies, a higher Q affects a narrower band of frequencies. - + Controla a largura de banda do Filtro 1. +Um Q mais baixo afecta uma banda mais larga de frequências, +um Q mais alto afecta uma banda mais estreita de frequências. Center 1 - + Centro 1 Center frequency for Filter 1, from 100 Hz to 14 kHz - + Frequência central para o Filtro 1, de 100 Hz a 14 kHz Gain 2 - + Ganho 2 Gain for Filter 2 - + Ganho para o Filtro 2 Q 2 - + Q 2 Controls the bandwidth of Filter 2. A lower Q affects a wider band of frequencies, a higher Q affects a narrower band of frequencies. - + Controla a largura de banda do Filtro 2. +Um Q mais baixo afecta uma banda mais larga de frequências, +um Q mais alto afecta uma banda mais estreita de frequências. Center 2 - + Centro 2 Center frequency for Filter 2, from 100 Hz to 14 kHz - + Frequência central para o Filtro 2, de 100 Hz a 14 kHz @@ -11435,12 +11574,12 @@ a higher Q affects a narrower band of frequencies. Cycles the volume up and down - + Sobe e desce o volume num ciclo How much the effect changes the volume - + Até que ponto o efeito altera o volume @@ -11453,54 +11592,61 @@ a higher Q affects a narrower band of frequencies. Rate of the volume changes 4 beats - 1/8 beat if tempo is detected 1/4 Hz - 8 Hz if no tempo is detected - + Taxa das alterações do volume +4 batidas - 1/8 batida se o BPM tiver sido detetado +1/4 Hz - 8 Hz se o BPM não tiver sido detetado Width of the volume peak 10% - 90% of the effect period - + Largura do pico de volume +10% - 90% do período do efeito Shape of the volume modulation wave Fully left: Square wave Fully right: Sine wave - + Forma da onda de modulação do volume +Tudo esquerda: Onda quadrada +Tudo direita: Onda sinusoidal When the Quantize parameter is enabled, divide the effect period by 3. - + Quando o parâmetro Quantização está ativo, divide o período do efeito por 3. Waveform - + Forma de Onda Phase - + Fase Shifts the position of the volume peak within the period Fully left: beginning of the effect period Fully right: end of the effect period - + Desloca a posição do pico de volume dentro do período +Tudo esquerda: início do período do efeito +Tudo direita: fim do período do efeito Round the Rate parameter to the nearest whole division of a beat. - + Aproxima o parâmetro Taxa à divisão inteira mais próxima de uma batida. Triplet - + Terceto @@ -11591,7 +11737,7 @@ Fully right: end of the effect period - + Deck %1 Deck %1 @@ -11724,7 +11870,7 @@ Hint: compensates "chipmunk" or "growling" voices - + Passthrough Transpassar @@ -11755,7 +11901,7 @@ Hint: compensates "chipmunk" or "growling" voices - + Sampler %1 @@ -11888,12 +12034,12 @@ may introduce a 'pumping' effect and/or distortion. - + built-in - + missing @@ -11928,42 +12074,42 @@ may introduce a 'pumping' effect and/or distortion. - + Empty - + Simple - + Filtered - + HSV - + VSyncTest - + RGB - + Stacked - + Unknown @@ -11981,7 +12127,7 @@ may introduce a 'pumping' effect and/or distortion. Low Disk Space Warning - + Aviso de Pouco Espaço em Disco @@ -12006,7 +12152,7 @@ may introduce a 'pumping' effect and/or distortion. You can change the location of the Recordings folder in Preferences -> Recording. - + Pode alterar o local da pasta Gravações em Preferências -> Gravação. @@ -12021,54 +12167,54 @@ may introduce a 'pumping' effect and/or distortion. RekordboxFeature - - - + + + Rekordbox - + Playlists Listas de Reprodução - + Folders - + Reads databases exported for Pioneer CDJ / XDJ players using the Rekordbox Export mode.<br/>Rekordbox can only export to USB or SD devices with a FAT or HFS file system.<br/>Mixxx can read a database from any device that contains the database folders (<tt>PIONEER</tt> and <tt>Contents</tt>).<br/>Not supported are Rekordbox databases that have been moved to an external device via<br/><i>Preferences > Advanced > Database management</i>.<br/><br/>The following data is read: - + Hot cues - + Loops (only the first loop is currently usable in Mixxx) - + Check for attached Rekordbox USB / SD devices (refresh) - + Beatgrids - + Memory cues - + Cues de memória - + (loading) Rekordbox (carregando) Rekordbox @@ -12297,17 +12443,17 @@ may introduce a 'pumping' effect and/or distortion. Error setting stream IRC! - + Erro a definir a stream IRC! Error setting stream AIM! - + Erro a definir a stream AIM! Error setting stream ICQ! - + Erro a definir a stream ICQ! @@ -12372,22 +12518,22 @@ may introduce a 'pumping' effect and/or distortion. Connection error - + Erro de ligação One of the Live Broadcasting connections raised this error:<br><b>Error with connection '%1':</b><br> - + Uma das ligações de Emissão em Direto apresentou este erro:<br><b>Erro com a ligação '%1':</b><br> Connection message - + Mensagem da ligação <b>Message from Live Broadcasting connection '%1':</b><br> - + <b>Mensagem da ligação Emissão em Direto '%1':</b><br> @@ -12578,7 +12724,7 @@ may introduce a 'pumping' effect and/or distortion. Effects within the chain must be enabled to hear them. - + Os efeitos dentro da cadeia devem estar ativados para serem ouvidos. @@ -12593,7 +12739,7 @@ may introduce a 'pumping' effect and/or distortion. Waveform Display - + Formato da onda de exibição @@ -12627,7 +12773,7 @@ may introduce a 'pumping' effect and/or distortion. - + Spinning Vinyl Vinil Giratório @@ -12639,7 +12785,7 @@ may introduce a 'pumping' effect and/or distortion. Right click to show cover art of loaded track. - + Clique direito para mostrar a capa do disco da faixa carregada. @@ -12699,7 +12845,7 @@ may introduce a 'pumping' effect and/or distortion. Indicates when the signal on the auxiliary is clipping, - + Indica quando o sinal auxiliar está clipando. @@ -12714,22 +12860,22 @@ may introduce a 'pumping' effect and/or distortion. Booth Gain - + Ganho Cabine Adjusts the booth output gain. - + Ajusta o ganho de saída para a cabine. Crossfader - + Crossfader Balance - + Balanço @@ -12799,7 +12945,7 @@ may introduce a 'pumping' effect and/or distortion. Preview Deck - + Deck de Prá-visualização @@ -12809,7 +12955,7 @@ may introduce a 'pumping' effect and/or distortion. - + Cover Art Arte da Capa @@ -12906,7 +13052,7 @@ may introduce a 'pumping' effect and/or distortion. Microphone Talkover Mode - + Microfone Modo Talkover @@ -12916,12 +13062,12 @@ may introduce a 'pumping' effect and/or distortion. Manual: Reduce music volume by a fixed amount set by the Strength knob. - + Manual: Reduz o volume de música de um valor fixo definido pelo botão Strenght. Behavior depends on Microphone Talkover Mode: - + O comportamento depende do Modo Talkover Microfone: @@ -13006,7 +13152,7 @@ may introduce a 'pumping' effect and/or distortion. Tempo - + Tempo @@ -13045,197 +13191,197 @@ may introduce a 'pumping' effect and/or distortion. Quando pressionado, aumenta um pouco o BPM médio. - + Adjust Beats Earlier Atrasar Grade de Batidas - + When tapped, moves the beatgrid left by a small amount. Quando pressionado, move a grade de batidas um pouco para a esquerda. - + Adjust Beats Later Adiantar Grade de Batidas - + When tapped, moves the beatgrid right by a small amount. Quando pressionado, move a grade de batidas um pouco para a direta. - + Tempo and BPM Tap Toque de Tempo e BPM - + Show/hide the spinning vinyl section. Mostra/Oculta a seção do vinil giratório - + Keylock Trava de Tom - + Toggling keylock during playback may result in a momentary audio glitch. Ligar/Desligar a trava de tom enquanto tocando pode resultar em um glitch de áudio momentâneo - + Toggle visibility of Loop Controls - + Toggle visibility of Beatjump Controls - + Toggle visibility of Rate Control - + Alterna a visibilidade do Controlo da Taxa - + Toggle visibility of Key Controls - + (while previewing) - + Places a cue point at the current position on the waveform. Coloca um ponto de sinalização na posição atual na forma de onda. - + Stops track at cue point, OR go to cue point and play after release (CUP mode). Pára a faixa no CUE Point, OU vai para o CUE Point e reproduz a faixa após soltar o botão (CUP mode). - + Set cue point (Pioneer/Mixxx/Numark mode), set cue point and play after release (CUP mode) OR preview from it (Denon mode). - + Define o CUE point (em modo Pioneer/Mixxx/Numark), define o CUE point e toca após largar a tecla (modo CUP) OU escuta o preview (modo Denon). - + Is latching the playing state. - + Seeks the track to the cue point and stops. Avança a faixa até ao Cue Point e para. - + Play Tocar - + Plays track from the cue point. - + Toca a faixa a partir do ponto de marcação. - + Sends the selected channel's audio to the headphone output, selected in Preferences -> Sound Hardware. - + (This skin should be updated to use Sync Lock!) - + Enable Sync Lock - + Tap to sync the tempo to other playing tracks or the sync leader. - + Enable Sync Leader - + When enabled, this device will serve as the sync leader for all other decks. - + This is relevant when a dynamic tempo track is loaded to a sync leader deck.In that case, other synced devices will adopt the changing tempo. - + Changes the track playback speed (affects both the tempo and the pitch). If keylock is enabled, only the tempo is affected. Altera a velocidade da faixa (afeta o tempo e o pitch). Se o keylock estiver ativo, apenas o tempo é alterado. - + Tempo Range Display - + Displays the current range of the tempo slider. - + Mostra o alcance atual do deslizante de tempo. - + Un-ejects when no track is loaded, i.e. reloads the track that was ejected last (of any deck). - + Delete selected hotcue. - + Track Comment - + Displays the comment tag of the loaded track. - + Opens separate artwork viewer. - + Effect Chain Preset Settings - + Show the effect chain settings menu for this unit. - + Select and configure a hardware device for this input - + Recording Duration Duração da Gravação @@ -13385,7 +13531,7 @@ may introduce a 'pumping' effect and/or distortion. Auto: Sets how much to reduce the music volume when the volume of active microphones rises above threshold. - + Auto: Define o quanto reduzir o volume da música quando o volume de microfones ativos passa de um determinado limite. @@ -13473,926 +13619,934 @@ may introduce a 'pumping' effect and/or distortion. - + + Adjust beatgrid by exactly one half beat. Usable only on +tracks with constant tempo. + + + + Revert last BPM/Beatgrid Change - + Revert last BPM/Beatgrid Change of the loaded track. - - + + Toggle the BPM/beatgrid lock - + Tempo and Rate Tap - + Tempo, Rate Tap and BPM Tap - + Shift cues earlier - - + + Shift cues imported from Serato or Rekordbox if they are slightly off time. - + Left click: shift 10 milliseconds earlier - + Right click: shift 1 millisecond earlier - + Shift cues later - + Left click: shift 10 milliseconds later - + Right click: shift 1 millisecond later - - + + Drag a Hotcue button here to continue playing after releasing the Hotcue. - + Hint: Change the default cue mode in Preferences -> Decks. - + Mutes the selected channel's audio in the main output. - + Main mix enable - + Hold or short click for latching to mix this input into the main output. - + If hotcue is a loop cue, toggles the loop and jumps to if the loop is behind the play position. - + If the play position is inside an active loop, stores the loop as loop cue. - + Drag this button onto another Hotcue button to move it there (change its index). If the other hotcue is set, the two are swapped. - + Expand/Collapse Samplers - + Toggle expanded samplers view. - + Displays the duration of the running recording. Mostra a duração da gravação em andamento. - + Auto DJ is active - + Red for when needle skip has been detected. - + Hot Cue - Track will seek to nearest previous hotcue point. - + Sets the track Loop-In Marker to the current play position. - + Define o marcador Início Loop da faixa para a atual posição de reprodução. - + Press and hold to move Loop-In Marker. - + Pressione e mantenha para mover o marcador Início Loop. - + Jump to Loop-In Marker. - + Saltar para o marcador Início Loop. - + Sets the track Loop-Out Marker to the current play position. - + Define o marcador Fim Loop para a atual posição de reprodução. - + Press and hold to move Loop-Out Marker. - + Pressione e segure para mover o Marcador de Fim de Loop - + Jump to Loop-Out Marker. - + Saltar para o marcador Fim Loop. - + If the track has no beats the unit is seconds. - + Beatloop Size Tamanho do Loop de Batidas - + Select the size of the loop in beats to set with the Beatloop button. - + Escolher o tamanho do loop em batidas estabelecer com o botão Loop. - + Changing this resizes the loop if the loop already matches this size. - + Alterando isto redimensiona o loop se o loop já coincide com este tamanho. - + Halve the size of an existing beatloop, or halve the size of the next beatloop set with the Beatloop button. - + Reduz a metade o tamanho dum loop existente, ou reduz a metade o tamanho do próximo loop definido com o botão Loop. - + Double the size of an existing beatloop, or double the size of the next beatloop set with the Beatloop button. - + Duplica o tamanho dum loop existente, ou duplica o tamanho do próximo loop definido com o botão Loop. - + Start a loop over the set number of beats. Cria um loop sobre o número de batidas selecionado - + Temporarily enable a rolling loop over the set number of beats. Ativa temporariamente um loop de rolamento sobre o número de batidas selecionado. - + Beatloop Anchor - + Define whether the loop is created and adjusted from its staring point or ending point. - + Beatjump/Loop Move Size - + Beatjump/Loop Tamanho Movimento - + Select the number of beats to jump or move the loop with the Beatjump Forward/Backward buttons. - + Selecione o número de batidas a saltar ou a deslocar o loop com os botões Beatjump Frente/Atrás. - + Beatjump Forward - + Beatjump Frente - + Jump forward by the set number of beats. - + Salta para a frente o número de batidas predefinidas. - + Move the loop forward by the set number of beats. - + Move o loop para a frente o número de batidas prédefinidas. - + Jump forward by 1 beat. - + Salta para a frente 1 batida. - + Move the loop forward by 1 beat. - + Move o loop para a frente 1 batida. - + Beatjump Backward - + Beatjump Atrás - + Jump backward by the set number of beats. - + Salta para trás o número de batidas prédefinidas. - + Move the loop backward by the set number of beats. - + Move o loop para trás o número de batidas prédefinidas. - + Jump backward by 1 beat. - + Salta para trás 1 batida. - + Move the loop backward by 1 beat. - + Move o loop para trás 1 batida. - + Reloop - + Reloop - + If the loop is ahead of the current position, looping will start when the loop is reached. - + Se o loop estiver à frente da posição atual de reprodução, o ciclo de looping começará quando o loop for atingido. - + Works only if Loop-In and Loop-Out Marker are set. - + Funciona apenas se os marcadores de Início Loop e Fim Loop estiverem definidos. - + Enable loop, jump to Loop-In Marker, and stop playback. - + Ativar loop, saltar para o marcador Início Loop, e parar a reprodução. - + Displays the elapsed and/or remaining time of the track loaded. Mostra o tempo executado e/ou restante da faixa carregada. - + Click to toggle between time elapsed/remaining time/both. Clique para alternar entre tempo executado/restante tempo/ambos. - + Hint: Change the time format in Preferences -> Decks. - + Show/hide intro & outro markers and associated buttons. - + Intro Start Marker - - - - + + + + If marker is set, jumps to the marker. - - - - + + + + If marker is not set, sets the marker to the current play position. - - - - + + + + If marker is set, clears the marker. - + Intro End Marker - + Outro Start Marker - + Outro End Marker - + Mix - + Mistura - + Adjust the mixing of the dry (input) signal with the wet (output) signal of the effect unit - + Ajustar a mistura do sinal seco (entrada) com o molhado (saída) da unidade de efeito - + D/W mode: Crossfade between dry and wet - + Modo S/M: crossfade entre seco e molhado - + D+W mode: Add wet to dry - + Modo S/M: adicionar molhado ao seco - + Mix Mode - + Modo Mistura - + Adjust how the dry (input) signal is mixed with the wet (output) signal of the effect unit - + Ajustar a mistura do sinal seco (entrada) com o sinal molhado (saída) da unidade de efeito - + Dry/Wet mode (crossed lines): Mix knob crossfades between dry and wet Use this to change the sound of the track with EQ and filter effects. - + Modo Seco/Molhado (linhas cruzadas): o botão de Mistura faz a transição entre seco e molhado. +Usar isto para alterar o som da faixa com EQ e filtros de efeitos. - + Dry+Wet mode (flat dry line): Mix knob adds wet to dry Use this to change only the effected (wet) signal with EQ and filter effects. - + Modo Seco+Molhado (linha seca plana): o botão de Mistura adiciona o molhado ao seco. +Usar isto para alterar apenas o sinal já com os efeitos (molhado) de EQ e filtros de efeitos. - + Route the main mix through this effect unit. - + Route the left crossfader bus through this effect unit. - + Envia o bus esquerdo do crossfader através desta unidade de efeito. - + Route the right crossfader bus through this effect unit. - + Envia o bus direito do crossfader através desta unidade de efeito. - + Right side active: parameter moves with right half of Meta Knob turn - + Lado direito ativo: o parâmetro muda com meia volta para a direita do Botão Meta - + Stem Label - + Name of the stem stored in the stem file - + Text is displayed in the stem color stored in the stem file - + this stem color is also used for the waveform of this stem - + Stem Mute - + Toggle the stem mute/unmuted - + Stem Volume Knob - + Adjusts the volume of the stem - + Skin Settings Menu - + Menu Definições Skin - + Show/hide skin settings menu - + Mostra/Oculta menu de definições. - + Save Sampler Bank Salvar Banco do Sampler - + Save the collection of samples loaded in the samplers. - + Guarda a colecção de samples carregadas nos samplers. - + Load Sampler Bank Carregar Banco do Sampler - + Load a previously saved collection of samples into the samplers. - + Carrega uma colecção de samples guardada previamente nos samplers. - + Show Effect Parameters Mostrar Parâmetros do Efeito - + Enable Effect Ativar Efeito - + Meta Knob Link Vínculo do Botão Meta - + Set how this parameter is linked to the effect's Meta Knob. Defina como este parâmetro está vinculado aos efeitos do Botão Meta. - + Meta Knob Link Inversion Vínculo inverso do Botão Meta - + Inverts the direction this parameter moves when turning the effect's Meta Knob. Inverte a direção que este parâmetro se move quando rodando o efeito do Botão Meta - + Super Knob Super Botão - + Next Chain Próxima Corrente - + Previous Chain Corrente Anterior - + Next/Previous Chain Corrente Seguinte/Anterior - + Clear Limpar - + Clear the current effect. Limpa o efeito atual. - + Toggle Ligar/Desligar - + Toggle the current effect. Liga/Desliga o efeito atual. - + Next Próximo - + Clear Unit Limpar Unidade - + Clear effect unit. Limpa a unidade de efeito. - + Show/hide parameters for effects in this unit. - + Mostra/Oculta parâmetros para efeitos nesta unidade. - + Toggle Unit Ligar/Desligar Unidade - + Enable or disable this whole effect unit. - + Ativa ou desativa esta unidade completa de efeito. - + Controls the Meta Knob of all effects in this unit together. - + Controla o Meta Botão de todos os efeitos conjuntamente nesta unidade. - + Load next effect chain preset into this effect unit. - + Carrega a próxima cadeia de efeitos prédefinida nesta unidade de efeito. - + Load previous effect chain preset into this effect unit. - + Carrega a anterior cadeia de efeitos prédefinida nesta unidade de efeito. - + Load next or previous effect chain preset into this effect unit. - + Carrega a próxima ou anterior cadeia de efeitos prédefinida nesta unidade de efeito. - - - - + + + + Assign Effect Unit - + Atribuir Unidade de Efeito - + Assign this effect unit to the channel output. - + Atribuir esta unidade de efeito ao canal de saída. - + Route the headphone channel through this effect unit. - + Encaminha o canal de auscultadores através desta unidade de efeito. - + Route this deck through the indicated effect unit. - + Encaminha este leitor através da unidade de efeito indicada. - + Route this sampler through the indicated effect unit. - + Encaminha este sampler através da unidade de efeito indicada. - + Route this microphone through the indicated effect unit. - + Encaminha este microfone através da unidade de efeito indicada. - + Route this auxiliary input through the indicated effect unit. - + Encaminha esta entrada auxiliar através da unidade de efeito indicada. - + The effect unit must also be assigned to a deck or other sound source to hear the effect. - + Esta unidade de efeito deve também ser atribuída a um leitor ou a outra fonte sonora para ouvir o efeito. - + Switch to the next effect. Troca para o próximo efeito. - + Previous Anterior - + Switch to the previous effect. Troca para o efeito anterior. - + Next or Previous Próximo ou Anterior - + Switch to either the next or previous effect. Troca para o efeito seguinte ou anterior. - + Meta Knob Botão Meta - + Controls linked parameters of this effect Controla os parâmetros vinculados deste efeito - + Effect Focus Button Botão de Foco do Efeito - + Focuses this effect. Se foca no efeito. - + Unfocuses this effect. Desfoca este efeito. - + Refer to the web page on the Mixxx wiki for your controller for more information. Acesse a página web do seu controlador na wiki do Mixxx para mais informações. - + Effect Parameter Parâmetro do Efeito - + Adjusts a parameter of the effect. Ajusta um parâmetro do efeito. - + Inactive: parameter not linked - + Inativo: parâmetro não ligado - + Active: parameter moves with Meta Knob - + Activo: o parâmetro move-se com o Botão Meta - + Left side active: parameter moves with left half of Meta Knob turn - + Lado esquerdo ativo: o parâmetro move-se com meia volta para a esquerda do Botão Meta - + Left and right side active: parameter moves across range with half of Meta Knob turn and back with the other half - + Lado esquerdo e direito ativo: o parâmetro desloca-se ao longo da sua extensão com meia volta do Botão Meta e para trás com a outra meia volta. - - + + Equalizer Parameter Kill Matar Parâmetro do Equalizador - - + + Holds the gain of the EQ to zero while active. Mantem o ganho do equalizador em zero quanto ativo. - + Quick Effect Super Knob Super Botão de Efeito Rápido - + Quick Effect Super Knob (control linked effect parameters). Super Botão de Efeito Rápido (controla parâmetros de efeitos conectados). - + Hint: Change the default Quick Effect mode in Preferences -> Equalizers. Dica: Mude o modo padrão de Efeito Rápido em Preferências -> Equalizadores. - + Equalizer Parameter Parâmetro do Equalizador - + Adjusts the gain of the EQ filter. Ajusta o ganho do filtro de equalização. - + Hint: Change the default EQ mode in Preferences -> Equalizers. Dica: Mude o modo padrão do equalizador em Preferências -> Equalizadores. - - + + Adjust Beatgrid Ajustar a Grade de Batidas - + Adjust beatgrid so the closest beat is aligned with the current play position. Ajusta a grade de batidas de forma que a batida mais próxima é alinhada com a posição atual. - - + + Adjust beatgrid to match another playing deck. Ajusta a grade de batidas para combinar com outro deck tocando. - + If quantize is enabled, snaps to the nearest beat. Se a quantização estiver ativada, vai para a batida mais próxima. - + Quantize Quantizar - + Toggles quantization. Liga/Desliga a quantização. - + Loops and cues snap to the nearest beat when quantization is enabled. Enquanto a quantização estiver ativada, os loops e os hotcues sempre entrarão na batida mais próxima. - + Reverse - + Inverter - + Reverses track playback during regular playback. Inverte a reprodução da faixa. - + Puts a track into reverse while being held (Censor). Coloca a faixa em reprodução invertida enquanto pressionado (Censurar). - + Playback continues where the track would have been if it had not been temporarily reversed. A reprodução continua onde a faixa estaria se ela não estivesse sido temporariamente invertida. - - - + + + Play/Pause Tocar/Pausar - + Jumps to the beginning of the track. Pula para o início da faixa. - + Syncs the tempo (BPM) and phase to that of the other track, if BPM is detected on both. Sincroniza o tempo (BPM) e a fase para a da outra faixa, ou BPM se detectado nos dois. - + Syncs the tempo (BPM) to that of the other track, if BPM is detected on both. Sincroniza o tempo (BPM) para o da outra faixa, ou o BPM se detectado nos dois. - + Sync and Reset Key Sincronizar e Redefinir o Tom - + Increases the pitch by one semitone. Aumenta o pitch por um semitom. - + Decreases the pitch by one semitone. Diminui o pitch por um semitom. - + Enable Vinyl Control Ativar Controle por Vini - + When disabled, the track is controlled by Mixxx playback controls. Quando desativado, a faixa é controlada pelos controles de reprodução do Mixxx. - + When enabled, the track responds to external vinyl control. Quando ativado, a faixa responde ao controle por vinil externo - + Enable Passthrough Ativar Repasse - + Indicates that the audio buffer is too small to do all audio processing. - + Indica que o buffer de áudio é muito pequeno para fazer todo o processamento de aúdio. - + Displays cover artwork of the loaded track. Mostra a arte da capa da faixa carregada. - + Displays options for editing cover artwork. Mostra opções para editar a arte da capa. - + Star Rating Classificação de Estrela - + Assign ratings to individual tracks by clicking the stars. Defina uma classificação para faixas individuais clicando nas estrelas. @@ -14524,36 +14678,36 @@ Use this to change only the effected (wet) signal with EQ and filter effects. Microphone Talkover Ducking Strength - + Amplitude da Redução no Talkover - + Prevents the pitch from changing when the rate changes. Previne que o tom mude com as mudanças na taxa do pitch. - + Changes the number of hotcue buttons displayed in the deck - + Altera o número de botões hotcue mostrados no leitor - + Starts playing from the beginning of the track. Começa a tocar do começo da faixa. - + Jumps to the beginning of the track and stops. Pula para o começo da faixa e para. - - + + Plays or pauses the track. Toca ou pausa uma música. - + (while playing) (enquanto estiver tocando) @@ -14573,215 +14727,215 @@ Use this to change only the effected (wet) signal with EQ and filter effects. - + (while stopped) (enquanto parada) - + Cue Cue - + Headphone Fone - + Mute Silenciar - + Old Synchronize Sincronização Antiga - + Syncs to the first deck (in numerical order) that is playing a track and has a BPM. Sincroniza com o primeiro deck (em ordem numérica) que estiver tocando uma faixa e tem BPM. - + If no deck is playing, syncs to the first deck that has a BPM. Se nenhum deck estiver tocando, sincroniza com o primeiro deck que tiver BPM. - + Decks can't sync to samplers and samplers can only sync to decks. Decks não podem sincronizar com samplers e samplers só podem sincronizar com decks. - + Hold for at least a second to enable sync lock for this deck. Segure por pelo menos um segundo para ativar a trava de sincronização para este deck. - + Decks with sync locked will all play at the same tempo, and decks that also have quantize enabled will always have their beats lined up. Decks com trava de sincronização vão tocar no mesmo tempo, e os decks que também tem quantização ativada vão sempre ter suas batidas alinhadas. - + Resets the key to the original track key. Redefine o tom para o tom original da faixa. - + Speed Control Controle de Velocidade - - - + + + Changes the track pitch independent of the tempo. Muda o pitch da faixa independentemente do tempo. - + Increases the pitch by 10 cents. Aumenta o pitch por 10 cents. - + Decreases the pitch by 10 cents. Diminui o pitch por 10 cents. - + Pitch Adjust Ajustar o Pitch - + Adjust the pitch in addition to the speed slider pitch. Ajusta o pitch junto com o deslizante de velocidade pitch. - + Opens a menu to clear hotcues or edit their labels and colors. - + Drag this button onto a Play button while previewing to continue playback after release. - + Dragging with Shift key pressed will not start previewing the hotcue. - + Record Mix Gravar Mixagem - + Toggle mix recording. Ativa/Desativa gravação da mixagem. - + Enable Live Broadcasting Ativar Transmissão Ao Vivo - + Stream your mix over the Internet. Transmite sua mixagem pela Internet. - + Provides visual feedback for Live Broadcasting status: Provê retorno visual para o estado de Transmissão Ao Vivo: - + disabled, connecting, connected, failure. desativado, conectando, conectado, falha. - + When enabled, the deck directly plays the audio arriving on the vinyl input. Quando ativado, o deck toca diretamente o áudio chegando na entrada de vinil. - + Playback will resume where the track would have been if it had not entered the loop. A execução vai continuar como se a faixa não estivesse entrado no loop. - + Loop Exit Sair do Loop - + Turns the current loop off. Desliga o loop atual. - + Slip Mode Modo de Deslizamento - + When active, the playback continues muted in the background during a loop, reverse, scratch etc. Quando ativo, a execução continua silenciosa no fundo durante um loop, reprodução invertida, um scratch, etc. - + Once disabled, the audible playback will resume where the track would have been. Uma vez desativado, a execução audível continuará onde a música estaria. - + Track Key The musical key of a track Tom da Faixa - + Displays the musical key of the loaded track. Mostra o tom musical da faixa carregada. - + Clock Relógio - + Displays the current time. Mostra a hora atual. - + Audio Latency Usage Meter Uso da Latência de Áudio - + Displays the fraction of latency used for audio processing. Mostra uma fração da latência usada para o processamento de áudio. - + A high value indicates that audible glitches are likely. Um valor alto indica que ruídos no áudio são prováveis. - + Do not enable keylock, effects or additional decks in this situation. Não ative a trava de tom, efeitos ou decks adicionais nessa situação. - + Audio Latency Overload Indicator Indicador de Sobrecarga na Latência do Áudio @@ -14803,17 +14957,17 @@ Use this to change only the effected (wet) signal with EQ and filter effects. Crossfader Orientation - + Orientação do Crossfader Set the channel's crossfader orientation. - + Define a orientação do crossfader entre canais. Either to the left side of crossfader, to the right side or to the center (unaffected by crossfader) - + Quer para o lado esquerdo do crossfader, ou para o lado direito, ou para o centro (não afetada pelo crossfader) @@ -14826,254 +14980,254 @@ Use this to change only the effected (wet) signal with EQ and filter effects.Mostra o tom musical atual da faixa carregada depois do pitch alterado. - + Fast Rewind Retrocesso Rápido - + Fast rewind through the track. Rebobina a música rapidamente. - + Fast Forward Avanço Rápido - + Fast forward through the track. Avança rápido pela faixa. - + Jumps to the end of the track. Pula para o fim da faixa. - + Sets the pitch to a key that allows a harmonic transition from the other track. Requires a detected key on both involved decks. Define o pitch para um tom que permite uma transição harmônica da outra faixa. Requer um tom detectado nos dois decks envolvidos, - - - + + + Pitch Control Controle do Pitch - + Pitch Rate Taxa de Pitch - + Displays the current playback rate of the track. Mostra a taxa de reprodução da música em execução. - + Repeat Repetir - + When active the track will repeat if you go past the end or reverse before the start. Quando ativo, a música vai repetir se você passar do final ou inverter a reprodução antes do início. - + Eject Ejetar - + Ejects track from the player. Ejeta a música do deck. - + Hotcue - + Marcação - + If hotcue is set, jumps to the hotcue. Se o hotcue estiver definido, pula para o ele. - + If hotcue is not set, sets the hotcue to the current play position. Se o hotcue não estiver definido, faz um hotcue na posição atual. - + Vinyl Control Mode Modo de Controle por Vinil - + Absolute mode - track position equals needle position and speed. Modo absoluto - a posição da faixa é igual à posição e velocidade da agulha. - + Relative mode - track speed equals needle speed regardless of needle position. Modo relativo - a velocidade da faixa é igual à da agulha, independente da posição. - + Constant mode - track speed equals last known-steady speed regardless of needle input. Modo constante - a velocidade da faixa é igual à última velocidade conhecida, independente da agulha. - + Vinyl Status Estado do Vinil - + Provides visual feedback for vinyl control status: Provê retorno visual para o estado do controle por vinil: - + Green for control enabled. Verde quando o controle estiver ativado. - + Blinking yellow for when the needle reaches the end of the record. Amarelo piscante quando a agulha estiver no fim do disco. - + Loop-In Marker Marca de Entrada do Loop - + Loop-Out Marker Marca de Saída do Loop - + Loop Halve Divide o Loop pela Metade - + Halves the current loop's length by moving the end marker. Diminui o comprimento atual do loop pela metade movendo a marca de saída. - + Deck immediately loops if past the new endpoint. O deck vai loopar imediatamente se passar do novo ponto de saída. - + Loop Double Dobrar o Loop - + Doubles the current loop's length by moving the end marker. Dobra o comprimento do loop atual movendo a marca de saída. - + Beatloop Loop de Batidas - + Toggles the current loop on or off. Alterna o loop atual entre ligado ou desligado. - + Works only if Loop-In and Loop-Out marker are set. Funciona somente se existirem marcas de entrada e saída do loop. - + Vinyl Cueing Mode Modo de Cue do Vinil - + Determines how cue points are treated in vinyl control Relative mode: Determina como os pontos cue são tratados com o controle por vinil em modo relativo: - + Off - Cue points ignored. Desligado - Pontos cue ignorados. - + One Cue - If needle is dropped after the cue point, track will seek to that cue point. Único - Se a agulha for solta depois doponto cue, a faixa vai até aquele ponto cue. - + Track Time Tempo da Música - + Track Duration Duração da Faixa - + Displays the duration of the loaded track. Mostra a duração da faixa carregada. - + Information is loaded from the track's metadata tags. A informação é carregada a partir das etiquetas de metadados. - + Track Artist Artista da Faixa - + Displays the artist of the loaded track. Mostra o artista da faixa carregada. - + Track Title Título da Faixa - + Displays the title of the loaded track. Exibe o título da faixa carregada. - + Track Album Álbum da Faixa - + Displays the album name of the loaded track. Exibe o nome do álbum da faixa carregada. - + Track Artist/Title Artista/Título da Faixa - + Displays the artist and title of the loaded track. Mostra o artista e título da faixa carregada. @@ -15081,12 +15235,12 @@ Use this to change only the effected (wet) signal with EQ and filter effects. TrackCollection - + Hiding tracks Faixas ocultas - + The selected tracks are in the following playlists:%1Hiding them will remove them from these playlists. Continue? As faixas selecionadas estão na seguinte playlist: %1Ocultá-las as removerá dessas playlists. Continuar? @@ -15266,7 +15420,7 @@ Use this to change only the effected (wet) signal with EQ and filter effects. Clear cover clears the set cover art -- does not touch files on disk - + Limpar capa do disco @@ -15301,47 +15455,47 @@ This can not be undone! WCueMenuPopup - + Cue number - + Cue position - + Edit cue label - + Label... - + Delete this cue - + Toggle this cue type between normal cue and saved loop - + Left-click: Use the old size or the current beatloop size as the loop size - + Right-click: Use the current play position as loop end if it is after the cue - + Hotcue #%1 @@ -15466,323 +15620,353 @@ This can not be undone! + Search in Current View... + + + + + Search for tracks in the current library view + + + + + Ctrl+f + + + + + Search in Tracks Library... + + + + + Search in the internal track collection under "Tracks" in the library + + + + + Ctrl+Shift+F + + + + Create &New Playlist Criar &Nova Lista de Reprodução - + Create a new playlist Criar uma nova lista de reprodução - + Ctrl+n Ctrl+n - + Create New &Crate Criar Nova &Caixa - + Create a new crate Criar uma nova caixa - + Ctrl+Shift+N Ctrl+Shift+N - - + + &View &Exibir - + Auto-hide menu bar - + Auto-hide the main menu bar when it's not used. - + May not be supported on all skins. Pode não ser suportado em todas as skins. - + Show Skin Settings Menu - + Mostrar Menu de Configurações do Tema - + Show the Skin Settings Menu of the currently selected Skin - + Mostra o menu das configurações do tema do tema atualmente selecionado - + Ctrl+1 Menubar|View|Show Skin Settings Ctrl+1 - + Show Microphone Section Mostrar Seção do Microfone - + Show the microphone section of the Mixxx interface. Mostra a seção do microfone na interface do Mixxx. - + Ctrl+2 Menubar|View|Show Microphone Section Ctrl+2 - + Show Vinyl Control Section Mostrar Seção do Controle por Vinil - + Show the vinyl control section of the Mixxx interface. Mostra a seção do controle por vinil na interface do Mixxx. - + Ctrl+3 Menubar|View|Show Vinyl Control Section Ctrl+3 - + Show Preview Deck Mostrar Deck de Pré-escuta - + Show the preview deck in the Mixxx interface. Mostra o deck de pré-escuta na interface do Mixxx. - + Ctrl+4 Menubar|View|Show Preview Deck Ctrl+4 - + Show Cover Art Mostrar Arte da Capa - + Show cover art in the Mixxx interface. Mostra a arte da capa na interface do Mixxx. - + Ctrl+6 Menubar|View|Show Cover Art Ctrl+6 - + Maximize Library Maximizar Biblioteca - + Maximize the track library to take up all the available screen space. Maximiza a biblioteca de faixas para ocupar todo o espaço de tela disponível. - + Space Menubar|View|Maximize Library Espaço - + &Full Screen Te&la cheia - + Display Mixxx using the full screen Exibir o Mixxx usando Tela Cheia - + &Options &Opções - + &Vinyl Control Controle por &Vinil - + Use timecoded vinyls on external turntables to control Mixxx Use vinils com timecode em toca-discos externos para controlar o Mixxx - + Enable Vinyl Control &%1 Ativar Controle por Vinil &%1 - + &Record Mix &Gravar Mixagem - + Record your mix to a file Grave sua mixagem para um arquivo - + Ctrl+R Ctrl+R - + Enable Live &Broadcasting Ativar Transmissão Ao &Vivo - + Stream your mixes to a shoutcast or icecast server Transmita suas mixagens para um servidor shoutcast ou icecast - + Ctrl+L Ctrl+L - + Enable &Keyboard Shortcuts Ativar Atalhos de &Teclado - + Toggles keyboard shortcuts on or off Ativa/Desativa atalhos de teclado - + Ctrl+` Ctrl+` - + &Preferences &Preferências - + Change Mixxx settings (e.g. playback, MIDI, controls) Muda as configurações do Mixxx (ex.: reprodução, MIDI, controles) - + &Developer &Desenvolvedor - + &Reload Skin &Recarregar Skin - + Reload the skin Recarregar a skin - + Ctrl+Shift+R Ctrl+Shift+R - + Developer &Tools Ferramen&tas de Desenvolvedor - + Opens the developer tools dialog Abre o diálogo das ferramentas de desenvolvedor - + Ctrl+Shift+T Ctrl+Shift+T - + Stats: &Experiment Bucket Dados: Balde de &Experimento - + Enables experiment mode. Collects stats in the EXPERIMENT tracking bucket. Ativa o modo de experimento. Coleta dados no balde de localização EXPERIMENT. - + Ctrl+Shift+E Ctrl+Shift+E - + Stats: &Base Bucket Dados: Balde &Base - + Enables base mode. Collects stats in the BASE tracking bucket. Ativa o modo base. Coleta dados no balde de localização BASE. - + Ctrl+Shift+B Ctrl+Shift+B - + Deb&ugger Enabled Deb&ugger Ativado - + Enables the debugger during skin parsing - + Ativa o debugger enquanto a skin estiver sendo analisada - + Ctrl+Shift+D Ctrl+Shift+D - + &Help A&juda - + Show Keywheel menu title @@ -15799,74 +15983,74 @@ This can not be undone! - + Show keywheel tooltip text - + F12 Menubar|View|Show Keywheel F12 - + &Community Support &Suporte da Comunidade - + Get help with Mixxx Obtenha ajuda com o Mixxx - + &User Manual Manual do &Usuário - + Read the Mixxx user manual. Leia o manual do usuário do Mixxx. - + &Keyboard Shortcuts Atalhos de &Teclado - + Speed up your workflow with keyboard shortcuts. Acelere seu fluxo de trabalho com atalhos de teclado. - + &Settings directory - + Open the Mixxx user settings directory. - + &Translate This Application &Traduzir Este Programa - + Help translate this application into your language. Ajude a traduzir este aplicativo para o seu idioma. - + &About So&bre - + About the application Sobre a aplicação @@ -15874,25 +16058,25 @@ This can not be undone! WOverview - + Passthrough Transpassar - + Ready to play, analyzing... Text on waveform overview when file is playable but no waveform is visible - - + + Loading track... Text on waveform overview when file is cached from source - + Finalizing... Text on waveform overview during finalizing of waveform analysis @@ -15901,25 +16085,13 @@ This can not be undone! WSearchLineEdit - - Clear input - Clear the search bar input field - Limpar entrada - - - - Ctrl+F - Search|Focus - Ctrl+F - - - + Search noun Pesquisa - + Clear input Limpar entrada @@ -15930,169 +16102,163 @@ This can not be undone! Pesquisar... - + Clear the search bar input field - - Enter a string to search for - Insira uma palavra para pesquisar + + Return + Enter - - Use operators like bpm:115-128, artist:BooFar, -year:1990 + + Enter a string to search for. - - For more information see User Manual > Mixxx Library + + Use operators like bpm:115-128, artist:BooFar, -year:1990. - Shortcut - Atalho + See User Manual > Mixxx Library for more information. + - - Ctrl+F - Ctrl+F + + Focus/Select All (Search in current view) + Give search bar input focus + - - Focus - Give search bar input focus - Foco + + Focus/Select All (Search in 'Tracks' library view) + - - - Ctrl+Backspace - Ctrl+Backspace + + Additional Shortcuts When Focused: + - Shortcuts + Trigger search before search-as-you-type timeout or focus tracks view afterwards - Return - Enter + Esc or Ctrl+Return + - Trigger search before search-as-you-type timeout orjump to tracks view afterwards + Immediately trigger search and focus tracks view + Exit search bar and leave focus - + Ctrl+Space Ctrl+Space - + Toggle search history Shows/hides the search history entries - + Delete or Backspace - - Delete query from history + + in search history - - Esc - Esc - - - - Exit search - Exit search bar and leave focus - Sair da pesquisa + + Delete query from history + WSearchRelatedTracksMenu - + Search related Tracks - + Key Tom - + harmonic with %1 - + BPM BPM - + between %1 and %2 - + Artist Artista - + Album Artist Artista do Álbum - + Composer Compositor - + Title Título - + Album Álbum - + Grouping Agrupamento - + Year Ano - + Genre Gênero - + Directory - + &Search selected @@ -16100,620 +16266,625 @@ This can not be undone! WTrackMenu - + Load to - + Carregar no - + Deck - + Deck - + Sampler Sampler - + Add to Playlist Adicionar à Lista de Reprodução - + Crates Caixas - + Metadata Metadado - + Update external collections - + Cover Art Arte da Capa - + Adjust BPM - + Ajustar BPM - + Select Color - - + + Analyze Analisar - - + + Delete Track Files - + Add to Auto DJ Queue (bottom) Adicionar à fila do Auto DJ (embaixo) - + Add to Auto DJ Queue (top) Adicionar à Fila do Auto DJ (em cima) - + Add to Auto DJ Queue (replace) - + Adicionar à Fila Auto DJ (Substituir) - + Preview Deck Deck de Pré-escuta - + Remove Remover - + Remove from Playlist - + Remover da Playlist - + Remove from Crate - + Remover da Caixa - + Hide from Library Ocultar da Biblioteca - + Unhide from Library Desocultar da Biblioteca - + Purge from Library Eliminar da Biblioteca - + Move Track File(s) to Trash - + Delete Files from Disk - + Properties Propriedades - + Open in File Browser Abrir no Navegador de Arquivos - + Select in Library - + Import From File Tags Importar das Etiquetas do Arquivo - + Import From MusicBrainz - + Importar do MusicBrainz - + Export To File Tags - + Exportar Para Tags Ficheiros - + BPM and Beatgrid - + BPM e Grelha de Batidas - + Play Count - + Contador de Leitura - + Rating Classificação - + Cue Point - + Ponto de Marcação - - + + Hotcues Hotcues - + Intro - + Outro - + Key Tom - + ReplayGain ReplayGain - + Waveform - + Forma de Onda - + Comment Comentário - + All Todos - + Sort hotcues by position (remove offsets) - + Sort hotcues by position - + Lock BPM Travar o BPM - + Unlock BPM Destravar o BPM - + Double BPM Dobrar o BPM - + Halve BPM Diminuir o BPM pela metade - + 2/3 BPM 2/3 BPM - + 3/4 BPM 3/4 BPM - + 4/3 BPM 4/3 BPM - + 3/2 BPM 3/2 BPM - + + Shift Beatgrid Half Beat + + + + Reanalyze - + Reanalyze (constant BPM) - + Reanalyze (variable BPM) - + Update ReplayGain from Deck Gain - + Deck %1 Deck %1 - + Importing metadata of %n track(s) from file tags - + Marking metadata of %n track(s) to be exported into file tags - - + + Create New Playlist Criar Nova Lista de Reprodução - + Enter name for new playlist: Digite o nome para a nova lista de reprodução: - + New Playlist Nova Lista de Reprodução - - - + + + Playlist Creation Failed Falha ao Criar Lista de Reprodução - + A playlist by that name already exists. Uma lista de reprodução com esse nome já existe. - + A playlist cannot have a blank name. Uma lista de reprodução não pode ter um nome em branco. - + An unknown error occurred while creating playlist: Ocorreu um erro desconhecido ao criar a lista de reprodução: - + Add to New Crate - + Scaling BPM of %n track(s) - + Undo BPM/beats change of %n track(s) - + Locking BPM of %n track(s) Locking BPM of %n track(s)Locking BPM of %n track(s)Bloqueando o BPM de %n faixa(s) - + Unlocking BPM of %n track(s) Unlocking BPM of %n track(s)Unlocking BPM of %n track(s)Desbloqueando BPM de %n faixa(s) - + Setting rating of %n track(s) - + Setting color of %n track(s) Setting color of %n track(s)Setting color of %n track(s)Mudando a cor de %n faixa(s) - + Resetting play count of %n track(s) - + Resetting beats of %n track(s) - + Clearing rating of %n track(s) - + Clearing comment of %n track(s) - + Removing main cue from %n track(s) - + Removing outro cue from %n track(s) - + Removing intro cue from %n track(s) - + Removing loop cues from %n track(s) - + Removing hot cues from %n track(s) - + Sorting hotcues of %n track(s) by position (remove offsets) - + Sorting hotcues of %n track(s) by position - + Resetting keys of %n track(s) - + Resetting replay gain of %n track(s) - + Resetting waveform of %n track(s) - + Resetting all performance metadata of %n track(s) - + Move these files to the trash bin? - + Permanently delete these files from disk? - - + + This can not be undone! - + Cancel Cancelar - + Delete Files - + Okay - + Move Track File(s) to Trash? - + Track Files Deleted - + Track Files Moved To Trash - + %1 track files were moved to trash and purged from the Mixxx database. - + %1 track files were deleted from disk and purged from the Mixxx database. - + Track File Deleted - + Track file was deleted from disk and purged from the Mixxx database. - + The following %1 file(s) could not be deleted from disk - + This track file could not be deleted from disk - + Remaining Track File(s) - + Close Fechar - + Clear Reset metadata in right click track context menu in library - + Loops - + Clear BPM and Beatgrid - + Undo last BPM/beats change - + Move this track file to the trash bin? - + Permanently delete this track file from disk? - + All decks where these tracks are loaded will be stopped and the tracks will be ejected. - + All decks where this track is loaded will be stopped and the track will be ejected. - + Removing %n track file(s) from disk... - + Note: if you are in the Computer or Recording view you need to click the current view again to see changes. - + Track File Moved To Trash - + Track file was moved to trash and purged from the Mixxx database. - + Don't show again during this session - + The following %1 file(s) could not be moved to trash - + This track file could not be moved to trash - + Setting cover art of %n track(s) - + Reloading cover art of %n track(s) @@ -16729,37 +16900,37 @@ This can not be undone! WTrackStemMenu - + Load for stem mixing - + Load pre-mixed stereo track - + Load the "%1" stem - + Load multiple stem into a stereo deck - + Select stems to load - + Release "CTRL" to load the current selection - + Use "CTRL" to select multiple stems @@ -16767,37 +16938,37 @@ This can not be undone! WTrackTableView - + Confirm track hide - + Are you sure you want to hide the selected tracks? - + Are you sure you want to remove the selected tracks from AutoDJ queue? - + Are you sure you want to remove the selected tracks from this crate? - + Are you sure you want to remove the selected tracks from this playlist? - + Don't ask again during this session - + Confirm track removal @@ -16805,12 +16976,12 @@ This can not be undone! WTrackTableViewHeader - + Show or hide columns. Mostrar ou ocultar colunas. - + Shuffle Tracks @@ -16818,52 +16989,52 @@ This can not be undone! mixxx::CoreServices - + fonts - + database - + effects - + audio interface - + decks - + library - + Choose music library directory Escolha o diretório da biblioteca de música - + controllers - + Cannot open database Não foi possível abrir o banco de dados - + Unable to establish a database connection. Mixxx requires QT with SQLite support. Please read the Qt SQL driver documentation for information on how to build it. @@ -16877,68 +17048,78 @@ Clique OK para sair. mixxx::DlgLibraryExport - + Entire music library - - Selected crates + + Crates + + + + + Playlists + + + + + Selected crates/playlists - + Browse Navegador - + Export directory - + Database version - + Export Exportar - + Cancel Cancelar - + Export Library to Engine DJ "Engine DJ" must not be translated - + Export Library To - + No Export Directory Chosen - + No export directory was chosen. Please choose a directory in order to export the music library. - + A database already exists in the chosen directory. Exported tracks will be added into this database. - + A database already exists in the chosen directory, but there was a problem loading it. Export is not guaranteed to succeed in this situation. @@ -16948,18 +17129,18 @@ Clique OK para sair. Export Modified Track Metadata - + Exportar Metadados Modificados da Faixa Mixxx may wait to modify files until they are not loaded to any decks or samplers. If you do not see changed metadata in other programs immediately, eject the track from all decks and samplers or shutdown Mixxx. - + O Mixxx poderá esperar para modificar ficheiros até que não estejam carregados em quaisquer leitores ou samplers. Se não vir os metadados alterados noutros programas imediatamente, ejecte a faixa de todos os leitores e samplers ou encerre o Mixxx. mixxx::EnginePrimeExportJob - + Failed to export track %1 - %2: %3 %1 is the artist %2 is the title and %3 is the original error message @@ -16969,23 +17150,23 @@ Clique OK para sair. mixxx::LibraryExporter - + Export Completed - - Exported %1 track(s) and %2 crate(s). + + Exported %1 track(s), %2 crate(s), and %3 playlist(s). - + Export Failed - - Exporting to Engine Prime... + + Exporting to Engine DJ... @@ -17002,7 +17183,7 @@ Clique OK para sair. No network access - + Sem acesso a rede diff --git a/res/translations/mixxx_pt_PT.qm b/res/translations/mixxx_pt_PT.qm index 84732894e3338ac4bcf1bf7094d339f5bd187fb6..0128e59693d0dd6f62703af896a02255c65131e5 100644 GIT binary patch delta 24741 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 Sm&7cE{Q~ckKR?gA1OEa+S0R-E delta 17656 zcmYkE2V9QbAOFASoa?&xkUg_XLRn>tWUFNFjE0b`dhno|$ck(sGP7lbTOlKRl#!i? zY$D<@^Z#_+zyJUBe_k)I_jTW0<6PhK-RIoT$=H&!j@d1(V(|3)U0)Jm`sQL{ME4SWwaBWmsmdJ_lu$ z@!xw8Khly&bR-Kk8>1Ysli}b9-1{^bL@Xp8#KW7HA(AHI0d2rZ#Ah!7CljB(8JvOd zM}bjza7}PF9#9=zjL%cR4Hy6hC~X0Ef&0MQ;2~nG9l(2xP{{2c+Bki>LhvtAH|_@F#%sVX#k@+?^$1bV`U*w4|A@Nbyw$!$J{^h2FDA11%p%tMDZZFX?Avo9 z-vDABc9o8lo;{9O**CEnHTaofhCISTpuQY3xD+_&CBvhE~NlRT2$VHu?jHom>3kPkRzgF1781qzDHP*EN$!g`@zdCN zX*J2gX(T>WBzfWjqD`I(MZ_f3Gko+qO=UHuRlwC{<@roJB7u@BCLh*MpskXzUJ`W^S@tiiT zM(Vm*;3iU!zJ)owPwFXIL}Ri@9q*5Uo+N#@-b59K+gR_mLSA;Lja3R2ia*1t#PnOl zUREHx_h*S)K2XVRmKhLLZz{J6N;PK&RqPN+V)Id|wqXSEmQmzrSw(bWze2I25!FhT zh_#wTwcVhs4{K2Ercl<0J*l>L6!DR#s1B4)Jo2JCHypu9RHsRS5DA@TD()rH7K#%`*cd67iUJF3_I1yO_1$(7jvACdMszBj8dD9T4T
^Wb&q^7~e=H@{yrb8DNO{W&u0^w(N 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
*8s9qt4(>>{6X$|w4o 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 diff --git a/res/translations/mixxx_pt_PT.ts b/res/translations/mixxx_pt_PT.ts index 2fc647fdfbf9..6d3894ab0712 100644 --- a/res/translations/mixxx_pt_PT.ts +++ b/res/translations/mixxx_pt_PT.ts @@ -39,32 +39,32 @@ Limpar fila do Auto DJ - + Remove Crate as Track Source Remover Caixa como Fonte de Faixas - + Auto DJ - + Auto DJ - + Confirmation Clear Confirmar limpeza - + Do you really want to remove all tracks from the Auto DJ queue? Você tem certeza que quer remover todas as faixas da fila do Auto DJ? - + This can not be undone. Esta ação não pode ser desfeita. - + Add Crate as Track Source Adicionar Caixa como Fonte de Faixas @@ -148,7 +148,7 @@ BasePlaylistFeature - + New Playlist Playlist Nova @@ -159,7 +159,7 @@ - + Create New Playlist Criar uma Playlist Nova @@ -189,113 +189,120 @@ Duplicar - - + + Import Playlist Importar Playlist - + Export Track Files Exportar Faixas - + Analyze entire Playlist Analisar a Playlist inteira - + Enter new name for playlist: Digite o novo nome para a lista: - + Duplicate Playlist Duplicar a Lista de Reprodução - - + + Enter name for new playlist: Digite o nome para a nova lista de reprodução: - - + + Export Playlist Exportar Playlist - + Add to Auto DJ Queue (replace) Adicionar à Fila Auto DJ (Substituir) - + + + Export to Engine DJ + "Engine DJ" is a product name and must not be translated. + + + + Rename Playlist Renomear Playlist - - + + Renaming Playlist Failed Renomeação da Playlist Falhou - - - + + + A playlist by that name already exists. Já existe uma playlist com esse nome. - - - + + + A playlist cannot have a blank name. Uma playlist não pode ter um nome em branco. - + _copy //: Appendix to default name when duplicating a playlist _copiar - - - - - - + + + + + + Playlist Creation Failed Criação da Playlist Falhou - - + + An unknown error occurred while creating playlist: Ocorreu um erro desconhecido ao criar a playlist: - + Confirm Deletion Confimar a remoção - + Do you really want to delete playlist <b>%1</b>? Você realmente deseja excluir a lista de reprodução <b>%1</b>? - + M3U Playlist (*.m3u) Playlist M3U (*.m3u) - + M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Text CSV (*.csv);;Readable Text (*.txt) Playlist M3U (*.m3u);;Playlist M3U8 (*.m3u8);;Playlist PLS (*.pls);;Texto CSV (*.csv);;Documento de Texto (*.txt) @@ -303,12 +310,12 @@ BaseSqlTableModel - + # - + # - + Timestamp Data e Hora @@ -316,7 +323,7 @@ BaseTrackPlayerImpl - + Couldn't load track. Não conseguiu carregar a faixa. @@ -324,137 +331,142 @@ BaseTrackTableModel - + Album Album - + Album Artist Artista do Album - + Artist Artista - + Bitrate Taxa de Bits - + BPM - + BPM - + Channels Canais - + Color Cor - + Comment Comentário - + Composer Compositor - + Cover Art Capa do Disco - + Date Added Data Adicionada - + Last Played Última Execução - + Duration Duração - + Type Tipo - + Genre Género - + Grouping Agrupamento - + Key Tom - + Location Localização - + + Overview + + + + Preview Antevisão - + Rating Classificação - + ReplayGain ReplayGain - + Samplerate Taxa de amostragem - + Played Tocada - + Title Título - + Track # Faixa # - + Year Ano - + Fetching image ... Tooltip text on the cover art column shown when the cover is read from disk Buscando imagem ... @@ -542,67 +554,77 @@ BrowseFeature - + Add to Quick Links Adicionar a Atalhos - + Remove from Quick Links Remover de Atalhos - + Add to Library Adicionar à Biblioteca - + Refresh directory tree Recarregar pastas - + Quick Links Atalhos - - + + Devices Dispositivos - + Removable Devices Dispositivos Removíveis - - + + Computer Computador - + Music Directory Added Pasta de Música Adicionada - + You added one or more music directories. The tracks in these directories won't be available until you rescan your library. Would you like to rescan now? Adicionou uma ou mais pastas de música. As faixas nestas pastas não estarão disponíveis até reexaminar a sua biblioteca. Deseja reexaminar agora? - + Scan Examinar - + "Computer" lets you navigate, view, and load tracks from folders on your hard disk and external devices. "Computador" permite-lhe navegar, ver, e carregar faixas das pastas no seu disco duro e em dispositivos externos. + + + It shows the data from the file tags, not track data from your Mixxx library like other track views. + + + + + If you load a track file from here, it will be added to your library. + + BrowseTableModel @@ -684,7 +706,7 @@ ReplayGain - + ReplayGain @@ -727,7 +749,7 @@ The file '%1' could not be found. - + O arquivo '%1' não pôde ser encontrado. @@ -889,7 +911,7 @@ trace - Above + Profiling messages Remove Palette - + Remover Paleta @@ -1045,13 +1067,13 @@ trace - Above + Profiling messages - + Set to full volume Ajustar para o volume máximo - + Set to zero volume Ajustar para o volume zero @@ -1076,13 +1098,13 @@ trace - Above + Profiling messages Botão de rolagem reversa (Censurar) - + Headphone listen button Tecla de escuta no auscultador - + Mute button Tecla de Silêncio @@ -1093,25 +1115,25 @@ trace - Above + Profiling messages - + Mix orientation (e.g. left, right, center) Orientação da mistura (ex. esquerda, direita, centro) - + Set mix orientation to left Definir orientação da mistura à esquerda - + Set mix orientation to center Definir orientação da mixagem para o centro - + Set mix orientation to right Definir orientação da mistura à direita @@ -1152,22 +1174,22 @@ trace - Above + Profiling messages Botão de toque do BPM - + Toggle quantize mode Alternar modo de quantização - + One-time beat sync (tempo only) Sincronização pontual da batida (só tempo) - + One-time beat sync (phase only) Sincronização pontual da batida (só fase) - + Toggle keylock mode Alternar modo bloqueio de tom @@ -1177,193 +1199,193 @@ trace - Above + Profiling messages Equalizadores - + Vinyl Control Controlo de Vinil - + Toggle vinyl-control cueing mode (OFF/ONE/HOT) Alternar modo de marcação do control do vinil (OFF/ONE/HOT) - + Toggle vinyl-control mode (ABS/REL/CONST) Alternar modo de controle por vinil (CONST/ABS/REL) - + Pass through external audio into the internal mixer Passar audio externo para o misturador interno - + Cues Pontos de marcação - + Cue button Tecla de Cue - Marcação - + Set cue point Definir ponto de marcação - + Go to cue point Ir para o ponto de marcação - + Go to cue point and play Ir para o ponto de marcação e tocar - + Go to cue point and stop Ir para o ponto de marcação e parar - + Preview from cue point Antevisão a partir do ponto de marcação - + Cue button (CDJ mode) Botão Cue (modo CDJ) - + Stutter cue Marcação Stutter - + Hotcues - + Hot Cues - + Set, preview from or jump to hotcue %1 Definir, escutar de ou pular ao hotcue %1 - + Clear hotcue %1 Limpar a Hot Cue %1 - + Set hotcue %1 Definir a Hot Cue %1 - + Jump to hotcue %1 Saltar para a Hot Cue %1 - + Jump to hotcue %1 and stop Saltar para a Hot Cue %1 e parar - + Jump to hotcue %1 and play Pular para hotcue %1 e jogar - + Preview from hotcue %1 Antevisão a partir da Hot Cue %1 - - + + Hotcue %1 Hot Cue %1 - + Looping Em Loop - + Loop In button Tecla de Início de Loop - + Loop Out button Tecla de Final de Loop - + Loop Exit button Botão de saída de ciclo - + 1/2 1/2 - + 1 1 - + 2 2 - + 4 4 - + 8 8 - + 16 16 - + 32 32 - + 64 64 - + Move loop forward by %1 beats Mover o loop para frente %1 batidas - + Move loop backward by %1 beats Move o loop para trás %1 batidas - + Create %1-beat loop Criar um loop de %1-batidas - + Create temporary %1-beat loop roll Criar um loop rolado temporário de %1-batidas @@ -1479,20 +1501,20 @@ trace - Above + Profiling messages - - + + Volume Fader Cursor de Volume - + Full Volume Volume Máximo - + Zero Volume Volume Zero @@ -1508,7 +1530,7 @@ trace - Above + Profiling messages - + Mute Silênciar @@ -1519,7 +1541,7 @@ trace - Above + Profiling messages - + Headphone Listen Escuta de Auscultador @@ -1540,25 +1562,25 @@ trace - Above + Profiling messages - + Orientation Orientação - + Orient Left Orientar Esquerda - + Orient Center Orientar Centro - + Orient Right Orientar Direita @@ -1575,7 +1597,7 @@ trace - Above + Profiling messages BPM +0.1 - + BPM +0.1 @@ -1628,82 +1650,82 @@ trace - Above + Profiling messages Move a grade de batidas à direita - + Adjust Beatgrid Ajustar Grelha de Batidas - + Align beatgrid to current position Alinhar a grelha de batidas para a posição corrente - + Adjust Beatgrid - Match Alignment Ajustar Grelha de Batidas - Igualar Alinhamento - + Adjust beatgrid to match another playing deck. Ajusta a grelha de batidas para corresponder um outro leitor em reprodução. - + Quantize Mode Modo Quantização - + Sync Sincronização - + Beat Sync One-Shot Sincronizar a Batida De Uma Vez - + Sync Tempo One-Shot Sincronizar Tempo - One-Shot - + Sync Phase One-Shot Sincronizar a Fase De Uma Vez - + Pitch control (does not affect tempo), center is original pitch Controlo de tom (não afeta o tempo), ao centro é o tom original - + Pitch Adjust Ajustar Tom - + Adjust pitch from speed slider pitch Ajustar o tom com o cursor de velocidade - + Match musical key Igualar o tom musical - + Match Key Igualar Tom - + Reset Key Reiniciar Tom - + Resets key to original Reiniciar o tom para o original @@ -1744,451 +1766,451 @@ trace - Above + Profiling messages EQ Baixos - + Toggle Vinyl Control Alternar Controlo do Vinil - + Toggle Vinyl Control (ON/OFF) Alternar o Controle por Vinil (Ligado/Desligado) - + Vinyl Control Mode Modo Controlo do Vinil - + Vinyl Control Cueing Mode Controlo do Vinil Modo Marcação - + Vinyl Control Passthrough Controlo do Vinil Passthrough - + Vinyl Control Next Deck Controlo do Vinil Próximo Leitor - + Single deck mode - Switch vinyl control to next deck Modo leitor único - Comutar o controlo do vinil para Próximo Leitor - + Cue Marcação - + Set Cue Definir Cue - + Go-To Cue Ir para Marcação - + Go-To Cue And Play Ir para Marcação e Tocar - + Go-To Cue And Stop Ir para Marcação e Parar - + Preview Cue Antevisão Marcação - + Cue (CDJ Mode) Cue (Modo CDJ) - + Stutter Cue Marcação Stutter - + Go to cue point and play after release Avança até ao Cue Point e toca a faixa após largar o botão. - + Clear Hotcue %1 Limpar Hotcue %1 - + Set Hotcue %1 Definir Hot Cue %1 - + Jump To Hotcue %1 Pular Para Hotcue %1 - + Jump To Hotcue %1 And Stop Pular Para Hotcue %1 e Parar - + Jump To Hotcue %1 And Play Pular Para Hotcue %1 e Tocar - + Preview Hotcue %1 Antevisão Hot Cue %1 - + Loop In Início de Loop - + Loop Out Final de Loop - + Loop Exit Saída do Loop - + Reloop/Exit Loop Reloop/Saída do Loop - + Loop Halve Divide o Loop pela Metade - + Loop Double Dobrar o Loop - + 1/32 1/32 - + 1/16 1/16 - + 1/8 - + 1/8 - + 1/4 - + 1/4 - + Move Loop +%1 Beats Mover Loop +%1 Batidas - + Move Loop -%1 Beats Mover Loop -%1 Batidas - + Loop %1 Beats Loop %1 Batidas - + Loop Roll %1 Beats Loopar Temporariamente %1 Batidas - + Add to Auto DJ Queue (bottom) Adicionar à fila do Auto DJ (embaixo) - + Append the selected track to the Auto DJ Queue Coloca a faixa selecionada no final da fila Auto DJ - + Add to Auto DJ Queue (top) Adicionar à Fila do Auto DJ (em cima) - + Prepend selected track to the Auto DJ Queue Adicionar a faixa selecionada no começo da fila do Auto DJ - + Load Track Carregar Faixa - + Load selected track Carregar faixa selecionada - + Load selected track and play Carrega a faixa selecionada e toca - - + + Record Mix Gravar Mixagem - + Toggle mix recording Alternar gravação da mistura - + Effects Efeitos - + Quick Effects Efeitos Rápidos - + Deck %1 Quick Effect Super Knob Leitor %1 Super Botão de Efeito Rápido - + Quick Effect Super Knob (control linked effect parameters) Super Botão de Efeito Rápido (controla os parâmetros do efeito a que está ligado) - - + + Quick Effect Efeito Rápido - + Clear Unit Limpar Unidade - + Clear effect unit Limpar unidade de efeitos - + Toggle Unit Alternar Unidade - + Dry/Wet Seco/Molhado - + Adjust the balance between the original (dry) and processed (wet) signal. Define o balançoentre o sinal original (seco) e o processado (molhado). - + Super Knob Super Botão - + Next Chain Próxima Cadeia - + Assign Atribuir - + Clear Limpar - + Clear the current effect Limpar o efeito corrente - + Toggle Ligar/Desligar - + Toggle the current effect Alternar o efeito corrente - + Next Próximo - + Switch to next effect Muda para o próximo efeito - + Previous Anterior - + Switch to the previous effect Comutar para o efeito anterior - + Next or Previous Próximo ou Anterior - + Switch to either next or previous effect Comutar quer para o próximo ou anterior efeito - - + + Parameter Value Valor Parâmetro - - + + Microphone Ducking Strength Força da Redução de Música do Microfone - + Microphone Ducking Mode Modo Talk-Over - + Gain Ganho - + Gain knob Botão de ganho - + Shuffle the content of the Auto DJ queue Reproduzir aleatoriamente o conteúdo da fila Auto DJ - + Skip the next track in the Auto DJ queue Salta a próxima faixa na fila do Auto DJ - + Auto DJ Toggle Ligar/Desligar Auto DJ - + Toggle Auto DJ On/Off Ligar/Desligar Auto DJ - + Show/hide the microphone & auxiliary section - + 4 Effect Units Show/Hide - + Switches between showing 2 and 4 effect units - + Mixer Show/Hide - + Show or hide the mixer. Mostra ou oculta o misturador. - + Cover Art Show/Hide (Library) - + Show/hide cover art in the library - + Library Maximize/Restore Maximizar/Restaurar Biblioteca - + Maximize the track library to take up all the available screen space. Maximiza a biblioteca de faixas para ocupar todo o espaço disponível do ecrã. - + Effect Rack Show/Hide Mostrar/Ocultar Prateleira de Efeitos - + Show/hide the effect rack Mostra/Oculta a prateleira de efeitos - + Waveform Zoom Out Reduzir Forma de Onda @@ -2203,102 +2225,102 @@ trace - Above + Profiling messages Ganho dos auscultadores - + Tap to sync tempo (and phase with quantize enabled), hold to enable permanent sync Bater para sincronizar o tempo (e fase com a quantização validada), manter para permitir sincronização permanente - + One-time beat sync tempo (and phase with quantize enabled) Sincronizar o tempo da batida de uma só vez (e fase com a quantização validada) - + Playback Speed Velocidadede Leitura - + Playback speed control (Vinyl "Pitch" slider) Controle da velocidade da reprodução (Deslizante de "Pitch" do Vinil) - + Pitch (Musical key) Tom (Nota musical) - + Increase Speed Aumentar a Velocidade - + Adjust speed faster (coarse) Ajusta a velocidade mais rápida (grosseiro) - + Increase Speed (Fine) Aumentar Velocidade (Fino) - + Adjust speed faster (fine) Aumentar a velocidade (fino) - + Decrease Speed Diminuir a Velocidade - + Adjust speed slower (coarse) Ajusta a velocidade mais lenta (grosseiro) - + Adjust speed slower (fine) Ajusta a velocidade mais lenta (fino) - + Temporarily Increase Speed Temporariamente Aumentar a Velocidade - + Temporarily increase speed (coarse) Aumentar a velocidade temporariamente (grosseiro) - + Temporarily Increase Speed (Fine) Temporariamente Aumentar a Velocidade (Fino) - + Temporarily increase speed (fine) Temporariamente aumentar a velocidade (fino) - + Temporarily Decrease Speed Diminuir Velocidade Temporariamente - + Temporarily decrease speed (coarse) Diminuir a velocidade temporariamente (grosseiro) - + Temporarily Decrease Speed (Fine) Diminuir Velocidade Temporariamente (Fino) - + Temporarily decrease speed (fine) Diminuir a velocidade temporariamente (fino) @@ -2450,1053 +2472,1063 @@ trace - Above + Profiling messages - - + + Move Beatgrid Half a Beat + + + + + Adjust the beatgrid by exactly one half beat. Usable only for tracks with constant tempo. + + + + + Toggle the BPM/beatgrid lock - + Revert last BPM/Beatgrid Change - + Revert last BPM/Beatgrid Change of the loaded track. - + Sync / Sync Lock - + Internal Sync Leader - + Toggle Internal Sync Leader - - + + Internal Leader BPM - + Internal Leader BPM +1 - + Increase internal Leader BPM by 1 - + Internal Leader BPM -1 - + Decrease internal Leader BPM by 1 - + Internal Leader BPM +0.1 - + Increase internal Leader BPM by 0.1 - + Internal Leader BPM -0.1 - + Decrease internal Leader BPM by 0.1 - + Sync Leader - + Sync mode 3-state toggle / indicator (Off, Soft Leader, Explicit Leader) - + Speed Velocidade - + Decrease Speed (Fine) Diminuir velocidade (Fino) - + Pitch (Musical Key) Pitch (Tom musical) - + Increase Pitch - + Increases the pitch by one semitone - + Increase Pitch (Fine) - + Increases the pitch by 10 cents - + Decrease Pitch - + Decreases the pitch by one semitone - + Decrease Pitch (Fine) - + Decreases the pitch by 10 cents - + Keylock Bloqueio de Tom - + CUP (Cue + Play) CUP (Cue + Play, ou seja Cue + Toca a faixa) - + Shift cue points earlier - + Shift cue points 10 milliseconds earlier - + Shift cue points earlier (fine) - + Shift cue points 1 millisecond earlier - + Shift cue points later - + Shift cue points 10 milliseconds later - + Shift cue points later (fine) - + Shift cue points 1 millisecond later - - + + Sort hotcues by position - - + + Sort hotcues by position (remove offsets) - + Hotcues %1-%2 - + Intro / Outro Markers - + Intro Start Marker - + Intro End Marker - + Outro Start Marker - + Outro End Marker - + intro start marker - + intro end marker - + outro start marker - + outro end marker - + Activate %1 [intro/outro marker - + Jump to or set the %1 [intro/outro marker - + Set %1 [intro/outro marker - + Set or jump to the %1 [intro/outro marker - + Clear %1 [intro/outro marker - + Clear the %1 [intro/outro marker - + if the track has no beats the unit is seconds - + Loop Selected Beats Loop de Batidas Selecionadas - + Create a beat loop of selected beat size Criar um loop de batidas do tamanho selecionado - + Loop Roll Selected Beats Loop Rolado Batidas Selecionadas - + Create a rolling beat loop of selected beat size Criar um loop rolado de batidas do tamanho selecionado - + Loop %1 Beats set from its end point - + Loop Roll %1 Beats set from its end point - + Create %1-beat loop with the current play position as loop end - + Create temporary %1-beat loop roll with the current play position as loop end - + Loop Beats - + Loop Roll Beats - + Go To Loop In Ir para Loop In - + Go to Loop In button Botão de Ir para o Fim do Loop - + Go To Loop Out Ir para o Fim do Loop - + Go to Loop Out button Botão de Ir para o Fim do Loop - + Toggle loop on/off and jump to Loop In point if loop is behind play position Alterna entre ligar/desligar o loop e salta para o ponto Início de Loop, se o loop estiver atrás da posição de leitura - + Reloop And Stop Reloop e Parar - + Enable loop, jump to Loop In point, and stop Ativa o loop, salta para o ponto de Início de Loop, e pára. - + Halve the loop length Reduzir o loop pela metade - + Double the loop length Duplica o comprimento do loop - + Beat Jump / Loop Move Saltar Batidas / Mover Loop - + Jump / Move Loop Forward %1 Beats Saltar / Mover o Loop para a Frente %1 Batidas - + Jump / Move Loop Backward %1 Beats Saltar / Mover o Loop para Trás %1 Batidas - + Jump forward by %1 beats, or if a loop is enabled, move the loop forward %1 beats Saltar para a frente %1 batidas, ou se o loop estiver ativado, mover o loop para a frente %1 batidas - + Jump backward by %1 beats, or if a loop is enabled, move the loop backward %1 beats Saltar para trás %1 batidas, ou se o loop estiver ativado, mover o loop para trás %1 batidas - + Beat Jump / Loop Move Forward Selected Beats Saltar Batidas / Mover Loop Frente Batidas Selecionadas - + Jump forward by the selected number of beats, or if a loop is enabled, move the loop forward by the selected number of beats Saltar para a frente do número de batidas selecionadas, ou se o loop estiver ativado, mover o loop para a frente o número de batidas selecionadas - + Beat Jump / Loop Move Backward Selected Beats Saltar Batida / Mover Loop Atraso Batidas Selecionadas - + Jump backward by the selected number of beats, or if a loop is enabled, move the loop backward by the selected number of beats Saltar para trás o número de batidas selecionadas, ou se o loop estiver ativado, mover o loop para trás o número de batidas selecionadas - + Beat Jump - + Indicate which loop marker remain static when adjusting the size or is inherited from the current position - + Beat Jump / Loop Move Forward - + Beat Jump / Loop Move Backward - + Loop Move Forward - + Loop Move Backward - + Remove Temporary Loop - + Remove the temporary loop - + Navigation Navegação - + Move up Mover acima - + Equivalent to pressing the UP key on the keyboard Equivalente a pressionar a SETA ACIMA no teclado - + Move down Mover abaixo - + Equivalent to pressing the DOWN key on the keyboard Equivalente a pressionar a SETA ABAIXO no teclado - + Move up/down Mover acima/abaixo - + Move vertically in either direction using a knob, as if pressing UP/DOWN keys Move verticalmente em uma das direções usando um botão, como se pressionasse as teclas ACIMA/ABAIXO - + Scroll Up Rolar Cima - + Equivalent to pressing the PAGE UP key on the keyboard Equivalente a pressionar a tecla PAGE UP no teclado - + Scroll Down Rolar abaixo - + Equivalent to pressing the PAGE DOWN key on the keyboard Equivalente a pressionar a tecla PAGE DOWN no teclado - + Scroll up/down Rolar acima/abaixo - + Scroll vertically in either direction using a knob, as if pressing PGUP/PGDOWN keys Rolar verticalmente em uma das direções usando um botão, como se pressionasse as teclas PAGE UP/PAGE DOWN - + Move left Mover esquerda - + Equivalent to pressing the LEFT key on the keyboard Equivalente a pressionar a SETA À ESQUERDA no teclado - + Move right Mover direita - + Equivalent to pressing the RIGHT key on the keyboard Equivalente a pressionar a SETA À DIREITA no teclado - + Move left/right Mover à esquerda/direita - + Move horizontally in either direction using a knob, as if pressing LEFT/RIGHT keys Mova horizontalmente em uma das direções usando um botão, como ao pressionar as teclas ESQUERDA/DIREITA - + Move focus to right pane Move o foco ao painel da direita - + Equivalent to pressing the TAB key on the keyboard Equivalente a pressionar a tecla TAB no teclado - + Move focus to left pane Mover o foco para o painel da esquerda - + Equivalent to pressing the SHIFT+TAB key on the keyboard Equivalente a pressionar a tecla SHIFT+TAB no teclado - + Move focus to right/left pane Mover o foco para o painel direita/esquerda - + Move focus one pane to right or left using a knob, as if pressing TAB/SHIFT+TAB keys Move o foco um painel à direita ou esquerda usando um botão, como se pressionasse TAB/SHIFT-TAB - + Sort focused column - + Sort the column of the cell that is currently focused, equivalent to clicking on its header - + Go to the currently selected item Ir para o item seleccionado correntemente - + Choose the currently selected item and advance forward one pane if appropriate Escolher o item seleccionado correntemente e avançar um para a frente - + Load Track and Play - + Add to Auto DJ Queue (replace) Adicionar à Fila Auto DJ (Substituir) - + Replace Auto DJ Queue with selected tracks Substituir Fila Auto DJ com as faixas selecionadas - + Select next search history - + Selects the next search history entry - + Select previous search history - + Selects the previous search history entry - + Move selected search entry - + Moves the selected search history item into given direction and steps - + Clear search - + Clears the search query - - + + Select Next Color Available - + Select the next color in the color palette for the first selected track - - + + Select Previous Color Available - + Select the previous color in the color palette for the first selected track - + Deck %1 Quick Effect Enable Button Botão de Ativar Efeito Rápido no Leitor %1 - + Quick Effect Enable Button Botão de Ativar Efeito Rápido - + Enable or disable effect processing Ativar ou desativar processamento de efeitos - + Super Knob (control effects' Meta Knobs) Super Botão (controla os efeitos dos Meta Botões) - + Mix Mode Toggle Alternar Modo Mistura - + Toggle effect unit between D/W and D+W modes Alternar unidade de efeito entre os modos S/M e S+M - + Next chain preset Próxima cadeia predefinida - + Previous Chain Corrente Anterior - + Previous chain preset Prédefinição de corrente anterior - + Next/Previous Chain Próxima/Anterior Cadeia - + Next or previous chain preset Prédefinição da corrente seguinte ou anterior - - + + Show Effect Parameters Mostrar Parâmetros dos Efeitos - + Effect Unit Assignment - + Meta Knob Botão Meta - + Effect Meta Knob (control linked effect parameters) Meta Botão Efeitos (controla os parâmetros dos efeitos a que está ligado) - + Meta Knob Mode Modo Meta Botão - + Set how linked effect parameters change when turning the Meta Knob. Define como mudam os efeitos a que está ligado, quando se roda o Meta Botão. - + Meta Knob Mode Invert Inverter Modo Meta Botão - + Invert how linked effect parameters change when turning the Meta Knob. Inverter como mudam os efeitos a que está ligado, quando se roda o Meta Botão. - - + + Button Parameter Value - + Microphone / Auxiliary Microfone / Auxiliar - + Microphone On/Off Microfone Ligar/Desligar - + Microphone on/off Microfone ligar/desligar - + Toggle microphone ducking mode (OFF, AUTO, MANUAL) Alternar entre modos de redução de música do microfone (DESLIGADO, AUTOMÁTICO, MANUAL) - + Auxiliary On/Off Ligar/Desligar Auxiliar - + Auxiliary on/off Auxiliar ligar/desligar - + Auto DJ Auto DJ - + Auto DJ Shuffle Auto DJ Aleatório - + Auto DJ Skip Next Auto DJ Saltar Próxima - + Auto DJ Add Random Track - + Add a random track to the Auto DJ queue - + Auto DJ Fade To Next Auto DJ Fade para Próxima - + Trigger the transition to the next track Inicia a transição para a próxima música - + User Interface Interface do Utilizador - + Samplers Show/Hide Samplers Mostrar/Ocultar - + Show/hide the sampler section Mostrar/ocultar a seção sampler - + Microphone && Auxiliary Show/Hide keep double & to prevent creation of keyboard accelerator - + Waveform Zoom Reset To Default - + Reset the waveform zoom level to the default value selected in Preferences -> Waveforms - + Select the next color in the color palette for the loaded track. - + Select previous color in the color palette for the loaded track. - + Navigate Through Track Colors - + Select either next or previous color in the palette for the loaded track. - + Start/Stop Live Broadcasting - + Stream your mix over the Internet. Fazer stream da sua mistura através da Internet. - + Start/stop recording your mix. - - + + Samplers - + Vinyl Control Show/Hide Controlo do Vinil Mostrar/Ocultar - + Show/hide the vinyl control section Mostra/oculta a seção de controlo do vinil - + Preview Deck Show/Hide Leitor de Antevisão Mostrar/Ocultar - + Show/hide the preview deck Mostrar/Ocultar o deck de pré-escuta - + Toggle 4 Decks Alternar 4 Leitores - + Switches between showing 2 decks and 4 decks. Comuta entre mostrar 2 leitores e 4 leitores. - + Cover Art Show/Hide (Decks) - + Show/hide cover art in the main decks - + Vinyl Spinner Show/Hide Mostrar/Ocultar Vinil Giratório - + Show/hide spinning vinyl widget Mostra/oculta o widget simulador de gira discos a rodar - + Vinyl Spinners Show/Hide (All Decks) - + Show/Hide all spinnies - + Toggle Waveforms - + Show/hide the scrolling waveforms. - + Mostrar/esconder as ondas. - + Waveform zoom Aproximação das ondas - + Waveform Zoom Aproximação das Ondas - + Zoom waveform in Ampliar a forma de onda - + Waveform Zoom In Aproximar Ondas - + Zoom waveform out Reduzir a forma de onda - + Star Rating Up - + Increase the track rating by one star - + Star Rating Down - + Decrease the track rating by one star @@ -3611,34 +3643,34 @@ trace - Above + Profiling messages ControllerScriptEngineBase - + The functionality provided by this controller mapping will be disabled until the issue has been resolved. - + You can ignore this error for this session but you may experience erratic behavior. - + Try to recover by resetting your controller. Tente recuperar reiniciando o seu controlador. - + Controller Mapping Error - + The mapping for your controller "%1" is not working properly. - + The script code needs to be fixed. - + O código do script precisa de ser corrigido. @@ -3744,7 +3776,7 @@ trace - Above + Profiling messages Importar Caixa - + Export Crate Exportar Caixa @@ -3754,7 +3786,7 @@ trace - Above + Profiling messages Destravar - + An unknown error occurred while creating crate: Ocorreu um erro desconhecido ao criar a caixa: @@ -3763,12 +3795,6 @@ trace - Above + Profiling messages Rename Crate Renomear Caixa - - - - Export to Engine Prime - - Make a crate for your next gig, for your favorite electrohouse tracks, or for your most requested tracks. @@ -3786,17 +3812,17 @@ trace - Above + Profiling messages Renomeação da Caixa Falhou - + Crate Creation Failed Criação da Caixa Falhou - + M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Text CSV (*.csv);;Readable Text (*.txt) Playlist M3U (*.m3u);;Playlist M3U8 (*.m3u8);;Playlist PLS (*.pls);;Texto CSV (*.csv);;Documento de Texto (*.txt) - + M3U Playlist (*.m3u) Lista de Reprodução M3U (*.m3u) @@ -3805,6 +3831,12 @@ trace - Above + Profiling messages Crates are a great way to help organize the music you want to DJ with. Uma ótima maneira para ajudar você a organizar as músicas que você quer tocar é a de colocar elas em caixas. + + + + Export to Engine DJ + + Crates let you organize your music however you'd like! @@ -3916,12 +3948,12 @@ trace - Above + Profiling messages Colaboradores antigos - + Official Website - + Donate @@ -3939,7 +3971,7 @@ trace - Above + Profiling messages Unknown - + Desconhecido @@ -4102,7 +4134,7 @@ Shortcut: Shift+F9 Seconds - + Segundos @@ -4168,7 +4200,7 @@ crossfader, so that the intro starts at full volume. Repeat - + Repetir @@ -4256,7 +4288,9 @@ This can speed up beat detection on slower computers but may result in lower qua Converts beats detected by the analyzer into a fixed-tempo beatgrid. Use this setting if your tracks have a constant tempo (e.g. most electronic music). Often results in higher quality beatgrids, but will not do well on tracks that have tempo shifts. - + Converte batidas detectada pelo analisador em uma grade de batidas de tempo fixo. +Use esta configuração se suas faixas tem um tempo constante (como a maioria das músicas eletrônicas). +Frequentemente resulta em grades de batida de melhor qualidade, e não funciona direito em faixas que tem mudanças de tempo. @@ -4376,7 +4410,7 @@ Often results in higher quality beatgrids, but will not do well on tracks that h Invert - + Inverter @@ -4434,42 +4468,45 @@ Often results in higher quality beatgrids, but will not do well on tracks that h Se o mapeamento não estiver a funcionar tente validar uma opção avançada abaixo e depois tente o controlo de novo. Ou clique repetir para redetetar o controlo midi. - + Didn't get any midi messages. Please try again. - + Não recebi nenhuma mensagem MIDI. Por favor tente de novo. - + Unable to detect a mapping -- please try again. Be sure to only touch one control at once. Não foi possível detectar o mapeamento -- por favor tente de novo. Esteja certo de mexer apenas um controle de cada vez. - + Successfully mapped control: Controle mapeado com sucesso: - + <i>Ready to learn %1</i> <i>Pronto para aprender %1</i> - + Learning: %1. Now move a control on your controller. Aprendendo: %1. Agora mova o controle em seu controlador. - + The selected control does not exist.<br>This likely a bug. Please report it on the Mixxx bug tracker.<br><a href='https://github.com/mixxxdj/mixxx/issues'>https://github.com/mixxxdj/mixxx/issues</a><br><br>You tried to learn: %1,%2 - + The control you clicked in Mixxx is not learnable. This could be because you are either using an old skin and this control is no longer supported, or you clicked a control that provides visual feedback and can only be mapped to outputs like LEDs via scripts. You tried to learn: %1,%2 - + O controle que você clicou no Mixxx não pode ser mapeado. +Isso pode ser porque você está usando um tema antigo e esse controle não é mais suportado, ou você clicou em um controle que provê feedback visual e só pode ser mapeado em saídas como LEDs por meio de scripts. + +Você tentou mapear: %1,%2 @@ -4485,7 +4522,7 @@ You tried to learn: %1,%2 Developer Tools - + Ferramentas de Desenvolvimento @@ -4503,17 +4540,17 @@ You tried to learn: %1,%2 Descarga para csv - + Log Registo - + Search Procurar - + Stats Estatísticas @@ -4647,7 +4684,7 @@ You tried to learn: %1,%2 % - + % @@ -4736,7 +4773,7 @@ You tried to learn: %1,%2 Opus - + Opus @@ -4746,12 +4783,12 @@ You tried to learn: %1,%2 HE-AAC - + HE-AAC HE-AACv2 - + HE-AACv2 @@ -4839,7 +4876,7 @@ Two source connections to the same server that have the same mountpoint can not Mixxx Icecast Testing - + Mixxx Teste Icecast @@ -4909,7 +4946,7 @@ Two source connections to the same server that have the same mountpoint can not AIM - + AIM @@ -5000,7 +5037,7 @@ Two source connections to the same server that have the same mountpoint can not Login - + Login @@ -5100,7 +5137,7 @@ Two source connections to the same server that have the same mountpoint can not By hotcue number - + Por número do hotcue @@ -5134,7 +5171,7 @@ Two source connections to the same server that have the same mountpoint can not Hotcue palette - + Paleta de hotcue @@ -5166,114 +5203,114 @@ associated with each key. DlgPrefController - + Apply device settings? Aplicar definições do dispositivo? - + Your settings must be applied before starting the learning wizard. Apply settings and continue? Suas configurações devem ser aplicadas antes de começar o assistente de configuração. Aplicar as configurações e continuar? - + None Nenhum - + %1 by %2 %1 por %2 - + Mapping has been edited - + Always overwrite during this session - + Save As - + Overwrite - + Save user mapping - + Enter the name for saving the mapping to the user folder. - + Saving mapping failed - + A mapping cannot have a blank name and may not contain special characters. - + A mapping file with that name already exists. - + Do you want to save the changes? - + Troubleshooting Solução de Problemas - + <font color='#BB0000'><b>If you use this mapping your controller may not work correctly. Please select another mapping or disable the controller.</b></font><br><br>This mapping was designed for a newer Mixxx Controller Engine and cannot be used on your current Mixxx installation.<br>Your Mixxx installation has Controller Engine version %1. This mapping requires a Controller Engine version >= %2.<br><br>For more information visit the wiki page on <a href='https://mixxx.org/wiki/doku.php/controller_engine_versions'>Controller Engine Versions</a>. - + Mapping already exists. - + <b>%1</b> already exists in user mapping folder.<br>Overwrite or save with a new name? - + Clear Input Mappings Limpar Mapeamentos de Entrada - + Are you sure you want to clear all input mappings? Tem a certeza que deseja limpar todas os mapeamentos de entrada? - + Clear Output Mappings Limpar Mapeamentos de Saída - + Are you sure you want to clear all output mappings? Tem certeza de que deseja limpar todos os mapeamentos de saída? @@ -5291,100 +5328,100 @@ Aplicar as configurações e continuar? Ativada - + Device Info - + Physical Interface: - + Vendor name: - + Product name: - + Vendor ID - + VID: - + Product ID - + PID: - + Serial number: - + USB interface number: - + HID Usage-Page: - + HID Usage: - + Description: Descrição: - + Support: Suporte: - + Screens preview - + Input Mappings Mapeamento de Entrada - - + + Search Pesquisa - - + + Add Adicionar - - + + Remove Remover @@ -5404,17 +5441,17 @@ Aplicar as configurações e continuar? - + Mapping Info - + Author: Autor: - + Name: Nome: @@ -5424,28 +5461,28 @@ Aplicar as configurações e continuar? Assistente de Configuração (Somente MIDI) - + Data protocol: - + Mapping Files: - + Mapping Settings - - + + Clear All Limpar Tudo - + Output Mappings Mapeamentos de Saída @@ -5604,6 +5641,16 @@ Aplicar as configurações e continuar? Multi-Sampling + + + Force 3D acceleration + + + + + If checked, Mixxx will always assume 3D acceleration is available. This may lead to pour performance if only CP-backed rendering is available.. + + Start in full-screen mode @@ -5617,7 +5664,7 @@ Aplicar as configurações e continuar? Off - + Inactivo @@ -5750,7 +5797,7 @@ Aplicar as configurações e continuar? 16% - + 16% @@ -5899,7 +5946,7 @@ You can always drag-and-drop tracks on screen to clone a deck. Double-press Load button to clone playing track - + Pressione Carregar duas vezes para clonar uma faixa que está tocando @@ -6218,62 +6265,62 @@ You can always drag-and-drop tracks on screen to clone a deck. DlgPrefInterface - + The minimum size of the selected skin is bigger than your screen resolution. O tamanho mínimo da skin selecionada é maior do que a sua resolução de tela. - + Allow screensaver to run Permitir correr o protetor de ecrã - + Prevent screensaver from running Impedir correr o protetor de ecrã - + Prevent screensaver while playing Prevenir o protetor de tela quando tocando - + Disabled - + 2x MSAA - + 4x MSAA - + 8x MSAA - + 16x MSAA - + This skin does not support color schemes Esta Skin não suporta esquemas de cores - + Information Informação - + Mixxx must be restarted before the new locale, scaling or multi-sampling settings will take effect. @@ -6354,7 +6401,7 @@ and allows you to pitch adjust them for harmonic mixing. OpenKey - + OpenKey @@ -6364,7 +6411,7 @@ and allows you to pitch adjust them for harmonic mixing. Traditional - + Tradicional @@ -6721,7 +6768,7 @@ and allows you to pitch adjust them for harmonic mixing. 250 px - + 250 px @@ -6756,7 +6803,7 @@ and allows you to pitch adjust them for harmonic mixing. ... - + ... @@ -6874,7 +6921,7 @@ and allows you to pitch adjust them for harmonic mixing. Crossfader Preferences - + Preferências do Crossfader @@ -6899,7 +6946,7 @@ and allows you to pitch adjust them for harmonic mixing. Scratching - + Scratching @@ -6914,7 +6961,7 @@ and allows you to pitch adjust them for harmonic mixing. Reverse crossfader (Hamster Style) - + Crossfader Invertido (Estilo Hamster) @@ -6924,12 +6971,12 @@ and allows you to pitch adjust them for harmonic mixing. Only allow EQ knobs to control EQ-specific effects - + Apenas deixar botões de EQ controlarem efeitos de EQ Uncheck to allow any effect to be loaded into the EQ knobs. - + Desmarque para deixar qualquer efeito ser carregado para os botões de EQ @@ -6939,7 +6986,7 @@ and allows you to pitch adjust them for harmonic mixing. Uncheck to allow different decks to use different EQ effects. - + Desmarque para deixar decks usarem diferentes efeitos de EQ @@ -6959,17 +7006,17 @@ and allows you to pitch adjust them for harmonic mixing. When checked, EQs are not processed, improving performance on slower computers. - + Quando marcado, os EQs não são processados, melhorando a performance em computadores lentos. Resets the equalizers to their default values when loading a track. - + Redefine os equalizadores para os seus valores padrão ao carregar uma faixa. Reset equalizers on track load - + Redefinir os equalizadores ao carregar uma faixa @@ -7000,13 +7047,13 @@ and allows you to pitch adjust them for harmonic mixing. 16 Hz - + 16 Hz 20.05 kHz - + 20.05 kHz @@ -7113,12 +7160,12 @@ and allows you to pitch adjust them for harmonic mixing. 10ms - + 10ms 256 - + 256 @@ -7128,12 +7175,12 @@ and allows you to pitch adjust them for harmonic mixing. 100Hz - + 100Hz 250ms - + 250ms @@ -7217,7 +7264,7 @@ and allows you to pitch adjust them for harmonic mixing. Recordings directory invalid - + Diretório de gravações inválido @@ -7245,7 +7292,7 @@ and allows you to pitch adjust them for harmonic mixing. Recording Preferences - + Preferências Gravação @@ -7271,12 +7318,12 @@ and allows you to pitch adjust them for harmonic mixing. Author - + Autor Album - + Album @@ -7440,173 +7487,172 @@ The loudness target is approximate and assumes track pregain and main output lev DlgPrefSound - + %1 Hz %1 Hz - + Default (long delay) Padrão (atraso longo) - + Experimental (no delay) Experimental (sem atraso) - + Disabled (short delay) Desativada (atraso curto) - + Soundcard Clock Relógio Placa de Som - + Network Clock Relógio da Rede - + Direct monitor (recording and broadcasting only) Monição direta (apenas gravação e emissão) - + Disabled Desativado - + Enabled Ativado - + Stereo Estéreo - + Mono Mono - + To enable Realtime scheduling (currently disabled), see the %1. - + The %1 lists sound cards and controllers you may want to consider for using Mixxx. - + Mixxx DJ Hardware Guide - + Information - + Mixxx must be restarted before the multi-threaded RubberBand setting change will take effect. - + auto (<= 1024 frames/period) auto (<= 1024 quadros/período) - + 2048 frames/period 2048 quadros/período - + 4096 frames/period 4096 quadros/período - + Are you sure? - + Distribute stereo channels into mono channels for parallel processing will result in a loss of mono compatibility and a diffuse stereo image. It is not recommended during broadcasting or recording. - + Are you sure you wish to proceed? - + No - + Yes, I know what I am doing - + Microphone inputs are out of time in the record & broadcast signal compared to what you hear. As entradas de microfone estão fora de tempo no sinal gravar e emitir comparado com o que ouve. - + Measure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. Medir a latência de ida e volta e introduza-a acima para Compensação da Latência do Microfone de maneira a alinhar o tempo do microfone. - - + Refer to the Mixxx User Manual for details. Consulte o Manual do Utilizador do Mixxx para detalhes. - + Configured latency has changed. A latência configurada foi alterada. - + Remeasure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. Volta a medir a latência de ida e volta e introduza-a acima para Compensação da Latência do Microfone de maneira a alinhar o tempo do microfone. - + Realtime scheduling is enabled. O agendamento em tempo real está ativado. - + Main output only - + Main and booth outputs - + %1 ms %1 ms - + Configuration error Erro de configuração @@ -7624,131 +7670,131 @@ The loudness target is approximate and assumes track pregain and main output lev API de Som - + Sample Rate Taxa de Amostragem - + Audio Buffer Buffer de Áudio - + Engine Clock Relógio Motor - + Use soundcard clock for live audience setups and lowest latency.<br>Use network clock for broadcasting without a live audience. Use o relógio da placa de som para montagens com audiência ao vivo e a menor latência.<br>Use o relógio de rede para emissões sem audiência ao vivo. - + Main Mix - + Main Output Mode - + Microphone Monitor Mode Modo Monição Microfone - + Microphone Latency Compensation Compensação da Latência do Microfone - - - - + + + + ms milliseconds ms - + 20 ms 20 ms - + Buffer Underflow Count Contagem Buffer Underflow - + 0 - + 0 - + Keylock/Pitch-Bending Engine Motor Keylock/Pitch-Bending - + Multi-Soundcard Synchronization Sincronização Multi-Soundcard - + Output Saída - + Input Entrada - + System Reported Latency Latência Relatada pelo Sistema - + Enlarge your audio buffer if the underflow counter is increasing or you hear pops during playback. Aumente o buffer de áudio se o contador de esvaziamentos aumentar ou se você ouvir estouros na reprodução. - + Main Output Delay - + Headphone Output Delay - + Booth Output Delay - + Dual-threaded Stereo - + Hints and Diagnostics Sugestões e Diagnósticos - + Downsize your audio buffer to improve Mixxx's responsiveness. Diminua o buffer de áudio para melhorar a capacidade de resposta do Mixxx. - + Query Devices Questionar os Dispositivos @@ -7817,7 +7863,7 @@ The loudness target is approximate and assumes track pregain and main output lev Vinyl Type - + Tipo do Vinil @@ -7827,12 +7873,12 @@ The loudness target is approximate and assumes track pregain and main output lev Deck 1 - + Deck 1 Deck 2 - + Deck 2 @@ -8196,47 +8242,47 @@ Selecione entre tipos diferentes de visualizações da forma de onda, o que dife DlgPreferences - + Sound Hardware Hardware de Som - + Controllers Controladores - + Library Biblioteca - + Interface Interface - + Waveforms Formas de Onda - + Mixer - + Mixer - + Auto DJ - + Auto DJ - + Decks Leitores - + Colors @@ -8268,50 +8314,50 @@ Selecione entre tipos diferentes de visualizações da forma de onda, o que dife &Ok Preferences standard buttons: consider the other buttons to choose a unique Alt hotkey (&) - + &Ok - + Effects Efeitos - + Recording Gravação - + Beat Detection Deteção de Batidas - + Key Detection Deteção do Tom - + Normalization Normalização - + <font color='#BB0000'><b>Some preferences pages have errors. To apply the changes please first fix the issues.</b></font> - + Vinyl Control Controlo de Vinil - + Live Broadcasting Transmissão Ao Vivo - + Modplug Decoder Descodificador modplug @@ -8340,7 +8386,7 @@ Selecione entre tipos diferentes de visualizações da forma de onda, o que dife Recordings - + Gravações @@ -8444,7 +8490,7 @@ Selecione entre tipos diferentes de visualizações da forma de onda, o que dife MusicBrainz - + MusicBrainz @@ -8667,284 +8713,284 @@ This can not be undone! Resumo - + Filetype: Tipo de arquivo: - + BPM: BPM: - + Location: Localização: - + Bitrate: Taxa de Bits: - + Comments Comentários - + BPM BPM - + Sets the BPM to 75% of the current value. Define o BPM para 75% do valor presente. - + 3/4 BPM 3/4 BPM - + Sets the BPM to 50% of the current value. Define o BPM para 50% do valor presente. - + Displays the BPM of the selected track. Mostra o BPM da faixa selecionada. - + Track # Faixa # - + Album Artist Artista do Álbum - + Composer Compositor - + Title Título - + Grouping Agrupamento - + Key Tom - + Year Ano - + Artist Artista - + Album Album - + Genre Gênero - + ReplayGain: ReplayGain: - + Sets the BPM to 200% of the current value. Define o BPM para 200% do valor presente. - + Double BPM Dobrar o BPM - + Halve BPM Reduzir a Metade BPM - + Clear BPM and Beatgrid Limpar BPM e Grade de Batidas - + Move to the previous item. "Previous" button Mover para o item anterior. - + &Previous &Anterior - + Move to the next item. "Next" button Mover para o próximo item. - + &Next &Próximo - + Duration: Duração: - + Import Metadata from MusicBrainz Importar Metadados de MusicBrainz - + Re-Import Metadata from file - + Color cor - + Date added: - + Open in File Browser Abrir no Explorador de Ficheiros - + Samplerate: - + Track BPM: BPM da Faixa: - + Converts beats detected by the analyzer into a fixed-tempo beatgrid. Use this setting if your tracks have a constant tempo (e.g. most electronic music). Often results in higher quality beatgrids, but will not do well on tracks that have tempo shifts. - + Assume constant tempo Assumir tempo constante - + Sets the BPM to 66% of the current value. Define o BPM para 66% do valor presente. - + 2/3 BPM 2/3 BPM - + Sets the BPM to 150% of the current value. Define o BPM para 150% do valor presente. - + 3/2 BPM 3/2 BPM - + Sets the BPM to 133% of the current value. Define o BPM para 133% do valor presente. - + 4/3 BPM 4/3 BPM - + Tap with the beat to set the BPM to the speed you are tapping. Bater com o ritmo, para definir o BPM igual à velocidade com que está a bater. - + Tap to Beat Toque a Batida - + Hint: Use the Library Analyze view to run BPM detection. Sugestão: Usar a vista Analisador de Biblioteca para executar a deteção de BPM. - + Save changes and close the window. "OK" button Salva as alterações e fechar a janela. - + &OK &OK - + Discard changes and close the window. "Cancel" button Rejeita as alterações e fecha a janela. - + Save changes and keep the window open. "Apply" button Guarda as alterações e mantém a janela aberta. - + &Apply &Aplicar - + &Cancel &Cancelar - + (no color) @@ -9101,7 +9147,7 @@ Often results in higher quality beatgrids, but will not do well on tracks that h - + (no color) @@ -9303,27 +9349,27 @@ Often results in higher quality beatgrids, but will not do well on tracks that h EngineBuffer - + Soundtouch (faster) Soundtouch (mais rápido) - + Rubberband (better) Rubberband (melhor) - + Rubberband R3 (near-hi-fi quality) - + Unknown, using Rubberband (better) - + Unknown, using Soundtouch @@ -9409,7 +9455,7 @@ Often results in higher quality beatgrids, but will not do well on tracks that h Album - + Album @@ -9538,15 +9584,15 @@ Often results in higher quality beatgrids, but will not do well on tracks that h LegacySkinParser - - + + Safe Mode Enabled Shown when Mixxx is running in safe mode. Modo Segurança Ativado - - + + No OpenGL support. Shown when Spinny can not be displayed. Please keep @@ -9558,57 +9604,57 @@ Shown when VuMeter can not be displayed. Please keep OpenGL - + activate ativar - + toggle comutar - + right direita - + left esquerda - + right small direita curto - + left small esquerda curto - + up cima - + down abaixo - + up small cima curto - + down small abaixo pequeno - + Shortcut Atalho @@ -9616,62 +9662,62 @@ OpenGL Library - + This or a parent directory is already in your library. - + This or a listed directory does not exist or is inaccessible. Aborting the operation to avoid library inconsistencies - - + + This directory can not be read. - + An unknown error occurred. Aborting the operation to avoid library inconsistencies - + Can't add Directory to Library - + Could not add <b>%1</b> to your library. %2 - + Can't remove Directory from Library - + An unknown error occurred. - + This directory does not exist or is inaccessible. - + Relink Directory - + Could not relink <b>%1</b> to <b>%2</b>. %3 @@ -9681,22 +9727,22 @@ Aborting the operation to avoid library inconsistencies LibraryFeature - + Import Playlist Importar Lista de Reprodução - + Playlist Files (*.m3u *.m3u8 *.pls *.csv) Ficheiros Playlist (*.m3u *.m3u8 *.pls *.csv) - + Overwrite File? - + A playlist file with the name "%1" already exists. The default "m3u" extension was added because none was specified. @@ -9719,12 +9765,12 @@ Do you really want to overwrite it? Cancel - + Cancelar Scanning: - + A Examinar: @@ -9743,27 +9789,27 @@ Do you really want to overwrite it? MidiController - + MixxxControl(s) not found MixxxControl(s) não encontrado - + One or more MixxxControls specified in the outputs section of the loaded mapping were invalid. - + * Make sure the MixxxControls in question actually exist. Visit the manual for a complete list: - + Some LEDs or other feedback may not work correctly. Alguns LEDs ou outros retornos podem não funcionar corretamente. - + * Check to see that the MixxxControl names are spelled correctly in the mapping file (.xml) * Marcar para ver se os nomes dos MixxxControl estão escritos corretamente no arquivo de mapeamento (.xml) @@ -9823,18 +9869,18 @@ Do you really want to overwrite it? MixxxLibraryFeature - + Missing Tracks Faixas Perdidas - + Hidden Tracks Músicas Ocultadas - Export to Engine Prime + Export to Engine DJ @@ -9846,210 +9892,251 @@ Do you really want to overwrite it? MixxxMainWindow - + Sound Device Busy Dispositivo de Som Ocupado - + <b>Retry</b> after closing the other application or reconnecting a sound device <b>Tentar novamente</b> após fechar a outra aplicação ou reconectar um dispositivo de som - - - + + + <b>Reconfigure</b> Mixxx's sound device settings. <b>Reconfigurar</b> as definições dos dispositivos de som do Mixxx. - - + + Get <b>Help</b> from the Mixxx Wiki. Obter <b>Ajuda</b> a partir do Wiki Mixxx. - - - + + + <b>Exit</b> Mixxx. <b>Sair</b> do Mixxx. - + Retry Repetir - + skin - + Allow Mixxx to hide the menu bar? - + Hide Always show the menu bar? - + Always show - + The Mixxx menu bar is hidden and can be toggled with a single press of the <b>Alt</b> key.<br><br>Click <b>%1</b> to agree.<br><br>Click <b>%2</b> to disable that, for example if you don't use Mixxx with a keyboard.<br><br>You can change this setting any time in Preferences -> Interface.<br> Keep formatting tags <b> (bold text) and <br> (linebreak). %1 is the placeholder for the 'Always show' button label - + Ask me again - - + + Reconfigure Reconfigurar - + Help Ajuda - - + + Exit Sair - - + + Mixxx was unable to open all the configured sound devices. Mixxx não foi capaz de abrir todos os dispositivos de som configurados. - + Sound Device Error Erro Dispositivo de Som - + <b>Retry</b> after fixing an issue <b>Tentar novamente</b> depois de corrigir um problema - + No Output Devices Sem Dispositivos de Saída - + Mixxx was configured without any output sound devices. Audio processing will be disabled without a configured output device. O Mixxx foi configurado sem quaisquer dispositivos de saída de som. O processamento de audio será desativado sem a configuração de um dispositivo de saída. - + <b>Continue</b> without any outputs. <b>Continuar</b> sem quaisquer saídas. - + Continue Continuar - + Load track to Deck %1 Carregar faixa no Deck %1 - + Deck %1 is currently playing a track. O Leitor %1 está presentemente a reproduzir uma faixa. - + Are you sure you want to load a new track? Tem certeza de que deseja carregar uma nova faixa? - + There is no input device selected for this vinyl control. Please select an input device in the sound hardware preferences first. Não existe nenhum dispositivo selecionado para este controlo do vinil. Por favor, selecione primeiro um dispositivo de entrada, nas preferências de hardware de som. - + There is no input device selected for this passthrough control. Please select an input device in the sound hardware preferences first. Não existe nenhum dispositivo de entrada selecionado para este controlo passthrough. Por favor, selecione primeiro um dispositivo de entrada, nas preferências de hardware de som. - + There is no input device selected for this microphone. Do you want to select an input device? - + There is no input device selected for this auxiliary. Do you want to select an input device? - + + Scan took %1 + + + + + No changes detected. + + + + + + %1 tracks in total + + + + + %1 new tracks found + + + + + %1 moved tracks detected + + + + + %1 tracks are missing (%2 total) + + + + + %1 tracks have been rediscovered + + + + + Library scan finished + + + + Error in skin file Erro no arquivo de skin - + The selected skin cannot be loaded. A skin selecionada não pôde ser carregada. - + OpenGL Direct Rendering Interpretação Direta de OpenGL - + Direct rendering is not enabled on your machine.<br><br>This means that the waveform displays will be very<br><b>slow and may tax your CPU heavily</b>. Either update your<br>configuration to enable direct rendering, or disable<br>the waveform displays in the Mixxx preferences by selecting<br>"Empty" as the waveform display in the 'Interface' section. - - - + + + Confirm Exit Confirmar a Saída - + A deck is currently playing. Exit Mixxx? Um leitor está presentemente em reprodução. Sair do Mixxx? - + A sampler is currently playing. Exit Mixxx? Um sampler está presentemente em reprodução. Sair do Mixxx? - + The preferences window is still open. A janela de preferências ainda está aberta. - + Discard any changes and exit Mixxx? Descartar quaisquer mudanças e sair do Mixxx? @@ -10065,15 +10152,15 @@ Do you want to select an input device? PlaylistFeature - + Lock Travar - - + + Playlists - + Listas de Reprodução @@ -10081,32 +10168,58 @@ Do you want to select an input device? - + + Unlock all playlists + + + + + Delete all unlocked playlists + + + + Unlock Desbloquear - + + + Confirm Deletion + + + + + Do you really want to delete all unlocked playlists? + + + + + Deleting %1 unlocked playlists.<br>This operation can not be undone! + + + + Playlists are ordered lists of tracks that allow you to plan your DJ sets. - + It may be necessary to skip some tracks in your prepared playlist or add some different tracks in order to maintain the energy of your audience. - + Some DJs construct playlists before they perform live, but others prefer to build them on-the-fly. Alguns DJs constroem listas de reprodução antes de apresentações ao vivo, mas outros preferem construí-las na hora. - + When using a playlist during a live DJ set, remember to always pay close attention to how your audience reacts to the music you've chosen to play. Ao utilizar uma lista de reprodução durante uma apresentação ao vivo, lembre-se de sempre prestar atenção em como o público reage à música que você escolheu tocar. - + Create New Playlist Criar uma Playlist Nova @@ -10308,7 +10421,7 @@ Deseja examinar a sua biblioteca para encontrar ficheiros de capa de disco, agor Rot64 - + Rot64 @@ -10358,7 +10471,7 @@ Deseja examinar a sua biblioteca para encontrar ficheiros de capa de disco, agor Script - + Script @@ -10504,7 +10617,7 @@ If you do not want to grant Mixxx access, click Cancel on the file picker. Mixxx Downsampling - + Decimação @@ -10732,7 +10845,7 @@ Com a largura a zero, permite o varrimento manual ao longo de toda a extensão d Regen - + Regen @@ -11143,12 +11256,12 @@ Valores mais altos resultam em menos atenuação das altas frequências. Ctrl+u - + Ctrl+u Ctrl+i - + Ctrl+i @@ -11158,7 +11271,7 @@ Valores mais altos resultam em menos atenuação das altas frequências. Ctrl+Shift+O - + Ctrl+Shift+O @@ -11188,7 +11301,7 @@ Valores mais altos resultam em menos atenuação das altas frequências. LinkwitzRiley8 Isolator - + LinkwitzRiley8 Isolator @@ -11208,7 +11321,7 @@ Valores mais altos resultam em menos atenuação das altas frequências. BQ EQ - + BQ EQ @@ -11228,7 +11341,7 @@ Valores mais altos resultam em menos atenuação das altas frequências. BQ EQ/ISO - + BQ EQ/ISO @@ -11429,7 +11542,7 @@ um Q mais alto afecta uma banda mais estreita de frequências. Q 2 - + Q 2 @@ -11583,7 +11696,7 @@ Tudo direita: fim do período do efeito Dry/Wet - + Seco/Molhado @@ -11623,7 +11736,7 @@ Tudo direita: fim do período do efeito - + Deck %1 Leitor %1 @@ -11756,7 +11869,7 @@ Hint: compensates "chipmunk" or "growling" voices - + Passthrough Transpassar @@ -11787,7 +11900,7 @@ Hint: compensates "chipmunk" or "growling" voices - + Sampler %1 @@ -11920,12 +12033,12 @@ may introduce a 'pumping' effect and/or distortion. - + built-in - + missing @@ -11960,42 +12073,42 @@ may introduce a 'pumping' effect and/or distortion. - + Empty - + Simple - + Filtered - + HSV - + VSyncTest - + RGB - + Stacked - + Unknown @@ -12018,7 +12131,7 @@ may introduce a 'pumping' effect and/or distortion. There is less than 1 GiB of usable space in the recording folder - + Há menos de 1 GiB de espaço utilizável na pasta de gravação @@ -12053,54 +12166,54 @@ may introduce a 'pumping' effect and/or distortion. RekordboxFeature - - - + + + Rekordbox - + Playlists - + Listas de Reprodução - + Folders - + Reads databases exported for Pioneer CDJ / XDJ players using the Rekordbox Export mode.<br/>Rekordbox can only export to USB or SD devices with a FAT or HFS file system.<br/>Mixxx can read a database from any device that contains the database folders (<tt>PIONEER</tt> and <tt>Contents</tt>).<br/>Not supported are Rekordbox databases that have been moved to an external device via<br/><i>Preferences > Advanced > Database management</i>.<br/><br/>The following data is read: - + Hot cues - + Loops (only the first loop is currently usable in Mixxx) - + Check for attached Rekordbox USB / SD devices (refresh) - + Beatgrids - + Memory cues - + Cues de memória - + (loading) Rekordbox (carregando) Rekordbox @@ -12169,7 +12282,7 @@ may introduce a 'pumping' effect and/or distortion. Tracks - + Faixas @@ -12509,7 +12622,7 @@ may introduce a 'pumping' effect and/or distortion. Min - + Min @@ -12659,7 +12772,7 @@ may introduce a 'pumping' effect and/or distortion. - + Spinning Vinyl Rotação do Vinil @@ -12731,7 +12844,7 @@ may introduce a 'pumping' effect and/or distortion. Indicates when the signal on the auxiliary is clipping, - + Indica quando o sinal auxiliar está clipando. @@ -12756,7 +12869,7 @@ may introduce a 'pumping' effect and/or distortion. Crossfader - + Crossfader @@ -12841,7 +12954,7 @@ may introduce a 'pumping' effect and/or distortion. - + Cover Art Capa do Disco @@ -13038,7 +13151,7 @@ may introduce a 'pumping' effect and/or distortion. Tempo - + Tempo @@ -13077,197 +13190,197 @@ may introduce a 'pumping' effect and/or distortion. Quando batido, ajusta o BPM médio para cima de uma pequena quantidade. - + Adjust Beats Earlier Ajustar Batidas Cedo - + When tapped, moves the beatgrid left by a small amount. Quando pressionado, move a grade de batidas um pouco para a esquerda. - + Adjust Beats Later Ajustar Batidas Tarde - + When tapped, moves the beatgrid right by a small amount. Quando batido, move a grelha de batidas para a direita, uma pequena quantidade. - + Tempo and BPM Tap Bate Tempo e BPM - + Show/hide the spinning vinyl section. Mostrar/ocultar a seção rotação de vinil. - + Keylock Trava de Tom - + Toggling keylock during playback may result in a momentary audio glitch. Alternar o bloqueio de tom durante a reprodução pode resultar em falhas momentâneas do audio. - + Toggle visibility of Loop Controls - + Toggle visibility of Beatjump Controls - + Toggle visibility of Rate Control Alterna a visibilidade do Controlo da Taxa - + Toggle visibility of Key Controls - + (while previewing) - + Places a cue point at the current position on the waveform. Coloca um ponto de sinalização na posição atual na forma de onda. - + Stops track at cue point, OR go to cue point and play after release (CUP mode). Pára a faixa no CUE Point, OU vai para o CUE Point e reproduz a faixa após soltar o botão (CUP mode). - + Set cue point (Pioneer/Mixxx/Numark mode), set cue point and play after release (CUP mode) OR preview from it (Denon mode). Define o CUE point (em modo Pioneer/Mixxx/Numark), define o CUE point e toca após largar a tecla (modo CUP) OU escuta o preview (modo Denon). - + Is latching the playing state. - + Seeks the track to the cue point and stops. Avança a faixa até ao Cue Point e para. - + Play Tocar - + Plays track from the cue point. Toca a faixa a partir do ponto de marcação. - + Sends the selected channel's audio to the headphone output, selected in Preferences -> Sound Hardware. - + (This skin should be updated to use Sync Lock!) - + Enable Sync Lock - + Tap to sync the tempo to other playing tracks or the sync leader. - + Enable Sync Leader - + When enabled, this device will serve as the sync leader for all other decks. - + This is relevant when a dynamic tempo track is loaded to a sync leader deck.In that case, other synced devices will adopt the changing tempo. - + Changes the track playback speed (affects both the tempo and the pitch). If keylock is enabled, only the tempo is affected. Altera a velocidade da faixa (afeta o tempo e o pitch). Se o keylock estiver ativo, apenas o tempo é alterado. - + Tempo Range Display - + Displays the current range of the tempo slider. - + Mostra o alcance atual do deslizante de tempo. - + Un-ejects when no track is loaded, i.e. reloads the track that was ejected last (of any deck). - + Delete selected hotcue. - + Track Comment - + Displays the comment tag of the loaded track. - + Opens separate artwork viewer. - + Effect Chain Preset Settings - + Show the effect chain settings menu for this unit. - + Select and configure a hardware device for this input - + Recording Duration Duração da Gravação @@ -13417,7 +13530,7 @@ may introduce a 'pumping' effect and/or distortion. Auto: Sets how much to reduce the music volume when the volume of active microphones rises above threshold. - + Auto: Define o quanto reduzir o volume da música quando o volume de microfones ativos passa de um determinado limite. @@ -13505,928 +13618,934 @@ may introduce a 'pumping' effect and/or distortion. - + + Adjust beatgrid by exactly one half beat. Usable only on +tracks with constant tempo. + + + + Revert last BPM/Beatgrid Change - + Revert last BPM/Beatgrid Change of the loaded track. - - + + Toggle the BPM/beatgrid lock - + Tempo and Rate Tap - + Tempo, Rate Tap and BPM Tap - + Shift cues earlier - - + + Shift cues imported from Serato or Rekordbox if they are slightly off time. - + Left click: shift 10 milliseconds earlier - + Right click: shift 1 millisecond earlier - + Shift cues later - + Left click: shift 10 milliseconds later - + Right click: shift 1 millisecond later - - + + Drag a Hotcue button here to continue playing after releasing the Hotcue. - + Hint: Change the default cue mode in Preferences -> Decks. - + Mutes the selected channel's audio in the main output. - + Main mix enable - + Hold or short click for latching to mix this input into the main output. - + If hotcue is a loop cue, toggles the loop and jumps to if the loop is behind the play position. - + If the play position is inside an active loop, stores the loop as loop cue. - + Drag this button onto another Hotcue button to move it there (change its index). If the other hotcue is set, the two are swapped. - + Expand/Collapse Samplers - + Toggle expanded samplers view. - + Displays the duration of the running recording. Mostra a duração da gravação em andamento. - + Auto DJ is active - + Red for when needle skip has been detected. - + Hot Cue - Track will seek to nearest previous hotcue point. - + Sets the track Loop-In Marker to the current play position. Define o marcador Início Loop da faixa para a atual posição de reprodução. - + Press and hold to move Loop-In Marker. Pressione e mantenha para mover o marcador Início Loop. - + Jump to Loop-In Marker. Saltar para o marcador Início Loop. - + Sets the track Loop-Out Marker to the current play position. Define o marcador Fim Loop para a atual posição de reprodução. - + Press and hold to move Loop-Out Marker. Pressione e mantenha para mover o marcador Fim Loop. - + Jump to Loop-Out Marker. Saltar para o marcador Fim Loop. - + If the track has no beats the unit is seconds. - + Beatloop Size Tamanho Loop - + Select the size of the loop in beats to set with the Beatloop button. Escolher o tamanho do loop em batidas estabelecer com o botão Loop. - + Changing this resizes the loop if the loop already matches this size. Alterando isto redimensiona o loop se o loop já coincide com este tamanho. - + Halve the size of an existing beatloop, or halve the size of the next beatloop set with the Beatloop button. Reduz a metade o tamanho dum loop existente, ou reduz a metade o tamanho do próximo loop definido com o botão Loop. - + Double the size of an existing beatloop, or double the size of the next beatloop set with the Beatloop button. Duplica o tamanho dum loop existente, ou duplica o tamanho do próximo loop definido com o botão Loop. - + Start a loop over the set number of beats. Iniciar um loop com o número de batidas prédefinidas. - + Temporarily enable a rolling loop over the set number of beats. Ativar temporariamente um loop rolado com o número de batidas prédefinidas. - + Beatloop Anchor - + Define whether the loop is created and adjusted from its staring point or ending point. - + Beatjump/Loop Move Size Beatjump/Loop Tamanho Movimento - + Select the number of beats to jump or move the loop with the Beatjump Forward/Backward buttons. Selecione o número de batidas a saltar ou a deslocar o loop com os botões Beatjump Frente/Atrás. - + Beatjump Forward Beatjump Frente - + Jump forward by the set number of beats. Salta para a frente o número de batidas predefinidas. - + Move the loop forward by the set number of beats. Move o loop para a frente o número de batidas prédefinidas. - + Jump forward by 1 beat. Salta para a frente 1 batida. - + Move the loop forward by 1 beat. Move o loop para a frente 1 batida. - + Beatjump Backward Beatjump Atrás - + Jump backward by the set number of beats. Salta para trás o número de batidas prédefinidas. - + Move the loop backward by the set number of beats. Move o loop para trás o número de batidas prédefinidas. - + Jump backward by 1 beat. Salta para trás 1 batida. - + Move the loop backward by 1 beat. Move o loop para trás 1 batida. - + Reloop Reloop - + If the loop is ahead of the current position, looping will start when the loop is reached. Se o loop estiver à frente da posição atual de reprodução, o ciclo de looping começará quando o loop for atingido. - + Works only if Loop-In and Loop-Out Marker are set. Funciona apenas se os marcadores de Início Loop e Fim Loop estiverem definidos. - + Enable loop, jump to Loop-In Marker, and stop playback. Ativar loop, saltar para o marcador Início Loop, e parar a reprodução. - + Displays the elapsed and/or remaining time of the track loaded. Mostra o tempo executado e/ou restante da faixa carregada. - + Click to toggle between time elapsed/remaining time/both. Clique para alternar entre tempo executado/restante tempo/ambos. - + Hint: Change the time format in Preferences -> Decks. - + Show/hide intro & outro markers and associated buttons. - + Intro Start Marker - - - - + + + + If marker is set, jumps to the marker. - - - - + + + + If marker is not set, sets the marker to the current play position. - - - - + + + + If marker is set, clears the marker. - + Intro End Marker - + Outro Start Marker - + Outro End Marker - + Mix Mistura - + Adjust the mixing of the dry (input) signal with the wet (output) signal of the effect unit Ajustar a mistura do sinal seco (entrada) com o molhado (saída) da unidade de efeito - + D/W mode: Crossfade between dry and wet Modo S/M: crossfade entre seco e molhado - + D+W mode: Add wet to dry Modo S/M: adicionar molhado ao seco - + Mix Mode Modo Mistura - + Adjust how the dry (input) signal is mixed with the wet (output) signal of the effect unit Ajustar a mistura do sinal seco (entrada) com o sinal molhado (saída) da unidade de efeito - + Dry/Wet mode (crossed lines): Mix knob crossfades between dry and wet Use this to change the sound of the track with EQ and filter effects. Modo Seco/Molhado (linhas cruzadas): o botão de Mistura faz a transição entre seco e molhado. Usar isto para alterar o som da faixa com EQ e filtros de efeitos. - + Dry+Wet mode (flat dry line): Mix knob adds wet to dry Use this to change only the effected (wet) signal with EQ and filter effects. Modo Seco+Molhado (linha seca plana): o botão de Mistura adiciona o molhado ao seco. Usar isto para alterar apenas o sinal já com os efeitos (molhado) de EQ e filtros de efeitos. - + Route the main mix through this effect unit. - + Route the left crossfader bus through this effect unit. Envia o bus esquerdo do crossfader através desta unidade de efeito. - + Route the right crossfader bus through this effect unit. Envia o bus direito do crossfader através desta unidade de efeito. - + Right side active: parameter moves with right half of Meta Knob turn Lado direito ativo: o parâmetro muda com meia volta para a direita do Botão Meta - + Stem Label - + Name of the stem stored in the stem file - + Text is displayed in the stem color stored in the stem file - + this stem color is also used for the waveform of this stem - + Stem Mute - + Toggle the stem mute/unmuted - + Stem Volume Knob - + Adjusts the volume of the stem - + Skin Settings Menu Menu Definições Skin - + Show/hide skin settings menu Mostra/Oculta menu de definições. - + Save Sampler Bank Salvar Banco do Sampler - + Save the collection of samples loaded in the samplers. Guarda a colecção de samples carregadas nos samplers. - + Load Sampler Bank Carregar o Banco de Amostras - + Load a previously saved collection of samples into the samplers. Carrega uma colecção de samples guardada previamente nos samplers. - + Show Effect Parameters Mostrar Parâmetros do Efeito - + Enable Effect Ativar Efeito - + Meta Knob Link Ligação Botão Meta - + Set how this parameter is linked to the effect's Meta Knob. Definir como este parâmetro está ligado ao botão de efeitos Meta. - + Meta Knob Link Inversion Inversão Ligação Botão Mega - + Inverts the direction this parameter moves when turning the effect's Meta Knob. Inverte a direção com que este parâmetro se move quando se roda o Botão Meta. - + Super Knob Super Botão - + Next Chain Próxima Cadeia - + Previous Chain Cadeia Anterior - + Next/Previous Chain Próxima/Anterior Cadeia - + Clear Limpar - + Clear the current effect. Limpa o efeito presente. - + Toggle Alternar - + Toggle the current effect. Alterna o efeito presente. - + Next Próximo - + Clear Unit Limpar Unidade - + Clear effect unit. Limpa a unidade de efeito. - + Show/hide parameters for effects in this unit. Mostra/Oculta parâmetros para efeitos nesta unidade. - + Toggle Unit Alternar Unidade - + Enable or disable this whole effect unit. Ativa ou desativa esta unidade completa de efeito. - + Controls the Meta Knob of all effects in this unit together. Controla o Meta Botão de todos os efeitos conjuntamente nesta unidade. - + Load next effect chain preset into this effect unit. Carrega a próxima cadeia de efeitos prédefinida nesta unidade de efeito. - + Load previous effect chain preset into this effect unit. Carrega a anterior cadeia de efeitos prédefinida nesta unidade de efeito. - + Load next or previous effect chain preset into this effect unit. Carrega a próxima ou anterior cadeia de efeitos prédefinida nesta unidade de efeito. - - - - + + + + Assign Effect Unit Atribuir Unidade de Efeito - + Assign this effect unit to the channel output. Atribuir esta unidade de efeito ao canal de saída. - + Route the headphone channel through this effect unit. Encaminha o canal de auscultadores através desta unidade de efeito. - + Route this deck through the indicated effect unit. Encaminha este leitor através da unidade de efeito indicada. - + Route this sampler through the indicated effect unit. Encaminha este sampler através da unidade de efeito indicada. - + Route this microphone through the indicated effect unit. Encaminha este microfone através da unidade de efeito indicada. - + Route this auxiliary input through the indicated effect unit. Encaminha esta entrada auxiliar através da unidade de efeito indicada. - + The effect unit must also be assigned to a deck or other sound source to hear the effect. Esta unidade de efeito deve também ser atribuída a um leitor ou a outra fonte sonora para ouvir o efeito. - + Switch to the next effect. Comuta para o próximo efeito. - + Previous Anterior - + Switch to the previous effect. Troca para o efeito anterior. - + Next or Previous Próximo ou Anterior - + Switch to either the next or previous effect. Comuta ou para o próximo efeito, ou efeito anterior. - + Meta Knob Botão Meta - + Controls linked parameters of this effect Controla os parâmetros deste efeito aqui ligado. - + Effect Focus Button Botão Realce Efeito - + Focuses this effect. Realça este efeito. - + Unfocuses this effect. Anula o realce deste efeito. - + Refer to the web page on the Mixxx wiki for your controller for more information. Consultar a página web na wiki Mixxx para mais informação sobre o seu controlador. - + Effect Parameter Parâmetro Efeito - + Adjusts a parameter of the effect. Ajusta um parâmetro do efeito. - + Inactive: parameter not linked Inativo: parâmetro não ligado - + Active: parameter moves with Meta Knob Activo: o parâmetro move-se com o Botão Meta - + Left side active: parameter moves with left half of Meta Knob turn Lado esquerdo ativo: o parâmetro move-se com meia volta para a esquerda do Botão Meta - + Left and right side active: parameter moves across range with half of Meta Knob turn and back with the other half Lado esquerdo e direito ativo: o parâmetro desloca-se ao longo da sua extensão com meia volta do Botão Meta e para trás com a outra meia volta. - - + + Equalizer Parameter Kill Matar Parâmetro do Equalizador - - + + Holds the gain of the EQ to zero while active. Mantem o ganho do equalizador em zero quanto ativo. - + Quick Effect Super Knob Super Botão de Efeito Rápido - + Quick Effect Super Knob (control linked effect parameters). Super Botão de Efeito Rápido (controla parâmetros de efeitos conectados). - + Hint: Change the default Quick Effect mode in Preferences -> Equalizers. Sugestão: Alterar o modo Efeito Rápido padrão em Preferências -> Equalizadores. - + Equalizer Parameter Parâmetro Equalizador - + Adjusts the gain of the EQ filter. Ajusta o ganho do filtro EQ. - + Hint: Change the default EQ mode in Preferences -> Equalizers. Dica: Mude o modo padrão do equalizador em Preferências -> Equalizadores. - - + + Adjust Beatgrid Ajustar Grelha de Batidas - + Adjust beatgrid so the closest beat is aligned with the current play position. Ajusta a grade de batidas de forma que a batida mais próxima é alinhada com a posição atual. - - + + Adjust beatgrid to match another playing deck. Ajusta a grelha de batidas para corresponder um outro leitor em reprodução. - + If quantize is enabled, snaps to the nearest beat. Se a quantização estiver ativa agarra-se à batida mais próxima. - + Quantize Quantização - + Toggles quantization. Alternar a quantização. - + Loops and cues snap to the nearest beat when quantization is enabled. Enquanto a quantização estiver ativada, os loops e os hotcues sempre entrarão na batida mais próxima. - + Reverse Inverter - + Reverses track playback during regular playback. Inverte a reprodução da faixa. - + Puts a track into reverse while being held (Censor). Coloca a faixa em reprodução invertida enquanto pressionado (Censurar). - + Playback continues where the track would have been if it had not been temporarily reversed. A reprodução continua onde a faixa estaria se ela não estivesse sido temporariamente invertida. - - - + + + Play/Pause Tocar/Pausar - + Jumps to the beginning of the track. Pula para o início da faixa. - + Syncs the tempo (BPM) and phase to that of the other track, if BPM is detected on both. Sincroniza o tempo (BPM) e a fase para a da outra faixa, ou BPM se detectado nos dois. - + Syncs the tempo (BPM) to that of the other track, if BPM is detected on both. Sincroniza o tempo (BPM) com o da outra faixa, se o BPM for detetado em ambas. - + Sync and Reset Key Sincronizar e Reiniciar Tom - + Increases the pitch by one semitone. Aumenta a tonalidade de um meio tom. - + Decreases the pitch by one semitone. Diminui o pitch por um semitom. - + Enable Vinyl Control Ativar Controlo de Vinil - + When disabled, the track is controlled by Mixxx playback controls. Quando desativado, a faixa é controlada pelos controlos de reprodução do Mixxx. - + When enabled, the track responds to external vinyl control. Quando ativado, a faixa responde ao controle por vinil externo - + Enable Passthrough Ativar Passthrough - + Indicates that the audio buffer is too small to do all audio processing. Indica que o buffer de áudio é muito pequeno para fazer todo o processamento de aúdio. - + Displays cover artwork of the loaded track. Mostra a capa do disco na faixa carregada. - + Displays options for editing cover artwork. Mostra as opções para edição da capa do disco. - + Star Rating Classificação Estrelas - + Assign ratings to individual tracks by clicking the stars. Atribui classificações a faixas individuais clicando nas estrelas. @@ -14561,33 +14680,33 @@ Usar isto para alterar apenas o sinal já com os efeitos (molhado) de EQ e filtr Amplitude da Redução no Talkover - + Prevents the pitch from changing when the rate changes. Impede a mudança de tom quando a velocidade é alterada. - + Changes the number of hotcue buttons displayed in the deck Altera o número de botões hotcue mostrados no leitor - + Starts playing from the beginning of the track. Começa a tocar do começo da faixa. - + Jumps to the beginning of the track and stops. Pula para o começo da faixa e para. - - + + Plays or pauses the track. Toca ou pausa uma música. - + (while playing) (durante a leitura) @@ -14607,215 +14726,215 @@ Usar isto para alterar apenas o sinal já com os efeitos (molhado) de EQ e filtr - + (while stopped) (enquanto parada) - + Cue Marcação - + Headphone Auscultador - + Mute Silênciar - + Old Synchronize Sincronização Antiga - + Syncs to the first deck (in numerical order) that is playing a track and has a BPM. Sincroniza com o primeiro deck (em ordem numérica) que estiver tocando uma faixa e tem BPM. - + If no deck is playing, syncs to the first deck that has a BPM. Se nenhum leitor estiver em reprodução, sincroniza com o primeiro leitor que tenha um BPM. - + Decks can't sync to samplers and samplers can only sync to decks. Os leitores não se podem sincronizar com samplers, e os samplers só se podem sincronizar com os leitores. - + Hold for at least a second to enable sync lock for this deck. Manter premido, por pelo menos um segundo, para ativar o bloqueio de sincronização para este leitor. - + Decks with sync locked will all play at the same tempo, and decks that also have quantize enabled will always have their beats lined up. Os leitores com sincronização bloqueada tocam todos no mesmo tempo, e os leitores que também tiverem a quantização ativada terão sempre as suas batidas alinhadas. - + Resets the key to the original track key. Reinicia o tom, para o tom original da faixa. - + Speed Control Controlo de Velocidade - - - + + + Changes the track pitch independent of the tempo. Muda o pitch da faixa independentemente do tempo. - + Increases the pitch by 10 cents. Aumenta o tom de 10 centésimos. - + Decreases the pitch by 10 cents. Diminui o tom de 10 centésimos. - + Pitch Adjust Ajustar Tom - + Adjust the pitch in addition to the speed slider pitch. Adiciona o ajuste de tom ao cursor de velocidade. - + Opens a menu to clear hotcues or edit their labels and colors. - + Drag this button onto a Play button while previewing to continue playback after release. - + Dragging with Shift key pressed will not start previewing the hotcue. - + Record Mix Gravar Mistura - + Toggle mix recording. Alternar gravação da mistura. - + Enable Live Broadcasting Ativar Emissão em Direto - + Stream your mix over the Internet. Fazer stream da sua mistura através da Internet. - + Provides visual feedback for Live Broadcasting status: Provê retorno visual para o estado de Transmissão Ao Vivo: - + disabled, connecting, connected, failure. desativado, conectando, conectado, falha. - + When enabled, the deck directly plays the audio arriving on the vinyl input. Quando ativada, o leitor toca o audio que chega diretamente à entrada do vinil. - + Playback will resume where the track would have been if it had not entered the loop. A reprodução será retomada onda a faixa estaria se não tivesse entrado em loop. - + Loop Exit Sair do Loop - + Turns the current loop off. Apaga o presente loop. - + Slip Mode Modo de Deslizamento - + When active, the playback continues muted in the background during a loop, reverse, scratch etc. Quando ativo, a execução continua silenciosa no fundo durante um loop, reprodução invertida, um scratch, etc. - + Once disabled, the audible playback will resume where the track would have been. Uma vez desativado, a execução audível continuará onde a música estaria. - + Track Key The musical key of a track Tom da Faixa - + Displays the musical key of the loaded track. Mostra o tom musical da faixa carregada. - + Clock Relógio - + Displays the current time. Mostra a hora presente. - + Audio Latency Usage Meter Medidor do Uso da Latência Audio - + Displays the fraction of latency used for audio processing. Mostra a fração da latência usada no processamento de audio. - + A high value indicates that audible glitches are likely. Um valor alto indica que ruídos no áudio são prováveis. - + Do not enable keylock, effects or additional decks in this situation. Não ative bloqueio de tom, efeitos ou leitores adicionais nesta situação. - + Audio Latency Overload Indicator Indicador de Sobrecarga de Latência Audio @@ -14860,254 +14979,254 @@ Usar isto para alterar apenas o sinal já com os efeitos (molhado) de EQ e filtr Mostra o tom musical corrente da faixa carregada, após movimentação do cursor de velocidade/tom. - + Fast Rewind Retrocesso Rápido - + Fast rewind through the track. Rebobina a música rapidamente. - + Fast Forward Avanço Rápido - + Fast forward through the track. Avanço rápido através da faixa. - + Jumps to the end of the track. Salta para o fim da faixa. - + Sets the pitch to a key that allows a harmonic transition from the other track. Requires a detected key on both involved decks. Define a tonalidade para um tom que permita uma transição harmónica para outra faixa. Requer ter sido detetado um tom em ambos os leitores envolvidos. - - - + + + Pitch Control Controle do Pitch - + Pitch Rate Variação da Velocidade - + Displays the current playback rate of the track. Mostra a taxa de reprodução da música em execução. - + Repeat Repetir - + When active the track will repeat if you go past the end or reverse before the start. Quando ativo, a música vai repetir se você passar do final ou inverter a reprodução antes do início. - + Eject Extrair - + Ejects track from the player. Extrai a faixa do leitor. - + Hotcue Hot Cue - + If hotcue is set, jumps to the hotcue. Se a hot cue estiver definida, salta para a hot cue. - + If hotcue is not set, sets the hotcue to the current play position. Se a hot cue não estiver definida, define a hot cue para a atual posição a tocar. - + Vinyl Control Mode Modo Controlo do Vinil - + Absolute mode - track position equals needle position and speed. Modo absoluto - a posição da faixa é igual à posição e velocidade da agulha. - + Relative mode - track speed equals needle speed regardless of needle position. Modo relativo - a velocidade da faixa é igual à da agulha, independente da posição. - + Constant mode - track speed equals last known-steady speed regardless of needle input. Modo Constante - a velocidade da faixa é igual à última velocidade estável conhecida, independentemente da informação de entrada da agulha. - + Vinyl Status Estado do Vinil - + Provides visual feedback for vinyl control status: Provê retorno visual para o estado do controle por vinil: - + Green for control enabled. Verde quando o controle estiver ativado. - + Blinking yellow for when the needle reaches the end of the record. Amarelo piscante quando a agulha estiver no fim do disco. - + Loop-In Marker Marcador de Início Loop - + Loop-Out Marker Marca de Saída do Loop - + Loop Halve Reduzir a Metade Loop - + Halves the current loop's length by moving the end marker. Diminui o comprimento atual do loop pela metade movendo a marca de saída. - + Deck immediately loops if past the new endpoint. O leitor entra em loop imediatamente, se ultrapassar o novo ponto final. - + Loop Double Duplicar Loop - + Doubles the current loop's length by moving the end marker. Dobra o comprimento do loop atual movendo a marca de saída. - + Beatloop Loop de Batida - + Toggles the current loop on or off. Alterna entre ligar/desligar o loop corrente. - + Works only if Loop-In and Loop-Out marker are set. Funciona apenas se os marcadores de Início Loop e Fim Loop estiverem definidos. - + Vinyl Cueing Mode Modo de Cue do Vinil - + Determines how cue points are treated in vinyl control Relative mode: Determina como os pontos de marcação são tratados no modo Relativo do controlo de vinil: - + Off - Cue points ignored. Off - Pontos de marcação ignorados. - + One Cue - If needle is dropped after the cue point, track will seek to that cue point. Único - Se a agulha for solta depois doponto cue, a faixa vai até aquele ponto cue. - + Track Time Tempo da Faixa - + Track Duration Duração Faixa - + Displays the duration of the loaded track. Mostra a duração da faixa carregada. - + Information is loaded from the track's metadata tags. A informação é carregada a partir das etiquetas de metadados da faixa. - + Track Artist Artista da Faixa - + Displays the artist of the loaded track. Mostra o artista da faixa carregada. - + Track Title Título da Faixa - + Displays the title of the loaded track. Mostra o título da faixa carregada. - + Track Album Album Faixa - + Displays the album name of the loaded track. Mostra o nome do álbum da faixa carregada. - + Track Artist/Title Artista/Título da Faixa - + Displays the artist and title of the loaded track. Mostra o artista e o título da faixa carregada. @@ -15115,12 +15234,12 @@ Usar isto para alterar apenas o sinal já com os efeitos (molhado) de EQ e filtr TrackCollection - + Hiding tracks Ocultar faixas - + The selected tracks are in the following playlists:%1Hiding them will remove them from these playlists. Continue? As faixas selecionadas estão na seguintes playlists: %1 Ocultando-as serão removidas destas playlists. Continuar? @@ -15173,7 +15292,7 @@ Usar isto para alterar apenas o sinal já com os efeitos (molhado) de EQ e filtr Export Track Files To - + Exportar Faixas Para @@ -15262,7 +15381,7 @@ Usar isto para alterar apenas o sinal já com os efeitos (molhado) de EQ e filtr Time until charged: %1 - + Tempo até carregada: %1 @@ -15272,7 +15391,7 @@ Usar isto para alterar apenas o sinal já com os efeitos (molhado) de EQ e filtr Battery fully charged. - + Bateria totalmente carregada. @@ -15335,47 +15454,47 @@ This can not be undone! WCueMenuPopup - + Cue number - + Cue position - + Edit cue label - + Label... - + Delete this cue - + Toggle this cue type between normal cue and saved loop - + Left-click: Use the old size or the current beatloop size as the loop size - + Right-click: Use the current play position as loop end if it is after the cue - + Hotcue #%1 @@ -15409,7 +15528,7 @@ This can not be undone! %1: %2 %1 = effect name; %2 = effect description - + %1: %2 @@ -15500,323 +15619,353 @@ This can not be undone! + Search in Current View... + + + + + Search for tracks in the current library view + + + + + Ctrl+f + + + + + Search in Tracks Library... + + + + + Search in the internal track collection under "Tracks" in the library + + + + + Ctrl+Shift+F + + + + Create &New Playlist Criar &Playlist Nova - + Create a new playlist Criar uma nova lista de reprodução - + Ctrl+n Ctrl+n - + Create New &Crate Criar Nova &Caixa - + Create a new crate Criar uma caixa nova - + Ctrl+Shift+N - + Ctrl+Shift+N - - + + &View &Exibir - + Auto-hide menu bar - + Auto-hide the main menu bar when it's not used. - + May not be supported on all skins. Pode não ser suportado em todas as skins. - + Show Skin Settings Menu Mostrar Menu de Configurações do Tema - + Show the Skin Settings Menu of the currently selected Skin Mostra o menu das configurações do tema do tema atualmente selecionado - + Ctrl+1 Menubar|View|Show Skin Settings Ctrl+1 - + Show Microphone Section Mostrar Seção do Microfone - + Show the microphone section of the Mixxx interface. Mostra a seção microfone do interface Mixxx. - + Ctrl+2 Menubar|View|Show Microphone Section - + Ctrl+2 - + Show Vinyl Control Section Mostra Seção Controlo do Vinil - + Show the vinyl control section of the Mixxx interface. Mostra a seção controlo de vinil do interface Mixxx. - + Ctrl+3 Menubar|View|Show Vinyl Control Section - + Ctrl+3 - + Show Preview Deck Mostrar Leitor Antevisão - + Show the preview deck in the Mixxx interface. Mostra o leitor de antevisão no interface Mixxx. - + Ctrl+4 Menubar|View|Show Preview Deck - + Ctrl+4 - + Show Cover Art Mostrar Capa - + Show cover art in the Mixxx interface. Mostrar as capas dos discos no interface Mixxx. - + Ctrl+6 Menubar|View|Show Cover Art - + Ctrl+6 - + Maximize Library Maximizar Biblioteca - + Maximize the track library to take up all the available screen space. Maximiza a biblioteca de faixas para ocupar todo o espaço disponível do ecrã. - + Space Menubar|View|Maximize Library Espaço - + &Full Screen Te&la cheia - + Display Mixxx using the full screen Mostrar o Mixxx utilizando o ecrã inteiro. - + &Options &Opções - + &Vinyl Control Controlo de &Vinil - + Use timecoded vinyls on external turntables to control Mixxx Use vinils com timecode em toca-discos externos para controlar o Mixxx - + Enable Vinyl Control &%1 Ativar Controlo do Vinil &%1 - + &Record Mix &Gravar Mistura - + Record your mix to a file Grave sua mixagem para um arquivo - + Ctrl+R Ctrl+R - + Enable Live &Broadcasting Ativar Transmissão Ao &Vivo - + Stream your mixes to a shoutcast or icecast server Difunda as suas misturas via um servidor de "shoutcast" ou "icecast" - + Ctrl+L Ctrl+L - + Enable &Keyboard Shortcuts Ativar Atalhos de Teclado - + Toggles keyboard shortcuts on or off Alterna entre ligar/desligar os atalhos de teclado. - + Ctrl+` Ctrl+` - + &Preferences &Preferências - + Change Mixxx settings (e.g. playback, MIDI, controls) Muda as configurações do Mixxx (ex.: reprodução, MIDI, controles) - + &Developer &Desenvolvedor - + &Reload Skin &Recarregar Skin - + Reload the skin Recarregar a skin - + Ctrl+Shift+R Ctrl+Shift+R - + Developer &Tools &Ferramentas do Desenvolvedor - + Opens the developer tools dialog Abre o diálogo das ferramentas do desenvolvedor - + Ctrl+Shift+T - + Ctrl+Shift+T - + Stats: &Experiment Bucket Dados: Balde de &Experimento - + Enables experiment mode. Collects stats in the EXPERIMENT tracking bucket. Ativa o modo Experiências. Coleta estatísticas no balde de rastreio EXPERIÊNCIAS. - + Ctrl+Shift+E - + Ctrl+Shift+E - + Stats: &Base Bucket Estatísticas: &Balde Base - + Enables base mode. Collects stats in the BASE tracking bucket. Ativa o modo Base. Coleta estatísticas no balde de rastreio BASE. - + Ctrl+Shift+B Ctrl+Shift+B - + Deb&ugger Enabled Deb&ugger Ativado - + Enables the debugger during skin parsing Ativa o debugger enquanto a skin estiver sendo analisada - + Ctrl+Shift+D - + Ctrl+Shift+D - + &Help &Ajuda - + Show Keywheel menu title @@ -15833,74 +15982,74 @@ This can not be undone! - + Show keywheel tooltip text - + F12 Menubar|View|Show Keywheel - + F12 - + &Community Support &Apoio da Comunidade - + Get help with Mixxx Obter ajuda com o Mixxx - + &User Manual Manual do &Utilizador - + Read the Mixxx user manual. Ler o manual do utilizador do Mixxx. - + &Keyboard Shortcuts &Atalhos de Teclado - + Speed up your workflow with keyboard shortcuts. Acelere o seu fluxo de trabalho com os atalhos de teclado. - + &Settings directory - + Open the Mixxx user settings directory. - + &Translate This Application &Traduzir Este Programa - + Help translate this application into your language. Ajude a traduzir esta aplicação na sua língua. - + &About So&bre - + About the application Sobre esta aplicação @@ -15908,25 +16057,25 @@ This can not be undone! WOverview - + Passthrough Passagem - + Ready to play, analyzing... Text on waveform overview when file is playable but no waveform is visible - - + + Loading track... Text on waveform overview when file is cached from source - + Finalizing... Text on waveform overview during finalizing of waveform analysis @@ -15935,25 +16084,13 @@ This can not be undone! WSearchLineEdit - - Clear input - Clear the search bar input field - Limpar entrada - - - - Ctrl+F - Search|Focus - Ctrl+F - - - + Search noun Procurar - + Clear input Limpar a entrada @@ -15964,169 +16101,163 @@ This can not be undone! Procurar... - + Clear the search bar input field - - Enter a string to search for - Digite uma frase para procurar + + Return + Enter - - Use operators like bpm:115-128, artist:BooFar, -year:1990 + + Enter a string to search for. - - For more information see User Manual > Mixxx Library + + Use operators like bpm:115-128, artist:BooFar, -year:1990. - Shortcut - Atalho + See User Manual > Mixxx Library for more information. + - - Ctrl+F + + Focus/Select All (Search in current view) + Give search bar input focus - - Focus - Give search bar input focus + + Focus/Select All (Search in 'Tracks' library view) - - - Ctrl+Backspace - Ctrl+Backspace + + Additional Shortcuts When Focused: + - Shortcuts + Trigger search before search-as-you-type timeout or focus tracks view afterwards - Return - Enter + Esc or Ctrl+Return + - Trigger search before search-as-you-type timeout orjump to tracks view afterwards + Immediately trigger search and focus tracks view + Exit search bar and leave focus - + Ctrl+Space - + Ctrl+Space - + Toggle search history Shows/hides the search history entries - + Delete or Backspace - - Delete query from history - - - - - Esc + + in search history - - Exit search - Exit search bar and leave focus + + Delete query from history WSearchRelatedTracksMenu - + Search related Tracks - + Key Tom - + harmonic with %1 - + BPM BPM - + between %1 and %2 - + Artist Artista - + Album Artist Artista do Album - + Composer Compositor - + Title Título - + Album Album - + Grouping Agrupamento - + Year Ano - + Genre Género - + Directory - + &Search selected @@ -16134,620 +16265,625 @@ This can not be undone! WTrackMenu - + Load to Carregar para - + Deck Leitor - + Sampler Sampler - + Add to Playlist Adicionar à Playlist - + Crates Caixas - + Metadata Metadados - + Update external collections - + Cover Art Capa do Disco - + Adjust BPM - + Ajustar BPM - + Select Color - - + + Analyze Analisar - - + + Delete Track Files - + Add to Auto DJ Queue (bottom) Adicionar à Fila Auto DJ (baixo) - + Add to Auto DJ Queue (top) Adicionar à Fila Auto DJ (cima) - + Add to Auto DJ Queue (replace) Adicionar à Fila Auto DJ (Substituir) - + Preview Deck Leitor de Antevisão - + Remove Remover - + Remove from Playlist Remover da Playlist - + Remove from Crate Remover da Caixa - + Hide from Library Ocultar da Biblioteca - + Unhide from Library Mostrar da Bilioteca - + Purge from Library Remover da Biblioteca - + Move Track File(s) to Trash - + Delete Files from Disk - + Properties Propriedades - + Open in File Browser Abrir no Explorador de Ficheiros - + Select in Library - + Import From File Tags Importar Das Tags Ficheiros - + Import From MusicBrainz Importar De MusicBrainz - + Export To File Tags Exportar Para Tags Ficheiros - + BPM and Beatgrid BPM e Grelha de Batidas - + Play Count Contador de Leitura - + Rating Classificação - + Cue Point Ponto de Marcação - - + + Hotcues Hot Cues - + Intro - + Outro - + Key Tom - + ReplayGain ReplayGain - + Waveform Forma de Onda - + Comment Comentário - + All Todas - + Sort hotcues by position (remove offsets) - + Sort hotcues by position - + Lock BPM Bloquear BPM - + Unlock BPM Desbloquear BPM - + Double BPM Duplicar BPM - + Halve BPM Reduzir a Metade BPM - + 2/3 BPM 2/3 BPM - + 3/4 BPM 3/4 BPM - + 4/3 BPM 4/3 BPM - + 3/2 BPM 3/2 BPM - + + Shift Beatgrid Half Beat + + + + Reanalyze - + Reanalyze (constant BPM) - + Reanalyze (variable BPM) - + Update ReplayGain from Deck Gain - + Deck %1 Leitor %1 - + Importing metadata of %n track(s) from file tags - + Marking metadata of %n track(s) to be exported into file tags - - + + Create New Playlist Criar uma Playlist Nova - + Enter name for new playlist: Introduzir um nome para a nova playlist: - + New Playlist Playlist Nova - - - + + + Playlist Creation Failed Criação da Playlist Falhou - + A playlist by that name already exists. Já existe uma playlist com esse nome. - + A playlist cannot have a blank name. Uma playlist não pode ter um nome em branco. - + An unknown error occurred while creating playlist: Ocorreu um erro desconhecido ao criar a playlist: - + Add to New Crate - + Scaling BPM of %n track(s) - + Undo BPM/beats change of %n track(s) - + Locking BPM of %n track(s) Locking BPM of %n track(s)Locking BPM of %n track(s)Bloqueando o BPM de %n faixa(s) - + Unlocking BPM of %n track(s) Unlocking BPM of %n track(s)Unlocking BPM of %n track(s)Desbloqueando o BPM de %n faixa(s) - + Setting rating of %n track(s) - + Setting color of %n track(s) Setting color of %n track(s)Setting color of %n track(s)Mudando a cor de %n faixa(s) - + Resetting play count of %n track(s) - + Resetting beats of %n track(s) - + Clearing rating of %n track(s) - + Clearing comment of %n track(s) - + Removing main cue from %n track(s) - + Removing outro cue from %n track(s) - + Removing intro cue from %n track(s) - + Removing loop cues from %n track(s) - + Removing hot cues from %n track(s) - + Sorting hotcues of %n track(s) by position (remove offsets) - + Sorting hotcues of %n track(s) by position - + Resetting keys of %n track(s) - + Resetting replay gain of %n track(s) - + Resetting waveform of %n track(s) - + Resetting all performance metadata of %n track(s) - + Move these files to the trash bin? - + Permanently delete these files from disk? - - + + This can not be undone! - + Cancel Cancelar - + Delete Files - + Okay - + Move Track File(s) to Trash? - + Track Files Deleted - + Track Files Moved To Trash - + %1 track files were moved to trash and purged from the Mixxx database. - + %1 track files were deleted from disk and purged from the Mixxx database. - + Track File Deleted - + Track file was deleted from disk and purged from the Mixxx database. - + The following %1 file(s) could not be deleted from disk - + This track file could not be deleted from disk - + Remaining Track File(s) - + Close Fechar - + Clear Reset metadata in right click track context menu in library - + Loops - + Clear BPM and Beatgrid - + Undo last BPM/beats change - + Move this track file to the trash bin? - + Permanently delete this track file from disk? - + All decks where these tracks are loaded will be stopped and the tracks will be ejected. - + All decks where this track is loaded will be stopped and the track will be ejected. - + Removing %n track file(s) from disk... - + Note: if you are in the Computer or Recording view you need to click the current view again to see changes. - + Track File Moved To Trash - + Track file was moved to trash and purged from the Mixxx database. - + Don't show again during this session - + The following %1 file(s) could not be moved to trash - + This track file could not be moved to trash - + Setting cover art of %n track(s) - + Reloading cover art of %n track(s) @@ -16763,37 +16899,37 @@ This can not be undone! WTrackStemMenu - + Load for stem mixing - + Load pre-mixed stereo track - + Load the "%1" stem - + Load multiple stem into a stereo deck - + Select stems to load - + Release "CTRL" to load the current selection - + Use "CTRL" to select multiple stems @@ -16801,37 +16937,37 @@ This can not be undone! WTrackTableView - + Confirm track hide - + Are you sure you want to hide the selected tracks? - + Are you sure you want to remove the selected tracks from AutoDJ queue? - + Are you sure you want to remove the selected tracks from this crate? - + Are you sure you want to remove the selected tracks from this playlist? - + Don't ask again during this session - + Confirm track removal @@ -16839,12 +16975,12 @@ This can not be undone! WTrackTableViewHeader - + Show or hide columns. Mostra ou oculta colunas. - + Shuffle Tracks @@ -16852,52 +16988,52 @@ This can not be undone! mixxx::CoreServices - + fonts - + database - + effects - + audio interface - + decks - + library - + Choose music library directory Escolher a pasta biblioteca musical - + controllers - + Cannot open database Não pode abrir a base de dados. - + Unable to establish a database connection. Mixxx requires QT with SQLite support. Please read the Qt SQL driver documentation for information on how to build it. @@ -16911,68 +17047,78 @@ Clique OK para sair. mixxx::DlgLibraryExport - + Entire music library - - Selected crates + + Crates - - Browse + + Playlists + + + + + Selected crates/playlists - + + Browse + Navegar + + + Export directory - + Database version - + Export Exportar - + Cancel - + Cancelar - + Export Library to Engine DJ "Engine DJ" must not be translated - + Export Library To - + No Export Directory Chosen - + No export directory was chosen. Please choose a directory in order to export the music library. - + A database already exists in the chosen directory. Exported tracks will be added into this database. - + A database already exists in the chosen directory, but there was a problem loading it. Export is not guaranteed to succeed in this situation. @@ -16993,7 +17139,7 @@ Clique OK para sair. mixxx::EnginePrimeExportJob - + Failed to export track %1 - %2: %3 %1 is the artist %2 is the title and %3 is the original error message @@ -17003,23 +17149,23 @@ Clique OK para sair. mixxx::LibraryExporter - + Export Completed - - Exported %1 track(s) and %2 crate(s). + + Exported %1 track(s), %2 crate(s), and %3 playlist(s). - + Export Failed - - Exporting to Engine Prime... + + Exporting to Engine DJ... @@ -17036,7 +17182,7 @@ Clique OK para sair. No network access - + Sem acesso a rede diff --git a/res/translations/mixxx_ro.qm b/res/translations/mixxx_ro.qm index 3a66a052e63a059beecd80a1b60dac48c5062eca..b64883bf962c385486b44660c83fc61372c0038e 100644 GIT binary patch delta 527 zcmW-dPe_w-9LC?@)Be;3As%*S?)fa-=WL*^UHX5I-%{^hRSAt1HJ&l%@IMpFXuuar0a zLE;eQ&Et?g^w}(0qJ5g%r&a{yjGFmkS-|NHa#{Kivr^V_jP6-}AQz+=>lDHd$Ym=a zq~nveS%#ECE_*Lh(-gNWNOO8(A23KA+JzG(^-P_b_E!iMd2O!>7&=PLRu747D)Std z+x9SI&QsP=Kyr=N9kYmsDeDw5RN|A)B6BEy{YLq&z{+)ft@=n{!`Jn%f4>#j{SmUY ze?e43&GrGLk5j)p2PwrX?i&p87Jj(HuG(lNxl?U-(M;zS!d-OP<45uWRXp2>F4CQS z%TRt&+*?5GJ*{}%7<|Y-cva=f6MNn7(_O{3&pK5R6kZSn>r zR;lQevAK;M=IcjAm}MX$Dp%AW!5`{Gu@=FxvQ7I-w*AP!9~uNjyuNHj*oAw~xt!-Y z&vQ8U&X_KrGkw>}9$m4`Gwf&dhS@RrBiV3`LQ{AXBLh5E zbC==3I5`Xf42+X%$V=hFfLmmGW|+l5FI|N)#v>T) zqe^2M2Y%uq>v4wBDpi)Q#o;b;G(|8Lq=_c4$vlP&w4Rb3 zRSdf+w&EIYKS5SU8YBB?!ePg)9zNv|3)$Yzlg=dtbu4NdU<&LgFwk&fgBsTN1e)ok#0RDA)#32_Q?*0{(E{eIfpmIgKco4e}&AE=w zx!CnN7gj&hCQG=YU3Oq_RnEx`ZoxZQuqK@{om2 z=mP~3um=h-re~=|AdVz%omF->BDQsXHk^oqp>n<4eDh%TT#D&bP&N1nYIRW4|MmC#;e1+TV5 iX04Jzx2qGihb1g(t1qxl?YSUmUwq5#*W>$er12fZI~wBv diff --git a/res/translations/mixxx_ro.ts b/res/translations/mixxx_ro.ts index d00e953e3f30..f548cfe75a49 100644 --- a/res/translations/mixxx_ro.ts +++ b/res/translations/mixxx_ro.ts @@ -39,32 +39,32 @@ - + Remove Crate as Track Source Elimină colecția ca sursă pistă - + Auto DJ Auto DJ - + Confirmation Clear - + Do you really want to remove all tracks from the Auto DJ queue? - + This can not be undone. - + Add Crate as Track Source Adaugă colecția ca sursă pistă @@ -148,7 +148,7 @@ BasePlaylistFeature - + New Playlist Listă de redare nouă @@ -159,7 +159,7 @@ - + Create New Playlist Crează listă de redare nouă @@ -189,113 +189,120 @@ Duplică - - + + Import Playlist Importare listă de redare - + Export Track Files - + Analyze entire Playlist Analizează întreaga listă de redare - + Enter new name for playlist: Introduceți noul nume pentru lista de redare: - + Duplicate Playlist Duplicare listă de redare - - + + Enter name for new playlist: Introduceți numele pentru noua listă de redare: - - + + Export Playlist Exportare listă de redare - + Add to Auto DJ Queue (replace) - + + + Export to Engine DJ + "Engine DJ" is a product name and must not be translated. + + + + Rename Playlist Redenumește lista de redare - - + + Renaming Playlist Failed Redenumirea listei de redare a eşuat - - - + + + A playlist by that name already exists. Există deja o listă de redare cu acelaşi nume. - - - + + + A playlist cannot have a blank name. O listă de redare nu poate fi nedenumită. - + _copy //: Appendix to default name when duplicating a playlist _copiere - - - - - - + + + + + + Playlist Creation Failed Crearea listei de redare a eşuat - - + + An unknown error occurred while creating playlist: O eroare necunoscută a apărut în timpul creării listei de redare: - + Confirm Deletion - + Do you really want to delete playlist <b>%1</b>? - + M3U Playlist (*.m3u) Listă de redare M3U (*.m3u) - + M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Text CSV (*.csv);;Readable Text (*.txt) M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Text CSV (*.csv);;Text lizibil (*.txt) @@ -303,12 +310,12 @@ BaseSqlTableModel - + # # - + Timestamp Marcaj temporal @@ -316,7 +323,7 @@ BaseTrackPlayerImpl - + Couldn't load track. Nu se poate încărca pista. @@ -324,137 +331,142 @@ BaseTrackTableModel - + Album Album - + Album Artist Album artist - + Artist Artist - + Bitrate Rată de biți - + BPM BPM - + Channels Canale - + Color - + Comment Comentariu - + Composer Compozitor - + Cover Art Copertă - + Date Added Data adăugării - + Last Played - + Duration Durată - + Type Tip - + Genre Gen - + Grouping Grupare - + Key Tastă - + Location Locație - + + Overview + + + + Preview Previzualizare - + Rating Apreciere - + ReplayGain Înlocuire câștig - + Samplerate - + Played Redat - + Title Titlu - + Track # Pista # - + Year An - + Fetching image ... Tooltip text on the cover art column shown when the cover is read from disk @@ -542,67 +554,77 @@ BrowseFeature - + Add to Quick Links Adaugă la link-uri rapide - + Remove from Quick Links Elimină din link-uri rapide - + Add to Library Adaugă la bibliotecă - + Refresh directory tree - + Quick Links Link-uri rapide - - + + Devices Dispozitive - + Removable Devices Medii amovibile - - + + Computer - + Music Directory Added Directorul Muzică s-a adăugat - + You added one or more music directories. The tracks in these directories won't be available until you rescan your library. Would you like to rescan now? Ați adăugat unul sau mai multe directoare. Pistele din aceste directoare nu vor fi disponibile până ce nu veți rescana biblioteca. Doriți să fie rescanată acum? - + Scan Scanare - + "Computer" lets you navigate, view, and load tracks from folders on your hard disk and external devices. + + + It shows the data from the file tags, not track data from your Mixxx library like other track views. + + + + + If you load a track file from here, it will be added to your library. + + BrowseTableModel @@ -1045,13 +1067,13 @@ trace - Above + Profiling messages - + Set to full volume Configurează la volum maxim - + Set to zero volume Configurează la volum 0 @@ -1076,13 +1098,13 @@ trace - Above + Profiling messages - + Headphone listen button Buton ascultare în căști - + Mute button Buton amuțire @@ -1093,25 +1115,25 @@ trace - Above + Profiling messages - + Mix orientation (e.g. left, right, center) Orientare mixer (ex.-stânga,-dreapta,-centru) - + Set mix orientation to left Configurează orientarea mixerului la stânga - + Set mix orientation to center Configurează orientarea mixerului la centru - + Set mix orientation to right Configurează orientarea mixerului la dreapta @@ -1152,22 +1174,22 @@ trace - Above + Profiling messages - + Toggle quantize mode Comută mod cuantificare - + One-time beat sync (tempo only) Sincronizare bătaie o singură dată (numai tempo) - + One-time beat sync (phase only) Sincronizare bătaie o singură dată (numai fază) - + Toggle keylock mode Comută mod keylock @@ -1177,193 +1199,193 @@ trace - Above + Profiling messages Egalizatoare - + Vinyl Control Control disc vinil - + Toggle vinyl-control cueing mode (OFF/ONE/HOT) - + Toggle vinyl-control mode (ABS/REL/CONST) Comută mod control disc vinil (ABS/REL/CONST) - + Pass through external audio into the internal mixer Trece audio extern în mixerul intern - + Cues Cue - + Cue button Buton cue - + Set cue point Configurare punct cue - + Go to cue point Mergi la punct cue - + Go to cue point and play Mergi la punct cue și redă - + Go to cue point and stop Mergi la punct cue și oprește - + Preview from cue point Previzualizare de la punct cue - + Cue button (CDJ mode) Buton cue (mod CDJ) - + Stutter cue - + Hotcues Hotcue - + Set, preview from or jump to hotcue %1 Configurează, previzualizează de la sau sari la hotcue %1 - + Clear hotcue %1 Curăță hotcue %1 - + Set hotcue %1 Configurează hotcue %1 - + Jump to hotcue %1 Sări la hotcue %1 - + Jump to hotcue %1 and stop Sări la hotcue %1 și oprește - + Jump to hotcue %1 and play Sări la hotcue %1 și redă - + Preview from hotcue %1 Previzualizează hotcue %1 - - + + Hotcue %1 Hotcue %1 - + Looping Repetă în buclă - + Loop In button Buton începere buclă - + Loop Out button Buton terminare buclă - + Loop Exit button Buton ieșire buclă - + 1/2 1/2 - + 1 1 - + 2 2 - + 4 4 - + 8 8 - + 16 16 - + 32 32 - + 64 64 - + Move loop forward by %1 beats Mută bucla înainte cu %1 bătăi - + Move loop backward by %1 beats Mută bucla înapoi cu %1 bătăi - + Create %1-beat loop Creează buclă de %1 bătăi - + Create temporary %1-beat loop roll Creează o buclă temporară de %1 bătăi @@ -1479,20 +1501,20 @@ trace - Above + Profiling messages - - + + Volume Fader Fader Volume - + Full Volume Volum total - + Zero Volume Volum zero @@ -1508,7 +1530,7 @@ trace - Above + Profiling messages - + Mute Amuțire @@ -1519,7 +1541,7 @@ trace - Above + Profiling messages - + Headphone Listen Ascultare în căști @@ -1540,25 +1562,25 @@ trace - Above + Profiling messages - + Orientation Orientare - + Orient Left Orientare stânga - + Orient Center Orientare centru - + Orient Right Orientare dreapta @@ -1628,82 +1650,82 @@ trace - Above + Profiling messages Ajustează la dreapta grila bătaie - + Adjust Beatgrid Ajustare grilă bătaie - + Align beatgrid to current position Aliniază grila bătaie la poziția curentă - + Adjust Beatgrid - Match Alignment Ajustează grila bătaie - Potrivește aliniament - + Adjust beatgrid to match another playing deck. Ajustează grila bătaie să se potrivească cu alt deck care redă. - + Quantize Mode Mod cuantificare - + Sync Sincronizare - + Beat Sync One-Shot Sincronizează bătaia o singură dată - + Sync Tempo One-Shot Sincronizează tempo o singură dată - + Sync Phase One-Shot Sincronizează faza o singură dată - + Pitch control (does not affect tempo), center is original pitch Control pitch (nu afectează tempo), la centru este pitch original - + Pitch Adjust Ajustare pitch - + Adjust pitch from speed slider pitch - + Match musical key Potrivește cheia muzicală - + Match Key Potrivește cheia - + Reset Key Resetează cheia - + Resets key to original Resetează cheia la original @@ -1744,451 +1766,451 @@ trace - Above + Profiling messages Egalizator joase - + Toggle Vinyl Control Comută controlul disc vinil - + Toggle Vinyl Control (ON/OFF) Comută control disc vinil (Pornit/Oprit) - + Vinyl Control Mode Mod control disc vinil - + Vinyl Control Cueing Mode Control vinil mod cue - + Vinyl Control Passthrough - + Vinyl Control Next Deck Control disc vinil deck-ul următor - + Single deck mode - Switch vinyl control to next deck Mod deck unic - Comută controlul discului vinil la următorul deck - + Cue Cue - + Set Cue Configurare cue - + Go-To Cue Mergi la cue - + Go-To Cue And Play Mergi la cue și redă - + Go-To Cue And Stop Mergi la cue și oprește - + Preview Cue Previzualizare cue - + Cue (CDJ Mode) Cue (mod CDJ) - + Stutter Cue - + Go to cue point and play after release - + Clear Hotcue %1 Curăță hotcue %1 - + Set Hotcue %1 Configurează hotcue %1 - + Jump To Hotcue %1 Sări la hotcue %1 - + Jump To Hotcue %1 And Stop Sări la hotcue %1 și oprește - + Jump To Hotcue %1 And Play Sări la hotcue %1 și redă - + Preview Hotcue %1 Previzualizare hotcue %1 - + Loop In Intrare buclă - + Loop Out Ieșire buclă - + Loop Exit Ieșire buclă - + Reloop/Exit Loop Reluare/ieșire buclă - + Loop Halve Înjumătățește bucla - + Loop Double Buclă dublă - + 1/32 1/32 - + 1/16 1/16 - + 1/8 1/8 - + 1/4 1/4 - + Move Loop +%1 Beats Mută bucla cu +%1 bătăi - + Move Loop -%1 Beats Mută bucla cu -%1 bătăi - + Loop %1 Beats Buclă %1 bătăi - + Loop Roll %1 Beats - + Add to Auto DJ Queue (bottom) Adăugaţi în selecţia Auto DJ (jos) - + Append the selected track to the Auto DJ Queue Adaugă pistele selectate la Coada Auto DJ - + Add to Auto DJ Queue (top) Adăugaţi în selecţia Auto DJ (sus) - + Prepend selected track to the Auto DJ Queue - + Load Track Încarcă pista - + Load selected track Încarcă pista selectată - + Load selected track and play Încarcă pista selectată și redă - - + + Record Mix Mixer înregistrare - + Toggle mix recording Comută mixer înregistrare - + Effects Efecte - + Quick Effects Efecte rapide - + Deck %1 Quick Effect Super Knob Super buton efect rapid Deck %1 - + Quick Effect Super Knob (control linked effect parameters) Super buton efect rapid (control parametrii efecte legate) - - + + Quick Effect Efect rapid - + Clear Unit Curăță unitatea - + Clear effect unit Curăță unitatea efectelor - + Toggle Unit Comută unitatea - + Dry/Wet Uscat/umed - + Adjust the balance between the original (dry) and processed (wet) signal. - + Super Knob Super buton - + Next Chain Lanțul următor - + Assign Atribuie - + Clear Curăță - + Clear the current effect Curăță efectul curent - + Toggle Comutare - + Toggle the current effect Comută efectul curent - + Next Următor - + Switch to next effect Comută la efectul următor - + Previous Anterior - + Switch to the previous effect Comută la efectul anterior - + Next or Previous Următor sau anterior - + Switch to either next or previous effect Comută fie la următorul sau anteriorul efect - - + + Parameter Value Valoare parametru - - + + Microphone Ducking Strength Intensitate atenuare microfon - + Microphone Ducking Mode Mod atenuare microfon - + Gain Câștig - + Gain knob Buton câștig - + Shuffle the content of the Auto DJ queue - + Skip the next track in the Auto DJ queue - + Auto DJ Toggle Comutare DJ automat - + Toggle Auto DJ On/Off Comută Auto DJ Pornit/Oprit - + Show/hide the microphone & auxiliary section - + 4 Effect Units Show/Hide - + Switches between showing 2 and 4 effect units - + Mixer Show/Hide - + Show or hide the mixer. Arată sau ascunde mixer. - + Cover Art Show/Hide (Library) - + Show/hide cover art in the library - + Library Maximize/Restore Bibliotecă mărește/restaurează - + Maximize the track library to take up all the available screen space. Mărește spațiul bibliotecii pentru a acoperii tot spațiul disponibil al ecranului. - + Effect Rack Show/Hide Arată/ascunde rack efect - + Show/hide the effect rack Arată/ascunde rack-ul efectului - + Waveform Zoom Out Redu zoom formă de undă @@ -2203,102 +2225,102 @@ trace - Above + Profiling messages Câștig căști - + Tap to sync tempo (and phase with quantize enabled), hold to enable permanent sync - + One-time beat sync tempo (and phase with quantize enabled) - + Playback Speed Viteză redare - + Playback speed control (Vinyl "Pitch" slider) Control viteză redare (Vinyl "Pitch" cursor) - + Pitch (Musical key) Pitch (Cheie muzicală) - + Increase Speed Mărește viteza - + Adjust speed faster (coarse) Ajustează viteza repede (brut) - + Increase Speed (Fine) Mărește viteza (Fin) - + Adjust speed faster (fine) Ajustează viteza rapid (fin) - + Decrease Speed Scade viteza - + Adjust speed slower (coarse) Ajustează viteza lent (brut) - + Adjust speed slower (fine) Ajustează viteza lent (fin) - + Temporarily Increase Speed Mărește viteza temporar - + Temporarily increase speed (coarse) Mărește viteza temporar (brut) - + Temporarily Increase Speed (Fine) Mărește viteza temporar (Fin) - + Temporarily increase speed (fine) Mărește viteza temporar (fin) - + Temporarily Decrease Speed Scade viteza temporar - + Temporarily decrease speed (coarse) Scade vitea temporar (brut) - + Temporarily Decrease Speed (Fine) Scade viteza temporar (Fin) - + Temporarily decrease speed (fine) Scade viteza temporar (fin) @@ -2450,1053 +2472,1063 @@ trace - Above + Profiling messages - - + + Move Beatgrid Half a Beat + + + + + Adjust the beatgrid by exactly one half beat. Usable only for tracks with constant tempo. + + + + + Toggle the BPM/beatgrid lock - + Revert last BPM/Beatgrid Change - + Revert last BPM/Beatgrid Change of the loaded track. - + Sync / Sync Lock - + Internal Sync Leader - + Toggle Internal Sync Leader - - + + Internal Leader BPM - + Internal Leader BPM +1 - + Increase internal Leader BPM by 1 - + Internal Leader BPM -1 - + Decrease internal Leader BPM by 1 - + Internal Leader BPM +0.1 - + Increase internal Leader BPM by 0.1 - + Internal Leader BPM -0.1 - + Decrease internal Leader BPM by 0.1 - + Sync Leader - + Sync mode 3-state toggle / indicator (Off, Soft Leader, Explicit Leader) - + Speed - + Decrease Speed (Fine) - + Pitch (Musical Key) - + Increase Pitch - + Increases the pitch by one semitone - + Increase Pitch (Fine) - + Increases the pitch by 10 cents - + Decrease Pitch - + Decreases the pitch by one semitone - + Decrease Pitch (Fine) - + Decreases the pitch by 10 cents - + Keylock - + CUP (Cue + Play) - + Shift cue points earlier - + Shift cue points 10 milliseconds earlier - + Shift cue points earlier (fine) - + Shift cue points 1 millisecond earlier - + Shift cue points later - + Shift cue points 10 milliseconds later - + Shift cue points later (fine) - + Shift cue points 1 millisecond later - - + + Sort hotcues by position - - + + Sort hotcues by position (remove offsets) - + Hotcues %1-%2 - + Intro / Outro Markers - + Intro Start Marker - + Intro End Marker - + Outro Start Marker - + Outro End Marker - + intro start marker - + intro end marker - + outro start marker - + outro end marker - + Activate %1 [intro/outro marker - + Jump to or set the %1 [intro/outro marker - + Set %1 [intro/outro marker - + Set or jump to the %1 [intro/outro marker - + Clear %1 [intro/outro marker - + Clear the %1 [intro/outro marker - + if the track has no beats the unit is seconds - + Loop Selected Beats - + Create a beat loop of selected beat size - + Loop Roll Selected Beats - + Create a rolling beat loop of selected beat size - + Loop %1 Beats set from its end point - + Loop Roll %1 Beats set from its end point - + Create %1-beat loop with the current play position as loop end - + Create temporary %1-beat loop roll with the current play position as loop end - + Loop Beats - + Loop Roll Beats - + Go To Loop In - + Go to Loop In button - + Go To Loop Out - + Go to Loop Out button - + Toggle loop on/off and jump to Loop In point if loop is behind play position - + Reloop And Stop - + Enable loop, jump to Loop In point, and stop - + Halve the loop length Înjumătățește lungimea buclei - + Double the loop length Dublează lungimea buclei - + Beat Jump / Loop Move - + Jump / Move Loop Forward %1 Beats - + Jump / Move Loop Backward %1 Beats - + Jump forward by %1 beats, or if a loop is enabled, move the loop forward %1 beats - + Jump backward by %1 beats, or if a loop is enabled, move the loop backward %1 beats - + Beat Jump / Loop Move Forward Selected Beats - + Jump forward by the selected number of beats, or if a loop is enabled, move the loop forward by the selected number of beats - + Beat Jump / Loop Move Backward Selected Beats - + Jump backward by the selected number of beats, or if a loop is enabled, move the loop backward by the selected number of beats - + Beat Jump - + Indicate which loop marker remain static when adjusting the size or is inherited from the current position - + Beat Jump / Loop Move Forward - + Beat Jump / Loop Move Backward - + Loop Move Forward - + Loop Move Backward - + Remove Temporary Loop - + Remove the temporary loop - + Navigation Navigare - + Move up Mută în sus - + Equivalent to pressing the UP key on the keyboard Echivalent cu apăsarea tastei UP pe tastatură - + Move down Mută în jos - + Equivalent to pressing the DOWN key on the keyboard Echivalent cu apăsarea tastei DOWN pe tastatură - + Move up/down Mută în sus/jos - + Move vertically in either direction using a knob, as if pressing UP/DOWN keys - + Scroll Up Derulează în sus - + Equivalent to pressing the PAGE UP key on the keyboard Echivalent cu apăsarea tastei PAGE UP pe tastatură - + Scroll Down Derulează în jos - + Equivalent to pressing the PAGE DOWN key on the keyboard Echivalent cu apăsarea tastei PAGE DOWN pe tastatură - + Scroll up/down - + Scroll vertically in either direction using a knob, as if pressing PGUP/PGDOWN keys - + Move left - + Equivalent to pressing the LEFT key on the keyboard - + Move right - + Equivalent to pressing the RIGHT key on the keyboard - + Move left/right - + Move horizontally in either direction using a knob, as if pressing LEFT/RIGHT keys - + Move focus to right pane - + Equivalent to pressing the TAB key on the keyboard - + Move focus to left pane - + Equivalent to pressing the SHIFT+TAB key on the keyboard - + Move focus to right/left pane - + Move focus one pane to right or left using a knob, as if pressing TAB/SHIFT+TAB keys - + Sort focused column - + Sort the column of the cell that is currently focused, equivalent to clicking on its header - + Go to the currently selected item - + Choose the currently selected item and advance forward one pane if appropriate - + Load Track and Play - + Add to Auto DJ Queue (replace) - + Replace Auto DJ Queue with selected tracks - + Select next search history - + Selects the next search history entry - + Select previous search history - + Selects the previous search history entry - + Move selected search entry - + Moves the selected search history item into given direction and steps - + Clear search - + Clears the search query - - + + Select Next Color Available - + Select the next color in the color palette for the first selected track - - + + Select Previous Color Available - + Select the previous color in the color palette for the first selected track - + Deck %1 Quick Effect Enable Button - + Quick Effect Enable Button - + Enable or disable effect processing Activează sau dezactivează procesarea efectului - + Super Knob (control effects' Meta Knobs) - + Mix Mode Toggle - + Toggle effect unit between D/W and D+W modes - + Next chain preset Preconfigurare lanț următor - + Previous Chain Lanț anterior - + Previous chain preset Anterioara preconfigurare lanț - + Next/Previous Chain Următorul/Anteriorul lanț - + Next or previous chain preset Preconfigurare lanț următoare sau anterioară - - + + Show Effect Parameters - + Effect Unit Assignment - + Meta Knob - + Effect Meta Knob (control linked effect parameters) - + Meta Knob Mode - + Set how linked effect parameters change when turning the Meta Knob. - + Meta Knob Mode Invert - + Invert how linked effect parameters change when turning the Meta Knob. - - + + Button Parameter Value - + Microphone / Auxiliary Microfon / Auxiliar - + Microphone On/Off Microfon pornit/oprit - + Microphone on/off Microfon pornit/oprit - + Toggle microphone ducking mode (OFF, AUTO, MANUAL) Comută mod atenuare microfon (OPRIT, AUTO, MANUAL) - + Auxiliary On/Off Auxiliar pornit/oprit - + Auxiliary on/off Auxiliar pornit/oprit - + Auto DJ Auto DJ - + Auto DJ Shuffle Amestecă Auto DJ - + Auto DJ Skip Next Auto DJ omite următoarea - + Auto DJ Add Random Track - + Add a random track to the Auto DJ queue - + Auto DJ Fade To Next Estompare DJ automat la următoarea - + Trigger the transition to the next track Comută tranziția următoarei piste - + User Interface Interfaţă utilizator - + Samplers Show/Hide Arată/ascunde samplere - + Show/hide the sampler section Arată/ascunde secțiunea sampler - + Microphone && Auxiliary Show/Hide keep double & to prevent creation of keyboard accelerator - + Waveform Zoom Reset To Default - + Reset the waveform zoom level to the default value selected in Preferences -> Waveforms - + Select the next color in the color palette for the loaded track. - + Select previous color in the color palette for the loaded track. - + Navigate Through Track Colors - + Select either next or previous color in the palette for the loaded track. - + Start/Stop Live Broadcasting - + Stream your mix over the Internet. - + Start/stop recording your mix. - - + + Samplers - + Vinyl Control Show/Hide Arată/ascunde controlul disc vinil - + Show/hide the vinyl control section Arată/ascunde secțiunea control disc vinil - + Preview Deck Show/Hide Arată/ascunde previzualizare deck - + Show/hide the preview deck Arată/ascunde previzualizarea deck-ului - + Toggle 4 Decks Comută 4 Decuri - + Switches between showing 2 decks and 4 decks. Comută între 2 decuri sau 4 decuri. - + Cover Art Show/Hide (Decks) - + Show/hide cover art in the main decks - + Vinyl Spinner Show/Hide Arată/ascunde rotire disk vinil - + Show/hide spinning vinyl widget Arată/ascunde control rotire disc vinil - + Vinyl Spinners Show/Hide (All Decks) - + Show/Hide all spinnies - + Toggle Waveforms - + Show/hide the scrolling waveforms. - + Waveform zoom Zoom formă de undă - + Waveform Zoom Zoom formă de undă - + Zoom waveform in Mărește zoom formă de undă - + Waveform Zoom In Mărește zoom formă de undă - + Zoom waveform out Redu zoom formă de undă - + Star Rating Up - + Increase the track rating by one star - + Star Rating Down - + Decrease the track rating by one star @@ -3611,32 +3643,32 @@ trace - Above + Profiling messages ControllerScriptEngineBase - + The functionality provided by this controller mapping will be disabled until the issue has been resolved. - + You can ignore this error for this session but you may experience erratic behavior. - + Try to recover by resetting your controller. Încercați recuperarea resetând controlerul. - + Controller Mapping Error - + The mapping for your controller "%1" is not working properly. - + The script code needs to be fixed. Codul scriptului trebuie să fie reparat. @@ -3744,7 +3776,7 @@ trace - Above + Profiling messages Importă colecție - + Export Crate Exportă colecție @@ -3754,7 +3786,7 @@ trace - Above + Profiling messages Deblochează - + An unknown error occurred while creating crate: A apărut o eroare la crearea colecției: @@ -3763,12 +3795,6 @@ trace - Above + Profiling messages Rename Crate Redenumește colecția - - - - Export to Engine Prime - - Make a crate for your next gig, for your favorite electrohouse tracks, or for your most requested tracks. @@ -3786,17 +3812,17 @@ trace - Above + Profiling messages Redenumirea colecției a eșuat - + Crate Creation Failed - + M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Text CSV (*.csv);;Readable Text (*.txt) M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Text CSV (*.csv);;Text lizibil (*.txt) - + M3U Playlist (*.m3u) Listă de redare M3U (*.m3u) @@ -3805,6 +3831,12 @@ trace - Above + Profiling messages Crates are a great way to help organize the music you want to DJ with. Colecțiile sunt un mare mod de a ajuta organizarea muzicii dorite cu DJ. + + + + Export to Engine DJ + + Crates let you organize your music however you'd like! @@ -3916,12 +3948,12 @@ trace - Above + Profiling messages Foști contribuitori - + Official Website - + Donate @@ -4433,37 +4465,37 @@ Often results in higher quality beatgrids, but will not do well on tracks that h Dacă maparea nu funcționează încercați activarea opțiunilor avansate de mai jos iar apoi încercați controlul din nou. Sau apăsați Reâncearcă pentru a detecta din nou controlul midi. - + Didn't get any midi messages. Please try again. Nu s-a primit nici un mesaj midi. Reâncercați. - + Unable to detect a mapping -- please try again. Be sure to only touch one control at once. Nu se poate detecta o mapare -- încercați din nou. Asigurați-vă că atingeți un singur control odată. - + Successfully mapped control: Control mapat cu succes: - + <i>Ready to learn %1</i> <i>Gata de învățat %1</i> - + Learning: %1. Now move a control on your controller. Se învață: %1. Acum deplasați un control pe controler. - + The selected control does not exist.<br>This likely a bug. Please report it on the Mixxx bug tracker.<br><a href='https://github.com/mixxxdj/mixxx/issues'>https://github.com/mixxxdj/mixxx/issues</a><br><br>You tried to learn: %1,%2 - + The control you clicked in Mixxx is not learnable. This could be because you are either using an old skin and this control is no longer supported, or you clicked a control that provides visual feedback and can only be mapped to outputs like LEDs via scripts. @@ -4502,17 +4534,17 @@ You tried to learn: %1,%2 - + Log Jurnal - + Search Căutare - + Stats Stări @@ -5165,114 +5197,114 @@ associated with each key. DlgPrefController - + Apply device settings? Se aplică configurările dispozitivului? - + Your settings must be applied before starting the learning wizard. Apply settings and continue? Configurările trebuie aplicate înaintea pornirii asistentului de învățare. Se aplică configurările și se continuă? - + None Niciuna - + %1 by %2 %1 cu %2 - + Mapping has been edited - + Always overwrite during this session - + Save As - + Overwrite - + Save user mapping - + Enter the name for saving the mapping to the user folder. - + Saving mapping failed - + A mapping cannot have a blank name and may not contain special characters. - + A mapping file with that name already exists. - + Do you want to save the changes? - + Troubleshooting Depanarea - + <font color='#BB0000'><b>If you use this mapping your controller may not work correctly. Please select another mapping or disable the controller.</b></font><br><br>This mapping was designed for a newer Mixxx Controller Engine and cannot be used on your current Mixxx installation.<br>Your Mixxx installation has Controller Engine version %1. This mapping requires a Controller Engine version >= %2.<br><br>For more information visit the wiki page on <a href='https://mixxx.org/wiki/doku.php/controller_engine_versions'>Controller Engine Versions</a>. - + Mapping already exists. - + <b>%1</b> already exists in user mapping folder.<br>Overwrite or save with a new name? - + Clear Input Mappings Curăță mapările de intrare - + Are you sure you want to clear all input mappings? Sigur doriți să curățați toate mapările de intrare? - + Clear Output Mappings Curăță mapări de ieșire - + Are you sure you want to clear all output mappings? Sigur doriți să curățați toate mapările de ieșire? @@ -5290,100 +5322,100 @@ Se aplică configurările și se continuă? Activat - + Device Info - + Physical Interface: - + Vendor name: - + Product name: - + Vendor ID - + VID: - + Product ID - + PID: - + Serial number: - + USB interface number: - + HID Usage-Page: - + HID Usage: - + Description: Descriere: - + Support: Asistență: - + Screens preview - + Input Mappings Mapări de intrare - - + + Search Căutare - - + + Add Adaugă - - + + Remove Elimină @@ -5403,17 +5435,17 @@ Se aplică configurările și se continuă? - + Mapping Info - + Author: Autor: - + Name: Nume: @@ -5423,28 +5455,28 @@ Se aplică configurările și se continuă? Asistent învățare (numai MIDI) - + Data protocol: - + Mapping Files: - + Mapping Settings - - + + Clear All Curăță tot - + Output Mappings Mapări de ieșire @@ -5603,6 +5635,16 @@ Se aplică configurările și se continuă? Multi-Sampling + + + Force 3D acceleration + + + + + If checked, Mixxx will always assume 3D acceleration is available. This may lead to pour performance if only CP-backed rendering is available.. + + Start in full-screen mode @@ -6194,62 +6236,62 @@ You can always drag-and-drop tracks on screen to clone a deck. DlgPrefInterface - + The minimum size of the selected skin is bigger than your screen resolution. Dimensiunea minimă a aspectului aplicației este mai mare decât rezoluția ecranului. - + Allow screensaver to run - + Prevent screensaver from running - + Prevent screensaver while playing - + Disabled - + 2x MSAA - + 4x MSAA - + 8x MSAA - + 16x MSAA - + This skin does not support color schemes Acest aspect aplicație nu suportă scheme de culoare - + Information Informație - + Mixxx must be restarted before the new locale, scaling or multi-sampling settings will take effect. @@ -7417,173 +7459,172 @@ The loudness target is approximate and assumes track pregain and main output lev DlgPrefSound - + %1 Hz %1 Hz - + Default (long delay) Implicit (întârziere lungă) - + Experimental (no delay) Experimental (fără întârziere) - + Disabled (short delay) Dezactivat (întârziere scurtă) - + Soundcard Clock - + Network Clock - + Direct monitor (recording and broadcasting only) - + Disabled Dezactivat - + Enabled Activat - + Stereo Stereo - + Mono Mono - + To enable Realtime scheduling (currently disabled), see the %1. - + The %1 lists sound cards and controllers you may want to consider for using Mixxx. - + Mixxx DJ Hardware Guide - + Information - + Mixxx must be restarted before the multi-threaded RubberBand setting change will take effect. - + auto (<= 1024 frames/period) - + 2048 frames/period - + 4096 frames/period - + Are you sure? - + Distribute stereo channels into mono channels for parallel processing will result in a loss of mono compatibility and a diffuse stereo image. It is not recommended during broadcasting or recording. - + Are you sure you wish to proceed? - + No - + Yes, I know what I am doing - + Microphone inputs are out of time in the record & broadcast signal compared to what you hear. - + Measure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. - - + Refer to the Mixxx User Manual for details. - + Configured latency has changed. - + Remeasure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. - + Realtime scheduling is enabled. - + Main output only - + Main and booth outputs - + %1 ms %1 ms - + Configuration error Eroare de configurație @@ -7601,131 +7642,131 @@ The loudness target is approximate and assumes track pregain and main output lev API sunet - + Sample Rate Rată eșanționare - + Audio Buffer Buffer audio - + Engine Clock - + Use soundcard clock for live audience setups and lowest latency.<br>Use network clock for broadcasting without a live audience. - + Main Mix - + Main Output Mode - + Microphone Monitor Mode - + Microphone Latency Compensation - - - - + + + + ms milliseconds ms - + 20 ms 20 ms - + Buffer Underflow Count - + 0 0 - + Keylock/Pitch-Bending Engine - + Multi-Soundcard Synchronization Sincronizare plăci de sunet - + Output Ieșire - + Input Intrare - + System Reported Latency - + Enlarge your audio buffer if the underflow counter is increasing or you hear pops during playback. - + Main Output Delay - + Headphone Output Delay - + Booth Output Delay - + Dual-threaded Stereo - + Hints and Diagnostics Sfaturi și diagnosticuri - + Downsize your audio buffer to improve Mixxx's responsiveness. Scădeți dimensiunea tamponului audio pentru a îmbunătății reacția de răspuns Mixxx. - + Query Devices Interogare dispozitive @@ -8171,47 +8212,47 @@ Select from different types of displays for the waveform, which differ primarily DlgPreferences - + Sound Hardware Placă de sunet - + Controllers Controlere - + Library Bibliotecă - + Interface Interfață - + Waveforms Forme de undă - + Mixer Mixer - + Auto DJ Auto DJ - + Decks - + Colors @@ -8246,47 +8287,47 @@ Select from different types of displays for the waveform, which differ primarily - + Effects Efecte - + Recording Înregistrare - + Beat Detection Detectare bătaie - + Key Detection Detecție cheie - + Normalization Normalizare - + <font color='#BB0000'><b>Some preferences pages have errors. To apply the changes please first fix the issues.</b></font> - + Vinyl Control Control disc vinil - + Live Broadcasting Transmisie live - + Modplug Decoder Decodor Modplug @@ -8642,284 +8683,284 @@ This can not be undone! Rezumat - + Filetype: Tip fișier: - + BPM: BPM: - + Location: Locație: - + Bitrate: Rata de biți: - + Comments Comentarii - + BPM BPM - + Sets the BPM to 75% of the current value. Configurează BPM la 75% din valoarea actuală. - + 3/4 BPM 3/4 BPM - + Sets the BPM to 50% of the current value. Configurează BPM la 50% din valoarea actuală. - + Displays the BPM of the selected track. Arată BPM pentru pista selectată. - + Track # Pista # - + Album Artist Album artist - + Composer Compozitor - + Title Titlu - + Grouping Grupare - + Key Tastă - + Year An - + Artist Artist - + Album Album - + Genre Gen - + ReplayGain: - + Sets the BPM to 200% of the current value. Configurează BPM la 200% față de valoarea actuală. - + Double BPM Dublează BPM - + Halve BPM Înjumătățește BPM - + Clear BPM and Beatgrid Curăță BPM și grila bătaie - + Move to the previous item. "Previous" button Mută la elementul anterior. - + &Previous &Anterior - + Move to the next item. "Next" button Mută la elementul următor. - + &Next &Următor - + Duration: Durată: - + Import Metadata from MusicBrainz - + Re-Import Metadata from file - + Color - + Date added: - + Open in File Browser Deschide în navigatorul de fișiere - + Samplerate: - + Track BPM: BPM pistă: - + Converts beats detected by the analyzer into a fixed-tempo beatgrid. Use this setting if your tracks have a constant tempo (e.g. most electronic music). Often results in higher quality beatgrids, but will not do well on tracks that have tempo shifts. - + Assume constant tempo - + Sets the BPM to 66% of the current value. Configurează BPM la 66% din valoarea actuală. - + 2/3 BPM 2/3 BPM - + Sets the BPM to 150% of the current value. - + 3/2 BPM - + Sets the BPM to 133% of the current value. - + 4/3 BPM - + Tap with the beat to set the BPM to the speed you are tapping. - + Tap to Beat - + Hint: Use the Library Analyze view to run BPM detection. Sfat: Utilizați vizualizare Analiză bibliotecă pentru a rula detecția BPM. - + Save changes and close the window. "OK" button Salvează modificările și închide fereastra. - + &OK &OK - + Discard changes and close the window. "Cancel" button Descarcă modificările și închide fereastra. - + Save changes and keep the window open. "Apply" button Salvează modificările și păstrează fereastra deschisă. - + &Apply &Aplică - + &Cancel &Anulare - + (no color) @@ -9076,7 +9117,7 @@ Often results in higher quality beatgrids, but will not do well on tracks that h - + (no color) @@ -9278,27 +9319,27 @@ Often results in higher quality beatgrids, but will not do well on tracks that h EngineBuffer - + Soundtouch (faster) Soundtouch (rapid) - + Rubberband (better) Rubberband (optim) - + Rubberband R3 (near-hi-fi quality) - + Unknown, using Rubberband (better) - + Unknown, using Soundtouch @@ -9513,15 +9554,15 @@ Often results in higher quality beatgrids, but will not do well on tracks that h LegacySkinParser - - + + Safe Mode Enabled Shown when Mixxx is running in safe mode. Este activat modul sigur - - + + No OpenGL support. Shown when Spinny can not be displayed. Please keep @@ -9533,57 +9574,57 @@ Shown when VuMeter can not be displayed. Please keep OpenGL. - + activate activează - + toggle comută - + right dreapta - + left stânga - + right small dreapta mic - + left small stânga mic - + up sus - + down jos - + up small sus mic - + down small jos mic - + Shortcut Scurtătură @@ -9591,62 +9632,62 @@ OpenGL. Library - + This or a parent directory is already in your library. - + This or a listed directory does not exist or is inaccessible. Aborting the operation to avoid library inconsistencies - - + + This directory can not be read. - + An unknown error occurred. Aborting the operation to avoid library inconsistencies - + Can't add Directory to Library - + Could not add <b>%1</b> to your library. %2 - + Can't remove Directory from Library - + An unknown error occurred. - + This directory does not exist or is inaccessible. - + Relink Directory - + Could not relink <b>%1</b> to <b>%2</b>. %3 @@ -9656,22 +9697,22 @@ Aborting the operation to avoid library inconsistencies LibraryFeature - + Import Playlist Importă listă de redare - + Playlist Files (*.m3u *.m3u8 *.pls *.csv) Fişiere listă de redare (*.m3u *.m3u8 *.pls *.csv) - + Overwrite File? - + A playlist file with the name "%1" already exists. The default "m3u" extension was added because none was specified. @@ -9718,27 +9759,27 @@ Do you really want to overwrite it? MidiController - + MixxxControl(s) not found Controlul(e) Mixxx nu s-au găsit - + One or more MixxxControls specified in the outputs section of the loaded mapping were invalid. - + * Make sure the MixxxControls in question actually exist. Visit the manual for a complete list: - + Some LEDs or other feedback may not work correctly. Unele LED-uri sau alte reacții-control este posibil să nu funcționeze corect. - + * Check to see that the MixxxControl names are spelled correctly in the mapping file (.xml) * Verificați să vedeți dacă denumirile controlului Mixxx sunt scrise corect în fișierul de mapare (.xml) @@ -9798,18 +9839,18 @@ Do you really want to overwrite it? MixxxLibraryFeature - + Missing Tracks Piste lipsă - + Hidden Tracks Piste ascunse - Export to Engine Prime + Export to Engine DJ @@ -9821,209 +9862,250 @@ Do you really want to overwrite it? MixxxMainWindow - + Sound Device Busy Dispozitivul audio este ocupat - + <b>Retry</b> after closing the other application or reconnecting a sound device <b>Reâncearcă</b> după închiderea altei aplicații sau reconectarea unui dispozitiv de sunet - - - + + + <b>Reconfigure</b> Mixxx's sound device settings. <b>Reconfigurare</b> configurări dispozitivul de sunet al Mixxx. - - + + Get <b>Help</b> from the Mixxx Wiki. Primeşte <b>ajutor</b> de pe Wiki Mixxx. - - - + + + <b>Exit</b> Mixxx. <b>Ieşi</b> din Mixxx. - + Retry Reâncearcă - + skin - + Allow Mixxx to hide the menu bar? - + Hide Always show the menu bar? - + Always show - + The Mixxx menu bar is hidden and can be toggled with a single press of the <b>Alt</b> key.<br><br>Click <b>%1</b> to agree.<br><br>Click <b>%2</b> to disable that, for example if you don't use Mixxx with a keyboard.<br><br>You can change this setting any time in Preferences -> Interface.<br> Keep formatting tags <b> (bold text) and <br> (linebreak). %1 is the placeholder for the 'Always show' button label - + Ask me again - - + + Reconfigure Reconfigurează - + Help Ajutor - - + + Exit Ieși - - + + Mixxx was unable to open all the configured sound devices. - + Sound Device Error - + <b>Retry</b> after fixing an issue - + No Output Devices Nu sunt dispozitive de ieșire - + Mixxx was configured without any output sound devices. Audio processing will be disabled without a configured output device. Mixxx a fost configurat fără nici un dispozitiv de ieșire. Procesarea audio va fi dezactivată fără un dispozitiv de ieșire configurat. - + <b>Continue</b> without any outputs. <b>Contină</b> fără nici o ieșire. - + Continue Continuă - + Load track to Deck %1 Încarcă pista în Deck-ul %1 - + Deck %1 is currently playing a track. Deck-ul %1 redă actualmente o pistă. - + Are you sure you want to load a new track? Sigur doriți să încărcați o nouă pistă? - + There is no input device selected for this vinyl control. Please select an input device in the sound hardware preferences first. Nu este selectat nici un dispozitiv de intrare pentru acest control disc vinil. Selectați întâi un dispozitiv de intrare din preferințele plăcii de sunet. - + There is no input device selected for this passthrough control. Please select an input device in the sound hardware preferences first. - + There is no input device selected for this microphone. Do you want to select an input device? - + There is no input device selected for this auxiliary. Do you want to select an input device? - + + Scan took %1 + + + + + No changes detected. + + + + + + %1 tracks in total + + + + + %1 new tracks found + + + + + %1 moved tracks detected + + + + + %1 tracks are missing (%2 total) + + + + + %1 tracks have been rediscovered + + + + + Library scan finished + + + + Error in skin file Eroare în fișier aspect aplicație - + The selected skin cannot be loaded. Aspectul aplicației selectat nu poate fi încărcat. - + OpenGL Direct Rendering Randare directă OpenGL - + Direct rendering is not enabled on your machine.<br><br>This means that the waveform displays will be very<br><b>slow and may tax your CPU heavily</b>. Either update your<br>configuration to enable direct rendering, or disable<br>the waveform displays in the Mixxx preferences by selecting<br>"Empty" as the waveform display in the 'Interface' section. - - - + + + Confirm Exit Confirmare ieșire - + A deck is currently playing. Exit Mixxx? Un deck actualmente redă. Se oprește Mixxx? - + A sampler is currently playing. Exit Mixxx? Un sampler redă curent. Iese Mixxx? - + The preferences window is still open. Fereastra preferințe este încă deschisă. - + Discard any changes and exit Mixxx? Se descarcă orice modificări și se închide Mixxx? @@ -10039,13 +10121,13 @@ Do you want to select an input device? PlaylistFeature - + Lock Blochează - - + + Playlists Liste de redare @@ -10055,32 +10137,58 @@ Do you want to select an input device? - + + Unlock all playlists + + + + + Delete all unlocked playlists + + + + Unlock Deblochează - + + + Confirm Deletion + + + + + Do you really want to delete all unlocked playlists? + + + + + Deleting %1 unlocked playlists.<br>This operation can not be undone! + + + + Playlists are ordered lists of tracks that allow you to plan your DJ sets. - + It may be necessary to skip some tracks in your prepared playlist or add some different tracks in order to maintain the energy of your audience. - + Some DJs construct playlists before they perform live, but others prefer to build them on-the-fly. Unii DJ-ei construiesc liste de redare înainte de a se prezenta live, dar alții preferă să le construiască din zbor. - + When using a playlist during a live DJ set, remember to always pay close attention to how your audience reacts to the music you've chosen to play. Când utilizați o listă de redare în timpul unei sesiuni DJ live, nu uitați ca întotdeauna să acordați o atenție deosebită cum reacționează ascultătorii la muzica pe care ați ales să o redați. - + Create New Playlist Crează listă de redare nouă @@ -11572,7 +11680,7 @@ Fully right: end of the effect period - + Deck %1 Deck %1 @@ -11705,7 +11813,7 @@ Hint: compensates "chipmunk" or "growling" voices - + Passthrough @@ -11736,7 +11844,7 @@ Hint: compensates "chipmunk" or "growling" voices - + Sampler %1 @@ -11869,12 +11977,12 @@ may introduce a 'pumping' effect and/or distortion. - + built-in - + missing @@ -11909,42 +12017,42 @@ may introduce a 'pumping' effect and/or distortion. - + Empty - + Simple - + Filtered - + HSV - + VSyncTest - + RGB - + Stacked - + Unknown @@ -12002,54 +12110,54 @@ may introduce a 'pumping' effect and/or distortion. RekordboxFeature - - - + + + Rekordbox - + Playlists Liste de redare - + Folders - + Reads databases exported for Pioneer CDJ / XDJ players using the Rekordbox Export mode.<br/>Rekordbox can only export to USB or SD devices with a FAT or HFS file system.<br/>Mixxx can read a database from any device that contains the database folders (<tt>PIONEER</tt> and <tt>Contents</tt>).<br/>Not supported are Rekordbox databases that have been moved to an external device via<br/><i>Preferences > Advanced > Database management</i>.<br/><br/>The following data is read: - + Hot cues - + Loops (only the first loop is currently usable in Mixxx) - + Check for attached Rekordbox USB / SD devices (refresh) - + Beatgrids - + Memory cues - + (loading) Rekordbox @@ -12608,7 +12716,7 @@ may introduce a 'pumping' effect and/or distortion. - + Spinning Vinyl Învârtire disc vinil @@ -12790,7 +12898,7 @@ may introduce a 'pumping' effect and/or distortion. - + Cover Art Copertă @@ -13026,197 +13134,197 @@ may introduce a 'pumping' effect and/or distortion. - + Adjust Beats Earlier Ajustează bătăile mai devreme - + When tapped, moves the beatgrid left by a small amount. - + Adjust Beats Later Ajustează bătăile mai târziu - + When tapped, moves the beatgrid right by a small amount. - + Tempo and BPM Tap - + Show/hide the spinning vinyl section. Arată/ascunde secțiunea rotire disc vinil. - + Keylock - + Toggling keylock during playback may result in a momentary audio glitch. - + Toggle visibility of Loop Controls - + Toggle visibility of Beatjump Controls - + Toggle visibility of Rate Control - + Toggle visibility of Key Controls - + (while previewing) - + Places a cue point at the current position on the waveform. - + Stops track at cue point, OR go to cue point and play after release (CUP mode). - + Set cue point (Pioneer/Mixxx/Numark mode), set cue point and play after release (CUP mode) OR preview from it (Denon mode). - + Is latching the playing state. - + Seeks the track to the cue point and stops. - + Play Redare - + Plays track from the cue point. - + Sends the selected channel's audio to the headphone output, selected in Preferences -> Sound Hardware. - + (This skin should be updated to use Sync Lock!) - + Enable Sync Lock - + Tap to sync the tempo to other playing tracks or the sync leader. - + Enable Sync Leader - + When enabled, this device will serve as the sync leader for all other decks. - + This is relevant when a dynamic tempo track is loaded to a sync leader deck.In that case, other synced devices will adopt the changing tempo. - + Changes the track playback speed (affects both the tempo and the pitch). If keylock is enabled, only the tempo is affected. - + Tempo Range Display - + Displays the current range of the tempo slider. - + Un-ejects when no track is loaded, i.e. reloads the track that was ejected last (of any deck). - + Delete selected hotcue. - + Track Comment - + Displays the comment tag of the loaded track. - + Opens separate artwork viewer. - + Effect Chain Preset Settings - + Show the effect chain settings menu for this unit. - + Select and configure a hardware device for this input - + Recording Duration @@ -13454,926 +13562,932 @@ may introduce a 'pumping' effect and/or distortion. - + + Adjust beatgrid by exactly one half beat. Usable only on +tracks with constant tempo. + + + + Revert last BPM/Beatgrid Change - + Revert last BPM/Beatgrid Change of the loaded track. - - + + Toggle the BPM/beatgrid lock - + Tempo and Rate Tap - + Tempo, Rate Tap and BPM Tap - + Shift cues earlier - - + + Shift cues imported from Serato or Rekordbox if they are slightly off time. - + Left click: shift 10 milliseconds earlier - + Right click: shift 1 millisecond earlier - + Shift cues later - + Left click: shift 10 milliseconds later - + Right click: shift 1 millisecond later - - + + Drag a Hotcue button here to continue playing after releasing the Hotcue. - + Hint: Change the default cue mode in Preferences -> Decks. - + Mutes the selected channel's audio in the main output. - + Main mix enable - + Hold or short click for latching to mix this input into the main output. - + If hotcue is a loop cue, toggles the loop and jumps to if the loop is behind the play position. - + If the play position is inside an active loop, stores the loop as loop cue. - + Drag this button onto another Hotcue button to move it there (change its index). If the other hotcue is set, the two are swapped. - + Expand/Collapse Samplers - + Toggle expanded samplers view. - + Displays the duration of the running recording. - + Auto DJ is active - + Red for when needle skip has been detected. - + Hot Cue - Track will seek to nearest previous hotcue point. - + Sets the track Loop-In Marker to the current play position. - + Press and hold to move Loop-In Marker. - + Jump to Loop-In Marker. - + Sets the track Loop-Out Marker to the current play position. - + Press and hold to move Loop-Out Marker. - + Jump to Loop-Out Marker. - + If the track has no beats the unit is seconds. - + Beatloop Size - + Select the size of the loop in beats to set with the Beatloop button. - + Changing this resizes the loop if the loop already matches this size. - + Halve the size of an existing beatloop, or halve the size of the next beatloop set with the Beatloop button. - + Double the size of an existing beatloop, or double the size of the next beatloop set with the Beatloop button. - + Start a loop over the set number of beats. - + Temporarily enable a rolling loop over the set number of beats. - + Beatloop Anchor - + Define whether the loop is created and adjusted from its staring point or ending point. - + Beatjump/Loop Move Size - + Select the number of beats to jump or move the loop with the Beatjump Forward/Backward buttons. - + Beatjump Forward - + Jump forward by the set number of beats. - + Move the loop forward by the set number of beats. - + Jump forward by 1 beat. - + Move the loop forward by 1 beat. - + Beatjump Backward - + Jump backward by the set number of beats. - + Move the loop backward by the set number of beats. - + Jump backward by 1 beat. - + Move the loop backward by 1 beat. - + Reloop - + If the loop is ahead of the current position, looping will start when the loop is reached. - + Works only if Loop-In and Loop-Out Marker are set. - + Enable loop, jump to Loop-In Marker, and stop playback. - + Displays the elapsed and/or remaining time of the track loaded. - + Click to toggle between time elapsed/remaining time/both. - + Hint: Change the time format in Preferences -> Decks. - + Show/hide intro & outro markers and associated buttons. - + Intro Start Marker - - - - + + + + If marker is set, jumps to the marker. - - - - + + + + If marker is not set, sets the marker to the current play position. - - - - + + + + If marker is set, clears the marker. - + Intro End Marker - + Outro Start Marker - + Outro End Marker - + Mix - + Adjust the mixing of the dry (input) signal with the wet (output) signal of the effect unit - + D/W mode: Crossfade between dry and wet - + D+W mode: Add wet to dry - + Mix Mode - + Adjust how the dry (input) signal is mixed with the wet (output) signal of the effect unit - + Dry/Wet mode (crossed lines): Mix knob crossfades between dry and wet Use this to change the sound of the track with EQ and filter effects. - + Dry+Wet mode (flat dry line): Mix knob adds wet to dry Use this to change only the effected (wet) signal with EQ and filter effects. - + Route the main mix through this effect unit. - + Route the left crossfader bus through this effect unit. - + Route the right crossfader bus through this effect unit. - + Right side active: parameter moves with right half of Meta Knob turn - + Stem Label - + Name of the stem stored in the stem file - + Text is displayed in the stem color stored in the stem file - + this stem color is also used for the waveform of this stem - + Stem Mute - + Toggle the stem mute/unmuted - + Stem Volume Knob - + Adjusts the volume of the stem - + Skin Settings Menu - + Show/hide skin settings menu - + Save Sampler Bank Salvează bancă sampler - + Save the collection of samples loaded in the samplers. - + Load Sampler Bank Încarcă bancă sampler - + Load a previously saved collection of samples into the samplers. - + Show Effect Parameters - + Enable Effect - + Meta Knob Link - + Set how this parameter is linked to the effect's Meta Knob. - + Meta Knob Link Inversion - + Inverts the direction this parameter moves when turning the effect's Meta Knob. - + Super Knob Super buton - + Next Chain Lanțul următor - + Previous Chain Lanț anterior - + Next/Previous Chain Următorul/Anteriorul lanț - + Clear Curăță - + Clear the current effect. Curăță efectul curent. - + Toggle Comutare - + Toggle the current effect. - + Next Următor - + Clear Unit Curăță unitatea - + Clear effect unit. Curăță unitatea efectelor - + Show/hide parameters for effects in this unit. - + Toggle Unit Comută unitatea - + Enable or disable this whole effect unit. - + Controls the Meta Knob of all effects in this unit together. - + Load next effect chain preset into this effect unit. - + Load previous effect chain preset into this effect unit. - + Load next or previous effect chain preset into this effect unit. - - - - + + + + Assign Effect Unit - + Assign this effect unit to the channel output. - + Route the headphone channel through this effect unit. - + Route this deck through the indicated effect unit. - + Route this sampler through the indicated effect unit. - + Route this microphone through the indicated effect unit. - + Route this auxiliary input through the indicated effect unit. - + The effect unit must also be assigned to a deck or other sound source to hear the effect. - + Switch to the next effect. Comută la efectul următor. - + Previous Anterior - + Switch to the previous effect. Comută la efectul anterior. - + Next or Previous Următor sau anterior - + Switch to either the next or previous effect. - + Meta Knob - + Controls linked parameters of this effect - + Effect Focus Button - + Focuses this effect. - + Unfocuses this effect. - + Refer to the web page on the Mixxx wiki for your controller for more information. - + Effect Parameter Parametru efect - + Adjusts a parameter of the effect. Ajustează un parametru al efectului. - + Inactive: parameter not linked - + Active: parameter moves with Meta Knob - + Left side active: parameter moves with left half of Meta Knob turn - + Left and right side active: parameter moves across range with half of Meta Knob turn and back with the other half - - + + Equalizer Parameter Kill - - + + Holds the gain of the EQ to zero while active. - + Quick Effect Super Knob - + Quick Effect Super Knob (control linked effect parameters). - + Hint: Change the default Quick Effect mode in Preferences -> Equalizers. - + Equalizer Parameter Parametru egalizator - + Adjusts the gain of the EQ filter. - + Hint: Change the default EQ mode in Preferences -> Equalizers. - - + + Adjust Beatgrid Ajustare grilă bătaie - + Adjust beatgrid so the closest beat is aligned with the current play position. - - + + Adjust beatgrid to match another playing deck. Ajustează grila bătaie să se potrivească cu alt deck care redă. - + If quantize is enabled, snaps to the nearest beat. Dacă cuantizarea este activată, fixează la cea mai apropiată bătaie. - + Quantize Cuantificare - + Toggles quantization. Comută cuantificare. - + Loops and cues snap to the nearest beat when quantization is enabled. Bucle și cue se fixează la cea mai apropiată bătaie când cuantizarea este activată. - + Reverse Invers - + Reverses track playback during regular playback. Inversează redarea pistei în timpul redării normale. - + Puts a track into reverse while being held (Censor). - + Playback continues where the track would have been if it had not been temporarily reversed. - - - + + + Play/Pause Redare/Pauză - + Jumps to the beginning of the track. Sări la începutul pistei. - + Syncs the tempo (BPM) and phase to that of the other track, if BPM is detected on both. - + Syncs the tempo (BPM) to that of the other track, if BPM is detected on both. - + Sync and Reset Key - + Increases the pitch by one semitone. Crește pitch cu un semiton. - + Decreases the pitch by one semitone. Scade pitch cu un semiton. - + Enable Vinyl Control Activează control disc vinil - + When disabled, the track is controlled by Mixxx playback controls. Când este dezactivat, pista este controlată de controalele de redare Mixxx. - + When enabled, the track responds to external vinyl control. Când este activat, pista răspunde la controlul discului de vinil extern. - + Enable Passthrough Activează trecerea - + Indicates that the audio buffer is too small to do all audio processing. Indică faptul că buffer-ul audio este prea mic pentru a efectua toate procesările audio. - + Displays cover artwork of the loaded track. Arată coperta pistei încărcate. - + Displays options for editing cover artwork. Afișează opțiuni pentru editarea copertei. - + Star Rating Stea evaluare - + Assign ratings to individual tracks by clicking the stars. Atribuie evaluări pistelor individuale apăsând stelele. @@ -14508,33 +14622,33 @@ Use this to change only the effected (wet) signal with EQ and filter effects. - + Prevents the pitch from changing when the rate changes. - + Changes the number of hotcue buttons displayed in the deck - + Starts playing from the beginning of the track. Pornește redarea de la începutul pistei. - + Jumps to the beginning of the track and stops. Sări la începutul pistei și oprește. - - + + Plays or pauses the track. Redă sau pauzează pista. - + (while playing) (în timp ce se redă) @@ -14554,215 +14668,215 @@ Use this to change only the effected (wet) signal with EQ and filter effects. - + (while stopped) (în timp cât este oprit) - + Cue Cue - + Headphone Căști - + Mute Amuțire - + Old Synchronize Sincronizare veche - + Syncs to the first deck (in numerical order) that is playing a track and has a BPM. Sincronizează la primul deck (în ordine numerică) care redă o pistă și are un BPM. - + If no deck is playing, syncs to the first deck that has a BPM. Dacă nici un deck nu redă, sincronizează cu primul deck care are un BPM. - + Decks can't sync to samplers and samplers can only sync to decks. Deck-urile nu pot sincroniza samplerele iar samplerele pot doar sincroniza deck-urile. - + Hold for at least a second to enable sync lock for this deck. - + Decks with sync locked will all play at the same tempo, and decks that also have quantize enabled will always have their beats lined up. - + Resets the key to the original track key. Resetează cheia la cheia originală a pistei. - + Speed Control Control viteză - - - + + + Changes the track pitch independent of the tempo. - + Increases the pitch by 10 cents. - + Decreases the pitch by 10 cents. - + Pitch Adjust Ajustare pitch - + Adjust the pitch in addition to the speed slider pitch. - + Opens a menu to clear hotcues or edit their labels and colors. - + Drag this button onto a Play button while previewing to continue playback after release. - + Dragging with Shift key pressed will not start previewing the hotcue. - + Record Mix Mixer înregistrare - + Toggle mix recording. - + Enable Live Broadcasting Activare transmisie live - + Stream your mix over the Internet. - + Provides visual feedback for Live Broadcasting status: - + disabled, connecting, connected, failure. - + When enabled, the deck directly plays the audio arriving on the vinyl input. - + Playback will resume where the track would have been if it had not entered the loop. Redarea se va relua de unde ar fi trebuit să fie pista dacă nu a intrat în buclă. - + Loop Exit Ieșire buclă - + Turns the current loop off. Oprește bucla curentă. - + Slip Mode Mod adormire - + When active, the playback continues muted in the background during a loop, reverse, scratch etc. Cînd se activează, redarea continuă în fundal fără sunet în timpul unei bucle, inversări, zgârieturi etc. - + Once disabled, the audible playback will resume where the track would have been. Odată dezactivat, redarea auzibilă se va relua de unde pista ar fi fost. - + Track Key The musical key of a track Cheie pistă - + Displays the musical key of the loaded track. Afișează cheia muzicală a pistei încărcate. - + Clock Ceas - + Displays the current time. Afișează ora actuală. - + Audio Latency Usage Meter Contor utilizare latență audio - + Displays the fraction of latency used for audio processing. Afișează fracția latenței utilizată pentru procesare audio. - + A high value indicates that audible glitches are likely. - + Do not enable keylock, effects or additional decks in this situation. Nu activați keylock, efecte sau deck-uri suplimentare în această situație. - + Audio Latency Overload Indicator Indicator suprasarcină latență audio @@ -14807,254 +14921,254 @@ Use this to change only the effected (wet) signal with EQ and filter effects. - + Fast Rewind Derulare rapidă înapoi - + Fast rewind through the track. Derulare rapidă înapoi prin pistă. - + Fast Forward Derulare rapidă înainte - + Fast forward through the track. Derulare rapidă înainte prin pistă. - + Jumps to the end of the track. Sări la sfârșitul pistei. - + Sets the pitch to a key that allows a harmonic transition from the other track. Requires a detected key on both involved decks. - - - + + + Pitch Control Control pitch - + Pitch Rate Rată pitch - + Displays the current playback rate of the track. Afișează ritmul de redare curentă a pistei. - + Repeat Repetă - + When active the track will repeat if you go past the end or reverse before the start. - + Eject Scoate - + Ejects track from the player. Scoate pista din player. - + Hotcue Hotcue - + If hotcue is set, jumps to the hotcue. Dacă hotcue este configurat, sări la hotcue. - + If hotcue is not set, sets the hotcue to the current play position. Dacă hotcue nu este configurat, configurează hotcue la poziția curentă de redare. - + Vinyl Control Mode Mod control disc vinil - + Absolute mode - track position equals needle position and speed. - + Relative mode - track speed equals needle speed regardless of needle position. - + Constant mode - track speed equals last known-steady speed regardless of needle input. - + Vinyl Status Stare disc vinil - + Provides visual feedback for vinyl control status: - + Green for control enabled. Verde pentru activare control. - + Blinking yellow for when the needle reaches the end of the record. Galben clipitor când acul atinge sfârșitul înregistrării. - + Loop-In Marker Marcaj intrare buclă - + Loop-Out Marker Marcaj ieșire buclă - + Loop Halve Înjumătățește bucla - + Halves the current loop's length by moving the end marker. Înjumătățește lungimea buclei curente prin mutarea marcajului de sfârșit. - + Deck immediately loops if past the new endpoint. - + Loop Double Buclă dublă - + Doubles the current loop's length by moving the end marker. Dublează lungimea buclei curente mutând marcajul de sfârșit. - + Beatloop - + Toggles the current loop on or off. Comută bucla actuală pornit sau oprit. - + Works only if Loop-In and Loop-Out marker are set. Funcționează numai dacă marcajele intrare buclă și ieșire buclă sunt configurate. - + Vinyl Cueing Mode Mod cue disc vinil - + Determines how cue points are treated in vinyl control Relative mode: Determină cum sunt tratate punctele cue în mod control disc vinil relativ: - + Off - Cue points ignored. Închis - Punctele cue ignorate. - + One Cue - If needle is dropped after the cue point, track will seek to that cue point. - + Track Time Timp pistă - + Track Duration Durată pistă - + Displays the duration of the loaded track. Afișează durata pistei încărcate. - + Information is loaded from the track's metadata tags. Informația este încărcată din metadata etichetelor pistei. - + Track Artist Artist piesă - + Displays the artist of the loaded track. Afișează artistul pistei încărcate. - + Track Title Titlu piesă - + Displays the title of the loaded track. Afișează titlul pistei încărcate. - + Track Album Album - + Displays the album name of the loaded track. Afișează numele albumului pistei încărcate. - + Track Artist/Title Artist/titlu pistă - + Displays the artist and title of the loaded track. Afișează artistul și titlul pistei încărcate. @@ -15062,12 +15176,12 @@ Use this to change only the effected (wet) signal with EQ and filter effects. TrackCollection - + Hiding tracks - + The selected tracks are in the following playlists:%1Hiding them will remove them from these playlists. Continue? @@ -15282,47 +15396,47 @@ This can not be undone! WCueMenuPopup - + Cue number - + Cue position - + Edit cue label - + Label... - + Delete this cue - + Toggle this cue type between normal cue and saved loop - + Left-click: Use the old size or the current beatloop size as the loop size - + Right-click: Use the current play position as loop end if it is after the cue - + Hotcue #%1 @@ -15447,323 +15561,353 @@ This can not be undone! + Search in Current View... + + + + + Search for tracks in the current library view + + + + + Ctrl+f + + + + + Search in Tracks Library... + + + + + Search in the internal track collection under "Tracks" in the library + + + + + Ctrl+Shift+F + + + + Create &New Playlist Crează Listă de redare &nouă - + Create a new playlist Creează o nouă listă de redare - + Ctrl+n Ctrl+n - + Create New &Crate Creează &Colecție nouă - + Create a new crate Creează o colecţie nouă - + Ctrl+Shift+N Ctrl+Shift+N - - + + &View &Vizualizare - + Auto-hide menu bar - + Auto-hide the main menu bar when it's not used. - + May not be supported on all skins. Poate să nu fie suportat pe toate aspectele aplicației. - + Show Skin Settings Menu - + Show the Skin Settings Menu of the currently selected Skin - + Ctrl+1 Menubar|View|Show Skin Settings Ctrl+1 - + Show Microphone Section Arată secțiunea microfon - + Show the microphone section of the Mixxx interface. Arată secțiunea microfonului a interfeței Mixxx. - + Ctrl+2 Menubar|View|Show Microphone Section Ctrl+2 - + Show Vinyl Control Section Arată secțiunea control disc vinil - + Show the vinyl control section of the Mixxx interface. Arată secțiunea control disc vinil a interfeței Mixxx. - + Ctrl+3 Menubar|View|Show Vinyl Control Section Ctrl+3 - + Show Preview Deck Arată previzualizare Deck - + Show the preview deck in the Mixxx interface. Arată previzualizarea deck-ului în interfața Mixxx. - + Ctrl+4 Menubar|View|Show Preview Deck Ctrl+4 - + Show Cover Art Arată coperta - + Show cover art in the Mixxx interface. Arată coperta în interfața Mixxx. - + Ctrl+6 Menubar|View|Show Cover Art Ctrl+6 - + Maximize Library Mărește biblioteca - + Maximize the track library to take up all the available screen space. Mărește spațiul bibliotecii pentru a acoperii tot spațiul disponibil al ecranului. - + Space Menubar|View|Maximize Library Spațiu - + &Full Screen &Ecran complet - + Display Mixxx using the full screen Afișează Mixxx utilizând tot ecranul - + &Options &Opțiuni - + &Vinyl Control Control disc &vinil - + Use timecoded vinyls on external turntables to control Mixxx Utilizează codarea de timp discuri vinil pe platan extern pentru a controla Mixxx - + Enable Vinyl Control &%1 Activează controlul disc vinil &%1 - + &Record Mix &Înregistrare mixaj - + Record your mix to a file Înregistrează mixajul într-un fişier - + Ctrl+R Ctrl+R - + Enable Live &Broadcasting Activează &transmisia live - + Stream your mixes to a shoutcast or icecast server Difuzați mixajul dumneavoastră la un server shoutcast sau icecast - + Ctrl+L Ctrl+L - + Enable &Keyboard Shortcuts Activează &scurtăturile de tastatură - + Toggles keyboard shortcuts on or off Comută scurtăturile de tastatură pornit sau oprit - + Ctrl+` Ctrl+` - + &Preferences &Preferințe - + Change Mixxx settings (e.g. playback, MIDI, controls) Schimbă configurările Mixxx (ex. redare, MIDI, controale) - + &Developer &Dezvoltator - + &Reload Skin &Reâncarcă aspect aplicație - + Reload the skin Reâncarcă aspect aplicație - + Ctrl+Shift+R Ctrl+Shift+R - + Developer &Tools &Unelte dezvoltator - + Opens the developer tools dialog Deschide dialogul uneltelor dezvoltatorului - + Ctrl+Shift+T Ctrl+Shift+T - + Stats: &Experiment Bucket - + Enables experiment mode. Collects stats in the EXPERIMENT tracking bucket. - + Ctrl+Shift+E Ctrl+Shift+E - + Stats: &Base Bucket - + Enables base mode. Collects stats in the BASE tracking bucket. - + Ctrl+Shift+B Ctrl+Shift+B - + Deb&ugger Enabled Dep&anator activat - + Enables the debugger during skin parsing Activează depanatorul în timpul analizării aspectului aplicației - + Ctrl+Shift+D Ctrl+Shift+D - + &Help &Ajutor - + Show Keywheel menu title @@ -15780,74 +15924,74 @@ This can not be undone! - + Show keywheel tooltip text - + F12 Menubar|View|Show Keywheel - + &Community Support Suport &comunitate - + Get help with Mixxx Obțineți ajutor cu Mixxx - + &User Manual Manual &utilizator - + Read the Mixxx user manual. Citiți manualul utilizatorului Mixxx. - + &Keyboard Shortcuts Scurtături &tastatură - + Speed up your workflow with keyboard shortcuts. - + &Settings directory - + Open the Mixxx user settings directory. - + &Translate This Application &Tradu această aplicație - + Help translate this application into your language. Ajutați la traducerea acestei aplicații în limba dumneavoastră. - + &About &Despre - + About the application Despre aplicaţie @@ -15855,25 +15999,25 @@ This can not be undone! WOverview - + Passthrough - + Ready to play, analyzing... Text on waveform overview when file is playable but no waveform is visible - - + + Loading track... Text on waveform overview when file is cached from source - + Finalizing... Text on waveform overview during finalizing of waveform analysis @@ -15882,25 +16026,13 @@ This can not be undone! WSearchLineEdit - - Clear input - Clear the search bar input field - Curăță intrarea - - - - Ctrl+F - Search|Focus - Ctrl+F - - - + Search noun Căutare - + Clear input Curăță intrarea @@ -15911,169 +16043,163 @@ This can not be undone! Caută... - + Clear the search bar input field - - Enter a string to search for - Introduceți un șir de căutat + + Return + - - Use operators like bpm:115-128, artist:BooFar, -year:1990 + + Enter a string to search for. - - For more information see User Manual > Mixxx Library + + Use operators like bpm:115-128, artist:BooFar, -year:1990. - Shortcut - Scurtătură + See User Manual > Mixxx Library for more information. + - - Ctrl+F - Ctrl+F + + Focus/Select All (Search in current view) + Give search bar input focus + - - Focus - Give search bar input focus - Focalizare + + Focus/Select All (Search in 'Tracks' library view) + - - - Ctrl+Backspace - Ctrl+Backspace + + Additional Shortcuts When Focused: + - Shortcuts + Trigger search before search-as-you-type timeout or focus tracks view afterwards - Return + Esc or Ctrl+Return - Trigger search before search-as-you-type timeout orjump to tracks view afterwards + Immediately trigger search and focus tracks view + Exit search bar and leave focus - + Ctrl+Space - + Toggle search history Shows/hides the search history entries - + Delete or Backspace - - Delete query from history + + in search history - - Esc - Esc - - - - Exit search - Exit search bar and leave focus - Ieșire căutare + + Delete query from history + WSearchRelatedTracksMenu - + Search related Tracks - + Key Tastă - + harmonic with %1 - + BPM BPM - + between %1 and %2 - + Artist Artist - + Album Artist Album artist - + Composer Compozitor - + Title Titlu - + Album Album - + Grouping Grupare - + Year An - + Genre Gen - + Directory - + &Search selected @@ -16081,620 +16207,625 @@ This can not be undone! WTrackMenu - + Load to - + Deck Deck - + Sampler Sampler - + Add to Playlist Adaugă la lista de redare - + Crates Colecții - + Metadata - + Update external collections - + Cover Art Copertă - + Adjust BPM - + Select Color - - + + Analyze Analizează - - + + Delete Track Files - + Add to Auto DJ Queue (bottom) Adăugaţi în selecţia Auto DJ (jos) - + Add to Auto DJ Queue (top) Adăugaţi în selecţia Auto DJ (sus) - + Add to Auto DJ Queue (replace) - + Preview Deck Previzualizare Deck - + Remove Elimină - + Remove from Playlist - + Remove from Crate - + Hide from Library Ascunde din bibliotecă - + Unhide from Library Anulează ascunderea din bibliotecă - + Purge from Library Rade din bibliotecă - + Move Track File(s) to Trash - + Delete Files from Disk - + Properties Proprietăţi - + Open in File Browser Deschide în navigatorul de fișiere - + Select in Library - + Import From File Tags - + Import From MusicBrainz - + Export To File Tags - + BPM and Beatgrid - + Play Count - + Rating Apreciere - + Cue Point - - + + Hotcues Hotcue - + Intro - + Outro - + Key Tastă - + ReplayGain Înlocuire câștig - + Waveform - + Comment Comentariu - + All Toate - + Sort hotcues by position (remove offsets) - + Sort hotcues by position - + Lock BPM Blochează BPM - + Unlock BPM Deblochează BPM - + Double BPM Dublează BPM - + Halve BPM Înjumătățește BPM - + 2/3 BPM 2/3 BPM - + 3/4 BPM 3/4 BPM - + 4/3 BPM - + 3/2 BPM - + + Shift Beatgrid Half Beat + + + + Reanalyze - + Reanalyze (constant BPM) - + Reanalyze (variable BPM) - + Update ReplayGain from Deck Gain - + Deck %1 Deck %1 - + Importing metadata of %n track(s) from file tags - + Marking metadata of %n track(s) to be exported into file tags - - + + Create New Playlist Crează listă de redare nouă - + Enter name for new playlist: Introduceți numele pentru noua listă de redare: - + New Playlist Listă de redare nouă - - - + + + Playlist Creation Failed Crearea listei de redare a eşuat - + A playlist by that name already exists. Există deja o listă de redare cu acelaşi nume. - + A playlist cannot have a blank name. O listă de redare nu poate fi nedenumită. - + An unknown error occurred while creating playlist: O eroare necunoscută a apărut în timpul creării listei de redare: - + Add to New Crate - + Scaling BPM of %n track(s) - + Undo BPM/beats change of %n track(s) - + Locking BPM of %n track(s) - + Unlocking BPM of %n track(s) - + Setting rating of %n track(s) - + Setting color of %n track(s) - + Resetting play count of %n track(s) - + Resetting beats of %n track(s) - + Clearing rating of %n track(s) - + Clearing comment of %n track(s) - + Removing main cue from %n track(s) - + Removing outro cue from %n track(s) - + Removing intro cue from %n track(s) - + Removing loop cues from %n track(s) - + Removing hot cues from %n track(s) - + Sorting hotcues of %n track(s) by position (remove offsets) - + Sorting hotcues of %n track(s) by position - + Resetting keys of %n track(s) - + Resetting replay gain of %n track(s) - + Resetting waveform of %n track(s) - + Resetting all performance metadata of %n track(s) - + Move these files to the trash bin? - + Permanently delete these files from disk? - - + + This can not be undone! - + Cancel Renunţă - + Delete Files - + Okay - + Move Track File(s) to Trash? - + Track Files Deleted - + Track Files Moved To Trash - + %1 track files were moved to trash and purged from the Mixxx database. - + %1 track files were deleted from disk and purged from the Mixxx database. - + Track File Deleted - + Track file was deleted from disk and purged from the Mixxx database. - + The following %1 file(s) could not be deleted from disk - + This track file could not be deleted from disk - + Remaining Track File(s) - + Close Închide - + Clear Reset metadata in right click track context menu in library - + Loops - + Clear BPM and Beatgrid - + Undo last BPM/beats change - + Move this track file to the trash bin? - + Permanently delete this track file from disk? - + All decks where these tracks are loaded will be stopped and the tracks will be ejected. - + All decks where this track is loaded will be stopped and the track will be ejected. - + Removing %n track file(s) from disk... - + Note: if you are in the Computer or Recording view you need to click the current view again to see changes. - + Track File Moved To Trash - + Track file was moved to trash and purged from the Mixxx database. - + Don't show again during this session - + The following %1 file(s) could not be moved to trash - + This track file could not be moved to trash - + Setting cover art of %n track(s) - + Reloading cover art of %n track(s) @@ -16710,37 +16841,37 @@ This can not be undone! WTrackStemMenu - + Load for stem mixing - + Load pre-mixed stereo track - + Load the "%1" stem - + Load multiple stem into a stereo deck - + Select stems to load - + Release "CTRL" to load the current selection - + Use "CTRL" to select multiple stems @@ -16748,37 +16879,37 @@ This can not be undone! WTrackTableView - + Confirm track hide - + Are you sure you want to hide the selected tracks? - + Are you sure you want to remove the selected tracks from AutoDJ queue? - + Are you sure you want to remove the selected tracks from this crate? - + Are you sure you want to remove the selected tracks from this playlist? - + Don't ask again during this session - + Confirm track removal @@ -16786,12 +16917,12 @@ This can not be undone! WTrackTableViewHeader - + Show or hide columns. Arată sau ascunde coloane. - + Shuffle Tracks @@ -16799,52 +16930,52 @@ This can not be undone! mixxx::CoreServices - + fonts - + database - + effects - + audio interface - + decks - + library - + Choose music library directory Alege directorul bibliotecii de muzică - + controllers - + Cannot open database Baza de date nu poate fi deschisă - + Unable to establish a database connection. Mixxx requires QT with SQLite support. Please read the Qt SQL driver documentation for information on how to build it. @@ -16858,68 +16989,78 @@ Apăsați OK să ieșiți. mixxx::DlgLibraryExport - + Entire music library - - Selected crates + + Crates - + + Playlists + + + + + Selected crates/playlists + + + + Browse Răsfoiește - + Export directory - + Database version - + Export Exportă - + Cancel Renunţă - + Export Library to Engine DJ "Engine DJ" must not be translated - + Export Library To - + No Export Directory Chosen - + No export directory was chosen. Please choose a directory in order to export the music library. - + A database already exists in the chosen directory. Exported tracks will be added into this database. - + A database already exists in the chosen directory, but there was a problem loading it. Export is not guaranteed to succeed in this situation. @@ -16940,7 +17081,7 @@ Apăsați OK să ieșiți. mixxx::EnginePrimeExportJob - + Failed to export track %1 - %2: %3 %1 is the artist %2 is the title and %3 is the original error message @@ -16950,23 +17091,23 @@ Apăsați OK să ieșiți. mixxx::LibraryExporter - + Export Completed - - Exported %1 track(s) and %2 crate(s). + + Exported %1 track(s), %2 crate(s), and %3 playlist(s). - + Export Failed - - Exporting to Engine Prime... + + Exporting to Engine DJ... diff --git a/res/translations/mixxx_ru.qm b/res/translations/mixxx_ru.qm index 812d8226537ffb2e0c0a8d55ba97aca2857094d7..804a8ca549cc6e9937e2901adfb00008d86c00d3 100644 GIT binary patch delta 16862 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%0Ds%d-UZtL*t*I-e4GZ{wkFxfL+yZ>IZ@X16U(qV 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 diff --git a/res/translations/mixxx_ru.ts b/res/translations/mixxx_ru.ts index 5822c60b98d6..280f436e0ab4 100644 --- a/res/translations/mixxx_ru.ts +++ b/res/translations/mixxx_ru.ts @@ -149,7 +149,7 @@ BasePlaylistFeature - + New Playlist Новый список воспроизведения @@ -160,7 +160,7 @@ - + Create New Playlist Создать новый список воспроизведения @@ -190,113 +190,120 @@ Дублировать - - + + Import Playlist Импортировать список воспроизведения - + Export Track Files Экспорт файлов треков - + Analyze entire Playlist Анализировать весь список воспроизведения - + Enter new name for playlist: Введите новое имя для списка воспроизведения: - + Duplicate Playlist Дублировать список воспроизведения - - + + Enter name for new playlist: Введите имя для нового списка воспроизведения: - - + + Export Playlist Экспорт списка воспроизведения - + Add to Auto DJ Queue (replace) Добавить в очередь Auto DJ (заменить) - + + + Export to Engine DJ + "Engine DJ" is a product name and must not be translated. + + + + Rename Playlist Переименовать список воспроизведения - - + + Renaming Playlist Failed Не удалось переименовать список воспроизведения - - - + + + A playlist by that name already exists. Список воспроизведения с таким именем уже существует. - - - + + + A playlist cannot have a blank name. Имя списка воспроизведения не может быть пустым. - + _copy //: Appendix to default name when duplicating a playlist _копия - - - - - - + + + + + + Playlist Creation Failed Не удалось создать список воспроизведения - - + + An unknown error occurred while creating playlist: Произошла неизвестная ошибка при создании списка воспроизведения: - + Confirm Deletion Подтвердить удаление - + Do you really want to delete playlist <b>%1</b>? Удалить список воспроизведения <b>%1</b>? - + M3U Playlist (*.m3u) Список воспроизведения M3U (*.m3u) - + M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Text CSV (*.csv);;Readable Text (*.txt) Список воспроизведения M3U (*.m3u); Список воспроизведения M3u8 (*.m3u8); Список воспроизведения PLS (*.pls); Текст CSV (*.csv); Читаемый текст (*.txt) @@ -304,12 +311,12 @@ BaseSqlTableModel - + # # - + Timestamp Дата создания @@ -317,7 +324,7 @@ BaseTrackPlayerImpl - + Couldn't load track. Не удалось загрузить трек. @@ -325,142 +332,142 @@ BaseTrackTableModel - + Album Альбом - + Album Artist Исполнитель альбома - + Artist Исполнитель - + Bitrate Битрейт - + BPM Кол-во ударов в минуту - + Channels Каналы - + Color Цвет - + Comment Комментарий - + Composer Композитор - + Cover Art Обложка - + Date Added Дата добавления - + Last Played Последнее воспроизведение - + Duration Продолжительность - + Type Тип - + Genre Жанр - + Grouping Группа - + Key Тональность - + Location Местоположение - + Overview - + Preview Предварительный просмотр - + Rating Рейтинг - + ReplayGain Выравнивание громкости - + Samplerate Частота дискретизации - + Played Воспроизведено - + Title Название - + Track # Номер трека - + Year Год - + Fetching image ... Tooltip text on the cover art column shown when the cover is read from disk Получение изображения @@ -609,6 +616,16 @@ "Computer" lets you navigate, view, and load tracks from folders on your hard disk and external devices. «Обзор» позволяет перемещаться, просматривать и загружать треки из папок на жёстком диске и внешних устройствах. + + + It shows the data from the file tags, not track data from your Mixxx library like other track views. + + + + + If you load a track file from here, it will be added to your library. + + BrowseTableModel @@ -3632,32 +3649,32 @@ trace — То, что выше + сообщения профилировани ControllerScriptEngineBase - + The functionality provided by this controller mapping will be disabled until the issue has been resolved. Функционал, предоставляемый этой привязкой контроллера, будет отключён до тех пор, пока проблема не будет решена. - + You can ignore this error for this session but you may experience erratic behavior. В этом сеансе можно игнорировать эту ошибку, но можно столкнуться с некорректным поведением. - + Try to recover by resetting your controller. Попробуйте восстановить путем сброса контроллера. - + Controller Mapping Error Ошибка привязки контроллера - + The mapping for your controller "%1" is not working properly. Привязка контроллера «%1» работает некорректно. - + The script code needs to be fixed. Код сценария должна быть исправлена. @@ -3765,7 +3782,7 @@ trace — То, что выше + сообщения профилировани Импорт контейнера - + Export Crate Экспорт контейнера @@ -3775,7 +3792,7 @@ trace — То, что выше + сообщения профилировани Разблокировать - + An unknown error occurred while creating crate: Произошла неизвестная ошибка при создании контейнера: @@ -3801,17 +3818,17 @@ trace — То, что выше + сообщения профилировани Не удалось переименовать контейнер - + Crate Creation Failed Ошибка создания контейнера - + M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Text CSV (*.csv);;Readable Text (*.txt) Список воспроизведения M3U (*.m3u); Список воспроизведения M3u8 (*.m3u8); Список воспроизведения PLS (*.pls); Текст CSV (*.csv); Читаемый текст (*.txt) - + M3U Playlist (*.m3u) Список воспроизведения M3U (*.m3u) @@ -3937,12 +3954,12 @@ trace — То, что выше + сообщения профилировани Прошлые участники - + Official Website Официальный сайт - + Donate Сделать пожертвование @@ -3998,7 +4015,7 @@ trace — То, что выше + сообщения профилировани - + Analyze Анализировать @@ -4043,17 +4060,17 @@ trace — То, что выше + сообщения профилировани Запускает обнаружение битовой сетки, тона и нормализации на выбранных треках. Не генерирует осциллограммы выбранных треков для экономии дискового пространства. - + Stop Analysis Остановить анализ - + Analyzing %1% %2/%3 Производится анализ %1% %2/%3 - + Analyzing %1/%2 Производится анализ %1/%2 @@ -4470,37 +4487,37 @@ Often results in higher quality beatgrids, but will not do well on tracks that h Если привязка не работает, попробуйте включить расширенную опцию ниже, а затем повторите попытку взаимодействия с контроллером. Или нажмите кнопку «Повторить попытку», чтобы повторно определить midi-элемент управления. - + Didn't get any midi messages. Please try again. Не получено ни одного midi-сообщения. Попробуйте ещё раз. - + Unable to detect a mapping -- please try again. Be sure to only touch one control at once. Не удалось определить сопоставление — попробуйте снова. Взаимодействуйте с одним контроллером за раз. - + Successfully mapped control: Привязка элемента управления успешно выполнена: - + <i>Ready to learn %1</i> <i>Готово к обучению %1</i> - + Learning: %1. Now move a control on your controller. Обучение: %1. Теперь переместите элемент управления на контроллере. - + The selected control does not exist.<br>This likely a bug. Please report it on the Mixxx bug tracker.<br><a href='https://github.com/mixxxdj/mixxx/issues'>https://github.com/mixxxdj/mixxx/issues</a><br><br>You tried to learn: %1,%2 - + The control you clicked in Mixxx is not learnable. This could be because you are either using an old skin and this control is no longer supported, or you clicked a control that provides visual feedback and can only be mapped to outputs like LEDs via scripts. @@ -5206,114 +5223,114 @@ associated with each key. DlgPrefController - + Apply device settings? Применить параметры устройства? - + Your settings must be applied before starting the learning wizard. Apply settings and continue? Указанные параметры должны быть применены перед запуском мастера обучения. Применить параметры и продолжить? - + None Нет - + %1 by %2 %1 в %2 - + Mapping has been edited Привязка была изменена - + Always overwrite during this session Всегда перезаписывать во время этого сеанса - + Save As Сохранить как - + Overwrite Перезаписать - + Save user mapping Сохранить пользовательскую привязку - + Enter the name for saving the mapping to the user folder. Введите имя для сохранения привязки в пользовательской папке. - + Saving mapping failed Не удалось сохранить привязку - + A mapping cannot have a blank name and may not contain special characters. Имя привязки не может быть пустым и не должно содержать специальные символы. - + A mapping file with that name already exists. Файл привязки с таким именем уже существует. - + Do you want to save the changes? Сохранить изменения? - + Troubleshooting Устранение неполадок - + <font color='#BB0000'><b>If you use this mapping your controller may not work correctly. Please select another mapping or disable the controller.</b></font><br><br>This mapping was designed for a newer Mixxx Controller Engine and cannot be used on your current Mixxx installation.<br>Your Mixxx installation has Controller Engine version %1. This mapping requires a Controller Engine version >= %2.<br><br>For more information visit the wiki page on <a href='https://mixxx.org/wiki/doku.php/controller_engine_versions'>Controller Engine Versions</a>. <font color='#BB0000'><b>Если используется такая привязка, контроллер может работать неправильно. Выберите другую привязку или отключите контроллер.</b></font><br><br>Эта привязка была разработана для более нового движка контроллера Mixxx, и её нельзя использовать в вашей текущей установке Mixxx.<br>Текущая установка Mixxx имеет версию движка контроллера %1. Эта привязка требует версию движка контроллера >= %2.<br><br>Для получения более подробной информации посетите вики-страницу <a href='https://mixxx.org/wiki/doku.php/controller_engine_versions'>Версии движка контроллера</a>. - + Mapping already exists. Привязка уже существует. - + <b>%1</b> already exists in user mapping folder.<br>Overwrite or save with a new name? <b>%1</b> уже существует в папке пользовательских привязок.<br>Заменить или сохранить с новым именем? - + Clear Input Mappings Очистить входные привязки - + Are you sure you want to clear all input mappings? Очистить все входные привязки? - + Clear Output Mappings Очистить выходные привязки - + Are you sure you want to clear all output mappings? Удалить все выходные привязки? @@ -5644,6 +5661,16 @@ Apply settings and continue? Multi-Sampling + + + Force 3D acceleration + + + + + If checked, Mixxx will always assume 3D acceleration is available. This may lead to pour performance if only CP-backed rendering is available.. + + Start in full-screen mode @@ -6258,62 +6285,62 @@ You can always drag-and-drop tracks on screen to clone a deck. DlgPrefInterface - + The minimum size of the selected skin is bigger than your screen resolution. Минимальный размер выбранного скина больше, чем разрешение экрана. - + Allow screensaver to run Разрешить запуск хранителя экрана - + Prevent screensaver from running Запретить включение хранителя экрана - + Prevent screensaver while playing Запретить включение хранителя экрана при воспроизведении - + Disabled Отключено - + 2x MSAA 2x MSAA - + 4x MSAA 4x MSAA - + 8x MSAA 8x MSAA - + 16x MSAA 16x MSAA - + This skin does not support color schemes Этот скин не поддерживает цветовые схемы - + Information Информация - + Mixxx must be restarted before the new locale, scaling or multi-sampling settings will take effect. @@ -7483,173 +7510,172 @@ The loudness target is approximate and assumes track pregain and main output lev DlgPrefSound - + %1 Hz %1 Гц - + Default (long delay) По умолчанию (долгая задержка) - + Experimental (no delay) Экспериментально (без задержки) - + Disabled (short delay) Отключено (короткая задержка) - + Soundcard Clock Часы звуковой карты - + Network Clock Сетевые часы - + Direct monitor (recording and broadcasting only) Прямой мониторинг (только запись и трансляция) - + Disabled Отключено - + Enabled Включено - + Stereo Стерео - + Mono Моно - + To enable Realtime scheduling (currently disabled), see the %1. Чтобы включить планирование в реальном времени (в настоящее время отключено), обратитесь к %1. - + The %1 lists sound cards and controllers you may want to consider for using Mixxx. В %1 перечислены звуковые карты и контроллеры, которые можно использовать в Mixxx. - + Mixxx DJ Hardware Guide Руководство по оборудованию Mixxx DJ - + Information - + Mixxx must be restarted before the multi-threaded RubberBand setting change will take effect. - + auto (<= 1024 frames/period) автоматически (<= 1024 кадров/период) - + 2048 frames/period 2048 кадров/период - + 4096 frames/period 4096 кадров/период - + Are you sure? - + Distribute stereo channels into mono channels for parallel processing will result in a loss of mono compatibility and a diffuse stereo image. It is not recommended during broadcasting or recording. - + Are you sure you wish to proceed? - + No - + Yes, I know what I am doing - + Microphone inputs are out of time in the record & broadcast signal compared to what you hear. Микрофонные входы на записи и трансляции не соответствуют тому, что вы слышите. - + Measure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. Замерьте задержку приёма-передачи и укажите её значение выше для компенсации задержки микрофона, чтобы выровнять синхронизацию микрофона. - - + Refer to the Mixxx User Manual for details. Более подробная информация содержится в руководстве пользователя Mixxx. - + Configured latency has changed. Настроенная задержка изменилась. - + Remeasure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. Повторно замерьте задержку приёма-передачи и укажите её значение выше для компенсации задержки микрофона, чтобы выровнять синхронизацию микрофона. - + Realtime scheduling is enabled. Планирование в реальном времени включено. - + Main output only Только главный выход - + Main and booth outputs Главный выход и кабина - + %1 ms %1 мс - + Configuration error Ошибка конфигурации @@ -7667,131 +7693,131 @@ The loudness target is approximate and assumes track pregain and main output lev Звуковые API - + Sample Rate Частота дискретизации - + Audio Buffer Аудио буфер - + Engine Clock Часы движка - + Use soundcard clock for live audience setups and lowest latency.<br>Use network clock for broadcasting without a live audience. Использовать часы звуковой карты для настройки живой аудитории и минимальной задержки.<br>Используйте сетевые часы для трансляции без живой аудитории. - + Main Mix Основной микс - + Main Output Mode Режим основного канала - + Microphone Monitor Mode Режим прослушивания микрофона - + Microphone Latency Compensation Компенсация задержки микрофона - - - - + + + + ms milliseconds MS - + 20 ms 20 мс - + Buffer Underflow Count Счётчик потерь буфера - + 0 0 - + Keylock/Pitch-Bending Engine Движок блокировки/изменения тональности - + Multi-Soundcard Synchronization Синхронизация нескольких звуковых карт - + Output Выход - + Input Вход - + System Reported Latency Система сообщила о задержке - + Enlarge your audio buffer if the underflow counter is increasing or you hear pops during playback. Увеличить аудиобуфер, если счётчик потерь увеличивается или слышны хлопки во время воспроизведения. - + Main Output Delay Задержка основного канала - + Headphone Output Delay Задержка выхода наушников - + Booth Output Delay Задержка вывода кабины - + Dual-threaded Stereo - + Hints and Diagnostics Подсказки и диагностика - + Downsize your audio buffer to improve Mixxx's responsiveness. Уменьшить размер аудиобуфера, чтобы улучшить отзывчивость Mixxx. - + Query Devices Запрос устройств @@ -8951,7 +8977,7 @@ Often results in higher quality beatgrids, but will not do well on tracks that h Tap to Beat - + Нажмите чтобы выбрать ритм. @@ -9351,27 +9377,27 @@ Often results in higher quality beatgrids, but will not do well on tracks that h EngineBuffer - + Soundtouch (faster) Soundtouch (быстрее) - + Rubberband (better) Rubberband (лучше) - + Rubberband R3 (near-hi-fi quality) Rubberband R3 (качество, близкое к hi-fi) - + Unknown, using Rubberband (better) Неизвестный, с использованием Rubberband (лучше) - + Unknown, using Soundtouch @@ -9586,15 +9612,15 @@ Often results in higher quality beatgrids, but will not do well on tracks that h LegacySkinParser - - + + Safe Mode Enabled Shown when Mixxx is running in safe mode. Безопасный режим включён - - + + No OpenGL support. Shown when Spinny can not be displayed. Please keep @@ -9605,57 +9631,57 @@ Shown when VuMeter can not be displayed. Please keep Отсутствует поддержка OpenGL. - + activate активировать - + toggle переключить - + right вправо - + left влево - + right small немного вправо - + left small немного влево - + up вверх - + down вниз - + up small немного вверх - + down small немного вниз - + Shortcut Комбинация клавиш @@ -9663,62 +9689,62 @@ Shown when VuMeter can not be displayed. Please keep Library - + This or a parent directory is already in your library. - + This or a listed directory does not exist or is inaccessible. Aborting the operation to avoid library inconsistencies - - + + This directory can not be read. - + An unknown error occurred. Aborting the operation to avoid library inconsistencies - + Can't add Directory to Library - + Could not add <b>%1</b> to your library. %2 - + Can't remove Directory from Library - + An unknown error occurred. - + This directory does not exist or is inaccessible. - + Relink Directory - + Could not relink <b>%1</b> to <b>%2</b>. %3 @@ -9728,22 +9754,22 @@ Aborting the operation to avoid library inconsistencies LibraryFeature - + Import Playlist Импортировать список воспроизведения - + Playlist Files (*.m3u *.m3u8 *.pls *.csv) Файлы списков воспроизведения (*.m3u *.m3u8 *.pls *.csv) - + Overwrite File? Заменить файл? - + A playlist file with the name "%1" already exists. The default "m3u" extension was added because none was specified. @@ -9897,253 +9923,253 @@ Do you really want to overwrite it? MixxxMainWindow - + Sound Device Busy Звуковое устройство занято - + <b>Retry</b> after closing the other application or reconnecting a sound device <b>Повторить попытку</b> после закрытия другого приложения или повторного подключения звукового устройства - - - + + + <b>Reconfigure</b> Mixxx's sound device settings. <b>Перенастроить</b> параметры звукового устройства Mixxx. - - + + Get <b>Help</b> from the Mixxx Wiki. Получить <b>помощь</b> от Mixxx Wiki. - - - + + + <b>Exit</b> Mixxx. <b>Закрыть</b> Mixxx. - + Retry Повторить - + skin обложка - + Allow Mixxx to hide the menu bar? - + Hide Always show the menu bar? - + Always show - + The Mixxx menu bar is hidden and can be toggled with a single press of the <b>Alt</b> key.<br><br>Click <b>%1</b> to agree.<br><br>Click <b>%2</b> to disable that, for example if you don't use Mixxx with a keyboard.<br><br>You can change this setting any time in Preferences -> Interface.<br> Keep formatting tags <b> (bold text) and <br> (linebreak). %1 is the placeholder for the 'Always show' button label - + Ask me again - - + + Reconfigure Перенастроить - + Help Справка - - + + Exit Выход - - + + Mixxx was unable to open all the configured sound devices. Не удалось открыть все настроенные звуковые устройства. - + Sound Device Error Ошибка звукового устройства - + <b>Retry</b> after fixing an issue <b>Повторить попытку</b> после устранения проблемы - + No Output Devices Нет устройств вывода - + Mixxx was configured without any output sound devices. Audio processing will be disabled without a configured output device. Mixxx был настроен без каких-либо звуковых устройств вывода. Обработка аудио будет отключена без настроенного устройства вывода. - + <b>Continue</b> without any outputs. <b>Продолжить</b> без каких-либо результатов. - + Continue Продолжить - + Load track to Deck %1 Загрузить трек в деку %1 - + Deck %1 is currently playing a track. Дека %1 в настоящее время воспроизводит трек. - + Are you sure you want to load a new track? Загрузить новый трек? - + There is no input device selected for this vinyl control. Please select an input device in the sound hardware preferences first. Для этой панели управления пластинкой не выбрано входное устройство. Сначала выберите входное устройство в параметрах звукового оборудования. - + There is no input device selected for this passthrough control. Please select an input device in the sound hardware preferences first. Для панели сквозного управления не выбрано входное устройство. Сначала выберите входное устройство в параметрах звукового оборудования. - + There is no input device selected for this microphone. Do you want to select an input device? Для этого микрофона не выбрано входное устройство. Хотите выбрать? - + There is no input device selected for this auxiliary. Do you want to select an input device? Для этого вспомогательного устройства не выбрано входное устройство. Хотите выбрать? - + Scan took %1 - + No changes detected. - - + + %1 tracks in total - + %1 new tracks found - + %1 moved tracks detected - + %1 tracks are missing (%2 total) - + %1 tracks have been rediscovered - + Library scan finished - + Error in skin file Ошибка в файле обложки - + The selected skin cannot be loaded. Не удаётся загрузить выбранную обложку. - + OpenGL Direct Rendering Прямая обработка OpenGL - + Direct rendering is not enabled on your machine.<br><br>This means that the waveform displays will be very<br><b>slow and may tax your CPU heavily</b>. Either update your<br>configuration to enable direct rendering, or disable<br>the waveform displays in the Mixxx preferences by selecting<br>"Empty" as the waveform display in the 'Interface' section. Прямой рендеринг не включён на вашем компьютере.<br><br>Это означает, что отображение осциллограммы будет очень<br><b>медленным и может сильно нагрузить процессор</b>. Либо обновите<br>конфигурацию, чтобы включить прямой рендеринг, либо отключите<br>отображение осциллограммы в параметрах Mixxx, выбрав<br>«Пусто» для отображения осциллограммы в разделе «Интерфейс». - - - + + + Confirm Exit Подтвердить выход - + A deck is currently playing. Exit Mixxx? В настоящий момент играет дека. Выйти из Mixxx? - + A sampler is currently playing. Exit Mixxx? В настоящее время играет сэмплер. Выйти из Mixxx? - + The preferences window is still open. Окно параментров остаётся открытым. - + Discard any changes and exit Mixxx? Отменить все изменения и закрыть Mixxx? @@ -10159,13 +10185,13 @@ Do you want to select an input device? PlaylistFeature - + Lock Заблокировать - - + + Playlists Списки воспроизведения @@ -10175,32 +10201,58 @@ Do you want to select an input device? - + + Unlock all playlists + + + + + Delete all unlocked playlists + + + + Unlock Разблокировать - + + + Confirm Deletion + + + + + Do you really want to delete all unlocked playlists? + + + + + Deleting %1 unlocked playlists.<br>This operation can not be undone! + + + + Playlists are ordered lists of tracks that allow you to plan your DJ sets. Списки воспроизведения — это упорядоченные списки треков, позволяющие планировать диджейские выступления. - + It may be necessary to skip some tracks in your prepared playlist or add some different tracks in order to maintain the energy of your audience. Возможно, иногда придётся пропустить некоторые треки в подготовленном списке воспроизведения или добавить несколько других треков, чтобы сохранить энергию аудитории. - + Some DJs construct playlists before they perform live, but others prefer to build them on-the-fly. Некоторые диджеи составляют списки воспроизведений перед выступлением, а некоторые предпочитают составлять их на лету. - + When using a playlist during a live DJ set, remember to always pay close attention to how your audience reacts to the music you've chosen to play. При проигрывании списка воспроизведения во время диджейского сета следите за реакцией публики на воспроизводимую музыку. - + Create New Playlist Создать новый список воспроизведения @@ -11860,7 +11912,7 @@ Hint: compensates "chipmunk" or "growling" voices Величина усиления, применяемая к аудиосигналу. На более высоких уровнях звук будет более искажённым. - + Passthrough Пересылка @@ -12024,12 +12076,12 @@ may introduce a 'pumping' effect and/or distortion. - + built-in - + missing @@ -12157,54 +12209,54 @@ may introduce a 'pumping' effect and/or distortion. RekordboxFeature - - - + + + Rekordbox Rekordbox - + Playlists Списки воспроизведения - + Folders Папки - + Reads databases exported for Pioneer CDJ / XDJ players using the Rekordbox Export mode.<br/>Rekordbox can only export to USB or SD devices with a FAT or HFS file system.<br/>Mixxx can read a database from any device that contains the database folders (<tt>PIONEER</tt> and <tt>Contents</tt>).<br/>Not supported are Rekordbox databases that have been moved to an external device via<br/><i>Preferences > Advanced > Database management</i>.<br/><br/>The following data is read: Читает базы данных, экспортированные для CDJ-/XDJ-проигрывателей Pioneer с помощью режима Rekordbox Export.<br/>Rekordbox может экспортировать только на USB- или SD-устройства с файловой системой FAT или HFS.<br/>Mixxx может читать базы данных с любого устройства, которое содержит папки базы данных (<tt>PIONEER</tt> и <tt>Contents</tt>).<br/>Не поддерживаются базы данных Rekordbox, которые были перемещены на внешнее устройство через<br/><i>Параметры > Дополнительно > Управление базой данных</i>.<br/><br/>Читаются следующие данные: - + Hot cues Горячие метки - + Loops (only the first loop is currently usable in Mixxx) Циклы (на данный момент в Mixxx доступен для использования только первый цикл) - + Check for attached Rekordbox USB / SD devices (refresh) Проверить наличие прикреплённых USB-/SD-устройств Rekordbox (обновить) - + Beatgrids Битовые сетки - + Memory cues Метки памяти - + (loading) Rekordbox (загрузка) Rekordbox @@ -15448,47 +15500,47 @@ This can not be undone! WCueMenuPopup - + Cue number Номер метки - + Cue position Позиция метки - + Edit cue label Изменить ярлык метки - + Label... Ярлык... - + Delete this cue Удалить эту метку - + Toggle this cue type between normal cue and saved loop - + Left-click: Use the old size or the current beatloop size as the loop size - + Right-click: Use the current play position as loop end if it is after the cue - + Hotcue #%1 Горячая метка #%1 @@ -15613,323 +15665,353 @@ This can not be undone! + Search in Current View... + + + + + Search for tracks in the current library view + + + + + Ctrl+f + + + + + Search in Tracks Library... + + + + + Search in the internal track collection under "Tracks" in the library + + + + + Ctrl+Shift+F + + + + Create &New Playlist Создать &новый список воспроизведения - + Create a new playlist Создать новый список воспроизведения - + Ctrl+n Ctrl+n - + Create New &Crate Создать новый &контейнер - + Create a new crate Создать новый контейнер - + Ctrl+Shift+N Ctrl+Shift+N - - + + &View &Вид - + Auto-hide menu bar - + Auto-hide the main menu bar when it's not used. - + May not be supported on all skins. Могут поддерживаться не все скины. - + Show Skin Settings Menu Показать меню параметров скина - + Show the Skin Settings Menu of the currently selected Skin Показать меню параметров текущего скина - + Ctrl+1 Menubar|View|Show Skin Settings Ctrl+1 - + Show Microphone Section Показать панель микрофона - + Show the microphone section of the Mixxx interface. Показать панель микрофона в интерфейсе Mixxx. - + Ctrl+2 Menubar|View|Show Microphone Section Ctrl+2 - + Show Vinyl Control Section Показать панель управления пластинками - + Show the vinyl control section of the Mixxx interface. Показать панель управления пластинками в интерфейсе Mixxx. - + Ctrl+3 Menubar|View|Show Vinyl Control Section Ctrl+3 - + Show Preview Deck Показать предварительный просмотр деки - + Show the preview deck in the Mixxx interface. Показать предпросмотр деки в интерфейсе Mixxx. - + Ctrl+4 Menubar|View|Show Preview Deck Ctrl+4 - + Show Cover Art Показать обложку - + Show cover art in the Mixxx interface. Показать обложку в интерфейсе Mixxx. - + Ctrl+6 Menubar|View|Show Cover Art Ctrl+6 - + Maximize Library Развернуть медиатеку - + Maximize the track library to take up all the available screen space. Развернуть медиатеку, заполнив всё доступное пространство экрана. - + Space Menubar|View|Maximize Library Пространство - + &Full Screen &Полный экран - + Display Mixxx using the full screen Открыть Mixxx в полноэкранном режиме - + &Options &Действия - + &Vinyl Control Управление &пластинками - + Use timecoded vinyls on external turntables to control Mixxx Использовать пластинки с временными метками на внешних проигрывателях для работы с Mixxx - + Enable Vinyl Control &%1 Включить управление пластинкой &%1 - + &Record Mix &Записать микс - + Record your mix to a file Записать микс в файл - + Ctrl+R Ctrl+R - + Enable Live &Broadcasting Включить прямую &трансляцию - + Stream your mixes to a shoutcast or icecast server Прямая трансляция миксов на сервер shoutcast или icecast - + Ctrl+L Ctrl+L - + Enable &Keyboard Shortcuts Включить &комбинации клавиш - + Toggles keyboard shortcuts on or off Переключает комбинации клавиш - + Ctrl+` Ctrl+` - + &Preferences &Параметры - + Change Mixxx settings (e.g. playback, MIDI, controls) Изменить параметры Mixxx (например, элементы управления воспроизведением, MIDI) - + &Developer &Разработчик - + &Reload Skin &Перезагрузить скин - + Reload the skin Перезагрузить скин - + Ctrl+Shift+R Ctrl+Shift+R - + Developer &Tools &Инструменты разработчика - + Opens the developer tools dialog Открывает диалог инструментов разработчика - + Ctrl+Shift+T Ctrl+Shift+T - + Stats: &Experiment Bucket Статистика: Сегмент &Experiment - + Enables experiment mode. Collects stats in the EXPERIMENT tracking bucket. Включает экспериментальный режим. Собирает статистику в сегменте отслеживания EXPERIMENT. - + Ctrl+Shift+E Ctrl+Shift+E - + Stats: &Base Bucket Статистика: &Базовый сегмент - + Enables base mode. Collects stats in the BASE tracking bucket. Включает базовый режим. Собирает статистику в сегменте отслеживания BASE. - + Ctrl+Shift+B Ctrl+Shift+B - + Deb&ugger Enabled От&ладчик включён - + Enables the debugger during skin parsing Включает отладчик при обработке скина - + Ctrl+Shift+D Ctrl+Shift+D - + &Help &Справка - + Show Keywheel menu title Колесо тональности @@ -15946,74 +16028,74 @@ This can not be undone! Экспорт медиатеки в формат Engine DJ - + Show keywheel tooltip text Показать колесо тональности - + F12 Menubar|View|Show Keywheel F12 - + &Community Support &Поддержка сообщества - + Get help with Mixxx Получить помощь с Mixxx - + &User Manual &Руководство пользователя - + Read the Mixxx user manual. Открыть руководство пользователя Mixxx. - + &Keyboard Shortcuts &Комбинации клавиш - + Speed up your workflow with keyboard shortcuts. Ускорьте свой рабочий процесс с помощью комбинаций клавиш. - + &Settings directory Каталог &параметров - + Open the Mixxx user settings directory. Открыть катало пользовательских параметров Mixxx. - + &Translate This Application &Перевести это приложение - + Help translate this application into your language. Помогите перевести это приложение на ваш язык. - + &About &О программе - + About the application О приложении @@ -16048,25 +16130,13 @@ This can not be undone! WSearchLineEdit - - Clear input - Clear the search bar input field - Очистить ввод - - - - Ctrl+F - Search|Focus - Ctrl+F - - - + Search noun Поиск - + Clear input Очистить ввод @@ -16077,93 +16147,87 @@ This can not be undone! Поиск... - + Clear the search bar input field Очистить поле ввода для поиска - - Enter a string to search for - Введите строку для поиска + + Return + - - Use operators like bpm:115-128, artist:BooFar, -year:1990 - Использовать операторы наподобие bpm:115-128, artist:BooFar, -year:1990 + + Enter a string to search for. + - - For more information see User Manual > Mixxx Library - Более подробная информация: Руководство пользователя > Медиатека Mixxx + + Use operators like bpm:115-128, artist:BooFar, -year:1990. + - Shortcut - Комбинация клавиш + See User Manual > Mixxx Library for more information. + - - Ctrl+F - Ctrl+F + + Focus/Select All (Search in current view) + Give search bar input focus + - - Focus - Give search bar input focus - Фокус + + Focus/Select All (Search in 'Tracks' library view) + - - - Ctrl+Backspace - Ctrl+Backspace + + Additional Shortcuts When Focused: + - Shortcuts - Комбинации клавиш + Trigger search before search-as-you-type timeout or focus tracks view afterwards + - Return + Esc or Ctrl+Return - Trigger search before search-as-you-type timeout orjump to tracks view afterwards - Инициировать поиск до истечения времени ожидания поиска по мере ввода или перейти к просмотру треков после него + Immediately trigger search and focus tracks view + Exit search bar and leave focus + - + Ctrl+Space Ctrl+Пробел - + Toggle search history Shows/hides the search history entries Включить/выключить историю поиска - + Delete or Backspace Delete или Backspace - - Delete query from history - Удалить запрос из истории - - - - Esc - ESC + + in search history + - - Exit search - Exit search bar and leave focus - Выйти из поиска + + Delete query from history + Удалить запрос из истории @@ -16919,37 +16983,37 @@ This can not be undone! WTrackTableView - + Confirm track hide Подтверждение скрытия трека - + Are you sure you want to hide the selected tracks? Скрыть выбранные треки? - + Are you sure you want to remove the selected tracks from AutoDJ queue? Удалить выбранные треки из очереди AutoDJ? - + Are you sure you want to remove the selected tracks from this crate? Удалить выбранные треки из этого контейнера? - + Are you sure you want to remove the selected tracks from this playlist? Удалить выбранные треки из этого списка воспроизведения? - + Don't ask again during this session Больше не спрашивать в этом сеансе - + Confirm track removal Подтверждение удаления трека @@ -16970,52 +17034,52 @@ This can not be undone! mixxx::CoreServices - + fonts шрифты - + database база данных - + effects эффекты - + audio interface аудио интерфейс - + decks деки - + library библиотека - + Choose music library directory Выберите каталог библиотеки музыки - + controllers контроллеры - + Cannot open database Не удалось открыть базу данных - + Unable to establish a database connection. Mixxx requires QT with SQLite support. Please read the Qt SQL driver documentation for information on how to build it. @@ -17029,68 +17093,78 @@ Mixxx требует QT с поддержкой SQLite. Пожалуйста, п mixxx::DlgLibraryExport - + Entire music library Вся медиатека - - Selected crates - Выбранные контейнеры + + Crates + + + + + Playlists + + + + + Selected crates/playlists + - + Browse Обзор - + Export directory Каталог для экспорта - + Database version Версия базы данных - + Export Экспортировать - + Cancel Отмена - + Export Library to Engine DJ "Engine DJ" must not be translated Экспортировать медиатеку в Engine DJ - + Export Library To Экспорт медиатеки в - + No Export Directory Chosen Каталог для экспорта не выбран - + No export directory was chosen. Please choose a directory in order to export the music library. Каталог экспорта не был выбран. Выберите каталог, чтобы экспортировать медиатеку. - + A database already exists in the chosen directory. Exported tracks will be added into this database. База данных уже существует в выбранном каталоге. Экспортированные треки будут добавлены в эту базу данных. - + A database already exists in the chosen directory, but there was a problem loading it. Export is not guaranteed to succeed in this situation. База данных уже существует в выбранном каталоге, но при её загрузке возникла проблема. Успех экспорта в этой ситуации не гарантирован. @@ -17111,7 +17185,7 @@ Mixxx требует QT с поддержкой SQLite. Пожалуйста, п mixxx::EnginePrimeExportJob - + Failed to export track %1 - %2: %3 %1 is the artist %2 is the title and %3 is the original error message @@ -17121,22 +17195,22 @@ Mixxx требует QT с поддержкой SQLite. Пожалуйста, п mixxx::LibraryExporter - + Export Completed Экспорт завершён - - Exported %1 track(s) and %2 crate(s). - Экспортировано треков: %1, контейнеров: %2. + + Exported %1 track(s), %2 crate(s), and %3 playlist(s). + - + Export Failed Ошибка экспорта - + Exporting to Engine DJ... Экспорт в Engine DJ... diff --git a/res/translations/mixxx_sl.qm b/res/translations/mixxx_sl.qm index eaa9dddfa5b2af8c922ef0d52fb52fefff35e963..4b08bf6b646d28a5122e6074ace0666623bd3773 100644 GIT binary patch delta 23770 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
  • rD(goUr7zlrrRmn9O^k@DqZ9G5BI|u6oT!Db=G| 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 - - : - - - - The size of the file which has been stored during the current recording in megabytes (MB) - - - - - AnalysisFeature - - - Analyze - Analyse - - - - AutoDJFeature - - - Crates - Caisses - - - - Remove Crate as Track Source - Remove Crate as Track Source - - - - Auto DJ - Auto DJ - - - - Add Crate as Track Source - Add Crate as Track Source - - - - BansheeFeature - - - - Banshee - Banshee - - - - - Error loading Banshee database - Erreur lors du chargement de la base de données de Banshee - - - - Banshee database file not found at - - La base de données banshee n'est pas trouvée à - - - - There was an error loading your Banshee database at - - Une erreur s'est produite lors du chargement de votre base de données Banshee à partir de - - - - - BaseExternalLibraryFeature - - - Add to Auto DJ Queue (bottom) - Ajouter à la file d'attente de l'auto-dj (en dernier) - - - - Add to Auto DJ Queue (top) - Ajouter à la file d'attente de l'auto-dj (en premier) - - - - Add to Auto DJ Queue (replace) - Add to Auto DJ Queue (replace) - - - - Import as Playlist - - - - - Import as Crate - Importer comme bac - - - - Crate Creation Failed - Crate Creation Failed - - - - Could not create crate, it most likely already exists: - Création de bac impossible, il existe probablement déjà : - - - - Playlist Creation Failed - La création de la liste de lecture a échoué - - - - An unknown error occurred while creating playlist: - Une erreur inconnue s'est produite lors de la création de la playlist: - - - - BasePlaylistFeature - - - New Playlist - Nouvelle playlist - - - - Add to Auto DJ Queue (bottom) - Ajouter à la file d'attente de l'auto-dj (en dernier) - - - - - Create New Playlist - Créer une nouvelle playlist - - - - Add to Auto DJ Queue (top) - Ajouter à la file d'attente de l'auto-dj (en premier) - - - - Remove - Supprimer - - - - Rename - Renommer - - - - Lock - Verrouiller - - - - Duplicate - Dupliquer - - - - - Import Playlist - Importer une liste de lecture - - - - Export Track Files - Exporter les fichiers des pistes - - - - Analyze entire Playlist - Analyser l'entièreté de la playlist - - - - Enter new name for playlist: - Entrer le nouveau nom de la liste de lecture : - - - - Duplicate Playlist - Dupliquer la liste de lecture - - - - - Enter name for new playlist: - Entrez un nom pour la nouvelle playlist - - - - - Export Playlist - Exporter la liste de lecture - - - - Add to Auto DJ Queue (replace) - Add to Auto DJ Queue (replace) - - - - Rename Playlist - Renommer la liste de lecture - - - - - Renaming Playlist Failed - Echec pour renommer la playlist - - - - - - A playlist by that name already exists. - Une liste de lecture du même nom exise déjà - - - - - - A playlist cannot have a blank name. - Une liste de lecture ne peut pas être sans nom. - - - - _copy - //: - Appendix to default name when duplicating a playlist - _copie - - - - - - - - - Playlist Creation Failed - La création de la liste de lecture a échoué - - - - - An unknown error occurred while creating playlist: - Une erreur inconnue s'est produite lors de la création de la playlist: - - - - Confirm Deletion - Confirmer la suppression - - - - Do you really want to delete playlist <b>%1</b>? - Voulez-vous vraiment supprimer la liste de lecture %1? - - - - M3U Playlist (*.m3u) - M3U Playlist (*.m3u) - - - - M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Text CSV (*.csv);;Readable Text (*.txt) - M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Texte CSV (*.csv);;Texte lisible (*.txt) - - - - BaseSqlTableModel - - - # - # - - - - Timestamp - Horodatage - - - - BaseTrackPlayerImpl - - - Couldn't load track. - Impossible de charger la piste. - - - - BaseTrackTableModel - - - Album - Album - - - - Album Artist - Artiste de l'album - - - - Artist - Artiste - - - - Bitrate - Débit - - - - BPM - BPM - - - - Channels - Channels - - - - Color - Color - - - - Comment - Commentaire - - - - Composer - Compositeur - - - - Cover Art - Couverture - - - - Date Added - Ajouté au : - - - - Last Played - Last Played - - - - Duration - Durée - - - - Type - Type - - - - Genre - Genre - - - - Grouping - Regroupement - - - - Key - Clé - - - - Location - Emplacement - - - - Preview - Aperçu - - - - Rating - Note - - - - ReplayGain - ReplayGain - - - - Samplerate - Samplerate - - - - Played - Joué - - - - Title - Titre - - - - Track # - Piste n° - - - - Year - Année - - - - Fetching image ... - Tooltip text on the cover art column shown when the cover is read from disk - - - - - BroadcastManager - - - Action failed - Échec de l'action - - - - Please enable at least one connection to use Live Broadcasting. - Veuillez activer au moins une connexion pour utiliser la diffusion en direct. - - - - BroadcastProfile - - - Can't use secure password storage: keychain access failed. - Impossible d'utiliser le stockage de mot de passe sécurisé: échec d'accès au trousseau. - - - - Secure password retrieval unsuccessful: keychain access failed. - La récupération de mot de passe sécurisé a échoué: échec d'accès au trousseau. - - - - Settings error - Erreur de paramétrage - - - - <b>Error with settings for '%1':</b><br> - <b>Erreur avec les paramètres de'%1':</b><br> - - - - BroadcastSettingsModel - - - Enabled - Activé - - - - Name - Nom - - - - Status - État - - - - Disconnected - Déconnecté - - - - Connecting... - Connction... - - - - Connected - Connecté - - - - Failed - Echec - - - - Unknown - Inconnu(e) - - - - BrowseFeature - - - Add to Quick Links - Ajouter aux Raccourcis Rapides - - - - Remove from Quick Links - Enlever des liens rapides - - - - Add to Library - Ajouter à la bibliothèque - - - - Quick Links - Quick Links - - - - - Devices - Devices - - - - Removable Devices - Removable Devices - - - - - Computer - Computer - - - - Music Directory Added - Music Directory Added - - - - You added one or more music directories. The tracks in these directories won't be available until you rescan your library. Would you like to rescan now? - You added one or more music directories. The tracks in these directories won't be available until you rescan your library. Would you like to rescan now? - - - - Scan - Scan - - - - "Computer" lets you navigate, view, and load tracks from folders on your hard disk and external devices. - "Computer" lets you navigate, view, and load tracks from folders on your hard disk and external devices. - - - - BrowseTableModel - - - Preview - Aperçu - - - - Filename - Filename - - - - Artist - Artiste - - - - Title - Titre - - - - Album - Album - - - - Track # - Piste n° - - - - Year - Année - - - - Genre - Genre - - - - Composer - Compositeur - - - - Comment - Commentaire - - - - Duration - Durée - - - - BPM - BPM - - - - Key - Clé - - - - Type - Type - - - - Bitrate - Débit - - - - ReplayGain - ReplayGain - - - - Location - Emplacement - - - - Album Artist - Artiste de l'album - - - - Grouping - Regroupement - - - - File Modified - File Modified - - - - File Created - File Created - - - - Mixxx Library - Mixxx Library - - - - Could not load the following file because it is in use by Mixxx or another application. - Could not load the following file because it is in use by Mixxx or another application. - - - - BulkController - - - USB Controller - USB Controller - - - - CachingReaderWorker - - - The file '%1' could not be found. - The file '%1' could not be found. - - - - The file '%1' could not be loaded. - The file '%1' could not be loaded. - - - - The file '%1' is empty and could not be loaded. - The file '%1' is empty and could not be loaded. - - - - CmdlineArgs - - - Mixxx is an open source DJ software. For more information, see: - Mixxx is an open source DJ software. For more information, see: - - - - Starts Mixxx in full-screen mode - Starts Mixxx in full-screen mode - - - - Use a custom locale for loading translations. (e.g 'fr') - Use a custom locale for loading translations. (e.g 'fr') - - - - Top-level directory where Mixxx should look for its resource files such as MIDI mappings, overriding the default installation location. - Top-level directory where Mixxx should look for its resource files such as MIDI mappings, overriding the default installation location. - - - - Path the debug statistics time line is written to - Path the debug statistics time line is written to - - - - Causes Mixxx to display/log all of the controller data it receives and script functions it loads - Causes Mixxx to display/log all of the controller data it receives and script functions it loads - - - - The controller mapping will issue more aggressive warnings and errors when detecting misuse of controller APIs. New Controller Mappings should be developed with this option enabled! - Le mappage du contrôleur émettra des avertissements et des erreurs plus agressifs lors de la détection d'une utilisation abusive des API du contrôleur. Les nouveaux mappages de contrôleur devraient être développés avec cette option activée ! - - - - Enables developer-mode. Includes extra log info, stats on performance, and a Developer tools menu. - Enables developer-mode. Includes extra log info, stats on performance, and a Developer tools menu. - - - - Top-level directory where Mixxx should look for settings. Default is: - Répertoire racine où Mixxx doit chercher les paramètres. -La valeur par défaut est: - - - - Use legacy vu meter - Utiliser le vu-mètre historique - - - - Use legacy spinny - - - - - Loads experimental QML GUI instead of legacy QWidget skin - Loads experimental QML GUI instead of legacy QWidget skin - - - - Enables safe-mode. Disables OpenGL waveforms, and spinning vinyl widgets. Try this option if Mixxx is crashing on startup. - Enables safe-mode. Disables OpenGL waveforms, and spinning vinyl widgets. Try this option if Mixxx is crashing on startup. - - - - [auto|always|never] Use colors on the console output. - [auto|always|never] Use colors on the console output. - - - - Sets the verbosity of command line logging. -critical - Critical/Fatal only -warning - Above + Warnings -info - Above + Informational messages -debug - Above + Debug/Developer messages -trace - Above + Profiling messages - Sets the verbosity of command line logging. -critical - Critical/Fatal only -warning - Above + Warnings -info - Above + Informational messages -debug - Above + Debug/Developer messages -trace - Above + Profiling messages - - - - Sets the the logging level at which the log buffer is flushed to mixxx.log. <level> is one of the values defined at --log-level above. - Sets the the logging level at which the log buffer is flushed to mixxx.log. <level> is one of the values defined at --log-level above. - - - - Breaks (SIGINT) Mixxx, if a DEBUG_ASSERT evaluates to false. Under a debugger you can continue afterwards. - Breaks (SIGINT) Mixxx, if a DEBUG_ASSERT evaluates to false. Under a debugger you can continue afterwards. - - - - Load the specified music file(s) at start-up. Each file you specify will be loaded into the next virtual deck. - Load the specified music file(s) at start-up. Each file you specify will be loaded into the next virtual deck. - - - - ColorPaletteEditor - - - Remove Color - Remove Color - - - - Add Color - Add Color - - - - Name - Nom - - - - - Remove Palette - Remove Palette - - - - Color - Color - - - - Assign to Hotcue Number - Assign to Hotcue Number - - - - Edited - Edited - - - - Do you really want to remove the palette permanently? - Do you really want to remove the palette permanently? - - - - ControlDelegate - - - No control chosen. - No control chosen. - - - - ControlModel - - - Group - Group - - - - Item - Item - - - - Value - Value - - - - Parameter - Parameter - - - - Title - Titre - - - - Description - Description - - - - ControlPickerMenu - - - Headphone Output - Headphone Output - - - - - - Deck %1 - Deck %1 - - - - Sampler %1 - Sampler %1 - - - - Preview Deck %1 - Preview Deck %1 - - - - Microphone %1 - Microphone %1 - - - - Auxiliary %1 - Auxiliary %1 - - - - Reset to default - Reset to default - - - - Effect Rack %1 - Effect Rack %1 - - - - Parameter %1 - Parameter %1 - - - - Mixer - Mixer - - - - - Crossfader - Crossfader - - - - Headphone mix (pre/main) - Headphone mix (pre/main) - - - - Toggle headphone split cueing - Toggle headphone split cueing - - - - Headphone delay - Headphone delay - - - - Transport - Transport - - - - Strip-search through track - Strip-search through track - - - - Play button - Play button - - - - - Set to full volume - Set to full volume - - - - - Set to zero volume - Set to zero volume - - - - Stop button - Stop button - - - - Jump to start of track and play - Jump to start of track and play - - - - Jump to end of track - Jump to end of track - - - - Reverse roll (Censor) button - Reverse roll (Censor) button - - - - Headphone listen button - Headphone listen button - - - - - Mute button - Mute button - - - - Toggle repeat mode - Toggle repeat mode - - - - - Mix orientation (e.g. left, right, center) - Mix orientation (e.g. left, right, center) - - - - - Set mix orientation to left - Set mix orientation to left - - - - - Set mix orientation to center - Set mix orientation to center - - - - - Set mix orientation to right - Set mix orientation to right - - - - Toggle slip mode - Toggle slip mode - - - - BPM - BPM - - - - Increase BPM by 1 - Increase BPM by 1 - - - - Decrease BPM by 1 - Decrease BPM by 1 - - - - Increase BPM by 0.1 - Increase BPM by 0.1 - - - - Decrease BPM by 0.1 - Decrease BPM by 0.1 - - - - BPM tap button - BPM tap button - - - - Toggle quantize mode - Toggle quantize mode - - - - One-time beat sync (tempo only) - One-time beat sync (tempo only) - - - - One-time beat sync (phase only) - One-time beat sync (phase only) - - - - Toggle keylock mode - Toggle keylock mode - - - - Equalizers - Equalizers - - - - Vinyl Control - Vinyl Control - - - - Toggle vinyl-control cueing mode (OFF/ONE/HOT) - Toggle vinyl-control cueing mode (OFF/ONE/HOT) - - - - Toggle vinyl-control mode (ABS/REL/CONST) - Toggle vinyl-control mode (ABS/REL/CONST) - - - - Pass through external audio into the internal mixer - Pass through external audio into the internal mixer - - - - Cues - Cues - - - - Cue button - Cue button - - - - Set cue point - Set cue point - - - - Go to cue point - Go to cue point - - - - Go to cue point and play - Go to cue point and play - - - - Go to cue point and stop - Go to cue point and stop - - - - Preview from cue point - Preview from cue point - - - - Cue button (CDJ mode) - Cue button (CDJ mode) - - - - Stutter cue - Stutter cue - - - - Hotcues - Points de repère - - - - Set, preview from or jump to hotcue %1 - Set, preview from or jump to hotcue %1 - - - - Clear hotcue %1 - Clear hotcue %1 - - - - Set hotcue %1 - Set hotcue %1 - - - - Jump to hotcue %1 - Jump to hotcue %1 - - - - Jump to hotcue %1 and stop - Jump to hotcue %1 and stop - - - - Jump to hotcue %1 and play - Jump to hotcue %1 and play - - - - Preview from hotcue %1 - Preview from hotcue %1 - - - - - Hotcue %1 - Hotcue %1 - - - - Looping - Looping - - - - Loop In button - Loop In button - - - - Loop Out button - Loop Out button - - - - Loop Exit button - Loop Exit button - - - - 1/2 - 1/2 - - - - 1 - 1 - - - - 2 - 2 - - - - 4 - 4 - - - - 8 - 8 - - - - 16 - 16 - - - - 32 - 32 - - - - 64 - 64 - - - - Move loop forward by %1 beats - Move loop forward by %1 beats - - - - Move loop backward by %1 beats - Move loop backward by %1 beats - - - - Create %1-beat loop - Create %1-beat loop - - - - Create temporary %1-beat loop roll - Create temporary %1-beat loop roll - - - - Library - Library - - - - Slot %1 - Slot %1 - - - - Headphone Mix - Headphone Mix - - - - Headphone Split Cue - Headphone Split Cue - - - - Headphone Delay - Headphone Delay - - - - Play - Play - - - - Fast Rewind - Fast Rewind - - - - Fast Rewind button - Fast Rewind button - - - - Fast Forward - Fast Forward - - - - Fast Forward button - Fast Forward button - - - - Strip Search - Strip Search - - - - Play Reverse - Play Reverse - - - - Play Reverse button - Play Reverse button - - - - Reverse Roll (Censor) - Reverse Roll (Censor) - - - - Jump To Start - Jump To Start - - - - Jumps to start of track - Jumps to start of track - - - - Play From Start - Play From Start - - - - Stop - Stop - - - - Stop And Jump To Start - Stop And Jump To Start - - - - Stop playback and jump to start of track - Stop playback and jump to start of track - - - - Jump To End - Jump To End - - - - Volume - Volume - - - - - - Volume Fader - Volume Fader - - - - - Full Volume - Full Volume - - - - - Zero Volume - Zero Volume - - - - Track Gain - Track Gain - - - - Track Gain knob - Track Gain knob - - - - - Mute - Mute - - - - Eject - Eject - - - - - Headphone Listen - Headphone Listen - - - - Headphone listen (pfl) button - Headphone listen (pfl) button - - - - Repeat Mode - Repeat Mode - - - - Slip Mode - Slip Mode - - - - - Orientation - Orientation - - - - - Orient Left - Orient Left - - - - - Orient Center - Orient Center - - - - - Orient Right - Orient Right - - - - BPM +1 - BPM +1 - - - - BPM -1 - BPM -1 - - - - BPM +0.1 - BPM +0.1 - - - - BPM -0.1 - BPM -0.1 - - - - BPM Tap - BPM Tap - - - - Adjust Beatgrid Faster +.01 - Adjust Beatgrid Faster +.01 - - - - Increase track's average BPM by 0.01 - Increase track's average BPM by 0.01 - - - - Adjust Beatgrid Slower -.01 - Adjust Beatgrid Slower -.01 - - - - Decrease track's average BPM by 0.01 - Decrease track's average BPM by 0.01 - - - - Move Beatgrid Earlier - Move Beatgrid Earlier - - - - Adjust the beatgrid to the left - Adjust the beatgrid to the left - - - - Move Beatgrid Later - Move Beatgrid Later - - - - Adjust the beatgrid to the right - Adjust the beatgrid to the right - - - - Adjust Beatgrid - Adjust Beatgrid - - - - Align beatgrid to current position - Align beatgrid to current position - - - - Adjust Beatgrid - Match Alignment - Adjust Beatgrid - Match Alignment - - - - Adjust beatgrid to match another playing deck. - Adjust beatgrid to match another playing deck. - - - - Quantize Mode - Quantize Mode - - - - Sync - Sync - - - - Beat Sync One-Shot - Beat Sync One-Shot - - - - Sync Tempo One-Shot - Sync Tempo One-Shot - - - - Sync Phase One-Shot - Sync Phase One-Shot - - - - Pitch control (does not affect tempo), center is original pitch - Pitch control (does not affect tempo), center is original pitch - - - - Pitch Adjust - Pitch Adjust - - - - Adjust pitch from speed slider pitch - Adjust pitch from speed slider pitch - - - - Match musical key - Match musical key - - - - Match Key - Match Key - - - - Reset Key - Reset Key - - - - Resets key to original - Resets key to original - - - - High EQ - High EQ - - - - Mid EQ - Mid EQ - - - - - Main Output - Main Output - - - - Main Output Balance - Main Output Balance - - - - Main Output Delay - Main Output Delay - - - - Main Output Gain - Main Output Gain - - - - Low EQ - Low EQ - - - - Toggle Vinyl Control - Toggle Vinyl Control - - - - Toggle Vinyl Control (ON/OFF) - Toggle Vinyl Control (ON/OFF) - - - - Vinyl Control Mode - Vinyl Control Mode - - - - Vinyl Control Cueing Mode - Vinyl Control Cueing Mode - - - - Vinyl Control Passthrough - Vinyl Control Passthrough - - - - Vinyl Control Next Deck - Vinyl Control Next Deck - - - - Single deck mode - Switch vinyl control to next deck - Single deck mode - Switch vinyl control to next deck - - - - Cue - Cue - - - - Set Cue - Set Cue - - - - Go-To Cue - Go-To Cue - - - - Go-To Cue And Play - Go-To Cue And Play - - - - Go-To Cue And Stop - Go-To Cue And Stop - - - - Preview Cue - Preview Cue - - - - Cue (CDJ Mode) - Cue (CDJ Mode) - - - - Stutter Cue - Stutter Cue - - - - Go to cue point and play after release - Go to cue point and play after release - - - - Clear Hotcue %1 - Clear Hotcue %1 - - - - Set Hotcue %1 - Set Hotcue %1 - - - - Jump To Hotcue %1 - Jump To Hotcue %1 - - - - Jump To Hotcue %1 And Stop - Jump To Hotcue %1 And Stop - - - - Jump To Hotcue %1 And Play - Jump To Hotcue %1 And Play - - - - Preview Hotcue %1 - Preview Hotcue %1 - - - - Loop In - Loop In - - - - Loop Out - Loop Out - - - - Loop Exit - Loop Exit - - - - Reloop/Exit Loop - Reloop/Exit Loop - - - - Loop Halve - Loop Halve - - - - Loop Double - Loop Double - - - - 1/32 - 1/32 - - - - 1/16 - 1/16 - - - - 1/8 - 1/8 - - - - 1/4 - 1/4 - - - - Move Loop +%1 Beats - Move Loop +%1 Beats - - - - Move Loop -%1 Beats - Move Loop -%1 Beats - - - - Loop %1 Beats - Loop %1 Beats - - - - Loop Roll %1 Beats - Loop Roll %1 Beats - - - - Add to Auto DJ Queue (bottom) - Ajouter à la file d'attente de l'auto-dj (en dernier) - - - - Append the selected track to the Auto DJ Queue - Append the selected track to the Auto DJ Queue - - - - Add to Auto DJ Queue (top) - Ajouter à la file d'attente de l'auto-dj (en premier) - - - - Prepend selected track to the Auto DJ Queue - Prepend selected track to the Auto DJ Queue - - - - Load Track - Load Track - - - - Load selected track - Load selected track - - - - Load selected track and play - Load selected track and play - - - - - Record Mix - Record Mix - - - - Toggle mix recording - Toggle mix recording - - - - Effects - Effets - - - - Quick Effects - Quick Effects - - - - Deck %1 Quick Effect Super Knob - Deck %1 Quick Effect Super Knob - - - - Quick Effect Super Knob (control linked effect parameters) - Quick Effect Super Knob (control linked effect parameters) - - - - - Quick Effect - Quick Effect - - - - Clear Unit - Clear Unit - - - - Clear effect unit - Clear effect unit - - - - Toggle Unit - Toggle Unit - - - - Dry/Wet - Dry/Wet - - - - Adjust the balance between the original (dry) and processed (wet) signal. - Adjust the balance between the original (dry) and processed (wet) signal. - - - - Super Knob - Super Knob - - - - Next Chain - Next Chain - - - - Assign - Assign - - - - Clear - Clear - - - - Clear the current effect - Clear the current effect - - - - Toggle - Toggle - - - - Toggle the current effect - Toggle the current effect - - - - Next - Next - - - - Switch to next effect - Switch to next effect - - - - Previous - Previous - - - - Switch to the previous effect - Switch to the previous effect - - - - Next or Previous - Next or Previous - - - - Switch to either next or previous effect - Switch to either next or previous effect - - - - - Parameter Value - Parameter Value - - - - - Microphone Ducking Strength - Microphone Ducking Strength - - - - Microphone Ducking Mode - Microphone Ducking Mode - - - - Gain - Gain - - - - Gain knob - Gain knob - - - - Shuffle the content of the Auto DJ queue - Shuffle the content of the Auto DJ queue - - - - Skip the next track in the Auto DJ queue - Skip the next track in the Auto DJ queue - - - - Auto DJ Toggle - Auto DJ Toggle - - - - Toggle Auto DJ On/Off - Toggle Auto DJ On/Off - - - - Microphone & Auxiliary Show/Hide - Microphone & Auxiliary Show/Hide - - - - Show/hide the microphone & auxiliary section - Show/hide the microphone & auxiliary section - - - - 4 Effect Units Show/Hide - 4 Effect Units Show/Hide - - - - Switches between showing 2 and 4 effect units - Switches between showing 2 and 4 effect units - - - - Mixer Show/Hide - Mixer Show/Hide - - - - Show or hide the mixer. - Show or hide the mixer. - - - - Cover Art Show/Hide (Library) - Cover Art Show/Hide (Library) - - - - Show/hide cover art in the library - Show/hide cover art in the library - - - - Library Maximize/Restore - Library Maximize/Restore - - - - Maximize the track library to take up all the available screen space. - Maximize the track library to take up all the available screen space. - - - - Effect Rack Show/Hide - Effect Rack Show/Hide - - - - Show/hide the effect rack - Show/hide the effect rack - - - - Waveform Zoom Out - Waveform Zoom Out - - - - Headphone Gain - Headphone Gain - - - - Headphone gain - Headphone gain - - - - Tap to sync tempo (and phase with quantize enabled), hold to enable permanent sync - Tap to sync tempo (and phase with quantize enabled), hold to enable permanent sync - - - - One-time beat sync tempo (and phase with quantize enabled) - One-time beat sync tempo (and phase with quantize enabled) - - - - Playback Speed - Playback Speed - - - - Playback speed control (Vinyl "Pitch" slider) - Playback speed control (Vinyl "Pitch" slider) - - - - Pitch (Musical key) - Pitch (Musical key) - - - - Increase Speed - Increase Speed - - - - Adjust speed faster (coarse) - Adjust speed faster (coarse) - - - - Increase Speed (Fine) - Increase Speed (Fine) - - - - Adjust speed faster (fine) - Adjust speed faster (fine) - - - - Decrease Speed - Decrease Speed - - - - Adjust speed slower (coarse) - Adjust speed slower (coarse) - - - - Adjust speed slower (fine) - Adjust speed slower (fine) - - - - Temporarily Increase Speed - Temporarily Increase Speed - - - - Temporarily increase speed (coarse) - Temporarily increase speed (coarse) - - - - Temporarily Increase Speed (Fine) - Temporarily Increase Speed (Fine) - - - - Temporarily increase speed (fine) - Temporarily increase speed (fine) - - - - Temporarily Decrease Speed - Temporarily Decrease Speed - - - - Temporarily decrease speed (coarse) - Temporarily decrease speed (coarse) - - - - Temporarily Decrease Speed (Fine) - Temporarily Decrease Speed (Fine) - - - - Temporarily decrease speed (fine) - Temporarily decrease speed (fine) - - - - - Adjust %1 - Adjust %1 - - - - Effect Unit %1 - Effect Unit %1 - - - - Button Parameter %1 - Button Parameter %1 - - - - Skin - Skin - - - - Controller - Contrôleur - - - - Crossfader / Orientation - Crossfader / Orientation - - - - Main Output gain - Main Output gain - - - - Main Output balance - Main Output balance - - - - Main Output delay - Main Output delay - - - - Headphone - Headphone - - - - - Kill %1 - Kill %1 - - - - Eject or un-eject track, i.e. reload the last-ejected track (of any deck)<br>Double-press to reload the last replaced track. In empty decks it reloads the second-last ejected track. - - - - - BPM / Beatgrid - BPM / Beatgrid - - - - Move Beatgrid - - - - - Adjust the beatgrid to the left or right - - - - - Sync / Sync Lock - Sync / Sync Lock - - - - Internal Sync Leader - Internal Sync Leader - - - - Toggle Internal Sync Leader - Toggle Internal Sync Leader - - - - - Internal Leader BPM - Internal Leader BPM - - - - Internal Leader BPM +1 - Internal Leader BPM +1 - - - - Increase internal Leader BPM by 1 - Increase internal Leader BPM by 1 - - - - Internal Leader BPM -1 - Internal Leader BPM -1 - - - - Decrease internal Leader BPM by 1 - Decrease internal Leader BPM by 1 - - - - Internal Leader BPM +0.1 - Internal Leader BPM +0.1 - - - - Increase internal Leader BPM by 0.1 - Increase internal Leader BPM by 0.1 - - - - Internal Leader BPM -0.1 - Internal Leader BPM -0.1 - - - - Decrease internal Leader BPM by 0.1 - Decrease internal Leader BPM by 0.1 - - - - Sync Leader - Sync Leader - - - - Sync mode 3-state toggle / indicator (Off, Soft Leader, Explicit Leader) - Sync mode 3-state toggle / indicator (Off, Soft Leader, Explicit Leader) - - - - Speed - Speed - - - - Decrease Speed (Fine) - Diminuer la vitesse (Fin) - - - - Pitch (Musical Key) - Pitch (Musical Key) - - - - Increase Pitch - Increase Pitch - - - - Increases the pitch by one semitone - Increases the pitch by one semitone - - - - Increase Pitch (Fine) - Increase Pitch (Fine) - - - - Increases the pitch by 10 cents - Increases the pitch by 10 cents - - - - Decrease Pitch - Decrease Pitch - - - - Decreases the pitch by one semitone - Decreases the pitch by one semitone - - - - Decrease Pitch (Fine) - Decrease Pitch (Fine) - - - - Decreases the pitch by 10 cents - Decreases the pitch by 10 cents - - - - Keylock - Keylock - - - - CUP (Cue + Play) - CUP (Cue + Play) - - - - Shift cue points earlier - Shift cue points earlier - - - - Shift cue points 10 milliseconds earlier - Shift cue points 10 milliseconds earlier - - - - Shift cue points earlier (fine) - Shift cue points earlier (fine) - - - - Shift cue points 1 millisecond earlier - Shift cue points 1 millisecond earlier - - - - Shift cue points later - Shift cue points later - - - - Shift cue points 10 milliseconds later - Shift cue points 10 milliseconds later - - - - Shift cue points later (fine) - Shift cue points later (fine) - - - - Shift cue points 1 millisecond later - Shift cue points 1 millisecond later - - - - Hotcues %1-%2 - Hotcues %1-%2 - - - - Intro / Outro Markers - Intro / Outro Markers - - - - Intro Start Marker - Intro Start Marker - - - - Intro End Marker - Intro End Marker - - - - Outro Start Marker - Outro Start Marker - - - - Outro End Marker - Outro End Marker - - - - intro start marker - intro start marker - - - - intro end marker - intro end marker - - - - outro start marker - outro start marker - - - - outro end marker - outro end marker - - - - Activate %1 - [intro/outro marker - Activate %1 - - - - Jump to or set the %1 - [intro/outro marker - Jump to or set the %1 - - - - Set %1 - [intro/outro marker - Set %1 - - - - Set or jump to the %1 - [intro/outro marker - Set or jump to the %1 - - - - Clear %1 - [intro/outro marker - Clear %1 - - - - Clear the %1 - [intro/outro marker - Clear the %1 - - - - Loop Selected Beats - Loop Selected Beats - - - - Create a beat loop of selected beat size - Create a beat loop of selected beat size - - - - Loop Roll Selected Beats - Loop Roll Selected Beats - - - - Create a rolling beat loop of selected beat size - Create a rolling beat loop of selected beat size - - - - Loop Beats - Loop Beats - - - - Loop Roll Beats - Loop Roll Beats - - - - Go To Loop In - Aller à l'Entrée de Boucle - - - - Go to Loop In button - Aller au bouton Entrée de Boucle - - - - Go To Loop Out - Aller à la Fin de Boucle - - - - Go to Loop Out button - Aller au bouton Fin de Boucle - - - - Toggle loop on/off and jump to Loop In point if loop is behind play position - Toggle loop on/off and jump to Loop In point if loop is behind play position - - - - Reloop And Stop - Reloop And Stop - - - - Enable loop, jump to Loop In point, and stop - Enable loop, jump to Loop In point, and stop - - - - Halve the loop length - Halve the loop length - - - - Double the loop length - Double the loop length - - - - Beat Jump / Loop Move - Beat Jump / Loop Move - - - - Jump / Move Loop Forward %1 Beats - Jump / Move Loop Forward %1 Beats - - - - Jump / Move Loop Backward %1 Beats - Jump / Move Loop Backward %1 Beats - - - - Jump forward by %1 beats, or if a loop is enabled, move the loop forward %1 beats - Jump forward by %1 beats, or if a loop is enabled, move the loop forward %1 beats - - - - Jump backward by %1 beats, or if a loop is enabled, move the loop backward %1 beats - Jump backward by %1 beats, or if a loop is enabled, move the loop backward %1 beats - - - - Beat Jump / Loop Move Forward Selected Beats - Beat Jump / Loop Move Forward Selected Beats - - - - Jump forward by the selected number of beats, or if a loop is enabled, move the loop forward by the selected number of beats - Jump forward by the selected number of beats, or if a loop is enabled, move the loop forward by the selected number of beats - - - - Beat Jump / Loop Move Backward Selected Beats - Beat Jump / Loop Move Backward Selected Beats - - - - Jump backward by the selected number of beats, or if a loop is enabled, move the loop backward by the selected number of beats - Jump backward by the selected number of beats, or if a loop is enabled, move the loop backward by the selected number of beats - - - - Beat Jump / Loop Move Forward - Beat Jump / Loop Move Forward - - - - Beat Jump / Loop Move Backward - Beat Jump / Loop Move Backward - - - - Loop Move Forward - Loop Move Forward - - - - Loop Move Backward - Loop Move Backward - - - - Remove Temporary Loop - - - - - Remove the temporary loop - - - - - Navigation - Navigation - - - - Move up - Move up - - - - Equivalent to pressing the UP key on the keyboard - Equivalent to pressing the UP key on the keyboard - - - - Move down - Move down - - - - Equivalent to pressing the DOWN key on the keyboard - Equivalent to pressing the DOWN key on the keyboard - - - - Move up/down - Move up/down - - - - Move vertically in either direction using a knob, as if pressing UP/DOWN keys - Move vertically in either direction using a knob, as if pressing UP/DOWN keys - - - - Scroll Up - Scroll Up - - - - Equivalent to pressing the PAGE UP key on the keyboard - Equivalent to pressing the PAGE UP key on the keyboard - - - - Scroll Down - Scroll Down - - - - Equivalent to pressing the PAGE DOWN key on the keyboard - Equivalent to pressing the PAGE DOWN key on the keyboard - - - - Scroll up/down - Scroll up/down - - - - Scroll vertically in either direction using a knob, as if pressing PGUP/PGDOWN keys - Scroll vertically in either direction using a knob, as if pressing PGUP/PGDOWN keys - - - - Move left - Move left - - - - Equivalent to pressing the LEFT key on the keyboard - Equivalent to pressing the LEFT key on the keyboard - - - - Move right - Move right - - - - Equivalent to pressing the RIGHT key on the keyboard - Equivalent to pressing the RIGHT key on the keyboard - - - - Move left/right - Move left/right - - - - Move horizontally in either direction using a knob, as if pressing LEFT/RIGHT keys - Move horizontally in either direction using a knob, as if pressing LEFT/RIGHT keys - - - - Move focus to right pane - Move focus to right pane - - - - Equivalent to pressing the TAB key on the keyboard - Equivalent to pressing the TAB key on the keyboard - - - - Move focus to left pane - Move focus to left pane - - - - Equivalent to pressing the SHIFT+TAB key on the keyboard - Equivalent to pressing the SHIFT+TAB key on the keyboard - - - - Move focus to right/left pane - Move focus to right/left pane - - - - Move focus one pane to right or left using a knob, as if pressing TAB/SHIFT+TAB keys - Move focus one pane to right or left using a knob, as if pressing TAB/SHIFT+TAB keys - - - - Sort focused column - Trier la colonne sélectionnée - - - - Sort the column of the cell that is currently focused, equivalent to clicking on its header - Trier la colonne contenant la cellule sélectionnée, équivaut à cliquer sur l'en-tête - - - - Go to the currently selected item - Go to the currently selected item - - - - Choose the currently selected item and advance forward one pane if appropriate - Choose the currently selected item and advance forward one pane if appropriate - - - - Load Track and Play - Load Track and Play - - - - Add to Auto DJ Queue (replace) - Add to Auto DJ Queue (replace) - - - - Replace Auto DJ Queue with selected tracks - Replace Auto DJ Queue with selected tracks - - - - Select next search history - Select next search history - - - - Selects the next search history entry - Selects the next search history entry - - - - Select previous search history - Select previous search history - - - - Selects the previous search history entry - Selects the previous search history entry - - - - Move selected search entry - Move selected search entry - - - - Moves the selected search history item into given direction and steps - Moves the selected search history item into given direction and steps - - - - Clear search - Clear search - - - - Clears the search query - Clears the search query - - - - Deck %1 Quick Effect Enable Button - Deck %1 Quick Effect Enable Button - - - - Quick Effect Enable Button - Quick Effect Enable Button - - - - Enable or disable effect processing - Enable or disable effect processing - - - - Super Knob (control effects' Meta Knobs) - Super Knob (control effects' Meta Knobs) - - - - Mix Mode Toggle - Mix Mode Toggle - - - - Toggle effect unit between D/W and D+W modes - Toggle effect unit between D/W and D+W modes - - - - Next chain preset - Next chain preset - - - - Previous Chain - Previous Chain - - - - Previous chain preset - Previous chain preset - - - - Next/Previous Chain - Next/Previous Chain - - - - Next or previous chain preset - Next or previous chain preset - - - - - Show Effect Parameters - Show Effect Parameters - - - - Effect Unit Assignment - Effect Unit Assignment - - - - Meta Knob - Meta Knob - - - - Effect Meta Knob (control linked effect parameters) - Effect Meta Knob (control linked effect parameters) - - - - Meta Knob Mode - Meta Knob Mode - - - - Set how linked effect parameters change when turning the Meta Knob. - Set how linked effect parameters change when turning the Meta Knob. - - - - Meta Knob Mode Invert - Meta Knob Mode Invert - - - - Invert how linked effect parameters change when turning the Meta Knob. - Invert how linked effect parameters change when turning the Meta Knob. - - - - - Button Parameter Value - Button Parameter Value - - - - Microphone / Auxiliary - Microphone / Auxiliary - - - - Microphone On/Off - Microphone On/Off - - - - Microphone on/off - Microphone on/off - - - - Toggle microphone ducking mode (OFF, AUTO, MANUAL) - Toggle microphone ducking mode (OFF, AUTO, MANUAL) - - - - Auxiliary On/Off - Auxiliary On/Off - - - - Auxiliary on/off - Auxiliary on/off - - - - Auto DJ - Auto DJ - - - - Auto DJ Shuffle - Auto DJ Shuffle - - - - Auto DJ Skip Next - Auto DJ Skip Next - - - - Auto DJ Add Random Track - Auto DJ Add Random Track - - - - Add a random track to the Auto DJ queue - Add a random track to the Auto DJ queue - - - - Auto DJ Fade To Next - Auto DJ Fade To Next - - - - Trigger the transition to the next track - Trigger the transition to the next track - - - - User Interface - User Interface - - - - Samplers Show/Hide - Samplers Show/Hide - - - - Show/hide the sampler section - Show/hide the sampler section - - - - Waveform Zoom Reset To Default - - - - - Reset the waveform zoom level to the default value selected in Preferences -> Waveforms - - - - - Start/Stop Live Broadcasting - Start/Stop Live Broadcasting - - - - Stream your mix over the Internet. - Stream your mix over the Internet. - - - - Start/stop recording your mix. - Start/stop recording your mix. - - - - - Samplers - Samplers - - - - Vinyl Control Show/Hide - Vinyl Control Show/Hide - - - - Show/hide the vinyl control section - Show/hide the vinyl control section - - - - Preview Deck Show/Hide - Preview Deck Show/Hide - - - - Show/hide the preview deck - Show/hide the preview deck - - - - Toggle 4 Decks - Toggle 4 Decks - - - - Switches between showing 2 decks and 4 decks. - Switches between showing 2 decks and 4 decks. - - - - Cover Art Show/Hide (Decks) - Cover Art Show/Hide (Decks) - - - - Show/hide cover art in the main decks - Show/hide cover art in the main decks - - - - Vinyl Spinner Show/Hide - Vinyl Spinner Show/Hide - - - - Show/hide spinning vinyl widget - Show/hide spinning vinyl widget - - - - Vinyl Spinners Show/Hide (All Decks) - Vinyl Spinners Show/Hide (All Decks) - - - - Show/Hide all spinnies - Show/Hide all spinnies - - - - Toggle Waveforms - Toggle Waveforms - - - - Show/hide the scrolling waveforms. - Show/hide the scrolling waveforms. - - - - Waveform zoom - Waveform zoom - - - - Waveform Zoom - Waveform Zoom - - - - Zoom waveform in - Zoom waveform in - - - - Waveform Zoom In - Waveform Zoom In - - - - Zoom waveform out - Zoom waveform out - - - - Star Rating Up - Star Rating Up - - - - Increase the track rating by one star - Increase the track rating by one star - - - - Star Rating Down - Star Rating Down - - - - Decrease the track rating by one star - Decrease the track rating by one star - - - - ControllerInputMappingTableModel - - - Channel - Channel - - - - Opcode - Opcode - - - - Control - Control - - - - Options - Options - - - - Action - Action - - - - Comment - Commentaire - - - - ControllerOutputMappingTableModel - - - Channel - Channel - - - - Opcode - Opcode - - - - Control - Control - - - - On Value - On Value - - - - Off Value - Off Value - - - - Action - Action - - - - On Range Min - On Range Min - - - - On Range Max - On Range Max - - - - Comment - Commentaire - - - - ControllerScriptEngineBase - - - The functionality provided by this controller mapping will be disabled until the issue has been resolved. - The functionality provided by this controller mapping will be disabled until the issue has been resolved. - - - - You can ignore this error for this session but you may experience erratic behavior. - You can ignore this error for this session but you may experience erratic behavior. - - - - Try to recover by resetting your controller. - Try to recover by resetting your controller. - - - - Controller Mapping Error - Controller Mapping Error - - - - The mapping for your controller "%1" is not working properly. - The mapping for your controller "%1" is not working properly. - - - - The script code needs to be fixed. - The script code needs to be fixed. - - - - ControllerScriptEngineLegacy - - - Controller Mapping File Problem - Controller Mapping File Problem - - - - The mapping for controller "%1" cannot be opened. - The mapping for controller "%1" cannot be opened. - - - - The functionality provided by this controller mapping will be disabled until the issue has been resolved. - The functionality provided by this controller mapping will be disabled until the issue has been resolved. - - - - File: - File: - - - - Error: - Error: - - - - CoverArtCopyWorker - - - Error while copying the cover art to: %1 - Une erreur est survenue lors de la copie de la pochette d'album vers: %1 - - - - CrateFeature - - - Remove - Supprimer - - - - - Create New Crate - Create New Crate - - - - Rename - Renommer - - - - - Lock - Verrouiller - - - - Export Crate as Playlist - Export Crate as Playlist - - - - Export Track Files - Exporter les fichiers des pistes - - - - Duplicate - Dupliquer - - - - Analyze entire Crate - Analyze entire Crate - - - - Auto DJ Track Source - Auto DJ Track Source - - - - Enter new name for crate: - Enter new name for crate: - - - - - Crates - Caisses - - - - - Import Crate - Import Crate - - - - Export Crate - Export Crate - - - - Unlock - Unlock - - - - An unknown error occurred while creating crate: - An unknown error occurred while creating crate: - - - - Rename Crate - Rename Crate - - - - - Export to Engine Prime - Export to Engine Prime - - - - Make a crate for your next gig, for your favorite electrohouse tracks, or for your most requested tracks. - Make a crate for your next gig, for your favorite electrohouse tracks, or for your most requested tracks. - - - - Confirm Deletion - Confirmer la suppression - - - - - Renaming Crate Failed - Renaming Crate Failed - - - - Crate Creation Failed - Crate Creation Failed - - - - M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Text CSV (*.csv);;Readable Text (*.txt) - M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Texte CSV (*.csv);;Texte lisible (*.txt) - - - - M3U Playlist (*.m3u) - M3U Playlist (*.m3u) - - - - Crates are a great way to help organize the music you want to DJ with. - Crates are a great way to help organize the music you want to DJ with. - - - - Crates let you organize your music however you'd like! - Crates let you organize your music however you'd like! - - - - Do you really want to delete crate <b>%1</b>? - Voulez-vous vraiment supprimer le bac %1? - - - - A crate cannot have a blank name. - A crate cannot have a blank name. - - - - A crate by that name already exists. - A crate by that name already exists. - - - - CrateFeatureHelper - - - New Crate - New Crate - - - - Create New Crate - Create New Crate - - - - - Enter name for new crate: - Enter name for new crate: - - - - - - Creating Crate Failed - Creating Crate Failed - - - - - A crate cannot have a blank name. - A crate cannot have a blank name. - - - - - A crate by that name already exists. - A crate by that name already exists. - - - - - An unknown error occurred while creating crate: - An unknown error occurred while creating crate: - - - - copy - //: - copy - - - - Duplicate Crate - Duplicate Crate - - - - - - Duplicating Crate Failed - Duplicating Crate Failed - - - - DlgAbout - - - Mixxx %1.%2 Development Team - Mixxx %1.%2 Development Team - - - - With contributions from: - Avec des contributions de : - - - - And special thanks to: - Et remerciements particuliers à: - - - - Past Developers - Anciens développeurs - - - - Past Contributors - Anciens contributeurs - - - - Official Website - Official Website - - - - Donate - Donate - - - - DlgAboutDlg - - - About Mixxx - à propos de Mixxx - - - - - - - Unknown - Inconnu(e) - - - - Date: - Date: - - - - Git Version: - Git Version: - - - - Qt Version: - - - - - Platform: - Platform: - - - - Credits - Crédits - - - - License - License - - - - DlgAnalysis - - - - - Analyze - Analyse - - - - Shows tracks added to the library within the last 7 days. - Shows tracks added to the library within the last 7 days. - - - - New - New - - - - Shows all tracks in the library. - Shows all tracks in the library. - - - - All - All - - - - Progress - Progress - - - - Selects all tracks in the table below. - Selects all tracks in the table below. - - - - Select All - Select All - - - - Runs beatgrid, key, and ReplayGain detection on the selected tracks. Does not generate waveforms for the selected tracks to save disk space. - Runs beatgrid, key, and ReplayGain detection on the selected tracks. Does not generate waveforms for the selected tracks to save disk space. - - - - Stop Analysis - Stop Analysis - - - - Analyzing %1% %2/%3 - Analyzing %1% %2/%3 - - - - Analyzing %1/%2 - Analyzing %1/%2 - - - - DlgAutoDJ - - - Skip - Skip - - - - Random - Random - - - - Fade - Fade - - - - Enable Auto DJ - -Shortcut: Shift+F12 - Enable Auto DJ - -Shortcut: Shift+F12 - - - - Disable Auto DJ - -Shortcut: Shift+F12 - Disable Auto DJ - -Shortcut: Shift+F12 - - - - Trigger the transition to the next track - -Shortcut: Shift+F11 - Trigger the transition to the next track - -Shortcut: Shift+F11 - - - - Skip the next track in the Auto DJ queue - -Shortcut: Shift+F10 - Skip the next track in the Auto DJ queue - -Shortcut: Shift+F10 - - - - Shuffle the content of the Auto DJ queue - -Shortcut: Shift+F9 - Shuffle the content of the Auto DJ queue - -Shortcut: Shift+F9 - - - - Repeat the playlist - Repeat the playlist - - - - Determines the duration of the transition - Determines the duration of the transition - - - - Seconds - Seconds - - - - Full Intro + Outro - Full Intro + Outro - - - - Fade At Outro Start - Fade At Outro Start - - - - Full Track - Full Track - - - - Skip Silence - Skip Silence - - - - Auto DJ Fade Modes - -Full Intro + Outro: -Play the full intro and outro. Use the intro or outro length as the -crossfade time, whichever is shorter. If no intro or outro are marked, -use the selected crossfade time. - -Fade At Outro Start: -Start crossfading at the outro start. If the outro is longer than the -intro, cut off the end of the outro. Use the intro or outro length as -the crossfade time, whichever is shorter. If no intro or outro are -marked, use the selected crossfade time. - -Full Track: -Play the whole track. Begin crossfading from the selected number of -seconds before the end of the track. A negative crossfade time adds -silence between tracks. - -Skip Silence: -Play the whole track except for silence at the beginning and end. -Begin crossfading from the selected number of seconds before the -last sound. - Auto DJ Fade Modes - -Full Intro + Outro: -Play the full intro and outro. Use the intro or outro length as the -crossfade time, whichever is shorter. If no intro or outro are marked, -use the selected crossfade time. - -Fade At Outro Start: -Start crossfading at the outro start. If the outro is longer than the -intro, cut off the end of the outro. Use the intro or outro length as -the crossfade time, whichever is shorter. If no intro or outro are -marked, use the selected crossfade time. - -Full Track: -Play the whole track. Begin crossfading from the selected number of -seconds before the end of the track. A negative crossfade time adds -silence between tracks. - -Skip Silence: -Play the whole track except for silence at the beginning and end. -Begin crossfading from the selected number of seconds before the -last sound. - - - - Repeat - Repeat - - - - Auto DJ requires two decks assigned to opposite sides of the crossfader. - Auto DJ nécessite deux platines affectées aux côtés opposés du curseur de mixage. - - - - One deck must be stopped to enable Auto DJ mode. - One deck must be stopped to enable Auto DJ mode. - - - - Decks 3 and 4 must be stopped to enable Auto DJ mode. - Decks 3 and 4 must be stopped to enable Auto DJ mode. - - - - Enable - Enable - - - - Disable - Disable - - - - Displays the duration and number of selected tracks. - Displays the duration and number of selected tracks. - - - - - - - Auto DJ - Auto DJ - - - - Shuffle - Shuffle - - - - Adds a random track from track sources (crates) to the Auto DJ queue. -If no track sources are configured, the track is added from the library instead. - Adds a random track from track sources (crates) to the Auto DJ queue. -If no track sources are configured, the track is added from the library instead. - - - - sec. - sec. - - - - DlgBeatsDlg - - - Enable BPM and Beat Detection - Enable BPM and Beat Detection - - - - Choose between different algorithms to detect beats. - Choose between different algorithms to detect beats. - - - - Beat Detection Preferences - Beat Detection Preferences - - - - When beat detection is enabled, Mixxx detects the beats per minute and beats of your tracks, -automatically shows a beat-grid for them, and allows you to synchronize tracks using their beat information. - When beat detection is enabled, Mixxx detects the beats per minute and beats of your tracks, -automatically shows a beat-grid for them, and allows you to synchronize tracks using their beat information. - - - - Enable fast beat detection. -If activated Mixxx only analyzes the first minute of a track for beat information. -This can speed up beat detection on slower computers but may result in lower quality beatgrids. - Enable fast beat detection. -If activated Mixxx only analyzes the first minute of a track for beat information. -This can speed up beat detection on slower computers but may result in lower quality beatgrids. - - - - Converts beats detected by the analyzer into a fixed-tempo beatgrid. -Use this setting if your tracks have a constant tempo (e.g. most electronic music). -Often results in higher quality beatgrids, but will not do well on tracks that have tempo shifts. - Converts beats detected by the analyzer into a fixed-tempo beatgrid. -Use this setting if your tracks have a constant tempo (e.g. most electronic music). -Often results in higher quality beatgrids, but will not do well on tracks that have tempo shifts. - - - - Re-analyze beatgrids imported from other DJ software - Re-analyze beatgrids imported from other DJ software - - - - Choose Analyzer - Choose Analyzer - - - - Analyzer Settings - Analyzer Settings - - - - Enable Fast Analysis (For slow computers, may be less accurate) - Enable Fast Analysis (For slow computers, may be less accurate) - - - - Assume constant tempo (Recommended) - Assume constant tempo (Recommended) - - - - e.g. from 3rd-party programs or Mixxx versions before 1.11. -(Not checked: Analyze only, if no beats exist.) - e.g. from 3rd-party programs or Mixxx versions before 1.11. -(Not checked: Analyze only, if no beats exist.) - - - - Re-analyze beats when settings change or beat detection data is outdated - Re-analyze beats when settings change or beat detection data is outdated - - - - DlgControllerLearning - - - Controller Learning Wizard - Controller Learning Wizard - - - - Learn - Learn - - - - Close - Close - - - - Choose Control... - Choose Control... - - - - Hints: If you're mapping a button or switch, only press or flip it once. For knobs and sliders, move the control in both directions for best results. Make sure to touch one control at a time. - Hints: If you're mapping a button or switch, only press or flip it once. For knobs and sliders, move the control in both directions for best results. Make sure to touch one control at a time. - - - - Cancel - Cancel - - - - Advanced MIDI Options - Advanced MIDI Options - - - - Switch mode interprets all messages for the control as button presses. - Switch mode interprets all messages for the control as button presses. - - - - Switch Mode - Switch Mode - - - - Ignores slider or knob movements until they are close to the internal value. This helps prevent unwanted extreme changes while mixing but can accidentally ignore intentional rapid movements. - Ignores slider or knob movements until they are close to the internal value. This helps prevent unwanted extreme changes while mixing but can accidentally ignore intentional rapid movements. - - - - Soft Takeover - Soft Takeover - - - - Reverses the direction of the control. - Reverses the direction of the control. - - - - Invert - Invert - - - - For jog wheels or infinite-scroll knobs. Interprets incoming messages in two's complement. - For jog wheels or infinite-scroll knobs. Interprets incoming messages in two's complement. - - - - Jog Wheel / Select Knob - Jog Wheel / Select Knob - - - - Retry - Retry - - - - Learn Another - Learn Another - - - - Done - Done - - - - Click anywhere in Mixxx or choose a control to learn - Click anywhere in Mixxx or choose a control to learn - - - - You can click on any button, slider, or knob in Mixxx to teach it that control. You can also type in the box to search for a control by name, or click the Choose Control button to select from a list. - You can click on any button, slider, or knob in Mixxx to teach it that control. You can also type in the box to search for a control by name, or click the Choose Control button to select from a list. - - - - Now test it out! - Now test it out! - - - - If you manipulate the control, you should see the Mixxx user interface respond the way you expect. - If you manipulate the control, you should see the Mixxx user interface respond the way you expect. - - - - Not quite right? - Not quite right? - - - - If the mapping is not working try enabling an advanced option below and then try the control again. Or click Retry to redetect the midi control. - If the mapping is not working try enabling an advanced option below and then try the control again. Or click Retry to redetect the midi control. - - - - Didn't get any midi messages. Please try again. - Didn't get any midi messages. Please try again. - - - - Unable to detect a mapping -- please try again. Be sure to only touch one control at once. - Unable to detect a mapping -- please try again. Be sure to only touch one control at once. - - - - Successfully mapped control: - Successfully mapped control: - - - - <i>Ready to learn %1</i> - <i>Ready to learn %1</i> - - - - Learning: %1. Now move a control on your controller. - Learning: %1. Now move a control on your controller. - - - - The control you clicked in Mixxx is not learnable. -This could be because you are either using an old skin and this control is no longer supported, or you clicked a control that provides visual feedback and can only be mapped to outputs like LEDs via scripts. - -You tried to learn: %1,%2 - The control you clicked in Mixxx is not learnable. -This could be because you are either using an old skin and this control is no longer supported, or you clicked a control that provides visual feedback and can only be mapped to outputs like LEDs via scripts. - -You tried to learn: %1,%2 - - - - DlgCoverArtFullSize - - - Fetched Cover Art - Récupéré la pochette d'album - - - - DlgDeveloperTools - - - Developer Tools - Developer Tools - - - - Controls - Controls - - - - Dumps all ControlObject values to a csv-file saved in the settings path (e.g. ~/.mixxx) - Dumps all ControlObject values to a csv-file saved in the settings path (e.g. ~/.mixxx) - - - - Dump to csv - Dump to csv - - - - Log - Log - - - - Search - Search - - - - Stats - Stats - - - - DlgHidden - - - Hidden Tracks - Hidden Tracks - - - - Selects all tracks in the table below. - Selects all tracks in the table below. - - - - Select All - Select All - - - - Purge selected tracks from the library. - Purge selected tracks from the library. - - - - Purge - Purge - - - - Unhide selected tracks from the library. - Unhide selected tracks from the library. - - - - Unhide - Unhide - - - - Ctrl+S - Ctrl+S - - - - Purge selected tracks from the library and delete files from disk. - Purge selected tracks from the library and delete files from disk. - - - - Purge And Delete Files - Purge And Delete Files - - - - DlgKeywheel - - - Keywheel - Keywheel - - - - &Close - &Close - - - - DlgMissing - - - Missing Tracks - Missing Tracks - - - - Selects all tracks in the table below. - Selects all tracks in the table below. - - - - Select All - Select All - - - - Purge selected tracks from the library. - Purge selected tracks from the library. - - - - Purge - Purge - - - - DlgPrefAutoDJDlg - - - Duration after which a track is eligible for selection by Auto DJ again - Duration after which a track is eligible for selection by Auto DJ again - - - - hh:mm - hh:mm - - - - Minimum available tracks in Track Source - Minimum available tracks in Track Source - - - - Auto DJ Preferences - Auto DJ Preferences - - - - Re-queue Tracks - Re-queue Tracks - - - - This percentage of tracks are always available for selecting, regardless of when they were last played. - This percentage of tracks are always available for selecting, regardless of when they were last played. - - - - % - % - - - - - Uncheck, to ignore all played tracks. - Uncheck, to ignore all played tracks. - - - - Suspend track in Track Source from re-queue - Suspend track in Track Source from re-queue - - - - Suspension period for track selection - Suspension period for track selection - - - - Add Random Tracks - Add Random Tracks - - - - Enable random track addition to queue - Enable random track addition to queue - - - - Add random tracks from Track Source if the specified minimum tracks remain - Add random tracks from Track Source if the specified minimum tracks remain - - - - Minimum allowed tracks before addition - Minimum allowed tracks before addition - - - - Minimum number of tracks after which random tracks may be added - Minimum number of tracks after which random tracks may be added - - - - DlgPrefBroadcast - - - Icecast 2 - Icecast 2 - - - - Shoutcast 1 - Shoutcast 1 - - - - Icecast 1 - Icecast 1 - - - - MP3 - MP3 - - - - Ogg Vorbis - Ogg Vorbis - - - - Opus - Opus - - - - AAC - AAC - - - - HE-AAC - HE-AAC - - - - HE-AACv2 - HE-AACv2 - - - - Automatic - Automatic - - - - Mono - Mono - - - - Stereo - Stereo - - - - - - - Action failed - Échec de l'action - - - - You can't create more than %1 source connections. - You can't create more than %1 source connections. - - - - Source connection %1 - Source connection %1 - - - - At least one source connection is required. - At least one source connection is required. - - - - Are you sure you want to disconnect every active source connection? - Are you sure you want to disconnect every active source connection? - - - - - Confirmation required - Confirmation required - - - - '%1' has the same Icecast mountpoint as '%2'. -Two source connections to the same server that have the same mountpoint can not be enabled simultaneously. - '%1' a le même point de montage Icecast que '%2'. -Deux de source de connexions vers le même serveur, ayant le même point de montage, ne peuvent pas être activé simultanément. - - - - Are you sure you want to delete '%1'? - Are you sure you want to delete '%1'? - - - - Renaming '%1' - Renaming '%1' - - - - New name for '%1': - New name for '%1': - - - - Can't rename '%1' to '%2': name already in use - Can't rename '%1' to '%2': name already in use - - - - DlgPrefBroadcastDlg - - - Live Broadcasting Preferences - Live Broadcasting Preferences - - - - Mixxx Icecast Testing - Mixxx Icecast Testing - - - - Public stream - Public stream - - - - http://www.mixxx.org - http://www.mixxx.org - - - - Stream name - Stream name - - - - Due to flaws in some streaming clients, updating Ogg Vorbis metadata dynamically can cause listener glitches and disconnections. Check this box to update the metadata anyway. - Due to flaws in some streaming clients, updating Ogg Vorbis metadata dynamically can cause listener glitches and disconnections. Check this box to update the metadata anyway. - - - - Live Broadcasting source connections - Live Broadcasting source connections - - - - Delete selected - Delete selected - - - - Create new connection - Create new connection - - - - Rename selected - Rename selected - - - - Disconnect all - Disconnect all - - - - Turn on Live Broadcasting when applying these settings - Turn on Live Broadcasting when applying these settings - - - - Settings for %1 - Settings for %1 - - - - Dynamically update Ogg Vorbis metadata. - Dynamically update Ogg Vorbis metadata. - - - - ICQ - ICQ - - - - AIM - AIM - - - - Website - Website - - - - Live mix - Live mix - - - - IRC - IRC - - - - Select a source connection above to edit its settings here - Select a source connection above to edit its settings here - - - - Password storage - Password storage - - - - Plain text - Plain text - - - - Secure storage (OS keychain) - Secure storage (OS keychain) - - - - Genre - Genre - - - - Use UTF-8 encoding for metadata. - Use UTF-8 encoding for metadata. - - - - Description - Description - - - - Encoding - Encoding - - - - Bitrate - Débit - - - - - Format - Format - - - - Channels - Channels - - - - Server connection - Server connection - - - - Type - Type - - - - Host - Host - - - - Login - Login - - - - Mount - Mount - - - - Port - Port - - - - Password - Password - - - - Stream info - Stream info - - - - Metadata - Metadata - - - - Use static artist and title. - Use static artist and title. - - - - Static title - Static title - - - - Static artist - Static artist - - - - Automatic reconnect - Automatic reconnect - - - - Time to wait before the first reconnection attempt is made. - Time to wait before the first reconnection attempt is made. - - - - - seconds - seconds - - - - Wait until first attempt - Wait until first attempt - - - - Reconnect period - Reconnect period - - - - Time to wait between two reconnection attempts. - Time to wait between two reconnection attempts. - - - - Limit number of reconnection attempts - Limit number of reconnection attempts - - - - Maximum retries - Maximum retries - - - - Reconnect if the connection to the streaming server is lost. - Reconnect if the connection to the streaming server is lost. - - - - Enable automatic reconnect - Enable automatic reconnect - - - - DlgPrefColors - - - - By hotcue number - By hotcue number - - - - Color - Color - - - - DlgPrefColorsDlg - - - Color Preferences - Color Preferences - - - - - Edit… - Edit… - - - - Track palette - Track palette - - - - Loop default color - Loop default color - - - - Hotcue palette - Hotcue palette - - - - Hotcue default color - Hotcue default color - - - - Replace… - Replace… - - - - DlgPrefController - - - Apply device settings? - Apply device settings? - - - - Your settings must be applied before starting the learning wizard. -Apply settings and continue? - Your settings must be applied before starting the learning wizard. -Apply settings and continue? - - - - None - None - - - - %1 by %2 - %1 by %2 - - - - No Name - No Name - - - - No Description - No Description - - - - No Author - No Author - - - - Mapping has been edited - Mapping has been edited - - - - Always overwrite during this session - Always overwrite during this session - - - - Save As - Save As - - - - Overwrite - Overwrite - - - - Save user mapping - Save user mapping - - - - Enter the name for saving the mapping to the user folder. - Enter the name for saving the mapping to the user folder. - - - - Saving mapping failed - Saving mapping failed - - - - A mapping cannot have a blank name and may not contain special characters. - A mapping cannot have a blank name and may not contain special characters. - - - - A mapping file with that name already exists. - A mapping file with that name already exists. - - - - missing - missing - - - - built-in - built-in - - - - Do you want to save the changes? - Do you want to save the changes? - - - - Troubleshooting - Troubleshooting - - - - <font color='#BB0000'><b>If you use this mapping your controller may not work correctly. Please select another mapping or disable the controller.</b></font><br><br>This mapping was designed for a newer Mixxx Controller Engine and cannot be used on your current Mixxx installation.<br>Your Mixxx installation has Controller Engine version %1. This mapping requires a Controller Engine version >= %2.<br><br>For more information visit the wiki page on <a href='https://mixxx.org/wiki/doku.php/controller_engine_versions'>Controller Engine Versions</a>. - <font color='#BB0000'><b>If you use this mapping your controller may not work correctly. Please select another mapping or disable the controller.</b></font><br><br>This mapping was designed for a newer Mixxx Controller Engine and cannot be used on your current Mixxx installation.<br>Your Mixxx installation has Controller Engine version %1. This mapping requires a Controller Engine version >= %2.<br><br>For more information visit the wiki page on <a href='https://mixxx.org/wiki/doku.php/controller_engine_versions'>Controller Engine Versions</a>. - - - - Mapping already exists. - Mapping already exists. - - - - <b>%1</b> already exists in user mapping folder.<br>Overwrite or save with a new name? - <b>%1</b> already exists in user mapping folder.<br>Overwrite or save with a new name? - - - - Clear Input Mappings - Clear Input Mappings - - - - Are you sure you want to clear all input mappings? - Are you sure you want to clear all input mappings? - - - - Clear Output Mappings - Clear Output Mappings - - - - Are you sure you want to clear all output mappings? - Are you sure you want to clear all output mappings? - - - - DlgPrefControllerDlg - - - (device category goes here) - (device category goes here) - - - - Controller Name - Controller Name - - - - Enabled - Activé - - - - Description: - Description: - - - - Support: - Support: - - - - Input Mappings - Input Mappings - - - - - Search - Search - - - - - Add - Add - - - - - Remove - Supprimer - - - - Click to start the Controller Learning wizard. - Click to start the Controller Learning wizard. - - - - Controller Preferences - Controller Preferences - - - - Controller Setup - Controller Setup - - - - Load Mapping: - Load Mapping: - - - - Mapping Info - Mapping Info - - - - Author: - Author: - - - - Name: - Name: - - - - Learning Wizard (MIDI Only) - Learning Wizard (MIDI Only) - - - - Mapping Files: - Mapping Files: - - - - - Clear All - Clear All - - - - Output Mappings - Output Mappings - - - - DlgPrefControllers - - - Mixxx uses "mappings" to connect messages from your controller to controls in Mixxx. If you do not see a mapping for your controller in the "Load Mapping" menu when you click on your controller on the left sidebar, you may be able to download one online from the %1. Place the XML (.xml) and Javascript (.js) file(s) in the "User Mapping Folder" then restart Mixxx. If you download a mapping in a ZIP file, extract the XML and Javascript file(s) from the ZIP file to your "User Mapping Folder" then restart Mixxx. - Mixxx uses "mappings" to connect messages from your controller to controls in Mixxx. If you do not see a mapping for your controller in the "Load Mapping" menu when you click on your controller on the left sidebar, you may be able to download one online from the %1. Place the XML (.xml) and Javascript (.js) file(s) in the "User Mapping Folder" then restart Mixxx. If you download a mapping in a ZIP file, extract the XML and Javascript file(s) from the ZIP file to your "User Mapping Folder" then restart Mixxx. - - - - Mixxx DJ Hardware Guide - Mixxx DJ Hardware Guide - - - - MIDI Mapping File Format - MIDI Mapping File Format - - - - MIDI Scripting with Javascript - MIDI Scripting with Javascript - - - - DlgPrefControllersDlg - - - Controller Preferences - Controller Preferences - - - - Controllers - Controllers - - - - Mixxx did not detect any controllers. If you connected the controller while Mixxx was running you must restart Mixxx first. - Mixxx did not detect any controllers. If you connected the controller while Mixxx was running you must restart Mixxx first. - - - - Mappings - Mappings - - - - Open User Mapping Folder - Open User Mapping Folder - - - - Resources - Resources - - - - Controllers are physical devices that send MIDI or HID signals to your computer over a USB connection. These allow you to control Mixxx in a more hands-on way than a keyboard and mouse. Attached controllers that Mixxx recognizes are shown in the "Controllers" section in the sidebar. - Controllers are physical devices that send MIDI or HID signals to your computer over a USB connection. These allow you to control Mixxx in a more hands-on way than a keyboard and mouse. Attached controllers that Mixxx recognizes are shown in the "Controllers" section in the sidebar. - - - - You can create your own mapping by using the MIDI Learning Wizard when you select your controller in the sidebar. You can edit mappings by selecting the "Input Mappings" and "Output Mappings" tabs in the preference page for your controller. See the Resources below for more details on making mappings. - You can create your own mapping by using the MIDI Learning Wizard when you select your controller in the sidebar. You can edit mappings by selecting the "Input Mappings" and "Output Mappings" tabs in the preference page for your controller. See the Resources below for more details on making mappings. - - - - DlgPrefControlsDlg - - - Skin - Skin - - - - Tool tips - Tool tips - - - - Select from different color schemes of a skin if available. - Select from different color schemes of a skin if available. - - - - Color scheme - Color scheme - - - - Locales determine country and language specific settings. - Locales determine country and language specific settings. - - - - Locale - Locale - - - - Interface Preferences - Interface Preferences - - - - Skin selector - - - - - Miscellaneous - Miscellaneous - - - - HiDPI / Retina scaling - HiDPI / Retina scaling - - - - Change the size of text, buttons, and other items. - Change the size of text, buttons, and other items. - - - - Screen saver - Screen saver - - - - Start in full-screen mode - Start in full-screen mode - - - - Full-screen mode - Full-screen mode - - - - Off - Off - - - - Library only - Library only - - - - Library and Skin - Library and Skin - - - - DlgPrefDeck - - - Mixxx mode - Mixxx mode - - - - Mixxx mode (no blinking) - Mixxx mode (no blinking) - - - - Pioneer mode - Pioneer mode - - - - Denon mode - Denon mode - - - - Numark mode - Numark mode - - - - CUP mode - CUP mode - - - - mm:ss%1zz - Traditional - mm:ss%1zz - Traditional - - - - mm:ss - Traditional (Coarse) - mm:ss - Traditional (Coarse) - - - - s%1zz - Seconds - s%1zz - Seconds - - - - sss%1zz - Seconds (Long) - sss%1zz - Seconds (Long) - - - - s%1sss%2zz - Kiloseconds - s%1sss%2zz - Kiloseconds - - - - Intro start - Intro start - - - - Main cue - Main cue - - - - First sound (skip silence) - First sound (skip silence) - - - - Beginning of track - Beginning of track - - - - Reject - Rejeter - - - - Allow, but stop deck - Autoriser, mais arrêter la platine - - - - Allow, play from load point - Autoriser, jouer depuis le point de chargement - - - - 4% - 4% - - - - 6% (semitone) - 6% (semitone) - - - - 8% (Technics SL-1210) - 8% (Technics SL-1210) - - - - 10% - 10% - - - - 16% - 16% - - - - 24% - 24% - - - - 50% - 50% - - - - 90% - 90% - - - - DlgPrefDeckDlg - - - Deck Preferences - Deck Preferences - - - - Deck options - Deck options - - - - Cue mode - Cue mode - - - - Mixxx mode: -- Cue button while pause at cue point = preview -- Cue button while pause not at cue point = set cue point -- Cue button while playing = pause at cue point -Mixxx mode (no blinking): -- Same as Mixxx mode but with no blinking indicators -Pioneer mode: -- Same as Mixxx mode with a flashing play button -Denon mode: -- Cue button at cue point = preview -- Cue button not at cue point = pause at cue point -- Play = set cue point -Numark mode: -- Same as Denon mode, but without a flashing play button -CUP mode: -- Cue button while pause at cue point = play after release -- Cue button while pause not at cue point = set cue point and play after release -- Cue button while playing = go to cue point and play after release - - Mixxx mode: -- Cue button while pause at cue point = preview -- Cue button while pause not at cue point = set cue point -- Cue button while playing = pause at cue point -Mixxx mode (no blinking): -- Same as Mixxx mode but with no blinking indicators -Pioneer mode: -- Same as Mixxx mode with a flashing play button -Denon mode: -- Cue button at cue point = preview -- Cue button not at cue point = pause at cue point -- Play = set cue point -Numark mode: -- Same as Denon mode, but without a flashing play button -CUP mode: -- Cue button while pause at cue point = play after release -- Cue button while pause not at cue point = set cue point and play after release -- Cue button while playing = go to cue point and play after release - - - - - Track time display - Track time display - - - - Elapsed - Elapsed - - - - Remaining - Remaining - - - - Elapsed and Remaining - Elapsed and Remaining - - - - Time Format - Time Format - - - - Intro start - Intro start - - - - When the analyzer places the intro start point automatically, -it will place it at the main cue point if the main cue point has been set previously. -This may be helpful for upgrading to Mixxx 2.3 from earlier versions. - -If this option is disabled, the intro start point is automatically placed at the first sound. - When the analyzer places the intro start point automatically, -it will place it at the main cue point if the main cue point has been set previously. -This may be helpful for upgrading to Mixxx 2.3 from earlier versions. - -If this option is disabled, the intro start point is automatically placed at the first sound. - - - - Set intro start to main cue when analyzing tracks - Set intro start to main cue when analyzing tracks - - - - Track load point - Track load point - - - - Clone deck - Clone deck - - - - Loading a track, when deck is playing - Charger une piste, lorsque une platine est en cours de lecture - - - - Create a playing clone of the first playing deck by double-tapping a Load button on a controller or keyboard. -You can always drag-and-drop tracks on screen to clone a deck. - Create a playing clone of the first playing deck by double-tapping a Load button on a controller or keyboard. -You can always drag-and-drop tracks on screen to clone a deck. - - - - Double-press Load button to clone playing track - Double-press Load button to clone playing track - - - - Speed (Tempo) and Key (Pitch) options - Speed (Tempo) and Key (Pitch) options - - - - Permanent rate change when left-clicking - Permanent rate change when left-clicking - - - - - - - % - % - - - - Permanent rate change when right-clicking - Permanent rate change when right-clicking - - - - Reset on track load - Reset on track load - - - - Current key - Current key - - - - Temporary rate change when right-clicking - Temporary rate change when right-clicking - - - - Permanent - Permanent - - - - Value in milliseconds - Value in milliseconds - - - - Temporary - Temporary - - - - Sync mode (Dynamic tempo tracks) - - - - - Keylock mode - Keylock mode - - - - Ramping sensitivity - Ramping sensitivity - - - - Pitch bend behavior - Pitch bend behavior - - - - Original key - Original key - - - - Temporary rate change when left-clicking - Temporary rate change when left-clicking - - - - Speed/Tempo - Speed/Tempo - - - - Key/Pitch - Key/Pitch - - - - Adjustment buttons: - Adjustment buttons: - - - - Apply tempo changes from a soft-leading track (usually the leaving track in a transition) to the follower tracks. After the transition, the follower track will continue with the previous leader's very last tempo. Changes from explicit selected leaders are always applied. - - - - - Follow soft leader's tempo - - - - - Coarse - Coarse - - - - Fine - Fine - - - - Make the speed sliders work like those on DJ turntables and CDJs where moving downward increases the speed - Make the speed sliders work like those on DJ turntables and CDJs where moving downward increases the speed - - - - Down increases speed - Down increases speed - - - - Slider range - Slider range - - - - Adjusts the range of the speed (Vinyl "Pitch") slider. - Adjusts the range of the speed (Vinyl "Pitch") slider. - - - - Abrupt jump - Abrupt jump - - - - Smoothly adjusts deck speed when temporary change buttons are held down - Smoothly adjusts deck speed when temporary change buttons are held down - - - - Smooth ramping - Smooth ramping - - - - Keyunlock mode - Keyunlock mode - - - - Reset key - Reset key - - - - Keep key - Keep key - - - - The tempo of a previous soft leader track at the beginning of the transition is kept steady. After the transition, the follower track will maintain this original tempo. This technique serves as a workaround to avoid dynamic tempo changes, as seen during the outro of rubato-style tracks. For instance, it prevents the follower track from continuing with a slowed-down tempo of the soft leader. This corresponds to the behavior before Mixxx 2.4. Changes from explicit selected leaders are always applied. - - - - - Use steady tempo - - - - - DlgPrefEffectsDlg - - - Effects Preferences - Effects Preferences - - - - - Effect Chain Presets - Effect Chain Presets - - - - Drag and drop to rearrange lists and copy chains between lists. Create and edit chain presets in the effect units in the main window. Please refer the manual for further details. - Drag and drop to rearrange lists and copy chains between lists. Create and edit chain presets in the effect units in the main window. Please refer the manual for further details. - - - - Chain presets from these lists will be selectable in the given order in the main window and from controllers (depending on the controller mapping). - Chain presets from these lists will be selectable in the given order in the main window and from controllers (depending on the controller mapping). - - - - Effects in this chain preset: - Effects in this chain preset: - - - - effect 1 name - effect 1 name - - - - effect 2 name - effect 2 name - - - - effect 3 name - effect 3 name - - - - Import - Import - - - - Rename - Renommer - - - - Export - Export - - - - Delete - Delete - - - - Quick Effect Chain Presets - Quick Effect Chain Presets - - - - - Visible Effects - Visible Effects - - - - Drag and drop to rearrange lists and show or hide effects. - Drag and drop to rearrange lists and show or hide effects. - - - - Hidden Effects - Hidden Effects - - - - Effect load behavior - Effect load behavior - - - - Keep metaknob position - Keep metaknob position - - - - Reset metaknob to effect default - Reset metaknob to effect default - - - - Effect Info - Effect Info - - - - Version: - Version: - - - - Description: - Description: - - - - Author: - Author: - - - - Name: - Name: - - - - Type: - Type: - - - - DlgPrefInterface - - - The minimum size of the selected skin is bigger than your screen resolution. - The minimum size of the selected skin is bigger than your screen resolution. - - - - Allow screensaver to run - Allow screensaver to run - - - - Prevent screensaver from running - Prevent screensaver from running - - - - Prevent screensaver while playing - Prevent screensaver while playing - - - - This skin does not support color schemes - This skin does not support color schemes - - - - Information - Information - - - - Mixxx must be restarted before the new locale or scaling settings will take effect. - Mixxx must be restarted before the new locale or scaling settings will take effect. - - - - DlgPrefKeyDlg - - - Key Notation Format Settings - Key Notation Format Settings - - - - When key detection is enabled, Mixxx detects the musical key of your tracks -and allows you to pitch adjust them for harmonic mixing. - When key detection is enabled, Mixxx detects the musical key of your tracks -and allows you to pitch adjust them for harmonic mixing. - - - - Enable Key Detection - Enable Key Detection - - - - Choose Analyzer - Choose Analyzer - - - - Choose between different algorithms to detect keys. - Choose between different algorithms to detect keys. - - - - Analyzer Settings - Analyzer Settings - - - - Enable Fast Analysis (For slow computers, may be less accurate) - Enable Fast Analysis (For slow computers, may be less accurate) - - - - Re-analyze keys when settings change or 3rd-party keys are present - Re-analyze keys when settings change or 3rd-party keys are present - - - - Key Notation - Key Notation - - - - Lancelot - Lancelot - - - - Lancelot/Traditional - Lancelot/Traditional - - - - OpenKey - OpenKey - - - - OpenKey/Traditional - OpenKey/Traditional - - - - Traditional - Traditional - - - - Custom - Custom - - - - A - A - - - - Bb - Bb - - - - B - B - - - - C - C - - - - Db - Db - - - - D - D - - - - Eb - Eb - - - - E - E - - - - F - F - - - - F# - F# - - - - G - G - - - - Ab - Ab - - - - Am - Am - - - - Bbm - Bbm - - - - Bm - Bm - - - - Cm - Cm - - - - C#m - C#m - - - - Dm - Dm - - - - Ebm - Ebm - - - - Em - Em - - - - Fm - Fm - - - - F#m - F#m - - - - Gm - Gm - - - - G#m - G#m - - - - DlgPrefLibrary - - - See the manual for details - See the manual for details - - - - Music Directory Added - Music Directory Added - - - - You added one or more music directories. The tracks in these directories won't be available until you rescan your library. Would you like to rescan now? - You added one or more music directories. The tracks in these directories won't be available until you rescan your library. Would you like to rescan now? - - - - Scan - Scan - - - - Choose a music directory - Choose a music directory - - - - Confirm Directory Removal - Confirm Directory Removal - - - - Mixxx will no longer watch this directory for new tracks. What would you like to do with the tracks from this directory and subdirectories?<ul><li>Hide all tracks from this directory and subdirectories.</li><li>Delete all metadata for these tracks from Mixxx permanently.</li><li>Leave the tracks unchanged in your library.</li></ul>Hiding tracks saves their metadata in case you re-add them in the future. - Mixxx will no longer watch this directory for new tracks. What would you like to do with the tracks from this directory and subdirectories?<ul><li>Hide all tracks from this directory and subdirectories.</li><li>Delete all metadata for these tracks from Mixxx permanently.</li><li>Leave the tracks unchanged in your library.</li></ul>Hiding tracks saves their metadata in case you re-add them in the future. - - - - Metadata means all track details (artist, title, playcount, etc.) as well as beatgrids, hotcues, and loops. This choice only affects the Mixxx library. No files on disk will be changed or deleted. - Metadata means all track details (artist, title, playcount, etc.) as well as beatgrids, hotcues, and loops. This choice only affects the Mixxx library. No files on disk will be changed or deleted. - - - - Hide Tracks - Hide Tracks - - - - Delete Track Metadata - Delete Track Metadata - - - - Leave Tracks Unchanged - Leave Tracks Unchanged - - - - Relink music directory to new location - Relink music directory to new location - - - - Select Library Font - Select Library Font - - - - DlgPrefLibraryDlg - - - If removed, Mixxx will no longer watch this directory and its subdirectories for new tracks. - If removed, Mixxx will no longer watch this directory and its subdirectories for new tracks. - - - - Remove - Supprimer - - - - Add a directory where your music is stored. Mixxx will watch this directory and its subdirectories for new tracks. - Add a directory where your music is stored. Mixxx will watch this directory and its subdirectories for new tracks. - - - - Music Directories - Répertoires de music - - - - Add - Add - - - - If an existing music directory is moved, Mixxx doesn't know where to find the audio files in it. Choose Relink to select the music directory in its new location. <br/> This will re-establish the links to the audio files in the Mixxx library. - If an existing music directory is moved, Mixxx doesn't know where to find the audio files in it. Choose Relink to select the music directory in its new location. <br/> This will re-establish the links to the audio files in the Mixxx library. - - - - Relink - This will re-establish the links to the audio files in the Mixxx database if you move an music directory to a new location. - Relink - - - - Rescan directories on start-up - Relire les répertoires au démarrage - - - - Audio File Formats - Audio File Formats - - - - Track Metadata Synchronization - Track Metadata Synchronization - - - - Track Table View - Track Table View - - - - Track Double-Click Action: - Track Double-Click Action: - - - - BPM display precision: - Précision de l'affichage BPM: - - - - Session History - Historique des sessions - - - - Track duplicate distance - Track duplicate distance - - - - When playing a track again log it to the session history only if more than N other tracks have been played in the meantime - When playing a track again log it to the session history only if more than N other tracks have been played in the meantime - - - - History playlist with less than N tracks will be deleted<br/><br/>Note: the cleanup will be performed during startup and shutdown of Mixxx. - History playlist with less than N tracks will be deleted<br/><br/>Note: the cleanup will be performed during startup and shutdown of Mixxx. - - - - Delete history playlist with less than N tracks - Delete history playlist with less than N tracks - - - - Miscellaneous - Miscellaneous - - - - Library Font: - Library Font: - - - - Enable search completions - Activer les complétions de recherche - - - - Enable search history keyboard shortcuts - Activer les raccourcis clavier pour l'historique de recherche - - - - Preferred Cover Art Fetcher Resolution - Résolution préférée du récupérateur de pochette d'album - - - - Fetch cover art from coverartarchive.com by using Import Metadata From Musicbrainz. - Récupérer les pochettes d'album depuis coverartarchive.com en utilisant l'importation de métadonnées depuis Musicbrainz. - - - - Note: ">1200 px" can fetch up to very large cover arts. - Note : ">1200 px" peut récupérer de très larges images de couverture - - - - >1200 px (if available) - >1200 px (si disponible) - - - - 1200 px (if available) - 1200 px (si disponible) - - - - 500 px - 500 px - - - - 250 px - 250 px - - - - Settings Directory - Répertoire des paramètres - - - - The Mixxx settings directory contains the library database, various configuration files, log files, track analysis data, as well as custom controller mappings. - The Mixxx settings directory contains the library database, various configuration files, log files, track analysis data, as well as custom controller mappings. - - - - Edit those files only if you know what you are doing and only while Mixxx is not running. - Edit those files only if you know what you are doing and only while Mixxx is not running. - - - - Open Mixxx Settings Folder - Open Mixxx Settings Folder - - - - Library Row Height: - Library Row Height: - - - - Use relative paths for playlist export if possible - Use relative paths for playlist export if possible - - - - ... - ... - - - - px - px - - - - Synchronize library track metadata from/to file tags - Synchronize library track metadata from/to file tags - - - - Automatically write modified track metadata from the library into file tags and reimport metadata from updated file tags into the library - Automatically write modified track metadata from the library into file tags and reimport metadata from updated file tags into the library - - - - Synchronize Serato track metadata from/to file tags (experimental) - Synchronize Serato track metadata from/to file tags (experimental) - - - - Keeps track color, beat grid, bpm lock, cue points, and loops synchronized with SERATO_MARKERS/MARKERS2 file tags.<br/><br/>WARNING: Enabling this option also enables the reimport of Serato metadata after files have been modified outside of Mixxx. On reimport existing metadata in Mixxx is replaced with the metadata found in file tags. Custom metadata not included in file tags like loop colors is lost. - Keeps track color, beat grid, bpm lock, cue points, and loops synchronized with SERATO_MARKERS/MARKERS2 file tags.<br/><br/>WARNING: Enabling this option also enables the reimport of Serato metadata after files have been modified outside of Mixxx. On reimport existing metadata in Mixxx is replaced with the metadata found in file tags. Custom metadata not included in file tags like loop colors is lost. - - - - Edit metadata after clicking selected track - Edit metadata after clicking selected track - - - - Search-as-you-type timeout: - Search-as-you-type timeout: - - - - ms - ms - - - - Load track to next available deck - Load track to next available deck - - - - External Libraries - External Libraries - - - - You will need to restart Mixxx for these settings to take effect. - You will need to restart Mixxx for these settings to take effect. - - - - Show Rhythmbox Library - Show Rhythmbox Library - - - - Add track to Auto DJ queue (bottom) - Add track to Auto DJ queue (bottom) - - - - Add track to Auto DJ queue (top) - Add track to Auto DJ queue (top) - - - - Ignore - Ignore - - - - Show Banshee Library - Show Banshee Library - - - - Show iTunes Library - Show iTunes Library - - - - Show Traktor Library - Show Traktor Library - - - - Show Rekordbox Library - Show Rekordbox Library - - - - Show Serato Library - Show Serato Library - - - - All external libraries shown are write protected. - All external libraries shown are write protected. - - - - DlgPrefMixerDlg - - - Crossfader Preferences - Crossfader Preferences - - - - Crossfader Curve - Crossfader Curve - - - - Slow fade/Fast cut (additive) - Slow fade/Fast cut (additive) - - - - Constant power - Constant power - - - - Mixing - Mixing - - - - Scratching - Scratching - - - - Linear - Linear - - - - Logarithmic - Logarithmic - - - - Reverse crossfader (Hamster Style) - Reverse crossfader (Hamster Style) - - - - Deck Equalizers - Deck Equalizers - - - - Only allow EQ knobs to control EQ-specific effects - Only allow EQ knobs to control EQ-specific effects - - - - Uncheck to allow any effect to be loaded into the EQ knobs. - Uncheck to allow any effect to be loaded into the EQ knobs. - - - - Use the same EQ filter for all decks - Use the same EQ filter for all decks - - - - Uncheck to allow different decks to use different EQ effects. - Uncheck to allow different decks to use different EQ effects. - - - - Equalizer Plugin - Equalizer Plugin - - - - Quick Effect - Quick Effect - - - - Bypass EQ effect processing - Bypass EQ effect processing - - - - When checked, EQs are not processed, improving performance on slower computers. - When checked, EQs are not processed, improving performance on slower computers. - - - - Resets the equalizers to their default values when loading a track. - Resets the equalizers to their default values when loading a track. - - - - Reset equalizers on track load - Reset equalizers on track load - - - - Resets the deck gain to unity when loading a track. - Resets the deck gain to unity when loading a track. - - - - Reset gain on track load - Reset gain on track load - - - - Equalizer frequency Shelves - Plages de fréquences de l'égaliseur - - - - High EQ - High EQ - - - - - 16 Hz - 16 Hz - - - - - 20.05 kHz - 20.05 kHz - - - - Low EQ - Low EQ - - - - Main EQ - Main EQ - - - - Reset Parameter - Reset Parameter - - - - DlgPrefModplug - - - Modplug Preferences - Modplug Preferences - - - - Maximum Number of Mixing Channels: - Maximum Number of Mixing Channels: - - - - Show Advanced Settings - Show Advanced Settings - - - - - - Low - Low - - - - Reverb Delay: - Reverb Delay: - - - - - - High - High - - - - None - None - - - - Bass Expansion - Bass Expansion - - - - Bass Range: - Bass Range: - - - - 16 - 16 - - - - Front/Rear Delay: - Front/Rear Delay: - - - - Pro-Logic Surround - Pro-Logic Surround - - - - Full - Full - - - - Reverb - Réverbération - - - - Stereo separation - Stereo separation - - - - 10Hz - 10Hz - - - - 10ms - 10ms - - - - 256 - 256 - - - - 5ms - 5ms - - - - 100Hz - 100Hz - - - - 250ms - 250ms - - - - 50ms - 50ms - - - - Noise reduction - Noise reduction - - - - Hints - Hints - - - - Module files are decoded at once and kept in RAM to allow for seeking and smooth operation in Mixxx. About 10MB of RAM are required for 1 minute of audio. - Module files are decoded at once and kept in RAM to allow for seeking and smooth operation in Mixxx. About 10MB of RAM are required for 1 minute of audio. - - - - Decoding options for libmodplug, a software library for loading and rendering module files (MOD music, tracker music). - Decoding options for libmodplug, a software library for loading and rendering module files (MOD music, tracker music). - - - - Decoding Options - Decoding Options - - - - Resampling mode (interpolation) - Resampling mode (interpolation) - - - - Enable oversampling - Enable oversampling - - - - Nearest (very fast, extremely bad quality) - Nearest (very fast, extremely bad quality) - - - - Linear (fast, good quality) - Linear (fast, good quality) - - - - Cubic Spline (high quality) - Cubic Spline (high quality) - - - - 8-tap FIR (extremely high quality) - 8-tap FIR (extremely high quality) - - - - Memory limit for single track (MB) - Memory limit for single track (MB) - - - - All settings take effect on next track load. Currently loaded tracks are not affected. For an explanation of these settings, see the %1 - All settings take effect on next track load. Currently loaded tracks are not affected. For an explanation of these settings, see the %1 - - - - DlgPrefRecord - - - Choose recordings directory - Choose recordings directory - - - - - Recordings directory invalid - Recordings directory invalid - - - - Recordings directory must be set to an existing directory. - Recordings directory must be set to an existing directory. - - - - Recordings directory must be set to a directory. - Recordings directory must be set to a directory. - - - - Recordings directory not writable - Recordings directory not writable - - - - You do not have write access to %1. Choose a recordings directory you have write access to. - You do not have write access to %1. Choose a recordings directory you have write access to. - - - - DlgPrefRecordDlg - - - Recording Preferences - Recording Preferences - - - - Browse... - Browse... - - - - - Quality - Quality - - - - Tags - Tags - - - - Title - Titre - - - - Author - Author - - - - Album - Album - - - - Output File Format - Output File Format - - - - Compression - Compression - - - - Lossy - Lossy - - - - Recording Files - Recording Files - - - - Directory: - Directory: - - - - Compression Level - Compression Level - - - - Lossless - Lossless - - - - Create a CUE file - Create a CUE file - - - - Split recordings at - Split recordings at - - - - DlgPrefReplayGain - - - %1 LUFS (adjust by %2 dB) - %1 LUFS (adjust by %2 dB) - - - - DlgPrefReplayGainDlg - - - Normalization Preferences - Normalization Preferences - - - - ReplayGain Loudness Normalization - ReplayGain Loudness Normalization - - - - Apply loudness normalization to loaded tracks. - Apply loudness normalization to loaded tracks. - - - - Apply ReplayGain - Apply ReplayGain - - - - -30 LUFS - -30 LUFS - - - - -6 LUFS - -6 LUFS - - - - When ReplayGain is enabled, adjust tracks lacking ReplayGain information by this amount. - When ReplayGain is enabled, adjust tracks lacking ReplayGain information by this amount. - - - - Initial boost without ReplayGain data - Initial boost without ReplayGain data - - - - ReplayGain targets a reference loudness of -18 LUFS (Loudness Units relative to Full Scale). You may increase it if you find Mixxx is too quiet or reduce it if you find that your tracks are clipping. You may also want to decrease the volume of unanalyzed tracks if you find they are often louder than ReplayGained tracks. For podcasting a loudness of -16 LUFS is recommended. - -The loudness target is approximate and assumes track pregain and main output level are unchanged. - - - - - For tracks with ReplayGain, adjust the target loudness to this LUFS value (Loudness Units relative to Full Scale). - For tracks with ReplayGain, adjust the target loudness to this LUFS value (Loudness Units relative to Full Scale). - - - - Target loudness - Target loudness - - - - -12 dB - -12 dB - - - - Analysis - Analysis - - - - ReplayGain 2.0 (ITU-R BS.1770) - ReplayGain 2.0 (ITU-R BS.1770) - - - - ReplayGain 1.0 - ReplayGain 1.0 - - - - Disabled - Disabled - - - - Re-analyze and override an existing value - Re-analyze and override an existing value - - - - When an unanalyzed track is playing, Mixxx will avoid an abrupt volume change by not applying a newly calculated ReplayGain value. - When an unanalyzed track is playing, Mixxx will avoid an abrupt volume change by not applying a newly calculated ReplayGain value. - - - - +12 dB - +12 dB - - - - Hints - Hints - - - - DlgPrefSound - - - %1 Hz - %1 Hz - - - - Default (long delay) - Default (long delay) - - - - Experimental (no delay) - Experimental (no delay) - - - - Disabled (short delay) - Disabled (short delay) - - - - Soundcard Clock - Soundcard Clock - - - - Network Clock - Network Clock - - - - Direct monitor (recording and broadcasting only) - Direct monitor (recording and broadcasting only) - - - - Disabled - Disabled - - - - Enabled - Activé - - - - Stereo - Stereo - - - - Mono - Mono - - - - To enable Realtime scheduling (currently disabled), see the %1. - To enable Realtime scheduling (currently disabled), see the %1. - - - - The %1 lists sound cards and controllers you may want to consider for using Mixxx. - The %1 lists sound cards and controllers you may want to consider for using Mixxx. - - - - Mixxx DJ Hardware Guide - Mixxx DJ Hardware Guide - - - - auto (<= 1024 frames/period) - - - - - 2048 frames/period - - - - - 4096 frames/period - - - - - Microphone inputs are out of time in the record & broadcast signal compared to what you hear. - Microphone inputs are out of time in the record & broadcast signal compared to what you hear. - - - - Measure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. - Measure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. - - - - - Refer to the Mixxx User Manual for details. - Refer to the Mixxx User Manual for details. - - - - Configured latency has changed. - Configured latency has changed. - - - - Remeasure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. - Remeasure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. - - - - Realtime scheduling is enabled. - Realtime scheduling is enabled. - - - - Main output only - Main output only - - - - Main and booth outputs - Main and booth outputs - - - - %1 ms - %1 ms - - - - Configuration error - Configuration error - - - - DlgPrefSoundDlg - - - Sound Hardware Preferences - Sound Hardware Preferences - - - - Sound API - Sound API - - - - Sample Rate - Sample Rate - - - - Audio Buffer - Audio Buffer - - - - Engine Clock - Engine Clock - - - - Use soundcard clock for live audience setups and lowest latency.<br>Use network clock for broadcasting without a live audience. - Use soundcard clock for live audience setups and lowest latency.<br>Use network clock for broadcasting without a live audience. - - - - Main Mix - Main Mix - - - - Main Output Mode - Main Output Mode - - - - Microphone Monitor Mode - Microphone Monitor Mode - - - - Microphone Latency Compensation - Microphone Latency Compensation - - - - - - - ms - milliseconds - ms - - - - 20 ms - 20 ms - - - - Buffer Underflow Count - Buffer Underflow Count - - - - 0 - 0 - - - - Keylock/Pitch-Bending Engine - Keylock/Pitch-Bending Engine - - - - Multi-Soundcard Synchronization - Multi-Soundcard Synchronization - - - - Output - Output - - - - Input - Input - - - - System Reported Latency - System Reported Latency - - - - Enlarge your audio buffer if the underflow counter is increasing or you hear pops during playback. - Enlarge your audio buffer if the underflow counter is increasing or you hear pops during playback. - - - - Main Output Delay - Main Output Delay - - - - Headphone Output Delay - Headphone Output Delay - - - - Booth Output Delay - Booth Output Delay - - - - Hints and Diagnostics - Hints and Diagnostics - - - - Downsize your audio buffer to improve Mixxx's responsiveness. - Downsize your audio buffer to improve Mixxx's responsiveness. - - - - Query Devices - Query Devices - - - - DlgPrefSoundItem - - - Channel %1 - Channel %1 - - - - Channels %1 - %2 - Channels %1 - %2 - - - - Sound Item Preferences - Constructs new sound items inside the Sound Hardware Preferences, representing an AudioPath and SoundDevice - Sound Item Preferences - - - - Type (#) - Type (#) - - - - DlgPrefVinylDlg - - - Input - Input - - - - Vinyl Configuration - Vinyl Configuration - - - - Show Signal Quality in Skin - Show Signal Quality in Skin - - - - Vinyl Control Preferences - Vinyl Control Preferences - - - - Turntable Input Signal Boost - Turntable Input Signal Boost - - - - 0 dB - 0 dB - - - - 44 dB - 44 dB - - - - Vinyl Type - Vinyl Type - - - - Lead-In - Lead-In - - - - Deck 1 - Deck 1 - - - - Deck 2 - Deck 2 - - - - Deck 3 - Deck 3 - - - - Deck 4 - Deck 4 - - - - Signal Quality - Signal Quality - - - - http://www.xwax.co.uk - http://www.xwax.co.uk - - - - Powered by xwax - Powered by xwax - - - - Hints - Hints - - - - Select sound devices for Vinyl Control in the Sound Hardware pane. - Select sound devices for Vinyl Control in the Sound Hardware pane. - - - - DlgPrefWaveform - - - Filtered - Filtered - - - - HSV - HSV - - - - RGB - RGB - - - - OpenGL not available - OpenGL not available - - - - dropped frames - dropped frames - - - - Cached waveforms occupy %1 MiB on disk. - Cached waveforms occupy %1 MiB on disk. - - - - DlgPrefWaveformDlg - - - Waveform Preferences - Waveform Preferences - - - - Frame rate - Frame rate - - - - Displays which OpenGL version is supported by the current platform. - Displays which OpenGL version is supported by the current platform. - - - - Normalize waveform overview - Normalize waveform overview - - - - Average frame rate - Average frame rate - - - - Visual gain - Visual gain - - - - Default zoom level - Waveform zoom - Default zoom level - - - - Displays the actual frame rate. - Displays the actual frame rate. - - - - Visual gain of the middle frequencies - Visual gain of the middle frequencies - - - - End of track warning - Avertissement de fin de piste - - - - OpenGL status - OpenGL status - - - - Highlight the waveforms when the last seconds of a track remains. - Highlight the waveforms when the last seconds of a track remains. - - - - seconds - seconds - - - - Low - Low - - - - Middle - Middle - - - - Global - Global - - - - Visual gain of the high frequencies - Visual gain of the high frequencies - - - - Visual gain of the low frequencies - Visual gain of the low frequencies - - - - High - High - - - - Waveform type - Waveform type - - - - Global visual gain - Global visual gain - - - - The waveform overview shows the waveform envelope of the entire track. -Select from different types of displays for the waveform overview, which differ primarily in the level of detail shown in the waveform. - The waveform overview shows the waveform envelope of the entire track. -Select from different types of displays for the waveform overview, which differ primarily in the level of detail shown in the waveform. - - - - The waveform shows the waveform envelope of the track near the current playback position. -Select from different types of displays for the waveform, which differ primarily in the level of detail shown in the waveform. - The waveform shows the waveform envelope of the track near the current playback position. -Select from different types of displays for the waveform, which differ primarily in the level of detail shown in the waveform. - - - - Waveform overview type - Waveform overview type - - - - fps - fps - - - - Synchronize zoom level across all waveform displays. - Synchronize zoom level across all waveform displays. - - - - Synchronize zoom level across all waveforms - Synchronize zoom level across all waveforms - - - - Caching - Caching - - - - Mixxx caches the waveforms of your tracks on disk the first time you load a track. This reduces CPU usage when you are playing live but requires extra disk space. - Mixxx caches the waveforms of your tracks on disk the first time you load a track. This reduces CPU usage when you are playing live but requires extra disk space. - - - - Enable waveform caching - Enable waveform caching - - - - Generate waveforms when analyzing library - Generate waveforms when analyzing library - - - - Beat grid opacity - Beat grid opacity - - - - Set amount of opacity on beat grid lines. - Set amount of opacity on beat grid lines. - - - - % - % - - - - Play marker position - Play marker position - - - - Moves the play marker position on the waveforms to the left, right or center (default). - Moves the play marker position on the waveforms to the left, right or center (default). - - - - Clear Cached Waveforms - Clear Cached Waveforms - - - - DlgPreferences - - - Sound Hardware - Sound Hardware - - - - Controllers - Controllers - - - - Library - Library - - - - Interface - Interface - - - - Waveforms - Waveforms - - - - Mixer - Mixer - - - - Auto DJ - Auto DJ - - - - Decks - Decks - - - - Colors - Colors - - - - &Help - Preferences standard buttons: consider the other buttons to choose a unique Alt hotkey (&) - &Help - - - - &Restore Defaults - Preferences standard buttons: consider the other buttons to choose a unique Alt hotkey (&) - - - - - &Apply - Preferences standard buttons: consider the other buttons to choose a unique Alt hotkey (&) - &Apply - - - - &Cancel - Preferences standard buttons: consider the other buttons to choose a unique Alt hotkey (&) - &Cancel - - - - &Ok - Preferences standard buttons: consider the other buttons to choose a unique Alt hotkey (&) - &Ok - - - - Effects - Effets - - - - Recording - Recording - - - - Beat Detection - Beat Detection - - - - Key Detection - Key Detection - - - - Normalization - Normalization - - - - <font color='#BB0000'><b>Some preferences pages have errors. To apply the changes please first fix the issues.</b></font> - <font color='#BB0000'><b>Some preferences pages have errors. To apply the changes please first fix the issues.</b></font> - - - - Vinyl Control - Vinyl Control - - - - Live Broadcasting - Diffusion en direct - - - - Modplug Decoder - Modplug Decoder - - - - DlgPreferencesDlg - - - Preferences - Preferences - - - - 1 - 1 - - - - - TextLabel - TextLabel - - - - DlgRecording - - - Recordings - Recordings - - - - - Start Recording - Start Recording - - - - Recording to file: - Recording to file: - - - - Stop Recording - Stop Recording - - - - %1 MiB written in %2 - %1 MiB written in %2 - - - - DlgReplaceCueColor - - - Replace Hotcue Color - Replace Hotcue Color - - - - Replace cue color if … - Replace cue color if … - - - - Hotcue index - Hotcue index - - - - - is - is - - - - - is not - is not - - - - Current cue color - Current cue color - - - - If you don't specify any conditions, the colors of all cues in the library will be replaced. - If you don't specify any conditions, the colors of all cues in the library will be replaced. - - - - … by: - … by: - - - - New cue color - New cue color - - - - Selecting database rows... - Selecting database rows... - - - - No colors changed! - No colors changed! - - - - No cues matched the specified criteria. - No cues matched the specified criteria. - - - - Confirm Color Replacement - Confirm Color Replacement - - - - The colors of %1 cues in %2 tracks will be replaced. This change cannot be undone! Are you sure? - The colors of %1 cues in %2 tracks will be replaced. This change cannot be undone! Are you sure? - - - - DlgTagFetcher - - - MusicBrainz - MusicBrainz - - - - Select best possible match - Select best possible match - - - - - Track - Track - - - - - Year - Année - - - - Title - Titre - - - - - Artist - Artiste - - - - - Album - Album - - - - Album Artist - Artiste de l'album - - - - Fetching track data from the MusicBrainz database - Fetching track data from the MusicBrainz database - - - - Get API-Key - To be able to submit audio fingerprints to the MusicBrainz database, a free application programming interface key (API key) is required. - Get API-Key - - - - Submit - Submits audio fingerprints to the MusicBrainz database. - Submit - - - - New Column - New Column - - - - New Item - New Item - - - - Current Cover Art - Image de Couverture Courante - - - - Found Cover Art - Pochette d'Album Trouvée - - - - Apply Cover - Appliquer la Pochette - - - - The results are ready to be applied. - Les résultats sont prêts à être appliqués. - - - - Retry - Retry - - - - &Previous - &Previous - - - - &Next - &Next - - - - &Apply - &Apply - - - - &Close - &Close - - - - Original tags - Original tags - - - - %1 - %1 - - - - Could not find this track in the MusicBrainz database. - Impossible de trouver cette piste dans la base de données MusicBrainz. - - - - Suggested tags - Suggested tags - - - - The results are ready to be applied - Les résultats sont prêts à être appliqués - - - - Can't connect to %1: %2 - Impossible de se connecter à %1 : %2 - - - - Looking for cover art - Recherche de pochette d'album - - - - Cover art found, receiving image. - Pochette d'album trouvée, réception de l'image. - - - - Cover Art is not available for selected metadata - La pochette d'image n'est pas disponible pour les métadonnées sélectionnées - - - - Metadata & Cover Art applied - Métadonnées & Pochette d'Album appliquées - - - - Selected cover art applied - Pochette d'album sélectionnée appliquée - - - - Cover Art File Already Exists - La Pochette d'Album Existe Déjà - - - - File: %1 -Folder: %2 -Override existing file? -This can not be undone! - Fichier : %1 -Dossier : %2 -Écraser le fichier existant ? -Cette opération est irréversible ! - - - - DlgTrackExport - - - Export Tracks - Export Tracks - - - - Exporting Tracks - Exporting Tracks - - - - (status text) - (status text) - - - - &Cancel - &Cancel - - - - DlgTrackInfo - - - Track Editor - Track Editor - - - - Summary - Summary - - - - Filetype: - Filetype: - - - - BPM: - BPM: - - - - Location: - Location: - - - - Bitrate: - Bitrate: - - - - Comments - Comments - - - - BPM - BPM - - - - Sets the BPM to 75% of the current value. - Sets the BPM to 75% of the current value. - - - - 3/4 BPM - 3/4 BPM - - - - Sets the BPM to 50% of the current value. - Sets the BPM to 50% of the current value. - - - - Displays the BPM of the selected track. - Displays the BPM of the selected track. - - - - Track # - Piste n° - - - - Album Artist - Artiste de l'album - - - - Composer - Compositeur - - - - Title - Titre - - - - Grouping - Regroupement - - - - Key - Clé - - - - Year - Année - - - - Artist - Artiste - - - - Album - Album - - - - Genre - Genre - - - - ReplayGain: - ReplayGain: - - - - Sets the BPM to 200% of the current value. - Sets the BPM to 200% of the current value. - - - - Double BPM - Double BPM - - - - Halve BPM - Halve BPM - - - - Clear BPM and Beatgrid - Clear BPM and Beatgrid - - - - Move to the previous item. - "Previous" button - Move to the previous item. - - - - &Previous - &Previous - - - - Move to the next item. - "Next" button - Move to the next item. - - - - &Next - &Next - - - - Duration: - Duration: - - - - Import Metadata from MusicBrainz - Import Metadata from MusicBrainz - - - - Re-Import Metadata from file - Re-Import Metadata from file - - - - Color - Couleur - - - - Date added: - Date added: - - - - Open in File Browser - Open in File Browser - - - - Samplerate: - - - - - Track BPM: - Track BPM: - - - - Converts beats detected by the analyzer into a fixed-tempo beatgrid. -Use this setting if your tracks have a constant tempo (e.g. most electronic music). -Often results in higher quality beatgrids, but will not do well on tracks that have tempo shifts. - Converts beats detected by the analyzer into a fixed-tempo beatgrid. -Use this setting if your tracks have a constant tempo (e.g. most electronic music). -Often results in higher quality beatgrids, but will not do well on tracks that have tempo shifts. - - - - Assume constant tempo - Assume constant tempo - - - - Sets the BPM to 66% of the current value. - Sets the BPM to 66% of the current value. - - - - 2/3 BPM - 2/3 BPM - - - - Sets the BPM to 150% of the current value. - Sets the BPM to 150% of the current value. - - - - 3/2 BPM - 3/2 BPM - - - - Sets the BPM to 133% of the current value. - Sets the BPM to 133% of the current value. - - - - 4/3 BPM - 4/3 BPM - - - - Tap with the beat to set the BPM to the speed you are tapping. - Tap with the beat to set the BPM to the speed you are tapping. - - - - Tap to Beat - Tap to Beat - - - - Hint: Use the Library Analyze view to run BPM detection. - Hint: Use the Library Analyze view to run BPM detection. - - - - Save changes and close the window. - "OK" button - Save changes and close the window. - - - - &OK - &OK - - - - Discard changes and close the window. - "Cancel" button - Discard changes and close the window. - - - - Save changes and keep the window open. - "Apply" button - Save changes and keep the window open. - - - - &Apply - &Apply - - - - &Cancel - &Cancel - - - - (no color) - (pas de couleur) - - - - EffectChainPresetManager - - - Import effect chain preset - Import effect chain preset - - - - - Mixxx Effect Chain Presets - Mixxx Effect Chain Presets - - - - Error importing effect chain preset - Error importing effect chain preset - - - - Error importing effect chain preset "%1" - Error importing effect chain preset "%1" - - - - - imported - Importé - - - - duplicate - duplicate - - - - The effect chain imported from "%1" contains an effect that is not available: - The effect chain imported from "%1" contains an effect that is not available: - - - - If you load this chain preset, the unsupported effect will not be loaded with it. - If you load this chain preset, the unsupported effect will not be loaded with it. - - - - Export effect chain preset - Export effect chain preset - - - - Error exporting effect chain preset - Error exporting effect chain preset - - - - Could not save effect chain preset "%1" to file "%2". - Could not save effect chain preset "%1" to file "%2". - - - - Effect chain preset can not be renamed - La présélection de chaine d'effet ne peut pas être renommée - - - - Effect chain preset "%1" is read-only and can not be renamed. - Le préréglage de chaîne d'effet "%1" est en lecture seule et ne peut être renommé. - - - - Rename effect chain preset - Rename effect chain preset - - - - New name for effect chain preset - New name for effect chain preset - - - - - Effect chain preset name must not be empty. - Effect chain preset name must not be empty. - - - - - Invalid name "%1" - Nom "%1" invalide - - - - - An effect chain preset named "%1" already exists. - An effect chain preset named "%1" already exists. - - - - Error removing old effect chain preset - Error removing old effect chain preset - - - - Could not remove old effect chain preset "%1" - Could not remove old effect chain preset "%1" - - - - Effect chain preset can not be deleted - Le préréglage de chaîne d'effet ne peut être supprimé - - - - Effect chain preset "%1" is read-only and can not be deleted. - Le préréglage de chaîne d'effet "%1" est en lecture seule et ne peut être supprimé. - - - - Remove effect chain preset - Remove effect chain preset - - - - Are you sure you want to delete the effect chain preset "%1"? - Are you sure you want to delete the effect chain preset "%1"? - - - - Error deleting effect chain preset - Error deleting effect chain preset - - - - Could not delete effect chain preset "%1" - Could not delete effect chain preset "%1" - - - - Save preset for effect chain - Save preset for effect chain - - - - Name for new effect chain preset: - Name for new effect chain preset: - - - - Error saving effect chain preset - Error saving effect chain preset - - - - Could not save effect chain preset "%1" - Could not save effect chain preset "%1" - - - - EffectManifestTableModel - - - Type - Type - - - - Name - Nom - - - - EffectParameterSlotBase - - - No effect loaded. - No effect loaded. - - - - EffectsBackend - - - Built-In - Backend type for effects that are built into Mixxx. - Prédéfini - - - - Unknown - Backend type for effects were the backend is unknown. - Inconnu(e) - - - - EmptyWaveformWidget - - - Empty - Empty - - - - EngineBuffer - - - Soundtouch (faster) - Soundtouch (faster) - - - - Rubberband (better) - Rubberband (better) - - - - Rubberband R3 (near-hi-fi quality) - Rubberband R3 (qualité quasi-hi-fi) - - - - Unknown, using Rubberband (better) - Inconnu, utilisation de Rubberband (meilleure) - - - - ErrorDialogHandler - - - Fatal error - Fatal error - - - - Critical error - Critical error - - - - Warning - Warning - - - - Information - Information - - - - Question - Question - - - - FindOnWebMenuDiscogs - - - Artist - Artiste - - - - Artist + Title - Artiste + Titre - - - - Title - Titre - - - - Artist + Album - Artiste + Album - - - - Album - Album - - - - FindOnWebMenuLastfm - - - Artist - Artiste - - - - Artist + Title - Artiste + Titre - - - - Title - Titre - - - - Artist + Album - Artiste + Album - - - - Album - Album - - - - FindOnWebMenuSoundcloud - - - Artist - Artiste - - - - Artist + Title - Artiste + Titre - - - - Title - Titre - - - - Artist + Album - Artiste + Album - - - - Album - Album - - - - GLRGBWaveformWidget - - - RGB - RGB - - - - GLSLFilteredWaveformWidget - - - Filtered - Filtered - - - - GLSLRGBStackedWaveformWidget - - - RGB Stacked - RGB Stacked - - - - GLSLRGBWaveformWidget - - - RGB - RGB - - - - GLSimpleWaveformWidget - - - Simple - Simple - - - - GLVSyncTestWidget - - - VSyncTest - VSyncTest - - - - GLWaveformWidget - - - Filtered - Filtered - - - - HSVWaveformWidget - - - HSV - HSV - - - - ITunesFeature - - - - iTunes - iTunes - - - - Select your iTunes library - Select your iTunes library - - - - (loading) iTunes - (loading) iTunes - - - - Use Default Library - Use Default Library - - - - Choose Library... - Choose Library... - - - - Error Loading iTunes Library - Error Loading iTunes Library - - - - There was an error loading your iTunes library. Some of your iTunes tracks or playlists may not have loaded. - There was an error loading your iTunes library. Some of your iTunes tracks or playlists may not have loaded. - - - - LegacySkinParser - - - - Safe Mode Enabled - Shown when Mixxx is running in safe mode. - Safe Mode Enabled - - - - - No OpenGL -support. - Shown when Spinny can not be displayed. Please keep - unchanged ----------- -Shown when VuMeter can not be displayed. Please keep - unchanged - No OpenGL -support. - - - - activate - activate - - - - toggle - toggle - - - - right - right - - - - left - left - - - - right small - right small - - - - left small - left small - - - - up - up - - - - down - down - - - - up small - up small - - - - down small - down small - - - - Shortcut - Shortcut - - - - Library - - - Add Directory to Library - Add Directory to Library - - - - Could not add the directory to your library. Either this directory is already in your library or you are currently rescanning your library. - Could not add the directory to your library. Either this directory is already in your library or you are currently rescanning your library. - - - - LibraryFeature - - - Import Playlist - Importer une liste de lecture - - - - Playlist Files (*.m3u *.m3u8 *.pls *.csv) - Playlist Files (*.m3u *.m3u8 *.pls *.csv) - - - - Overwrite File? - Overwrite File? - - - - A playlist file with the name "%1" already exists. -The default "m3u" extension was added because none was specified. - -Do you really want to overwrite it? - A playlist file with the name "%1" already exists. -The default "m3u" extension was added because none was specified. - -Do you really want to overwrite it? - - - - LibraryScannerDlg - - - Library Scanner - Library Scanner - - - - It's taking Mixxx a minute to scan your music library, please wait... - It's taking Mixxx a minute to scan your music library, please wait... - - - - Cancel - Cancel - - - - Scanning: - Scanning: - - - - Scanning cover art (safe to cancel) - Scanning cover art (safe to cancel) - - - - LibraryTableModel - - - Sort items randomly - Sort items randomly - - - - MidiController - - - MIDI Controller - MIDI Controller - - - - MixxxControl(s) not found - MixxxControl(s) not found - - - - One or more MixxxControls specified in the outputs section of the loaded mapping were invalid. - One or more MixxxControls specified in the outputs section of the loaded mapping were invalid. - - - - * Make sure the MixxxControls in question actually exist. Visit the manual for a complete list: - * Make sure the MixxxControls in question actually exist. Visit the manual for a complete list: - - - - Some LEDs or other feedback may not work correctly. - Some LEDs or other feedback may not work correctly. - - - - * Check to see that the MixxxControl names are spelled correctly in the mapping file (.xml) - - * Check to see that the MixxxControl names are spelled correctly in the mapping file (.xml) - - - - - MixxxDb - - - Click OK to exit. - Click OK to exit. - - - - Cannot upgrade database schema - Cannot upgrade database schema - - - - Unable to upgrade your database schema to version %1 - Unable to upgrade your database schema to version %1 - - - - For help with database issues consult: - For help with database issues consult: - - - - Your mixxxdb.sqlite file may be corrupt. - Your mixxxdb.sqlite file may be corrupt. - - - - Try renaming it and restarting Mixxx. - Try renaming it and restarting Mixxx. - - - - Your mixxxdb.sqlite file was created by a newer version of Mixxx and is incompatible. - Your mixxxdb.sqlite file was created by a newer version of Mixxx and is incompatible. - - - - The database schema file is invalid. - The database schema file is invalid. - - - - MixxxLibraryFeature - - - Missing Tracks - Missing Tracks - - - - Hidden Tracks - Hidden Tracks - - - - Export to Engine Prime - Export to Engine Prime - - - - Tracks - Tracks - - - - MixxxMainWindow - - - Sound Device Busy - Sound Device Busy - - - - <b>Retry</b> after closing the other application or reconnecting a sound device - <b>Retry</b> after closing the other application or reconnecting a sound device - - - - - - <b>Reconfigure</b> Mixxx's sound device settings. - <b>Reconfigure</b> Mixxx's sound device settings. - - - - - Get <b>Help</b> from the Mixxx Wiki. - Get <b>Help</b> from the Mixxx Wiki. - - - - - - <b>Exit</b> Mixxx. - <b>Exit</b> Mixxx. - - - - Retry - Retry - - - - skin - skin - - - - - Reconfigure - Reconfigure - - - - Help - Help - - - - - Exit - Exit - - - - - Mixxx was unable to open all the configured sound devices. - Mixxx was unable to open all the configured sound devices. - - - - Sound Device Error - Sound Device Error - - - - <b>Retry</b> after fixing an issue - <b>Retry</b> after fixing an issue - - - - No Output Devices - No Output Devices - - - - Mixxx was configured without any output sound devices. Audio processing will be disabled without a configured output device. - Mixxx was configured without any output sound devices. Audio processing will be disabled without a configured output device. - - - - <b>Continue</b> without any outputs. - <b>Continue</b> without any outputs. - - - - Continue - Continue - - - - Load track to Deck %1 - Load track to Deck %1 - - - - Deck %1 is currently playing a track. - Deck %1 is currently playing a track. - - - - Are you sure you want to load a new track? - Are you sure you want to load a new track? - - - - There is no input device selected for this vinyl control. -Please select an input device in the sound hardware preferences first. - There is no input device selected for this vinyl control. -Please select an input device in the sound hardware preferences first. - - - - There is no input device selected for this passthrough control. -Please select an input device in the sound hardware preferences first. - There is no input device selected for this passthrough control. -Please select an input device in the sound hardware preferences first. - - - - There is no input device selected for this microphone. -Do you want to select an input device? - There is no input device selected for this microphone. -Do you want to select an input device? - - - - There is no input device selected for this auxiliary. -Do you want to select an input device? - There is no input device selected for this auxiliary. -Do you want to select an input device? - - - - Error in skin file - Error in skin file - - - - The selected skin cannot be loaded. - The selected skin cannot be loaded. - - - - OpenGL Direct Rendering - OpenGL Direct Rendering - - - - Direct rendering is not enabled on your machine.<br><br>This means that the waveform displays will be very<br><b>slow and may tax your CPU heavily</b>. Either update your<br>configuration to enable direct rendering, or disable<br>the waveform displays in the Mixxx preferences by selecting<br>"Empty" as the waveform display in the 'Interface' section. - Direct rendering is not enabled on your machine.<br><br>This means that the waveform displays will be very<br><b>slow and may tax your CPU heavily</b>. Either update your<br>configuration to enable direct rendering, or disable<br>the waveform displays in the Mixxx preferences by selecting<br>"Empty" as the waveform display in the 'Interface' section. - - - - - - Confirm Exit - Confirm Exit - - - - A deck is currently playing. Exit Mixxx? - A deck is currently playing. Exit Mixxx? - - - - A sampler is currently playing. Exit Mixxx? - A sampler is currently playing. Exit Mixxx? - - - - The preferences window is still open. - The preferences window is still open. - - - - Discard any changes and exit Mixxx? - Discard any changes and exit Mixxx? - - - - MockNetworkReply - - - Operation canceled - Opération annulée - - - - PlaylistFeature - - - Lock - Verrouiller - - - - - Playlists - Playlists - - - - Unlock - Unlock - - - - Playlists are ordered lists of tracks that allow you to plan your DJ sets. - Playlists are ordered lists of tracks that allow you to plan your DJ sets. - - - - It may be necessary to skip some tracks in your prepared playlist or add some different tracks in order to maintain the energy of your audience. - It may be necessary to skip some tracks in your prepared playlist or add some different tracks in order to maintain the energy of your audience. - - - - Some DJs construct playlists before they perform live, but others prefer to build them on-the-fly. - Some DJs construct playlists before they perform live, but others prefer to build them on-the-fly. - - - - When using a playlist during a live DJ set, remember to always pay close attention to how your audience reacts to the music you've chosen to play. - When using a playlist during a live DJ set, remember to always pay close attention to how your audience reacts to the music you've chosen to play. - - - - Create New Playlist - Créer une nouvelle playlist - - - - QMessageBox - - - Upgrading Mixxx - Upgrading Mixxx - - - - Mixxx now supports displaying cover art. -Do you want to scan your library for cover files now? - Mixxx now supports displaying cover art. -Do you want to scan your library for cover files now? - - - - Scan - Scan - - - - Later - Later - - - - Upgrading Mixxx from v1.9.x/1.10.x. - Upgrading Mixxx from v1.9.x/1.10.x. - - - - Mixxx has a new and improved beat detector. - Mixxx has a new and improved beat detector. - - - - When you load tracks, Mixxx can re-analyze them and generate new, more accurate beatgrids. This will make automatic beatsync and looping more reliable. - When you load tracks, Mixxx can re-analyze them and generate new, more accurate beatgrids. This will make automatic beatsync and looping more reliable. - - - - This does not affect saved cues, hotcues, playlists, or crates. - This does not affect saved cues, hotcues, playlists, or crates. - - - - If you do not want Mixxx to re-analyze your tracks, choose "Keep Current Beatgrids". You can change this setting at any time from the "Beat Detection" section of the Preferences. - If you do not want Mixxx to re-analyze your tracks, choose "Keep Current Beatgrids". You can change this setting at any time from the "Beat Detection" section of the Preferences. - - - - Keep Current Beatgrids - Keep Current Beatgrids - - - - Generate New Beatgrids - Generate New Beatgrids - - - - QObject - - - Invalid - Invalid - - - - Note On - Note On - - - - Note Off - Note Off - - - - CC - CC - - - - Pitch Bend - Pitch Bend - - - - - Unknown (0x%1) - Unknown (0x%1) - - - - Normal - Normal - - - - Invert - Invert - - - - Rot64 - Rot64 - - - - Rot64Inv - Rot64Inv - - - - Rot64Fast - Rot64Fast - - - - Diff - Diff - - - - Button - Button - - - - Switch - Switch - - - - Spread64 - Spread64 - - - - HercJog - HercJog - - - - SelectKnob - SelectKnob - - - - SoftTakeover - SoftTakeover - - - - Script - Script - - - - 14-bit (LSB) - 14-bit (LSB) - - - - 14-bit (MSB) - 14-bit (MSB) - - - - Main - Main - - - - Booth - Booth - - - - Headphones - Headphones - - - - Left Bus - Left Bus - - - - Center Bus - Center Bus - - - - Right Bus - Right Bus - - - - Invalid Bus - Invalid Bus - - - - Deck - Deck - - - - Record/Broadcast - Record/Broadcast - - - - Vinyl Control - Vinyl Control - - - - Microphone - Microphone - - - - Auxiliary - Auxiliary - - - - - Unknown path type %1 - Unknown path type %1 - - - - Using Opus at samplerates other than 48 kHz is not supported by the Opus encoder. Please use 48000 Hz in "Sound Hardware" preferences or switch to a different encoding. - Using Opus at samplerates other than 48 kHz is not supported by the Opus encoder. Please use 48000 Hz in "Sound Hardware" preferences or switch to a different encoding. - - - - Encoder - Encoder - - - - Mixxx Needs Access to: %1 - Mixxx Needs Access to: %1 - - - - Your permission is required to access the following location: - -%1 - -After clicking OK, you will see a file picker. Please select '%2' to proceed or click Cancel if you don't want to grant Mixxx access and abort this action. - Your permission is required to access the following location: - -%1 - -After clicking OK, you will see a file picker. Please select '%2' to proceed or click Cancel if you don't want to grant Mixxx access and abort this action. - - - - You selected the wrong file. To grant Mixxx access, please select the file '%1'. If you do not want to continue, press Cancel. - You selected the wrong file. To grant Mixxx access, please select the file '%1'. If you do not want to continue, press Cancel. - - - - Upgrading old Mixxx settings - Upgrading old Mixxx settings - - - - Due to macOS sandboxing, Mixxx needs your permission to access your music library and settings from Mixxx versions before 2.3.0. After clicking OK, you will see a file selection dialog. - -To allow Mixxx to use your old library and settings, click the Open button in the file selection dialog. Mixxx will then move your old settings into the sandbox. This only needs to be done once. - -If you do not want to grant Mixxx access, click Cancel on the file picker. Mixxx will create a new music library and use default settings. - Due to macOS sandboxing, Mixxx needs your permission to access your music library and settings from Mixxx versions before 2.3.0. After clicking OK, you will see a file selection dialog. - -To allow Mixxx to use your old library and settings, click the Open button in the file selection dialog. Mixxx will then move your old settings into the sandbox. This only needs to be done once. - -If you do not want to grant Mixxx access, click Cancel on the file picker. Mixxx will create a new music library and use default settings. - - - - - Bit Depth - Bit Depth - - - - - Bitcrusher - Bitcrusher - - - - Adds noise by the reducing the bit depth and sample rate - Adds noise by the reducing the bit depth and sample rate - - - - The bit depth of the samples - The bit depth of the samples - - - - Downsampling - Downsampling - - - - Down - Down - - - - The sample rate to which the signal is downsampled - The sample rate to which the signal is downsampled - - - - - Echo - Echo - - - - - - - Time - Time - - - - - Ping Pong - Ping Pong - - - - - - - Send - Send - - - - How much of the signal to send into the delay buffer - How much of the signal to send into the delay buffer - - - - - - - Feedback - Feedback - - - - Stores the input signal in a temporary buffer and outputs it after a short time - Stores the input signal in a temporary buffer and outputs it after a short time - - - - - Delay time -1/8 - 2 beats if tempo is detected -1/8 - 2 seconds if no tempo is detected - Delay time -1/8 - 2 beats if tempo is detected -1/8 - 2 seconds if no tempo is detected - - - - Amount the echo fades each time it loops - Amount the echo fades each time it loops - - - - How much the echoed sound bounces between the left and right sides of the stereo field - How much the echoed sound bounces between the left and right sides of the stereo field - - - - - - - - - Quantize - Quantize - - - - Round the Time parameter to the nearest 1/4 beat. - Round the Time parameter to the nearest 1/4 beat. - - - - - - - - - - - - Triplets - Triplets - - - - When the Quantize parameter is enabled, divide rounded 1/4 beats of Time parameter by 3. - When the Quantize parameter is enabled, divide rounded 1/4 beats of Time parameter by 3. - - - - - Filter - Filter - - - - Allows only high or low frequencies to play. - Allows only high or low frequencies to play. - - - - Low Pass Filter Cutoff - Low Pass Filter Cutoff - - - - - LPF - LPF - - - - - Corner frequency ratio of the low pass filter - Corner frequency ratio of the low pass filter - - - - Q - Q - - - - Resonance of the filters -Default: flat top - Resonance of the filters -Default: flat top - - - - High Pass Filter Cutoff - High Pass Filter Cutoff - - - - - HPF - HPF - - - - - Corner frequency ratio of the high pass filter - Corner frequency ratio of the high pass filter - - - - - - - Depth - Depth - - - - - Flanger - Flanger - - - - - Speed - Speed - - - - - Manual - Manuel - - - - Mixes the input with a delayed, pitch modulated copy of itself to create comb filtering - Mixes the input with a delayed, pitch modulated copy of itself to create comb filtering - - - - Speed of the LFO (low frequency oscillator) -32 - 1/4 beats rounded to 1/2 beat per LFO cycle if tempo is detected -1/32 - 4 Hz if no tempo is detected - Speed of the LFO (low frequency oscillator) -32 - 1/4 beats rounded to 1/2 beat per LFO cycle if tempo is detected -1/32 - 4 Hz if no tempo is detected - - - - Delay amplitude of the LFO (low frequency oscillator) - Delay amplitude of the LFO (low frequency oscillator) - - - - Delay offset of the LFO (low frequency oscillator). -With width at zero, this allows for manually sweeping over the entire delay range. - Delay offset of the LFO (low frequency oscillator). -With width at zero, this allows for manually sweeping over the entire delay range. - - - - Regeneration - Regeneration - - - - Regen - Regen - - - - How much of the delay output is feed back into the input - How much of the delay output is feed back into the input - - - - - Intensity of the effect - Intensity of the effect - - - - - Divide rounded 1/2 beats of the Period parameter by 3. - Divide rounded 1/2 beats of the Period parameter by 3. - - - - - Mix - Mix - - - - - - - - - Width - Width - - - - Metronome - Metronome - - - - Adds a metronome click sound to the stream - Adds a metronome click sound to the stream - - - - BPM - BPM - - - - Set the beats per minute value of the click sound - Set the beats per minute value of the click sound - - - - Sync - Sync - - - - Synchronizes the BPM with the track if it can be retrieved - Synchronizes the BPM with the track if it can be retrieved - - - - - - - Period - Period - - - - - Autopan - Autopan - - - - Bounce the sound left and right across the stereo field - Bounce the sound left and right across the stereo field - - - - How fast the sound goes from one side to another -1/4 - 4 beats rounded to 1/2 beat if tempo is detected -1/4 - 4 seconds if no tempo is detected - How fast the sound goes from one side to another -1/4 - 4 beats rounded to 1/2 beat if tempo is detected -1/4 - 4 seconds if no tempo is detected - - - - Smoothing - Smoothing - - - - Smooth - Smooth - - - - How smoothly the signal goes from one side to the other - How smoothly the signal goes from one side to the other - - - - How far the signal goes to each side - How far the signal goes to each side - - - - Reverb - Réverbération - - - - Emulates the sound of the signal bouncing off the walls of a room - Emulates the sound of the signal bouncing off the walls of a room - - - - - Decay - Decay - - - - Lower decay values cause reverberations to fade out more quickly. - Lower decay values cause reverberations to fade out more quickly. - - - - Bandwidth of the low pass filter at the input. -Higher values result in less attenuation of high frequencies. - Bandwidth of the low pass filter at the input. -Higher values result in less attenuation of high frequencies. - - - - How much of the signal to send in to the effect - How much of the signal to send in to the effect - - - - Bandwidth - Bandwidth - - - - BW - BW - - - - - Damping - Damping - - - - Higher damping values cause high frequencies to decay more quickly than low frequencies. - Higher damping values cause high frequencies to decay more quickly than low frequencies. - - - - - - Low - Low - - - - - - Gain for Low Filter - Gain for Low Filter - - - - Kill Low - Kill Low - - - - Kill the Low Filter - Kill the Low Filter - - - - Mid - Mid - - - - Bessel4 LV-Mix Isolator - Bessel4 LV-Mix Isolator - - - - Bessel4 ISO - Bessel4 ISO - - - - A Bessel 4th-order filter isolator with Lipshitz and Vanderkooy mix (bit perfect unity, roll-off -24 dB/octave). - A Bessel 4th-order filter isolator with Lipshitz and Vanderkooy mix (bit perfect unity, roll-off -24 dB/octave). - - - - Gain for Mid Filter - Gain for Mid Filter - - - - Kill Mid - Kill Mid - - - - Kill the Mid Filter - Kill the Mid Filter - - - - High - High - - - - - Gain for High Filter - Gain for High Filter - - - - Kill High - Kill High - - - - Kill the High Filter - Kill the High Filter - - - - To adjust frequency shelves, go to Preferences -> Mixer. - - - - - Graphic Equalizer - Graphic Equalizer - - - - Graphic EQ - Graphic EQ - - - - An 8-band graphic equalizer based on biquad filters - An 8-band graphic equalizer based on biquad filters - - - - Gain for Band Filter %1 - Gain for Band Filter %1 - - - - Moog Ladder 4 Filter - Moog Ladder 4 Filter - - - - Moog Filter - Moog Filter - - - - A 4-pole Moog ladder filter, based on Antti Houvilainen's non linear digital implementation - A 4-pole Moog ladder filter, based on Antti Houvilainen's non linear digital implementation - - - - Res - Res - - - - - Resonance - Resonance - - - - Resonance of the filters. 4 = self oscillating - Resonance of the filters. 4 = self oscillating - - - - Gain for Low Filter (neutral at 1.0) - Gain for Low Filter (neutral at 1.0) - - - - Network stream - Network stream - - - - - Phaser - Phaser - - - - - Stereo - Stereo - - - - - Stages - Stages - - - - Mixes the input signal with a copy passed through a series of all-pass filters to create comb filtering - Mixes the input signal with a copy passed through a series of all-pass filters to create comb filtering - - - - Period of the LFO (low frequency oscillator) -1/4 - 4 beats rounded to 1/2 beat if tempo is detected -1/4 - 4 seconds if no tempo is detected - Period of the LFO (low frequency oscillator) -1/4 - 4 beats rounded to 1/2 beat if tempo is detected -1/4 - 4 seconds if no tempo is detected - - - - Controls how much of the output signal is looped - Controls how much of the output signal is looped - - - - - - - Range - Range - - - - Controls the frequency range across which the notches sweep. - Controls the frequency range across which the notches sweep. - - - - Number of stages - Number of stages - - - - Sets the LFOs (low frequency oscillators) for the left and right channels out of phase with each others - Sets the LFOs (low frequency oscillators) for the left and right channels out of phase with each others - - - - %1 minutes - %1 minutes - - - - %1:%2 - %1:%2 - - - - Ctrl+t - Ctrl+t - - - - Ctrl+y - Ctrl+y - - - - Ctrl+u - Ctrl+u - - - - Ctrl+i - Ctrl+i - - - - Ctrl+o - Ctrl+o - - - - Ctrl+Shift+O - Ctrl+Shift+O - - - - Ctrl+, - Ctrl+, - - - - Ctrl+P - Ctrl+P - - - - Bessel8 LV-Mix Isolator - Bessel8 LV-Mix Isolator - - - - Bessel8 ISO - Bessel8 ISO - - - - A Bessel 8th-order filter isolator with Lipshitz and Vanderkooy mix (bit perfect unity, roll-off -48 dB/octave). - A Bessel 8th-order filter isolator with Lipshitz and Vanderkooy mix (bit perfect unity, roll-off -48 dB/octave). - - - - LinkwitzRiley8 Isolator - LinkwitzRiley8 Isolator - - - - LR8 ISO - LR8 ISO - - - - A Linkwitz-Riley 8th-order filter isolator (optimized crossover, constant phase shift, roll-off -48 dB/octave). - A Linkwitz-Riley 8th-order filter isolator (optimized crossover, constant phase shift, roll-off -48 dB/octave). - - - - Biquad Equalizer - Biquad Equalizer - - - - BQ EQ - BQ EQ - - - - A 3-band Equalizer with two biquad bell filters, a shelving high pass and kill switches. - A 3-band Equalizer with two biquad bell filters, a shelving high pass and kill switches. - - - - Device not found - Device not found - - - - Biquad Full Kill Equalizer - Biquad Full Kill Equalizer - - - - BQ EQ/ISO - BQ EQ/ISO - - - - A 3-band Equalizer that combines an Equalizer and an Isolator circuit to offer gentle slopes and full kill. - A 3-band Equalizer that combines an Equalizer and an Isolator circuit to offer gentle slopes and full kill. - - - - Loudness Contour - Loudness Contour - - - - - - Loudness - Loudness - - - - Amplifies low and high frequencies at low volumes to compensate for reduced sensitivity of the human ear. - Amplifies low and high frequencies at low volumes to compensate for reduced sensitivity of the human ear. - - - - Set the gain of the applied loudness contour - Set the gain of the applied loudness contour - - - - - Use Gain - Use Gain - - - - Follow Gain Knob - Follow Gain Knob - - - - This stream is online for testing purposes! - This stream is online for testing purposes! - - - - Live Mix - Live Mix - - - - - 16 bits - 16 bits - - - - - 24 bits - 24 bits - - - - - Bit depth - Bit depth - - - - - Bitrate Mode - Bitrate Mode - - - - 32 bits float - 32 bits float - - - - - - Balance - Balance - - - - Adjust the left/right balance and stereo width - Adjust the left/right balance and stereo width - - - - Adjust balance between left and right channels - Adjust balance between left and right channels - - - - - Mid/Side - Mid/Side - - - - Bypass Fr. - Bypass Fr. - - - - Bypass Frequency - Bypass Frequency - - - - Stereo Balance - Stereo Balance - - - - Adjust stereo width by changing balance between middle and side of the signal. -Fully left: mono -Fully right: only side ambiance -Center: does not change the original signal. - Adjust stereo width by changing balance between middle and side of the signal. -Fully left: mono -Fully right: only side ambiance -Center: does not change the original signal. - - - - Frequencies below this cutoff are not adjusted in the stereo field - Frequencies below this cutoff are not adjusted in the stereo field - - - - Parametric Equalizer - Parametric Equalizer - - - - Param EQ - Param EQ - - - - An gentle 2-band parametric equalizer based on biquad filters. -It is designed as a complement to the steep mixing equalizers. - An gentle 2-band parametric equalizer based on biquad filters. -It is designed as a complement to the steep mixing equalizers. - - - - - Gain 1 - Gain 1 - - - - Gain for Filter 1 - Gain for Filter 1 - - - - - Q 1 - Q 1 - - - - Controls the bandwidth of Filter 1. -A lower Q affects a wider band of frequencies, -a higher Q affects a narrower band of frequencies. - Controls the bandwidth of Filter 1. -A lower Q affects a wider band of frequencies, -a higher Q affects a narrower band of frequencies. - - - - - Center 1 - Center 1 - - - - Center frequency for Filter 1, from 100 Hz to 14 kHz - Center frequency for Filter 1, from 100 Hz to 14 kHz - - - - - Gain 2 - Gain 2 - - - - Gain for Filter 2 - Gain for Filter 2 - - - - - Q 2 - Q 2 - - - - Controls the bandwidth of Filter 2. -A lower Q affects a wider band of frequencies, -a higher Q affects a narrower band of frequencies. - Controls the bandwidth of Filter 2. -A lower Q affects a wider band of frequencies, -a higher Q affects a narrower band of frequencies. - - - - - Center 2 - Center 2 - - - - Center frequency for Filter 2, from 100 Hz to 14 kHz - Center frequency for Filter 2, from 100 Hz to 14 kHz - - - - - Tremolo - Tremolo - - - - Cycles the volume up and down - Cycles the volume up and down - - - - How much the effect changes the volume - How much the effect changes the volume - - - - - Rate - Rate - - - - Rate of the volume changes -4 beats - 1/8 beat if tempo is detected -1/4 Hz - 8 Hz if no tempo is detected - Rate of the volume changes -4 beats - 1/8 beat if tempo is detected -1/4 Hz - 8 Hz if no tempo is detected - - - - Width of the volume peak -10% - 90% of the effect period - Width of the volume peak -10% - 90% of the effect period - - - - Shape of the volume modulation wave -Fully left: Square wave -Fully right: Sine wave - Shape of the volume modulation wave -Fully left: Square wave -Fully right: Sine wave - - - - When the Quantize parameter is enabled, divide the effect period by 3. - When the Quantize parameter is enabled, divide the effect period by 3. - - - - - Waveform - Waveform - - - - - Phase - Phase - - - - Shifts the position of the volume peak within the period -Fully left: beginning of the effect period -Fully right: end of the effect period - Shifts the position of the volume peak within the period -Fully left: beginning of the effect period -Fully right: end of the effect period - - - - Round the Rate parameter to the nearest whole division of a beat. - Round the Rate parameter to the nearest whole division of a beat. - - - - Triplet - Triplet - - - - - Queen Mary University London - Queen Mary University London - - - - Queen Mary Tempo and Beat Tracker - Queen Mary Tempo and Beat Tracker - - - - Queen Mary Key Detector - Queen Mary Key Detector - - - - SoundTouch BPM Detector (Legacy) - SoundTouch BPM Detector (Legacy) - - - - Constrained VBR - Constrained VBR - - - - CBR - CBR - - - - Full VBR (bitrate ignored) - Full VBR (bitrate ignored) - - - - White Noise - White Noise - - - - Mix white noise with the input signal - Mix white noise with the input signal - - - - Dry/Wet - Dry/Wet - - - - Crossfade the noise with the dry signal - Crossfade the noise with the dry signal - - - - <html>Mixxx cannot record or stream in AAC or HE-AAC without the FDK-AAC encoder. In order to record or stream in AAC or AAC+, you need to download <b>libfdk-aac</b> and install it on your system. - <html>Mixxx cannot record or stream in AAC or HE-AAC without the FDK-AAC encoder. In order to record or stream in AAC or AAC+, you need to download <b>libfdk-aac</b> and install it on your system. - - - - The installed AAC encoding library does not support HE-AAC, only plain AAC. Configure a different encoding format in the preferences. - The installed AAC encoding library does not support HE-AAC, only plain AAC. Configure a different encoding format in the preferences. - - - - MP3 encoding is not supported. Lame could not be initialized - MP3 encoding is not supported. Lame could not be initialized - - - - OGG recording is not supported. OGG/Vorbis library could not be initialized. - OGG recording is not supported. OGG/Vorbis library could not be initialized. - - - - - encoder failure - encoder failure - - - - - Failed to apply the selected settings. - Failed to apply the selected settings. - - - - Deck %1 - Deck %1 - - - - Location - Emplacement - - - - - - Playlist Export Failed - Échec de l'exportation de liste de lecture - - - - - - - Could not create file - Impossible de créer le fichier - - - - Readable text Export Failed - Readable text Export Failed - - - - Playlist Export Has Special Characters - Playlist Export Has Special Characters - - - - Some file paths in the playlist have special characters. These file paths will be encoded as absolute path URLs. Please select the m3u8 format for better and lossless exporting. - Some file paths in the playlist have special characters. These file paths will be encoded as absolute path URLs. Please select the m3u8 format for better and lossless exporting. - - - - - Pitch Shift - Pitch Shift - - - - Raises or lowers the original pitch of a sound. - Raises or lowers the original pitch of a sound. - - - - - Pitch - Pitch - - - - The pitch shift applied to the sound. - The pitch shift applied to the sound. - - - - The range of the Pitch knob (0 - 2 octaves). - - - - - - - Semitones - - - - - Change the pitch in semitone steps instead of continuously. - - - - - - Formant - - - - - Preserve the resonant frequencies (formants) of the human vocal tract and other instruments. -Hint: compensates "chipmunk" or "growling" voices - - - - - - Distortion - - - - - Hard Clip - - - - - Hard - - - - - Switches between soft saturation and hard clipping. - - - - - Soft Clipping - - - - - Hard Clipping - - - - - - Drive - - - - - The amount of amplification applied to the audio signal. At higher levels the audio will be more distored. - - - - - Passthrough - Passerelle - - - - - Glitch - Interférence - - - - Periodically samples and repeats a small portion of audio to create a glitchy metallic sound. - Échantillonne périodiquement et répète une petite portion de l'audio pour créer un son métallique défectueux. - - - - Round the Time parameter to the nearest 1/8 beat. - - - - - When the Quantize parameter is enabled, divide rounded 1/8 beats of Time parameter by 3. - - - - - (empty) - - - - - QtHSVWaveformWidget - - - HSV - HSV - - - - QtRGBWaveformWidget - - - RGB - RGB - - - - QtSimpleWaveformWidget - - - Simple - Simple - - - - QtVSyncTestWidget - - - VSyncTest - VSyncTest - - - - QtWaveformWidget - - - Filtered - Filtered - - - - RGBWaveformWidget - - - RGB - RGB - - - - RecordingFeature - - - Recordings - Recordings - - - - RecordingManager - - - Low Disk Space Warning - Low Disk Space Warning - - - - There is less than 1 GiB of usable space in the recording folder - Il reste moins d'un gigaoctet d'espace disponible dans le dossier d'enregistrement - - - - Recording - Recording - - - - Could not create audio file for recording! - Could not create audio file for recording! - - - - Ensure there is enough free disk space and you have write permission for the Recordings folder. - Ensure there is enough free disk space and you have write permission for the Recordings folder. - - - - You can change the location of the Recordings folder in Preferences -> Recording. - You can change the location of the Recordings folder in Preferences -> Recording. - - - - RecordingsView - - - - Message shown to user when recording an audio file. %1 is the file path and %2 is the current size of the recording in megabytes (MB) - - - - - RekordboxFeature - - - - - Rekordbox - Rekordbox - - - - Playlists - Playlists - - - - Folders - Folders - - - - Reads databases exported for Pioneer CDJ / XDJ players using the Rekordbox Export mode.<br/>Rekordbox can only export to USB or SD devices with a FAT or HFS file system.<br/>Mixxx can read a database from any device that contains the database folders (<tt>PIONEER</tt> and <tt>Contents</tt>).<br/>Not supported are Rekordbox databases that have been moved to an external device via<br/><i>Preferences > Advanced > Database management</i>.<br/><br/>The following data is read: - Reads databases exported for Pioneer CDJ / XDJ players using the Rekordbox Export mode.<br/>Rekordbox can only export to USB or SD devices with a FAT or HFS file system.<br/>Mixxx can read a database from any device that contains the database folders (<tt>PIONEER</tt> and <tt>Contents</tt>).<br/>Not supported are Rekordbox databases that have been moved to an external device via<br/><i>Preferences > Advanced > Database management</i>.<br/><br/>The following data is read: - - - - Hot cues - Hot cues - - - - Loops (only the first loop is currently usable in Mixxx) - Loops (only the first loop is currently usable in Mixxx) - - - - Check for attached Rekordbox USB / SD devices (refresh) - Check for attached Rekordbox USB / SD devices (refresh) - - - - Beatgrids - Beatgrids - - - - Memory cues - Memory cues - - - - (loading) Rekordbox - (loading) Rekordbox - - - - RhythmboxFeature - - - - Rhythmbox - Rhythmbox - - - - SamplerBank - - - Mixxx Sampler Banks (*.xml) - Banques d'échantillon Mixxx (*.xml) - - - - Save Sampler Bank - Save Sampler Bank - - - - Error Saving Sampler Bank - Error Saving Sampler Bank - - - - Could not write the sampler bank to '%1'. - Could not write the sampler bank to '%1'. - - - - Load Sampler Bank - Load Sampler Bank - - - - Error Reading Sampler Bank - Error Reading Sampler Bank - - - - Could not open the sampler bank file '%1'. - Could not open the sampler bank file '%1'. - - - - SeratoFeature - - - - - Serato - Serato - - - - Reads the following from the Serato Music directory and removable devices: - Reads the following from the Serato Music directory and removable devices: - - - - Tracks - Tracks - - - - Crates - Caisses - - - - Check for Serato databases (refresh) - Check for Serato databases (refresh) - - - - (loading) Serato - (loading) Serato - - - - SetlogFeature - - - Join with previous (below) - Join with previous (below) - - - - Mark all tracks played) - - - - - Finish current and start new - Finish current and start new - - - - Lock all child playlists - - - - - Unlock all child playlists - - - - - Delete all unlocked child playlists - - - - - History - History - - - - Unlock - Unlock - - - - Lock - Verrouiller - - - - - Confirm Deletion - Confirmer la suppression - - - - Do you really want to delete all unlocked playlist from <b>%1</b>?<br><br> - %1 is the year <b> + </b> are used to make the text in between bold in the popup <br> is a linebreak - - - - - Deleting %1 playlists from <b>%2</b>.<br><br> - %1 is the number of playlists to be deleted %2 is the year <b> + </b> are used to make the text in between bold in the popup <br> is a linebreak - - - - - ShoutConnection - - - - Mixxx encountered a problem - Mixxx encountered a problem - - - - Could not allocate shout_t - Could not allocate shout_t - - - - Could not allocate shout_metadata_t - Could not allocate shout_metadata_t - - - - Error setting non-blocking mode: - Error setting non-blocking mode: - - - - Error setting tls mode: - Error setting tls mode: - - - - Error setting hostname! - Error setting hostname! - - - - Error setting port! - Error setting port! - - - - Error setting password! - Error setting password! - - - - Error setting mount! - Error setting mount! - - - - Error setting username! - Error setting username! - - - - Error setting stream name! - Error setting stream name! - - - - Error setting stream description! - Error setting stream description! - - - - Error setting stream genre! - Error setting stream genre! - - - - Error setting stream url! - Error setting stream url! - - - - Error setting stream IRC! - Error setting stream IRC! - - - - Error setting stream AIM! - Error setting stream AIM! - - - - Error setting stream ICQ! - Error setting stream ICQ! - - - - Error setting stream public! - Error setting stream public! - - - - Unknown stream encoding format! - Unknown stream encoding format! - - - - Use a libshout version with %1 enabled - Use a libshout version with %1 enabled - - - - Error setting stream encoding format! - Error setting stream encoding format! - - - - Broadcasting at 96 kHz with Ogg Vorbis is not currently supported. Please try a different sample rate or switch to a different encoding. - Broadcasting at 96 kHz with Ogg Vorbis is not currently supported. Please try a different sample rate or switch to a different encoding. - - - - See https://github.com/mixxxdj/mixxx/issues/5701 for more information. - - - - - Unsupported sample rate - Unsupported sample rate - - - - Error setting bitrate - Error setting bitrate - - - - Error: unknown server protocol! - Error: unknown server protocol! - - - - Error: Shoutcast only supports MP3 and AAC encoders - Error: Shoutcast only supports MP3 and AAC encoders - - - - Error setting protocol! - Error setting protocol! - - - - Network cache overflow - Network cache overflow - - - - Connection error - Connection error - - - - One of the Live Broadcasting connections raised this error:<br><b>Error with connection '%1':</b><br> - One of the Live Broadcasting connections raised this error:<br><b>Error with connection '%1':</b><br> - - - - Connection message - Connection message - - - - <b>Message from Live Broadcasting connection '%1':</b><br> - <b>Message from Live Broadcasting connection '%1':</b><br> - - - - Lost connection to streaming server and %1 attempts to reconnect have failed. - Lost connection to streaming server and %1 attempts to reconnect have failed. - - - - Lost connection to streaming server. - Lost connection to streaming server. - - - - Please check your connection to the Internet. - Please check your connection to the Internet. - - - - Can't connect to streaming server - Can't connect to streaming server - - - - Please check your connection to the Internet and verify that your username and password are correct. - Please check your connection to the Internet and verify that your username and password are correct. - - - - SoftwareWaveformWidget - - - Filtered - Filtered - - - - SoundManager - - - - a device - a device - - - - An unknown error occurred - An unknown error occurred - - - - Two outputs cannot share channels on "%1" - Two outputs cannot share channels on "%1" - - - - Error opening "%1" - Error opening "%1" - - - - StatModel - - - Name - Nom - - - - Count - Count - - - - Type - Type - - - - Units - Units - - - - Sum - Sum - - - - Min - Min - - - - Max - Max - - - - Mean - Mean - - - - Variance - Variance - - - - Standard Deviation - Standard Deviation - - - - TagFetcher - - - Fingerprinting track - Fingerprinting track - - - - Identifying track through Acoustid - Identifying track through Acoustid - - - - Retrieving metadata from MusicBrainz - Retrieving metadata from MusicBrainz - - - - Tooltips - - - Reset to default value. - Reset to default value. - - - - Left-click - Left-click - - - - Right-click - Right-click - - - - Double-click - Double-click - - - - Scroll-wheel - Scroll-wheel - - - - Shift-key - Shift-key - - - - loop active - loop active - - - - loop inactive - loop inactive - - - - Effects within the chain must be enabled to hear them. - Effects within the chain must be enabled to hear them. - - - - Waveform Overview - Waveform Overview - - - - Use the mouse to scratch, spin-back or throw tracks. - Use the mouse to scratch, spin-back or throw tracks. - - - - Waveform Display - Waveform Display - - - - Shows the loaded track's waveform near the playback position. - Shows the loaded track's waveform near the playback position. - - - - Drag with mouse to make temporary pitch adjustments. - Drag with mouse to make temporary pitch adjustments. - - - - Scroll to change the waveform zoom level. - Scroll to change the waveform zoom level. - - - - Waveform Zoom Out - Waveform Zoom Out - - - - Waveform Zoom In - Waveform Zoom In - - - - Waveform Zoom - Waveform Zoom - - - - - Spinning Vinyl - Spinning Vinyl - - - - Rotates during playback and shows the position of a track. - Rotates during playback and shows the position of a track. - - - - Right click to show cover art of loaded track. - Right click to show cover art of loaded track. - - - - Gain - Gain - - - - Adjusts the pre-fader gain of the track (to avoid clipping). - Adjusts the pre-fader gain of the track (to avoid clipping). - - - - (too loud for the hardware and is being distorted). - (too loud for the hardware and is being distorted). - - - - Indicates when the signal on the channel is clipping, - Indicates when the signal on the channel is clipping, - - - - Channel Volume Meter - Channel Volume Meter - - - - Shows the current channel volume. - Shows the current channel volume. - - - - Microphone Volume Meter - Microphone Volume Meter - - - - Shows the current microphone volume. - Shows the current microphone volume. - - - - Auxiliary Volume Meter - Auxiliary Volume Meter - - - - Shows the current auxiliary volume. - Shows the current auxiliary volume. - - - - Auxiliary Peak Indicator - Auxiliary Peak Indicator - - - - Indicates when the signal on the auxiliary is clipping, - Indicates when the signal on the auxiliary is clipping, - - - - Volume Control - Volume Control - - - - Adjusts the volume of the selected channel. - Adjusts the volume of the selected channel. - - - - Booth Gain - Booth Gain - - - - Adjusts the booth output gain. - Adjusts the booth output gain. - - - - Crossfader - Crossfader - - - - Balance - Balance - - - - Headphone Volume - Headphone Volume - - - - Adjusts the headphone output volume. - Adjusts the headphone output volume. - - - - Headphone Gain - Headphone Gain - - - - Adjusts the headphone output gain. - Adjusts the headphone output gain. - - - - Headphone Mix - Headphone Mix - - - - Headphone Split Cue - Headphone Split Cue - - - - Adjust the Headphone Mix so in the left channel is not the pure cueing signal. - Adjust the Headphone Mix so in the left channel is not the pure cueing signal. - - - - Microphone - Microphone - - - - Show/hide the Microphone section. - Show/hide the Microphone section. - - - - Sampler - Sampler - - - - Show/hide the Sampler section. - Show/hide the Sampler section. - - - - Vinyl Control - Vinyl Control - - - - Show/hide the Vinyl Control section. - Show/hide the Vinyl Control section. - - - - Preview Deck - Platine de pré-écoute - - - - Show/hide the Preview deck. - Show/hide the Preview deck. - - - - - - Cover Art - Couverture - - - - Show/hide Cover Art. - Show/hide Cover Art. - - - - Toggle 4 Decks - Toggle 4 Decks - - - - Switches between showing 2 decks and 4 decks. - Switches between showing 2 decks and 4 decks. - - - - Show Library - Show Library - - - - Show or hide the track library. - Show or hide the track library. - - - - Show Effects - Show Effects - - - - Show or hide the effects. - Show or hide the effects. - - - - Toggle Mixer - Toggle Mixer - - - - Show or hide the mixer. - Show or hide the mixer. - - - - Show/hide volume meters for channels and main output. - - - - - Microphone Volume - Microphone Volume - - - - Adjusts the microphone volume. - Adjusts the microphone volume. - - - - Microphone Gain - Microphone Gain - - - - Adjusts the pre-fader microphone gain. - Adjusts the pre-fader microphone gain. - - - - Auxiliary Gain - Auxiliary Gain - - - - Adjusts the pre-fader auxiliary gain. - Adjusts the pre-fader auxiliary gain. - - - - Microphone Talk-Over - Microphone Talk-Over - - - - Hold-to-talk or short click for latching to - Hold-to-talk or short click for latching to - - - - Microphone Talkover Mode - Microphone Talkover Mode - - - - Off: Do not reduce music volume - Off: Do not reduce music volume - - - - Manual: Reduce music volume by a fixed amount set by the Strength knob. - Manual: Reduce music volume by a fixed amount set by the Strength knob. - - - - Behavior depends on Microphone Talkover Mode: - Behavior depends on Microphone Talkover Mode: - - - - Off: Does nothing - Off: Does nothing - - - - Change the step-size in the Preferences -> Decks menu. - - - - - Raise Pitch - Raise Pitch - - - - Sets the pitch higher. - Sets the pitch higher. - - - - Sets the pitch higher in small steps. - Sets the pitch higher in small steps. - - - - Lower Pitch - Lower Pitch - - - - Sets the pitch lower. - Sets the pitch lower. - - - - Sets the pitch lower in small steps. - Sets the pitch lower in small steps. - - - - Raise Pitch Temporary (Nudge) - Raise Pitch Temporary (Nudge) - - - - Holds the pitch higher while active. - Holds the pitch higher while active. - - - - Holds the pitch higher (small amount) while active. - Holds the pitch higher (small amount) while active. - - - - Lower Pitch Temporary (Nudge) - Lower Pitch Temporary (Nudge) - - - - Holds the pitch lower while active. - Holds the pitch lower while active. - - - - Holds the pitch lower (small amount) while active. - Holds the pitch lower (small amount) while active. - - - - Low EQ - Low EQ - - - - Adjusts the gain of the low EQ filter. - Adjusts the gain of the low EQ filter. - - - - Mid EQ - Mid EQ - - - - Adjusts the gain of the mid EQ filter. - Adjusts the gain of the mid EQ filter. - - - - High EQ - High EQ - - - - Adjusts the gain of the high EQ filter. - Adjusts the gain of the high EQ filter. - - - - Hold-to-kill or short click for latching. - Hold-to-kill or short click for latching. - - - - High EQ Kill - High EQ Kill - - - - Holds the gain of the high EQ to zero while active. - Holds the gain of the high EQ to zero while active. - - - - Mid EQ Kill - Mid EQ Kill - - - - Holds the gain of the mid EQ to zero while active. - Holds the gain of the mid EQ to zero while active. - - - - Low EQ Kill - Low EQ Kill - - - - Holds the gain of the low EQ to zero while active. - Holds the gain of the low EQ to zero while active. - - - - Displays the tempo of the loaded track in BPM (beats per minute). - Displays the tempo of the loaded track in BPM (beats per minute). - - - - Tempo - Tempo - - - - Key - The musical key of a track - Clé - - - - BPM Tap - BPM Tap - - - - - When tapped repeatedly, adjusts the BPM to match the tapped BPM. - When tapped repeatedly, adjusts the BPM to match the tapped BPM. - - - - Adjust BPM Down - Adjust BPM Down - - - - When tapped, adjusts the average BPM down by a small amount. - When tapped, adjusts the average BPM down by a small amount. - - - - Adjust BPM Up - Adjust BPM Up - - - - When tapped, adjusts the average BPM up by a small amount. - When tapped, adjusts the average BPM up by a small amount. - - - - Adjust Beats Earlier - Adjust Beats Earlier - - - - When tapped, moves the beatgrid left by a small amount. - When tapped, moves the beatgrid left by a small amount. - - - - Adjust Beats Later - Adjust Beats Later - - - - When tapped, moves the beatgrid right by a small amount. - When tapped, moves the beatgrid right by a small amount. - - - - Tempo and BPM Tap - Tempo and BPM Tap - - - - Show/hide the spinning vinyl section. - Show/hide the spinning vinyl section. - - - - Keylock - Keylock - - - - Toggling keylock during playback may result in a momentary audio glitch. - Toggling keylock during playback may result in a momentary audio glitch. - - - - Toggle visibility of Loop Controls - Toggle visibility of Loop Controls - - - - Toggle visibility of Beatjump Controls - Toggle visibility of Beatjump Controls - - - - Toggle visibility of Rate Control - Toggle visibility of Rate Control - - - - Toggle visibility of Key Controls - Toggle visibility of Key Controls - - - - (while previewing) - (while previewing) - - - - Places a cue point at the current position on the waveform. - Places a cue point at the current position on the waveform. - - - - Stops track at cue point, OR go to cue point and play after release (CUP mode). - Stops track at cue point, OR go to cue point and play after release (CUP mode). - - - - Set cue point (Pioneer/Mixxx/Numark mode), set cue point and play after release (CUP mode) OR preview from it (Denon mode). - Set cue point (Pioneer/Mixxx/Numark mode), set cue point and play after release (CUP mode) OR preview from it (Denon mode). - - - - Is latching the playing state. - Is latching the playing state. - - - - Seeks the track to the cue point and stops. - Seeks the track to the cue point and stops. - - - - Play - Play - - - - Plays track from the cue point. - Plays track from the cue point. - - - - Sends the selected channel's audio to the headphone output, selected in Preferences -> Sound Hardware. - Sends the selected channel's audio to the headphone output, selected in Preferences -> Sound Hardware. - - - - (This skin should be updated to use Sync Lock!) - (This skin should be updated to use Sync Lock!) - - - - Enable Sync Lock - Enable Sync Lock - - - - Tap to sync the tempo to other playing tracks or the sync leader. - Tap to sync the tempo to other playing tracks or the sync leader. - - - - Enable Sync Leader - Enable Sync Leader - - - - When enabled, this device will serve as the sync leader for all other decks. - When enabled, this device will serve as the sync leader for all other decks. - - - - This is relevant when a dynamic tempo track is loaded to a sync leader deck.In that case, other synced devices will adopt the changing tempo. - - - - - Changes the track playback speed (affects both the tempo and the pitch). If keylock is enabled, only the tempo is affected. - Changes the track playback speed (affects both the tempo and the pitch). If keylock is enabled, only the tempo is affected. - - - - Tempo Range Display - Tempo Range Display - - - - Displays the current range of the tempo slider. - Displays the current range of the tempo slider. - - - - Un-ejects when no track is loaded, i.e. reloads the track that was ejected last (of any deck). - - - - - Delete selected hotcue. - Delete selected hotcue. - - - - Track Comment - - - - - Displays the comment tag of the loaded track. - - - - - Opens separate artwork viewer. - Opens separate artwork viewer. - - - - Effect Chain Preset Settings - Effect Chain Preset Settings - - - - Show the effect chain settings menu for this unit. - Show the effect chain settings menu for this unit. - - - - Select and configure a hardware device for this input - Select and configure a hardware device for this input - - - - Recording Duration - Recording Duration - - - - Big Spinny/Cover Art - Big Spinny/Cover Art - - - - Show a big version of the Spinny or track cover art if enabled. - Show a big version of the Spinny or track cover art if enabled. - - - - Main Output Peak Indicator - Main Output Peak Indicator - - - - Indicates when the signal on the main output is clipping, - Indicates when the signal on the main output is clipping, - - - - Main Output L Peak Indicator - Main Output L Peak Indicator - - - - Indicates when the left signal on the main output is clipping, - Indicates when the left signal on the main output is clipping, - - - - Main Output R Peak Indicator - Main Output R Peak Indicator - - - - Indicates when the right signal on the main output is clipping, - Indicates when the right signal on the main output is clipping, - - - - Main Channel L Volume Meter - Main Channel L Volume Meter - - - - Shows the current volume for the left channel of the main output. - Shows the current volume for the left channel of the main output. - - - - Shows the current volume for the right channel of the main output. - Shows the current volume for the right channel of the main output. - - - - - Main Output Gain - Main Output Gain - - - - - Adjusts the main output gain. - Adjusts the main output gain. - - - - Determines the main output by fading between the left and right channels. - Determines the main output by fading between the left and right channels. - - - - Adjusts the left/right channel balance on the main output. - Adjusts the left/right channel balance on the main output. - - - - Crossfades the headphone output between the main mix and cueing (PFL or Pre-Fader Listening) signal. - Crossfades the headphone output between the main mix and cueing (PFL or Pre-Fader Listening) signal. - - - - If activated, the main mix signal plays in the right channel, while the cueing signal plays in the left channel. - If activated, the main mix signal plays in the right channel, while the cueing signal plays in the left channel. - - - - Show/hide Cover Art of the selected track in the library. - Show/hide Cover Art of the selected track in the library. - - - - Show/hide the scrolling waveforms - Show/hide the scrolling waveforms - - - - Show/hide the beatgrid controls section - Show/hide the beatgrid controls section - - - - Hide all skin sections except the decks to have more screen space for the track library. - Hide all skin sections except the decks to have more screen space for the track library. - - - - Volume Meters - Volume Meters - - - - mix microphone input into the main output. - mix microphone input into the main output. - - - - Auto: Automatically reduce music volume when microphone volume rises above threshold. - Auto: Automatically reduce music volume when microphone volume rises above threshold. - - - - - Adjust the amount the music volume is reduced with the Strength knob. - Adjust the amount the music volume is reduced with the Strength knob. - - - - Auto: Sets how much to reduce the music volume when the volume of active microphones rises above threshold. - Auto: Sets how much to reduce the music volume when the volume of active microphones rises above threshold. - - - - Manual: Sets how much to reduce the music volume, when talkover is activated regardless of volume of microphone inputs. - Manual: Sets how much to reduce the music volume, when talkover is activated regardless of volume of microphone inputs. - - - - Shift cues earlier - Shift cues earlier - - - - - Shift cues imported from Serato or Rekordbox if they are slightly off time. - Shift cues imported from Serato or Rekordbox if they are slightly off time. - - - - Left click: shift 10 milliseconds earlier - Left click: shift 10 milliseconds earlier - - - - Right click: shift 1 millisecond earlier - Right click: shift 1 millisecond earlier - - - - Shift cues later - Shift cues later - - - - Left click: shift 10 milliseconds later - Left click: shift 10 milliseconds later - - - - Right click: shift 1 millisecond later - Right click: shift 1 millisecond later - - - - Mutes the selected channel's audio in the main output. - Mutes the selected channel's audio in the main output. - - - - Main mix enable - Main mix enable - - - - Hold or short click for latching to mix this input into the main output. - Hold or short click for latching to mix this input into the main output. - - - - Displays the duration of the running recording. - Displays the duration of the running recording. - - - - Auto DJ is active - Auto DJ is active - - - - Hot Cue - Track will seek to nearest previous hotcue point. - Hot Cue - Track will seek to nearest previous hotcue point. - - - - Sets the track Loop-In Marker to the current play position. - Sets the track Loop-In Marker to the current play position. - - - - Press and hold to move Loop-In Marker. - Press and hold to move Loop-In Marker. - - - - Jump to Loop-In Marker. - Jump to Loop-In Marker. - - - - Sets the track Loop-Out Marker to the current play position. - Sets the track Loop-Out Marker to the current play position. - - - - Press and hold to move Loop-Out Marker. - Press and hold to move Loop-Out Marker. - - - - Jump to Loop-Out Marker. - Jump to Loop-Out Marker. - - - - Beatloop Size - Beatloop Size - - - - Select the size of the loop in beats to set with the Beatloop button. - Select the size of the loop in beats to set with the Beatloop button. - - - - Changing this resizes the loop if the loop already matches this size. - Changing this resizes the loop if the loop already matches this size. - - - - Halve the size of an existing beatloop, or halve the size of the next beatloop set with the Beatloop button. - Halve the size of an existing beatloop, or halve the size of the next beatloop set with the Beatloop button. - - - - Double the size of an existing beatloop, or double the size of the next beatloop set with the Beatloop button. - Double the size of an existing beatloop, or double the size of the next beatloop set with the Beatloop button. - - - - Start a loop over the set number of beats. - Start a loop over the set number of beats. - - - - Temporarily enable a rolling loop over the set number of beats. - Temporarily enable a rolling loop over the set number of beats. - - - - Beatjump/Loop Move Size - Beatjump/Loop Move Size - - - - Select the number of beats to jump or move the loop with the Beatjump Forward/Backward buttons. - Select the number of beats to jump or move the loop with the Beatjump Forward/Backward buttons. - - - - Beatjump Forward - Beatjump Forward - - - - Jump forward by the set number of beats. - Jump forward by the set number of beats. - - - - Move the loop forward by the set number of beats. - Move the loop forward by the set number of beats. - - - - Jump forward by 1 beat. - Jump forward by 1 beat. - - - - Move the loop forward by 1 beat. - Move the loop forward by 1 beat. - - - - Beatjump Backward - Beatjump Backward - - - - Jump backward by the set number of beats. - Jump backward by the set number of beats. - - - - Move the loop backward by the set number of beats. - Move the loop backward by the set number of beats. - - - - Jump backward by 1 beat. - Jump backward by 1 beat. - - - - Move the loop backward by 1 beat. - Move the loop backward by 1 beat. - - - - Reloop - Reloop - - - - If the loop is ahead of the current position, looping will start when the loop is reached. - If the loop is ahead of the current position, looping will start when the loop is reached. - - - - Works only if Loop-In and Loop-Out Marker are set. - Works only if Loop-In and Loop-Out Marker are set. - - - - Enable loop, jump to Loop-In Marker, and stop playback. - Enable loop, jump to Loop-In Marker, and stop playback. - - - - Displays the elapsed and/or remaining time of the track loaded. - Displays the elapsed and/or remaining time of the track loaded. - - - - Click to toggle between time elapsed/remaining time/both. - Click to toggle between time elapsed/remaining time/both. - - - - Hint: Change the time format in Preferences -> Decks. - Hint: Change the time format in Preferences -> Decks. - - - - Show/hide intro & outro markers and associated buttons. - Show/hide intro & outro markers and associated buttons. - - - - Intro Start Marker - Intro Start Marker - - - - - - - If marker is set, jumps to the marker. - If marker is set, jumps to the marker. - - - - - - - If marker is not set, sets the marker to the current play position. - If marker is not set, sets the marker to the current play position. - - - - - - - If marker is set, clears the marker. - If marker is set, clears the marker. - - - - Intro End Marker - Intro End Marker - - - - Outro Start Marker - Outro Start Marker - - - - Outro End Marker - Outro End Marker - - - - Mix - Mix - - - - Adjust the mixing of the dry (input) signal with the wet (output) signal of the effect unit - Adjust the mixing of the dry (input) signal with the wet (output) signal of the effect unit - - - - D/W mode: Crossfade between dry and wet - D/W mode: Crossfade between dry and wet - - - - D+W mode: Add wet to dry - D+W mode: Add wet to dry - - - - Mix Mode - Mix Mode - - - - Adjust how the dry (input) signal is mixed with the wet (output) signal of the effect unit - Adjust how the dry (input) signal is mixed with the wet (output) signal of the effect unit - - - - Dry/Wet mode (crossed lines): Mix knob crossfades between dry and wet -Use this to change the sound of the track with EQ and filter effects. - Dry/Wet mode (crossed lines): Mix knob crossfades between dry and wet -Use this to change the sound of the track with EQ and filter effects. - - - - Dry+Wet mode (flat dry line): Mix knob adds wet to dry -Use this to change only the effected (wet) signal with EQ and filter effects. - Dry+Wet mode (flat dry line): Mix knob adds wet to dry -Use this to change only the effected (wet) signal with EQ and filter effects. - - - - Route the main mix through this effect unit. - Route the main mix through this effect unit. - - - - Route the left crossfader bus through this effect unit. - Route the left crossfader bus through this effect unit. - - - - Route the right crossfader bus through this effect unit. - Route the right crossfader bus through this effect unit. - - - - Right side active: parameter moves with right half of Meta Knob turn - Right side active: parameter moves with right half of Meta Knob turn - - - - Skin Settings Menu - Skin Settings Menu - - - - Show/hide skin settings menu - Show/hide skin settings menu - - - - Save Sampler Bank - Save Sampler Bank - - - - Save the collection of samples loaded in the samplers. - Save the collection of samples loaded in the samplers. - - - - Load Sampler Bank - Load Sampler Bank - - - - Load a previously saved collection of samples into the samplers. - Load a previously saved collection of samples into the samplers. - - - - Show Effect Parameters - Show Effect Parameters - - - - Enable Effect - Enable Effect - - - - Meta Knob Link - Meta Knob Link - - - - Set how this parameter is linked to the effect's Meta Knob. - Set how this parameter is linked to the effect's Meta Knob. - - - - Meta Knob Link Inversion - Meta Knob Link Inversion - - - - Inverts the direction this parameter moves when turning the effect's Meta Knob. - Inverts the direction this parameter moves when turning the effect's Meta Knob. - - - - Super Knob - Super Knob - - - - Next Chain - Next Chain - - - - Previous Chain - Previous Chain - - - - Next/Previous Chain - Next/Previous Chain - - - - Clear - Clear - - - - Clear the current effect. - Clear the current effect. - - - - Toggle - Toggle - - - - Toggle the current effect. - Toggle the current effect. - - - - Next - Next - - - - Clear Unit - Clear Unit - - - - Clear effect unit. - Clear effect unit. - - - - Show/hide parameters for effects in this unit. - Show/hide parameters for effects in this unit. - - - - Toggle Unit - Toggle Unit - - - - Enable or disable this whole effect unit. - Enable or disable this whole effect unit. - - - - Controls the Meta Knob of all effects in this unit together. - Controls the Meta Knob of all effects in this unit together. - - - - Load next effect chain preset into this effect unit. - Load next effect chain preset into this effect unit. - - - - Load previous effect chain preset into this effect unit. - Load previous effect chain preset into this effect unit. - - - - Load next or previous effect chain preset into this effect unit. - Load next or previous effect chain preset into this effect unit. - - - - - - - - - - - - Assign Effect Unit - Assign Effect Unit - - - - Assign this effect unit to the channel output. - Assign this effect unit to the channel output. - - - - Route the headphone channel through this effect unit. - Route the headphone channel through this effect unit. - - - - Route this deck through the indicated effect unit. - Route this deck through the indicated effect unit. - - - - Route this sampler through the indicated effect unit. - Route this sampler through the indicated effect unit. - - - - Route this microphone through the indicated effect unit. - Route this microphone through the indicated effect unit. - - - - Route this auxiliary input through the indicated effect unit. - Route this auxiliary input through the indicated effect unit. - - - - The effect unit must also be assigned to a deck or other sound source to hear the effect. - The effect unit must also be assigned to a deck or other sound source to hear the effect. - - - - Switch to the next effect. - Switch to the next effect. - - - - Previous - Previous - - - - Switch to the previous effect. - Switch to the previous effect. - - - - Next or Previous - Next or Previous - - - - Switch to either the next or previous effect. - Switch to either the next or previous effect. - - - - Meta Knob - Meta Knob - - - - Controls linked parameters of this effect - Controls linked parameters of this effect - - - - Effect Focus Button - Effect Focus Button - - - - Focuses this effect. - Focuses this effect. - - - - Unfocuses this effect. - Unfocuses this effect. - - - - Refer to the web page on the Mixxx wiki for your controller for more information. - Refer to the web page on the Mixxx wiki for your controller for more information. - - - - Effect Parameter - Effect Parameter - - - - Adjusts a parameter of the effect. - Adjusts a parameter of the effect. - - - - Inactive: parameter not linked - Inactive: parameter not linked - - - - Active: parameter moves with Meta Knob - Active: parameter moves with Meta Knob - - - - Left side active: parameter moves with left half of Meta Knob turn - Left side active: parameter moves with left half of Meta Knob turn - - - - Left and right side active: parameter moves across range with half of Meta Knob turn and back with the other half - Left and right side active: parameter moves across range with half of Meta Knob turn and back with the other half - - - - - Equalizer Parameter Kill - Equalizer Parameter Kill - - - - - Holds the gain of the EQ to zero while active. - Holds the gain of the EQ to zero while active. - - - - Quick Effect Super Knob - Quick Effect Super Knob - - - - Quick Effect Super Knob (control linked effect parameters). - Quick Effect Super Knob (control linked effect parameters). - - - - Hint: Change the default Quick Effect mode in Preferences -> Equalizers. - Hint: Change the default Quick Effect mode in Preferences -> Equalizers. - - - - Equalizer Parameter - Equalizer Parameter - - - - Adjusts the gain of the EQ filter. - Adjusts the gain of the EQ filter. - - - - Hint: Change the default EQ mode in Preferences -> Equalizers. - Hint: Change the default EQ mode in Preferences -> Equalizers. - - - - - Adjust Beatgrid - Adjust Beatgrid - - - - Adjust beatgrid so the closest beat is aligned with the current play position. - Adjust beatgrid so the closest beat is aligned with the current play position. - - - - - Adjust beatgrid to match another playing deck. - Adjust beatgrid to match another playing deck. - - - - If quantize is enabled, snaps to the nearest beat. - If quantize is enabled, snaps to the nearest beat. - - - - Quantize - Quantize - - - - Toggles quantization. - Toggles quantization. - - - - Loops and cues snap to the nearest beat when quantization is enabled. - Loops and cues snap to the nearest beat when quantization is enabled. - - - - Reverse - Reverse - - - - Reverses track playback during regular playback. - Reverses track playback during regular playback. - - - - Puts a track into reverse while being held (Censor). - Puts a track into reverse while being held (Censor). - - - - Playback continues where the track would have been if it had not been temporarily reversed. - Playback continues where the track would have been if it had not been temporarily reversed. - - - - - - Play/Pause - Play/Pause - - - - Jumps to the beginning of the track. - Jumps to the beginning of the track. - - - - Syncs the tempo (BPM) and phase to that of the other track, if BPM is detected on both. - Syncs the tempo (BPM) and phase to that of the other track, if BPM is detected on both. - - - - Syncs the tempo (BPM) to that of the other track, if BPM is detected on both. - Syncs the tempo (BPM) to that of the other track, if BPM is detected on both. - - - - Sync and Reset Key - Sync and Reset Key - - - - Increases the pitch by one semitone. - Increases the pitch by one semitone. - - - - Decreases the pitch by one semitone. - Decreases the pitch by one semitone. - - - - Enable Vinyl Control - Enable Vinyl Control - - - - When disabled, the track is controlled by Mixxx playback controls. - When disabled, the track is controlled by Mixxx playback controls. - - - - When enabled, the track responds to external vinyl control. - When enabled, the track responds to external vinyl control. - - - - Enable Passthrough - Enable Passthrough - - - - Indicates that the audio buffer is too small to do all audio processing. - Indicates that the audio buffer is too small to do all audio processing. - - - - Displays cover artwork of the loaded track. - Displays cover artwork of the loaded track. - - - - Displays options for editing cover artwork. - Displays options for editing cover artwork. - - - - Star Rating - Star Rating - - - - Assign ratings to individual tracks by clicking the stars. - Assign ratings to individual tracks by clicking the stars. - - - - Channel Peak Indicator - Channel Peak Indicator - - - - Drag this item to other decks/samplers, to crates and playlist or to external file manager. - Drag this item to other decks/samplers, to crates and playlist or to external file manager. - - - - Shows information about the track currently loaded in this deck. - Shows information about the track currently loaded in this deck. - - - - Left click to jump around in the track. - Left click to jump around in the track. - - - - Right click hotcues to edit their labels and colors. - Right click hotcues to edit their labels and colors. - - - - Right click anywhere else to show the time at that point. - Right click anywhere else to show the time at that point. - - - - Channel L Peak Indicator - Channel L Peak Indicator - - - - Indicates when the left signal on the channel is clipping, - Indicates when the left signal on the channel is clipping, - - - - Channel R Peak Indicator - Channel R Peak Indicator - - - - Indicates when the right signal on the channel is clipping, - Indicates when the right signal on the channel is clipping, - - - - Channel L Volume Meter - Channel L Volume Meter - - - - Shows the current channel volume for the left channel. - Shows the current channel volume for the left channel. - - - - Channel R Volume Meter - Channel R Volume Meter - - - - Shows the current channel volume for the right channel. - Shows the current channel volume for the right channel. - - - - Microphone Peak Indicator - Microphone Peak Indicator - - - - Indicates when the signal on the microphone is clipping, - Indicates when the signal on the microphone is clipping, - - - - Sampler Volume Meter - Sampler Volume Meter - - - - Shows the current sampler volume. - Shows the current sampler volume. - - - - Sampler Peak Indicator - Sampler Peak Indicator - - - - Indicates when the signal on the sampler is clipping, - Indicates when the signal on the sampler is clipping, - - - - Preview Deck Volume Meter - Preview Deck Volume Meter - - - - Shows the current Preview Deck volume. - Shows the current Preview Deck volume. - - - - Preview Deck Peak Indicator - Preview Deck Peak Indicator - - - - Indicates when the signal on the Preview Deck is clipping, - Indicates when the signal on the Preview Deck is clipping, - - - - Maximize Library - Maximize Library - - - - Microphone Talkover Ducking Strength - Microphone Talkover Ducking Strength - - - - Prevents the pitch from changing when the rate changes. - Prevents the pitch from changing when the rate changes. - - - - Changes the number of hotcue buttons displayed in the deck - Changes the number of hotcue buttons displayed in the deck - - - - Starts playing from the beginning of the track. - Starts playing from the beginning of the track. - - - - Jumps to the beginning of the track and stops. - Jumps to the beginning of the track and stops. - - - - - Plays or pauses the track. - Plays or pauses the track. - - - - (while playing) - (while playing) - - - - Opens the track properties editor - Opens the track properties editor - - - - Opens the track context menu. - Opens the track context menu. - - - - Main Channel R Volume Meter - - - - - (while stopped) - (while stopped) - - - - Cue - Cue - - - - Headphone - Headphone - - - - Mute - Mute - - - - Old Synchronize - Old Synchronize - - - - Syncs to the first deck (in numerical order) that is playing a track and has a BPM. - Syncs to the first deck (in numerical order) that is playing a track and has a BPM. - - - - If no deck is playing, syncs to the first deck that has a BPM. - If no deck is playing, syncs to the first deck that has a BPM. - - - - Decks can't sync to samplers and samplers can only sync to decks. - Decks can't sync to samplers and samplers can only sync to decks. - - - - Hold for at least a second to enable sync lock for this deck. - Hold for at least a second to enable sync lock for this deck. - - - - Decks with sync locked will all play at the same tempo, and decks that also have quantize enabled will always have their beats lined up. - Decks with sync locked will all play at the same tempo, and decks that also have quantize enabled will always have their beats lined up. - - - - Resets the key to the original track key. - Resets the key to the original track key. - - - - Speed Control - Speed Control - - - - - - Changes the track pitch independent of the tempo. - Changes the track pitch independent of the tempo. - - - - Increases the pitch by 10 cents. - Increases the pitch by 10 cents. - - - - Decreases the pitch by 10 cents. - Decreases the pitch by 10 cents. - - - - Pitch Adjust - Pitch Adjust - - - - Adjust the pitch in addition to the speed slider pitch. - Adjust the pitch in addition to the speed slider pitch. - - - - Opens a menu to clear hotcues or edit their labels and colors. - Opens a menu to clear hotcues or edit their labels and colors. - - - - Record Mix - Record Mix - - - - Toggle mix recording. - Toggle mix recording. - - - - Enable Live Broadcasting - Enable Live Broadcasting - - - - Stream your mix over the Internet. - Stream your mix over the Internet. - - - - Provides visual feedback for Live Broadcasting status: - Provides visual feedback for Live Broadcasting status: - - - - disabled, connecting, connected, failure. - disabled, connecting, connected, failure. - - - - When enabled, the deck directly plays the audio arriving on the vinyl input. - When enabled, the deck directly plays the audio arriving on the vinyl input. - - - - Blue for passthrough enabled. - Blue for passthrough enabled. - - - - Playback will resume where the track would have been if it had not entered the loop. - Playback will resume where the track would have been if it had not entered the loop. - - - - Loop Exit - Loop Exit - - - - Turns the current loop off. - Turns the current loop off. - - - - Slip Mode - Slip Mode - - - - When active, the playback continues muted in the background during a loop, reverse, scratch etc. - When active, the playback continues muted in the background during a loop, reverse, scratch etc. - - - - Once disabled, the audible playback will resume where the track would have been. - Once disabled, the audible playback will resume where the track would have been. - - - - Track Key - The musical key of a track - Track Key - - - - Displays the musical key of the loaded track. - Displays the musical key of the loaded track. - - - - Clock - Clock - - - - Displays the current time. - Displays the current time. - - - - Audio Latency Usage Meter - Audio Latency Usage Meter - - - - Displays the fraction of latency used for audio processing. - Displays the fraction of latency used for audio processing. - - - - A high value indicates that audible glitches are likely. - A high value indicates that audible glitches are likely. - - - - Do not enable keylock, effects or additional decks in this situation. - Do not enable keylock, effects or additional decks in this situation. - - - - Audio Latency Overload Indicator - Audio Latency Overload Indicator - - - - If Vinyl control is enabled, displays time-coded vinyl signal quality (see Preferences -> Vinyl Control). - If Vinyl control is enabled, displays time-coded vinyl signal quality (see Preferences -> Vinyl Control). - - - - Drop tracks from library, external file manager, or other decks/samplers here. - Drop tracks from library, external file manager, or other decks/samplers here. - - - - Change the crossfader curve in Preferences -> Crossfader - Change the crossfader curve in Preferences -> Crossfader - - - - Crossfader Orientation - Crossfader Orientation - - - - Set the channel's crossfader orientation. - Set the channel's crossfader orientation. - - - - Either to the left side of crossfader, to the right side or to the center (unaffected by crossfader) - Either to the left side of crossfader, to the right side or to the center (unaffected by crossfader) - - - - Activate Vinyl Control from the Menu -> Options. - Activate Vinyl Control from the Menu -> Options. - - - - Displays the current musical key of the loaded track after pitch shifting. - Displays the current musical key of the loaded track after pitch shifting. - - - - Fast Rewind - Fast Rewind - - - - Fast rewind through the track. - Fast rewind through the track. - - - - Fast Forward - Fast Forward - - - - Fast forward through the track. - Fast forward through the track. - - - - Jumps to the end of the track. - Jumps to the end of the track. - - - - Sets the pitch to a key that allows a harmonic transition from the other track. Requires a detected key on both involved decks. - Sets the pitch to a key that allows a harmonic transition from the other track. Requires a detected key on both involved decks. - - - - - - Pitch Control - Pitch Control - - - - Pitch Rate - Pitch Rate - - - - Displays the current playback rate of the track. - Displays the current playback rate of the track. - - - - Repeat - Repeat - - - - When active the track will repeat if you go past the end or reverse before the start. - When active the track will repeat if you go past the end or reverse before the start. - - - - Eject - Eject - - - - Ejects track from the player. - Ejects track from the player. - - - - Hotcue - Hotcue - - - - If hotcue is set, jumps to the hotcue. - If hotcue is set, jumps to the hotcue. - - - - If hotcue is not set, sets the hotcue to the current play position. - If hotcue is not set, sets the hotcue to the current play position. - - - - Vinyl Control Mode - Vinyl Control Mode - - - - Absolute mode - track position equals needle position and speed. - Absolute mode - track position equals needle position and speed. - - - - Relative mode - track speed equals needle speed regardless of needle position. - Relative mode - track speed equals needle speed regardless of needle position. - - - - Constant mode - track speed equals last known-steady speed regardless of needle input. - Constant mode - track speed equals last known-steady speed regardless of needle input. - - - - Vinyl Status - Vinyl Status - - - - Provides visual feedback for vinyl control status: - Provides visual feedback for vinyl control status: - - - - Green for control enabled. - Green for control enabled. - - - - Blinking yellow for when the needle reaches the end of the record. - Blinking yellow for when the needle reaches the end of the record. - - - - Loop-In Marker - Loop-In Marker - - - - Loop-Out Marker - Loop-Out Marker - - - - Loop Halve - Loop Halve - - - - Halves the current loop's length by moving the end marker. - Halves the current loop's length by moving the end marker. - - - - Deck immediately loops if past the new endpoint. - Deck immediately loops if past the new endpoint. - - - - Loop Double - Loop Double - - - - Doubles the current loop's length by moving the end marker. - Doubles the current loop's length by moving the end marker. - - - - Beatloop - Beatloop - - - - Toggles the current loop on or off. - Toggles the current loop on or off. - - - - Works only if Loop-In and Loop-Out marker are set. - Works only if Loop-In and Loop-Out marker are set. - - - - Hint: Change the default cue mode in Preferences -> Interface. - Hint: Change the default cue mode in Preferences -> Interface. - - - - Vinyl Cueing Mode - Vinyl Cueing Mode - - - - Determines how cue points are treated in vinyl control Relative mode: - Determines how cue points are treated in vinyl control Relative mode: - - - - Off - Cue points ignored. - Off - Cue points ignored. - - - - One Cue - If needle is dropped after the cue point, track will seek to that cue point. - One Cue - If needle is dropped after the cue point, track will seek to that cue point. - - - - Track Time - Track Time - - - - Track Duration - Track Duration - - - - Displays the duration of the loaded track. - Displays the duration of the loaded track. - - - - Information is loaded from the track's metadata tags. - Information is loaded from the track's metadata tags. - - - - Track Artist - Track Artist - - - - Displays the artist of the loaded track. - Displays the artist of the loaded track. - - - - Track Title - Track Title - - - - Displays the title of the loaded track. - Displays the title of the loaded track. - - - - Track Album - Track Album - - - - Displays the album name of the loaded track. - Displays the album name of the loaded track. - - - - Track Artist/Title - Track Artist/Title - - - - Displays the artist and title of the loaded track. - Displays the artist and title of the loaded track. - - - - TrackCollection - - - Hiding tracks - Hiding tracks - - - - The selected tracks are in the following playlists:%1Hiding them will remove them from these playlists. Continue? - The selected tracks are in the following playlists:%1Hiding them will remove them from these playlists. Continue? - - - - TrackExportDlg - - - Export finished - Export finished - - - - Exporting %1 - Exporting %1 - - - - Overwrite Existing File? - Overwrite Existing File? - - - - "%1" already exists, overwrite? - "%1" already exists, overwrite? - - - - &Overwrite - &Overwrite - - - - Over&write All - Over&write All - - - - &Skip - &Skip - - - - Skip &All - Skip &All - - - - Export Error - Export Error - - - - TrackExportWizard - - - Export Track Files To - Export Track Files To - - - - TrackExportWorker - - - - Export process was canceled - Export process was canceled - - - - Error removing file %1: %2. Stopping. - Error removing file %1: %2. Stopping. - - - - Error exporting track %1 to %2: %3. Stopping. - Error exporting track %1 to %2: %3. Stopping. - - - - Error exporting tracks - Error exporting tracks - - - - TraktorFeature - - - - Traktor - Traktor - - - - (loading) Traktor - (loading) Traktor - - - - Error Loading Traktor Library - Error Loading Traktor Library - - - - There was an error loading your Traktor library. Some of your Traktor tracks or playlists may not have loaded. - There was an error loading your Traktor library. Some of your Traktor tracks or playlists may not have loaded. - - - - VSyncThread - - - Timer (Fallback) - Timer (Fallback) - - - - MESA vblank_mode = 1 - MESA vblank_mode = 1 - - - - Wait for Video sync - Wait for Video sync - - - - Sync Control - Sync Control - - - - Free + 1 ms (for benchmark only) - Free + 1 ms (for benchmark only) - - - - WBattery - - - Time until charged: %1 - Time until charged: %1 - - - - Time left: %1 - Time left: %1 - - - - Battery fully charged. - Battery fully charged. - - - - WColorPicker - - - No color - No color - - - - Custom color - Custom color - - - - WCoverArtMenu - - - Choose new cover - change cover art location - Choose new cover - - - - Clear cover - clears the set cover art -- does not touch files on disk - Clear cover - - - - Reload from file/folder - reload cover art from file metadata or folder - Reload from file/folder - - - - Image Files - Image Files - - - - Change Cover Art - Change Cover Art - - - - Cover Art File Already Exists - La Pochette d'Album Existe Déjà - - - - File: %1 -Folder: %2 -Override existing file? -This can not be undone! - Fichier : %1 -Dossier : %2 -Écraser le fichier existant ? -Cette opération est irréversible ! - - - - WCueMenuPopup - - - Cue number - Cue number - - - - Cue position - Cue position - - - - Edit cue label - Edit cue label - - - - Label... - Label... - - - - Delete this cue - Delete this cue - - - - Hotcue #%1 - Hotcue #%1 - - - - WEffectChainPresetButton - - - Update Preset - Update Preset - - - - Rename Preset - - - - - Save As New Preset... - Save As New Preset... - - - - Save snapshot - Save snapshot - - - - WEffectName - - - %1: %2 - %1 = effect name; %2 = effect description - %1: %2 - - - - No effect loaded. - Aucun effet chargé. - - - - WEffectParameterNameBase - - - No effect loaded. - Aucun effet chargé. - - - - WEffectSelector - - - No effect loaded. - No effect loaded. - - - - WFindOnWebMenu - - - Find on Web - Find on Web - - - - WMainMenuBar - - - &File - &File - - - - Load Track to Deck &%1 - Load Track to Deck &%1 - - - - Loads a track in deck %1 - Loads a track in deck %1 - - - - Open - Open - - - - &Exit - &Exit - - - - Quits Mixxx - Quits Mixxx - - - - Ctrl+q - Ctrl+q - - - - &Library - &Library - - - - &Rescan Library - &Rescan Library - - - - Rescans library folders for changes to tracks. - Rescans library folders for changes to tracks. - - - - Ctrl+Shift+L - Ctrl+Shift+L - - - - E&xport Library to Engine Prime - E&xport Library to Engine Prime - - - - Export the library to the Engine Prime format - Export the library to the Engine Prime format - - - - Create &New Playlist - Create &New Playlist - - - - Create a new playlist - Create a new playlist - - - - Ctrl+n - Ctrl+n - - - - Create New &Crate - Create New &Crate - - - - Create a new crate - Create a new crate - - - - Ctrl+Shift+N - Ctrl+Shift+N - - - - - &View - &View - - - - May not be supported on all skins. - May not be supported on all skins. - - - - Show Skin Settings Menu - Show Skin Settings Menu - - - - Show the Skin Settings Menu of the currently selected Skin - Show the Skin Settings Menu of the currently selected Skin - - - - Ctrl+1 - Menubar|View|Show Skin Settings - Ctrl+1 - - - - Show Microphone Section - Show Microphone Section - - - - Show the microphone section of the Mixxx interface. - Show the microphone section of the Mixxx interface. - - - - Ctrl+2 - Menubar|View|Show Microphone Section - Ctrl+2 - - - - Show Vinyl Control Section - Show Vinyl Control Section - - - - Show the vinyl control section of the Mixxx interface. - Show the vinyl control section of the Mixxx interface. - - - - Ctrl+3 - Menubar|View|Show Vinyl Control Section - Ctrl+3 - - - - Show Preview Deck - Show Preview Deck - - - - Show the preview deck in the Mixxx interface. - Show the preview deck in the Mixxx interface. - - - - Ctrl+4 - Menubar|View|Show Preview Deck - Ctrl+4 - - - - Show Cover Art - Show Cover Art - - - - Show cover art in the Mixxx interface. - Show cover art in the Mixxx interface. - - - - Ctrl+6 - Menubar|View|Show Cover Art - Ctrl+6 - - - - Maximize Library - Maximize Library - - - - Maximize the track library to take up all the available screen space. - Maximize the track library to take up all the available screen space. - - - - Space - Menubar|View|Maximize Library - Space - - - - &Full Screen - &Full Screen - - - - Display Mixxx using the full screen - Display Mixxx using the full screen - - - - &Options - &Options - - - - &Vinyl Control - &Vinyl Control - - - - Use timecoded vinyls on external turntables to control Mixxx - Use timecoded vinyls on external turntables to control Mixxx - - - - Enable Vinyl Control &%1 - Enable Vinyl Control &%1 - - - - &Record Mix - &Record Mix - - - - Record your mix to a file - Record your mix to a file - - - - Ctrl+R - Ctrl+R - - - - Enable Live &Broadcasting - Enable Live &Broadcasting - - - - Stream your mixes to a shoutcast or icecast server - Stream your mixes to a shoutcast or icecast server - - - - Ctrl+L - Ctrl+L - - - - Enable &Keyboard Shortcuts - Enable &Keyboard Shortcuts - - - - Toggles keyboard shortcuts on or off - Toggles keyboard shortcuts on or off - - - - Ctrl+` - Ctrl+` - - - - &Preferences - &Preferences - - - - Change Mixxx settings (e.g. playback, MIDI, controls) - Change Mixxx settings (e.g. playback, MIDI, controls) - - - - &Developer - &Developer - - - - &Reload Skin - &Reload Skin - - - - Reload the skin - Reload the skin - - - - Ctrl+Shift+R - Ctrl+Shift+R - - - - Developer &Tools - Developer &Tools - - - - Opens the developer tools dialog - Opens the developer tools dialog - - - - Ctrl+Shift+T - Ctrl+Shift+T - - - - Stats: &Experiment Bucket - Stats: &Experiment Bucket - - - - Enables experiment mode. Collects stats in the EXPERIMENT tracking bucket. - Enables experiment mode. Collects stats in the EXPERIMENT tracking bucket. - - - - Ctrl+Shift+E - Ctrl+Shift+E - - - - Stats: &Base Bucket - Stats: &Base Bucket - - - - Enables base mode. Collects stats in the BASE tracking bucket. - Enables base mode. Collects stats in the BASE tracking bucket. - - - - Ctrl+Shift+B - Ctrl+Shift+B - - - - Deb&ugger Enabled - Deb&ugger Enabled - - - - Enables the debugger during skin parsing - Enables the debugger during skin parsing - - - - Ctrl+Shift+D - Ctrl+Shift+D - - - - &Help - &Help - - - - Show Keywheel - menu title - Show Keywheel - - - - Show keywheel - tooltip text - Show keywheel - - - - F12 - Menubar|View|Show Keywheel - F12 - - - - &Community Support - &Community Support - - - - Get help with Mixxx - Get help with Mixxx - - - - &User Manual - &User Manual - - - - Read the Mixxx user manual. - Read the Mixxx user manual. - - - - &Keyboard Shortcuts - &Keyboard Shortcuts - - - - Speed up your workflow with keyboard shortcuts. - Speed up your workflow with keyboard shortcuts. - - - - &Settings directory - - - - - Open the Mixxx user settings directory. - - - - - &Translate This Application - &Translate This Application - - - - Help translate this application into your language. - Help translate this application into your language. - - - - &About - &About - - - - About the application - About the application - - - - WOverview - - - Passthrough - Passthrough - - - - Ready to play, analyzing... - Text on waveform overview when file is playable but no waveform is visible - Ready to play, analyzing... - - - - - Loading track... - Text on waveform overview when file is cached from source - Loading track... - - - - Finalizing... - Text on waveform overview during finalizing of waveform analysis - Finalizing... - - - - WSearchLineEdit - - - Clear input - Clear the search bar input field - Clear input - - - - Ctrl+F - Search|Focus - Ctrl+F - - - - Search - noun - Search - - - - Clear input - Clear input - - - - Search... - Shown in the library search bar when it is empty. - Search... - - - - Clear the search bar input field - Clear the search bar input field - - - - Enter a string to search for - Enter a string to search for - - - - Use operators like bpm:115-128, artist:BooFar, -year:1990 - Use operators like bpm:115-128, artist:BooFar, -year:1990 - - - - For more information see User Manual > Mixxx Library - For more information see User Manual > Mixxx Library - - - - Shortcut - Shortcut - - - - Ctrl+F - Ctrl+F - - - - Focus - Give search bar input focus - Focus - - - - - Ctrl+Backspace - Ctrl+Backspace - - - - Shortcuts - Shortcuts - - - - Return - Retour arrière - - - - Trigger search before search-as-you-type timeout orjump to tracks view afterwards - Trigger search before search-as-you-type timeout orjump to tracks view afterwards - - - - Ctrl+Space - Ctrl+Space - - - - Toggle search history - Shows/hides the search history entries - Toggle search history - - - - Delete or Backspace - Delete or Backspace - - - - Delete query from history - Delete query from history - - - - Esc - Esc - - - - Exit search - Exit search bar and leave focus - Exit search - - - - WSearchRelatedTracksMenu - - - Search related Tracks - Search related Tracks - - - - Key - Clé - - - - harmonic with %1 - harmonic with %1 - - - - BPM - BPM - - - - between %1 and %2 - between %1 and %2 - - - - Artist - Artiste - - - - Album Artist - Artiste de l'album - - - - Composer - Compositeur - - - - Title - Titre - - - - Album - Album - - - - Grouping - Regroupement - - - - Year - Année - - - - Genre - Genre - - - - Directory - Directory - - - - WTrackMenu - - - Load to - Load to - - - - Deck - Deck - - - - Sampler - Sampler - - - - Add to Playlist - Add to Playlist - - - - Crates - Caisses - - - - Metadata - Metadata - - - - Update external collections - Update external collections - - - - Cover Art - Couverture - - - - Adjust BPM - Adjust BPM - - - - Select Color - Select Color - - - - Reset - Reset metadata in right click track context menu in library - Reset - - - - - Analyze - Analyse - - - - - Delete Track Files - Delete Track Files - - - - Add to Auto DJ Queue (bottom) - Ajouter à la file d'attente de l'auto-dj (en dernier) - - - - Add to Auto DJ Queue (top) - Ajouter à la file d'attente de l'auto-dj (en premier) - - - - Add to Auto DJ Queue (replace) - Add to Auto DJ Queue (replace) - - - - Preview Deck - Platine de pré-écoute - - - - Remove - Supprimer - - - - Remove from Playlist - Remove from Playlist - - - - Remove from Crate - Remove from Crate - - - - Hide from Library - Hide from Library - - - - Unhide from Library - Unhide from Library - - - - Purge from Library - Purge from Library - - - - Move Track File(s) to Trash - - - - - Delete Files from Disk - Delete Files from Disk - - - - Properties - Properties - - - - Open in File Browser - Open in File Browser - - - - Select in Library - Select in Library - - - - Import From File Tags - Import From File Tags - - - - Import From MusicBrainz - Import From MusicBrainz - - - - Export To File Tags - Export To File Tags - - - - BPM and Beatgrid - BPM and Beatgrid - - - - Play Count - Play Count - - - - Rating - Note - - - - Cue Point - Cue Point - - - - Hotcues - Points de repère - - - - Intro - Intro - - - - Outro - Outro - - - - Key - Clé - - - - ReplayGain - ReplayGain - - - - Waveform - Waveform - - - - Comment - Commentaire - - - - All - All - - - - Lock BPM - Lock BPM - - - - Unlock BPM - Unlock BPM - - - - Double BPM - Double BPM - - - - Halve BPM - Halve BPM - - - - 2/3 BPM - 2/3 BPM - - - - 3/4 BPM - 3/4 BPM - - - - 4/3 BPM - 4/3 BPM - - - - 3/2 BPM - 3/2 BPM - - - - Reset BPM - Reset BPM - - - - Reanalyze - Reanalyze - - - - Reanalyze (constant BPM) - Réanalyser (BPM constant) - - - - Reanalyze (variable BPM) - Réanalyser (BPM variable) - - - - Update ReplayGain from Deck Gain - Update ReplayGain from Deck Gain - - - - Deck %1 - Deck %1 - - - - Sampler %1 - Sampler %1 - - - - Importing metadata of %n track(s) from file tags - - - - - Marking metadata of %n track(s) to be exported into file tags - - - - - - Create New Playlist - Créer une nouvelle playlist - - - - Enter name for new playlist: - Entrez un nom pour la nouvelle playlist - - - - New Playlist - Nouvelle playlist - - - - - - Playlist Creation Failed - La création de la liste de lecture a échoué - - - - A playlist by that name already exists. - Une playlist utilise déjà ce nom - - - - A playlist cannot have a blank name. - Une liste de lecture ne peut pas être sans nom. - - - - An unknown error occurred while creating playlist: - Une erreur inconnue s'est produite à la création de la liste de lecture : - - - - Add to New Crate - Add to New Crate - - - - Scaling BPM of %n track(s) - - - - - Locking BPM of %n track(s) - - - - - Unlocking BPM of %n track(s) - - - - - Setting color of %n track(s) - - - - - Resetting play count of %n track(s) - - - - - Resetting beats of %n track(s) - - - - - Clearing rating of %n track(s) - - - - - Clearing comment of %n track(s) - - - - - Removing main cue from %n track(s) - - - - - Removing outro cue from %n track(s) - - - - - Removing intro cue from %n track(s) - - - - - Removing loop cues from %n track(s) - - - - - Removing hot cues from %n track(s) - - - - - Resetting keys of %n track(s) - - - - - Resetting replay gain of %n track(s) - - - - - Resetting waveform of %n track(s) - - - - - Resetting all performance metadata of %n track(s) - - - - - Permanently delete these files from disk? - Permanently delete these files from disk? - - - - - This can not be undone! - This can not be undone! - - - - Stop the deck and move this track file to the trash bin? - - - - - Stop the deck and permanently delete this track file from disk? - Stop the deck and permanently delete this track file from disk? - - - - Cancel - Annuler - - - - Delete Files - Delete Files - - - - Okay - - - - - Move Track File(s) to Trash? - - - - - Track Files Deleted - Track Files Deleted - - - - Track Files Moved To Trash - - - - - %1 track files were moved to trash and purged from the Mixxx database. - - - - - %1 track files were deleted from disk and purged from the Mixxx database. - %1 track files were deleted from disk and purged from the Mixxx database. - - - - Track File Deleted - Fichier de la piste supprimée - - - - Track file was deleted from disk and purged from the Mixxx database. - Track file was deleted from disk and purged from the Mixxx database. - - - - The following %1 file(s) could not be deleted from disk - The following %1 file(s) could not be deleted from disk - - - - This track file could not be deleted from disk - This track file could not be deleted from disk - - - - Remaining Track File(s) - Remaining Track File(s) - - - - Close - Fermer - - - - Loops - Boucles - - - - Removing %n track file(s) from disk... - - - - - Note: if you are in the Computer or Recording view you need to click the current view again to see changes. - - - - - Track File Moved To Trash - - - - - Track file was moved to trash and purged from the Mixxx database. - - - - - The following %1 file(s) could not be moved to trash - - - - - This track file could not be moved to trash - - - - - Setting cover art of %n track(s) - - - - - Reloading cover art of %n track(s) - - - - - WTrackTableView - - - Confirm track hide - Confirm track hide - - - - Are you sure you want to hide the selected tracks? - Are you sure you want to hide the selected tracks? - - - - Are you sure you want to remove the selected tracks from AutoDJ queue? - Are you sure you want to remove the selected tracks from AutoDJ queue? - - - - Are you sure you want to remove the selected tracks from this crate? - Are you sure you want to remove the selected tracks from this crate? - - - - Are you sure you want to remove the selected tracks from this playlist? - Are you sure you want to remove the selected tracks from this playlist? - - - - Don't ask again during this session - - - - - Confirm track removal - Confirm track removal - - - - WTrackTableViewHeader - - - Show or hide columns. - Show or hide columns. - - - - WaveformWidgetFactory - - - legacy - - - - - allshader::FilteredWaveformWidget - - - Filtered - Filtered - - - - allshader::HSVWaveformWidget - - - HSV - HSV - - - - allshader::LRRGBWaveformWidget - - - RGB L/R - - - - - allshader::RGBWaveformWidget - - - RGB - RGB - - - - allshader::SimpleWaveformWidget - - - Simple - Simple - - - - mixxx::CoreServices - - - fonts - fonts - - - - database - database - - - - effects - effects - - - - audio interface - audio interface - - - - decks - decks - - - - library - library - - - - Choose music library directory - Choose music library directory - - - - controllers - controllers - - - - Cannot open database - Cannot open database - - - - Unable to establish a database connection. -Mixxx requires QT with SQLite support. Please read the Qt SQL driver documentation for information on how to build it. - -Click OK to exit. - Unable to establish a database connection. -Mixxx requires QT with SQLite support. Please read the Qt SQL driver documentation for information on how to build it. - -Click OK to exit. - - - - mixxx::DlgLibraryExport - - - Entire music library - Entire music library - - - - Selected crates - Selected crates - - - - Browse - Browse - - - - Export directory - Export directory - - - - Database version - Database version - - - - Export - Export - - - - Cancel - Cancel - - - - Export Library to Engine Prime - Export Library to Engine Prime - - - - Export Library To - Export Library To - - - - No Export Directory Chosen - No Export Directory Chosen - - - - No export directory was chosen. Please choose a directory in order to export the music library. - No export directory was chosen. Please choose a directory in order to export the music library. - - - - A database already exists in the chosen directory. Exported tracks will be added into this database. - A database already exists in the chosen directory. Exported tracks will be added into this database. - - - - A database already exists in the chosen directory, but there was a problem loading it. Export is not guaranteed to succeed in this situation. - A database already exists in the chosen directory, but there was a problem loading it. Export is not guaranteed to succeed in this situation. - - - - mixxx::DlgTrackMetadataExport - - - Export Modified Track Metadata - Export Modified Track Metadata - - - - Mixxx may wait to modify files until they are not loaded to any decks or samplers. If you do not see changed metadata in other programs immediately, eject the track from all decks and samplers or shutdown Mixxx. - Mixxx may wait to modify files until they are not loaded to any decks or samplers. If you do not see changed metadata in other programs immediately, eject the track from all decks and samplers or shutdown Mixxx. - - - - mixxx::LibraryExporter - - - Export Completed - Export Completed - - - - Exported %1 track(s) and %2 crate(s). - Exported %1 track(s) and %2 crate(s). - - - - Export Failed - Export Failed - - - - Export failed: %1 - Export failed: %1 - - - - Exporting to Engine Prime... - Exporting to Engine Prime... - - - - mixxx::TaskMonitor - - - Abort - Abort - - - - mixxx::hid::DeviceCategory - - - HID Interface %1: - HID Interface %1: - - - - Generic HID Pointer - Generic HID Pointer - - - - Generic HID Mouse - Generic HID Mouse - - - - Generic HID Joystick - Generic HID Joystick - - - - Generic HID Game Pad - Generic HID Game Pad - - - - Generic HID Keyboard - Generic HID Keyboard - - - - Generic HID Keypad - Generic HID Keypad - - - - Generic HID Multi-axis Controller - Generic HID Multi-axis Controller - - - - Unknown HID Desktop Device: - Unknown HID Desktop Device: - - - - Apple HID Infrared Control - Apple HID Infrared Control - - - - Unknown Apple HID Device: - Unknown Apple HID Device: - - - - Unknown HID Device: - Unknown HID Device: - - - - mixxx::network::WebTask - - - No network access - No network access - - - - The Network request has not been started - La demande de réseau n'a pas été lancée - - - - mixxx::qml::QmlVisibleEffectsModel - - - No effect loaded. - Aucun effet chargé. - - - \ No newline at end of file From 84191304175a8ed80d8efb0765143823fddda9f2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Sch=C3=BCrmann?= Date: Thu, 31 Jul 2025 23:04:16 +0200 Subject: [PATCH 071/181] Identefy version as 2.7 alpha (not yet beta) --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 36d5fd482517..a68d4c5d3f54 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -433,7 +433,7 @@ endif() project(mixxx VERSION 2.7.0 LANGUAGES C CXX) # Work around missing version suffixes support https://gitlab.kitware.com/cmake/cmake/-/issues/16716 -set(MIXXX_VERSION_PRERELEASE "beta") # set to "alpha" "beta" or "" +set(MIXXX_VERSION_PRERELEASE "alpha") # set to "alpha" "beta" or "" set(CMAKE_PROJECT_HOMEPAGE_URL "https://www.mixxx.org") set( From 3d542dcb1691501b34e90ad53d60b3aee12f88e8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Clau=C3=9Fen?= Date: Sat, 29 Mar 2025 21:13:46 +0100 Subject: [PATCH 072/181] xwax: Add custom u128 struct for the sake of portability Mark wishes to use a custom u128 type instead of C23 features like arbitrary-sized integers using _BitInt() for the sake of portability and performance. --- lib/xwax/types.h | 148 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 148 insertions(+) create mode 100644 lib/xwax/types.h diff --git a/lib/xwax/types.h b/lib/xwax/types.h new file mode 100644 index 000000000000..3fe87e1cd81b --- /dev/null +++ b/lib/xwax/types.h @@ -0,0 +1,148 @@ +#ifndef TYPES_H +#define TYPES_H + +#include +#include + +/* + * Define the u128 struct using two 64-bit unsigned integers, with high part first. + */ + +typedef struct { + uint64_t high; /* Most significant part */ + uint64_t low; /* Least significant part */ +} u128; + +/* + * Inline constructor for u128. + * Works in all compilers, including MSVC. + */ + +static inline u128 make_u128(uint64_t high, uint64_t low) +{ + u128 v; + + v.high = high; + v.low = low; + + return v; +} + +/* + * Macro to preserve U128() syntax, but call the portable constructor. + * + * Used to be only the macro before, but MSVC doesn't like C99 compound + * literals. + */ + +#define U128(high, low) make_u128((high), (low)) +#define U128_ZERO make_u128(0ULL, 0ULL) +#define U128_ONE make_u128(0ULL, 1ULL) + +static inline int u128_eq(u128 a, u128 b) +{ + return (a.high == b.high) && (a.low == b.low); +} + +/* + * Not-equal comparison. + */ + +static inline int u128_neq(u128 a, u128 b) +{ + return (a.high != b.high) || (a.low != b.low); +} + +/* + * Addition of two u128 values. + */ + +static inline u128 u128_add(u128 a, u128 b) +{ + uint64_t sum = a.low + b.low; + uint64_t carry = (sum < a.low) ? 1 : 0; + + return U128(a.high + b.high + carry, sum); +} + +/* + * Subtraction of two u128 values. + */ + +static inline u128 u128_sub(u128 a, u128 b) +{ + uint64_t diff = a.low - b.low; + uint64_t borrow = (a.low < b.low) ? 1 : 0; + + return U128(a.high - b.high - borrow, diff); +} + +/* + * Left shift by n bits. + */ + +static inline u128 u128_lshift(u128 a, uint32_t n) +{ + if (n >= 128) + return U128_ZERO; + else if (n >= 64) + return U128(a.low << (n - 64), 0ULL); + else + return U128((a.high << n) | (a.low >> (64 - n)), a.low << n); +} + +/* + * Right shift by n bits. + */ + +static inline u128 u128_rshift(u128 a, uint32_t n) +{ + if (n >= 128) + return U128_ZERO; + else if (n >= 64) + return U128(0ULL, a.high >> (n - 64)); + else + return U128(a.high >> n, (a.low >> n) | (a.high << (64 - n))); +} + +/* + * Bitwise AND of two u128 values. + */ + +static inline u128 u128_and(u128 a, u128 b) +{ + return U128(a.high & b.high, a.low & b.low); +} + +/* + * Bitwise OR of two u128 values. + */ + +static inline u128 u128_or(u128 a, u128 b) +{ + return U128(a.high | b.high, a.low | b.low); +} + +/* + * Logical NOT (negation) of a u128 value. + */ + +static inline u128 u128_not(u128 a) +{ + if (!a.low && !a.high) + return U128(0ULL, 1ULL); + else + return U128(0ULL, 0ULL); +} + +/* + * Print a u128 value in hexadecimal format (lowercase). + */ + +static inline void u128_print(u128 a) +{ + printf("%016llx%016llx\n", (unsigned long long)a.high, (unsigned long long)a.low); +} + +#endif /* end of include guard TYPES_H */ + From 72a711f009f5ab38a910bd850644511ef18b5605 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Clau=C3=9Fen?= Date: Sat, 29 Mar 2025 21:24:08 +0100 Subject: [PATCH 073/181] xwax: Consistently use bits_t and slot_no_t types in LUT --- lib/xwax/lut.c | 8 ++++---- lib/xwax/lut.h | 7 ++++--- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/lib/xwax/lut.c b/lib/xwax/lut.c index d9d16585d240..f137a39f21ed 100644 --- a/lib/xwax/lut.c +++ b/lib/xwax/lut.c @@ -28,7 +28,7 @@ #define HASH_BITS 16 #define HASH(timecode) ((timecode) & ((1 << HASH_BITS) - 1)) -#define NO_SLOT ((unsigned)-1) +#define NO_SLOT ((slot_no_t)-1) /* Initialise an empty hash lookup table to store the given number @@ -74,7 +74,7 @@ void lut_clear(struct lut *lut) } -void lut_push(struct lut *lut, unsigned int timecode) +void lut_push(struct lut *lut, bits_t timecode) { unsigned int hash; slot_no_t slot_no; @@ -91,7 +91,7 @@ void lut_push(struct lut *lut, unsigned int timecode) } -unsigned int lut_lookup(struct lut *lut, unsigned int timecode) +slot_no_t lut_lookup(struct lut *lut, bits_t timecode) { unsigned int hash; slot_no_t slot_no; @@ -107,5 +107,5 @@ unsigned int lut_lookup(struct lut *lut, unsigned int timecode) slot_no = slot->next; } - return (unsigned)-1; + return (slot_no_t)-1; } diff --git a/lib/xwax/lut.h b/lib/xwax/lut.h index 9667705446ab..1cee138629f8 100644 --- a/lib/xwax/lut.h +++ b/lib/xwax/lut.h @@ -21,9 +21,10 @@ #define LUT_H typedef unsigned int slot_no_t; +typedef unsigned int bits_t; struct slot { - unsigned int timecode; + bits_t timecode; slot_no_t next; /* next slot with the same hash */ }; @@ -36,7 +37,7 @@ struct lut { int lut_init(struct lut *lut, int nslots); void lut_clear(struct lut *lut); -void lut_push(struct lut *lut, unsigned int timecode); -unsigned int lut_lookup(struct lut *lut, unsigned int timecode); +void lut_push(struct lut *lut, bits_t timecode); +unsigned int lut_lookup(struct lut *lut, bits_t timecode); #endif From 31c7174a7967d774d4db4bff38f22a14f324c9c6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Clau=C3=9Fen?= Date: Sat, 29 Mar 2025 21:21:48 +0100 Subject: [PATCH 074/181] xwax: Extend LUT with functions for the MK2 which can hold 110-bit LFSR states Since the Traktor MK2 timecode is comprised of an LFSR, which generator polynomial is of 110th order, a new type must be created to hold these values. This significantly increases the size of the LUT due to the type being used in struct slot. Therefore the functions for the MK2 are clearly separated to not make the current LUT gain in size by holding unnecessarily padded zeros. --- CMakeLists.txt | 3 +- lib/xwax/lut.h | 2 + lib/xwax/lut_mk2.c | 117 +++++++++++++++++++++++++++++++++++++++++++ lib/xwax/lut_mk2.h | 25 +++++++++ lib/xwax/timecoder.c | 12 +++-- lib/xwax/timecoder.h | 1 + 6 files changed, 156 insertions(+), 4 deletions(-) create mode 100644 lib/xwax/lut_mk2.c create mode 100644 lib/xwax/lut_mk2.h diff --git a/CMakeLists.txt b/CMakeLists.txt index a68d4c5d3f54..27c8fdea4a6a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -4890,7 +4890,8 @@ if(VINYLCONTROL) # Internal xwax library add_library(mixxx-xwax STATIC EXCLUDE_FROM_ALL) - target_sources(mixxx-xwax PRIVATE lib/xwax/timecoder.c lib/xwax/lut.c) + target_sources(mixxx-xwax PRIVATE lib/xwax/timecoder.c lib/xwax/lut.c + lib/xwax/lut_mk2.c) target_include_directories(mixxx-xwax SYSTEM PUBLIC lib/xwax) target_link_libraries(mixxx-lib PRIVATE mixxx-xwax) endif() diff --git a/lib/xwax/lut.h b/lib/xwax/lut.h index 1cee138629f8..da98f56b2754 100644 --- a/lib/xwax/lut.h +++ b/lib/xwax/lut.h @@ -20,6 +20,8 @@ #ifndef LUT_H #define LUT_H +#include "types.h" + typedef unsigned int slot_no_t; typedef unsigned int bits_t; diff --git a/lib/xwax/lut_mk2.c b/lib/xwax/lut_mk2.c new file mode 100644 index 000000000000..2b09a7b25979 --- /dev/null +++ b/lib/xwax/lut_mk2.c @@ -0,0 +1,117 @@ +#include +#include + +#include "lut_mk2.h" + +/* + * The number of bits to form the hash, which governs the overall size + * of the hash lookup table, and hence the amount of chaining + */ + +#define HASH_BITS 16 + +#define HASH(timecode) ((timecode) & ((1 << HASH_BITS) - 1)) +#define NO_SLOT ((slot_no_t)-1) + +/* + * Hash function that takes all 110-bits of the MK2s into account + */ + +unsigned short HASH110(mk2bits_t *value) { + + /* Simple hash mixing using bit shifts and XORs */ + unsigned short hash = (unsigned short)(value->low ^ (value->low >> 16) ^ (value->low >> 32) ^ + (value->low >> 48)); + hash ^= (unsigned short)(value->high ^ (value->high << 5) ^ (value->high >> 3)); + + /* Final scrambling to improve distribution */ + hash ^= (hash >> 7) ^ (hash << 9); + + return hash; +} + +/* + * Initialise an empty hash lookup table to store the given number * of timecode -> position + * lookups (Traktor MK2 version) + */ + +int lut_init_mk2(struct lut_mk2 *lut, int nslots) +{ + size_t bytes; + int n, hashes; + + hashes = 1 << HASH_BITS; + bytes = sizeof(struct slot_mk2) * nslots + sizeof(slot_no_t) * hashes; + + fprintf(stderr, "Lookup table has %d hashes to %d slots" + " (%d slots per hash, %zuKb)\n", + hashes, nslots, nslots / hashes, bytes / 1024); + + lut->slot = malloc(sizeof(struct slot_mk2) * nslots); + if (lut->slot == NULL) { + perror("malloc"); + return -1; + } + + lut->table = malloc(sizeof(slot_no_t) * hashes); + if (lut->table == NULL) { + perror("malloc"); + return -1; + } + + for (n = 0; n < hashes; n++) + lut->table[n] = NO_SLOT; + + lut->avail = 0; + + return 0; +} + +void lut_clear_mk2(struct lut_mk2 *lut) +{ + free(lut->table); + free(lut->slot); +} + +/* + * Traktor MK2 version holding 110-bit integers as timecode + */ + +void lut_push_mk2(struct lut_mk2 *lut, mk2bits_t *timecode) +{ + unsigned int hash; + slot_no_t slot_no; + struct slot_mk2 *slot; + + slot_no = lut->avail++; /* take the next available slot */ + + slot = &lut->slot[slot_no]; + slot->timecode = *timecode; + + hash = HASH110(timecode); + slot->next = lut->table[hash]; + lut->table[hash] = slot_no; +} + +/* + * Traktor MK2 version holding 110-bit integers as timecode + */ + +slot_no_t lut_lookup_mk2(struct lut_mk2 *lut, mk2bits_t *timecode) +{ + unsigned int hash; + slot_no_t slot_no; + struct slot_mk2 *slot; + + hash = HASH110(timecode); + slot_no = lut->table[hash]; + + while (slot_no != NO_SLOT) { + slot = &lut->slot[slot_no]; + if (u128_eq(slot->timecode, *timecode)) + return slot_no; + slot_no = slot->next; + } + + return (slot_no_t)-1; +} diff --git a/lib/xwax/lut_mk2.h b/lib/xwax/lut_mk2.h new file mode 100644 index 000000000000..8f0b4b16eec5 --- /dev/null +++ b/lib/xwax/lut_mk2.h @@ -0,0 +1,25 @@ +#ifndef LUT_MK2_H + +#define LUT_MK2_H + +#include "lut.h" + +typedef u128 mk2bits_t; + +struct slot_mk2 { + mk2bits_t timecode; + slot_no_t next; /* next slot with the same hash */ +}; + +struct lut_mk2 { + struct slot_mk2 *slot; + slot_no_t *table, /* hash -> slot lookup */ + avail; /* next available slot */ +}; + +int lut_init_mk2(struct lut_mk2 *lut, int nslots); +void lut_clear_mk2(struct lut_mk2 *lut); +void lut_push_mk2(struct lut_mk2 *lut, mk2bits_t *timecode); +slot_no_t lut_lookup_mk2(struct lut_mk2 *lut, mk2bits_t *timecode); + +#endif /* end of include guard LUT_MK2_H */ diff --git a/lib/xwax/timecoder.c b/lib/xwax/timecoder.c index 9a54e82e4150..93aea8f080d8 100755 --- a/lib/xwax/timecoder.c +++ b/lib/xwax/timecoder.c @@ -629,9 +629,15 @@ signed int timecoder_get_position(struct timecoder *tc, double *when) if (tc->valid_counter <= VALID_BITS) return -1; - r = lut_lookup(&tc->def->lut, tc->bitstream); - if (r == -1) - return -1; + if (tc->def->flags & TRAKTOR_MK2) { + r = lut_lookup_mk2(&tc->def->lut_mk2, &tc->mk2_bitstream); + if (r == -1) + return -1; + } else { + r = lut_lookup(&tc->def->lut, tc->bitstream); + if (r == -1) + return -1; + } if (r >= 0) { // normalize position to milliseconds, not timecode steps -- Owen diff --git a/lib/xwax/timecoder.h b/lib/xwax/timecoder.h index a2541dc86c71..63864f9d383d 100644 --- a/lib/xwax/timecoder.h +++ b/lib/xwax/timecoder.h @@ -23,6 +23,7 @@ #include #include "lut.h" +#include "lut_mk2.h" #include "pitch.h" #define TIMECODER_CHANNELS 2 From cb764b369658ea937cd4c57fba9fb4272da45a06 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Clau=C3=9Fen?= Date: Sat, 29 Mar 2025 21:31:57 +0100 Subject: [PATCH 075/181] xwax: Add timecode definitions for Traktor MK2 Carefully worked out definitions for the Traktor MK2 timecodes. Due to the high frequency of the carrier wave, the number of slots is much higher. --- CMakeLists.txt | 4 +- lib/xwax/timecoder.c | 71 +++++++++++++++++++++-- lib/xwax/timecoder.h | 5 ++ lib/xwax/timecoder_mk2.c | 119 +++++++++++++++++++++++++++++++++++++++ lib/xwax/timecoder_mk2.h | 13 +++++ 5 files changed, 206 insertions(+), 6 deletions(-) create mode 100644 lib/xwax/timecoder_mk2.c create mode 100644 lib/xwax/timecoder_mk2.h diff --git a/CMakeLists.txt b/CMakeLists.txt index 27c8fdea4a6a..0a241d15410b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -4890,8 +4890,8 @@ if(VINYLCONTROL) # Internal xwax library add_library(mixxx-xwax STATIC EXCLUDE_FROM_ALL) - target_sources(mixxx-xwax PRIVATE lib/xwax/timecoder.c lib/xwax/lut.c - lib/xwax/lut_mk2.c) + target_sources(mixxx-xwax PRIVATE lib/xwax/timecoder.c + lib/xwax/timecoder_mk2.c lib/xwax/lut.c lib/xwax/lut_mk2.c) target_include_directories(mixxx-xwax SYSTEM PUBLIC lib/xwax) target_link_libraries(mixxx-lib PRIVATE mixxx-xwax) endif() diff --git a/lib/xwax/timecoder.c b/lib/xwax/timecoder.c index 93aea8f080d8..9306f70cea56 100755 --- a/lib/xwax/timecoder.c +++ b/lib/xwax/timecoder.c @@ -28,6 +28,7 @@ #include "debug.h" #include "timecoder.h" +#include "timecoder_mk2.h" #define ZERO_THRESHOLD (128 << 16) @@ -51,6 +52,7 @@ #define SWITCH_PHASE 0x1 /* tone phase difference of 270 (not 90) degrees */ #define SWITCH_PRIMARY 0x2 /* use left channel (not right) as primary */ #define SWITCH_POLARITY 0x4 /* read bit values in negative (not positive) */ +#define TRAKTOR_MK2 0x8 /* use for Traktor MK2 timecode*/ static struct timecode_def timecodes[] = { { @@ -105,6 +107,57 @@ static struct timecode_def timecodes[] = { .length = 2110000, .safe = 907000, }, + { + .name = "traktor_mk2_a", + .desc = "Traktor Scratch MK2, side A", + .resolution = 2500, + .flags = TRAKTOR_MK2, + .bits = 110, + .seed_mk2 = { + .high = 0xc6007c63e, + .low = 0x3fc00c60f8c1f00 + }, + .taps_mk2 = { + .high = 0x400000000040, + .low = 0x0000010800000001 + }, + .length = 1820000, + .safe = 1800000, + }, + { + .name = "traktor_mk2_b", + .desc = "Traktor Scratch MK2, side B", + .resolution = 2500, + .flags = TRAKTOR_MK2, + .bits = 110, + .seed_mk2 = { + .high = 0x1ff9f00003, + .low = 0xe73ff00f9fe0c7c1 + }, + .taps_mk2 = { + .high = 0x400000000040, + .low = 0x0000010800000001 + }, + .length = 2570000, + .safe = 2550000, + }, + { + .name = "traktor_mk2_cd", + .desc = "Traktor Scratch MK2, CD", + .resolution = 3000, + .flags = TRAKTOR_MK2, + .bits = 110, + .seed_mk2 = { + .high = 0x7ce73, + .low = 0xe0e0fff1fc1cf8c1 + }, + .taps_mk2 = { + .high = 0x400000000000, + .low = 0x1000010800000001 + }, + .length = 4500000, + .safe = 4495000, + }, { .name = "mixvibes_v2", .desc = "MixVibes V2", @@ -257,8 +310,13 @@ struct timecode_def* timecoder_find_definition(const char *name) if (strcmp(def->name, name) != 0) continue; - if (build_lookup(def) == -1) - return NULL; /* error */ + if (def->flags & TRAKTOR_MK2) { + if (build_lookup_mk2(def) == -1) + return NULL; /* error */ + } else { + if (build_lookup(def) == -1) + return NULL; /* error */ + } return def; } @@ -276,8 +334,13 @@ void timecoder_free_lookup(void) { for (n = 0; n < ARRAY_SIZE(timecodes); n++) { struct timecode_def *def = &timecodes[n]; - if (def->lookup) - lut_clear(&def->lut); + if (def->flags & TRAKTOR_MK2) { + if (def->lookup) + lut_clear_mk2(&def->lut_mk2); + } else { + if (def->lookup) + lut_clear(&def->lut); + } } } diff --git a/lib/xwax/timecoder.h b/lib/xwax/timecoder.h index 63864f9d383d..c66cd75fdebb 100644 --- a/lib/xwax/timecoder.h +++ b/lib/xwax/timecoder.h @@ -41,10 +41,13 @@ struct timecode_def { flags; bits_t seed, /* LFSR value at timecode zero */ taps; /* central LFSR taps, excluding end taps */ + mk2bits_t seed_mk2, /* MK2 version */ + taps_mk2; /* MK2 version */ unsigned int length, /* in cycles */ safe; /* last 'safe' timecode number (for auto disconnect) */ bool lookup; /* true if lut has been generated */ struct lut lut; + struct lut_mk2 lut_mk2; /* MK2 version */ }; struct timecoder_channel { @@ -74,6 +77,8 @@ struct timecoder { signed int ref_level; bits_t bitstream, /* actual bits from the record */ timecode; /* corrected timecode */ + mk2bits_t mk2_bitstream, /* Traktor MK2 version */ + mk2_timecode; /* Traktor MK2 version */ unsigned int valid_counter, /* number of successful error checks */ timecode_ticker; /* samples since valid timecode was read */ diff --git a/lib/xwax/timecoder_mk2.c b/lib/xwax/timecoder_mk2.c new file mode 100644 index 000000000000..652c2a1b67e2 --- /dev/null +++ b/lib/xwax/timecoder_mk2.c @@ -0,0 +1,119 @@ +#include +#include +#include +#include + +#include "timecoder_mk2.h" + +#define REF_PEAKS_AVG 48 /* in wave cycles */ + +/* + * Compute the LFSR bit (Traktor MK2 version) + */ + +static inline mk2bits_t lfsr_mk2(mk2bits_t code, mk2bits_t taps) +{ + mk2bits_t taken; + mk2bits_t xrs; + + taken = u128_and(code, taps); + xrs = U128_ZERO; + + while (u128_neq(taken, U128_ZERO)) { + xrs = u128_add(xrs, u128_and(taken, U128_ONE)); + taken = u128_rshift(taken, 1); + } + + return u128_and(xrs, U128_ONE); +} + +/* + * Linear Feedback Shift Register in the forward direction. New values + * are generated at the least-significant bit. (Traktor MK2 version) + */ + +inline mk2bits_t fwd_mk2(mk2bits_t current, struct timecode_def *def) +{ + if (!def) { + errno = -EINVAL; + perror(__func__); + return U128_ZERO; + } + + mk2bits_t l; + + /* New bits are added at the MSB; shift right by one */ + l = lfsr_mk2(current, u128_or(def->taps_mk2, U128_ONE)); + return u128_or(u128_rshift(current, 1), u128_lshift(l, (def->bits - 1))); +} + +/* + * Linear Feedback Shift Register in the reverse direction + * (Traktor MK2 version) + */ + +inline mk2bits_t rev_mk2(mk2bits_t current, struct timecode_def *def) +{ + if (!def) { + errno = -EINVAL; + perror(__func__); + return U128_ZERO; + } + + mk2bits_t l, mask; + + /* New bits are added at the LSB; shift left one and mask */ + mask = u128_sub(u128_lshift(U128_ONE, def->bits), U128_ONE); + l = lfsr_mk2(current, + u128_or(u128_rshift(def->taps_mk2, 1), + u128_lshift(U128_ONE, (def->bits - 1)))); + + return u128_or(u128_and(u128_lshift(current, 1), mask), l); +} + +/* + * Where necessary, build the lookup table required for this timecode + * (Traktor MK2 version) + * + * Return: -1 if not enough memory could be allocated, otherwise 0 + */ + +int build_lookup_mk2(struct timecode_def *def) +{ + if (!def) { + errno = -EINVAL; + perror(__func__); + return -1; + } + + unsigned int n; + mk2bits_t current, next; + + if (def->lookup) + return 0; + + fprintf(stderr, "Building LUT for %d bit %dHz timecode (%s)\n", + def->bits, def->resolution, def->desc); + + if (lut_init_mk2(&def->lut_mk2, def->length) == -1) + return -1; + + current = def->seed_mk2; + + for (n = 0; n < def->length; n++) { + + /* timecode must not wrap */ + assert(lut_lookup_mk2(&def->lut_mk2, ¤t) == (unsigned)-1); + lut_push_mk2(&def->lut_mk2, ¤t); + + /* check symmetry of the lfsr functions */ + next = fwd_mk2(current, def); + assert(u128_eq(rev_mk2(next, def), current)); + + current = next; + } + + def->lookup = true; + + return 0; +} diff --git a/lib/xwax/timecoder_mk2.h b/lib/xwax/timecoder_mk2.h new file mode 100644 index 000000000000..f8ce65cc73f1 --- /dev/null +++ b/lib/xwax/timecoder_mk2.h @@ -0,0 +1,13 @@ +#ifndef TIMECODER_MK2_H + +#define TIMECODER_MK2_H + +#include "lut_mk2.h" +#include "timecoder.h" + +mk2bits_t fwd_mk2(mk2bits_t current, struct timecode_def *def); +mk2bits_t rev_mk2(mk2bits_t current, struct timecode_def *def); +int build_lookup_mk2(struct timecode_def *def); + + +#endif /* end of include guard TIMECODER_MK2_H */ From 60232138d2528958d1ace40e82a98ba05ed4300b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Clau=C3=9Fen?= Date: Sat, 29 Mar 2025 21:37:33 +0100 Subject: [PATCH 076/181] xwax: Add needed filter structures A simple exponential moving average (lowpass) is needed for smoothing the signal before applying the derivative. The derivative is needed to obtain a signal to feed to the pitch detection. The RMS value is needed to obtain an appropriate scaling factor for the derivative. --- CMakeLists.txt | 3 +- lib/xwax/filters.c | 108 +++++++++++++++++++++++++++++++++++++++++++++ lib/xwax/filters.h | 28 ++++++++++++ 3 files changed, 138 insertions(+), 1 deletion(-) create mode 100644 lib/xwax/filters.c create mode 100644 lib/xwax/filters.h diff --git a/CMakeLists.txt b/CMakeLists.txt index 0a241d15410b..fb5f47bd5406 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -4891,7 +4891,8 @@ if(VINYLCONTROL) # Internal xwax library add_library(mixxx-xwax STATIC EXCLUDE_FROM_ALL) target_sources(mixxx-xwax PRIVATE lib/xwax/timecoder.c - lib/xwax/timecoder_mk2.c lib/xwax/lut.c lib/xwax/lut_mk2.c) + lib/xwax/timecoder_mk2.c lib/xwax/lut.c lib/xwax/lut_mk2.c + lib/xwax/filters.c) target_include_directories(mixxx-xwax SYSTEM PUBLIC lib/xwax) target_link_libraries(mixxx-lib PRIVATE mixxx-xwax) endif() diff --git a/lib/xwax/filters.c b/lib/xwax/filters.c new file mode 100644 index 000000000000..d528a47aa3ee --- /dev/null +++ b/lib/xwax/filters.c @@ -0,0 +1,108 @@ + +#include +#include +#include +#include + +#include "filters.h" + +/* + * Initializes the exponential moving average filter. + */ + +void ema_init(struct ema_filter *filter, const double alpha) +{ + if (!filter) { + errno = EINVAL; + perror(__func__); + return; + } + + filter->alpha = alpha; + filter->y_old = 0; +} + +/* + * Computes an exponential moving average with the possibility to weight newly added + * values with a factor alpha. + */ + +int ema(struct ema_filter *filter, const int x) +{ + if (!filter) { + errno = EINVAL; + perror(__func__); + return -EINVAL; + } + + int y = filter->alpha * x + (1 - filter->alpha) * filter->y_old; + filter->y_old = y; + + return y; +} + +/* + * Initializes the derivative filter. + */ + +void derivative_init(struct differentiator *filter) +{ + if (!filter) { + errno = EINVAL; + perror(__func__); + return; + } + + filter->x_old = 0; +} + +/* + * Computes a simple derivative, i.e. the slope of the input signal without gain compensation. + */ + +int derivative(struct differentiator *filter, const int x) +{ + int y = x - filter->x_old; + filter->x_old = x; + + return y; +} + +/* + * Initializes the RMS filter + */ + +void rms_init(struct root_mean_square *filter, const float alpha) +{ + if (!filter) { + errno = EINVAL; + perror(__func__); + return; + } + + filter->squared_old = 0; + filter->alpha = alpha; +} + +/* + * Computes the RMS value over a running sum. + * The 1.0 > alpha > 0 determines the smoothness of the result: + */ + +int rms(struct root_mean_square *filter, const int x) +{ + if (!filter) { + errno = EINVAL; + perror(__func__); + return -EINVAL; + } + + /* Compute squared value */ + unsigned long long squared = (unsigned long long)x * (unsigned long long)x; + + /* Apply EMA filter to squared values */ + filter->squared_old = (1.0 - filter->alpha) * filter->squared_old + filter->alpha * squared; + + /* Take square root at the end */ + return (int)sqrt(filter->squared_old); +} diff --git a/lib/xwax/filters.h b/lib/xwax/filters.h new file mode 100644 index 000000000000..f3e79f541eff --- /dev/null +++ b/lib/xwax/filters.h @@ -0,0 +1,28 @@ +#ifndef FILTERS_H + +#define FILTERS_H + +struct ema_filter { + double alpha; + int y_old; +}; + +void ema_init(struct ema_filter *, const double alpha); +int ema(struct ema_filter *, const int x); + +struct differentiator { + int x_old; +}; + +void derivative_init(struct differentiator *filter); +int derivative(struct differentiator *, const int x); + +struct root_mean_square { + float alpha; + unsigned long long squared_old; +}; + +void rms_init(struct root_mean_square *filter, const float alpha); +int rms(struct root_mean_square *filter, const int x); + +#endif /* end of include guard FILTERS_H */ From 341ebeb90b56e84d54ea64cd640321fffbd9550e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Clau=C3=9Fen?= Date: Sat, 29 Mar 2025 21:41:54 +0100 Subject: [PATCH 077/181] xwax: Implement a ring buffer as delayline The delayline is needed for computing the RMS value and for demodulation. Since the derivative and filter introduce a delay, this has to be taken into account when getting timecode readings. --- lib/xwax/delayline.c | 115 +++++++++++++++++++++++++++++++++++++++++++ lib/xwax/delayline.h | 21 ++++++++ 2 files changed, 136 insertions(+) create mode 100644 lib/xwax/delayline.c create mode 100644 lib/xwax/delayline.h diff --git a/lib/xwax/delayline.c b/lib/xwax/delayline.c new file mode 100644 index 000000000000..853abde3ee92 --- /dev/null +++ b/lib/xwax/delayline.c @@ -0,0 +1,115 @@ +#include +#include +#include + +#include "delayline.h" + +/* + * Gets the sample at index i in the delayline + */ + +int *delayline_at(struct delayline *delayline, ptrdiff_t i) +{ + if (!delayline) { + fprintf(stderr, "%s: Null pointer exception\n", __func__); + return NULL; + } + + if (delayline->current < 0) + delayline->current += delayline->size; + + ptrdiff_t index = delayline->current + i; + + if ((size_t)index >= delayline->size) + index -= delayline->size; + + return &delayline->array[index]; +} + +/* + * Initializes the delayline + */ + +void delayline_init(struct delayline *delayline) +{ + if (!delayline) { + fprintf(stderr, "%s: Null pointer exception\n", __func__); + return; + } + + delayline->size = DELAYLINE_SIZE; + delayline->current = delayline->size -1; + + for (int i = 0; i < DELAYLINE_SIZE; i++) + delayline->array[i] = 0; +} + +/* + * Decrements the delayline pointer + */ + +void delayline_decrement(struct delayline *delayline) +{ + if (!delayline) { + fprintf(stderr, "%s: Null pointer exception\n", __func__); + return; + } + + delayline->current--; + if (delayline->current < 0) + delayline->current += delayline->size; +} + +/* + * Pushes a new sample to the delayline + */ + +void delayline_push(struct delayline *delayline, int sample) +{ + if (!delayline) { + fprintf(stderr, "%s: Null pointer exception\n", __func__); + return; + } + + delayline_decrement(delayline); + delayline->array[delayline->current] = sample; +} + +/* + * Computes the average value of all samples in the delayline + */ + +int delayline_avg(struct delayline *delayline) +{ + if (!delayline) { + fprintf(stderr, "%s: Null pointer exception\n", __func__); + return -EINVAL; + } + + int sum = 0; + + for (int i = 0; i < delayline->size; i++) + sum += delayline->array[i]; + + return (sum / delayline->size); +} + +/* + * Prints the delayline starting at the current pointer + */ + +void delayline_print(struct delayline *delayline) +{ + if (!delayline) { + fprintf(stderr, "%s: Null pointer exception\n", __func__); + return; + } + + fprintf(stdout, "{"); + for (int i = 0; i < delayline->size; i++) { + fprintf(stdout, "%d", *delayline_at(delayline, i)); + if (i < delayline->size - 1) + fprintf(stdout, ", "); + } + fprintf(stdout, "}\n"); +} diff --git a/lib/xwax/delayline.h b/lib/xwax/delayline.h new file mode 100644 index 000000000000..c41fab96751b --- /dev/null +++ b/lib/xwax/delayline.h @@ -0,0 +1,21 @@ +#ifndef DELAYLINE_H + +#define DELAYLINE_H + +#include + +#define DELAYLINE_SIZE 5 + +struct delayline { + size_t size; + int array[DELAYLINE_SIZE]; + ptrdiff_t current; +}; + +void delayline_init(struct delayline *delayline); +int *delayline_at(struct delayline *delayline, ptrdiff_t i); +void delayline_push(struct delayline *delayline, int sample); +int delayline_avg(struct delayline *delayline); +void delayline_print(struct delayline *delayline); + +#endif /* end of include guard DELAYLINE_H */ From fe9753ae30d5e02584e678d80f0bf3668fb28ac3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Clau=C3=9Fen?= Date: Sat, 29 Mar 2025 21:47:20 +0100 Subject: [PATCH 078/181] xwax: Push samples into the delayline --- CMakeLists.txt | 13 ++++++++++--- lib/xwax/timecoder.c | 12 ++++++++++-- lib/xwax/timecoder.h | 4 ++++ 3 files changed, 24 insertions(+), 5 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index fb5f47bd5406..608b6d51d433 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -4890,9 +4890,16 @@ if(VINYLCONTROL) # Internal xwax library add_library(mixxx-xwax STATIC EXCLUDE_FROM_ALL) - target_sources(mixxx-xwax PRIVATE lib/xwax/timecoder.c - lib/xwax/timecoder_mk2.c lib/xwax/lut.c lib/xwax/lut_mk2.c - lib/xwax/filters.c) + target_sources( + mixxx-xwax + PRIVATE + lib/xwax/timecoder.c + lib/xwax/timecoder_mk2.c + lib/xwax/lut.c + lib/xwax/lut_mk2.c + lib/xwax/filters.c + lib/xwax/delayline.c + ) target_include_directories(mixxx-xwax SYSTEM PUBLIC lib/xwax) target_link_libraries(mixxx-lib PRIVATE mixxx-xwax) endif() diff --git a/lib/xwax/timecoder.c b/lib/xwax/timecoder.c index 9306f70cea56..39626b7bcae0 100755 --- a/lib/xwax/timecoder.c +++ b/lib/xwax/timecoder.c @@ -352,6 +352,8 @@ static void init_channel(struct timecoder_channel *ch) { ch->positive = false; ch->zero = 0; + + delayline_init(&ch->delayline); } /* @@ -558,8 +560,14 @@ static void process_bitstream(struct timecoder *tc, signed int m) static void process_sample(struct timecoder *tc, signed int primary, signed int secondary) { - detect_zero_crossing(&tc->primary, primary, tc->zero_alpha, tc->threshold); - detect_zero_crossing(&tc->secondary, secondary, tc->zero_alpha, tc->threshold); + if (tc->def->flags & TRAKTOR_MK2) { + /* Push the samples into the ringbuffer */ + delayline_push(&tc->primary.delayline, primary); + delayline_push(&tc->secondary.delayline, secondary); + } else { + detect_zero_crossing(&tc->primary, primary, tc->zero_alpha, tc->threshold); + detect_zero_crossing(&tc->secondary, secondary, tc->zero_alpha, tc->threshold); + } /* If an axis has been crossed, use the direction of the crossing * to work out the direction of the vinyl */ diff --git a/lib/xwax/timecoder.h b/lib/xwax/timecoder.h index c66cd75fdebb..0333f07fbb73 100644 --- a/lib/xwax/timecoder.h +++ b/lib/xwax/timecoder.h @@ -25,6 +25,7 @@ #include "lut.h" #include "lut_mk2.h" #include "pitch.h" +#include "delayline.h" #define TIMECODER_CHANNELS 2 @@ -55,6 +56,9 @@ struct timecoder_channel { swapped; /* wave recently swapped polarity */ signed int zero; unsigned int crossing_ticker; /* samples since we last crossed zero */ + + struct delayline delayline; /* needed for the Traktor MK2 demodulation */ + }; struct timecoder { From 87fb16024cde48799cbf1431eb2a6098c14554a6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Clau=C3=9Fen?= Date: Sat, 29 Mar 2025 21:59:01 +0100 Subject: [PATCH 079/181] xwax: Compute the RMS value Computes a smoothed RMS value to properly track the current signal strength. --- lib/xwax/timecoder.c | 13 ++++++++++--- lib/xwax/timecoder.h | 12 ++++++++++-- 2 files changed, 20 insertions(+), 5 deletions(-) diff --git a/lib/xwax/timecoder.c b/lib/xwax/timecoder.c index 39626b7bcae0..da8832540033 100755 --- a/lib/xwax/timecoder.c +++ b/lib/xwax/timecoder.c @@ -27,6 +27,7 @@ #endif #include "debug.h" +#include "filters.h" #include "timecoder.h" #include "timecoder_mk2.h" @@ -353,7 +354,9 @@ static void init_channel(struct timecoder_channel *ch) ch->positive = false; ch->zero = 0; - delayline_init(&ch->delayline); + delayline_init(&ch->mk2.delayline); + + ch->mk2.rms = INT_MAX/2; } /* @@ -562,8 +565,12 @@ static void process_sample(struct timecoder *tc, { if (tc->def->flags & TRAKTOR_MK2) { /* Push the samples into the ringbuffer */ - delayline_push(&tc->primary.delayline, primary); - delayline_push(&tc->secondary.delayline, secondary); + delayline_push(&tc->primary.mk2.delayline, primary); + delayline_push(&tc->secondary.mk2.delayline, secondary); + + /* Compute the smoothed RMS value */ + tc->primary.mk2.rms = rms(&tc->primary.mk2.rms_filter, primary); + tc->secondary.mk2.rms = rms(&tc->secondary.mk2.rms_filter, secondary); } else { detect_zero_crossing(&tc->primary, primary, tc->zero_alpha, tc->threshold); detect_zero_crossing(&tc->secondary, secondary, tc->zero_alpha, tc->threshold); diff --git a/lib/xwax/timecoder.h b/lib/xwax/timecoder.h index 0333f07fbb73..3683bc06ffdc 100644 --- a/lib/xwax/timecoder.h +++ b/lib/xwax/timecoder.h @@ -22,6 +22,7 @@ #include +#include "filters.h" #include "lut.h" #include "lut_mk2.h" #include "pitch.h" @@ -51,14 +52,21 @@ struct timecode_def { struct lut_mk2 lut_mk2; /* MK2 version */ }; +struct timecoder_channel_mk2 { + int rms, rms_deriv; /* RMS values for the signal and its derivative */ + signed int deriv, deriv_scaled; /* Derivative and its scaled version */ + + struct delayline delayline; /* needed for the Traktor MK2 demodulation */ + struct root_mean_square rms_filter, rms_deriv_filter; +}; + struct timecoder_channel { bool positive, /* wave is in positive part of cycle */ swapped; /* wave recently swapped polarity */ signed int zero; unsigned int crossing_ticker; /* samples since we last crossed zero */ - struct delayline delayline; /* needed for the Traktor MK2 demodulation */ - + struct timecoder_channel_mk2 mk2; }; struct timecoder { From 229a5b48486c6d889db341a3b84cf6b6c846fce5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Clau=C3=9Fen?= Date: Sat, 29 Mar 2025 22:10:57 +0100 Subject: [PATCH 080/181] xwax: Implement pitch detection for Traktor MK2 The Traktor MK2 signal is offset-modulated and therefore not directly suited for pitch detection. A suitable signal is the derivative, which more or less evenly oscillates around zero. Since the derivative's amplitude is only a fraction of the amplitude of the original signal, it needs proper scaling. Scaling is achieved via computing the RMS value of the running sums of the signal and derivative. The resulting quotient of RMS_signal / RMS_derivative yields the needed scaling factor. --- lib/xwax/timecoder.c | 90 ++++++++++++++++++++++++++++++---------- lib/xwax/timecoder.h | 6 +++ lib/xwax/timecoder_mk2.c | 57 +++++++++++++++++++++++++ lib/xwax/timecoder_mk2.h | 1 + 4 files changed, 132 insertions(+), 22 deletions(-) diff --git a/lib/xwax/timecoder.c b/lib/xwax/timecoder.c index da8832540033..490f72466ffc 100755 --- a/lib/xwax/timecoder.c +++ b/lib/xwax/timecoder.c @@ -25,6 +25,8 @@ #ifndef _MSC_VER #include #endif +#define _USE_MATH_DEFINES +#include #include "debug.h" #include "filters.h" @@ -345,18 +347,37 @@ void timecoder_free_lookup(void) { } } + +/* + * Initialise filter values for the MK2 demodulation + */ + +static void init_mk2_channel(struct timecoder_channel *ch) +{ + ch->mk2.deriv_scaled = INT_MAX/2; + ch->mk2.rms = INT_MAX/2; + ch->mk2.rms_deriv = 0; + + delayline_init(&ch->mk2.delayline); + + ema_init(&ch->mk2.ema_filter, 3e-1); + derivative_init(&ch->mk2.differentiator); + rms_init(&ch->mk2.rms_filter, 1e-3); + rms_init(&ch->mk2.rms_deriv_filter, 1e-3); +} + + /* * Initialise filter values for one channel */ -static void init_channel(struct timecoder_channel *ch) +static void init_channel(struct timecode_def *def, struct timecoder_channel *ch) { ch->positive = false; ch->zero = 0; - delayline_init(&ch->mk2.delayline); - - ch->mk2.rms = INT_MAX/2; + if (def->flags & TRAKTOR_MK2) + init_mk2_channel(ch); } /* @@ -378,14 +399,15 @@ void timecoder_init(struct timecoder *tc, struct timecode_def *def, tc->speed = speed; tc->dt = 1.0 / sample_rate; + tc->sample_rate = sample_rate; tc->zero_alpha = tc->dt / (ZERO_RC + tc->dt); tc->threshold = ZERO_THRESHOLD; if (phono) tc->threshold >>= 5; /* approx -36dB */ tc->forwards = 1; - init_channel(&tc->primary); - init_channel(&tc->secondary); + init_channel(tc->def, &tc->primary); + init_channel(tc->def, &tc->secondary); pitch_init(&tc->pitch, tc->dt); tc->ref_level = INT_MAX; @@ -395,6 +417,9 @@ void timecoder_init(struct timecoder *tc, struct timecode_def *def, tc->timecode_ticker = 0; tc->mon = NULL; + + /* Compute the factor the scale up the derivative to the original level */ + tc->gain_compensation = 1.0 / (M_PI * tc->def->resolution / tc->sample_rate); } /* @@ -564,13 +589,13 @@ static void process_sample(struct timecoder *tc, signed int primary, signed int secondary) { if (tc->def->flags & TRAKTOR_MK2) { - /* Push the samples into the ringbuffer */ - delayline_push(&tc->primary.mk2.delayline, primary); - delayline_push(&tc->secondary.mk2.delayline, secondary); + mk2_process_carrier(tc, primary, secondary); + + detect_zero_crossing(&tc->primary, tc->primary.mk2.deriv_scaled, tc->zero_alpha, + tc->threshold); + detect_zero_crossing(&tc->secondary, tc->secondary.mk2.deriv_scaled, tc->zero_alpha, + tc->threshold); - /* Compute the smoothed RMS value */ - tc->primary.mk2.rms = rms(&tc->primary.mk2.rms_filter, primary); - tc->secondary.mk2.rms = rms(&tc->secondary.mk2.rms_filter, secondary); } else { detect_zero_crossing(&tc->primary, primary, tc->zero_alpha, tc->threshold); detect_zero_crossing(&tc->secondary, secondary, tc->zero_alpha, tc->threshold); @@ -614,14 +639,21 @@ static void process_sample(struct timecoder *tc, /* If we have crossed the primary channel in the right polarity, * it's time to read off a timecode 0 or 1 value */ - if (tc->secondary.swapped && - tc->primary.positive == ((tc->def->flags & SWITCH_POLARITY) == 0)) - { - signed int m; - - /* scale to avoid clipping */ - m = abs(primary / 2 - tc->primary.zero / 2); - process_bitstream(tc, m); + if (tc->def->flags & TRAKTOR_MK2) { + if (tc->secondary.swapped) + { + /* Process MK2 bitstream here */ + } + } else { + if (tc->secondary.swapped && + tc->primary.positive == ((tc->def->flags & SWITCH_POLARITY) == 0)) + { + signed int m; + + /* scale to avoid clipping */ + m = abs(primary / 2 - tc->primary.zero / 2); + process_bitstream(tc, m); + } } tc->timecode_ticker++; @@ -681,8 +713,22 @@ void timecoder_submit(struct timecoder *tc, signed short *pcm, size_t npcm) secondary = left; } - process_sample(tc, primary, secondary); - update_monitor(tc, left, right); + if (tc->def->flags & TRAKTOR_MK2) { + process_sample(tc, primary, secondary); + + /* + * Display the derivative in the monitor. Since the signal is not + * a perfect ring on the x-y-plane, but jumps up and down a bit, + * it looks to small in the scope. Therefore a multiplication by + * two is necessary. + */ + + update_monitor(tc, tc->primary.mk2.deriv_scaled * 2, + tc->secondary.mk2.deriv_scaled * 2); + } else { + process_sample(tc, primary, secondary); + update_monitor(tc, left, right); + } pcm += TIMECODER_CHANNELS; } diff --git a/lib/xwax/timecoder.h b/lib/xwax/timecoder.h index 3683bc06ffdc..d470be5e482d 100644 --- a/lib/xwax/timecoder.h +++ b/lib/xwax/timecoder.h @@ -57,6 +57,8 @@ struct timecoder_channel_mk2 { signed int deriv, deriv_scaled; /* Derivative and its scaled version */ struct delayline delayline; /* needed for the Traktor MK2 demodulation */ + struct ema_filter ema_filter; + struct differentiator differentiator; struct root_mean_square rms_filter, rms_deriv_filter; }; @@ -76,6 +78,7 @@ struct timecoder { /* Precomputed values */ double dt, zero_alpha; + int sample_rate; signed int threshold; /* Pitch information */ @@ -93,11 +96,14 @@ struct timecoder { mk2_timecode; /* Traktor MK2 version */ unsigned int valid_counter, /* number of successful error checks */ timecode_ticker; /* samples since valid timecode was read */ + double dB; /* Decibels to detect phono level */ /* Feedback */ unsigned char *mon; /* x-y array */ int mon_size, mon_counter; + + double gain_compensation; /* Scaling factor for the derivative */ }; struct timecode_def* timecoder_find_definition(const char *name); diff --git a/lib/xwax/timecoder_mk2.c b/lib/xwax/timecoder_mk2.c index 652c2a1b67e2..99cb12f8f4c6 100644 --- a/lib/xwax/timecoder_mk2.c +++ b/lib/xwax/timecoder_mk2.c @@ -2,6 +2,7 @@ #include #include #include +#include #include "timecoder_mk2.h" @@ -117,3 +118,59 @@ int build_lookup_mk2(struct timecode_def *def) return 0; } + +/* + * Do Traktor-MK2-specific processing of the carrier wave + * + * Pushes samples into a delayline, computes the derivative, computes RMS + * values and scales the derivative back up to the original signal's level. + * Afterards the upscaled derivative can by processed by the pitch detection + * algorithm. + * + * NOTE: Ideally the gain compensation should be done in the derivative and lowpass + * filter structures by determining the amplitude response. I had this + * implemented previously, but chose gain compensation by using the RMS value, + * since it is easier to understand for developers not trained in signal + * processing. Additionally it's nice to have the dB level at hand. + * + */ + +void mk2_process_carrier(struct timecoder *tc, signed int primary, signed int secondary) +{ + if (!tc) { + errno = -EINVAL; + perror(__func__); + return; + } + + /* Push the samples into the ringbuffer */ + delayline_push(&tc->primary.mk2.delayline, primary); + delayline_push(&tc->secondary.mk2.delayline, secondary); + + /* Compute the discrete derivative */ + tc->primary.mk2.deriv = derivative(&tc->primary.mk2.differentiator, + ema(&tc->primary.mk2.ema_filter, primary)); + tc->secondary.mk2.deriv = derivative(&tc->secondary.mk2.differentiator, + ema(&tc->secondary.mk2.ema_filter, secondary)); + + /* Compute the smoothed RMS value */ + tc->primary.mk2.rms = rms(&tc->primary.mk2.rms_filter, primary); + tc->secondary.mk2.rms = rms(&tc->secondary.mk2.rms_filter, secondary); + + /* Compute the smoothed RMS value for the derivative */ + tc->primary.mk2.rms_deriv = rms(&tc->primary.mk2.rms_deriv_filter, tc->primary.mk2.deriv); + tc->secondary.mk2.rms_deriv = rms(&tc->secondary.mk2.rms_deriv_filter, tc->secondary.mk2.deriv); + + /* Compute the gain compensation for the derivative*/ + tc->gain_compensation = (double)tc->secondary.mk2.rms / tc->secondary.mk2.rms_deriv; + + /* Without this limit pitch becomes too sensitive */ + if (tc->gain_compensation > 30.0) + tc->gain_compensation = 30.0; + + tc->dB = 20 * log10((double)tc->secondary.mk2.rms / INT_MAX); + + /* Compute the scaled derivative */ + tc->primary.mk2.deriv_scaled = tc->primary.mk2.deriv * tc->gain_compensation; + tc->secondary.mk2.deriv_scaled = tc->secondary.mk2.deriv * tc->gain_compensation; +} diff --git a/lib/xwax/timecoder_mk2.h b/lib/xwax/timecoder_mk2.h index f8ce65cc73f1..8a0f68fd7231 100644 --- a/lib/xwax/timecoder_mk2.h +++ b/lib/xwax/timecoder_mk2.h @@ -9,5 +9,6 @@ mk2bits_t fwd_mk2(mk2bits_t current, struct timecode_def *def); mk2bits_t rev_mk2(mk2bits_t current, struct timecode_def *def); int build_lookup_mk2(struct timecode_def *def); +void mk2_process_carrier(struct timecoder *tc, signed int primary, signed int secondary); #endif /* end of include guard TIMECODER_MK2_H */ From 648c793d1702d71e362c90f7a75b077176baf9df Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Clau=C3=9Fen?= Date: Sat, 29 Mar 2025 22:17:44 +0100 Subject: [PATCH 081/181] xwax: Implement demodulation functions for Traktor MK2 --- lib/xwax/timecoder.c | 30 ++++++++- lib/xwax/timecoder.h | 16 +++++ lib/xwax/timecoder_mk2.c | 129 +++++++++++++++++++++++++++++++++++++++ lib/xwax/timecoder_mk2.h | 1 + 4 files changed, 175 insertions(+), 1 deletion(-) diff --git a/lib/xwax/timecoder.c b/lib/xwax/timecoder.c index 490f72466ffc..b9bd8404e334 100755 --- a/lib/xwax/timecoder.c +++ b/lib/xwax/timecoder.c @@ -347,6 +347,23 @@ void timecoder_free_lookup(void) { } } +/* + * Initialise a subcode decoder for the Traktor MK2 + */ + +void mk2_subcode_init(struct mk2_subcode *sc) +{ + sc->valid_counter = 0; + sc->avg_reading = INT_MAX/2; + sc->avg_slope = INT_MAX/2; + sc->bit = U128_ZERO; + + delayline_init(&sc->readings); + + /* Initialise smoothing filters */ + ema_init(&sc->ema_reading, 0.01); + ema_init(&sc->ema_slope, 0.01); +} /* * Initialise filter values for the MK2 demodulation @@ -420,6 +437,9 @@ void timecoder_init(struct timecoder *tc, struct timecode_def *def, /* Compute the factor the scale up the derivative to the original level */ tc->gain_compensation = 1.0 / (M_PI * tc->def->resolution / tc->sample_rate); + + mk2_subcode_init(&tc->upper_bitstream); + mk2_subcode_init(&tc->lower_bitstream); } /* @@ -429,6 +449,13 @@ void timecoder_init(struct timecoder *tc, struct timecode_def *def, void timecoder_clear(struct timecoder *tc) { assert(tc->mon == NULL); + + if (tc->def->flags & TRAKTOR_MK2) { + delayline_init(&tc->primary.mk2.delayline); + delayline_init(&tc->secondary.mk2.delayline); + delayline_init(&tc->upper_bitstream.readings); + delayline_init(&tc->lower_bitstream.readings); + } } /* @@ -642,7 +669,8 @@ static void process_sample(struct timecoder *tc, if (tc->def->flags & TRAKTOR_MK2) { if (tc->secondary.swapped) { - /* Process MK2 bitstream here */ + int reading = *delayline_at(&tc->secondary.mk2.delayline, 3); + mk2_process_timecode(tc, reading); } } else { if (tc->secondary.swapped && diff --git a/lib/xwax/timecoder.h b/lib/xwax/timecoder.h index d470be5e482d..b276890bba1b 100644 --- a/lib/xwax/timecoder.h +++ b/lib/xwax/timecoder.h @@ -71,6 +71,21 @@ struct timecoder_channel { struct timecoder_channel_mk2 mk2; }; +struct mk2_subcode { + mk2bits_t bitstream; + mk2bits_t timecode; + mk2bits_t bit; + + unsigned int valid_counter; + signed int avg_reading; + signed int avg_slope; + bool recent_bit_flip; + + struct delayline readings; + struct ema_filter ema_reading; + struct ema_filter ema_slope; +}; + struct timecoder { struct timecode_def *def; double speed; @@ -103,6 +118,7 @@ struct timecoder { unsigned char *mon; /* x-y array */ int mon_size, mon_counter; + struct mk2_subcode upper_bitstream, lower_bitstream; double gain_compensation; /* Scaling factor for the derivative */ }; diff --git a/lib/xwax/timecoder_mk2.c b/lib/xwax/timecoder_mk2.c index 99cb12f8f4c6..b5856022f288 100644 --- a/lib/xwax/timecoder_mk2.c +++ b/lib/xwax/timecoder_mk2.c @@ -3,6 +3,7 @@ #include #include #include +#include #include "timecoder_mk2.h" @@ -174,3 +175,131 @@ void mk2_process_carrier(struct timecoder *tc, signed int primary, signed int se tc->primary.mk2.deriv_scaled = tc->primary.mk2.deriv * tc->gain_compensation; tc->secondary.mk2.deriv_scaled = tc->secondary.mk2.deriv * tc->gain_compensation; } + +/* + * Detect if the upward or downward slope hits a threshold. + * Upwards signifies a one and downwards a zero. + */ + +static inline void detect_bit_flip(const int slope[2], int rms, int reading, int avg_reading, + mk2bits_t *bit, bool *bit_flipped, bool forwards, mk2bits_t one) +{ + static const double reverse_factor = 1.75; + static const double forward_factor = 1.5; + double threshold; + + if (*bit_flipped == false) { + if (forwards) { + threshold = rms / forward_factor; + } else { + threshold = rms / reverse_factor; + one = u128_not(one); + } + + if (u128_eq(*bit, u128_not(one)) && slope[0] > threshold && slope[1] > threshold) { + *bit = one; + *bit_flipped = true; + } else if (u128_eq(*bit, one) && slope[0] < -threshold && slope[1] < -threshold) { + *bit = u128_not(one); + *bit_flipped = true; + } + } else { + *bit_flipped = false; + } +} + +/* + * Verify the new LFSR state in the forward or reverse direction. + */ + +static inline bool lfsr_verify(struct timecode_def *def, mk2bits_t *timecode, mk2bits_t *bitstream, + mk2bits_t bit, bool forwards) +{ + if (forwards) { + *timecode = fwd_mk2(*timecode, def); + *bitstream = u128_add(u128_rshift(*bitstream, 1), u128_lshift(bit, (def->bits - 1))); + } else { + mk2bits_t mask = u128_sub(u128_lshift(U128_ONE, def->bits), U128_ONE); + *timecode = rev_mk2(*timecode, def); + *bitstream = u128_add(u128_and(u128_lshift(*bitstream, 1), mask), bit); + } + + if (u128_eq(*timecode, *bitstream)) + return true; + else + return false; +} + +/* + * Process the upper or lower bitstream contained in the Traktor MK2 signal + */ + +inline static void mk2_process_bitstream(struct timecoder *tc, struct mk2_subcode *sc, + signed int reading) +{ + int current_slope[2]; + + delayline_push(&sc->readings, reading); + sc->avg_reading = ema(&sc->ema_reading, reading); + + /* Calculate absolute of average slope */ + sc->avg_slope = ema(&sc->ema_slope, abs(reading - *delayline_at(&sc->readings, 1))); + + /* Calculate current and last slope */ + current_slope[0] = (reading - *delayline_at(&sc->readings, 1)); + current_slope[1] = (reading - *delayline_at(&sc->readings, 2)); + + /* The bits only change when an offset jump occurs. Else the previous bit is taken */ + detect_bit_flip(current_slope, tc->secondary.mk2.rms, reading, sc->avg_reading, &sc->bit, + &sc->recent_bit_flip, tc->forwards, U128(0x0, !tc->secondary.positive)); + + if (lfsr_verify(tc->def, &sc->timecode, &sc->bitstream, sc->bit, tc->forwards)) { + (sc->valid_counter)++; + } else { + sc->timecode = sc->bitstream; + sc->valid_counter = 0; + } +} + +/* + * Process the upper or lower bitstream contained in the Traktor MK2 signal + */ + +void mk2_process_timecode(struct timecoder *tc, signed int reading) +{ + /* + * Detect if the offset jumps on upper and lower bitstream + */ + + if (tc->secondary.positive) + mk2_process_bitstream(tc, &tc->upper_bitstream, reading); + else if (!tc->secondary.positive) + mk2_process_bitstream(tc, &tc->lower_bitstream, reading); + + if (tc->lower_bitstream.valid_counter > tc->upper_bitstream.valid_counter) { + tc->mk2_bitstream = tc->lower_bitstream.bitstream; + tc->mk2_timecode = tc->lower_bitstream.timecode; + } else { + tc->mk2_bitstream = tc->upper_bitstream.bitstream; + tc->mk2_timecode = tc->upper_bitstream.timecode; + } + + if (u128_eq(tc->mk2_timecode, tc->mk2_bitstream)) { + tc->valid_counter++; + } else { + tc->timecode = tc->bitstream; + tc->valid_counter = 0; + } + /* Take note of the last time we read a valid timecode */ + + tc->timecode_ticker = 0; + + tc->ref_level -= tc->ref_level / REF_PEAKS_AVG; + tc->ref_level += abs((int)(tc->secondary.mk2.rms_deriv * tc->gain_compensation)) + / REF_PEAKS_AVG; + + debug("upper.valid_counter: %d, lower.valid_counter %d, forwards: %b\n", */ + tc->upper.valid_counter, + tc->lower.valid_counter, + tc->forwards); +} diff --git a/lib/xwax/timecoder_mk2.h b/lib/xwax/timecoder_mk2.h index 8a0f68fd7231..ed649a67906f 100644 --- a/lib/xwax/timecoder_mk2.h +++ b/lib/xwax/timecoder_mk2.h @@ -10,5 +10,6 @@ mk2bits_t rev_mk2(mk2bits_t current, struct timecode_def *def); int build_lookup_mk2(struct timecode_def *def); void mk2_process_carrier(struct timecoder *tc, signed int primary, signed int secondary); +void mk2_process_timecode(struct timecoder *tc, signed int reading); #endif /* end of include guard TIMECODER_MK2_H */ From a47b41f10af5ee328c141cd1e74aa61486edb7c1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Clau=C3=9Fen?= Date: Tue, 5 Aug 2025 12:27:30 +0200 Subject: [PATCH 082/181] xwax: Implement LUT loading/storing feature Since the current LUT implementation is designed for Serato-style timecodes with short LFSRs and not suitable for the Traktor MK2s with its 110-bit LFSR and up to four million states, the computation of the hash map is taking quite long (~10 seconds for the CD). This is a dirty workaround of improving the startup time by not having to wait for the LUT build every time. I am not happy with this solution, but it does make the feature usable for now. In the long run the we should look into pre-computing a Minimum Perfect Hash Table, which should reduce the size of the LUT drastically. --- lib/xwax/timecoder.c | 26 +++-- lib/xwax/timecoder.h | 2 +- lib/xwax/timecoder_mk2.c | 160 ++++++++++++++++++++++++++ lib/xwax/timecoder_mk2.h | 3 + src/vinylcontrol/vinylcontrolxwax.cpp | 26 ++++- src/vinylcontrol/vinylcontrolxwax.h | 1 + 6 files changed, 207 insertions(+), 11 deletions(-) diff --git a/lib/xwax/timecoder.c b/lib/xwax/timecoder.c index b9bd8404e334..5d2821e4d7fc 100755 --- a/lib/xwax/timecoder.c +++ b/lib/xwax/timecoder.c @@ -303,7 +303,7 @@ static int build_lookup(struct timecode_def *def) * Return: pointer to timecode definition, or NULL if not available */ -struct timecode_def* timecoder_find_definition(const char *name) +struct timecode_def* timecoder_find_definition(const char *name, const char *lut_dir_path) { unsigned int n; @@ -313,14 +313,24 @@ struct timecode_def* timecoder_find_definition(const char *name) if (strcmp(def->name, name) != 0) continue; - if (def->flags & TRAKTOR_MK2) { - if (build_lookup_mk2(def) == -1) - return NULL; /* error */ - } else { - if (build_lookup(def) == -1) - return NULL; /* error */ + if (!def->lookup) { + if (def->flags & TRAKTOR_MK2) { + if (!lut_load_mk2(def, lut_dir_path)) + return def; + + if (build_lookup_mk2(def) == -1) + return NULL; /* error */ + + if (lut_store_mk2(def, lut_dir_path)) { + timecoder_free_lookup(); + fprintf(stderr, "Couldn't store LUT on disk\n"); + return NULL; + } + } else { + if (build_lookup(def) == -1) + return NULL; /* error */ + } } - return def; } diff --git a/lib/xwax/timecoder.h b/lib/xwax/timecoder.h index b276890bba1b..98019933c0c7 100644 --- a/lib/xwax/timecoder.h +++ b/lib/xwax/timecoder.h @@ -122,7 +122,7 @@ struct timecoder { double gain_compensation; /* Scaling factor for the derivative */ }; -struct timecode_def* timecoder_find_definition(const char *name); +struct timecode_def* timecoder_find_definition(const char *name, const char *lut_dir_path); void timecoder_free_lookup(void); void timecoder_init(struct timecoder *tc, struct timecode_def *def, diff --git a/lib/xwax/timecoder_mk2.c b/lib/xwax/timecoder_mk2.c index b5856022f288..4aadc3a3e791 100644 --- a/lib/xwax/timecoder_mk2.c +++ b/lib/xwax/timecoder_mk2.c @@ -4,6 +4,7 @@ #include #include #include +#include #include "timecoder_mk2.h" @@ -120,6 +121,165 @@ int build_lookup_mk2(struct timecode_def *def) return 0; } +/* + * Caches the generated LUT on the disk. + * + * This is only necessary for the Traktor MK2, since the size of its hash + * table is quite large. + */ + +int lut_store_mk2(struct timecode_def *def, const char *lut_dir_path) +{ + if (!def || !lut_dir_path) + return -1; + + struct slot_mk2 *slot; + slot_no_t *hash; + + int i, j, len, hashes; + char path[1024]; + FILE *fp = NULL; + int r = 0; + int size; + + sprintf(path, "%s/%s%s", lut_dir_path, def->name, ".lut"); + + fprintf(stdout, "Storing LUT at %s\n", path); + fp = fopen(path, "wb"); + if (!fp) { + perror("fopen"); + return -1; + } + + for (i = 0; i < def->length; i++) { + slot = &def->lut_mk2.slot[i]; + + if (!slot) { + printf("slot_no: %d doesn't exist'\n", i); + r = -1; + goto out; + } + size = fwrite(slot, sizeof(struct slot_mk2), 1, fp); + + if (!size) { + perror("fwrite"); + r = -1; + goto out; + } + } + + hashes = 1 << 16; + for (j = 0; j < hashes; j++) { + hash = &def->lut_mk2.table[j]; + + size = fwrite(hash, sizeof(slot_no_t), 1, fp); + if (!size) { + perror("fwrite"); + r = -1; + goto out; + } + } + + size = fwrite(&def->lut_mk2.avail, sizeof(slot_no_t), 1, fp); + if (!size) { + perror("fwrite"); + r = -1; + goto out; + } + +out: + fclose(fp); + + if (hashes != j || def->length != i) + fprintf(stderr, "Something went wrong: "); + + fprintf(stderr, "Wrote %d hashes and %d slots to disk\n", j, i); + + return r; +} + + +/* + * Loads the stored LUT from the disk. + * + * This is only necessary for the Traktor MK2, since the size of its hash + * table is quite large. + */ + +int lut_load_mk2(struct timecode_def *def, const char *lut_dir_path) +{ + if (!def || !lut_dir_path) + return -1; + + struct slot_mk2 *slot; + + char path[1024]; + int i, j, hashes; + int r = 0; + int size; + FILE *fp; + int len; + + sprintf(path, "%s/%s%s", lut_dir_path, def->name, ".lut"); + + fprintf(stdout, "Loading LUT from %s\n", path); + fp = fopen(path, "rb"); + if (!fp) { + fprintf(stderr, "LUT for %s not found on disk\n", def->desc); + return -1; + } + + r = lut_init_mk2(&def->lut_mk2, def->length); + if (r) { + fprintf(stderr, "Couldn't initialise LUT\n"); + goto out; + } + + fprintf(stdout, "Loading LUT from %s\n", path); + for (i = 0; i < def->length; i++) { + slot = &def->lut_mk2.slot[i]; + + size = fread(slot, sizeof(struct slot_mk2), 1, fp); + if (!size) { + perror("fread"); + r = -1; + goto out; + } + } + + hashes = 1 << 16; + for (j = 0; j < hashes; j++) { + + slot_no_t *hash = &def->lut_mk2.table[j]; + + size = fread(hash, sizeof(slot_no_t), 1, fp); + if (!size) { + perror("fread"); + r = -1; + goto out; + } + } + + size = fread(&def->lut_mk2.avail, sizeof(slot_no_t), 1, fp); + if (!size) { + perror("fwrite"); + r = -1; + } + + +out: + fclose(fp); + + if (hashes == j && def->length == i) + def->lookup = true; + else + fprintf(stderr, "Something went wrong: "); + + fprintf(stderr, "Loaded %d hashes and %d slots from disk\n", j, i); + + return r; +} + /* * Do Traktor-MK2-specific processing of the carrier wave * diff --git a/lib/xwax/timecoder_mk2.h b/lib/xwax/timecoder_mk2.h index ed649a67906f..8e5afa84b7cf 100644 --- a/lib/xwax/timecoder_mk2.h +++ b/lib/xwax/timecoder_mk2.h @@ -7,7 +7,10 @@ mk2bits_t fwd_mk2(mk2bits_t current, struct timecode_def *def); mk2bits_t rev_mk2(mk2bits_t current, struct timecode_def *def); + int build_lookup_mk2(struct timecode_def *def); +int lut_load_mk2(struct timecode_def *def, const char *lut_dir_path); +int lut_store_mk2(struct timecode_def *def, const char *lut_dir_path); void mk2_process_carrier(struct timecoder *tc, signed int primary, signed int secondary); void mk2_process_timecode(struct timecoder *tc, signed int reading); diff --git a/src/vinylcontrol/vinylcontrolxwax.cpp b/src/vinylcontrol/vinylcontrolxwax.cpp index 602f97f57afb..9ea2b116072f 100644 --- a/src/vinylcontrol/vinylcontrolxwax.cpp +++ b/src/vinylcontrol/vinylcontrolxwax.cpp @@ -117,12 +117,22 @@ VinylControlXwax::VinylControlXwax(UserSettingsPointer pConfig, const QString& g m_pSteadyGross = new SteadyPitch(0.5, false); } - timecode_def* tc_def = timecoder_find_definition(timecode); + // Determine the config folder path + std::string lut_dir_string; + const char* lut_dir_path = nullptr; + + if (!getLutDir().isEmpty()) { + lut_dir_string = getLutDir().toStdString(); + lut_dir_path = lut_dir_string.c_str(); + } + + // Pass the config folder path to the timecoder + timecode_def* tc_def = timecoder_find_definition(timecode, lut_dir_path); if (tc_def == nullptr) { qDebug() << "Error finding timecode definition for " << timecode << ", defaulting to" << MIXXX_VINYL_DEFAULT_XWAX_NAME; timecode = MIXXX_VINYL_DEFAULT_XWAX_NAME; - tc_def = timecoder_find_definition(timecode); + tc_def = timecoder_find_definition(timecode, lut_dir_path); } double speed = 1.0; @@ -192,6 +202,18 @@ void VinylControlXwax::freeLUTs() { s_xwaxLUTMutex.unlock(); } +QString VinylControlXwax::getLutDir() { + QDir lutPath(m_pConfig->getSettingsPath().append("/lut/")); + + if (!lutPath.exists()) { + if (!lutPath.mkpath(".")) { + qWarning() << "Failed to create LUT directory at" << lutPath; + return QString{}; + } + } + + return lutPath.absolutePath(); +} bool VinylControlXwax::writeQualityReport(VinylSignalQualityReport* pReport) { if (pReport) { diff --git a/src/vinylcontrol/vinylcontrolxwax.h b/src/vinylcontrol/vinylcontrolxwax.h index cc0167c5dae9..ed84ed446c76 100644 --- a/src/vinylcontrol/vinylcontrolxwax.h +++ b/src/vinylcontrol/vinylcontrolxwax.h @@ -29,6 +29,7 @@ class VinylControlXwax : public VinylControl { virtual ~VinylControlXwax(); static void freeLUTs(); + QString getLutDir(); void analyzeSamples(CSAMPLE* pSamples, size_t nFrames); virtual bool writeQualityReport(VinylSignalQualityReport* qualityReportFifo); From 064e808652699872ce4b6c3fc9009e7584fe6c87 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Clau=C3=9Fen?= Date: Wed, 5 Mar 2025 18:24:10 +0100 Subject: [PATCH 083/181] vinylcontrol: Add Traktor MK2s to timecode collection Adds Traktor MK2 Side, A/B and CD --- src/preferences/dialog/dlgprefvinyl.cpp | 9 +++++++++ src/vinylcontrol/defs_vinylcontrol.h | 9 +++++++++ src/vinylcontrol/vinylcontrolxwax.cpp | 6 ++++++ 3 files changed, 24 insertions(+) diff --git a/src/preferences/dialog/dlgprefvinyl.cpp b/src/preferences/dialog/dlgprefvinyl.cpp index 18d4aff5b61a..4baf7117c9f3 100644 --- a/src/preferences/dialog/dlgprefvinyl.cpp +++ b/src/preferences/dialog/dlgprefvinyl.cpp @@ -43,6 +43,9 @@ DlgPrefVinyl::DlgPrefVinyl( box->addItem(MIXXX_VINYL_SERATOCD); box->addItem(MIXXX_VINYL_TRAKTORSCRATCHSIDEA); box->addItem(MIXXX_VINYL_TRAKTORSCRATCHSIDEB); + box->addItem(MIXXX_VINYL_TRAKTORSCRATCHMK2SIDEA); + box->addItem(MIXXX_VINYL_TRAKTORSCRATCHMK2SIDEB); + box->addItem(MIXXX_VINYL_TRAKTORSCRATCHMK2CD); box->addItem(MIXXX_VINYL_MIXVIBESDVS); box->addItem(MIXXX_VINYL_MIXVIBES7INCH); box->addItem(MIXXX_VINYL_PIONEERA); @@ -229,6 +232,12 @@ int DlgPrefVinyl::getDefaultLeadIn(const QString& vinyl_type) const { return MIXXX_VINYL_TRAKTORSCRATCHSIDEA_LEADIN; } else if (vinyl_type == MIXXX_VINYL_TRAKTORSCRATCHSIDEB) { return MIXXX_VINYL_TRAKTORSCRATCHSIDEB_LEADIN; + } else if (vinyl_type == MIXXX_VINYL_TRAKTORSCRATCHMK2SIDEA) { + return MIXXX_VINYL_TRAKTORSCRATCHMK2SIDEA_LEADIN; + } else if (vinyl_type == MIXXX_VINYL_TRAKTORSCRATCHMK2SIDEB) { + return MIXXX_VINYL_TRAKTORSCRATCHMK2SIDEB_LEADIN; + } else if (vinyl_type == MIXXX_VINYL_TRAKTORSCRATCHMK2CD) { + return MIXXX_VINYL_TRAKTORSCRATCHMK2CD_LEADIN; } else if (vinyl_type == MIXXX_VINYL_MIXVIBESDVS) { return MIXXX_VINYL_MIXVIBESDVS_LEADIN; } else if (vinyl_type == MIXXX_VINYL_MIXVIBES7INCH) { diff --git a/src/vinylcontrol/defs_vinylcontrol.h b/src/vinylcontrol/defs_vinylcontrol.h index 4ce1694d3a5d..5f9ae339e612 100644 --- a/src/vinylcontrol/defs_vinylcontrol.h +++ b/src/vinylcontrol/defs_vinylcontrol.h @@ -13,6 +13,9 @@ constexpr int VINYL_STATUS_ERROR = 3; #define MIXXX_VINYL_SERATOCD "Serato CD" #define MIXXX_VINYL_TRAKTORSCRATCHSIDEA "Traktor Scratch MK1 Vinyl, Side A" #define MIXXX_VINYL_TRAKTORSCRATCHSIDEB "Traktor Scratch MK1 Vinyl, Side B" +#define MIXXX_VINYL_TRAKTORSCRATCHMK2SIDEA "Traktor Scratch MK2 Vinyl, Side A (beta)" +#define MIXXX_VINYL_TRAKTORSCRATCHMK2SIDEB "Traktor Scratch MK2 Vinyl, Side B (beta)" +#define MIXXX_VINYL_TRAKTORSCRATCHMK2CD "Traktor Scratch MK2 CD (beta)" #define MIXXX_VINYL_MIXVIBESDVS "MixVibes DVS V2 Vinyl" #define MIXXX_VINYL_MIXVIBES7INCH "MixVibes 7 inch" #define MIXXX_VINYL_PIONEERA "Pioneer RekordBox DVS Control Vinyl, Side A" @@ -23,6 +26,9 @@ constexpr int VINYL_STATUS_ERROR = 3; #define MIXXX_VINYL_SERATOCD_XWAX_NAME "serato_cd" #define MIXXX_VINYL_TRAKTORSCRATCHSIDEA_XWAX_NAME "traktor_a" #define MIXXX_VINYL_TRAKTORSCRATCHSIDEB_XWAX_NAME "traktor_b" +#define MIXXX_VINYL_TRAKTORSCRATCHMK2SIDEA_XWAX_NAME "traktor_mk2_a" +#define MIXXX_VINYL_TRAKTORSCRATCHMK2SIDEB_XWAX_NAME "traktor_mk2_b" +#define MIXXX_VINYL_TRAKTORSCRATCHMK2CD_XWAX_NAME "traktor_mk2_cd" #define MIXXX_VINYL_MIXVIBESDVS_XWAX_NAME "mixvibes_v2" #define MIXXX_VINYL_MIXVIBES7INCH_XWAX_NAME "mixvibes_7inch" #define MIXXX_VINYL_PIONEERA_XWAX_NAME "pioneer_a" @@ -36,6 +42,9 @@ constexpr int VINYL_STATUS_ERROR = 3; #define MIXXX_VINYL_SERATOCD_LEADIN 0 #define MIXXX_VINYL_TRAKTORSCRATCHSIDEA_LEADIN 10 #define MIXXX_VINYL_TRAKTORSCRATCHSIDEB_LEADIN 10 +#define MIXXX_VINYL_TRAKTORSCRATCHMK2SIDEA_LEADIN 10 +#define MIXXX_VINYL_TRAKTORSCRATCHMK2SIDEB_LEADIN 10 +#define MIXXX_VINYL_TRAKTORSCRATCHMK2CD_LEADIN 10 #define MIXXX_VINYL_MIXVIBESDVS_LEADIN 0 #define MIXXX_VINYL_MIXVIBES7INCH_LEADIN 0 #define MIXXX_VINYL_PIONEERA_LEADIN 10 diff --git a/src/vinylcontrol/vinylcontrolxwax.cpp b/src/vinylcontrol/vinylcontrolxwax.cpp index 9ea2b116072f..4eddf4b4222b 100644 --- a/src/vinylcontrol/vinylcontrolxwax.cpp +++ b/src/vinylcontrol/vinylcontrolxwax.cpp @@ -96,6 +96,12 @@ VinylControlXwax::VinylControlXwax(UserSettingsPointer pConfig, const QString& g timecode = MIXXX_VINYL_TRAKTORSCRATCHSIDEA_XWAX_NAME; } else if (strVinylType == MIXXX_VINYL_TRAKTORSCRATCHSIDEB) { timecode = MIXXX_VINYL_TRAKTORSCRATCHSIDEB_XWAX_NAME; + } else if (strVinylType == MIXXX_VINYL_TRAKTORSCRATCHMK2SIDEA) { + timecode = MIXXX_VINYL_TRAKTORSCRATCHMK2SIDEA_XWAX_NAME; + } else if (strVinylType == MIXXX_VINYL_TRAKTORSCRATCHMK2SIDEB) { + timecode = MIXXX_VINYL_TRAKTORSCRATCHMK2SIDEB_XWAX_NAME; + } else if (strVinylType == MIXXX_VINYL_TRAKTORSCRATCHMK2CD) { + timecode = MIXXX_VINYL_TRAKTORSCRATCHMK2CD_XWAX_NAME; } else if (strVinylType == MIXXX_VINYL_MIXVIBESDVS) { timecode = MIXXX_VINYL_MIXVIBESDVS_XWAX_NAME; } else if (strVinylType == MIXXX_VINYL_MIXVIBES7INCH) { From 6c86414ebccc1d39f60449e7d480327f1e40cfe4 Mon Sep 17 00:00:00 2001 From: Sergey <5637569+fonsargo@users.noreply.github.com> Date: Mon, 11 Aug 2025 21:27:46 +0200 Subject: [PATCH 084/181] Add missing translation --- src/effects/backends/builtin/autogaincontroleffect.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/effects/backends/builtin/autogaincontroleffect.cpp b/src/effects/backends/builtin/autogaincontroleffect.cpp index 01d3ef72f2c2..2ea42eef06dc 100644 --- a/src/effects/backends/builtin/autogaincontroleffect.cpp +++ b/src/effects/backends/builtin/autogaincontroleffect.cpp @@ -27,11 +27,11 @@ EffectManifestPointer AutoGainControlEffect::getManifest() { pManifest->setId(getId()); pManifest->setName(QObject::tr("Auto Gain Control")); pManifest->setShortName(QObject::tr("AGC")); - pManifest->setAuthor("The Mixxx Team"); + pManifest->setAuthor(QObject::tr("The Mixxx Team")); pManifest->setVersion("1.0"); - pManifest->setDescription( + pManifest->setDescription(QObject::tr( "Auto Gain Control (AGC) automatically adjusts the gain of an " - "audio signal to maintain a consistent output level."); + "audio signal to maintain a consistent output level.")); pManifest->setEffectRampsFromDry(true); pManifest->setMetaknobDefault(0.0); From fc824c30cc30ecb34562136cb621cb57d34016fb Mon Sep 17 00:00:00 2001 From: Joerg Date: Tue, 1 Oct 2024 00:51:18 +0200 Subject: [PATCH 085/181] Implemented HID report tabs, that show all controls and it's values(if accessible) defined in the HID Reports Descriptor - Implemented HID Report Descriptor Parser - Implemented `extractLogicallValue` for logical value extraction for both signed and unsigned controls. - Added HID report tab GUI layout in the controller dialog with "Read" and "Send" buttons based on report type. - Extended `HidIoThread` to emit `reportReceived` signal with report ID for improved tracking, and added logic for bytesRead in processInputReport --- CMakeLists.txt | 3 + .../controllerhidreporttabsmanager.cpp | 488 ++++++++++++++++ .../controllerhidreporttabsmanager.h | 52 ++ src/controllers/dlgprefcontroller.cpp | 13 +- src/controllers/dlgprefcontroller.h | 3 + src/controllers/hid/hidcontroller.cpp | 11 +- src/controllers/hid/hidcontroller.h | 16 +- src/controllers/hid/hiddevice.cpp | 23 +- src/controllers/hid/hiddevice.h | 8 + src/controllers/hid/hidiothread.cpp | 25 +- src/controllers/hid/hidiothread.h | 6 +- src/controllers/hid/hidreportdescriptor.cpp | 541 ++++++++++++++++++ src/controllers/hid/hidreportdescriptor.h | 258 +++++++++ .../controller_hid_reportdescriptor_test.cpp | 281 +++++++++ 14 files changed, 1717 insertions(+), 11 deletions(-) create mode 100644 src/controllers/controllerhidreporttabsmanager.cpp create mode 100644 src/controllers/controllerhidreporttabsmanager.h create mode 100644 src/controllers/hid/hidreportdescriptor.cpp create mode 100644 src/controllers/hid/hidreportdescriptor.h create mode 100644 src/test/controller_hid_reportdescriptor_test.cpp diff --git a/CMakeLists.txt b/CMakeLists.txt index 1064db8447eb..5e1d8dac807c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -2595,6 +2595,7 @@ if(BUILD_TESTING) src/test/colormapperjsproxy_test.cpp src/test/colorpalette_test.cpp src/test/configobject_test.cpp + src/test/controller_hid_reportdescriptor_test.cpp src/test/controller_mapping_validation_test.cpp src/test/controller_mapping_settings_test.cpp src/test/controllers/controller_columnid_regression_test.cpp @@ -4825,12 +4826,14 @@ if(HID) target_sources( mixxx-lib PRIVATE + src/controllers/controllerhidreporttabsmanager.cpp src/controllers/hid/hidcontroller.cpp src/controllers/hid/hidiothread.cpp src/controllers/hid/hidioglobaloutputreportfifo.cpp src/controllers/hid/hidiooutputreport.cpp src/controllers/hid/hiddevice.cpp src/controllers/hid/hidenumerator.cpp + src/controllers/hid/hidreportdescriptor.cpp src/controllers/hid/hidusagetables.cpp src/controllers/hid/legacyhidcontrollermapping.cpp src/controllers/hid/legacyhidcontrollermappingfilehandler.cpp diff --git a/src/controllers/controllerhidreporttabsmanager.cpp b/src/controllers/controllerhidreporttabsmanager.cpp new file mode 100644 index 000000000000..37a614b540b6 --- /dev/null +++ b/src/controllers/controllerhidreporttabsmanager.cpp @@ -0,0 +1,488 @@ +#include "controllerhidreporttabsmanager.h" + +#include +#include +#include +#include +#include +#include +#include + +#include "controllers/hid/hidusagetables.h" +#include "moc_controllerhidreporttabsmanager.cpp" + +ControllerHidReportTabsManager::ControllerHidReportTabsManager( + QTabWidget* parentTabWidget, HidController* hidController) + : m_pParentControllerTab(parentTabWidget), + m_pHidController(hidController) { +} + +void ControllerHidReportTabsManager::createReportTypeTabs() { + auto reportTypeTabs = std::make_unique(m_pParentControllerTab); + + QMetaEnum metaEnum = QMetaEnum::fromType(); + + for (int reportTypeIdx = 0; reportTypeIdx < metaEnum.keyCount(); ++reportTypeIdx) { + auto reportType = static_cast( + metaEnum.value(reportTypeIdx)); + auto reportTypeTab = std::make_unique(reportTypeTabs.get()); + createHidReportTab(reportTypeTab.get(), reportType); + if (reportTypeTab->count() > 0) { + QString tabName = QStringLiteral("%1 Reports") + .arg(metaEnum.valueToKey( + static_cast(reportType))); + m_pParentControllerTab->addTab(reportTypeTab.release(), tabName); + } + } +} + +void ControllerHidReportTabsManager::createHidReportTab(QTabWidget* parentReportTypeTab, + hid::reportDescriptor::HidReportType reportType) { + const auto& reportDescriptorTemp = m_pHidController->getReportDescriptor(); + if (!reportDescriptorTemp.has_value()) { + return; + } + const auto& reportDescriptor = *reportDescriptorTemp; + + QMetaEnum metaEnum = QMetaEnum::fromType(); + + for (const auto& reportInfo : reportDescriptor.getListOfReports()) { + auto [index, type, reportId] = reportInfo; + if (type == reportType) { + QString tabName = QStringLiteral("%1 Report 0x%2") + .arg(metaEnum.valueToKey(static_cast( + reportType)), + QString::number(reportId, 16) + .rightJustified(2, '0') + .toUpper()); + + auto* tabWidget = new QWidget(parentReportTypeTab); + auto* layout = new QVBoxLayout(tabWidget); + auto* topWidgetRow = new QHBoxLayout(); + + // Create buttons + auto* readButton = new QPushButton(QStringLiteral("Read"), tabWidget); + auto* sendButton = new QPushButton(QStringLiteral("Send"), tabWidget); + + // Adjust visibility/enable state based on the report type + if (reportType == hid::reportDescriptor::HidReportType::Input) { + sendButton->hide(); + readButton->hide(); + } else if (reportType == hid::reportDescriptor::HidReportType::Output) { + readButton->hide(); + } + + topWidgetRow->addWidget(readButton); + topWidgetRow->addWidget(sendButton); + layout->addLayout(topWidgetRow); + + auto* table = new QTableWidget(tabWidget); + layout->addWidget(table); + + auto report = reportDescriptor.getReport(reportType, reportId); + if (report) { + // Show payload size + auto* sizeLabel = new QLabel(tabWidget); + sizeLabel->setText( + QStringLiteral("Payload Size: %1 bytes") + .arg(report->getReportSize())); + topWidgetRow->insertWidget(0, sizeLabel); + + populateHidReportTable(table, *report, reportType); + } + + if (reportType != hid::reportDescriptor::HidReportType::Output) { + connect(readButton, + &QPushButton::clicked, + this, + [this, table, reportId, reportType]() { + slotReadReport(table, reportId, reportType); + }); + // Read once on tab creation + slotReadReport(table, reportId, reportType); + } + if (reportType != hid::reportDescriptor::HidReportType::Input) { + connect(sendButton, + &QPushButton::clicked, + this, + [this, table, reportId, reportType]() { + slotSendReport(table, reportId, reportType); + }); + } + + parentReportTypeTab->addTab(tabWidget, tabName); + + if (reportType == hid::reportDescriptor::HidReportType::Input) { + // Store the table pointer associated with the reportId + m_reportIdToTableMap[reportId] = table; + } + + // Connect the signal for the reportId + HidIoThread* hidIoThread = m_pHidController->getHidIoThread(); + connect(hidIoThread, + &HidIoThread::reportReceived, + this, + &ControllerHidReportTabsManager::slotProcessInputReport); + } + } +} + +void ControllerHidReportTabsManager::updateTableWithReportData( + QTableWidget* table, + const QByteArray& reportData) { + // Temporarily disable updates to speed up processing + table->setUpdatesEnabled(false); + + // Process the report data and update the table + for (int row = 0; row < table->rowCount(); ++row) { + auto* item = table->item(row, 5); // Value column is at index 5 + if (item) { + // Retrieve custom data from the first cell + QVariant customData = table->item(row, 0)->data(Qt::UserRole + 1); + if (customData.isValid()) { + auto control = + static_cast( + customData.value()); + // Use the custom data as needed + int64_t controlValue = + hid::reportDescriptor::extractLogicalValue( + reportData, *control); + item->setText(QString::number(controlValue)); + } + } + } + + table->setUpdatesEnabled(true); +} + +void ControllerHidReportTabsManager::slotProcessInputReport( + quint8 reportId, const QByteArray& data) { + // Find the table associated with the reportId + auto it = m_reportIdToTableMap.find(reportId); + if (it == m_reportIdToTableMap.end()) { + qWarning() << "No table found for reportId" << reportId; + return; + } + QTableWidget* table = it->second; + + const auto& reportDescriptor = *m_pHidController->getReportDescriptor(); + auto report = reportDescriptor.getReport(hid::reportDescriptor::HidReportType::Input, reportId); + if (report) { + updateTableWithReportData(table, data); + } +} + +void ControllerHidReportTabsManager::slotReadReport(QTableWidget* table, + quint8 reportId, + hid::reportDescriptor::HidReportType reportType) { + if (!m_pHidController->isOpen()) { + qWarning() << "HID controller is not open."; + return; + } + + HidControllerJSProxy* jsProxy = static_cast(m_pHidController->jsProxy()); + VERIFY_OR_DEBUG_ASSERT(jsProxy) { + return; + } + + const auto& reportDescriptor = *m_pHidController->getReportDescriptor(); + auto report = reportDescriptor.getReport(reportType, reportId); + VERIFY_OR_DEBUG_ASSERT(report) { + return; + } + + QByteArray reportData; + if (reportType == hid::reportDescriptor::HidReportType::Input) { + reportData = jsProxy->getInputReport(reportId); + } else if (reportType == hid::reportDescriptor::HidReportType::Feature) { + reportData = jsProxy->getFeatureReport(reportId); + } else { + return; + } + + if (reportData.size() < report->getReportSize()) { + qWarning() << "Failed to get report. Read only " << reportData.size() + << " instead of expected " << report->getReportSize() + << " bytes."; + return; + } + + updateTableWithReportData(table, reportData); +} + +void ControllerHidReportTabsManager::slotSendReport(QTableWidget* table, + quint8 reportId, + hid::reportDescriptor::HidReportType reportType) { + if (!m_pHidController->isOpen()) { + qWarning() << "HID controller is not open."; + return; + } + + HidControllerJSProxy* jsProxy = static_cast(m_pHidController->jsProxy()); + VERIFY_OR_DEBUG_ASSERT(jsProxy) { + return; + } + + const auto& reportDescriptor = *m_pHidController->getReportDescriptor(); + + auto report = reportDescriptor.getReport(reportType, reportId); + VERIFY_OR_DEBUG_ASSERT(report) { + return; + } + + // Create a QByteArray of the size of the report + QByteArray reportData(report->getReportSize(), 0); + + // Iterate through each row in the table + for (int row = 0; row < table->rowCount(); ++row) { + auto* item = table->item(row, 5); // Value column is at index 5 + if (item) { + // Retrieve custom data from the first cell + QVariant customData = table->item(row, 0)->data(Qt::UserRole + 1); + if (customData.isValid()) { + auto control = + reinterpret_cast( + customData.value()); + // Set the control value in the reportData + bool success = hid::reportDescriptor::applyLogicalValue( + reportData, *control, item->text().toLongLong()); + if (!success) { + qWarning() << "Failed to set control value for row" << row; + continue; + } + } + } + } + + // Send the reportData + if (reportType == hid::reportDescriptor::HidReportType::Feature) { + jsProxy->sendFeatureReport(reportId, reportData); + } else if (reportType == hid::reportDescriptor::HidReportType::Output) { + jsProxy->sendOutputReport(reportId, reportData); + } +} + +void ControllerHidReportTabsManager::populateHidReportTable( + QTableWidget* table, + const hid::reportDescriptor::Report& report, + hid::reportDescriptor::HidReportType reportType) { + // Temporarily disable updates to speed up populating + table->setUpdatesEnabled(false); + + // Reserve rows up-front + const auto& controls = report.getControls(); + table->setRowCount(static_cast(controls.size())); + + // Set the delegate once if needed + if (reportType != hid::reportDescriptor::HidReportType::Input) { + table->setItemDelegateForColumn(5, new ValueItemDelegate(table)); + } + + bool showVolatileColumn = (reportType == hid::reportDescriptor::HidReportType::Feature || + reportType == hid::reportDescriptor::HidReportType::Output); + + // Set headers + QStringList headers = {QStringLiteral("Byte Position"), + QStringLiteral("Bit Position"), + QStringLiteral("Bit Size"), + QStringLiteral("Logical Min"), + QStringLiteral("Logical Max"), + QStringLiteral("Value"), + QStringLiteral("Physical Min"), + QStringLiteral("Physical Max"), + QStringLiteral("Unit Scaling"), + QStringLiteral("Unit"), + QStringLiteral("Abs/Rel"), + QStringLiteral("Wrap"), + QStringLiteral("Linear"), + QStringLiteral("Preferred"), + QStringLiteral("Null")}; + if (showVolatileColumn) { + headers << QStringLiteral("Volatile"); + } + headers << QStringLiteral("Usage Page") << QStringLiteral("Usage"); + + table->setColumnCount(headers.size()); + table->setHorizontalHeaderLabels(headers); + table->verticalHeader()->setVisible(false); + + // Helpers + auto createReadOnlyItem = [](const QString& text, bool rightAlign = false) { + auto* item = new QTableWidgetItem(text); + item->setFlags(item->flags() & ~Qt::ItemIsEditable); + if (rightAlign) { + item->setTextAlignment(Qt::AlignRight | Qt::AlignVCenter); + } + return item; + }; + auto createValueItem = [reportType](int minVal, int maxVal) { + auto* item = new QTableWidgetItem; + QFont font = item->font(); + font.setBold(true); + item->setFont(font); + if (reportType == hid::reportDescriptor::HidReportType::Input) { + item->setFlags(item->flags() & ~Qt::ItemIsEditable); + } else { + item->setFlags(item->flags() | Qt::ItemIsEditable); + item->setData(Qt::UserRole, QVariant::fromValue(QPair(minVal, maxVal))); + } + return item; + }; + + int row = 0; + for (const auto& control : controls) { + // Column 0 - Byte Position + auto* bytePositionItem = createReadOnlyItem(QStringLiteral("0x%1").arg(QString::number( + control.m_bytePosition, 16) + .rightJustified(2, '0') + .toUpper()), + true); + table->setItem(row, 0, bytePositionItem); + // Store custom data for the row in the first cell + bytePositionItem->setData(Qt::UserRole + 1, + QVariant::fromValue(reinterpret_cast( + const_cast( + &control)))); + + // Column 1 - Bit Position + table->setItem(row, 1, createReadOnlyItem(QString::number(control.m_bitPosition), true)); + // Column 2 - Bit Size + table->setItem(row, 2, createReadOnlyItem(QString::number(control.m_bitSize), true)); + // Column 3 - Logical Min + table->setItem(row, 3, createReadOnlyItem(QString::number(control.m_logicalMinimum), true)); + // Column 4 - Logical Max + table->setItem(row, 4, createReadOnlyItem(QString::number(control.m_logicalMaximum), true)); + // Column 5 - Value + table->setItem(row, 5, createValueItem(control.m_logicalMinimum, control.m_logicalMaximum)); + // Column 6 - Physical Min + table->setItem(row, + 6, + createReadOnlyItem( + QString::number(control.m_physicalMinimum), true)); + // Column 7 - Physical Max + table->setItem(row, + 7, + createReadOnlyItem( + QString::number(control.m_physicalMaximum), true)); + // Column 8 - Unit Scaling + table->setItem(row, + 8, + createReadOnlyItem(control.m_unitExponent != 0 + ? QStringLiteral("10^%1").arg( + control.m_unitExponent) + : QString(), + true)); + // Column 9 - Unit + table->setItem(row, + 9, + createReadOnlyItem(hid::reportDescriptor::getScaledUnitString( + control.m_unit))); + // Column 10 - Abs/Rel + table->setItem(row, + 10, + createReadOnlyItem(control.m_flags.absolute_relative + ? QStringLiteral("Relative") + : QStringLiteral("Absolute"))); + // Column 11 - Wrap + table->setItem(row, + 11, + createReadOnlyItem(control.m_flags.no_wrap_wrap + ? QStringLiteral("Wrap") + : QStringLiteral("No Wrap"))); + // Column 12 - Linear + table->setItem(row, + 12, + createReadOnlyItem(control.m_flags.linear_non_linear + ? QStringLiteral("Non Linear") + : QStringLiteral("Linear"))); + // Column 13 - Preferred + table->setItem(row, + 13, + createReadOnlyItem(control.m_flags.preferred_no_preferred + ? QStringLiteral("No Preferred") + : QStringLiteral("Preferred"))); + // Column 14 - Null + table->setItem(row, + 14, + createReadOnlyItem(control.m_flags.no_null_null + ? QStringLiteral("Null") + : QStringLiteral("No Null"))); + + // Volatile column (if present) + int volatileIndex = (showVolatileColumn ? 15 : -1); + if (volatileIndex != -1) { + table->setItem(row, + volatileIndex, + createReadOnlyItem(control.m_flags.non_volatile_volatile + ? QStringLiteral("Volatile") + : QStringLiteral("Non Volatile"))); + } + + // Usage Page / Usage + int usagePageIdx = showVolatileColumn ? 16 : 15; + int usageDescIdx = showVolatileColumn ? 17 : 16; + uint16_t usagePage = static_cast((control.m_usage & 0xFFFF0000) >> 16); + uint16_t usage = static_cast(control.m_usage & 0x0000FFFF); + + table->setItem(row, + usagePageIdx, + createReadOnlyItem( + mixxx::hid::HidUsageTables::getUsagePageDescription( + usagePage))); + table->setItem(row, + usageDescIdx, + createReadOnlyItem( + mixxx::hid::HidUsageTables::getUsageDescription( + usagePage, usage))); + + ++row; + } + + // Resize columns to contents once, store width and set column width fixed for performance + for (int colIdx = 0; colIdx < table->columnCount(); ++colIdx) { + table->horizontalHeader()->setSectionResizeMode(colIdx, QHeaderView::ResizeToContents); + } + QVector columnWidths(table->columnCount()); + for (int colIdx = 0; colIdx < table->columnCount(); ++colIdx) { + columnWidths[colIdx] = table->columnWidth(colIdx); + } + // Set the width of the value column (5) to fit 11 digits (int32 minimum in decimal) + QFontMetrics metrics(table->font()); + int width = metrics.horizontalAdvance(QStringLiteral("0").repeated(11)); + columnWidths[5] = width; + for (int colIdx = 0; colIdx < table->columnCount(); ++colIdx) { + table->horizontalHeader()->setSectionResizeMode(colIdx, QHeaderView::Fixed); + table->setColumnWidth(colIdx, columnWidths[colIdx]); + } + + table->setUpdatesEnabled(true); +} + +QWidget* ValueItemDelegate::createEditor(QWidget* parent, + const QStyleOptionViewItem&, + const QModelIndex& index) const { + // Create a line edit restricted by (logical min, logical max) + auto dataRange = index.data(Qt::UserRole).value>(); + auto* editor = new QLineEdit(parent); + editor->setValidator(new QIntValidator(dataRange.first, dataRange.second, editor)); + return editor; +} + +void ValueItemDelegate::setModelData(QWidget* editor, + QAbstractItemModel* model, + const QModelIndex& index) const { + auto* lineEdit = qobject_cast(editor); + if (!lineEdit) { + return; + } + + // Confirm the text is an integer within the expected range + bool ok = false; + const int value = lineEdit->text().toInt(&ok); + if (ok) { + auto dataRange = index.data(Qt::UserRole).value>(); + if (value >= dataRange.first && value <= dataRange.second) { + model->setData(index, value, Qt::EditRole); + } + } +} diff --git a/src/controllers/controllerhidreporttabsmanager.h b/src/controllers/controllerhidreporttabsmanager.h new file mode 100644 index 000000000000..638075a95ad0 --- /dev/null +++ b/src/controllers/controllerhidreporttabsmanager.h @@ -0,0 +1,52 @@ +#pragma once + +#include +#include +#include +#include + +#include "controllers/hid/hidcontroller.h" +#include "controllers/hid/hidreportdescriptor.h" + +class ControllerHidReportTabsManager : public QObject { + Q_OBJECT + + public: + ControllerHidReportTabsManager(QTabWidget* parentTabWidget, HidController* hidController); + + void createReportTypeTabs(); + void createHidReportTab(QTabWidget* parentTab, hid::reportDescriptor::HidReportType reportType); + void slotSendReport(QTableWidget* table, + quint8 reportId, + hid::reportDescriptor::HidReportType reportType); + void populateHidReportTable(QTableWidget* table, + const hid::reportDescriptor::Report& report, + hid::reportDescriptor::HidReportType reportType); + + private slots: + void slotReadReport(QTableWidget* table, + quint8 reportId, + hid::reportDescriptor::HidReportType reportType); + + public slots: + void slotProcessInputReport(quint8 reportId, const QByteArray& reportData); + + private: + void updateTableWithReportData(QTableWidget* table, const QByteArray& reportData); + QTabWidget* m_pParentControllerTab; + HidController* m_pHidController; + std::unordered_map m_reportIdToTableMap; +}; + +class ValueItemDelegate : public QStyledItemDelegate { + public: + using QStyledItemDelegate::QStyledItemDelegate; + + QWidget* createEditor(QWidget* parent, + const QStyleOptionViewItem& option, + const QModelIndex& index) const override; + + void setModelData(QWidget* editor, + QAbstractItemModel* model, + const QModelIndex& index) const override; +}; diff --git a/src/controllers/dlgprefcontroller.cpp b/src/controllers/dlgprefcontroller.cpp index e17cb938c494..8be4deabce41 100644 --- a/src/controllers/dlgprefcontroller.cpp +++ b/src/controllers/dlgprefcontroller.cpp @@ -90,7 +90,8 @@ DlgPrefController::DlgPrefController( m_inputMappingsTabIndex(-1), m_outputMappingsTabIndex(-1), m_settingsTabIndex(-1), - m_screensTabIndex(-1) { + m_screensTabIndex(-1), + m_hidReportTabsManager(nullptr) { m_ui.setupUi(this); // Create text color for the file and wiki links createLinkColor(); @@ -194,6 +195,12 @@ DlgPrefController::DlgPrefController( m_ui.labelHidUsagePageValue->setVisible(true); m_ui.labelHidUsage->setVisible(true); m_ui.labelHidUsageValue->setVisible(true); + + // Create HID report tabs + m_hidReportTabsManager = + std::make_unique( + m_ui.controllerTabs, hidController); + m_hidReportTabsManager->createReportTypeTabs(); } else #endif { @@ -1161,7 +1168,7 @@ void DlgPrefController::showMapping(std::shared_ptr pMa } #endif - // Inputs tab + // MIDI Inputs tab ControllerInputMappingTableModel* pInputModel = new ControllerInputMappingTableModel(this, m_pControlPickerMenu, @@ -1189,7 +1196,7 @@ void DlgPrefController::showMapping(std::shared_ptr pMa // Trigger search when the model was recreated after hitting Apply slotInputControlSearch(); - // Outputs tab + // MIDI Outputs tab ControllerOutputMappingTableModel* pOutputModel = new ControllerOutputMappingTableModel(this, m_pControlPickerMenu, diff --git a/src/controllers/dlgprefcontroller.h b/src/controllers/dlgprefcontroller.h index 518c9ab6ad40..4383cf2042dc 100644 --- a/src/controllers/dlgprefcontroller.h +++ b/src/controllers/dlgprefcontroller.h @@ -2,6 +2,7 @@ #include +#include "controllers/controllerhidreporttabsmanager.h" #include "controllers/controllermappinginfo.h" #include "controllers/midi/midimessage.h" #include "controllers/ui_dlgprefcontrollerdlg.h" @@ -147,4 +148,6 @@ class DlgPrefController : public DlgPreferencePage { int m_settingsTabIndex; // Index of the settings tab int m_screensTabIndex; // Index of the screens tab QHash m_settingsCollapsedStates; + + std::unique_ptr m_hidReportTabsManager; }; diff --git a/src/controllers/hid/hidcontroller.cpp b/src/controllers/hid/hidcontroller.cpp index d699de35cff4..37e4489594d7 100644 --- a/src/controllers/hid/hidcontroller.cpp +++ b/src/controllers/hid/hidcontroller.cpp @@ -162,7 +162,16 @@ int HidController::open(const QString& resourcePath) { return -1; } - m_pHidIoThread = std::make_unique(pHidDevice, m_deviceInfo); + m_rawReportDescriptor = m_deviceInfo.fetchRawReportDescriptor(pHidDevice); + + if (m_rawReportDescriptor.has_value()) { + m_reportDescriptor = hid::reportDescriptor::HIDReportDescriptor( + m_rawReportDescriptor->data(), m_rawReportDescriptor->size()); + m_reportDescriptor->parse(); + m_deviceHasReportIds = m_reportDescriptor->isDeviceWithReportIds(); + } + + m_pHidIoThread = std::make_unique(pHidDevice, m_deviceInfo, m_deviceHasReportIds); m_pHidIoThread->setObjectName(QStringLiteral("HidIoThread ") + getName()); connect(m_pHidIoThread.get(), diff --git a/src/controllers/hid/hidcontroller.h b/src/controllers/hid/hidcontroller.h index e8a5f9b79f2d..383503eb9341 100644 --- a/src/controllers/hid/hidcontroller.h +++ b/src/controllers/hid/hidcontroller.h @@ -3,6 +3,7 @@ #include "controllers/controller.h" #include "controllers/hid/hiddevice.h" #include "controllers/hid/hidiothread.h" +#include "controllers/hid/hidreportdescriptor.h" #include "controllers/hid/legacyhidcontrollermapping.h" /// HID controller backend @@ -70,6 +71,15 @@ class HidController final : public Controller { QString getUsageDescription() const { return m_deviceInfo.getUsageDescription(); } + + const std::optional& getReportDescriptor() const { + return m_reportDescriptor; + } + + HidIoThread* getHidIoThread() const { + return m_pHidIoThread.get(); + } + bool isMappable() const override { if (!m_pMapping) { return false; @@ -87,7 +97,11 @@ class HidController final : public Controller { // 0x0. bool sendBytes(const QByteArray& data) override; - const mixxx::hid::DeviceInfo m_deviceInfo; + mixxx::hid::DeviceInfo m_deviceInfo; + // These optional members are not set before opening the device + std::optional> m_rawReportDescriptor; + std::optional m_reportDescriptor; + std::optional m_deviceHasReportIds; std::unique_ptr m_pHidIoThread; std::unique_ptr m_pMapping; diff --git a/src/controllers/hid/hiddevice.cpp b/src/controllers/hid/hiddevice.cpp index 82576f3aee56..31ea9a4d0b3b 100644 --- a/src/controllers/hid/hiddevice.cpp +++ b/src/controllers/hid/hiddevice.cpp @@ -1,7 +1,5 @@ #include "controllers/hid/hiddevice.h" -#include - #include #include "controllers/controllermappinginfo.h" @@ -54,6 +52,27 @@ DeviceInfo::DeviceInfo(const hid_device_info& device_info) m_serialNumberRaw.data(), m_serialNumberRaw.size())) { } +// We need an opened hid_device here, +// but the lifetime of the data is as long as DeviceInfo exists, +// means the reportDescriptor data remains valid after closing the hid_device +std::optional> DeviceInfo::fetchRawReportDescriptor(hid_device* pHidDevice) { + if (!m_reportDescriptor) { + if (!pHidDevice) { + return std::nullopt; + } + + uint8_t tempReportDescriptor[HID_API_MAX_REPORT_DESCRIPTOR_SIZE]; + int descriptorSize = hid_get_report_descriptor(pHidDevice, + tempReportDescriptor, + HID_API_MAX_REPORT_DESCRIPTOR_SIZE); + if (descriptorSize > 0) { + m_reportDescriptor = std::vector(tempReportDescriptor, + tempReportDescriptor + descriptorSize); + } + } + return m_reportDescriptor; +} + QString DeviceInfo::formatName() const { // We include the last 4 digits of the serial number and the // interface number to allow the user (and Mixxx!) to keep diff --git a/src/controllers/hid/hiddevice.h b/src/controllers/hid/hiddevice.h index a4a4d52c18d2..233c2d8dc2a9 100644 --- a/src/controllers/hid/hiddevice.h +++ b/src/controllers/hid/hiddevice.h @@ -1,8 +1,12 @@ #pragma once +#include + #include #include +#include #include +#include #include "controllers/controller.h" #include "controllers/hid/hidusagetables.h" @@ -101,6 +105,8 @@ class DeviceInfo final { return mixxx::hid::HidUsageTables::getUsageDescription(usage_page, usage); } + std::optional> fetchRawReportDescriptor(hid_device* pHidDevice); + bool isValid() const { return !getProductString().isNull() && !getSerialNumber().isNull(); } @@ -131,6 +137,8 @@ class DeviceInfo final { QString m_manufacturerString; QString m_productString; QString m_serialNumber; + + std::optional> m_reportDescriptor; }; } // namespace hid diff --git a/src/controllers/hid/hidiothread.cpp b/src/controllers/hid/hidiothread.cpp index 7b0aff2b3aba..989709a02e99 100644 --- a/src/controllers/hid/hidiothread.cpp +++ b/src/controllers/hid/hidiothread.cpp @@ -27,11 +27,13 @@ QString loggingCategoryPrefix(const QString& deviceName) { } } // namespace -HidIoThread::HidIoThread( - hid_device* pHidDevice, const mixxx::hid::DeviceInfo& deviceInfo) +HidIoThread::HidIoThread(hid_device* pHidDevice, + const mixxx::hid::DeviceInfo& deviceInfo, + std::optional deviceHasReportIds) : QThread(), m_deviceInfo(deviceInfo), - // Defining RuntimeLoggingCategories locally in this thread improves runtime performance significiantly + // Defining RuntimeLoggingCategories locally in this thread improves + // runtime performance significantly m_logBase(loggingCategoryPrefix(deviceInfo.formatName())), m_logInput(loggingCategoryPrefix(deviceInfo.formatName()) + QStringLiteral(".input")), @@ -41,6 +43,7 @@ HidIoThread::HidIoThread( m_lastPollSize(0), m_pollingBufferIndex(0), m_hidReadErrorLogged(false), + m_deviceHasReportIds(deviceHasReportIds), m_globalOutputReportFifo(), m_runLoopSemaphore(1) { // Initializing isn't strictly necessary but is good practice. @@ -151,6 +154,22 @@ void HidIoThread::processInputReport(int bytesRead) { emit receive(QByteArray(reinterpret_cast(pCurrentBuffer), bytesRead), mixxx::Time::elapsed()); + + if (m_deviceHasReportIds.has_value() && bytesRead > 0) { + if (m_deviceHasReportIds.value()) { + // Extract the ReportId from the buffer + quint8 reportId = pCurrentBuffer[0]; + emit reportReceived(reportId, + QByteArray( + reinterpret_cast(pCurrentBuffer + 1), + bytesRead - 1)); + } else { + quint8 reportId = 0; + emit reportReceived(reportId, + QByteArray(reinterpret_cast(pCurrentBuffer), + bytesRead)); + } + } } QByteArray HidIoThread::getInputReport(quint8 reportID) { diff --git a/src/controllers/hid/hidiothread.h b/src/controllers/hid/hidiothread.h index f0cece04a144..9819a661d6fa 100644 --- a/src/controllers/hid/hidiothread.h +++ b/src/controllers/hid/hidiothread.h @@ -24,7 +24,8 @@ class HidIoThread : public QThread { Q_OBJECT public: HidIoThread(hid_device* pDevice, - const mixxx::hid::DeviceInfo& deviceInfo); + const mixxx::hid::DeviceInfo& deviceInfo, + std::optional deviceHasReportIds); ~HidIoThread() override; void run() override; @@ -52,6 +53,7 @@ class HidIoThread : public QThread { signals: /// Signals that a HID InputReport received by Interrupt triggered from HID device void receive(const QByteArray& data, mixxx::Duration timestamp); + void reportReceived(quint8 reportId, const QByteArray& data); private: bool sendNextCachedOutputReport(); @@ -81,6 +83,8 @@ class HidIoThread : public QThread { int m_pollingBufferIndex; bool m_hidReadErrorLogged; + std::optional m_deviceHasReportIds; + /// Must be locked when a operation changes the size of the m_outputReports map, /// or when modify the m_outputReportIterator QMutex m_outputReportMapMutex; diff --git a/src/controllers/hid/hidreportdescriptor.cpp b/src/controllers/hid/hidreportdescriptor.cpp new file mode 100644 index 000000000000..809a2b2d82b0 --- /dev/null +++ b/src/controllers/hid/hidreportdescriptor.cpp @@ -0,0 +1,541 @@ +#include "controllers/hid/hidreportdescriptor.h" + +#include +#include + +#include "moc_hidreportdescriptor.cpp" +#include "util/assert.h" + +namespace hid::reportDescriptor { + +/// Extracts the value of the specified control in logical scale, +/// from the given report data +int32_t extractLogicalValue(const QByteArray& reportData, const Control& control) { + VERIFY_OR_DEBUG_ASSERT(control.m_bitSize > 0 && control.m_bitSize <= 32) { + return control.m_logicalMinimum; // Safe value in allowed range + } + + uint8_t numberOfBytesToCopy = ((control.m_bitPosition + control.m_bitSize - 1) / 8) + 1; + + int64_t value = 0; + std::memcpy(&value, reportData.data() + control.m_bytePosition, numberOfBytesToCopy); + + value >>= control.m_bitPosition; + + bool isSigned = control.m_logicalMinimum < 0; + // Mask out the bits that are not part of the control + if (isSigned) { + bool isNegative = value & (1ULL << (control.m_bitSize - 1)); + value &= (1ULL << (control.m_bitSize - 1)) - 1; + if (isNegative) { + value = ((1ULL << (control.m_bitSize - 1)) - value) * -1; + } + } else { + value &= (1ULL << control.m_bitSize) - 1; + } + + return value; +} + +/// Sets the bits in the report data of the specified control, +/// to the given value in logical scale +bool applyLogicalValue(QByteArray& reportData, const Control& control, int32_t controlValue) { + VERIFY_OR_DEBUG_ASSERT(control.m_bitSize > 0 && control.m_bitSize <= 32) { + return false; + } + + if (control.m_flags.no_null_null) { + // Nullable controls allow any possible value in the bitrange + if (control.m_logicalMinimum < 0) { + if (controlValue < -std::pow(2, control.m_bitSize - 1) || + controlValue > std::pow(2, control.m_bitSize - 1) - 1) { + return false; + } + } else { + if (controlValue < 0 || controlValue > std::pow(2, control.m_bitSize)) { + return false; + } + } + } else { + // Non-Nullable controls only allow values in the logical range + if (controlValue < control.m_logicalMinimum || controlValue > control.m_logicalMaximum) { + return false; + } + } + + uint64_t mask = ((1ULL << control.m_bitSize) - 1) << control.m_bitPosition; + uint64_t value = (static_cast(controlValue) << control.m_bitPosition) & mask; + + // Check if the value fits into the data (position + bitSize) + uint8_t lastByteToCopy = control.m_bytePosition + + (control.m_bitPosition + control.m_bitSize - 1) / 8; + + if (lastByteToCopy >= reportData.size()) { + return false; + } + + for (uint8_t byteIdx = control.m_bytePosition; byteIdx <= lastByteToCopy; ++byteIdx) { + // Clear the bits that are part of the control + reportData[byteIdx] &= ~static_cast(mask & 0xFF); + // Set the new value + reportData[byteIdx] |= static_cast(value & 0xFF); + mask >>= 8; + value >>= 8; + } + + return true; +} + +QString getScaledUnitString(uint32_t unit) { + struct UnitInfo { + const char* physicalQuantity[5]; + }; + + const UnitInfo unitInfos[] = { + {"", "cm", "radian", "inch", "degree"}, + {"", "g", "g", "slug", "slug"}, // mass + {"", "s", "s", "s", "s"}, // time + {"", "K", "K", "°F", "°F"}, // temperature + {"", "A", "A", "A", "A"}, // current + {"", "cd", "cd", "cd", "cd"} // luminous intensity + }; + + int8_t exponents[] = {0, 1, 2, 3, 4, 5, 6, 7, -8, -7, -6, -5, -4, -3, -2, -1}; + + QString unitString; + + auto appendQuantity = [&](int shift, const UnitInfo& unitInfo) { + int8_t value = (unit >> shift) & 0xF; + if (value != 0) { + if (!unitString.isEmpty()) { + unitString += "*"; + } + unitString += unitInfo.physicalQuantity[(unit & 0xF)]; + if (exponents[value] != 1) { + unitString += "^" + QString::number(exponents[value]); + } + } + }; + + for (int quantityIdx = 0; quantityIdx < 6; ++quantityIdx) { + appendQuantity(4 + quantityIdx * 4, unitInfos[quantityIdx]); + } + + return unitString; +} + +// Class for Controls + +Control::Control(const ControlFlags flags, + const uint32_t usage, + const int32_t logicalMinimum, + const int32_t logicalMaximum, + const int32_t physicalMinimum, + const int32_t physicalMaximum, + const int8_t unitExponent, + const uint32_t unit, + const uint16_t bytePosition, + const uint8_t bitPosition, + const uint8_t bitSize) + : m_flags(flags), + m_usage(usage), + m_logicalMinimum(logicalMinimum), + m_logicalMaximum(logicalMaximum), + m_physicalMinimum(physicalMinimum), + m_physicalMaximum(physicalMaximum), + m_unitExponent(unitExponent), + m_unit(unit), + m_bytePosition(bytePosition), + m_bitPosition(bitPosition), + m_bitSize(bitSize) { +} + +Report::Report(const HidReportType& reportType, const uint8_t& reportId) + : m_reportType(reportType), + m_reportId(reportId), + m_lastBytePosition(0), + m_lastBitPosition(0) { +} + +void Report::addControl(const Control& item) { + m_controls.push_back(item); +} + +void Report::increasePosition(unsigned int bitSize) { + // Calculate the new bit position + m_lastBitPosition += bitSize; + + // If the bit position exceeds 8 bits, adjust the byte position + m_lastBytePosition += m_lastBitPosition / 8; + m_lastBitPosition %= 8; +} + +// Class for Collections +void Collection::addReport(const Report& report) { + m_reports.push_back(report); +} +const Report* Collection::getReport( + const HidReportType& reportType, const uint8_t& reportId) const { + for (auto& report : m_reports) { + if (report.m_reportType == reportType && report.m_reportId == reportId) { + return &report; + } + } + return nullptr; +} + +// HID Report Descriptor Parser +HIDReportDescriptor::HIDReportDescriptor(const uint8_t* data, size_t length) + : m_data(data), + m_length(length), + m_pos(0), + m_deviceHasReportIds(kNotSet), + m_collectionLevel(0) { +} + +std::pair HIDReportDescriptor::readTag() { + uint8_t byte = m_data[m_pos++]; + + VERIFY_OR_DEBUG_ASSERT(byte != + static_cast(HidItemSize::LongItemKeyword)){ + // Long items are only reserved for future use, they can't be used + // according to HID class definition 1.11 + }; + + HidItemTag tag = static_cast( + byte & static_cast(HidItemTag::AllTagBitsMask)); + HidItemSize size = static_cast( + byte & static_cast(HidItemSize::AllSizeBitsMask)); + + return {tag, size}; +} + +uint32_t HIDReportDescriptor::readPayload(HidItemSize payloadSize) { + uint32_t payload; + + switch (payloadSize) { + case HidItemSize::ZeroBytePayload: + return 0; + case HidItemSize::OneBytePayload: + VERIFY_OR_DEBUG_ASSERT(m_pos + 1 <= m_length) { + return 0; + } + return m_data[m_pos++]; + case HidItemSize::TwoBytePayload: + VERIFY_OR_DEBUG_ASSERT(m_pos + 2 <= m_length) { + return 0; + } + payload = m_data[m_pos++]; + payload |= m_data[m_pos++] << 8; + return payload; + case HidItemSize::FourBytePayload: + VERIFY_OR_DEBUG_ASSERT(m_pos + 4 <= m_length) { + return 0; + } + payload = m_data[m_pos++]; + payload |= m_data[m_pos++] << 8; + payload |= m_data[m_pos++] << 16; + payload |= m_data[m_pos++] << 24; + return payload; + default: + DEBUG_ASSERT(true); + return 0; + } +} + +int32_t HIDReportDescriptor::getSignedValue(uint32_t payload, HidItemSize payloadSize) { + switch (payloadSize) { + case HidItemSize::ZeroBytePayload: + return 0; + case HidItemSize::OneBytePayload: + if (payload & 0x80) { // Check if the sign bit is set + return static_cast(payload | 0xFFFFFF00); // Sign extend to 32 bits + } + return static_cast(payload); + case HidItemSize::TwoBytePayload: + if (payload & 0x8000) { // Check if the sign bit is set + return static_cast(payload | 0xFFFF0000); // Sign extend to 32 bits + } + return static_cast(payload); + case HidItemSize::FourBytePayload: + return static_cast(payload); // Already 32 bits, no need to sign extend + default: + DEBUG_ASSERT(true); + return 0; + } +} + +uint32_t HIDReportDescriptor::getDecodedUsage( + uint16_t usagePage, uint32_t usage, HidItemSize usageSize) { + switch (usageSize) { + case HidItemSize::ZeroBytePayload: + return usagePage << 16; + case HidItemSize::OneBytePayload: + case HidItemSize::TwoBytePayload: + return (usagePage << 16) + usage; + case HidItemSize::FourBytePayload: + return usage; // Full 32bit usage superseds Usage Page + default: + DEBUG_ASSERT(true); + return usagePage << 16; + } +} + +HidReportType HIDReportDescriptor::getReportType(HidItemTag tag) { + switch (tag) { + case HidItemTag::Input: + return HidReportType::Input; + case HidItemTag::Output: + return HidReportType::Output; + break; + case HidItemTag::Feature: + return HidReportType::Feature; + default: + DEBUG_ASSERT(true); + return HidReportType::Input; // Dummy value for error case + } +} + +Collection HIDReportDescriptor::parse() { + Collection collection; // Top level collection + std::unique_ptr currentReport = nullptr; // Use a unique_ptr for currentReport + + // Global item values + GlobalItems globalItems; + + // Local item values + LocalItems localItems; + + while (m_pos < m_length) { + auto [tag, size] = readTag(); + auto payload = readPayload(size); + + switch (tag) { + // Global Items + case HidItemTag::UsagePage: + globalItems.usagePage = payload; + break; + case HidItemTag::LogicalMinimum: + globalItems.logicalMinimum = getSignedValue(payload, size); + break; + case HidItemTag::LogicalMaximum: + globalItems.logicalMaximum = getSignedValue(payload, size); + break; + case HidItemTag::PhysicalMinimum: + globalItems.physicalMinimum = getSignedValue(payload, size); + break; + case HidItemTag::PhysicalMaximum: + globalItems.physicalMaximum = getSignedValue(payload, size); + break; + case HidItemTag::UnitExponent: + // HID class definition restricts the unit exponent range to -8 to +7 + globalItems.unitExponent = static_cast(payload & 0x0F); + if (globalItems.unitExponent >= 8) { + globalItems.unitExponent -= 16; + } + break; + case HidItemTag::Unit: + globalItems.unit = payload; + break; + case HidItemTag::ReportSize: + globalItems.reportSize = payload; + break; + case HidItemTag::ReportId: + globalItems.reportId = static_cast(payload); + break; + case HidItemTag::ReportCount: + globalItems.reportCount = payload; + break; + case HidItemTag::Push: + // Places a copy of the global item state table on the stack + globalItemsStack.push_back(globalItems); + break; + case HidItemTag::Pop: + // Replaces the item state table with the top structure from the stack + VERIFY_OR_DEBUG_ASSERT(!globalItemsStack.empty()) { + globalItems = globalItemsStack.back(); + globalItemsStack.pop_back(); + } + break; + + // Local Items + case HidItemTag::Usage: + localItems.Usage.push_back(getDecodedUsage(globalItems.usagePage, payload, size)); + break; + case HidItemTag::UsageMinimum: + localItems.UsageMinimum = getDecodedUsage(globalItems.usagePage, payload, size); + break; + case HidItemTag::UsageMaximum: + localItems.UsageMaximum = getDecodedUsage(globalItems.usagePage, payload, size); + break; + case HidItemTag::DesignatorIndex: + localItems.DesignatorIndex = payload; + break; + case HidItemTag::DesignatorMinimum: + localItems.DesignatorMinimum = payload; + break; + case HidItemTag::DesignatorMaximum: + localItems.DesignatorMaximum = payload; + break; + case HidItemTag::StringIndex: + localItems.StringIndex = payload; + break; + case HidItemTag::StringMinimum: + localItems.StringMinimum = payload; + break; + case HidItemTag::StringMaximum: + localItems.StringMaximum = payload; + break; + case HidItemTag::Delimiter: + localItems.Delimiter = payload; + break; + + // Main Items + case HidItemTag::Input: + case HidItemTag::Output: + case HidItemTag::Feature: { + if (currentReport == nullptr) { + // First control of this device + if (globalItems.reportId == kNoReportId) { + m_deviceHasReportIds = false; + } else { + m_deviceHasReportIds = true; + } + currentReport = std::make_unique(getReportType(tag), globalItems.reportId); + } else if (currentReport->m_reportType != getReportType(tag) || + globalItems.reportId != currentReport->m_reportId) { + // First control of a new report + collection.addReport(*currentReport); + currentReport = std::make_unique(getReportType(tag), globalItems.reportId); + } + + int32_t physicalMinimum, physicalMaximum; + if (globalItems.physicalMinimum == 0 && globalItems.physicalMaximum == 0) { + // According remark in chapter 6.2.2.7 of HID class definition 1.11 + physicalMinimum = globalItems.logicalMinimum; + physicalMaximum = globalItems.logicalMaximum; + } else { + physicalMinimum = globalItems.physicalMinimum; + physicalMaximum = globalItems.physicalMaximum; + } + + ControlFlags flags; + flags.payload = payload; + + if (flags.data_constant == 1) { + // Constant value padding - Usually for byte alignment + currentReport->increasePosition(globalItems.reportSize * globalItems.reportCount); + } else if (flags.array_variable == 0) { + // Array (e.g. list of pressed keys of a computer keyboard) + // NOT IMPLEMENTED as not relevant for mapping wizard, + // but could be implemented by overloaded Control class + currentReport->increasePosition(globalItems.reportSize * globalItems.reportCount); + } else { + // Normal variable control + uint32_t usage = 0; + unsigned int numOfControls = + (localItems.UsageMinimum != kNotSet && + localItems.UsageMaximum != kNotSet) + ? localItems.UsageMaximum - localItems.UsageMinimum + 1 + : globalItems.reportCount; + for (unsigned int controlIdx = 0; + controlIdx < numOfControls; + controlIdx++) { + if (localItems.UsageMinimum != kNotSet && localItems.UsageMaximum != kNotSet) { + if (controlIdx == 0) { + usage = localItems.UsageMinimum; + } else if (usage < localItems.UsageMaximum) { + usage++; + } + } else if (!localItems.Usage.empty()) { + // If there are less usages than reportCount, + // the last usage value is valid for the remaining + usage = localItems.Usage.front(); + localItems.Usage.erase(localItems.Usage.begin()); + } + auto [lastBytePos, lastBitPos] = currentReport->getLastPosition(); + + Control control(flags, + usage, + globalItems.logicalMinimum, + globalItems.logicalMaximum, + physicalMinimum, + physicalMaximum, + globalItems.unitExponent, + globalItems.unit, + lastBytePos, + lastBitPos, + globalItems.reportSize); + currentReport->addControl(control); + currentReport->increasePosition(globalItems.reportSize); + } + currentReport->increasePosition( + (globalItems.reportCount - numOfControls) * + globalItems.reportSize); + } + + localItems = LocalItems(); + break; + } + + case HidItemTag::Collection: + m_collectionLevel++; + + // We only handle top-level-collections + // according to chapter 8.4 "Report Constraints" HID class definition 1.11 + if (m_collectionLevel == 1) { + DEBUG_ASSERT(payload == static_cast(CollectionType::Application)); + } + // Local items are only valid for the actual control definition, reset them + localItems = LocalItems(); + break; + case HidItemTag::EndCollection: + if (m_collectionLevel == 1) { + if (currentReport) { + collection.addReport(*currentReport); + currentReport.reset(); + } + m_topLevelCollections.push_back(collection); + collection = Collection(); + } + if (m_collectionLevel > 0) { + m_collectionLevel--; + } + break; + + default: + DEBUG_ASSERT(true); + break; + } + } + + if (currentReport) { + collection.addReport(*currentReport); + } + + return collection; +} + +const Report* HIDReportDescriptor::getReport( + const HidReportType& reportType, const uint8_t& reportId) const { + for (auto& collection : m_topLevelCollections) { + const Report* report = collection.getReport(reportType, reportId); + if (report != nullptr) { + return report; + } + } + return nullptr; +} + +const std::vector> +HIDReportDescriptor::getListOfReports() const { + std::vector> orderedList; + for (size_t i = 0; i < m_topLevelCollections.size(); ++i) { + for (const auto& report : m_topLevelCollections[i].getReports()) { + orderedList.emplace_back(i, report.m_reportType, report.m_reportId); + } + } + return orderedList; +} + +} // namespace hid::reportDescriptor diff --git a/src/controllers/hid/hidreportdescriptor.h b/src/controllers/hid/hidreportdescriptor.h new file mode 100644 index 000000000000..eee36e8b17d3 --- /dev/null +++ b/src/controllers/hid/hidreportdescriptor.h @@ -0,0 +1,258 @@ +#pragma once + +#include + +#include +#include +#include +#include + +namespace hid::reportDescriptor { + +Q_NAMESPACE + +QString getScaledUnitString(uint32_t unit); + +constexpr int kNotSet = -1; +// Value used instead of the ReportID, if device don't have ReportIDs +constexpr int kNoReportId = 0x00; + +enum class HidReportType { + Input, + Output, + Feature +}; +Q_ENUM_NS(HidReportType) + +// clang-format off +// Enum class for HID Item Tags (incl. the two type bits) +enum class HidItemTag : uint8_t { + // "Main Items" according to chapter 6.2.2.4 of HID class definition 1.11 + Input = 0b1000'00'00, + Output = 0b1001'00'00, + Feature = 0b1011'00'00, + + Collection = 0b1010'00'00, + EndCollection = 0b1100'00'00, + + // "Global Items" according to chapter 6.2.2.7 of HID class definition 1.11 + UsagePage = 0b0000'01'00, + + LogicalMinimum = 0b0001'01'00, + LogicalMaximum = 0b0010'01'00, + PhysicalMinimum = 0b0011'01'00, + PhysicalMaximum = 0b0100'01'00, + + UnitExponent = 0b0101'01'00, + Unit = 0b0110'01'00, + + ReportSize = 0b0111'01'00, + ReportId = 0b1000'01'00, + ReportCount = 0b1001'01'00, + + Push = 0b1010'01'00, + Pop = 0b1011'01'00, + + // "Local Items" according to chapter 6.2.2.8 of HID class definition 1.11 + Usage = 0b0000'10'00, + UsageMinimum = 0b0001'10'00, + UsageMaximum = 0b0010'10'00, + + DesignatorIndex = 0b0011'10'00, + DesignatorMinimum = 0b0100'10'00, + DesignatorMaximum = 0b0101'10'00, + + StringIndex = 0b0111'10'00, + StringMinimum = 0b1000'10'00, + StringMaximum = 0b1001'10'00, + + Delimiter = 0b1010'10'00, + + + AllTagBitsMask = 0b1111'11'00 +}; + +// Enum class for HID Item Sizes +enum class HidItemSize : uint8_t { + // "Short Items" sizes according to chapter 6.2.2.2 of HID class definition 1.11 + ZeroBytePayload = 0b0000'00'00, + OneBytePayload = 0b0000'00'01, + TwoBytePayload = 0b0000'00'10, + FourBytePayload = 0b0000'00'11, + + + // Special value for "Long Items" according to chapter 6.2.2.3 of HID class definition 1.11 + LongItemKeyword = 0b1111'11'10, + + AllSizeBitsMask = 0b0000'00'11 +}; + +// Collection types according to chapter 6.2.2.6 of HID class definition 1.11 +enum class CollectionType : uint8_t { + Physical = 0x00, // e.g. group of axes + Application = 0x01, // e.g. mouse or keyboard + Logical = 0x02, // interrelated data + Report = 0x03, + NamedArray = 0x04, + UsageSwitch = 0x05, + UsageModifier = 0x06, + Reserved = 0x07, // range of 0x07-0x7F + VendorDefined = 0x80 // range of 0x80-0xFF +}; +// clang-format on + +union ControlFlags { + struct { + uint32_t data_constant : 1; // Data (0) | Constant (1) + uint32_t array_variable : 1; // Array (0) | Variable (1) + uint32_t absolute_relative : 1; // Absolute (0) | Relative (1) + uint32_t no_wrap_wrap : 1; // No Wrap (0) | Wrap (1) + uint32_t linear_non_linear : 1; // Linear (0) | Non Linear (1) + uint32_t preferred_no_preferred : 1; // Preferred State (0) | No Preferred (1) + uint32_t no_null_null : 1; // No Null position (0) | Null state(1) + uint32_t non_volatile_volatile : 1; // Non Volatile (0) | Volatile (1) + uint32_t bit_field_buffered : 1; // Bit Field (0) | Buffered Bytes (1) + uint32_t reserved : 23; + }; + uint32_t payload; +}; + +// Class representing a control described in the HID report descriptor +class Control { + public: + Control(const ControlFlags flags, + const uint32_t usage, + const int32_t logicalMinimum, + const int32_t logicalMaximum, + const int32_t physicalMinimum, + const int32_t physicalMaximum, + const int8_t unitExponent, + const uint32_t unit, + const uint16_t bytePosition, // Position of the first byte in the report + const uint8_t bitPosition, // Position of first bit in first byte + const uint8_t bitSize); + + const ControlFlags m_flags; + + const uint32_t m_usage; + const int32_t m_logicalMinimum; + const int32_t m_logicalMaximum; + const int32_t m_physicalMinimum; + const int32_t m_physicalMaximum; + const int8_t m_unitExponent; + const uint32_t m_unit; + const uint16_t m_bytePosition; // Position of the first byte in the report + const uint8_t m_bitPosition; // Position of first bit in first byte + const uint8_t m_bitSize; + + private: +}; + +int32_t extractLogicalValue(const QByteArray& data, const Control& control); +bool applyLogicalValue(QByteArray& data, const Control& control, int32_t controlValue); + +// Class representing a report in the HID report descriptor +class Report { + public: + Report(const HidReportType& reportType, const uint8_t& reportId); + + void addControl(const Control& item); + void increasePosition(unsigned int bitSize); + std::pair getLastPosition() const { + return {m_lastBytePosition, m_lastBitPosition}; + } + + const std::vector& getControls() const { + return m_controls; + } + + const HidReportType m_reportType; + const uint8_t m_reportId; + uint16_t getReportSize() const { + return m_lastBytePosition; + } + + private: + std::vector m_controls; + uint16_t m_lastBytePosition; + uint8_t m_lastBitPosition; // Last bit position inside last byte +}; + +// Class representing a collection of HID items +class Collection { + public: + Collection() = default; + void addReport(const Report& report); + const Report* getReport(const HidReportType& reportType, const uint8_t& reportId) const; + const std::vector& getReports() const { + return m_reports; + } + + private: + std::vector m_reports; +}; + +// Class for parsing HID report descriptors +class HIDReportDescriptor { + public: + HIDReportDescriptor(const uint8_t* data, size_t length); + + bool isDeviceWithReportIds() const { + return m_deviceHasReportIds; + } + + Collection parse(); + const Report* getReport(const HidReportType& reportType, const uint8_t& reportId) const; + const std::vector> getListOfReports() const; + + private: + // Define the struct for global items + struct GlobalItems { + uint16_t usagePage = 0; + int32_t logicalMinimum = 0; + int32_t logicalMaximum = 0; + int32_t physicalMinimum = 0; + int32_t physicalMaximum = 0; + int8_t unitExponent = 0; + uint32_t unit = 0; + uint32_t reportSize = 0; + uint8_t reportId = 0; + uint32_t reportCount = 0; + }; + + struct LocalItems { + std::vector Usage; + int64_t UsageMinimum = kNotSet; + int64_t UsageMaximum = kNotSet; + int64_t DesignatorIndex = kNotSet; + int64_t DesignatorMinimum = kNotSet; + int64_t DesignatorMaximum = kNotSet; + int64_t StringIndex = kNotSet; + int64_t StringMinimum = kNotSet; + int64_t StringMaximum = kNotSet; + int64_t Delimiter = kNotSet; + }; + + std::pair readTag(); + uint32_t readPayload(HidItemSize payloadSize); + + int32_t getSignedValue(uint32_t payload, HidItemSize payloadSize); + uint32_t getDecodedUsage(uint16_t usagePage, uint32_t usage, HidItemSize usageSize); + + HidReportType getReportType(HidItemTag tag); + + const uint8_t* m_data; + size_t m_length; + size_t m_pos; + + bool m_deviceHasReportIds; + + std::vector globalItemsStack; + + unsigned int m_collectionLevel; + std::vector m_topLevelCollections; +}; + +} // namespace hid::reportDescriptor + +Q_DECLARE_METATYPE(hid::reportDescriptor::Control); diff --git a/src/test/controller_hid_reportdescriptor_test.cpp b/src/test/controller_hid_reportdescriptor_test.cpp new file mode 100644 index 000000000000..e83c8145f4fe --- /dev/null +++ b/src/test/controller_hid_reportdescriptor_test.cpp @@ -0,0 +1,281 @@ +#include + +#include + +#include "controllers/hid/hidreportdescriptor.h" + +using namespace hid::reportDescriptor; + +// Example HID report descriptor data + +// clang-format off +uint8_t reportDescriptor[] = { + 0x05, 0x01, // Usage Page (Generic Desktop) + 0x09, 0x02, // Usage (Mouse) + 0xA1, 0x01, // Collection (Application) + 0x09, 0x01, // Usage (Pointer) + 0xA1, 0x00, // Collection (Physical) + 0x05, 0x09, // Usage Page (Button) + 0x19, 0x01, // Usage Minimum (1) + 0x29, 0x03, // Usage Maximum (3) + 0x15, 0x00, // Logical Minimum (0) + 0x25, 0x01, // Logical Maximum (1) + 0x95, 0x03, // Report Count (3) + 0x75, 0x01, // Report Size (1) + 0x81, 0x02, // Input (Data, Variable, Absolute) + 0x95, 0x01, // Report Count (1) + 0x75, 0x05, // Report Size (5) + 0x81, 0x01, // Input (Constant) + 0x05, 0x01, // Usage Page (Generic Desktop) + 0x09, 0x30, // Usage (X) + 0x09, 0x31, // Usage (Y) + 0x15, 0x81, // Logical Minimum (-127) + 0x25, 0x7F, // Logical Maximum (127) + 0x75, 0x08, // Report Size (8) + 0x95, 0x02, // Report Count (2) + 0x81, 0x06, // Input (Data, Variable, Relative) + 0xC0, // End Collection + 0xC0 // End Collection +}; +// clang-format on + +TEST(HidReportDescriptorParserTest, ParseReportDescriptor) { + HIDReportDescriptor parser(reportDescriptor, sizeof(reportDescriptor)); + Collection collection = parser.parse(); + + // Use getListOfReports to get the list of reports + auto reportsList = parser.getListOfReports(); + ASSERT_EQ(reportsList.size(), 1); + + auto [collectionIdx, reportType, reportId] = reportsList[0]; + ASSERT_EQ(collectionIdx, 0); + + // Use getReport to get the report + const Report* report = parser.getReport(reportType, reportId); + ASSERT_NE(report, nullptr); + + // Validate Report fields + ASSERT_EQ(report->m_reportType, reportType); + ASSERT_EQ(report->m_reportId, reportId); + + // Validate all Control fields + const std::vector& controls = report->getControls(); + ASSERT_EQ(controls.size(), 5); + + // Mouse Button 1 + ASSERT_EQ(controls[0].m_usage, 0x0009'0001); + ASSERT_EQ(controls[0].m_logicalMinimum, 0); + ASSERT_EQ(controls[0].m_logicalMaximum, 1); + ASSERT_EQ(controls[0].m_physicalMinimum, 0); + ASSERT_EQ(controls[0].m_physicalMaximum, 1); + ASSERT_EQ(controls[0].m_unitExponent, 0); + ASSERT_EQ(controls[0].m_unit, 0); + ASSERT_EQ(controls[0].m_bytePosition, 0); + ASSERT_EQ(controls[0].m_bitPosition, 0); + ASSERT_EQ(controls[0].m_bitSize, 1); + + // Mouse Button 2 + ASSERT_EQ(controls[1].m_usage, 0x0009'0002); + ASSERT_EQ(controls[1].m_logicalMinimum, 0); + ASSERT_EQ(controls[1].m_logicalMaximum, 1); + ASSERT_EQ(controls[1].m_physicalMinimum, 0); + ASSERT_EQ(controls[1].m_physicalMaximum, 1); + ASSERT_EQ(controls[1].m_unitExponent, 0); + ASSERT_EQ(controls[1].m_unit, 0); + ASSERT_EQ(controls[1].m_bytePosition, 0); + ASSERT_EQ(controls[1].m_bitPosition, 1); + ASSERT_EQ(controls[1].m_bitSize, 1); + + // Mouse Button 3 + ASSERT_EQ(controls[2].m_usage, 0x0009'0003); + ASSERT_EQ(controls[2].m_logicalMinimum, 0); + ASSERT_EQ(controls[2].m_logicalMaximum, 1); + ASSERT_EQ(controls[2].m_physicalMinimum, 0); + ASSERT_EQ(controls[2].m_physicalMaximum, 1); + ASSERT_EQ(controls[2].m_unitExponent, 0); + ASSERT_EQ(controls[2].m_unit, 0); + ASSERT_EQ(controls[2].m_bytePosition, 0); + ASSERT_EQ(controls[2].m_bitPosition, 2); + ASSERT_EQ(controls[2].m_bitSize, 1); + + // Mouse Movement X + ASSERT_EQ(controls[3].m_usage, 0x0001'0030); + ASSERT_EQ(controls[3].m_logicalMinimum, -127); + ASSERT_EQ(controls[3].m_logicalMaximum, 127); + ASSERT_EQ(controls[3].m_physicalMinimum, -127); + ASSERT_EQ(controls[3].m_physicalMaximum, 127); + ASSERT_EQ(controls[3].m_unitExponent, 0); + ASSERT_EQ(controls[3].m_unit, 0); + ASSERT_EQ(controls[3].m_bitSize, 8); + ASSERT_EQ(controls[3].m_bytePosition, 1); + ASSERT_EQ(controls[3].m_bitPosition, 0); + + // Mouse Movement Y + ASSERT_EQ(controls[4].m_usage, 0x0001'0031); + ASSERT_EQ(controls[4].m_logicalMinimum, -127); + ASSERT_EQ(controls[4].m_logicalMaximum, 127); + ASSERT_EQ(controls[4].m_physicalMinimum, -127); + ASSERT_EQ(controls[4].m_physicalMaximum, 127); + ASSERT_EQ(controls[4].m_unitExponent, 0); + ASSERT_EQ(controls[4].m_unit, 0); + ASSERT_EQ(controls[4].m_bitSize, 8); + ASSERT_EQ(controls[4].m_bytePosition, 2); + ASSERT_EQ(controls[4].m_bitPosition, 0); +} + +TEST(HIDReportDescriptorTest, ControlValue_1Bit) { + auto reportData = QByteArray::fromHex("81'00'00'FF'01"); + Control control({{0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, // Flags + 0x0009'0001, // UsagePage/Usage + 0, // LogicalMinimum + 1, // LogicalMaximum + 0, // PhysicalMinimum + 1, // PhysicalMaximum + 0, // UnitExponent + 0, // Unit + 3, // BytePosition + 0, // BitPosition + 1); // BitSize + + int32_t value = extractLogicalValue(reportData, control); + EXPECT_EQ(value, 0x1); + + bool result = applyLogicalValue(reportData, control, 0); + EXPECT_TRUE(result); + EXPECT_EQ(reportData, QByteArray::fromHex("81'00'00'FE'01")); + + int32_t value2 = extractLogicalValue(reportData, control); + EXPECT_EQ(value2, 0x0); +} + +TEST(HIDReportDescriptorTest, ControlValue_unsigned11Bits) { + auto reportData = QByteArray::fromHex("81'30'46'00'01"); + Control control({{0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, // Flags + 0x0009'0001, // UsagePage/Usage + 0, // LogicalMinimum + 2047, // LogicalMaximum + 0, // PhysicalMinimum + 2047, // PhysicalMaximum + 0, // UnitExponent + 0, // Unit + 1, // BytePosition + 2, // BitPosition + 11); // BitSize + + int32_t value = extractLogicalValue(reportData, control); + EXPECT_EQ(value, 0b001'1000'1100); + + bool result = applyLogicalValue(reportData, control, 0b010'1010'1010); + EXPECT_TRUE(result); + EXPECT_EQ(reportData, QByteArray::fromHex("81'A8'4A'00'01")); + + int32_t value2 = extractLogicalValue(reportData, control); + EXPECT_EQ(value2, 0b010'1010'1010); +} + +TEST(HIDReportDescriptorTest, ControlValue_signed11Bits) { + auto reportData = QByteArray::fromHex("AA'BB'CC'DD'EE"); + Control control({{0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, // Flags + 0x0009'0001, // UsagePage/Usage + -1000, // LogicalMinimum + 1000, // LogicalMaximum + -10, // PhysicalMinimum + 10, // PhysicalMaximum + 0, // UnitExponent + 0, // Unit + 2, // BytePosition + 0, // BitPosition + 11); // BitSize + + int32_t value = extractLogicalValue(reportData, control); + EXPECT_EQ(value, -564); + + bool result = applyLogicalValue(reportData, control, +200); + EXPECT_TRUE(result); + EXPECT_EQ(reportData, QByteArray::fromHex("AA'BB'C8'D8'EE")); + + int32_t value2 = extractLogicalValue(reportData, control); + EXPECT_EQ(value2, +200); + + bool result2 = applyLogicalValue(reportData, control, -200); + EXPECT_TRUE(result2); + EXPECT_EQ(reportData, QByteArray::fromHex("AA'BB'38'DF'EE")); + + int32_t value3 = extractLogicalValue(reportData, control); + EXPECT_EQ(value3, -200); +} + +TEST(HIDReportDescriptorTest, ControlValue_unsigned32Bits) { + auto reportData = QByteArray::fromHex("0A'21'43'65'B7"); + Control control({{0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, // Flags + 0x0009'0001, // UsagePage/Usage + 0, // LogicalMinimum + 0x7FFFFFFF, // LogicalMaximum + 0, // PhysicalMinimum + 0x7FFFFFFF, // PhysicalMaximum + 0, // UnitExponent + 0, // Unit + 0, // BytePosition + 4, // BitPosition + 32); // BitSize + + int32_t value = extractLogicalValue(reportData, control); + EXPECT_EQ(value, 0x76'54'32'10); + + bool result = applyLogicalValue(reportData, control, 0x01'23'45'67); + EXPECT_TRUE(result); + EXPECT_EQ(reportData, QByteArray::fromHex("7A'56'34'12'B0")); + + int32_t value2 = extractLogicalValue(reportData, control); + EXPECT_EQ(value2, 0x01'23'45'67); +} + +TEST(HIDReportDescriptorTest, ControlValue_signed32Bits) { + auto reportData = QByteArray::fromHex("0A'21'43'65'B7"); + Control control({{0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, // Flags + 0x0009'0001, // UsagePage/Usage + std::numeric_limits::min(), // LogicalMinimum + std::numeric_limits::max(), // LogicalMaximum + 10, // PhysicalMinimum + 10, // PhysicalMaximum + 0, // UnitExponent + 0, // Unit + 0, // BytePosition + 4, // BitPosition + 32); // BitSize + + int32_t value = extractLogicalValue(reportData, control); + EXPECT_EQ(value, 0x76'54'32'10); + + bool result = applyLogicalValue(reportData, control, std::numeric_limits::min()); + EXPECT_TRUE(result); + EXPECT_EQ(reportData, QByteArray::fromHex("0A'00'00'00'B8")); + + int32_t value2 = extractLogicalValue(reportData, control); + EXPECT_EQ(value2, std::numeric_limits::min()); + + bool result2 = applyLogicalValue(reportData, control, std::numeric_limits::max()); + EXPECT_TRUE(result2); + EXPECT_EQ(reportData, QByteArray::fromHex("FA'FF'FF'FF'B7")); + + int32_t value3 = extractLogicalValue(reportData, control); + EXPECT_EQ(value3, std::numeric_limits::max()); +} + +TEST(HIDReportDescriptorTest, SetControlValue_OutOfRange) { + auto reportData = QByteArray::fromHex("81'00'00'00'01"); + Control control({{0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, // Flags + 0x0009'0001, // UsagePage/Usage + 0, // LogicalMinimum + 2047, // LogicalMaximum + 0, // PhysicalMinimum + 2047, // PhysicalMaximum + 0, // UnitExponent + 0, // Unit + 0, // BytePosition + 0, // BitPosition + 11); // BitSize + + bool result = applyLogicalValue(reportData, control, 3000); + EXPECT_FALSE(result); +} From ebb9ec4fcdef5ebf009162016e4b029a2a68c675 Mon Sep 17 00:00:00 2001 From: Joerg Date: Tue, 13 May 2025 20:29:31 +0200 Subject: [PATCH 086/181] Prefix all pointers with p --- .../controllerhidreporttabsmanager.cpp | 276 +++++++++--------- .../controllerhidreporttabsmanager.h | 19 +- src/controllers/hid/hidreportdescriptor.cpp | 62 ++-- src/controllers/hid/hidreportdescriptor.h | 4 +- .../controller_hid_reportdescriptor_test.cpp | 10 +- 5 files changed, 192 insertions(+), 179 deletions(-) diff --git a/src/controllers/controllerhidreporttabsmanager.cpp b/src/controllers/controllerhidreporttabsmanager.cpp index 37a614b540b6..58dd561f7703 100644 --- a/src/controllers/controllerhidreporttabsmanager.cpp +++ b/src/controllers/controllerhidreporttabsmanager.cpp @@ -12,9 +12,9 @@ #include "moc_controllerhidreporttabsmanager.cpp" ControllerHidReportTabsManager::ControllerHidReportTabsManager( - QTabWidget* parentTabWidget, HidController* hidController) - : m_pParentControllerTab(parentTabWidget), - m_pHidController(hidController) { + QTabWidget* pParentTabWidget, HidController* pHidController) + : m_pParentControllerTab(pParentTabWidget), + m_pHidController(pHidController) { } void ControllerHidReportTabsManager::createReportTypeTabs() { @@ -36,7 +36,7 @@ void ControllerHidReportTabsManager::createReportTypeTabs() { } } -void ControllerHidReportTabsManager::createHidReportTab(QTabWidget* parentReportTypeTab, +void ControllerHidReportTabsManager::createHidReportTab(QTabWidget* pParentReportTypeTab, hid::reportDescriptor::HidReportType reportType) { const auto& reportDescriptorTemp = m_pHidController->getReportDescriptor(); if (!reportDescriptorTemp.has_value()) { @@ -56,65 +56,65 @@ void ControllerHidReportTabsManager::createHidReportTab(QTabWidget* parentReport .rightJustified(2, '0') .toUpper()); - auto* tabWidget = new QWidget(parentReportTypeTab); - auto* layout = new QVBoxLayout(tabWidget); - auto* topWidgetRow = new QHBoxLayout(); + auto* pTabWidget = new QWidget(pParentReportTypeTab); + auto* pLayout = new QVBoxLayout(pTabWidget); + auto* pTopWidgetRow = new QHBoxLayout(); // Create buttons - auto* readButton = new QPushButton(QStringLiteral("Read"), tabWidget); - auto* sendButton = new QPushButton(QStringLiteral("Send"), tabWidget); + auto* pReadButton = new QPushButton(QStringLiteral("Read"), pTabWidget); + auto* pSendButton = new QPushButton(QStringLiteral("Send"), pTabWidget); // Adjust visibility/enable state based on the report type if (reportType == hid::reportDescriptor::HidReportType::Input) { - sendButton->hide(); - readButton->hide(); + pSendButton->hide(); + pReadButton->hide(); } else if (reportType == hid::reportDescriptor::HidReportType::Output) { - readButton->hide(); + pReadButton->hide(); } - topWidgetRow->addWidget(readButton); - topWidgetRow->addWidget(sendButton); - layout->addLayout(topWidgetRow); + pTopWidgetRow->addWidget(pReadButton); + pTopWidgetRow->addWidget(pSendButton); + pLayout->addLayout(pTopWidgetRow); - auto* table = new QTableWidget(tabWidget); - layout->addWidget(table); + auto* pTable = new QTableWidget(pTabWidget); + pLayout->addWidget(pTable); - auto report = reportDescriptor.getReport(reportType, reportId); - if (report) { + auto* pReport = reportDescriptor.getReport(reportType, reportId); + if (pReport) { // Show payload size - auto* sizeLabel = new QLabel(tabWidget); - sizeLabel->setText( + auto* pSizeLabel = new QLabel(pTabWidget); + pSizeLabel->setText( QStringLiteral("Payload Size: %1 bytes") - .arg(report->getReportSize())); - topWidgetRow->insertWidget(0, sizeLabel); + .arg(pReport->getReportSize())); + pTopWidgetRow->insertWidget(0, pSizeLabel); - populateHidReportTable(table, *report, reportType); + populateHidReportTable(pTable, *pReport, reportType); } if (reportType != hid::reportDescriptor::HidReportType::Output) { - connect(readButton, + connect(pReadButton, &QPushButton::clicked, this, - [this, table, reportId, reportType]() { - slotReadReport(table, reportId, reportType); + [this, pTable, reportId, reportType]() { + slotReadReport(pTable, reportId, reportType); }); // Read once on tab creation - slotReadReport(table, reportId, reportType); + slotReadReport(pTable, reportId, reportType); } if (reportType != hid::reportDescriptor::HidReportType::Input) { - connect(sendButton, + connect(pSendButton, &QPushButton::clicked, this, - [this, table, reportId, reportType]() { - slotSendReport(table, reportId, reportType); + [this, pTable, reportId, reportType]() { + slotSendReport(pTable, reportId, reportType); }); } - parentReportTypeTab->addTab(tabWidget, tabName); + pParentReportTypeTab->addTab(pTabWidget, tabName); if (reportType == hid::reportDescriptor::HidReportType::Input) { - // Store the table pointer associated with the reportId - m_reportIdToTableMap[reportId] = table; + // Store the pTable pointer associated with the reportId + m_reportIdToTableMap[reportId] = pTable; } // Connect the signal for the reportId @@ -128,31 +128,31 @@ void ControllerHidReportTabsManager::createHidReportTab(QTabWidget* parentReport } void ControllerHidReportTabsManager::updateTableWithReportData( - QTableWidget* table, + QTableWidget* pTable, const QByteArray& reportData) { // Temporarily disable updates to speed up processing - table->setUpdatesEnabled(false); + pTable->setUpdatesEnabled(false); // Process the report data and update the table - for (int row = 0; row < table->rowCount(); ++row) { - auto* item = table->item(row, 5); // Value column is at index 5 + for (int row = 0; row < pTable->rowCount(); ++row) { + auto* item = pTable->item(row, 5); // Value column is at index 5 if (item) { // Retrieve custom data from the first cell - QVariant customData = table->item(row, 0)->data(Qt::UserRole + 1); + QVariant customData = pTable->item(row, 0)->data(Qt::UserRole + 1); if (customData.isValid()) { - auto control = + auto pControl = static_cast( customData.value()); // Use the custom data as needed int64_t controlValue = hid::reportDescriptor::extractLogicalValue( - reportData, *control); + reportData, *pControl); item->setText(QString::number(controlValue)); } } } - table->setUpdatesEnabled(true); + pTable->setUpdatesEnabled(true); } void ControllerHidReportTabsManager::slotProcessInputReport( @@ -163,16 +163,17 @@ void ControllerHidReportTabsManager::slotProcessInputReport( qWarning() << "No table found for reportId" << reportId; return; } - QTableWidget* table = it->second; + QTableWidget* pTable = it->second; const auto& reportDescriptor = *m_pHidController->getReportDescriptor(); - auto report = reportDescriptor.getReport(hid::reportDescriptor::HidReportType::Input, reportId); - if (report) { - updateTableWithReportData(table, data); + auto pReport = reportDescriptor.getReport( + hid::reportDescriptor::HidReportType::Input, reportId); + if (pReport) { + updateTableWithReportData(pTable, data); } } -void ControllerHidReportTabsManager::slotReadReport(QTableWidget* table, +void ControllerHidReportTabsManager::slotReadReport(QTableWidget* pTable, quint8 reportId, hid::reportDescriptor::HidReportType reportType) { if (!m_pHidController->isOpen()) { @@ -180,37 +181,38 @@ void ControllerHidReportTabsManager::slotReadReport(QTableWidget* table, return; } - HidControllerJSProxy* jsProxy = static_cast(m_pHidController->jsProxy()); - VERIFY_OR_DEBUG_ASSERT(jsProxy) { + HidControllerJSProxy* pJsProxy = + static_cast(m_pHidController->jsProxy()); + VERIFY_OR_DEBUG_ASSERT(pJsProxy) { return; } const auto& reportDescriptor = *m_pHidController->getReportDescriptor(); - auto report = reportDescriptor.getReport(reportType, reportId); - VERIFY_OR_DEBUG_ASSERT(report) { + auto pReport = reportDescriptor.getReport(reportType, reportId); + VERIFY_OR_DEBUG_ASSERT(pReport) { return; } QByteArray reportData; if (reportType == hid::reportDescriptor::HidReportType::Input) { - reportData = jsProxy->getInputReport(reportId); + reportData = pJsProxy->getInputReport(reportId); } else if (reportType == hid::reportDescriptor::HidReportType::Feature) { - reportData = jsProxy->getFeatureReport(reportId); + reportData = pJsProxy->getFeatureReport(reportId); } else { return; } - if (reportData.size() < report->getReportSize()) { + if (reportData.size() < pReport->getReportSize()) { qWarning() << "Failed to get report. Read only " << reportData.size() - << " instead of expected " << report->getReportSize() + << " instead of expected " << pReport->getReportSize() << " bytes."; return; } - updateTableWithReportData(table, reportData); + updateTableWithReportData(pTable, reportData); } -void ControllerHidReportTabsManager::slotSendReport(QTableWidget* table, +void ControllerHidReportTabsManager::slotSendReport(QTableWidget* pTable, quint8 reportId, hid::reportDescriptor::HidReportType reportType) { if (!m_pHidController->isOpen()) { @@ -218,34 +220,35 @@ void ControllerHidReportTabsManager::slotSendReport(QTableWidget* table, return; } - HidControllerJSProxy* jsProxy = static_cast(m_pHidController->jsProxy()); - VERIFY_OR_DEBUG_ASSERT(jsProxy) { + HidControllerJSProxy* pJsProxy = + static_cast(m_pHidController->jsProxy()); + VERIFY_OR_DEBUG_ASSERT(pJsProxy) { return; } const auto& reportDescriptor = *m_pHidController->getReportDescriptor(); - auto report = reportDescriptor.getReport(reportType, reportId); - VERIFY_OR_DEBUG_ASSERT(report) { + auto pReport = reportDescriptor.getReport(reportType, reportId); + VERIFY_OR_DEBUG_ASSERT(pReport) { return; } // Create a QByteArray of the size of the report - QByteArray reportData(report->getReportSize(), 0); + QByteArray reportData(pReport->getReportSize(), 0); // Iterate through each row in the table - for (int row = 0; row < table->rowCount(); ++row) { - auto* item = table->item(row, 5); // Value column is at index 5 + for (int row = 0; row < pTable->rowCount(); ++row) { + auto* item = pTable->item(row, 5); // Value column is at index 5 if (item) { // Retrieve custom data from the first cell - QVariant customData = table->item(row, 0)->data(Qt::UserRole + 1); + QVariant customData = pTable->item(row, 0)->data(Qt::UserRole + 1); if (customData.isValid()) { - auto control = + auto pControl = reinterpret_cast( customData.value()); // Set the control value in the reportData bool success = hid::reportDescriptor::applyLogicalValue( - reportData, *control, item->text().toLongLong()); + reportData, *pControl, item->text().toLongLong()); if (!success) { qWarning() << "Failed to set control value for row" << row; continue; @@ -256,26 +259,26 @@ void ControllerHidReportTabsManager::slotSendReport(QTableWidget* table, // Send the reportData if (reportType == hid::reportDescriptor::HidReportType::Feature) { - jsProxy->sendFeatureReport(reportId, reportData); + pJsProxy->sendFeatureReport(reportId, reportData); } else if (reportType == hid::reportDescriptor::HidReportType::Output) { - jsProxy->sendOutputReport(reportId, reportData); + pJsProxy->sendOutputReport(reportId, reportData); } } void ControllerHidReportTabsManager::populateHidReportTable( - QTableWidget* table, - const hid::reportDescriptor::Report& report, + QTableWidget* pTable, + const hid::reportDescriptor::Report& pReport, hid::reportDescriptor::HidReportType reportType) { // Temporarily disable updates to speed up populating - table->setUpdatesEnabled(false); + pTable->setUpdatesEnabled(false); // Reserve rows up-front - const auto& controls = report.getControls(); - table->setRowCount(static_cast(controls.size())); + const auto& controls = pReport.getControls(); + pTable->setRowCount(static_cast(controls.size())); // Set the delegate once if needed if (reportType != hid::reportDescriptor::HidReportType::Input) { - table->setItemDelegateForColumn(5, new ValueItemDelegate(table)); + pTable->setItemDelegateForColumn(5, new ValueItemDelegate(pTable)); } bool showVolatileColumn = (reportType == hid::reportDescriptor::HidReportType::Feature || @@ -302,9 +305,9 @@ void ControllerHidReportTabsManager::populateHidReportTable( } headers << QStringLiteral("Usage Page") << QStringLiteral("Usage"); - table->setColumnCount(headers.size()); - table->setHorizontalHeaderLabels(headers); - table->verticalHeader()->setVisible(false); + pTable->setColumnCount(headers.size()); + pTable->setHorizontalHeaderLabels(headers); + pTable->verticalHeader()->setVisible(false); // Helpers auto createReadOnlyItem = [](const QString& text, bool rightAlign = false) { @@ -330,90 +333,99 @@ void ControllerHidReportTabsManager::populateHidReportTable( }; int row = 0; - for (const auto& control : controls) { + for (const auto& pControl : controls) { // Column 0 - Byte Position auto* bytePositionItem = createReadOnlyItem(QStringLiteral("0x%1").arg(QString::number( - control.m_bytePosition, 16) + pControl.m_bytePosition, 16) .rightJustified(2, '0') .toUpper()), true); - table->setItem(row, 0, bytePositionItem); + pTable->setItem(row, 0, bytePositionItem); // Store custom data for the row in the first cell bytePositionItem->setData(Qt::UserRole + 1, QVariant::fromValue(reinterpret_cast( const_cast( - &control)))); + &pControl)))); // Column 1 - Bit Position - table->setItem(row, 1, createReadOnlyItem(QString::number(control.m_bitPosition), true)); + pTable->setItem(row, 1, createReadOnlyItem(QString::number(pControl.m_bitPosition), true)); // Column 2 - Bit Size - table->setItem(row, 2, createReadOnlyItem(QString::number(control.m_bitSize), true)); + pTable->setItem(row, 2, createReadOnlyItem(QString::number(pControl.m_bitSize), true)); // Column 3 - Logical Min - table->setItem(row, 3, createReadOnlyItem(QString::number(control.m_logicalMinimum), true)); + pTable->setItem(row, + 3, + createReadOnlyItem( + QString::number(pControl.m_logicalMinimum), true)); // Column 4 - Logical Max - table->setItem(row, 4, createReadOnlyItem(QString::number(control.m_logicalMaximum), true)); + pTable->setItem(row, + 4, + createReadOnlyItem( + QString::number(pControl.m_logicalMaximum), true)); // Column 5 - Value - table->setItem(row, 5, createValueItem(control.m_logicalMinimum, control.m_logicalMaximum)); + pTable->setItem(row, + 5, + createValueItem( + pControl.m_logicalMinimum, pControl.m_logicalMaximum)); // Column 6 - Physical Min - table->setItem(row, + pTable->setItem(row, 6, createReadOnlyItem( - QString::number(control.m_physicalMinimum), true)); + QString::number(pControl.m_physicalMinimum), true)); // Column 7 - Physical Max - table->setItem(row, + pTable->setItem(row, 7, createReadOnlyItem( - QString::number(control.m_physicalMaximum), true)); + QString::number(pControl.m_physicalMaximum), true)); // Column 8 - Unit Scaling - table->setItem(row, + pTable->setItem(row, 8, - createReadOnlyItem(control.m_unitExponent != 0 + createReadOnlyItem(pControl.m_unitExponent != 0 ? QStringLiteral("10^%1").arg( - control.m_unitExponent) + pControl.m_unitExponent) : QString(), true)); // Column 9 - Unit - table->setItem(row, + pTable->setItem(row, 9, createReadOnlyItem(hid::reportDescriptor::getScaledUnitString( - control.m_unit))); + pControl.m_unit))); // Column 10 - Abs/Rel - table->setItem(row, + pTable->setItem(row, 10, - createReadOnlyItem(control.m_flags.absolute_relative + createReadOnlyItem(pControl.m_flags.absolute_relative ? QStringLiteral("Relative") : QStringLiteral("Absolute"))); // Column 11 - Wrap - table->setItem(row, + pTable->setItem(row, 11, - createReadOnlyItem(control.m_flags.no_wrap_wrap + createReadOnlyItem(pControl.m_flags.no_wrap_wrap ? QStringLiteral("Wrap") : QStringLiteral("No Wrap"))); // Column 12 - Linear - table->setItem(row, + pTable->setItem(row, 12, - createReadOnlyItem(control.m_flags.linear_non_linear + createReadOnlyItem(pControl.m_flags.linear_non_linear ? QStringLiteral("Non Linear") : QStringLiteral("Linear"))); // Column 13 - Preferred - table->setItem(row, + pTable->setItem(row, 13, - createReadOnlyItem(control.m_flags.preferred_no_preferred + createReadOnlyItem(pControl.m_flags.preferred_no_preferred ? QStringLiteral("No Preferred") : QStringLiteral("Preferred"))); // Column 14 - Null - table->setItem(row, + pTable->setItem(row, 14, - createReadOnlyItem(control.m_flags.no_null_null + createReadOnlyItem(pControl.m_flags.no_null_null ? QStringLiteral("Null") : QStringLiteral("No Null"))); // Volatile column (if present) int volatileIndex = (showVolatileColumn ? 15 : -1); if (volatileIndex != -1) { - table->setItem(row, + pTable->setItem(row, volatileIndex, - createReadOnlyItem(control.m_flags.non_volatile_volatile + createReadOnlyItem(pControl.m_flags.non_volatile_volatile ? QStringLiteral("Volatile") : QStringLiteral("Non Volatile"))); } @@ -421,15 +433,15 @@ void ControllerHidReportTabsManager::populateHidReportTable( // Usage Page / Usage int usagePageIdx = showVolatileColumn ? 16 : 15; int usageDescIdx = showVolatileColumn ? 17 : 16; - uint16_t usagePage = static_cast((control.m_usage & 0xFFFF0000) >> 16); - uint16_t usage = static_cast(control.m_usage & 0x0000FFFF); + uint16_t usagePage = static_cast((pControl.m_usage & 0xFFFF0000) >> 16); + uint16_t usage = static_cast(pControl.m_usage & 0x0000FFFF); - table->setItem(row, + pTable->setItem(row, usagePageIdx, createReadOnlyItem( mixxx::hid::HidUsageTables::getUsagePageDescription( usagePage))); - table->setItem(row, + pTable->setItem(row, usageDescIdx, createReadOnlyItem( mixxx::hid::HidUsageTables::getUsageDescription( @@ -439,50 +451,50 @@ void ControllerHidReportTabsManager::populateHidReportTable( } // Resize columns to contents once, store width and set column width fixed for performance - for (int colIdx = 0; colIdx < table->columnCount(); ++colIdx) { - table->horizontalHeader()->setSectionResizeMode(colIdx, QHeaderView::ResizeToContents); + for (int colIdx = 0; colIdx < pTable->columnCount(); ++colIdx) { + pTable->horizontalHeader()->setSectionResizeMode(colIdx, QHeaderView::ResizeToContents); } - QVector columnWidths(table->columnCount()); - for (int colIdx = 0; colIdx < table->columnCount(); ++colIdx) { - columnWidths[colIdx] = table->columnWidth(colIdx); + QVector columnWidths(pTable->columnCount()); + for (int colIdx = 0; colIdx < pTable->columnCount(); ++colIdx) { + columnWidths[colIdx] = pTable->columnWidth(colIdx); } // Set the width of the value column (5) to fit 11 digits (int32 minimum in decimal) - QFontMetrics metrics(table->font()); + QFontMetrics metrics(pTable->font()); int width = metrics.horizontalAdvance(QStringLiteral("0").repeated(11)); columnWidths[5] = width; - for (int colIdx = 0; colIdx < table->columnCount(); ++colIdx) { - table->horizontalHeader()->setSectionResizeMode(colIdx, QHeaderView::Fixed); - table->setColumnWidth(colIdx, columnWidths[colIdx]); + for (int colIdx = 0; colIdx < pTable->columnCount(); ++colIdx) { + pTable->horizontalHeader()->setSectionResizeMode(colIdx, QHeaderView::Fixed); + pTable->setColumnWidth(colIdx, columnWidths[colIdx]); } - table->setUpdatesEnabled(true); + pTable->setUpdatesEnabled(true); } -QWidget* ValueItemDelegate::createEditor(QWidget* parent, +QWidget* ValueItemDelegate::createEditor(QWidget* pParent, const QStyleOptionViewItem&, const QModelIndex& index) const { // Create a line edit restricted by (logical min, logical max) auto dataRange = index.data(Qt::UserRole).value>(); - auto* editor = new QLineEdit(parent); - editor->setValidator(new QIntValidator(dataRange.first, dataRange.second, editor)); - return editor; + auto* pEditor = new QLineEdit(pParent); + pEditor->setValidator(new QIntValidator(dataRange.first, dataRange.second, pEditor)); + return pEditor; } -void ValueItemDelegate::setModelData(QWidget* editor, - QAbstractItemModel* model, +void ValueItemDelegate::setModelData(QWidget* pEditor, + QAbstractItemModel* pModel, const QModelIndex& index) const { - auto* lineEdit = qobject_cast(editor); - if (!lineEdit) { + auto* pLineEdit = qobject_cast(pEditor); + if (!pLineEdit) { return; } // Confirm the text is an integer within the expected range bool ok = false; - const int value = lineEdit->text().toInt(&ok); + const int value = pLineEdit->text().toInt(&ok); if (ok) { auto dataRange = index.data(Qt::UserRole).value>(); if (value >= dataRange.first && value <= dataRange.second) { - model->setData(index, value, Qt::EditRole); + pModel->setData(index, value, Qt::EditRole); } } } diff --git a/src/controllers/controllerhidreporttabsmanager.h b/src/controllers/controllerhidreporttabsmanager.h index 638075a95ad0..a8b23aa1dd4f 100644 --- a/src/controllers/controllerhidreporttabsmanager.h +++ b/src/controllers/controllerhidreporttabsmanager.h @@ -12,19 +12,20 @@ class ControllerHidReportTabsManager : public QObject { Q_OBJECT public: - ControllerHidReportTabsManager(QTabWidget* parentTabWidget, HidController* hidController); + ControllerHidReportTabsManager(QTabWidget* pParentTabWidget, HidController* pHidController); void createReportTypeTabs(); - void createHidReportTab(QTabWidget* parentTab, hid::reportDescriptor::HidReportType reportType); - void slotSendReport(QTableWidget* table, + void createHidReportTab(QTabWidget* pParentTab, + hid::reportDescriptor::HidReportType reportType); + void slotSendReport(QTableWidget* pTable, quint8 reportId, hid::reportDescriptor::HidReportType reportType); - void populateHidReportTable(QTableWidget* table, + void populateHidReportTable(QTableWidget* pTable, const hid::reportDescriptor::Report& report, hid::reportDescriptor::HidReportType reportType); private slots: - void slotReadReport(QTableWidget* table, + void slotReadReport(QTableWidget* pTable, quint8 reportId, hid::reportDescriptor::HidReportType reportType); @@ -32,7 +33,7 @@ class ControllerHidReportTabsManager : public QObject { void slotProcessInputReport(quint8 reportId, const QByteArray& reportData); private: - void updateTableWithReportData(QTableWidget* table, const QByteArray& reportData); + void updateTableWithReportData(QTableWidget* pTable, const QByteArray& reportData); QTabWidget* m_pParentControllerTab; HidController* m_pHidController; std::unordered_map m_reportIdToTableMap; @@ -42,11 +43,11 @@ class ValueItemDelegate : public QStyledItemDelegate { public: using QStyledItemDelegate::QStyledItemDelegate; - QWidget* createEditor(QWidget* parent, + QWidget* createEditor(QWidget* pParent, const QStyleOptionViewItem& option, const QModelIndex& index) const override; - void setModelData(QWidget* editor, - QAbstractItemModel* model, + void setModelData(QWidget* pEditor, + QAbstractItemModel* pModel, const QModelIndex& index) const override; }; diff --git a/src/controllers/hid/hidreportdescriptor.cpp b/src/controllers/hid/hidreportdescriptor.cpp index 809a2b2d82b0..b7d748a35d63 100644 --- a/src/controllers/hid/hidreportdescriptor.cpp +++ b/src/controllers/hid/hidreportdescriptor.cpp @@ -88,7 +88,7 @@ bool applyLogicalValue(QByteArray& reportData, const Control& control, int32_t c QString getScaledUnitString(uint32_t unit) { struct UnitInfo { - const char* physicalQuantity[5]; + const char* pPhysicalQuantity[5]; }; const UnitInfo unitInfos[] = { @@ -110,7 +110,7 @@ QString getScaledUnitString(uint32_t unit) { if (!unitString.isEmpty()) { unitString += "*"; } - unitString += unitInfo.physicalQuantity[(unit & 0xF)]; + unitString += unitInfo.pPhysicalQuantity[(unit & 0xF)]; if (exponents[value] != 1) { unitString += "^" + QString::number(exponents[value]); } @@ -185,8 +185,8 @@ const Report* Collection::getReport( } // HID Report Descriptor Parser -HIDReportDescriptor::HIDReportDescriptor(const uint8_t* data, size_t length) - : m_data(data), +HIDReportDescriptor::HIDReportDescriptor(const uint8_t* pData, size_t length) + : m_pData(pData), m_length(length), m_pos(0), m_deviceHasReportIds(kNotSet), @@ -194,7 +194,7 @@ HIDReportDescriptor::HIDReportDescriptor(const uint8_t* data, size_t length) } std::pair HIDReportDescriptor::readTag() { - uint8_t byte = m_data[m_pos++]; + uint8_t byte = m_pData[m_pos++]; VERIFY_OR_DEBUG_ASSERT(byte != static_cast(HidItemSize::LongItemKeyword)){ @@ -220,22 +220,22 @@ uint32_t HIDReportDescriptor::readPayload(HidItemSize payloadSize) { VERIFY_OR_DEBUG_ASSERT(m_pos + 1 <= m_length) { return 0; } - return m_data[m_pos++]; + return m_pData[m_pos++]; case HidItemSize::TwoBytePayload: VERIFY_OR_DEBUG_ASSERT(m_pos + 2 <= m_length) { return 0; } - payload = m_data[m_pos++]; - payload |= m_data[m_pos++] << 8; + payload = m_pData[m_pos++]; + payload |= m_pData[m_pos++] << 8; return payload; case HidItemSize::FourBytePayload: VERIFY_OR_DEBUG_ASSERT(m_pos + 4 <= m_length) { return 0; } - payload = m_data[m_pos++]; - payload |= m_data[m_pos++] << 8; - payload |= m_data[m_pos++] << 16; - payload |= m_data[m_pos++] << 24; + payload = m_pData[m_pos++]; + payload |= m_pData[m_pos++] << 8; + payload |= m_pData[m_pos++] << 16; + payload |= m_pData[m_pos++] << 24; return payload; default: DEBUG_ASSERT(true); @@ -297,8 +297,8 @@ HidReportType HIDReportDescriptor::getReportType(HidItemTag tag) { } Collection HIDReportDescriptor::parse() { - Collection collection; // Top level collection - std::unique_ptr currentReport = nullptr; // Use a unique_ptr for currentReport + Collection collection; // Top level collection + std::unique_ptr pCurrentReport = nullptr; // Use a unique_ptr for pCurrentReport // Global item values GlobalItems globalItems; @@ -394,19 +394,19 @@ Collection HIDReportDescriptor::parse() { case HidItemTag::Input: case HidItemTag::Output: case HidItemTag::Feature: { - if (currentReport == nullptr) { + if (pCurrentReport == nullptr) { // First control of this device if (globalItems.reportId == kNoReportId) { m_deviceHasReportIds = false; } else { m_deviceHasReportIds = true; } - currentReport = std::make_unique(getReportType(tag), globalItems.reportId); - } else if (currentReport->m_reportType != getReportType(tag) || - globalItems.reportId != currentReport->m_reportId) { + pCurrentReport = std::make_unique(getReportType(tag), globalItems.reportId); + } else if (pCurrentReport->m_reportType != getReportType(tag) || + globalItems.reportId != pCurrentReport->m_reportId) { // First control of a new report - collection.addReport(*currentReport); - currentReport = std::make_unique(getReportType(tag), globalItems.reportId); + collection.addReport(*pCurrentReport); + pCurrentReport = std::make_unique(getReportType(tag), globalItems.reportId); } int32_t physicalMinimum, physicalMaximum; @@ -424,12 +424,12 @@ Collection HIDReportDescriptor::parse() { if (flags.data_constant == 1) { // Constant value padding - Usually for byte alignment - currentReport->increasePosition(globalItems.reportSize * globalItems.reportCount); + pCurrentReport->increasePosition(globalItems.reportSize * globalItems.reportCount); } else if (flags.array_variable == 0) { // Array (e.g. list of pressed keys of a computer keyboard) // NOT IMPLEMENTED as not relevant for mapping wizard, // but could be implemented by overloaded Control class - currentReport->increasePosition(globalItems.reportSize * globalItems.reportCount); + pCurrentReport->increasePosition(globalItems.reportSize * globalItems.reportCount); } else { // Normal variable control uint32_t usage = 0; @@ -453,7 +453,7 @@ Collection HIDReportDescriptor::parse() { usage = localItems.Usage.front(); localItems.Usage.erase(localItems.Usage.begin()); } - auto [lastBytePos, lastBitPos] = currentReport->getLastPosition(); + auto [lastBytePos, lastBitPos] = pCurrentReport->getLastPosition(); Control control(flags, usage, @@ -466,10 +466,10 @@ Collection HIDReportDescriptor::parse() { lastBytePos, lastBitPos, globalItems.reportSize); - currentReport->addControl(control); - currentReport->increasePosition(globalItems.reportSize); + pCurrentReport->addControl(control); + pCurrentReport->increasePosition(globalItems.reportSize); } - currentReport->increasePosition( + pCurrentReport->increasePosition( (globalItems.reportCount - numOfControls) * globalItems.reportSize); } @@ -491,9 +491,9 @@ Collection HIDReportDescriptor::parse() { break; case HidItemTag::EndCollection: if (m_collectionLevel == 1) { - if (currentReport) { - collection.addReport(*currentReport); - currentReport.reset(); + if (pCurrentReport) { + collection.addReport(*pCurrentReport); + pCurrentReport.reset(); } m_topLevelCollections.push_back(collection); collection = Collection(); @@ -509,8 +509,8 @@ Collection HIDReportDescriptor::parse() { } } - if (currentReport) { - collection.addReport(*currentReport); + if (pCurrentReport) { + collection.addReport(*pCurrentReport); } return collection; diff --git a/src/controllers/hid/hidreportdescriptor.h b/src/controllers/hid/hidreportdescriptor.h index eee36e8b17d3..5767a4fd7259 100644 --- a/src/controllers/hid/hidreportdescriptor.h +++ b/src/controllers/hid/hidreportdescriptor.h @@ -195,7 +195,7 @@ class Collection { // Class for parsing HID report descriptors class HIDReportDescriptor { public: - HIDReportDescriptor(const uint8_t* data, size_t length); + HIDReportDescriptor(const uint8_t* pData, size_t length); bool isDeviceWithReportIds() const { return m_deviceHasReportIds; @@ -241,7 +241,7 @@ class HIDReportDescriptor { HidReportType getReportType(HidItemTag tag); - const uint8_t* m_data; + const uint8_t* m_pData; size_t m_length; size_t m_pos; diff --git a/src/test/controller_hid_reportdescriptor_test.cpp b/src/test/controller_hid_reportdescriptor_test.cpp index e83c8145f4fe..d1d40a49082b 100644 --- a/src/test/controller_hid_reportdescriptor_test.cpp +++ b/src/test/controller_hid_reportdescriptor_test.cpp @@ -51,15 +51,15 @@ TEST(HidReportDescriptorParserTest, ParseReportDescriptor) { ASSERT_EQ(collectionIdx, 0); // Use getReport to get the report - const Report* report = parser.getReport(reportType, reportId); - ASSERT_NE(report, nullptr); + const Report* pReport = parser.getReport(reportType, reportId); + ASSERT_NE(pReport, nullptr); // Validate Report fields - ASSERT_EQ(report->m_reportType, reportType); - ASSERT_EQ(report->m_reportId, reportId); + ASSERT_EQ(pReport->m_reportType, reportType); + ASSERT_EQ(pReport->m_reportId, reportId); // Validate all Control fields - const std::vector& controls = report->getControls(); + const std::vector& controls = pReport->getControls(); ASSERT_EQ(controls.size(), 5); // Mouse Button 1 From 1bb21b9899179a8489e5dfae9129b7eb69742a16 Mon Sep 17 00:00:00 2001 From: Joerg Date: Tue, 13 May 2025 20:38:02 +0200 Subject: [PATCH 087/181] Adjusted the type of the pointer `pReport` from auto to `const auto*`. Moved line closer to usage --- src/controllers/controllerhidreporttabsmanager.cpp | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/src/controllers/controllerhidreporttabsmanager.cpp b/src/controllers/controllerhidreporttabsmanager.cpp index 58dd561f7703..61830d314076 100644 --- a/src/controllers/controllerhidreporttabsmanager.cpp +++ b/src/controllers/controllerhidreporttabsmanager.cpp @@ -79,7 +79,7 @@ void ControllerHidReportTabsManager::createHidReportTab(QTabWidget* pParentRepor auto* pTable = new QTableWidget(pTabWidget); pLayout->addWidget(pTable); - auto* pReport = reportDescriptor.getReport(reportType, reportId); + const auto* pReport = reportDescriptor.getReport(reportType, reportId); if (pReport) { // Show payload size auto* pSizeLabel = new QLabel(pTabWidget); @@ -187,12 +187,6 @@ void ControllerHidReportTabsManager::slotReadReport(QTableWidget* pTable, return; } - const auto& reportDescriptor = *m_pHidController->getReportDescriptor(); - auto pReport = reportDescriptor.getReport(reportType, reportId); - VERIFY_OR_DEBUG_ASSERT(pReport) { - return; - } - QByteArray reportData; if (reportType == hid::reportDescriptor::HidReportType::Input) { reportData = pJsProxy->getInputReport(reportId); @@ -202,6 +196,11 @@ void ControllerHidReportTabsManager::slotReadReport(QTableWidget* pTable, return; } + const auto& reportDescriptor = *m_pHidController->getReportDescriptor(); + const auto* pReport = reportDescriptor.getReport(reportType, reportId); + VERIFY_OR_DEBUG_ASSERT(pReport) { + return; + } if (reportData.size() < pReport->getReportSize()) { qWarning() << "Failed to get report. Read only " << reportData.size() << " instead of expected " << pReport->getReportSize() From e889a4fe4ea32f8a5056656e5f2d99dc77e01fdb Mon Sep 17 00:00:00 2001 From: Joerg Date: Tue, 13 May 2025 21:45:52 +0200 Subject: [PATCH 088/181] Replace getLastPosition() with pair return type by seperated getLastBytePosition() and getLastBitPosition() --- src/controllers/hid/hidreportdescriptor.cpp | 5 ++--- src/controllers/hid/hidreportdescriptor.h | 7 +++++-- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/src/controllers/hid/hidreportdescriptor.cpp b/src/controllers/hid/hidreportdescriptor.cpp index b7d748a35d63..958952da9111 100644 --- a/src/controllers/hid/hidreportdescriptor.cpp +++ b/src/controllers/hid/hidreportdescriptor.cpp @@ -453,7 +453,6 @@ Collection HIDReportDescriptor::parse() { usage = localItems.Usage.front(); localItems.Usage.erase(localItems.Usage.begin()); } - auto [lastBytePos, lastBitPos] = pCurrentReport->getLastPosition(); Control control(flags, usage, @@ -463,8 +462,8 @@ Collection HIDReportDescriptor::parse() { physicalMaximum, globalItems.unitExponent, globalItems.unit, - lastBytePos, - lastBitPos, + pCurrentReport->getLastBytePosition(), + pCurrentReport->getLastBitPosition(), globalItems.reportSize); pCurrentReport->addControl(control); pCurrentReport->increasePosition(globalItems.reportSize); diff --git a/src/controllers/hid/hidreportdescriptor.h b/src/controllers/hid/hidreportdescriptor.h index 5767a4fd7259..87b0807bec43 100644 --- a/src/controllers/hid/hidreportdescriptor.h +++ b/src/controllers/hid/hidreportdescriptor.h @@ -158,8 +158,11 @@ class Report { void addControl(const Control& item); void increasePosition(unsigned int bitSize); - std::pair getLastPosition() const { - return {m_lastBytePosition, m_lastBitPosition}; + uint16_t getLastBytePosition() const { + return m_lastBytePosition; + } + uint8_t getLastBitPosition() const { + return m_lastBitPosition; } const std::vector& getControls() const { From 32f743c7558c6199e3705efe99b14d6af082a6bc Mon Sep 17 00:00:00 2001 From: Joerg Date: Tue, 13 May 2025 21:55:18 +0200 Subject: [PATCH 089/181] Simplified metaEnum access --- src/controllers/controllerhidreporttabsmanager.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/controllers/controllerhidreporttabsmanager.cpp b/src/controllers/controllerhidreporttabsmanager.cpp index 61830d314076..8b9e92efa52d 100644 --- a/src/controllers/controllerhidreporttabsmanager.cpp +++ b/src/controllers/controllerhidreporttabsmanager.cpp @@ -29,8 +29,7 @@ void ControllerHidReportTabsManager::createReportTypeTabs() { createHidReportTab(reportTypeTab.get(), reportType); if (reportTypeTab->count() > 0) { QString tabName = QStringLiteral("%1 Reports") - .arg(metaEnum.valueToKey( - static_cast(reportType))); + .arg(metaEnum.key(reportTypeIdx)); m_pParentControllerTab->addTab(reportTypeTab.release(), tabName); } } From 77bfdd3afa15377252ad861dd6637820080d0241 Mon Sep 17 00:00:00 2001 From: Joerg Date: Tue, 13 May 2025 21:58:19 +0200 Subject: [PATCH 090/181] Make physicalMinimum an physicalMaximum definition easier to maintain --- src/controllers/hid/hidreportdescriptor.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/controllers/hid/hidreportdescriptor.cpp b/src/controllers/hid/hidreportdescriptor.cpp index 958952da9111..f64703f376dd 100644 --- a/src/controllers/hid/hidreportdescriptor.cpp +++ b/src/controllers/hid/hidreportdescriptor.cpp @@ -409,7 +409,8 @@ Collection HIDReportDescriptor::parse() { pCurrentReport = std::make_unique(getReportType(tag), globalItems.reportId); } - int32_t physicalMinimum, physicalMaximum; + int32_t physicalMinimum; + int32_t physicalMaximum; if (globalItems.physicalMinimum == 0 && globalItems.physicalMaximum == 0) { // According remark in chapter 6.2.2.7 of HID class definition 1.11 physicalMinimum = globalItems.logicalMinimum; From dadcedac7e462b23d4dae837a114b2ca6daa64d4 Mon Sep 17 00:00:00 2001 From: Joerg Date: Tue, 13 May 2025 23:46:33 +0200 Subject: [PATCH 091/181] Replace redundant unique_ptr with parented pointer --- src/controllers/controllerhidreporttabsmanager.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/controllers/controllerhidreporttabsmanager.cpp b/src/controllers/controllerhidreporttabsmanager.cpp index 8b9e92efa52d..873eb004cf61 100644 --- a/src/controllers/controllerhidreporttabsmanager.cpp +++ b/src/controllers/controllerhidreporttabsmanager.cpp @@ -18,19 +18,19 @@ ControllerHidReportTabsManager::ControllerHidReportTabsManager( } void ControllerHidReportTabsManager::createReportTypeTabs() { - auto reportTypeTabs = std::make_unique(m_pParentControllerTab); + auto reportTypeTabs = make_parented(m_pParentControllerTab); QMetaEnum metaEnum = QMetaEnum::fromType(); for (int reportTypeIdx = 0; reportTypeIdx < metaEnum.keyCount(); ++reportTypeIdx) { auto reportType = static_cast( metaEnum.value(reportTypeIdx)); - auto reportTypeTab = std::make_unique(reportTypeTabs.get()); + auto reportTypeTab = make_parented(reportTypeTabs.get()); createHidReportTab(reportTypeTab.get(), reportType); if (reportTypeTab->count() > 0) { QString tabName = QStringLiteral("%1 Reports") .arg(metaEnum.key(reportTypeIdx)); - m_pParentControllerTab->addTab(reportTypeTab.release(), tabName); + m_pParentControllerTab->addTab(std::move(reportTypeTab), tabName); } } } From b51509dd848f726aed5244c180cff18c9bd16e83 Mon Sep 17 00:00:00 2001 From: Joerg Date: Wed, 14 May 2025 00:44:13 +0200 Subject: [PATCH 092/181] Added reference to unit table Use only official physical unit symbols - which are not translateable --- src/controllers/hid/hidreportdescriptor.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/controllers/hid/hidreportdescriptor.cpp b/src/controllers/hid/hidreportdescriptor.cpp index f64703f376dd..901941ca71ef 100644 --- a/src/controllers/hid/hidreportdescriptor.cpp +++ b/src/controllers/hid/hidreportdescriptor.cpp @@ -91,8 +91,11 @@ QString getScaledUnitString(uint32_t unit) { const char* pPhysicalQuantity[5]; }; + // This table of physical units is derived from the unit item table + // in chapter 6.2.2.7 of HID class definition 1.11 + // These official unit symbols are not translateable const UnitInfo unitInfos[] = { - {"", "cm", "radian", "inch", "degree"}, + {"", "cm", "rad", "″", "°"}, // length/angle {"", "g", "g", "slug", "slug"}, // mass {"", "s", "s", "s", "s"}, // time {"", "K", "K", "°F", "°F"}, // temperature From 629c83d13dc66b81a6475598ec205f8e65c89fd8 Mon Sep 17 00:00:00 2001 From: Joerg Date: Thu, 15 May 2025 08:55:00 +0200 Subject: [PATCH 093/181] Replaced union by std::bit_cast --- src/controllers/hid/hidreportdescriptor.cpp | 3 +- src/controllers/hid/hidreportdescriptor.h | 25 ++-- .../controller_hid_reportdescriptor_test.cpp | 132 +++++++++--------- 3 files changed, 78 insertions(+), 82 deletions(-) diff --git a/src/controllers/hid/hidreportdescriptor.cpp b/src/controllers/hid/hidreportdescriptor.cpp index 901941ca71ef..bb19b8732a1d 100644 --- a/src/controllers/hid/hidreportdescriptor.cpp +++ b/src/controllers/hid/hidreportdescriptor.cpp @@ -423,8 +423,7 @@ Collection HIDReportDescriptor::parse() { physicalMaximum = globalItems.physicalMaximum; } - ControlFlags flags; - flags.payload = payload; + auto flags = std::bit_cast(payload); if (flags.data_constant == 1) { // Constant value padding - Usually for byte alignment diff --git a/src/controllers/hid/hidreportdescriptor.h b/src/controllers/hid/hidreportdescriptor.h index 87b0807bec43..a13cd4bbd2b3 100644 --- a/src/controllers/hid/hidreportdescriptor.h +++ b/src/controllers/hid/hidreportdescriptor.h @@ -101,20 +101,17 @@ enum class CollectionType : uint8_t { }; // clang-format on -union ControlFlags { - struct { - uint32_t data_constant : 1; // Data (0) | Constant (1) - uint32_t array_variable : 1; // Array (0) | Variable (1) - uint32_t absolute_relative : 1; // Absolute (0) | Relative (1) - uint32_t no_wrap_wrap : 1; // No Wrap (0) | Wrap (1) - uint32_t linear_non_linear : 1; // Linear (0) | Non Linear (1) - uint32_t preferred_no_preferred : 1; // Preferred State (0) | No Preferred (1) - uint32_t no_null_null : 1; // No Null position (0) | Null state(1) - uint32_t non_volatile_volatile : 1; // Non Volatile (0) | Volatile (1) - uint32_t bit_field_buffered : 1; // Bit Field (0) | Buffered Bytes (1) - uint32_t reserved : 23; - }; - uint32_t payload; +struct ControlFlags { + uint32_t data_constant : 1; // Data (0) | Constant (1) + uint32_t array_variable : 1; // Array (0) | Variable (1) + uint32_t absolute_relative : 1; // Absolute (0) | Relative (1) + uint32_t no_wrap_wrap : 1; // No Wrap (0) | Wrap (1) + uint32_t linear_non_linear : 1; // Linear (0) | Non Linear (1) + uint32_t preferred_no_preferred : 1; // Preferred State (0) | No Preferred (1) + uint32_t no_null_null : 1; // No Null position (0) | Null state(1) + uint32_t non_volatile_volatile : 1; // Non Volatile (0) | Volatile (1) + uint32_t bit_field_buffered : 1; // Bit Field (0) | Buffered Bytes (1) + uint32_t reserved : 23; }; // Class representing a control described in the HID report descriptor diff --git a/src/test/controller_hid_reportdescriptor_test.cpp b/src/test/controller_hid_reportdescriptor_test.cpp index d1d40a49082b..9c5ee6967168 100644 --- a/src/test/controller_hid_reportdescriptor_test.cpp +++ b/src/test/controller_hid_reportdescriptor_test.cpp @@ -125,17 +125,17 @@ TEST(HidReportDescriptorParserTest, ParseReportDescriptor) { TEST(HIDReportDescriptorTest, ControlValue_1Bit) { auto reportData = QByteArray::fromHex("81'00'00'FF'01"); - Control control({{0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, // Flags - 0x0009'0001, // UsagePage/Usage - 0, // LogicalMinimum - 1, // LogicalMaximum - 0, // PhysicalMinimum - 1, // PhysicalMaximum - 0, // UnitExponent - 0, // Unit - 3, // BytePosition - 0, // BitPosition - 1); // BitSize + Control control({0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, // Flags + 0x0009'0001, // UsagePage/Usage + 0, // LogicalMinimum + 1, // LogicalMaximum + 0, // PhysicalMinimum + 1, // PhysicalMaximum + 0, // UnitExponent + 0, // Unit + 3, // BytePosition + 0, // BitPosition + 1); // BitSize int32_t value = extractLogicalValue(reportData, control); EXPECT_EQ(value, 0x1); @@ -150,17 +150,17 @@ TEST(HIDReportDescriptorTest, ControlValue_1Bit) { TEST(HIDReportDescriptorTest, ControlValue_unsigned11Bits) { auto reportData = QByteArray::fromHex("81'30'46'00'01"); - Control control({{0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, // Flags - 0x0009'0001, // UsagePage/Usage - 0, // LogicalMinimum - 2047, // LogicalMaximum - 0, // PhysicalMinimum - 2047, // PhysicalMaximum - 0, // UnitExponent - 0, // Unit - 1, // BytePosition - 2, // BitPosition - 11); // BitSize + Control control({0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, // Flags + 0x0009'0001, // UsagePage/Usage + 0, // LogicalMinimum + 2047, // LogicalMaximum + 0, // PhysicalMinimum + 2047, // PhysicalMaximum + 0, // UnitExponent + 0, // Unit + 1, // BytePosition + 2, // BitPosition + 11); // BitSize int32_t value = extractLogicalValue(reportData, control); EXPECT_EQ(value, 0b001'1000'1100); @@ -175,17 +175,17 @@ TEST(HIDReportDescriptorTest, ControlValue_unsigned11Bits) { TEST(HIDReportDescriptorTest, ControlValue_signed11Bits) { auto reportData = QByteArray::fromHex("AA'BB'CC'DD'EE"); - Control control({{0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, // Flags - 0x0009'0001, // UsagePage/Usage - -1000, // LogicalMinimum - 1000, // LogicalMaximum - -10, // PhysicalMinimum - 10, // PhysicalMaximum - 0, // UnitExponent - 0, // Unit - 2, // BytePosition - 0, // BitPosition - 11); // BitSize + Control control({0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, // Flags + 0x0009'0001, // UsagePage/Usage + -1000, // LogicalMinimum + 1000, // LogicalMaximum + -10, // PhysicalMinimum + 10, // PhysicalMaximum + 0, // UnitExponent + 0, // Unit + 2, // BytePosition + 0, // BitPosition + 11); // BitSize int32_t value = extractLogicalValue(reportData, control); EXPECT_EQ(value, -564); @@ -207,17 +207,17 @@ TEST(HIDReportDescriptorTest, ControlValue_signed11Bits) { TEST(HIDReportDescriptorTest, ControlValue_unsigned32Bits) { auto reportData = QByteArray::fromHex("0A'21'43'65'B7"); - Control control({{0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, // Flags - 0x0009'0001, // UsagePage/Usage - 0, // LogicalMinimum - 0x7FFFFFFF, // LogicalMaximum - 0, // PhysicalMinimum - 0x7FFFFFFF, // PhysicalMaximum - 0, // UnitExponent - 0, // Unit - 0, // BytePosition - 4, // BitPosition - 32); // BitSize + Control control({0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, // Flags + 0x0009'0001, // UsagePage/Usage + 0, // LogicalMinimum + 0x7FFFFFFF, // LogicalMaximum + 0, // PhysicalMinimum + 0x7FFFFFFF, // PhysicalMaximum + 0, // UnitExponent + 0, // Unit + 0, // BytePosition + 4, // BitPosition + 32); // BitSize int32_t value = extractLogicalValue(reportData, control); EXPECT_EQ(value, 0x76'54'32'10); @@ -232,17 +232,17 @@ TEST(HIDReportDescriptorTest, ControlValue_unsigned32Bits) { TEST(HIDReportDescriptorTest, ControlValue_signed32Bits) { auto reportData = QByteArray::fromHex("0A'21'43'65'B7"); - Control control({{0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, // Flags - 0x0009'0001, // UsagePage/Usage - std::numeric_limits::min(), // LogicalMinimum - std::numeric_limits::max(), // LogicalMaximum - 10, // PhysicalMinimum - 10, // PhysicalMaximum - 0, // UnitExponent - 0, // Unit - 0, // BytePosition - 4, // BitPosition - 32); // BitSize + Control control({0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, // Flags + 0x0009'0001, // UsagePage/Usage + std::numeric_limits::min(), // LogicalMinimum + std::numeric_limits::max(), // LogicalMaximum + 10, // PhysicalMinimum + 10, // PhysicalMaximum + 0, // UnitExponent + 0, // Unit + 0, // BytePosition + 4, // BitPosition + 32); // BitSize int32_t value = extractLogicalValue(reportData, control); EXPECT_EQ(value, 0x76'54'32'10); @@ -264,17 +264,17 @@ TEST(HIDReportDescriptorTest, ControlValue_signed32Bits) { TEST(HIDReportDescriptorTest, SetControlValue_OutOfRange) { auto reportData = QByteArray::fromHex("81'00'00'00'01"); - Control control({{0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, // Flags - 0x0009'0001, // UsagePage/Usage - 0, // LogicalMinimum - 2047, // LogicalMaximum - 0, // PhysicalMinimum - 2047, // PhysicalMaximum - 0, // UnitExponent - 0, // Unit - 0, // BytePosition - 0, // BitPosition - 11); // BitSize + Control control({0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, // Flags + 0x0009'0001, // UsagePage/Usage + 0, // LogicalMinimum + 2047, // LogicalMaximum + 0, // PhysicalMinimum + 2047, // PhysicalMaximum + 0, // UnitExponent + 0, // Unit + 0, // BytePosition + 0, // BitPosition + 11); // BitSize bool result = applyLogicalValue(reportData, control, 3000); EXPECT_FALSE(result); From ccc5b0d09eac956d70ea77f49609c3f9b8d81876 Mon Sep 17 00:00:00 2001 From: Joerg Date: Thu, 15 May 2025 22:05:50 +0200 Subject: [PATCH 094/181] Fix clang-tidy warnings --- src/controllers/controllerhidreporttabsmanager.cpp | 12 ++++++------ src/controllers/hid/hidreportdescriptor.cpp | 4 ++-- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/controllers/controllerhidreporttabsmanager.cpp b/src/controllers/controllerhidreporttabsmanager.cpp index 873eb004cf61..07b4dfd5dc26 100644 --- a/src/controllers/controllerhidreporttabsmanager.cpp +++ b/src/controllers/controllerhidreporttabsmanager.cpp @@ -139,7 +139,7 @@ void ControllerHidReportTabsManager::updateTableWithReportData( // Retrieve custom data from the first cell QVariant customData = pTable->item(row, 0)->data(Qt::UserRole + 1); if (customData.isValid()) { - auto pControl = + const auto* pControl = static_cast( customData.value()); // Use the custom data as needed @@ -165,7 +165,7 @@ void ControllerHidReportTabsManager::slotProcessInputReport( QTableWidget* pTable = it->second; const auto& reportDescriptor = *m_pHidController->getReportDescriptor(); - auto pReport = reportDescriptor.getReport( + const auto* pReport = reportDescriptor.getReport( hid::reportDescriptor::HidReportType::Input, reportId); if (pReport) { updateTableWithReportData(pTable, data); @@ -226,7 +226,7 @@ void ControllerHidReportTabsManager::slotSendReport(QTableWidget* pTable, const auto& reportDescriptor = *m_pHidController->getReportDescriptor(); - auto pReport = reportDescriptor.getReport(reportType, reportId); + const auto* pReport = reportDescriptor.getReport(reportType, reportId); VERIFY_OR_DEBUG_ASSERT(pReport) { return; } @@ -241,9 +241,9 @@ void ControllerHidReportTabsManager::slotSendReport(QTableWidget* pTable, // Retrieve custom data from the first cell QVariant customData = pTable->item(row, 0)->data(Qt::UserRole + 1); if (customData.isValid()) { - auto pControl = - reinterpret_cast( - customData.value()); + const auto* pControl = + static_cast( + customData.value()); // Set the control value in the reportData bool success = hid::reportDescriptor::applyLogicalValue( reportData, *pControl, item->text().toLongLong()); diff --git a/src/controllers/hid/hidreportdescriptor.cpp b/src/controllers/hid/hidreportdescriptor.cpp index bb19b8732a1d..267b72357d36 100644 --- a/src/controllers/hid/hidreportdescriptor.cpp +++ b/src/controllers/hid/hidreportdescriptor.cpp @@ -179,7 +179,7 @@ void Collection::addReport(const Report& report) { } const Report* Collection::getReport( const HidReportType& reportType, const uint8_t& reportId) const { - for (auto& report : m_reports) { + for (const auto& report : m_reports) { if (report.m_reportType == reportType && report.m_reportId == reportId) { return &report; } @@ -520,7 +520,7 @@ Collection HIDReportDescriptor::parse() { const Report* HIDReportDescriptor::getReport( const HidReportType& reportType, const uint8_t& reportId) const { - for (auto& collection : m_topLevelCollections) { + for (const auto& collection : m_topLevelCollections) { const Report* report = collection.getReport(reportType, reportId); if (report != nullptr) { return report; From 9a5140e6e18b3654bdc87b7b2303ebc4f981c3a4 Mon Sep 17 00:00:00 2001 From: Joerg Date: Thu, 15 May 2025 23:27:22 +0200 Subject: [PATCH 095/181] Updated custom data retrieval in ControllerHidReportTabsManager with Q_DECLARE_METATYPE. --- src/controllers/controllerhidreporttabsmanager.cpp | 12 +++--------- src/controllers/dlgprefcontroller.cpp | 2 ++ 2 files changed, 5 insertions(+), 9 deletions(-) diff --git a/src/controllers/controllerhidreporttabsmanager.cpp b/src/controllers/controllerhidreporttabsmanager.cpp index 07b4dfd5dc26..bfec6cd6527b 100644 --- a/src/controllers/controllerhidreporttabsmanager.cpp +++ b/src/controllers/controllerhidreporttabsmanager.cpp @@ -139,9 +139,7 @@ void ControllerHidReportTabsManager::updateTableWithReportData( // Retrieve custom data from the first cell QVariant customData = pTable->item(row, 0)->data(Qt::UserRole + 1); if (customData.isValid()) { - const auto* pControl = - static_cast( - customData.value()); + const auto* pControl = customData.value(); // Use the custom data as needed int64_t controlValue = hid::reportDescriptor::extractLogicalValue( @@ -241,9 +239,7 @@ void ControllerHidReportTabsManager::slotSendReport(QTableWidget* pTable, // Retrieve custom data from the first cell QVariant customData = pTable->item(row, 0)->data(Qt::UserRole + 1); if (customData.isValid()) { - const auto* pControl = - static_cast( - customData.value()); + const auto* pControl = customData.value(); // Set the control value in the reportData bool success = hid::reportDescriptor::applyLogicalValue( reportData, *pControl, item->text().toLongLong()); @@ -341,9 +337,7 @@ void ControllerHidReportTabsManager::populateHidReportTable( pTable->setItem(row, 0, bytePositionItem); // Store custom data for the row in the first cell bytePositionItem->setData(Qt::UserRole + 1, - QVariant::fromValue(reinterpret_cast( - const_cast( - &pControl)))); + QVariant::fromValue(&pControl)); // Column 1 - Bit Position pTable->setItem(row, 1, createReadOnlyItem(QString::number(pControl.m_bitPosition), true)); diff --git a/src/controllers/dlgprefcontroller.cpp b/src/controllers/dlgprefcontroller.cpp index 8be4deabce41..2e56b6a3f766 100644 --- a/src/controllers/dlgprefcontroller.cpp +++ b/src/controllers/dlgprefcontroller.cpp @@ -92,6 +92,8 @@ DlgPrefController::DlgPrefController( m_settingsTabIndex(-1), m_screensTabIndex(-1), m_hidReportTabsManager(nullptr) { + qRegisterMetaType(); + m_ui.setupUi(this); // Create text color for the file and wiki links createLinkColor(); From ce0d42f221c18b93cc3337dc71e6a63d8d9c239e Mon Sep 17 00:00:00 2001 From: Joerg Date: Thu, 15 May 2025 23:43:04 +0200 Subject: [PATCH 096/181] Renamed some symbols for consistency --- .../controllerhidreporttabsmanager.cpp | 21 ++++++++++--------- src/controllers/hid/hidcontroller.cpp | 2 +- src/controllers/hid/hidcontroller.h | 4 ++-- src/controllers/hid/hidreportdescriptor.cpp | 18 ++++++++-------- src/controllers/hid/hidreportdescriptor.h | 4 ++-- .../controller_hid_reportdescriptor_test.cpp | 14 ++++++------- 6 files changed, 32 insertions(+), 31 deletions(-) diff --git a/src/controllers/controllerhidreporttabsmanager.cpp b/src/controllers/controllerhidreporttabsmanager.cpp index bfec6cd6527b..8d7f1eeb46c8 100644 --- a/src/controllers/controllerhidreporttabsmanager.cpp +++ b/src/controllers/controllerhidreporttabsmanager.cpp @@ -134,8 +134,8 @@ void ControllerHidReportTabsManager::updateTableWithReportData( // Process the report data and update the table for (int row = 0; row < pTable->rowCount(); ++row) { - auto* item = pTable->item(row, 5); // Value column is at index 5 - if (item) { + auto* pItem = pTable->item(row, 5); // Value column is at index 5 + if (pItem) { // Retrieve custom data from the first cell QVariant customData = pTable->item(row, 0)->data(Qt::UserRole + 1); if (customData.isValid()) { @@ -144,7 +144,7 @@ void ControllerHidReportTabsManager::updateTableWithReportData( int64_t controlValue = hid::reportDescriptor::extractLogicalValue( reportData, *pControl); - item->setText(QString::number(controlValue)); + pItem->setText(QString::number(controlValue)); } } } @@ -234,15 +234,15 @@ void ControllerHidReportTabsManager::slotSendReport(QTableWidget* pTable, // Iterate through each row in the table for (int row = 0; row < pTable->rowCount(); ++row) { - auto* item = pTable->item(row, 5); // Value column is at index 5 - if (item) { + auto* pItem = pTable->item(row, 5); // Value column is at index 5 + if (pItem) { // Retrieve custom data from the first cell QVariant customData = pTable->item(row, 0)->data(Qt::UserRole + 1); if (customData.isValid()) { const auto* pControl = customData.value(); // Set the control value in the reportData bool success = hid::reportDescriptor::applyLogicalValue( - reportData, *pControl, item->text().toLongLong()); + reportData, *pControl, pItem->text().toLongLong()); if (!success) { qWarning() << "Failed to set control value for row" << row; continue; @@ -329,10 +329,11 @@ void ControllerHidReportTabsManager::populateHidReportTable( int row = 0; for (const auto& pControl : controls) { // Column 0 - Byte Position - auto* bytePositionItem = createReadOnlyItem(QStringLiteral("0x%1").arg(QString::number( - pControl.m_bytePosition, 16) - .rightJustified(2, '0') - .toUpper()), + QTableWidgetItem* bytePositionItem = createReadOnlyItem( + QStringLiteral("0x%1").arg( + QString::number(pControl.m_bytePosition, 16) + .rightJustified(2, '0') + .toUpper()), true); pTable->setItem(row, 0, bytePositionItem); // Store custom data for the row in the first cell diff --git a/src/controllers/hid/hidcontroller.cpp b/src/controllers/hid/hidcontroller.cpp index 37e4489594d7..8e74b93a3c1a 100644 --- a/src/controllers/hid/hidcontroller.cpp +++ b/src/controllers/hid/hidcontroller.cpp @@ -165,7 +165,7 @@ int HidController::open(const QString& resourcePath) { m_rawReportDescriptor = m_deviceInfo.fetchRawReportDescriptor(pHidDevice); if (m_rawReportDescriptor.has_value()) { - m_reportDescriptor = hid::reportDescriptor::HIDReportDescriptor( + m_reportDescriptor = hid::reportDescriptor::HidReportDescriptor( m_rawReportDescriptor->data(), m_rawReportDescriptor->size()); m_reportDescriptor->parse(); m_deviceHasReportIds = m_reportDescriptor->isDeviceWithReportIds(); diff --git a/src/controllers/hid/hidcontroller.h b/src/controllers/hid/hidcontroller.h index 383503eb9341..eb7b236d749c 100644 --- a/src/controllers/hid/hidcontroller.h +++ b/src/controllers/hid/hidcontroller.h @@ -72,7 +72,7 @@ class HidController final : public Controller { return m_deviceInfo.getUsageDescription(); } - const std::optional& getReportDescriptor() const { + const std::optional& getReportDescriptor() const { return m_reportDescriptor; } @@ -100,7 +100,7 @@ class HidController final : public Controller { mixxx::hid::DeviceInfo m_deviceInfo; // These optional members are not set before opening the device std::optional> m_rawReportDescriptor; - std::optional m_reportDescriptor; + std::optional m_reportDescriptor; std::optional m_deviceHasReportIds; std::unique_ptr m_pHidIoThread; diff --git a/src/controllers/hid/hidreportdescriptor.cpp b/src/controllers/hid/hidreportdescriptor.cpp index 267b72357d36..4c0a3852783c 100644 --- a/src/controllers/hid/hidreportdescriptor.cpp +++ b/src/controllers/hid/hidreportdescriptor.cpp @@ -188,7 +188,7 @@ const Report* Collection::getReport( } // HID Report Descriptor Parser -HIDReportDescriptor::HIDReportDescriptor(const uint8_t* pData, size_t length) +HidReportDescriptor::HidReportDescriptor(const uint8_t* pData, size_t length) : m_pData(pData), m_length(length), m_pos(0), @@ -196,7 +196,7 @@ HIDReportDescriptor::HIDReportDescriptor(const uint8_t* pData, size_t length) m_collectionLevel(0) { } -std::pair HIDReportDescriptor::readTag() { +std::pair HidReportDescriptor::readTag() { uint8_t byte = m_pData[m_pos++]; VERIFY_OR_DEBUG_ASSERT(byte != @@ -213,7 +213,7 @@ std::pair HIDReportDescriptor::readTag() { return {tag, size}; } -uint32_t HIDReportDescriptor::readPayload(HidItemSize payloadSize) { +uint32_t HidReportDescriptor::readPayload(HidItemSize payloadSize) { uint32_t payload; switch (payloadSize) { @@ -246,7 +246,7 @@ uint32_t HIDReportDescriptor::readPayload(HidItemSize payloadSize) { } } -int32_t HIDReportDescriptor::getSignedValue(uint32_t payload, HidItemSize payloadSize) { +int32_t HidReportDescriptor::getSignedValue(uint32_t payload, HidItemSize payloadSize) { switch (payloadSize) { case HidItemSize::ZeroBytePayload: return 0; @@ -268,7 +268,7 @@ int32_t HIDReportDescriptor::getSignedValue(uint32_t payload, HidItemSize payloa } } -uint32_t HIDReportDescriptor::getDecodedUsage( +uint32_t HidReportDescriptor::getDecodedUsage( uint16_t usagePage, uint32_t usage, HidItemSize usageSize) { switch (usageSize) { case HidItemSize::ZeroBytePayload: @@ -284,7 +284,7 @@ uint32_t HIDReportDescriptor::getDecodedUsage( } } -HidReportType HIDReportDescriptor::getReportType(HidItemTag tag) { +HidReportType HidReportDescriptor::getReportType(HidItemTag tag) { switch (tag) { case HidItemTag::Input: return HidReportType::Input; @@ -299,7 +299,7 @@ HidReportType HIDReportDescriptor::getReportType(HidItemTag tag) { } } -Collection HIDReportDescriptor::parse() { +Collection HidReportDescriptor::parse() { Collection collection; // Top level collection std::unique_ptr pCurrentReport = nullptr; // Use a unique_ptr for pCurrentReport @@ -518,7 +518,7 @@ Collection HIDReportDescriptor::parse() { return collection; } -const Report* HIDReportDescriptor::getReport( +const Report* HidReportDescriptor::getReport( const HidReportType& reportType, const uint8_t& reportId) const { for (const auto& collection : m_topLevelCollections) { const Report* report = collection.getReport(reportType, reportId); @@ -530,7 +530,7 @@ const Report* HIDReportDescriptor::getReport( } const std::vector> -HIDReportDescriptor::getListOfReports() const { +HidReportDescriptor::getListOfReports() const { std::vector> orderedList; for (size_t i = 0; i < m_topLevelCollections.size(); ++i) { for (const auto& report : m_topLevelCollections[i].getReports()) { diff --git a/src/controllers/hid/hidreportdescriptor.h b/src/controllers/hid/hidreportdescriptor.h index a13cd4bbd2b3..c8a1db4ea364 100644 --- a/src/controllers/hid/hidreportdescriptor.h +++ b/src/controllers/hid/hidreportdescriptor.h @@ -193,9 +193,9 @@ class Collection { }; // Class for parsing HID report descriptors -class HIDReportDescriptor { +class HidReportDescriptor { public: - HIDReportDescriptor(const uint8_t* pData, size_t length); + HidReportDescriptor(const uint8_t* pData, size_t length); bool isDeviceWithReportIds() const { return m_deviceHasReportIds; diff --git a/src/test/controller_hid_reportdescriptor_test.cpp b/src/test/controller_hid_reportdescriptor_test.cpp index 9c5ee6967168..2a9166686369 100644 --- a/src/test/controller_hid_reportdescriptor_test.cpp +++ b/src/test/controller_hid_reportdescriptor_test.cpp @@ -40,7 +40,7 @@ uint8_t reportDescriptor[] = { // clang-format on TEST(HidReportDescriptorParserTest, ParseReportDescriptor) { - HIDReportDescriptor parser(reportDescriptor, sizeof(reportDescriptor)); + HidReportDescriptor parser(reportDescriptor, sizeof(reportDescriptor)); Collection collection = parser.parse(); // Use getListOfReports to get the list of reports @@ -123,7 +123,7 @@ TEST(HidReportDescriptorParserTest, ParseReportDescriptor) { ASSERT_EQ(controls[4].m_bitPosition, 0); } -TEST(HIDReportDescriptorTest, ControlValue_1Bit) { +TEST(HidReportDescriptorTest, ControlValue_1Bit) { auto reportData = QByteArray::fromHex("81'00'00'FF'01"); Control control({0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, // Flags 0x0009'0001, // UsagePage/Usage @@ -148,7 +148,7 @@ TEST(HIDReportDescriptorTest, ControlValue_1Bit) { EXPECT_EQ(value2, 0x0); } -TEST(HIDReportDescriptorTest, ControlValue_unsigned11Bits) { +TEST(HidReportDescriptorTest, ControlValue_unsigned11Bits) { auto reportData = QByteArray::fromHex("81'30'46'00'01"); Control control({0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, // Flags 0x0009'0001, // UsagePage/Usage @@ -173,7 +173,7 @@ TEST(HIDReportDescriptorTest, ControlValue_unsigned11Bits) { EXPECT_EQ(value2, 0b010'1010'1010); } -TEST(HIDReportDescriptorTest, ControlValue_signed11Bits) { +TEST(HidReportDescriptorTest, ControlValue_signed11Bits) { auto reportData = QByteArray::fromHex("AA'BB'CC'DD'EE"); Control control({0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, // Flags 0x0009'0001, // UsagePage/Usage @@ -205,7 +205,7 @@ TEST(HIDReportDescriptorTest, ControlValue_signed11Bits) { EXPECT_EQ(value3, -200); } -TEST(HIDReportDescriptorTest, ControlValue_unsigned32Bits) { +TEST(HidReportDescriptorTest, ControlValue_unsigned32Bits) { auto reportData = QByteArray::fromHex("0A'21'43'65'B7"); Control control({0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, // Flags 0x0009'0001, // UsagePage/Usage @@ -230,7 +230,7 @@ TEST(HIDReportDescriptorTest, ControlValue_unsigned32Bits) { EXPECT_EQ(value2, 0x01'23'45'67); } -TEST(HIDReportDescriptorTest, ControlValue_signed32Bits) { +TEST(HidReportDescriptorTest, ControlValue_signed32Bits) { auto reportData = QByteArray::fromHex("0A'21'43'65'B7"); Control control({0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, // Flags 0x0009'0001, // UsagePage/Usage @@ -262,7 +262,7 @@ TEST(HIDReportDescriptorTest, ControlValue_signed32Bits) { EXPECT_EQ(value3, std::numeric_limits::max()); } -TEST(HIDReportDescriptorTest, SetControlValue_OutOfRange) { +TEST(HidReportDescriptorTest, SetControlValue_OutOfRange) { auto reportData = QByteArray::fromHex("81'00'00'00'01"); Control control({0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, // Flags 0x0009'0001, // UsagePage/Usage From c501988b610cb1c17d0802b1f26ed2352e159f64 Mon Sep 17 00:00:00 2001 From: Joerg Date: Fri, 16 May 2025 22:04:46 +0200 Subject: [PATCH 097/181] Replace ASSERT_EQ with EXPECT_EQ in HID tests --- .../controller_hid_reportdescriptor_test.cpp | 100 +++++++++--------- 1 file changed, 50 insertions(+), 50 deletions(-) diff --git a/src/test/controller_hid_reportdescriptor_test.cpp b/src/test/controller_hid_reportdescriptor_test.cpp index 2a9166686369..5bfb8f88cb99 100644 --- a/src/test/controller_hid_reportdescriptor_test.cpp +++ b/src/test/controller_hid_reportdescriptor_test.cpp @@ -63,64 +63,64 @@ TEST(HidReportDescriptorParserTest, ParseReportDescriptor) { ASSERT_EQ(controls.size(), 5); // Mouse Button 1 - ASSERT_EQ(controls[0].m_usage, 0x0009'0001); - ASSERT_EQ(controls[0].m_logicalMinimum, 0); - ASSERT_EQ(controls[0].m_logicalMaximum, 1); - ASSERT_EQ(controls[0].m_physicalMinimum, 0); - ASSERT_EQ(controls[0].m_physicalMaximum, 1); - ASSERT_EQ(controls[0].m_unitExponent, 0); - ASSERT_EQ(controls[0].m_unit, 0); - ASSERT_EQ(controls[0].m_bytePosition, 0); - ASSERT_EQ(controls[0].m_bitPosition, 0); - ASSERT_EQ(controls[0].m_bitSize, 1); + EXPECT_EQ(controls[0].m_usage, 0x0009'0001); + EXPECT_EQ(controls[0].m_logicalMinimum, 0); + EXPECT_EQ(controls[0].m_logicalMaximum, 1); + EXPECT_EQ(controls[0].m_physicalMinimum, 0); + EXPECT_EQ(controls[0].m_physicalMaximum, 1); + EXPECT_EQ(controls[0].m_unitExponent, 0); + EXPECT_EQ(controls[0].m_unit, 0); + EXPECT_EQ(controls[0].m_bytePosition, 0); + EXPECT_EQ(controls[0].m_bitPosition, 0); + EXPECT_EQ(controls[0].m_bitSize, 1); // Mouse Button 2 - ASSERT_EQ(controls[1].m_usage, 0x0009'0002); - ASSERT_EQ(controls[1].m_logicalMinimum, 0); - ASSERT_EQ(controls[1].m_logicalMaximum, 1); - ASSERT_EQ(controls[1].m_physicalMinimum, 0); - ASSERT_EQ(controls[1].m_physicalMaximum, 1); - ASSERT_EQ(controls[1].m_unitExponent, 0); - ASSERT_EQ(controls[1].m_unit, 0); - ASSERT_EQ(controls[1].m_bytePosition, 0); - ASSERT_EQ(controls[1].m_bitPosition, 1); - ASSERT_EQ(controls[1].m_bitSize, 1); + EXPECT_EQ(controls[1].m_usage, 0x0009'0002); + EXPECT_EQ(controls[1].m_logicalMinimum, 0); + EXPECT_EQ(controls[1].m_logicalMaximum, 1); + EXPECT_EQ(controls[1].m_physicalMinimum, 0); + EXPECT_EQ(controls[1].m_physicalMaximum, 1); + EXPECT_EQ(controls[1].m_unitExponent, 0); + EXPECT_EQ(controls[1].m_unit, 0); + EXPECT_EQ(controls[1].m_bytePosition, 0); + EXPECT_EQ(controls[1].m_bitPosition, 1); + EXPECT_EQ(controls[1].m_bitSize, 1); // Mouse Button 3 - ASSERT_EQ(controls[2].m_usage, 0x0009'0003); - ASSERT_EQ(controls[2].m_logicalMinimum, 0); - ASSERT_EQ(controls[2].m_logicalMaximum, 1); - ASSERT_EQ(controls[2].m_physicalMinimum, 0); - ASSERT_EQ(controls[2].m_physicalMaximum, 1); - ASSERT_EQ(controls[2].m_unitExponent, 0); - ASSERT_EQ(controls[2].m_unit, 0); - ASSERT_EQ(controls[2].m_bytePosition, 0); - ASSERT_EQ(controls[2].m_bitPosition, 2); - ASSERT_EQ(controls[2].m_bitSize, 1); + EXPECT_EQ(controls[2].m_usage, 0x0009'0003); + EXPECT_EQ(controls[2].m_logicalMinimum, 0); + EXPECT_EQ(controls[2].m_logicalMaximum, 1); + EXPECT_EQ(controls[2].m_physicalMinimum, 0); + EXPECT_EQ(controls[2].m_physicalMaximum, 1); + EXPECT_EQ(controls[2].m_unitExponent, 0); + EXPECT_EQ(controls[2].m_unit, 0); + EXPECT_EQ(controls[2].m_bytePosition, 0); + EXPECT_EQ(controls[2].m_bitPosition, 2); + EXPECT_EQ(controls[2].m_bitSize, 1); // Mouse Movement X - ASSERT_EQ(controls[3].m_usage, 0x0001'0030); - ASSERT_EQ(controls[3].m_logicalMinimum, -127); - ASSERT_EQ(controls[3].m_logicalMaximum, 127); - ASSERT_EQ(controls[3].m_physicalMinimum, -127); - ASSERT_EQ(controls[3].m_physicalMaximum, 127); - ASSERT_EQ(controls[3].m_unitExponent, 0); - ASSERT_EQ(controls[3].m_unit, 0); - ASSERT_EQ(controls[3].m_bitSize, 8); - ASSERT_EQ(controls[3].m_bytePosition, 1); - ASSERT_EQ(controls[3].m_bitPosition, 0); + EXPECT_EQ(controls[3].m_usage, 0x0001'0030); + EXPECT_EQ(controls[3].m_logicalMinimum, -127); + EXPECT_EQ(controls[3].m_logicalMaximum, 127); + EXPECT_EQ(controls[3].m_physicalMinimum, -127); + EXPECT_EQ(controls[3].m_physicalMaximum, 127); + EXPECT_EQ(controls[3].m_unitExponent, 0); + EXPECT_EQ(controls[3].m_unit, 0); + EXPECT_EQ(controls[3].m_bitSize, 8); + EXPECT_EQ(controls[3].m_bytePosition, 1); + EXPECT_EQ(controls[3].m_bitPosition, 0); // Mouse Movement Y - ASSERT_EQ(controls[4].m_usage, 0x0001'0031); - ASSERT_EQ(controls[4].m_logicalMinimum, -127); - ASSERT_EQ(controls[4].m_logicalMaximum, 127); - ASSERT_EQ(controls[4].m_physicalMinimum, -127); - ASSERT_EQ(controls[4].m_physicalMaximum, 127); - ASSERT_EQ(controls[4].m_unitExponent, 0); - ASSERT_EQ(controls[4].m_unit, 0); - ASSERT_EQ(controls[4].m_bitSize, 8); - ASSERT_EQ(controls[4].m_bytePosition, 2); - ASSERT_EQ(controls[4].m_bitPosition, 0); + EXPECT_EQ(controls[4].m_usage, 0x0001'0031); + EXPECT_EQ(controls[4].m_logicalMinimum, -127); + EXPECT_EQ(controls[4].m_logicalMaximum, 127); + EXPECT_EQ(controls[4].m_physicalMinimum, -127); + EXPECT_EQ(controls[4].m_physicalMaximum, 127); + EXPECT_EQ(controls[4].m_unitExponent, 0); + EXPECT_EQ(controls[4].m_unit, 0); + EXPECT_EQ(controls[4].m_bitSize, 8); + EXPECT_EQ(controls[4].m_bytePosition, 2); + EXPECT_EQ(controls[4].m_bitPosition, 0); } TEST(HidReportDescriptorTest, ControlValue_1Bit) { From 42ec84bfef5e7b9272719b669aa27d5f88f56d03 Mon Sep 17 00:00:00 2001 From: Joerg Date: Fri, 16 May 2025 22:17:59 +0200 Subject: [PATCH 098/181] Reordered struct GlobalItems for memory efficiency --- src/controllers/hid/hidreportdescriptor.h | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/controllers/hid/hidreportdescriptor.h b/src/controllers/hid/hidreportdescriptor.h index c8a1db4ea364..48c80c0e2d31 100644 --- a/src/controllers/hid/hidreportdescriptor.h +++ b/src/controllers/hid/hidreportdescriptor.h @@ -208,16 +208,16 @@ class HidReportDescriptor { private: // Define the struct for global items struct GlobalItems { - uint16_t usagePage = 0; int32_t logicalMinimum = 0; int32_t logicalMaximum = 0; int32_t physicalMinimum = 0; int32_t physicalMaximum = 0; - int8_t unitExponent = 0; - uint32_t unit = 0; uint32_t reportSize = 0; - uint8_t reportId = 0; uint32_t reportCount = 0; + uint32_t unit = 0; + int8_t unitExponent = 0; + uint8_t reportId = 0; + uint16_t usagePage = 0; }; struct LocalItems { From 2d1775a4071255c7bef21736fb4b7afe8a331bb6 Mon Sep 17 00:00:00 2001 From: Joerg Date: Fri, 16 May 2025 22:31:17 +0200 Subject: [PATCH 099/181] Use C++ integer types with std:: --- src/controllers/hid/hidreportdescriptor.h | 150 +++++++++++----------- 1 file changed, 77 insertions(+), 73 deletions(-) diff --git a/src/controllers/hid/hidreportdescriptor.h b/src/controllers/hid/hidreportdescriptor.h index 48c80c0e2d31..94003cffc7ba 100644 --- a/src/controllers/hid/hidreportdescriptor.h +++ b/src/controllers/hid/hidreportdescriptor.h @@ -4,6 +4,7 @@ #include #include +#include #include #include @@ -11,7 +12,7 @@ namespace hid::reportDescriptor { Q_NAMESPACE -QString getScaledUnitString(uint32_t unit); +QString getScaledUnitString(std::uint32_t unit); constexpr int kNotSet = -1; // Value used instead of the ReportID, if device don't have ReportIDs @@ -26,7 +27,7 @@ Q_ENUM_NS(HidReportType) // clang-format off // Enum class for HID Item Tags (incl. the two type bits) -enum class HidItemTag : uint8_t { +enum class HidItemTag : std::uint8_t { // "Main Items" according to chapter 6.2.2.4 of HID class definition 1.11 Input = 0b1000'00'00, Output = 0b1001'00'00, @@ -73,7 +74,7 @@ enum class HidItemTag : uint8_t { }; // Enum class for HID Item Sizes -enum class HidItemSize : uint8_t { +enum class HidItemSize : std::uint8_t { // "Short Items" sizes according to chapter 6.2.2.2 of HID class definition 1.11 ZeroBytePayload = 0b0000'00'00, OneBytePayload = 0b0000'00'01, @@ -88,7 +89,7 @@ enum class HidItemSize : uint8_t { }; // Collection types according to chapter 6.2.2.6 of HID class definition 1.11 -enum class CollectionType : uint8_t { +enum class CollectionType : std::uint8_t { Physical = 0x00, // e.g. group of axes Application = 0x01, // e.g. mouse or keyboard Logical = 0x02, // interrelated data @@ -102,63 +103,63 @@ enum class CollectionType : uint8_t { // clang-format on struct ControlFlags { - uint32_t data_constant : 1; // Data (0) | Constant (1) - uint32_t array_variable : 1; // Array (0) | Variable (1) - uint32_t absolute_relative : 1; // Absolute (0) | Relative (1) - uint32_t no_wrap_wrap : 1; // No Wrap (0) | Wrap (1) - uint32_t linear_non_linear : 1; // Linear (0) | Non Linear (1) - uint32_t preferred_no_preferred : 1; // Preferred State (0) | No Preferred (1) - uint32_t no_null_null : 1; // No Null position (0) | Null state(1) - uint32_t non_volatile_volatile : 1; // Non Volatile (0) | Volatile (1) - uint32_t bit_field_buffered : 1; // Bit Field (0) | Buffered Bytes (1) - uint32_t reserved : 23; + std::uint32_t data_constant : 1; // Data (0) | Constant (1) + std::uint32_t array_variable : 1; // Array (0) | Variable (1) + std::uint32_t absolute_relative : 1; // Absolute (0) | Relative (1) + std::uint32_t no_wrap_wrap : 1; // No Wrap (0) | Wrap (1) + std::uint32_t linear_non_linear : 1; // Linear (0) | Non Linear (1) + std::uint32_t preferred_no_preferred : 1; // Preferred State (0) | No Preferred (1) + std::uint32_t no_null_null : 1; // No Null position (0) | Null state(1) + std::uint32_t non_volatile_volatile : 1; // Non Volatile (0) | Volatile (1) + std::uint32_t bit_field_buffered : 1; // Bit Field (0) | Buffered Bytes (1) + std::uint32_t reserved : 23; }; // Class representing a control described in the HID report descriptor class Control { public: Control(const ControlFlags flags, - const uint32_t usage, - const int32_t logicalMinimum, - const int32_t logicalMaximum, - const int32_t physicalMinimum, - const int32_t physicalMaximum, - const int8_t unitExponent, - const uint32_t unit, - const uint16_t bytePosition, // Position of the first byte in the report - const uint8_t bitPosition, // Position of first bit in first byte - const uint8_t bitSize); + const std::uint32_t usage, + const std::int32_t logicalMinimum, + const std::int32_t logicalMaximum, + const std::int32_t physicalMinimum, + const std::int32_t physicalMaximum, + const std::int8_t unitExponent, + const std::uint32_t unit, + const std::uint16_t bytePosition, // Position of the first byte in the report + const std::uint8_t bitPosition, // Position of first bit in first byte + const std::uint8_t bitSize); const ControlFlags m_flags; - const uint32_t m_usage; - const int32_t m_logicalMinimum; - const int32_t m_logicalMaximum; - const int32_t m_physicalMinimum; - const int32_t m_physicalMaximum; - const int8_t m_unitExponent; - const uint32_t m_unit; - const uint16_t m_bytePosition; // Position of the first byte in the report - const uint8_t m_bitPosition; // Position of first bit in first byte - const uint8_t m_bitSize; + const std::uint32_t m_usage; + const std::int32_t m_logicalMinimum; + const std::int32_t m_logicalMaximum; + const std::int32_t m_physicalMinimum; + const std::int32_t m_physicalMaximum; + const std::int8_t m_unitExponent; + const std::uint32_t m_unit; + const std::uint16_t m_bytePosition; // Position of the first byte in the report + const std::uint8_t m_bitPosition; // Position of first bit in first byte + const std::uint8_t m_bitSize; private: }; -int32_t extractLogicalValue(const QByteArray& data, const Control& control); -bool applyLogicalValue(QByteArray& data, const Control& control, int32_t controlValue); +std::int32_t extractLogicalValue(const QByteArray& data, const Control& control); +bool applyLogicalValue(QByteArray& data, const Control& control, std::int32_t controlValue); // Class representing a report in the HID report descriptor class Report { public: - Report(const HidReportType& reportType, const uint8_t& reportId); + Report(const HidReportType& reportType, const std::uint8_t& reportId); void addControl(const Control& item); void increasePosition(unsigned int bitSize); - uint16_t getLastBytePosition() const { + std::uint16_t getLastBytePosition() const { return m_lastBytePosition; } - uint8_t getLastBitPosition() const { + std::uint8_t getLastBitPosition() const { return m_lastBitPosition; } @@ -167,15 +168,15 @@ class Report { } const HidReportType m_reportType; - const uint8_t m_reportId; - uint16_t getReportSize() const { + const std::uint8_t m_reportId; + std::uint16_t getReportSize() const { return m_lastBytePosition; } private: std::vector m_controls; - uint16_t m_lastBytePosition; - uint8_t m_lastBitPosition; // Last bit position inside last byte + std::uint16_t m_lastBytePosition; + std::uint8_t m_lastBitPosition; // Last bit position inside last byte }; // Class representing a collection of HID items @@ -183,7 +184,7 @@ class Collection { public: Collection() = default; void addReport(const Report& report); - const Report* getReport(const HidReportType& reportType, const uint8_t& reportId) const; + const Report* getReport(const HidReportType& reportType, const std::uint8_t& reportId) const; const std::vector& getReports() const { return m_reports; } @@ -195,55 +196,58 @@ class Collection { // Class for parsing HID report descriptors class HidReportDescriptor { public: - HidReportDescriptor(const uint8_t* pData, size_t length); + HidReportDescriptor(const std::uint8_t* pData, std::size_t length); bool isDeviceWithReportIds() const { return m_deviceHasReportIds; } Collection parse(); - const Report* getReport(const HidReportType& reportType, const uint8_t& reportId) const; - const std::vector> getListOfReports() const; + const Report* getReport(const HidReportType& reportType, const std::uint8_t& reportId) const; + const std::vector> + getListOfReports() const; private: // Define the struct for global items struct GlobalItems { - int32_t logicalMinimum = 0; - int32_t logicalMaximum = 0; - int32_t physicalMinimum = 0; - int32_t physicalMaximum = 0; - uint32_t reportSize = 0; - uint32_t reportCount = 0; - uint32_t unit = 0; - int8_t unitExponent = 0; - uint8_t reportId = 0; - uint16_t usagePage = 0; + std::int32_t logicalMinimum = 0; + std::int32_t logicalMaximum = 0; + std::int32_t physicalMinimum = 0; + std::int32_t physicalMaximum = 0; + std::uint32_t reportSize = 0; + std::uint32_t reportCount = 0; + std::uint32_t unit = 0; + std::int8_t unitExponent = 0; + std::uint8_t reportId = 0; + std::uint16_t usagePage = 0; }; struct LocalItems { - std::vector Usage; - int64_t UsageMinimum = kNotSet; - int64_t UsageMaximum = kNotSet; - int64_t DesignatorIndex = kNotSet; - int64_t DesignatorMinimum = kNotSet; - int64_t DesignatorMaximum = kNotSet; - int64_t StringIndex = kNotSet; - int64_t StringMinimum = kNotSet; - int64_t StringMaximum = kNotSet; - int64_t Delimiter = kNotSet; + std::vector Usage; + std::int64_t UsageMinimum = kNotSet; + std::int64_t UsageMaximum = kNotSet; + std::int64_t DesignatorIndex = kNotSet; + std::int64_t DesignatorMinimum = kNotSet; + std::int64_t DesignatorMaximum = kNotSet; + std::int64_t StringIndex = kNotSet; + std::int64_t StringMinimum = kNotSet; + std::int64_t StringMaximum = kNotSet; + std::int64_t Delimiter = kNotSet; }; std::pair readTag(); - uint32_t readPayload(HidItemSize payloadSize); + std::uint32_t readPayload(HidItemSize payloadSize); - int32_t getSignedValue(uint32_t payload, HidItemSize payloadSize); - uint32_t getDecodedUsage(uint16_t usagePage, uint32_t usage, HidItemSize usageSize); + std::int32_t getSignedValue(std::uint32_t payload, HidItemSize payloadSize); + std::uint32_t getDecodedUsage(std::uint16_t usagePage, + std::uint32_t usage, + HidItemSize usageSize); HidReportType getReportType(HidItemTag tag); - const uint8_t* m_pData; - size_t m_length; - size_t m_pos; + const std::uint8_t* m_pData; + std::size_t m_length; + std::size_t m_pos; bool m_deviceHasReportIds; From 78c3a5276ce83e78da1ea06097113ed351a60085 Mon Sep 17 00:00:00 2001 From: Joerg Date: Sat, 17 May 2025 23:13:01 +0200 Subject: [PATCH 100/181] Use make_parented where possible --- .../controllerhidreporttabsmanager.cpp | 23 ++++++++++--------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/src/controllers/controllerhidreporttabsmanager.cpp b/src/controllers/controllerhidreporttabsmanager.cpp index 8d7f1eeb46c8..69180a521c9b 100644 --- a/src/controllers/controllerhidreporttabsmanager.cpp +++ b/src/controllers/controllerhidreporttabsmanager.cpp @@ -10,6 +10,7 @@ #include "controllers/hid/hidusagetables.h" #include "moc_controllerhidreporttabsmanager.cpp" +#include "util/parented_ptr.h" ControllerHidReportTabsManager::ControllerHidReportTabsManager( QTabWidget* pParentTabWidget, HidController* pHidController) @@ -55,13 +56,13 @@ void ControllerHidReportTabsManager::createHidReportTab(QTabWidget* pParentRepor .rightJustified(2, '0') .toUpper()); - auto* pTabWidget = new QWidget(pParentReportTypeTab); - auto* pLayout = new QVBoxLayout(pTabWidget); + auto pTabWidget = make_parented(pParentReportTypeTab); + auto pLayout = make_parented(pTabWidget); auto* pTopWidgetRow = new QHBoxLayout(); // Create buttons - auto* pReadButton = new QPushButton(QStringLiteral("Read"), pTabWidget); - auto* pSendButton = new QPushButton(QStringLiteral("Send"), pTabWidget); + auto pReadButton = make_parented(QStringLiteral("Read"), pTabWidget); + auto pSendButton = make_parented(QStringLiteral("Send"), pTabWidget); // Adjust visibility/enable state based on the report type if (reportType == hid::reportDescriptor::HidReportType::Input) { @@ -75,13 +76,13 @@ void ControllerHidReportTabsManager::createHidReportTab(QTabWidget* pParentRepor pTopWidgetRow->addWidget(pSendButton); pLayout->addLayout(pTopWidgetRow); - auto* pTable = new QTableWidget(pTabWidget); + auto pTable = make_parented(pTabWidget); pLayout->addWidget(pTable); const auto* pReport = reportDescriptor.getReport(reportType, reportId); if (pReport) { // Show payload size - auto* pSizeLabel = new QLabel(pTabWidget); + auto pSizeLabel = make_parented(pTabWidget); pSizeLabel->setText( QStringLiteral("Payload Size: %1 bytes") .arg(pReport->getReportSize())); @@ -94,7 +95,7 @@ void ControllerHidReportTabsManager::createHidReportTab(QTabWidget* pParentRepor connect(pReadButton, &QPushButton::clicked, this, - [this, pTable, reportId, reportType]() { + [this, pTable = pTable.get(), reportId, reportType]() { slotReadReport(pTable, reportId, reportType); }); // Read once on tab creation @@ -104,7 +105,7 @@ void ControllerHidReportTabsManager::createHidReportTab(QTabWidget* pParentRepor connect(pSendButton, &QPushButton::clicked, this, - [this, pTable, reportId, reportType]() { + [this, pTable = pTable.get(), reportId, reportType]() { slotSendReport(pTable, reportId, reportType); }); } @@ -272,7 +273,7 @@ void ControllerHidReportTabsManager::populateHidReportTable( // Set the delegate once if needed if (reportType != hid::reportDescriptor::HidReportType::Input) { - pTable->setItemDelegateForColumn(5, new ValueItemDelegate(pTable)); + pTable->setItemDelegateForColumn(5, make_parented(pTable)); } bool showVolatileColumn = (reportType == hid::reportDescriptor::HidReportType::Feature || @@ -468,8 +469,8 @@ QWidget* ValueItemDelegate::createEditor(QWidget* pParent, const QModelIndex& index) const { // Create a line edit restricted by (logical min, logical max) auto dataRange = index.data(Qt::UserRole).value>(); - auto* pEditor = new QLineEdit(pParent); - pEditor->setValidator(new QIntValidator(dataRange.first, dataRange.second, pEditor)); + auto pEditor = make_parented(pParent); + pEditor->setValidator(make_parented(dataRange.first, dataRange.second, pEditor)); return pEditor; } From ee691331fa29f27f631cece889fd47fc1643c64c Mon Sep 17 00:00:00 2001 From: Joerg Date: Sun, 18 May 2025 00:25:28 +0200 Subject: [PATCH 101/181] Made user facing strings translateable --- .../controllerhidreporttabsmanager.cpp | 69 ++++++++++--------- 1 file changed, 36 insertions(+), 33 deletions(-) diff --git a/src/controllers/controllerhidreporttabsmanager.cpp b/src/controllers/controllerhidreporttabsmanager.cpp index 69180a521c9b..8e7e7391aa3a 100644 --- a/src/controllers/controllerhidreporttabsmanager.cpp +++ b/src/controllers/controllerhidreporttabsmanager.cpp @@ -49,6 +49,7 @@ void ControllerHidReportTabsManager::createHidReportTab(QTabWidget* pParentRepor for (const auto& reportInfo : reportDescriptor.getListOfReports()) { auto [index, type, reportId] = reportInfo; if (type == reportType) { + // Report is a fixed HID term and shouldn't be translated QString tabName = QStringLiteral("%1 Report 0x%2") .arg(metaEnum.valueToKey(static_cast( reportType)), @@ -61,8 +62,8 @@ void ControllerHidReportTabsManager::createHidReportTab(QTabWidget* pParentRepor auto* pTopWidgetRow = new QHBoxLayout(); // Create buttons - auto pReadButton = make_parented(QStringLiteral("Read"), pTabWidget); - auto pSendButton = make_parented(QStringLiteral("Send"), pTabWidget); + auto pReadButton = make_parented(tr("Read"), pTabWidget); + auto pSendButton = make_parented(tr("Send"), pTabWidget); // Adjust visibility/enable state based on the report type if (reportType == hid::reportDescriptor::HidReportType::Input) { @@ -84,8 +85,10 @@ void ControllerHidReportTabsManager::createHidReportTab(QTabWidget* pParentRepor // Show payload size auto pSizeLabel = make_parented(pTabWidget); pSizeLabel->setText( - QStringLiteral("Payload Size: %1 bytes") - .arg(pReport->getReportSize())); + QStringLiteral("%1: %2 %3") + .arg(tr("Payload Size")) + .arg(pReport->getReportSize()) + .arg(tr("bytes"))); pTopWidgetRow->insertWidget(0, pSizeLabel); populateHidReportTable(pTable, *pReport, reportType); @@ -280,25 +283,25 @@ void ControllerHidReportTabsManager::populateHidReportTable( reportType == hid::reportDescriptor::HidReportType::Output); // Set headers - QStringList headers = {QStringLiteral("Byte Position"), - QStringLiteral("Bit Position"), - QStringLiteral("Bit Size"), - QStringLiteral("Logical Min"), - QStringLiteral("Logical Max"), - QStringLiteral("Value"), - QStringLiteral("Physical Min"), - QStringLiteral("Physical Max"), - QStringLiteral("Unit Scaling"), - QStringLiteral("Unit"), - QStringLiteral("Abs/Rel"), - QStringLiteral("Wrap"), - QStringLiteral("Linear"), - QStringLiteral("Preferred"), - QStringLiteral("Null")}; + QStringList headers = {tr("Byte Position"), + tr("Bit Position"), + tr("Bit Size"), + tr("Logical Min"), + tr("Logical Max"), + tr("Value"), + tr("Physical Min"), + tr("Physical Max"), + tr("Unit Scaling"), + tr("Unit"), + tr("Abs/Rel"), + tr("Wrap"), + tr("Linear"), + tr("Preferred"), + tr("Null")}; if (showVolatileColumn) { - headers << QStringLiteral("Volatile"); + headers << tr("Volatile"); } - headers << QStringLiteral("Usage Page") << QStringLiteral("Usage"); + headers << tr("Usage Page") << tr("Usage"); pTable->setColumnCount(headers.size()); pTable->setHorizontalHeaderLabels(headers); @@ -387,32 +390,32 @@ void ControllerHidReportTabsManager::populateHidReportTable( pTable->setItem(row, 10, createReadOnlyItem(pControl.m_flags.absolute_relative - ? QStringLiteral("Relative") - : QStringLiteral("Absolute"))); + ? tr("Relative") + : tr("Absolute"))); // Column 11 - Wrap pTable->setItem(row, 11, createReadOnlyItem(pControl.m_flags.no_wrap_wrap - ? QStringLiteral("Wrap") - : QStringLiteral("No Wrap"))); + ? tr("Wrap") + : tr("No Wrap"))); // Column 12 - Linear pTable->setItem(row, 12, createReadOnlyItem(pControl.m_flags.linear_non_linear - ? QStringLiteral("Non Linear") - : QStringLiteral("Linear"))); + ? tr("Non Linear") + : tr("Linear"))); // Column 13 - Preferred pTable->setItem(row, 13, createReadOnlyItem(pControl.m_flags.preferred_no_preferred - ? QStringLiteral("No Preferred") - : QStringLiteral("Preferred"))); + ? tr("No Preferred") + : tr("Preferred"))); // Column 14 - Null pTable->setItem(row, 14, createReadOnlyItem(pControl.m_flags.no_null_null - ? QStringLiteral("Null") - : QStringLiteral("No Null"))); + ? tr("Null") + : tr("No Null"))); // Volatile column (if present) int volatileIndex = (showVolatileColumn ? 15 : -1); @@ -420,8 +423,8 @@ void ControllerHidReportTabsManager::populateHidReportTable( pTable->setItem(row, volatileIndex, createReadOnlyItem(pControl.m_flags.non_volatile_volatile - ? QStringLiteral("Volatile") - : QStringLiteral("Non Volatile"))); + ? tr("Volatile") + : tr("Non Volatile"))); } // Usage Page / Usage From ee2ce845cc3bbdbc7ce3e8ca5667c637a47538aa Mon Sep 17 00:00:00 2001 From: Joerg Date: Sun, 18 May 2025 00:45:22 +0200 Subject: [PATCH 102/181] Added missin NULL checks --- src/controllers/controllerhidreporttabsmanager.cpp | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/controllers/controllerhidreporttabsmanager.cpp b/src/controllers/controllerhidreporttabsmanager.cpp index 8e7e7391aa3a..29550ac68ccc 100644 --- a/src/controllers/controllerhidreporttabsmanager.cpp +++ b/src/controllers/controllerhidreporttabsmanager.cpp @@ -144,6 +144,9 @@ void ControllerHidReportTabsManager::updateTableWithReportData( QVariant customData = pTable->item(row, 0)->data(Qt::UserRole + 1); if (customData.isValid()) { const auto* pControl = customData.value(); + VERIFY_OR_DEBUG_ASSERT(pControl) { + continue; + } // Use the custom data as needed int64_t controlValue = hid::reportDescriptor::extractLogicalValue( @@ -215,6 +218,9 @@ void ControllerHidReportTabsManager::slotReadReport(QTableWidget* pTable, void ControllerHidReportTabsManager::slotSendReport(QTableWidget* pTable, quint8 reportId, hid::reportDescriptor::HidReportType reportType) { + VERIFY_OR_DEBUG_ASSERT(m_pHidController) { + return; + } if (!m_pHidController->isOpen()) { qWarning() << "HID controller is not open."; return; @@ -244,7 +250,9 @@ void ControllerHidReportTabsManager::slotSendReport(QTableWidget* pTable, QVariant customData = pTable->item(row, 0)->data(Qt::UserRole + 1); if (customData.isValid()) { const auto* pControl = customData.value(); - // Set the control value in the reportData + VERIFY_OR_DEBUG_ASSERT(pControl) { + continue; + } bool success = hid::reportDescriptor::applyLogicalValue( reportData, *pControl, pItem->text().toLongLong()); if (!success) { From 4691746780e3a8e962a2de68038c13bcd7ab815d Mon Sep 17 00:00:00 2001 From: Joerg Date: Sun, 18 May 2025 10:58:30 +0200 Subject: [PATCH 103/181] Fix build with HID disabled --- CMakeLists.txt | 8 +++++++- src/controllers/dlgprefcontroller.cpp | 7 ++++++- src/controllers/dlgprefcontroller.h | 4 ++++ 3 files changed, 17 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 5e1d8dac807c..466bec9885cb 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -2595,7 +2595,6 @@ if(BUILD_TESTING) src/test/colormapperjsproxy_test.cpp src/test/colorpalette_test.cpp src/test/configobject_test.cpp - src/test/controller_hid_reportdescriptor_test.cpp src/test/controller_mapping_validation_test.cpp src/test/controller_mapping_settings_test.cpp src/test/controllers/controller_columnid_regression_test.cpp @@ -2706,6 +2705,13 @@ if(BUILD_TESTING) add_executable(mixxx-test ${src-mixxx-test}) + if(HID) + target_sources( + mixxx-test + PRIVATE src/test/controller_hid_reportdescriptor_test.cpp + ) + endif() + if(QML) target_sources( mixxx-test diff --git a/src/controllers/dlgprefcontroller.cpp b/src/controllers/dlgprefcontroller.cpp index 2e56b6a3f766..0c08c1a57fe6 100644 --- a/src/controllers/dlgprefcontroller.cpp +++ b/src/controllers/dlgprefcontroller.cpp @@ -90,9 +90,14 @@ DlgPrefController::DlgPrefController( m_inputMappingsTabIndex(-1), m_outputMappingsTabIndex(-1), m_settingsTabIndex(-1), - m_screensTabIndex(-1), + m_screensTabIndex(-1) +#ifdef __HID__ + , m_hidReportTabsManager(nullptr) { qRegisterMetaType(); +#else +{ +#endif m_ui.setupUi(this); // Create text color for the file and wiki links diff --git a/src/controllers/dlgprefcontroller.h b/src/controllers/dlgprefcontroller.h index 4383cf2042dc..546165356a30 100644 --- a/src/controllers/dlgprefcontroller.h +++ b/src/controllers/dlgprefcontroller.h @@ -2,7 +2,9 @@ #include +#ifdef __HID__ #include "controllers/controllerhidreporttabsmanager.h" +#endif #include "controllers/controllermappinginfo.h" #include "controllers/midi/midimessage.h" #include "controllers/ui_dlgprefcontrollerdlg.h" @@ -149,5 +151,7 @@ class DlgPrefController : public DlgPreferencePage { int m_screensTabIndex; // Index of the screens tab QHash m_settingsCollapsedStates; +#ifdef __HID__ std::unique_ptr m_hidReportTabsManager; +#endif }; From 8a29aa75b20de18dc1b9ef99ac7f166d0e5c719c Mon Sep 17 00:00:00 2001 From: Joerg Date: Sun, 18 May 2025 15:29:27 +0200 Subject: [PATCH 104/181] Don't return const for std::vector getListOfReports --- src/controllers/hid/hidreportdescriptor.cpp | 2 +- src/controllers/hid/hidreportdescriptor.h | 3 +-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/src/controllers/hid/hidreportdescriptor.cpp b/src/controllers/hid/hidreportdescriptor.cpp index 4c0a3852783c..83b2e3d7d81d 100644 --- a/src/controllers/hid/hidreportdescriptor.cpp +++ b/src/controllers/hid/hidreportdescriptor.cpp @@ -529,7 +529,7 @@ const Report* HidReportDescriptor::getReport( return nullptr; } -const std::vector> +std::vector> HidReportDescriptor::getListOfReports() const { std::vector> orderedList; for (size_t i = 0; i < m_topLevelCollections.size(); ++i) { diff --git a/src/controllers/hid/hidreportdescriptor.h b/src/controllers/hid/hidreportdescriptor.h index 94003cffc7ba..270f918287d2 100644 --- a/src/controllers/hid/hidreportdescriptor.h +++ b/src/controllers/hid/hidreportdescriptor.h @@ -204,8 +204,7 @@ class HidReportDescriptor { Collection parse(); const Report* getReport(const HidReportType& reportType, const std::uint8_t& reportId) const; - const std::vector> - getListOfReports() const; + std::vector> getListOfReports() const; private: // Define the struct for global items From 0676100fb1108fe4d7b01469e1e540ba2292e98b Mon Sep 17 00:00:00 2001 From: Joerg Date: Sun, 18 May 2025 13:13:19 +0200 Subject: [PATCH 105/181] Moved comment about fetchRawReportDescriptor from .cpp to .h --- src/controllers/hid/hiddevice.cpp | 3 --- src/controllers/hid/hiddevice.h | 3 +++ 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/controllers/hid/hiddevice.cpp b/src/controllers/hid/hiddevice.cpp index 31ea9a4d0b3b..f39ba50c9505 100644 --- a/src/controllers/hid/hiddevice.cpp +++ b/src/controllers/hid/hiddevice.cpp @@ -52,9 +52,6 @@ DeviceInfo::DeviceInfo(const hid_device_info& device_info) m_serialNumberRaw.data(), m_serialNumberRaw.size())) { } -// We need an opened hid_device here, -// but the lifetime of the data is as long as DeviceInfo exists, -// means the reportDescriptor data remains valid after closing the hid_device std::optional> DeviceInfo::fetchRawReportDescriptor(hid_device* pHidDevice) { if (!m_reportDescriptor) { if (!pHidDevice) { diff --git a/src/controllers/hid/hiddevice.h b/src/controllers/hid/hiddevice.h index 233c2d8dc2a9..f44174b6d9a2 100644 --- a/src/controllers/hid/hiddevice.h +++ b/src/controllers/hid/hiddevice.h @@ -105,6 +105,9 @@ class DeviceInfo final { return mixxx::hid::HidUsageTables::getUsageDescription(usage_page, usage); } + // We need an opened hid_device here, + // but the lifetime of the data is as long as DeviceInfo exists, + // means the reportDescriptor data remains valid after closing the hid_device std::optional> fetchRawReportDescriptor(hid_device* pHidDevice); bool isValid() const { From f440ee7add128d55d950236c885994b3a002a93b Mon Sep 17 00:00:00 2001 From: Joerg Date: Sun, 18 May 2025 14:25:54 +0200 Subject: [PATCH 106/181] Convert lambdas into functions in anonymous namespace --- .../controllerhidreporttabsmanager.cpp | 54 ++++++++++--------- 1 file changed, 29 insertions(+), 25 deletions(-) diff --git a/src/controllers/controllerhidreporttabsmanager.cpp b/src/controllers/controllerhidreporttabsmanager.cpp index 29550ac68ccc..e81ed02e6955 100644 --- a/src/controllers/controllerhidreporttabsmanager.cpp +++ b/src/controllers/controllerhidreporttabsmanager.cpp @@ -12,6 +12,34 @@ #include "moc_controllerhidreporttabsmanager.cpp" #include "util/parented_ptr.h" +namespace { +QTableWidgetItem* createReadOnlyItem(const QString& text, bool rightAlign = false) { + auto* item = new QTableWidgetItem(text); + item->setFlags(item->flags() & ~Qt::ItemIsEditable); + if (rightAlign) { + item->setTextAlignment(Qt::AlignRight | Qt::AlignVCenter); + } + return item; +} + +QTableWidgetItem* createValueItem( + hid::reportDescriptor::HidReportType reportType, + int minVal, + int maxVal) { + auto* item = new QTableWidgetItem; + QFont font = item->font(); + font.setBold(true); + item->setFont(font); + if (reportType == hid::reportDescriptor::HidReportType::Input) { + item->setFlags(item->flags() & ~Qt::ItemIsEditable); + } else { + item->setFlags(item->flags() | Qt::ItemIsEditable); + item->setData(Qt::UserRole, QVariant::fromValue(QPair(minVal, maxVal))); + } + return item; +} +} // anonymous namespace + ControllerHidReportTabsManager::ControllerHidReportTabsManager( QTabWidget* pParentTabWidget, HidController* pHidController) : m_pParentControllerTab(pParentTabWidget), @@ -315,29 +343,6 @@ void ControllerHidReportTabsManager::populateHidReportTable( pTable->setHorizontalHeaderLabels(headers); pTable->verticalHeader()->setVisible(false); - // Helpers - auto createReadOnlyItem = [](const QString& text, bool rightAlign = false) { - auto* item = new QTableWidgetItem(text); - item->setFlags(item->flags() & ~Qt::ItemIsEditable); - if (rightAlign) { - item->setTextAlignment(Qt::AlignRight | Qt::AlignVCenter); - } - return item; - }; - auto createValueItem = [reportType](int minVal, int maxVal) { - auto* item = new QTableWidgetItem; - QFont font = item->font(); - font.setBold(true); - item->setFont(font); - if (reportType == hid::reportDescriptor::HidReportType::Input) { - item->setFlags(item->flags() & ~Qt::ItemIsEditable); - } else { - item->setFlags(item->flags() | Qt::ItemIsEditable); - item->setData(Qt::UserRole, QVariant::fromValue(QPair(minVal, maxVal))); - } - return item; - }; - int row = 0; for (const auto& pControl : controls) { // Column 0 - Byte Position @@ -369,8 +374,7 @@ void ControllerHidReportTabsManager::populateHidReportTable( // Column 5 - Value pTable->setItem(row, 5, - createValueItem( - pControl.m_logicalMinimum, pControl.m_logicalMaximum)); + createValueItem(reportType, pControl.m_logicalMinimum, pControl.m_logicalMaximum)); // Column 6 - Physical Min pTable->setItem(row, 6, From 63af74fa4b5d85e8f64b3d62aded4a8eff90b091 Mon Sep 17 00:00:00 2001 From: Joerg Date: Sun, 18 May 2025 15:38:47 +0200 Subject: [PATCH 107/181] Splitted report descriptor retrieval in multiple lines and added safety checks for `std::optional` --- .../controllerhidreporttabsmanager.cpp | 20 ++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/src/controllers/controllerhidreporttabsmanager.cpp b/src/controllers/controllerhidreporttabsmanager.cpp index e81ed02e6955..f073b92d216b 100644 --- a/src/controllers/controllerhidreporttabsmanager.cpp +++ b/src/controllers/controllerhidreporttabsmanager.cpp @@ -197,7 +197,12 @@ void ControllerHidReportTabsManager::slotProcessInputReport( } QTableWidget* pTable = it->second; - const auto& reportDescriptor = *m_pHidController->getReportDescriptor(); + const auto& reportDescriptorTemp = m_pHidController->getReportDescriptor(); + if (!reportDescriptorTemp.has_value()) { + return; + } + const auto& reportDescriptor = *reportDescriptorTemp; + const auto* pReport = reportDescriptor.getReport( hid::reportDescriptor::HidReportType::Input, reportId); if (pReport) { @@ -228,7 +233,12 @@ void ControllerHidReportTabsManager::slotReadReport(QTableWidget* pTable, return; } - const auto& reportDescriptor = *m_pHidController->getReportDescriptor(); + const auto& reportDescriptorTemp = m_pHidController->getReportDescriptor(); + if (!reportDescriptorTemp.has_value()) { + return; + } + const auto& reportDescriptor = *reportDescriptorTemp; + const auto* pReport = reportDescriptor.getReport(reportType, reportId); VERIFY_OR_DEBUG_ASSERT(pReport) { return; @@ -260,7 +270,11 @@ void ControllerHidReportTabsManager::slotSendReport(QTableWidget* pTable, return; } - const auto& reportDescriptor = *m_pHidController->getReportDescriptor(); + const auto& reportDescriptorTemp = m_pHidController->getReportDescriptor(); + if (!reportDescriptorTemp.has_value()) { + return; + } + const auto& reportDescriptor = *reportDescriptorTemp; const auto* pReport = reportDescriptor.getReport(reportType, reportId); VERIFY_OR_DEBUG_ASSERT(pReport) { From efdba36290f32ab4bf6cc914704fdd9917b56f8f Mon Sep 17 00:00:00 2001 From: Joerg Date: Sun, 18 May 2025 17:49:31 +0200 Subject: [PATCH 108/181] Change return type of getReport from pointer to reference --- .../controllerhidreporttabsmanager.cpp | 29 ++++++++++--------- src/controllers/hid/hidreportdescriptor.cpp | 18 +++++++----- src/controllers/hid/hidreportdescriptor.h | 10 +++++-- .../controller_hid_reportdescriptor_test.cpp | 12 ++++---- 4 files changed, 42 insertions(+), 27 deletions(-) diff --git a/src/controllers/controllerhidreporttabsmanager.cpp b/src/controllers/controllerhidreporttabsmanager.cpp index f073b92d216b..81749ba1d679 100644 --- a/src/controllers/controllerhidreporttabsmanager.cpp +++ b/src/controllers/controllerhidreporttabsmanager.cpp @@ -108,18 +108,19 @@ void ControllerHidReportTabsManager::createHidReportTab(QTabWidget* pParentRepor auto pTable = make_parented(pTabWidget); pLayout->addWidget(pTable); - const auto* pReport = reportDescriptor.getReport(reportType, reportId); - if (pReport) { + auto reportOpt = reportDescriptor.getReport(reportType, reportId); + if (reportOpt) { + const auto& report = reportOpt->get(); // Show payload size auto pSizeLabel = make_parented(pTabWidget); pSizeLabel->setText( QStringLiteral("%1: %2 %3") .arg(tr("Payload Size")) - .arg(pReport->getReportSize()) + .arg(report.getReportSize()) .arg(tr("bytes"))); pTopWidgetRow->insertWidget(0, pSizeLabel); - populateHidReportTable(pTable, *pReport, reportType); + populateHidReportTable(pTable, report, reportType); } if (reportType != hid::reportDescriptor::HidReportType::Output) { @@ -203,9 +204,9 @@ void ControllerHidReportTabsManager::slotProcessInputReport( } const auto& reportDescriptor = *reportDescriptorTemp; - const auto* pReport = reportDescriptor.getReport( + auto reportOpt = reportDescriptor.getReport( hid::reportDescriptor::HidReportType::Input, reportId); - if (pReport) { + if (reportOpt) { updateTableWithReportData(pTable, data); } } @@ -239,13 +240,14 @@ void ControllerHidReportTabsManager::slotReadReport(QTableWidget* pTable, } const auto& reportDescriptor = *reportDescriptorTemp; - const auto* pReport = reportDescriptor.getReport(reportType, reportId); - VERIFY_OR_DEBUG_ASSERT(pReport) { + auto reportOpt = reportDescriptor.getReport(reportType, reportId); + VERIFY_OR_DEBUG_ASSERT(reportOpt) { return; } - if (reportData.size() < pReport->getReportSize()) { + const auto& report = reportOpt->get(); + if (reportData.size() < report.getReportSize()) { qWarning() << "Failed to get report. Read only " << reportData.size() - << " instead of expected " << pReport->getReportSize() + << " instead of expected " << report.getReportSize() << " bytes."; return; } @@ -276,13 +278,14 @@ void ControllerHidReportTabsManager::slotSendReport(QTableWidget* pTable, } const auto& reportDescriptor = *reportDescriptorTemp; - const auto* pReport = reportDescriptor.getReport(reportType, reportId); - VERIFY_OR_DEBUG_ASSERT(pReport) { + auto reportOpt = reportDescriptor.getReport(reportType, reportId); + VERIFY_OR_DEBUG_ASSERT(reportOpt) { return; } + const auto& report = reportOpt->get(); // Create a QByteArray of the size of the report - QByteArray reportData(pReport->getReportSize(), 0); + QByteArray reportData(report.getReportSize(), 0); // Iterate through each row in the table for (int row = 0; row < pTable->rowCount(); ++row) { diff --git a/src/controllers/hid/hidreportdescriptor.cpp b/src/controllers/hid/hidreportdescriptor.cpp index 83b2e3d7d81d..548851e1419b 100644 --- a/src/controllers/hid/hidreportdescriptor.cpp +++ b/src/controllers/hid/hidreportdescriptor.cpp @@ -2,6 +2,7 @@ #include #include +#include #include "moc_hidreportdescriptor.cpp" #include "util/assert.h" @@ -177,14 +178,16 @@ void Report::increasePosition(unsigned int bitSize) { void Collection::addReport(const Report& report) { m_reports.push_back(report); } -const Report* Collection::getReport( + +std::optional> +Collection::getReport( const HidReportType& reportType, const uint8_t& reportId) const { for (const auto& report : m_reports) { if (report.m_reportType == reportType && report.m_reportId == reportId) { - return &report; + return report; } } - return nullptr; + return std::nullopt; } // HID Report Descriptor Parser @@ -518,15 +521,16 @@ Collection HidReportDescriptor::parse() { return collection; } -const Report* HidReportDescriptor::getReport( +std::optional> +HidReportDescriptor::getReport( const HidReportType& reportType, const uint8_t& reportId) const { for (const auto& collection : m_topLevelCollections) { - const Report* report = collection.getReport(reportType, reportId); - if (report != nullptr) { + auto report = collection.getReport(reportType, reportId); + if (report) { return report; } } - return nullptr; + return std::nullopt; } std::vector> diff --git a/src/controllers/hid/hidreportdescriptor.h b/src/controllers/hid/hidreportdescriptor.h index 270f918287d2..8b95e1f17374 100644 --- a/src/controllers/hid/hidreportdescriptor.h +++ b/src/controllers/hid/hidreportdescriptor.h @@ -6,6 +6,8 @@ #include #include #include +#include +#include #include namespace hid::reportDescriptor { @@ -184,7 +186,9 @@ class Collection { public: Collection() = default; void addReport(const Report& report); - const Report* getReport(const HidReportType& reportType, const std::uint8_t& reportId) const; + std::optional> getReport( + const HidReportType& reportType, + const std::uint8_t& reportId) const; const std::vector& getReports() const { return m_reports; } @@ -203,7 +207,9 @@ class HidReportDescriptor { } Collection parse(); - const Report* getReport(const HidReportType& reportType, const std::uint8_t& reportId) const; + std::optional> getReport( + const HidReportType& reportType, + const std::uint8_t& reportId) const; std::vector> getListOfReports() const; private: diff --git a/src/test/controller_hid_reportdescriptor_test.cpp b/src/test/controller_hid_reportdescriptor_test.cpp index 5bfb8f88cb99..f5da9e57ba10 100644 --- a/src/test/controller_hid_reportdescriptor_test.cpp +++ b/src/test/controller_hid_reportdescriptor_test.cpp @@ -51,15 +51,17 @@ TEST(HidReportDescriptorParserTest, ParseReportDescriptor) { ASSERT_EQ(collectionIdx, 0); // Use getReport to get the report - const Report* pReport = parser.getReport(reportType, reportId); - ASSERT_NE(pReport, nullptr); + auto reportOpt = parser.getReport(reportType, reportId); + ASSERT_TRUE(reportOpt.has_value()); + + const auto& report = reportOpt->get(); // Validate Report fields - ASSERT_EQ(pReport->m_reportType, reportType); - ASSERT_EQ(pReport->m_reportId, reportId); + ASSERT_EQ(report.m_reportType, reportType); + ASSERT_EQ(report.m_reportId, reportId); // Validate all Control fields - const std::vector& controls = pReport->getControls(); + const std::vector& controls = report.getControls(); ASSERT_EQ(controls.size(), 5); // Mouse Button 1 From 306979eb75eff6a187e69a9712badf150c1408e7 Mon Sep 17 00:00:00 2001 From: Joerg Date: Mon, 19 May 2025 00:22:34 +0200 Subject: [PATCH 109/181] Refactor HID report descriptor passing using std::shared_ptr and references. Simplified logic, to make the data flow easier understandable --- .../controllerhidreporttabsmanager.cpp | 30 +++++++--------- src/controllers/hid/hidcontroller.cpp | 20 +++++++---- src/controllers/hid/hidcontroller.h | 9 ++--- src/controllers/hid/hiddevice.cpp | 32 ++++++++++------- src/controllers/hid/hiddevice.h | 4 +-- src/controllers/hid/hidiothread.cpp | 8 ++--- src/controllers/hid/hidiothread.h | 4 +-- src/controllers/hid/hidreportdescriptor.cpp | 35 +++++++++---------- src/controllers/hid/hidreportdescriptor.h | 9 +++-- .../controller_hid_reportdescriptor_test.cpp | 7 ++-- 10 files changed, 84 insertions(+), 74 deletions(-) diff --git a/src/controllers/controllerhidreporttabsmanager.cpp b/src/controllers/controllerhidreporttabsmanager.cpp index 81749ba1d679..04b2e46946c5 100644 --- a/src/controllers/controllerhidreporttabsmanager.cpp +++ b/src/controllers/controllerhidreporttabsmanager.cpp @@ -66,15 +66,14 @@ void ControllerHidReportTabsManager::createReportTypeTabs() { void ControllerHidReportTabsManager::createHidReportTab(QTabWidget* pParentReportTypeTab, hid::reportDescriptor::HidReportType reportType) { - const auto& reportDescriptorTemp = m_pHidController->getReportDescriptor(); - if (!reportDescriptorTemp.has_value()) { + auto reportDescriptor = m_pHidController->getReportDescriptor(); + if (!reportDescriptor) { return; } - const auto& reportDescriptor = *reportDescriptorTemp; QMetaEnum metaEnum = QMetaEnum::fromType(); - for (const auto& reportInfo : reportDescriptor.getListOfReports()) { + for (const auto& reportInfo : reportDescriptor->getListOfReports()) { auto [index, type, reportId] = reportInfo; if (type == reportType) { // Report is a fixed HID term and shouldn't be translated @@ -108,7 +107,7 @@ void ControllerHidReportTabsManager::createHidReportTab(QTabWidget* pParentRepor auto pTable = make_parented(pTabWidget); pLayout->addWidget(pTable); - auto reportOpt = reportDescriptor.getReport(reportType, reportId); + auto reportOpt = reportDescriptor->getReport(reportType, reportId); if (reportOpt) { const auto& report = reportOpt->get(); // Show payload size @@ -198,13 +197,12 @@ void ControllerHidReportTabsManager::slotProcessInputReport( } QTableWidget* pTable = it->second; - const auto& reportDescriptorTemp = m_pHidController->getReportDescriptor(); - if (!reportDescriptorTemp.has_value()) { + auto reportDescriptor = m_pHidController->getReportDescriptor(); + if (!reportDescriptor) { return; } - const auto& reportDescriptor = *reportDescriptorTemp; - auto reportOpt = reportDescriptor.getReport( + auto reportOpt = reportDescriptor->getReport( hid::reportDescriptor::HidReportType::Input, reportId); if (reportOpt) { updateTableWithReportData(pTable, data); @@ -234,13 +232,12 @@ void ControllerHidReportTabsManager::slotReadReport(QTableWidget* pTable, return; } - const auto& reportDescriptorTemp = m_pHidController->getReportDescriptor(); - if (!reportDescriptorTemp.has_value()) { + auto reportDescriptor = m_pHidController->getReportDescriptor(); + if (!reportDescriptor) { return; } - const auto& reportDescriptor = *reportDescriptorTemp; - auto reportOpt = reportDescriptor.getReport(reportType, reportId); + auto reportOpt = reportDescriptor->getReport(reportType, reportId); VERIFY_OR_DEBUG_ASSERT(reportOpt) { return; } @@ -272,13 +269,12 @@ void ControllerHidReportTabsManager::slotSendReport(QTableWidget* pTable, return; } - const auto& reportDescriptorTemp = m_pHidController->getReportDescriptor(); - if (!reportDescriptorTemp.has_value()) { + auto reportDescriptor = m_pHidController->getReportDescriptor(); + if (!reportDescriptor) { return; } - const auto& reportDescriptor = *reportDescriptorTemp; - auto reportOpt = reportDescriptor.getReport(reportType, reportId); + auto reportOpt = reportDescriptor->getReport(reportType, reportId); VERIFY_OR_DEBUG_ASSERT(reportOpt) { return; } diff --git a/src/controllers/hid/hidcontroller.cpp b/src/controllers/hid/hidcontroller.cpp index 8e74b93a3c1a..4807a9807297 100644 --- a/src/controllers/hid/hidcontroller.cpp +++ b/src/controllers/hid/hidcontroller.cpp @@ -162,16 +162,22 @@ int HidController::open(const QString& resourcePath) { return -1; } - m_rawReportDescriptor = m_deviceInfo.fetchRawReportDescriptor(pHidDevice); - - if (m_rawReportDescriptor.has_value()) { - m_reportDescriptor = hid::reportDescriptor::HidReportDescriptor( - m_rawReportDescriptor->data(), m_rawReportDescriptor->size()); + // When fetching the report descriptor, from m_deviceInfo or if not read yet from the device + const std::vector& rawReportDescriptor = + m_deviceInfo.fetchRawReportDescriptor(pHidDevice); + + if (!rawReportDescriptor.empty()) { + m_reportDescriptor = + std::make_shared( + rawReportDescriptor); m_reportDescriptor->parse(); - m_deviceHasReportIds = m_reportDescriptor->isDeviceWithReportIds(); + m_deviceUsesReportIds = m_reportDescriptor->isDeviceWithReportIds(); + } else { + m_reportDescriptor.reset(); + m_deviceUsesReportIds = std::nullopt; } - m_pHidIoThread = std::make_unique(pHidDevice, m_deviceInfo, m_deviceHasReportIds); + m_pHidIoThread = std::make_unique(pHidDevice, m_deviceInfo, m_deviceUsesReportIds); m_pHidIoThread->setObjectName(QStringLiteral("HidIoThread ") + getName()); connect(m_pHidIoThread.get(), diff --git a/src/controllers/hid/hidcontroller.h b/src/controllers/hid/hidcontroller.h index eb7b236d749c..b8805bf180ac 100644 --- a/src/controllers/hid/hidcontroller.h +++ b/src/controllers/hid/hidcontroller.h @@ -1,5 +1,7 @@ #pragma once +#include + #include "controllers/controller.h" #include "controllers/hid/hiddevice.h" #include "controllers/hid/hidiothread.h" @@ -72,7 +74,7 @@ class HidController final : public Controller { return m_deviceInfo.getUsageDescription(); } - const std::optional& getReportDescriptor() const { + std::shared_ptr getReportDescriptor() const { return m_reportDescriptor; } @@ -99,9 +101,8 @@ class HidController final : public Controller { mixxx::hid::DeviceInfo m_deviceInfo; // These optional members are not set before opening the device - std::optional> m_rawReportDescriptor; - std::optional m_reportDescriptor; - std::optional m_deviceHasReportIds; + std::shared_ptr m_reportDescriptor; + std::optional m_deviceUsesReportIds; std::unique_ptr m_pHidIoThread; std::unique_ptr m_pMapping; diff --git a/src/controllers/hid/hiddevice.cpp b/src/controllers/hid/hiddevice.cpp index f39ba50c9505..276345c24295 100644 --- a/src/controllers/hid/hiddevice.cpp +++ b/src/controllers/hid/hiddevice.cpp @@ -52,21 +52,27 @@ DeviceInfo::DeviceInfo(const hid_device_info& device_info) m_serialNumberRaw.data(), m_serialNumberRaw.size())) { } -std::optional> DeviceInfo::fetchRawReportDescriptor(hid_device* pHidDevice) { - if (!m_reportDescriptor) { - if (!pHidDevice) { - return std::nullopt; - } +const std::vector& DeviceInfo::fetchRawReportDescriptor(hid_device* pHidDevice) { + if (!pHidDevice) { + static const std::vector emptyDescriptor; + return emptyDescriptor; + } + if (!m_reportDescriptor.empty()) { + // + return m_reportDescriptor; + } - uint8_t tempReportDescriptor[HID_API_MAX_REPORT_DESCRIPTOR_SIZE]; - int descriptorSize = hid_get_report_descriptor(pHidDevice, - tempReportDescriptor, - HID_API_MAX_REPORT_DESCRIPTOR_SIZE); - if (descriptorSize > 0) { - m_reportDescriptor = std::vector(tempReportDescriptor, - tempReportDescriptor + descriptorSize); - } + uint8_t tempReportDescriptor[HID_API_MAX_REPORT_DESCRIPTOR_SIZE]; + int descriptorSize = hid_get_report_descriptor(pHidDevice, + tempReportDescriptor, + HID_API_MAX_REPORT_DESCRIPTOR_SIZE); + if (descriptorSize <= 0) { + static const std::vector emptyDescriptor; + return emptyDescriptor; } + m_reportDescriptor = std::vector(tempReportDescriptor, + tempReportDescriptor + descriptorSize); + return m_reportDescriptor; } diff --git a/src/controllers/hid/hiddevice.h b/src/controllers/hid/hiddevice.h index f44174b6d9a2..194be47969bd 100644 --- a/src/controllers/hid/hiddevice.h +++ b/src/controllers/hid/hiddevice.h @@ -108,7 +108,7 @@ class DeviceInfo final { // We need an opened hid_device here, // but the lifetime of the data is as long as DeviceInfo exists, // means the reportDescriptor data remains valid after closing the hid_device - std::optional> fetchRawReportDescriptor(hid_device* pHidDevice); + const std::vector& fetchRawReportDescriptor(hid_device* pHidDevice); bool isValid() const { return !getProductString().isNull() && !getSerialNumber().isNull(); @@ -141,7 +141,7 @@ class DeviceInfo final { QString m_productString; QString m_serialNumber; - std::optional> m_reportDescriptor; + std::vector m_reportDescriptor; }; } // namespace hid diff --git a/src/controllers/hid/hidiothread.cpp b/src/controllers/hid/hidiothread.cpp index 989709a02e99..f4d05000c745 100644 --- a/src/controllers/hid/hidiothread.cpp +++ b/src/controllers/hid/hidiothread.cpp @@ -29,7 +29,7 @@ QString loggingCategoryPrefix(const QString& deviceName) { HidIoThread::HidIoThread(hid_device* pHidDevice, const mixxx::hid::DeviceInfo& deviceInfo, - std::optional deviceHasReportIds) + std::optional deviceUsesReportIds) : QThread(), m_deviceInfo(deviceInfo), // Defining RuntimeLoggingCategories locally in this thread improves @@ -43,7 +43,7 @@ HidIoThread::HidIoThread(hid_device* pHidDevice, m_lastPollSize(0), m_pollingBufferIndex(0), m_hidReadErrorLogged(false), - m_deviceHasReportIds(deviceHasReportIds), + m_deviceUsesReportIds(deviceUsesReportIds), m_globalOutputReportFifo(), m_runLoopSemaphore(1) { // Initializing isn't strictly necessary but is good practice. @@ -155,8 +155,8 @@ void HidIoThread::processInputReport(int bytesRead) { bytesRead), mixxx::Time::elapsed()); - if (m_deviceHasReportIds.has_value() && bytesRead > 0) { - if (m_deviceHasReportIds.value()) { + if (m_deviceUsesReportIds.has_value() && bytesRead > 0) { + if (m_deviceUsesReportIds.value()) { // Extract the ReportId from the buffer quint8 reportId = pCurrentBuffer[0]; emit reportReceived(reportId, diff --git a/src/controllers/hid/hidiothread.h b/src/controllers/hid/hidiothread.h index 9819a661d6fa..4520a9d26899 100644 --- a/src/controllers/hid/hidiothread.h +++ b/src/controllers/hid/hidiothread.h @@ -25,7 +25,7 @@ class HidIoThread : public QThread { public: HidIoThread(hid_device* pDevice, const mixxx::hid::DeviceInfo& deviceInfo, - std::optional deviceHasReportIds); + std::optional deviceUsesReportIds); ~HidIoThread() override; void run() override; @@ -83,7 +83,7 @@ class HidIoThread : public QThread { int m_pollingBufferIndex; bool m_hidReadErrorLogged; - std::optional m_deviceHasReportIds; + std::optional m_deviceUsesReportIds; /// Must be locked when a operation changes the size of the m_outputReports map, /// or when modify the m_outputReportIterator diff --git a/src/controllers/hid/hidreportdescriptor.cpp b/src/controllers/hid/hidreportdescriptor.cpp index 548851e1419b..ecd32f1c15e4 100644 --- a/src/controllers/hid/hidreportdescriptor.cpp +++ b/src/controllers/hid/hidreportdescriptor.cpp @@ -191,16 +191,15 @@ Collection::getReport( } // HID Report Descriptor Parser -HidReportDescriptor::HidReportDescriptor(const uint8_t* pData, size_t length) - : m_pData(pData), - m_length(length), +HidReportDescriptor::HidReportDescriptor(const std::vector& data) + : m_data(data), m_pos(0), - m_deviceHasReportIds(kNotSet), + m_deviceUsesReportIds(kNotSet), m_collectionLevel(0) { } std::pair HidReportDescriptor::readTag() { - uint8_t byte = m_pData[m_pos++]; + uint8_t byte = m_data[m_pos++]; VERIFY_OR_DEBUG_ASSERT(byte != static_cast(HidItemSize::LongItemKeyword)){ @@ -223,25 +222,25 @@ uint32_t HidReportDescriptor::readPayload(HidItemSize payloadSize) { case HidItemSize::ZeroBytePayload: return 0; case HidItemSize::OneBytePayload: - VERIFY_OR_DEBUG_ASSERT(m_pos + 1 <= m_length) { + VERIFY_OR_DEBUG_ASSERT(m_pos + 1 <= m_data.size()) { return 0; } - return m_pData[m_pos++]; + return m_data[m_pos++]; case HidItemSize::TwoBytePayload: - VERIFY_OR_DEBUG_ASSERT(m_pos + 2 <= m_length) { + VERIFY_OR_DEBUG_ASSERT(m_pos + 2 <= m_data.size()) { return 0; } - payload = m_pData[m_pos++]; - payload |= m_pData[m_pos++] << 8; + payload = m_data[m_pos++]; + payload |= m_data[m_pos++] << 8; return payload; case HidItemSize::FourBytePayload: - VERIFY_OR_DEBUG_ASSERT(m_pos + 4 <= m_length) { + VERIFY_OR_DEBUG_ASSERT(m_pos + 4 <= m_data.size()) { return 0; } - payload = m_pData[m_pos++]; - payload |= m_pData[m_pos++] << 8; - payload |= m_pData[m_pos++] << 16; - payload |= m_pData[m_pos++] << 24; + payload = m_data[m_pos++]; + payload |= m_data[m_pos++] << 8; + payload |= m_data[m_pos++] << 16; + payload |= m_data[m_pos++] << 24; return payload; default: DEBUG_ASSERT(true); @@ -312,7 +311,7 @@ Collection HidReportDescriptor::parse() { // Local item values LocalItems localItems; - while (m_pos < m_length) { + while (m_pos < m_data.size()) { auto [tag, size] = readTag(); auto payload = readPayload(size); @@ -403,9 +402,9 @@ Collection HidReportDescriptor::parse() { if (pCurrentReport == nullptr) { // First control of this device if (globalItems.reportId == kNoReportId) { - m_deviceHasReportIds = false; + m_deviceUsesReportIds = false; } else { - m_deviceHasReportIds = true; + m_deviceUsesReportIds = true; } pCurrentReport = std::make_unique(getReportType(tag), globalItems.reportId); } else if (pCurrentReport->m_reportType != getReportType(tag) || diff --git a/src/controllers/hid/hidreportdescriptor.h b/src/controllers/hid/hidreportdescriptor.h index 8b95e1f17374..cd51e33adf10 100644 --- a/src/controllers/hid/hidreportdescriptor.h +++ b/src/controllers/hid/hidreportdescriptor.h @@ -200,10 +200,10 @@ class Collection { // Class for parsing HID report descriptors class HidReportDescriptor { public: - HidReportDescriptor(const std::uint8_t* pData, std::size_t length); + explicit HidReportDescriptor(const std::vector& data); bool isDeviceWithReportIds() const { - return m_deviceHasReportIds; + return m_deviceUsesReportIds; } Collection parse(); @@ -250,11 +250,10 @@ class HidReportDescriptor { HidReportType getReportType(HidItemTag tag); - const std::uint8_t* m_pData; - std::size_t m_length; + const std::vector& m_data; std::size_t m_pos; - bool m_deviceHasReportIds; + bool m_deviceUsesReportIds; std::vector globalItemsStack; diff --git a/src/test/controller_hid_reportdescriptor_test.cpp b/src/test/controller_hid_reportdescriptor_test.cpp index f5da9e57ba10..e12a2f23d9db 100644 --- a/src/test/controller_hid_reportdescriptor_test.cpp +++ b/src/test/controller_hid_reportdescriptor_test.cpp @@ -1,6 +1,7 @@ #include #include +#include #include "controllers/hid/hidreportdescriptor.h" @@ -40,14 +41,16 @@ uint8_t reportDescriptor[] = { // clang-format on TEST(HidReportDescriptorParserTest, ParseReportDescriptor) { - HidReportDescriptor parser(reportDescriptor, sizeof(reportDescriptor)); + const std::vector reportDescriptorVector( + reportDescriptor, reportDescriptor + sizeof(reportDescriptor)); + HidReportDescriptor parser(reportDescriptorVector); Collection collection = parser.parse(); // Use getListOfReports to get the list of reports auto reportsList = parser.getListOfReports(); ASSERT_EQ(reportsList.size(), 1); - auto [collectionIdx, reportType, reportId] = reportsList[0]; + auto& [collectionIdx, reportType, reportId] = reportsList[0]; ASSERT_EQ(collectionIdx, 0); // Use getReport to get the report From 1866f526ff92043df45a037a5f97975b9a8eb9ef Mon Sep 17 00:00:00 2001 From: Joerg Date: Mon, 19 May 2025 19:06:11 +0200 Subject: [PATCH 110/181] Ensure memory lifetime of m_reportIdToTableMap --- src/controllers/controllerhidreporttabsmanager.cpp | 8 ++++++++ src/controllers/controllerhidreporttabsmanager.h | 2 +- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/src/controllers/controllerhidreporttabsmanager.cpp b/src/controllers/controllerhidreporttabsmanager.cpp index 04b2e46946c5..f74dcd8b4363 100644 --- a/src/controllers/controllerhidreporttabsmanager.cpp +++ b/src/controllers/controllerhidreporttabsmanager.cpp @@ -146,6 +146,10 @@ void ControllerHidReportTabsManager::createHidReportTab(QTabWidget* pParentRepor if (reportType == hid::reportDescriptor::HidReportType::Input) { // Store the pTable pointer associated with the reportId m_reportIdToTableMap[reportId] = pTable; + // Ensure that the table entry gets deleted when the table is destroyed + connect(pTable, &QObject::destroyed, this, [this, reportId]() { + m_reportIdToTableMap.erase(reportId); + }); } // Connect the signal for the reportId @@ -197,6 +201,10 @@ void ControllerHidReportTabsManager::slotProcessInputReport( } QTableWidget* pTable = it->second; + VERIFY_OR_DEBUG_ASSERT(pTable) { + return; + } + auto reportDescriptor = m_pHidController->getReportDescriptor(); if (!reportDescriptor) { return; diff --git a/src/controllers/controllerhidreporttabsmanager.h b/src/controllers/controllerhidreporttabsmanager.h index a8b23aa1dd4f..5e5a487f157d 100644 --- a/src/controllers/controllerhidreporttabsmanager.h +++ b/src/controllers/controllerhidreporttabsmanager.h @@ -36,7 +36,7 @@ class ControllerHidReportTabsManager : public QObject { void updateTableWithReportData(QTableWidget* pTable, const QByteArray& reportData); QTabWidget* m_pParentControllerTab; HidController* m_pHidController; - std::unordered_map m_reportIdToTableMap; + std::unordered_map> m_reportIdToTableMap; }; class ValueItemDelegate : public QStyledItemDelegate { From b33295b250273279858486a06fc02eafb63e9b72 Mon Sep 17 00:00:00 2001 From: Joerg Date: Tue, 20 May 2025 00:43:56 +0200 Subject: [PATCH 111/181] Use guarded pointers for m_pParentControllerTab; and m_pHidController --- .../controllerhidreporttabsmanager.cpp | 22 +++++++++++++++---- .../controllerhidreporttabsmanager.h | 5 +++-- src/controllers/dlgprefcontroller.cpp | 2 +- 3 files changed, 22 insertions(+), 7 deletions(-) diff --git a/src/controllers/controllerhidreporttabsmanager.cpp b/src/controllers/controllerhidreporttabsmanager.cpp index f74dcd8b4363..1372014a5c4e 100644 --- a/src/controllers/controllerhidreporttabsmanager.cpp +++ b/src/controllers/controllerhidreporttabsmanager.cpp @@ -47,6 +47,9 @@ ControllerHidReportTabsManager::ControllerHidReportTabsManager( } void ControllerHidReportTabsManager::createReportTypeTabs() { + VERIFY_OR_DEBUG_ASSERT(m_pParentControllerTab) { + return; + } auto reportTypeTabs = make_parented(m_pParentControllerTab); QMetaEnum metaEnum = QMetaEnum::fromType(); @@ -66,6 +69,9 @@ void ControllerHidReportTabsManager::createReportTypeTabs() { void ControllerHidReportTabsManager::createHidReportTab(QTabWidget* pParentReportTypeTab, hid::reportDescriptor::HidReportType reportType) { + VERIFY_OR_DEBUG_ASSERT(m_pHidController) { + return; + } auto reportDescriptor = m_pHidController->getReportDescriptor(); if (!reportDescriptor) { return; @@ -154,10 +160,12 @@ void ControllerHidReportTabsManager::createHidReportTab(QTabWidget* pParentRepor // Connect the signal for the reportId HidIoThread* hidIoThread = m_pHidController->getHidIoThread(); - connect(hidIoThread, - &HidIoThread::reportReceived, - this, - &ControllerHidReportTabsManager::slotProcessInputReport); + if (hidIoThread) { + connect(hidIoThread, + &HidIoThread::reportReceived, + this, + &ControllerHidReportTabsManager::slotProcessInputReport); + } } } } @@ -193,6 +201,9 @@ void ControllerHidReportTabsManager::updateTableWithReportData( void ControllerHidReportTabsManager::slotProcessInputReport( quint8 reportId, const QByteArray& data) { + VERIFY_OR_DEBUG_ASSERT(m_pHidController) { + return; + } // Find the table associated with the reportId auto it = m_reportIdToTableMap.find(reportId); if (it == m_reportIdToTableMap.end()) { @@ -220,6 +231,9 @@ void ControllerHidReportTabsManager::slotProcessInputReport( void ControllerHidReportTabsManager::slotReadReport(QTableWidget* pTable, quint8 reportId, hid::reportDescriptor::HidReportType reportType) { + VERIFY_OR_DEBUG_ASSERT(m_pHidController) { + return; + } if (!m_pHidController->isOpen()) { qWarning() << "HID controller is not open."; return; diff --git a/src/controllers/controllerhidreporttabsmanager.h b/src/controllers/controllerhidreporttabsmanager.h index 5e5a487f157d..434276bb3a6e 100644 --- a/src/controllers/controllerhidreporttabsmanager.h +++ b/src/controllers/controllerhidreporttabsmanager.h @@ -1,5 +1,6 @@ #pragma once +#include #include #include #include @@ -34,8 +35,8 @@ class ControllerHidReportTabsManager : public QObject { private: void updateTableWithReportData(QTableWidget* pTable, const QByteArray& reportData); - QTabWidget* m_pParentControllerTab; - HidController* m_pHidController; + QPointer m_pParentControllerTab; + QPointer m_pHidController; std::unordered_map> m_reportIdToTableMap; }; diff --git a/src/controllers/dlgprefcontroller.cpp b/src/controllers/dlgprefcontroller.cpp index 0c08c1a57fe6..1854faef4611 100644 --- a/src/controllers/dlgprefcontroller.cpp +++ b/src/controllers/dlgprefcontroller.cpp @@ -190,7 +190,7 @@ DlgPrefController::DlgPrefController( #ifdef __HID__ // Display HID UsagePage and Usage if the controller is an HidController - if (auto* hidController = dynamic_cast(m_pController)) { + if (auto* hidController = qobject_cast(m_pController)) { m_ui.labelHidUsagePageValue->setText(QStringLiteral("%1 (%2)") .arg(formatHex(hidController->getUsagePage()), hidController->getUsagePageDescription())); From 204ffce7a55d6bd93b9bcea93cab45655f7a55e1 Mon Sep 17 00:00:00 2001 From: Joerg Date: Thu, 26 Jun 2025 18:53:48 +0200 Subject: [PATCH 112/181] Corrected use of pointer prefix p --- .../controllerhidreporttabsmanager.cpp | 48 +++++++++---------- 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/src/controllers/controllerhidreporttabsmanager.cpp b/src/controllers/controllerhidreporttabsmanager.cpp index 1372014a5c4e..98aa00e92a78 100644 --- a/src/controllers/controllerhidreporttabsmanager.cpp +++ b/src/controllers/controllerhidreporttabsmanager.cpp @@ -379,88 +379,88 @@ void ControllerHidReportTabsManager::populateHidReportTable( pTable->verticalHeader()->setVisible(false); int row = 0; - for (const auto& pControl : controls) { + for (const auto& control : controls) { // Column 0 - Byte Position - QTableWidgetItem* bytePositionItem = createReadOnlyItem( + QTableWidgetItem* pBytePositionItem = createReadOnlyItem( QStringLiteral("0x%1").arg( - QString::number(pControl.m_bytePosition, 16) + QString::number(control.m_bytePosition, 16) .rightJustified(2, '0') .toUpper()), true); - pTable->setItem(row, 0, bytePositionItem); + pTable->setItem(row, 0, pBytePositionItem); // Store custom data for the row in the first cell - bytePositionItem->setData(Qt::UserRole + 1, - QVariant::fromValue(&pControl)); + pBytePositionItem->setData(Qt::UserRole + 1, + QVariant::fromValue(&control)); // Column 1 - Bit Position - pTable->setItem(row, 1, createReadOnlyItem(QString::number(pControl.m_bitPosition), true)); + pTable->setItem(row, 1, createReadOnlyItem(QString::number(control.m_bitPosition), true)); // Column 2 - Bit Size - pTable->setItem(row, 2, createReadOnlyItem(QString::number(pControl.m_bitSize), true)); + pTable->setItem(row, 2, createReadOnlyItem(QString::number(control.m_bitSize), true)); // Column 3 - Logical Min pTable->setItem(row, 3, createReadOnlyItem( - QString::number(pControl.m_logicalMinimum), true)); + QString::number(control.m_logicalMinimum), true)); // Column 4 - Logical Max pTable->setItem(row, 4, createReadOnlyItem( - QString::number(pControl.m_logicalMaximum), true)); + QString::number(control.m_logicalMaximum), true)); // Column 5 - Value pTable->setItem(row, 5, - createValueItem(reportType, pControl.m_logicalMinimum, pControl.m_logicalMaximum)); + createValueItem(reportType, control.m_logicalMinimum, control.m_logicalMaximum)); // Column 6 - Physical Min pTable->setItem(row, 6, createReadOnlyItem( - QString::number(pControl.m_physicalMinimum), true)); + QString::number(control.m_physicalMinimum), true)); // Column 7 - Physical Max pTable->setItem(row, 7, createReadOnlyItem( - QString::number(pControl.m_physicalMaximum), true)); + QString::number(control.m_physicalMaximum), true)); // Column 8 - Unit Scaling pTable->setItem(row, 8, - createReadOnlyItem(pControl.m_unitExponent != 0 + createReadOnlyItem(control.m_unitExponent != 0 ? QStringLiteral("10^%1").arg( - pControl.m_unitExponent) + control.m_unitExponent) : QString(), true)); // Column 9 - Unit pTable->setItem(row, 9, createReadOnlyItem(hid::reportDescriptor::getScaledUnitString( - pControl.m_unit))); + control.m_unit))); // Column 10 - Abs/Rel pTable->setItem(row, 10, - createReadOnlyItem(pControl.m_flags.absolute_relative + createReadOnlyItem(control.m_flags.absolute_relative ? tr("Relative") : tr("Absolute"))); // Column 11 - Wrap pTable->setItem(row, 11, - createReadOnlyItem(pControl.m_flags.no_wrap_wrap + createReadOnlyItem(control.m_flags.no_wrap_wrap ? tr("Wrap") : tr("No Wrap"))); // Column 12 - Linear pTable->setItem(row, 12, - createReadOnlyItem(pControl.m_flags.linear_non_linear + createReadOnlyItem(control.m_flags.linear_non_linear ? tr("Non Linear") : tr("Linear"))); // Column 13 - Preferred pTable->setItem(row, 13, - createReadOnlyItem(pControl.m_flags.preferred_no_preferred + createReadOnlyItem(control.m_flags.preferred_no_preferred ? tr("No Preferred") : tr("Preferred"))); // Column 14 - Null pTable->setItem(row, 14, - createReadOnlyItem(pControl.m_flags.no_null_null + createReadOnlyItem(control.m_flags.no_null_null ? tr("Null") : tr("No Null"))); @@ -469,7 +469,7 @@ void ControllerHidReportTabsManager::populateHidReportTable( if (volatileIndex != -1) { pTable->setItem(row, volatileIndex, - createReadOnlyItem(pControl.m_flags.non_volatile_volatile + createReadOnlyItem(control.m_flags.non_volatile_volatile ? tr("Volatile") : tr("Non Volatile"))); } @@ -477,8 +477,8 @@ void ControllerHidReportTabsManager::populateHidReportTable( // Usage Page / Usage int usagePageIdx = showVolatileColumn ? 16 : 15; int usageDescIdx = showVolatileColumn ? 17 : 16; - uint16_t usagePage = static_cast((pControl.m_usage & 0xFFFF0000) >> 16); - uint16_t usage = static_cast(pControl.m_usage & 0x0000FFFF); + uint16_t usagePage = static_cast((control.m_usage & 0xFFFF0000) >> 16); + uint16_t usage = static_cast(control.m_usage & 0x0000FFFF); pTable->setItem(row, usagePageIdx, From 22aed6bf80f9a0f4e2d6de8221b147fd456d6b5e Mon Sep 17 00:00:00 2001 From: Joerg Date: Thu, 26 Jun 2025 20:16:02 +0200 Subject: [PATCH 113/181] Clarified why the "Value" collumn of the table needs special handling --- src/controllers/controllerhidreporttabsmanager.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/controllers/controllerhidreporttabsmanager.cpp b/src/controllers/controllerhidreporttabsmanager.cpp index 98aa00e92a78..408f19408bb3 100644 --- a/src/controllers/controllerhidreporttabsmanager.cpp +++ b/src/controllers/controllerhidreporttabsmanager.cpp @@ -502,10 +502,12 @@ void ControllerHidReportTabsManager::populateHidReportTable( for (int colIdx = 0; colIdx < pTable->columnCount(); ++colIdx) { columnWidths[colIdx] = pTable->columnWidth(colIdx); } - // Set the width of the value column (5) to fit 11 digits (int32 minimum in decimal) + // Set the width of the "Value" column (5) to fit 11 digits (int32 minimum in decimal) + // This is the only column in the table with dynamic content, therefore we need to + // set the width with enough reserved space. QFontMetrics metrics(pTable->font()); int width = metrics.horizontalAdvance(QStringLiteral("0").repeated(11)); - columnWidths[5] = width; + columnWidths[5] = width; // The column "Value" is at index 5 for (int colIdx = 0; colIdx < pTable->columnCount(); ++colIdx) { pTable->horizontalHeader()->setSectionResizeMode(colIdx, QHeaderView::Fixed); pTable->setColumnWidth(colIdx, columnWidths[colIdx]); From 15fa8f7c18372ac7162078b0f1761d71645926b6 Mon Sep 17 00:00:00 2001 From: Joerg Date: Thu, 26 Jun 2025 19:20:49 +0200 Subject: [PATCH 114/181] Use .reserve and .push_back for vector, instead of default initializer --- src/controllers/controllerhidreporttabsmanager.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/controllers/controllerhidreporttabsmanager.cpp b/src/controllers/controllerhidreporttabsmanager.cpp index 408f19408bb3..3194e5bd211b 100644 --- a/src/controllers/controllerhidreporttabsmanager.cpp +++ b/src/controllers/controllerhidreporttabsmanager.cpp @@ -498,9 +498,10 @@ void ControllerHidReportTabsManager::populateHidReportTable( for (int colIdx = 0; colIdx < pTable->columnCount(); ++colIdx) { pTable->horizontalHeader()->setSectionResizeMode(colIdx, QHeaderView::ResizeToContents); } - QVector columnWidths(pTable->columnCount()); + QVector columnWidths; + columnWidths.reserve(pTable->columnCount()); for (int colIdx = 0; colIdx < pTable->columnCount(); ++colIdx) { - columnWidths[colIdx] = pTable->columnWidth(colIdx); + columnWidths.push_back(pTable->columnWidth(colIdx)); } // Set the width of the "Value" column (5) to fit 11 digits (int32 minimum in decimal) // This is the only column in the table with dynamic content, therefore we need to From 2fdebb1e2c21f6adf9a2ab9dbc17f7409111bedd Mon Sep 17 00:00:00 2001 From: "Antoine C." Date: Sun, 17 Aug 2025 17:23:39 +0000 Subject: [PATCH 115/181] fix: prevent memleak on WaveformMark::Graphics --- src/waveform/renderers/waveformmark.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/waveform/renderers/waveformmark.h b/src/waveform/renderers/waveformmark.h index 9dcd71d698a2..aabe11699d75 100644 --- a/src/waveform/renderers/waveformmark.h +++ b/src/waveform/renderers/waveformmark.h @@ -22,6 +22,14 @@ class WaveformMark { // To indicate that the image for the mark needs to be regenerated, // when the text, color, breadth or level are changed. bool m_obsolete{}; + Graphics() = default; + virtual ~Graphics() = default; + // non-copyable + Graphics(const Graphics&) = delete; + Graphics& operator=(const Graphics&) = delete; + // non-movable + Graphics(Graphics&&) = delete; + Graphics& operator=(Graphics&&) = delete; }; WaveformMark( From 7416c6a315db8886d4fef949065c65b38c00516c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Clau=C3=9Fen?= Date: Fri, 15 Aug 2025 12:03:46 +0200 Subject: [PATCH 116/181] xwax: Adjust gain compensation limit Since the signal loss of the derivative is compensated dynamically, the amplitude can be too high when the record is not spinning and you see a small signal. This doesn't fix this completely, but 25.0 is the sweet spot of reactiveness and sufficient amplification. --- lib/xwax/timecoder_mk2.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/xwax/timecoder_mk2.c b/lib/xwax/timecoder_mk2.c index 4aadc3a3e791..125f683ef43a 100644 --- a/lib/xwax/timecoder_mk2.c +++ b/lib/xwax/timecoder_mk2.c @@ -326,8 +326,8 @@ void mk2_process_carrier(struct timecoder *tc, signed int primary, signed int se tc->gain_compensation = (double)tc->secondary.mk2.rms / tc->secondary.mk2.rms_deriv; /* Without this limit pitch becomes too sensitive */ - if (tc->gain_compensation > 30.0) - tc->gain_compensation = 30.0; + if (tc->gain_compensation > 25.0) + tc->gain_compensation = 25.0; tc->dB = 20 * log10((double)tc->secondary.mk2.rms / INT_MAX); From 69b1a1e608b376d35db1ca1039e4c5a4dad798d1 Mon Sep 17 00:00:00 2001 From: Antoine C Date: Sun, 15 Sep 2024 01:57:38 +0100 Subject: [PATCH 117/181] feat: add screen rendering for S4Mk3 --- .../Traktor Kontrol S4 MK3.bulk.xml | 945 ++++++++++++++++++ .../TraktorKontrolS4MK3Screens.qml | 217 ++++ .../AdvancedScreen/Overlays/TopControls.qml | 348 +++++++ .../Waveform/WaveformContainer.qml | 234 +++++ .../S4MK3/BPMIndicator.qml | 77 ++ .../S4MK3/HotcuePoint.qml | 199 ++++ .../S4MK3/KeyIndicator.qml | 127 +++ .../S4MK3/Keyboard.qml | 140 +++ .../S4MK3/LoopSizeIndicator.qml | 75 ++ .../S4MK3/OnAirTrack.qml | 81 ++ .../S4MK3/Progression.qml | 53 + .../S4MK3/SplashOff.qml | 15 + .../S4MK3/StockScreen.qml | 634 ++++++++++++ .../S4MK3/TimeAndBeatloopIndicator.qml | 107 ++ .../S4MK3/WaveformOverview.qml | 165 +++ .../TraktorKontrolS4MK3Screens/S4MK3/qmldir | 12 + src/controllers/bulk/bulksupported.h | 1 + tools/README | 8 + tools/clang_format.py | 2 +- tools/traktor_s4_mk3_screen_test.c | 110 ++ 20 files changed, 3549 insertions(+), 1 deletion(-) create mode 100644 res/controllers/Traktor Kontrol S4 MK3.bulk.xml create mode 100644 res/controllers/TraktorKontrolS4MK3Screens.qml create mode 100755 res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Overlays/TopControls.qml create mode 100755 res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Waveform/WaveformContainer.qml create mode 100755 res/controllers/TraktorKontrolS4MK3Screens/S4MK3/BPMIndicator.qml create mode 100644 res/controllers/TraktorKontrolS4MK3Screens/S4MK3/HotcuePoint.qml create mode 100755 res/controllers/TraktorKontrolS4MK3Screens/S4MK3/KeyIndicator.qml create mode 100644 res/controllers/TraktorKontrolS4MK3Screens/S4MK3/Keyboard.qml create mode 100755 res/controllers/TraktorKontrolS4MK3Screens/S4MK3/LoopSizeIndicator.qml create mode 100644 res/controllers/TraktorKontrolS4MK3Screens/S4MK3/OnAirTrack.qml create mode 100755 res/controllers/TraktorKontrolS4MK3Screens/S4MK3/Progression.qml create mode 100644 res/controllers/TraktorKontrolS4MK3Screens/S4MK3/SplashOff.qml create mode 100644 res/controllers/TraktorKontrolS4MK3Screens/S4MK3/StockScreen.qml create mode 100755 res/controllers/TraktorKontrolS4MK3Screens/S4MK3/TimeAndBeatloopIndicator.qml create mode 100755 res/controllers/TraktorKontrolS4MK3Screens/S4MK3/WaveformOverview.qml create mode 100644 res/controllers/TraktorKontrolS4MK3Screens/S4MK3/qmldir create mode 100644 tools/traktor_s4_mk3_screen_test.c diff --git a/res/controllers/Traktor Kontrol S4 MK3.bulk.xml b/res/controllers/Traktor Kontrol S4 MK3.bulk.xml new file mode 100644 index 000000000000..c7bc44712ea7 --- /dev/null +++ b/res/controllers/Traktor Kontrol S4 MK3.bulk.xml @@ -0,0 +1,945 @@ + + + + Traktor Kontrol S4 MK3 (Screens) + A. Colombier + Mapping for Traktor Kontrol S4 MK3 screens + native_instruments_traktor_kontrol_s4_mk3 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/res/controllers/TraktorKontrolS4MK3Screens.qml b/res/controllers/TraktorKontrolS4MK3Screens.qml new file mode 100644 index 000000000000..fe5225032783 --- /dev/null +++ b/res/controllers/TraktorKontrolS4MK3Screens.qml @@ -0,0 +1,217 @@ +import QtQuick 2.15 +import QtQuick.Window 2.3 + +import QtQuick.Controls 2.15 +import QtQuick.Shapes 1.11 +import QtQuick.Layouts 1.3 +import QtQuick.Window 2.15 + +import Qt5Compat.GraphicalEffects + +import "." as Skin +import Mixxx 1.0 as Mixxx +import Mixxx.Controls 1.0 as MixxxControls + +import S4MK3 as S4MK3 + +Mixxx.ControllerScreen { + id: root + + required property string screenId + property color fontColor: Qt.rgba(242/255,242/255,242/255, 1) + property color smallBoxBorder: Qt.rgba(44/255,44/255,44/255, 1) + + property string group: screenId == "rightdeck" ? "[Channel2]" : "[Channel1]" + property string theme: engine.getSetting("theme") + + readonly property bool isStockTheme: theme == "stock" + + property var lastFrame: null + + init: function(_controllerName, isDebug) { + console.log(`Screen ${root.screenId} has started with theme ${root.theme}`) + root.state = "Live" + } + + shutdown: function() { + console.log(`Screen ${root.screenId} is stopping`) + root.state = "Stop" + } + + transformFrame: function(input, timestamp) { + let updated = new Uint8Array(320*240); + updated.fill(0) + + let updatedPixelCount = 0; + let updated_zones = []; + + if (!root.lastFrame) { + root.lastFrame = new ArrayBuffer(input.byteLength); + updatedPixelCount = input.byteLength / 2; + updated_zones.push({ + x: 0, + y: 0, + width: 320, + height: 240, + }) + } else { + const view_input = new Uint8Array(input); + const view_last = new Uint8Array(root.lastFrame); + + for (let i = 0; i < 320 * 240; i++) { + } + + let current_rect = null; + + for (let y = 0; y < 240; y++) { + let line_changed = false; + for (let x = 0; x < 320; x++) { + let i = y * 320 + x; + if (view_input[2 * i] != view_last[2 * i] || view_input[2 * i + 1] != view_last[2 * i + 1]) { + line_changed = true; + updatedPixelCount++; + break; + } + } + if (current_rect !== null && line_changed) { + current_rect.height++; + } else if (current_rect !== null) { + updated_zones.push(current_rect); + current_rect = null; + } else if (current_rect === null && line_changed) { + current_rect = { + x: 0, + y, + width: 320, + height: 1, + }; + } + } + if (current_rect !== null) { + updated_zones.push(current_rect); + } + } + new Uint8Array(root.lastFrame).set(new Uint8Array(input)); + + if (!updatedPixelCount) { + return new ArrayBuffer(0); + } else if (root.renderDebug) { + console.log(`Pixel updated: ${updatedPixelCount}, ${updated_zones.length} areas`); + } + + // No redraw needed, stop right there + + let totalPixelToDraw = 0; + for (const area of updated_zones) { + area.x -= Math.min(2, area.x); + area.y -= Math.min(2, area.y); + area.width += Math.min(4, 320 - area.x - area.width); + area.height += Math.min(4, 240 - area.y - area.height); + totalPixelToDraw += area.width*area.height; + } + + if (totalPixelToDraw != 320*240 && (totalPixelToDraw > 320 * 180 || updated_zones.length > 20)) { + if (root.renderDebug) { + console.log(`Full redraw instead of ${totalPixelToDraw} pixels/${updated_zones.length} areas`) + } + totalPixelToDraw = 320*240 + updated_zones = [{ + x: 0, + y: 0, + width: 320, + height: 240, + }] + } else if (root.renderDebug) { + console.log(`Redrawing ${totalPixelToDraw} pixels`) + } + + const screenIdx = screenId === "leftdeck" ? 0 : 1; + + const outputData = new ArrayBuffer(totalPixelToDraw*2 + 20*updated_zones.length); // Number of pixel + 20 (header/footer size) x the number of region + let offset = 0; + + for (const area of updated_zones) { + const header = new Uint8Array(outputData, offset, 16); + const payload = new Uint8Array(outputData, offset + 16, area.width*area.height*2); + const footer = new Uint8Array(outputData, offset + area.width*area.height*2 + 16, 4); + + header.fill(0) + footer.fill(0) + header[0] = 0x84; + header[2] = screenIdx; + header[3] = 0x21; + + header[8] = area.x >> 8; + header[9] = area.x & 0xff; + header[10] = area.y >> 8; + header[11] = area.y & 0xff; + + header[12] = area.width >> 8; + header[13] = area.width & 0xff; + header[14] = area.height >> 8; + header[15] = area.height & 0xff; + + if (area.x === 0 && area.width === 320) { + payload.set(new Uint8Array(input, area.y * 320 * 2, area.width*area.height*2)); + } else { + for (let y = 0; y < area.height; y++) { + payload.set( + new Uint8Array(input, ((area.y + y) * 320 + area.x) * 2, area.width * 2), + y * area.width * 2); + } + } + footer[0] = 0x40; + footer[2] = screenIdx; + offset += area.width*area.height*2 + 20 + } + if (root.renderDebug) { + console.log(`Generated ${offset} bytes to be sent`) + } + // return new ArrayBuffer(0); + return outputData; + } + + Component { + id: splashOff + S4MK3.SplashOff { + anchors.fill: parent + } + } + Component { + id: stockLive + S4MK3.StockScreen { + group: root.group + screenId: root.screenId + anchors.fill: parent + } + } + Component { + id: advancedLive + S4MK3.AdvancedScreen { + isLeftScreen: root.screenId == "leftdeck" + } + } + + Loader { + id: loader + anchors.fill: parent + sourceComponent: splashOff + } + + states: [ + State { + name: "Live" + PropertyChanges { + target: loader + sourceComponent: isStockTheme ? stockLive : advancedLive + } + }, + State { + name: "Stop" + PropertyChanges { + target: loader + sourceComponent: splashOff + } + } + ] +} diff --git a/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Overlays/TopControls.qml b/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Overlays/TopControls.qml new file mode 100755 index 000000000000..3fb7fa1defa3 --- /dev/null +++ b/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Overlays/TopControls.qml @@ -0,0 +1,348 @@ +import QtQuick 2.15 + +import '../Defines' as Defines +import '../Widgets' as Widgets + +import Mixxx 1.0 as Mixxx + +//-------------------------------------------------------------------------------------------------------------------- +// FX CONTROLS +//-------------------------------------------------------------------------------------------------------------------- + +// The FxControls are located on the top of the screen and blend in if one of the top knobs is touched/changed + +Item { + id: topLabels + + property int topMargin: 0 + + property string showHideState: "hide" + property int fxUnit: 0 + property int yPositionWhenHidden: 0 - topLabels.height - headerBlackLine.height - headerShadow.height // also hides black border & shadow + property int yPositionWhenShown: topMargin + + readonly property color barBgColor: "black" + + property var fxModel: Mixxx.EffectsManager.visibleEffectsModel + + Defines.Colors { id: colors } + Defines.Durations { id: durations } + + height: 40 + anchors.left: parent.left + anchors.right: parent.right + + // dark grey background + Rectangle { + id: topInfoDetailsPanelDarkBg + anchors { + top: parent.top + left: parent.left + right: parent.right + } + height: topLabels.height + color: colors.colorFxHeaderBg + // light grey background + Rectangle { + id:topInfoDetailsPanelLightBg + anchors { + top: parent.top + left: parent.left + } + height: topLabels.height + width: 80 + color: colors.colorFxHeaderLightBg + } + } + +// // dividers + Rectangle { + id: fxInfoDivider0 + width:1; + height:40; + color: colors.colorDivider + anchors.top: parent.top + anchors.left: parent.left + anchors.leftMargin: 80 + } + + // dividers + Rectangle { + id: fxInfoDivider1 + width:1; + color: colors.colorDivider + anchors.top: parent.top + anchors.left: parent.left + anchors.leftMargin: 160 + height: 40 + } + + Rectangle { + id: fxInfoDivider2 + width:1; + color: colors.colorDivider + anchors.top: parent.top + anchors.left: parent.left + anchors.leftMargin: 240 + height: 40 + } + + // Info Details + Rectangle { + id: topInfoDetailsPanel + + height: parent.height + clip: true + width: parent.width + color: "transparent" + + anchors.left: parent.left + anchors.leftMargin: 1 + + // AppProperty { id: fxDryWet; path: "app.traktor.fx." + (fxUnit + 1) + ".dry_wet" } + + Mixxx.ControlProxy { + group: `[EffectRack1_EffectUnit${fxUnit + 1}]` + key: `mix` + id: fxDryWet + property string description: "" + property var valueRange: ({isDiscrete: true, steps: 1}) + } + + // AppProperty { id: fxParam1; path: "app.traktor.fx." + (fxUnit + 1) + ".parameters.1" } + Mixxx.ControlProxy { + group: `[EffectRack1_EffectUnit${fxUnit + 1}_Effect1]` + key: `meta` + id: fxParam1 + property string description: "" + property var valueRange: ({isDiscrete: false, steps: 0}) + } + Mixxx.ControlProxy { + group: `[EffectRack1_EffectUnit${fxUnit + 1}_Effect1]` + key: `enabled` + id: fxEnabled1 + } + QtObject { + id: fxKnob1name + + property Mixxx.EffectSlotProxy slot: Mixxx.EffectsManager.getEffectSlot(1, 1) + property string description: "Description" + property var value: "---" + property var valueRange: ({isDiscrete: true, steps: 1}) + } + Mixxx.ControlProxy { + id: fxSelect1 + group: `[EffectRack1_EffectUnit${fxUnit + 1}_Effect1]` + key: `loaded_effect` + onValueChanged: { + fxKnob1name.value = topLabels.fxModel.get(value).display + } + } + + Mixxx.ControlProxy { + group: `[EffectRack1_EffectUnit${fxUnit + 1}_Effect2]` + key: `meta` + id: fxParam2 + property string description: "" + property var valueRange: ({isDiscrete: false, steps: 0}) + } + Mixxx.ControlProxy { + group: `[EffectRack1_EffectUnit${fxUnit + 1}_Effect2]` + key: `enabled` + id: fxEnabled2 + } + QtObject { + id: fxKnob2name + + property Mixxx.EffectSlotProxy slot: Mixxx.EffectsManager.getEffectSlot(1, 2) + property string description: "Description" + property var value: "---" + property var valueRange: ({isDiscrete: true, steps: 1}) + } + Mixxx.ControlProxy { + id: fxSelect2 + group: `[EffectRack1_EffectUnit${fxUnit + 1}_Effect2]` + key: `loaded_effect` + onValueChanged: { + fxKnob2name.value = topLabels.fxModel.get(value).display + } + } + + // AppProperty { id: fxParam3; path: "app.traktor.fx." + (fxUnit + 1) + ".parameters.3" } + Mixxx.ControlProxy { + group: `[EffectRack1_EffectUnit${fxUnit + 1}_Effect3]` + key: `meta` + id: fxParam3 + property string description: "" + property var valueRange: ({isDiscrete: false, steps: 0}) + } + Mixxx.ControlProxy { + group: `[EffectRack1_EffectUnit${fxUnit + 1}_Effect3]` + key: `enabled` + id: fxEnabled3 + } + QtObject { + id: fxKnob3name + + property Mixxx.EffectSlotProxy slot: Mixxx.EffectsManager.getEffectSlot(1, 3) + property string description: "Description" + property var value: "---" + property var valueRange: ({isDiscrete: true, steps: 1}) + } + Mixxx.ControlProxy { + id: fxSelect3 + group: `[EffectRack1_EffectUnit${fxUnit + 1}_Effect3]` + key: `loaded_effect` + onValueChanged: { + fxKnob3name.value = topLabels.fxModel.get(value).display + } + } + + Mixxx.ControlProxy { + group: `[EffectRack1_EffectUnit${fxUnit + 1}]` + key: "enabled" + id: fxOn + property string description: "Description" + property var valueRange: ({isDiscrete: true, steps: 1}) + } + // AppProperty { id: fxButton1; path: "app.traktor.fx." + (fxUnit + 1) + ".buttons.1" } + QtObject { + id: fxButton1 + property string description: "Description" + property var value: fxEnabled1.value + property var valueRange: ({isDiscrete: true, steps: 1}) + } + + // AppProperty { id: fxButton1name; path: "app.traktor.fx." + (fxUnit + 1) + ".buttons.1.name" } + QtObject { + id: fxButton1name + property string description: "Description" + property var value: "ON" + property var valueRange: ({isDiscrete: true, steps: 1}) + } + // AppProperty { id: fxButton2; path: "app.traktor.fx." + (fxUnit + 1) + ".buttons.2" } + QtObject { + id: fxButton2 + property string description: "Description" + property var value: fxEnabled2.value + property var valueRange: ({isDiscrete: true, steps: 1}) + } + // AppProperty { id: fxButton2name; path: "app.traktor.fx." + (fxUnit + 1) + ".buttons.2.name" } + QtObject { + id: fxButton2name + property string description: "Description" + property var value: "ON" + property var valueRange: ({isDiscrete: true, steps: 1}) + } + // AppProperty { id: fxButton3; path: "app.traktor.fx." + (fxUnit + 1) + ".buttons.3" } + QtObject { + id: fxButton3 + property string description: "Description" + property var value: fxEnabled3.value + property var valueRange: ({isDiscrete: true, steps: 1}) + } + // AppProperty { id: fxButton3name; path: "app.traktor.fx." + (fxUnit + 1) + ".buttons.3.name" } + QtObject { + id: fxButton3name + property string description: "Description" + property var value: "ON" + property var valueRange: ({isDiscrete: true, steps: 1}) + } + + // AppProperty { id: fxType; path: "app.traktor.fx." + (fxUnit + 1) + ".type" } // singleMode -> fxSelect1.description else "DRY/WET" + QtObject { + id: fxType + property string description: "Description" + property var value: 0 + property var valueRange: ({isDiscrete: true, steps: 1}) + } + + Row { + id: controlRow + TopInfoDetails { + id: topInfoDetails1 + parameter: fxDryWet + isOn: fxOn.value + label: fxType.value == 1 ? ((fxSelect1.description == "Delay") ? "DELAY" : (fxSelect1.description == "Reverb") ? "REVRB" : (fxSelect1.description == "Flanger") ? "FLANG" : (fxSelect1.description == "Flanger Pulse") ? "FLN-P" : (fxSelect1.description == "Flanger Flux") ? "FLN-F" : (fxSelect1.description == "Gater") ? "GATER" : (fxSelect1.description == "Beatmasher 2") ? "BEATM" : (fxSelect1.description == "Delay T3") ? "T3DELAY" : (fxSelect1.description == "Filter LFO") ? "FLT-O" : (fxSelect1.description == "Filter Pulse") ? "FLT-P" : (fxSelect1.description == "Filter") ? "FILTR" : (fxSelect1.description == "Filter:92 Pulse") ? "F92-O" : (fxSelect1.description == "Filter:92 Pulse") ? "F92-P" : (fxSelect1.description == "Filter:92") ? "FLT92" : (fxSelect1.description == "Phaser") ? "PHFXASR" : (fxSelect1.description == "Phaser Pulse") ? "PHS-P" : (fxSelect1.description == "Phaser Flux") ? "PHS-F" : (fxSelect1.description == "Reverse Grain") ? "REVGR" : (fxSelect1.description == "Turntable FX") ? "TTFX" : (fxSelect1.description == "Iceverb") ? "ICEVB" : (fxSelect1.description == "Reverb T3") ? "T3REVRB" : (fxSelect1.description == "Ringmodulator") ? "RINGM" : (fxSelect1.description == "Digital LoFi") ? "LOFI" : (fxSelect1.description == "Mulholland Drive") ? "MHDRV" : (fxSelect1.description == "Transpose Stretch") ? "TRANS" : (fxSelect1.description == "BeatSlicer") ? "SLICER" : (fxSelect1.description == "Formant Filter") ? "FFTR" : (fxSelect1.description == "Peak Filter") ? "PFTR" : (fxSelect1.description == "Tape Delay") ? "TPDELAY" : (fxSelect1.description == "Ramp Delay") ? "RMPDLY" : (fxSelect1.description == "Auto Bouncer") ? "ABOUNCE" : (fxSelect1.description == "Bouncer") ? "BOUNCER" : (fxKnob3name.value == "LASLI") ? "LASLI" : (fxKnob3name.value == "GRANP") ? "GRANP" : (fxKnob3name.value == "B-O-M") ? "B-O-M" : (fxKnob3name.value == "POWIN") ? "POWIN" : (fxKnob3name.value == "EVNHR") ? "EVNHR" : (fxKnob3name.value == "ZZZRP") ? "ZZZRP" : (fxKnob3name.value == "STRRS") ? "STRRS" : (fxKnob3name.value == "STRRF") ? "STRRF" : (fxKnob3name.value == "DARKM") ? "DARKM" : (fxKnob3name.value == "FTEST") ? "FTEST" : fxSelect1.description) : "DRY/WET" + buttonLabel: fxType.value == 1 ? "ON" : "" + fxEnabled: (fxType.value != 1) || fxSelect1.value + barBgColor: topLabels.barBgColor + isPatternPlayer: (fxType.value == 2 ? true : false) + } + TopInfoDetails { + id: topInfoDetails2 + parameter: fxParam1 + isOn: fxButton1.value + label: fxKnob1name.value + buttonLabel: fxButton1name.value + fxEnabled: (fxSelect1.value || ((fxType.value == 1) && fxSelect1.value) ) + barBgColor: topLabels.barBgColor + isPatternPlayer: (fxType.value == 2 ? true : false) + } + + TopInfoDetails { + id: topInfoDetails3 + parameter: fxParam2 + isOn: fxButton2.value + label: fxKnob2name.value + buttonLabel: fxButton2name.value + fxEnabled: (fxSelect2.value || ((fxType.value == 1) && fxSelect1.value) ) + barBgColor: topLabels.barBgColor + isPatternPlayer: (fxType.value == 2 ? true : false) + } + + TopInfoDetails { + id: topInfoDetails4 + parameter: fxParam3 + isOn: fxButton3.value + label: fxKnob3name.value + buttonLabel: fxButton3name.value + fxEnabled: (fxSelect3.value || ((fxType.value == 1) && fxSelect1.value) ) + barBgColor: topLabels.barBgColor + isPatternPlayer: (fxType.value == 2 ? true : false) + } + } + } + + // black border & shadow + Rectangle { + id: headerBlackLine + anchors.top: topLabels.bottom + width: parent.width + color: colors.colorBlack + height: 2 + } + Rectangle { + id: headerShadow + anchors.left: parent.left + anchors.right: parent.right + anchors.top: headerBlackLine.bottom + height: 6 + gradient: Gradient { + GradientStop { position: 1.0; color: colors.colorBlack0 } + GradientStop { position: 0.0; color: colors.colorBlack63 } + } + visible: false + } + + //------------------------------------------------------------------------------------------------------------------ + // STATES + //------------------------------------------------------------------------------------------------------------------ + + Behavior on y { PropertyAnimation { duration: durations.overlayTransition; easing.type: Easing.InOutQuad } } + + Item { + id: showHide + state: showHideState + states: [ + State { + name: "show"; + PropertyChanges { target: topLabels; y: yPositionWhenShown} + }, + State { + name: "hide"; + PropertyChanges { target: topLabels; y: yPositionWhenHidden} + } + ] + } +} diff --git a/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Waveform/WaveformContainer.qml b/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Waveform/WaveformContainer.qml new file mode 100755 index 000000000000..92a9e7424451 --- /dev/null +++ b/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Waveform/WaveformContainer.qml @@ -0,0 +1,234 @@ +import QtQuick 2.15 + +import '../Defines' +import '../Widgets' as Widgets +import '../Overlays' as Overlays +import '../ViewModels' as ViewModels + +import Mixxx 1.0 as Mixxx +import Mixxx.Controls 1.0 as MixxxControls + +Item { + id: view + property int deckId: deckInfo.deckId + property string deckSizeState: "large" + property bool showLoopSize: false + property bool isInEditMode: false + property string propertiesPath: "" + property int zoomLevel: deckInfo.zoomLevel + readonly property int minSampleWidth: 2048 + property int sampleWidth: minSampleWidth << zoomLevel + property bool hideLoop: false + property bool hideBPM: false + property bool hideKey: false + + readonly property bool trackIsLoaded: deckInfo.isLoaded + + //-------------------------------------------------------------------------------------------------------------------- + + required property var deckInfo + + //-------------------------------------------------------------------------------------------------------------------- + // WAVEFORM Position + //------------------------------------------------------------------------------------------------------------------ + + Mixxx.ControlProxy { + id: scratchPositionEnableControl + + group: root.group + key: "scratch_position_enable" + } + + Mixxx.ControlProxy { + id: scratchPositionControl + + group: root.group + key: "scratch_position" + } + + Mixxx.ControlProxy { + id: wheelControl + + group: root.group + key: "wheel" + } + + Mixxx.ControlProxy { + id: rateRatioControl + + group: root.group + key: "rate_ratio" + } + + Mixxx.ControlProxy { + id: zoomControl + + group: root.group + key: "waveform_zoom" + } + + MixxxControls.WaveformDisplay { + id: singleWaveform + group: `[Channel${view.deckId}]` + x: 0 + width: 316 + // height: (settings.alwaysShowTempoInfo || deckInfo.adjustEnabled ? (settings.hideStripe ? content.waveformHeight + display.secondRowHeight-51 : content.waveformHeight-38) : (!deckInfo.showBPMInfo ? (settings.hideStripe ? content.waveformHeight + display.secondRowHeight-13 : content.waveformHeight) : (settings.hideStripe ? content.waveformHeight + display.secondRowHeight-51 : content.waveformHeight-38))) + (settings.hidePhase && settings.hidePhrase ? 16 : 0) + (!settings.hidePhase && !settings.hidePhrase ? -16 : 0) + height: view.height + + Behavior on height { PropertyAnimation { duration: 90} } + anchors.fill: parent + zoom: zoomControl.value + backgroundColor: "#36000000" + + Mixxx.WaveformRendererEndOfTrack { + color: 'blue' + } + + Mixxx.WaveformRendererPreroll { + color: '#998977' + } + + Mixxx.WaveformRendererMarkRange { + // + Mixxx.WaveformMarkRange { + startControl: "loop_start_position" + endControl: "loop_end_position" + enabledControl: "loop_enabled" + color: '#00b400' + opacity: 0.7 + disabledColor: '#FFFFFF' + disabledOpacity: 0.6 + } + // + Mixxx.WaveformMarkRange { + startControl: "intro_start_position" + endControl: "intro_end_position" + color: '#2c5c9a' + opacity: 0.6 + durationTextColor: '#ffffff' + durationTextLocation: 'after' + } + // + Mixxx.WaveformMarkRange { + startControl: "outro_start_position" + endControl: "outro_end_position" + color: '#2c5c9a' + opacity: 0.6 + durationTextColor: '#ffffff' + durationTextLocation: 'before' + } + } + + Mixxx.WaveformRendererRGB { + axesColor: '#00ffffff' + lowColor: 'red' + midColor: 'green' + highColor: 'blue' + } + + Mixxx.WaveformRendererStem { } + + Mixxx.WaveformRendererBeat { + color: '#cfcfcf' + } + + Mixxx.WaveformRendererMark { + playMarkerColor: 'cyan' + playMarkerBackground: 'transparent' + defaultMark: Mixxx.WaveformMark { + align: "bottom|right" + color: "#FF0000" + textColor: "#FFFFFF" + text: " %1 " + } + + untilMark.showTime: true + untilMark.showBeats: true + untilMark.align: Qt.AlignBottom + untilMark.textSize: 14 + + Mixxx.WaveformMark { + control: "cue_point" + text: 'C' + align: 'top|right' + color: 'red' + textColor: '#FFFFFF' + } + Mixxx.WaveformMark { + control: "loop_start_position" + text: '↻' + align: 'top|left' + color: 'green' + textColor: '#FFFFFF' + } + Mixxx.WaveformMark { + control: "loop_end_position" + align: 'bottom|right' + color: 'green' + textColor: '#FFFFFF' + } + Mixxx.WaveformMark { + control: "intro_start_position" + align: 'top|right' + color: 'blue' + textColor: '#FFFFFF' + } + Mixxx.WaveformMark { + control: "intro_end_position" + text: '◢' + align: 'top|left' + color: 'blue' + textColor: '#FFFFFF' + } + Mixxx.WaveformMark { + control: "outro_start_position" + text: '◣' + align: 'top|right' + color: 'blue' + textColor: '#FFFFFF' + } + Mixxx.WaveformMark { + control: "outro_end_position" + align: 'top|left' + color: 'blue' + textColor: '#FFFFFF' + } + } + } + + //-------------------------------------------------------------------------------------------------------------------- + // Stem Color Indicators (Rectangles) + //-------------------------------------------------------------------------------------------------------------------- + + StemColorIndicators { + id: stemColorIndicators + deckId: view.deckId + deckInfo: view.deckInfo + anchors.fill: singleWaveform + anchors.rightMargin: 309 + visible: deckInfoModel.isStemDeck + indicatorHeight: !settings.hidePhase && !settings.hidePhrase ? (deckInfo.showBPMInfo ? [19 , 19 , 19 , 20] : [27 , 27 , 27 , 27]) : (deckInfo.showBPMInfo ? [23 , 23 , 23 , 23] : [31 , 31 , 31 , 31]) + } + + Widgets.LoopSize { + id: loopSize + anchors.topMargin: 1 + anchors.fill: parent + visible: (deckInfo.showLoopInfo || deckInfo.loopActive || settings.alwaysShowLoopSize) && !hideLoop + } + + Widgets.KeyDisplay { + id: keyDisplay + anchors.topMargin: 1 + anchors.fill: parent + visible: !hideKey + } + + Widgets.BpmDisplay { + id: bpmDisplay + anchors.bottomMargin: 1 + anchors.top: singleWaveform.bottom + anchors.fill: parent + visible: !hideBPM && (!deckInfo.showBPMInfo && !settings.alwaysShowTempoInfo && !deckInfo.adjustEnabled) || settings.hideWaveforms + } +} diff --git a/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/BPMIndicator.qml b/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/BPMIndicator.qml new file mode 100755 index 000000000000..c49800618f21 --- /dev/null +++ b/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/BPMIndicator.qml @@ -0,0 +1,77 @@ +/* +This module is used to define the top right section, right under the label. +Currently this section is dedicated to BPM and tempo fader information. +*/ +import QtQuick 2.14 +import QtQuick.Controls 2.15 + +import Mixxx 1.0 as Mixxx +import Mixxx.Controls 1.0 as MixxxControls + +Rectangle { + id: root + + required property string group + required property color borderColor + + property real value: 0 + + color: "transparent" + radius: 6 + border.color: smallBoxBorder + border.width: 2 + + signal updated + + Text { + id: indicator + text: "-" + font.pixelSize: 17 + color: fontColor + anchors.centerIn: parent + + Mixxx.ControlProxy { + group: root.group + key: "bpm" + onValueChanged: (value) => { + const newValue = value.toFixed(2); + if (newValue === indicator.text) return; + indicator.text = newValue; + root.updated() + } + } + } + + Text { + id: range + font.pixelSize: 9 + color: fontColor + anchors.top: parent.top + anchors.bottom: parent.bottom + anchors.right: parent.right + anchors.rightMargin: 5 + anchors.topMargin: 2 + + horizontalAlignment: Text.AlignHCenter + + Mixxx.ControlProxy { + group: root.group + key: "rateRange" + onValueChanged: (value) => { + const newValue = `-/+ \n${(value * 100).toFixed()}%`; + if (range.text === newValue) return; + range.text = newValue; + root.updated(); + } + } + } + + states: State { + name: "compacted" + + PropertyChanges { + target: range + visible: false + } + } +} diff --git a/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/HotcuePoint.qml b/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/HotcuePoint.qml new file mode 100644 index 000000000000..f39bdc1ca796 --- /dev/null +++ b/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/HotcuePoint.qml @@ -0,0 +1,199 @@ +/* +This module is used to define markers element as render over the the overview waveform. +When this is written, Mixxx QML doesn't have waveform overview marker ready to be used, so this +is an attempt to provide fully functional markers for the controller screen, while the Mixxx QML +interface is still being worked on. +Consider replacing this with native overview marker in the future. +*/ +import QtQuick 2.15 +import QtQuick.Shapes 1.4 +import QtQuick.Window 2.15 + +import QtQuick.Controls 2.15 + +import Mixxx 1.0 as Mixxx + +Item { + required property real position + required property int type + + property int number: 1 + property color color: 'blue' + + enum Type { + OneShot, + Loop, + IntroIn, + IntroOut, + OutroIn, + OutroOut, + LoopIn, + LoopOut + } + + property variant typeWithNumber: [ + HotcuePoint.Type.OneShot, + HotcuePoint.Type.Loop + ] + + x: position * (Window.width - 16) + width: 21 + + // One shot + Shape { + visible: type == HotcuePoint.Type.OneShot + anchors.fill: parent + antialiasing: true + + ShapePath { + strokeWidth: 1 + strokeColor: Qt.rgba(0, 0, 0, 0.5) + fillColor: color + strokeStyle: ShapePath.SolidLine + // dashPattern: [ 1, 4 ] + startX: 0; startY: 0 + + PathLine { x: 12; y: 0 } + PathLine { x: 18; y: 6 } + PathLine { x: 18; y: 7 } + PathLine { x: 12; y: 13 } + PathLine { x: 2; y: 13 } + PathLine { x: 2; y: 80 } + PathLine { x: 0; y: 80 } + PathLine { x: 0; y: 0 } + } + } + + // Intro/Outro entry marker + Shape { + visible: type == HotcuePoint.Type.IntroIn || type == HotcuePoint.Type.OutroIn + anchors.fill: parent + antialiasing: true + + ShapePath { + strokeWidth: 1 + strokeColor: Qt.rgba(0, 0, 0, 0.5) + fillColor: "#6e6e6e" + strokeStyle: ShapePath.SolidLine + // dashPattern: [ 1, 4 ] + startX: 0; startY: 0 + + PathLine { x: 11; y: 0 } + PathLine { x: 2; y: 13 } + PathLine { x: 2; y: 80 } + PathLine { x: 0; y: 80 } + PathLine { x: 0; y: 0 } + } + } + + // Intro/Outro exit marker + Shape { + visible: type == HotcuePoint.Type.IntroOut || type == HotcuePoint.Type.OutroOut + anchors.fill: parent + antialiasing: true + + ShapePath { + strokeWidth: 1 + strokeColor: Qt.rgba(0, 0, 0, 0.5) + fillColor: "#6e6e6e" + strokeStyle: ShapePath.SolidLine + // dashPattern: [ 1, 4 ] + startX: 2; startY: 0 + + PathLine { x: 0; y: 0 } + PathLine { x: 0; y: 67 } + PathLine { x: -9; y: 80 } + PathLine { x: 2; y: 80 } + PathLine { x: 2; y: 0 } + } + } + + // Loop + Shape { + visible: type == HotcuePoint.Type.Loop + anchors.fill: parent + antialiasing: true + + ShapePath { + strokeWidth: 1 + strokeColor: Qt.rgba(0, 0, 0, 0.5) + fillColor: "#6ef36e" + strokeStyle: ShapePath.SolidLine + // dashPattern: [ 1, 4 ] + startX: 13; startY: 0 + + PathArc { + x: 2; y: 13 + radiusX: 9; radiusY: 9 + direction: PathArc.Clockwise + } + PathLine { x: 2; y: 80 } + PathLine { x: 0; y: 80 } + PathLine { x: 0; y: 0 } + PathLine { x: 21; y: 0 } + } + } + + // Loop in + Shape { + visible: type == HotcuePoint.Type.LoopIn + anchors.fill: parent + antialiasing: true + + ShapePath { + strokeWidth: 1 + strokeColor: Qt.rgba(0, 0, 0, 0.5) + fillColor: "#6ef36e" + strokeStyle: ShapePath.SolidLine + // dashPattern: [ 1, 4 ] + startX: 0; startY: 0 + + PathLine { x: 8; y: 0 } + PathLine { x: 2; y: 10 } + PathLine { x: 2; y: 80 } + PathLine { x: 0; y: 80 } + PathLine { x: 0; y: 0 } + } + } + + // Loop out + Shape { + visible: type == HotcuePoint.Type.LoopOut + anchors.fill: parent + antialiasing: true + + ShapePath { + strokeWidth: 1 + strokeColor: Qt.rgba(0, 0, 0, 0.5) + fillColor: "#6ef36e" + strokeStyle: ShapePath.SolidLine + // dashPattern: [ 1, 4 ] + startX: 2; startY: 0 + + PathLine { x: -6; y: 0 } + PathLine { x: 0; y: 10 } + PathLine { x: 0; y: 80 } + PathLine { x: 2; y: 80 } + PathLine { x: 2; y: 0 } + } + } + + Shape { + visible: type in typeWithNumber + anchors.fill: parent + antialiasing: true + + ShapePath { + fillColor: "black" + strokeColor: "black" + PathText { + x: 4 + y: 3 + font.family: "Arial" + font.pixelSize: 11 + font.weight: Font.Medium + text: `${number}` + } + } + } +} diff --git a/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/KeyIndicator.qml b/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/KeyIndicator.qml new file mode 100755 index 000000000000..5d2c1b4c5829 --- /dev/null +++ b/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/KeyIndicator.qml @@ -0,0 +1,127 @@ +/* +This module is used to define the top left section, right under the label. +Currently this section is dedicated to key/pitch information. +*/ +import QtQuick 2.14 +import QtQuick.Controls 2.15 + +import Mixxx 1.0 as Mixxx +import Mixxx.Controls 1.0 as MixxxControls + +Rectangle { + id: root + + required property string group + + enum Key { + NoKey, + OneD, + EightD, + ThreeD, + TenD, + FiveD, + TwelveD, + SevenD, + SecondD, + NineD, + FourD, + ElevenD, + SixD, + TenM, + FiveM, + TwelveM, + SevenM, + TwoM, + NineM, + FourM, + ElevenM, + SixM, + OneM, + EightM, + ThreeM + } + + property variant colorsMap: [ + "#b09840", // No key + "#b960a2",// 1d + "#9fc516", // 8d + "#527fc0", // 3d + "#f28b2e", // 10d + "#5bc1cf", // 5d + "#e84c4d", // 12d + "#73b629", // 7d + "#8269ab", // 2d + "#fdd615", // 9d + "#3cc0f0", // 4d + "#4cb686", // 11d + "#4cb686", // 6d + "#f5a158", // 10m + "#7bcdd9", // 5m + "#ed7171", // 12m + "#8fc555", // 7m + "#9b86be", // 2m + "#fcdf45", // 9m + "#63cdf4", // 4m + "#f1845f", // 11m + "#70c4a0", // 6m + "#c680b6", // 1m + "#b2d145", // 8m + "#7499cd" // 3m + ] + + property variant textMap: [ + "No key", + "1d", + "8d", + "3d", + "10d", + "5d", + "12d", + "7d", + "2d", + "9d", + "4d", + "11d", + "6d", + "10m", + "5m", + "12m", + "7m", + "2m", + "9m", + "4m", + "11m", + "6m", + "1m", + "8m", + "3m" + ] + + required property color borderColor + + property int key: KeyIndicator.Key.NoKey + + radius: 6 + border.color: colorsMap[key] + border.width: 2 + + color: colorsMap[key] + signal updated + + Mixxx.ControlProxy { + group: root.group + key: "key" + onValueChanged: (value) => { + if (value === root.key) return; + root.key = value; + root.updated() + } + } + + Text { + text: textMap[key] + font.pixelSize: 17 + color: fontColor + anchors.centerIn: parent + } +} diff --git a/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/Keyboard.qml b/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/Keyboard.qml new file mode 100644 index 000000000000..2e3b87e453dd --- /dev/null +++ b/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/Keyboard.qml @@ -0,0 +1,140 @@ +/* +This module is used render the keyboard scale, originating from C major (do). +*/ +import QtQuick 2.15 +import QtQuick.Shapes 1.4 +import QtQuick.Layouts 1.3 + +import Mixxx 1.0 as Mixxx +import Mixxx.Controls 1.0 as MixxxControls + +import "." as S4MK3 + +Item { + id: root + + required property string group + + property int key: -1 + + signal updated + + Mixxx.ControlProxy { + group: root.group + key: "key" + onValueChanged: (value) => { + if (value === root.key) return; + root.key = value; + root.updated() + } + } + + RowLayout { + anchors.fill: parent + spacing: 0 + Item { + Layout.fillWidth: true + Layout.fillHeight: true + Rectangle { anchors.fill: parent; color: "transparent" } + } + Repeater { + id: whiteKeys + + model: 7 + + property variant keyMap: [ + S4MK3.KeyIndicator.Key.OneD, + S4MK3.KeyIndicator.Key.ThreeD, + S4MK3.KeyIndicator.Key.FiveD, + S4MK3.KeyIndicator.Key.TwelveD, + S4MK3.KeyIndicator.Key.SecondD, + S4MK3.KeyIndicator.Key.FourD, + S4MK3.KeyIndicator.Key.SixD, + S4MK3.KeyIndicator.Key.TenM, + S4MK3.KeyIndicator.Key.TwelveM, + S4MK3.KeyIndicator.Key.TwoM, + S4MK3.KeyIndicator.Key.NineM, + S4MK3.KeyIndicator.Key.ElevenM, + S4MK3.KeyIndicator.Key.OneM, + S4MK3.KeyIndicator.Key.ThreeM + ] + + Rectangle { + Layout.preferredWidth: 21 + Layout.fillHeight: true + Layout.alignment: Qt.AlignHCenter | Qt.AlignVCenter + radius: 2 + border.width: 1 + border.color: root.key == whiteKeys.keyMap[index] || root.key == whiteKeys.keyMap[index + 7] ? "red" : "black" + color: root.key == whiteKeys.keyMap[index] || root.key == whiteKeys.keyMap[index + 7] ? "#aaaaaa" : "white" + } + } + Item { + Layout.fillWidth: true + Layout.fillHeight: true + Rectangle { anchors.fill: parent; color: "transparent" } + } + } + RowLayout { + anchors.fill: parent + spacing: 0 + + Item { + Layout.fillWidth: true + Layout.fillHeight: true + Rectangle { anchors.fill: parent; color: "transparent" } + } + Repeater { + id: blackKeys + + model: 5 + + property variant keyMap: [ + S4MK3.KeyIndicator.Key.EightD, + S4MK3.KeyIndicator.Key.TenD, + S4MK3.KeyIndicator.Key.SevenD, + S4MK3.KeyIndicator.Key.NineD, + S4MK3.KeyIndicator.Key.ElevenD, + S4MK3.KeyIndicator.Key.FiveM, + S4MK3.KeyIndicator.Key.SevenM, + S4MK3.KeyIndicator.Key.FourM, + S4MK3.KeyIndicator.Key.SixM, + S4MK3.KeyIndicator.Key.EightM, + ] + + Item { + Layout.fillHeight: true + Layout.preferredWidth: index == 1 ? 42 : index == 4 ? 12 : 21 + Rectangle { + anchors.top: parent.top + anchors.bottom: parent.bottom + width: 12 + Layout.alignment: Qt.AlignHCenter | Qt.AlignVCenter + color: "transparent" + ColumnLayout { + anchors.fill: parent + spacing: 0 + Rectangle { + Layout.fillHeight: true + Layout.fillWidth: true + radius: 2 + border.width: 1 + // border.color: root.key == blackKeys.keyMap[index] || root.key == blackKeys.keyMap[index + blackKeys.model] ? "red" : "black" + color: root.key == blackKeys.keyMap[index] || root.key == blackKeys.keyMap[index + blackKeys.model] ? "#aaaaaa" : "black" + } + Item { + Layout.fillWidth: true + Layout.fillHeight: true + Rectangle { anchors.fill: parent; color: "transparent" } + } + } + } + } + } + Item { + Layout.fillWidth: true + Layout.fillHeight: true + Rectangle { anchors.fill: parent; color: "transparent" } + } + } +} diff --git a/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/LoopSizeIndicator.qml b/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/LoopSizeIndicator.qml new file mode 100755 index 000000000000..7f0bdec7d01c --- /dev/null +++ b/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/LoopSizeIndicator.qml @@ -0,0 +1,75 @@ +/* +This module is used to define the center right section, above the waveform. +Currently this section is dedicated to display loop state information such as loop state, anchor mode or size. +*/ +import QtQuick 2.14 +import QtQuick.Controls 2.15 + +import Mixxx 1.0 as Mixxx +import Mixxx.Controls 1.0 as MixxxControls + +Rectangle { + id: root + + required property string group + + property color loopReverseOffBoxColor: Qt.rgba(255/255,113/255,9/255, 1) + property color loopOffBoxColor: Qt.rgba(67/255,70/255,66/255, 1) + property color loopOffFontColor: "white" + property color loopOnBoxColor: Qt.rgba(125/255,246/255,64/255, 1) + property color loopOnFontColor: "black" + + property bool on: true + signal updated + + radius: 6 + border.width: 2 + border.color: (loopSizeIndicator.on ? loopOnBoxColor : (loop_anchor.value == 0 ? loopOffBoxColor : loopReverseOffBoxColor)) + color: (loopSizeIndicator.on ? loopOnBoxColor : (loop_anchor.value == 0 ? loopOffBoxColor : loopReverseOffBoxColor)) + + Text { + id: indicator + anchors.centerIn: parent + font.pixelSize: 46 + color: (loopSizeIndicator.on ? loopOnFontColor : loopOffFontColor) + + Mixxx.ControlProxy { + group: root.group + key: "beatloop_size" + onValueChanged: (value) => { + const newValue = (value < 1 ? `1/${1 / value}` : `${value}`); + if (newValue === indicator.text) return; + indicator.text = newValue; + root.updated() + } + } + } + + Mixxx.ControlProxy { + group: root.group + key: "loop_enabled" + onValueChanged: (value) => { + if (value === root.on) return; + root.on = value; + root.updated() + } + } + + Mixxx.ControlProxy { + group: root.group + key: "loop_anchor" + id: loop_anchor + onValueChanged: (value) => { + root.updated() + } + } + + states: State { + name: "compacted" + + PropertyChanges { + target: indicator + font.pixelSize: 17 + } + } +} diff --git a/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/OnAirTrack.qml b/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/OnAirTrack.qml new file mode 100644 index 000000000000..0d034066a6e1 --- /dev/null +++ b/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/OnAirTrack.qml @@ -0,0 +1,81 @@ +/* +This module is used to define the top section o the screen. +Currently this section is dedicated to display title and artist of the track loaded on the deck. +*/ +import QtQuick 2.14 +import QtQuick.Controls 2.15 + +import Mixxx 1.0 as Mixxx +import Mixxx.Controls 1.0 as MixxxControls + +Item { + id: root + + required property string group + property var deckPlayer: Mixxx.PlayerManager.getPlayer(root.group) + property bool scrolling: true + + property real speed: 1.7 + property real spacing: 30 + + Rectangle { + id: frame + anchors.top: root.top + anchors.bottom: root.bottom + width: parent.width + x: 6 + color: 'transparent' + + readonly property string fulltext: !trackLoadedControl.value || root.deckPlayer.title.trim().length + root.deckPlayer.artist.trim().length == 0 ? qsTr("No Track Loaded") : `${root.deckPlayer.title} - ${root.deckPlayer.artist}`.trim() + + Text { + id: text1 + text: frame.fulltext + font.pixelSize: 24 + font.family: "Noto Sans" + font.letterSpacing: -1 + color: fontColor + } + Text { + id: text2 + visible: root.width < text1.implicitWidth + anchors.left: text1.right + anchors.leftMargin: spacing + text: frame.fulltext + font.pixelSize: 24 + font.family: "Noto Sans" + font.letterSpacing: -1 + color: fontColor + } + } + + Mixxx.ControlProxy { + id: trackLoadedControl + + group: root.group + key: "track_loaded" + } + + Timer { + id: timer + + property int modifier: -root.speed + + repeat: true + interval: 15 + running: root.width < text1.implicitWidth && root.scrolling + + onTriggered: { + frame.x += modifier; + if (frame.x <= -text1.implicitWidth - spacing) { + frame.x = 0; + } + } + + onRunningChanged: { + if (!running) { + frame.x = 6; + } + } + } +} diff --git a/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/Progression.qml b/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/Progression.qml new file mode 100755 index 000000000000..82d8f8b3f892 --- /dev/null +++ b/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/Progression.qml @@ -0,0 +1,53 @@ +/* +This module is used to draw an overlay on the waveform overview in order to highlight better the playback progression. +As the native Mixxx QML component involves, this component might become redundant and should be replaces with native modules. +*/ +import QtQuick 2.15 +import QtQuick.Window 2.15 + +import Mixxx 1.0 as Mixxx +import Mixxx.Controls 1.0 as MixxxControls + +Item { + id: root + + required property string group + + property real windowWidth: Window.width + + width: 0 + signal updated + + Mixxx.ControlProxy { + group: root.group + key: "track_loaded" + onValueChanged: (value) => { + if (value === root.visible) return; + root.visible = value + root.updated() + } + } + + Mixxx.ControlProxy { + group: root.group + key: "playposition" + onValueChanged: (value) => { + const newValue = Math.round(value * (320 - 12)); + if (newValue === root.width) return; + root.width = newValue; + root.updated() + } + } + + clip: true + + Rectangle { + anchors.fill: parent + anchors.leftMargin: -border.width + anchors.topMargin: -border.width + anchors.bottomMargin: -border.width + border.width: 2 + border.color:"black" + color: Qt.rgba(0.39, 0.80, 0.96, 0.3) + } +} diff --git a/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/SplashOff.qml b/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/SplashOff.qml new file mode 100644 index 000000000000..a3937436c791 --- /dev/null +++ b/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/SplashOff.qml @@ -0,0 +1,15 @@ +import QtQuick 2.15 + +Rectangle { + id: root + anchors.fill: parent + color: "black" + + Image { + anchors.centerIn: parent + width: root.width*0.8 + height: root.height + fillMode: Image.PreserveAspectFit + source: engine.getSetting("idleBackground") == "mask" ? "./Screens/Images/logo.png" : "../../../images/templates/logo_mixxx.png" + } +} diff --git a/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/StockScreen.qml b/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/StockScreen.qml new file mode 100644 index 000000000000..c93b813f3e6b --- /dev/null +++ b/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/StockScreen.qml @@ -0,0 +1,634 @@ +import QtQuick 2.15 +import QtQuick.Layouts 1.3 + +import "../../../qml" as Skin +import Mixxx 1.0 as Mixxx +import Mixxx.Controls 1.0 as MixxxControls + +import S4MK3 as S4MK3 + +Rectangle { + id: root + + required property string group + required property string screenId + + readonly property bool useSharedApi: engine.getSetting("useSharedDataAPI") + + anchors.fill: parent + color: "black" + + function onSharedDataUpdate(data) { + if (!root) return; + + console.log(`Received data on screen#${root.screenId} while currently bind to ${root.group}: ${JSON.stringify(data)}`); + if (typeof data === "object" && typeof data.group[root.screenId] === "string" && root.group !== data.group[root.screenId]) { + root.group = data.group[root.screenId] + waveformOverview.player = Mixxx.PlayerManager.getPlayer(root.group) + artwork.player = Mixxx.PlayerManager.getPlayer(root.group) + console.log(`Changed group for screen ${root.screenId} to ${root.group}`); + } + var shouldBeCompacted = false; + if (typeof data.padsMode === "object") { + scrollingWaveform.visible = data.padsMode[root.group] === 4 + artworkSpacer.visible = data.padsMode[root.group] === 1 + shouldBeCompacted |= scrollingWaveform.visible || artworkSpacer.visible + } + if (typeof data.keyboardMode === "object") { + shouldBeCompacted |= data.keyboardMode[root.group] + keyboard.visible = !!data.keyboardMode[root.group] + } + deckInfo.state = shouldBeCompacted ? "compacted" : "" + if (typeof data.displayBeatloopSize === "object") { + timeIndicator.mode = data.displayBeatloopSize[root.group] ? S4MK3.TimeAndBeatloopIndicator.Mode.BeetjumpSize : S4MK3.TimeAndBeatloopIndicator.Mode.RemainingTime + timeIndicator.update() + } + } + + Mixxx.ControlProxy { + id: trackLoadedControl + + group: root.group + key: "track_loaded" + + onValueChanged: (value) => { + if (!value && deckInfo) { + deckInfo.state = "" + scrollingWaveform.visible = false + } + } + } + + Timer { + id: channelchange + + interval: 5000 + repeat: true + running: false + + onTriggered: { + root.onSharedDataUpdate({ + group: { + "leftdeck": screenId === "leftdeck" && trackLoadedControl.group === "[Channel1]" ? "[Channel3]" : "[Channel1]", + "rightdeck": screenId === "rightdeck" && trackLoadedControl.group === "[Channel2]" ? "[Channel4]" : "[Channel2]", + }, + scrollingWaveform: { + "[Channel1]": true, + "[Channel2]": true, + "[Channel3]": true, + "[Channel4]": true, + }, + keyboardMode: { + "[Channel1]": false, + "[Channel2]": false, + "[Channel3]": false, + "[Channel4]": false, + }, + displayBeatloopSize: { + "[Channel1]": false, + "[Channel2]": false, + "[Channel3]": false, + "[Channel4]": false, + }, + }); + } + } + + Component.onCompleted: { + if (!root.useSharedApi) { + return; + } + + engine.makeSharedDataConnection(root.onSharedDataUpdate) + + root.onSharedDataUpdate({ + group: { + "leftdeck": "[Channel1]", + "rightdeck": "[Channel2]", + }, + scrollingWaveform: { + "[Channel1]": false, + "[Channel2]": false, + "[Channel3]": false, + "[Channel4]": false, + }, + keyboardMode: { + "[Channel1]": false, + "[Channel2]": false, + "[Channel3]": false, + "[Channel4]": false, + }, + displayBeatloopSize: { + "[Channel1]": false, + "[Channel2]": false, + "[Channel3]": false, + "[Channel4]": false, + }, + }); + } + + Rectangle { + anchors.fill: parent + color: "transparent" + + Image { + id: artwork + anchors.fill: parent + + property var player: Mixxx.PlayerManager.getPlayer(root.group) + + source: player.coverArtUrl + height: 100 + width: 100 + fillMode: Image.PreserveAspectFit + + opacity: artworkSpacer.visible ? 1 : 0.2 + z: -1 + } + } + + ColumnLayout { + anchors.fill: parent + spacing: 6 + + Rectangle { + Layout.fillWidth: true + Layout.preferredHeight: 36 + color: "transparent" + + RowLayout { + anchors.fill: parent + spacing: 1 + + S4MK3.OnAirTrack { + id: onAir + group: root.group + Layout.fillWidth: true + Layout.fillHeight: true + + scrolling: !scrollingWaveform.visible + } + } + } + + // Indicator + Rectangle { + id: deckInfo + + Layout.fillWidth: true + Layout.preferredHeight: 105 + Layout.leftMargin: 6 + Layout.rightMargin: 6 + color: "transparent" + + GridLayout { + id: gridLayout + anchors.fill: parent + columnSpacing: 6 + rowSpacing: 6 + columns: 2 + + // Section: Key + S4MK3.KeyIndicator { + id: keyIndicator + group: root.group + borderColor: smallBoxBorder + + Layout.fillWidth: true + Layout.fillHeight: true + } + + // Section: Bpm + S4MK3.BPMIndicator { + id: bpmIndicator + group: root.group + borderColor: smallBoxBorder + + Layout.fillWidth: true + Layout.fillHeight: true + } + + // Section: Key + S4MK3.TimeAndBeatloopIndicator { + id: timeIndicator + group: root.group + + Layout.fillWidth: true + Layout.preferredHeight: 72 + timeColor: smallBoxBorder + } + + // Section: Bpm + S4MK3.LoopSizeIndicator { + id: loopSizeIndicator + group: root.group + + Layout.fillWidth: true + Layout.preferredHeight: 72 + } + } + states: State { + name: "compacted" + + PropertyChanges { + target:deckInfo + Layout.preferredHeight: 28 + } + PropertyChanges { + target: gridLayout + columns: 4 + } + PropertyChanges { + target: bpmIndicator + state: "compacted" + } + PropertyChanges { + target: timeIndicator + Layout.preferredHeight: -1 + Layout.fillHeight: true + state: "compacted" + } + PropertyChanges { + target: loopSizeIndicator + Layout.preferredHeight: -1 + Layout.fillHeight: true + state: "compacted" + } + } + } + + Item { + id: scrollingWaveform + + Layout.fillWidth: true + Layout.minimumHeight: scrollingWaveform.visible ? 120 : 0 + Layout.leftMargin: 0 + Layout.rightMargin: 0 + + visible: false + + Mixxx.ControlProxy { + id: zoomControl + + group: root.group + key: "waveform_zoom" + } + + MixxxControls.WaveformDisplay { + id: singleWaveform + group: root.group + x: 0 + width: 320 + height: 100 + + Behavior on height { PropertyAnimation { duration: 90} } + anchors.fill: parent + zoom: zoomControl.value + backgroundColor: "#36000000" + + Mixxx.WaveformRendererEndOfTrack { + color: 'blue' + endOfTrackWarningTime: 30 + } + + Mixxx.WaveformRendererPreroll { + color: '#998977' + } + + Mixxx.WaveformRendererMarkRange { + // + Mixxx.WaveformMarkRange { + startControl: "loop_start_position" + endControl: "loop_end_position" + enabledControl: "loop_enabled" + color: '#00b400' + opacity: 0.7 + disabledColor: '#FFFFFF' + disabledOpacity: 0.6 + } + // + Mixxx.WaveformMarkRange { + startControl: "intro_start_position" + endControl: "intro_end_position" + color: '#2c5c9a' + opacity: 0.6 + durationTextColor: '#ffffff' + durationTextLocation: 'after' + } + // + Mixxx.WaveformMarkRange { + startControl: "outro_start_position" + endControl: "outro_end_position" + color: '#2c5c9a' + opacity: 0.6 + durationTextColor: '#ffffff' + durationTextLocation: 'before' + } + } + + Mixxx.WaveformRendererRGB { + axesColor: '#00ffffff' + lowColor: 'red' + midColor: 'green' + highColor: 'blue' + + gainAll: 1.0 + gainLow: 1.0 + gainMid: 1.0 + gainHigh: 1.0 + } + + Mixxx.WaveformRendererStem { + gainAll: 1.0 + } + + Mixxx.WaveformRendererBeat { + color: '#cfcfcf' + } + + Mixxx.WaveformRendererMark { + playMarkerColor: 'cyan' + playMarkerBackground: 'transparent' + defaultMark: Mixxx.WaveformMark { + align: "bottom|right" + color: "#FF0000" + textColor: "#FFFFFF" + text: " %1 " + } + + untilMark.showTime: true + untilMark.showBeats: true + untilMark.align: Qt.AlignCenter + untilMark.textSize: 14 + + Mixxx.WaveformMark { + control: "cue_point" + text: 'C' + align: 'top|right' + color: 'red' + textColor: '#FFFFFF' + } + Mixxx.WaveformMark { + control: "loop_start_position" + text: '↻' + align: 'top|left' + color: 'green' + textColor: '#FFFFFF' + } + Mixxx.WaveformMark { + control: "loop_end_position" + align: 'bottom|right' + color: 'green' + textColor: '#FFFFFF' + } + Mixxx.WaveformMark { + control: "intro_start_position" + align: 'top|right' + color: 'blue' + textColor: '#FFFFFF' + } + Mixxx.WaveformMark { + control: "intro_end_position" + text: '◢' + align: 'top|left' + color: 'blue' + textColor: '#FFFFFF' + } + Mixxx.WaveformMark { + control: "outro_start_position" + text: '◣' + align: 'top|right' + color: 'blue' + textColor: '#FFFFFF' + } + Mixxx.WaveformMark { + control: "outro_end_position" + align: 'top|left' + color: 'blue' + textColor: '#FFFFFF' + } + } + } + } + + Mixxx.ControlProxy { + id: deckScratching + + group: root.group + key: "scratch2_enable" + + onValueChanged: { + if (root.useSharedApi) { + return; + } + + if (value) { + waveformTimer.running = false; + scrollingWaveform.visible = true; + deckInfo.state = scrollingWaveform.visible ? "compacted" : "" + } else { + waveformTimer.running = true; + waveformTimer.restart() + } + } + } + + Timer { + id: waveformTimer + + interval: 4000 + repeat: false + running: false + + onTriggered: { + scrollingWaveform.visible = false; + deckInfo.state = scrollingWaveform.visible ? "compacted" : "" + } + } + + // Spacer + Item { + id: artworkSpacer + + Layout.fillWidth: true + Layout.minimumHeight: artworkSpacer.visible ? 120 : 0 + Layout.leftMargin: 6 + Layout.rightMargin: 6 + + visible: false + + Rectangle { + color: "transparent" + visible: parent.visible + anchors.top: parent.top + anchors.bottom: parent.bottom + x: 153 + width: 2 + } + } + + // Track progress + Item { + id: waveform + Layout.fillWidth: true + Layout.fillHeight: true + Layout.leftMargin: 6 + Layout.rightMargin: 6 + layer.enabled: true + + S4MK3.Progression { + id: progression + group: root.group + + anchors.top: parent.top + anchors.left: parent.left + anchors.bottom: parent.bottom + } + + Mixxx.WaveformOverview { + id: waveformOverview + anchors.fill: parent + player: Mixxx.PlayerManager.getPlayer(root.group) + } + + Mixxx.ControlProxy { + id: samplesControl + + group: root.group + key: "track_samples" + } + + // Hotcue + Repeater { + model: 16 + + S4MK3.HotcuePoint { + required property int index + + Mixxx.ControlProxy { + id: samplesControl + + group: root.group + key: "track_samples" + } + + Mixxx.ControlProxy { + id: hotcueEnabled + group: root.group + key: `hotcue_${index + 1}_status` + } + + Mixxx.ControlProxy { + id: hotcuePosition + group: root.group + key: `hotcue_${index + 1}_position` + } + + Mixxx.ControlProxy { + id: hotcueColor + group: root.group + key: `hotcue_${number}_color` + } + + anchors.top: parent.top + // anchors.left: parent.left + anchors.bottom: parent.bottom + visible: hotcueEnabled.value + + number: this.index + 1 + type: S4MK3.HotcuePoint.Type.OneShot + position: hotcuePosition.value / samplesControl.value + color: `#${(hotcueColor.value >> 16).toString(16).padStart(2, '0')}${((hotcueColor.value >> 8) & 255).toString(16).padStart(2, '0')}${(hotcueColor.value & 255).toString(16).padStart(2, '0')}` + } + } + + // Intro + S4MK3.HotcuePoint { + + Mixxx.ControlProxy { + id: introStartEnabled + group: root.group + key: `intro_start_enabled` + } + + Mixxx.ControlProxy { + id: introStartPosition + group: root.group + key: `intro_start_position` + } + + anchors.top: parent.top + anchors.bottom: parent.bottom + visible: introStartEnabled.value + + type: S4MK3.HotcuePoint.Type.IntroIn + position: introStartPosition.value / samplesControl.value + } + + // Extro + S4MK3.HotcuePoint { + + Mixxx.ControlProxy { + id: introEndEnabled + group: root.group + key: `intro_end_enabled` + } + + Mixxx.ControlProxy { + id: introEndPosition + group: root.group + key: `intro_end_position` + } + + anchors.top: parent.top + anchors.bottom: parent.bottom + visible: introEndEnabled.value + + type: S4MK3.HotcuePoint.Type.IntroOut + position: introEndPosition.value / samplesControl.value + } + + // Loop in + S4MK3.HotcuePoint { + Mixxx.ControlProxy { + id: loopStartPosition + group: root.group + key: `loop_start_position` + } + + anchors.top: parent.top + anchors.bottom: parent.bottom + visible: loopStartPosition.value > 0 + + type: S4MK3.HotcuePoint.Type.LoopIn + position: loopStartPosition.value / samplesControl.value + } + + // Loop out + S4MK3.HotcuePoint { + Mixxx.ControlProxy { + id: loopEndPosition + group: root.group + key: `loop_end_position` + } + + anchors.top: parent.top + anchors.bottom: parent.bottom + visible: loopEndPosition.value > 0 + + type: S4MK3.HotcuePoint.Type.LoopOut + position: loopEndPosition.value / samplesControl.value + } + } + + S4MK3.Keyboard { + id: keyboard + group: root.group + visible: false + Layout.fillWidth: true + Layout.fillHeight: true + Layout.leftMargin: 6 + Layout.rightMargin: 6 + } + } +} diff --git a/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/TimeAndBeatloopIndicator.qml b/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/TimeAndBeatloopIndicator.qml new file mode 100755 index 000000000000..26302f4073cc --- /dev/null +++ b/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/TimeAndBeatloopIndicator.qml @@ -0,0 +1,107 @@ +/* +This module is used to define the center left section, above the waveform. +Currently this section is dedicated to show the remaining time as well as the beatloop when changing. +*/ +import QtQuick 2.14 +import QtQuick.Controls 2.15 + +import Mixxx 1.0 as Mixxx +import Mixxx.Controls 1.0 as MixxxControls + +Rectangle { + id: root + + required property string group + + property color timeColor: Qt.rgba(67/255,70/255,66/255, 1) + property color beatjumpColor: 'yellow' + + enum Mode { + RemainingTime, + BeetjumpSize + } + + property int mode: TimeAndBeatloopIndicator.Mode.RemainingTime + + radius: 6 + border.color: timeColor + border.width: 2 + color: timeColor + signal updated + + function update() { + let newValue = ""; + if (root.mode === TimeAndBeatloopIndicator.Mode.RemainingTime) { + var seconds = ((1.0 - progression.value) * duration.value); + var mins = parseInt(seconds / 60).toString(); + seconds = parseInt(seconds % 60).toString(); + + newValue = `-${mins.padStart(2, '0')}:${seconds.padStart(2, '0')}`; + } else { + newValue = (beatjump.value < 1 ? `1/${1 / beatjump.value}` : `${beatjump.value}`); + } + if (newValue === indicator.text) return; + indicator.text = newValue; + root.updated() + } + + Text { + id: indicator + anchors.centerIn: parent + text: "0.00" + + font.pixelSize: 46 + color: fontColor + + Mixxx.ControlProxy { + id: progression + group: root.group + key: "playposition" + } + + Mixxx.ControlProxy { + id: duration + group: root.group + key: "duration" + } + + Mixxx.ControlProxy { + id: beatjump + group: root.group + key: "beatjump_size" + } + + Mixxx.ControlProxy { + id: endoftrack + group: root.group + key: "end_of_track" + onValueChanged: (value) => { + root.border.color = value ? 'red' : timeColor + root.color = value ? 'red' : timeColor + root.updated() + } + } + } + + Component.onCompleted: { + progression.onValueChanged.connect(update) + duration.onValueChanged.connect(update) + beatjump.onValueChanged.connect(update) + update() + } + + states: State { + name: "compacted" + + PropertyChanges { + target: indicator + font.pixelSize: 17 + } + } + + onModeChanged: () => { + border.color = root.mode == TimeAndBeatloopIndicator.Mode.BeetjumpSize ? beatjumpColor : timeColor + color = root.mode == TimeAndBeatloopIndicator.Mode.BeetjumpSize ? beatjumpColor : timeColor + indicator.color = root.mode == TimeAndBeatloopIndicator.Mode.BeetjumpSize ? 'black' : 'white' + } +} diff --git a/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/WaveformOverview.qml b/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/WaveformOverview.qml new file mode 100755 index 000000000000..ade89743521d --- /dev/null +++ b/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/WaveformOverview.qml @@ -0,0 +1,165 @@ +/* +This module is used to waveform overview, at the bottom of the screen. It is reusing component definition of `WaveformOverview.qml` but remove +the link to markers and provide hooks with screen update/redraw, needed for partial updates. +Currently this section is dedicated to BPM and tempo fader information. +*/ +import QtQuick 2.15 +import QtQuick.Window 2.15 + +import Mixxx 1.0 as Mixxx +import Mixxx.Controls 1.0 as MixxxControls + +Item { + id: root + + required property string group + property var deckPlayer: Mixxx.PlayerManager.getPlayer(root.group) + property real scale: 0.2 + + signal updated + + visible: false + antialiasing: true + anchors.fill: parent + + Connections { + onGroupChanged: { + deckPlayer = Mixxx.PlayerManager.getPlayer(root.group) + console.log("Group changed!!") + root.updated() + } + } + + Rectangle { + color: "white" + anchors.top: parent.top + anchors.bottom: parent.bottom + x: 153 + width: 2 + } + Item { + id: waveformContainer + + property real duration: samplesControl.value / sampleRateControl.value + + anchors.fill: parent + clip: true + + Mixxx.ControlProxy { + id: samplesControl + + group: root.group + key: "track_samples" + } + + Mixxx.ControlProxy { + id: sampleRateControl + + group: root.group + key: "track_samplerate" + } + + Mixxx.ControlProxy { + id: playPositionControl + + group: root.group + key: "playposition" + } + + Mixxx.ControlProxy { + id: rateRatioControl + + group: root.group + key: "rate_ratio" + } + + Mixxx.ControlProxy { + id: zoomControl + + group: root.group + key: "waveform_zoom" + } + + Item { + id: waveformBeat + + property real effectiveZoomFactor: (zoomControl.value * rateRatioControl.value / root.scale) * 6 + + width: waveformContainer.duration * effectiveZoomFactor + height: parent.height + x: 0.5 * waveformContainer.width - playPositionControl.value * width + visible: true + + Shape { + id: preroll + + property real triangleHeight: waveformBeat.height + property real triangleWidth: 0.25 * waveformBeat.effectiveZoomFactor + property int numTriangles: Math.ceil(width / triangleWidth) + + anchors.top: waveformBeat.top + anchors.right: waveformBeat.left + width: Math.max(0, waveformBeat.x) + height: waveformBeat.height + + ShapePath { + strokeColor: 'red' + strokeWidth: 1 + fillColor: "transparent" + + PathMultiline { + paths: { + let p = []; + for (let i = 0; i < preroll.numTriangles; i++) { + p.push([Qt.point(preroll.width - i * preroll.triangleWidth, preroll.triangleHeight / 2), Qt.point(preroll.width - (i + 1) * preroll.triangleWidth, 0), Qt.point(preroll.width - (i + 1) * preroll.triangleWidth, preroll.triangleHeight), Qt.point(preroll.width - i * preroll.triangleWidth, preroll.triangleHeight / 2)]); + } + return p; + } + } + } + } + + Shape { + id: postroll + + property real triangleHeight: waveformBeat.height + property real triangleWidth: 0.25 * waveformBeat.effectiveZoomFactor + property int numTriangles: Math.ceil(width / triangleWidth) + + anchors.top: waveformBeat.top + anchors.left: waveformBeat.right + width: waveformContainer.width / 2 + height: waveformBeat.height + + ShapePath { + strokeColor: 'red' + strokeWidth: 1 + fillColor: "transparent" + + PathMultiline { + paths: { + let p = []; + for (let i = 0; i < postroll.numTriangles; i++) { + p.push([Qt.point(i * postroll.triangleWidth, postroll.triangleHeight / 2), Qt.point((i + 1) * postroll.triangleWidth, 0), Qt.point((i + 1) * postroll.triangleWidth, postroll.triangleHeight), Qt.point(i * postroll.triangleWidth, postroll.triangleHeight / 2)]); + } + return p; + } + } + } + } + } + + MixxxControls.WaveformOverview { + id: waveformOverview + // property real duration: samplesControl.value / sampleRateControl.onValueChanged + + player: root.player + anchors.fill: parent + channels: Mixxx.WaveformOverview.Channels.BothChannels + renderer: Mixxx.WaveformOverview.Renderer.RGB + colorHigh: 'white' + colorMid: 'blue' + colorLow: 'green' + } + } +} diff --git a/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/qmldir b/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/qmldir new file mode 100644 index 000000000000..6c76347ed734 --- /dev/null +++ b/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/qmldir @@ -0,0 +1,12 @@ +module S4MK3 +BPMIndicator 1.0 BPMIndicator.qml +HotcuePoint 1.0 HotcuePoint.qml +Keyboard 1.0 Keyboard.qml +KeyIndicator 1.0 KeyIndicator.qml +LoopSizeIndicator 1.0 LoopSizeIndicator.qml +OnAirTrack 1.0 OnAirTrack.qml +Progression 1.0 Progression.qml +TimeAndBeatloopIndicator 1.0 TimeAndBeatloopIndicator.qml +WaveformOverview 1.0 WaveformOverview.qml +SplashOff 1.0 SplashOff.qml +StockScreen 1.0 StockScreen.qml diff --git a/src/controllers/bulk/bulksupported.h b/src/controllers/bulk/bulksupported.h index a7bf6c916d60..f10673e87ba4 100644 --- a/src/controllers/bulk/bulksupported.h +++ b/src/controllers/bulk/bulksupported.h @@ -28,4 +28,5 @@ constexpr static bulk_support_lookup bulk_supported[] = { {{0x06f8, 0xb107}, {0x83, 0x03, std::nullopt}}, // Hercules Mk4 {{0x06f8, 0xb100}, {0x86, 0x06, std::nullopt}}, // Hercules Mk2 {{0x06f8, 0xb120}, {0x82, 0x03, std::nullopt}}, // Hercules MP3 LE / Glow + {{0x17cc, 0x1720}, {0x00, 0x03, 0x04}}, // Traktor NI S4 Mk3 }; diff --git a/tools/README b/tools/README index def2a3d4040b..3055fbed113c 100644 --- a/tools/README +++ b/tools/README @@ -20,3 +20,11 @@ cd build && gcc ../tools/dummy_hid_device.c -lhidapi-hidraw -o dummy_hid_device # Allow the created hidraw device to be accessed by the user. You may also set the write udev rules. Finally, you can also run Mixxx as root, but that's not recommended. sudo chown "$USER" "$(ls -1t /dev/hidraw* | head -n 1)" ``` + +## Traktor S4 Mk3 Screen drawing + +This small program can be used directly to draw arbitrary rectangles on the Traktor S4 Mk3 screens. It may also be useful for one to perform tests on top of the existing reversed engineered protocol. + +```sh +cd build && gcc ../tools/traktor_s4_mk3_screen_test.c `pkg-config --cflags --libs libusb-1.0` -o traktor_s4_mk3_screen_test && ./traktor_s4_mk3_screen_test +``` diff --git a/tools/clang_format.py b/tools/clang_format.py index 16076470c916..baeface76d29 100755 --- a/tools/clang_format.py +++ b/tools/clang_format.py @@ -49,7 +49,7 @@ def run_clang_format_on_lines(rootdir, file_to_format, stylepath=None): ", ".join("{}-{}".format(*x) for x in file_to_format.lines), ) - filename = os.path.join(rootdir, file_to_format.filename) + filename = os.path.join(rootdir, file_to_format.filename).strip() cmd = [ "clang-format", "--style=file", diff --git a/tools/traktor_s4_mk3_screen_test.c b/tools/traktor_s4_mk3_screen_test.c new file mode 100644 index 000000000000..cf14fd3833a2 --- /dev/null +++ b/tools/traktor_s4_mk3_screen_test.c @@ -0,0 +1,110 @@ +#include +#include +#include +#include +#include +#include +#include +#include + +#define VENDOR_ID 0x17cc +#define PRODUCT_ID 0x1720 +#define IN_EPADDR 0x00 +#define OUT_EPADDR 0x03 + +static const uint8_t header_data[] = { + 0x84, 0x0, 0x0, 0x21, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, // Draw offset (y=0, x=0) + 0x1, + 0x40, + 0x0, + 0xf0, // Draw dimenssion (width=320, height=240) +}; +static const uint8_t footer_data[] = { + 0x40, 0x00, 0x00, 0x00}; + +int main(int argc, char** argv) { + libusb_context* context; + int transferred; + + if (argc != 7) { + fprintf(stderr, "Usage: %s \n", *argv); + return -1; + } + + libusb_init(&context); + + libusb_device_handle* handle = libusb_open_device_with_vid_pid( + context, VENDOR_ID, PRODUCT_ID); + + if (!handle) { + fprintf(stderr, "Unable to open USB Bulk device\n"); + return -1; + } + + uint8_t screen_idx = atoi(argv[1]); + + if (screen_idx != 0 && screen_idx != 1) { + fprintf(stderr, "Invalid screen ID %d\n", screen_idx); + return -1; + } + + uint16_t x = atoi(argv[2]); + uint16_t y = atoi(argv[3]); + uint16_t width = atoi(argv[4]); + uint16_t height = atoi(argv[5]); + uint16_t color = strtol(argv[6], NULL, 2); + + uint8_t* data = malloc(width * height * sizeof(uint16_t) + + sizeof(header_data) + sizeof(footer_data)); + uint8_t* header = data; + + memcpy(header, header_data, sizeof(header_data)); + + header[2] = screen_idx; + + header[8] = x >> 8; + header[9] = x & 0xff; + header[10] = y >> 8; + header[11] = y & 0xff; + + header[12] = width >> 8; + header[13] = width & 0xff; + header[14] = height >> 8; + header[15] = height & 0xff; + + printf("draw x=%d,y=%d,width=%d,height=%d with color %x\n", x, y, width, height, color); + + size_t payload_size = width * height * sizeof(uint16_t) + + sizeof(header_data) + sizeof(footer_data); + uint8_t* payload = data + sizeof(header_data); + uint8_t* footer = payload + width * height * sizeof(uint16_t); + + for (int px = 0; px < width * height; px++) { + payload[px * sizeof(uint16_t)] = color >> 8; + payload[px * sizeof(uint16_t) + 1] = color & 0xff; + } + + memcpy(footer, footer_data, sizeof(footer_data)); + + footer[2] = screen_idx; + + clock_t start, end; + double cpu_time_used; + + start = clock(); + int ret = libusb_bulk_transfer(handle, OUT_EPADDR, data, payload_size, &transferred, 0); + end = clock(); + cpu_time_used = ((double)(end - start)) / CLOCKS_PER_SEC; + + if (ret < 0) { + fprintf(stderr, "Unable to send to USB Bulk device\n"); + + } else { + fprintf(stderr, "Sent %d bytes in %f ms\n", transferred, cpu_time_used); + } + + libusb_close(handle); + libusb_exit(context); + + return 0; +} From d0e103d23cdf2ed4f8b51c28fdac583990433076 Mon Sep 17 00:00:00 2001 From: Antoine C Date: Thu, 19 Sep 2024 10:16:29 +0100 Subject: [PATCH 118/181] feat: add Joe Easton's inspired theme for S4Mk3 screens --- .../Traktor Kontrol S4 MK3.bulk.xml | 1091 +++++------- .../TraktorKontrolS4MK3Screens.qml | 2 +- .../S4MK3/AdvancedScreen.qml | 63 + .../AdvancedScreen/Browser/BrowserFooter.qml | 340 ++++ .../AdvancedScreen/Browser/BrowserHeader.qml | 223 +++ .../AdvancedScreen/Browser/ListDelegate.qml | 262 +++ .../AdvancedScreen/Browser/ListHighlight.qml | 19 + .../AdvancedScreen/Browser/TrackFooter.qml | 353 ++++ .../AdvancedScreen/Browser/TrackView.qml | 202 +++ .../S4MK3/AdvancedScreen/Browser/Triangle.qml | 29 + .../S4MK3/AdvancedScreen/DeckScreen.qml | 184 ++ .../S4MK3/AdvancedScreen/Defines/Colors.qml | 549 ++++++ .../AdvancedScreen/Defines/Durations.qml | 8 + .../S4MK3/AdvancedScreen/Defines/Font.qml | 17 + .../S4MK3/AdvancedScreen/Defines/Margins.qml | 7 + .../S4MK3/AdvancedScreen/Defines/Settings.qml | 296 ++++ .../S4MK3/AdvancedScreen/Defines/Utils.qml | 126 ++ .../AdvancedScreen/Overlays/BankInfo.qml | 193 ++ .../Overlays/BankInfoDetails.qml | 77 + .../S4MK3/AdvancedScreen/Overlays/CueInfo.qml | 152 ++ .../Overlays/CueInfoDetails.qml | 73 + .../AdvancedScreen/Overlays/FXInfoDetails.qml | 66 + .../AdvancedScreen/Overlays/GridControls.qml | 209 +++ .../Overlays/GridInfoDetails.qml | 160 ++ .../AdvancedScreen/Overlays/JumpControls.qml | 239 +++ .../Overlays/JumpInfoDetails.qml | 45 + .../AdvancedScreen/Overlays/LoopControls.qml | 230 +++ .../Overlays/LoopInfoDetails.qml | 57 + .../Overlays/QuickFXSelector.qml | 151 ++ .../AdvancedScreen/Overlays/RollControls.qml | 230 +++ .../AdvancedScreen/Overlays/ToneControls.qml | 247 +++ .../Overlays/ToneInfoDetails.qml | 44 + .../Overlays/TopInfoDetails.qml | 152 ++ .../S4MK3/AdvancedScreen/ViewModels/Cell.qml | 54 + .../AdvancedScreen/ViewModels/DeckInfo.qml | 1564 +++++++++++++++++ .../AdvancedScreen/ViewModels/HotCue.qml | 42 + .../AdvancedScreen/ViewModels/HotCues.qml | 65 + .../AdvancedScreen/Views/BrowserView.qml | 322 ++++ .../S4MK3/AdvancedScreen/Views/Dimensions.qml | 15 + .../S4MK3/AdvancedScreen/Views/EmptyDeck.qml | 47 + .../S4MK3/AdvancedScreen/Views/StemDeck.qml | 28 + .../S4MK3/AdvancedScreen/Views/TrackDeck.qml | 222 +++ .../Waveform/StemColorIndicators.qml | 82 + .../AdvancedScreen/Waveform/StemWaveforms.qml | 59 + .../Waveform/WaveformContainer.qml | 23 +- .../Waveform/WaveformOverview.qml | 228 +++ .../AdvancedScreen/Widgets/BpmDisplay.qml | 27 + .../AdvancedScreen/Widgets/DeckHeader.qml | 90 + .../AdvancedScreen/Widgets/KeyDisplay.qml | 46 + .../S4MK3/AdvancedScreen/Widgets/LoopSize.qml | 87 + .../AdvancedScreen/Widgets/PhaseMeter.qml | 94 + .../AdvancedScreen/Widgets/ProgressBar.qml | 60 + .../S4MK3/AdvancedScreen/Widgets/Slider.qml | 111 ++ .../S4MK3/AdvancedScreen/Widgets/StateBar.qml | 34 + .../AdvancedScreen/Widgets/StemOverlay.qml | 257 +++ .../AdvancedScreen/Widgets/TempoAdjust.qml | 184 ++ .../AdvancedScreen/Widgets/TrackRating.qml | 42 + .../S4MK3/BPMIndicator.qml | 39 +- .../S4MK3/KeyIndicator.qml | 19 +- .../S4MK3/Keyboard.qml | 13 +- .../S4MK3/LoopSizeIndicator.qml | 54 +- .../S4MK3/OnAirTrack.qml | 3 +- .../S4MK3/Progression.qml | 18 +- .../S4MK3/SplashOff.qml | 2 +- .../S4MK3/StockScreen.qml | 8 +- .../S4MK3/TimeAndBeatloopIndicator.qml | 32 +- .../S4MK3/WaveformOverview.qml | 3 - .../TraktorKontrolS4MK3Screens/S4MK3/qmldir | 1 + 68 files changed, 9243 insertions(+), 828 deletions(-) create mode 100755 res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen.qml create mode 100755 res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Browser/BrowserFooter.qml create mode 100755 res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Browser/BrowserHeader.qml create mode 100755 res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Browser/ListDelegate.qml create mode 100755 res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Browser/ListHighlight.qml create mode 100755 res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Browser/TrackFooter.qml create mode 100755 res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Browser/TrackView.qml create mode 100755 res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Browser/Triangle.qml create mode 100755 res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/DeckScreen.qml create mode 100755 res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Defines/Colors.qml create mode 100755 res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Defines/Durations.qml create mode 100755 res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Defines/Font.qml create mode 100755 res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Defines/Margins.qml create mode 100755 res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Defines/Settings.qml create mode 100755 res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Defines/Utils.qml create mode 100755 res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Overlays/BankInfo.qml create mode 100755 res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Overlays/BankInfoDetails.qml create mode 100755 res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Overlays/CueInfo.qml create mode 100755 res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Overlays/CueInfoDetails.qml create mode 100755 res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Overlays/FXInfoDetails.qml create mode 100755 res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Overlays/GridControls.qml create mode 100755 res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Overlays/GridInfoDetails.qml create mode 100755 res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Overlays/JumpControls.qml create mode 100755 res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Overlays/JumpInfoDetails.qml create mode 100755 res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Overlays/LoopControls.qml create mode 100755 res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Overlays/LoopInfoDetails.qml create mode 100755 res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Overlays/QuickFXSelector.qml create mode 100755 res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Overlays/RollControls.qml create mode 100755 res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Overlays/ToneControls.qml create mode 100755 res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Overlays/ToneInfoDetails.qml create mode 100755 res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Overlays/TopInfoDetails.qml create mode 100755 res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/ViewModels/Cell.qml create mode 100755 res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/ViewModels/DeckInfo.qml create mode 100755 res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/ViewModels/HotCue.qml create mode 100755 res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/ViewModels/HotCues.qml create mode 100755 res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Views/BrowserView.qml create mode 100755 res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Views/Dimensions.qml create mode 100755 res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Views/EmptyDeck.qml create mode 100755 res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Views/StemDeck.qml create mode 100755 res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Views/TrackDeck.qml create mode 100755 res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Waveform/StemColorIndicators.qml create mode 100755 res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Waveform/StemWaveforms.qml create mode 100644 res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Waveform/WaveformOverview.qml create mode 100755 res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Widgets/BpmDisplay.qml create mode 100755 res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Widgets/DeckHeader.qml create mode 100755 res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Widgets/KeyDisplay.qml create mode 100755 res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Widgets/LoopSize.qml create mode 100755 res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Widgets/PhaseMeter.qml create mode 100755 res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Widgets/ProgressBar.qml create mode 100755 res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Widgets/Slider.qml create mode 100755 res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Widgets/StateBar.qml create mode 100755 res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Widgets/StemOverlay.qml create mode 100755 res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Widgets/TempoAdjust.qml create mode 100755 res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Widgets/TrackRating.qml diff --git a/res/controllers/Traktor Kontrol S4 MK3.bulk.xml b/res/controllers/Traktor Kontrol S4 MK3.bulk.xml index c7bc44712ea7..94ce7ad8b36c 100644 --- a/res/controllers/Traktor Kontrol S4 MK3.bulk.xml +++ b/res/controllers/Traktor Kontrol S4 MK3.bulk.xml @@ -25,217 +25,67 @@ Use the shared data API to enable communication between the screens and the buttons. Requires a custom Mixxx build using the feature in PR#12199 + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + - + + + + + + + + + + + + + + + - - - - - + + + - - - - - + + - - - + - + variable="cueCueColor" + type="enum" + default="10" + label="CueCueColor"> + 0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + + + - - - - - + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + label="Alternative color when track end warning"/> + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + label="Disable the hotcue overlay"/> - - - + default="2" + type="real" + min="0.1" + max="15" + step="0.1" + precision="2" + label="FxOverlayTimer"/> @@ -880,17 +596,12 @@ variable="hideEffectsOverlay1" type="boolean" default="false" - label="hideEffectsOverlay1"> - - - - + label="Disable the effects overlay on the left deck"/> + label="Disable the effects overlay on the right deck"/> @@ -898,36 +609,24 @@ variable="hideToneOverlay" type="boolean" default="false" - label="hideToneOverlay"> - - - - + label="Disable the tone overlay"/> - - - + label="Disable the loop overlay"/> - - - + label="Disable the roll overlay"/> + label="Disable the tone pads overlay appearing"/> + diff --git a/res/controllers/TraktorKontrolS4MK3Screens.qml b/res/controllers/TraktorKontrolS4MK3Screens.qml index fe5225032783..10a2df52539c 100644 --- a/res/controllers/TraktorKontrolS4MK3Screens.qml +++ b/res/controllers/TraktorKontrolS4MK3Screens.qml @@ -22,7 +22,7 @@ Mixxx.ControllerScreen { property color smallBoxBorder: Qt.rgba(44/255,44/255,44/255, 1) property string group: screenId == "rightdeck" ? "[Channel2]" : "[Channel1]" - property string theme: engine.getSetting("theme") + property string theme: engine.getSetting("theme") || "stock" readonly property bool isStockTheme: theme == "stock" diff --git a/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen.qml b/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen.qml new file mode 100755 index 000000000000..b8d6daa2dff9 --- /dev/null +++ b/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen.qml @@ -0,0 +1,63 @@ +import QtQuick 2.15 + +import './AdvancedScreen/Defines' as Defines +import './AdvancedScreen/Views' as Views +import './AdvancedScreen' as S4MK3 + +//---------------------------------------------------------------------------------------------------------------------- +// S4MK3 Screen - manage top/bottom deck of one screen +//---------------------------------------------------------------------------------------------------------------------- + +Item { + id: screen + + required property bool isLeftScreen + + //-------------------------------------------------------------------------------------------------------------------- + + readonly property int topDeckId: isLeftScreen ? 1 : 2 + readonly property int bottomDeckId: isLeftScreen ? 3 : 4 + property bool propTopDeckFocus: true + + Defines.Font {id: fonts} + Defines.Utils {id: utils} + Defines.Settings {id: settings} + Defines.Durations {id: durations} + Defines.Colors {id: colors} + + Component.onCompleted: { + if (engine.getSetting("useSharedDataAPI")) { + engine.makeSharedDataConnection(screen.onSharedDataUpdate) + } + } + + function onSharedDataUpdate(data) { + if (typeof data === "object" && typeof data.group === "object") { + propTopDeckFocus = data.group[isLeftScreen ? 'leftdeck' : 'rightdeck'] === `[Channel${screen.topDeckId}]` + } + } + + width: 320 + height: 240 + clip: true + + /* + A screen is visible if - + The deck is in focus and the linked deck is not selecting a sample slot + OR + The deck is not in focus but a sample slot is selected + */ + S4MK3.DeckScreen { + id: topDeckScreen + deckId: topDeckId + visible: propTopDeckFocus + anchors.fill: parent + } + + S4MK3.DeckScreen { + id: bottomDeckScreen + deckId: bottomDeckId + visible: !propTopDeckFocus + anchors.fill: parent + } +} diff --git a/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Browser/BrowserFooter.qml b/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Browser/BrowserFooter.qml new file mode 100755 index 000000000000..edd2dea43929 --- /dev/null +++ b/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Browser/BrowserFooter.qml @@ -0,0 +1,340 @@ +import QtQuick 2.15 + +import Mixxx 1.0 as Mixxx + +import '../Defines' as Defines +import '../Defines' as Defines +import '../ViewModels' as ViewModels + +//------------------------------------------------------------------------------------------------------------------ +// LIST ITEM - DEFINES THE INFORMATION CONTAINED IN ONE LIST ITEM +//------------------------------------------------------------------------------------------------------------------ +Rectangle { + id: footer + + Defines.Colors { id: colors } + + required property var deckInfo + + property string propertiesPath: "" + property real sortingKnobValue: 0.0 + property bool isContentList: qmlBrowser.isContentList + property int maxCount: 0 + property int count: 0 + + // the given numbers are determined by the EContentListColumns in Traktor + readonly property variant sortIds: [0 ,1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30] + readonly property variant sortNames: ["Sort By #", "Sort By #", "Title", "Artist", "Time", "BPM", "Track #", "Release", "Label", "Genre", "Key Text", "Comment", "Lyrics", "Comment 2", "Path", "Analysed", "Remixer", "Producer", "Mix", "CAT #", "Rel. Date", "Bitrate", "Rating", "Count", "Sort By #", "Cover Art", "Last Played", "Import Date", "Key", "Color", "File Name"] + readonly property int selectedFooterId: (selectedFooterItem.value === undefined) ? 0 : ( ( selectedFooterItem.value % 2 === 1 ) ? 1 : 4 ) // selectedFooterItem.value takes values from 1 to 4. + + property real preSortingKnobValue: 0.0 + + //-------------------------------------------------------------------------------------------------------------------- + + // AppProperty { id: previewIsLoaded; path : "app.traktor.browser.preview_player.is_loaded" } + QtObject { + id: previewIsLoaded + property string description: "Description" + property var value: 0 + } + // AppProperty { id: previewTrackLenght; path : "app.traktor.browser.preview_content.track_length" } + QtObject { + id: previewTrackLenght + property string description: "Description" + property var value: 0 + } + // AppProperty { id: previewTrackElapsed; path : "app.traktor.browser.preview_player.elapsed_time" } + QtObject { + id: previewTrackElapsed + property string description: "Description" + property var value: 0 + } + + // MappingProperty { id: overlayState; path: propertiesPath + ".overlay" } + QtObject { + id: overlayState + property string description: "Description" + property var value: 0 + } + // MappingProperty { id: isContentListProp; path: propertiesPath + ".browser.is_content_list" } + QtObject { + id: isContentListProp + property string description: "Description" + property var value: 0 + } + // MappingProperty { id: selectedFooterItem; path: propertiesPath + ".selected_footer_item" } + QtObject { + id: selectedFooterItem + property string description: "Description" + property var value: 0 + } + + //-------------------------------------------------------------------------------------------------------------------- + // Behavior on Sorting Changes (show/hide sorting widget, select next allowed sorting) + //-------------------------------------------------------------------------------------------------------------------- + + onIsContentListChanged: { + // We need this to be able do disable mappings (e.g. sorting ascend/descend) + isContentListProp.value = isContentList; + } + + onSortingKnobValueChanged: { + if (!footer.isContentList) + return; + + overlayState.value = Overlay.sorting; + sortingOverlayTimer.restart(); + + var val = clamp(footer.sortingKnobValue - footer.preSortingKnobValue, -1, 1); + val = parseInt(val); + if (val != 0) { + qmlBrowser.sortingId = getSortingIdWithDelta( val ); + footer.preSortingKnobValue = footer.sortingKnobValue; + } + } + + Timer { + id: sortingOverlayTimer + interval: 800 // duration of the scrollbar opacity + repeat: false + + onTriggered: overlayState.value = Overlay.none; + } + + //-------------------------------------------------------------------------------------------------------------------- + // View + //-------------------------------------------------------------------------------------------------------------------- + + clip: true + anchors.left: parent.left + anchors.right: parent.right + anchors.bottom: parent.bottom + height: 21 + (settings.raiseBrowserFooter ? 4 : 0) // set in state + color: "transparent" + + // background color + Rectangle { + id: browserFooterBg + anchors.left: parent.left + anchors.right: parent.right + anchors.bottom: parent.bottom + height: 15 + (settings.raiseBrowserFooter ? 4 : 0) + color: colors.colorBrowserHeader // footer background color + } + + Row { + id: sortingRow + anchors.left: browserFooterBg.left + anchors.leftMargin: 1 + anchors.top: browserFooterBg.top + + Item { + width: 100 + height: 15 + (settings.raiseBrowserFooter ? 4 : 0) + + Text { + font.pixelSize: fonts.scale(12) + anchors.left: parent.left + anchors.leftMargin: 3 + font.capitalization: Font.AllUppercase + color: selectedFooterId == 1 ? "white" : colors.colorFontBrowserHeader + text: getSortingNameForSortId(qmlBrowser.sortingId) + visible: qmlBrowser.isContentList + } + // Arrow (Sorting Direction Indicator) + Triangle { + id: sortDirArrow + width: 10 + height: 10 + anchors.top: parent.top + anchors.right: parent.right + anchors.topMargin: 2 + anchors.rightMargin: 6 + antialiasing: false + visible: qmlBrowser.sortingId > 0 + color: colors.colorGrey80 + rotation: ((qmlBrowser.sortingDirection == 1) ? 0 : 180) + } + Rectangle { + id: divider + height: 15 + width: 1 + color: colors.colorGrey40 // footer divider color + anchors.right: parent.right + } + } + + // Preview Player footer + Item { + width: 120 + height: 15 + + Text { + font.pixelSize: fonts.scale(12) + anchors.left: parent.left + anchors.leftMargin: 5 + font.capitalization: Font.AllUppercase + visible: !previewIsLoaded.value + color: selectedFooterId == 4 ? "white" : "green" + text: deckInfo.masterDeckLetter + } + + Text { + font.pixelSize: fonts.scale(12) + anchors.left: parent.left + anchors.leftMargin: 20 + font.capitalization: Font.AllUppercase + visible: !previewIsLoaded.value + color: selectedFooterId == 4 ? "white" : colors.colorFontBrowserHeader + text: deckInfo.masterBPMFooter + } + + Text { + font.pixelSize: fonts.scale(12) + anchors.right: parent.right + anchors.rightMargin: 5 + font.capitalization: Font.AllUppercase + visible: !previewIsLoaded.value + color: selectedFooterId == 4 ? "white" : colors.musicalKeyColorsDark[deckInfo.masterKeyIndex] + text: settings.camelotKey ? utils.camelotConvert(deckInfo.masterKey) : deckInfo.masterKey + } + + Text { + font.pixelSize: fonts.scale(12) + anchors.left: parent.left + anchors.leftMargin: 5 + font.capitalization: Font.AllUppercase + visible: previewIsLoaded.value + color: selectedFooterId == 4 ? "white" : colors.colorFontBrowserHeader + text: "Preview" + } + + // Image { + // anchors.top: parent.top + // anchors.right: parent.right + // anchors.topMargin: 2 + // anchors.rightMargin: 45 + // visible: previewIsLoaded.value + // antialiasing: false + // source: "../Images/PreviewIcon_Small.png" + // fillMode: Image.Pad + // clip: true + // cache: false + // sourceSize.width: width + // sourceSize.height: height + // } + Text { + width: 40 + clip: true + horizontalAlignment: Text.AlignRight + visible: previewIsLoaded.value + anchors.top: parent.top + anchors.right: parent.right + anchors.topMargin: 2 + anchors.rightMargin: 7 + font.pixelSize: fonts.scale(12) + font.capitalization: Font.AllUppercase + font.family: "Pragmatica" + color: colors.browser.prelisten + text: utils.convertToTimeString(previewTrackElapsed.value) + } + Rectangle { + id: divider2 + height: 15 + width: 1 + color: colors.colorGrey40 // footer divider color + anchors.right: parent.right + } + } + + Item { + width: 80 + height: 15 + + Text { + Text { + font.pixelSize: fonts.scale(12) + anchors.left: parent.left + anchors.leftMargin: 5 + font.capitalization: Font.AllUppercase + visible: true + color: colors.colorFontBrowserHeader + text: count+"/"+maxCount + } + } + } + } + + //-------------------------------------------------------------------------------------------------------------------- + // black border & shadow + //-------------------------------------------------------------------------------------------------------------------- + + Rectangle { + id: browserHeaderBottomGradient + height: 3 + anchors.left: parent.left + anchors.right: parent.right + anchors.bottom: browserHeaderBlackBottomLine.top + gradient: Gradient { + GradientStop { position: 0.0; color: colors.colorBlack0 } + GradientStop { position: 1.0; color: colors.colorBlack38 } + } + } + + Rectangle { + id: browserHeaderBlackBottomLine + height: 2 + color: colors.colorBlack + anchors.left: parent.left + anchors.right: parent.right + anchors.bottom: browserFooterBg.top + } + + //------------------------------------------------------------------------------------------------------------------ + + state: "show" + states: [ + State { + name: "show" + PropertyChanges { target: footer; height: 21 + (settings.raiseBrowserFooter ? 4 : 0) } + }, + State { + name: "hide" + PropertyChanges { target: footer; height: 0 } + } + ] + + //-------------------------------------------------------------------------------------------------------------------- + // Necessary Functions + //-------------------------------------------------------------------------------------------------------------------- + + function getSortingIdWithDelta( delta ) { + var curPos = getPosForSortId( qmlBrowser.sortingId ); + var pos = curPos + delta; + var count = sortIds.length; + + pos = (pos < 0) ? count-1 : pos; + pos = (pos >= count) ? 0 : pos; + + return sortIds[pos]; + } + + function getPosForSortId(id) { + if (id == -1) return 0; // -1 is a special case which should be interpreted as "0" + for (var i=0; i= 0 && pos < sortNames.length) + return sortNames[pos]; + return "SORTED"; + } + + function clamp(val, min, max) { + return Math.max( Math.min(val, max) , min ); + } +} diff --git a/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Browser/BrowserHeader.qml b/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Browser/BrowserHeader.qml new file mode 100755 index 000000000000..5e258cd4995b --- /dev/null +++ b/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Browser/BrowserHeader.qml @@ -0,0 +1,223 @@ +import QtQuick 2.15 + +import Mixxx 1.0 as Mixxx + +import '../Defines' as Defines +import '../ViewModels' as ViewModels + +//------------------------------------------------------------------------------------------------------------------ +// BROWSER HEADER - SHOWS THE CURRENT BROWSER PATH +//------------------------------------------------------------------------------------------------------------------ +Item { + id: header + + Defines.Colors { id: colors } + + property int currentDeck: 0 + property int nodeIconId: 0 + + readonly property color itemColor: colors.colorWhite19 + property int highlightIndex: 0 + + readonly property var letters: ["","A", "B", "C", "D"] + + property string pathStrings: "" // the complete path in one string given by QBrowser with separator " | " + property var stringList: [""] // list of separated path elements (calculated in "updateStringList") + property int stringListModelSize: 0 // nr of entries which can be displayed in the header ( calc in updateStringList) + readonly property int maxTextWidth: 150 // if a single text path block is bigger than this: ElideMiddle + readonly property int arrowContainerWidth: 18 // width of the graphical separator arrow. includes left / right spacing + readonly property int fontSize: 13 + + clip: true + anchors.left: parent.left + anchors.right: parent.right + anchors.top: parent.top + height: 17 // set in state + + onPathStringsChanged: { updateStringList(textLengthDummy) } + + //-------------------------------------------------------------------------------------------------------------------- + // NOTE: text item used within the 'updateStringList' function to determine how many of the stringList items can be fit + // in the header! + // IMPORTANT EXTRA NOTE: all texts in the header should have the same Capitalization and font size settings as the "dummy" + // as the dummy is used to calculate the number of text blocks fitting into the header. + //-------------------------------------------------------------------------------------------------------------------- + Text { + id: textLengthDummy + visible: false + font.capitalization: Font.AllUppercase + font.pixelSize: header.fontSize + } + + // calculates the number of entries to be displayed in the header + function updateStringList(dummy) { + var sum = 0 + var count = 0 + + stringList = pathStrings.split(" | ") + + for (var i = 0; i < stringList.length; ++i) { + dummy.text = header.stringList[stringList.length - i - 1] + + sum += (dummy.width) > maxTextWidth ? header.maxTextWidth : dummy.width + sum += arrowContainerWidth + + if (sum > (textContainter.width - header.arrowContainerWidth)) { + header.stringListModelSize = count + return + } + count++ + } + header.stringListModelSize = stringList.length; + } + + //-------------------------------------------------------------------------------------------------------------------- + // background color + Rectangle { + id: browserHeaderBg + anchors.left: parent.left + anchors.right: parent.right + anchors.top: parent.top + height: 17 + color: colors.colorBrowserHeader //colors.colorGrey24 + } + + //-------------------------------------------------------------------------------------------------------------------- + + Item { + id: textContainter + readonly property int spaceToDeckLetter: 20 + anchors.top: parent.top + anchors.bottom: parent.bottom + anchors.left: parent.left + anchors.right: deckLetter.left + anchors.leftMargin: 3 + anchors.rightMargin: spaceToDeckLetter + clip: true + + // dots appear at the left side of the browser in case the full path does not fit into the header anymore. + Item { + id: dots + anchors.left: parent.left + anchors.top: parent.top + anchors.leftMargin: (stringListModelSize < stringList.length) ? 0 : -width + visible: (stringListModelSize < stringList.length) + width: 30 + + Text { + anchors.left: parent.left + anchors.top: parent.top + text: "..." + font.capitalization: Font.AllUppercase + font.pixelSize: header.fontSize + color: colors.colorFontBrowserHeader + } + } + + // the text flow + Flow { + id: textFlow + layoutDirection: Qt.RightToLeft + + anchors.top: parent.top + anchors.bottom: parent.bottom + anchors.left: dots.right + + Repeater { + model: stringListModelSize + Item { + id: textContainer + property string displayTxt: (stringList[stringList.length - index - 1] == undefined) ? "" : stringList[stringList.length - index - 1] + + width: headerPath.width + arrowContainerWidth + height: 20 + + // arrows + // the graphical separator between texts anchors on the left side of each text block. The space of "arrowContainerWidth" is reserved for that + // Widgets.TextSeparatorArrow { + // color: colors.colorGrey80 + // visible: true + // anchors.top: parent.top + // anchors.right: headerPath.left + // anchors.topMargin: 4 + // anchors.rightMargin: 6 // left margin is set via "arrowContainerWidth" + // } + + Text { + id: dummy + // NOTE: dummyTextPath is only used to get the displayWidth of the strings. (otherwise dynamic text sizes are hard/impossible) + text: displayTxt + visible: false + font.capitalization: Font.AllUppercase + font.pixelSize: header.fontSize + } + + Text { + id: headerPath + // dummy.width is determined by the string contained in it and ceil to whole pixels (ceil instead of round to avoid unwanted elides) + width: (dummy.width > maxTextWidth) ? maxTextWidth : Math.ceil(dummy.width ) + elide: Text.ElideMiddle + text: displayTxt + visible: true + color: (index == 0) ? colors.colorDeckBlueBright : colors.colorGrey88 + font.capitalization: Font.AllUppercase + font.pixelSize: header.fontSize + } + } + } + } + } + + //-------------------------------------------------------------------------------------------------------------------- + + Text { + id: deckLetter + anchors.right: parent.right + anchors.top: parent.top + height: parent.height + width: parent.height + + text: header.letters[header.currentDeck] + font.capitalization: Font.AllUppercase + font.pixelSize: header.fontSize + color: colors.colorDeckBlueBright + } + + //-------------------------------------------------------------------------------------------------------------------- + // black border & shadow + + Rectangle { + id: browserHeaderBlackBottomLine + anchors.left: parent.left + anchors.right: parent.right + anchors.top: browserHeaderBg.bottom + height: 2 + color: colors.colorBlack + } + + Rectangle { + id: browserHeaderBottomGradient + anchors.left: parent.left + anchors.right: parent.right + anchors.top: browserHeaderBlackBottomLine.bottom + height: 3 + gradient: Gradient { + GradientStop { position: 0.0; color: colors.colorBlack38 } + GradientStop { position: 1.0; color: colors.colorBlack0 } + } + } + + //-------------------------------------------------------------------------------------------------------------------- + + state: "show" + states: [ + State { + name: "show" + PropertyChanges {target: header; height: 15} + }, + State { + name: "hide" + PropertyChanges {target: header; height: 0} + } + ] +} diff --git a/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Browser/ListDelegate.qml b/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Browser/ListDelegate.qml new file mode 100755 index 000000000000..54e8525fa5e6 --- /dev/null +++ b/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Browser/ListDelegate.qml @@ -0,0 +1,262 @@ +import QtQuick 2.15 + +import '../Widgets' as Widgets +import '../Defines' as Defines + +//------------------------------------------------------------------------------------------------------------------ +// LIST ITEM - DEFINES THE INFORMATION CONTAINED IN ONE LIST ITEM +//------------------------------------------------------------------------------------------------------------------ + +// the model contains the following roles: +// dataType, nodeIconId, nodeName, nrOfSubnodes, coverUrl, artistName, trackName, bpm, key, keyIndex, rating, loadedInDeck, prevPlayed, prelisten + +Item { + id: contactDelegate + + Defines.Settings {id: settings} + + property string masterBPM: "" + property string masterKey: "" + property int keyIndex: 0 + property bool isPlaying: false + property bool adjacentKeys: false + property string newIndex: keyIndex || "" + property string masterKeyIndex: keyIndex + property color deckColor: qmlBrowser.focusColor + property color textColor: !ListView.isCurrentItem ? "White" : deckColor + property bool isCurrentItem: ListView.isCurrentItem + readonly property int textTopMargin: 5 // centers text vertically + // readonly property bool isLoaded: (dataType == "Track") ? model.loadedInDeck.length > 0 : false + readonly property bool isLoaded: false + // visible: !ListView.isCurrentItem + readonly property string dataType: "Track" + readonly property string artistName: model.artist + readonly property string trackName: model.title + readonly property string key: "" + readonly property string bpmText: "---" + readonly property real bpm: 0 + + readonly property string bpmMatch: tempoNeeded(masterBPM, bpm).toFixed(2).toString() + + property bool deck1: deckInfo.is1Playing + property bool deck2: deckInfo.is2Playing + property bool deck3: deckInfo.is3Playing + property bool deck4: deckInfo.is4Playing + + readonly property bool deckPlaying: deck1 || deck2 || deck3 || deck4 + + function tempoNeeded(master, current) { + if (master > current) { + return (1-(current/master))*100; + } + + return ((master/current)-1)*100; + } + + readonly property int key1m: 21 + readonly property int key2m: 16 + readonly property int key3m: 23 + readonly property int key4m: 18 + readonly property int key5m: 13 + readonly property int key6m: 20 + readonly property int key7m: 15 + readonly property int key8m: 22 + readonly property int key9m: 17 + readonly property int key10m: 12 + readonly property int key11m: 19 + readonly property int key12m: 14 + readonly property int key1d: 0 + readonly property int key2d: 7 + readonly property int key3d: 2 + readonly property int key4d: 9 + readonly property int key5d: 4 + readonly property int key6d: 11 + readonly property int key7d: 6 + readonly property int key8d: 1 + readonly property int key9d: 8 + readonly property int key10d: 3 + readonly property int key11d: 10 + readonly property int key12d: 5 + + function colorKey(newKey,masterKey) { + if (!contactDelegate.adjacentKeys) {return true} + else if ((newKey == masterKey)) {return true} + else if (masterKey == "") {return false} + else if (masterKey == "21" && (newKey == "14" || newKey == "16" || newKey == "0")) {return true} + else if (masterKey == "16" && (newKey == "21" || newKey == "23" || newKey == "7")) {return true} + else if (masterKey == "23" && (newKey == "16" || newKey == "18" || newKey == "2")) {return true} + else if (masterKey == "18" && (newKey == "23" || newKey == "13" || newKey == "9")) {return true} + else if (masterKey == "13" && (newKey == "18" || newKey == "20" || newKey == "4")) {return true} + else if (masterKey == "20" && (newKey == "13" || newKey == "15" || newKey == "11")) {return true} + else if (masterKey == "15" && (newKey == "20" || newKey == "22" || newKey == "6")) {return true} + else if (masterKey == "22" && (newKey == "15" || newKey == "17" || newKey == "1")) {return true} + else if (masterKey == "17" && (newKey == "22" || newKey == "12" || newKey == "8")) {return true} + else if (masterKey == "12" && (newKey == "17" || newKey == "19" || newKey == "3")) {return true} + else if (masterKey == "19" && (newKey == "12" || newKey == "14" || newKey == "10")) {return true} + else if (masterKey == "14" && (newKey == "19" || newKey == "21" || newKey == "5")) {return true} + else if (masterKey == "0" && (newKey == "5" || newKey == "7" || newKey == "21")) {return true} + else if (masterKey == "7" && (newKey == "0" || newKey == "2" || newKey == "16")) {return true} + else if (masterKey == "2" && (newKey == "7" || newKey == "9" || newKey == "23")) {return true} + else if (masterKey == "9" && (newKey == "2" || newKey == "4" || newKey == "18")) {return true} + else if (masterKey == "4" && (newKey == "9" || newKey == "11" || newKey == "13")) {return true} + else if (masterKey == "11" && (newKey == "4" || newKey == "6" || newKey == "20")) {return true} + else if (masterKey == "6" && (newKey == "11" || newKey == "1" || newKey == "15")) {return true} + else if (masterKey == "1" && (newKey == "6" || newKey == "8" || newKey == "22")) {return true} + else if (masterKey == "8" && (newKey == "1" || newKey == "3" || newKey == "17")) {return true} + else if (masterKey == "3" && (newKey == "8" || newKey == "10" || newKey == "12")) {return true} + else if (masterKey == "10" && (newKey == "3" || newKey == "5" || newKey == "19")) {return true} + else if (masterKey == "5" && (newKey == "10" || newKey == "0" || newKey == "14")) {return true} + else {return false}; + } + + // MappingProperty { id: propShift1; path: "mapping.state.left.shift" } + QtObject { + id: propShift1 + property string description: "Description" + property var value: 0 + } + // MappingProperty { id: propShift2; path: "mapping.state.right.shift" } + QtObject { + id: propShift2 + property string description: "Description" + property var value: 0 + } + readonly property bool isShift: propShift1.value || propShift2.value + readonly property bool isShiftleft: propShift1.value + readonly property bool isShiftRight: propShift2.value + + height: settings.browserFontSize*2 + anchors.left: parent.left + anchors.right: parent.right + + // container for zebra & track infos + Rectangle { + // when changing colors here please remember to change it in the GridView in Templates/Browser.qml + color: (index%2 == 0) ? colors.colorGrey32 : "Black" + anchors.left: parent.left + anchors.right: parent.right + anchors.leftMargin: settings.showTrackTitleColumn ? 3 : 0 + anchors.rightMargin: 3 + height: parent.height + + // folder name + Text { + id: firstFieldFolder + anchors.left: parent.left + anchors.top: parent.top + anchors.topMargin: contactDelegate.textTopMargin + anchors.leftMargin: 37 + color: textColor + clip: true + text: (dataType == "Folder") ? model.nodeName : "" + font.pixelSize: settings.browserFontSize + elide: Text.ElideRight + visible: (dataType != "Track") + width: 190 + } + + // Image { + // id: prepListIcon + // visible: (dataType == "Track") ? model.prepared : false + // source: "../Images/PrepListIcon" + (!contactDelegate.isCurrentItem ? "White" : "Blue") + ".png" + // width: 10 + // height: 17 + // // anchors.left: firstFieldText.right + // anchors.top: parent.top + // anchors.topMargin: 6 + // anchors.leftMargin: 5 + // } + + // track name + Text { + id: firstFieldTrack + width: settings.swapArtistTitleColumns ? (settings.showArtistColumn ? (settings.hideBPM ? 110 : 77) + (settings.hideKey ? 30 : 0) : 0) + (!settings.showTrackTitleColumn ? 150 : 0) : !settings.showTrackTitleColumn ? 0 : (!settings.showArtistColumn && settings.hideBPM ? 280 : (settings.showArtistColumn ? 150 : 230)) + (!settings.showArtistColumn && settings.hideKey ? 30 : 0) + visible: (dataType == "Track") + anchors.top: parent.top + anchors.topMargin: contactDelegate.textTopMargin + anchors.left: parent.left + anchors.leftMargin: model.prepared ? 10 : 0 + elide: Text.ElideRight + text: settings.swapArtistTitleColumns ? ((dataType == "Track") ? artistName : "") : (settings.showArtistColumn && settings.showTrackTitleColumn ? ((dataType == "Track") ? trackName : "") : (!isShift && !settings.showArtistColumn && settings.showTrackTitleColumn ? ((dataType == "Track") ? trackName : "") : ((dataType == "Track") ? artistName : ""))) + font.pixelSize: settings.browserFontSize + color: isLoaded ? "lime" : ((model.prevPlayed && !model.prelisten) ? "yellow" : (!bpm ? "red" : textColor)) + } + + // artist name + Text { + id: trackTitleField + anchors.leftMargin: settings.showArtistColumn && settings.showTrackTitleColumn ? 4 : 0 + anchors.left: (dataType == "Track") ? firstFieldTrack.right : firstFieldFolder.right + anchors.top: parent.top + anchors.topMargin: contactDelegate.textTopMargin + width: settings.swapArtistTitleColumns ? !settings.showTrackTitleColumn ? 0 : (!settings.showArtistColumn && settings.hideBPM ? 280 : (settings.showArtistColumn ? 150 : 230)) + (!settings.showArtistColumn && settings.hideKey ? 30 : 0) : (settings.showArtistColumn ? (settings.hideBPM ? 110 : 77) + (settings.hideKey ? 30 : 0) : 0) + (!settings.showTrackTitleColumn ? 150 : 0) + color: isLoaded ? "lime" : ((model.prevPlayed && !model.prelisten) ? "yellow" : (!bpm ? "red" : textColor)) + clip: true + text: settings.swapArtistTitleColumns ? (dataType == "Track") ? trackName : "" : (settings.showArtistColumn && settings.showTrackTitleColumn ? ((dataType == "Track") ? artistName : "") : (!isShift && settings.showArtistColumn && !settings.showTrackTitleColumn ? ((dataType == "Track") ? artistName : "") : (dataType == "Track") ? trackName : "")) + font.pixelSize: settings.browserFontSize + elide: Text.ElideRight + } + + // bpm + Text { + id: bpmField + anchors.right: keyField.left + anchors.top: parent.top + anchors.topMargin: contactDelegate.textTopMargin + horizontalAlignment: Text.AlignLeft + width: settings.hideBPM ? 0 :53 + color: settings.bpmBrowserTextColor ? (bpm == "0.00") ? "red" : (bpmMatch <= settings.browserBpmGreen) && (bpmMatch >= -(settings.browserBpmGreen)) ? "lime" : (!((bpmMatch >= settings.browserBpmRed) || (bpmMatch <= -(settings.browserBpmRed)) && (masterBPM != "0.00")) ? textColor : settings.accentColor) : textColor + clip: true + text: (dataType == "Track") ? bpmText : "" + font.pixelSize: settings.browserFontSize + } + + function colorForKey(keyIndex) { + return colors.musicalKeyColors[keyIndex] + } + + // key + Text { + id: keyField + anchors.right: parent.right + anchors.top: parent.top + anchors.topMargin: contactDelegate.textTopMargin + anchors.leftMargin: 5 + + color: (dataType == "Track") ? (((key == "none") || (key == "None")) ? "White" : ((colorKey(contactDelegate.newIndex, contactDelegate.masterKeyIndex) && contactDelegate.deckPlaying) ? parent.colorForKey(keyIndex) : "White")) : "White" + width: settings.hideKey ? 0 : 30 + clip: true + text: (dataType == "Track") ? (((key == "none") || (key == "None")) ? "n.a." : (settings.camelotKey ? utils.camelotConvert(key) : key)) : "" + font.pixelSize: settings.browserFontSize + } + + ListHighlight { + anchors.fill: parent + visible: contactDelegate.isCurrentItem + anchors.leftMargin: 0 + anchors.rightMargin: 0 + } + + // folder icon + Image { + id: folderIcon + source: (dataType == "Folder") ? ("image://icons/" + model.nodeIconId ) : "" + width: 33 + height: 33 + fillMode: Image.PreserveAspectFit + anchors.top: parent.top + anchors.left: parent.left + anchors.leftMargin: 3 + clip: true + cache: false + visible: (dataType == "Folder") + } + + // ColorOverlay { + // id: folderIconColorOverlay + // color: isCurrentItem == false ? colors.colorFontsListBrowser : contactDelegate.deckColor // unselected vs. selected + // anchors.fill: folderIcon + // source: folderIcon + // } + } +} diff --git a/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Browser/ListHighlight.qml b/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Browser/ListHighlight.qml new file mode 100755 index 000000000000..28dadb00bdb5 --- /dev/null +++ b/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Browser/ListHighlight.qml @@ -0,0 +1,19 @@ +import QtQuick 2.15 + +Item { + Rectangle { + anchors.top: parent.top + anchors.left: parent.left + anchors.right: parent.right + height: 1 + color: "blue" + } + + Rectangle { + anchors.bottom: parent.bottom + anchors.left: parent.left + anchors.right: parent.right + height: 1 + color: "blue" + } +} diff --git a/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Browser/TrackFooter.qml b/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Browser/TrackFooter.qml new file mode 100755 index 000000000000..f6c0213cb83b --- /dev/null +++ b/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Browser/TrackFooter.qml @@ -0,0 +1,353 @@ +import QtQuick 2.15 + +import Mixxx 1.0 as Mixxx + +import '../Defines' as Defines +import '../Defines' as Defines +import '../ViewModels' as ViewModels + +//------------------------------------------------------------------------------------------------------------------ +// LIST ITEM - DEFINES THE INFORMATION CONTAINED IN ONE LIST ITEM +//------------------------------------------------------------------------------------------------------------------ +Rectangle { + id: footer + + Defines.Colors { id: colors } + + required property var deckInfo + + property string propertiesPath: "" + property real sortingKnobValue: 0.0 + property bool isContentList: qmlBrowser.isContentList + property int maxCount: 0 + property int count: 0 + + // the given numbers are determined by the EContentListColumns in Traktor + readonly property variant sortIds: [0 ,1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30] + readonly property variant sortNames: ["Sort By #", "Sort By #", "Title", "Artist", "Time", "BPM", "Track #", "Label", "Release", "Label", "Key Text", "Comment", "Lyrics", "Comment 2", "Path", "Analysed", "Remixer", "Producer", "Mix", "CAT #", "Rel. Date", "Bitrate", "Rating", "Count", "Sort By #", "Cover Art", "Last Played", "Import Date", "Key", "Color", "File Name"] + readonly property int selectedFooterId: (selectedFooterItem.value === undefined) ? 0 : ( ( selectedFooterItem.value % 2 === 1 ) ? 1 : 4 ) // selectedFooterItem.value takes values from 1 to 4. + + property real preSortingKnobValue: 0.0 + + //-------------------------------------------------------------------------------------------------------------------- + + // AppProperty { id: previewIsLoaded; path : "app.traktor.browser.preview_player.is_loaded" } + QtObject { + id: previewIsLoaded + property string description: "Description" + property var value: 0 + } + // AppProperty { id: previewTrackLenght; path : "app.traktor.browser.preview_content.track_length" } + QtObject { + id: previewTrackLenght + property string description: "Description" + property var value: 0 + } + // AppProperty { id: previewTrackElapsed; path : "app.traktor.browser.preview_player.elapsed_time" } + QtObject { + id: previewTrackElapsed + property string description: "Description" + property var value: 0 + } + + // MappingProperty { id: overlayState; path: propertiesPath + ".overlay" } + QtObject { + id: overlayState + property string description: "Description" + property var value: 0 + } + // MappingProperty { id: isContentListProp; path: propertiesPath + ".browser.is_content_list" } + QtObject { + id: isContentListProp + property string description: "Description" + property var value: 0 + } + // MappingProperty { id: selectedFooterItem; path: propertiesPath + ".selected_footer_item" } + QtObject { + id: selectedFooterItem + property string description: "Description" + property var value: 0 + } + + //-------------------------------------------------------------------------------------------------------------------- + // Behavior on Sorting Changes (show/hide sorting widget, select next allowed sorting) + //-------------------------------------------------------------------------------------------------------------------- + + onIsContentListChanged: { + // We need this to be able do disable mappings (e.g. sorting ascend/descend) + isContentListProp.value = isContentList; + } + + onSortingKnobValueChanged: { + if (!footer.isContentList) + return; + + overlayState.value = Overlay.sorting; + sortingOverlayTimer.restart(); + + var val = clamp(footer.sortingKnobValue - footer.preSortingKnobValue, -1, 1); + val = parseInt(val); + if (val != 0) { + qmlBrowser.sortingId = getSortingIdWithDelta( val ); + footer.preSortingKnobValue = footer.sortingKnobValue; + } + } + + Timer { + id: sortingOverlayTimer + interval: 800 // duration of the scrollbar opacity + repeat: false + + onTriggered: overlayState.value = Overlay.none; + } + + //-------------------------------------------------------------------------------------------------------------------- + // View + //-------------------------------------------------------------------------------------------------------------------- + + clip: false + anchors.left: parent.left + anchors.right: parent.right + anchors.bottom: parent.bottom + height: 36 + (settings.raiseBrowserFooter ? 4 : 0) // set in state + color: "transparent" + + // background color + Rectangle { + id: browserFooterBg + anchors.left: parent.left + anchors.right: parent.right + anchors.bottom: parent.bottom + height: 30 + (settings.raiseBrowserFooter ? 4 : 0) + color: colors.colorBrowserHeader // footer background color + } + + Row { + id: sortingRow + anchors.left: browserFooterBg.left + anchors.leftMargin: 1 + anchors.top: browserFooterBg.top + + Item { + width: 100 + height: 30 + (settings.raiseBrowserFooter ? 4 : 0) + + Text { + font.pixelSize: fonts.scale(15) + anchors.left: parent.left + anchors.leftMargin: 3 + anchors.top: parent.top + anchors.topMargin: 3 + font.capitalization: Font.AllUppercase + color: selectedFooterId == 1 ? "white" : colors.colorFontBrowserHeader + text: getSortingNameForSortId(qmlBrowser.sortingId) + visible: qmlBrowser.isContentList + } + // Arrow (Sorting Direction Indicator) + Triangle { + id: sortDirArrow + width: 15 + height: 15 + anchors.top: parent.top + anchors.right: parent.right + anchors.topMargin: 4 + anchors.rightMargin: 6 + antialiasing: false + visible: qmlBrowser.sortingId > 0 + color: colors.colorGrey80 + rotation: ((qmlBrowser.sortingDirection == 1) ? 0 : 180) + } + Rectangle { + id: divider + height: 30 + width: 1 + color: colors.colorGrey40 // footer divider color + anchors.right: parent.right + } + } + + // Preview Player footer + Item { + width: 150 + height: 30 + + Text { + font.pixelSize: fonts.scale(18) + anchors.left: parent.left + anchors.leftMargin: 1 + anchors.top: parent.top + anchors.topMargin: 3 + font.capitalization: Font.AllUppercase + visible: !previewIsLoaded.value + color: selectedFooterId == 4 ? "white" : "green" + text: deckInfo.masterDeckLetter + } + + Text { + font.pixelSize: fonts.scale(18) + anchors.left: parent.left + anchors.leftMargin: 15 + anchors.top: parent.top + anchors.topMargin: 3 + font.capitalization: Font.AllUppercase + visible: !previewIsLoaded.value + color: selectedFooterId == 4 ? "white" : colors.colorFontBrowserHeader + text: deckInfo.masterBPMFooter2 + } + + Text { + font.pixelSize: fonts.scale(18) + anchors.right: parent.right + anchors.rightMargin: 2 + anchors.top: parent.top + anchors.topMargin: 3 + font.capitalization: Font.AllUppercase + visible: !previewIsLoaded.value + color: selectedFooterId == 4 ? "white" : colors.musicalKeyColorsDark[deckInfo.masterKeyIndex] + text: settings.camelotKey ? utils.camelotConvert(deckInfo.masterKey) : deckInfo.masterKey + } + + Text { + font.pixelSize: fonts.scale(16) + anchors.left: parent.left + anchors.leftMargin: 5 + anchors.top: parent.top + anchors.topMargin: 3 + font.capitalization: Font.AllUppercase + visible: previewIsLoaded.value + color: selectedFooterId == 4 ? "white" : colors.colorFontBrowserHeader + text: "Preview" + } + + // Image { + // anchors.top: parent.top + // anchors.right: parent.right + // anchors.topMargin: 3 + // anchors.rightMargin: 49 + // visible: previewIsLoaded.value + // antialiasing: false + // source: "../Images/PreviewIcon_Small.png" + // fillMode: Image.Pad + // clip: true + // cache: false + // width: 20 + // height: 20 + // } + Text { + width: 40 + clip: true + horizontalAlignment: Text.AlignRight + visible: previewIsLoaded.value + anchors.top: parent.top + anchors.right: parent.right + anchors.topMargin: 2 + anchors.rightMargin: 7 + font.pixelSize: fonts.scale(18) + font.capitalization: Font.AllUppercase + font.family: "Pragmatica" + color: colors.browser.prelisten + text: utils.convertToTimeString(previewTrackElapsed.value) + } + Rectangle { + id: divider2 + height: 30 + width: 1 + color: colors.colorGrey40 // footer divider color + anchors.right: parent.right + } + } + + Item { + + width: 150 + height: 30 + + Text { + Text { + font.pixelSize: fonts.scale(20) + anchors.left: parent.right + anchors.leftMargin: 3 + anchors.top: parent.top + anchors.topMargin: 3 + font.capitalization: Font.AllUppercase + visible: true + color: colors.colorFontBrowserHeader + text: count + } + } + } + } + + //-------------------------------------------------------------------------------------------------------------------- + // black border & shadow + //-------------------------------------------------------------------------------------------------------------------- + + Rectangle { + id: browserHeaderBottomGradient + height: 3 + anchors.left: parent.left + anchors.right: parent.right + anchors.bottom: browserHeaderBlackBottomLine.top + gradient: Gradient { + GradientStop { position: 0.0; color: colors.colorBlack0 } + GradientStop { position: 1.0; color: colors.colorBlack38 } + } + } + + Rectangle { + id: browserHeaderBlackBottomLine + height: 2 + color: colors.colorBlack + anchors.left: parent.left + anchors.right: parent.right + anchors.bottom: browserFooterBg.top + } + + //------------------------------------------------------------------------------------------------------------------ + + state: "show" + states: [ + State { + name: "show" + PropertyChanges { target: footer; height: 36 + (settings.raiseBrowserFooter ? 4 : 0) } + }, + State { + name: "hide" + PropertyChanges { target: footer; height: 0 } + } + ] + + //-------------------------------------------------------------------------------------------------------------------- + // Necessary Functions + //-------------------------------------------------------------------------------------------------------------------- + + function getSortingIdWithDelta( delta ) { + var curPos = getPosForSortId( qmlBrowser.sortingId ); + var pos = curPos + delta; + var count = sortIds.length; + + pos = (pos < 0) ? count-1 : pos; + pos = (pos >= count) ? 0 : pos; + + return sortIds[pos]; + } + + function getPosForSortId(id) { + if (id == -1) return 0; // -1 is a special case which should be interpreted as "0" + for (var i=0; i= 0 && pos < sortNames.length) + return sortNames[pos]; + return "SORTED"; + } + + function clamp(val, min, max) { + return Math.max( Math.min(val, max) , min ); + } +} diff --git a/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Browser/TrackView.qml b/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Browser/TrackView.qml new file mode 100755 index 000000000000..7ec1eb1a2f64 --- /dev/null +++ b/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Browser/TrackView.qml @@ -0,0 +1,202 @@ +import QtQuick 2.15 + +import '../Widgets' as Widgets +import '../Defines' as Defines + +//------------------------------------------------------------------------------------------------------------------ +// LIST ITEM - DEFINES THE INFORMATION CONTAINED IN ONE LIST ITEM +//------------------------------------------------------------------------------------------------------------------ + +// the model contains the following roles: +// dataType, nodeIconId, nodeName, nrOfSubnodes, coverUrl, artistName, trackName, bpm, key, keyIndex, rating, loadedInDeck, prevPlayed, prelisten + +Item { + id: contactDelegate + + Defines.Settings {id: settings} + + property string masterBPM: "" + property color deckColor: qmlBrowser.focusColor + property color textColor: !ListView.isCurrentItem ? "White" : deckColor + property bool isCurrentItem: ListView.isCurrentItem + readonly property int textTopMargin: 5 // centers text vertically + readonly property bool isLoaded: (model.dataType == "Track") ? model.loadedInDeck.length > 0 : false + readonly property int rating: (model.dataType == "Track") ? ((model.rating == "") ? 0 : model.rating ) : 0 + // visible: !ListView.isCurrentItem + readonly property string bpm: (model.bpm || 0).toFixed(2).toString() + + readonly property string bpmMatch: tempoNeeded(masterBPM, bpm).toFixed(2).toString() + + function tempoNeeded(master, current) { + if (master > current) { + + return (1-(current/master))*100; + + } else if (master < current) { + + return ((master/current)-1)*100; + } + } + + // MappingProperty { id: propShift1; path: "mapping.state.left.shift" } + QtObject { + id: propShift1 + property string description: "Description" + property var value: 0 + } + // MappingProperty { id: propShift2; path: "mapping.state.right.shift" } + QtObject { + id: propShift2 + property string description: "Description" + property var value: 0 + } + readonly property bool isShift: propShift1.value || propShift2.value + readonly property bool isShiftleft: propShift1.value + readonly property bool isShiftRight: propShift2.value + + height: 240 + anchors.left: parent.left + anchors.right: parent.right + + // container for zebra & track infos + Rectangle { + // when changing colors here please remember to change it in the GridView in Templates/Browser.qml + color: (index%2 == 0) ? colors.colorGrey32 : "Black" + anchors.left: parent.left + anchors.right: parent.right + anchors.leftMargin: settings.showTrackTitleColumn ? 3 : 0 + anchors.rightMargin: 3 + height: parent.height + + // track name + Text { + id: firstFieldTrack + width: 300 + clip: true + anchors.top: trackImage.bottom + anchors.topMargin: contactDelegate.textTopMargin + anchors.left: parent.left + anchors.leftMargin: 5 + text: (model.dataType == "Track") ? model.trackName : "" + font.pixelSize: 20 + color: isLoaded ? "lime" : ((model.prevPlayed && !model.prelisten) ? "yellow" : (((model.bpm || 0).toFixed(4) == "0.0000" ) ? "red" : textColor)) + } + + // artist name + Text { + id: trackTitleField + anchors.top: firstFieldTrack.bottom + anchors.topMargin: contactDelegate.textTopMargin + anchors.left: parent.left + anchors.leftMargin: 5 + width: 300 + color: isLoaded ? "lime" : ((model.prevPlayed && !model.prelisten) ? "yellow" : (((model.bpm || 0).toFixed(4) == "0.0000" ) ? "red" : textColor)) + clip: true + text: (model.dataType == "Track") ? model.artistName : "" + font.pixelSize: 20 + } + + //bpm text + Text { + id: bpmFieldText + anchors.top: parent.top + anchors.left: trackImage.right + anchors.leftMargin: 5 + anchors.topMargin: 5 + horizontalAlignment: Text.AlignLeft + + color: "white" + text: "BPM:" + font.pixelSize: 28 + } + + //bpm + Text { + id: bpmField + anchors.top: parent.top + anchors.rightMargin: 0 + anchors.right: parent.right + anchors.topMargin: 5 + horizontalAlignment: Text.AlignRight + + color: settings.bpmBrowserTextColor ? (bpm == "0.00") ? "red" : (bpmMatch <= settings.browserBpmGreen) && (bpmMatch >= -(settings.browserBpmGreen)) ? "lime" : (!((bpmMatch >= settings.browserBpmRed) || (bpmMatch <= -(settings.browserBpmRed)) && (masterBPM != "0.00")) ? textColor : settings.accentColor) : textColor + clip: true + text: (model.dataType == "Track") ? bpm : "" + font.pixelSize: 30 + } + + function colorForKey(keyIndex) { + return colors.musicalKeyColors[keyIndex] + } + + // key text + Text { + id: keyFieldText + anchors.top: bpmField.bottom + anchors.left: trackImage.right + anchors.topMargin: 8 + anchors.leftMargin: 5 + + color: "white" + clip: true + text: "Key:" + font.pixelSize: 30 + } + + // key + Text { + id: keyField + anchors.top: bpmField.bottom + anchors.right: parent.right + anchors.topMargin: 8 + anchors.rightMargin: 0 + + color: (model.dataType == "Track") ? (((model.key == "none") || (model.key == "None")) ? textColor : parent.colorForKey(model.keyIndex)) : textColor + clip: true + text: (model.dataType == "Track") ? (((model.key == "none") || (model.key == "None")) ? "n.a." : (settings.camelotKey ? utils.camelotConvert(model.key) : model.key)) : "" + font.pixelSize: 30 + } + + Widgets.TrackRating { + id: trackRating + + anchors.top: keyFieldText.bottom + anchors.left: trackImage.right + anchors.topMargin: 8 + anchors.leftMargin: 5 + rating: (model.dataType == "Track") ? ((model.rating == "") ? 0 : model.rating ) : 0 + } + + ListHighlight { + anchors.fill: parent + visible: contactDelegate.isCurrentItem + anchors.leftMargin: 0 + anchors.rightMargin: 0 + } + + Rectangle { + id: trackImage + anchors.top: parent.top + anchors.left: parent.left + anchors.leftMargin: 5 + anchors.topMargin: 10 + width: 125 + height: 125 + color: (model.coverUrl != "") ? "transparent" : ((contactDelegate.screenFocus < 2) ? colors.colorDeckBlueBright50Full : colors.colorGrey128 ) + visible: (model.dataType == "Track") && !settings.hideAlbumArt + + Image { + id: cover + anchors.fill: parent + source: (model.dataType == "Track") ? ("image://covers/" + model.coverUrl ) : "" + fillMode: Image.PreserveAspectFit + clip: true + cache: false + sourceSize.width: width + sourceSize.height: height + // the image either provides the cover of the track, or if not available the traktor logo on colored background ( opacity == 0.3) + opacity: (model.coverUrl != "") ? 1.0 : 0.3 + } + } + } +} diff --git a/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Browser/Triangle.qml b/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Browser/Triangle.qml new file mode 100755 index 000000000000..97cbe25ab4da --- /dev/null +++ b/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Browser/Triangle.qml @@ -0,0 +1,29 @@ +import QtQuick 2.15 +import QtQuick.Shapes 1.7 + +Item { + id: root + + property int borderWidth: 0 + property color color: "black" + property color borderColor: "transparent" + + property alias antialiasing: triangle.antialiasing + + clip: false + + Shape { + id: triangle + anchors.centerIn: parent + + ShapePath { + strokeWidth: root.borderWidth + strokeColor: root.borderColor + fillColor: root.color + startX: 0; startY: 0 + PathLine { x: root.width; y: 0 } + PathLine { x: 0.5* root.width; y: root.height } + PathLine { x: 0; y: 0 } + } + } +} diff --git a/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/DeckScreen.qml b/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/DeckScreen.qml new file mode 100755 index 000000000000..de1bf4b4739f --- /dev/null +++ b/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/DeckScreen.qml @@ -0,0 +1,184 @@ +import QtQuick 2.15 +import './Defines' as Dfeines +import './Views' as Views +import './ViewModels' as ViewModels +import './Overlays' as Overlays + +Item { + id: deckscreen + + property int deckId: 1 + + property bool active: true + + //-------------------------------------------------------------------------------------------------------------------- + // Deck Screen: show information for track, stem, remix decks + //-------------------------------------------------------------------------------------------------------------------- + QtObject { + id: deckType + property string description: deckInfoModel.isStemsActive ? "Stem Deck" : "Track Deck" + property var value: 1 + } + + QtObject { + id: propShift1 + property var value: false + } + QtObject { + id: propShift2 + property var value: false + } + readonly property bool isShift: propShift1.value || propShift2.value + + property bool browser: settings.showBrowserOnFavorites ? ((deckInfoModel.viewButton) || (deckInfoModel.favorites)) : (deckInfoModel.viewButton) + + Component.onCompleted: { + if (engine.getSetting("useSharedDataAPI")) { + engine.makeSharedDataConnection(deckscreen.onSharedDataUpdate) + } + } + + function isLeftScreen(deckId) { + return deckId == 1 || deckId == 3; + } + + function onSharedDataUpdate(data) { + if (typeof data === "object" && typeof data.shift === "object") { + propShift1.value = !!data.shift["leftdeck"] + propShift2.value = !!data.shift["rightdeck"] + } + } + + ViewModels.DeckInfo { + id: deckInfoModel + deckId: deckscreen.deckId + } + + Component { + id: emptyDeckComponent; + + Views.EmptyDeck { + anchors.fill: parent + deckInfo: deckInfoModel + } + } + + Component { + id: trackDeckComponent; + Views.TrackDeck { + id: trackDeck + deckInfo: deckInfoModel + deckId: deckscreen.deckId + anchors.fill: parent + } + } + + Component { + id: browserComponent; + Views.BrowserView { + id: browserView + deckInfo: deckInfoModel + anchors.fill: parent + isActive: (loader.sourceComponent == browserComponent) && deckscreen.active + } + } + + Component { + id: stemDeckComponent; + + Views.StemDeck { + deckInfo: deckInfoModel + anchors.fill: parent + } + } + + Loader { + id: loader + active: true + visible: true + anchors.fill: parent + sourceComponent: trackDeckComponent + } + + Item { + id: content + state: "Empty Deck" + + Component.onCompleted: { + content.state = Qt.binding(function() { + return (browser && settings.enableBrowserMode) ? "Browser" : deckType.description }); + } + + states: [ + State { + name: "Empty Deck" + PropertyChanges { target: loader; sourceComponent: emptyDeckComponent } + }, + State { + name: "Track Deck" + PropertyChanges { target: loader; sourceComponent: trackDeckComponent } + }, + State { + name: "Browser" + PropertyChanges { target: loader; sourceComponent: browserComponent } + }, + State { + name: "Stem Deck" + PropertyChanges { target: loader; sourceComponent: stemDeckComponent } + } + ] + } + + Overlays.GridControls { + id: grid + deckId: deckInfoModel.deckId + showHideState: !settings.hideGridOverlay && deckInfoModel.adjustEnabled && !(loader.sourceComponent == browserComponent) ? "show" : "hide" + } + + Overlays.BankInfo { + id: bank1; + bank: 1 + showHideState: deckInfoModel.padsModeBank1 && !(loader.sourceComponent == browserComponent) ? "show" : "hide" + } + + Overlays.BankInfo { + id: bank2; + bank: 2 + showHideState: deckInfoModel.padsModeBank2 && !(loader.sourceComponent == browserComponent) ? "show" : "hide" + } + + Overlays.CueInfo { + id: cue + hotcue: deckInfoModel.hotcueId + type: deckInfoModel.hotcueType + name: deckInfoModel.hotcueName + showHideState: !settings.hideHotcueOverlay && deckInfoModel.hotcueDisplay && !(loader.sourceComponent == browserComponent) ? "show" : "hide" + } + + Overlays.JumpControls { + id: jump; + deckInfo: deckInfoModel + showHideState: !settings.hideJumpOverlay && deckInfoModel.padsModeJump && !(loader.sourceComponent == browserComponent) ? "show" : "hide" + } + + Overlays.LoopControls { + id: loop; + deckInfo: deckInfoModel + deckId: deckInfoModel.deckId + showHideState: !settings.hideLoopOverlay && deckInfoModel.padsModeLoop && !(loader.sourceComponent == browserComponent) ? "show" : "hide" + } + + Overlays.RollControls { + id: roll; + deckInfo: deckInfoModel + deckId: deckInfoModel.deckId + showHideState: !settings.hideRollOverlay && deckInfoModel.padsModeRoll && !(loader.sourceComponent == browserComponent) ? "show" : "hide" + } + + Overlays.ToneControls { + id: tone; + deckId: deckInfoModel.deckId + adjustVal: deckInfoModel.keyAdjustVal + showHideState: !settings.hideToneOverlay && deckInfoModel.padsModeTone && !(loader.sourceComponent == browserComponent) ? "show" : "hide" + } +} diff --git a/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Defines/Colors.qml b/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Defines/Colors.qml new file mode 100755 index 000000000000..ab2c0ceb77da --- /dev/null +++ b/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Defines/Colors.qml @@ -0,0 +1,549 @@ +import QtQuick 2.15 + +QtObject { + + function rgba(r,g,b,a) { return Qt.rgba( neutralizer(r)/255. , neutralizer(g)/255. , neutralizer(b)/255. , neutralizer(a)/255. ) } + + // this categorizes any rgb value to multiples of 8 for each channel to avoid unbalanced colors on the display (r5-g6-b5 bit) + // function neutralizer(value) { if(value%8 > 4) { return value - value%8 + 8} else { return value - value%8 }} + function neutralizer(value) { return value} + + property variant colorBlack: rgba (0, 0, 0, 255) + property variant colorBlack94: rgba (0, 0, 0, 240) + property variant colorBlack88: rgba (0, 0, 0, 224) + property variant colorBlack85: rgba (0, 0, 0, 217) + property variant colorBlack81: rgba (0, 0, 0, 207) + property variant colorBlack78: rgba (0, 0, 0, 199) + property variant colorBlack75: rgba (0, 0, 0, 191) + property variant colorBlack69: rgba (0, 0, 0, 176) + property variant colorBlack66: rgba (0, 0, 0, 168) + property variant colorBlack63: rgba (0, 0, 0, 161) + property variant colorBlack60: rgba (0, 0, 0, 153) // from 59 - 61% + property variant colorBlack56: rgba (0, 0, 0, 143) // + property variant colorBlack53: rgba (0, 0, 0, 135) // from 49 - 51% + property variant colorBlack50: rgba (0, 0, 0, 128) // from 49 - 51% + property variant colorBlack47: rgba (0, 0, 0, 120) // from 46 - 48% + property variant colorBlack44: rgba (0, 0, 0, 112) // from 43 - 45% + property variant colorBlack41: rgba (0, 0, 0, 105) // from 40 - 42% + property variant colorBlack38: rgba (0, 0, 0, 97) // from 37 - 39% + property variant colorBlack35: rgba (0, 0, 0, 89) // from 33 - 36% + property variant colorBlack31: rgba (0, 0, 0, 79) // from 30 - 32% + property variant colorBlack28: rgba (0, 0, 0, 71) // from 27 - 29% + property variant colorBlack25: rgba (0, 0, 0, 64) // from 24 - 26% + property variant colorBlack22: rgba (0, 0, 0, 56) // from 21 - 23% + property variant colorBlack19: rgba (0, 0, 0, 51) // from 18 - 20% + property variant colorBlack16: rgba (0, 0, 0, 41) // from 15 - 17% + property variant colorBlack12: rgba (0, 0, 0, 31) // from 11 - 13% + property variant colorBlack09: rgba (0, 0, 0, 23) // from 8 - 10% + property variant colorBlack0: rgba (0, 0, 0, 0) + + property variant colorWhite: rgba (255, 255, 255, 255) + + property variant colorWhite75: rgba (255, 255, 255, 191) + property variant colorWhite85: rgba (255, 255, 255, 217) + + // property variant colorWhite60: rgba (255, 255, 255, 153) // from 59 - 61% + property variant colorWhite50: rgba (255, 255, 255, 128) // from 49 - 51% + // property variant colorWhite47: rgba (255, 255, 255, 120) // from 46 - 48% + // property variant colorWhite44: rgba (255, 255, 255, 112) // from 43 - 45% + property variant colorWhite41: rgba (255, 255, 255, 105) // from 40 - 42% + // property variant colorWhite38: rgba (255, 255, 255, 97) // from 37 - 39% + property variant colorWhite35: rgba (255, 255, 255, 89) // from 33 - 36% + // property variant colorWhite31: rgba (255, 255, 255, 79) // from 30 - 32% + property variant colorWhite28: rgba (255, 255, 255, 71) // from 27 - 29% + property variant colorWhite25: rgba (255, 255, 255, 64) // from 24 - 26% + property variant colorWhite22: rgba (255, 255, 255, 56) // from 21 - 23% + property variant colorWhite19: rgba (255, 255, 255, 51) // from 18 - 20% + property variant colorWhite16: rgba (255, 255, 255, 41) // from 15 - 17% + property variant colorWhite12: rgba (255, 255, 255, 31) // from 11 - 13% + property variant colorWhite09: rgba (255, 255, 255, 23) // from 8 - 10% + // property variant colorWhite06: rgba (255, 255, 255, 15) // from 5 - 7% + // property variant colorWhite03: rgba (255, 255, 255, 8) // from 2 - 4% + + property variant colorGrey232: rgba (232, 232, 232, 255) + property variant colorGrey216: rgba (216, 216, 216, 255) + property variant colorGrey208: rgba (208, 208, 208, 255) + property variant colorGrey200: rgba (200, 200, 200, 255) + property variant colorGrey192: rgba (192, 192, 192, 255) + property variant colorGrey152: rgba (152, 152, 152, 255) + property variant colorGrey128: rgba (128, 128, 128, 255) + property variant colorGrey120: rgba (120, 120, 120, 255) + property variant colorGrey112: rgba (112, 112, 112, 255) + property variant colorGrey104: rgba (104, 104, 104, 255) + property variant colorGrey96: rgba (96, 96, 96, 255) + property variant colorGrey88: rgba (88, 88, 88, 255) + property variant colorGrey80: rgba (80, 80, 80, 255) + property variant colorGrey72: rgba (72, 72, 72, 255) + property variant colorGrey64: rgba (64, 64, 64, 255) + property variant colorGrey56: rgba (56, 56, 56, 255) + property variant colorGrey48: rgba (48, 48, 48, 255) + property variant colorGrey40: rgba (40, 40, 40, 255) + property variant colorGrey32: rgba (32, 32, 32, 255) + property variant colorGrey24: rgba (24, 24, 24, 255) + property variant colorGrey16: rgba (16, 16, 16, 255) + property variant colorGrey08: rgba (08, 08, 08, 255) + + property variant cueColors: [ + red, + darkOrange, + lightOrange, + colorWhite, + yellow, + lime, + green, + mint, + cyan, + turquoise, + blue, + plum, + violet, + purple, + magenta, + fuchsia, + warmYellow + ] + + property variant cueColorsDark: [ + Qt.darker(red, 0.15), + Qt.darker(darkOrange, 0.15), + Qt.darker(lightOrange, 0.15), + Qt.darker(colorWhite, 0.15), + Qt.darker(yellow, 0.15), + Qt.darker(lime, 0.15), + Qt.darker(green, 0.15), + Qt.darker(mint, 0.15), + Qt.darker(cyan, 0.15), + Qt.darker(turquoise, 0.15), + Qt.darker(blue, 0.15), + Qt.darker(plum, 0.15), + Qt.darker(violet, 0.15), + Qt.darker(purple, 0.15), + Qt.darker(magenta, 0.15), + Qt.darker(fuchsia, 0.15), + Qt.darker(warmYellow, 0.15) + ] + + property variant colorOrange: rgba(208, 104, 0, 255) // FX Selection; FX Faders etc + property variant colorOrangeDimmed: rgba(96, 48, 0, 255) + + property variant colorRed: rgba(255, 0, 0, 255) + property variant colorRed70: rgba(185, 6, 6, 255) + + // Playmarker + property variant colorRedPlaymarker: rgba(255, 0, 0, 255) + property variant colorRedPlaymarker75: rgba(255, 56, 26, 191) + property variant colorRedPlaymarker06: rgba(255, 56, 26, 31) + + // Playmarker + property variant colorBluePlaymarker: rgba(96, 184, 192, 255) //rgba(136, 224, 232, 255) + + property variant colorGreen: rgba(0, 255, 0, 255) + property variant colorGreen50: rgba(0, 255, 0, 128) + property variant colorGreen12: rgba(0, 255, 0, 31) // used for loop bg (in WaveformCues.qml) + property variant colorGreenLoopOverlay: rgba(96, 192, 128, 16) + property variant colorGreenMint: rgba(0, 219, 138, 255) + + property variant colorGreen08: rgba(0, 255, 0, 20) + property variant colorGreen50Full: rgba(0, 51, 0, 255) + + property variant colorGreenGreyMix: rgba(139, 240, 139, 82) + + // font colors + property variant colorFontsListBrowser: colorGrey72 + property variant colorFontsListFx: colorGrey56 + property variant colorFontBrowserHeader: colorGrey88 + property variant colorFontFxHeader: colorGrey80 // also for FX header, FX select buttons + + // headers & footers backgrounds + property variant colorBgEmpty: colorGrey16 // also for empty decks & Footer Small (used to be colorGrey08) + property variant colorBrowserHeader: colorGrey24 + property variant colorFxHeaderBg: colorGrey16 // also for large footer; fx overlay tabs + property variant colorFxHeaderLightBg: colorGrey24 + + property variant colorProgressBg: colorGrey32 + property variant colorProgressBgLight: colorGrey48 + property variant colorDivider: colorGrey40 + + property variant colorIndicatorBg: rgba(20, 20, 20, 255) + property variant colorIndicatorBg2: rgba(31, 31, 31, 255) + + property variant colorIndicatorLevelGrey: rgba(51, 51, 51, 255) + property variant colorIndicatorLevelOrange: rgba(247, 143, 30, 255) + + property variant colorCenterOverlayHeadline: colorGrey88 + +// blue + property variant colorDeckBlueBright: rgba(0, 136, 184, 255) + property variant colorDeckBlueDark: rgba(0, 64, 88, 255) + property variant colorDeckBlueBright20: rgba(0, 174, 239, 51) + property variant colorDeckBlueBright50Full: rgba(0, 87, 120, 255) + property variant colorDeckBlueBright12Full: rgba(0, 8, 10, 255) //rgba(0, 23, 31, 255) + property variant colorBrowserBlueBright: rgba(0, 187, 255, 255) + property variant colorBrowserBlueBright56Full:rgba(0, 114, 143, 255) + + property color footerBackgroundBlue: "#011f26" + + // fx Select overlay colors + property variant fxSelectHeaderTextRGB: rgba( 96, 96, 96, 255) + property variant fxSelectHeaderNormalRGB: rgba( 32, 32, 32, 255) + property variant fxSelectHeaderNormalBorderRGB: rgba( 32, 32, 32, 255) + property variant fxSelectHeaderHighlightRGB: rgba( 64, 64, 48, 255) + property variant fxSelectHeaderHighlightBorderRGB: rgba(128, 128, 48, 255) + + // 16 Colors Palette (Bright) + property variant color01Bright: rgba (255, 0, 0, 255) + property variant color02Bright: rgba (255, 16, 16, 255) + property variant color03Bright: rgba (255, 120, 0, 255) + property variant color04Bright: rgba (255, 184, 0, 255) + property variant color05Bright: rgba (255, 255, 0, 255) + property variant color06Bright: rgba (144, 255, 0, 255) + property variant color07Bright: rgba ( 40, 255, 40, 255) + property variant color08Bright: rgba ( 0, 208, 128, 255) + property variant color09Bright: rgba ( 0, 184, 232, 255) + property variant color10Bright: rgba ( 0, 120, 255, 255) + property variant color11Bright: rgba ( 0, 72, 255, 255) + property variant color12Bright: rgba (128, 0, 255, 255) + property variant color13Bright: rgba (160, 0, 200, 255) + property variant color14Bright: rgba (240, 0, 200, 255) + property variant color15Bright: rgba (255, 0, 120, 255) + property variant color16Bright: rgba (248, 8, 64, 255) + + // 16 Colors Palette (Mid) + property variant color01Mid: rgba (112, 8, 8, 255) + property variant color02Mid: rgba (112, 24, 8, 255) + property variant color03Mid: rgba (112, 56, 0, 255) + property variant color04Mid: rgba (112, 80, 0, 255) + property variant color05Mid: rgba (96, 96, 0, 255) + property variant color06Mid: rgba (56, 96, 0, 255) + property variant color07Mid: rgba (8, 96, 8, 255) + property variant color08Mid: rgba (0, 90, 60, 255) + property variant color09Mid: rgba (0, 77, 77, 255) + property variant color10Mid: rgba (0, 84, 108, 255) + property variant color11Mid: rgba (32, 56, 112, 255) + property variant color12Mid: rgba (72, 32, 120, 255) + property variant color13Mid: rgba (80, 24, 96, 255) + property variant color14Mid: rgba (111, 12, 149, 255) + property variant color15Mid: rgba (122, 0, 122, 255) + property variant color16Mid: rgba (130, 1, 43, 255) + + // 16 Colors Palette (Dark) + property variant color01Dark: rgba (16, 0, 0, 255) + property variant color02Dark: rgba (16, 8, 0, 255) + property variant color03Dark: rgba (16, 8, 0, 255) + property variant color04Dark: rgba (16, 16, 0, 255) + property variant color05Dark: rgba (16, 16, 0, 255) + property variant color06Dark: rgba (8, 16, 0, 255) + property variant color07Dark: rgba (8, 16, 8, 255) + property variant color08Dark: rgba (0, 16, 8, 255) + property variant color09Dark: rgba (0, 8, 16, 255) + property variant color10Dark: rgba (0, 8, 16, 255) + property variant color11Dark: rgba (0, 0, 16, 255) + property variant color12Dark: rgba (8, 0, 16, 255) + property variant color13Dark: rgba (8, 0, 16, 255) + property variant color14Dark: rgba (16, 0, 16, 255) + property variant color15Dark: rgba (16, 0, 8, 255) + property variant color16Dark: rgba (16, 0, 8, 255) + + //-------------------------------------------------------------------------------------------------------------------- + + // Browser + + //-------------------------------------------------------------------------------------------------------------------- + + property variant browser: + QtObject { + property color prelisten: rgba(223, 178, 30, 255) + property color prevPlayed: rgba(32, 32, 32, 255) + } + + //-------------------------------------------------------------------------------------------------------------------- + + // Hotcues + + //-------------------------------------------------------------------------------------------------------------------- + + property variant hotcue: + QtObject { + property color grid: colorWhite + property color hotcue: colorDeckBlueBright + property color fade: color03Bright + property color load: color05Bright + property color loop: color07Bright + property color temp: "grey" + } + + //-------------------------------------------------------------------------------------------------------------------- + + // Freeze & Slicer + + //-------------------------------------------------------------------------------------------------------------------- + + property variant freeze: + QtObject { + property color box_inactive: "#199be7ef" + property color box_active: "#ff9be7ef" + property color marker: "#4DFFFFFF" + property color slice_overlay: "white" // flashing rectangle + } + + property variant slicer: + QtObject { + property color box_active: rgba(20,195,13,255) + property color box_inrange: rgba(20,195,13,90) + property color box_inactive: rgba(20,195,13,25) + property color marker_default: rgba(20,195,13,77) + property color marker_beat: rgba(20,195,13,150) + property color marker_edge: box_active + } + + //-------------------------------------------------------------------------------------------------------------------- + + // Musical Key coloring for the browser + + //-------------------------------------------------------------------------------------------------------------------- + property variant color01MusicalKey: rgba (255, 0, 0, 255) // not yet in use + property variant color02MusicalKey: rgba (255, 64, 0, 255) + property variant color03MusicalKey: rgba (255, 120, 0, 255) // not yet in use + property variant color04MusicalKey: rgba (255, 200, 0, 255) + property variant color05MusicalKey: rgba (255, 255, 0, 255) + property variant color06MusicalKey: rgba (210, 255, 0, 255) // not yet in use + property variant color07MusicalKey: rgba ( 0, 255, 0, 255) + property variant color08MusicalKey: rgba ( 0, 255, 128, 255) + //property variant color09MusicalKey: rgba ( 0, 200, 232, 255) + property variant color09MusicalKey: colorDeckBlueBright // use the same color as for the browser selection + property variant color10MusicalKey: rgba ( 0, 100, 255, 255) + property variant color11MusicalKey: rgba ( 0, 40, 255, 255) + property variant color12MusicalKey: rgba (128, 0, 255, 255) + property variant color13MusicalKey: rgba (160, 0, 200, 255) // not yet in use + property variant color14MusicalKey: rgba (240, 0, 200, 255) + property variant color15MusicalKey: rgba (255, 0, 120, 255) // not yet in use + property variant color16MusicalKey: rgba (248, 8, 64, 255) + + property variant color01MusicalKey2: rgba (255, 0, 0, 120) // not yet in use + property variant color02MusicalKey2: rgba (255, 64, 0, 120) + property variant color03MusicalKey2: rgba (255, 120, 0, 120) // not yet in use + property variant color04MusicalKey2: rgba (255, 200, 0, 120) + property variant color05MusicalKey2: rgba (255, 255, 0, 120) + property variant color06MusicalKey2: rgba (210, 255, 0, 120) // not yet in use + property variant color07MusicalKey2: rgba ( 0, 255, 0, 120) + property variant color08MusicalKey2: rgba ( 0, 255, 128, 120) + //property variant color09MusicalKey2: rgba ( 0, 200, 232, 120) + property variant color09MusicalKey2: colorDeckBlueBright // use the same color as for the browser selection + property variant color10MusicalKey2: rgba ( 0, 100, 255, 120) + property variant color11MusicalKey2: rgba ( 0, 40, 255, 120) + property variant color12MusicalKey2: rgba (128, 0, 255, 120) + property variant color13MusicalKey2: rgba (160, 0, 200, 120) // not yet in use + property variant color14MusicalKey2: rgba (240, 0, 200, 120) + property variant color15MusicalKey2: rgba (255, 0, 120, 120) // not yet in use + property variant color16MusicalKey2: rgba (248, 8, 64, 120) + + // 16 Colors Palette (Bright) + property variant color01Bright2: rgba (255, 0, 0, 120) + property variant color02Bright2: rgba (255, 16, 16, 120) + property variant color03Bright2: rgba (255, 120, 0, 120) + property variant color04Bright2: rgba (255, 184, 0, 120) + property variant color05Bright2: rgba (255, 255, 0, 120) + property variant color06Bright2: rgba (144, 255, 0, 120) + property variant color07Bright2: rgba ( 40, 255, 40, 120) + property variant color08Bright2: rgba ( 0, 208, 128, 120) + property variant color09Bright2: rgba ( 0, 184, 232, 120) + property variant color10Bright2: rgba ( 0, 120, 255, 120) + property variant color11Bright2: rgba ( 0, 72, 255, 120) + property variant color12Bright2: rgba (128, 0, 255, 120) + property variant color13Bright2: rgba (160, 0, 200, 120) + property variant color14Bright2: rgba (240, 0, 200, 120) + property variant color15Bright2: rgba (255, 0, 120, 120) + property variant color16Bright2: rgba (248, 8, 64, 120) + + property variant musicalKeyColors: [ + 'grey', //0 No key + color15Bright, //1 -11 c + color06Bright, //2 -4 c#, db + color11MusicalKey, //3 -13 d + color03Bright, //4 -6 d#, eb + color09MusicalKey, //5 -16 e + color01Bright, //6 -9 f + color07MusicalKey, //7 -2 f#, gb + color13Bright, //8 -12 g + color04MusicalKey, //9 -5 g#, ab + color10MusicalKey, //10 -15 a + color02MusicalKey, //11 -7 a#, bb + color08MusicalKey, //12 -1 b + color03Bright, //13 -6 cm + color09MusicalKey, //14 -16 c#m, dbm + color01Bright, //15 -9 dm + color07MusicalKey, //16 -2 d#m, ebm + color13Bright, //17 -12 em + color04MusicalKey, //18 -5 fm + color10MusicalKey, //19 -15 f#m, gbm + color02MusicalKey, //20 -7 gm + color08MusicalKey, //21 -1 g#m, abm + color15Bright, //22 -11 am + color06Bright, //23 -4 a#m, bbm + color11MusicalKey //24 -13 bm + ] + + property variant musicalKeyColorsDark: [ + 'grey', //0 No key + Qt.darker(color15Bright, 5), //1 -11 c + Qt.darker(color06Bright, 5), //2 -4 c#, db + Qt.darker(color11MusicalKey, 5), //3 -13 d + Qt.darker(color03Bright, 5), //4 -6 d#, eb + Qt.darker(color09MusicalKey, 5), //5 -16 e + Qt.darker(color01Bright, 5), //6 -9 f + Qt.darker(color07MusicalKey, 5), //7 -2 f#, gb + Qt.darker(color13Bright, 5), //8 -12 g + Qt.darker(color04MusicalKey, 5), //9 -5 g#, ab + Qt.darker(color10MusicalKey, 5), //10 -15 a + Qt.darker(color02MusicalKey, 5), //11 -7 a#, bb + Qt.darker(color08MusicalKey, 5), //12 -1 b + Qt.darker(color03Bright, 5), //13 -6 cm + Qt.darker(color09MusicalKey, 5), //14 -16 c#m, dbm + Qt.darker(color01Bright, 5), //15 -9 dm + Qt.darker(color07MusicalKey, 5), //16 -2 d#m, ebm + Qt.darker(color13Bright, 5), //17 -12 em + Qt.darker(color04MusicalKey, 5), //18 -5 fm + Qt.darker(color10MusicalKey, 5), //19 -15 f#m, gbm + Qt.darker(color02MusicalKey, 5), //20 -7 gm + Qt.darker(color08MusicalKey, 5), //21 -1 g#m, abm + Qt.darker(color15Bright, 5), //22 -11 am + Qt.darker(color06Bright, 5), //23 -4 a#m, bbm + Qt.darker(color11MusicalKey, 5) //24 -13 bm + ] + + //-------------------------------------------------------------------------------------------------------------------- + + // Waveform coloring + + //-------------------------------------------------------------------------------------------------------------------- + + property color defaultBackground: "black" + property color defaultTextColor: "white" + property color loopActiveColor: rgba(0,255,70,255) + property color loopFlashColor: rgba ( 20, 235, 165, 120) + + property color loopActiveDimmedColor: rgba(0,255,70,190) + property color grayBackground: "#ff333333" + + property variant colorDeckBrightGrey: rgba (85, 85, 85, 255) + property variant colorDeckGrey: rgba (70, 70, 70, 255) + property variant colorDeckDarkGrey: rgba (40, 40, 40, 255) + + property variant colorDeckOrangeBright: rgba (253, 186, 16, 255) + + property variant colorQuantizeOn: rgba ( 20, 255, 255, 170) + property variant colorQuantizeOff: Qt.darker(colorQuantizeOn, 0.7) + + property color red: "#ff0000" + property color darkOrange: "#ff8c00" + property color lightOrange: "#fccf3e" + property color warmYellow: "#f9d71c" + property color yellow: "#ffff00" + property color lime: "#effd5f" + property color green: "#00FF00" + property color mint: "#98ff98" + property color cyan: "#00FFFF" + property color turquoise: "#40e0d0" + property color blue: "#0080FF" + property color plum: "#ff7eff" + property color violet: "#ee82ee" + property color purple: "#9f00c5" + property color magenta: "#ff6fff" + property color fuchsia: "#ff0080" + property color white: "#ff0080" + property color phaseColor: "#90550C" + + //-------------------------------------------------------------------------------------------------------------------- + + // Waveform coloring + + //-------------------------------------------------------------------------------------------------------------------- + + property variant low1: settings.low1 + property variant low2: settings.low2 + property variant mid1: settings.mid1 + property variant mid2: settings.mid2 + property variant high1: settings.high1 + property variant high2: settings.high2 + + function getWaveformColors(colorId) { + if (colorId <= 17) { + return waveformColorsMap[colorId]; + } + + return waveformColorsMap[0]; + } + + function palette(brightness, colorId) { + if ( brightness >= 0.666 && brightness <= 1.0 ) { // bright color + switch(colorId) { + case 0: return defaultBackground // default color for this palette! + case 1: return color01Bright + case 2: return color02Bright + case 3: return color03Bright + case 4: return color04Bright + case 5: return color05Bright + case 6: return color06Bright + case 7: return color07Bright + case 8: return color08Bright + case 9: return color09Bright + case 10: return color10Bright + case 11: return color11Bright + case 12: return color12Bright + case 13: return color13Bright + case 14: return color14Bright + case 15: return color15Bright + case 16: return color16Bright + case 17: return "grey" + case 18: return colorGrey232 + } + } else if ( brightness >= 0.333 && brightness < 0.666 ) { // mid color + switch(colorId) { + case 0: return defaultBackground // default color for this palette! + case 1: return color01Mid + case 2: return color02Mid + case 3: return color03Mid + case 4: return color04Mid + case 5: return color05Mid + case 6: return color06Mid + case 7: return color07Mid + case 8: return color08Mid + case 9: return color09Mid + case 10: return color10Mid + case 11: return color11Mid + case 12: return color12Mid + case 13: return color13Mid + case 14: return color14Mid + case 15: return color15Mid + case 16: return color16Mid + case 17: return "grey" + case 18: return colorGrey232 + } + } else if ( brightness >= 0 && brightness < 0.333 ) { // dimmed color + switch(colorId) { + case 0: return defaultBackground // default color for this palette! + case 1: return color01Dark + case 2: return color02Dark + case 3: return color03Dark + case 4: return color04Dark + case 5: return color05Dark + case 6: return color06Dark + case 7: return color07Dark + case 8: return color08Dark + case 9: return color09Dark + case 10: return color10Dark + case 11: return color11Dark + case 12: return color12Dark + case 13: return color13Dark + case 14: return color14Dark + case 15: return color15Dark + case 16: return color16Dark + case 17: return "grey" + case 18: return colorGrey232 + } + } else if ( brightness < 0) { // color Off + return defaultBackground; + } + return defaultBackground; // default color if no palette is set + } +} diff --git a/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Defines/Durations.qml b/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Defines/Durations.qml new file mode 100755 index 000000000000..d91643a23e39 --- /dev/null +++ b/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Defines/Durations.qml @@ -0,0 +1,8 @@ +import QtQuick 2.15 + +QtObject { + readonly property int mainTransitionSpeed: 100 + readonly property int overlayTransition: 100 + readonly property int bottomInfoColor: 75 + readonly property int deckTransition: 90 +} diff --git a/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Defines/Font.qml b/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Defines/Font.qml new file mode 100755 index 000000000000..833870d29e21 --- /dev/null +++ b/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Defines/Font.qml @@ -0,0 +1,17 @@ +import QtQuick 2.15 + +QtObject { + +// currently mapped to unity but you can use to bulk scale fonsize if needed + function scale(fontSize) { return fontSize; } + +// Font Size Variables + readonly property int miniFontSize: scale(10) + readonly property int smallFontSize: scale(12) + readonly property int middleFontSize: scale(15) + readonly property int largeFontSize: scale(18) + readonly property int largeValueFontSize: scale(21) + readonly property int moreLargeValueFontSize: scale(33) + readonly property int extraLargeValueFontSize: scale(45) + readonly property int superLargeValueFontSize: scale(55) +} diff --git a/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Defines/Margins.qml b/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Defines/Margins.qml new file mode 100755 index 000000000000..6bedda675a5c --- /dev/null +++ b/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Defines/Margins.qml @@ -0,0 +1,7 @@ +import QtQuick 2.15 + +QtObject { + +// Margin Variables + readonly property int topMarginCenterOverlayHeadline: 11 // 17 +} diff --git a/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Defines/Settings.qml b/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Defines/Settings.qml new file mode 100755 index 000000000000..bd2dbc8e712f --- /dev/null +++ b/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Defines/Settings.qml @@ -0,0 +1,296 @@ +import QtQuick 2.5 + +QtObject { + + // = comments + + ////////////////// + //EXTRA SETTINGS// + ////////////////// + + //show only decks A&B or C&D - SELECT ONLY ONE + readonly property color accentColor: engine.getSetting('accentColor') || 'green' + + ///////////////////////////////////////////////////////////////////////////////////////////////////////////////// + + /////////////////////////////// + //PAD TYPE SELECTION SETTINGS// + /////////////////////////////// + + //Please only use the values in the line below. Using other values could have unexpected effects. + //0 = disabled, 4 = freeze, 5 = loop, 7 = roll, 8 = jump/move, 9 = fx1, 10 = fx2, 11 = tone + readonly property int recordButton: 8 + readonly property int samplesButton: 4 + readonly property int muteButton: 7 + readonly property int stemsButton: 5 + readonly property int cueButton: 11 + readonly property int fxLeftButton: 9 + readonly property int fxRightButton: 10 + + ///////////////////////////////////////////////////////////////////////////////////////////////////////////////// + + ////////////////////////////// + //BPM/TEMPO DISPLAY SETTINGS// + ////////////////////////////// + + //Change to true to always show tempo/bpm info + readonly property bool alwaysShowTempoInfo: engine.getSetting('alwaysShowTempoInfo') || false + + //amount of time the bpm overlay will stay on the screen in ms. 1000 = 1 second. + readonly property int bpmOverlayTimer: (engine.getSetting('bpmOverlayTimer') || 5.0) * 1000 + + //0 = Hidden, 1 = Master BPM, 2 = BPM, 3 = Tempo, 4 = BPM Offset, 5 = Tempo Offset, 6 = Master Deck Letter, 7 = Tempo Range, 8 = Key, 9 = Original BPM + readonly property int tempoDisplayLeft: parseInt(engine.getSetting('tempoDisplayLeft')) || 2 + readonly property int tempoDisplayCenter: parseInt(engine.getSetting('tempoDisplayCenter')) || 1 + readonly property int tempoDisplayRight: parseInt(engine.getSetting('tempoDisplayRight')) || 3 + readonly property int tempoDisplayLeftShift: parseInt(engine.getSetting('tempoDisplayLeftShift')) || 4 + readonly property int tempoDisplayCenterShift: parseInt(engine.getSetting('tempoDisplayCenterShift')) || 6 + readonly property int tempoDisplayRightShift: parseInt(engine.getSetting('tempoDisplayRightShift')) || 5 + + //set to true to enable the text Color to aid with your mixing. + readonly property bool enableBpmTextColor: engine.getSetting('enableBpmTextColor') || false + readonly property bool enableMasterBpmTextColor: engine.getSetting('enableMasterBpmTextColor') || false + readonly property bool enableTempoTextColor: engine.getSetting('enableTempoTextColor') || false + readonly property bool enableBpmOffsetTextColor: engine.getSetting('enableBpmOffsetTextColor') || false + readonly property bool enableTempoOffsetTextColor: engine.getSetting('enableTempoOffsetTextColor') || false + readonly property bool enableMasterDeckTextColor: engine.getSetting('enableMasterDeckTextColor') || false + + ///////////////////////////////////////////////////////////////////////////////////////////////////////////////// + + ///////////////////// + //WAVEFORM SETTINGS// + ///////////////////// + + //change to true to disable the moving waveforms + readonly property bool hideWaveforms: engine.getSetting('hideWaveforms') || false + + //Change to false to hide loop size indicator (after 10 seconds of loop inactivity) + readonly property bool alwaysShowLoopSize: engine.getSetting('alwaysShowLoopSize') || false + + //amount of time the loop overlay will stay on the screen in ms. 1000 = 1 second. + readonly property int loopOverlayTimer: (engine.getSetting('loopOverlayTimer') || 10) * 1000 + + //set to true to hide the beatgrid + readonly property bool hideBeatgrid: engine.getSetting('hideBeatgrid') || false + + //this value is the visibility of the beatgrid lines in %. Values are 0 to 100 + readonly property real beatgridVisibility: engine.getSetting('beatgridVisibility') || 0.75 + + //set to true to show time to next cue on waveform + readonly property bool showTimeToCue: engine.getSetting('showTimeToCue') || false + + //set to true to show beats to next cue on waveform + readonly property bool showBeatToCue: engine.getSetting('showBeatToCue') || false + + //set to true to show beats to next cue on waveform + readonly property int distanceToCueFontSize: engine.getSetting('distanceToCueFontSize') || 12 + + //set to true to show beats to next cue on waveform + readonly property string distanceToCueAlignment: engine.getSetting('distanceToCueAlignment') || "bottom" + + ///////////////////////////////////////////////////////////////////////////////////////////////////////////////// + + //////////////////// + //BROWSER SETTINGS// + //////////////////// + + // NOTE the following setting are currently unused due to the lack of QML support for Mixxx library + + // //set to false to disable browser view and pads + // readonly property bool enableBrowserMode: engine.getSetting('enableBrowserMode') || true + + // //set to false to disable the adjacent key Coloring and return to all keys Colored + // readonly property bool adjacentKeys: engine.getSetting('adjacentKeys') || true + + // //change to true to enable camelot key + // readonly property bool camelotKey: engine.getSetting('camelotKey') || false + + // //set to true to disable the preview player toggle button and change it back to hold + // readonly property bool disablePreviewPlayerToggle: engine.getSetting('disablePreviewPlayerToggle') || false + + // //Set to false to disable browser on screen when pressing favorites button + // readonly property bool showBrowserOnFavourites: engine.getSetting('showBrowserOnFavourites') || true + + // //set to true to swap the functions of the view and add to prep buttons + // readonly property bool swapViewButtons: engine.getSetting('swapViewButtons') || false + + // //Set to false to disable browser on screen when open in full screen mode. + // //This will also revert the view and prep button functions back to default except opening the browser on the S4 instead of the laptop. + // readonly property bool showBrowserOnFullScreen: engine.getSetting('showBrowserOnFullScreen') || true + + // //set to true to disable the led output on the browser sort buttons + // readonly property bool disableSortButtonOutput: engine.getSetting('disableSortButtonOutput') || false + + // // 1 = "Sort By #", 2 = "Title", 3 = "Artist", 4 = "Time", 5 = "BPM", 6 = "Track #", 7 = "Release", 8 = "Label", 9 = "Genre", 10 = "Key Text", 11 = "Comment", 12 = "Lyrics", 13 = "Comment 2", 14 = "Path", 15 = "Analysed" + // // 16 = "Remixer", 17 = "Producer", 18 = "Mix", 19 = "CAT #", 20 = "Release Date", 21 = "Bitrate", 22 = "Rating", 23 = "Count", 24 = "Sort By #", 25 = "Cover Art", 26 = "Last Played", 27 = "Import Date", 28 = "Key", 29 = "Color" + // readonly property int hotcueButtonSort: parseInt(engine.getSetting('hotcueButtonSort')) || 2 + // readonly property int recordButtonSort: parseInt(engine.getSetting('recordButtonSort')) || 3 + // readonly property int samplesButtonSort: parseInt(engine.getSetting('samplesButtonSort')) || 5 + // readonly property int muteButtonSort: parseInt(engine.getSetting('muteButtonSort')) || 28 + // readonly property int stemsButtonSort: parseInt(engine.getSetting('stemsButtonSort')) || 22 + + // //Change this setting to true to change the browser encoder to a list scroll when holding shift. + // readonly property bool browserEncoderShiftScroll: engine.getSetting('browserEncoderShiftScroll') || false + + // //This is the size of the page scroll. + // readonly property int scrollPageSize: parseInt(engine.getSetting('scrollPageSize')) || 6 + + // //change to false to disable the browser view displaying artist data whilst holding shift + // readonly property bool browserShift: engine.getSetting('browserShift') || true + + // //only enable when both artist and title columns are shown + // readonly property bool swapArtistTitleColumns: engine.getSetting('swapArtistTitleColumns') || false + + // readonly property bool hideBPM: engine.getSetting('hideBPM') || false + // readonly property bool hideKey: engine.getSetting('hideKey') || false + // readonly property bool hideAlbumArt: engine.getSetting('hideAlbumArt') || false + // readonly property bool showArtistColumn: engine.getSetting('showArtistColumn') || false + // readonly property bool showTrackTitleColumn: engine.getSetting('showTrackTitleColumn') || true + // readonly property int browserFontSize: parseInt(engine.getSetting('browserFontSize')) || 15 + // readonly property bool raiseBrowserFooter: engine.getSetting('raiseBrowserFooter') || false + + // //change the values below to determine the bpm text Color in the browser + // //the number values represent the percentage difference of the master tempo and the selected song + // readonly property bool bpmBrowserTextColor: engine.getSetting('bpmBrowserTextColor') || true + // readonly property int browserBpmGreen: 3 + // readonly property int browserBpmRed: 12 + + ///////////////////////////////////////////////////////////////////////////////////////////////////////////////// + + ////////////////////////////// + //WAVEFORM OVERVIEW SETTINGS// + ////////////////////////////// + + //change to true to hide stripe + readonly property bool hideWaveformOverview: engine.getSetting('hideWaveformOverview') || false + + ///////////////////////////////////////////////////////////////////////////////////////////////////////////////// + + /////////////////////////// + //TIME/BEATS BOX SETTINGS// + /////////////////////////// + + // 0 = Remaining Time, 1 = Elapsed Time, 2 = Time To Cue, 3 = Beats (0.0.0), 4 = Beats Alt (0.0), 5 = Beats To Cue (0.0.0), 6 = Beats To Cue Alt (0.0) + readonly property int timeBox: parseInt(engine.getSetting('timeBox')) || 0 + readonly property int timeBoxShift: parseInt(engine.getSetting('timeBoxShift')) || 1 + + //set to true to have the time text change to black when the box is red. + readonly property bool timeTextColorChange: engine.getSetting('timeTextColorChange') || false + + ///////////////////////////////////////////////////////////////////////////////////////////////////////////////// + + ///////////////////////////////// + //PHASE & PHRASE METER SETTINGS// + ///////////////////////////////// + + //0 = Red, 1 = Dark Orange, 2 = Light Orange, 3 = Default, 4 = Yellow, 5 = Lime, 6 = Green, 7 = Mint, 8 = Cyan, 9 = Turquoise, 10 = Blue, 11 = Plum, 12 = Violet, 13 = Purple, 14 = Magenta, 15 = Fuchsia, 16 = White, 17 = Warm Yellow + readonly property int phaseAColor: parseInt(engine.getSetting('phaseAColor')) || 3 + readonly property int phaseBColor: parseInt(engine.getSetting('phaseBColor')) || 3 + readonly property int phaseCColor: parseInt(engine.getSetting('phaseCColor')) || 3 + readonly property int phaseDColor: parseInt(engine.getSetting('phaseDColor')) || 3 + + //change to true to hide the phase meter + readonly property bool hidePhase: engine.getSetting('hidePhase') || false + + //change to true to hide the phrase meter + readonly property bool hidePhrase: engine.getSetting('hidePhrase') || true + + ///////////////////////////////////////////////////////////////////////////////////////////////////////////////// + + ////////////////////// + //GRID EDIT SETTINGS// + ////////////////////// + + //change to false to hide the bpm overlay when in grid adjust mode. + readonly property bool showBPMGridAdjust: engine.getSetting('showBPMGridAdjust') || true + readonly property int rateAdjustTimer: (engine.getSetting('rateAdjustTimer') || 2) * 1000 + + ///////////////////////////////////////////////////////////////////////////////////////////////////////////////// + + /////////////////// + //HOTCUE SETTINGS// + /////////////////// + + //set to true to disable the hotcue overlay appearing + readonly property bool hideHotcueOverlay: engine.getSetting('hideHotcueOverlay') || false + + //0 = Red, 1 = Dark Orange, 2 = Light Orange, 3 = White, 4 = Yellow, 5 = Lime, 6 = Green, 7 = Mint, 8 = Cyan, 9 = Turquoise, 10 = Blue, 11 = Plum, 12 = Violet, 13 = Purple, 14 = Magenta, 15 = Fuchsia, 16 = Warm Yellow + //change these values to change default cue type Colors. + //This will change the cue markers and also the loop indicator. + readonly property int cueCueColor: parseInt(engine.getSetting('cueCueColor')) || 10 + readonly property int cueLoopColor: parseInt(engine.getSetting('cueLoopColor')) || 6 + + ///////////////////////////////////////////////////////////////////////////////////////////////////////////////// + + //////////////////// + //EFFECTS SETTINGS// + //////////////////// + + //change to false to disable FX overlays + readonly property bool fxOverlays: (engine.getSetting('fxOverlays') || 'both') !== 'off' + + //amount of time the fx overlay will stay on the screen in ms. 1000 = 1 second. + readonly property int fxOverlayTimer: (engine.getSetting('fxOverlayTimer') || 2) * 1000 + + ///////////////////////////////////////////////////////////////////////////////////////////////////////////////// + + ////////////////////////// + //EFFECTS PAD 1 SETTINGS// + ////////////////////////// + + //set to true to disable the effects pads 1 overlay appearing + readonly property bool hideEffectsOverlay1: (engine.getSetting('fxOverlays') || 'both') === 'right' + + //The fx unit used by fx pads 1 + readonly property int fx1unit: 1 + + ///////////////////////////////////////////////////////////////////////////////////////////////////////////////// + + ////////////////////////// + //EFFECTS PAD 2 SETTINGS// + ////////////////////////// + + //set to true to disable the effects pads 2 overlay appearing + readonly property bool hideEffectsOverlay2: (engine.getSetting('fxOverlays') || 'both') === 'left' + + //The fx unit used by fx pads 2 + readonly property int fx2unit: 2 + + ///////////////////////////////////////////////////////////////////////////////////////////////////////////////// + + ///////////////////// + //TONE PAD SETTINGS// + ///////////////////// + + //set to true to disable the tone pads overlay appearing + readonly property bool hideToneOverlay: engine.getSetting('hideToneOverlay') || false + + ///////////////////////////////////////////////////////////////////////////////////////////////////////////////// + + ///////////////////// + //JUMP PAD SETTINGS// + ///////////////////// + + //set to true to disable the tone pads overlay appearing + readonly property bool hideJumpOverlay: engine.getSetting('hideJumpOverlay') || false + + ///////////////////////////////////////////////////////////////////////////////////////////////////////////////// + + ///////////////////// + //LOOP PAD SETTINGS// + ///////////////////// + + //set to true to disable the loop pads overlay appearing + readonly property bool hideLoopOverlay: engine.getSetting('hideLoopOverlay') || false + + ///////////////////////////////////////////////////////////////////////////////////////////////////////////////// + + ///////////////////// + //ROLL PAD SETTINGS// + ///////////////////// + + //set to true to disable the tone pads overlay appearing + readonly property bool hideRollOverlay: engine.getSetting('hideRollOverlay') || false + + ///////////////////////////////////////////////////////////////////////////////////////////////////////////////// +} diff --git a/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Defines/Utils.qml b/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Defines/Utils.qml new file mode 100755 index 000000000000..b5f59ac7649a --- /dev/null +++ b/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Defines/Utils.qml @@ -0,0 +1,126 @@ +import QtQuick 2.15 + +QtObject { + + function convertToTimeString(inSeconds) { + var neg = (inSeconds < 0); + var roundedSec = Math.floor(inSeconds); + + if (neg) { + roundedSec = -roundedSec; + } + + var sec = roundedSec % 60; + var min = (roundedSec - sec) / 60; + + var secStr = sec.toString(); + if (sec < 10) secStr = "0" + secStr; + + var minStr = min.toString(); + if (min < 10) minStr = "0" + minStr; + + return (neg ? "-" : "") + minStr + ":" + secStr; + } + + function computeRemainingTimeString(length, elapsed) { + return ((elapsed > length) ? convertToTimeString(0) : convertToTimeString( Math.floor(elapsed) - Math.floor(length))); + } + + function camelotConvert(keyToConvert) { + if (keyToConvert == "") return "-"; + + switch(keyToConvert) { + case "1d": return "8B"; + case "2d": return "9B"; + case "3d": return "10B"; + case "4d": return "11B"; + case "5d": return "12B"; + case "6d": return "1B"; + case "7d": return "2B"; + case "8d": return "3B"; + case "9d": return "4B"; + case "10d": return "5B"; + case "11d": return "6B"; + case "12d": return "7B"; + + case "1m": return "8A"; + case "2m": return "9A"; + case "3m": return "10A"; + case "4m": return "11A"; + case "5m": return "12A"; + case "6m": return "1A"; + case "7m": return "2A"; + case "8m": return "3A"; + case "9m": return "4A"; + case "10m": return "5A"; + case "11m": return "6A"; + case "12m": return "7A"; + + case "1D": return "8B"; + case "2D": return "9B"; + case "3D": return "10B"; + case "4D": return "11B"; + case "5D": return "12B"; + case "6D": return "1B"; + case "7D": return "2B"; + case "8D": return "3B"; + case "9D": return "4B"; + case "10D": return "5B"; + case "11D": return "6B"; + case "12D": return "7B"; + + case "1M": return "8A"; + case "2M": return "9A"; + case "3M": return "10A"; + case "4M": return "11A"; + case "5M": return "12A"; + case "6M": return "1A"; + case "7M": return "2A"; + case "8M": return "3A"; + case "9M": return "4A"; + case "10M": return "5A"; + case "11M": return "6A"; + case "12M": return "7A"; + + case "B": return "1B"; + case "F#": return "2B"; + case "C#": return "3B"; + case "G#": return "4B"; + case "D#": return "5B"; + case "A#": return "6B"; + case "F": return "7B"; + case "C": return "8B"; + case "G": return "9B"; + case "D": return "10B"; + case "A": return "11B"; + case "E": return "12B"; + + case "G#m": return "1A"; + case "D#m": return "2A"; + case "A#m": return "3A"; + case "Fm": return "4A"; + case "Cm": return "5A"; + case "Gm": return "6A"; + case "Dm": return "7A"; + case "Am": return "8A"; + case "Em": return "9A"; + case "Bm": return "10A"; + case "F#m": return "11A"; + case "C#m": return "12A"; + + case "G#M": return "1A"; + case "D#M": return "2A"; + case "A#M": return "3A"; + case "FM": return "4A"; + case "CM": return "5A"; + case "GM": return "6A"; + case "DM": return "7A"; + case "AM": return "8A"; + case "EM": return "9A"; + case "BM": return "10A"; + case "F#M": return "11A"; + case "C#M": return "12A"; + } + return "ERR"; + } +} diff --git a/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Overlays/BankInfo.qml b/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Overlays/BankInfo.qml new file mode 100755 index 000000000000..0104aca56629 --- /dev/null +++ b/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Overlays/BankInfo.qml @@ -0,0 +1,193 @@ +import QtQuick 2.15 + +import '../Widgets' as Widgets +import '../Defines' as Defines + +//-------------------------------------------------------------------------------------------------------------------- +// FX CONTROLS +//-------------------------------------------------------------------------------------------------------------------- + +// The FxControls are located on the top of the screen and blend in if one of the top knobs is touched/changed + +Item { + id: bottomLabels + + property string showHideState: "hide" + property int bottomMargin: 0 + property int yPositionWhenHidden: 240 + property int yPositionWhenShown: (240 - height) + property int deckId: 1 + property int hotcue: 0 + property int type: 0 + property string name: "" + readonly property color barBgColor: "black" + property int bank: 1 + + // AppProperty { id: type; path: "app.traktor.fx." + bank + ".type"} + QtObject { + id: type2 + property string description: "Description" + property var value: 0 + } + + // AppProperty { id: routing; path: "app.traktor.fx." + bank + ".routing"} + QtObject { + id: routing + property string description: "Description" + property var value: 0 + } + property string routingText: routing.value == 0 ? "Send" : routing.value == 1 ? "Insert" : routing.value == 2 ? "Post" : "ERROR" + + // AppProperty { id: fxSelect1; path: "app.traktor.fx." + bank + ".select.1"} + QtObject { + id: fxSelect1 + property string description: "Description" + property var value: 0 + } + // AppProperty { id: fxSelect2; path: "app.traktor.fx." + bank + ".select.2"} + QtObject { + id: fxSelect2 + property string description: "Description" + property var value: 0 + } + // AppProperty { id: fxSelect3; path: "app.traktor.fx." + bank + ".select.3"} + QtObject { + id: fxSelect3 + property string description: "Description" + property var value: 0 + } + + Defines.Colors { id: colors } + Defines.Durations { id: durations } + + height: type2.value == 2 ? 25 : 50 + anchors.left: parent.left + anchors.right: parent.right + + // dark grey background + Rectangle { + id: bottomInfoDetailsPanelDarkBg + anchors { + top: parent.top + left: parent.left + right: parent.right + } + height: bottomLabels.height + color: colors.colorFxHeaderBg + } + + // dividers + Rectangle { + id: fxInfoDivider0 + width:1; + height:63; + color: colors.colorDivider + anchors.top: parent.top + anchors.topMargin: 25 + anchors.left: parent.left + anchors.leftMargin: 320/3 + } + + // dividers + Rectangle { + id: fxInfoDivider1 + width:1; + color: colors.colorDivider + anchors.top: parent.top + anchors.topMargin: 25 + anchors.left: parent.left + anchors.leftMargin: (320/3) * 2 + height: 63 + } + + // Info Details + Rectangle { + id: bottomInfoDetailsPanel + + height: parent.height + clip: true + width: parent.width + color: "transparent" + + anchors.left: parent.left + anchors.leftMargin: 1 + + Row { + BankInfoDetails { + id: bottomInfoDetails1 + finalLabel: (type2.value == 2 ? "Pattern Player " : "FX Bank ") + bank + " - " + routingText + hideValue: true + hideTitle: false + width: 240 + } + } + + Row { + BankInfoDetails { + id: bottomInfoDetails2 + finalValue: fxSelect1.description + hideValue: (type2.value == 2 ? true : false) + hideTitle: true + width: 320/3 + } + + BankInfoDetails { + id: bottomInfoDetails3 + finalValue: fxSelect2.description + hideValue: (type2.value != 0) ? true : false + hideTitle: true + width: 320/3 + } + + BankInfoDetails { + id: bottomInfoDetails4 + finalValue: fxSelect3.description + hideValue: (type2.value != 0) ? true : false + hideTitle: true + width: 320/3 + } + } + } + + // black border & shadow + Rectangle { + id: headerBlackLine + anchors.top: bottomLabels.bottom + width: parent.width + color: colors.colorBlack + height: 2 + } + Rectangle { + id: headerShadow + anchors.left: parent.left + anchors.right: parent.right + anchors.top: headerBlackLine.bottom + height: 6 + gradient: Gradient { + GradientStop { position: 1.0; color: colors.colorBlack0 } + GradientStop { position: 0.0; color: colors.colorBlack63 } + } + visible: false + } + + //------------------------------------------------------------------------------------------------------------------ + // STATES + //------------------------------------------------------------------------------------------------------------------ + + Behavior on y { PropertyAnimation { duration: durations.overlayTransition; easing.type: Easing.InOutQuad } } + + Item { + id: showHide + state: showHideState + states: [ + State { + name: "show"; + PropertyChanges { target: bottomLabels; y: yPositionWhenShown} + }, + State { + name: "hide"; + PropertyChanges { target: bottomLabels; y: yPositionWhenHidden} + } + ] + } +} diff --git a/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Overlays/BankInfoDetails.qml b/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Overlays/BankInfoDetails.qml new file mode 100755 index 000000000000..026bca41f4f3 --- /dev/null +++ b/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Overlays/BankInfoDetails.qml @@ -0,0 +1,77 @@ +import QtQuick 2.15 + +import '../Widgets' as Widgets +import '../Defines' as Defines + +Item { + id: fxInfoDetails + + Defines.Settings {id: settings} + + property var parameter: ({description:"Description",value: 0, valueRange: {isDiscrete: true, steps: 1}}) // set from outside + property bool isOn: false + property string label: "DRUMLOOP" + property string buttonLabel: "HP ON" + + property bool hideValue: false + property bool hideTitle: false + property bool fxEnabled: false + + property bool indicatorEnabled: fxEnabled && label.length > 0 + property string finalValue: "" + property string finalLabel: "" + + function toInt_round(val) { return parseInt(val+0.5); } + + property alias textColor: colors.colorFontFxHeader + + readonly property int macroEffectChar: 0x00B6 + readonly property bool isMacroFx: (finalLabel.charCodeAt(0) == macroEffectChar) + + width: 0 + height: 25 + + Defines.Colors { id: colors } + + // Level indicator for knobs + + // Diverse Elements + Item { + id: fxInfoDetailsPanel + + height: 25 + width: parent.width + + // fx name + Text { + id: fxInfoSampleName + font.capitalization: Font.AllUppercase + text: finalLabel + visible: !hideTitle + color: settings.accentColor + anchors.top: parent.top + anchors.left: parent.left + anchors.right: parent.right + anchors.topMargin: 2 + font.pixelSize: fonts.scale(13.5) + anchors.leftMargin: 4 + elide: Text.ElideRight + } + + // value + Text { + id: fxInfoValueLarge + width: 320/3 + text: finalValue + font.family: "Pragmatica" // is monospaced + color: colors.colorWhite + visible: !hideValue + anchors.top: parent.top + anchors.left: parent.left + anchors.leftMargin: 4 + font.pixelSize: 15 + anchors.topMargin: 25 + elide: Text.ElideRight + } + } +} diff --git a/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Overlays/CueInfo.qml b/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Overlays/CueInfo.qml new file mode 100755 index 000000000000..dbc47d841456 --- /dev/null +++ b/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Overlays/CueInfo.qml @@ -0,0 +1,152 @@ +import QtQuick 2.15 + +import '../Widgets' as Widgets +import '../Defines' as Defines + +//-------------------------------------------------------------------------------------------------------------------- +// FX CONTROLS +//-------------------------------------------------------------------------------------------------------------------- + +// The FxControls are located on the top of the screen and blend in if one of the top knobs is touched/changed + +Item { + id: bottomLabels + + property string showHideState: "hide" + property int bottomMargin: 0 + property int yPositionWhenHidden: 240 + property int yPositionWhenShown: (195 - bottomMargin) + property int hotcue: 0 + property int type: 0 + property string name: "" + readonly property color barBgColor: "black" + + Defines.Colors { id: colors } + Defines.Durations { id: durations } + + height: 40 + anchors.left: parent.left + anchors.right: parent.right + + // dark grey background + Rectangle { + id: bottomInfoDetailsPanelDarkBg + anchors { + top: parent.top + left: parent.left + right: parent.right + } + height: bottomLabels.height + color: colors.colorFxHeaderBg + // light grey background + Rectangle { + id:bottomInfoDetailsPanelLightBg + anchors { + top: parent.top + left: parent.left + } + height: bottomLabels.height + width: 18 + color: colors.colorFxHeaderLightBg + } + } + +// // dividers + Rectangle { + id: fxInfoDivider0 + width:1; + height:63; + color: colors.colorDivider + anchors.top: parent.top + anchors.left: parent.left + anchors.leftMargin: 18 + } + + Rectangle { + id: fxInfoDivider2 + width:1; + color: colors.colorDivider + anchors.top: parent.top + anchors.left: parent.left + anchors.leftMargin: 240 + height: 63 + } + + // Info Details + Rectangle { + id: bottomInfoDetailsPanel + + height: parent.height + clip: true + width: parent.width + color: "transparent" + + anchors.left: parent.left + anchors.leftMargin: 1 + + Row { + CueInfoDetails { + id: bottomInfoDetails1 + finalValue: hotcue + finalLabel: "#" + width: 18 + } + + CueInfoDetails { + id: bottomInfoDetails2 + finalValue: name + finalLabel: "NAME" + width: 222 + } + + CueInfoDetails { + id: bottomInfoDetails3 + finalValue: (type == 0 ? "Cue" : type == 1 ? "Fade-In" : type == 2 ? "Fade-Out" : type == 3 ? "Load" : type == 4 ? "Grid" : type == 5 ? "Loop" : "-") + finalLabel: "TYPE" + width: 50 + } + } + } + + // black border & shadow + Rectangle { + id: headerBlackLine + anchors.top: bottomLabels.bottom + width: parent.width + color: colors.colorBlack + height: 2 + } + Rectangle { + id: headerShadow + anchors.left: parent.left + anchors.right: parent.right + anchors.top: headerBlackLine.bottom + height: 6 + gradient: Gradient { + GradientStop { position: 1.0; color: colors.colorBlack0 } + GradientStop { position: 0.0; color: colors.colorBlack63 } + } + visible: false + } + + //------------------------------------------------------------------------------------------------------------------ + // STATES + //------------------------------------------------------------------------------------------------------------------ + + Behavior on y { PropertyAnimation { duration: durations.overlayTransition; easing.type: Easing.InOutQuad } } + + Item { + id: showHide + state: showHideState + states: [ + State { + name: "show"; + PropertyChanges { target: bottomLabels; y: yPositionWhenShown} + }, + State { + name: "hide"; + PropertyChanges { target: bottomLabels; y: yPositionWhenHidden} + } + ] + } +} diff --git a/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Overlays/CueInfoDetails.qml b/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Overlays/CueInfoDetails.qml new file mode 100755 index 000000000000..5f0d2b102835 --- /dev/null +++ b/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Overlays/CueInfoDetails.qml @@ -0,0 +1,73 @@ +import QtQuick 2.15 + +import '../Widgets' as Widgets +import '../Defines' as Defines + +Item { + id: fxInfoDetails + + Defines.Settings {id: settings} + + property var parameter: ({description:"Description",value: 0, valueRange: {isDiscrete: true, steps: 1}}) // set from outside + property bool isOn: false + property string label: "DRUMLOOP" + property string buttonLabel: "HP ON" + + property bool hideValue: true + property bool fxEnabled: false + + property bool indicatorEnabled: fxEnabled && label.length > 0 + property string finalValue: "" + property string finalLabel: "" + + function toInt_round(val) { return parseInt(val+0.5); } + + property alias textColor: colors.colorFontFxHeader + + readonly property int macroEffectChar: 0x00B6 + readonly property bool isMacroFx: (finalLabel.charCodeAt(0) == macroEffectChar) + + width: 0 + height: 45 + + Defines.Colors { id: colors } + + // Level indicator for knobs + + // Diverse Elements + Item { + id: fxInfoDetailsPanel + + height: 45 + width: parent.width + + // fx name + Text { + id: fxInfoSampleName + font.capitalization: Font.AllUppercase + text: finalLabel + color: settings.accentColor + anchors.top: parent.top + anchors.left: parent.left + anchors.right: parent.right + anchors.topMargin: 2 + font.pixelSize: fonts.scale(13.5) + anchors.leftMargin: 4 + elide: Text.ElideRight + } + + // value + Text { + id: fxInfoValueLarge + text: finalValue + font.family: "Pragmatica" // is monospaced + color: colors.colorWhite + visible: true + anchors.top: parent.top + anchors.left: parent.left + anchors.leftMargin: 4 + font.pixelSize: 15 + anchors.topMargin: 22 + } + } +} diff --git a/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Overlays/FXInfoDetails.qml b/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Overlays/FXInfoDetails.qml new file mode 100755 index 000000000000..70b52426b30d --- /dev/null +++ b/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Overlays/FXInfoDetails.qml @@ -0,0 +1,66 @@ +import QtQuick 2.15 + +import '../Widgets' as Widgets +import '../Defines' as Defines + +Item { + id: fxInfoDetails + + property var parameter: ({description:"Description",value: 0, valueRange: {isDiscrete: true, steps: 1}}) // set from outside + property string label: "DRUMLOOP" + + property alias textColor: colors.colorFontFxHeader + property bool header: false + property int effectID: 0 + property int fxUnit: 1 + + // AppProperty {id: slot1; path: "app.traktor.fx." + fxUnit + ".select.1"} + QtObject { + id: slot1 + property string description: "Description" + property var value: 0 + } + // AppProperty {id: slot2; path: "app.traktor.fx." + fxUnit + ".select.2"} + QtObject { + id: slot2 + property string description: "Description" + property var value: 0 + } + // AppProperty {id: slot3; path: "app.traktor.fx." + fxUnit + ".select.3"} + QtObject { + id: slot3 + property string description: "Description" + property var value: 0 + } + + width: 0 + height: 20 + + Defines.Colors { id: colors } + Defines.Settings {id: settings} + + // Level indicator for knobs + + // Diverse Elements + Item { + id: fxInfoDetailsPanel + + height: 20 + width: parent.width + + // fx name + Text { + id: fxInfoSampleName + font.capitalization: Font.AllUppercase + text: label + color: header ? settings.accentColor : (slot1.value == effectID || slot2.value == effectID || slot3.value == effectID ? "lime" : "white") + anchors.top: parent.top + anchors.left: parent.left + anchors.right: parent.right + anchors.topMargin: 2 + font.pixelSize: fonts.scale(13.5) + anchors.leftMargin: 4 + elide: Text.ElideRight + } + } +} diff --git a/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Overlays/GridControls.qml b/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Overlays/GridControls.qml new file mode 100755 index 000000000000..0da2209b2edf --- /dev/null +++ b/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Overlays/GridControls.qml @@ -0,0 +1,209 @@ +import QtQuick 2.15 + +import '../Widgets' as Widgets +import '../Defines' as Defines + +import Mixxx 1.0 as Mixxx + +//-------------------------------------------------------------------------------------------------------------------- +// FX CONTROLS +//-------------------------------------------------------------------------------------------------------------------- + +// The FxControls are located on the top of the screen and blend in if one of the top knobs is touched/changed + +Item { + id: bottomLabels + + property string showHideState: "hide" + property int bottomMargin: 0 + property int yPositionWhenHidden: 240 + property int yPositionWhenShown: (180 - bottomMargin) + property int deckId: 1 + + // AppProperty { id: waveZoomProp; path: "app.traktor.decks." + deckId + ".track.waveform_zoom" } + Mixxx.ControlProxy { + group: `[Channel${deckId}]` + key: "waveform_zoom" + id: waveZoomProp + } + // AppProperty { id: tick; path: "app.traktor.decks." + deckId + ".track.grid.enable_tick" } + QtObject { + id: tick + property string description: "Description" + property var value: 0 + } + Mixxx.ControlProxy { + group: `[Channel${deckId}]` + id: range + key: "rateRange" + property string description: "Description" + property var valueRange: ({isDiscrete: false, steps: 1}) + } + + readonly property color barBgColor: "black" + + Defines.Colors { id: colors } + Defines.Durations { id: durations } + + height: 60 + anchors.left: parent.left + anchors.right: parent.right + + // dark grey background + Rectangle { + id: bottomInfoDetailsPanelDarkBg + anchors { + top: parent.top + left: parent.left + right: parent.right + } + height: bottomLabels.height + color: colors.colorFxHeaderBg + // light grey background + Rectangle { + id:bottomInfoDetailsPanelLightBg + anchors { + top: parent.top + left: parent.left + } + height: bottomLabels.height + width: 80 + color: colors.colorFxHeaderLightBg + } + } + +// // dividers + Rectangle { + id: fxInfoDivider0 + width:1; + height:63; + color: colors.colorDivider + anchors.top: parent.top + anchors.left: parent.left + anchors.leftMargin: 80 + } + + // dividers + Rectangle { + id: fxInfoDivider1 + width:1; + color: colors.colorDivider + anchors.top: parent.top + anchors.left: parent.left + anchors.leftMargin: 160 + height: 63 + } + + Rectangle { + id: fxInfoDivider2 + width:1; + color: colors.colorDivider + anchors.top: parent.top + anchors.left: parent.left + anchors.leftMargin: 240 + height: 63 + } + + // Info Details + Rectangle { + id: bottomInfoDetailsPanel + + height: parent.height + clip: true + width: parent.width + color: "transparent" + + anchors.left: parent.left + anchors.leftMargin: 1 + + Row { + GridInfoDetails { + id: bottomInfoDetails1 + parameter: waveZoomProp + label: "ZOOM" + fxEnabled: true + barBgColor: bottomLabels.barBgColor + hideButton: true + zoom: true + hideValue: false + } + + GridInfoDetails { + id: bottomInfoDetails2 + parameter: tick + label: "TICK" + fxEnabled: false + isOn: tick.value + barBgColor: bottomLabels.barBgColor + hideButton: true + zoom: true + hideValue: true + } + + GridInfoDetails { + id: bottomInfoDetails3 + parameter: tick + label: "TICK" + fxEnabled: false + isOn: tick.value + barBgColor: bottomLabels.barBgColor + hideButton: true + zoom: true + hideValue: true + } + + GridInfoDetails { + id: bottomInfoDetails4 + parameter: range + label: "RANGE" + fxEnabled: true + barBgColor: bottomLabels.barBgColor + hideButton: true + zoom: false + hideValue: false + } + } + } + + // black border & shadow + Rectangle { + id: headerBlackLine + anchors.top: bottomLabels.bottom + width: parent.width + color: colors.colorBlack + height: 2 + } + Rectangle { + id: headerShadow + anchors.left: parent.left + anchors.right: parent.right + anchors.top: headerBlackLine.bottom + height: 6 + gradient: Gradient { + GradientStop { position: 1.0; color: colors.colorBlack0 } + GradientStop { position: 0.0; color: colors.colorBlack63 } + } + visible: false + } + + //------------------------------------------------------------------------------------------------------------------ + // STATES + //------------------------------------------------------------------------------------------------------------------ + + Behavior on y { PropertyAnimation { duration: durations.overlayTransition; easing.type: Easing.InOutQuad } } + + Item { + id: showHide + state: showHideState + states: [ + State { + name: "show"; + PropertyChanges { target: bottomLabels; y: yPositionWhenShown} + }, + State { + name: "hide"; + PropertyChanges { target: bottomLabels; y: yPositionWhenHidden} + } + ] + } +} diff --git a/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Overlays/GridInfoDetails.qml b/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Overlays/GridInfoDetails.qml new file mode 100755 index 000000000000..4d54ee03c285 --- /dev/null +++ b/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Overlays/GridInfoDetails.qml @@ -0,0 +1,160 @@ +import QtQuick 2.15 + +import '../Widgets' as Widgets +import '../Defines' as Defines + +Item { + id: fxInfoDetails + + Defines.Settings {id: settings} + + property var parameter: ({description:"Description",value: 0}) // set from outside + property bool isOn: false + property string label: "DRUMLOOP" + property string sizeState: "small" + property string buttonLabel: "HP ON" + property bool fxEnabled: false + property bool zoom: true + property bool hideButton: true + property bool hideValue: true + + property bool indicatorEnabled: fxEnabled && label.length > 0 + property string finalValue: zoom ? (((10 - parameter.value) / 9)*100).toFixed(2)+"%" : toInt_round(parameter.value*100).toString() + "%" + property string finalLabel: fxEnabled ? label : "" + property string finalButtonLabel: "ON" + property color barBgColor // set from outside + + function toInt_round(val) { return parseInt(val+0.5); } + + property alias textColor: colors.colorFontFxHeader + + readonly property int macroEffectChar: 0x00B6 + readonly property bool isMacroFx: (finalLabel.charCodeAt(0) == macroEffectChar) + + readonly property var valueRange: parameter.valueRange || {} + + width: 80 + height: 45 + + Defines.Colors { id: colors } + + // Level indicator for knobs + Widgets.ProgressBar { + id: slider + progressBarHeight: (sizeState == "small") ? 6 : 9 + progressBarWidth: 76 + anchors.left: parent.left + anchors.top: parent.top + anchors.topMargin: 3 + anchors.leftMargin: 2 + + value: label == "ZOOM" ? (10 - parameter.value) / 9 : parameter.value + visible: !(valueRange.isDiscrete && fxEnabled) + + drawAsEnabled: indicatorEnabled + + progressBarBackgroundColor: parent.barBgColor + } + + // stepped progress bar + Widgets.StateBar { + id: slider2 + height: (sizeState == "small") ? 6 : 9 + width: 76 + anchors.left: parent.left + anchors.top: parent.top + anchors.leftMargin: 2 + anchors.topMargin: 3 + + stateCount: valueRange.steps || 0 + currentState: (valueRange.steps - 1.0 + 0.2) * parameter.value // +.2 to make sure we round in the right direction + visible: !slider.visible + barBgColor: parent.barBgColor + } + + // Diverse Elements + Item { + id: fxInfoDetailsPanel + + height: 100 + width: parent.width + + Rectangle { + id: macroIconDetails + anchors.top: parent.top + anchors.left: parent.left + anchors.leftMargin: 4 + anchors.topMargin: 50 + + width: 12 + height: 11 + radius: 1 + visible: isMacroFx + color: colors.colorGrey216 + + Text { + anchors.fill: parent + anchors.topMargin: -1 + anchors.leftMargin: 1 + text: "M" + font.pixelSize: fonts.miniFontSize + color: colors.colorBlack + } + } + + // fx name + Text { + id: fxInfoSampleName + font.capitalization: Font.AllUppercase + text: finalLabel + color: settings.accentColor + anchors.top: parent.top + anchors.left: parent.left + anchors.right: parent.right + anchors.topMargin: 40 + font.pixelSize: fonts.scale(13.5) + anchors.leftMargin: isMacroFx ? 26 : 4 + anchors.rightMargin: 12 + elide: Text.ElideRight + } + + // value + Text { + id: fxInfoValueLarge + text: finalValue + font.family: "Pragmatica" // is monospaced + color: colors.colorWhite + visible: (label.length > 0) && !hideValue + anchors.top: parent.top + anchors.left: parent.left + anchors.leftMargin: 4 + font.pixelSize: 15 + anchors.topMargin: 22 + } + + // button + Rectangle { + id: fxInfoFilterButton + width: 30 + + color: ( fxEnabled ? (isOn ? colors.colorIndicatorLevelOrange : colors.colorBlack) : "transparent" ) + visible: (buttonLabel.length > 0) && !hideButton + radius: 1 + anchors.right: parent.right + anchors.rightMargin: 2 + anchors.top: parent.top + height: 15 + anchors.topMargin: 24 + + Text { + id: fxInfoFilterButtonText + font.capitalization: Font.AllUppercase + text: finalButtonLabel + color: ( fxEnabled ? (isOn ? colors.colorBlack : colors.colorGrey128) : colors.colorGrey128 ) + font.pixelSize: fonts.miniFontSize + anchors.horizontalCenter: parent.horizontalCenter + anchors.verticalCenter: parent.verticalCenter + } + } + } +} diff --git a/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Overlays/JumpControls.qml b/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Overlays/JumpControls.qml new file mode 100755 index 000000000000..57c4e97d8adb --- /dev/null +++ b/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Overlays/JumpControls.qml @@ -0,0 +1,239 @@ +import QtQuick 2.15 + +import Mixxx 1.0 as Mixxx + +import '../Widgets' as Widgets +import '../Defines' as Defines + +//-------------------------------------------------------------------------------------------------------------------- +// FX CONTROLS +//-------------------------------------------------------------------------------------------------------------------- + +// The FxControls are located on the top of the screen and blend in if one of the top knobs is touched/changed + +Item { + id: fxLabels + + property string showHideState: "hide" + property int bottomMargin: 0 + property int yPositionWhenHidden: 240 + property int yPositionWhenShown: (240 - height) + property string name: "" + readonly property color barBgColor: "black" + + required property var deckInfo + readonly property bool shift: deckInfo.shift + + Defines.Colors { id: colors } + Defines.Durations { id: durations } + Defines.Settings { id: settings } + + height: 65 + anchors.left: parent.left + anchors.right: parent.right + + Mixxx.ControlProxy { + id: beatjump + group: deckInfo.group + key: "beatjump_size" + } + + // dark grey background + Rectangle { + id: bottomInfoDetailsPanelDarkBg + anchors { + top: parent.top + left: parent.left + right: parent.right + } + height: fxLabels.height + color: colors.colorFxHeaderBg + } + + // dividers + Rectangle { + id: fxInfoDivider0 + width:1; + height:80; + color: colors.colorDivider + anchors.top: parent.top + anchors.topMargin: 20 + anchors.left: parent.left + anchors.leftMargin: 80 + } + + // dividers + Rectangle { + id: fxInfoDivider1 + width:1; + color: colors.colorDivider + anchors.top: parent.top + anchors.topMargin: 20 + anchors.left: parent.left + anchors.leftMargin: 160 + height: 80 + } + + Rectangle { + id: fxInfoDivider2 + width:1; + color: colors.colorDivider + anchors.top: parent.top + anchors.topMargin: 20 + anchors.left: parent.left + anchors.leftMargin: 240 + height: 80 + } + + // dividers + Rectangle { + id: fxInfoDivider3 + width:360; + height:1; + color: colors.colorDivider + anchors.top: parent.top + anchors.topMargin: 20 + anchors.left: parent.left + } + + // dividers + Rectangle { + id: fxInfoDivider4 + width:360; + height:1; + color: colors.colorDivider + anchors.top: parent.top + anchors.topMargin: 40 + anchors.left: parent.left + } + + // Info Details + Rectangle { + id: bottomInfoDetailsPanel + + height: parent.height + clip: true + width: parent.width + color: "transparent" + + anchors.left: parent.left + anchors.leftMargin: 1 + + Column { + Row { + JumpInfoDetails { + id: header + label: "MOVE/BEATJUMP" + width: 200 + header: true + } + } + + Row { + JumpInfoDetails { + id: bottomInfoDetails1 + label: deckInfo.jumpSizePad1 === "??" ? (shift ? "- " : " ") + (beatjump.value < 1 ? `1 / ${1/beatjump.value}` : `${beatjump.value}`) : getValue(deckInfo.jumpSizePad1, shift) + back: shift + width: 80 + } + JumpInfoDetails { + id: bottomInfoDetails2 + label: deckInfo.jumpSizePad2 === "??" ? (shift ? "- " : " ") + (beatjump.value < 1 ? `1 / ${1/beatjump.value}` : `${beatjump.value}`) : getValue(deckInfo.jumpSizePad2, shift) + back: shift + width: 80 + } + JumpInfoDetails { + id: bottomInfoDetails3 + label: deckInfo.jumpSizePad3 === "??" ? (shift ? "- " : " ") + (beatjump.value < 1 ? `1 / ${1/beatjump.value}` : `${beatjump.value}`) : getValue(deckInfo.jumpSizePad3, shift) + back: shift + width: 80 + } + JumpInfoDetails { + id: bottomInfoDetails4 + label: deckInfo.jumpSizePad4 === "??" ? (shift ? "- " : " ") + (beatjump.value < 1 ? `1 / ${1/beatjump.value}` : `${beatjump.value}`) : getValue(deckInfo.jumpSizePad4, shift) + back: shift + width: 80 + } + } + + Row { + JumpInfoDetails { + id: bottomInfoDetails5 + label: deckInfo.jumpSizePad5 === "??" ? (shift ? "- " : " ") + (beatjump.value < 1 ? `1 / ${1/beatjump.value}` : `${beatjump.value}`) : getValue(deckInfo.jumpSizePad5, shift) + back: shift + width: 80 + } + JumpInfoDetails { + id: bottomInfoDetails6 + label: deckInfo.jumpSizePad6 === "??" ? (shift ? "- " : " ") + (beatjump.value < 1 ? `1 / ${1/beatjump.value}` : `${beatjump.value}`) : getValue(deckInfo.jumpSizePad6, shift) + back: shift + width: 80 + } + JumpInfoDetails { + id: bottomInfoDetails7 + label: deckInfo.jumpSizePad7 === "??" ? (shift ? "- " : " ") + (beatjump.value < 1 ? `1 / ${1/beatjump.value}` : `${beatjump.value}`) : getValue(deckInfo.jumpSizePad7, shift) + back: shift + width: 80 + } + JumpInfoDetails { + id: bottomInfoDetails8 + label: deckInfo.jumpSizePad8 === "??" ? (shift ? "- " : " ") + (beatjump.value < 1 ? `1 / ${1/beatjump.value}` : `${beatjump.value}`) : getValue(deckInfo.jumpSizePad8, shift) + back: shift + width: 80 + } + } + } + } + + function getValue(size, shift) { + if (parseFloat(size)) { + return (shift ? "- " : " ") + (size < 1 ? `1 / ${1/size}` : `${size}`) + } else if (size === "??") { + return null; + } else { + return size + } + } + + // black border & shadow + Rectangle { + id: headerBlackLine + anchors.top: fxLabels.bottom + width: parent.width + color: colors.colorBlack + height: 2 + } + Rectangle { + id: headerShadow + anchors.left: parent.left + anchors.right: parent.right + anchors.top: headerBlackLine.bottom + height: 6 + gradient: Gradient { + GradientStop { position: 1.0; color: colors.colorBlack0 } + GradientStop { position: 0.0; color: colors.colorBlack63 } + } + visible: false + } + + //------------------------------------------------------------------------------------------------------------------ + // STATES + //------------------------------------------------------------------------------------------------------------------ + + Behavior on y { PropertyAnimation { duration: durations.overlayTransition; easing.type: Easing.InOutQuad } } + + Item { + id: showHide + state: showHideState + states: [ + State { + name: "show"; + PropertyChanges { target: fxLabels; y: yPositionWhenShown} + }, + State { + name: "hide"; + PropertyChanges { target: fxLabels; y: yPositionWhenHidden} + } + ] + } +} diff --git a/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Overlays/JumpInfoDetails.qml b/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Overlays/JumpInfoDetails.qml new file mode 100755 index 000000000000..6b220097ade5 --- /dev/null +++ b/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Overlays/JumpInfoDetails.qml @@ -0,0 +1,45 @@ +import QtQuick 2.15 + +import '../Widgets' as Widgets +import '../Defines' as Defines + +Item { + id: fxInfoDetails + + Defines.Settings {id: settings} + + property string label: "DRUMLOOP" + property bool back: false + property bool header: false + + width: 0 + height: 20 + + Defines.Colors { id: colors } + + // Level indicator for knobs + + // Diverse Elements + Item { + id: fxInfoDetailsPanel + + height: 20 + width: parent.width + + // fx name + Text { + id: fxInfoSampleName + font.capitalization: Font.AllUppercase + text: label + color: header ? settings.accentColor : (label == "n/a" || label == "" ? "white" : back == true ? "red" : "lime") + anchors.top: parent.top + anchors.left: parent.left + anchors.right: parent.right + anchors.topMargin: 0 + font.pixelSize: fonts.scale(18) + anchors.leftMargin: 4 + elide: Text.ElideRight + horizontalAlignment: header ? Text.AlignLeft : Text.AlignHCenter + } + } +} diff --git a/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Overlays/LoopControls.qml b/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Overlays/LoopControls.qml new file mode 100755 index 000000000000..ea9f5c29fe72 --- /dev/null +++ b/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Overlays/LoopControls.qml @@ -0,0 +1,230 @@ +import QtQuick 2.15 + +import '../Widgets' as Widgets +import '../Defines' as Defines +import '../ViewModels' as ViewModels + +//-------------------------------------------------------------------------------------------------------------------- +// FX CONTROLS +//-------------------------------------------------------------------------------------------------------------------- + +// The FxControls are located on the top of the screen and blend in if one of the top knobs is touched/changed + +Item { + id: view + + property string showHideState: "hide" + property int bottomMargin: 0 + property int yPositionWhenHidden: 240 + property int yPositionWhenShown: (240 - height) + property string name: "" + readonly property color barBgColor: "black" + property int deckId: 1 + + Defines.Colors { id: colors } + Defines.Durations { id: durations } + Defines.Settings { id: settings } + + required property var deckInfo + + height: 65 + anchors.left: parent.left + anchors.right: parent.right + + // dark grey background + Rectangle { + id: bottomInfoDetailsPanelDarkBg + anchors { + top: parent.top + left: parent.left + right: parent.right + } + height: view.height + color: colors.colorFxHeaderBg + } + + // dividers + Rectangle { + id: fxInfoDivider0 + width:1; + height:80; + color: colors.colorDivider + anchors.top: parent.top + anchors.topMargin: 20 + anchors.left: parent.left + anchors.leftMargin: 80 + } + + // dividers + Rectangle { + id: fxInfoDivider1 + width:1; + color: colors.colorDivider + anchors.top: parent.top + anchors.topMargin: 20 + anchors.left: parent.left + anchors.leftMargin: 160 + height: 80 + } + + Rectangle { + id: fxInfoDivider2 + width:1; + color: colors.colorDivider + anchors.top: parent.top + anchors.topMargin: 20 + anchors.left: parent.left + anchors.leftMargin: 240 + height: 80 + } + + // dividers + Rectangle { + id: fxInfoDivider3 + width:360; + height:1; + color: colors.colorDivider + anchors.top: parent.top + anchors.topMargin: 20 + anchors.left: parent.left + } + + // dividers + Rectangle { + id: fxInfoDivider4 + width:360; + height:1; + color: colors.colorDivider + anchors.top: parent.top + anchors.topMargin: 40 + anchors.left: parent.left + } + + // Info Details + Rectangle { + id: bottomInfoDetailsPanel + + height: parent.height + clip: true + width: parent.width + color: "transparent" + + anchors.left: parent.left + anchors.leftMargin: 1 + + Column { + Row { + LoopInfoDetails { + id: header + label: "LOOP" + width: 200 + header: true + } + } + + Row { + LoopInfoDetails { + id: bottomInfoDetails1 + label: deckInfo.loopSizePad1 + label2: deckInfo.loopSizePad1 + deckId: deckId + width: 80 + } + LoopInfoDetails { + id: bottomInfoDetails2 + label: deckInfo.loopSizePad2 + label2: deckInfo.loopSizePad2 + deckId: deckId + width: 80 + } + LoopInfoDetails { + id: bottomInfoDetails3 + label: deckInfo.loopSizePad3 + label2: deckInfo.loopSizePad3 + deckId: deckId + width: 80 + } + LoopInfoDetails { + id: bottomInfoDetails4 + label: deckInfo.loopSizePad4 + label2: deckInfo.loopSizePad4 + deckId: deckId + width: 80 + } + } + + Row { + LoopInfoDetails { + id: bottomInfoDetails5 + label: deckInfo.loopSizePad5 + label2: deckInfo.loopSizePad5 + deckId: deckId + width: 80 + } + LoopInfoDetails { + id: bottomInfoDetails6 + label: deckInfo.loopSizePad6 + label2: deckInfo.loopSizePad6 + deckId: deckId + width: 80 + } + LoopInfoDetails { + id: bottomInfoDetails7 + label: deckInfo.loopSizePad7 + label2: deckInfo.loopSizePad7 + deckId: deckId + width: 80 + } + LoopInfoDetails { + id: bottomInfoDetails8 + label: deckInfo.loopSizePad8 + label2: deckInfo.loopSizePad8 + deckId: deckId + width: 80 + } + } + } + } + + // black border & shadow + Rectangle { + id: headerBlackLine + anchors.top: view.bottom + width: parent.width + color: colors.colorBlack + height: 2 + } + Rectangle { + id: headerShadow + anchors.left: parent.left + anchors.right: parent.right + anchors.top: headerBlackLine.bottom + height: 6 + gradient: Gradient { + GradientStop { position: 1.0; color: colors.colorBlack0 } + GradientStop { position: 0.0; color: colors.colorBlack63 } + } + visible: false + } + + //------------------------------------------------------------------------------------------------------------------ + // STATES + //------------------------------------------------------------------------------------------------------------------ + + Behavior on y { PropertyAnimation { duration: durations.overlayTransition; easing.type: Easing.InOutQuad } } + + Item { + id: showHide + state: showHideState + states: [ + State { + name: "show"; + PropertyChanges { target: view; y: yPositionWhenShown} + }, + State { + name: "hide"; + PropertyChanges { target: view; y: yPositionWhenHidden} + } + ] + } +} diff --git a/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Overlays/LoopInfoDetails.qml b/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Overlays/LoopInfoDetails.qml new file mode 100755 index 000000000000..12ab2ff7c036 --- /dev/null +++ b/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Overlays/LoopInfoDetails.qml @@ -0,0 +1,57 @@ +import QtQuick 2.15 + +import '../Widgets' as Widgets +import '../Defines' as Defines + +Item { + id: fxInfoDetails + + property string label: "" + property string label2: "" + property bool header: false + property int deckId: 1 + + // AppProperty { id: enabled; path: "app.traktor.decks." + deckId + ".loop.is_in_active_loop" } + QtObject { + id: enabled + property string description: "Description" + property var value: 0 + } + // AppProperty { id: size; path: "app.traktor.decks." + deckId + ".loop.size" } + QtObject { + id: size + property string description: "Description" + property var value: 0 + } + + width: 0 + height: 20 + + Defines.Colors { id: colors } + + // Level indicator for knobs + + // Diverse Elements + Item { + id: fxInfoDetailsPanel + + height: 20 + width: parent.width + + // fx name + Text { + id: fxInfoSampleName + font.capitalization: Font.AllUppercase + text: header ? label : label2 + color: header ? settings.accentColor : (enabled.value && (size.value == label) ? "lime" : "white") + anchors.top: parent.top + anchors.left: parent.left + anchors.right: parent.right + anchors.topMargin: 0 + font.pixelSize: fonts.scale(18) + anchors.leftMargin: 4 + elide: Text.ElideRight + horizontalAlignment: header ? Text.AlignLeft : Text.AlignHCenter + } + } +} diff --git a/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Overlays/QuickFXSelector.qml b/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Overlays/QuickFXSelector.qml new file mode 100755 index 000000000000..930ce608e7ce --- /dev/null +++ b/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Overlays/QuickFXSelector.qml @@ -0,0 +1,151 @@ +import QtQuick 2.15 + +import '../Defines' as Defines +import '../Widgets' as Widgets + +import Mixxx 1.0 as Mixxx + +//-------------------------------------------------------------------------------------------------------------------- +// FX CONTROLS +//-------------------------------------------------------------------------------------------------------------------- + +// The FxControls are located on the top of the screen and blend in if one of the top knobs is touched/changed + +Item { + id: topLabels + + required property var deckInfo + + property int topMargin: 0 + + property int yPositionWhenHidden: -25 + property int yPositionWhenShown: topMargin + + readonly property color barBgColor: "black" + + property var fxModel: Mixxx.EffectsManager.quickChainPresetModel + + Defines.Colors { id: colors } + Defines.Durations { id: durations } + Defines.Settings {id: settings} + + height: 25 + anchors.left: parent.left + anchors.right: parent.right + + // dark grey background + Rectangle { + id: topInfoDetailsPanelDarkBg + anchors { + top: parent.top + left: parent.left + right: parent.right + } + height: topLabels.height + color: colors.colorFxHeaderBg + // light grey background + // Rectangle { + // id:topInfoDetailsPanelLightBg + // anchors { + // top: parent.top + // left: parent.left + // } + // height: topLabels.height + // width: 240 + // color: colors.colorFxHeaderLightBg + // } + } + + // Info Details + Rectangle { + id: topInfoDetailsPanel + + height: parent.height + // clip: true + width: parent.width + color: "transparent" + + anchors.left: parent.left + anchors.leftMargin: 1 + + // Row { + // id: controlRow + + // Item { + // id: quickFxDetailsPanel + + // height: display.height + // width: 260 + + // name + Text { + id: stemInfoName + font.capitalization: Font.AllUppercase + text: "SELECTED QUICK FX" + color: settings.accentColor + + anchors.verticalCenter: parent.verticalCenter + anchors.left: parent.left + anchors.leftMargin: 10 + + font.pixelSize: fonts.scale(13.5) + elide: Text.ElideRight + } + + // value + Text { + id: nameValue + font.capitalization: Font.AllUppercase + text: fxModel.get(deckInfo.quickFXSelected).display || "---" + color: colors.colorWhite + + anchors.verticalCenter: parent.verticalCenter + anchors.right: parent.right + anchors.rightMargin: 10 + + font.pixelSize: fonts.scale(13.5) + elide: Text.ElideRight + } + // } + // } + } + + // black border & shadow + Rectangle { + id: headerBlackLine + anchors.top: topLabels.bottom + width: parent.width + color: colors.colorBlack + height: 2 + } + Rectangle { + id: headerShadow + anchors.left: parent.left + anchors.right: parent.right + anchors.top: headerBlackLine.bottom + height: 6 + gradient: Gradient { + GradientStop { position: 1.0; color: colors.colorBlack0 } + GradientStop { position: 0.0; color: colors.colorBlack63 } + } + visible: false + } + + //------------------------------------------------------------------------------------------------------------------ + // STATES + //------------------------------------------------------------------------------------------------------------------ + + Behavior on y { PropertyAnimation { duration: durations.overlayTransition; easing.type: Easing.InOutQuad } } + + state: deckInfo.quickFXSelected != null ? "show" : "hide" + states: [ + State { + name: "show"; + PropertyChanges { target: topLabels; y: yPositionWhenShown} + }, + State { + name: "hide"; + PropertyChanges { target: topLabels; y: -height} + } + ] +} diff --git a/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Overlays/RollControls.qml b/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Overlays/RollControls.qml new file mode 100755 index 000000000000..0b85f5b4e983 --- /dev/null +++ b/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Overlays/RollControls.qml @@ -0,0 +1,230 @@ +import QtQuick 2.15 + +import '../Widgets' as Widgets +import '../Defines' as Defines +import '../ViewModels' as ViewModels + +//-------------------------------------------------------------------------------------------------------------------- +// FX CONTROLS +//-------------------------------------------------------------------------------------------------------------------- + +// The FxControls are located on the top of the screen and blend in if one of the top knobs is touched/changed + +Item { + id: view + + property string showHideState: "hide" + property int bottomMargin: 0 + property int yPositionWhenHidden: 240 + property int yPositionWhenShown: (240 - height) + property string name: "" + readonly property color barBgColor: "black" + property int deckId: 1 + + Defines.Colors { id: colors } + Defines.Durations { id: durations } + Defines.Settings { id: settings } + + required property var deckInfo + + height: 65 + anchors.left: parent.left + anchors.right: parent.right + + // dark grey background + Rectangle { + id: bottomInfoDetailsPanelDarkBg + anchors { + top: parent.top + left: parent.left + right: parent.right + } + height: view.height + color: colors.colorFxHeaderBg + } + + // dividers + Rectangle { + id: fxInfoDivider0 + width:1; + height:80; + color: colors.colorDivider + anchors.top: parent.top + anchors.topMargin: 20 + anchors.left: parent.left + anchors.leftMargin: 80 + } + + // dividers + Rectangle { + id: fxInfoDivider1 + width:1; + color: colors.colorDivider + anchors.top: parent.top + anchors.topMargin: 20 + anchors.left: parent.left + anchors.leftMargin: 160 + height: 80 + } + + Rectangle { + id: fxInfoDivider2 + width:1; + color: colors.colorDivider + anchors.top: parent.top + anchors.topMargin: 20 + anchors.left: parent.left + anchors.leftMargin: 240 + height: 80 + } + + // dividers + Rectangle { + id: fxInfoDivider3 + width:360; + height:1; + color: colors.colorDivider + anchors.top: parent.top + anchors.topMargin: 20 + anchors.left: parent.left + } + + // dividers + Rectangle { + id: fxInfoDivider4 + width:360; + height:1; + color: colors.colorDivider + anchors.top: parent.top + anchors.topMargin: 40 + anchors.left: parent.left + } + + // Info Details + Rectangle { + id: bottomInfoDetailsPanel + + height: parent.height + clip: true + width: parent.width + color: "transparent" + + anchors.left: parent.left + anchors.leftMargin: 1 + + Column { + Row { + LoopInfoDetails { + id: header + label: "ROLL" + width: 200 + header: true + } + } + + Row { + LoopInfoDetails { + id: bottomInfoDetails1 + label: deckInfo.rollSizePad1 + label2: deckInfo.rollSizePad1 + deckId: deckId + width: 80 + } + LoopInfoDetails { + id: bottomInfoDetails2 + label: deckInfo.rollSizePad2 + label2: deckInfo.rollSizePad2 + deckId: deckId + width: 80 + } + LoopInfoDetails { + id: bottomInfoDetails3 + label: deckInfo.rollSizePad3 + label2: deckInfo.rollSizePad3 + deckId: deckId + width: 80 + } + LoopInfoDetails { + id: bottomInfoDetails4 + label: deckInfo.rollSizePad4 + label2: deckInfo.rollSizePad4 + deckId: deckId + width: 80 + } + } + + Row { + LoopInfoDetails { + id: bottomInfoDetails5 + label: deckInfo.rollSizePad5 + label2: deckInfo.rollSizePad5 + deckId: deckId + width: 80 + } + LoopInfoDetails { + id: bottomInfoDetails6 + label: deckInfo.rollSizePad6 + label2: deckInfo.rollSizePad6 + deckId: deckId + width: 80 + } + LoopInfoDetails { + id: bottomInfoDetails7 + label: deckInfo.rollSizePad7 + label2: deckInfo.rollSizePad7 + deckId: deckId + width: 80 + } + LoopInfoDetails { + id: bottomInfoDetails8 + label: deckInfo.rollSizePad8 + label2: deckInfo.rollSizePad8 + deckId: deckId + width: 80 + } + } + } + } + + // black border & shadow + Rectangle { + id: headerBlackLine + anchors.top: view.bottom + width: parent.width + color: colors.colorBlack + height: 2 + } + Rectangle { + id: headerShadow + anchors.left: parent.left + anchors.right: parent.right + anchors.top: headerBlackLine.bottom + height: 6 + gradient: Gradient { + GradientStop { position: 1.0; color: colors.colorBlack0 } + GradientStop { position: 0.0; color: colors.colorBlack63 } + } + visible: false + } + + //------------------------------------------------------------------------------------------------------------------ + // STATES + //------------------------------------------------------------------------------------------------------------------ + + Behavior on y { PropertyAnimation { duration: durations.overlayTransition; easing.type: Easing.InOutQuad } } + + Item { + id: showHide + state: showHideState + states: [ + State { + name: "show"; + PropertyChanges { target: view; y: yPositionWhenShown} + }, + State { + name: "hide"; + PropertyChanges { target: view; y: yPositionWhenHidden} + } + ] + } +} diff --git a/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Overlays/ToneControls.qml b/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Overlays/ToneControls.qml new file mode 100755 index 000000000000..0ecebfade340 --- /dev/null +++ b/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Overlays/ToneControls.qml @@ -0,0 +1,247 @@ +import QtQuick 2.15 + +import '../Widgets' as Widgets +import '../Defines' as Defines + +//-------------------------------------------------------------------------------------------------------------------- +// FX CONTROLS +//-------------------------------------------------------------------------------------------------------------------- + +// The FxControls are located on the top of the screen and blend in if one of the top knobs is touched/changed + +Item { + id: fxLabels + + property string showHideState: "hide" + property int bottomMargin: 0 + property int yPositionWhenHidden: 240 + property int yPositionWhenShown: (240 - height) + property string name: "" + readonly property color barBgColor: "black" + property int deckId: 1 + property real adjustVal: 0.00 + property string adjust: adjustVal.toFixed(0) + + Timer { + id: toneTimer + property bool blink: false + + interval: 250 + repeat: true + running: adjust != 0 + + onTriggered: { + blink = !blink; + } + + onRunningChanged: { + blink = running; + } + } + + Defines.Colors { id: colors } + Defines.Durations { id: durations } + Defines.Settings { id: settings } + + // MappingProperty { id: forward; path: "mapping.state." + deckId + ".forward"} + QtObject { + id: forward + property string description: "Description" + property var value: 0 + } + + property bool forwardVal: forward.value + + height: 65 + anchors.left: parent.left + anchors.right: parent.right + + // dark grey background + Rectangle { + id: bottomInfoDetailsPanelDarkBg + anchors { + top: parent.top + left: parent.left + right: parent.right + } + height: fxLabels.height + color: colors.colorFxHeaderBg + } + + // dividers + Rectangle { + id: fxInfoDivider0 + width:1; + height:80; + color: colors.colorDivider + anchors.top: parent.top + anchors.topMargin: 20 + anchors.left: parent.left + anchors.leftMargin: 80 + } + + // dividers + Rectangle { + id: fxInfoDivider1 + width:1; + color: colors.colorDivider + anchors.top: parent.top + anchors.topMargin: 20 + anchors.left: parent.left + anchors.leftMargin: 160 + height: 80 + } + + Rectangle { + id: fxInfoDivider2 + width:1; + color: colors.colorDivider + anchors.top: parent.top + anchors.topMargin: 20 + anchors.left: parent.left + anchors.leftMargin: 240 + height: 80 + } + + // dividers + Rectangle { + id: fxInfoDivider3 + width:360; + height:1; + color: colors.colorDivider + anchors.top: parent.top + anchors.topMargin: 20 + anchors.left: parent.left + } + + // dividers + Rectangle { + id: fxInfoDivider4 + width:360; + height:1; + color: colors.colorDivider + anchors.top: parent.top + anchors.topMargin: 40 + anchors.left: parent.left + } + + // Info Details + Rectangle { + id: bottomInfoDetailsPanel + + height: parent.height + clip: true + width: parent.width + color: "transparent" + + anchors.left: parent.left + anchors.leftMargin: 1 + + Column { + Row { + ToneInfoDetails { + id: header + label: "TONE" + width: 200 + header: true + } + } + + Row { + ToneInfoDetails { + id: bottomInfoDetails1 + label: "0" + color: adjust != 0 ? "grey" : "white" + width: 80 + } + ToneInfoDetails { + id: bottomInfoDetails2 + label: forwardVal ? "+1" : "-1" + color: forwardVal ? ((adjust == 1) && toneTimer.blink ? "white" : "lime") : ((adjust == -1) && toneTimer.blink ? "white" : "red") + width: 80 + } + ToneInfoDetails { + id: bottomInfoDetails3 + label: forwardVal ? "+2" : "-2" + color: forwardVal ? ((adjust == 2) && toneTimer.blink ? "white" : "lime") : ((adjust == -2) && toneTimer.blink ? "white" : "red") + width: 80 + } + ToneInfoDetails { + id: bottomInfoDetails4 + label: forwardVal ? "+3" : "-3" + color: forwardVal ? ((adjust == 3) && toneTimer.blink ? "white" : "lime") : ((adjust == -3) && toneTimer.blink ? "white" : "red") + width: 80 + } + } + + Row { + ToneInfoDetails { + id: bottomInfoDetails5 + label: forwardVal ? "+4" : "-4" + color: forwardVal ? ((adjust == 4) && toneTimer.blink ? "white" : "lime") : ((adjust == -4) && toneTimer.blink ? "white" : "red") + width: 80 + } + ToneInfoDetails { + id: bottomInfoDetails6 + label: forwardVal ? "+5" : "-5" + color: forwardVal ? ((adjust == 5) && toneTimer.blink ? "white" : "lime") : ((adjust == -5) && toneTimer.blink ? "white" : "red") + width: 80 + } + ToneInfoDetails { + id: bottomInfoDetails7 + label: forwardVal ? "+6" : "-6" + color: forwardVal ? ((adjust == 6) && toneTimer.blink ? "white" : "lime") : ((adjust == -6) && toneTimer.blink ? "white" : "red") + width: 80 + } + ToneInfoDetails { + id: bottomInfoDetails8 + label: forwardVal ? "+7" : "-7" + color: forwardVal ? ((adjust == 7) && toneTimer.blink ? "white" : "lime") : ((adjust == -7) && toneTimer.blink ? "white" : "red") + width: 80 + } + } + } + } + + // black border & shadow + Rectangle { + id: headerBlackLine + anchors.top: fxLabels.bottom + width: parent.width + color: colors.colorBlack + height: 2 + } + Rectangle { + id: headerShadow + anchors.left: parent.left + anchors.right: parent.right + anchors.top: headerBlackLine.bottom + height: 6 + gradient: Gradient { + GradientStop { position: 1.0; color: colors.colorBlack0 } + GradientStop { position: 0.0; color: colors.colorBlack63 } + } + visible: false + } + + //------------------------------------------------------------------------------------------------------------------ + // STATES + //------------------------------------------------------------------------------------------------------------------ + + Behavior on y { PropertyAnimation { duration: durations.overlayTransition; easing.type: Easing.InOutQuad } } + + Item { + id: showHide + state: showHideState + states: [ + State { + name: "show"; + PropertyChanges { target: fxLabels; y: yPositionWhenShown} + }, + State { + name: "hide"; + PropertyChanges { target: fxLabels; y: yPositionWhenHidden} + } + ] + } +} diff --git a/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Overlays/ToneInfoDetails.qml b/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Overlays/ToneInfoDetails.qml new file mode 100755 index 000000000000..0e39735a4f92 --- /dev/null +++ b/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Overlays/ToneInfoDetails.qml @@ -0,0 +1,44 @@ +import QtQuick 2.15 + +import '../Widgets' as Widgets +import '../Defines' as Defines + +Item { + id: fxInfoDetails + + property string label: "" + property bool header: false + property string color: "white" + + width: 0 + height: 20 + + Defines.Colors { id: colors } + Defines.Settings {id: settings} + + // Level indicator for knobs + + // Diverse Elements + Item { + id: fxInfoDetailsPanel + + height: 20 + width: parent.width + + // fx name + Text { + id: fxInfoSampleName + font.capitalization: Font.AllUppercase + text: label + color: header ? settings.accentColor : fxInfoDetails.color + anchors.top: parent.top + anchors.left: parent.left + anchors.right: parent.right + anchors.topMargin: 0 + font.pixelSize: fonts.scale(18) + anchors.leftMargin: 4 + elide: Text.ElideRight + horizontalAlignment: header ? Text.AlignLeft : Text.AlignHCenter + } + } +} diff --git a/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Overlays/TopInfoDetails.qml b/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Overlays/TopInfoDetails.qml new file mode 100755 index 000000000000..92ea2991b01a --- /dev/null +++ b/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Overlays/TopInfoDetails.qml @@ -0,0 +1,152 @@ +import QtQuick 2.15 + +import '../Widgets' as Widgets +import '../Defines' as Defines + +Item { + id: fxInfoDetails + + property var parameter: ({}) // set from outside + property bool isOn: false + property string label: "DRUMLOOP" + property string sizeState: "small" + property string buttonLabel: "HP ON" + property bool fxEnabled: false + property bool indicatorEnabled: fxEnabled && label.length > 0 + property string finalValue: fxEnabled ? parameter.description : "" + property string finalLabel: fxEnabled ? label : "" + property string finalButtonLabel: fxEnabled ? buttonLabel : "" + property color barBgColor // set from outside + property bool isPatternPlayer: false + + property alias textColor: colors.colorFontFxHeader + + readonly property int macroEffectChar: 0x00B6 + readonly property bool isMacroFx: (finalLabel.charCodeAt(0) == macroEffectChar) + + width: 80 + height: 45 + + Defines.Colors { id: colors } + Defines.Settings {id: settings} + + // Level indicator for knobs + Widgets.ProgressBar { + id: slider + progressBarHeight: (sizeState == "small") ? 6 : 9 + progressBarWidth: 76 + anchors.left: parent.left + anchors.top: parent.top + anchors.topMargin: 3 + anchors.leftMargin: 2 + + value: parameter.value + visible: fxEnabled + + drawAsEnabled: indicatorEnabled + + progressBarBackgroundColor: parent.barBgColor + } + + // stepped progress bar + Widgets.StateBar { + id: slider2 + height: (sizeState == "small") ? 6 : 9 + width: 76 + anchors.left: parent.left + anchors.top: parent.top + anchors.leftMargin: 2 + anchors.topMargin: 3 + + stateCount: parameter.valueRange.steps + currentState: (slider2.stateCount - 1.0 + 0.2) * parameter.value // +.2 to make sure we round in the right direction + visible: parameter.valueRange != undefined && parameter.valueRange.steps > 1 && fxEnabled && label.length > 0 + barBgColor: parent.barBgColor + } + + // Diverse Elements + Item { + id: fxInfoDetailsPanel + + height: 100 + width: parent.width + + Rectangle { + id: macroIconDetails + anchors.top: parent.top + anchors.left: parent.left + anchors.leftMargin: 4 + anchors.topMargin: 15 + + width: 12 + height: 11 + radius: 1 + visible: isMacroFx + color: colors.colorGrey216 + + Text { + anchors.fill: parent + anchors.topMargin: -1 + anchors.leftMargin: 1 + text: "M" + font.pixelSize: fonts.miniFontSize + color: colors.colorBlack + } + } + + // fx name + Text { + id: fxInfoSampleName + font.capitalization: Font.AllUppercase + text: finalLabel + color: isPatternPlayer ? colors.colorGreenMint : settings.accentColor + anchors.top: parent.top + anchors.left: parent.left + anchors.right: parent.right + anchors.topMargin: 8 + font.pixelSize: fonts.scale(13.5) + anchors.leftMargin: isMacroFx ? 26 : 4 + anchors.rightMargin: 12 + elide: Text.ElideRight + } + + // value + Text { + id: fxInfoValueLarge + text: finalValue + font.family: "Pragmatica" // is monospaced + color: colors.colorWhite + visible: label.length > 0 + anchors.top: parent.top + anchors.left: parent.left + anchors.leftMargin: 4 + font.pixelSize: 15 + anchors.topMargin: 24 + } + + // button + Rectangle { + id: fxInfoFilterButton + width: 30 + + color: ( fxEnabled ? (isOn ? (isPatternPlayer ? colors.colorGreenMint : colors.colorIndicatorLevelOrange) : colors.colorBlack) : "transparent" ) + visible: buttonLabel.length > 0 + radius: 1 + anchors.right: parent.right + anchors.rightMargin: 2 + anchors.top: parent.top + height: 15 + anchors.topMargin: 26 + + Text { + id: fxInfoFilterButtonText + font.capitalization: Font.AllUppercase + text: finalButtonLabel + color: ( fxEnabled ? (isOn ? colors.colorBlack : colors.colorGrey128) : colors.colorGrey128 ) + font.pixelSize: fonts.miniFontSize + anchors.horizontalCenter: parent.horizontalCenter + anchors.verticalCenter: parent.verticalCenter + } + } + } +} diff --git a/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/ViewModels/Cell.qml b/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/ViewModels/Cell.qml new file mode 100755 index 000000000000..7df5c69b37ea --- /dev/null +++ b/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/ViewModels/Cell.qml @@ -0,0 +1,54 @@ +import QtQuick 2.5 + +Item { + id: cell + property int slotId:0 + property int deckId: 0 + property int cellId: 0 + + readonly property bool isEmpty: propState.description == "Empty" + readonly property color color: isEmpty ? colors.colorDeckBrightGrey : colors.palette(computeBrightness(propState.description, propDisplayState.description), propColorId.value) + readonly property color brightColor: isEmpty ? colors.colorDeckBrightGrey : colors.palette(1., propColorId.value) + readonly property color midColor: isEmpty ? colors.colorDeckGrey : colors.palette(0.5, propColorId.value) + readonly property color dimmedColor: isEmpty ? colors.colorDeckDarkGrey : colors.palette(0., propColorId.value) + + readonly property string name: propName.value + readonly property bool isLooped: propPlayMode.description == "Looped" + + // AppProperty { id: propColorId; path: "app.traktor.decks." + deckId + ".remix.cell.columns." + slotId + ".rows." + cellId + ".color_id" } + QtObject { + id: propColorId + property string description: "Description" + property var value: 0 + } + // AppProperty { id: propName; path: "app.traktor.decks." + deckId + ".remix.cell.columns." + slotId + ".rows." + cellId + ".name" } + QtObject { + id: propName + property string description: "Description" + property var value: 0 + } + //PlayMode can be "Looped" or "OneShot" + // AppProperty { id: propPlayMode; path: "app.traktor.decks." + deckId + ".remix.cell.columns." + slotId + ".rows." + cellId + ".play_mode" } + QtObject { + id: propPlayMode + property string description: "Description" + property var value: 0 + } + // AppProperty { id: propState; path: "app.traktor.decks." + deckId + ".remix.cell.columns." + slotId + ".rows." + cellId + ".state" } + QtObject { + id: propState + property string description: "Description" + property var value: 0 + } + // AppProperty { id: propDisplayState; path: "app.traktor.decks." + deckId + ".remix.cell.columns." + slotId + ".rows." + cellId + ".animation.display_state"} + QtObject { + id: propDisplayState + property string description: "Description" + property var value: 0 + } + + function computeBrightness(state, displayState) { + if (state == "Playing" && displayState == "BrightColor" ) {return 1.;} + return 0.5; + } +} diff --git a/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/ViewModels/DeckInfo.qml b/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/ViewModels/DeckInfo.qml new file mode 100755 index 000000000000..ea0682cc0acb --- /dev/null +++ b/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/ViewModels/DeckInfo.qml @@ -0,0 +1,1564 @@ +import QtQuick 2.5 +import '../Defines' as Defines + +import Mixxx 1.0 as Mixxx + +//---------------------------------------------------------------------------------------------------------------------- +// Track Deck Model - provide data for the track deck view +//---------------------------------------------------------------------------------------------------------------------- + +Item { + id: viewModel + + property string group: `[Channel${viewModel.deckId}]` + readonly property var deckPlayer: Mixxx.PlayerManager.getPlayer(viewModel.group) + readonly property var currentPlayer: viewModel.deckPlayer?.currentTrack + readonly property string screenName: isLeftScreen(viewModel.deckId) ? "leftdeck" : "rightdeck" + + function onSharedDataUpdate(data) { + if (typeof data === "object" && typeof data.group[screenName] === "string") { + viewModel.group = data.group[screenName] + console.log(`Changed group for screen ${screenName} to ${viewModel.group}`); + } + if (typeof data === "object" && typeof data.shift === "object") { + propShift.value = !!data.shift[screenName] + } + if (typeof data.padsMode === "object") { + propPadsMode.value = data.padsMode[viewModel.group] + console.log(`Changed padsMode for screen ${screenName} to ${propPadsMode.value}`); + } + if (typeof data.selectedQuickFX !== "undefined") { + propSelectedQuickFX.value = data.selectedQuickFX + console.log(`Changed selectedQuickFX to ${propSelectedQuickFX.value}`); + } + if (typeof data.selectedStems === "object") { + let firstSelected = data.selectedStems[viewModel.group].findIndex(x => !!x); + propStemSelected.active = firstSelected >= 0; + if (propStemSelected.active) { + propStemSelected.idx = firstSelected; + } + console.log(`Changed selectedStems for screen ${screenName} to ${propStemSelected.idx}`); + } + if (typeof data.selectedHotcue === "object") { + let hotcue = data.selectedHotcue[viewModel.group]; + + if (hotcue) { + let model = viewModel.currentPlayer?.hotcuesModel?.get(hotcue - 1); + viewModel.hotcueId = hotcue; + viewModel.hotcuePressed = true; + viewModel.hotcueName = model?.label || "Unnamed cue"; + viewModel.hotcueType = model?.isLoop ? 5 : 0; + } else { + viewModel.hotcuePressed = false; + } + + console.log(`Changed selectedHotcue for screen ${screenName} to ${hotcue}`); + } + if (typeof data.deckColor === "object") { + propDeckColors.a = data.deckColor["[Channel1]"] + propDeckColors.b = data.deckColor["[Channel2]"] + propDeckColors.c = data.deckColor["[Channel3]"] + propDeckColors.d = data.deckColor["[Channel4]"] + } + if (typeof data.rollpadSize === "object") { + for (let i = 0; i < 8; i++) { + switch (`${data.rollpadSize[i]}`.toLowerCase()) { + case "double": + propRollSizePad[`pad${i+1}`] = "x2" + break; + case "half": + propRollSizePad[`pad${i+1}`] = "/2" + break; + default: + propRollSizePad[`pad${i+1}`] = parseFloat(data.rollpadSize[i]) < 1 ? `1/${1/parseFloat(data.rollpadSize[i])}` : data.rollpadSize[i] + } + } + } + if (typeof data.beatjumpSize === "object") { + for (let i = 0; i < 8; i++) { + switch (`${data.beatjumpSize[i]}`.toLowerCase()) { + case "double": + propJumpSizePad[`pad${i+1}`] = "x2" + break; + case "half": + propJumpSizePad[`pad${i+1}`] = "/2" + break; + case "beatjump": + propJumpSizePad[`pad${i+1}`] = "??" + break; + default: + propJumpSizePad[`pad${i+1}`] = parseFloat(data.beatjumpSize[i]) < 1 ? `1/${1/parseFloat(data.beatjumpSize[i])}` : data.beatjumpSize[i] + } + } + } + } + Component.onCompleted: { + if (engine.getSetting("useSharedDataAPI")) { + engine.makeSharedDataConnection(viewModel.onSharedDataUpdate) + } + } + + function isLeftScreen(deckId) { + return deckId == 1 || deckId == 3; + } + + function deckLetter(deckId) { + switch (deckId) { + case 1: return "A"; + case 2: return "B"; + case 3: return "C"; + default: + console.error(`Unknown deck ${deckId}. Defaulting to D`); + case 4: + return "D"; + } + } + + function tempoNeeded(master, current) { + if (master > current) { + return (1-(current/master))*100; + } + return (master/current)*100; + } + + function toInt_round(val) { return parseInt(val+0.5); } + + function computeBeatCounterStringFromPosition(beat) { + var phraseLen = 4; + var curBeat = parseInt(beat); + + if (beat < 0.0) + curBeat = curBeat*-1; + + var value1 = parseInt(((curBeat/4)/phraseLen)+1); + var value2 = parseInt(((curBeat/4)%phraseLen)+1); + var value3 = parseInt( (curBeat%4)+1); + + if (beat < 0.0) + return "-" + value1.toString() + "." + value2.toString() + "." + value3.toString(); + + return value1.toString() + "." + value2.toString() + "." + value3.toString(); + } + + function computeBeatCounterStringFromPositionSingle(beat) { + var phraseLen = 4; + var curBeat = parseInt(beat); + + if (beat < 0.0) + curBeat = curBeat*-1; + + var value3 = parseInt( (curBeat%4)+1); + + return value3.toString(); + } + + function computeBeatCounterStringFromPositionAlt(beat) { + var phraseLen = 4; + var curBeat = parseInt(beat); + + if (beat < 0.0) + curBeat = curBeat*-1; + + var value1 = parseInt(((curBeat)/phraseLen)+1); + var value2 = parseInt( (curBeat%4)+1); + + if (beat < 0.0) + return "-" + value1.toString() + "." + value2.toString(); + + return value1.toString() + "." + value2.toString(); + } + + //////////////////////////////////// + ////// Global info properties ////// + //////////////////////////////////// + QtObject { + id: propDeckColors + property int a: 10 + property int b: 10 + property int c: 2 + property int d: 2 + } + QtObject { + id: propRollSizePad + property var pad1: 1/32 + property var pad2: 1/16 + property var pad3: 1/8 + property var pad4: 1/4 + property var pad5: 1/2 + property var pad6: 1 + property var pad7: 2 + property var pad8: 4 + } + QtObject { + id: propJumpSizePad + property var pad1: 0.5 + property var pad2: 1 + property var pad3: 2 + property var pad4: 4 + property var pad5: 8 + property var pad6: 16 + property var pad7: 32 + property var pad8: 64 + } + + readonly property int deckAColor: propDeckColors.a + readonly property int deckBColor: propDeckColors.b + readonly property int deckCColor: propDeckColors.c + readonly property int deckDColor: propDeckColors.d + + //////////////////////////////////// + /////// Track info properties ////// + //////////////////////////////////// + + property int deckId: 1 + readonly property bool trackEndWarning: propTrackEndWarning.value + readonly property bool shift: propShift.value + readonly property string artistString: isLoaded ? propArtist.value : "Mixxx" + readonly property string bpmString: isLoaded ? propBPM.value.toFixed(2).toString() : "0.00" + readonly property string beats: computeBeatCounterStringFromPosition(((propElapsedTime.value*1000-propGridOffset.value)*propMixerBpm.value)/60000.0) + readonly property string beatSingle: computeBeatCounterStringFromPositionSingle(((propElapsedTime.value*1000-propGridOffset.value)*propMixerBpm.value)/60000.0) + readonly property string beatsAlt: computeBeatCounterStringFromPositionAlt(((propElapsedTime.value*1000-propGridOffset.value)*propMixerBpm.value)/60000.0) + readonly property string masterDeckLetter: leaderGroup.replace('[Channel', '').substr(0, 1) + readonly property string masterBPM: isLoaded ? propMasterBPM.value : 0.00 + readonly property string masterBPMShort: isLoaded ? propMasterBPM.value.toFixed(2).toString() : 0.00 + readonly property string masterBPMFooter: isLoaded ? propMasterBPM.value.toFixed(2).toString() + " BPM" : "" + readonly property string masterBPMFooter2: isLoaded ? propMasterBPM.value.toFixed(2).toString() + "BPM" : "" + readonly property string bpmOffset: isLoaded ? (bpmString - masterBPM).toFixed(2).toString() : "0.00" + readonly property string tempoString: isLoaded ? (propTempo.value).toFixed(2).toString() : "0.00" + readonly property string tempoRange: toInt_round(propTempoRange.value*100).toString() + "%" + readonly property string tempoStringPer: tempoString+'%' + readonly property string tempoNeededVal: tempoNeeded(masterBPMShort, bpmString).toFixed(2).toString() + readonly property string tempoNeededString: isLoaded ? (tempoNeededVal == 0) ? "0.00" : (tempoNeededVal < 0) ? tempoNeededVal + "%" : "+" + tempoNeededVal + "%" : "0.00" + readonly property string songBPM: propSongBPM.value.toFixed(2).toString() + readonly property bool hightlightLoop: !shift + readonly property bool hightlightKey: shift + readonly property int isLoaded: (propTrackLength.value > 0) + readonly property bool showLogo: propTrackLength.value == 0 ? true : false + readonly property string keyString: propKeyForDisplay.value + readonly property string masterKey: propMasterKey.value + readonly property int keyIndex: propFinalKeyId.value + readonly property int masterKeyIndex: propMasterKeyId.value + readonly property bool hasKey: isLoaded && keyIndex >= 0 + readonly property bool hasTempo: isLoaded && !!propTempo.value + readonly property bool isKeyLockOn: propKeyLockOn.value + readonly property bool isSyncOn: propIsInSync.value + readonly property bool isStemDeck: (propIsStemDeck.value >= 2) ? true : false + readonly property bool loopActive: propLoopActive.value + readonly property string loopSizeString: propLoopSize.value < 1 ? `1/${1 / propLoopSize.value}` : `${propLoopSize.value}` + readonly property string loopSizeInt: propLoopSize.value + readonly property string remainingTimeString: (!isLoaded) ? "00:00" : utils.computeRemainingTimeString(propTrackLength.value, propElapsedTime.value) + readonly property string elapsedTimeString: (!isLoaded) ? "00:00" : utils.convertToTimeString(Math.floor(propElapsedTime.value)) + readonly property string titleString: isLoaded ? propTitle.value : "Load a Track to Deck " + deckLetter(deckId) + readonly property real phase: isPlaying && leaderGroup != group ? propPhase.value : 0 + readonly property bool touchKey: false // TODO map shift encoder touch event + readonly property bool touchTime: false // TODO map shift encoder touch event + readonly property bool touchLoop: false // TODO map shift encoder touch event + readonly property int deckType: propDeckType.value + readonly property string keyAdjustString: (keyAdjustVal < 0 ? "" : "+") + (keyAdjustVal).toFixed(0).toString() + readonly property real keyAdjustVal: propKeyAdjust.value*12 + readonly property variant loopSizeText: ["1/32", "1/16", "1/8", "1/4", "1/2", "1", "2", "4", "8", "16", "32"] + readonly property bool slicerEnabled: propEnabled.value + readonly property int slicerNo: propSlicerNo.value + readonly property int slicerSize: propSlicerSize.value + + readonly property bool headerEnabled: propHeaderEnabled.value + readonly property string headerText: propHeaderText.value + readonly property string headerTextLong: propHeaderTextLong.value + readonly property int sampleRate: propSampleRate.value + + readonly property bool isPlaying: propIsPlaying.value + + readonly property bool is1Playing: propIs1Playing.value + readonly property bool is2Playing: propIs2Playing.value + readonly property bool is3Playing: propIs3Playing.value + readonly property bool is4Playing: propIs4Playing.value + + Mixxx.ControlProxy { + group: viewModel.group + key: "track_samplerate" + id: propSampleRate + } + Mixxx.ControlProxy { + group: viewModel.leaderGroup + key: "track_samplerate" + id: propLeaderSampleRate + } + Mixxx.ControlProxy { + group: viewModel.group + id: propTempoRange + key: "rateRange" + } + QtObject { + id: propEnabled + property var value: 0 + } + QtObject { + id: propSlicerNo + property var value: 0 + } + QtObject { + id: propSlicerSize + property var value: 0 + } + QtObject { + id: propDeckType + property var value: 0 + } + Mixxx.ControlProxy { + group: viewModel.group + key: "play" + id: propIsPlaying + } + + Mixxx.ControlProxy { + group: "[Channel1]" + id: propIs1Leader + key: "sync_mode" + } + + Mixxx.ControlProxy { + group: "[Channel2]" + id: propIs2Leader + key: "sync_mode" + } + + Mixxx.ControlProxy { + group: "[Channel3]" + id: propIs3Leader + key: "sync_mode" + } + + Mixxx.ControlProxy { + group: "[Channel4]" + id: propIs4Leader + key: "sync_mode" + } + + readonly property string leaderGroup: propIs1Leader.value >= 2 ? `[Channel1]` : propIs2Leader.value >= 2 ? `[Channel2]` : propIs3Leader.value >= 2 ? `[Channel3]` : propIs4Leader.value >= 2 ? `[Channel4]` : viewModel.group + + Mixxx.ControlProxy { + group: "[Channel1]" + key: "play" + id: propIs1Playing + } + Mixxx.ControlProxy { + group: "[Channel2]" + key: "play" + id: propIs2Playing + } + Mixxx.ControlProxy { + group: "[Channel3]" + key: "play" + id: propIs3Playing + } + Mixxx.ControlProxy { + group: "[Channel4]" + key: "play" + id: propIs4Playing + } + + QtObject { + id: propTitle + property var value: viewModel.currentPlayer?.title || "Unknown" + } + QtObject { + id: propArtist + property var value: viewModel.currentPlayer?.artist || "Unknown" + } + Mixxx.ControlProxy { + group: viewModel.group + id: propSongBPM + key: "file_bpm" + } + + Mixxx.ControlProxy { + group: viewModel.group + id: propKey + key: "key" + } + QtObject { + id: propKeyForDisplay + property var value: [ + "No key", + "1d", + "8d", + "3d", + "10d", + "5d", + "12d", + "7d", + "2d", + "9d", + "4d", + "11d", + "6d", + "10m", + "5m", + "12m", + "7m", + "2m", + "9m", + "4m", + "11m", + "6m", + "1m", + "8m", + "3m" + ][propKey.value] + } + QtObject { + id: propMasterKey + property var value: 0 + } + QtObject { + id: propMixerBpm + property var value: 0 + } + QtObject { + id: propMixerBpmMaster + property var value: 160 + } + QtObject { + id: propFinalKeyId + property var value: propKey.value + } + Mixxx.ControlProxy { + group: viewModel.leaderGroup + id: propMasterKeyId + key: "key" + } + QtObject { + id: propKeyAdjust + property var value: 0 + } + QtObject { + id: propGridOffset + property var value: 0 + } + QtObject { + id: propGridOffsetMaster + property var value: 10000 + } + + Mixxx.ControlProxy { + group: viewModel.group + id: propKeyLockOn + key: "keylock" + } + Mixxx.ControlProxy { + group: viewModel.group + key: "bpm" + id: propBPM + } + Mixxx.ControlProxy { + group: '[InternalClock]' + key: "bpm" + id: propMasterBPM + } + Mixxx.ControlProxy { + group: viewModel.group + key: "visual_bpm" + id: propTempo + } + QtObject { + id: propTempoAbsolute + property var value: 0 + } + + Mixxx.ControlProxy { + group: viewModel.group + key: "beat_closest" + id: propBeatClosest + } + Mixxx.ControlProxy { + group: viewModel.group + key: "track_samples" + id: propSample + } + QtObject { + id: propBeatSample + property var value: (propSampleRate.value * 60) / propBPM.value + } + QtObject { + id: propBeatSampleOffset + property var value: propBeatClosest.value % propBeatSample.value + } + QtObject { + id: propBeat + property var value: (propTrackPosition.value * propSample.value / 2) / propBeatSample.value + } + Mixxx.ControlProxy { + group: viewModel.leaderGroup + key: "beat_closest" + id: propLeaderBeatClosest + } + Mixxx.ControlProxy { + group: viewModel.leaderGroup + key: "track_samples" + id: propLeaderSample + } + QtObject { + id: propLeaderBeatSample + property var value: (propLeaderSampleRate.value * 60) / propMasterBPM.value + } + QtObject { + id: propLeaderBeatSampleOffset + property var value: propLeaderBeatClosest.value % propLeaderBeatSample.value + } + QtObject { + id: propLeaderBeat + property var value: (propLeaderTrackPosition.value * propLeaderSample.value / 2) / propLeaderBeatSample.value + } + QtObject { + id: propPhase + property var value: (propLeaderBeat.value-propBeat.value - 0.5) % 1 - 0.5 + } + Mixxx.ControlProxy { + group: viewModel.group + key: "beatloop_size" + id: propLoopSize + } + Mixxx.ControlProxy { + id: propLoopActive + group: viewModel.group + key: "loop_enabled" + } + QtObject { + id: proploopActive + property var value: 0 + } + Mixxx.ControlProxy { + id: propTrackLength + group: viewModel.group + key: "duration" + } + Mixxx.ControlProxy { + id: propTrackPosition + group: viewModel.group + key: "playposition" + } + Mixxx.ControlProxy { + id: propLeaderTrackPosition + group: viewModel.leaderGroup + key: "playposition" + } + QtObject { + id: propElapsedTime + property var value: parseInt(propTrackPosition.value * propTrackLength.value) + } + Mixxx.ControlProxy { + group: viewModel.group + key: `end_of_track` + id: propTrackEndWarning + } + + QtObject { + id: propHeaderEnabled + property var value: false + } + QtObject { + id: propHeaderText + property var value: "HeaderText" + } + QtObject { + id: propHeaderTextLong + property var value: "HeaderTextLong" + } + + Mixxx.ControlProxy { + group: viewModel.group + key: "stem_count" + id: propIsStemDeck + } + + Timer { + id: loopAdjust + property bool show: false + + triggeredOnStart: true + interval: settings.loopOverlayTimer + repeat: false + running: false + + onTriggered: { + show = !show + } + } + + Mixxx.ControlProxy { + group: viewModel.group + key: "beats_translate_curpos" + id: propBeatsTranslateCurpos + onValueChanged: { + loopAdjust.running = true + } + } + Mixxx.ControlProxy { + group: viewModel.group + key: "beats_adjust_faster" + id: propBeatsAdjustFaster + onValueChanged: { + loopAdjust.running = true + } + } + Mixxx.ControlProxy { + group: viewModel.group + key: "beats_adjust_slower" + id: propBeatsAdjustSlower + onValueChanged: { + loopAdjust.running = true + } + } + Mixxx.ControlProxy { + group: viewModel.group + key: "beats_translate_later" + id: propBeatsTranslateLater + onValueChanged: { + loopAdjust.running = true + } + } + Mixxx.ControlProxy { + group: viewModel.group + key: "beats_translate_earlier" + id: propBeatsTranslateEarlier + onValueChanged: { + loopAdjust.running = true + } + } + Mixxx.ControlProxy { + group: viewModel.group + key: "rateRange" + id: propRateRange + onValueChanged: { + loopAdjust.running = true + } + } + + readonly property bool adjustEnabled: settings.showBPMGridAdjust ? loopAdjust.show : false + + QtObject { + id: propPadsMode + property var value: 0 + } + QtObject { + id: propSelectedQuickFX + property var value: null + } + readonly property var quickFXSelected: propSelectedQuickFX.value + property bool padsModeJump: propPadsMode.value == 1 + property bool padsModeLoop: propPadsMode.value == 5 + property bool padsModeRoll: propPadsMode.value == 3 + property bool padsModeTone: propPadsMode.value == 11 + property bool padsModeBank1: propPadsMode.value == 12 + property bool padsModeBank2: propPadsMode.value == 13 + + Mixxx.ControlProxy { + id: propIsInSync + group: root.group + key: "sync_enabled" + } + + Mixxx.ControlProxy { + id: propBrowser + group: "[Skin]" + key: "show_maximized_library" + } + readonly property bool isInBrowserMode: propBrowser.value + + QtObject { + id: propShift + property bool value: false + } + + Mixxx.ControlProxy { + id: propZoom + + group: root.group + key: "waveform_zoom" + onValueChanged: { + loopAdjust.running = true + } + } + + readonly property int zoomLevel: propZoom.value + + //fx and overlays + property var fxModel: Mixxx.EffectsManager.visibleEffectsModel + + Mixxx.ControlProxy { + group: "[EffectRack1_EffectUnit1]" + key: "mix_mode" + id: propFx1Type + } + readonly property int fx1Type: propFx1Type.value + + Mixxx.ControlProxy { + group: "[EffectRack1_EffectUnit2]" + key: "mix_mode" + id: propFx2Type + } + readonly property int fx2Type: propFx2Type.value + + Mixxx.ControlProxy { + group: "[EffectRack1_EffectUnit3]" + key: "mix_mode" + id: propFx3Type + } + readonly property int fx3Type: propFx3Type.value + + Mixxx.ControlProxy { + group: "[EffectRack1_EffectUnit4]" + key: "mix_mode" + id: propFx4Type + } + readonly property int fx4Type: propFx4Type.value + + Mixxx.ControlProxy { + group: "[EffectRack1_EffectUnit1]" + key: "mix" + id: propFx1DryWet + } + Mixxx.ControlProxy { + group: "[EffectRack1_EffectUnit2]" + key: "mix" + id: propFx2DryWet + } + Mixxx.ControlProxy { + group: "[EffectRack1_EffectUnit1_Effect1]" + key: `meta` + id: propFx1Knob1 + } + Mixxx.ControlProxy { + group: "[EffectRack1_EffectUnit1_Effect2]" + key: `meta` + id: propFx1Knob2 + } + Mixxx.ControlProxy { + group: "[EffectRack1_EffectUnit1_Effect3]" + key: `meta` + id: propFx1Knob3 + } + Mixxx.ControlProxy { + group: "[EffectRack1_EffectUnit2_Effect1]" + key: `meta` + id: propFx2Knob1 + } + Mixxx.ControlProxy { + group: "[EffectRack1_EffectUnit2_Effect2]" + key: `meta` + id: propFx2Knob2 + } + Mixxx.ControlProxy { + group: "[EffectRack1_EffectUnit2_Effect3]" + key: `meta` + id: propFx2Knob3 + } + + Mixxx.ControlProxy { + id: propFx1Knob1Name + group: "[EffectRack1_EffectUnit1_Effect1]" + key: "loaded_effect" + } + Mixxx.ControlProxy { + group: "[EffectRack1_EffectUnit1_Effect2]" + key: "loaded_effect" + id: propFx1Knob2Name + } + Mixxx.ControlProxy { + id: propFx1Knob3Name + group: "[EffectRack1_EffectUnit1_Effect3]" + key: "loaded_effect" + } + Mixxx.ControlProxy { + id: propFx2Knob1Name + group: "[EffectRack1_EffectUnit2_Effect1]" + key: "loaded_effect" + } + Mixxx.ControlProxy { + id: propFx2Knob2Name + group: "[EffectRack1_EffectUnit2_Effect2]" + key: "loaded_effect" + } + Mixxx.ControlProxy { + id: propFx2Knob3Name + group: "[EffectRack1_EffectUnit2_Effect3]" + key: "loaded_effect" + } + + Mixxx.ControlProxy { + group: "[EffectRack1_EffectUnit1]" + key: "enabled" + id: propFx1Enabled + } + Mixxx.ControlProxy { + group: "[EffectRack1_EffectUnit2]" + key: `enabled` + id: propFx2Enabled + } + Mixxx.ControlProxy { + group: "[EffectRack1_EffectUnit1_Effect1]" + key: `enabled` + id: propFx1Button1 + } + Mixxx.ControlProxy { + group: "[EffectRack1_EffectUnit1_Effect2]" + key: `enabled` + id: propFx1Button2 + } + Mixxx.ControlProxy { + group: "[EffectRack1_EffectUnit1_Effect3]" + key: `enabled` + id: propFx1Button3 + } + Mixxx.ControlProxy { + group: "[EffectRack1_EffectUnit2_Effect1]" + key: `enabled` + id: propFx2Button1 + } + Mixxx.ControlProxy { + group: "[EffectRack1_EffectUnit2_Effect2]" + key: `enabled` + id: propFx2Button2 + } + Mixxx.ControlProxy { + group: "[EffectRack1_EffectUnit2_Effect3]" + key: `enabled` + id: propFx2Button3 + } + Mixxx.ControlProxy { + group: "[EffectRack1_EffectUnit1]" + key: `group_[Channel1]_enable` + id: propFx1Ch1 + } + Mixxx.ControlProxy { + group: "[EffectRack1_EffectUnit1]" + key: `group_[Channel2]_enable` + id: propFx1Ch2 + } + Mixxx.ControlProxy { + group: "[EffectRack1_EffectUnit1]" + key: `group_[Channel3]_enable` + id: propFx1Ch3 + } + Mixxx.ControlProxy { + group: "[EffectRack1_EffectUnit1]" + key: `group_[Channel4]_enable` + id: propFx1Ch4 + } + Mixxx.ControlProxy { + group: "[EffectRack1_EffectUnit2]" + key: `group_[Channel1]_enable` + id: propFx2Ch1 + } + Mixxx.ControlProxy { + group: "[EffectRack1_EffectUnit2]" + key: `group_[Channel2]_enable` + id: propFx2Ch2 + } + Mixxx.ControlProxy { + group: "[EffectRack1_EffectUnit2]" + key: `group_[Channel3]_enable` + id: propFx2Ch3 + } + Mixxx.ControlProxy { + group: "[EffectRack1_EffectUnit2]" + key: `group_[Channel4]_enable` + id: propFx2Ch4 + } + Mixxx.ControlProxy { + group: "[EffectRack1_EffectUnit3]" + key: `group_[Channel1]_enable` + id: propFx3Ch1 + } + Mixxx.ControlProxy { + group: "[EffectRack1_EffectUnit3]" + key: `group_[Channel2]_enable` + id: propFx3Ch2 + } + Mixxx.ControlProxy { + group: "[EffectRack1_EffectUnit3]" + key: `group_[Channel3]_enable` + id: propFx3Ch3 + } + Mixxx.ControlProxy { + group: "[EffectRack1_EffectUnit3]" + key: `group_[Channel4]_enable` + id: propFx3Ch4 + } + Mixxx.ControlProxy { + group: "[EffectRack1_EffectUnit4]" + key: `group_[Channel1]_enable` + id: propFx4Ch1 + } + Mixxx.ControlProxy { + group: "[EffectRack1_EffectUnit4]" + key: `group_[Channel2]_enable` + id: propFx4Ch2 + } + Mixxx.ControlProxy { + group: "[EffectRack1_EffectUnit4]" + key: `group_[Channel3]_enable` + id: propFx4Ch3 + } + Mixxx.ControlProxy { + group: "[EffectRack1_EffectUnit4]" + key: `group_[Channel4]_enable` + id: propFx4Ch4 + } + + readonly property real fx1DryWet: propFx1DryWet.value + readonly property real fx2DryWet: propFx2DryWet.value + readonly property real fx1Knob1: propFx1Knob1.value + readonly property real fx1Knob2: propFx1Knob2.value + readonly property real fx1Knob3: propFx1Knob3.value + readonly property real fx2Knob1: propFx2Knob1.value + readonly property real fx2Knob2: propFx2Knob2.value + readonly property real fx2Knob3: propFx2Knob3.value + + readonly property string fx1Knob1Name: viewModel.fxModel.get(propFx1Knob1Name.value).display + readonly property string fx1Knob2Name: viewModel.fxModel.get(propFx1Knob2Name.value).display + readonly property string fx1Knob3Name: viewModel.fxModel.get(propFx1Knob3Name.value).display + readonly property string fx2Knob1Name: viewModel.fxModel.get(propFx2Knob1Name.value).display + readonly property string fx2Knob2Name: viewModel.fxModel.get(propFx2Knob2Name.value).display + readonly property string fx2Knob3Name: viewModel.fxModel.get(propFx2Knob3Name.value).display + + readonly property bool fx1Enabled: propFx1Enabled.value + readonly property bool fx2Enabled: propFx2Enabled.value + readonly property bool fx1Button1: propFx1Button1.value + readonly property bool fx1Button2: propFx1Button2.value + readonly property bool fx1Button3: propFx1Button3.value + readonly property bool fx2Button1: propFx2Button1.value + readonly property bool fx2Button2: propFx2Button2.value + readonly property bool fx2Button3: propFx2Button3.value + + readonly property bool fx1Ch1: propFx1Ch1.value + readonly property bool fx1Ch2: propFx1Ch2.value + readonly property bool fx1Ch3: propFx1Ch3.value + readonly property bool fx1Ch4: propFx1Ch4.value + readonly property bool fx2Ch1: propFx2Ch1.value + readonly property bool fx2Ch2: propFx2Ch2.value + readonly property bool fx2Ch3: propFx2Ch3.value + readonly property bool fx2Ch4: propFx2Ch4.value + + onFx1DryWetChanged: {fx1Timer.running = true} + onFx2DryWetChanged: {fx2Timer.running = true} + onFx1Knob1Changed: {fx1Timer.running = true} + onFx1Knob2Changed: {fx1Timer.running = true} + onFx1Knob3Changed: {fx1Timer.running = true} + onFx2Knob1Changed: {fx2Timer.running = true} + onFx2Knob2Changed: {fx2Timer.running = true} + onFx2Knob3Changed: {fx2Timer.running = true} + onFx1EnabledChanged: {fx1Timer.running = true} + onFx2EnabledChanged: {fx2Timer.running = true} + onFx1Button1Changed: {fx1Timer.running = true} + onFx1Button2Changed: {fx1Timer.running = true} + onFx1Button3Changed: {fx1Timer.running = true} + onFx2Button1Changed: {fx2Timer.running = true} + onFx2Button2Changed: {fx2Timer.running = true} + onFx2Button3Changed: {fx2Timer.running = true} + onFx1Ch1Changed: {fx1Timer.running = true} + onFx1Ch2Changed: {fx1Timer.running = true} + onFx1Ch3Changed: {fx1Timer.running = true} + onFx1Ch4Changed: {fx1Timer.running = true} + onFx2Ch1Changed: {fx2Timer.running = true} + onFx2Ch2Changed: {fx2Timer.running = true} + onFx2Ch3Changed: {fx2Timer.running = true} + onFx2Ch4Changed: {fx2Timer.running = true} + onFx1Knob1NameChanged: {fx1Timer.running = true} + onFx1Knob2NameChanged: {fx1Timer.running = true} + onFx1Knob3NameChanged: {fx1Timer.running = true} + onFx2Knob1NameChanged: {fx2Timer.running = true} + onFx2Knob2NameChanged: {fx2Timer.running = true} + onFx2Knob3NameChanged: {fx2Timer.running = true} + + onLoopSizeStringChanged: {loopTimer.running = true} + onLoopActiveChanged: {loopTimer.running = true} + + Timer { + id: loopTimer + property bool showLoop: false + + triggeredOnStart: true + interval: settings.loopOverlayTimer + repeat: false + running: false + + onTriggered: { + showLoop = !showLoop + } + } + + property bool showLoopInfo: loopTimer.showLoop + + onBpmStringChanged: {bpmTimer.running = true} + + Timer { + id: bpmTimer + property bool showBPM: false + + triggeredOnStart: true + interval: settings.bpmOverlayTimer + repeat: false + running: false + + onTriggered: { + showBPM = !showBPM + } + } + + property bool showBPMInfo: bpmTimer.showBPM && bpmTimer.running + + Mixxx.ControlProxy { + group: "[EffectRack1_EffectUnit3]" + key: "mix" + id: propFx3DryWet + } + Mixxx.ControlProxy { + group: "[EffectRack1_EffectUnit4]" + key: "mix" + id: propFx4DryWet + } + Mixxx.ControlProxy { + group: "[EffectRack1_EffectUnit3_Effect1]" + key: `meta` + id: propFx3Knob1 + } + Mixxx.ControlProxy { + group: "[EffectRack1_EffectUnit3_Effect2]" + key: `meta` + id: propFx3Knob2 + } + Mixxx.ControlProxy { + group: "[EffectRack1_EffectUnit3_Effect3]" + key: `meta` + id: propFx3Knob3 + } + Mixxx.ControlProxy { + id: propFx4Knob1 + group: "[EffectRack1_EffectUnit4_Effect1]" + key: `meta` + } + Mixxx.ControlProxy { + id: propFx4Knob2 + group: "[EffectRack1_EffectUnit4_Effect2]" + key: `meta` + } + Mixxx.ControlProxy { + id: propFx4Knob3 + group: "[EffectRack1_EffectUnit4_Effect3]" + key: `meta` + } + + Mixxx.ControlProxy { + id: propFx3Knob1Name + group: "[EffectRack1_EffectUnit3_Effect1]" + key: "loaded_effect" + } + Mixxx.ControlProxy { + id: propFx3Knob2Name + group: "[EffectRack1_EffectUnit3_Effect2]" + key: "loaded_effect" + } + Mixxx.ControlProxy { + id: propFx3Knob3Name + group: "[EffectRack1_EffectUnit3_Effect3]" + key: "loaded_effect" + } + Mixxx.ControlProxy { + id: propFx4Knob1Name + group: "[EffectRack1_EffectUnit4_Effect1]" + key: `loaded_effect` + } + Mixxx.ControlProxy { + id: propFx4Knob2Name + group: "[EffectRack1_EffectUnit4_Effect2]" + key: "loaded_effect" + } + Mixxx.ControlProxy { + id: propFx4Knob3Name + group: "[EffectRack1_EffectUnit4_Effect3]" + key: `loaded_effect` + } + + Mixxx.ControlProxy { + group: "[EffectRack1_EffectUnit3]" + key: "enabled" + id: propFx3Enabled + } + Mixxx.ControlProxy { + group: "[EffectRack1_EffectUnit4]" + key: "enabled" + id: propFx4Enabled + } + Mixxx.ControlProxy { + group: "[EffectRack1_EffectUnit3_Effect1]" + key: `enabled` + id: propFx3Button1 + } + Mixxx.ControlProxy { + group: "[EffectRack1_EffectUnit3_Effect2]" + key: `enabled` + id: propFx3Button2 + } + Mixxx.ControlProxy { + group: "[EffectRack1_EffectUnit3_Effect3]" + key: `enabled` + id: propFx3Button3 + } + Mixxx.ControlProxy { + group: "[EffectRack1_EffectUnit4_Effect1]" + key: `enabled` + id: propFx4Button1 + } + Mixxx.ControlProxy { + group: "[EffectRack1_EffectUnit4_Effect2]" + key: `enabled` + id: propFx4Button2 + } + Mixxx.ControlProxy { + group: "[EffectRack1_EffectUnit4_Effect3]" + key: `enabled` + id: propFx4Button3 + } + + readonly property real fx3DryWet: propFx3DryWet.value + readonly property real fx4DryWet: propFx3DryWet.value + readonly property real fx3Knob1: propFx3Knob1.value + readonly property real fx3Knob2: propFx3Knob2.value + readonly property real fx3Knob3: propFx3Knob3.value + readonly property real fx4Knob1: propFx4Knob1.value + readonly property real fx4Knob2: propFx4Knob2.value + readonly property real fx4Knob3: propFx4Knob3.value + + readonly property string fx3Knob1Name: viewModel.fxModel.get(propFx3Knob1Name.value).display + readonly property string fx3Knob2Name: viewModel.fxModel.get(propFx3Knob2Name.value).display + readonly property string fx3Knob3Name: viewModel.fxModel.get(propFx3Knob3Name.value).display + readonly property string fx4Knob1Name: viewModel.fxModel.get(propFx4Knob1Name.value).display + readonly property string fx4Knob2Name: viewModel.fxModel.get(propFx4Knob2Name.value).display + readonly property string fx4Knob3Name: viewModel.fxModel.get(propFx4Knob3Name.value).display + + readonly property bool fx3Enabled: propFx3Enabled.value + readonly property bool fx4Enabled: propFx4Enabled.value + readonly property bool fx3Button1: propFx3Button1.value + readonly property bool fx3Button2: propFx3Button2.value + readonly property bool fx3Button3: propFx3Button3.value + readonly property bool fx4Button1: propFx4Button1.value + readonly property bool fx4Button2: propFx4Button2.value + readonly property bool fx4Button3: propFx4Button3.value + + readonly property bool fx3Ch1: propFx3Ch1.value + readonly property bool fx3Ch2: propFx3Ch2.value + readonly property bool fx3Ch3: propFx3Ch3.value + readonly property bool fx3Ch4: propFx3Ch4.value + readonly property bool fx4Ch1: propFx4Ch1.value + readonly property bool fx4Ch2: propFx4Ch2.value + readonly property bool fx4Ch3: propFx4Ch3.value + readonly property bool fx4Ch4: propFx4Ch4.value + + onFx3DryWetChanged: {fx3Timer.running = true} + onFx4DryWetChanged: {fx4Timer.running = true} + onFx3Knob1Changed: {fx3Timer.running = true} + onFx3Knob2Changed: {fx3Timer.running = true} + onFx3Knob3Changed: {fx3Timer.running = true} + onFx4Knob1Changed: {fx4Timer.running = true} + onFx4Knob2Changed: {fx4Timer.running = true} + onFx4Knob3Changed: {fx4Timer.running = true} + onFx3EnabledChanged: {fx3Timer.running = true} + onFx4EnabledChanged: {fx4Timer.running = true} + onFx3Button1Changed: {fx3Timer.running = true} + onFx3Button2Changed: {fx3Timer.running = true} + onFx3Button3Changed: {fx3Timer.running = true} + onFx4Button1Changed: {fx4Timer.running = true} + onFx4Button2Changed: {fx4Timer.running = true} + onFx4Button3Changed: {fx4Timer.running = true} + onFx3Ch1Changed: {fx3Timer.running = true} + onFx3Ch2Changed: {fx3Timer.running = true} + onFx3Ch3Changed: {fx3Timer.running = true} + onFx3Ch4Changed: {fx3Timer.running = true} + onFx4Ch1Changed: {fx4Timer.running = true} + onFx4Ch2Changed: {fx4Timer.running = true} + onFx4Ch3Changed: {fx4Timer.running = true} + onFx4Ch4Changed: {fx4Timer.running = true} + onFx3Knob1NameChanged: {fx3Timer.running = true} + onFx3Knob2NameChanged: {fx3Timer.running = true} + onFx3Knob3NameChanged: {fx3Timer.running = true} + onFx4Knob1NameChanged: {fx4Timer.running = true} + onFx4Knob2NameChanged: {fx4Timer.running = true} + onFx4Knob3NameChanged: {fx4Timer.running = true} + + Mixxx.ControlProxy { + group: "[EffectRack1_EffectUnit1]" + key: `group_${viewModel.group}_enable` + id: propfx1 + } + Mixxx.ControlProxy { + group: "[EffectRack1_EffectUnit2]" + key: `group_${viewModel.group}_enable` + id: propfx2 + } + Mixxx.ControlProxy { + group: "[EffectRack1_EffectUnit3]" + key: `group_${viewModel.group}_enable` + id: propfx3 + } + Mixxx.ControlProxy { + group: "[EffectRack1_EffectUnit4]" + key: `group_${viewModel.group}_enable` + id: propfx4 + } + + readonly property bool fx1On: propfx1.value + readonly property bool fx2On: propfx2.value + readonly property bool fx3On: propfx3.value + readonly property bool fx4On: propfx4.value + + Timer { + id: fx1Timer + property bool blink: false + + triggeredOnStart: true + interval: settings.fxOverlayTimer + repeat: false + running: fx1On + + onTriggered: { + blink = !blink + } + } + + Timer { + id: fx2Timer + property bool blink: false + + triggeredOnStart: true + interval: settings.fxOverlayTimer + repeat: false + running: fx2On + + onTriggered: { + blink = !blink + } + } + + Timer { + id: fx3Timer + property bool blink: false + + triggeredOnStart: true + interval: settings.fxOverlayTimer + repeat: false + running: fx3On + + onTriggered: { + blink = !blink + } + } + + Timer { + id: fx4Timer + property bool blink: false + + triggeredOnStart: true + interval: settings.fxOverlayTimer + repeat: false + running: fx4On + + onTriggered: { + blink = !blink + } + } + + readonly property bool showFx1: fx1On && fx1Timer.blink + readonly property bool showFx2: fx2On && fx2Timer.blink + readonly property bool showFx3: fx3On && fx3Timer.blink + readonly property bool showFx4: fx4On && fx4Timer.blink + + Mixxx.ControlProxy { + id: propView + group: "[Skin]" + key: "show_maximized_library" + } + + readonly property bool viewButton: propView.value && false + + property int hotcueId: 0 + readonly property bool hotcueDisplay: hotcuePressed || cueTimer.running + property string hotcueName: "" + property int hotcueType: 0 + + property bool hotcuePressed: false + onHotcuePressedChanged: {hotcuePressed == false ? cueTimer.restart() : hotcuePressed = hotcuePressed } + + Mixxx.ControlProxy { + group: viewModel.group + key: `hotcue_1_activate` + id: propHotcue1Activated + onValueChanged: { + let model = viewModel.currentPlayer?.hotcuesModel?.get(0); + viewModel.hotcueId = 1; + viewModel.hotcuePressed = value; + viewModel.hotcueName = model?.label || "Unnamed cue"; + viewModel.hotcueType = model?.isLoop ? 5 : 0; + } + } + Mixxx.ControlProxy { + group: viewModel.group + key: `hotcue_2_activate` + id: propHotcue2Activated + onValueChanged: { + let model = viewModel.currentPlayer?.hotcuesModel?.get(1); + viewModel.hotcueId = 2; + viewModel.hotcuePressed = value; + viewModel.hotcueName = model?.label || "Unnamed cue"; + viewModel.hotcueType = model?.isLoop ? 5 : 0; + } + } + Mixxx.ControlProxy { + group: viewModel.group + key: `hotcue_3_activate` + id: propHotcue3Activated + onValueChanged: { + let model = viewModel.currentPlayer?.hotcuesModel?.get(2); + viewModel.hotcueId = 3; + viewModel.hotcuePressed = value; + viewModel.hotcueName = model?.label || "Unnamed cue"; + viewModel.hotcueType = model?.isLoop ? 5 : 0; + } + } + Mixxx.ControlProxy { + group: viewModel.group + key: `hotcue_4_activate` + id: propHotcue4Activated + onValueChanged: { + let model = viewModel.currentPlayer?.hotcuesModel?.get(3); + viewModel.hotcueId = 4; + viewModel.hotcuePressed = value; + viewModel.hotcueName = model?.label || "Unnamed cue"; + viewModel.hotcueType = model?.isLoop ? 5 : 0; + } + } + Mixxx.ControlProxy { + group: viewModel.group + key: `hotcue_5_activate` + id: propHotcue5Activated + onValueChanged: { + let model = viewModel.currentPlayer?.hotcuesModel?.get(4); + viewModel.hotcueId = 5; + viewModel.hotcuePressed = value; + viewModel.hotcueName = model?.label || "Unnamed cue"; + viewModel.hotcueType = model?.isLoop ? 5 : 0; + } + } + Mixxx.ControlProxy { + group: viewModel.group + key: `hotcue_6_activate` + id: propHotcue6Activated + onValueChanged: { + let model = viewModel.currentPlayer?.hotcuesModel?.get(5); + viewModel.hotcueId = 6; + viewModel.hotcuePressed = value; + viewModel.hotcueName = model?.label || "Unnamed cue"; + viewModel.hotcueType = model?.isLoop ? 5 : 0; + } + } + Mixxx.ControlProxy { + group: viewModel.group + key: `hotcue_7_activate` + id: propHotcue7Activated + onValueChanged: { + let model = viewModel.currentPlayer?.hotcuesModel?.get(6); + viewModel.hotcueId = 7; + viewModel.hotcuePressed = value; + viewModel.hotcueName = model?.label || "Unnamed cue"; + viewModel.hotcueType = model?.isLoop ? 5 : 0; + } + } + Mixxx.ControlProxy { + group: viewModel.group + key: `hotcue_8_activate` + id: propHotcue8Activated + onValueChanged: { + let model = viewModel.currentPlayer?.hotcuesModel?.get(7); + viewModel.hotcueId = 8; + viewModel.hotcuePressed = value; + viewModel.hotcueName = model?.label || "Unnamed cue"; + viewModel.hotcueType = model?.isLoop ? 5 : 0; + } + } + + Timer { + id: cueTimer + property bool blink: false + + triggeredOnStart: true + interval: 1000 + repeat: false + running: false + } + + /////////////////////////////////////////////////// + /////// Stem Deck properties ////////////////////// + /////////////////////////////////////////////////// + + Mixxx.ControlProxy { + group: viewModel.group + key: `stem_count` + id: propStemCount + } + + readonly property bool isStemsActive: propStemCount.value > 0 + readonly property int stemCount: propStemCount.value + + QtObject { + id: propStemSelected + property var idx: 0 + property bool active: false + } + readonly property bool stemSelected: propStemSelected.active + readonly property var stemSelectedIdx: propStemSelected.idx + + readonly property string stemSelectedName: viewModel.currentPlayer?.stemsModel.get(viewModel.stemSelectedIdx).label || "Unknown" + readonly property real stemSelectedVolume: isStemsActive ? [propStem1Volume,propStem2Volume,propStem3Volume,propStem4Volume][viewModel.stemSelectedIdx].value : 0.0 + readonly property bool stemSelectedMuted: isStemsActive ? [propStem1Muted,propStem2Muted,propStem3Muted,propStem4Muted][viewModel.stemSelectedIdx].value : false + readonly property int stemSelectedQuickFXId: isStemsActive ? [propStem1FX,propStem2FX,propStem3FX,propStem4FX][viewModel.stemSelectedIdx].value : 0 + readonly property real stemSelectedQuickFXValue: isStemsActive ? [propStem1FXValue,propStem2FXValue,propStem3FXValue,propStem4FXValue][viewModel.stemSelectedIdx].value : 0.0 + readonly property bool stemSelectedQuickFXOn: isStemsActive ? [propStem1FXOn,propStem2FXOn,propStem3FXOn,propStem4FXOn][viewModel.stemSelectedIdx].value : false + readonly property string stemSelectedQuickFXName: Mixxx.EffectsManager.quickChainPresetModel.get(viewModel.stemSelectedQuickFXId).display || "---" + readonly property color stemSelectedBrightColor: viewModel.currentPlayer?.stemsModel.get(viewModel.stemSelectedIdx).color ?? "grey" + readonly property color stemSelectedMidColor: isStemsActive ? stemSelectedBrightColor : "black" + + Mixxx.ControlProxy { + id: propStem1Volume + group: `${viewModel.group.substr(0, viewModel.group.length - 1)}_Stem1]` + key: `volume` + } + Mixxx.ControlProxy { + id: propStem1Muted + group: `${viewModel.group.substr(0, viewModel.group.length - 1)}_Stem1]` + key: `mute` + } + Mixxx.ControlProxy { + id: propStem1FX + group: `[QuickEffectRack1_${viewModel.group.substr(0, viewModel.group.length - 1)}_Stem1]]` + key: `loaded_chain_preset` + } + Mixxx.ControlProxy { + id: propStem1FXOn + group: `[QuickEffectRack1_${viewModel.group.substr(0, viewModel.group.length - 1)}_Stem1]]` + key: `enabled` + } + Mixxx.ControlProxy { + id: propStem1FXValue + group: `[QuickEffectRack1_${viewModel.group.substr(0, viewModel.group.length - 1)}_Stem1]]` + key: `super1` + } + Mixxx.ControlProxy { + id: propStem2Volume + group: `${viewModel.group.substr(0, viewModel.group.length - 1)}_Stem2]` + key: `volume` + } + Mixxx.ControlProxy { + id: propStem2Muted + group: `${viewModel.group.substr(0, viewModel.group.length - 1)}_Stem2]` + key: `mute` + } + Mixxx.ControlProxy { + id: propStem2FX + group: `[QuickEffectRack1_${viewModel.group.substr(0, viewModel.group.length - 1)}_Stem2]]` + key: `loaded_chain_preset` + } + Mixxx.ControlProxy { + id: propStem2FXOn + group: `[QuickEffectRack1_${viewModel.group.substr(0, viewModel.group.length - 1)}_Stem2]]` + key: `enabled` + } + Mixxx.ControlProxy { + id: propStem2FXValue + group: `[QuickEffectRack1_${viewModel.group.substr(0, viewModel.group.length - 1)}_Stem2]]` + key: `super1` + } + Mixxx.ControlProxy { + id: propStem3Volume + group: `${viewModel.group.substr(0, viewModel.group.length - 1)}_Stem3]` + key: `volume` + } + Mixxx.ControlProxy { + id: propStem3Muted + group: `${viewModel.group.substr(0, viewModel.group.length - 1)}_Stem3]` + key: `mute` + } + Mixxx.ControlProxy { + id: propStem3FX + group: `[QuickEffectRack1_${viewModel.group.substr(0, viewModel.group.length - 1)}_Stem3]]` + key: `loaded_chain_preset` + } + Mixxx.ControlProxy { + id: propStem3FXOn + group: `[QuickEffectRack1_${viewModel.group.substr(0, viewModel.group.length - 1)}_Stem3]]` + key: `enabled` + } + Mixxx.ControlProxy { + id: propStem3FXValue + group: `[QuickEffectRack1_${viewModel.group.substr(0, viewModel.group.length - 1)}_Stem3]]` + key: `super1` + } + Mixxx.ControlProxy { + id: propStem4Volume + group: `${viewModel.group.substr(0, viewModel.group.length - 1)}_Stem4]` + key: `volume` + } + Mixxx.ControlProxy { + id: propStem4Muted + group: `${viewModel.group.substr(0, viewModel.group.length - 1)}_Stem4]` + key: `mute` + } + Mixxx.ControlProxy { + id: propStem4FX + group: `[QuickEffectRack1_${viewModel.group.substr(0, viewModel.group.length - 1)}_Stem4]]` + key: `loaded_chain_preset` + } + Mixxx.ControlProxy { + id: propStem4FXOn + group: `[QuickEffectRack1_${viewModel.group.substr(0, viewModel.group.length - 1)}_Stem4]]` + key: `enabled` + } + Mixxx.ControlProxy { + id: propStem4FXValue + group: `[QuickEffectRack1_${viewModel.group.substr(0, viewModel.group.length - 1)}_Stem4]]` + key: `super1` + } + + /////////////////////////////////////////////////// + /////// Stripe properties ///////////////////////// + /////////////////////////////////////////////////// + + readonly property var hotcues: viewModel.currentPlayer?.hotcuesModel + + /// Loop size + readonly property var loopSizePad1: "1/4" + readonly property var loopSizePad2: "1/2" + readonly property var loopSizePad3: "1" + readonly property var loopSizePad4: "2" + readonly property var loopSizePad5: "4" + readonly property var loopSizePad6: "8" + readonly property var loopSizePad7: "16" + readonly property var loopSizePad8: "32" + + readonly property var jumpSizePad1: propJumpSizePad.pad1 + readonly property var jumpSizePad2: propJumpSizePad.pad2 + readonly property var jumpSizePad3: propJumpSizePad.pad3 + readonly property var jumpSizePad4: propJumpSizePad.pad4 + readonly property var jumpSizePad5: propJumpSizePad.pad5 + readonly property var jumpSizePad6: propJumpSizePad.pad6 + readonly property var jumpSizePad7: propJumpSizePad.pad7 + readonly property var jumpSizePad8: propJumpSizePad.pad8 + + readonly property var rollSizePad1: propRollSizePad.pad1 + readonly property var rollSizePad2: propRollSizePad.pad2 + readonly property var rollSizePad3: propRollSizePad.pad3 + readonly property var rollSizePad4: propRollSizePad.pad4 + readonly property var rollSizePad5: propRollSizePad.pad5 + readonly property var rollSizePad6: propRollSizePad.pad6 + readonly property var rollSizePad7: propRollSizePad.pad7 + readonly property var rollSizePad8: propRollSizePad.pad8 + } diff --git a/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/ViewModels/HotCue.qml b/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/ViewModels/HotCue.qml new file mode 100755 index 000000000000..005df81c6fe9 --- /dev/null +++ b/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/ViewModels/HotCue.qml @@ -0,0 +1,42 @@ +import QtQuick 2.5 + +Item { + id: hotcue + readonly property real position: propPosition.value + readonly property real length: propLength.value + readonly property string type: propType.value + readonly property string name: propName.value + readonly property bool exists: propExists.value + property int index: 0 + + // AppProperty { id: propPosition; path: "app.traktor.decks." + deckId + ".track.cue.hotcues." + (index + 1) + ".start_pos" } + QtObject { + id: propPosition + property string description: "Description" + property var value: 0 + } + // AppProperty { id: propLength; path: "app.traktor.decks." + deckId + ".track.cue.hotcues." + (index + 1) + ".length" } + QtObject { + id: propLength + property string description: "Description" + property var value: 0 + } + // AppProperty { id: propType; path: "app.traktor.decks." + deckId + ".track.cue.hotcues." + (index + 1) + ".type" } + QtObject { + id: propType + property string description: "Description" + property var value: 0 + } + // AppProperty { id: propName; path: "app.traktor.decks." + deckId + ".track.cue.hotcues." + (index + 1) + ".name" } + QtObject { + id: propName + property string description: "Description" + property var value: 0 + } + // AppProperty { id: propExists; path: "app.traktor.decks." + deckId + ".track.cue.hotcues." + (index + 1) + ".exists" } + QtObject { + id: propExists + property string description: "Description" + property var value: 0 + } +} diff --git a/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/ViewModels/HotCues.qml b/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/ViewModels/HotCues.qml new file mode 100755 index 000000000000..3961fc236235 --- /dev/null +++ b/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/ViewModels/HotCues.qml @@ -0,0 +1,65 @@ +import QtQuick 2.5 + +Item { + id: hotcuesModel + property int deckId: 0 + + readonly property alias activeHotcue: activeHotcueModel + readonly property var array: + [ + hotcueModel1, + hotcueModel2, + hotcueModel3, + hotcueModel4, + hotcueModel5, + hotcueModel6, + hotcueModel7, + hotcueModel8 + ] + + Item { + id: activeHotcueModel + readonly property real position: activePos.value + readonly property real length: activeLength.value + readonly property string type: activeType.value + readonly property string name: activeName.value + + // AppProperty { id: activePos; path: "app.traktor.decks." + deckId + ".track.cue.active.start_pos" } + QtObject { + id: activePos + property string description: "Description" + property var value: 0 + property var valueRange: ({isDiscrete: true, steps: 1}) + } + // AppProperty { id: activeLength; path: "app.traktor.decks." + deckId + ".track.cue.active.length" } + QtObject { + id: activeLength + property string description: "Description" + property var value: 0 + property var valueRange: ({isDiscrete: true, steps: 1}) + } + // AppProperty { id: activeType; path: "app.traktor.decks." + deckId + ".track.cue.active.type" } + QtObject { + id: activeType + property string description: "Description" + property var value: 0 + property var valueRange: ({isDiscrete: true, steps: 1}) + } + // AppProperty { id: activeName; path: "app.traktor.decks." + deckId + ".track.cue.active.name" } + QtObject { + id: activeName + property string description: "Description" + property var value: 0 + property var valueRange: ({isDiscrete: true, steps: 1}) + } + } + + HotCue { id: hotcueModel1; index: 0 } + HotCue { id: hotcueModel2; index: 1 } + HotCue { id: hotcueModel3; index: 2 } + HotCue { id: hotcueModel4; index: 3 } + HotCue { id: hotcueModel5; index: 4 } + HotCue { id: hotcueModel6; index: 5 } + HotCue { id: hotcueModel7; index: 6 } + HotCue { id: hotcueModel8; index: 7 } +} diff --git a/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Views/BrowserView.qml b/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Views/BrowserView.qml new file mode 100755 index 000000000000..6436f4153330 --- /dev/null +++ b/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Views/BrowserView.qml @@ -0,0 +1,322 @@ +import QtQuick 2.15 + +import Mixxx 1.0 as Mixxx + +import '../Browser' as BrowserView +import '../Widgets' as Widgets + +//---------------------------------------------------------------------------------------------------------------------- +// BROWSER VIEW +// +// The Browser View is connected to traktors QBrowser from which it receives its data model. The navigation through the +// data is done by calling funcrtions invoked from QBrowser. +//---------------------------------------------------------------------------------------------------------------------- + +Item { + id: qmlBrowser + required property var deckInfo + property string propertiesPath: "" + property bool isActive: false + property bool enterNode: false + property bool exitNode: false + property int increment: 0 + property color focusColor: colors.colorDeckBlueBright + property int speed: 150 + property real sortingKnobValue: 0 + property int pageSize: 10 + property int fastScrollCenter: 3 + property bool leftScreen: deckInfo.isLeftScreen(deckInfo.deckId) + + readonly property int maxItemsOnScreen: 8 + + // This is used by the footer to change/display the sorting! + property alias sortingId: browser.sorting + property alias sortingDirection: browser.sortingDirection + property alias isContentList: browser.isContentList + + anchors.fill: parent + + enum WidgetKind { + None, + Searchbar, + Sidebar, + LibraryView + } + + Mixxx.ControlProxy { + id: focusWidget + + group: "[Library]" + key: "focused_widget" + } + + Mixxx.ControlProxy { + group: "[Playlist]" + key: "SelectTrackKnob" + onValueChanged: (value) => { + console.log("SelectTrackKnob", value) + if (value != 0) { + focusWidget.value = BrowserView.WidgetKind.LibraryView; + moveSelectionVertical(value); + } + } + } + + Mixxx.ControlProxy { + group: "[Playlist]" + key: "SelectPrevTrack" + onValueChanged: (value) => { + console.log("SelectPrevTrack", value) + if (value != 0) { + focusWidget.value = BrowserView.WidgetKind.LibraryView; + moveSelectionVertical(-1); + } + } + } + + Mixxx.ControlProxy { + group: "[Playlist]" + key: "SelectNextTrack" + onValueChanged: (value) => { + console.log("SelectNextTrack", value) + if (value != 0) { + focusWidget.value = BrowserView.WidgetKind.LibraryView; + moveSelectionVertical(1); + } + } + } + + Mixxx.ControlProxy { + group: "[Library]" + key: "MoveVertical" + onValueChanged: (value) => { + console.log("MoveVertical", value, focusWidget.value == BrowserView.WidgetKind.LibraryView) + // if (value != 0 && focusWidget.value == BrowserView.WidgetKind.LibraryView) + moveSelectionVertical(value); + } + } + + Mixxx.ControlProxy { + group: "[Library]" + key: "MoveUp" + onValueChanged: (value) => { + console.log("MoveUp", value) + if (value != 0 && focusWidget.value == BrowserView.WidgetKind.LibraryView) + moveSelectionVertical(-1); + } + } + + Mixxx.ControlProxy { + group: "[Library]" + key: "MoveDown" + onValueChanged: (value) => { + console.log("MoveDown", value) + if (value != 0 && focusWidget.value == BrowserView.WidgetKind.LibraryView) + moveSelectionVertical(1); + } + } + + function moveSelectionVertical(value) { + if (value == 0) + return ; + + const rowCount = browser.dataSet.rowCount(); + if (rowCount == 0) + return ; + + browser.currentIndex = Mixxx.MathUtils.positiveModulo(browser.currentIndex + value, rowCount); + } + + //-------------------------------------------------------------------------------------------------------------------- + + onIncrementChanged: { + if (qmlBrowser.increment != 0) { + var newValue = clamp(browser.currentIndex + qmlBrowser.increment, 0, contentList.count - 1); + + // center selection if user is _fast scrolling_ but we're at the _beginning_ or _end_ of the list + if (qmlBrowser.increment >= pageSize) { + var centerTop = fastScrollCenter; + + if (browser.currentIndex < centerTop) { + newValue = centerTop; + } + } + if (qmlBrowser.increment <= (-pageSize)) { + var centerBottom = contentList.count - 1 - fastScrollCenter; + + if (browser.currentIndex > centerBottom) { + newValue = centerBottom; + } + } + + browser.changeCurrentIndex(newValue); + qmlBrowser.increment = 0; + } + } + + onExitNodeChanged: { + if (qmlBrowser.exitNode) { + browser.exitNode() + } + + qmlBrowser.exitNode = false; + } + + //-------------------------------------------------------------------------------------------------------------------- + + onEnterNodeChanged: { + if (qmlBrowser.enterNode) { + var movedDown = browser.enterNode(screen.focusDeckId, contentList.currentIndex); + if (movedDown) { + browser.relocateCurrentIndex() + } + } + + qmlBrowser.enterNode = false; + } + + function clamp(val, min, max) { + return Math.max(min, Math.min(val, max)); + } + + // Traktor.Browser + // { + // id: browser; + // isActive: qmlBrowser.isActive + // } + Item { + id: browser; + property bool changeCurrentIndex: false + property int currentIndex: 0 + property bool currentPath: false + property var dataSet: Mixxx.Library.model + property bool enterNode: false + property bool exitNode: false + property bool iconId: false + property bool isContentList: false + property bool relocateCurrentIndex: false + property bool sorting: false + property bool sortingDirection: false + } + + Rectangle { + id: background + anchors.fill: parent + color: "black" + } + + //-------------------------------------------------------------------------------------------------------------------- + // LIST VIEW -- NEEDS A MODEL CONTAINING THE LIST OF ITEMS TO SHOW AND A DELEGATE TO DEFINE HOW ONE ITEM LOOKS LIKE + //------------------------------------------------------------------------------------------------------------------- + + // zebra filling up the rest of the list if smaller than maxItemsOnScreen (= 8 entries) + Grid { + anchors.top: contentList.top + anchors.topMargin: contentList.topMargin + contentList.contentHeight + 1 // +1 = for spacing + anchors.right: parent.right + anchors.left: parent.left + anchors.leftMargin: 3 + columns: 1 + spacing: 1 + + Repeater { + model: (contentList.count < qmlBrowser.maxItemsOnScreen) ? (qmlBrowser.maxItemsOnScreen - contentList.count) : 0 + Rectangle { + color: ( (contentList.count + index)%2 == 0) ? colors.colorGrey32 : "Black" + width: qmlBrowser.width; + height: settings.browserFontSize*2 } + } + } + + //-------------------------------------------------------------------------------------------------------------------- + + ListView { + id: contentList + anchors.fill: parent + verticalLayoutDirection: ListView.TopToBottom + // the top/bottom margins are applied only at the beginning/end of the list in order to show half entries while scrolling + // and keep the list delegates in the same position always. + + // the commented out margins caused browser anchor problems leading to a disappearing browser! check later !? + anchors.topMargin: 17 // ( (contentList.count < qmlBrowser.maxItemsOnScreen ) || (currentIndex < 4 )) ? 17 : 0 + anchors.bottomMargin: 18 // ( (contentList.count >= qmlBrowser.maxItemsOnScreen) && (currentIndex >= contentList.count - 4)) ? 18 : 0 + clip: false + spacing: 1 + preferredHighlightBegin: 119 - 17 // -17 because of the reduced height due to the topMargin + preferredHighlightEnd: 152 - 17 // -17 because of the reduced height due to the topMargin + highlightRangeMode: ListView.ApplyRange + highlightMoveDuration: 0 + delegate: BrowserView.ListDelegate {id: listDelegate; masterBPM: deckInfo.masterBPM; masterKey: deckInfo.masterKey; keyIndex: deckInfo.keyIndex; isPlaying: deckInfo.isPlaying; adjacentKeys: settings.adjacentKeys;} + model: browser.dataSet + currentIndex: browser.currentIndex + focus: true + cacheBuffer: 10 + visible: settings.showBrowserOnFullScreen ? ((deckInfo.isInBrowserMode && leftScreen) || (deckInfo.viewButton && !deckInfo.isInBrowserMode) || deckInfo.favorites) : true + } + + ListView { + id: contentListRight + anchors.fill: parent + verticalLayoutDirection: ListView.TopToBottom + // the top/bottom margins are applied only at the beginning/end of the list in order to show half entries while scrolling + // and keep the list delegates in the same position always. + + // the commented out margins caused browser anchor problems leading to a disappearing browser! check later !? + anchors.topMargin: 0 // ( (contentList.count < qmlBrowser.maxItemsOnScreen ) || (currentIndex < 4 )) ? 17 : 0 + anchors.bottomMargin: 0 // ( (contentList.count >= qmlBrowser.maxItemsOnScreen) && (currentIndex >= contentList.count - 4)) ? 18 : 0 + clip: false + spacing: 0 + preferredHighlightBegin: 0 // -17 because of the reduced height due to the topMargin + preferredHighlightEnd: 240 // -17 because of the reduced height due to the topMargin + highlightRangeMode: ListView.ApplyRange + highlightMoveDuration: 0 + delegate: BrowserView.TrackView {id: trackView; masterBPM: deckInfo.masterBPM;} + model: browser.dataSet + currentIndex: browser.currentIndex + focus: true + cacheBuffer: 10 + visible: settings.showBrowserOnFullScreen ? (deckInfo.isInBrowserMode && !leftScreen) : false + } + + BrowserView.BrowserHeader { + id: browserHeader + nodeIconId: browser.iconId + currentDeck: deckInfo.deckId + state: "show" + pathStrings: browser.currentPath + + Behavior on height { NumberAnimation { duration: speed; } } + + visible: settings.showBrowserOnFullScreen ? !(deckInfo.isInBrowserMode && !leftScreen) : true + } + + //-------------------------------------------------------------------------------------------------------------------- + + BrowserView.BrowserFooter { + id: browserFooter + state: "show" + propertiesPath: qmlBrowser.propertiesPath + sortingKnobValue: qmlBrowser.sortingKnobValue + maxCount: contentList.count + count: browser.currentIndex + 1 + deckInfo: qmlBrowser.deckInfo + + Behavior on height { NumberAnimation { duration: speed; } } + + visible: settings.showBrowserOnFullScreen ? !(deckInfo.isInBrowserMode && !leftScreen) : true + } + + BrowserView.TrackFooter { + id: trackFooter + state: "show" + propertiesPath: qmlBrowser.propertiesPath + sortingKnobValue: qmlBrowser.sortingKnobValue + maxCount: contentList.count + count: browser.currentIndex + 1 + deckInfo: qmlBrowser.deckInfo + + Behavior on height { NumberAnimation { duration: speed; } } + + visible: settings.showBrowserOnFullScreen ? (deckInfo.isInBrowserMode && !leftScreen) : false + } +} diff --git a/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Views/Dimensions.qml b/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Views/Dimensions.qml new file mode 100755 index 000000000000..bedc4e594519 --- /dev/null +++ b/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Views/Dimensions.qml @@ -0,0 +1,15 @@ +import QtQuick 2.15 + +QtObject { + + readonly property real infoBoxesWidth: 150 + readonly property real firstRowHeight: 33 + readonly property real secondRowHeight: 72 + readonly property real thirdRowHeight: 72 + readonly property real spacing: 6 + readonly property real largeBoxWidth: 2*infoBoxesWidth + spacing + readonly property real cornerRadius: 5 + readonly property real screenTopMargin: 3 // might need to be adapted based on the tolerances of hardware manufacturing + readonly property real screenLeftMargin: spacing // might need to be adapted based on the tolerances of hardware manufacturing + readonly property real titleTextMargin: spacing +} diff --git a/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Views/EmptyDeck.qml b/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Views/EmptyDeck.qml new file mode 100755 index 000000000000..5ceca5ff3d5e --- /dev/null +++ b/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Views/EmptyDeck.qml @@ -0,0 +1,47 @@ +import QtQuick 2.15 +import '../Overlays' as Overlays +import '../Defines' as Defines +import '../Widgets' as Widgets + +Item { + id: display + anchors.fill: parent + property color deckColor: "black" + property var deckInfo: ({}) + Dimensions {id: dimensions} + + property real infoBoxesWidth: dimensions.infoBoxesWidth + property real firstRowHeight: dimensions.firstRowHeight + + Rectangle { + id: background + color: colors.defaultBackground + anchors.fill: parent + } + + Image { + id: logoImage + anchors.fill: parent + + source: engine.getSetting("idleBackground") || "../../../../../images/templates/logo_mixxx.png" + fillMode: Image.PreserveAspectFit + } + + // DECK HEADER // + // Widgets.DeckHeader + // { + // id: deckHeader + + // title: deckInfo.headerEnabled ? deckInfo.headerText : "Live Input" + // artist: deckInfo.headerEnabled ? deckInfo.headerTextLong : "Live Input" + + // height: display.firstRowHeight-6 + // width: 4*(display.infoBoxesWidth/2+1)+10 + + // anchors.left: parent.left + // anchors.top: parent.top + // anchors.topMargin: 3 + // anchors.leftMargin: 4 + + // } +} diff --git a/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Views/StemDeck.qml b/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Views/StemDeck.qml new file mode 100755 index 000000000000..e0a260721422 --- /dev/null +++ b/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Views/StemDeck.qml @@ -0,0 +1,28 @@ +import QtQuick 2.5 +import '../Widgets' as Widgets +import '../Overlays' as Overlays + +//---------------------------------------------------------------------------------------------------------------------- +// Stem Screen View - UI of the screen for stems +//---------------------------------------------------------------------------------------------------------------------- + +Item { + id: display + + // MODEL PROPERTIES // + required property var deckInfo + + width: 320 + height: 240 + + TrackDeck { + id: trackScreen + deckInfo: display.deckInfo + anchors.fill: parent + } + + // STEM OVERLAY // + Widgets.StemOverlay { + deckInfo: display.deckInfo + } +} diff --git a/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Views/TrackDeck.qml b/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Views/TrackDeck.qml new file mode 100755 index 000000000000..2fc98a5117a9 --- /dev/null +++ b/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Views/TrackDeck.qml @@ -0,0 +1,222 @@ +import QtQuick 2.5 +import QtQuick.Layouts 1.1 +import '../Waveform' as WF +import '../Overlays' as Overlays + +import '../Widgets' as Widgets + +//---------------------------------------------------------------------------------------------------------------------- +// Track Screen View - UI of the screen for track +//---------------------------------------------------------------------------------------------------------------------- + +Item { + id: display + Dimensions {id: dimensions} + + // MODEL PROPERTIES // + required property var deckInfo + property int deckId: 1 + property real boxesRadius: dimensions.cornerRadius + property real infoBoxesWidth: dimensions.infoBoxesWidth +4 + property real firstRowHeight: dimensions.firstRowHeight + property real secondRowHeight: dimensions.secondRowHeight + property real spacing: dimensions.spacing-3 + property real screenTopMargin: dimensions.screenTopMargin + property real screenLeftMargin: dimensions.screenLeftMargin-2 + + width: 320 + height: 240 + + Rectangle { + id: displayBackground + anchors.fill: parent + color: colors.defaultBackground + } + + Image { + id: emptyTrackDeckImage + anchors.fill: parent + visible: deckInfo.showLogo + + source: engine.getSetting("idleBackground") || "../../../../../images/templates/logo_mixxx.png" + fillMode: Image.PreserveAspectFit + } + + ColumnLayout { + id: content + spacing: display.spacing + + anchors.left: parent.left + anchors.top: parent.top + anchors.topMargin: display.screenTopMargin + anchors.leftMargin: display.screenLeftMargin + + // FIRST ROW // + RowLayout { + id: firstRow + + spacing: 1 + + // DECK HEADER // + Widgets.DeckHeader { + id: deckHeader + + deckInfo: display.deckInfo + + title: deckInfo.headerEnabled ? deckInfo.headerTextShort : deckInfo.titleString + artist: deckInfo.headerEnabled ? deckInfo.headerTextLong : deckInfo.artistString + + height: display.firstRowHeight-6 + width: deckInfo.headerEnabled ? 4*(display.infoBoxesWidth/2+1)+1 : 3*(display.infoBoxesWidth/2+1)+3 + } + + // TIME DISPLAY // + Item { + id: timeBox2 + width: (display.infoBoxesWidth/2+1) + height: display.firstRowHeight-6 + + Rectangle { + anchors.fill: parent + color: trackEndBlinkTimer2.blink ? colors.colorRed : colors.colorDeckGrey + radius: display.boxesRadius + visible: !deckInfo.headerEnabled + } + + Text { + text: settings.timeBox == 0 ? deckInfo.remainingTimeString : settings.timeBox == 1 ? deckInfo.elapsedTimeString : settings.timeBox == 2 ? deckInfo.timeToCue : settings.timeBox == 3 ? deckInfo.beats : settings.timeBox == 4 ? deckInfo.beatsAlt : settings.timeBox == 5 ? deckInfo.beatsToCue : settings.timeBox == 6 ? deckInfo.beatsToCueAlt : deckInfo.remainingTimeString + font.pixelSize: 22 + font.family: "Roboto" + font.weight: Font.Medium + color: settings.timeTextColorChange && trackEndBlinkTimer2.blink ? "black" : "white" + anchors.fill: parent + horizontalAlignment: Text.AlignHCenter + verticalAlignment: Text.AlignVCenter + visible: !deckInfo.shift && !deckInfo.headerEnabled + } + + Text { + text: settings.timeBoxShift == 0 ? deckInfo.remainingTimeString : settings.timeBoxShift == 1 ? deckInfo.elapsedTimeString : settings.timeBoxShift == 2 ? deckInfo.timeToCue : settings.timeBoxShift == 3 ? deckInfo.beats : settings.timeBoxShift == 4 ? deckInfo.beatsAlt : settings.timeBoxShift == 5 ? deckInfo.beatsToCue : settings.timeBoxShift == 6 ? deckInfo.beatsToCueAlt : deckInfo.remainingTimeString + font.pixelSize: 22 + font.family: "Roboto" + font.weight: Font.Medium + color: settings.timeTextColorChange && trackEndBlinkTimer2.blink ? "black" : "white" + anchors.fill: parent + horizontalAlignment: Text.AlignHCenter + verticalAlignment: Text.AlignVCenter + visible: deckInfo.shift && !deckInfo.headerEnabled + } + + Timer { + id: trackEndBlinkTimer2 + property bool blink: false + + interval: 500 + repeat: true + running: deckInfo.trackEndWarning + + onTriggered: { + blink = !blink; + } + + onRunningChanged: { + blink = running; + } + } + } + } + + // PHASE METER // + Widgets.PhaseMeter { + id: phase + height: settings.hidePhase ? 0 : 16 + width: 317 + visible: deckInfo.isLoaded + + phase: deckInfo.phase + } + + //WAVEFORM + + property string deckSizeState: "large" + readonly property int waveformHeight: 129 + property bool isInEditMode: false + property bool showLoopSize: true + property string propertiesPath: "" + + WF.WaveformContainer { + id: waveformContainer + + deckInfo: display.deckInfo + + deckId: deckInfo.deckId + deckSizeState: content.deckSizeState + propertiesPath: content.propertiesPath + + // anchors.left: parent.left + width: 316 + // anchors.top: phase.bottom + showLoopSize: content.showLoopSize + isInEditMode: content.isInEditMode + + // the height of the waveform is defined as the remaining space of deckHeight - stripe.height - spacerWaveStripe.height + height: (settings.alwaysShowTempoInfo || deckInfo.adjustEnabled ? (settings.hideWaveformOverview ? content.waveformHeight + display.secondRowHeight-51 : content.waveformHeight-38) : (!deckInfo.showBPMInfo ? (settings.hideWaveformOverview ? content.waveformHeight + display.secondRowHeight-13 : content.waveformHeight) : (settings.hideWaveformOverview ? content.waveformHeight + display.secondRowHeight-51 : content.waveformHeight-38))) + (settings.hidePhase && settings.hidePhrase ? 16 : 0) + (!settings.hidePhase && !settings.hidePhrase ? -16 : 0) + visible: deckInfo.isLoaded && !settings.hideWaveforms + + Behavior on height { PropertyAnimation { duration: 90} } + } + } + + WF.WaveformOverview { + height: settings.hideWaveformOverview ? 0 : settings.hideWaveforms ? 150 : display.secondRowHeight-13 + width: 314 + anchors.left: parent.left + anchors.leftMargin: 6 + anchors.top: display.top + anchors.topMargin: settings.hideWaveforms ? 90 : 178 + } + + Overlays.TopControls { + id: fx1 + fxUnit: 0 + showHideState: (deckInfo.showFx1 && settings.fxOverlays && !settings.hideEffectsOverlay1) || (deckInfo.padsModeFx1 && (settings.fx1unit == 1)) || (deckInfo.padsModeFx2 && (settings.fx2unit == 1)) ? "show" : "hide" + } + + Overlays.TopControls { + id: fx2 + fxUnit: 1 + showHideState: deckInfo.showFx2 && settings.fxOverlays && !settings.hideEffectsOverlay1 || (deckInfo.padsModeFx1 && (settings.fx1unit == 2)) || (deckInfo.padsModeFx2 && (settings.fx2unit == 2)) ? "show" : "hide" + } + + Overlays.TopControls { + id: fx3 + fxUnit: 2 + showHideState: deckInfo.showFx3 && settings.fxOverlays && !settings.hideEffectsOverlay2 || (deckInfo.padsModeFx1 && (settings.fx1unit == 3)) || (deckInfo.padsModeFx2 && (settings.fx2unit == 3)) ? "show" : "hide" + } + + Overlays.QuickFXSelector { + deckInfo: display.deckInfo + } + + Overlays.TopControls { + id: fx4 + fxUnit: 3 + showHideState: (deckInfo.showFx4 && settings.fxOverlays && !settings.hideEffectsOverlay2 || (deckInfo.padsModeFx1 && (!settings.fx1unit == 4)) ||(deckInfo.padsModeFx2 && (settings.fx2unit == 4))) ? "show" : "hide" + } + + Widgets.TempoAdjust { + id: tempoInfo + deckId: deckInfo.deckId + height: 38 + y: settings.hideWaveformOverview ? 197 : 140 + visible: (deckInfo.isLoaded ? (settings.alwaysShowTempoInfo || deckInfo.adjustEnabled ? true : deckInfo.showBPMInfo) : false) && !settings.hideWaveforms + } + + Widgets.TempoAdjust { + id: tempoInfo2 + deckId: deckInfo.deckId + height: 38 + y: 50 + visible: settings.hideWaveforms + } +} diff --git a/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Waveform/StemColorIndicators.qml b/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Waveform/StemColorIndicators.qml new file mode 100755 index 000000000000..2da71cca02d2 --- /dev/null +++ b/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Waveform/StemColorIndicators.qml @@ -0,0 +1,82 @@ +import QtQuick 2.15 + +import Mixxx 1.0 as Mixxx + +import '../Defines' as Defines +import '../Defines' as Defines +import '../ViewModels' as ViewModels + +Item { + id: view + + property int deckId: 1 + + Defines.Colors {id: colors} + Defines.Settings {id: settings} + + required property var deckInfo + + readonly property int stemCount: deckInfo.stemCount + readonly property var stemColors: ["green", "blue", "red", settings.accentColor] + + property var indicatorHeight: [31 , 31 , 31 , 31] + + //-------------------------------------------------------------------------------------------------------------------- + // There is one pixel space between the color-indicator-rectangles. In this space, you can see the beatgrid/cuePoints, + // which is not what we want. Therefore I added this Rectalgles in the same color as the background. This rectangles hide + // the beatgrid/cuePoints. + Rectangle { x: 0; y: 0; width: 5; height: view.height; color: colors.colorBlack75 } + Rectangle { x: view.width - width; y: 0; width: 5; height: view.height; color: colors.colorBlack75 } + + //-------------------------------------------------------------------------------------------------------------------- + + readonly property var deckPlayer: Mixxx.PlayerManager.getPlayer(`[Channel${deckId}]`) + readonly property var currentPlayer: deckPlayer.currentPlayer + + function indicatorY(index) { + var y = 0; + for (var i=0; i 1 ? 2 : 1) + // width: view.width + // height: 31 + // clip: true + + // deckId: view.deckId + // streamId: index + 1 + // sampleWidth: view.sampleWidth + // waveformPosition: view.waveformPosition + // waveformColors: colors.getWaveformColors(colorIds[index]) + // } + // } +} diff --git a/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Waveform/WaveformContainer.qml b/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Waveform/WaveformContainer.qml index 92a9e7424451..a08c7c66b81d 100755 --- a/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Waveform/WaveformContainer.qml +++ b/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Waveform/WaveformContainer.qml @@ -72,8 +72,7 @@ Item { group: `[Channel${view.deckId}]` x: 0 width: 316 - // height: (settings.alwaysShowTempoInfo || deckInfo.adjustEnabled ? (settings.hideStripe ? content.waveformHeight + display.secondRowHeight-51 : content.waveformHeight-38) : (!deckInfo.showBPMInfo ? (settings.hideStripe ? content.waveformHeight + display.secondRowHeight-13 : content.waveformHeight) : (settings.hideStripe ? content.waveformHeight + display.secondRowHeight-51 : content.waveformHeight-38))) + (settings.hidePhase && settings.hidePhrase ? 16 : 0) + (!settings.hidePhase && !settings.hidePhrase ? -16 : 0) - height: view.height + height: (settings.alwaysShowTempoInfo || deckInfo.adjustEnabled ? (settings.hideWaveformOverview ? content.waveformHeight + display.secondRowHeight-51 : content.waveformHeight-38) : (!deckInfo.showBPMInfo ? (settings.hideWaveformOverview ? content.waveformHeight + display.secondRowHeight-13 : content.waveformHeight) : (settings.hideWaveformOverview ? content.waveformHeight + display.secondRowHeight-51 : content.waveformHeight-38))) + (settings.hidePhase && settings.hidePhrase ? 16 : 0) + (!settings.hidePhase && !settings.hidePhrase ? -16 : 0) Behavior on height { PropertyAnimation { duration: 90} } anchors.fill: parent @@ -82,6 +81,7 @@ Item { Mixxx.WaveformRendererEndOfTrack { color: 'blue' + endOfTrackWarningTime: 30 } Mixxx.WaveformRendererPreroll { @@ -124,12 +124,19 @@ Item { lowColor: 'red' midColor: 'green' highColor: 'blue' + + gainAll: 1.5 + gainLow: 1.0 + gainMid: 1.0 + gainHigh: 1.0 } - Mixxx.WaveformRendererStem { } + Mixxx.WaveformRendererStem { + gainAll: 1.5 + } Mixxx.WaveformRendererBeat { - color: '#cfcfcf' + color: settings.hideBeatgrid ? 'transparent' : Qt.rgba(0.81, 0.81, 0.81, settings.beatgridVisibility) } Mixxx.WaveformRendererMark { @@ -142,10 +149,10 @@ Item { text: " %1 " } - untilMark.showTime: true - untilMark.showBeats: true - untilMark.align: Qt.AlignBottom - untilMark.textSize: 14 + untilMark.showTime: settings.showTimeToCue + untilMark.showBeats: settings.showBeatToCue + untilMark.align: settings.distanceToCueAlignment == "bottom" ? Qt.AlignBottom : settings.distanceToCueAlignment == "top" ? Qt.AlignTop : Qt.AlignCenter + untilMark.textSize: settings.distanceToCueFontSize Mixxx.WaveformMark { control: "cue_point" diff --git a/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Waveform/WaveformOverview.qml b/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Waveform/WaveformOverview.qml new file mode 100644 index 000000000000..7f48abeafb98 --- /dev/null +++ b/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Waveform/WaveformOverview.qml @@ -0,0 +1,228 @@ +import QtQuick 2.15 +import QtQuick.Window 2.15 + +import "." as Skin +import Mixxx 1.0 as Mixxx + +Item { + id: waveform + + property int deckId: deckInfo.deckId + + readonly property string group: `[Channel${deckId}]` + + layer.enabled: true + + Item { + id: progression + + property real windowWidth: Window.width + Mixxx.ControlProxy { + id: propPosition + group: waveform.group + key: "playposition" + } + + Mixxx.ControlProxy { + id: propVisible + group: waveform.group + key: "track_loaded" + } + + width: propPosition.value * (320 - 12) + visible: propVisible.value + + anchors.top: parent.top + anchors.left: parent.left + anchors.bottom: parent.bottom + + clip: true + + Rectangle { + anchors.fill: parent + anchors.leftMargin: -border.width + anchors.topMargin: -border.width + anchors.bottomMargin: -border.width + border.width: 2 + border.color:"black" + color: Qt.rgba(0.39, 0.80, 0.96, 0.3) + } + } + + Mixxx.WaveformOverview { + readonly property var player: Mixxx.PlayerManager.getPlayer(waveform.group) + id: waveformOverview + anchors.fill: parent + anchors.topMargin: 6 + + track: player.currentTrack + } + + Mixxx.ControlProxy { + id: samplesControl + + group: waveform.group + key: "track_samples" + } + + // // Hotcue + // Repeater { + // model: 16 + + // S4MK3.HotcuePoint { + // required property int index + + // Mixxx.ControlProxy { + // id: samplesControl + + // group: waveform.group + // key: "track_samples" + + // onValueChanged: (value) => { + // redraw(waveform) + // } + // } + + // Mixxx.ControlProxy { + // id: hotcueEnabled + // group: waveform.group + // key: `hotcue_${index + 1}_status` + + // onValueChanged: (value) => { + // redraw(waveform) + // } + // } + + // Mixxx.ControlProxy { + // id: hotcuePosition + // group: waveform.group + // key: `hotcue_${index + 1}_position` + + // onValueChanged: (value) => { + // redraw(waveform) + // } + // } + + // Mixxx.ControlProxy { + // id: hotcueColor + // group: waveform.group + // key: `hotcue_${number}_color` + // onValueChanged: (value) => { + // redraw(waveform) + // } + // } + + // anchors.top: parent.top + // // anchors.left: parent.left + // anchors.bottom: parent.bottom + // visible: hotcueEnabled.value + + // number: this.index + 1 + // type: S4MK3.HotcuePoint.Type.OneShot + // position: hotcuePosition.value / samplesControl.value + // color: `#${(hotcueColor.value >> 16).toString(16).padStart(2, '0')}${((hotcueColor.value >> 8) & 255).toString(16).padStart(2, '0')}${(hotcueColor.value & 255).toString(16).padStart(2, '0')}` + // } + // } + + // // Intro + // S4MK3.HotcuePoint { + + // Mixxx.ControlProxy { + // id: introStartEnabled + // group: waveform.group + // key: `intro_start_enabled` + + // onValueChanged: (value) => { + // redraw(waveform) + // } + // } + + // Mixxx.ControlProxy { + // id: introStartPosition + // group: waveform.group + // key: `intro_start_position` + + // onValueChanged: (value) => { + // redraw(waveform) + // } + // } + + // anchors.top: parent.top + // anchors.bottom: parent.bottom + // visible: introStartEnabled.value + + // type: S4MK3.HotcuePoint.Type.IntroIn + // position: introStartPosition.value / samplesControl.value + // } + + // // Extro + // S4MK3.HotcuePoint { + + // Mixxx.ControlProxy { + // id: introEndEnabled + // group: waveform.group + // key: `intro_end_enabled` + + // onValueChanged: (value) => { + // redraw(waveform) + // } + // } + + // Mixxx.ControlProxy { + // id: introEndPosition + // group: waveform.group + // key: `intro_end_position` + + // onValueChanged: (value) => { + // redraw(waveform) + // } + // } + + // anchors.top: parent.top + // anchors.bottom: parent.bottom + // visible: introEndEnabled.value + + // type: S4MK3.HotcuePoint.Type.IntroOut + // position: introEndPosition.value / samplesControl.value + // } + + // // Loop in + // S4MK3.HotcuePoint { + // Mixxx.ControlProxy { + // id: loopStartPosition + // group: waveform.group + // key: `loop_start_position` + + // onValueChanged: (value) => { + // redraw(waveform) + // } + // } + + // anchors.top: parent.top + // anchors.bottom: parent.bottom + // visible: loopStartPosition.value > 0 + + // type: S4MK3.HotcuePoint.Type.LoopIn + // position: loopStartPosition.value / samplesControl.value + // } + + // // Loop out + // S4MK3.HotcuePoint { + // Mixxx.ControlProxy { + // id: loopEndPosition + // group: waveform.group + // key: `loop_end_position` + + // onValueChanged: (value) => { + // redraw(waveform) + // } + // } + + // anchors.top: parent.top + // anchors.bottom: parent.bottom + // visible: loopEndPosition.value > 0 + + // type: S4MK3.HotcuePoint.Type.LoopOut + // position: loopEndPosition.value / samplesControl.value + // } +} diff --git a/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Widgets/BpmDisplay.qml b/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Widgets/BpmDisplay.qml new file mode 100755 index 000000000000..8ab0a41e58bb --- /dev/null +++ b/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Widgets/BpmDisplay.qml @@ -0,0 +1,27 @@ +import QtQuick 2.15 + +Item { + anchors.fill: parent + property int deckId: 0 + + Rectangle { + id: bpmBackground + width: 60 + height: 20 + color: colors.grayBackground + anchors.right: parent.right + anchors.bottom: parent.bottom + } + + Text { + text: deckInfo.bpmString + color: "white" + font.pixelSize: 17 + font.family: "Pragmatica" + anchors.fill: bpmBackground + anchors.rightMargin: 2 + anchors.topMargin: 1 + horizontalAlignment: Text.AlignHCenter + verticalAlignment: Text.AlignVCenter + } +} diff --git a/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Widgets/DeckHeader.qml b/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Widgets/DeckHeader.qml new file mode 100755 index 000000000000..34c61544f924 --- /dev/null +++ b/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Widgets/DeckHeader.qml @@ -0,0 +1,90 @@ +import QtQuick 2.5 +import '../Defines' as Defines +import '../Defines' as Defines + +//here we assume that `colors` and `dimensions` already exists in the object hierarchy +Item { + id: widget + + property string title: '' + property string artist: '' + property color backgroundColor: colors.defaultBackground + height: dimensions.firstRowHeight + property int radius: dimensions.cornerRadius + + Defines.Settings {id: settings} + Defines.Colors {id: colors} + + required property var deckInfo + + property int deckA: deckInfo.deckAColor + property int deckB: deckInfo.deckBColor + property int deckC: deckInfo.deckCColor + property int deckD: deckInfo.deckDColor + + function colorForDeck(deckId,deckA,deckB,deckC,deckD) { + switch (deckId) { + case 1: return colorForDeckSingle(deckA); + case 2: return colorForDeckSingle(deckB); + case 3: return colorForDeckSingle(deckC); + default: return colorForDeckSingle(deckD); + } + } + + function colorForDeckSingle(deck) { + switch (deck) { + case 0: return colors.red; + case 1: return colors.darkOrange; + case 2: return colors.lightOrange; + case 3: return colors.warmYellow; + case 4: return colors.yellow; + case 5: return colors.lime; + case 6: return colors.green; + case 7: return colors.mint; + case 8: return colors.cyan; + case 9: return colors.turquoise; + case 10: return colors.blue; + case 11: return colors.plum; + case 12: return colors.violet; + case 13: return colors.purple; + case 14: return colors.magenta; + case 15: return colors.fuchsia; + default: return colors.white; + } + } + + Rectangle { + id: headerBg + color: colorForDeck(deckInfo.deckId,deckA,deckB,deckC,deckD) + anchors.fill: parent + radius: widget.radius + + Text { + anchors.fill: parent + anchors.leftMargin: 4 + anchors.rightMargin: 2 + anchors.topMargin: 2 + font.family: "Roboto" + font.weight: Font.Normal + font.pixelSize: 20 + color: "black" + text: widget.title + elide: Text.ElideRight + visible: deckInfo.shift ? false : true + } + + Text { + anchors.fill: parent + anchors.leftMargin: 4 + anchors.rightMargin: 2 + anchors.topMargin: 2 + font.family: "Roboto" + font.weight: Font.Normal + font.pixelSize: 20 + color: "black" + text: widget.artist + elide: Text.ElideRight + visible: deckInfo.shift ? true : false + } + } +} diff --git a/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Widgets/KeyDisplay.qml b/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Widgets/KeyDisplay.qml new file mode 100755 index 000000000000..fd3f3ac53fd0 --- /dev/null +++ b/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Widgets/KeyDisplay.qml @@ -0,0 +1,46 @@ +import '../Defines' as Defines + +import QtQuick 2.15 + +Item { + anchors.fill: parent + + Defines.Colors { + id: colors + } + + property int deckId: 0 + + Rectangle { + id: keyBackground + width: 60 + height: 20 + color: deckInfo.isKeyLockOn ? colors.musicalKeyColors[deckInfo.keyIndex] : colors.musicalKeyColorsDark[deckInfo.keyIndex] + anchors.right: parent.right + anchors.top: parent.top + Rectangle { + id: keyBorder + anchors.horizontalCenter: parent.horizontalCenter + anchors.verticalCenter: parent.verticalCenter + width: keyBackground.width -2 + height: keyBackground.height -2 + color: "transparent" + border.color: colors.defaultBackground + border.width: 2 + } + } + + Text { + text: deckInfo.hasKey && (deckInfo.keyAdjustString != "-0") && (deckInfo.keyAdjustString != "+0") ? (settings.camelotKey ? utils.camelotConvert(deckInfo.keyString) : deckInfo.keyString) + deckInfo.keyAdjustString + : deckInfo.hasKey ? (settings.camelotKey ? utils.camelotConvert(deckInfo.keyString) : deckInfo.keyString) + : "No key" + color: deckInfo.isKeyLockOn ? "black" : "white" + font.pixelSize: 15 + font.family: "Pragmatica" + anchors.fill: keyBackground + anchors.rightMargin: 2 + anchors.topMargin: 1 + horizontalAlignment: Text.AlignHCenter + verticalAlignment: Text.AlignVCenter + } +} diff --git a/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Widgets/LoopSize.qml b/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Widgets/LoopSize.qml new file mode 100755 index 000000000000..454fc3d3c5d8 --- /dev/null +++ b/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Widgets/LoopSize.qml @@ -0,0 +1,87 @@ +import QtQuick 2.15 + +import Mixxx 1.0 as Mixxx + +import '../Defines' as Defines + +Item { + anchors.fill: parent + + Defines.Colors {id: colors} + Defines.Durations { id: durations } + + Mixxx.ControlProxy { + group: `[Channel${parent.deckId}]` + key: "beatloop_size" + id: loopSize + property string description: "Description" + } + + property int deckId: 0 + + property color loopActiveColor: colors.cueColors[settings.cueLoopColor] + property color loopDimmedColor: colors.cueColorsDark[settings.cueLoopColor] + + Rectangle { + id: loopSizeBackground + width: 40 + height: width + radius: width * 0.5 + opacity: loopActiveBlinkTimer.blink ? 0.25 : 1 + color: deckInfo.loopActive ? (loopActiveBlinkTimer.blink ? loopActiveColor : (settings.loopActiveRedFlash ? colors.colorRed : loopDimmedColor)) + : deckInfo.loopActive ? (deckInfo.shift ? loopDimmedColor : loopActiveColor) + : deckInfo.shift ? colors.colorDeckDarkGrey : colors.colorDeckGrey + Behavior on opacity { NumberAnimation { duration: durations.mainTransitionSpeed; easing.type: Easing.Linear} } + anchors.horizontalCenter: parent.horizontalCenter + anchors.bottom: parent.bottom + Rectangle { + id: loopLengthBorder + anchors.horizontalCenter: parent.horizontalCenter + anchors.verticalCenter: parent.verticalCenter + width: loopSizeBackground.width -2 + height: width + radius: width * 0.5 + color: "transparent" + border.color: loopActiveColor + border.width: 2 + } + } + + Text { + text: loopSize.value < 1/8 ? `/${1 / loopSize.value}` : loopSize.value < 1 ? `1/${1 / loopSize.value}` : `${loopSize.value}` + color: deckInfo.loopActive ? "black" : ( deckInfo.shift ? colors.colorDeckGrey : colors.defaultTextColor ) + font.pixelSize: fonts.extraLargeValueFontSize + font.family: "Pragmatica" + anchors.fill: loopSizeBackground + anchors.rightMargin: 2 + anchors.topMargin: 1 + horizontalAlignment: Text.AlignHCenter + verticalAlignment: Text.AlignVCenter + onTextChanged: { + if (loopSize.value < 1) { + font.pixelSize = 18 + } else if ( loopSize.value > 8 ) { + font.pixelSize = 24 + } else { + font.pixelSize = 25 + } + } + } + + Timer { + id: loopActiveBlinkTimer + property bool blink: false + + interval: 333 + repeat: true + running: deckInfo.loopActive + + onTriggered: { + blink = !blink; + } + + onRunningChanged: { + blink = running; + } + } +} diff --git a/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Widgets/PhaseMeter.qml b/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Widgets/PhaseMeter.qml new file mode 100755 index 000000000000..236d691fdab0 --- /dev/null +++ b/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Widgets/PhaseMeter.qml @@ -0,0 +1,94 @@ +import QtQuick 2.5 +import '../Defines' as Defines + +Item { + id: widget + + height: 16 + + function colorForPhase(phase) { + switch (phase) { + case 0: return colors.red; + case 1: return colors.darkOrange; + case 2: return colors.lightOrange; + case 3: return colors.phaseColor; + case 4: return colors.yellow; + case 5: return colors.lime; + case 6: return colors.green; + case 7: return colors.mint; + case 8: return colors.cyan; + case 9: return colors.turquoise; + case 10: return colors.blue; + case 11: return colors.plum; + case 12: return colors.violet; + case 13: return colors.purple; + case 14: return colors.magenta; + case 15: return colors.fuchsia; + case 16: return colors.colorWhite; + } + return colors.lightOrange; + } + + property real phase: 0.0 + + Defines.Settings {id: settings} + property int phaseAColor: settings.phaseAColor + property int phaseBColor: settings.phaseBColor + property int phaseCColor: settings.phaseCColor + property int phaseDColor: settings.phaseDColor + property int deckId: deckInfo.deckId + + property color phaseColor: colorForPhase(deckId == 1 ? phaseAColor : deckId == 2 ? phaseBColor : deckId == 3 ? phaseCColor : phaseDColor) + property color phaseHeadColor: "#FCB262" + property color separatorColor: "#88ffffff" + property color backgroundColor: colors.grayBackground + property real phasePosition: parent.width * (0.5 + widget.phase) + property real phaseBarWidth: parent.width * Math.abs(widget.phase) + + // Background + Rectangle { + anchors.fill: parent + color: widget.backgroundColor + } + + // Phase Bar + Rectangle { + color: widget.phaseColor + height: parent.height + width: phaseBarWidth + x: widget.phase < 0 ? widget.phasePosition : (parent.width/2) + } + + // Phase Head + Rectangle { + color: widget.phaseHeadColor + height: parent.height + width: 1 + x: widget.phase < 0 ? widget.phasePosition : (widget.phasePosition - width) + visible: Math.round(phaseBarWidth) !== 0 // hide phase head when phase is 0 + } + + // Separator at 0.25 + Rectangle { + color: widget.separatorColor + height: parent.height + width: 1 + x: parent.width * 0.25 - 1 + } + + // center Separator + Rectangle { + color: widget.separatorColor + height: parent.height + width: 1 + x: parent.width * 0.50 - 1 + } + + // Separator at 0.75 + Rectangle { + color: widget.separatorColor + height: parent.height + width: 1 + x: parent.width * 0.75 - 1 + } +} diff --git a/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Widgets/ProgressBar.qml b/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Widgets/ProgressBar.qml new file mode 100755 index 000000000000..6c8c25dcd4cd --- /dev/null +++ b/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Widgets/ProgressBar.qml @@ -0,0 +1,60 @@ +import QtQuick 2.15 + +import '../Defines' as Defines + +Item { + + id: progressBarContainer + + Defines.Colors { id: colors} + Defines.Settings { id: settings} + + property color progressBarColorIndicatorLevel: settings.accentColor // set from outside + property real value: 0.0 + property bool drawAsEnabled: true + + property alias progressBarWidth: progressBar.width + property alias progressBarHeight: progressBarContainer.height + property alias progressBarBackgroundColor: progressBar.color // set from outside + + onValueChanged: { + var val = Math.max( Math.min(value, 1.0), 0.0) + valueIndicator.width = val * (progressBar.width - 3) + } + + height: 6 + width: 80 + + // Progress Background + Rectangle { + id: progressBar + + anchors.left: parent.left + anchors.top: parent.top + height: parent.height + width: 102 // default value - set from outside + + color: colors.colorWhite09 // set in BottomInfoDetails + + // Progress Level + Rectangle { + id: valueIndicator + width: 0 // set in parent + anchors.top: parent.top + anchors.bottom: parent.bottom + anchors.left: parent.left + color: progressBarContainer.progressBarColorIndicatorLevel + visible: drawAsEnabled ? true : false + } + // Progress Indicator Thumb + Rectangle { + id: indicatorThumb + color: colors.colorWhite + width: 2 + height: parent.height + anchors.verticalCenter: parent.verticalCenter + anchors.left: valueIndicator.right + visible: drawAsEnabled ? true : false + } + } +} diff --git a/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Widgets/Slider.qml b/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Widgets/Slider.qml new file mode 100755 index 000000000000..23206eeb43cd --- /dev/null +++ b/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Widgets/Slider.qml @@ -0,0 +1,111 @@ +import QtQuick 2.5 + +Item { + id: item + property color backgroundColor: "grey" + property color sliderColor: "red" + property color cursorColor: "white" + property color centerColor: "black" + + property real min: 0 + property real max: 1 + property real value: 0.5 + property real radius: 0 + property real cursorWidth: 5 + property bool centered: false + + Item { + id: toBeMasked_noCenter + anchors.fill: parent + + property real cursorPosition: (parent.width - item.cursorWidth) * ( item.value / (item.max-item.min) ) + + //background + Rectangle { + anchors.fill: parent + color: item.backgroundColor + } + + //colored part of the slider + Rectangle { + anchors.top: parent.top + anchors.left: parent.left + width: toBeMasked_noCenter.cursorPosition + height: parent.height + + color: item.sliderColor + } + + //cursor + Rectangle { + anchors.top: parent.top + anchors.left: parent.left + anchors.leftMargin: toBeMasked_noCenter.cursorPosition + width: item.cursorWidth + height: parent.height + color: item.cursorColor + } + + visible: false + } + + Item { + id: toBeMasked_centered + anchors.fill: parent + property real x0: (parent.width - item.cursorWidth)/2 + property real cursorPosition_left: Math.min( toBeMasked_noCenter.cursorPosition, x0) + property real cursorPosition_right: Math.max( toBeMasked_noCenter.cursorPosition, x0) + + //cursor background + Rectangle { + id: background + anchors.fill: parent + color: item.backgroundColor + } + + //filled slider + Rectangle { + anchors.top: parent.top + anchors.left: parent.left + anchors.leftMargin: toBeMasked_centered.cursorPosition_left + width: toBeMasked_centered.cursorPosition_right - toBeMasked_centered.cursorPosition_left + height: parent.height + color: item.sliderColor + } + + //center + Rectangle { + anchors.top: parent.top + anchors.left: parent.left + anchors.leftMargin: toBeMasked_centered.x0 + width: item.cursorWidth + height: parent.height + color: item.centerColor + } + + //cursor + Rectangle { + anchors.top: parent.top + anchors.left: parent.left + anchors.leftMargin: toBeMasked_noCenter.cursorPosition + width: item.cursorWidth + height: parent.height + color: item.cursorColor + } + + visible: false + } + + Rectangle { + id: mask_noCenter + anchors.fill: parent + radius: item.radius + visible: false + } + + // OpacityMask { + // anchors.fill: parent + // maskSource: mask_noCenter + // source: item.centered ? toBeMasked_centered : toBeMasked_noCenter + // } +} diff --git a/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Widgets/StateBar.qml b/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Widgets/StateBar.qml new file mode 100755 index 000000000000..226c7cf1036f --- /dev/null +++ b/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Widgets/StateBar.qml @@ -0,0 +1,34 @@ +import QtQuick 2.15 + +import '../Defines' as Defines + +// StateBar fits 'state count' elements into a bar of a given width and spacing. Take care that 'width > stateCount*spacing' +Item { + id: stateBarContainer + + property int spacing: 2 // default value. set from outside + property int stateCount: 5 // default value. set from outside + property int currentState: 2 // default value. set from outside + property color barColor: colors.colorIndicatorLevelOrange // default value. set from outside + property color barBgColor: colors.colorGrey24 // default value. set from outside + + property alias stateBarHeight: stateBarContainer.height + readonly property real stateBarWidth: width/stateCount - spacing + + Defines.Colors { id: colors} + + Row { + id: boxRow + anchors.fill: parent + anchors.leftMargin: 0.5*stateBarContainer.spacing + spacing: stateBarContainer.spacing + Repeater { + model: stateCount + Rectangle { + width: stateBarWidth + height: stateBarHeight + color: (index == currentState) ? barColor : barBgColor + } + } + } +} diff --git a/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Widgets/StemOverlay.qml b/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Widgets/StemOverlay.qml new file mode 100755 index 000000000000..37c8497e06e1 --- /dev/null +++ b/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Widgets/StemOverlay.qml @@ -0,0 +1,257 @@ +import QtQuick 2.15 +import QtQuick.Layouts 1.1 +import '../Views' + +import '../Defines' as Defines + +//---------------------------------------------------------------------------------------------------------------------- +// Remix Deck Overlay - for sample volume and filter value editing +//---------------------------------------------------------------------------------------------------------------------- + +Item { + id: display + + required property var deckInfo + + Dimensions {id: dimensions} + Defines.Colors { id: colors } + Defines.Durations { id: durations } + Defines.Settings {id: settings} + + // MODEL PROPERTIES // + property string showHideState: "hide" + property int bottomMargin: 0 + property int yPositionWhenHidden: 240 + property int yPositionWhenShown: (195 - bottomMargin) + + readonly property string name: display.deckInfo.stemSelectedName + + state: display.deckInfo.stemSelected ? "show" : "hide" + height: 40 + anchors.left: parent.left + anchors.right: parent.right + + // dark grey background + Rectangle { + id: bottomInfoDetailsPanelDarkBg + anchors { + top: parent.top + left: parent.left + right: parent.right + } + height: display.height + color: colors.colorFxHeaderBg + // light grey background + Rectangle { + id:bottomInfoDetailsPanelLightBg + anchors { + top: parent.top + left: parent.left + } + height: display.height + width: 105 + color: colors.colorFxHeaderLightBg + } + } + +// // dividers + Rectangle { + id: fxInfoDivider0 + width:1; + height:63; + color: colors.colorDivider + anchors.top: parent.top + anchors.left: parent.left + anchors.leftMargin: 105 + } + + Rectangle { + id: fxInfoDivider2 + width:1; + color: colors.colorDivider + anchors.top: parent.top + anchors.left: parent.left + anchors.leftMargin: 195 + height: display.height + } + + // Info Details + Rectangle { + id: bottomInfoDetailsPanel + + height: parent.height + clip: true + width: parent.width + color: "transparent" + + anchors.left: parent.left + anchors.leftMargin: 1 + + Row { + Item { + id: stemInfoDetailsPanel + + height: display.height + width: 110 + + // name + Text { + id: stemInfoName + font.capitalization: Font.AllUppercase + text: "NAME" + color: settings.accentColor + anchors.top: parent.top + anchors.left: parent.left + anchors.right: parent.right + anchors.topMargin: 2 + font.pixelSize: fonts.scale(13.5) + anchors.leftMargin: 4 + elide: Text.ElideRight + } + + // value + Text { + id: nameValue + font.capitalization: Font.AllUppercase + text: name + color: display.deckInfo.stemSelectedMidColor + anchors.bottom: parent.bottom + anchors.bottomMargin: 1 + anchors.left: parent.left + anchors.right: parent.right + font.pixelSize: fonts.scale(18) + anchors.leftMargin: 4 + elide: Text.ElideRight + } + } + + Item { + id: volumeInfoDetailsPanel + + height: display.height + width: 85 + + // volume + Text { + id: volumeInfoName + font.capitalization: Font.AllUppercase + text: "VOLUME" + color: !display.deckInfo.stemSelectedMuted ? settings.accentColor : "grey" + anchors.top: parent.top + anchors.left: parent.left + anchors.right: parent.right + anchors.topMargin: 2 + font.pixelSize: fonts.scale(13.5) + anchors.leftMargin: 4 + elide: Text.ElideRight + } + + // value + ProgressBar { + id: volume + progressBarHeight: 9 + progressBarWidth: 76 + anchors.left: parent.left + anchors.bottom: parent.bottom + anchors.bottomMargin: 3 + + anchors.leftMargin: 5 + anchors.rightMargin: 20 + + value: display.deckInfo.stemSelectedVolume + + drawAsEnabled: true + progressBarColorIndicatorLevel: display.deckInfo.stemSelectedMuted ? "grey" : settings.accentColor + progressBarBackgroundColor: "black" + } + } + + Item { + id: fxInfoDetailsPanel + + height: display.height + width: 125 + + // fx name + Text { + id: fxInfoSampleName + + font.capitalization: Font.AllUppercase + text: display.deckInfo.stemSelectedQuickFXName + color: display.deckInfo.stemSelectedQuickFXOn ? settings.accentColor : "grey" + anchors.top: parent.top + anchors.left: parent.left + anchors.right: parent.right + anchors.topMargin: 2 + font.pixelSize: fonts.scale(13.5) + anchors.leftMargin: 4 + elide: Text.ElideRight + } + + // value + ProgressBar { + id: quickfx + progressBarHeight: 9 + progressBarWidth: 115 + anchors.left: parent.left + anchors.bottom: parent.bottom + anchors.rightMargin: 20 + anchors.bottomMargin: 3 + anchors.leftMargin: 5 + + value: display.deckInfo.stemSelectedQuickFXValue + visible: fxInfoSampleName.text !== "---" + + drawAsEnabled: true + progressBarColorIndicatorLevel: display.deckInfo.stemSelectedQuickFXOn ? settings.accentColor : "grey" + progressBarBackgroundColor: "black" + } + } + + // StemInfoDetails { + // id: bottomInfoDetails3 + // finalValue: (type == 0 ? "Cue" : type == 1 ? "Fade-In" : type == 2 ? "Fade-Out" : type == 3 ? "Load" : type == 4 ? "Grid" : type == 5 ? "Loop" : "-") + // finalLabel: "TYPE" + // width: 50 + // } + } + } + + // black border & shadow + Rectangle { + id: headerBlackLine + anchors.top: display.bottom + width: parent.width + color: colors.colorBlack + height: 2 + } + Rectangle { + id: headerShadow + anchors.left: parent.left + anchors.right: parent.right + anchors.top: headerBlackLine.bottom + height: 6 + gradient: Gradient { + GradientStop { position: 1.0; color: colors.colorBlack0 } + GradientStop { position: 0.0; color: colors.colorBlack63 } + } + visible: false + } + + //------------------------------------------------------------------------------------------------------------------ + // STATES + //------------------------------------------------------------------------------------------------------------------ + + Behavior on y { PropertyAnimation { duration: durations.mainTransitionSpeed; easing.type: Easing.InOutQuad } } + + states: [ + State { + name: "show"; + PropertyChanges { target: display; y: yPositionWhenShown} + }, + State { + name: "hide"; + PropertyChanges { target: display; y: yPositionWhenHidden} + } + ] +} diff --git a/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Widgets/TempoAdjust.qml b/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Widgets/TempoAdjust.qml new file mode 100755 index 000000000000..2fd23c0b29cf --- /dev/null +++ b/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Widgets/TempoAdjust.qml @@ -0,0 +1,184 @@ +import QtQuick 2.15 + +import '../Defines' as Defines + +Item { + id: tempoAdjust + Defines.Margins {id: customMargins } + Defines.Settings {id: settings} + + readonly property bool shift: deckInfo.shift + + property int deckId: 0 + + function getHeader(headerID) { + switch(headerID) { + case 0: + return ""; + case 1: + return "Master BPM"; + case 2: + return "BPM"; + case 3: + return "Tempo"; + case 4: + return "BPM Offset"; + case 5: + return "Tempo Offset"; + case 6: + return "Master Deck"; + case 7: + return "Tempo Range"; + case 8: + return "Key"; + case 9: + return "Original BPM"; + } + } + + function getValue(valueID) { + switch(valueID) { + case 0: + return ""; + case 1: + return deckInfo.masterBPMShort; + case 2: + return deckInfo.bpmString; + case 3: + return deckInfo.tempoStringPer; + case 4: + return (deckInfo.masterDeck == tempoAdjust.deckId) ? "0.00" : deckInfo.bpmOffset; + case 5: + return (deckInfo.masterDeck == tempoAdjust.deckId) ? "0.00%" : deckInfo.tempoNeededString; + case 6: + return deckInfo.masterDeckLetter + case 7: + return deckInfo.tempoRange + case 8: + return deckInfo.hasKey && (deckInfo.keyAdjustString != "-0") && (deckInfo.keyAdjustString != "+0") ? (settings.camelotKey ? utils.camelotConvert(deckInfo.keyString) : deckInfo.keyString) + deckInfo.keyAdjustString : deckInfo.hasKey ? (settings.camelotKey ? utils.camelotConvert(deckInfo.keyString) : deckInfo.keyString) : "No key"; + case 9: + return deckInfo.songBPM + } + } + + function getColor(valueID) { + switch(valueID) { + case 0: + return "white"; + case 1: + return settings.enableMasterBpmTextColor ? ((deckInfo.masterDeck == deckInfo.deckId) ? colors.loopActiveColor : colors.lightOrange) : "white"; + case 2: + return settings.enableBpmTextColor ? ((deckInfo.masterDeck == tempoAdjust.deckId) || ((deckInfo.bpmOffset <= 0.05) && (deckInfo.bpmOffset >= - 0.05)) ? colors.loopActiveColor : colors.lightOrange) : "white"; + case 3: + return settings.enableTempoTextColor ? ((deckInfo.tempoString <= 0.05) && (deckInfo.tempoString >= - 0.05) ? colors.loopActiveColor : colors.lightOrange) : "white"; + case 4: + return settings.enableBpmOffsetTextColor ? ((deckInfo.masterDeck == tempoAdjust.deckId) || ((deckInfo.bpmOffset <= 0.05) && (deckInfo.bpmOffset >= - 0.05)) ? colors.loopActiveColor : colors.lightOrange) : "white"; + case 5: + return settings.enableTempoOffsetTextColor ? ((deckInfo.masterDeck == tempoAdjust.deckId) || ((deckInfo.tempoNeededVal <= 0.05) && (deckInfo.tempoNeededVal >= - 0.05)) ? colors.loopActiveColor : colors.lightOrange) : "white"; + case 6: + return settings.enableMasterDeckTextColor ? ((deckInfo.masterDeck == deckInfo.deckId) ? colors.loopActiveColor : colors.lightOrange) : "white"; + case 7: + return "white" + case 8: + return deckInfo.isKeyLockOn ? colors.musicalKeyColors[deckInfo.keyIndex] : "white" + case 9: + return "white" + } + } + + Rectangle { + id: tempoBackground + width: 320 + height: 38 + + color: colors.grayBackground + // headline + Text { + anchors.top: tempoBackground.top + anchors.topMargin: 0 + anchors.left: tempoBackground.left + anchors.leftMargin: 3 + font.pixelSize: 15 + color: settings.accentColor + text: shift ? getHeader(settings.tempoDisplayLeftShift) : getHeader(settings.tempoDisplayLeft) + } + + // value + Text { + anchors.bottom: tempoBackground.bottom + anchors.bottomMargin: 0 + anchors.left: tempoBackground.left + anchors.leftMargin: 3 + font.pixelSize: 20 + font.family: "Pragmatica" + color: shift ? getColor(settings.tempoDisplayLeftShift) : getColor(settings.tempoDisplayLeft) + text: shift ? getValue(settings.tempoDisplayLeftShift) : getValue(settings.tempoDisplayLeft) + } + + // headline + Text { + anchors.top: tempoBackground.top + anchors.topMargin: 0 + anchors.left: tempoBackground.left + anchors.leftMargin: 100 + font.pixelSize: 15 + color: settings.accentColor + text: shift ? getHeader(settings.tempoDisplayCenterShift) : getHeader(settings.tempoDisplayCenter) + } + + // value + Text { + + anchors.bottom: tempoBackground.bottom + anchors.bottomMargin: 0 + anchors.left: tempoBackground.left + anchors.leftMargin: 100 + font.pixelSize: 20 + font.family: "Pragmatica" + color: shift ? getColor(settings.tempoDisplayCenterShift) : getColor(settings.tempoDisplayCenter) + text: shift ? getValue(settings.tempoDisplayCenterShift) : getValue(settings.tempoDisplayCenter) + } + + // headline + Text { + anchors.top: tempoBackground.top + anchors.topMargin: 0 + anchors.left: tempoBackground.left + anchors.leftMargin: 216 + font.pixelSize: 15 + color: settings.accentColor + text: shift ? getHeader(settings.tempoDisplayRightShift) : getHeader(settings.tempoDisplayRight) + } + + // value + Text { + + anchors.bottom: tempoBackground.bottom + anchors.bottomMargin: 0 + anchors.left: tempoBackground.left + anchors.leftMargin: 216 + font.pixelSize: 20 + font.family: "Pragmatica" + color: shift ? getColor(settings.tempoDisplayRightShift) : getColor(settings.tempoDisplayRight) + text: shift ? getValue(settings.tempoDisplayRightShift) : getValue(settings.tempoDisplayRight) + } + } + + Rectangle { + width: 1 + height: 38 + color: "#88ffffff" + anchors.top: tempoBackground.top + anchors.left: tempoBackground.left + anchors.leftMargin: 97 + } + + Rectangle { + width: 1 + height: 38 + color: "#88ffffff" + anchors.top: tempoBackground.top + anchors.left: tempoBackground.left + anchors.leftMargin: 213 + } +} diff --git a/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Widgets/TrackRating.qml b/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Widgets/TrackRating.qml new file mode 100755 index 000000000000..b3857271a216 --- /dev/null +++ b/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/AdvancedScreen/Widgets/TrackRating.qml @@ -0,0 +1,42 @@ +import QtQuick 2.15 + +Item { + id: trackRating + + property int rating: 0 + readonly property variant ratingMap: { '-1': 0, '0': 0, '51': 1, '1': 1, '64': 2, '102': 2, '153': 3, '196': 4, '204': 4, '252': 5, '255': 5 } + readonly property int nrRatings: 5 + + width: 20 + height: 133 + + //-------------------------------------------------------------------------------------------------------------------- + + Rectangle { + id: ratingStars + anchors.left: parent.left + height: 40 + width: 170 + color: "transparent" + visible: ratingMap[trackRating.rating] <= nrRatings + + Row { + id: rowSmall + anchors.left: parent.left + anchors.top: parent.top + height: parent.height + spacing: 2 + // Repeater { + // model: (5 -(nrRatings - ratingMap[trackRating.rating])) + // Image { + // id: star + // source: "../Images/star.png" + // clip: true + // cache: true + // height: 34 + // width: 34 + // } + // } + } + } +} diff --git a/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/BPMIndicator.qml b/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/BPMIndicator.qml index c49800618f21..43260bfda898 100755 --- a/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/BPMIndicator.qml +++ b/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/BPMIndicator.qml @@ -21,31 +21,33 @@ Rectangle { border.color: smallBoxBorder border.width: 2 - signal updated + Mixxx.ControlProxy { + id: bpm + group: root.group + key: "bpm" + } + + Mixxx.ControlProxy { + id: rateRange + group: root.group + key: "rateRange" + } Text { id: indicator - text: "-" + text: bpm.value > 0 ? bpm.value.toFixed(2) : "-" font.pixelSize: 17 color: fontColor anchors.centerIn: parent - - Mixxx.ControlProxy { - group: root.group - key: "bpm" - onValueChanged: (value) => { - const newValue = value.toFixed(2); - if (newValue === indicator.text) return; - indicator.text = newValue; - root.updated() - } - } } Text { id: range + + text: rateRange.value > 0 ? `-/+ \n${(rateRange.value * 100).toFixed()}%` : '' font.pixelSize: 9 color: fontColor + anchors.top: parent.top anchors.bottom: parent.bottom anchors.right: parent.right @@ -53,17 +55,6 @@ Rectangle { anchors.topMargin: 2 horizontalAlignment: Text.AlignHCenter - - Mixxx.ControlProxy { - group: root.group - key: "rateRange" - onValueChanged: (value) => { - const newValue = `-/+ \n${(value * 100).toFixed()}%`; - if (range.text === newValue) return; - range.text = newValue; - root.updated(); - } - } } states: State { diff --git a/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/KeyIndicator.qml b/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/KeyIndicator.qml index 5d2c1b4c5829..06006eb8abeb 100755 --- a/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/KeyIndicator.qml +++ b/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/KeyIndicator.qml @@ -97,26 +97,21 @@ Rectangle { "3m" ] + Mixxx.ControlProxy { + id: keyProxy + group: root.group + key: "key" + } + required property color borderColor - property int key: KeyIndicator.Key.NoKey + readonly property int key: keyProxy.value > 0 ? keyProxy.value : KeyIndicator.Key.NoKey radius: 6 border.color: colorsMap[key] border.width: 2 color: colorsMap[key] - signal updated - - Mixxx.ControlProxy { - group: root.group - key: "key" - onValueChanged: (value) => { - if (value === root.key) return; - root.key = value; - root.updated() - } - } Text { text: textMap[key] diff --git a/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/Keyboard.qml b/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/Keyboard.qml index 2e3b87e453dd..cf5fa1d203c1 100644 --- a/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/Keyboard.qml +++ b/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/Keyboard.qml @@ -15,20 +15,14 @@ Item { required property string group - property int key: -1 - - signal updated - Mixxx.ControlProxy { + id: keyProxy group: root.group key: "key" - onValueChanged: (value) => { - if (value === root.key) return; - root.key = value; - root.updated() - } } + readonly property int key: keyProxy.value + RowLayout { anchors.fill: parent spacing: 0 @@ -119,7 +113,6 @@ Item { Layout.fillWidth: true radius: 2 border.width: 1 - // border.color: root.key == blackKeys.keyMap[index] || root.key == blackKeys.keyMap[index + blackKeys.model] ? "red" : "black" color: root.key == blackKeys.keyMap[index] || root.key == blackKeys.keyMap[index + blackKeys.model] ? "#aaaaaa" : "black" } Item { diff --git a/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/LoopSizeIndicator.qml b/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/LoopSizeIndicator.qml index 7f0bdec7d01c..bd5938268693 100755 --- a/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/LoopSizeIndicator.qml +++ b/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/LoopSizeIndicator.qml @@ -19,49 +19,37 @@ Rectangle { property color loopOnBoxColor: Qt.rgba(125/255,246/255,64/255, 1) property color loopOnFontColor: "black" - property bool on: true - signal updated - - radius: 6 - border.width: 2 - border.color: (loopSizeIndicator.on ? loopOnBoxColor : (loop_anchor.value == 0 ? loopOffBoxColor : loopReverseOffBoxColor)) - color: (loopSizeIndicator.on ? loopOnBoxColor : (loop_anchor.value == 0 ? loopOffBoxColor : loopReverseOffBoxColor)) - - Text { - id: indicator - anchors.centerIn: parent - font.pixelSize: 46 - color: (loopSizeIndicator.on ? loopOnFontColor : loopOffFontColor) - - Mixxx.ControlProxy { - group: root.group - key: "beatloop_size" - onValueChanged: (value) => { - const newValue = (value < 1 ? `1/${1 / value}` : `${value}`); - if (newValue === indicator.text) return; - indicator.text = newValue; - root.updated() - } - } + Mixxx.ControlProxy { + id: beatloopSize + group: root.group + key: "beatloop_size" } Mixxx.ControlProxy { + id: loopEnabled group: root.group key: "loop_enabled" - onValueChanged: (value) => { - if (value === root.on) return; - root.on = value; - root.updated() - } } Mixxx.ControlProxy { + id: loopAnchor group: root.group key: "loop_anchor" - id: loop_anchor - onValueChanged: (value) => { - root.updated() - } + } + + readonly property bool on: loopEnabled.value + + radius: 6 + border.width: 2 + border.color: (loopSizeIndicator.on ? loopOnBoxColor : (loopAnchor.value == 0 ? loopOffBoxColor : loopReverseOffBoxColor)) + color: (loopSizeIndicator.on ? loopOnBoxColor : (loopAnchor.value == 0 ? loopOffBoxColor : loopReverseOffBoxColor)) + + Text { + id: indicator + text: (beatloopSize.value < 1 ? `1/${1 / beatloopSize.value}` : `${beatloopSize.value}`); + anchors.centerIn: parent + font.pixelSize: 46 + color: (loopSizeIndicator.on ? loopOnFontColor : loopOffFontColor) } states: State { diff --git a/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/OnAirTrack.qml b/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/OnAirTrack.qml index 0d034066a6e1..8d4097ccad63 100644 --- a/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/OnAirTrack.qml +++ b/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/OnAirTrack.qml @@ -13,6 +13,7 @@ Item { required property string group property var deckPlayer: Mixxx.PlayerManager.getPlayer(root.group) + readonly property var currentTrack: deckPlayer.currentTrack property bool scrolling: true property real speed: 1.7 @@ -26,7 +27,7 @@ Item { x: 6 color: 'transparent' - readonly property string fulltext: !trackLoadedControl.value || root.deckPlayer.title.trim().length + root.deckPlayer.artist.trim().length == 0 ? qsTr("No Track Loaded") : `${root.deckPlayer.title} - ${root.deckPlayer.artist}`.trim() + readonly property string fulltext: !trackLoadedControl.value || root.currentTrack?.title.trim().length + root.currentTrack?.artist.trim().length == 0 ? qsTr("No Track Loaded") : `${root.currentTrack?.title} - ${root.currentTrack?.artist}`.trim() Text { id: text1 diff --git a/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/Progression.qml b/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/Progression.qml index 82d8f8b3f892..93bc6f2eb401 100755 --- a/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/Progression.qml +++ b/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/Progression.qml @@ -15,30 +15,20 @@ Item { property real windowWidth: Window.width - width: 0 - signal updated - Mixxx.ControlProxy { + id: trackLoaded group: root.group key: "track_loaded" - onValueChanged: (value) => { - if (value === root.visible) return; - root.visible = value - root.updated() - } } Mixxx.ControlProxy { + id: playposition group: root.group key: "playposition" - onValueChanged: (value) => { - const newValue = Math.round(value * (320 - 12)); - if (newValue === root.width) return; - root.width = newValue; - root.updated() - } } + width: Math.round(playposition.value * (320 - 12)) + visible: trackLoaded.value clip: true Rectangle { diff --git a/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/SplashOff.qml b/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/SplashOff.qml index a3937436c791..2954d704c83c 100644 --- a/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/SplashOff.qml +++ b/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/SplashOff.qml @@ -10,6 +10,6 @@ Rectangle { width: root.width*0.8 height: root.height fillMode: Image.PreserveAspectFit - source: engine.getSetting("idleBackground") == "mask" ? "./Screens/Images/logo.png" : "../../../images/templates/logo_mixxx.png" + source: engine.getSetting("idleBackground") || "../../../images/templates/logo_mixxx.png" } } diff --git a/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/StockScreen.qml b/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/StockScreen.qml index c93b813f3e6b..4d209b7291f7 100644 --- a/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/StockScreen.qml +++ b/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/StockScreen.qml @@ -13,7 +13,7 @@ Rectangle { required property string group required property string screenId - readonly property bool useSharedApi: engine.getSetting("useSharedDataAPI") + readonly property bool useSharedApi: engine.getSetting("useSharedDataAPI") || false anchors.fill: parent color: "black" @@ -137,7 +137,7 @@ Rectangle { property var player: Mixxx.PlayerManager.getPlayer(root.group) - source: player.coverArtUrl + source: player.currentTrack?.coverArtUrl height: 100 width: 100 fillMode: Image.PreserveAspectFit @@ -486,9 +486,11 @@ Rectangle { } Mixxx.WaveformOverview { + readonly property var player: Mixxx.PlayerManager.getPlayer(root.group) id: waveformOverview anchors.fill: parent - player: Mixxx.PlayerManager.getPlayer(root.group) + + track: player.currentTrack } Mixxx.ControlProxy { diff --git a/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/TimeAndBeatloopIndicator.qml b/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/TimeAndBeatloopIndicator.qml index 26302f4073cc..be5d8cdf9a6d 100755 --- a/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/TimeAndBeatloopIndicator.qml +++ b/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/TimeAndBeatloopIndicator.qml @@ -27,23 +27,6 @@ Rectangle { border.color: timeColor border.width: 2 color: timeColor - signal updated - - function update() { - let newValue = ""; - if (root.mode === TimeAndBeatloopIndicator.Mode.RemainingTime) { - var seconds = ((1.0 - progression.value) * duration.value); - var mins = parseInt(seconds / 60).toString(); - seconds = parseInt(seconds % 60).toString(); - - newValue = `-${mins.padStart(2, '0')}:${seconds.padStart(2, '0')}`; - } else { - newValue = (beatjump.value < 1 ? `1/${1 / beatjump.value}` : `${beatjump.value}`); - } - if (newValue === indicator.text) return; - indicator.text = newValue; - root.updated() - } Text { id: indicator @@ -78,16 +61,21 @@ Rectangle { onValueChanged: (value) => { root.border.color = value ? 'red' : timeColor root.color = value ? 'red' : timeColor - root.updated() } } } Component.onCompleted: { - progression.onValueChanged.connect(update) - duration.onValueChanged.connect(update) - beatjump.onValueChanged.connect(update) - update() + indicator.text = Qt.binding(function() { + let newValue = ""; + if (root.mode === TimeAndBeatloopIndicator.Mode.RemainingTime) { + var seconds = ((1.0 - progression.value) * duration.value); + newValue = `-${parseInt(seconds / 60).toString().padStart(2, '0')}:${parseInt(seconds % 60).toString().padStart(2, '0')}`; + } else { + newValue = (beatjump.value < 1 ? `1/${1 / beatjump.value}` : `${beatjump.value}`); + } + return newValue + }); } states: State { diff --git a/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/WaveformOverview.qml b/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/WaveformOverview.qml index ade89743521d..b77b3bc1cb67 100755 --- a/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/WaveformOverview.qml +++ b/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/WaveformOverview.qml @@ -16,8 +16,6 @@ Item { property var deckPlayer: Mixxx.PlayerManager.getPlayer(root.group) property real scale: 0.2 - signal updated - visible: false antialiasing: true anchors.fill: parent @@ -26,7 +24,6 @@ Item { onGroupChanged: { deckPlayer = Mixxx.PlayerManager.getPlayer(root.group) console.log("Group changed!!") - root.updated() } } diff --git a/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/qmldir b/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/qmldir index 6c76347ed734..a330672059a4 100644 --- a/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/qmldir +++ b/res/controllers/TraktorKontrolS4MK3Screens/S4MK3/qmldir @@ -10,3 +10,4 @@ TimeAndBeatloopIndicator 1.0 TimeAndBeatloopIndicator.qml WaveformOverview 1.0 WaveformOverview.qml SplashOff 1.0 SplashOff.qml StockScreen 1.0 StockScreen.qml +AdvancedScreen 1.0 AdvancedScreen.qml From 1685a04015853d3a85306fc85ce50eda13141551 Mon Sep 17 00:00:00 2001 From: "Antoine C." Date: Sun, 2 Feb 2025 23:50:03 +0000 Subject: [PATCH 119/181] fix: support visual gain in stem waveform --- src/waveform/renderers/allshader/waveformrendererstem.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/waveform/renderers/allshader/waveformrendererstem.cpp b/src/waveform/renderers/allshader/waveformrendererstem.cpp index 73ed176ed88d..93b056c12f55 100644 --- a/src/waveform/renderers/allshader/waveformrendererstem.cpp +++ b/src/waveform/renderers/allshader/waveformrendererstem.cpp @@ -225,7 +225,7 @@ bool WaveformRendererStem::preprocessInner() { } // Cast to float - float max = static_cast(u8max); + float max = static_cast(u8max) * allGain; // Apply the gains if (layerIdx) { From 1ce9127187780639cc63929b54bca97fef70b95d Mon Sep 17 00:00:00 2001 From: "Antoine C." Date: Sat, 8 Mar 2025 14:01:56 +0000 Subject: [PATCH 120/181] chore: remove noisy warning log --- .../scripting/legacy/controllerscriptenginelegacy.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/controllers/scripting/legacy/controllerscriptenginelegacy.cpp b/src/controllers/scripting/legacy/controllerscriptenginelegacy.cpp index f36405696830..93f1a1d92879 100644 --- a/src/controllers/scripting/legacy/controllerscriptenginelegacy.cpp +++ b/src/controllers/scripting/legacy/controllerscriptenginelegacy.cpp @@ -1,5 +1,8 @@ #include "controllers/scripting/legacy/controllerscriptenginelegacy.h" +#include + +#include #include #ifdef MIXXX_USE_QML @@ -11,12 +14,9 @@ #include #endif -#include "control/controlobject.h" #include "controllers/controller.h" -#include "controllers/scripting/colormapperjsproxy.h" #include "controllers/scripting/legacy/controllerscriptinterfacelegacy.h" #include "errordialoghandler.h" -#include "mixer/playermanager.h" #include "moc_controllerscriptenginelegacy.cpp" #ifdef MIXXX_USE_QML #include "qml/qmlmixxxcontrollerscreen.h" @@ -358,7 +358,7 @@ bool ControllerScriptEngineLegacy::initialize() { watchFilePath(path); auto pQmlEngine = std::dynamic_pointer_cast(m_pJSEngine); pQmlEngine->addImportPath(path); - qCWarning(m_logger) << pQmlEngine->importPathList(); + qCDebug(m_logger) << "The QML import path is" << pQmlEngine->importPathList(); } } else if (!m_modules.isEmpty()) { qCWarning(m_logger) << "Controller mapping has QML library definitions but no " From fcddbbfe77f142d3b3d38834cb7e1b639e0be2a3 Mon Sep 17 00:00:00 2001 From: "Antoine C." Date: Sat, 8 Mar 2025 14:03:08 +0000 Subject: [PATCH 121/181] fix: disable msaa on Wayland QPA offscreen --- .../rendering/controllerrenderingengine.cpp | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/src/controllers/rendering/controllerrenderingengine.cpp b/src/controllers/rendering/controllerrenderingengine.cpp index 2f162bdcd92b..c1a2767d5f77 100644 --- a/src/controllers/rendering/controllerrenderingengine.cpp +++ b/src/controllers/rendering/controllerrenderingengine.cpp @@ -1,5 +1,6 @@ #include "controllers/rendering/controllerrenderingengine.h" +#include #include #include #include @@ -10,17 +11,15 @@ #include #include #include +#include #include "controllers/controller.h" #include "controllers/controllerenginethreadcontrol.h" #include "controllers/scripting/legacy/controllerscriptenginelegacy.h" -#include "controllers/scripting/legacy/controllerscriptinterfacelegacy.h" #include "moc_controllerrenderingengine.cpp" -#include "qml/qmlwaveformoverview.h" #include "util/cmdlineargs.h" #include "util/logger.h" #include "util/thread_affinity.h" -#include "util/time.h" #include "util/timer.h" // Used in the renderFrame method to properly abort the rendering and terminate the engine. @@ -179,7 +178,15 @@ void ControllerRenderingEngine::setup(std::shared_ptr qmlEngine) { return; } QSurfaceFormat format; - format.setSamples(m_screenInfo.msaa); + // FIXME multi sampling appears to be unsupported when using offscreen + // rendering on Wayland QPA: + // warning [CtrlScreen_rightdeck] QWaylandGLContext::makeCurrent: + // eglError: 0x3009, this: 0x7ffd9c001770 warning [CtrlScreen_rightdeck] + // QRhiGles2: Failed to make context current. Expect bad things to happen. + // warning [CtrlScreen_rightdeck] Failed to create RHI (backend 2) + if (QGuiApplication::platformName() != QStringLiteral("wayland")) { + format.setSamples(m_screenInfo.msaa); + } format.setDepthBufferSize(16); format.setStencilBufferSize(8); From 3782534beb70524c2351693e9dca06be72735473 Mon Sep 17 00:00:00 2001 From: "Antoine C." Date: Sat, 8 Mar 2025 17:46:49 +0000 Subject: [PATCH 122/181] fix: add support for alpha on EOT SG renderer --- .../renderers/allshader/waveformrenderbeat.cpp | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/waveform/renderers/allshader/waveformrenderbeat.cpp b/src/waveform/renderers/allshader/waveformrenderbeat.cpp index 3056321e7a68..5d2340da4599 100644 --- a/src/waveform/renderers/allshader/waveformrenderbeat.cpp +++ b/src/waveform/renderers/allshader/waveformrenderbeat.cpp @@ -56,14 +56,20 @@ bool WaveformRenderBeat::preprocessInner() { return false; } +#ifndef __SCENEGRAPH__ int alpha = m_waveformRenderer->getBeatGridAlpha(); if (alpha == 0) { return false; } + m_color.setAlphaF(alpha / 100.0f); +#endif - const float devicePixelRatio = m_waveformRenderer->getDevicePixelRatio(); + if (!m_color.alpha()) { + // Don't render the beatgrid lines is there are fully transparent + return true; + } - m_color.setAlphaF(alpha / 100.0f); + const float devicePixelRatio = m_waveformRenderer->getDevicePixelRatio(); const double trackSamples = m_waveformRenderer->getTrackSamples(); if (trackSamples <= 0.0) { From c2c7272424c0d4a6da4a453df4e9c8bba6cb7524 Mon Sep 17 00:00:00 2001 From: "Antoine C." Date: Sun, 9 Mar 2025 18:47:08 +0000 Subject: [PATCH 123/181] feat: auto detect the ShareDataAPI --- res/controllers/Traktor Kontrol S4 MK3.bulk.xml | 8 -------- .../S4MK3/AdvancedScreen.qml | 3 ++- .../S4MK3/AdvancedScreen/DeckScreen.qml | 3 ++- .../S4MK3/AdvancedScreen/ViewModels/DeckInfo.qml | 12 ++++++++---- .../TraktorKontrolS4MK3Screens/S4MK3/StockScreen.qml | 8 +++----- 5 files changed, 15 insertions(+), 19 deletions(-) diff --git a/res/controllers/Traktor Kontrol S4 MK3.bulk.xml b/res/controllers/Traktor Kontrol S4 MK3.bulk.xml index 94ce7ad8b36c..9ff549336099 100644 --- a/res/controllers/Traktor Kontrol S4 MK3.bulk.xml +++ b/res/controllers/Traktor Kontrol S4 MK3.bulk.xml @@ -17,14 +17,6 @@ - - + Qt::Vertical @@ -153,6 +164,7 @@ associated with each key. comboBoxHotcueColors pushButtonEditHotcuePalette comboBoxHotcueDefaultColor + comboBoxJumpDefaultColor pushButtonReplaceCueColor checkboxKeyColorsEnabled diff --git a/src/qml/qmlwaveformrenderer.cpp b/src/qml/qmlwaveformrenderer.cpp index 487aadcd5faf..77017e9683e8 100644 --- a/src/qml/qmlwaveformrenderer.cpp +++ b/src/qml/qmlwaveformrenderer.cpp @@ -1,5 +1,10 @@ #include "qml/qmlwaveformrenderer.h" +#include +#include +#include +#include + #include #include "moc_qmlwaveformrenderer.cpp" @@ -313,14 +318,43 @@ QmlWaveformRendererFactory::Renderer QmlWaveformRendererMark::create( pMark->textColor(), pMark->align(), pMark->text(), - pMark->pixmap(), - pMark->icon(), + pMark->pixmap().toLocalFile(), + pMark->icon().toLocalFile(), pMark->color(), - priority))); + priority, + Cue::kNoHotCue, + {}, + pMark->endPixmap().toLocalFile(), + pMark->endIcon().toLocalFile(), + pMark->disabledOpacity(), + pMark->enabledOpacity()))); priority--; } const auto* pMark = defaultMark(); if (pMark != nullptr) { + const QString pixmap = pMark->pixmap().toLocalFile(); + const QString endPixmap = pMark->endPixmap().toLocalFile(); + const QString icon = pMark->icon().toLocalFile(); + const QString endIcon = pMark->endIcon().toLocalFile(); + // FIXME: the following checks should be done on the WaveformMarker + // setter (depends of #14515) + if (!QFileInfo::exists(pixmap)) { + qmlEngine(this)->throwError(tr("Cannot find the marker pixmap") + " \"" + pixmap + '"'); + } + + if (!endPixmap.isEmpty() && !QFileInfo::exists(endPixmap)) { + qmlEngine(this)->throwError(tr("Cannot find the marker endPixmap") + + " \"" + endPixmap + '"'); + } + + if (!icon.isEmpty() && !QFileInfo::exists(icon)) { + qmlEngine(this)->throwError(tr("Cannot find the marker icon") + " \"" + icon + '"'); + } + + if (!endIcon.isEmpty() && !QFileInfo::exists(endIcon)) { + qmlEngine(this)->throwError(tr("Cannot find the marker endIcon") + + " \"" + endIcon + '"'); + } pRenderer->setDefaultMark( waveformWidget->getGroup(), WaveformMarkSet::DefaultMarkerStyle{ @@ -329,9 +363,13 @@ QmlWaveformRendererFactory::Renderer QmlWaveformRendererMark::create( pMark->textColor(), pMark->align(), pMark->text(), - pMark->pixmap(), - pMark->icon(), + pixmap, + endPixmap, + icon, + endIcon, pMark->color(), + pMark->enabledOpacity(), + pMark->disabledOpacity(), }); } return QmlWaveformRendererFactory::Renderer{pRenderer.get(), std::move(pRenderer)}; diff --git a/src/qml/qmlwaveformrenderer.h b/src/qml/qmlwaveformrenderer.h index 3c1d10aae693..44e1ef7049dd 100644 --- a/src/qml/qmlwaveformrenderer.h +++ b/src/qml/qmlwaveformrenderer.h @@ -1,5 +1,7 @@ #pragma once +#include + #include #include @@ -347,8 +349,10 @@ class QmlWaveformMark : public QObject { Q_PROPERTY(QString textColor MEMBER m_textColor NOTIFY textColorChanged) Q_PROPERTY(QString align MEMBER m_align NOTIFY alignChanged) Q_PROPERTY(QString text MEMBER m_text NOTIFY textChanged) - Q_PROPERTY(QString pixmap MEMBER m_pixmap NOTIFY pixmapChanged) - Q_PROPERTY(QString icon MEMBER m_icon NOTIFY iconChanged) + Q_PROPERTY(QUrl pixmap MEMBER m_pixmap NOTIFY pixmapChanged) + Q_PROPERTY(QUrl icon MEMBER m_icon NOTIFY iconChanged) + Q_PROPERTY(QUrl endPixmap MEMBER m_endPixmap NOTIFY endPixmapChanged) + Q_PROPERTY(QUrl endIcon MEMBER m_endIcon NOTIFY endIconChanged) QML_NAMED_ELEMENT(WaveformMark) public: QString control() const { @@ -369,12 +373,24 @@ class QmlWaveformMark : public QObject { QString text() const { return m_text; } - QString pixmap() const { + QUrl pixmap() const { return m_pixmap; } - QString icon() const { + QUrl icon() const { return m_icon; } + QUrl endPixmap() const { + return m_endPixmap; + } + QUrl endIcon() const { + return m_endIcon; + } + float disabledOpacity() const { + return m_disabledOpacity; + } + float enabledOpacity() const { + return m_enabledOpacity; + } signals: void controlChanged(QString control); @@ -383,8 +399,12 @@ class QmlWaveformMark : public QObject { void textColorChanged(QString textColor); void alignChanged(QString align); void textChanged(QString text); - void pixmapChanged(QString pixmap); - void iconChanged(QString icon); + void pixmapChanged(QUrl pixmap); + void iconChanged(QUrl icon); + void endPixmapChanged(QUrl pixmap); + void endIconChanged(QUrl icon); + void disabledOpacityChanged(float opacity); + void enabledOpacityChanged(float opacity); private: QString m_control; @@ -393,8 +413,12 @@ class QmlWaveformMark : public QObject { QString m_textColor; QString m_align; QString m_text; - QString m_pixmap; - QString m_icon; + QUrl m_pixmap; + QUrl m_icon; + QUrl m_endPixmap; + QUrl m_endIcon; + float m_disabledOpacity; + float m_enabledOpacity; }; class QmlWaveformUntilMark : public QObject { diff --git a/src/rendergraph/common/rendergraph/material/texturematerial.cpp b/src/rendergraph/common/rendergraph/material/texturematerial.cpp index b3f61767626c..2b5b3cdcf73b 100644 --- a/src/rendergraph/common/rendergraph/material/texturematerial.cpp +++ b/src/rendergraph/common/rendergraph/material/texturematerial.cpp @@ -18,7 +18,7 @@ TextureMaterial::TextureMaterial() } /* static */ const UniformSet& TextureMaterial::uniforms() { - static UniformSet set = makeUniformSet({"ubuf.matrix"}); + static UniformSet set = makeUniformSet({"ubuf.matrix", "ubuf.alpha"}); return set; } diff --git a/src/rendergraph/shaders/texture.frag b/src/rendergraph/shaders/texture.frag index bbe37bccd69c..3eb4ce3d0aff 100644 --- a/src/rendergraph/shaders/texture.frag +++ b/src/rendergraph/shaders/texture.frag @@ -1,9 +1,18 @@ #version 440 +layout(std140, binding = 0) uniform buf { + mat4 matrix; + float alpha; +} +ubuf; + layout(binding = 1) uniform sampler2D texture1; layout(location = 0) in vec2 vTexcoord; layout(location = 0) out vec4 fragColor; void main() { fragColor = texture(texture1, vTexcoord); + if (ubuf.alpha > 0.0) { + fragColor *= ubuf.alpha; + } } diff --git a/src/rendergraph/shaders/texture.frag.gl b/src/rendergraph/shaders/texture.frag.gl index b2d03f1352c6..71ab6a34dd65 100644 --- a/src/rendergraph/shaders/texture.frag.gl +++ b/src/rendergraph/shaders/texture.frag.gl @@ -1,6 +1,14 @@ #version 120 //// GENERATED - EDITS WILL BE OVERWRITTEN +struct buf +{ + mat4 matrix; + float alpha; +}; + +uniform buf ubuf; + uniform sampler2D texture1; varying vec2 vTexcoord; @@ -8,4 +16,8 @@ varying vec2 vTexcoord; void main() { gl_FragData[0] = texture2D(texture1, vTexcoord); + if (ubuf.alpha > 0.0) + { + gl_FragData[0] *= ubuf.alpha; + } } diff --git a/src/rendergraph/shaders/texture.vert b/src/rendergraph/shaders/texture.vert index 07b3d7f1f3ba..3cf7f4cd8240 100644 --- a/src/rendergraph/shaders/texture.vert +++ b/src/rendergraph/shaders/texture.vert @@ -2,6 +2,7 @@ layout(std140, binding = 0) uniform buf { mat4 matrix; + float alpha; } ubuf; diff --git a/src/rendergraph/shaders/texture.vert.gl b/src/rendergraph/shaders/texture.vert.gl index a3d58014be32..b048df2a4893 100644 --- a/src/rendergraph/shaders/texture.vert.gl +++ b/src/rendergraph/shaders/texture.vert.gl @@ -4,6 +4,7 @@ struct buf { mat4 matrix; + float alpha; }; uniform buf ubuf; diff --git a/src/shaders/textureshader.cpp b/src/shaders/textureshader.cpp index f5363d771694..c9399795b9a8 100644 --- a/src/shaders/textureshader.cpp +++ b/src/shaders/textureshader.cpp @@ -16,11 +16,13 @@ void main() )--"); QString fragmentShaderCode = QStringLiteral(R"--( +#version 120 uniform sampler2D texture; varying highp vec2 vTexcoord; +uniform float alpha; void main() { - gl_FragColor = texture2D(texture, vTexcoord); + gl_FragColor = texture2D(texture, vTexcoord) * vec4(1.0, 1.0, 1.0, alpha > .0 ? alpha : 1.0); } )--"); diff --git a/src/test/readaheadmanager_test.cpp b/src/test/readaheadmanager_test.cpp index 3680a7d08d70..ece027526603 100644 --- a/src/test/readaheadmanager_test.cpp +++ b/src/test/readaheadmanager_test.cpp @@ -1,12 +1,14 @@ +#include "engine/readaheadmanager.h" + #include -#include #include +#include -#include "engine/cachingreader/cachingreader.h" #include "control/controlobject.h" +#include "engine/cachingreader/cachingreader.h" +#include "engine/controls/cuecontrol.h" #include "engine/controls/loopingcontrol.h" -#include "engine/readaheadmanager.h" #include "test/mixxxtest.h" #include "util/assert.h" #include "util/defs.h" @@ -41,14 +43,11 @@ class StubLoopControl : public LoopingControl { : LoopingControl(kGroup, UserSettingsPointer()) { } - void pushTriggerReturnValue(double value) { + void pushValues(double trigger, double target) { m_triggerReturnValues.push_back( - mixxx::audio::FramePos::fromEngineSamplePosMaybeInvalid(value)); - } - - void pushTargetReturnValue(double value) { + mixxx::audio::FramePos::fromEngineSamplePosMaybeInvalid(trigger)); m_targetReturnValues.push_back( - mixxx::audio::FramePos::fromEngineSamplePosMaybeInvalid(value)); + mixxx::audio::FramePos::fromEngineSamplePosMaybeInvalid(target)); } mixxx::audio::FramePos nextTrigger(bool reverse, @@ -68,6 +67,35 @@ class StubLoopControl : public LoopingControl { QList m_targetReturnValues; }; +class StubCueControl : public CueControl { + public: + StubCueControl() + : CueControl(kGroup, UserSettingsPointer()) { + } + + void pushValues(double trigger, double target) { + m_triggerReturnValues.push_back( + mixxx::audio::FramePos::fromEngineSamplePosMaybeInvalid(trigger)); + + m_targetReturnValues.push_back( + mixxx::audio::FramePos::fromEngineSamplePosMaybeInvalid(target)); + } + + mixxx::audio::FramePos nextTrigger(bool, + mixxx::audio::FramePos, + mixxx::audio::FramePos* pTargetPosition, + mixxx::audio::FrameDiff_t) override { + RELEASE_ASSERT(!m_targetReturnValues.isEmpty()); + *pTargetPosition = m_targetReturnValues.takeFirst(); + RELEASE_ASSERT(!m_triggerReturnValues.isEmpty()); + return m_triggerReturnValues.takeFirst(); + } + + protected: + QList m_triggerReturnValues; + QList m_targetReturnValues; +}; + class ReadAheadManagerTest : public MixxxTest { public: ReadAheadManagerTest() @@ -75,6 +103,12 @@ class ReadAheadManagerTest : public MixxxTest { m_beatNextCO(ConfigKey(kGroup, "beat_next")), m_beatPrevCO(ConfigKey(kGroup, "beat_prev")), m_playCO(ConfigKey(kGroup, "play")), + m_stopCO(ConfigKey(kGroup, "stop")), + m_vinylControlCO(ConfigKey(kGroup, "vinylcontrol_enabled")), + m_vinylControlModeCO(ConfigKey(kGroup, "vinylcontrol_mode")), + m_passthroughCO(ConfigKey(kGroup, "passthrough")), + m_indicator250msCO(ConfigKey("[App]", "indicator_250ms")), + m_indicator500msCO(ConfigKey("[App]", "indicator_500ms")), m_quantizeCO(ConfigKey(kGroup, "quantize")), m_repeatCO(ConfigKey(kGroup, "repeat")), m_slipEnabledCO(ConfigKey(kGroup, "slip_enabled")), @@ -87,14 +121,22 @@ class ReadAheadManagerTest : public MixxxTest { SampleUtil::clear(m_pBuffer, MAX_BUFFER_LEN); m_pReader.reset(new StubReader()); m_pLoopControl.reset(new StubLoopControl()); + m_pCueControl.reset(new StubCueControl()); m_pReadAheadManager.reset(new ReadAheadManager(m_pReader.data(), - m_pLoopControl.data())); + m_pLoopControl.data(), + m_pCueControl.data())); } ControlObject m_beatClosestCO; ControlObject m_beatNextCO; ControlObject m_beatPrevCO; ControlObject m_playCO; + ControlObject m_stopCO; + ControlObject m_vinylControlCO; + ControlObject m_vinylControlModeCO; + ControlObject m_passthroughCO; + ControlObject m_indicator250msCO; + ControlObject m_indicator500msCO; ControlObject m_quantizeCO; ControlObject m_repeatCO; ControlObject m_slipEnabledCO; @@ -102,27 +144,72 @@ class ReadAheadManagerTest : public MixxxTest { CSAMPLE* m_pBuffer; QScopedPointer m_pReader; QScopedPointer m_pLoopControl; + QScopedPointer m_pCueControl; QScopedPointer m_pReadAheadManager; }; +TEST_F(ReadAheadManagerTest, SavedJump) { + m_pReadAheadManager->notifySeek(0.5); + + for (int i = 0; i < 2; i++) { + m_pLoopControl->pushValues(kNoTrigger, kNoTrigger); + } + + m_pCueControl->pushValues(20, 6); + m_pCueControl->pushValues(kNoTrigger, kNoTrigger); + + EXPECT_EQ(20, + m_pReadAheadManager->getNextSamples( + 1.0, m_pBuffer, 30, mixxx::audio::ChannelCount::stereo())); + EXPECT_NEAR(6.5, m_pReadAheadManager->getPlaypos(), 1); + EXPECT_EQ(80, + m_pReadAheadManager->getNextSamples( + 1.0, m_pBuffer, 80, mixxx::audio::ChannelCount::stereo())); + + EXPECT_NEAR(86.5, m_pReadAheadManager->getPlaypos(), 1); +} + +TEST_F(ReadAheadManagerTest, TriggerOnJumpOrLoop) { + m_pReadAheadManager->notifySeek(0); + + // The jump trigger is located before the loop end + m_pLoopControl->pushValues(50, 10); + m_pCueControl->pushValues(40, 20); + + EXPECT_EQ(40, + m_pReadAheadManager->getNextSamples( + 1.0, m_pBuffer, 100, mixxx::audio::ChannelCount::stereo())); + EXPECT_NEAR(20, m_pReadAheadManager->getPlaypos(), 1); + + m_pReadAheadManager->notifySeek(0); + + // The jump trigger is located after the loop end + m_pLoopControl->pushValues(50, 40); + m_pCueControl->pushValues(60, 30); + + EXPECT_EQ(50, + m_pReadAheadManager->getNextSamples( + 1.0, m_pBuffer, 100, mixxx::audio::ChannelCount::stereo())); + EXPECT_NEAR(40, m_pReadAheadManager->getPlaypos(), 1); +} + TEST_F(ReadAheadManagerTest, FractionalFrameLoop) { // If we are in reverse, a loop is enabled, and the current playposition // is before of the loop, we should seek to the out point of the loop. m_pReadAheadManager->notifySeek(0.5); - // Trigger value means, the sample that triggers the loop (loop in) - m_pLoopControl->pushTriggerReturnValue(20.2); - m_pLoopControl->pushTriggerReturnValue(20.2); - m_pLoopControl->pushTriggerReturnValue(20.2); - m_pLoopControl->pushTriggerReturnValue(20.2); - m_pLoopControl->pushTriggerReturnValue(20.2); - m_pLoopControl->pushTriggerReturnValue(20.2); - // Process value is the sample we should seek to. - m_pLoopControl->pushTargetReturnValue(3.3); - m_pLoopControl->pushTargetReturnValue(3.3); - m_pLoopControl->pushTargetReturnValue(3.3); - m_pLoopControl->pushTargetReturnValue(3.3); - m_pLoopControl->pushTargetReturnValue(3.3); - m_pLoopControl->pushTargetReturnValue(kNoTrigger); + // Trigger value means, the sample that triggers the loop (loop in) and the + // sample we should seek to. + m_pLoopControl->pushValues(20.2, 3.3); + m_pLoopControl->pushValues(20.2, 3.3); + m_pLoopControl->pushValues(20.2, 3.3); + m_pLoopControl->pushValues(20.2, 3.3); + m_pLoopControl->pushValues(20.2, 3.3); + m_pLoopControl->pushValues(20.2, kNoTrigger); + + for (int i = 0; i < 6; i++) { + m_pCueControl->pushValues(kNoTrigger, kNoTrigger); + } + // read from start to loop trigger, overshoot 0.3 EXPECT_EQ(20, m_pReadAheadManager->getNextSamples( diff --git a/src/waveform/renderers/allshader/waveformrendermark.cpp b/src/waveform/renderers/allshader/waveformrendermark.cpp index 110649024dff..3ef2175efe42 100644 --- a/src/waveform/renderers/allshader/waveformrendermark.cpp +++ b/src/waveform/renderers/allshader/waveformrendermark.cpp @@ -12,6 +12,7 @@ #include "rendergraph/vertexupdaters/rgbavertexupdater.h" #include "rendergraph/vertexupdaters/texturedvertexupdater.h" #include "track/track.h" +#include "util/assert.h" #include "util/colorcomponents.h" #include "util/roundtopixel.h" #include "waveform/renderers/allshader/digitsrenderer.h" @@ -34,9 +35,14 @@ namespace { class WaveformMarkNode : public rendergraph::GeometryNode { public: WaveformMark* m_pOwner{}; + bool m_isEndMark{false}; - WaveformMarkNode(WaveformMark* pOwner, rendergraph::Context* pContext, const QImage& image) - : m_pOwner(pOwner) { + WaveformMarkNode(WaveformMark* pOwner, + bool isEndMark, + rendergraph::Context* pContext, + const QImage& image) + : m_pOwner(pOwner), + m_isEndMark(isEndMark) { initForRectangles(1); updateTexture(pContext, image); } @@ -68,6 +74,10 @@ class WaveformMarkNode : public rendergraph::GeometryNode { return m_textureHeight; } + void setAlpha(float alpha) { + material().setUniform(1, alpha); + } + public: float m_textureWidth{}; float m_textureHeight{}; @@ -76,10 +86,11 @@ class WaveformMarkNode : public rendergraph::GeometryNode { class WaveformMarkNodeGraphics : public WaveformMark::Graphics { public: WaveformMarkNodeGraphics(WaveformMark* pOwner, + bool isEndMark, rendergraph::Context* pContext, const QImage& image) : m_pNode(std::make_unique( - pOwner, pContext, image)) { + pOwner, isEndMark, pContext, image)) { } void updateTexture(rendergraph::Context* pContext, const QImage& image) { waveformMarkNode()->updateTexture(pContext, image); @@ -93,6 +104,9 @@ class WaveformMarkNodeGraphics : public WaveformMark::Graphics { float textureHeight() const { return waveformMarkNode()->textureHeight(); } + void setAlpha(float alpha) { + waveformMarkNode()->setAlpha(alpha); + } void attachNode(std::unique_ptr pNode) { DEBUG_ASSERT(!m_pNode); m_pNode = std::move(pNode); @@ -282,8 +296,10 @@ void allshader::WaveformRenderMark::update() { WaveformMarkNode* pWaveformMarkNode = static_cast(pNode.get()); // Determine its WaveformMark auto* pMark = pWaveformMarkNode->m_pOwner; - auto* pGraphics = static_cast(pMark->m_pGraphics.get()); - // Store the node with the WaveformMark + auto* pGraphics = static_cast( + pWaveformMarkNode->m_isEndMark ? pMark->m_pEndGraphics.get() + : pMark->m_pGraphics.get()); + // Store the nodes with the WaveformMark pGraphics->attachNode(std::move(pNode)); } @@ -326,13 +342,19 @@ void allshader::WaveformRenderMark::update() { auto* pMarkGraphics = pMark->m_pGraphics.get(); auto* pMarkNodeGraphics = static_cast(pMarkGraphics); - if (!pMarkGraphics) { // is this even possible? + if (!pMarkNodeGraphics) { // is this even possible? continue; } const float currentMarkPos = static_cast( m_waveformRenderer->transformSamplePositionInRendererWorld( samplePosition, positionType)); + auto* pMarkEndGraphics = pMark->m_pEndGraphics.get(); + auto* pMarkEndNodeGraphics = static_cast(pMarkEndGraphics); + VERIFY_OR_DEBUG_ASSERT(pMarkEndNodeGraphics) { + continue; + } + if (pMark->isShowUntilNext() && samplePosition >= playPosition + 1.0 && samplePosition < nextMarkPosition) { @@ -362,30 +384,47 @@ void allshader::WaveformRenderMark::update() { // Check if the range needs to be displayed. if (samplePosition != sampleEndPosition && sampleEndPosition != Cue::kNoPosition) { - DEBUG_ASSERT(samplePosition < sampleEndPosition); const float currentMarkEndPos = static_cast( m_waveformRenderer->transformSamplePositionInRendererWorld( sampleEndPosition, positionType)); + if (visible || currentMarkEndPos > 0.f) { - QColor color = pMark->fillColor(); - color.setAlphaF(0.4f); - - // Reuse, or create new when needed - if (!pRangeChild) { - auto pNode = std::make_unique(); - pNode->initForRectangles(2); - pRangeChild = pNode.get(); - m_pRangeNodesParent->appendChildNode(std::move(pNode)); + if (pMark->isLoop()) { + // Reuse, or create new when needed + if (!pRangeChild) { + auto pNode = std::make_unique(); + pNode->initForRectangles(2); + pRangeChild = pNode.get(); + m_pRangeNodesParent->appendChildNode(std::move(pNode)); + } + + QColor color = pMark->fillColor(); + color.setAlphaF(0.4f); + updateRangeNode(pRangeChild, + QRectF(QPointF(roundToPixel(currentMarkPos), + !m_isSlipRenderer && slipActive + ? roundToPixel( + m_waveformRenderer + ->getBreadth() / + 2) + : 0.f), + QPointF(roundToPixel(currentMarkEndPos), + roundToPixel(m_waveformRenderer + ->getBreadth()))), + color); + pRangeChild = static_cast(pRangeChild->nextSibling()); + } else { + pMarkEndNodeGraphics->update( + roundToPixel(currentMarkEndPos - markWidth / 2.f), + !m_isSlipRenderer && slipActive + ? roundToPixel(m_waveformRenderer->getBreadth() / 2) + : 0, + devicePixelRatio); + pMarkEndNodeGraphics->setAlpha(static_cast(pMark->opacity())); + // transfer back to m_pMarkNodesParent children, for rendering + m_pMarkNodesParent->appendChildNode(pMarkEndNodeGraphics->detachNode()); } - - updateRangeNode(pRangeChild, - QRectF(QPointF(roundToPixel(currentMarkPos), 0.f), - QPointF(roundToPixel(currentMarkEndPos), - roundToPixel(m_waveformRenderer->getBreadth()))), - color); - visible = true; - pRangeChild = static_cast(pRangeChild->nextSibling()); } } @@ -564,6 +603,7 @@ void allshader::WaveformRenderMark::updateMarkImage(WaveformMarkPointer pMark) { if (!pMark->m_pGraphics) { pMark->m_pGraphics = std::make_unique(pMark.get(), + false, m_waveformRenderer->getContext(), pMark->generateImage( m_waveformRenderer->getDevicePixelRatio())); @@ -574,6 +614,21 @@ void allshader::WaveformRenderMark::updateMarkImage(WaveformMarkPointer pMark) { m_waveformRenderer->getDevicePixelRatio())); } } +void allshader::WaveformRenderMark::updateEndMarkImage(WaveformMarkPointer pMark) { + if (!pMark->m_pEndGraphics) { + pMark->m_pEndGraphics = + std::make_unique(pMark.get(), + true, + m_waveformRenderer->getContext(), + pMark->generateEndImage( + m_waveformRenderer->getDevicePixelRatio())); + } else { + auto* pGraphics = static_cast(pMark->m_pEndGraphics.get()); + pGraphics->updateTexture(m_waveformRenderer->getContext(), + pMark->generateEndImage( + m_waveformRenderer->getDevicePixelRatio())); + } +} void allshader::WaveformRenderMark::updateUntilMark( double playPosition, double nextMarkPosition) { diff --git a/src/waveform/renderers/allshader/waveformrendermark.h b/src/waveform/renderers/allshader/waveformrendermark.h index ab583f9d76be..cf9d41c22bc2 100644 --- a/src/waveform/renderers/allshader/waveformrendermark.h +++ b/src/waveform/renderers/allshader/waveformrendermark.h @@ -62,6 +62,7 @@ class allshader::WaveformRenderMark : public ::WaveformRenderMarkBase, private: void updateMarkImage(WaveformMarkPointer pMark) override; + void updateEndMarkImage(WaveformMarkPointer pMark) override; void updatePlayPosMarkTexture(rendergraph::Context* pContext); diff --git a/src/waveform/renderers/waveformmark.cpp b/src/waveform/renderers/waveformmark.cpp index 55997d03929a..c114f4d74390 100644 --- a/src/waveform/renderers/waveformmark.cpp +++ b/src/waveform/renderers/waveformmark.cpp @@ -2,6 +2,8 @@ #include #include +#include +#include #include #include "skin/legacy/skincontext.h" @@ -93,7 +95,8 @@ bool isShowUntilNextPositionControl(const QString& positionControl) { } // anonymous namespace -WaveformMark::WaveformMark(const QString& group, +WaveformMark::WaveformMark( + const QString& group, QString positionControl, const QString& visibilityControl, const QString& textColor, @@ -104,22 +107,34 @@ WaveformMark::WaveformMark(const QString& group, QColor color, int priority, int hotCue, - const WaveformSignalColors& signalColors) + const WaveformSignalColors& signalColors, + const QString& endPixmapPath, + const QString& endIconPath, + float disabledOpacity, + float enabledOpacity) : m_textColor(textColor), m_pixmapPath(pixmapPath), + m_endPixmapPath(endPixmapPath), m_iconPath(iconPath), + m_endIconPath(endIconPath), + m_enabledOpacity(enabledOpacity), + m_disabledOpacity(disabledOpacity), m_linePosition{}, m_breadth{}, m_level{}, + m_typeCO{}, + m_statusCO{}, m_iPriority(priority), m_iHotCue(hotCue), m_showUntilNext{} { QString endPositionControl; QString typeControl; + QString statusControl; if (hotCue != Cue::kNoHotCue) { QString hotcueNumber = QString::number(hotCue + 1); positionControl = QStringLiteral("hotcue_%1_position").arg(hotcueNumber); endPositionControl = QStringLiteral("hotcue_%1_endposition").arg(hotcueNumber); + statusControl = QStringLiteral("hotcue_%1_status").arg(hotcueNumber); typeControl = QStringLiteral("hotcue_%1_type").arg(hotcueNumber); m_showUntilNext = true; } else { @@ -131,7 +146,8 @@ WaveformMark::WaveformMark(const QString& group, } if (!endPositionControl.isEmpty() && !group.isEmpty()) { m_pEndPositionCO = std::make_unique(group, endPositionControl); - m_pTypeCO = std::make_unique(group, typeControl); + m_statusCO = std::make_unique(group, statusControl); + m_typeCO = std::make_unique(group, typeControl); } if (!visibilityControl.isEmpty() && !group.isEmpty()) { @@ -179,10 +195,12 @@ WaveformMark::WaveformMark(const QString& group, QString positionControl; QString endPositionControl; QString typeControl; + QString statusControl; if (hotCue != Cue::kNoHotCue) { positionControl = "hotcue_" + QString::number(hotCue + 1) + "_position"; endPositionControl = "hotcue_" + QString::number(hotCue + 1) + "_endposition"; typeControl = "hotcue_" + QString::number(hotCue + 1) + "_type"; + statusControl = "hotcue_" + QString::number(hotCue + 1) + "_status"; m_showUntilNext = true; } else { positionControl = context.selectString(node, "Control"); @@ -194,7 +212,8 @@ WaveformMark::WaveformMark(const QString& group, } if (!endPositionControl.isEmpty()) { m_pEndPositionCO = std::make_unique(group, endPositionControl); - m_pTypeCO = std::make_unique(group, typeControl); + m_typeCO = std::make_unique(group, typeControl); + m_statusCO = std::make_unique(group, statusControl); } QString visibilityControl = context.selectString(node, "VisibilityControl"); @@ -234,10 +253,23 @@ WaveformMark::WaveformMark(const QString& group, m_pixmapPath = context.makeSkinPath(m_pixmapPath); } + m_endPixmapPath = context.selectString(node, "EndPixmap"); + if (!m_endPixmapPath.isEmpty()) { + m_endPixmapPath = context.makeSkinPath(m_endPixmapPath); + } + m_iconPath = context.selectString(node, "Icon"); if (!m_iconPath.isEmpty()) { m_iconPath = context.makeSkinPath(m_iconPath); } + + m_endIconPath = context.selectString(node, "EndIcon"); + if (!m_endIconPath.isEmpty()) { + m_endIconPath = context.makeSkinPath(m_endIconPath); + } + + m_enabledOpacity = context.selectDouble(node, "EnabledOpacity", 1); + m_disabledOpacity = context.selectDouble(node, "DisabledOpacity", 0.5); } WaveformMark::~WaveformMark() = default; @@ -406,9 +438,11 @@ class MarkerGeometry { QSizeF m_imageSize; }; -QImage WaveformMark::generateImage(float devicePixelRatio) { - DEBUG_ASSERT(needsImageUpdate()); - +QImage WaveformMark::performImageGeneration(float devicePixelRatio, + const QString& pixmapPath, + const QString& text, + WaveformMarkLabel* labelMark, + const QString& iconPath) { if (m_breadth == 0.0f) { return {}; } @@ -416,8 +450,8 @@ QImage WaveformMark::generateImage(float devicePixelRatio) { // Load the pixmap from file. // If that succeeds loading the text and stroke is skipped. - if (!m_pixmapPath.isEmpty()) { - QString path = m_pixmapPath; + if (!pixmapPath.isEmpty()) { + QString path = pixmapPath; // Use devicePixelRatio to properly scale the image QImage image = *WImageStore::getImage(path, devicePixelRatio); // If loading the image didn't fail, then we're done. Otherwise fall @@ -448,24 +482,37 @@ QImage WaveformMark::generateImage(float devicePixelRatio) { return image; } } + const bool useIcon = iconPath != ""; - QString label = m_text; - - // Determine mark text. - if (getHotCue() >= 0) { - if (!label.isEmpty()) { - label.prepend(": "); + // Determine drawing geometries + const MarkerGeometry markerGeometry{text, useIcon, m_align, m_breadth, m_level}; + + float linePos; + if (labelMark) { + labelMark->setAreaRect(markerGeometry.labelRect()); + + const Qt::Alignment alignH = m_align & Qt::AlignHorizontal_Mask; + const float imgw = static_cast(markerGeometry.imageSize().width()); + switch (alignH) { + case Qt::AlignHCenter: + m_linePosition = imgw / 2.f; + m_offset = -(imgw - 1.f) / 2.f; + break; + case Qt::AlignLeft: + m_linePosition = imgw - 1.5f; + m_offset = -imgw + 2.f; + break; + case Qt::AlignRight: + default: + m_linePosition = 1.5f; + m_offset = -1.f; + break; } - label.prepend(QString::number(getHotCue() + 1)); + linePos = m_linePosition; + } else { + linePos = static_cast(markerGeometry.imageSize().width()) / 2.f; } - const bool useIcon = m_iconPath != ""; - - // Determine drawing geometries - const MarkerGeometry markerGeometry{label, useIcon, m_align, m_breadth, m_level}; - - m_label.setAreaRect(markerGeometry.labelRect()); - const QSize size{markerGeometry.getImageSize(devicePixelRatio)}; if (size.width() <= 0 || size.height() <= 0) { @@ -489,26 +536,7 @@ QImage WaveformMark::generateImage(float devicePixelRatio) { painter.setWorldMatrixEnabled(false); - const Qt::Alignment alignH = m_align & Qt::AlignHorizontal_Mask; - const float imgw = static_cast(markerGeometry.imageSize().width()); - switch (alignH) { - case Qt::AlignHCenter: - m_linePosition = imgw / 2.f; - m_offset = -(imgw - 1.f) / 2.f; - break; - case Qt::AlignLeft: - m_linePosition = imgw - 1.5f; - m_offset = -imgw + 2.f; - break; - case Qt::AlignRight: - default: - m_linePosition = 1.5f; - m_offset = -1.f; - break; - } - // Note: linePos has to be at integer + 0.5 to draw correctly - const float linePos = m_linePosition; [[maybe_unused]] const float epsilon = 1e-6f; DEBUG_ASSERT(std::abs(linePos - std::floor(linePos) - 0.5) < epsilon); @@ -526,7 +554,7 @@ QImage WaveformMark::generateImage(float devicePixelRatio) { linePos + 1.f, markerGeometry.imageSize().height())); - if (useIcon || label.length() != 0) { + if (useIcon || text.length() != 0) { painter.setPen(borderColor()); // Draw the label rounded rect with border @@ -535,7 +563,7 @@ QImage WaveformMark::generateImage(float devicePixelRatio) { painter.fillPath(path, fillColor()); painter.drawPath(path); - // Center m_contentRect.width() and m_contentRect.height() inside m_labelRect + // Center m_contentRect.width() and m_contentRect.height() inside labelRectMarl // and apply the offset x,y so the text ends up in the centered width,height. QPointF pos(markerGeometry.labelRect().x() + (markerGeometry.labelRect().width() - @@ -549,7 +577,7 @@ QImage WaveformMark::generateImage(float devicePixelRatio) { markerGeometry.contentRect().y()); if (useIcon) { - QSvgRenderer svgRenderer(m_iconPath); + QSvgRenderer svgRenderer(iconPath); svgRenderer.render(&painter, QRectF(pos, markerGeometry.contentRect().size())); } else { // Draw the text @@ -557,7 +585,7 @@ QImage WaveformMark::generateImage(float devicePixelRatio) { painter.setPen(labelColor()); painter.setFont(markerGeometry.font()); - painter.drawText(pos, label); + painter.drawText(pos, text); } } @@ -565,3 +593,34 @@ QImage WaveformMark::generateImage(float devicePixelRatio) { return image; } + +QImage WaveformMark::generateImage(float devicePixelRatio) { + DEBUG_ASSERT(needsImageUpdate()); + + QString label = m_text; + + // Determine mark text. + if (getHotCue() >= 0) { + if (!label.isEmpty()) { + label.prepend(": "); + } + label.prepend(QString::number(getHotCue() + 1)); + } + + return performImageGeneration(devicePixelRatio, m_pixmapPath, label, &m_label, m_iconPath); +} + +QImage WaveformMark::generateEndImage(float devicePixelRatio) { + assert(needsEndImageUpdate()); + + QString direction = QStringLiteral("forward"); + + if (isJump() && getSampleEndPosition() > getSamplePosition()) { + direction = QStringLiteral("backward"); + } + return performImageGeneration(devicePixelRatio, + m_endPixmapPath, + "", + nullptr, + m_endIconPath.contains("%1") ? m_endIconPath.arg(direction) : m_endIconPath); +} diff --git a/src/waveform/renderers/waveformmark.h b/src/waveform/renderers/waveformmark.h index aabe11699d75..ac2ddcfa1c4a 100644 --- a/src/waveform/renderers/waveformmark.h +++ b/src/waveform/renderers/waveformmark.h @@ -1,9 +1,12 @@ #pragma once #include +#include #include #include #include "control/controlproxy.h" +#include "control/pollingcontrolproxy.h" +#include "engine/controls/cuecontrol.h" #include "track/cue.h" #include "waveform/renderers/waveformsignalcolors.h" #include "waveform/waveformmarklabel.h" @@ -52,7 +55,11 @@ class WaveformMark { QColor color, int priority, int hotCue = Cue::kNoHotCue, - const WaveformSignalColors& signalColors = {}); + const WaveformSignalColors& signalColors = {}, + const QString& endPixmapPath = {}, + const QString& endIconPath = {}, + float disabledOpacity = 1.0f, + float enabledOpacity = 1.0f); ~WaveformMark(); // Disable copying @@ -69,6 +76,12 @@ class WaveformMark { int getPriority() const { return m_iPriority; }; + mixxx::CueType getType() const { + if (!m_typeCO) { + return mixxx::CueType::Invalid; + } + return static_cast(m_typeCO->get()); + } // The m_pPositionCO related function bool isValid() const { @@ -85,18 +98,44 @@ class WaveformMark { m_pEndPositionCO->connectValueChanged(receiver, slot, Qt::AutoConnection); } }; + template + void connectTypeChanged(Receiver receiver, Slot slot) const { + if (m_typeCO) { + m_typeCO->connectValueChanged(receiver, slot, Qt::AutoConnection); + } + }; + template + void connectStatusChanged(Receiver receiver, Slot slot) const { + if (m_statusCO) { + m_statusCO->connectValueChanged(receiver, slot, Qt::AutoConnection); + } + }; + double getSamplePosition() const { return m_pPositionCO->get(); } + bool isJump() const { + return m_typeCO && + static_cast(m_typeCO->get()) == + mixxx::CueType::Jump; + } + bool isLoop() const { + return m_typeCO && + static_cast(m_typeCO->get()) == + mixxx::CueType::Loop; + } + bool isStandard() const { + // A Waveform mark should always have either `isJump`, `isLoop` or + // `isNormal` returning true! + return !isLoop() && !isJump(); + } double getSampleEndPosition() const { if (!m_pEndPositionCO || // A hotcue may have an end position although it isn't a saved - // loop anymore. This happens when the user changes the cue + // loop or jump anymore. This happens when the user changes the cue // type. However, we persist the end position if the user wants // to restore the cue to a saved loop - (m_pTypeCO && - static_cast(m_pTypeCO->get()) != - mixxx::CueType::Loop)) { + isStandard()) { return Cue::kNoPosition; } return m_pEndPositionCO->get(); @@ -115,6 +154,13 @@ class WaveformMark { } return m_pVisibleCO->toBool(); } + // A cue is always considered active if it isn't a saved loop or a saved + // jump (a.k.a a "standard" cue) + bool isActive() const { + return !m_statusCO || + static_cast(m_statusCO->get()) == + HotcueControl::Status::Active; + } bool isShowUntilNext() const { return m_showUntilNext; } @@ -146,16 +192,27 @@ class WaveformMark { return m_labelColor; } + double opacity() const { + return isActive() ? m_enabledOpacity : m_disabledOpacity; + } + void setNeedsImageUpdate() { if (m_pGraphics) { m_pGraphics->m_obsolete = true; } + if (m_pEndGraphics) { + m_pEndGraphics->m_obsolete = true; + } } bool needsImageUpdate() const { return !m_pGraphics || m_pGraphics->m_obsolete; } + bool needsEndImageUpdate() const { + return !m_pEndGraphics || m_pEndGraphics->m_obsolete; + } + void setBreadth(float breadth) { if (m_breadth != breadth) { m_breadth = breadth; @@ -176,12 +233,18 @@ class WaveformMark { bool contains(QPoint point, Qt::Orientation orientation) const; QImage generateImage(float devicePixelRatio); + QImage generateEndImage(float devicePixelRatio); QColor m_textColor; QString m_text; Qt::Alignment m_align; QString m_pixmapPath; + QString m_endPixmapPath; QString m_iconPath; + QString m_endIconPath; + + double m_enabledOpacity; + double m_disabledOpacity; float m_linePosition; float m_offset; @@ -195,12 +258,20 @@ class WaveformMark { WaveformMarkLabel m_label; private: + QImage performImageGeneration(float devicePixelRatio, + const QString& pixmapPath, + const QString& text, + WaveformMarkLabel* labelMark, + const QString& iconPath); + std::unique_ptr m_pPositionCO; std::unique_ptr m_pEndPositionCO; - std::unique_ptr m_pTypeCO; std::unique_ptr m_pVisibleCO; + std::unique_ptr m_typeCO; + std::unique_ptr m_statusCO; std::unique_ptr m_pGraphics; + std::unique_ptr m_pEndGraphics; int m_iPriority; int m_iHotCue; diff --git a/src/waveform/renderers/waveformmarkset.cpp b/src/waveform/renderers/waveformmarkset.cpp index 8624680535f6..bfe7eb9f87f4 100644 --- a/src/waveform/renderers/waveformmarkset.cpp +++ b/src/waveform/renderers/waveformmarkset.cpp @@ -69,7 +69,6 @@ void WaveformMarkSet::setDefault(const QString& group, const DefaultMarkerStyle& model, const WaveformSignalColors& signalColors) { m_pDefaultMark = WaveformMarkPointer::create( - group, model.positionControl, model.visibilityControl, @@ -85,7 +84,6 @@ void WaveformMarkSet::setDefault(const QString& group, for (int i = 0; i < kMaxNumberOfHotcues; ++i) { if (m_hotCueMarks.value(i).isNull()) { auto pMark = WaveformMarkPointer::create( - group, model.positionControl, model.visibilityControl, @@ -97,7 +95,11 @@ void WaveformMarkSet::setDefault(const QString& group, model.color, i, i, - signalColors); + signalColors, + model.endPixmapPath, + model.endIconPath, + model.enabledOpacity, + model.disabledOpacity); m_marks.push_front(pMark); m_hotCueMarks.insert(pMark->getHotCue(), pMark); } diff --git a/src/waveform/renderers/waveformmarkset.h b/src/waveform/renderers/waveformmarkset.h index d0d4607219c6..8d07fd266f70 100644 --- a/src/waveform/renderers/waveformmarkset.h +++ b/src/waveform/renderers/waveformmarkset.h @@ -18,8 +18,12 @@ class WaveformMarkSet { QString markAlign; QString text; QString pixmapPath; + QString endPixmapPath; QString iconPath; + QString endIconPath; QColor color; + float enabledOpacity; + float disabledOpacity; }; WaveformMarkSet(); @@ -56,6 +60,24 @@ class WaveformMarkSet { } } + template + void connectTypeChanged(Receiver receiver, Slot slot) const { + for (const auto& pMark : std::as_const(m_marks)) { + if (pMark->isValid()) { + pMark->connectTypeChanged(receiver, slot); + } + } + } + + template + void connectStatusChanged(Receiver receiver, Slot slot) const { + for (const auto& pMark : std::as_const(m_marks)) { + if (pMark->isValid()) { + pMark->connectStatusChanged(receiver, slot); + } + } + } + inline QList::const_iterator begin() const { return m_marksToRender.begin(); } diff --git a/src/waveform/renderers/waveformrendermark.cpp b/src/waveform/renderers/waveformrendermark.cpp index fb8688b9138b..3637af96f38c 100644 --- a/src/waveform/renderers/waveformrendermark.cpp +++ b/src/waveform/renderers/waveformrendermark.cpp @@ -140,3 +140,13 @@ void WaveformRenderMark::updateMarkImage(WaveformMarkPointer pMark) { .transformed(QTransform().rotate(90))); } } +void WaveformRenderMark::updateEndMarkImage(WaveformMarkPointer pMark) { + if (m_waveformRenderer->getOrientation() == Qt::Horizontal) { + pMark->m_pEndGraphics = std::make_unique( + pMark->generateEndImage(m_waveformRenderer->getDevicePixelRatio())); + } else { + pMark->m_pEndGraphics = std::make_unique( + pMark->generateEndImage(m_waveformRenderer->getDevicePixelRatio()) + .transformed(QTransform().rotate(90))); + } +} diff --git a/src/waveform/renderers/waveformrendermark.h b/src/waveform/renderers/waveformrendermark.h index 2bf284223f18..e5ef50bb87fc 100644 --- a/src/waveform/renderers/waveformrendermark.h +++ b/src/waveform/renderers/waveformrendermark.h @@ -10,6 +10,7 @@ class WaveformRenderMark : public WaveformRenderMarkBase { private: void updateMarkImage(WaveformMarkPointer pMark) override; + void updateEndMarkImage(WaveformMarkPointer pMark) override; DISALLOW_COPY_AND_ASSIGN(WaveformRenderMark); }; diff --git a/src/waveform/renderers/waveformrendermarkbase.cpp b/src/waveform/renderers/waveformrendermarkbase.cpp index b2293d1448d4..3f04cf81cdd3 100644 --- a/src/waveform/renderers/waveformrendermarkbase.cpp +++ b/src/waveform/renderers/waveformrendermarkbase.cpp @@ -20,6 +20,8 @@ bool WaveformRenderMarkBase::init() { m_marks.connectSamplePositionChanged(this, &WaveformRenderMarkBase::onMarkChanged); m_marks.connectSampleEndPositionChanged(this, &WaveformRenderMarkBase::onMarkChanged); m_marks.connectVisibleChanged(this, &WaveformRenderMarkBase::onMarkChanged); + m_marks.connectTypeChanged(this, &WaveformRenderMarkBase::onMarkChanged); + m_marks.connectStatusChanged(this, &WaveformRenderMarkBase::onMarkChanged); return true; } @@ -79,6 +81,9 @@ void WaveformRenderMarkBase::updateMarksFromCues() { QColor newColor = mixxx::RgbColor::toQColor(pCue->getColor()); pMark->setText(newLabel); pMark->setBaseColor(newColor, dimBrightThreshold); + if (pMark->isJump()) { + pMark->setNeedsImageUpdate(); + } } updateMarks(); @@ -96,5 +101,8 @@ void WaveformRenderMarkBase::updateMarkImages() { if (pMark->needsImageUpdate()) { updateMarkImage(pMark); } + if (pMark->needsEndImageUpdate()) { + updateEndMarkImage(pMark); + } } } diff --git a/src/waveform/renderers/waveformrendermarkbase.h b/src/waveform/renderers/waveformrendermarkbase.h index 398a92f7aadc..ec3bae93e8ec 100644 --- a/src/waveform/renderers/waveformrendermarkbase.h +++ b/src/waveform/renderers/waveformrendermarkbase.h @@ -60,6 +60,7 @@ class WaveformRenderMarkBase : public QObject, public WaveformRendererAbstract { private: virtual void updateMarkImage(WaveformMarkPointer pMark) = 0; + virtual void updateEndMarkImage(WaveformMarkPointer pMark) = 0; DISALLOW_COPY_AND_ASSIGN(WaveformRenderMarkBase); }; diff --git a/src/widget/wcuemenupopup.cpp b/src/widget/wcuemenupopup.cpp index 6f8f1cab5ee3..74996b765836 100644 --- a/src/widget/wcuemenupopup.cpp +++ b/src/widget/wcuemenupopup.cpp @@ -2,12 +2,21 @@ #include #include +#include #include "control/controlobject.h" #include "moc_wcuemenupopup.cpp" #include "track/track.h" -void CueTypePushButton::mousePressEvent(QMouseEvent* e) { +namespace { +const ConfigKey kHotcueDefaultColorIndexConfigKey("[Controls]", "HotcueDefaultColorIndex"); +const ConfigKey kLoopDefaultColorIndexConfigKey("[Controls]", "LoopDefaultColorIndex"); +const ConfigKey kJumpDefaultColorIndexConfigKey("[Controls]", "jump_default_color_index"); + +constexpr mixxx::audio::FrameDiff_t kMinimumAudibleLoopSizeFrames = 150; +} // namespace + +void CueMenuPushButton::mousePressEvent(QMouseEvent* e) { if (e->type() == QEvent::MouseButtonPress && e->button() == Qt::RightButton) { emit rightClicked(); return; @@ -15,8 +24,50 @@ void CueTypePushButton::mousePressEvent(QMouseEvent* e) { QPushButton::mousePressEvent(e); } +void WCueMenuPopup::updateTypeAndColorIfDefault(mixxx::CueType newType) { + auto hotcueColorPalette = + m_colorPaletteSettings.getHotcueColorPalette(); + int colorIndex; + switch (m_pCue->getType()) { + default: + colorIndex = m_pConfig->getValue(kHotcueDefaultColorIndexConfigKey, -1); + break; + case mixxx::CueType::Loop: + colorIndex = m_pConfig->getValue(kLoopDefaultColorIndexConfigKey, -1); + break; + case mixxx::CueType::Jump: + colorIndex = m_pConfig->getValue(kJumpDefaultColorIndexConfigKey, -1); + break; + } + auto defaultColor = + (colorIndex < 0 || colorIndex >= hotcueColorPalette.size()) + ? hotcueColorPalette.defaultColor() + : hotcueColorPalette.at(colorIndex); + m_pCue->setType(newType); + if (m_pCue->getColor() != defaultColor) { + return; + } + switch (newType) { + default: + colorIndex = m_pConfig->getValue(kHotcueDefaultColorIndexConfigKey, -1); + break; + case mixxx::CueType::Loop: + colorIndex = m_pConfig->getValue(kLoopDefaultColorIndexConfigKey, -1); + break; + case mixxx::CueType::Jump: + colorIndex = m_pConfig->getValue(kJumpDefaultColorIndexConfigKey, -1); + break; + } + if (colorIndex < 0 || colorIndex >= hotcueColorPalette.size()) { + m_pCue->setColor(hotcueColorPalette.defaultColor()); + } else { + m_pCue->setColor(hotcueColorPalette.at(colorIndex)); + } +} + WCueMenuPopup::WCueMenuPopup(UserSettingsPointer pConfig, QWidget* parent) : QWidget(parent), + m_pConfig(pConfig), m_colorPaletteSettings(ColorPaletteSettings(pConfig)), m_pBeatLoopSize(ControlFlag::AllowMissingOrInvalid), m_pPlayPos(ControlFlag::AllowMissingOrInvalid), @@ -54,29 +105,51 @@ WCueMenuPopup::WCueMenuPopup(UserSettingsPointer pConfig, QWidget* parent) this, &WCueMenuPopup::slotChangeCueColor); - m_pDeleteCue = std::make_unique("", this); + m_pDeleteCue = std::make_unique(this); m_pDeleteCue->setToolTip(tr("Delete this cue")); m_pDeleteCue->setObjectName("CueDeleteButton"); connect(m_pDeleteCue.get(), &QPushButton::clicked, this, &WCueMenuPopup::slotDeleteCue); - m_pSavedLoopCue = std::make_unique(this); - m_pSavedLoopCue->setToolTip( - tr("Toggle this cue type between normal cue and saved loop") + - "\n\n" + - tr("Left-click: Use the old size or the current beatloop size as the loop size") + + m_pStandardCue = std::make_unique(this); + m_pStandardCue->setToolTip( + tr("Turn this cue into a regular hotcue")); + m_pStandardCue->setObjectName("CueStandardButton"); + m_pStandardCue->setCheckable(true); + connect(m_pStandardCue.get(), + &CueMenuPushButton::clicked, + this, + &WCueMenuPopup::slotStandardCue); + + m_pSavedLoopCue = std::make_unique(this); + m_pSavedLoopCue->setToolTip(tr("Turn this cue into a saved loop") + "\n\n" + + tr("Left-click: Use the old size if known or the current beatloop " + "size as the loop size") + "\n" + - tr("Right-click: Use the current play position as loop end if it is after the cue")); + tr("Right-click: Use the current play position as new loop end if " + "it is after the cue")); m_pSavedLoopCue->setObjectName("CueSavedLoopButton"); m_pSavedLoopCue->setCheckable(true); connect(m_pSavedLoopCue.get(), - &CueTypePushButton::clicked, + &CueMenuPushButton::clicked, this, &WCueMenuPopup::slotSavedLoopCueAuto); connect(m_pSavedLoopCue.get(), - &CueTypePushButton::rightClicked, + &CueMenuPushButton::rightClicked, this, &WCueMenuPopup::slotSavedLoopCueManual); + m_pSavedJumpCue = std::make_unique(this); + m_pSavedJumpCue->setObjectName("CueSavedJumpButton"); + m_pSavedJumpCue->setCheckable(true); + connect(m_pSavedJumpCue.get(), + &CueMenuPushButton::clicked, + this, + &WCueMenuPopup::slotSavedJumpCueAuto); + connect(m_pSavedJumpCue.get(), + &CueMenuPushButton::rightClicked, + this, + &WCueMenuPopup::slotSavedJumpCueManual); + QHBoxLayout* pLabelLayout = new QHBoxLayout(); pLabelLayout->addWidget(m_pCueNumber.get()); pLabelLayout->addStretch(1); @@ -89,8 +162,11 @@ WCueMenuPopup::WCueMenuPopup(UserSettingsPointer pConfig, QWidget* parent) QVBoxLayout* pRightLayout = new QVBoxLayout(); pRightLayout->addWidget(m_pDeleteCue.get()); + pRightLayout->addWidget(m_pStandardCue.get()); pRightLayout->addStretch(1); pRightLayout->addWidget(m_pSavedLoopCue.get()); + pRightLayout->addStretch(1); + pRightLayout->addWidget(m_pSavedJumpCue.get()); QHBoxLayout* pMainLayout = new QHBoxLayout(); pMainLayout->addLayout(pLeftLayout); @@ -142,22 +218,83 @@ void WCueMenuPopup::slotUpdate() { QString positionText = ""; Cue::StartAndEndPositions pos = m_pCue->getStartAndEndPosition(); - if (pos.startPosition.isValid()) { + if (pos.startPosition.isValid() && pos.endPosition.isValid() && + m_pCue->getType() != mixxx::CueType::HotCue) { double startPositionSeconds = pos.startPosition.value() / m_pTrack->getSampleRate(); - positionText = mixxx::Duration::formatTime(startPositionSeconds, mixxx::Duration::Precision::CENTISECONDS); - if (pos.endPosition.isValid() && m_pCue->getType() != mixxx::CueType::HotCue) { - double endPositionSeconds = pos.endPosition.value() / m_pTrack->getSampleRate(); - positionText = QString("%1 - %2").arg( - positionText, - mixxx::Duration::formatTime(endPositionSeconds, mixxx::Duration::Precision::CENTISECONDS) - ); - } + double endPositionSeconds = pos.endPosition.value() / m_pTrack->getSampleRate(); + QString startPositionText = + mixxx::Duration::formatTime(std::min(startPositionSeconds, endPositionSeconds), + mixxx::Duration::Precision::CENTISECONDS); + QString endPositionText = mixxx::Duration::formatTime( + std::max(startPositionSeconds, endPositionSeconds), + mixxx::Duration::Precision:: + CENTISECONDS); + positionText = + QString("%1 %2 %3") + .arg(startPositionText, + m_pCue->getType() == mixxx::CueType::Loop + ? "-" + : (startPositionSeconds < endPositionSeconds + ? "⟵" + : "⟶"), + endPositionText); + } else { + double startPositionSeconds = pos.startPosition.value() / m_pTrack->getSampleRate(); + positionText = mixxx::Duration::formatTime(startPositionSeconds, + mixxx::Duration::Precision::CENTISECONDS); } m_pCuePosition->setText(positionText); m_pEditLabel->setText(m_pCue->getLabel()); m_pColorPicker->setSelectedColor(m_pCue->getColor()); + m_pStandardCue->setChecked(m_pCue->getType() == mixxx::CueType::HotCue); m_pSavedLoopCue->setChecked(m_pCue->getType() == mixxx::CueType::Loop); + m_pSavedJumpCue->setChecked(m_pCue->getType() == mixxx::CueType::Jump); + QString direction; + if (m_pCue->getType() == mixxx::CueType::HotCue) { + // Use forward/backward icon if the playposition is before/after + // the hotcue position + auto cueStartEnd = m_pCue->getStartAndEndPosition(); + auto newPosition = cueStartEnd.endPosition; + if (!newPosition.isValid()) { + newPosition = getCurrentPlayPositionWithQuantize(); + } + if (!newPosition.isValid() || + std::abs(newPosition - cueStartEnd.startPosition) <= + kMinimumAudibleLoopSizeFrames) { + direction = "impossible"; + } else if (newPosition < cueStartEnd.startPosition) { + direction = "forward"; + } else { + direction = "backward"; + } + } else { + const bool isforward = m_pCue->getType() != mixxx::CueType::Jump || + m_pCue->getPosition() > m_pCue->getEndPosition(); + // Use forward icon if this is a saved loop, or forward/back if this + // already is a jump cue + direction = isforward + ? "forward" + : "backward"; + m_pSavedJumpCue->setToolTip( + //: \n is a linebreak. Try to not to extend the translation + //: beyond the length of the longest source line so the + //: tooltip remains compact. + (isforward ? tr("Turn this cue into a saved forward jump.") + : tr("Turn this cue into a saved backward jump " + "(one shot loop).")) + + "\n\n" + + tr("Left-click: Use the old size if known or the current " + "play position as jump start position\n" + "If this is already a jump cue, swap the jump position " + "and the cue/target position.") + + "\n\n" + + tr("Right-click: use current play position as new jump " + "start position")); + } + m_pSavedJumpCue->setProperty("direction", direction); + m_pSavedJumpCue->style()->polish(m_pSavedJumpCue.get()); + m_pSavedJumpCue->repaint(); } else { m_pTrack.reset(); m_pCue.reset(); @@ -198,40 +335,20 @@ void WCueMenuPopup::slotDeleteCue() { hide(); } -void WCueMenuPopup::slotSavedLoopCueAuto() { +void WCueMenuPopup::slotStandardCue() { VERIFY_OR_DEBUG_ASSERT(m_pCue != nullptr) { return; } VERIFY_OR_DEBUG_ASSERT(m_pTrack != nullptr) { return; } - VERIFY_OR_DEBUG_ASSERT(m_pBeatLoopSize.valid()) { - return; - } - if (m_pCue->getType() == mixxx::CueType::Loop) { - m_pCue->setType(mixxx::CueType::HotCue); - } else { - auto cueStartEnd = m_pCue->getStartAndEndPosition(); - if (!cueStartEnd.endPosition.isValid() || - cueStartEnd.endPosition <= cueStartEnd.startPosition) { - double beatloopSize = m_pBeatLoopSize.get(); - const mixxx::BeatsPointer pBeats = m_pTrack->getBeats(); - if (beatloopSize <= 0 || !pBeats) { - return; - } - auto position = pBeats->findNBeatsFromPosition( - cueStartEnd.startPosition, beatloopSize); - if (position <= m_pCue->getPosition()) { - return; - } - m_pCue->setEndPosition(position); - } - m_pCue->setType(mixxx::CueType::Loop); + if (m_pCue->getType() != mixxx::CueType::HotCue) { + updateTypeAndColorIfDefault(mixxx::CueType::HotCue); } slotUpdate(); } -void WCueMenuPopup::slotSavedLoopCueManual() { +void WCueMenuPopup::slotSavedLoopCueAuto() { VERIFY_OR_DEBUG_ASSERT(m_pCue != nullptr) { return; } @@ -241,21 +358,127 @@ void WCueMenuPopup::slotSavedLoopCueManual() { VERIFY_OR_DEBUG_ASSERT(m_pBeatLoopSize.valid()) { return; } + auto cueStartEnd = m_pCue->getStartAndEndPosition(); + // If we are changing the cue type from a jump, we need to permute the positions + if (m_pCue->getType() == mixxx::CueType::Jump) { + auto endPosition = cueStartEnd.endPosition; + if (cueStartEnd.endPosition < cueStartEnd.startPosition) { + // Only swap value if this is a forward jump + cueStartEnd.endPosition = cueStartEnd.startPosition; + cueStartEnd.startPosition = endPosition; + } + m_pCue->setStartAndEndPosition(cueStartEnd.startPosition, cueStartEnd.endPosition); + } + if (!cueStartEnd.endPosition.isValid() || + cueStartEnd.endPosition <= cueStartEnd.startPosition) { + double beatloopSize = m_pBeatLoopSize.get(); + const mixxx::BeatsPointer pBeats = m_pTrack->getBeats(); + if (beatloopSize <= 0 || !pBeats) { + return; + } + auto position = pBeats->findNBeatsFromPosition( + cueStartEnd.startPosition, beatloopSize); + if (position <= m_pCue->getPosition()) { + return; + } + m_pCue->setEndPosition(position); + } + updateTypeAndColorIfDefault(mixxx::CueType::Loop); + slotUpdate(); +} + +mixxx::audio::FramePos WCueMenuPopup::getCurrentPlayPositionWithQuantize() const { const mixxx::BeatsPointer pBeats = m_pTrack->getBeats(); auto position = mixxx::audio::FramePos::fromEngineSamplePos( m_pPlayPos.get() * m_pTrackSample.get()); if (m_pQuantizeEnabled.toBool() && pBeats) { mixxx::audio::FramePos nextBeatPosition, prevBeatPosition; pBeats->findPrevNextBeats(position, &prevBeatPosition, &nextBeatPosition, false); - position = (nextBeatPosition - position > position - prevBeatPosition) + return (nextBeatPosition - position > position - prevBeatPosition) ? prevBeatPosition : nextBeatPosition; } - if (position <= m_pCue->getPosition()) { + return position; +} + +void WCueMenuPopup::slotSavedLoopCueManual() { + VERIFY_OR_DEBUG_ASSERT(m_pCue != nullptr) { + return; + } + VERIFY_OR_DEBUG_ASSERT(m_pTrack != nullptr) { + return; + } + // If we are changing the cue type from a jump, we need to permute the + // positions if it wasn't going backward + if (m_pCue->getType() == mixxx::CueType::Jump && + m_pCue->getPosition() > m_pCue->getEndPosition()) { + auto cueStartEnd = m_pCue->getStartAndEndPosition(); + auto endPosition = cueStartEnd.endPosition; + cueStartEnd.endPosition = cueStartEnd.startPosition; + cueStartEnd.startPosition = endPosition; + m_pCue->setStartAndEndPosition(cueStartEnd.startPosition, cueStartEnd.endPosition); + } + auto newPosition = getCurrentPlayPositionWithQuantize(); + if (newPosition <= m_pCue->getPosition()) { + return; + } + m_pCue->setEndPosition(newPosition); + updateTypeAndColorIfDefault(mixxx::CueType::Loop); + slotUpdate(); +} + +void WCueMenuPopup::slotSavedJumpCueAuto() { + VERIFY_OR_DEBUG_ASSERT(m_pCue != nullptr) { + slotUpdate(); + return; + } + VERIFY_OR_DEBUG_ASSERT(m_pTrack != nullptr) { + slotUpdate(); + return; + } + auto cueStartEnd = m_pCue->getStartAndEndPosition(); + // If we are changing the cue type from a loop, we need to permute the position + // Also, if the type is already a jump, we swap to the to/from point + if (m_pCue->getType() == mixxx::CueType::Loop || m_pCue->getType() == mixxx::CueType::Jump) { + auto endPosition = cueStartEnd.endPosition; + cueStartEnd.endPosition = cueStartEnd.startPosition; + cueStartEnd.startPosition = endPosition; + } + if (!cueStartEnd.endPosition.isValid()) { + auto newPosition = getCurrentPlayPositionWithQuantize(); + if (std::abs(newPosition - cueStartEnd.startPosition) <= + kMinimumAudibleLoopSizeFrames) { + slotUpdate(); + return; + } + cueStartEnd.endPosition = newPosition; + } + m_pCue->setStartAndEndPosition(cueStartEnd.startPosition, cueStartEnd.endPosition); + updateTypeAndColorIfDefault(mixxx::CueType::Jump); + slotUpdate(); +} + +void WCueMenuPopup::slotSavedJumpCueManual() { + VERIFY_OR_DEBUG_ASSERT(m_pCue != nullptr) { + return; + } + VERIFY_OR_DEBUG_ASSERT(m_pTrack != nullptr) { + return; + } + auto cueStartEnd = m_pCue->getStartAndEndPosition(); + // If we are changing the cue type from a loop, we need to permute the position + if (m_pCue->getType() == mixxx::CueType::Loop) { + auto endPosition = cueStartEnd.endPosition; + cueStartEnd.endPosition = cueStartEnd.startPosition; + cueStartEnd.startPosition = endPosition; + } + auto newPosition = getCurrentPlayPositionWithQuantize(); + if (newPosition == cueStartEnd.startPosition) { return; } - m_pCue->setEndPosition(position); - m_pCue->setType(mixxx::CueType::Loop); + cueStartEnd.endPosition = newPosition; + m_pCue->setStartAndEndPosition(cueStartEnd.startPosition, cueStartEnd.endPosition); + updateTypeAndColorIfDefault(mixxx::CueType::Jump); slotUpdate(); } diff --git a/src/widget/wcuemenupopup.h b/src/widget/wcuemenupopup.h index 4f20d171ea5f..87617137263a 100644 --- a/src/widget/wcuemenupopup.h +++ b/src/widget/wcuemenupopup.h @@ -15,10 +15,10 @@ class ControlProxy; // Custom PushButton which emit a custom signal when right-clicked -class CueTypePushButton : public QPushButton { +class CueMenuPushButton : public QPushButton { Q_OBJECT public: - explicit CueTypePushButton(QWidget* parent = 0) + explicit CueMenuPushButton(QWidget* parent = 0) : QPushButton(parent) { } @@ -64,6 +64,9 @@ class WCueMenuPopup : public QWidget { void slotEditLabel(); void slotDeleteCue(); void slotUpdate(); + void slotStandardCue(); + void slotSavedJumpCueManual(); + void slotSavedJumpCueAuto(); /// This slot is called when the saved loop button is being left pressed, /// which effectively toggle the cue loop between standard cue and saved /// loop. If the cue was never a saved loop, it will use the current @@ -77,6 +80,10 @@ class WCueMenuPopup : public QWidget { void slotChangeCueColor(mixxx::RgbColor::optional_t color); private: + void updateTypeAndColorIfDefault(mixxx::CueType newType); + mixxx::audio::FramePos getCurrentPlayPositionWithQuantize() const; + + UserSettingsPointer m_pConfig; ColorPaletteSettings m_colorPaletteSettings; PollingControlProxy m_pBeatLoopSize; PollingControlProxy m_pPlayPos; @@ -89,8 +96,10 @@ class WCueMenuPopup : public QWidget { std::unique_ptr m_pCuePosition; std::unique_ptr m_pEditLabel; std::unique_ptr m_pColorPicker; - std::unique_ptr m_pDeleteCue; - std::unique_ptr m_pSavedLoopCue; + std::unique_ptr m_pDeleteCue; + std::unique_ptr m_pStandardCue; + std::unique_ptr m_pSavedLoopCue; + std::unique_ptr m_pSavedJumpCue; protected: void closeEvent(QCloseEvent* event) override; diff --git a/src/widget/whotcuebutton.cpp b/src/widget/whotcuebutton.cpp index 50308a2d0952..6de7c8469f60 100644 --- a/src/widget/whotcuebutton.cpp +++ b/src/widget/whotcuebutton.cpp @@ -9,6 +9,7 @@ #include #include +#include "engine/controls/cuecontrol.h" #include "mixer/playerinfo.h" #include "moc_whotcuebutton.cpp" #include "skin/legacy/skincontext.h" @@ -94,6 +95,23 @@ void WHotcueButton::setup(const QDomNode& node, const SkinContext& context) { m_pCoType->connectValueChanged(this, &WHotcueButton::slotTypeChanged); slotTypeChanged(m_pCoType->get()); + m_pCoPosition = make_parented( + createConfigKey(QStringLiteral("position")), + this, + ControlFlag::NoAssertIfMissing); + m_pCoPosition->connectValueChanged(this, &WHotcueButton::slotUpdateDirection); + m_pCoEndPosition = make_parented( + createConfigKey(QStringLiteral("endposition")), + this, + ControlFlag::NoAssertIfMissing); + m_pCoEndPosition->connectValueChanged(this, &WHotcueButton::slotUpdateDirection); + slotUpdateDirection(); + + m_pCoActive = make_parented( + createConfigKey(QStringLiteral("status")), + this, + ControlFlag::NoAssertIfMissing); + addConnection(std::make_unique( this, getLeftClickConfigKey(), // "activate" @@ -116,6 +134,12 @@ void WHotcueButton::setup(const QDomNode& node, const SkinContext& context) { } } +bool WHotcueButton::isActive() const { + return m_pCoActive && + m_pCoActive->get() == + static_cast(HotcueControl::Status::Active); +} + void WHotcueButton::mousePressEvent(QMouseEvent* pEvent) { const bool rightClick = pEvent->button() == Qt::RightButton; if (rightClick) { @@ -274,6 +298,13 @@ void WHotcueButton::slotColorChanged(double color) { restyleAndRepaint(); } +void WHotcueButton::slotUpdateDirection(double) { + m_direction = m_pCoPosition->get() >= m_pCoEndPosition->get() + ? QStringLiteral("forward") + : QStringLiteral("backward"); + restyleAndRepaint(); +} + void WHotcueButton::slotTypeChanged(double type) { switch (static_cast(static_cast(type))) { case mixxx::CueType::Invalid: diff --git a/src/widget/whotcuebutton.h b/src/widget/whotcuebutton.h index 0a95d264197b..f2f660b4aa7e 100644 --- a/src/widget/whotcuebutton.h +++ b/src/widget/whotcuebutton.h @@ -27,6 +27,10 @@ class WHotcueButton : public WPushButton { Q_PROPERTY(bool light MEMBER m_bCueColorIsLight); Q_PROPERTY(bool dark MEMBER m_bCueColorIsDark); Q_PROPERTY(QString type MEMBER m_type); + Q_PROPERTY(QString direction MEMBER m_direction); + Q_PROPERTY(bool active READ isActive); + + bool isActive() const; protected: void mousePressEvent(QMouseEvent* pEvent) override; @@ -39,6 +43,7 @@ class WHotcueButton : public WPushButton { private slots: void slotColorChanged(double color); void slotTypeChanged(double type); + void slotUpdateDirection(double = 0); private: ConfigKey createConfigKey(const QString& name); @@ -49,11 +54,15 @@ class WHotcueButton : public WPushButton { bool m_hoverCueColor; parented_ptr m_pCoColor; parented_ptr m_pCoType; + parented_ptr m_pCoPosition; + parented_ptr m_pCoEndPosition; + parented_ptr m_pCoActive; parented_ptr m_pCueMenuPopup; int m_cueColorDimThreshold; bool m_bCueColorDimmed; bool m_bCueColorIsLight; bool m_bCueColorIsDark; QString m_type; + QString m_direction; QMargins m_dndRectMargins; }; diff --git a/src/widget/woverview.cpp b/src/widget/woverview.cpp index 8dcce984d12c..ba9b5ce364f9 100644 --- a/src/widget/woverview.cpp +++ b/src/widget/woverview.cpp @@ -186,6 +186,8 @@ void WOverview::setup(const QDomNode& node, const SkinContext& context) { m_marks.connectSamplePositionChanged(this, &WOverview::onMarkChanged); m_marks.connectSampleEndPositionChanged(this, &WOverview::onMarkChanged); m_marks.connectVisibleChanged(this, &WOverview::onMarkChanged); + m_marks.connectTypeChanged(this, &WOverview::onMarkChanged); + m_marks.connectStatusChanged(this, &WOverview::onMarkChanged); QDomNode child = node.firstChild(); while (!child.isNull()) { @@ -475,7 +477,8 @@ void WOverview::updateCues(const QList &loadedCues) { int hotcueNumber = currentCue->getHotCue(); if ((currentCue->getType() == mixxx::CueType::HotCue || - currentCue->getType() == mixxx::CueType::Loop) && + currentCue->getType() == mixxx::CueType::Loop || + currentCue->getType() == mixxx::CueType::Jump) && hotcueNumber != Cue::kNoHotCue) { // Prepend the hotcue number to hotcues' labels QString newLabel = currentCue->getLabel(); @@ -971,6 +974,7 @@ void WOverview::drawMarks(QPainter* pPainter, const float offset, const float ga offset + static_cast(samplePosition) * gain, 0.0f, static_cast(width())); + float markStartPosition = markPosition; pMark->m_linePosition = markPosition; QLineF line; @@ -986,15 +990,22 @@ void WOverview::drawMarks(QPainter* pPainter, const float offset, const float ga QRectF rect; double sampleEndPosition = pMark->getSampleEndPosition(); if (sampleEndPosition > 0) { - const float markEndPosition = math_clamp( + float markEndPosition = math_clamp( offset + static_cast(sampleEndPosition) * gain, 0.0f, static_cast(width())); + // If it's a Jump cue, end is later than start for a forward jump, + // so swap positions in this case to get a valid rect for + // painting the range. + if (pMark->isJump() && + markEndPosition < markStartPosition) { + std::swap(markStartPosition, markEndPosition); + } if (m_orientation == Qt::Horizontal) { - rect.setCoords(markPosition, 0, markEndPosition, height()); + rect.setCoords(markStartPosition, 0, markEndPosition, height()); } else { - rect.setCoords(0, markPosition, width(), markEndPosition); + rect.setCoords(0, markStartPosition, width(), markEndPosition); } } @@ -1005,9 +1016,18 @@ void WOverview::drawMarks(QPainter* pPainter, const float offset, const float ga pPainter->drawLine(line); if (rect.isValid()) { - QColor loopColor = pMark->fillColor(); - loopColor.setAlphaF(0.5f); - pPainter->fillRect(rect, loopColor); + QColor rangeColor = pMark->fillColor(); + // Less opacity for inactive jump cues to not unnecessarily obstruct + // the waveform image. + // TODO Use played color for forward jumps to clarify we'll skip that region? + if (pMark->getType() == mixxx::CueType::Jump && pMark->isActive()) { + rangeColor.setAlphaF(0.5f); + } else { + rangeColor.setAlphaF(0.2f); + } + // TODO Instead of uniform painting, use different types of gradients + // loops, jump, intro/outro + pPainter->fillRect(rect, rangeColor); } if (!pMark->m_text.isEmpty()) { From 394c4a429e14840267829738d9bc14403b534da4 Mon Sep 17 00:00:00 2001 From: ronso0 Date: Mon, 26 May 2025 01:17:56 +0200 Subject: [PATCH 132/181] WCueMenuPopup: remove Loopcue conversion from Jump right-click --- src/widget/wcuemenupopup.cpp | 6 ------ 1 file changed, 6 deletions(-) diff --git a/src/widget/wcuemenupopup.cpp b/src/widget/wcuemenupopup.cpp index 74996b765836..1e69059f89b7 100644 --- a/src/widget/wcuemenupopup.cpp +++ b/src/widget/wcuemenupopup.cpp @@ -466,12 +466,6 @@ void WCueMenuPopup::slotSavedJumpCueManual() { return; } auto cueStartEnd = m_pCue->getStartAndEndPosition(); - // If we are changing the cue type from a loop, we need to permute the position - if (m_pCue->getType() == mixxx::CueType::Loop) { - auto endPosition = cueStartEnd.endPosition; - cueStartEnd.endPosition = cueStartEnd.startPosition; - cueStartEnd.startPosition = endPosition; - } auto newPosition = getCurrentPlayPositionWithQuantize(); if (newPosition == cueStartEnd.startPosition) { return; From 51135abba5b0e2def48151f868cd92b0bd30ae22 Mon Sep 17 00:00:00 2001 From: "Antoine C." Date: Sun, 6 Apr 2025 21:10:10 +0000 Subject: [PATCH 133/181] feat: add sound hardware setting section --- CMakeLists.txt | 4 + res/qml/ComboBox.qml | 84 ++- res/qml/ControlSlider.qml | 10 +- res/qml/Fader.qml | 49 ++ res/qml/FormButton.qml | 175 ++++++ res/qml/OrientationToggleButton.qml | 4 +- res/qml/Settings/AudioConnection.qml | 173 ++++++ res/qml/Settings/AudioEntity.qml | 326 +++++++++++ res/qml/Settings/AudioEntityEdge.qml | 24 + res/qml/Settings/AudioRouter.qml | 790 +++++++++++++++++++++++++++ res/qml/Settings/RatioChoice.qml | 309 +++++++++++ res/qml/Settings/SoundHardware.qml | 649 ++++++++++++++++++++-- res/qml/Slider.qml | 185 +++++-- src/coreservices.cpp | 2 + src/engine/enginebuffer.h | 1 + src/qml/qml_owned_ptr.h | 120 ++++ src/qml/qmlsoundmanagerproxy.cpp | 264 +++++++++ src/qml/qmlsoundmanagerproxy.h | 179 ++++++ src/soundio/soundmanager.h | 5 + 19 files changed, 3264 insertions(+), 89 deletions(-) create mode 100644 res/qml/Fader.qml create mode 100644 res/qml/FormButton.qml create mode 100644 res/qml/Settings/AudioConnection.qml create mode 100644 res/qml/Settings/AudioEntity.qml create mode 100644 res/qml/Settings/AudioEntityEdge.qml create mode 100644 res/qml/Settings/AudioRouter.qml create mode 100644 res/qml/Settings/RatioChoice.qml create mode 100644 src/qml/qml_owned_ptr.h create mode 100644 src/qml/qmlsoundmanagerproxy.cpp create mode 100644 src/qml/qmlsoundmanagerproxy.h diff --git a/CMakeLists.txt b/CMakeLists.txt index 9c3fb67dd3c1..e70c0eb60456 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -3455,6 +3455,7 @@ if(QML) src/qml/qmlwaveformrenderer.cpp src/qml/qmlsettingparameter.cpp src/qml/qmltrackproxy.cpp + src/qml/qmlsoundmanagerproxy.cpp src/waveform/renderers/allshader/digitsrenderer.cpp src/waveform/renderers/allshader/waveformrenderbeat.cpp src/waveform/renderers/allshader/waveformrenderer.cpp @@ -4120,6 +4121,9 @@ if(RUBBERBAND) find_package(rubberband REQUIRED) target_link_libraries(mixxx-lib PRIVATE rubberband::rubberband) target_compile_definitions(mixxx-lib PUBLIC __RUBBERBAND__) + if(QML) + target_compile_definitions(mixxx-qml-lib PUBLIC __RUBBERBAND__) + endif() target_sources( mixxx-lib PRIVATE diff --git a/res/qml/ComboBox.qml b/res/qml/ComboBox.qml index b1f36f5be5ef..c7059aef79d4 100644 --- a/res/qml/ComboBox.qml +++ b/res/qml/ComboBox.qml @@ -1,6 +1,8 @@ import "." as Skin import QtQuick 2.12 import QtQuick.Controls 2.12 +import QtQuick.Shapes +import Qt5Compat.GraphicalEffects import "Theme" ComboBox { @@ -17,12 +19,14 @@ ComboBox { required property int index - width: parent.width highlighted: root.highlightedIndex === this.index text: root.textAt(this.index) + padding: 4 + verticalPadding: 8 contentItem: Text { text: itemDlgt.text + font: root.font color: Theme.deckTextColor elide: Text.ElideRight verticalAlignment: Text.AlignVCenter @@ -30,15 +34,16 @@ ComboBox { background: Rectangle { radius: 5 - border.width: itemDlgt.highlighted ? 1 : 0 - border.color: Theme.deckLineColor + border.width: 1 + border.color: itemDlgt.highlighted ? Theme.deckLineColor : "transparent" color: "transparent" } } + indicator.width: 20 + contentItem: Text { leftPadding: 5 - rightPadding: root.indicator.width + root.spacing text: root.displayText font: root.font color: Theme.deckTextColor @@ -49,21 +54,70 @@ ComboBox { popup: Popup { id: popup - y: root.height - width: root.width - implicitHeight: contentItem.implicitHeight + y: root.height/2 + width: root.width - root.indicator.width / 2 + x: root.indicator.width / 2 + height: Math.min(root.indicator.implicitHeight*3 + root.indicator.width, 150) + + padding: 0 + + contentItem: Item { + // implicitHeight: contentHeight + Item { + id: content + anchors.fill: parent + Shape { + anchors.top: parent.top + anchors.right: parent.right + anchors.rightMargin: 3 + width: root.indicator.width-3 + height: width + antialiasing: true + layer.enabled: true + layer.samples: 4 + ShapePath { + fillColor: Theme.embeddedBackgroundColor + strokeColor: Theme.deckBackgroundColor + strokeWidth: 2 + startX: parent.width/2; startY: 0 + fillRule: ShapePath.WindingFill + capStyle: ShapePath.RoundCap + PathLine { x: root.indicator.width; y: root.indicator.width } + PathLine { x: 0; y: root.indicator.width } + PathLine { x: (root.indicator.width) / 2; y: 0 } + } + } + Skin.EmbeddedBackground { + anchors.topMargin: root.indicator.width + anchors.fill: parent + ListView { + clip: true + + anchors.fill: parent - contentItem: ListView { - clip: true - implicitHeight: contentHeight - model: root.popup.visible ? root.delegateModel : null - currentIndex: root.highlightedIndex + bottomMargin: 0 + leftMargin: 0 + rightMargin: 0 + topMargin: 0 - ScrollIndicator.vertical: ScrollIndicator { + model: root.popup.visible ? root.delegateModel : null + currentIndex: root.highlightedIndex + + ScrollIndicator.vertical: ScrollIndicator { + } + } + } + } + DropShadow { + anchors.fill: parent + horizontalOffset: 0 + verticalOffset: 0 + radius: 8.0 + color: "#000000" + source: content } } - background: Skin.EmbeddedBackground { - } + background: Item {} } } diff --git a/res/qml/ControlSlider.qml b/res/qml/ControlSlider.qml index 0afd7021c0d4..82d2709e60bc 100644 --- a/res/qml/ControlSlider.qml +++ b/res/qml/ControlSlider.qml @@ -2,15 +2,19 @@ import "." as Skin import Mixxx 1.0 as Mixxx import QtQuick 2.12 -Skin.Slider { - property alias group: control.group - property alias key: control.key +Skin.Fader { + id: root + + required property string group + required property string key value: control.parameter onMoved: control.parameter = value Mixxx.ControlProxy { id: control + group: root.group + key: root.key } TapHandler { diff --git a/res/qml/Fader.qml b/res/qml/Fader.qml new file mode 100644 index 000000000000..bcae15fdde9b --- /dev/null +++ b/res/qml/Fader.qml @@ -0,0 +1,49 @@ +import Mixxx.Controls 1.0 as MixxxControls +import Qt5Compat.GraphicalEffects +import QtQuick 2.12 +import "Theme" + +MixxxControls.Slider { + id: root + + property alias fg: handleImage.source + property alias bg: backgroundImage.source + + bar: true + barMargin: 10 + implicitWidth: backgroundImage.implicitWidth + implicitHeight: backgroundImage.implicitHeight + + Image { + id: handleImage + + visible: false + source: Theme.imgSliderHandle + fillMode: Image.PreserveAspectFit + } + + handle: Item { + id: handleItem + + width: handleImage.paintedWidth + height: handleImage.paintedHeight + x: root.horizontal ? (root.visualPosition * (root.width - width)) : ((root.width - width) / 2) + y: root.vertical ? (root.visualPosition * (root.height - height)) : ((root.height - height) / 2) + + DropShadow { + source: handleImage + width: parent.width + 5 + height: parent.height + 5 + radius: 5 + verticalOffset: 5 + color: "#80000000" + } + } + + background: Image { + id: backgroundImage + + anchors.fill: parent + anchors.margins: root.barMargin + } +} diff --git a/res/qml/FormButton.qml b/res/qml/FormButton.qml new file mode 100644 index 000000000000..ac6ac3ad6ce8 --- /dev/null +++ b/res/qml/FormButton.qml @@ -0,0 +1,175 @@ +import Qt5Compat.GraphicalEffects +import QtQuick 2.12 +import QtQuick.Controls 2.12 +import "Theme" + +AbstractButton { + id: root + + property color normalColor: Theme.white + property color backgroundColor: "#3F3F3F" + property color activeColor: Theme.deckActiveColor + property color pressedColor: activeColor + property bool highlight: false + + implicitWidth: 98 + implicitHeight: 20 + states: [ + State { + name: "pressed" + when: root.pressed + + PropertyChanges { + backgroundImage.color: root.checked ? "#3a60be" : root.backgroundColor + } + + PropertyChanges { + label.color: root.pressedColor + } + + PropertyChanges { + bottomInnerEffect.color: '#353535' + } + + PropertyChanges { + topInnerEffect.color: '#353535' + } + + PropertyChanges { + labelGlow.visible: true + } + + }, + State { + name: "active" + when: (root.highlight || root.checked) && !root.pressed + + PropertyChanges { + backgroundImage.color: "#2D4EA1" + } + + PropertyChanges { + label.color: root.activeColor + } + + PropertyChanges { + bottomInnerEffect.color: '#353535' + } + + PropertyChanges { + topInnerEffect.color: '#353535' + } + + PropertyChanges { + labelGlow.visible: true + } + + }, + State { + name: "inactive" + when: !root.checked && !root.highlight && !root.pressed + + PropertyChanges { + label.color: root.normalColor + } + + PropertyChanges { + labelGlow.visible: false + } + } + ] + + background: Item { + anchors.fill: parent + + Rectangle { + id: backgroundImage + visible: false + + anchors.fill: parent + color: root.backgroundColor + radius: 4 + } + InnerShadow { + id: bottomInnerEffect + anchors.fill: parent + radius: 8 + samples: 16 + spread: 0.3 + horizontalOffset: -1 + verticalOffset: -1 + color: "transparent" + source: backgroundImage + } + InnerShadow { + id: topInnerEffect + anchors.fill: parent + radius: 8 + samples: 16 + spread: 0.3 + horizontalOffset: 1 + verticalOffset: 1 + color: "transparent" + source: bottomInnerEffect + } + + DropShadow { + id: dropEffect + anchors.fill: parent + horizontalOffset: 0 + verticalOffset: 0 + radius: 4.0 + color: "#0E0E0E" + source: topInnerEffect + } + } + + contentItem: Item { + anchors.fill: parent + + Glow { + id: labelGlow + + anchors.fill: parent + radius: 1 + spread: 0.1 + color: label.color + source: label + } + + Label { + id: label + + visible: root.text != null + + anchors.fill: parent + text: root.text + horizontalAlignment: Text.AlignHCenter + verticalAlignment: Text.AlignVCenter + font.family: Theme.fontFamily + font.capitalization: Font.AllUppercase + font.bold: true + font.pixelSize: Theme.buttonFontPixelSize + color: root.normalColor + } + Image { + id: image + + height: icon.height + width: icon.width + anchors.centerIn: parent + + source: icon.source + fillMode: Image.PreserveAspectFit + asynchronous: true + visible: false + } + ColorOverlay { + anchors.fill: image + source: image + visible: icon.source != null + color: root.normalColor + antialiasing: true + } + } +} diff --git a/res/qml/OrientationToggleButton.qml b/res/qml/OrientationToggleButton.qml index 280cd3baf443..556c69fc2bec 100644 --- a/res/qml/OrientationToggleButton.qml +++ b/res/qml/OrientationToggleButton.qml @@ -13,7 +13,7 @@ Item { implicitWidth: 56 implicitHeight: 26 - Skin.Slider { + Skin.Fader { id: orientationSlider anchors.fill: parent @@ -28,7 +28,7 @@ Item { stepSize: 1 value: control.value orientation: Qt.Horizontal - snapMode: Slider.SnapOnRelease + snapMode: Fader.SnapOnRelease onMoved: { // The slider's `value` is not updated until after the move ended. const val = valueAt(visualPosition); diff --git a/res/qml/Settings/AudioConnection.qml b/res/qml/Settings/AudioConnection.qml new file mode 100644 index 000000000000..5dac3d13b7a5 --- /dev/null +++ b/res/qml/Settings/AudioConnection.qml @@ -0,0 +1,173 @@ +import QtQuick 2.12 +import QtQuick.Shapes +import "../Theme" + +Item { + id: root + + enum Flags { + AboutToDelete = 1, + CannotConnect = 2 + } + + required property var source + required property var router + property var sink: undefined + property var target: source.mapToItem(router, source.width/2, source.height/2) + + property bool system: false + property bool vertical: false + property bool existing: false + property int flags: 0 + + readonly property bool ready: !!source && !!sink + + visible: !source || !sink || source.visible && sink.visible + + z: 0 + + states: [ + State { + name: "warning" + when: root.flags + + PropertyChanges { + line.strokeColor: Theme.warningColor + } + + PropertyChanges { + root.z: 50 + } + }, + State { + name: "system" + when: root.system + + PropertyChanges { + line.strokeColor: Theme.darkGray2 + } + }, + State { + name: "existing" + when: root.existing + + PropertyChanges { + line.strokeColor: Theme.midGray + } + }, + State { + name: "setting" + when: root.sink === undefined + + PropertyChanges { + line.strokeColor: Theme.accentColor + } + + PropertyChanges { + root.z: 50 + } + }, + State { + name: "set" + when: root.sink != undefined && !root.existing + + PropertyChanges { + line.strokeColor: Theme.accentColor + } + } + ] + + property var sourcePosition: source.mapToItem(router, source.width/2, source.height/2) + property var sinkPosition: sink ? sink.mapToItem(router, sink.width/2, sink.height/2) : target + + onSinkPositionChanged: { + scale.xScale = sourcePosition.x > sinkPosition.x ? -1 : 1 + scale.yScale = sourcePosition.y > sinkPosition.y ? -1 : 1 + } + + onSourcePositionChanged: { + scale.xScale = sourcePosition.x > sinkPosition.x ? -1 : 1 + scale.yScale = sourcePosition.y > sinkPosition.y ? -1 : 1 + } + + x: sourcePosition.x + y: sourcePosition.y + width: Math.max(2, Math.abs(sourcePosition.x - sinkPosition.x)) + height: Math.max(2, Math.abs(sourcePosition.y - sinkPosition.y)) + + onSinkChanged: { + if (sink != null && source != null) { + // swap entities if the connection was made backward + if (source.type !== "source") { + let swap = root.source + root.source = root.sink + root.sink = swap + return; + } + target = null + if (sink.connections !== undefined) { + sink.connections.add(root) + } else { + sink.connection = root + } + if (source.connections !== undefined) { + source.connections.add(root) + } else { + source.connection = root + } + } + } + onSourceChanged: { + if (sink != null && source != null) { + // swap entities if the connection was made backward + if (source.type !== "source") { + let swap = root.source + root.source = root.sink + root.sink = swap + return; + } + target = null + if (sink.connections !== undefined) { + sink.connections.add(root) + } else { + sink.connection = root + } + if (source.connections !== undefined) { + source.connections.add(root) + } else { + source.connection = root + } + } + } + onTargetChanged: { + if (!source) + return + scale.xScale = sourcePosition.x > sinkPosition.x ? -1 : 1 + scale.yScale = sourcePosition.y > sinkPosition.y ? -1 : 1 + } + + Shape { + anchors.fill: parent + // anchors.centerIn: parent + antialiasing: true + layer.enabled: true + layer.samples: 16 + layer.textureMirroring: ShaderEffectSource.MirrorHorizontally + ShapePath { + id: line + strokeColor: Theme.midGray + strokeWidth: 2 + fillColor: "transparent" + capStyle: ShapePath.RoundCap + joinStyle: ShapePath.BevelJoin + + startX: 1 + startY: 1 + PathQuad { x: root.width * 0.5; y: root.height * 0.5; controlX: root.width * (root.vertical ? 0 : 0.3); controlY : root.height * (root.vertical ? 0.3 : 0) } + PathQuad { x: root.width; y: root.height; controlX: root.width * (root.vertical ? 1 : 0.7); controlY : root.height * (root.vertical ? 0.7 : 1) } + } + } + transform: Scale { + id: scale + } +} diff --git a/res/qml/Settings/AudioEntity.qml b/res/qml/Settings/AudioEntity.qml new file mode 100644 index 000000000000..d797ba96ef13 --- /dev/null +++ b/res/qml/Settings/AudioEntity.qml @@ -0,0 +1,326 @@ +import QtQuick 2.12 +import QtQuick.Controls +import QtQuick.Layouts +import ".." as Skin +import "../Theme" + +Item { + id: root + + signal connect(var entity) + signal disconnect(var entity) + + signal scrolled() + signal gatewayReady(string address, Item node) + + required property string name + required property string group + property list gateways: [] + property bool advanced: false + + implicitHeight: 54 + 32 * gatewayRepeater.visibleChannels + width: 135 + z: 10 + + onGatewaysChanged: { + gatewayRepeater.visibleChannels = root.gateways.length + } + + property alias handleSource: handleSourceEdge + property alias handleSink: handleSinkEdge + + property var metaType: null + Rectangle { + id: content + radius: 15 + color: Theme.darkGray3 + anchors.fill: parent + anchors.margins: 8 + Column { + id: gatewayColumn + anchors.fill: parent + padding: 0 + spacing: 4 + + Item { + height: nameLabel.implicitHeight + 18 + width: parent.width + Label { + id: nameLabel + anchors.fill: parent + anchors.margins: 9 + horizontalAlignment: Text.AlignHCenter + verticalAlignment: Text.AlignTop + text: name + color: Theme.white + elide: Text.ElideRight + font.pixelSize: 15 + fontSizeMode: Text.Fit + } + } + + Repeater { + id: gatewayRepeater + model: root.gateways + property int visibleChannels: root.gateways.length + Repeater { + id: node + + required property int index + readonly property string label: root.gateways[index].name + readonly property string address: root.gateways[index].address || root.gateways[index].name + readonly property var channels: root.gateways[index].channels || [0, 1] + readonly property var instances: root.gateways[index].instances || 1 + readonly property string type: root.gateways[index].type + readonly property bool advanced: root.gateways[index].advanced || false + readonly property bool required: !!root.gateways[index].required + + model: node.channels.length/2 * instances + + property list channelAssignation: [...Array(node.channels.length/2)].map((_, i) => i) + + function availableEdge() { + for (let i = 0; i < node.count; i++) { + let current = node.itemAt(i); + if (current.edgeItem.connection) continue; + return i; + } + } + function assignedEdges() { + let assignation = {} + for (let i = 0; i < node.count; i++) { + let current = node.itemAt(i); + if (current.edgeItem.connection) { + assignation[node.channelAssignation[i]] = current.edgeItem.connection + } + } + return assignation + } + property int connectionCount: 0 + Item { + id: channel + + required property int index + property alias edgeItem: edge + property bool counted: channel.index == 0 + + visible: (edgeItem.connection?.ready || index == node.connectionCount) && (!node.advanced || root.advanced) + onVisibleChanged: { + if (counted != channel.visible) + gatewayRepeater.visibleChannels += channel.visible ? 1 : -1 + counted = channel.visible + } + + width: parent.width + height: 28 + RowLayout { + anchors { + left: parent.left + right: parent.right + leftMargin: 15 + rightMargin: 15 + } + id: inputLabel + Label { + Layout.fillWidth: true + Layout.alignment: Qt.AlignVCenter + Layout.preferredHeight: 28 + verticalAlignment: Text.AlignVCenter + text: node.instances == 1 ? label : `${label} #${index+1}` + color: Theme.white + elide: Text.ElideRight + font.pixelSize: 10 + fontSizeMode: Text.Fit + } + // Item { + // Layout.fillWidth: true + // } + Skin.ComboBox { + Layout.minimumWidth: implicitWidth + id: channelSelector + property int previousIndex: node.channelAssignation[channel.index] ?? 0 + visible: node.count > 1 && node.channels.length > 2 + spacing: 2 + clip: true + + font.pixelSize: 12 + model: { + return [...Array(node.channels.length/2)].map((e, i) => `Ch ${i * 2 + node.channels[0] + 1} - ${i * 2 + node.channels[0] + 2}`); + } + currentIndex: node.channelAssignation[channel.index] ?? 0 + onActivated: (activatedIndex) => { + let alreadyAssigned = node.channelAssignation.indexOf(activatedIndex) + node.channelAssignation[alreadyAssigned] = previousIndex + node.channelAssignation[channel.index] = activatedIndex + } + } + } + Rectangle { + id: edge + property var entity: root + property var advanced: node.advanced + property int instance: index / (node.channels.length/2) + property string type: node.type + property string group: root.group + property var address: node.address + + anchors.horizontalCenter: type == "source" ? parent.right : parent.left + anchors.verticalCenter: inputLabel.verticalCenter + + property var connection: null + property bool counted: false + property bool connecting: false + + onConnectionChanged: { + if (counted != !!edge.connection) + node.connectionCount += edge.connection ? 1 : -1 + counted = !!edge.connection + } + + function updateConnectionPosition() { + if (edge.connection && edge.connection.source == edge) { + edge.connection.sourcePosition = edge.mapToItem(edge.connection.router, edge.width/2, edge.height/2) + } else if (edge.connection && edge.connection.sink == edge) { + edge.connection.sinkPosition = edge.mapToItem(edge.connection.router, edge.width/2, edge.height/2) + } + } + + Connections { + target: root + function onScrolled() { + edge.updateConnectionPosition() + } + function onXChanged() { + edge.updateConnectionPosition() + } + function onYChanged() { + edge.updateConnectionPosition() + } + } + + Connections { + target: channel + function onHeightChanged() { + edge.updateConnectionPosition() + } + function onYChanged() { + edge.updateConnectionPosition() + } + } + + color: Theme.midGray + width: 10 + height: width + radius: width/2 + z: 100 + + states: [ + State { + name: "idle" + }, + State { + name: "warning" + when: (!edge.connection && node.required) || (edge.connection && edge.connection.state == "warning") + + PropertyChanges { + edge.width: 15 + edge.color: Theme.warningColor + } + }, + State { + name: "hidden" + when: edge.connection && !edge.connection.visible + + PropertyChanges { + channel.opacity: 0.5 + } + }, + State { + name: "setting" + when: edge.connection && !edge.connection.existing || edge.connecting + + PropertyChanges { + edge.width: 15 + edge.color: Theme.accentColor + } + } + ] + + MouseArea { + id: edgeMouseArea + hoverEnabled: edge.connection != null && edge.connection.visible + anchors.fill: parent + onPressed: { + if (edge.connection && edge.connection.flags & AudioConnection.Flags.AboutToDelete) { + root.disconnect(edge.connection) + } else if (edge.connection == null) { + root.connect(parent) + } + } + onEntered: { + if (edge.connection) { + edge.connection.flags |= AudioConnection.Flags.AboutToDelete + } + } + onExited: { + if (edge.connection) { + edge.connection.flags &= ~AudioConnection.Flags.AboutToDelete + } + } + } + } + } + Component.onCompleted: { + root.gatewayReady(address, node) + } + } + } + } + AudioEntityEdge { + id: handleSourceEdge + entity: root + type: "source" + + Connections { + target: root + + function onImplicitHeightChanged() { + handleSourceEdge.updateConnectionPosition() + } + function onXChanged() { + handleSourceEdge.updateConnectionPosition() + } + function onYChanged() { + handleSourceEdge.updateConnectionPosition() + } + } + + anchors.horizontalCenter: handleSourceEdge.vertical ? parent.horizontalCenter : parent.right + anchors.verticalCenter: handleSourceEdge.vertical ? parent.bottom : undefined + anchors.top: handleSourceEdge.vertical ? undefined :parent.top + anchors.topMargin: handleSourceEdge.vertical ? 0 :16 + } + AudioEntityEdge { + id: handleSinkEdge + entity: root + type: "sink" + + Connections { + target: root + + function onImplicitHeightChanged() { + handleSinkEdge.updateConnectionPosition() + } + function onXChanged() { + handleSinkEdge.updateConnectionPosition() + } + function onYChanged() { + handleSinkEdge.updateConnectionPosition() + } + } + + anchors.horizontalCenter: handleSinkEdge.vertical ? parent.horizontalCenter : parent.left + anchors.verticalCenter: handleSinkEdge.vertical ? parent.top : parent.verticalCenter + } + } +} diff --git a/res/qml/Settings/AudioEntityEdge.qml b/res/qml/Settings/AudioEntityEdge.qml new file mode 100644 index 000000000000..45b67f584b52 --- /dev/null +++ b/res/qml/Settings/AudioEntityEdge.qml @@ -0,0 +1,24 @@ +import QtQuick 2.12 + +Rectangle { + id: root + property bool vertical: false + required property var entity + required property string type + + property var connections: new Set() + + color: 'transparent' + width: 10 + height: 10 + + function updateConnectionPosition() { + for (let connection of connections) { + if (connection && connection.source == root) { + connection.sourcePosition = root.mapToItem(connection.router, root.width/2, root.height/2) + } else if (connection && connection.sink == root) { + connection.sinkPosition = root.mapToItem(connection.router, root.width/2, root.height/2) + } + } + } +} diff --git a/res/qml/Settings/AudioRouter.qml b/res/qml/Settings/AudioRouter.qml new file mode 100644 index 000000000000..48a0a8ba6fb1 --- /dev/null +++ b/res/qml/Settings/AudioRouter.qml @@ -0,0 +1,790 @@ +import Mixxx 1.0 as Mixxx +import QtQuick 2 +import QtQuick.Layouts +import "../Theme" + +Rectangle { + id: root + color: '#0E0E0E' + radius: 5 + clip: true + + enum Mode { + Simple, + Advanced, + Legacy + } + + property var connections: new Set() + property var selectedTab: "" + property var newConnection: null + readonly property var mode: modeChoice.selected == "simple" ? AudioRouter.Mode.Simple : modeChoice.selected == "legacy" ? AudioRouter.Mode.Legacy : AudioRouter.Mode.Advanced + + property int hiddenConnections: 2 + + onModeChanged: { + updateHiddenConnectionCount() + } + + property var manager: Mixxx.SoundManager + + property Component connectionEdge: Qt.createComponent("AudioConnection.qml") + + property var inputDevices: new Object() + property var outputDevices: new Object() + + property var system: new Object() + property bool hasChanges: false + + property alias multiSoundcard: multiSoundcardChoice + + property var inputs: new Object() + property var outputs: new Object() + + function updateHiddenConnectionCount() { + root.hiddenConnections = 0 + if (root.mode == AudioRouter.Mode.Simple) { + for (let connection of root.connections) { + if (connection.source?.advanced || connection.sink?.advanced) { + root.hiddenConnections += 1 + } + } + } + } + + // FriendlyName aims to parse the raw device name extract it in such a way that it gets grouped within the UI + // Note that naming structures changes across API and devices. This function is experimental and aims to be extended with more logic + // If not extraction works, it will fallback to return the device name as "card name" (a.k.a a group on the router) and a single channel names "Default" + function friendlyName(api, rawName) { + // "api" value can be found in https://github.com/PortAudio/portaudio + switch (api) { + // TODO unimplemented, need some data or platform to test with + // case "JACK Audio Connection Kit": + // case "OSS": + // case "iOS Audio": + // case "Core Audio": + // case "AudioIO": + // case "AudioScience HPI": + // case "PulseAudio": + // case "sndio": + + case "ALSA": { + const hwAlsa = / (\(hw:\d+,\d+\))/; + let components = rawName.split(':') + let cardName = components.shift().trim() + let deviceName = components.length > 0 ? components.join(":").trim().replace(hwAlsa, "") : "Default" + return [cardName, deviceName] + } + case "MME": { + // API truncates the name to 31 chars + if (rawName.length === 31 && rawName.substr(-1) !== ')') { + const match = /(.+) \((.*)/.exec(rawName) + if (match) { + const [_, deviceName, cardName, ..._loopback] = match + return [cardName, deviceName] + } + break + } + } + case "ASIO": + case "Windows DirectSound": + case "Windows WASAPI": { + const match = /(.+) \((.*)\)( \[Loopback\])?/.exec(rawName) + if (match) { + const [_, deviceName, cardName, ..._loopback] = match + return [cardName, deviceName] + } + break + } + case "Windows WDM-KS": { + const match = /(.+) \((.*)\)( \[Loopback\])?/.exec(rawName.replace(/\r?\n/g, '')) + if (match) { + let [_, deviceName, cardName, ..._loopback] = match + if (cardName.startsWith("@System32\\drivers")) { + let components = cardName.split(";") + cardName = components[components.length - 1] + } + return [cardName, deviceName] + } + break + } + } + + return [rawName, ""] + } + + function generateDeviceList(api, devices, existing) { + console.log(`generating device list for: ${JSON.stringify(devices)}`) + let cards = {} + // cardName -> deviceName -> duplicateCount + let deviceNameDuplicate = {} + for (let device of devices) { + let [cardName, deviceName] = root.friendlyName(api, device.displayName) + cardName = !cardName ? "Unnamed card" : cardName + deviceName = !deviceName ? "Default" : deviceName + console.log(`cardName=${cardName},deviceName=${deviceName}`) + if (cards[cardName] === undefined) { + cards[cardName] = { + gateways: { + [deviceName]: { + name: deviceName, + node: existing[cardName]?.gateways?.[deviceName]?.node ?? null, + device: device, + channels: device.channelCount + } + }, + channelCount: device.channelCount, + } + continue + } + console.log(`cards=${cards[cardName]}`) + + // If the group (card name) has already a "Default" channel, we add the new channel as "Default #N" for better UX + if (cards[cardName].gateways[deviceName] !== undefined) { + if (deviceNameDuplicate[cardName] === undefined) { + deviceNameDuplicate[cardName] = { + [deviceName]: 1 + } + } else { + deviceNameDuplicate[cardName][deviceName] = (deviceNameDuplicate[cardName][deviceName] ?? 0) + 1 + } + deviceName = `${deviceName} #${deviceNameDuplicate[cardName][deviceName] + 1}` + } + + cards[cardName].gateways[deviceName] = { + name: deviceName, + node: existing[cardName]?.gateways?.[deviceName]?.node ?? null, + device: device, + channels: device.channelCount + } + cards[cardName].channelCount += device.channelCount + } + return cards + } + + function update(api) { + console.log(`Using sound api: ${api} ${typeof api}`) + root.inputs = generateDeviceList(api, manager.availableInputDevices(api), root.inputs) + root.outputs = generateDeviceList(api, manager.availableOutputDevices(api), root.outputs) + root.loadConnections() + } + + function registerInputEdge(device, address, node) { + root.inputs[device].gateways[address].node = node + if (root.inputs[device].gateways[address].delayedConnections) { + addExistingConnection(node, root.inputs[device].gateways[address].delayedConnections) + root.inputs[device].gateways[address].delayedConnections = undefined + } + } + function registerOutputEdge(device, address, node) { + root.outputs[device].gateways[address].node = node + if (root.outputs[device].gateways[address].delayedConnections) { + addExistingConnection(node, root.outputs[device].gateways[address].delayedConnections) + root.outputs[device].gateways[address].delayedConnections = undefined + } + } + + readonly property list audioTypeMap: [ + {entity: "Mixer",channel: "Main"}, // Main, + {entity: "Mixer",channel: "PFL"}, // Headphones, + {entity: "Mixer",channel: "Booth"}, // Booth, + {entity: "Mixer",channel: "Bus"}, // Bus, + {entity: "Deck",channel: "Output"}, // Deck, + {entity: "Deck",channel: "Vinyl Control"}, // VinylControl, + {entity: "Mixer",channel: "Microphone"}, // Microphone, + {entity: "Mixer",channel: "Auxiliary"}, // Auxiliary, + {entity: "Record",channel: "Additional input"}, // RecordBroadcast, + ] + + function addExistingConnection(node, connections) { + if (!connections) return; + for (let connection of connections) { + let typeDef = audioTypeMap[connection.type] + let source = root.system[typeDef.entity].gateways[typeDef.channel][connection.index].edgeItem + let availableEdge = node.availableEdge() + if (!source || availableEdge === null) { + console.error("Unable to get the source and sink of the existing connection!", source, availableEdge) + continue; + } + let connectionItem = root.connectionEdge.createObject(root, { + "existing": true, + "router": root, + "source": source, + "sink": node.itemAt(availableEdge).edgeItem, + }) + root.connections.add(connectionItem) + node.channelAssignation[availableEdge] = connection.channelGroup / 2 + } + root.updateHiddenConnectionCount() + } + + function loadConnections() { + while (root.connections.size) { + let connection = root.connections.keys().next().value; + root.entityOnDisconnect(connection) + } + + for (let device of Object.keys(root.outputs)) { + for (let address of Object.keys(root.outputs[device].gateways)) { + let gateway = root.outputs[device].gateways[address] + let node = gateway.node + let connections = root.outputs[device].gateways[address].device.connections(Mixxx.SoundManager) + + if (!connections) continue; + if (node) { + addExistingConnection(node, connections) + } else if (connections.length) { + root.outputs[device].gateways[address].delayedConnections = connections + } + } + } + + for (let device of Object.keys(root.inputs)) { + for (let address of Object.keys(root.inputs[device].gateways)) { + let gateway = root.inputs[device].gateways[address] + let node = gateway.node + let connections = root.inputs[device].gateways[address].device.connections(Mixxx.SoundManager) + console.log("INPUT", gateway, node, connections) + + if (!connections) continue; + if (node) { + addExistingConnection(node, connections) + } else if (connections.length) { + root.inputs[device].gateways[address].delayedConnections = connections + } + } + } + + root.hasChanges = false + } + + MouseArea { + enabled: root.newConnection != null + anchors.fill: parent + hoverEnabled: true + preventStealing: true + onPositionChanged: (mouse) => { + if (root.newConnection) { + root.newConnection.target = Qt.point(mouse.x, mouse.y) + } + } + onExited: { + if (root.newConnection) { + root.newConnection.destroy(); + root.newConnection.source.connection = null + root.newConnection = null + } + } + onPressed: { + if (root.newConnection) { + root.newConnection.destroy(); + root.newConnection.source.connection = null + root.newConnection = null + } + } + } + + function entityOnConnect(edge) { + if (root.newConnection != null) { + if (edge.type == root.newConnection.source.type || edge.group == root.newConnection.source.group || edge.entity == root.newConnection.source.entity) { + root.newConnection.flags |= AudioConnection.Flags.CannotConnect + return; + } + root.newConnection.source.connecting = false + if (root.newConnection.source == edge) { + root.newConnection.destroy(); + } else { + root.newConnection.sink = edge + root.connections.add(root.newConnection) + root.hasChanges = true + } + root.newConnection = null + } else { + root.newConnection = connectionEdge.createObject(root, {"router": root, "source": edge}); + } + } + + function entityOnDisconnect(connection) { + var sink = connection.sink; + var source = connection.source; + root.connections.delete(connection) + if (connection.existing) + root.hasChanges = true + + if (source != null) { + if (source.connection !== undefined) { + source.connection = null + } else { + source.connections.delete(connection) + } + } + + if (sink != null) { + if (sink.connection !== undefined) { + sink.connection = null + } else { + sink.connections.delete(connection) + } + } + connection.destroy() + } + + RowLayout { + anchors.fill: parent + + ColumnLayout { + visible: root.mode == AudioRouter.Mode.Advanced + Layout.fillHeight: true + Layout.minimumWidth: 200 + Layout.maximumWidth: 220 + Text { + Layout.alignment: Qt.AlignHCenter + Layout.margins: 15 + text: "Inputs" + color: '#626262' + font.pixelSize: 14 + } + + ListView { + id: inputList + Layout.margins: 15 + Layout.fillHeight: true + Layout.fillWidth: true + model: Object.keys(root.inputs) + clip: true + reuseItems: false + spacing: 15 + delegate: AudioEntity { + id: inputEntity + required property var modelData + width: ListView.view.width + + name: modelData + group: "external" + gateways: { + let channels = [] + let maxChannelPerInput = 4 / root.inputs[modelData].channelCount; + for (let item of Object.values(root.inputs[modelData].gateways)) { + let channel = 0 + for (; channel < item.channels && channel <= maxChannelPerInput; channel += 2) { + channels.push({ + name: item.name, + address: item.address, + channels: [channel, channel+1], + type: "source", + advanced: true + }); + } + + if (channel < item.channels) { + let start = channels[channels.length-1].channels[0] + let channelPicker = [...Array(item.channels - start)] + channels[channels.length-1].channels = channelPicker.map((_, i) => start+i) + } + } + return channels; + } + advanced: root.mode == AudioRouter.Mode.Advanced + + onGatewayReady: (address, node) => { + root.registerInputEdge(modelData, address, node) + } + + onConnect: (point) => root.entityOnConnect(point) + onDisconnect: (point) => root.entityOnDisconnect(point) + Connections { + target: inputList + function onContentYChanged() { + inputEntity.scrolled() + } + function onXChanged() { + inputEntity.scrolled() + } + function onYChanged() { + inputEntity.scrolled() + } + function onWidthChanged() { + inputEntity.scrolled() + } + function onHeightChanged() { + inputEntity.scrolled() + } + } + } + } + } + Rectangle { + visible: root.mode == AudioRouter.Mode.Advanced + Layout.fillHeight: true + Layout.preferredWidth: 1 + color: '#626262' + } + ColumnLayout { + id: mainCanvas + RowLayout { + Layout.topMargin: 6 + Layout.bottomMargin: 3 + Item { + Layout.fillWidth: true + } + RatioChoice { + id: modeChoice + options: [ + "simple", + !root.hiddenConnections ? "advanced" : "advanced (!)", + "legacy" + ] + onOptionsChanged: { + if (modeChoice.selected.startsWith("advanced")) { + modeChoice.selected = options[1] + } + } + tooltips: !root.hiddenConnections ? [] : [null, `${root.hiddenConnections} connection${root.hiddenConnections > 1 ? 's' : ''} hidden\nUse the advanced mode to view them`, null] + } + } + Item { + Layout.fillHeight: true + } + RowLayout { + Layout.bottomMargin: 3 + RatioChoice { + id: multiSoundcardChoice + normalizedWidth: false + options: [ + "experimental", + "default", + "disabled" + ] + tooltips: [ + "No delay", + "Long delay", + "Short delay" + ] + + onSelectedChanged: { + root.hasChanges = true + } + + Mixxx.SettingParameter { + label: "Multi-Soundcard Synchronization" + } + } + Text { + text: "Multi-Soundcard Synchronization" + color: Theme.white + font.pixelSize: 14 + } + Item { + Layout.fillWidth: true + } + } + } + Rectangle { + visible: root.mode != AudioRouter.Mode.Legacy + Layout.fillHeight: true + Layout.preferredWidth: 1 + color: '#626262' + } + + ColumnLayout { + visible: root.mode != AudioRouter.Mode.Legacy + Layout.fillHeight: true + Layout.minimumWidth: 200 + Layout.maximumWidth: 220 + Text { + Layout.alignment: Qt.AlignHCenter + Layout.margins: 15 + text: "Outputs" + color: '#626262' + font.pixelSize: 14 + } + + ListView { + id: outputList + Layout.margins: 15 + Layout.fillHeight: true + Layout.fillWidth: true + model: Object.keys(root.outputs) + clip: true + reuseItems: false + spacing: 15 + cacheBuffer: Math.max(0, contentHeight) // Disable lazy loading to make sure all item are loaded and can be bounded to connection + delegate: AudioEntity { + id: outputEntity + required property var modelData + width: ListView.view.width + + name: modelData + group: "external" + gateways: { + let channels = [] + let maxChannelPerOutput = 4 / root.outputs[modelData].channelCount; + for (let item of Object.values(root.outputs[modelData].gateways)) { + let channel = 0 + for (; channel < item.channels && channel <= maxChannelPerOutput; channel += 2) { + channels.push({ + name: item.name, + address: item.address, + channels: [channel, channel+1], + type: "sink" + }); + } + + if (channel < item.channels) { + let start = channels[channels.length-1].channels[0] + let channelPicker = [...Array(item.channels - start)] + channels[channels.length-1].channels = channelPicker.map((_, i) => start+i) + } + } + return channels; + } + + onGatewayReady: (address, node) => { + root.registerOutputEdge(modelData, address, node) + } + + onConnect: (point) => root.entityOnConnect(point) + onDisconnect: (point) => root.entityOnDisconnect(point) + Connections { + target: outputList + function onContentYChanged() { + outputEntity.scrolled() + } + function onXChanged() { + outputEntity.scrolled() + } + function onYChanged() { + outputEntity.scrolled() + } + function onWidthChanged() { + outputEntity.scrolled() + } + function onHeightChanged() { + outputEntity.scrolled() + } + } + } + } + + Item { + Layout.fillHeight: true + } + } + } + + Repeater { + id: decks + model: 4 + AudioEntity { + visible: root.mode != AudioRouter.Mode.Legacy + required property int index + id: deck + x: root.width / (root.mode == AudioRouter.Mode.Advanced ? 4 : 5) + y: (root.height / 5) * (1 + index) - implicitHeight / 2 + + name: `Deck ${index+1}` + group: "internal" + gateways: [{ + name: "Output", + type: "source", + advanced: true + }, { + name: "Vinyl Control", + type: "sink", + advanced: true + } + ] + advanced: root.mode == AudioRouter.Mode.Advanced + + onConnect: (point) => root.entityOnConnect(point) + onDisconnect: (point) => root.entityOnDisconnect(point) + + onGatewayReady: (address, node) => { + if (!root.system["Deck"]) { + root.system["Deck"] = { + gateways: {} + } + } + if (!root.system["Deck"].gateways[address]) { + root.system["Deck"].gateways[address] = [] + } + root.system["Deck"].gateways[address][deck.index] = node.itemAt(0) + } + } + onItemAdded: (index, item) => { + deckConnections.items.push(item) + } + onItemRemoved: (index, item) => { + deckConnections.items.slice(deckConnections.items.indexOf(item), 1) + } + } + + AudioEntity { + visible: root.mode != AudioRouter.Mode.Legacy + id: mixer + + x: root.width / 2 + y: Math.max(root.height / 16 , root.height / (root.mode == AudioRouter.Mode.Advanced ? 3 : 2) - implicitHeight / 2) + + name: "Mixer" + group: "internal" + + advanced: root.mode == AudioRouter.Mode.Advanced + + gateways: [{ + name: "PFL", + type: "source" + }, { + name: "Main", + type: "source", + required: true + }, { + name: "Booth", + type: "source" + }, { + name: "Left Bus", + type: "source", + advanced: true + }, { + name: "Center Bus", + type: "source", + advanced: true + }, { + name: "Right Bus", + type: "source", + advanced: true + }, { + name: "Auxiliary", + type: "sink", + instances: 4, + advanced: true + }, { + name: "Microphone", + type: "sink", + instances: 4, + advanced: true + } + ] + + Mixxx.SettingParameter { + label: "PFL" + } + Mixxx.SettingParameter { + label: "Main" + } + Mixxx.SettingParameter { + label: "Booth" + } + Mixxx.SettingParameter { + label: "Mixer" + } + Mixxx.SettingParameter { + label: "Decks" + } + Mixxx.SettingParameter { + label: "Input" + } + Mixxx.SettingParameter { + label: "Output" + } + Mixxx.SettingParameter { + label: "Broadcast" + } + + handleSource.vertical: mixer.height < root.height*0.75 + + onConnect: (point) => root.entityOnConnect(point) + onDisconnect: (point) => root.entityOnDisconnect(point) + + onGatewayReady: (address, node) => { + if (!root.system["Mixer"]) { + root.system["Mixer"] = { + gateways: {} + } + } + let nodeIdxOffset = 0 + if (address.endsWith(" Bus")) { + nodeIdxOffset = address.startsWith("Left ") ? 0 : address.startsWith("Right ") ? 2 : 1 + address = "Bus" + } + console.log("register", address, nodeIdxOffset) + if (!root.system["Mixer"].gateways[address]) { + root.system["Mixer"].gateways[address] = [] + } + for (let nodeIdx = 0; nodeIdx < node.count; nodeIdx++) { + root.system["Mixer"].gateways[address][nodeIdxOffset + nodeIdx] = node.itemAt(nodeIdx) + } + } + } + Repeater { + id: deckConnections + property list items: [] + model: items + AudioConnection { + visible: root.mode != AudioRouter.Mode.Legacy + required property var modelData + router: root + source: modelData.handleSource + sink: mixer.handleSink + system: true + } + } + AudioEntity { + id: record + visible: root.mode == AudioRouter.Mode.Advanced + + x: root.width / 5 * 3 + y: root.height / 5 * 4 - implicitHeight / 2 + + name: "Record/Broadcast" + group: "internal" + metaType: "sink" + + handleSink.vertical: true + + gateways: [{ + name: "Alternative input", + type: "sink" + } + ] + property var alternativeConnection: null + readonly property bool hasAlternativeConnection: alternativeConnection && alternativeConnection.ready + + onConnect: (point) => { + if (root.newConnection != null) { + record.alternativeConnection = root.newConnection + } + root.entityOnConnect(point) + if (root.newConnection != null) { + record.alternativeConnection = root.newConnection + } + } + onDisconnect: (point) => { + record.alternativeConnection = null + root.entityOnDisconnect(point) + } + + onGatewayReady: (address, node) => { + if (!root.system["Record"]) { + root.system["Record"] = { + gateways: {} + } + } + if (!root.system["Record"].gateways[address]) { + root.system["Record"].gateways[address] = [] + } + node = node.itemAt(0) + root.system["Record"].gateways[address][node.index] = node + } + } + + AudioConnection { + visible: root.mode == AudioRouter.Mode.Advanced && !record.hasAlternativeConnection + + router: root + source: mixer.handleSource + sink: record.handleSink + system: true + vertical: true + } +} diff --git a/res/qml/Settings/RatioChoice.qml b/res/qml/Settings/RatioChoice.qml new file mode 100644 index 000000000000..137e24cf7bc1 --- /dev/null +++ b/res/qml/Settings/RatioChoice.qml @@ -0,0 +1,309 @@ +import QtQuick 2.12 +import QtQuick.Controls +import QtQuick.Layouts +import QtQuick.Shapes +import Qt5Compat.GraphicalEffects +import "../Theme" +import ".." as Skin + +Item { + id: root + required property list options + property list tooltips: [] + property string selected: options.length ? options[0] : null + property real spacing: 9 + property real maxWidth: 0 + property bool normalizedWidth: true + + onTooltipsChanged: { + popup.close() + } + + FontMetrics { + id: fontMetrics + font.pixelSize: 14 + font.capitalization: Font.AllUppercase + } + + implicitHeight: (contentList.visible ? contentList.height : contentSpin.height) + dropRatio.radius * 2 + implicitWidth: (contentList.visible ? contentList.width : contentSpin.width) + dropRatio.radius * 2 + readonly property real cellSize: { + Math.max.apply(null, options.map((option) => fontMetrics.advanceWidth(option))) + root.spacing*2 + } + + Rectangle { + id: contentList + visible: root.maxWidth == 0 || root.maxWidth > root.cellSize * root.options.length + anchors.centerIn: parent + height: 24 + width: { + if (root.normalizedWidth) { + root.cellSize * root.options.length + root.spacing + } else { + options.reduce((acc, option) => acc + fontMetrics.advanceWidth(option) + root.spacing*2, 0) + root.spacing + } + } + color: '#2B2B2B' + radius: height / 2 + RowLayout { + anchors.fill: parent + Repeater { + model: options + Item { + required property int index + required property var modelData + width: root.normalizedWidth ? root.cellSize : fontMetrics.advanceWidth(modelData) + root.spacing*2 + height: contentList.height + Rectangle { + anchors.fill: parent + color: root.selected == modelData ? Theme.accentColor : 'transparent' + radius: height / 2 + id: contentOption + Text { + text: modelData + color: Theme.white + anchors.fill: parent + horizontalAlignment: Text.AlignHCenter + verticalAlignment: Text.AlignVCenter + font: fontMetrics.font + } + MouseArea { + anchors.fill: parent + hoverEnabled: !!root.tooltips[index] + onPressed: { + root.selected = modelData + } + + onEntered: { + if (!root.tooltips[index]) return; + popup.tooltip = root.tooltips[index] || "" + popup.x = Qt.binding(function() { return contentOption.mapToItem(root, 0, 0).x + contentOption.width / 2 - popup.width / 2; }) + popup.open() + } + onExited: { + popup.close() + } + } + } + InnerShadow { + visible: root.selected == modelData + id: bottomOptionInnerEffect + anchors.fill: parent + radius: 8 + samples: 32 + spread: 0.4 + horizontalOffset: -1 + verticalOffset: -1 + color: "#0E2A54" + source: contentOption + } + InnerShadow { + visible: root.selected == modelData + id: topOptionInnerEffect + anchors.fill: parent + radius: 8 + samples: 32 + spread: 0.4 + horizontalOffset: 1 + verticalOffset: 1 + color: "#0E2A54" + source: bottomOptionInnerEffect + } + } + } + } + } + SpinBox { + id: contentSpin + visible: !contentList.visible + anchors.centerIn: parent + from: 0 + padding: 0 + spacing: root.spacing + to: root.options.length - 1 + font: fontMetrics.font + value: root.options.indexOf(root.selected) + + property real textWidth: fontMetrics.advanceWidth(root.options.reduce((accumulator, currentValue) => accumulator.length > currentValue.length ? accumulator : currentValue, "")) + + contentItem: Item { + width: contentSpin.textWidth + 2 * contentSpin.spacing + Rectangle { + id: content + anchors.fill: parent + color: Theme.accentColor + radius: height / 2 + Text { + id: textLabel + anchors.fill: parent + text: contentSpin.textFromValue(contentSpin.value, contentSpin.locale) ?? "" + color: Theme.white + font: contentSpin.font + horizontalAlignment: Text.AlignHCenter + verticalAlignment: Text.AlignVCenter + } + } + InnerShadow { + id: bottomInnerEffect + anchors.fill: parent + radius: 8 + samples: 32 + spread: 0.4 + horizontalOffset: -1 + verticalOffset: -1 + color: "#0E2A54" + source: content + } + InnerShadow { + id: topInnerEffect + anchors.fill: parent + radius: 8 + samples: 32 + spread: 0.4 + horizontalOffset: 1 + verticalOffset: 1 + color: "#0E2A54" + source: bottomInnerEffect + } + } + + component Indicator: Rectangle { + required property string text + height: implicitHeight + implicitWidth: 24 + implicitHeight: 24 + radius: parent.height / 2 + color: '#2B2B2B' + border.width: 0 + + Text { + text: parent.text + font.pixelSize: contentSpin.font.pixelSize + color: Theme.white + anchors.fill: parent + fontSizeMode: Text.Fit + horizontalAlignment: Text.AlignHCenter + verticalAlignment: Text.AlignVCenter + } + } + + up.indicator: Indicator { + x: contentSpin.mirrored ? 0 : parent.width - width + text: ">" + } + + down.indicator: Indicator { + x: contentSpin.mirrored ? parent.width - width : 0 + text: "<" + } + + background: Rectangle { + implicitWidth: contentSpin.textWidth + 2 * contentSpin.spacing + 48 + radius: parent.height / 2 + color: '#2B2B2B' + } + + textFromValue: function(value) { + return root.options[value]; + } + + valueFromText: function(text) { + for (var i = 0; i < root.options.length; ++i) { + if (root.options[i].toLowerCase().indexOf(text.toLowerCase()) === 0) + return i + } + return contentSpin.value + } + + onValueChanged: { + root.selected = contentSpin.textFromValue(value) ?? "" + popup.tooltip = root.tooltips[contentSpin.value] ?? "" + popup.x = contentSpin.width / 2 - popup.width / 2 + } + MouseArea { + anchors.fill: parent + hoverEnabled: true + + onEntered: { + if (!root.tooltips[contentSpin.value]) return; + popup.x = contentSpin.width / 2 - popup.width / 2 + popup.open() + } + onExited: { + popup.close() + } + onPressed: { + mouse.accepted = false + } + } + } + DropShadow { + id: dropRatio + anchors.margins: dropRatio.radius + anchors.fill: root + horizontalOffset: 0 + verticalOffset: 0 + radius: 4.0 + color: "#80000000" + source: contentList.visible ? contentList : contentSpin + } + Popup { + id: popup + y: root.height + x: 0 + width: Math.max(tooltip.implicitWidth* 1.5, 50) + height: tooltip.implicitHeight + 15 + closePolicy: Popup.NoAutoClose + + property string tooltip: "" + + padding: 0 + + contentItem: Item { + Item { + id: contentPopup + anchors.fill: parent + Shape { + anchors.top: parent.top + anchors.horizontalCenter: parent.horizontalCenter + width: 20 + height: width + antialiasing: true + layer.enabled: true + layer.samples: 4 + ShapePath { + fillColor: Theme.embeddedBackgroundColor + strokeColor: Theme.deckBackgroundColor + strokeWidth: 2 + startX: 10; startY: 0 + fillRule: ShapePath.WindingFill + capStyle: ShapePath.RoundCap + PathLine { x: 20; y: 10 } + PathLine { x: 0; y: 10 } + PathLine { x: 10; y: 0 } + } + } + Skin.EmbeddedBackground { + anchors.topMargin: 10 + anchors.fill: parent + Text { + anchors.centerIn: parent + id: tooltip + color: Theme.white + text: popup.tooltip + } + } + } + DropShadow { + anchors.fill: parent + horizontalOffset: 0 + verticalOffset: 0 + radius: 8.0 + color: "#000000" + source: contentPopup + } + } + + background: Item {} + } +} diff --git a/res/qml/Settings/SoundHardware.qml b/res/qml/Settings/SoundHardware.qml index b1b6f70c9de2..16ca0c5d56c9 100644 --- a/res/qml/Settings/SoundHardware.qml +++ b/res/qml/Settings/SoundHardware.qml @@ -1,5 +1,8 @@ import QtQuick +import QtQuick.Layouts import Mixxx 1.0 as Mixxx +import ".." as Skin +import "../Theme" Category { id: root @@ -7,58 +10,630 @@ Category { label: "Sound hardware" tabs: ["engine", "delays", "stats"] - Mixxx.SettingGroup { - label: "Engine" - visible: root.selectedIndex == 0 + property bool hasChanges: router.hasChanges + property bool committing: false - onActivated: { - root.selectedIndex = 0; - } + Mixxx.ControlProxy { + id: mainEnabled + group: "[Master]" + key: "enabled" + } + Mixxx.ControlProxy { + id: headEnabled + group: "[Master]" + key: "headEnabled" + } + Mixxx.ControlProxy { + id: boothEnabled + group: "[Master]" + key: "booth_enabled" + } + Mixxx.ControlProxy { + id: mainDelay + group: "[Master]" + key: "delay" + } + Mixxx.ControlProxy { + id: headDelay + group: "[Master]" + key: "headDelay" + } + Mixxx.ControlProxy { + id: boothDelay + group: "[Master]" + key: "boothDelay" + } + Mixxx.ControlProxy { + id: monoMix + group: "[Master]" + key: "mono_mixdown" + } + Mixxx.ControlProxy { + id: micMonitorMode + group: "[Master]" + key: "talkover_mix" + } - Mixxx.SettingParameter { - label: "A cyan square" + function save() { + const manager = Mixxx.SoundManager; + mainEnabled.value = mainMixEnabled.options.indexOf(mainMixEnabled.selected) + monoMix.value = !mainOutputMode.options.indexOf(mainOutputMode.selected) + manager.setForceNetworkClock(soundClock.options[1] == soundClock.selected) + manager.setSampleRate(parseInt(sampleRate.selected)) + manager.setAudioBufferSizeIndex(audioBuffer.currentIndex + 1) + micMonitorMode.value = microphoneMonitorMode.currentIndex + manager.setAPI(soundApi.selected) + manager.setKeylockEngine(keylock.options.indexOf(keylock.selected)) - Rectangle { - color: 'cyan' - height: 20 - width: 20 + // Router + manager.setSyncBuffers(router.multiSoundcard.options.indexOf(router.multiSoundcard.selected)) + + let connectionsHandler = (connections, device) => { + for (let channel of Object.keys(connections)) { + let connection = connections[channel] + let type; + let index = 0; + let isOutput = true + if (connection.source.entity.name == "Mixer") { + switch (connection.source.address) { + case "Main": + type = 0; + break; + case "PFL": + type = 1; + break; + case "Booth": + type = 2; + break; + case "Left Bus": + case "Center Bus": + case "Right Bus": + index = connection.source.address.startsWith("Left") ? 0 : connection.source.address.startsWith("Right") ? 2 : 1; + type = 3; + break; + default: + console.error(`unsupported address: ${connection.source.address}`) + continue; + } + } else if (connection.sink.entity.name == "Mixer") { + isOutput = false; + type = connection.sink.address == "Auxiliary" ? 7 : 6; + index = connection.sink.instance; + } else if (connection.source.entity.name.startsWith("Deck ") && connection.source.address == "Output") { + type = 4; + index = parseInt(connection.source.entity.name.split(' ')[1])-1; + } else if (connection.sink.entity.name.startsWith("Deck ")) { + isOutput = false; + type = connection.source.address == "Output" ? 4 : 5; + index = parseInt(connection.sink.entity.name.split(' ')[1])-1; + } else if (connection.sink.entity.name == "Microphone") { + isOutput = false; + type = 6 + index = connection.sink.instance; + } else if (connection.sink.entity.name == "Auxiliary") { + isOutput = false; + type = 7; + index = connection.sink.instance; + } else if (connection.sink.entity.name == "RecordBroadcast") { + isOutput = false; + type = 8; + index = connection.sink.instance; + } else { + console.error(`unsupported entity: ${connection.source.entity.name} ${connection.sink.entity.name}`) + continue; + } + console.log(isOutput ? "addOutput" : "addInput", device, type, channel * 2, index) + if (isOutput) { + manager.addOutput(device, type, channel * 2, index) + } else { + manager.addInput(device, type, channel * 2, index) + } + } + }; + manager.clearOutputs() + for (let device of Object.keys(router.outputs)) { + for (let address of Object.keys(router.outputs[device].gateways)) { + let gateway = router.outputs[device].gateways[address] + let connections = gateway.node && gateway.node.assignedEdges ? gateway.node.assignedEdges() : {}; + connectionsHandler(connections, gateway.device) + } + } + manager.clearInputs() + for (let device of Object.keys(router.inputs)) { + for (let address of Object.keys(router.inputs[device].gateways)) { + let gateway = router.inputs[device].gateways[address] + let connections = gateway.node && gateway.node.assignedEdges ? gateway.node.assignedEdges() : {}; + connectionsHandler(connections, gateway.device) } } + + mainDelay.value = mainDelaySlider.value + boothDelay.value = boothDelaySlider.value + headDelay.value = headphoneDelaySlider.value + + root.committing = true + manager.commit() } - Mixxx.SettingGroup { - label: "Delays" - visible: root.selectedIndex == 1 - onActivated: { - root.selectedIndex = 1; - } + function load() { + const manager = Mixxx.SoundManager; + mainMixEnabled.selected = mainMixEnabled.options[mainEnabled.value ? 0 : 1 ] + mainOutputMode.selected = mainOutputMode.options[monoMix.value ? 0 : 1 ] + soundClock.selected = soundClock.options[manager.getForceNetworkClock() ? 1 : 0 ] + sampleRate.update(manager.getAPI()) + sampleRate.selected = qsTr("%1 Hz").arg(manager.getSampleRate()) + audioBuffer.currentIndex = manager.getAudioBufferSizeIndex() - 1 + microphoneMonitorMode.enabled = manager.hasMicInputs() + microphoneMonitorMode.currentIndex = micMonitorMode.value + soundApi.options = manager.getHostAPIList() + soundApi.selected = manager.getAPI() + keylock.update() + keylock.selected = keylock.options[manager.getKeylockEngine()] - Mixxx.SettingParameter { - label: "A magenta square" + // Router + router.multiSoundcard.selected = router.multiSoundcard.options[manager.getSyncBuffers()] + router.update(manager.getAPI()) - Rectangle { - color: 'magenta' - height: 20 - width: 20 - } - } + //Delays + mainDelayLabel.enabled = mainEnabled.value + mainDelaySlider.enabled = mainEnabled.value + mainDelaySlider.value = mainDelay.value + boothDelayLabel.enabled = boothEnabled.value + boothDelaySlider.enabled = boothEnabled.value + boothDelaySlider.value = boothDelay.value + headphoneDelayLabel.enabled = headEnabled.value + headphoneDelaySlider.enabled = headEnabled.value + headphoneDelaySlider.value = headDelay.value + + root.hasChanges = Qt.binding(function() { return router.hasChanges; }); } - Mixxx.SettingGroup { - label: "Stats" - visible: root.selectedIndex == 2 - onActivated: { - root.selectedIndex = 2; - } + Component.onCompleted: { + load() + } + + ColumnLayout { + anchors.fill: parent + + Item { + id: tabSection + Layout.fillWidth: true + Layout.preferredHeight: root.selectedIndex == 0 ? engine.height : delays.height + Mixxx.SettingGroup { + label: "Engine" + visible: root.selectedIndex == 0 + onActivated: { + root.selectedIndex = 0 + } + anchors.left: parent.left + anchors.right: parent.right + RowLayout { + id: engine + anchors.left: parent.left + anchors.right: parent.right + ColumnLayout { + Layout.fillWidth: true + Layout.alignment: Qt.AlignTop + RowLayout { + Text { + Mixxx.SettingParameter { + label: "Main Mix" + } + Layout.fillWidth: true + text: "Main Mix" + color: Theme.white + font.pixelSize: 14 + } + RatioChoice { + id: mainMixEnabled + options: [ + "on", + "off" + ] + selected: options[mainEnabled.value ? 0 : 1 ] + onSelectedChanged: { + root.hasChanges = true + } + } + } + + RowLayout { + Text { + Mixxx.SettingParameter { + label: "Main Output Mode" + } + Layout.fillWidth: true + text: "Main Output Mode" + color: Theme.white + font.pixelSize: 14 + } + RatioChoice { + id: mainOutputMode + options: [ + "mono", + "stereo" + ] + selected: options[monoMix.value ? 0 : 1 ] + onSelectedChanged: { + root.hasChanges = true + } + } + } + + RowLayout { + Text { + Mixxx.SettingParameter { + label: "Sound Clock" + } + Layout.fillWidth: true + text: "Sound Clock" + color: Theme.white + font.pixelSize: 14 + } + RatioChoice { + id: soundClock + options: [ + "soundcard", + "network" + ] + onSelectedChanged: { + root.hasChanges = true + } + } + } + + RowLayout { + Text { + Layout.fillWidth: true + text: "Keylock engine" + color: Theme.white + font.pixelSize: 14 + } + RatioChoice { + id: keylock + normalizedWidth: false + maxWidth: tabSection.width * 0.4 + options: [] + tooltips: [] - Mixxx.SettingParameter { - label: "A white square" + function update() { + let options = [] + let tooltips = [] + for (let engine of Mixxx.SoundManager.getKeylockEngines()) { + switch (engine) { + case 0: + options.push(qsTr("Soundtouch")) + tooltips.push(qsTr("Faster")) + break + case 1: + options.push(qsTr("Rubberband")) + tooltips.push(qsTr("Better")) + break + case 2: + options.push(qsTr("Rubberband R3")) + tooltips.push(qsTr("Near-hi-fi quality")) + break + } + } + keylock.options = options + keylock.tooltips = tooltips + } + onSelectedChanged: { + root.hasChanges = true + } + + Mixxx.SettingParameter { + label: "Keylock engine" + } + } + } + } + Item { + Layout.preferredWidth: 70 + } + ColumnLayout { + Layout.alignment: Qt.AlignTop + RowLayout { + Text { + Layout.fillWidth: true + text: "Sound API" + color: Theme.white + font.pixelSize: 14 + } + RatioChoice { + id: soundApi + maxWidth: tabSection.width * 0.4 + options: [] + + onSelectedChanged: { + root.hasChanges = true + router.update(soundApi.selected) + sampleRate.update(soundApi.selected) + } + + Mixxx.SettingParameter { + label: "Sound API" + } + } + } + RowLayout { + Text { + Mixxx.SettingParameter { + label: "Sample Rate" + } + Layout.fillWidth: true + text: "Sample Rate" + color: Theme.white + font.pixelSize: 14 + } + RatioChoice { + id: sampleRate + Layout.minimumWidth: sampleRate.implicitWidth + options: [] + function update(api) { + let data = [] + for (let sampleRate of Mixxx.SoundManager.getSampleRates(api)) { + data.push(qsTr("%1 Hz").arg(sampleRate)); + } + sampleRate.options = data + } + onSelectedChanged: { + root.hasChanges = true + } + } + } + + Connections { + target: sampleRate + function onSelectedChanged() { + let sampleRateValue = parseInt(sampleRate.selected) + audioBuffer.update(sampleRateValue) + } + } + + RowLayout { + Text { + Mixxx.SettingParameter { + label: "Audio Buffer" + } + Layout.fillWidth: true + text: "Audio Buffer" + color: Theme.white + font.pixelSize: 14 + } + Skin.ComboBox { + id: audioBuffer + spacing: 2 + clip: true + + font.pixelSize: 12 + + function update(sampleRate) { + let data = [] + let framesPerBuffer = 1; + for (; framesPerBuffer / sampleRate * 1000 < 1.0; framesPerBuffer *= 2) { + } + for (let i = 0; i < 7; i++) { + const latency = framesPerBuffer / sampleRate * 1000; + // i + 1 in the next line is a latency index as described in SSConfig + data.push(qsTr("%1 ms").arg(latency.toFixed(1))); + framesPerBuffer *= 2 + } + let currentIndex = audioBuffer.currentIndex + audioBuffer.model = data + audioBuffer.currentIndex = currentIndex + } + onCurrentIndexChanged: { + root.hasChanges = true + } + } + } + + RowLayout { + Text { + Mixxx.SettingParameter { + label: "Microphone Monitor Mode" + } + Layout.fillWidth: true + text: "Microphone Monitor Mode" + color: Theme.white + opacity: Mixxx.SoundManager.hasMicInputs() ? 1.0 : 0.5 + font.pixelSize: 14 + } + Skin.ComboBox { + id: microphoneMonitorMode + spacing: 2 + clip: true + opacity: enabled ? 1.0 : 0.5 + + font.pixelSize: 12 + model: [ + "Main output only", + "Main and booth outputs", + "Direct monitor (recording and broadcasting only)" + ] + onCurrentIndexChanged: { + root.hasChanges = true + } + } + } + } + } + } + + Mixxx.SettingGroup { + label: "Delays" + visible: root.selectedIndex == 1 + onActivated: { + root.selectedIndex = 1 + } + anchors.left: parent.left + anchors.right: parent.right + GridLayout { + id: delays + anchors.left: parent.left + anchors.right: parent.right + columns: 2 + rowSpacing: 0 + Text { + Mixxx.SettingParameter { + label: "Main Output" + } + id: mainDelayLabel + Layout.fillWidth: true + text: "Main Output" + color: Theme.white + opacity: enabled ? 1 : 0.5 + font.pixelSize: 14 + } + Skin.Slider { + id: mainDelaySlider + Layout.fillWidth: true + markers: ["0ms", "100ms", "1s", "10s", null] + suffix: "ms" + slider.to: 1000 + + onValueChanged: { + root.hasChanges = true + } + } + Text { + Mixxx.SettingParameter { + label: "Booth Output" + } + id: boothDelayLabel + Layout.fillWidth: true + text: "Booth Output" + color: Theme.white + opacity: enabled ? 1 : 0.5 + enabled: boothEnabled.value + font.pixelSize: 14 + } + Skin.Slider { + id: boothDelaySlider + Layout.fillWidth: true + markers: ["0ms", "100ms", "1s", "10s", null] + suffix: "ms" + enabled: boothEnabled.value + value: boothDelay.value + slider.to: 1000 + + onValueChanged: { + root.hasChanges = true + } + } + Text { + Mixxx.SettingParameter { + label: "Headphone Output" + } + id: headphoneDelayLabel + Layout.fillWidth: true + text: "Headphone Output" + color: Theme.white + opacity: enabled ? 1 : 0.5 + enabled: headEnabled.value + font.pixelSize: 14 + } + Skin.Slider { + id: headphoneDelaySlider + Layout.fillWidth: true + markers: ["0ms", "100ms", "1s", "10s", null] + suffix: "ms" + enabled: headEnabled.value + value: headDelay.value + slider.to: 1000 + + onValueChanged: { + root.hasChanges = true + } + } + } + } + + Mixxx.SettingGroup { + label: "Stats" + visible: root.selectedIndex == 2 + onActivated: { + root.selectedIndex = 2 + } + Mixxx.SettingParameter { + label: "A white square" + Rectangle { + width: 20 + height: 20 + color: 'white' + } + } + } + } + Mixxx.SettingGroup { + label: "Router" + Layout.fillWidth: true + Layout.fillHeight: true + AudioRouter { + id: router + anchors.fill: parent + } Rectangle { - color: 'white' - height: 20 - width: 20 + anchors.fill: parent + visible: root.committing + color: Qt.alpha('grey', 0.3) + MouseArea { + anchors.fill: parent + preventStealing: true + hoverEnabled: true + + onWheel: (mouse)=> { + mouse.accepted = true + } + } + } + } + RowLayout { + Layout.topMargin: 4 + Skin.FormButton { + enabled: !root.committing + visible: root.hasChanges + text: "Cancel" + opacity: enabled ? 1.0 : 0.5 + backgroundColor: "#7D3B3B" + activeColor: "#999999" + onPressed: { + root.load() + } + } + Item { + Layout.fillWidth: true + } + Text { + Layout.alignment: Qt.AlignVCenter + Layout.rightMargin: 16 + id: errorMessage + text: "" + color: "#7D3B3B" + } + Skin.FormButton { + enabled: root.hasChanges && !root.committing + text: "Save" + opacity: enabled ? 1.0 : 0.5 + backgroundColor: root.hasChanges ? "#3a60be" : "#3F3F3F" + activeColor: "#999999" + onPressed: { + errorMessage.text = "" + root.save() + } + } + } + } + Connections { + target: Mixxx.SoundManager + function onCommitted(error) { + root.committing = false + if (error) { + errorMessage.text = error } + root.load() } } } diff --git a/res/qml/Slider.qml b/res/qml/Slider.qml index bcae15fdde9b..ae9f828f73f0 100644 --- a/res/qml/Slider.qml +++ b/res/qml/Slider.qml @@ -1,49 +1,170 @@ -import Mixxx.Controls 1.0 as MixxxControls import Qt5Compat.GraphicalEffects import QtQuick 2.12 +import QtQuick.Controls +import QtQuick.Layouts import "Theme" -MixxxControls.Slider { +RowLayout { id: root + property list markers: ["", ""] - property alias fg: handleImage.source - property alias bg: backgroundImage.source + property alias suffix: textInputSection.suffix + property alias slider: control + property alias value: control.value - bar: true - barMargin: 10 - implicitWidth: backgroundImage.implicitWidth - implicitHeight: backgroundImage.implicitHeight + height: 30 - Image { - id: handleImage + Slider { + id: control - visible: false - source: Theme.imgSliderHandle - fillMode: Image.PreserveAspectFit - } - - handle: Item { - id: handleItem + Layout.fillWidth: true - width: handleImage.paintedWidth - height: handleImage.paintedHeight - x: root.horizontal ? (root.visualPosition * (root.width - width)) : ((root.width - width) / 2) - y: root.vertical ? (root.visualPosition * (root.height - height)) : ((root.height - height) / 2) + background: Item { + x: control.leftPadding + 7 + implicitWidth: 200 + implicitHeight: 4 + width: control.availableWidth - 7 + height: control.availableHeight + Rectangle { + width: parent.width + height: 4 + radius: 2 + color: "#181818" + } + Repeater { + id: delegate + model: markers + anchors.fill: parent + anchors.leftMargin: 7 + Item { + required property int index + required property var modelData + x: parent.width * (index / (delegate.model.length - 1)) + y: -4 + height: control.availableHeight - DropShadow { - source: handleImage - width: parent.width + 5 - height: parent.height + 5 - radius: 5 - verticalOffset: 5 - color: "#80000000" + Rectangle { + id: mark + visible: modelData != null + anchors { + top: parent.top + } + width: 1 + height: 11 + color: Qt.alpha(Theme.white, 0.25) + } + Text { + id: label + visible: modelData != null + anchors { + top: mark.bottom + topMargin: 4 + horizontalCenter: mark.left + } + color: Qt.alpha(Theme.white, 0.25) + font.pixelSize: 9 + text: modelData ?? "" + } + } + } + } + handle: Item { + x: control.leftPadding + control.visualPosition * (control.availableWidth - width) + y: -5 + width: 14 + height: 14 + Rectangle { + id: handle + anchors.fill: parent + radius: 7 + color: Theme.accentColor + } + InnerShadow { + id: handleEffect1 + anchors.fill: parent + samples: 16 + horizontalOffset: 0 + verticalOffset: 0 + radius: 16.0 + color: "#0E2A54" + source: handle + } + DropShadow { + id: handleEffect2 + anchors.fill: parent + source: handleEffect1 + horizontalOffset: 0 + verticalOffset: 0 + radius: 12.0 + color: Qt.alpha(Theme.darkGray, 0.25) + } } } + FocusScope { + id: textInputSection + Layout.leftMargin: 17 + Layout.minimumWidth: fontMetrics.advanceWidth + 8 + Layout.preferredHeight: 30 + Layout.margins: 4 - background: Image { - id: backgroundImage + property string suffix: "" + visible: suffix.length > 0 - anchors.fill: parent - anchors.margins: root.barMargin + Rectangle { + id: backgroundInput + radius: 4 + color: Theme.darkGray2 + anchors.fill: parent + anchors.margins: 4 + } + DropShadow { + id: dropSetting + anchors.fill: parent + horizontalOffset: 0 + verticalOffset: 0 + radius: 4.0 + color: Theme.darkGray + source: backgroundInput + } + InnerShadow { + id: effect2 + anchors.fill: parent + source: dropSetting + spread: 0.2 + radius: 12 + samples: 24 + horizontalOffset: 0 + verticalOffset: 0 + color: "#353535" + } + Item { + anchors.fill: parent + anchors.margins: 4 + TextInput { + anchors.left: parent.left + anchors.right: inputField.left + anchors.margins: 3 + focus: true + color: Qt.alpha(acceptableInput ? Theme.white : Theme.warningColor, root.enabled ? 1 : 0.5) + onAccepted: { + control.value = parseInt(text) + } + text: Math.round(control.value) + horizontalAlignment: TextInput.AlignRight + validator: IntValidator {bottom: control.from; top: control.to} + } + Text { + id: inputField + anchors.right: parent.right + anchors.margins: textInputSection.suffix.length > 0 ? 10 : 0 + text: textInputSection.suffix + color: Qt.alpha(Theme.white, root.enabled ? 1 : 0.5) + TextMetrics { + id: fontMetrics + font.family: inputField.font.family + text: `${control.to} ${parent.text}` + } + } + } } } diff --git a/src/coreservices.cpp b/src/coreservices.cpp index 040b9dad15b9..a2ff74d8391f 100644 --- a/src/coreservices.cpp +++ b/src/coreservices.cpp @@ -43,6 +43,7 @@ #include "qml/qmleffectsmanagerproxy.h" #include "qml/qmllibraryproxy.h" #include "qml/qmlplayermanagerproxy.h" +#include "qml/qmlsoundmanagerproxy.h" #endif #include "soundio/soundmanager.h" #include "sources/soundsourceproxy.h" @@ -513,6 +514,7 @@ void CoreServices::initializeQMLSingletons() { mixxx::qml::QmlPlayerManagerProxy::registerPlayerManager(getPlayerManager()); mixxx::qml::QmlConfigProxy::registerUserSettings(getSettings()); mixxx::qml::QmlLibraryProxy::registerLibrary(getLibrary()); + mixxx::qml::QmlSoundManagerProxy::registerManager(getSoundManager()); ControllerScriptEngineBase::registerTrackCollectionManager(getTrackCollectionManager()); diff --git a/src/engine/enginebuffer.h b/src/engine/enginebuffer.h index f844235565c9..37b4387224a1 100644 --- a/src/engine/enginebuffer.h +++ b/src/engine/enginebuffer.h @@ -89,6 +89,7 @@ class EngineBuffer : public EngineObject { RubberBandFiner = 2, #endif }; + Q_ENUM(KeylockEngine); // intended for iteration over the KeylockEngine enum constexpr static std::initializer_list kKeylockEngines = { diff --git a/src/qml/qml_owned_ptr.h b/src/qml/qml_owned_ptr.h new file mode 100644 index 000000000000..58c68f815d9f --- /dev/null +++ b/src/qml/qml_owned_ptr.h @@ -0,0 +1,120 @@ +#pragma once + +#include +#include +#include +#include + +#include "util/assert.h" + +// Use this wrapper class to clearly represent a raw pointer that is owned by a +// QML Engine. Objects which derive from QObject, have their lifetime governed +// by the QML (or JavaScript) Engine, and thus such pointers do not require a +// manual delete to free the heap memory when they go out of scope, as they will +// be handled by the engine garbage collector. +template + requires(std::is_base_of_v) +class qml_owned_ptr final { + public: + explicit qml_owned_ptr(T* t = nullptr) noexcept + : m_ptr{t} { + if (m_ptr) { + QQmlEngine::setObjectOwnership(m_ptr, QQmlEngine::JavaScriptOwnership); + } + } + + // explicitly generate trivial destructor (since decltype(m_ptr) is not a class type) + ~qml_owned_ptr() noexcept = default; + + // Rule of 5 + qml_owned_ptr(const qml_owned_ptr& other) + : m_ptr{other.m_ptr} { + DEBUG_ASSERT(!m_ptr || + QQmlEngine::objectOwnership(m_ptr) == + QQmlEngine::JavaScriptOwnership); + } + qml_owned_ptr& operator=(const qml_owned_ptr&) = delete; + qml_owned_ptr(const qml_owned_ptr&& other) + : m_ptr{other.m_ptr} { + DEBUG_ASSERT(!m_ptr || + QQmlEngine::objectOwnership(m_ptr) == + QQmlEngine::JavaScriptOwnership); + } + qml_owned_ptr& operator=(const qml_owned_ptr&& other) = delete; + + // If U* is convertible to T* then qml_owned_ptr is convertible to qml_owned_ptr + template< + typename U, + typename = typename std::enable_if_t, U>> + qml_owned_ptr(qml_owned_ptr&& u) noexcept + : m_ptr{u.m_ptr} { + u.m_ptr = nullptr; + } + + // If U* is convertible to T* then qml_owned_ptr is assignable to qml_owned_ptr + template + requires std::is_convertible_v + qml_owned_ptr& operator=(qml_owned_ptr&& u) noexcept { + qml_owned_ptr temp{std::move(u)}; + std::swap(temp.m_ptr, m_ptr); + DEBUG_ASSERT(!m_ptr || + QQmlEngine::objectOwnership(m_ptr) == + QQmlEngine::JavaScriptOwnership); + return *this; + } + + qml_owned_ptr& operator=(std::nullptr_t) noexcept { + qml_owned_ptr{std::move(*this)}; // move *this into a temporary that gets destructed + return *this; + } + + // Prevent unintended invocation of delete on qml_owned_ptr + operator void*() const = delete; + + operator T*() const noexcept { + return m_ptr; + } + + T* get() const noexcept { + return m_ptr; + } + + T& operator*() const noexcept { + return *m_ptr; + } + + T* operator->() const noexcept { + return m_ptr; + } + + operator bool() const noexcept { + return m_ptr != nullptr; + } + + QPointer toWeakRef() { + return m_ptr; + } + + private: + T* m_ptr; +}; + +template +qml_owned_ptr make_qml_owned(Args&&... args) { + return qml_owned_ptr(new T(std::forward(args)...)); +} + +// A use case for this function is when giving an object owned by `std::unique_ptr` to a Qt +// function, that will make the object owned by the Qt object tree. Example: +// ``` +// parent->someFunctionThatAddsAChild(to_qml_owned(child)) +// ``` +// where `child` is a `std::unique_ptr`. After the call, the created `qml_owned_ptr` will +// automatically be destructed such that the DEBUG_ASSERT that checks whether a parent exists is +// triggered. +template +qml_owned_ptr to_qml_owned(std::unique_ptr& u) noexcept { + // the DEBUG_ASSERT in the qml_owned_ptr constructor will catch cases where + // the unique_ptr should not have been released + return qml_owned_ptr{u.release()}; +} diff --git a/src/qml/qmlsoundmanagerproxy.cpp b/src/qml/qmlsoundmanagerproxy.cpp new file mode 100644 index 000000000000..2ca419d348d4 --- /dev/null +++ b/src/qml/qmlsoundmanagerproxy.cpp @@ -0,0 +1,264 @@ +#include "qmlsoundmanagerproxy.h" + +#include + +#include + +#include "moc_qmlsoundmanagerproxy.cpp" +#include "qml_owned_ptr.h" +#include "soundio/soundmanager.h" +#include "soundio/soundmanagerutil.h" +#include "util/assert.h" +#include "util/scopedoverridecursor.h" + +namespace mixxx { +namespace qml { + +namespace { +const QString kAppGroup = QStringLiteral("[App]"); +const ConfigKey kKeylockEngineCfgkey = + ConfigKey(kAppGroup, QStringLiteral("keylock_engine")); + +} // namespace + +uint QmlSoundInputDeviceProxy::getChannelCount() const { + return m_pInternal->getNumInputChannels(); +} +uint QmlSoundOutputDeviceProxy::getChannelCount() const { + return m_pInternal->getNumOutputChannels(); +} +SoundDeviceId QmlSoundDeviceProxy::getDeviceId() const { + return m_pInternal->getDeviceId(); +} + +QList QmlSoundInputDeviceProxy::connections( + mixxx::qml::QmlSoundManagerProxy* manager) { + DEBUG_ASSERT(qml_owned_ptr(manager)); + QList connections; + + auto pManager = manager->internal(); + auto config = pManager->getConfig(); + + const auto inputDeviceMap = config.getInputs(); + for (auto it = inputDeviceMap.cbegin(); it != inputDeviceMap.cend(); ++it) { + if (it.key() == getDeviceId()) { + connections.push_back(make_qml_owned( + std::make_unique(it.value()), this)); + } + } + return connections; +} + +QList QmlSoundOutputDeviceProxy::connections( + mixxx::qml::QmlSoundManagerProxy* manager) { + DEBUG_ASSERT(qml_owned_ptr(manager)); + QList connections; + + auto pManager = manager->internal(); + auto config = pManager->getConfig(); + const auto ouputDeviceMap = config.getOutputs(); + for (auto it = ouputDeviceMap.cbegin(); it != ouputDeviceMap.cend(); ++it) { + if (it.key() == getDeviceId()) { + connections.push_back(make_qml_owned( + std::make_unique(it.value()), this)); + } + } + return connections; +} + +int QmlSoundDeviceConnection::getType() const { + return static_cast(m_audioPath->getType()); +} + +uchar QmlSoundDeviceConnection::getChannelGroup() const { + auto group = m_audioPath->getChannelGroup(); + return group.getChannelBase(); +} +uchar QmlSoundDeviceConnection::getIndex() const { + return m_audioPath->getIndex(); +} + +QmlSoundManagerProxy::QmlSoundManagerProxy( + std::shared_ptr pSoundManager, + QObject* parent) + : QObject(parent), + m_pSoundManager(pSoundManager), + m_keylockEngine(kKeylockEngineCfgkey), + m_config(m_pSoundManager->getConfig()) { + connect(m_pSoundManager.get(), &SoundManager::devicesClosed, this, [this]() { + SoundDeviceStatus status = SoundDeviceStatus::Ok; + { + ScopedWaitCursor cursor; + + if (m_commitInProgress.fetchAndStoreRelease(0) != 1) { + return; + } + + status = m_pSoundManager->setConfig(m_config); + } + if (status != SoundDeviceStatus::Ok) { + emit committed(m_pSoundManager->getLastErrorMessage(status)); + } else { + emit committed(); + } + m_config = m_pSoundManager->getConfig(); + }); +} + +// static +QmlSoundManagerProxy* QmlSoundManagerProxy::create( + QQmlEngine* pQmlEngine, + QJSEngine*) { + // The instance has to exist before it is used. We cannot replace it. + VERIFY_OR_DEBUG_ASSERT(s_pSoundManager) { + qWarning() << "SoundManager hasn't been registered yet"; + return nullptr; + } + return make_qml_owned(s_pSoundManager, pQmlEngine); +} + +QList QmlSoundManagerProxy::getHostAPIList() const { + return m_pSoundManager->getHostAPIList(); +} + +QList QmlSoundManagerProxy::availableInputDevices(const QString& filterAPI) { + QList devices; + + for (const auto& device : m_pSoundManager->getDeviceList(filterAPI, false, true)) { + devices.push_back(make_qml_owned(device, this)); + } + + return devices; +} + +QList QmlSoundManagerProxy::availableOutputDevices(const QString& filterAPI) { + QList devices; + + for (const auto& device : m_pSoundManager->getDeviceList(filterAPI, true, false)) { + devices.push_back(make_qml_owned(device, this)); + } + + return devices; +} + +QList QmlSoundManagerProxy::getKeylockEngines() const { + QList list; + for (const auto engine : EngineBuffer::kKeylockEngines) { + if (EngineBuffer::isKeylockEngineAvailable(engine)) { + list.append(engine); + } + } + return list; +} + +void QmlSoundManagerProxy::setKeylockEngine(EngineBuffer::KeylockEngine keylockEngine) { + m_keylockEngine.set(static_cast(keylockEngine)); + m_pSoundManager->userSettings()->setValue(kKeylockEngineCfgkey, keylockEngine); +} + +EngineBuffer::KeylockEngine QmlSoundManagerProxy::getKeylockEngine() const { + return m_pSoundManager->userSettings() + ->getValue( + kKeylockEngineCfgkey, EngineBuffer::defaultKeylockEngine()); +} + +QString QmlSoundManagerProxy::getAPI() const { + return m_config.getAPI(); +} +void QmlSoundManagerProxy::setAPI(const QString& api) { + m_config.setAPI(api); +} + +unsigned int QmlSoundManagerProxy::getSyncBuffers() const { + return m_config.getSyncBuffers(); +} + +void QmlSoundManagerProxy::setSyncBuffers(unsigned int syncBuffers) { + m_config.setSyncBuffers(syncBuffers); +} + +uint32_t QmlSoundManagerProxy::getSampleRate() const { + return m_config.getSampleRate(); +} + +void QmlSoundManagerProxy::setSampleRate(uint32_t sampleRate) { + m_config.setSampleRate(mixxx::audio::SampleRate(sampleRate)); +} + +QList QmlSoundManagerProxy::getSampleRates(const QString& filterAPI) const { + QList sampleRates; + for (const auto& sampleRate : m_pSoundManager->getSampleRates(filterAPI)) { + if (sampleRate.isValid()) { + sampleRates.append(sampleRate); + } + } + return sampleRates; +} + +bool QmlSoundManagerProxy::getForceNetworkClock() const { + return m_config.getForceNetworkClock(); +} + +void QmlSoundManagerProxy::setForceNetworkClock(bool force) { + m_config.setForceNetworkClock(force); +} + +unsigned int QmlSoundManagerProxy::getAudioBufferSizeIndex() const { + return m_config.getAudioBufferSizeIndex(); +} + +void QmlSoundManagerProxy::setAudioBufferSizeIndex(unsigned int latency) { + m_config.setAudioBufferSizeIndex(latency); +} + +void QmlSoundManagerProxy::addOutput(QmlSoundOutputDeviceProxy* device, + int type, + unsigned char channelGroup, + unsigned char index) { + VERIFY_OR_DEBUG_ASSERT(device && qml_owned_ptr(device)) { + return; + } + m_config.addOutput(device->getDeviceId(), + AudioOutput(static_cast(type), + channelGroup, + mixxx::audio::ChannelCount::stereo(), + index)); +} + +void QmlSoundManagerProxy::addInput(QmlSoundInputDeviceProxy* device, + int type, + unsigned char channelGroup, + unsigned char index) { + VERIFY_OR_DEBUG_ASSERT(device && qml_owned_ptr(device)) { + return; + } + m_config.addInput(device->getDeviceId(), + AudioInput(static_cast(type), + channelGroup, + mixxx::audio::ChannelCount::stereo(), + index)); +} + +void QmlSoundManagerProxy::clearOutputs() { + m_config.clearOutputs(); +} + +void QmlSoundManagerProxy::clearInputs() { + m_config.clearInputs(); +} + +bool QmlSoundManagerProxy::hasMicInputs() { + return m_config.hasMicInputs(); +} + +std::shared_ptr QmlSoundManagerProxy::internal() const { + return m_pSoundManager; +} + +void QmlSoundManagerProxy::commit() { + m_commitInProgress.storeRelease(1); + m_pSoundManager->closeActiveConfig(true); +} + +} // namespace qml +} // namespace mixxx diff --git a/src/qml/qmlsoundmanagerproxy.h b/src/qml/qmlsoundmanagerproxy.h new file mode 100644 index 000000000000..916546ecc938 --- /dev/null +++ b/src/qml/qmlsoundmanagerproxy.h @@ -0,0 +1,179 @@ +#pragma once + +#include +#include +#include + +#include +#include +#include +#include + +#include "control/pollingcontrolproxy.h" +#include "engine/enginebuffer.h" +#include "qml_owned_ptr.h" +#include "soundio/sounddevice.h" +#include "soundio/soundmanagerconfig.h" + +class SoundManager; + +namespace mixxx { +namespace qml { + +class QmlSoundManagerProxy; +class QmlSoundDeviceConnection; +class QmlSoundDeviceProxy : public QObject { + Q_OBJECT + Q_PROPERTY(QString displayName READ getDisplayName CONSTANT) + Q_PROPERTY(uint channelCount READ getChannelCount CONSTANT) + QML_ANONYMOUS + public: + explicit QmlSoundDeviceProxy(SoundDevicePointer pInternal, QObject* parent) + : QObject(parent), + m_pInternal(std::move(pInternal)) { + } + + QString getDisplayName() const { + return m_pInternal->getDisplayName(); + } + + virtual uint getChannelCount() const = 0; + SoundDeviceId getDeviceId() const; + + Q_INVOKABLE virtual QList connections( + mixxx::qml::QmlSoundManagerProxy* manager) = 0; + + protected: + SoundDevicePointer m_pInternal; +}; + +class QmlSoundInputDeviceProxy : public QmlSoundDeviceProxy { + Q_OBJECT + QML_NAMED_ELEMENT(InputDevice) + QML_UNCREATABLE("Use Mixxx.SoundManager to get devices") + public: + explicit QmlSoundInputDeviceProxy(SoundDevicePointer pInternal, QObject* parent) + : QmlSoundDeviceProxy(std::move(pInternal), parent) { + } + uint getChannelCount() const override; + Q_INVOKABLE QList connections( + mixxx::qml::QmlSoundManagerProxy* manager) override; +}; + +class QmlSoundOutputDeviceProxy : public QmlSoundDeviceProxy { + Q_OBJECT + QML_NAMED_ELEMENT(OutputDevice) + QML_UNCREATABLE("Use Mixxx.SoundManager to get devices") + public: + explicit QmlSoundOutputDeviceProxy(SoundDevicePointer pInternal, QObject* parent) + : QmlSoundDeviceProxy(std::move(pInternal), parent) { + } + uint getChannelCount() const override; + Q_INVOKABLE QList connections( + mixxx::qml::QmlSoundManagerProxy* manager) override; +}; + +class QmlSoundDeviceConnection : public QObject { + Q_OBJECT + Q_PROPERTY(int type READ getType CONSTANT) + Q_PROPERTY(uchar channelGroup READ getChannelGroup CONSTANT) + Q_PROPERTY(uchar index READ getIndex CONSTANT) + QML_ANONYMOUS + public: + QmlSoundDeviceConnection(std::unique_ptr path, QObject* parent = nullptr) + : QObject(parent), + m_audioPath(std::move(path)) { + } + + int getType() const; + uchar getChannelGroup() const; + uchar getIndex() const; + + private: + std::unique_ptr m_audioPath; +}; + +class QmlSoundDeviceInputConnection : public QmlSoundDeviceConnection { + Q_OBJECT + QML_NAMED_ELEMENT(InputConnection) + QML_UNCREATABLE("Use Mixxx.SoundDevice to get connections") + public: + QmlSoundDeviceInputConnection(std::unique_ptr path, QObject* parent = nullptr) + : QmlSoundDeviceConnection(std::move(path), parent) { + } +}; + +class QmlSoundDeviceOutputConnection : public QmlSoundDeviceConnection { + Q_OBJECT + QML_NAMED_ELEMENT(OutputConnection) + QML_UNCREATABLE("Use Mixxx.SoundDevice to get connections") + public: + QmlSoundDeviceOutputConnection(std::unique_ptr path, QObject* parent = nullptr) + : QmlSoundDeviceConnection(std::move(path), parent) { + } +}; + +class QmlSoundManagerProxy : public QObject { + Q_OBJECT + QML_NAMED_ELEMENT(SoundManager) + QML_SINGLETON + public: + explicit QmlSoundManagerProxy( + std::shared_ptr pSoundManager, + QObject* parent = nullptr); + + Q_INVOKABLE QList getHostAPIList() const; + Q_INVOKABLE QList availableInputDevices( + const QString& filterAPI); + Q_INVOKABLE QList availableOutputDevices( + const QString& filterAPI); + + Q_INVOKABLE QList getKeylockEngines() const; + Q_INVOKABLE EngineBuffer::KeylockEngine getKeylockEngine() const; + Q_INVOKABLE void setKeylockEngine(EngineBuffer::KeylockEngine); + Q_INVOKABLE QString getAPI() const; + Q_INVOKABLE void setAPI(const QString& api); + Q_INVOKABLE unsigned int getSyncBuffers() const; + Q_INVOKABLE void setSyncBuffers(unsigned int syncBuffers); + Q_INVOKABLE uint32_t getSampleRate() const; + Q_INVOKABLE void setSampleRate(uint32_t sampleRate); + Q_INVOKABLE bool getForceNetworkClock() const; + Q_INVOKABLE void setForceNetworkClock(bool force); + Q_INVOKABLE unsigned int getAudioBufferSizeIndex() const; + Q_INVOKABLE void setAudioBufferSizeIndex(unsigned int latency); + Q_INVOKABLE QList getSampleRates(const QString& filterAPI) const; + Q_INVOKABLE void addOutput(mixxx::qml::QmlSoundOutputDeviceProxy* device, + int type, + unsigned char channelGroup, + unsigned char index); + Q_INVOKABLE void addInput(mixxx::qml::QmlSoundInputDeviceProxy* device, + int type, + unsigned char channelGroup, + unsigned char index); + Q_INVOKABLE void clearOutputs(); + Q_INVOKABLE void clearInputs(); + Q_INVOKABLE bool hasMicInputs(); + + std::shared_ptr internal() const; + Q_INVOKABLE void commit(); + + static QmlSoundManagerProxy* create(QQmlEngine* pQmlEngine, QJSEngine* pJsEngine); + static void registerManager(std::shared_ptr pManager) { + s_pSoundManager = std::move(pManager); + } + + signals: + void committed(const QString& error = {}); + + private: + static inline std::shared_ptr s_pSoundManager; + + PollingControlProxy m_keylockEngine; + + std::shared_ptr m_pSoundManager; + SoundManagerConfig m_config; + QAtomicInt m_commitInProgress; +}; + +} // namespace qml +} // namespace mixxx diff --git a/src/soundio/soundmanager.h b/src/soundio/soundmanager.h index 205909535f4b..a33399fa4941 100644 --- a/src/soundio/soundmanager.h +++ b/src/soundio/soundmanager.h @@ -107,9 +107,14 @@ class SoundManager : public QObject { void processUnderflowHappened(SINT framesPerBuffer); + UserSettingsPointer userSettings() const { + return m_pConfig; + } + signals: void devicesUpdated(); // emitted when pointers to SoundDevices go stale void devicesSetup(); // emitted when the sound devices have been set up + void devicesClosed(); // emitted when the sound devices have been closed and resources freed void outputRegistered(const AudioOutput& output, AudioSource* src); void inputRegistered(const AudioInput& input, AudioDestination* dest); From 820d46c1182a4ddcc79d312641d814f63aeaa522 Mon Sep 17 00:00:00 2001 From: "Antoine C." Date: Mon, 19 May 2025 00:22:13 +0000 Subject: [PATCH 134/181] fix: add scrollbar to i/o item lists --- res/qml/ComboBox.qml | 14 ++++++++------ res/qml/Settings/AudioRouter.qml | 15 +++++++++++---- 2 files changed, 19 insertions(+), 10 deletions(-) diff --git a/res/qml/ComboBox.qml b/res/qml/ComboBox.qml index c7059aef79d4..ecf32cf871b7 100644 --- a/res/qml/ComboBox.qml +++ b/res/qml/ComboBox.qml @@ -10,6 +10,7 @@ ComboBox { property alias popupWidth: popup.width property bool clip: false + property int popupMaxItem: 3 background: Skin.EmbeddedBackground { } @@ -57,20 +58,20 @@ ComboBox { y: root.height/2 width: root.width - root.indicator.width / 2 x: root.indicator.width / 2 - height: Math.min(root.indicator.implicitHeight*3 + root.indicator.width, 150) + height: root.indicator.implicitHeight*Math.min(root.popupMaxItem, root.count) + root.indicator.width padding: 0 contentItem: Item { - // implicitHeight: contentHeight Item { id: content anchors.fill: parent Shape { + id: arrow anchors.top: parent.top anchors.right: parent.right anchors.rightMargin: 3 - width: root.indicator.width-3 + width: root.indicator.width-4 height: width antialiasing: true layer.enabled: true @@ -79,7 +80,7 @@ ComboBox { fillColor: Theme.embeddedBackgroundColor strokeColor: Theme.deckBackgroundColor strokeWidth: 2 - startX: parent.width/2; startY: 0 + startX: arrow.width/2; startY: 0 fillRule: ShapePath.WindingFill capStyle: ShapePath.RoundCap PathLine { x: root.indicator.width; y: root.indicator.width } @@ -88,7 +89,7 @@ ComboBox { } } Skin.EmbeddedBackground { - anchors.topMargin: root.indicator.width + anchors.topMargin: root.indicator.width-6 anchors.fill: parent ListView { clip: true @@ -103,7 +104,8 @@ ComboBox { model: root.popup.visible ? root.delegateModel : null currentIndex: root.highlightedIndex - ScrollIndicator.vertical: ScrollIndicator { + ScrollBar.vertical: ScrollBar { + policy: ScrollBar.AlwaysOn } } } diff --git a/res/qml/Settings/AudioRouter.qml b/res/qml/Settings/AudioRouter.qml index 48a0a8ba6fb1..5b60bf879258 100644 --- a/res/qml/Settings/AudioRouter.qml +++ b/res/qml/Settings/AudioRouter.qml @@ -1,5 +1,6 @@ import Mixxx 1.0 as Mixxx import QtQuick 2 +import QtQuick.Controls import QtQuick.Layouts import "../Theme" @@ -351,7 +352,6 @@ Rectangle { Layout.fillHeight: true Layout.fillWidth: true model: Object.keys(root.inputs) - clip: true reuseItems: false spacing: 15 delegate: AudioEntity { @@ -375,7 +375,6 @@ Rectangle { advanced: true }); } - if (channel < item.channels) { let start = channels[channels.length-1].channels[0] let channelPicker = [...Array(item.channels - start)] @@ -411,6 +410,11 @@ Rectangle { } } } + ScrollBar.vertical: ScrollBar { + policy: ScrollBar.AlwaysOn + anchors.right: inputList.left + anchors.rightMargin: 6 + } } } Rectangle { @@ -505,7 +509,6 @@ Rectangle { Layout.fillHeight: true Layout.fillWidth: true model: Object.keys(root.outputs) - clip: true reuseItems: false spacing: 15 cacheBuffer: Math.max(0, contentHeight) // Disable lazy loading to make sure all item are loaded and can be bounded to connection @@ -529,7 +532,6 @@ Rectangle { type: "sink" }); } - if (channel < item.channels) { let start = channels[channels.length-1].channels[0] let channelPicker = [...Array(item.channels - start)] @@ -564,6 +566,11 @@ Rectangle { } } } + ScrollBar.vertical: ScrollBar { + policy: ScrollBar.AlwaysOn + anchors.left: outputList.right + anchors.leftMargin: 6 + } } Item { From 21a5d2075248beb0c828d4d0d6221beaef8dd1e2 Mon Sep 17 00:00:00 2001 From: "Antoine C." Date: Sat, 31 May 2025 00:40:18 +0000 Subject: [PATCH 135/181] chore(pre-commit): upgrade qml_formatter to support switch fallthrough cases --- .pre-commit-config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 5812cd6cf442..f9c7f3edf76a 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -126,7 +126,7 @@ repos: - id: prettier types: [yaml] - repo: https://github.com/qarmin/qml_formatter.git - rev: 16f651d727652dffff92678f4b602df9bfb45eb7 # No release tag yet including #7 fix + rev: 706250038bb565f4c630ca3aab09f764faabae67 # No release tag yet including #9 fix hooks: - id: qml_formatter - repo: https://github.com/BlankSpruce/gersemi From 85115638964d59440b25eed20ee8d1a42b433caf Mon Sep 17 00:00:00 2001 From: "Antoine C." Date: Fri, 8 Aug 2025 22:45:23 +0000 Subject: [PATCH 136/181] fix: allow device closing to be async --- src/soundio/soundmanager.cpp | 32 +++++++++++++++++++++++++++----- src/soundio/soundmanager.h | 12 ++++++++++-- 2 files changed, 37 insertions(+), 7 deletions(-) diff --git a/src/soundio/soundmanager.cpp b/src/soundio/soundmanager.cpp index 273211831cac..4241696aa37d 100644 --- a/src/soundio/soundmanager.cpp +++ b/src/soundio/soundmanager.cpp @@ -145,27 +145,48 @@ QList SoundManager::getHostAPIList() const { return apiList; } -void SoundManager::closeDevices(bool sleepAfterClosing) { - //qDebug() << "SoundManager::closeDevices()"; +void SoundManager::closeDevices( + [[maybe_unused]] bool sleepAfterClosing, [[maybe_unused]] bool async) { + // sleepAfterClosing and async maybe unused depending on platform support + // qDebug() << "SoundManager::closeDevices()"; +#ifdef __LINUX__ bool closed = false; +#endif for (const auto& pDevice : std::as_const(m_devices)) { if (pDevice->isOpen()) { // NOTE(rryan): As of 2009 (?) it has been safe to close() a SoundDevice // while callbacks are active. pDevice->close(); +#ifdef __LINUX__ closed = true; +#endif } } - if (closed && sleepAfterClosing) { #ifdef __LINUX__ + if (closed && sleepAfterClosing) { // Sleep for 5 sec to allow asynchronously sound APIs like "pulse" to free // its resources as well + if (async) { + // Async mode - the caller will wait for `devicesClosed` before + // trying to reconfigure or reopen audio devices + QTimer::singleShot( + std::chrono::seconds(kSleepSecondsAfterClosingDevice), + this, + &SoundManager::completeDevicesClosing); + return; + } + // Sync mode, legacy - we sleep the current thread for 5 seconds QThread::sleep(kSleepSecondsAfterClosingDevice); + } else if (!closed) #endif + { + completeDevicesClosing(); } +} +void SoundManager::completeDevicesClosing() { // TODO(rryan): Should we do this before SoundDevice::close()? No! Because // then the callback may be running when we call // onInputDisconnected/onOutputDisconnected. @@ -199,6 +220,7 @@ void SoundManager::closeDevices(bool sleepAfterClosing) { // Indicate to the rest of Mixxx that sound is disconnected. m_pControlObjectSoundStatusCO->set(SOUNDMANAGER_DISCONNECTED); + emit devicesClosed(); } void SoundManager::clearDeviceList(bool sleepAfterClosing) { @@ -553,12 +575,12 @@ SoundManagerConfig SoundManager::getConfig() const { return m_config; } -void SoundManager::closeActiveConfig() { +void SoundManager::closeActiveConfig(bool async) { // Close open devices. After this call we will not get any more // onDeviceOutputCallback() or pushBuffer() calls because all the // SoundDevices are closed. closeDevices() blocks and can take a while. const bool sleepAfterClosing = true; - closeDevices(sleepAfterClosing); + closeDevices(sleepAfterClosing, async); } SoundDeviceStatus SoundManager::setConfig(const SoundManagerConfig& config) { diff --git a/src/soundio/soundmanager.h b/src/soundio/soundmanager.h index a33399fa4941..a5f4e92138cd 100644 --- a/src/soundio/soundmanager.h +++ b/src/soundio/soundmanager.h @@ -74,7 +74,12 @@ class SoundManager : public QObject { QList getHostAPIList() const; SoundManagerConfig getConfig() const; SoundDeviceStatus setConfig(const SoundManagerConfig& config); - void closeActiveConfig(); + // Due to a bug in in PulseAudio, we must give at least 5 seconds of cool + // down before performing further audio related operation. This sleep + // happens during the function call by default (synchronous blocking), but + // the caller may decide to use the async version, and must not performs any + // audio operation till it received the `devicesClosed` signal + void closeActiveConfig(bool async = false); void checkConfig(); void onDeviceOutputCallback(const SINT iFramesPerBuffer); @@ -118,6 +123,9 @@ class SoundManager : public QObject { void outputRegistered(const AudioOutput& output, AudioSource* src); void inputRegistered(const AudioInput& input, AudioDestination* dest); + private slots: + void completeDevicesClosing(); + private: // Closes all the devices and empties the list of devices we have. void clearDeviceList(bool sleepAfterClosing); @@ -126,7 +134,7 @@ class SoundManager : public QObject { // open, this method simply runs through the list of all known soundcards // (from PortAudio) and attempts to close them all. Closing a soundcard that // isn't open is safe. - void closeDevices(bool sleepAfterClosing); + void closeDevices(bool sleepAfterClosing, bool async = false); void setJACKName() const; bool jackApiUsed() const { From d43910d38219f4b7d457c57dc09f3e6d0ee72d3a Mon Sep 17 00:00:00 2001 From: "Antoine C." Date: Sat, 13 Sep 2025 22:05:16 +0000 Subject: [PATCH 137/181] fix: correctly free reference to m_pSoundManager --- src/coreservices.cpp | 1 + src/qml/qmlwaveformrenderer.cpp | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/src/coreservices.cpp b/src/coreservices.cpp index f50c6d9fff18..a96a9e286404 100644 --- a/src/coreservices.cpp +++ b/src/coreservices.cpp @@ -865,6 +865,7 @@ void CoreServices::finalize() { mixxx::qml::QmlPlayerManagerProxy::registerPlayerManager(nullptr); mixxx::qml::QmlConfigProxy::registerUserSettings(nullptr); mixxx::qml::QmlLibraryProxy::registerLibrary(nullptr); + mixxx::qml::QmlSoundManagerProxy::registerManager(nullptr); ControllerScriptEngineBase::registerTrackCollectionManager(nullptr); #endif diff --git a/src/qml/qmlwaveformrenderer.cpp b/src/qml/qmlwaveformrenderer.cpp index 77017e9683e8..08eee1717368 100644 --- a/src/qml/qmlwaveformrenderer.cpp +++ b/src/qml/qmlwaveformrenderer.cpp @@ -338,7 +338,7 @@ QmlWaveformRendererFactory::Renderer QmlWaveformRendererMark::create( const QString endIcon = pMark->endIcon().toLocalFile(); // FIXME: the following checks should be done on the WaveformMarker // setter (depends of #14515) - if (!QFileInfo::exists(pixmap)) { + if (!pixmap.isEmpty() && !QFileInfo::exists(pixmap)) { qmlEngine(this)->throwError(tr("Cannot find the marker pixmap") + " \"" + pixmap + '"'); } From 81741b792f6772796b255dddb1789e4095f80ef2 Mon Sep 17 00:00:00 2001 From: Ahmed Salah <140831492+NeuroXS@users.noreply.github.com> Date: Sun, 14 Sep 2025 06:54:42 +0300 Subject: [PATCH 138/181] Add track count to Tracks item in sidebar" --- src/library/librarytablemodel.cpp | 5 +++++ src/library/librarytablemodel.h | 5 +++++ src/library/mixxxlibraryfeature.cpp | 19 +++++++++++++++++-- src/library/mixxxlibraryfeature.h | 3 +++ 4 files changed, 30 insertions(+), 2 deletions(-) diff --git a/src/library/librarytablemodel.cpp b/src/library/librarytablemodel.cpp index 4ed18d3c2dc8..3c3bf4b2dc5d 100644 --- a/src/library/librarytablemodel.cpp +++ b/src/library/librarytablemodel.cpp @@ -101,3 +101,8 @@ TrackModel::Capabilities LibraryTableModel::getCapabilities() const { Capability::Properties | Capability::Sorting; } + +void LibraryTableModel::select() { + BaseSqlTableModel::select(); + emit updateTrackCount(); +} diff --git a/src/library/librarytablemodel.h b/src/library/librarytablemodel.h index b5a6c359cbad..299e4f42de06 100644 --- a/src/library/librarytablemodel.h +++ b/src/library/librarytablemodel.h @@ -16,4 +16,9 @@ class LibraryTableModel : public BaseSqlTableModel { // number of successful additions. int addTracks(const QModelIndex& index, const QList& locations) final; TrackModel::Capabilities getCapabilities() const final; + + void select() override; + + signals: + void updateTrackCount(); }; diff --git a/src/library/mixxxlibraryfeature.cpp b/src/library/mixxxlibraryfeature.cpp index 519f80f86790..e449c5304c34 100644 --- a/src/library/mixxxlibraryfeature.cpp +++ b/src/library/mixxxlibraryfeature.cpp @@ -32,7 +32,8 @@ MixxxLibraryFeature::MixxxLibraryFeature(Library* pLibrary, m_pLibraryTableModel(nullptr), m_pSidebarModel(make_parented(this)), m_pMissingView(nullptr), - m_pHiddenView(nullptr) { + m_pHiddenView(nullptr), + m_trackCount{0} { QString idColumn = LIBRARYTABLE_ID; QStringList columns = { LIBRARYTABLE_ID, @@ -114,6 +115,11 @@ MixxxLibraryFeature::MixxxLibraryFeature(Library* pLibrary, pLibrary->trackCollectionManager(), "mixxx.db.model.library"); + connect(m_pLibraryTableModel, + &LibraryTableModel::updateTrackCount, + this, + &MixxxLibraryFeature::slotUpdateTrackCount); + std::unique_ptr pRootItem = TreeItem::newRoot(this); pRootItem->appendChild(kMissingTitle); pRootItem->appendChild(kHiddenTitle); @@ -149,7 +155,8 @@ void MixxxLibraryFeature::bindLibraryWidget(WLibrary* pLibraryWidget, } QVariant MixxxLibraryFeature::title() { - return tr("Tracks"); + const QString title = tr("Tracks") + QStringLiteral(" (%1)").arg(m_trackCount); + return title; } TreeItemModel* MixxxLibraryFeature::sidebarModel() const { @@ -183,6 +190,14 @@ void MixxxLibraryFeature::bindSidebarWidget(WLibrarySidebar* pSidebarWidget) { } #endif +void MixxxLibraryFeature::slotUpdateTrackCount() { + m_trackCount = m_pLibraryTableModel->rowCount(); + + // Force updating the Tracks sidebar item. + // `select` must be false as we don't want to select again + emit featureIsLoading(this, false); +} + void MixxxLibraryFeature::activate() { //qDebug() << "MixxxLibraryFeature::activate()"; emit saveModelState(); diff --git a/src/library/mixxxlibraryfeature.h b/src/library/mixxxlibraryfeature.h index 50eb06258a7c..69f4da83fefe 100644 --- a/src/library/mixxxlibraryfeature.h +++ b/src/library/mixxxlibraryfeature.h @@ -50,6 +50,7 @@ class MixxxLibraryFeature final : public LibraryFeature { public slots: void activate() override; void activateChild(const QModelIndex& index) override; + void slotUpdateTrackCount(); #ifdef __ENGINEPRIME__ void onRightClick(const QPoint& globalPos) override; #endif @@ -74,6 +75,8 @@ class MixxxLibraryFeature final : public LibraryFeature { DlgMissing* m_pMissingView; DlgHidden* m_pHiddenView; + int m_trackCount; + #ifdef __ENGINEPRIME__ parented_ptr m_pExportLibraryAction; From 5c969fcf23f5e8a1d2b3db01aa3d94ac4f90d7a2 Mon Sep 17 00:00:00 2001 From: "Antoine C." Date: Sun, 14 Sep 2025 18:21:44 +0100 Subject: [PATCH 139/181] fix: don't override unstable version with the current alpha --- src/preferences/upgrade.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/preferences/upgrade.cpp b/src/preferences/upgrade.cpp index 3406ef54b162..5b7724338a93 100644 --- a/src/preferences/upgrade.cpp +++ b/src/preferences/upgrade.cpp @@ -628,7 +628,8 @@ UserSettingsPointer Upgrade::versionUpgrade(const QString& settingsPath) { // If additional upgrades are added for later versions, they should go before // this block and cleanVersion should be bumped to the latest version. const QVersionNumber cleanVersion(2, 6, 0); - if (QVersionNumber::fromString(configVersion) >= cleanVersion) { + if (QVersionNumber::fromString(configVersion) >= cleanVersion && + configVersion != VersionStore::FUTURE_UNSTABLE) { // No special upgrade required, just update the value. configVersion = VersionStore::version(); config->set(ConfigKey("[Config]", "Version"), ConfigValue(VersionStore::version())); @@ -636,6 +637,9 @@ UserSettingsPointer Upgrade::versionUpgrade(const QString& settingsPath) { if (configVersion == VersionStore::version()) { qDebug() << "Configuration file is now at the current version" << VersionStore::version(); + } else if (configVersion == VersionStore::FUTURE_UNSTABLE) { + qDebug() << "Configuration file is now at the unstable version" + << VersionStore::FUTURE_UNSTABLE; } else { qWarning() << "Configuration file is at version" << configVersion << "instead of the current" << VersionStore::version(); From b20bb77463f3c94eb5e5f815a2aaa745db229f42 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Sch=C3=BCrmann?= Date: Mon, 15 Sep 2025 18:36:44 +0200 Subject: [PATCH 140/181] Remove #include This is not available with QT 6.2 --- src/qml/qmlsoundmanagerproxy.h | 1 - 1 file changed, 1 deletion(-) diff --git a/src/qml/qmlsoundmanagerproxy.h b/src/qml/qmlsoundmanagerproxy.h index 916546ecc938..0cddcbbe15fc 100644 --- a/src/qml/qmlsoundmanagerproxy.h +++ b/src/qml/qmlsoundmanagerproxy.h @@ -1,7 +1,6 @@ #pragma once #include -#include #include #include From 426c3e54dcc8c9bd89145d97b7e65e5eeedbdc5b Mon Sep 17 00:00:00 2001 From: "Antoine C." Date: Mon, 26 May 2025 16:06:06 +0000 Subject: [PATCH 141/181] feat: add Library cappability on QML --- CMakeLists.txt | 14 + res/qml/ActionButton.qml | 47 +++ res/qml/ActionPopup.qml | 69 ++++ res/qml/DeckInfoBar.qml | 13 +- res/qml/InputField.qml | 48 +++ res/qml/Library.qml | 205 ++++++------ res/qml/Library/Browser.qml | 223 +++++++++++++ res/qml/Library/Cell.qml | 104 ++++++ .../Control.qml} | 34 +- .../ControlLoadSelectedTrackHandler.qml} | 0 res/qml/Library/SourceTree.qml | 194 ++++++++++++ res/qml/Library/Track.qml | 131 ++++++++ res/qml/Library/TrackList.qml | 295 ++++++++++++++++++ res/qml/PreviewDeck.qml | 42 +++ res/qml/Sampler.qml | 9 +- res/qml/Theme/Theme.qml | 17 +- res/qml/images/library_computer.png | Bin 0 -> 2442 bytes res/qml/images/library_crates.png | Bin 0 -> 1651 bytes res/qml/images/library_playlist.png | Bin 0 -> 1610 bytes src/library/browse/browsetablemodel.cpp | 4 +- src/library/sidebarmodel.h | 4 +- src/library/treeitemmodel.h | 2 +- src/main.cpp | 5 + src/qml/qmlconfigproxy.h | 4 + src/qml/qmllibraryproxy.cpp | 28 +- src/qml/qmllibraryproxy.h | 23 +- src/qml/qmllibrarysource.cpp | 61 ++++ src/qml/qmllibrarysource.h | 116 +++++++ src/qml/qmllibrarysourcetree.cpp | 80 +++++ src/qml/qmllibrarysourcetree.h | 65 ++++ src/qml/qmllibrarytracklistcolumn.cpp | 25 ++ src/qml/qmllibrarytracklistcolumn.h | 86 +++++ src/qml/qmllibrarytracklistmodel.cpp | 221 ++++++++++--- src/qml/qmllibrarytracklistmodel.h | 92 +++++- src/qml/qmlsidebarmodelproxy.cpp | 88 ++++++ src/qml/qmlsidebarmodelproxy.h | 55 ++++ src/qml/qmlwaveformoverview.h | 2 +- 37 files changed, 2181 insertions(+), 225 deletions(-) create mode 100644 res/qml/ActionButton.qml create mode 100644 res/qml/ActionPopup.qml create mode 100644 res/qml/InputField.qml create mode 100644 res/qml/Library/Browser.qml create mode 100644 res/qml/Library/Cell.qml rename res/qml/{LibraryControl.qml => Library/Control.qml} (68%) rename res/qml/{LibraryControlLoadSelectedTrackHandler.qml => Library/ControlLoadSelectedTrackHandler.qml} (100%) create mode 100644 res/qml/Library/SourceTree.qml create mode 100644 res/qml/Library/Track.qml create mode 100644 res/qml/Library/TrackList.qml create mode 100644 res/qml/PreviewDeck.qml create mode 100644 res/qml/images/library_computer.png create mode 100644 res/qml/images/library_crates.png create mode 100644 res/qml/images/library_playlist.png create mode 100644 src/qml/qmllibrarysource.cpp create mode 100644 src/qml/qmllibrarysource.h create mode 100644 src/qml/qmllibrarysourcetree.cpp create mode 100644 src/qml/qmllibrarysourcetree.h create mode 100644 src/qml/qmllibrarytracklistcolumn.cpp create mode 100644 src/qml/qmllibrarytracklistcolumn.h create mode 100644 src/qml/qmlsidebarmodelproxy.cpp create mode 100644 src/qml/qmlsidebarmodelproxy.h diff --git a/CMakeLists.txt b/CMakeLists.txt index 25874a9aa390..c346035ba195 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -3474,6 +3474,15 @@ if(QML) set(QT_QML_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/qml) qt_add_library(mixxx-qml-lib STATIC) + + if(WIN32) + target_compile_definitions(mixxx-qml-lib PUBLIC __WINDOWS__) + endif() + + if(ENGINEPRIME) + target_compile_definitions(mixxx-qml-lib PUBLIC __ENGINEPRIME__) + endif() + foreach(component ${QT_COMPONENTS}) target_link_libraries( mixxx-qml-lib @@ -3555,10 +3564,15 @@ if(QML) src/qml/qmleffectslotproxy.cpp src/qml/qmleffectsmanagerproxy.cpp src/qml/qmllibraryproxy.cpp + src/qml/qmllibrarysource.cpp + src/qml/qmllibrarysourcetree.cpp src/qml/qmllibrarytracklistmodel.cpp src/qml/qmlmixxxcontrollerscreen.cpp src/qml/qmlplayermanagerproxy.cpp src/qml/qmlplayerproxy.cpp + src/qml/qmlsidebarmodelproxy.cpp + src/qml/qmllibrarytracklistcolumn.cpp + src/qml/qmltrackproxy.cpp src/qml/qmlvisibleeffectsmodel.cpp src/qml/qmlwaveformdisplay.cpp src/qml/qmlwaveformoverview.cpp diff --git a/res/qml/ActionButton.qml b/res/qml/ActionButton.qml new file mode 100644 index 000000000000..77e57dca5dd1 --- /dev/null +++ b/res/qml/ActionButton.qml @@ -0,0 +1,47 @@ +import QtQuick +import QtQuick.Controls 2.12 +import Qt5Compat.GraphicalEffects +import "Theme" + +AbstractButton { + id: root + enum Category { + None, + Danger, + Action + } + + property var category: ActionButton.Category.None + property alias label: labelField + + implicitHeight: 24 + background: Item { + Rectangle { + id: content + anchors.fill: parent + color: root.category == ActionButton.Category.Action ? '#2D4EA1' : root.category == ActionButton.Category.Danger ? '#7D3B3B' : '#3F3F3F' + radius: 4 + } + DropShadow { + anchors.fill: parent + source: content + horizontalOffset: 0 + verticalOffset: 0 + radius: 8.0 + color: "#80000000" + } + } + contentItem: Item { + Label { + id: labelField + anchors.fill: parent + horizontalAlignment: Text.AlignHCenter + verticalAlignment: Text.AlignVCenter + font.family: Theme.fontFamily + font.capitalization: Font.AllUppercase + font.bold: true + font.pixelSize: Theme.buttonFontPixelSize + color: Theme.white + } + } +} diff --git a/res/qml/ActionPopup.qml b/res/qml/ActionPopup.qml new file mode 100644 index 000000000000..b8b30ea392e8 --- /dev/null +++ b/res/qml/ActionPopup.qml @@ -0,0 +1,69 @@ +import QtQml +import QtQuick +import QtQml.Models +import QtQuick.Layouts +import QtQuick.Controls 2.15 +import QtQuick.Shapes 1.12 +import Qt5Compat.GraphicalEffects +import "Theme" + +Popup { + id: root + closePolicy: Popup.CloseOnEscape | Popup.CloseOnPressOutsideParent + width: 200 + + padding: 0 + margins: 0 + leftInset: 0 + + default property alias children: content.children + + contentItem: Item { + ColumnLayout { + spacing: 2 + anchors.fill: parent + anchors.leftMargin: 20 + id: content + } + } + + background: Item { + Item { + id: content3 + anchors.fill: parent + Shape { + anchors.left: parent.left + anchors.verticalCenter: parent.verticalCenter + implicitHeight: 20 + ShapePath { + strokeWidth: 0 + strokeColor: 'transparent' + fillColor: Theme.backgroundColor + fillRule: ShapePath.OddEvenFill + + startX: 0 + startY: 10 + PathLine { x: 20; y: 0 } + PathLine { x: 20; y: 20 } + PathLine { x: 0; y: 10 } + } + } + Rectangle { + anchors.fill: parent + anchors.right: parent.right + anchors.leftMargin: 20 + border.width: 0 + radius: 8 + color: Theme.backgroundColor + } + } + DropShadow { + anchors.fill: parent + source: content3 + horizontalOffset: 0 + verticalOffset: 0 + radius: 8.0 + color: "#80000000" + } + } +} diff --git a/res/qml/DeckInfoBar.qml b/res/qml/DeckInfoBar.qml index 8dc7326dc1e4..cedb6e2ba965 100644 --- a/res/qml/DeckInfoBar.qml +++ b/res/qml/DeckInfoBar.qml @@ -11,6 +11,7 @@ Rectangle { required property string group required property int rightColumnWidth property var deckPlayer: Mixxx.PlayerManager.getPlayer(group) + property var currentTrack: deckPlayer.currentTrack property color lineColor: Theme.deckLineColor border.width: 2 @@ -26,7 +27,7 @@ Rectangle { anchors.bottom: parent.bottom anchors.margins: 5 width: height - source: root.deckPlayer.coverArtUrl + source: root.currentTrack.coverArtUrl visible: false asynchronous: true } @@ -95,7 +96,7 @@ Rectangle { Skin.EmbeddedText { id: infoBarTitle - text: root.deckPlayer.title + text: root.currentTrack.title anchors.top: infoBarHSeparator1.top anchors.left: infoBarVSeparator.left anchors.right: infoBarHSeparator1.left @@ -119,7 +120,7 @@ Rectangle { Skin.EmbeddedText { id: infoBarArtist - text: root.deckPlayer.artist + text: root.currentTrack.artist anchors.top: infoBarVSeparator.bottom anchors.left: infoBarVSeparator.left anchors.right: infoBarHSeparator1.left @@ -144,7 +145,7 @@ Rectangle { Skin.EmbeddedText { id: infoBarKey - text: root.deckPlayer.keyText + text: root.currentTrack.keyText anchors.top: infoBarHSeparator1.top anchors.bottom: infoBarVSeparator.top anchors.right: infoBarHSeparator2.left @@ -206,11 +207,11 @@ Rectangle { GradientStop { position: 0 color: { - const trackColor = root.deckPlayer.color; + const trackColor = root.currentTrack.color; if (!trackColor.valid) return Theme.deckBackgroundColor; - return Qt.darker(root.deckPlayer.color, 2); + return Qt.darker(root.currentTrack.color, 2); } } diff --git a/res/qml/InputField.qml b/res/qml/InputField.qml new file mode 100644 index 000000000000..43dc1cc2ffe4 --- /dev/null +++ b/res/qml/InputField.qml @@ -0,0 +1,48 @@ +import QtQuick +import QtQuick.Controls 2.15 +import Qt5Compat.GraphicalEffects +import "Theme" + +FocusScope { + id: root + + property alias input: inputField + + Rectangle { + id: backgroundInput + radius: 4 + color: '#232323' + anchors.fill: parent + } + DropShadow { + id: dropSetting + anchors.fill: parent + horizontalOffset: 0 + verticalOffset: 0 + radius: 4.0 + color: "#000000" + source: backgroundInput + } + InnerShadow { + id: effect2 + anchors.fill: parent + source: dropSetting + spread: 0.2 + radius: 12 + samples: 24 + horizontalOffset: 0 + verticalOffset: 0 + color: "#353535" + } + TextInput { + id: inputField + anchors.fill: parent + anchors.verticalCenter: parent.verticalCenter + anchors.horizontalCenter: parent.horizontalCenter + anchors.margins: 7 + focus: true + clip: true + color: acceptableInput ? "#FFFFFF" : "#7D3B3B" + horizontalAlignment: TextInput.AlignLeft + } +} diff --git a/res/qml/Library.qml b/res/qml/Library.qml index 3f94320aac26..7be4f4ade0a5 100644 --- a/res/qml/Library.qml +++ b/res/qml/Library.qml @@ -1,140 +1,115 @@ +import "." as Skin import Mixxx 1.0 as Mixxx -import QtQuick 2.12 +import Qt.labs.qmlmodels +import QtQml +import QtQuick +import QtQml.Models +import QtQuick.Layouts +import QtQuick.Controls 2.15 +import QtQuick.Shapes 1.6 import "Theme" +import "Library" as LibraryComponent Item { - Rectangle { - color: Theme.deckBackgroundColor - anchors.fill: parent - - LibraryControl { - id: libraryControl - - onMoveVertical: (offset) => { - listView.moveSelectionVertical(offset); - } - onLoadSelectedTrack: (group, play) => { - listView.loadSelectedTrack(group, play); - } - onLoadSelectedTrackIntoNextAvailableDeck: (play) => { - listView.loadSelectedTrackIntoNextAvailableDeck(play); - } - onFocusWidgetChanged: { - switch (focusWidget) { - case FocusedWidgetControl.WidgetKind.LibraryView: - listView.forceActiveFocus(); - break; - } - } - } + id: root - ListView { - id: listView + property var sidebar: librarySources.sidebar() - function moveSelectionVertical(value) { - if (value == 0) - return ; - - const rowCount = model.rowCount(); - if (rowCount == 0) - return ; - - currentIndex = Mixxx.MathUtils.positiveModulo(currentIndex + value, rowCount); - } - - function loadSelectedTrackIntoNextAvailableDeck(play) { - const url = model.get(currentIndex).fileUrl; - if (!url) - return ; - - Mixxx.PlayerManager.loadLocationUrlIntoNextAvailableDeck(url, play); - } - - function loadSelectedTrack(group, play) { - const url = model.get(currentIndex).fileUrl; - if (!url) - return ; - - const player = Mixxx.PlayerManager.getPlayer(group); - if (!player) - return ; + LibraryComponent.SourceTree { + id: librarySources + } - player.loadTrackFromLocationUrl(url, play); - } + SplitView { + id: librarySplitView + orientation: Qt.Horizontal + anchors.fill: parent - anchors.fill: parent - anchors.margins: 10 + handle: Rectangle { + id: handleDelegate + implicitWidth: 8 + implicitHeight: 8 + color: Theme.panelSplitterBackground clip: true - keyNavigationWraps: true - highlightMoveDuration: 250 - highlightResizeDuration: 50 - model: Mixxx.Library.model - Keys.onPressed: (event) => { - switch (event.key) { - case Qt.Key_Enter: - case Qt.Key_Return: - listView.loadSelectedTrackIntoNextAvailableDeck(false); - break; + property color handleColor: SplitHandle.pressed || SplitHandle.hovered ? Theme.panelSplitterHandleActive : Theme.panelSplitterHandle + property int handleSize: SplitHandle.pressed || SplitHandle.hovered ? 6 : 5 + + ColumnLayout { + anchors.centerIn: parent + Repeater { + model: 3 + Rectangle { + width: handleSize + height: handleSize + radius: handleSize + color: handleColor + } } } - delegate: Item { - id: itemDlgt - - required property int index - required property url fileUrl - required property string artist - required property string title - - implicitWidth: listView.width - implicitHeight: 30 - - Text { - anchors.verticalCenter: parent.verticalCenter - text: itemDlgt.artist + " - " + itemDlgt.title - color: (listView.currentIndex == itemDlgt.index && listView.activeFocus) ? Theme.blue : Theme.deckTextColor + containmentMask: Item { + x: (handleDelegate.width - width) / 2 + width: 8 + height: librarySplitView.height + } + } - Behavior on color { - ColorAnimation { - duration: listView.highlightMoveDuration + SplitView { + id: sideBarSplitView + SplitView.minimumWidth: 100 + SplitView.preferredWidth: 415 + SplitView.maximumWidth: 600 + + orientation: Qt.Vertical + + handle: Rectangle { + id: handleDelegate + implicitWidth: 8 + implicitHeight: 8 + color: Theme.panelSplitterBackground + clip: true + property color handleColor: SplitHandle.pressed || SplitHandle.hovered ? Theme.panelSplitterHandleActive : Theme.panelSplitterHandle + property int handleSize: SplitHandle.pressed || SplitHandle.hovered ? 6 : 5 + + RowLayout { + anchors.centerIn: parent + Repeater { + model: 3 + Rectangle { + width: handleSize + height: handleSize + radius: handleSize + color: handleColor } } } - Image { - id: dragItem - - Drag.active: dragArea.drag.active - Drag.dragType: Drag.Automatic - Drag.supportedActions: Qt.CopyAction - Drag.mimeData: { - "text/uri-list": itemDlgt.fileUrl, - "text/plain": itemDlgt.fileUrl - } - anchors.fill: parent + containmentMask: Item { + x: (handleDelegate.width - width) / 2 + height: 8 + width: sideBarSplitView.width } + } + LibraryComponent.Browser { + SplitView.minimumHeight: 200 + SplitView.preferredHeight: 500 + SplitView.fillHeight: true - MouseArea { - id: dragArea - - anchors.fill: parent - drag.target: dragItem - onPressed: { - listView.forceActiveFocus(); - listView.currentIndex = itemDlgt.index; - parent.grabToImage((result) => { - dragItem.Drag.imageSource = result.url; - }); - } - onDoubleClicked: listView.loadSelectedTrackIntoNextAvailableDeck(false) - } + model: root.sidebar } - highlight: Rectangle { - border.color: listView.activeFocus ? Theme.blue : Theme.deckTextColor - border.width: 1 - color: "transparent" + Skin.PreviewDeck { + SplitView.minimumHeight: 100 + SplitView.preferredHeight: 100 + SplitView.maximumHeight: 200 } } + LibraryComponent.TrackList { + SplitView.fillHeight: true + + // FIXME: this is necessary to prevent the header label to render outside of the table when horizontally scrolling: https://github.com/mixxxdj/mixxx/pull/14514#issuecomment-3311914346 + clip: true + + model: root.sidebar.tracklist + } } } diff --git a/res/qml/Library/Browser.qml b/res/qml/Library/Browser.qml new file mode 100644 index 000000000000..3e28934e6b8a --- /dev/null +++ b/res/qml/Library/Browser.qml @@ -0,0 +1,223 @@ +import ".." as Skin +import Mixxx 1.0 as Mixxx +import Qt.labs.qmlmodels +import QtQml +import QtQuick +import QtQml.Models +import QtQuick.Layouts +import QtQuick.Controls 2.15 +import QtQuick.Shapes 1.12 +import Qt5Compat.GraphicalEffects +import "../Theme" + +Rectangle { + id: root + + required property var model + readonly property var featureSelection: ItemSelectionModel {} + + color: Theme.backgroundColor + + Component.onCompleted: { + root.model.activate(root.model.index(0, 0)) + } + + Rectangle { + anchors.fill: parent + anchors.topMargin: 7 + anchors.leftMargin: 7 + anchors.rightMargin: 25 + anchors.bottomMargin: 40 + color: Theme.sunkenBackgroundColor + + ColumnLayout { + anchors.fill: parent + spacing: 0 + ScrollView { + Layout.fillHeight: true + Layout.fillWidth: true + + TreeView { + id: featureView + Layout.fillWidth: true + + clip: true + + model: root.model + + selectionModel: featureSelection + + delegate: FocusScope { + required property string label + required property var icon + + readonly property real indentation: 40 + readonly property real padding: 5 + + // Assigned to by TreeView: + required property TreeView treeView + required property bool isTreeNode + required property bool expanded + required property int hasChildren + required property int depth + required property int row + required property int column + required property bool current + // FIXME The signature for that function has changed after Qt 6.4.2 (currently shipped on Ubuntu 24.04) + // See https://github.com/mixxxdj/mixxx/pull/14514#issuecomment-2770811094 for further details + readonly property var index: treeView.modelIndex(column, row) + + implicitWidth: treeView.width + implicitHeight: depth == 0 ? 42 : 35 + + // Rotate indicator when expanded by the user + // (requires TreeView to have a selectionModel) + property Animation indicatorAnimation: NumberAnimation { + target: indicator + property: "rotation" + from: expanded ? 0 : 90 + to: expanded ? 90 : 0 + duration: 100 + easing.type: Easing.OutQuart + } + TableView.onPooled: indicatorAnimation.complete() + TableView.onReused: if (current) indicatorAnimation.start() + onExpandedChanged: indicator.rotation = expanded ? 90 : 0 + + Rectangle { + id: background + anchors.fill: parent + color: depth == 0 ? Theme.darkGray3 : 'transparent' + + MouseArea { + id: rowMouseArea + anchors.fill: parent + hoverEnabled: true + acceptedButtons: Qt.LeftButton | Qt.RightButton + onClicked: (event) => { + treeView.selectionModel.select(treeView.selectionModel.model.index(row, 0), ItemSelectionModel.Rows | ItemSelectionModel.Select | ItemSelectionModel.Clear | ItemSelectionModel.Current); + treeView.model.activate(index) + if (isTreeNode && hasChildren) { + treeView.toggleExpanded(row) + } + event.accepted = true + } + } + + Rectangle { + width: 25 + anchors.left: parent.left + anchors.leftMargin: 10 + 15 * depth + anchors.top: parent.top + anchors.bottom: parent.bottom + anchors.right: parent.right + color: current ? Theme.midGray : 'transparent' + + Repeater { + id: lineIcon + anchors.left: parent.left + anchors.verticalCenter: parent.verticalCenter + model: !!icon ? 1 : 0 + Image { + visible: depth == 0 && icon + source: icon + height: 25 + width: 25 + } + } + + Label { + id: indicator + Layout.preferredWidth: indicator.implicitWidth + visible: isTreeNode && hasChildren + color: Theme.textColor + text: "▶" + + anchors { + left: parent.left + verticalCenter: lineIcon.bottom + } + } + + Label { + id: labelItem + anchors.left: parent.left + anchors.leftMargin: depth == 0 && row == 0 ? 10 : 34 + anchors.verticalCenter: parent.verticalCenter + clip: true + font.weight: depth == 0 ? Font.Bold : Font.Medium + font.pixelSize: 14 + text: label + color: Theme.textColor + } + Item { + visible: rowMouseArea.containsMouse && isTreeNode && hasChildren + id: newItem + height: parent.height + anchors { + verticalCenter: parent.verticalCenter + right: parent.right + rightMargin: 10 + } + Rectangle { + width: 30 + height: parent.height + anchors.centerIn: parent + gradient: Gradient { + orientation: Gradient.Horizontal + + GradientStop { + position: 1 + color: Theme.sunkenBackgroundColor + } + + GradientStop { + position: 0 + color: 'transparent' + } + } + } + Rectangle { + anchors.right: parent.right + anchors.verticalCenter: parent.verticalCenter + anchors.rightMargin: 5 + width: 20 + height: 20 + border.width: 2 + border.color: Theme.white + radius: 20 + color: 'transparent' + Shape { + anchors.fill: parent + anchors.margins: 4 + ShapePath { + strokeWidth: 2 + fillColor: Theme.white + capStyle: ShapePath.RoundCap + + startX: 6 + startY: 0 + PathLine { x: 6; y: 12 } + PathLine { x: 6; y: 8 } + } + ShapePath { + strokeWidth: 2 + fillColor: Theme.white + capStyle: ShapePath.RoundCap + + startX: 0 + startY: 6 + PathLine { y: 6; x: 12 } + PathLine { y: 6; x: 8 } + } + } + } + } + } + } + } + } + } + } + } +} diff --git a/res/qml/Library/Cell.qml b/res/qml/Library/Cell.qml new file mode 100644 index 000000000000..d93e57a0e765 --- /dev/null +++ b/res/qml/Library/Cell.qml @@ -0,0 +1,104 @@ +import Qt5Compat.GraphicalEffects +import QtQuick +import QtQuick.Layouts +import "../Theme" + +Rectangle { + id: root + + readonly property alias dragImage: dragImageEffect + + anchors.fill: parent + + color: selected ? Theme.accent : (row % 2 == 0 ? Theme.sunkenBackgroundColor : Theme.backgroundColor) + + Drag.dragType: Drag.Automatic + Drag.supportedActions: Qt.CopyAction + Drag.mimeData: { + "text/uri-list": file_url.toString(), + "text/plain": file_url.toString(), + } + Item { + id: dragImageSource + width: 190 + height: 85 + visible: false + Rectangle { + color: Theme.sunkenBackgroundColor + anchors { + left: parent.left + right: parent.right + top: parent.top + bottom: parent.bottom + margins: 5 + } + radius: 12 + RowLayout { + anchors.fill: parent + Image { + id: cover + Layout.fillHeight: true + Layout.preferredWidth: cover_art ? 75 : 0 + fillMode: Image.PreserveAspectFit + source: cover_art + clip: true + asynchronous: true + } + ColumnLayout { + Layout.fillWidth: true + Layout.fillHeight: true + Text { + text: track ? track.title : 'Unknown title' + color: Theme.textColor + } + Text { + text: track ? track.artist : 'Unknown artist' + color: Theme.midGray + } + } + } + Rectangle { + width: 20 + anchors { + top: parent.top + right: parent.right + bottom:parent.bottom + } + gradient: Gradient { + orientation: Gradient.Horizontal + + GradientStop { + position: 1 + color: Theme.darkGray + } + + GradientStop { + position: 0 + color: 'transparent' + } + } + } + } + } + DropShadow { + id: dragImageEffect + visible: false + anchors.fill: dragImageSource + source: dragImageSource + horizontalOffset: 0 + verticalOffset: 0 + radius: 10.0 + color: "#80000000" + } + + Rectangle { + id: border + color: Theme.darkGray2 + width: 1 + anchors { + top: parent.top + bottom: parent.bottom + right: parent.right + } + } +} diff --git a/res/qml/LibraryControl.qml b/res/qml/Library/Control.qml similarity index 68% rename from res/qml/LibraryControl.qml rename to res/qml/Library/Control.qml index 353e4b8bb21e..a5da4c133810 100644 --- a/res/qml/LibraryControl.qml +++ b/res/qml/Library/Control.qml @@ -1,3 +1,5 @@ +import ".." as Skin +import "." as LibraryComponent import Mixxx 1.0 as Mixxx import QtQuick 2.12 @@ -10,17 +12,17 @@ Item { signal loadSelectedTrack(string group, bool play) signal loadSelectedTrackIntoNextAvailableDeck(bool play) - FocusedWidgetControl { + Skin.FocusedWidgetControl { id: focusedWidgetControl - Component.onCompleted: this.value = FocusedWidgetControl.WidgetKind.LibraryView + Component.onCompleted: this.value = Skin.FocusedWidgetControl.WidgetKind.LibraryView } Mixxx.ControlProxy { group: "[Library]" key: "GoToItem" onValueChanged: (value) => { - if (value != 0 && root.focusWidget == FocusedWidgetControl.WidgetKind.LibraryView) + if (value != 0 && root.focusWidget == Skin.FocusedWidgetControl.WidgetKind.LibraryView) root.loadSelectedTrackIntoNextAvailableDeck(false); } } @@ -29,7 +31,7 @@ Item { group: "[Playlist]" key: "LoadSelectedIntoFirstStopped" onValueChanged: (value) => { - if (value != 0 && root.focusWidget == FocusedWidgetControl.WidgetKind.LibraryView) + if (value != 0 && root.focusWidget == Skin.FocusedWidgetControl.WidgetKind.LibraryView) root.loadSelectedTrackIntoNextAvailableDeck(false); } } @@ -39,7 +41,7 @@ Item { key: "SelectTrackKnob" onValueChanged: (value) => { if (value != 0) { - root.focusWidget = FocusedWidgetControl.WidgetKind.LibraryView; + root.focusWidget = Skin.FocusedWidgetControl.WidgetKind.LibraryView; root.moveVertical(value); } } @@ -50,7 +52,7 @@ Item { key: "SelectPrevTrack" onValueChanged: (value) => { if (value != 0) { - root.focusWidget = FocusedWidgetControl.WidgetKind.LibraryView; + root.focusWidget = Skin.FocusedWidgetControl.WidgetKind.LibraryView; root.moveVertical(-1); } } @@ -61,7 +63,7 @@ Item { key: "SelectNextTrack" onValueChanged: (value) => { if (value != 0) { - root.focusWidget = FocusedWidgetControl.WidgetKind.LibraryView; + root.focusWidget = Skin.FocusedWidgetControl.WidgetKind.LibraryView; root.moveVertical(1); } } @@ -71,7 +73,7 @@ Item { group: "[Library]" key: "MoveVertical" onValueChanged: (value) => { - if (value != 0 && root.focusWidget == FocusedWidgetControl.WidgetKind.LibraryView) + if (value != 0 && root.focusWidget == Skin.FocusedWidgetControl.WidgetKind.LibraryView) root.moveVertical(value); } } @@ -80,7 +82,7 @@ Item { group: "[Library]" key: "MoveUp" onValueChanged: (value) => { - if (value != 0 && root.focusWidget == FocusedWidgetControl.WidgetKind.LibraryView) + if (value != 0 && root.focusWidget == Skin.FocusedWidgetControl.WidgetKind.LibraryView) root.moveVertical(-1); } } @@ -89,7 +91,7 @@ Item { group: "[Library]" key: "MoveDown" onValueChanged: (value) => { - if (value != 0 && root.focusWidget == FocusedWidgetControl.WidgetKind.LibraryView) + if (value != 0 && root.focusWidget == Skin.FocusedWidgetControl.WidgetKind.LibraryView) root.moveVertical(1); } } @@ -104,11 +106,11 @@ Item { Instantiator { model: numDecksControl.value - delegate: LibraryControlLoadSelectedTrackHandler { + delegate: LibraryComponent.ControlLoadSelectedTrackHandler { required property int index group: "[Channel" + (index + 1) + "]" - enabled: root.focusWidget == FocusedWidgetControl.WidgetKind.LibraryView + enabled: root.focusWidget == Skin.FocusedWidgetControl.WidgetKind.LibraryView onLoadTrackRequested: (play) => { root.loadSelectedTrack(this.group, play); } @@ -125,11 +127,11 @@ Item { Instantiator { model: numPreviewDecksControl.value - delegate: LibraryControlLoadSelectedTrackHandler { + delegate: LibraryComponent.ControlLoadSelectedTrackHandler { required property int index group: "[PreviewDeck" + (index + 1) + "]" - enabled: root.focusWidget == FocusedWidgetControl.WidgetKind.LibraryView + enabled: root.focusWidget == Skin.FocusedWidgetControl.WidgetKind.LibraryView onLoadTrackRequested: (play) => { root.loadSelectedTrack(this.group, play); } @@ -146,11 +148,11 @@ Item { Instantiator { model: numSamplersControl.value - delegate: LibraryControlLoadSelectedTrackHandler { + delegate: LibraryComponent.ControlLoadSelectedTrackHandler { required property int index group: "[Sampler" + (index + 1) + "]" - enabled: root.focusWidget == FocusedWidgetControl.WidgetKind.LibraryView + enabled: root.focusWidget == Skin.FocusedWidgetControl.WidgetKind.LibraryView onLoadTrackRequested: (play) => { root.loadSelectedTrack(this.group, play); } diff --git a/res/qml/LibraryControlLoadSelectedTrackHandler.qml b/res/qml/Library/ControlLoadSelectedTrackHandler.qml similarity index 100% rename from res/qml/LibraryControlLoadSelectedTrackHandler.qml rename to res/qml/Library/ControlLoadSelectedTrackHandler.qml diff --git a/res/qml/Library/SourceTree.qml b/res/qml/Library/SourceTree.qml new file mode 100644 index 000000000000..470a03da7101 --- /dev/null +++ b/res/qml/Library/SourceTree.qml @@ -0,0 +1,194 @@ +import QtQuick +import Mixxx 1.0 as Mixxx +import "." as LibraryComponent +import "../Theme" + +Mixxx.LibrarySourceTree { + id: root + + component DefaultDelegate: LibraryComponent.Cell { + id: cell + readonly property var caps: capabilities + // FIXME: https://bugreports.qt.io/browse/QTBUG-111789 + Binding on Drag.active { + value: dragArea.drag.active + // This delays the update until the even queue is cleared + // preventing any potential oscillations causing a loop + delayed: true + } + + LibraryComponent.Track { + id: dragArea + anchors.fill: parent + capabilities: cell.caps + + onPressed: { + if (pressedButtons == Qt.LeftButton) { + tableView.selectionModel.selectRow(row); + parent.dragImage.grabToImage((result) => { + parent.Drag.imageSource = result.url; + }, Qt.size(parent.dragImage.width, parent.dragImage.height)); + } + } + onDoubleClicked: { + tableView.selectionModel.selectRow(row); + tableView.loadSelectedTrackIntoNextAvailableDeck(false); + } + } + + Text { + id: value + anchors.fill: parent + anchors.leftMargin: 15 + font.pixelSize: 14 + text: display ?? "" + verticalAlignment: Text.AlignVCenter + elide: Text.ElideRight + color: Theme.textColor + } + } + + defaultColumns: [ + Mixxx.TrackListColumn { + preferredWidth: 110 + + columnIdx: Mixxx.TrackListColumn.SQLColumns.Album + + delegate: Rectangle { + color: decoration + implicitHeight: 30 + + Image { + anchors.fill: parent + fillMode: Image.PreserveAspectCrop + source: cover_art + clip: true + asynchronous: true + } + } + }, + // FIXME: WaveformOverview is currently disabled due to performance limitation. Like for the legacy UI, a cache likely needs to be implemented to help + // Mixxx.TrackListColumn { + // label: qsTr("Preview") + // fillSpan: 3 + // preferredWidth: 300 + // columnIdx: Mixxx.TrackListColumn.SQLColumns.Title + + // delegate: LibraryCell { + // // implicitHeight: 30 + // anchors.fill: parent + + // readonly property var trackProxy: track + + // Drag.active: dragArea.drag.active + // Drag.dragType: Drag.Automatic + // Drag.supportedActions: Qt.CopyAction + // Drag.mimeData: { + // "text/uri-list": file_url, + // "text/plain": file_url + // } + + // LibraryComponent.Track { + // id: dragArea + // anchors.fill: parent + // capabilities: parent.capabilities + + // onPressed: { + // if (pressedButtons == Qt.LeftButton) { + // tableView.selectionModel.selectRow(row); + // parent.dragImage.grabToImage((result) => { + // parent.Drag.imageSource = result.url; + // }); + // } else { + // } + // } + // onDoubleClicked: { + // tableView.selectionModel.selectRow(row); + // tableView.loadSelectedTrackIntoNextAvailableDeck(false); + // } + // } + + // Mixxx.WaveformOverview { + // anchors.fill: parent + // channels: Mixxx.WaveformOverview.Channels.LeftChannel + // renderer: Mixxx.WaveformOverview.Renderer.Filtered + // colorHigh: Theme.white + // colorMid: Theme.blue + // colorLow: Theme.green + // track: trackProxy + // } + // Rectangle { + // id: border + // color: Theme.darkGray2 + // width: 1 + // anchors { + // top: parent.top + // bottom: parent.bottom + // right: parent.right + // } + // } + // } + + // }, + Mixxx.TrackListColumn { + label: qsTr("Title") + fillSpan: 3 + columnIdx: Mixxx.TrackListColumn.SQLColumns.Title + + delegate: DefaultDelegate { } + }, + Mixxx.TrackListColumn { + label: qsTr("Artist") + fillSpan: 2 + + columnIdx: Mixxx.TrackListColumn.SQLColumns.Artist + delegate: DefaultDelegate { } + }, + Mixxx.TrackListColumn { + label: qsTr("Album") + fillSpan: 1 + + columnIdx: Mixxx.TrackListColumn.SQLColumns.Album + delegate: DefaultDelegate { } + }, + Mixxx.TrackListColumn { + label: qsTr("Year") + preferredWidth: 80 + + columnIdx: Mixxx.TrackListColumn.SQLColumns.Year + delegate: DefaultDelegate { } + }, + Mixxx.TrackListColumn { + label: qsTr("Bpm") + preferredWidth: 60 + + columnIdx: Mixxx.TrackListColumn.SQLColumns.Bpm + delegate: DefaultDelegate { } + }, + Mixxx.TrackListColumn { + label: qsTr("Key") + preferredWidth: 70 + + columnIdx: Mixxx.TrackListColumn.SQLColumns.Key + delegate: DefaultDelegate { } + }, + Mixxx.TrackListColumn { + label: qsTr("File Type") + preferredWidth: 70 + + columnIdx: Mixxx.TrackListColumn.SQLColumns.FileType + delegate: DefaultDelegate { } + }, + Mixxx.TrackListColumn { + label: qsTr("Bitrate") + preferredWidth: 70 + + columnIdx: Mixxx.TrackListColumn.SQLColumns.Bitrate + delegate: DefaultDelegate { } + } + ] + Mixxx.LibraryAllTrackSource { + label: qsTr("All...") + columns: root.defaultColumns + } +} diff --git a/res/qml/Library/Track.qml b/res/qml/Library/Track.qml new file mode 100644 index 000000000000..253c4a188b9e --- /dev/null +++ b/res/qml/Library/Track.qml @@ -0,0 +1,131 @@ +import Mixxx 1.0 as Mixxx +import QtQuick +import QtQuick.Controls 2.15 +import "../Theme" + +MouseArea { + id: dragArea + + required property var capabilities + + readonly property var library: Mixxx.Library + + drag.target: value + acceptedButtons: Qt.LeftButton | Qt.RightButton + onClicked: (mouse) => { + if (mouse.button === Qt.RightButton) + contextMenu.popup() + } + onPressAndHold: (mouse) => { + if (mouse.source === Qt.MouseEventNotSynthesized) + contextMenu.popup() + } + + function hasCapabilities(caps) { + return (dragArea.capabilities & caps) == caps; + } + + Menu { + id: contextMenu + title: qsTr("File") + + Menu { + title: qsTr("Load to") + enabled: { + hasCapabilities(Mixxx.LibraryTrackListModel.Capability.LoadToDeck) || + hasCapabilities(Mixxx.LibraryTrackListModel.Capability.LoadToSampler) || + hasCapabilities(Mixxx.LibraryTrackListModel.Capability.LoadToPreviewDeck) + } + + Menu { + id: loadToDeckMenu + title: qsTr("Deck") + enabled: hasCapabilities(Mixxx.LibraryTrackListModel.Capability.LoadToDeck) + Instantiator { + model: 4 + delegate: MenuItem { + text: qsTr("Deck %1").arg(modelData+1) + onTriggered: Mixxx.PlayerManager.getPlayer(`[Channel${modelData+1}]`).loadTrack(track) + } + + onObjectAdded: (index, object) => loadToDeckMenu.insertItem(index, object) + onObjectRemoved: (index, object) => loadToDeckMenu.removeItem(object) + } + } + + Menu { + title: qsTr("Sampler") + enabled: hasCapabilities(Mixxx.LibraryTrackListModel.Capability.LoadToSampler) + } + + // Instantiator { + // id: recentFilesInstantiator + // model: settings.recentFiles + // delegate: MenuItem { + // text: settings.displayableFilePath(modelData) + // onTriggered: loadFile(modelData) + // } + + // onObjectAdded: (index, object) => recentFilesMenu.insertItem(index, object) + // onObjectRemoved: (index, object) => recentFilesMenu.removeItem(object) + // } + } + + Menu { + id: addToPlaylistMenu + title: qsTr("Add to playlists") + enabled: { + hasCapabilities(Mixxx.LibraryTrackListModel.Capability.AddToTrackSet) + } + + MenuSeparator {} + + MenuItem { + enabled: false // TODO implement + text: qsTr("Create New Playlist") + } + } + + Menu { + id: addToCrateMenu + title: qsTr("Crates") + enabled: { + hasCapabilities(Mixxx.LibraryTrackListModel.Capability.AddToTrackSet) + } + + MenuSeparator {} + + MenuItem { + enabled: false // TODO implement + text: qsTr("Create New Crate") + } + } + + Menu { + id: analyzeMenu + title: qsTr("Analyze") + enabled: { + hasCapabilities(Mixxx.LibraryTrackListModel.Capability.EditMetadata)|| + hasCapabilities(Mixxx.LibraryTrackListModel.Capability.Analyze) + } + MenuItem { + text: qsTr("Analyze") + onTriggered: { + library.analyze(track) + } + } + MenuItem { + enabled: false // TODO implement + text: qsTr("Reanalyze") + } + MenuItem { + enabled: false // TODO implement + text: qsTr("Reanalyze (constant BPM)") + } + MenuItem { + enabled: false // TODO implement + text: qsTr("Reanalyze (variable BPM)") + } + } + } +} diff --git a/res/qml/Library/TrackList.qml b/res/qml/Library/TrackList.qml new file mode 100644 index 000000000000..715b7a6323e4 --- /dev/null +++ b/res/qml/Library/TrackList.qml @@ -0,0 +1,295 @@ +import ".." as Skin +import "." as LibraryComponent +import Mixxx 1.0 as Mixxx +import Qt.labs.qmlmodels +import QtQml +import QtQuick +import QtQml.Models +import QtQuick.Layouts +import QtQuick.Controls 2.15 +import "../Theme" + +Rectangle { + id: root + + color: Theme.darkGray + + required property var model + + LibraryComponent.Control { + id: libraryControl + + onMoveVertical: (offset) => { + view.selectionModel.moveSelectionVertical(offset); + } + onLoadSelectedTrack: (group, play) => { + view.loadSelectedTrack(group, play); + } + onLoadSelectedTrackIntoNextAvailableDeck: (play) => { + view.loadSelectedTrackIntoNextAvailableDeck(play); + } + onFocusWidgetChanged: { + switch (focusWidget) { + case Skin.FocusedWidgetControl.WidgetKind.LibraryView: + view.forceActiveFocus(); + break; + } + } + } + + HorizontalHeaderView { + id: horizontalHeader + + anchors.top: parent.top + anchors.left: parent.left + anchors.right: parent.right + anchors.margins: 5 + syncView: view + + property int sortingColumn: -1 + property var sortingOrder: Qt.Descending + + delegate: Item { + id: column + required property string display + required property int index + + implicitHeight: columnName.contentHeight + 5 + implicitWidth: columnName.contentWidth + 5 + + MouseArea { + id: columnMouseHandler + anchors.fill: parent + acceptedButtons: Qt.LeftButton + onClicked: { + if (horizontalHeader.sortingColumn == index) { + horizontalHeader.sortingOrder = horizontalHeader.sortingOrder == Qt.DescendingOrder ? Qt.AscendingOrder : Qt.DescendingOrder + } else { + horizontalHeader.sortingColumn = index + horizontalHeader.sortingOrder = Qt.AscendingOrder + } + view.model.sort(horizontalHeader.sortingColumn, horizontalHeader.sortingOrder); + } + } + + Text { + id: columnName + + text: display + anchors.fill: parent + anchors.leftMargin: 15 + elide: Text.ElideRight + horizontalAlignment: Text.AlignLeft + verticalAlignment: Text.AlignVCenter + font.family: Theme.fontFamily + font.capitalization: Font.Capitalize + font.pixelSize: 12 + font.weight: Font.Medium + color: Theme.textColor + } + + Item { + anchors { + left: parent.left + leftMargin: 5 + top: parent.top + bottom: parent.bottom + } + Label { + id: sortIndicator + + visible: horizontalHeader.sortingColumn == index + + text: "▶" + rotation: horizontalHeader.sortingOrder == Qt.AscendingOrder ? 90 : -90 + + anchors.centerIn: parent + elide: Text.ElideRight + horizontalAlignment: Text.AlignRight + verticalAlignment: Text.AlignVCenter + font.family: Theme.fontFamily + font.capitalization: Font.AllUppercase + font.bold: true + font.pixelSize: Theme.buttonFontPixelSize + color: "red" + } + } + Rectangle { + id: columnResizer + color: Theme.darkGray2 + width: 1 + anchors { + top: parent.top + bottom: parent.bottom + right: parent.right + } + MouseArea { + id: columnResizeHandler + + property int sizeOffset: 0 + + anchors.fill: parent + preventStealing: true + drag { + target: parent + axis: Drag.XAxis + threshold: 2 + onActiveChanged: { + if (!drag.active && columnResizeHandler.sizeOffset !== 0) { + view.model.columns[index].preferredWidth = column.width + columnResizeHandler.sizeOffset = 0 + view.updateColumnSize() + view.forceLayout() + } + } + } + cursorShape: Qt.SizeHorCursor + onMouseXChanged: { + if (drag.active) { + column.width += mouseX + sizeOffset += mouseX + } + } + } + } + } + } + + TableView { + id: view + + function loadSelectedTrackIntoNextAvailableDeck(play) { + const urls = this.selectionModel.selectedTrackUrls(); + if (urls.length == 0) + return ; + + Mixxx.PlayerManager.loadLocationUrlIntoNextAvailableDeck(urls[0], play); + } + + function loadSelectedTrack(group, play) { + const urls = this.selectionModel.selectedTrackUrls(); + if (urls.length == 0) + return ; + + player.loadTrackFromLocationUrl(urls[0], play); + } + + ScrollBar.vertical: ScrollBar { + policy: ScrollBar.AlwaysOn + } + + anchors.top: horizontalHeader.bottom + anchors.left: parent.left + anchors.right: parent.right + anchors.bottom: parent.bottom + anchors.margins: 5 + clip: true + reuseItems: true + Keys.onUpPressed: this.selectionModel.moveSelectionVertical(-1) + Keys.onDownPressed: this.selectionModel.moveSelectionVertical(1) + Keys.onEnterPressed: this.loadSelectedTrackIntoNextAvailableDeck(false) + Keys.onReturnPressed: this.loadSelectedTrackIntoNextAvailableDeck(false) + model: root.model + function updateColumnSize() { + usedWidth = 0; + dynamicColumnCount = 0; + if (model == null) { + return; + } + for (let c = 0; c < model.columns.length; c++) { + if (model.columns[c].hidden) { + continue + } else if (model.columns[c].preferredWidth > 0) { + usedWidth += model.columns[c].preferredWidth; + } else { + dynamicColumnCount += model.columns[c].fillSpan || 1 + } + } + } + Component.onCompleted: this.updateColumnSize() + onModelChanged: this.updateColumnSize() + + property int usedWidth: 0 + property int dynamicColumnCount: 0 + + columnWidthProvider: function(column) { + const columnDef = view.model.columns[column] + if (columnDef.hidden) { + return 0; + } + if (columnDef.preferredWidth >= 0) { + return columnDef.preferredWidth; + } + const span = columnDef.fillSpan || 1; + return span * (view.width - view.usedWidth) / view.dynamicColumnCount; + } + + selectionModel: ItemSelectionModel { + function selectRow(row) { + const rowCount = this.model.rowCount(); + if (rowCount == 0) { + this.clear(); + return ; + } + const newRow = Mixxx.MathUtils.positiveModulo(row, rowCount); + this.select(this.model.index(newRow, 0), ItemSelectionModel.Rows | ItemSelectionModel.Select | ItemSelectionModel.Clear | ItemSelectionModel.Current); + } + + function moveSelectionVertical(value) { + if (value == 0) + return ; + + const selected = this.selectedIndexes; + const oldRow = (selected.length == 0) ? 0 : selected[0].row; + this.selectRow(oldRow + value); + } + + function selectedTrackUrls() { + return this.selectedIndexes.map((index) => { + return this.model.getUrl(index.row); + }); + } + model: view.model + } + + delegate: Item { + id: item + required property bool selected + required property color decoration + required property var display + required property var track + required property string file_url + required property url cover_art + required property int row + + implicitHeight: 30 + + Loader { + id: loader + anchors.fill: parent + property bool selected: item.selected + property color decoration: item.decoration + property var display: item.display + property var track: item.track + property url file_url: item.file_url + property url cover_art: item.cover_art + property int row: item.row + property var tableView: view + property var capabilities: root.model ? root.model.getCapabilities() : Mixxx.LibraryTrackListModel.Capability.None + sourceComponent: delegate + focus: true + + onLoaded: { + // Workaround needed for WaveformOverview column to load the data + // if (track) + // Mixxx.Library.analyze(track) + } + } + // Workaround needed for WaveformOverview column to load the data + // TableView.onReused: { + // if (track) + // Mixxx.Library.analyze(track) + // } + } + } +} diff --git a/res/qml/PreviewDeck.qml b/res/qml/PreviewDeck.qml new file mode 100644 index 000000000000..d7e22d7cd8cd --- /dev/null +++ b/res/qml/PreviewDeck.qml @@ -0,0 +1,42 @@ +import "." as Skin +import Mixxx 1.0 as Mixxx +import Qt.labs.qmlmodels +import QtQml +import QtQuick +import QtQml.Models +import QtQuick.Layouts +import QtQuick.Controls 2.15 +import QtQuick.Shapes 1.6 +import "Theme" + +Rectangle { + id: root + + color: 'transparent' + + Shape { + anchors.fill: parent + ShapePath { + strokeColor: Theme.midGray + strokeWidth: 1 + fillColor: "transparent" + capStyle: ShapePath.RoundCap + + startX: 0 + startY: 0 + PathLine { x: width; y: 0 } + PathLine { x: width; y: height } + PathLine { x: 0; y: height } + PathLine { x: 0; y: 0 } + PathLine { x: width; y: height } + PathLine { x: 0; y: height } + PathLine { x: width; y: 0 } + } + } + + Text { + anchors.centerIn: parent + color: 'white' + text: "PreviewDeck placeholder" + } +} diff --git a/res/qml/Sampler.qml b/res/qml/Sampler.qml index df39c786ed06..936d683990c7 100644 --- a/res/qml/Sampler.qml +++ b/res/qml/Sampler.qml @@ -9,13 +9,14 @@ Rectangle { required property string group property bool minimized: false property var deckPlayer: Mixxx.PlayerManager.getPlayer(group) + property var currentTrack: deckPlayer.currentTrack color: { - const trackColor = root.deckPlayer.color; + const trackColor = root.currentTrack.color; if (!trackColor.valid) return Theme.backgroundColor; - return Qt.darker(root.deckPlayer.color, 2); + return Qt.darker(root.currentTrack.color, 2); } implicitHeight: gainKnob.height + 10 Drag.active: dragArea.drag.active @@ -25,7 +26,7 @@ Rectangle { let data = { "mixxx/player": group }; - const trackLocationUrl = deckPlayer.trackLocationUrl; + const trackLocationUrl = root.currentTrack.trackLocationUrl; if (trackLocationUrl) data["text/uri-list"] = trackLocationUrl; @@ -83,7 +84,7 @@ Rectangle { Text { id: label - text: root.deckPlayer.title + text: root.currentTrack.title anchors.top: embedded.top anchors.left: playButton.right anchors.right: embedded.right diff --git a/res/qml/Theme/Theme.qml b/res/qml/Theme/Theme.qml index 375911fcd0e8..31154df62ce0 100644 --- a/res/qml/Theme/Theme.qml +++ b/res/qml/Theme/Theme.qml @@ -2,20 +2,21 @@ import QtQuick 2.12 pragma Singleton QtObject { + property color accent: "#2D4EA1" property color accentColor: "#3a60be" - property color backgroundColor: "#1e1e20" + property color backgroundColor: "#2E2E2E" property color blue: "#01dcfc" property color bpmSliderBarColor: green property color buttonNormalColor: midGray property color crossfaderBarColor: red property color crossfaderOrientationColor: lightGray property color darkGray: "#0f0f0f" - property color darkGray2: "#2e2e2e" - property color darkGray3: "#3F3F3F" + property color darkGray2: "#242424" + property color darkGray3: "#202020" property color deckActiveColor: green property color deckBackgroundColor: darkGray property color deckLineColor: darkGray2 - property color deckTextColor: lightGray2 + property color deckTextColor: white property color effectColor: yellow property color effectUnitColor: red property color embeddedBackgroundColor: "#a0000000" @@ -26,13 +27,17 @@ QtObject { property color gainKnobColor: blue property color green: "#85c85b" property color knobBackgroundColor: "#262626" - property color lightGray: "#747474" property color lightGray2: "#b0b0b0" + property color lightGray: "#747474" property color midGray: "#696969" + property color panelSplitterBackground: backgroundColor + property color panelSplitterHandleActive: lightGray2 + property color panelSplitterHandle: midGray property color pflActiveButtonColor: blue property color red: "#ea2a4e" property color samplerColor: blue - property color textColor: lightGray2 + property color sunkenBackgroundColor: "#0C0C0C" + property color textColor: white property color toolbarActiveColor: white property color toolbarBackgroundColor: darkGray2 property color volumeSliderBarColor: blue diff --git a/res/qml/images/library_computer.png b/res/qml/images/library_computer.png new file mode 100644 index 0000000000000000000000000000000000000000..c8fd2fd4d368df4b6e91cab96dc915d95e1fcb2b GIT binary patch literal 2442 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 IM6N<$f)Mg)i2wiq literal 0 HcmV?d00001 diff --git a/res/qml/images/library_crates.png b/res/qml/images/library_crates.png new file mode 100644 index 0000000000000000000000000000000000000000..4d6874104abe046cacc28d00bf3654fda59eff86 GIT binary patch literal 1651 zcmV-(28{WMP)EX>4Tx04R}tkv&MmP!xqvQ$>+V5j%)DWT*~e7Zq`=RVYG*P%E_RVDi#GXws0R zxHt-~1qXi?s}3&Cx;nTDg5VE`yWphgA|>9J6k5c1;qgAsyXWxUeSpxYFwN?U1DbA| z>10C8=2pd?R|GMD0KyoTnPtpLQVPEHbx)mCcQKyj-}h(rt9gq70g*V)4AUmwAfDN@ z4bJ<-5mu5_;&b8&lP*a7$aTfzH_kz@3Dp}fAb%yn8LNMaF7kRU=q4P{hdBSyPUiiI?tCw%<_Qpd2CnqBzuEw1KS{5* zwdfHL-UcqN+nTZmTrh~5jw_=I#mDw02y>eSad^gZEa<4bO1wgWnpw> zWFU8GbZ8()Nlj2!fese{00c`(L_t(&-tC!NY!p=($A4#Lc4ygbX-f;`Qfm`T2{w}8 z4I*en9;%|zq-o288k$HViNS~Rf{G#Wfj*FGO?>dh8j%NzV7VDE#Da;+ML~sNND$lF z2D+8fZTC8}XO0hTMazP{?RIMR|1_DIGc&*WzVkodHv?H^mDSxOM(^0r+~(VNt#`Rs zFhAu8O(~yYT<@;0I^|lBIXheKk43DuSW?dWuYq2Ve%kLZsO{gfuEPx=+Q`Q9huVtz z24Y9X0s&yzaz!NE_jz^8ceC68VvKBjd9G&_iZV?InqI4!qs=z#FcKh)l!^0E+VbcZC3Wa#S1Xs(9t_dh8xjLDzF*(|S(}u}=u|$SN7wpoQ#P@+u03raxqg#3YghBm zt~P?9=v<_%N#W>|k}VZlLSOIQxo>5BOI1f&KmdyK1HAk48qQz6PEUUXrPP!`NJnwv zLOX*|Yrcxb8-c2{fdI_Q4^a8w;D)X%JbV@b6=|95nbOK7izr`INaaI|Wm@J) zA}L8&$&A3fRl6D~9sR)8mbsKi2C1uyPa32*6y<}1XZZDxUZkTk8Jr~;1i7lgwoi_t zt4(abS7q>S}#L5xLxTgJ6FYG(p~TE6{Sxj3d~= z5aHuLffA2Uv2HDU_kJ~QkiNm#5Pjinj0FYL5(_iePxSO;l*^*Og=4nr@-Tqq; z0417Wo6p0^9Fxa%ZDxQ3grG!A-7(&y33dm(yg$oBi4g7v@r~h}7d$%0b4=<@V^U4B zD_qMI@VaSmG+>fH!RWZke#>=1jYpgLAOK7C{|U%%jx+N?x*SETHG@Htz#dz&E@II& z!S7;eUD@Rr&N(j?JK{EHr8B8}r4^)KDSDKmIEAH#lwx~4$pL$6N|m&y*5;^9_#f$# z1U|MTkB2Q(bFFpdJ)UYrU#-UNch`J z!(kD-*!IfrBgg)=QWZ2ED!tj)cM^v(fZ~E2a(!MpdqY^mZ$X$IjKbUu=MuwhMztg;%n{sQ5!l~}8jm*fBd002ovPDHLkV1h@n1}Fdk literal 0 HcmV?d00001 diff --git a/res/qml/images/library_playlist.png b/res/qml/images/library_playlist.png new file mode 100644 index 0000000000000000000000000000000000000000..c6f88e1ce98cbca2991b58f3d6115431b4360c58 GIT binary patch literal 1610 zcmV-Q2DSN#P)EX>4Tx04R}tkv&MmP!xqvQ$>+V5j%)DWT*~e7Zq`=RVYG*P%E_RVDi#GXws0R zxHt-~1qXi?s}3&Cx;nTDg5VE`yWphgA|>9J6k5c1;qgAsyXWxUeSpxYFwN?U1DbA| z>10C8=2pd?R|GMD0KyoTnPtpLQVPEHbx)mCcQKyj-}h(rt9gq70g*V)4AUmwAfDN@ z4bJ<-5mu5_;&b8&lP*a7$aTfzH_kz@3Dp}fAb%yn8LNMaF7kRU=q4P{hdBSyPUiiI?tCw%<_Qpd2CnqBzuEw1KS{5* zwdfHL-UcqN+nTZmTrh~5gz)E-h==E02y>eSad^gZEa<4bO1wgWnpw> zWFU8GbZ8()Nlj2!fese{00bgQL_t(&-tC!RY*SSn$G`X7+k1Q4u77}b8)XC5xxp9< zWKl7o#t_61V~j6K6vLkf9()iDI;X}*jW5W9FPiAcOicU}AM^VKKFNi|IP(0S+ZnlIf<)iR^JC62=+tZ zHMgOwQArwf?jyW=c;;@W3KiW@l#c=IAQ&DV^$c@V6u(-PxQluwrm0K%O+b{!wLAawwENuRTGny2pj zhDS)hv)jlkpsWQd*H|ZvG1&MwEN2(r`)VW2WOr#ATLDe0`$A>AGfk;>dj73ve!U}* z#=(<;WF$F2^YeSm_~dy(_(W=I>B}8{D0W*PnTkxFqItU6tXoK>bl+_3?@j>sFK&_7 z2ls<#1BD+62gxa$0$?taD~&-8@xXll-VS0I?4pV?AH|B8h zi|-3ST8=&f;6&Lx!Wi-0y7mSArhxze$!Ui#=r5L*K&t`OZ~etUIsMh|U26PF1hLCu z*xgR7-n1T)>!#l+nH&-$QDi1k2z0a{*xgon6;lh4Yv+E4a$^=4OCUBJE<0vsJgEzW z)W%U~m#%~yc71haz4tm11o+#U(e^<1@&XBM?}4XrMIjQ|WC?;~(_iV=8bp*Oc!R5q zx2)k|k!nyfIWVf$w)ZmZ)L=A@$WMP_CYAuDH>+iDqYup+)-Mwf#xQ*P0%F6Fg>dl{ zrsJvF1P#4^Fmm>{vJf?I>-9{Yx*kRNm%j?1y)HW*zqb>eYgS=0ox^8mhA^JWnjd8R zaxqK$Jx;u{e-~D-EFK5%+!8|nz_++GI$`duHF3Szr0wp#rvw531fF2u&MoHm5seiO zySiHaWyf^221Dnnd5nC(GYR60vSak9iYf*JIn@@ZA2rk6;t9^~nceui_biZV<^OW7~7Pv36_6 zf`#&gAh50(_dWY48miyPBQ*P-CQ5qpI5+03-#T{Kz|nx9QQR&%lx;OaD*(1F9fJvR>P1+5i9m07*qo IM6N<$g5DGBfB*mh literal 0 HcmV?d00001 diff --git a/src/library/browse/browsetablemodel.cpp b/src/library/browse/browsetablemodel.cpp index dfd259448205..06b98574e78d 100644 --- a/src/library/browse/browsetablemodel.cpp +++ b/src/library/browse/browsetablemodel.cpp @@ -219,7 +219,9 @@ TrackPointer BrowseTableModel::getTrack(const QModelIndex& index) const { } TrackPointer BrowseTableModel::getTrackByRef(const TrackRef& trackRef) const { - if (m_pRecordingManager->getRecordingLocation() == trackRef.getLocation()) { + if (m_pRecordingManager && + m_pRecordingManager->getRecordingLocation() == + trackRef.getLocation()) { QMessageBox::critical(nullptr, tr("Mixxx Library"), tr("Could not load the following file because it is in use by " diff --git a/src/library/sidebarmodel.h b/src/library/sidebarmodel.h index 742bb0c28417..f5a36d2c50ae 100644 --- a/src/library/sidebarmodel.h +++ b/src/library/sidebarmodel.h @@ -86,11 +86,13 @@ class SidebarModel : public QAbstractItemModel { private slots: void slotPressedUntilClickedTimeout(); + protected: + QList m_sFeatures; + private: QModelIndex translateSourceIndex(const QModelIndex& parent); QModelIndex translateIndex(const QModelIndex& index, const QAbstractItemModel* model); void featureRenamed(LibraryFeature*); - QList m_sFeatures; unsigned int m_iDefaultSelectedIndex; /** Index of the item in the sidebar model to select at startup. */ QTimer* const m_pressedUntilClickedTimer; diff --git a/src/library/treeitemmodel.h b/src/library/treeitemmodel.h index 3972e3889cf4..142d635e2822 100644 --- a/src/library/treeitemmodel.h +++ b/src/library/treeitemmodel.h @@ -13,7 +13,7 @@ class TreeItemModel : public QAbstractItemModel { static const int kDataRole = Qt::UserRole; static const int kBoldRole = Qt::UserRole + 1; - explicit TreeItemModel(QObject *parent = 0); + explicit TreeItemModel(QObject* parent = nullptr); ~TreeItemModel() override; QVariant data(const QModelIndex &index, int role) const override; diff --git a/src/main.cpp b/src/main.cpp index 3f4c0b1f6d6a..f7741c98882f 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -62,6 +62,11 @@ int runMixxx(MixxxApplication* pApp, const CmdlineArgs& args) { int exitCode; #ifdef MIXXX_USE_QML if (args.isQml()) { + // This is a workaround to support Qt 6.4.2, currently shipped on + // Ubuntu 24.04 See + // https://github.com/mixxxdj/mixxx/pull/14514#issuecomment-2770811094 + // for further details + qputenv("QT_QUICK_TABLEVIEW_COMPAT_VERSION", "6.4"); mixxx::qml::QmlApplication qmlApplication(pApp, args); exitCode = pApp->exec(); } else diff --git a/src/qml/qmlconfigproxy.h b/src/qml/qmlconfigproxy.h index d5a03bc7040e..3b2e534fb34d 100644 --- a/src/qml/qmlconfigproxy.h +++ b/src/qml/qmlconfigproxy.h @@ -34,6 +34,10 @@ class QmlConfigProxy : public QObject { s_pUserSettings = std::move(pConfig); } + static UserSettingsPointer get() { + return s_pUserSettings; + } + private: static inline UserSettingsPointer s_pUserSettings = nullptr; diff --git a/src/qml/qmllibraryproxy.cpp b/src/qml/qmllibraryproxy.cpp index fec3d21120c4..5856438354ed 100644 --- a/src/qml/qmllibraryproxy.cpp +++ b/src/qml/qmllibraryproxy.cpp @@ -1,17 +1,35 @@ #include "qml/qmllibraryproxy.h" #include +#include #include "library/library.h" +#include "library/librarytablemodel.h" #include "moc_qmllibraryproxy.cpp" +#include "qml/qmllibraryproxy.h" +#include "qml/qmllibrarytracklistmodel.h" +#include "qmltrackproxy.h" +#include "track/track.h" +#include "util/assert.h" namespace mixxx { namespace qml { -QmlLibraryProxy::QmlLibraryProxy(std::shared_ptr pLibrary, QObject* parent) - : QObject(parent), - m_pLibrary(pLibrary), - m_pModelProperty(new QmlLibraryTrackListModel(m_pLibrary->trackTableModel(), this)) { +QmlLibraryProxy::QmlLibraryProxy(QObject* parent) + : QObject(parent) { +} + +QmlLibraryTrackListModel* QmlLibraryProxy::model() const { + return make_qml_owned( + QList{}, s_pLibrary->trackTableModel()) + .get(); +} + +void QmlLibraryProxy::analyze(const QmlTrackProxy* track) const { + VERIFY_OR_DEBUG_ASSERT(track && track->internal()) { + return; + } + emit s_pLibrary->analyzeTracks({track->internal()->getId()}); } // static @@ -26,7 +44,7 @@ QmlLibraryProxy* QmlLibraryProxy::create(QQmlEngine* pQmlEngine, QJSEngine* pJsE qWarning() << "Library hasn't been registered yet"; return nullptr; } - return new QmlLibraryProxy(s_pLibrary, pQmlEngine); + return new QmlLibraryProxy(pQmlEngine); } } // namespace qml diff --git a/src/qml/qmllibraryproxy.h b/src/qml/qmllibraryproxy.h index 3b5d80967b9b..07f46106ac4d 100644 --- a/src/qml/qmllibraryproxy.h +++ b/src/qml/qmllibraryproxy.h @@ -1,39 +1,42 @@ #pragma once #include #include +#include #include -#include "qml/qmllibrarytracklistmodel.h" -#include "util/parented_ptr.h" +#include "qml_owned_ptr.h" +#include "qmllibrarytracklistmodel.h" class Library; namespace mixxx { namespace qml { -class QmlLibraryTrackListModel; +class QmlTrackProxy; class QmlLibraryProxy : public QObject { Q_OBJECT - Q_PROPERTY(mixxx::qml::QmlLibraryTrackListModel* model MEMBER m_pModelProperty CONSTANT) + Q_PROPERTY(mixxx::qml::QmlLibraryTrackListModel* model READ model CONSTANT) QML_NAMED_ELEMENT(Library) QML_SINGLETON public: - explicit QmlLibraryProxy(std::shared_ptr pLibrary, QObject* parent = nullptr); + explicit QmlLibraryProxy(QObject* parent = nullptr); static QmlLibraryProxy* create(QQmlEngine* pQmlEngine, QJSEngine* pJsEngine); static void registerLibrary(std::shared_ptr pLibrary) { s_pLibrary = std::move(pLibrary); } - private: - static inline std::shared_ptr s_pLibrary; + static Library* get() { + return s_pLibrary.get(); + } - std::shared_ptr m_pLibrary; + QmlLibraryTrackListModel* model() const; + Q_INVOKABLE void analyze(const mixxx::qml::QmlTrackProxy* track) const; - /// This needs to be a plain pointer because it's used as a `Q_PROPERTY` member variable. - QmlLibraryTrackListModel* m_pModelProperty; + private: + static inline std::shared_ptr s_pLibrary; }; } // namespace qml diff --git a/src/qml/qmllibrarysource.cpp b/src/qml/qmllibrarysource.cpp new file mode 100644 index 000000000000..cc11d6f16606 --- /dev/null +++ b/src/qml/qmllibrarysource.cpp @@ -0,0 +1,61 @@ +#include "qml/qmllibrarysource.h" + +#include +#include +#include + +#include +#include +#include +#include + +#include "library/browse/browsefeature.h" +#include "library/library.h" +#include "library/librarytablemodel.h" +#include "library/trackcollection.h" +#include "library/trackcollectionmanager.h" +#include "library/trackset/crate/cratefeature.h" +#include "library/trackset/crate/cratesummary.h" +#include "library/trackset/playlistfeature.h" +#include "library/treeitemmodel.h" +#include "moc_qmllibrarysource.cpp" +#include "qmllibraryproxy.h" +#include "track/track.h" + +AllTrackLibraryFeature::AllTrackLibraryFeature(Library* pLibrary, UserSettingsPointer pConfig) + : LibraryFeature(pLibrary, pConfig, QStringLiteral("")), + m_pSidebarModel(make_parented(this)), + m_pLibraryTableModel(pLibrary->trackTableModel()) { + m_pSidebarModel->setRootItem(TreeItem::newRoot(this)); +} + +void AllTrackLibraryFeature::activate() { + emit showTrackModel(m_pLibraryTableModel); +} + +namespace mixxx { +namespace qml { + +QmlLibrarySource::QmlLibrarySource( + QObject* parent, const QList& columns) + : QObject(parent), + m_columns(columns) { +} + +void QmlLibrarySource::slotShowTrackModel(QAbstractItemModel* pModel) { + emit requestTrackModel(std::make_shared(columns(), pModel)); +} + +QmlLibraryAllTrackSource::QmlLibraryAllTrackSource( + QObject* parent, const QList& columns) + : QmlLibrarySource(parent, columns), + m_pLibraryFeature(std::make_unique( + QmlLibraryProxy::get(), QmlConfigProxy::get())) { + connect(m_pLibraryFeature.get(), + &LibraryFeature::showTrackModel, + this, + &QmlLibrarySource::slotShowTrackModel); +} + +} // namespace qml +} // namespace mixxx diff --git a/src/qml/qmllibrarysource.h b/src/qml/qmllibrarysource.h new file mode 100644 index 000000000000..88e4d675d96a --- /dev/null +++ b/src/qml/qmllibrarysource.h @@ -0,0 +1,116 @@ +#pragma once + +#include + +#include +#include +#include +#include +#include +#include +#include +#include + +#include "library/browse/browsefeature.h" +#include "library/libraryfeature.h" +#include "library/sidebarmodel.h" +#include "library/trackset/crate/cratefeature.h" +#include "library/trackset/playlistfeature.h" +#include "library/treeitem.h" +#include "qmlconfigproxy.h" +#include "qmllibrarytracklistmodel.h" +#include "util/parented_ptr.h" + +class LibraryTableModel; +class TreeItemModel; +class AllTrackLibraryFeature final : public LibraryFeature { + Q_OBJECT + public: + AllTrackLibraryFeature(Library* pLibrary, + UserSettingsPointer pConfig); + ~AllTrackLibraryFeature() override = default; + + QVariant title() override { + return tr("All..."); + } + TreeItemModel* sidebarModel() const override { + return m_pSidebarModel; + } + + bool hasTrackTable() override { + return true; + } + + LibraryTableModel* trackTableModel() const { + return m_pLibraryTableModel; + } + + void searchAndActivate(const QString& query); + + public slots: + void activate() override; + + private: + LibraryTableModel* m_pLibraryTableModel; + + parented_ptr m_pSidebarModel; +}; + +namespace mixxx { +namespace qml { + +class QmlLibraryTrackListColumn; + +class QmlLibrarySource : public QObject { + Q_OBJECT + Q_PROPERTY(QString label MEMBER m_label) + Q_PROPERTY(QString icon MEMBER m_icon) + Q_PROPERTY(QQmlListProperty columns READ columnsQml) + Q_CLASSINFO("DefaultProperty", "columns") + QML_NAMED_ELEMENT(LibrarySource) + QML_UNCREATABLE("Only accessible via its specialization") + public: + explicit QmlLibrarySource(QObject* parent = nullptr, + const QList& columns = {}); + + QQmlListProperty columnsQml() { + return {this, &m_columns}; + } + + const QList& columns() const { + return m_columns; + } + virtual LibraryFeature* internal() = 0; + public slots: + void slotShowTrackModel(QAbstractItemModel* pModel); + + signals: +#if QT_VERSION >= QT_VERSION_CHECK(6, 9, 0) + void requestTrackModel(std::shared_ptr pModel); +#else + void requestTrackModel(std::shared_ptr pModel); +#endif + + protected: + QString m_label; + QString m_icon; + QList m_columns; +}; + +class QmlLibraryAllTrackSource : public QmlLibrarySource { + Q_OBJECT + QML_NAMED_ELEMENT(LibraryAllTrackSource) + public: + explicit QmlLibraryAllTrackSource(QObject* parent = nullptr, + const QList& columns = {}); + + LibraryFeature* internal() override { + return m_pLibraryFeature.get(); + } + + private: + std::unique_ptr m_pLibraryFeature; +}; + +} // namespace qml +} // namespace mixxx diff --git a/src/qml/qmllibrarysourcetree.cpp b/src/qml/qmllibrarysourcetree.cpp new file mode 100644 index 000000000000..2854c2b5063d --- /dev/null +++ b/src/qml/qmllibrarysourcetree.cpp @@ -0,0 +1,80 @@ +#include "qml/qmllibrarysourcetree.h" + +#include +#include + +#include +#include + +#include "library/library.h" +#include "library/librarytablemodel.h" +#include "moc_qmllibrarysourcetree.cpp" +#include "qml_owned_ptr.h" +#include "qmllibraryproxy.h" +#include "qmllibrarytracklistmodel.h" +#include "qmlsidebarmodelproxy.h" + +namespace mixxx { +namespace qml { + +QmlLibrarySourceTree::QmlLibrarySourceTree(QQuickItem* parent) + : QQuickItem(parent), + m_model(new QmlSidebarModelProxy(this)) { +} +QmlLibrarySourceTree::~QmlLibrarySourceTree() = default; + +Q_INVOKABLE QmlLibraryTrackListModel* QmlLibrarySourceTree::allTracks() const { + return make_qml_owned( + m_defaultColumns, QmlLibraryProxy::get()->trackTableModel()); +}; + +void QmlLibrarySourceTree::append_source( + QQmlListProperty* list, QmlLibrarySource* source) { + reinterpret_cast*>(list->data)->append(source); + QmlLibrarySourceTree* librarySourceTree = qobject_cast(list->object); + if (librarySourceTree && librarySourceTree->isComponentComplete()) { + librarySourceTree->m_model->update(librarySourceTree->m_sources); + } +} + +void QmlLibrarySourceTree::clear_source(QQmlListProperty* p) { + reinterpret_cast*>(p->data)->clear(); + QmlLibrarySourceTree* librarySourceTree = qobject_cast(p->object); + if (librarySourceTree) { + librarySourceTree->m_model->update(librarySourceTree->m_sources); + } +} +void QmlLibrarySourceTree::replace_source(QQmlListProperty* p, + qsizetype idx, + QmlLibrarySource* v) { + return reinterpret_cast*>(p->data)->replace(idx, v); + QmlLibrarySourceTree* librarySourceTree = qobject_cast(p->object); + if (librarySourceTree && librarySourceTree->isComponentComplete()) { + librarySourceTree->m_model->update(librarySourceTree->m_sources); + } +} +void QmlLibrarySourceTree::removeLast_source(QQmlListProperty* p) { + return reinterpret_cast*>(p->data)->removeLast(); + QmlLibrarySourceTree* librarySourceTree = qobject_cast(p->object); + if (librarySourceTree && librarySourceTree->isComponentComplete()) { + librarySourceTree->m_model->update(librarySourceTree->m_sources); + } +} + +QQmlListProperty QmlLibrarySourceTree::sources() { + return QQmlListProperty(this, + &m_sources, + &QmlLibrarySourceTree::append_source, + &QmlLibrarySourceTree::count_source, + &QmlLibrarySourceTree::at_source, + &QmlLibrarySourceTree::clear_source, + &QmlLibrarySourceTree::replace_source, + &QmlLibrarySourceTree::removeLast_source); +} + +void QmlLibrarySourceTree::componentComplete() { + m_model->update(m_sources); +} + +} // namespace qml +} // namespace mixxx diff --git a/src/qml/qmllibrarysourcetree.h b/src/qml/qmllibrarysourcetree.h new file mode 100644 index 000000000000..907f890f2aa5 --- /dev/null +++ b/src/qml/qmllibrarysourcetree.h @@ -0,0 +1,65 @@ +#pragma once + +#include +#include +#include +#include +#include +#include +#include + +#include "qmllibrarysource.h" +#include "qmllibrarytracklistcolumn.h" +#include "qmlsidebarmodelproxy.h" +#include "util/parented_ptr.h" + +namespace mixxx { +namespace qml { + +class QmlLibrarySourceTree : public QQuickItem { + Q_OBJECT + Q_INTERFACES(QQmlParserStatus) + Q_PROPERTY(QQmlListProperty sources READ sources) + Q_PROPERTY(QQmlListProperty defaultColumns READ + defaultColumns CONSTANT) + Q_CLASSINFO("DefaultProperty", "sources") + QML_NAMED_ELEMENT(LibrarySourceTree) + + public: + Q_DISABLE_COPY_MOVE(QmlLibrarySourceTree) + explicit QmlLibrarySourceTree(QQuickItem* parent = nullptr); + ~QmlLibrarySourceTree() override; + + void componentComplete() override; + + QQmlListProperty defaultColumns() { + return {this, &m_defaultColumns}; + } + + QQmlListProperty sources(); + Q_INVOKABLE mixxx::qml::QmlSidebarModelProxy* sidebar() const { + return m_model.get(); + }; + Q_INVOKABLE mixxx::qml::QmlLibraryTrackListModel* allTracks() const; + + private: + static void append_source(QQmlListProperty* list, QmlLibrarySource* slice); + static qsizetype count_source(QQmlListProperty* p) { + return reinterpret_cast*>(p->data)->size(); + } + static QmlLibrarySource* at_source(QQmlListProperty* p, qsizetype idx) { + return reinterpret_cast*>(p->data)->at(idx); + } + static void clear_source(QQmlListProperty* p); + static void replace_source(QQmlListProperty* p, + qsizetype idx, + QmlLibrarySource* v); + static void removeLast_source(QQmlListProperty* p); + + QList m_sources; + parented_ptr m_model; + QList m_defaultColumns; +}; + +} // namespace qml +} // namespace mixxx diff --git a/src/qml/qmllibrarytracklistcolumn.cpp b/src/qml/qmllibrarytracklistcolumn.cpp new file mode 100644 index 000000000000..5e64555c6f7d --- /dev/null +++ b/src/qml/qmllibrarytracklistcolumn.cpp @@ -0,0 +1,25 @@ +#include "qml/qmllibrarytracklistcolumn.h" + +#include "moc_qmllibrarytracklistcolumn.cpp" + +namespace mixxx { +namespace qml { + +QmlLibraryTrackListColumn::QmlLibraryTrackListColumn(QObject* parent, + const QString& label, + int fillSpan, + int columnIdx, + double preferredWidth, + QQmlComponent* pDelegate, + Role role) + : QObject(parent), + m_label(label), + m_role(role), + m_fillSpan(fillSpan), + m_columnIdx(columnIdx), + m_preferredWidth(preferredWidth), + m_pDelegate(pDelegate) { +} + +} // namespace qml +} // namespace mixxx diff --git a/src/qml/qmllibrarytracklistcolumn.h b/src/qml/qmllibrarytracklistcolumn.h new file mode 100644 index 000000000000..3d55002ba9a6 --- /dev/null +++ b/src/qml/qmllibrarytracklistcolumn.h @@ -0,0 +1,86 @@ +#pragma once + +#include +#include +#include +#include +#include +#include +#include + +#include "library/columncache.h" +#include "qml/qml_owned_ptr.h" + +namespace mixxx { +namespace qml { + +class QmlLibraryTrackListColumn : public QObject { + Q_OBJECT + Q_PROPERTY(QString label MEMBER m_label FINAL) + Q_PROPERTY(int fillSpan MEMBER m_fillSpan FINAL) + Q_PROPERTY(int columnIdx MEMBER m_columnIdx FINAL) + Q_PROPERTY(double preferredWidth MEMBER m_preferredWidth FINAL) + Q_PROPERTY(QQmlComponent* delegate READ delegate WRITE setDelegate FINAL) + Q_PROPERTY(Role role MEMBER m_role FINAL) + QML_NAMED_ELEMENT(TrackListColumn) + public: + enum class SQLColumns { + Album = ColumnCache::COLUMN_LIBRARYTABLE_ALBUM, + Artist = ColumnCache::COLUMN_LIBRARYTABLE_ARTIST, + Title = ColumnCache::COLUMN_LIBRARYTABLE_TITLE, + Year = ColumnCache::COLUMN_LIBRARYTABLE_YEAR, + Bpm = ColumnCache::COLUMN_LIBRARYTABLE_BPM, + Key = ColumnCache::COLUMN_LIBRARYTABLE_KEY, + FileType = ColumnCache::COLUMN_LIBRARYTABLE_FILETYPE, + Bitrate = ColumnCache::COLUMN_LIBRARYTABLE_BITRATE, + }; + Q_ENUM(SQLColumns) + enum class Role { + Location, + Artist, + Title, + Cover, + }; + Q_ENUM(Role) + explicit QmlLibraryTrackListColumn(QObject* parent = nullptr) + : QObject(parent) { + } + explicit QmlLibraryTrackListColumn(QObject* parent, + const QString& label, + int fillSpan, + int columnIdx, + double preferredWidth, + QQmlComponent* delegate, + Role role); + const QString& label() const { + return m_label; + } + Role role() const { + return m_role; + } + int fillSpan() const { + return m_fillSpan; + } + int columnIdx() const { + return m_columnIdx; + } + double preferredWidth() const { + return m_preferredWidth; + } + QQmlComponent* delegate() const { + return m_pDelegate; + } + void setDelegate(QQmlComponent* delegate) { + m_pDelegate = qml_owned_ptr(delegate); + } + + private: + QString m_label; + Role m_role; + int m_fillSpan{0}; + int m_columnIdx{-1}; + double m_preferredWidth{-1}; + qml_owned_ptr m_pDelegate; +}; +} // namespace qml +} // namespace mixxx diff --git a/src/qml/qmllibrarytracklistmodel.cpp b/src/qml/qmllibrarytracklistmodel.cpp index 1d8d77c27b16..2c14a5ccffc9 100644 --- a/src/qml/qmllibrarytracklistmodel.cpp +++ b/src/qml/qmllibrarytracklistmodel.cpp @@ -1,23 +1,68 @@ #include "qml/qmllibrarytracklistmodel.h" -#include "library/librarytablemodel.h" +#include + +#include +#include +#include +#include +#include + +#include "library/basetracktablemodel.h" +#include "library/columncache.h" #include "moc_qmllibrarytracklistmodel.cpp" +#include "qml/asyncimageprovider.h" +#include "qml/qmllibrarytracklistcolumn.h" +#include "qml_owned_ptr.h" +#include "qmltrackproxy.h" +#include "track/track.h" +#include "util/assert.h" +#include "util/parented_ptr.h" namespace mixxx { namespace qml { namespace { const QHash kRoleNames = { - {QmlLibraryTrackListModel::TitleRole, "title"}, - {QmlLibraryTrackListModel::ArtistRole, "artist"}, - {QmlLibraryTrackListModel::AlbumRole, "album"}, - {QmlLibraryTrackListModel::AlbumArtistRole, "albumArtist"}, - {QmlLibraryTrackListModel::FileUrlRole, "fileUrl"}, + {Qt::DisplayRole, "display"}, + {Qt::DecorationRole, "decoration"}, + {QmlLibraryTrackListModel::Delegate, "delegate"}, + {QmlLibraryTrackListModel::Track, "track"}, + {QmlLibraryTrackListModel::FileURL, "file_url"}, + {QmlLibraryTrackListModel::CoverArt, "cover_art"}, }; + +QColor colorFromRgbCode(double colorValue) { + if (colorValue < 0 || colorValue > 0xFFFFFF) { + return {}; + } + + QRgb rgbValue = static_cast(colorValue) | 0xFF000000; + return QColor(rgbValue); } +} // namespace -QmlLibraryTrackListModel::QmlLibraryTrackListModel(LibraryTableModel* pModel, QObject* pParent) - : QIdentityProxyModel(pParent) { - pModel->select(); +QmlLibraryTrackListModel::QmlLibraryTrackListModel( + const QList& librarySource, + QAbstractItemModel* pModel, + QObject* pParent) + : QIdentityProxyModel(pParent), + m_columns() { + m_columns.reserve(librarySource.size()); + for (const auto* pColumn : std::as_const(librarySource)) { + m_columns.emplace_back(make_parented(this, + pColumn->label(), + pColumn->fillSpan(), + pColumn->columnIdx(), + pColumn->preferredWidth(), + pColumn->delegate(), + pColumn->role())); + } + + auto* pTrackModel = dynamic_cast(pModel); + VERIFY_OR_DEBUG_ASSERT(pTrackModel) { + return; + } + pTrackModel->select(); setSourceModel(pModel); } @@ -29,72 +74,148 @@ QVariant QmlLibraryTrackListModel::data(const QModelIndex& proxyIndex, int role) VERIFY_OR_DEBUG_ASSERT(checkIndex(proxyIndex)) { return {}; } - - const auto pSourceModel = static_cast(sourceModel()); - VERIFY_OR_DEBUG_ASSERT(pSourceModel) { + auto columnIdx = proxyIndex.column(); + VERIFY_OR_DEBUG_ASSERT(columnIdx >= 0 || columnIdx < m_columns.size()) { return {}; } - if (proxyIndex.column() > 0) { - return {}; - } + auto* const pTrackTableModel = qobject_cast(sourceModel()); + auto* const pTrackModel = dynamic_cast(sourceModel()); + + const auto& pColumn = m_columns[columnIdx]; - int column = -1; switch (role) { - case TitleRole: - column = pSourceModel->fieldIndex(ColumnCache::COLUMN_LIBRARYTABLE_TITLE); - break; - case ArtistRole: - column = pSourceModel->fieldIndex(ColumnCache::COLUMN_LIBRARYTABLE_ARTIST); - break; - case AlbumRole: - column = pSourceModel->fieldIndex(ColumnCache::COLUMN_LIBRARYTABLE_ALBUM); - break; - case AlbumArtistRole: - column = pSourceModel->fieldIndex(ColumnCache::COLUMN_LIBRARYTABLE_ALBUMARTIST); - break; - case FileUrlRole: { - column = pSourceModel->fieldIndex(ColumnCache::COLUMN_TRACKLOCATIONSTABLE_LOCATION); - const QString location = QIdentityProxyModel::data( - proxyIndex.siblingAtColumn(column), Qt::DisplayRole) - .toString(); + case Track: { + if (pTrackModel == nullptr) { + return {}; + } + auto pTrack = make_qml_owned(pTrackModel->getTrack( + QIdentityProxyModel::mapToSource(proxyIndex))); + return QVariant::fromValue(pTrack.get()); + } + case Qt::DecorationRole: { + if (pTrackTableModel == nullptr) { + return {}; + }; + return colorFromRgbCode(QIdentityProxyModel::data( + proxyIndex.siblingAtColumn(pTrackTableModel->fieldIndex( + ColumnCache::COLUMN_LIBRARYTABLE_COLOR)), + Qt::DisplayRole) + .toDouble()); + } + case CoverArt: { + QString location; + if (pTrackTableModel != nullptr) { + location = QIdentityProxyModel::data( + proxyIndex.siblingAtColumn(pTrackTableModel->fieldIndex( + ColumnCache::COLUMN_TRACKLOCATIONSTABLE_LOCATION)), + Qt::DisplayRole) + .toString(); + } else if (pTrackModel != nullptr) { + auto pTrack = pTrackModel->getTrack( + QIdentityProxyModel::mapToSource(proxyIndex)); + location = pTrack->getCoverInfo().coverLocation; + } if (location.isEmpty()) { return {}; } - return QUrl::fromLocalFile(location); + + return AsyncImageProvider::trackLocationToCoverArtUrl(location); + } + case FileURL: { + if (pTrackModel == nullptr) { + return {}; + } + return pTrackModel->getTrackUrl(QIdentityProxyModel::mapToSource(proxyIndex)); } - default: + case Delegate: + return QVariant::fromValue(pColumn->delegate()); break; } - - if (column < 0) { - return {}; + if (pColumn->columnIdx() < 0) { + // Use proxyIndex.column() + return QIdentityProxyModel::data(proxyIndex, role); } - - return QIdentityProxyModel::data(proxyIndex.siblingAtColumn(column), Qt::DisplayRole); + return QIdentityProxyModel::data( + proxyIndex.siblingAtColumn(pTrackTableModel != nullptr + ? pTrackTableModel->fieldIndex( + static_cast( + pColumn->columnIdx())) + : pColumn->columnIdx()), + role); } int QmlLibraryTrackListModel::columnCount(const QModelIndex& parent) const { - // This is a list model, i.e. no entries have a parent. - VERIFY_OR_DEBUG_ASSERT(!parent.isValid()) { + VERIFY_OR_DEBUG_ASSERT(static_cast( + parent.internalPointer()) != this) { return 0; } + return m_columns.size(); +} - // There is exactly one column. All data is exposed as roles. - return 1; +QVariant QmlLibraryTrackListModel::headerData( + int section, Qt::Orientation orientation, int role) const { + VERIFY_OR_DEBUG_ASSERT(section >= 0 || section < m_columns.size()) { + return {}; + } + // TODO role + return m_columns[section]->label(); } QHash QmlLibraryTrackListModel::roleNames() const { return kRoleNames; } -QVariant QmlLibraryTrackListModel::get(int row) const { - QModelIndex idx = index(row, 0); - QVariantMap dataMap; - for (auto it = kRoleNames.constBegin(); it != kRoleNames.constEnd(); it++) { - dataMap.insert(it.value(), data(idx, it.key())); +QUrl QmlLibraryTrackListModel::getUrl(int row) const { + auto* const pTrackModel = dynamic_cast(sourceModel()); + + if (pTrackModel == nullptr) { + // TODO search for column with role + return {}; + } + return pTrackModel->getTrackUrl(sourceModel()->index(row, 0)); +} + +QmlTrackProxy* QmlLibraryTrackListModel::getTrack(int row) const { + auto* const pTrackModel = dynamic_cast(sourceModel()); + + if (pTrackModel == nullptr) { + // TODO search for column with role + return {}; + } + return make_qml_owned(pTrackModel->getTrack(sourceModel()->index(row, 0))); +} + +TrackModel::Capabilities QmlLibraryTrackListModel::getCapabilities() const { + auto* const pTrackModel = dynamic_cast(sourceModel()); + + if (pTrackModel != nullptr) { + return pTrackModel->getCapabilities(); + } + return TrackModel::Capability::None; +} +bool QmlLibraryTrackListModel::hasCapabilities(TrackModel::Capabilities caps) const { + return (getCapabilities() & caps) == caps; +} +void QmlLibraryTrackListModel::sort(int column, Qt::SortOrder order) { + VERIFY_OR_DEBUG_ASSERT(column >= 0 || column < m_columns.size()) { + return; + } + const auto& pColumn = m_columns[column]; + emit layoutAboutToBeChanged(QList(), + QAbstractItemModel::VerticalSortHint); + if (pColumn->columnIdx() < 0) { + // Use proxyIndex.column() + return sourceModel()->sort(column, order); } - return dataMap; + auto* const pTrackTableModel = qobject_cast(sourceModel()); + sourceModel()->sort(pTrackTableModel != nullptr + ? pTrackTableModel->fieldIndex( + static_cast( + pColumn->columnIdx())) + : pColumn->columnIdx(), + order); + emit layoutChanged(QList(), QAbstractItemModel::VerticalSortHint); } } // namespace qml diff --git a/src/qml/qmllibrarytracklistmodel.h b/src/qml/qmllibrarytracklistmodel.h index 10d8e9d5353f..6ee7203b8ae9 100644 --- a/src/qml/qmllibrarytracklistmodel.h +++ b/src/qml/qmllibrarytracklistmodel.h @@ -2,7 +2,9 @@ #include #include -class LibraryTableModel; +#include "library/trackmodel.h" +#include "qml/qmllibrarytracklistcolumn.h" +#include "qml/qmltrackproxy.h" namespace mixxx { namespace qml { @@ -10,25 +12,97 @@ namespace qml { class QmlLibraryTrackListModel : public QIdentityProxyModel { Q_OBJECT QML_NAMED_ELEMENT(LibraryTrackListModel) - QML_UNCREATABLE("Only accessible via Mixxx.Library.model") + Q_PROPERTY(QQmlListProperty columns READ columns FINAL) + QML_UNCREATABLE("Only accessible via Mixxx.Library") public: enum Roles { - TitleRole = Qt::UserRole, - ArtistRole, - AlbumRole, - AlbumArtistRole, - FileUrlRole, + Track = Qt::UserRole, + FileURL, + CoverArt, + Delegate }; Q_ENUM(Roles); - QmlLibraryTrackListModel(LibraryTableModel* pModel, QObject* pParent = nullptr); + // FIXME Remove the enum duplication with the `Capability` in `trackmodel.h` + enum class Capability { + None = 0u, + Reorder = 1u << 0u, + ReceiveDrops = 1u << 1u, + AddToTrackSet = 1u << 2u, + AddToAutoDJ = 1u << 3u, + Locked = 1u << 4u, + EditMetadata = 1u << 5u, + LoadToDeck = 1u << 6u, + LoadToSampler = 1u << 7u, + LoadToPreviewDeck = 1u << 8u, + Remove = 1u << 9u, + ResetPlayed = 1u << 10u, + Hide = 1u << 11u, + Unhide = 1u << 12u, + Purge = 1u << 13u, + RemovePlaylist = 1u << 14u, + RemoveCrate = 1u << 15u, + RemoveFromDisk = 1u << 16u, + Analyze = 1u << 17u, + Properties = 1u << 18u, + Sorting = 1u << 19u, + }; + Q_ENUM(Capability) + + QmlLibraryTrackListModel(const QList& librarySource, + QAbstractItemModel* pModel, + QObject* pParent = nullptr); ~QmlLibraryTrackListModel() = default; + QQmlListProperty columns() { + return {this, + &m_columns, + parent_qlist_append, + parent_qlist_count, + parent_qlist_at, + parent_qlist_clear}; + } + QVariant data(const QModelIndex& index, int role) const override; int columnCount(const QModelIndex& index = QModelIndex()) const override; + Q_INVOKABLE QUrl getUrl(int row) const; + Q_INVOKABLE mixxx::qml::QmlTrackProxy* getTrack(int row) const; + Q_INVOKABLE TrackModel::Capabilities getCapabilities() const; + Q_INVOKABLE bool hasCapabilities(TrackModel::Capabilities caps) const; QHash roleNames() const override; - Q_INVOKABLE QVariant get(int row) const; + Q_INVOKABLE QVariant headerData(int section, + Qt::Orientation orientation, + int role = Qt::DisplayRole) const override; + Q_INVOKABLE void sort(int column, Qt::SortOrder order) override; + + private: + std::vector> m_columns; + + static void parent_qlist_append( + QQmlListProperty* p, + QmlLibraryTrackListColumn* v) { + reinterpret_cast>*>( + p->data) + ->emplace_back(v); + } + static qsizetype parent_qlist_count(QQmlListProperty* p) { + return reinterpret_cast< + std::vector>*>(p->data) + ->size(); + } + static QmlLibraryTrackListColumn* parent_qlist_at( + QQmlListProperty* p, qsizetype idx) { + return reinterpret_cast< + std::vector>*>(p->data) + ->at(idx) + .get(); + } + static void parent_qlist_clear(QQmlListProperty* p) { + return reinterpret_cast< + std::vector>*>(p->data) + ->clear(); + } }; } // namespace qml diff --git a/src/qml/qmlsidebarmodelproxy.cpp b/src/qml/qmlsidebarmodelproxy.cpp new file mode 100644 index 000000000000..4483a732ccab --- /dev/null +++ b/src/qml/qmlsidebarmodelproxy.cpp @@ -0,0 +1,88 @@ +#include "qml/qmlsidebarmodelproxy.h" + +#include + +#include +#include +#include + +#include "library/treeitem.h" +#include "moc_qmlsidebarmodelproxy.cpp" +#include "qml/qmllibrarysource.h" +#include "util/assert.h" +#include "util/parented_ptr.h" + +namespace mixxx { +namespace qml { + +namespace { +const QHash kRoleNames = { + {Qt::DisplayRole, "label"}, + {QmlSidebarModelProxy::IconRole, "icon"}, +}; +} // namespace + +QHash QmlSidebarModelProxy::roleNames() const { + return kRoleNames; +} + +QVariant QmlSidebarModelProxy::get(int row) const { + QModelIndex idx = index(row, 0); + QVariantMap dataMap; + for (auto it = kRoleNames.constBegin(); it != kRoleNames.constEnd(); it++) { + dataMap.insert(it.value(), data(idx, it.key())); + } + return dataMap; +} + +void QmlSidebarModelProxy::activate(const QModelIndex& index) { + VERIFY_OR_DEBUG_ASSERT(index.isValid()) { + return; + } + if (index.internalPointer() == this) { + VERIFY_OR_DEBUG_ASSERT(index.row() >= 0 && index.row() < m_sFeatures.length()) { + return; + } + m_sFeatures[index.row()]->activate(); + } else { + TreeItem* pTreeItem = static_cast(index.internalPointer()); + VERIFY_OR_DEBUG_ASSERT(pTreeItem != nullptr) { + return; + } + LibraryFeature* pFeature = pTreeItem->feature(); + DEBUG_ASSERT(pFeature); + pFeature->activateChild(index); + pFeature->onLazyChildExpandation(index); + } +} + +QmlSidebarModelProxy::QmlSidebarModelProxy(QObject* parent) + : SidebarModel(parent), + m_tracklist(nullptr) { +} +QmlSidebarModelProxy::~QmlSidebarModelProxy() = default; + +void QmlSidebarModelProxy::update(const QList& sources) { + beginResetModel(); + qDeleteAll(m_sFeatures); + for (const auto& librarySource : sources) { + VERIFY_OR_DEBUG_ASSERT(librarySource) { + continue; + } + connect(librarySource, + &QmlLibrarySource::requestTrackModel, + this, + &QmlSidebarModelProxy::slotShowTrackModel); + auto* pLibrarySource = librarySource->internal(); + addLibraryFeature(pLibrarySource); + } + endResetModel(); +} + +void QmlSidebarModelProxy::slotShowTrackModel(std::shared_ptr pModel) { + m_tracklist = pModel; + emit tracklistChanged(); +} + +} // namespace qml +} // namespace mixxx diff --git a/src/qml/qmlsidebarmodelproxy.h b/src/qml/qmlsidebarmodelproxy.h new file mode 100644 index 000000000000..8607da4c2562 --- /dev/null +++ b/src/qml/qmlsidebarmodelproxy.h @@ -0,0 +1,55 @@ +#pragma once + +#include +#include +#include +#include +#include +#include +#include +#include + +#include "library/libraryfeature.h" +#include "library/sidebarmodel.h" +#include "qmllibrarytracklistmodel.h" +#include "util/parented_ptr.h" + +namespace mixxx { +namespace qml { + +class QmlLibrarySource; + +class QmlSidebarModelProxy : public SidebarModel { + Q_OBJECT + Q_PROPERTY(QmlLibraryTrackListModel* tracklist READ tracklist NOTIFY tracklistChanged) + QML_ANONYMOUS + public: + enum Roles { + LabelRole = Qt::UserRole, + IconRole, + }; + Q_ENUM(Roles); + Q_DISABLE_COPY_MOVE(QmlSidebarModelProxy) + explicit QmlSidebarModelProxy(QObject* parent = nullptr); + ~QmlSidebarModelProxy() override; + + QmlLibraryTrackListModel* tracklist() const { + return m_tracklist.get(); + } + + void update(const QList& sources); + QHash roleNames() const override; + Q_INVOKABLE QVariant get(int row) const; + Q_INVOKABLE void activate(const QModelIndex& index); + signals: + void tracklistChanged(); + + protected slots: + void slotShowTrackModel(std::shared_ptr pModel); + + private: + std::shared_ptr m_tracklist; +}; + +} // namespace qml +} // namespace mixxx diff --git a/src/qml/qmlwaveformoverview.h b/src/qml/qmlwaveformoverview.h index 1b3ebe745095..431ab48aa034 100644 --- a/src/qml/qmlwaveformoverview.h +++ b/src/qml/qmlwaveformoverview.h @@ -6,7 +6,7 @@ #include #include -#include "qmlplayerproxy.h" +#include "qmltrackproxy.h" #include "waveform/waveform.h" namespace mixxx { From e58c5f72420d727243ca4755617d5b5ad9a90799 Mon Sep 17 00:00:00 2001 From: ronso0 Date: Mon, 22 Sep 2025 19:08:27 +0200 Subject: [PATCH 142/181] Playlists: allow to adopt current order (sorted) as playlist order Co-authored-by: Swiftb0y <12380386+Swiftb0y@users.noreply.github.com> --- src/library/dao/playlistdao.cpp | 39 ++++++++++++++++++++++++ src/library/dao/playlistdao.h | 4 +++ src/library/playlisttablemodel.cpp | 19 +++++++++++- src/library/playlisttablemodel.h | 4 ++- src/library/trackset/playlistfeature.cpp | 34 +++++++++++++++++++-- src/library/trackset/playlistfeature.h | 2 ++ 6 files changed, 97 insertions(+), 5 deletions(-) diff --git a/src/library/dao/playlistdao.cpp b/src/library/dao/playlistdao.cpp index 2383e12e03ed..ae557a5dbd01 100644 --- a/src/library/dao/playlistdao.cpp +++ b/src/library/dao/playlistdao.cpp @@ -1116,6 +1116,45 @@ int PlaylistDAO::tracksInPlaylist(const int playlistId) const { return count; } +void PlaylistDAO::orderTracksByCurrPos(const int playlistId, + QList>& newOrder) { + if (newOrder.isEmpty() || + playlistId == kInvalidPlaylistId || + isPlaylistLocked(playlistId) || + newOrder.size() != tracksInPlaylist(playlistId)) { + return; + } + + ScopedTransaction transaction(m_database); + QSqlQuery query(m_database); + query.prepare(QStringLiteral( + "UPDATE PlaylistTracks " + "SET position=:new_pos " + "WHERE position=:old_pos AND " + "track_id=:track_id AND " + "playlist_id=:pl_id")); + int newPos = 1; + for (auto [trackId, oldPos] : newOrder) { + VERIFY_OR_DEBUG_ASSERT(trackId.isValid()) { + return; + } + query.bindValue(":new_pos", newPos++); + query.bindValue(":old_pos", oldPos); + query.bindValue(":track_id", trackId.toVariant()); + query.bindValue(":pl_id", playlistId); + if (!query.exec()) { + // We temporarily have duplicate positions, so abort the entire operation + // to not leave the playlist with an invalid state. + LOG_FAILED_QUERY(query); + return; + } + } + + transaction.commit(); + + emit tracksMoved(QSet{playlistId}); +} + void PlaylistDAO::moveTrack(const int playlistId, const int oldPosition, const int newPosition) { ScopedTransaction transaction(m_database); QSqlQuery query(m_database); diff --git a/src/library/dao/playlistdao.h b/src/library/dao/playlistdao.h index 5a3836c4fe9b..e4e2f368ce91 100644 --- a/src/library/dao/playlistdao.h +++ b/src/library/dao/playlistdao.h @@ -110,6 +110,10 @@ class PlaylistDAO : public QObject, public virtual DAO { bool copyPlaylistTracks(const int sourcePlaylistID, const int targetPlaylistID); // Returns the number of tracks in the given playlist. int tracksInPlaylist(const int playlistId) const; + // This receives a track list that represents the current order (sorted by BPM for example) + // and adopts this order for `position` in the playlist. + // Returns true on success. + void orderTracksByCurrPos(const int playlistId, QList>& newOrder); // moved Track to a new position void moveTrack(const int playlistId, const int oldPosition, const int newPosition); diff --git a/src/library/playlisttablemodel.cpp b/src/library/playlisttablemodel.cpp index fb9e0f0b77b8..c6cc30e4285c 100644 --- a/src/library/playlisttablemodel.cpp +++ b/src/library/playlisttablemodel.cpp @@ -315,7 +315,7 @@ void PlaylistTableModel::shuffleTracks(const QModelIndexList& shuffle, const QMo int numOfTracks = rowCount(); if (shuffle.count() > 1) { // if there is more then one track selected, shuffle selection only - foreach (QModelIndex shuffleIndex, shuffle) { + for (const QModelIndex& shuffleIndex : std::as_const(shuffle)) { int oldPosition = shuffleIndex.sibling(shuffleIndex.row(), positionColumn).data().toInt(); if (oldPosition != excludePos) { positions.append(oldPosition); @@ -339,6 +339,23 @@ void PlaylistTableModel::shuffleTracks(const QModelIndexList& shuffle, const QMo m_pTrackCollectionManager->internalCollection()->getPlaylistDAO().shuffleTracks(m_iPlaylistId, positions, allIds); } +void PlaylistTableModel::orderTracksByCurrPos() { + QList> idPosList; + int numOfTracks = rowCount(); + idPosList.reserve(numOfTracks); + const int positionColumn = fieldIndex(ColumnCache::COLUMN_PLAYLISTTRACKSTABLE_POSITION); + const int idColumn = fieldIndex(ColumnCache::COLUMN_LIBRARYTABLE_ID); + // Set up list of all IDs + for (int i = 0; i < numOfTracks; i++) { + TrackId trackId(index(i, idColumn).data()); + int oldPosition = index(i, positionColumn).data().toInt(); + idPosList.append(std::make_pair(trackId, oldPosition)); + } + m_pTrackCollectionManager->internalCollection() + ->getPlaylistDAO() + .orderTracksByCurrPos(m_iPlaylistId, idPosList); +} + const QList PlaylistTableModel::getSelectedPositions(const QModelIndexList& indices) const { if (indices.isEmpty()) { return {}; diff --git a/src/library/playlisttablemodel.h b/src/library/playlisttablemodel.h index cbdc930f6459..d8b98b5fa022 100644 --- a/src/library/playlisttablemodel.h +++ b/src/library/playlisttablemodel.h @@ -21,7 +21,9 @@ class PlaylistTableModel final : public TrackSetTableModel { bool appendTrack(TrackId trackId); void moveTrack(const QModelIndex& sourceIndex, const QModelIndex& destIndex) override; void removeTrack(const QModelIndex& index); - void shuffleTracks(const QModelIndexList& shuffle, const QModelIndex& exclude); + void shuffleTracks(const QModelIndexList& shuffle = QModelIndexList(), + const QModelIndex& exclude = QModelIndex()); + void orderTracksByCurrPos(); bool isColumnInternal(int column) final; bool isColumnHiddenByDefault(int column) final; diff --git a/src/library/trackset/playlistfeature.cpp b/src/library/trackset/playlistfeature.cpp index 17eab0ea2d11..7ddc9b387d3e 100644 --- a/src/library/trackset/playlistfeature.cpp +++ b/src/library/trackset/playlistfeature.cpp @@ -39,6 +39,12 @@ PlaylistFeature::PlaylistFeature(Library* pLibrary, UserSettingsPointer pConfig) this, &PlaylistFeature::slotShufflePlaylist); + m_pOrderByCurrentPosAction = make_parented(tr("Adopt current order"), this); + connect(m_pOrderByCurrentPosAction, + &QAction::triggered, + this, + &PlaylistFeature::slotOrderTracksByCurrentPosition); + m_pUnlockPlaylistsAction = make_parented(tr("Unlock all playlists"), this); connect(m_pUnlockPlaylistsAction, @@ -81,6 +87,8 @@ void PlaylistFeature::onRightClickChild( int playlistId = playlistIdFromIndex(index); bool locked = m_playlistDao.isPlaylistLocked(playlistId); + m_pShufflePlaylistAction->setEnabled(!locked); + m_pOrderByCurrentPosAction->setEnabled(!locked && isChildIndexSelectedInSidebar(index)); m_pDeletePlaylistAction->setEnabled(!locked); m_pRenamePlaylistAction->setEnabled(!locked); @@ -92,6 +100,7 @@ void PlaylistFeature::onRightClickChild( // TODO If playlist is selected and has more than one track selected // show "Shuffle selected tracks", else show "Shuffle playlist"? menu.addAction(m_pShufflePlaylistAction); + menu.addAction(m_pOrderByCurrentPosAction); menu.addSeparator(); menu.addAction(m_pRenamePlaylistAction); menu.addAction(m_pDuplicatePlaylistAction); @@ -228,9 +237,9 @@ void PlaylistFeature::slotShufflePlaylist() { // Shuffle all tracks // If the playlist is loaded/visible shuffle only selected tracks - QModelIndexList selection; if (isChildIndexSelectedInSidebar(m_lastRightClickedIndex) && m_pPlaylistTableModel->getPlaylist() == playlistId) { + QModelIndexList selection; if (m_pLibraryWidget) { WTrackTableView* view = dynamic_cast( m_pLibraryWidget->getActiveView()); @@ -238,7 +247,7 @@ void PlaylistFeature::slotShufflePlaylist() { selection = view->selectionModel()->selectedIndexes(); } } - m_pPlaylistTableModel->shuffleTracks(selection, QModelIndex()); + m_pPlaylistTableModel->shuffleTracks(selection); } else { // Create a temp model so we don't need to select the playlist // in the persistent model in order to shuffle it @@ -253,8 +262,27 @@ void PlaylistFeature::slotShufflePlaylist() { Qt::AscendingOrder); pPlaylistTableModel->select(); - pPlaylistTableModel->shuffleTracks(selection, QModelIndex()); + pPlaylistTableModel->shuffleTracks(); + } +} + +void PlaylistFeature::slotOrderTracksByCurrentPosition() { + int playlistId = playlistIdFromIndex(m_lastRightClickedIndex); + if (playlistId == kInvalidPlaylistId) { + return; + } + + if (m_playlistDao.isPlaylistLocked(playlistId)) { + qDebug() << "Can't adopt current sorting for locked playlist" << playlistId + << m_playlistDao.getPlaylistName(playlistId); + return; + } + // Note(ronso0) I propose to proceed only if the playlist is selected and loaded. + // without playlist content visible we don't have a preview. + if (!isChildIndexSelectedInSidebar(m_lastRightClickedIndex)) { + return; } + m_pPlaylistTableModel->orderTracksByCurrPos(); } void PlaylistFeature::slotUnlockAllPlaylists() { diff --git a/src/library/trackset/playlistfeature.h b/src/library/trackset/playlistfeature.h index 132dab1898c3..14d57097b17d 100644 --- a/src/library/trackset/playlistfeature.h +++ b/src/library/trackset/playlistfeature.h @@ -37,6 +37,7 @@ class PlaylistFeature : public BasePlaylistFeature { void slotPlaylistContentOrLockChanged(const QSet& playlistIds) override; void slotPlaylistTableRenamed(int playlistId, const QString& newName) override; void slotShufflePlaylist(); + void slotOrderTracksByCurrentPosition(); void slotUnlockAllPlaylists(); void slotDeleteAllUnlockedPlaylists(); @@ -49,6 +50,7 @@ class PlaylistFeature : public BasePlaylistFeature { QString getRootViewHtml() const override; parented_ptr m_pShufflePlaylistAction; + parented_ptr m_pOrderByCurrentPosAction; parented_ptr m_pUnlockPlaylistsAction; parented_ptr m_pDeleteAllUnlockedPlaylistsAction; }; From b42a03c0eb568f597a666f7838bc4d604e8f09eb Mon Sep 17 00:00:00 2001 From: Joerg Date: Fri, 26 Sep 2025 20:05:03 +0200 Subject: [PATCH 143/181] Added a new rigger method in qmlcontrolproxy.cpp that uses a single-shot QTimer for value resetting after event loop processing. Replaced the existing hardcoded trigger function in Sampler.qml by calling the new method. --- res/qml/Sampler.qml | 5 ----- src/qml/qmlcontrolproxy.cpp | 6 ++++++ src/qml/qmlcontrolproxy.h | 1 + 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/res/qml/Sampler.qml b/res/qml/Sampler.qml index 936d683990c7..202bef92be5f 100644 --- a/res/qml/Sampler.qml +++ b/res/qml/Sampler.qml @@ -165,11 +165,6 @@ Rectangle { Mixxx.ControlProxy { id: ejectControl - function trigger() { - this.value = 1; - this.value = 0; - } - group: root.group key: "eject" } diff --git a/src/qml/qmlcontrolproxy.cpp b/src/qml/qmlcontrolproxy.cpp index 6a32e239c0ad..b9310148c029 100644 --- a/src/qml/qmlcontrolproxy.cpp +++ b/src/qml/qmlcontrolproxy.cpp @@ -182,5 +182,11 @@ void QmlControlProxy::slotControlProxyValueChanged(double newValue) { emit parameterChanged(m_pControlProxy->getParameter()); } +void QmlControlProxy::trigger() { + setValue(1); + // Use a single-shot timer to ensure the event loop processes the change + QTimer::singleShot(0, this, [this]() { setValue(0); }); +} + } // namespace qml } // namespace mixxx diff --git a/src/qml/qmlcontrolproxy.h b/src/qml/qmlcontrolproxy.h index f5e1fe18c2da..5e60584bc376 100644 --- a/src/qml/qmlcontrolproxy.h +++ b/src/qml/qmlcontrolproxy.h @@ -57,6 +57,7 @@ class QmlControlProxy : public QObject, public QQmlParserStatus { /// Reset the control to the default value. Q_INVOKABLE void reset(); + Q_INVOKABLE void trigger(); signals: void groupChanged(const QString& group); From d9e5e9b08b2b25ccf66a7790a3f9f2fb72f87897 Mon Sep 17 00:00:00 2001 From: danferns Date: Sat, 7 Jun 2025 17:45:29 +0530 Subject: [PATCH 144/181] feat: add key colors to WKey label in decks Co-authored-by: ronso0 --- src/preferences/colorpalettesettings.h | 2 +- src/skin/legacy/legacyskinparser.cpp | 2 +- src/widget/wkey.cpp | 99 +++++++++++++++++++++----- src/widget/wkey.h | 14 ++-- 4 files changed, 94 insertions(+), 23 deletions(-) diff --git a/src/preferences/colorpalettesettings.h b/src/preferences/colorpalettesettings.h index c0e9725e02ca..716111a6e27f 100644 --- a/src/preferences/colorpalettesettings.h +++ b/src/preferences/colorpalettesettings.h @@ -29,7 +29,7 @@ class ColorPaletteSettings { void removePalette(const QString& name); QSet getColorPaletteNames() const; - DEFINE_PREFERENCE_HELPERS(KeyColorsEnabled, bool, "[Config]", "KeyColorsEnabled", true); + DEFINE_PREFERENCE_HELPERS(KeyColorsEnabled, bool, "[Config]", "key_colors_enabled", true); private: UserSettingsPointer m_pConfig; diff --git a/src/skin/legacy/legacyskinparser.cpp b/src/skin/legacy/legacyskinparser.cpp index 2e0951b3961a..58e97ed4c43a 100644 --- a/src/skin/legacy/legacyskinparser.cpp +++ b/src/skin/legacy/legacyskinparser.cpp @@ -1338,7 +1338,7 @@ QWidget* LegacySkinParser::parseNumberPos(const QDomElement& node) { QWidget* LegacySkinParser::parseEngineKey(const QDomElement& node) { QString group = lookupNodeGroup(node); - WKey* pEngineKey = new WKey(group, m_pParent); + WKey* pEngineKey = new WKey(group, m_pConfig, m_pParent); setupLabelWidget(node, pEngineKey); return pEngineKey; } diff --git a/src/widget/wkey.cpp b/src/widget/wkey.cpp index 3186e2275340..b335f6b19e5d 100644 --- a/src/widget/wkey.cpp +++ b/src/widget/wkey.cpp @@ -1,28 +1,37 @@ #include "widget/wkey.h" +#include +#include + #include "library/library_prefs.h" #include "moc_wkey.cpp" +#include "preferences/usersettings.h" #include "skin/legacy/skincontext.h" #include "track/keyutils.h" -WKey::WKey(const QString& group, QWidget* pParent) +WKey::WKey(const QString& group, UserSettingsPointer pConfig, QWidget* pParent) : WLabel(pParent), - m_dOldValue(0), m_keyNotation(mixxx::library::prefs::kKeyNotationConfigKey, this), m_engineKeyDistance(group, "visual_key_distance", this, - ControlFlag::AllowMissingOrInvalid) { - setValue(m_dOldValue); + ControlFlag::AllowMissingOrInvalid), + m_engineKey(group, + "key", + this, + ControlFlag::AllowMissingOrInvalid), + m_colorPaletteSettings(pConfig) { + setValue(); m_keyNotation.connectValueChanged(this, &WKey::keyNotationChanged); m_engineKeyDistance.connectValueChanged(this, &WKey::setCents); } void WKey::onConnectedControlChanged(double dParameter, double dValue) { Q_UNUSED(dParameter); + Q_UNUSED(dValue); // Enums are not currently represented using parameter space so it doesn't // make sense to use the parameter here yet. - setValue(dValue); + setValue(); } void WKey::setup(const QDomNode& node, const SkinContext& context) { @@ -31,23 +40,21 @@ void WKey::setup(const QDomNode& node, const SkinContext& context) { m_displayKey = context.selectBool(node, "DisplayKey", true); } -void WKey::setValue(double dValue) { - m_dOldValue = dValue; - mixxx::track::io::key::ChromaticKey key = - KeyUtils::keyFromNumericValue(dValue); - if (key != mixxx::track::io::key::INVALID) { +void WKey::setValue() { + m_key = KeyUtils::keyFromNumericValue(m_engineKey.get()); + m_diff_cents = m_engineKeyDistance.get(); + if (m_key != mixxx::track::io::key::INVALID) { // Render this key with the user-provided notation. QString keyStr = ""; if (m_displayKey) { - keyStr = KeyUtils::keyToString(key); + keyStr = KeyUtils::keyToString(m_key); } if (m_displayCents) { - double diff_cents = m_engineKeyDistance.get(); - int cents_to_display = static_cast(diff_cents * 100); + int cents_to_display = static_cast(m_diff_cents * 100); char sign = ' '; - if (diff_cents < 0) { + if (m_diff_cents < 0) { sign = '-'; - } else if (diff_cents > 0) { + } else if (m_diff_cents > 0) { sign = '+'; } keyStr.append(QString(" %1%2c").arg(sign).arg(qAbs(cents_to_display))); @@ -56,15 +63,73 @@ void WKey::setValue(double dValue) { } else { setText(""); } + update(); } void WKey::setCents() { - setValue(m_dOldValue); + setValue(); } void WKey::keyNotationChanged(double dKeyNotationValue) { Q_UNUSED(dKeyNotationValue); // NOTE: dKeyNotationValue is the index of the key notation type, NOT the // key itself, so we intentionally set the old value again to update the UI. - setValue(m_dOldValue); + setValue(); +} + +void WKey::paintEvent(QPaintEvent* event) { + if (m_key == mixxx::track::io::key::INVALID || !m_colorPaletteSettings.getKeyColorsEnabled()) { + WLabel::paintEvent(event); + return; + } + + ColorPalette keyColorPalette = m_colorPaletteSettings.getConfigKeyColorPalette(); + + QColor colorTop, colorBottom; + double splitPoint = 0; // 'height' of top color + if (m_diff_cents < 0) { + colorTop = KeyUtils::keyToColor(m_key, keyColorPalette); + colorBottom = KeyUtils::keyToColor(KeyUtils::scaleKeySteps(m_key, -1), keyColorPalette); + splitPoint = m_diff_cents + 1; + } else { + colorTop = KeyUtils::keyToColor(KeyUtils::scaleKeySteps(m_key, 1), keyColorPalette); + colorBottom = KeyUtils::keyToColor(m_key, keyColorPalette); + splitPoint = m_diff_cents; + } + + QStyleOption option; + option.initFrom(this); + QStylePainter painter(this); + + const QStyle* pStyle = style(); + const QRect contRect = pStyle->subElementRect(QStyle::SE_FrameContents, &option, this); + + const int rectWidth = 4; + const int splitHeight = static_cast(contRect.height() * splitPoint); + + painter.fillRect(contRect.left(), + contRect.top(), + rectWidth, + splitHeight, + colorTop); + + painter.fillRect(contRect.left(), + splitHeight + 1, + rectWidth, + contRect.height() - splitHeight, + colorBottom); + + painter.setPen(option.palette.text().color()); + + QString elidedText = option.fontMetrics.elidedText( + text(), + Qt::ElideRight, + width() - rectWidth); + + painter.drawText(rectWidth, + contRect.top(), + contRect.width() - rectWidth, + contRect.height(), + Qt::AlignCenter, + elidedText); } diff --git a/src/widget/wkey.h b/src/widget/wkey.h index 99215b1fa9e1..23723316eb7c 100644 --- a/src/widget/wkey.h +++ b/src/widget/wkey.h @@ -1,25 +1,31 @@ #pragma once -#include "widget/wlabel.h" #include "control/controlproxy.h" +#include "preferences/colorpalettesettings.h" +#include "proto/keys.pb.h" +#include "widget/wlabel.h" class WKey : public WLabel { Q_OBJECT public: - explicit WKey(const QString& group, QWidget* pParent = nullptr); + explicit WKey(const QString& group, UserSettingsPointer pConfig, QWidget* pParent = nullptr); void onConnectedControlChanged(double dParameter, double dValue) override; void setup(const QDomNode& node, const SkinContext& context) override; private slots: - void setValue(double dValue); + void setValue(); void keyNotationChanged(double dValue); void setCents(); private: - double m_dOldValue; + double m_diff_cents; bool m_displayCents; bool m_displayKey; ControlProxy m_keyNotation; ControlProxy m_engineKeyDistance; + ControlProxy m_engineKey; + ColorPaletteSettings m_colorPaletteSettings; + mixxx::track::io::key::ChromaticKey m_key; + void paintEvent(QPaintEvent* event) override; }; From 74758bf5eaabbaf0c563e908ea03488a463e11fc Mon Sep 17 00:00:00 2001 From: danferns Date: Tue, 14 Oct 2025 22:23:11 +0530 Subject: [PATCH 145/181] Update WKey tooltip to mention Key colors --- src/skin/legacy/tooltips.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/skin/legacy/tooltips.cpp b/src/skin/legacy/tooltips.cpp index 34f0fdc23d74..9b5d207f6cac 100644 --- a/src/skin/legacy/tooltips.cpp +++ b/src/skin/legacy/tooltips.cpp @@ -418,7 +418,9 @@ void Tooltips::addStandardTooltips() { add("visual_key") //: The musical key of a track << tr("Key") - << tr("Displays the current musical key of the loaded track after pitch shifting."); + << tr("Displays the current musical key of the loaded track after pitch shifting.") + << tr("It also shows a colored bar if Key colors are enabled in the Preferences.") + << tr("The bar will be split vertically if the track's key is in between full keys."); add("visual_bpm_edit") << tempoDisplay From bd8511e69ac1165fb0298bf5f146a7bbda47144f Mon Sep 17 00:00:00 2001 From: ronso0 Date: Thu, 16 Oct 2025 16:35:07 +0200 Subject: [PATCH 146/181] Color preferences: disable Key color combobox when Key are disabled --- src/preferences/dialog/dlgprefcolors.cpp | 10 +++++++++- src/preferences/dialog/dlgprefcolors.h | 1 + 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/src/preferences/dialog/dlgprefcolors.cpp b/src/preferences/dialog/dlgprefcolors.cpp index 44e007c1f924..884ae308958e 100644 --- a/src/preferences/dialog/dlgprefcolors.cpp +++ b/src/preferences/dialog/dlgprefcolors.cpp @@ -123,6 +123,7 @@ void DlgPrefColors::slotUpdate() { paletteIcon); } } + updateKeyColorsCombobox(); const QSet colorPaletteNames = m_colorPaletteSettings.getColorPaletteNames(); for (const auto& paletteName : colorPaletteNames) { @@ -227,6 +228,7 @@ void DlgPrefColors::slotResetToDefaults() { comboBoxLoopDefaultColor->setCurrentIndex( mixxx::PredefinedColorPalettes::kDefaultTrackColorPalette.size() - 1); checkboxKeyColorsEnabled->setChecked(BaseTrackTableModel::kKeyColorsEnabledDefault); + updateKeyColorsCombobox(); comboBoxJumpDefaultColor->setCurrentIndex( mixxx::PredefinedColorPalettes::kDefaultTrackColorPalette.size() - 2); } @@ -468,7 +470,13 @@ void DlgPrefColors::slotKeyColorsEnabled(int i) { m_bKeyColorsEnabled = static_cast(i); #endif BaseTrackTableModel::setKeyColorsEnabled(m_bKeyColorsEnabled); - m_pConfig->setValue(kKeyColorsEnabledConfigKey, checkboxKeyColorsEnabled->checkState()); + + updateKeyColorsCombobox(); + m_pConfig->setValue(kKeyColorsEnabledConfigKey, m_bKeyColorsEnabled); +} + +void DlgPrefColors::updateKeyColorsCombobox() { + comboBoxKeyColors->setEnabled(checkboxKeyColorsEnabled->isChecked()); } void DlgPrefColors::openColorPaletteEditor( diff --git a/src/preferences/dialog/dlgprefcolors.h b/src/preferences/dialog/dlgprefcolors.h index e2188df51031..8cdf7fe6dd90 100644 --- a/src/preferences/dialog/dlgprefcolors.h +++ b/src/preferences/dialog/dlgprefcolors.h @@ -58,6 +58,7 @@ class DlgPrefColors : public DlgPreferencePage, public Ui::DlgPrefColorsDlg { int defaultHotcueColor, int defaultLoopColor, int defaultJumpColor); + void updateKeyColorsCombobox(); const UserSettingsPointer m_pConfig; ColorPaletteSettings m_colorPaletteSettings; From 81ef690af09b91001c679e984bd83d213cd5e30a Mon Sep 17 00:00:00 2001 From: ronso0 Date: Thu, 13 Mar 2025 11:44:30 +0100 Subject: [PATCH 147/181] Track comment: add shortcut to edit deck label, Alt + deckNum --- src/widget/wtrackproperty.cpp | 102 ++++++++++++++++++++++++++-------- src/widget/wtrackproperty.h | 3 + 2 files changed, 83 insertions(+), 22 deletions(-) diff --git a/src/widget/wtrackproperty.cpp b/src/widget/wtrackproperty.cpp index ca1f0d03ec3f..eef249ad9ec8 100644 --- a/src/widget/wtrackproperty.cpp +++ b/src/widget/wtrackproperty.cpp @@ -3,6 +3,7 @@ #include #include #include +#include #include #include "control/controlobject.h" @@ -29,6 +30,7 @@ WTrackProperty::WTrackProperty( m_pConfig(pConfig), m_pLibrary(pLibrary), m_isMainDeck(isMainDeck), + m_isComment(false), m_propertyIsWritable(false), m_pSelectedClickTimer(nullptr), m_bSelected(false), @@ -65,8 +67,50 @@ void WTrackProperty::setup(const QDomNode& node, const SkinContext& context) { return; } m_editProperty = m_displayProperty; + if (m_editProperty == QStringLiteral("comment")) { + m_isComment = true; + } } m_propertyIsWritable = true; + + if (m_isMainDeck && m_isComment) { + QRegExp numGroupMatcher("\\[Channel([1-9])\\]"); + if (!numGroupMatcher.exactMatch(m_group)) { + qWarning() << " ."; + qWarning() << " Trying to create comment edit shortcut for" << m_group; + qWarning() << " -- no RegEx match"; + qWarning() << " ."; + return; + } + bool ok = false; + int deckNum = numGroupMatcher.cap(1).toInt(&ok); + VERIFY_OR_DEBUG_ASSERT(!ok) { // Just in case... + qWarning() << " ."; + qWarning() << " Trying to create comment edit shortcut for" << m_group; + qWarning() << " -- deckNum not an int"; + qWarning() << " ."; + return; + } + parented_ptr pEditCommentAction = make_parented("edit comment", this); + pEditCommentAction->setShortcut(QKeySequence(tr("Alt+%1").arg(deckNum))); + connect(pEditCommentAction.get(), + &QAction::triggered, + this, + [this]() { + // Assumes only one comment label is visible. + // If there are more, Qt _should_ trigger the first QAction + // in the internal list and throw a warning for the others + // "QAction::event: Ambiguous shortcut overload: [shortcut]" + // Anyways, as soon as one editor is opened (gets focus), + // others will receive a focusOut event and close. + if (isVisible() && !m_pEditor->isVisible()) { + // Note: if the editor is already visible, this would + // reload/reset the comment from the track + openEditor(); + } + }); + addAction(pEditCommentAction); + } } void WTrackProperty::slotTrackLoaded(TrackPointer pTrack) { @@ -97,6 +141,10 @@ void WTrackProperty::slotLoadingTrack(TrackPointer pNewTrack, TrackPointer pOldT void WTrackProperty::slotTrackChanged(TrackId trackId) { Q_UNUSED(trackId); updateLabel(); + if (m_pEditor && m_pEditor->isVisible()) { + // Close and discard new text + m_pEditor->hide(); + } } void WTrackProperty::updateLabel() { @@ -148,28 +196,7 @@ void WTrackProperty::mousePressEvent(QMouseEvent* pEvent) { m_pSelectedClickTimer->callOnTimeout( this, &WTrackProperty::resetSelectedState); } else if (m_pSelectedClickTimer->isActive()) { - resetSelectedState(); - // create the persistent editor, populate & connect - if (!m_pEditor) { - m_pEditor = make_parented(this); - connect(m_pEditor, - // use custom signal. editingFinished() doesn't suit since it's - // also emitted weh pressing Esc (which should cancel editing) - &WTrackPropertyEditor::commitEditorData, - this, - &WTrackProperty::slotCommitEditorData); - } - // Don't let the editor expand beyond its initial size - m_pEditor->setFixedSize(size()); - - QString editText = getPropertyStringFromTrack(m_editProperty); - if (m_displayProperty == "titleInfo" && editText.isEmpty()) { - editText = tr("title"); - } - m_pEditor->setText(editText); - m_pEditor->selectAll(); - m_pEditor->show(); - m_pEditor->setFocus(); + openEditor(); return; } // start timer @@ -178,6 +205,34 @@ void WTrackProperty::mousePressEvent(QMouseEvent* pEvent) { restyleAndRepaint(); } +void WTrackProperty::openEditor() { + resetSelectedState(); + if (!m_pCurrentTrack) { + return; + } + // create the persistent editor, populate & connect + if (!m_pEditor) { + m_pEditor = make_parented(this); + connect(m_pEditor, + // use custom signal. editingFinished() doesn't suit since it's + // also emitted weh pressing Esc (which should cancel editing) + &WTrackPropertyEditor::commitEditorData, + this, + &WTrackProperty::slotCommitEditorData); + } + // Don't let the editor expand beyond its initial size + m_pEditor->setFixedSize(size()); + + QString editText = getPropertyStringFromTrack(m_editProperty); + if (m_displayProperty == "titleInfo" && editText.isEmpty()) { + editText = tr("title"); + } + m_pEditor->setText(editText); + m_pEditor->selectAll(); + m_pEditor->show(); + m_pEditor->setFocus(); +} + void WTrackProperty::mouseMoveEvent(QMouseEvent* pEvent) { if (m_pCurrentTrack && DragAndDropHelper::mouseMoveInitiatesDrag(pEvent)) { DragAndDropHelper::dragTrack(m_pCurrentTrack, this, m_group); @@ -309,6 +364,9 @@ void WTrackProperty::slotShowTrackMenuChangeRequest(bool show) { } void WTrackProperty::slotCommitEditorData(const QString& text) { + if (!m_pCurrentTrack) { + return; + } // use real track data instead of text() to be independent from display text if (m_pCurrentTrack && text != getPropertyStringFromTrack(m_editProperty)) { const QVariant var(QVariant::fromValue(text)); diff --git a/src/widget/wtrackproperty.h b/src/widget/wtrackproperty.h index 0e97f5efe98b..a7240f9654b6 100644 --- a/src/widget/wtrackproperty.h +++ b/src/widget/wtrackproperty.h @@ -88,11 +88,14 @@ class WTrackProperty : public WLabel, public TrackDropTarget { const QString getPropertyStringFromTrack(QString& property) const; void restyleAndRepaint(); + void openEditor(); + void ensureTrackMenuIsCreated(); const QString m_group; const UserSettingsPointer m_pConfig; Library* m_pLibrary; const bool m_isMainDeck; + bool m_isComment; TrackPointer m_pCurrentTrack; QString m_displayProperty; From 6c697db1f29709361d8c153bf7d39318d6f7dd0c Mon Sep 17 00:00:00 2001 From: ronso0 Date: Thu, 13 Mar 2025 11:46:13 +0100 Subject: [PATCH 148/181] Track comment: show only first line in WTrackPropertyEditor --- src/widget/wtrackproperty.cpp | 37 +++++++++++++++++++++++++++++------ 1 file changed, 31 insertions(+), 6 deletions(-) diff --git a/src/widget/wtrackproperty.cpp b/src/widget/wtrackproperty.cpp index eef249ad9ec8..8a1b22cac352 100644 --- a/src/widget/wtrackproperty.cpp +++ b/src/widget/wtrackproperty.cpp @@ -17,6 +17,7 @@ namespace { // Duration (ms) the widget is 'selected' after left click, i.e. the duration // a second click would open the value editor constexpr int kSelectedClickTimeoutMs = 2000; +const QString kLinebreak = QStringLiteral("\n"); } // namespace WTrackProperty::WTrackProperty( @@ -226,6 +227,14 @@ void WTrackProperty::openEditor() { QString editText = getPropertyStringFromTrack(m_editProperty); if (m_displayProperty == "titleInfo" && editText.isEmpty()) { editText = tr("title"); + } else if (m_isComment) { + // For comments we only load the first line, + // ie. truncate track text at first linebreak. + // On commit we replace the first line with the edited text. + int firstLB = editText.indexOf(kLinebreak); + if (firstLB >= 0) { + editText.truncate(firstLB); + } } m_pEditor->setText(editText); m_pEditor->selectAll(); @@ -368,13 +377,29 @@ void WTrackProperty::slotCommitEditorData(const QString& text) { return; } // use real track data instead of text() to be independent from display text - if (m_pCurrentTrack && text != getPropertyStringFromTrack(m_editProperty)) { - const QVariant var(QVariant::fromValue(text)); - m_pCurrentTrack->setProperty( - m_editProperty.toUtf8().constData(), - var); - // Track::changed() will update label + const QString trackText = getPropertyStringFromTrack(m_editProperty); + QString editorText = text; + if (m_isComment) { + // For multi-line comments, the editor received only the first line. + // In order to keep the other lines, we need to replace + // the first line of the original text with the editor text. + // (which may add new linebreaks) + // Note: assumes the comment didn't change while we were editing it. + int firstLB = trackText.indexOf(kLinebreak); + if (firstLB >= 0) { // has linebreak + QString trackTSliced = trackText; + trackTSliced = trackTSliced.sliced(firstLB); + editorText.append(trackTSliced); + } + } + if (editorText == trackText) { + return; } + const QVariant var(QVariant::fromValue(editorText)); + m_pCurrentTrack->setProperty( + m_editProperty.toUtf8().constData(), + var); + // Track::changed() will update label } void WTrackProperty::resetSelectedState() { From 9b18da40daf8b31aee9b38fdbbb917041c4ea959 Mon Sep 17 00:00:00 2001 From: ronso0 Date: Thu, 13 Mar 2025 13:12:09 +0100 Subject: [PATCH 149/181] Track comment: add linebreak with \n in WTrackPropertyEditor --- src/widget/wtrackproperty.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/widget/wtrackproperty.cpp b/src/widget/wtrackproperty.cpp index 8a1b22cac352..01914eb8915d 100644 --- a/src/widget/wtrackproperty.cpp +++ b/src/widget/wtrackproperty.cpp @@ -380,6 +380,11 @@ void WTrackProperty::slotCommitEditorData(const QString& text) { const QString trackText = getPropertyStringFromTrack(m_editProperty); QString editorText = text; if (m_isComment) { + // Transform ALL occurrences of \n into linebreaks. + // Existing linebreaks are not affected. + QString cr(QChar::CarriageReturn); + cr.append(QChar::LineFeed); + editorText.replace("\\n", cr); // For multi-line comments, the editor received only the first line. // In order to keep the other lines, we need to replace // the first line of the original text with the editor text. From 8cc8b115db910d69cebba3b1097cb3bb00cf6c9c Mon Sep 17 00:00:00 2001 From: ronso0 Date: Sun, 26 Oct 2025 22:07:23 +0100 Subject: [PATCH 150/181] Revert "Merge branch 'track-comment-hotkey' of github.com:ronso0/mixxx" This reverts commit 1afeaa46937dc02e8669c0f4c450398bf43c9eb7, reversing changes made to 6c304da068849f369402c3c60eeebb9e03c04407. --- src/widget/wtrackproperty.cpp | 144 +++++++--------------------------- src/widget/wtrackproperty.h | 3 - 2 files changed, 28 insertions(+), 119 deletions(-) diff --git a/src/widget/wtrackproperty.cpp b/src/widget/wtrackproperty.cpp index 01914eb8915d..ca1f0d03ec3f 100644 --- a/src/widget/wtrackproperty.cpp +++ b/src/widget/wtrackproperty.cpp @@ -3,7 +3,6 @@ #include #include #include -#include #include #include "control/controlobject.h" @@ -17,7 +16,6 @@ namespace { // Duration (ms) the widget is 'selected' after left click, i.e. the duration // a second click would open the value editor constexpr int kSelectedClickTimeoutMs = 2000; -const QString kLinebreak = QStringLiteral("\n"); } // namespace WTrackProperty::WTrackProperty( @@ -31,7 +29,6 @@ WTrackProperty::WTrackProperty( m_pConfig(pConfig), m_pLibrary(pLibrary), m_isMainDeck(isMainDeck), - m_isComment(false), m_propertyIsWritable(false), m_pSelectedClickTimer(nullptr), m_bSelected(false), @@ -68,50 +65,8 @@ void WTrackProperty::setup(const QDomNode& node, const SkinContext& context) { return; } m_editProperty = m_displayProperty; - if (m_editProperty == QStringLiteral("comment")) { - m_isComment = true; - } } m_propertyIsWritable = true; - - if (m_isMainDeck && m_isComment) { - QRegExp numGroupMatcher("\\[Channel([1-9])\\]"); - if (!numGroupMatcher.exactMatch(m_group)) { - qWarning() << " ."; - qWarning() << " Trying to create comment edit shortcut for" << m_group; - qWarning() << " -- no RegEx match"; - qWarning() << " ."; - return; - } - bool ok = false; - int deckNum = numGroupMatcher.cap(1).toInt(&ok); - VERIFY_OR_DEBUG_ASSERT(!ok) { // Just in case... - qWarning() << " ."; - qWarning() << " Trying to create comment edit shortcut for" << m_group; - qWarning() << " -- deckNum not an int"; - qWarning() << " ."; - return; - } - parented_ptr pEditCommentAction = make_parented("edit comment", this); - pEditCommentAction->setShortcut(QKeySequence(tr("Alt+%1").arg(deckNum))); - connect(pEditCommentAction.get(), - &QAction::triggered, - this, - [this]() { - // Assumes only one comment label is visible. - // If there are more, Qt _should_ trigger the first QAction - // in the internal list and throw a warning for the others - // "QAction::event: Ambiguous shortcut overload: [shortcut]" - // Anyways, as soon as one editor is opened (gets focus), - // others will receive a focusOut event and close. - if (isVisible() && !m_pEditor->isVisible()) { - // Note: if the editor is already visible, this would - // reload/reset the comment from the track - openEditor(); - } - }); - addAction(pEditCommentAction); - } } void WTrackProperty::slotTrackLoaded(TrackPointer pTrack) { @@ -142,10 +97,6 @@ void WTrackProperty::slotLoadingTrack(TrackPointer pNewTrack, TrackPointer pOldT void WTrackProperty::slotTrackChanged(TrackId trackId) { Q_UNUSED(trackId); updateLabel(); - if (m_pEditor && m_pEditor->isVisible()) { - // Close and discard new text - m_pEditor->hide(); - } } void WTrackProperty::updateLabel() { @@ -197,7 +148,28 @@ void WTrackProperty::mousePressEvent(QMouseEvent* pEvent) { m_pSelectedClickTimer->callOnTimeout( this, &WTrackProperty::resetSelectedState); } else if (m_pSelectedClickTimer->isActive()) { - openEditor(); + resetSelectedState(); + // create the persistent editor, populate & connect + if (!m_pEditor) { + m_pEditor = make_parented(this); + connect(m_pEditor, + // use custom signal. editingFinished() doesn't suit since it's + // also emitted weh pressing Esc (which should cancel editing) + &WTrackPropertyEditor::commitEditorData, + this, + &WTrackProperty::slotCommitEditorData); + } + // Don't let the editor expand beyond its initial size + m_pEditor->setFixedSize(size()); + + QString editText = getPropertyStringFromTrack(m_editProperty); + if (m_displayProperty == "titleInfo" && editText.isEmpty()) { + editText = tr("title"); + } + m_pEditor->setText(editText); + m_pEditor->selectAll(); + m_pEditor->show(); + m_pEditor->setFocus(); return; } // start timer @@ -206,42 +178,6 @@ void WTrackProperty::mousePressEvent(QMouseEvent* pEvent) { restyleAndRepaint(); } -void WTrackProperty::openEditor() { - resetSelectedState(); - if (!m_pCurrentTrack) { - return; - } - // create the persistent editor, populate & connect - if (!m_pEditor) { - m_pEditor = make_parented(this); - connect(m_pEditor, - // use custom signal. editingFinished() doesn't suit since it's - // also emitted weh pressing Esc (which should cancel editing) - &WTrackPropertyEditor::commitEditorData, - this, - &WTrackProperty::slotCommitEditorData); - } - // Don't let the editor expand beyond its initial size - m_pEditor->setFixedSize(size()); - - QString editText = getPropertyStringFromTrack(m_editProperty); - if (m_displayProperty == "titleInfo" && editText.isEmpty()) { - editText = tr("title"); - } else if (m_isComment) { - // For comments we only load the first line, - // ie. truncate track text at first linebreak. - // On commit we replace the first line with the edited text. - int firstLB = editText.indexOf(kLinebreak); - if (firstLB >= 0) { - editText.truncate(firstLB); - } - } - m_pEditor->setText(editText); - m_pEditor->selectAll(); - m_pEditor->show(); - m_pEditor->setFocus(); -} - void WTrackProperty::mouseMoveEvent(QMouseEvent* pEvent) { if (m_pCurrentTrack && DragAndDropHelper::mouseMoveInitiatesDrag(pEvent)) { DragAndDropHelper::dragTrack(m_pCurrentTrack, this, m_group); @@ -373,38 +309,14 @@ void WTrackProperty::slotShowTrackMenuChangeRequest(bool show) { } void WTrackProperty::slotCommitEditorData(const QString& text) { - if (!m_pCurrentTrack) { - return; - } // use real track data instead of text() to be independent from display text - const QString trackText = getPropertyStringFromTrack(m_editProperty); - QString editorText = text; - if (m_isComment) { - // Transform ALL occurrences of \n into linebreaks. - // Existing linebreaks are not affected. - QString cr(QChar::CarriageReturn); - cr.append(QChar::LineFeed); - editorText.replace("\\n", cr); - // For multi-line comments, the editor received only the first line. - // In order to keep the other lines, we need to replace - // the first line of the original text with the editor text. - // (which may add new linebreaks) - // Note: assumes the comment didn't change while we were editing it. - int firstLB = trackText.indexOf(kLinebreak); - if (firstLB >= 0) { // has linebreak - QString trackTSliced = trackText; - trackTSliced = trackTSliced.sliced(firstLB); - editorText.append(trackTSliced); - } - } - if (editorText == trackText) { - return; + if (m_pCurrentTrack && text != getPropertyStringFromTrack(m_editProperty)) { + const QVariant var(QVariant::fromValue(text)); + m_pCurrentTrack->setProperty( + m_editProperty.toUtf8().constData(), + var); + // Track::changed() will update label } - const QVariant var(QVariant::fromValue(editorText)); - m_pCurrentTrack->setProperty( - m_editProperty.toUtf8().constData(), - var); - // Track::changed() will update label } void WTrackProperty::resetSelectedState() { diff --git a/src/widget/wtrackproperty.h b/src/widget/wtrackproperty.h index a7240f9654b6..0e97f5efe98b 100644 --- a/src/widget/wtrackproperty.h +++ b/src/widget/wtrackproperty.h @@ -88,14 +88,11 @@ class WTrackProperty : public WLabel, public TrackDropTarget { const QString getPropertyStringFromTrack(QString& property) const; void restyleAndRepaint(); - void openEditor(); - void ensureTrackMenuIsCreated(); const QString m_group; const UserSettingsPointer m_pConfig; Library* m_pLibrary; const bool m_isMainDeck; - bool m_isComment; TrackPointer m_pCurrentTrack; QString m_displayProperty; From 34be6f2fac72531b246004a35f8d93651e99e885 Mon Sep 17 00:00:00 2001 From: Owen Turnbull Date: Mon, 27 Oct 2025 11:10:32 -0700 Subject: [PATCH 151/181] feat: Additional Metadata Variables for Broadcasting --- src/engine/sidechain/shoutconnection.cpp | 57 +++++++----------------- 1 file changed, 17 insertions(+), 40 deletions(-) diff --git a/src/engine/sidechain/shoutconnection.cpp b/src/engine/sidechain/shoutconnection.cpp index 167e4915fcf4..5cce4521a38c 100644 --- a/src/engine/sidechain/shoutconnection.cpp +++ b/src/engine/sidechain/shoutconnection.cpp @@ -1,6 +1,5 @@ #include "engine/sidechain/shoutconnection.h" -#include #include #include @@ -35,9 +34,6 @@ constexpr int kMaxNetworkCache = 491520; // 10 s mp3 @ 192 kbit/s // http://wiki.shoutcast.com/wiki/SHOUTcast_DNAS_Server_2 constexpr int kMaxShoutFailures = 3; -const QRegularExpression kArtistOrTitleRegex(QStringLiteral("\\$artist|\\$title")); -const QRegularExpression kArtistRegex(QStringLiteral("\\$artist")); - const mixxx::Logger kLogger("ShoutConnection"); } // namespace @@ -816,9 +812,7 @@ void ShoutConnection::updateMetaData() { // metadata being enabled, we want dynamic metadata changes if (!m_custom_metadata && (m_format_is_mp3 || m_format_is_aac || m_ogg_dynamic_update)) { if (m_pMetaData != nullptr) { - QString artist = m_pMetaData->getArtist(); - QString title = m_pMetaData->getTitle(); // shoutcast uses only "song" as field for "artist - title". // icecast2 supports separate fields for "artist" and "title", @@ -831,41 +825,24 @@ void ShoutConnection::updateMetaData() { // Also I do not know about icecast1. To be safe, i stick to the // old way for those use cases. if (!m_format_is_mp3 && m_protocol_is_icecast2) { - setFunctionCode(9); - insertMetaData("artist", encodeString(artist).constData()); - insertMetaData("title", encodeString(title).constData()); - } else { - // we are going to take the metadata format and replace all - // the references to $title and $artist by doing a single - // pass over the string - int replaceIndex = 0; - - // Make a copy so we don't overwrite the references only - // once per streaming session. - QString metadataFinal = m_metadataFormat; - do { - // find the next occurrence - replaceIndex = metadataFinal.indexOf( - kArtistOrTitleRegex, - replaceIndex); - - if (replaceIndex != -1) { - if (metadataFinal.indexOf( - kArtistRegex, replaceIndex) == replaceIndex) { - metadataFinal.replace(replaceIndex, 7, artist); - // skip to the end of the replacement - replaceIndex += artist.length(); - } else { - metadataFinal.replace(replaceIndex, 6, title); - replaceIndex += title.length(); - } - } - } while (replaceIndex != -1); - - QByteArray baSong = encodeString(metadataFinal); - setFunctionCode(10); - insertMetaData("song", baSong.constData()); + setFunctionCode(9); + insertMetaData("artist", encodeString(artist).constData()); } + + // Make a copy so we don't overwrite the references only + // once per streaming session. + QString metadataFinal = m_metadataFormat; + + metadataFinal.replace("$artist", artist); + metadataFinal.replace("$title", m_pMetaData->getTitle()); + metadataFinal.replace("$year", m_pMetaData->getYear()); + metadataFinal.replace("$album", m_pMetaData->getAlbum()); + metadataFinal.replace("$genre", m_pMetaData->getGenre()); + metadataFinal.replace("$bpm", QString::number(m_pMetaData->getBpm())); + + QByteArray baSong = encodeString(metadataFinal); + setFunctionCode(10); + insertMetaData("song", baSong.constData()); setFunctionCode(11); int ret = shout_set_metadata(m_pShout, m_pShoutMetaData); if (ret != SHOUTERR_SUCCESS) { From 4e4ff205986f79aa99cce13b8ecf93201cf6165c Mon Sep 17 00:00:00 2001 From: Owen Turnbull Date: Tue, 28 Oct 2025 08:23:05 -0700 Subject: [PATCH 152/181] feat: add tooltip for new metadata broadcasting variables --- src/preferences/dialog/dlgprefbroadcastdlg.ui | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/preferences/dialog/dlgprefbroadcastdlg.ui b/src/preferences/dialog/dlgprefbroadcastdlg.ui index 077e47258308..1b8f55099d44 100644 --- a/src/preferences/dialog/dlgprefbroadcastdlg.ui +++ b/src/preferences/dialog/dlgprefbroadcastdlg.ui @@ -376,6 +376,9 @@ + + Available fields: $artist, $title, $year, $album, $genre, $bpm + $artist - $title From 641cdbcb9b5efe5bd03533773682ea0ba72b377f Mon Sep 17 00:00:00 2001 From: ronso0 Date: Wed, 29 Oct 2025 16:41:33 +0100 Subject: [PATCH 153/181] Interface preferences: separate user & built-in skins in drop-down --- src/preferences/dialog/dlgprefinterface.cpp | 69 ++++++++++++++++----- src/preferences/dialog/dlgprefinterface.h | 1 + src/skin/skinloader.cpp | 60 ++++++++++++------ src/skin/skinloader.h | 6 +- 4 files changed, 101 insertions(+), 35 deletions(-) diff --git a/src/preferences/dialog/dlgprefinterface.cpp b/src/preferences/dialog/dlgprefinterface.cpp index f4e0c7841d70..1151817285fc 100644 --- a/src/preferences/dialog/dlgprefinterface.cpp +++ b/src/preferences/dialog/dlgprefinterface.cpp @@ -140,20 +140,7 @@ DlgPrefInterface::DlgPrefInterface( tr("The minimum size of the selected skin is bigger than your " "screen resolution.")); - ComboBoxSkinconf->clear(); - skinPreviewLabel->setText(""); - skinDescriptionText->setText(""); - skinDescriptionText->hide(); - - const QList skins = m_pSkinLoader->getSkins(); - int index = 0; - for (const SkinPointer& pSkin : skins) { - ComboBoxSkinconf->insertItem(index, pSkin->name()); - m_skins.insert(pSkin->name(), pSkin); - index++; - } - - ComboBoxSkinconf->setCurrentIndex(index); + slotUpdateSkins(); // schemes must be updated here to populate the drop-down box and set m_colorScheme slotUpdateSchemes(); slotSetSkinPreview(); @@ -258,6 +245,58 @@ QScreen* DlgPrefInterface::getScreen() const { return pScreen; } +void DlgPrefInterface::slotUpdateSkins() { + if (!m_pSkinLoader) { + return; + } + + ComboBoxSkinconf->blockSignals(true); + ComboBoxSkinconf->clear(); + m_skins.clear(); + skinPreviewLabel->setText(""); + skinDescriptionText->setText(""); + skinDescriptionText->hide(); + + // Check the text color of the palette for whether to use dark or light icons + QDir iconsPath; + if (!Color::isDimColor(palette().text().color())) { + iconsPath.setPath(":/images/preferences/light/"); + } else { + iconsPath.setPath(":/images/preferences/dark/"); + } + + // Set the user skin icon. + QIcon userSkinIcon(iconsPath.filePath("ic_custom.svg")); + + const QList userSkins = m_pSkinLoader->getUserSkins(); + int index = 0; + for (const SkinPointer& pSkin : userSkins) { + ComboBoxSkinconf->insertItem(index, userSkinIcon, pSkin->name()); + m_skins.insert(pSkin->name(), pSkin); + index++; + } + + // If there are user skins, we add a separator and the + // built-in skins also get an icon. + QIcon systemSkinIcon; + if (ComboBoxSkinconf->count() > 0) { + ComboBoxSkinconf->insertSeparator(index); + systemSkinIcon = QIcon(iconsPath.filePath("ic_mixxx_symbolic.svg")); + index++; + } + + const QList systemSkins = m_pSkinLoader->getSystemSkins(); + for (const SkinPointer& pSkin : systemSkins) { + ComboBoxSkinconf->insertItem( + index, systemSkinIcon, pSkin->name()); + m_skins.insert(pSkin->name(), pSkin); + index++; + } + + ComboBoxSkinconf->setCurrentIndex(index); + ComboBoxSkinconf->blockSignals(false); +} + void DlgPrefInterface::slotUpdateSchemes() { if (!m_pSkinLoader) { return; @@ -303,6 +342,8 @@ void DlgPrefInterface::slotUpdateSchemes() { void DlgPrefInterface::slotUpdate() { if (m_pSkinLoader) { + slotUpdateSkins(); + const SkinPointer pSkinOnUpdate = m_pSkinLoader->getConfiguredSkin(); if (pSkinOnUpdate != nullptr && pSkinOnUpdate->isValid()) { m_skinNameOnUpdate = pSkinOnUpdate->name(); diff --git a/src/preferences/dialog/dlgprefinterface.h b/src/preferences/dialog/dlgprefinterface.h index 1a990b25d1b6..13e3d02fca92 100644 --- a/src/preferences/dialog/dlgprefinterface.h +++ b/src/preferences/dialog/dlgprefinterface.h @@ -40,6 +40,7 @@ class DlgPrefInterface : public DlgPreferencePage, public Ui::DlgPrefControlsDlg void slotSetScheme(int); void slotSetSkinDescription(); void slotSetSkinPreview(); + void slotUpdateSkins(); void slotUpdateSchemes(); signals: diff --git a/src/skin/skinloader.cpp b/src/skin/skinloader.cpp index a2795f8b4b6b..271042078383 100644 --- a/src/skin/skinloader.cpp +++ b/src/skin/skinloader.cpp @@ -14,6 +14,8 @@ #include "util/debug.h" #include "util/timer.h" +const QString kSkinsDirName = QStringLiteral("skins"); + namespace mixxx { namespace skin { @@ -30,20 +32,25 @@ SkinLoader::~SkinLoader() { LegacySkinParser::clearSharedGroupStrings(); } -QList SkinLoader::getSkins() const { - const QList skinSearchPaths = getSkinSearchPaths(); +QList SkinLoader::getUserSkins() const { + return getSkinsFromDir(getUserSkinDir()); +} + +QList SkinLoader::getSystemSkins() const { + return getSkinsFromDir(getSytemSkinDir()); +} + +QList SkinLoader::getSkinsFromDir(const QDir& dir) const { QList skins; - for (const QDir& dir : skinSearchPaths) { - const QList fileInfos = dir.entryInfoList(QDir::Dirs | QDir::NoDotAndDotDot); - for (const QFileInfo& fileInfo : fileInfos) { - QDir skinDir(fileInfo.absoluteFilePath()); - SkinPointer pSkin = skinFromDirectory(skinDir); - if (pSkin) { - VERIFY_OR_DEBUG_ASSERT(pSkin->isValid()) { - continue; - } - skins.append(pSkin); + const QList fileInfos = dir.entryInfoList(QDir::Dirs | QDir::NoDotAndDotDot); + for (const QFileInfo& fileInfo : fileInfos) { + QDir skinDir(fileInfo.absoluteFilePath()); + SkinPointer pSkin = skinFromDirectory(skinDir); + if (pSkin) { + VERIFY_OR_DEBUG_ASSERT(pSkin->isValid()) { + continue; } + skins.append(pSkin); } } @@ -53,25 +60,38 @@ QList SkinLoader::getSkins() const { QList SkinLoader::getSkinSearchPaths() const { QList searchPaths; - // Add user skin path to search paths + const auto userSkinDir = getUserSkinDir(); + if (!userSkinDir.path().isEmpty()) { + searchPaths.append(userSkinDir); + } + + searchPaths.append(getSytemSkinDir()); + + return searchPaths; +} + +QDir SkinLoader::getUserSkinDir() const { QDir userSkinsPath(m_pConfig->getSettingsPath()); - if (userSkinsPath.cd("skins")) { - searchPaths.append(userSkinsPath); + if (userSkinsPath.cd(kSkinsDirName)) { + return userSkinsPath; } + return {}; +} +QDir SkinLoader::getSytemSkinDir() const { // If we can't find the skins folder then we can't load a skin at all. This // is a critical error in the user's Mixxx installation. QDir skinsPath(m_pConfig->getResourcePath()); - if (!skinsPath.cd("skins")) { + if (!skinsPath.cd(kSkinsDirName)) { reportCriticalErrorAndQuit("Skin directory does not exist: " + - skinsPath.absoluteFilePath("skins")); + skinsPath.absoluteFilePath(kSkinsDirName)); } - searchPaths.append(skinsPath); - - return searchPaths; + return skinsPath; } SkinPointer SkinLoader::getSkin(const QString& skinName) const { + // If there are skins with identical name in both the resource and user + // directory, we'll discover the one from the user dir first const QList skinSearchPaths = getSkinSearchPaths(); for (QDir dir : skinSearchPaths) { if (dir.cd(skinName)) { diff --git a/src/skin/skinloader.h b/src/skin/skinloader.h index d306204fca73..c997e22b4fd4 100644 --- a/src/skin/skinloader.h +++ b/src/skin/skinloader.h @@ -32,12 +32,16 @@ class SkinLoader : public QObject { SkinPointer getConfiguredSkin() const; QString getDefaultSkinName() const; QList getSkinSearchPaths() const; - QList getSkins() const; + QDir getUserSkinDir() const; + QDir getSytemSkinDir() const; + QList getUserSkins() const; + QList getSystemSkins() const; private slots: void slotNumMicsChanged(double numMics); private: + QList getSkinsFromDir(const QDir& dir) const; QString pickResizableSkin(const QString& oldSkin) const; SkinPointer skinFromDirectory(const QDir& dir) const; From 503de8075e0b05704d3977dcb9d452f60321089e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Sch=C3=BCrmann?= Date: Wed, 5 Nov 2025 15:08:49 +0100 Subject: [PATCH 154/181] Use parented_ptr for library features to avoid new without delete. --- src/library/library.cpp | 19 +++++++------------ src/library/library.h | 12 ++++++------ 2 files changed, 13 insertions(+), 18 deletions(-) diff --git a/src/library/library.cpp b/src/library/library.cpp index b3021d7d2871..bd91b6e37ad4 100644 --- a/src/library/library.cpp +++ b/src/library/library.cpp @@ -71,12 +71,7 @@ Library::Library( m_pTrackCollectionManager(pTrackCollectionManager), m_pSidebarModel(make_parented(this)), m_pLibraryControl(make_parented(this)), - m_pLibraryWidget(nullptr), - m_pMixxxLibraryFeature(nullptr), - m_pAutoDJFeature(nullptr), - m_pPlaylistFeature(nullptr), - m_pCrateFeature(nullptr), - m_pAnalysisFeature(nullptr) { + m_pLibraryWidget(nullptr) { qRegisterMetaType("LibraryRemovalType"); m_pKeyNotation.reset( @@ -89,7 +84,7 @@ Library::Library( // TODO(rryan) -- turn this construction / adding of features into a static // method or something -- CreateDefaultLibrary - m_pMixxxLibraryFeature = new MixxxLibraryFeature( + m_pMixxxLibraryFeature = make_parented( this, m_pConfig); addFeature(m_pMixxxLibraryFeature); @@ -101,10 +96,10 @@ Library::Library( Qt::DirectConnection /* signal-to-signal */); #endif - m_pAutoDJFeature = new AutoDJFeature(this, m_pConfig, pPlayerManager); + m_pAutoDJFeature = make_parented(this, m_pConfig, pPlayerManager); addFeature(m_pAutoDJFeature); - m_pPlaylistFeature = new PlaylistFeature(this, UserSettingsPointer(m_pConfig)); + m_pPlaylistFeature = make_parented(this, UserSettingsPointer(m_pConfig)); addFeature(m_pPlaylistFeature); #ifdef __ENGINEPRIME__ connect(m_pPlaylistFeature, @@ -119,7 +114,7 @@ Library::Library( Qt::DirectConnection); #endif - m_pCrateFeature = new CrateFeature(this, m_pConfig); + m_pCrateFeature = make_parented(this, m_pConfig); addFeature(m_pCrateFeature); #ifdef __ENGINEPRIME__ connect(m_pCrateFeature, @@ -134,7 +129,7 @@ Library::Library( Qt::DirectConnection); #endif - m_pBrowseFeature = new BrowseFeature( + m_pBrowseFeature = make_parented( this, m_pConfig, pRecordingManager); connect(m_pBrowseFeature, &BrowseFeature::scanLibrary, @@ -154,7 +149,7 @@ Library::Library( addFeature(new SetlogFeature(this, UserSettingsPointer(m_pConfig))); - m_pAnalysisFeature = new AnalysisFeature(this, m_pConfig); + m_pAnalysisFeature = make_parented(this, m_pConfig); connect(m_pPlaylistFeature, &PlaylistFeature::analyzeTracks, m_pAnalysisFeature, diff --git a/src/library/library.h b/src/library/library.h index 5e3abf178a47..cecd26c1a4d3 100644 --- a/src/library/library.h +++ b/src/library/library.h @@ -195,12 +195,12 @@ class Library: public QObject { QList m_features; const static QString m_sTrackViewName; WLibrary* m_pLibraryWidget; - MixxxLibraryFeature* m_pMixxxLibraryFeature; - AutoDJFeature* m_pAutoDJFeature; - PlaylistFeature* m_pPlaylistFeature; - CrateFeature* m_pCrateFeature; - AnalysisFeature* m_pAnalysisFeature; - BrowseFeature* m_pBrowseFeature; + parented_ptr m_pMixxxLibraryFeature; + parented_ptr m_pAutoDJFeature; + parented_ptr m_pPlaylistFeature; + parented_ptr m_pCrateFeature; + parented_ptr m_pBrowseFeature; + parented_ptr m_pAnalysisFeature; QFont m_trackTableFont; int m_iTrackTableRowHeight; bool m_editMetadataSelectedClick; From 61a21594d8bc162d52b20400b7a6075faab14c09 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Sch=C3=BCrmann?= Date: Wed, 5 Nov 2025 18:20:12 +0100 Subject: [PATCH 155/181] Replace a QScopedPointer with the nicer std::unique_ptr --- src/library/library.cpp | 7 +++---- src/library/library.h | 2 +- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/src/library/library.cpp b/src/library/library.cpp index bd91b6e37ad4..cf86c4132186 100644 --- a/src/library/library.cpp +++ b/src/library/library.cpp @@ -71,12 +71,11 @@ Library::Library( m_pTrackCollectionManager(pTrackCollectionManager), m_pSidebarModel(make_parented(this)), m_pLibraryControl(make_parented(this)), - m_pLibraryWidget(nullptr) { + m_pLibraryWidget(nullptr), + m_pKeyNotation(std::make_unique( + mixxx::library::prefs::kKeyNotationConfigKey)) { qRegisterMetaType("LibraryRemovalType"); - m_pKeyNotation.reset( - new ControlObject(mixxx::library::prefs::kKeyNotationConfigKey)); - connect(m_pTrackCollectionManager, &TrackCollectionManager::libraryScanFinished, this, diff --git a/src/library/library.h b/src/library/library.h index cecd26c1a4d3..5ca62117992f 100644 --- a/src/library/library.h +++ b/src/library/library.h @@ -204,5 +204,5 @@ class Library: public QObject { QFont m_trackTableFont; int m_iTrackTableRowHeight; bool m_editMetadataSelectedClick; - QScopedPointer m_pKeyNotation; + std::unique_ptr m_pKeyNotation; }; From 772de539897a50eacb8331a5e2d991290eee7495 Mon Sep 17 00:00:00 2001 From: Joerg Date: Mon, 10 Nov 2025 22:20:52 +0100 Subject: [PATCH 156/181] Removed unused needPolling() --- src/controllers/controllerenumerator.h | 6 ------ 1 file changed, 6 deletions(-) diff --git a/src/controllers/controllerenumerator.h b/src/controllers/controllerenumerator.h index e1b9e5f0fc14..18ca42847a58 100644 --- a/src/controllers/controllerenumerator.h +++ b/src/controllers/controllerenumerator.h @@ -18,10 +18,4 @@ class ControllerEnumerator : public QObject { virtual ~ControllerEnumerator(); virtual QList queryDevices() = 0; - - // Sub-classes return true here if their devices must be polled to get data - // from the controller. - virtual bool needPolling() { - return false; - } }; From 4c8dc40e020347e53f8d773d8e83ffdcbbc5b098 Mon Sep 17 00:00:00 2001 From: "Antoine C." Date: Sun, 19 Oct 2025 23:42:19 +0100 Subject: [PATCH 157/181] Revert "Disable QML to avoid undefined behaviour" This reverts commit c37ecda463e7895fdd26ce4cada86e4d83673b44. --- CMakeLists.txt | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index f75f7280d2ff..b2207af45e18 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -319,14 +319,13 @@ endif() include(CMakeDependentOption) option(QT6 "Build with Qt6" ON) - -# Because of multiple concurrent definition of symbols caused by the rendergraph -# compile definition we need to disable QML by default. This avoids the risk of -# undefined behaviour in a stable build. -# See: https://github.com/mixxxdj/mixxx/issues/14766 -# Once this is fixed we can revert the commit introducing this. -option(QML "Build with QML" OFF) - +cmake_dependent_option( + QML + "Build with QML" + ON + "QT6" + OFF +) option(QOPENGL "Use QOpenGLWindow based widget instead of QGLWidget" ON) if(QOPENGL) From bbe0eed897aaded51fcaea86edfb6386d5048888 Mon Sep 17 00:00:00 2001 From: Joerg Date: Tue, 11 Nov 2025 01:02:47 +0100 Subject: [PATCH 158/181] Move HidEnumerator recognizeDevice into anonymous namespace --- src/controllers/hid/hidenumerator.cpp | 6 +++++- src/controllers/hid/hidenumerator.h | 1 - 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/controllers/hid/hidenumerator.cpp b/src/controllers/hid/hidenumerator.cpp index ee927e76be60..20fbc3e2cce6 100644 --- a/src/controllers/hid/hidenumerator.cpp +++ b/src/controllers/hid/hidenumerator.cpp @@ -25,7 +25,9 @@ constexpr unsigned short kAppleIncVendorId = 0x004c; } // namespace mixxx -bool HidEnumerator::recognizeDevice(const hid_device_info& device_info) const { +namespace { + +bool recognizeDevice(const hid_device_info& device_info) { // Skip mice and keyboards. Users can accidentally disable their mouse // and/or keyboard by enabling them as HID controllers in Mixxx. // https://github.com/mixxxdj/mixxx/issues/10498 @@ -82,6 +84,8 @@ bool HidEnumerator::recognizeDevice(const hid_device_info& device_info) const { return true; } +} // namespace + HidEnumerator::~HidEnumerator() { qDebug() << "Deleting HID devices..."; while (m_devices.size() > 0) { diff --git a/src/controllers/hid/hidenumerator.h b/src/controllers/hid/hidenumerator.h index b20542ad1798..af57f6414caa 100644 --- a/src/controllers/hid/hidenumerator.h +++ b/src/controllers/hid/hidenumerator.h @@ -8,7 +8,6 @@ class HidEnumerator : public ControllerEnumerator { Q_OBJECT public: - bool recognizeDevice(const hid_device_info& device_info) const; HidEnumerator() = default; ~HidEnumerator() override; From 2e4a37c7c2b2bd4081be691b290401c11da4efc1 Mon Sep 17 00:00:00 2001 From: ronso0 Date: Wed, 12 Nov 2025 11:20:01 +0100 Subject: [PATCH 159/181] Track Info: swap ReplayGain and Date Added --- src/library/dlgtrackinfo.ui | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/library/dlgtrackinfo.ui b/src/library/dlgtrackinfo.ui index 63f6f25524a4..feac6baa41f3 100644 --- a/src/library/dlgtrackinfo.ui +++ b/src/library/dlgtrackinfo.ui @@ -564,14 +564,14 @@ - + - Date added: + ReplayGain: - + 75 @@ -609,14 +609,14 @@ - + - ReplayGain: + Date added: - + 75 From 09bc6ce4071bc9e599a770dad7a68da57e4ba40f Mon Sep 17 00:00:00 2001 From: ronso0 Date: Wed, 12 Nov 2025 11:40:06 +0100 Subject: [PATCH 160/181] Track Info: show file size --- src/library/dlgtrackinfo.cpp | 7 +++++++ src/library/dlgtrackinfo.ui | 24 ++++++++++++++++++++++++ 2 files changed, 31 insertions(+) diff --git a/src/library/dlgtrackinfo.cpp b/src/library/dlgtrackinfo.cpp index 96389d5a7305..c1ddc55b983f 100644 --- a/src/library/dlgtrackinfo.cpp +++ b/src/library/dlgtrackinfo.cpp @@ -394,6 +394,13 @@ void DlgTrackInfo::replaceTrackRecord( mixxx::localDateTimeFromUtc( m_trackRecord.getDateAdded()))); + QFileInfo info(trackLocation); + if (info.exists() && info.isFile()) { + int size = info.size(); + QString sizeStr = QLocale().formattedDataSize(size); + txtFileSize->setText(sizeStr); + } + updateTrackMetadataFields(); } diff --git a/src/library/dlgtrackinfo.ui b/src/library/dlgtrackinfo.ui index feac6baa41f3..959885d783ab 100644 --- a/src/library/dlgtrackinfo.ui +++ b/src/library/dlgtrackinfo.ui @@ -632,6 +632,30 @@ + + + + Filesize: + + + + + + + + 75 + true + + + + + + + Qt::LinksAccessibleByMouse|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse + + + + From 62c3113c152052982f60691857475aff31921e20 Mon Sep 17 00:00:00 2001 From: Joerg Date: Tue, 11 Nov 2025 00:49:34 +0100 Subject: [PATCH 161/181] Make ctor/dtor of ControllerEnumerator default --- src/controllers/controllerenumerator.cpp | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/src/controllers/controllerenumerator.cpp b/src/controllers/controllerenumerator.cpp index 36bc56f3f6e1..4fe0f631130a 100644 --- a/src/controllers/controllerenumerator.cpp +++ b/src/controllers/controllerenumerator.cpp @@ -2,9 +2,5 @@ #include "moc_controllerenumerator.cpp" -ControllerEnumerator::ControllerEnumerator() - : QObject() { -} - -ControllerEnumerator::~ControllerEnumerator() { -} +ControllerEnumerator::ControllerEnumerator() = default; +ControllerEnumerator::~ControllerEnumerator() = default; From f4fb133f7e49565a3c80a9d58e0473edafc16713 Mon Sep 17 00:00:00 2001 From: Joerg Date: Tue, 18 Nov 2025 22:00:46 +0100 Subject: [PATCH 162/181] Refactor MappingInfo class and use XML stream parser --- src/controllers/controllermappinginfo.cpp | 231 ++++++++++++++-------- src/controllers/controllermappinginfo.h | 12 +- 2 files changed, 155 insertions(+), 88 deletions(-) diff --git a/src/controllers/controllermappinginfo.cpp b/src/controllers/controllermappinginfo.cpp index 7bb48989cae0..bc5e5640dd80 100644 --- a/src/controllers/controllermappinginfo.cpp +++ b/src/controllers/controllermappinginfo.cpp @@ -1,14 +1,25 @@ #include "controllers/controllermappinginfo.h" +#include +#include +#include + #include "util/xml.h" -MappingInfo::MappingInfo() - : m_valid(false) { -} +Q_LOGGING_CATEGORY(kLogger, "controllers.mappinginfo") MappingInfo::MappingInfo(const QString& mapping_path) - : m_valid(false) { - // Parse header section from a controller description XML file + : m_path(), + m_dirPath(), + m_name(), + m_author(), + m_description(), + m_forumlink(), + m_wikilink(), + m_products() { + // Parse only the header section from a controller description XML file + // using a streaming parser to avoid loading/parsing the entire (potentially + // very large) XML file. // Contents parsed by xml path: // info.name Mapping name, used for drop down menus in dialogs // info.author Mapping author @@ -19,102 +30,156 @@ MappingInfo::MappingInfo(const QString& mapping_path) QFileInfo fileInfo(mapping_path); m_path = fileInfo.absoluteFilePath(); m_dirPath = fileInfo.dir().absolutePath(); - m_name = ""; - m_author = ""; - m_description = ""; - m_forumlink = ""; - m_wikilink = ""; - - QDomElement root = XmlParse::openXMLFile(m_path, "controller"); - if (root.isNull()) { - qWarning() << "ERROR parsing" << m_path; - return; - } - QDomElement info = root.firstChildElement("info"); - if (info.isNull()) { - qDebug() << "MISSING ELEMENT: " << m_path; + + QFile file(m_path); + if (!file.open(QIODevice::ReadOnly | QIODevice::Text)) { + qCWarning(kLogger) << "ERROR opening" << m_path; return; } - m_valid = true; + QXmlStreamReader xml(&file); + bool inInfo = false; + bool inInfoDevices = false; + int xmlHierachyDepth = 0; - QDomElement dom_name = info.firstChildElement("name"); - if (!dom_name.isNull()) { - m_name = dom_name.text(); - } else { - m_name = fileInfo.baseName(); - } + while (!xml.atEnd()) { + QXmlStreamReader::TokenType token = xml.readNext(); + if (token == QXmlStreamReader::StartElement) { + ++xmlHierachyDepth; + const QString xmlElementName = xml.name().toString(); - QDomElement dom_author = info.firstChildElement("author"); - if (!dom_author.isNull()) { - m_author = dom_author.text(); - } + // Accept info block only as a top-level child of the document root + // root element will have depth == 1, so its direct children have depth == 2 + if (!inInfo && xmlElementName == QLatin1String("info") && xmlHierachyDepth == 2) { + inInfo = true; + // We've found the info block; set valid now and start parsing children + m_valid = true; + continue; + } - QDomElement dom_description = info.firstChildElement("description"); - if (!dom_description.isNull()) { - m_description = dom_description.text(); - } + // Parse simple info children when inside the info block + if (inInfo) { + if (xmlElementName == QLatin1String("name")) { + m_name = xml.readElementText(); + continue; + } else if (xmlElementName == QLatin1String("author")) { + m_author = xml.readElementText(); + continue; + } else if (xmlElementName == QLatin1String("description")) { + m_description = xml.readElementText(); + continue; + } else if (xmlElementName == QLatin1String("forums")) { + m_forumlink = xml.readElementText(); + continue; + } else if (xmlElementName == QLatin1String("wiki")) { + m_wikilink = xml.readElementText(); + continue; + } else if (xmlElementName == QLatin1String("devices")) { + // Enter devices block + inInfoDevices = true; + continue; + } else if (inInfoDevices && xmlElementName == QLatin1String("product")) { + QXmlStreamAttributes xmlElementAttributes = xml.attributes(); + ProductInfo product; + QString protocol = xmlElementAttributes + .value(QLatin1String("protocol")) + .toString(); - QDomElement dom_forums = info.firstChildElement("forums"); - if (!dom_forums.isNull()) { - m_forumlink = dom_forums.text(); - } + if (protocol == "hid") { + product = parseHIDProduct(xml.attributes()); + } else if (protocol == "bulk") { + product = parseBulkProduct(xml.attributes()); + } else if (protocol == "midi") { + qCInfo(kLogger) << "MIDI product info parsing not yet implemented"; + } else { + qCCritical(kLogger) + << "Product info element contains missing or " + "invalid protocol attribute"; + } - QDomElement dom_wiki = info.firstChildElement("wiki"); - if (!dom_wiki.isNull()) { - m_wikilink = dom_wiki.text(); - } + if (!product.protocol.isEmpty()) { + m_products.append(std::move(product)); + } + continue; + } + } + + } else if (token == QXmlStreamReader::EndElement) { + const QString name = xml.name().toString(); - QDomElement devices = info.firstChildElement("devices"); - if (!devices.isNull()) { - QDomElement product = devices.firstChildElement("product"); - while (!product.isNull()) { - QString protocol = product.attribute("protocol", ""); - if (protocol == "hid") { - m_products.append(parseHIDProduct(product)); - } else if (protocol == "bulk") { - m_products.append(parseBulkProduct(product)); - } else if (protocol == "midi") { - qDebug("MIDI product info parsing not yet implemented"); - //m_products.append(parseMIDIProduct(product); - } else if (protocol == "osc") { - qDebug("OSC product info parsing not yet implemented"); - //m_products.append(parseOSCProduct(product); - } else { - qDebug("Product specification missing protocol attribute"); + if (inInfoDevices && name == QLatin1String("devices")) { + inInfoDevices = false; + --xmlHierachyDepth; + continue; } - product = product.nextSiblingElement("product"); + if (inInfo && name == QLatin1String("info")) { + // End of info block; we can stop parsing entirely + // This safes a lot of time + break; + } + + --xmlHierachyDepth; } } + + if (xml.hasError()) { + qCWarning(kLogger) << "ERROR parsing" << m_path << ":" << xml.errorString(); + } + + file.close(); + + if (m_name.isEmpty()) { + m_name = fileInfo.baseName(); + } } -ProductInfo MappingInfo::parseBulkProduct(const QDomElement& element) const { +ProductInfo MappingInfo::parseBulkProduct(const QXmlStreamAttributes& xmlElementAttributes) { // - ProductInfo product; - product.protocol = element.attribute("protocol"); - product.vendor_id = element.attribute("vendor_id"); - product.product_id = element.attribute("product_id"); - product.in_epaddr = element.attribute("in_epaddr"); - product.out_epaddr = element.attribute("out_epaddr"); - product.interface_number = element.attribute("interface_number"); - return product; + // All number strings must be hex prefixed with 0x + + ProductInfo productInfo; + productInfo.protocol = xmlElementAttributes.value(QLatin1String("protocol")).toString(); + productInfo.vendor_id = xmlElementAttributes.value(QLatin1String("vendor_id")).toString(); + productInfo.product_id = xmlElementAttributes.value(QLatin1String("product_id")).toString(); + // Check for HID-specific attributes which are not allowed for bulk protocol + if (xmlElementAttributes.hasAttribute(QLatin1String("usage_page"))) { + qCCritical(kLogger) << "Product info element for bulk contains " + "unallowed UsagePage attribute"; + } + if (xmlElementAttributes.hasAttribute(QLatin1String("usage"))) { + qCCritical(kLogger) << "Product info element for bulk contains unallowed Usage attribute"; + } + productInfo.in_epaddr = xmlElementAttributes.value(QLatin1String("in_epaddr")).toString(); + productInfo.out_epaddr = xmlElementAttributes.value(QLatin1String("out_epaddr")).toString(); + productInfo.interface_number = + xmlElementAttributes.value(QLatin1String("interface_number")) + .toString(); + return productInfo; } -ProductInfo MappingInfo::parseHIDProduct(const QDomElement& element) const { +ProductInfo MappingInfo::parseHIDProduct(const QXmlStreamAttributes& xmlElementAttributes) { // HID device element parsing. Example of valid element: // - // All numbers must be hex prefixed with 0x - // Only vendor_id and product_id fields are required to map a device. - // usage_page and usage are matched on OS/X and windows - // interface_number is matched on linux, which does support usage_page/usage - - ProductInfo product; - product.protocol = element.attribute("protocol"); - product.vendor_id = element.attribute("vendor_id"); - product.product_id = element.attribute("product_id"); - product.usage_page = element.attribute("usage_page"); - product.usage = element.attribute("usage"); - product.interface_number = element.attribute("interface_number"); - return product; + // All number strings must be hex prefixed with 0x + + ProductInfo productInfo; + productInfo.protocol = xmlElementAttributes.value(QLatin1String("protocol")).toString(); + productInfo.vendor_id = xmlElementAttributes.value(QLatin1String("vendor_id")).toString(); + productInfo.product_id = xmlElementAttributes.value(QLatin1String("product_id")).toString(); + productInfo.usage_page = xmlElementAttributes.value(QLatin1String("usage_page")).toString(); + productInfo.usage = xmlElementAttributes.value(QLatin1String("usage")).toString(); + // Check for bulk-specific attributes which are not allowed for hid protocol + if (xmlElementAttributes.hasAttribute(QLatin1String("in_epaddr"))) { + qCCritical(kLogger) << "Product info element for hid contains " + "unallowed in_epaddr attribute"; + } + if (xmlElementAttributes.hasAttribute(QLatin1String("out_epaddr"))) { + qCCritical(kLogger) << "Product info element for hid contains " + "unallowed out_epaddr attribute"; + } + productInfo.interface_number = + xmlElementAttributes.value(QLatin1String("interface_number")) + .toString(); + return productInfo; } diff --git a/src/controllers/controllermappinginfo.h b/src/controllers/controllermappinginfo.h index e37baabb910f..6833d586547c 100644 --- a/src/controllers/controllermappinginfo.h +++ b/src/controllers/controllermappinginfo.h @@ -4,10 +4,12 @@ #include #include #include +#include #include "controllers/legacycontrollermapping.h" #include "controllers/legacycontrollermappingfilehandler.h" #include "preferences/usersettings.h" +#include "util/runtimeloggingcategory.h" struct ProductInfo { QString protocol; @@ -31,8 +33,8 @@ struct ProductInfo { /// show details for a mapping. class MappingInfo { public: - MappingInfo(); - MappingInfo(const QString& path); + MappingInfo() = default; + explicit MappingInfo(const QString& path); inline bool isValid() const { return m_valid; @@ -65,10 +67,10 @@ class MappingInfo { } private: - ProductInfo parseBulkProduct(const QDomElement& element) const; - ProductInfo parseHIDProduct(const QDomElement& element) const; + static ProductInfo parseBulkProduct(const QXmlStreamAttributes& xmlElementAttributes); + static ProductInfo parseHIDProduct(const QXmlStreamAttributes& xmlElementAttributes); - bool m_valid; + bool m_valid = false; QString m_path; QString m_dirPath; QString m_name; From 0eabd0ff073e306c2ab63f1ad51fd0b00a0b7532 Mon Sep 17 00:00:00 2001 From: "Antoine C." Date: Sun, 19 Oct 2025 23:53:06 +0100 Subject: [PATCH 163/181] chore: rename overly technical qml command argument --- src/util/cmdlineargs.cpp | 24 ++++++++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) diff --git a/src/util/cmdlineargs.cpp b/src/util/cmdlineargs.cpp index 1dfdc4cb2549..dd7946fa2db1 100644 --- a/src/util/cmdlineargs.cpp +++ b/src/util/cmdlineargs.cpp @@ -1,5 +1,6 @@ #include "util/cmdlineargs.h" +#include #include #ifndef __WINDOWS__ #include @@ -280,10 +281,20 @@ bool CmdlineArgs::parse(const QStringList& arguments, CmdlineArgs::ParseMode mod parser.addOption(developer); #ifdef MIXXX_USE_QML - const QCommandLineOption qml(QStringLiteral("qml"), - forUserFeedback ? QCoreApplication::translate("CmdlineArgs", - "Loads experimental QML GUI instead of legacy QWidget skin") - : QString()); + const QCommandLineOption qml(QStringLiteral("new-ui"), + forUserFeedback + ? QCoreApplication::translate("CmdlineArgs", + "Loads the highly unstable 3.0 Mixxx interface, " + "based on QML. You need to use a new setting " + "profile, or run with " + "'allow-dangerous-data-corruption-risk' to use " + "with the current one. We highly recommend " + "backing up your data if you do so.") + : QString()); + QCommandLineOption qmlDeprecated( + QStringLiteral("qml")); + qmlDeprecated.setFlags(QCommandLineOption::HiddenFromHelp); + parser.addOption(qmlDeprecated); parser.addOption(qml); const QCommandLineOption awareOfRisk( QStringLiteral("allow-dangerous-data-corruption-risk"), @@ -467,6 +478,11 @@ bool CmdlineArgs::parse(const QStringList& arguments, CmdlineArgs::ParseMode mod m_developer = parser.isSet(developer); #ifdef MIXXX_USE_QML m_qml = parser.isSet(qml); + if (parser.isSet(qmlDeprecated)) { + m_qml |= true; + qWarning() << "The argument '--qml' is deprecated and will be soon " + "removed. Please use '--new-ui' instead!"; + } m_awareOfRisk = parser.isSet(awareOfRisk); #endif m_safeMode = parser.isSet(safeMode) || parser.isSet(safeModeDeprecated); From f8788137a343b9be01b343fe1b207acdb2305008 Mon Sep 17 00:00:00 2001 From: "Antoine C." Date: Fri, 21 Nov 2025 15:18:54 +0000 Subject: [PATCH 164/181] fix(QML): prevent static allocation from being freed --- src/waveform/renderers/allshader/digitsrenderer.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/waveform/renderers/allshader/digitsrenderer.cpp b/src/waveform/renderers/allshader/digitsrenderer.cpp index 9cab55a95f46..7d23419a3c5c 100644 --- a/src/waveform/renderers/allshader/digitsrenderer.cpp +++ b/src/waveform/renderers/allshader/digitsrenderer.cpp @@ -186,12 +186,12 @@ void allshader::DigitsRenderNode::updateTexture(rendergraph::Context* pContext, blur->setBlurRadius(static_cast(m_penWidth) / 3); QGraphicsScene scene; - QGraphicsPixmapItem item; - item.setPixmap(QPixmap::fromImage(image)); - item.setGraphicsEffect(blur.release()); + auto item = std::make_unique(); + item->setPixmap(QPixmap::fromImage(image)); + item->setGraphicsEffect(blur.release()); image.fill(Qt::transparent); QPainter painter(&image); - scene.addItem(&item); + scene.addItem(item.release()); scene.render(&painter, QRectF(), QRectF(0, 0, image.width(), image.height())); } From f238ef88174056cb9a97f2e259b9033076564582 Mon Sep 17 00:00:00 2001 From: Joerg Date: Sat, 22 Nov 2025 09:49:13 +0100 Subject: [PATCH 165/181] Moved #include to cpp file --- src/controllers/controllermappinginfo.cpp | 1 + src/controllers/controllermappinginfo.h | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/src/controllers/controllermappinginfo.cpp b/src/controllers/controllermappinginfo.cpp index bc5e5640dd80..458300d4bec0 100644 --- a/src/controllers/controllermappinginfo.cpp +++ b/src/controllers/controllermappinginfo.cpp @@ -3,6 +3,7 @@ #include #include #include +#include #include "util/xml.h" diff --git a/src/controllers/controllermappinginfo.h b/src/controllers/controllermappinginfo.h index 6833d586547c..960b3f409a3c 100644 --- a/src/controllers/controllermappinginfo.h +++ b/src/controllers/controllermappinginfo.h @@ -4,13 +4,14 @@ #include #include #include -#include #include "controllers/legacycontrollermapping.h" #include "controllers/legacycontrollermappingfilehandler.h" #include "preferences/usersettings.h" #include "util/runtimeloggingcategory.h" +class QXmlStreamAttributes; + struct ProductInfo { QString protocol; QString vendor_id; From 22837f9b684cacda8881ef833c89f5c741437667 Mon Sep 17 00:00:00 2001 From: Joerg Date: Sat, 22 Nov 2025 10:04:07 +0100 Subject: [PATCH 166/181] Removed / moved unnecessary includes from controllermappinginfo.h/.cpp --- src/controllers/controllermanager.cpp | 2 ++ src/controllers/controllermappinginfo.cpp | 3 ++- src/controllers/controllermappinginfo.h | 7 ------- src/controllers/dlgprefcontroller.cpp | 1 + src/test/controller_mapping_validation_test.cpp | 3 ++- 5 files changed, 7 insertions(+), 9 deletions(-) diff --git a/src/controllers/controllermanager.cpp b/src/controllers/controllermanager.cpp index 9e66b98d8601..7e3911b547f0 100644 --- a/src/controllers/controllermanager.cpp +++ b/src/controllers/controllermanager.cpp @@ -7,7 +7,9 @@ #include "controllers/controllerlearningeventfilter.h" #include "controllers/controllermappinginfoenumerator.h" #include "controllers/defs_controllers.h" +#include "controllers/legacycontrollermappingfilehandler.h" #include "moc_controllermanager.cpp" +#include "preferences/usersettings.h" #include "util/cmdlineargs.h" #include "util/compatibility/qmutex.h" #include "util/duration.h" diff --git a/src/controllers/controllermappinginfo.cpp b/src/controllers/controllermappinginfo.cpp index 458300d4bec0..deb568851b83 100644 --- a/src/controllers/controllermappinginfo.cpp +++ b/src/controllers/controllermappinginfo.cpp @@ -1,11 +1,12 @@ #include "controllers/controllermappinginfo.h" +#include #include #include #include #include -#include "util/xml.h" +#include "util/runtimeloggingcategory.h" Q_LOGGING_CATEGORY(kLogger, "controllers.mappinginfo") diff --git a/src/controllers/controllermappinginfo.h b/src/controllers/controllermappinginfo.h index 960b3f409a3c..f73bb031ab00 100644 --- a/src/controllers/controllermappinginfo.h +++ b/src/controllers/controllermappinginfo.h @@ -1,15 +1,8 @@ #pragma once -#include #include -#include #include -#include "controllers/legacycontrollermapping.h" -#include "controllers/legacycontrollermappingfilehandler.h" -#include "preferences/usersettings.h" -#include "util/runtimeloggingcategory.h" - class QXmlStreamAttributes; struct ProductInfo { diff --git a/src/controllers/dlgprefcontroller.cpp b/src/controllers/dlgprefcontroller.cpp index 1854faef4611..7c678b69c0f2 100644 --- a/src/controllers/dlgprefcontroller.cpp +++ b/src/controllers/dlgprefcontroller.cpp @@ -21,6 +21,7 @@ #ifdef __HID__ #include "controllers/hid/hidcontroller.h" #endif +#include "controllers/legacycontrollermappingfilehandler.h" #include "controllers/midi/legacymidicontrollermapping.h" #include "controllers/midi/midicontroller.h" #include "controllers/scripting/legacy/controllerscriptenginelegacy.h" diff --git a/src/test/controller_mapping_validation_test.cpp b/src/test/controller_mapping_validation_test.cpp index b0afc4462f75..ac0df590d906 100644 --- a/src/test/controller_mapping_validation_test.cpp +++ b/src/test/controller_mapping_validation_test.cpp @@ -6,8 +6,8 @@ #include #include "controllers/defs_controllers.h" +#include "controllers/legacycontrollermappingfilehandler.h" #include "controllers/scripting/legacy/controllerscriptenginelegacy.h" -#include "track/track.h" #include "effects/effectsmanager.h" #include "engine/channelhandle.h" #include "engine/enginemixer.h" @@ -15,6 +15,7 @@ #include "library/library.h" #include "mixer/playerinfo.h" #include "mixer/playermanager.h" +#include "track/track.h" #ifdef MIXXX_USE_QML #include "qml/qmlplayermanagerproxy.h" #endif From 925c27c3e525be7b393e2c4d14e6ba36bb95e865 Mon Sep 17 00:00:00 2001 From: Joerg Date: Sat, 22 Nov 2025 11:43:49 +0100 Subject: [PATCH 167/181] Removed redundant member var initialization --- src/controllers/controllermappinginfo.cpp | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/src/controllers/controllermappinginfo.cpp b/src/controllers/controllermappinginfo.cpp index deb568851b83..479168d7686f 100644 --- a/src/controllers/controllermappinginfo.cpp +++ b/src/controllers/controllermappinginfo.cpp @@ -10,15 +10,7 @@ Q_LOGGING_CATEGORY(kLogger, "controllers.mappinginfo") -MappingInfo::MappingInfo(const QString& mapping_path) - : m_path(), - m_dirPath(), - m_name(), - m_author(), - m_description(), - m_forumlink(), - m_wikilink(), - m_products() { +MappingInfo::MappingInfo(const QString& mapping_path) { // Parse only the header section from a controller description XML file // using a streaming parser to avoid loading/parsing the entire (potentially // very large) XML file. From 6173d39b81f1c12ea6f257963c2ca306b1b10488 Mon Sep 17 00:00:00 2001 From: Joerg Date: Sat, 22 Nov 2025 12:24:14 +0100 Subject: [PATCH 168/181] Use QFileInfo directly without conversion to QString --- src/controllers/controllermappinginfo.cpp | 3 +-- src/controllers/controllermappinginfo.h | 3 ++- src/controllers/controllermappinginfoenumerator.cpp | 9 +++++---- 3 files changed, 8 insertions(+), 7 deletions(-) diff --git a/src/controllers/controllermappinginfo.cpp b/src/controllers/controllermappinginfo.cpp index 479168d7686f..3ea0e6a6ed73 100644 --- a/src/controllers/controllermappinginfo.cpp +++ b/src/controllers/controllermappinginfo.cpp @@ -10,7 +10,7 @@ Q_LOGGING_CATEGORY(kLogger, "controllers.mappinginfo") -MappingInfo::MappingInfo(const QString& mapping_path) { +MappingInfo::MappingInfo(const QFileInfo& fileInfo) { // Parse only the header section from a controller description XML file // using a streaming parser to avoid loading/parsing the entire (potentially // very large) XML file. @@ -21,7 +21,6 @@ MappingInfo::MappingInfo(const QString& mapping_path) { // info.forums Link to mixxx forum discussion for the mapping // info.wiki Link to mixxx wiki for the mapping // info.devices.product List of device matches, specific to device type - QFileInfo fileInfo(mapping_path); m_path = fileInfo.absoluteFilePath(); m_dirPath = fileInfo.dir().absolutePath(); diff --git a/src/controllers/controllermappinginfo.h b/src/controllers/controllermappinginfo.h index f73bb031ab00..1181496d3982 100644 --- a/src/controllers/controllermappinginfo.h +++ b/src/controllers/controllermappinginfo.h @@ -4,6 +4,7 @@ #include class QXmlStreamAttributes; +class QFileInfo; struct ProductInfo { QString protocol; @@ -28,7 +29,7 @@ struct ProductInfo { class MappingInfo { public: MappingInfo() = default; - explicit MappingInfo(const QString& path); + explicit MappingInfo(const QFileInfo& fileInfo); inline bool isValid() const { return m_valid; diff --git a/src/controllers/controllermappinginfoenumerator.cpp b/src/controllers/controllermappinginfoenumerator.cpp index 7a1207c4f679..8543830e6520 100644 --- a/src/controllers/controllermappinginfoenumerator.cpp +++ b/src/controllers/controllermappinginfoenumerator.cpp @@ -54,14 +54,15 @@ void MappingInfoEnumerator::loadSupportedMappings() { QDirIterator it(dirPath); while (it.hasNext()) { it.next(); - const QString path = it.filePath(); + const QFileInfo fileInfo = it.fileInfo(); + const QString path = fileInfo.filePath(); if (path.endsWith(MIDI_MAPPING_EXTENSION, Qt::CaseInsensitive)) { - m_midiMappings.append(MappingInfo(path)); + m_midiMappings.append(MappingInfo(fileInfo)); } else if (path.endsWith(HID_MAPPING_EXTENSION, Qt::CaseInsensitive)) { - m_hidMappings.append(MappingInfo(path)); + m_hidMappings.append(MappingInfo(fileInfo)); } else if (path.endsWith(BULK_MAPPING_EXTENSION, Qt::CaseInsensitive)) { - m_bulkMappings.append(MappingInfo(path)); + m_bulkMappings.append(MappingInfo(fileInfo)); } } } From 4239279cfd3be7e8dabd5b820b604ca63b34b4cd Mon Sep 17 00:00:00 2001 From: "Antoine C." Date: Sat, 1 Nov 2025 21:44:39 +0000 Subject: [PATCH 169/181] feat: add support for Android --- .github/workflows/build.yml | 90 ++++- .github/workflows/release.yml | 2 + CMakeLists.txt | 241 +++++++++-- README.md | 1 + cmake/modules/FindOboe.cmake | 71 ++++ cmake/modules/FindPortAudio.cmake | 11 + packaging/android/AndroidManifest.xml | 72 ++++ .../res/drawable/ic_launcher_background.xml | 38 ++ .../res/drawable/ic_launcher_foreground.xml | 382 ++++++++++++++++++ .../res/mipmap-anydpi-v26/ic_launcher.xml | 5 + .../android/src/org/mixxx/UsbPermission.java | 51 +++ src/controllers/android.cpp | 129 ++++++ src/controllers/android.h | 21 + src/controllers/bulk/bulkcontroller.cpp | 105 ++++- src/controllers/bulk/bulkcontroller.h | 12 + src/controllers/bulk/bulkenumerator.cpp | 78 +++- src/controllers/bulk/bulkenumerator.h | 2 + src/controllers/dlgprefcontroller.cpp | 6 +- src/controllers/dlgprefcontroller.h | 6 +- src/controllers/hid/hidcontroller.cpp | 77 +++- src/controllers/hid/hiddevice.cpp | 35 +- src/controllers/hid/hiddevice.h | 51 ++- src/controllers/hid/hidenumerator.cpp | 115 +++++- src/controllers/hid/hidenumerator.h | 1 + .../hid/hidioglobaloutputreportfifo.h | 2 +- src/controllers/hid/hidiothread.cpp | 13 +- src/controllers/hid/hidiothread.h | 12 + .../legacy/controllerscriptenginelegacy.cpp | 3 + src/coreservices.cpp | 41 ++ src/mixxxmainwindow.cpp | 2 +- src/preferences/configobject.cpp | 7 +- src/qml/qmlapplication.cpp | 20 +- src/soundio/sounddeviceportaudio.cpp | 25 +- src/soundio/soundmanager.cpp | 132 +++++- src/util/cmdlineargs.cpp | 4 +- src/util/desktophelper.cpp | 9 +- src/util/screensaver.cpp | 50 +++ src/util/screensaver.h | 2 + src/waveform/waveformwidgetfactory.cpp | 3 + src/widget/wspinnyglsl.cpp | 4 + tools/android_buildenv.sh | 139 +++++++ 41 files changed, 1977 insertions(+), 93 deletions(-) create mode 100644 cmake/modules/FindOboe.cmake create mode 100644 packaging/android/AndroidManifest.xml create mode 100644 packaging/android/res/drawable/ic_launcher_background.xml create mode 100644 packaging/android/res/drawable/ic_launcher_foreground.xml create mode 100644 packaging/android/res/mipmap-anydpi-v26/ic_launcher.xml create mode 100644 packaging/android/src/org/mixxx/UsbPermission.java create mode 100644 src/controllers/android.cpp create mode 100644 src/controllers/android.h create mode 100755 tools/android_buildenv.sh diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 315377015fba..86833c57d4ed 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -31,6 +31,10 @@ on: required: false MACOS_NOTARIZATION_APP_SPECIFIC_PASSWORD: required: false + ANDROID_SIGNING_KEYSTORE_BASE64: + required: false + ANDROID_SIGNING_PASSWORD: + required: false NETLIFY_BUILD_HOOK: required: false RRYAN_AT_MIXXX_DOT_ORG_GPG_PRIVATE_KEY: @@ -173,11 +177,36 @@ jobs: artifacts_slug: windows-winarm qt_qpa_platform: windows arch: arm64 + - name: Android 15 arm64 + os: ubuntu-24.04 + # DBUILD_TESTING=OFF: error: OpenMP support and version of OpenMP (31, 40 or 45) differs + cmake_args: >- + -DBULK=ON + -DQT6=ON + -DQML=ON + -DHID=ON + -DVCPKG_TARGET_TRIPLET=arm64-android + -DVCPKG_DEFAULT_HOST_TRIPLET=x64-linux-release + -DCMAKE_SYSTEM_NAME=Android + -DBUILD_TESTING=OFF + -DBUILD_BENCH=OFF + buildenv_basepath: /home/runner/buildenv + buildenv_script: tools/android_buildenv.sh + artifacts_name: Android 15 APK + artifacts_path: build/android-build/build/outputs/apk/release/*.apk + artifacts_slug: android-15 + compiler_cache: ccache + compiler_cache_path: /home/runner/.cache/ccache + crosscompile: true + arch: arm64 env: # macOS codesigning MACOS_CODESIGN_CERTIFICATE_P12_BASE64: ${{ secrets.MACOS_CODESIGN_CERTIFICATE_P12_BASE64 }} MACOS_CODESIGN_CERTIFICATE_PASSWORD: ${{ secrets.MACOS_CODESIGN_CERTIFICATE_PASSWORD }} + # Android signing + ANDROID_SIGNING_KEYSTORE_BASE64: ${{ secrets.ANDROID_SIGNING_KEYSTORE_BASE64 }} + ANDROID_SIGNING_PASSWORD: ${{ secrets.ANDROID_SIGNING_PASSWORD }} runs-on: ${{ matrix.os }} name: ${{ matrix.name }} @@ -279,6 +308,33 @@ jobs: echo "CMAKE_ARGS_EXTRA=${CMAKE_ARGS_EXTRA} -DAPPLE_CODESIGN_IDENTITY=${APPLE_CODESIGN_IDENTITY}" >> "${GITHUB_ENV}" echo "APPLE_CODESIGN_IDENTITY=${APPLE_CODESIGN_IDENTITY}" >> $GITHUB_ENV + - name: "[android] Setup signing key" + if: startsWith(matrix.artifacts_slug, 'android') + run: | + if [ -z "${ANDROID_SIGNING_KEYSTORE_BASE64}" ]; then + # If no signing key is available (e.g running on a fork), generate a temporary key + keytool \ + -genkey \ + -keystore mixxx.keystore \ + -alias mixxx \ + -keyalg RSA \ + -keysize 2048 \ + -validity 365 \ + -keypass mixxxandroid \ + -storepass mixxxandroid \ + -dname "CN=${{ github.actor }}" + echo "QT_ANDROID_KEYSTORE_ALIAS=mixxx" >> $GITHUB_ENV + echo "QT_ANDROID_KEYSTORE_KEY_PASS=mixxxandroid" >> $GITHUB_ENV + echo "QT_ANDROID_KEYSTORE_STORE_PASS=mixxxandroid" >> $GITHUB_ENV + echo "QT_ANDROID_KEYSTORE_PATH=${{ github.workspace }}/mixxx.keystore" >> $GITHUB_ENV + else + echo "${{ env.ANDROID_SIGNING_KEYSTORE_BASE64 }}" | base64 -d -o ${{ github.workspace }}/mixxx.keystore + echo "QT_ANDROID_KEYSTORE_ALIAS=mixxx" >> $GITHUB_ENV + echo "QT_ANDROID_KEYSTORE_KEY_PASS=${{ env.ANDROID_SIGNING_PASSWORD }}" >> $GITHUB_ENV + echo "QT_ANDROID_KEYSTORE_STORE_PASS=${{ env.ANDROID_SIGNING_PASSWORD }}" >> $GITHUB_ENV + echo "QT_ANDROID_KEYSTORE_PATH=${{ github.workspace }}/mixxx.keystore" >> $GITHUB_ENV + fi + - name: "[macOS/Linux] Set up build environment" if: matrix.buildenv_script != null && runner.os != 'Windows' run: ${{ matrix.buildenv_script }} setup @@ -312,6 +368,29 @@ jobs: ${{ matrix.compiler_cache }} --max-size=2G if: runner.os != 'windows' + # Remove unused pre-installed software as the runner runs out of space otherwise + # Currently freeing up about 17.7G, ~20% + - name: "[android] Free up disk space" + if: startsWith(matrix.artifacts_slug, 'android') + run: | + sudo apt-get autoremove -y && sudo apt-get clean + sudo rm -rf /home/packer # Free up 677M + sudo rm -rf /opt/az # Free up 649M + sudo rm -rf /opt/google # Free up 378M + sudo rm -rf /opt/hostedtoolcache/CodeQL # Free up 1.6G + sudo rm -rf /opt/hostedtoolcache/go # Free up 808M + sudo rm -rf /opt/hostedtoolcache/node # Free up 532M + sudo rm -rf /opt/hostedtoolcache/PyPy # Free up 520M + sudo rm -rf /opt/hostedtoolcache/Python # Free up 1.5G + sudo rm -rf /opt/microsoft # Free up 781M + sudo rm -rf /opt/pipx # Free up 499M + sudo rm -rf /usr/lib/google-cloud-sdk # Free up 957M + sudo rm -rf /usr/local/julia1.11.7 # Free up 996M + sudo rm -rf /usr/local/share/powershell # Free up 1.3G + sudo rm -rf /usr/share/dotnet # Free up 3.4G + sudo rm -rf /usr/share/swift # Free up 3.2G + sudo rm -rf /usr/local/share/vcpkg # Size unknown, but obvious duplicate + - name: "Create build directory" run: mkdir build @@ -424,7 +503,7 @@ jobs: path: ${{ github.workspace }}/build/_CPack_Packages/win64/WIX/wix.log - name: "[Ubuntu] Import PPA GPG key" - if: startsWith(matrix.os, 'ubuntu') && env.RRYAN_AT_MIXXX_DOT_ORG_GPG_PRIVATE_KEY != null + if: startsWith(matrix.os, 'ubuntu') && matrix.crosscompile != true && env.RRYAN_AT_MIXXX_DOT_ORG_GPG_PRIVATE_KEY != null run: gpg --import <(echo "${{ secrets.RRYAN_AT_MIXXX_DOT_ORG_GPG_PRIVATE_KEY }}") env: RRYAN_AT_MIXXX_DOT_ORG_GPG_PRIVATE_KEY: ${{ secrets.RRYAN_AT_MIXXX_DOT_ORG_GPG_PRIVATE_KEY }} @@ -496,6 +575,15 @@ jobs: --dest-url 'https://downloads.mixxx.org' ${{ matrix.artifacts_path }} + # TODO create a F-droid repo? + # - name: fdroid nightly + # run: | + # sudo add-apt-repository ppa:fdroid/fdroidserver + # sudo apt-get update + # sudo apt-get install apksigner fdroidserver --no-install-recommends + # export DEBUG_KEYSTORE=$ + # fdroid nightly --archive-older 10 + # Warning: do not move this step before restoring caches or it will break caching due to # https://github.com/actions/cache/issues/531 - name: "[Windows] Install rsync and openssh" diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 9c38ef10995b..a2acd7f688fa 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -42,6 +42,8 @@ jobs: MACOS_CODESIGN_CERTIFICATE_P12_BASE64: ${{ secrets.MACOS_CODESIGN_CERTIFICATE_P12_BASE64 }} MACOS_CODESIGN_CERTIFICATE_PASSWORD: ${{ secrets.MACOS_CODESIGN_CERTIFICATE_PASSWORD }} MACOS_NOTARIZATION_APP_SPECIFIC_PASSWORD: ${{ secrets.MACOS_NOTARIZATION_APP_SPECIFIC_PASSWORD }} + ANDROID_SIGNING_KEYSTORE_BASE64: ${{ secrets.ANDROID_SIGNING_KEYSTORE_BASE64 }} + ANDROID_SIGNING_PASSWORD: ${{ secrets.ANDROID_SIGNING_PASSWORD }} NETLIFY_BUILD_HOOK: ${{ secrets.NETLIFY_BUILD_HOOK }} RRYAN_AT_MIXXX_DOT_ORG_GPG_PRIVATE_KEY: ${{ secrets.RRYAN_AT_MIXXX_DOT_ORG_GPG_PRIVATE_KEY }} diff --git a/CMakeLists.txt b/CMakeLists.txt index d72891f687bb..89b9022f1048 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -36,6 +36,11 @@ if(POLICY CMP0099) cmake_policy(SET CMP0099 NEW) endif() +# Add support for cmake_dependent_option +if(POLICY CMP0127) + cmake_policy(SET CMP0127 NEW) +endif() + # An imported target missing its location property fails during generation. if(POLICY CMP0111) cmake_policy(SET CMP0111 NEW) @@ -48,7 +53,54 @@ if(POLICY CMP0135) cmake_policy(SET CMP0135 NEW) endif() -if(((APPLE AND NOT IOS) OR WIN32) AND NOT IS_DIRECTORY "${MIXXX_VCPKG_ROOT}") +if(CMAKE_SYSTEM_NAME STREQUAL Android) + if(NOT DEFINED ENV{JAVA_HOME}) + message(FATAL_ERROR "JAVA_HOME is not set. Did you source the setup file?") + endif() + if((NOT CMAKE_ANDROID_NDK) AND DEFINED ENV{ANDROID_NDK_HOME}) + set(CMAKE_ANDROID_NDK "$ENV{ANDROID_NDK_HOME}") + endif() + set(ANDROID ON) + if(DEFINED ENV{QT_ANDROID_KEYSTORE_PATH}) + set(QT_ANDROID_SIGN_APK ON) + endif() + + set(QT_ANDROID_APP_PATH "$") + set( + QT_ANDROID_APP_PACKAGE_SOURCE_ROOT + "${CMAKE_SOURCE_DIR}/packaging/android" + ) + + if((NOT ANDROID_SDK_ROOT) AND DEFINED ENV{ANDROID_SDK}) + set(ANDROID_SDK_ROOT "$ENV{ANDROID_SDK}") + endif() + set(ANDROID_ABI arm64-v8a) + set(ANDROID_NDK_HOST_SYSTEM_NAME linux-x86_64) + set(CMAKE_SYSTEM_VERSION 35) # API level + set(ANDROID_PLATFORM "android-${CMAKE_SYSTEM_VERSION}") + set(ANDROID_API_VERSION "android-${CMAKE_SYSTEM_VERSION}") + set(CMAKE_ANDROID_ARCH_ABI "${ANDROID_ABI}") # or x86_64, armeabi-v7a, etc. + set(CMAKE_ANDROID_NDK_TOOLCHAIN_VERSION clang) + set(CMAKE_ANDROID_STL_TYPE c++_shared) + set( + CMAKE_SYSROOT + "${CMAKE_ANDROID_NDK}/toolchains/llvm/prebuilt/${ANDROID_NDK_HOST_SYSTEM_NAME}/sysroot" + ) + include_directories( + BEFORE + SYSTEM + "${CMAKE_ANDROID_NDK}/toolchains/llvm/prebuilt/${ANDROID_NDK_HOST_SYSTEM_NAME}/sysroot/usr/include/" + ) + set( + CMAKE_LIBRARY_PATH + "${CMAKE_ANDROID_NDK}/toolchains/llvm/prebuilt/${ANDROID_NDK_HOST_SYSTEM_NAME}/sysroot/usr/lib/aarch64-linux-android/${CMAKE_SYSTEM_VERSION}/;${CMAKE_LIBRARY_PATH}" + ) +endif() + +if( + ((APPLE AND NOT IOS) OR WIN32 OR ANDROID) + AND NOT IS_DIRECTORY "${MIXXX_VCPKG_ROOT}" +) if(NOT DEFINED BUILDENV_BASEPATH) if(DEFINED ENV{BUILDENV_BASEPATH}) set(BUILDENV_BASEPATH "$ENV{BUILDENV_BASEPATH}") @@ -172,7 +224,7 @@ function(fatal_error_missing_env) "Did you download the Mixxx build environment using `source ${CMAKE_SOURCE_DIR}/tools/macos_release_buildenv.sh setup` or `source ${CMAKE_SOURCE_DIR}/tools/macos_buildenv.sh setup` (includes Debug)?" ) endif() - elseif(UNIX AND NOT APPLE) + elseif(UNIX AND NOT APPLE AND NOT ANDROID) # Linux, BSD, Solaris, Minix if(EXISTS "/etc/debian_version") # exists also on Ubuntu and Mint message( @@ -284,8 +336,8 @@ set( # Set a default build type if none was specified # See https://blog.kitware.com/cmake-and-the-default-build-type/ for details. set(default_build_type "RelWithDebInfo") -if(EXISTS "${CMAKE_SOURCE_DIR}/.git" AND NOT WIN32) - # On Windows, Debug builds are linked to unoptimized libs +if(EXISTS "${CMAKE_SOURCE_DIR}/.git" AND NOT WIN32 AND NOT ANDROID) + # On Windows and Android, Debug builds are linked to unoptimized libs # generating unusable slow Mixxx builds. set(default_build_type "Debug") endif() @@ -946,7 +998,7 @@ else() else() message(STATUS "Could NOT find ccache (missing executable)") endif() - default_option(CCACHE_SUPPORT "Enable ccache support" "CCACHE_EXECUTABLE") + default_option(CCACHE_SUPPORT "Enable ccache support" "CCACHE_EXECUTABLE;NOT ANDROID") if(NOT DEFINED CMAKE_DISABLE_PRECOMPILE_HEADERS) set(CMAKE_DISABLE_PRECOMPILE_HEADERS ${CCACHE_SUPPORT}) @@ -1013,7 +1065,7 @@ if(NOT MSVC) set(MOLD_SYMLINK_FOUND TRUE) endif() default_option(MOLD_SUPPORT "Use 'mold' for linking" "MOLD_FUSE_FOUND OR MOLD_SYMLINK_FOUND") - if(MOLD_SUPPORT) + if(MOLD_SUPPORT AND NOT ANDROID) if(MOLD_FUSE_FOUND) message(STATUS "Selecting mold as linker") add_link_options("-fuse-ld=mold") @@ -2247,6 +2299,8 @@ if(WIN32) elseif(UNIX) if(APPLE) target_compile_definitions(mixxx-lib PUBLIC __APPLE__) + elseif(ANDROID) + target_compile_definitions(mixxx-lib PUBLIC __ANDROID__) else() target_compile_definitions(mixxx-lib PUBLIC __UNIX__) if(CMAKE_SYSTEM_NAME STREQUAL Linux) @@ -2268,7 +2322,92 @@ if(QT6) # below that takes care of the correct object order in the resulting binary # According to https://doc.qt.io/qt-6/qt-finalize-target.html it is importand for # builds with Qt < 3.21 - qt_add_executable(mixxx WIN32 src/main.cpp MANUAL_FINALIZATION) + if(ANDROID) + target_compile_definitions( + mixxx-lib + PUBLIC __STDC_CONSTANT_MACROS __STDC_LIMIT_MACROS __STDC_FORMAT_MACROS + ) + set_property(TARGET mixxx-lib PROPERTY ANDROID_ABIS "arm64-v8a") + target_compile_definitions( + mixxx-lib + PUBLIC ANDROID_PACKAGE_NAME="org.mixxx" + ) + qt_add_executable(mixxx src/main.cpp MANUAL_FINALIZATION) + set_property( + TARGET mixxx + PROPERTY + QT_ANDROID_PACKAGE_SOURCE_DIR "${CMAKE_SOURCE_DIR}/packaging/android" + ) + set_target_properties(mixxx PROPERTIES QT_ANDROID_ABIS "${ANDROID_ABI}") + set_target_properties(mixxx PROPERTIES QT_ANDROID_PACKAGE_NAME "org.mixxx") + set_target_properties( + mixxx + PROPERTIES QT_ANDROID_VERSION_NAME "${MIXXX_VERSION}" + ) + set_target_properties( + mixxx + PROPERTIES + QT_ANDROID_APPLICATION_ARGUMENTS "--qml --log-level debug --developer" + ) + qt_add_android_permission(mixxx + NAME android.permission.ACCESS_NETWORK_STATE + ) + qt_add_android_permission(mixxx + NAME android.permission.INTERNET + ) + qt_add_android_permission(mixxx + NAME android.permission.MODIFY_AUDIO_SETTINGS + ) + qt_add_android_permission(mixxx + NAME android.permission.RECORD_AUDIO + ) + qt_add_android_permission(mixxx + NAME android.permission.WRITE_EXTERNAL_STORAGE + ) + qt_add_android_permission(mixxx + NAME android.permission.MANAGE_EXTERNAL_STORAGE + ) + qt_add_android_permission(mixxx + NAME android.permission.WAKE_LOCK + ) + qt_add_android_permission(mixxx + NAME android.permission.USB_PERMISSION + ) + set( + CMAKE_LINKER + "${CMAKE_ANDROID_NDK}/toolchains/llvm/prebuilt/${ANDROID_NDK_HOST_SYSTEM_NAME}/bin/ld" + ) + set( + CMAKE_C_COMPILER + "${CMAKE_ANDROID_NDK}/toolchains/llvm/prebuilt/${ANDROID_NDK_HOST_SYSTEM_NAME}/bin/clang" + ) + set( + CMAKE_CXX_COMPILER + "${CMAKE_ANDROID_NDK}/toolchains/llvm/prebuilt/${ANDROID_NDK_HOST_SYSTEM_NAME}/bin/clang++" + ) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -fPIC") + set_target_properties( + mixxx + PROPERTIES + QT_ANDROID_EXTRA_LIBS + ${CMAKE_ANDROID_NDK}/toolchains/llvm/prebuilt/${ANDROID_NDK_HOST_SYSTEM_NAME}/lib/clang/18/lib/linux/aarch64/libomp.so + ) + add_custom_target( + copy-resource-android + COMMENT "Copy resources folder to Android build asset directory" + COMMAND + ${CMAKE_COMMAND} -E copy_directory ${CMAKE_SOURCE_DIR}/packaging/android + ${CMAKE_CURRENT_BINARY_DIR}/android + COMMAND + ${CMAKE_COMMAND} -E copy_directory ${CMAKE_SOURCE_DIR}/res + ${CMAKE_CURRENT_BINARY_DIR}/android-build/assets + WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}" + ) + add_dependencies(mixxx copy-resource-android) + target_link_libraries(mixxx PUBLIC omp) + else() + qt_add_executable(mixxx WIN32 src/main.cpp MANUAL_FINALIZATION) + endif() else() find_package(Qt5 COMPONENTS Core) # For Qt Core cmake functions # This is the first package form the environment, if this fails give hints how to install the environment @@ -2357,37 +2496,41 @@ if(WIN32) include(InstallRequiredSystemLibraries) endif() -install( - TARGETS mixxx - RUNTIME DESTINATION "${MIXXX_INSTALL_BINDIR}" - BUNDLE DESTINATION . -) +if(NOT ANDROID) + install( + TARGETS mixxx + RUNTIME DESTINATION "${MIXXX_INSTALL_BINDIR}" + BUNDLE DESTINATION . + ) -# Skins -install( - DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/res/skins" - DESTINATION "${MIXXX_INSTALL_DATADIR}" -) + # Skins + install( + DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/res/skins" + DESTINATION "${MIXXX_INSTALL_DATADIR}" + ) -# Controller mappings -install( - DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/res/controllers" - DESTINATION "${MIXXX_INSTALL_DATADIR}" -) + # Controller mappings + install( + DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/res/controllers" + DESTINATION "${MIXXX_INSTALL_DATADIR}" + ) -# Effect presets -install( - DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/res/effects" - DESTINATION "${MIXXX_INSTALL_DATADIR}" -) + # Effect presets + install( + DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/res/effects" + DESTINATION "${MIXXX_INSTALL_DATADIR}" + ) -# Translation files -install( - DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/res/translations" - DESTINATION "${MIXXX_INSTALL_DATADIR}" - FILES_MATCHING - PATTERN "*.qm" -) + # Translation files + install( + DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/res/translations" + DESTINATION "${MIXXX_INSTALL_DATADIR}" + FILES_MATCHING + PATTERN "*.qm" + ) + # else() + # qt_finalize_target(mixxx-lib) +endif() # Font files # @@ -3433,6 +3576,10 @@ else() mixxx-lib PUBLIC -sMIN_WEBGL_VERSION=2 -sMAX_WEBGL_VERSION=2 -sFULL_ES2=1 ) + elseif(ANDROID) + find_library(GLESv2_LIBRARY GLESv2) + target_link_libraries(mixxx-lib PRIVATE "${GLESv2_LIBRARY}") + target_compile_definitions(mixxx-lib PUBLIC QT_OPENGL_ES_2) else() find_package(WrapOpenGL REQUIRED) if(OPENGL_opengl_LIBRARY) @@ -3465,6 +3612,11 @@ target_link_libraries( find_package(PortAudio REQUIRED) target_link_libraries(mixxx-lib PUBLIC PortAudio::PortAudio) +if(ANDROID) + target_link_libraries(mixxx-lib PUBLIC OpenSLES android) + target_compile_definitions(mixxx-lib PUBLIC PA_USE_OBOE) +endif() + # PortAudio Ring Buffer add_library( PortAudioRingBuffer @@ -3476,7 +3628,7 @@ target_include_directories(mixxx-lib SYSTEM PUBLIC lib/portaudio) target_link_libraries(mixxx-lib PRIVATE PortAudioRingBuffer) # PortMidi -option(PORTMIDI "Enable the PortMidi backend for MIDI controllers" ON) +default_option(PORTMIDI "Enable the PortMidi backend for MIDI controllers" "NOT ANDROID") if(PORTMIDI) target_compile_definitions(mixxx-lib PUBLIC __PORTMIDI__) find_package(PortMidi REQUIRED) @@ -3567,6 +3719,10 @@ if(QT_EXTRA_COMPONENTS) endforeach() endif() +if(QT_KNOWN_POLICY_QTP0002 AND ANDROID) + qt6_policy(SET QTP0002 NEW) +endif() + if(QML) if(QT_KNOWN_POLICY_QTP0004) # See: https://doc.qt.io/qt-6/qt-cmake-policy-qtp0004.html @@ -4147,7 +4303,7 @@ if(APPLE) # Used for battery measurements and controlling the screensaver on macOS. target_link_libraries(mixxx-lib PRIVATE "-weak_framework IOKit") endif() -elseif(UNIX AND NOT APPLE AND NOT EMSCRIPTEN) +elseif(UNIX AND NOT APPLE AND NOT EMSCRIPTEN AND NOT ANDROID) if(QT6) find_package(X11) else() @@ -4426,7 +4582,7 @@ cmake_dependent_option( BATTERY "Battery meter support" ON - "WIN32 OR UNIX" + "WIN32 OR (UNIX AND NOT ANDROID)" OFF ) if(BATTERY) @@ -4870,7 +5026,6 @@ if(HID) target_sources( mixxx-lib PRIVATE - src/controllers/controllerhidreporttabsmanager.cpp src/controllers/hid/hidcontroller.cpp src/controllers/hid/hidiothread.cpp src/controllers/hid/hidioglobaloutputreportfifo.cpp @@ -4882,6 +5037,16 @@ if(HID) src/controllers/hid/legacyhidcontrollermapping.cpp src/controllers/hid/legacyhidcontrollermappingfilehandler.cpp ) + + if(ANDROID) + target_sources(mixxx-lib PRIVATE src/controllers/android.cpp) + else() + # Android doesn't support QWidget and is not able to compile this manager due to compiler lacking support for structure binding (error: capturing a structured binding is not yet supported) + target_sources( + mixxx-lib + PRIVATE src/controllers/controllerhidreporttabsmanager.cpp + ) + endif() target_compile_definitions(mixxx-lib PUBLIC __HID__) endif() diff --git a/README.md b/README.md index 828888e70ecb..8fa765250728 100644 --- a/README.md +++ b/README.md @@ -46,6 +46,7 @@ corresponding command for your operating system: | macOS | `source tools/macos_buildenv.sh setup` | ~1.5 GB download, ~3 GB disk space | | Debian/Ubuntu | `tools/debian_buildenv.sh setup` | ~200 MB download, ~1 GB disk space | | Fedora | `tools/rpm_buildenv.sh setup` | ~200 MB download, ~1 GB disk space | +| Android | `tools/android_buildenv.sh setup` (see the [wiki article](https://github.com/mixxxdj/mixxx/wiki/Building-for-Android)) | ~3.4 GB download, 13GB disk space | | Other Linux distros | See the [wiki article](https://github.com/mixxxdj/mixxx/wiki/Compiling%20on%20Linux) | | To build Mixxx, run diff --git a/cmake/modules/FindOboe.cmake b/cmake/modules/FindOboe.cmake new file mode 100644 index 000000000000..d12ef492639f --- /dev/null +++ b/cmake/modules/FindOboe.cmake @@ -0,0 +1,71 @@ +#[=======================================================================[.rst: +FindOboe +-------- + +Finds the Oboe library. + +Imported Targets +^^^^^^^^^^^^^^^^ + +This module provides the following imported targets, if found: + +``Oboe::Oboe`` + The Oboe library + +#]=======================================================================] + +# Prefer finding the libraries from pkgconfig rather than find_library. This is +# required to build with PipeWire's reimplementation of the Oboe library. +# +# This also enables using PortAudio with the Oboe port in vcpkg. That only +# builds OboeWeakAPI (not the Oboe server) which dynamically loads the real +# Oboe library and forwards API calls to it. OboeWeakAPI requires linking `dl` +# in addition to Oboe, as specified in the pkgconfig file in vcpkg. +find_package(PkgConfig QUIET) +if(PkgConfig_FOUND) + pkg_check_modules(Oboe Oboe) +endif() + +find_path( + Oboe_INCLUDE_DIR + NAMES oboe/Oboe.h + HINTS ${PC_Oboe_INCLUDE_DIRS} + DOC "Oboe include directory" +) +mark_as_advanced(Oboe_INCLUDE_DIR) + +find_library( + Oboe_LIBRARY + NAMES oboe + HINTS ${PC_Oboe_LIBRARY_DIRS} + DOC "Oboe library" +) +mark_as_advanced(Oboe_LIBRARY) + +if(DEFINED PC_Oboe_VERSION AND NOT PC_Oboe_VERSION STREQUAL "") + set(Oboe_VERSION "${PC_Oboe_VERSION}") +endif() + +include(FindPackageHandleStandardArgs) +find_package_handle_standard_args( + Oboe + REQUIRED_VARS Oboe_LIBRARY Oboe_INCLUDE_DIR + VERSION_VAR Oboe_VERSION +) + +if(Oboe_FOUND) + set(Oboe_LIBRARIES "${Oboe_LIBRARY}") + set(Oboe_INCLUDE_DIRS "${Oboe_INCLUDE_DIR}") + set(Oboe_DEFINITIONS ${PC_Oboe_CFLAGS_OTHER}) + + if(NOT TARGET Oboe::Oboe) + add_library(Oboe::Oboe UNKNOWN IMPORTED) + set_target_properties( + Oboe::Oboe + PROPERTIES + IMPORTED_LOCATION "${Oboe_LIBRARY}" + INTERFACE_COMPILE_OPTIONS "${PC_Oboe_CFLAGS_OTHER}" + INTERFACE_INCLUDE_DIRECTORIES "${Oboe_INCLUDE_DIR}" + ) + endif() +endif() diff --git a/cmake/modules/FindPortAudio.cmake b/cmake/modules/FindPortAudio.cmake index cbd5377f51b1..c92beafe090a 100644 --- a/cmake/modules/FindPortAudio.cmake +++ b/cmake/modules/FindPortAudio.cmake @@ -110,6 +110,17 @@ if(PortAudio_FOUND) PROPERTY INTERFACE_LINK_LIBRARIES JACK::jack ) endif() + if(CMAKE_SYSTEM_NAME STREQUAL Android) + find_package(Oboe) + if(NOT (OBOE_FOUND)) + message(FATAL_ERROR "Oboe: not found") + endif() + set_property( + TARGET PortAudio::PortAudio + APPEND + PROPERTY INTERFACE_LINK_LIBRARIES Oboe::Oboe + ) + endif() endif() if(PortAudio_ALSA_H) target_compile_definitions(PortAudio::PortAudio INTERFACE PA_USE_ALSA) diff --git a/packaging/android/AndroidManifest.xml b/packaging/android/AndroidManifest.xml new file mode 100644 index 000000000000..f4822732c543 --- /dev/null +++ b/packaging/android/AndroidManifest.xml @@ -0,0 +1,72 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packaging/android/res/drawable/ic_launcher_background.xml b/packaging/android/res/drawable/ic_launcher_background.xml new file mode 100644 index 000000000000..9c3a415e54a1 --- /dev/null +++ b/packaging/android/res/drawable/ic_launcher_background.xml @@ -0,0 +1,38 @@ + + + + + + + + + + + + + + diff --git a/packaging/android/res/drawable/ic_launcher_foreground.xml b/packaging/android/res/drawable/ic_launcher_foreground.xml new file mode 100644 index 000000000000..248038dd13df --- /dev/null +++ b/packaging/android/res/drawable/ic_launcher_foreground.xml @@ -0,0 +1,382 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packaging/android/res/mipmap-anydpi-v26/ic_launcher.xml b/packaging/android/res/mipmap-anydpi-v26/ic_launcher.xml new file mode 100644 index 000000000000..d378acd7ac99 --- /dev/null +++ b/packaging/android/res/mipmap-anydpi-v26/ic_launcher.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/packaging/android/src/org/mixxx/UsbPermission.java b/packaging/android/src/org/mixxx/UsbPermission.java new file mode 100644 index 000000000000..731f6082083b --- /dev/null +++ b/packaging/android/src/org/mixxx/UsbPermission.java @@ -0,0 +1,51 @@ +package org.mixxx; + +import android.content.BroadcastReceiver; +import android.content.Context; +import android.content.Intent; +import android.content.IntentFilter; +import android.hardware.usb.UsbDevice; +import android.hardware.usb.UsbManager; +import android.util.Log; + +public class UsbPermission { + private static final String ACTION_USB_PERMISSION = + "org.mixxx.permissions.USB_PERMISSION"; + private static final String TAG = "MixxxUsbPermission"; + private static native void usbDeviceAccessResult(Object device, boolean granted); + public boolean registerServiceBroadcastReceiver(Context context) { + try { + IntentFilter intentFilter = new IntentFilter(ACTION_USB_PERMISSION); + context.registerReceiver(usbPermissionReceiver, intentFilter, Context.RECEIVER_NOT_EXPORTED); + Log.i(TAG, "Registered broadcast receiver"); + return true; + } catch (Exception e) { + Log.w(TAG, "Unable to register the broadcast receiver: " + e.toString()); + return false; + } + } + + private final BroadcastReceiver usbPermissionReceiver = new BroadcastReceiver() { + @Override + public void onReceive(Context context, Intent intent) { + String action = intent.getAction(); + Log.v(TAG, "Received " + action); + if (ACTION_USB_PERMISSION.equals(action)) { + synchronized (this) { + UsbDevice usbDevice = intent.getParcelableExtra(UsbManager.EXTRA_DEVICE); + if (usbDevice == null) { + Log.e(TAG, "USB device is null"); + return; + } + boolean granted = intent.getBooleanExtra(UsbManager.EXTRA_PERMISSION_GRANTED, false); + usbDeviceAccessResult(usbDevice, granted); + if (!granted) { + Log.w(TAG, "Permission was denied"); + } else { + Log.i(TAG, "Permission was granted"); + } + } + } + } + }; +} diff --git a/src/controllers/android.cpp b/src/controllers/android.cpp new file mode 100644 index 000000000000..0d5ade3b35aa --- /dev/null +++ b/src/controllers/android.cpp @@ -0,0 +1,129 @@ +#include "android.h" + +#include +#include +#include + +#include +#include + +namespace mixxx { +namespace android { +std::mutex s_androidLock = {}; +std::condition_variable s_grantingWaitCond = {}; +std::vector> s_grantingResult = {}; +QJniObject s_intent = {}; +QJniObject s_usbManager = {}; + +const QJniObject& getIntent() { + __android_log_print(ANDROID_LOG_VERBOSE, "mixxx", "about to get intent"); + std::unique_lock lock(s_androidLock); + if (s_intent.isValid()) { + return s_intent; + } + // QNativeInterface::QAndroidApplication::runOnAndroidMainThread([]() { + if (!QNativeInterface::QAndroidApplication::isActivityContext()) { + __android_log_print(ANDROID_LOG_WARN, + "mixxx", + "current context doesn't refer to an activity!"); + } + + QJniObject context = QNativeInterface::QAndroidApplication::context(); + + s_usbManager = QJniObject("org/mixxx/UsbPermission"); + jint FLAG_IMMUTABLE = + QJniObject::getStaticField( + "android/app/PendingIntent", + "FLAG_IMMUTABLE"); + QtJniTypes::String ACTION_USB_PERMISSION = + QJniObject::fromString("org.mixxx.permissions.USB_PERMISSION"); + QtJniTypes::Intent intent = QJniObject("android/content/Intent", + "(Ljava/lang/String;)V", + ACTION_USB_PERMISSION.object()); + if (!intent.isValid()) { + __android_log_print(ANDROID_LOG_WARN, "mixxx", "pending intent is invalid!"); + } + s_intent = + QJniObject::callStaticMethod("android/app/PendingIntent", + "getBroadcast", + "(Landroid/content/Context;ILandroid/content/" + "Intent;I)Landroid/app/PendingIntent;", + context, + 0, + intent, + FLAG_IMMUTABLE); + + if (!s_intent.isValid()) { + __android_log_print(ANDROID_LOG_WARN, "mixxx", "pending intent is invalid!"); + } + + __android_log_print(ANDROID_LOG_VERBOSE, + "mixxx", + "about to register the the receiver %d", + s_usbManager.isValid()); + auto success = s_usbManager.callMethod("registerServiceBroadcastReceiver", + "(Landroid/content/Context;)Z", + context.object()); + if (!success) { + __android_log_print(ANDROID_LOG_WARN, "mixxx", "failed to registered the receiver!"); + } + // }); + return s_intent; +} + +bool waitForPermission(const QJniObject& device) { + __android_log_print(ANDROID_LOG_VERBOSE, "mixxx", "about to wait for perm"); + std::unique_lock lock(s_androidLock); + std::vector>::const_iterator result = s_grantingResult.cend(); + + int retries = 0; + + while (!s_grantingWaitCond.wait_for( + lock, std::chrono::seconds(1), [&result, device] { + result = std::find_if(s_grantingResult.cbegin(), + s_grantingResult.cend(), + [device](auto resultPair) { + return resultPair.first == device; + }); + return result != s_grantingResult.cend(); + })) { + __android_log_print(ANDROID_LOG_VERBOSE, + "mixxx", + "Not found - current result count: %lu", + s_grantingResult.size()); + QCoreApplication::processEvents(); + retries++; + if (retries >= 10) { + __android_log_print(ANDROID_LOG_WARN, "mixxx", "wait for perm timeout"); + qWarning() << "Timeout reached when waiting for Android permission to USB device"; + return false; + } + } + __android_log_print(ANDROID_LOG_VERBOSE, "mixxx", "got perm result"); + return result->second; +} + +void usbDeviceAccessResult(QJniObject device, bool granted) { + std::unique_lock lock(s_androidLock); + __android_log_print(ANDROID_LOG_WARN, "mixxx", "received permission result: %d", granted); + s_grantingResult.push_back(std::make_pair<>(device, granted)); + s_grantingWaitCond.notify_one(); + // FIXME Handle large list? +} +} // namespace android +} // namespace mixxx + +Q_DECLARE_JNI_CLASS(UsbPermissionClass, "org/mixxx/UsbPermission") + +void usbDeviceAccessResult(JNIEnv*, jobject, jobject device, jboolean granted) { + mixxx::android::usbDeviceAccessResult(device, granted); +} +Q_DECLARE_JNI_NATIVE_METHOD(usbDeviceAccessResult) + +JNIEXPORT jint JNICALL JNI_OnLoad(JavaVM*, void*) { + QJniEnvironment env; + env.registerNativeMethods({ + Q_JNI_NATIVE_METHOD(usbDeviceAccessResult), + }); + return JNI_VERSION_1_6; +} diff --git a/src/controllers/android.h b/src/controllers/android.h new file mode 100644 index 000000000000..7c34d60cace6 --- /dev/null +++ b/src/controllers/android.h @@ -0,0 +1,21 @@ +#pragma once + +#include + +struct libusb_context; + +namespace mixxx { +namespace android { + +const QJniObject& getIntent(); +bool waitForPermission(const QJniObject& device); +void usbDeviceAccessResult(QJniObject device, bool granted); + +extern std::mutex s_androidLock; +extern std::condition_variable s_grantingWaitCond; +extern std::vector> s_grantingResult; +extern QJniObject s_intent; +extern QJniObject s_usbManager; + +} // namespace android +} // namespace mixxx diff --git a/src/controllers/bulk/bulkcontroller.cpp b/src/controllers/bulk/bulkcontroller.cpp index e03d275fcded..a6d28787ab34 100644 --- a/src/controllers/bulk/bulkcontroller.cpp +++ b/src/controllers/bulk/bulkcontroller.cpp @@ -2,7 +2,9 @@ #include -#include +#if defined(Q_OS_ANDROID) +#include "controllers/android.h" +#endif #include "controllers/bulk/bulksupported.h" #include "controllers/defs_controllers.h" @@ -55,6 +57,7 @@ void BulkReader::run() { qDebug() << "Stopped Reader"; } +#ifndef Q_OS_ANDROID static QString get_string(libusb_device_handle* handle, uint8_t id) { unsigned char buf[128] = { 0 }; @@ -74,7 +77,8 @@ BulkController::BulkController(libusb_context* context, m_context(context), m_phandle(handle), m_inEndpointAddr(0), - m_outEndpointAddr(0) { + m_outEndpointAddr(0), + m_pReader(nullptr) { m_vendorId = desc->idVendor; m_productId = desc->idProduct; @@ -84,8 +88,34 @@ BulkController::BulkController(libusb_context* context, setInputDevice(true); setOutputDevice(true); - m_pReader = nullptr; } +#else +BulkController::BulkController(const QJniObject& usbDevice) + : Controller(QString("%1 %2").arg( + usbDevice.callMethod("getProductName").toString(), + usbDevice.callMethod("getSerialNumber").toString())), + m_context(nullptr), + m_phandle(nullptr), + m_androidUsbDevice(usbDevice), + m_inEndpointAddr(0), + m_outEndpointAddr(0), + m_pReader(nullptr) { + m_vendorId = static_cast(usbDevice.callMethod("getVendorId")); + m_productId = static_cast(usbDevice.callMethod("getProductId")); + + m_manufacturer = usbDevice.callMethod("getManufacturerName").toString(); + m_product = usbDevice.callMethod("getProductName").toString(); + m_sUID = usbDevice.callMethod("getSerialNumber").toString(); + if (m_sUID.isEmpty()) { + // Android won't allow reading serial number if permission wasn't + // granted previously. Is this an issue? + m_sUID = "N/A"; + } + + setInputDevice(true); + setOutputDevice(true); +} +#endif BulkController::~BulkController() { if (isOpen()) { @@ -184,6 +214,68 @@ int BulkController::open(const QString& resourcePath) { m_outEndpointAddr = pDevice->endpoints.out_epaddr; m_interfaceNumber = pDevice->endpoints.interface_number; +#ifdef __ANDROID__ + QJniObject context = QNativeInterface::QAndroidApplication::context(); + QJniObject USB_SERVICE = + QJniObject::getStaticObjectField( + "android/content/Context", + "USB_SERVICE", + "Ljava/lang/String;"); + auto usbManager = context.callObjectMethod("getSystemService", + "(Ljava/lang/String;)Ljava/lang/Object;", + USB_SERVICE.object()); + if (!usbManager.isValid()) { + qDebug() << "usbManager invalid"; + return -1; + } + + if (!usbManager.callMethod("hasPermission", + "(Landroid/hardware/usb/UsbDevice;)Z", + m_androidUsbDevice)) { + auto pendingIntent = mixxx::android::getIntent(); + usbManager.callMethod("requestPermission", + "(Landroid/hardware/usb/UsbDevice;Landroid/app/" + "PendingIntent;)V", + m_androidUsbDevice, + pendingIntent); + // Wait for permission + if (!mixxx::android::waitForPermission(m_androidUsbDevice)) { + qDebug() << "access to device wasn't granted"; + return -1; + } + m_sUID = m_androidUsbDevice.callMethod("getSerialNumber").toString(); + } + m_androidConnection = usbManager.callMethod("openDevice", + "(Landroid/hardware/usb/UsbDevice;)Landroid/hardware/usb/" + "UsbDeviceConnection;", + m_androidUsbDevice); + + if (!m_androidConnection.isValid()) { + qDebug() << "Unable to open BULK device"; + return -1; + } + + auto fileDescriptor = static_cast( + m_androidConnection.callMethod("getFileDescriptor")); + + // Open device by file descriptor + qCInfo(m_logBase) << "Opening BULK device" << getName() + << "by file descriptor" + << fileDescriptor << "and interface" + << m_interfaceNumber; + + libusb_set_option(nullptr, LIBUSB_OPTION_NO_DEVICE_DISCOVERY); + libusb_init(&m_context); + int error = libusb_wrap_sys_device(nullptr, (intptr_t)fileDescriptor, &m_phandle); + if (error < 0) { + qCWarning(m_logBase) << "Cannot open interface for" << getName() + << ":" << libusb_error_name(error); + libusb_close(m_phandle); + return -1; + } else { + qCDebug(m_logBase) << "Opened interface for" << getName(); + } +#else // XXX: we should enumerate devices and match vendor, product, and serial if (m_phandle == nullptr) { m_phandle = libusb_open_device_with_vid_pid( @@ -197,6 +289,7 @@ int BulkController::open(const QString& resourcePath) { if (libusb_set_auto_detach_kernel_driver(m_phandle, true) == LIBUSB_ERROR_NOT_SUPPORTED) { qCDebug(m_logBase) << "unable to automatically detach kernel driver for" << getName(); } +#endif if (m_interfaceNumber.has_value()) { int error = libusb_claim_interface(m_phandle, *m_interfaceNumber); @@ -272,6 +365,12 @@ int BulkController::close() { } qCInfo(m_logBase) << " Closing device"; libusb_close(m_phandle); + +#ifdef Q_OS_ANDROID + if (m_androidConnection.isValid()) { + m_androidConnection.callMethod("close"); + } +#endif m_phandle = nullptr; setOpen(false); return 0; diff --git a/src/controllers/bulk/bulkcontroller.h b/src/controllers/bulk/bulkcontroller.h index d9910e88a8c4..cd6b0b1f309b 100644 --- a/src/controllers/bulk/bulkcontroller.h +++ b/src/controllers/bulk/bulkcontroller.h @@ -3,6 +3,9 @@ #include #include #include +#ifdef Q_OS_ANDROID +#include +#endif #include "controllers/controller.h" #include "controllers/hid/legacyhidcontrollermapping.h" @@ -34,10 +37,15 @@ class BulkReader : public QThread { class BulkController : public Controller { Q_OBJECT public: +#ifndef Q_OS_ANDROID BulkController( libusb_context* context, libusb_device_handle* handle, struct libusb_device_descriptor* desc); +#else + BulkController( + const QJniObject& usbDevice); +#endif ~BulkController() override; QString mappingExtension() override; @@ -100,6 +108,10 @@ class BulkController : public Controller { libusb_context* m_context; libusb_device_handle *m_phandle; +#ifdef Q_OS_ANDROID + QJniObject m_androidUsbDevice; + QJniObject m_androidConnection; +#endif // Local copies of things we need from desc diff --git a/src/controllers/bulk/bulkenumerator.cpp b/src/controllers/bulk/bulkenumerator.cpp index 089a337a3cf0..4552a9f79fc3 100644 --- a/src/controllers/bulk/bulkenumerator.cpp +++ b/src/controllers/bulk/bulkenumerator.cpp @@ -1,35 +1,102 @@ #include "controllers/bulk/bulkenumerator.h" #include +#include + +#ifdef __ANDROID__ +#include +#include +#include +#include + +#include +#include +#endif #include "controllers/bulk/bulkcontroller.h" #include "controllers/bulk/bulksupported.h" #include "moc_bulkenumerator.cpp" +#include "util/assert.h" +#ifndef __ANDROID__ BulkEnumerator::BulkEnumerator() : ControllerEnumerator(), m_context(nullptr) { - libusb_init(&m_context); + int r; + r = libusb_init(&m_context); + VERIFY_OR_DEBUG_ASSERT(r == 0) { + qCritical() << "libusb_init failed" << libusb_error_name(r); + m_context = nullptr; + } } +#else +BulkEnumerator::BulkEnumerator() = default; +#endif BulkEnumerator::~BulkEnumerator() { qDebug() << "Deleting USB Bulk devices..."; while (m_devices.size() > 0) { delete m_devices.takeLast(); } - libusb_exit(m_context); +#ifndef __ANDROID__ + if (m_context) { + libusb_exit(m_context); + } +#endif } -static bool is_interesting(const libusb_device_descriptor& desc) { +static bool is_interesting(const uint16_t idVendor, const uint16_t idProduct) { return std::any_of(std::cbegin(bulk_supported), std::cend(bulk_supported), [&](const auto& dev) { - return dev.key.vendor_id == desc.idVendor && dev.key.product_id == desc.idProduct; + return dev.key.vendor_id == idVendor && dev.key.product_id == idProduct; }); } QList BulkEnumerator::queryDevices() { qDebug() << "Scanning USB Bulk devices:"; +#ifdef __ANDROID__ + QJniObject context = QNativeInterface::QAndroidApplication::context(); + QJniObject USB_SERVICE = + QJniObject::getStaticObjectField( + "android/content/Context", + "USB_SERVICE", + "Ljava/lang/String;"); + auto usbManager = context.callObjectMethod("getSystemService", + "(Ljava/lang/String;)Ljava/lang/Object;", + USB_SERVICE.object()); + if (!usbManager.isValid()) { + qDebug() << "usbManager invalid"; + return {}; + } + + QJniObject deviceListObject = + usbManager.callMethod("getDeviceList", "()Ljava/util/HashMap;"); + deviceListObject = deviceListObject.callMethod("values", "()Ljava/util/Collection;"); + QJniArray deviceList = QJniArray( + deviceListObject.callMethod("toArray")); + __android_log_print(ANDROID_LOG_VERBOSE, + "mixxx", + "found %d USB devices for BULK enumerator", + deviceList.size()); + + for (const auto& usbDevice : deviceList) { + const uint16_t idVendor = static_cast( + usbDevice->callMethod("getVendorId")); + ; + const uint16_t idProduct = static_cast( + usbDevice->callMethod("getProductId")); + ; + if (is_interesting(idVendor, idProduct)) { + BulkController* currentDevice = + new BulkController(usbDevice); + m_devices.push_back(currentDevice); + } + } +#else + VERIFY_OR_DEBUG_ASSERT(m_context) { + return {}; + } libusb_device **list; ssize_t cnt = libusb_get_device_list(m_context, &list); ssize_t i = 0; @@ -40,7 +107,7 @@ QList BulkEnumerator::queryDevices() { struct libusb_device_descriptor desc; libusb_get_device_descriptor(device, &desc); - if (is_interesting(desc)) { + if (is_interesting(desc.idVendor, desc.idProduct)) { struct libusb_device_handle* handle = nullptr; err = libusb_open(device, &handle); if (err) { @@ -54,5 +121,6 @@ QList BulkEnumerator::queryDevices() { } } libusb_free_device_list(list, 1); +#endif return m_devices; } diff --git a/src/controllers/bulk/bulkenumerator.h b/src/controllers/bulk/bulkenumerator.h index 882fe808717e..222417078c3b 100644 --- a/src/controllers/bulk/bulkenumerator.h +++ b/src/controllers/bulk/bulkenumerator.h @@ -16,5 +16,7 @@ class BulkEnumerator : public ControllerEnumerator { private: QList m_devices; +#ifndef __ANDROID__ libusb_context* m_context; +#endif }; diff --git a/src/controllers/dlgprefcontroller.cpp b/src/controllers/dlgprefcontroller.cpp index 9c6798974b1f..4d80280028f7 100644 --- a/src/controllers/dlgprefcontroller.cpp +++ b/src/controllers/dlgprefcontroller.cpp @@ -18,7 +18,7 @@ #endif #include "controllers/defs_controllers.h" #include "controllers/dlgcontrollerlearning.h" -#ifdef __HID__ +#if defined(__HID__) && !defined(Q_OS_ANDROID) #include "controllers/hid/hidcontroller.h" #endif #include "controllers/midi/legacymidicontrollermapping.h" @@ -91,7 +91,7 @@ DlgPrefController::DlgPrefController( m_outputMappingsTabIndex(-1), m_settingsTabIndex(-1), m_screensTabIndex(-1) -#ifdef __HID__ +#if defined(__HID__) && !defined(Q_OS_ANDROID) , m_hidReportTabsManager(nullptr) { qRegisterMetaType(); @@ -204,7 +204,7 @@ DlgPrefController::DlgPrefController( m_ui.labelUsbInterfaceNumberValue->setVisible(false); } -#ifdef __HID__ +#if defined(__HID__) && !defined(Q_OS_ANDROID) // Display HID UsagePage and Usage if the controller is an HidController if (auto* hidController = qobject_cast(m_pController)) { m_ui.labelHidUsagePageValue->setText(QStringLiteral("%1 (%2)") diff --git a/src/controllers/dlgprefcontroller.h b/src/controllers/dlgprefcontroller.h index d5e6404299a2..879ae974d918 100644 --- a/src/controllers/dlgprefcontroller.h +++ b/src/controllers/dlgprefcontroller.h @@ -1,8 +1,10 @@ #pragma once +#include + #include -#ifdef __HID__ +#if defined(__HID__) && !defined(Q_OS_ANDROID) #include "controllers/controllerhidreporttabsmanager.h" #endif #include "controllers/controllermappinginfo.h" @@ -152,7 +154,7 @@ class DlgPrefController : public DlgPreferencePage { int m_screensTabIndex; // Index of the screens tab QHash m_settingsCollapsedStates; -#ifdef __HID__ +#if defined(__HID__) && !defined(Q_OS_ANDROID) std::unique_ptr m_hidReportTabsManager; #endif }; diff --git a/src/controllers/hid/hidcontroller.cpp b/src/controllers/hid/hidcontroller.cpp index 4807a9807297..7cff9c64c9dc 100644 --- a/src/controllers/hid/hidcontroller.cpp +++ b/src/controllers/hid/hidcontroller.cpp @@ -1,6 +1,13 @@ #include "controllers/hid/hidcontroller.h" +#ifdef __ANDROID__ +#include +#include + +#include "controllers/android.h" +#else #include +#endif #include "controllers/defs_controllers.h" #include "moc_hidcontroller.cpp" @@ -8,14 +15,17 @@ class LegacyControllerMapping; +#ifndef __ANDROID__ namespace { constexpr size_t kMaxHidErrorMessageSize = 512; } // namespace +#endif HidController::HidController( mixxx::hid::DeviceInfo&& deviceInfo) : Controller(deviceInfo.formatName()), - m_deviceInfo(std::move(deviceInfo)) { + m_deviceInfo(std::move(deviceInfo)), + m_deviceUsesReportIds(std::nullopt) { // We assume, that all HID controllers are full-duplex, // but a HID can also be input only (e.g. a USB HID mouse) setInputDevice(true); @@ -88,6 +98,65 @@ int HidController::open(const QString& resourcePath) { return -1; } +#ifdef __ANDROID__ + QJniObject usbDeviceConnection; + + QJniObject context = QNativeInterface::QAndroidApplication::context(); + QJniObject USB_SERVICE = + QJniObject::getStaticObjectField( + "android/content/Context", + "USB_SERVICE", + "Ljava/lang/String;"); + auto usbManager = context.callObjectMethod("getSystemService", + "(Ljava/lang/String;)Ljava/lang/Object;", + USB_SERVICE.object()); + if (!usbManager.isValid()) { + qDebug() << "usbManager invalid"; + return -1; + } + + auto usbDevice = m_deviceInfo.androidUsbDevice(); + + if (!usbManager.callMethod("hasPermission", + "(Landroid/hardware/usb/UsbDevice;)Z", + usbDevice)) { + auto pendingIntent = mixxx::android::getIntent(); + usbManager.callMethod("requestPermission", + "(Landroid/hardware/usb/UsbDevice;Landroid/app/" + "PendingIntent;)V", + usbDevice, + pendingIntent); + // Wait for permission + if (!mixxx::android::waitForPermission(usbDevice)) { + qDebug() << "access to device wasn't granted"; + return -1; + } + m_deviceInfo.updateSerialNumber( + usbDevice.callMethod("getSerialNumber").toString()); + } + usbDeviceConnection = usbManager.callMethod("openDevice", + "(Landroid/hardware/usb/UsbDevice;)Landroid/hardware/usb/" + "UsbDeviceConnection;", + usbDevice); + + if (!usbDeviceConnection.isValid()) { + qDebug() << "Unable to open HID device"; + return -1; + } + + auto fileDescriptor = static_cast( + usbDeviceConnection.callMethod("getFileDescriptor")); + + // Open device by file descriptor + qCInfo(m_logBase) << "Opening HID device" << getName() + << "by file descriptor" + << fileDescriptor << "and interface" + << m_deviceInfo.getUsbInterfaceNumber(); + + libusb_set_option(nullptr, LIBUSB_OPTION_NO_DEVICE_DISCOVERY); + hid_device* pHidDevice = hid_libusb_wrap_sys_device( + fileDescriptor, m_deviceInfo.getUsbInterfaceNumber().value()); +#else // Open device by path qCInfo(m_logBase) << "Opening HID device" << getName() << "by HID path" << m_deviceInfo.pathRaw(); @@ -154,6 +223,7 @@ int HidController::open(const QString& resourcePath) { kMaxHidErrorMessageSize)); return -1; } +#endif // Set hid controller to non-blocking if (hid_set_nonblocking(pHidDevice, 1) != 0) { @@ -162,6 +232,7 @@ int HidController::open(const QString& resourcePath) { return -1; } +#ifndef Q_OS_ANDROID // When fetching the report descriptor, from m_deviceInfo or if not read yet from the device const std::vector& rawReportDescriptor = m_deviceInfo.fetchRawReportDescriptor(pHidDevice); @@ -177,7 +248,11 @@ int HidController::open(const QString& resourcePath) { m_deviceUsesReportIds = std::nullopt; } +#endif m_pHidIoThread = std::make_unique(pHidDevice, m_deviceInfo, m_deviceUsesReportIds); +#ifdef Q_OS_ANDROID + m_pHidIoThread->setDeviceConnection(std::move(usbDeviceConnection)); +#endif m_pHidIoThread->setObjectName(QStringLiteral("HidIoThread ") + getName()); connect(m_pHidIoThread.get(), diff --git a/src/controllers/hid/hiddevice.cpp b/src/controllers/hid/hiddevice.cpp index 276345c24295..8c88d6a8c2c4 100644 --- a/src/controllers/hid/hiddevice.cpp +++ b/src/controllers/hid/hiddevice.cpp @@ -1,10 +1,13 @@ #include "controllers/hid/hiddevice.h" +#include + #include #include "controllers/controllermappinginfo.h" #include "util/string.h" +#ifndef Q_OS_ANDROID namespace { constexpr std::size_t kDeviceInfoStringMaxLength = 512; @@ -25,11 +28,13 @@ PhysicalTransportProtocol hidapiBusType2PhysicalTransportProtocol(hid_bus_type b } } // namespace +#endif namespace mixxx { namespace hid { +#ifndef Q_OS_ANDROID DeviceInfo::DeviceInfo(const hid_device_info& device_info) : vendor_id(device_info.vendor_id), product_id(device_info.product_id), @@ -51,6 +56,26 @@ DeviceInfo::DeviceInfo(const hid_device_info& device_info) m_serialNumber(mixxx::convertWCStringToQString( m_serialNumberRaw.data(), m_serialNumberRaw.size())) { } +#else +DeviceInfo::DeviceInfo( + const QJniObject& usbDevice, const QJniObject& usbInterface) + : m_androidUsbDevice(usbDevice), + m_physicalTransportProtocol(PhysicalTransportProtocol::USB) { + vendor_id = static_cast(usbDevice.callMethod("getVendorId")); + product_id = static_cast(usbDevice.callMethod("getProductId")); + m_manufacturerString = usbDevice.callMethod("getManufacturerName").toString(); + m_productString = usbDevice.callMethod("getProductName").toString(); + m_serialNumber = usbDevice.callMethod("getSerialNumber").toString(); + + if (m_serialNumber.isEmpty()) { + // Android won't allow reading serial number if permission wasn't + // granted previously. Is this an issue? + m_serialNumber = "N/A"; + } + + m_usbInterfaceNumber = usbInterface.callMethod("getId"); +} +#endif const std::vector& DeviceInfo::fetchRawReportDescriptor(hid_device* pHidDevice) { if (!pHidDevice) { @@ -144,11 +169,16 @@ bool DeviceInfo::matchProductInfo( } // Optionally check against m_usbInterfaceNumber / usage_page && usage - if (m_usbInterfaceNumber >= 0) { +#ifndef Q_OS_ANDROID + if (m_usbInterfaceNumber >= 0) +#endif + { if (m_usbInterfaceNumber != product.interface_number.toInt(&ok, 16) || !ok) { return false; } - } else { + } +#ifndef Q_OS_ANDROID + else { if (usage_page != product.usage_page.toInt(&ok, 16) || !ok) { return false; } @@ -156,6 +186,7 @@ bool DeviceInfo::matchProductInfo( return false; } } +#endif // Match found return true; } diff --git a/src/controllers/hid/hiddevice.h b/src/controllers/hid/hiddevice.h index 194be47969bd..0baf869f9897 100644 --- a/src/controllers/hid/hiddevice.h +++ b/src/controllers/hid/hiddevice.h @@ -1,9 +1,10 @@ #pragma once -#include - #include #include +#if defined(Q_OS_ANDROID) +#include +#endif #include #include #include @@ -13,6 +14,8 @@ struct ProductInfo; struct hid_device_info; +struct hid_device_; +typedef struct hid_device_ hid_device; namespace mixxx { @@ -32,8 +35,13 @@ namespace hid { /// QString if needed. class DeviceInfo final { public: +#ifndef Q_OS_ANDROID explicit DeviceInfo( const hid_device_info& device_info); +#else + explicit DeviceInfo( + const QJniObject& usbDevice, const QJniObject& usbInterface); +#endif // The VID. uint16_t getVendorId() const { @@ -44,6 +52,7 @@ class DeviceInfo final { return product_id; } +#ifndef Q_OS_ANDROID /// The releaseNumberBCD returns the version of the USB specification to /// which the device conforms. The bcdUSB field contains a BCD version /// number in the format 0xJJMN: @@ -67,6 +76,14 @@ class DeviceInfo final { const wchar_t* serialNumberRaw() const { return m_serialNumberRaw.c_str(); } +#else + const QJniObject& androidUsbDevice() const { + return m_androidUsbDevice; + } + void updateSerialNumber(QString serialNumber) { + m_serialNumber = serialNumber; + } +#endif const QString& getVendorString() const { return m_manufacturerString; @@ -90,19 +107,35 @@ class DeviceInfo final { } uint16_t getUsagePage() const { +#ifndef Q_OS_ANDROID return usage_page; +#else + return 0; +#endif } uint16_t getUsage() const { +#ifndef Q_OS_ANDROID return usage; +#else + return 0; +#endif } QString getUsagePageDescription() const { +#ifdef Q_OS_ANDROID + return QStringLiteral("N/A"); +#else return mixxx::hid::HidUsageTables::getUsagePageDescription(usage_page); +#endif } QString getUsageDescription() const { +#ifdef Q_OS_ANDROID + return QStringLiteral("N/A"); +#else return mixxx::hid::HidUsageTables::getUsageDescription(usage_page, usage); +#endif } // We need an opened hid_device here, @@ -111,7 +144,13 @@ class DeviceInfo final { const std::vector& fetchRawReportDescriptor(hid_device* pHidDevice); bool isValid() const { - return !getProductString().isNull() && !getSerialNumber().isNull(); + return !getProductString().isNull() +#ifdef Q_OS_ANDROID + && m_androidUsbDevice.isValid(); +#else + && !getSerialNumber().isNull(); +#endif + ; } QString formatName() const; @@ -127,15 +166,21 @@ class DeviceInfo final { // members from hid_device_info unsigned short vendor_id; unsigned short product_id; +#ifndef Q_OS_ANDROID unsigned short release_number; unsigned short usage_page; unsigned short usage; +#else + QJniObject m_androidUsbDevice; +#endif PhysicalTransportProtocol m_physicalTransportProtocol; int m_usbInterfaceNumber; +#ifndef Q_OS_ANDROID std::string m_pathRaw; std::wstring m_serialNumberRaw; +#endif QString m_manufacturerString; QString m_productString; diff --git a/src/controllers/hid/hidenumerator.cpp b/src/controllers/hid/hidenumerator.cpp index 20fbc3e2cce6..fcfbd2d9a647 100644 --- a/src/controllers/hid/hidenumerator.cpp +++ b/src/controllers/hid/hidenumerator.cpp @@ -1,6 +1,16 @@ #include "controllers/hid/hidenumerator.h" +#if defined(Q_OS_ANDROID) +#include +#include +#include +#include +#include + +#include +#else #include +#endif #include "controllers/hid/hidcontroller.h" #include "controllers/hid/hiddenylist.h" @@ -12,10 +22,12 @@ namespace mixxx { namespace hid { +#ifndef Q_OS_ANDROID constexpr unsigned short kGenericDesktopUsagePage = 0x01; constexpr unsigned short kGenericDesktopMouseUsage = 0x02; constexpr unsigned short kGenericDesktopKeyboardUsage = 0x06; +#endif // Apple has two two different vendor IDs which are used for different devices. constexpr unsigned short kAppleVendorId = 0x5ac; @@ -26,17 +38,24 @@ constexpr unsigned short kAppleIncVendorId = 0x004c; } // namespace mixxx namespace { - -bool recognizeDevice(const hid_device_info& device_info) { +bool recognizeDevice(unsigned short vendor_id, + unsigned short product_id, + int interface_number, + unsigned short usage_page = 0, + unsigned short usage = 0) { +// On Android, usage_page and usage are only accessible when permission is +// granted to the device, so we don't use it for device detection. +#ifndef Q_OS_ANDROID // Skip mice and keyboards. Users can accidentally disable their mouse // and/or keyboard by enabling them as HID controllers in Mixxx. // https://github.com/mixxxdj/mixxx/issues/10498 if (!CmdlineArgs::Instance().getDeveloper() && - device_info.usage_page == mixxx::hid::kGenericDesktopUsagePage && - (device_info.usage == mixxx::hid::kGenericDesktopMouseUsage || - device_info.usage == mixxx::hid::kGenericDesktopKeyboardUsage)) { + usage_page == mixxx::hid::kGenericDesktopUsagePage && + (usage == mixxx::hid::kGenericDesktopMouseUsage || + usage == mixxx::hid::kGenericDesktopKeyboardUsage)) { return false; } +#endif // Apple includes a variety of HID devices in their computers, not all of which // match the filter above for keyboards and mice, for example "Magic Trackpad", @@ -44,8 +63,7 @@ bool recognizeDevice(const hid_device_info& device_info) { // these devices in future computers and none of these devices are DJ controllers, // so skip all Apple HID devices rather than maintaining a list of specific devices // to skip. - if (device_info.vendor_id == mixxx::hid::kAppleVendorId - || device_info.vendor_id == mixxx::hid::kAppleIncVendorId) { + if (vendor_id == mixxx::hid::kAppleVendorId || vendor_id == mixxx::hid::kAppleIncVendorId) { return false; } @@ -53,29 +71,32 @@ bool recognizeDevice(const hid_device_info& device_info) { for (const hid_denylist_t& denylisted : hid_denylisted) { // If vendor ids are specified and do not match, skip. if (denylisted.vendor_id != kAnyValue && - device_info.vendor_id != denylisted.vendor_id) { + vendor_id != denylisted.vendor_id) { continue; } // If product IDs are specified and do not match, skip. if (denylisted.product_id != kAnyValue && - device_info.product_id != denylisted.product_id) { + product_id != denylisted.product_id) { continue; } // Denylist entry based on interface number // If interface number is present and the interface numbers do not // match, skip. if (denylisted.interface_number != kInvalidInterfaceNumber && - device_info.interface_number != denylisted.interface_number) { + interface_number != denylisted.interface_number) { continue; } +#ifdef Q_OS_ANDROID + continue; +#endif // Denylist entry based on usage_page and usage (both required) if (denylisted.usage_page != kAnyValue && denylisted.usage != kAnyValue) { // If usage_page is different, skip. - if (device_info.usage_page != denylisted.usage_page) { + if (usage_page != denylisted.usage_page) { continue; } // If usage is different, skip. - if (device_info.usage != denylisted.usage) { + if (usage != denylisted.usage) { continue; } } @@ -83,9 +104,16 @@ bool recognizeDevice(const hid_device_info& device_info) { } return true; } - } // namespace +bool HidEnumerator::recognizeDevice(const hid_device_info& device_info) const { + return ::recognizeDevice(device_info.vendor_id, + device_info.product_id, + device_info.interface_number, + device_info.usage_page, + device_info.usage); +} + HidEnumerator::~HidEnumerator() { qDebug() << "Deleting HID devices..."; while (m_devices.size() > 0) { @@ -97,6 +125,66 @@ HidEnumerator::~HidEnumerator() { QList HidEnumerator::queryDevices() { qInfo() << "Scanning USB HID devices"; +#ifdef __ANDROID__ + QJniObject context = QNativeInterface::QAndroidApplication::context(); + QJniObject USB_SERVICE = + QJniObject::getStaticObjectField( + "android/content/Context", + "USB_SERVICE", + "Ljava/lang/String;"); + auto usbManager = context.callObjectMethod("getSystemService", + "(Ljava/lang/String;)Ljava/lang/Object;", + USB_SERVICE.object()); + if (!usbManager.isValid()) { + qDebug() << "usbManager invalid"; + return {}; + } + + QJniObject deviceListObject = + usbManager.callMethod("getDeviceList", "()Ljava/util/HashMap;"); + deviceListObject = deviceListObject.callMethod("values", "()Ljava/util/Collection;"); + QJniArray deviceList = QJniArray( + deviceListObject.callMethod("toArray")); + __android_log_print(ANDROID_LOG_VERBOSE, + "mixxx", + "found %d USB devices for HID enumerator", + deviceList.size()); + + for (const auto& usbDevice : deviceList) { + for (jint ifaceIdx = 0; + ifaceIdx < usbDevice->callMethod("getInterfaceCount"); + ifaceIdx++) { + auto usbInterface = usbDevice->callMethod("getInterface", + "(I)Landroid/hardware/usb/UsbInterface;", + ifaceIdx); + if (usbInterface.callMethod("getInterfaceClass") == LIBUSB_CLASS_HID) { + auto device_info = mixxx::hid::DeviceInfo(usbDevice, usbInterface); + + if (!::recognizeDevice(device_info.getVendorId(), + device_info.getProductId(), + device_info.getUsbInterfaceNumber().value())) { + qInfo() + << "Excluding HID device" + << device_info; + continue; + } + + qInfo() << "Found HID device:" + << device_info; + + if (!device_info.isValid()) { + qWarning() << "HID device permissions problem or device error." + << "Your account needs write access to HID controllers."; + continue; + } + + HidController* newDevice = new HidController(std::move(device_info)); + m_devices.push_back(newDevice); + } + } + } +#else + QStringList enumeratedDevices; hid_device_info* device_info_list = hid_enumerate(0x0, 0x0); for (const auto* device_info = device_info_list; @@ -131,6 +219,7 @@ QList HidEnumerator::queryDevices() { m_devices.push_back(newDevice); } hid_free_enumeration(device_info_list); +#endif return m_devices; } diff --git a/src/controllers/hid/hidenumerator.h b/src/controllers/hid/hidenumerator.h index af57f6414caa..b20542ad1798 100644 --- a/src/controllers/hid/hidenumerator.h +++ b/src/controllers/hid/hidenumerator.h @@ -8,6 +8,7 @@ class HidEnumerator : public ControllerEnumerator { Q_OBJECT public: + bool recognizeDevice(const hid_device_info& device_info) const; HidEnumerator() = default; ~HidEnumerator() override; diff --git a/src/controllers/hid/hidioglobaloutputreportfifo.h b/src/controllers/hid/hidioglobaloutputreportfifo.h index beffcc34c78d..399bcfbd592c 100644 --- a/src/controllers/hid/hidioglobaloutputreportfifo.h +++ b/src/controllers/hid/hidioglobaloutputreportfifo.h @@ -6,7 +6,7 @@ struct RuntimeLoggingCategory; class QMutex; - +struct hid_device_; typedef struct hid_device_ hid_device; namespace mixxx { diff --git a/src/controllers/hid/hidiothread.cpp b/src/controllers/hid/hidiothread.cpp index f4d05000c745..dd7fda383459 100644 --- a/src/controllers/hid/hidiothread.cpp +++ b/src/controllers/hid/hidiothread.cpp @@ -1,7 +1,13 @@ #include "controllers/hid/hidiothread.h" -#include +#include "util/assert.h" +#ifdef __ANDROID__ +#include +#include +#else +#include +#endif #include "moc_hidiothread.cpp" #include "util/runtimeloggingcategory.h" #include "util/string.h" @@ -56,6 +62,11 @@ HidIoThread::HidIoThread(hid_device* pHidDevice, HidIoThread::~HidIoThread() { hid_close(m_pHidDevice); +#ifdef Q_OS_ANDROID + if (m_androidConnection.isValid()) { + m_androidConnection.callMethod("close"); + } +#endif } void HidIoThread::run() { diff --git a/src/controllers/hid/hidiothread.h b/src/controllers/hid/hidiothread.h index 4520a9d26899..a7d5ff95fc1a 100644 --- a/src/controllers/hid/hidiothread.h +++ b/src/controllers/hid/hidiothread.h @@ -50,6 +50,15 @@ class HidIoThread : public QThread { void sendFeatureReport(quint8 reportID, const QByteArray& reportData); QByteArray getFeatureReport(quint8 reportID); +#ifdef Q_OS_ANDROID + // On Android, we open a connection to the device in JNI. we must keep the + // object alive and referenced to prevent GC and file descriptor being + // closed + void setDeviceConnection(QJniObject&& connection) { + m_androidConnection = connection; + } +#endif + signals: /// Signals that a HID InputReport received by Interrupt triggered from HID device void receive(const QByteArray& data, mixxx::Duration timestamp); @@ -104,4 +113,7 @@ class HidIoThread : public QThread { /// Semaphore with capacity 1, which is left acquired, as long as the run loop of the thread runs QSemaphore m_runLoopSemaphore; +#ifdef Q_OS_ANDROID + QJniObject m_androidConnection; +#endif }; diff --git a/src/controllers/scripting/legacy/controllerscriptenginelegacy.cpp b/src/controllers/scripting/legacy/controllerscriptenginelegacy.cpp index 93f1a1d92879..78b728a88e0c 100644 --- a/src/controllers/scripting/legacy/controllerscriptenginelegacy.cpp +++ b/src/controllers/scripting/legacy/controllerscriptenginelegacy.cpp @@ -54,6 +54,9 @@ ControllerScriptEngineLegacy::~ControllerScriptEngineLegacy() { } void ControllerScriptEngineLegacy::watchFilePath(const QString& path) { +#ifdef __ANDROID__ + return; +#endif if (m_fileWatcher.files().contains(path) || m_fileWatcher.directories().contains(path)) { qCDebug(m_logger) << "File" << path << "is already being watch for controller auto-reload"; return; diff --git a/src/coreservices.cpp b/src/coreservices.cpp index a96a9e286404..f81918969398 100644 --- a/src/coreservices.cpp +++ b/src/coreservices.cpp @@ -67,6 +67,9 @@ #if defined(Q_OS_LINUX) && defined(__X11__) #include #endif +#if defined(Q_OS_ANDROID) +#include +#endif #if defined(Q_OS_LINUX) && QT_VERSION < QT_VERSION_CHECK(6, 0, 0) #include @@ -626,6 +629,44 @@ void CoreServices::initialize(QApplication* pApp) { if (!dir.exists()) { dir.mkpath("."); } +#elif defined(Q_OS_ANDROID) + // if(QOperatingSystemVersion::current() < + // QOperatingSystemVersion(QOperatingSystemVersion::Android, 11)) { + // qDebug() << "it is less then Android 11 - ALL FILES permission + // isn't possible!"; + // } + QString fd; + jboolean value = QJniObject::callStaticMethod( + "android/os/Environment", "isExternalStorageManager"); + if (value == false) { + qDebug() << "requesting ACTION_MANAGE_APP_ALL_FILES_ACCESS_PERMISSION"; + QJniObject ACTION_MANAGE_APP_ALL_FILES_ACCESS_PERMISSION = + QJniObject::getStaticObjectField( + "android/provider/Settings", + "ACTION_MANAGE_APP_ALL_FILES_ACCESS_PERMISSION", + "Ljava/lang/String;"); + QJniObject intent("android/content/Intent", + "(Ljava/lang/String;)V", + ACTION_MANAGE_APP_ALL_FILES_ACCESS_PERMISSION.object()); + QJniObject jniPath = QJniObject::fromString( + QStringLiteral("package:%1").arg(ANDROID_PACKAGE_NAME)); + QJniObject jniUri = + QJniObject::callStaticObjectMethod("android/net/Uri", + "parse", + "(Ljava/lang/String;)Landroid/net/Uri;", + jniPath.object()); + QJniObject jniResult = intent.callObjectMethod("setData", + "(Landroid/net/Uri;)Landroid/content/Intent;", + jniUri.object()); + QtAndroidPrivate::startActivity(intent, 0); + } else { + qDebug() << "Got ACTION_MANAGE_APP_ALL_FILES_ACCESS_PERMISSION"; + } + fd = "/storage/emulated/0/Music/"; + QDir dir = fd; + if (!dir.exists()) { + dir.mkpath("."); + } #else // TODO(XXX) this needs to be smarter, we can't distinguish between an empty // path return value (not sure if this is normally possible, but it is diff --git a/src/mixxxmainwindow.cpp b/src/mixxxmainwindow.cpp index bc902e1fc54b..84fb4c245d6a 100644 --- a/src/mixxxmainwindow.cpp +++ b/src/mixxxmainwindow.cpp @@ -11,7 +11,7 @@ #include #endif -#ifdef __LINUX__ +#if defined(__LINUX__) && !defined(__ANDROID__) #include #include #endif diff --git a/src/preferences/configobject.cpp b/src/preferences/configobject.cpp index 81709fada49b..e3758e3726e6 100644 --- a/src/preferences/configobject.cpp +++ b/src/preferences/configobject.cpp @@ -65,7 +65,7 @@ QString computeResourcePathImpl() { "'--resource-path '."); } } -#if defined(__UNIX__) +#if defined(__UNIX__) && !defined(__ANDROID__) else if (mixxxDir.cd(QStringLiteral("../share/mixxx"))) { qResourcePath = mixxxDir.absolutePath(); } @@ -75,6 +75,11 @@ QString computeResourcePathImpl() { else { qResourcePath = QCoreApplication::applicationDirPath(); } +#elif defined(__ANDROID__) + // On Android, use the QRC. + else { + qResourcePath = "assets:/"; + } #elif defined(Q_OS_IOS) // On iOS the bundle contains the resources directly. else { diff --git a/src/qml/qmlapplication.cpp b/src/qml/qmlapplication.cpp index 973c74ac4724..922048869925 100644 --- a/src/qml/qmlapplication.cpp +++ b/src/qml/qmlapplication.cpp @@ -95,16 +95,6 @@ QmlApplication::QmlApplication( // follows a strict singleton pattern design QmlDlgPreferencesProxy::s_pInstance = std::make_unique(pDlgPreferences, this); - loadQml(m_mainFilePath); - - m_pCoreServices->getControllerManager()->setUpDevices(); - - connect(&m_autoReload, - &QmlAutoReload::triggered, - this, - [this]() { - loadQml(m_mainFilePath); - }); const QStringList visualGroups = m_pCoreServices->getPlayerManager()->getVisualPlayerGroups(); @@ -122,6 +112,16 @@ QmlApplication::QmlApplication( m_visualsManager->addDeckIfNotExist(group); } }); + loadQml(m_mainFilePath); + + m_pCoreServices->getControllerManager()->setUpDevices(); + + connect(&m_autoReload, + &QmlAutoReload::triggered, + this, + [this]() { + loadQml(m_mainFilePath); + }); } QmlApplication::~QmlApplication() { diff --git a/src/soundio/sounddeviceportaudio.cpp b/src/soundio/sounddeviceportaudio.cpp index 345d0e8aec5a..770eda992ac8 100644 --- a/src/soundio/sounddeviceportaudio.cpp +++ b/src/soundio/sounddeviceportaudio.cpp @@ -5,6 +5,7 @@ #include #include #include +#include #include "control/controlobject.h" #include "sounddevicenetwork.h" @@ -27,6 +28,11 @@ #include #endif +#ifdef PA_USE_OBOE +// for PaOboe_InitializeStreamInfo +#include +#endif + namespace { // Buffer for drift correction 1 full, 1 for r/w, 1 empty @@ -241,7 +247,24 @@ SoundDeviceStatus SoundDevicePortAudio::open(bool isClkRefDevice, int syncBuffer m_outputParams.device = m_deviceId.portAudioIndex; m_outputParams.sampleFormat = paFloat32; m_outputParams.suggestedLatency = bufferMSec / 1000.0; - m_outputParams.hostApiSpecificStreamInfo = nullptr; +#ifdef PA_USE_OBOE + PaOboeStreamInfo obeoStreamInfo; + if (m_deviceTypeId == PaHostApiTypeId::paOboe) { + PaOboe_InitializeStreamInfo(&obeoStreamInfo); + obeoStreamInfo.androidOutputUsage = PaOboe_Usage::Media, + obeoStreamInfo.androidInputPreset = PaOboe_InputPreset::Generic, + obeoStreamInfo.performanceMode = PaOboe_PerformanceMode::LowLatency, + obeoStreamInfo.sharingMode = PaOboe_SharingMode::Exclusive, + obeoStreamInfo.contentType = PaOboe_ContentType::Music, + obeoStreamInfo.packageName = ANDROID_PACKAGE_NAME; + + m_outputParams.hostApiSpecificStreamInfo = (void*)&obeoStreamInfo; + } else { +#endif + m_outputParams.hostApiSpecificStreamInfo = nullptr; +#ifdef PA_USE_OBOE + } +#endif m_inputParams.device = m_deviceId.portAudioIndex; m_inputParams.sampleFormat = paFloat32; diff --git a/src/soundio/soundmanager.cpp b/src/soundio/soundmanager.cpp index 4241696aa37d..4dd83adc7d66 100644 --- a/src/soundio/soundmanager.cpp +++ b/src/soundio/soundmanager.cpp @@ -25,6 +25,12 @@ #ifdef Q_OS_IOS #include "soundio/soundmanagerios.h" +#elif defined(Q_OS_ANDROID) +#include +#include +#include + +#include #endif typedef PaError (*SetJackClientName)(const char *name); @@ -121,6 +127,9 @@ QList SoundManager::getDeviceList( // make sure to include any devices that have >0 channels. const bool hasOutputs = pDevice->getNumOutputChannels().isValid(); const bool hasInputs = pDevice->getNumInputChannels().isValid(); + qDebug() << "SoundManager::getDeviceList" << pDevice->getHostAPI() + << filterAPI << pDevice->getNumOutputChannels() + << pDevice->getNumInputChannels(); if (pDevice->getHostAPI() != filterAPI || (bOutputDevices && !bInputDevices && !hasOutputs) || (bInputDevices && !bOutputDevices && !hasInputs) || @@ -257,7 +266,7 @@ QList SoundManager::getSampleRates() const { } void SoundManager::queryDevices() { - //qDebug() << "SoundManager::queryDevices()"; + qDebug() << "SoundManager::queryDevices()"; queryDevicesPortaudio(); queryDevicesMixxx(); @@ -274,11 +283,122 @@ void SoundManager::clearAndQueryDevices() { void SoundManager::queryDevicesPortaudio() { PaError err = paNoError; if (!m_paInitialized) { -#ifdef Q_OS_LINUX +#if defined(Q_OS_LINUX) && !defined(Q_OS_ANDROID) setJACKName(); #endif #ifdef Q_OS_IOS mixxx::initializeAVAudioSession(); +#elif defined(Q_OS_ANDROID) + QNativeInterface::QAndroidApplication::runOnAndroidMainThread([]() { + QJniObject context = QNativeInterface::QAndroidApplication::context(); + QJniObject AUDIO_SERVICE = + QJniObject::getStaticObjectField( + "android/content/Context", + "AUDIO_SERVICE", + "Ljava/lang/String;"); + auto audioManager = context.callObjectMethod("getSystemService", + "(Ljava/lang/String;)Ljava/lang/Object;", + AUDIO_SERVICE.object()); + if (!audioManager.isValid()) { + qDebug() << "audioManager invalid"; + return; + } + qDebug() << "audioManager valid:" << audioManager.toString(); + + jint GET_DEVICES_INPUTS = + QJniObject::getStaticField( + "android/media/AudioManager", + "GET_DEVICES_INPUTS"); + jint GET_DEVICES_OUTPUTS = + QJniObject::getStaticField( + "android/media/AudioManager", + "GET_DEVICES_OUTPUTS"); + + auto const isSupported = [](int type) { + switch (type) { + case 1: // AudioDeviceInfo.TYPE_BUILTIN_EARPIECE + case 2: // AudioDeviceInfo.TYPE_BUILTIN_SPEAKER + case 3: // AudioDeviceInfo.TYPE_WIRED_HEADSET + case 8: // AudioDeviceInfo.TYPE_BLUETOOTH_A2DP + case 11: // AudioDeviceInfo.TYPE_USB_DEVICE + case 22: // AudioDeviceInfo.TYPE_USB_HEADSET + case 9: // AudioDeviceInfo.TYPE_HDMI + case 10: // AudioDeviceInfo.TYPE_HDMI_ARC + case 13: // AudioDeviceInfo.TYPE_DOCK + case 15: // AudioDeviceInfo.TYPE_BUILTIN_MIC + case 12: // AudioDeviceInfo.TYPE_USB_ACCESSORY + case 26: // AudioDeviceInfo.TYPE_BLE_HEADSET + case 27: // AudioDeviceInfo.TYPE_BLE_SPEAKER + case 23: // AudioDeviceInfo.TYPE_HEARING_AID + case 25: // AudioDeviceInfo.TYPE_REMOTE_SUBMIX: + // supported + return true; + default: + // unsupported + break; + } + return false; + }; + + auto const parse = [isSupported](PaOboe_Direction direction, + QJniArray& devices) { + for (const auto& device : devices) { + jint type = device->callMethod("getType"); + if (!isSupported(type)) { + continue; + } + QString name = device->callObjectMethod("getProductName", + "()Ljava/lang/CharSequence;") + .toString(); + auto channelCounts = device->callMethod>("getChannelCounts"); + int channelCount = *std::max_element( + channelCounts.begin(), channelCounts.end()); + auto sampleRates = device->callMethod>("getSampleRates"); + qDebug() << "audioManager - Type:" << type + << "- Name:" << name + << "- ChannelCount:" << channelCount + << channelCounts.size(); + if (!sampleRates.isEmpty()) { + int sampleRate = *sampleRates.cbegin(); + qDebug() << "audioManager - SampleRates:" << sampleRate; + PaOboe_RegisterDevice(name.toStdString().c_str(), + direction, + channelCount, + sampleRate); + } + } + }; + + auto inputDevices = + audioManager.callMethod>("getDevices", + "(I)[Landroid/media/AudioDeviceInfo;", + GET_DEVICES_INPUTS); + qDebug() << "audioManager inputDevices:" << inputDevices.size(); + parse(PaOboe_Direction::Input, inputDevices); + + auto outputDevices = + audioManager.callMethod>("getDevices", + "(I)[Landroid/media/AudioDeviceInfo;", + GET_DEVICES_OUTPUTS); + qDebug() << "audioManager outputDevices:" << outputDevices.size(); + parse(PaOboe_Direction::Output, outputDevices); + + QJniObject PROPERTY_OUTPUT_FRAMES_PER_BUFFER = + QJniObject::getStaticField( + "android/media/AudioManager", + "PROPERTY_OUTPUT_FRAMES_PER_BUFFER"); + auto outputFramePerBuffer = + audioManager + .callMethod("getProperty", + "(Ljava/lang/String;)Ljava/lang/String;", + PROPERTY_OUTPUT_FRAMES_PER_BUFFER) + .toString() + .toUInt(); + qDebug() << "audioManager outputFramePerBuffer:" << outputFramePerBuffer; + PaOboe_SetNativeBufferSize(outputFramePerBuffer); + }).waitForFinished(); + PaOboe_SetNumberOfBuffers(1); + #endif err = Pa_Initialize(); m_paInitialized = true; @@ -291,9 +411,14 @@ void SoundManager::queryDevicesPortaudio() { int iNumDevices = Pa_GetDeviceCount(); if (iNumDevices < 0) { - qDebug() << "ERROR: Pa_CountDevices returned" << iNumDevices; + qDebug() << "ERROR: Pa_CountDevices returned" << Pa_GetErrorText(iNumDevices); return; + } else if (iNumDevices == 0) { + qWarning() << "Pa_CountDevices returned no devices!"; + } else { + qDebug() << "Pa_CountDevices found" << iNumDevices << "devices"; } + qDebug() << "Pa_GetHostApiCount returns" << Pa_GetHostApiCount(); // PaDeviceInfo structs have a PaHostApiIndex member, but PortAudio // unfortunately provides no good way to associate this with a persistent, @@ -310,6 +435,7 @@ void SoundManager::queryDevicesPortaudio() { const PaDeviceInfo* deviceInfo; for (int i = 0; i < iNumDevices; i++) { deviceInfo = Pa_GetDeviceInfo(i); + qDebug() << "Pa_GetDeviceInfo on" << i << deviceInfo; if (!deviceInfo) { continue; } diff --git a/src/util/cmdlineargs.cpp b/src/util/cmdlineargs.cpp index 1dfdc4cb2549..51931952ea47 100644 --- a/src/util/cmdlineargs.cpp +++ b/src/util/cmdlineargs.cpp @@ -69,10 +69,12 @@ CmdlineArgs::CmdlineArgs() m_logFlushLevel(mixxx::kLogFlushLevelDefault), m_logMaxFileSize(mixxx::kLogMaxFileSizeDefault), // We are not ready to switch to XDG folders under Linux, so keeping $HOME/.mixxx as preferences folder. see #8090 +#if defined(__LINUX__) #ifdef MIXXX_SETTINGS_PATH m_settingsPath(QDir::homePath().append("/").append(MIXXX_SETTINGS_PATH)) -#elif defined(__LINUX__) +#else #error "We are not ready to switch to XDG folders under Linux" +#endif #elif defined(Q_OS_IOS) // On iOS we intentionally use a user-accessible subdirectory of the sandbox // documents directory rather than the default app data directory. Specifically diff --git a/src/util/desktophelper.cpp b/src/util/desktophelper.cpp index 8cf849ba68ac..8124d27d7a0f 100644 --- a/src/util/desktophelper.cpp +++ b/src/util/desktophelper.cpp @@ -7,7 +7,7 @@ #include #include -#ifdef Q_OS_LINUX +#if defined(Q_OS_LINUX) && !defined(Q_OS_ANDROID) #include #include #include @@ -24,6 +24,9 @@ QString getSelectInFileBrowserCommand() { return "open -R"; #elif defined(Q_OS_WIN) return "explorer.exe /select,"; +#elif defined(Q_OS_ANDROID) + // TODO emit android intent + return ""; #elif defined(Q_OS_LINUX) QProcess proc; QString output; @@ -58,7 +61,7 @@ QString removeChildDir(const QString& path) { return path.left(index); } -#ifdef Q_OS_LINUX +#if defined(Q_OS_LINUX) && !defined(Q_OS_ANDROID) bool selectInFreedesktop(const QString& path) { const QUrl fileurl = QUrl::fromLocalFile(path); const QStringList args(fileurl.toString()); @@ -125,7 +128,7 @@ void DesktopHelper::openInFileBrowser(const QStringList& paths) { if (fileInfo.exists()) { // Tryto select the file -#ifdef Q_OS_LINUX +#if defined(Q_OS_LINUX) && !defined(Q_OS_ANDROID) if (sSelectInFileBrowserCommand == kSelectInFreedesktop) { if (selectInFreedesktop(path)) { openedDirs.insert(dirPath); diff --git a/src/util/screensaver.cpp b/src/util/screensaver.cpp index c403c3c10400..896fb52dd714 100644 --- a/src/util/screensaver.cpp +++ b/src/util/screensaver.cpp @@ -26,6 +26,10 @@ With the help of the following source codes: # include "util/mac.h" #elif defined(Q_OS_IOS) #include "util/screensaverios.h" +#elif defined(Q_OS_ANDROID) +#include +#include +#define HAS_XWINDOW_SCREENSAVER 0 #elif defined(_WIN32) # include #elif defined(__LINUX__) @@ -347,6 +351,52 @@ void ScreenSaverHelper::inhibitInternal() { } void ScreenSaverHelper::uninhibitInternal() { } +#elif defined(Q_OS_ANDROID) + +QJniObject ScreenSaverHelper::s_wakeLock = {}; +// Screensavers are not supported +void ScreenSaverHelper::triggerUserActivity() { +} +void ScreenSaverHelper::inhibitInternal() { + if (!ScreenSaverHelper::s_wakeLock.isValid()) { + QJniObject context = QNativeInterface::QAndroidApplication::context(); + QJniObject POWER_SERVICE = + QJniObject::getStaticObjectField( + "android/content/Context", + "POWER_SERVICE", + "Ljava/lang/String;"); + auto powerService = context.callObjectMethod("getSystemService", + "(Ljava/lang/String;)Ljava/lang/Object;", + POWER_SERVICE.object()); + if (!powerService.isValid()) { + qDebug() << "powerService invalid"; + return; + } + + jint FULL_WAKE_LOCK = + QJniObject::getStaticField( + "android/os/PowerManager", + "FULL_WAKE_LOCK"); + ScreenSaverHelper::s_wakeLock = + powerService.callObjectMethod("newWakeLock", + "(ILjava/lang/String;)Landroid/os/PowerManager$WakeLock;", + FULL_WAKE_LOCK, + QJniObject::fromString("Mixxx").object()); + if (!ScreenSaverHelper::s_wakeLock.isValid()) { + __android_log_print(ANDROID_LOG_WARN, "mixxx", "powerService wakeLock invalid"); + qWarning() << "ScreenSaverHelper::inhibitInternal - wakeLock invalid"; + return; + } + } + ScreenSaverHelper::s_wakeLock.callMethod("acquire"); +} +void ScreenSaverHelper::uninhibitInternal() { + // QNativeInterface::QAndroidApplication::runOnAndroidMainThread([]() { + if (ScreenSaverHelper::s_wakeLock.isValid()) { + ScreenSaverHelper::s_wakeLock.callMethod("release"); + } + // }).waitForFinished(); +} #else void ScreenSaverHelper::triggerUserActivity() { diff --git a/src/util/screensaver.h b/src/util/screensaver.h index a1f5048d6aba..191a103caa44 100644 --- a/src/util/screensaver.h +++ b/src/util/screensaver.h @@ -29,6 +29,8 @@ class ScreenSaverHelper { /* sleep management */ static IOPMAssertionID s_systemSleepAssertionID; static IOPMAssertionID s_userActivityAssertionID; +#elif defined(Q_OS_ANDROID) + static QJniObject s_wakeLock; #elif defined(Q_OS_LINUX) static uint32_t s_cookie; static int s_saverindex; diff --git a/src/waveform/waveformwidgetfactory.cpp b/src/waveform/waveformwidgetfactory.cpp index 0de8551a12cd..5f59e5045102 100644 --- a/src/waveform/waveformwidgetfactory.cpp +++ b/src/waveform/waveformwidgetfactory.cpp @@ -10,6 +10,9 @@ #include #include #endif +#ifdef Q_OS_ANDROID +#include +#endif #include #include diff --git a/src/widget/wspinnyglsl.cpp b/src/widget/wspinnyglsl.cpp index 6199f848e1de..3515e78a96c3 100644 --- a/src/widget/wspinnyglsl.cpp +++ b/src/widget/wspinnyglsl.cpp @@ -84,7 +84,11 @@ void WSpinnyGLSL::updateVinylSignalQualityImage( 0, m_iVinylScopeSize, m_iVinylScopeSize, +#if defined(GL_RED) GL_RED, +#else + GL_RED_EXT, +#endif GL_UNSIGNED_BYTE, data); m_qTexture.release(); diff --git a/tools/android_buildenv.sh b/tools/android_buildenv.sh new file mode 100755 index 000000000000..858be57576fb --- /dev/null +++ b/tools/android_buildenv.sh @@ -0,0 +1,139 @@ +#!/usr/bin/env bash +# Ignored in case of a source call, but needed for bash specific sourcing detection + +set -o pipefail + +# shellcheck disable=SC2091 +if [ -z "${GITHUB_ENV}" ] && ! $(return 0 2>/dev/null); then + echo "This script must be run by sourcing it:" + echo "source $0 $*" + exit 1 +fi + +realpath() { + OLDPWD="${PWD}" + cd "$1" || exit 1 + pwd + cd "${OLDPWD}" || exit 1 +} + +# Get script file location, compatible with bash and zsh +if [ -n "$BASH_VERSION" ]; then + THIS_SCRIPT_NAME="${BASH_SOURCE[0]}" +elif [ -n "$ZSH_VERSION" ]; then + # shellcheck disable=SC2296 + THIS_SCRIPT_NAME="${(%):-%N}" +else + THIS_SCRIPT_NAME="$0" +fi + +HOST_ARCH=$(uname -m) # One of x86_64, arm64, i386, ppc or ppc64 + +if [ "$HOST_ARCH" == "x86_64" ]; then + if [ -n "${BUILDENV_RELEASE}" ]; then + echo "ERROR: No release VCPKG for Android yet!" + exit 1 + else + VCPKG_TARGET_TRIPLET="arm64-android" + BUILDENV_BRANCH="2.7" + BUILDENV_NAME="mixxx-deps-2.7-arm64-android-9dcfaf7" + BUILDENV_SHA256="0821e7d4f6b989ed5acc3c9a8dafa00f479d9d8bfc8dea9f9b512816070c9bba" + fi +else + echo "ERROR: Unsupported architecture detected: $HOST_ARCH" + echo "Please refer to the following guide to manually build the vcpkg environment:" + echo "https://github.com/mixxxdj/mixxx/wiki/Compiling-dependencies-for-android" + exit 1 +fi + +BUILDENV_URL="https://downloads.mixxx.org/dependencies/${BUILDENV_BRANCH}/Linux/${BUILDENV_NAME}.zip" +MIXXX_ROOT="$(realpath "$(dirname "$THIS_SCRIPT_NAME")/..")" +ANDROID_API=35 +ANDROID_VERSION=35.0.0 +ANDROID_NDK=27.2.12479018 + +[ -z "$BUILDENV_BASEPATH" ] && BUILDENV_BASEPATH="${MIXXX_ROOT}/buildenv" + +case "$1" in + name) + if [ -n "${GITHUB_ENV}" ]; then + echo "BUILDENV_NAME=$BUILDENV_NAME" >> "${GITHUB_ENV}" + else + echo "$BUILDENV_NAME" + fi + ;; + + setup) + sudo apt-get install -y --no-install-recommends -- \ + ccache \ + cmake \ + make \ + build-essential \ + '^libxcb.*-dev' \ + autoconf \ + autoconf-archive \ + bison \ + flex \ + google-android-cmdline-tools-13.0-installer \ + libasound2-dev \ + libegl1-mesa-dev \ + libghc-resolv-dev \ + libglu1-mesa-dev \ + libltdl-dev \ + libx11-xcb-dev \ + libxi-dev \ + libxkbcommon-dev \ + libxkbcommon-x11-dev \ + libxrender-dev \ + linux-libc-dev \ + openjdk-17-jdk \ + pkg-config \ + python3-jinja2 + yes | sudo sdkmanager --licenses + sudo sdkmanager "platforms;android-${ANDROID_API}" "platform-tools" "build-tools;${ANDROID_VERSION}" "ndk;${ANDROID_NDK}" + ANDROID_SDK=/usr/lib/android-sdk + ANDROID_NDK_HOME=/usr/lib/android-sdk/ndk/${ANDROID_NDK} + JAVA_HOME=$(find /usr/lib/jvm -maxdepth 1 -name 'java-17-openjdk*') + export ANDROID_SDK + export ANDROID_NDK_HOME + export JAVA_HOME + BUILDENV_PATH="${BUILDENV_BASEPATH}/${BUILDENV_NAME}" + + export BUILDENV_NAME + export BUILDENV_BASEPATH + export BUILDENV_URL + export BUILDENV_SHA256 + export MIXXX_VCPKG_ROOT="${BUILDENV_PATH}" + export VCPKG_TARGET_TRIPLET="${VCPKG_TARGET_TRIPLET}" + + echo_exported_variables() { + echo "ANDROID_SDK=${ANDROID_SDK}" + echo "ANDROID_NDK_HOME=${ANDROID_NDK_HOME}" + echo "JAVA_HOME=${JAVA_HOME}" + echo "BUILDENV_NAME=${BUILDENV_NAME}" + echo "BUILDENV_BASEPATH=${BUILDENV_BASEPATH}" + echo "BUILDENV_URL=${BUILDENV_URL}" + echo "BUILDENV_SHA256=${BUILDENV_SHA256}" + echo "MIXXX_VCPKG_ROOT=${MIXXX_VCPKG_ROOT}" + echo "VCPKG_TARGET_TRIPLET=${VCPKG_TARGET_TRIPLET}" + } + + if [ -n "${GITHUB_ENV}" ]; then + echo_exported_variables >> "${GITHUB_ENV}" + elif [ "$1" != "--profile" ]; then + echo "" + echo "Exported environment variables:" + echo_exported_variables + echo "You can now configure cmake from the command line in an EMPTY build directory via:" + echo "cmake -DCMAKE_TOOLCHAIN_FILE=${MIXXX_VCPKG_ROOT}/scripts/buildsystems/vcpkg.cmake -DCMAKE_SYSTEM_NAME=Android ${MIXXX_ROOT}" + fi + ;; + *) + echo "Usage: source android_buildenv.sh [options]" + echo "" + echo "options:" + echo " help Displays this help." + echo " name Displays the name of the required build environment." + echo " setup Setup the build environment variables for download during CMake configuration and install the build environment." + ;; +esac From d29b67995ef995b56cf26ceaa99a7ef7cb75727e Mon Sep 17 00:00:00 2001 From: Joerg Date: Sat, 22 Nov 2025 16:39:04 +0100 Subject: [PATCH 170/181] Replaced `QLatin1String` with `QStringLiteral` for improved performance and consistency in string comparisons and attribute lookups. Switched from `QString` to `QStringView` for lightweight, non-owning string handling in `xmlElementName` and `protocol` variables, reducing memory allocations. --- src/controllers/controllermappinginfo.cpp | 69 +++++++++++------------ 1 file changed, 34 insertions(+), 35 deletions(-) diff --git a/src/controllers/controllermappinginfo.cpp b/src/controllers/controllermappinginfo.cpp index 3ea0e6a6ed73..18821790dfad 100644 --- a/src/controllers/controllermappinginfo.cpp +++ b/src/controllers/controllermappinginfo.cpp @@ -39,11 +39,11 @@ MappingInfo::MappingInfo(const QFileInfo& fileInfo) { QXmlStreamReader::TokenType token = xml.readNext(); if (token == QXmlStreamReader::StartElement) { ++xmlHierachyDepth; - const QString xmlElementName = xml.name().toString(); + const QStringView xmlElementName = xml.name(); // Accept info block only as a top-level child of the document root // root element will have depth == 1, so its direct children have depth == 2 - if (!inInfo && xmlElementName == QLatin1String("info") && xmlHierachyDepth == 2) { + if (!inInfo && xmlElementName == QStringLiteral("info") && xmlHierachyDepth == 2) { inInfo = true; // We've found the info block; set valid now and start parsing children m_valid = true; @@ -52,37 +52,36 @@ MappingInfo::MappingInfo(const QFileInfo& fileInfo) { // Parse simple info children when inside the info block if (inInfo) { - if (xmlElementName == QLatin1String("name")) { + if (!inInfo && xmlElementName == QStringLiteral("info") && xmlHierachyDepth == 2) { m_name = xml.readElementText(); continue; - } else if (xmlElementName == QLatin1String("author")) { + } else if (xmlElementName == QStringLiteral("author")) { m_author = xml.readElementText(); continue; - } else if (xmlElementName == QLatin1String("description")) { + } else if (xmlElementName == QStringLiteral("description")) { m_description = xml.readElementText(); continue; - } else if (xmlElementName == QLatin1String("forums")) { + } else if (xmlElementName == QStringLiteral("forums")) { m_forumlink = xml.readElementText(); continue; - } else if (xmlElementName == QLatin1String("wiki")) { + } else if (xmlElementName == QStringLiteral("wiki")) { m_wikilink = xml.readElementText(); continue; - } else if (xmlElementName == QLatin1String("devices")) { + } else if (xmlElementName == QStringLiteral("devices")) { // Enter devices block inInfoDevices = true; continue; - } else if (inInfoDevices && xmlElementName == QLatin1String("product")) { + } else if (inInfoDevices && xmlElementName == QStringLiteral("product")) { QXmlStreamAttributes xmlElementAttributes = xml.attributes(); ProductInfo product; - QString protocol = xmlElementAttributes - .value(QLatin1String("protocol")) - .toString(); + QStringView protocol = xmlElementAttributes + .value(QStringLiteral("protocol")); - if (protocol == "hid") { + if (protocol == QStringLiteral("hid")) { product = parseHIDProduct(xml.attributes()); - } else if (protocol == "bulk") { + } else if (protocol == QStringLiteral("bulk")) { product = parseBulkProduct(xml.attributes()); - } else if (protocol == "midi") { + } else if (protocol == QStringLiteral("midi")) { qCInfo(kLogger) << "MIDI product info parsing not yet implemented"; } else { qCCritical(kLogger) @@ -100,14 +99,14 @@ MappingInfo::MappingInfo(const QFileInfo& fileInfo) { } else if (token == QXmlStreamReader::EndElement) { const QString name = xml.name().toString(); - if (inInfoDevices && name == QLatin1String("devices")) { + if (inInfoDevices && name == QStringLiteral("devices")) { inInfoDevices = false; --xmlHierachyDepth; continue; } - if (inInfo && name == QLatin1String("info")) { - // End of info block; we can stop parsing entirely - // This safes a lot of time + if (inInfo && name == QStringLiteral("info")) { + // End of info block; we stop file-reading/parsing entirely + // Stopping here safes several hundreds milliseconds of startup time break; } @@ -132,21 +131,21 @@ ProductInfo MappingInfo::parseBulkProduct(const QXmlStreamAttributes& xmlElement // All number strings must be hex prefixed with 0x ProductInfo productInfo; - productInfo.protocol = xmlElementAttributes.value(QLatin1String("protocol")).toString(); - productInfo.vendor_id = xmlElementAttributes.value(QLatin1String("vendor_id")).toString(); - productInfo.product_id = xmlElementAttributes.value(QLatin1String("product_id")).toString(); + productInfo.protocol = xmlElementAttributes.value(QStringLiteral("protocol")).toString(); + productInfo.vendor_id = xmlElementAttributes.value(QStringLiteral("vendor_id")).toString(); + productInfo.product_id = xmlElementAttributes.value(QStringLiteral("product_id")).toString(); // Check for HID-specific attributes which are not allowed for bulk protocol - if (xmlElementAttributes.hasAttribute(QLatin1String("usage_page"))) { + if (xmlElementAttributes.hasAttribute(QStringLiteral("usage_page"))) { qCCritical(kLogger) << "Product info element for bulk contains " "unallowed UsagePage attribute"; } - if (xmlElementAttributes.hasAttribute(QLatin1String("usage"))) { + if (xmlElementAttributes.hasAttribute(QStringLiteral("usage"))) { qCCritical(kLogger) << "Product info element for bulk contains unallowed Usage attribute"; } - productInfo.in_epaddr = xmlElementAttributes.value(QLatin1String("in_epaddr")).toString(); - productInfo.out_epaddr = xmlElementAttributes.value(QLatin1String("out_epaddr")).toString(); + productInfo.in_epaddr = xmlElementAttributes.value(QStringLiteral("in_epaddr")).toString(); + productInfo.out_epaddr = xmlElementAttributes.value(QStringLiteral("out_epaddr")).toString(); productInfo.interface_number = - xmlElementAttributes.value(QLatin1String("interface_number")) + xmlElementAttributes.value(QStringLiteral("interface_number")) .toString(); return productInfo; } @@ -157,22 +156,22 @@ ProductInfo MappingInfo::parseHIDProduct(const QXmlStreamAttributes& xmlElementA // All number strings must be hex prefixed with 0x ProductInfo productInfo; - productInfo.protocol = xmlElementAttributes.value(QLatin1String("protocol")).toString(); - productInfo.vendor_id = xmlElementAttributes.value(QLatin1String("vendor_id")).toString(); - productInfo.product_id = xmlElementAttributes.value(QLatin1String("product_id")).toString(); - productInfo.usage_page = xmlElementAttributes.value(QLatin1String("usage_page")).toString(); - productInfo.usage = xmlElementAttributes.value(QLatin1String("usage")).toString(); + productInfo.protocol = xmlElementAttributes.value(QStringLiteral("protocol")).toString(); + productInfo.vendor_id = xmlElementAttributes.value(QStringLiteral("vendor_id")).toString(); + productInfo.product_id = xmlElementAttributes.value(QStringLiteral("product_id")).toString(); + productInfo.usage_page = xmlElementAttributes.value(QStringLiteral("usage_page")).toString(); + productInfo.usage = xmlElementAttributes.value(QStringLiteral("usage")).toString(); // Check for bulk-specific attributes which are not allowed for hid protocol - if (xmlElementAttributes.hasAttribute(QLatin1String("in_epaddr"))) { + if (xmlElementAttributes.hasAttribute(QStringLiteral("in_epaddr"))) { qCCritical(kLogger) << "Product info element for hid contains " "unallowed in_epaddr attribute"; } - if (xmlElementAttributes.hasAttribute(QLatin1String("out_epaddr"))) { + if (xmlElementAttributes.hasAttribute(QStringLiteral("out_epaddr"))) { qCCritical(kLogger) << "Product info element for hid contains " "unallowed out_epaddr attribute"; } productInfo.interface_number = - xmlElementAttributes.value(QLatin1String("interface_number")) + xmlElementAttributes.value(QStringLiteral("interface_number")) .toString(); return productInfo; } From 243db9d1e285514a5ecb601487e3f4a93a10d44f Mon Sep 17 00:00:00 2001 From: "Antoine C." Date: Sat, 22 Nov 2025 19:39:19 +0000 Subject: [PATCH 171/181] chore: remove invalid POSIX base64 arg --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 86833c57d4ed..c9c349673a43 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -328,7 +328,7 @@ jobs: echo "QT_ANDROID_KEYSTORE_STORE_PASS=mixxxandroid" >> $GITHUB_ENV echo "QT_ANDROID_KEYSTORE_PATH=${{ github.workspace }}/mixxx.keystore" >> $GITHUB_ENV else - echo "${{ env.ANDROID_SIGNING_KEYSTORE_BASE64 }}" | base64 -d -o ${{ github.workspace }}/mixxx.keystore + echo "${{ env.ANDROID_SIGNING_KEYSTORE_BASE64 }}" | base64 -d > ${{ github.workspace }}/mixxx.keystore echo "QT_ANDROID_KEYSTORE_ALIAS=mixxx" >> $GITHUB_ENV echo "QT_ANDROID_KEYSTORE_KEY_PASS=${{ env.ANDROID_SIGNING_PASSWORD }}" >> $GITHUB_ENV echo "QT_ANDROID_KEYSTORE_STORE_PASS=${{ env.ANDROID_SIGNING_PASSWORD }}" >> $GITHUB_ENV From e1a0bd74cf1ca2d794b6b13762c3fa4e0db4aaac Mon Sep 17 00:00:00 2001 From: Joerg Date: Sat, 22 Nov 2025 23:03:56 +0100 Subject: [PATCH 172/181] Removed not needed include and fixed typo --- src/controllers/controllermappinginfo.cpp | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/controllers/controllermappinginfo.cpp b/src/controllers/controllermappinginfo.cpp index 18821790dfad..ca9c0a133b52 100644 --- a/src/controllers/controllermappinginfo.cpp +++ b/src/controllers/controllermappinginfo.cpp @@ -6,8 +6,6 @@ #include #include -#include "util/runtimeloggingcategory.h" - Q_LOGGING_CATEGORY(kLogger, "controllers.mappinginfo") MappingInfo::MappingInfo(const QFileInfo& fileInfo) { @@ -106,7 +104,7 @@ MappingInfo::MappingInfo(const QFileInfo& fileInfo) { } if (inInfo && name == QStringLiteral("info")) { // End of info block; we stop file-reading/parsing entirely - // Stopping here safes several hundreds milliseconds of startup time + // Stopping here saves several hundreds milliseconds of startup time break; } From 9d27a0f505c8bcf7b14169f2c49af8b4653697d0 Mon Sep 17 00:00:00 2001 From: Joerg Date: Sun, 23 Nov 2025 08:43:42 +0100 Subject: [PATCH 173/181] Added missing include --- src/controllers/dlgprefcontroller.h | 1 + 1 file changed, 1 insertion(+) diff --git a/src/controllers/dlgprefcontroller.h b/src/controllers/dlgprefcontroller.h index 546165356a30..34d02f324405 100644 --- a/src/controllers/dlgprefcontroller.h +++ b/src/controllers/dlgprefcontroller.h @@ -6,6 +6,7 @@ #include "controllers/controllerhidreporttabsmanager.h" #endif #include "controllers/controllermappinginfo.h" +#include "controllers/legacycontrollermapping.h" #include "controllers/midi/midimessage.h" #include "controllers/ui_dlgprefcontrollerdlg.h" #include "preferences/dialog/dlgpreferencepage.h" From 04eeb89cb1894dd6aa9737d6610bfcaf7e303b5d Mon Sep 17 00:00:00 2001 From: Joerg Date: Sat, 27 Sep 2025 00:04:02 +0200 Subject: [PATCH 174/181] Added testcase for QmlControlProxy->trigger() --- CMakeLists.txt | 1 + src/test/qmlcontrolproxytest.cpp | 67 ++++++++++++++++++++++++++++++++ 2 files changed, 68 insertions(+) create mode 100644 src/test/qmlcontrolproxytest.cpp diff --git a/CMakeLists.txt b/CMakeLists.txt index c346035ba195..bab534585ac9 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -2712,6 +2712,7 @@ if(BUILD_TESTING) PRIVATE src/test/controller_mapping_file_handler_test.cpp src/test/controllerrenderingengine_test.cpp + src/test/qmlcontrolproxytest.cpp ) endif() diff --git a/src/test/qmlcontrolproxytest.cpp b/src/test/qmlcontrolproxytest.cpp new file mode 100644 index 000000000000..9cb565f798d9 --- /dev/null +++ b/src/test/qmlcontrolproxytest.cpp @@ -0,0 +1,67 @@ +#include +#include + +#include +#include +#include + +#include "control/controlobject.h" +#include "qml/qmlcontrolproxy.h" +#include "test/mixxxtest.h" + +using namespace mixxx::qml; +using ::testing::ElementsAre; + +namespace { +constexpr int kTimeoutMillis = 100; +constexpr int kStepMs = 5; + +class QmlControlProxyTest : public MixxxTest { + protected: + void SetUp() override { + // Use a unique key for this test + m_key = ConfigKey("[TestQmlProxy]", "trigger_test"); + co = std::make_unique(m_key); + m_proxy = std::make_unique(); + m_proxy->setGroup(m_key.group); + m_proxy->setKey(m_key.item); + m_proxy->componentComplete(); + } + + void processEvents() { + // Ensure all queued events are processed + application()->processEvents(); + application()->processEvents(); + } + + ConfigKey m_key; + std::unique_ptr co; + std::unique_ptr m_proxy; +}; + +TEST_F(QmlControlProxyTest, TriggerEmitsValueChanged1Then0) { + QSignalSpy valueSpy(m_proxy.get(), &mixxx::qml::QmlControlProxy::valueChanged); + + // Initial value should be 0 + EXPECT_DOUBLE_EQ(m_proxy->getValue(), 0.0); + + m_proxy->trigger(); + + // Wait up to kTimeoutMillis for at least 2 signals + int waited = 0; + while (valueSpy.size() < 2 && waited < kTimeoutMillis) { + QCoreApplication::processEvents(QEventLoop::AllEvents, kStepMs); + QThread::msleep(kStepMs); + waited += kStepMs; + } + + // The first emission should be 1, the second should be 0 + ASSERT_GE(valueSpy.size(), 2); + EXPECT_DOUBLE_EQ(valueSpy.at(0).at(0).toDouble(), 1.0); + EXPECT_DOUBLE_EQ(valueSpy.at(1).at(0).toDouble(), 0.0); + + // The final value should be 0 + EXPECT_DOUBLE_EQ(m_proxy->getValue(), 0.0); +} + +} // namespace From d7816a3af9b43063d9aa5de6d699c21937f45087 Mon Sep 17 00:00:00 2001 From: JoergAtGithub <64457745+JoergAtGithub@users.noreply.github.com> Date: Sat, 22 Nov 2025 18:08:48 +0100 Subject: [PATCH 175/181] Use 2x setValue instead of one shot timer Co-authored-by: Antoine Colombier <7086688+acolombier@users.noreply.github.com> --- src/qml/qmlcontrolproxy.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/qml/qmlcontrolproxy.cpp b/src/qml/qmlcontrolproxy.cpp index b9310148c029..85f75018ac77 100644 --- a/src/qml/qmlcontrolproxy.cpp +++ b/src/qml/qmlcontrolproxy.cpp @@ -184,8 +184,7 @@ void QmlControlProxy::slotControlProxyValueChanged(double newValue) { void QmlControlProxy::trigger() { setValue(1); - // Use a single-shot timer to ensure the event loop processes the change - QTimer::singleShot(0, this, [this]() { setValue(0); }); + setValue(0); } } // namespace qml From 3fb0a39c755b17adf031c2afe841bb9e4963ac84 Mon Sep 17 00:00:00 2001 From: Joerg Date: Sun, 23 Nov 2025 15:51:14 +0100 Subject: [PATCH 176/181] Remove time base approach from test after removing singleshot timer in implementation --- src/test/qmlcontrolproxytest.cpp | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/src/test/qmlcontrolproxytest.cpp b/src/test/qmlcontrolproxytest.cpp index 9cb565f798d9..9d481ecda05c 100644 --- a/src/test/qmlcontrolproxytest.cpp +++ b/src/test/qmlcontrolproxytest.cpp @@ -13,8 +13,6 @@ using namespace mixxx::qml; using ::testing::ElementsAre; namespace { -constexpr int kTimeoutMillis = 100; -constexpr int kStepMs = 5; class QmlControlProxyTest : public MixxxTest { protected: @@ -46,14 +44,7 @@ TEST_F(QmlControlProxyTest, TriggerEmitsValueChanged1Then0) { EXPECT_DOUBLE_EQ(m_proxy->getValue(), 0.0); m_proxy->trigger(); - - // Wait up to kTimeoutMillis for at least 2 signals - int waited = 0; - while (valueSpy.size() < 2 && waited < kTimeoutMillis) { - QCoreApplication::processEvents(QEventLoop::AllEvents, kStepMs); - QThread::msleep(kStepMs); - waited += kStepMs; - } + QmlControlProxyTest::processEvents(); // The first emission should be 1, the second should be 0 ASSERT_GE(valueSpy.size(), 2); From c6e1daf1e6e88ec81aef4abd4b5a3df44df98a32 Mon Sep 17 00:00:00 2001 From: Joerg Date: Sun, 23 Nov 2025 16:26:34 +0100 Subject: [PATCH 177/181] Fix condition for Upload build to downloads.mixxx.org --- .github/workflows/build.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index c9c349673a43..c7a532cb4a31 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -637,9 +637,9 @@ jobs: ssh-keyscan "${SSH_HOST}" >> "${HOME}/.ssh/known_hosts" echo "SSH_AUTH_SOCK=${SSH_AUTH_SOCK}" >> "${GITHUB_ENV}" - - name: "[macOS/Windows] Upload build to downloads.mixxx.org" + - name: "[Android/macOS/Windows] Upload build to downloads.mixxx.org" # skip deploying Ubuntu builds to downloads.mixxx.org because these are deployed to the PPA - if: runner.os != 'Linux' && inputs.publish && env.SSH_AUTH_SOCK != null + if: startsWith(matrix.artifacts_slug, 'ubuntu') != true && inputs.publish && env.SSH_AUTH_SOCK != null shell: bash --login -eo pipefail "{0}" run: rsync --verbose --recursive --checksum --times --delay-updates "deploy/" "${SSH_USER}@${SSH_HOST}:${DESTDIR}/" env: From 92eed12cec02ca6aa015a5e3fbbfbe11e385d0ba Mon Sep 17 00:00:00 2001 From: "Antoine C." Date: Fri, 28 Nov 2025 08:51:35 +0000 Subject: [PATCH 178/181] ci(Android): update cache before installing deps --- tools/android_buildenv.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tools/android_buildenv.sh b/tools/android_buildenv.sh index 858be57576fb..0d2aafc9d1b7 100755 --- a/tools/android_buildenv.sh +++ b/tools/android_buildenv.sh @@ -1,7 +1,7 @@ #!/usr/bin/env bash # Ignored in case of a source call, but needed for bash specific sourcing detection -set -o pipefail +set -eo pipefail # shellcheck disable=SC2091 if [ -z "${GITHUB_ENV}" ] && ! $(return 0 2>/dev/null); then @@ -64,7 +64,7 @@ case "$1" in ;; setup) - sudo apt-get install -y --no-install-recommends -- \ + sudo apt-get update && sudo apt-get install -y --no-install-recommends -- \ ccache \ cmake \ make \ @@ -89,7 +89,7 @@ case "$1" in openjdk-17-jdk \ pkg-config \ python3-jinja2 - yes | sudo sdkmanager --licenses + (yes | sudo sdkmanager --licenses) || true sudo sdkmanager "platforms;android-${ANDROID_API}" "platform-tools" "build-tools;${ANDROID_VERSION}" "ndk;${ANDROID_NDK}" ANDROID_SDK=/usr/lib/android-sdk ANDROID_NDK_HOME=/usr/lib/android-sdk/ndk/${ANDROID_NDK} From bd5b37170283d1188591ae4869849ec6c8aca663 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Sch=C3=BCrmann?= Date: Mon, 1 Dec 2025 07:57:34 +0100 Subject: [PATCH 179/181] Update Translation template. Found 3325 source text(s) (97 new and 3228 already existing) --- res/translations/mixxx.ts | 3837 +++++++++++++++++++++---------------- 1 file changed, 2172 insertions(+), 1665 deletions(-) diff --git a/res/translations/mixxx.ts b/res/translations/mixxx.ts index 752dc57f3845..54d406045ac6 100644 --- a/res/translations/mixxx.ts +++ b/res/translations/mixxx.ts @@ -10,6 +10,14 @@ + + AllTrackLibraryFeature + + + All... + + + AnalysisFeature @@ -21,52 +29,52 @@ AutoDJFeature - + Crates - + Enable Auto DJ - + Disable Auto DJ - + Clear Auto DJ Queue - + Remove Crate as Track Source - + Auto DJ - + Confirmation Clear - + Do you really want to remove all tracks from the Auto DJ queue? - + This can not be undone. - + Add Crate as Track Source @@ -223,7 +231,7 @@ - + Export Playlist @@ -277,13 +285,13 @@ - + Playlist Creation Failed - + An unknown error occurred while creating playlist: @@ -298,12 +306,12 @@ - + M3U Playlist (*.m3u) - + M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Text CSV (*.csv);;Readable Text (*.txt) @@ -311,12 +319,12 @@ BaseSqlTableModel - + # - + Timestamp @@ -324,7 +332,7 @@ BaseTrackPlayerImpl - + Couldn't load track. @@ -362,7 +370,7 @@ - + Color @@ -377,7 +385,7 @@ - + Cover Art @@ -387,7 +395,7 @@ - + Last Played @@ -417,7 +425,7 @@ - + Location @@ -427,7 +435,7 @@ - + Preview @@ -467,7 +475,7 @@ - + Fetching image ... Tooltip text on the cover art column shown when the cover is read from disk @@ -489,22 +497,22 @@ BroadcastProfile - + Can't use secure password storage: keychain access failed. - + Secure password retrieval unsuccessful: keychain access failed. - + Settings error - + <b>Error with settings for '%1':</b><br> @@ -592,7 +600,7 @@ - + Computer @@ -612,17 +620,17 @@ - + "Computer" lets you navigate, view, and load tracks from folders on your hard disk and external devices. - + It shows the data from the file tags, not track data from your Mixxx library like other track views. - + If you load a track file from here, it will be added to your library. @@ -735,12 +743,12 @@ - + Mixxx Library - + Could not load the following file because it is in use by Mixxx or another application. @@ -771,87 +779,92 @@ CmdlineArgs - + Mixxx is an open source DJ software. For more information, see: - + Starts Mixxx in full-screen mode - + Use a custom locale for loading translations. (e.g 'fr') - + Top-level directory where Mixxx should look for its resource files such as MIDI mappings, overriding the default installation location. - + Path the debug statistics time line is written to - + Causes Mixxx to display/log all of the controller data it receives and script functions it loads - + The controller mapping will issue more aggressive warnings and errors when detecting misuse of controller APIs. New Controller Mappings should be developed with this option enabled! - + Enables developer-mode. Includes extra log info, stats on performance, and a Developer tools menu. - + Top-level directory where Mixxx should look for settings. Default is: - + Starts Auto DJ when Mixxx is launched. - + Rescans the library when Mixxx is launched. - + Use legacy vu meter - + Use legacy spinny - - Loads experimental QML GUI instead of legacy QWidget skin + + Loads the highly unstable 3.0 Mixxx interface, based on QML. You need to use a new setting profile, or run with 'allow-dangerous-data-corruption-risk' to use with the current one. We highly recommend backing up your data if you do so. - + + Force Mixxx to load an unstable version with an existing user profile from a stable version + + + + Enables safe-mode. Disables OpenGL waveforms, and spinning vinyl widgets. Try this option if Mixxx is crashing on startup. - + [auto|always|never] Use colors on the console output. - + Sets the verbosity of command line logging. critical - Critical/Fatal only warning - Above + Warnings @@ -861,32 +874,32 @@ trace - Above + Profiling messages - + Sets the the logging level at which the log buffer is flushed to mixxx.log. <level> is one of the values defined at --log-level above. - + Sets the maximum file size of the mixxx.log file in bytes. Use -1 for unlimited. The default is 100 MB as 1e5 or 100000000. - + Breaks (SIGINT) Mixxx, if a DEBUG_ASSERT evaluates to false. Under a debugger you can continue afterwards. - + Overrides the default application GUI style. Possible values: %1 - + Load the specified music file(s) at start-up. Each file you specify will be loaded into the next virtual deck. - + Preview rendered controller screens in the Setting windows. @@ -979,2557 +992,2585 @@ trace - Above + Profiling messages ControlPickerMenu - + Headphone Output - - - + + + + Deck %1 + %1 is the deck number 1 ... 4 - + Sampler %1 - + Preview Deck %1 - + Microphone %1 - + Auxiliary %1 - + Reset to default - + Effect Rack %1 - + Parameter %1 - + Mixer - - + + Crossfader - + Headphone mix (pre/main) - + Toggle headphone split cueing - + Headphone delay - + Transport - + Strip-search through track - + Play button - - + + Set to full volume - - + + Set to zero volume - + Stop button - + Jump to start of track and play - + Jump to end of track - + Reverse roll (Censor) button - + Headphone listen button - - + + Mute button - + Toggle repeat mode - - + + Mix orientation (e.g. left, right, center) - - + + Set mix orientation to left - - + + Set mix orientation to center - - + + Set mix orientation to right - + Toggle slip mode - - + + BPM - + Increase BPM by 1 - + Decrease BPM by 1 - + Increase BPM by 0.1 - + Decrease BPM by 0.1 - + BPM tap button - + Toggle quantize mode - + One-time beat sync (tempo only) - + One-time beat sync (phase only) - + Toggle keylock mode - + Equalizers - + Vinyl Control - + Toggle vinyl-control cueing mode (OFF/ONE/HOT) - + Toggle vinyl-control mode (ABS/REL/CONST) - + Pass through external audio into the internal mixer - + Cues - + Cue button - + Set cue point - + Go to cue point - + Go to cue point and play - + Go to cue point and stop - + Preview from cue point - + Cue button (CDJ mode) - + Stutter cue - + Hotcues - + Set, preview from or jump to hotcue %1 - + Clear hotcue %1 - + Set hotcue %1 - + Jump to hotcue %1 - + Jump to hotcue %1 and stop - + Jump to hotcue %1 and play - + Preview from hotcue %1 - - + + Hotcue %1 - + Looping - + Loop In button - + Loop Out button - + Loop Exit button - + 1/2 - + 1 - + 2 - + 4 - + 8 - + 16 - + 32 - + 64 - + Move loop forward by %1 beats - + Move loop backward by %1 beats - + Create %1-beat loop - + Create temporary %1-beat loop roll - + Library - + Slot %1 - + Headphone Mix - + Headphone Split Cue - + Headphone Delay - + Play - + Fast Rewind - + Fast Rewind button - + Fast Forward - + Fast Forward button - + Strip Search - + Play Reverse - + Play Reverse button - + Reverse Roll (Censor) - + Jump To Start - + Jumps to start of track - + Play From Start - + Stop - + Stop And Jump To Start - + Stop playback and jump to start of track - + Jump To End - + Volume - - - + + + Volume Fader - - + + Full Volume - - + + Zero Volume - + Track Gain - + Track Gain knob - - + + Mute - + Eject - - + + Headphone Listen - + Headphone listen (pfl) button - + Repeat Mode - + Slip Mode - - + + Orientation - - + + Orient Left - - + + Orient Center - - + + Orient Right - + BPM +1 - + BPM -1 - + BPM +0.1 - + BPM -0.1 - + BPM Tap - + Adjust Beatgrid Faster +.01 - + Increase track's average BPM by 0.01 - + Adjust Beatgrid Slower -.01 - + Decrease track's average BPM by 0.01 - + Move Beatgrid Earlier - + Adjust the beatgrid to the left - + Move Beatgrid Later - + Adjust the beatgrid to the right - + Adjust Beatgrid - + Align beatgrid to current position - + Adjust Beatgrid - Match Alignment - + Adjust beatgrid to match another playing deck. - + Quantize Mode - + Sync - + Beat Sync One-Shot - + Sync Tempo One-Shot - + Sync Phase One-Shot - + Pitch control (does not affect tempo), center is original pitch - + Pitch Adjust - + Adjust pitch from speed slider pitch - + Match musical key - + Match Key - + Reset Key - + Resets key to original - + High EQ - + Mid EQ - - + + Main Output - + Main Output Balance - + Main Output Delay - + Main Output Gain - + Low EQ - + Toggle Vinyl Control - + Toggle Vinyl Control (ON/OFF) - + Vinyl Control Mode - + Vinyl Control Cueing Mode - + Vinyl Control Passthrough - + Vinyl Control Next Deck - + Single deck mode - Switch vinyl control to next deck - + Cue - + Set Cue - + Go-To Cue - + Go-To Cue And Play - + Go-To Cue And Stop - + Preview Cue - + Cue (CDJ Mode) - + Stutter Cue - + Go to cue point and play after release - + Clear Hotcue %1 - + Set Hotcue %1 - + Jump To Hotcue %1 - + Jump To Hotcue %1 And Stop - + Jump To Hotcue %1 And Play - + Preview Hotcue %1 - + Loop In - + Loop Out - + Loop Exit - + Reloop/Exit Loop - + Loop Halve - + Loop Double - + 1/32 - + 1/16 - + 1/8 - + 1/4 - + Move Loop +%1 Beats - + Move Loop -%1 Beats - + Loop %1 Beats - + Loop Roll %1 Beats - + Add to Auto DJ Queue (bottom) - + Append the selected track to the Auto DJ Queue - + Add to Auto DJ Queue (top) - + Prepend selected track to the Auto DJ Queue - + Load Track - + Load selected track - + Load selected track and play - - + + Record Mix - + Toggle mix recording - + Effects - - Quick Effects - - - - + Deck %1 Quick Effect Super Knob - + + Quick Effect Super Knob (control linked effect parameters) - - + + + + Quick Effect - + Clear Unit - + Clear effect unit - + Toggle Unit - + Dry/Wet - + Adjust the balance between the original (dry) and processed (wet) signal. - + Super Knob - + Next Chain - + Assign - + Clear - + Clear the current effect - + Toggle - + Toggle the current effect - + Next - + Switch to next effect - + Previous - + Switch to the previous effect - + Next or Previous - + Switch to either next or previous effect - - + + Parameter Value - - + + Microphone Ducking Strength - + Microphone Ducking Mode - + Gain - + Gain knob - + Shuffle the content of the Auto DJ queue - + Skip the next track in the Auto DJ queue - + Auto DJ Toggle - + Toggle Auto DJ On/Off - + Show/hide the microphone & auxiliary section - + 4 Effect Units Show/Hide - + Switches between showing 2 and 4 effect units - + Mixer Show/Hide - + Show or hide the mixer. - + Cover Art Show/Hide (Library) - + Show/hide cover art in the library - + Library Maximize/Restore - + Maximize the track library to take up all the available screen space. - + Effect Rack Show/Hide - + Show/hide the effect rack - + Waveform Zoom Out - + Headphone Gain - + Headphone gain - + Tap to sync tempo (and phase with quantize enabled), hold to enable permanent sync - + One-time beat sync tempo (and phase with quantize enabled) - + Playback Speed - + Playback speed control (Vinyl "Pitch" slider) - + Pitch (Musical key) - + Increase Speed - + Adjust speed faster (coarse) - + Increase Speed (Fine) - + Adjust speed faster (fine) - + Decrease Speed - + Adjust speed slower (coarse) - + Adjust speed slower (fine) - + Temporarily Increase Speed - + Temporarily increase speed (coarse) - + Temporarily Increase Speed (Fine) - + Temporarily increase speed (fine) - + Temporarily Decrease Speed - + Temporarily decrease speed (coarse) - + Temporarily Decrease Speed (Fine) - + Temporarily decrease speed (fine) - - + + Adjust %1 - + + Deck %1 Stem %2 + + + + Effect Unit %1 - + Button Parameter %1 - + Skin - + Controller - + Crossfader / Orientation - + Main Output gain - + Main Output balance - + Main Output delay - + Headphone - - + + Kill %1 + %1 is "Low EQ" "Mid EQ" or "High EQ" - + Eject or un-eject track, i.e. reload the last-ejected track (of any deck)<br>Double-press to reload the last replaced track. In empty decks it reloads the second-last ejected track. - + BPM / Beatgrid - + Halve BPM - + Multiply current BPM by 0.5 - + 2/3 BPM - + Multiply current BPM by 0.666 - + 3/4 BPM - + Multiply current BPM by 0.75 - + 4/3 BPM - + Multiply current BPM by 1.333 - + 3/2 BPM - + Multiply current BPM by 1.5 - + Double BPM - + Multiply current BPM by 2 - + Tempo Tap - + Tempo tap button - + Move Beatgrid - + Adjust the beatgrid to the left or right - + Move Beatgrid Half a Beat - + Adjust the beatgrid by exactly one half beat. Usable only for tracks with constant tempo. - - + + Toggle the BPM/beatgrid lock - + Revert last BPM/Beatgrid Change - + Revert last BPM/Beatgrid Change of the loaded track. - + Sync / Sync Lock - + Internal Sync Leader - + Toggle Internal Sync Leader - - + + Internal Leader BPM - + Internal Leader BPM +1 - + Increase internal Leader BPM by 1 - + Internal Leader BPM -1 - + Decrease internal Leader BPM by 1 - + Internal Leader BPM +0.1 - + Increase internal Leader BPM by 0.1 - + Internal Leader BPM -0.1 - + Decrease internal Leader BPM by 0.1 - + Sync Leader - + Sync mode 3-state toggle / indicator (Off, Soft Leader, Explicit Leader) - + Speed - + Decrease Speed (Fine) - + Pitch (Musical Key) - + Increase Pitch - + Increases the pitch by one semitone - + Increase Pitch (Fine) - + Increases the pitch by 10 cents - + Decrease Pitch - + Decreases the pitch by one semitone - + Decrease Pitch (Fine) - + Decreases the pitch by 10 cents - + Keylock - + CUP (Cue + Play) - + Shift cue points earlier - + Shift cue points 10 milliseconds earlier - + Shift cue points earlier (fine) - + Shift cue points 1 millisecond earlier - + Shift cue points later - + Shift cue points 10 milliseconds later - + Shift cue points later (fine) - + Shift cue points 1 millisecond later - - + + Sort hotcues by position - - + + Sort hotcues by position (remove offsets) - + Hotcues %1-%2 - + Intro / Outro Markers - + Intro Start Marker - + Intro End Marker - + Outro Start Marker - + Outro End Marker - + intro start marker - + intro end marker - + outro start marker - + outro end marker - + Activate %1 [intro/outro marker - + Jump to or set the %1 [intro/outro marker - + Set %1 [intro/outro marker - + Set or jump to the %1 [intro/outro marker - + Clear %1 [intro/outro marker - + Clear the %1 [intro/outro marker - + if the track has no beats the unit is seconds - + Loop Selected Beats - + Create a beat loop of selected beat size - + Loop Roll Selected Beats - + Create a rolling beat loop of selected beat size - + Loop %1 Beats set from its end point - + Loop Roll %1 Beats set from its end point - + Create %1-beat loop with the current play position as loop end - + Create temporary %1-beat loop roll with the current play position as loop end - + Loop Beats - + Loop Roll Beats - + Go To Loop In - + Go to Loop In button - + Go To Loop Out - + Go to Loop Out button - + Toggle loop on/off and jump to Loop In point if loop is behind play position - + Reloop And Stop - + Enable loop, jump to Loop In point, and stop - + Halve the loop length - + Double the loop length - + Beat Jump / Loop Move - + Jump / Move Loop Forward %1 Beats - + Jump / Move Loop Backward %1 Beats - + Jump forward by %1 beats, or if a loop is enabled, move the loop forward %1 beats - + Jump backward by %1 beats, or if a loop is enabled, move the loop backward %1 beats - + Beat Jump / Loop Move Forward Selected Beats - + Jump forward by the selected number of beats, or if a loop is enabled, move the loop forward by the selected number of beats - + Beat Jump / Loop Move Backward Selected Beats - + Jump backward by the selected number of beats, or if a loop is enabled, move the loop backward by the selected number of beats - + Beat Jump - + Indicate which loop marker remain static when adjusting the size or is inherited from the current position - + Beat Jump / Loop Move Forward - + Beat Jump / Loop Move Backward - + Loop Move Forward - + Loop Move Backward - + Remove Temporary Loop - + Remove the temporary loop - + Navigation - + Move up - + Equivalent to pressing the UP key on the keyboard - + Move down - + Equivalent to pressing the DOWN key on the keyboard - + Move up/down - + Move vertically in either direction using a knob, as if pressing UP/DOWN keys - + Scroll Up - + Equivalent to pressing the PAGE UP key on the keyboard - + Scroll Down - + Equivalent to pressing the PAGE DOWN key on the keyboard - + Scroll up/down - + Scroll vertically in either direction using a knob, as if pressing PGUP/PGDOWN keys - + Move left - + Equivalent to pressing the LEFT key on the keyboard - + Move right - + Equivalent to pressing the RIGHT key on the keyboard - + Move left/right - + Move horizontally in either direction using a knob, as if pressing LEFT/RIGHT keys - + Move focus to right pane - + Equivalent to pressing the TAB key on the keyboard - + Move focus to left pane - + Equivalent to pressing the SHIFT+TAB key on the keyboard - + Move focus to right/left pane - + Move focus one pane to right or left using a knob, as if pressing TAB/SHIFT+TAB keys - + Sort focused column - + Sort the column of the cell that is currently focused, equivalent to clicking on its header - + Go to the currently selected item - + Choose the currently selected item and advance forward one pane if appropriate - + Load Track and Play - + Add to Auto DJ Queue (replace) - + Replace Auto DJ Queue with selected tracks - + Select next search history - + Selects the next search history entry - + Select previous search history - + Selects the previous search history entry - + Move selected search entry - + Moves the selected search history item into given direction and steps - + Clear search - + Clears the search query - - + + Select Next Color Available - + Select the next color in the color palette for the first selected track - - + + Select Previous Color Available - + Select the previous color in the color palette for the first selected track - + + Quick Effects Deck %1 + + + + Deck %1 Quick Effect Enable Button - + + Quick Effect Enable Button - + + Deck %1 Stem %2 Quick Effect Super Knob + + + + + Deck %1 Stem %2 Quick Effect Enable Button + + + + Enable or disable effect processing - + Super Knob (control effects' Meta Knobs) - + Mix Mode Toggle - + Toggle effect unit between D/W and D+W modes - + Next chain preset - + Previous Chain - + Previous chain preset - + Next/Previous Chain - + Next or previous chain preset - - + + Show Effect Parameters - + Effect Unit Assignment - + Meta Knob - + Effect Meta Knob (control linked effect parameters) - + Meta Knob Mode - + Set how linked effect parameters change when turning the Meta Knob. - + Meta Knob Mode Invert - + Invert how linked effect parameters change when turning the Meta Knob. - - + + Button Parameter Value - + Microphone / Auxiliary - + Microphone On/Off - + Microphone on/off - + Toggle microphone ducking mode (OFF, AUTO, MANUAL) - + Auxiliary On/Off - + Auxiliary on/off - + Auto DJ - + Auto DJ Shuffle - + Auto DJ Skip Next - + Auto DJ Add Random Track - + Add a random track to the Auto DJ queue - + Auto DJ Fade To Next - + Trigger the transition to the next track - + User Interface - + Samplers Show/Hide - + Show/hide the sampler section - + Microphone && Auxiliary Show/Hide keep double & to prevent creation of keyboard accelerator - + Waveform Zoom Reset To Default - + Reset the waveform zoom level to the default value selected in Preferences -> Waveforms - + Select the next color in the color palette for the loaded track. - + Select previous color in the color palette for the loaded track. - + Navigate Through Track Colors - + Select either next or previous color in the palette for the loaded track. - + Start/Stop Live Broadcasting - + Stream your mix over the Internet. - + Start/stop recording your mix. - - + + + Deck %1 Stems + + + + + Samplers - + Vinyl Control Show/Hide - + Show/hide the vinyl control section - + Preview Deck Show/Hide - + Show/hide the preview deck - + Toggle 4 Decks - + Switches between showing 2 decks and 4 decks. - + Cover Art Show/Hide (Decks) - + Show/hide cover art in the main decks - + Vinyl Spinner Show/Hide - + Show/hide spinning vinyl widget - + Vinyl Spinners Show/Hide (All Decks) - + Show/Hide all spinnies - + Toggle Waveforms - + Show/hide the scrolling waveforms. - + Waveform zoom - + Waveform Zoom - + Zoom waveform in - + Waveform Zoom In - + Zoom waveform out - + Star Rating Up - + Increase the track rating by one star - + Star Rating Down - + Decrease the track rating by one star @@ -3542,6 +3583,159 @@ trace - Above + Profiling messages + + ControllerHidReportTabsManager + + + Read + + + + + Send + + + + + Payload Size + + + + + bytes + + + + + Byte Position + + + + + Bit Position + + + + + Bit Size + + + + + Logical Min + + + + + Logical Max + + + + + Value + + + + + Physical Min + + + + + Physical Max + + + + + Unit Scaling + + + + + Unit + + + + + Abs/Rel + + + + + + Wrap + + + + + + Linear + + + + + + Preferred + + + + + + Null + + + + + + Volatile + + + + + Usage Page + + + + + Usage + + + + + Relative + + + + + Absolute + + + + + No Wrap + + + + + Non Linear + + + + + No Preferred + + + + + No Null + + + + + Non Volatile + + + ControllerInputMappingTableModel @@ -3677,27 +3871,27 @@ trace - Above + Profiling messages ControllerScriptEngineLegacy - + Controller Mapping File Problem - + The mapping for controller "%1" cannot be opened. - + The functionality provided by this controller mapping will be disabled until the issue has been resolved. - + File: - + Error: @@ -3730,7 +3924,7 @@ trace - Above + Profiling messages - + Lock @@ -3760,7 +3954,7 @@ trace - Above + Profiling messages - + Enter new name for crate: @@ -3777,22 +3971,22 @@ trace - Above + Profiling messages - + Export Crate - + Unlock - + An unknown error occurred while creating crate: - + Rename Crate @@ -3802,28 +3996,28 @@ trace - Above + Profiling messages - + Confirm Deletion - - + + Renaming Crate Failed - + Crate Creation Failed - + M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Text CSV (*.csv);;Readable Text (*.txt) - + M3U Playlist (*.m3u) @@ -3844,17 +4038,17 @@ trace - Above + Profiling messages - + Do you really want to delete crate <b>%1</b>? - + A crate cannot have a blank name. - + A crate by that name already exists. @@ -3949,12 +4143,12 @@ trace - Above + Profiling messages - + Official Website - + Donate @@ -4800,68 +4994,79 @@ You tried to learn: %1,%2 - - - - + + Saving settings failed + + + + + The password for '%1' contains invalid characters. Please enter it again. + +Note: This can for example be invisible linebreaks when using copy/paste. + + + + + + Action failed - + You can't create more than %1 source connections. - + Source connection %1 - + Settings for %1 Settings for broadcast profile, %1 is the profile name placeholder - + At least one source connection is required. - + Are you sure you want to disconnect every active source connection? - - + + Confirmation required - + '%1' has the same Icecast mountpoint as '%2'. Two source connections to the same server that have the same mountpoint can not be enabled simultaneously. - + Are you sure you want to delete '%1'? - + Renaming '%1' - + New name for '%1': - + Can't rename '%1' to '%2': name already in use @@ -4874,27 +5079,27 @@ Two source connections to the same server that have the same mountpoint can not - + Mixxx Icecast Testing - + Public stream - + http://www.mixxx.org - + Stream name - + Due to flaws in some streaming clients, updating Ogg Vorbis metadata dynamically can cause listener glitches and disconnections. Check this box to update the metadata anyway. @@ -4934,67 +5139,72 @@ Two source connections to the same server that have the same mountpoint can not - + + Available fields: $artist, $title, $year, $album, $genre, $bpm + + + + Dynamically update Ogg Vorbis metadata. - + ICQ - + AIM - + Website - + Live mix - + IRC - + Select a source connection above to edit its settings here - + Password storage - + Plain text - + Secure storage (OS keychain) - + Genre - + Use UTF-8 encoding for metadata. - + Description @@ -5020,42 +5230,42 @@ Two source connections to the same server that have the same mountpoint can not - + Server connection - + Type - + Host - + Login - + Mount - + Port - + Password - + Stream info @@ -5065,17 +5275,17 @@ Two source connections to the same server that have the same mountpoint can not - + Use static artist and title. - + Static title - + Static artist @@ -5134,13 +5344,14 @@ Two source connections to the same server that have the same mountpoint can not DlgPrefColors - - + + + By hotcue number - + Color @@ -5185,17 +5396,22 @@ Two source connections to the same server that have the same mountpoint can not + Jump default color + + + + When key colors are enabled, Mixxx will display a color hint associated with each key. - + Enable Key Colors - + Key palette @@ -5203,113 +5419,113 @@ associated with each key. DlgPrefController - + Apply device settings? - + Your settings must be applied before starting the learning wizard. Apply settings and continue? - + None - + %1 by %2 - + Mapping has been edited - + Always overwrite during this session - + Save As - + Overwrite - + Save user mapping - + Enter the name for saving the mapping to the user folder. - + Saving mapping failed - + A mapping cannot have a blank name and may not contain special characters. - + A mapping file with that name already exists. - + Do you want to save the changes? - + Troubleshooting - + <font color='#BB0000'><b>If you use this mapping your controller may not work correctly. Please select another mapping or disable the controller.</b></font><br><br>This mapping was designed for a newer Mixxx Controller Engine and cannot be used on your current Mixxx installation.<br>Your Mixxx installation has Controller Engine version %1. This mapping requires a Controller Engine version >= %2.<br><br>For more information visit the wiki page on <a href='https://mixxx.org/wiki/doku.php/controller_engine_versions'>Controller Engine Versions</a>. - + Mapping already exists. - + <b>%1</b> already exists in user mapping folder.<br>Overwrite or save with a new name? - + Clear Input Mappings - + Are you sure you want to clear all input mappings? - + Clear Output Mappings - + Are you sure you want to clear all output mappings? @@ -5327,100 +5543,105 @@ Apply settings and continue? - + + Refresh mapping list + + + + Device Info - + Physical Interface: - + Vendor name: - + Product name: - + Vendor ID - + VID: - + Product ID - + PID: - + Serial number: - + USB interface number: - + HID Usage-Page: - + HID Usage: - + Description: - + Support: - + Screens preview - + Input Mappings - - + + Search - - + + Add - - + + Remove @@ -5440,17 +5661,17 @@ Apply settings and continue? - + Mapping Info - + Author: - + Name: @@ -5460,28 +5681,28 @@ Apply settings and continue? - + Data protocol: - + Mapping Files: - + Mapping Settings - - + + Clear All - + Output Mappings @@ -5496,21 +5717,21 @@ Apply settings and continue? - Mixxx uses "mappings" to connect messages from your controller to controls in Mixxx. If you do not see a mapping for your controller in the "Load Mapping" menu when you click on your controller on the left sidebar, you may be able to download one online from the %1. Place the XML (.xml) and Javascript (.js) file(s) in the "User Mapping Folder" then restart Mixxx. If you download a mapping in a ZIP file, extract the XML and Javascript file(s) from the ZIP file to your "User Mapping Folder" then restart Mixxx. + Mixxx uses "mappings" to connect messages from your controller to controls in Mixxx. If you do not see a mapping for your controller in the "Load Mapping" menu when you click on your controller on the left sidebar, you may be able to download one online from the %1. Place the XML (.xml) and Javascript (.js) file(s) in the "User Mapping Folder" then click the Reload button next to the mapping selector to reload all available mappings. If you download a mapping in a ZIP file, extract the XML and Javascript file(s) from the ZIP file to your "User Mapping Folder" then click the Reload button. - + Mixxx DJ Hardware Guide - + MIDI Mapping File Format - + MIDI Scripting with Javascript @@ -5679,137 +5900,137 @@ Apply settings and continue? DlgPrefDeck - + Mixxx mode - + Mixxx mode (no blinking) - + Pioneer mode - + Denon mode - + Numark mode - + CUP mode - + mm:ss%1zz - Traditional - + mm:ss - Traditional (Coarse) - + s%1zz - Seconds - + sss%1zz - Seconds (Long) - + s%1sss%2zz - Kiloseconds - + Intro start - + Main cue - + First hotcue - + First sound (skip silence) - + Beginning of track - + Reject - + Allow, but stop deck - + Allow, play from load point - + 4% - + 6% (semitone) - + 8% (Technics SL-1210) - + 10% - + 16% - + 24% - + 50% - + 90% @@ -6246,57 +6467,57 @@ You can always drag-and-drop tracks on screen to clone a deck. - + Allow screensaver to run - + Prevent screensaver from running - + Prevent screensaver while playing - + Disabled - + 2x MSAA - + 4x MSAA - + 8x MSAA - + 16x MSAA - + This skin does not support color schemes - + Information - + Mixxx must be restarted before the new locale, scaling or multi-sampling settings will take effect. @@ -6523,67 +6744,97 @@ and allows you to pitch adjust them for harmonic mixing. - + Music Directory Added - + You added one or more music directories. The tracks in these directories won't be available until you rescan your library. Would you like to rescan now? - + Scan - + Item is not a directory or directory is missing - + Choose a music directory - + Confirm Directory Removal - + Mixxx will no longer watch this directory for new tracks. What would you like to do with the tracks from this directory and subdirectories?<ul><li>Hide all tracks from this directory and subdirectories.</li><li>Delete all metadata for these tracks from Mixxx permanently.</li><li>Leave the tracks unchanged in your library.</li></ul>Hiding tracks saves their metadata in case you re-add them in the future. - + Metadata means all track details (artist, title, playcount, etc.) as well as beatgrids, hotcues, and loops. This choice only affects the Mixxx library. No files on disk will be changed or deleted. - + Hide Tracks - + Delete Track Metadata - + Leave Tracks Unchanged - + Relink music directory to new location - + + Black + + + + + ExtraBold + + + + + Bold + + + + + SemiBold + + + + + Medium + + + + + Light + + + + Select Library Font @@ -7480,172 +7731,177 @@ The loudness target is approximate and assumes track pregain and main output lev DlgPrefSound - + %1 Hz - + Default (long delay) - + Experimental (no delay) - + Disabled (short delay) - + Soundcard Clock - + Network Clock - + Direct monitor (recording and broadcasting only) - + Disabled - + Enabled - + Stereo - + Mono - + To enable Realtime scheduling (currently disabled), see the %1. - + The %1 lists sound cards and controllers you may want to consider for using Mixxx. - + Mixxx DJ Hardware Guide - + + Find details in the Mixxx user manual + + + + Information - + Mixxx must be restarted before the multi-threaded RubberBand setting change will take effect. - + auto (<= 1024 frames/period) - + 2048 frames/period - + 4096 frames/period - + Are you sure? - + Distribute stereo channels into mono channels for parallel processing will result in a loss of mono compatibility and a diffuse stereo image. It is not recommended during broadcasting or recording. - + Are you sure you wish to proceed? - + No - + Yes, I know what I am doing - + Microphone inputs are out of time in the record & broadcast signal compared to what you hear. - + Measure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. - + Refer to the Mixxx User Manual for details. - + Configured latency has changed. - + Remeasure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. - + Realtime scheduling is enabled. - + Main output only - + Main and booth outputs - + %1 ms - + Configuration error @@ -7712,17 +7968,22 @@ The loudness target is approximate and assumes track pregain and main output lev - + + Deck and Bus outputs are for external mixers. They are post-fader and include effects and crossfader (for Auto DJ). For external mixing, make sure all Mixxx faders and EQ knobs are set to their default position (right- or double-click). + + + + 20 ms - + Buffer Underflow Count - + 0 @@ -7747,12 +8008,12 @@ The loudness target is approximate and assumes track pregain and main output lev - + System Reported Latency - + Enlarge your audio buffer if the underflow counter is increasing or you hear pops during playback. @@ -7782,7 +8043,7 @@ The loudness target is approximate and assumes track pregain and main output lev - + Downsize your audio buffer to improve Mixxx's responsiveness. @@ -7829,7 +8090,7 @@ The loudness target is approximate and assumes track pregain and main output lev - + Show Signal Quality in Skin @@ -7865,46 +8126,51 @@ The loudness target is approximate and assumes track pregain and main output lev + Pitch estimator + + + + Deck 1 - + Deck 2 - + Deck 3 - + Deck 4 - + Signal Quality - + http://www.xwax.co.uk - + Powered by xwax - + Hints - + Select sound devices for Vinyl Control in the Sound Hardware pane. @@ -7912,58 +8178,58 @@ The loudness target is approximate and assumes track pregain and main output lev DlgPrefWaveform - + Filtered - + HSV - + RGB - + Top - + Center - + Bottom - + 1/3 of waveform viewer options for "Text height limit" - + Entire waveform viewer - + OpenGL not available - + dropped frames - + Cached waveforms occupy %1 MiB on disk. @@ -7981,22 +8247,17 @@ The loudness target is approximate and assumes track pregain and main output lev - + OpenGL Status - + Displays which OpenGL version is supported by the current platform. - - Normalize waveform overview - - - - + Average frame rate @@ -8012,7 +8273,7 @@ The loudness target is approximate and assumes track pregain and main output lev - + Displays the actual frame rate. @@ -8092,7 +8353,7 @@ The loudness target is approximate and assumes track pregain and main output lev - + The waveform overview shows the waveform envelope of the entire track. Select from different types of displays for the waveform overview, which differ primarily in the level of detail shown in the waveform. @@ -8159,22 +8420,22 @@ Select from different types of displays for the waveform, which differ primarily - + Caching - + Mixxx caches the waveforms of your tracks on disk the first time you load a track. This reduces CPU usage when you are playing live but requires extra disk space. - + Enable waveform caching - + Generate waveforms when analyzing library @@ -8190,7 +8451,7 @@ Select from different types of displays for the waveform, which differ primarily - + Type @@ -8250,12 +8511,28 @@ Select from different types of displays for the waveform, which differ primarily - + Overview Waveforms - + + Gain + + + + + Normalize to peak + + + + + Use Waveform "Global" gain and ReplayGain (if enabled) + 'Global' refers to the 'Global' visual gain in the scrolling waveform settings + + + + Clear Cached Waveforms @@ -8744,7 +9021,7 @@ This can not be undone! - + Location: @@ -8759,27 +9036,27 @@ This can not be undone! - + BPM - + Sets the BPM to 75% of the current value. - + 3/4 BPM - + Sets the BPM to 50% of the current value. - + Displays the BPM of the selected track. @@ -8834,49 +9111,49 @@ This can not be undone! - + ReplayGain: - + Sets the BPM to 200% of the current value. - + Double BPM - + Halve BPM - + Clear BPM and Beatgrid - + Move to the previous item. "Previous" button - + &Previous - + Move to the next item. "Next" button - + &Next @@ -8901,12 +9178,12 @@ This can not be undone! - + Date added: - + Open in File Browser @@ -8916,102 +9193,107 @@ This can not be undone! - + + Filesize: + + + + Track BPM: - + Converts beats detected by the analyzer into a fixed-tempo beatgrid. Use this setting if your tracks have a constant tempo (e.g. most electronic music). Often results in higher quality beatgrids, but will not do well on tracks that have tempo shifts. - + Assume constant tempo - + Sets the BPM to 66% of the current value. - + 2/3 BPM - + Sets the BPM to 150% of the current value. - + 3/2 BPM - + Sets the BPM to 133% of the current value. - + 4/3 BPM - + Tap with the beat to set the BPM to the speed you are tapping. - + Tap to Beat - + Hint: Use the Library Analyze view to run BPM detection. - + Save changes and close the window. "OK" button - + &OK - + Discard changes and close the window. "Cancel" button - + Save changes and keep the window open. "Apply" button - + &Apply - + &Cancel - + (no color) @@ -9168,7 +9450,7 @@ Often results in higher quality beatgrids, but will not do well on tracks that h - + (no color) @@ -9370,27 +9652,27 @@ Often results in higher quality beatgrids, but will not do well on tracks that h EngineBuffer - + Soundtouch (faster) - + Rubberband (better) - + Rubberband R3 (near-hi-fi quality) - + Unknown, using Rubberband (better) - + Unknown, using Soundtouch @@ -9605,15 +9887,15 @@ Often results in higher quality beatgrids, but will not do well on tracks that h LegacySkinParser - - + + Safe Mode Enabled Shown when Mixxx is running in safe mode. - - + + No OpenGL support. Shown when Spinny can not be displayed. Please keep @@ -9624,57 +9906,57 @@ Shown when VuMeter can not be displayed. Please keep - + activate - + toggle - + right - + left - + right small - + left small - + up - + down - + up small - + down small - + Shortcut @@ -9682,62 +9964,62 @@ Shown when VuMeter can not be displayed. Please keep Library - + This or a parent directory is already in your library. - + This or a listed directory does not exist or is inaccessible. Aborting the operation to avoid library inconsistencies - - + + This directory can not be read. - + An unknown error occurred. Aborting the operation to avoid library inconsistencies - + Can't add Directory to Library - + Could not add <b>%1</b> to your library. %2 - + Can't remove Directory from Library - + An unknown error occurred. - + This directory does not exist or is inaccessible. - + Relink Directory - + Could not relink <b>%1</b> to <b>%2</b>. %3 @@ -9899,12 +10181,12 @@ Do you really want to overwrite it? - + Export to Engine DJ - + Tracks @@ -9912,249 +10194,249 @@ Do you really want to overwrite it? MixxxMainWindow - + Sound Device Busy - + <b>Retry</b> after closing the other application or reconnecting a sound device - - - + + + <b>Reconfigure</b> Mixxx's sound device settings. - - + + Get <b>Help</b> from the Mixxx Wiki. - - - + + + <b>Exit</b> Mixxx. - + Retry - + skin - + Allow Mixxx to hide the menu bar? - + Hide Always show the menu bar? - + Always show - + The Mixxx menu bar is hidden and can be toggled with a single press of the <b>Alt</b> key.<br><br>Click <b>%1</b> to agree.<br><br>Click <b>%2</b> to disable that, for example if you don't use Mixxx with a keyboard.<br><br>You can change this setting any time in Preferences -> Interface.<br> Keep formatting tags <b> (bold text) and <br> (linebreak). %1 is the placeholder for the 'Always show' button label - + Ask me again - - + + Reconfigure - + Help - - + + Exit - - + + Mixxx was unable to open all the configured sound devices. - + Sound Device Error - + <b>Retry</b> after fixing an issue - + No Output Devices - + Mixxx was configured without any output sound devices. Audio processing will be disabled without a configured output device. - + <b>Continue</b> without any outputs. - + Continue - + Load track to Deck %1 - + Deck %1 is currently playing a track. - + Are you sure you want to load a new track? - + There is no input device selected for this vinyl control. Please select an input device in the sound hardware preferences first. - + There is no input device selected for this passthrough control. Please select an input device in the sound hardware preferences first. - + There is no input device selected for this microphone. Do you want to select an input device? - + There is no input device selected for this auxiliary. Do you want to select an input device? - + Scan took %1 - + No changes detected. - - + + %1 tracks in total - + %1 new tracks found - + %1 moved tracks detected - + %1 tracks are missing (%2 total) - + %1 tracks have been rediscovered - + Library scan finished - + Error in skin file - + The selected skin cannot be loaded. - + OpenGL Direct Rendering - + Direct rendering is not enabled on your machine.<br><br>This means that the waveform displays will be very<br><b>slow and may tax your CPU heavily</b>. Either update your<br>configuration to enable direct rendering, or disable<br>the waveform displays in the Mixxx preferences by selecting<br>"Empty" as the waveform display in the 'Interface' section. - - - + + + Confirm Exit - + A deck is currently playing. Exit Mixxx? - + A sampler is currently playing. Exit Mixxx? - + The preferences window is still open. - + Discard any changes and exit Mixxx? @@ -10170,13 +10452,13 @@ Do you want to select an input device? PlaylistFeature - + Lock - - + + Playlists @@ -10186,58 +10468,63 @@ Do you want to select an input device? - + + Adopt current order + + + + Unlock all playlists - + Delete all unlocked playlists - + Unlock - - + + Confirm Deletion - + Do you really want to delete all unlocked playlists? - + Deleting %1 unlocked playlists.<br>This operation can not be undone! - + Playlists are ordered lists of tracks that allow you to plan your DJ sets. - + It may be necessary to skip some tracks in your prepared playlist or add some different tracks in order to maintain the energy of your audience. - + Some DJs construct playlists before they perform live, but others prefer to build them on-the-fly. - + When using a playlist during a live DJ set, remember to always pay close attention to how your audience reacts to the music you've chosen to play. - + Create New Playlist @@ -10336,58 +10623,58 @@ Do you want to select an input device? QMessageBox - + Upgrading Mixxx - + Mixxx now supports displaying cover art. Do you want to scan your library for cover files now? - + Scan - + Later - + Upgrading Mixxx from v1.9.x/1.10.x. - + Mixxx has a new and improved beat detector. - + When you load tracks, Mixxx can re-analyze them and generate new, more accurate beatgrids. This will make automatic beatsync and looping more reliable. - + This does not affect saved cues, hotcues, playlists, or crates. - + If you do not want Mixxx to re-analyze your tracks, choose "Keep Current Beatgrids". You can change this setting at any time from the "Beat Detection" section of the Preferences. - + Keep Current Beatgrids - + Generate New Beatgrids @@ -10501,69 +10788,82 @@ Do you want to scan your library for cover files now? - + Main + Audio path indetifier - + Booth + Audio path indetifier - + Headphones + Audio path indetifier - + Left Bus + Audio path indetifier - + Center Bus + Audio path indetifier - + Right Bus + Audio path indetifier - + Invalid Bus + Audio path indetifier - + Deck + Audio path indetifier - + Record/Broadcast + Audio path indetifier - + Vinyl Control + Audio path indetifier - + Microphone + Audio path indetifier - + Auxiliary + Audio path indetifier - + Unknown path type %1 + Audio path @@ -10892,47 +11192,49 @@ With width at zero, this allows for manually sweeping over the entire delay rang - + Metronome - + + The Mixxx Team - + Adds a metronome click sound to the stream - + BPM - + Set the beats per minute value of the click sound - + Sync - + Synchronizes the BPM with the track if it can be retrieved - + + Gain - + Set the gain of metronome click sound @@ -11717,13 +12019,13 @@ Fully right: end of the effect period - + encoder failure - + Failed to apply the selected settings. @@ -11929,15 +12231,86 @@ and the processed output signal as close as possible in perceived loudness + + Auto Gain Control + + + + + AGC + + + + + Auto Gain Control (AGC) automatically adjusts the gain of an audio signal to maintain a consistent output level. + + + + Threshold (dBFS) + Threshold + + + The Threshold knob adjusts the level above which the effect starts enhancing the input signal + + + + + Target (dBFS) + + + + + Target + + + + + The Target knob adjusts the desired target level of the output signal + + + + + Gain (dB) + + + + + The Gain knob adjusts the maximum amount of gain that the effect will apply + + + + + Knee (dB) + + + + + The Knee knob defines the range around the Threshold where gain changes are applied gradually, +ensuring smooth transitions and avoiding abrupt level shifts. + + + + + The Attack knob sets the time that determines how fast the auto gain +will set in once the signal exceeds the threshold + + + + + The Release knob sets the time that determines how fast the auto gain will recover from the gain +adjustment once the signal falls under the threshold. Depending on the input signal, short release times +may introduce a 'pumping' effect and/or distortion. + + The Threshold knob adjusts the level above which the compressor starts attenuating the input signal @@ -11966,6 +12339,7 @@ At a ratio of 1:1 no compression is happening, as the input is exactly the outpu + Knee @@ -11976,11 +12350,13 @@ At a ratio of 1:1 no compression is happening, as the input is exactly the outpu + Attack (ms) + Attack @@ -11992,11 +12368,13 @@ will set in once the signal exceeds the threshold + Release (ms) + Release @@ -12025,12 +12403,12 @@ may introduce a 'pumping' effect and/or distortion. - + built-in - + missing @@ -12065,42 +12443,42 @@ may introduce a 'pumping' effect and/or distortion. - + Empty - + Simple - + Filtered - + HSV - + VSyncTest - + RGB - + Stacked - + Unknown @@ -12361,193 +12739,193 @@ may introduce a 'pumping' effect and/or distortion. ShoutConnection - - + + Mixxx encountered a problem - + Could not allocate shout_t - + Could not allocate shout_metadata_t - + Error setting non-blocking mode: - + Error setting tls mode: - + Error setting hostname! - + Error setting port! - + Error setting password! - + Error setting mount! - + Error setting username! - + Error setting stream name! - + Error setting stream description! - + Error setting stream genre! - + Error setting stream url! - + Error setting stream IRC! - + Error setting stream AIM! - + Error setting stream ICQ! - + Error setting stream public! - + Unknown stream encoding format! - + Use a libshout version with %1 enabled - + Error setting stream encoding format! - + Broadcasting at 96 kHz with Ogg Vorbis is not currently supported. Please try a different sample rate or switch to a different encoding. - + See https://github.com/mixxxdj/mixxx/issues/5701 for more information. - + Unsupported sample rate - + Error setting bitrate - + Error: unknown server protocol! - + Error: Shoutcast only supports MP3 and AAC encoders - + Error setting protocol! - + Network cache overflow - + Connection error - + One of the Live Broadcasting connections raised this error:<br><b>Error with connection '%1':</b><br> - + Connection message - + <b>Message from Live Broadcasting connection '%1':</b><br> - + Lost connection to streaming server and %1 attempts to reconnect have failed. - + Lost connection to streaming server. - + Please check your connection to the Internet. - + Can't connect to streaming server - + Please check your connection to the Internet and verify that your username and password are correct. @@ -12563,23 +12941,23 @@ may introduce a 'pumping' effect and/or distortion. SoundManager - - + + a device - + An unknown error occurred - + Two outputs cannot share channels on "%1" - + Error opening "%1" @@ -12764,7 +13142,7 @@ may introduce a 'pumping' effect and/or distortion. - + Spinning Vinyl @@ -12946,7 +13324,7 @@ may introduce a 'pumping' effect and/or distortion. - + Cover Art @@ -13136,243 +13514,243 @@ may introduce a 'pumping' effect and/or distortion. - + Displays the tempo of the loaded track in BPM (beats per minute). - + Tempo - + Key The musical key of a track - + BPM Tap - + When tapped repeatedly, adjusts the BPM to match the tapped BPM. - + Adjust BPM Down - + When tapped, adjusts the average BPM down by a small amount. - + Adjust BPM Up - + When tapped, adjusts the average BPM up by a small amount. - + Adjust Beats Earlier - + When tapped, moves the beatgrid left by a small amount. - + Adjust Beats Later - + When tapped, moves the beatgrid right by a small amount. - + Tempo and BPM Tap - + Show/hide the spinning vinyl section. - + Keylock - + Toggling keylock during playback may result in a momentary audio glitch. - + Toggle visibility of Loop Controls - + Toggle visibility of Beatjump Controls - + Toggle visibility of Rate Control - + Toggle visibility of Key Controls - + (while previewing) - + Places a cue point at the current position on the waveform. - + Stops track at cue point, OR go to cue point and play after release (CUP mode). - + Set cue point (Pioneer/Mixxx/Numark mode), set cue point and play after release (CUP mode) OR preview from it (Denon mode). - + Is latching the playing state. - + Seeks the track to the cue point and stops. - + Play - + Plays track from the cue point. - + Sends the selected channel's audio to the headphone output, selected in Preferences -> Sound Hardware. - + (This skin should be updated to use Sync Lock!) - + Enable Sync Lock - + Tap to sync the tempo to other playing tracks or the sync leader. - + Enable Sync Leader - + When enabled, this device will serve as the sync leader for all other decks. - + This is relevant when a dynamic tempo track is loaded to a sync leader deck.In that case, other synced devices will adopt the changing tempo. - + Changes the track playback speed (affects both the tempo and the pitch). If keylock is enabled, only the tempo is affected. - + Tempo Range Display - + Displays the current range of the tempo slider. - + Un-ejects when no track is loaded, i.e. reloads the track that was ejected last (of any deck). - + Delete selected hotcue. - + Track Comment - + Displays the comment tag of the loaded track. - + Opens separate artwork viewer. - + Effect Chain Preset Settings - + Show the effect chain settings menu for this unit. - + Select and configure a hardware device for this input - + Recording Duration @@ -13595,947 +13973,982 @@ may introduce a 'pumping' effect and/or distortion. - + When tapped repeatedly, adjusts the tempo to match the tapped BPM. + + + Click to open the tempo/BPM editor + + + + + It also shows a colored bar if Key colors are enabled in the Preferences. + + + The bar will be split vertically if the track's key is in between full keys. + + + + Tempo Tap - + Rate Tap and BPM Tap - + + Set Tempo + + + + + Set the desired tempo in BPM. If the track currently has no BPM detected, set the desired tempo in percent. + + + + Adjust beatgrid by exactly one half beat. Usable only on tracks with constant tempo. - + Revert last BPM/Beatgrid Change - + Revert last BPM/Beatgrid Change of the loaded track. - - + + Toggle the BPM/beatgrid lock - + Tempo and Rate Tap - + Tempo, Rate Tap and BPM Tap - + Shift cues earlier - - + + Shift cues imported from Serato or Rekordbox if they are slightly off time. - + Left click: shift 10 milliseconds earlier - + Right click: shift 1 millisecond earlier - + Shift cues later - + Left click: shift 10 milliseconds later - + Right click: shift 1 millisecond later - - - + + + Drag a Hotcue button here to continue playing after releasing the Hotcue. - + Hint: Change the default cue mode in Preferences -> Decks. - + Mutes the selected channel's audio in the main output. - + Main mix enable - + Hold or short click for latching to mix this input into the main output. - + + Reloads the last replaced track. If no track is loaded reloads the second-last ejected track. + + + + If hotcue is a loop cue, toggles the loop and jumps to if the loop is behind the play position. - + If the play position is inside an active loop, stores the loop as loop cue. - + Drag this button onto another Hotcue button to move it there (change its index). If the other hotcue is set, the two are swapped. - + Expand/Collapse Samplers - + Toggle expanded samplers view. - + Displays the duration of the running recording. - + Auto DJ is active - + Red for when needle skip has been detected. - + Hot Cue - Track will seek to nearest previous hotcue point. - + Sets the track Loop-In Marker to the current play position. - + Press and hold to move Loop-In Marker. - + Jump to Loop-In Marker. - + Sets the track Loop-Out Marker to the current play position. - + Press and hold to move Loop-Out Marker. - + Jump to Loop-Out Marker. - + If the track has no beats the unit is seconds. - + Beatloop Size - + Select the size of the loop in beats to set with the Beatloop button. - + Changing this resizes the loop if the loop already matches this size. - + Halve the size of an existing beatloop, or halve the size of the next beatloop set with the Beatloop button. - + Double the size of an existing beatloop, or double the size of the next beatloop set with the Beatloop button. - + Start a loop over the set number of beats. - + Temporarily enable a rolling loop over the set number of beats. - + Beatloop Anchor - + Define whether the loop is created and adjusted from its staring point or ending point. - + Beatjump/Loop Move Size - + Select the number of beats to jump or move the loop with the Beatjump Forward/Backward buttons. - + Beatjump Forward - + Jump forward by the set number of beats. - + Move the loop forward by the set number of beats. - + Jump forward by 1 beat. - + Move the loop forward by 1 beat. - + Beatjump Backward - + Jump backward by the set number of beats. - + Move the loop backward by the set number of beats. - + Jump backward by 1 beat. - + Move the loop backward by 1 beat. - + Reloop - + If the loop is ahead of the current position, looping will start when the loop is reached. - + Works only if Loop-In and Loop-Out Marker are set. - + Enable loop, jump to Loop-In Marker, and stop playback. - + Displays the elapsed and/or remaining time of the track loaded. - + Click to toggle between time elapsed/remaining time/both. - + Hint: Change the time format in Preferences -> Decks. - + Show/hide intro & outro markers and associated buttons. - + + Ensure all waveforms to have the same height across all channels. By default, when displaying the stem controls, waveform for channel that have no stem may render with a shorter height in order to honor the waveform container size you have requested.. + + + + Intro Start Marker - - - - + + + + If marker is set, jumps to the marker. - - - - + + + + If marker is not set, sets the marker to the current play position. - - - - + + + + If marker is set, clears the marker. - + Intro End Marker - + Outro Start Marker - + Outro End Marker - + Mix - + Adjust the mixing of the dry (input) signal with the wet (output) signal of the effect unit - + D/W mode: Crossfade between dry and wet - + D+W mode: Add wet to dry - + Mix Mode - + Adjust how the dry (input) signal is mixed with the wet (output) signal of the effect unit - + Dry/Wet mode (crossed lines): Mix knob crossfades between dry and wet Use this to change the sound of the track with EQ and filter effects. - + Dry+Wet mode (flat dry line): Mix knob adds wet to dry Use this to change only the effected (wet) signal with EQ and filter effects. - + Route the main mix through this effect unit. - + Route the left crossfader bus through this effect unit. - + Route the right crossfader bus through this effect unit. - + Right side active: parameter moves with right half of Meta Knob turn - + Stem Label - + Name of the stem stored in the stem file - + Text is displayed in the stem color stored in the stem file - + this stem color is also used for the waveform of this stem - + Stem Mute - + Toggle the stem mute/unmuted - + Stem Volume Knob - + Adjusts the volume of the stem - + Skin Settings Menu - + Show/hide skin settings menu - + Save Sampler Bank - + Save the collection of samples loaded in the samplers. - + Load Sampler Bank - + Load a previously saved collection of samples into the samplers. - + Show Effect Parameters - + Enable Effect - + Meta Knob Link - + Set how this parameter is linked to the effect's Meta Knob. - + Meta Knob Link Inversion - + Inverts the direction this parameter moves when turning the effect's Meta Knob. - + Super Knob - + Next Chain - + Previous Chain - + Next/Previous Chain - + Clear - + Clear the current effect. - + Toggle - + Toggle the current effect. - + Next - + Clear Unit - + Clear effect unit. - + Show/hide parameters for effects in this unit. - + Toggle Unit - + Enable or disable this whole effect unit. - + Controls the Meta Knob of all effects in this unit together. - + Load next effect chain preset into this effect unit. - + Load previous effect chain preset into this effect unit. - + Load next or previous effect chain preset into this effect unit. - - - - - - - - - + + + + + + + + + Assign Effect Unit - + Assign this effect unit to the channel output. - + Route the headphone channel through this effect unit. - + Route this deck through the indicated effect unit. - + Route this sampler through the indicated effect unit. - + Route this microphone through the indicated effect unit. - + Route this auxiliary input through the indicated effect unit. - + The effect unit must also be assigned to a deck or other sound source to hear the effect. - + Switch to the next effect. - + Previous - + Switch to the previous effect. - + Next or Previous - + Switch to either the next or previous effect. - + Meta Knob - + Controls linked parameters of this effect - + Effect Focus Button - + Focuses this effect. - + Unfocuses this effect. - + Refer to the web page on the Mixxx wiki for your controller for more information. - + Effect Parameter - + Adjusts a parameter of the effect. - + Inactive: parameter not linked - + Active: parameter moves with Meta Knob - + Left side active: parameter moves with left half of Meta Knob turn - + Left and right side active: parameter moves across range with half of Meta Knob turn and back with the other half - - + + Equalizer Parameter Kill - - + + Holds the gain of the EQ to zero while active. - + Quick Effect Super Knob - + Quick Effect Super Knob (control linked effect parameters). - + Hint: Change the default Quick Effect mode in Preferences -> Equalizers. - + Equalizer Parameter - + Adjusts the gain of the EQ filter. - + Hint: Change the default EQ mode in Preferences -> Equalizers. - - + + Adjust Beatgrid - + Adjust beatgrid so the closest beat is aligned with the current play position. - - + + Adjust beatgrid to match another playing deck. - + If quantize is enabled, snaps to the nearest beat. - + Quantize - + Toggles quantization. - + Loops and cues snap to the nearest beat when quantization is enabled. - + Reverse - + Reverses track playback during regular playback. - + Puts a track into reverse while being held (Censor). - + Playback continues where the track would have been if it had not been temporarily reversed. - - - + + + Play/Pause - + Jumps to the beginning of the track. - + Syncs the tempo (BPM) and phase to that of the other track, if BPM is detected on both. - + Syncs the tempo (BPM) to that of the other track, if BPM is detected on both. - + Sync and Reset Key - + Increases the pitch by one semitone. - + Decreases the pitch by one semitone. - + Enable Vinyl Control - + When disabled, the track is controlled by Mixxx playback controls. - + When enabled, the track responds to external vinyl control. - + Enable Passthrough - + Indicates that the audio buffer is too small to do all audio processing. - + Displays cover artwork of the loaded track. - + Displays options for editing cover artwork. - + Star Rating - + Assign ratings to individual tracks by clicking the stars. @@ -14670,33 +15083,33 @@ Use this to change only the effected (wet) signal with EQ and filter effects. - + Prevents the pitch from changing when the rate changes. - + Changes the number of hotcue buttons displayed in the deck - + Starts playing from the beginning of the track. - + Jumps to the beginning of the track and stops. - - + + Plays or pauses the track. - + (while playing) @@ -14716,215 +15129,215 @@ Use this to change only the effected (wet) signal with EQ and filter effects. - + (while stopped) - + Cue - + Headphone - + Mute - + Old Synchronize - + Syncs to the first deck (in numerical order) that is playing a track and has a BPM. - + If no deck is playing, syncs to the first deck that has a BPM. - + Decks can't sync to samplers and samplers can only sync to decks. - + Hold for at least a second to enable sync lock for this deck. - + Decks with sync locked will all play at the same tempo, and decks that also have quantize enabled will always have their beats lined up. - + Resets the key to the original track key. - + Speed Control - - - + + + Changes the track pitch independent of the tempo. - + Increases the pitch by 10 cents. - + Decreases the pitch by 10 cents. - + Pitch Adjust - + Adjust the pitch in addition to the speed slider pitch. - + Opens a menu to clear hotcues or edit their labels and colors. - + Drag this button onto a Play button while previewing to continue playback after release. - + Dragging with Shift key pressed will not start previewing the hotcue. - + Record Mix - + Toggle mix recording. - + Enable Live Broadcasting - + Stream your mix over the Internet. - + Provides visual feedback for Live Broadcasting status: - + disabled, connecting, connected, failure. - + When enabled, the deck directly plays the audio arriving on the vinyl input. - + Playback will resume where the track would have been if it had not entered the loop. - + Loop Exit - + Turns the current loop off. - + Slip Mode - + When active, the playback continues muted in the background during a loop, reverse, scratch etc. - + Once disabled, the audible playback will resume where the track would have been. - + Track Key The musical key of a track - + Displays the musical key of the loaded track. - + Clock - + Displays the current time. - + Audio Latency Usage Meter - + Displays the fraction of latency used for audio processing. - + A high value indicates that audible glitches are likely. - + Do not enable keylock, effects or additional decks in this situation. - + Audio Latency Overload Indicator @@ -14964,259 +15377,259 @@ Use this to change only the effected (wet) signal with EQ and filter effects. - + Displays the current musical key of the loaded track after pitch shifting. - + Fast Rewind - + Fast rewind through the track. - + Fast Forward - + Fast forward through the track. - + Jumps to the end of the track. - + Sets the pitch to a key that allows a harmonic transition from the other track. Requires a detected key on both involved decks. - - - + + + Pitch Control - + Pitch Rate - + Displays the current playback rate of the track. - + Repeat - + When active the track will repeat if you go past the end or reverse before the start. - + Eject - + Ejects track from the player. - + Hotcue - + If hotcue is set, jumps to the hotcue. - + If hotcue is not set, sets the hotcue to the current play position. - + Vinyl Control Mode - + Absolute mode - track position equals needle position and speed. - + Relative mode - track speed equals needle speed regardless of needle position. - + Constant mode - track speed equals last known-steady speed regardless of needle input. - + Vinyl Status - + Provides visual feedback for vinyl control status: - + Green for control enabled. - + Blinking yellow for when the needle reaches the end of the record. - + Loop-In Marker - + Loop-Out Marker - + Loop Halve - + Halves the current loop's length by moving the end marker. - + Deck immediately loops if past the new endpoint. - + Loop Double - + Doubles the current loop's length by moving the end marker. - + Beatloop - + Toggles the current loop on or off. - + Works only if Loop-In and Loop-Out marker are set. - + Vinyl Cueing Mode - + Determines how cue points are treated in vinyl control Relative mode: - + Off - Cue points ignored. - + One Cue - If needle is dropped after the cue point, track will seek to that cue point. - + Track Time - + Track Duration - + Displays the duration of the loaded track. - + Information is loaded from the track's metadata tags. - + Track Artist - + Displays the artist of the loaded track. - + Track Title - + Displays the title of the loaded track. - + Track Album - + Displays the album name of the loaded track. - + Track Artist/Title - + Displays the artist and title of the loaded track. @@ -15444,47 +15857,75 @@ This can not be undone! WCueMenuPopup - + Cue number - + Cue position - + Edit cue label - + Label... - + Delete this cue - - Toggle this cue type between normal cue and saved loop + + Turn this cue into a regular hotcue + + + + + Turn this cue into a saved loop + + + + + Left-click: Use the old size if known or the current beatloop size as the loop size + + + + + Right-click: Use the current play position as new loop end if it is after the cue + + + + + Turn this cue into a saved forward jump. + + is a linebreak. Try to not to extend the translation beyond the length of the longest source line so the tooltip remains compact. + + + + + Turn this cue into a saved backward jump (one shot loop). - - Left-click: Use the old size or the current beatloop size as the loop size + + Left-click: Use the old size if known or the current play position as jump start position +If this is already a jump cue, swap the jump position and the cue/target position. - - Right-click: Use the current play position as loop end if it is after the cue + + Right-click: use current play position as new jump start position - + Hotcue #%1 @@ -15786,171 +16227,181 @@ This can not be undone! - &Full Screen + Show Auto DJ + Switch to the Auto DJ view. + + + + + &Full Screen + + + + Display Mixxx using the full screen - + &Options - + &Vinyl Control - + Use timecoded vinyls on external turntables to control Mixxx - + Enable Vinyl Control &%1 - + &Record Mix - + Record your mix to a file - + Ctrl+R - + Enable Live &Broadcasting - + Stream your mixes to a shoutcast or icecast server - + Ctrl+L - + Enable &Keyboard Shortcuts - + Toggles keyboard shortcuts on or off - + Ctrl+` - + &Preferences - + Change Mixxx settings (e.g. playback, MIDI, controls) - + &Developer - + &Reload Skin - + Reload the skin - + Ctrl+Shift+R - + Developer &Tools - + Opens the developer tools dialog - + Ctrl+Shift+T - + Stats: &Experiment Bucket - + Enables experiment mode. Collects stats in the EXPERIMENT tracking bucket. - + Ctrl+Shift+E - + Stats: &Base Bucket - + Enables base mode. Collects stats in the BASE tracking bucket. - + Ctrl+Shift+B - + Deb&ugger Enabled - + Enables the debugger during skin parsing - + Ctrl+Shift+D - + &Help @@ -15984,62 +16435,62 @@ This can not be undone! - + &Community Support - + Get help with Mixxx - + &User Manual - + Read the Mixxx user manual. - + &Keyboard Shortcuts - + Speed up your workflow with keyboard shortcuts. - + &Settings directory - + Open the Mixxx user settings directory. - + &Translate This Application - + Help translate this application into your language. - + &About - + About the application @@ -16047,25 +16498,25 @@ This can not be undone! WOverview - + Passthrough - + Ready to play, analyzing... Text on waveform overview when file is playable but no waveform is visible - - + + Loading track... Text on waveform overview when file is cached from source - + Finalizing... Text on waveform overview during finalizing of waveform analysis @@ -16255,300 +16706,300 @@ This can not be undone! WTrackMenu - + Load to - + Deck - + Sampler - + Add to Playlist - + Crates - + Metadata - + Update external collections - + Cover Art - + Adjust BPM - + Select Color - - + + Analyze - - + + Delete Track Files - + Add to Auto DJ Queue (bottom) - + Add to Auto DJ Queue (top) - + Add to Auto DJ Queue (replace) - + Preview Deck - + Remove - + Remove from Playlist - + Remove from Crate - + Hide from Library - + Unhide from Library - + Purge from Library - + Move Track File(s) to Trash - + Delete Files from Disk - + Properties - + Open in File Browser - + Select in Library - + Import From File Tags - + Import From MusicBrainz - + Export To File Tags - + BPM and Beatgrid - + Play Count - + Rating - + Cue Point - - + + Hotcues - + Intro - + Outro - + Key - + ReplayGain - + Waveform - + Comment - + All - + Sort hotcues by position (remove offsets) - + Sort hotcues by position - + Lock BPM - + Unlock BPM - + Double BPM - + Halve BPM - + 2/3 BPM - + 3/4 BPM - + 4/3 BPM - + 3/2 BPM - + Shift Beatgrid Half Beat - + Reanalyze - + Reanalyze (constant BPM) - + Reanalyze (variable BPM) - + Update ReplayGain from Deck Gain - + Deck %1 - + Importing metadata of %n track(s) from file tags @@ -16556,7 +17007,7 @@ This can not be undone! - + Marking metadata of %n track(s) to be exported into file tags @@ -16564,50 +17015,50 @@ This can not be undone! - - + + Create New Playlist - + Enter name for new playlist: - + New Playlist - - - + + + Playlist Creation Failed - + A playlist by that name already exists. - + A playlist cannot have a blank name. - + An unknown error occurred while creating playlist: - + Add to New Crate - + Scaling BPM of %n track(s) @@ -16615,7 +17066,7 @@ This can not be undone! - + Undo BPM/beats change of %n track(s) @@ -16623,7 +17074,7 @@ This can not be undone! - + Locking BPM of %n track(s) @@ -16631,7 +17082,7 @@ This can not be undone! - + Unlocking BPM of %n track(s) @@ -16639,7 +17090,7 @@ This can not be undone! - + Setting rating of %n track(s) @@ -16647,7 +17098,7 @@ This can not be undone! - + Setting color of %n track(s) @@ -16655,7 +17106,7 @@ This can not be undone! - + Resetting play count of %n track(s) @@ -16663,7 +17114,7 @@ This can not be undone! - + Resetting beats of %n track(s) @@ -16671,7 +17122,7 @@ This can not be undone! - + Clearing rating of %n track(s) @@ -16679,7 +17130,7 @@ This can not be undone! - + Clearing comment of %n track(s) @@ -16687,7 +17138,7 @@ This can not be undone! - + Removing main cue from %n track(s) @@ -16695,7 +17146,7 @@ This can not be undone! - + Removing outro cue from %n track(s) @@ -16703,7 +17154,7 @@ This can not be undone! - + Removing intro cue from %n track(s) @@ -16711,7 +17162,7 @@ This can not be undone! - + Removing loop cues from %n track(s) @@ -16719,7 +17170,7 @@ This can not be undone! - + Removing hot cues from %n track(s) @@ -16727,7 +17178,7 @@ This can not be undone! - + Sorting hotcues of %n track(s) by position (remove offsets) @@ -16735,7 +17186,7 @@ This can not be undone! - + Sorting hotcues of %n track(s) by position @@ -16743,7 +17194,7 @@ This can not be undone! - + Resetting keys of %n track(s) @@ -16751,7 +17202,7 @@ This can not be undone! - + Resetting replay gain of %n track(s) @@ -16759,7 +17210,7 @@ This can not be undone! - + Resetting waveform of %n track(s) @@ -16767,7 +17218,7 @@ This can not be undone! - + Resetting all performance metadata of %n track(s) @@ -16775,169 +17226,184 @@ This can not be undone! - + Move these files to the trash bin? - + Permanently delete these files from disk? - - + + This can not be undone! - + Cancel - + Delete Files - + Okay - + Move Track File(s) to Trash? - + Track Files Deleted - + Track Files Moved To Trash - + %1 track files were moved to trash and purged from the Mixxx database. - + %1 track files were deleted from disk and purged from the Mixxx database. - + Track File Deleted - + Track file was deleted from disk and purged from the Mixxx database. - + The following %1 file(s) could not be deleted from disk - + This track file could not be deleted from disk - + Remaining Track File(s) - + Close - + Clear Reset metadata in right click track context menu in library - + Loops - + Clear BPM and Beatgrid - + Undo last BPM/beats change - + Move this track file to the trash bin? - + Permanently delete this track file from disk? - + All decks where these tracks are loaded will be stopped and the tracks will be ejected. - + All decks where this track is loaded will be stopped and the track will be ejected. - + Removing %n track file(s) from disk... - + Note: if you are in the Computer or Recording view you need to click the current view again to see changes. - + Track File Moved To Trash - + Track file was moved to trash and purged from the Mixxx database. - + Don't show again during this session - + The following %1 file(s) could not be moved to trash - + This track file could not be moved to trash + + + Replace current Auto DJ queue? + + + + + Do you want to replace the entire Auto DJ queue with the selected tracks? + + + + + Don't ask again during this session + + - + Setting cover art of %n track(s) @@ -16945,7 +17411,7 @@ This can not be undone! - + Reloading cover art of %n track(s) @@ -17002,37 +17468,37 @@ This can not be undone! WTrackTableView - + Confirm track hide - + Are you sure you want to hide the selected tracks? - + Are you sure you want to remove the selected tracks from AutoDJ queue? - + Are you sure you want to remove the selected tracks from this crate? - + Are you sure you want to remove the selected tracks from this playlist? - + Don't ask again during this session - + Confirm track removal @@ -17040,12 +17506,12 @@ This can not be undone! WTrackTableViewHeader - + Show or hide columns. - + Shuffle Tracks @@ -17053,52 +17519,52 @@ This can not be undone! mixxx::CoreServices - + fonts - + database - + effects - + audio interface - + decks - + library - + Choose music library directory - + controllers - + Cannot open database - + Unable to establish a database connection. Mixxx requires QT with SQLite support. Please read the Qt SQL driver documentation for information on how to build it. @@ -17252,6 +17718,24 @@ Click OK to exit. + + mixxx::qml::QmlApplication + + + Existing user profile detected + + + + + Trying to run Mixxx 3.0 with an existing %0 user profile! <br><br>There is <b>serious risks</b> of data loss and corruption.<br>We recommend using a test profile folder with the '--settings-path' argument. <br><br>If you want to continue at your own risk, run Mixxx with the argument '--allow-dangerous-data-corruption-risk'. + + + + + Ok + + + mixxx::qml::QmlVisibleEffectsModel @@ -17260,4 +17744,27 @@ Click OK to exit. + + mixxx::qml::QmlWaveformRendererMark + + + Cannot find the marker pixmap + + + + + Cannot find the marker endPixmap + + + + + Cannot find the marker icon + + + + + Cannot find the marker endIcon + + + From d2c4f035282fc8d0543f73897a3a8744d60812d8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Sch=C3=BCrmann?= Date: Mon, 1 Dec 2025 08:19:23 +0100 Subject: [PATCH 180/181] Pull latest translations from https://www.transifex.com/mixxx-dj-software/mixxxdj/mixxx2-7/. Compile QM files out of TS files that are used by the localized app --- res/translations/mixxx_bg.qm | Bin 48964 -> 48881 bytes res/translations/mixxx_bg.ts | 4182 ++++++++------- res/translations/mixxx_ca.qm | Bin 402193 -> 406844 bytes res/translations/mixxx_ca.ts | 3883 ++++++++------ res/translations/mixxx_cs.qm | Bin 419929 -> 417899 bytes res/translations/mixxx_cs.ts | 4076 ++++++++------- res/translations/mixxx_da.qm | Bin 33020 -> 32929 bytes res/translations/mixxx_da.ts | 5072 +++++++++++-------- res/translations/mixxx_de.qm | Bin 461879 -> 464803 bytes res/translations/mixxx_de.ts | 4228 +++++++++------- res/translations/mixxx_en_CA.qm | Bin 289574 -> 289361 bytes res/translations/mixxx_en_CA.ts | 4072 ++++++++------- res/translations/mixxx_en_GB.qm | Bin 289544 -> 289331 bytes res/translations/mixxx_en_GB.ts | 4072 ++++++++------- res/translations/mixxx_es.qm | Bin 490223 -> 487372 bytes res/translations/mixxx_es.ts | 4076 ++++++++------- res/translations/mixxx_es_419.qm | Bin 489959 -> 487108 bytes res/translations/mixxx_es_419.ts | 4076 ++++++++------- res/translations/mixxx_es_AR.qm | Bin 489948 -> 487097 bytes res/translations/mixxx_es_AR.ts | 4076 ++++++++------- res/translations/mixxx_es_CO.qm | Bin 489936 -> 487085 bytes res/translations/mixxx_es_CO.ts | 4076 ++++++++------- res/translations/mixxx_es_ES.qm | Bin 490008 -> 487157 bytes res/translations/mixxx_es_ES.ts | 4076 ++++++++------- res/translations/mixxx_es_MX.qm | Bin 489998 -> 487147 bytes res/translations/mixxx_es_MX.ts | 4076 ++++++++------- res/translations/mixxx_fr.qm | Bin 513919 -> 518546 bytes res/translations/mixxx_fr.ts | 3885 ++++++++------ res/translations/mixxx_gl.qm | Bin 186103 -> 186192 bytes res/translations/mixxx_gl.ts | 4194 ++++++++------- res/translations/mixxx_hu.qm | Bin 102337 -> 102250 bytes res/translations/mixxx_hu.ts | 4184 ++++++++------- res/translations/mixxx_it.qm | Bin 459840 -> 456976 bytes res/translations/mixxx_it.ts | 4084 ++++++++------- res/translations/mixxx_ja.qm | Bin 91022 -> 90945 bytes res/translations/mixxx_ja.ts | 4188 ++++++++------- res/translations/mixxx_ko.qm | Bin 57188 -> 57025 bytes res/translations/mixxx_ko.ts | 4190 ++++++++------- res/translations/mixxx_lt.qm | Bin 33929 -> 33842 bytes res/translations/mixxx_lt.ts | 5072 +++++++++++-------- res/translations/mixxx_nl.qm | Bin 478973 -> 475948 bytes res/translations/mixxx_nl.ts | 3847 ++++++++------ res/translations/mixxx_pl.qm | Bin 297017 -> 342045 bytes res/translations/mixxx_pl.ts | 4725 +++++++++-------- res/translations/mixxx_pt.qm | Bin 297422 -> 301467 bytes res/translations/mixxx_pt.ts | 4104 ++++++++------- res/translations/mixxx_pt_BR.qm | Bin 296811 -> 300987 bytes res/translations/mixxx_pt_BR.ts | 4222 ++++++++------- res/translations/mixxx_pt_PT.qm | Bin 296765 -> 300871 bytes res/translations/mixxx_pt_PT.ts | 4102 ++++++++------- res/translations/mixxx_ro.qm | Bin 167624 -> 167381 bytes res/translations/mixxx_ro.ts | 4068 ++++++++------- res/translations/mixxx_ru.qm | Bin 421028 -> 418956 bytes res/translations/mixxx_ru.ts | 4076 ++++++++------- res/translations/mixxx_sl.qm | Bin 431169 -> 477753 bytes res/translations/mixxx_sl.ts | 4664 +++++++++-------- res/translations/mixxx_sn.qm | Bin 67375 -> 67286 bytes res/translations/mixxx_sn.ts | 5072 +++++++++++-------- res/translations/mixxx_sq_AL.qm | Bin 167724 -> 167631 bytes res/translations/mixxx_sq_AL.ts | 4188 ++++++++------- res/translations/mixxx_sr.qm | Bin 179419 -> 179324 bytes res/translations/mixxx_sr.ts | 4190 ++++++++------- res/translations/mixxx_sv.qm | Bin 208855 -> 218587 bytes res/translations/mixxx_sv.ts | 4324 +++++++++------- res/translations/mixxx_tr.qm | Bin 76577 -> 76639 bytes res/translations/mixxx_tr.ts | 4184 ++++++++------- res/translations/mixxx_vi.qm | Bin 190797 -> 190554 bytes res/translations/mixxx_vi.ts | 4068 ++++++++------- res/translations/mixxx_zh.qm | Bin 297086 -> 296653 bytes res/translations/mixxx_zh.ts | 4106 ++++++++------- res/translations/mixxx_zh_CN.qm | Bin 297153 -> 296726 bytes res/translations/mixxx_zh_CN.ts | 4106 ++++++++------- res/translations/mixxx_zh_HK.qm | Bin 297159 -> 296726 bytes res/translations/mixxx_zh_HK.ts | 4106 ++++++++------- res/translations/mixxx_zh_TW.qm | Bin 297367 -> 296924 bytes res/translations/mixxx_zh_TW.ts | 4106 ++++++++------- res/translations/source_copy_allow_list.tsv | 15 +- 77 files changed, 90945 insertions(+), 69166 deletions(-) diff --git a/res/translations/mixxx_bg.qm b/res/translations/mixxx_bg.qm index 3f91b1106b0de113ed7c441c2626f0d64d9e2252..da439e63f490408b071fc1a83781a946c3e2c02d 100644 GIT binary patch delta 3939 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 QA;n=+Elv*c{ATU{0g#z + + AllTrackLibraryFeature + + + All... + + + AnalysisFeature @@ -19,52 +27,52 @@ AutoDJFeature - + Crates Колекции - + Enable Auto DJ - + Disable Auto DJ - + Clear Auto DJ Queue - + Remove Crate as Track Source Премахни Колекция като Пистов Източник - + Auto DJ Авто-DJ (Автодиджей) - + Confirmation Clear - + Do you really want to remove all tracks from the Auto DJ queue? - + This can not be undone. - + Add Crate as Track Source Добави Колекция като Пистов Източник @@ -221,7 +229,7 @@ - + Export Playlist Изнасяне на списъка с песни @@ -275,13 +283,13 @@ - + Playlist Creation Failed Създаването на списъка за изпъленине се провали - + An unknown error occurred while creating playlist: По време на създаването на списъка за изпълнение възникна неизвестна грешка: @@ -296,12 +304,12 @@ - + M3U Playlist (*.m3u) M3U Списък с песни (*.m3u) - + M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Text CSV (*.csv);;Readable Text (*.txt) Списък за изпълнение M3U (*.m3u);;Списък за изпълнение M3U8 (*.m3u8);;Списък за изпълнение PLS (*.pls);;Текст в CSV (*.csv);;Четим текст (*.txt) @@ -309,12 +317,12 @@ BaseSqlTableModel - + # - + Timestamp Дата @@ -322,7 +330,7 @@ BaseTrackPlayerImpl - + Couldn't load track. Песента не може да бъде заредена. @@ -360,7 +368,7 @@ Канали - + Color @@ -375,7 +383,7 @@ Композитор - + Cover Art Обложка @@ -385,7 +393,7 @@ Дата на добавяне - + Last Played @@ -415,7 +423,7 @@ Ключ - + Location Местоположение @@ -425,7 +433,7 @@ - + Preview Преглед @@ -465,7 +473,7 @@ Година - + Fetching image ... Tooltip text on the cover art column shown when the cover is read from disk @@ -487,22 +495,22 @@ BroadcastProfile - + Can't use secure password storage: keychain access failed. - + Secure password retrieval unsuccessful: keychain access failed. - + Settings error Грешка в настройките - + <b>Error with settings for '%1':</b><br> <b>Грешка в настройките за '%1':</b><br> @@ -590,7 +598,7 @@ - + Computer Компютър @@ -610,17 +618,17 @@ Сканиране - + "Computer" lets you navigate, view, and load tracks from folders on your hard disk and external devices. - + It shows the data from the file tags, not track data from your Mixxx library like other track views. - + If you load a track file from here, it will be added to your library. @@ -733,12 +741,12 @@ Файла е създаден - + Mixxx Library Библиотека на Mixxx - + Could not load the following file because it is in use by Mixxx or another application. Следният файл не може да бъде зареден, защото се използва отMixxx или друго приложение. @@ -769,87 +777,92 @@ CmdlineArgs - + Mixxx is an open source DJ software. For more information, see: - + Starts Mixxx in full-screen mode - + Use a custom locale for loading translations. (e.g 'fr') - + Top-level directory where Mixxx should look for its resource files such as MIDI mappings, overriding the default installation location. - + Path the debug statistics time line is written to - + Causes Mixxx to display/log all of the controller data it receives and script functions it loads - + The controller mapping will issue more aggressive warnings and errors when detecting misuse of controller APIs. New Controller Mappings should be developed with this option enabled! - + Enables developer-mode. Includes extra log info, stats on performance, and a Developer tools menu. - + Top-level directory where Mixxx should look for settings. Default is: - + Starts Auto DJ when Mixxx is launched. - + Rescans the library when Mixxx is launched. - + Use legacy vu meter - + Use legacy spinny - - Loads experimental QML GUI instead of legacy QWidget skin + + Loads the highly unstable 3.0 Mixxx interface, based on QML. You need to use a new setting profile, or run with 'allow-dangerous-data-corruption-risk' to use with the current one. We highly recommend backing up your data if you do so. + + + + + Force Mixxx to load an unstable version with an existing user profile from a stable version - + Enables safe-mode. Disables OpenGL waveforms, and spinning vinyl widgets. Try this option if Mixxx is crashing on startup. - + [auto|always|never] Use colors on the console output. - + Sets the verbosity of command line logging. critical - Critical/Fatal only warning - Above + Warnings @@ -859,32 +872,32 @@ trace - Above + Profiling messages - + Sets the the logging level at which the log buffer is flushed to mixxx.log. <level> is one of the values defined at --log-level above. - + Sets the maximum file size of the mixxx.log file in bytes. Use -1 for unlimited. The default is 100 MB as 1e5 or 100000000. - + Breaks (SIGINT) Mixxx, if a DEBUG_ASSERT evaluates to false. Under a debugger you can continue afterwards. - + Overrides the default application GUI style. Possible values: %1 - + Load the specified music file(s) at start-up. Each file you specify will be loaded into the next virtual deck. - + Preview rendered controller screens in the Setting windows. @@ -977,2566 +990,2747 @@ trace - Above + Profiling messages ControlPickerMenu - + Headphone Output Изход за слушалки - - - + + + + Deck %1 + %1 is the deck number 1 ... 4 Дек %1 - + Sampler %1 Смесител %1 - + Preview Deck %1 Преглед дек %1 - + Microphone %1 Микрофон %1 - + Auxiliary %1 Помощен %1 - + Reset to default Възстановяване на стандартните настройки - + Effect Rack %1 Ефекти %1 - + Parameter %1 Параметър %1 - + Mixer Смесител - - + + Crossfader Кросфейдър - + Headphone mix (pre/main) - + Toggle headphone split cueing - + Headphone delay - + Transport - + Strip-search through track - + Play button Бутон за възпроизвеждане - - + + Set to full volume - - + + Set to zero volume - + Stop button Бутон стоп - + Jump to start of track and play - + Jump to end of track Прескочи до края на трака - + Reverse roll (Censor) button - + Headphone listen button - - + + Mute button Бутон за заглушаване - + Toggle repeat mode - - + + Mix orientation (e.g. left, right, center) - - + + Set mix orientation to left - - + + Set mix orientation to center - - + + Set mix orientation to right - + Toggle slip mode - - + + BPM Уд/мин (BPM) - + Increase BPM by 1 - + Decrease BPM by 1 - + Increase BPM by 0.1 - + Decrease BPM by 0.1 - + BPM tap button - + Toggle quantize mode - + One-time beat sync (tempo only) - + One-time beat sync (phase only) - + Toggle keylock mode - + Equalizers Еквалайзери - + Vinyl Control Контрол с грамофони - + Toggle vinyl-control cueing mode (OFF/ONE/HOT) - + Toggle vinyl-control mode (ABS/REL/CONST) - + Pass through external audio into the internal mixer - + Cues - + Cue button - + Set cue point - + Go to cue point - + Go to cue point and play - + Go to cue point and stop - + Preview from cue point - + Cue button (CDJ mode) - + Stutter cue - + Hotcues - + Set, preview from or jump to hotcue %1 - + Clear hotcue %1 - + Set hotcue %1 - + Jump to hotcue %1 - + Jump to hotcue %1 and stop - + Jump to hotcue %1 and play - + Preview from hotcue %1 - - + + Hotcue %1 - + Looping - + Loop In button - + Loop Out button - + Loop Exit button - + 1/2 1/2 - + 1 1 - + 2 2 - + 4 4 - + 8 8 - + 16 16 - + 32 32 - + 64 64 - + Move loop forward by %1 beats - + Move loop backward by %1 beats - + Create %1-beat loop - + Create temporary %1-beat loop roll - + Library Библиотека - + Slot %1 - + Headphone Mix - + Headphone Split Cue - + Headphone Delay - + Play - + Fast Rewind - + Fast Rewind button - + Fast Forward - + Fast Forward button - + Strip Search - + Play Reverse - + Play Reverse button - + Reverse Roll (Censor) - + Jump To Start - + Jumps to start of track - + Play From Start - + Stop - + Stop And Jump To Start - + Stop playback and jump to start of track - + Jump To End - + Volume - - - + + + Volume Fader - - + + Full Volume - - + + Zero Volume - + Track Gain - + Track Gain knob - - + + Mute Заглушаване - + Eject - - + + Headphone Listen - + Headphone listen (pfl) button - + Repeat Mode - + Slip Mode - - + + Orientation - - + + Orient Left - - + + Orient Center - - + + Orient Right - + BPM +1 BPM +1 - + BPM -1 BPM -1 - + BPM +0.1 BPM +0.1 - + BPM -0.1 BPM -0.1 - + BPM Tap - + Adjust Beatgrid Faster +.01 - + Increase track's average BPM by 0.01 - + Adjust Beatgrid Slower -.01 - + Decrease track's average BPM by 0.01 - + Move Beatgrid Earlier - + Adjust the beatgrid to the left - + Move Beatgrid Later - + Adjust the beatgrid to the right - + Adjust Beatgrid - + Align beatgrid to current position - + Adjust Beatgrid - Match Alignment - + Adjust beatgrid to match another playing deck. - + Quantize Mode - + Sync Синхронизация - + Beat Sync One-Shot - + Sync Tempo One-Shot - + Sync Phase One-Shot - + Pitch control (does not affect tempo), center is original pitch - + Pitch Adjust - + Adjust pitch from speed slider pitch - + Match musical key - + Match Key - + Reset Key - + Resets key to original - + High EQ - + Mid EQ - - + + Main Output - + Main Output Balance - + Main Output Delay - + Main Output Gain - + Low EQ - + Toggle Vinyl Control - + Toggle Vinyl Control (ON/OFF) - + Vinyl Control Mode - + Vinyl Control Cueing Mode - + Vinyl Control Passthrough - + Vinyl Control Next Deck - + Single deck mode - Switch vinyl control to next deck - + Cue - + Set Cue - + Go-To Cue - + Go-To Cue And Play - + Go-To Cue And Stop - + Preview Cue - + Cue (CDJ Mode) - + Stutter Cue - + Go to cue point and play after release - + Clear Hotcue %1 - + Set Hotcue %1 - + Jump To Hotcue %1 - + Jump To Hotcue %1 And Stop - + Jump To Hotcue %1 And Play - + Preview Hotcue %1 - + Loop In - + Loop Out - + Loop Exit - + Reloop/Exit Loop - + Loop Halve - + Loop Double - + 1/32 1/32 - + 1/16 1/16 - + 1/8 1/8 - + 1/4 1/4 - + Move Loop +%1 Beats - + Move Loop -%1 Beats - + Loop %1 Beats - + Loop Roll %1 Beats - + Add to Auto DJ Queue (bottom) Добавяне към Авто DJ опашка (край) - + Append the selected track to the Auto DJ Queue - + Add to Auto DJ Queue (top) Добавяне към Авто DJ опашка (начало) - + Prepend selected track to the Auto DJ Queue - + Load Track - + Load selected track - + Load selected track and play - - + + Record Mix Запиши микс - + Toggle mix recording - + Effects Ефекти - - Quick Effects - Бързи ефекти - - - + Deck %1 Quick Effect Super Knob - + + Quick Effect Super Knob (control linked effect parameters) - - + + + + Quick Effect - + Clear Unit - + Clear effect unit - + Toggle Unit - + Dry/Wet - + Adjust the balance between the original (dry) and processed (wet) signal. - + Super Knob - + Next Chain - + Assign - + Clear Изчисти - + Clear the current effect Изчисти текущия ефект - + Toggle - + Toggle the current effect - + Next Следваща - + Switch to next effect - + Previous Предишна - + Switch to the previous effect - + Next or Previous - + Switch to either next or previous effect - - + + Parameter Value - - + + Microphone Ducking Strength - + Microphone Ducking Mode - + Gain - + Gain knob - + Shuffle the content of the Auto DJ queue - + Skip the next track in the Auto DJ queue - + Auto DJ Toggle Активиране на Автоматичен DJ - + Toggle Auto DJ On/Off - + Show/hide the microphone & auxiliary section - + 4 Effect Units Show/Hide - + Switches between showing 2 and 4 effect units - + Mixer Show/Hide - + Show or hide the mixer. - + Cover Art Show/Hide (Library) - + Show/hide cover art in the library - + Library Maximize/Restore - + Maximize the track library to take up all the available screen space. - + Effect Rack Show/Hide - + Show/hide the effect rack - + Waveform Zoom Out - + Headphone Gain - + Headphone gain - + Tap to sync tempo (and phase with quantize enabled), hold to enable permanent sync - + One-time beat sync tempo (and phase with quantize enabled) - + Playback Speed Скорост на възпроизвеждане - + Playback speed control (Vinyl "Pitch" slider) - + Pitch (Musical key) - + Increase Speed - + Adjust speed faster (coarse) - + Increase Speed (Fine) - + Adjust speed faster (fine) - + Decrease Speed - + Adjust speed slower (coarse) - + Adjust speed slower (fine) - + Temporarily Increase Speed - + Temporarily increase speed (coarse) - + Temporarily Increase Speed (Fine) - + Temporarily increase speed (fine) - + Temporarily Decrease Speed - + Temporarily decrease speed (coarse) - + Temporarily Decrease Speed (Fine) - + Temporarily decrease speed (fine) - - + + Adjust %1 - + + Deck %1 Stem %2 + + + + Effect Unit %1 - + Button Parameter %1 - + Skin Кожа - + Controller - + Crossfader / Orientation - + Main Output gain - + Main Output balance - + Main Output delay - + Headphone - - + + Kill %1 + %1 is "Low EQ" "Mid EQ" or "High EQ" - + Eject or un-eject track, i.e. reload the last-ejected track (of any deck)<br>Double-press to reload the last replaced track. In empty decks it reloads the second-last ejected track. - + BPM / Beatgrid - + Halve BPM - + Multiply current BPM by 0.5 - + 2/3 BPM - + Multiply current BPM by 0.666 - + 3/4 BPM - + Multiply current BPM by 0.75 - + 4/3 BPM - + Multiply current BPM by 1.333 - + 3/2 BPM - + Multiply current BPM by 1.5 - + Double BPM - + Multiply current BPM by 2 - + Tempo Tap - + Tempo tap button - + Move Beatgrid - + Adjust the beatgrid to the left or right - + Move Beatgrid Half a Beat - + Adjust the beatgrid by exactly one half beat. Usable only for tracks with constant tempo. - - + + Toggle the BPM/beatgrid lock - + Revert last BPM/Beatgrid Change - + Revert last BPM/Beatgrid Change of the loaded track. - + Sync / Sync Lock - + Internal Sync Leader - + Toggle Internal Sync Leader - - + + Internal Leader BPM - + Internal Leader BPM +1 - + Increase internal Leader BPM by 1 - + Internal Leader BPM -1 - + Decrease internal Leader BPM by 1 - + Internal Leader BPM +0.1 - + Increase internal Leader BPM by 0.1 - + Internal Leader BPM -0.1 - + Decrease internal Leader BPM by 0.1 - + Sync Leader - + Sync mode 3-state toggle / indicator (Off, Soft Leader, Explicit Leader) - + Speed - + Decrease Speed (Fine) - + Pitch (Musical Key) - + Increase Pitch - + Increases the pitch by one semitone - + Increase Pitch (Fine) - + Increases the pitch by 10 cents - + Decrease Pitch - + Decreases the pitch by one semitone - + Decrease Pitch (Fine) - + Decreases the pitch by 10 cents - + Keylock - + CUP (Cue + Play) - + Shift cue points earlier - + Shift cue points 10 milliseconds earlier - + Shift cue points earlier (fine) - + Shift cue points 1 millisecond earlier - + Shift cue points later - + Shift cue points 10 milliseconds later - + Shift cue points later (fine) - + Shift cue points 1 millisecond later - - + + Sort hotcues by position - - + + Sort hotcues by position (remove offsets) - + Hotcues %1-%2 - + Intro / Outro Markers - + Intro Start Marker - + Intro End Marker - + Outro Start Marker - + Outro End Marker - + intro start marker - + intro end marker - + outro start marker - + outro end marker - + Activate %1 [intro/outro marker - + Jump to or set the %1 [intro/outro marker - + Set %1 [intro/outro marker - + Set or jump to the %1 [intro/outro marker - + Clear %1 [intro/outro marker - + Clear the %1 [intro/outro marker - + if the track has no beats the unit is seconds - + Loop Selected Beats - + Create a beat loop of selected beat size - + Loop Roll Selected Beats - + Create a rolling beat loop of selected beat size - + Loop %1 Beats set from its end point - + Loop Roll %1 Beats set from its end point - + Create %1-beat loop with the current play position as loop end - + Create temporary %1-beat loop roll with the current play position as loop end - + Loop Beats - + Loop Roll Beats - + Go To Loop In - + Go to Loop In button - + Go To Loop Out - + Go to Loop Out button - + Toggle loop on/off and jump to Loop In point if loop is behind play position - + Reloop And Stop - + Enable loop, jump to Loop In point, and stop - + Halve the loop length - + Double the loop length - + Beat Jump / Loop Move - + Jump / Move Loop Forward %1 Beats - + Jump / Move Loop Backward %1 Beats - + Jump forward by %1 beats, or if a loop is enabled, move the loop forward %1 beats - + Jump backward by %1 beats, or if a loop is enabled, move the loop backward %1 beats - + Beat Jump / Loop Move Forward Selected Beats - + Jump forward by the selected number of beats, or if a loop is enabled, move the loop forward by the selected number of beats - + Beat Jump / Loop Move Backward Selected Beats - + Jump backward by the selected number of beats, or if a loop is enabled, move the loop backward by the selected number of beats - + Beat Jump - + Indicate which loop marker remain static when adjusting the size or is inherited from the current position - + Beat Jump / Loop Move Forward - + Beat Jump / Loop Move Backward - + Loop Move Forward - + Loop Move Backward - + Remove Temporary Loop - + Remove the temporary loop - + Navigation - + Move up - + Equivalent to pressing the UP key on the keyboard - + Move down - + Equivalent to pressing the DOWN key on the keyboard - + Move up/down - + Move vertically in either direction using a knob, as if pressing UP/DOWN keys - + Scroll Up - + Equivalent to pressing the PAGE UP key on the keyboard - + Scroll Down - + Equivalent to pressing the PAGE DOWN key on the keyboard - + Scroll up/down - + Scroll vertically in either direction using a knob, as if pressing PGUP/PGDOWN keys - + Move left - + Equivalent to pressing the LEFT key on the keyboard - + Move right - + Equivalent to pressing the RIGHT key on the keyboard - + Move left/right - + Move horizontally in either direction using a knob, as if pressing LEFT/RIGHT keys - + Move focus to right pane - + Equivalent to pressing the TAB key on the keyboard - + Move focus to left pane - + Equivalent to pressing the SHIFT+TAB key on the keyboard - + Move focus to right/left pane - + Move focus one pane to right or left using a knob, as if pressing TAB/SHIFT+TAB keys - + Sort focused column - + Sort the column of the cell that is currently focused, equivalent to clicking on its header - + Go to the currently selected item - + Choose the currently selected item and advance forward one pane if appropriate - + Load Track and Play - + Add to Auto DJ Queue (replace) - + Replace Auto DJ Queue with selected tracks - + Select next search history - + Selects the next search history entry - + Select previous search history - + Selects the previous search history entry - + Move selected search entry - + Moves the selected search history item into given direction and steps - + Clear search - + Clears the search query - - + + Select Next Color Available - + Select the next color in the color palette for the first selected track - - + + Select Previous Color Available - + Select the previous color in the color palette for the first selected track - + + Quick Effects Deck %1 + + + + Deck %1 Quick Effect Enable Button - + + Quick Effect Enable Button - + + Deck %1 Stem %2 Quick Effect Super Knob + + + + + Deck %1 Stem %2 Quick Effect Enable Button + + + + Enable or disable effect processing - + Super Knob (control effects' Meta Knobs) - + Mix Mode Toggle - + Toggle effect unit between D/W and D+W modes - + Next chain preset - + Previous Chain - + Previous chain preset - + Next/Previous Chain - + Next or previous chain preset - - + + Show Effect Parameters - + Effect Unit Assignment - + Meta Knob - + Effect Meta Knob (control linked effect parameters) - + Meta Knob Mode - + Set how linked effect parameters change when turning the Meta Knob. - + Meta Knob Mode Invert - + Invert how linked effect parameters change when turning the Meta Knob. - - + + Button Parameter Value - + Microphone / Auxiliary - - Microphone On/Off + + Microphone On/Off + + + + + Microphone on/off + Вкл./изкл. микрофон + + + + Toggle microphone ducking mode (OFF, AUTO, MANUAL) + + + + + Auxiliary On/Off + + + + + Auxiliary on/off + + + + + Auto DJ + Авто-DJ (Автодиджей) + + + + Auto DJ Shuffle + + + + + Auto DJ Skip Next + + + + + Auto DJ Add Random Track + + + + + Add a random track to the Auto DJ queue + + + + + Auto DJ Fade To Next + + + + + Trigger the transition to the next track + + + + + User Interface + + + + + Samplers Show/Hide + + + + + Show/hide the sampler section + + + + + Microphone && Auxiliary Show/Hide + keep double & to prevent creation of keyboard accelerator + + + + + Waveform Zoom Reset To Default + + + + + Reset the waveform zoom level to the default value selected in Preferences -> Waveforms + + + + + Select the next color in the color palette for the loaded track. + + + + + Select previous color in the color palette for the loaded track. + + + + + Navigate Through Track Colors + + + + + Select either next or previous color in the palette for the loaded track. + + + + + Start/Stop Live Broadcasting + + + + + Stream your mix over the Internet. + + + + + Start/stop recording your mix. + + + + + + Deck %1 Stems + + + + + + Samplers + + + + + Vinyl Control Show/Hide + + + + + Show/hide the vinyl control section + + + + + Preview Deck Show/Hide + + + + + Show/hide the preview deck - - Microphone on/off - Вкл./изкл. микрофон + + Toggle 4 Decks + - - Toggle microphone ducking mode (OFF, AUTO, MANUAL) + + Switches between showing 2 decks and 4 decks. - - Auxiliary On/Off + + Cover Art Show/Hide (Decks) - - Auxiliary on/off + + Show/hide cover art in the main decks - - Auto DJ - Авто-DJ (Автодиджей) + + Vinyl Spinner Show/Hide + - - Auto DJ Shuffle + + Show/hide spinning vinyl widget - - Auto DJ Skip Next + + Vinyl Spinners Show/Hide (All Decks) - - Auto DJ Add Random Track + + Show/Hide all spinnies - - Add a random track to the Auto DJ queue + + Toggle Waveforms - - Auto DJ Fade To Next + + Show/hide the scrolling waveforms. - - Trigger the transition to the next track + + Waveform zoom - - User Interface + + Waveform Zoom - - Samplers Show/Hide + + Zoom waveform in - - Show/hide the sampler section + + Waveform Zoom In - - Microphone && Auxiliary Show/Hide - keep double & to prevent creation of keyboard accelerator + + Zoom waveform out - - Waveform Zoom Reset To Default + + Star Rating Up - - Reset the waveform zoom level to the default value selected in Preferences -> Waveforms + + Increase the track rating by one star - - Select the next color in the color palette for the loaded track. + + Star Rating Down - - Select previous color in the color palette for the loaded track. + + Decrease the track rating by one star + + + Controller - - Navigate Through Track Colors + + Unknown + + + ControllerHidReportTabsManager - - Select either next or previous color in the palette for the loaded track. + + Read - - Start/Stop Live Broadcasting + + Send - - Stream your mix over the Internet. + + Payload Size - - Start/stop recording your mix. + + bytes - - - Samplers + + Byte Position - - Vinyl Control Show/Hide + + Bit Position - - Show/hide the vinyl control section + + Bit Size - - Preview Deck Show/Hide + + Logical Min - - Show/hide the preview deck + + Logical Max - - Toggle 4 Decks + + Value - - Switches between showing 2 decks and 4 decks. + + Physical Min - - Cover Art Show/Hide (Decks) + + Physical Max - - Show/hide cover art in the main decks + + Unit Scaling - - Vinyl Spinner Show/Hide + + Unit - - Show/hide spinning vinyl widget + + Abs/Rel - - Vinyl Spinners Show/Hide (All Decks) + + + Wrap - - Show/Hide all spinnies + + + Linear - - Toggle Waveforms + + + Preferred - - Show/hide the scrolling waveforms. + + + Null - - Waveform zoom + + + Volatile - - Waveform Zoom + + Usage Page - - Zoom waveform in + + Usage - - Waveform Zoom In + + Relative - - Zoom waveform out + + Absolute - - Star Rating Up + + No Wrap - - Increase the track rating by one star + + Non Linear - - Star Rating Down + + No Preferred - - Decrease the track rating by one star + + No Null - - - Controller - - Unknown + + Non Volatile @@ -3675,27 +3869,27 @@ trace - Above + Profiling messages ControllerScriptEngineLegacy - + Controller Mapping File Problem - + The mapping for controller "%1" cannot be opened. - + The functionality provided by this controller mapping will be disabled until the issue has been resolved. - + File: - + Error: @@ -3728,7 +3922,7 @@ trace - Above + Profiling messages - + Lock Заключване @@ -3758,7 +3952,7 @@ trace - Above + Profiling messages - + Enter new name for crate: @@ -3775,22 +3969,22 @@ trace - Above + Profiling messages Внасяне на колекция - + Export Crate Изнасяне на колекция - + Unlock Отключване - + An unknown error occurred while creating crate: Неочаквана грешка при създаване на колекция: - + Rename Crate Преименуване на колекция @@ -3800,28 +3994,28 @@ trace - Above + Profiling messages - + Confirm Deletion - - + + Renaming Crate Failed Колекцията не бе преименувана успешно. - + Crate Creation Failed - + M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Text CSV (*.csv);;Readable Text (*.txt) Списък за изпълнение M3U (*.m3u);;Списък за изпълнение M3U8 (*.m3u8);;Списък за изпълнение PLS (*.pls);;Текст в CSV (*.csv);;Четим текст (*.txt) - + M3U Playlist (*.m3u) M3U Списък с песни (*.m3u) @@ -3842,17 +4036,17 @@ trace - Above + Profiling messages - + Do you really want to delete crate <b>%1</b>? - + A crate cannot have a blank name. Колекцията не може да има празно име. - + A crate by that name already exists. Съществува друга колекция с това име. @@ -3947,12 +4141,12 @@ trace - Above + Profiling messages Програмисти от стари версии - + Official Website - + Donate @@ -4738,122 +4932,139 @@ You tried to learn: %1,%2 DlgPrefBroadcast - + Icecast 2 Icecast 2 - + Shoutcast 1 - + Icecast 1 Icecast 1 - + MP3 MP3 - + Ogg Vorbis Ogg Vorbis - + Opus - + AAC - + HE-AAC - + HE-AACv2 - + Automatic - + Mono - + Stereo Стерео - - - - + + Saving settings failed + + + + + The password for '%1' contains invalid characters. Please enter it again. + +Note: This can for example be invisible linebreaks when using copy/paste. + + + + + + Action failed Неуспешно действие - + You can't create more than %1 source connections. - + Source connection %1 - + + Settings for %1 + Settings for broadcast profile, %1 is the profile name placeholder + + + + At least one source connection is required. - + Are you sure you want to disconnect every active source connection? - - + + Confirmation required - + '%1' has the same Icecast mountpoint as '%2'. Two source connections to the same server that have the same mountpoint can not be enabled simultaneously. - + Are you sure you want to delete '%1'? - + Renaming '%1' - + New name for '%1': - + Can't rename '%1' to '%2': name already in use @@ -4866,27 +5077,27 @@ Two source connections to the same server that have the same mountpoint can not - + Mixxx Icecast Testing Пробване на Mixxx Icecast - + Public stream Публичен поток - + http://www.mixxx.org http://www.mixxx.org - + Stream name Име на потока - + Due to flaws in some streaming clients, updating Ogg Vorbis metadata dynamically can cause listener glitches and disconnections. Check this box to update the metadata anyway. @@ -4926,67 +5137,72 @@ Two source connections to the same server that have the same mountpoint can not Настройки за %1 - + + Available fields: $artist, $title, $year, $album, $genre, $bpm + + + + Dynamically update Ogg Vorbis metadata. - + ICQ - + AIM - + Website Уеб страница - + Live mix Микс на живо - + IRC - + Select a source connection above to edit its settings here - + Password storage - + Plain text - + Secure storage (OS keychain) - + Genre Жанр - + Use UTF-8 encoding for metadata. - + Description Описание @@ -5012,42 +5228,42 @@ Two source connections to the same server that have the same mountpoint can not Канали - + Server connection Връзка със сървъра - + Type Тип - + Host Сървър - + Login Влизане - + Mount Монтиране - + Port Порт - + Password Парола - + Stream info @@ -5057,17 +5273,17 @@ Two source connections to the same server that have the same mountpoint can not - + Use static artist and title. - + Static title - + Static artist @@ -5126,13 +5342,14 @@ Two source connections to the same server that have the same mountpoint can not DlgPrefColors - - + + + By hotcue number - + Color @@ -5177,17 +5394,22 @@ Two source connections to the same server that have the same mountpoint can not + Jump default color + + + + When key colors are enabled, Mixxx will display a color hint associated with each key. - + Enable Key Colors - + Key palette @@ -5195,113 +5417,113 @@ associated with each key. DlgPrefController - + Apply device settings? - + Your settings must be applied before starting the learning wizard. Apply settings and continue? - + None Без - + %1 by %2 - + Mapping has been edited - + Always overwrite during this session - + Save As - + Overwrite - + Save user mapping - + Enter the name for saving the mapping to the user folder. - + Saving mapping failed - + A mapping cannot have a blank name and may not contain special characters. - + A mapping file with that name already exists. - + Do you want to save the changes? - + Troubleshooting - + <font color='#BB0000'><b>If you use this mapping your controller may not work correctly. Please select another mapping or disable the controller.</b></font><br><br>This mapping was designed for a newer Mixxx Controller Engine and cannot be used on your current Mixxx installation.<br>Your Mixxx installation has Controller Engine version %1. This mapping requires a Controller Engine version >= %2.<br><br>For more information visit the wiki page on <a href='https://mixxx.org/wiki/doku.php/controller_engine_versions'>Controller Engine Versions</a>. - + Mapping already exists. - + <b>%1</b> already exists in user mapping folder.<br>Overwrite or save with a new name? - + Clear Input Mappings - + Are you sure you want to clear all input mappings? - + Clear Output Mappings - + Are you sure you want to clear all output mappings? @@ -5319,100 +5541,105 @@ Apply settings and continue? Включено - + + Refresh mapping list + + + + Device Info - + Physical Interface: - + Vendor name: - + Product name: - + Vendor ID - + VID: - + Product ID - + PID: - + Serial number: - + USB interface number: - + HID Usage-Page: - + HID Usage: - + Description: - + Support: - + Screens preview - + Input Mappings - - + + Search - - + + Add Добавяне - - + + Remove Премахване @@ -5432,17 +5659,17 @@ Apply settings and continue? - + Mapping Info - + Author: - + Name: @@ -5452,28 +5679,28 @@ Apply settings and continue? - + Data protocol: - + Mapping Files: - + Mapping Settings - - + + Clear All Изчистване на всичко - + Output Mappings @@ -5488,21 +5715,21 @@ Apply settings and continue? - Mixxx uses "mappings" to connect messages from your controller to controls in Mixxx. If you do not see a mapping for your controller in the "Load Mapping" menu when you click on your controller on the left sidebar, you may be able to download one online from the %1. Place the XML (.xml) and Javascript (.js) file(s) in the "User Mapping Folder" then restart Mixxx. If you download a mapping in a ZIP file, extract the XML and Javascript file(s) from the ZIP file to your "User Mapping Folder" then restart Mixxx. + Mixxx uses "mappings" to connect messages from your controller to controls in Mixxx. If you do not see a mapping for your controller in the "Load Mapping" menu when you click on your controller on the left sidebar, you may be able to download one online from the %1. Place the XML (.xml) and Javascript (.js) file(s) in the "User Mapping Folder" then click the Reload button next to the mapping selector to reload all available mappings. If you download a mapping in a ZIP file, extract the XML and Javascript file(s) from the ZIP file to your "User Mapping Folder" then click the Reload button. - + Mixxx DJ Hardware Guide - + MIDI Mapping File Format - + MIDI Scripting with Javascript @@ -5671,137 +5898,137 @@ Apply settings and continue? DlgPrefDeck - + Mixxx mode - + Mixxx mode (no blinking) - + Pioneer mode - + Denon mode - + Numark mode - + CUP mode - + mm:ss%1zz - Traditional - + mm:ss - Traditional (Coarse) - + s%1zz - Seconds - + sss%1zz - Seconds (Long) - + s%1sss%2zz - Kiloseconds - + Intro start - + Main cue - + First hotcue - + First sound (skip silence) - + Beginning of track - + Reject - + Allow, but stop deck - + Allow, play from load point - + 4% - + 6% (semitone) - + 8% (Technics SL-1210) - + 10% 10% - + 16% - + 24% - + 50% 50% - + 90% 90% @@ -6238,57 +6465,57 @@ You can always drag-and-drop tracks on screen to clone a deck. - + Allow screensaver to run - + Prevent screensaver from running - + Prevent screensaver while playing - + Disabled - + 2x MSAA - + 4x MSAA - + 8x MSAA - + 16x MSAA - + This skin does not support color schemes - + Information Информация - + Mixxx must be restarted before the new locale, scaling or multi-sampling settings will take effect. @@ -6515,67 +6742,97 @@ and allows you to pitch adjust them for harmonic mixing. - + Music Directory Added Музикалната папка е добавена - + You added one or more music directories. The tracks in these directories won't be available until you rescan your library. Would you like to rescan now? Вие сте добавили една или повече папки с музика. Файловете в тези папки няма да са налични докато не сканирате повторно вашата библиотека. Желаете ли да сканирате повторно сега? - + Scan Сканиране - + Item is not a directory or directory is missing - + Choose a music directory - + Confirm Directory Removal - + Mixxx will no longer watch this directory for new tracks. What would you like to do with the tracks from this directory and subdirectories?<ul><li>Hide all tracks from this directory and subdirectories.</li><li>Delete all metadata for these tracks from Mixxx permanently.</li><li>Leave the tracks unchanged in your library.</li></ul>Hiding tracks saves their metadata in case you re-add them in the future. - + Metadata means all track details (artist, title, playcount, etc.) as well as beatgrids, hotcues, and loops. This choice only affects the Mixxx library. No files on disk will be changed or deleted. - + Hide Tracks - + Delete Track Metadata - + Leave Tracks Unchanged - + Relink music directory to new location - + + Black + + + + + ExtraBold + + + + + Bold + + + + + SemiBold + + + + + Medium + + + + + Light + + + + Select Library Font @@ -6624,262 +6881,267 @@ and allows you to pitch adjust them for harmonic mixing. - + Audio File Formats Аудио формати - + Track Table View - + Track Double-Click Action: - + BPM display precision: - + Session History - + Track duplicate distance - + When playing a track again log it to the session history only if more than N other tracks have been played in the meantime - + History playlist with less than N tracks will be deleted<br/><br/>Note: the cleanup will be performed during startup and shutdown of Mixxx. - + Delete history playlist with less than N tracks - + Library Font: - + + Show scan summary dialog + + + + Grey out played tracks - + Track Search - + Enable search completions - + Enable search history keyboard shortcuts - + Percentage of pitch slider range for 'fuzzy' BPM search: - + This range will be used for the 'fuzzy' BPM search (~bpm:) via the search box, as well as for BPM search in Track context menu > Search related Tracks - + Preferred Cover Art Fetcher Resolution - + Fetch cover art from coverartarchive.com by using Import Metadata From Musicbrainz. - + Note: ">1200 px" can fetch up to very large cover arts. - + >1200 px (if available) - + 1200 px (if available) - + 500 px - + 250 px - + Settings Directory - + The Mixxx settings directory contains the library database, various configuration files, log files, track analysis data, as well as custom controller mappings. - + Edit those files only if you know what you are doing and only while Mixxx is not running. - + Open Mixxx Settings Folder - + Library Row Height: - + Use relative paths for playlist export if possible Използване на относителни файлови местоположения при изнасяне на списъци с песни (ако е възможно) - + ... - + px - + Synchronize library track metadata from/to file tags - + Automatically write modified track metadata from the library into file tags and reimport metadata from updated file tags into the library - + Synchronize Serato track metadata from/to file tags (experimental) - + Keeps track color, beat grid, bpm lock, cue points, and loops synchronized with SERATO_MARKERS/MARKERS2 file tags.<br/><br/>WARNING: Enabling this option also enables the reimport of Serato metadata after files have been modified outside of Mixxx. On reimport existing metadata in Mixxx is replaced with the metadata found in file tags. Custom metadata not included in file tags like loop colors is lost. - + Edit metadata after clicking selected track - + Search-as-you-type timeout: - + ms - + Load track to next available deck - + External Libraries - + You will need to restart Mixxx for these settings to take effect. - + Show Rhythmbox Library - + Track Metadata Synchronization / Playlists - + Add track to Auto DJ queue (bottom) - + Add track to Auto DJ queue (top) - + Ignore - + Show Banshee Library - + Show iTunes Library - + Show Traktor Library - + Show Rekordbox Library - + Show Serato Library - + All external libraries shown are write protected. @@ -7224,33 +7486,33 @@ and allows you to pitch adjust them for harmonic mixing. DlgPrefRecord - + Choose recordings directory - - + + Recordings directory invalid - + Recordings directory must be set to an existing directory. - + Recordings directory must be set to a directory. - + Recordings directory not writable - + You do not have write access to %1. Choose a recordings directory you have write access to. @@ -7268,43 +7530,55 @@ and allows you to pitch adjust them for harmonic mixing. Избор... - - + + This will include the filepath for each track in the CUE file. +This option makes the CUE file less portable and can reveal personal +information from filepaths (i.e. username) + + + + + Enable File Annotation in CUE file + + + + + Quality Качество - + Tags Етикети - + Title Заглавие - + Author Автор - + Album Албум - + Output File Format - + Compression - + Lossy @@ -7319,12 +7593,12 @@ and allows you to pitch adjust them for harmonic mixing. - + Compression Level - + Lossless @@ -7455,172 +7729,177 @@ The loudness target is approximate and assumes track pregain and main output lev DlgPrefSound - + %1 Hz %1 Hz - + Default (long delay) - + Experimental (no delay) - + Disabled (short delay) - + Soundcard Clock - + Network Clock - + Direct monitor (recording and broadcasting only) - + Disabled - + Enabled Включено - + Stereo Стерео - + Mono - + To enable Realtime scheduling (currently disabled), see the %1. - + The %1 lists sound cards and controllers you may want to consider for using Mixxx. - + Mixxx DJ Hardware Guide - + + Find details in the Mixxx user manual + + + + Information - + Mixxx must be restarted before the multi-threaded RubberBand setting change will take effect. - + auto (<= 1024 frames/period) - + 2048 frames/period - + 4096 frames/period - + Are you sure? - + Distribute stereo channels into mono channels for parallel processing will result in a loss of mono compatibility and a diffuse stereo image. It is not recommended during broadcasting or recording. - + Are you sure you wish to proceed? - + No - + Yes, I know what I am doing - + Microphone inputs are out of time in the record & broadcast signal compared to what you hear. - + Measure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. - + Refer to the Mixxx User Manual for details. - + Configured latency has changed. - + Remeasure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. - + Realtime scheduling is enabled. - + Main output only - + Main and booth outputs - + %1 ms %1 ms - + Configuration error Грешка в настройките @@ -7687,17 +7966,22 @@ The loudness target is approximate and assumes track pregain and main output lev - + + Deck and Bus outputs are for external mixers. They are post-fader and include effects and crossfader (for Auto DJ). For external mixing, make sure all Mixxx faders and EQ knobs are set to their default position (right- or double-click). + + + + 20 ms - + Buffer Underflow Count - + 0 @@ -7722,12 +8006,12 @@ The loudness target is approximate and assumes track pregain and main output lev Вход - + System Reported Latency - + Enlarge your audio buffer if the underflow counter is increasing or you hear pops during playback. @@ -7757,7 +8041,7 @@ The loudness target is approximate and assumes track pregain and main output lev - + Downsize your audio buffer to improve Mixxx's responsiveness. @@ -7804,7 +8088,7 @@ The loudness target is approximate and assumes track pregain and main output lev Настройки на плочите - + Show Signal Quality in Skin Показване качеството на сигнала в скина @@ -7840,46 +8124,51 @@ The loudness target is approximate and assumes track pregain and main output lev + Pitch estimator + + + + Deck 1 - + Deck 2 - + Deck 3 - + Deck 4 - + Signal Quality Качество на сигнала - + http://www.xwax.co.uk http://www.xwax.co.uk - + Powered by xwax с помощта на xwax - + Hints - + Select sound devices for Vinyl Control in the Sound Hardware pane. @@ -7887,58 +8176,58 @@ The loudness target is approximate and assumes track pregain and main output lev DlgPrefWaveform - + Filtered - + HSV - + RGB - + Top - + Center - + Bottom - + 1/3 of waveform viewer options for "Text height limit" - + Entire waveform viewer - + OpenGL not available - + dropped frames - + Cached waveforms occupy %1 MiB on disk. @@ -7956,22 +8245,17 @@ The loudness target is approximate and assumes track pregain and main output lev - + OpenGL Status - + Displays which OpenGL version is supported by the current platform. - - Normalize waveform overview - - - - + Average frame rate @@ -7987,7 +8271,7 @@ The loudness target is approximate and assumes track pregain and main output lev - + Displays the actual frame rate. @@ -8022,7 +8306,7 @@ The loudness target is approximate and assumes track pregain and main output lev Ниско - + Show minute markers on waveform overview @@ -8067,7 +8351,7 @@ The loudness target is approximate and assumes track pregain and main output lev - + The waveform overview shows the waveform envelope of the entire track. Select from different types of displays for the waveform overview, which differ primarily in the level of detail shown in the waveform. @@ -8134,22 +8418,22 @@ Select from different types of displays for the waveform, which differ primarily - + Caching - + Mixxx caches the waveforms of your tracks on disk the first time you load a track. This reduces CPU usage when you are playing live but requires extra disk space. - + Enable waveform caching - + Generate waveforms when analyzing library @@ -8165,7 +8449,7 @@ Select from different types of displays for the waveform, which differ primarily - + Type @@ -8185,22 +8469,68 @@ Select from different types of displays for the waveform, which differ primarily % - - Play marker position + + Play marker position + + + + + Moves the play marker position on the waveforms to the left, right or center (default). + + + + + Stem + + + + + Channel opacity + + + + + Channel opacity (outline) + + + + + Main stem opacity + + + + + Outline stem opacity + + + + + Move channel to foreground when volume is adjusted + + + + + Overview Waveforms - - Moves the play marker position on the waveforms to the left, right or center (default). + + Gain - - Overview Waveforms + + Normalize to peak + + + + + Use Waveform "Global" gain and ReplayGain (if enabled) + 'Global' refers to the 'Global' visual gain in the scrolling waveform settings - + Clear Cached Waveforms @@ -8689,7 +9019,7 @@ This can not be undone! Темпо: - + Location: @@ -8704,27 +9034,27 @@ This can not be undone! - + BPM Уд/мин (BPM) - + Sets the BPM to 75% of the current value. - + 3/4 BPM - + Sets the BPM to 50% of the current value. - + Displays the BPM of the selected track. @@ -8779,49 +9109,49 @@ This can not be undone! Жанр - + ReplayGain: - + Sets the BPM to 200% of the current value. - + Double BPM - + Halve BPM - + Clear BPM and Beatgrid - + Move to the previous item. "Previous" button - + &Previous - + Move to the next item. "Next" button - + &Next @@ -8846,12 +9176,12 @@ This can not be undone! - + Date added: - + Open in File Browser @@ -8861,102 +9191,107 @@ This can not be undone! - + + Filesize: + + + + Track BPM: Темпо на песента: - + Converts beats detected by the analyzer into a fixed-tempo beatgrid. Use this setting if your tracks have a constant tempo (e.g. most electronic music). Often results in higher quality beatgrids, but will not do well on tracks that have tempo shifts. - + Assume constant tempo - + Sets the BPM to 66% of the current value. - + 2/3 BPM - + Sets the BPM to 150% of the current value. - + 3/2 BPM - + Sets the BPM to 133% of the current value. - + 4/3 BPM - + Tap with the beat to set the BPM to the speed you are tapping. - + Tap to Beat Щракнете в такт - + Hint: Use the Library Analyze view to run BPM detection. Щракнете на "Анализ", за да активирате засичане на темпо. - + Save changes and close the window. "OK" button - + &OK - + Discard changes and close the window. "Cancel" button - + Save changes and keep the window open. "Apply" button - + &Apply &Прилагане - + &Cancel &Отказ - + (no color) @@ -9113,7 +9448,7 @@ Often results in higher quality beatgrids, but will not do well on tracks that h - + (no color) @@ -9315,27 +9650,27 @@ Often results in higher quality beatgrids, but will not do well on tracks that h EngineBuffer - + Soundtouch (faster) - + Rubberband (better) - + Rubberband R3 (near-hi-fi quality) - + Unknown, using Rubberband (better) - + Unknown, using Soundtouch @@ -9550,15 +9885,15 @@ Often results in higher quality beatgrids, but will not do well on tracks that h LegacySkinParser - - + + Safe Mode Enabled Shown when Mixxx is running in safe mode. - - + + No OpenGL support. Shown when Spinny can not be displayed. Please keep @@ -9569,57 +9904,57 @@ Shown when VuMeter can not be displayed. Please keep - + activate - + toggle - + right - + left - + right small - + left small - + up - + down - + up small - + down small - + Shortcut @@ -9627,62 +9962,62 @@ Shown when VuMeter can not be displayed. Please keep Library - + This or a parent directory is already in your library. - + This or a listed directory does not exist or is inaccessible. Aborting the operation to avoid library inconsistencies - - + + This directory can not be read. - + An unknown error occurred. Aborting the operation to avoid library inconsistencies - + Can't add Directory to Library - + Could not add <b>%1</b> to your library. %2 - + Can't remove Directory from Library - + An unknown error occurred. - + This directory does not exist or is inaccessible. - + Relink Directory - + Could not relink <b>%1</b> to <b>%2</b>. %3 @@ -9844,12 +10179,12 @@ Do you really want to overwrite it? - + Export to Engine DJ - + Tracks @@ -9857,37 +10192,37 @@ Do you really want to overwrite it? MixxxMainWindow - + Sound Device Busy Аудио устройството е заето. - + <b>Retry</b> after closing the other application or reconnecting a sound device <b>Опитайте отново</b> след като затворите другото приложение и включите аудио устройството - - - + + + <b>Reconfigure</b> Mixxx's sound device settings. <b>Повторно</b> конфигуриране на настройките на Mixxx за аудио устройството. - - + + Get <b>Help</b> from the Mixxx Wiki. Получете <b>Помощ</b> от Уики-то на Mixxx. - - - + + + <b>Exit</b> Mixxx. <b>Изход</b> от Mixxx. - + Retry Отново @@ -9897,209 +10232,209 @@ Do you really want to overwrite it? - + Allow Mixxx to hide the menu bar? - + Hide Always show the menu bar? - + Always show - + The Mixxx menu bar is hidden and can be toggled with a single press of the <b>Alt</b> key.<br><br>Click <b>%1</b> to agree.<br><br>Click <b>%2</b> to disable that, for example if you don't use Mixxx with a keyboard.<br><br>You can change this setting any time in Preferences -> Interface.<br> Keep formatting tags <b> (bold text) and <br> (linebreak). %1 is the placeholder for the 'Always show' button label - + Ask me again - - + + Reconfigure Пренастройване - + Help Помощ - - + + Exit Изход - - + + Mixxx was unable to open all the configured sound devices. - + Sound Device Error - + <b>Retry</b> after fixing an issue - + No Output Devices - + Mixxx was configured without any output sound devices. Audio processing will be disabled without a configured output device. - + <b>Continue</b> without any outputs. - + Continue Продължаване - + Load track to Deck %1 - + Deck %1 is currently playing a track. - + Are you sure you want to load a new track? - + There is no input device selected for this vinyl control. Please select an input device in the sound hardware preferences first. - + There is no input device selected for this passthrough control. Please select an input device in the sound hardware preferences first. - + There is no input device selected for this microphone. Do you want to select an input device? - + There is no input device selected for this auxiliary. Do you want to select an input device? - + Scan took %1 - + No changes detected. - - + + %1 tracks in total - + %1 new tracks found - + %1 moved tracks detected - + %1 tracks are missing (%2 total) - + %1 tracks have been rediscovered - + Library scan finished - + Error in skin file - + The selected skin cannot be loaded. - + OpenGL Direct Rendering - + Direct rendering is not enabled on your machine.<br><br>This means that the waveform displays will be very<br><b>slow and may tax your CPU heavily</b>. Either update your<br>configuration to enable direct rendering, or disable<br>the waveform displays in the Mixxx preferences by selecting<br>"Empty" as the waveform display in the 'Interface' section. - - - + + + Confirm Exit Потвърждане на излизането - + A deck is currently playing. Exit Mixxx? В момента свири дек. Изход от Mixxx? - + A sampler is currently playing. Exit Mixxx? - + The preferences window is still open. - + Discard any changes and exit Mixxx? @@ -10115,13 +10450,13 @@ Do you want to select an input device? PlaylistFeature - + Lock Заключване - - + + Playlists Списъци с песни @@ -10131,58 +10466,63 @@ Do you want to select an input device? - + + Adopt current order + + + + Unlock all playlists - + Delete all unlocked playlists - + Unlock Отключване - - + + Confirm Deletion - + Do you really want to delete all unlocked playlists? - + Deleting %1 unlocked playlists.<br>This operation can not be undone! - + Playlists are ordered lists of tracks that allow you to plan your DJ sets. - + It may be necessary to skip some tracks in your prepared playlist or add some different tracks in order to maintain the energy of your audience. - + Some DJs construct playlists before they perform live, but others prefer to build them on-the-fly. - + When using a playlist during a live DJ set, remember to always pay close attention to how your audience reacts to the music you've chosen to play. - + Create New Playlist Създаване на нов списък с песни @@ -10281,58 +10621,58 @@ Do you want to select an input device? QMessageBox - + Upgrading Mixxx - + Mixxx now supports displaying cover art. Do you want to scan your library for cover files now? - + Scan Сканиране - + Later - + Upgrading Mixxx from v1.9.x/1.10.x. - + Mixxx has a new and improved beat detector. - + When you load tracks, Mixxx can re-analyze them and generate new, more accurate beatgrids. This will make automatic beatsync and looping more reliable. - + This does not affect saved cues, hotcues, playlists, or crates. - + If you do not want Mixxx to re-analyze your tracks, choose "Keep Current Beatgrids". You can change this setting at any time from the "Beat Detection" section of the Preferences. - + Keep Current Beatgrids - + Generate New Beatgrids @@ -10446,69 +10786,82 @@ Do you want to scan your library for cover files now? - + Main + Audio path indetifier - + Booth + Audio path indetifier - + Headphones + Audio path indetifier Слушалки - + Left Bus + Audio path indetifier - + Center Bus + Audio path indetifier - + Right Bus + Audio path indetifier - + Invalid Bus + Audio path indetifier - + Deck + Audio path indetifier Дек - + Record/Broadcast + Audio path indetifier - + Vinyl Control + Audio path indetifier Контрол с грамофони - + Microphone + Audio path indetifier Микрофон - + Auxiliary + Audio path indetifier - + Unknown path type %1 + Audio path Неизвестен вид пътека %1 @@ -10837,47 +11190,49 @@ With width at zero, this allows for manually sweeping over the entire delay rang - + Metronome - + + The Mixxx Team - + Adds a metronome click sound to the stream - + BPM Уд/мин (BPM) - + Set the beats per minute value of the click sound - + Sync Синхронизация - + Synchronizes the BPM with the track if it can be retrieved - + + Gain - + Set the gain of metronome click sound @@ -11661,14 +12016,14 @@ Fully right: end of the effect period - - + + encoder failure - - + + Failed to apply the selected settings. @@ -11874,15 +12229,86 @@ and the processed output signal as close as possible in perceived loudness + + Auto Gain Control + + + + + AGC + + + + + Auto Gain Control (AGC) automatically adjusts the gain of an audio signal to maintain a consistent output level. + + + + Threshold (dBFS) + Threshold + + + The Threshold knob adjusts the level above which the effect starts enhancing the input signal + + + + + Target (dBFS) + + + + + Target + + + + + The Target knob adjusts the desired target level of the output signal + + + + + Gain (dB) + + + + + The Gain knob adjusts the maximum amount of gain that the effect will apply + + + + + Knee (dB) + + + + + The Knee knob defines the range around the Threshold where gain changes are applied gradually, +ensuring smooth transitions and avoiding abrupt level shifts. + + + + + The Attack knob sets the time that determines how fast the auto gain +will set in once the signal exceeds the threshold + + + + + The Release knob sets the time that determines how fast the auto gain will recover from the gain +adjustment once the signal falls under the threshold. Depending on the input signal, short release times +may introduce a 'pumping' effect and/or distortion. + + The Threshold knob adjusts the level above which the compressor starts attenuating the input signal @@ -11911,6 +12337,7 @@ At a ratio of 1:1 no compression is happening, as the input is exactly the outpu + Knee @@ -11921,11 +12348,13 @@ At a ratio of 1:1 no compression is happening, as the input is exactly the outpu + Attack (ms) + Attack @@ -11937,11 +12366,13 @@ will set in once the signal exceeds the threshold + Release (ms) + Release @@ -11970,12 +12401,12 @@ may introduce a 'pumping' effect and/or distortion. - + built-in - + missing @@ -12010,42 +12441,42 @@ may introduce a 'pumping' effect and/or distortion. - + Empty - + Simple - + Filtered - + HSV - + VSyncTest - + RGB - + Stacked - + Unknown @@ -12306,193 +12737,193 @@ may introduce a 'pumping' effect and/or distortion. ShoutConnection - - + + Mixxx encountered a problem Mixxx се натъкна на проблем - + Could not allocate shout_t Грешка при разпределяне на shout_t - + Could not allocate shout_metadata_t Грешка при разпределяне на shout_metadata_t - + Error setting non-blocking mode: Грешка при задаване на несинхроничен режим: - + Error setting tls mode: - + Error setting hostname! - + Error setting port! - + Error setting password! - + Error setting mount! - + Error setting username! - + Error setting stream name! - + Error setting stream description! - + Error setting stream genre! - + Error setting stream url! - + Error setting stream IRC! - + Error setting stream AIM! - + Error setting stream ICQ! - + Error setting stream public! - + Unknown stream encoding format! - + Use a libshout version with %1 enabled - + Error setting stream encoding format! - + Broadcasting at 96 kHz with Ogg Vorbis is not currently supported. Please try a different sample rate or switch to a different encoding. - + See https://github.com/mixxxdj/mixxx/issues/5701 for more information. - + Unsupported sample rate - + Error setting bitrate - + Error: unknown server protocol! - + Error: Shoutcast only supports MP3 and AAC encoders - + Error setting protocol! - + Network cache overflow - + Connection error - + One of the Live Broadcasting connections raised this error:<br><b>Error with connection '%1':</b><br> - + Connection message - + <b>Message from Live Broadcasting connection '%1':</b><br> - + Lost connection to streaming server and %1 attempts to reconnect have failed. - + Lost connection to streaming server. - + Please check your connection to the Internet. - + Can't connect to streaming server - + Please check your connection to the Internet and verify that your username and password are correct. Моля проверете Интернет връзката си и дали името и паролата ви са верни. @@ -12500,7 +12931,7 @@ may introduce a 'pumping' effect and/or distortion. SoftwareWaveformWidget - + Filtered @@ -12508,23 +12939,23 @@ may introduce a 'pumping' effect and/or distortion. SoundManager - - + + a device устройство - + An unknown error occurred Възникна неочаквана грешка - + Two outputs cannot share channels on "%1" - + Error opening "%1" @@ -12709,7 +13140,7 @@ may introduce a 'pumping' effect and/or distortion. - + Spinning Vinyl @@ -12891,7 +13322,7 @@ may introduce a 'pumping' effect and/or distortion. - + Cover Art Обложка @@ -13081,243 +13512,243 @@ may introduce a 'pumping' effect and/or distortion. - + Displays the tempo of the loaded track in BPM (beats per minute). - + Tempo - + Key The musical key of a track Ключ - + BPM Tap - + When tapped repeatedly, adjusts the BPM to match the tapped BPM. - + Adjust BPM Down - + When tapped, adjusts the average BPM down by a small amount. - + Adjust BPM Up - + When tapped, adjusts the average BPM up by a small amount. - + Adjust Beats Earlier - + When tapped, moves the beatgrid left by a small amount. - + Adjust Beats Later - + When tapped, moves the beatgrid right by a small amount. - + Tempo and BPM Tap - + Show/hide the spinning vinyl section. - + Keylock - + Toggling keylock during playback may result in a momentary audio glitch. - + Toggle visibility of Loop Controls - + Toggle visibility of Beatjump Controls - + Toggle visibility of Rate Control - + Toggle visibility of Key Controls - + (while previewing) - + Places a cue point at the current position on the waveform. - + Stops track at cue point, OR go to cue point and play after release (CUP mode). - + Set cue point (Pioneer/Mixxx/Numark mode), set cue point and play after release (CUP mode) OR preview from it (Denon mode). - + Is latching the playing state. - + Seeks the track to the cue point and stops. - + Play - + Plays track from the cue point. - + Sends the selected channel's audio to the headphone output, selected in Preferences -> Sound Hardware. - + (This skin should be updated to use Sync Lock!) - + Enable Sync Lock - + Tap to sync the tempo to other playing tracks or the sync leader. - + Enable Sync Leader - + When enabled, this device will serve as the sync leader for all other decks. - + This is relevant when a dynamic tempo track is loaded to a sync leader deck.In that case, other synced devices will adopt the changing tempo. - + Changes the track playback speed (affects both the tempo and the pitch). If keylock is enabled, only the tempo is affected. - + Tempo Range Display - + Displays the current range of the tempo slider. - + Un-ejects when no track is loaded, i.e. reloads the track that was ejected last (of any deck). - + Delete selected hotcue. - + Track Comment - + Displays the comment tag of the loaded track. - + Opens separate artwork viewer. - + Effect Chain Preset Settings - + Show the effect chain settings menu for this unit. - + Select and configure a hardware device for this input - + Recording Duration @@ -13540,947 +13971,982 @@ may introduce a 'pumping' effect and/or distortion. - + When tapped repeatedly, adjusts the tempo to match the tapped BPM. + + + Click to open the tempo/BPM editor + + + + + It also shows a colored bar if Key colors are enabled in the Preferences. + + + The bar will be split vertically if the track's key is in between full keys. + + + + Tempo Tap - + Rate Tap and BPM Tap - + + Set Tempo + + + + + Set the desired tempo in BPM. If the track currently has no BPM detected, set the desired tempo in percent. + + + + Adjust beatgrid by exactly one half beat. Usable only on tracks with constant tempo. - + Revert last BPM/Beatgrid Change - + Revert last BPM/Beatgrid Change of the loaded track. - - + + Toggle the BPM/beatgrid lock - + Tempo and Rate Tap - + Tempo, Rate Tap and BPM Tap - + Shift cues earlier - - + + Shift cues imported from Serato or Rekordbox if they are slightly off time. - + Left click: shift 10 milliseconds earlier - + Right click: shift 1 millisecond earlier - + Shift cues later - + Left click: shift 10 milliseconds later - + Right click: shift 1 millisecond later - - - + + + Drag a Hotcue button here to continue playing after releasing the Hotcue. - + Hint: Change the default cue mode in Preferences -> Decks. - + Mutes the selected channel's audio in the main output. - + Main mix enable - + Hold or short click for latching to mix this input into the main output. - + + Reloads the last replaced track. If no track is loaded reloads the second-last ejected track. + + + + If hotcue is a loop cue, toggles the loop and jumps to if the loop is behind the play position. - + If the play position is inside an active loop, stores the loop as loop cue. - + Drag this button onto another Hotcue button to move it there (change its index). If the other hotcue is set, the two are swapped. - + Expand/Collapse Samplers - + Toggle expanded samplers view. - + Displays the duration of the running recording. - + Auto DJ is active - + Red for when needle skip has been detected. - + Hot Cue - Track will seek to nearest previous hotcue point. - + Sets the track Loop-In Marker to the current play position. - + Press and hold to move Loop-In Marker. - + Jump to Loop-In Marker. - + Sets the track Loop-Out Marker to the current play position. - + Press and hold to move Loop-Out Marker. - + Jump to Loop-Out Marker. - + If the track has no beats the unit is seconds. - + Beatloop Size - + Select the size of the loop in beats to set with the Beatloop button. - + Changing this resizes the loop if the loop already matches this size. - + Halve the size of an existing beatloop, or halve the size of the next beatloop set with the Beatloop button. - + Double the size of an existing beatloop, or double the size of the next beatloop set with the Beatloop button. - + Start a loop over the set number of beats. - + Temporarily enable a rolling loop over the set number of beats. - + Beatloop Anchor - + Define whether the loop is created and adjusted from its staring point or ending point. - + Beatjump/Loop Move Size - + Select the number of beats to jump or move the loop with the Beatjump Forward/Backward buttons. - + Beatjump Forward - + Jump forward by the set number of beats. - + Move the loop forward by the set number of beats. - + Jump forward by 1 beat. - + Move the loop forward by 1 beat. - + Beatjump Backward - + Jump backward by the set number of beats. - + Move the loop backward by the set number of beats. - + Jump backward by 1 beat. - + Move the loop backward by 1 beat. - + Reloop - + If the loop is ahead of the current position, looping will start when the loop is reached. - + Works only if Loop-In and Loop-Out Marker are set. - + Enable loop, jump to Loop-In Marker, and stop playback. - + Displays the elapsed and/or remaining time of the track loaded. - + Click to toggle between time elapsed/remaining time/both. - + Hint: Change the time format in Preferences -> Decks. - + Show/hide intro & outro markers and associated buttons. - + + Ensure all waveforms to have the same height across all channels. By default, when displaying the stem controls, waveform for channel that have no stem may render with a shorter height in order to honor the waveform container size you have requested.. + + + + Intro Start Marker - - - - + + + + If marker is set, jumps to the marker. - - - - + + + + If marker is not set, sets the marker to the current play position. - - - - + + + + If marker is set, clears the marker. - + Intro End Marker - + Outro Start Marker - + Outro End Marker - + Mix - + Adjust the mixing of the dry (input) signal with the wet (output) signal of the effect unit - + D/W mode: Crossfade between dry and wet - + D+W mode: Add wet to dry - + Mix Mode - + Adjust how the dry (input) signal is mixed with the wet (output) signal of the effect unit - + Dry/Wet mode (crossed lines): Mix knob crossfades between dry and wet Use this to change the sound of the track with EQ and filter effects. - + Dry+Wet mode (flat dry line): Mix knob adds wet to dry Use this to change only the effected (wet) signal with EQ and filter effects. - + Route the main mix through this effect unit. - + Route the left crossfader bus through this effect unit. - + Route the right crossfader bus through this effect unit. - + Right side active: parameter moves with right half of Meta Knob turn - + Stem Label - + Name of the stem stored in the stem file - + Text is displayed in the stem color stored in the stem file - + this stem color is also used for the waveform of this stem - + Stem Mute - + Toggle the stem mute/unmuted - + Stem Volume Knob - + Adjusts the volume of the stem - + Skin Settings Menu - + Show/hide skin settings menu - + Save Sampler Bank Запазване на банка с фрази - + Save the collection of samples loaded in the samplers. - + Load Sampler Bank Зареждане на банка с фрази - + Load a previously saved collection of samples into the samplers. - + Show Effect Parameters - + Enable Effect - + Meta Knob Link - + Set how this parameter is linked to the effect's Meta Knob. - + Meta Knob Link Inversion - + Inverts the direction this parameter moves when turning the effect's Meta Knob. - + Super Knob - + Next Chain - + Previous Chain - + Next/Previous Chain - + Clear Изчисти - + Clear the current effect. - + Toggle - + Toggle the current effect. - + Next Следваща - + Clear Unit - + Clear effect unit. - + Show/hide parameters for effects in this unit. - + Toggle Unit - + Enable or disable this whole effect unit. - + Controls the Meta Knob of all effects in this unit together. - + Load next effect chain preset into this effect unit. - + Load previous effect chain preset into this effect unit. - + Load next or previous effect chain preset into this effect unit. - - - - - - - - - + + + + + + + + + Assign Effect Unit - + Assign this effect unit to the channel output. - + Route the headphone channel through this effect unit. - + Route this deck through the indicated effect unit. - + Route this sampler through the indicated effect unit. - + Route this microphone through the indicated effect unit. - + Route this auxiliary input through the indicated effect unit. - + The effect unit must also be assigned to a deck or other sound source to hear the effect. - + Switch to the next effect. - + Previous Предишна - + Switch to the previous effect. - + Next or Previous - + Switch to either the next or previous effect. - + Meta Knob - + Controls linked parameters of this effect - + Effect Focus Button - + Focuses this effect. - + Unfocuses this effect. - + Refer to the web page on the Mixxx wiki for your controller for more information. - + Effect Parameter - + Adjusts a parameter of the effect. - + Inactive: parameter not linked - + Active: parameter moves with Meta Knob - + Left side active: parameter moves with left half of Meta Knob turn - + Left and right side active: parameter moves across range with half of Meta Knob turn and back with the other half - - + + Equalizer Parameter Kill - - + + Holds the gain of the EQ to zero while active. - + Quick Effect Super Knob - + Quick Effect Super Knob (control linked effect parameters). - + Hint: Change the default Quick Effect mode in Preferences -> Equalizers. - + Equalizer Parameter - + Adjusts the gain of the EQ filter. - + Hint: Change the default EQ mode in Preferences -> Equalizers. - - + + Adjust Beatgrid - + Adjust beatgrid so the closest beat is aligned with the current play position. - - + + Adjust beatgrid to match another playing deck. - + If quantize is enabled, snaps to the nearest beat. - + Quantize - + Toggles quantization. - + Loops and cues snap to the nearest beat when quantization is enabled. - + Reverse - + Reverses track playback during regular playback. - + Puts a track into reverse while being held (Censor). - + Playback continues where the track would have been if it had not been temporarily reversed. - - - + + + Play/Pause - + Jumps to the beginning of the track. - + Syncs the tempo (BPM) and phase to that of the other track, if BPM is detected on both. - + Syncs the tempo (BPM) to that of the other track, if BPM is detected on both. - + Sync and Reset Key - + Increases the pitch by one semitone. - + Decreases the pitch by one semitone. - + Enable Vinyl Control - + When disabled, the track is controlled by Mixxx playback controls. - + When enabled, the track responds to external vinyl control. - + Enable Passthrough - + Indicates that the audio buffer is too small to do all audio processing. - + Displays cover artwork of the loaded track. - + Displays options for editing cover artwork. - + Star Rating - + Assign ratings to individual tracks by clicking the stars. @@ -14615,33 +15081,33 @@ Use this to change only the effected (wet) signal with EQ and filter effects. - + Prevents the pitch from changing when the rate changes. - + Changes the number of hotcue buttons displayed in the deck - + Starts playing from the beginning of the track. - + Jumps to the beginning of the track and stops. - - + + Plays or pauses the track. - + (while playing) @@ -14661,215 +15127,215 @@ Use this to change only the effected (wet) signal with EQ and filter effects. - + (while stopped) - + Cue - + Headphone - + Mute Заглушаване - + Old Synchronize - + Syncs to the first deck (in numerical order) that is playing a track and has a BPM. - + If no deck is playing, syncs to the first deck that has a BPM. - + Decks can't sync to samplers and samplers can only sync to decks. - + Hold for at least a second to enable sync lock for this deck. - + Decks with sync locked will all play at the same tempo, and decks that also have quantize enabled will always have their beats lined up. - + Resets the key to the original track key. - + Speed Control - - - + + + Changes the track pitch independent of the tempo. - + Increases the pitch by 10 cents. - + Decreases the pitch by 10 cents. - + Pitch Adjust - + Adjust the pitch in addition to the speed slider pitch. - + Opens a menu to clear hotcues or edit their labels and colors. - + Drag this button onto a Play button while previewing to continue playback after release. - + Dragging with Shift key pressed will not start previewing the hotcue. - + Record Mix Запиши микс - + Toggle mix recording. - + Enable Live Broadcasting - + Stream your mix over the Internet. - + Provides visual feedback for Live Broadcasting status: - + disabled, connecting, connected, failure. - + When enabled, the deck directly plays the audio arriving on the vinyl input. - + Playback will resume where the track would have been if it had not entered the loop. - + Loop Exit - + Turns the current loop off. - + Slip Mode - + When active, the playback continues muted in the background during a loop, reverse, scratch etc. - + Once disabled, the audible playback will resume where the track would have been. - + Track Key The musical key of a track - + Displays the musical key of the loaded track. - + Clock - + Displays the current time. - + Audio Latency Usage Meter - + Displays the fraction of latency used for audio processing. - + A high value indicates that audible glitches are likely. - + Do not enable keylock, effects or additional decks in this situation. - + Audio Latency Overload Indicator @@ -14909,259 +15375,259 @@ Use this to change only the effected (wet) signal with EQ and filter effects. - + Displays the current musical key of the loaded track after pitch shifting. - + Fast Rewind - + Fast rewind through the track. - + Fast Forward - + Fast forward through the track. - + Jumps to the end of the track. - + Sets the pitch to a key that allows a harmonic transition from the other track. Requires a detected key on both involved decks. - - - + + + Pitch Control - + Pitch Rate - + Displays the current playback rate of the track. - + Repeat - + When active the track will repeat if you go past the end or reverse before the start. - + Eject - + Ejects track from the player. - + Hotcue - + If hotcue is set, jumps to the hotcue. - + If hotcue is not set, sets the hotcue to the current play position. - + Vinyl Control Mode - + Absolute mode - track position equals needle position and speed. - + Relative mode - track speed equals needle speed regardless of needle position. - + Constant mode - track speed equals last known-steady speed regardless of needle input. - + Vinyl Status - + Provides visual feedback for vinyl control status: - + Green for control enabled. - + Blinking yellow for when the needle reaches the end of the record. - + Loop-In Marker - + Loop-Out Marker - + Loop Halve - + Halves the current loop's length by moving the end marker. - + Deck immediately loops if past the new endpoint. - + Loop Double - + Doubles the current loop's length by moving the end marker. - + Beatloop - + Toggles the current loop on or off. - + Works only if Loop-In and Loop-Out marker are set. - + Vinyl Cueing Mode - + Determines how cue points are treated in vinyl control Relative mode: - + Off - Cue points ignored. - + One Cue - If needle is dropped after the cue point, track will seek to that cue point. - + Track Time - + Track Duration - + Displays the duration of the loaded track. - + Information is loaded from the track's metadata tags. - + Track Artist - + Displays the artist of the loaded track. - + Track Title - + Displays the title of the loaded track. - + Track Album Албум - + Displays the album name of the loaded track. - + Track Artist/Title - + Displays the artist and title of the loaded track. @@ -15389,47 +15855,75 @@ This can not be undone! WCueMenuPopup - + Cue number - + Cue position - + Edit cue label - + Label... - + Delete this cue - - Toggle this cue type between normal cue and saved loop + + Turn this cue into a regular hotcue + + + + + Turn this cue into a saved loop + + + + + Left-click: Use the old size if known or the current beatloop size as the loop size + + + + + Right-click: Use the current play position as new loop end if it is after the cue + + + + + Turn this cue into a saved forward jump. + + is a linebreak. Try to not to extend the translation beyond the length of the longest source line so the tooltip remains compact. + + + + + Turn this cue into a saved backward jump (one shot loop). - - Left-click: Use the old size or the current beatloop size as the loop size + + Left-click: Use the old size if known or the current play position as jump start position +If this is already a jump cue, swap the jump position and the cue/target position. - - Right-click: Use the current play position as loop end if it is after the cue + + Right-click: use current play position as new jump start position - + Hotcue #%1 @@ -15731,171 +16225,181 @@ This can not be undone! + Show Auto DJ + + + + + Switch to the Auto DJ view. + + + + &Full Screen &На цял екран - + Display Mixxx using the full screen Показване на Mixxx на цял екран - + &Options &Опции - + &Vinyl Control &Контрол с грамофони - + Use timecoded vinyls on external turntables to control Mixxx Ползване на грамофонни плочи с код за контролиране на Mixxx - + Enable Vinyl Control &%1 - + &Record Mix &Записване на микс - + Record your mix to a file Записва Вашия микс във файл - + Ctrl+R Ctrl+R - + Enable Live &Broadcasting - + Stream your mixes to a shoutcast or icecast server Излъчвайте миксовете чрез shoutcast или icecast сървър - + Ctrl+L Ctrl+L - + Enable &Keyboard Shortcuts - + Toggles keyboard shortcuts on or off - + Ctrl+` - + &Preferences Нас&тройки - + Change Mixxx settings (e.g. playback, MIDI, controls) - + &Developer - + &Reload Skin - + Reload the skin - + Ctrl+Shift+R - + Developer &Tools - + Opens the developer tools dialog - + Ctrl+Shift+T - + Stats: &Experiment Bucket - + Enables experiment mode. Collects stats in the EXPERIMENT tracking bucket. - + Ctrl+Shift+E - + Stats: &Base Bucket - + Enables base mode. Collects stats in the BASE tracking bucket. - + Ctrl+Shift+B - + Deb&ugger Enabled - + Enables the debugger during skin parsing - + Ctrl+Shift+D - + &Help Помо&щ @@ -15929,62 +16433,62 @@ This can not be undone! - + &Community Support &Поддръжка от общността - + Get help with Mixxx - + &User Manual Н&аръчник на потребителя - + Read the Mixxx user manual. Прочетете наръчника за потребителя на Mixxx. - + &Keyboard Shortcuts - + Speed up your workflow with keyboard shortcuts. - + &Settings directory - + Open the Mixxx user settings directory. - + &Translate This Application - + Help translate this application into your language. Помогнете на превода на този софтуер на Вашия език. - + &About &За - + About the application Относно приложението @@ -15992,25 +16496,25 @@ This can not be undone! WOverview - + Passthrough Чисто преминаване на сигнала - + Ready to play, analyzing... Text on waveform overview when file is playable but no waveform is visible - - + + Loading track... Text on waveform overview when file is cached from source - + Finalizing... Text on waveform overview during finalizing of waveform analysis @@ -16200,625 +16704,640 @@ This can not be undone! WTrackMenu - + Load to - + Deck Дек - + Sampler - + Add to Playlist Добавяне към списък с песни - + Crates Колекции - + Metadata - + Update external collections - + Cover Art Обложка - + Adjust BPM - + Select Color - - + + Analyze Анализиране - - + + Delete Track Files - + Add to Auto DJ Queue (bottom) Добавяне към Авто DJ опашка (край) - + Add to Auto DJ Queue (top) Добавяне към Авто DJ опашка (начало) - + Add to Auto DJ Queue (replace) - + Preview Deck - + Remove Премахване - + Remove from Playlist - + Remove from Crate - + Hide from Library - + Unhide from Library - + Purge from Library - + Move Track File(s) to Trash - + Delete Files from Disk - + Properties - + Open in File Browser - + Select in Library - + Import From File Tags - + Import From MusicBrainz - + Export To File Tags - + BPM and Beatgrid - + Play Count - + Rating Оценка - + Cue Point - - + + Hotcues - + Intro - + Outro - + Key Ключ - + ReplayGain - + Waveform - + Comment Коментар - + All Всички - + Sort hotcues by position (remove offsets) - + Sort hotcues by position - + Lock BPM - + Unlock BPM - + Double BPM - + Halve BPM - + 2/3 BPM - + 3/4 BPM - + 4/3 BPM - + 3/2 BPM - + Shift Beatgrid Half Beat - + Reanalyze - + Reanalyze (constant BPM) - + Reanalyze (variable BPM) - + Update ReplayGain from Deck Gain - + Deck %1 Дек %1 - + Importing metadata of %n track(s) from file tags - + Marking metadata of %n track(s) to be exported into file tags - - + + Create New Playlist Създаване на нов списък с песни - + Enter name for new playlist: Въведете име за нов списък с песни - + New Playlist Нов списък с песни - - - + + + Playlist Creation Failed Създаването на списъка за изпъленине се провали - + A playlist by that name already exists. Вече съществува списък с песни с това име - + A playlist cannot have a blank name. Списъка с песни не може да бъде без име. - + An unknown error occurred while creating playlist: По време на създаването на списъка за изпълнение възникна неизвестна грешка: - + Add to New Crate - + Scaling BPM of %n track(s) - + Undo BPM/beats change of %n track(s) - + Locking BPM of %n track(s) - + Unlocking BPM of %n track(s) - + Setting rating of %n track(s) - + Setting color of %n track(s) - + Resetting play count of %n track(s) - + Resetting beats of %n track(s) - + Clearing rating of %n track(s) - + Clearing comment of %n track(s) - + Removing main cue from %n track(s) - + Removing outro cue from %n track(s) - + Removing intro cue from %n track(s) - + Removing loop cues from %n track(s) - + Removing hot cues from %n track(s) - + Sorting hotcues of %n track(s) by position (remove offsets) - + Sorting hotcues of %n track(s) by position - + Resetting keys of %n track(s) - + Resetting replay gain of %n track(s) - + Resetting waveform of %n track(s) - + Resetting all performance metadata of %n track(s) - + Move these files to the trash bin? - + Permanently delete these files from disk? - - + + This can not be undone! - + Cancel Отказ - + Delete Files - + Okay - + Move Track File(s) to Trash? - + Track Files Deleted - + Track Files Moved To Trash - + %1 track files were moved to trash and purged from the Mixxx database. - + %1 track files were deleted from disk and purged from the Mixxx database. - + Track File Deleted - + Track file was deleted from disk and purged from the Mixxx database. - + The following %1 file(s) could not be deleted from disk - + This track file could not be deleted from disk - + Remaining Track File(s) - + Close Затваряне - + Clear Reset metadata in right click track context menu in library - + Loops - + Clear BPM and Beatgrid - + Undo last BPM/beats change - + Move this track file to the trash bin? - + Permanently delete this track file from disk? - + All decks where these tracks are loaded will be stopped and the tracks will be ejected. - + All decks where this track is loaded will be stopped and the track will be ejected. - + Removing %n track file(s) from disk... - + Note: if you are in the Computer or Recording view you need to click the current view again to see changes. - + Track File Moved To Trash - + Track file was moved to trash and purged from the Mixxx database. - + Don't show again during this session - + The following %1 file(s) could not be moved to trash - + This track file could not be moved to trash + + + Replace current Auto DJ queue? + + + + + Do you want to replace the entire Auto DJ queue with the selected tracks? + + + + + Don't ask again during this session + + - + Setting cover art of %n track(s) - + Reloading cover art of %n track(s) @@ -16872,37 +17391,37 @@ This can not be undone! WTrackTableView - + Confirm track hide - + Are you sure you want to hide the selected tracks? - + Are you sure you want to remove the selected tracks from AutoDJ queue? - + Are you sure you want to remove the selected tracks from this crate? - + Are you sure you want to remove the selected tracks from this playlist? - + Don't ask again during this session - + Confirm track removal @@ -16910,12 +17429,12 @@ This can not be undone! WTrackTableViewHeader - + Show or hide columns. Показване или скриване на колони. - + Shuffle Tracks @@ -16923,52 +17442,52 @@ This can not be undone! mixxx::CoreServices - + fonts - + database - + effects - + audio interface - + decks - + library - + Choose music library directory Изберете папка за музикалната библиотека - + controllers - + Cannot open database Не може да се отвори базата данни - + Unable to establish a database connection. Mixxx requires QT with SQLite support. Please read the Qt SQL driver documentation for information on how to build it. @@ -17125,6 +17644,24 @@ Mixxx се нуждае от QT с поддръжка за SQLite. Молже п + + mixxx::qml::QmlApplication + + + Existing user profile detected + + + + + Trying to run Mixxx 3.0 with an existing %0 user profile! <br><br>There is <b>serious risks</b> of data loss and corruption.<br>We recommend using a test profile folder with the '--settings-path' argument. <br><br>If you want to continue at your own risk, run Mixxx with the argument '--allow-dangerous-data-corruption-risk'. + + + + + Ok + + + mixxx::qml::QmlVisibleEffectsModel @@ -17133,4 +17670,27 @@ Mixxx се нуждае от QT с поддръжка за SQLite. Молже п + + mixxx::qml::QmlWaveformRendererMark + + + Cannot find the marker pixmap + + + + + Cannot find the marker endPixmap + + + + + Cannot find the marker icon + + + + + Cannot find the marker endIcon + + + \ No newline at end of file diff --git a/res/translations/mixxx_ca.qm b/res/translations/mixxx_ca.qm index a339cfd0690d01af0e70bd09f157b6fa48703fff..d64d05de1e3ddd0a45f1e3d0076cbacb30381b8e 100644 GIT binary patch delta 26937 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�M^>6OrX1OtygqQ@@nr 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�h-EzC8%|Hc3_Z}u-~01T#VsUR3_Nx!qGYv-JT?(Epx%S{*5K~MHjU-m z7OcVyKIYr@&Lio42fn@W3Z&&$zSFue2{~IL-w8^?ziZ@0if9xoKJlGj@<~*Pu5j|I^` zcyka$oPYBbY=otC;CuFA8^$c=od}=>{fmu*p{SK)?j`yCV}Mm z-~5VY|~Dp@r=GgJ-NjX~+70A-{`* z1?)^I5X$FFNB&^ubCO*i@kfU}h_^QJr;nin{@cT|`_CZxM+VQCTaToGd4&w}Vx`!!)841S|(bg zk9pp+NRodm{L@P;#e_WmSqDxW&cDtrMZwO;I*vv2wVJ6Jj zynCW}@MrWDI%;ITheeq+*j*JvH40N-Q2`YZYFk27s$|7l#b=5t9pg!CPZPFoGjRYR zStG06SEE=sTG;+ZVPT6ZYK9CYcK?8=lh%nu&=payD|G)RFVP?l#pynJ(Qs=?h}Gr7 z+2%Dmhnytdc%R;hcyKq@$1EJAMv~F?%UwBZo9*Qr{xTuk* zoD;40;KskMi#8&isH#b{=>_$CV1a0JdL7Bfo`^Od-LNhD3TxYL$AM@=)Ct0@gnU-*V}D~dHRd4PjG|UBSp8K z&XCu$ME4mI$*FqVEa}H1nJo;DaFbXqr`cbwxDF9xc4~ zz=2fXAO`t1BFQ0J_;%cjPUS!0>(-5=ZcR0^qK<|9Q&FR6TwnMe4k2mtb>aKwK6<~m z#4s&}q=;eL;4k{+71Fz<81@(2x`DkIH3_zJx4IZzAYKElwZ#}4#PJAkF~+HY6~vgO zP%QVYVhmKOoD(hr7hqpM+#&u8f!=QvA|@<3f+_tVf(Cp=Lh@8ht(A<_tFf4x8i_*% z!^N~@)B$>2(I}ce6*CI1dtDVXheBV}J0wC=0!g@)5%bEUa$-HXOw3#1M689QnBR2} zNo$?O{5YK9sTQPB#GVq1)`k!l$3z4ghqCiU5mB!z>i$DTL}MIUc(X@Dw3$mZ{+Wny zy+~B>co{zTNHnC#s7mQ35E2k%s z{QQJi)d@56XSrB48pb_ogIHsUBx$xP)|@*8{eNV4!3*LCYlyXTW|BBjO|0D$h$#*z zWaH`@S=tD(?$;gk@tcUKVp$~O9YvI12clJ}B5G+6v|)F#e*RkY`}Sy*OT5%5!o$Ue z?&z8)UK1PqaqOnp5|oc{9;E1Cv9X;MH(WnNY;s2eQnadwaYJv3n-6){psO_acOAdoFfgIZM(Di$?iDkVcm0BzC8jBYA}odsZTut-e$2?{EZS zw1+sd_A<$Xxj34Ipwnu%Mo}kE9J5yYN3!Z5jy)KOrqdB|>@z;l+fkgDhE&W?r;!(3 zAx^AFg+KTu5{|gR@i>dKwQ_MBXQfDN4BLpWD-!$GAlfiZBVV{koXbT|_?#pze84V9 zy)G`IsVz;&)yS;9H1cBGh4s>>1mc}s#Z|`@Szl!9`+exXS9YJ_gqD~)1V2a#6Z zj_6OQxN#X7(f)98OVyF65-x6gVjr`W;&#Rg94^@*GMai2nT~1{i&}_`mdK8KxQKgu z;U7wkE@Y;yxOY>Jm~h@I?x$BHmbh6wZ0kazUKR1ke?N)A*Tj=!BZ-D>6VHZuVBdb$ zC~W(RY#l_X<2aFXH~|UD7V*3UY+&_l@v1C>5U-3- zzjedKn`Nk|`0o|(+9VKbX>B5M4f}BpuY&mK-iP?L2=Ofpie=n6ks?kIr z+(kZ&ls*>K$nVxrXz5U*V;}6!Z33MEO&cqA4!K7PM80mk%dO&sIv5 z(37;Kn?`xq2Bl<&r+C2jN=g3=R5to6rPiVRKFwRHycOH(_*$jvy#2)Dqm=4782Qvu zN{xb`=EF6z+7TMX!c9tz<=fEz6aADL(HP0)ks5j8d&Rc=VN|oC726mbnF>!(YHDB5 zS|h7{UZYreTdBQr8&WqP#bGkGV~IM7lYKU^@&A;1RSm@IUQp_LMH1UEUTG563<=FO zrDZ=Gk`5G6S`Dm4?DieSW$k7w3W0-_)-{WuE^k%ZpDRJkVWZNqA=Y$OGsSh~a$*x- zDQ;u^ar7d&kPWVAWDfT=ih03`TPps&&OxP1&GSV49w}WSv30q$r+_StONkQ~ES^!cn|*rC%k;=+GTXzi(5}<&IUn zURa248?1OsrHBoWP`sDJ+OK?72EJTIth9~da|lQ8lAbDq4`7X(R8joaW)UmWP4UO6 zI=Wg^@ej-*UOZJ9GGZQyz$wbmQ3!TRt0@82hA6GnyRHm7&=4h-IAugPY{x_Em63~m zP?C9|jM7GOT^V&u2ZwY|8B-ted(;YLY+5{O!Vb##yEsl|AFNF7))oSzlrp6tmNZ|l zO!>TkxMhkGya=b^o{v|iE71G>n<~>)iPuYCb z2kMq9J9?~!!1$o-ET2!J#!F>q4Y2)x%FgTo#A+8)cH6B$Iq#OT=LmvUTWdpQZ}K*r z+c7Eo%FD!m*Hrdl#A5Iy<&d)z3FWzR_~mnw?mk!I$G`^KbyZFk!ymR@q@3!E94>8x za>~~i16Zvj7KL^1a!?YB9YrVgsgktOg(Ou`E?!K-%x2LPZb@x@?UO;s0a$R}*03(evDDTT>6FGS*xq<1#N;Fq; zUtwS?ekdO@F>~t{DBpTT;wbNa<=cdK#Q(;=%J(k#hsU1E&zBw~np>3L=H5`NWtG2i zhy@mR zXM$XpPv+>%O+$z$*V9>CZXv(8sk0ohko5YxuILBrV^l2a>59uf#76k(%8ka_bnmOH zxC*C~OFY#mR`1kRT-}F+>up`dJIG-AX6q`s{33br3!Tl-1QHj+bXD>bh>A_oC=IWp zkr%zJs}?#7Rj?8|Ew32dRU@nYL!(%v)7e>zK8M!(rL((#jwGdn&c5KNWd13g!(15O znIk&K0k_b@anjYj9e@X_tx+0XRaf_O06L~8b&U;J+vZ($O*;FK7?i1Nx_&?L^Idf< z>JCIp=A5qOoM7U*7+ovgmH26suGO?p#O;6T+N~RaUDjS_Z7(DERPLs0Um8)X)*)SY zuSB%P+%$5JSGr!6Fv6?5b-k=Oq?Xe~=Q%o<y~`KfN=g(xBT2sVn3GaR%Y9yJ%3wQAabQXA-c6S zkgT>Fr(3)10x|3J=DM|eF`{G3bx{vtwOhXEHsV;7XgFUNNyOTz!}kV|~wJ>AYkY{Sm4bi1Zz;apI@Ztp;J z*?zd{_ER{xOLw3&+W6i7=nhQ(hy1@&30)kj;PS(jx&n2|+_&nEo&HL+)m|fC(p?uH zhW))hS$FCY9Fi(@XTsszKQz~!4V*~w>!G^D>kUcX>90$g2UqR8TzBDOI#JnY8bx$T z-Q`u$u$7;>E9(MLJN}?cUYJX)e?#5XhsntQf7s|!j_<}=-P5HFX-HC@s=Kk#59j`d z>e8o1qJQ^Scjq_SYV+IcGPUTY*WGo`BK~&0E~|b8qVtk2yOsyZRWo(3<}XKSri$*> zq6Wmh#_QhjBSeNR8l~Y2bZ?hHNpS@)~>5t2vS>VEB?i;`-zu0RV)eSLNR>eV22LDl{1=TE%z zRh4j*OMZ$H_c&BO8nslVlh`F|@>DjM<5+$NRqWe>vm}dE!?|WT?f?qPc85tCsTVMN+ntT59!voL)Pumad;mQrru*3^E_YWwk;T zUy_rf)Jl0is3W{ntL%JeJk;uUTV!c@OTHa)S8a4jT#YZ%>@fc z?3<)oYraL$*iu%l<$`_AR;aZnl_zO(np!6l(Q0d5)v@UzY#&F}@i__*jk~LLH&sA+ zZjM@S&r0}(4r;xR7+H-5YW?1D!Odr>4W9KOy8T3TzEB;hS(w_`u$81{wbiC=^NBxl zSDP)yE-QOQZMMdf*wZ+x+Cs)5u@>HH3nys3%u1>YD@FA0u-dj3)^7Sujodp}b$w_d z-nE(PW(OssY*#zA#r`MKD9xy$Q7oOIcJjdw71~}>I|Uy_6#b-jF4h4l*jBak6}a}1 zzg3Tiko(*Fsy+PhK=-TxYR~OMVAb8#p6Ssf$~02F+)I+w<(le!b3d^%E7XCFCy_K@ zm+JGa4@nu%)WM_9ljI$y4zWjGP_w=o;Q0|A^O-ulVB~iPt0P<35j#6b9Xl97>)I=I z>>ey}KpQpC@imF#ht&UCF^JWk>cq3T$UD;g)F7P?$@hZPDbj6N@nSVN7L|BMWM|y4~uM*~pBXN~_DJGECt_bvce*i{Q)Z^7~LYr|s3{KdO_IyG~uz9aBD3 zr>+{0&plbJu8AE&QvNV?-HehXr=_b=3$eYE8>;J@Ks|qGsjhGBf%AVM26cU+AJI}* zb-i}u7ix5?dqfVO)#zKW;@1Dv*!NDvwk=mTH-g~s>Z@)`LU8%^Ro$MMMRK^iy8SbZ zwLMpNL^_i==c4WmdX3`LPIXs)8=}Ca>hA0u97OJ^?wyP@eA{ewUmJVOFnH36pwZ}& zy8kjmnCzj(=?#e2-fCRjdlZ`k)k8*iq}|2T6ZPOB&s|dEuNI7Cx*Gqi7qRP6YCMip zv+HHlleJ(>&DW_X|E?o3@4T8&<~#|5r+T(Henax*x_Su*nZ>~<_3F3sDBqPWWZ!W0 znzba(Y|#bvS^)#EX_Uf>Yh=bZ>a|AL=N~fFYr|ZKMITqM-5!K4S%5}ya;Taz3J-R| zPfbZi*XvzRHRb(bV&(G-S?i8^ogF6nHCQ8mdPcn-auMeU{ncAeNko&KRO_vJ5iqJu zH9aE)Cm79YW=t?im42yN<StLEVujcwileElH%{`opx?o53 zL+NZNrYq_f%11vSSN-yFJ;@D@s^5NwkeIws{XJkM@wr~=Z*6INsDJk2@7GLG{~k`o zao@vMz1%o~_}KA!HVATh=0S~Ie?-rMY|t>gpyve-)@`(&zx5_@__tm>gbz0j((B*{ z*bg7Q4$)HT9;P?We@;{>wU7;5HA*j&^(Jq)>Q(#n#UjJd_iv>y-V$NDZ%KXe_7Eyw z)|&bW+lm8&*__1))O~()HfTy1%-yg z`esMMaMn}kTT3uHzw!FEP`kWId42nk&nPS==-ndYaro?ozB6tp5;`7hy z`(4aJ2J}Qfz_cXDW%Ji}gMWZlfsWqxY@S4F2Ss-tTfge&upX z?|<4C=YG!WhrE4`yuX4*o_s(*+&c^Tzni;$_z;|UTE9*|eDY5co7d|{WV?{;lcO*g%G@E%&S_yP41H7ZvbNV|_#rVu0bXK2o6i_4Jc|>1MP} zhHud?yNsnthn`YTaB&=ohW`l~YoAq;NoucjxX zl2J~d^3a8N&j%B zAWZsu*X*DM+7zZSpVx7g50o3{qIPmTxUP%e;I(zB%K{$pyu$^$DSGJFxKo?cY|c|AhxHiK|bY7 zlI>uFd>YrgW*GSQ=_Efe8Pp+Aw~lo*%2Oi@hTLu>Hy&#+)j?+^uA9N^;6sek4MkpJ z|1%#~L&aeHLGl(ur6PI~dm{~%@(^xg8XIaf6C|&DW~kK`LZYGG;LsNyu;gQdqgx2% zcO`?G>Wvvmq9z#{B@ZR3a(jbw|K*t3 zV2%9B8bf3C7BZ8+*A0#RaUh`P41-I~S7OP{4Q;N$TKzw0U=)s0-uvm}Tf?i)#3x zs)k-QVVsBF8oXOUH~bf77@f^&SrP@v`Gst-P@~juKp_Vd(I{5T0ilw!YZ(IKE5fFB6mo!%VMH~k?5r<_5mUxM zrbin_ob@BIu&7~#^$p%g`C}OI<2wq5t2J`I$T0Fj9!bxS8phmYB-f~87-yeL?B5T= zOa{qdk$QhQlt%CG(aU4&TO!i2<_V z$N}gCYqa4+z;~IgP@)N->L zB4P{)Ua;S#!7eHQV*{~g0k<0fL0RvT_jgXU}DYDl+DC7vH* zNMDHSmJxNFuToUSf!@s0_lCO_3igvM(RFOtyYy$D99!7m|0D{&tqy7sX z@XQsX0mUZ@t#34Yz{;m~F_xIaNUUjZEL9&P-Y~{k>cxBHn3Ig9%UmF7^<-n&V%FZU z-rC0Unfb)4k2O|8C4+L>7%R`|fT?V1tP;K)sZy@7$`MqtN)9$wjlGIrN@f{t4_&{UBhsBBK zyfilDr-&Or7+YF(4@r7G*67j?;j-8*W1D9#D2q85+hrhiO6jYS`T80=#^T?T${St3 zgb?@rW9&2!HW2J;>=FRYxb~8SYlhe9Sm#<#hPyA4cDDeMn4NYxLiR5w)0Q9J0=X zq~G(6L(VrO>FEsP(A6c0^*d}FUJEwz%VHdU5MuQ3G~?(rBp&DNjpJXW!sw0|CqD=w z_IICgii}LDM1pZjTf~y)6^)@Se-VGy%ot`dArtbn8pHQF5ufwO7=A1qF0!LWo)c%B zw{ap-_3%PAnWT}m@-WVKXh5PzXXByn5O^ zJ=1vLDAs&Nrt!eNF6dY+F~(KGOszd*JZS#{Y4s)Jp)j=PHrF;DF9GFKrn^QdFw}T5 z6#w1E$(F`5hmeS@I%iBM_+0Elq$y{{NAe_2Jm^j725Jz2!sS2w1dgi1bl9YkegSxJq|+|rol7f8a% z#(1j+Zqy^sn9(hpSn6V92I>R+&@bctl{H8leP+BL1wT_{(?WV>A|cU2`K_;Uat}|kj$-D&HBP`lf)C!05Vvnilq6Bm*Dw&GELale0(Nv;O z2pWv4sq~4?(DQ#xWftJ~y;Z)MDi&NfA7rZBXe7=NWSFYBmLst%z*My|5|!^qP1VjK zHh4WVRXeu^KUn%{vK@on)8d86*1D}2rlN?ccJLQur^ieVay0SIrA!W2^NFwLCWpTk z@VLq88sasJG&$uY6Zd~*s{f0V^yiStxkeyVSPc=0uxK4eikzXuhYMOBe zosb|?%eo%KcT_gDu9S{?fof`3pn~h}G+7H?i0b=H?ej|!zdz8_u~aI$UUf|!gAi6r z_AOAjrRj-Q?FDP&Wa<^h(OPY6>U|&qU9Y01z7=p( z@_7Z5mlxJ9B+%rQ7>j5(65I@KGG!wwODYG)ep zHD5nyp$ay}9 z>u*e}ir_qPHDA-}E%;ndTaBWbvnfi#gA6=tih6|lfP=GXeL@Y?|3lWAHVpSA`q$31 z@oWI`o7tx57Xe5@qfDEoU`E2zO)=_z;u9lGn_CVdv817C$G&AK(+|-oHa;-zs_KFh z&F-c>KcR4rUosu|i#R{*sOd-(G%Q&?(}~9mh%$pr@s5a|#ao)rG)^K`bf)QCij4R_ z$ljEc?L>S=8`A|D##Py@k^3&vC{~;_UG{s6bbF*J`6}}Js@qH{u3uq{fu`&CW)ls5 zV7j#gp0X{OZr4aAd262O&PjMu=P9O)`pB$S9yeuly+(5VI8)|KXutf1rn{A}jqSrt z_kye_I2=keJvxtyN6~j6zMx6C>G8j>$YQUUo;-%fnp4)4jl!ciav5|&DYdLAXCT(v zA<6W7i3hQ10jAew5oYZ#ncld6fyZoMdbi$=B!M+CH zP>1jNzS-P3q9h8D@6AnCLh9|=Xl}B<9A==X)!Yo_G`{hXxnAxaoPh`owel2s~9{Ao$4b20JqA+PKA7CDkk03GG)9mvxi{!iI&He+b zp{-WJ?7#OmaW%+1WMni+gHM@<1;faqkD7~)P6GNSemvS>-SX+u{ zNt*fEV=S4qt2wQo^$vV^6Z4HlSc{dF%$XgqrbTSccdwudCXF!Pi^@f@sfhUjRUy*f zG-oC4C;85E^J7aEiE*jsr&X$Bo2@oK-Ea@q9B+QQ-40oCCv$c(Y~i)H`9(kwO0UJt zul^z7Si8~ux%)ZdHhS}yDN|5u{%QVV%?T!{Lx1zvd^8|?2AIDUgObU)Z~i?xl%!kp z&Hwa}-5WM&l>LJ&RKthF?0*(faI~7DEsAj)lGH>?=`=X1i)SpAi>)BG@tvhg3D`or zHI^!;b`k4+&Qfgz{{7Spi|ybcB>Q!;)S6t0C^pJstzGmrPB2uo)II~1+PZ_qt_R9# zM;dG7aq$+rU|fILtdVD)wb(~&Av)dNQn%P`lG;|ZGPbS&~LU2}?|`aRmxZJG=5zhf=k+dvDBjj?o( zN48re%hLPyXA-8%mVS}gW~VD#`mc_H$5t%^QZd6-TrA#|5q?>O#e3fuw0^9SmVtM% z?LH2*4EDy8t#P*aW_L#Gw3=nem~^7GWEoxruGDbdGJJdq{O0?BWz5@f#P3MUxGh=4 zH;uJSf0|0%rHf@|(fuS{*ld|CLBLG)w#+#X>tAfPgj(^vHQX&>!Pq74S1sX9Imzd5 zSi*Z?CapH5v=`E=qLu~QQG^<~z_Q>|OOi)jwJchdKs@%NWl>&9BqFhv6`83}E?+Hc zGGH4i>6W$e`1e{#mZ-?%#OH3dMCG71)cb^GBmOr%-Xp`Z`KTY%^&iU?w~-{@3bAb6 zj9Sy)e9P7!p2XdrT6UJ0hu{C?ZL{p%ZbQ7yE=$~sSmKq&SPnKmLQ?Ssmg9E=Nj|XK z5-*TUe)?=VS;rZ>LRd~U3Lz#3TTYF{RIhqvIb9yPquW4@!fCnXOyYiG^IRF7vm>TRivyhy$Jtt?+ z?0vuY-goc2Z{E9eXR3rxC>|dy@Muu~_hZ75(e>C`_1h(!D8#~Y#3Y<79LSj89pNl= ztNUWTaPC=bM9LQn=byRGSmklyAJMRe!YjhX`Ixl3i-pUTkU)H%a77JVzE~^9QlA zwFuW+;czUPA$(aL&iIN~g)jGCVY;Zz!Y%A(nPr!7@1Tvb8Ow#X5{!JnFyUcJI6^Ex z7alLdU9`t&;rk}c0rLsr-yN76FIa^iDq7%EdQF4emQW4qOA>?*cQwcKv&)62p@4JR zg{N<)Fn#7I;VF(vG=*Zpc5Jt3P zKJ{w5&)DOOB%BFExLpj9T3*qtLH)Wl}i?EcP~yvAhL0-2xi3vKY77b6!~gycaecrk9SwntHiq z8dr)1fsLWKWqTQSwHr%H2gygVvY9TC<>MqUaF8-~E{E=~Xwa~6DP`P)iuZP-%;8SP zyBm|pZa~MxPsxriQ|TKUY0)=eAZ;VLHf>=1`6X2Fot`o0Rr=jt8`HmBLrb5l$Nhf? z6?TJ}u^#l++y`)AI%uu__e}rbI2C`e6^GL`w7v)jjD|r}V#F&K{v+s}DbdW(CyxFc zcmR=8>!>UT`+s)nJt|+in;8Z!qs?^~;iJ9u{z80S@zi75+Lpw)XN;iT_c80cGy1qb7S_~2doGMc&`AURt)&w215s3oqaBw` zwC}|>tbFsRYHU4Y6BFs+C_Uo;0?c%%9X{F#aa8jsUmUxKQ*AVs+6SRjdkOx%sYP_G z5IP>RjE=o?3bXbm)s5$vE+U8OGB78y*U-t(V#bg2XwWdX$qV0@)Cp_7@XRbaIej@C zm3lhUyB+~ez3B4~+$oH`>QCp=AOW3`F3d||e5{Kuv?gJz^aWkakHpO+j2Z)AW`PwN z)LE<&WuCb23im$!H^gCD4-3>;@_bsAt8?e!cUrX)VlNsBdsX_f8+_o}Ogh#d+W`b(pa;O4?;%hBKEcPtNS!w{m<||Dei?D+>a3#mfCgLr`gMxnM|S z)7Vs{;esK^Eio%LF*38^--@4|r6FZPiJBk8B<5t<$fYrtR+h+SF$?O=$hpvFA)rG` zOU#9Lc;TwX6+6`~nVh1WpDjBqS+dO~S;fR@Q^iTilSPZo>5?UrXipcdvcFkMD-aWB zSxjcxB|0-Lwo=_kft3km_YMpWV-r|9P5_2qRnPTbvR--Q zATgWLEO0?e_!6$S(wty0Dk1nbjM83c=xvBXqt?>e@<3(mUA~7U8|}@wyp&aJPRLCH zK2?_N?{7{W;F|4-8G98u|!O#wQuTzRmsEL+G0h0JA>Spri9B7+;3CPPgJO5p)rkZ%{W z7A+g_e>hZh&*=h`j$54I>%|2wmBBZ-ApRFwRA{@w*UjmsS@QGq#T=*X6pdL@cDBW4 zb{a*OT}-pvY;u}Q%#xi>$&BiBhdoOyu;)0`Dwo4_jf6+Z{h*ad)9XSJy&WG^*AoPV=&11Zi82n72^2Y1q=Ns=3&;%+Gj0 zk=ofRr-PQoB&SM_D6L19R3N5;cB)lY88zASY*v+k-6rF*T5N9FJ1Vt%cucgIV3pF) z6uH^3`H1NJENi4F*-YXTDOYl)IV{;Olx8?1#dM2RjsWapJlP3hbTTeZv|CNG15#93 zcgRkc7d!vOM;8a0TGTdOJ=LLVYBK&J zQ{6kcQnnOuVV;`BTyH-mq==iU?2G05d(IVcAL=|!f8bW?J^M?zZrwadW!$3>&%-Lt zmse5_a@C%YLtJo_C-*kjzwf@=2#xn_9m6LCd!{7uML1^8;SVSsbNCL=us8UsXDFAw ztQoAj)L_L{Hm@**YsT>YyL_l}?>$3wSm<=SBTKSc7RzFulq+MdWQq1%*^z6J^OP0` SAGWI1%;VB~TFr*n&;AFKh2I?j diff --git a/res/translations/mixxx_ca.ts b/res/translations/mixxx_ca.ts index 827eb20f6cde..2b9483211207 100644 --- a/res/translations/mixxx_ca.ts +++ b/res/translations/mixxx_ca.ts @@ -8,6 +8,14 @@ + + AllTrackLibraryFeature + + + All... + + + AnalysisFeature @@ -19,52 +27,52 @@ AutoDJFeature - + Crates Caixes - + Enable Auto DJ Activa el DJ automàtic - + Disable Auto DJ Desactiva el DJ automàtic - + Clear Auto DJ Queue Neteja la cua d'Auto DJ - + Remove Crate as Track Source Esborra la caixa com a origen de pistes - + Auto DJ DJ automàtic - + Confirmation Clear Confirma la neteja - + Do you really want to remove all tracks from the Auto DJ queue? Realment vols esborrar totes les pistes de la cua d'Auto DJ? - + This can not be undone. Això no es pot desfer! - + Add Crate as Track Source Afegeix la caixa com a origen de pistes @@ -223,7 +231,7 @@ - + Export Playlist Exporta la llista de reproducció @@ -237,7 +245,7 @@ Export to Engine DJ "Engine DJ" is a product name and must not be translated. - + Exporta a l'Engine DJ @@ -277,13 +285,13 @@ - + Playlist Creation Failed Ha fallat la creació de la llista de reproducció - + An unknown error occurred while creating playlist: S'ha produït un error desconegut en crear la llista de reproducció: @@ -298,12 +306,12 @@ Realment vols esborrar la llista de reproducció <b>%1</b>? - + M3U Playlist (*.m3u) Llista de reproducció M3U (*.m3u) - + M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Text CSV (*.csv);;Readable Text (*.txt) Llista de repr. M3U (*.m3u);;Llista de repr. M3U8 (*.m3u8);;Llista de repr. PLS (*.pls);;Text CSV (*.csv);;Text llegible (*.txt) @@ -311,12 +319,12 @@ BaseSqlTableModel - + # Núm. - + Timestamp Marca de temps @@ -324,7 +332,7 @@ BaseTrackPlayerImpl - + Couldn't load track. No s'ha pogut carregar la pista. @@ -362,7 +370,7 @@ Canals - + Color Color @@ -377,7 +385,7 @@ Compositor - + Cover Art Portada @@ -387,7 +395,7 @@ Afegida el dia - + Last Played Darrera reproducció @@ -417,7 +425,7 @@ Tonalitat musical - + Location Ubicació @@ -427,7 +435,7 @@ Visió general - + Preview Pre-escolta @@ -467,7 +475,7 @@ Any - + Fetching image ... Tooltip text on the cover art column shown when the cover is read from disk S' està recuperant la imatge... @@ -489,22 +497,22 @@ BroadcastProfile - + Can't use secure password storage: keychain access failed. No es pot utilitzar l'emmagatzematge de claus segur: L'accés al clauer ha fallat. - + Secure password retrieval unsuccessful: keychain access failed. No s'ha pogut obtenir la clau: L'accés al clauer ha fallat. - + Settings error Error de configuració - + <b>Error with settings for '%1':</b><br> <b>Error de configuració per '%1':</b><br> @@ -592,7 +600,7 @@ - + Computer Ordinador @@ -612,19 +620,19 @@ Escaneja - + "Computer" lets you navigate, view, and load tracks from folders on your hard disk and external devices. "Ordinador" et permet navegar, veure i carregar les pistes de les carpetes del disc dur, o de dispositius externs. - + It shows the data from the file tags, not track data from your Mixxx library like other track views. - + Mostra les dades de les etiquetes del fitxer, no les dades de la pista de la teva biblioteca Mixxx com altres vistes de pistes. - + If you load a track file from here, it will be added to your library. - + Si carregues un fitxer de pista aquí, serà afegit a la teva biblioteca. @@ -735,12 +743,12 @@ Data de creació - + Mixxx Library Biblioteca del Mixxx - + Could not load the following file because it is in use by Mixxx or another application. No s'ha pogut carregar el següent fitxer, degut a que el Mixxx o una altra aplicació l'estan utilitzant. @@ -771,87 +779,92 @@ CmdlineArgs - + Mixxx is an open source DJ software. For more information, see: El Mixxx és programari de DJ de codi obert. Per a més informació, veieu: - + Starts Mixxx in full-screen mode Inicia el Mixxx el el mode de pantalla sencera - + Use a custom locale for loading translations. (e.g 'fr') Utilitza un paquet de llengua per a la traducció (p. ex. 'ca') - + Top-level directory where Mixxx should look for its resource files such as MIDI mappings, overriding the default installation location. Directori inicial on el Mixxx cerca els fixers de recursos, com les configuracions MIDI. Permet utilitzar una ubicació diferent a la de per defecte. - + Path the debug statistics time line is written to Camí on s'escriu la línia de temps de les estadístiques de depuració - + Causes Mixxx to display/log all of the controller data it receives and script functions it loads Fa que el Mixxx mostri/registri totes les dades de la controladora que rep i les funcions de script que carrega - + The controller mapping will issue more aggressive warnings and errors when detecting misuse of controller APIs. New Controller Mappings should be developed with this option enabled! L'assignació de controlador utilitzarà nivells més agressius d'avisos i errors quan detecti un mal ús de la API dels controladors. Les assignacions de controladors noves haurien de fer-se amb aquesta opció habilitada! - + Enables developer-mode. Includes extra log info, stats on performance, and a Developer tools menu. habilita el mode desenvolupador. Inclou registre extra d'informació, estadístiques de rendiment i un menú de desenvolupador. - + Top-level directory where Mixxx should look for settings. Default is: Directori principal on Mixxx ha de cercar les preferències. Per defecte és: - + Starts Auto DJ when Mixxx is launched. Inicia Auto DJ quan s'inicia Mixxx. - + Rescans the library when Mixxx is launched. Torna a escanejar la biblioteca en iniciar el Mixxx. - + Use legacy vu meter Usa el mesurador de nivell de reproducció heretat - + Use legacy spinny Usa el gir antic - - Loads experimental QML GUI instead of legacy QWidget skin - Carrega la GUI de QML experimental en lloc de l'aspecte QWidget heretat + + Loads the highly unstable 3.0 Mixxx interface, based on QML. You need to use a new setting profile, or run with 'allow-dangerous-data-corruption-risk' to use with the current one. We highly recommend backing up your data if you do so. + - + + Force Mixxx to load an unstable version with an existing user profile from a stable version + + + + Enables safe-mode. Disables OpenGL waveforms, and spinning vinyl widgets. Try this option if Mixxx is crashing on startup. Activa el mode segur. Desactiva les formes d'ona amb OpenGL i els vinils giratoris. Prova aquesta opció si el Mixxx no s'inicia correctament. - + [auto|always|never] Use colors on the console output. [auto|always|never] Utilitzeu colors a la sortida de la consola. - + Sets the verbosity of command line logging. critical - Critical/Fatal only warning - Above + Warnings @@ -866,32 +879,32 @@ depuració: Per sobre + missatges de depuració/desenvolupador traça - Per sobre + Missatges de perfil - + Sets the the logging level at which the log buffer is flushed to mixxx.log. <level> is one of the values defined at --log-level above. Estableix el nivell de registre en què el buffer de registre es buida a mixxx.log. <level> és un dels valors definits al --nivell-registre anteriorment. - + Sets the maximum file size of the mixxx.log file in bytes. Use -1 for unlimited. The default is 100 MB as 1e5 or 100000000. Estableix la mida màxima, en bytes, del fitxer mixxx.log. Feu servir -1 si no voleu establir un límit. El valor predeterminat és 100 MB com a 1e5 o 100000000. - + Breaks (SIGINT) Mixxx, if a DEBUG_ASSERT evaluates to false. Under a debugger you can continue afterwards. Trenca (SIGINT) Mixxx, si DEBUG_ASSERT s'avalua com a fals. Amb un depurador podeu continuar després. - + Overrides the default application GUI style. Possible values: %1 Substitueix l'estil de la GUI de l'aplicació per defecte. Valors possibles: %1 - + Load the specified music file(s) at start-up. Each file you specify will be loaded into the next virtual deck. Carregueu els fitxers de música especificats a l'inici. Cada fitxer que especifiqueu es carregarà a la següent plataforma virtual. - + Preview rendered controller screens in the Setting windows. Previsualitza les pantalles del controlador renderitzats a les finestres de configuració. @@ -984,2558 +997,2586 @@ traça - Per sobre + Missatges de perfil ControlPickerMenu - + Headphone Output Sortida d'auriculars - - - + + + + Deck %1 + %1 is the deck number 1 ... 4 Plat %1 - + Sampler %1 Reproductor de mostres %1 - + Preview Deck %1 Reproductor de pre-escolta %1 - + Microphone %1 Micròfon %1 - + Auxiliary %1 Canal auxiliar %1 - + Reset to default Torna al valor per defecte - + Effect Rack %1 Rack d'efectes %1 - + Parameter %1 Paràmetre %1 - + Mixer Mesclador - - + + Crossfader Crossfader - + Headphone mix (pre/main) Mescla d'auricular (previ/sortida) - + Toggle headphone split cueing Commutador de la pre-escolta partida amb auriculars - + Headphone delay Retard de la sortida d'auriculars - + Transport Controls de reproducció - + Strip-search through track Cerca "Strip Search" a través de la pista - + Play button Botó Reprodueix - - + + Set to full volume Posa a màxim volum - - + + Set to zero volume Posa en silenci - + Stop button Botó d'aturada - + Jump to start of track and play Anar a l'inici de la pista i reproduir-la - + Jump to end of track Anar al final de la pista - + Reverse roll (Censor) button Botó de reprodueix cap enrere i salta endavant (Censura) - + Headphone listen button Botó per escoltar per auriculars - - + + Mute button Botó de mut - + Toggle repeat mode Commutador de mode de repetició - - + + Mix orientation (e.g. left, right, center) Destí de la mescla (p.ex. esquerra, dreta, mig) - - + + Set mix orientation to left Destí de la mescla a l'esquerra - - + + Set mix orientation to center Destí de la mescla al centre - - + + Set mix orientation to right Destí de la mescla a la dreta - + Toggle slip mode Commutador del contiua avançant en segon pla "slip" - - + + BPM PPM - + Increase BPM by 1 Augment del BPM en 1 - + Decrease BPM by 1 Reducció del BPM en 1 - + Increase BPM by 0.1 Augment del BPM en 0.1 - + Decrease BPM by 0.1 Reducció del BPM en 0.1 - + BPM tap button Botó de tocs de BPM - + Toggle quantize mode Commutador del mode quantitzat als tocs - + One-time beat sync (tempo only) Sincronitzar el ritme un cop (només tempo) - + One-time beat sync (phase only) Sincronitzar el ritme un cop (només fase) - + Toggle keylock mode Commutador de mode de bloqueig de clau musical - + Equalizers Equalitzadors - + Vinyl Control Control de Vinil - + Toggle vinyl-control cueing mode (OFF/ONE/HOT) Commutador del mode de control dels punts cue amb Vinil (OFF/ONE/HOT) - + Toggle vinyl-control mode (ABS/REL/CONST) Commutador del mode de control de Vinil (ABS/REL/CONST) - + Pass through external audio into the internal mixer Redirecció de l'audio extern cap al mesclador intern - + Cues Punts Cue - + Cue button Botó Cue - + Set cue point Crea un punt Cue - + Go to cue point Ves a un punt Cue - + Go to cue point and play Ves a un punt Cue i reprodueix - + Go to cue point and stop Ves al punt Cue i atura't - + Preview from cue point Pre-escolta del punt Cue - + Cue button (CDJ mode) Botó Cue (mode CDJ) - + Stutter cue Reprodueix Cue (Stutter) - + Hotcues Marques directes - + Set, preview from or jump to hotcue %1 Defineix, pre-escolta des de o vés a la marca directa %1 - + Clear hotcue %1 Esborra la marca directa %1 - + Set hotcue %1 Defineix la marca directa %1 - + Jump to hotcue %1 Ves a la marca directa %1 - + Jump to hotcue %1 and stop Ves a la marca directa %1 i atura't - + Jump to hotcue %1 and play Ves a la marca directa %1 i reprodueix - + Preview from hotcue %1 Pre-escolta des de la marca directa %1 - - + + Hotcue %1 Marca directa %1 - + Looping Repetint - + Loop In button Botó de punt d'inici de bucle - + Loop Out button Botó de punt final de bucle - + Loop Exit button Botó de sortir del bucle - + 1/2 1/2 - + 1 1 - + 2 2 - + 4 4 - + 8 8 - + 16 16 - + 32 32 - + 64 64 - + Move loop forward by %1 beats Moure el bucle endavant en %1 beats - + Move loop backward by %1 beats Moure el bucle endarrere en %1 beats - + Create %1-beat loop Crea bucle de %1 tocs - + Create temporary %1-beat loop roll Crea bucle "roll" temporal de %1 tocs - + Library Biblioteca - + Slot %1 Ranura %1 - + Headphone Mix Mescla de sortida d'auricular - + Headphone Split Cue Pre-escolta partida amb auriculars - + Headphone Delay Retard de sortida d'auriculars - + Play Reprodueix - + Fast Rewind Rebobina ràpidament - + Fast Rewind button Botó de rebobinat ràpid - + Fast Forward Avança ràpidament - + Fast Forward button Botó d'avançament ràpid - + Strip Search Cerca "Strip Search" - + Play Reverse Reprodueix cap enrere - + Play Reverse button Botó Reprodueix cap enrere - + Reverse Roll (Censor) Reprodueix cap enrere i salta endavant (Censura) - + Jump To Start Salt a l'inici - + Jumps to start of track Salt a l'inici de la pista - + Play From Start Reprodueix des de l'inici - + Stop Atura't - + Stop And Jump To Start Atura't i salta a l'inici - + Stop playback and jump to start of track Atura la reproducció i vés a l'inici de la pista - + Jump To End Salta al final - + Volume Volum - - - + + + Volume Fader Control del volum - - + + Full Volume Màxim volum - - + + Zero Volume Volum zero - + Track Gain Guany de la pista - + Track Gain knob Control de guany de pista - - + + Mute Posa Mut - + Eject Expulsa - - + + Headphone Listen Escolta pels auriculars - + Headphone listen (pfl) button Botó d'escolta (previ) pels auriculars - + Repeat Mode Mode repetició - + Slip Mode Mode de continua avançant (slip) - - + + Orientation Destí de le mescla - - + + Orient Left Orientació a l'esquerra - - + + Orient Center Orientació al Centre - - + + Orient Right Orientació a la dreta - + BPM +1 BPM +1 - + BPM -1 BPM -1 - + BPM +0.1 BPM +0.1 - + BPM -0.1 BPM -0.1 - + BPM Tap Toc de BPM - + Adjust Beatgrid Faster +.01 Accelera la graella de ritme +.01 - + Increase track's average BPM by 0.01 Incrementa el BPM mitjà de la pista en 0.01 - + Adjust Beatgrid Slower -.01 Alenteix la graella de ritme -.01 - + Decrease track's average BPM by 0.01 Redueix el BPM mitjà de la pista en 0.01 - + Move Beatgrid Earlier Mou cap al començament la graella de ritme - + Adjust the beatgrid to the left Desplaçament de la graella de ritme cap a l'esquerra - + Move Beatgrid Later Mou cap a final la graella de ritme - + Adjust the beatgrid to the right Desplaçament de la graella de ritme cap a la dreta - + Adjust Beatgrid Ajusta la graella de ritme - + Align beatgrid to current position Alinea la graella de ritme a la posició actual - + Adjust Beatgrid - Match Alignment Ajusta la graella de ritme - Fent coindicir l'alineació - + Adjust beatgrid to match another playing deck. Ajusta la graella de ritme per a que coincideixi amb un altre plat en reproducció. - + Quantize Mode Mode de quantitzat - + Sync Sincronitza - + Beat Sync One-Shot Sincronitza el ritme al prémer - + Sync Tempo One-Shot Sincronitza els tempos al prémer - + Sync Phase One-Shot Sincronitza les fases al prémer - + Pitch control (does not affect tempo), center is original pitch Control de to/claumusical (no afecta al tempo), el centre és la nota musical original - + Pitch Adjust Ajustament de Pitch - + Adjust pitch from speed slider pitch Ajusta el Pitch de la barra de velocitat - + Match musical key Iguala la clau musical - + Match Key Iguala la clau musical - + Reset Key Reinicia la clau musical - + Resets key to original Reinicia la clau musical per tornar a la original - + High EQ EQ d'aguts - + Mid EQ EQ de mitjos - - + + Main Output Sortida principal - + Main Output Balance Balanç de la sortida principal - + Main Output Delay Retard de la sortida principal - + Main Output Gain Ganància de la sortida principal - + Low EQ EQ de greus - + Toggle Vinyl Control Commutador de mode Vinil - + Toggle Vinyl Control (ON/OFF) Commutador de control de Vinil (On/Off) - + Vinyl Control Mode Mode de control de Vinil - + Vinyl Control Cueing Mode Mode de control dels punts cue amb Vinil - + Vinyl Control Passthrough Pas de l'audiò d'entrada del control Vinil - + Vinyl Control Next Deck Següent plat del control Vinil - + Single deck mode - Switch vinyl control to next deck Mode d'un plat - Canvia el control de vinil cap al següent plat - + Cue Punt Cue - + Set Cue Defineix el Cue - + Go-To Cue Ves al punt Cue - + Go-To Cue And Play Ves al punt Cue i reprodueix - + Go-To Cue And Stop Ves al punt Cue i atura't - + Preview Cue Pre-escolta del punt Cue - + Cue (CDJ Mode) Punt Cue (Mode CDJ) - + Stutter Cue Reprodueix Cue (Stutter) - + Go to cue point and play after release Ves a un punt Cue i reprodueix en deixar-lo - + Clear Hotcue %1 Esborra la marca directa %1 - + Set Hotcue %1 Defineix la marca directa %1 - + Jump To Hotcue %1 Ves a la marca directa %1 - + Jump To Hotcue %1 And Stop Ves a la marca directa %1 i atura't - + Jump To Hotcue %1 And Play Ves a la marca directa %1 i reprodueix - + Preview Hotcue %1 Pre-escolta la marca directa %1 - + Loop In Inici de bucle - + Loop Out Final de Bucle - + Loop Exit Surt del bucle - + Reloop/Exit Loop Repeteix/Surt del bucle - + Loop Halve Redueix el bucle a la meitat - + Loop Double Incrementa el bucle al doble - + 1/32 1/32 - + 1/16 1/16 - + 1/8 1/8 - + 1/4 1/4 - + Move Loop +%1 Beats Mou el bucle +%1 tocs - + Move Loop -%1 Beats Mou el bucle -%1 tocs - + Loop %1 Beats Bucle de %1 tocs - + Loop Roll %1 Beats Bucle "roll" de %1 tocs - + Add to Auto DJ Queue (bottom) Afegeix a la cua del DJ automàtic (al final) - + Append the selected track to the Auto DJ Queue Afegeix la pista seleccionada al final de la cua de DJ automàtic - + Add to Auto DJ Queue (top) Afegeix a la cua del DJ automàtic (al principi) - + Prepend selected track to the Auto DJ Queue Afegeix la pista seleccionada a l'inici de la cua de DJ automàtic - + Load Track Carrega la pista - + Load selected track Carrega la pista seleccionada - + Load selected track and play Carrega la pista seleccionada i la reprodueix - - + + Record Mix Gravació de la mescla - + Toggle mix recording Commutador de gravació de la mescla - + Effects Efectes - - Quick Effects - Efectes ràpids - - - + Deck %1 Quick Effect Super Knob Súper Control d'Efecte ràpid del Plat %1 - + + Quick Effect Super Knob (control linked effect parameters) Súper control de l'Efecte Ràpid (controla el paràmetre de l'efecte associat) - - + + + + Quick Effect Efecte ràpid - + Clear Unit Esborrar la Unitat - + Clear effect unit Esborra la unitat d'efecte - + Toggle Unit Commutador d'unitat - + Dry/Wet Directe/Processat - + Adjust the balance between the original (dry) and processed (wet) signal. Ajusta l'equilibri entre la senyal original (dry) i la processada (wet). - + Super Knob Súper Control - + Next Chain Cadena següent - + Assign Assigna - + Clear Descarta - + Clear the current effect Descarta l'efecte actual - + Toggle Estat d'activació - + Toggle the current effect Commutador de l'estat d'activació de l'efecte - + Next Següent - + Switch to next effect Canvia al següent efecte - + Previous Anterior - + Switch to the previous effect Canvia a l'efecte anterior - + Next or Previous Següent o anterior - + Switch to either next or previous effect Canvia a l'efecte següent o anterior - - + + Parameter Value Valor del paràmetre - - + + Microphone Ducking Strength Nivell de reducció en parlar per micròfon - + Microphone Ducking Mode Mode de reducció en parlar per micròfon - + Gain Guany - + Gain knob Control de guany - + Shuffle the content of the Auto DJ queue Barreja el contingut de la cua de DJ automàtic - + Skip the next track in the Auto DJ queue Salta la següent pista de la cua de DJ automàtic - + Auto DJ Toggle Commutador de DJ automàtic - + Toggle Auto DJ On/Off Commutador On/Off de DJ automàtic - + Show/hide the microphone & auxiliary section Mostra/Amaga la secció del micròfon i la línia auxiliar - + 4 Effect Units Show/Hide 4 Unitats d'efecte Mostra/Amaga - + Switches between showing 2 and 4 effect units Canvia entre les opcions de mostrar 2 o 4 unitats d'efectes - + Mixer Show/Hide Mostra/amaga el mesclador - + Show or hide the mixer. Mostra o amaga el mesclador. - + Cover Art Show/Hide (Library) Mostra/Amaga la portada (Biblioteca) - + Show/hide cover art in the library Mostra/amaga la portada a la biblioteca - + Library Maximize/Restore Maximitza/Restaura la vista de Biblioteca - + Maximize the track library to take up all the available screen space. Maximitza o restaura la vista de Biblioteca per abarcar tota la pantalla - + Effect Rack Show/Hide Mostra/amaga el rack d'efectes - + Show/hide the effect rack Mostra/amaga el rack d'efectes - + Waveform Zoom Out Allunya el zoom del gràfic d'ona - + Headphone Gain Guany dels auriculars - + Headphone gain Guany dels auriculars - + Tap to sync tempo (and phase with quantize enabled), hold to enable permanent sync Toqueu per sincronitzar el tempo (i la fase si està la quantizació activada), mantingueu premut per activar la sincronització permanent - + One-time beat sync tempo (and phase with quantize enabled) Sincronització del tempo en pulsar (i la fase si està la quantització activada) - + Playback Speed Velocitat de reproducció - + Playback speed control (Vinyl "Pitch" slider) Velocitat de reproducció ("Pitch" de Vinil) - + Pitch (Musical key) Pitch (clau musical) - + Increase Speed Accelera - + Adjust speed faster (coarse) Acceleració (valor gran) de velocitat - + Increase Speed (Fine) Acceleració (valor petit) - + Adjust speed faster (fine) Acceleració (valor petit) - + Decrease Speed Redueix - + Adjust speed slower (coarse) Reducció de velocitat (valor gran) - + Adjust speed slower (fine) Redueix la velocitat (valor petit) - + Temporarily Increase Speed Acceleració momentània - + Temporarily increase speed (coarse) Acceleració (valor gran) momentània - + Temporarily Increase Speed (Fine) Acceleració (valor petit) momentània - + Temporarily increase speed (fine) Acceleració (valor petit) momentània - + Temporarily Decrease Speed Reducció de velocitat momentània - + Temporarily decrease speed (coarse) Reducció de velocitat (valor gran) momentània - + Temporarily Decrease Speed (Fine) Reducció de velocitat (valor petit) momentània - + Temporarily decrease speed (fine) Reducció de velocitat (valor petit) momentània - - + + Adjust %1 Ajusta %1 - + + Deck %1 Stem %2 + + + + Effect Unit %1 Unitat d'efectes %1 - + Button Parameter %1 Botó Paràmetre % 1 - + Skin Aparença - + Controller Controlador - + Crossfader / Orientation Crossfader / Orientació - + Main Output gain Ganància de la sortida principal - + Main Output balance Balanç de la sortida principal - + Main Output delay Retard de la sortida principal - + Headphone Auriculars - - + + Kill %1 + %1 is "Low EQ" "Mid EQ" or "High EQ" Suprimeix %1 - + Eject or un-eject track, i.e. reload the last-ejected track (of any deck)<br>Double-press to reload the last replaced track. In empty decks it reloads the second-last ejected track. Expulsa o desexpulsa la pista, és a dir, torna a carregar l'última pista expulsada (de qualsevol deck) <br>Premeu dues vegades per tornar a carregar l'última pista substituïda. En cobertes buides torna a carregar l'última pista expulsada. - + BPM / Beatgrid BPM / graella de pulsacions - + Halve BPM Redueix el BPM a la meitat - + Multiply current BPM by 0.5 Multipliqueu el BPM actual per 0,5 - + 2/3 BPM 2/3 BPM - + Multiply current BPM by 0.666 Multipliqueu el BPM actual per 0,666 - + 3/4 BPM 3/4 BPM - + Multiply current BPM by 0.75 Multipliqueu el BPM actual per 0,75 - + 4/3 BPM 4/3 BPM - + Multiply current BPM by 1.333 Multipliqueu el BPM actual per 1,333 - + 3/2 BPM 3/2 BPM - + Multiply current BPM by 1.5 Multipliqueu el BPM actual per 1,5 - + Double BPM Doble BPM - + Multiply current BPM by 2 Multipliqueu el BPM actual per 2 - + Tempo Tap Toc de tempo - + Tempo tap button Botó de toc de tempo - + Move Beatgrid Mou Beatgrid - + Adjust the beatgrid to the left or right Ajusteu la quadrícula de ritme a l'esquerra o a la dreta - + Move Beatgrid Half a Beat Desplaça mitja pulsació la graella rítmica - + Adjust the beatgrid by exactly one half beat. Usable only for tracks with constant tempo. Ajusteu la quadrícula de ritme exactament mig ritme. Només es pot utilitzar per a pistes amb tempo constant. - - + + Toggle the BPM/beatgrid lock Commuta el bloqueig BPM/beatgrid - + Revert last BPM/Beatgrid Change Reverteix l'últim canvi de BPM/Beatgrid - + Revert last BPM/Beatgrid Change of the loaded track. Reverteix l'últim canvi de BPM/Beatgrid de la pista carregada. - + Sync / Sync Lock sincronització / bloquejar la sincronització - + Internal Sync Leader Líder de sincronització interna - + Toggle Internal Sync Leader Commuta el líder de sincronització interna - - + + Internal Leader BPM Líder intern BPM - + Internal Leader BPM +1 Líder intern BPM +1 - + Increase internal Leader BPM by 1 Incrementa Líder intern BPM en 1 - + Internal Leader BPM -1 Líder intern BPM -1 - + Decrease internal Leader BPM by 1 Decrementa Líder intern BPM en 1 - + Internal Leader BPM +0.1 Líder intern BPM +0.1 - + Increase internal Leader BPM by 0.1 Incrementa Líder intern BPM en 0.1 - + Internal Leader BPM -0.1 Líder intern BPM -0.1 - + Decrease internal Leader BPM by 0.1 Decrementa Líder intern BPM en 0.1 - + Sync Leader Sincronitzar Líder - + Sync mode 3-state toggle / indicator (Off, Soft Leader, Explicit Leader) Indicador o commutació de 3 estats del mode de sincronització (desactivat, líder suau, líder explícit) - + Speed LFO - + Decrease Speed (Fine) Disminueix la velocitat (valor petit) - + Pitch (Musical Key) Pitch (Tonalitat Musical) - + Increase Pitch Augmentar Pitch - + Increases the pitch by one semitone Augmentar el pitch un semitò - + Increase Pitch (Fine) Augmentar Pitch (Suau) - + Increases the pitch by 10 cents Augmentar el pitch 10% - + Decrease Pitch Disminuir Pitch - + Decreases the pitch by one semitone Disminuir el pitch un semitò - + Decrease Pitch (Fine) Disminuir Pitch (Suau) - + Decreases the pitch by 10 cents Disminuir el pitch 10% - + Keylock Bloqueig de to musical - + CUP (Cue + Play) CUP (Cue + Play) - + Shift cue points earlier Canvia els punts de marca abans - + Shift cue points 10 milliseconds earlier Canvia els punts de marca 10 mil·lisegons abans - + Shift cue points earlier (fine) Canvia els punts de marca abans (suau) - + Shift cue points 1 millisecond earlier Canvia els punts de marca 1 mil·lisegon abans - + Shift cue points later Canvia els punts de marca més tard - + Shift cue points 10 milliseconds later Canvia els punts de marca 10 mil·lisegons més tard - + Shift cue points later (fine) Canvia els punts de marca més tard (fi) - + Shift cue points 1 millisecond later Canvia els punts de marca 1 mil·lisegon més tard - - + + Sort hotcues by position Ordena els hotcues per posició - - + + Sort hotcues by position (remove offsets) Ordena els hotcues per posició (elimina els desplaçaments) - + Hotcues %1-%2 Marques directes %1-%2 - + Intro / Outro Markers Marcadors d'Entrada/Sortida - + Intro Start Marker Marcador d'inici d'introducció - + Intro End Marker Marcador de final d'introducció - + Outro Start Marker Marcador d'inici de sortida - + Outro End Marker Marcador de final de sortida - + intro start marker marcador d'inici d'introducció - + intro end marker marcador de final d'introducció - + outro start marker marcador d'inici de sortida - + outro end marker marcador de final de sortida - + Activate %1 [intro/outro marker Activar %1 - + Jump to or set the %1 [intro/outro marker Saltar a o estableix %1 - + Set %1 [intro/outro marker Estableix %1 - + Set or jump to the %1 [intro/outro marker Estableix o salta al %1 - + Clear %1 [intro/outro marker Esborrar %1 - + Clear the %1 [intro/outro marker esborrar el %1 - + if the track has no beats the unit is seconds si la pista no té ritmes la unitat són segons - + Loop Selected Beats Bucle de tocs seleccionats - + Create a beat loop of selected beat size Crea un bucle de tocs de la mida seleccionada - + Loop Roll Selected Beats Bucle "roll" de tocs seleccionats - + Create a rolling beat loop of selected beat size Crea un bucle "roll" de tocs de la mida seleccionada - + Loop %1 Beats set from its end point Bucle % 1 Ritmes establerts des del seu punt final - + Loop Roll %1 Beats set from its end point Bucle Roll % 1 Ritmes establerts des del seu punt final - + Create %1-beat loop with the current play position as loop end Creeu %1-beat bucle amb la posició de reproducció actual com a final del bucle - + Create temporary %1-beat loop roll with the current play position as loop end Creeu temporalment %1-beat bucle amb la posició de reproducció actual com a final del bucle - + Loop Beats Tocs del bucle - + Loop Roll Beats Tocs del bucle bucle - + Go To Loop In Ves a l'inici del bucle - + Go to Loop In button Ves al botó d'inici de bucle - + Go To Loop Out Ves a la sortida del bucle - + Go to Loop Out button Ves al botó de sortida de Bucle - + Toggle loop on/off and jump to Loop In point if loop is behind play position Activa o desactiva el bucle, i salta a l'inici del bucle si aquest es anterior a la posició de reproducció actual - + Reloop And Stop Repeteix i para - + Enable loop, jump to Loop In point, and stop Activa el bucle, es mou a l'inici d'aquest i es para - + Halve the loop length Redueix el bucle a la meitat - + Double the loop length Duplica la mida del bucle - + Beat Jump / Loop Move Salt en tocs / Mou el bucle - + Jump / Move Loop Forward %1 Beats Salta / Mou el bucle endavant en %1 tocs - + Jump / Move Loop Backward %1 Beats Salta / Mou el bucle enrera en %1 tocs - + Jump forward by %1 beats, or if a loop is enabled, move the loop forward %1 beats Salta endavant %1 tocs, o si el bucle està activat, mou el bucle endavant en %1 tocs - + Jump backward by %1 beats, or if a loop is enabled, move the loop backward %1 beats Salta enrera %1 tocs, o si el bucle està activat, mou el bucle enrera en %1 tocs - + Beat Jump / Loop Move Forward Selected Beats Salt en tocs / Mou el bucle endavant els tocs seleccionats - + Jump forward by the selected number of beats, or if a loop is enabled, move the loop forward by the selected number of beats Salta endavant en la quantitat de tocs seleccionada, o si el bucle està activat, mou el bucle endavant el nombre de tocs seleccionat. - + Beat Jump / Loop Move Backward Selected Beats Salt en tocs / Mou el bucle enrera els tocs seleccionats - + Jump backward by the selected number of beats, or if a loop is enabled, move the loop backward by the selected number of beats Salta enrera en la quantitat de tocs seleccionada, o si el bucle està activat, mou el bucle enrera el nombre de tocs seleccionat. - + Beat Jump Salt de ritme - + Indicate which loop marker remain static when adjusting the size or is inherited from the current position Indiqueu quin marcador de bucle roman estàtic quan s'ajusta la mida o s'hereta de la posició actual - + Beat Jump / Loop Move Forward Saltar toc / Moure el bucle cap endavant - + Beat Jump / Loop Move Backward Salt de toc / Moure el bucle cap enrera - + Loop Move Forward Moure el bucle cap endavant - + Loop Move Backward Moure el bucle cap enrera - + Remove Temporary Loop Elimina bucle temporal - + Remove the temporary loop Elimina el bucle temporal - + Navigation Navegació - + Move up Mou amunt - + Equivalent to pressing the UP key on the keyboard Equivalent a prémer la tecla Amunt del teclat - + Move down Mou avall - + Equivalent to pressing the DOWN key on the keyboard Equivalent a prémer la tecla Avall del teclat - + Move up/down Mou amunt/avall - + Move vertically in either direction using a knob, as if pressing UP/DOWN keys Mou verticalment en ambdúes direccions utilitzant un control, com al prémer les tecles amunt/avall - + Scroll Up Pàgina amunt - + Equivalent to pressing the PAGE UP key on the keyboard Equivalment a prémer la tecla Pàgina amunt del teclat - + Scroll Down Pàgina avall - + Equivalent to pressing the PAGE DOWN key on the keyboard Equivalent a prémer la tecla Pàgina avall del teclat - + Scroll up/down Pàgina amunt/avall - + Scroll vertically in either direction using a knob, as if pressing PGUP/PGDOWN keys Mou verticalment en ambdúes direccions utilitzant un control, com al prémer les tecles pàgina amunt/avall - + Move left Mou a l'esquerra - + Equivalent to pressing the LEFT key on the keyboard Equivalent a prémer la tecla Esquerra del teclat - + Move right Mou a la dreta - + Equivalent to pressing the RIGHT key on the keyboard Equivalent a prémer la tecla Dreta del teclat - + Move left/right Mou esquerra/dreta - + Move horizontally in either direction using a knob, as if pressing LEFT/RIGHT keys Mou horitzontalment en ambúes direccions utilitzant un control, com al prémer les tecles Esquerra/Dreta del teclat - + Move focus to right pane Mou el focus al panell dret - + Equivalent to pressing the TAB key on the keyboard Equivalent a prémer la tecla tabulació del teclat - + Move focus to left pane Mou el focus al panell esquerra - + Equivalent to pressing the SHIFT+TAB key on the keyboard Equivalent a prémer les tecles Majúscules+Tabulació del teclat - + Move focus to right/left pane Mou el focus al panell esquerra/dret - + Move focus one pane to right or left using a knob, as if pressing TAB/SHIFT+TAB keys Mou el focus al panell de la dreta o esquerra utilizant un control, com al prémer tabulació/Majúscules+tabulació - + Sort focused column Ordena per la columna seleccionada - + Sort the column of the cell that is currently focused, equivalent to clicking on its header Ordena la columna de la cel·la que està actualment activa, equivalent a fer clic a la seva capçalera - + Go to the currently selected item Vés a l'element seleccionat actualment - + Choose the currently selected item and advance forward one pane if appropriate Tria l'element seleccionat actualment i avança un panell si és apropiat - + Load Track and Play Carregar la pista i reproduír - + Add to Auto DJ Queue (replace) Afegeix a la cua del DJ automàtic (reemplaça) - + Replace Auto DJ Queue with selected tracks Reemplaça la cua de DJ automàtic amb les pistes seleccionades - + Select next search history Selecciona el seguent historial de cerca - + Selects the next search history entry Selecciona la següent entrada en l'historial de cerca - + Select previous search history Selecciona l'historial de cerca anterior - + Selects the previous search history entry Selecciona l'entrada anterior en l'historial de cerca - + Move selected search entry Mou la entrada de cerca seleccionada - + Moves the selected search history item into given direction and steps Mous l'entrada de l'historial de cerca seleccionat cap a la direcció i passos indicats - + Clear search Esborra la cerca - + Clears the search query Esborra el text de la cerca - - + + Select Next Color Available Seleccioneu el següent color disponible - + Select the next color in the color palette for the first selected track Seleccioneu el color següent a la paleta de colors per a la primera pista seleccionada - - + + Select Previous Color Available Seleccioneu el color anterior disponible - + Select the previous color in the color palette for the first selected track Seleccioneu el color anterior a la paleta de colors de la primera pista seleccionada - + + Quick Effects Deck %1 + + + + Deck %1 Quick Effect Enable Button Botó d'activació d'efecte ràpid del reproductor %1 - + + Quick Effect Enable Button Botó que habilita l'efecte ràpid - + + Deck %1 Stem %2 Quick Effect Super Knob + + + + + Deck %1 Stem %2 Quick Effect Enable Button + + + + Enable or disable effect processing Commuta el processament d'efectes - + Super Knob (control effects' Meta Knobs) Control Super (controla els controls 'Meta' dels efectes) - + Mix Mode Toggle Selector del mode de mescla - + Toggle effect unit between D/W and D+W modes Canvi entre D/P i D+P a la unitat d'efectes - + Next chain preset Següent cadena preestablerta - + Previous Chain Següent cadena - + Previous chain preset Cadena anterior preestablerta - + Next/Previous Chain Següent/Anterior cadena - + Next or previous chain preset Següent o anterior cadena preestablerta - - + + Show Effect Parameters Mostra els paràmetres d'efectes - + Effect Unit Assignment Assignar la unitat d'efectes - + Meta Knob Control Meta - + Effect Meta Knob (control linked effect parameters) Control Meta de l'efecte (controla els paràmetres de l'efecte enllaçats) - + Meta Knob Mode Mode de Control Meta - + Set how linked effect parameters change when turning the Meta Knob. Defineix la manera com canvien els paràmetres de l'efecte enllaçats al girar el control Meta. - + Meta Knob Mode Invert Mode d'inversió del control Meta - + Invert how linked effect parameters change when turning the Meta Knob. Inverteix el sentit en que canvien els paràmetres de l'efecte enllaçats al girar el control Meta. - - + + Button Parameter Value Valor del paràmetre del botó - + Microphone / Auxiliary Micròfon / Línia auxiliar - + Microphone On/Off Micrònfon obert/tancat - + Microphone on/off Micròfon obert/tancat - + Toggle microphone ducking mode (OFF, AUTO, MANUAL) Commutador del mode de reducció de volum del micròfon (OFF, AUTO, MANUAL) - + Auxiliary On/Off Línia auxiliar oberta/tancada - + Auxiliary on/off Línia auxiliar oberta/tancada - + Auto DJ DJ automàtic - + Auto DJ Shuffle Barreja la cua de DJ automàtic - + Auto DJ Skip Next DJ automatic, saltar-se la següent - + Auto DJ Add Random Track DJ Automàtic Afegeix una pista aleatòria - + Add a random track to the Auto DJ queue Afegeix una pista aleatòria a la cua del DJ automàtic - + Auto DJ Fade To Next DJ automàtic, Salta a la seguent esvaint l'actual - + Trigger the transition to the next track Fer que s'iniciï la transició cap a la següent pista - + User Interface Interfície d'usuari - + Samplers Show/Hide Mostra/amaga Reprod. de mostres - + Show/hide the sampler section Mostra/amaga la secció dels reproductors de mostres - + Microphone && Auxiliary Show/Hide keep double & to prevent creation of keyboard accelerator Mostra/Amaga Micròfon i Línia auxiliar - + Waveform Zoom Reset To Default El zoom de la forma d'ona restablert al valor predeterminat - + Reset the waveform zoom level to the default value selected in Preferences -> Waveforms Restableix el nivell de zoom de la forma d'ona al valor predeterminat seleccionat a Preferències -> Formes d'ona - + Select the next color in the color palette for the loaded track. Seleccioneu el color següent a la paleta de colors per a la pista carregada. - + Select previous color in the color palette for the loaded track. Seleccioneu el color anterior a la paleta de colors per a la pista carregada. - + Navigate Through Track Colors Navegueu pels colors de la pista - + Select either next or previous color in the palette for the loaded track. - + Start/Stop Live Broadcasting Inicia/para la emissió en viu - + Stream your mix over the Internet. Retransmissió la vostra mescla a través d'Internet. - + Start/stop recording your mix. Inicia/para la gravació de la mescla. - - + + + Deck %1 Stems + + + + + Samplers Reproductor de mostres - + Vinyl Control Show/Hide Mostra/amaga el control de vinil - + Show/hide the vinyl control section Mostra/amaga la secció del control de vinil - + Preview Deck Show/Hide Mostra/amaga la pre-escolta - + Show/hide the preview deck Mostra o amaga la secció de la pre-escolta - + Toggle 4 Decks Commuta 4 reproductors - + Switches between showing 2 decks and 4 decks. Canvia entre mostrar 2 reproductors o 4 reproductors. - + Cover Art Show/Hide (Decks) Mostrar/amagar la Portada (cobertes) - + Show/hide cover art in the main decks Mostrar/amagar la Portada en les cobertes principals - + Vinyl Spinner Show/Hide Mostra/amaga el vinil giratori - + Show/hide spinning vinyl widget Mostra/amaga l'element de pantalla amb el vinil giratori - + Vinyl Spinners Show/Hide (All Decks) Mostrar/amagar Spinners de Vinil (Tots els reproductors) - + Show/Hide all spinnies Mostra/amaga tots els vinils giratoris - + Toggle Waveforms Mostra/amaga les ones - + Show/hide the scrolling waveforms. mostra/amaga els gràfics d'ona locals. - + Waveform zoom Fa zoom del gràfic d'ona - + Waveform Zoom Zoom del gràfic d'ona - + Zoom waveform in Apropa el zoom del gràfic d'ona - + Waveform Zoom In Apropa el zoom del gràfic d'ona - + Zoom waveform out Allunya el zoom del gràfic d'ona - + Star Rating Up Valoració positiva - + Increase the track rating by one star Augmenta la puntuació de la pista amb una estrella - + Star Rating Down Valoració negativa - + Decrease the track rating by one star Disminueix la puntuació de la pista amb una estrella @@ -3548,6 +3589,159 @@ traça - Per sobre + Missatges de perfil + + ControllerHidReportTabsManager + + + Read + + + + + Send + + + + + Payload Size + + + + + bytes + + + + + Byte Position + + + + + Bit Position + + + + + Bit Size + + + + + Logical Min + + + + + Logical Max + + + + + Value + + + + + Physical Min + + + + + Physical Max + + + + + Unit Scaling + + + + + Unit + + + + + Abs/Rel + + + + + + Wrap + + + + + + Linear + + + + + + Preferred + + + + + + Null + + + + + + Volatile + + + + + Usage Page + + + + + Usage + + + + + Relative + + + + + Absolute + + + + + No Wrap + + + + + Non Linear + + + + + No Preferred + + + + + No Null + + + + + Non Volatile + + + ControllerInputMappingTableModel @@ -3683,27 +3877,27 @@ traça - Per sobre + Missatges de perfil ControllerScriptEngineLegacy - + Controller Mapping File Problem Problema amb el fitxer d'assignacions del controlador - + The mapping for controller "%1" cannot be opened. No es podeb obrir les assignacions del controlador «%1». - + The functionality provided by this controller mapping will be disabled until the issue has been resolved. Es deshabilitaran les funcions de les assignacions de controlador fins que el problema s'hagi resolt. - + File: Fitxer: - + Error: Error: @@ -3736,7 +3930,7 @@ traça - Per sobre + Missatges de perfil - + Lock Bloca els canvis @@ -3766,7 +3960,7 @@ traça - Per sobre + Missatges de perfil Font de pistes per a DJ automàtic - + Enter new name for crate: Introdueix un nom nou per a la caixa: @@ -3783,22 +3977,22 @@ traça - Per sobre + Missatges de perfil Importa una caixa - + Export Crate Exporta la caixa - + Unlock Permet els canvis - + An unknown error occurred while creating crate: Hi ha hagut un error desconegut a l'hora de crear la caixa: - + Rename Crate Canvia el nom a la caixa @@ -3808,28 +4002,28 @@ traça - Per sobre + Missatges de perfil Crea una caixa per a la propera actuació, per a les vostres pistes prefereides d'electohouse, o per a les pistes més demanades. - + Confirm Deletion Confirmeu la supressió - - + + Renaming Crate Failed El canvi de nom de la caixa ha fallat - + Crate Creation Failed No s'ha pogut crear la caixa - + M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Text CSV (*.csv);;Readable Text (*.txt) Llista de repr. M3U (*.m3u);;Llista de repr. M3U8 (*.m3u8);;Llista de repr. PLS (*.pls);;Text CSV (*.csv);;Text llegible (*.txt) - + M3U Playlist (*.m3u) Llista de reproducció M3U (*.m3u) @@ -3850,17 +4044,17 @@ traça - Per sobre + Missatges de perfil Les caixes us permeten organitzar la vostra música al vostre gust! - + Do you really want to delete crate <b>%1</b>? Vols realment esborrar la caixa <b>%1</b>? - + A crate cannot have a blank name. Una caixa no pot tenir un nom en blanc. - + A crate by that name already exists. Ja existeix una caixa amb aquest nom @@ -3955,12 +4149,12 @@ traça - Per sobre + Missatges de perfil Antics Contribuidors - + Official Website Lloc web oficial - + Donate Donatius @@ -4464,7 +4658,7 @@ Sovint ofereix una graella de pulsacions de major qualitat, però no serà prou Jog Wheel / Select Knob - + Plateret / Comandament de selecció @@ -4539,7 +4733,7 @@ Sovint ofereix una graella de pulsacions de major qualitat, però no serà prou The selected control does not exist.<br>This likely a bug. Please report it on the Mixxx bug tracker.<br><a href='https://github.com/mixxxdj/mixxx/issues'>https://github.com/mixxxdj/mixxx/issues</a><br><br>You tried to learn: %1,%2 - + El control seleccionat no existeix<br>Probablement degut a un error. Si us plau, informa'n en el registre d'errors de programari de Mixxx<br><a href='https://github.com/mixxxdj/mixxx/issues'>https://github.com/mixxxdj/mixxx/issues</a><br><br>Has intentat aprendre: %1,%2 @@ -4645,7 +4839,7 @@ Heu intentat aprendre: %1,%2 Purge selected tracks from the library and delete files from disk. - + Purga les pistes seleccionades des de la biblioteca i elimina els fitxers del disc. @@ -4851,69 +5045,80 @@ Heu intentat aprendre: %1,%2 Estèreo - - - - + + Saving settings failed + + + + + The password for '%1' contains invalid characters. Please enter it again. + +Note: This can for example be invisible linebreaks when using copy/paste. + + + + + + Action failed La acció ha fallat - + You can't create more than %1 source connections. No podeu crear més de %1 connexions font. - + Source connection %1 Connexió font %1 - + Settings for %1 Settings for broadcast profile, %1 is the profile name placeholder - + Configuració per a %1 - + At least one source connection is required. Es requereix com a mínim 1 connexió font. - + Are you sure you want to disconnect every active source connection? Segur que voleu desconnectar totes les connexions font actives? - - + + Confirmation required Es necessita confirmació - + '%1' has the same Icecast mountpoint as '%2'. Two source connections to the same server that have the same mountpoint can not be enabled simultaneously. «%1» té el mateix punt de muntatge Icecast que «%2». No es poden activar simultàniament dues connexions font al mateix servidor que tinguin el mateix punt de muntatge. - + Are you sure you want to delete '%1'? Esteu segur de voler esborrar '%1'? - + Renaming '%1' Reanomenant '%1' - + New name for '%1': Nom nou per a '%1': - + Can't rename '%1' to '%2': name already in use No es pot canviar el nom de '%1' a '%2': Aquest nom ja existeix @@ -4926,27 +5131,27 @@ No es poden activar simultàniament dues connexions font al mateix servidor que Preferències de la retransmissió en directe - + Mixxx Icecast Testing Prova d'Icecast del Mixxx - + Public stream Transmissió pública - + http://www.mixxx.org http://www.mixxx.org - + Stream name Nom de la emissió - + Due to flaws in some streaming clients, updating Ogg Vorbis metadata dynamically can cause listener glitches and disconnections. Check this box to update the metadata anyway. Degut a errors en algunes aplicacions client, actualitzar les metadades Ogg Vorbis dinàmicament pot produïr errors i desconnexions als oients. Activeu la opció si això no és un problema @@ -4986,67 +5191,72 @@ No es poden activar simultàniament dues connexions font al mateix servidor que Opcions per a %1 - + + Available fields: $artist, $title, $year, $album, $genre, $bpm + + + + Dynamically update Ogg Vorbis metadata. Actualitza les metadades Ogg Vorbis dinàmicament - + ICQ ICQ - + AIM AIM - + Website Pàgina web - + Live mix Mescla en viu - + IRC IRC - + Select a source connection above to edit its settings here Seleccioneu la connexió font de la qual voleu editar la configuració - + Password storage Emmagatzematge de claus - + Plain text Text simple - + Secure storage (OS keychain) Emmagatzematge segur (Clauer del SO) - + Genre Gènere - + Use UTF-8 encoding for metadata. Utilitza la codificació UTF-8 per a les metadades - + Description Descripció @@ -5072,42 +5282,42 @@ No es poden activar simultàniament dues connexions font al mateix servidor que Canals - + Server connection Connexió amb el servidor - + Type Tipus - + Host Màquina - + Login Usuari - + Mount Muntatge - + Port Port - + Password Contrasenya - + Stream info Informació de la emissió @@ -5117,17 +5327,17 @@ No es poden activar simultàniament dues connexions font al mateix servidor que Metadades - + Use static artist and title. Utiliza títol i artista fixes. - + Static title Títol fix - + Static artist Artista fix @@ -5186,13 +5396,14 @@ No es poden activar simultàniament dues connexions font al mateix servidor que DlgPrefColors - - + + + By hotcue number Per número de marca directa - + Color Color @@ -5237,17 +5448,22 @@ No es poden activar simultàniament dues connexions font al mateix servidor que + Jump default color + + + + When key colors are enabled, Mixxx will display a color hint associated with each key. - + Enable Key Colors - + Key palette @@ -5255,114 +5471,114 @@ associated with each key. DlgPrefController - + Apply device settings? Voleu aplicar la configuració del dispositiu? - + Your settings must be applied before starting the learning wizard. Apply settings and continue? És necessari aplicar la configuració abans d'iniciar l'assistent d'aprenentatge. Volue aplicar la configuració i continuar? - + None Cap - + %1 by %2 %1 per %2 - + Mapping has been edited S'ha editat el mapping - + Always overwrite during this session Sobreescriu sempre durant aquesta sessió - + Save As Anomena i desa - + Overwrite Sobreescriu - + Save user mapping Desa el mapping d'usuari - + Enter the name for saving the mapping to the user folder. Introdueix el nom del mapping per desar-lo a la carpeta d'usuari - + Saving mapping failed No s'ha pogut desar el mapping - + A mapping cannot have a blank name and may not contain special characters. Una assignació no pot tenir el nom en blanc i no pot tenir caràcters especials - + A mapping file with that name already exists. Ja existeix un fitxer d'assignació amb aquest nom. - + Do you want to save the changes? Voleu desar els canvis? - + Troubleshooting Solució de problemes - + <font color='#BB0000'><b>If you use this mapping your controller may not work correctly. Please select another mapping or disable the controller.</b></font><br><br>This mapping was designed for a newer Mixxx Controller Engine and cannot be used on your current Mixxx installation.<br>Your Mixxx installation has Controller Engine version %1. This mapping requires a Controller Engine version >= %2.<br><br>For more information visit the wiki page on <a href='https://mixxx.org/wiki/doku.php/controller_engine_versions'>Controller Engine Versions</a>. - + <font color='#BB0000'><b>Si utilitza aquesta assignació, el teu controlador pot ser que no funcioni correctament. Si us plau, seleccioni una altra assignació o deshabilita el controlador.</b></font><br><br>Aquesta assignació va ser dissenyada per un motor controlador Mixxx més nou. I no pot ser usa't en la teva instal·lació de Mixxx actual.<br>La teva instal·lació Mixxx té un motor de controlador versió %1. Aquesta assignació requereix un motor de controlador versió >= %2.<br><br>Per a més informació visita la pàgina de wiki a<a href='https://mixxx.org/wiki/doku.php/controller_engine_versions'>Versions de motor de controlador</a>. - + Mapping already exists. El fitxer d'assignació ja existeix. - + <b>%1</b> already exists in user mapping folder.<br>Overwrite or save with a new name? <b>%1</b> ja existeix a la carpeta de controladors d'usuari.<br>Voleu sobreesciure o desar amb un altre nom? - + Clear Input Mappings Esborra les assignacions d'entrada - + Are you sure you want to clear all input mappings? Esteu segur de voler esborrar totes les assignacions d'entrada? - + Clear Output Mappings Esborra les assignacions de sortida - + Are you sure you want to clear all output mappings? Esteu segur de voler esborrrar totes les assignacions de sortida? @@ -5380,100 +5596,105 @@ Volue aplicar la configuració i continuar? Activat - + + Refresh mapping list + + + + Device Info - + Physical Interface: - + Vendor name: - + Product name: - + Vendor ID - + VID: - + Product ID - + PID: - + Serial number: - + USB interface number: - + HID Usage-Page: - + HID Usage: - + Description: Descripció: - + Support: Suport: - + Screens preview - + Input Mappings Assignacions d'entrada - - + + Search Cerca - - + + Add Afegeix - - + + Remove Suprimeix @@ -5493,17 +5714,17 @@ Volue aplicar la configuració i continuar? Carrega l'assignació - + Mapping Info Informació de l'assignació - + Author: Autor: - + Name: Nom: @@ -5513,28 +5734,28 @@ Volue aplicar la configuració i continuar? Assistent d'aprenentatge (només MIDI) - + Data protocol: - + Mapping Files: Fitxers de l'assignació - + Mapping Settings - - + + Clear All Suprimeix-ho tot - + Output Mappings Assignacions de sortida @@ -5549,21 +5770,21 @@ Volue aplicar la configuració i continuar? - Mixxx uses "mappings" to connect messages from your controller to controls in Mixxx. If you do not see a mapping for your controller in the "Load Mapping" menu when you click on your controller on the left sidebar, you may be able to download one online from the %1. Place the XML (.xml) and Javascript (.js) file(s) in the "User Mapping Folder" then restart Mixxx. If you download a mapping in a ZIP file, extract the XML and Javascript file(s) from the ZIP file to your "User Mapping Folder" then restart Mixxx. - El Mixxx utilitza "mapes" per connectar missatges de la vostra controladora a controls del Mixxx. Si no veieu una assignació per al vostre controlador al menú «Mapa de gra» quan feu clic al vostre controlador a la barra lateral esquerra, és possible que pugueu descarregar-ne una en línia des de %1. Col·loqueu els fitxers XML (.xml) i Javascript (.js) a la "Carpeta d'assignació d'usuaris" i després reinicieu el Mixxx. Si descarregueu una assignació en un fitxer ZIP, extraieu el fitxer XML i el fitxer Javascript des del fitxer ZIP a la vostra "Carpeta d'assignació d'usuaris" i després reinicieu el Mixxx. + Mixxx uses "mappings" to connect messages from your controller to controls in Mixxx. If you do not see a mapping for your controller in the "Load Mapping" menu when you click on your controller on the left sidebar, you may be able to download one online from the %1. Place the XML (.xml) and Javascript (.js) file(s) in the "User Mapping Folder" then click the Reload button next to the mapping selector to reload all available mappings. If you download a mapping in a ZIP file, extract the XML and Javascript file(s) from the ZIP file to your "User Mapping Folder" then click the Reload button. + - + Mixxx DJ Hardware Guide Guia de maquinari de DJ de Mixxx - + MIDI Mapping File Format Format de fitxer d'assignacions MIDI - + MIDI Scripting with Javascript Assignacions MIDI amb Javascript @@ -5656,7 +5877,7 @@ Volue aplicar la configuració i continuar? Skin selector - + Seleccionador de temes @@ -5676,7 +5897,7 @@ Volue aplicar la configuració i continuar? Menu bar - + Barra de menú @@ -5691,7 +5912,7 @@ Volue aplicar la configuració i continuar? Multi-Sampling - + Multimostreig @@ -5732,137 +5953,137 @@ Volue aplicar la configuració i continuar? DlgPrefDeck - + Mixxx mode Mode Mixxx - + Mixxx mode (no blinking) Mode del Mixxx (sense intermitència) - + Pioneer mode Mode Pioneer - + Denon mode Mode Denon - + Numark mode Mode Numark - + CUP mode mode CUP - + mm:ss%1zz - Traditional mm:ss%1zz - Tradicional - + mm:ss - Traditional (Coarse) mm:ss - Tradicional (tosca) - + s%1zz - Seconds s%1zz - Segons - + sss%1zz - Seconds (Long) sss%1zz - Segons (llarg) - + s%1sss%2zz - Kiloseconds s%1sss%2zz - Quilosegons - + Intro start Inici del Intro - + Main cue Marca principal - + First hotcue - + Primera marca directa - + First sound (skip silence) So inicial (salta el silenci) - + Beginning of track Inici de la pista - + Reject Descarta - + Allow, but stop deck Permet, però atura el reproductor - + Allow, play from load point Permet, reprodueix des del punt de carrega - + 4% 4% - + 6% (semitone) 6% (seminota) - + 8% (Technics SL-1210) 8% (Technics SL-1210) - + 10% 10% - + 16% 16% - + 24% 24% - + 50% 50% - + 90% 90% @@ -6046,7 +6267,7 @@ You can always drag-and-drop tracks on screen to clone a deck. Sync mode (Dynamic tempo tracks) - + Mode de sincronització (Pistes de tempo dinàmiques) @@ -6091,7 +6312,7 @@ You can always drag-and-drop tracks on screen to clone a deck. Apply tempo changes from a soft-leading track (usually the leaving track in a transition) to the follower tracks. After the transition, the follower track will continue with the previous leader's very last tempo. Changes from explicit selected leaders are always applied. - + Aplica els canvis de tempo d’una pista líder suau (normalment la pista que s’està deixant en una transició) a les pistes seguides. Després de la transició, la pista seguidora continuarà amb l’últim tempo de la pista líder anterior. Els canvis de pistes líders seleccionades explícitament sempre s’apliquen. @@ -6166,7 +6387,7 @@ You can always drag-and-drop tracks on screen to clone a deck. Use steady tempo - + Utilitza tempo constant @@ -6246,7 +6467,7 @@ You can always drag-and-drop tracks on screen to clone a deck. Drag and drop to rearrange lists and show or hide effects. - + Arrossega i deixa anar per reorganitzar les llistes i els efectes mostra o amaga @@ -6317,57 +6538,57 @@ You can always drag-and-drop tracks on screen to clone a deck. La mida mínima de l'aparenca és més gran que la resolució de la vostra pantalla - + Allow screensaver to run Permet que s'activi l'estalvi de pantalla - + Prevent screensaver from running Evita que s'activi l'estalvi de pantalla - + Prevent screensaver while playing Evita l'estalvi de pantalla mentre reprodueix - + Disabled - + 2x MSAA - + 4x MSAA - + 8x MSAA - + 16x MSAA - + This skin does not support color schemes Aquesta aparença no suporta els esquemes de colors - + Information Informació - + Mixxx must be restarted before the new locale, scaling or multi-sampling settings will take effect. @@ -6594,67 +6815,97 @@ and allows you to pitch adjust them for harmonic mixing. Consulta el manual per a més informació - + Music Directory Added S'ha afegit la carpeta de música - + You added one or more music directories. The tracks in these directories won't be available until you rescan your library. Would you like to rescan now? Heu afegit un o més carpetes de música. Les cançons d'aquestes carpetes no estaran disponibles fins que es faci un escaneig de nou. Voleu realitzar l'escaneig ara? - + Scan Escaneja - + Item is not a directory or directory is missing - + Choose a music directory Selecciona una carpeta de música - + Confirm Directory Removal Confirma la supressió de la carpeta - + Mixxx will no longer watch this directory for new tracks. What would you like to do with the tracks from this directory and subdirectories?<ul><li>Hide all tracks from this directory and subdirectories.</li><li>Delete all metadata for these tracks from Mixxx permanently.</li><li>Leave the tracks unchanged in your library.</li></ul>Hiding tracks saves their metadata in case you re-add them in the future. El Mixxx no revisarà més la carpeta per trobar noves pistes. Que voleu fer amb les pistes d'aquesta carpeta i subcarpetes?<ul><li>Amaga totes les pistes d'aquesta carpeta i subcarpetes.</li><li>Esborra les metadades d'aquestes pistes del Mixxx de forma permanent.</li><li>Deixa les pistes sense canviar a la Biblioteca</li></ul>Si s'amaguen les pistes, les metadades seguiran disponibles en cas que les afegíssiu de nou. - + Metadata means all track details (artist, title, playcount, etc.) as well as beatgrids, hotcues, and loops. This choice only affects the Mixxx library. No files on disk will be changed or deleted. Metadades significa tots els detalls de la pista (artista, títol, comptador de reproducció, etc.) així com les graelles de rtime, les marques directes i els bucles. Aquesta acció només afecta a la biblioteca del Mixxx. Els fitxers del disc no es canviaran ni s'esborraran. - + Hide Tracks Amaga les pistes - + Delete Track Metadata Esborra les metadades de les pistes - + Leave Tracks Unchanged Deixa les pistes sense canviar - + Relink music directory to new location Corregeix la ubicació de la carpeta de música - + + Black + + + + + ExtraBold + + + + + Bold + + + + + SemiBold + + + + + Medium + + + + + Light + + + + Select Library Font Selecciona el tipus de lletra de la Biblioteca @@ -6765,7 +7016,7 @@ and allows you to pitch adjust them for harmonic mixing. Track Search - + Cercador de pistes @@ -6870,7 +7121,7 @@ and allows you to pitch adjust them for harmonic mixing. Automatically write modified track metadata from the library into file tags and reimport metadata from updated file tags into the library - + Escriu automàticament les metadades modificades de la pista des de la biblioteca a les etiquetes del fitxer i torna a importar les metadades des de les etiquetes actualitzades del fitxer a la biblioteca. @@ -7552,172 +7803,177 @@ The loudness target is approximate and assumes track pregain and main output lev DlgPrefSound - + %1 Hz %1 Hz - + Default (long delay) Per defecte (retard llarg) - + Experimental (no delay) Experimental (sense retard) - + Disabled (short delay) Desactivat (retard curt) - + Soundcard Clock Rellotge de la targeta de so - + Network Clock Rellotge de xarxa - + Direct monitor (recording and broadcasting only) Monitor directe (només gravació i retransmissió) - + Disabled Desactivat - + Enabled Activat - + Stereo Estèreo - + Mono Mono - + To enable Realtime scheduling (currently disabled), see the %1. - + The %1 lists sound cards and controllers you may want to consider for using Mixxx. - + Mixxx DJ Hardware Guide Guia de maquinari de DJ de Mixxx - + + Find details in the Mixxx user manual + Troba els detalls en el manual d'usuari de Mixxx + + + Information - + Mixxx must be restarted before the multi-threaded RubberBand setting change will take effect. - + auto (<= 1024 frames/period) - + 2048 frames/period 2048 frames/periode - + 4096 frames/period 4096 frames/període - + Are you sure? - + Distribute stereo channels into mono channels for parallel processing will result in a loss of mono compatibility and a diffuse stereo image. It is not recommended during broadcasting or recording. - + Are you sure you wish to proceed? - + No - + Yes, I know what I am doing - + Microphone inputs are out of time in the record & broadcast signal compared to what you hear. L'entrada de micròfon queda desincronitzada al gravar o retransmetre comparat amb el que es sent. - + Measure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. Mesureu la latència total i introduiu-la en la Compensació de la latència del micròfon per tal de sincronitzar el micròfon. - + Refer to the Mixxx User Manual for details. Consulteu el Manual d'usuari del Mixxx per a més informació. - + Configured latency has changed. La latència configurada ha canviat - + Remeasure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. Torneu a mesurar la latència total i introduiu-la en la Compensació de la matència del micròfon per tal de sincronitzar el micròfon. - + Realtime scheduling is enabled. La planificació en temps real està activada - + Main output only Només la sortida principal - + Main and booth outputs Sortides principal i de cabina - + %1 ms %1 ms - + Configuration error Hi ha un error en la configuració @@ -7784,17 +8040,22 @@ The loudness target is approximate and assumes track pregain and main output lev ms - + + Deck and Bus outputs are for external mixers. They are post-fader and include effects and crossfader (for Auto DJ). For external mixing, make sure all Mixxx faders and EQ knobs are set to their default position (right- or double-click). + + + + 20 ms 20 ms - + Buffer Underflow Count Comptador de buidat del búfer - + 0 0 @@ -7819,12 +8080,12 @@ The loudness target is approximate and assumes track pregain and main output lev Entrada - + System Reported Latency Latència reportada pel sistema - + Enlarge your audio buffer if the underflow counter is increasing or you hear pops during playback. Incrementeu el búfer d'audio si el comptador de buffer buit incrementa o si sentiu talls durant la reproducció. @@ -7854,7 +8115,7 @@ The loudness target is approximate and assumes track pregain and main output lev Suggeriments i diagnòstic - + Downsize your audio buffer to improve Mixxx's responsiveness. Reduïu la mida del búfer d'audio per millorar la resposta del Mixxx @@ -7901,7 +8162,7 @@ The loudness target is approximate and assumes track pregain and main output lev Configuració del vinil - + Show Signal Quality in Skin Mostra la qualitat de la senyal a l'aparença @@ -7937,46 +8198,51 @@ The loudness target is approximate and assumes track pregain and main output lev + Pitch estimator + Estimador de pitch + + + Deck 1 Reproductor 1 - + Deck 2 Reproductor 2 - + Deck 3 Plat 3 - + Deck 4 Plat 4 - + Signal Quality Qualitat de la senyal - + http://www.xwax.co.uk http://www.xwax.co.uk - + Powered by xwax Amb tecnologia xwax - + Hints Suggerències - + Select sound devices for Vinyl Control in the Sound Hardware pane. Seleccioneu els dispositius de so per al control de vinil al panell de Maquinari de So @@ -7984,58 +8250,58 @@ The loudness target is approximate and assumes track pregain and main output lev DlgPrefWaveform - + Filtered Filtrat - + HSV HSV - + RGB RGB - + Top - + Superior - + Center - + Centre - + Bottom - + Inferior - + 1/3 of waveform viewer options for "Text height limit" - + Entire waveform viewer - + OpenGL not available OpenGL no està disponible - + dropped frames fotogrames descartats - + Cached waveforms occupy %1 MiB on disk. La memòria cau dels gràfics d'ona ocupa %1 MiB en disc. @@ -8053,22 +8319,17 @@ The loudness target is approximate and assumes track pregain and main output lev Velocitat de fotogrames - + OpenGL Status - + Displays which OpenGL version is supported by the current platform. Mostra quina versió de OpenGL suporta la plataforma actual. - - Normalize waveform overview - Anivella el gràfic d'ona en la vista de forma d'ona general - - - + Average frame rate Velocitat mitjana de fotogrames @@ -8084,7 +8345,7 @@ The loudness target is approximate and assumes track pregain and main output lev Nivell de zoom per defecte - + Displays the actual frame rate. Mostra la velocitat de fotogrames actual @@ -8164,7 +8425,7 @@ The loudness target is approximate and assumes track pregain and main output lev Guany visual global - + The waveform overview shows the waveform envelope of the entire track. Select from different types of displays for the waveform overview, which differ primarily in the level of detail shown in the waveform. La forma d'ona general mostra la forma de l'ona de la pista sencera. @@ -8233,22 +8494,22 @@ Seleccioneu entre els diferents tipus de gràfics per a la forma d'ona loca - + Caching Memoria cau - + Mixxx caches the waveforms of your tracks on disk the first time you load a track. This reduces CPU usage when you are playing live but requires extra disk space. El Mixxx emmagatzema a la memòria cau els gràfics d'ona de les vostres pistes a disc el primer cop que carregueu la pista en un plat. Això redueix el consum de CPU les posteriors vegades, però requereix espai addicional de disc. - + Enable waveform caching Habliita la memòria cau per a gràfics d'ona - + Generate waveforms when analyzing library Genera els gràfics d'ona a l'analitzar la biblioteca @@ -8264,7 +8525,7 @@ Seleccioneu entre els diferents tipus de gràfics per a la forma d'ona loca - + Type @@ -8324,12 +8585,28 @@ Seleccioneu entre els diferents tipus de gràfics per a la forma d'ona loca - + Overview Waveforms - + + Gain + + + + + Normalize to peak + + + + + Use Waveform "Global" gain and ReplayGain (if enabled) + 'Global' refers to the 'Global' visual gain in the scrolling waveform settings + + + + Clear Cached Waveforms Esborra la memòria cau dels gràfics d'ona @@ -8821,7 +9098,7 @@ Això no es pot desfer! BPM: - + Location: Ubicació: @@ -8836,27 +9113,27 @@ Això no es pot desfer! Comentaris - + BPM BPM - + Sets the BPM to 75% of the current value. Posa el BPM al 75% del valor actual. - + 3/4 BPM 3/4 BPM - + Sets the BPM to 50% of the current value. Posa el BPM al 50% del valor actual. - + Displays the BPM of the selected track. Mostra el BPM de la pista seleccionada. @@ -8911,49 +9188,49 @@ Això no es pot desfer! Gènere - + ReplayGain: ReplayGain: - + Sets the BPM to 200% of the current value. Posa el BPM al 200% del valor actual. - + Double BPM Augmenta el tempo al doble - + Halve BPM Redueix el tempo a la meitat - + Clear BPM and Beatgrid Suprimeix els BPM i la graella de ritme - + Move to the previous item. "Previous" button Ves al ítem anterior. - + &Previous A&nterior - + Move to the next item. "Next" button Ves al ítem següent - + &Next &Següent @@ -8978,12 +9255,12 @@ Això no es pot desfer! Color - + Date added: Data d'addicció: - + Open in File Browser Obre en l'explorador de fitxers @@ -8993,12 +9270,17 @@ Això no es pot desfer! - + + Filesize: + + + + Track BPM: BPM de la pista: - + Converts beats detected by the analyzer into a fixed-tempo beatgrid. Use this setting if your tracks have a constant tempo (e.g. most electronic music). Often results in higher quality beatgrids, but will not do well on tracks that have tempo shifts. @@ -9007,90 +9289,90 @@ Utilitzant aquesta configuració les pistes tindran un tempo constant (p. ex. la Sovint ofereix una graella de pulsacions de major qualitat, però no serà prou fiable amb pistes que tinguin canvis de tempo. - + Assume constant tempo Assumeix un tempo constant - + Sets the BPM to 66% of the current value. Posa el BPM al 66% del valor actual. - + 2/3 BPM 2/3 BPM - + Sets the BPM to 150% of the current value. Posa el BPM al 150% del valor actual. - + 3/2 BPM 3/2 BPM - + Sets the BPM to 133% of the current value. Posa el BPM al 133% del valor actual. - + 4/3 BPM 4/3 BPM - + Tap with the beat to set the BPM to the speed you are tapping. Toqueu/premeu repetidament al ritme al qual voleu establir els BPM. - + Tap to Beat Prem al ritme - + Hint: Use the Library Analyze view to run BPM detection. Suggerència: Utilitzeu la opció d'analitzador a la vista de la biblioteca per executar la detecció de BPM. - + Save changes and close the window. "OK" button Desa els canvis i tanca la finestra. - + &OK D'&acord - + Discard changes and close the window. "Cancel" button Descarta els canvis i tanca la finestra. - + Save changes and keep the window open. "Apply" button Descarta els canvis i no tanquis la finestra - + &Apply &Aplica - + &Cancel &Cancel·la - + (no color) (sense color) @@ -9247,7 +9529,7 @@ Sovint ofereix una graella de pulsacions de major qualitat, però no serà prou - + (no color) @@ -9449,27 +9731,27 @@ Sovint ofereix una graella de pulsacions de major qualitat, però no serà prou EngineBuffer - + Soundtouch (faster) Soundtouch (ràpid) - + Rubberband (better) Rubberband (més qualitat) - + Rubberband R3 (near-hi-fi quality) Rubberband R3 (quasi qualitat hi-fi) - + Unknown, using Rubberband (better) Desconegut utilitzant Rubberband (millor) - + Unknown, using Soundtouch @@ -9684,15 +9966,15 @@ Sovint ofereix una graella de pulsacions de major qualitat, però no serà prou LegacySkinParser - - + + Safe Mode Enabled Shown when Mixxx is running in safe mode. Mode segur activat - - + + No OpenGL support. Shown when Spinny can not be displayed. Please keep @@ -9704,57 +9986,57 @@ Shown when VuMeter can not be displayed. Please keep OpenGL. - + activate activa - + toggle commuta - + right dreta - + left esquerra - + right small dreta petit - + left small esquerra petit - + up amunt - + down avall - + up small amunt petit - + down small avall petit - + Shortcut Drecera @@ -9762,62 +10044,62 @@ OpenGL. Library - + This or a parent directory is already in your library. - + This or a listed directory does not exist or is inaccessible. Aborting the operation to avoid library inconsistencies - - + + This directory can not be read. - + An unknown error occurred. Aborting the operation to avoid library inconsistencies - + Can't add Directory to Library - + Could not add <b>%1</b> to your library. %2 - + Can't remove Directory from Library - + An unknown error occurred. - + This directory does not exist or is inaccessible. - + Relink Directory - + Could not relink <b>%1</b> to <b>%2</b>. %3 @@ -9983,12 +10265,12 @@ Voleu sobreescriure aquesta llista? Pistes amagades - + Export to Engine DJ Exporta a Engine DJ - + Tracks Pistes @@ -9996,253 +10278,253 @@ Voleu sobreescriure aquesta llista? MixxxMainWindow - + Sound Device Busy El dispositiu de so està ocupat - + <b>Retry</b> after closing the other application or reconnecting a sound device <b>Torna-ho a provar</b> després de tancar l'altra aplicació o reconnectar el dispositiu d'àudio - - - + + + <b>Reconfigure</b> Mixxx's sound device settings. <b>Reconfigura</b> les opcions del dispositiu d'àudio de Mixxx - - + + Get <b>Help</b> from the Mixxx Wiki. Obteniu <b>ajuda</b> a la Vikipèdia de Mixxx. - - - + + + <b>Exit</b> Mixxx. <b>Surt</b> del Mixxx. - + Retry Torna a provar - + skin Tema - + Allow Mixxx to hide the menu bar? - + Hide Always show the menu bar? - + Always show - + The Mixxx menu bar is hidden and can be toggled with a single press of the <b>Alt</b> key.<br><br>Click <b>%1</b> to agree.<br><br>Click <b>%2</b> to disable that, for example if you don't use Mixxx with a keyboard.<br><br>You can change this setting any time in Preferences -> Interface.<br> Keep formatting tags <b> (bold text) and <br> (linebreak). %1 is the placeholder for the 'Always show' button label - + Ask me again - - + + Reconfigure Reconfigura - + Help Ajuda - - + + Exit Surt - - + + Mixxx was unable to open all the configured sound devices. El Mixxx no ha pogut obrir tots els dispositius de so configurats. - + Sound Device Error Error del dispositiu de so - + <b>Retry</b> after fixing an issue <b>Reintenta</b> després de corregir el problema - + No Output Devices No hi ha cap dispositiu de sortida - + Mixxx was configured without any output sound devices. Audio processing will be disabled without a configured output device. S'ha configurat el Mixxx sense cap dispositiu de so de sortida, per la qual cosa s'inhabilitarà el processament d'àudio. - + <b>Continue</b> without any outputs. <b>Continua</b> sense cap sortida. - + Continue Continua - + Load track to Deck %1 Carrega la pista a la platina %1 - + Deck %1 is currently playing a track. La platina %1 està reproduint una pista. - + Are you sure you want to load a new track? Esteu segur de voler carregar una nova pista? - + There is no input device selected for this vinyl control. Please select an input device in the sound hardware preferences first. No hi ha cap dispositiu d'entrada seleccionat per a aquest control de vinil. Si us plau, seleccioneu primer un dispositiu d'entrada a les preferències de Maquinari de so. - + There is no input device selected for this passthrough control. Please select an input device in the sound hardware preferences first. No hi ha cap dispositiu d'entrada seleccionat per a aquest control de pas d'audio. Si us plau, seleccioneu primer un dispositiu d'entrada a les preferències de Maquinari de so. - + There is no input device selected for this microphone. Do you want to select an input device? No hi ha cap dispositiu d'entrada seleccionat per aquest micròfon. Volue seleccionar ara un dispositiu d'entrada? - + There is no input device selected for this auxiliary. Do you want to select an input device? No hi ha cap dispositiu d'entrada seleccionat per aquest auxiliar. Voleu seleccionar ara un dispositiu d'entrada? - + Scan took %1 - + No changes detected. - - + + %1 tracks in total - + %1 new tracks found - + %1 moved tracks detected - + %1 tracks are missing (%2 total) - + %1 tracks have been rediscovered - + Library scan finished - + Error in skin file Error en el fitxer d'aparença - + The selected skin cannot be loaded. No es pot carregar l'aparença seleccionada. - + OpenGL Direct Rendering OpenGL Renderització Directa - + Direct rendering is not enabled on your machine.<br><br>This means that the waveform displays will be very<br><b>slow and may tax your CPU heavily</b>. Either update your<br>configuration to enable direct rendering, or disable<br>the waveform displays in the Mixxx preferences by selecting<br>"Empty" as the waveform display in the 'Interface' section. La Renderizació Directa no està habilitada a la vostra màquina.<br><br> Això significa que els gràfics forma d'ona seran molt <br><b>lents i poden fer servir molta CPU</b>. Prove de canviar la<br> configuració per habilitar la renderització directa, o desactiveu<br>els gràfics de forma d'ona a les preferències del Mixxx seleccionant<br>"Buit" al tipus de forma d'ona, en la secció de "Gràfics d'ona". - - - + + + Confirm Exit Confirma la sortida - + A deck is currently playing. Exit Mixxx? Un plat està reproduint encara. Voleu sortir del Mixxx? - + A sampler is currently playing. Exit Mixxx? Hi ha un reproductor de mostres que està reproduint. Segur que voleu sortir del Mixxx? - + The preferences window is still open. La finestra de preferències està oberta encara. - + Discard any changes and exit Mixxx? Descartar els canvis i sortir del Mixxx? @@ -10258,13 +10540,13 @@ Voleu seleccionar ara un dispositiu d'entrada? PlaylistFeature - + Lock Bloca els canvis - - + + Playlists Llistes de reproducció @@ -10274,58 +10556,63 @@ Voleu seleccionar ara un dispositiu d'entrada? - + + Adopt current order + + + + Unlock all playlists - + Delete all unlocked playlists - + Unlock Permet els canvis - - + + Confirm Deletion - + Do you really want to delete all unlocked playlists? - + Deleting %1 unlocked playlists.<br>This operation can not be undone! - + Playlists are ordered lists of tracks that allow you to plan your DJ sets. - + It may be necessary to skip some tracks in your prepared playlist or add some different tracks in order to maintain the energy of your audience. - + Some DJs construct playlists before they perform live, but others prefer to build them on-the-fly. Alguns DJ preparen llistes de reproducció abans d'actuar, però altres prefereixen fer-les en viu. - + When using a playlist during a live DJ set, remember to always pay close attention to how your audience reacts to the music you've chosen to play. Quan utilitzeu una llista de reproducció durant una sessió en viu, recordeu parar atenció a com reacciona l'audiència a la música que heu decidit reproduir. - + Create New Playlist Crea una nova llista de reproducció @@ -10424,59 +10711,59 @@ Voleu seleccionar ara un dispositiu d'entrada? QMessageBox - + Upgrading Mixxx Actualitzant el Mixxx - + Mixxx now supports displaying cover art. Do you want to scan your library for cover files now? Ara és possible que el Mixxx mostri les caràtules. Voleu escanejar ara la biblioteca cercant les caràtules? - + Scan Escaneja - + Later Més tard - + Upgrading Mixxx from v1.9.x/1.10.x. Actualitzant el Mixxx de la versió v1.9.x/1.10.x. - + Mixxx has a new and improved beat detector. El Mixxx té un nou i millorat detector de tocs. - + When you load tracks, Mixxx can re-analyze them and generate new, more accurate beatgrids. This will make automatic beatsync and looping more reliable. Quan carregueu les vostres pistes, el Mixxx pot tornar a analitzar i generar noves graelles de ritme més acurades. Això millora la sincronització automàtica de ritme i els bucles. - + This does not affect saved cues, hotcues, playlists, or crates. Això no afecta als punts Cue, marques directe, llistes de reproducció o caixes. - + If you do not want Mixxx to re-analyze your tracks, choose "Keep Current Beatgrids". You can change this setting at any time from the "Beat Detection" section of the Preferences. Si no voleu que Mixxx torni a analitzar les vostres pistes, trieu "Mantingues les graelles actuals". Podeu canviar aquesta opció en qualsevol moment des de la secció "Detecció de ritme" de les Preferències. - + Keep Current Beatgrids Mantingues les graelles actuals - + Generate New Beatgrids Genera noves graelles de ritme @@ -10590,69 +10877,82 @@ Voleu escanejar ara la biblioteca cercant les caràtules? 14-bit (MSB) - + Main + Audio path indetifier Principal - + Booth + Audio path indetifier Sortida de cabina - + Headphones + Audio path indetifier Auriculars - + Left Bus + Audio path indetifier Bus esquerra - + Center Bus + Audio path indetifier Bus central - + Right Bus + Audio path indetifier Bus dret - + Invalid Bus + Audio path indetifier Bus invàlid - + Deck + Audio path indetifier Plat - + Record/Broadcast + Audio path indetifier Enregistrament/Retransmissió - + Vinyl Control + Audio path indetifier Control de Vinil - + Microphone + Audio path indetifier Micròfon - + Auxiliary + Audio path indetifier Auxiliar - + Unknown path type %1 + Audio path Tipus de ruta %1 desconegut @@ -10987,47 +11287,49 @@ Amb una amplitud de zero, permet de moure manualment la posició sobre el rang s Ample - + Metronome Metrònom - + + The Mixxx Team - + Adds a metronome click sound to the stream Afegeix uns clics a la sortida, amb la freqüència del metrònom. - + BPM BPM - + Set the beats per minute value of the click sound Defineix la freqüència en BPM dels clics - + Sync Sincronitza - + Synchronizes the BPM with the track if it can be retrieved Sincronitza el BPM amb el de la pista, si es pot obtenir - + + Gain - + Set the gain of metronome click sound @@ -11832,13 +12134,13 @@ Configureu un format diferent a les preferències - + encoder failure errada en el compressor - + Failed to apply the selected settings. No s'han pogut activar les opcions seleccionades @@ -12045,15 +12347,86 @@ and the processed output signal as close as possible in perceived loudness + + Auto Gain Control + + + + + AGC + + + + + Auto Gain Control (AGC) automatically adjusts the gain of an audio signal to maintain a consistent output level. + + + + Threshold (dBFS) + Threshold + + + The Threshold knob adjusts the level above which the effect starts enhancing the input signal + + + + + Target (dBFS) + + + + + Target + + + + + The Target knob adjusts the desired target level of the output signal + + + + + Gain (dB) + + + + + The Gain knob adjusts the maximum amount of gain that the effect will apply + + + + + Knee (dB) + + + + + The Knee knob defines the range around the Threshold where gain changes are applied gradually, +ensuring smooth transitions and avoiding abrupt level shifts. + + + + + The Attack knob sets the time that determines how fast the auto gain +will set in once the signal exceeds the threshold + + + + + The Release knob sets the time that determines how fast the auto gain will recover from the gain +adjustment once the signal falls under the threshold. Depending on the input signal, short release times +may introduce a 'pumping' effect and/or distortion. + + The Threshold knob adjusts the level above which the compressor starts attenuating the input signal @@ -12082,6 +12455,7 @@ At a ratio of 1:1 no compression is happening, as the input is exactly the outpu + Knee @@ -12092,11 +12466,13 @@ At a ratio of 1:1 no compression is happening, as the input is exactly the outpu + Attack (ms) + Attack @@ -12108,11 +12484,13 @@ will set in once the signal exceeds the threshold + Release (ms) + Release @@ -12141,12 +12519,12 @@ may introduce a 'pumping' effect and/or distortion. - + built-in - + missing @@ -12181,42 +12559,42 @@ may introduce a 'pumping' effect and/or distortion. - + Empty - + Simple - + Filtered - + HSV - + VSyncTest - + RGB - + Stacked - + Unknown @@ -12477,193 +12855,193 @@ may introduce a 'pumping' effect and/or distortion. ShoutConnection - - + + Mixxx encountered a problem Mixxx ha trobat un problema - + Could not allocate shout_t No es pot assignar shout_t - + Could not allocate shout_metadata_t No es pot assignar shout_metadata_t - + Error setting non-blocking mode: Error activant el mode no bloquejant: - + Error setting tls mode: S'ha produït un error en configurar el mode tls: - + Error setting hostname! Error establint el nom del host! - + Error setting port! Error establint el port! - + Error setting password! Error establint la contrasenya! - + Error setting mount! Error establint el muntatge! - + Error setting username! Error establint el nom d'usuari! - + Error setting stream name! Error establint el nom de la font d'emissió! - + Error setting stream description! Error establint la descripció de la font d'emissió! - + Error setting stream genre! Error establint el gènere de la font d'emissió! - + Error setting stream url! Error establint la Pàgina web de la font d'emissió! - + Error setting stream IRC! Error establint la informació de IRC de la font d'emissió! - + Error setting stream AIM! Error establint la informació de AIM de la font d'emissió! - + Error setting stream ICQ! Error establint la informació de ICQ de la font d'emissió! - + Error setting stream public! Error establint la retransmissió com a pública! - + Unknown stream encoding format! Format de compressió de la retransmissió desconegut! - + Use a libshout version with %1 enabled Utilitzeu una versió de libshout amb %1 habilitat - + Error setting stream encoding format! Error configurant el format de compressió de la retransmissió. - + Broadcasting at 96 kHz with Ogg Vorbis is not currently supported. Please try a different sample rate or switch to a different encoding. La retransmissió a 96 kHz mitjançant l'Ogg Vorbis no està suportat. Trieu altre rati o codificador diferent. - + See https://github.com/mixxxdj/mixxx/issues/5701 for more information. - + Unsupported sample rate Rati de mostreig no suportat - + Error setting bitrate Error establint la taxa de bits. - + Error: unknown server protocol! Error: protocol del servidor desconegut! - + Error: Shoutcast only supports MP3 and AAC encoders Error: Shoutcast només suporta els formats MP3 i AAC - + Error setting protocol! Error establint el protocol! - + Network cache overflow Memòria cau de xarxa excedida - + Connection error Error de connexió - + One of the Live Broadcasting connections raised this error:<br><b>Error with connection '%1':</b><br> Una de les fonts de retransmissió en directe ha provocat aquest error:<br><b>Error amb la font '%1':</b><br> - + Connection message Missatge de connexió - + <b>Message from Live Broadcasting connection '%1':</b><br> <b>Missatge de la font de retransmissió en directe '%1':</b><br> - + Lost connection to streaming server and %1 attempts to reconnect have failed. S'ha perdut la connexió al servidor d'emissió i han fallat %1 dels reintent de reconnexió. - + Lost connection to streaming server. S'ha perdut la connexió al servidor d'emissió. - + Please check your connection to the Internet. Per favor, comproveu la connexió cap a internet. - + Can't connect to streaming server No s'ha pogut connectar al servidor d'emissió - + Please check your connection to the Internet and verify that your username and password are correct. Per favor, comproveu la connexió cap a Internet i verifiqueu que el nom d'usuari i la contrasenya són correctes. @@ -12679,23 +13057,23 @@ may introduce a 'pumping' effect and/or distortion. SoundManager - - + + a device un dispositiu - + An unknown error occurred S'ha produït un error desconegut - + Two outputs cannot share channels on "%1" Dues sortides no poden compartir els mateixos canals de %1 - + Error opening "%1" Error obrint "%1" @@ -12880,7 +13258,7 @@ may introduce a 'pumping' effect and/or distortion. - + Spinning Vinyl Vinil giratori @@ -13062,7 +13440,7 @@ may introduce a 'pumping' effect and/or distortion. - + Cover Art Caràtula @@ -13252,243 +13630,243 @@ may introduce a 'pumping' effect and/or distortion. Posa el guany dels greus a zero mentre està actiu. - + Displays the tempo of the loaded track in BPM (beats per minute). Mostra el tempo de la pista que s'ha carregat en BPM (tocs per minut) - + Tempo Tempo - + Key The musical key of a track Clau musical - + BPM Tap Toc de BPM - + When tapped repeatedly, adjusts the BPM to match the tapped BPM. Quan el premeu repetidament, ajusta el valor de BPM conforme al ritme que marqueu. - + Adjust BPM Down Redueix el BPM - + When tapped, adjusts the average BPM down by a small amount. Quan el premeu, ajusta el valor de BPM reduïnt-lo una mica. - + Adjust BPM Up Augmenta el BPM - + When tapped, adjusts the average BPM up by a small amount. Quan el premeu, ajusta el valor de BPM augmentant-lo una mica. - + Adjust Beats Earlier Mou el toc abans - + When tapped, moves the beatgrid left by a small amount. Quan el premeu, mou la graella de ritme una mica a l'esquerra - + Adjust Beats Later Mou el toc després - + When tapped, moves the beatgrid right by a small amount. Quan el premeu mou la graella de ritme una mica a la dreta. - + Tempo and BPM Tap Toc de tempo i BPM - + Show/hide the spinning vinyl section. Mostra/amaga el vinil giratori. - + Keylock Bloqueig de clau musical - + Toggling keylock during playback may result in a momentary audio glitch. Activar el bloqueig de so durant la reproducció pot comportar en un salt momentani d'àudio. - + Toggle visibility of Loop Controls - + Toggle visibility of Beatjump Controls - + Toggle visibility of Rate Control Canvi de visibilitat del control de Velocitat - + Toggle visibility of Key Controls - + (while previewing) (mentre es preescolta) - + Places a cue point at the current position on the waveform. Posa un punt Cue a la posició actual del gràfic d'ona - + Stops track at cue point, OR go to cue point and play after release (CUP mode). Para la pista al punt cue, O BÉ, va al punt cue i reprodueix en deixar-lo (mode CUP) - + Set cue point (Pioneer/Mixxx/Numark mode), set cue point and play after release (CUP mode) OR preview from it (Denon mode). Defineix el punt cue (mode Pionner/Mixxx/Numark), defineix el punt cue i reprodueix en deixar-lo (mode CUP) O BÉ pre-escolta el punt (mode Denon). - + Is latching the playing state. - + Seeks the track to the cue point and stops. Va al punt Cue de la pista i para. - + Play Reprodueix - + Plays track from the cue point. Reprodueix la pista des del punt Cue. - + Sends the selected channel's audio to the headphone output, selected in Preferences -> Sound Hardware. Envia l'audio del canal seleccionat cap a la sortida d'auriculars, indicada en les Preferències -> Maquinari de so. - + (This skin should be updated to use Sync Lock!) - + Enable Sync Lock - + Tap to sync the tempo to other playing tracks or the sync leader. - + Enable Sync Leader - + When enabled, this device will serve as the sync leader for all other decks. - + This is relevant when a dynamic tempo track is loaded to a sync leader deck.In that case, other synced devices will adopt the changing tempo. - + Changes the track playback speed (affects both the tempo and the pitch). If keylock is enabled, only the tempo is affected. Canvia la velocitat de reproducció (afecta tant al tempo com al to). Si el mode de bloqueig de clau musical està activat, només canvia el tempo. - + Tempo Range Display Mostra el rang del tempo - + Displays the current range of the tempo slider. Mostra el rang actual del lliscador del tempo - + Un-ejects when no track is loaded, i.e. reloads the track that was ejected last (of any deck). - + Delete selected hotcue. Esborra la marca directa seleccionada. - + Track Comment - + Displays the comment tag of the loaded track. - + Opens separate artwork viewer. Obre un visor de portada separat. - + Effect Chain Preset Settings - + Show the effect chain settings menu for this unit. - + Select and configure a hardware device for this input Selecciona i configura un dispositiu de maquinari per a aquesta entrada. - + Recording Duration Durada de la gravació @@ -13711,949 +14089,984 @@ may introduce a 'pumping' effect and/or distortion. - + When tapped repeatedly, adjusts the tempo to match the tapped BPM. + + + Click to open the tempo/BPM editor + + + + + It also shows a colored bar if Key colors are enabled in the Preferences. + + + The bar will be split vertically if the track's key is in between full keys. + + + + Tempo Tap - + Rate Tap and BPM Tap - + + Set Tempo + + + + + Set the desired tempo in BPM. If the track currently has no BPM detected, set the desired tempo in percent. + + + + Adjust beatgrid by exactly one half beat. Usable only on tracks with constant tempo. Ajusteu la quadrícula de ritme exactament mig ritme. Només es pot utilitzar per a pistes amb tempo constant. - + Revert last BPM/Beatgrid Change Reverteix l'últim canvi de BPM/quadrícula de ritme - + Revert last BPM/Beatgrid Change of the loaded track. Reverteix l'últim canvi de BPM/quadrícula de ritme de la pista carregada. - - + + Toggle the BPM/beatgrid lock Commuta el bloqueig BPM/quadrícula de ritme - + Tempo and Rate Tap - + Tempo, Rate Tap and BPM Tap - + Shift cues earlier Mou les marques abans - - + + Shift cues imported from Serato or Rekordbox if they are slightly off time. Mou les marques importades de Serato o Rekordbox si estan lleugerament fora de temps. - + Left click: shift 10 milliseconds earlier Clic esquerra: mou 10 milisegons abans - + Right click: shift 1 millisecond earlier Clic amb botó dret: mou un milisegon abans - + Shift cues later Mou les marques més tard - + Left click: shift 10 milliseconds later Clic esquerra: mou 10 milisegons després - + Right click: shift 1 millisecond later Clic amb botó dret: mou un milisegon després - - - + + + Drag a Hotcue button here to continue playing after releasing the Hotcue. - + Hint: Change the default cue mode in Preferences -> Decks. - + Mutes the selected channel's audio in the main output. - + Main mix enable - + Hold or short click for latching to mix this input into the main output. - + + Reloads the last replaced track. If no track is loaded reloads the second-last ejected track. + + + + If hotcue is a loop cue, toggles the loop and jumps to if the loop is behind the play position. - + If the play position is inside an active loop, stores the loop as loop cue. - + Drag this button onto another Hotcue button to move it there (change its index). If the other hotcue is set, the two are swapped. - + Expand/Collapse Samplers - + Toggle expanded samplers view. - + Displays the duration of the running recording. Mostra la durada de la gravació en curs - + Auto DJ is active El DJ Automàtic està actiu - + Red for when needle skip has been detected. - + Hot Cue - Track will seek to nearest previous hotcue point. Marca directa - Es mourà la pista a la marca directa anterior més propera. - + Sets the track Loop-In Marker to the current play position. Estableix la marca d'inici de bucle de la pista a la posició actual - + Press and hold to move Loop-In Marker. Mantingueu premut el botó per a moure la marca d'inici de bucle - + Jump to Loop-In Marker. Vés a la marca d'inici de bucle. - + Sets the track Loop-Out Marker to the current play position. Estableix la marca de fi de bucle de la pista a la posició actual - + Press and hold to move Loop-Out Marker. Mantingueu premut el botó per a moure la marca de fi de bucle. - + Jump to Loop-Out Marker. Vés a la marca de fi de bucle. - + If the track has no beats the unit is seconds. - + Beatloop Size Mida del bucle de tocs - + Select the size of the loop in beats to set with the Beatloop button. Selecciona la mida del bucle en tocs a establir al prémer el botó de bucle de tocs. - + Changing this resizes the loop if the loop already matches this size. En canviar el valor, es canvia la mida del bucle si el bucle coincideix amb la mida anterior. - + Halve the size of an existing beatloop, or halve the size of the next beatloop set with the Beatloop button. Redueix a la meitat la mida d'un bucle de tocs existent, o del proper bucle definit amb el botó de bucle de tocs. - + Double the size of an existing beatloop, or double the size of the next beatloop set with the Beatloop button. Incrementa al doble la mida d'un bucle de tocs existent, o del proper bucle definit amb el botó de bucle de tocs. - + Start a loop over the set number of beats. Inicia un bucle amb el nombre de tocs establert. - + Temporarily enable a rolling loop over the set number of beats. Activa momentàniament un bucle de continuació amb el nombre de tocs establert. - + Beatloop Anchor - + Define whether the loop is created and adjusted from its staring point or ending point. - + Beatjump/Loop Move Size Mida de Salt en tocs/Desplaçament de bucle - + Select the number of beats to jump or move the loop with the Beatjump Forward/Backward buttons. Selecciona la quantitat de tocs a saltar o a moure el bucle amb els botons d'endavant/enrere. - + Beatjump Forward Salt endavant en tocs - + Jump forward by the set number of beats. Salta endavant la quantitat establerta de tocs. - + Move the loop forward by the set number of beats. Mou el bucle endavant la quantitat establerta de tocs. - + Jump forward by 1 beat. Salta endavant en un toc. - + Move the loop forward by 1 beat. Mou el bucle endavant en un toc. - + Beatjump Backward Salt enrere en tocs - + Jump backward by the set number of beats. Salta endavant la quantiatat establerta de tocs. - + Move the loop backward by the set number of beats. Mou el bucle endavant la quantiatat establerta de tocs. - + Jump backward by 1 beat. Mou enrere en un toc. - + Move the loop backward by 1 beat. Mou en bucle enrere en un toc. - + Reloop Torna al bucle - + If the loop is ahead of the current position, looping will start when the loop is reached. Si el bucle està més endavant de la posició actual, aquest començarà un cop s'arribi a la posició. - + Works only if Loop-In and Loop-Out Marker are set. Només funciona si les marques d'inici i fi de bucle estan definides. - + Enable loop, jump to Loop-In Marker, and stop playback. Activa el bucle, ves a la posició d'inici de bucle i para la reproducció. - + Displays the elapsed and/or remaining time of the track loaded. Mostra el temps transcorregut i/o restant de la pista carregada. - + Click to toggle between time elapsed/remaining time/both. Feu clic per canviar entre temps transcorregut/restant/amdós - + Hint: Change the time format in Preferences -> Decks. Ajuda: Pots canviar el format del temps a les Preferències -> Reproductors. - + Show/hide intro & outro markers and associated buttons. Mostra/amaga marques d'introduccio/finalització i els botons associats. - + + Ensure all waveforms to have the same height across all channels. By default, when displaying the stem controls, waveform for channel that have no stem may render with a shorter height in order to honor the waveform container size you have requested.. + + + + Intro Start Marker Marcador d'inici d'introducció - - - - + + + + If marker is set, jumps to the marker. Si la marca està definida, es mou a la marca. - - - - + + + + If marker is not set, sets the marker to the current play position. Si la marca no està definida, defineix la marca a la posició de reproducció actual. - - - - + + + + If marker is set, clears the marker. Si hi ha una marca, l'esborra. - + Intro End Marker Marcador de final d'introducció - + Outro Start Marker Marcador d'inici de sortida - + Outro End Marker Marcador de final de sortida - + Mix Mix - + Adjust the mixing of the dry (input) signal with the wet (output) signal of the effect unit Ajusta la mescla de la senyal directa (entrada) anb la senyal processada (sortida) de la unitat d'efectes - + D/W mode: Crossfade between dry and wet Mode D/P: Crossfade entre senyal Directe i senyal Processada - + D+W mode: Add wet to dry Mode D+P: Suma les senyals directe i processada - + Mix Mode Mode de mescla - + Adjust how the dry (input) signal is mixed with the wet (output) signal of the effect unit Ajusta la mescla de la senyal directa (entrada) anb la senyal processada (sortida) de la unitat d'efectes - + Dry/Wet mode (crossed lines): Mix knob crossfades between dry and wet Use this to change the sound of the track with EQ and filter effects. Mode Directe/Processat (línies creuades): El control de mescla fa crossfading entre la senyal Directa i la senyal Processada. Ho pots utilitzar per canviar el so de la pista amb EQs i efectes de filtre. - + Dry+Wet mode (flat dry line): Mix knob adds wet to dry Use this to change only the effected (wet) signal with EQ and filter effects. Mode Directe+Processat (lína directa plana): El control de mescla afegeix la senyal processada a la senyal directa. Ho pots utilitzar per canviar només la senyal processada amb EQs i efectes de filtre. - + Route the main mix through this effect unit. - + Route the left crossfader bus through this effect unit. Redirigeix el bus esquerre del crossfader a través d'aquesta unitat d'efectes. - + Route the right crossfader bus through this effect unit. Redirigeix el bus dret del crossfader a través d'aquesta unitat d'efectes. - + Right side active: parameter moves with right half of Meta Knob turn Part dreta activa: el paràmetre es mou només durant la segona meitat del control Meta - + Stem Label - + Name of the stem stored in the stem file - + Text is displayed in the stem color stored in the stem file - + this stem color is also used for the waveform of this stem - + Stem Mute - + Toggle the stem mute/unmuted - + Stem Volume Knob - + Adjusts the volume of the stem - + Skin Settings Menu Menú de les opcions d'aparença - + Show/hide skin settings menu Mostra/amaga el menú de les opcions d'aparença - + Save Sampler Bank Desa el banc de mostres - + Save the collection of samples loaded in the samplers. Desa la col·leció de mostres carregades als reproductors de mostres. - + Load Sampler Bank Carrega el banc de mostres - + Load a previously saved collection of samples into the samplers. Carrega als reproductors de mostres una col·lecció de mostres desada anteriorment. - + Show Effect Parameters Mostra els paràmetres d'efectes - + Enable Effect Activa l'efecte - + Meta Knob Link Enllaça el control Meta - + Set how this parameter is linked to the effect's Meta Knob. Configura com afecta a aquest paràmetre el control Meta de l'efecte. - + Meta Knob Link Inversion Inversió de l'enllaç del control Meta - + Inverts the direction this parameter moves when turning the effect's Meta Knob. Inverteix la direcció cap a on es mou el paràmetre quan es mou el control Meta. - + Super Knob Súper Control - + Next Chain Cadena següent - + Previous Chain Següent cadena - + Next/Previous Chain Següent/Anterior cadena - + Clear Descarta - + Clear the current effect. Suprimeix l'efecte actual. - + Toggle Estat d'activació - + Toggle the current effect. Commuta l'efecte actual. - + Next Següent - + Clear Unit Esborrar la Unitat - + Clear effect unit. Buida l'unitat d'efectes - + Show/hide parameters for effects in this unit. Mostra/amaga els paràmetres per als efectes d'aquesta unitat. - + Toggle Unit Commutador d'unitat - + Enable or disable this whole effect unit. Activa o desactiva aquesta unitat d'efectes. - + Controls the Meta Knob of all effects in this unit together. Controla el control Meta de tots els efectes d'aquesta unitat. - + Load next effect chain preset into this effect unit. Carrega la següent preconfiguració d'efectes en aquesta unitat d'efectes. - + Load previous effect chain preset into this effect unit. Carrega la anterior preconfiguració d'efectes en aquesta unitat d'efectes. - + Load next or previous effect chain preset into this effect unit. Carrega la següent o la anterior cadena d'efectes en aquesta unitat d'efectes. - - - - - - - - - + + + + + + + + + Assign Effect Unit Assigna la unitat d'efectes - + Assign this effect unit to the channel output. Assigna aquesta unitat d'efectes al canal de sortida. - + Route the headphone channel through this effect unit. Fes passar la sortida d'auriculars per aquesta unitat d'efectes. - + Route this deck through the indicated effect unit. Fes passar la sortida del plat per la unitat d'efectes indicada. - + Route this sampler through the indicated effect unit. Fes passar el reproductor per la unitat d'efectes indicada. - + Route this microphone through the indicated effect unit. Fes passar el micròfon per la unitat d'efectes indicada. - + Route this auxiliary input through the indicated effect unit. Fes passar l'entrada auxiliar per la unitat d'efectes indicada. - + The effect unit must also be assigned to a deck or other sound source to hear the effect. Cal assignar la unitat d'efectes a un plat o altra font d'àudio per tal de sentir l'efecte. - + Switch to the next effect. Canvia al següent efecte - + Previous Anterior - + Switch to the previous effect. Canvia a l'efecte anterior - + Next or Previous Següent o anterior - + Switch to either the next or previous effect. Canvia a l'efecte següent o anterior - + Meta Knob Control Meta - + Controls linked parameters of this effect Controla els paràmetres associats d'aquest efecte - + Effect Focus Button Botó de focus a l'efecte - + Focuses this effect. Posa el focus en aquest efecte. - + Unfocuses this effect. Treu el focus d'aquest efecte. - + Refer to the web page on the Mixxx wiki for your controller for more information. Consulteu la pàgina web del vostre controlador a la viquipèdia del Mixxx per a més informació. - + Effect Parameter Paràmetres d'efectes - + Adjusts a parameter of the effect. Ajusta un paràmetre de l'efecte. - + Inactive: parameter not linked Inactiu: paràmetre no enllaçat - + Active: parameter moves with Meta Knob Actiu: el paràmetre es mou amb el control Meta - + Left side active: parameter moves with left half of Meta Knob turn Part esquerra actiu: el paràmetre es mou només durant la primera meitat del control Meta - + Left and right side active: parameter moves across range with half of Meta Knob turn and back with the other half Esquerra i dreta actiu: el paràmetre es mou en rang sencer durant la primera meitat del control Meta, i torna enrera en la segona meitat. - - + + Equalizer Parameter Kill Tall de paràmetres de l'equalitzador - - + + Holds the gain of the EQ to zero while active. Mentre estigui activa manté el guany de l'equalització a zero. - + Quick Effect Super Knob Súper control d'efecte ràpid - + Quick Effect Super Knob (control linked effect parameters). Súper control d'efecte ràpid (controla els paràmetres d'efectes enllaçats) - + Hint: Change the default Quick Effect mode in Preferences -> Equalizers. Suggerència: Podeu canviar el mode d'efecte ràpid des de Preferències -> Equalitzadors. - + Equalizer Parameter Preferències d'equalització - + Adjusts the gain of the EQ filter. Ajusta el guany del filtre d'equalització. - + Hint: Change the default EQ mode in Preferences -> Equalizers. Suggerència: Podeu canviar el mode d'equalització per defecte des de Preferències -> Equalitzadors. - - + + Adjust Beatgrid Ajusta la graella de ritme - + Adjust beatgrid so the closest beat is aligned with the current play position. Ajusta la graella de ritme per tal que el toc més proper estigui alineat amb la posició de reproducció actual. - - + + Adjust beatgrid to match another playing deck. Ajusta la graella de ritme per a que coincideixi amb un altre plat en reproducció. - + If quantize is enabled, snaps to the nearest beat. Si el mode quantitzat està activat, es mou al toc més proper. - + Quantize Quantitza - + Toggles quantization. Commuta la quantització - + Loops and cues snap to the nearest beat when quantization is enabled. Els bucles i els punts cue s'ajusten al toc més proper quan el mode quantitzat està activat. - + Reverse Reprodueix cap enrere - + Reverses track playback during regular playback. Inverteix la direcció de reproducció durant la reproducció. - + Puts a track into reverse while being held (Censor). Reprodueix la pista cap enrere mentre es prem (Censura). - + Playback continues where the track would have been if it had not been temporarily reversed. La reproducció continua on la pista hauria estat si no s'hagués reproduït cap enrere. - - - + + + Play/Pause Reprodueix/Pausa - + Jumps to the beginning of the track. Va a l'inici de la pista. - + Syncs the tempo (BPM) and phase to that of the other track, if BPM is detected on both. Sincronitza el tempo (BPM) i la fase amb el de l'atra pista, si ambdues tenen el BPM detectat. - + Syncs the tempo (BPM) to that of the other track, if BPM is detected on both. Sincronitza el tempo (BPM) amb el de l'altra pista, si ambdues tenen el BPM detectat. - + Sync and Reset Key Sincronitza i reinicia la clau musical - + Increases the pitch by one semitone. Incrementa el to en una seminota. - + Decreases the pitch by one semitone. Decrementa el to en una seminota. - + Enable Vinyl Control Activa el control de vinil - + When disabled, the track is controlled by Mixxx playback controls. Quan està desactivat, la reproducció es controla amb els controls de reproducció del Mixxx. - + When enabled, the track responds to external vinyl control. Quan està actiu, la pista repon al control extern amb el vinil. - + Enable Passthrough Activa el pas d'audio - + Indicates that the audio buffer is too small to do all audio processing. Indica que el búfer d'audio és massa petit per a processar tot l'audio. - + Displays cover artwork of the loaded track. Mostra la caràtula de la pista que s'ha carregat. - + Displays options for editing cover artwork. Mostra les opcions per editar la caràtula. - + Star Rating Puntuació - + Assign ratings to individual tracks by clicking the stars. Assigna la puntuació a les pistes fent clic a les estrelles. @@ -14788,33 +15201,33 @@ Ho pots utilitzar per canviar només la senyal processada amb EQs i efectes de f Nivell de reducció en parlar per micròfon - + Prevents the pitch from changing when the rate changes. Evita que canviï el to/clau musical al canviar la velocitat de reproducció. - + Changes the number of hotcue buttons displayed in the deck Canvia el nombre de marques directes mostrades al reproductor - + Starts playing from the beginning of the track. Inicia la reproducció des de l'inici de la pista. - + Jumps to the beginning of the track and stops. Va a l'inici de la pista i s'atura. - - + + Plays or pauses the track. Reprodueix o posa en pausa una pista. - + (while playing) (mentres reprodueix) @@ -14834,215 +15247,215 @@ Ho pots utilitzar per canviar només la senyal processada amb EQs i efectes de f - + (while stopped) (mentres està en pausa) - + Cue Punt Cue - + Headphone Auriculars - + Mute Posa Mut - + Old Synchronize Sincronitzador Antic - + Syncs to the first deck (in numerical order) that is playing a track and has a BPM. Sincronitza amb el primer plat (en ordre numèric) que està reproduïnt una pista que tingui BPM. - + If no deck is playing, syncs to the first deck that has a BPM. Si no hi ha cap plat reproduïnt, es sincronitza amb el primer plat que té BPM. - + Decks can't sync to samplers and samplers can only sync to decks. Els plats no poden sincronitzar-se amb els reproductors de mostres i els reproductors de mostres només es poden sincronitzar amb els plats. - + Hold for at least a second to enable sync lock for this deck. Manté premut almenys durant un segon per activar la sincronització de rellotge per a aquest plat. - + Decks with sync locked will all play at the same tempo, and decks that also have quantize enabled will always have their beats lined up. Els plats que tinguin la sincronització activada reproduiran tots al mateix tempo, i els que també tinguin la quantizació activada tindran sempre els tocs alineats - + Resets the key to the original track key. Reinicia la clau musical a la clau original de la pista. - + Speed Control Control de velocitat - - - + + + Changes the track pitch independent of the tempo. Canvia el pitch de la pista, independentment del tempo. - + Increases the pitch by 10 cents. Incrementa el pitch en 10 centèssimes. - + Decreases the pitch by 10 cents. Decrementa el pitch en 10 centèssimes. - + Pitch Adjust Ajustament de Pitch - + Adjust the pitch in addition to the speed slider pitch. Ajusta el pitch sobre el pitch del control de velocitat - + Opens a menu to clear hotcues or edit their labels and colors. Obre un menú per esborrar les marques directes o editar-ne les etiquetes i colors. - + Drag this button onto a Play button while previewing to continue playback after release. - + Dragging with Shift key pressed will not start previewing the hotcue. - + Record Mix Gravació de la mescla - + Toggle mix recording. Commuta la gravació de la mescla. - + Enable Live Broadcasting Activa la retransmissió en directe - + Stream your mix over the Internet. Emet la mescla a través d'Internet. - + Provides visual feedback for Live Broadcasting status: Mostra una representació visual de l'estat de la retransmissió en directe: - + disabled, connecting, connected, failure. deshabilitat, connectant, connectat, fallada. - + When enabled, the deck directly plays the audio arriving on the vinyl input. Quan s'habilita, el plat reprodueix directament l'àudio que arriba a l'entrada del vinil. - + Playback will resume where the track would have been if it had not entered the loop. La reproducció continuarà alla on hauria estat si no s'hagués fet el bucle. - + Loop Exit Surt del bucle - + Turns the current loop off. Desactiva el bucle actual - + Slip Mode Mode de continua avançant (slip) - + When active, the playback continues muted in the background during a loop, reverse, scratch etc. Quan està actiu, la reproducció continua en silenci en segon pla mentre es realitza el bucle, reprodució enrere, Scratch, etc. - + Once disabled, the audible playback will resume where the track would have been. Un cop es desactivi, la reproducció continuarà des del lloc on hauria estat. - + Track Key The musical key of a track Clau de la pista - + Displays the musical key of the loaded track. Mostra la clau musical de la pista carregada - + Clock Rellotge - + Displays the current time. Mostra l'hora actual. - + Audio Latency Usage Meter Monitor de la latència de l'audio - + Displays the fraction of latency used for audio processing. Mostra la fracció de latència utilitzada pel procés daudio. - + A high value indicates that audible glitches are likely. Un valor alt indica que es poden produir talls. - + Do not enable keylock, effects or additional decks in this situation. Si es dóna això, no activeu el bloqueig de clau musical, efectes o plats adicionals. - + Audio Latency Overload Indicator Indicador de latència d'audio sobrecarregada @@ -15082,259 +15495,259 @@ Ho pots utilitzar per canviar només la senyal processada amb EQs i efectes de f Activa el control de vinil des del Menú -> Opcions. - + Displays the current musical key of the loaded track after pitch shifting. Mostra la clau musical actual de la pista, incloent el canvi de velocitat. - + Fast Rewind Rebobina ràpidament - + Fast rewind through the track. Rebobina la pista progressivament fins a l'inici - + Fast Forward Avança ràpidament - + Fast forward through the track. Avança la pista progressivament fins al final - + Jumps to the end of the track. Salta al final de la pista. - + Sets the pitch to a key that allows a harmonic transition from the other track. Requires a detected key on both involved decks. Canvia el to a una clau musical que permeti una transició harmònica d'una pista a l'altra. Cal que s'hagi detectat la clau en tots dos plats. - - - + + + Pitch Control Control de Pitch - + Pitch Rate Canvi de pitch - + Displays the current playback rate of the track. Mostra el percentatge de canvi de velocitat de la pista. - + Repeat Repeteix - + When active the track will repeat if you go past the end or reverse before the start. Quan està actiu, la pista torna a començar quan arriba al final, o tona a anar endavant si estava cap enrere i arriba a l'inici. - + Eject Expulsa - + Ejects track from the player. Expulsa la pista d'aquest reproductor. - + Hotcue Commuta la visibilitat de la marca directa, 4 o 8 - + If hotcue is set, jumps to the hotcue. Si la marca directa està definida, hi va - + If hotcue is not set, sets the hotcue to the current play position. Si la marca directa no està definida, la defineix en la posició de reproducció actual. - + Vinyl Control Mode Mode de control de Vinil - + Absolute mode - track position equals needle position and speed. Mode abolut - La posició de la pista coincideix amb la posició de l'agulla i la velocitat. - + Relative mode - track speed equals needle speed regardless of needle position. Relative mode - La velocitat de la pista coincideix amb la velocitat de l'agulla, sense importar la seva posició - + Constant mode - track speed equals last known-steady speed regardless of needle input. Mode constant - La velocitat de la pista coincideix amb l'últim valor constant, independentment del que es rebi actualment de l'agulla. - + Vinyl Status Estat del vinil - + Provides visual feedback for vinyl control status: Mostra una representació visual de l'estat del control de vinil: - + Green for control enabled. Verd per control activat. - + Blinking yellow for when the needle reaches the end of the record. Groc xispejant quan l'agulla arriba al final del disc. - + Loop-In Marker Marca d'entrada del bucle - + Loop-Out Marker Marca de sortida del bucle - + Loop Halve Redueix el bucle a la meitat - + Halves the current loop's length by moving the end marker. Redueix el bucle actual a la meitat movent l'indicador de final. - + Deck immediately loops if past the new endpoint. La reproducció torna immediatament a l'inici del bucle si aquesta està més enllà del nou punt. - + Loop Double Incrementa el bucle al doble - + Doubles the current loop's length by moving the end marker. Incrementa el bucle actual al doble movent l'indicador de final. - + Beatloop Bucles definits en tocs - + Toggles the current loop on or off. Commuta el bucle actual entre activat i desactivat. - + Works only if Loop-In and Loop-Out marker are set. Només aplica si els indicadors de bucle d'inici i de final estan definits. - + Vinyl Cueing Mode Mode de punts cue de Vinil - + Determines how cue points are treated in vinyl control Relative mode: Determina com es tracten els punts Cue quan el control de vinil està en mode relatiu: - + Off - Cue points ignored. Off - Els punts Cue s'ignoren - + One Cue - If needle is dropped after the cue point, track will seek to that cue point. One cue - Si l'agulla es posa més endavant del punt cue, la pista anirà al punt cue. - + Track Time Temps de la pista - + Track Duration Durada de la pista - + Displays the duration of the loaded track. Mostra la durada de la pista que s'ha carregat. - + Information is loaded from the track's metadata tags. La informació s'obté de les etiquetes de les metadates de la pista. - + Track Artist Artista de la pista - + Displays the artist of the loaded track. Mostra l'artista de la pista que s'ha carregat. - + Track Title Títol de la pista - + Displays the title of the loaded track. Mostra el títol de la pista que s'ha carregat. - + Track Album Àlbum de la pista - + Displays the album name of the loaded track. Mostra el nom de l'àlbum de la pista que s'ha carregat. - + Track Artist/Title Arísta/Títol de la pista - + Displays the artist and title of the loaded track. Mostra l'artista i el títol de la pista que s'ha carregat. @@ -15565,47 +15978,75 @@ Això no es pot desfer! WCueMenuPopup - + Cue number Número de marca - + Cue position Marca de posició - + Edit cue label Edita la etiqueta del punt cue - + Label... Etiqueta... - + Delete this cue Suprimeix aquesta marca - - Toggle this cue type between normal cue and saved loop + + Turn this cue into a regular hotcue + + + + + Turn this cue into a saved loop + + + + + Left-click: Use the old size if known or the current beatloop size as the loop size + + + + + Right-click: Use the current play position as new loop end if it is after the cue + + + + + Turn this cue into a saved forward jump. + + is a linebreak. Try to not to extend the translation beyond the length of the longest source line so the tooltip remains compact. + + + + + Turn this cue into a saved backward jump (one shot loop). - - Left-click: Use the old size or the current beatloop size as the loop size + + Left-click: Use the old size if known or the current play position as jump start position +If this is already a jump cue, swap the jump position and the cue/target position. - - Right-click: Use the current play position as loop end if it is after the cue + + Right-click: use current play position as new jump start position - + Hotcue #%1 Marca directa #%1 @@ -15907,171 +16348,181 @@ Això no es pot desfer! + Show Auto DJ + + + + + Switch to the Auto DJ view. + + + + &Full Screen Pantalla sencera - + Display Mixxx using the full screen Mostra Mixx a pantalla sencera - + &Options &Opcions - + &Vinyl Control Control per &vinils - + Use timecoded vinyls on external turntables to control Mixxx Permet l'ús de vinils amb codi de temps en tocadisc externs per controlar el Mixxx - + Enable Vinyl Control &%1 Activa el control de vinil &%1 - + &Record Mix En&registra la mescla - + Record your mix to a file Enregistra la vostra mescla a un fitxer - + Ctrl+R Ctrl+R - + Enable Live &Broadcasting Activa la retransmissió en directe(&B) - + Stream your mixes to a shoutcast or icecast server Transmeteu les vostres mescles a un servidor de shoutcast o d'icecast - + Ctrl+L Ctrl+L - + Enable &Keyboard Shortcuts Habilita les dreceres de teclat(&K) - + Toggles keyboard shortcuts on or off Activa o desactiva les dreceres de teclat - + Ctrl+` Ctrl+` - + &Preferences &Preferències - + Change Mixxx settings (e.g. playback, MIDI, controls) Canvia les opcions de Mixxx (p.ex. reproducció, MIDI, controladores) - + &Developer &Desenvolupador - + &Reload Skin &Recarrega l'aparença - + Reload the skin Recarrega l'aparença del disc - + Ctrl+Shift+R Ctrl+Majús+R - + Developer &Tools Eines de desenvolupador(&T) - + Opens the developer tools dialog Obre la finesta d'eines de desenvolupador - + Ctrl+Shift+T Ctrl+Majús+T - + Stats: &Experiment Bucket Estadístiques: Comptador &Experiment - + Enables experiment mode. Collects stats in the EXPERIMENT tracking bucket. Activa el mode experiment. Recupera les estadístiques corresponents al comptador EXPERIMENT. - + Ctrl+Shift+E Ctrl+Majús+E - + Stats: &Base Bucket Estadístiques: Comptador &Base - + Enables base mode. Collects stats in the BASE tracking bucket. Activa el mode bàsic. Recupera les estadístiques del comptador BASE. - + Ctrl+Shift+B Ctrl+Majús+B - + Deb&ugger Enabled Motor de dep&uració activat - + Enables the debugger during skin parsing Activa el motor de depuració durant el parseig de l'aparença - + Ctrl+Shift+D Ctrl+Majús+D - + &Help &Ajuda @@ -16105,62 +16556,62 @@ Això no es pot desfer! F12 - + &Community Support Suport de la &Comunitat - + Get help with Mixxx Obteniu ajuda sobre el Mixxx - + &User Manual Manual de l'&usuari - + Read the Mixxx user manual. Llegiu el manual de l'usuari de Mixxx. - + &Keyboard Shortcuts Dreceres de teclat(&K) - + Speed up your workflow with keyboard shortcuts. Fes les coses més ràpid amb les dreceres de teclat. - + &Settings directory Directori de &preferències - + Open the Mixxx user settings directory. Obre el directori de preferències d'usuari del Mixxx - + &Translate This Application &Traduïu aquesta aplicació - + Help translate this application into your language. Ajudeu a traduir aquesta aplicació a la vostra llengua. - + &About Sobre el Mixxx (&A) - + About the application Sobre l'aplicació @@ -16168,25 +16619,25 @@ Això no es pot desfer! WOverview - + Passthrough Pas de l'àudio - + Ready to play, analyzing... Text on waveform overview when file is playable but no waveform is visible A punt per reproduir, analitzant... - - + + Loading track... Text on waveform overview when file is cached from source Carregant la pista... - + Finalizing... Text on waveform overview during finalizing of waveform analysis Acabant... @@ -16377,625 +16828,640 @@ Això no es pot desfer! WTrackMenu - + Load to Carrega a - + Deck Plat - + Sampler Reproductor de mostres - + Add to Playlist Afegeix a la llista de reproducció - + Crates Caixes - + Metadata Metadades - + Update external collections Actualitza les col·leccions externes - + Cover Art Caràtula - + Adjust BPM Adjusta els BPM - + Select Color Selecciona el color - - + + Analyze Analitza - - + + Delete Track Files Esborra fitxers de pistes - + Add to Auto DJ Queue (bottom) Afegeix a la cua del DJ automàtic (al final) - + Add to Auto DJ Queue (top) Afegeix a la cua del DJ automàtic (al principi) - + Add to Auto DJ Queue (replace) Afegeix a la cua del DJ automàtic (reemplaça) - + Preview Deck Reproductor de pre-escolta - + Remove Suprimeix - + Remove from Playlist Suprimeix de la llista de reproducció - + Remove from Crate Suprimeix de la caixa - + Hide from Library No ho mostris a la biblioteca - + Unhide from Library Torna a mostrar a la biblioteca - + Purge from Library Suprimeix de la biblioteca - + Move Track File(s) to Trash - + Delete Files from Disk Esborra fitxers del disc - + Properties Propietats - + Open in File Browser Obre en l'explorador de fitxers - + Select in Library Selecciona a la biblioteca - + Import From File Tags Importa des de les metadades del fitxer - + Import From MusicBrainz Importa des del MusicBrainz - + Export To File Tags Exporta les metadades al fitxer - + BPM and Beatgrid BPM i graella de ritme - + Play Count Comptador de reproduccions - + Rating Puntuació - + Cue Point Punt d'inici - - + + Hotcues Marques directes - + Intro Intro - + Outro Final - + Key Clau musical - + ReplayGain ReplayGain - + Waveform Ona - + Comment Comentari - + All Tot - + Sort hotcues by position (remove offsets) - + Sort hotcues by position - + Lock BPM Bloca els BPM - + Unlock BPM Desbloca els BPM - + Double BPM Augmenta el tempo al doble - + Halve BPM Redueix el tempo a la meitat - + 2/3 BPM 2/3 BPM - + 3/4 BPM 3/4 BPM - + 4/3 BPM 4/3 BPM - + 3/2 BPM 3/2 BPM - + Shift Beatgrid Half Beat Canvi quadrícula de ritme a Mig ritme - + Reanalyze Reanalitza - + Reanalyze (constant BPM) Reanalitza (Tempo constant) - + Reanalyze (variable BPM) Reanalitza (Tempo variable) - + Update ReplayGain from Deck Gain Actualitza el ReplayGain a partir del guany del reproductor - + Deck %1 Plat %1 - + Importing metadata of %n track(s) from file tags important les metadades d' %n pista del fitxerimportant les metadades de %n pistes dels fitxers - + Marking metadata of %n track(s) to be exported into file tags Marcant les metadades d' %n pista per exportar-les al fitxerMarcant les metadades de %n pistes per exportar-les al fitxer - - + + Create New Playlist Crea una nova llista de reproducció - + Enter name for new playlist: Inseriu el nom de la llista nova de reproducció: - + New Playlist Llista de reproducció nova - - - + + + Playlist Creation Failed Ha fallat la creació de la llista de reproducció - + A playlist by that name already exists. Ja existeix una llista de reproducció amb aquest nom. - + A playlist cannot have a blank name. El nom de la llista de reproducció no pot quedar en blanc - + An unknown error occurred while creating playlist: S'ha produït un error desconegut en crear la llista de reproducció: - + Add to New Crate Afegeix a una caixa nova - + Scaling BPM of %n track(s) Escalant el BPM d' %n pistaEscalant el BPM de %n pistes - + Undo BPM/beats change of %n track(s) - + Locking BPM of %n track(s) Bloquejant el BPM d' %n pistaBloquejant el BPM de %n pistes - + Unlocking BPM of %n track(s) Desbloquejant el BPM d' %n pistaDesbloquejant el BPM de %n pistes - + Setting rating of %n track(s) - + Setting color of %n track(s) Configurant el color d' %n pistaConfigurant el color de %n pistes - + Resetting play count of %n track(s) Reiniciant el comptador de reproduccions d' %n pistaReiniciant el comptador de reproduccions de %n pistes - + Resetting beats of %n track(s) Reiniciant la graella de ritme d' %n pistaReiniciant la graella de ritme de %n pistes - + Clearing rating of %n track(s) Eliminant la puntuació d' %n pistaEliminant la puntuació de %n pistes - + Clearing comment of %n track(s) Esborrant el comentari de %n pistaEsborrant el comentari de %n pistes - + Removing main cue from %n track(s) Eliminant la marca Cue d' %n pistaEliminant la marca Cue de %n pistes - + Removing outro cue from %n track(s) Eliminant marca de fi d' %n pistaEliminant marca de fi de %n pistes - + Removing intro cue from %n track(s) Eliminant marca d'introducció d' %n pistaEliminant marca d'introducció de %n pistes - + Removing loop cues from %n track(s) Eliminant punts de bucle d' %n pistaEliminant punts de bucle de %n pistes - + Removing hot cues from %n track(s) Eliminant marques ràpides d' %n pistaEliminant marques ràpides de %n pistes - + Sorting hotcues of %n track(s) by position (remove offsets) - + Sorting hotcues of %n track(s) by position - + Resetting keys of %n track(s) Reiniciant les claus musicals d' %n pistaReiniciant les claus musicals de %n pistes - + Resetting replay gain of %n track(s) Reiniciant el Replaygain d' %n pistaReiniciant el Replaygain de %n pistes - + Resetting waveform of %n track(s) Reiniciant les formes d'ona d' %n pistaReiniciant les formes d'ona de %n pistes - + Resetting all performance metadata of %n track(s) Reiniciant totes les metadades de rendiment d' %n pistaReiniciant totes les metadades de rendiment de %n pistes - + Move these files to the trash bin? - + Permanently delete these files from disk? Voleu esborrar permanentment aquests fitxers del disc? - - + + This can not be undone! Això no es pot desfer! - + Cancel Cancel·la - + Delete Files Esborra fitxers - + Okay - + Move Track File(s) to Trash? - + Track Files Deleted Fitxers de pista esborrats - + Track Files Moved To Trash - + %1 track files were moved to trash and purged from the Mixxx database. - + %1 track files were deleted from disk and purged from the Mixxx database. - + Track File Deleted Fitxer de pista esborrat - + Track file was deleted from disk and purged from the Mixxx database. El fitxer de pista s'ha esborrat del disc i eliminat de la base de dades del Mixxx. - + The following %1 file(s) could not be deleted from disk Els següents %1 fitxer(s) no s'han pogut esborrar del disc - + This track file could not be deleted from disk No s'ha pogut esborrar aquest fitxer de pista del disc - + Remaining Track File(s) Fitxer(s) de pista(es) restant(s) - + Close Tanca - + Clear Reset metadata in right click track context menu in library - + Loops Bucles - + Clear BPM and Beatgrid Esborra BPM i quadrícula de ritme - + Undo last BPM/beats change - + Move this track file to the trash bin? - + Permanently delete this track file from disk? - + All decks where these tracks are loaded will be stopped and the tracks will be ejected. - + All decks where this track is loaded will be stopped and the track will be ejected. - + Removing %n track file(s) from disk... Esborrant %n fitxer de pista del disc... - + Note: if you are in the Computer or Recording view you need to click the current view again to see changes. - + Track File Moved To Trash - + Track file was moved to trash and purged from the Mixxx database. - + Don't show again during this session - + The following %1 file(s) could not be moved to trash - + This track file could not be moved to trash + + + Replace current Auto DJ queue? + + + + + Do you want to replace the entire Auto DJ queue with the selected tracks? + + + + + Don't ask again during this session + + - + Setting cover art of %n track(s) Afegint la portada a %n pistaAfegint la portada a %n pistes - + Reloading cover art of %n track(s) Recarregant la portada de %n pistaRecarregant la portada de %n pistes @@ -17049,37 +17515,37 @@ Això no es pot desfer! WTrackTableView - + Confirm track hide Confirma la ocultació de pistes - + Are you sure you want to hide the selected tracks? - + Are you sure you want to remove the selected tracks from AutoDJ queue? - + Are you sure you want to remove the selected tracks from this crate? - + Are you sure you want to remove the selected tracks from this playlist? - + Don't ask again during this session No tornis a preguntar durant aquesta sessió - + Confirm track removal Confirma la eliminació de la pista @@ -17087,12 +17553,12 @@ Això no es pot desfer! WTrackTableViewHeader - + Show or hide columns. Mostra o amaga columnes. - + Shuffle Tracks @@ -17100,52 +17566,52 @@ Això no es pot desfer! mixxx::CoreServices - + fonts tipus de llegra - + database base de dades - + effects efectes - + audio interface interfície d'àudio - + decks reproductors - + library biblioteca - + Choose music library directory Seleccioneu la carpeta de la biblioteca de música. - + controllers controladors - + Cannot open database No es pot obrir la base de dades - + Unable to establish a database connection. Mixxx requires QT with SQLite support. Please read the Qt SQL driver documentation for information on how to build it. @@ -17302,6 +17768,24 @@ Feu click a Acceptar per sortir. La petició de xarxa no ha començat + + mixxx::qml::QmlApplication + + + Existing user profile detected + + + + + Trying to run Mixxx 3.0 with an existing %0 user profile! <br><br>There is <b>serious risks</b> of data loss and corruption.<br>We recommend using a test profile folder with the '--settings-path' argument. <br><br>If you want to continue at your own risk, run Mixxx with the argument '--allow-dangerous-data-corruption-risk'. + + + + + Ok + + + mixxx::qml::QmlVisibleEffectsModel @@ -17310,4 +17794,27 @@ Feu click a Acceptar per sortir. No hi ha cap efecte carregat. + + mixxx::qml::QmlWaveformRendererMark + + + Cannot find the marker pixmap + + + + + Cannot find the marker endPixmap + + + + + Cannot find the marker icon + + + + + Cannot find the marker endIcon + + + \ No newline at end of file diff --git a/res/translations/mixxx_cs.qm b/res/translations/mixxx_cs.qm index e122187571367ca84cbdf4a800a326ec47106221..36f57b40771e8f002848055f6ffafd3a7a3ace8d 100644 GIT binary patch delta 23095 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 B<6!^* diff --git a/res/translations/mixxx_cs.ts b/res/translations/mixxx_cs.ts index e370920a2fa6..efe6d2e08e54 100644 --- a/res/translations/mixxx_cs.ts +++ b/res/translations/mixxx_cs.ts @@ -8,6 +8,14 @@ + + AllTrackLibraryFeature + + + All... + + + AnalysisFeature @@ -19,52 +27,52 @@ AutoDJFeature - + Crates Přepravky - + Enable Auto DJ Spustit automatického diskžokeje - + Disable Auto DJ Zastavit automatického diskžokeje - + Clear Auto DJ Queue Vyprázdnit řadu automatického diskžokeje - + Remove Crate as Track Source Odstranit přepravku na desky jako zdroj skladeb - + Auto DJ Automatický diskžokej - + Confirmation Clear - + Do you really want to remove all tracks from the Auto DJ queue? - + This can not be undone. - + Add Crate as Track Source Přidat přepravku na desky jako zdroj skladeb @@ -223,7 +231,7 @@ - + Export Playlist Uložit seznam skladeb @@ -277,13 +285,13 @@ - + Playlist Creation Failed Seznam skladeb se nepodařilo vytvořit - + An unknown error occurred while creating playlist: Při vytváření seznamu skladeb došlo k neznámé chybě: @@ -298,12 +306,12 @@ Opravdu chcete seznam skladeb <b>%1</b> smazat? - + M3U Playlist (*.m3u) Seznam skladeb M3U (*.m3u) - + M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Text CSV (*.csv);;Readable Text (*.txt) Seznam skladeb M3U (*.m3u);;Seznam skladeb M3U8 (*.m3u8);;Seznam skladeb PLS (*.pls);;Text CSV (*.csv);;Prostý text (*.txt) @@ -311,12 +319,12 @@ BaseSqlTableModel - + # Č. - + Timestamp Časové razítko @@ -324,7 +332,7 @@ BaseTrackPlayerImpl - + Couldn't load track. Nepodařilo se nahrát skladbu. @@ -362,7 +370,7 @@ Kanály - + Color Barva @@ -377,7 +385,7 @@ Skladatel - + Cover Art Obrázek obalu @@ -387,7 +395,7 @@ Datum přidání - + Last Played Naposledy hráno @@ -417,7 +425,7 @@ Tónina - + Location Umístění @@ -427,7 +435,7 @@ - + Preview Náhled @@ -467,7 +475,7 @@ Rok - + Fetching image ... Tooltip text on the cover art column shown when the cover is read from disk Načítání obrázku ... @@ -489,22 +497,22 @@ BroadcastProfile - + Can't use secure password storage: keychain access failed. Nelze použít bezpečné úložiště pro heslo: nepodařilo se přistoupit k řetězci s klíčem - + Secure password retrieval unsuccessful: keychain access failed. Bezpečné získání hesla neúspěšné: nepodařilo se přistoupit ke klíči - + Settings error Chyba v nastavení - + <b>Error with settings for '%1':</b><br> <b>Chyba v nastavení pro '%1':</b><br> @@ -592,7 +600,7 @@ - + Computer Počítač @@ -612,17 +620,17 @@ Prohledat - + "Computer" lets you navigate, view, and load tracks from folders on your hard disk and external devices. Počítač vám umožní pohyb ve skladbách, jejich zobrazení a nahrávání ze složek na pevném disku a vnějších zařízeních. - + It shows the data from the file tags, not track data from your Mixxx library like other track views. - + If you load a track file from here, it will be added to your library. @@ -735,12 +743,12 @@ Soubor vytvořen - + Mixxx Library Knihovna Mixxxu - + Could not load the following file because it is in use by Mixxx or another application. Nepodařilo se nahrát následující soubor. Je používán Mixxxem nebo jinou aplikací. @@ -771,89 +779,94 @@ CmdlineArgs - + Mixxx is an open source DJ software. For more information, see: Mixxx je program s otevřeným zdrojovým kódem pro diskžokeje. Další informace naleznete na: - + Starts Mixxx in full-screen mode Spustí Mixxx v režimu na celou obrazovku - + Use a custom locale for loading translations. (e.g 'fr') Použít vlastní jazyk pro nahrávání překladů. (např. 'fr') - + Top-level directory where Mixxx should look for its resource files such as MIDI mappings, overriding the default installation location. Adresář nejvyšší úrovně, kde by měl MixXX hledat své soubory zdrojů, jako jsou MIDI mapování, a převažující výchozí umístění instalace. - + Path the debug statistics time line is written to Cesta, do které je zapsána časová osa statistiky ladění - + Causes Mixxx to display/log all of the controller data it receives and script functions it loads Způsobí, že Mixxx zobrazí/zaprotokoluje všechna data řadiče, která přijímá, a skriptovací funkce, které načítá - + The controller mapping will issue more aggressive warnings and errors when detecting misuse of controller APIs. New Controller Mappings should be developed with this option enabled! Přiřazení ovladače bude při zjištění nesprávného použití rozhraní API ovladače vydávat agresivnější varování a chyby. Nová přiřazení řadičů by měla být vyvíjena s touto volbou! - + Enables developer-mode. Includes extra log info, stats on performance, and a Developer tools menu. Povolí vývojářský režim. Zahrnuje další informace o protokolu, statistiky výkonu a nabídku nástrojů pro vývojáře. - + Top-level directory where Mixxx should look for settings. Default is: Adresář nejvyšší úrovně, kde by měl Mixxx hledat nastavení. Výchozí je: - + Starts Auto DJ when Mixxx is launched. - + Rescans the library when Mixxx is launched. - + Use legacy vu meter Použít starší vu metr - + Use legacy spinny Použít starší talíř - - Loads experimental QML GUI instead of legacy QWidget skin - Načte experimentální GUI QML namísto staršího vzhledu QWidget + + Loads the highly unstable 3.0 Mixxx interface, based on QML. You need to use a new setting profile, or run with 'allow-dangerous-data-corruption-risk' to use with the current one. We highly recommend backing up your data if you do so. + + + + + Force Mixxx to load an unstable version with an existing user profile from a stable version + - + Enables safe-mode. Disables OpenGL waveforms, and spinning vinyl widgets. Try this option if Mixxx is crashing on startup. Umožňuje bezpečný režim. Vypne křivky OpenGL a roztočené vinylové widgety. Vyzkoušejte tuto možnost, pokud Mixxx selhává při spuštění. - + [auto|always|never] Use colors on the console output. [auto|always|never] Použít barvy na výstupu konzole. - + Sets the verbosity of command line logging. critical - Critical/Fatal only warning - Above + Warnings @@ -868,32 +881,32 @@ ladění - Výše + Zprávy ladění/vývojář trace - Výše + Profilování zpráv - + Sets the the logging level at which the log buffer is flushed to mixxx.log. <level> is one of the values defined at --log-level above. Nastaví úroveň protokolování, při které se vyrovnávací paměť protokolu vyprázdní do mixxx.log. <level> je jedna z hodnot definovaných na --log-level výše. - + Sets the maximum file size of the mixxx.log file in bytes. Use -1 for unlimited. The default is 100 MB as 1e5 or 100000000. - + Breaks (SIGINT) Mixxx, if a DEBUG_ASSERT evaluates to false. Under a debugger you can continue afterwards. Přeruší (SIGINT) Mixxx, pokud se DEBUG_ASSERT vyhodnotí jako nepravda. Pod ladičem můžete pokračovat později. - + Overrides the default application GUI style. Possible values: %1 - + Load the specified music file(s) at start-up. Each file you specify will be loaded into the next virtual deck. Nahrát zadané hudební soubor(y) během spuštění. Každý soubor, který určíte, bude načten do dalšího virtuálního balíčku. - + Preview rendered controller screens in the Setting windows. @@ -986,2557 +999,2585 @@ trace - Výše + Profilování zpráv ControlPickerMenu - + Headphone Output Výstup sluchátek - - - + + + + Deck %1 + %1 is the deck number 1 ... 4 Přehrávač %1 - + Sampler %1 Vzorkovač %1 - + Preview Deck %1 Předposlechový přehrávač %1 - + Microphone %1 Mikrofon %1 - + Auxiliary %1 Aux %1 - + Reset to default Nastavit znovu na výchozí - + Effect Rack %1 Přihrádka s efekty %1 - + Parameter %1 Parametr %1 - + Mixer Směšovač - - + + Crossfader Prolínač - + Headphone mix (pre/main) Míchání sluchátek (předposlech/vše) - + Toggle headphone split cueing Přepnout rozdělení sluchátek - + Headphone delay Zpoždění sluchátek - + Transport Přehrávání - + Strip-search through track Hledání pásku pomocí skladby - + Play button Tlačítko pro přehrávání - - + + Set to full volume Nastavit na plnou hlasitost - - + + Set to zero volume Nastavit hlasitost na nulu - + Stop button Tlačítko pro zastavení - + Jump to start of track and play Skočit na začátek skladby a přehrát - + Jump to end of track Skočit na konec skladby - + Reverse roll (Censor) button Tlačítko pro obrácené přehrávání (cenzor) - + Headphone listen button Tlačítko pro sluchátka - - + + Mute button Tlačítko pro ztlumení - + Toggle repeat mode Přepnout režim opakování - - + + Mix orientation (e.g. left, right, center) Nasměrování míchání (např. vlevo, vpravo, na střed) - - + + Set mix orientation to left Nastavit nasměrování míchání vlevo - - + + Set mix orientation to center Nastavit nasměrování míchání na střed - - + + Set mix orientation to right Nastavit nasměrování míchání vpravo - + Toggle slip mode Přepnout klouzací režim - - + + BPM MM - + Increase BPM by 1 Zvýšit MM o 1 - + Decrease BPM by 1 Snížit MM o 1 - + Increase BPM by 0.1 Zvýšit MM o 0,1 - + Decrease BPM by 0.1 Snížit MM o 0,1 - + BPM tap button Tlačítko pro klepání MM - + Toggle quantize mode Přepnout režim kvantizace - + One-time beat sync (tempo only) Jednorázové seřízení rytmu (pouze tempo) - + One-time beat sync (phase only) Jednorázové seřízení rytmu (pouze fáze) - + Toggle keylock mode Přepnout režim uzamčení tóniny - + Equalizers Ekvalizéry - + Vinyl Control Ovládání vinylem - + Toggle vinyl-control cueing mode (OFF/ONE/HOT) Přepnout režim značení za použití ovládání vinylovou gramodeskou (VYPNUTO/JEDEN/HORKÝ) - + Toggle vinyl-control mode (ABS/REL/CONST) Přepnout režim ovládání vinylem (VYPNUTO/JEDEN/HORKÝ) - + Pass through external audio into the internal mixer Posílat vnější zvukové signály do vnitřního směšovače - + Cues Značky - + Cue button Tlačítko značky - + Set cue point Nastavit bod značky - + Go to cue point Jít na bod značky - + Go to cue point and play Jít na bod značky a přehrát - + Go to cue point and stop Jít na bod značky a zastavit - + Preview from cue point Předposlech od bodu značky - + Cue button (CDJ mode) Tlačítko značky (režim CDJ) - + Stutter cue Značka trhnutí - + Hotcues Rychlé značky - + Set, preview from or jump to hotcue %1 Nastavit, náhled od nebo skočit na rychlou značku %1 - + Clear hotcue %1 Smazat rychlou značku %1 - + Set hotcue %1 Nastavit rychlou značku %1 - + Jump to hotcue %1 Skočit na rychlou značku %1 - + Jump to hotcue %1 and stop Skočit na rychlou značku %1 a zastavit - + Jump to hotcue %1 and play Skočit na rychlou značku %1 a přehrát - + Preview from hotcue %1 Náhled od rychlé značky %1 - - + + Hotcue %1 Rychlá značka %1 - + Looping Smyčkování - + Loop In button Tlačítko pro začátek smyčky - + Loop Out button Tlačítko pro konec smyčky - + Loop Exit button Tlačítko pro ukončení smyčky - + 1/2 1/2 - + 1 1 - + 2 2 - + 4 4 - + 8 8 - + 16 16 - + 32 32 - + 64 64 - + Move loop forward by %1 beats Posunout smyčku o %1 dob dopředu - + Move loop backward by %1 beats Posunout smyčku o %1 dob dozadu - + Create %1-beat loop Vytvořit smyčku na %1 dob - + Create temporary %1-beat loop roll Vytvořit dočasnou průběžnou smyčku na %1 dob - + Library Knihovna - + Slot %1 Místo %1 - + Headphone Mix Míchání sluchátek - + Headphone Split Cue Rozdělit předposlech ve sluchátkách - + Headphone Delay Zpoždění sluchátek - + Play Přehrát - + Fast Rewind Rychlé přetáčení zpět - + Fast Rewind button Tlačítko pro rychlý zpětný chod - + Fast Forward Rychlé přetáčení vpřed - + Fast Forward button Tlačítko pro rychlé přetáčení vpřed - + Strip Search Hledání pásku - + Play Reverse Přehrávat pozpátku - + Play Reverse button Tlačítko pro přehrávání pozpátku - + Reverse Roll (Censor) Obrácení přehrávání (cenzor) - + Jump To Start Skočit na začátek - + Jumps to start of track Skočí na začátek skladby - + Play From Start Přehrávat od začátku - + Stop Zastavit - + Stop And Jump To Start Zastavit a skočit na začátek - + Stop playback and jump to start of track Zastavit přehrávání a skočit na začátek skladby - + Jump To End Skočit na konec - + Volume Hlasitost - - - + + + Volume Fader Polohový ukazatel hlasitosti - - + + Full Volume Plná hlasitost - - + + Zero Volume Nulová hlasitost - + Track Gain Zesílení skladby - + Track Gain knob Regulátor zesílení skladby - - + + Mute Ztlumit - + Eject Vysunout - - + + Headphone Listen Poslech ze sluchátek - + Headphone listen (pfl) button Tlačítko pro poslech ze sluchátek - + Repeat Mode Režim opakování - + Slip Mode Režim klouzání - - + + Orientation Natočení - - + + Orient Left Natočit vlevo - - + + Orient Center Natočit na střed - - + + Orient Right Natočit vpravo - + BPM +1 MM +1 - + BPM -1 MM -1 - + BPM +0.1 MM +0,1 - + BPM -0.1 MM -0,1 - + BPM Tap Klepání tempa (MM, rázů za minutu) - + Adjust Beatgrid Faster +.01 Upravit rytmickou mřížku: ÚZM rychlejší o +.01 - + Increase track's average BPM by 0.01 Zvýšit průměrný počet MM skladby o 0,01 - + Adjust Beatgrid Slower -.01 Upravit rytmickou mřížku: ÚZM pomalejší o -.01 - + Decrease track's average BPM by 0.01 Snížit průměrný počet MM skladby o 0,01 - + Move Beatgrid Earlier Umístit rytmickou mřížku dříve - + Adjust the beatgrid to the left Posunout rytmickou mřížku doleva - + Move Beatgrid Later Umístit rytmickou mřížku později - + Adjust the beatgrid to the right Posunout rytmickou mřížku doprava - + Adjust Beatgrid Upravit rytmickou mřížku - + Align beatgrid to current position Zarovnat rytmickou mřížku na nynější polohu - + Adjust Beatgrid - Match Alignment Upravit rytmickou mřížku - přizpůsobení zarovnání - + Adjust beatgrid to match another playing deck. Upravit rytmickou mřížku tak, aby byla zarovnána s jiným hrajícím přehrávačem. - + Quantize Mode Režim kvantizace - + Sync Seřízení - + Beat Sync One-Shot Jednorázové seřízení rytmu - + Sync Tempo One-Shot Jednorázové seřízení tempa - + Sync Phase One-Shot Jednorázové seřízení fáze - + Pitch control (does not affect tempo), center is original pitch Ovládání výšky tónu (neovlivní tempo), střed je původní výška tónu - + Pitch Adjust Upravení výšky tónu - + Adjust pitch from speed slider pitch Změní výšku tónu vycházeje z výšky tónu ukazatele rychlosti - + Match musical key Seřídit tóninu - + Match Key Přizpůsobit tóninu - + Reset Key Nastavit tóninu znovu - + Resets key to original Nastavit tóninu znovu na původní - + High EQ Ekvalizér výšek - + Mid EQ Ekvalizér středů - - + + Main Output Hlavní výstup - + Main Output Balance Vyrovnání hlavního výstupu - + Main Output Delay Zpoždění hlavního výstupu - + Main Output Gain Zesílení hlavního výstupu - + Low EQ Ekvalizér hloubek - + Toggle Vinyl Control Přepnout ovládání vinylovou gramodeskou - + Toggle Vinyl Control (ON/OFF) Přepnout ovládání vinylovou gramodeskou (ZAPNUTO/VYPNUTO) - + Vinyl Control Mode Režim ovládání vinylovou gramodeskou - + Vinyl Control Cueing Mode Režim ovládání značení vinylem - + Vinyl Control Passthrough Předání dál ovládání vinylem - + Vinyl Control Next Deck Další přehrávač ovládání vinylem - + Single deck mode - Switch vinyl control to next deck Režim jednoho přehrávače - Přepnout ovládání vinylovou gramodeskou na další přehrávač - + Cue Značka - + Set Cue Umístit značku - + Go-To Cue Jít na značku - + Go-To Cue And Play Jít na značku a přehrát - + Go-To Cue And Stop Jít na značku a zastavit - + Preview Cue Náhled na značku - + Cue (CDJ Mode) Značka (režim CDJ) - + Stutter Cue Značka trhnutí - + Go to cue point and play after release Jít na bod značky a po uvolnění přehrát - + Clear Hotcue %1 Smazat rychlou značku %1 - + Set Hotcue %1 Nastavit rychlou značku %1 - + Jump To Hotcue %1 Skočit na rychlou značku %1 - + Jump To Hotcue %1 And Stop Skočit na rychlou značku %1 a zastavit - + Jump To Hotcue %1 And Play Skočit na rychlou značku %1 a přehrát - + Preview Hotcue %1 Náhled na rychlou značku %1 - + Loop In Začátek smyčky - + Loop Out Konec smyčky - + Loop Exit Ukončit smyčku - + Reloop/Exit Loop Smyčkovat znovu/Ukončit smyčku - + Loop Halve Zkrácení smyčky na polovinu - + Loop Double Zdvojení smyčky - + 1/32 1/32 - + 1/16 1/16 - + 1/8 1/8 - + 1/4 1/4 - + Move Loop +%1 Beats Posunout smyčku o +%1 dob - + Move Loop -%1 Beats Posunout smyčku o -%1 dob - + Loop %1 Beats Smyčka %1 dob - + Loop Roll %1 Beats Průběžná smyčka %1 dob - + Add to Auto DJ Queue (bottom) Přidat do řady automatického diskžokeje (dolů) - + Append the selected track to the Auto DJ Queue Přidat vybranou skladbu na konec řady automatického diskžokeje - + Add to Auto DJ Queue (top) Přidat do řady automatického diskžokeje (nahoru) - + Prepend selected track to the Auto DJ Queue Přidat vybranou skladbu na začátek řady automatického diskžokeje - + Load Track Nahrát skladbu - + Load selected track Nahrát vybranou skladbu - + Load selected track and play Nahrát vybranou skladbu a přehrát - - + + Record Mix Nahrát míchání - + Toggle mix recording Přepnout nahrávání míchání - + Effects Efekty - - Quick Effects - Rychlé efekty - - - + Deck %1 Quick Effect Super Knob Superpotenciometr rychlého efektu pro přehrávač %1 - + + Quick Effect Super Knob (control linked effect parameters) Superpotenciometr rychlého efektu (řízení propojených parametrů efektů) - - + + + + Quick Effect Rychlý efekt - + Clear Unit Vyprázdnit jednotku - + Clear effect unit Vyprázdnit efektovou jednotku - + Toggle Unit Přepnout jednotku - + Dry/Wet Na zkoušku/Naostro - + Adjust the balance between the original (dry) and processed (wet) signal. Upravit vyvážení mezi původním a zpracovaným signálem. - + Super Knob Superknoflík - + Next Chain Další řetězec - + Assign Přiřadit - + Clear Smazat - + Clear the current effect Smazat nynější efekt - + Toggle Přepnout - + Toggle the current effect Přepnout nynější efekt - + Next Další - + Switch to next effect Přepnout na další efekt - + Previous Předchozí - + Switch to the previous effect Přepnout na předchozí efekt - + Next or Previous Další nebo předchozí - + Switch to either next or previous effect Přepnout na další nebo předchozí efekt - - + + Parameter Value Hodnota parametru - - + + Microphone Ducking Strength Síla tlumení mikrofonu - + Microphone Ducking Mode Režim tlumení mikrofonu - + Gain Zesílení - + Gain knob Regulátor zesílení - + Shuffle the content of the Auto DJ queue Zamíchat pořadím v řadě skladeb automatického diskžokeje - + Skip the next track in the Auto DJ queue Přeskočit další skladbu v řadě skladeb automatického diskžokeje - + Auto DJ Toggle Zapínač/Vypínač automatického diskžokeje - + Toggle Auto DJ On/Off Zapnout/Vypnout automatického diskžokeje - + Show/hide the microphone & auxiliary section Ukázat/Skrýt oblast s mikrofonem a pomocným zařízením - + 4 Effect Units Show/Hide Ukázat/Skrýt 4 efektové jednotky - + Switches between showing 2 and 4 effect units Přepíná mezi ukázáním 2 a 4 efektových jednotek. - + Mixer Show/Hide Ukázat/Skrýt směšovač - + Show or hide the mixer. Ukázat nebo skrýt směšovač. - + Cover Art Show/Hide (Library) Ukázat/Skrýt obrázek obalu (knihovna) - + Show/hide cover art in the library Ukázat/Skrýt obrázky obalů v knihovně - + Library Maximize/Restore Zvětšin/Obnovit knihovnu - + Maximize the track library to take up all the available screen space. Zvětšit knihovnu skladeb tak, aby zabírala veškerý na obrazovce dostupný prostor. - + Effect Rack Show/Hide Ukázat/Skrýt přihrádku s efekty - + Show/hide the effect rack Ukázat/Skrýt přihrádku s efekty - + Waveform Zoom Out Oddálit průběhovou křivku - + Headphone Gain Zesílení sluchátek - + Headphone gain Zesílení sluchátek - + Tap to sync tempo (and phase with quantize enabled), hold to enable permanent sync Zaťukejte pro seřízení tempa (a fáze při zapnuté kvantizaci), podržte pro trvalé seřízení - + One-time beat sync tempo (and phase with quantize enabled) Jednorázové seřízení rytmu tempa (a fáze při zapnuté kvantizaci) - + Playback Speed Rychlost přehrávání - + Playback speed control (Vinyl "Pitch" slider) Ovládání rychlosti přehrávání (regulátor "výšky tónu" vinylu) - + Pitch (Musical key) Výška tónu (tónina) - + Increase Speed Zvýšit rychlost - + Adjust speed faster (coarse) Zvýšit rychlost (hrubé) - + Increase Speed (Fine) Zvýšit rychlost (jemné) - + Adjust speed faster (fine) Zvýšit rychlost (jemné) - + Decrease Speed Snížit rychlost - + Adjust speed slower (coarse) Snížit rychlost (hrubé) - + Adjust speed slower (fine) Snížit rychlost (jemné) - + Temporarily Increase Speed Zvýšit přechodně rychlost - + Temporarily increase speed (coarse) Zvýšit přechodně rychlost (hrubé) - + Temporarily Increase Speed (Fine) Zvýšit přechodně rychlost (jemné) - + Temporarily increase speed (fine) Zvýšit přechodně rychlost (jemné) - + Temporarily Decrease Speed Snížit dočasně rychlost - + Temporarily decrease speed (coarse) Snížit dočasně rychlost (hrubé) - + Temporarily Decrease Speed (Fine) Snížit dočasně rychlost (jemné) - + Temporarily decrease speed (fine) Snížit dočasně rychlost (jemné) - - + + Adjust %1 Upravit %1 - + + Deck %1 Stem %2 + + + + Effect Unit %1 Efektová jednotka %1 - + Button Parameter %1 Parametr tlačítka %1 - + Skin Vzhled - + Controller Ovladač - + Crossfader / Orientation Prolínač / Nasměrování - + Main Output gain Zesílení hlavního výstupu - + Main Output balance Vyrovnání hlavního výstupu - + Main Output delay Zpoždění hlavního výstupu - + Headphone Sluchátka - - + + Kill %1 + %1 is "Low EQ" "Mid EQ" or "High EQ" Umlčet %1 - + Eject or un-eject track, i.e. reload the last-ejected track (of any deck)<br>Double-press to reload the last replaced track. In empty decks it reloads the second-last ejected track. Vysunutí nebo zasunutí skladby, tj. znovu načtení poslední vysunuté skladby (jakéhokoli přehrávače)<br>Dvojitým stisknutím znovu načtete poslední vyměněnou skladbu. V prázdných přehrávačích znovu načte druhou poslední vysunutou skladbu. - + BPM / Beatgrid MM / rytmická mřížka - + Halve BPM Snížit MM na polovinu - + Multiply current BPM by 0.5 - + 2/3 BPM 2/3 MM - + Multiply current BPM by 0.666 - + 3/4 BPM 3/4 MM - + Multiply current BPM by 0.75 - + 4/3 BPM 4/3 MM - + Multiply current BPM by 1.333 - + 3/2 BPM 3/2 MM - + Multiply current BPM by 1.5 - + Double BPM Zdvojit MM - + Multiply current BPM by 2 - + Tempo Tap - + Tempo tap button - + Move Beatgrid Přesunout rytmickou mřížku - + Adjust the beatgrid to the left or right Posunout rytmickou mřížku zleva doprava - + Move Beatgrid Half a Beat - + Adjust the beatgrid by exactly one half beat. Usable only for tracks with constant tempo. - - + + Toggle the BPM/beatgrid lock - + Revert last BPM/Beatgrid Change - + Revert last BPM/Beatgrid Change of the loaded track. - + Sync / Sync Lock Seřízení/Zámek seřizení - + Internal Sync Leader Vnitřní vedoucí seřizování - + Toggle Internal Sync Leader Přepnout vnitřní vedoucí seřizování - - + + Internal Leader BPM Vnitřní vedoucí MM - + Internal Leader BPM +1 Vnitřní vedoucí MM +1 - + Increase internal Leader BPM by 1 Zvýšit vnitřní vedoucí MM o 1 - + Internal Leader BPM -1 Vnitřní vedoucí MM -1 - + Decrease internal Leader BPM by 1 Snížit vnitřní vedoucí MM o 1 - + Internal Leader BPM +0.1 Vnitřní vedoucí MM +0,1 - + Increase internal Leader BPM by 0.1 Zvýšit vnitřní vedoucí MM o 0,1 - + Internal Leader BPM -0.1 Vnitřní vedoucí MM -0,1 - + Decrease internal Leader BPM by 0.1 Snížit vnitřní vedoucí MM o 0,1 - + Sync Leader Vedoucí seřizování - + Sync mode 3-state toggle / indicator (Off, Soft Leader, Explicit Leader) Režim seřizování třístavový přepínač / ukazatel (vypnuto, plynulé vedoucí, explicitní vedoucí) - + Speed Rychlost - + Decrease Speed (Fine) Snížit rychlost (jemné) - + Pitch (Musical Key) Výška tónu (tónina) - + Increase Pitch Zvýšit výšku tónu - + Increases the pitch by one semitone Zvýší výšku tónu o jeden půltón. - + Increase Pitch (Fine) Zvýšit výšku tónu (jemné) - + Increases the pitch by 10 cents Zvýší výšku tónu o 10 centů. - + Decrease Pitch Snížit výšku tónu - + Decreases the pitch by one semitone Sníží výšku tónu o jeden půltón. - + Decrease Pitch (Fine) Snížit výšku tónu (jemné) - + Decreases the pitch by 10 cents Sníží výšku tónu o 10 centů. - + Keylock Uzamčení tóniny - + CUP (Cue + Play) BZP (značka a přehrát) - + Shift cue points earlier Posunout body značek dříve - + Shift cue points 10 milliseconds earlier Posunout body značek o 10 milisekund dříve - + Shift cue points earlier (fine) Posunout body značek dříve (jemné) - + Shift cue points 1 millisecond earlier Posunout body značek o 1 milisekundu dříve - + Shift cue points later Posunout body značek později - + Shift cue points 10 milliseconds later Posunout body značek o 10 milisekund později - + Shift cue points later (fine) Posunout body značek později (jemné) - + Shift cue points 1 millisecond later Posunout body značek o 1 milisekundu později - - + + Sort hotcues by position - - + + Sort hotcues by position (remove offsets) - + Hotcues %1-%2 Rychlé značky %1-%2 - + Intro / Outro Markers Značky úvodu/závěru - + Intro Start Marker Značka začátku úvodu - + Intro End Marker Značka konce úvodu - + Outro Start Marker Značka začátku závěru - + Outro End Marker Značka konce závěru - + intro start marker Značka začátku úvodu - + intro end marker Značka konce úvodu - + outro start marker Značka začátku závěru - + outro end marker Značka konce úvodu - + Activate %1 [intro/outro marker Zapnout značku %1 - + Jump to or set the %1 [intro/outro marker Skočit nebo nastavit %1 - + Set %1 [intro/outro marker Nastavit %1 - + Set or jump to the %1 [intro/outro marker Nastavit nebo skočit na %1 - + Clear %1 [intro/outro marker Vyprázdnit %1 - + Clear the %1 [intro/outro marker Vyprázdnit %1 - + if the track has no beats the unit is seconds - + Loop Selected Beats Smyčkovat vybrané doby - + Create a beat loop of selected beat size Vytvořit smyčku z dob o vybrané velikosti doby - + Loop Roll Selected Beats Průběžná smyčka z vybraných dob - + Create a rolling beat loop of selected beat size Vytvořit průběžnou smyčku z dob o vybrané velikosti doby - + Loop %1 Beats set from its end point - + Loop Roll %1 Beats set from its end point - + Create %1-beat loop with the current play position as loop end - + Create temporary %1-beat loop roll with the current play position as loop end - + Loop Beats Smyčkovat doby - + Loop Roll Beats Průběžně smyčkovat doby - + Go To Loop In Přejít na smyčku - + Go to Loop In button Přejít na tlačítko smyčky - + Go To Loop Out Odejít ze smyčky - + Go to Loop Out button Odejít z tlačítka smyčky - + Toggle loop on/off and jump to Loop In point if loop is behind play position Přepnout zapnutí/zastavení smyčkování a skočit na bod začátku smyčky, pokud je smyčka za polohou přehrávání - + Reloop And Stop Přesmyčkovat a zastavit - + Enable loop, jump to Loop In point, and stop Povolit smyčku, skočit na bod začátku smyčky a zastavit - + Halve the loop length Zkrátit délku smyčky na polovinu - + Double the loop length Zdvojit délku smyčky - + Beat Jump / Loop Move Dobový skok/Přesun smyčky - + Jump / Move Loop Forward %1 Beats Skočit/Přesunout smyčku o %1 dob dopředu - + Jump / Move Loop Backward %1 Beats Skočit/Přesunout smyčku o %1 dob dozadu - + Jump forward by %1 beats, or if a loop is enabled, move the loop forward %1 beats Skočit dopředu o %1 dob, nebo pokud je povolena smyčka, přesunout smyčku dopředu o %1 dob - + Jump backward by %1 beats, or if a loop is enabled, move the loop backward %1 beats Skočit dozadu o %1 dob, nebo pokud je povolena smyčka, přesunout smyčku dozadu o %1 dob - + Beat Jump / Loop Move Forward Selected Beats Dobový skok/Přesun smyčky dopředu o vybrané doby - + Jump forward by the selected number of beats, or if a loop is enabled, move the loop forward by the selected number of beats Skočit dopředu o vybraný počet dob, nebo pokud je povolena smyčka, přesunout smyčku dopředu o vybraný počet dob - + Beat Jump / Loop Move Backward Selected Beats Dobový skok/Přesun smyčky dozadu o vybrané doby - + Jump backward by the selected number of beats, or if a loop is enabled, move the loop backward by the selected number of beats Skočit dozadu o vybraný počet dob, nebo pokud je povolena smyčka, přesunout smyčku dozadu o vybraný počet dob - + Beat Jump - + Indicate which loop marker remain static when adjusting the size or is inherited from the current position - + Beat Jump / Loop Move Forward Skok na dobu/Přesun smyčky dopředu - + Beat Jump / Loop Move Backward Skok na dobu/Přesun smyčky dozadu - + Loop Move Forward Přesun smyčky dopředu - + Loop Move Backward Přesun smyčky dozadu - + Remove Temporary Loop Odebrat dočasnou smyčku - + Remove the temporary loop Odebrat dočasnou smyčku - + Navigation Cesta - + Move up Posunout nahoru - + Equivalent to pressing the UP key on the keyboard Stejné jako klávesa šipka nahoru na klávesnici - + Move down Posunout dolů - + Equivalent to pressing the DOWN key on the keyboard Stejné jako klávesa šipka dolů na klávesnici - + Move up/down Posunout nahoru/dolů - + Move vertically in either direction using a knob, as if pressing UP/DOWN keys Pohybovat se svisle v obou směrech pomocí otočného knoflíku se stejným výsledkem, jako při stisknutí kláves nahoru/dolů - + Scroll Up Projíždět nahoru - + Equivalent to pressing the PAGE UP key on the keyboard Stejné jako klávesa PgUp na klávesnici - + Scroll Down Projíždět dolů - + Equivalent to pressing the PAGE DOWN key on the keyboard Stejné jako klávesa PgD(ow)n na klávesnici - + Scroll up/down Projíždět nahoru/dolů - + Scroll vertically in either direction using a knob, as if pressing PGUP/PGDOWN keys Pohybovat se svisle v obou směrech pomocí otočného knoflíku se stejným výsledkem, jako při stisknutí kláves PgUp/PgDown (PgDn) - + Move left Posunout vlevo - + Equivalent to pressing the LEFT key on the keyboard Stejné jako klávesa šipka vlevo na klávesnici - + Move right Posunout vpravo - + Equivalent to pressing the RIGHT key on the keyboard Stejné jako klávesa šipka vpravo na klávesnici - + Move left/right Posunout vlevo/vpravo - + Move horizontally in either direction using a knob, as if pressing LEFT/RIGHT keys Pohybovat se vodorovně v obou směrech pomocí otočného knoflíku se stejným výsledkem, jako při stisknutí kláves vlevo/vpravo - + Move focus to right pane Přesunout zaměření do pravé tabulky - + Equivalent to pressing the TAB key on the keyboard Stejné jako klávesa tabulátoru (TAB) na klávesnici - + Move focus to left pane Přesunout zaměření do levé tabulky - + Equivalent to pressing the SHIFT+TAB key on the keyboard Stejné jako stisknutí kláves Shift+tabulátor (TAB) na klávesnici - + Move focus to right/left pane Přesunout zaměření do pravé/levé tabulky - + Move focus one pane to right or left using a knob, as if pressing TAB/SHIFT+TAB keys Přesunout zaměření tabulky napravo nebo nalevo pomocí otočného knoflíku se stejným výsledkem, jako při stisknutí kláves TAB/Shift+TAB - + Sort focused column Řadit zaměřený sloupec - + Sort the column of the cell that is currently focused, equivalent to clicking on its header Řadit sloupec buňky, která je aktuálně zaměřena, což odpovídá klepnutí na záhlaví - + Go to the currently selected item Jít na nyní vybranou položku - + Choose the currently selected item and advance forward one pane if appropriate Zvolte nyní vybranou položku a jděte dopředu o jeden výřez okna - + Load Track and Play Nahrát skladbu a přehrát - + Add to Auto DJ Queue (replace) Přidat do řady skladeb automatického diskžokeje (nahradit) - + Replace Auto DJ Queue with selected tracks Nahradit řadu skladeb automatického diskžokeje vybranými skladbami - + Select next search history Vybrat další historii hledání - + Selects the next search history entry Vybere další položku historie hledání - + Select previous search history Vybrat předchozí historii hledání - + Selects the previous search history entry Vybere předchozí položku historie hledání - + Move selected search entry Přesunout vybranou historii hledání - + Moves the selected search history item into given direction and steps Přesune vybranou položku historie hledání do daného směru a kroků - + Clear search Smazat hledání - + Clears the search query Smaže vyhledávací dotaz - - + + Select Next Color Available - + Select the next color in the color palette for the first selected track - - + + Select Previous Color Available - + Select the previous color in the color palette for the first selected track - + + Quick Effects Deck %1 + + + + Deck %1 Quick Effect Enable Button Přehrávač %1 Tlačítko pro povolení rychlého efektu - + + Quick Effect Enable Button Tlačítko pro povolení rychlého efektu - + + Deck %1 Stem %2 Quick Effect Super Knob + + + + + Deck %1 Stem %2 Quick Effect Enable Button + + + + Enable or disable effect processing Zapnout nebo vypnout zpracování efektu - + Super Knob (control effects' Meta Knobs) Superknoflík (řízení metaknoflíků efektů) - + Mix Mode Toggle Přepnout režim míchání - + Toggle effect unit between D/W and D+W modes Přepnout efektovou jednotku mezi režimy D/W a D+W - + Next chain preset Další přednastavení řetězce efektu - + Previous Chain Předchozí řetězec - + Previous chain preset Předchozí přednastavení řetězce efektu - + Next/Previous Chain Další/Předchozí řetězec - + Next or previous chain preset Další nebo předchozí přednastavení řetězce efektu - - + + Show Effect Parameters Ukázat parametry efektů - + Effect Unit Assignment Přiřazení efektové jednotky - + Meta Knob Metaknoflík - + Effect Meta Knob (control linked effect parameters) Metaknoflík efektu (řízení parametrů propojených efektů) - + Meta Knob Mode Režim metaknoflíku - + Set how linked effect parameters change when turning the Meta Knob. Nastavit, jak se parametry propojených efektů budou měnit, když se otáčí metaknoflíkem. - + Meta Knob Mode Invert Obrácení režimu metaknoflíku - + Invert how linked effect parameters change when turning the Meta Knob. Obrátit, jak se parametry propojených efektů budou měnit, když se otáčí metaknoflíkem. - - + + Button Parameter Value Hodnota parametru tlačítka - + Microphone / Auxiliary Mikrofon/Aux - + Microphone On/Off Mikrofon zapnuto/vypnuto - + Microphone on/off Mikrofon zapnuto/vypnuto - + Toggle microphone ducking mode (OFF, AUTO, MANUAL) Přepnout režim tlumení mikrofonu (ZAPNUTO, AUTOMATICKY, RUČNĚ) - + Auxiliary On/Off Aux zapnuto/vypnuto - + Auxiliary on/off Aux zapnuto/vypnuto - + Auto DJ Diskžokej - + Auto DJ Shuffle Automatický diskžokej Zamíchat - + Auto DJ Skip Next Automatický diskžokej Přeskočit další - + Auto DJ Add Random Track Automatický diskžokej Přidat náhodnou skladbu - + Add a random track to the Auto DJ queue Přidat náhodnou skladbu do řady automatického diskžokeje - + Auto DJ Fade To Next Automatický diskžokej Prolínat k další skladbě - + Trigger the transition to the next track Spustit přechod k další skladbě - + User Interface Uživatelské rozhraní - + Samplers Show/Hide Ukázat/Skrýt vzorkovače - + Show/hide the sampler section Ukázat/Skrýt oblast vzorkovače - + Microphone && Auxiliary Show/Hide keep double & to prevent creation of keyboard accelerator Ukázat/Skrýt mikrofon a pomocné zařízení - + Waveform Zoom Reset To Default Zvětšení průběhové křivky resetováno na výchozí - + Reset the waveform zoom level to the default value selected in Preferences -> Waveforms Resetujte úroveň zvětšení průběhové křivky na výchozí hodnotu vybranou v Nastavení -> Křivky - + Select the next color in the color palette for the loaded track. - + Select previous color in the color palette for the loaded track. - + Navigate Through Track Colors - + Select either next or previous color in the palette for the loaded track. - + Start/Stop Live Broadcasting Zahájit/Zastavit živé vysílání - + Stream your mix over the Internet. Vysílejte svoje míchání přes internet. - + Start/stop recording your mix. Začněte/Zastavte nahrávání směsi (mixování). - - + + + Deck %1 Stems + + + + + Samplers Vzorkovače - + Vinyl Control Show/Hide Ukázat/Skrýt ovládání vinylovou gramodeskou - + Show/hide the vinyl control section Ukázat/Skrýt oblast ovládání vinylovou gramodeskou - + Preview Deck Show/Hide Ukázat/Skrýt náhled přehrávačů - + Show/hide the preview deck Ukázat/Skrýt přehrávač náhledu - + Toggle 4 Decks Přepnout 4 přehrávače - + Switches between showing 2 decks and 4 decks. Přepíná mezi ukázáním 2 a 4 přehrávačů. - + Cover Art Show/Hide (Decks) Ukázat/Skrýt obrázek obalu (přehrávače) - + Show/hide cover art in the main decks Ukázat/Skrýt obrázky obalů v hlavních přehrávačích - + Vinyl Spinner Show/Hide Ukázat/Skrýt otáčející se vinylovou gramodesku - + Show/hide spinning vinyl widget Ukázat/Skrýt otáčející se vinylovou gramodesku - + Vinyl Spinners Show/Hide (All Decks) Ukázat/Skrýt otáčející se vinylovou gramodesku (všechny přehrávače) - + Show/Hide all spinnies Ukázat/Skrýt všechny talíře - + Toggle Waveforms Přepnout tvar křivek - + Show/hide the scrolling waveforms. Ukázat/Skrýt posuvné průběhy - + Waveform zoom Zvětšení průběhové křivky - + Waveform Zoom Zvětšení průběhové křivky - + Zoom waveform in Přiblížit průběhovou křivku - + Waveform Zoom In Přiblížit průběhovou křivku - + Zoom waveform out Oddálit průběhovou křivku - + Star Rating Up Hodnocení hvězdičkami nahoru - + Increase the track rating by one star Zvýšit hodnocení skladby o jednu hvězdu - + Star Rating Down Hodnocení hvězdičkami dolů - + Decrease the track rating by one star Snížit hodnocení skladby o jednu hvězdu @@ -3549,6 +3590,159 @@ trace - Výše + Profilování zpráv + + ControllerHidReportTabsManager + + + Read + + + + + Send + + + + + Payload Size + + + + + bytes + + + + + Byte Position + + + + + Bit Position + + + + + Bit Size + + + + + Logical Min + + + + + Logical Max + + + + + Value + + + + + Physical Min + + + + + Physical Max + + + + + Unit Scaling + + + + + Unit + + + + + Abs/Rel + + + + + + Wrap + + + + + + Linear + + + + + + Preferred + + + + + + Null + + + + + + Volatile + + + + + Usage Page + + + + + Usage + + + + + Relative + + + + + Absolute + + + + + No Wrap + + + + + Non Linear + + + + + No Preferred + + + + + No Null + + + + + Non Volatile + + + ControllerInputMappingTableModel @@ -3684,27 +3878,27 @@ trace - Výše + Profilování zpráv ControllerScriptEngineLegacy - + Controller Mapping File Problem Problém souboru přiřazení ovladače - + The mapping for controller "%1" cannot be opened. Přiřazení pro váš ovladač "%1" nemohlo být ovevřeno. - + The functionality provided by this controller mapping will be disabled until the issue has been resolved. Funkce poskytované přiřazením tohoto ovladače budou až do vyřešení problému vypnuty. - + File: Soubor: - + Error: Chyba: @@ -3737,7 +3931,7 @@ trace - Výše + Profilování zpráv - + Lock Zamknout @@ -3767,7 +3961,7 @@ trace - Výše + Profilování zpráv Zdroj skladeb pro automatického diskžokeje - + Enter new name for crate: Zadat nový název pro přepravku: @@ -3784,22 +3978,22 @@ trace - Výše + Profilování zpráv Nahrát přepravku - + Export Crate Uložit přepravku - + Unlock Odemknout - + An unknown error occurred while creating crate: Při vytváření přepravky na desky nastala neznámá chyba: - + Rename Crate Přejmenovat přepravku @@ -3809,28 +4003,28 @@ trace - Výše + Profilování zpráv Vytvořte si přepravku na desky pro své další vystoupení, pro své oblíbené skladby ve stylu elektrického domu (electrohouse), a nebo třeba pro nejžádanější skladby. - + Confirm Deletion Potvrdit smazání - - + + Renaming Crate Failed Přejmenování přepravky se nezdařilo - + Crate Creation Failed Vytvoření přepravky se nezdařilo - + M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Text CSV (*.csv);;Readable Text (*.txt) Seznam skladeb M3U (*.m3u);;Seznam skladeb M3U8 (*.m3u8);;Seznam skladeb PLS (*.pls);;Text CSV (*.csv);;Prostý text (*.txt) - + M3U Playlist (*.m3u) Seznam skladeb M3U (*.m3u) @@ -3851,17 +4045,17 @@ trace - Výše + Profilování zpráv Přepravky na desky vám umožní uspořádat si svou sbírku skladeb po svém! - + Do you really want to delete crate <b>%1</b>? Opravdu chcete přepravku <b>%1</b> smazat? - + A crate cannot have a blank name. Název přepravky nemůže být prázdný. - + A crate by that name already exists. Přepravka s tímto názvem již existuje. @@ -3956,12 +4150,12 @@ trace - Výše + Profilování zpráv Přispěvatelé v minulosti - + Official Website Internetová stránka - + Donate Přispět @@ -4766,123 +4960,140 @@ Pokusili jste se naučit: %1,%2 DlgPrefBroadcast - + Icecast 2 Icecast 2 - + Shoutcast 1 Shoutcast 1 - + Icecast 1 Icecast 1 - + MP3 MP3 - + Ogg Vorbis Ogg Vorbis - + Opus Opus - + AAC AAC - + HE-AAC HE-AAC - + HE-AACv2 HE-AACv2 - + Automatic Automaticky - + Mono Mono - + Stereo Stereo - - - - + + Saving settings failed + + + + + The password for '%1' contains invalid characters. Please enter it again. + +Note: This can for example be invisible linebreaks when using copy/paste. + + + + + + Action failed Činnost se nezdařila - + You can't create more than %1 source connections. Nemůžete vytvořit připojení více než %1 zdrojů. - + Source connection %1 Připojení zdroje %1 - + + Settings for %1 + Settings for broadcast profile, %1 is the profile name placeholder + + + + At least one source connection is required. Je požadováno připojení alespoň jednoho zdroje. - + Are you sure you want to disconnect every active source connection? Opravdu chcete odpojit všechna činná připojení zdrojů? - - + + Confirmation required Požadováno potvrzení - + '%1' has the same Icecast mountpoint as '%2'. Two source connections to the same server that have the same mountpoint can not be enabled simultaneously. '%1' má týž přípojný bod Icecast jako '%2'. Dvě zdrojová připojení ke stejnému serveru, které mají týž přípojný bod, nemohou být povolena zároveň. - + Are you sure you want to delete '%1'? Opravdu chcete smazat '%1'? - + Renaming '%1' Přejmenovává se '%1' - + New name for '%1': Nový název pro '%1': - + Can't rename '%1' to '%2': name already in use Nelze přejmenovat '%1' na '%2': název se již používá @@ -4895,27 +5106,27 @@ Dvě zdrojová připojení ke stejnému serveru, které mají týž přípojný Nastavení živého přenosu - + Mixxx Icecast Testing Zkoušení Icecast s Mixxxem - + Public stream Veřejný proud - + http://www.mixxx.org http://www.mixxx.org - + Stream name Název proudu - + Due to flaws in some streaming clients, updating Ogg Vorbis metadata dynamically can cause listener glitches and disconnections. Check this box to update the metadata anyway. Kvůli chybám u některých klientů pro vysílání (přenos dat) může vést dynamická aktualizace popisných dat ve formátu Ogg Vorbis u posluchačů k poruchám a přerušením. Zaškrtněte toto okénko, aby se přesto popisná data aktualizovala. @@ -4955,67 +5166,72 @@ Dvě zdrojová připojení ke stejnému serveru, které mají týž přípojný Nastavení pro %1 - + + Available fields: $artist, $title, $year, $album, $genre, $bpm + + + + Dynamically update Ogg Vorbis metadata. Aktualizovat dynamicky popisná data Ogg Vorbis. - + ICQ ICQ - + AIM AIM - + Website Stránky - + Live mix Míchání naživo - + IRC IRC - + Select a source connection above to edit its settings here Vyberte připojení zdroje výše pro upravení jeho nastavení zde - + Password storage Úložiště hesla - + Plain text Prostý text - + Secure storage (OS keychain) Bezpečné úložiště (řetězec s klíčem OS) - + Genre Žánr - + Use UTF-8 encoding for metadata. Použít kódování UTF-8 pro popisná data. - + Description Popis @@ -5041,42 +5257,42 @@ Dvě zdrojová připojení ke stejnému serveru, které mají týž přípojný Kanály - + Server connection Připojení k serveru - + Type Typ - + Host Hostitel - + Login Přihlášení - + Mount Připojit - + Port Přípojka - + Password Heslo - + Stream info Údaje o proudu @@ -5086,17 +5302,17 @@ Dvě zdrojová připojení ke stejnému serveru, které mají týž přípojný Popisná data - + Use static artist and title. Neměnný umělec a název. - + Static title Neměnný název - + Static artist Neměnný umělec @@ -5155,13 +5371,14 @@ Dvě zdrojová připojení ke stejnému serveru, které mají týž přípojný DlgPrefColors - - + + + By hotcue number Podle čísla rychlé značky - + Color Barva @@ -5206,17 +5423,22 @@ Dvě zdrojová připojení ke stejnému serveru, které mají týž přípojný + Jump default color + + + + When key colors are enabled, Mixxx will display a color hint associated with each key. - + Enable Key Colors - + Key palette @@ -5224,114 +5446,114 @@ associated with each key. DlgPrefController - + Apply device settings? Použít nastavení zařízení? - + Your settings must be applied before starting the learning wizard. Apply settings and continue? Nastavení je nutné použít před spuštěním Průvodce učením. Použít nastavení a pokračovat? - + None Žádný - + %1 by %2 %1 od %2 - + Mapping has been edited Přiřazení bylo upraveno - + Always overwrite during this session Pokaždé přepsat během sezení - + Save As Uložit jako - + Overwrite Přepsat - + Save user mapping Uložit přiřazení uživatele - + Enter the name for saving the mapping to the user folder. Zadejte název pro uložení přiřazení do uživatelské složky. - + Saving mapping failed Uložení přiřazení selhalo - + A mapping cannot have a blank name and may not contain special characters. Přiřazení nesmí mít prázdný název a neměl by obsahovat zvláštní znaky. - + A mapping file with that name already exists. Soubor přiřazení s tímto názvem již existuje. - + Do you want to save the changes? Chcete uložit změny? - + Troubleshooting Odstraňování závad - + <font color='#BB0000'><b>If you use this mapping your controller may not work correctly. Please select another mapping or disable the controller.</b></font><br><br>This mapping was designed for a newer Mixxx Controller Engine and cannot be used on your current Mixxx installation.<br>Your Mixxx installation has Controller Engine version %1. This mapping requires a Controller Engine version >= %2.<br><br>For more information visit the wiki page on <a href='https://mixxx.org/wiki/doku.php/controller_engine_versions'>Controller Engine Versions</a>. <font color='#BB0000'><b>Pokud používáte toto přiřazení, váš ovladač nemusí pracovat správně. Vyberte prosím další přiřazení nebo vypnutí ovladače.</b></font><br><br>Toto přiřazení bylo navrženo pro novější ovladač stroje Mixxx a nelze je použít při vaší nynější instalaci Mixxx.<br>Vaše instalace Mixxx má verzi ovladače stroje %1. Toto přiřazení vyžaduje verzi ovladače stroje> = %2.<br><br>Pro více informací navštivte stránku wiki <a href='https://mixxx.org/wiki/doku.php/controller_engine_versions'>Verze ovladače stroje</a>. - + Mapping already exists. Přiřazení již existuje. - + <b>%1</b> already exists in user mapping folder.<br>Overwrite or save with a new name? <b>%1</b> již existuje v uživatelské složce přiřazení.<br>Přepsat nebo uložit pod novým názvem? - + Clear Input Mappings Smazat přiřazení vstupu - + Are you sure you want to clear all input mappings? Jste si jistý, že chcete smazat všechna přiřazení vstupu? - + Clear Output Mappings Smazat přiřazení výstupu - + Are you sure you want to clear all output mappings? Jste si jistý, že chcete smazat všechna přiřazení výstupu? @@ -5349,100 +5571,105 @@ Použít nastavení a pokračovat? Povoleno - + + Refresh mapping list + + + + Device Info - + Physical Interface: - + Vendor name: - + Product name: - + Vendor ID - + VID: - + Product ID - + PID: - + Serial number: - + USB interface number: - + HID Usage-Page: - + HID Usage: - + Description: Popis: - + Support: Podpora: - + Screens preview - + Input Mappings Přiřazení vstupů - - + + Search Hledat - - + + Add Přidat - - + + Remove Odstranit @@ -5462,17 +5689,17 @@ Použít nastavení a pokračovat? Načítání přiřazení: - + Mapping Info Informace o přiřazení - + Author: Autor: - + Name: Název: @@ -5482,28 +5709,28 @@ Použít nastavení a pokračovat? Průvodce učením (pouze MIDI ) - + Data protocol: - + Mapping Files: Soubory přiřazení: - + Mapping Settings - - + + Clear All Vyprázdnit vše - + Output Mappings Přiřazení výstupů @@ -5518,21 +5745,21 @@ Použít nastavení a pokračovat? - Mixxx uses "mappings" to connect messages from your controller to controls in Mixxx. If you do not see a mapping for your controller in the "Load Mapping" menu when you click on your controller on the left sidebar, you may be able to download one online from the %1. Place the XML (.xml) and Javascript (.js) file(s) in the "User Mapping Folder" then restart Mixxx. If you download a mapping in a ZIP file, extract the XML and Javascript file(s) from the ZIP file to your "User Mapping Folder" then restart Mixxx. - Mixxx používá přiřazení, aby propojil příkazy z vašeho řadiče s ovládacími prvky v Mixxxu. Pokud se vám neukazuje žádné přiřazení pro váš řadič v nabídce Nahrát přiřazení, když klepnete na řadič v levém postranním panelu, můžete ho stáhnout z %1. Umístěte soubor(y) XML (.xml) a Javascript (.js) do uživatelské složky s přednastaveními, a potom Mixxx spusťte znovu. Pokud stáhnete přiřazení v souboru ZIP, rozbalte soubor(y) XML a Javascript do uživatelské složky s přednastaveními, a pak Mixxx spusťte znovu: + Mixxx uses "mappings" to connect messages from your controller to controls in Mixxx. If you do not see a mapping for your controller in the "Load Mapping" menu when you click on your controller on the left sidebar, you may be able to download one online from the %1. Place the XML (.xml) and Javascript (.js) file(s) in the "User Mapping Folder" then click the Reload button next to the mapping selector to reload all available mappings. If you download a mapping in a ZIP file, extract the XML and Javascript file(s) from the ZIP file to your "User Mapping Folder" then click the Reload button. + - + Mixxx DJ Hardware Guide Průvodce technickým vybavením pro DJ Mixxx - + MIDI Mapping File Format Formát přiřazení souboru MIDI - + MIDI Scripting with Javascript Skriptování MIDI JavaScriptem @@ -5701,137 +5928,137 @@ Použít nastavení a pokračovat? DlgPrefDeck - + Mixxx mode Režim Mixxx - + Mixxx mode (no blinking) Režim Mixxxu (bez blikání) - + Pioneer mode Režim Pioneer - + Denon mode Režim Denon - + Numark mode Režim Numark - + CUP mode Režim BZP - + mm:ss%1zz - Traditional mm:ss%1zz - tradiční - + mm:ss - Traditional (Coarse) mm:ss - tradiční (hrubé) - + s%1zz - Seconds s%1zz - sekundy - + sss%1zz - Seconds (Long) sss%1zz - sekundy (dlouhé) - + s%1sss%2zz - Kiloseconds s%1sss%2zz - kilosekundy - + Intro start Začátek otevírající skladby - + Main cue Hlavní značka - + First hotcue - + First sound (skip silence) První zvuk (přeskočit ticho) - + Beginning of track Začátek skladby - + Reject Zamítnout - + Allow, but stop deck Povolit, ale zastavit přehrávač - + Allow, play from load point Povolit, přehrávat od bodu zatížení - + 4% 4 % - + 6% (semitone) 6 % (půltón) - + 8% (Technics SL-1210) 8 % (Technics SL-1210) - + 10% 10 % - + 16% 16 % - + 24% 24 % - + 50% 50 % - + 90% 90 % @@ -6291,57 +6518,57 @@ Vždy můžete přetažením skladeb na obrazovce naklonovat přehrávač.Nejmenší velikost vybraného vzhledu je větší než rozlišení vaší obrazovky. - + Allow screensaver to run Povolit běh spořiče obrazovky - + Prevent screensaver from running Zabránit spořiči obrazovky v běhu - + Prevent screensaver while playing Zabránit spořiči obrazovky v běhu během přehrávání - + Disabled Zakázáno - + 2x MSAA 2x MSAA - + 4x MSAA 4x MSAA - + 8x MSAA 8x MSAA - + 16x MSAA 16x MSAA - + This skin does not support color schemes Tento vzhled nepodporuje barevná schémata - + Information Informace - + Mixxx must be restarted before the new locale, scaling or multi-sampling settings will take effect. Předtím než se změny, škálování nebo vícenásobné vzorkování projeví, bude se muset Mixxx spustit znovu. @@ -6569,67 +6796,97 @@ a umožní vám upravit tóninu pro libozvučné míchání. Na podrobnosti se podívejte v příručce - + Music Directory Added Adresář s hudbou přidán - + You added one or more music directories. The tracks in these directories won't be available until you rescan your library. Would you like to rescan now? Přidal jste jeden nebo více adresářů s hudbou. Skladby v těchto adresářích nebudou dostupné, dokud nenecháte znovu prohledat knihovnu. Chcete ji nechat prohledat nyní? - + Scan Prohledat - + Item is not a directory or directory is missing Přestaň - + Choose a music directory Vybrat adresář pro hudbu - + Confirm Directory Removal Potvrdit odstranění adresáře - + Mixxx will no longer watch this directory for new tracks. What would you like to do with the tracks from this directory and subdirectories?<ul><li>Hide all tracks from this directory and subdirectories.</li><li>Delete all metadata for these tracks from Mixxx permanently.</li><li>Leave the tracks unchanged in your library.</li></ul>Hiding tracks saves their metadata in case you re-add them in the future. Mixxx už v tomto adresáři nové skladby nebude hledat. Co chcete dělat se skladbami z tohoto adresáře a jeho podadresářů?<ul><li>Skrýt všechny skladby z tohoto adresáře a jeho podadresářů.</li><li>Smazat trvale všechna popisná data pro tyto skladby z Mixxxu.</li><li>Nechat tyto skladby v knihovně nezměněny.</li></ul>Skrytí skladeb uloží jejich popisná data pro případ, že je v budoucnu znovu přidáte. - + Metadata means all track details (artist, title, playcount, etc.) as well as beatgrids, hotcues, and loops. This choice only affects the Mixxx library. No files on disk will be changed or deleted. Popisná data obsahují všechny podrobnosti o skladbě (umělec, název, počet přehrání atd.), stejně tak jako rytmické mřížky, rychlé značky a smyčky. Toto rozhodnutí ovlivní jen knihovnu Mixxxu. Žádné soubory na pevném disku nebudou změněny nebo smazány. - + Hide Tracks Skrýt skladby - + Delete Track Metadata Smazat popisná data - + Leave Tracks Unchanged Ponechat skladby nezměněny - + Relink music directory to new location Propojit adresář s hudbou znovu s novým umístěním - + + Black + + + + + ExtraBold + + + + + Bold + + + + + SemiBold + + + + + Medium + + + + + Light + + + + Select Library Font Vybrat písmo knihovny @@ -6678,262 +6935,267 @@ a umožní vám upravit tóninu pro libozvučné míchání. Prohledat adresář skladeb při spuštění - + Audio File Formats Formáty zvukových souborů - + Track Table View Zobrazení seznamu skladeb - + Track Double-Click Action: Činnost skladby dvojitým klepnutím: - + BPM display precision: Přesnost zobrazení MM: - + Session History Historie sezení - + Track duplicate distance Zdvojit vzdálenost skladeb - + When playing a track again log it to the session history only if more than N other tracks have been played in the meantime Při opětovném přehrávání skladby ji zapište do historie sezení, pouze pokud bylo mezitím přehráno více než N jiných skladeb - + History playlist with less than N tracks will be deleted<br/><br/>Note: the cleanup will be performed during startup and shutdown of Mixxx. Seznam skladeb historie s méně než N stopami bude smazán<br/><br/>Poznámka: vyčištění bude provedeno během spouštění a vypínání Mixxx. - + Delete history playlist with less than N tracks Smazat historii seznamu skladeb - + Library Font: Písmo knihovny: - + + Show scan summary dialog + + + + Grey out played tracks - + Track Search - + Enable search completions Povolit našeptávač - + Enable search history keyboard shortcuts Povolit klávesové zkratky historie hledání - + Percentage of pitch slider range for 'fuzzy' BPM search: - + This range will be used for the 'fuzzy' BPM search (~bpm:) via the search box, as well as for BPM search in Track context menu > Search related Tracks - + Preferred Cover Art Fetcher Resolution Upřednostňované rozlišení přinašeče obrázků obalů - + Fetch cover art from coverartarchive.com by using Import Metadata From Musicbrainz. Natáhněte (získejte) obaly ze stránek coverartarchive.com pomocí funkce Nahrát popisná data z Musicbrainz. - + Note: ">1200 px" can fetch up to very large cover arts. Poznámka: ">1200 px" může natáhnout až velmi velké obaly. - + >1200 px (if available) >1200 px (je-li dostupné) - + 1200 px (if available) 1200 px (je-li dostupné) - + 500 px 500 px - + 250 px 250 px - + Settings Directory Nastavení adresáře - + The Mixxx settings directory contains the library database, various configuration files, log files, track analysis data, as well as custom controller mappings. Adresář nastavení Mixxx obsahuje databázi knihovny, různé soubory s nastavením, soubory s protokoly, data analýzy skladeb a také vlastní přiřazování ovladačů. - + Edit those files only if you know what you are doing and only while Mixxx is not running. Upravit tyto soubory pokud víte, co s nimi děláte, a pouze pokud Mixxx není spuštěný. - + Open Mixxx Settings Folder Otevřít složku Nastavení Mixxx - + Library Row Height: Výška řádku knihovny - + Use relative paths for playlist export if possible Je-li to možné, pro vyvedení seznamu skladeb použít relativní cesty - + ... ... - + px px - + Synchronize library track metadata from/to file tags Synchronizovat popisná data skladeb knihovny z/do značek souborů - + Automatically write modified track metadata from the library into file tags and reimport metadata from updated file tags into the library Automaticky zapisovat upravená popisná data skladeb z knihovny do značek souborů a znovu nahrát popisná data z aktualizovaných značek souborů do knihovny - + Synchronize Serato track metadata from/to file tags (experimental) Synchronizovat popisná data skladeb Serato z/do značek souborů (experimentální) - + Keeps track color, beat grid, bpm lock, cue points, and loops synchronized with SERATO_MARKERS/MARKERS2 file tags.<br/><br/>WARNING: Enabling this option also enables the reimport of Serato metadata after files have been modified outside of Mixxx. On reimport existing metadata in Mixxx is replaced with the metadata found in file tags. Custom metadata not included in file tags like loop colors is lost. Udržuje barvu skladby, mřížku rytmu, zámek bpm, startovací body a smyčky synchronizované se značkami souborů SERATO_MARKERS/MARKERS2.<br/><br/>VAROVÁNÍ: Povolením této možnosti také povolíte opětovné nahrání popisných dat Serato poté, co byly soubory upraveny mimo Mixxx. Při opětovném zavedení jsou stávající popisná data v Mixxxu nahrazena popisnými daty nalezenými ve značkách souborů. Vlastní popisná data, která nejsou zahrnuta ve značkách souborů, jako jsou barvy smyčky, jsou ztracena. - + Edit metadata after clicking selected track Upravit popisná data po klepnutí na vybranou stopu - + Search-as-you-type timeout: Prodleva pro okamžité hledání: - + ms ms - + Load track to next available deck Nahrát skladbu do dalšího dostupného přehrávače - + External Libraries Vnější knihovny - + You will need to restart Mixxx for these settings to take effect. Aby se změny projevily, budete muset Mixxx spustit znovu. - + Show Rhythmbox Library Ukázat knihovnu Rhythmboxu - + Track Metadata Synchronization / Playlists - + Add track to Auto DJ queue (bottom) Přidat skladbu do řady automatického diskžokeje (dole) - + Add track to Auto DJ queue (top) Přidat skladbu do řady automatického diskžokeje (nahoře) - + Ignore Přehlížet - + Show Banshee Library Ukázat knihovnu Banshee - + Show iTunes Library Ukázat knihovnu iTunes - + Show Traktor Library Ukázat knihovnu Traktoru - + Show Rekordbox Library Ukázat knihovnu Rekordboxu - + Show Serato Library Zobrazit knihovnu Serato - + All external libraries shown are write protected. Všechny zobrazené vnější knihovny jsou chráněny proti zápisu. @@ -7278,33 +7540,33 @@ a umožní vám upravit tóninu pro libozvučné míchání. DlgPrefRecord - + Choose recordings directory Vybrat adresář pro nahrávání - - + + Recordings directory invalid Neplatný adresář pro nahrávání - + Recordings directory must be set to an existing directory. Adresář pro nahrávání musí být nastaven na existující adresář. - + Recordings directory must be set to a directory. Adresář pro nahrávání musí být nastaven na adresář. - + Recordings directory not writable Adresář pro nahrávání není zapisovatelný - + You do not have write access to %1. Choose a recordings directory you have write access to. Nemáte přístup pro zápis souboru %1. Vyberte adresář pro nahrávání, ke kterému máte přístup pro zápis. @@ -7322,43 +7584,55 @@ a umožní vám upravit tóninu pro libozvučné míchání. Procházet... - - + + This will include the filepath for each track in the CUE file. +This option makes the CUE file less portable and can reveal personal +information from filepaths (i.e. username) + + + + + Enable File Annotation in CUE file + + + + + Quality Kvalita - + Tags Značky - + Title Název - + Author Autor - + Album Album - + Output File Format Formát výstupního souboru - + Compression Komprese - + Lossy Ztrátová @@ -7373,12 +7647,12 @@ a umožní vám upravit tóninu pro libozvučné míchání. Adresář: - + Compression Level Úroveň komprese - + Lossless Bezztrátová @@ -7511,174 +7785,179 @@ Cílová hlasitost zvuku je přibližná a předpokládá se, že předzesílen DlgPrefSound - + %1 Hz %1 Hz - + Default (long delay) Výchozí (dlouhé zpoždění) - + Experimental (no delay) Pokusné (žádné zpoždění) - + Disabled (short delay) Zakázáno (krátké zpoždění) - + Soundcard Clock Hodiny zvukové karty - + Network Clock Hodiny sítě - + Direct monitor (recording and broadcasting only) Přímý dohled (pouze nahrávání a vysílání) - + Disabled Zakázáno - + Enabled Povoleno - + Stereo Stereo - + Mono Mono - + To enable Realtime scheduling (currently disabled), see the %1. Povolit zařazování do rozvrhu (nyní vypnuto), podívejte se na %1. - + The %1 lists sound cards and controllers you may want to consider for using Mixxx. %1 uvádí zvukové karty a ovladače, které byste měli zvážit při používání Mixxxu. - + Mixxx DJ Hardware Guide Průvodce technickým vybavením pro DJ Mixxx - + + Find details in the Mixxx user manual + + + + Information - + Mixxx must be restarted before the multi-threaded RubberBand setting change will take effect. - + auto (<= 1024 frames/period) automaticky (<= 1024 snímků/periodu) - + 2048 frames/period 2048 snímků/periodu - + 4096 frames/period 4096 snímků/periodu - + Are you sure? - + Distribute stereo channels into mono channels for parallel processing will result in a loss of mono compatibility and a diffuse stereo image. It is not recommended during broadcasting or recording. - + Are you sure you wish to proceed? - + No - + Yes, I know what I am doing - + Microphone inputs are out of time in the record & broadcast signal compared to what you hear. Mikrofonní vstupy jsou při nahrávání a vysílaní zpožděny v porovnání s tím, co slyšíte. - + Measure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. Změřte prodlevu zpoždění a zadejte ji výše pro prodlevu mikrofonu. Kompenzace pro přizpůsobení načasování mikrofonu. - + Refer to the Mixxx User Manual for details. Nahlédněte do uživatelské příručky k Mixxxu, kde jsou podrobnosti. - + Configured latency has changed. Nastavená prodleva se změnila. - + Remeasure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. Opakujte nastavení zpoždění a zadejte ji výše pro latenci mikrofonu Kompenzace pro přizpůsobení načasování mikrofonu. - + Realtime scheduling is enabled. Je povoleno zařazování do rozvrhu ve skutečném čase. - + Main output only Pouze hlavní výstup - + Main and booth outputs Hlavní výstup a výstup kukaně - + %1 ms %1 ms - + Configuration error Chyba nastavení @@ -7745,17 +8024,22 @@ Kompenzace pro přizpůsobení načasování mikrofonu. ms - + + Deck and Bus outputs are for external mixers. They are post-fader and include effects and crossfader (for Auto DJ). For external mixing, make sure all Mixxx faders and EQ knobs are set to their default position (right- or double-click). + + + + 20 ms 20 ms - + Buffer Underflow Count Počítadlo podtečení vyrovnávací paměti - + 0 0 @@ -7780,12 +8064,12 @@ Kompenzace pro přizpůsobení načasování mikrofonu. Vstup - + System Reported Latency Systémem hlášená prodleva - + Enlarge your audio buffer if the underflow counter is increasing or you hear pops during playback. Zvětšete vyrovnávací paměť zvuku, když se zvýší počítadlo podtečení nebo během přehrávání slyšíte výpadky. @@ -7815,7 +8099,7 @@ Kompenzace pro přizpůsobení načasování mikrofonu. Rady a diagnostika - + Downsize your audio buffer to improve Mixxx's responsiveness. Zmenšete vyrovnávací paměť zvuku, abyste zlepšili reakční schopnost Mixxxu. @@ -7862,7 +8146,7 @@ Kompenzace pro přizpůsobení načasování mikrofonu. Nastavení vinylové gramodesky - + Show Signal Quality in Skin Ukazovat kvalitu signálu ve vzhledu @@ -7898,46 +8182,51 @@ Kompenzace pro přizpůsobení načasování mikrofonu. + Pitch estimator + + + + Deck 1 Přehrávač 1 - + Deck 2 Přehrávač 2 - + Deck 3 Přehrávač 3 - + Deck 4 Přehrávač 4 - + Signal Quality Kvalita signálu - + http://www.xwax.co.uk http://www.xwax.co.uk - + Powered by xwax Poháněno xwaxem - + Hints Rady - + Select sound devices for Vinyl Control in the Sound Hardware pane. Vyberte zvuková zařízení pro ovládání vinylem na kartě nastavení Zvuk. @@ -7945,58 +8234,58 @@ Kompenzace pro přizpůsobení načasování mikrofonu. DlgPrefWaveform - + Filtered Filtrováno - + HSV HSV - + RGB RGB - + Top - + Center - + Bottom - + 1/3 of waveform viewer options for "Text height limit" - + Entire waveform viewer - + OpenGL not available OpenGL není dostupné - + dropped frames upuštěné snímky - + Cached waveforms occupy %1 MiB on disk. Průběhové křivky uložené do vyrovnávací paměti zabírají %1 MiB místa na disku. @@ -8014,22 +8303,17 @@ Kompenzace pro přizpůsobení načasování mikrofonu. Rychlost snímkování - + OpenGL Status - + Displays which OpenGL version is supported by the current platform. Ukáže, která verze OpenGL je podporována nynější platformou. - - Normalize waveform overview - Normalizovat přehled průběhové křivky - - - + Average frame rate Průměrná rychlost snímkování @@ -8045,7 +8329,7 @@ Kompenzace pro přizpůsobení načasování mikrofonu. Výchozí zvětšení - + Displays the actual frame rate. Ukáže skutečnou rychlost snímkování. @@ -8080,7 +8364,7 @@ Kompenzace pro přizpůsobení načasování mikrofonu. Hloubky - + Show minute markers on waveform overview @@ -8125,7 +8409,7 @@ Kompenzace pro přizpůsobení načasování mikrofonu. Celkov viditelné zesílení - + The waveform overview shows the waveform envelope of the entire track. Select from different types of displays for the waveform overview, which differ primarily in the level of detail shown in the waveform. Zobrazení průběhové křivky ukazuje obálku průběhové křivky celé skladby. @@ -8194,22 +8478,22 @@ Vyberte z různých druhů zobrazení průběhových křivek, které se v prvé - + Caching Ukládání do vyrovnávací paměti - + Mixxx caches the waveforms of your tracks on disk the first time you load a track. This reduces CPU usage when you are playing live but requires extra disk space. Mixxx ukládá průběhové křivky skladeb na disku do vyrovnávací paměti, když poprvé skladbu nahrajete. Tím zmenšuje využití procesoru, když přehráváte naživo, ale potřebuje k tomu prostor na disku navíc. - + Enable waveform caching Povolit ukládání průběhových křivek do vyrovnávací paměti - + Generate waveforms when analyzing library Vytvářet při rozboru knihovny průběhové křivky @@ -8225,7 +8509,7 @@ Vyberte z různých druhů zobrazení průběhových křivek, které se v prvé - + Type @@ -8245,22 +8529,68 @@ Vyberte z různých druhů zobrazení průběhových křivek, které se v prvé % - - Play marker position - Poloha značky přehrávání + + Play marker position + Poloha značky přehrávání + + + + Moves the play marker position on the waveforms to the left, right or center (default). + Posune polohu značky přehrávání na průběhových křivkách doleva, doprava nebo na střed (výchozí). + + + + Stem + + + + + Channel opacity + + + + + Channel opacity (outline) + + + + + Main stem opacity + + + + + Outline stem opacity + + + + + Move channel to foreground when volume is adjusted + + + + + Overview Waveforms + + + + + Gain + - - Moves the play marker position on the waveforms to the left, right or center (default). - Posune polohu značky přehrávání na průběhových křivkách doleva, doprava nebo na střed (výchozí). + + Normalize to peak + - - Overview Waveforms + + Use Waveform "Global" gain and ReplayGain (if enabled) + 'Global' refers to the 'Global' visual gain in the scrolling waveform settings - + Clear Cached Waveforms Smazat průběhové křivky uložené do vyrovnávací paměti @@ -8752,7 +9082,7 @@ Tento krok nelze vrátit zpět! MM: - + Location: Umístění: @@ -8767,27 +9097,27 @@ Tento krok nelze vrátit zpět! Poznámky - + BPM MM - + Sets the BPM to 75% of the current value. Nastaví rázy za minutu (MM) na 75 % nynější hodnoty. - + 3/4 BPM 3/4 MM - + Sets the BPM to 50% of the current value. Nastaví rázy za minutu (MM) na 50 % nynější hodnoty. - + Displays the BPM of the selected track. Zobrazí rázy za minutu (MM) vybrané skladby. @@ -8842,49 +9172,49 @@ Tento krok nelze vrátit zpět! Žánr - + ReplayGain: Vyrovnání hlasitosti: - + Sets the BPM to 200% of the current value. Nastaví rázy za minutu (MM) na 200 % nynější hodnoty. - + Double BPM Zdvojit MM - + Halve BPM Snížit MM na polovinu - + Clear BPM and Beatgrid Smazat MM a rytmickou mřížku - + Move to the previous item. "Previous" button Přesunout na předchozí položku. - + &Previous &Předchozí - + Move to the next item. "Next" button Přesunout na další položku. - + &Next &Další @@ -8909,12 +9239,12 @@ Tento krok nelze vrátit zpět! Barva - + Date added: Datum přidání: - + Open in File Browser Otevřít v prohlížeči souborů @@ -8924,12 +9254,17 @@ Tento krok nelze vrátit zpět! Vzorkovací kmitočet: - + + Filesize: + + + + Track BPM: MM skladby: - + Converts beats detected by the analyzer into a fixed-tempo beatgrid. Use this setting if your tracks have a constant tempo (e.g. most electronic music). Often results in higher quality beatgrids, but will not do well on tracks that have tempo shifts. @@ -8938,90 +9273,90 @@ Použijte toto nastavení, pokud mají vaše skladby stálé tempo (např. vět Často jsou výsledkem vysoce kvalitní rytmické mřížky, ale nevede si dobře u skladeb, které mají posuny tempa. - + Assume constant tempo Předpokládat neměnné tempo - + Sets the BPM to 66% of the current value. Nastaví rázy za minutu (MM) na 66 % nynější hodnoty. - + 2/3 BPM 2/3 MM - + Sets the BPM to 150% of the current value. Nastaví rázy za minutu (MM) na 150 % nynější hodnoty. - + 3/2 BPM 3/2 MM - + Sets the BPM to 133% of the current value. Nastaví rázy za minutu (MM) na 133 % nynější hodnoty. - + 4/3 BPM 4/3 MM - + Tap with the beat to set the BPM to the speed you are tapping. Klepejte (ťukejte) do taktu (rytmus) pro nastavení rázů (úderů) za minutu (RZM - „M.M.“: Mälzelův metronom) na rychlost, kterou ťukáte. - + Tap to Beat Klepat rytmus - + Hint: Use the Library Analyze view to run BPM detection. Rada: Rozbor knihovny použijte ke zjištění počtu úderů za minutu - rázů za minutu (RZM - „M.M.“: Mälzelův metronom). - + Save changes and close the window. "OK" button Uložit změny a zavřít okno. - + &OK &OK - + Discard changes and close the window. "Cancel" button Zahodit změny a zavřít okno. - + Save changes and keep the window open. "Apply" button Uložit změny a ponechat okno otevřené. - + &Apply &Použít - + &Cancel &Zrušit - + (no color) (žádná barva) @@ -9178,7 +9513,7 @@ Použijte toto nastavení, pokud mají vaše skladby stálé tempo (např. vět - + (no color) @@ -9380,27 +9715,27 @@ Použijte toto nastavení, pokud mají vaše skladby stálé tempo (např. vět EngineBuffer - + Soundtouch (faster) Soundtouch (rychlejší) - + Rubberband (better) Rubberband (lepší) - + Rubberband R3 (near-hi-fi quality) Rubberband R3 (kvalita poblíž hi-fi) - + Unknown, using Rubberband (better) Neznámé zařízení používající Rubberband (lepší) - + Unknown, using Soundtouch Neznámý, používám Soundtouch @@ -9615,15 +9950,15 @@ Použijte toto nastavení, pokud mají vaše skladby stálé tempo (např. vět LegacySkinParser - - + + Safe Mode Enabled Shown when Mixxx is running in safe mode. Bezpečný režim povolen - - + + No OpenGL support. Shown when Spinny can not be displayed. Please keep @@ -9635,57 +9970,57 @@ Shown when VuMeter can not be displayed. Please keep pro OpenGL. - + activate Zapnout - + toggle Přepnout - + right Vpravo - + left Vlevo - + right small Trochu doprava - + left small Trochu doleva - + up Nahoru - + down Dolů - + up small Trochu nahoru - + down small Trochu dolů - + Shortcut Klávesová zkratka @@ -9693,62 +10028,62 @@ pro OpenGL. Library - + This or a parent directory is already in your library. - + This or a listed directory does not exist or is inaccessible. Aborting the operation to avoid library inconsistencies - - + + This directory can not be read. - + An unknown error occurred. Aborting the operation to avoid library inconsistencies - + Can't add Directory to Library - + Could not add <b>%1</b> to your library. %2 - + Can't remove Directory from Library - + An unknown error occurred. - + This directory does not exist or is inaccessible. - + Relink Directory - + Could not relink <b>%1</b> to <b>%2</b>. %3 @@ -9914,12 +10249,12 @@ Opravdu chcete přepsat soubor? Skryté skladby - + Export to Engine DJ - + Tracks Skladby @@ -9927,37 +10262,37 @@ Opravdu chcete přepsat soubor? MixxxMainWindow - + Sound Device Busy Zvukové zařízení je zaneprázdněné - + <b>Retry</b> after closing the other application or reconnecting a sound device <b>Zopakovat</b> pokus o připojení po zavření jiného programu nebo po opětovném připojení zvukového zařízení - - - + + + <b>Reconfigure</b> Mixxx's sound device settings. <b>Nastavit znovu</b> nastavení zvukových zařízení programu Mixxx. - - + + Get <b>Help</b> from the Mixxx Wiki. Získejte <b>nápovědu</b> z Mixxx Wiki. - - - + + + <b>Exit</b> Mixxx. <b>Ukončit</b> Mixxx. - + Retry Opakovat @@ -9967,213 +10302,213 @@ Opravdu chcete přepsat soubor? vzhled - + Allow Mixxx to hide the menu bar? - + Hide Always show the menu bar? - + Always show - + The Mixxx menu bar is hidden and can be toggled with a single press of the <b>Alt</b> key.<br><br>Click <b>%1</b> to agree.<br><br>Click <b>%2</b> to disable that, for example if you don't use Mixxx with a keyboard.<br><br>You can change this setting any time in Preferences -> Interface.<br> Keep formatting tags <b> (bold text) and <br> (linebreak). %1 is the placeholder for the 'Always show' button label - + Ask me again - - + + Reconfigure Nastavit znovu - + Help Nápověda - - + + Exit Ukončit - - + + Mixxx was unable to open all the configured sound devices. Mixxx nebyl schopen otevřít všechna nastavená zvuková zařízení. - + Sound Device Error Chyba zvukového zařízení - + <b>Retry</b> after fixing an issue Po spravení této záležitosti <b>Zkusit znovu</b> - + No Output Devices Žádná výstupní zařízení - + Mixxx was configured without any output sound devices. Audio processing will be disabled without a configured output device. Mixxx byl nastaven bez zařízení pro výstup zvuku. Zpracování zvuku bude bez nastaveného výstupního zařízení vypnuto. - + <b>Continue</b> without any outputs. <b>Pokračovat</b> bez jakéhokoli výstupu. - + Continue Pokračovat - + Load track to Deck %1 Nahrát skladbu do přehrávací mechaniky %1 - + Deck %1 is currently playing a track. Přehrávací mechanika %1 nyní přehrává skladbu. - + Are you sure you want to load a new track? Jste si jistý, že chcete nahrát novou skladbu? - + There is no input device selected for this vinyl control. Please select an input device in the sound hardware preferences first. Není vybráno žádné vstupní zařízení pro toto ovládání vinylovou gramodeskou. Nejprve, prosím, vyberte nějaké vstupní zařízení v nastavení zvukového technického vybavení. - + There is no input device selected for this passthrough control. Please select an input device in the sound hardware preferences first. Není vybráno žádné vstupní zařízení pro toto ovládání předání dál. Nejprve, prosím, vyberte nějaké vstupní zařízení v nastavení zvukového technického vybavení. - + There is no input device selected for this microphone. Do you want to select an input device? Pro tento mikrofon nebylo zjištěno žádné vstupní zařízení. Chcete vybrat vstupní zařízení? - + There is no input device selected for this auxiliary. Do you want to select an input device? Pro tuto pomocnou jednotku nebylo zjištěno žádné vstupní zařízení. Chcete vybrat vstupní zařízení? - + Scan took %1 - + No changes detected. - - + + %1 tracks in total - + %1 new tracks found - + %1 moved tracks detected - + %1 tracks are missing (%2 total) - + %1 tracks have been rediscovered - + Library scan finished - + Error in skin file Chyba v souboru se vzhledem - + The selected skin cannot be loaded. Nelze nahrát vybraný vzhled. - + OpenGL Direct Rendering Přímé vykreslování OpenGL - + Direct rendering is not enabled on your machine.<br><br>This means that the waveform displays will be very<br><b>slow and may tax your CPU heavily</b>. Either update your<br>configuration to enable direct rendering, or disable<br>the waveform displays in the Mixxx preferences by selecting<br>"Empty" as the waveform display in the 'Interface' section. Přímé vykreslování není na vašem stroji povoleno.<br><br>Znamená to, že zobrazování průběhové křivky bude velmi<br><b>pomalé a může hodně zatěžovat procesor</b>. Buď aktualizujte své<br>nastavení a povolte přímé vykreslování, nebo zakažte<br>zobrazování průběhové křivky v nastavení Mixxxu volbou<br>"Prázdný" jako zobrazování průběhové křivky v části 'Rozhraní'. - - - + + + Confirm Exit Potvrdit ukončení - + A deck is currently playing. Exit Mixxx? Některá z přehrávacích mechanik hraje. Ukončit Mixxx? - + A sampler is currently playing. Exit Mixxx? Vzorkovač nyní hraje. Ukončit Mixxx? - + The preferences window is still open. Okno s nastavením je stále otevřené. - + Discard any changes and exit Mixxx? Zahodit všechny změny a ukončit Mixxx? @@ -10189,13 +10524,13 @@ Chcete vybrat vstupní zařízení? PlaylistFeature - + Lock Zamknout - - + + Playlists Seznamy skladeb @@ -10205,58 +10540,63 @@ Chcete vybrat vstupní zařízení? Zamíchat seznam skladeb - + + Adopt current order + + + + Unlock all playlists - + Delete all unlocked playlists - + Unlock Odemknout - - + + Confirm Deletion - + Do you really want to delete all unlocked playlists? - + Deleting %1 unlocked playlists.<br>This operation can not be undone! - + Playlists are ordered lists of tracks that allow you to plan your DJ sets. Seznamy skladeb jsou uspořádané seznamy skladeb, které vám umožňují plánovat vaše seznamy skladeb při míchání. - + It may be necessary to skip some tracks in your prepared playlist or add some different tracks in order to maintain the energy of your audience. Může být nezbytné přeskočit některé skladby v předpřipraveném seznamu skladeb nebo přidat několik nových skladeb pro udržení posluchačů při síle. - + Some DJs construct playlists before they perform live, but others prefer to build them on-the-fly. Někteří diskžokejové sestavují seznamy skladeb, předtím než vystoupí živě, ale jiní upřednostňují jejich tvoření bez rozmýšlení. - + When using a playlist during a live DJ set, remember to always pay close attention to how your audience reacts to the music you've chosen to play. Když používáte seznam skladeb během míchání, dávejte vždy obzvláštní pozor na to, jak hudba, kterou hrajete, účinkuje na posluchačstvo. - + Create New Playlist Vytvořit nový seznam skladeb @@ -10355,59 +10695,59 @@ Chcete vybrat vstupní zařízení? QMessageBox - + Upgrading Mixxx Aktualizuje se Mixxx - + Mixxx now supports displaying cover art. Do you want to scan your library for cover files now? Mixxx nyní podporuje zobrazení obrázků obalů. Chcete nyní kvůli souborům s obaly prohledat knihovnu? - + Scan Prohledat - + Later Později - + Upgrading Mixxx from v1.9.x/1.10.x. Aktualizuje se Mixxx z verze 1.9.x/1.10.x. - + Mixxx has a new and improved beat detector. Mixxx má nové a vylepšené rozpoznávání rytmu. - + When you load tracks, Mixxx can re-analyze them and generate new, more accurate beatgrids. This will make automatic beatsync and looping more reliable. Když nahrajete skladby, Mixxx je může znovu rozebrat a vytvoři novou, přesnější rytmickou mřížku. Tím bude automatické seřízení rytmu a smyčkování pracovat spolehlivěji. - + This does not affect saved cues, hotcues, playlists, or crates. Toto neovlivní značky, rychlé značky, seznamy skladeb nebo přepravky. - + If you do not want Mixxx to re-analyze your tracks, choose "Keep Current Beatgrids". You can change this setting at any time from the "Beat Detection" section of the Preferences. Pokud nechcete, aby Mixxx znovu rozebral vaše skladby, vyberte Zachovat nynější rytmické mřížky. Toto nastavení můžete kdykoliv změnit v nastavení v části Rozpoznávání rytmu. - + Keep Current Beatgrids Zachovat nynější rytmické mřížky - + Generate New Beatgrids Vytvořit nové rytmické mřížky @@ -10521,69 +10861,82 @@ Chcete nyní kvůli souborům s obaly prohledat knihovnu? 14-bit (MSB) - + Main + Audio path indetifier Hlavní - + Booth + Audio path indetifier Kukaň - + Headphones + Audio path indetifier Sluchátka - + Left Bus + Audio path indetifier Levá sběrnice - + Center Bus + Audio path indetifier Střední sběrnice - + Right Bus + Audio path indetifier Pravá sběrnice - + Invalid Bus + Audio path indetifier Neplatná sběrnice - + Deck + Audio path indetifier Přehrávač - + Record/Broadcast + Audio path indetifier Nahrávat/Vysílat - + Vinyl Control + Audio path indetifier Ovládání vinylem - + Microphone + Audio path indetifier Mikrofon - + Auxiliary + Audio path indetifier Pomocný (Aux) - + Unknown path type %1 + Audio path Neznámý typ cesty %1 @@ -10926,47 +11279,49 @@ Se šířkou na nule může být celá oblast zpoždění pokryta ručně.Šířka - + Metronome Metronom - + + The Mixxx Team - + Adds a metronome click sound to the stream Přidá zvuk klepnutí metronomu do proudu - + BPM MM - + Set the beats per minute value of the click sound Nastaví hodnotu pro počet dob za minutu zvuku klepnutí metronomu - + Sync Seřízení - + Synchronizes the BPM with the track if it can be retrieved Seřídí údery za minutu/rázy za minutu (RZM - „M.M.“: Mälzelův metronom) se stopou, pokud lze údaj získat - + + Gain - + Set the gain of metronome click sound @@ -11770,14 +12125,14 @@ Fully right: end of the effect period Nahrávání OGG není podporováno. Knihovnu OGG/Vorbis se nepodařilo inicializovat. - - + + encoder failure selhání kodéru - - + + Failed to apply the selected settings. Nepodařilo se použít vybraná nastavení. @@ -11985,15 +12340,86 @@ and the processed output signal as close as possible in perceived loudness + + Auto Gain Control + + + + + AGC + + + + + Auto Gain Control (AGC) automatically adjusts the gain of an audio signal to maintain a consistent output level. + + + + Threshold (dBFS) + Threshold + + + The Threshold knob adjusts the level above which the effect starts enhancing the input signal + + + + + Target (dBFS) + + + + + Target + + + + + The Target knob adjusts the desired target level of the output signal + + + + + Gain (dB) + + + + + The Gain knob adjusts the maximum amount of gain that the effect will apply + + + + + Knee (dB) + + + + + The Knee knob defines the range around the Threshold where gain changes are applied gradually, +ensuring smooth transitions and avoiding abrupt level shifts. + + + + + The Attack knob sets the time that determines how fast the auto gain +will set in once the signal exceeds the threshold + + + + + The Release knob sets the time that determines how fast the auto gain will recover from the gain +adjustment once the signal falls under the threshold. Depending on the input signal, short release times +may introduce a 'pumping' effect and/or distortion. + + The Threshold knob adjusts the level above which the compressor starts attenuating the input signal @@ -12022,6 +12448,7 @@ At a ratio of 1:1 no compression is happening, as the input is exactly the outpu + Knee @@ -12032,11 +12459,13 @@ At a ratio of 1:1 no compression is happening, as the input is exactly the outpu + Attack (ms) + Attack @@ -12048,11 +12477,13 @@ will set in once the signal exceeds the threshold + Release (ms) + Release @@ -12081,12 +12512,12 @@ may introduce a 'pumping' effect and/or distortion. - + built-in - + missing @@ -12121,42 +12552,42 @@ may introduce a 'pumping' effect and/or distortion. - + Empty - + Simple - + Filtered - + HSV - + VSyncTest - + RGB - + Stacked - + Unknown @@ -12417,194 +12848,194 @@ may introduce a 'pumping' effect and/or distortion. ShoutConnection - - + + Mixxx encountered a problem Mixxx narazil na problém - + Could not allocate shout_t Nepodařilo se přidělit shout_t - + Could not allocate shout_metadata_t Nepodařilo se přidělit shout_metadata_t - + Error setting non-blocking mode: Chyba při nastavování neblokujícího režimu: - + Error setting tls mode: Chyba při nastavování režimu TLS: - + Error setting hostname! Chyba při nastavování jména hostitele! - + Error setting port! Chyba při nastavování přípojky (port)! - + Error setting password! Chyba při nastavování hesla! - + Error setting mount! Chyba při nastavování bodu připojení! - + Error setting username! Chyba při nastavování uživatelského jména! - + Error setting stream name! Chyba při nastavování názvu proudu! - + Error setting stream description! Chyba při nastavování popisu proudu! - + Error setting stream genre! Chyba při nastavování žánru proudu! - + Error setting stream url! Chyba při nastavování adresy (URL) proudu! - + Error setting stream IRC! Chyba při nastavování IRC proudu! - + Error setting stream AIM! Chyba při nastavování AIM proudu! - + Error setting stream ICQ! Chyba při nastavování ICQ proudu! - + Error setting stream public! Chyba při nastavování jako veřejného proudu! - + Unknown stream encoding format! Neznámý formát kódování proudu! - + Use a libshout version with %1 enabled Použít verzi libshout s %1 povoleným - + Error setting stream encoding format! Chyba nastavení formátu kódování proudu! - + Broadcasting at 96 kHz with Ogg Vorbis is not currently supported. Please try a different sample rate or switch to a different encoding. Vysílání na 96 kHz s Ogg Vorbis není nyní podporováno. Zkuste jiný vzorkovací kmitočet, nebo přepněte do jiného kódování. - + See https://github.com/mixxxdj/mixxx/issues/5701 for more information. Podívejte se na https://github.com/mixxxdj/mixxx/issues/5701 pro více informací. - + Unsupported sample rate Nepodporovaný vzorkovací kmitočet - + Error setting bitrate Chyba při nastavování datového toku - + Error: unknown server protocol! Chyba: Neznámý serverový protokol! - + Error: Shoutcast only supports MP3 and AAC encoders Chyba: Shoutcast podporuje pouze kodéry MP3 a AAC - + Error setting protocol! Chyba při nastavování protokolu! - + Network cache overflow Přetečení vyrovnávací paměti sítě - + Connection error Chyba spojení - + One of the Live Broadcasting connections raised this error:<br><b>Error with connection '%1':</b><br> Jedno z připojení živého vysílání vrátilo tuto chybu: <br><b>Chyba s připojením '%1':</b><br> - + Connection message Zpráva o spojení - + <b>Message from Live Broadcasting connection '%1':</b><br> <b>Zpráva připojení živého vysílání'%1':</b><br> - + Lost connection to streaming server and %1 attempts to reconnect have failed. Ztraceno spojení s vysílacím serverem a %1 pokus o opětovné připojení se nezdařil - + Lost connection to streaming server. Ztraceno spojení s vysílacím serverem. - + Please check your connection to the Internet. Zkontrolujte, prosím, vaše připojení k internetu. - + Can't connect to streaming server Nelze vytvořit spojení s vysílacím serverem - + Please check your connection to the Internet and verify that your username and password are correct. Zkontrolujte, prosím, vaše připojení k internetu a ověřte, jestli je správně zadáno uživatelské jméno a heslo. @@ -12612,7 +13043,7 @@ may introduce a 'pumping' effect and/or distortion. SoftwareWaveformWidget - + Filtered Filtrováno @@ -12620,23 +13051,23 @@ may introduce a 'pumping' effect and/or distortion. SoundManager - - + + a device zařízení - + An unknown error occurred Došlo k neznámé chybě - + Two outputs cannot share channels on "%1" Dva výstupy nemohou sdílet kanály na "%1" - + Error opening "%1" Chyba při otevírání "%1" @@ -12821,7 +13252,7 @@ may introduce a 'pumping' effect and/or distortion. - + Spinning Vinyl Otáčející se vinylová gramodeska @@ -13003,7 +13434,7 @@ may introduce a 'pumping' effect and/or distortion. - + Cover Art Obrázek obalu @@ -13193,243 +13624,243 @@ may introduce a 'pumping' effect and/or distortion. Když je zapnuto, drží zesílení ekvalizéru hloubek na nule. - + Displays the tempo of the loaded track in BPM (beats per minute). Ukáže tempo nahrané skladby v počtu úderů za minutu - rázů za minutu (RZM - „M.M.“: Mälzelův metronom). - + Tempo Tempo - + Key The musical key of a track Tónina - + BPM Tap Klepání tempa (MM) - + When tapped repeatedly, adjusts the BPM to match the tapped BPM. Když je poklepáno opakovaně, upraví počet úderů za minutu - rázů za minutu (RZM - „M.M.“: Mälzelův metronom), aby odpovídal vyklepanému (zaťukanému) počtu úderů za minutu. - + Adjust BPM Down Snížit počet MM - + When tapped, adjusts the average BPM down by a small amount. Když je poklepáno, zmenší lehce průměrný počet úderů za minutu - rázů za minutu (RZM - „M.M.“: Mälzelův metronom). - + Adjust BPM Up Zvýšit počet MM - + When tapped, adjusts the average BPM up by a small amount. Když je poklepáno, zvýší lehce průměrný počet úderů za minutu - rázů za minutu (RZM - „M.M.“: Mälzelův metronom). - + Adjust Beats Earlier Upravit údery na dříve - + When tapped, moves the beatgrid left by a small amount. Když je poklepáno, posune rytmickou mřížku lehce doleva. - + Adjust Beats Later Upravit údery na později - + When tapped, moves the beatgrid right by a small amount. Když je poklepáno, posune rytmickou mřížku lehce doprava. - + Tempo and BPM Tap Klepání tempa a MM - + Show/hide the spinning vinyl section. Ukázat/Skrýt oblast s otáčející se vinylovou gramodeskou. - + Keylock Uzamčení tóniny - + Toggling keylock during playback may result in a momentary audio glitch. Zapnutí nebo vypnutí (přepínání) uzamčení tóniny (opravy výšky tónu) během přehrávání může vést ke krátkodobým výpadkům - poruchám hladkého chodu. - + Toggle visibility of Loop Controls Přepnout viditelnost ovládání smyčky - + Toggle visibility of Beatjump Controls Přepnout viditelnost ovládání skoku o daný počet dob - + Toggle visibility of Rate Control Přepnout viditelnost ovládání rychlosti - + Toggle visibility of Key Controls Přepnout viditelnost ovládání smyčky - + (while previewing) (při náhledu) - + Places a cue point at the current position on the waveform. Umístí bod značky do průběhové křivky v nynější poloze. - + Stops track at cue point, OR go to cue point and play after release (CUP mode). Zastaví skladbu na bodu značky, NEBO jít na bod značky a přehrát po uvolnění (režim BZP). - + Set cue point (Pioneer/Mixxx/Numark mode), set cue point and play after release (CUP mode) OR preview from it (Denon mode). Umístí bod značky (režim Pioneer/Mixxx/Numark), umístit a přehrát po uvolnění (režim BZP) NEBO náhled (předposlech) od tohoto bodu (režim Denon). - + Is latching the playing state. Uzavírá stav přehrávání. - + Seeks the track to the cue point and stops. Skočí ve skladbě na bod značky a zastaví. - + Play Přehrát - + Plays track from the cue point. Přehrává skladbu od bodu značky. - + Sends the selected channel's audio to the headphone output, selected in Preferences -> Sound Hardware. Odešle zvuk vybraného kanálu do výstupu sluchátek vybraného v Nastavení → Zvuk. - + (This skin should be updated to use Sync Lock!) (Tento vzhled by se měl aktualizovat, aby se používal zámek seřízení!) - + Enable Sync Lock Povolit zámek seřízení - + Tap to sync the tempo to other playing tracks or the sync leader. Klepněte pro seřízení tempa k jiné hrající skladbě nebo k vedoucímu seřízení. - + Enable Sync Leader Povolit vedoucí seřízení - + When enabled, this device will serve as the sync leader for all other decks. Když je povoleno, toto zařízení bude sloužit jako vedoucí seřízení pro všechny ostatní přehrávače. - + This is relevant when a dynamic tempo track is loaded to a sync leader deck.In that case, other synced devices will adopt the changing tempo. To je důležité, když je dynamické tempo skladby načteno do synchronizačního vedoucího přehrávače. V takovém případě ostatní synchronizovaná zařízení převezmou měnící se tempo. - + Changes the track playback speed (affects both the tempo and the pitch). If keylock is enabled, only the tempo is affected. Změní rychlost přehrávání skladby (ovlivní jak tempo tak také výšku tónu). Pokud je povoleno uzamčení tóniny, je ovlivněno pouze tempo. - + Tempo Range Display Zobrazení rozsahu tempa - + Displays the current range of the tempo slider. Zobrazuje nynější rozsah posuvníku tempa. - + Un-ejects when no track is loaded, i.e. reloads the track that was ejected last (of any deck). Zruší vysunutí, když není načtena žádná skladba, tj. znovu nahraje skladbu, která byla vysunuta jako poslední (z libovolného přehrávače). - + Delete selected hotcue. Vybráno smazání rychlého klíče. - + Track Comment Poznámka ke skladbě - + Displays the comment tag of the loaded track. Ukáže značku poznámky nahrané skladby. - + Opens separate artwork viewer. Otevře samostatný prohlížeč obalů. - + Effect Chain Preset Settings Nastavení přednastavení řetězce efektu - + Show the effect chain settings menu for this unit. Zobrazit nabídku nastavení řetězce efektu pro tuto jednotku. - + Select and configure a hardware device for this input Vybrat a nakonfigurovat hardware zařízení pro tento vstup - + Recording Duration Doba trvání nahrávání @@ -13652,949 +14083,984 @@ may introduce a 'pumping' effect and/or distortion. - + When tapped repeatedly, adjusts the tempo to match the tapped BPM. + + + Click to open the tempo/BPM editor + + + + + It also shows a colored bar if Key colors are enabled in the Preferences. + + + The bar will be split vertically if the track's key is in between full keys. + + + + Tempo Tap - + Rate Tap and BPM Tap - + + Set Tempo + + + + + Set the desired tempo in BPM. If the track currently has no BPM detected, set the desired tempo in percent. + + + + Adjust beatgrid by exactly one half beat. Usable only on tracks with constant tempo. - + Revert last BPM/Beatgrid Change - + Revert last BPM/Beatgrid Change of the loaded track. - - + + Toggle the BPM/beatgrid lock - + Tempo and Rate Tap - + Tempo, Rate Tap and BPM Tap - + Shift cues earlier Posunout značky dříve - - + + Shift cues imported from Serato or Rekordbox if they are slightly off time. Posunout značky zavedené ze Serato nebo Rekordboxu, pokud jsou trochu mimo čas. - + Left click: shift 10 milliseconds earlier Levé tlačítko myši: posunout o 10 milisekund dříve - + Right click: shift 1 millisecond earlier Pravé tlačítko myši: posunout o 1 milisekundu dříve - + Shift cues later Posunout značky později - + Left click: shift 10 milliseconds later Levé tlačítko myši: posunout o 10 milisekund pozdějí - + Right click: shift 1 millisecond later Pravé tlačítko myši: posunout o 1 milisekundu pozdějí - - - + + + Drag a Hotcue button here to continue playing after releasing the Hotcue. - + Hint: Change the default cue mode in Preferences -> Decks. - + Mutes the selected channel's audio in the main output. Ztlumí zvukový signál vybraného kanálu v hlavním výstupu. - + Main mix enable Povolit hlavní míchání - + Hold or short click for latching to mix this input into the main output. Podržením nebo krátkým klepnutím zablokujete tento vstup smícháním s hlavním výstupem. - + + Reloads the last replaced track. If no track is loaded reloads the second-last ejected track. + + + + If hotcue is a loop cue, toggles the loop and jumps to if the loop is behind the play position. - + If the play position is inside an active loop, stores the loop as loop cue. - + Drag this button onto another Hotcue button to move it there (change its index). If the other hotcue is set, the two are swapped. - + Expand/Collapse Samplers - + Toggle expanded samplers view. - + Displays the duration of the running recording. Ukáže dobu trvání běžícího nahrávání. - + Auto DJ is active Auto DJ je zapnutý - + Red for when needle skip has been detected. - + Hot Cue - Track will seek to nearest previous hotcue point. Rychlá značka - Skladba bude hledat k nejbližšímu bodu předchozí rychlé značky - + Sets the track Loop-In Marker to the current play position. Nastaví značku začátku smyčky skladby na nynější polohu přehrávání. - + Press and hold to move Loop-In Marker. Stisknout a podržet pro přesunutí značky začátku smyčky. - + Jump to Loop-In Marker. Skočit na značku začátku smyčky. - + Sets the track Loop-Out Marker to the current play position. Nastaví značku konce smyčky skladby na nynější polohu přehrávání. - + Press and hold to move Loop-Out Marker. Stisknout a podržet pro přesunutí značky konce smyčky. - + Jump to Loop-Out Marker. Skočit na značku konce smyčky. - + If the track has no beats the unit is seconds. - + Beatloop Size Velikost smyčkování dob - + Select the size of the loop in beats to set with the Beatloop button. Vybrat velikost smyčky v dobách pro nastavení pomocí tlačítka pro smyčkování dob. - + Changing this resizes the loop if the loop already matches this size. Pokud změníte, změní se velikost smyčky, pokud smyčka již odpovídá této velikosti. - + Halve the size of an existing beatloop, or halve the size of the next beatloop set with the Beatloop button. Zmenšete velikost stávajícího smyčkování dob na polovinu nebo zmenšete velikost další sady smyčkování dob na polovinu pomocí tlačítka pro smyčkování dob. - + Double the size of an existing beatloop, or double the size of the next beatloop set with the Beatloop button. Zdvojnásobte velikost stávajícího smyčkování dob nebo zdvojnásobte velikost další sady smyčkování dob pomocí tlačítka pro smyčkování dob. - + Start a loop over the set number of beats. Začít smyčku nad stanoveným počtem dob. - + Temporarily enable a rolling loop over the set number of beats. Povolit přechodně běžící smyčku nad stanoveným počtem dob. - + Beatloop Anchor - + Define whether the loop is created and adjusted from its staring point or ending point. - + Beatjump/Loop Move Size Velikost skoku o daný počet dob/posunu smyčky - + Select the number of beats to jump or move the loop with the Beatjump Forward/Backward buttons. Zvolit počet dob, o které se má skočit, nebo posunout smyčku pomocí tlačítek pro skoku o daný počet dob vpřed/skok na dobu vzad. - + Beatjump Forward Skok o daný počet dob vpřed - + Jump forward by the set number of beats. Skočit dopředu o stanovený počet dob. - + Move the loop forward by the set number of beats. Posunout smyčku dopředu o stanovený počet dob. - + Jump forward by 1 beat. Skočit o 1 dobu dopředu. - + Move the loop forward by 1 beat. Posunout smyčku o 1 dobu dopředu. - + Beatjump Backward Skok o daný počet dob vzad - + Jump backward by the set number of beats. Skočit dozadu o stanovený počet dob. - + Move the loop backward by the set number of beats. Posunout smyčku dozadu o stanovený počet dob. - + Jump backward by 1 beat. Skočit o 1 dobu dozadu. - + Move the loop backward by 1 beat. Posunout smyčku o 1 dobu dozadu. - + Reloop Smyčkovat znovu - + If the loop is ahead of the current position, looping will start when the loop is reached. Pokud je smyčka před nynější polohou, smyčkování začne při dosažení smyčky. - + Works only if Loop-In and Loop-Out Marker are set. Pracuje, jen když jsou nastaveny značky začátku a konce smyčky. - + Enable loop, jump to Loop-In Marker, and stop playback. Povolit smyčku, skok na značku začátku smyčky a zastavení přehrávání. - + Displays the elapsed and/or remaining time of the track loaded. Ukáže uplynulý a/nebo zbývající čas nahrané skladby. - + Click to toggle between time elapsed/remaining time/both. Klepněte pro přepnutí mezi uplynulým/zbývajícím časem/oběma. - + Hint: Change the time format in Preferences -> Decks. Rada: Změňte časový formát v Nastavení → Přehrávače. - + Show/hide intro & outro markers and associated buttons. Ukázat/Skrýt značky úvodu a závěru a přidružená tlačítka. - + + Ensure all waveforms to have the same height across all channels. By default, when displaying the stem controls, waveform for channel that have no stem may render with a shorter height in order to honor the waveform container size you have requested.. + + + + Intro Start Marker Značka začátku úvofu - - - - + + + + If marker is set, jumps to the marker. Pokud je bod značky nastaven, skočí na značku. - - - - + + + + If marker is not set, sets the marker to the current play position. Pokud bod značky stanoven není, nastaví bod značky v nynější poloze přehrávání. - - - - + + + + If marker is set, clears the marker. Pokud je bod značky nastaven, vymaže značku. - + Intro End Marker Značka konce úvodu - + Outro Start Marker Značka začátku závěru - + Outro End Marker Značka konce závěru - + Mix Míchat - + Adjust the mixing of the dry (input) signal with the wet (output) signal of the effect unit Upravit smíchání nezpracovaného (vstupního) signálu se zpracovaným (výstupním) signálem efektové jednotky - + D/W mode: Crossfade between dry and wet Režim D/W: Prolínání mezi nezpracovaným a zpracovaným - + D+W mode: Add wet to dry Režim D+W: Přidat nezpracovaný a zpracovaný - + Mix Mode Režim míchání - + Adjust how the dry (input) signal is mixed with the wet (output) signal of the effect unit Upravit, jak je nezpracovaný (vstupní) signál smíchán se zpracovaným (výstupním) signálem efektové jednotky - + Dry/Wet mode (crossed lines): Mix knob crossfades between dry and wet Use this to change the sound of the track with EQ and filter effects. Režim Na zkoušku/naostro (křížené čáry): Knoflík Mix mezi nezpracovaným a zpracovaným Použijte toto ke změně zvuku stopy pomocí EQ a filtrových efektů. - + Dry+Wet mode (flat dry line): Mix knob adds wet to dry Use this to change only the effected (wet) signal with EQ and filter effects. Režim Na zkoušku/naostro (ploché nezpracované čáry): Knoflík Mix přidá zpracovaný do nezpracovaného Použijte toto ke změně efektového (zpracovaného) signálu pomocí EQ a filtrových efektů. - + Route the main mix through this effect unit. Vést hlavní míchání skrze tuto efektovou jednotku. - + Route the left crossfader bus through this effect unit. Vést sběrnici levého prolínače skrze tuto efektovou jednotku. - + Route the right crossfader bus through this effect unit. Vést sběrnici pravého prolínače skrze tuto efektovou jednotku. - + Right side active: parameter moves with right half of Meta Knob turn Pravá strana činná: parametr se pohybuje pomocí pravé poloviny otočení otočného řízení. - + Stem Label - + Name of the stem stored in the stem file - + Text is displayed in the stem color stored in the stem file - + this stem color is also used for the waveform of this stem - + Stem Mute - + Toggle the stem mute/unmuted - + Stem Volume Knob - + Adjusts the volume of the stem - + Skin Settings Menu Nabídka nastavení vzhledu - + Show/hide skin settings menu Ukázat/Skrýt nabídku pro nastavení vzhledu - + Save Sampler Bank Uložit banku vzorkovače - + Save the collection of samples loaded in the samplers. Uložit sbírku vzorků nahranou do vzorkovačů. - + Load Sampler Bank Nahrát banku vzorkovače - + Load a previously saved collection of samples into the samplers. Nahrát předtím uloženou sbírku vzorků do vzorkovačů. - + Show Effect Parameters Ukázat parametry efektů - + Enable Effect Povolit efekt - + Meta Knob Link Spojení metaknoflíku - + Set how this parameter is linked to the effect's Meta Knob. Nastavit, jak je tento parametr spojen s metaknoflíkem efektu. - + Meta Knob Link Inversion Obrácení spojení metaknoflíku - + Inverts the direction this parameter moves when turning the effect's Meta Knob. Obrátí směr, kterým se tento parametr pohybuje, když se točí metaknoflíkem efektu. - + Super Knob Superknoflík - + Next Chain Další řetězec - + Previous Chain Předchozí řetězec - + Next/Previous Chain Další/Předchozí řetězec - + Clear Smazat - + Clear the current effect. Vyprázdnit nynější efekt. - + Toggle Přepnout - + Toggle the current effect. Přepnout nynější efekt. - + Next Další - + Clear Unit Vyprázdnit jednotku - + Clear effect unit. Vyprázdnit efektovou jednotku. - + Show/hide parameters for effects in this unit. Ukázat/Skrýt parametry pro efekty v této jednotce. - + Toggle Unit Přepnout jednotku - + Enable or disable this whole effect unit. Zapnout nebo vypnout celou tuto efektovou jednotku. - + Controls the Meta Knob of all effects in this unit together. Ovládá otočné řízení všech efektů v této jednotce společně. - + Load next effect chain preset into this effect unit. Nahrát další přednastavení efektového řetězce do této efektové jednotky. - + Load previous effect chain preset into this effect unit. Nahrát předchozí přednastavení efektového řetězce do této efektové jednotky. - + Load next or previous effect chain preset into this effect unit. Nahrát další nebo předchozí přednastavení efektového řetězce do této efektové jednotky. - - - - - - - - - + + + + + + + + + Assign Effect Unit Přiřadit efektovou jednotku - + Assign this effect unit to the channel output. Přiřadit tuto efektovou jednotku výstupu kanálu. - + Route the headphone channel through this effect unit. Vést kanál sluchátek skrze tuto efektovou jednotku. - + Route this deck through the indicated effect unit. Vést tento přehrávač skrze označenou efektovou jednotku. - + Route this sampler through the indicated effect unit. Vést tento vzorkovač skrze označenou efektovou jednotku. - + Route this microphone through the indicated effect unit. Vést tento mikrofon skrze označenou efektovou jednotku. - + Route this auxiliary input through the indicated effect unit. Vést tento pomocný vstup skrze označenou efektovou jednotku. - + The effect unit must also be assigned to a deck or other sound source to hear the effect. Efektová jednotka také musí být přiřazena přehrávači nebo jinému zdroji zvuku, aby byl efekt slyšitelný. - + Switch to the next effect. Přepnout na další efekt. - + Previous Předchozí - + Switch to the previous effect. Přepnout na předchozí efekt. - + Next or Previous Další nebo předchozí - + Switch to either the next or previous effect. Přepnout na další nebo předchozí efekt. - + Meta Knob Metaknoflík - + Controls linked parameters of this effect Řídí spojené parametry tohoto efektu. - + Effect Focus Button Tlačítko pro zaměření efektu - + Focuses this effect. Zaměří tento efekt. - + Unfocuses this effect. Zruší zaměření efektu. - + Refer to the web page on the Mixxx wiki for your controller for more information. Podrobnější informace k ovladači najdete na internetové stránce Mixxxu (wikipedie). - + Effect Parameter Parametr efektu - + Adjusts a parameter of the effect. Upraví parametr efektu. - + Inactive: parameter not linked Nečinné: parametr není spojen - + Active: parameter moves with Meta Knob Činné: parametr se pohybuje pomocí otočného řízení - + Left side active: parameter moves with left half of Meta Knob turn Levá strana činná: parametr se pohybuje po polovině otočení otočného řízení vlevo - + Left and right side active: parameter moves across range with half of Meta Knob turn and back with the other half Levá a pravá strana činná: parametr se pohybuje v celé šířce pásma pomocí jedné poloviny otočení otočného řízení a zpět pomocí druhé - - + + Equalizer Parameter Kill Potlačení parametru ekvalizéru - - + + Holds the gain of the EQ to zero while active. Když je zapnuto, drží zesílení ekvalizéru na nule. - + Quick Effect Super Knob Superknoflík pro rychlý efekt - + Quick Effect Super Knob (control linked effect parameters). Superknoflík (řízení propojených parametrů efektů). - + Hint: Change the default Quick Effect mode in Preferences -> Equalizers. Rada: Změňte výchozí režim rychlého efektu v Nastavení → Ekvalizéry. - + Equalizer Parameter Parametr ekvalizéru - + Adjusts the gain of the EQ filter. Upraví zesílení filtru ekvalizéru. - + Hint: Change the default EQ mode in Preferences -> Equalizers. Rada: Změňte výchozí režim ekvalizéru v Nastavení → Ekvalizéry. - - + + Adjust Beatgrid Upravit rytmickou mřížku - + Adjust beatgrid so the closest beat is aligned with the current play position. Upravit rytmickou mřížku tak, aby byla nejbližší doba zarovnána s nynější polohou ukazatele přehrávání. - - + + Adjust beatgrid to match another playing deck. Upravit rytmickou mřížku tak, aby byla zarovnána s jiným hrajícím přehrávačem. - + If quantize is enabled, snaps to the nearest beat. Pokud je povolena kvantizace, umístí se na nejbližší dobu. - + Quantize Kvantizovat - + Toggles quantization. Přepnout kvantizaci. - + Loops and cues snap to the nearest beat when quantization is enabled. Smyčky a značky jsou postaveny na nejbližší dobu, když je povolena kvantizace. - + Reverse Obrátit - + Reverses track playback during regular playback. Obrátí přehrávání skladby během běžného přehrávání. - + Puts a track into reverse while being held (Censor). Obrátí přehrávání. Přehrává skladbu během držení pozpátku (cenzor). - + Playback continues where the track would have been if it had not been temporarily reversed. Přehrávání pokračuje tam, kde by skladba byla, pokud by nebyla přechodně přehrávána pozpátku. - - - + + + Play/Pause Přehrát/Pozastavit - + Jumps to the beginning of the track. Skočí na začátek skladby. - + Syncs the tempo (BPM) and phase to that of the other track, if BPM is detected on both. Seřídí tempo (RZM - údery/rázy za minutu - „M.M.“: Mälzelův metronom) a fázi s jiným přehrávačem, pokud je hodnota RZM rozpoznána u obou. - + Syncs the tempo (BPM) to that of the other track, if BPM is detected on both. Seřídí tempo (RZM - údery/rázy za minutu - „M.M.“: Mälzelův metronom) s tempem skladby jiného přehrávače, pokud je hodnota RZM rozpoznána u obou. - + Sync and Reset Key Seřídit a nastavit znovu tóninu - + Increases the pitch by one semitone. Zvýší výšku tónu o jeden půltón. - + Decreases the pitch by one semitone. Sníží výšku tónu o jeden půltón. - + Enable Vinyl Control Povolit ovládání vinylem - + When disabled, the track is controlled by Mixxx playback controls. Když je zakázáno, skladba je ovládána přehrávacími ovládacími prvky Mixxxu. - + When enabled, the track responds to external vinyl control. Když je povoleno, skladba odpovídá na vnější ovládání vinylovou gramodeskou. - + Enable Passthrough Povolit předání dál - + Indicates that the audio buffer is too small to do all audio processing. Ukazuje, že vyrovnávací paměť je na zpracování všeho zvukového signálu příliš malá. - + Displays cover artwork of the loaded track. Ukáže obrázek obalu nahrané skladby. - + Displays options for editing cover artwork. Ukáže volby pro upravování obrázků obalů. - + Star Rating Hodnocení hvězdičkami - + Assign ratings to individual tracks by clicking the stars. Přiřaďte hodnocení jednotlivým skladbám klepnutím na hvězdičky. @@ -14729,33 +15195,33 @@ Použijte toto ke změně efektového (zpracovaného) signálu pomocí EQ a filt Síla tlumení mikrofonu/hlasu - + Prevents the pitch from changing when the rate changes. Zabrání tomu, aby se změnila výška tónu, když se změní rychlost přehrávání. - + Changes the number of hotcue buttons displayed in the deck Změní počet tlačítek rychlých značek v přehrávači - + Starts playing from the beginning of the track. Začne přehrávání od začátku skladby. - + Jumps to the beginning of the track and stops. Skočí na začátek skladby a zastaví. - - + + Plays or pauses the track. Přehraje, nebo pozastaví skladbu. - + (while playing) (při přehrávání) @@ -14775,215 +15241,215 @@ Použijte toto ke změně efektového (zpracovaného) signálu pomocí EQ a filt Měřič hlasitosti pravého kanálu hlavního výstupu - + (while stopped) (při zastavení) - + Cue Značka - + Headphone Sluchátka - + Mute Ztlumit - + Old Synchronize Staré seřizování - + Syncs to the first deck (in numerical order) that is playing a track and has a BPM. Seřídí s prvním přehrávačem (v číselném pořadí), který přehrává nějakou skladbu a má MM. - + If no deck is playing, syncs to the first deck that has a BPM. Pokud nepřehrává žádný přehrávač, seřídí s prvním přehrávačem, který má MM. - + Decks can't sync to samplers and samplers can only sync to decks. Přehrávače se nemohou seřizovat se vzorkovači a vzorkovače se mohou seřizovat jen s přehrávači. - + Hold for at least a second to enable sync lock for this deck. Podržte nejméně na sekundu pro zapnutí zámku seřizování pro tento přehrávač. - + Decks with sync locked will all play at the same tempo, and decks that also have quantize enabled will always have their beats lined up. Přehrávače s uzamknutým seřizováním budou všechny přehrávat se stejným tempem, a přehrávače, které mají zapnutu i kvantizaci, mají vždy své doby srovnány. - + Resets the key to the original track key. Nastaví tóninu znovu na původní tóninu skladby. - + Speed Control Řízení rychlosti - - - + + + Changes the track pitch independent of the tempo. Změní výšku tónu skladby nezávisle na tempu. - + Increases the pitch by 10 cents. Zvýší výšku tónu o 10 centů. - + Decreases the pitch by 10 cents. Sníží výšku tónu o 10 centů. - + Pitch Adjust Upravení výšky tónu - + Adjust the pitch in addition to the speed slider pitch. Změní výšku tónu dodatečně ke změně výšky tónu regulátoru rychlosti. - + Opens a menu to clear hotcues or edit their labels and colors. Otevře nabídku pro vyprázdnění rychlých značek nebo upravení jejich štítků a barev. - + Drag this button onto a Play button while previewing to continue playback after release. - + Dragging with Shift key pressed will not start previewing the hotcue. - + Record Mix Nahrát míchání - + Toggle mix recording. Přepnout nahrávání míchání. - + Enable Live Broadcasting Povolit živé vysílání - + Stream your mix over the Internet. Vysílejte svoje míchání přes internet. - + Provides visual feedback for Live Broadcasting status: Poskytuje viditelou zpětnou vazbu pro stav živého přenosu: - + disabled, connecting, connected, failure. vypnuto, spojuje se, spojeno, selhalo. - + When enabled, the deck directly plays the audio arriving on the vinyl input. Když je zapnuto, mechanika přímo přehrává přícházející zvukový signál na vstupu vinylové gramodesky. - + Playback will resume where the track would have been if it had not entered the loop. Přehrávání bude pokračovat tam, kde by skladba byla, pokud by nebyla přehrávána ve smyčce. - + Loop Exit Ukončit smyčku - + Turns the current loop off. Vypne nynější smyčku. - + Slip Mode Režim klouzání - + When active, the playback continues muted in the background during a loop, reverse, scratch etc. Když je zapnuto, přehrávání pokračuje během smyčky, obráceného přehrávání (zpětného chodu), vytváření zvuků ručním otáčením gramofonové desky atd. ztlumeno na pozadí. - + Once disabled, the audible playback will resume where the track would have been. Jakmile je zakázáno, slyšitelné přehrávání pokračuje tam, kde by skladba byla. - + Track Key The musical key of a track Tónina skladby - + Displays the musical key of the loaded track. Ukáže tóninu nahrané skladby. - + Clock Hodiny - + Displays the current time. Zobrazí aktuální čas. - + Audio Latency Usage Meter Měřič užití prodlevy zvuku - + Displays the fraction of latency used for audio processing. Ukáže kousek prodlevy používaný pro zpracování zvuku. - + A high value indicates that audible glitches are likely. Vysoká hodnota znamená, že jsou pravděpodobné slyšitelné poruchy. - + Do not enable keylock, effects or additional decks in this situation. Za této situace nepovolujte uzamčení tóniny, efekty nebo dodatečné přehrávače. - + Audio Latency Overload Indicator Ukazatel přetížení prodlevy zvuku @@ -15023,259 +15489,259 @@ Použijte toto ke změně efektového (zpracovaného) signálu pomocí EQ a filt Zapněte ovládání vinylovou gramodeskou v hlavní nabídce → Volby. - + Displays the current musical key of the loaded track after pitch shifting. Ukáže nynější tóninu nahrané skladby po změně (posunutí) výšky tónu. - + Fast Rewind Rychlé přetáčení zpět - + Fast rewind through the track. Rychlé přetáčení zpět skrze skladbu. - + Fast Forward Rychlé přetáčení vpřed - + Fast forward through the track. Rychlé přetáčení vpřed skrze skladbu. - + Jumps to the end of the track. Skočí na konec skladby. - + Sets the pitch to a key that allows a harmonic transition from the other track. Requires a detected key on both involved decks. Nastaví výšku tónu na tóninu, která umožní souzvučně znějící přechod z jiné skladby. Vyžaduje, aby byla tónina rozpoznána v obou zúčastněných přehrávacích mechanikách. - - - + + + Pitch Control Ovládání výšky tónu - + Pitch Rate Rychlost přehrávání - + Displays the current playback rate of the track. Ukáže nynější rychlost přehrávání skladby. - + Repeat Opakovat - + When active the track will repeat if you go past the end or reverse before the start. Když je zapnuto, skladba bude opakována, když půjdete za konec nebo budete přehrávat zpět až před začátek. - + Eject Vysunout - + Ejects track from the player. Vysune skladbu z přehrávače. - + Hotcue Rychlá značka - + If hotcue is set, jumps to the hotcue. Pokud je stanoven bod rychlé značky, skočí na rychlou značku. - + If hotcue is not set, sets the hotcue to the current play position. Pokud bod rychlé značky stanoven není, nastaví bod rychlé značky v nynější poloze přehrávání. - + Vinyl Control Mode Režim ovládání vinylovou gramodeskou - + Absolute mode - track position equals needle position and speed. Absolutní režim - poloha ve skladbě odpovídá poloze a rychlosti snímací jehly. - + Relative mode - track speed equals needle speed regardless of needle position. Relativní režim – rychlost skladby odpovídá rychlosti jehly bez ohledu na polohu snímací jehly. - + Constant mode - track speed equals last known-steady speed regardless of needle input. Stálý režim - rychlost skladby odpovídá poslední známé stálé rychlosti jehly bez ohledu na vstup snímací jehly. - + Vinyl Status Stav vinylové gramodesky - + Provides visual feedback for vinyl control status: Poskytuje viditelou zpětnou vazbu pro stav ovládání vinylovou gramodeskou: - + Green for control enabled. Zelená, když je zapnuto ovládání. - + Blinking yellow for when the needle reaches the end of the record. Blikající žlutá, když snímací jehla dosáhne konce (gramofonové) desky. - + Loop-In Marker Značka začátku smyčky - + Loop-Out Marker Značka konce smyčky - + Loop Halve Zkrácení smyčky na polovinu - + Halves the current loop's length by moving the end marker. Zkrátí délku nynější smyčky na polovinu posunutím značky konce. - + Deck immediately loops if past the new endpoint. Přehrávač začne okamžitě smyčkovat, jestliže je za novým bodem konce. - + Loop Double Zdvojení smyčky - + Doubles the current loop's length by moving the end marker. Zdvojí délku nynější smyčky na polovinu posunutím značky konce. - + Beatloop Smyčkování dob - + Toggles the current loop on or off. Zapne/Vypne nynější smyčku. - + Works only if Loop-In and Loop-Out marker are set. Pracuje, jen když jsou nastaveny značky začátku a konce smyčky. - + Vinyl Cueing Mode Režim značení vinylem - + Determines how cue points are treated in vinyl control Relative mode: Určuje, jak se zachází s body značek v relativním režimu ovládání vinylovou gramodeskou: - + Off - Cue points ignored. Vypnuto - Body značek se přehlíží. - + One Cue - If needle is dropped after the cue point, track will seek to that cue point. Jedna značka - Skladba skočí na tento bod značky, když je snímací jehla položena za bod značky. - + Track Time Čas skladby - + Track Duration Doba trvání skladby - + Displays the duration of the loaded track. Ukáže délku nahrané skladby. - + Information is loaded from the track's metadata tags. Údaje jsou nahrány z popisných dat skladby. - + Track Artist Umělec skladby - + Displays the artist of the loaded track. Ukáže umělce nahrané skladby. - + Track Title Název skladby - + Displays the title of the loaded track. Ukáže název nahrané skladby. - + Track Album Album - + Displays the album name of the loaded track. Ukáže název alba nahrané skladby. - + Track Artist/Title Umělec/Skladba - + Displays the artist and title of the loaded track. Ukáže umělce a název nahrané skladby. @@ -15506,47 +15972,75 @@ Tento krok nelze vrátit zpět! WCueMenuPopup - + Cue number Číslo značky - + Cue position Poloha značky - + Edit cue label Upravit popisek značky - + Label... Popisek... - + Delete this cue Smazat tuto značku - - Toggle this cue type between normal cue and saved loop + + Turn this cue into a regular hotcue + + + + + Turn this cue into a saved loop + + + + + Left-click: Use the old size if known or the current beatloop size as the loop size + + + + + Right-click: Use the current play position as new loop end if it is after the cue + + + + + Turn this cue into a saved forward jump. + + is a linebreak. Try to not to extend the translation beyond the length of the longest source line so the tooltip remains compact. + + + + + Turn this cue into a saved backward jump (one shot loop). - - Left-click: Use the old size or the current beatloop size as the loop size + + Left-click: Use the old size if known or the current play position as jump start position +If this is already a jump cue, swap the jump position and the cue/target position. - - Right-click: Use the current play position as loop end if it is after the cue + + Right-click: use current play position as new jump start position - + Hotcue #%1 Rychlá značka #%1 @@ -15848,171 +16342,181 @@ Tento krok nelze vrátit zpět! + Show Auto DJ + + + + + Switch to the Auto DJ view. + + + + &Full Screen Na &celou obrazovku - + Display Mixxx using the full screen Zobrazit Mixxx v režimu celé obrazovky - + &Options &Volby - + &Vinyl Control Ovládání &vinylem - + Use timecoded vinyls on external turntables to control Mixxx Použít vinylové gramodesky s časovým kódem k ovládání programu Mixxx vnějšími přehrávači (gramofony) - + Enable Vinyl Control &%1 Povolit ovládání vinylem &%1 - + &Record Mix Nah&rát míchání - + Record your mix to a file Nahrát míchání do souboru - + Ctrl+R Ctrl+R - + Enable Live &Broadcasting &Povolit živé vysílání - + Stream your mixes to a shoutcast or icecast server Vysílat vaše míchání na server shoutcast nebo icecast - + Ctrl+L Ctrl+L - + Enable &Keyboard Shortcuts Povolit &klávesové zkratky - + Toggles keyboard shortcuts on or off Zapnout/Vypnout klávesové zkratky - + Ctrl+` Ctrl+` - + &Preferences &Nastavení - + Change Mixxx settings (e.g. playback, MIDI, controls) Změnit nastavení Mixxxu (např. přehrávání, MIDI, ovládací prvky) - + &Developer &Vývojář - + &Reload Skin Nahrát vzhled &znovu - + Reload the skin Nahrát vzhled znovu - + Ctrl+Shift+R Ctrl+Shift+R - + Developer &Tools Vývojářské &nástroje - + Opens the developer tools dialog Otevře dialog vývojářských nástrojů - + Ctrl+Shift+T Ctrl+Shift+T - + Stats: &Experiment Bucket Statistiky: &Pokusný kýbl - + Enables experiment mode. Collects stats in the EXPERIMENT tracking bucket. Zapne pokusný režim. Sbírá statistiky do POKUSNÉHO sledovacího kýblu. - + Ctrl+Shift+E Ctrl+Shift+E - + Stats: &Base Bucket Statistiky: &Základní kýbl - + Enables base mode. Collects stats in the BASE tracking bucket. Zapne základní režim. Sbírá statistiky do ZÁKLADNÍHO sledovacího kýblu. - + Ctrl+Shift+B Ctrl+Shift+B - + Deb&ugger Enabled &Ladění povoleno - + Enables the debugger during skin parsing Zapne ladiče během zpracování vzhledu - + Ctrl+Shift+D Ctrl+Shift+D - + &Help &Nápověda @@ -16046,62 +16550,62 @@ Tento krok nelze vrátit zpět! F12 - + &Community Support Podpora &společenství - + Get help with Mixxx Dostat nápovědu k Mixxxu - + &User Manual &Uživatelská příručka - + Read the Mixxx user manual. Číst uživatelskou příručku k Mixxxu. - + &Keyboard Shortcuts &Klávesové zkratky - + Speed up your workflow with keyboard shortcuts. Zrychlit pracovní postup s klávesovými zkratkami - + &Settings directory Adresář &nastavení - + Open the Mixxx user settings directory. Otevřít adresář uživatelských nastavení Mixxx. - + &Translate This Application &Překlad - + Help translate this application into your language. Pomozte přeložit tento program do svého jazyka. - + &About &O programu - + About the application O tomto programu @@ -16109,25 +16613,25 @@ Tento krok nelze vrátit zpět! WOverview - + Passthrough Propustit skrz - + Ready to play, analyzing... Text on waveform overview when file is playable but no waveform is visible Připraven k přehrávání, provádí se rozbor... - - + + Loading track... Text on waveform overview when file is cached from source Nahrává se skladba... - + Finalizing... Text on waveform overview during finalizing of waveform analysis Dokončuje se... @@ -16317,625 +16821,640 @@ Tento krok nelze vrátit zpět! WTrackMenu - + Load to Nahrát do - + Deck Přehrávač - + Sampler Vzorkovač - + Add to Playlist Přidat do seznamu skladeb - + Crates Přepravky - + Metadata Popisná data - + Update external collections Aktualizovat vnější sbírky - + Cover Art Obrázek obalu - + Adjust BPM Upravit MM - + Select Color Vybrat barvu - - + + Analyze Analýza - - + + Delete Track Files Smazat soubory skladeb - + Add to Auto DJ Queue (bottom) Přidat do řady automatického diskžokeje (dolů) - + Add to Auto DJ Queue (top) Přidat do řady automatického diskžokeje (nahoru) - + Add to Auto DJ Queue (replace) Přidat do řady skladeb automatického diskžokeje (nahradit) - + Preview Deck Náhled přehrávače - + Remove Odstranit - + Remove from Playlist Odstranit ze seznamu skladeb - + Remove from Crate Odstranit z přepravky - + Hide from Library Skrýt z knihovny - + Unhide from Library Ukázat v knihovně - + Purge from Library Odstranit z knihovny - + Move Track File(s) to Trash Přesunout soubory skladeb do koše - + Delete Files from Disk Smazat soubory z disku - + Properties Vlastnosti - + Open in File Browser Otevřít v prohlížeči souborů - + Select in Library Vybrat v knihovně - + Import From File Tags Nahrát ze značek souboru - + Import From MusicBrainz Nahrát z MusicBrainz - + Export To File Tags Uložit do značek souboru - + BPM and Beatgrid MM a rytmická mřížka - + Play Count Počet přehrání - + Rating Hodnocení - + Cue Point Nastavit bod označení - - + + Hotcues Rychlé značky - + Intro Otevírající skladba - + Outro Uzavírající skladba - + Key Tónina - + ReplayGain Vyrovnání hlasitosti - + Waveform Průběhová křivka - + Comment Poznámka - + All Vše - + Sort hotcues by position (remove offsets) - + Sort hotcues by position - + Lock BPM Zamknout MM - + Unlock BPM Odemknout MM - + Double BPM Zdvojit MM - + Halve BPM Snížit MM na polovinu - + 2/3 BPM 2/3 MM - + 3/4 BPM 3/4 MM - + 4/3 BPM 4/3 MM - + 3/2 BPM 3/2 MM - + Shift Beatgrid Half Beat - + Reanalyze Znovu analyzovat - + Reanalyze (constant BPM) Znovu analyzovat (konstantu BPM) - + Reanalyze (variable BPM) Znovu analyzovat (proměnnou BPM) - + Update ReplayGain from Deck Gain Aktualizovat vyrovnávání hlasitosti ze zesílení přehrávače - + Deck %1 Přehrávač %1 - + Importing metadata of %n track(s) from file tags Zavádí se popisná data %n skladby ze značek souborůZavádí se popisná data %n skladeb ze značek souborůZavádí se popisná data %n skladeb ze značek souborůZavádí se popisná data %n skladeb ze značek souborů - + Marking metadata of %n track(s) to be exported into file tags Označují se popisná data %n skladby k uložení k exportu do značek souborůOznačují se popisná data %n skladeb k uložení do značek souborůOznačují se popisná data %n skladeb k uložení do značek souborůOznačují se popisná data %n skladeb k uložení do značek souborů - - + + Create New Playlist Vytvořit nový seznam skladeb - + Enter name for new playlist: Zadat název pro nový seznam skladeb: - + New Playlist Nový seznam skladeb - - - + + + Playlist Creation Failed Seznam skladeb se nepodařilo vytvořit - + A playlist by that name already exists. Seznam skladeb s tímto názvem již existuje. - + A playlist cannot have a blank name. Seznam skladeb musí mít název. - + An unknown error occurred while creating playlist: Při vytváření seznamu skladeb došlo k neznámé chybě: - + Add to New Crate Přidat do nové přepravky - + Scaling BPM of %n track(s) Změna velikosti BPM %n skladbyZměna velikosti BPM %n skladebZměna velikosti BPM %n skladebZměna velikosti MM %n skladeb - + Undo BPM/beats change of %n track(s) - + Locking BPM of %n track(s) Zamknout BPM %n skladbyZamknout BPM %n skladebZamknout BPM %n skladebZamknout MM %n skladeb - + Unlocking BPM of %n track(s) Odemknout BPM %n skladbyOdemknout BPM %n skladebOdemknout BPM %n skladebOdemknout MM %n skladeb - + Setting rating of %n track(s) - + Setting color of %n track(s) Nastavení barvy %n skladbyNastavení barvy %n skladebNastavení barvy %n skladebNastavení barvy %n skladeb - + Resetting play count of %n track(s) Vynulování počtu přehrání %n skladbyVynulování počtu přehrání %n skladebVynulování počtu přehrání %n skladebVynulování počtu přehrání %n skladeb - + Resetting beats of %n track(s) Vynulování dob %n skladbyVynulování dob %n skladebVynulování dob %n skladebVynulování dob %n skladeb - + Clearing rating of %n track(s) Vymazání hodnocení %n skladbyVymazání hodnocení %n skladebVymazání hodnocení %n skladebVymazání hodnocení %n skladeb - + Clearing comment of %n track(s) Vymazání poznámky %n skladbyVymazání poznámky %n skladebVymazání poznámky %n skladebVymazání poznámky %n skladeb - + Removing main cue from %n track(s) Odstraňování hlavní značky %n skladbyOdstraňování hlavní značky %n skladebOdstraňování hlavní značky %n skladebOdstraňování hlavní značky %n skladeb - + Removing outro cue from %n track(s) Odstraňování značky závěru %n skladbyOdstraňování značky závěru %n skladebOdstraňování značky závěru %n skladebOdstraňování značky závěru %n skladeb - + Removing intro cue from %n track(s) Odstraňování značky úvodu %n skladbyOdstraňování značky úvodu %n skladebOdstraňování značky úvodu %n skladebOdstraňování značky úvodu %n skladeb - + Removing loop cues from %n track(s) Odstraňování značky smyčky %n skladbyOdstraňování značky smyčky %n skladebOdstraňování značky smyčky %n skladebOdstraňování značky smyčky %n skladeb - + Removing hot cues from %n track(s) Odstraňování rychlé značky %n skladbyOdstraňování rychlé značky %n skladebOdstraňování rychlé značky %n skladebOdstraňování rychlé značky %n skladeb - + Sorting hotcues of %n track(s) by position (remove offsets) - + Sorting hotcues of %n track(s) by position - + Resetting keys of %n track(s) Vynulování značek %n skladbyVynulování značek %n skladebVynulování značek %n skladebVynulování značek %n skladeb - + Resetting replay gain of %n track(s) Vynulování vyrovnání hlasitosti %n skladbyVynulování vyrovnání hlasitosti %n skladebVynulování vyrovnání hlasitosti %n skladebVynulování vyrovnání hlasitosti %n skladeb - + Resetting waveform of %n track(s) Vynulování průběhové křivky %n skladbyVynulování průběhové křivky %n skladebVynulování průběhové křivky %n skladebVynulování průběhové křivky %n skladeb - + Resetting all performance metadata of %n track(s) Vynulování všech popisných dat výkonu %n skladbyVynulování všech popisných dat výkonu %n skladebVynulování všech popisných dat výkonu %n skladebVynulování všech popisných dat výkonu %n skladeb - + Move these files to the trash bin? - + Permanently delete these files from disk? Odstranit trvale tyto soubory z disku? - - + + This can not be undone! To nelze vrátit zpět! - + Cancel Zrušit - + Delete Files Smazat soubory - + Okay Dobře - + Move Track File(s) to Trash? Přesunout soubory skladeb do koše? - + Track Files Deleted Smazány soubory skladeb - + Track Files Moved To Trash Soubory skladeb přesunuty do koše - + %1 track files were moved to trash and purged from the Mixxx database. %1 souborů skladeb bylo přesunuto do koše a vyčištěno z databáze Mixxxu. - + %1 track files were deleted from disk and purged from the Mixxx database. %1 souborů skladeb bylo smazáno z disku a vyčištěno z databáze Mixxxu. - + Track File Deleted Smazán soubor skladeb - + Track file was deleted from disk and purged from the Mixxx database. %1 soubor skladeb byl smazán z disku a vyčištěn z databáze Mixxxu. - + The following %1 file(s) could not be deleted from disk Následující %1 soubor(y) nemohl(y) být smazán(y) z disku - + This track file could not be deleted from disk Tento soubor skladby nemohl být smazán z disku - + Remaining Track File(s) Zbývající soubor(y) skladeb - + Close Zavřít - + Clear Reset metadata in right click track context menu in library - + Loops Skoky - + Clear BPM and Beatgrid - + Undo last BPM/beats change - + Move this track file to the trash bin? - + Permanently delete this track file from disk? - + All decks where these tracks are loaded will be stopped and the tracks will be ejected. - + All decks where this track is loaded will be stopped and the track will be ejected. - + Removing %n track file(s) from disk... Odstraňování %n souborů skladeb z disku... - + Note: if you are in the Computer or Recording view you need to click the current view again to see changes. Poznámka: Jste-li v zobrazení Počítač či Nahrávání, musíte pro zobrazení změn znovu klepnout na nynější zobrazení. - + Track File Moved To Trash Soubor skladby přesunut do koše - + Track file was moved to trash and purged from the Mixxx database. Soubor skladeb byl přesunut do koše a vyčištěn z databáze Mixxxu. - + Don't show again during this session - + The following %1 file(s) could not be moved to trash Následující %1 soubor(y) nemohl(y) být přesunut(y) do koše - + This track file could not be moved to trash Tento soubor skladby nemohl být přesunut do koše + + + Replace current Auto DJ queue? + + + + + Do you want to replace the entire Auto DJ queue with the selected tracks? + + + + + Don't ask again during this session + + - + Setting cover art of %n track(s) Nastavení obrázku obalu %n skladbyNastavení obrázku obalu %n skladebNastavení obrázku obalu %n skladebNastavení obrázku obalu %n skladeb - + Reloading cover art of %n track(s) Nahrání obrázku obalu %n skladby znovuNahrání obrázku obalu %n skladeb znovuNahrání obrázku obalu %n skladeb znovuNahrání obrázku obalu %n skladeb znovu @@ -16989,37 +17508,37 @@ Tento krok nelze vrátit zpět! WTrackTableView - + Confirm track hide Potvrdit skrytí skladby - + Are you sure you want to hide the selected tracks? Opravdu chcete skrýt vybrané skladby? - + Are you sure you want to remove the selected tracks from AutoDJ queue? Opravdu chcete odstranit vybrané skladby z řady automatického diskžokeje? - + Are you sure you want to remove the selected tracks from this crate? Opravdu chcete odstranit vybrané skladby z této přepravky? - + Are you sure you want to remove the selected tracks from this playlist? Opravdu chcete odstranit vybrané skladby z tohoto seznamu skladeb? - + Don't ask again during this session Příště se během tohoto sezení neptat - + Confirm track removal Potvrdit odstranění skladby @@ -17027,12 +17546,12 @@ Tento krok nelze vrátit zpět! WTrackTableViewHeader - + Show or hide columns. Ukázat nebo skrýt sloupce. - + Shuffle Tracks @@ -17040,52 +17559,52 @@ Tento krok nelze vrátit zpět! mixxx::CoreServices - + fonts písma - + database databáze - + effects efekty - + audio interface rozhraní zvuku - + decks Přehrávače - + library knihovna - + Choose music library directory Vybrat adresář s hudební knihovnou - + controllers ovladače - + Cannot open database Nelze otevřít databázi - + Unable to establish a database connection. Mixxx requires QT with SQLite support. Please read the Qt SQL driver documentation for information on how to build it. @@ -17242,6 +17761,24 @@ Stiskněte OK pro ukončení. Požadavek sítě nebyl spuštěn + + mixxx::qml::QmlApplication + + + Existing user profile detected + + + + + Trying to run Mixxx 3.0 with an existing %0 user profile! <br><br>There is <b>serious risks</b> of data loss and corruption.<br>We recommend using a test profile folder with the '--settings-path' argument. <br><br>If you want to continue at your own risk, run Mixxx with the argument '--allow-dangerous-data-corruption-risk'. + + + + + Ok + + + mixxx::qml::QmlVisibleEffectsModel @@ -17250,4 +17787,27 @@ Stiskněte OK pro ukončení. Nenahrán žádný efekt. + + mixxx::qml::QmlWaveformRendererMark + + + Cannot find the marker pixmap + + + + + Cannot find the marker endPixmap + + + + + Cannot find the marker icon + + + + + Cannot find the marker endIcon + + + \ No newline at end of file diff --git a/res/translations/mixxx_da.qm b/res/translations/mixxx_da.qm index c4449fc2894e716279e9c26624582293f3a3270e..a62c6a87205a09216e93bb602e21513bd1ab3121 100644 GIT binary patch delta 2244 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 + + AllTrackLibraryFeature + + + All... + + + AnalysisFeature @@ -19,52 +27,52 @@ AutoDJFeature - + Crates - + Enable Auto DJ - + Disable Auto DJ - + Clear Auto DJ Queue - + Remove Crate as Track Source - + Auto DJ Auto DJ - + Confirmation Clear - + Do you really want to remove all tracks from the Auto DJ queue? - + This can not be undone. - + Add Crate as Track Source @@ -147,28 +155,28 @@ BasePlaylistFeature - + New Playlist Ny afspilningsliste - + Add to Auto DJ Queue (bottom) Tilføj til Auto DJ-køen (bunden) - + Create New Playlist Opret ny afspilningsliste - + Add to Auto DJ Queue (top) Tilføj til Auto DJ-køen (toppen) - + Remove Fjern @@ -178,12 +186,12 @@ Omdøb - + Lock Lås - + Duplicate Dupliker @@ -204,24 +212,24 @@ Analyser hele afspilningslisten - + Enter new name for playlist: Indtast nyt navn til afspilningslisten: - + Duplicate Playlist Kopier afspilningsliste - - + + Enter name for new playlist: Indtast navn til ny afspilningsliste: - + Export Playlist Eksportér afspilningsliste @@ -231,70 +239,77 @@ Tilføj til Auto DJ-køen (erstat) - + + + Export to Engine DJ + "Engine DJ" is a product name and must not be translated. + + + + Rename Playlist Omdøb afspilningsliste - - + + Renaming Playlist Failed Omdøbningen af afspilningslisten fejlede - - - + + + A playlist by that name already exists. En afspillingsliste med samme navn eksisterer allerede. - - - + + + A playlist cannot have a blank name. En afspillingsliste kan ikke have et tomt navn. - + _copy //: Appendix to default name when duplicating a playlist _kopier - - - - - - + + + + + + Playlist Creation Failed Afspilningsliste-oprettelsen fejlede - - + + An unknown error occurred while creating playlist: En ukendt fejl opstod under oprettelsen af afspilningslisten: - + Confirm Deletion Bekræft sletning - + Do you really want to delete playlist <b>%1</b>? - + M3U Playlist (*.m3u) M3U-afspilningsliste (*.m3u) - + M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Text CSV (*.csv);;Readable Text (*.txt) @@ -302,12 +317,12 @@ BaseSqlTableModel - + # # - + Timestamp Tidsstempel @@ -315,7 +330,7 @@ BaseTrackPlayerImpl - + Couldn't load track. Kunne ikke læse spor. @@ -323,137 +338,142 @@ BaseTrackTableModel - + Album Album - + Album Artist Albumkunstner - + Artist Kunstner - + Bitrate Bithastighed - + BPM BPM - + Channels Kanaler - + Color Farve - + Comment Bemærkning - + Composer Komponist - + Cover Art Cover-kunst - + Date Added Dato Tilføjet - + Last Played Sidst Afspillet - + Duration Varighed - + Type Type - + Genre Genre - + Grouping Gruppering - + Key Toneart - + Location Placering - + + Overview + + + + Preview Forsmag - + Rating Vurdering - + ReplayGain - + Samplerate - + Played Spillede - + Title Titel - + Track # Spor # - + Year År - + Fetching image ... Tooltip text on the cover art column shown when the cover is read from disk @@ -475,22 +495,22 @@ BroadcastProfile - + Can't use secure password storage: keychain access failed. Kan ikke anvende sikker adgangskode, adgang til nøglering fejlede. - + Secure password retrieval unsuccessful: keychain access failed. Adgang til sikker adgangskode fejlede, - + Settings error - + <b>Error with settings for '%1':</b><br> @@ -541,67 +561,77 @@ BrowseFeature - + Add to Quick Links Tilføj til Hurtige Links - + Remove from Quick Links Fjern fra Hurtige Links - + Add to Library Føj til bibliotek - + Refresh directory tree - + Quick Links Genveje - - + + Devices Enheder - + Removable Devices Flytbare enheder - - + + Computer Computer - + Music Directory Added Musik-placering tilføjet - + You added one or more music directories. The tracks in these directories won't be available until you rescan your library. Would you like to rescan now? Du har tilføjet et eller flere musik biblioteker. Numrene i disse biblioteker vil ikke være tilgængelige før du har skannet dit bibliotek igen. Vil du skanne biblioteket igen nu ? - + Scan Skan - + "Computer" lets you navigate, view, and load tracks from folders on your hard disk and external devices. "Komputer" lader dig navigere, kigge, og tilføje filer fra dine mapper på din harddisk og dine eksterne enheder. + + + It shows the data from the file tags, not track data from your Mixxx library like other track views. + + + + + If you load a track file from here, it will be added to your library. + + BrowseTableModel @@ -711,12 +741,12 @@ Fil oprettet - + Mixxx Library Mixxx bibliotek - + Could not load the following file because it is in use by Mixxx or another application. Kunne ikke læse den følgende fil, da den er i brug af Mixxx eller et andet program. @@ -747,87 +777,92 @@ CmdlineArgs - + Mixxx is an open source DJ software. For more information, see: Mixxx er et open source DJ software. For mere information, se: - + Starts Mixxx in full-screen mode Starter Mixxx i fuldskærmstilstand - + Use a custom locale for loading translations. (e.g 'fr') - + Top-level directory where Mixxx should look for its resource files such as MIDI mappings, overriding the default installation location. - + Path the debug statistics time line is written to - + Causes Mixxx to display/log all of the controller data it receives and script functions it loads - + The controller mapping will issue more aggressive warnings and errors when detecting misuse of controller APIs. New Controller Mappings should be developed with this option enabled! - + Enables developer-mode. Includes extra log info, stats on performance, and a Developer tools menu. - + Top-level directory where Mixxx should look for settings. Default is: - + Starts Auto DJ when Mixxx is launched. - + Rescans the library when Mixxx is launched. - + Use legacy vu meter - + Use legacy spinny - - Loads experimental QML GUI instead of legacy QWidget skin + + Loads the highly unstable 3.0 Mixxx interface, based on QML. You need to use a new setting profile, or run with 'allow-dangerous-data-corruption-risk' to use with the current one. We highly recommend backing up your data if you do so. + + + + + Force Mixxx to load an unstable version with an existing user profile from a stable version - + Enables safe-mode. Disables OpenGL waveforms, and spinning vinyl widgets. Try this option if Mixxx is crashing on startup. - + [auto|always|never] Use colors on the console output. - + Sets the verbosity of command line logging. critical - Critical/Fatal only warning - Above + Warnings @@ -837,27 +872,32 @@ trace - Above + Profiling messages - + Sets the the logging level at which the log buffer is flushed to mixxx.log. <level> is one of the values defined at --log-level above. - + Sets the maximum file size of the mixxx.log file in bytes. Use -1 for unlimited. The default is 100 MB as 1e5 or 100000000. - + Breaks (SIGINT) Mixxx, if a DEBUG_ASSERT evaluates to false. Under a debugger you can continue afterwards. - + + Overrides the default application GUI style. Possible values: %1 + + + + Load the specified music file(s) at start-up. Each file you specify will be loaded into the next virtual deck. - + Preview rendered controller screens in the Setting windows. @@ -950,2535 +990,2585 @@ trace - Above + Profiling messages ControlPickerMenu - + Headphone Output Hovedtelefonudgang - - - + + + + Deck %1 + %1 is the deck number 1 ... 4 Plade %1 - + Sampler %1 Sampler %1 - + Preview Deck %1 Forsmag Pladespiller %1 - + Microphone %1 Mikrofon %1 - + Auxiliary %1 Aux %1 - + Reset to default Nulstil til standard - + Effect Rack %1 - + Parameter %1 Parameter %1 - + Mixer Mixer - - + + Crossfader Crossfader - + Headphone mix (pre/main) Hovedtelefon miks (Forsmag/Master) - + Toggle headphone split cueing Slå hovedtelefon split cueing til/fra - + Headphone delay Hovedtelefon delay - + Transport - + Strip-search through track - + Play button Afspil knap - - + + Set to full volume Sæt til fuld styrke - - + + Set to zero volume Sluk for lyden - + Stop button Stop knap - + Jump to start of track and play Gå til start og afspil - + Jump to end of track Gå til slutningen af nummeret - + Reverse roll (Censor) button - + Headphone listen button Lytteknap til hovedtelefoner - - + + Mute button Sluk for lyden knap - + Toggle repeat mode - - + + Mix orientation (e.g. left, right, center) Mixretning(f.eks. venstre, højre, midterste) - - + + Set mix orientation to left Indstil mixretning til venstre - - + + Set mix orientation to center Indstil mixretning til midt - - + + Set mix orientation to right Indstil mixretning til højre - + Toggle slip mode Skift slip-tilstand - - + + BPM BPM - + Increase BPM by 1 Forøg BPM hastighed med 1 - + Decrease BPM by 1 Minsk BPM hastighed med 1 - + Increase BPM by 0.1 Forøg BPM hastighed med 0,1 - + Decrease BPM by 0.1 Minsk BPM hastighed med 0,1 - + BPM tap button BPM tap knap - + Toggle quantize mode - + One-time beat sync (tempo only) - + One-time beat sync (phase only) - + Toggle keylock mode - + Equalizers - + Vinyl Control - + Toggle vinyl-control cueing mode (OFF/ONE/HOT) - + Toggle vinyl-control mode (ABS/REL/CONST) - + Pass through external audio into the internal mixer - + Cues - + Cue button - + Set cue point - + Go to cue point - + Go to cue point and play - + Go to cue point and stop - + Preview from cue point - + Cue button (CDJ mode) - + Stutter cue - + Hotcues - + Set, preview from or jump to hotcue %1 - + Clear hotcue %1 - + Set hotcue %1 - + Jump to hotcue %1 - + Jump to hotcue %1 and stop - + Jump to hotcue %1 and play - + Preview from hotcue %1 - - + + Hotcue %1 - + Looping - + Loop In button - + Loop Out button - + Loop Exit button - + 1/2 1/2 - + 1 1 - + 2 2 - + 4 4 - + 8 8 - + 16 16 - + 32 32 - + 64 64 - + Move loop forward by %1 beats Flyt loop fremad med %1 slag - + Move loop backward by %1 beats Flyt loop tilbage med %1 slag - + Create %1-beat loop - + Create temporary %1-beat loop roll - + Library Bibliotek - + Slot %1 - + Headphone Mix Hovedtelefon mix - + Headphone Split Cue - + Headphone Delay - + Play Afspil - + Fast Rewind - + Fast Rewind button - + Fast Forward - + Fast Forward button - + Strip Search - + Play Reverse - + Play Reverse button - + Reverse Roll (Censor) - + Jump To Start - + Jumps to start of track - + Play From Start - + Stop - + Stop And Jump To Start - + Stop playback and jump to start of track - + Jump To End - + Volume Lyd - - - + + + Volume Fader Lyd fader - - + + Full Volume Lyd max - - + + Zero Volume Lyd minimum - + Track Gain - + Track Gain knob - - + + Mute - + Eject Skub ud - - + + Headphone Listen - + Headphone listen (pfl) button - + Repeat Mode - + Slip Mode - - + + Orientation - - + + Orient Left - - + + Orient Center - - + + Orient Right - + BPM +1 - + BPM -1 - + BPM +0.1 - + BPM -0.1 - + BPM Tap - + Adjust Beatgrid Faster +.01 - + Increase track's average BPM by 0.01 - + Adjust Beatgrid Slower -.01 - + Decrease track's average BPM by 0.01 - + Move Beatgrid Earlier - + Adjust the beatgrid to the left - + Move Beatgrid Later - + Adjust the beatgrid to the right - + Adjust Beatgrid - + Align beatgrid to current position - + Adjust Beatgrid - Match Alignment - + Adjust beatgrid to match another playing deck. - + Quantize Mode - + Sync - + Beat Sync One-Shot - + Sync Tempo One-Shot - + Sync Phase One-Shot - + Pitch control (does not affect tempo), center is original pitch - + Pitch Adjust - + Adjust pitch from speed slider pitch - + Match musical key - + Match Key - + Reset Key - + Resets key to original - + High EQ Høj EQ - + Mid EQ Mellem EQ - - + + Main Output - + Main Output Balance - + Main Output Delay - + Main Output Gain - + Low EQ Lav EQ - + Toggle Vinyl Control - + Toggle Vinyl Control (ON/OFF) - + Vinyl Control Mode - + Vinyl Control Cueing Mode - + Vinyl Control Passthrough - + Vinyl Control Next Deck - + Single deck mode - Switch vinyl control to next deck - + Cue - + Set Cue - + Go-To Cue - + Go-To Cue And Play - + Go-To Cue And Stop - + Preview Cue - + Cue (CDJ Mode) - + Stutter Cue - + Go to cue point and play after release - + Clear Hotcue %1 - + Set Hotcue %1 - + Jump To Hotcue %1 - + Jump To Hotcue %1 And Stop - + Jump To Hotcue %1 And Play - + Preview Hotcue %1 - + Loop In - + Loop Out - + Loop Exit - + Reloop/Exit Loop - + Loop Halve - + Loop Double - + 1/32 - + 1/16 - + 1/8 - + 1/4 - + Move Loop +%1 Beats - + Move Loop -%1 Beats - + Loop %1 Beats - + Loop Roll %1 Beats - + Add to Auto DJ Queue (bottom) Tilføj til Auto DJ-køen (bunden) - + Append the selected track to the Auto DJ Queue - + Add to Auto DJ Queue (top) Tilføj til Auto DJ-køen (toppen) - + Prepend selected track to the Auto DJ Queue - + Load Track - + Load selected track - + Load selected track and play - - + + Record Mix Optag Mix - + Toggle mix recording - + Effects Effekter - - Quick Effects - Hurtige Effekter - - - + Deck %1 Quick Effect Super Knob - + + Quick Effect Super Knob (control linked effect parameters) - - + + + + Quick Effect Hurtig Effekt - + Clear Unit - + Clear effect unit - + Toggle Unit - + Dry/Wet Tørt/Vådt - + Adjust the balance between the original (dry) and processed (wet) signal. - + Super Knob - + Next Chain - + Assign Tildel - + Clear Ryd - + Clear the current effect Ryd den nuværende effekt - + Toggle Slå til eller fra - + Toggle the current effect - + Next Næste - + Switch to next effect Skift til næste effekt - + Previous Forrige - + Switch to the previous effect Skift til forrige effekt - + Next or Previous Næste eller Forrige - + Switch to either next or previous effect - - + + Parameter Value Parameter Værdi - - + + Microphone Ducking Strength - + Microphone Ducking Mode - + Gain - + Gain knob - + Shuffle the content of the Auto DJ queue - + Skip the next track in the Auto DJ queue - + Auto DJ Toggle - + Toggle Auto DJ On/Off - + Show/hide the microphone & auxiliary section - + 4 Effect Units Show/Hide - + Switches between showing 2 and 4 effect units - + Mixer Show/Hide - + Show or hide the mixer. - + Cover Art Show/Hide (Library) - + Show/hide cover art in the library - + Library Maximize/Restore - + Maximize the track library to take up all the available screen space. - + Effect Rack Show/Hide - + Show/hide the effect rack - + Waveform Zoom Out - + Headphone Gain - + Headphone gain - + Tap to sync tempo (and phase with quantize enabled), hold to enable permanent sync - + One-time beat sync tempo (and phase with quantize enabled) - + Playback Speed Afspilningshastighed - + Playback speed control (Vinyl "Pitch" slider) - + Pitch (Musical key) - + Increase Speed - + Adjust speed faster (coarse) - + Increase Speed (Fine) - + Adjust speed faster (fine) - + Decrease Speed - + Adjust speed slower (coarse) - + Adjust speed slower (fine) - + Temporarily Increase Speed - + Temporarily increase speed (coarse) - + Temporarily Increase Speed (Fine) - + Temporarily increase speed (fine) - + Temporarily Decrease Speed - + Temporarily decrease speed (coarse) - + Temporarily Decrease Speed (Fine) - + Temporarily decrease speed (fine) - - + + Adjust %1 - + + Deck %1 Stem %2 + + + + Effect Unit %1 - + Button Parameter %1 - + Skin - + Controller - + Crossfader / Orientation - + Main Output gain - + Main Output balance - + Main Output delay - + Headphone - - + + Kill %1 + %1 is "Low EQ" "Mid EQ" or "High EQ" - + Eject or un-eject track, i.e. reload the last-ejected track (of any deck)<br>Double-press to reload the last replaced track. In empty decks it reloads the second-last ejected track. - + BPM / Beatgrid - + Halve BPM - + Multiply current BPM by 0.5 - + 2/3 BPM - + Multiply current BPM by 0.666 - + 3/4 BPM - + Multiply current BPM by 0.75 - + 4/3 BPM - + Multiply current BPM by 1.333 - + 3/2 BPM - + Multiply current BPM by 1.5 - + Double BPM - + Multiply current BPM by 2 - + Tempo Tap - + Tempo tap button - + Move Beatgrid - + Adjust the beatgrid to the left or right - - + + Move Beatgrid Half a Beat + + + + + Adjust the beatgrid by exactly one half beat. Usable only for tracks with constant tempo. + + + + + Toggle the BPM/beatgrid lock - + Revert last BPM/Beatgrid Change - + Revert last BPM/Beatgrid Change of the loaded track. - + Sync / Sync Lock - + Internal Sync Leader - + Toggle Internal Sync Leader - - + + Internal Leader BPM - + Internal Leader BPM +1 - + Increase internal Leader BPM by 1 - + Internal Leader BPM -1 - + Decrease internal Leader BPM by 1 - + Internal Leader BPM +0.1 - + Increase internal Leader BPM by 0.1 - + Internal Leader BPM -0.1 - + Decrease internal Leader BPM by 0.1 - + Sync Leader - + Sync mode 3-state toggle / indicator (Off, Soft Leader, Explicit Leader) - + Speed - + Decrease Speed (Fine) - + Pitch (Musical Key) - + Increase Pitch - + Increases the pitch by one semitone - + Increase Pitch (Fine) - + Increases the pitch by 10 cents - + Decrease Pitch - + Decreases the pitch by one semitone - + Decrease Pitch (Fine) - + Decreases the pitch by 10 cents - + Keylock - + CUP (Cue + Play) - + Shift cue points earlier - + Shift cue points 10 milliseconds earlier - + Shift cue points earlier (fine) - + Shift cue points 1 millisecond earlier - + Shift cue points later - + Shift cue points 10 milliseconds later - + Shift cue points later (fine) - + Shift cue points 1 millisecond later - - Hotcues %1-%2 + + + Sort hotcues by position + + + + + + Sort hotcues by position (remove offsets) + Hotcues %1-%2 + + + + Intro / Outro Markers - + Intro Start Marker - + Intro End Marker - + Outro Start Marker - + Outro End Marker - + intro start marker - + intro end marker - + outro start marker - + outro end marker - + Activate %1 [intro/outro marker - + Jump to or set the %1 [intro/outro marker - + Set %1 [intro/outro marker - + Set or jump to the %1 [intro/outro marker - + Clear %1 [intro/outro marker - + Clear the %1 [intro/outro marker - + if the track has no beats the unit is seconds - + Loop Selected Beats - + Create a beat loop of selected beat size - + Loop Roll Selected Beats - + Create a rolling beat loop of selected beat size - + Loop %1 Beats set from its end point - + Loop Roll %1 Beats set from its end point - + Create %1-beat loop with the current play position as loop end - + Create temporary %1-beat loop roll with the current play position as loop end - + Loop Beats - + Loop Roll Beats - + Go To Loop In - + Go to Loop In button - + Go To Loop Out - + Go to Loop Out button - + Toggle loop on/off and jump to Loop In point if loop is behind play position - + Reloop And Stop - + Enable loop, jump to Loop In point, and stop - + Halve the loop length - + Double the loop length - + Beat Jump / Loop Move - + Jump / Move Loop Forward %1 Beats - + Jump / Move Loop Backward %1 Beats - + Jump forward by %1 beats, or if a loop is enabled, move the loop forward %1 beats - + Jump backward by %1 beats, or if a loop is enabled, move the loop backward %1 beats - + Beat Jump / Loop Move Forward Selected Beats - + Jump forward by the selected number of beats, or if a loop is enabled, move the loop forward by the selected number of beats - + Beat Jump / Loop Move Backward Selected Beats - + Jump backward by the selected number of beats, or if a loop is enabled, move the loop backward by the selected number of beats - + Beat Jump - + Indicate which loop marker remain static when adjusting the size or is inherited from the current position - + Beat Jump / Loop Move Forward - + Beat Jump / Loop Move Backward - + Loop Move Forward - + Loop Move Backward - + Remove Temporary Loop - + Remove the temporary loop - + Navigation - + Move up Flyt op - + Equivalent to pressing the UP key on the keyboard Det samme som at trykke PIL OP på tastaturet - + Move down Flyt ned - + Equivalent to pressing the DOWN key on the keyboard Det samme som at trykke PIL NED på tastaturet - + Move up/down Flyt op/ned - + Move vertically in either direction using a knob, as if pressing UP/DOWN keys - + Scroll Up Rul ip - + Equivalent to pressing the PAGE UP key on the keyboard Det samme som at trykke PAGE UP på tastaturet - + Scroll Down Rul ned - + Equivalent to pressing the PAGE DOWN key on the keyboard Det samme som at trykke PAGE DOWN på tastaturet - + Scroll up/down Rul op/ned - + Scroll vertically in either direction using a knob, as if pressing PGUP/PGDOWN keys - + Move left Flyt til venstre - + Equivalent to pressing the LEFT key on the keyboard Det samme som at trykke VENSTRE PIL på tastaturet - + Move right Flyt til højre - + Equivalent to pressing the RIGHT key on the keyboard Det samme som at trykke HØJRE PIL på tastaturet - + Move left/right Flyt til venstre/højre - + Move horizontally in either direction using a knob, as if pressing LEFT/RIGHT keys - + Move focus to right pane - + Equivalent to pressing the TAB key on the keyboard Det samme som at trykke TAB på tastaturet - + Move focus to left pane - + Equivalent to pressing the SHIFT+TAB key on the keyboard - + Move focus to right/left pane - + Move focus one pane to right or left using a knob, as if pressing TAB/SHIFT+TAB keys - + Sort focused column - + Sort the column of the cell that is currently focused, equivalent to clicking on its header - + Go to the currently selected item - + Choose the currently selected item and advance forward one pane if appropriate - + Load Track and Play - + Add to Auto DJ Queue (replace) Tilføj til Auto DJ-køen (erstat) - + Replace Auto DJ Queue with selected tracks - + Select next search history - + Selects the next search history entry - + Select previous search history - + Selects the previous search history entry - + Move selected search entry - + Moves the selected search history item into given direction and steps - + Clear search - + Clears the search query - - + + Select Next Color Available - + Select the next color in the color palette for the first selected track - - + + Select Previous Color Available - + Select the previous color in the color palette for the first selected track - + + Quick Effects Deck %1 + + + + Deck %1 Quick Effect Enable Button - + + Quick Effect Enable Button - + + Deck %1 Stem %2 Quick Effect Super Knob + + + + + Deck %1 Stem %2 Quick Effect Enable Button + + + + Enable or disable effect processing - + Super Knob (control effects' Meta Knobs) - + Mix Mode Toggle - + Toggle effect unit between D/W and D+W modes - + Next chain preset - + Previous Chain - + Previous chain preset - + Next/Previous Chain - + Next or previous chain preset - - + + Show Effect Parameters - + Effect Unit Assignment - + Meta Knob - + Effect Meta Knob (control linked effect parameters) - + Meta Knob Mode - + Set how linked effect parameters change when turning the Meta Knob. - + Meta Knob Mode Invert - + Invert how linked effect parameters change when turning the Meta Knob. - - + + Button Parameter Value - + Microphone / Auxiliary - + Microphone On/Off Mikrofon Til/Fra - + Microphone on/off Mikrofon til/fra - + Toggle microphone ducking mode (OFF, AUTO, MANUAL) - + Auxiliary On/Off - + Auxiliary on/off - + Auto DJ Auto DJ - + Auto DJ Shuffle - + Auto DJ Skip Next - + Auto DJ Add Random Track - + Add a random track to the Auto DJ queue - + Auto DJ Fade To Next - + Trigger the transition to the next track - + User Interface - + Samplers Show/Hide - + Show/hide the sampler section - + Microphone && Auxiliary Show/Hide keep double & to prevent creation of keyboard accelerator - + Waveform Zoom Reset To Default - + Reset the waveform zoom level to the default value selected in Preferences -> Waveforms - + Select the next color in the color palette for the loaded track. - + Select previous color in the color palette for the loaded track. - + Navigate Through Track Colors - + Select either next or previous color in the palette for the loaded track. - + Start/Stop Live Broadcasting - + Stream your mix over the Internet. - + Start/stop recording your mix. - - + + + Deck %1 Stems + + + + + Samplers - + Vinyl Control Show/Hide - + Show/hide the vinyl control section - + Preview Deck Show/Hide - + Show/hide the preview deck - + Toggle 4 Decks - + Switches between showing 2 decks and 4 decks. - + Cover Art Show/Hide (Decks) - + Show/hide cover art in the main decks - + Vinyl Spinner Show/Hide - + Show/hide spinning vinyl widget - + Vinyl Spinners Show/Hide (All Decks) - + Show/Hide all spinnies - + Toggle Waveforms - + Show/hide the scrolling waveforms. - + Waveform zoom - + Waveform Zoom - + Zoom waveform in - + Waveform Zoom In - + Zoom waveform out - + Star Rating Up - + Increase the track rating by one star - + Star Rating Down - + Decrease the track rating by one star @@ -3491,6 +3581,159 @@ trace - Above + Profiling messages + + ControllerHidReportTabsManager + + + Read + + + + + Send + + + + + Payload Size + + + + + bytes + + + + + Byte Position + + + + + Bit Position + + + + + Bit Size + + + + + Logical Min + + + + + Logical Max + + + + + Value + + + + + Physical Min + + + + + Physical Max + + + + + Unit Scaling + + + + + Unit + + + + + Abs/Rel + + + + + + Wrap + + + + + + Linear + + + + + + Preferred + + + + + + Null + + + + + + Volatile + + + + + Usage Page + + + + + Usage + + + + + Relative + + + + + Absolute + + + + + No Wrap + + + + + Non Linear + + + + + No Preferred + + + + + No Null + + + + + Non Volatile + + + ControllerInputMappingTableModel @@ -3593,32 +3836,32 @@ trace - Above + Profiling messages ControllerScriptEngineBase - + The functionality provided by this controller mapping will be disabled until the issue has been resolved. - + You can ignore this error for this session but you may experience erratic behavior. - + Try to recover by resetting your controller. - + Controller Mapping Error - + The mapping for your controller "%1" is not working properly. - + The script code needs to be fixed. @@ -3626,27 +3869,27 @@ trace - Above + Profiling messages ControllerScriptEngineLegacy - + Controller Mapping File Problem - + The mapping for controller "%1" cannot be opened. - + The functionality provided by this controller mapping will be disabled until the issue has been resolved. - + File: - + Error: @@ -3662,13 +3905,13 @@ trace - Above + Profiling messages CrateFeature - + Remove Fjern - + Create New Crate @@ -3678,55 +3921,55 @@ trace - Above + Profiling messages Omdøb - + Lock Lås - + Export Crate as Playlist - + Export Track Files Eksporter musik fil - + Duplicate Dupliker - + Analyze entire Crate - + Auto DJ Track Source - + Enter new name for crate: - - + + Crates - - + + Import Crate - + Export Crate @@ -3736,74 +3979,74 @@ trace - Above + Profiling messages Lås op - + An unknown error occurred while creating crate: - + Rename Crate - - - Export to Engine Prime - - - - + Make a crate for your next gig, for your favorite electrohouse tracks, or for your most requested tracks. - + Confirm Deletion Bekræft sletning - - + + Renaming Crate Failed - + Crate Creation Failed - + M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Text CSV (*.csv);;Readable Text (*.txt) - + M3U Playlist (*.m3u) M3U-afspilningsliste (*.m3u) - + Crates are a great way to help organize the music you want to DJ with. - + + + Export to Engine DJ + + + + Crates let you organize your music however you'd like! - + Do you really want to delete crate <b>%1</b>? - + A crate cannot have a blank name. - + A crate by that name already exists. @@ -3898,12 +4141,12 @@ trace - Above + Profiling messages - + Official Website Officiel hjemmeside - + Donate Donér @@ -4022,72 +4265,72 @@ trace - Above + Profiling messages DlgAutoDJ - + Skip Spring over - + Random Tilfældig - + Fade Falm - + Enable Auto DJ Shortcut: Shift+F12 - + Disable Auto DJ Shortcut: Shift+F12 - + Trigger the transition to the next track Shortcut: Shift+F11 - + Skip the next track in the Auto DJ queue Shortcut: Shift+F10 - + Shuffle the content of the Auto DJ queue Shortcut: Shift+F9 - + Repeat the playlist Gentag afspilningslisten - + Determines the duration of the transition - + Seconds Sekunder - + Auto DJ Fade Modes Full Intro + Outro: @@ -4118,80 +4361,80 @@ crossfader, so that the intro starts at full volume. - + Full Intro + Outro - + Fade At Outro Start - + Full Track - + Skip Silence Spring stilhed over - + Skip Silence Start Full Volume - + Decks not used for Auto DJ must be stopped to enable Auto DJ mode. - + Repeat - + Auto DJ requires two decks assigned to opposite sides of the crossfader. - + One deck must be stopped to enable Auto DJ mode. - + Enable - + Disable - + Displays the duration and number of selected tracks. - - - + + + Auto DJ Auto DJ - + Shuffle - + Adds a random track from track sources (crates) to the Auto DJ queue. If no track sources are configured, the track is added from the library instead. @@ -4414,37 +4657,37 @@ Often results in higher quality beatgrids, but will not do well on tracks that h - + Didn't get any midi messages. Please try again. - + Unable to detect a mapping -- please try again. Be sure to only touch one control at once. - + Successfully mapped control: - + <i>Ready to learn %1</i> - + Learning: %1. Now move a control on your controller. - + The selected control does not exist.<br>This likely a bug. Please report it on the Mixxx bug tracker.<br><a href='https://github.com/mixxxdj/mixxx/issues'>https://github.com/mixxxdj/mixxx/issues</a><br><br>You tried to learn: %1,%2 - + The control you clicked in Mixxx is not learnable. This could be because you are either using an old skin and this control is no longer supported, or you clicked a control that provides visual feedback and can only be mapped to outputs like LEDs via scripts. @@ -4483,17 +4726,17 @@ You tried to learn: %1,%2 - + Log - + Search - + Stats @@ -4689,122 +4932,139 @@ You tried to learn: %1,%2 DlgPrefBroadcast - + Icecast 2 - + Shoutcast 1 - + Icecast 1 - + MP3 - + Ogg Vorbis - + Opus - + AAC - + HE-AAC - + HE-AACv2 - + Automatic - + Mono - + Stereo - - - - + + Saving settings failed + + + + + The password for '%1' contains invalid characters. Please enter it again. + +Note: This can for example be invisible linebreaks when using copy/paste. + + + + + + Action failed Handlingen fejlede - + You can't create more than %1 source connections. - + Source connection %1 - + + Settings for %1 + Settings for broadcast profile, %1 is the profile name placeholder + + + + At least one source connection is required. - + Are you sure you want to disconnect every active source connection? - - + + Confirmation required - + '%1' has the same Icecast mountpoint as '%2'. Two source connections to the same server that have the same mountpoint can not be enabled simultaneously. - + Are you sure you want to delete '%1'? - + Renaming '%1' - + New name for '%1': - + Can't rename '%1' to '%2': name already in use @@ -4817,27 +5077,27 @@ Two source connections to the same server that have the same mountpoint can not - + Mixxx Icecast Testing - + Public stream - + http://www.mixxx.org - + Stream name - + Due to flaws in some streaming clients, updating Ogg Vorbis metadata dynamically can cause listener glitches and disconnections. Check this box to update the metadata anyway. @@ -4877,67 +5137,72 @@ Two source connections to the same server that have the same mountpoint can not - + + Available fields: $artist, $title, $year, $album, $genre, $bpm + + + + Dynamically update Ogg Vorbis metadata. - + ICQ - + AIM - + Website - + Live mix - + IRC - + Select a source connection above to edit its settings here - + Password storage - + Plain text - + Secure storage (OS keychain) - + Genre Genre - + Use UTF-8 encoding for metadata. - + Description Beskrivelse @@ -4963,42 +5228,42 @@ Two source connections to the same server that have the same mountpoint can not Kanaler - + Server connection - + Type Type - + Host - + Login - + Mount - + Port - + Password - + Stream info @@ -5008,17 +5273,17 @@ Two source connections to the same server that have the same mountpoint can not - + Use static artist and title. - + Static title - + Static artist @@ -5077,13 +5342,14 @@ Two source connections to the same server that have the same mountpoint can not DlgPrefColors - - + + + By hotcue number - + Color Farve @@ -5128,17 +5394,22 @@ Two source connections to the same server that have the same mountpoint can not + Jump default color + + + + When key colors are enabled, Mixxx will display a color hint associated with each key. - + Enable Key Colors - + Key palette @@ -5146,113 +5417,113 @@ associated with each key. DlgPrefController - + Apply device settings? - + Your settings must be applied before starting the learning wizard. Apply settings and continue? - + None - + %1 by %2 - + Mapping has been edited - + Always overwrite during this session - + Save As - + Overwrite - + Save user mapping - + Enter the name for saving the mapping to the user folder. - + Saving mapping failed - + A mapping cannot have a blank name and may not contain special characters. - + A mapping file with that name already exists. - + Do you want to save the changes? - + Troubleshooting - + <font color='#BB0000'><b>If you use this mapping your controller may not work correctly. Please select another mapping or disable the controller.</b></font><br><br>This mapping was designed for a newer Mixxx Controller Engine and cannot be used on your current Mixxx installation.<br>Your Mixxx installation has Controller Engine version %1. This mapping requires a Controller Engine version >= %2.<br><br>For more information visit the wiki page on <a href='https://mixxx.org/wiki/doku.php/controller_engine_versions'>Controller Engine Versions</a>. - + Mapping already exists. - + <b>%1</b> already exists in user mapping folder.<br>Overwrite or save with a new name? - + Clear Input Mappings - + Are you sure you want to clear all input mappings? - + Clear Output Mappings - + Are you sure you want to clear all output mappings? @@ -5265,105 +5536,110 @@ Apply settings and continue? - + Enabled Aktiv - + + Refresh mapping list + + + + Device Info - + Physical Interface: - + Vendor name: - + Product name: - + Vendor ID - + VID: - + Product ID - + PID: - + Serial number: - + USB interface number: - + HID Usage-Page: - + HID Usage: - + Description: - + Support: - + Screens preview - + Input Mappings - - + + Search - - + + Add - - + + Remove Fjern @@ -5378,22 +5654,22 @@ Apply settings and continue? - + Load Mapping: - + Mapping Info - + Author: - + Name: @@ -5403,28 +5679,28 @@ Apply settings and continue? - + Data protocol: - + Mapping Files: - + Mapping Settings - - + + Clear All - + Output Mappings @@ -5439,21 +5715,21 @@ Apply settings and continue? - Mixxx uses "mappings" to connect messages from your controller to controls in Mixxx. If you do not see a mapping for your controller in the "Load Mapping" menu when you click on your controller on the left sidebar, you may be able to download one online from the %1. Place the XML (.xml) and Javascript (.js) file(s) in the "User Mapping Folder" then restart Mixxx. If you download a mapping in a ZIP file, extract the XML and Javascript file(s) from the ZIP file to your "User Mapping Folder" then restart Mixxx. + Mixxx uses "mappings" to connect messages from your controller to controls in Mixxx. If you do not see a mapping for your controller in the "Load Mapping" menu when you click on your controller on the left sidebar, you may be able to download one online from the %1. Place the XML (.xml) and Javascript (.js) file(s) in the "User Mapping Folder" then click the Reload button next to the mapping selector to reload all available mappings. If you download a mapping in a ZIP file, extract the XML and Javascript file(s) from the ZIP file to your "User Mapping Folder" then click the Reload button. - + Mixxx DJ Hardware Guide - + MIDI Mapping File Format - + MIDI Scripting with Javascript @@ -5583,6 +5859,16 @@ Apply settings and continue? Multi-Sampling + + + Force 3D acceleration + + + + + If checked, Mixxx will always assume 3D acceleration is available. This may lead to pour performance if only CP-backed rendering is available.. + + Start in full-screen mode @@ -5612,137 +5898,137 @@ Apply settings and continue? DlgPrefDeck - + Mixxx mode - + Mixxx mode (no blinking) - + Pioneer mode - + Denon mode - + Numark mode - + CUP mode - + mm:ss%1zz - Traditional - + mm:ss - Traditional (Coarse) - + s%1zz - Seconds - + sss%1zz - Seconds (Long) - + s%1sss%2zz - Kiloseconds - + Intro start - + Main cue - + First hotcue - + First sound (skip silence) - + Beginning of track - + Reject - + Allow, but stop deck - + Allow, play from load point - + 4% - + 6% (semitone) - + 8% (Technics SL-1210) - + 10% - + 16% - + 24% - + 50% - + 90% @@ -6174,62 +6460,62 @@ You can always drag-and-drop tracks on screen to clone a deck. DlgPrefInterface - + The minimum size of the selected skin is bigger than your screen resolution. - + Allow screensaver to run - + Prevent screensaver from running - + Prevent screensaver while playing - + Disabled - + 2x MSAA - + 4x MSAA - + 8x MSAA - + 16x MSAA - + This skin does not support color schemes - + Information - + Mixxx must be restarted before the new locale, scaling or multi-sampling settings will take effect. @@ -6456,67 +6742,97 @@ and allows you to pitch adjust them for harmonic mixing. - + Music Directory Added Musik-placering tilføjet - + You added one or more music directories. The tracks in these directories won't be available until you rescan your library. Would you like to rescan now? Du har tilføjet et eller flere musik biblioteker. Numrene i disse biblioteker vil ikke være tilgængelige før du har skannet dit bibliotek igen. Vil du skanne biblioteket igen nu ? - + Scan Skan - - Item is not a directory or directory is missing + + Item is not a directory or directory is missing + + + + + Choose a music directory + + + + + Confirm Directory Removal + + + + + Mixxx will no longer watch this directory for new tracks. What would you like to do with the tracks from this directory and subdirectories?<ul><li>Hide all tracks from this directory and subdirectories.</li><li>Delete all metadata for these tracks from Mixxx permanently.</li><li>Leave the tracks unchanged in your library.</li></ul>Hiding tracks saves their metadata in case you re-add them in the future. + + + + + Metadata means all track details (artist, title, playcount, etc.) as well as beatgrids, hotcues, and loops. This choice only affects the Mixxx library. No files on disk will be changed or deleted. + + + + + Hide Tracks + + + + + Delete Track Metadata - - Choose a music directory + + Leave Tracks Unchanged - - Confirm Directory Removal + + Relink music directory to new location - - Mixxx will no longer watch this directory for new tracks. What would you like to do with the tracks from this directory and subdirectories?<ul><li>Hide all tracks from this directory and subdirectories.</li><li>Delete all metadata for these tracks from Mixxx permanently.</li><li>Leave the tracks unchanged in your library.</li></ul>Hiding tracks saves their metadata in case you re-add them in the future. + + Black - - Metadata means all track details (artist, title, playcount, etc.) as well as beatgrids, hotcues, and loops. This choice only affects the Mixxx library. No files on disk will be changed or deleted. + + ExtraBold - - Hide Tracks + + Bold - - Delete Track Metadata + + SemiBold - - Leave Tracks Unchanged + + Medium - - Relink music directory to new location + + Light - + Select Library Font @@ -6565,262 +6881,267 @@ and allows you to pitch adjust them for harmonic mixing. - + Audio File Formats - + Track Table View - + Track Double-Click Action: - + BPM display precision: - + Session History - + Track duplicate distance - + When playing a track again log it to the session history only if more than N other tracks have been played in the meantime - + History playlist with less than N tracks will be deleted<br/><br/>Note: the cleanup will be performed during startup and shutdown of Mixxx. - + Delete history playlist with less than N tracks - + Library Font: - + + Show scan summary dialog + + + + Grey out played tracks - + Track Search - + Enable search completions - + Enable search history keyboard shortcuts - + Percentage of pitch slider range for 'fuzzy' BPM search: - + This range will be used for the 'fuzzy' BPM search (~bpm:) via the search box, as well as for BPM search in Track context menu > Search related Tracks - + Preferred Cover Art Fetcher Resolution - + Fetch cover art from coverartarchive.com by using Import Metadata From Musicbrainz. - + Note: ">1200 px" can fetch up to very large cover arts. - + >1200 px (if available) - + 1200 px (if available) - + 500 px - + 250 px - + Settings Directory - + The Mixxx settings directory contains the library database, various configuration files, log files, track analysis data, as well as custom controller mappings. - + Edit those files only if you know what you are doing and only while Mixxx is not running. - + Open Mixxx Settings Folder - + Library Row Height: - + Use relative paths for playlist export if possible - + ... - + px - + Synchronize library track metadata from/to file tags - + Automatically write modified track metadata from the library into file tags and reimport metadata from updated file tags into the library - + Synchronize Serato track metadata from/to file tags (experimental) - + Keeps track color, beat grid, bpm lock, cue points, and loops synchronized with SERATO_MARKERS/MARKERS2 file tags.<br/><br/>WARNING: Enabling this option also enables the reimport of Serato metadata after files have been modified outside of Mixxx. On reimport existing metadata in Mixxx is replaced with the metadata found in file tags. Custom metadata not included in file tags like loop colors is lost. - + Edit metadata after clicking selected track - + Search-as-you-type timeout: - + ms - + Load track to next available deck - + External Libraries - + You will need to restart Mixxx for these settings to take effect. - + Show Rhythmbox Library - + Track Metadata Synchronization / Playlists - + Add track to Auto DJ queue (bottom) - + Add track to Auto DJ queue (top) - + Ignore - + Show Banshee Library - + Show iTunes Library - + Show Traktor Library - + Show Rekordbox Library - + Show Serato Library - + All external libraries shown are write protected. @@ -7165,33 +7486,33 @@ and allows you to pitch adjust them for harmonic mixing. DlgPrefRecord - + Choose recordings directory - - + + Recordings directory invalid - + Recordings directory must be set to an existing directory. - + Recordings directory must be set to a directory. - + Recordings directory not writable - + You do not have write access to %1. Choose a recordings directory you have write access to. @@ -7209,43 +7530,55 @@ and allows you to pitch adjust them for harmonic mixing. - - + + This will include the filepath for each track in the CUE file. +This option makes the CUE file less portable and can reveal personal +information from filepaths (i.e. username) + + + + + Enable File Annotation in CUE file + + + + + Quality - + Tags - + Title Titel - + Author - + Album Album - + Output File Format - + Compression - + Lossy @@ -7260,12 +7593,12 @@ and allows you to pitch adjust them for harmonic mixing. - + Compression Level - + Lossless @@ -7396,173 +7729,177 @@ The loudness target is approximate and assumes track pregain and main output lev DlgPrefSound - + %1 Hz - + Default (long delay) - + Experimental (no delay) - + Disabled (short delay) - + Soundcard Clock - + Network Clock - + Direct monitor (recording and broadcasting only) - + Disabled - + Enabled Aktiv - + Stereo - + Mono - + To enable Realtime scheduling (currently disabled), see the %1. - + The %1 lists sound cards and controllers you may want to consider for using Mixxx. - + Mixxx DJ Hardware Guide - + + Find details in the Mixxx user manual + + + + Information - + Mixxx must be restarted before the multi-threaded RubberBand setting change will take effect. - + auto (<= 1024 frames/period) - + 2048 frames/period - + 4096 frames/period - + Are you sure? - + Distribute stereo channels into mono channels for parallel processing will result in a loss of mono compatibility and a diffuse stereo image. It is not recommended during broadcasting or recording. - + Are you sure you wish to proceed? - + No - + Yes, I know what I am doing - + Microphone inputs are out of time in the record & broadcast signal compared to what you hear. - + Measure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. - - + Refer to the Mixxx User Manual for details. - + Configured latency has changed. - + Remeasure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. - + Realtime scheduling is enabled. - + Main output only - + Main and booth outputs - + %1 ms - + Configuration error @@ -7580,131 +7917,136 @@ The loudness target is approximate and assumes track pregain and main output lev - + Sample Rate - + Audio Buffer - + Engine Clock - + Use soundcard clock for live audience setups and lowest latency.<br>Use network clock for broadcasting without a live audience. - + Main Mix - + Main Output Mode - + Microphone Monitor Mode - + Microphone Latency Compensation - - - - + + + + ms milliseconds - + + Deck and Bus outputs are for external mixers. They are post-fader and include effects and crossfader (for Auto DJ). For external mixing, make sure all Mixxx faders and EQ knobs are set to their default position (right- or double-click). + + + + 20 ms - + Buffer Underflow Count - + 0 - + Keylock/Pitch-Bending Engine - + Multi-Soundcard Synchronization - + Output - + Input Input - + System Reported Latency - + Enlarge your audio buffer if the underflow counter is increasing or you hear pops during playback. - + Main Output Delay - + Headphone Output Delay - + Booth Output Delay - + Dual-threaded Stereo - + Hints and Diagnostics - + Downsize your audio buffer to improve Mixxx's responsiveness. - + Query Devices @@ -7746,7 +8088,7 @@ The loudness target is approximate and assumes track pregain and main output lev - + Show Signal Quality in Skin @@ -7782,46 +8124,51 @@ The loudness target is approximate and assumes track pregain and main output lev + Pitch estimator + + + + Deck 1 - + Deck 2 - + Deck 3 - + Deck 4 - + Signal Quality - + http://www.xwax.co.uk - + Powered by xwax - + Hints - + Select sound devices for Vinyl Control in the Sound Hardware pane. @@ -7829,57 +8176,58 @@ The loudness target is approximate and assumes track pregain and main output lev DlgPrefWaveform - + Filtered - + HSV - + RGB - + Top - + Center - + Bottom - - 1/3rd of waveform viewer + + 1/3 of waveform viewer + options for "Text height limit" - - Full waveform viewer height + + Entire waveform viewer - + OpenGL not available - + dropped frames - + Cached waveforms occupy %1 MiB on disk. @@ -7892,250 +8240,297 @@ The loudness target is approximate and assumes track pregain and main output lev - + Frame rate - - Displays which OpenGL version is supported by the current platform. - - - - - Waveform + + OpenGL Status - - Normalize waveform overview + + Displays which OpenGL version is supported by the current platform. - + Average frame rate - + Visual gain - + Default zoom level Waveform zoom - + Displays the actual frame rate. - + Visual gain of the middle frequencies - + End of track warning - - OpenGL status - - - - + This functionality requires waveform acceleration. - + Highlight the waveforms when the last seconds of a track remains. - + seconds - + Low - + Show minute markers on waveform overview - + Use acceleration - + High details - + Middle - + Global - + Visual gain of the high frequencies - + Visual gain of the low frequencies - + High - + Global visual gain - + The waveform overview shows the waveform envelope of the entire track. Select from different types of displays for the waveform overview, which differ primarily in the level of detail shown in the waveform. - + Enabled - + The waveform shows the waveform envelope of the track near the current playback position. Select from different types of displays for the waveform, which differ primarily in the level of detail shown in the waveform. - - Waveform overview type - - - - + fps - + Synchronize zoom level across all waveform displays. - + Synchronize zoom level across all waveforms - + Play marker hints - + Beats until next marker - + Preferred font size - + Text height limit - + Time until next marker - + Placement - + pt - + Caching - + Mixxx caches the waveforms of your tracks on disk the first time you load a track. This reduces CPU usage when you are playing live but requires extra disk space. - + Enable waveform caching - + Generate waveforms when analyzing library - + Beat grid opacity - + + Scrolling Waveforms + + + + + + Type + + + + Stereo coloration - + Set amount of opacity on beat grid lines. - + % - + Play marker position - + Moves the play marker position on the waveforms to the left, right or center (default). - + + Stem + + + + + Channel opacity + + + + + Channel opacity (outline) + + + + + Main stem opacity + + + + + Outline stem opacity + + + + + Move channel to foreground when volume is adjusted + + + + + Overview Waveforms + + + + + Gain + + + + + Normalize to peak + + + + + Use Waveform "Global" gain and ReplayGain (if enabled) + 'Global' refers to the 'Global' visual gain in the scrolling waveform settings + + + + Clear Cached Waveforms @@ -8143,47 +8538,47 @@ Select from different types of displays for the waveform, which differ primarily DlgPreferences - + Sound Hardware - + Controllers - + Library Bibliotek - + Interface - + Waveforms - + Mixer Mixer - + Auto DJ Auto DJ - + Decks - + Colors @@ -8218,47 +8613,47 @@ Select from different types of displays for the waveform, which differ primarily - + Effects Effekter - + Recording - + Beat Detection - + Key Detection - + Normalization - + <font color='#BB0000'><b>Some preferences pages have errors. To apply the changes please first fix the issues.</b></font> - + Vinyl Control - + Live Broadcasting - + Modplug Decoder @@ -8291,22 +8686,22 @@ Select from different types of displays for the waveform, which differ primarily - + Start Recording - + Recording to file: - + Stop Recording - + %1 MiB written in %2 @@ -8614,284 +9009,289 @@ This can not be undone! - + Filetype: - + BPM: BPM: - + Location: - + Bitrate: - + Comments - + BPM BPM - + Sets the BPM to 75% of the current value. - + 3/4 BPM - + Sets the BPM to 50% of the current value. - + Displays the BPM of the selected track. - + Track # Spor # - + Album Artist Albumskunstner - + Composer Komponist - + Title Titel - + Grouping Gruppering - + Key Tast - + Year År - + Artist Kunstner - + Album Album - + Genre Genre - + ReplayGain: - + Sets the BPM to 200% of the current value. - + Double BPM - + Halve BPM - + Clear BPM and Beatgrid - + Move to the previous item. "Previous" button - + &Previous - + Move to the next item. "Next" button - + &Next - + Duration: - + Import Metadata from MusicBrainz - + Re-Import Metadata from file - + Color Farve - + Date added: - + Open in File Browser - + Samplerate: - + + Filesize: + + + + Track BPM: - + Converts beats detected by the analyzer into a fixed-tempo beatgrid. Use this setting if your tracks have a constant tempo (e.g. most electronic music). Often results in higher quality beatgrids, but will not do well on tracks that have tempo shifts. - + Assume constant tempo - + Sets the BPM to 66% of the current value. - + 2/3 BPM - + Sets the BPM to 150% of the current value. - + 3/2 BPM - + Sets the BPM to 133% of the current value. - + 4/3 BPM - + Tap with the beat to set the BPM to the speed you are tapping. - + Tap to Beat - + Hint: Use the Library Analyze view to run BPM detection. - + Save changes and close the window. "OK" button - + &OK - + Discard changes and close the window. "Cancel" button - + Save changes and keep the window open. "Apply" button - + &Apply - + &Cancel - + (no color) @@ -9048,7 +9448,7 @@ Often results in higher quality beatgrids, but will not do well on tracks that h - + (no color) @@ -9250,27 +9650,27 @@ Often results in higher quality beatgrids, but will not do well on tracks that h EngineBuffer - + Soundtouch (faster) - + Rubberband (better) - + Rubberband R3 (near-hi-fi quality) - + Unknown, using Rubberband (better) - + Unknown, using Soundtouch @@ -9414,38 +9814,38 @@ Often results in higher quality beatgrids, but will not do well on tracks that h ITunesFeature - - + + iTunes - + Select your iTunes library - + (loading) iTunes - + Use Default Library - + Choose Library... - + Error Loading iTunes Library - + There was an error loading your iTunes library. Check the logs for details. @@ -9453,12 +9853,12 @@ Often results in higher quality beatgrids, but will not do well on tracks that h LegacyControllerColorSetting - + Change color - + Choose a new color @@ -9466,18 +9866,18 @@ Often results in higher quality beatgrids, but will not do well on tracks that h LegacyControllerFileSetting - + Browse... - - + + No file selected - + Select a file @@ -9485,15 +9885,15 @@ Often results in higher quality beatgrids, but will not do well on tracks that h LegacySkinParser - - + + Safe Mode Enabled Shown when Mixxx is running in safe mode. - - + + No OpenGL support. Shown when Spinny can not be displayed. Please keep @@ -9504,57 +9904,57 @@ Shown when VuMeter can not be displayed. Please keep - + activate - + toggle - + right - + left - + right small - + left small - + up - + down - + up small - + down small - + Shortcut @@ -9562,62 +9962,62 @@ Shown when VuMeter can not be displayed. Please keep Library - + This or a parent directory is already in your library. - + This or a listed directory does not exist or is inaccessible. Aborting the operation to avoid library inconsistencies - - + + This directory can not be read. - + An unknown error occurred. Aborting the operation to avoid library inconsistencies - + Can't add Directory to Library - + Could not add <b>%1</b> to your library. %2 - + Can't remove Directory from Library - + An unknown error occurred. - + This directory does not exist or is inaccessible. - + Relink Directory - + Could not relink <b>%1</b> to <b>%2</b>. %3 @@ -9627,22 +10027,22 @@ Aborting the operation to avoid library inconsistencies LibraryFeature - + Import Playlist Importér afspilningsliste - + Playlist Files (*.m3u *.m3u8 *.pls *.csv) Afspillingsliste Filer (*.m3u *.m3u8 *.pls *.csv) - + Overwrite File? - + A playlist file with the name "%1" already exists. The default "m3u" extension was added because none was specified. @@ -9689,27 +10089,27 @@ Do you really want to overwrite it? MidiController - + MixxxControl(s) not found - + One or more MixxxControls specified in the outputs section of the loaded mapping were invalid. - + * Make sure the MixxxControls in question actually exist. Visit the manual for a complete list: - + Some LEDs or other feedback may not work correctly. - + * Check to see that the MixxxControl names are spelled correctly in the mapping file (.xml) @@ -9769,22 +10169,22 @@ Do you really want to overwrite it? MixxxLibraryFeature - + Missing Tracks - + Hidden Tracks - - Export to Engine Prime + + Export to Engine DJ - + Tracks @@ -9792,208 +10192,249 @@ Do you really want to overwrite it? MixxxMainWindow - + Sound Device Busy - + <b>Retry</b> after closing the other application or reconnecting a sound device - - + + <b>Reconfigure</b> Mixxx's sound device settings. - - + + Get <b>Help</b> from the Mixxx Wiki. - - - + + + <b>Exit</b> Mixxx. - + Retry - + skin - + Allow Mixxx to hide the menu bar? - + Hide Always show the menu bar? - + Always show - + The Mixxx menu bar is hidden and can be toggled with a single press of the <b>Alt</b> key.<br><br>Click <b>%1</b> to agree.<br><br>Click <b>%2</b> to disable that, for example if you don't use Mixxx with a keyboard.<br><br>You can change this setting any time in Preferences -> Interface.<br> Keep formatting tags <b> (bold text) and <br> (linebreak). %1 is the placeholder for the 'Always show' button label - + Ask me again - - + + Reconfigure - + Help - - + + Exit - - + + Mixxx was unable to open all the configured sound devices. - + Sound Device Error - + <b>Retry</b> after fixing an issue - + No Output Devices - + Mixxx was configured without any output sound devices. Audio processing will be disabled without a configured output device. - + <b>Continue</b> without any outputs. - + Continue - + Load track to Deck %1 - + Deck %1 is currently playing a track. - + Are you sure you want to load a new track? - + There is no input device selected for this vinyl control. Please select an input device in the sound hardware preferences first. - + There is no input device selected for this passthrough control. Please select an input device in the sound hardware preferences first. - + There is no input device selected for this microphone. Do you want to select an input device? - + There is no input device selected for this auxiliary. Do you want to select an input device? - + + Scan took %1 + + + + + No changes detected. + + + + + + %1 tracks in total + + + + + %1 new tracks found + + + + + %1 moved tracks detected + + + + + %1 tracks are missing (%2 total) + + + + + %1 tracks have been rediscovered + + + + + Library scan finished + + + + Error in skin file - + The selected skin cannot be loaded. - + OpenGL Direct Rendering - + Direct rendering is not enabled on your machine.<br><br>This means that the waveform displays will be very<br><b>slow and may tax your CPU heavily</b>. Either update your<br>configuration to enable direct rendering, or disable<br>the waveform displays in the Mixxx preferences by selecting<br>"Empty" as the waveform display in the 'Interface' section. - - - + + + Confirm Exit - + A deck is currently playing. Exit Mixxx? - + A sampler is currently playing. Exit Mixxx? - + The preferences window is still open. - + Discard any changes and exit Mixxx? @@ -10009,13 +10450,13 @@ Do you want to select an input device? PlaylistFeature - + Lock Lås - - + + Playlists @@ -10025,32 +10466,63 @@ Do you want to select an input device? - + + Adopt current order + + + + + Unlock all playlists + + + + + Delete all unlocked playlists + + + + Unlock Lås op - + + + Confirm Deletion + + + + + Do you really want to delete all unlocked playlists? + + + + + Deleting %1 unlocked playlists.<br>This operation can not be undone! + + + + Playlists are ordered lists of tracks that allow you to plan your DJ sets. - + It may be necessary to skip some tracks in your prepared playlist or add some different tracks in order to maintain the energy of your audience. - + Some DJs construct playlists before they perform live, but others prefer to build them on-the-fly. - + When using a playlist during a live DJ set, remember to always pay close attention to how your audience reacts to the music you've chosen to play. - + Create New Playlist Opret ny afspilningsliste @@ -10149,58 +10621,58 @@ Do you want to select an input device? QMessageBox - + Upgrading Mixxx - + Mixxx now supports displaying cover art. Do you want to scan your library for cover files now? - + Scan Skan - + Later - + Upgrading Mixxx from v1.9.x/1.10.x. - + Mixxx has a new and improved beat detector. - + When you load tracks, Mixxx can re-analyze them and generate new, more accurate beatgrids. This will make automatic beatsync and looping more reliable. - + This does not affect saved cues, hotcues, playlists, or crates. - + If you do not want Mixxx to re-analyze your tracks, choose "Keep Current Beatgrids". You can change this setting at any time from the "Beat Detection" section of the Preferences. - + Keep Current Beatgrids - + Generate New Beatgrids @@ -10314,69 +10786,82 @@ Do you want to scan your library for cover files now? - + Main + Audio path indetifier - + Booth + Audio path indetifier - + Headphones + Audio path indetifier - + Left Bus + Audio path indetifier - + Center Bus + Audio path indetifier - + Right Bus + Audio path indetifier - + Invalid Bus + Audio path indetifier - + Deck + Audio path indetifier - + Record/Broadcast + Audio path indetifier - + Vinyl Control + Audio path indetifier - + Microphone + Audio path indetifier - + Auxiliary + Audio path indetifier - + Unknown path type %1 + Audio path @@ -10705,47 +11190,49 @@ With width at zero, this allows for manually sweeping over the entire delay rang - + Metronome - + + The Mixxx Team - + Adds a metronome click sound to the stream - + BPM BPM - + Set the beats per minute value of the click sound - + Sync - + Synchronizes the BPM with the track if it can be retrieved - + + Gain - + Set the gain of metronome click sound @@ -11529,19 +12016,19 @@ Fully right: end of the effect period - - + + encoder failure - - + + Failed to apply the selected settings. - + Deck %1 Pladespiller 1 @@ -11674,7 +12161,7 @@ Hint: compensates "chipmunk" or "growling" voices - + Passthrough @@ -11705,7 +12192,7 @@ Hint: compensates "chipmunk" or "growling" voices - + Sampler %1 @@ -11742,15 +12229,86 @@ and the processed output signal as close as possible in perceived loudness + + Auto Gain Control + + + + + AGC + + + + + Auto Gain Control (AGC) automatically adjusts the gain of an audio signal to maintain a consistent output level. + + + + Threshold (dBFS) + Threshold + + + The Threshold knob adjusts the level above which the effect starts enhancing the input signal + + + + + Target (dBFS) + + + + + Target + + + + + The Target knob adjusts the desired target level of the output signal + + + + + Gain (dB) + + + + + The Gain knob adjusts the maximum amount of gain that the effect will apply + + + + + Knee (dB) + + + + + The Knee knob defines the range around the Threshold where gain changes are applied gradually, +ensuring smooth transitions and avoiding abrupt level shifts. + + + + + The Attack knob sets the time that determines how fast the auto gain +will set in once the signal exceeds the threshold + + + + + The Release knob sets the time that determines how fast the auto gain will recover from the gain +adjustment once the signal falls under the threshold. Depending on the input signal, short release times +may introduce a 'pumping' effect and/or distortion. + + The Threshold knob adjusts the level above which the compressor starts attenuating the input signal @@ -11779,6 +12337,7 @@ At a ratio of 1:1 no compression is happening, as the input is exactly the outpu + Knee @@ -11789,11 +12348,13 @@ At a ratio of 1:1 no compression is happening, as the input is exactly the outpu + Attack (ms) + Attack @@ -11805,11 +12366,13 @@ will set in once the signal exceeds the threshold + Release (ms) + Release @@ -11838,12 +12401,12 @@ may introduce a 'pumping' effect and/or distortion. - + built-in - + missing @@ -11878,42 +12441,42 @@ may introduce a 'pumping' effect and/or distortion. - + Empty - + Simple - + Filtered - + HSV - + VSyncTest - + RGB - + Stacked - + Unknown @@ -11971,54 +12534,54 @@ may introduce a 'pumping' effect and/or distortion. RekordboxFeature - - - + + + Rekordbox - + Playlists - + Folders - + Reads databases exported for Pioneer CDJ / XDJ players using the Rekordbox Export mode.<br/>Rekordbox can only export to USB or SD devices with a FAT or HFS file system.<br/>Mixxx can read a database from any device that contains the database folders (<tt>PIONEER</tt> and <tt>Contents</tt>).<br/>Not supported are Rekordbox databases that have been moved to an external device via<br/><i>Preferences > Advanced > Database management</i>.<br/><br/>The following data is read: - + Hot cues - + Loops (only the first loop is currently usable in Mixxx) - + Check for attached Rekordbox USB / SD devices (refresh) - + Beatgrids - + Memory cues - + (loading) Rekordbox @@ -12153,19 +12716,19 @@ may introduce a 'pumping' effect and/or distortion. Lås - - + + Confirm Deletion Bekræft sletning - + Do you really want to delete all unlocked playlist from <b>%1</b>?<br><br> %1 is the year <b> + </b> are used to make the text in between bold in the popup <br> is a linebreak - + Deleting %1 playlists from <b>%2</b>.<br><br> %1 is the number of playlists to be deleted %2 is the year <b> + </b> are used to make the text in between bold in the popup <br> is a linebreak @@ -12174,193 +12737,193 @@ may introduce a 'pumping' effect and/or distortion. ShoutConnection - - + + Mixxx encountered a problem - + Could not allocate shout_t - + Could not allocate shout_metadata_t - + Error setting non-blocking mode: - + Error setting tls mode: - + Error setting hostname! - + Error setting port! - + Error setting password! - + Error setting mount! - + Error setting username! - + Error setting stream name! - + Error setting stream description! - + Error setting stream genre! - + Error setting stream url! - + Error setting stream IRC! - + Error setting stream AIM! - + Error setting stream ICQ! - + Error setting stream public! - + Unknown stream encoding format! - + Use a libshout version with %1 enabled - + Error setting stream encoding format! - + Broadcasting at 96 kHz with Ogg Vorbis is not currently supported. Please try a different sample rate or switch to a different encoding. - + See https://github.com/mixxxdj/mixxx/issues/5701 for more information. - + Unsupported sample rate - + Error setting bitrate - + Error: unknown server protocol! - + Error: Shoutcast only supports MP3 and AAC encoders - + Error setting protocol! - + Network cache overflow - + Connection error - + One of the Live Broadcasting connections raised this error:<br><b>Error with connection '%1':</b><br> - + Connection message - + <b>Message from Live Broadcasting connection '%1':</b><br> - + Lost connection to streaming server and %1 attempts to reconnect have failed. - + Lost connection to streaming server. - + Please check your connection to the Internet. - + Can't connect to streaming server - + Please check your connection to the Internet and verify that your username and password are correct. @@ -12368,7 +12931,7 @@ may introduce a 'pumping' effect and/or distortion. SoftwareWaveformWidget - + Filtered @@ -12376,23 +12939,23 @@ may introduce a 'pumping' effect and/or distortion. SoundManager - - + + a device - + An unknown error occurred - + Two outputs cannot share channels on "%1" - + Error opening "%1" @@ -12577,7 +13140,7 @@ may introduce a 'pumping' effect and/or distortion. - + Spinning Vinyl @@ -12759,7 +13322,7 @@ may introduce a 'pumping' effect and/or distortion. - + Cover Art Cover-kunst @@ -12949,243 +13512,243 @@ may introduce a 'pumping' effect and/or distortion. - + Displays the tempo of the loaded track in BPM (beats per minute). - + Tempo - + Key The musical key of a track Tast - + BPM Tap - + When tapped repeatedly, adjusts the BPM to match the tapped BPM. - + Adjust BPM Down - + When tapped, adjusts the average BPM down by a small amount. - + Adjust BPM Up - + When tapped, adjusts the average BPM up by a small amount. - + Adjust Beats Earlier - + When tapped, moves the beatgrid left by a small amount. - + Adjust Beats Later - + When tapped, moves the beatgrid right by a small amount. - + Tempo and BPM Tap - + Show/hide the spinning vinyl section. - + Keylock - + Toggling keylock during playback may result in a momentary audio glitch. - + Toggle visibility of Loop Controls - + Toggle visibility of Beatjump Controls - + Toggle visibility of Rate Control - + Toggle visibility of Key Controls - + (while previewing) - + Places a cue point at the current position on the waveform. - + Stops track at cue point, OR go to cue point and play after release (CUP mode). - + Set cue point (Pioneer/Mixxx/Numark mode), set cue point and play after release (CUP mode) OR preview from it (Denon mode). - + Is latching the playing state. - + Seeks the track to the cue point and stops. - + Play Afspil - + Plays track from the cue point. - + Sends the selected channel's audio to the headphone output, selected in Preferences -> Sound Hardware. - + (This skin should be updated to use Sync Lock!) - + Enable Sync Lock - + Tap to sync the tempo to other playing tracks or the sync leader. - + Enable Sync Leader - + When enabled, this device will serve as the sync leader for all other decks. - + This is relevant when a dynamic tempo track is loaded to a sync leader deck.In that case, other synced devices will adopt the changing tempo. - + Changes the track playback speed (affects both the tempo and the pitch). If keylock is enabled, only the tempo is affected. - + Tempo Range Display - + Displays the current range of the tempo slider. - + Un-ejects when no track is loaded, i.e. reloads the track that was ejected last (of any deck). - + Delete selected hotcue. - + Track Comment - + Displays the comment tag of the loaded track. - + Opens separate artwork viewer. - + Effect Chain Preset Settings - + Show the effect chain settings menu for this unit. - + Select and configure a hardware device for this input - + Recording Duration @@ -13408,939 +13971,982 @@ may introduce a 'pumping' effect and/or distortion. - + When tapped repeatedly, adjusts the tempo to match the tapped BPM. + + + Click to open the tempo/BPM editor + + + + + It also shows a colored bar if Key colors are enabled in the Preferences. + + + The bar will be split vertically if the track's key is in between full keys. + + + + Tempo Tap - + Rate Tap and BPM Tap - + + Set Tempo + + + + + Set the desired tempo in BPM. If the track currently has no BPM detected, set the desired tempo in percent. + + + + + Adjust beatgrid by exactly one half beat. Usable only on +tracks with constant tempo. + + + + Revert last BPM/Beatgrid Change - + Revert last BPM/Beatgrid Change of the loaded track. - - + + Toggle the BPM/beatgrid lock - + Tempo and Rate Tap - + Tempo, Rate Tap and BPM Tap - + Shift cues earlier - - + + Shift cues imported from Serato or Rekordbox if they are slightly off time. - + Left click: shift 10 milliseconds earlier - + Right click: shift 1 millisecond earlier - + Shift cues later - + Left click: shift 10 milliseconds later - + Right click: shift 1 millisecond later - + + + + Drag a Hotcue button here to continue playing after releasing the Hotcue. + + + + Hint: Change the default cue mode in Preferences -> Decks. - + Mutes the selected channel's audio in the main output. - + Main mix enable - + Hold or short click for latching to mix this input into the main output. - - If hotcue is a loop cue, toggles the loop and jumps to if the loop is behind the play position. + + Reloads the last replaced track. If no track is loaded reloads the second-last ejected track. - - If the play position is inside an active loop, stores the loop as loop cue. + + If hotcue is a loop cue, toggles the loop and jumps to if the loop is behind the play position. - - Drag this button onto another Hotcue button to move it there (change its index). If the other hotcue is set, the two are swapped. + + If the play position is inside an active loop, stores the loop as loop cue. - - Dragging with Shift key pressed will not start previewing the hotcue + + Drag this button onto another Hotcue button to move it there (change its index). If the other hotcue is set, the two are swapped. - + Expand/Collapse Samplers - + Toggle expanded samplers view. - + Displays the duration of the running recording. - + Auto DJ is active - + Red for when needle skip has been detected. - + Hot Cue - Track will seek to nearest previous hotcue point. - + Sets the track Loop-In Marker to the current play position. - + Press and hold to move Loop-In Marker. - + Jump to Loop-In Marker. - + Sets the track Loop-Out Marker to the current play position. - + Press and hold to move Loop-Out Marker. - + Jump to Loop-Out Marker. - + If the track has no beats the unit is seconds. - + Beatloop Size - + Select the size of the loop in beats to set with the Beatloop button. - + Changing this resizes the loop if the loop already matches this size. - + Halve the size of an existing beatloop, or halve the size of the next beatloop set with the Beatloop button. - + Double the size of an existing beatloop, or double the size of the next beatloop set with the Beatloop button. - + Start a loop over the set number of beats. - + Temporarily enable a rolling loop over the set number of beats. - + Beatloop Anchor - + Define whether the loop is created and adjusted from its staring point or ending point. - + Beatjump/Loop Move Size - + Select the number of beats to jump or move the loop with the Beatjump Forward/Backward buttons. - + Beatjump Forward - + Jump forward by the set number of beats. - + Move the loop forward by the set number of beats. - + Jump forward by 1 beat. - + Move the loop forward by 1 beat. - + Beatjump Backward - + Jump backward by the set number of beats. - + Move the loop backward by the set number of beats. - + Jump backward by 1 beat. - + Move the loop backward by 1 beat. - + Reloop - + If the loop is ahead of the current position, looping will start when the loop is reached. - + Works only if Loop-In and Loop-Out Marker are set. - + Enable loop, jump to Loop-In Marker, and stop playback. - + Displays the elapsed and/or remaining time of the track loaded. - + Click to toggle between time elapsed/remaining time/both. - + Hint: Change the time format in Preferences -> Decks. - + Show/hide intro & outro markers and associated buttons. - + + Ensure all waveforms to have the same height across all channels. By default, when displaying the stem controls, waveform for channel that have no stem may render with a shorter height in order to honor the waveform container size you have requested.. + + + + Intro Start Marker - - - - + + + + If marker is set, jumps to the marker. - - - - + + + + If marker is not set, sets the marker to the current play position. - - - - + + + + If marker is set, clears the marker. - + Intro End Marker - + Outro Start Marker - + Outro End Marker - + Mix - + Adjust the mixing of the dry (input) signal with the wet (output) signal of the effect unit - + D/W mode: Crossfade between dry and wet - + D+W mode: Add wet to dry - + Mix Mode - + Adjust how the dry (input) signal is mixed with the wet (output) signal of the effect unit - + Dry/Wet mode (crossed lines): Mix knob crossfades between dry and wet Use this to change the sound of the track with EQ and filter effects. - + Dry+Wet mode (flat dry line): Mix knob adds wet to dry Use this to change only the effected (wet) signal with EQ and filter effects. - + Route the main mix through this effect unit. - + Route the left crossfader bus through this effect unit. - + Route the right crossfader bus through this effect unit. - + Right side active: parameter moves with right half of Meta Knob turn - + Stem Label - + Name of the stem stored in the stem file - + Text is displayed in the stem color stored in the stem file - + this stem color is also used for the waveform of this stem - + Stem Mute - + Toggle the stem mute/unmuted - + Stem Volume Knob - + Adjusts the volume of the stem - + Skin Settings Menu - + Show/hide skin settings menu - + Save Sampler Bank - + Save the collection of samples loaded in the samplers. - + Load Sampler Bank - + Load a previously saved collection of samples into the samplers. - + Show Effect Parameters - + Enable Effect - + Meta Knob Link - + Set how this parameter is linked to the effect's Meta Knob. - + Meta Knob Link Inversion - + Inverts the direction this parameter moves when turning the effect's Meta Knob. - + Super Knob - + Next Chain - + Previous Chain - + Next/Previous Chain - + Clear Ryd - + Clear the current effect. - + Toggle Slå til eller fra - + Toggle the current effect. - + Next Næste - + Clear Unit - + Clear effect unit. - + Show/hide parameters for effects in this unit. - + Toggle Unit - + Enable or disable this whole effect unit. - + Controls the Meta Knob of all effects in this unit together. - + Load next effect chain preset into this effect unit. - + Load previous effect chain preset into this effect unit. - + Load next or previous effect chain preset into this effect unit. - - - - - - - - - + + + + + + + + + Assign Effect Unit - + Assign this effect unit to the channel output. - + Route the headphone channel through this effect unit. - + Route this deck through the indicated effect unit. - + Route this sampler through the indicated effect unit. - + Route this microphone through the indicated effect unit. - + Route this auxiliary input through the indicated effect unit. - + The effect unit must also be assigned to a deck or other sound source to hear the effect. - + Switch to the next effect. - + Previous Forrige - + Switch to the previous effect. - + Next or Previous Næste eller Forrige - + Switch to either the next or previous effect. - + Meta Knob - + Controls linked parameters of this effect - + Effect Focus Button - + Focuses this effect. - + Unfocuses this effect. - + Refer to the web page on the Mixxx wiki for your controller for more information. - + Effect Parameter - + Adjusts a parameter of the effect. - + Inactive: parameter not linked - + Active: parameter moves with Meta Knob - + Left side active: parameter moves with left half of Meta Knob turn - + Left and right side active: parameter moves across range with half of Meta Knob turn and back with the other half - - + + Equalizer Parameter Kill - - + + Holds the gain of the EQ to zero while active. - + Quick Effect Super Knob - + Quick Effect Super Knob (control linked effect parameters). - + Hint: Change the default Quick Effect mode in Preferences -> Equalizers. - + Equalizer Parameter - + Adjusts the gain of the EQ filter. - + Hint: Change the default EQ mode in Preferences -> Equalizers. - - + + Adjust Beatgrid - + Adjust beatgrid so the closest beat is aligned with the current play position. - - + + Adjust beatgrid to match another playing deck. - + If quantize is enabled, snaps to the nearest beat. - + Quantize - + Toggles quantization. - + Loops and cues snap to the nearest beat when quantization is enabled. - + Reverse - + Reverses track playback during regular playback. - + Puts a track into reverse while being held (Censor). - + Playback continues where the track would have been if it had not been temporarily reversed. - - - + + + Play/Pause - + Jumps to the beginning of the track. - + Syncs the tempo (BPM) and phase to that of the other track, if BPM is detected on both. - + Syncs the tempo (BPM) to that of the other track, if BPM is detected on both. - + Sync and Reset Key - + Increases the pitch by one semitone. - + Decreases the pitch by one semitone. - + Enable Vinyl Control - + When disabled, the track is controlled by Mixxx playback controls. - + When enabled, the track responds to external vinyl control. - + Enable Passthrough - + Indicates that the audio buffer is too small to do all audio processing. - + Displays cover artwork of the loaded track. - + Displays options for editing cover artwork. - + Star Rating - + Assign ratings to individual tracks by clicking the stars. @@ -14475,33 +15081,33 @@ Use this to change only the effected (wet) signal with EQ and filter effects. - + Prevents the pitch from changing when the rate changes. - + Changes the number of hotcue buttons displayed in the deck - + Starts playing from the beginning of the track. - + Jumps to the beginning of the track and stops. - - + + Plays or pauses the track. - + (while playing) @@ -14521,205 +15127,215 @@ Use this to change only the effected (wet) signal with EQ and filter effects. - + (while stopped) - + Cue - + Headphone - + Mute - + Old Synchronize - + Syncs to the first deck (in numerical order) that is playing a track and has a BPM. - + If no deck is playing, syncs to the first deck that has a BPM. - + Decks can't sync to samplers and samplers can only sync to decks. - + Hold for at least a second to enable sync lock for this deck. - + Decks with sync locked will all play at the same tempo, and decks that also have quantize enabled will always have their beats lined up. - + Resets the key to the original track key. - + Speed Control - - - + + + Changes the track pitch independent of the tempo. - + Increases the pitch by 10 cents. - + Decreases the pitch by 10 cents. - + Pitch Adjust - + Adjust the pitch in addition to the speed slider pitch. - + Opens a menu to clear hotcues or edit their labels and colors. - + + Drag this button onto a Play button while previewing to continue playback after release. + + + + + Dragging with Shift key pressed will not start previewing the hotcue. + + + + Record Mix Optag Mix - + Toggle mix recording. - + Enable Live Broadcasting - + Stream your mix over the Internet. - + Provides visual feedback for Live Broadcasting status: - + disabled, connecting, connected, failure. - + When enabled, the deck directly plays the audio arriving on the vinyl input. - + Playback will resume where the track would have been if it had not entered the loop. - + Loop Exit - + Turns the current loop off. - + Slip Mode - + When active, the playback continues muted in the background during a loop, reverse, scratch etc. - + Once disabled, the audible playback will resume where the track would have been. - + Track Key The musical key of a track - + Displays the musical key of the loaded track. - + Clock - + Displays the current time. - + Audio Latency Usage Meter - + Displays the fraction of latency used for audio processing. - + A high value indicates that audible glitches are likely. - + Do not enable keylock, effects or additional decks in this situation. - + Audio Latency Overload Indicator @@ -14759,259 +15375,259 @@ Use this to change only the effected (wet) signal with EQ and filter effects. - + Displays the current musical key of the loaded track after pitch shifting. - + Fast Rewind - + Fast rewind through the track. - + Fast Forward - + Fast forward through the track. - + Jumps to the end of the track. - + Sets the pitch to a key that allows a harmonic transition from the other track. Requires a detected key on both involved decks. - - - + + + Pitch Control - + Pitch Rate - + Displays the current playback rate of the track. - + Repeat - + When active the track will repeat if you go past the end or reverse before the start. - + Eject Skub ud - + Ejects track from the player. - + Hotcue - + If hotcue is set, jumps to the hotcue. - + If hotcue is not set, sets the hotcue to the current play position. - + Vinyl Control Mode - + Absolute mode - track position equals needle position and speed. - + Relative mode - track speed equals needle speed regardless of needle position. - + Constant mode - track speed equals last known-steady speed regardless of needle input. - + Vinyl Status - + Provides visual feedback for vinyl control status: - + Green for control enabled. - + Blinking yellow for when the needle reaches the end of the record. - + Loop-In Marker - + Loop-Out Marker - + Loop Halve - + Halves the current loop's length by moving the end marker. - + Deck immediately loops if past the new endpoint. - + Loop Double - + Doubles the current loop's length by moving the end marker. - + Beatloop - + Toggles the current loop on or off. - + Works only if Loop-In and Loop-Out marker are set. - + Vinyl Cueing Mode - + Determines how cue points are treated in vinyl control Relative mode: - + Off - Cue points ignored. - + One Cue - If needle is dropped after the cue point, track will seek to that cue point. - + Track Time - + Track Duration - + Displays the duration of the loaded track. - + Information is loaded from the track's metadata tags. - + Track Artist - + Displays the artist of the loaded track. - + Track Title - + Displays the title of the loaded track. - + Track Album Album - + Displays the album name of the loaded track. - + Track Artist/Title - + Displays the artist and title of the loaded track. @@ -15019,12 +15635,12 @@ Use this to change only the effected (wet) signal with EQ and filter effects. TrackCollection - + Hiding tracks - + The selected tracks are in the following playlists:%1Hiding them will remove them from these playlists. Continue? @@ -15032,47 +15648,42 @@ Use this to change only the effected (wet) signal with EQ and filter effects. TrackExportDlg - + Export finished - + Exporting %1 - - - Overwrite Existing File? - - - "%1" already exists, overwrite? + Replace Existing File? - - &Overwrite + + "%1" already exists, replace? - - Over&write All + + &Replace - - &Skip + + Apply to all files - Skip &All + &Skip - + Export Error @@ -15244,47 +15855,75 @@ This can not be undone! WCueMenuPopup - + Cue number - + Cue position - + Edit cue label - + Label... - + Delete this cue - - Toggle this cue type between normal cue and saved loop + + Turn this cue into a regular hotcue + + + + + Turn this cue into a saved loop + + + + + Left-click: Use the old size if known or the current beatloop size as the loop size + + + + + Right-click: Use the current play position as new loop end if it is after the cue + + + + + Turn this cue into a saved forward jump. + + is a linebreak. Try to not to extend the translation beyond the length of the longest source line so the tooltip remains compact. + + + + + Turn this cue into a saved backward jump (one shot loop). - - Left-click: Use the old size or the current beatloop size as the loop size + + Left-click: Use the old size if known or the current play position as jump start position +If this is already a jump cue, swap the jump position and the cue/target position. - - Right-click: Use the current play position as loop end if it is after the cue + + Right-click: use current play position as new jump start position - + Hotcue #%1 @@ -15408,407 +16047,448 @@ This can not be undone! - - E&xport Library to Engine Prime + + Search in Current View... - - Export the library to the Engine Prime format + + Search for tracks in the current library view + + + + + Ctrl+f + + + + + Search in Tracks Library... + + + + + Search in the internal track collection under "Tracks" in the library + + + + + Ctrl+Shift+F - + Create &New Playlist - + Create a new playlist - + Ctrl+n - + Create New &Crate - + Create a new crate - + Ctrl+Shift+N - - + + &View - + Auto-hide menu bar - + Auto-hide the main menu bar when it's not used. - + May not be supported on all skins. - + Show Skin Settings Menu - + Show the Skin Settings Menu of the currently selected Skin - + Ctrl+1 Menubar|View|Show Skin Settings - + Show Microphone Section - + Show the microphone section of the Mixxx interface. - + Ctrl+2 Menubar|View|Show Microphone Section - + Show Vinyl Control Section - + Show the vinyl control section of the Mixxx interface. - + Ctrl+3 Menubar|View|Show Vinyl Control Section - + Show Preview Deck - + Show the preview deck in the Mixxx interface. - + Ctrl+4 Menubar|View|Show Preview Deck - + Show Cover Art - + Show cover art in the Mixxx interface. - + Ctrl+6 Menubar|View|Show Cover Art - + Maximize Library - + Maximize the track library to take up all the available screen space. - + Space Menubar|View|Maximize Library - + + Show Auto DJ + + + + + Switch to the Auto DJ view. + + + + &Full Screen - + Display Mixxx using the full screen - + &Options - + &Vinyl Control - + Use timecoded vinyls on external turntables to control Mixxx - + Enable Vinyl Control &%1 - + &Record Mix - + Record your mix to a file - + Ctrl+R - + Enable Live &Broadcasting - + Stream your mixes to a shoutcast or icecast server - + Ctrl+L - + Enable &Keyboard Shortcuts - + Toggles keyboard shortcuts on or off - + Ctrl+` - + &Preferences - + Change Mixxx settings (e.g. playback, MIDI, controls) - + &Developer - + &Reload Skin - + Reload the skin - + Ctrl+Shift+R - + Developer &Tools - + Opens the developer tools dialog - + Ctrl+Shift+T - + Stats: &Experiment Bucket - + Enables experiment mode. Collects stats in the EXPERIMENT tracking bucket. - + Ctrl+Shift+E - + Stats: &Base Bucket - + Enables base mode. Collects stats in the BASE tracking bucket. - + Ctrl+Shift+B - + Deb&ugger Enabled - + Enables the debugger during skin parsing - + Ctrl+Shift+D - + &Help - + Show Keywheel menu title - + + E&xport Library to Engine DJ + "Engine DJ" must not be translated + + + + + Export the library to the Engine DJ format + + + + Show keywheel tooltip text - + F12 Menubar|View|Show Keywheel - + &Community Support - + Get help with Mixxx - + &User Manual - + Read the Mixxx user manual. - + &Keyboard Shortcuts - + Speed up your workflow with keyboard shortcuts. - + &Settings directory - + Open the Mixxx user settings directory. - + &Translate This Application - + Help translate this application into your language. - + &About - + About the application @@ -15816,25 +16496,25 @@ This can not be undone! WOverview - + Passthrough - + Ready to play, analyzing... Text on waveform overview when file is playable but no waveform is visible - - + + Loading track... Text on waveform overview when file is cached from source - + Finalizing... Text on waveform overview during finalizing of waveform analysis @@ -15843,25 +16523,13 @@ This can not be undone! WSearchLineEdit - - Clear input - Clear the search bar input field - - - - - Ctrl+F - Search|Focus - - - - + Search noun - + Clear input @@ -15872,169 +16540,163 @@ This can not be undone! - + Clear the search bar input field - - Enter a string to search for + + Return - - Use operators like bpm:115-128, artist:BooFar, -year:1990 + + Enter a string to search for. - - For more information see User Manual > Mixxx Library + + Use operators like bpm:115-128, artist:BooFar, -year:1990. - Shortcut + See User Manual > Mixxx Library for more information. - - Ctrl+F + + Focus/Select All (Search in current view) + Give search bar input focus - - Focus - Give search bar input focus + + Focus/Select All (Search in 'Tracks' library view) - - - Ctrl+Backspace + + Additional Shortcuts When Focused: - Shortcuts + Trigger search before search-as-you-type timeout or focus tracks view afterwards - Return + Esc or Ctrl+Return - Trigger search before search-as-you-type timeout orjump to tracks view afterwards + Immediately trigger search and focus tracks view + Exit search bar and leave focus - + Ctrl+Space - + Toggle search history Shows/hides the search history entries - + Delete or Backspace - - Delete query from history - - - - - Esc + + in search history - - Exit search - Exit search bar and leave focus + + Delete query from history WSearchRelatedTracksMenu - + Search related Tracks - + Key Tast - + harmonic with %1 - + BPM BPM - + between %1 and %2 - + Artist Kunstner - + Album Artist Albumskunstner - + Composer Komponist - + Title Titel - + Album Album - + Grouping Gruppering - + Year År - + Genre Genre - + Directory - + &Search selected @@ -16042,599 +16704,640 @@ This can not be undone! WTrackMenu - + Load to - + Deck - + Sampler - + Add to Playlist - + Crates - + Metadata - + Update external collections - + Cover Art Cover-kunst - + Adjust BPM - + Select Color - - + + Analyze Analyser - - + + Delete Track Files - + Add to Auto DJ Queue (bottom) Tilføj til Auto DJ-køen (bunden) - + Add to Auto DJ Queue (top) Tilføj til Auto DJ-køen (toppen) - + Add to Auto DJ Queue (replace) Tilføj til Auto DJ-køen (erstat) - + Preview Deck - + Remove Fjern - + Remove from Playlist - + Remove from Crate - + Hide from Library - + Unhide from Library - + Purge from Library - + Move Track File(s) to Trash - + Delete Files from Disk - + Properties - + Open in File Browser - + Select in Library - + Import From File Tags - + Import From MusicBrainz - + Export To File Tags - + BPM and Beatgrid - + Play Count - + Rating Vurdering - + Cue Point - + + Hotcues - + Intro - + Outro - + Key Tast - + ReplayGain - + Waveform - + Comment Bemærkning - + All - + + Sort hotcues by position (remove offsets) + + + + + Sort hotcues by position + + + + Lock BPM - + Unlock BPM - + Double BPM - + Halve BPM - + 2/3 BPM - + 3/4 BPM - + 4/3 BPM - + 3/2 BPM - + + Shift Beatgrid Half Beat + + + + Reanalyze - + Reanalyze (constant BPM) - + Reanalyze (variable BPM) - + Update ReplayGain from Deck Gain - + Deck %1 Pladespiller 1 - + Importing metadata of %n track(s) from file tags - + Marking metadata of %n track(s) to be exported into file tags - - + + Create New Playlist Opret ny afspilningsliste - + Enter name for new playlist: Indtast navn til ny afspilningsliste: - + New Playlist Ny afspilningsliste - - - + + + Playlist Creation Failed Afspilningsliste-oprettelsen fejlede - + A playlist by that name already exists. En afspillingsliste med samme navn eksisterer allerede. - + A playlist cannot have a blank name. En afspillingsliste kan ikke have et tomt navn. - + An unknown error occurred while creating playlist: En ukendt fejl opstod under oprettelsen af afspilningslisten: - + Add to New Crate - + Scaling BPM of %n track(s) - + Undo BPM/beats change of %n track(s) - + Locking BPM of %n track(s) - + Unlocking BPM of %n track(s) - + Setting rating of %n track(s) - + Setting color of %n track(s) - + Resetting play count of %n track(s) - + Resetting beats of %n track(s) - + Clearing rating of %n track(s) - + Clearing comment of %n track(s) - + Removing main cue from %n track(s) - + Removing outro cue from %n track(s) - + Removing intro cue from %n track(s) - + Removing loop cues from %n track(s) - + Removing hot cues from %n track(s) - + + Sorting hotcues of %n track(s) by position (remove offsets) + + + + + Sorting hotcues of %n track(s) by position + + + + Resetting keys of %n track(s) - + Resetting replay gain of %n track(s) - + Resetting waveform of %n track(s) - + Resetting all performance metadata of %n track(s) - + Move these files to the trash bin? - + Permanently delete these files from disk? - - + + This can not be undone! - + Cancel - + Delete Files - + Okay - + Move Track File(s) to Trash? - + Track Files Deleted - + Track Files Moved To Trash - + %1 track files were moved to trash and purged from the Mixxx database. - + %1 track files were deleted from disk and purged from the Mixxx database. - + Track File Deleted - + Track file was deleted from disk and purged from the Mixxx database. - + The following %1 file(s) could not be deleted from disk - + This track file could not be deleted from disk - + Remaining Track File(s) - + Close Luk - + Clear Reset metadata in right click track context menu in library - + Loops - + Clear BPM and Beatgrid - + Undo last BPM/beats change - + Move this track file to the trash bin? - + Permanently delete this track file from disk? - + All decks where these tracks are loaded will be stopped and the tracks will be ejected. - + All decks where this track is loaded will be stopped and the track will be ejected. - + Removing %n track file(s) from disk... - + Note: if you are in the Computer or Recording view you need to click the current view again to see changes. - + Track File Moved To Trash - + Track file was moved to trash and purged from the Mixxx database. - + Don't show again during this session - + The following %1 file(s) could not be moved to trash - + This track file could not be moved to trash + + + Replace current Auto DJ queue? + + + + + Do you want to replace the entire Auto DJ queue with the selected tracks? + + + + + Don't ask again during this session + + - + Setting cover art of %n track(s) - + Reloading cover art of %n track(s) @@ -16650,37 +17353,37 @@ This can not be undone! WTrackStemMenu - + Load for stem mixing - + Load pre-mixed stereo track - + Load the "%1" stem - + Load multiple stem into a stereo deck - + Select stems to load - + Release "CTRL" to load the current selection - + Use "CTRL" to select multiple stems @@ -16688,37 +17391,37 @@ This can not be undone! WTrackTableView - + Confirm track hide - + Are you sure you want to hide the selected tracks? - + Are you sure you want to remove the selected tracks from AutoDJ queue? - + Are you sure you want to remove the selected tracks from this crate? - + Are you sure you want to remove the selected tracks from this playlist? - + Don't ask again during this session - + Confirm track removal @@ -16726,60 +17429,65 @@ This can not be undone! WTrackTableViewHeader - + Show or hide columns. + + + Shuffle Tracks + + mixxx::CoreServices - + fonts - + database - + effects - + audio interface - + decks - + library - + Choose music library directory - + controllers - + Cannot open database - + Unable to establish a database connection. Mixxx requires QT with SQLite support. Please read the Qt SQL driver documentation for information on how to build it. @@ -16790,67 +17498,78 @@ Click OK to exit. mixxx::DlgLibraryExport - + Entire music library - - Selected crates + + Crates + + + + + Playlists + + + + + Selected crates/playlists - + Browse Gennemse - + Export directory - + Database version - + Export - + Cancel - - Export Library to Engine Prime + + Export Library to Engine DJ + "Engine DJ" must not be translated - + Export Library To - + No Export Directory Chosen - + No export directory was chosen. Please choose a directory in order to export the music library. - + A database already exists in the chosen directory. Exported tracks will be added into this database. - + A database already exists in the chosen directory, but there was a problem loading it. Export is not guaranteed to succeed in this situation. @@ -16871,7 +17590,7 @@ Click OK to exit. mixxx::EnginePrimeExportJob - + Failed to export track %1 - %2: %3 %1 is the artist %2 is the title and %3 is the original error message @@ -16881,23 +17600,23 @@ Click OK to exit. mixxx::LibraryExporter - + Export Completed - - Exported %1 track(s) and %2 crate(s). + + Exported %1 track(s), %2 crate(s), and %3 playlist(s). - + Export Failed - - Exporting to Engine Prime... + + Exporting to Engine DJ... @@ -16922,6 +17641,24 @@ Click OK to exit. + + mixxx::qml::QmlApplication + + + Existing user profile detected + + + + + Trying to run Mixxx 3.0 with an existing %0 user profile! <br><br>There is <b>serious risks</b> of data loss and corruption.<br>We recommend using a test profile folder with the '--settings-path' argument. <br><br>If you want to continue at your own risk, run Mixxx with the argument '--allow-dangerous-data-corruption-risk'. + + + + + Ok + + + mixxx::qml::QmlVisibleEffectsModel @@ -16930,4 +17667,27 @@ Click OK to exit. + + mixxx::qml::QmlWaveformRendererMark + + + Cannot find the marker pixmap + + + + + Cannot find the marker endPixmap + + + + + Cannot find the marker icon + + + + + Cannot find the marker endIcon + + + \ No newline at end of file diff --git a/res/translations/mixxx_de.qm b/res/translations/mixxx_de.qm index dc369d8dc6e86ef5f37e482e7ee5372dcf2b1cb8..65b3f5f7b84c919eefafa6bc1571a25f20e12071 100644 GIT binary patch delta 27861 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�t=Cy*_Hok2 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 XIxHK4Iy!wrWe<;qIjS1Ejne!d)Rsx| delta 26374 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 + + AllTrackLibraryFeature + + + All... + + + AnalysisFeature @@ -19,52 +27,52 @@ AutoDJFeature - + Crates Plattenkisten - + Enable Auto DJ Auto-DJ aktivieren - + Disable Auto DJ Auto-DJ deaktivieren - + Clear Auto DJ Queue Auto-DJ Warteschlange löschen - + Remove Crate as Track Source Plattenkiste als Track-Quelle entfernen - + Auto DJ Auto-DJ - + Confirmation Clear Bestätigung leeren - + Do you really want to remove all tracks from the Auto DJ queue? Möchten Sie wirklich alle Titel aus der Auto DJ-Warteschlange entfernen? - + This can not be undone. Dies kann nicht rückgängig gemacht werden. - + Add Crate as Track Source Plattenkiste als Track-Quelle hinzufügen @@ -222,7 +230,7 @@ - + Export Playlist Wiedergabeliste exportieren @@ -236,7 +244,7 @@ Export to Engine DJ "Engine DJ" is a product name and must not be translated. - + Exportieren nach Engine DJ @@ -276,13 +284,13 @@ - + Playlist Creation Failed Erstellen der Wiedergabeliste fehlgeschlagen - + An unknown error occurred while creating playlist: Ein unbekannter Fehler ist beim Erstellen der Wiedergabeliste aufgetreten: @@ -297,12 +305,12 @@ Möchten Sie die Wiedergabeliste<b>%1</b> wirklich löschen? - + M3U Playlist (*.m3u) M3U-Wiedergabeliste (*.m3u) - + M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Text CSV (*.csv);;Readable Text (*.txt) M3U-Wiedergabeliste (*.m3u);;M3U8-Wiedergabeliste (*.m3u8);;PLS-Wiedergabeliste (*.pls);;CSV (*.csv);;Normaler Text (*.txt) @@ -310,12 +318,12 @@ BaseSqlTableModel - + # # - + Timestamp Zeitstempel @@ -323,7 +331,7 @@ BaseTrackPlayerImpl - + Couldn't load track. Track konnte nicht geladen werden. @@ -361,7 +369,7 @@ Kanäle - + Color Farbe @@ -376,7 +384,7 @@ Komponist - + Cover Art Cover-Bild @@ -386,7 +394,7 @@ Hinzugefügt am - + Last Played Zuletzt gespielt @@ -416,7 +424,7 @@ Tonart - + Location Speicherort @@ -426,7 +434,7 @@ Übersicht - + Preview Vorhören @@ -466,7 +474,7 @@ Jahr - + Fetching image ... Tooltip text on the cover art column shown when the cover is read from disk Bild abrufen ... @@ -488,22 +496,22 @@ BroadcastProfile - + Can't use secure password storage: keychain access failed. Sicherer Kennwortspeicher kann nicht verwendet werden: Schlüsselbundzugriff ist fehlgeschlagen. - + Secure password retrieval unsuccessful: keychain access failed. Sichere Kennwortabfrage erfolglos: Schlüsselbundzugriff fehlgeschlagen. - + Settings error Einstellungsfehler - + <b>Error with settings for '%1':</b><br> <b>Fehler bei Einstellungen für '%1':</b><br> @@ -591,7 +599,7 @@ - + Computer Computer @@ -611,17 +619,17 @@ Scannen - + "Computer" lets you navigate, view, and load tracks from folders on your hard disk and external devices. Sie können Ordner auf Ihrer Festplatte und externen Geräten durchsuchen, sich Tracks anzeigen lassen und diese laden. - + It shows the data from the file tags, not track data from your Mixxx library like other track views. - + If you load a track file from here, it will be added to your library. @@ -734,12 +742,12 @@ Datei erstellt - + Mixxx Library Mixxx-Bibliothek - + Could not load the following file because it is in use by Mixxx or another application. Folgende Datei konnte nicht geladen werden, da sie in Mixxx oder einer anderen Anwendung in Benutzung ist. @@ -770,87 +778,92 @@ CmdlineArgs - + Mixxx is an open source DJ software. For more information, see: Mixxx ist eine quelloffene DJ Software. Mehr Informationen unter: - + Starts Mixxx in full-screen mode Startet Mixxx im Vollbild-Modus - + Use a custom locale for loading translations. (e.g 'fr') Verwenden Sie ein benutzerdefiniertes Gebietsschema für das Laden von Übersetzungen (z.B. 'de') - + Top-level directory where Mixxx should look for its resource files such as MIDI mappings, overriding the default installation location. Übergeordnetes Verzeichnis, in dem Mixxx nach seinen Ressourcendateien wie z. B. MIDI-Mappings suchen soll, wobei der Standard-Installationsort überschrieben wird. - + Path the debug statistics time line is written to Pfad, in den die Zeitleiste der Debug-Statistik geschrieben wird - + Causes Mixxx to display/log all of the controller data it receives and script functions it loads Lässt Mixxx alle Controller-Daten, die es empfängt und Skript-Funktionen die es lädt anzeigen/protokollieren - + The controller mapping will issue more aggressive warnings and errors when detecting misuse of controller APIs. New Controller Mappings should be developed with this option enabled! Das Controller-Mapping wird aggressivere Warnungen und Fehler ausgeben, wenn es einen Missbrauch von Controller-APIs feststellt. Neue Controller-Zuordnungen sollten mit dieser Option entwickelt werden! - + Enables developer-mode. Includes extra log info, stats on performance, and a Developer tools menu. Aktiviert den Entwicklermodus. Enthält zusätzliche Protokollinformationen, Statistiken zur Leistung und ein Menü für Entwicklerwerkzeuge. - + Top-level directory where Mixxx should look for settings. Default is: Verzeichnis, in dem Mixxx nach Einstellungen suchen soll. Standard ist: - + Starts Auto DJ when Mixxx is launched. Startet Auto DJ, wenn Mixxx gestartet wird. - + Rescans the library when Mixxx is launched. Scannt die Bibliothek erneut wenn Mixxx gestartet wird - + Use legacy vu meter Frühere Methode für Pegelanzeigen nutzen - + Use legacy spinny Frühere Methode für drehendes Vinyl nutzen - - Loads experimental QML GUI instead of legacy QWidget skin - Lädt experimentelle QML-GUI anstelle des früheren QWidget-Skins + + Loads the highly unstable 3.0 Mixxx interface, based on QML. You need to use a new setting profile, or run with 'allow-dangerous-data-corruption-risk' to use with the current one. We highly recommend backing up your data if you do so. + + + + + Force Mixxx to load an unstable version with an existing user profile from a stable version + - + Enables safe-mode. Disables OpenGL waveforms, and spinning vinyl widgets. Try this option if Mixxx is crashing on startup. Aktiviert den Safe-Modus. Deaktiviert OpenGL-Wellenformen und rotierende Vinyl-Widgets. Versuchen Sie diese Option, wenn Mixxx beim Starten abstürzt. - + [auto|always|never] Use colors on the console output. [auto|always|never] Farbige Konsolenausgabe verwenden. - + Sets the verbosity of command line logging. critical - Critical/Fatal only warning - Above + Warnings @@ -865,32 +878,32 @@ debug - Wie oben + Debug-/Entwicklermeldungen trace - Wie oben + Profiling-Meldungen - + Sets the the logging level at which the log buffer is flushed to mixxx.log. <level> is one of the values defined at --log-level above. Legt die Protokollierungsstufe fest, mit welcher der Protokollpuffer in mixxx.log geschrieben wird. <level> ist einer der oben unter --logLevel definierten Werte. - + Sets the maximum file size of the mixxx.log file in bytes. Use -1 for unlimited. The default is 100 MB as 1e5 or 100000000. Legt die maximale Dateigröße der Datei mixxx.log in Bytes fest. Verwenden Sie -1 für unbegrenzt. Der Standardwert ist 100 MB als 1e5 oder 100000000. - + Breaks (SIGINT) Mixxx, if a DEBUG_ASSERT evaluates to false. Under a debugger you can continue afterwards. Bricht (SIGINT) Mixxx ab, wenn ein DEBUG_ASSERT zu false ausgewertet wird. Unter einem Debugger können Sie danach fortfahren. - + Overrides the default application GUI style. Possible values: %1 - + Überschreibt den Standard Stil der grafischen Benutzeroberfläche der Anwendung. Mögliche Werte: %1 - + Load the specified music file(s) at start-up. Each file you specify will be loaded into the next virtual deck. Lädt die angegebene(n) Musikdatei(en) beim Start. Jede angegebene Datei wird in das nächste virtuelle Deck geladen. - + Preview rendered controller screens in the Setting windows. @@ -983,2567 +996,2748 @@ trace - Wie oben + Profiling-Meldungen ControlPickerMenu - + Headphone Output Kopfhörer-Ausgang - - - + + + + Deck %1 + %1 is the deck number 1 ... 4 Deck %1 - + Sampler %1 Sampler %1 - + Preview Deck %1 Vorhör-Deck %1 - + Microphone %1 Mikrofon %1 - + Auxiliary %1 Aux %1 - + Reset to default Auf Standartwerte zurücksetzen - + Effect Rack %1 Effekt-Rack %1 - + Parameter %1 Parameter %1 - + Mixer Mixer - - + + Crossfader Crossfader - + Headphone mix (pre/main) Kopfhörer-Mix (Vorhören/Alles) - + Toggle headphone split cueing Vorhören im Kopfhörer aufteilen - + Headphone delay Kopfhörer-Verzögerung - + Transport Transport - + Strip-search through track Strip-Suche durch Track - + Play button Wiedergabe-Taste - - + + Set to full volume Auf volle Lautstärke setzen - - + + Set to zero volume Lautstärke auf Null setzen - + Stop button Stop-Taste - + Jump to start of track and play Zum Anfang des Tracks springen und wiedergeben - + Jump to end of track Zum Ende des Tracks springen - + Reverse roll (Censor) button Rückwärts-Roll- (Zensieren-) Taste - + Headphone listen button Kopfhörer-Taste - - + + Mute button Stummschalten-Taste - + Toggle repeat mode Wiederholen-Modus ein-/ausschalten - - + + Mix orientation (e.g. left, right, center) Mix-Orientierung (z.B. Links, Rechts, Mitte) - - + + Set mix orientation to left Der linken Seite des Crossfaders zuordnen - - + + Set mix orientation to center Der rechten Seite des Crossfaders zuordnen - - + + Set mix orientation to right Der Mitte des Crossfaders zuordnen - + Toggle slip mode Slip-Modus ein-/ausschalten - - + + BPM BPM - + Increase BPM by 1 BPM um 1 erhöhen - + Decrease BPM by 1 BPM um 1 verringern - + Increase BPM by 0.1 BPM um 0,1 erhöhen - + Decrease BPM by 0.1 BPM um 0,1 verringern - + BPM tap button BPM Tippen-Taste - + Toggle quantize mode Quantisierungs-Modus ein-/ausschalten - + One-time beat sync (tempo only) Einmalige Beat-Synchronisation (Nur Tempo) - + One-time beat sync (phase only) Einmalige Beat-Synchronisation (Nur Phase) - + Toggle keylock mode Tonhöhensperre ein-/ausschalten - + Equalizers Equalizer - + Vinyl Control Vinyl-Steuerung - + Toggle vinyl-control cueing mode (OFF/ONE/HOT) Cueing-Modus der Vinyl-Steuerung umschalten (OFF/ONE/HOT) - + Toggle vinyl-control mode (ABS/REL/CONST) Vinyl-Steuerungs-Modus umschalten (ABS/REL/CONST) - + Pass through external audio into the internal mixer Externe Audiosignale in den internen Mixer senden - + Cues Cues - + Cue button Cue-Taste - + Set cue point Cue-Punkt setzen - + Go to cue point Zu Cue-Punkt gehen - + Go to cue point and play Zu Cue-Punkt gehen und wiedergeben - + Go to cue point and stop Zu Cue-Punkt gehen und stoppen - + Preview from cue point Vom Cue-Punkt aus vorhören - + Cue button (CDJ mode) Cue-Taste (CDJ-Modus) - + Stutter cue Stotter-Cue - + Hotcues Hotcues - + Set, preview from or jump to hotcue %1 Hotcue %1 setzen, vorhören, oder dorthin springen - + Clear hotcue %1 Hotcue %1 löschen - + Set hotcue %1 Hotcue %1 setzen - + Jump to hotcue %1 Zu Hotcue %1 springen - + Jump to hotcue %1 and stop Zu Hotcue %1 springen und stoppen - + Jump to hotcue %1 and play Zu Hotcue %1 springen und wiedergeben - + Preview from hotcue %1 Von Hotcue %1 aus vorhören - - + + Hotcue %1 Hotcue %1 - + Looping Looping - + Loop In button Loop-In Taste - + Loop Out button Loop-Out Taste - + Loop Exit button Loop Beenden-Taste - + 1/2 1/2 - + 1 1 - + 2 2 - + 4 4 - + 8 8 - + 16 16 - + 32 32 - + 64 64 - + Move loop forward by %1 beats Loop um %1 Beats vorwärts verschieben - + Move loop backward by %1 beats Loop um %1 Beats rückwärts verschieben - + Create %1-beat loop %1-Beat Loop erzeugen - + Create temporary %1-beat loop roll Temporären %1-Beat Loop-Roll erzeugen - + Library Bibliothek - + Slot %1 Platz %1 - + Headphone Mix Kopfhörer-Mix - + Headphone Split Cue Vorhören im Kopfhörer aufteilen - + Headphone Delay Kopfhörer-Verzögerung - + Play Wiedergabe - + Fast Rewind Schneller Rücklauf - + Fast Rewind button Schneller Rücklauf-Taste - + Fast Forward Schneller Vorlauf - + Fast Forward button Schneller Vorlauf-Taste - + Strip Search Strip-Suche - + Play Reverse Rückwärts abspielen - + Play Reverse button Rückwärts Abspielen-Taste - + Reverse Roll (Censor) Rückwärts-Roll (Zensieren) - + Jump To Start Zum Anfang springen - + Jumps to start of track Springt zum Anfang des Tracks - + Play From Start Vom Anfang wiedergeben - + Stop Stop - + Stop And Jump To Start Stoppen und zum Anfang springen - + Stop playback and jump to start of track Wiedergabe stoppen und zum Anfang des Tracks springen - + Jump To End Zum Ende springen - + Volume Lautstärke - - - + + + Volume Fader Lautstärke-Fader - - + + Full Volume Volle Lautstärke - - + + Zero Volume Lautstärke Null - + Track Gain Track-Verstärkung - + Track Gain knob Track-Verstärkungs-Drehregler - - + + Mute Stummschalten - + Eject Auswerfen - - + + Headphone Listen Kopfhörer-Vorhören - + Headphone listen (pfl) button Kopfhörer-Vorhören (pfl) Taste - + Repeat Mode Wiederholen-Modus - + Slip Mode Slip-Modus - - + + Orientation Orientierung - - + + Orient Left Links orientieren - - + + Orient Center Mittig orientieren - - + + Orient Right Rechts orientieren - + BPM +1 BPM +1 - + BPM -1 BPM -1 - + BPM +0.1 BPM +0,1 - + BPM -0.1 BPM -0,1 - + BPM Tap BPM-Tippen - + Adjust Beatgrid Faster +.01 Beatgrid schneller +0,01 - + Increase track's average BPM by 0.01 Durchschnittliche BPM des Tracks um 0,01 erhöhen - + Adjust Beatgrid Slower -.01 Beatgrid langsamer -0,01 - + Decrease track's average BPM by 0.01 Durchschnittliche BPM des Tracks um 0,01 verringern - + Move Beatgrid Earlier Beatgrid verschieben früher - + Adjust the beatgrid to the left Beatgrid nach links verschieben - + Move Beatgrid Later Beatgrid verschieben später - + Adjust the beatgrid to the right Beatgrid nach rechts verschieben - + Adjust Beatgrid Beatgrid anpassen - + Align beatgrid to current position Beatgrid an der aktuellen Position ausrichten - + Adjust Beatgrid - Match Alignment Beatgrid anpassen - Anordnung angleichen - + Adjust beatgrid to match another playing deck. Beatgrid entsprechend einem anderen spielenden Deck anpassen. - + Quantize Mode Quantisieren-Modus - + Sync Synchronisation - + Beat Sync One-Shot Einmalige Beat-Synchronisation - + Sync Tempo One-Shot Einmalige Tempo-Synchronisation - + Sync Phase One-Shot Einmalige Phasen-Synchronisation - + Pitch control (does not affect tempo), center is original pitch Tonhöhensteuerung (verändert Tempo nicht), Mitte ist originale Tonhöhe - + Pitch Adjust Tonhöhenanpassung - + Adjust pitch from speed slider pitch Verändert die Tonhöhe, ausgehend von der Tonhöhe der Geschwindigkeits-Schieberegler - + Match musical key Tonart synchronisieren - + Match Key Tonart anpassen - + Reset Key Tonart zurücksetzen - + Resets key to original Auf Original-Tonart zurücksetzen - + High EQ Höhen-Equalizer - + Mid EQ Mitten-Equalizer - - + + Main Output Hauptausgang - + Main Output Balance Hauptausgang-Balance - + Main Output Delay Hauptausgang-Verzögerung - + Main Output Gain Hauptausgang-Verstärkung - + Low EQ Tiefen-Equalizer - + Toggle Vinyl Control Vinyl-Steuerung ein-/ausschalten - + Toggle Vinyl Control (ON/OFF) Vinyl-Steuerung ein-/ausschalten (ON/OFF) - + Vinyl Control Mode Vinyl-Steuerungsmodus - + Vinyl Control Cueing Mode Vinyl-Steuerung Cueing-Modus - + Vinyl Control Passthrough Vinyl-Steuerung Passthrough - + Vinyl Control Next Deck Vinyl-Steuerung nächstes Deck - + Single deck mode - Switch vinyl control to next deck Einzeldeck-Modus - Vinyl-Steuerung zum nächsten Deck wechseln - + Cue Cue - + Set Cue Cue setzen - + Go-To Cue Zum Cue gehen - + Go-To Cue And Play Zu Cue gehen und wiedergeben - + Go-To Cue And Stop Zum Cue gehen und stoppen - + Preview Cue Cue vorhören - + Cue (CDJ Mode) Cue (CDJ-Modus) - + Stutter Cue Stotter-Cue - + Go to cue point and play after release Zu Cue-Punkt gehen und nach dem Loslassen wiedergeben - + Clear Hotcue %1 Hotcue %1 löschen - + Set Hotcue %1 Hotcue %1 setzen - + Jump To Hotcue %1 Zu Hotcue %1 springen - + Jump To Hotcue %1 And Stop Zu Hotcue %1 springen und stoppen - + Jump To Hotcue %1 And Play Zu Hotcue %1 springen und wiedergeben - + Preview Hotcue %1 Hotcue %1 vorhören - + Loop In Loop-In - + Loop Out Loop-Out - + Loop Exit Loop beenden - + Reloop/Exit Loop Reloop/Loop beenden - + Loop Halve Loop halbieren - + Loop Double Loop verdoppeln - + 1/32 1/32 - + 1/16 1/16 - + 1/8 1/8 - + 1/4 1/4 - + Move Loop +%1 Beats Loop um +%1 Beats verschieben - + Move Loop -%1 Beats Loop um -%1 Beats verschieben - + Loop %1 Beats Einen Loop über %1 Beats setzen - + Loop Roll %1 Beats Loop-Roll %1 Beats - + Add to Auto DJ Queue (bottom) Zur Auto-DJ Warteschlange hinzufügen (Ende) - + Append the selected track to the Auto DJ Queue Ausgewählten Track in Auto-DJ Warteschlange anstellen - + Add to Auto DJ Queue (top) Zur Auto-DJ Warteschlange hinzufügen (Anfang) - + Prepend selected track to the Auto DJ Queue Ausgewählten Track in Auto-DJ Warteschlange voranstellen - + Load Track Track laden - + Load selected track Ausgewählten Track laden - + Load selected track and play Ausgewählten Track laden und wiedergeben - - + + Record Mix Mix aufnehmen - + Toggle mix recording Mix-Aufnahme ein-/ausschalten - + Effects Effekte - - Quick Effects - Quick-Effekte - - - + Deck %1 Quick Effect Super Knob Deck %1 Quick-Effekt Super-Drehregler - + + Quick Effect Super Knob (control linked effect parameters) Quick-Effekt Super-Drehregler (Verknüpfte Effekt-Parameter steuern) - - + + + + Quick Effect Quick-Effekt - + Clear Unit Einheit leeren - + Clear effect unit Effekteinheit leeren - + Toggle Unit Einheit ein-/ausschalten - + Dry/Wet Dry/Wet - + Adjust the balance between the original (dry) and processed (wet) signal. Passt die Balance zwischen dem originalen (dry) und dem bearbeiteten (wet) Signal an. - + Super Knob Super-Drehregler - + Next Chain Nächste Effektkette - + Assign Zuweisen - + Clear Löschen - + Clear the current effect Aktuellen Effekt löschen - + Toggle Ein-/ausschalten - + Toggle the current effect Aktuellen Effekt ein-/ausschalten - + Next Nächster - + Switch to next effect Zum nächsten Effekt wechseln - + Previous Vorheriger - + Switch to the previous effect Zum vorherigen Effekt wechseln - + Next or Previous Nächster oder Vorheriger - + Switch to either next or previous effect Zum nächsten oder vorherigen Effekt wechseln - - + + Parameter Value Parameterwert - - + + Microphone Ducking Strength Mikrofon-Dämpfungsstärke - + Microphone Ducking Mode Mikrofon-Dämpfungsmodus - + Gain Verstärkung - + Gain knob Verstärkungs-Drehregler - + Shuffle the content of the Auto DJ queue Den Inhalt der Auto-DJ Warteschlange zufällig wiedergeben - + Skip the next track in the Auto DJ queue Den nächsten Track in der Auto-DJ Warteschlange überspringen - + Auto DJ Toggle Auto-DJ Ein/Aus - + Toggle Auto DJ On/Off Auto-DJ ein-/ausschalten - + Show/hide the microphone & auxiliary section Mikrofon- & Aux-Bereich ein-/ausblenden - + 4 Effect Units Show/Hide 4 Effekteinheiten ein-/ausblenden - + Switches between showing 2 and 4 effect units Wechselt zwischen der Anzeige von 2 und 4 Effekteinheiten - + Mixer Show/Hide Mixer ein-/ausblenden - + Show or hide the mixer. Den Mixer anzeigen oder verbergen. - + Cover Art Show/Hide (Library) Cover-Bild ein-ausblenden (Bibliothek) - + Show/hide cover art in the library Cover-Bild in der Bibliothek ein-/ausblenden - + Library Maximize/Restore Bibliothek maximieren/wiederherstellen - + Maximize the track library to take up all the available screen space. Die Track-Bibliothek auf den verfügbaren Bildschirmplatz maximieren. - + Effect Rack Show/Hide Effekt-Rack ein-/ausblenden - + Show/hide the effect rack Effekt-Rack ein-/ausblenden - + Waveform Zoom Out Wellenform verkleinern - + Headphone Gain Kopfhörer-Verstärkung - + Headphone gain Kopfhörer-Verstärkung - + Tap to sync tempo (and phase with quantize enabled), hold to enable permanent sync Tippen zum synchronisieren von Tempo (und Phase bei aktivierter Quantisierung), halten für permanente Synchronisation - + One-time beat sync tempo (and phase with quantize enabled) Einmalige Beat-Synchronisation des Tempos (und der Phase bei aktivierter Quantisierung) - + Playback Speed Wiedergabegeschwindigkeit - + Playback speed control (Vinyl "Pitch" slider) Wiedergabegeschwindigkeit-Steuerelement (Vinyl-"Pitch"-Schieberegler) - + Pitch (Musical key) Pitch (Tonart) - + Increase Speed Geschwindigkeit erhöhen - + Adjust speed faster (coarse) Geschwindigkeit erhöhen (grob) - + Increase Speed (Fine) Geschwindigkeit erhöhen (fein) - + Adjust speed faster (fine) Geschwindigkeit erhöhen (fein) - + Decrease Speed Geschwindigkeit verringern - + Adjust speed slower (coarse) Geschwindigkeit verringern (grob) - + Adjust speed slower (fine) Geschwindigkeit verringern (fein) - + Temporarily Increase Speed Geschwindigkeit vorübergehend erhöhen - + Temporarily increase speed (coarse) Geschwindigkeit vorübergehend erhöhen (grob) - + Temporarily Increase Speed (Fine) Geschwindigkeit vorübergehend erhöhen (fein) - + Temporarily increase speed (fine) Geschwindigkeit vorübergehend erhöhen (fein) - + Temporarily Decrease Speed Geschwindigkeit vorübergehend verringern - + Temporarily decrease speed (coarse) Geschwindigkeit vorübergehend verringern (grob) - + Temporarily Decrease Speed (Fine) Vorübergehend die Geschwindigkeit verringern (fein) - + Temporarily decrease speed (fine) Vorübergehend die Geschwindigkeit verringern (fein) - - + + Adjust %1 %1 anpassen - + + Deck %1 Stem %2 + + + + Effect Unit %1 Effekteinheit %1 - + Button Parameter %1 Taste Parameter %1 - + Skin Skin - + Controller Controller - + Crossfader / Orientation Crossfader / Orientierung - + Main Output gain Hauptausgang-Verstärkung - + Main Output balance Hauptausgang-Balance - + Main Output delay Hauptausgang-Verzögerung - + Headphone Kopfhörer - - + + Kill %1 + %1 is "Low EQ" "Mid EQ" or "High EQ" %1 stummschalten - + Eject or un-eject track, i.e. reload the last-ejected track (of any deck)<br>Double-press to reload the last replaced track. In empty decks it reloads the second-last ejected track. Track auswerfen oder nachladen, d.h. den zuletzt ausgeworfenen Track (von jedem Deck) erneut laden.<br>Doppelklicken, um den zuletzt ersetzten Track erneut zu laden. In leeren Decks wird der vorletzte ausgeworfen Track erneut geladen. - + BPM / Beatgrid BPM / Beatgrid - + Halve BPM BPM halbieren - + Multiply current BPM by 0.5 Aktuelle BPM mit 0,5 multiplizieren - + 2/3 BPM 2/3 BPM - + Multiply current BPM by 0.666 Aktuelle BPM mit 0,666 multiplizieren - + 3/4 BPM 3/4 BPM - + Multiply current BPM by 0.75 Aktuelle BPM mit 0,75 multiplizieren - + 4/3 BPM 4/3 BPM - + Multiply current BPM by 1.333 Aktuelle BPM mit 1,333 multiplizieren - + 3/2 BPM 3/2 BPM - + Multiply current BPM by 1.5 Aktuelle BPM mit 1,5 multiplizieren - + Double BPM BPM verdoppeln - + Multiply current BPM by 2 Aktuelle BPM mit 2 multiplizieren - + Tempo Tap - + Tempo tap button - + Move Beatgrid Beatgrid verschieben - + Adjust the beatgrid to the left or right Beatgrid nach links oder rechts verschieben - + Move Beatgrid Half a Beat Beatgrid eine halben Beat verschieben - + Adjust the beatgrid by exactly one half beat. Usable only for tracks with constant tempo. - - + + Toggle the BPM/beatgrid lock BPM-/Beatgrid-Sperre umschalten - + Revert last BPM/Beatgrid Change BPM/Beatgrid-Änderung rückgängig machen - + Revert last BPM/Beatgrid Change of the loaded track. - + Die letzte Änderung von BPM/Beatgrid im geladenen Titel rückgängig machen. - + Sync / Sync Lock Sync / Sync-Sperre - + Internal Sync Leader Interne Synchronisationleiter - + Toggle Internal Sync Leader Interne Sync-Leader umschalten - - + + Internal Leader BPM Interne Leader-BPM - + Internal Leader BPM +1 Interne Leader-BPM +1 - + Increase internal Leader BPM by 1 Interne Leader-BPM um 1 erhöhen - + Internal Leader BPM -1 Interne Leader-BPM -1 - + Decrease internal Leader BPM by 1 Interne Leader-BPM um 1 verringern - + Internal Leader BPM +0.1 Interne Leader-BPM +0.1 - + Increase internal Leader BPM by 0.1 Interne Leader-BPM um 0.1 erhöhen - + Internal Leader BPM -0.1 Interne Leader-BPM -0.1 - + Decrease internal Leader BPM by 0.1 Interne Leader-BPM um 0.1 verringern - + Sync Leader Sync-Leader - + Sync mode 3-state toggle / indicator (Off, Soft Leader, Explicit Leader) 3-stufiger Umschalter/Indikator für Sync-Modus (Aus, Soft-Leader, Explicit-Leader) - + Speed Geschwindigkeit - + Decrease Speed (Fine) Geschwindigkeit verringern (fein) - + Pitch (Musical Key) Pitch (Tonart) - + Increase Pitch Tonhöhe erhöhen - + Increases the pitch by one semitone Erhöht die Tonhöhe um einen Halbton - + Increase Pitch (Fine) Tonhöhe erhöhen (Fein) - + Increases the pitch by 10 cents Erhöht die Tonhöhe um 10 Cent - + Decrease Pitch Tonhöhe verringern - + Decreases the pitch by one semitone Verringert die Tonhöhe um einen Halbton - + Decrease Pitch (Fine) Tonhöhe verringern (Fein) - + Decreases the pitch by 10 cents Verringert die Tonhöhe um 10 Cent - + Keylock Tonhöhensperre - + CUP (Cue + Play) CUP (Cue + Wiedergabe) - + Shift cue points earlier Cue-Punkte nach vorn verschieben - + Shift cue points 10 milliseconds earlier Cue-Punkte 10 Millisekunden nach vorn verschieben - + Shift cue points earlier (fine) Cue-Punkte nach vorn verschieben (fein) - + Shift cue points 1 millisecond earlier Cue-Punkte 1 Millisekunde nach vorn verschieben - + Shift cue points later Cue-Punkte nach hinten verschieben - + Shift cue points 10 milliseconds later Cue-Punkte 10 Millisekunden nach hinten verschieben - + Shift cue points later (fine) Cue-Punkte nach hinten verschieben (fein) - + Shift cue points 1 millisecond later Cue-Punkte 1 Millisekunde nach hinten verschieben - - + + Sort hotcues by position Hotcues nach Position sortieren - - + + Sort hotcues by position (remove offsets) Hotcues nach Position sortieren (Versatz entfernen) - + Hotcues %1-%2 Hotcues %1-%2 - + Intro / Outro Markers Intro/Outro-Marker - + Intro Start Marker Intro Start-Marker - + Intro End Marker Intro End-Marker - + Outro Start Marker Outro Start-Marker - + Outro End Marker Outro End-Marker - + intro start marker Intro-Startmarker - + intro end marker Intro-Endmarker - + outro start marker Outro-Startmarker - + outro end marker Outro-Endmarker - + Activate %1 [intro/outro marker %1 aktivieren - + Jump to or set the %1 [intro/outro marker Springen zu oder setzen von %1 - + Set %1 [intro/outro marker %1 setzen - + Set or jump to the %1 [intro/outro marker Setzen von oder springen zu %1 - + Clear %1 [intro/outro marker %1 löschen - + Clear the %1 [intro/outro marker Löschen von %1 - + if the track has no beats the unit is seconds wenn der Track keine Beats hat ist die Einheit Sekunden - + Loop Selected Beats Ausgewählte Beats loopen - + Create a beat loop of selected beat size Einen Beat-Loop der ausgewählten Beat-Länge erstellen - + Loop Roll Selected Beats Loop-Roll über ausgewählte Beats - + Create a rolling beat loop of selected beat size Einen Beat-Loop-Roll der ausgewählten Beat-Länge erstellen - + Loop %1 Beats set from its end point - + Loop Roll %1 Beats set from its end point - + Create %1-beat loop with the current play position as loop end - + Create temporary %1-beat loop roll with the current play position as loop end - + Loop Beats Loop Beats - + Loop Roll Beats Loop-Roll Beats - + Go To Loop In Zum Loop-In-Marker springen - + Go to Loop In button "Zum Loop-In-Marker springen"-Taste - + Go To Loop Out Zum Loop-Out-Marker springen - + Go to Loop Out button "Zum Loop-Out-Marker springen"-Taste - + Toggle loop on/off and jump to Loop In point if loop is behind play position Loop ein-/ausschalten und zum Loop-In Punkt springen, wenn sich der Loop hinter der Wiedergabeposition befindet - + Reloop And Stop Reloop und Stop - + Enable loop, jump to Loop In point, and stop Loop aktivieren, zum Loop-In-Marker springen und stoppen - + Halve the loop length Länge des Loops halbieren - + Double the loop length Länge des Loops verdoppeln - + Beat Jump / Loop Move Beat-Sprung / Loop verschieben - + Jump / Move Loop Forward %1 Beats Beat-Sprung / Loop verschieben: %1 Beats vorwärts - + Jump / Move Loop Backward %1 Beats Beat-Sprung / Loop verschieben: %1 Beats rückwärts - + Jump forward by %1 beats, or if a loop is enabled, move the loop forward %1 beats Um %1 Beats vorwärts springen, oder wenn ein Loop aktiviert ist, den Loop um %1 Beats vorwärts verschieben - + Jump backward by %1 beats, or if a loop is enabled, move the loop backward %1 beats Um %1 Beats rückwärts springen, oder wenn ein Loop aktiviert ist, den Loop um %1 Beats rückwärts verschieben - + Beat Jump / Loop Move Forward Selected Beats Beat-Sprung / Loop vorwärts verschieben um gewählte Anzahl Beats - + Jump forward by the selected number of beats, or if a loop is enabled, move the loop forward by the selected number of beats Um die gewählte Anzahl von Beats vorwärts springen, oder wenn ein Loop aktiviert ist, den Loop um die gewählte Anzahl von Beats vorwärts verschieben - + Beat Jump / Loop Move Backward Selected Beats Beat-Sprung / Loop rückwärts verschieben um gewählte Anzahl Beats - + Jump backward by the selected number of beats, or if a loop is enabled, move the loop backward by the selected number of beats Um die gewählte Anzahl von Beats rückwärts springen, oder wenn ein Loop aktiviert ist, den Loop um die gewählte Anzahl von Beats rückwärts verschieben - + Beat Jump Beat-Sprung - + Indicate which loop marker remain static when adjusting the size or is inherited from the current position Zeige an, welcher Loop-Marker beim Anpassen der Größe statisch bleibt oder von der aktuellen Position übernommen wird - + Beat Jump / Loop Move Forward Beat-Sprung / Loop vorwärts verschieben - + Beat Jump / Loop Move Backward Beat-Sprung / Loop rückwärts verschieben - + Loop Move Forward Loop vorwärts verschieben - + Loop Move Backward Loop rückwärts verschieben - + Remove Temporary Loop Temporären Loop entfernen - + Remove the temporary loop Den temporären Loop entfernen - + Navigation Navigation - + Move up Nach oben bewegen - + Equivalent to pressing the UP key on the keyboard Entspricht dem Drücken der PFEIL HOCH-Taste auf der Tastatur - + Move down Nach unten bewegen - + Equivalent to pressing the DOWN key on the keyboard Entspricht dem Drücken der PFEIL RUNTER-Taste auf der Tastatur - + Move up/down Nach oben/unten bewegen - + Move vertically in either direction using a knob, as if pressing UP/DOWN keys Mit einem Drehregler vertikal in beide Richtungen bewegen, entspricht dem Drücken der PFEIL HOCH/PFEIL RUNTER Tasten - + Scroll Up Nach oben scrollen - + Equivalent to pressing the PAGE UP key on the keyboard Entspricht dem Drücken der BILD HOCH-Taste auf der Tastatur - + Scroll Down Nach unten scrollen - + Equivalent to pressing the PAGE DOWN key on the keyboard Entspricht dem Drücken der BILD RUNTER-Taste auf der Tastatur - + Scroll up/down Nach oben/unten scrollen - + Scroll vertically in either direction using a knob, as if pressing PGUP/PGDOWN keys Mit einem Drehregler vertikal in beide Richtungen scrollen, entspricht dem Drücken der BILD HOCH/BILD RUNTER Tasten - + Move left Nach links bewegen - + Equivalent to pressing the LEFT key on the keyboard Entspricht dem Drücken der PFEIL LINKS-Taste auf der Tastatur - + Move right Nach rechts bewegen - + Equivalent to pressing the RIGHT key on the keyboard Entspricht dem Drücken der PFEIL RECHTS-Taste auf der Tastatur - + Move left/right Nach links/rechts bewegen - + Move horizontally in either direction using a knob, as if pressing LEFT/RIGHT keys Mit einem Drehregler horizontal in beide Richtungen bewegen, entspricht dem Drücken der PFEIL LINKS/PFEIL RECHTS Tasten - + Move focus to right pane Fokus in rechten Fensterausschnitt bewegen - + Equivalent to pressing the TAB key on the keyboard Entspricht dem Drücken der TAB-Taste auf der Tastatur - + Move focus to left pane Fokus in linken Fensterausschnitt bewegen - + Equivalent to pressing the SHIFT+TAB key on the keyboard Entspricht dem Drücken der Umschalt- und TAB-Tasten auf der Tastatur - + Move focus to right/left pane Fokus in rechten/linken Fensterausschnitt bewegen - + Move focus one pane to right or left using a knob, as if pressing TAB/SHIFT+TAB keys Mit einem Drehregler den Fokus einen Fensterausschnitt nach links oder rechts bewegen, entspricht dem Drücken der TAB/Umschalt+TAB-Tasten - + Sort focused column Ausgewählte Spalte sortieren - + Sort the column of the cell that is currently focused, equivalent to clicking on its header Sortiere die Spalte, in der gerade eine Zelle ausgewählt ist (entspricht einem Klick auf den Spaltenkopf) - + Go to the currently selected item Gehe zum aktuell ausgewählten Element - + Choose the currently selected item and advance forward one pane if appropriate Wähle das aktuell ausgewählte Element und gehe ggf. um ein Fensterausschnitt vor - + Load Track and Play Track laden und wiedergeben - + Add to Auto DJ Queue (replace) Zur Auto-DJ Warteschlange hinzufügen (Ersetzen) - + Replace Auto DJ Queue with selected tracks Auto-DJ Warteschlange mit ausgewählten Tracks ersetzen - + Select next search history Nächste Suchhistorie auswählen - + Selects the next search history entry Wählt den nächsten Eintrag der Suchhistorie aus - + Select previous search history Vorherige Suchhistorie auswählen - + Selects the previous search history entry Wählt den vorherigen Eintrag der Suchhistorie aus - + Move selected search entry Ausgewählten Sucheintrag verschieben - + Moves the selected search history item into given direction and steps Bewegt das ausgewählte Element der Suchhistorie in die angegebene Richtung und Schritte - + Clear search Suche löschen - + Clears the search query Löscht den Suchbegriff - - + + Select Next Color Available Nächste verfügbare Farbe auswählen - + Select the next color in the color palette for the first selected track Auswählen der nächsten Farbe in der Palette für den ersten geladene Track. - - + + Select Previous Color Available Vorherige verfügbare Farbe auswählen - + Select the previous color in the color palette for the first selected track Auswählen der vorherigen Farbe in der Palette für den ersten geladene Track. - + + Quick Effects Deck %1 + + + + Deck %1 Quick Effect Enable Button Deck %1 Quick-Effekt-Aktivierungstaste - + + Quick Effect Enable Button Quick-Effekt Aktivierungstaste - + + Deck %1 Stem %2 Quick Effect Super Knob + + + + + Deck %1 Stem %2 Quick Effect Enable Button + + + + Enable or disable effect processing Aktivieren oder Deaktivieren der Effektverarbeitung - + Super Knob (control effects' Meta Knobs) Super-Drehregler (Meta-Drehregler der Effekte steuern) - + Mix Mode Toggle Mix-Modus-Umschalter - + Toggle effect unit between D/W and D+W modes Effekteinheit zwischen D/W und D+W-Modi umschalten - + Next chain preset Nächste Effektketten-Voreinstellung - + Previous Chain Vorherige Effektkette - + Previous chain preset Vorherige Effektketten-Voreinstellung - + Next/Previous Chain Nächste/Vorherige Effektkette - + Next or previous chain preset Nächste oder vorherige Effektketten-Voreinstellung - - + + Show Effect Parameters Effektparameter anzeigen - + Effect Unit Assignment Zuordnung Effekteinheit - + Meta Knob Meta-Drehregler - + Effect Meta Knob (control linked effect parameters) Effekt Meta-Drehregler (Verlinkte Effekt-Parameter steuern) - + Meta Knob Mode Meta-Drehregler-Modus - + Set how linked effect parameters change when turning the Meta Knob. Legt fest, wie sich verknüpfte Effekt-Parameter ändern, wenn der Meta-Drehregler gedreht wird. - + Meta Knob Mode Invert Meta-Drehregler-Modus invertieren - + Invert how linked effect parameters change when turning the Meta Knob. Invertiert, wie sich verknüpfte Effekt-Parameter ändern, wenn der Meta-Drehregler betätigt wird. - - + + Button Parameter Value Tasten-Parameterwert - + Microphone / Auxiliary Mikrofon / Aux - + Microphone On/Off Mikrofon ein-/ausschalten - + Microphone on/off Mikrofon ein/aus - + Toggle microphone ducking mode (OFF, AUTO, MANUAL) Mikrofon-Dämpfungsmodus umschalten (AUS, AUTO, MANUELL) - + Auxiliary On/Off Aux ein/aus - + Auxiliary on/off Aux ein-/ausschalten - + Auto DJ Auto-DJ - + Auto DJ Shuffle Auto-DJ Zufallswiedergabe - + Auto DJ Skip Next Auto-DJ: Nächsten Track überspringen - + Auto DJ Add Random Track Auto-DJ zufälligen Track hinzufügen - + Add a random track to the Auto DJ queue Zufälligen Track zur Auto-DJ Warteschlange hinzufügen - + Auto DJ Fade To Next Auto-DJ: Zu nächstem Track überblenden - + Trigger the transition to the next track Löst die Überblendung zum nächsten Track aus - + User Interface Benutzeroberfläche - + Samplers Show/Hide Sampler ein-/ausblenden - + Show/hide the sampler section Sampler-Bereich ein-/ausblenden - + Microphone && Auxiliary Show/Hide keep double & to prevent creation of keyboard accelerator Mikrofon && Aux ein-/ausblenden - + Waveform Zoom Reset To Default Wellenform-Vergrößerung auf Standard zurücksetzen - + Reset the waveform zoom level to the default value selected in Preferences -> Waveforms Vergrößerungsstufe aller Wellenform-Anzeigen auf den in Einstellungen -> Wellenformen ausgewählten Standardwert zurücksetzen - + Select the next color in the color palette for the loaded track. Auswählen der nächsten Farbe in der Palette für den geladene Track. - + Select previous color in the color palette for the loaded track. Auswählen der vorherigen Farbe in der Palette für den geladene Track. - + Navigate Through Track Colors Track-Farben durchsuchen - + Select either next or previous color in the palette for the loaded track. Auswählen der nächsten oder vorherigen Farbe in der Palette für den geladene Track. - + Start/Stop Live Broadcasting Starten/Stoppen der Liveübertragung - + Stream your mix over the Internet. Streamen Sie Ihren Mix über das Internet. - - Start/stop recording your mix. - Starten/Stoppen Sie die Aufnahme Ihres Mixes. + + Start/stop recording your mix. + Starten/Stoppen Sie die Aufnahme Ihres Mixes. + + + + + Deck %1 Stems + + + + + + Samplers + Sampler + + + + Vinyl Control Show/Hide + Vinyl-Steuerung ein-/ausblenden + + + + Show/hide the vinyl control section + Bereich "Vinyl-Steuerung" ein-/ausblenden + + + + Preview Deck Show/Hide + Vorhör-Deck ein-/ausblenden + + + + Show/hide the preview deck + Vorhör-Deck ein-/ausblenden + + + + Toggle 4 Decks + 4 Decks ein-/ausblenden + + + + Switches between showing 2 decks and 4 decks. + Wechselt zwischen der Anzeige von 2 Decks und 4 Decks. + + + + Cover Art Show/Hide (Decks) + Cover-Bild ein-/ausblenden (Decks) + + + + Show/hide cover art in the main decks + Cover-Bild in den Decks ein-/ausblenden + + + + Vinyl Spinner Show/Hide + Drehendes Vinyl ein-/ausblenden + + + + Show/hide spinning vinyl widget + Drehendes Vinyl-Widget ein-/ausblenden + + + + Vinyl Spinners Show/Hide (All Decks) + Drehendes Vinyl ein-/ausblenden (Alle Decks) + + + + Show/Hide all spinnies + Drehendes Vinyl ein-/ausblenden + + + + Toggle Waveforms + Wellenformen ein-/ausschalten + + + + Show/hide the scrolling waveforms. + Laufende Wellenformen ein-/ausblenden. + + + + Waveform zoom + Wellenform-Vergrößerung + + + + Waveform Zoom + Wellenform-Vergrößerung + + + + Zoom waveform in + Wellenform vergrößern + + + + Waveform Zoom In + Wellenform vergrößern + + + + Zoom waveform out + Wellenform verkleinern + + + + Star Rating Up + Sterne-Bewertung hoch + + + + Increase the track rating by one star + Erhöht die Bewertung des Tracks um einen Stern + + + + Star Rating Down + Sterne-Bewertung runter + + + + Decrease the track rating by one star + Verringert die Bewertung des Tracks um einen Stern + + + + Controller + + + Unknown + Unbekannt + + + + ControllerHidReportTabsManager + + + Read + + + + + Send + + + + + Payload Size + + + + + bytes + - - - Samplers - Sampler + + Byte Position + - - Vinyl Control Show/Hide - Vinyl-Steuerung ein-/ausblenden + + Bit Position + - - Show/hide the vinyl control section - Bereich "Vinyl-Steuerung" ein-/ausblenden + + Bit Size + - - Preview Deck Show/Hide - Vorhör-Deck ein-/ausblenden + + Logical Min + - - Show/hide the preview deck - Vorhör-Deck ein-/ausblenden + + Logical Max + - - Toggle 4 Decks - 4 Decks ein-/ausblenden + + Value + - - Switches between showing 2 decks and 4 decks. - Wechselt zwischen der Anzeige von 2 Decks und 4 Decks. + + Physical Min + - - Cover Art Show/Hide (Decks) - Cover-Bild ein-/ausblenden (Decks) + + Physical Max + - - Show/hide cover art in the main decks - Cover-Bild in den Decks ein-/ausblenden + + Unit Scaling + - - Vinyl Spinner Show/Hide - Drehendes Vinyl ein-/ausblenden + + Unit + - - Show/hide spinning vinyl widget - Drehendes Vinyl-Widget ein-/ausblenden + + Abs/Rel + - - Vinyl Spinners Show/Hide (All Decks) - Drehendes Vinyl ein-/ausblenden (Alle Decks) + + + Wrap + - - Show/Hide all spinnies - Drehendes Vinyl ein-/ausblenden + + + Linear + - - Toggle Waveforms - Wellenformen ein-/ausschalten + + + Preferred + - - Show/hide the scrolling waveforms. - Laufende Wellenformen ein-/ausblenden. + + + Null + - - Waveform zoom - Wellenform-Vergrößerung + + + Volatile + - - Waveform Zoom - Wellenform-Vergrößerung + + Usage Page + - - Zoom waveform in - Wellenform vergrößern + + Usage + - - Waveform Zoom In - Wellenform vergrößern + + Relative + - - Zoom waveform out - Wellenform verkleinern + + Absolute + - - Star Rating Up - Sterne-Bewertung hoch + + No Wrap + - - Increase the track rating by one star - Erhöht die Bewertung des Tracks um einen Stern + + Non Linear + - - Star Rating Down - Sterne-Bewertung runter + + No Preferred + - - Decrease the track rating by one star - Verringert die Bewertung des Tracks um einen Stern + + No Null + - - - Controller - - Unknown - Unbekannt + + Non Volatile + @@ -3681,27 +3875,27 @@ trace - Wie oben + Profiling-Meldungen ControllerScriptEngineLegacy - + Controller Mapping File Problem Problem mit der Controller-Mappingdatei - + The mapping for controller "%1" cannot be opened. Das Mapping für den Controller "%1" kann nicht geöffnet werden. - + The functionality provided by this controller mapping will be disabled until the issue has been resolved. Die von diesem Controller-Mapping bereitgestellten Funktionen werden deaktiviert, bis das Problem behoben ist. - + File: Datei: - + Error: Fehler: @@ -3734,7 +3928,7 @@ trace - Wie oben + Profiling-Meldungen - + Lock Sperren @@ -3764,7 +3958,7 @@ trace - Wie oben + Profiling-Meldungen Auto-DJ Track-Quelle - + Enter new name for crate: Einen neuen Namen für die Plattenkiste eingeben: @@ -3781,22 +3975,22 @@ trace - Wie oben + Profiling-Meldungen Plattenkiste importieren - + Export Crate Plattenkiste exportieren - + Unlock Entsperren - + An unknown error occurred while creating crate: Bei der Erstellung der Plattenkiste ist ein unbekannter Fehler aufgetreten: - + Rename Crate Plattenkiste umbenennen @@ -3806,28 +4000,28 @@ trace - Wie oben + Profiling-Meldungen Legen Sie eine Plattenkiste an für Ihren nächsten Auftritt, für Ihre liebsten Electro-House Track oder für Ihre am häufigsten nachgefragten Tracks. - + Confirm Deletion Löschen bestätigen - - + + Renaming Crate Failed Umbenennen der Plattenkiste fehlgeschlagen - + Crate Creation Failed Erstellung der Plattenkiste fehlgeschlagen - + M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Text CSV (*.csv);;Readable Text (*.txt) M3U-Wiedergabeliste (*.m3u);;M3U8-Wiedergabeliste (*.m3u8);;PLS-Wiedergabeliste (*.pls);;CSV (*.csv);;Normaler Text (*.txt) - + M3U Playlist (*.m3u) M3U-Wiedergabeliste (*.m3u) @@ -3848,17 +4042,17 @@ trace - Wie oben + Profiling-Meldungen Plattenkisten ermöglichen es, Ihre Musik so zu organisieren wie Sie möchten! - + Do you really want to delete crate <b>%1</b>? Möchten Sie die Plattenkiste <b>%1</b> wirklich löschen? - + A crate cannot have a blank name. Eine Plattenkiste muss einen Namen haben. - + A crate by that name already exists. Eine Plattenkiste mit diesem Namen existiert bereits. @@ -3953,12 +4147,12 @@ trace - Wie oben + Profiling-Meldungen Frühere Mitwirkende - + Official Website Offizielle Webseite - + Donate Spenden @@ -4764,123 +4958,140 @@ Sie haben versucht anzulernen: %1,%2 DlgPrefBroadcast - + Icecast 2 Icecast 2 - + Shoutcast 1 Shoutcast 1 - + Icecast 1 Icecast 1 - + MP3 MP3 - + Ogg Vorbis Ogg Vorbis - + Opus Opus - + AAC AAC - + HE-AAC HE-AAC - + HE-AACv2 HE-AACv2 - + Automatic Automatisch - + Mono Mono - + Stereo Stereo - - - - + + Saving settings failed + + + + + The password for '%1' contains invalid characters. Please enter it again. + +Note: This can for example be invisible linebreaks when using copy/paste. + + + + + + Action failed Aktion fehlgeschlagen - + You can't create more than %1 source connections. Sie können nicht mehr als %1 Quellverbindungen erstellen. - + Source connection %1 Quellverbindung %1 - + + Settings for %1 + Settings for broadcast profile, %1 is the profile name placeholder + Einstellungen für %1 + + + At least one source connection is required. Mindestens eine Quellverbindung ist erforderlich. - + Are you sure you want to disconnect every active source connection? Wollen Sie wirklich alle aktiven Quellverbindungen trennen? - - + + Confirmation required Bestätigung erforderlich - + '%1' has the same Icecast mountpoint as '%2'. Two source connections to the same server that have the same mountpoint can not be enabled simultaneously. '%1' hat den gleichen Icecast-Einhängepunkt wie '%2'. Zwei Verbindungen auf demselben Server können nicht denselben Einhängepunkt haben. - + Are you sure you want to delete '%1'? Wollen Sie wirklich '%1' löschen? - + Renaming '%1' Umbenennen von '%1' - + New name for '%1': Neuer Name für '%1': - + Can't rename '%1' to '%2': name already in use Kann '%1' nicht in '%2' umbenennen: Name wird bereits verwendet @@ -4893,27 +5104,27 @@ Zwei Verbindungen auf demselben Server können nicht denselben Einhängepunkt ha Liveübertragung-Einstellungen - + Mixxx Icecast Testing Mixxx Icecast-Test - + Public stream Öffentlicher Stream - + http://www.mixxx.org http://www.mixxx.org - + Stream name Stream-Name - + Due to flaws in some streaming clients, updating Ogg Vorbis metadata dynamically can cause listener glitches and disconnections. Check this box to update the metadata anyway. Aufgrund von Fehlern in einigen Streaming-Clients kann die dynamische Aktualisierung von Ogg Vorbis Metadaten zu Störungen und Unterbrechungen führen. Aktivieren Sie diese Checkbox, um die Metadaten trotzdem zu aktualisieren. @@ -4953,67 +5164,72 @@ Zwei Verbindungen auf demselben Server können nicht denselben Einhängepunkt ha Einstellungen für %1 - + + Available fields: $artist, $title, $year, $album, $genre, $bpm + + + + Dynamically update Ogg Vorbis metadata. Ogg Vorbis-Metadaten dynamisch aktualisieren. - + ICQ ICQ - + AIM AIM - + Website Webseite - + Live mix Live-Mix - + IRC IRC - + Select a source connection above to edit its settings here Wählen Sie oben eine Quellverbindung aus, um sie hier zu bearbeiten - + Password storage Kennwortspeicher - + Plain text Klartext - + Secure storage (OS keychain) Sichere Speicherung (OS-Schlüsselbund) - + Genre Genre - + Use UTF-8 encoding for metadata. UTF-8 Kodierung für Metadaten verwenden. - + Description Beschreibung @@ -5039,42 +5255,42 @@ Zwei Verbindungen auf demselben Server können nicht denselben Einhängepunkt ha Kanäle - + Server connection Serververbindung - + Type Typ - + Host Host - + Login Benutzername - + Mount Einhängepunkt - + Port Port - + Password Passwort - + Stream info Stream-Info @@ -5084,17 +5300,17 @@ Zwei Verbindungen auf demselben Server können nicht denselben Einhängepunkt ha Metadaten - + Use static artist and title. Statischen Interpreten und Titel verwenden. - + Static title Statischer Titel - + Static artist Statischer Interpret @@ -5153,13 +5369,14 @@ Zwei Verbindungen auf demselben Server können nicht denselben Einhängepunkt ha DlgPrefColors - - + + + By hotcue number Nach Hotcue-Nummer - + Color Farbe @@ -5204,18 +5421,23 @@ Zwei Verbindungen auf demselben Server können nicht denselben Einhängepunkt ha + Jump default color + + + + When key colors are enabled, Mixxx will display a color hint associated with each key. Wenn die Tonart-Farben aktiviert sind, zeigt Mixxx einen farbliche Kennzeichnung die mit der jeweiligen Tonart verbunden ist. - + Enable Key Colors Tonart-Farben aktivieren - + Key palette @@ -5223,114 +5445,114 @@ die mit der jeweiligen Tonart verbunden ist. DlgPrefController - + Apply device settings? Einstellungen für Gerät anwenden? - + Your settings must be applied before starting the learning wizard. Apply settings and continue? Ihre Einstellungen müssen übernommen werden bevor Sie den Lern-Assistenten starten. Einstellungen übernehmen und fortfahren? - + None Keine - + %1 by %2 %1 von %2 - + Mapping has been edited Mapping wurde bearbeitet - + Always overwrite during this session Während dieser Session immer überschreiben - + Save As Speichern als - + Overwrite Überschreiben - + Save user mapping Benutzer-Mapping speichern - + Enter the name for saving the mapping to the user folder. Geben Sie den Namen für die Speicherung des Mappings im Benutzerordner ein. - + Saving mapping failed Speichern des Mappings fehlgeschlagen - + A mapping cannot have a blank name and may not contain special characters. Ein Mapping muss einen Namen haben und darf keine Sonderzeichen enthalten. - + A mapping file with that name already exists. Eine Mapping-Datei mit diesem Namen ist bereits vorhanden. - + Do you want to save the changes? Möchten Sie die Änderungen speichern? - + Troubleshooting Fehlerbehebung - + <font color='#BB0000'><b>If you use this mapping your controller may not work correctly. Please select another mapping or disable the controller.</b></font><br><br>This mapping was designed for a newer Mixxx Controller Engine and cannot be used on your current Mixxx installation.<br>Your Mixxx installation has Controller Engine version %1. This mapping requires a Controller Engine version >= %2.<br><br>For more information visit the wiki page on <a href='https://mixxx.org/wiki/doku.php/controller_engine_versions'>Controller Engine Versions</a>. <font color='#BB0000'><b>Es kann notwendig sein, einige Titel in Ihrer vorbereiteten Playlist zu überspringen oder einige andere Titel hinzuzufügen, um die Energie Ihres Publikums aufrechtzuerhalten.</b></font><br><br>Dieses Mapping wurde für eine neuere Mixxx Controller-Engine entwickelt und kann nicht auf Ihrer aktuellen Mixxx-Installation verwendet werden.<br>Ihre Mixxx-Installation hat die Controller-Engine-Version %1. Dieses Mapping erfordert eine Controller-Engine-Version >= %2<br><br>Für weitere Informationen besuchen Sie die Wiki-Seite <a href='https://mixxx.org/wiki/doku.php/controller_engine_versions'>Controller-Engine-Versionen</a>. - + Mapping already exists. Mapping ist bereits vorhanden. - + <b>%1</b> already exists in user mapping folder.<br>Overwrite or save with a new name? <b>%1</b> existiert bereits im Benutzerordner.<br>Überschreiben oder unter einem neuen Namen speichern? - + Clear Input Mappings Eingangs-Mappings löschen - + Are you sure you want to clear all input mappings? Wollen Sie wirklich alle Eingangs-Mappings löschen? - + Clear Output Mappings Ausgangs-Mappings löschen - + Are you sure you want to clear all output mappings? Wollen Sie wirklich alle Ausgangs-Mappings löschen? @@ -5348,100 +5570,105 @@ Einstellungen übernehmen und fortfahren? Aktiviert - + + Refresh mapping list + + + + Device Info Geräte-Info - + Physical Interface: - + Vendor name: Anbietername - + Product name: Produktname - + Vendor ID Anbieter-ID - + VID: - + Product ID Produktnummer - + PID: - + Serial number: Seriennummer - + USB interface number: - + HID Usage-Page: - + HID Usage: - + Description: Beschreibung: - + Support: Unterstützung: - + Screens preview - + Input Mappings Eingangs-Mappings - - + + Search Suche - - + + Add Hinzufügen - - + + Remove Entfernen @@ -5461,17 +5688,17 @@ Einstellungen übernehmen und fortfahren? Lade Mapping: - + Mapping Info Mapping-Info - + Author: Autor: - + Name: Name: @@ -5481,28 +5708,28 @@ Einstellungen übernehmen und fortfahren? Lern-Assistent (nur MIDI) - + Data protocol: - + Mapping Files: Mapping-Dateien: - + Mapping Settings Mapping-Einstellungen - - + + Clear All Alles entfernen - + Output Mappings Ausgangs-Mappings @@ -5517,21 +5744,21 @@ Einstellungen übernehmen und fortfahren? - Mixxx uses "mappings" to connect messages from your controller to controls in Mixxx. If you do not see a mapping for your controller in the "Load Mapping" menu when you click on your controller on the left sidebar, you may be able to download one online from the %1. Place the XML (.xml) and Javascript (.js) file(s) in the "User Mapping Folder" then restart Mixxx. If you download a mapping in a ZIP file, extract the XML and Javascript file(s) from the ZIP file to your "User Mapping Folder" then restart Mixxx. - Mixxx verwendet "Mappings", um Befehle von Ihrem Controller mit Steuerelementen in Mixxx zu verbinden. Wenn Sie links in der Seitenleiste auf Ihren Controller klicken und dort keine Voreinstellung für Ihren Controller im Menü "Mapping laden" sehen, können Sie möglicherweise eine aus dem %1 herunterladen. Legen Sie die XML (.xml) und Javascript (.js) Datei(en) in den "Benutzerordner" und starten Mixxx neu. Wenn Sie ein Mapping in einer ZIP-Datei heruntergeladen haben, extrahieren Sie die XML und Javascript-Datei(en) aus der ZIP-Datei in den "Benutzerordner" und starten Mixxx neu. + Mixxx uses "mappings" to connect messages from your controller to controls in Mixxx. If you do not see a mapping for your controller in the "Load Mapping" menu when you click on your controller on the left sidebar, you may be able to download one online from the %1. Place the XML (.xml) and Javascript (.js) file(s) in the "User Mapping Folder" then click the Reload button next to the mapping selector to reload all available mappings. If you download a mapping in a ZIP file, extract the XML and Javascript file(s) from the ZIP file to your "User Mapping Folder" then click the Reload button. + - + Mixxx DJ Hardware Guide Mixxx DJ Hardware-Handbuch - + MIDI Mapping File Format MIDI-Mapping Dateiformat - + MIDI Scripting with Javascript MIDI-Scripting mit Javascript @@ -5700,137 +5927,137 @@ Einstellungen übernehmen und fortfahren? DlgPrefDeck - + Mixxx mode Mixxx-Modus - + Mixxx mode (no blinking) Mixxx-Modus (ohne Blinken) - + Pioneer mode Pioneer-Modus - + Denon mode Denon-Modus - + Numark mode Numark-Modus - + CUP mode CUP-Modus - + mm:ss%1zz - Traditional mm:ss%1zz - Traditionell - + mm:ss - Traditional (Coarse) mm:ss - Traditionell (Grob) - + s%1zz - Seconds s%1zz - Sekunden - + sss%1zz - Seconds (Long) sss%1zz - Sekunden (Lang) - + s%1sss%2zz - Kiloseconds s%1sss%2zz - Kilosekunden - + Intro start Intro-Start - + Main cue Haupt-Cue - + First hotcue Erster Hotcue - + First sound (skip silence) Erster Ton (Stille überspringen) - + Beginning of track Anfang des Tracks - + Reject Nicht erlauben - + Allow, but stop deck Erlauben, aber Wiedergabe des Decks stoppen - + Allow, play from load point Erlauben und vom Ladepunkt aus abspielen - + 4% 4 % - + 6% (semitone) 6 % (Halbton) - + 8% (Technics SL-1210) 8 % (Technics SL-1210) - + 10% 10 % - + 16% 16 % - + 24% 24 % - + 50% 50 % - + 90% 90 % @@ -6290,57 +6517,57 @@ Sie können jederzeit Tracks auf dem Bildschirm ziehen und ablegen, um ein Deck Die minimale Größe des ausgewählten Skins ist größer als Ihre Bildschirmauflösung. - + Allow screensaver to run Bildschirmschoner erlauben - + Prevent screensaver from running Bildschirmschoner unterdrücken - + Prevent screensaver while playing Bildschirmschoner während der Wiedergabe unterdrücken - + Disabled Deaktiviert - + 2x MSAA 2x MSAA - + 4x MSAA 4x MSAA - + 8x MSAA 8x MSAA - + 16x MSAA 16x MSAA - + This skin does not support color schemes Dieses Skin unterstützt keine Farbschemen - + Information Information - + Mixxx must be restarted before the new locale, scaling or multi-sampling settings will take effect. Mixxx muss neu gestartet werden, damit die neuen Sprach-, Skalierungs- oder Multi-Sampling-Einstellungen wirksam werden. @@ -6568,67 +6795,97 @@ und ermöglicht es Ihnen die Tonhöhe für harmonisches Mixen anzupassen.Details finden Sie im Handbuch - + Music Directory Added Musikverzeichnis hinzugefügt - + You added one or more music directories. The tracks in these directories won't be available until you rescan your library. Would you like to rescan now? Sie haben ein oder mehrere Musikverzeichnisse hinzugefügt. Die Tracks in diesen Verzeichnissen werden nicht verfügbar sein, bis Sie Ihre Bibliothek erneut durchsuchen lassen. Möchten Sie jetzt erneut durchsuchen lassen? - + Scan Scannen - + Item is not a directory or directory is missing Element ist kein Verzeichnis oder Verzeichnis fehlt - + Choose a music directory Wählen Sie ein Musikverzeichnis - + Confirm Directory Removal Entfernen des Verzeichnisses bestätigen - + Mixxx will no longer watch this directory for new tracks. What would you like to do with the tracks from this directory and subdirectories?<ul><li>Hide all tracks from this directory and subdirectories.</li><li>Delete all metadata for these tracks from Mixxx permanently.</li><li>Leave the tracks unchanged in your library.</li></ul>Hiding tracks saves their metadata in case you re-add them in the future. Mixxx wird dieses Verzeichnis nicht länger auf neue Tracks überprüfen. Was möchten Sie mit den Tracks aus diesem Verzeichnis und dessen Unterverzeichnissen tun?<ul><li>Alle Tracks aus diesem Verzeichnis und dessen Unterverzeichnissen ausblenden.</li><li>Alle Metadaten für diese Tracks dauerhaft aus Mixxx löschen.</li><li>Tracks unverändert in Ihrer Bibliothek lassen.</li></ul>Das Ausblenden von Tracks speichert deren Metadaten für den Fall, dass Sie diese zukünftig erneut hinzufügen. - + Metadata means all track details (artist, title, playcount, etc.) as well as beatgrids, hotcues, and loops. This choice only affects the Mixxx library. No files on disk will be changed or deleted. Metadaten beinhalten alle Track-Details (Interpret, Titel, Wiedergabezähler usw.) sowie Beatgrids, Hotcues und Loops. Diese Entscheidung betrifft nur die Mixxx-Bibliothek. Keine Dateien auf der Festplatte werden geändert oder gelöscht. - + Hide Tracks Tracks verbergen - + Delete Track Metadata Track-Metadaten löschen - + Leave Tracks Unchanged Tracks unverändert lassen - + Relink music directory to new location Musik-Verzeichnis mit seinem neuen Speicherort verknüpfen - + + Black + Schwarz + + + + ExtraBold + ExtraFett + + + + Bold + Fett + + + + SemiBold + HalbFett + + + + Medium + Mittel + + + + Light + Dünn + + + Select Library Font Schriftart der Bibliothek auswählen @@ -6677,262 +6934,267 @@ und ermöglicht es Ihnen die Tonhöhe für harmonisches Mixen anzupassen.Bibliothek beim Start erneut scannen - + Audio File Formats Audio-Dateiformate - + Track Table View Track-Tabellenansicht - + Track Double-Click Action: Aktion beim Doppelklick auf Tracks: - + BPM display precision: BPM-Anzeigegenauigkeit: - + Session History Sitzungsverlauf - + Track duplicate distance Mindestabstand zwischen Track-Duplikate - + When playing a track again log it to the session history only if more than N other tracks have been played in the meantime Beim erneuten Abspielen eines Tracks nur dann im Verlauf eintragen, wenn mehr als N andere Tracks dazwischen gespielt wurden - + History playlist with less than N tracks will be deleted<br/><br/>Note: the cleanup will be performed during startup and shutdown of Mixxx. Verlauf-Wiedergabelisten mit weniger als N Tracks werden gelöscht<br/><br/>Hinweis: Die Bereinigung wird beim Starten und Beenden von Mixxx durchgeführt. - + Delete history playlist with less than N tracks Verlauf-Wiedergabelisten mit weniger als N Tracks löschen - + Library Font: Schriftart der Bibliothek: - + + Show scan summary dialog + + + + Grey out played tracks Gepielte Tracks ausgrauen - + Track Search Track-Suche - + Enable search completions Suchvorschläge aktivieren - + Enable search history keyboard shortcuts Suchverlauf-Tastenkombinationen aktivieren - + Percentage of pitch slider range for 'fuzzy' BPM search: - + This range will be used for the 'fuzzy' BPM search (~bpm:) via the search box, as well as for BPM search in Track context menu > Search related Tracks - + Preferred Cover Art Fetcher Resolution Bevorzugte Auflösung Cover-Bilder - + Fetch cover art from coverartarchive.com by using Import Metadata From Musicbrainz. Cover-Bilder von coverartarchive.com abrufen unter Verwendung von Metadaten von MusicBrainz importieren. - + Note: ">1200 px" can fetch up to very large cover arts. Hinweis: ">1200 px" kann sehr große Cover-Bilder abrufen. - + >1200 px (if available) >1200 px (falls verfügbar) - + 1200 px (if available) 1200 px (falls verfügbar) - + 500 px 500 px - + 250 px 250 px - + Settings Directory Einstellungs-Verzeichnis - + The Mixxx settings directory contains the library database, various configuration files, log files, track analysis data, as well as custom controller mappings. Das Mixxx-Einstellungsverzeichnis enthält die Bibliotheksdatenbank, verschiedene Konfigurationsdateien, Protokolldateien, Track-Analysedaten sowie benutzerdefinierte Controller-Mappings. - + Edit those files only if you know what you are doing and only while Mixxx is not running. Bearbeiten Sie diese Dateien nur, wenn Sie wissen was Sie tun, und nur wenn Mixxx nicht läuft. - + Open Mixxx Settings Folder Mixxx-Einstellungsordner öffnen - + Library Row Height: Zeilenhöhe der Bibliothek: - + Use relative paths for playlist export if possible Wenn möglich, relative Pfade für den Export von Wiedergabelisten verwenden - + ... - + px px - + Synchronize library track metadata from/to file tags Track-Metadaten zwischen Bibliothek und Datei-Tags synchronisieren - + Automatically write modified track metadata from the library into file tags and reimport metadata from updated file tags into the library Automatisch modifizierte Track-Metadaten aus der Bibliothek in Datei-Tags schreiben und Metadaten aus veränderten Datei-Tags in die Bibliothek importieren - + Synchronize Serato track metadata from/to file tags (experimental) Serato-Metadaten mit Dateien synchronisieren (experimentell) - + Keeps track color, beat grid, bpm lock, cue points, and loops synchronized with SERATO_MARKERS/MARKERS2 file tags.<br/><br/>WARNING: Enabling this option also enables the reimport of Serato metadata after files have been modified outside of Mixxx. On reimport existing metadata in Mixxx is replaced with the metadata found in file tags. Custom metadata not included in file tags like loop colors is lost. Track-Farbe, Beatgrid, BPM-Sperre, Cue-Punkte und Loops mit SERATO_MARKERS/MARKERS2-Datei-Tags synchron halten.<br/><br/>WARNUNG: Durch Aktivieren dieser Option wird auch der erneute Import von Serato-Metadaten ermöglicht, nachdem Dateien außerhalb von Mixxx geändert wurden. Beim erneuten Import werden vorhandene Metadaten in Mixxx durch die in den Datei-Tags gefundenen Metadaten ersetzt. Benutzerdefinierte Metadaten, welche nicht in den Datei-Tags enthalten sind (z.B. Loop-Farben) gehen verloren. - + Edit metadata after clicking selected track Metadaten nach Klick auf ausgewählten Track bearbeiten - + Search-as-you-type timeout: Timeout für Instant-Suche: - + ms ms - + Load track to next available deck Track in das nächste verfügbare Deck laden - + External Libraries Externe Bibliotheken - + You will need to restart Mixxx for these settings to take effect. Sie werden Mixxx neu starten müssen, damit diese Änderungen wirksam werden. - + Show Rhythmbox Library Rhythmbox-Bibliothek anzeigen - + Track Metadata Synchronization / Playlists Synchronisation von Track-Metadaten / Wiedergabelisten - + Add track to Auto DJ queue (bottom) Track zur Auto-DJ Warteschlange hinzufügen (Ende) - + Add track to Auto DJ queue (top) Track zur Auto-DJ Warteschlange hinzufügen (Anfang) - + Ignore Ignorieren - + Show Banshee Library Banshee-Bibliothek anzeigen - + Show iTunes Library iTunes-Bibliothek anzeigen - + Show Traktor Library Traktor-Bibliothek anzeigen - + Show Rekordbox Library Rekordbox-Bibliothek anzeigen - + Show Serato Library Serato-Bibliothek anzeigen - + All external libraries shown are write protected. Alle angezeigten externen Bibliotheken sind schreibgeschützt. @@ -7277,33 +7539,33 @@ und ermöglicht es Ihnen die Tonhöhe für harmonisches Mixen anzupassen. DlgPrefRecord - + Choose recordings directory Aufnahme-Verzeichnis auswählen - - + + Recordings directory invalid Aufnahmeverzeichnis ungültig - + Recordings directory must be set to an existing directory. Das Aufnahmeverzeichnis muss auf ein vorhandenes Verzeichnis eingestellt sein. - + Recordings directory must be set to a directory. Das Aufnahmeverzeichnis muss auf ein Verzeichnis eingestellt sein. - + Recordings directory not writable Aufnahmeverzeichnis nicht beschreibbar - + You do not have write access to %1. Choose a recordings directory you have write access to. Sie haben keinen Schreibzugriff auf %1. Wählen Sie ein Aufnahmeverzeichnis, auf das Sie Schreibzugriff haben. @@ -7321,43 +7583,55 @@ und ermöglicht es Ihnen die Tonhöhe für harmonisches Mixen anzupassen.Durchsuchen… - - + + This will include the filepath for each track in the CUE file. +This option makes the CUE file less portable and can reveal personal +information from filepaths (i.e. username) + + + + + Enable File Annotation in CUE file + + + + + Quality Qualität - + Tags Tags - + Title Titel - + Author Autor - + Album Album - + Output File Format Ausgabe-Dateiformat - + Compression Komprimierung - + Lossy Verlustbehaftet @@ -7372,12 +7646,12 @@ und ermöglicht es Ihnen die Tonhöhe für harmonisches Mixen anzupassen.Verzeichnis: - + Compression Level Komprimierungsgrad - + Lossless Verlustfrei @@ -7510,172 +7784,177 @@ Die Ziel-Lautheit ist ungefähr und nimmt an, dass Track-Vorverstärkung und Mas DlgPrefSound - + %1 Hz %1 Hz - + Default (long delay) Standard (lange Verzögerung) - + Experimental (no delay) Experimentell (keine Verzögerung) - + Disabled (short delay) Deaktiviert (kurze Verzögerung) - + Soundcard Clock Taktgeber der Soundkarte - + Network Clock Netzwerk-Taktgeber - + Direct monitor (recording and broadcasting only) Direkter Monitor (nur Aufzeichnung und Liveübertragung) - + Disabled Deaktiviert - + Enabled Aktiviert - + Stereo Stereo - + Mono Mono - + To enable Realtime scheduling (currently disabled), see the %1. Um Echtzeit-Scheduling zu aktivieren (aktuell deaktiviert), siehe das %1. - + The %1 lists sound cards and controllers you may want to consider for using Mixxx. Im %1 sind Soundkarten und Controller aufgeführt, die Sie für die Verwendung von Mixxx in Betracht ziehen sollten. - + Mixxx DJ Hardware Guide Mixxx DJ Hardware-Handbuch - + + Find details in the Mixxx user manual + Details sind im Mixxx Benutzerhandbuch zu finden. + + + Information Information - + Mixxx must be restarted before the multi-threaded RubberBand setting change will take effect. - + auto (<= 1024 frames/period) automatisch (<= 1024 Frames/Periode) - + 2048 frames/period 2048 Frames/Periode - + 4096 frames/period 4096 Frames/Periode - + Are you sure? Bist du dir sicher? - + Distribute stereo channels into mono channels for parallel processing will result in a loss of mono compatibility and a diffuse stereo image. It is not recommended during broadcasting or recording. - + Are you sure you wish to proceed? Bist du dir sicher, dass du fortfahren möchtest? - + No Nein - + Yes, I know what I am doing Ja, ich weiß, was ich tue - + Microphone inputs are out of time in the record & broadcast signal compared to what you hear. Mikrofon-Eingänge sind nicht synchron im Aufnahmen- und Liveübertragungssignal, verglichen mit dem was Sie hören. - + Measure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. Messen Sie die Round-Trip-Latenzzeit und geben Sie diese für die Mikrofon-Latenzkompensation ein, um das Mikrofon-Timing auszurichten. - + Refer to the Mixxx User Manual for details. Details dazu finden Sie im Mixxx-Benutzerhandbuch. - + Configured latency has changed. Die eingestellte Latenz hat sich geändert. - + Remeasure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. Messen Sie erneut die Round-Trip-Latenzzeit und geben Sie diese für die Mikrofon-Latenzkompensation ein, um das Mikrofon-Timing auszurichten. - + Realtime scheduling is enabled. Echtzeit-Scheduling ist aktiviert. - + Main output only Nur Hauptausgang - + Main and booth outputs Haupt- und Kabinenausgänge - + %1 ms %1 ms - + Configuration error Fehler in der Konfiguration @@ -7742,17 +8021,22 @@ Die Ziel-Lautheit ist ungefähr und nimmt an, dass Track-Vorverstärkung und Mas ms - + + Deck and Bus outputs are for external mixers. They are post-fader and include effects and crossfader (for Auto DJ). For external mixing, make sure all Mixxx faders and EQ knobs are set to their default position (right- or double-click). + + + + 20 ms 20 ms - + Buffer Underflow Count Pufferunterlauf-Zähler - + 0 0 @@ -7777,12 +8061,12 @@ Die Ziel-Lautheit ist ungefähr und nimmt an, dass Track-Vorverstärkung und Mas Eingang - + System Reported Latency Vom System gemeldete Latenz - + Enlarge your audio buffer if the underflow counter is increasing or you hear pops during playback. Vergrößern Sie den Audio-Puffer, wenn sich der Unterlaufzähler erhöht oder wenn Sie Aussetzer während der Wiedergabe hören. @@ -7812,7 +8096,7 @@ Die Ziel-Lautheit ist ungefähr und nimmt an, dass Track-Vorverstärkung und Mas Hinweise und Diagnose - + Downsize your audio buffer to improve Mixxx's responsiveness. Verkleinern Sie Ihren Audio-Puffer, um Mixxx' Reaktionsfähigkeit zu verbessern. @@ -7859,7 +8143,7 @@ Die Ziel-Lautheit ist ungefähr und nimmt an, dass Track-Vorverstärkung und Mas Vinyl-Konfiguration - + Show Signal Quality in Skin Signalqualität im Skin anzeigen @@ -7895,46 +8179,51 @@ Die Ziel-Lautheit ist ungefähr und nimmt an, dass Track-Vorverstärkung und Mas + Pitch estimator + + + + Deck 1 Deck 1 - + Deck 2 Deck 2 - + Deck 3 Deck 3 - + Deck 4 Deck 4 - + Signal Quality Signalqualität - + http://www.xwax.co.uk http://www.xwax.co.uk - + Powered by xwax Angetrieben von xwax - + Hints Hinweise - + Select sound devices for Vinyl Control in the Sound Hardware pane. Wählen Sie Audiogeräte für die Vinyl-Steuerung in den Sound-Hardware-Einstellungen aus. @@ -7942,58 +8231,58 @@ Die Ziel-Lautheit ist ungefähr und nimmt an, dass Track-Vorverstärkung und Mas DlgPrefWaveform - + Filtered Gefiltert - + HSV HSV - + RGB RGB - + Top Oben - + Center Mitte - + Bottom Unten - + 1/3 of waveform viewer options for "Text height limit" - + Entire waveform viewer - + OpenGL not available OpenGL nicht verfügbar - + dropped frames ausgelassene Einzelbilder - + Cached waveforms occupy %1 MiB on disk. Zwischengespeicherte Wellenformen belegen %1 MiB auf der Festplatte. @@ -8011,22 +8300,17 @@ Die Ziel-Lautheit ist ungefähr und nimmt an, dass Track-Vorverstärkung und Mas Bildwiederholrate - + OpenGL Status OpenGL Status - + Displays which OpenGL version is supported by the current platform. Zeigt an, welche OpenGL-Version von der aktuellen Plattform unterstützt wird. - - Normalize waveform overview - Wellenform-Übersicht normalisieren - - - + Average frame rate Durchschnittliche Bildwiederholrate @@ -8042,7 +8326,7 @@ Die Ziel-Lautheit ist ungefähr und nimmt an, dass Track-Vorverstärkung und Mas Standard-Vergrößerung - + Displays the actual frame rate. Zeigt die tatsächliche Bildwiederholrate. @@ -8077,7 +8361,7 @@ Die Ziel-Lautheit ist ungefähr und nimmt an, dass Track-Vorverstärkung und Mas Tiefen - + Show minute markers on waveform overview Minuten-Marker in der Wellenform-Übersicht anzeigen @@ -8122,7 +8406,7 @@ Die Ziel-Lautheit ist ungefähr und nimmt an, dass Track-Vorverstärkung und Mas Globale visuelle Verstärkung - + The waveform overview shows the waveform envelope of the entire track. Select from different types of displays for the waveform overview, which differ primarily in the level of detail shown in the waveform. Die Wellenform-Übersicht zeigt die Wellenform-Hüllkurve des gesamten Tracks. @@ -8191,22 +8475,22 @@ Wählen Sie aus verschiedenen Arten der Wellenform-Anzeige, welche sich in erste - + Caching Zwischenspeicherung - + Mixxx caches the waveforms of your tracks on disk the first time you load a track. This reduces CPU usage when you are playing live but requires extra disk space. Mixxx speichert die Wellenformen Ihrer Tracks auf der Festplatte, wenn Sie einen Track das erste Mal laden. Dies erfordert zusätzlichen Speicherplatz, reduziert aber die CPU-Auslastung, wenn Sie live spielen. - + Enable waveform caching Zwischenspeicherung der Wellenformen aktivieren - + Generate waveforms when analyzing library Wellenformen bei der Analyse der Bibliothek erzeugen @@ -8222,7 +8506,7 @@ Wählen Sie aus verschiedenen Arten der Wellenform-Anzeige, welche sich in erste - + Type Typ @@ -8252,12 +8536,58 @@ Wählen Sie aus verschiedenen Arten der Wellenform-Anzeige, welche sich in erste Verschiebt die Position des Wiedergabemarkers auf den Wellenformen nach links, rechts oder mittig (Standard). - + + Stem + + + + + Channel opacity + + + + + Channel opacity (outline) + + + + + Main stem opacity + + + + + Outline stem opacity + + + + + Move channel to foreground when volume is adjusted + + + + Overview Waveforms - + + Gain + + + + + Normalize to peak + + + + + Use Waveform "Global" gain and ReplayGain (if enabled) + 'Global' refers to the 'Global' visual gain in the scrolling waveform settings + + + + Clear Cached Waveforms Zwischengespeicherte Wellenformen löschen @@ -8718,7 +9048,7 @@ Dies kann nicht rückgängig gemacht werden! (status text) - (status text) + @@ -8749,7 +9079,7 @@ Dies kann nicht rückgängig gemacht werden! BPM: - + Location: Speicherort: @@ -8764,27 +9094,27 @@ Dies kann nicht rückgängig gemacht werden! Kommentare - + BPM BPM - + Sets the BPM to 75% of the current value. Setzt die BPM auf 75 % des aktuellen Wertes. - + 3/4 BPM 3/4 BPM - + Sets the BPM to 50% of the current value. Setzt die BPM auf 50 % des aktuellen Wertes. - + Displays the BPM of the selected track. Zeigt die BPM des gewählten Tracks an. @@ -8839,49 +9169,49 @@ Dies kann nicht rückgängig gemacht werden! Genre - + ReplayGain: ReplayGain: - + Sets the BPM to 200% of the current value. Setzt die BPM auf 200 % des aktuellen Wertes. - + Double BPM BPM verdoppeln - + Halve BPM BPM halbieren - + Clear BPM and Beatgrid BPM und Beatgrid löschen - + Move to the previous item. "Previous" button Zum vorherigen Stück wechseln. - + &Previous &Zurück - + Move to the next item. "Next" button Zum nächsten Stück wechseln. - + &Next &Weiter @@ -8906,12 +9236,12 @@ Dies kann nicht rückgängig gemacht werden! Farbe - + Date added: Hinzugefügt am: - + Open in File Browser Im Dateibrowser öffnen @@ -8921,12 +9251,17 @@ Dies kann nicht rückgängig gemacht werden! Abtastrate: - + + Filesize: + + + + Track BPM: Track-BPM: - + Converts beats detected by the analyzer into a fixed-tempo beatgrid. Use this setting if your tracks have a constant tempo (e.g. most electronic music). Often results in higher quality beatgrids, but will not do well on tracks that have tempo shifts. @@ -8935,90 +9270,90 @@ Benutzen Sie diese Einstellung wenn Ihre Tracks ein konstantes Tempo haben (z.B. Das führt oft zu Beatgrids mit höherer Qualität, wird aber nicht so gut bei Tracks mit Tempowechseln funktionieren. - + Assume constant tempo Konstantes Tempo annehmen - + Sets the BPM to 66% of the current value. Setzt die BPM auf 66 % des aktuellen Wertes. - + 2/3 BPM 2/3 BPM - + Sets the BPM to 150% of the current value. Setzt die BPM auf 150 % des aktuellen Wertes. - + 3/2 BPM 3/2 BPM - + Sets the BPM to 133% of the current value. Setzt die BPM auf 133 % des aktuellen Wertes. - + 4/3 BPM 4/3 BPM - + Tap with the beat to set the BPM to the speed you are tapping. Tippen Sie im Takt um die BPM auf die Geschwindigkeit festzulegen, die Sie tippen. - + Tap to Beat Zum Beat tippen - + Hint: Use the Library Analyze view to run BPM detection. Hinweis: Nutzen Sie die Analysieren-Ansicht in der Bibliothek für die BPM-Erkennung. - + Save changes and close the window. "OK" button Änderungen speichern und Fenster schließen. - + &OK &OK - + Discard changes and close the window. "Cancel" button Änderungen verwerfen und Fenster schließen. - + Save changes and keep the window open. "Apply" button Änderungen speichern und Fenster offen halten. - + &Apply &Anwenden - + &Cancel Ab&brechen - + (no color) (keine Farbe) @@ -9175,7 +9510,7 @@ Das führt oft zu Beatgrids mit höherer Qualität, wird aber nicht so gut bei T &OK - + (no color) (keine Farbe) @@ -9377,27 +9712,27 @@ Das führt oft zu Beatgrids mit höherer Qualität, wird aber nicht so gut bei T EngineBuffer - + Soundtouch (faster) Soundtouch (schneller) - + Rubberband (better) Rubberband (besser) - + Rubberband R3 (near-hi-fi quality) Rubberband R3 (nahezu Hi-Fi-Qualität) - + Unknown, using Rubberband (better) Unbekannt, nutze Rubberband (besser) - + Unknown, using Soundtouch Unbekannt, Soundtouch wird verwenden @@ -9612,15 +9947,15 @@ Das führt oft zu Beatgrids mit höherer Qualität, wird aber nicht so gut bei T LegacySkinParser - - + + Safe Mode Enabled Shown when Mixxx is running in safe mode. Abgesicherter Modus aktiviert - - + + No OpenGL support. Shown when Spinny can not be displayed. Please keep @@ -9632,57 +9967,57 @@ Shown when VuMeter can not be displayed. Please keep Unterstützung. - + activate aktivieren - + toggle umschalten - + right rechts - + left links - + right small wenig rechts - + left small wenig links - + up hoch - + down runter - + up small wenig hoch - + down small wenig runter - + Shortcut Tastenkombination @@ -9690,37 +10025,37 @@ Unterstützung. Library - + This or a parent directory is already in your library. Dieses oder ein übergeordnetes Verzeichnis befindet sich bereits in Ihrer Bibliothek. - + This or a listed directory does not exist or is inaccessible. Aborting the operation to avoid library inconsistencies Dieses oder ein aufgelistetes Verzeichnis existiert nicht oder ist nicht zugänglich. Der Vorgang wird zur zur Vermeidung von Inkonsistenzen in der Bibliothek abgebrochen. - - + + This directory can not be read. Dieses Verzeichnis kann nicht gelesen werden. - + An unknown error occurred. Aborting the operation to avoid library inconsistencies Ein unbekannter Fehler ist aufgetreten. Der Vorgang wird zur zur Vermeidung von Inkonsistenzen in der Bibliothek abgebrochen. - + Can't add Directory to Library Verzeichnis kann nicht zur Bibliothek hinzugefügt werden - + Could not add <b>%1</b> to your library. %2 @@ -9729,27 +10064,27 @@ Der Vorgang wird zur zur Vermeidung von Inkonsistenzen in der Bibliothek abgebro %2 - + Can't remove Directory from Library Verzeichnis kann nicht aus der Bibliothek entfernt werden - + An unknown error occurred. Es ist ein unbekannter Fehler aufgetreten. - + This directory does not exist or is inaccessible. Dieses Verzeichnis existiert nicht oder ist nicht zugänglich. - + Relink Directory Verzeichnis neu verknüpfen - + Could not relink <b>%1</b> to <b>%2</b>. %3 @@ -9917,12 +10252,12 @@ Möchten Sie wirklich diese Datei überschreiben? Ausgeblendete Tracks - + Export to Engine DJ Exportieren nach Engine DJ - + Tracks Tracks @@ -9930,37 +10265,37 @@ Möchten Sie wirklich diese Datei überschreiben? MixxxMainWindow - + Sound Device Busy Audiogerät beschäftigt - + <b>Retry</b> after closing the other application or reconnecting a sound device <b>Wiederholen</b> nach dem Schließen der anderen Anwendung oder dem erneuten Verbinden eines Audiogerätes - - - + + + <b>Reconfigure</b> Mixxx's sound device settings. Mixxx's Audiogeräte-Einstellungen <b>neu konfigurieren</b>. - - + + Get <b>Help</b> from the Mixxx Wiki. Erhalten Sie <b>Hilfe</b> aus dem Mixxx Wiki. - - - + + + <b>Exit</b> Mixxx. Mixxx <b>beenden</b>. - + Retry Wiederholen @@ -9970,213 +10305,213 @@ Möchten Sie wirklich diese Datei überschreiben? Skin - + Allow Mixxx to hide the menu bar? Darf Mixxx die Menüleiste ausblenden? - + Hide Always show the menu bar? Ausblenden - + Always show Immer anzeigen - + The Mixxx menu bar is hidden and can be toggled with a single press of the <b>Alt</b> key.<br><br>Click <b>%1</b> to agree.<br><br>Click <b>%2</b> to disable that, for example if you don't use Mixxx with a keyboard.<br><br>You can change this setting any time in Preferences -> Interface.<br> Keep formatting tags <b> (bold text) and <br> (linebreak). %1 is the placeholder for the 'Always show' button label Die Mixxx-Menüleiste ist ausgeblendet und kann mit einem einzigen Druck der <b>Alt</b> Taste umgeschaltet werden.<br><br><b>%1</b> anklicken, um zuzustimmen.<br><br><b>%2</b>anklicken, um dies zu deaktivieren , z.B. wenn Sie Mixxx nicht mit einer Tastatur verwenden.<br><br>Sie können diese Einstellung jederzeit unter Einstellungen -> Benutzeroberfläche ändern.<br> - + Ask me again Nochmals fragen - - + + Reconfigure Neu konfigurieren - + Help Hilfe - - + + Exit Beenden - - + + Mixxx was unable to open all the configured sound devices. Mixxx konnte nicht alle konfigurierten Audiogeräte öffnen. - + Sound Device Error Audiogeräte-Fehler - + <b>Retry</b> after fixing an issue <b>Wiederholen</b> nach Fehlerbehebung - + No Output Devices Keine Ausgabegeräte - + Mixxx was configured without any output sound devices. Audio processing will be disabled without a configured output device. Mixxx wurde ohne Tonausgabe-Geräte konfiguriert. Die Audio-Verarbeitung wird ohne ein konfiguriertes Ausgabegerät deaktiviert werden. - + <b>Continue</b> without any outputs. <b>Weiter</b> ohne jegliche Ausgabegeräte. - + Continue Weiter - + Load track to Deck %1 Track in Deck %1 laden - + Deck %1 is currently playing a track. Deck %1 spielt derzeit einen Track. - + Are you sure you want to load a new track? Möchten Sie wirklich einen neuen Track laden? - + There is no input device selected for this vinyl control. Please select an input device in the sound hardware preferences first. Es ist kein Eingabegerät für diese Vinyl-Steuerung ausgewählt. Bitte wählen Sie zuerst ein Eingabegerät in den Sound-Hardware-Einstellungen. - + There is no input device selected for this passthrough control. Please select an input device in the sound hardware preferences first. Es ist kein Eingabegerät für diese Passthrough-Steuerung ausgewählt. Bitte wählen Sie zuerst ein Eingabegerät in den Sound-Hardware-Einstellungen. - + There is no input device selected for this microphone. Do you want to select an input device? Es ist kein Eingabegerät für dieses Mikrofon ausgewählt. Wollen Sie ein Eingabegerät auswählen? - + There is no input device selected for this auxiliary. Do you want to select an input device? Es ist kein Eingabegerät für diesen Aux ausgewählt. Wollen Sie ein Eingabegerät auswählen? - + Scan took %1 - + No changes detected. - - + + %1 tracks in total %1 Tracks insgesamt - + %1 new tracks found %1 neue Tracks gefunden - + %1 moved tracks detected %1 verschobene Tracks erkannt - + %1 tracks are missing (%2 total) %1 Tracks fehlen (%2 insgesamt) - + %1 tracks have been rediscovered %1 Tracks wurden wiedergefunden - + Library scan finished Bibliothek-Scan abgeschlossen - + Error in skin file Fehler in Skin-Datei - + The selected skin cannot be loaded. Das gewählte Skin kann nicht geladen werden. - + OpenGL Direct Rendering Direktes Rendern mit OpenGL - + Direct rendering is not enabled on your machine.<br><br>This means that the waveform displays will be very<br><b>slow and may tax your CPU heavily</b>. Either update your<br>configuration to enable direct rendering, or disable<br>the waveform displays in the Mixxx preferences by selecting<br>"Empty" as the waveform display in the 'Interface' section. Direktes Rendern ist auf Ihrem System nicht aktiviert.<br><br>Dies bedeutet, dass die Wellenform-Anzeige sehr langsam sein wird <br><b>und möglicherweise Ihre CPU stark belastet</b>. Entweder aktualisieren Sie Ihre<br>Konfiguration, um direktes Rendern zu aktivieren oder deaktivieren<br>die Wellenform-Anzeige in den Mixxx-Einstellungen durch die Auswahl von<br>"Leer" als Wellenform-Anzeige im Bereich 'Benutzeroberfläche'. - - - + + + Confirm Exit Beenden bestätigen - + A deck is currently playing. Exit Mixxx? Ein Deck spielt derzeit. Mixxx beenden? - + A sampler is currently playing. Exit Mixxx? Ein Sampler spielt derzeit. Mixxx beenden? - + The preferences window is still open. Das Einstellungen-Fenster ist noch geöffnet. - + Discard any changes and exit Mixxx? Alle Änderungen verwerfen und Mixxx schließen? @@ -10192,13 +10527,13 @@ Wollen Sie ein Eingabegerät auswählen? PlaylistFeature - + Lock Sperren - - + + Playlists Wiedergabelisten @@ -10208,58 +10543,63 @@ Wollen Sie ein Eingabegerät auswählen? Wiedergabeliste mischen - + + Adopt current order + + + + Unlock all playlists - + Delete all unlocked playlists - + Unlock Entsperren - - + + Confirm Deletion - + Do you really want to delete all unlocked playlists? - + Deleting %1 unlocked playlists.<br>This operation can not be undone! - + Playlists are ordered lists of tracks that allow you to plan your DJ sets. Wiedergabelisten sind geordnete Listen von Tracks, mit denen Sie Ihre DJ-Sets planen können. - + It may be necessary to skip some tracks in your prepared playlist or add some different tracks in order to maintain the energy of your audience. Es kann notwendig sein, einige Tracks in Ihrer vorbereiteten Wiedergabeliste zu überspringen oder einige andere Tracks hinzuzufügen, um die Energie Ihres Publikums aufrechtzuerhalten. - + Some DJs construct playlists before they perform live, but others prefer to build them on-the-fly. Einige DJs stellen Wiedergabelisten zusammen bevor sie live auftreten, während andere es bevorzugen sie währenddessen zu erstellen. - + When using a playlist during a live DJ set, remember to always pay close attention to how your audience reacts to the music you've chosen to play. Achten Sie bei der Verwendung einer Wiedergabeliste während eines Live-DJ-Sets immer darauf, wie das Publikum auf die von Ihnen gespielte Musik reagiert. - + Create New Playlist Neue Wiedergabeliste erstellen @@ -10358,59 +10698,59 @@ Wollen Sie ein Eingabegerät auswählen? QMessageBox - + Upgrading Mixxx Mixxx aktualisieren - + Mixxx now supports displaying cover art. Do you want to scan your library for cover files now? Mixxx unterstützt nun die Anzeige von Cover-Bildern. Möchten Sie Ihre Bibliothek jetzt nach Cover-Dateien scannen? - + Scan Scannen - + Later Später - + Upgrading Mixxx from v1.9.x/1.10.x. Aktualisierung von Mixxx v1.9.x/1.10.x. - + Mixxx has a new and improved beat detector. Mixxx hat eine neue und verbesserte Beat-Erkennung. - + When you load tracks, Mixxx can re-analyze them and generate new, more accurate beatgrids. This will make automatic beatsync and looping more reliable. Wenn Sie Tracks laden, kann Mixxx diese erneut analysieren und neue, genauere Beatgrids erzeugen. Dadurch werden automatische Beat-Synchronisierung und Looping zuverlässiger funktionieren. - + This does not affect saved cues, hotcues, playlists, or crates. Dies hat keine Auswirkungen auf Cues, Hotcues, Wiedergabelisten oder Plattenkisten. - + If you do not want Mixxx to re-analyze your tracks, choose "Keep Current Beatgrids". You can change this setting at any time from the "Beat Detection" section of the Preferences. Wenn Sie nicht wollen das Mixxx Ihre Tracks erneut analysiert, wählen Sie "Aktuelle Beatgrids erhalten". Sie können dies jederzeit im Bereich "Beat-Erkennung" in den Einstellungen ändern. - + Keep Current Beatgrids Aktuelle Beatgrids erhalten - + Generate New Beatgrids Neue Beatgrids erzeugen @@ -10524,69 +10864,82 @@ Möchten Sie Ihre Bibliothek jetzt nach Cover-Dateien scannen? 14-bit (MSB) - + Main + Audio path indetifier Haupt - + Booth + Audio path indetifier Kabine - + Headphones + Audio path indetifier Kopfhörer - + Left Bus + Audio path indetifier Linker Bus - + Center Bus + Audio path indetifier Mitten-Bus - + Right Bus + Audio path indetifier Rechter Bus - + Invalid Bus + Audio path indetifier Ungültiger Bus - + Deck + Audio path indetifier Deck - + Record/Broadcast + Audio path indetifier Aufnahme/Übertragung - + Vinyl Control + Audio path indetifier Vinyl-Steuerung - + Microphone + Audio path indetifier Mikrofon - + Auxiliary + Audio path indetifier Aux - + Unknown path type %1 + Audio path Unbekannter Pfad-Typ %1 @@ -10929,47 +11282,49 @@ Mit einer Breite von Null kann der gesamte Verzögerungsbereich manuell überstr Breite - + Metronome Metronom - + + The Mixxx Team Das Mixxx-Team - + Adds a metronome click sound to the stream Fügt dem Audio-Signal ein Metronom-Tick hinzu - + BPM BPM - + Set the beats per minute value of the click sound Stellt den Beats pro Minute-Wert des Metronom-Tick ein - + Sync Synchronisation - + Synchronizes the BPM with the track if it can be retrieved Synchronisiert die BPM mit dem Track, wenn sie abgerufen werden können - + + Gain Verstärkung - + Set the gain of metronome click sound @@ -11773,14 +12128,14 @@ Ganz rechts: Ende der Effektperiode OGG-Aufnahme wird nicht unterstützt. OGG/Vorbis-Bibliothek konnte nicht initialisiert werden. - - + + encoder failure Kodiererfehler - - + + Failed to apply the selected settings. Die ausgewählten Einstellungen konnten nicht übernommen werden. @@ -11988,15 +12343,86 @@ and the processed output signal as close as possible in perceived loudnessEin + + Auto Gain Control + + + + + AGC + + + + + Auto Gain Control (AGC) automatically adjusts the gain of an audio signal to maintain a consistent output level. + + + + Threshold (dBFS) Schwellwert (dBFS) + Threshold Schwellwert + + + The Threshold knob adjusts the level above which the effect starts enhancing the input signal + + + + + Target (dBFS) + + + + + Target + + + + + The Target knob adjusts the desired target level of the output signal + + + + + Gain (dB) + + + + + The Gain knob adjusts the maximum amount of gain that the effect will apply + + + + + Knee (dB) + + + + + The Knee knob defines the range around the Threshold where gain changes are applied gradually, +ensuring smooth transitions and avoiding abrupt level shifts. + + + + + The Attack knob sets the time that determines how fast the auto gain +will set in once the signal exceeds the threshold + + + + + The Release knob sets the time that determines how fast the auto gain will recover from the gain +adjustment once the signal falls under the threshold. Depending on the input signal, short release times +may introduce a 'pumping' effect and/or distortion. + + The Threshold knob adjusts the level above which the compressor starts attenuating the input signal @@ -12027,6 +12453,7 @@ Bei einem Verhältnis von 1:1 findet keine Komprimierung statt, da der Eingang g Knie (dBFS) + Knee Knie @@ -12037,11 +12464,13 @@ Bei einem Verhältnis von 1:1 findet keine Komprimierung statt, da der Eingang g Der Knie-Regler wird verwendet, um eine sanftere Kompressionskurve zu erreichen + Attack (ms) Attack (ms) + Attack Attack @@ -12053,11 +12482,13 @@ will set in once the signal exceeds the threshold Der Attack-Regler bestimmt, wie schnell die Kompression einsetzt, wenn das Signal den Schellwert überschreitet + Release (ms) Release (ms) + Release Release @@ -12086,12 +12517,12 @@ may introduce a 'pumping' effect and/or distortion. verschiedene - + built-in eingebaut - + missing fehlt @@ -12126,42 +12557,42 @@ may introduce a 'pumping' effect and/or distortion. Stem #%1 - + Empty Leer - + Simple Einfach - + Filtered Gefiltert - + HSV HSV - + VSyncTest VSyncTest - + RGB RGB - + Stacked Gestapelt - + Unknown Unbekannt @@ -12422,193 +12853,193 @@ may introduce a 'pumping' effect and/or distortion. ShoutConnection - - + + Mixxx encountered a problem Mixxx hat ein Problem festgestellt - + Could not allocate shout_t shout_t konnte nicht zugewiesen werden - + Could not allocate shout_metadata_t shout_metadata_t konnte nicht zugewiesen werden - + Error setting non-blocking mode: Fehler beim Aktivieren des Non-blocking Modus: - + Error setting tls mode: Fehler beim Aktivieren des TLS Modus: - + Error setting hostname! Fehler beim Festlegen des Host-Namens! - + Error setting port! Fehler beim Festlegen des Ports! - + Error setting password! Fehler beim Festlegen des Passwortes! - + Error setting mount! Fehler beim Festlegen des Einhängepunktes! - + Error setting username! Fehler beim Festlegen des Benutzernamens! - + Error setting stream name! Fehler beim Festlegen des Stream-Namens! - + Error setting stream description! Fehler beim Festlegen der Stream-Beschreibung! - + Error setting stream genre! Fehler beim Festlegen des Stream-Genres! - + Error setting stream url! Fehler beim Festlegen der Stream-URL! - + Error setting stream IRC! Fehler beim Festlegen des Stream-IRC! - + Error setting stream AIM! Fehler beim Festlegen des Stream-AIM! - + Error setting stream ICQ! Fehler beim Festlegen des Stream-ICQ! - + Error setting stream public! Fehler beim Festlegen als Öffentlicher Stream! - + Unknown stream encoding format! Unbekanntes Stream-Kodierungsformat! - + Use a libshout version with %1 enabled Verwenden Sie eine libshout-Version mit %1 aktiviert - + Error setting stream encoding format! Fehler beim Einstellen des Stream-Kodierungsformats! - + Broadcasting at 96 kHz with Ogg Vorbis is not currently supported. Please try a different sample rate or switch to a different encoding. Liveübertragung in 96 kHz mit Ogg Vorbis wird derzeit nicht unterstützt. Bitte versuchen Sie eine andere Abtastrate oder wechseln Sie zu einer anderen Kodierung. - + See https://github.com/mixxxdj/mixxx/issues/5701 for more information. Für weitere Informationen, siehe https://github.com/mixxxdj/mixxx/issues/5701. - + Unsupported sample rate Nicht unterstützte Abtastrate - + Error setting bitrate Fehler beim Festlegen der Bitrate - + Error: unknown server protocol! Fehler: Unbekanntes Server-Protokoll! - + Error: Shoutcast only supports MP3 and AAC encoders Fehler: Shoutcast unterstützt nur MP3- und AAC-Encoder - + Error setting protocol! Fehler beim Festlegen des Protokolls! - + Network cache overflow Netzwerk-Zwischenspeicher-Überlauf - + Connection error Verbindungsfehler - + One of the Live Broadcasting connections raised this error:<br><b>Error with connection '%1':</b><br> Eine der Liveübertragung-Verbindungen hat diesen Fehler ausgelöst:<br><b>Fehler bei Verbindung '%1':</b><br> - + Connection message Verbindungsnachricht - + <b>Message from Live Broadcasting connection '%1':</b><br> <b>Nachricht von Liveübertragung-Verbindung '%1':</b><br> - + Lost connection to streaming server and %1 attempts to reconnect have failed. Verbindung zum Streaming-Server verloren, und %1 Versuche erneut zu verbinden sind fehlgeschlagen. - + Lost connection to streaming server. Verbindung zum Streaming-Server verloren. - + Please check your connection to the Internet. Bitte überprüfen Sie die Verbindung zum Internet. - + Can't connect to streaming server Verbindung zum Streaming-Server kann nicht hergestellt werden - + Please check your connection to the Internet and verify that your username and password are correct. Bitte überprüfen Sie die Internetverbindung und vergewissern sich, dass Ihr Benutzername und Kennwort richtig sind. @@ -12616,7 +13047,7 @@ may introduce a 'pumping' effect and/or distortion. SoftwareWaveformWidget - + Filtered Gefiltert @@ -12624,23 +13055,23 @@ may introduce a 'pumping' effect and/or distortion. SoundManager - - + + a device ein Gerät - + An unknown error occurred Es ist ein unbekannter Fehler aufgetreten - + Two outputs cannot share channels on "%1" Zwei Ausgänge können sich keine Kanäle an "%1" teilen - + Error opening "%1" Fehler beim Öffnen von "%1" @@ -12713,17 +13144,17 @@ may introduce a 'pumping' effect and/or distortion. Identifying track through AcoustID - + Identifiziere Track über AcoustID Could not identify track through AcoustID. - + Konnte Track über AcoustID nicht identifizieren. Could not find this track in the MusicBrainz database. - + Konnte diesen Track in der MusicBrainz Datenbank nicht finden @@ -12825,7 +13256,7 @@ may introduce a 'pumping' effect and/or distortion. - + Spinning Vinyl Drehendes Vinyl @@ -13007,7 +13438,7 @@ may introduce a 'pumping' effect and/or distortion. - + Cover Art Cover-Bild @@ -13197,243 +13628,243 @@ may introduce a 'pumping' effect and/or distortion. Hält die Verstärkung des Tiefen-Equalizer auf Null wenn aktiviert. - + Displays the tempo of the loaded track in BPM (beats per minute). Zeigt das Tempo des geladenen Tracks in BPM (Beats pro Minute). - + Tempo Tempo - + Key The musical key of a track Tonart - + BPM Tap BPM-Tippen - + When tapped repeatedly, adjusts the BPM to match the tapped BPM. Passt die BPM der eingetippten BPM an wenn wiederholt getippt wird. - + Adjust BPM Down BPM verringern - + When tapped, adjusts the average BPM down by a small amount. Passt die durchschnittlichen BPM ein klein wenig nach unten an wenn getippt wird. - + Adjust BPM Up BPM erhöhen - + When tapped, adjusts the average BPM up by a small amount. Passt die durchschnittlichen BPM ein klein wenig nach oben an wenn getippt wird. - + Adjust Beats Earlier Beats früher - + When tapped, moves the beatgrid left by a small amount. Verschiebt das Beatgrid ein klein wenig nach links wenn getippt wird. - + Adjust Beats Later Beats später - + When tapped, moves the beatgrid right by a small amount. Verschiebt das Beatgrid ein klein wenig nach rechts wenn getippt wird. - + Tempo and BPM Tap Tempo und BPM-Tip - + Show/hide the spinning vinyl section. Vinyl-Steuerung-Bereich ein-/ausblenden. - + Keylock Tonhöhensperre - + Toggling keylock during playback may result in a momentary audio glitch. Umschalten der Tonhöhensperre während der Wiedergabe kann zu kurzzeitigen Aussetzern führen. - + Toggle visibility of Loop Controls Sichtbarkeit der Loop-Steuerelemente umschalten - + Toggle visibility of Beatjump Controls Sichtbarkeit der Beatjump-Steuerelemente umschalten - + Toggle visibility of Rate Control Sichtbarkeit der Geschwindigkeit-Steuerelemente umschalten - + Toggle visibility of Key Controls Sichtbarkeit der Tonart-Steuerelemente umschalten - + (while previewing) (während der Vorschau) - + Places a cue point at the current position on the waveform. Setzt einen Cue-Punkt an der aktuellen Position in der Wellenform. - + Stops track at cue point, OR go to cue point and play after release (CUP mode). Track am Cue-Punkt stoppen, oder zum Cue-Punkt gehen und nach dem Loslassen wiedergeben (CUP-Modus). - + Set cue point (Pioneer/Mixxx/Numark mode), set cue point and play after release (CUP mode) OR preview from it (Denon mode). Cue-Punkt setzen (Pioneer/Mixxx/Numark-Modus), Cue-Punkt setzen und nach dem Loslassen wiedergeben (CUP-Modus) oder Vorhören von hier starten (Denon-Modus). - + Is latching the playing state. Hält den Wiedergabestatus fest. - + Seeks the track to the cue point and stops. Springt im Track zum Cue-Punkt und stoppt. - + Play Wiedergabe - + Plays track from the cue point. Track vom Cue-Punkt wiedergeben. - + Sends the selected channel's audio to the headphone output, selected in Preferences -> Sound Hardware. Sendet das Audiosignal des gewählten Kanals zu dem in Einstellungen -> Sound-Hardware ausgewählten Kopfhörerausgang. - + (This skin should be updated to use Sync Lock!) (Dieses Skin sollte aktualisiert werden, um Sync-Lock zu verwenden!) - + Enable Sync Lock Sync-Lock aktivieren - + Tap to sync the tempo to other playing tracks or the sync leader. Tippen um das Tempo mit anderen spielenden Tracks oder dem Sync-Leader zu synchronisieren. - + Enable Sync Leader Sync-Leader aktivieren - + When enabled, this device will serve as the sync leader for all other decks. Wenn aktiviert, wird dieses Gerät als Sync-Leader für alle anderen Decks dienen. - + This is relevant when a dynamic tempo track is loaded to a sync leader deck.In that case, other synced devices will adopt the changing tempo. Dies ist von Bedeutung, wenn ein Track mit dynamischem Tempo in ein Sync-Leader-Deck geladen wird, so dass anderen synchronisierte Geräte das wechselnde Tempo übernehmen. - + Changes the track playback speed (affects both the tempo and the pitch). If keylock is enabled, only the tempo is affected. Ändert die Wiedergabegeschwindigkeit (beeinflusst das Tempo als auch die Tonhöhe). Wenn die Tonhöhensperre aktiviert ist, wird nur das Tempo beeinflusst. - + Tempo Range Display Tempobereichsanzeige - + Displays the current range of the tempo slider. Zeigt den aktuellen Bereich des Temporeglers an. - + Un-ejects when no track is loaded, i.e. reloads the track that was ejected last (of any deck). Nachladen wenn kein Track geladen ist, d.h. lädt den letzten ausgeworfenen Track (von jedem Deck) erneut. - + Delete selected hotcue. Ausgewählten Hotcue löschen. - + Track Comment Track-Kommentar - + Displays the comment tag of the loaded track. Zeigt das Kommentar-Tag des geladenen Tracks an. - + Opens separate artwork viewer. Öffnet separate Cover-Bild Anzeige. - + Effect Chain Preset Settings Effektketten-Einstellungen - + Show the effect chain settings menu for this unit. Die Effektketten-Einstellungen für diese Einheit anzeigen. - + Select and configure a hardware device for this input Wählen und konfigurieren Sie ein Hardwaregerät für diesen Eingang - + Recording Duration Aufnahmedauer @@ -13593,7 +14024,7 @@ may introduce a 'pumping' effect and/or distortion. If keylock is disabled, pitch is also affected. - + Wenn Keylock deaktiviert ist, wird auch der Pitch beeinflusst. @@ -13603,12 +14034,12 @@ may introduce a 'pumping' effect and/or distortion. Raises the track playback speed (tempo). - + Erhöht die Track Abspielgeschwindigkeit (Tempo). Raises playback speed in small steps. - + Erhöht die Abspielgeschwindigkeit in kleinen Schritten. @@ -13618,12 +14049,12 @@ may introduce a 'pumping' effect and/or distortion. Lowers the track playback speed (tempo). - + Verringert die Track Abspielgeschwindigkeit (Tempo). Lowers playback speed in small steps. - + Verringert die Abspielgeschwindigkeit in kleinen Schritten. @@ -13633,972 +14064,1007 @@ may introduce a 'pumping' effect and/or distortion. Holds playback speed higher while active (tempo). - + Hält die Abspielgeschwindigkeit höher, wenn aktiviert (Tempo). Holds playback speed higher (small amount) while active. - + Hält die Abspielgeschwindigkeit höher (kleinerer Wert), wenn aktiviert. Slow Down Temporarily (Nudge) - + Temporär Verlangsamen (Nudge) Holds playback speed lower while active (tempo). - + Hält die Abspielgeschwindigkeit niedriger, wenn aktiviert (Tempo). Holds playback speed lower (small amount) while active. - + Hält die Abspielgeschwindigkeit niedriger (kleinerer Wert), wenn aktiviert. - + When tapped repeatedly, adjusts the tempo to match the tapped BPM. + + + Click to open the tempo/BPM editor + + + + + It also shows a colored bar if Key colors are enabled in the Preferences. + + + The bar will be split vertically if the track's key is in between full keys. + + + + Tempo Tap - + Rate Tap and BPM Tap - + + Set Tempo + + + + + Set the desired tempo in BPM. If the track currently has no BPM detected, set the desired tempo in percent. + + + + Adjust beatgrid by exactly one half beat. Usable only on tracks with constant tempo. - + Revert last BPM/Beatgrid Change - + Letzte BPM/Beatgrid Änderung rückgängig machen - + Revert last BPM/Beatgrid Change of the loaded track. - - + + Toggle the BPM/beatgrid lock - + BPM-/Beatgrid-Sperre umschalten - + Tempo and Rate Tap - + Tempo, Rate Tap and BPM Tap - + Shift cues earlier Cue-Punkte nach vorn verschieben - - + + Shift cues imported from Serato or Rekordbox if they are slightly off time. Verschieben von Cues, die aus Serato oder Rekordbox importiert wurden, wenn sie leicht neben der Zeit liegen. - + Left click: shift 10 milliseconds earlier Linksklick: 10 Millisekunden nach vorn verschieben - + Right click: shift 1 millisecond earlier Rechtsklick: 1 Millisekunde nach vorn verschieben - + Shift cues later Cue-Punkte nach hinten verschieben - + Left click: shift 10 milliseconds later Linksklick: 10 Millisekunden nach hinten verschieben - + Right click: shift 1 millisecond later Rechtsklick: 1 Millisekunde nach hinten verschieben - - - + + + Drag a Hotcue button here to continue playing after releasing the Hotcue. - + Hint: Change the default cue mode in Preferences -> Decks. - + Mutes the selected channel's audio in the main output. Schaltet das Audiosignal des gewählten Kanals im Hauptausgang stumm. - + Main mix enable Hauptmix aktivieren - + Hold or short click for latching to mix this input into the main output. Halten oder kurzes Klicken zum Einrasten um diesen Eingang in den Hauptausgang zu mischen. - + + Reloads the last replaced track. If no track is loaded reloads the second-last ejected track. + + + + If hotcue is a loop cue, toggles the loop and jumps to if the loop is behind the play position. - + If the play position is inside an active loop, stores the loop as loop cue. - + Drag this button onto another Hotcue button to move it there (change its index). If the other hotcue is set, the two are swapped. - + Expand/Collapse Samplers Sampler erweitern/reduzieren - + Toggle expanded samplers view. Erweiterte Sampler-Ansicht ein-/ausschalten. - + Displays the duration of the running recording. Zeigt die Dauer der laufenden Aufnahme. - + Auto DJ is active Auto-DJ aktiviert - + Red for when needle skip has been detected. Rot wenn ein Nadel-Sprung erkannt wurde. - + Hot Cue - Track will seek to nearest previous hotcue point. Hot Cue - Der Track springt zum nächstgelegenen vorherigen Hotcue-Punkt. - + Sets the track Loop-In Marker to the current play position. Setzt den Loop-In Marker des Tracks an der aktuellen Wiedergabeposition. - + Press and hold to move Loop-In Marker. Drücken und halten um Loop-In Marker zu verschieben. - + Jump to Loop-In Marker. Zum Loop-In Marker springen. - + Sets the track Loop-Out Marker to the current play position. Setzt den Loop-Out Marker des Tracks an der aktuellen Wiedergabeposition. - + Press and hold to move Loop-Out Marker. Drücken und halten um Loop-Out Marker zu verschieben. - + Jump to Loop-Out Marker. Zum Loop-Out Marker springen. - + If the track has no beats the unit is seconds. Hat der Track keine Beats, ist die Einheit Sekunden. - + Beatloop Size Beatloop-Größe - + Select the size of the loop in beats to set with the Beatloop button. Wähle die Größe des Loop in Beats aus, die mit der Beatloop-Taste eingestellt werden soll. - + Changing this resizes the loop if the loop already matches this size. Ändern dieser Größe verändert den Loop, wenn der Loop bereits dieser Größe entspricht. - + Halve the size of an existing beatloop, or halve the size of the next beatloop set with the Beatloop button. Halbiere die Größe eines vorhandenen Beatloop, oder halbiere die Größe des nächsten mit dem Beatloop-Button festgelegten Beatloop. - + Double the size of an existing beatloop, or double the size of the next beatloop set with the Beatloop button. Verdopple die Länge eines vorhandenen Beatloop, oder verdopple die Länge des nächsten mit dem Beatloop-Button festgelegten Beatloop. - + Start a loop over the set number of beats. Startet einen Loop über die festgelegte Anzahl von Beats. - + Temporarily enable a rolling loop over the set number of beats. Vorübergehend einen Loop-Roll über die festgelegte Anzahl von Beats aktivieren. - + Beatloop Anchor - + Beatloop Anker - + Define whether the loop is created and adjusted from its staring point or ending point. - + Beatjump/Loop Move Size Größe von Beat-Sprung / Loop-Verschiebung - + Select the number of beats to jump or move the loop with the Beatjump Forward/Backward buttons. Wähle die Anzahl der Beats aus, um den Loop mit den Vorwärts/Rückwärts Beat-Sprung-Tasten zu springen oder zu verschieben. - + Beatjump Forward Beat-Sprung vorwärts - + Jump forward by the set number of beats. Vorwärts springen über die festgelegte Anzahl von Beats. - + Move the loop forward by the set number of beats. Den Loop vorwärts verschieben über die festgelegte Anzahl von Beats. - + Jump forward by 1 beat. Vorwärts springen um 1 Beat. - + Move the loop forward by 1 beat. Verschieben des Loop um 1 Beat vorwärts. - + Beatjump Backward Beat-Sprung rückwärts - + Jump backward by the set number of beats. Rückwärts springen über die festgelegte Anzahl von Beats. - + Move the loop backward by the set number of beats. Rückwärts verschieben des Loop über die festgelegte Anzahl von Beats. - + Jump backward by 1 beat. Rückwärts springen um 1 Beat. - + Move the loop backward by 1 beat. Verschieben des Loop um 1 Beat rückwärts. - + Reloop Reloop - + If the loop is ahead of the current position, looping will start when the loop is reached. Wenn der Loop vor der aktuellen Wiedergabeposition ist, beginnt das Looping wenn der Loop erreicht wird. - + Works only if Loop-In and Loop-Out Marker are set. Funktioniert nur wenn die Loop-In und Loop-Out Marker gesetzt sind. - + Enable loop, jump to Loop-In Marker, and stop playback. Loop aktivieren, zum Loop-In Marker springen, und Wiedergabe stoppen. - + Displays the elapsed and/or remaining time of the track loaded. Zeigt die bereits verstrichene und/oder verbleibende Zeit des geladenen Tracks an. - + Click to toggle between time elapsed/remaining time/both. Klicken zum Umschalten zwischen vergangener/verbleibender Zeit/ beiden. - + Hint: Change the time format in Preferences -> Decks. Hinweis: Ändern Sie das Zeitformat in Voreinstellungen -> Decks. - + Show/hide intro & outro markers and associated buttons. Intro- und Outro-Marker und zugehörige Tasten ein-/ausblenden. - + + Ensure all waveforms to have the same height across all channels. By default, when displaying the stem controls, waveform for channel that have no stem may render with a shorter height in order to honor the waveform container size you have requested.. + + + + Intro Start Marker Intro Start-Marker - - - - + + + + If marker is set, jumps to the marker. Springt zum Marker wenn bereits ein Marker gesetzt wurde. - - - - + + + + If marker is not set, sets the marker to the current play position. Setzt den Marker an der aktuellen Wiedergabeposition wenn noch kein Marker gesetzt wurde. - - - - + + + + If marker is set, clears the marker. Löscht den Marker wenn bereits ein Marker gesetzt wurde. - + Intro End Marker Intro End-Marker - + Outro Start Marker Outro Start-Marker - + Outro End Marker Outro End-Marker - + Mix Mix - + Adjust the mixing of the dry (input) signal with the wet (output) signal of the effect unit Passen Sie die Mischung des unverarbeiteten (Dry) Eingangssignals mit dem verarbeiteten (Wet) Ausgangssignal der Effekteinheit an - + D/W mode: Crossfade between dry and wet D/W Modus: Überblendung zwischen Dry und Wet - + D+W mode: Add wet to dry D+W Modus: Wet zu Dry hinzufügen - + Mix Mode Mix-Modus - + Adjust how the dry (input) signal is mixed with the wet (output) signal of the effect unit Stellen Sie ein, wie das unverarbeitete (dry) Eingangssignal mit dem verarbeiteten (wet) Ausgangssignal der Effekteinheit gemischt wird - + Dry/Wet mode (crossed lines): Mix knob crossfades between dry and wet Use this to change the sound of the track with EQ and filter effects. Dry / Wet-Modus (gekreuzte Linien): Mix-Drehregler überblendet zwischen Dry und Wet Hiermit können Sie den Sound des Tracks mit EQ- und Filtereffekten ändern. - + Dry+Wet mode (flat dry line): Mix knob adds wet to dry Use this to change only the effected (wet) signal with EQ and filter effects. Dry + Wet-Modus (Flache Dry-Linie): Mix-Drehregler fügt Wet zu Dry hinzu Verwenden Sie diese Option, um nur das verarbeitete (Wet) Signal mit EQ- und Filtereffekten zu ändern. - + Route the main mix through this effect unit. Den Hauptmix durch die angegebene Effekteinheit routen. - + Route the left crossfader bus through this effect unit. Den linken Crossfader-Bus durch die angegebene Effekteinheit führen. - + Route the right crossfader bus through this effect unit. Den rechten Crossfader-Bus durch die angegebene Effekteinheit führen. - + Right side active: parameter moves with right half of Meta Knob turn Rechte Seite aktiv: Parameter bewegt sich über halbe Drehung rechts des Meta-Drehregler - + Stem Label - + Name of the stem stored in the stem file - + Text is displayed in the stem color stored in the stem file - + this stem color is also used for the waveform of this stem - + Stem Mute - + Toggle the stem mute/unmuted - + Stem Volume Knob - + Adjusts the volume of the stem - + Skin Settings Menu Skin-Einstellungen - + Show/hide skin settings menu Skin-Einstellungen zeigen/verbergen - + Save Sampler Bank Sampler-Bank speichern - + Save the collection of samples loaded in the samplers. Speichern Sie die Sammlung der in den Samplern geladenen Samples. - + Load Sampler Bank Sampler-Bank laden - + Load a previously saved collection of samples into the samplers. Laden Sie eine zuvor gespeicherte Sammlung von Samples in die Sampler. - + Show Effect Parameters Effektparameter anzeigen - + Enable Effect Effekt aktivieren - + Meta Knob Link Meta-Drehregler-Verknüpfung - + Set how this parameter is linked to the effect's Meta Knob. Legt fest wie dieser Parameter mit dem Meta-Drehregler des Effektes verknüpft ist. - + Meta Knob Link Inversion Invertierte Meta-Drehregler-Verknüpfung - + Inverts the direction this parameter moves when turning the effect's Meta Knob. Invertiert die Richtung in welche sich dieser Parameter beim Drehen des Effekt's Meta-Drehregler bewegt. - + Super Knob Super-Drehregler - + Next Chain Nächste Effektkette - + Previous Chain Vorherige Effektkette - + Next/Previous Chain Nächste/Vorherige Effektkette - + Clear Löschen - + Clear the current effect. Aktuellen Effekt löschen. - + Toggle Ein-/ausschalten - + Toggle the current effect. Aktuellen Effekt ein-/ausschalten. - + Next Nächster - + Clear Unit Einheit leeren - + Clear effect unit. Effekteinheit leeren. - + Show/hide parameters for effects in this unit. Parameter für Effekte in dieser Einheit anzeigen/verbergen. - + Toggle Unit Einheit ein-/ausschalten - + Enable or disable this whole effect unit. Aktivieren oder deaktivieren dieser ganzen Effekteinheit. - + Controls the Meta Knob of all effects in this unit together. Regelt den Meta-Drehregler aller Effekte in dieser Einheit zusammen. - + Load next effect chain preset into this effect unit. Nächste Effektketten-Voreinstellung in diese Effekteinheit laden. - + Load previous effect chain preset into this effect unit. Vorherige Effektketten-Voreinstellung in diese Effekteinheit laden. - + Load next or previous effect chain preset into this effect unit. Nächste oder vorherige Effektketten-Voreinstellung in diese Effekteinheit laden. - - - - - - - - - + + + + + + + + + Assign Effect Unit Effekteinheit zuweisen - + Assign this effect unit to the channel output. Diese Effekteinheit dem Kanalausgang zuweisen. - + Route the headphone channel through this effect unit. Den Kopfhörer-Kanal durch diese Effekteinheit führen. - + Route this deck through the indicated effect unit. Dieses Deck durch die angegebene Effekteinheit führen. - + Route this sampler through the indicated effect unit. Diesen Sampler durch die angegebene Effekteinheit führen. - + Route this microphone through the indicated effect unit. Dieses Mikrofon durch die angegebene Effekteinheit führen. - + Route this auxiliary input through the indicated effect unit. Diesen Aux-Eingang durch die angegebene Effekteinheit führen. - + The effect unit must also be assigned to a deck or other sound source to hear the effect. Der Effekteinheit muss auch ein Deck oder eine andere Soundquelle zugewiesen werden, um den Effekt zu hören. - + Switch to the next effect. Zum nächsten Effekt wechseln. - + Previous Vorheriger - + Switch to the previous effect. Zum vorherigen Effekt wechseln. - + Next or Previous Nächster oder Vorheriger - + Switch to either the next or previous effect. Zum nächsten oder vorherigen Effekt wechseln. - + Meta Knob Meta-Drehregler - + Controls linked parameters of this effect Regelt verknüpfte Parameter dieses Effekts - + Effect Focus Button Effekt-Fokustaste - + Focuses this effect. Fokussiert diesen Effekt. - + Unfocuses this effect. Unfokussiert diesen Effekt. - + Refer to the web page on the Mixxx wiki for your controller for more information. Siehe auch die Webseite für Ihren Controller im Mixxx-Wiki für weitere Informationen. - + Effect Parameter Effektparameter - + Adjusts a parameter of the effect. Einen Parameter des Effekts anpassen. - + Inactive: parameter not linked Inaktiv: Parameter nicht verknüpft - + Active: parameter moves with Meta Knob Aktiv: Parameter bewegt sich mit Meta-Drehregler - + Left side active: parameter moves with left half of Meta Knob turn Linke Seite aktiv: Parameter bewegt sich über halbe Drehung links des Meta-Drehregler - + Left and right side active: parameter moves across range with half of Meta Knob turn and back with the other half Linke und rechte Seite aktiv: Parameter bewegt sich in ganzer Bandbreite über halbe Drehung des Meta-Drehregler und zurück mit der anderen Hälfte - - + + Equalizer Parameter Kill Equalizer-Parameter stummschalten - - + + Holds the gain of the EQ to zero while active. Hält die Verstärkung des Equalizers auf Null wenn aktiviert. - + Quick Effect Super Knob Quick-Effekt Super-Drehregler - + Quick Effect Super Knob (control linked effect parameters). Quick-Effekt Super-Drehregler (Verknüpfte Effekt-Parameter steuern). - + Hint: Change the default Quick Effect mode in Preferences -> Equalizers. Hinweis: Ändern Sie den standardmäßigen Quick-Effekt-Modus in den Einstellungen -> Interface. - + Equalizer Parameter Equalizer-Parameter - + Adjusts the gain of the EQ filter. Regelt die Verstärkung des Equalizer-Filters. - + Hint: Change the default EQ mode in Preferences -> Equalizers. Hinweis: Ändern Sie den standardmäßigen Equalizer-Modus in den Einstellungen -> Interface. - - + + Adjust Beatgrid Beatgrid anpassen - + Adjust beatgrid so the closest beat is aligned with the current play position. Passt den Beatgrid so an das der nächste Beat an der aktuellen Wiedergabeposition ausgerichtet ist. - - + + Adjust beatgrid to match another playing deck. Beatgrid entsprechend einem anderen spielenden Deck anpassen. - + If quantize is enabled, snaps to the nearest beat. Rastet am nächsten Beat ein wenn Quantisierung aktiviert ist. - + Quantize Quantisieren - + Toggles quantization. Quantisierung ein-/ausschalten. - + Loops and cues snap to the nearest beat when quantization is enabled. Loops und Cues rasten am nächsten Beat ein wenn die Quantisierung aktiviert ist. - + Reverse Rückwärts - + Reverses track playback during regular playback. Kehrt die Wiedergabe des Tracks während der normalen Wiedergabe um. - + Puts a track into reverse while being held (Censor). Spielt einen Track während des Haltens rückwärts ab (Zensieren). - + Playback continues where the track would have been if it had not been temporarily reversed. Die Wiedergabe wird fortgesetzt wo der Track gewesen wäre, ohne vorübergehend rückwärts abgespielt worden zu sein. - - - + + + Play/Pause Wiedergabe/Pause - + Jumps to the beginning of the track. Springt zum Anfang des Tracks. - + Syncs the tempo (BPM) and phase to that of the other track, if BPM is detected on both. Synchronisiert das Tempo (BPM) und die Phase mit der des anderen Tracks, wenn ein BPM-Wert bei beiden erkannt wird. - + Syncs the tempo (BPM) to that of the other track, if BPM is detected on both. Synchronisiert das Tempo (BPM) mit dem des anderen Tracks, wenn ein BPM-Wert bei beiden erkannt wird. - + Sync and Reset Key Tonart synchronisieren und zurücksetzen - + Increases the pitch by one semitone. Erhöht die Tonhöhe um einen Halbton. - + Decreases the pitch by one semitone. Verringert die Tonhöhe um einen Halbton. - + Enable Vinyl Control Vinyl-Steuerung aktivieren - + When disabled, the track is controlled by Mixxx playback controls. Wenn deaktiviert, wird der Track von Mixxx Wiedergabe-Steuerelementen gesteuert. - + When enabled, the track responds to external vinyl control. Wenn aktiviert, reagiert der Track auf externe Vinyl-Steuerung. - + Enable Passthrough Passthrough aktivieren - + Indicates that the audio buffer is too small to do all audio processing. Zeigt an, dass der Audiopuffer zu klein ist um alle Audiosignale zu verarbeiten. - + Displays cover artwork of the loaded track. Zeigt das Cover-Bild des geladenen Tracks an. - + Displays options for editing cover artwork. Zeigt die Optionen für die Bearbeitung von Cover-Bildern. - + Star Rating Sterne-Bewertung - + Assign ratings to individual tracks by clicking the stars. Weisen Sie einzelnen Tracks Bewertungen zu, indem Sie auf die Sterne klicken. @@ -14733,33 +15199,33 @@ Verwenden Sie diese Option, um nur das verarbeitete (Wet) Signal mit EQ- und Fil Mikrofon-Talkover-Dämpfungsstärke - + Prevents the pitch from changing when the rate changes. Verhindert das sich die Tonhöhe ändert wenn die Wiedergabegeschwindigkeit geändert wird. - + Changes the number of hotcue buttons displayed in the deck Ändert die Anzahl der im Deck angezeigten Hotcue-Tasten - + Starts playing from the beginning of the track. Beginnt die Wiedergabe vom Anfang des Tracks. - + Jumps to the beginning of the track and stops. Springt an den Anfang des Tracks und stoppt. - - + + Plays or pauses the track. Spielt oder pausiert den Track. - + (while playing) (während der Wiedergabe) @@ -14779,215 +15245,215 @@ Verwenden Sie diese Option, um nur das verarbeitete (Wet) Signal mit EQ- und Fil Hauptkanal-R-Pegelanzeige - + (while stopped) (während des Stops) - + Cue Cue - + Headphone Kopfhörer - + Mute Stummschalten - + Old Synchronize Altes Synchronisieren - + Syncs to the first deck (in numerical order) that is playing a track and has a BPM. Synchronisiert mit dem ersten Deck (in numerischer Ordnung) welches einen Track abspielt und einen BPM-Wert hat. - + If no deck is playing, syncs to the first deck that has a BPM. Wenn kein Deck spielt, wird mit dem ersten Deck synchronisiert welches einen BPM-Wert hat. - + Decks can't sync to samplers and samplers can only sync to decks. Decks können nicht mit Samplern und Sampler nur mit Decks synchronisiert werden. - + Hold for at least a second to enable sync lock for this deck. Halten Sie für mindestens eine Sekunde um Sync-Lock für dieses Deck zu aktivieren. - + Decks with sync locked will all play at the same tempo, and decks that also have quantize enabled will always have their beats lined up. Decks mit gesperrter Synchronisation werden alle im selben Tempo abgespielt, und bei Decks, für die auch die Quantisierung aktiviert ist, sind die Beats immer ausgerichtet. - + Resets the key to the original track key. Tonart auf die Original-Tonart des Tracks zurücksetzen. - + Speed Control Geschwindigkeit-Steuerelement - - - + + + Changes the track pitch independent of the tempo. Ändert die Track-Tonhöhe unabhängig vom Tempo. - + Increases the pitch by 10 cents. Erhöht die Tonhöhe um 10 Cent. - + Decreases the pitch by 10 cents. Verringert die Tonhöhe um 10 Cent. - + Pitch Adjust Tonhöhenanpassung - + Adjust the pitch in addition to the speed slider pitch. Verändert die Tonhöhe zusätzlich zur Tonhöhenänderung der Geschwindigkeits-Schieberegler. - + Opens a menu to clear hotcues or edit their labels and colors. Öffnet ein Menü um Hotcues zu löschen oder deren Beschriftungen und Farben zu bearbeiten. - + Drag this button onto a Play button while previewing to continue playback after release. - + Dragging with Shift key pressed will not start previewing the hotcue. - + Record Mix Mix aufnehmen - + Toggle mix recording. Mix-Aufnahme ein-/ausschalten. - + Enable Live Broadcasting Live-Übertragung aktivieren - + Stream your mix over the Internet. Streamen Sie Ihren Mix über das Internet. - + Provides visual feedback for Live Broadcasting status: Gibt eine grafische Rückmeldung für den Liveübertragung-Status: - + disabled, connecting, connected, failure. deaktiviert, verbinden, verbunden, fehlgeschlagen. - + When enabled, the deck directly plays the audio arriving on the vinyl input. Wenn aktiviert, gibt das Deck direkt das am Vinyl-Eingang ankommende Audiosignal wieder. - + Playback will resume where the track would have been if it had not entered the loop. Die Wiedergabe wird fortgesetzt wo der Track gewesen wäre, ohne in den Loop gegangen zu sein. - + Loop Exit Loop beenden - + Turns the current loop off. Schaltet den aktuellen Loop ab. - + Slip Mode Slip-Modus - + When active, the playback continues muted in the background during a loop, reverse, scratch etc. Wenn aktiviert, wird die Wiedergabe während eines Loop, Rückwärtslaufes, Scratches usw. stumm im Hintergrund fortgesetzt. - + Once disabled, the audible playback will resume where the track would have been. Sobald deaktiviert, wird die hörbare Wiedergabe fortgesetzt wo der Track gewesen wäre. - + Track Key The musical key of a track Tonart des Tracks - + Displays the musical key of the loaded track. Zeigt die Tonart des geladenen Tracks an. - + Clock Uhr - + Displays the current time. Zeigt die aktuelle Uhrzeit an. - + Audio Latency Usage Meter Audiolatenz-Nutzungsanzeige - + Displays the fraction of latency used for audio processing. Zeigt den für die Audioverarbeitung verwendeten Anteil der Latenz. - + A high value indicates that audible glitches are likely. Ein hoher Wert bedeutet, dass hörbare Störungen wahrscheinlich sind. - + Do not enable keylock, effects or additional decks in this situation. Aktivieren Sie Tonhöhensperre, Effekte oder zusätzliche Decks in dieser Situation nicht. - + Audio Latency Overload Indicator Audiolatenz-Überlastanzeige @@ -15027,259 +15493,259 @@ Verwenden Sie diese Option, um nur das verarbeitete (Wet) Signal mit EQ- und Fil Aktivieren Sie die Vinyl-Steuerung im Menü -> Optionen. - + Displays the current musical key of the loaded track after pitch shifting. Zeigt die aktuelle Tonart des geladenen Tracks nach der Tonhöhenänderung an. - + Fast Rewind Schneller Rücklauf - + Fast rewind through the track. Schneller Rücklauf durch den Track. - + Fast Forward Schneller Vorlauf - + Fast forward through the track. Schneller Vorlauf durch den Track. - + Jumps to the end of the track. Springt zum Ende des Tracks. - + Sets the pitch to a key that allows a harmonic transition from the other track. Requires a detected key on both involved decks. Stellt die Tonhöhe auf eine Tonart, welche einen harmonischen Übergang vom anderen Track erlaubt. Erfordert das die Tonart auf beiden beteiligten Decks erkannt wurde. - - - + + + Pitch Control Wiedergaberate-Steuerung - + Pitch Rate Wiedergaberate - + Displays the current playback rate of the track. Zeigt die aktuelle Wiedergaberate des Tracks an. - + Repeat Wiederholen - + When active the track will repeat if you go past the end or reverse before the start. Wenn aktiviert wird der Track wiederholt wenn Sie hinter das Ende gehen oder bis vor den Anfang rückwärts abspielen. - + Eject Auswerfen - + Ejects track from the player. Wirft den Track aus dem Deck. - + Hotcue Hotcue - + If hotcue is set, jumps to the hotcue. Springt zum Hotcue wenn bereits ein Hotcue gesetzt wurde. - + If hotcue is not set, sets the hotcue to the current play position. Setzt den Hotcue an der aktuellen Wiedergabeposition wenn noch kein Hotcue gesetzt wurde. - + Vinyl Control Mode Vinyl-Steuerungsmodus - + Absolute mode - track position equals needle position and speed. Absoluter Modus - Die Position des Tracks entspricht der Position und Geschwindigkeit der Nadel. - + Relative mode - track speed equals needle speed regardless of needle position. Relativer Modus - Die Geschwindigkeit des Tracks entspricht der Nadel-Geschwindigkeit unabhängig von der Position der Nadel. - + Constant mode - track speed equals last known-steady speed regardless of needle input. Konstanter Modus - Die Geschwindigkeit des Tracks entspricht der letzten bekannten konstanten Geschwindigkeit unabhängig vom Nadel-Eingang. - + Vinyl Status Vinyl-Status - + Provides visual feedback for vinyl control status: Gibt eine grafische Rückmeldung für den Vinyl-Steuerungsstatus: - + Green for control enabled. Grün wenn die Steuerung aktiviert ist. - + Blinking yellow for when the needle reaches the end of the record. Gelb blinkend wenn die Nadel das Ende der Platte erreicht. - + Loop-In Marker Loop-In Marker - + Loop-Out Marker Loop-Out Marker - + Loop Halve Loop halbieren - + Halves the current loop's length by moving the end marker. Halbiert die Länge des aktuellen Loop durch das Verschieben des Endmarkers. - + Deck immediately loops if past the new endpoint. Das Deck wird sofort loopen wenn es hinter dem neuen Endpunkt ist. - + Loop Double Loop verdoppeln - + Doubles the current loop's length by moving the end marker. Verdoppelt die Länge des aktuellen Loop durch das Verschieben des Endmarkers. - + Beatloop Beatloop - + Toggles the current loop on or off. Den aktuellen Loop ein-/ausschalten. - + Works only if Loop-In and Loop-Out marker are set. Funktioniert nur wenn die Loop-In und Loop-Out Marker gesetzt sind. - + Vinyl Cueing Mode Vinyl-Cueing-Modus - + Determines how cue points are treated in vinyl control Relative mode: Bestimmt wie Cue-Punkte im Relativen Modus der Vinylsteuerung behandelt werde: - + Off - Cue points ignored. Off - Cue-Punkte ignoriert. - + One Cue - If needle is dropped after the cue point, track will seek to that cue point. One Cue - Der Track springt zu diesem Cue-Punkt wenn die Nadel hinter dem Cue-Punkt abgesetzt wird. - + Track Time Track-Zeit - + Track Duration Laufzeit - + Displays the duration of the loaded track. Zeigt die Länge des geladenen Tracks an. - + Information is loaded from the track's metadata tags. Die Informationen werden aus den Metadaten-Tags des Tracks geladen. - + Track Artist Track-Interpret - + Displays the artist of the loaded track. Zeigt den Interpreten des geladenen Tracks an. - + Track Title Track-Titel - + Displays the title of the loaded track. Zeigt den Titel des geladenen Tracks an. - + Track Album Track-Album - + Displays the album name of the loaded track. Zeigt den Albumnamen des geladenen Tracks an. - + Track Artist/Title Track-Interpret/Titel - + Displays the artist and title of the loaded track. Zeigt den Interpreten und Titel des geladenen Tracks an. @@ -15510,47 +15976,75 @@ Dies kann nicht rückgängig gemacht werden! WCueMenuPopup - + Cue number Cue-Nummer - + Cue position Cue-Position - + Edit cue label Cue-Beschriftungen bearbeiten - + Label... Beschriftung … - + Delete this cue Diesen Cue löschen - - Toggle this cue type between normal cue and saved loop + + Turn this cue into a regular hotcue + + + + + Turn this cue into a saved loop + + + + + Left-click: Use the old size if known or the current beatloop size as the loop size + + + + + Right-click: Use the current play position as new loop end if it is after the cue + + + + + Turn this cue into a saved forward jump. + + is a linebreak. Try to not to extend the translation beyond the length of the longest source line so the tooltip remains compact. + + + + + Turn this cue into a saved backward jump (one shot loop). - - Left-click: Use the old size or the current beatloop size as the loop size + + Left-click: Use the old size if known or the current play position as jump start position +If this is already a jump cue, swap the jump position and the cue/target position. - - Right-click: Use the current play position as loop end if it is after the cue + + Right-click: use current play position as new jump start position - + Hotcue #%1 Hotcue #%1 @@ -15701,7 +16195,7 @@ Dies kann nicht rückgängig gemacht werden! Ctrl+Shift+F - + Strg+Shift+F @@ -15852,171 +16346,181 @@ Dies kann nicht rückgängig gemacht werden! + Show Auto DJ + + + + + Switch to the Auto DJ view. + + + + &Full Screen &Vollbild - + Display Mixxx using the full screen Mixxx im Vollbildmodus anzeigen - + &Options &Optionen - + &Vinyl Control &Vinyl-Steuerung - + Use timecoded vinyls on external turntables to control Mixxx Timecode-Vinyls benutzen um Mixxx mit externen Plattenspielern zu steuern - + Enable Vinyl Control &%1 Vinyl-Steuerung &%1 aktivieren - + &Record Mix &Mix aufnehmen - + Record your mix to a file Aufnahme Ihres Mixes in eine Datei - + Ctrl+R Strg+R - + Enable Live &Broadcasting &Liveübertragung aktivieren - + Stream your mixes to a shoutcast or icecast server Den Mix zu einem Icecast- oder Shoutcast-Server streamen - + Ctrl+L Strg+L - + Enable &Keyboard Shortcuts &Tastenkombinationen aktivieren - + Toggles keyboard shortcuts on or off Tastenkombinationen ein-/ausschalten - + Ctrl+` Strg+` - + &Preferences &Einstellungen - + Change Mixxx settings (e.g. playback, MIDI, controls) Mixxx Einstellungen verändern (z.B. Wiedergabe, MIDI, Steuerelemente) - + &Developer &Entwickler - + &Reload Skin Skin &neu laden - + Reload the skin Das Skin neu laden - + Ctrl+Shift+R Strg+Umschalt+R - + Developer &Tools Entwickler&werkzeuge - + Opens the developer tools dialog Öffnet den Entwicklerwerkzeuge-Dialog - + Ctrl+Shift+T Strg+Umschalt+T - + Stats: &Experiment Bucket Statistiken: &Experiment Bucket - + Enables experiment mode. Collects stats in the EXPERIMENT tracking bucket. Aktiviert den Experiment-Modus. Sammelt Statistiken im Experiment-Tracking-Bucket. - + Ctrl+Shift+E Strg+Umschalt+E - + Stats: &Base Bucket Statistiken: &Base Bucket - + Enables base mode. Collects stats in the BASE tracking bucket. Aktiviert den Base-Modus. Sammelt Statistiken im Base-Tracking-Bucket. - + Ctrl+Shift+B Strg+Umschalt+B - + Deb&ugger Enabled Deb&ugger aktiviert - + Enables the debugger during skin parsing Aktiviert den Debugger während des Parsens der Skins - + Ctrl+Shift+D Strg+Umschalt+D - + &Help &Hilfe @@ -16050,62 +16554,62 @@ Dies kann nicht rückgängig gemacht werden! F12 - + &Community Support &Community Unterstützung - + Get help with Mixxx Hilfe zu Mixxx erhalten - + &User Manual &Benutzerhandbuch - + Read the Mixxx user manual. Mixxx-Benutzerhandbuch lesen. - + &Keyboard Shortcuts &Tastenkombinationen - + Speed up your workflow with keyboard shortcuts. Beschleunigen Sie Ihren Arbeitsablauf mit Tastenkombinationen. - + &Settings directory &Einstellungs-Verzeichnis - + Open the Mixxx user settings directory. Das Verzeichnis mit den Mixxx-Benutzereinstellungen öffnen. - + &Translate This Application Diese Anwendung &übersetzen - + Help translate this application into your language. Helfen Sie, diese Anwendung in Ihre Sprache zu übersetzen. - + &About &Über - + About the application Über diese Anwendung @@ -16113,25 +16617,25 @@ Dies kann nicht rückgängig gemacht werden! WOverview - + Passthrough Weiterleiten - + Ready to play, analyzing... Text on waveform overview when file is playable but no waveform is visible Bereit zu spielen, analysiere … - - + + Loading track... Text on waveform overview when file is cached from source Track wird geladen … - + Finalizing... Text on waveform overview during finalizing of waveform analysis Fertigstellen … @@ -16169,7 +16673,7 @@ Dies kann nicht rückgängig gemacht werden! Enter a string to search for. - + Bitte eine Zeichenkette zum Suchen eingeben. @@ -16205,7 +16709,7 @@ Dies kann nicht rückgängig gemacht werden! Esc or Ctrl+Return - + Esc oder Strg+Enter @@ -16321,625 +16825,640 @@ Dies kann nicht rückgängig gemacht werden! WTrackMenu - + Load to Laden in - + Deck Deck - + Sampler Sampler - + Add to Playlist Zur Wiedergabeliste hinzufügen - + Crates Plattenkisten - + Metadata Metadaten - + Update external collections Externe Sammlung aktualisieren - + Cover Art Cover-Bild - + Adjust BPM BPM anpassen - + Select Color Farbe auswählen - - + + Analyze Analysieren - - + + Delete Track Files Track-Dateien löschen - + Add to Auto DJ Queue (bottom) Zur Auto-DJ Warteschlange hinzufügen (Ende) - + Add to Auto DJ Queue (top) Zur Auto-DJ Warteschlange hinzufügen (Anfang) - + Add to Auto DJ Queue (replace) Zur Auto-DJ Warteschlange hinzufügen (Ersetzen) - + Preview Deck Vorhör-Deck - + Remove Entfernen - + Remove from Playlist Von Wiedergabeliste entfernen - + Remove from Crate Aus Plattenkiste entfernen - + Hide from Library In der Bibliothek ausblenden - + Unhide from Library In der Bibliothek einblenden - + Purge from Library Aus der Bibliothek entfernen - + Move Track File(s) to Trash Track-Datei(en) in den Papierkorb verschieben - + Delete Files from Disk Dateien von der Festplatte löschen - + Properties Eigenschaften - + Open in File Browser Im Dateibrowser öffnen - + Select in Library In Bibliothek auswählen - + Import From File Tags Aus Datei-Tags importieren - + Import From MusicBrainz Von MusicBrainz importieren - + Export To File Tags In Datei-Tags exportieren - + BPM and Beatgrid BPM und Beatgrid - + Play Count Wiedergabezähler - + Rating Bewertung - + Cue Point Cue-Punkt - - + + Hotcues Hotcues - + Intro Intro - + Outro Outro - + Key Tonart - + ReplayGain ReplayGain - + Waveform Wellenform - + Comment Kommentar - + All Alle - + Sort hotcues by position (remove offsets) - + Sort hotcues by position - + Lock BPM BPM sperren - + Unlock BPM BPM entsperren - + Double BPM BPM verdoppeln - + Halve BPM BPM halbieren - + 2/3 BPM 2/3 BPM - + 3/4 BPM 3/4 BPM - + 4/3 BPM 4/3 BPM - + 3/2 BPM 3/2 BPM - + Shift Beatgrid Half Beat - + Reanalyze Neu analysieren - + Reanalyze (constant BPM) Neu analysieren (konstante BPM) - + Reanalyze (variable BPM) Neu analysieren (variable BPM) - + Update ReplayGain from Deck Gain Aktualisiere ReplayGain von Deck-Verstärkung - + Deck %1 Deck %1 - + Importing metadata of %n track(s) from file tags Importieren der Metadaten von %n Track aus Datei-TagsImportieren der Metadaten von %n Tracks aus Datei-Tags - + Marking metadata of %n track(s) to be exported into file tags Markieren der Metadaten von %n Track, die in Datei-Tags exportiert werden sollenMarkieren der Metadaten von %n Tracks, die in Datei-Tags exportiert werden sollen - - + + Create New Playlist Neue Wiedergabeliste erstellen - + Enter name for new playlist: Einen Namen für neue Wiedergabeliste eingeben: - + New Playlist Neue Wiedergabeliste - - - + + + Playlist Creation Failed Erstellung der Wiedergabeliste fehlgeschlagen - + A playlist by that name already exists. Eine Wiedergabeliste mit diesem Namen gibt es bereits. - + A playlist cannot have a blank name. Eine Wiedergabeliste muss einen Namen haben. - + An unknown error occurred while creating playlist: Ein unbekannter Fehler ist beim Erstellen der Wiedergabeliste aufgetreten: - + Add to New Crate Zu neuer Plattenkiste hinzufügen - + Scaling BPM of %n track(s) Skalieren der BPM von %n TrackSkalieren der BPM von %n Tracks - + Undo BPM/beats change of %n track(s) Rückgängig machen der BPM/Beats-Änderungen von %n TrackRückgängig machen der BPM/Beats-Änderungen von %n Tracks - + Locking BPM of %n track(s) Sperren der BPM von %n TrackSperren der BPM von %n Tracks - + Unlocking BPM of %n track(s) Entsperren der BPM von %n TrackEntsperren der BPM von %n Tracks - + Setting rating of %n track(s) Setzen der Bewertung von %n TrackSetzen der Bewertung von %n Tracks - + Setting color of %n track(s) Setzen der Farbe von %n TrackSetzen der Farbe von %n Tracks - + Resetting play count of %n track(s) Zurücksetzen des Wiedergabezählers von %n TrackZurücksetzen des Wiedergabezählers von %n Tracks - + Resetting beats of %n track(s) Zurücksetzen der Beats von %n TrackZurücksetzen der Beats von %n Tracks - + Clearing rating of %n track(s) Löschen der Bewertung von %n TrackLöschen der Bewertung von %n Tracks - + Clearing comment of %n track(s) Löschen des Kommentars von %n TrackLöschen des Kommentars von %n Tracks - + Removing main cue from %n track(s) Entfernen des Cue-Punktes von %n TrackEntfernen des Cue-Punktes von %n Tracks - + Removing outro cue from %n track(s) Entfernen der Outro-Cues von %n TrackEntfernen der Outro-Cues von %n Tracks - + Removing intro cue from %n track(s) Entfernen der Intro-Cues von %n TrackEntfernen der Intro-Cues von %n Tracks - + Removing loop cues from %n track(s) Entfernen der Loop-Cues von %n TrackEntfernen der Loop-Cues von %n Tracks - + Removing hot cues from %n track(s) Entfernen der Hotcues von %n TrackEntfernen der Hotcues von %n Tracks - + Sorting hotcues of %n track(s) by position (remove offsets) - + Sorting hotcues of %n track(s) by position - + Resetting keys of %n track(s) Zurücksetzen der Tonarten von %n TrackZurücksetzen der Tonarten von %n Tracks - + Resetting replay gain of %n track(s) Zurücksetzen des ReplayGain von %n TrackZurücksetzen des ReplayGain von %n Tracks - + Resetting waveform of %n track(s) Zurücksetzen der Wellenform von %n TrackZurücksetzen der Wellenform von %n Tracks - + Resetting all performance metadata of %n track(s) Zurücksetzen aller Leistungsmetadaten von %n TrackZurücksetzen aller Leistungsmetadaten von %n Tracks - + Move these files to the trash bin? Diese Dateien in den Papierkorb verschieben? - + Permanently delete these files from disk? Diese Dateien dauerhaft von der Festplatte löschen? - - + + This can not be undone! Dies kann nicht rückgängig gemacht werden! - + Cancel Abbrechen - + Delete Files Dateien löschen - + Okay OK - + Move Track File(s) to Trash? Track-Datei(en) in den Papierkorb verschieben? - + Track Files Deleted Track-Dateien gelöscht - + Track Files Moved To Trash Track-Dateien in den Papierkorb verschoben - + %1 track files were moved to trash and purged from the Mixxx database. %1 Track-Dateien wurden in den Papierkorb verschoben und aus der Mixxx-Datenbank entfernt. - + %1 track files were deleted from disk and purged from the Mixxx database. %1 Track-Dateien wurden von der Festplatte gelöscht und aus der Mixxx-Datenbank entfernt. - + Track File Deleted Track-Datei gelöscht - + Track file was deleted from disk and purged from the Mixxx database. Track-Datei wurde von der Festplatte gelöscht und aus der Mixxx-Datenbank entfernt. - + The following %1 file(s) could not be deleted from disk Die folgenden %1 Datei(en) konnten nicht von der Festplatte gelöscht werden. - + This track file could not be deleted from disk Diese Track-Datei konnte nicht von der Festplatte gelöscht werden - + Remaining Track File(s) Verbleibende Track-Datei(en) - + Close Schließen - + Clear Reset metadata in right click track context menu in library Löschen - + Loops Loops - + Clear BPM and Beatgrid BPM und Beatgrid löschen - + Undo last BPM/beats change Letzte BPM-/Beats-Änderung rückgängig machen - + Move this track file to the trash bin? Diese Track-Datei in den Papierkorb verschieben? - + Permanently delete this track file from disk? Diesen Track dauerhaft von der Festplatte löschen? - + All decks where these tracks are loaded will be stopped and the tracks will be ejected. Alle Decks, in denen diese Titel geladen sind, werden angehalten und die Titel werden ausgeworfen. - + All decks where this track is loaded will be stopped and the track will be ejected. Alle Decks, in denen dieser Titel geladen ist, werden angehalten und der Titel wird ausgeworfen. - + Removing %n track file(s) from disk... Entferne %n Track-Datei(en) von der Festplatte ... - + Note: if you are in the Computer or Recording view you need to click the current view again to see changes. Hinweis: Sind Sie in der Computer- oder Aufnahmen-Ansicht, müssen Sie erneut auf die aktuelle Ansicht klicken, um Änderungen zu sehen. - + Track File Moved To Trash Track-Datei in den Papierkorb verschoben - + Track file was moved to trash and purged from the Mixxx database. Track-Datei wurden in den Papierkorb verschoben und aus der Mixxx-Datenbank entfernt. - + Don't show again during this session - + Während dieser Sitzung nicht erneut fragen - + The following %1 file(s) could not be moved to trash Die folgenden %1 Datei(en) konnten nicht in den Papierkorb verschoben werden - + This track file could not be moved to trash Diese Track-Datei konnte nicht in den Papierkorb verschoben werden + + + Replace current Auto DJ queue? + + + + + Do you want to replace the entire Auto DJ queue with the selected tracks? + + + + + Don't ask again during this session + + - + Setting cover art of %n track(s) Setzen des Cover-Bilds von %n TrackSetzen des Cover-Bilds von %n Tracks - + Reloading cover art of %n track(s) Cover-Bild von %n Track neu ladenCover-Bild von %n Tracks neu laden @@ -16993,37 +17512,37 @@ Dies kann nicht rückgängig gemacht werden! WTrackTableView - + Confirm track hide Ausblenden der Tracks bestätigen - + Are you sure you want to hide the selected tracks? Möchten Sie wirklich die gewählten Tracks ausblenden? - + Are you sure you want to remove the selected tracks from AutoDJ queue? Möchten Sie wirklich die gewählten Tracks aus der Auto-DJ Warteschlange löschen? - + Are you sure you want to remove the selected tracks from this crate? Möchten Sie wirklich die gewählten Tracks aus dieser Plattenkiste löschen? - + Are you sure you want to remove the selected tracks from this playlist? Möchten Sie wirklich die gewählten Tracks von dieser Wiedergabeliste löschen? - + Don't ask again during this session Während dieser Sitzung nicht erneut fragen. - + Confirm track removal Entfernen der Tracks bestätigen @@ -17031,12 +17550,12 @@ Dies kann nicht rückgängig gemacht werden! WTrackTableViewHeader - + Show or hide columns. Spalten anzeigen oder verbergen. - + Shuffle Tracks @@ -17044,52 +17563,52 @@ Dies kann nicht rückgängig gemacht werden! mixxx::CoreServices - + fonts Schriftarten - + database Datenbank - + effects Effekte - + audio interface Audio-Interface - + decks Decks - + library Bibliothek - + Choose music library directory Verzeichnis für die Musikbibliothek auswählen - + controllers Controller - + Cannot open database Kann Datenbank nicht öffnen - + Unable to establish a database connection. Mixxx requires QT with SQLite support. Please read the Qt SQL driver documentation for information on how to build it. @@ -17115,12 +17634,12 @@ Zum Beenden OK drücken. Playlists - + Wiedergabelisten Selected crates/playlists - + Ausgewählte Plattenkisten/Wiedergabelisten @@ -17213,7 +17732,7 @@ Zum Beenden OK drücken. Exported %1 track(s), %2 crate(s), and %3 playlist(s). - + %1 Track(s), %2 Plattenkiste(n) und %3 Wiedergabeliste(n) wurden exportiert. @@ -17247,6 +17766,24 @@ Zum Beenden OK drücken. Die Netzwerkanfrage wurde nicht gestartet + + mixxx::qml::QmlApplication + + + Existing user profile detected + + + + + Trying to run Mixxx 3.0 with an existing %0 user profile! <br><br>There is <b>serious risks</b> of data loss and corruption.<br>We recommend using a test profile folder with the '--settings-path' argument. <br><br>If you want to continue at your own risk, run Mixxx with the argument '--allow-dangerous-data-corruption-risk'. + + + + + Ok + + + mixxx::qml::QmlVisibleEffectsModel @@ -17255,4 +17792,27 @@ Zum Beenden OK drücken. Kein Effekt geladen. + + mixxx::qml::QmlWaveformRendererMark + + + Cannot find the marker pixmap + + + + + Cannot find the marker endPixmap + + + + + Cannot find the marker icon + + + + + Cannot find the marker endIcon + + + \ No newline at end of file diff --git a/res/translations/mixxx_en_CA.qm b/res/translations/mixxx_en_CA.qm index 9360e0a23ce2eb8db1dae9d7a52fedbd65512543..5046f2cb19c1d7cf473481acb149481464ba0bc9 100644 GIT binary patch delta 17652 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 Bl_mfH delta 17784 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 V+?v}izS4o?fBf30gS4Xd{{Tql!^8jp diff --git a/res/translations/mixxx_en_CA.ts b/res/translations/mixxx_en_CA.ts index df107c1f9a3e..4008353cfe71 100644 --- a/res/translations/mixxx_en_CA.ts +++ b/res/translations/mixxx_en_CA.ts @@ -8,6 +8,14 @@ + + AllTrackLibraryFeature + + + All... + + + AnalysisFeature @@ -19,52 +27,52 @@ AutoDJFeature - + Crates Crates - + Enable Auto DJ - + Disable Auto DJ - + Clear Auto DJ Queue - + Remove Crate as Track Source Remove Crate as Track Source - + Auto DJ Auto DJ - + Confirmation Clear - + Do you really want to remove all tracks from the Auto DJ queue? - + This can not be undone. - + Add Crate as Track Source Add Crate as Track Source @@ -223,7 +231,7 @@ - + Export Playlist Export Playlist @@ -277,13 +285,13 @@ - + Playlist Creation Failed Playlist Creation Failed - + An unknown error occurred while creating playlist: An unknown error occurred while creating playlist: @@ -298,12 +306,12 @@ - + M3U Playlist (*.m3u) M3U Playlist (*.m3u) - + M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Text CSV (*.csv);;Readable Text (*.txt) M3U Playlist (*.m3u);; M3U8 Playlist (*.m3u8);; PLS Playlist (*.pls);; Text CSV (*.csv);; Readable Text (*.txt) @@ -311,12 +319,12 @@ BaseSqlTableModel - + # # - + Timestamp Timestamp @@ -324,7 +332,7 @@ BaseTrackPlayerImpl - + Couldn't load track. Couldn't load track. @@ -362,7 +370,7 @@ Channels - + Color Color @@ -377,7 +385,7 @@ Composer - + Cover Art Show Cover Art @@ -387,7 +395,7 @@ Date Added - + Last Played @@ -417,7 +425,7 @@ Key - + Location Location @@ -427,7 +435,7 @@ - + Preview Preview @@ -467,7 +475,7 @@ Year - + Fetching image ... Tooltip text on the cover art column shown when the cover is read from disk @@ -489,22 +497,22 @@ BroadcastProfile - + Can't use secure password storage: keychain access failed. Can't use secure password storage: keychain access failed. - + Secure password retrieval unsuccessful: keychain access failed. Secure password retrieval unsuccessful: keychain access failed. - + Settings error Settings error - + <b>Error with settings for '%1':</b><br> <b>Error with settings for '%1':</b><br> @@ -592,7 +600,7 @@ - + Computer Computer @@ -612,17 +620,17 @@ Scan - + "Computer" lets you navigate, view, and load tracks from folders on your hard disk and external devices. "Computer" lets you navigate, view, and load tracks from folders on your hard disk and external devices. - + It shows the data from the file tags, not track data from your Mixxx library like other track views. - + If you load a track file from here, it will be added to your library. @@ -735,12 +743,12 @@ File Created - + Mixxx Library Mixxx Library - + Could not load the following file because it is in use by Mixxx or another application. Could not load the following file because it is in use by Mixxx or another application. @@ -771,87 +779,92 @@ CmdlineArgs - + Mixxx is an open source DJ software. For more information, see: - + Starts Mixxx in full-screen mode - + Use a custom locale for loading translations. (e.g 'fr') - + Top-level directory where Mixxx should look for its resource files such as MIDI mappings, overriding the default installation location. - + Path the debug statistics time line is written to - + Causes Mixxx to display/log all of the controller data it receives and script functions it loads - + The controller mapping will issue more aggressive warnings and errors when detecting misuse of controller APIs. New Controller Mappings should be developed with this option enabled! - + Enables developer-mode. Includes extra log info, stats on performance, and a Developer tools menu. - + Top-level directory where Mixxx should look for settings. Default is: - + Starts Auto DJ when Mixxx is launched. - + Rescans the library when Mixxx is launched. - + Use legacy vu meter - + Use legacy spinny - - Loads experimental QML GUI instead of legacy QWidget skin + + Loads the highly unstable 3.0 Mixxx interface, based on QML. You need to use a new setting profile, or run with 'allow-dangerous-data-corruption-risk' to use with the current one. We highly recommend backing up your data if you do so. - + + Force Mixxx to load an unstable version with an existing user profile from a stable version + + + + Enables safe-mode. Disables OpenGL waveforms, and spinning vinyl widgets. Try this option if Mixxx is crashing on startup. - + [auto|always|never] Use colors on the console output. - + Sets the verbosity of command line logging. critical - Critical/Fatal only warning - Above + Warnings @@ -861,32 +874,32 @@ trace - Above + Profiling messages - + Sets the the logging level at which the log buffer is flushed to mixxx.log. <level> is one of the values defined at --log-level above. - + Sets the maximum file size of the mixxx.log file in bytes. Use -1 for unlimited. The default is 100 MB as 1e5 or 100000000. - + Breaks (SIGINT) Mixxx, if a DEBUG_ASSERT evaluates to false. Under a debugger you can continue afterwards. - + Overrides the default application GUI style. Possible values: %1 - + Load the specified music file(s) at start-up. Each file you specify will be loaded into the next virtual deck. - + Preview rendered controller screens in the Setting windows. @@ -979,2557 +992,2585 @@ trace - Above + Profiling messages ControlPickerMenu - + Headphone Output Headphone Output - - - + + + + Deck %1 + %1 is the deck number 1 ... 4 Deck %1 - + Sampler %1 Sampler %1 - + Preview Deck %1 Preview Deck %1 - + Microphone %1 Microphone %1 - + Auxiliary %1 Auxiliary %1 - + Reset to default Reset to default - + Effect Rack %1 Effect Rack %1 - + Parameter %1 Parameter %1 - + Mixer Mixer - - + + Crossfader Crossfader - + Headphone mix (pre/main) Headphone mix (pre/main) - + Toggle headphone split cueing Toggle headphone split cueing - + Headphone delay Headphone delay - + Transport Transport - + Strip-search through track Strip-search through track - + Play button Play button - - + + Set to full volume Set to full volume - - + + Set to zero volume Set to zero volume - + Stop button Stop button - + Jump to start of track and play Jump to start of track and play - + Jump to end of track Jump to end of track - + Reverse roll (Censor) button Reverse roll (Censor) button - + Headphone listen button Headphone listen button - - + + Mute button Mute button - + Toggle repeat mode Toggle repeat mode - - + + Mix orientation (e.g. left, right, center) Mix orientation (e.g. left, right, center) - - + + Set mix orientation to left Set mix orientation to left - - + + Set mix orientation to center Set mix orientation to center - - + + Set mix orientation to right Set mix orientation to right - + Toggle slip mode Toggle slip mode - - + + BPM BPM - + Increase BPM by 1 Increase BPM by 1 - + Decrease BPM by 1 Decrease BPM by 1 - + Increase BPM by 0.1 Increase BPM by 0.1 - + Decrease BPM by 0.1 Decrease BPM by 0.1 - + BPM tap button BPM tap button - + Toggle quantize mode Toggle quantize mode - + One-time beat sync (tempo only) One-time beat sync (tempo only) - + One-time beat sync (phase only) One-time beat sync (phase only) - + Toggle keylock mode Toggle keylock mode - + Equalizers Equalizers - + Vinyl Control Vinyl Control - + Toggle vinyl-control cueing mode (OFF/ONE/HOT) Toggle vinyl-control cueing mode (OFF/ONE/HOT) - + Toggle vinyl-control mode (ABS/REL/CONST) Toggle vinyl-control mode (ABS/REL/CONST) - + Pass through external audio into the internal mixer Pass through external audio into the internal mixer - + Cues Cues - + Cue button Cue button - + Set cue point Set cue point - + Go to cue point Go to cue point - + Go to cue point and play Go to cue point and play - + Go to cue point and stop Go to cue point and stop - + Preview from cue point Preview from cue point - + Cue button (CDJ mode) Cue button (CDJ mode) - + Stutter cue Stutter cue - + Hotcues Hotcues - + Set, preview from or jump to hotcue %1 Set, preview from or jump to hotcue %1 - + Clear hotcue %1 Clear hotcue %1 - + Set hotcue %1 Set hotcue %1 - + Jump to hotcue %1 Jump to hotcue %1 - + Jump to hotcue %1 and stop Jump to hotcue %1 and stop - + Jump to hotcue %1 and play Jump to hotcue %1 and play - + Preview from hotcue %1 Preview from hotcue %1 - - + + Hotcue %1 Hotcue %1 - + Looping Looping - + Loop In button Loop In button - + Loop Out button Loop Out button - + Loop Exit button Loop Exit button - + 1/2 1/2 - + 1 1 - + 2 2 - + 4 4 - + 8 8 - + 16 16 - + 32 32 - + 64 64 - + Move loop forward by %1 beats Move loop forward by %1 beats - + Move loop backward by %1 beats Move loop backward by %1 beats - + Create %1-beat loop Create %1-beat loop - + Create temporary %1-beat loop roll Create temporary %1-beat loop roll - + Library Library - + Slot %1 Slot %1 - + Headphone Mix Headphone Mix - + Headphone Split Cue Headphone Split Cue - + Headphone Delay Headphone Delay - + Play Play - + Fast Rewind Fast Rewind - + Fast Rewind button Fast Rewind button - + Fast Forward Fast Forward - + Fast Forward button Fast Forward button - + Strip Search Strip Search - + Play Reverse Play Reverse - + Play Reverse button Play Reverse button - + Reverse Roll (Censor) Reverse Roll (Censor) - + Jump To Start Jump To Start - + Jumps to start of track Jumps to start of track - + Play From Start Play From Start - + Stop Stop - + Stop And Jump To Start Stop And Jump To Start - + Stop playback and jump to start of track Stop playback and jump to start of track - + Jump To End Jump To End - + Volume Volume - - - + + + Volume Fader Volume Fader - - + + Full Volume Full Volume - - + + Zero Volume Zero Volume - + Track Gain Track Gain - + Track Gain knob Track Gain knob - - + + Mute Mute - + Eject Eject - - + + Headphone Listen Headphone Listen - + Headphone listen (pfl) button Headphone listen (pfl) button - + Repeat Mode Repeat Mode - + Slip Mode Slip Mode - - + + Orientation Orientation - - + + Orient Left Orient Left - - + + Orient Center Orient Center - - + + Orient Right Orient Right - + BPM +1 BPM +1 - + BPM -1 BPM -1 - + BPM +0.1 BPM +0.1 - + BPM -0.1 BPM -0.1 - + BPM Tap BPM Tap - + Adjust Beatgrid Faster +.01 Adjust Beatgrid Faster +.01 - + Increase track's average BPM by 0.01 Increase track's average BPM by 0.01 - + Adjust Beatgrid Slower -.01 Adjust Beatgrid Slower -.01 - + Decrease track's average BPM by 0.01 Decrease track's average BPM by 0.01 - + Move Beatgrid Earlier Move Beatgrid Earlier - + Adjust the beatgrid to the left Adjust the beatgrid to the left - + Move Beatgrid Later Move Beatgrid Later - + Adjust the beatgrid to the right Adjust the beatgrid to the right - + Adjust Beatgrid Adjust Beatgrid - + Align beatgrid to current position Align beatgrid to current position - + Adjust Beatgrid - Match Alignment Adjust Beatgrid - Match Alignment - + Adjust beatgrid to match another playing deck. Adjust beatgrid to match another playing deck. - + Quantize Mode Quantize Mode - + Sync Sync - + Beat Sync One-Shot Beat Sync One-Shot - + Sync Tempo One-Shot Sync Tempo One-Shot - + Sync Phase One-Shot Sync Phase One-Shot - + Pitch control (does not affect tempo), center is original pitch Pitch control (does not affect tempo), center is original pitch - + Pitch Adjust Pitch Adjust - + Adjust pitch from speed slider pitch Adjust pitch from speed slider pitch - + Match musical key Match musical key - + Match Key Match Key - + Reset Key Reset Key - + Resets key to original Resets key to original - + High EQ High EQ - + Mid EQ Mid EQ - - + + Main Output - + Main Output Balance - + Main Output Delay - + Main Output Gain - + Low EQ Low EQ - + Toggle Vinyl Control Toggle Vinyl Control - + Toggle Vinyl Control (ON/OFF) Toggle Vinyl Control (ON/OFF) - + Vinyl Control Mode Vinyl Control Mode - + Vinyl Control Cueing Mode Vinyl Control Cueing Mode - + Vinyl Control Passthrough Vinyl Control Passthrough - + Vinyl Control Next Deck Vinyl Control Next Deck - + Single deck mode - Switch vinyl control to next deck Single deck mode - Switch vinyl control to next deck - + Cue Cue - + Set Cue Set Cue - + Go-To Cue Go-To Cue - + Go-To Cue And Play Go-To Cue And Play - + Go-To Cue And Stop Go-To Cue And Stop - + Preview Cue Preview Cue - + Cue (CDJ Mode) Cue (CDJ Mode) - + Stutter Cue Stutter Cue - + Go to cue point and play after release Go to cue point and play after release - + Clear Hotcue %1 Clear Hotcue %1 - + Set Hotcue %1 Set Hotcue %1 - + Jump To Hotcue %1 Jump To Hotcue %1 - + Jump To Hotcue %1 And Stop Jump To Hotcue %1 And Stop - + Jump To Hotcue %1 And Play Jump To Hotcue %1 And Play - + Preview Hotcue %1 Preview Hotcue %1 - + Loop In Loop In - + Loop Out Loop Out - + Loop Exit Loop Exit - + Reloop/Exit Loop Reloop/Exit Loop - + Loop Halve Loop Halve - + Loop Double Loop Double - + 1/32 1/32 - + 1/16 1/16 - + 1/8 1/8 - + 1/4 1/4 - + Move Loop +%1 Beats Move Loop +%1 Beats - + Move Loop -%1 Beats Move Loop -%1 Beats - + Loop %1 Beats Loop %1 Beats - + Loop Roll %1 Beats Loop Roll %1 Beats - + Add to Auto DJ Queue (bottom) Add to Auto DJ Queue (bottom) - + Append the selected track to the Auto DJ Queue Append the selected track to the Auto DJ Queue - + Add to Auto DJ Queue (top) Add to Auto DJ Queue (top) - + Prepend selected track to the Auto DJ Queue Prepend selected track to the Auto DJ Queue - + Load Track Load Track - + Load selected track Load selected track - + Load selected track and play Load selected track and play - - + + Record Mix Record Mix - + Toggle mix recording Toggle mix recording - + Effects Effects - - Quick Effects - Quick Effects - - - + Deck %1 Quick Effect Super Knob Deck %1 Quick Effect Super Knob - + + Quick Effect Super Knob (control linked effect parameters) Quick Effect Super Knob (control linked effect parameters) - - + + + + Quick Effect Quick Effect - + Clear Unit Clear Unit - + Clear effect unit Clear effect unit - + Toggle Unit Toggle Unit - + Dry/Wet Dry/Wet - + Adjust the balance between the original (dry) and processed (wet) signal. Adjust the balance between the original (dry) and processed (wet) signal. - + Super Knob Super Knob - + Next Chain Next Chain - + Assign Assign - + Clear Clear - + Clear the current effect Clear the current effect - + Toggle Toggle - + Toggle the current effect Toggle the current effect - + Next Next - + Switch to next effect Switch to next effect - + Previous Previous - + Switch to the previous effect Switch to the previous effect - + Next or Previous Next or Previous - + Switch to either next or previous effect Switch to either next or previous effect - - + + Parameter Value Parameter Value - - + + Microphone Ducking Strength Microphone Ducking Strength - + Microphone Ducking Mode Microphone Ducking Mode - + Gain Gain - + Gain knob Gain knob - + Shuffle the content of the Auto DJ queue Shuffle the content of the Auto DJ queue - + Skip the next track in the Auto DJ queue Skip the next track in the Auto DJ queue - + Auto DJ Toggle Auto DJ Toggle - + Toggle Auto DJ On/Off Toggle Auto DJ On/Off - + Show/hide the microphone & auxiliary section - + 4 Effect Units Show/Hide - + Switches between showing 2 and 4 effect units - + Mixer Show/Hide - + Show or hide the mixer. Show or hide the mixer. - + Cover Art Show/Hide (Library) Cover Art Show/Hide (Library) - + Show/hide cover art in the library Show/hide cover art in the library - + Library Maximize/Restore Library Maximize/Restore - + Maximize the track library to take up all the available screen space. Maximize the track library to take up all the available screen space. - + Effect Rack Show/Hide Effect Rack Show/Hide - + Show/hide the effect rack Show/hide the effect rack - + Waveform Zoom Out Waveform Zoom Out - + Headphone Gain Headphone Gain - + Headphone gain Headphone gain - + Tap to sync tempo (and phase with quantize enabled), hold to enable permanent sync Tap to sync tempo (and phase with quantize enabled), hold to enable permanent sync - + One-time beat sync tempo (and phase with quantize enabled) One-time beat sync tempo (and phase with quantize enabled) - + Playback Speed Playback Speed - + Playback speed control (Vinyl "Pitch" slider) Playback speed control (Vinyl "Pitch" slider) - + Pitch (Musical key) Pitch (Musical key) - + Increase Speed Increase Speed - + Adjust speed faster (coarse) Adjust speed faster (coarse) - + Increase Speed (Fine) Increase Speed (Fine) - + Adjust speed faster (fine) Adjust speed faster (fine) - + Decrease Speed Decrease Speed - + Adjust speed slower (coarse) Adjust speed slower (coarse) - + Adjust speed slower (fine) Adjust speed slower (fine) - + Temporarily Increase Speed Temporarily Increase Speed - + Temporarily increase speed (coarse) Temporarily increase speed (coarse) - + Temporarily Increase Speed (Fine) Temporarily Increase Speed (Fine) - + Temporarily increase speed (fine) Temporarily increase speed (fine) - + Temporarily Decrease Speed Temporarily Decrease Speed - + Temporarily decrease speed (coarse) Temporarily decrease speed (coarse) - + Temporarily Decrease Speed (Fine) Temporarily Decrease Speed (Fine) - + Temporarily decrease speed (fine) Temporarily decrease speed (fine) - - + + Adjust %1 Adjust %1 - + + Deck %1 Stem %2 + + + + Effect Unit %1 - + Button Parameter %1 - + Skin Skin - + Controller - + Crossfader / Orientation - + Main Output gain - + Main Output balance - + Main Output delay - + Headphone Headphone - - + + Kill %1 + %1 is "Low EQ" "Mid EQ" or "High EQ" Kill %1 - + Eject or un-eject track, i.e. reload the last-ejected track (of any deck)<br>Double-press to reload the last replaced track. In empty decks it reloads the second-last ejected track. - + BPM / Beatgrid - + Halve BPM - + Multiply current BPM by 0.5 - + 2/3 BPM - + Multiply current BPM by 0.666 - + 3/4 BPM - + Multiply current BPM by 0.75 - + 4/3 BPM - + Multiply current BPM by 1.333 - + 3/2 BPM - + Multiply current BPM by 1.5 - + Double BPM - + Multiply current BPM by 2 - + Tempo Tap - + Tempo tap button - + Move Beatgrid - + Adjust the beatgrid to the left or right - + Move Beatgrid Half a Beat - + Adjust the beatgrid by exactly one half beat. Usable only for tracks with constant tempo. - - + + Toggle the BPM/beatgrid lock - + Revert last BPM/Beatgrid Change - + Revert last BPM/Beatgrid Change of the loaded track. - + Sync / Sync Lock - + Internal Sync Leader - + Toggle Internal Sync Leader - - + + Internal Leader BPM - + Internal Leader BPM +1 - + Increase internal Leader BPM by 1 - + Internal Leader BPM -1 - + Decrease internal Leader BPM by 1 - + Internal Leader BPM +0.1 - + Increase internal Leader BPM by 0.1 - + Internal Leader BPM -0.1 - + Decrease internal Leader BPM by 0.1 - + Sync Leader - + Sync mode 3-state toggle / indicator (Off, Soft Leader, Explicit Leader) - + Speed Speed - + Decrease Speed (Fine) - + Pitch (Musical Key) - + Increase Pitch - + Increases the pitch by one semitone - + Increase Pitch (Fine) - + Increases the pitch by 10 cents - + Decrease Pitch - + Decreases the pitch by one semitone - + Decrease Pitch (Fine) - + Decreases the pitch by 10 cents - + Keylock Keylock - + CUP (Cue + Play) CUP (Cue + Play) - + Shift cue points earlier - + Shift cue points 10 milliseconds earlier - + Shift cue points earlier (fine) - + Shift cue points 1 millisecond earlier - + Shift cue points later - + Shift cue points 10 milliseconds later - + Shift cue points later (fine) - + Shift cue points 1 millisecond later - - + + Sort hotcues by position - - + + Sort hotcues by position (remove offsets) - + Hotcues %1-%2 - + Intro / Outro Markers - + Intro Start Marker Intro Start Marker - + Intro End Marker Intro End Marker - + Outro Start Marker Outro Start Marker - + Outro End Marker Outro End Marker - + intro start marker - + intro end marker - + outro start marker - + outro end marker - + Activate %1 [intro/outro marker - + Jump to or set the %1 [intro/outro marker - + Set %1 [intro/outro marker - + Set or jump to the %1 [intro/outro marker - + Clear %1 [intro/outro marker - + Clear the %1 [intro/outro marker - + if the track has no beats the unit is seconds - + Loop Selected Beats Loop Selected Beats - + Create a beat loop of selected beat size Create a beat loop of selected beat size - + Loop Roll Selected Beats Loop Roll Selected Beats - + Create a rolling beat loop of selected beat size Create a rolling beat loop of selected beat size - + Loop %1 Beats set from its end point - + Loop Roll %1 Beats set from its end point - + Create %1-beat loop with the current play position as loop end - + Create temporary %1-beat loop roll with the current play position as loop end - + Loop Beats - + Loop Roll Beats - + Go To Loop In - + Go to Loop In button - + Go To Loop Out - + Go to Loop Out button - + Toggle loop on/off and jump to Loop In point if loop is behind play position Toggle loop on/off and jump to Loop In point if loop is behind play position - + Reloop And Stop Reloop And Stop - + Enable loop, jump to Loop In point, and stop Enable loop, jump to Loop In point, and stop - + Halve the loop length Halve the loop length - + Double the loop length Double the loop length - + Beat Jump / Loop Move Beat Jump / Loop Move - + Jump / Move Loop Forward %1 Beats Jump / Move Loop Forward %1 Beats - + Jump / Move Loop Backward %1 Beats Jump / Move Loop Backward %1 Beats - + Jump forward by %1 beats, or if a loop is enabled, move the loop forward %1 beats Jump forward by %1 beats, or if a loop is enabled, move the loop forward %1 beats - + Jump backward by %1 beats, or if a loop is enabled, move the loop backward %1 beats Jump backward by %1 beats, or if a loop is enabled, move the loop backward %1 beats - + Beat Jump / Loop Move Forward Selected Beats Beat Jump / Loop Move Forward Selected Beats - + Jump forward by the selected number of beats, or if a loop is enabled, move the loop forward by the selected number of beats Jump forward by the selected number of beats, or if a loop is enabled, move the loop forward by the selected number of beats - + Beat Jump / Loop Move Backward Selected Beats Beat Jump / Loop Move Backward Selected Beats - + Jump backward by the selected number of beats, or if a loop is enabled, move the loop backward by the selected number of beats Jump backward by the selected number of beats, or if a loop is enabled, move the loop backward by the selected number of beats - + Beat Jump - + Indicate which loop marker remain static when adjusting the size or is inherited from the current position - + Beat Jump / Loop Move Forward - + Beat Jump / Loop Move Backward - + Loop Move Forward - + Loop Move Backward - + Remove Temporary Loop - + Remove the temporary loop - + Navigation Navigation - + Move up Move up - + Equivalent to pressing the UP key on the keyboard Equivalent to pressing the UP key on the keyboard - + Move down Move down - + Equivalent to pressing the DOWN key on the keyboard Equivalent to pressing the DOWN key on the keyboard - + Move up/down Move up/down - + Move vertically in either direction using a knob, as if pressing UP/DOWN keys Move vertically in either direction using a knob, as if pressing UP/DOWN keys - + Scroll Up Scroll Up - + Equivalent to pressing the PAGE UP key on the keyboard Equivalent to pressing the PAGE UP key on the keyboard - + Scroll Down Scroll Down - + Equivalent to pressing the PAGE DOWN key on the keyboard Equivalent to pressing the PAGE DOWN key on the keyboard - + Scroll up/down Scroll up/down - + Scroll vertically in either direction using a knob, as if pressing PGUP/PGDOWN keys Scroll vertically in either direction using a knob, as if pressing PGUP/PGDOWN keys - + Move left Move left - + Equivalent to pressing the LEFT key on the keyboard Equivalent to pressing the LEFT key on the keyboard - + Move right Move right - + Equivalent to pressing the RIGHT key on the keyboard Equivalent to pressing the RIGHT key on the keyboard - + Move left/right Move left/right - + Move horizontally in either direction using a knob, as if pressing LEFT/RIGHT keys Move horizontally in either direction using a knob, as if pressing LEFT/RIGHT keys - + Move focus to right pane Move focus to right pane - + Equivalent to pressing the TAB key on the keyboard Equivalent to pressing the TAB key on the keyboard - + Move focus to left pane Move focus to left pane - + Equivalent to pressing the SHIFT+TAB key on the keyboard Equivalent to pressing the SHIFT+TAB key on the keyboard - + Move focus to right/left pane Move focus to right/left pane - + Move focus one pane to right or left using a knob, as if pressing TAB/SHIFT+TAB keys Move focus one pane to right or left using a knob, as if pressing TAB/SHIFT+TAB keys - + Sort focused column - + Sort the column of the cell that is currently focused, equivalent to clicking on its header - + Go to the currently selected item Go to the currently selected item - + Choose the currently selected item and advance forward one pane if appropriate Choose the currently selected item and advance forward one pane if appropriate - + Load Track and Play - + Add to Auto DJ Queue (replace) Add to Auto DJ Queue (replace) - + Replace Auto DJ Queue with selected tracks Replace Auto DJ Queue with selected tracks - + Select next search history - + Selects the next search history entry - + Select previous search history - + Selects the previous search history entry - + Move selected search entry - + Moves the selected search history item into given direction and steps - + Clear search - + Clears the search query - - + + Select Next Color Available - + Select the next color in the color palette for the first selected track - - + + Select Previous Color Available - + Select the previous color in the color palette for the first selected track - + + Quick Effects Deck %1 + + + + Deck %1 Quick Effect Enable Button Deck %1 Quick Effect Enable Button - + + Quick Effect Enable Button Quick Effect Enable Button - + + Deck %1 Stem %2 Quick Effect Super Knob + + + + + Deck %1 Stem %2 Quick Effect Enable Button + + + + Enable or disable effect processing Enable or disable effect processing - + Super Knob (control effects' Meta Knobs) Super Knob (control effects' Meta Knobs) - + Mix Mode Toggle Mix Mode Toggle - + Toggle effect unit between D/W and D+W modes Toggle effect unit between D/W and D+W modes - + Next chain preset Next chain preset - + Previous Chain Previous Chain - + Previous chain preset Previous chain preset - + Next/Previous Chain Next/Previous Chain - + Next or previous chain preset Next or previous chain preset - - + + Show Effect Parameters Show Effect Parameters - + Effect Unit Assignment - + Meta Knob Meta Knob - + Effect Meta Knob (control linked effect parameters) Effect Meta Knob (control linked effect parameters) - + Meta Knob Mode Meta Knob Mode - + Set how linked effect parameters change when turning the Meta Knob. Set how linked effect parameters change when turning the Meta Knob. - + Meta Knob Mode Invert Meta Knob Mode Invert - + Invert how linked effect parameters change when turning the Meta Knob. Invert how linked effect parameters change when turning the Meta Knob. - - + + Button Parameter Value - + Microphone / Auxiliary Microphone / Auxiliary - + Microphone On/Off Microphone On/Off - + Microphone on/off Microphone on/off - + Toggle microphone ducking mode (OFF, AUTO, MANUAL) Toggle microphone ducking mode (OFF, AUTO, MANUAL) - + Auxiliary On/Off Auxiliary On/Off - + Auxiliary on/off Auxiliary on/off - + Auto DJ Auto DJ - + Auto DJ Shuffle Auto DJ Shuffle - + Auto DJ Skip Next Auto DJ Skip Next - + Auto DJ Add Random Track - + Add a random track to the Auto DJ queue - + Auto DJ Fade To Next Auto DJ Fade To Next - + Trigger the transition to the next track Trigger the transition to the next track - + User Interface User Interface - + Samplers Show/Hide Samplers Show/Hide - + Show/hide the sampler section Show/hide the sampler section - + Microphone && Auxiliary Show/Hide keep double & to prevent creation of keyboard accelerator - + Waveform Zoom Reset To Default - + Reset the waveform zoom level to the default value selected in Preferences -> Waveforms - + Select the next color in the color palette for the loaded track. - + Select previous color in the color palette for the loaded track. - + Navigate Through Track Colors - + Select either next or previous color in the palette for the loaded track. - + Start/Stop Live Broadcasting - + Stream your mix over the Internet. Stream your mix over the Internet. - + Start/stop recording your mix. - - + + + Deck %1 Stems + + + + + Samplers - + Vinyl Control Show/Hide Vinyl Control Show/Hide - + Show/hide the vinyl control section Show/hide the vinyl control section - + Preview Deck Show/Hide Preview Deck Show/Hide - + Show/hide the preview deck Show/hide the preview deck - + Toggle 4 Decks Toggle 4 Decks - + Switches between showing 2 decks and 4 decks. Switches between showing 2 decks and 4 decks. - + Cover Art Show/Hide (Decks) Cover Art Show/Hide (Decks) - + Show/hide cover art in the main decks Show/hide cover art in the main decks - + Vinyl Spinner Show/Hide Vinyl Spinner Show/Hide - + Show/hide spinning vinyl widget Show/hide spinning vinyl widget - + Vinyl Spinners Show/Hide (All Decks) - + Show/Hide all spinnies - + Toggle Waveforms - + Show/hide the scrolling waveforms. - + Waveform zoom Waveform zoom - + Waveform Zoom Waveform Zoom - + Zoom waveform in Zoom waveform in - + Waveform Zoom In Waveform Zoom In - + Zoom waveform out Zoom waveform out - + Star Rating Up Star Rating Up - + Increase the track rating by one star Increase the track rating by one star - + Star Rating Down Star Rating Down - + Decrease the track rating by one star Decrease the track rating by one star @@ -3542,6 +3583,159 @@ trace - Above + Profiling messages + + ControllerHidReportTabsManager + + + Read + + + + + Send + + + + + Payload Size + + + + + bytes + + + + + Byte Position + + + + + Bit Position + + + + + Bit Size + + + + + Logical Min + + + + + Logical Max + + + + + Value + + + + + Physical Min + + + + + Physical Max + + + + + Unit Scaling + + + + + Unit + + + + + Abs/Rel + + + + + + Wrap + + + + + + Linear + + + + + + Preferred + + + + + + Null + + + + + + Volatile + + + + + Usage Page + + + + + Usage + + + + + Relative + + + + + Absolute + + + + + No Wrap + + + + + Non Linear + + + + + No Preferred + + + + + No Null + + + + + Non Volatile + + + ControllerInputMappingTableModel @@ -3677,27 +3871,27 @@ trace - Above + Profiling messages ControllerScriptEngineLegacy - + Controller Mapping File Problem Controller Mapping File Problem - + The mapping for controller "%1" cannot be opened. The mapping for controller "%1" cannot be opened. - + The functionality provided by this controller mapping will be disabled until the issue has been resolved. The functionality provided by this controller mapping will be disabled until the issue has been resolved. - + File: File: - + Error: Error: @@ -3730,7 +3924,7 @@ trace - Above + Profiling messages - + Lock Lock @@ -3760,7 +3954,7 @@ trace - Above + Profiling messages Auto DJ Track Source - + Enter new name for crate: Enter new name for crate: @@ -3777,22 +3971,22 @@ trace - Above + Profiling messages Import Crate - + Export Crate Export Crate - + Unlock Unlock - + An unknown error occurred while creating crate: An unknown error occurred while creating crate: - + Rename Crate Rename Crate @@ -3802,28 +3996,28 @@ trace - Above + Profiling messages - + Confirm Deletion - - + + Renaming Crate Failed Renaming Crate Failed - + Crate Creation Failed Crate Creation Failed - + M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Text CSV (*.csv);;Readable Text (*.txt) M3U Playlist (*.m3u);; M3U8 Playlist (*.m3u8);; PLS Playlist (*.pls);; Text CSV (*.csv);; Readable Text (*.txt) - + M3U Playlist (*.m3u) M3U Playlist (*.m3u) @@ -3844,17 +4038,17 @@ trace - Above + Profiling messages Crates let you organize your music however you'd like! - + Do you really want to delete crate <b>%1</b>? - + A crate cannot have a blank name. A crate cannot have a blank name. - + A crate by that name already exists. A crate by that name already exists. @@ -3949,12 +4143,12 @@ trace - Above + Profiling messages Past Contributors - + Official Website - + Donate @@ -4752,122 +4946,139 @@ You tried to learn: %1,%2 DlgPrefBroadcast - + Icecast 2 Icecast 2 - + Shoutcast 1 Shoutcast 1 - + Icecast 1 Icecast 1 - + MP3 MP3 - + Ogg Vorbis Ogg Vorbis - + Opus Opus - + AAC - + HE-AAC - + HE-AACv2 - + Automatic Automatic - + Mono Mono - + Stereo Stereo - - - - + + Saving settings failed + + + + + The password for '%1' contains invalid characters. Please enter it again. + +Note: This can for example be invisible linebreaks when using copy/paste. + + + + + + Action failed Action failed - + You can't create more than %1 source connections. You can't create more than %1 source connections. - + Source connection %1 Source connection %1 - + + Settings for %1 + Settings for broadcast profile, %1 is the profile name placeholder + + + + At least one source connection is required. At least one source connection is required. - + Are you sure you want to disconnect every active source connection? Are you sure you want to disconnect every active source connection? - - + + Confirmation required Confirmation required - + '%1' has the same Icecast mountpoint as '%2'. Two source connections to the same server that have the same mountpoint can not be enabled simultaneously. - + Are you sure you want to delete '%1'? Are you sure you want to delete '%1'? - + Renaming '%1' Renaming '%1' - + New name for '%1': New name for '%1': - + Can't rename '%1' to '%2': name already in use Can't rename '%1' to '%2': name already in use @@ -4880,27 +5091,27 @@ Two source connections to the same server that have the same mountpoint can not Live Broadcasting Preferences - + Mixxx Icecast Testing Mixxx Icecast Testing - + Public stream Public stream - + http://www.mixxx.org http://www.mixxx.org - + Stream name Stream name - + Due to flaws in some streaming clients, updating Ogg Vorbis metadata dynamically can cause listener glitches and disconnections. Check this box to update the metadata anyway. Due to flaws in some streaming clients, updating Ogg Vorbis metadata dynamically can cause listener glitches and disconnections. Check this box to update the metadata anyway. @@ -4940,67 +5151,72 @@ Two source connections to the same server that have the same mountpoint can not Settings for %1 - + + Available fields: $artist, $title, $year, $album, $genre, $bpm + + + + Dynamically update Ogg Vorbis metadata. Dynamically update Ogg Vorbis metadata. - + ICQ ICQ - + AIM AIM - + Website Website - + Live mix Live mix - + IRC IRC - + Select a source connection above to edit its settings here Select a source connection above to edit its settings here - + Password storage Password storage - + Plain text Plain text - + Secure storage (OS keychain) Secure storage (OS keychain) - + Genre Genre - + Use UTF-8 encoding for metadata. Use UTF-8 encoding for metadata. - + Description Description @@ -5026,42 +5242,42 @@ Two source connections to the same server that have the same mountpoint can not Channels - + Server connection Server connection - + Type Type - + Host Host - + Login Login - + Mount Mount - + Port Port - + Password Password - + Stream info Stream info @@ -5071,17 +5287,17 @@ Two source connections to the same server that have the same mountpoint can not Metadata - + Use static artist and title. Use static artist and title. - + Static title Static title - + Static artist Static artist @@ -5140,13 +5356,14 @@ Two source connections to the same server that have the same mountpoint can not DlgPrefColors - - + + + By hotcue number By hotcue number - + Color Color @@ -5191,17 +5408,22 @@ Two source connections to the same server that have the same mountpoint can not + Jump default color + + + + When key colors are enabled, Mixxx will display a color hint associated with each key. - + Enable Key Colors - + Key palette @@ -5209,114 +5431,114 @@ associated with each key. DlgPrefController - + Apply device settings? Apply device settings? - + Your settings must be applied before starting the learning wizard. Apply settings and continue? Your settings must be applied before starting the learning wizard. Apply settings and continue? - + None None - + %1 by %2 %1 by %2 - + Mapping has been edited - + Always overwrite during this session - + Save As - + Overwrite - + Save user mapping - + Enter the name for saving the mapping to the user folder. - + Saving mapping failed - + A mapping cannot have a blank name and may not contain special characters. - + A mapping file with that name already exists. - + Do you want to save the changes? Do you want to save the changes? - + Troubleshooting Troubleshooting - + <font color='#BB0000'><b>If you use this mapping your controller may not work correctly. Please select another mapping or disable the controller.</b></font><br><br>This mapping was designed for a newer Mixxx Controller Engine and cannot be used on your current Mixxx installation.<br>Your Mixxx installation has Controller Engine version %1. This mapping requires a Controller Engine version >= %2.<br><br>For more information visit the wiki page on <a href='https://mixxx.org/wiki/doku.php/controller_engine_versions'>Controller Engine Versions</a>. - + Mapping already exists. - + <b>%1</b> already exists in user mapping folder.<br>Overwrite or save with a new name? - + Clear Input Mappings Clear Input Mappings - + Are you sure you want to clear all input mappings? Are you sure you want to clear all input mappings? - + Clear Output Mappings Clear Output Mappings - + Are you sure you want to clear all output mappings? Are you sure you want to clear all output mappings? @@ -5334,100 +5556,105 @@ Apply settings and continue? Enabled - + + Refresh mapping list + + + + Device Info - + Physical Interface: - + Vendor name: - + Product name: - + Vendor ID - + VID: - + Product ID - + PID: - + Serial number: - + USB interface number: - + HID Usage-Page: - + HID Usage: - + Description: Description: - + Support: Support: - + Screens preview - + Input Mappings Input Mappings - - + + Search Search - - + + Add Add - - + + Remove Remove @@ -5447,17 +5674,17 @@ Apply settings and continue? - + Mapping Info - + Author: Author: - + Name: Name: @@ -5467,28 +5694,28 @@ Apply settings and continue? Learning Wizard (MIDI Only) - + Data protocol: - + Mapping Files: - + Mapping Settings - - + + Clear All Clear All - + Output Mappings Output Mappings @@ -5503,21 +5730,21 @@ Apply settings and continue? - Mixxx uses "mappings" to connect messages from your controller to controls in Mixxx. If you do not see a mapping for your controller in the "Load Mapping" menu when you click on your controller on the left sidebar, you may be able to download one online from the %1. Place the XML (.xml) and Javascript (.js) file(s) in the "User Mapping Folder" then restart Mixxx. If you download a mapping in a ZIP file, extract the XML and Javascript file(s) from the ZIP file to your "User Mapping Folder" then restart Mixxx. + Mixxx uses "mappings" to connect messages from your controller to controls in Mixxx. If you do not see a mapping for your controller in the "Load Mapping" menu when you click on your controller on the left sidebar, you may be able to download one online from the %1. Place the XML (.xml) and Javascript (.js) file(s) in the "User Mapping Folder" then click the Reload button next to the mapping selector to reload all available mappings. If you download a mapping in a ZIP file, extract the XML and Javascript file(s) from the ZIP file to your "User Mapping Folder" then click the Reload button. - + Mixxx DJ Hardware Guide - + MIDI Mapping File Format - + MIDI Scripting with Javascript @@ -5686,137 +5913,137 @@ Apply settings and continue? DlgPrefDeck - + Mixxx mode Mixxx mode - + Mixxx mode (no blinking) Mixxx mode (no blinking) - + Pioneer mode Pioneer mode - + Denon mode Denon mode - + Numark mode Numark mode - + CUP mode CUP mode - + mm:ss%1zz - Traditional mm:ss%1zz - Traditional - + mm:ss - Traditional (Coarse) mm:ss - Traditional (Coarse) - + s%1zz - Seconds s%1zz - Seconds - + sss%1zz - Seconds (Long) sss%1zz - Seconds (Long) - + s%1sss%2zz - Kiloseconds s%1sss%2zz - Kiloseconds - + Intro start Intro start - + Main cue Main cue - + First hotcue - + First sound (skip silence) First sound (skip silence) - + Beginning of track Beginning of track - + Reject - + Allow, but stop deck - + Allow, play from load point - + 4% 4% - + 6% (semitone) 6% (semitone) - + 8% (Technics SL-1210) 8% (Technics SL-1210) - + 10% 10% - + 16% 16% - + 24% 24% - + 50% 50% - + 90% 90% @@ -6276,57 +6503,57 @@ You can always drag-and-drop tracks on screen to clone a deck. The minimum size of the selected skin is bigger than your screen resolution. - + Allow screensaver to run Allow screensaver to run - + Prevent screensaver from running Prevent screensaver from running - + Prevent screensaver while playing Prevent screensaver while playing - + Disabled - + 2x MSAA - + 4x MSAA - + 8x MSAA - + 16x MSAA - + This skin does not support color schemes This skin does not support color schemes - + Information Information - + Mixxx must be restarted before the new locale, scaling or multi-sampling settings will take effect. @@ -6553,67 +6780,97 @@ and allows you to pitch adjust them for harmonic mixing. - + Music Directory Added Music Directory Added - + You added one or more music directories. The tracks in these directories won't be available until you rescan your library. Would you like to rescan now? You added one or more music directories. The tracks in these directories won't be available until you rescan your library. Would you like to rescan now? - + Scan Scan - + Item is not a directory or directory is missing - + Choose a music directory Choose a music directory - + Confirm Directory Removal Confirm Directory Removal - + Mixxx will no longer watch this directory for new tracks. What would you like to do with the tracks from this directory and subdirectories?<ul><li>Hide all tracks from this directory and subdirectories.</li><li>Delete all metadata for these tracks from Mixxx permanently.</li><li>Leave the tracks unchanged in your library.</li></ul>Hiding tracks saves their metadata in case you re-add them in the future. Mixxx will no longer watch this directory for new tracks. What would you like to do with the tracks from this directory and subdirectories? <ul><li>Hide all tracks from this directory and subdirectories.</li> <li>Delete all metadata for these tracks from Mixxx permanently.</li> <li>Leave the tracks unchanged in your library.</li></ul> Hiding tracks saves their metadata in case you re-add them in the future. - + Metadata means all track details (artist, title, playcount, etc.) as well as beatgrids, hotcues, and loops. This choice only affects the Mixxx library. No files on disk will be changed or deleted. Metadata means all track details (artist, title, playcount, etc.) as well as beatgrids, hotcues, and loops. This choice only affects the Mixxx library. No files on disk will be changed or deleted. - + Hide Tracks Hide Tracks - + Delete Track Metadata Delete Track Metadata - + Leave Tracks Unchanged Leave Tracks Unchanged - + Relink music directory to new location Relink music directory to new location - + + Black + + + + + ExtraBold + + + + + Bold + + + + + SemiBold + + + + + Medium + + + + + Light + + + + Select Library Font Select Library Font @@ -6662,262 +6919,267 @@ and allows you to pitch adjust them for harmonic mixing. - + Audio File Formats Audio File Formats - + Track Table View - + Track Double-Click Action: - + BPM display precision: - + Session History - + Track duplicate distance - + When playing a track again log it to the session history only if more than N other tracks have been played in the meantime - + History playlist with less than N tracks will be deleted<br/><br/>Note: the cleanup will be performed during startup and shutdown of Mixxx. - + Delete history playlist with less than N tracks - + Library Font: Library Font: - + + Show scan summary dialog + + + + Grey out played tracks - + Track Search - + Enable search completions - + Enable search history keyboard shortcuts - + Percentage of pitch slider range for 'fuzzy' BPM search: - + This range will be used for the 'fuzzy' BPM search (~bpm:) via the search box, as well as for BPM search in Track context menu > Search related Tracks - + Preferred Cover Art Fetcher Resolution - + Fetch cover art from coverartarchive.com by using Import Metadata From Musicbrainz. - + Note: ">1200 px" can fetch up to very large cover arts. - + >1200 px (if available) - + 1200 px (if available) - + 500 px - + 250 px - + Settings Directory - + The Mixxx settings directory contains the library database, various configuration files, log files, track analysis data, as well as custom controller mappings. - + Edit those files only if you know what you are doing and only while Mixxx is not running. - + Open Mixxx Settings Folder - + Library Row Height: Library Row Height: - + Use relative paths for playlist export if possible Use relative paths for playlist export if possible - + ... ... - + px px - + Synchronize library track metadata from/to file tags - + Automatically write modified track metadata from the library into file tags and reimport metadata from updated file tags into the library - + Synchronize Serato track metadata from/to file tags (experimental) - + Keeps track color, beat grid, bpm lock, cue points, and loops synchronized with SERATO_MARKERS/MARKERS2 file tags.<br/><br/>WARNING: Enabling this option also enables the reimport of Serato metadata after files have been modified outside of Mixxx. On reimport existing metadata in Mixxx is replaced with the metadata found in file tags. Custom metadata not included in file tags like loop colors is lost. - + Edit metadata after clicking selected track Edit metadata after clicking selected track - + Search-as-you-type timeout: Search-as-you-type timeout: - + ms ms - + Load track to next available deck Load track to next available deck - + External Libraries External Libraries - + You will need to restart Mixxx for these settings to take effect. You will need to restart Mixxx for these settings to take effect. - + Show Rhythmbox Library Show Rhythmbox Library - + Track Metadata Synchronization / Playlists - + Add track to Auto DJ queue (bottom) - + Add track to Auto DJ queue (top) - + Ignore - + Show Banshee Library Show Banshee Library - + Show iTunes Library Show iTunes Library - + Show Traktor Library Show Traktor Library - + Show Rekordbox Library Show Rekordbox Library - + Show Serato Library Show Serato Library - + All external libraries shown are write protected. All external libraries shown are write protected. @@ -7262,33 +7524,33 @@ and allows you to pitch adjust them for harmonic mixing. DlgPrefRecord - + Choose recordings directory Choose recordings directory - - + + Recordings directory invalid - + Recordings directory must be set to an existing directory. - + Recordings directory must be set to a directory. - + Recordings directory not writable - + You do not have write access to %1. Choose a recordings directory you have write access to. @@ -7306,43 +7568,55 @@ and allows you to pitch adjust them for harmonic mixing. Browse... - - + + This will include the filepath for each track in the CUE file. +This option makes the CUE file less portable and can reveal personal +information from filepaths (i.e. username) + + + + + Enable File Annotation in CUE file + + + + + Quality Quality - + Tags Tags - + Title Title - + Author Author - + Album Album - + Output File Format Output File Format - + Compression Compression - + Lossy Lossy @@ -7357,12 +7631,12 @@ and allows you to pitch adjust them for harmonic mixing. - + Compression Level Compression Level - + Lossless Lossless @@ -7493,172 +7767,177 @@ The loudness target is approximate and assumes track pregain and main output lev DlgPrefSound - + %1 Hz %1 Hz - + Default (long delay) Default (long delay) - + Experimental (no delay) Experimental (no delay) - + Disabled (short delay) Disabled (short delay) - + Soundcard Clock Soundcard Clock - + Network Clock Network Clock - + Direct monitor (recording and broadcasting only) Direct monitor (recording and broadcasting only) - + Disabled Disabled - + Enabled Enabled - + Stereo Stereo - + Mono Mono - + To enable Realtime scheduling (currently disabled), see the %1. - + The %1 lists sound cards and controllers you may want to consider for using Mixxx. - + Mixxx DJ Hardware Guide - + + Find details in the Mixxx user manual + + + + Information - + Mixxx must be restarted before the multi-threaded RubberBand setting change will take effect. - + auto (<= 1024 frames/period) - + 2048 frames/period - + 4096 frames/period - + Are you sure? - + Distribute stereo channels into mono channels for parallel processing will result in a loss of mono compatibility and a diffuse stereo image. It is not recommended during broadcasting or recording. - + Are you sure you wish to proceed? - + No - + Yes, I know what I am doing - + Microphone inputs are out of time in the record & broadcast signal compared to what you hear. Microphone inputs are out of time in the record & broadcast signal compared to what you hear. - + Measure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. Measure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. - + Refer to the Mixxx User Manual for details. Refer to the Mixxx User Manual for details. - + Configured latency has changed. Configured latency has changed. - + Remeasure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. Remeasure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. - + Realtime scheduling is enabled. Realtime scheduling is enabled. - + Main output only - + Main and booth outputs - + %1 ms %1 ms - + Configuration error Configuration error @@ -7725,17 +8004,22 @@ The loudness target is approximate and assumes track pregain and main output lev ms - + + Deck and Bus outputs are for external mixers. They are post-fader and include effects and crossfader (for Auto DJ). For external mixing, make sure all Mixxx faders and EQ knobs are set to their default position (right- or double-click). + + + + 20 ms 20 ms - + Buffer Underflow Count Buffer Underflow Count - + 0 0 @@ -7760,12 +8044,12 @@ The loudness target is approximate and assumes track pregain and main output lev Input - + System Reported Latency System Reported Latency - + Enlarge your audio buffer if the underflow counter is increasing or you hear pops during playback. Enlarge your audio buffer if the underflow counter is increasing or you hear pops during playback. @@ -7795,7 +8079,7 @@ The loudness target is approximate and assumes track pregain and main output lev Hints and Diagnostics - + Downsize your audio buffer to improve Mixxx's responsiveness. Downsize your audio buffer to improve Mixxx's responsiveness. @@ -7842,7 +8126,7 @@ The loudness target is approximate and assumes track pregain and main output lev Vinyl Configuration - + Show Signal Quality in Skin Show Signal Quality in Skin @@ -7878,46 +8162,51 @@ The loudness target is approximate and assumes track pregain and main output lev + Pitch estimator + + + + Deck 1 - + Deck 2 - + Deck 3 - + Deck 4 - + Signal Quality Signal Quality - + http://www.xwax.co.uk http://www.xwax.co.uk - + Powered by xwax Powered by xwax - + Hints Hints - + Select sound devices for Vinyl Control in the Sound Hardware pane. Select sound devices for Vinyl Control in the Sound Hardware pane. @@ -7925,58 +8214,58 @@ The loudness target is approximate and assumes track pregain and main output lev DlgPrefWaveform - + Filtered Filtered - + HSV HSV - + RGB RGB - + Top - + Center - + Bottom - + 1/3 of waveform viewer options for "Text height limit" - + Entire waveform viewer - + OpenGL not available OpenGL not available - + dropped frames dropped frames - + Cached waveforms occupy %1 MiB on disk. Cached waveforms occupy %1 MiB on disk. @@ -7994,22 +8283,17 @@ The loudness target is approximate and assumes track pregain and main output lev Frame rate - + OpenGL Status - + Displays which OpenGL version is supported by the current platform. Displays which OpenGL version is supported by the current platform. - - Normalize waveform overview - Normalize waveform overview - - - + Average frame rate Average frame rate @@ -8025,7 +8309,7 @@ The loudness target is approximate and assumes track pregain and main output lev Default zoom level - + Displays the actual frame rate. Displays the actual frame rate. @@ -8060,7 +8344,7 @@ The loudness target is approximate and assumes track pregain and main output lev Low - + Show minute markers on waveform overview @@ -8105,7 +8389,7 @@ The loudness target is approximate and assumes track pregain and main output lev Global visual gain - + The waveform overview shows the waveform envelope of the entire track. Select from different types of displays for the waveform overview, which differ primarily in the level of detail shown in the waveform. The waveform overview shows the waveform envelope of the entire track. @@ -8174,22 +8458,22 @@ Select from different types of displays for the waveform, which differ primarily - + Caching Caching - + Mixxx caches the waveforms of your tracks on disk the first time you load a track. This reduces CPU usage when you are playing live but requires extra disk space. Mixxx caches the waveforms of your tracks on disk the first time you load a track. This reduces CPU usage when you are playing live but requires extra disk space. - + Enable waveform caching Enable waveform caching - + Generate waveforms when analyzing library Generate waveforms when analysing library @@ -8205,7 +8489,7 @@ Select from different types of displays for the waveform, which differ primarily - + Type @@ -8225,22 +8509,68 @@ Select from different types of displays for the waveform, which differ primarily % - - Play marker position - Play marker position + + Play marker position + Play marker position + + + + Moves the play marker position on the waveforms to the left, right or center (default). + Moves the play marker position on the waveforms to the left, right or center (default). + + + + Stem + + + + + Channel opacity + + + + + Channel opacity (outline) + + + + + Main stem opacity + + + + + Outline stem opacity + + + + + Move channel to foreground when volume is adjusted + + + + + Overview Waveforms + + + + + Gain + - - Moves the play marker position on the waveforms to the left, right or center (default). - Moves the play marker position on the waveforms to the left, right or center (default). + + Normalize to peak + - - Overview Waveforms + + Use Waveform "Global" gain and ReplayGain (if enabled) + 'Global' refers to the 'Global' visual gain in the scrolling waveform settings - + Clear Cached Waveforms Clear Cached Waveforms @@ -8729,7 +9059,7 @@ This can not be undone! BPM: - + Location: Location: @@ -8744,27 +9074,27 @@ This can not be undone! Comments - + BPM BPM - + Sets the BPM to 75% of the current value. Sets the BPM to 75% of the current value. - + 3/4 BPM 3/4 BPM - + Sets the BPM to 50% of the current value. Sets the BPM to 50% of the current value. - + Displays the BPM of the selected track. Displays the BPM of the selected track. @@ -8819,49 +9149,49 @@ This can not be undone! Genre - + ReplayGain: ReplayGain: - + Sets the BPM to 200% of the current value. Sets the BPM to 200% of the current value. - + Double BPM Double BPM - + Halve BPM Halve BPM - + Clear BPM and Beatgrid Clear BPM and Beatgrid - + Move to the previous item. "Previous" button Move to the previous item. - + &Previous &Previous - + Move to the next item. "Next" button Move to the next item. - + &Next &Next @@ -8886,12 +9216,12 @@ This can not be undone! Color - + Date added: Date added: - + Open in File Browser Open in File Browser @@ -8901,102 +9231,107 @@ This can not be undone! - + + Filesize: + + + + Track BPM: Track BPM: - + Converts beats detected by the analyzer into a fixed-tempo beatgrid. Use this setting if your tracks have a constant tempo (e.g. most electronic music). Often results in higher quality beatgrids, but will not do well on tracks that have tempo shifts. Converts beats detected by the analyser into a fixed-tempo beatgrid. Use this setting if your tracks have a constant tempo (e.g. most electronic music). Often results in higher quality beatgrids, but will not do well on tracks that have tempo shifts. - + Assume constant tempo Assume constant tempo - + Sets the BPM to 66% of the current value. Sets the BPM to 66% of the current value. - + 2/3 BPM 2/3 BPM - + Sets the BPM to 150% of the current value. Sets the BPM to 150% of the current value. - + 3/2 BPM 3/2 BPM - + Sets the BPM to 133% of the current value. Sets the BPM to 133% of the current value. - + 4/3 BPM 4/3 BPM - + Tap with the beat to set the BPM to the speed you are tapping. Tap with the beat to set the BPM to the speed you are tapping. - + Tap to Beat Tap to Beat - + Hint: Use the Library Analyze view to run BPM detection. Hint: Use the Library Analyse view to run BPM detection. - + Save changes and close the window. "OK" button Save changes and close the window. - + &OK &OK - + Discard changes and close the window. "Cancel" button Discard changes and close the window. - + Save changes and keep the window open. "Apply" button Save changes and keep the window open. - + &Apply &Apply - + &Cancel &Cancel - + (no color) @@ -9153,7 +9488,7 @@ Often results in higher quality beatgrids, but will not do well on tracks that h - + (no color) @@ -9355,27 +9690,27 @@ Often results in higher quality beatgrids, but will not do well on tracks that h EngineBuffer - + Soundtouch (faster) Soundtouch (faster) - + Rubberband (better) Rubberband (better) - + Rubberband R3 (near-hi-fi quality) - + Unknown, using Rubberband (better) - + Unknown, using Soundtouch @@ -9590,15 +9925,15 @@ Often results in higher quality beatgrids, but will not do well on tracks that h LegacySkinParser - - + + Safe Mode Enabled Shown when Mixxx is running in safe mode. Safe Mode Enabled - - + + No OpenGL support. Shown when Spinny can not be displayed. Please keep @@ -9610,57 +9945,57 @@ Shown when VuMeter can not be displayed. Please keep support. - + activate activate - + toggle toggle - + right right - + left left - + right small right small - + left small left small - + up up - + down down - + up small up small - + down small down small - + Shortcut Shortcut @@ -9668,62 +10003,62 @@ support. Library - + This or a parent directory is already in your library. - + This or a listed directory does not exist or is inaccessible. Aborting the operation to avoid library inconsistencies - - + + This directory can not be read. - + An unknown error occurred. Aborting the operation to avoid library inconsistencies - + Can't add Directory to Library - + Could not add <b>%1</b> to your library. %2 - + Can't remove Directory from Library - + An unknown error occurred. - + This directory does not exist or is inaccessible. - + Relink Directory - + Could not relink <b>%1</b> to <b>%2</b>. %3 @@ -9889,12 +10224,12 @@ Do you really want to overwrite it? Hidden Tracks - + Export to Engine DJ - + Tracks Tracks @@ -9902,37 +10237,37 @@ Do you really want to overwrite it? MixxxMainWindow - + Sound Device Busy Sound Device Busy - + <b>Retry</b> after closing the other application or reconnecting a sound device <b>Retry</b> after closing the other application or reconnecting a sound device - - - + + + <b>Reconfigure</b> Mixxx's sound device settings. <b>Reconfigure</b> Mixxx's sound device settings. - - + + Get <b>Help</b> from the Mixxx Wiki. Get <b>Help</b> from the Mixxx Wiki. - - - + + + <b>Exit</b> Mixxx. <b>Exit</b> Mixxx. - + Retry Retry @@ -9942,213 +10277,213 @@ Do you really want to overwrite it? - + Allow Mixxx to hide the menu bar? - + Hide Always show the menu bar? - + Always show - + The Mixxx menu bar is hidden and can be toggled with a single press of the <b>Alt</b> key.<br><br>Click <b>%1</b> to agree.<br><br>Click <b>%2</b> to disable that, for example if you don't use Mixxx with a keyboard.<br><br>You can change this setting any time in Preferences -> Interface.<br> Keep formatting tags <b> (bold text) and <br> (linebreak). %1 is the placeholder for the 'Always show' button label - + Ask me again - - + + Reconfigure Reconfigure - + Help Help - - + + Exit Exit - - + + Mixxx was unable to open all the configured sound devices. Mixxx was unable to open all the configured sound devices. - + Sound Device Error Sound Device Error - + <b>Retry</b> after fixing an issue <b>Retry</b> after fixing an issue - + No Output Devices No Output Devices - + Mixxx was configured without any output sound devices. Audio processing will be disabled without a configured output device. Mixxx was configured without any output sound devices. Audio processing will be disabled without a configured output device. - + <b>Continue</b> without any outputs. <b>Continue</b> without any outputs. - + Continue Continue - + Load track to Deck %1 Load track to Deck %1 - + Deck %1 is currently playing a track. Deck %1 is currently playing a track. - + Are you sure you want to load a new track? Are you sure you want to load a new track? - + There is no input device selected for this vinyl control. Please select an input device in the sound hardware preferences first. There is no input device selected for this vinyl control. Please select an input device in the sound hardware preferences first. - + There is no input device selected for this passthrough control. Please select an input device in the sound hardware preferences first. There is no input device selected for this passthrough control. Please select an input device in the sound hardware preferences first. - + There is no input device selected for this microphone. Do you want to select an input device? There is no input device selected for this microphone. Do you want to select an input device? - + There is no input device selected for this auxiliary. Do you want to select an input device? There is no input device selected for this auxiliary. Do you want to select an input device? - + Scan took %1 - + No changes detected. - - + + %1 tracks in total - + %1 new tracks found - + %1 moved tracks detected - + %1 tracks are missing (%2 total) - + %1 tracks have been rediscovered - + Library scan finished - + Error in skin file Error in skin file - + The selected skin cannot be loaded. The selected skin cannot be loaded. - + OpenGL Direct Rendering OpenGL Direct Rendering - + Direct rendering is not enabled on your machine.<br><br>This means that the waveform displays will be very<br><b>slow and may tax your CPU heavily</b>. Either update your<br>configuration to enable direct rendering, or disable<br>the waveform displays in the Mixxx preferences by selecting<br>"Empty" as the waveform display in the 'Interface' section. Direct rendering is not enabled on your machine.<br><br>This means that the waveform displays will be very<br><b>slow and may tax your CPU heavily</b>. Either update your<br>configuration to enable direct rendering, or disable<br>the waveform displays in the Mixxx preferences by selecting<br>"Empty" as the waveform display in the 'Interface' section. - - - + + + Confirm Exit Confirm Exit - + A deck is currently playing. Exit Mixxx? A deck is currently playing. Exit Mixxx? - + A sampler is currently playing. Exit Mixxx? A sampler is currently playing. Exit Mixxx? - + The preferences window is still open. The preferences window is still open. - + Discard any changes and exit Mixxx? Discard any changes and exit Mixxx? @@ -10164,13 +10499,13 @@ Do you want to select an input device? PlaylistFeature - + Lock Lock - - + + Playlists Playlists @@ -10180,58 +10515,63 @@ Do you want to select an input device? - + + Adopt current order + + + + Unlock all playlists - + Delete all unlocked playlists - + Unlock Unlock - - + + Confirm Deletion - + Do you really want to delete all unlocked playlists? - + Deleting %1 unlocked playlists.<br>This operation can not be undone! - + Playlists are ordered lists of tracks that allow you to plan your DJ sets. - + It may be necessary to skip some tracks in your prepared playlist or add some different tracks in order to maintain the energy of your audience. - + Some DJs construct playlists before they perform live, but others prefer to build them on-the-fly. Some DJs construct playlists before they perform live, but others prefer to build them on-the-fly. - + When using a playlist during a live DJ set, remember to always pay close attention to how your audience reacts to the music you've chosen to play. When using a playlist during a live DJ set, remember to always pay close attention to how your audience reacts to the music you've chosen to play. - + Create New Playlist Create New Playlist @@ -10330,59 +10670,59 @@ Do you want to select an input device? QMessageBox - + Upgrading Mixxx Upgrading Mixxx - + Mixxx now supports displaying cover art. Do you want to scan your library for cover files now? Mixxx now supports displaying cover art. Do you want to scan your library for cover files now? - + Scan Scan - + Later Later - + Upgrading Mixxx from v1.9.x/1.10.x. Upgrading Mixxx from v1.9.x/1.10.x. - + Mixxx has a new and improved beat detector. Mixxx has a new and improved beat detector. - + When you load tracks, Mixxx can re-analyze them and generate new, more accurate beatgrids. This will make automatic beatsync and looping more reliable. When you load tracks, Mixxx can re-analyse them and generate new, more accurate beatgrids. This will make automatic beatsync and looping more reliable. - + This does not affect saved cues, hotcues, playlists, or crates. This does not affect saved cues, hotcues, playlists, or crates. - + If you do not want Mixxx to re-analyze your tracks, choose "Keep Current Beatgrids". You can change this setting at any time from the "Beat Detection" section of the Preferences. If you do not want Mixxx to re-analyse your tracks, choose "Keep Current Beatgrids". You can change this setting at any time from the "Beat Detection" section of the Preferences. - + Keep Current Beatgrids Keep Current Beatgrids - + Generate New Beatgrids Generate New Beatgrids @@ -10496,69 +10836,82 @@ Do you want to scan your library for cover files now? 14-bit (MSB) - + Main + Audio path indetifier - + Booth + Audio path indetifier Booth - + Headphones + Audio path indetifier Headphones - + Left Bus + Audio path indetifier Left Bus - + Center Bus + Audio path indetifier Center Bus - + Right Bus + Audio path indetifier Right Bus - + Invalid Bus + Audio path indetifier Invalid Bus - + Deck + Audio path indetifier Deck - + Record/Broadcast + Audio path indetifier Record/Broadcast - + Vinyl Control + Audio path indetifier Vinyl Control - + Microphone + Audio path indetifier Microphone - + Auxiliary + Audio path indetifier Auxiliary - + Unknown path type %1 + Audio path Unknown path type %1 @@ -10893,47 +11246,49 @@ With width at zero, this allows for manually sweeping over the entire delay rang Width - + Metronome Metronome - + + The Mixxx Team - + Adds a metronome click sound to the stream Adds a metronome click sound to the stream - + BPM BPM - + Set the beats per minute value of the click sound Set the beats per minute value of the click sound - + Sync Sync - + Synchronizes the BPM with the track if it can be retrieved Synchronizes the BPM with the track if it can be retrieved - + + Gain - + Set the gain of metronome click sound @@ -11737,14 +12092,14 @@ Fully right: end of the effect period - - + + encoder failure - - + + Failed to apply the selected settings. @@ -11950,15 +12305,86 @@ and the processed output signal as close as possible in perceived loudness + + Auto Gain Control + + + + + AGC + + + + + Auto Gain Control (AGC) automatically adjusts the gain of an audio signal to maintain a consistent output level. + + + + Threshold (dBFS) + Threshold + + + The Threshold knob adjusts the level above which the effect starts enhancing the input signal + + + + + Target (dBFS) + + + + + Target + + + + + The Target knob adjusts the desired target level of the output signal + + + + + Gain (dB) + + + + + The Gain knob adjusts the maximum amount of gain that the effect will apply + + + + + Knee (dB) + + + + + The Knee knob defines the range around the Threshold where gain changes are applied gradually, +ensuring smooth transitions and avoiding abrupt level shifts. + + + + + The Attack knob sets the time that determines how fast the auto gain +will set in once the signal exceeds the threshold + + + + + The Release knob sets the time that determines how fast the auto gain will recover from the gain +adjustment once the signal falls under the threshold. Depending on the input signal, short release times +may introduce a 'pumping' effect and/or distortion. + + The Threshold knob adjusts the level above which the compressor starts attenuating the input signal @@ -11987,6 +12413,7 @@ At a ratio of 1:1 no compression is happening, as the input is exactly the outpu + Knee @@ -11997,11 +12424,13 @@ At a ratio of 1:1 no compression is happening, as the input is exactly the outpu + Attack (ms) + Attack @@ -12013,11 +12442,13 @@ will set in once the signal exceeds the threshold + Release (ms) + Release @@ -12046,12 +12477,12 @@ may introduce a 'pumping' effect and/or distortion. - + built-in - + missing @@ -12086,42 +12517,42 @@ may introduce a 'pumping' effect and/or distortion. - + Empty - + Simple - + Filtered - + HSV - + VSyncTest - + RGB - + Stacked - + Unknown @@ -12382,193 +12813,193 @@ may introduce a 'pumping' effect and/or distortion. ShoutConnection - - + + Mixxx encountered a problem Mixxx encountered a problem - + Could not allocate shout_t Could not allocate shout_t - + Could not allocate shout_metadata_t Could not allocate shout_metadata_t - + Error setting non-blocking mode: Error setting non-blocking mode: - + Error setting tls mode: Error setting tls mode: - + Error setting hostname! Error setting hostname! - + Error setting port! Error setting port! - + Error setting password! Error setting password! - + Error setting mount! Error setting mount! - + Error setting username! Error setting username! - + Error setting stream name! Error setting stream name! - + Error setting stream description! Error setting stream description! - + Error setting stream genre! Error setting stream genre! - + Error setting stream url! Error setting stream url! - + Error setting stream IRC! Error setting stream IRC! - + Error setting stream AIM! Error setting stream AIM! - + Error setting stream ICQ! Error setting stream ICQ! - + Error setting stream public! Error setting stream public! - + Unknown stream encoding format! - + Use a libshout version with %1 enabled - + Error setting stream encoding format! - + Broadcasting at 96 kHz with Ogg Vorbis is not currently supported. Please try a different sample rate or switch to a different encoding. Broadcasting at 96 kHz with Ogg Vorbis is not currently supported. Please try a different sample rate or switch to a different encoding. - + See https://github.com/mixxxdj/mixxx/issues/5701 for more information. - + Unsupported sample rate Unsupported sample rate - + Error setting bitrate Error setting bitrate - + Error: unknown server protocol! Error: unknown server protocol! - + Error: Shoutcast only supports MP3 and AAC encoders - + Error setting protocol! Error setting protocol! - + Network cache overflow Network cache overflow - + Connection error Connection error - + One of the Live Broadcasting connections raised this error:<br><b>Error with connection '%1':</b><br> One of the Live Broadcasting connections raised this error:<br><b>Error with connection '%1':</b><br> - + Connection message Connection message - + <b>Message from Live Broadcasting connection '%1':</b><br> <b>Message from Live Broadcasting connection '%1':</b><br> - + Lost connection to streaming server and %1 attempts to reconnect have failed. Lost connection to streaming server and %1 attempts to reconnect have failed. - + Lost connection to streaming server. Lost connection to streaming server. - + Please check your connection to the Internet. Please check your connection to the Internet. - + Can't connect to streaming server Can't connect to streaming server - + Please check your connection to the Internet and verify that your username and password are correct. Please check your connection to the Internet and verify that your username and password are correct. @@ -12576,7 +13007,7 @@ may introduce a 'pumping' effect and/or distortion. SoftwareWaveformWidget - + Filtered Filtered @@ -12584,23 +13015,23 @@ may introduce a 'pumping' effect and/or distortion. SoundManager - - + + a device a device - + An unknown error occurred An unknown error occurred - + Two outputs cannot share channels on "%1" Two outputs cannot share channels on "%1" - + Error opening "%1" Error opening "%1" @@ -12785,7 +13216,7 @@ may introduce a 'pumping' effect and/or distortion. - + Spinning Vinyl Spinning Vinyl @@ -12967,7 +13398,7 @@ may introduce a 'pumping' effect and/or distortion. - + Cover Art Show Cover Art @@ -13157,243 +13588,243 @@ may introduce a 'pumping' effect and/or distortion. Holds the gain of the low EQ to zero while active. - + Displays the tempo of the loaded track in BPM (beats per minute). Displays the tempo of the loaded track in BPM (beats per minute). - + Tempo Tempo - + Key The musical key of a track Key - + BPM Tap BPM Tap - + When tapped repeatedly, adjusts the BPM to match the tapped BPM. When tapped repeatedly, adjusts the BPM to match the tapped BPM. - + Adjust BPM Down Adjust BPM Down - + When tapped, adjusts the average BPM down by a small amount. When tapped, adjusts the average BPM down by a small amount. - + Adjust BPM Up Adjust BPM Up - + When tapped, adjusts the average BPM up by a small amount. When tapped, adjusts the average BPM up by a small amount. - + Adjust Beats Earlier Adjust Beats Earlier - + When tapped, moves the beatgrid left by a small amount. When tapped, moves the beatgrid left by a small amount. - + Adjust Beats Later Adjust Beats Later - + When tapped, moves the beatgrid right by a small amount. When tapped, moves the beatgrid right by a small amount. - + Tempo and BPM Tap Tempo and BPM Tap - + Show/hide the spinning vinyl section. Show/hide the spinning vinyl section. - + Keylock Keylock - + Toggling keylock during playback may result in a momentary audio glitch. Toggling keylock during playback may result in a momentary audio glitch. - + Toggle visibility of Loop Controls - + Toggle visibility of Beatjump Controls - + Toggle visibility of Rate Control Toggle visibility of Rate Control - + Toggle visibility of Key Controls - + (while previewing) - + Places a cue point at the current position on the waveform. Places a cue point at the current position on the waveform. - + Stops track at cue point, OR go to cue point and play after release (CUP mode). Stops track at cue point, OR go to cue point and play after release (CUP mode). - + Set cue point (Pioneer/Mixxx/Numark mode), set cue point and play after release (CUP mode) OR preview from it (Denon mode). Set cue point (Pioneer/Mixxx/Numark mode), set cue point and play after release (CUP mode) OR preview from it (Denon mode). - + Is latching the playing state. - + Seeks the track to the cue point and stops. Seeks the track to the cue point and stops. - + Play Play - + Plays track from the cue point. Plays track from the cue point. - + Sends the selected channel's audio to the headphone output, selected in Preferences -> Sound Hardware. Sends the selected channel's audio to the headphone output, selected in Preferences -> Sound Hardware. - + (This skin should be updated to use Sync Lock!) - + Enable Sync Lock - + Tap to sync the tempo to other playing tracks or the sync leader. - + Enable Sync Leader - + When enabled, this device will serve as the sync leader for all other decks. - + This is relevant when a dynamic tempo track is loaded to a sync leader deck.In that case, other synced devices will adopt the changing tempo. - + Changes the track playback speed (affects both the tempo and the pitch). If keylock is enabled, only the tempo is affected. Changes the track playback speed (affects both the tempo and the pitch). If keylock is enabled, only the tempo is affected. - + Tempo Range Display - + Displays the current range of the tempo slider. - + Un-ejects when no track is loaded, i.e. reloads the track that was ejected last (of any deck). - + Delete selected hotcue. - + Track Comment - + Displays the comment tag of the loaded track. - + Opens separate artwork viewer. - + Effect Chain Preset Settings - + Show the effect chain settings menu for this unit. - + Select and configure a hardware device for this input Select and configure a hardware device for this input - + Recording Duration Recording Duration @@ -13616,949 +14047,984 @@ may introduce a 'pumping' effect and/or distortion. - + When tapped repeatedly, adjusts the tempo to match the tapped BPM. + + + Click to open the tempo/BPM editor + + + + + It also shows a colored bar if Key colors are enabled in the Preferences. + + + The bar will be split vertically if the track's key is in between full keys. + + + + Tempo Tap - + Rate Tap and BPM Tap - + + Set Tempo + + + + + Set the desired tempo in BPM. If the track currently has no BPM detected, set the desired tempo in percent. + + + + Adjust beatgrid by exactly one half beat. Usable only on tracks with constant tempo. - + Revert last BPM/Beatgrid Change - + Revert last BPM/Beatgrid Change of the loaded track. - - + + Toggle the BPM/beatgrid lock - + Tempo and Rate Tap - + Tempo, Rate Tap and BPM Tap - + Shift cues earlier - - + + Shift cues imported from Serato or Rekordbox if they are slightly off time. - + Left click: shift 10 milliseconds earlier - + Right click: shift 1 millisecond earlier - + Shift cues later - + Left click: shift 10 milliseconds later - + Right click: shift 1 millisecond later - - - + + + Drag a Hotcue button here to continue playing after releasing the Hotcue. - + Hint: Change the default cue mode in Preferences -> Decks. - + Mutes the selected channel's audio in the main output. - + Main mix enable - + Hold or short click for latching to mix this input into the main output. - + + Reloads the last replaced track. If no track is loaded reloads the second-last ejected track. + + + + If hotcue is a loop cue, toggles the loop and jumps to if the loop is behind the play position. - + If the play position is inside an active loop, stores the loop as loop cue. - + Drag this button onto another Hotcue button to move it there (change its index). If the other hotcue is set, the two are swapped. - + Expand/Collapse Samplers - + Toggle expanded samplers view. - + Displays the duration of the running recording. Displays the duration of the running recording. - + Auto DJ is active - + Red for when needle skip has been detected. - + Hot Cue - Track will seek to nearest previous hotcue point. Hot Cue - Track will seek to nearest previous hotcue point. - + Sets the track Loop-In Marker to the current play position. Sets the track Loop-In Marker to the current play position. - + Press and hold to move Loop-In Marker. Press and hold to move Loop-In Marker. - + Jump to Loop-In Marker. Jump to Loop-In Marker. - + Sets the track Loop-Out Marker to the current play position. Sets the track Loop-Out Marker to the current play position. - + Press and hold to move Loop-Out Marker. Press and hold to move Loop-Out Marker. - + Jump to Loop-Out Marker. Jump to Loop-Out Marker. - + If the track has no beats the unit is seconds. - + Beatloop Size Beatloop Size - + Select the size of the loop in beats to set with the Beatloop button. Select the size of the loop in beats to set with the Beatloop button. - + Changing this resizes the loop if the loop already matches this size. Changing this resizes the loop if the loop already matches this size. - + Halve the size of an existing beatloop, or halve the size of the next beatloop set with the Beatloop button. Halve the size of an existing beatloop, or halve the size of the next beatloop set with the Beatloop button. - + Double the size of an existing beatloop, or double the size of the next beatloop set with the Beatloop button. Double the size of an existing beatloop, or double the size of the next beatloop set with the Beatloop button. - + Start a loop over the set number of beats. Start a loop over the set number of beats. - + Temporarily enable a rolling loop over the set number of beats. Temporarily enable a rolling loop over the set number of beats. - + Beatloop Anchor - + Define whether the loop is created and adjusted from its staring point or ending point. - + Beatjump/Loop Move Size Beatjump/Loop Move Size - + Select the number of beats to jump or move the loop with the Beatjump Forward/Backward buttons. Select the number of beats to jump or move the loop with the Beatjump Forward/Backward buttons. - + Beatjump Forward Beatjump Forward - + Jump forward by the set number of beats. Jump forward by the set number of beats. - + Move the loop forward by the set number of beats. Move the loop forward by the set number of beats. - + Jump forward by 1 beat. Jump forward by 1 beat. - + Move the loop forward by 1 beat. Move the loop forward by 1 beat. - + Beatjump Backward Beatjump Backward - + Jump backward by the set number of beats. Jump backward by the set number of beats. - + Move the loop backward by the set number of beats. Move the loop backward by the set number of beats. - + Jump backward by 1 beat. Jump backward by 1 beat. - + Move the loop backward by 1 beat. Move the loop backward by 1 beat. - + Reloop Reloop - + If the loop is ahead of the current position, looping will start when the loop is reached. If the loop is ahead of the current position, looping will start when the loop is reached. - + Works only if Loop-In and Loop-Out Marker are set. Works only if Loop-In and Loop-Out Marker are set. - + Enable loop, jump to Loop-In Marker, and stop playback. Enable loop, jump to Loop-In Marker, and stop playback. - + Displays the elapsed and/or remaining time of the track loaded. Displays the elapsed and/or remaining time of the track loaded. - + Click to toggle between time elapsed/remaining time/both. Click to toggle between time elapsed/remaining time/both. - + Hint: Change the time format in Preferences -> Decks. - + Show/hide intro & outro markers and associated buttons. Show/hide intro & outro markers and associated buttons. - + + Ensure all waveforms to have the same height across all channels. By default, when displaying the stem controls, waveform for channel that have no stem may render with a shorter height in order to honor the waveform container size you have requested.. + + + + Intro Start Marker Intro Start Marker - - - - + + + + If marker is set, jumps to the marker. If marker is set, jumps to the marker. - - - - + + + + If marker is not set, sets the marker to the current play position. If marker is not set, sets the marker to the current play position. - - - - + + + + If marker is set, clears the marker. If marker is set, clears the marker. - + Intro End Marker Intro End Marker - + Outro Start Marker Outro Start Marker - + Outro End Marker Outro End Marker - + Mix Mix - + Adjust the mixing of the dry (input) signal with the wet (output) signal of the effect unit Adjust the mixing of the dry (input) signal with the wet (output) signal of the effect unit - + D/W mode: Crossfade between dry and wet D/W mode: Crossfade between dry and wet - + D+W mode: Add wet to dry D+W mode: Add wet to dry - + Mix Mode Mix Mode - + Adjust how the dry (input) signal is mixed with the wet (output) signal of the effect unit Adjust how the dry (input) signal is mixed with the wet (output) signal of the effect unit - + Dry/Wet mode (crossed lines): Mix knob crossfades between dry and wet Use this to change the sound of the track with EQ and filter effects. Dry/Wet mode (crossed lines): Mix knob crossfades between dry and wet Use this to change the sound of the track with EQ and filter effects. - + Dry+Wet mode (flat dry line): Mix knob adds wet to dry Use this to change only the effected (wet) signal with EQ and filter effects. Dry+Wet mode (flat dry line): Mix knob adds wet to dry Use this to change only the effected (wet) signal with EQ and filter effects. - + Route the main mix through this effect unit. - + Route the left crossfader bus through this effect unit. Route the left crossfader bus through this effect unit. - + Route the right crossfader bus through this effect unit. Route the right crossfader bus through this effect unit. - + Right side active: parameter moves with right half of Meta Knob turn Right side active: parameter moves with right half of Meta Knob turn - + Stem Label - + Name of the stem stored in the stem file - + Text is displayed in the stem color stored in the stem file - + this stem color is also used for the waveform of this stem - + Stem Mute - + Toggle the stem mute/unmuted - + Stem Volume Knob - + Adjusts the volume of the stem - + Skin Settings Menu Skin Settings Menu - + Show/hide skin settings menu Show/hide skin settings menu - + Save Sampler Bank Save Sampler Bank - + Save the collection of samples loaded in the samplers. Save the collection of samples loaded in the samplers. - + Load Sampler Bank Load Sampler Bank - + Load a previously saved collection of samples into the samplers. Load a previously saved collection of samples into the samplers. - + Show Effect Parameters Show Effect Parameters - + Enable Effect Enable Effect - + Meta Knob Link Meta Knob Link - + Set how this parameter is linked to the effect's Meta Knob. Set how this parameter is linked to the effect's Meta Knob. - + Meta Knob Link Inversion Meta Knob Link Inversion - + Inverts the direction this parameter moves when turning the effect's Meta Knob. Inverts the direction this parameter moves when turning the effect's Meta Knob. - + Super Knob Super Knob - + Next Chain Next Chain - + Previous Chain Previous Chain - + Next/Previous Chain Next/Previous Chain - + Clear Clear - + Clear the current effect. Clear the current effect. - + Toggle Toggle - + Toggle the current effect. Toggle the current effect. - + Next Next - + Clear Unit Clear Unit - + Clear effect unit. Clear effect unit. - + Show/hide parameters for effects in this unit. Show/hide parameters for effects in this unit. - + Toggle Unit Toggle Unit - + Enable or disable this whole effect unit. Enable or disable this whole effect unit. - + Controls the Meta Knob of all effects in this unit together. Controls the Meta Knob of all effects in this unit together. - + Load next effect chain preset into this effect unit. Load next effect chain preset into this effect unit. - + Load previous effect chain preset into this effect unit. Load previous effect chain preset into this effect unit. - + Load next or previous effect chain preset into this effect unit. Load next or previous effect chain preset into this effect unit. - - - - - - - - - + + + + + + + + + Assign Effect Unit Assign Effect Unit - + Assign this effect unit to the channel output. Assign this effect unit to the channel output. - + Route the headphone channel through this effect unit. Route the headphone channel through this effect unit. - + Route this deck through the indicated effect unit. Route this deck through the indicated effect unit. - + Route this sampler through the indicated effect unit. Route this sampler through the indicated effect unit. - + Route this microphone through the indicated effect unit. Route this microphone through the indicated effect unit. - + Route this auxiliary input through the indicated effect unit. Route this auxiliary input through the indicated effect unit. - + The effect unit must also be assigned to a deck or other sound source to hear the effect. The effect unit must also be assigned to a deck or other sound source to hear the effect. - + Switch to the next effect. Switch to the next effect. - + Previous Previous - + Switch to the previous effect. Switch to the previous effect. - + Next or Previous Next or Previous - + Switch to either the next or previous effect. Switch to either the next or previous effect. - + Meta Knob Meta Knob - + Controls linked parameters of this effect Controls linked parameters of this effect - + Effect Focus Button Effect Focus Button - + Focuses this effect. Focuses this effect. - + Unfocuses this effect. Unfocuses this effect. - + Refer to the web page on the Mixxx wiki for your controller for more information. Refer to the web page on the Mixxx wiki for your controller for more information. - + Effect Parameter Effect Parameter - + Adjusts a parameter of the effect. Adjusts a parameter of the effect. - + Inactive: parameter not linked Inactive: parameter not linked - + Active: parameter moves with Meta Knob Active: parameter moves with Meta Knob - + Left side active: parameter moves with left half of Meta Knob turn Left side active: parameter moves with left half of Meta Knob turn - + Left and right side active: parameter moves across range with half of Meta Knob turn and back with the other half Left and right side active: parameter moves across range with half of Meta Knob turn and back with the other half - - + + Equalizer Parameter Kill Equalizer Parameter Kill - - + + Holds the gain of the EQ to zero while active. Holds the gain of the EQ to zero while active. - + Quick Effect Super Knob Quick Effect Super Knob - + Quick Effect Super Knob (control linked effect parameters). Quick Effect Super Knob (control linked effect parameters). - + Hint: Change the default Quick Effect mode in Preferences -> Equalizers. Hint: Change the default Quick Effect mode in Preferences -> Equalizers. - + Equalizer Parameter Equalizer Parameter - + Adjusts the gain of the EQ filter. Adjusts the gain of the EQ filter. - + Hint: Change the default EQ mode in Preferences -> Equalizers. Hint: Change the default EQ mode in Preferences -> Equalizers. - - + + Adjust Beatgrid Adjust Beatgrid - + Adjust beatgrid so the closest beat is aligned with the current play position. Adjust beatgrid so the closest beat is aligned with the current play position. - - + + Adjust beatgrid to match another playing deck. Adjust beatgrid to match another playing deck. - + If quantize is enabled, snaps to the nearest beat. If quantize is enabled, snaps to the nearest beat. - + Quantize Quantize - + Toggles quantization. Toggles quantization. - + Loops and cues snap to the nearest beat when quantization is enabled. Loops and cues snap to the nearest beat when quantization is enabled. - + Reverse Reverse - + Reverses track playback during regular playback. Reverses track playback during regular playback. - + Puts a track into reverse while being held (Censor). Puts a track into reverse while being held (Censor). - + Playback continues where the track would have been if it had not been temporarily reversed. Playback continues where the track would have been if it had not been temporarily reversed. - - - + + + Play/Pause Play/Pause - + Jumps to the beginning of the track. Jumps to the beginning of the track. - + Syncs the tempo (BPM) and phase to that of the other track, if BPM is detected on both. Syncs the tempo (BPM) and phase to that of the other track, if BPM is detected on both. - + Syncs the tempo (BPM) to that of the other track, if BPM is detected on both. Syncs the tempo (BPM) to that of the other track, if BPM is detected on both. - + Sync and Reset Key Sync and Reset Key - + Increases the pitch by one semitone. Increases the pitch by one semitone. - + Decreases the pitch by one semitone. Decreases the pitch by one semitone. - + Enable Vinyl Control Enable Vinyl Control - + When disabled, the track is controlled by Mixxx playback controls. When disabled, the track is controlled by Mixxx playback controls. - + When enabled, the track responds to external vinyl control. When enabled, the track responds to external vinyl control. - + Enable Passthrough Enable Passthrough - + Indicates that the audio buffer is too small to do all audio processing. Indicates that the audio buffer is too small to do all audio processing. - + Displays cover artwork of the loaded track. Displays cover artwork of the loaded track. - + Displays options for editing cover artwork. Displays options for editing cover artwork. - + Star Rating Star Rating - + Assign ratings to individual tracks by clicking the stars. Assign ratings to individual tracks by clicking the stars. @@ -14693,33 +15159,33 @@ Use this to change only the effected (wet) signal with EQ and filter effects.Microphone Talkover Ducking Strength - + Prevents the pitch from changing when the rate changes. Prevents the pitch from changing when the rate changes. - + Changes the number of hotcue buttons displayed in the deck Changes the number of hotcue buttons displayed in the deck - + Starts playing from the beginning of the track. Starts playing from the beginning of the track. - + Jumps to the beginning of the track and stops. Jumps to the beginning of the track and stops. - - + + Plays or pauses the track. Plays or pauses the track. - + (while playing) (while playing) @@ -14739,215 +15205,215 @@ Use this to change only the effected (wet) signal with EQ and filter effects. - + (while stopped) (while stopped) - + Cue Cue - + Headphone Headphone - + Mute Mute - + Old Synchronize Old Synchronize - + Syncs to the first deck (in numerical order) that is playing a track and has a BPM. Syncs to the first deck (in numerical order) that is playing a track and has a BPM. - + If no deck is playing, syncs to the first deck that has a BPM. If no deck is playing, syncs to the first deck that has a BPM. - + Decks can't sync to samplers and samplers can only sync to decks. Decks can't sync to samplers and samplers can only sync to decks. - + Hold for at least a second to enable sync lock for this deck. Hold for at least a second to enable sync lock for this deck. - + Decks with sync locked will all play at the same tempo, and decks that also have quantize enabled will always have their beats lined up. Decks with sync locked will all play at the same tempo, and decks that also have quantize enabled will always have their beats lined up. - + Resets the key to the original track key. Resets the key to the original track key. - + Speed Control Speed Control - - - + + + Changes the track pitch independent of the tempo. Changes the track pitch independent of the tempo. - + Increases the pitch by 10 cents. Increases the pitch by 10 cents. - + Decreases the pitch by 10 cents. Decreases the pitch by 10 cents. - + Pitch Adjust Pitch Adjust - + Adjust the pitch in addition to the speed slider pitch. Adjust the pitch in addition to the speed slider pitch. - + Opens a menu to clear hotcues or edit their labels and colors. Opens a menu to clear hotcues or edit their labels and colors. - + Drag this button onto a Play button while previewing to continue playback after release. - + Dragging with Shift key pressed will not start previewing the hotcue. - + Record Mix Record Mix - + Toggle mix recording. Toggle mix recording. - + Enable Live Broadcasting Enable Live Broadcasting - + Stream your mix over the Internet. Stream your mix over the Internet. - + Provides visual feedback for Live Broadcasting status: Provides visual feedback for Live Broadcasting status: - + disabled, connecting, connected, failure. disabled, connecting, connected, failure. - + When enabled, the deck directly plays the audio arriving on the vinyl input. When enabled, the deck directly plays the audio arriving on the vinyl input. - + Playback will resume where the track would have been if it had not entered the loop. Playback will resume where the track would have been if it had not entered the loop. - + Loop Exit Loop Exit - + Turns the current loop off. Turns the current loop off. - + Slip Mode Slip Mode - + When active, the playback continues muted in the background during a loop, reverse, scratch etc. When active, the playback continues muted in the background during a loop, reverse, scratch etc. - + Once disabled, the audible playback will resume where the track would have been. Once disabled, the audible playback will resume where the track would have been. - + Track Key The musical key of a track Track Key - + Displays the musical key of the loaded track. Displays the musical key of the loaded track. - + Clock Clock - + Displays the current time. Displays the current time. - + Audio Latency Usage Meter Audio Latency Usage Meter - + Displays the fraction of latency used for audio processing. Displays the fraction of latency used for audio processing. - + A high value indicates that audible glitches are likely. A high value indicates that audible glitches are likely. - + Do not enable keylock, effects or additional decks in this situation. Do not enable keylock, effects or additional decks in this situation. - + Audio Latency Overload Indicator Audio Latency Overload Indicator @@ -14987,259 +15453,259 @@ Use this to change only the effected (wet) signal with EQ and filter effects.Activate Vinyl Control from the Menu -> Options. - + Displays the current musical key of the loaded track after pitch shifting. Displays the current musical key of the loaded track after pitch shifting. - + Fast Rewind Fast Rewind - + Fast rewind through the track. Fast rewind through the track. - + Fast Forward Fast Forward - + Fast forward through the track. Fast forward through the track. - + Jumps to the end of the track. Jumps to the end of the track. - + Sets the pitch to a key that allows a harmonic transition from the other track. Requires a detected key on both involved decks. Sets the pitch to a key that allows a harmonic transition from the other track. Requires a detected key on both involved decks. - - - + + + Pitch Control Pitch Control - + Pitch Rate Pitch Rate - + Displays the current playback rate of the track. Displays the current playback rate of the track. - + Repeat Repeat - + When active the track will repeat if you go past the end or reverse before the start. When active the track will repeat if you go past the end or reverse before the start. - + Eject Eject - + Ejects track from the player. Ejects track from the player. - + Hotcue Hotcue - + If hotcue is set, jumps to the hotcue. If hotcue is set, jumps to the hotcue. - + If hotcue is not set, sets the hotcue to the current play position. If hotcue is not set, sets the hotcue to the current play position. - + Vinyl Control Mode Vinyl Control Mode - + Absolute mode - track position equals needle position and speed. Absolute mode - track position equals needle position and speed. - + Relative mode - track speed equals needle speed regardless of needle position. Relative mode - track speed equals needle speed regardless of needle position. - + Constant mode - track speed equals last known-steady speed regardless of needle input. Constant mode - track speed equals last known-steady speed regardless of needle input. - + Vinyl Status Vinyl Status - + Provides visual feedback for vinyl control status: Provides visual feedback for vinyl control status: - + Green for control enabled. Green for control enabled. - + Blinking yellow for when the needle reaches the end of the record. Blinking yellow for when the needle reaches the end of the record. - + Loop-In Marker Loop-In Marker - + Loop-Out Marker Loop-Out Marker - + Loop Halve Loop Halve - + Halves the current loop's length by moving the end marker. Halves the current loop's length by moving the end marker. - + Deck immediately loops if past the new endpoint. Deck immediately loops if past the new endpoint. - + Loop Double Loop Double - + Doubles the current loop's length by moving the end marker. Doubles the current loop's length by moving the end marker. - + Beatloop Beatloop - + Toggles the current loop on or off. Toggles the current loop on or off. - + Works only if Loop-In and Loop-Out marker are set. Works only if Loop-In and Loop-Out marker are set. - + Vinyl Cueing Mode Vinyl Cueing Mode - + Determines how cue points are treated in vinyl control Relative mode: Determines how cue points are treated in vinyl control Relative mode: - + Off - Cue points ignored. Off - Cue points ignored. - + One Cue - If needle is dropped after the cue point, track will seek to that cue point. One Cue - If needle is dropped after the cue point, track will seek to that cue point. - + Track Time Track Time - + Track Duration Track Duration - + Displays the duration of the loaded track. Displays the duration of the loaded track. - + Information is loaded from the track's metadata tags. Information is loaded from the track's metadata tags. - + Track Artist Track Artist - + Displays the artist of the loaded track. Displays the artist of the loaded track. - + Track Title Track Title - + Displays the title of the loaded track. Displays the title of the loaded track. - + Track Album Track Album - + Displays the album name of the loaded track. Displays the album name of the loaded track. - + Track Artist/Title Track Artist/Title - + Displays the artist and title of the loaded track. Displays the artist and title of the loaded track. @@ -15467,47 +15933,75 @@ This can not be undone! WCueMenuPopup - + Cue number Cue number - + Cue position Cue position - + Edit cue label Edit cue label - + Label... Label... - + Delete this cue Delete this cue - - Toggle this cue type between normal cue and saved loop + + Turn this cue into a regular hotcue + + + + + Turn this cue into a saved loop + + + + + Left-click: Use the old size if known or the current beatloop size as the loop size + + + + + Right-click: Use the current play position as new loop end if it is after the cue + + + + + Turn this cue into a saved forward jump. + + is a linebreak. Try to not to extend the translation beyond the length of the longest source line so the tooltip remains compact. + + + + + Turn this cue into a saved backward jump (one shot loop). - - Left-click: Use the old size or the current beatloop size as the loop size + + Left-click: Use the old size if known or the current play position as jump start position +If this is already a jump cue, swap the jump position and the cue/target position. - - Right-click: Use the current play position as loop end if it is after the cue + + Right-click: use current play position as new jump start position - + Hotcue #%1 Hotcue #%1 @@ -15809,171 +16303,181 @@ This can not be undone! + Show Auto DJ + + + + + Switch to the Auto DJ view. + + + + &Full Screen &Full Screen - + Display Mixxx using the full screen Display Mixxx using the full screen - + &Options &Options - + &Vinyl Control &Vinyl Control - + Use timecoded vinyls on external turntables to control Mixxx Use timecoded vinyls on external turntables to control Mixxx - + Enable Vinyl Control &%1 Enable Vinyl Control &%1 - + &Record Mix &Record Mix - + Record your mix to a file Record your mix to a file - + Ctrl+R Ctrl+R - + Enable Live &Broadcasting Enable Live &Broadcasting - + Stream your mixes to a shoutcast or icecast server Stream your mixes to a shoutcast or icecast server - + Ctrl+L Ctrl+L - + Enable &Keyboard Shortcuts Enable &Keyboard Shortcuts - + Toggles keyboard shortcuts on or off Toggles keyboard shortcuts on or off - + Ctrl+` Ctrl+` - + &Preferences &Preferences - + Change Mixxx settings (e.g. playback, MIDI, controls) Change Mixxx settings (e.g. playback, MIDI, controls) - + &Developer &Developer - + &Reload Skin &Reload Skin - + Reload the skin Reload the skin - + Ctrl+Shift+R Ctrl+Shift+R - + Developer &Tools Developer &Tools - + Opens the developer tools dialog Opens the developer tools dialog - + Ctrl+Shift+T Ctrl+Shift+T - + Stats: &Experiment Bucket Stats: &Experiment Bucket - + Enables experiment mode. Collects stats in the EXPERIMENT tracking bucket. Enables experiment mode. Collects stats in the EXPERIMENT tracking bucket. - + Ctrl+Shift+E Ctrl+Shift+E - + Stats: &Base Bucket Stats: &Base Bucket - + Enables base mode. Collects stats in the BASE tracking bucket. Enables base mode. Collects stats in the BASE tracking bucket. - + Ctrl+Shift+B Ctrl+Shift+B - + Deb&ugger Enabled Deb&ugger Enabled - + Enables the debugger during skin parsing Enables the debugger during skin parsing - + Ctrl+Shift+D Ctrl+Shift+D - + &Help &Help @@ -16007,62 +16511,62 @@ This can not be undone! - + &Community Support &Community Support - + Get help with Mixxx Get help with Mixxx - + &User Manual &User Manual - + Read the Mixxx user manual. Read the Mixxx user manual. - + &Keyboard Shortcuts &Keyboard Shortcuts - + Speed up your workflow with keyboard shortcuts. Speed up your workflow with keyboard shortcuts. - + &Settings directory - + Open the Mixxx user settings directory. - + &Translate This Application &Translate This Application - + Help translate this application into your language. Help translate this application into your language. - + &About &About - + About the application About the application @@ -16070,25 +16574,25 @@ This can not be undone! WOverview - + Passthrough Passthrough - + Ready to play, analyzing... Text on waveform overview when file is playable but no waveform is visible - - + + Loading track... Text on waveform overview when file is cached from source - + Finalizing... Text on waveform overview during finalizing of waveform analysis @@ -16278,625 +16782,640 @@ This can not be undone! WTrackMenu - + Load to Load to - + Deck Deck - + Sampler Sampler - + Add to Playlist Add to Playlist - + Crates Crates - + Metadata Metadata - + Update external collections Update external collections - + Cover Art Show Cover Art - + Adjust BPM Adjust BPM - + Select Color Select Color - - + + Analyze Analyse - - + + Delete Track Files - + Add to Auto DJ Queue (bottom) Add to Auto DJ Queue (bottom) - + Add to Auto DJ Queue (top) Add to Auto DJ Queue (top) - + Add to Auto DJ Queue (replace) Add to Auto DJ Queue (replace) - + Preview Deck Preview Deck - + Remove Remove - + Remove from Playlist Remove from Playlist - + Remove from Crate Remove from Crate - + Hide from Library Hide from Library - + Unhide from Library Unhide from Library - + Purge from Library Purge from Library - + Move Track File(s) to Trash - + Delete Files from Disk - + Properties Properties - + Open in File Browser Open in File Browser - + Select in Library - + Import From File Tags Import From File Tags - + Import From MusicBrainz Import From MusicBrainz - + Export To File Tags Export To File Tags - + BPM and Beatgrid BPM and Beatgrid - + Play Count Play Count - + Rating Rating - + Cue Point Cue Point - - + + Hotcues Hotcues - + Intro Intro - + Outro Outro - + Key Key - + ReplayGain ReplayGain - + Waveform Waveform - + Comment Comment - + All All - + Sort hotcues by position (remove offsets) - + Sort hotcues by position - + Lock BPM Lock BPM - + Unlock BPM Unlock BPM - + Double BPM Double BPM - + Halve BPM Halve BPM - + 2/3 BPM 2/3 BPM - + 3/4 BPM 3/4 BPM - + 4/3 BPM 4/3 BPM - + 3/2 BPM 3/2 BPM - + Shift Beatgrid Half Beat - + Reanalyze - + Reanalyze (constant BPM) - + Reanalyze (variable BPM) - + Update ReplayGain from Deck Gain - + Deck %1 Deck %1 - + Importing metadata of %n track(s) from file tags - + Marking metadata of %n track(s) to be exported into file tags - - + + Create New Playlist Create New Playlist - + Enter name for new playlist: Enter name for new playlist: - + New Playlist New Playlist - - - + + + Playlist Creation Failed Playlist Creation Failed - + A playlist by that name already exists. A playlist by that name already exists. - + A playlist cannot have a blank name. A playlist cannot have a blank name. - + An unknown error occurred while creating playlist: An unknown error occurred while creating playlist: - + Add to New Crate Add to New Crate - + Scaling BPM of %n track(s) - + Undo BPM/beats change of %n track(s) - + Locking BPM of %n track(s) - + Unlocking BPM of %n track(s) - + Setting rating of %n track(s) - + Setting color of %n track(s) - + Resetting play count of %n track(s) - + Resetting beats of %n track(s) - + Clearing rating of %n track(s) - + Clearing comment of %n track(s) - + Removing main cue from %n track(s) - + Removing outro cue from %n track(s) - + Removing intro cue from %n track(s) - + Removing loop cues from %n track(s) - + Removing hot cues from %n track(s) - + Sorting hotcues of %n track(s) by position (remove offsets) - + Sorting hotcues of %n track(s) by position - + Resetting keys of %n track(s) - + Resetting replay gain of %n track(s) - + Resetting waveform of %n track(s) - + Resetting all performance metadata of %n track(s) - + Move these files to the trash bin? - + Permanently delete these files from disk? - - + + This can not be undone! - + Cancel Cancel - + Delete Files - + Okay - + Move Track File(s) to Trash? - + Track Files Deleted - + Track Files Moved To Trash - + %1 track files were moved to trash and purged from the Mixxx database. - + %1 track files were deleted from disk and purged from the Mixxx database. - + Track File Deleted - + Track file was deleted from disk and purged from the Mixxx database. - + The following %1 file(s) could not be deleted from disk - + This track file could not be deleted from disk - + Remaining Track File(s) - + Close Close - + Clear Reset metadata in right click track context menu in library - + Loops - + Clear BPM and Beatgrid - + Undo last BPM/beats change - + Move this track file to the trash bin? - + Permanently delete this track file from disk? - + All decks where these tracks are loaded will be stopped and the tracks will be ejected. - + All decks where this track is loaded will be stopped and the track will be ejected. - + Removing %n track file(s) from disk... - + Note: if you are in the Computer or Recording view you need to click the current view again to see changes. - + Track File Moved To Trash - + Track file was moved to trash and purged from the Mixxx database. - + Don't show again during this session - + The following %1 file(s) could not be moved to trash - + This track file could not be moved to trash + + + Replace current Auto DJ queue? + + + + + Do you want to replace the entire Auto DJ queue with the selected tracks? + + + + + Don't ask again during this session + + - + Setting cover art of %n track(s) Setting cover art of %n track(s)Setting cover art of %n track(s) - + Reloading cover art of %n track(s) Reloading cover art of %n track(s)Reloading cover art of %n track(s) @@ -16950,37 +17469,37 @@ This can not be undone! WTrackTableView - + Confirm track hide - + Are you sure you want to hide the selected tracks? - + Are you sure you want to remove the selected tracks from AutoDJ queue? - + Are you sure you want to remove the selected tracks from this crate? - + Are you sure you want to remove the selected tracks from this playlist? - + Don't ask again during this session - + Confirm track removal @@ -16988,12 +17507,12 @@ This can not be undone! WTrackTableViewHeader - + Show or hide columns. Show or hide columns. - + Shuffle Tracks @@ -17001,52 +17520,52 @@ This can not be undone! mixxx::CoreServices - + fonts - + database - + effects - + audio interface - + decks - + library - + Choose music library directory Choose music library directory - + controllers - + Cannot open database Cannot open database - + Unable to establish a database connection. Mixxx requires QT with SQLite support. Please read the Qt SQL driver documentation for information on how to build it. @@ -17203,6 +17722,24 @@ Click OK to exit. + + mixxx::qml::QmlApplication + + + Existing user profile detected + + + + + Trying to run Mixxx 3.0 with an existing %0 user profile! <br><br>There is <b>serious risks</b> of data loss and corruption.<br>We recommend using a test profile folder with the '--settings-path' argument. <br><br>If you want to continue at your own risk, run Mixxx with the argument '--allow-dangerous-data-corruption-risk'. + + + + + Ok + + + mixxx::qml::QmlVisibleEffectsModel @@ -17211,4 +17748,27 @@ Click OK to exit. No effect loaded. + + mixxx::qml::QmlWaveformRendererMark + + + Cannot find the marker pixmap + + + + + Cannot find the marker endPixmap + + + + + Cannot find the marker icon + + + + + Cannot find the marker endIcon + + + \ No newline at end of file diff --git a/res/translations/mixxx_en_GB.qm b/res/translations/mixxx_en_GB.qm index 9b5af989606f7d26cc745f4e79a8ade9c38f5a5f..2dc0df90c4997d23a5ccedeeb44191052ab44563 100644 GIT binary patch delta 17644 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 Bju-#{ delta 17777 zcmXY(2V72X8^^EvzRx+&dA3BEnMpzPR=W{fYH|2rk9-Q6gzPu{nFe3B+f;1w)8W$9JV^#B6i!<3l)J zJQbXY7gPin;5r>#gMoAf*Mpdqv=jUV?!~~oz!P8`cop}BfRDfrL^?s-z8!dqc!Lu} zE|^&StpYy&51d47twiMBh>W}hUR1+^Kh%n`F~@d8h-z0Rs`eC<E^)ybdFK5!PX zqxFgEI};ngi5lngI*7*~jlptZxbsSZ7>3*Dn8(b?R=OxwtrKzE1C5dnOX4*i%a96g zB<2-Vz_nP8wpEC-5;RKYfnfeBYy|Px=#E6~@_Cl1{Q>-~p+-@57f}a%FKR4Nr#8gn zZ-O(3)d&Y?kv;n`pUB$}f57;=;tSgr$1LQIw)42Uh>e<}QBoHb(0&9_w_3zp))RHF zfn6R4)&!S>y@(YZ3JxcB64S}&_j4Ngj{LvRA^yEPm`gkfQqVmQ*BE{e71zlcMNkxo zclXUsB=Sim*4KroCwB8=F^#Br4z(|U>9eOC1z5IW#FEv1BtU7V&!9q zkC}k`z|0_Gb*_=91SxvcHpV6#Z8j2K*pwqlBxdJt&QOwq4a7?~C29LA;!CP&lnQkP zQ?RnWB<)HizI-N02U`=P&0r?+6#*n2`9M6DlXM<$&rwK9mxyfcZR_BlFO%F6qng!LqX_W=bBSil8b!!| zB=^K9Tkj~~*2Gjnr~HXmizwg^4Es04w^)|~y7_A4#a)7O7xVG zlD}E?E0WGV1B@lzNEnOWA4oSTgJ_^X=~fLS`f@4evFvEeA!COg#7i~NDCs0JW(1Ka zoJNJF-hh$(PIm9k5T7}R3U8c-#b{3sW7`oMm`aYzASx4!QHj=JBzEqhvTJ;adxnv- zZ5h$lgBr#D!BlCVM69|CRj&Pu*sV0GTn{36D~~F742K~Y9Y=1EA@Sloxm|Mxzmr?O zs3?6kikG9w9lOYjbS_|twd9UP6?a>Zd-{12ZyHdQR?lI>o>J9|HHjs4Bafb#_SSyn z(c24jA&)peq6syq+R;D~N8eKQVuy)#7Nc5Jp8C;(9#lJjWJfwt?Few^D5{fhARnKl zI-0U5RBu?mDovt>Qy~TmXHvr}Ly3LptdW21Kn-6BqLFsgk7>+a-x8x%mu7Dw1Bm&|K}l%l5&CC4ckIIvJ$m-$F{e4q*0V?O6}`J5Z^Ea zTt%X^E48nSh5pxAqh$FUldf~HHETuf{jd*CDzzVtef^Hd%!AF&!u654P<4sgAFV)K zH;>w%$7`0GsG|{9sq-L>qDg=1#PR)WhpAI33-Qk{snfYgqM|bkSlLMriKTAF=dK1$?uey7W3rEGxKxZ!)P%zl9{(H>577qDiENQiKFJ@q=#E>%uK!4#5R1-hz6UDhJ0_gnCEZf`&JR z=}IPkY%TS^i~*UBYvhi@3fL=w`V3!6JlRNnhc6?EMN{8^coOx$P~TDeiMG|uXA$D( z+fm;wSb?IKsqfjbB$8cXX6wt?Hc>yLGx1`x3+Pd!fHm(Fu-5bf)~>EmQd6m)e-hDv zGt_TFCJChv^_va52=VQ&V7?LisehM!a0+qMKYSzcEj_6JOgKZ2RO&zL7SZJp8t~LY zB4#uV_>H}`Wi+HgEw&P`oeH(-WX}j;?pF)*P+13cw(W+6nMG`u?jBq-Ux7{Xq3IWJVjJ!u1Q{Y=oMJTb^a}q&&X_J#5G2h~} zX*MVRtt)Mb%pg|pDs5Sh74sWQ+aB%3j2hDRhgg~I!zt;aH!;h0+T}Zf_(M&68N6$8^3|ed61v()p13(1~a|p97uv6h#-N!pZfiP8WNuBpQE+ zE{?}mlzvSYm*ctHhST*K5c!4^D8uHILt^L@$~f?e#FJpUv+^FXJAQPxd@|9^$_0G* zlO8%j1_qU&r&B$M>TRVge<$J#M$)U{XNjL3N3SM16Kg({-getcG;Bq0=@J}A=WFEIqbSfEVvRY<`_p( z;oGdloE+jkYO>NRAhmPLuyPw*5jXB;71HrQhe%d&RT%L*>sh6v_@3V{=Jo}`IH-03 z170%s(|1XdCbDY1P9tmJtXc@zvM{TzrV)#@xv(0q;akssV|DLF5S?$x>eUP)T3$gT z+cSsN>w5_vD4sR0noPXq9@cnEH4^u_vBnQGp&c_=<7ZBAjb~Yt79J$Jxw9rG5unry zW-aGHR?1yrt({=oYd>IZnqX@d4`pqhAkGc*W^JBE%PF%kr_ScFDap&uLL>`E-885%2hVKdm4$Yui5l? zXQCNx*$j_lVoxuyIeW5*oi5H6E_1=I4q%HW{Unjui7hrv~tdjT=Th6l5I`2k>qee8aGQCM>~_RtjyH0T7&+-rl;I~~Yg-7bm&{9&(y z;79JfFJR_X_Hh;DEWIZC;SW)0*_-{`;z6QDBlf#`28`=l_UE7@%>G%-yG#{B`5HRqK$<4C9uRqr^_>xb;L4#J`E$ZqgTG;b(YJ+uF}W^Pccx@3Gfo z9eAZ(c+vEO+`UsbqOYDB**q`qo(}hLW(cohf^mCc;vT=UAuG!@iqrjhwR5m-gYWX{ z$DpAR9=vAF&cq*Y=CxkdMrJjRdq%Y;vER&_d*lAnKD^~)vXq9efgDgZgU}qd)Nu_b}tE;k=7mG|@LNjofJ)?=n|UEOjOCwj6%wX%_Dtn?{_T z@IhVh_v>@{pbgl9`Mvqjf5{~DvE2U(CTN?(NA!j9O*8R;g|ms}Ua;|z+22Wo_5t%q zROrJ;Ibv^`TKRvzH;Fwz%_rA*2M_y-Pdj)UR(Kz`)xy8;h|(wy?dCI@!t?f@$Y*}| zOyX`3kKlMt$)7ypOgM?`Gdv=F3{m<^9+`(Nx%-08>4%9pmMWmDZMybBD%OKXxgl$4 z-;c-DV2}Yf9@hq2bI!mMMlI=f{quk|bX96J@Z3t9$e0+wjztlKII)eMtPL7VvvKKV1_t zR4baF-v5&*`2$aNMgmb~D^ERz_dG1eQ*UCcDo*1U5dt`^YwlC6n?*V zJc-)1{KkKtLll=)kN*nA zo+r5RUt5a95dGkJNxg`h76?gu@hl-<3r6gcDs=IIB<6kKN_=se~v^GpNoLq zoLCD_F{bn$qO}#pm?mKSJTbv#1JQ~DVnP=T=&QR3rVuE3e-Z36l=zDdV%p%#khs91 z!nP{k#RUo5sbmt@lZ5SMJP99IKI954WVMJ09!TQTG%@QCT=d)#V)lrNsJm?wQFGv- z4wV&A(eO|QRS|vb0bJsAv2-v?XScgM;l)Rk2ICPb_(c*nN0CQt5?ae@P3mg^uFz3lA70 zgE)D>mw4&|ajxkT;(0#ey#6XwskuhU?y$Jz&lOM0!n!rmiDy~J`}*w^uRnN_*!V-d8IVNm%V_a=L?F=>a{;gY5T9>j z0e!8!mhJavPO4eL-t4| z7r+5^TPQiLP9`SVq%t*zB64deRakWvvfD$d=+%P6vxZWo+Er10nV2nAn%asad7e}$ zHIKw1N6B?Cl;eD7$t|EA>ZX$=w{Qg2uN-2^6mzt_k{UF?JpXd3NslxVRc=ac_Wwn_ z&Q0oA29n%tyX0-{2)`FA`OL-oxGs`<77in^+C}Q=2b1;ivD7=po~YS4Y2f>x#ELYK zhP8}__t+#2+wm18kHgZ4U3tWGTcyzymger>NM!F+z>4V_dC}ShEEQhBnyU*~tIhxUS)*jr`AAW_e2JZJCM|`NVm^7& zvX-a`9h@nx==q#@ul`bOyW?1|M;dvPt{NrF=>j_4lU4>o`w%MaT$GEbTEv_z;b=Q6?Q0G- zxX@ABcd9puugTJ3({SQFzeq=SX2QgO)+oMzkd7H(va2+aPVB3Ubvq!Pnh6JzzD7FR zE1txtgVNbhXQKC=rE}|`CaEo@3mo4sJz2WAyf4wUVCfPZji}}FMKabT~>#S-q#CeqC6~o>iSFqk+ao zl<6S7{G7j$)uneCOA%cRliqKFQ`$UB`nV1z^G1&J$u^M0xp~s3%kViX7E7O=MHBns z5o0aoXuBnS+jf9N=W5dTw$R_YEv4T+BT3A9EtAO}9)7hJ*c~f3FO*KaLr=N+qYM;^B)Qce?31;n+$PeE zxN{r1O-jDS?;a<&+wq3@lVfs+o6U$f9V~Zvf*VS8mpgW?gY;67J5OcAUYlf}G|Z%Z zrra|I1Kztr?lUlq*po!LZwHvl>;!qh;M%D5HME#H+NB=X4lA^x>R5XE$1m4$m}74k7aV*f8Sv=F3sl zJHW;-kfZ7jCJ{AAj%qfGsEJvQYIBaL(0~FyIHu9YI)rN<*p_n|CC7Z=kNlMpV%ZX+=IqztHyGS3f2DLB*%2hLv1!ej@g(? z5>J(vPDvs5Vv)S8EhfCOj=aJWjc(+t67q`Edx?hb*C+-Zmt(`Hq5f1cW>*;p+xFe^ z%3sip-V^1xA+68`w3Fi&1)+jhOk`I2t-&5DfhbLDc?$xS* zPmjrmW742POXcMKUTAa0$R}NLh@LC*sk&h#hPRYY^{hzL>!wE0e6xJ^Ln7)A#h82! z9R_-ss*w+wQ^03E%`ClW3s zzcSjRMO{XIv-mYCNk!y$&60^%?J4INlF-;*EPw2T*m{C0e~W-mi}925L<9+^AUUsG zJd9PcoR=>kQT;TEX)P66G?Zv~X@y^gQ*O{q5$h2pe|)Bhtx)xWa}@b(GQ9o4>x%B> zT!aOs75!}#lW*lI=F+f!g{~{+P1A{DS1N_BcoH8uMJZe&5=G)AioHE1{_~1P7Ij7` z(&{M&#FQeww^7chp%h(-LeR4%N|}vt5=tMXLN+E?(?zMMS>sU}CH+{X;*!LenDT{f zqmL-gCH5h?Jgqpd`#^lSuTn|-YJx^dzd>=!SL;F*6!(dlB(|q09&TCi(5sc|ML!QE+O9AUGW;@OH^dC zMjJVA(LQjeaT+DvCB-WZUnm=(w6AoA$Sp=`9}V@0@Kie1(GlDENa?uUf~s0QjUr^F z(xYl7lBjV?uhQ8FeAAV_FDxW_xGMcvQQ{q+EB%&0nCyor{a-Fd>XNDq-1`=F?;^^e zUCGFvE88nWVlz=ri&A{idZ%D_#WxVwS$!415wj7KI4l0O5CQ$lQikoSMf|}OWkknh z5<`kBBej7ADLhh)m~LoY^DF8=W$W7&F5HwTgvp`2ug2zC^OEIg0+@s3usW3QKl9f5(_@1GiGViG;YEiMu{L9|x*lky$J|QOj{7hNU zuqB-PJ!Rp-mdMh*m4&wa54VpiG20*}#?i{s+1TR+ua#w9Sh}Jkl-R-^I4f~PiG5!O z72t8o`U3+|Px!8E?y?*n<(#smL>`GF)08b0!JCbgZLV1A3pZ~@yeCkXb2R2uB7D$ZRO`HX&+(W znqO6}twXPdUr=szM4|uHFXhIp91@0A%FRx-(CqoF+`bOau)U;m=T|FKdcu@UctDCP zsbqPMMT`4@@?uvQiM%-F)xhh-U+z?1<+VcxLs4G0N0f9vM0q_X4SIZgj`B7FQO)Kr z%G=|3QG9#l?b#I6JyMkSC9;Uhg(*3K8OWn6DLJn^Nwi(7e7J*oc8FKLjfbdI{-u0x zkL#JYl%FrbOJ9}0yOT(4j?jra>#);pbaF7BZ$D9|EXpL2lA_bcwSv-*i8b0YP`w{h2?X4^H;W4o(ZFPnDK;oVD>xz$RMQlyP4G zjIN2)fy9Wzx+ar96aV@vrm2gQt&q2_n+@T1Wv1&fDwNo})4CovG5+3>x?T=Y@S*0SBXNJIZphE22u`wfzBfjZSiD*1 z=MEk3@lrQz*k0l_RNb(rIL5OnKsOErDdFan~@7q>hnoA z`wHr^+cxRumnwtO%~aj|@o-@mJL~43!j2voqMQHC1Le{=x~ReV(Ttxi>U?7ouXAHu zDwnaH*Dag~*M9V*ZsB*VhFvAylG8tlr(M=9%|bBwv$rm`B0`9xS-RN8XJHZQ>SA|b zIR26@?jd5teHV0V+}a@txUO60F@#upq%Pqg-gYBYmvB0XsQ6yp#-Yi?ElqTZ>B*3z zmb%Tma?tU5uG=~(6JdIzuDTulAtwz_>XImuSR+-pYsx?D_hnsvh`<}n(j7eh6$PG5 zjiU7j-H`|g@YI{SV~?OwVxjItBuvNqY~9Jg2?%C4>P}s)MeNWH-Pv;)MAih2Qjwav z^ULCi_bH~k^bm!JTL{p;lme>G60u~?x&!74ini3=U0ia`>h;apYTxdC0IbE>%^HhlJK)iS;h zv8_RB(d9`bf?lc)HF9ve;=SsK=ubRdt`@tEXtLyAwPab_U}D!6t7W&mL<%-YExX4X zk`b;tZ`w$rXQo=I3RIOIsg`e=pQ@)Q3ghxYZSI1lZ0WC2lpLkDZQh#jzXE1m(kNLx)wToALr90I z?d)2iM8(y17hp>k-c-FGCJ{UEN9{5MFAnRecHQI$nYp8O&F^R@HBoJSI~5^1bw}-Y zJ&Cy80=0kLVD!Jns{_CJ5ObQY`nkmumFTPnG;$@rW{f&!J4RkUR1K{9nxx`a)c=~m zKbEyqC!EY7cCVuvq#H==(F}F!8E8|3s_N8i7_W2n)aidbV3rT5Gr~Pc?9NfcBW|Hs z5Mk3kh(goV@FXbp>Qm~>)h%%Bp|2XLAom;GU5$)~^t0J&!xys(t1A-xh&2mVR834tBi0~D-Sh>1@K_6VOVDfNo*UJz zdCiC#eo(h%!7SFPukM(LOu%-ask-xMZJc>prY4;ih+&wz8;4<-Uww725vMCZ9#Ich ze+?}ORgXODh8}NY^~l@xDB!+SkGfz_`3Uu7VVukRJYT)^tpqWzO$D5htX?jHo-b`G zU?aBzzBOs&N|buJHVU(><}dZ~Fi&)ACa9Nh4j_I#SEE$ox_V_KUVQekdgUVOo(m4C zSKjZ#;iu^ZEb&vlD)ymglBH2ZCaG7$&JiuUt={lRL7VHWdZT(2_WZA!aXSnt#x3>E zx=_?1KB<|-f1-O-UVUnp3H^6=Rde=XZ@Sy59~`pa0fW?B%0r!Mu$udE6^^0)QosGg z1Ad3AzxymD(d3W%C&+@zT)O&a2ZZy3qxyFrmi%g(p4UxA7Ts7c1|UQk^sj&q^7JCe z36oeT7NNwe z_t2NbDKqN4R9|Yhg{W$4ed#fQNYmfwo&0wZYg0pC_AP`lzLUN}QM}0KlD@(xlxi!K z(oe}nfUw5`kD_R2(^mn>kTOi z(O;^s?}UO-@ECplGJ4{fS^5U!HV|8XQQu%cQk=WT^v#=x!4EFfw+#CNhcR966@3Jq z*hTvG!A?YTHft1<%IVub^oNx?sqZvA4>4-ho!SRh<%GV|9S;(I8T!t4SeN1}^<8{m zXUA94cdg?|qM5zE*SSm*daJ%q+62^HO6&XfNJH0tk$&J@1iRU3df(%N5&Esw`@MaR zyuw|h7}r2QydUl}{?-roV?>|7>PKWj=OUMCbmuh^^dmb;s8@W~C@v-HN6vtK+}%z; zDi)_hyXj{vH(~)7X%r*A=x1KBkQlg6Kl3Ka9S@7^ zBgVslt@y1`Dz;cZ`w2Yc-52_KhuXtKI)Bp7?^F_LK@W{0_PKu1`kzE~kLg$2uZQ)F z(66ov`+w+zeoZgrTWIo3~uQ?uQJsTT-7825Z>MO`~W&OrP*48;J3X3BV0%b{z>n3z z3D#l;e%u>dIj@L8`aXqN<_Cl7mkq~tUn5&J!eGehh^9_QgQ*IX@L#aO>^_j#pKOEm zWgaS1xrWl8VCJX4Gq^N|UmDoO;NBA}y0fyOs#h3FWhV?Char=HCK;-=#g2tfF;q*k zpo`VRP6#w}c>Z(W!ntnFa^+o?=>vw}^_E+MY zHX52;hRoDFt&!)gjHy=3q2cy!h7Jri@^g7Zhdn56r`s92RD%dT++yh01hT%=Waxhs zrAe=m2Hy|K2v3a$zg}2~%5gEaS`M}g6%9ih!{1+gs8O<(1>q)-S2Oq@DTO>Yuz;6b z3?s@T(mCA4Fd_u4hrqjr5pTdCZ^MWm-;t2tF5tZmhJXj3Pyq8ajJ_^#Xiznbb;}`s ztCC^jZk(wP-fozff*#23+J?|0C*f>bWE&wAq-(MB=pwH<6pr48}lWE@hwZCJYo8n(^Tu&#MLi6REW zx}5P~YeNEkLL5^b{0xpWBn*Y~d>3h0|H~2E9BoL<&x2j78aDS`O=7@z!M`^O(3`@t{8SbMVog&*Vs~$I~aDSA#$qs(y(WD4=9$^u7`LBG&N>(9h}T^GbHzg99=7IICTrY za(1xcbeH^%EM-Wk)skptu;Fa|izpdq8ZN9j2WORQxESj}RIiIoJJzTvz)u)NO~coe*T_0_ zhCjjEh;8|6_&W@O;uU827m!0@qnqJhN*=L{GDf*Y0=haWMrBMgiH@y}`cQbkw|9;D zTzqe2S)gNt7`e2P~Zei?hr)xHw|)Ul)wNXf%l{c1AzjN^fFK9vS`4AjEY}Hx6B1gn09Y z#^Ek$@Pkc_qtX%R#s4sldyz(5t!bS2AdL9Uj>Zs<2-F;F3~3IdJM5crX5(MzXt^09 zEG9&r*~ZA79wZv>F-9JYggZQ@QOxl%&R&BFIX*6+>vv;Jv-+~lV~BB%I}*msqQ?0( zpCD`5V~lD8Cy-Xh7_|nXak#N@K}Xbd>eVqW8ov~OA7)%~ycx0Ub&bniU?O+s8e@YY z0^O~~*w+cfT*`y%L0@BBZDc=t%NbX9ia;C?tdXy{ZcHc+=MrsiO!$o&uSlz5-0;vu z^x~36=2)kIB_!jf#An1S{nIEF2{!IXfo`=OVN6;%9_@nx#$5-ZNutZfJ#H_MD_k}1 zjX;4m{EhLDy(^KWdI9fuH6ESW51q?~#uIxH|819z$=dfi8c)`CMT4rbz47F&mc%9> zG@c2%ht{OKF?GI5{Qd^xc>`AFX))vZ+-0b4wKrbco{5^sYvYxpuzH;yipMYXzXXa-7yO}!b{_AWI19;nDKsG8nKQajSpSnE#9~qA1+x;{H@OTa7SyH zsW-94$A%mdOLiL{=U2zx_cuOI&A{RDipF<+pzhAkjUPS+6Q3lEA9urV{Mu^#^s5%? zncl|F7d?r$bdAw9EMpsGD*WmPYWj^#r4F|vHoS(ZT$zn1X;d_oKN*gSzzb9P(<_LD zjx#wY+CiuNOqD}(i3K>B+<80+^C6S_r99~BZM69@!`XmAz%E z@k=7+`P5YR1AL_46;tDC-XwhXnVOc)Kn`_wmZ` zI6d{l)H(*+`jTmI z>N%oMnWn*ymJyvDZt`6^kVM8llW%T5$>i^p*Pp~-tI5AhG6}B>rr{BLNkq0Wjd+5- z&AFwfku#uE4V_Kn$^|1S8)OP{I8Gw#k14pa2h!F1ritC-Njz~dh45q~2PRX9QzFs0 zO{S31xWB`Xn178NN(^u}g+70Q`apTplrC6t_X?(&m$9(N%`w#)JKAQM=H16=Hor5? z@0El&H^>w{8`l#{n3h?Q2RUS!mTwq{ct1g-xYXMe$MEoo*QU5f$XI&MG_6Xmh&JD7 z)0&h1BqlvJtqs9sn#?h+Q~!XC+emUH*7bZzQReom}5%G@*q)Xp6M*dz85*FQIvV4 zQL^?hogeZRnS!(FN}I2ckBz1q3!{tYtHL>1GUPO$AS?wUR+NI3@<((&_H+vLi=Fy0YQd^n%ww}ay%r#4acwpU?X1x_No{?@gY`Te`)wq}qKO#u7j5pg2 z3Lwh$G8a{Rk#fv4JJ@3@P7XIau7w-@{n%Wx2jbkUE#^{px)AqRVJ_Vt@^fOOxpY!h z5@!#a%S`bm(Qc`^Y_bhA`CZ%W>{yE^vXR-P<6h!_rxShT`JnL{CF@CZyCK7HU~Rs+V@nL|gq^vQDGsM;C!0GxDMP&L53{#B4nk4|v-j-R zH~^Vw?lONSI;F$SU7cE?EFNvP^|*>X{9V=DvkM-uuYtKw-bUEaO!L5xnMf~(n0@<{ zM`5}fHq)yGvegW|~Cw$U8EEHR`tFJl0`V_x)SYr-o(-5Vuljf1@3S;H2nn$^& z5#6q54h()tEZNySKEDMtDa1T!MIOENMB7A~MT7 z%f}9-sC4tJLu-hK1eoV`aU@=|vUx$^4G3qPdBO2M#DA?cFK(7eq#K}7GORVPsE7wg zFE_8uH@6+9nB%575xtBvZ^>wZ4#X+**2&lcUkCFJS10@~#x~!)_ zC~w}g_#d&B>&!>iL5-SrH6I-nk3xgloZJG|Y*9t?$-Rr=_^+BzHLXp8H8G!>SqJ9% zllg3HQT(R&r1|n=EOqOK=JZ~-V61kUugyn&=AF@er&S=%CwrUk#pRG_Kf;`uk_7vI zf4}*$1xxd-nE7eh3Xtk+=BJxnaVGGFIqM?!>Wszw!aoQl5jXRze~^KX&gL(jPvhq+ zrZH%+l;yQ{sIe#iTcPv@N!D$hJdZX|!~l?1@tnxt7k&;Jmv3$Q1qD_@8y`sHIDydp}FONg-ZK9=58fLx!p`~A$TM$4yOTV44jxHT7{qI76 za}HVt^~2k89#{rvq1Exaw#9FB27UxRz%qQCJ+T|HmeFq`;X9_^w@i7OMnYO+nN|q< zV%=<+!QlP+7qf()!E{=tSZ3Prpe+?G5utODw0c+~>%*^KamD(!3=vgv&3a1 z?VNJSvZl5(BFYz*^#_I^-kE6G;1z(1PAAL8^+;p;?YC_F(F3O+R$8{$V|{DKS$1r4 zBB4CA?2dt3e*4$5r|y2#P3~9@-3=sme4XWp46}SW!g8#37_q$0mJ_Fvh>y5nNzO+7 zCG?TyxHO|O`!NU*Gmd&wzSu%xalVbVx5KGso zoaJ|38u6c5mcJYG^GY*&&-;pJn=I|l1o?4RXdNw7qD%fF+L)HT&D|59bbNm(o9 zH?IF~wsOziFebK*R=HjZ4pPsu>e}b`@_Sp=^A=(Y60C-U_lQ6JU^R-G=p=l#8Vv}c z))ccEQJ`R^uQ6*|IoaB{SPP9wg4KRtwW|`3kk8+0*B>!^T`y~qd7Sv>npVeFnE0bo z*5ak^5w-nmE%`c+MD?xKav{;g|D;hUES9sdp1 zYKe#xd|j>8T^k@`-e;|O80%*5Vy)wI8j)OwCf2%@Q9y|sXKmmDk=W7F+OYC?ENrs1 zQ9uOp?rzpbv!Y=PRgKJXTmefow>CZlncTF^+B61AL=CJhrtc^Aq^Wgi2cEOdI&%9=Ecil=QsGwCksk&^gnTDiN7bHy{L;-jR)&&19%CI_p(BZD zcdX++;>9ySe{_?~r!f|>tmVU3c)NGwXWE}s9I*d4{X zr2JG!L?7$&_8yqf9_z}YN09%9Sl3KTB5|a!H9i%deaT^K!U)?Wlz(m34PSbo`t4=i z80kZ7&`xV&S`Cc!l6CXJKmn}1}lRn|bRe!9z(i%Vp?^$=>^29l7AM4(y z`_O_JWZj1tn8j?i9%%Rl4UB!(qxB>-wi{ZHf5TDx6RI_Nsh-$NZawJ%GxD*u^`z~d zKaSOPx1ODWrB7*MJ-hr8G4nHP>PT-A?q#hPOJa|!ozN(;K%WQ7Zq|dZln0 zI;6F%H~cWeHAAeo`VS=THp+VIbq}J&MXY!2A)=<|1-$2OyFzmF|_OK+wp^Jak zN3Y5Gf6DEVF(bmp$X0e+*(#ynbHex}dkLq3n0zn@)Q@}{vgp2lc52GHac zd)n}#E8N;}J7@fO4aF<`SJHdz_%TC92Tb-a8!}{~|1eyY9Xru~{KNqNkQJ;YFE#sU P3y%N9p`$INP?!G!6BWI; diff --git a/res/translations/mixxx_en_GB.ts b/res/translations/mixxx_en_GB.ts index 20eabae030aa..908ca02afed4 100644 --- a/res/translations/mixxx_en_GB.ts +++ b/res/translations/mixxx_en_GB.ts @@ -8,6 +8,14 @@ + + AllTrackLibraryFeature + + + All... + + + AnalysisFeature @@ -19,52 +27,52 @@ AutoDJFeature - + Crates Crates - + Enable Auto DJ - + Disable Auto DJ - + Clear Auto DJ Queue - + Remove Crate as Track Source Remove Crate as Track Source - + Auto DJ Auto DJ - + Confirmation Clear - + Do you really want to remove all tracks from the Auto DJ queue? - + This can not be undone. - + Add Crate as Track Source Add Crate as Track Source @@ -223,7 +231,7 @@ - + Export Playlist Export Playlist @@ -277,13 +285,13 @@ - + Playlist Creation Failed Playlist Creation Failed - + An unknown error occurred while creating playlist: An unknown error occurred while creating playlist: @@ -298,12 +306,12 @@ - + M3U Playlist (*.m3u) M3U Playlist (*.m3u) - + M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Text CSV (*.csv);;Readable Text (*.txt) M3U Playlist (*.m3u);; M3U8 Playlist (*.m3u8);; PLS Playlist (*.pls);; Text CSV (*.csv);; Readable Text (*.txt) @@ -311,12 +319,12 @@ BaseSqlTableModel - + # # - + Timestamp Timestamp @@ -324,7 +332,7 @@ BaseTrackPlayerImpl - + Couldn't load track. Couldn't load track. @@ -362,7 +370,7 @@ Channels - + Color Color @@ -377,7 +385,7 @@ Composer - + Cover Art Cover Art @@ -387,7 +395,7 @@ Date Added - + Last Played @@ -417,7 +425,7 @@ Key - + Location Location @@ -427,7 +435,7 @@ - + Preview Preview @@ -467,7 +475,7 @@ Year - + Fetching image ... Tooltip text on the cover art column shown when the cover is read from disk @@ -489,22 +497,22 @@ BroadcastProfile - + Can't use secure password storage: keychain access failed. Can't use secure password storage: keychain access failed. - + Secure password retrieval unsuccessful: keychain access failed. Secure password retrieval unsuccessful: keychain access failed. - + Settings error Settings error - + <b>Error with settings for '%1':</b><br> <b>Error with settings for '%1':</b><br> @@ -592,7 +600,7 @@ - + Computer Computer @@ -612,17 +620,17 @@ Scan - + "Computer" lets you navigate, view, and load tracks from folders on your hard disk and external devices. "Computer" lets you navigate, view, and load tracks from folders on your hard disk and external devices. - + It shows the data from the file tags, not track data from your Mixxx library like other track views. - + If you load a track file from here, it will be added to your library. @@ -735,12 +743,12 @@ File Created - + Mixxx Library Mixxx Library - + Could not load the following file because it is in use by Mixxx or another application. Could not load the following file because it is in use by Mixxx or another application. @@ -771,87 +779,92 @@ CmdlineArgs - + Mixxx is an open source DJ software. For more information, see: - + Starts Mixxx in full-screen mode - + Use a custom locale for loading translations. (e.g 'fr') - + Top-level directory where Mixxx should look for its resource files such as MIDI mappings, overriding the default installation location. - + Path the debug statistics time line is written to - + Causes Mixxx to display/log all of the controller data it receives and script functions it loads - + The controller mapping will issue more aggressive warnings and errors when detecting misuse of controller APIs. New Controller Mappings should be developed with this option enabled! - + Enables developer-mode. Includes extra log info, stats on performance, and a Developer tools menu. - + Top-level directory where Mixxx should look for settings. Default is: - + Starts Auto DJ when Mixxx is launched. - + Rescans the library when Mixxx is launched. - + Use legacy vu meter - + Use legacy spinny - - Loads experimental QML GUI instead of legacy QWidget skin + + Loads the highly unstable 3.0 Mixxx interface, based on QML. You need to use a new setting profile, or run with 'allow-dangerous-data-corruption-risk' to use with the current one. We highly recommend backing up your data if you do so. - + + Force Mixxx to load an unstable version with an existing user profile from a stable version + + + + Enables safe-mode. Disables OpenGL waveforms, and spinning vinyl widgets. Try this option if Mixxx is crashing on startup. - + [auto|always|never] Use colors on the console output. - + Sets the verbosity of command line logging. critical - Critical/Fatal only warning - Above + Warnings @@ -861,32 +874,32 @@ trace - Above + Profiling messages - + Sets the the logging level at which the log buffer is flushed to mixxx.log. <level> is one of the values defined at --log-level above. - + Sets the maximum file size of the mixxx.log file in bytes. Use -1 for unlimited. The default is 100 MB as 1e5 or 100000000. - + Breaks (SIGINT) Mixxx, if a DEBUG_ASSERT evaluates to false. Under a debugger you can continue afterwards. - + Overrides the default application GUI style. Possible values: %1 - + Load the specified music file(s) at start-up. Each file you specify will be loaded into the next virtual deck. - + Preview rendered controller screens in the Setting windows. @@ -979,2557 +992,2585 @@ trace - Above + Profiling messages ControlPickerMenu - + Headphone Output Headphone Output - - - + + + + Deck %1 + %1 is the deck number 1 ... 4 Deck %1 - + Sampler %1 Sampler %1 - + Preview Deck %1 Preview Deck %1 - + Microphone %1 Microphone %1 - + Auxiliary %1 Auxiliary %1 - + Reset to default Reset to default - + Effect Rack %1 Effect Rack %1 - + Parameter %1 Parameter %1 - + Mixer Mixer - - + + Crossfader Crossfader - + Headphone mix (pre/main) Headphone mix (pre/main) - + Toggle headphone split cueing Toggle headphone split cueing - + Headphone delay Headphone delay - + Transport Transport - + Strip-search through track Strip-search through track - + Play button Play button - - + + Set to full volume Set to full volume - - + + Set to zero volume Set to zero volume - + Stop button Stop button - + Jump to start of track and play Jump to start of track and play - + Jump to end of track Jump to end of track - + Reverse roll (Censor) button Reverse roll (Censor) button - + Headphone listen button Headphone listen button - - + + Mute button Mute button - + Toggle repeat mode Toggle repeat mode - - + + Mix orientation (e.g. left, right, center) Mix orientation (e.g. left, right, center) - - + + Set mix orientation to left Set mix orientation to left - - + + Set mix orientation to center Set mix orientation to center - - + + Set mix orientation to right Set mix orientation to right - + Toggle slip mode Toggle slip mode - - + + BPM BPM - + Increase BPM by 1 Increase BPM by 1 - + Decrease BPM by 1 Decrease BPM by 1 - + Increase BPM by 0.1 Increase BPM by 0.1 - + Decrease BPM by 0.1 Decrease BPM by 0.1 - + BPM tap button BPM tap button - + Toggle quantize mode Toggle quantize mode - + One-time beat sync (tempo only) One-time beat sync (tempo only) - + One-time beat sync (phase only) One-time beat sync (phase only) - + Toggle keylock mode Toggle keylock mode - + Equalizers Equalizers - + Vinyl Control Vinyl Control - + Toggle vinyl-control cueing mode (OFF/ONE/HOT) Toggle vinyl-control cueing mode (OFF/ONE/HOT) - + Toggle vinyl-control mode (ABS/REL/CONST) Toggle vinyl-control mode (ABS/REL/CONST) - + Pass through external audio into the internal mixer Pass through external audio into the internal mixer - + Cues Cues - + Cue button Cue button - + Set cue point Set cue point - + Go to cue point Go to cue point - + Go to cue point and play Go to cue point and play - + Go to cue point and stop Go to cue point and stop - + Preview from cue point Preview from cue point - + Cue button (CDJ mode) Cue button (CDJ mode) - + Stutter cue Stutter cue - + Hotcues Hotcues - + Set, preview from or jump to hotcue %1 Set, preview from or jump to hotcue %1 - + Clear hotcue %1 Clear hotcue %1 - + Set hotcue %1 Set hotcue %1 - + Jump to hotcue %1 Jump to hotcue %1 - + Jump to hotcue %1 and stop Jump to hotcue %1 and stop - + Jump to hotcue %1 and play Jump to hotcue %1 and play - + Preview from hotcue %1 Preview from hotcue %1 - - + + Hotcue %1 Hotcue %1 - + Looping Looping - + Loop In button Loop In button - + Loop Out button Loop Out button - + Loop Exit button Loop Exit button - + 1/2 1/2 - + 1 1 - + 2 2 - + 4 4 - + 8 8 - + 16 16 - + 32 32 - + 64 64 - + Move loop forward by %1 beats Move loop forward by %1 beats - + Move loop backward by %1 beats Move loop backward by %1 beats - + Create %1-beat loop Create %1-beat loop - + Create temporary %1-beat loop roll Create temporary %1-beat loop roll - + Library Library - + Slot %1 Slot %1 - + Headphone Mix Headphone Mix - + Headphone Split Cue Headphone Split Cue - + Headphone Delay Headphone Delay - + Play Play - + Fast Rewind Fast Rewind - + Fast Rewind button Fast Rewind button - + Fast Forward Fast Forward - + Fast Forward button Fast Forward button - + Strip Search Strip Search - + Play Reverse Play Reverse - + Play Reverse button Play Reverse button - + Reverse Roll (Censor) Reverse Roll (Censor) - + Jump To Start Jump To Start - + Jumps to start of track Jumps to start of track - + Play From Start Play From Start - + Stop Stop - + Stop And Jump To Start Stop And Jump To Start - + Stop playback and jump to start of track Stop playback and jump to start of track - + Jump To End Jump To End - + Volume Volume - - - + + + Volume Fader Volume Fader - - + + Full Volume Full Volume - - + + Zero Volume Zero Volume - + Track Gain Track Gain - + Track Gain knob Track Gain knob - - + + Mute Mute - + Eject Eject - - + + Headphone Listen Headphone Listen - + Headphone listen (pfl) button Headphone listen (pfl) button - + Repeat Mode Repeat Mode - + Slip Mode Slip Mode - - + + Orientation Orientation - - + + Orient Left Orient Left - - + + Orient Center Orient Center - - + + Orient Right Orient Right - + BPM +1 BPM +1 - + BPM -1 BPM -1 - + BPM +0.1 BPM +0.1 - + BPM -0.1 BPM -0.1 - + BPM Tap BPM Tap - + Adjust Beatgrid Faster +.01 Adjust Beatgrid Faster +.01 - + Increase track's average BPM by 0.01 Increase track's average BPM by 0.01 - + Adjust Beatgrid Slower -.01 Adjust Beatgrid Slower -.01 - + Decrease track's average BPM by 0.01 Decrease track's average BPM by 0.01 - + Move Beatgrid Earlier Move Beatgrid Earlier - + Adjust the beatgrid to the left Adjust the beatgrid to the left - + Move Beatgrid Later Move Beatgrid Later - + Adjust the beatgrid to the right Adjust the beatgrid to the right - + Adjust Beatgrid Adjust Beatgrid - + Align beatgrid to current position Align beatgrid to current position - + Adjust Beatgrid - Match Alignment Adjust Beatgrid - Match Alignment - + Adjust beatgrid to match another playing deck. Adjust beatgrid to match another playing deck. - + Quantize Mode Quantize Mode - + Sync Sync - + Beat Sync One-Shot Beat Sync One-Shot - + Sync Tempo One-Shot Sync Tempo One-Shot - + Sync Phase One-Shot Sync Phase One-Shot - + Pitch control (does not affect tempo), center is original pitch Pitch control (does not affect tempo), center is original pitch - + Pitch Adjust Pitch Adjust - + Adjust pitch from speed slider pitch Adjust pitch from speed slider pitch - + Match musical key Match musical key - + Match Key Match Key - + Reset Key Reset Key - + Resets key to original Resets key to original - + High EQ High EQ - + Mid EQ Mid EQ - - + + Main Output - + Main Output Balance - + Main Output Delay - + Main Output Gain - + Low EQ Low EQ - + Toggle Vinyl Control Toggle Vinyl Control - + Toggle Vinyl Control (ON/OFF) Toggle Vinyl Control (ON/OFF) - + Vinyl Control Mode Vinyl Control Mode - + Vinyl Control Cueing Mode Vinyl Control Cueing Mode - + Vinyl Control Passthrough Vinyl Control Passthrough - + Vinyl Control Next Deck Vinyl Control Next Deck - + Single deck mode - Switch vinyl control to next deck Single deck mode - Switch vinyl control to next deck - + Cue Cue - + Set Cue Set Cue - + Go-To Cue Go-To Cue - + Go-To Cue And Play Go-To Cue And Play - + Go-To Cue And Stop Go-To Cue And Stop - + Preview Cue Preview Cue - + Cue (CDJ Mode) Cue (CDJ Mode) - + Stutter Cue Stutter Cue - + Go to cue point and play after release Go to cue point and play after release - + Clear Hotcue %1 Clear Hotcue %1 - + Set Hotcue %1 Set Hotcue %1 - + Jump To Hotcue %1 Jump To Hotcue %1 - + Jump To Hotcue %1 And Stop Jump To Hotcue %1 And Stop - + Jump To Hotcue %1 And Play Jump To Hotcue %1 And Play - + Preview Hotcue %1 Preview Hotcue %1 - + Loop In Loop In - + Loop Out Loop Out - + Loop Exit Loop Exit - + Reloop/Exit Loop Reloop/Exit Loop - + Loop Halve Loop Halve - + Loop Double Loop Double - + 1/32 1/32 - + 1/16 1/16 - + 1/8 1/8 - + 1/4 1/4 - + Move Loop +%1 Beats Move Loop +%1 Beats - + Move Loop -%1 Beats Move Loop -%1 Beats - + Loop %1 Beats Loop %1 Beats - + Loop Roll %1 Beats Loop Roll %1 Beats - + Add to Auto DJ Queue (bottom) Add to Auto DJ Queue (bottom) - + Append the selected track to the Auto DJ Queue Append the selected track to the Auto DJ Queue - + Add to Auto DJ Queue (top) Add to Auto DJ Queue (top) - + Prepend selected track to the Auto DJ Queue Prepend selected track to the Auto DJ Queue - + Load Track Load Track - + Load selected track Load selected track - + Load selected track and play Load selected track and play - - + + Record Mix Record Mix - + Toggle mix recording Toggle mix recording - + Effects Effects - - Quick Effects - Quick Effects - - - + Deck %1 Quick Effect Super Knob Deck %1 Quick Effect Super Knob - + + Quick Effect Super Knob (control linked effect parameters) Quick Effect Super Knob (control linked effect parameters) - - + + + + Quick Effect Quick Effect - + Clear Unit Clear Unit - + Clear effect unit Clear effect unit - + Toggle Unit Toggle Unit - + Dry/Wet Dry/Wet - + Adjust the balance between the original (dry) and processed (wet) signal. Adjust the balance between the original (dry) and processed (wet) signal. - + Super Knob Super Knob - + Next Chain Next Chain - + Assign Assign - + Clear Clear - + Clear the current effect Clear the current effect - + Toggle Toggle - + Toggle the current effect Toggle the current effect - + Next Next - + Switch to next effect Switch to next effect - + Previous Previous - + Switch to the previous effect Switch to the previous effect - + Next or Previous Next or Previous - + Switch to either next or previous effect Switch to either next or previous effect - - + + Parameter Value Parameter Value - - + + Microphone Ducking Strength Microphone Ducking Strength - + Microphone Ducking Mode Microphone Ducking Mode - + Gain Gain - + Gain knob Gain knob - + Shuffle the content of the Auto DJ queue Shuffle the content of the Auto DJ queue - + Skip the next track in the Auto DJ queue Skip the next track in the Auto DJ queue - + Auto DJ Toggle Auto DJ Toggle - + Toggle Auto DJ On/Off Toggle Auto DJ On/Off - + Show/hide the microphone & auxiliary section - + 4 Effect Units Show/Hide - + Switches between showing 2 and 4 effect units - + Mixer Show/Hide - + Show or hide the mixer. Show or hide the mixer. - + Cover Art Show/Hide (Library) Cover Art Show/Hide (Library) - + Show/hide cover art in the library Show/hide cover art in the library - + Library Maximize/Restore Library Maximize/Restore - + Maximize the track library to take up all the available screen space. Maximize the track library to take up all the available screen space. - + Effect Rack Show/Hide Effect Rack Show/Hide - + Show/hide the effect rack Show/hide the effect rack - + Waveform Zoom Out Waveform Zoom Out - + Headphone Gain Headphone Gain - + Headphone gain Headphone gain - + Tap to sync tempo (and phase with quantize enabled), hold to enable permanent sync Tap to sync tempo (and phase with quantize enabled), hold to enable permanent sync - + One-time beat sync tempo (and phase with quantize enabled) One-time beat sync tempo (and phase with quantize enabled) - + Playback Speed Playback Speed - + Playback speed control (Vinyl "Pitch" slider) Playback speed control (Vinyl "Pitch" slider) - + Pitch (Musical key) Pitch (Musical key) - + Increase Speed Increase Speed - + Adjust speed faster (coarse) Adjust speed faster (coarse) - + Increase Speed (Fine) Increase Speed (Fine) - + Adjust speed faster (fine) Adjust speed faster (fine) - + Decrease Speed Decrease Speed - + Adjust speed slower (coarse) Adjust speed slower (coarse) - + Adjust speed slower (fine) Adjust speed slower (fine) - + Temporarily Increase Speed Temporarily Increase Speed - + Temporarily increase speed (coarse) Temporarily increase speed (coarse) - + Temporarily Increase Speed (Fine) Temporarily Increase Speed (Fine) - + Temporarily increase speed (fine) Temporarily increase speed (fine) - + Temporarily Decrease Speed Temporarily Decrease Speed - + Temporarily decrease speed (coarse) Temporarily decrease speed (coarse) - + Temporarily Decrease Speed (Fine) Temporarily Decrease Speed (Fine) - + Temporarily decrease speed (fine) Temporarily decrease speed (fine) - - + + Adjust %1 Adjust %1 - + + Deck %1 Stem %2 + + + + Effect Unit %1 - + Button Parameter %1 - + Skin Skin - + Controller - + Crossfader / Orientation - + Main Output gain - + Main Output balance - + Main Output delay - + Headphone Headphone - - + + Kill %1 + %1 is "Low EQ" "Mid EQ" or "High EQ" Kill %1 - + Eject or un-eject track, i.e. reload the last-ejected track (of any deck)<br>Double-press to reload the last replaced track. In empty decks it reloads the second-last ejected track. - + BPM / Beatgrid - + Halve BPM - + Multiply current BPM by 0.5 - + 2/3 BPM - + Multiply current BPM by 0.666 - + 3/4 BPM - + Multiply current BPM by 0.75 - + 4/3 BPM - + Multiply current BPM by 1.333 - + 3/2 BPM - + Multiply current BPM by 1.5 - + Double BPM - + Multiply current BPM by 2 - + Tempo Tap - + Tempo tap button - + Move Beatgrid - + Adjust the beatgrid to the left or right - + Move Beatgrid Half a Beat - + Adjust the beatgrid by exactly one half beat. Usable only for tracks with constant tempo. - - + + Toggle the BPM/beatgrid lock - + Revert last BPM/Beatgrid Change - + Revert last BPM/Beatgrid Change of the loaded track. - + Sync / Sync Lock - + Internal Sync Leader - + Toggle Internal Sync Leader - - + + Internal Leader BPM - + Internal Leader BPM +1 - + Increase internal Leader BPM by 1 - + Internal Leader BPM -1 - + Decrease internal Leader BPM by 1 - + Internal Leader BPM +0.1 - + Increase internal Leader BPM by 0.1 - + Internal Leader BPM -0.1 - + Decrease internal Leader BPM by 0.1 - + Sync Leader - + Sync mode 3-state toggle / indicator (Off, Soft Leader, Explicit Leader) - + Speed Speed - + Decrease Speed (Fine) - + Pitch (Musical Key) - + Increase Pitch - + Increases the pitch by one semitone - + Increase Pitch (Fine) - + Increases the pitch by 10 cents - + Decrease Pitch - + Decreases the pitch by one semitone - + Decrease Pitch (Fine) - + Decreases the pitch by 10 cents - + Keylock Keylock - + CUP (Cue + Play) CUP (Cue + Play) - + Shift cue points earlier - + Shift cue points 10 milliseconds earlier - + Shift cue points earlier (fine) - + Shift cue points 1 millisecond earlier - + Shift cue points later - + Shift cue points 10 milliseconds later - + Shift cue points later (fine) - + Shift cue points 1 millisecond later - - + + Sort hotcues by position - - + + Sort hotcues by position (remove offsets) - + Hotcues %1-%2 - + Intro / Outro Markers - + Intro Start Marker Intro Start Marker - + Intro End Marker Intro End Marker - + Outro Start Marker Outro Start Marker - + Outro End Marker Outro End Marker - + intro start marker - + intro end marker - + outro start marker - + outro end marker - + Activate %1 [intro/outro marker - + Jump to or set the %1 [intro/outro marker - + Set %1 [intro/outro marker - + Set or jump to the %1 [intro/outro marker - + Clear %1 [intro/outro marker - + Clear the %1 [intro/outro marker - + if the track has no beats the unit is seconds - + Loop Selected Beats Loop Selected Beats - + Create a beat loop of selected beat size Create a beat loop of selected beat size - + Loop Roll Selected Beats Loop Roll Selected Beats - + Create a rolling beat loop of selected beat size Create a rolling beat loop of selected beat size - + Loop %1 Beats set from its end point - + Loop Roll %1 Beats set from its end point - + Create %1-beat loop with the current play position as loop end - + Create temporary %1-beat loop roll with the current play position as loop end - + Loop Beats - + Loop Roll Beats - + Go To Loop In - + Go to Loop In button - + Go To Loop Out - + Go to Loop Out button - + Toggle loop on/off and jump to Loop In point if loop is behind play position Toggle loop on/off and jump to Loop In point if loop is behind play position - + Reloop And Stop Reloop And Stop - + Enable loop, jump to Loop In point, and stop Enable loop, jump to Loop In point, and stop - + Halve the loop length Halve the loop length - + Double the loop length Double the loop length - + Beat Jump / Loop Move Beat Jump / Loop Move - + Jump / Move Loop Forward %1 Beats Jump / Move Loop Forward %1 Beats - + Jump / Move Loop Backward %1 Beats Jump / Move Loop Backward %1 Beats - + Jump forward by %1 beats, or if a loop is enabled, move the loop forward %1 beats Jump forward by %1 beats, or if a loop is enabled, move the loop forward %1 beats - + Jump backward by %1 beats, or if a loop is enabled, move the loop backward %1 beats Jump backward by %1 beats, or if a loop is enabled, move the loop backward %1 beats - + Beat Jump / Loop Move Forward Selected Beats Beat Jump / Loop Move Forward Selected Beats - + Jump forward by the selected number of beats, or if a loop is enabled, move the loop forward by the selected number of beats Jump forward by the selected number of beats, or if a loop is enabled, move the loop forward by the selected number of beats - + Beat Jump / Loop Move Backward Selected Beats Beat Jump / Loop Move Backward Selected Beats - + Jump backward by the selected number of beats, or if a loop is enabled, move the loop backward by the selected number of beats Jump backward by the selected number of beats, or if a loop is enabled, move the loop backward by the selected number of beats - + Beat Jump - + Indicate which loop marker remain static when adjusting the size or is inherited from the current position - + Beat Jump / Loop Move Forward - + Beat Jump / Loop Move Backward - + Loop Move Forward - + Loop Move Backward - + Remove Temporary Loop - + Remove the temporary loop - + Navigation Navigation - + Move up Move up - + Equivalent to pressing the UP key on the keyboard Equivalent to pressing the UP key on the keyboard - + Move down Move down - + Equivalent to pressing the DOWN key on the keyboard Equivalent to pressing the DOWN key on the keyboard - + Move up/down Move up/down - + Move vertically in either direction using a knob, as if pressing UP/DOWN keys Move vertically in either direction using a knob, as if pressing UP/DOWN keys - + Scroll Up Scroll Up - + Equivalent to pressing the PAGE UP key on the keyboard Equivalent to pressing the PAGE UP key on the keyboard - + Scroll Down Scroll Down - + Equivalent to pressing the PAGE DOWN key on the keyboard Equivalent to pressing the PAGE DOWN key on the keyboard - + Scroll up/down Scroll up/down - + Scroll vertically in either direction using a knob, as if pressing PGUP/PGDOWN keys Scroll vertically in either direction using a knob, as if pressing PGUP/PGDOWN keys - + Move left Move left - + Equivalent to pressing the LEFT key on the keyboard Equivalent to pressing the LEFT key on the keyboard - + Move right Move right - + Equivalent to pressing the RIGHT key on the keyboard Equivalent to pressing the RIGHT key on the keyboard - + Move left/right Move left/right - + Move horizontally in either direction using a knob, as if pressing LEFT/RIGHT keys Move horizontally in either direction using a knob, as if pressing LEFT/RIGHT keys - + Move focus to right pane Move focus to right pane - + Equivalent to pressing the TAB key on the keyboard Equivalent to pressing the TAB key on the keyboard - + Move focus to left pane Move focus to left pane - + Equivalent to pressing the SHIFT+TAB key on the keyboard Equivalent to pressing the SHIFT+TAB key on the keyboard - + Move focus to right/left pane Move focus to right/left pane - + Move focus one pane to right or left using a knob, as if pressing TAB/SHIFT+TAB keys Move focus one pane to right or left using a knob, as if pressing TAB/SHIFT+TAB keys - + Sort focused column - + Sort the column of the cell that is currently focused, equivalent to clicking on its header - + Go to the currently selected item Go to the currently selected item - + Choose the currently selected item and advance forward one pane if appropriate Choose the currently selected item and advance forward one pane if appropriate - + Load Track and Play - + Add to Auto DJ Queue (replace) Add to Auto DJ Queue (replace) - + Replace Auto DJ Queue with selected tracks Replace Auto DJ Queue with selected tracks - + Select next search history - + Selects the next search history entry - + Select previous search history - + Selects the previous search history entry - + Move selected search entry - + Moves the selected search history item into given direction and steps - + Clear search - + Clears the search query - - + + Select Next Color Available - + Select the next color in the color palette for the first selected track - - + + Select Previous Color Available - + Select the previous color in the color palette for the first selected track - + + Quick Effects Deck %1 + + + + Deck %1 Quick Effect Enable Button Deck %1 Quick Effect Enable Button - + + Quick Effect Enable Button Quick Effect Enable Button - + + Deck %1 Stem %2 Quick Effect Super Knob + + + + + Deck %1 Stem %2 Quick Effect Enable Button + + + + Enable or disable effect processing Enable or disable effect processing - + Super Knob (control effects' Meta Knobs) Super Knob (control effects' Meta Knobs) - + Mix Mode Toggle Mix Mode Toggle - + Toggle effect unit between D/W and D+W modes Toggle effect unit between D/W and D+W modes - + Next chain preset Next chain preset - + Previous Chain Previous Chain - + Previous chain preset Previous chain preset - + Next/Previous Chain Next/Previous Chain - + Next or previous chain preset Next or previous chain preset - - + + Show Effect Parameters Show Effect Parameters - + Effect Unit Assignment - + Meta Knob Meta Knob - + Effect Meta Knob (control linked effect parameters) Effect Meta Knob (control linked effect parameters) - + Meta Knob Mode Meta Knob Mode - + Set how linked effect parameters change when turning the Meta Knob. Set how linked effect parameters change when turning the Meta Knob. - + Meta Knob Mode Invert Meta Knob Mode Invert - + Invert how linked effect parameters change when turning the Meta Knob. Invert how linked effect parameters change when turning the Meta Knob. - - + + Button Parameter Value - + Microphone / Auxiliary Microphone / Auxiliary - + Microphone On/Off Microphone On/Off - + Microphone on/off Microphone on/off - + Toggle microphone ducking mode (OFF, AUTO, MANUAL) Toggle microphone ducking mode (OFF, AUTO, MANUAL) - + Auxiliary On/Off Auxiliary On/Off - + Auxiliary on/off Auxiliary on/off - + Auto DJ Auto DJ - + Auto DJ Shuffle Auto DJ Shuffle - + Auto DJ Skip Next Auto DJ Skip Next - + Auto DJ Add Random Track - + Add a random track to the Auto DJ queue - + Auto DJ Fade To Next Auto DJ Fade To Next - + Trigger the transition to the next track Trigger the transition to the next track - + User Interface User Interface - + Samplers Show/Hide Samplers Show/Hide - + Show/hide the sampler section Show/hide the sampler section - + Microphone && Auxiliary Show/Hide keep double & to prevent creation of keyboard accelerator - + Waveform Zoom Reset To Default - + Reset the waveform zoom level to the default value selected in Preferences -> Waveforms - + Select the next color in the color palette for the loaded track. - + Select previous color in the color palette for the loaded track. - + Navigate Through Track Colors - + Select either next or previous color in the palette for the loaded track. - + Start/Stop Live Broadcasting - + Stream your mix over the Internet. Stream your mix over the Internet. - + Start/stop recording your mix. - - + + + Deck %1 Stems + + + + + Samplers - + Vinyl Control Show/Hide Vinyl Control Show/Hide - + Show/hide the vinyl control section Show/hide the vinyl control section - + Preview Deck Show/Hide Preview Deck Show/Hide - + Show/hide the preview deck Show/hide the preview deck - + Toggle 4 Decks Toggle 4 Decks - + Switches between showing 2 decks and 4 decks. Switches between showing 2 decks and 4 decks. - + Cover Art Show/Hide (Decks) Cover Art Show/Hide (Decks) - + Show/hide cover art in the main decks Show/hide cover art in the main decks - + Vinyl Spinner Show/Hide Vinyl Spinner Show/Hide - + Show/hide spinning vinyl widget Show/hide spinning vinyl widget - + Vinyl Spinners Show/Hide (All Decks) - + Show/Hide all spinnies - + Toggle Waveforms - + Show/hide the scrolling waveforms. - + Waveform zoom Waveform zoom - + Waveform Zoom Waveform Zoom - + Zoom waveform in Zoom waveform in - + Waveform Zoom In Waveform Zoom In - + Zoom waveform out Zoom waveform out - + Star Rating Up Star Rating Up - + Increase the track rating by one star Increase the track rating by one star - + Star Rating Down Star Rating Down - + Decrease the track rating by one star Decrease the track rating by one star @@ -3542,6 +3583,159 @@ trace - Above + Profiling messages + + ControllerHidReportTabsManager + + + Read + + + + + Send + + + + + Payload Size + + + + + bytes + + + + + Byte Position + + + + + Bit Position + + + + + Bit Size + + + + + Logical Min + + + + + Logical Max + + + + + Value + + + + + Physical Min + + + + + Physical Max + + + + + Unit Scaling + + + + + Unit + + + + + Abs/Rel + + + + + + Wrap + + + + + + Linear + + + + + + Preferred + + + + + + Null + + + + + + Volatile + + + + + Usage Page + + + + + Usage + + + + + Relative + + + + + Absolute + + + + + No Wrap + + + + + Non Linear + + + + + No Preferred + + + + + No Null + + + + + Non Volatile + + + ControllerInputMappingTableModel @@ -3677,27 +3871,27 @@ trace - Above + Profiling messages ControllerScriptEngineLegacy - + Controller Mapping File Problem Controller Mapping File Problem - + The mapping for controller "%1" cannot be opened. The mapping for controller "%1" cannot be opened. - + The functionality provided by this controller mapping will be disabled until the issue has been resolved. The functionality provided by this controller mapping will be disabled until the issue has been resolved. - + File: File: - + Error: Error: @@ -3730,7 +3924,7 @@ trace - Above + Profiling messages - + Lock Lock @@ -3760,7 +3954,7 @@ trace - Above + Profiling messages Auto DJ Track Source - + Enter new name for crate: Enter new name for crate: @@ -3777,22 +3971,22 @@ trace - Above + Profiling messages Import Crate - + Export Crate Export Crate - + Unlock Unlock - + An unknown error occurred while creating crate: An unknown error occurred while creating crate: - + Rename Crate Rename Crate @@ -3802,28 +3996,28 @@ trace - Above + Profiling messages - + Confirm Deletion - - + + Renaming Crate Failed Renaming Crate Failed - + Crate Creation Failed Crate Creation Failed - + M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Text CSV (*.csv);;Readable Text (*.txt) M3U Playlist (*.m3u);; M3U8 Playlist (*.m3u8);; PLS Playlist (*.pls);; Text CSV (*.csv);; Readable Text (*.txt) - + M3U Playlist (*.m3u) M3U Playlist (*.m3u) @@ -3844,17 +4038,17 @@ trace - Above + Profiling messages Crates let you organize your music however you'd like! - + Do you really want to delete crate <b>%1</b>? - + A crate cannot have a blank name. A crate cannot have a blank name. - + A crate by that name already exists. A crate by that name already exists. @@ -3949,12 +4143,12 @@ trace - Above + Profiling messages Past Contributors - + Official Website - + Donate @@ -4752,122 +4946,139 @@ You tried to learn: %1,%2 DlgPrefBroadcast - + Icecast 2 Icecast 2 - + Shoutcast 1 Shoutcast 1 - + Icecast 1 Icecast 1 - + MP3 MP3 - + Ogg Vorbis Ogg Vorbis - + Opus Opus - + AAC - + HE-AAC - + HE-AACv2 - + Automatic Automatic - + Mono Mono - + Stereo Stereo - - - - + + Saving settings failed + + + + + The password for '%1' contains invalid characters. Please enter it again. + +Note: This can for example be invisible linebreaks when using copy/paste. + + + + + + Action failed Action failed - + You can't create more than %1 source connections. You can't create more than %1 source connections. - + Source connection %1 Source connection %1 - + + Settings for %1 + Settings for broadcast profile, %1 is the profile name placeholder + + + + At least one source connection is required. At least one source connection is required. - + Are you sure you want to disconnect every active source connection? Are you sure you want to disconnect every active source connection? - - + + Confirmation required Confirmation required - + '%1' has the same Icecast mountpoint as '%2'. Two source connections to the same server that have the same mountpoint can not be enabled simultaneously. - + Are you sure you want to delete '%1'? Are you sure you want to delete '%1'? - + Renaming '%1' Renaming '%1' - + New name for '%1': New name for '%1': - + Can't rename '%1' to '%2': name already in use Can't rename '%1' to '%2': name already in use @@ -4880,27 +5091,27 @@ Two source connections to the same server that have the same mountpoint can not Live Broadcasting Preferences - + Mixxx Icecast Testing Mixxx Icecast Testing - + Public stream Public stream - + http://www.mixxx.org http://www.mixxx.org - + Stream name Stream name - + Due to flaws in some streaming clients, updating Ogg Vorbis metadata dynamically can cause listener glitches and disconnections. Check this box to update the metadata anyway. Due to flaws in some streaming clients, updating Ogg Vorbis metadata dynamically can cause listener glitches and disconnections. Check this box to update the metadata anyway. @@ -4940,67 +5151,72 @@ Two source connections to the same server that have the same mountpoint can not Settings for %1 - + + Available fields: $artist, $title, $year, $album, $genre, $bpm + + + + Dynamically update Ogg Vorbis metadata. Dynamically update Ogg Vorbis metadata. - + ICQ ICQ - + AIM AIM - + Website Website - + Live mix Live mix - + IRC IRC - + Select a source connection above to edit its settings here Select a source connection above to edit its settings here - + Password storage Password storage - + Plain text Plain text - + Secure storage (OS keychain) Secure storage (OS keychain) - + Genre Genre - + Use UTF-8 encoding for metadata. Use UTF-8 encoding for metadata. - + Description Description @@ -5026,42 +5242,42 @@ Two source connections to the same server that have the same mountpoint can not Channels - + Server connection Server connection - + Type Type - + Host Host - + Login Login - + Mount Mount - + Port Port - + Password Password - + Stream info Stream info @@ -5071,17 +5287,17 @@ Two source connections to the same server that have the same mountpoint can not Metadata - + Use static artist and title. Use static artist and title. - + Static title Static title - + Static artist Static artist @@ -5140,13 +5356,14 @@ Two source connections to the same server that have the same mountpoint can not DlgPrefColors - - + + + By hotcue number By hotcue number - + Color Color @@ -5191,17 +5408,22 @@ Two source connections to the same server that have the same mountpoint can not + Jump default color + + + + When key colors are enabled, Mixxx will display a color hint associated with each key. - + Enable Key Colors - + Key palette @@ -5209,114 +5431,114 @@ associated with each key. DlgPrefController - + Apply device settings? Apply device settings? - + Your settings must be applied before starting the learning wizard. Apply settings and continue? Your settings must be applied before starting the learning wizard. Apply settings and continue? - + None None - + %1 by %2 %1 by %2 - + Mapping has been edited - + Always overwrite during this session - + Save As - + Overwrite - + Save user mapping - + Enter the name for saving the mapping to the user folder. - + Saving mapping failed - + A mapping cannot have a blank name and may not contain special characters. - + A mapping file with that name already exists. - + Do you want to save the changes? Do you want to save the changes? - + Troubleshooting Troubleshooting - + <font color='#BB0000'><b>If you use this mapping your controller may not work correctly. Please select another mapping or disable the controller.</b></font><br><br>This mapping was designed for a newer Mixxx Controller Engine and cannot be used on your current Mixxx installation.<br>Your Mixxx installation has Controller Engine version %1. This mapping requires a Controller Engine version >= %2.<br><br>For more information visit the wiki page on <a href='https://mixxx.org/wiki/doku.php/controller_engine_versions'>Controller Engine Versions</a>. - + Mapping already exists. - + <b>%1</b> already exists in user mapping folder.<br>Overwrite or save with a new name? - + Clear Input Mappings Clear Input Mappings - + Are you sure you want to clear all input mappings? Are you sure you want to clear all input mappings? - + Clear Output Mappings Clear Output Mappings - + Are you sure you want to clear all output mappings? Are you sure you want to clear all output mappings? @@ -5334,100 +5556,105 @@ Apply settings and continue? Enabled - + + Refresh mapping list + + + + Device Info - + Physical Interface: - + Vendor name: - + Product name: - + Vendor ID - + VID: - + Product ID - + PID: - + Serial number: - + USB interface number: - + HID Usage-Page: - + HID Usage: - + Description: Description: - + Support: Support: - + Screens preview - + Input Mappings Input Mappings - - + + Search Search - - + + Add Add - - + + Remove Remove @@ -5447,17 +5674,17 @@ Apply settings and continue? - + Mapping Info - + Author: Author: - + Name: Name: @@ -5467,28 +5694,28 @@ Apply settings and continue? Learning Wizard (MIDI Only) - + Data protocol: - + Mapping Files: - + Mapping Settings - - + + Clear All Clear All - + Output Mappings Output Mappings @@ -5503,21 +5730,21 @@ Apply settings and continue? - Mixxx uses "mappings" to connect messages from your controller to controls in Mixxx. If you do not see a mapping for your controller in the "Load Mapping" menu when you click on your controller on the left sidebar, you may be able to download one online from the %1. Place the XML (.xml) and Javascript (.js) file(s) in the "User Mapping Folder" then restart Mixxx. If you download a mapping in a ZIP file, extract the XML and Javascript file(s) from the ZIP file to your "User Mapping Folder" then restart Mixxx. + Mixxx uses "mappings" to connect messages from your controller to controls in Mixxx. If you do not see a mapping for your controller in the "Load Mapping" menu when you click on your controller on the left sidebar, you may be able to download one online from the %1. Place the XML (.xml) and Javascript (.js) file(s) in the "User Mapping Folder" then click the Reload button next to the mapping selector to reload all available mappings. If you download a mapping in a ZIP file, extract the XML and Javascript file(s) from the ZIP file to your "User Mapping Folder" then click the Reload button. - + Mixxx DJ Hardware Guide - + MIDI Mapping File Format - + MIDI Scripting with Javascript @@ -5686,137 +5913,137 @@ Apply settings and continue? DlgPrefDeck - + Mixxx mode Mixxx mode - + Mixxx mode (no blinking) Mixxx mode (no blinking) - + Pioneer mode Pioneer mode - + Denon mode Denon mode - + Numark mode Numark mode - + CUP mode CUP mode - + mm:ss%1zz - Traditional mm:ss%1zz - Traditional - + mm:ss - Traditional (Coarse) mm:ss - Traditional (Coarse) - + s%1zz - Seconds s%1zz - Seconds - + sss%1zz - Seconds (Long) sss%1zz - Seconds (Long) - + s%1sss%2zz - Kiloseconds s%1sss%2zz - Kiloseconds - + Intro start Intro start - + Main cue Main cue - + First hotcue - + First sound (skip silence) First sound (skip silence) - + Beginning of track Beginning of track - + Reject - + Allow, but stop deck - + Allow, play from load point - + 4% 4% - + 6% (semitone) 6% (semitone) - + 8% (Technics SL-1210) 8% (Technics SL-1210) - + 10% 10% - + 16% 16% - + 24% 24% - + 50% 50% - + 90% 90% @@ -6276,57 +6503,57 @@ You can always drag-and-drop tracks on screen to clone a deck. The minimum size of the selected skin is bigger than your screen resolution. - + Allow screensaver to run Allow screensaver to run - + Prevent screensaver from running Prevent screensaver from running - + Prevent screensaver while playing Prevent screensaver while playing - + Disabled - + 2x MSAA - + 4x MSAA - + 8x MSAA - + 16x MSAA - + This skin does not support color schemes This skin does not support color schemes - + Information Information - + Mixxx must be restarted before the new locale, scaling or multi-sampling settings will take effect. @@ -6553,67 +6780,97 @@ and allows you to pitch adjust them for harmonic mixing. - + Music Directory Added Music Directory Added - + You added one or more music directories. The tracks in these directories won't be available until you rescan your library. Would you like to rescan now? You added one or more music directories. The tracks in these directories won't be available until you rescan your library. Would you like to rescan now? - + Scan Scan - + Item is not a directory or directory is missing - + Choose a music directory Choose a music directory - + Confirm Directory Removal Confirm Directory Removal - + Mixxx will no longer watch this directory for new tracks. What would you like to do with the tracks from this directory and subdirectories?<ul><li>Hide all tracks from this directory and subdirectories.</li><li>Delete all metadata for these tracks from Mixxx permanently.</li><li>Leave the tracks unchanged in your library.</li></ul>Hiding tracks saves their metadata in case you re-add them in the future. Mixxx will no longer watch this directory for new tracks. What would you like to do with the tracks from this directory and subdirectories? <ul><li>Hide all tracks from this directory and subdirectories.</li> <li>Delete all metadata for these tracks from Mixxx permanently.</li> <li>Leave the tracks unchanged in your library.</li></ul> Hiding tracks saves their metadata in case you re-add them in the future. - + Metadata means all track details (artist, title, playcount, etc.) as well as beatgrids, hotcues, and loops. This choice only affects the Mixxx library. No files on disk will be changed or deleted. Metadata means all track details (artist, title, playcount, etc.) as well as beatgrids, hotcues, and loops. This choice only affects the Mixxx library. No files on disk will be changed or deleted. - + Hide Tracks Hide Tracks - + Delete Track Metadata Delete Track Metadata - + Leave Tracks Unchanged Leave Tracks Unchanged - + Relink music directory to new location Relink music directory to new location - + + Black + + + + + ExtraBold + + + + + Bold + + + + + SemiBold + + + + + Medium + + + + + Light + + + + Select Library Font Select Library Font @@ -6662,262 +6919,267 @@ and allows you to pitch adjust them for harmonic mixing. - + Audio File Formats Audio File Formats - + Track Table View - + Track Double-Click Action: - + BPM display precision: - + Session History - + Track duplicate distance - + When playing a track again log it to the session history only if more than N other tracks have been played in the meantime - + History playlist with less than N tracks will be deleted<br/><br/>Note: the cleanup will be performed during startup and shutdown of Mixxx. - + Delete history playlist with less than N tracks - + Library Font: Library Font: - + + Show scan summary dialog + + + + Grey out played tracks - + Track Search - + Enable search completions - + Enable search history keyboard shortcuts - + Percentage of pitch slider range for 'fuzzy' BPM search: - + This range will be used for the 'fuzzy' BPM search (~bpm:) via the search box, as well as for BPM search in Track context menu > Search related Tracks - + Preferred Cover Art Fetcher Resolution - + Fetch cover art from coverartarchive.com by using Import Metadata From Musicbrainz. - + Note: ">1200 px" can fetch up to very large cover arts. - + >1200 px (if available) - + 1200 px (if available) - + 500 px - + 250 px - + Settings Directory - + The Mixxx settings directory contains the library database, various configuration files, log files, track analysis data, as well as custom controller mappings. - + Edit those files only if you know what you are doing and only while Mixxx is not running. - + Open Mixxx Settings Folder - + Library Row Height: Library Row Height: - + Use relative paths for playlist export if possible Use relative paths for playlist export if possible - + ... ... - + px px - + Synchronize library track metadata from/to file tags - + Automatically write modified track metadata from the library into file tags and reimport metadata from updated file tags into the library - + Synchronize Serato track metadata from/to file tags (experimental) - + Keeps track color, beat grid, bpm lock, cue points, and loops synchronized with SERATO_MARKERS/MARKERS2 file tags.<br/><br/>WARNING: Enabling this option also enables the reimport of Serato metadata after files have been modified outside of Mixxx. On reimport existing metadata in Mixxx is replaced with the metadata found in file tags. Custom metadata not included in file tags like loop colors is lost. - + Edit metadata after clicking selected track Edit metadata after clicking selected track - + Search-as-you-type timeout: Search-as-you-type timeout: - + ms ms - + Load track to next available deck Load track to next available deck - + External Libraries External Libraries - + You will need to restart Mixxx for these settings to take effect. You will need to restart Mixxx for these settings to take effect. - + Show Rhythmbox Library Show Rhythmbox Library - + Track Metadata Synchronization / Playlists - + Add track to Auto DJ queue (bottom) - + Add track to Auto DJ queue (top) - + Ignore - + Show Banshee Library Show Banshee Library - + Show iTunes Library Show iTunes Library - + Show Traktor Library Show Traktor Library - + Show Rekordbox Library Show Rekordbox Library - + Show Serato Library Show Serato Library - + All external libraries shown are write protected. All external libraries shown are write protected. @@ -7262,33 +7524,33 @@ and allows you to pitch adjust them for harmonic mixing. DlgPrefRecord - + Choose recordings directory Choose recordings directory - - + + Recordings directory invalid - + Recordings directory must be set to an existing directory. - + Recordings directory must be set to a directory. - + Recordings directory not writable - + You do not have write access to %1. Choose a recordings directory you have write access to. @@ -7306,43 +7568,55 @@ and allows you to pitch adjust them for harmonic mixing. Browse... - - + + This will include the filepath for each track in the CUE file. +This option makes the CUE file less portable and can reveal personal +information from filepaths (i.e. username) + + + + + Enable File Annotation in CUE file + + + + + Quality Quality - + Tags Tags - + Title Title - + Author Author - + Album Album - + Output File Format Output File Format - + Compression Compression - + Lossy Lossy @@ -7357,12 +7631,12 @@ and allows you to pitch adjust them for harmonic mixing. - + Compression Level Compression Level - + Lossless Lossless @@ -7493,172 +7767,177 @@ The loudness target is approximate and assumes track pregain and main output lev DlgPrefSound - + %1 Hz %1 Hz - + Default (long delay) Default (long delay) - + Experimental (no delay) Experimental (no delay) - + Disabled (short delay) Disabled (short delay) - + Soundcard Clock Soundcard Clock - + Network Clock Network Clock - + Direct monitor (recording and broadcasting only) Direct monitor (recording and broadcasting only) - + Disabled Disabled - + Enabled Enabled - + Stereo Stereo - + Mono Mono - + To enable Realtime scheduling (currently disabled), see the %1. - + The %1 lists sound cards and controllers you may want to consider for using Mixxx. - + Mixxx DJ Hardware Guide - + + Find details in the Mixxx user manual + + + + Information - + Mixxx must be restarted before the multi-threaded RubberBand setting change will take effect. - + auto (<= 1024 frames/period) - + 2048 frames/period - + 4096 frames/period - + Are you sure? - + Distribute stereo channels into mono channels for parallel processing will result in a loss of mono compatibility and a diffuse stereo image. It is not recommended during broadcasting or recording. - + Are you sure you wish to proceed? - + No - + Yes, I know what I am doing - + Microphone inputs are out of time in the record & broadcast signal compared to what you hear. Microphone inputs are out of time in the record & broadcast signal compared to what you hear. - + Measure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. Measure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. - + Refer to the Mixxx User Manual for details. Refer to the Mixxx User Manual for details. - + Configured latency has changed. Configured latency has changed. - + Remeasure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. Remeasure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. - + Realtime scheduling is enabled. Realtime scheduling is enabled. - + Main output only - + Main and booth outputs - + %1 ms %1 ms - + Configuration error Configuration error @@ -7725,17 +8004,22 @@ The loudness target is approximate and assumes track pregain and main output lev ms - + + Deck and Bus outputs are for external mixers. They are post-fader and include effects and crossfader (for Auto DJ). For external mixing, make sure all Mixxx faders and EQ knobs are set to their default position (right- or double-click). + + + + 20 ms 20 ms - + Buffer Underflow Count Buffer Underflow Count - + 0 0 @@ -7760,12 +8044,12 @@ The loudness target is approximate and assumes track pregain and main output lev Input - + System Reported Latency System Reported Latency - + Enlarge your audio buffer if the underflow counter is increasing or you hear pops during playback. Enlarge your audio buffer if the underflow counter is increasing or you hear pops during playback. @@ -7795,7 +8079,7 @@ The loudness target is approximate and assumes track pregain and main output lev Hints and Diagnostics - + Downsize your audio buffer to improve Mixxx's responsiveness. Downsize your audio buffer to improve Mixxx's responsiveness. @@ -7842,7 +8126,7 @@ The loudness target is approximate and assumes track pregain and main output lev Vinyl Configuration - + Show Signal Quality in Skin Show Signal Quality in Skin @@ -7878,46 +8162,51 @@ The loudness target is approximate and assumes track pregain and main output lev + Pitch estimator + + + + Deck 1 - + Deck 2 - + Deck 3 - + Deck 4 - + Signal Quality Signal Quality - + http://www.xwax.co.uk http://www.xwax.co.uk - + Powered by xwax Powered by xwax - + Hints Hints - + Select sound devices for Vinyl Control in the Sound Hardware pane. Select sound devices for Vinyl Control in the Sound Hardware pane. @@ -7925,58 +8214,58 @@ The loudness target is approximate and assumes track pregain and main output lev DlgPrefWaveform - + Filtered Filtered - + HSV HSV - + RGB RGB - + Top - + Center - + Bottom - + 1/3 of waveform viewer options for "Text height limit" - + Entire waveform viewer - + OpenGL not available OpenGL not available - + dropped frames dropped frames - + Cached waveforms occupy %1 MiB on disk. Cached waveforms occupy %1 MiB on disk. @@ -7994,22 +8283,17 @@ The loudness target is approximate and assumes track pregain and main output lev Frame rate - + OpenGL Status - + Displays which OpenGL version is supported by the current platform. Displays which OpenGL version is supported by the current platform. - - Normalize waveform overview - Normalize waveform overview - - - + Average frame rate Average frame rate @@ -8025,7 +8309,7 @@ The loudness target is approximate and assumes track pregain and main output lev Default zoom level - + Displays the actual frame rate. Displays the actual frame rate. @@ -8060,7 +8344,7 @@ The loudness target is approximate and assumes track pregain and main output lev Low - + Show minute markers on waveform overview @@ -8105,7 +8389,7 @@ The loudness target is approximate and assumes track pregain and main output lev Global visual gain - + The waveform overview shows the waveform envelope of the entire track. Select from different types of displays for the waveform overview, which differ primarily in the level of detail shown in the waveform. The waveform overview shows the waveform envelope of the entire track. @@ -8174,22 +8458,22 @@ Select from different types of displays for the waveform, which differ primarily - + Caching Caching - + Mixxx caches the waveforms of your tracks on disk the first time you load a track. This reduces CPU usage when you are playing live but requires extra disk space. Mixxx caches the waveforms of your tracks on disk the first time you load a track. This reduces CPU usage when you are playing live but requires extra disk space. - + Enable waveform caching Enable waveform caching - + Generate waveforms when analyzing library Generate waveforms when analysing library @@ -8205,7 +8489,7 @@ Select from different types of displays for the waveform, which differ primarily - + Type @@ -8225,22 +8509,68 @@ Select from different types of displays for the waveform, which differ primarily % - - Play marker position - Play marker position + + Play marker position + Play marker position + + + + Moves the play marker position on the waveforms to the left, right or center (default). + Moves the play marker position on the waveforms to the left, right or center (default). + + + + Stem + + + + + Channel opacity + + + + + Channel opacity (outline) + + + + + Main stem opacity + + + + + Outline stem opacity + + + + + Move channel to foreground when volume is adjusted + + + + + Overview Waveforms + + + + + Gain + - - Moves the play marker position on the waveforms to the left, right or center (default). - Moves the play marker position on the waveforms to the left, right or center (default). + + Normalize to peak + - - Overview Waveforms + + Use Waveform "Global" gain and ReplayGain (if enabled) + 'Global' refers to the 'Global' visual gain in the scrolling waveform settings - + Clear Cached Waveforms Clear Cached Waveforms @@ -8729,7 +9059,7 @@ This can not be undone! BPM: - + Location: Location: @@ -8744,27 +9074,27 @@ This can not be undone! Comments - + BPM BPM - + Sets the BPM to 75% of the current value. Sets the BPM to 75% of the current value. - + 3/4 BPM 3/4 BPM - + Sets the BPM to 50% of the current value. Sets the BPM to 50% of the current value. - + Displays the BPM of the selected track. Displays the BPM of the selected track. @@ -8819,49 +9149,49 @@ This can not be undone! Genre - + ReplayGain: ReplayGain: - + Sets the BPM to 200% of the current value. Sets the BPM to 200% of the current value. - + Double BPM Double BPM - + Halve BPM Halve BPM - + Clear BPM and Beatgrid Clear BPM and Beatgrid - + Move to the previous item. "Previous" button Move to the previous item. - + &Previous &Previous - + Move to the next item. "Next" button Move to the next item. - + &Next &Next @@ -8886,12 +9216,12 @@ This can not be undone! Color - + Date added: Date added: - + Open in File Browser Open in File Browser @@ -8901,102 +9231,107 @@ This can not be undone! - + + Filesize: + + + + Track BPM: Track BPM: - + Converts beats detected by the analyzer into a fixed-tempo beatgrid. Use this setting if your tracks have a constant tempo (e.g. most electronic music). Often results in higher quality beatgrids, but will not do well on tracks that have tempo shifts. Converts beats detected by the analyser into a fixed-tempo beatgrid. Use this setting if your tracks have a constant tempo (e.g. most electronic music). Often results in higher quality beatgrids, but will not do well on tracks that have tempo shifts. - + Assume constant tempo Assume constant tempo - + Sets the BPM to 66% of the current value. Sets the BPM to 66% of the current value. - + 2/3 BPM 2/3 BPM - + Sets the BPM to 150% of the current value. Sets the BPM to 150% of the current value. - + 3/2 BPM 3/2 BPM - + Sets the BPM to 133% of the current value. Sets the BPM to 133% of the current value. - + 4/3 BPM 4/3 BPM - + Tap with the beat to set the BPM to the speed you are tapping. Tap with the beat to set the BPM to the speed you are tapping. - + Tap to Beat Tap to Beat - + Hint: Use the Library Analyze view to run BPM detection. Hint: Use the Library Analyse view to run BPM detection. - + Save changes and close the window. "OK" button Save changes and close the window. - + &OK &OK - + Discard changes and close the window. "Cancel" button Discard changes and close the window. - + Save changes and keep the window open. "Apply" button Save changes and keep the window open. - + &Apply &Apply - + &Cancel &Cancel - + (no color) @@ -9153,7 +9488,7 @@ Often results in higher quality beatgrids, but will not do well on tracks that h - + (no color) @@ -9355,27 +9690,27 @@ Often results in higher quality beatgrids, but will not do well on tracks that h EngineBuffer - + Soundtouch (faster) Soundtouch (faster) - + Rubberband (better) Rubberband (better) - + Rubberband R3 (near-hi-fi quality) - + Unknown, using Rubberband (better) - + Unknown, using Soundtouch @@ -9590,15 +9925,15 @@ Often results in higher quality beatgrids, but will not do well on tracks that h LegacySkinParser - - + + Safe Mode Enabled Shown when Mixxx is running in safe mode. Safe Mode Enabled - - + + No OpenGL support. Shown when Spinny can not be displayed. Please keep @@ -9610,57 +9945,57 @@ Shown when VuMeter can not be displayed. Please keep support. - + activate activate - + toggle toggle - + right right - + left left - + right small right small - + left small left small - + up up - + down down - + up small up small - + down small down small - + Shortcut Shortcut @@ -9668,62 +10003,62 @@ support. Library - + This or a parent directory is already in your library. - + This or a listed directory does not exist or is inaccessible. Aborting the operation to avoid library inconsistencies - - + + This directory can not be read. - + An unknown error occurred. Aborting the operation to avoid library inconsistencies - + Can't add Directory to Library - + Could not add <b>%1</b> to your library. %2 - + Can't remove Directory from Library - + An unknown error occurred. - + This directory does not exist or is inaccessible. - + Relink Directory - + Could not relink <b>%1</b> to <b>%2</b>. %3 @@ -9889,12 +10224,12 @@ Do you really want to overwrite it? Hidden Tracks - + Export to Engine DJ - + Tracks Tracks @@ -9902,37 +10237,37 @@ Do you really want to overwrite it? MixxxMainWindow - + Sound Device Busy Sound Device Busy - + <b>Retry</b> after closing the other application or reconnecting a sound device <b>Retry</b> after closing the other application or reconnecting a sound device - - - + + + <b>Reconfigure</b> Mixxx's sound device settings. <b>Reconfigure</b> Mixxx's sound device settings. - - + + Get <b>Help</b> from the Mixxx Wiki. Get <b>Help</b> from the Mixxx Wiki. - - - + + + <b>Exit</b> Mixxx. <b>Exit</b> Mixxx. - + Retry Retry @@ -9942,213 +10277,213 @@ Do you really want to overwrite it? - + Allow Mixxx to hide the menu bar? - + Hide Always show the menu bar? - + Always show - + The Mixxx menu bar is hidden and can be toggled with a single press of the <b>Alt</b> key.<br><br>Click <b>%1</b> to agree.<br><br>Click <b>%2</b> to disable that, for example if you don't use Mixxx with a keyboard.<br><br>You can change this setting any time in Preferences -> Interface.<br> Keep formatting tags <b> (bold text) and <br> (linebreak). %1 is the placeholder for the 'Always show' button label - + Ask me again - - + + Reconfigure Reconfigure - + Help Help - - + + Exit Exit - - + + Mixxx was unable to open all the configured sound devices. Mixxx was unable to open all the configured sound devices. - + Sound Device Error Sound Device Error - + <b>Retry</b> after fixing an issue <b>Retry</b> after fixing an issue - + No Output Devices No Output Devices - + Mixxx was configured without any output sound devices. Audio processing will be disabled without a configured output device. Mixxx was configured without any output sound devices. Audio processing will be disabled without a configured output device. - + <b>Continue</b> without any outputs. <b>Continue</b> without any outputs. - + Continue Continue - + Load track to Deck %1 Load track to Deck %1 - + Deck %1 is currently playing a track. Deck %1 is currently playing a track. - + Are you sure you want to load a new track? Are you sure you want to load a new track? - + There is no input device selected for this vinyl control. Please select an input device in the sound hardware preferences first. There is no input device selected for this vinyl control. Please select an input device in the sound hardware preferences first. - + There is no input device selected for this passthrough control. Please select an input device in the sound hardware preferences first. There is no input device selected for this passthrough control. Please select an input device in the sound hardware preferences first. - + There is no input device selected for this microphone. Do you want to select an input device? There is no input device selected for this microphone. Do you want to select an input device? - + There is no input device selected for this auxiliary. Do you want to select an input device? There is no input device selected for this auxiliary. Do you want to select an input device? - + Scan took %1 - + No changes detected. - - + + %1 tracks in total - + %1 new tracks found - + %1 moved tracks detected - + %1 tracks are missing (%2 total) - + %1 tracks have been rediscovered - + Library scan finished - + Error in skin file Error in skin file - + The selected skin cannot be loaded. The selected skin cannot be loaded. - + OpenGL Direct Rendering OpenGL Direct Rendering - + Direct rendering is not enabled on your machine.<br><br>This means that the waveform displays will be very<br><b>slow and may tax your CPU heavily</b>. Either update your<br>configuration to enable direct rendering, or disable<br>the waveform displays in the Mixxx preferences by selecting<br>"Empty" as the waveform display in the 'Interface' section. Direct rendering is not enabled on your machine.<br><br>This means that the waveform displays will be very<br><b>slow and may tax your CPU heavily</b>. Either update your<br>configuration to enable direct rendering, or disable<br>the waveform displays in the Mixxx preferences by selecting<br>"Empty" as the waveform display in the 'Interface' section. - - - + + + Confirm Exit Confirm Exit - + A deck is currently playing. Exit Mixxx? A deck is currently playing. Exit Mixxx? - + A sampler is currently playing. Exit Mixxx? A sampler is currently playing. Exit Mixxx? - + The preferences window is still open. The preferences window is still open. - + Discard any changes and exit Mixxx? Discard any changes and exit Mixxx? @@ -10164,13 +10499,13 @@ Do you want to select an input device? PlaylistFeature - + Lock Lock - - + + Playlists Playlists @@ -10180,58 +10515,63 @@ Do you want to select an input device? - + + Adopt current order + + + + Unlock all playlists - + Delete all unlocked playlists - + Unlock Unlock - - + + Confirm Deletion - + Do you really want to delete all unlocked playlists? - + Deleting %1 unlocked playlists.<br>This operation can not be undone! - + Playlists are ordered lists of tracks that allow you to plan your DJ sets. - + It may be necessary to skip some tracks in your prepared playlist or add some different tracks in order to maintain the energy of your audience. - + Some DJs construct playlists before they perform live, but others prefer to build them on-the-fly. Some DJs construct playlists before they perform live, but others prefer to build them on-the-fly. - + When using a playlist during a live DJ set, remember to always pay close attention to how your audience reacts to the music you've chosen to play. When using a playlist during a live DJ set, remember to always pay close attention to how your audience reacts to the music you've chosen to play. - + Create New Playlist Create New Playlist @@ -10330,59 +10670,59 @@ Do you want to select an input device? QMessageBox - + Upgrading Mixxx Upgrading Mixxx - + Mixxx now supports displaying cover art. Do you want to scan your library for cover files now? Mixxx now supports displaying cover art. Do you want to scan your library for cover files now? - + Scan Scan - + Later Later - + Upgrading Mixxx from v1.9.x/1.10.x. Upgrading Mixxx from v1.9.x/1.10.x. - + Mixxx has a new and improved beat detector. Mixxx has a new and improved beat detector. - + When you load tracks, Mixxx can re-analyze them and generate new, more accurate beatgrids. This will make automatic beatsync and looping more reliable. When you load tracks, Mixxx can re-analyse them and generate new, more accurate beatgrids. This will make automatic beatsync and looping more reliable. - + This does not affect saved cues, hotcues, playlists, or crates. This does not affect saved cues, hotcues, playlists, or crates. - + If you do not want Mixxx to re-analyze your tracks, choose "Keep Current Beatgrids". You can change this setting at any time from the "Beat Detection" section of the Preferences. If you do not want Mixxx to re-analyse your tracks, choose "Keep Current Beatgrids". You can change this setting at any time from the "Beat Detection" section of the Preferences. - + Keep Current Beatgrids Keep Current Beatgrids - + Generate New Beatgrids Generate New Beatgrids @@ -10496,69 +10836,82 @@ Do you want to scan your library for cover files now? 14-bit (MSB) - + Main + Audio path indetifier - + Booth + Audio path indetifier Booth - + Headphones + Audio path indetifier Headphones - + Left Bus + Audio path indetifier Left Bus - + Center Bus + Audio path indetifier Center Bus - + Right Bus + Audio path indetifier Right Bus - + Invalid Bus + Audio path indetifier Invalid Bus - + Deck + Audio path indetifier Deck - + Record/Broadcast + Audio path indetifier Record/Broadcast - + Vinyl Control + Audio path indetifier Vinyl Control - + Microphone + Audio path indetifier Microphone - + Auxiliary + Audio path indetifier Auxiliary - + Unknown path type %1 + Audio path Unknown path type %1 @@ -10893,47 +11246,49 @@ With width at zero, this allows for manually sweeping over the entire delay rang Width - + Metronome Metronome - + + The Mixxx Team - + Adds a metronome click sound to the stream Adds a metronome click sound to the stream - + BPM BPM - + Set the beats per minute value of the click sound Set the beats per minute value of the click sound - + Sync Sync - + Synchronizes the BPM with the track if it can be retrieved Synchronizes the BPM with the track if it can be retrieved - + + Gain - + Set the gain of metronome click sound @@ -11737,14 +12092,14 @@ Fully right: end of the effect period - - + + encoder failure - - + + Failed to apply the selected settings. @@ -11950,15 +12305,86 @@ and the processed output signal as close as possible in perceived loudness + + Auto Gain Control + + + + + AGC + + + + + Auto Gain Control (AGC) automatically adjusts the gain of an audio signal to maintain a consistent output level. + + + + Threshold (dBFS) + Threshold + + + The Threshold knob adjusts the level above which the effect starts enhancing the input signal + + + + + Target (dBFS) + + + + + Target + + + + + The Target knob adjusts the desired target level of the output signal + + + + + Gain (dB) + + + + + The Gain knob adjusts the maximum amount of gain that the effect will apply + + + + + Knee (dB) + + + + + The Knee knob defines the range around the Threshold where gain changes are applied gradually, +ensuring smooth transitions and avoiding abrupt level shifts. + + + + + The Attack knob sets the time that determines how fast the auto gain +will set in once the signal exceeds the threshold + + + + + The Release knob sets the time that determines how fast the auto gain will recover from the gain +adjustment once the signal falls under the threshold. Depending on the input signal, short release times +may introduce a 'pumping' effect and/or distortion. + + The Threshold knob adjusts the level above which the compressor starts attenuating the input signal @@ -11987,6 +12413,7 @@ At a ratio of 1:1 no compression is happening, as the input is exactly the outpu + Knee @@ -11997,11 +12424,13 @@ At a ratio of 1:1 no compression is happening, as the input is exactly the outpu + Attack (ms) + Attack @@ -12013,11 +12442,13 @@ will set in once the signal exceeds the threshold + Release (ms) + Release @@ -12046,12 +12477,12 @@ may introduce a 'pumping' effect and/or distortion. - + built-in - + missing @@ -12086,42 +12517,42 @@ may introduce a 'pumping' effect and/or distortion. - + Empty - + Simple - + Filtered - + HSV - + VSyncTest - + RGB - + Stacked - + Unknown @@ -12382,193 +12813,193 @@ may introduce a 'pumping' effect and/or distortion. ShoutConnection - - + + Mixxx encountered a problem Mixxx encountered a problem - + Could not allocate shout_t Could not allocate shout_t - + Could not allocate shout_metadata_t Could not allocate shout_metadata_t - + Error setting non-blocking mode: Error setting non-blocking mode: - + Error setting tls mode: Error setting tls mode: - + Error setting hostname! Error setting hostname! - + Error setting port! Error setting port! - + Error setting password! Error setting password! - + Error setting mount! Error setting mount! - + Error setting username! Error setting username! - + Error setting stream name! Error setting stream name! - + Error setting stream description! Error setting stream description! - + Error setting stream genre! Error setting stream genre! - + Error setting stream url! Error setting stream url! - + Error setting stream IRC! Error setting stream IRC! - + Error setting stream AIM! Error setting stream AIM! - + Error setting stream ICQ! Error setting stream ICQ! - + Error setting stream public! Error setting stream public! - + Unknown stream encoding format! - + Use a libshout version with %1 enabled - + Error setting stream encoding format! - + Broadcasting at 96 kHz with Ogg Vorbis is not currently supported. Please try a different sample rate or switch to a different encoding. Broadcasting at 96 kHz with Ogg Vorbis is not currently supported. Please try a different sample rate or switch to a different encoding. - + See https://github.com/mixxxdj/mixxx/issues/5701 for more information. - + Unsupported sample rate Unsupported sample rate - + Error setting bitrate Error setting bitrate - + Error: unknown server protocol! Error: unknown server protocol! - + Error: Shoutcast only supports MP3 and AAC encoders - + Error setting protocol! Error setting protocol! - + Network cache overflow Network cache overflow - + Connection error Connection error - + One of the Live Broadcasting connections raised this error:<br><b>Error with connection '%1':</b><br> One of the Live Broadcasting connections raised this error:<br><b>Error with connection '%1':</b><br> - + Connection message Connection message - + <b>Message from Live Broadcasting connection '%1':</b><br> <b>Message from Live Broadcasting connection '%1':</b><br> - + Lost connection to streaming server and %1 attempts to reconnect have failed. Lost connection to streaming server and %1 attempts to reconnect have failed. - + Lost connection to streaming server. Lost connection to streaming server. - + Please check your connection to the Internet. Please check your connection to the Internet. - + Can't connect to streaming server Can't connect to streaming server - + Please check your connection to the Internet and verify that your username and password are correct. Please check your connection to the Internet and verify that your username and password are correct. @@ -12576,7 +13007,7 @@ may introduce a 'pumping' effect and/or distortion. SoftwareWaveformWidget - + Filtered Filtered @@ -12584,23 +13015,23 @@ may introduce a 'pumping' effect and/or distortion. SoundManager - - + + a device a device - + An unknown error occurred An unknown error occurred - + Two outputs cannot share channels on "%1" Two outputs cannot share channels on "%1" - + Error opening "%1" Error opening "%1" @@ -12785,7 +13216,7 @@ may introduce a 'pumping' effect and/or distortion. - + Spinning Vinyl Spinning Vinyl @@ -12967,7 +13398,7 @@ may introduce a 'pumping' effect and/or distortion. - + Cover Art Cover Art @@ -13157,243 +13588,243 @@ may introduce a 'pumping' effect and/or distortion. Holds the gain of the low EQ to zero while active. - + Displays the tempo of the loaded track in BPM (beats per minute). Displays the tempo of the loaded track in BPM (beats per minute). - + Tempo Tempo - + Key The musical key of a track Key - + BPM Tap BPM Tap - + When tapped repeatedly, adjusts the BPM to match the tapped BPM. When tapped repeatedly, adjusts the BPM to match the tapped BPM. - + Adjust BPM Down Adjust BPM Down - + When tapped, adjusts the average BPM down by a small amount. When tapped, adjusts the average BPM down by a small amount. - + Adjust BPM Up Adjust BPM Up - + When tapped, adjusts the average BPM up by a small amount. When tapped, adjusts the average BPM up by a small amount. - + Adjust Beats Earlier Adjust Beats Earlier - + When tapped, moves the beatgrid left by a small amount. When tapped, moves the beatgrid left by a small amount. - + Adjust Beats Later Adjust Beats Later - + When tapped, moves the beatgrid right by a small amount. When tapped, moves the beatgrid right by a small amount. - + Tempo and BPM Tap Tempo and BPM Tap - + Show/hide the spinning vinyl section. Show/hide the spinning vinyl section. - + Keylock Keylock - + Toggling keylock during playback may result in a momentary audio glitch. Toggling keylock during playback may result in a momentary audio glitch. - + Toggle visibility of Loop Controls - + Toggle visibility of Beatjump Controls - + Toggle visibility of Rate Control Toggle visibility of Rate Control - + Toggle visibility of Key Controls - + (while previewing) - + Places a cue point at the current position on the waveform. Places a cue point at the current position on the waveform. - + Stops track at cue point, OR go to cue point and play after release (CUP mode). Stops track at cue point, OR go to cue point and play after release (CUP mode). - + Set cue point (Pioneer/Mixxx/Numark mode), set cue point and play after release (CUP mode) OR preview from it (Denon mode). Set cue point (Pioneer/Mixxx/Numark mode), set cue point and play after release (CUP mode) OR preview from it (Denon mode). - + Is latching the playing state. - + Seeks the track to the cue point and stops. Seeks the track to the cue point and stops. - + Play Play - + Plays track from the cue point. Plays track from the cue point. - + Sends the selected channel's audio to the headphone output, selected in Preferences -> Sound Hardware. Sends the selected channel's audio to the headphone output, selected in Preferences -> Sound Hardware. - + (This skin should be updated to use Sync Lock!) - + Enable Sync Lock - + Tap to sync the tempo to other playing tracks or the sync leader. - + Enable Sync Leader - + When enabled, this device will serve as the sync leader for all other decks. - + This is relevant when a dynamic tempo track is loaded to a sync leader deck.In that case, other synced devices will adopt the changing tempo. - + Changes the track playback speed (affects both the tempo and the pitch). If keylock is enabled, only the tempo is affected. Changes the track playback speed (affects both the tempo and the pitch). If keylock is enabled, only the tempo is affected. - + Tempo Range Display - + Displays the current range of the tempo slider. - + Un-ejects when no track is loaded, i.e. reloads the track that was ejected last (of any deck). - + Delete selected hotcue. - + Track Comment - + Displays the comment tag of the loaded track. - + Opens separate artwork viewer. - + Effect Chain Preset Settings - + Show the effect chain settings menu for this unit. - + Select and configure a hardware device for this input Select and configure a hardware device for this input - + Recording Duration Recording Duration @@ -13616,949 +14047,984 @@ may introduce a 'pumping' effect and/or distortion. - + When tapped repeatedly, adjusts the tempo to match the tapped BPM. + + + Click to open the tempo/BPM editor + + + + + It also shows a colored bar if Key colors are enabled in the Preferences. + + + The bar will be split vertically if the track's key is in between full keys. + + + + Tempo Tap - + Rate Tap and BPM Tap - + + Set Tempo + + + + + Set the desired tempo in BPM. If the track currently has no BPM detected, set the desired tempo in percent. + + + + Adjust beatgrid by exactly one half beat. Usable only on tracks with constant tempo. - + Revert last BPM/Beatgrid Change - + Revert last BPM/Beatgrid Change of the loaded track. - - + + Toggle the BPM/beatgrid lock - + Tempo and Rate Tap - + Tempo, Rate Tap and BPM Tap - + Shift cues earlier - - + + Shift cues imported from Serato or Rekordbox if they are slightly off time. - + Left click: shift 10 milliseconds earlier - + Right click: shift 1 millisecond earlier - + Shift cues later - + Left click: shift 10 milliseconds later - + Right click: shift 1 millisecond later - - - + + + Drag a Hotcue button here to continue playing after releasing the Hotcue. - + Hint: Change the default cue mode in Preferences -> Decks. - + Mutes the selected channel's audio in the main output. - + Main mix enable - + Hold or short click for latching to mix this input into the main output. - + + Reloads the last replaced track. If no track is loaded reloads the second-last ejected track. + + + + If hotcue is a loop cue, toggles the loop and jumps to if the loop is behind the play position. - + If the play position is inside an active loop, stores the loop as loop cue. - + Drag this button onto another Hotcue button to move it there (change its index). If the other hotcue is set, the two are swapped. - + Expand/Collapse Samplers - + Toggle expanded samplers view. - + Displays the duration of the running recording. Displays the duration of the running recording. - + Auto DJ is active - + Red for when needle skip has been detected. - + Hot Cue - Track will seek to nearest previous hotcue point. Hot Cue - Track will seek to nearest previous hotcue point. - + Sets the track Loop-In Marker to the current play position. Sets the track Loop-In Marker to the current play position. - + Press and hold to move Loop-In Marker. Press and hold to move Loop-In Marker. - + Jump to Loop-In Marker. Jump to Loop-In Marker. - + Sets the track Loop-Out Marker to the current play position. Sets the track Loop-Out Marker to the current play position. - + Press and hold to move Loop-Out Marker. Press and hold to move Loop-Out Marker. - + Jump to Loop-Out Marker. Jump to Loop-Out Marker. - + If the track has no beats the unit is seconds. - + Beatloop Size Beatloop Size - + Select the size of the loop in beats to set with the Beatloop button. Select the size of the loop in beats to set with the Beatloop button. - + Changing this resizes the loop if the loop already matches this size. Changing this resizes the loop if the loop already matches this size. - + Halve the size of an existing beatloop, or halve the size of the next beatloop set with the Beatloop button. Halve the size of an existing beatloop, or halve the size of the next beatloop set with the Beatloop button. - + Double the size of an existing beatloop, or double the size of the next beatloop set with the Beatloop button. Double the size of an existing beatloop, or double the size of the next beatloop set with the Beatloop button. - + Start a loop over the set number of beats. Start a loop over the set number of beats. - + Temporarily enable a rolling loop over the set number of beats. Temporarily enable a rolling loop over the set number of beats. - + Beatloop Anchor - + Define whether the loop is created and adjusted from its staring point or ending point. - + Beatjump/Loop Move Size Beatjump/Loop Move Size - + Select the number of beats to jump or move the loop with the Beatjump Forward/Backward buttons. Select the number of beats to jump or move the loop with the Beatjump Forward/Backward buttons. - + Beatjump Forward Beatjump Forward - + Jump forward by the set number of beats. Jump forward by the set number of beats. - + Move the loop forward by the set number of beats. Move the loop forward by the set number of beats. - + Jump forward by 1 beat. Jump forward by 1 beat. - + Move the loop forward by 1 beat. Move the loop forward by 1 beat. - + Beatjump Backward Beatjump Backward - + Jump backward by the set number of beats. Jump backward by the set number of beats. - + Move the loop backward by the set number of beats. Move the loop backward by the set number of beats. - + Jump backward by 1 beat. Jump backward by 1 beat. - + Move the loop backward by 1 beat. Move the loop backward by 1 beat. - + Reloop Reloop - + If the loop is ahead of the current position, looping will start when the loop is reached. If the loop is ahead of the current position, looping will start when the loop is reached. - + Works only if Loop-In and Loop-Out Marker are set. Works only if Loop-In and Loop-Out Marker are set. - + Enable loop, jump to Loop-In Marker, and stop playback. Enable loop, jump to Loop-In Marker, and stop playback. - + Displays the elapsed and/or remaining time of the track loaded. Displays the elapsed and/or remaining time of the track loaded. - + Click to toggle between time elapsed/remaining time/both. Click to toggle between time elapsed/remaining time/both. - + Hint: Change the time format in Preferences -> Decks. - + Show/hide intro & outro markers and associated buttons. Show/hide intro & outro markers and associated buttons. - + + Ensure all waveforms to have the same height across all channels. By default, when displaying the stem controls, waveform for channel that have no stem may render with a shorter height in order to honor the waveform container size you have requested.. + + + + Intro Start Marker Intro Start Marker - - - - + + + + If marker is set, jumps to the marker. If marker is set, jumps to the marker. - - - - + + + + If marker is not set, sets the marker to the current play position. If marker is not set, sets the marker to the current play position. - - - - + + + + If marker is set, clears the marker. If marker is set, clears the marker. - + Intro End Marker Intro End Marker - + Outro Start Marker Outro Start Marker - + Outro End Marker Outro End Marker - + Mix Mix - + Adjust the mixing of the dry (input) signal with the wet (output) signal of the effect unit Adjust the mixing of the dry (input) signal with the wet (output) signal of the effect unit - + D/W mode: Crossfade between dry and wet D/W mode: Crossfade between dry and wet - + D+W mode: Add wet to dry D+W mode: Add wet to dry - + Mix Mode Mix Mode - + Adjust how the dry (input) signal is mixed with the wet (output) signal of the effect unit Adjust how the dry (input) signal is mixed with the wet (output) signal of the effect unit - + Dry/Wet mode (crossed lines): Mix knob crossfades between dry and wet Use this to change the sound of the track with EQ and filter effects. Dry/Wet mode (crossed lines): Mix knob crossfades between dry and wet Use this to change the sound of the track with EQ and filter effects. - + Dry+Wet mode (flat dry line): Mix knob adds wet to dry Use this to change only the effected (wet) signal with EQ and filter effects. Dry+Wet mode (flat dry line): Mix knob adds wet to dry Use this to change only the effected (wet) signal with EQ and filter effects. - + Route the main mix through this effect unit. - + Route the left crossfader bus through this effect unit. Route the left crossfader bus through this effect unit. - + Route the right crossfader bus through this effect unit. Route the right crossfader bus through this effect unit. - + Right side active: parameter moves with right half of Meta Knob turn Right side active: parameter moves with right half of Meta Knob turn - + Stem Label - + Name of the stem stored in the stem file - + Text is displayed in the stem color stored in the stem file - + this stem color is also used for the waveform of this stem - + Stem Mute - + Toggle the stem mute/unmuted - + Stem Volume Knob - + Adjusts the volume of the stem - + Skin Settings Menu Skin Settings Menu - + Show/hide skin settings menu Show/hide skin settings menu - + Save Sampler Bank Save Sampler Bank - + Save the collection of samples loaded in the samplers. Save the collection of samples loaded in the samplers. - + Load Sampler Bank Load Sampler Bank - + Load a previously saved collection of samples into the samplers. Load a previously saved collection of samples into the samplers. - + Show Effect Parameters Show Effect Parameters - + Enable Effect Enable Effect - + Meta Knob Link Meta Knob Link - + Set how this parameter is linked to the effect's Meta Knob. Set how this parameter is linked to the effect's Meta Knob. - + Meta Knob Link Inversion Meta Knob Link Inversion - + Inverts the direction this parameter moves when turning the effect's Meta Knob. Inverts the direction this parameter moves when turning the effect's Meta Knob. - + Super Knob Super Knob - + Next Chain Next Chain - + Previous Chain Previous Chain - + Next/Previous Chain Next/Previous Chain - + Clear Clear - + Clear the current effect. Clear the current effect. - + Toggle Toggle - + Toggle the current effect. Toggle the current effect. - + Next Next - + Clear Unit Clear Unit - + Clear effect unit. Clear effect unit. - + Show/hide parameters for effects in this unit. Show/hide parameters for effects in this unit. - + Toggle Unit Toggle Unit - + Enable or disable this whole effect unit. Enable or disable this whole effect unit. - + Controls the Meta Knob of all effects in this unit together. Controls the Meta Knob of all effects in this unit together. - + Load next effect chain preset into this effect unit. Load next effect chain preset into this effect unit. - + Load previous effect chain preset into this effect unit. Load previous effect chain preset into this effect unit. - + Load next or previous effect chain preset into this effect unit. Load next or previous effect chain preset into this effect unit. - - - - - - - - - + + + + + + + + + Assign Effect Unit Assign Effect Unit - + Assign this effect unit to the channel output. Assign this effect unit to the channel output. - + Route the headphone channel through this effect unit. Route the headphone channel through this effect unit. - + Route this deck through the indicated effect unit. Route this deck through the indicated effect unit. - + Route this sampler through the indicated effect unit. Route this sampler through the indicated effect unit. - + Route this microphone through the indicated effect unit. Route this microphone through the indicated effect unit. - + Route this auxiliary input through the indicated effect unit. Route this auxiliary input through the indicated effect unit. - + The effect unit must also be assigned to a deck or other sound source to hear the effect. The effect unit must also be assigned to a deck or other sound source to hear the effect. - + Switch to the next effect. Switch to the next effect. - + Previous Previous - + Switch to the previous effect. Switch to the previous effect. - + Next or Previous Next or Previous - + Switch to either the next or previous effect. Switch to either the next or previous effect. - + Meta Knob Meta Knob - + Controls linked parameters of this effect Controls linked parameters of this effect - + Effect Focus Button Effect Focus Button - + Focuses this effect. Focuses this effect. - + Unfocuses this effect. Unfocuses this effect. - + Refer to the web page on the Mixxx wiki for your controller for more information. Refer to the web page on the Mixxx wiki for your controller for more information. - + Effect Parameter Effect Parameter - + Adjusts a parameter of the effect. Adjusts a parameter of the effect. - + Inactive: parameter not linked Inactive: parameter not linked - + Active: parameter moves with Meta Knob Active: parameter moves with Meta Knob - + Left side active: parameter moves with left half of Meta Knob turn Left side active: parameter moves with left half of Meta Knob turn - + Left and right side active: parameter moves across range with half of Meta Knob turn and back with the other half Left and right side active: parameter moves across range with half of Meta Knob turn and back with the other half - - + + Equalizer Parameter Kill Equalizer Parameter Kill - - + + Holds the gain of the EQ to zero while active. Holds the gain of the EQ to zero while active. - + Quick Effect Super Knob Quick Effect Super Knob - + Quick Effect Super Knob (control linked effect parameters). Quick Effect Super Knob (control linked effect parameters). - + Hint: Change the default Quick Effect mode in Preferences -> Equalizers. Hint: Change the default Quick Effect mode in Preferences -> Equalizers. - + Equalizer Parameter Equalizer Parameter - + Adjusts the gain of the EQ filter. Adjusts the gain of the EQ filter. - + Hint: Change the default EQ mode in Preferences -> Equalizers. Hint: Change the default EQ mode in Preferences -> Equalizers. - - + + Adjust Beatgrid Adjust Beatgrid - + Adjust beatgrid so the closest beat is aligned with the current play position. Adjust beatgrid so the closest beat is aligned with the current play position. - - + + Adjust beatgrid to match another playing deck. Adjust beatgrid to match another playing deck. - + If quantize is enabled, snaps to the nearest beat. If quantize is enabled, snaps to the nearest beat. - + Quantize Quantize - + Toggles quantization. Toggles quantization. - + Loops and cues snap to the nearest beat when quantization is enabled. Loops and cues snap to the nearest beat when quantization is enabled. - + Reverse Reverse - + Reverses track playback during regular playback. Reverses track playback during regular playback. - + Puts a track into reverse while being held (Censor). Puts a track into reverse while being held (Censor). - + Playback continues where the track would have been if it had not been temporarily reversed. Playback continues where the track would have been if it had not been temporarily reversed. - - - + + + Play/Pause Play/Pause - + Jumps to the beginning of the track. Jumps to the beginning of the track. - + Syncs the tempo (BPM) and phase to that of the other track, if BPM is detected on both. Syncs the tempo (BPM) and phase to that of the other track, if BPM is detected on both. - + Syncs the tempo (BPM) to that of the other track, if BPM is detected on both. Syncs the tempo (BPM) to that of the other track, if BPM is detected on both. - + Sync and Reset Key Sync and Reset Key - + Increases the pitch by one semitone. Increases the pitch by one semitone. - + Decreases the pitch by one semitone. Decreases the pitch by one semitone. - + Enable Vinyl Control Enable Vinyl Control - + When disabled, the track is controlled by Mixxx playback controls. When disabled, the track is controlled by Mixxx playback controls. - + When enabled, the track responds to external vinyl control. When enabled, the track responds to external vinyl control. - + Enable Passthrough Enable Passthrough - + Indicates that the audio buffer is too small to do all audio processing. Indicates that the audio buffer is too small to do all audio processing. - + Displays cover artwork of the loaded track. Displays cover artwork of the loaded track. - + Displays options for editing cover artwork. Displays options for editing cover artwork. - + Star Rating Star Rating - + Assign ratings to individual tracks by clicking the stars. Assign ratings to individual tracks by clicking the stars. @@ -14693,33 +15159,33 @@ Use this to change only the effected (wet) signal with EQ and filter effects.Microphone Talkover Ducking Strength - + Prevents the pitch from changing when the rate changes. Prevents the pitch from changing when the rate changes. - + Changes the number of hotcue buttons displayed in the deck Changes the number of hotcue buttons displayed in the deck - + Starts playing from the beginning of the track. Starts playing from the beginning of the track. - + Jumps to the beginning of the track and stops. Jumps to the beginning of the track and stops. - - + + Plays or pauses the track. Plays or pauses the track. - + (while playing) (while playing) @@ -14739,215 +15205,215 @@ Use this to change only the effected (wet) signal with EQ and filter effects. - + (while stopped) (while stopped) - + Cue Cue - + Headphone Headphone - + Mute Mute - + Old Synchronize Old Synchronize - + Syncs to the first deck (in numerical order) that is playing a track and has a BPM. Syncs to the first deck (in numerical order) that is playing a track and has a BPM. - + If no deck is playing, syncs to the first deck that has a BPM. If no deck is playing, syncs to the first deck that has a BPM. - + Decks can't sync to samplers and samplers can only sync to decks. Decks can't sync to samplers and samplers can only sync to decks. - + Hold for at least a second to enable sync lock for this deck. Hold for at least a second to enable sync lock for this deck. - + Decks with sync locked will all play at the same tempo, and decks that also have quantize enabled will always have their beats lined up. Decks with sync locked will all play at the same tempo, and decks that also have quantize enabled will always have their beats lined up. - + Resets the key to the original track key. Resets the key to the original track key. - + Speed Control Speed Control - - - + + + Changes the track pitch independent of the tempo. Changes the track pitch independent of the tempo. - + Increases the pitch by 10 cents. Increases the pitch by 10 cents. - + Decreases the pitch by 10 cents. Decreases the pitch by 10 cents. - + Pitch Adjust Pitch Adjust - + Adjust the pitch in addition to the speed slider pitch. Adjust the pitch in addition to the speed slider pitch. - + Opens a menu to clear hotcues or edit their labels and colors. Opens a menu to clear hotcues or edit their labels and colors. - + Drag this button onto a Play button while previewing to continue playback after release. - + Dragging with Shift key pressed will not start previewing the hotcue. - + Record Mix Record Mix - + Toggle mix recording. Toggle mix recording. - + Enable Live Broadcasting Enable Live Broadcasting - + Stream your mix over the Internet. Stream your mix over the Internet. - + Provides visual feedback for Live Broadcasting status: Provides visual feedback for Live Broadcasting status: - + disabled, connecting, connected, failure. disabled, connecting, connected, failure. - + When enabled, the deck directly plays the audio arriving on the vinyl input. When enabled, the deck directly plays the audio arriving on the vinyl input. - + Playback will resume where the track would have been if it had not entered the loop. Playback will resume where the track would have been if it had not entered the loop. - + Loop Exit Loop Exit - + Turns the current loop off. Turns the current loop off. - + Slip Mode Slip Mode - + When active, the playback continues muted in the background during a loop, reverse, scratch etc. When active, the playback continues muted in the background during a loop, reverse, scratch etc. - + Once disabled, the audible playback will resume where the track would have been. Once disabled, the audible playback will resume where the track would have been. - + Track Key The musical key of a track Track Key - + Displays the musical key of the loaded track. Displays the musical key of the loaded track. - + Clock Clock - + Displays the current time. Displays the current time. - + Audio Latency Usage Meter Audio Latency Usage Meter - + Displays the fraction of latency used for audio processing. Displays the fraction of latency used for audio processing. - + A high value indicates that audible glitches are likely. A high value indicates that audible glitches are likely. - + Do not enable keylock, effects or additional decks in this situation. Do not enable keylock, effects or additional decks in this situation. - + Audio Latency Overload Indicator Audio Latency Overload Indicator @@ -14987,259 +15453,259 @@ Use this to change only the effected (wet) signal with EQ and filter effects.Activate Vinyl Control from the Menu -> Options. - + Displays the current musical key of the loaded track after pitch shifting. Displays the current musical key of the loaded track after pitch shifting. - + Fast Rewind Fast Rewind - + Fast rewind through the track. Fast rewind through the track. - + Fast Forward Fast Forward - + Fast forward through the track. Fast forward through the track. - + Jumps to the end of the track. Jumps to the end of the track. - + Sets the pitch to a key that allows a harmonic transition from the other track. Requires a detected key on both involved decks. Sets the pitch to a key that allows a harmonic transition from the other track. Requires a detected key on both involved decks. - - - + + + Pitch Control Pitch Control - + Pitch Rate Pitch Rate - + Displays the current playback rate of the track. Displays the current playback rate of the track. - + Repeat Repeat - + When active the track will repeat if you go past the end or reverse before the start. When active the track will repeat if you go past the end or reverse before the start. - + Eject Eject - + Ejects track from the player. Ejects track from the player. - + Hotcue Hotcue - + If hotcue is set, jumps to the hotcue. If hotcue is set, jumps to the hotcue. - + If hotcue is not set, sets the hotcue to the current play position. If hotcue is not set, sets the hotcue to the current play position. - + Vinyl Control Mode Vinyl Control Mode - + Absolute mode - track position equals needle position and speed. Absolute mode - track position equals needle position and speed. - + Relative mode - track speed equals needle speed regardless of needle position. Relative mode - track speed equals needle speed regardless of needle position. - + Constant mode - track speed equals last known-steady speed regardless of needle input. Constant mode - track speed equals last known-steady speed regardless of needle input. - + Vinyl Status Vinyl Status - + Provides visual feedback for vinyl control status: Provides visual feedback for vinyl control status: - + Green for control enabled. Green for control enabled. - + Blinking yellow for when the needle reaches the end of the record. Blinking yellow for when the needle reaches the end of the record. - + Loop-In Marker Loop-In Marker - + Loop-Out Marker Loop-Out Marker - + Loop Halve Loop Halve - + Halves the current loop's length by moving the end marker. Halves the current loop's length by moving the end marker. - + Deck immediately loops if past the new endpoint. Deck immediately loops if past the new endpoint. - + Loop Double Loop Double - + Doubles the current loop's length by moving the end marker. Doubles the current loop's length by moving the end marker. - + Beatloop Beatloop - + Toggles the current loop on or off. Toggles the current loop on or off. - + Works only if Loop-In and Loop-Out marker are set. Works only if Loop-In and Loop-Out marker are set. - + Vinyl Cueing Mode Vinyl Cueing Mode - + Determines how cue points are treated in vinyl control Relative mode: Determines how cue points are treated in vinyl control Relative mode: - + Off - Cue points ignored. Off - Cue points ignored. - + One Cue - If needle is dropped after the cue point, track will seek to that cue point. One Cue - If needle is dropped after the cue point, track will seek to that cue point. - + Track Time Track Time - + Track Duration Track Duration - + Displays the duration of the loaded track. Displays the duration of the loaded track. - + Information is loaded from the track's metadata tags. Information is loaded from the track's metadata tags. - + Track Artist Track Artist - + Displays the artist of the loaded track. Displays the artist of the loaded track. - + Track Title Track Title - + Displays the title of the loaded track. Displays the title of the loaded track. - + Track Album Track Album - + Displays the album name of the loaded track. Displays the album name of the loaded track. - + Track Artist/Title Track Artist/Title - + Displays the artist and title of the loaded track. Displays the artist and title of the loaded track. @@ -15467,47 +15933,75 @@ This can not be undone! WCueMenuPopup - + Cue number Cue number - + Cue position Cue position - + Edit cue label Edit cue label - + Label... Label... - + Delete this cue Delete this cue - - Toggle this cue type between normal cue and saved loop + + Turn this cue into a regular hotcue + + + + + Turn this cue into a saved loop + + + + + Left-click: Use the old size if known or the current beatloop size as the loop size + + + + + Right-click: Use the current play position as new loop end if it is after the cue + + + + + Turn this cue into a saved forward jump. + + is a linebreak. Try to not to extend the translation beyond the length of the longest source line so the tooltip remains compact. + + + + + Turn this cue into a saved backward jump (one shot loop). - - Left-click: Use the old size or the current beatloop size as the loop size + + Left-click: Use the old size if known or the current play position as jump start position +If this is already a jump cue, swap the jump position and the cue/target position. - - Right-click: Use the current play position as loop end if it is after the cue + + Right-click: use current play position as new jump start position - + Hotcue #%1 Hotcue #%1 @@ -15809,171 +16303,181 @@ This can not be undone! + Show Auto DJ + + + + + Switch to the Auto DJ view. + + + + &Full Screen &Full Screen - + Display Mixxx using the full screen Display Mixxx using the full screen - + &Options &Options - + &Vinyl Control &Vinyl Control - + Use timecoded vinyls on external turntables to control Mixxx Use timecoded vinyls on external turntables to control Mixxx - + Enable Vinyl Control &%1 Enable Vinyl Control &%1 - + &Record Mix &Record Mix - + Record your mix to a file Record your mix to a file - + Ctrl+R Ctrl+R - + Enable Live &Broadcasting Enable Live &Broadcasting - + Stream your mixes to a shoutcast or icecast server Stream your mixes to a shoutcast or icecast server - + Ctrl+L Ctrl+L - + Enable &Keyboard Shortcuts Enable &Keyboard Shortcuts - + Toggles keyboard shortcuts on or off Toggles keyboard shortcuts on or off - + Ctrl+` Ctrl+` - + &Preferences &Preferences - + Change Mixxx settings (e.g. playback, MIDI, controls) Change Mixxx settings (e.g. playback, MIDI, controls) - + &Developer &Developer - + &Reload Skin &Reload Skin - + Reload the skin Reload the skin - + Ctrl+Shift+R Ctrl+Shift+R - + Developer &Tools Developer &Tools - + Opens the developer tools dialog Opens the developer tools dialog - + Ctrl+Shift+T Ctrl+Shift+T - + Stats: &Experiment Bucket Stats: &Experiment Bucket - + Enables experiment mode. Collects stats in the EXPERIMENT tracking bucket. Enables experiment mode. Collects stats in the EXPERIMENT tracking bucket. - + Ctrl+Shift+E Ctrl+Shift+E - + Stats: &Base Bucket Stats: &Base Bucket - + Enables base mode. Collects stats in the BASE tracking bucket. Enables base mode. Collects stats in the BASE tracking bucket. - + Ctrl+Shift+B Ctrl+Shift+B - + Deb&ugger Enabled Deb&ugger Enabled - + Enables the debugger during skin parsing Enables the debugger during skin parsing - + Ctrl+Shift+D Ctrl+Shift+D - + &Help &Help @@ -16007,62 +16511,62 @@ This can not be undone! - + &Community Support &Community Support - + Get help with Mixxx Get help with Mixxx - + &User Manual &User Manual - + Read the Mixxx user manual. Read the Mixxx user manual. - + &Keyboard Shortcuts &Keyboard Shortcuts - + Speed up your workflow with keyboard shortcuts. Speed up your workflow with keyboard shortcuts. - + &Settings directory - + Open the Mixxx user settings directory. - + &Translate This Application &Translate This Application - + Help translate this application into your language. Help translate this application into your language. - + &About &About - + About the application About the application @@ -16070,25 +16574,25 @@ This can not be undone! WOverview - + Passthrough Passthrough - + Ready to play, analyzing... Text on waveform overview when file is playable but no waveform is visible - - + + Loading track... Text on waveform overview when file is cached from source - + Finalizing... Text on waveform overview during finalizing of waveform analysis @@ -16278,625 +16782,640 @@ This can not be undone! WTrackMenu - + Load to Load to - + Deck Deck - + Sampler Sampler - + Add to Playlist Add to Playlist - + Crates Crates - + Metadata Metadata - + Update external collections Update external collections - + Cover Art Cover Art - + Adjust BPM Adjust BPM - + Select Color Select Color - - + + Analyze Analyse - - + + Delete Track Files - + Add to Auto DJ Queue (bottom) Add to Auto DJ Queue (bottom) - + Add to Auto DJ Queue (top) Add to Auto DJ Queue (top) - + Add to Auto DJ Queue (replace) Add to Auto DJ Queue (replace) - + Preview Deck Preview Deck - + Remove Remove - + Remove from Playlist Remove from Playlist - + Remove from Crate Remove from Crate - + Hide from Library Hide from Library - + Unhide from Library Unhide from Library - + Purge from Library Purge from Library - + Move Track File(s) to Trash - + Delete Files from Disk - + Properties Properties - + Open in File Browser Open in File Browser - + Select in Library - + Import From File Tags Import From File Tags - + Import From MusicBrainz Import From MusicBrainz - + Export To File Tags Export To File Tags - + BPM and Beatgrid BPM and Beatgrid - + Play Count Play Count - + Rating Rating - + Cue Point Cue Point - - + + Hotcues Hotcues - + Intro Intro - + Outro Outro - + Key Key - + ReplayGain ReplayGain - + Waveform Waveform - + Comment Comment - + All All - + Sort hotcues by position (remove offsets) - + Sort hotcues by position - + Lock BPM Lock BPM - + Unlock BPM Unlock BPM - + Double BPM Double BPM - + Halve BPM Halve BPM - + 2/3 BPM 2/3 BPM - + 3/4 BPM 3/4 BPM - + 4/3 BPM 4/3 BPM - + 3/2 BPM 3/2 BPM - + Shift Beatgrid Half Beat - + Reanalyze - + Reanalyze (constant BPM) - + Reanalyze (variable BPM) - + Update ReplayGain from Deck Gain - + Deck %1 Deck %1 - + Importing metadata of %n track(s) from file tags - + Marking metadata of %n track(s) to be exported into file tags - - + + Create New Playlist Create New Playlist - + Enter name for new playlist: Enter name for new playlist: - + New Playlist New Playlist - - - + + + Playlist Creation Failed Playlist Creation Failed - + A playlist by that name already exists. A playlist by that name already exists. - + A playlist cannot have a blank name. A playlist cannot have a blank name. - + An unknown error occurred while creating playlist: An unknown error occurred while creating playlist: - + Add to New Crate Add to New Crate - + Scaling BPM of %n track(s) - + Undo BPM/beats change of %n track(s) - + Locking BPM of %n track(s) - + Unlocking BPM of %n track(s) - + Setting rating of %n track(s) - + Setting color of %n track(s) - + Resetting play count of %n track(s) - + Resetting beats of %n track(s) - + Clearing rating of %n track(s) - + Clearing comment of %n track(s) - + Removing main cue from %n track(s) - + Removing outro cue from %n track(s) - + Removing intro cue from %n track(s) - + Removing loop cues from %n track(s) - + Removing hot cues from %n track(s) - + Sorting hotcues of %n track(s) by position (remove offsets) - + Sorting hotcues of %n track(s) by position - + Resetting keys of %n track(s) - + Resetting replay gain of %n track(s) - + Resetting waveform of %n track(s) - + Resetting all performance metadata of %n track(s) - + Move these files to the trash bin? - + Permanently delete these files from disk? - - + + This can not be undone! - + Cancel Cancel - + Delete Files - + Okay - + Move Track File(s) to Trash? - + Track Files Deleted - + Track Files Moved To Trash - + %1 track files were moved to trash and purged from the Mixxx database. - + %1 track files were deleted from disk and purged from the Mixxx database. - + Track File Deleted - + Track file was deleted from disk and purged from the Mixxx database. - + The following %1 file(s) could not be deleted from disk - + This track file could not be deleted from disk - + Remaining Track File(s) - + Close Close - + Clear Reset metadata in right click track context menu in library - + Loops - + Clear BPM and Beatgrid - + Undo last BPM/beats change - + Move this track file to the trash bin? - + Permanently delete this track file from disk? - + All decks where these tracks are loaded will be stopped and the tracks will be ejected. - + All decks where this track is loaded will be stopped and the track will be ejected. - + Removing %n track file(s) from disk... - + Note: if you are in the Computer or Recording view you need to click the current view again to see changes. - + Track File Moved To Trash - + Track file was moved to trash and purged from the Mixxx database. - + Don't show again during this session - + The following %1 file(s) could not be moved to trash - + This track file could not be moved to trash + + + Replace current Auto DJ queue? + + + + + Do you want to replace the entire Auto DJ queue with the selected tracks? + + + + + Don't ask again during this session + + - + Setting cover art of %n track(s) Setting cover art of %n track(s)Setting cover art of %n track(s) - + Reloading cover art of %n track(s) Reloading cover art of %n track(s)Reloading cover art of %n track(s) @@ -16950,37 +17469,37 @@ This can not be undone! WTrackTableView - + Confirm track hide - + Are you sure you want to hide the selected tracks? - + Are you sure you want to remove the selected tracks from AutoDJ queue? - + Are you sure you want to remove the selected tracks from this crate? - + Are you sure you want to remove the selected tracks from this playlist? - + Don't ask again during this session - + Confirm track removal @@ -16988,12 +17507,12 @@ This can not be undone! WTrackTableViewHeader - + Show or hide columns. Show or hide columns. - + Shuffle Tracks @@ -17001,52 +17520,52 @@ This can not be undone! mixxx::CoreServices - + fonts - + database - + effects - + audio interface - + decks - + library - + Choose music library directory Choose music library directory - + controllers - + Cannot open database Cannot open database - + Unable to establish a database connection. Mixxx requires QT with SQLite support. Please read the Qt SQL driver documentation for information on how to build it. @@ -17203,6 +17722,24 @@ Click OK to exit. + + mixxx::qml::QmlApplication + + + Existing user profile detected + + + + + Trying to run Mixxx 3.0 with an existing %0 user profile! <br><br>There is <b>serious risks</b> of data loss and corruption.<br>We recommend using a test profile folder with the '--settings-path' argument. <br><br>If you want to continue at your own risk, run Mixxx with the argument '--allow-dangerous-data-corruption-risk'. + + + + + Ok + + + mixxx::qml::QmlVisibleEffectsModel @@ -17211,4 +17748,27 @@ Click OK to exit. No effect loaded. + + mixxx::qml::QmlWaveformRendererMark + + + Cannot find the marker pixmap + + + + + Cannot find the marker endPixmap + + + + + Cannot find the marker icon + + + + + Cannot find the marker endIcon + + + \ No newline at end of file diff --git a/res/translations/mixxx_es.qm b/res/translations/mixxx_es.qm index 00dd9032b90d2b56927c09ae62bed9ff50f191af..267b5ff4d9e5ba67db6d3054317228e8daf644b4 100644 GIT binary patch delta 25836 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

    9>l! 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 WGb2|D`~PRThW+1J{|qpxa`+#I7=q6L delta 27519 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 EC$c_Mx&QzG diff --git a/res/translations/mixxx_es_CO.ts b/res/translations/mixxx_es_CO.ts index 1aa920d5817c..1f1dfaa6d2fe 100644 --- a/res/translations/mixxx_es_CO.ts +++ b/res/translations/mixxx_es_CO.ts @@ -8,6 +8,14 @@ + + AllTrackLibraryFeature + + + All... + + + AnalysisFeature @@ -19,52 +27,52 @@ AutoDJFeature - + Crates Cajas - + Enable Auto DJ Activar Auto DJ - + Disable Auto DJ Desactivar Auto DJ - + Clear Auto DJ Queue Limpiar la cola de Auto DJ - + Remove Crate as Track Source Remover Crate como Fuente de Archivos - + Auto DJ DJ Automatico - + Confirmation Clear Confirmación limpiada - + Do you really want to remove all tracks from the Auto DJ queue? Realmente quieres eliminar todas las pistas de la cola de Auto DJ? - + This can not be undone. ¡Esto no puede ser revertido! - + Add Crate as Track Source Añadir Crate como Fuente de Archivos @@ -223,7 +231,7 @@ - + Export Playlist Exportar lista de reproducción @@ -277,13 +285,13 @@ - + Playlist Creation Failed Fallo la creación de lista de Reproducción - + An unknown error occurred while creating playlist: Se ha producido un error desconocido al crear la lista de reproducción: @@ -298,12 +306,12 @@ ¿Desea realmente eliminar la lista de reproducción<b>%1</b>? - + M3U Playlist (*.m3u) Lista de reproducción M3U (*.m3u) - + M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Text CSV (*.csv);;Readable Text (*.txt) Lista de reproducción M3U (*.m3u);;Lista de reproducción M3U8 (*.m3u8);;Lista de reproducción PLS (*.pls);;Texto CSV (*.csv);;Texto legible (*.txt) @@ -311,12 +319,12 @@ BaseSqlTableModel - + # # - + Timestamp Marca de tiempo @@ -324,7 +332,7 @@ BaseTrackPlayerImpl - + Couldn't load track. No se ha podido cargar la pista. @@ -362,7 +370,7 @@ Canales - + Color Color @@ -377,7 +385,7 @@ Compositor - + Cover Art Portada @@ -387,7 +395,7 @@ Fecha de Agregado - + Last Played Última reproducción @@ -417,7 +425,7 @@ Clave - + Location Ubicación @@ -427,7 +435,7 @@ Resumen - + Preview Preescucha @@ -467,7 +475,7 @@ Año - + Fetching image ... Tooltip text on the cover art column shown when the cover is read from disk Recuperando imagen... @@ -489,22 +497,22 @@ BroadcastProfile - + Can't use secure password storage: keychain access failed. No se puede usar el almacen de contraseñas seguro: el acceso al almacen ha fallado. - + Secure password retrieval unsuccessful: keychain access failed. No se ha podido obtener la contraseña: El acceso al almacen de claves a fallado. - + Settings error Error de configuración - + <b>Error with settings for '%1':</b><br> <b>Error en ajuste en '%1':</b><br> @@ -592,7 +600,7 @@ - + Computer Equipo @@ -612,17 +620,17 @@ Escanear - + "Computer" lets you navigate, view, and load tracks from folders on your hard disk and external devices. "Computadora" le permite navegar, ver y cargar pistas desde carpetas en su disco duro y dispositivos externos. - + It shows the data from the file tags, not track data from your Mixxx library like other track views. - + If you load a track file from here, it will be added to your library. @@ -735,12 +743,12 @@ Fecha creación - + Mixxx Library Biblioteca de Mixxx - + Could not load the following file because it is in use by Mixxx or another application. No se puede cargar el siguiente archivo porque este es usado por Mixxx u otra aplicación @@ -771,87 +779,92 @@ CmdlineArgs - + Mixxx is an open source DJ software. For more information, see: Mixxx es un software de DJ de código abierto. Para más información, ver: - + Starts Mixxx in full-screen mode Iniciar Mixxx en modo pantalla completa - + Use a custom locale for loading translations. (e.g 'fr') Utiliza un locale personalizado para cargar traducciones. (ej. 'fr') - + Top-level directory where Mixxx should look for its resource files such as MIDI mappings, overriding the default installation location. Directorio principal donde Mixxx debería encontrar sus archivos requeridos (como mapeos MIDI), reemplazando la ubicación de la instalación por defecto. - + Path the debug statistics time line is written to Ruta a donde las estadísticas de depuración de la línea de tiempo son escritas. - + Causes Mixxx to display/log all of the controller data it receives and script functions it loads Causa que Mixxx muestre/registre todos los datos del controlador que recibe y las funciones en script que cargue - + The controller mapping will issue more aggressive warnings and errors when detecting misuse of controller APIs. New Controller Mappings should be developed with this option enabled! El mapeo del controlador generará advertencias y errores más agresivos cuando detecte un mal uso de las APIs del controlador. Los nuevos mapeos de controladores deben desarrollarse con esta opción activada. - + Enables developer-mode. Includes extra log info, stats on performance, and a Developer tools menu. Activa el modo Desarrollador. Incluye información adicional en el registros, estadísticas de rendimiento, y un menú de Herramientas para Desarrolladores. - + Top-level directory where Mixxx should look for settings. Default is: Directorio de nivel superior en donde Mixxx debería buscar por sus parámetros. Por defecto es : - + Starts Auto DJ when Mixxx is launched. Arranca Auto DJ cuando se inicia Mixxx - + Rescans the library when Mixxx is launched. Re escanea la librería cuando se inicia Mixxx - + Use legacy vu meter Utilizar el vúmetro antiguo - + Use legacy spinny Usar diseño de plato antiguo - - Loads experimental QML GUI instead of legacy QWidget skin - Carga la Interfaz de Usuario QML experimental, en lugar de la skin de legado QWidget + + Loads the highly unstable 3.0 Mixxx interface, based on QML. You need to use a new setting profile, or run with 'allow-dangerous-data-corruption-risk' to use with the current one. We highly recommend backing up your data if you do so. + - + + Force Mixxx to load an unstable version with an existing user profile from a stable version + + + + Enables safe-mode. Disables OpenGL waveforms, and spinning vinyl widgets. Try this option if Mixxx is crashing on startup. Activa el modo seguro. Desactiva las formas de onda OpenGL y los widgets giratorios de vinilos. Pruebe esta opción si Mixxx no inicia correctamente. - + [auto|always|never] Use colors on the console output. [auto|always|never] Utiliza colores en la salida de la consola. - + Sets the verbosity of command line logging. critical - Critical/Fatal only warning - Above + Warnings @@ -866,32 +879,32 @@ debug - Arriba + Mensajes de Depuración/Desarrollador trace - Arriba + Perfilar mensajes - + Sets the the logging level at which the log buffer is flushed to mixxx.log. <level> is one of the values defined at --log-level above. Establece el nivel del registro en el cual el búfer de registro es descargado el registro de mixxx. <level> es uno de los valores definidos en --nivel de bitácora de arriba. - + Sets the maximum file size of the mixxx.log file in bytes. Use -1 for unlimited. The default is 100 MB as 1e5 or 100000000. Configura el tamaño máximo del archivo mixxx.log en bytes. Usa -1 para ilimitado. Por defecto es 100 MB, como en 1e5 o 100000000. - + Breaks (SIGINT) Mixxx, if a DEBUG_ASSERT evaluates to false. Under a debugger you can continue afterwards. Interrumpe Mixxx (SIGINT), si un DEBUG_ASSERT evalúa como falso. En un depurador puedes continuar después. - + Overrides the default application GUI style. Possible values: %1 Anula el estilo por defecto de la interfaz de usuario de la aplicación. Valores posibles: %1 - + Load the specified music file(s) at start-up. Each file you specify will be loaded into the next virtual deck. Carga los archivos de música especificados al inicio. Cada archivo que especifiques se cargará en el siguiente deck virtual. - + Preview rendered controller screens in the Setting windows. Previsualizar pantallas renderizadas del controlador en las ventanas de Ajustes @@ -984,2557 +997,2585 @@ trace - Arriba + Perfilar mensajes ControlPickerMenu - + Headphone Output Salida de auriculares - - - + + + + Deck %1 + %1 is the deck number 1 ... 4 Deck %1 - + Sampler %1 Sampler %1 - + Preview Deck %1 Vista previa Deck %1 - + Microphone %1 Micrófono %1 - + Auxiliary %1 Auxiliar %1 - + Reset to default Restaurar al valor predeterminado - + Effect Rack %1 Rack de Efecto %1 - + Parameter %1 Parámetro %1 - + Mixer Mezclador - - + + Crossfader Crossfader - + Headphone mix (pre/main) Mezcla en auriculares (pre/main) - + Toggle headphone split cueing Alternar preescucha dividida de auriculares - + Headphone delay Delay en auriculares - + Transport Transporte - + Strip-search through track Navegación por toda la pista - + Play button Botón de reproducción - - + + Set to full volume Ajustar volumen al máximo - - + + Set to zero volume Ajustar volumen al mínimo - + Stop button Botón de paro - + Jump to start of track and play Saltar al inicio y reproducir - + Jump to end of track Saltar al final - + Reverse roll (Censor) button Botón Reproduce hacia atrás (con censura) - + Headphone listen button Botón de escucha de auriculares - - + + Mute button Botón para silenciar MUTE - + Toggle repeat mode Conmutar modo repetición - - + + Mix orientation (e.g. left, right, center) Orientación de la mezcla (p. ej. izquierda, derecha, centro) - - + + Set mix orientation to left Establecer orientación de la mezcla hacia la izquierda - - + + Set mix orientation to center Establecer orientación de la mezcla al centro - - + + Set mix orientation to right Establecer orientación de la mezcla hacia la derecha - + Toggle slip mode Conmutar el modo deslizante - - + + BPM BPM - + Increase BPM by 1 Incrementar BPM en 1 - + Decrease BPM by 1 Disminuir BPM en 1 - + Increase BPM by 0.1 Incrementar BPM en 0,1 - + Decrease BPM by 0.1 Disminuir BPM en 0,1 - + BPM tap button Botón de BPM manual - + Toggle quantize mode Conmutar el modo de cuantización - + One-time beat sync (tempo only) Sincronizar por unica vez (sólo el tempo) - + One-time beat sync (phase only) Sincronizar por unica vez (sólo la fase) - + Toggle keylock mode Conmutar bloqueo tonal - + Equalizers Ecualizadores - + Vinyl Control Control de vinilo - + Toggle vinyl-control cueing mode (OFF/ONE/HOT) Conmutar el modo de puntos cue del control de vinilo (OFF/ONE/HOT) - + Toggle vinyl-control mode (ABS/REL/CONST) Conmutar el control de vinilo (Absoluto/Relativo/Constante) - + Pass through external audio into the internal mixer Pasar audio externo al mezclador interno - + Cues Puntos cue - + Cue button Botón de Cue - + Set cue point Establecer punto de Cue - + Go to cue point Ir al Cue - + Go to cue point and play Ir al Cue y reproducir - + Go to cue point and stop Ir al punto de Cue y parar - + Preview from cue point Preescuchar desde punto Cue - + Cue button (CDJ mode) Boton Cue (modo CDJ) - + Stutter cue Reproducir Cue (Stutter) - + Hotcues Hotcues - + Set, preview from or jump to hotcue %1 Establecer, preescuchar o saltar al hotcue %1 - + Clear hotcue %1 Borrar hotcue %1 - + Set hotcue %1 Establecer Hotcue %1 - + Jump to hotcue %1 Saltar al hotcue %1 - + Jump to hotcue %1 and stop Saltar al hotcue %1 y parar - + Jump to hotcue %1 and play Saltar al hotcue %1 y reproducir - + Preview from hotcue %1 Preescucha Hotcue %1 - - + + Hotcue %1 Hotcue %1 - + Looping Repetición - + Loop In button Botón de inicio del bucle - + Loop Out button Botón de fin de bucle - + Loop Exit button Botón de salida de bucle - + 1/2 1/2 - + 1 1 - + 2 2 - + 4 4 - + 8 8 - + 16 16 - + 32 32 - + 64 64 - + Move loop forward by %1 beats Mover el bucle hacia adelante en %1 pulsaciones - + Move loop backward by %1 beats Mover el bucle hacia atrás en %1 pulsaciones - + Create %1-beat loop Crear bucle de %1 pulsaciones - + Create temporary %1-beat loop roll Crear bucle temporal corredizo de %1 pulsaciones - + Library Biblioteca - + Slot %1 Ranura %1 - + Headphone Mix Mezcla de Auriculares - + Headphone Split Cue Salida partida por auriculares - + Headphone Delay Retardo de auriculares - + Play Reproducir - + Fast Rewind Retroceso rápido - + Fast Rewind button Botón de Retroceso Rápido - + Fast Forward Avance Rápido - + Fast Forward button Botón de Avance Rápido - + Strip Search Navegación de pista - + Play Reverse Reproducir hacia atrás - + Play Reverse button Botón de Reproducción hacia atrás - + Reverse Roll (Censor) Reproducción hacia atrás (Censura) - + Jump To Start Saltar al Inicio - + Jumps to start of track Saltar al inicio de la pista - + Play From Start Reproducir Desde el Comienzo - + Stop Detener - + Stop And Jump To Start Detener y Saltar al Principio - + Stop playback and jump to start of track Detener reproducción y saltar al inicio de la pista - + Jump To End Saltar al final - + Volume Volumen - - - + + + Volume Fader Deslizador de Volumen - - + + Full Volume Volumen máximo - - + + Zero Volume Volumen cero - + Track Gain Ganancia de pista - + Track Gain knob Rueda de ganancia de pista - - + + Mute Silenciar - + Eject Expulsar - - + + Headphone Listen Escuchar por auriculares - + Headphone listen (pfl) button Botón de escucha con auriculares (pfl) - + Repeat Mode Modo de repetición - + Slip Mode Modo Slip - - + + Orientation Orientación - - + + Orient Left Orientar a la izquierda - - + + Orient Center Orientar al centro - - + + Orient Right Orientar a la derecha - + BPM +1 BPM +1 - + BPM -1 BPM -1 - + BPM +0.1 BPM +0,1 - + BPM -0.1 BPM -0,1 - + BPM Tap Golpeo de BPM - + Adjust Beatgrid Faster +.01 Acelerar la cuadrícula de tempo en +,01 - + Increase track's average BPM by 0.01 Incrementa el BPM promedio de la pista en 0,01 - + Adjust Beatgrid Slower -.01 Ralentizar la cuadrícula de tempo en -,01 - + Decrease track's average BPM by 0.01 Disminuye el BPM promedio de la pista en 0,01 - + Move Beatgrid Earlier Mover la cuadrícula de tempo antes en el tiempo - + Adjust the beatgrid to the left Ajusta la cuadrícula de tempo hacia la izquierda - + Move Beatgrid Later Mover la cuadrícula de tempo después en el tiempo - + Adjust the beatgrid to the right Ajusta la cuadrícula de tempo hacia la derecha - + Adjust Beatgrid Ajustar cuadrícula de tempo - + Align beatgrid to current position Alinea la cuadrícula de tempo a la posición actual - + Adjust Beatgrid - Match Alignment Ajustar la cuadrícula de tempo - Concidir alineación - + Adjust beatgrid to match another playing deck. Ajusta la cuadrícula de tempo para que coincida con otro plato en reproducción. - + Quantize Mode Modo Cuantizado - + Sync Sincronizar - + Beat Sync One-Shot Sincronizar pulsaciones al momento - + Sync Tempo One-Shot Sincronizar tempo al momento - + Sync Phase One-Shot Sincronizar Fase al momento - + Pitch control (does not affect tempo), center is original pitch Control de velocidad (No afecta el tempo), al centro es la velocidad original - + Pitch Adjust Ajuste de velocidad - + Adjust pitch from speed slider pitch Ajuste la velocidad desde el deslizador de velocidad - + Match musical key Coincidir con clave musical - + Match Key Cuadrar tonalidad (clave) - + Reset Key Restablecer tonalidad - + Resets key to original Restablecer tonalidad a la original - + High EQ Ecualización de Agudos - + Mid EQ Ecualización de Medios - - + + Main Output Salida Principal - + Main Output Balance Balance Salida Principal - + Main Output Delay Retardo Salida Principal - + Main Output Gain Ganancia de la Salida principal - + Low EQ Ecualización de Graves - + Toggle Vinyl Control Conmutar el control del vinilo - + Toggle Vinyl Control (ON/OFF) Conmutar el control de vinilo (ON/OFF) - + Vinyl Control Mode Modo de control de vinilo - + Vinyl Control Cueing Mode Modo de Cue en Control por Vinilo - + Vinyl Control Passthrough Passthrough en Control por Vinilo - + Vinyl Control Next Deck siguiente plato en Control por vinilo - + Single deck mode - Switch vinyl control to next deck Modo de plato único - Cambia el control de vinilo al siguiente plato - + Cue Cue - + Set Cue Establecer punto cue - + Go-To Cue Ir al Cue - + Go-To Cue And Play Ir a Cue y reproducir - + Go-To Cue And Stop Ir al Cue y detener - + Preview Cue Preescuchar Cue - + Cue (CDJ Mode) Cue (modo CDJ) - + Stutter Cue Reproducir Cue (Stutter) - + Go to cue point and play after release Ir al cue y reproducir en soltar - + Clear Hotcue %1 Borrar hotcue %1 - + Set Hotcue %1 Establecer Hotcue %1 - + Jump To Hotcue %1 Saltar al hotcue %1 - + Jump To Hotcue %1 And Stop Saltar al hotcue %1 y parar - + Jump To Hotcue %1 And Play Saltar al hotcue %1 y reproducir - + Preview Hotcue %1 Preescuchar Hotcue %1 - + Loop In Inicio de bucle - + Loop Out Fin del bucle - + Loop Exit Salida del bucle - + Reloop/Exit Loop Repetir/Salir del bucle - + Loop Halve Reducir bucle a la mitad - + Loop Double Aumentar bucle al doble - + 1/32 1/32 - + 1/16 1/16 - + 1/8 1/8 - + 1/4 1/4 - + Move Loop +%1 Beats Mover bucle en +%1 pulsaciones - + Move Loop -%1 Beats Mover bucle en -%1 pulsaciones - + Loop %1 Beats Bucle de %1 pulsaciones - + Loop Roll %1 Beats Bucle corredizo de %1 pulsaciones - + Add to Auto DJ Queue (bottom) Añadir a la cola de Auto DJ (al final) - + Append the selected track to the Auto DJ Queue Añade las pistas seleccionadas al final de la cola de Auto DJ - + Add to Auto DJ Queue (top) Añadir a la cola de Auto DJ (al principio) - + Prepend selected track to the Auto DJ Queue Añade las pistas seleccionadas al principio de la cola de Auto DJ - + Load Track Cargar Pista - + Load selected track Carga la pista seleccionada - + Load selected track and play Carga la pista seleccionada y la reproduce - - + + Record Mix Grabar mezcla - + Toggle mix recording Conmuta la grabación de la mezcla - + Effects Efectos - - Quick Effects - Efectos rápidos - - - + Deck %1 Quick Effect Super Knob Super rueda de efecto rápido del plato %1 - + + Quick Effect Super Knob (control linked effect parameters) Super rueda de efecto rápido (parámetros de efecto asociado al control) - - + + + + Quick Effect Efecto rápido - + Clear Unit Limpiar unidad - + Clear effect unit Limpia la unidad de efectos - + Toggle Unit Conmutar la unidad - + Dry/Wet Directo/Alterado - + Adjust the balance between the original (dry) and processed (wet) signal. Ajuste entre señal directa (dry) y alterada (wet). - + Super Knob Rueda Súper - + Next Chain Siguiente cadena - + Assign Asignar - + Clear Borrar - + Clear the current effect Borrar el efecto actual - + Toggle Conmutar - + Toggle the current effect Conmutar el efecto actual - + Next Siguente - + Switch to next effect Cambiar al siguiente efecto - + Previous Anterior - + Switch to the previous effect Cambiar al efecto previo - + Next or Previous Siguiente o Anterior - + Switch to either next or previous effect Cambiar a cualquier efecto siguiente o anterior - - + + Parameter Value Valor de Parámetro - - + + Microphone Ducking Strength Intensidad de Atenuación de Micrófono - + Microphone Ducking Mode Modo de Atenuación de Micrófono - + Gain Ganancia - + Gain knob Rueda de Ganancia - + Shuffle the content of the Auto DJ queue Mezcla el contenido de la cola de Auto DJ - + Skip the next track in the Auto DJ queue Salta la siguiente pista de la cola de Auto DJ - + Auto DJ Toggle Conmutar Auto DJ - + Toggle Auto DJ On/Off Conmutar Auto DJ Encendido/Apagado - + Show/hide the microphone & auxiliary section Muestra/oculta la sección del micrófono y el auxiliar - + 4 Effect Units Show/Hide Mostrar/ocultar las 4 Unidades de Efectos - + Switches between showing 2 and 4 effect units Cambia entre mostrar 2 y 4 unidades de efectos - + Mixer Show/Hide Mostrar/Ocultar Mezclador - + Show or hide the mixer. Mostrar u ocultar el mezclador. - + Cover Art Show/Hide (Library) Mostrar/Ocultar Portadas (Biblioteca) - + Show/hide cover art in the library Muestra/oculta las portadas en la biblioteca - + Library Maximize/Restore Maximizar/Restaurar Biblioteca - + Maximize the track library to take up all the available screen space. Maximizar la biblioteca para tomar todo el espacio disponible en pantalla. - + Effect Rack Show/Hide Mostrar/ocultar unidad de efectos - + Show/hide the effect rack Mostrar/ocultar unidad de efectos - + Waveform Zoom Out Alejar zoom de forma de onda - + Headphone Gain Ganancia del auricular - + Headphone gain Ganancia de auriculares - + Tap to sync tempo (and phase with quantize enabled), hold to enable permanent sync Toque sincronización el tempo (y la fase con la cuantización habilitada), mantenga presionado para habilitar la sincronización permanente. - + One-time beat sync tempo (and phase with quantize enabled) toque para sincronizar solo una vez (el tempo y fase) - + Playback Speed Velocidad de reproducción - + Playback speed control (Vinyl "Pitch" slider) Control de velocidad de reproducción (El "Pitch de vinilo) - + Pitch (Musical key) Pitch (tonalidad) - + Increase Speed Incrementar Velocidad - + Adjust speed faster (coarse) Incrementar la velocidad (grueso) - + Increase Speed (Fine) Incrementar velocidad (fino) - + Adjust speed faster (fine) Incrementar la velocidad (fino) - + Decrease Speed Reducir Velocidad - + Adjust speed slower (coarse) Reducir la velocidad (grueso) - + Adjust speed slower (fine) Reducir la velocidad (fino) - + Temporarily Increase Speed Incrementar temporalmente la velocidad - + Temporarily increase speed (coarse) Incremento temporal de velocidad (grueso) - + Temporarily Increase Speed (Fine) Incremento temporal de velocidad (fino) - + Temporarily increase speed (fine) Incremento temporal de velocidad (fino) - + Temporarily Decrease Speed Reducir temporalmente la velocidad - + Temporarily decrease speed (coarse) Reducción temporal de velocidad (grueso) - + Temporarily Decrease Speed (Fine) Reducción temporal de velocidad (fino) - + Temporarily decrease speed (fine) Reducción temporal de velocidad (fino) - - + + Adjust %1 Ajuste %1 - + + Deck %1 Stem %2 + + + + Effect Unit %1 Unidad de Efectos %1 - + Button Parameter %1 Parámetro %1 del botón. - + Skin Apariencia - + Controller Controlador - + Crossfader / Orientation Crossfader / Orientación - + Main Output gain Ganancia Salida Principal - + Main Output balance Balance Salida Principal - + Main Output delay Retardo (delay) de la Salida principal - + Headphone Auriculares - - + + Kill %1 + %1 is "Low EQ" "Mid EQ" or "High EQ" Suprime %1 - + Eject or un-eject track, i.e. reload the last-ejected track (of any deck)<br>Double-press to reload the last replaced track. In empty decks it reloads the second-last ejected track. Expulsa o recupera la pista, es decir, carga la última pista expulsada (de cualquier deck).<br>Pulsa dos veces para cargar la última pista sustituida. En decks vacíos carga la penúltima pista expulsada. - + BPM / Beatgrid BPM / Grilla de tiempo - + Halve BPM Reducir a la mitad los BPM - + Multiply current BPM by 0.5 Multiplica los BPM por 0.5 - + 2/3 BPM 2/3 BPM - + Multiply current BPM by 0.666 Multiplica el BPM actual por 0.666 - + 3/4 BPM 3/4 BPM - + Multiply current BPM by 0.75 Multiplica el BPM actual por 0.75 - + 4/3 BPM 4/3 BPM - + Multiply current BPM by 1.333 Multiplica el BPM actual por 1.333 - + 3/2 BPM 3/2 BPM - + Multiply current BPM by 1.5 Multiplica el BPM actual por 1.5 - + Double BPM Dobla los BPM - + Multiply current BPM by 2 Multiplica el BPM actual por 2 - + Tempo Tap Seguidor de Tempo (Tempo Tap) - + Tempo tap button Botón del Tempo Tap - + Move Beatgrid Desplaza la grilla de tiempo - + Adjust the beatgrid to the left or right Ajusta la grilla de tiempo a la izquierda o a la derecha - + Move Beatgrid Half a Beat Desplaza la cuadricula de tiempo medio pulso - + Adjust the beatgrid by exactly one half beat. Usable only for tracks with constant tempo. Ajusta la cuadrícula de tiempo en exactamente medio beat. Solo se puede usar en pistas con tempo constante. - - + + Toggle the BPM/beatgrid lock Cambia el bloqueo de BPM/grilla de tiempo - + Revert last BPM/Beatgrid Change Revierte el último cambio de BPM/grilla de tiempo - + Revert last BPM/Beatgrid Change of the loaded track. Revierte el último cambio de BPM/grilla de tiempo para la pista cargada - + Sync / Sync Lock Sincronizar / Bloqueo Sincronización - + Internal Sync Leader Sincronización Líder Interno - + Toggle Internal Sync Leader Conmutar el modo Sincronización Líder Interno - - + + Internal Leader BPM BPM Líder Interno - + Internal Leader BPM +1 BPM Líder Interno +1 - + Increase internal Leader BPM by 1 Incrementar BPM líder interno en 1 - + Internal Leader BPM -1 BPM Líder Interno -1 - + Decrease internal Leader BPM by 1 Disminuir BPM líder interno en 1 - + Internal Leader BPM +0.1 BPM Líder Interno +0.1 - + Increase internal Leader BPM by 0.1 Incrementar BPM líder interno en 0.1 - + Internal Leader BPM -0.1 BPM Líder Interno -0.1 - + Decrease internal Leader BPM by 0.1 Disminuir BPM Líder Interno en 0.1 - + Sync Leader Líder de Sicronización - + Sync mode 3-state toggle / indicator (Off, Soft Leader, Explicit Leader) Modo de Sicronización 3-State Toggle / Indicador (Off, Soft Leader, Explicit Leader) - + Speed LFO - + Decrease Speed (Fine) Reducir velocidad (fino) - + Pitch (Musical Key) Tono (Clave Musical) - + Increase Pitch Incrementar Tono - + Increases the pitch by one semitone Incrementar el tono por un semitono - + Increase Pitch (Fine) Incrementar Tono (Fino) - + Increases the pitch by 10 cents Incrementa el tono por 10 céntimos - + Decrease Pitch Decrementar Tono - + Decreases the pitch by one semitone Decrementa el tono por un semitono - + Decrease Pitch (Fine) Decrementar Tono (Fino) - + Decreases the pitch by 10 cents Decrementa el tono por 10 céntimos - + Keylock Bloqueo tonal - + CUP (Cue + Play) CUP (Cue + Play) - + Shift cue points earlier Cambiar puntos cue antes - + Shift cue points 10 milliseconds earlier Cambiar puntos marcado 10 milisegundos antes - + Shift cue points earlier (fine) Desplaza el punto cue hacia atrás (fino) - + Shift cue points 1 millisecond earlier Desplaza los puntos cue 1 milisegundo atrás - + Shift cue points later Cambiar puntos marcado después - + Shift cue points 10 milliseconds later Cambiar puntos marcado 10 milisegundos después - + Shift cue points later (fine) Cambiar puntos marcado después (fino) - + Shift cue points 1 millisecond later Cambiar puntos marcado 1 milisegundo después - - + + Sort hotcues by position Ordenar hotcues por posición - - + + Sort hotcues by position (remove offsets) Ordenar hotcues por posición (removiendo desfases) - + Hotcues %1-%2 Accesos Directos %1-%2 - + Intro / Outro Markers Marcadores de Entrada / Salida - + Intro Start Marker Marcador Inicial de Entrada - + Intro End Marker Marcador Final de Entrada - + Outro Start Marker Marcador Inicial de Salida - + Outro End Marker Marcador Final de Salida - + intro start marker marcador inicial de entrada - + intro end marker Marcador final de entrada - + outro start marker marcador inicial de salida - + outro end marker marcador final de salida - + Activate %1 [intro/outro marker Activa %1 - + Jump to or set the %1 [intro/outro marker Saltar a o poner el %1 - + Set %1 [intro/outro marker Poner %1 - + Set or jump to the %1 [intro/outro marker Establecer o saltar a %1 - + Clear %1 [intro/outro marker Limpiar %1 - + Clear the %1 [intro/outro marker Limpiar el %1 - + if the track has no beats the unit is seconds si la pista no tiene pulsaciones la unidad es segundos - + Loop Selected Beats Bucle de las pulsaciones seleccionadas - + Create a beat loop of selected beat size Crear bucle con el tamaño de pulsaciones seleccionado - + Loop Roll Selected Beats Bucle corredizo de las pulsaciones seleccionadas - + Create a rolling beat loop of selected beat size Crear bucle corredizo con el tamaño de pulsaciones seleccionado - + Loop %1 Beats set from its end point Bucle de %1 pulsaciones desde su punto final - + Loop Roll %1 Beats set from its end point Definir serie de bucles de %1 pulsaciones desde su punto final - + Create %1-beat loop with the current play position as loop end Crea un bucle de 1%-beat con la posición de reproducción actual como final del bucle - + Create temporary %1-beat loop roll with the current play position as loop end Crea un redoble de bucle temporal de %1-pulsos con la posición de reproducción actual como final del bucle - + Loop Beats Bucle de pulsos - + Loop Roll Beats Redoble de bucle de pulsos - + Go To Loop In Ir al Loop de entrada - + Go to Loop In button Ir al botón Loop de entrada - + Go To Loop Out Ir al Loop de salida - + Go to Loop Out button Ir al botón Loop de salida - + Toggle loop on/off and jump to Loop In point if loop is behind play position Activar / Desactivar bucle y saltar al inicio del bucle si está detrás de la posición de reproducción - + Reloop And Stop Reactivar bucle y detener - + Enable loop, jump to Loop In point, and stop Activar bucle, ir al inicio del bucle y detener - + Halve the loop length Reducir a la mitad la longitud del bucle - + Double the loop length Duplicar la longitud del bucle - + Beat Jump / Loop Move Salto de pulsaciones / Movimiento del bucle - + Jump / Move Loop Forward %1 Beats Saltar / Mover bucle hacia delante en %1 pulsaciones - + Jump / Move Loop Backward %1 Beats Saltar / Mover bucle hacia atrás en %1 pulsaciones - + Jump forward by %1 beats, or if a loop is enabled, move the loop forward %1 beats Saltar hacia adelante en %1 pulsaciones, o si el bucle está activado, moverlo hacia adelante en %1 pulsaciones - + Jump backward by %1 beats, or if a loop is enabled, move the loop backward %1 beats Saltar hacia atrás en %1 pulsaciones, o si el bucle está activado, moverlo hacia atrás en %1 pulsaciones - + Beat Jump / Loop Move Forward Selected Beats Saltar en pulsaciones / Mover el bucle adelante en la cantidad seleccionada - + Jump forward by the selected number of beats, or if a loop is enabled, move the loop forward by the selected number of beats Salta hacia adelante la cantidad seleccionada de pulsaciones, o si el bucle está activado, lo mueve hacia adelante la cantidad seleccionada de pulsaciones - + Beat Jump / Loop Move Backward Selected Beats Saltar en pulsaciones / Mover el bucle atrás en la cantidad seleccionada - + Jump backward by the selected number of beats, or if a loop is enabled, move the loop backward by the selected number of beats Salta hacia atrás la cantidad seleccionada de pulsaciones, o si el bucle está activado, lo mueve hacia atrás la cantidad seleccionada de pulsaciones - + Beat Jump Salto de pulso - + Indicate which loop marker remain static when adjusting the size or is inherited from the current position Indica qué marcadores de bucle permanecen estáticos al ajustar el tamaño o es ajustado según la posición actual - + Beat Jump / Loop Move Forward Salto de pulso / Bucle hacia adelante - + Beat Jump / Loop Move Backward Salto de pulso / Bucle hacia atrás - + Loop Move Forward Bucle hacia adelante - + Loop Move Backward Bucle en reversa - + Remove Temporary Loop Remueve el bucle temporal - + Remove the temporary loop Remueve el bucle temporal - + Navigation Navegación - + Move up Hacia arriba - + Equivalent to pressing the UP key on the keyboard Equivalente a pulsar la tecla flecha arriba en el teclado - + Move down Hacia abajo - + Equivalent to pressing the DOWN key on the keyboard Equivalente a pulsar la tecla abajo arriba en el teclado - + Move up/down Arriba/abajo - + Move vertically in either direction using a knob, as if pressing UP/DOWN keys Mover verticalmente en qualquier dirección usando una rueda, como si se pulsaran las teclas flecha arriba/abajo - + Scroll Up Retrocede página - + Equivalent to pressing the PAGE UP key on the keyboard Equivalente a pulsar la tecla retrocede página arriba en el teclado - + Scroll Down Avance página - + Equivalent to pressing the PAGE DOWN key on the keyboard Equivalente a pulsar la tecla avance página en el teclado - + Scroll up/down Arriba/abajo página - + Scroll vertically in either direction using a knob, as if pressing PGUP/PGDOWN keys Mover verticalmente en qualquier dirección usando una rueda, como si se pulsaran las teclas avance/retroceso página - + Move left Izquierda - + Equivalent to pressing the LEFT key on the keyboard Equivalente a pulsar la tecla flecha izquierda en el teclado - + Move right Derecha - + Equivalent to pressing the RIGHT key on the keyboard Equivalente a pulsar la tecla flecha derecha en el teclado - + Move left/right Izquierda/derecha - + Move horizontally in either direction using a knob, as if pressing LEFT/RIGHT keys Mover verticalmente en qualquier dirección usando una rueda, como si se pulsaran las teclas flecha izquierda/derecha - + Move focus to right pane Mover al panel derecho - + Equivalent to pressing the TAB key on the keyboard Equivalente a pulsar la tecla Tabulador del teclado - + Move focus to left pane Mover el foco al panel izquierdo - + Equivalent to pressing the SHIFT+TAB key on the keyboard Equivalente a pulsar las teclas Mayúsculas+Tabulación en el teclado. - + Move focus to right/left pane Mover el foco al panel izquierdo/derecho - + Move focus one pane to right or left using a knob, as if pressing TAB/SHIFT+TAB keys Mueve el foco al panel izquierdo o derecho usando una rueda, como si se pulsara tabulación/mayusculas+tabulación. - + Sort focused column Ordenar columna enfocada - + Sort the column of the cell that is currently focused, equivalent to clicking on its header Ordena la columna de la celda que está enfocada, equivale a hacer click en su encabezado - + Go to the currently selected item Ve al elemento actualmente seleccionado. - + Choose the currently selected item and advance forward one pane if appropriate Elige el elemento actualmente seleccionado y avanza un panel si aplica. - + Load Track and Play Cargar Pista y Reproducir - + Add to Auto DJ Queue (replace) Añadir a la lista de DJ Automático (reemplazar) - + Replace Auto DJ Queue with selected tracks Reemplaza la cola de Auto DJ con las pistas seleccionadas - + Select next search history Selecciona el siguiente historial de búsqueda - + Selects the next search history entry Selecciona la siguiente entrada del historial de búsqueda - + Select previous search history Selecciona el historial de búsqueda anterior - + Selects the previous search history entry Selecciona la entrada previa del historial de búsqueda - + Move selected search entry Mover entrada de búsqueda seleccionada - + Moves the selected search history item into given direction and steps Mueve el elemento de la búsqueda histórica seleccionado en la dirección dada y pasa - + Clear search Eliminar búsqueda - + Clears the search query Limpia la búsqueda - - + + Select Next Color Available Selecciona el próximo color disponible - + Select the next color in the color palette for the first selected track Selecciona el próximo color en la paleta de colores para la primera pista seleccionada - - + + Select Previous Color Available Selecciona el anterior color disponible - + Select the previous color in the color palette for the first selected track Selecciona el color anterior en la paleta de colores para la primera pista seleccionada - + + Quick Effects Deck %1 + + + + Deck %1 Quick Effect Enable Button Botón rápido de activación de efecto de cubierta %1 - + + Quick Effect Enable Button Botón de activación de efectos rápidos - + + Deck %1 Stem %2 Quick Effect Super Knob + + + + + Deck %1 Stem %2 Quick Effect Enable Button + + + + Enable or disable effect processing Activar o desactivar efectos - + Super Knob (control effects' Meta Knobs) Rueda Super (controla las ruedas Meta del efecto) - + Mix Mode Toggle Alternar modo de mezcla - + Toggle effect unit between D/W and D+W modes Cambia la unidad de efectos entre los modos D / W y D + W - + Next chain preset Siguiente preajuste de cadena - + Previous Chain Cadena anterior - + Previous chain preset Anterior preajuste de cadena - + Next/Previous Chain Cadena siguiente/anterior - + Next or previous chain preset Siguiente o anterior preajuste de cadena - - + + Show Effect Parameters Mostrar parámetros de efectos - + Effect Unit Assignment Asignación de la Unidad de Efectos - + Meta Knob Rueda Meta - + Effect Meta Knob (control linked effect parameters) Rueda Meta del efecto (controla los parámetros del efecto asociados) - + Meta Knob Mode Modo de la rueda Meta - + Set how linked effect parameters change when turning the Meta Knob. Define como se comportan los parámetros del efecto enlazados al mover la rueda Meta. - + Meta Knob Mode Invert Modo rueda Meta Invertida - + Invert how linked effect parameters change when turning the Meta Knob. Invierte el sentido en el que se mueven los parámetros del efecto enlazados al girar la rueda Meta. - - + + Button Parameter Value Valor del parámetro del botón - + Microphone / Auxiliary Micrófono/Auxiliar - + Microphone On/Off Micrófono Encendido/Apagado - + Microphone on/off Micrófono encendido/apagado - + Toggle microphone ducking mode (OFF, AUTO, MANUAL) Conmutar modo de atenuación de micrófono (OFF, AUTO, MANUAL) - + Auxiliary On/Off Auxiliar Encendido/Apagado - + Auxiliary on/off Auxiliar encendido/apagado - + Auto DJ DJ Automatico - + Auto DJ Shuffle Auto DJ Aleatorio - + Auto DJ Skip Next Quitar la siguiente en Auto DJ - + Auto DJ Add Random Track Añade una pista aleatoria al Auto DJ - + Add a random track to the Auto DJ queue Añade una pista aleatoria a la fila del Auto DJ - + Auto DJ Fade To Next Autodesvanecer a la siguiente en Auto DJ - + Trigger the transition to the next track Desencadenar la transición a la pista siguiente - + User Interface Interfaz de usuario - + Samplers Show/Hide Mostrar/Ocultar reproductor de muestras - + Show/hide the sampler section Mostrar/Ocultar la sección de reproductor de muestras - + Microphone && Auxiliary Show/Hide keep double & to prevent creation of keyboard accelerator Mostrar/Ocultar Micrófono y Auxiliar - + Waveform Zoom Reset To Default Reestablece el zoom de la forma de onda - + Reset the waveform zoom level to the default value selected in Preferences -> Waveforms Restablece el nivel de zoom de la forma de onda al valor por defecto seleccionado en Preferencias > Formas de onda - + Select the next color in the color palette for the loaded track. Selecciona el próximo color en la paleta de colores para la pista cargada. - + Select previous color in the color palette for the loaded track. Selecciona el color anterior en la paleta de colores para la pista cargada. - + Navigate Through Track Colors Navegar a través de los colores de las pistas - + Select either next or previous color in the palette for the loaded track. Selecciona cualquiera de los colores siguientes o anteriores en la paleta de colores para la pista cargada. - + Start/Stop Live Broadcasting Inicia/Detiene Transmisión En Vivo - + Stream your mix over the Internet. Emite tus mezclas por internet. - + Start/stop recording your mix. Inicia/Detiene la grabación de tu mezcla. - - + + + Deck %1 Stems + + + + + Samplers Muestreadores / Samplers - + Vinyl Control Show/Hide Mostrar/Ocultar Control de Vinilo - + Show/hide the vinyl control section Mostrar/ocultar la sección del control del vinilo - + Preview Deck Show/Hide Ocultar/Mostrar reproductor de preescucha - + Show/hide the preview deck Oculta/Muestra el reproductor de pre-escucha - + Toggle 4 Decks Conmuta el modo de 4 platos - + Switches between showing 2 decks and 4 decks. Cambia entre mostrar 2 platos o 4 platos. - + Cover Art Show/Hide (Decks) Mostrar/ocultar carátulas (en Decks) - + Show/hide cover art in the main decks Mostrar/ocultar carátulas en los platos principales. - + Vinyl Spinner Show/Hide Mostrar/ocultar vinilo - + Show/hide spinning vinyl widget Mostrar/ocultar el widget de vinilo giratorio - + Vinyl Spinners Show/Hide (All Decks) Mostrar/ocultar los vinilos giratorios (todos los platos) - + Show/Hide all spinnies Mostrar/ocultar todos los giradores - + Toggle Waveforms Alternar formas de onda - + Show/hide the scrolling waveforms. Mostrar/ocultar las formas de onda deslizantes - + Waveform zoom Cambia el zoom de la forma de onda - + Waveform Zoom Zoom de forma de onda - + Zoom waveform in Incrementa el zoom de la forma de onda - + Waveform Zoom In Acercar zoom de forma de onda - + Zoom waveform out Reduce el zoom de la forma de onda - + Star Rating Up Agregar una estrella - + Increase the track rating by one star Incrementa la puntuación de la pista en una estrella - + Star Rating Down Quitar una estrella - + Decrease the track rating by one star Reduce la puntuación de la pista en una estrella @@ -3547,6 +3588,159 @@ trace - Arriba + Perfilar mensajes Desconocido + + ControllerHidReportTabsManager + + + Read + + + + + Send + + + + + Payload Size + + + + + bytes + + + + + Byte Position + + + + + Bit Position + + + + + Bit Size + + + + + Logical Min + + + + + Logical Max + + + + + Value + + + + + Physical Min + + + + + Physical Max + + + + + Unit Scaling + + + + + Unit + + + + + Abs/Rel + + + + + + Wrap + + + + + + Linear + + + + + + Preferred + + + + + + Null + + + + + + Volatile + + + + + Usage Page + + + + + Usage + + + + + Relative + + + + + Absolute + + + + + No Wrap + + + + + Non Linear + + + + + No Preferred + + + + + No Null + + + + + Non Volatile + + + ControllerInputMappingTableModel @@ -3682,27 +3876,27 @@ trace - Arriba + Perfilar mensajes ControllerScriptEngineLegacy - + Controller Mapping File Problem Problema del archivo del mapa de controlador - + The mapping for controller "%1" cannot be opened. El mapa del controlador "%1" no puede ser abierto. - + The functionality provided by this controller mapping will be disabled until the issue has been resolved. La funcionalidad provista por este mapa de controlador será desactivada hasta que el problema sea resuelto. - + File: Archivo: - + Error: Error: @@ -3735,7 +3929,7 @@ trace - Arriba + Perfilar mensajes - + Lock Bloquear @@ -3765,7 +3959,7 @@ trace - Arriba + Perfilar mensajes Fuente de pistas para Auto DJ - + Enter new name for crate: Escriba un nuevo nombre para el cajón: @@ -3782,22 +3976,22 @@ trace - Arriba + Perfilar mensajes Importar cajón - + Export Crate Exportar cajón - + Unlock Desbloquear - + An unknown error occurred while creating crate: Ocurrió un error desconocido al crear el cajón: - + Rename Crate Renombrar cajón @@ -3807,28 +4001,28 @@ trace - Arriba + Perfilar mensajes Haz una caja para tu próximo concierto, para tus temas electrohouse favoritos o para tus temas más solicitados. - + Confirm Deletion Confirmar Borrado - - + + Renaming Crate Failed No se pudo renombrar el cajón - + Crate Creation Failed Falló la creación del cajón - + M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Text CSV (*.csv);;Readable Text (*.txt) Lista de reproducción M3U (*.m3u);;Lista de reproducción M3U8 (*.m3u8);;Lista de reproducción PLS (*.pls);;Texto CSV (*.csv);;Texto legible (*.txt) - + M3U Playlist (*.m3u) Lista de reproducción M3U (*.m3u) @@ -3849,17 +4043,17 @@ trace - Arriba + Perfilar mensajes Los cajones permiten organizar tu música como tu quieras! - + Do you really want to delete crate <b>%1</b>? ¿Quieres eliminar la caja <b>%1</b>? - + A crate cannot have a blank name. Los cajones no pueden carecer de nombre. - + A crate by that name already exists. Ya existe un cajón con ese nombre. @@ -3954,12 +4148,12 @@ trace - Arriba + Perfilar mensajes Antiguos colaboradores - + Official Website Sitio web oficial - + Donate Donar @@ -4788,123 +4982,140 @@ Esto podría deberse a que estás usando una skin antigua y este control ya no e DlgPrefBroadcast - + Icecast 2 Icecast 2 - + Shoutcast 1 Shoutcast 1 - + Icecast 1 Icecast 1 - + MP3 MP3 - + Ogg Vorbis Ogg Vorbis - + Opus Opus - + AAC AAC - + HE-AAC HE-AAC - + HE-AACv2 HE-AACv2 - + Automatic Automático - + Mono Mono - + Stereo Estéreo - - - - + + Saving settings failed + + + + + The password for '%1' contains invalid characters. Please enter it again. + +Note: This can for example be invisible linebreaks when using copy/paste. + + + + + + Action failed Acción fallida - + You can't create more than %1 source connections. No se pueden crear más de %1 fuentes de emisión en vivo. - + Source connection %1 Fuente de emisión %1 - + + Settings for %1 + Settings for broadcast profile, %1 is the profile name placeholder + + + + At least one source connection is required. Se requiere almenos una fuente de emisión. - + Are you sure you want to disconnect every active source connection? ¿Seguro que deseas desconectar todas las fuentes de emisión activas? - - + + Confirmation required Se necesita confirmación - + '%1' has the same Icecast mountpoint as '%2'. Two source connections to the same server that have the same mountpoint can not be enabled simultaneously. '%1' tiene el mismo punto de montaje Icecast que '%2'. No se puede establecer dos conexiones simultáneas al mismo servidor, con el mismo punto de montaje. - + Are you sure you want to delete '%1'? ¿Deseas realmente borrar '%1'? - + Renaming '%1' Renombrando '%1' - + New name for '%1': Nuevo nombre para '%1': - + Can't rename '%1' to '%2': name already in use No se puede renombrar '%1' a '%2': el nombre está en uso @@ -4917,27 +5128,27 @@ No se puede establecer dos conexiones simultáneas al mismo servidor, con el mis Preferencias de Transmision en Vivo - + Mixxx Icecast Testing Prueba de «Icecast» de Mixxx - + Public stream Transmisión pública - + http://www.mixxx.org http://www.mixxx.org - + Stream name Nombre de la emisión - + Due to flaws in some streaming clients, updating Ogg Vorbis metadata dynamically can cause listener glitches and disconnections. Check this box to update the metadata anyway. Debido a errores en algunos clientes de transmisión, actualizar dinámicamente los metadatos Ogg Vorbis puede causar interferencias y desconexiones a los oyentes. Marque esta casilla para actualizar los metadatos de todos modos. @@ -4977,67 +5188,72 @@ No se puede establecer dos conexiones simultáneas al mismo servidor, con el mis Opciones para %1 - + + Available fields: $artist, $title, $year, $album, $genre, $bpm + + + + Dynamically update Ogg Vorbis metadata. Actualizar dinámicamente los metadatos Ogg Vorbis. - + ICQ ICQ - + AIM AIM - + Website Sitio web - + Live mix Mezcla en vivo - + IRC IRC - + Select a source connection above to edit its settings here Selecciona en la lista la fuente de emisión que desees editar - + Password storage Guardado de contraseñas - + Plain text Texto simple - + Secure storage (OS keychain) Almacen seguro (almacen de llaves del SO) - + Genre Genero - + Use UTF-8 encoding for metadata. Usar codificación UTF-8 para los metadatos. - + Description Descripción @@ -5063,42 +5279,42 @@ No se puede establecer dos conexiones simultáneas al mismo servidor, con el mis Canales - + Server connection Conexión al servidor - + Type Tipo - + Host Servidor - + Login Identificación - + Mount Montar - + Port Puerto - + Password Contraseña - + Stream info Información de la emisión @@ -5108,17 +5324,17 @@ No se puede establecer dos conexiones simultáneas al mismo servidor, con el mis Metadatos - + Use static artist and title. Usar texto de artista y título fijos - + Static title Titulo fijo - + Static artist Artista fijo @@ -5177,13 +5393,14 @@ No se puede establecer dos conexiones simultáneas al mismo servidor, con el mis DlgPrefColors - - + + + By hotcue number Por número de hotcue - + Color Color @@ -5228,17 +5445,22 @@ No se puede establecer dos conexiones simultáneas al mismo servidor, con el mis + Jump default color + + + + When key colors are enabled, Mixxx will display a color hint associated with each key. Cuando se han habilitado los colores de nota, Mixxx mostrará una pista de color asociada con cada nota. - + Enable Key Colors Activar colores de nota - + Key palette Paleta de notas @@ -5246,114 +5468,114 @@ associated with each key. DlgPrefController - + Apply device settings? ¿Aplicar la configuración del dispositivo? - + Your settings must be applied before starting the learning wizard. Apply settings and continue? La configuración debe ser aplicada antes de iniciar el asistente de aprendizaje. ¿Aplicar la configuración y continuar? - + None Ningún - + %1 by %2 %1 por %2 - + Mapping has been edited Se ha editado el mapeo - + Always overwrite during this session Siempre sobreescribir durante esta sesión - + Save As Guardar como - + Overwrite Sobreescribir - + Save user mapping Guardar mapeo del usuario - + Enter the name for saving the mapping to the user folder. Ingresar el nombre del archivo de mapeo para guardarlo en la carpeta de usuario. - + Saving mapping failed Ha fallado el guardado del mapeo - + A mapping cannot have a blank name and may not contain special characters. El nombre del mapeo no puede estar en blanco, ni contener caracteres especiales. - + A mapping file with that name already exists. Ya existe un archivo de mapeo con el mismo nombre. - + Do you want to save the changes? Quieres guardar los cambios? - + Troubleshooting Solución de problemas - + <font color='#BB0000'><b>If you use this mapping your controller may not work correctly. Please select another mapping or disable the controller.</b></font><br><br>This mapping was designed for a newer Mixxx Controller Engine and cannot be used on your current Mixxx installation.<br>Your Mixxx installation has Controller Engine version %1. This mapping requires a Controller Engine version >= %2.<br><br>For more information visit the wiki page on <a href='https://mixxx.org/wiki/doku.php/controller_engine_versions'>Controller Engine Versions</a>. <font color='#BB0000'><b>Si usas este mapeo, tu controlador podría no funcionar correctamente. Por favor selecciona otro mapeo o deshabilita el controlador. </b></font><br><br>Este mapeo fue diseñado para un nuevo Motor de Controladores de Mixxx, y no puede ser usado con tu instalación actual.<br>Tu instalación de Mixxx posee la version del Motor de Controladores %1. Este mapeo requiere una versión del Motor de controladores >=%2.<br><br>Para más información visita la wiki de <a href='https://mixxx.org/wiki/doku.php/controller_engine_versions'>Versiones del Motor de Controladores</a>. - + Mapping already exists. El mapeo ya existe. - + <b>%1</b> already exists in user mapping folder.<br>Overwrite or save with a new name? <b>%1</b> ya existe en la carpeta de mapeos de usuario. <br>¿Deseas sobreescribir o guardar con otro nombre? - + Clear Input Mappings Limpiar mapeos de Entrada - + Are you sure you want to clear all input mappings? Está seguro de querer eliminar todos los mapeos de entrada? - + Clear Output Mappings Limpiar mapeos de Salida - + Are you sure you want to clear all output mappings? Está seguro de querer eliminar todos los mapeos de salida? @@ -5371,100 +5593,105 @@ Apply settings and continue? Habilitado - + + Refresh mapping list + + + + Device Info Información del dispositivo - + Physical Interface: Interfase física - + Vendor name: Nombre del fabricante: - + Product name: Nombre del producto: - + Vendor ID ID del proveedor - + VID: VID: - + Product ID ID del producto - + PID: PID: - + Serial number: Número de serie: - + USB interface number: Número de interfaz USB - + HID Usage-Page: Página de uso HID - + HID Usage: Uso de HID: - + Description: Descripción: - + Support: Soporte: - + Screens preview Previsualizar pantallas - + Input Mappings Mapeos de Entrada - - + + Search Buscar - - + + Add Añadir - - + + Remove Quitar @@ -5484,17 +5711,17 @@ Apply settings and continue? Cargar Mapeo: - + Mapping Info Información de mapeo - + Author: Autor: - + Name: Nombre: @@ -5504,28 +5731,28 @@ Apply settings and continue? Asistente de aprendizaje (sólo MIDI) - + Data protocol: Protocolo de datos: - + Mapping Files: Archivos de mapeo - + Mapping Settings Configuración de mapeo - - + + Clear All Limpiar todo - + Output Mappings Mapeos de Salida @@ -5540,21 +5767,21 @@ Apply settings and continue? - Mixxx uses "mappings" to connect messages from your controller to controls in Mixxx. If you do not see a mapping for your controller in the "Load Mapping" menu when you click on your controller on the left sidebar, you may be able to download one online from the %1. Place the XML (.xml) and Javascript (.js) file(s) in the "User Mapping Folder" then restart Mixxx. If you download a mapping in a ZIP file, extract the XML and Javascript file(s) from the ZIP file to your "User Mapping Folder" then restart Mixxx. - Mixxx utiliza "mapeos" para conectar mensajes desde tu controlador a los controles en Mixxx. Si no ves un mapeo de tu controlador en el menu "Cargar Mapeo" cuando hagas click en tu controlador en la barra deslizable izquierda, pudieras descargar uno en línea desde %1. Coloca los archivos XML (.xml) y Javascript (.js) en la "Carpeta de Mapeo del Usuario" luego reinicia Mixxx. Si descargaste un mapeo en un archivo ZIP, extrae los archivos XML y Javascript del archivo ZIP a tu "Carpeta de Mapeo del Usuario" y luego reinicia Mixxx. + Mixxx uses "mappings" to connect messages from your controller to controls in Mixxx. If you do not see a mapping for your controller in the "Load Mapping" menu when you click on your controller on the left sidebar, you may be able to download one online from the %1. Place the XML (.xml) and Javascript (.js) file(s) in the "User Mapping Folder" then click the Reload button next to the mapping selector to reload all available mappings. If you download a mapping in a ZIP file, extract the XML and Javascript file(s) from the ZIP file to your "User Mapping Folder" then click the Reload button. + - + Mixxx DJ Hardware Guide Guía de Hardware de DJ de Mixxx - + MIDI Mapping File Format Formato de archivo de mapeos MIDI - + MIDI Scripting with Javascript Programación de Scripts MIDI con Javascript @@ -5723,137 +5950,137 @@ Apply settings and continue? DlgPrefDeck - + Mixxx mode Modo Mixxx - + Mixxx mode (no blinking) Modo Mixxx (sin parpadeo) - + Pioneer mode Modo Pioneer - + Denon mode Modo Denon - + Numark mode Modo Numark - + CUP mode Modo CUP - + mm:ss%1zz - Traditional mm:ss%1zz - Tradicional - + mm:ss - Traditional (Coarse) mm:ss - Tradicional (grueso) - + s%1zz - Seconds s%1zz - Segundos - + sss%1zz - Seconds (Long) sss%1zz - Segundos (Duración) - + s%1sss%2zz - Kiloseconds s%1sss%2zz - Kilosegundos - + Intro start Inicio de la entrada - + Main cue Marcador principal - + First hotcue Primera hotcue - + First sound (skip silence) Primer sonido (saltar silencio) - + Beginning of track Principio de la pista - + Reject Rechazar - + Allow, but stop deck Permitir, pero detener deck - + Allow, play from load point Permitir, reproducir desde el punto de carga - + 4% 4% - + 6% (semitone) 6% (seminota) - + 8% (Technics SL-1210) 8% (Technics SL-1210) - + 10% 10% - + 16% 16% - + 24% 24% - + 50% 50% - + 90% 90% @@ -6313,57 +6540,57 @@ Siempre puedes arrastrar y tirar pistas en la pantalla para clonar una plataform El tamaño mínimo de la apariencia seleccionada es mas grande que la resolucion de su pantalla. - + Allow screensaver to run Permite el salvapantallas - + Prevent screensaver from running Evita que se active el salvapantallas - + Prevent screensaver while playing Evita el salvapantallas mientras reproduce - + Disabled Desactivado - + 2x MSAA 2x MSAA - + 4x MSAA 4x MSAA - + 8x MSAA 8x MSAA - + 16x MSAA 16x MSAA - + This skin does not support color schemes Este skin no soporta esquemas de color - + Information Información - + Mixxx must be restarted before the new locale, scaling or multi-sampling settings will take effect. Mixxx debe ser reiniciado para que el nuevo ajuste de locale, escalado o multi-muestreo tenga efecto. @@ -6591,67 +6818,97 @@ y te permite ajustar su pitch para lograr mezclas armónicas. Ver el manual para más detalles - + Music Directory Added Directorio de Musica Agregado - + You added one or more music directories. The tracks in these directories won't be available until you rescan your library. Would you like to rescan now? Has agregado uno o más directorios de música. Las pistas de estos directorios no estarán disponibles hasta que vuelva a escanear la biblioteca. Le gustaría escanearla ahora? - + Scan Escanear - + Item is not a directory or directory is missing El ítem no es un directorio, o el directorio no ha sido encontrado - + Choose a music directory Elija un directorio de música - + Confirm Directory Removal Confirme la eliminación del directorio - + Mixxx will no longer watch this directory for new tracks. What would you like to do with the tracks from this directory and subdirectories?<ul><li>Hide all tracks from this directory and subdirectories.</li><li>Delete all metadata for these tracks from Mixxx permanently.</li><li>Leave the tracks unchanged in your library.</li></ul>Hiding tracks saves their metadata in case you re-add them in the future. Mixxx no seguirá observando el directorio por nuevas pistas. Que quiere hacer con las pistas de esta carpeta y subcarpetas que están en la biblioteca?<ul><li>Esconder las pistas de la carpeta y subcarpetas.</li><li>Borrar los metadatos de estas pistas de forma permanente.</li><li>Mantener las pistas en la biblioteca.</li></ul>Esconder las pistas permite guardar los metadatos en caso que quiera volverlas a la bibloteca. - + Metadata means all track details (artist, title, playcount, etc.) as well as beatgrids, hotcues, and loops. This choice only affects the Mixxx library. No files on disk will be changed or deleted. Metadatos significa todos los detalles de la pista (artista, titulo, cantidad de reproducciones, etc) como cuadrículas de tempo, hotcues y bucles. Este cambio solo afecta a la biblioteca de Mixxx. Ningun archivo en el disco será cambiado o eliminado. - + Hide Tracks Ocultar Pistas - + Delete Track Metadata Eliminar Metadatos de la pista - + Leave Tracks Unchanged Dejar pistas sin cambios - + Relink music directory to new location Reenlazar el directorio de musica en una nueva ubicación - + + Black + + + + + ExtraBold + + + + + Bold + + + + + SemiBold + + + + + Medium + + + + + Light + + + + Select Library Font Seleccionar la Fuente para Biblioteca @@ -6700,262 +6957,267 @@ y te permite ajustar su pitch para lograr mezclas armónicas. Re-escanear directorios al inicio - + Audio File Formats Formatos de archivo de sonido - + Track Table View Vista Tabla de Pistas - + Track Double-Click Action: Acción doble-click de Pista: - + BPM display precision: Precisión al mostrar los BPM: - + Session History Historia de la sesión - + Track duplicate distance Duplicar Distancia de Pista - + When playing a track again log it to the session history only if more than N other tracks have been played in the meantime Cuando reproduces una pista de nuevo, anéxala al historial de la sesión sólo si más de N otras pistas han sido reproducidas mientras tanto. - + History playlist with less than N tracks will be deleted<br/><br/>Note: the cleanup will be performed during startup and shutdown of Mixxx. Historial de lista de reproducciones con menos de N pistas serán borradas<br/><br/>Nota: la limpieza será realizada durante el inicio y el cierre de Mixxx. - + Delete history playlist with less than N tracks Borrar historial de listado de pistas con menos de N pistas - + Library Font: Fuente para Biblioteca: - + + Show scan summary dialog + + + + Grey out played tracks Oscurecer pistas ya tocadas - + Track Search Buscar una pista - + Enable search completions Permitir completar búsquedas - + Enable search history keyboard shortcuts Activar los atajos de teclado del historial de búsqueda - + Percentage of pitch slider range for 'fuzzy' BPM search: Porcentaje del rango del deslizador de pitch para búsqueda de BPM "difuso-variable". - + This range will be used for the 'fuzzy' BPM search (~bpm:) via the search box, as well as for BPM search in Track context menu > Search related Tracks Este rango será utilizado para buscar BPM "difuso-variable" (~bpm:) en la caja de búsqueda, además de la búsqueda de BPM en el menú contextual Pista > Buscar pistas relacionadas - + Preferred Cover Art Fetcher Resolution Resolución preferida del buscador de carátulas - + Fetch cover art from coverartarchive.com by using Import Metadata From Musicbrainz. Obtén carátulas de coverartarchive.com mediante Import Metadata From Musicbrainz. - + Note: ">1200 px" can fetch up to very large cover arts. Nota: ">1200 px" puede referirse a carátulas muy grandes. - + >1200 px (if available) >1200 px (si está disponible) - + 1200 px (if available) 1200 px (si está disponible) - + 500 px 500 px - + 250 px 250 px - + Settings Directory Directorio de configuración - + The Mixxx settings directory contains the library database, various configuration files, log files, track analysis data, as well as custom controller mappings. El directorio de configuración de Mixxx contiene la base de datos de la biblioteca, varios archivos de configuración, archivos de bitácoras, datos de análisis de pistas, así como mapeos de controladores personalizados. - + Edit those files only if you know what you are doing and only while Mixxx is not running. Edita estos archivos solo si sabes lo que estás haciendo, y solo cuando Mixxx no esté siendo ejecutado. - + Open Mixxx Settings Folder Abrir carpeta de ajustes de Mixxx - + Library Row Height: Alto de la Fila en Biblioteca: - + Use relative paths for playlist export if possible Usar rutas relativas al exportar lista de reproducción cuando sea posible - + ... ... - + px px - + Synchronize library track metadata from/to file tags Sincroniza los metadatos de la librería de pistas desde/hacia las etiquetas de archivos - + Automatically write modified track metadata from the library into file tags and reimport metadata from updated file tags into the library Automáticamente escribe metadatos de las pistas modificadas desde la biblioteca a las etiquetas del archivo y reimporta metadatos desde las etiquetas actualizadas del archivo a la biblioteca - + Synchronize Serato track metadata from/to file tags (experimental) Sincroniza metadatos de la pista de Serato desde/hacia las etiquetas de archivo (experimental) - + Keeps track color, beat grid, bpm lock, cue points, and loops synchronized with SERATO_MARKERS/MARKERS2 file tags.<br/><br/>WARNING: Enabling this option also enables the reimport of Serato metadata after files have been modified outside of Mixxx. On reimport existing metadata in Mixxx is replaced with the metadata found in file tags. Custom metadata not included in file tags like loop colors is lost. Mantiene el color de la pista, la cuadrícula del ritmo, bloqueo de bpm, puntos de marcado, y bucles sincronizados con las etiquetas de archivo SERATO_MARKERS/MARKERS2.<br/><br/>ADVERTENCIA: Habilitando esta opción también habilita la reimportación de metadatos de Serato después de que los archivos han sido modificados afuera de Mixxx. Al reimportar metadatos existentes en Mixxx se remplaza con los metadatos encontrados en las etiquetas de archivos. Los Metadatos personalizados no incluidos en las etiquetas de archivos como los colores de los bucles se perderán. - + Edit metadata after clicking selected track Editar metadatos al clicar en una pista seleccionada - + Search-as-you-type timeout: Tiempo de espera de búsqueda mientras escribe: - + ms ms - + Load track to next available deck Carga la pista en el siguiente plato disponible - + External Libraries Bibliotecas externas - + You will need to restart Mixxx for these settings to take effect. Usted tendrá que reiniciar Mixxx para que esta configuración surta efecto. - + Show Rhythmbox Library Mostrar la librería de Rhythmbox - + Track Metadata Synchronization / Playlists Metadatos de sincronización de pistas / Listas de reproducción - + Add track to Auto DJ queue (bottom) Añadir pista al final de la cola de Auto DJ - + Add track to Auto DJ queue (top) Añadir pista a la cola de Auto DJ (al comienzo) - + Ignore Ignorar - + Show Banshee Library Mostrar la bibiloteca de Banshee - + Show iTunes Library Mostrar la librería de ITunes - + Show Traktor Library Mostrar la librería de Traktor - + Show Rekordbox Library Mostrar la Librería de Rekordbox - + Show Serato Library Mostrar la Librería de Serato - + All external libraries shown are write protected. Todas las bibliotecas mostradas estan protegidas frente a escritura. @@ -7300,33 +7562,33 @@ y te permite ajustar su pitch para lograr mezclas armónicas. DlgPrefRecord - + Choose recordings directory Elegir la carpeta para las grabaciones - - + + Recordings directory invalid Directorio de grabaciones inválido - + Recordings directory must be set to an existing directory. El directorio de Grabaciones debe configurarse a un directorio existente. - + Recordings directory must be set to a directory. El directorio de Grabaciones debe configurarse a un directorio. - + Recordings directory not writable Directorio de Grabaciones no escribible - + You do not have write access to %1. Choose a recordings directory you have write access to. No tienes acceso de escritura en %1. Escoge un directorio de grabación en el que tengas acceso de escritura. @@ -7344,43 +7606,55 @@ y te permite ajustar su pitch para lograr mezclas armónicas. Examinar… - - + + This will include the filepath for each track in the CUE file. +This option makes the CUE file less portable and can reveal personal +information from filepaths (i.e. username) + + + + + Enable File Annotation in CUE file + + + + + Quality Calidad - + Tags Etiquetas - + Title Título - + Author Autor - + Album Album - + Output File Format Formato de fichero de salida - + Compression Compresión - + Lossy Con pérdidas @@ -7395,12 +7669,12 @@ y te permite ajustar su pitch para lograr mezclas armónicas. Directorio: - + Compression Level Nivel de compresión - + Lossless Sin pérdidas @@ -7533,172 +7807,177 @@ El objetivo de sonoridad es aproximado y asume que la preganancia de la pista y DlgPrefSound - + %1 Hz %1 Hz - + Default (long delay) Por Defecto (mas retardo) - + Experimental (no delay) Experimental (sin retardo) - + Disabled (short delay) Desactivado (poco retardo) - + Soundcard Clock Reloj de la tarjeta de sonido - + Network Clock Reloj de red - + Direct monitor (recording and broadcasting only) Monitorización directa (solo grabación y emisión en vivo) - + Disabled Desactivado - + Enabled Habilitado - + Stereo Estéreo - + Mono Mono - + To enable Realtime scheduling (currently disabled), see the %1. Para activar el Planificador en tiempo real (actualmente desactivado), mira %1. - + The %1 lists sound cards and controllers you may want to consider for using Mixxx. %1 muestra una lista de tarjetas de sonido y controladores que podrías considerar para utilizar con Mixxx - + Mixxx DJ Hardware Guide Guía de Hardware DJ de Mixxx - + + Find details in the Mixxx user manual + + + + Information Información - + Mixxx must be restarted before the multi-threaded RubberBand setting change will take effect. Mixxx debe ser reiniciado para que el cambio de ajuste de RubberBand multi-hilo tenga efecto. - + auto (<= 1024 frames/period) auto (<= 1024 fotogramas/período) - + 2048 frames/period 2048 fotogramas/período - + 4096 frames/period 4096 fotogramas/período - + Are you sure? ¿Estás seguro(a)? - + Distribute stereo channels into mono channels for parallel processing will result in a loss of mono compatibility and a diffuse stereo image. It is not recommended during broadcasting or recording. Distribuir los canales estéreo en canales mono para su procesamiento en paralelo podría resultar en la pérdida de la compatibilidad mono y una imagen estéreo difusa. No se recomienda al transmitir en vivo o al grabar. - + Are you sure you wish to proceed? ¿Realmente deseas continuar? - + No No - + Yes, I know what I am doing Sí, se lo que estoy haciendo - + Microphone inputs are out of time in the record & broadcast signal compared to what you hear. La entrada de micrófono está desincronizada respecto la grabación y emisión comparado con la señal que se oye. - + Measure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. Mide la latencia total e introducela en la Compensacion de latencia del micrófono para sincronizar el micrófono. - + Refer to the Mixxx User Manual for details. Para más detalles, lea el manual de usuario de Mixxx. - + Configured latency has changed. La latencia configurada ha cambiado. - + Remeasure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. Vuelve a medir la latencia total e introducela en la Compensacion de latencia del micrófono para sincronizar el micrófono. - + Realtime scheduling is enabled. La planificación en Tiempo Real está activada. - + Main output only Solo Salida principal - + Main and booth outputs Salidas principal y de cabina - + %1 ms %1 ms - + Configuration error Error de configuración @@ -7765,17 +8044,22 @@ El objetivo de sonoridad es aproximado y asume que la preganancia de la pista y ms - + + Deck and Bus outputs are for external mixers. They are post-fader and include effects and crossfader (for Auto DJ). For external mixing, make sure all Mixxx faders and EQ knobs are set to their default position (right- or double-click). + + + + 20 ms 20 ms - + Buffer Underflow Count Contador de vaciado del búfer - + 0 0 @@ -7800,12 +8084,12 @@ El objetivo de sonoridad es aproximado y asume que la preganancia de la pista y Entrada - + System Reported Latency Latencia reportada por el sistema - + Enlarge your audio buffer if the underflow counter is increasing or you hear pops during playback. Aumente su búfer de audio si el contador de desbordamiento está aumentando o escuchas chasquidos durante la reproducción. @@ -7835,7 +8119,7 @@ El objetivo de sonoridad es aproximado y asume que la preganancia de la pista y Diagnóstico y sugerencias - + Downsize your audio buffer to improve Mixxx's responsiveness. Disminuya su búfer de audio para mejorar la velocidad de respuesta de Mixxx. @@ -7882,7 +8166,7 @@ El objetivo de sonoridad es aproximado y asume que la preganancia de la pista y Configuración de Vinilo - + Show Signal Quality in Skin Mostrar Calidad de Señal en la apariencia @@ -7918,46 +8202,51 @@ El objetivo de sonoridad es aproximado y asume que la preganancia de la pista y + Pitch estimator + + + + Deck 1 Plato 1 - + Deck 2 Plato 2 - + Deck 3 Plato 3 - + Deck 4 Plato 4 - + Signal Quality Calidad de Señal - + http://www.xwax.co.uk http://www.xwax.co.uk - + Powered by xwax Con tecnología de xwax - + Hints Sugerencias - + Select sound devices for Vinyl Control in the Sound Hardware pane. Seleccione los dispositivos de sonico para el Control por Vinilo en el Panel de Hardware de Sonido. @@ -7965,58 +8254,58 @@ El objetivo de sonoridad es aproximado y asume que la preganancia de la pista y DlgPrefWaveform - + Filtered Filtrada - + HSV HSV - + RGB RGB - + Top Arriba - + Center Centrado - + Bottom Abajo - + 1/3 of waveform viewer options for "Text height limit" 1/3 de visualización de forma de onda - + Entire waveform viewer Visor de forma de onda completa - + OpenGL not available OpenGL no disponible - + dropped frames fotogramas perdidos - + Cached waveforms occupy %1 MiB on disk. Formas de onda almacenadas en caché ocupan %1 MiB en el disco. @@ -8034,22 +8323,17 @@ El objetivo de sonoridad es aproximado y asume que la preganancia de la pista y Tasa de fotograma - + OpenGL Status Estado de OpenGL - + Displays which OpenGL version is supported by the current platform. Muestra qué versión de OpenGL es soportada por la plataforma actual. - - Normalize waveform overview - Normalizar vista de forma de onda - - - + Average frame rate Refresco de pantalla promedio @@ -8065,7 +8349,7 @@ El objetivo de sonoridad es aproximado y asume que la preganancia de la pista y Nivel de zoom por defecto - + Displays the actual frame rate. Muestra la tasa de refresco actual. @@ -8100,7 +8384,7 @@ El objetivo de sonoridad es aproximado y asume que la preganancia de la pista y Graves - + Show minute markers on waveform overview Mostrar marcadores de minutos en la vista de forma de onda @@ -8145,7 +8429,7 @@ El objetivo de sonoridad es aproximado y asume que la preganancia de la pista y Ganancia visual global - + The waveform overview shows the waveform envelope of the entire track. Select from different types of displays for the waveform overview, which differ primarily in the level of detail shown in the waveform. La vista general de forma de onda muestra la forma de onda de la pista entera. @@ -8214,22 +8498,22 @@ Elija entre los distintos tipos de visualización para la forma de onda, que se pt - + Caching Almacenamiento en caché - + Mixxx caches the waveforms of your tracks on disk the first time you load a track. This reduces CPU usage when you are playing live but requires extra disk space. Mixxx almacena en caché las formas de onda de las pistas en el disco la primera vez que se carga una pista. Esto reduce el uso de la CPU cuando se está jugando en vivo, pero requiere espacio en disco adicional. - + Enable waveform caching Habilitar el almacenamiento en caché de forma de onda - + Generate waveforms when analyzing library Generar formas de onda cuando se analiza la biblioteca @@ -8245,7 +8529,7 @@ Elija entre los distintos tipos de visualización para la forma de onda, que se - + Type Tipo @@ -8275,12 +8559,58 @@ Elija entre los distintos tipos de visualización para la forma de onda, que se Mover the marcador de posición en la pista a la izquierda, derecha o centro (Defabrica). - - Overview Waveforms - Visualizar formas de onda + + Stem + + + + + Channel opacity + + + + + Channel opacity (outline) + + + + + Main stem opacity + + + + + Outline stem opacity + + + + + Move channel to foreground when volume is adjusted + + + + + Overview Waveforms + Visualizar formas de onda + + + + Gain + + + + + Normalize to peak + + + + + Use Waveform "Global" gain and ReplayGain (if enabled) + 'Global' refers to the 'Global' visual gain in the scrolling waveform settings + - + Clear Cached Waveforms Las formas de onda claras en caché @@ -8772,7 +9102,7 @@ Carpeta: %2 BPM: - + Location: Ubicación: @@ -8787,27 +9117,27 @@ Carpeta: %2 Comentarios - + BPM BPM - + Sets the BPM to 75% of the current value. Ajusta el BPM al 75% del valor actual. - + 3/4 BPM 3/4 BPM - + Sets the BPM to 50% of the current value. Ajusta el BPM al 50% del valor actual. - + Displays the BPM of the selected track. Mostrar los BPMs de la pista seleccionada. @@ -8862,49 +9192,49 @@ Carpeta: %2 Genero - + ReplayGain: Ganancia de repetición: - + Sets the BPM to 200% of the current value. Ajusta el BPM al 200% del valor actual. - + Double BPM Duplicar BPM - + Halve BPM Reducir a la mitad los BPM - + Clear BPM and Beatgrid Borrar el BPM y la cuadrícula de tempo - + Move to the previous item. "Previous" button Mover al elemento anterior. - + &Previous &Previo - + Move to the next item. "Next" button Mover al siguiente elemento. - + &Next &Siguiente @@ -8929,12 +9259,12 @@ Carpeta: %2 Color - + Date added: Fecha de adición: - + Open in File Browser Abrir en el explorador de archivos @@ -8944,12 +9274,17 @@ Carpeta: %2 Tasa de muestreo: - + + Filesize: + + + + Track BPM: BPM de la pista: - + Converts beats detected by the analyzer into a fixed-tempo beatgrid. Use this setting if your tracks have a constant tempo (e.g. most electronic music). Often results in higher quality beatgrids, but will not do well on tracks that have tempo shifts. @@ -8958,90 +9293,90 @@ Utiliza este ajuste si tus pistas tienen un tempo constante (ej. la mayoría de A menudo resulta en una cuadrícula de mayor calidad, pero no lo hacemos bien en pistas que tienen cambios de tempo. - + Assume constant tempo Asumir tempo constante - + Sets the BPM to 66% of the current value. Ajusta el BPM al 66% del valor actual. - + 2/3 BPM 2/3 BPM - + Sets the BPM to 150% of the current value. Incrementa el BPM al 150% del valor actual. - + 3/2 BPM 3/2 BPM - + Sets the BPM to 133% of the current value. Incrementa el BPM al 133% del valor actual. - + 4/3 BPM 4/3 BPM - + Tap with the beat to set the BPM to the speed you are tapping. Golpee siguiendo el ritmo para establecer el BPM. - + Tap to Beat Pulse siguiendo el ritmo - + Hint: Use the Library Analyze view to run BPM detection. Truco: Use la vista de análisis en la biblioteca para ejecutar la detección de BPM. - + Save changes and close the window. "OK" button Guardar cambios y cerrar la ventana. - + &OK &OK - + Discard changes and close the window. "Cancel" button Descartar cambios y cerrar. - + Save changes and keep the window open. "Apply" button Guardar cambios y mantener abierta la ventana. - + &Apply &Aplicar - + &Cancel &Cancelar - + (no color) (sin color) @@ -9198,7 +9533,7 @@ A menudo resulta en una cuadrícula de mayor calidad, pero no lo hacemos bien en &OK - + (no color) (sin color) @@ -9400,27 +9735,27 @@ A menudo resulta en una cuadrícula de mayor calidad, pero no lo hacemos bien en EngineBuffer - + Soundtouch (faster) Soundtouch (rápido) - + Rubberband (better) Rubberband (mejor) - + Rubberband R3 (near-hi-fi quality) Banda elástica R3 (calidad casi alta fidelidad) - + Unknown, using Rubberband (better) Desconocido, utilizando Banda elástica (mejor) - + Unknown, using Soundtouch Desconocido, usando Soundtouch @@ -9635,15 +9970,15 @@ A menudo resulta en una cuadrícula de mayor calidad, pero no lo hacemos bien en LegacySkinParser - - + + Safe Mode Enabled Shown when Mixxx is running in safe mode. Modo Seguro Activado - - + + No OpenGL support. Shown when Spinny can not be displayed. Please keep @@ -9655,57 +9990,57 @@ Shown when VuMeter can not be displayed. Please keep de OpenGL. - + activate activar - + toggle conmutar - + right derecha - + left izquierda - + right small derecha pequeño - + left small izquierda pequeño - + up arriba - + down abajo - + up small arriba pequeño - + down small abajo pequeño - + Shortcut Atajo @@ -9713,37 +10048,37 @@ de OpenGL. Library - + This or a parent directory is already in your library. Este directorio o su superior ya se encuentra en tu biblioteca. - + This or a listed directory does not exist or is inaccessible. Aborting the operation to avoid library inconsistencies Este directorio o el indicado no existe o es inaccesible. Cancelando la operación para evitar inconsistencias de biblioteca. - - + + This directory can not be read. Este directorio no puede ser leído. - + An unknown error occurred. Aborting the operation to avoid library inconsistencies Ha ocurrido un error desconocido. Cancelando la operación para evitar inconsistencias de biblioteca - + Can't add Directory to Library No se pudo agregar el directorio a la biblioteca - + Could not add <b>%1</b> to your library. %2 @@ -9752,27 +10087,27 @@ Cancelando la operación para evitar inconsistencias de biblioteca %2 - + Can't remove Directory from Library No se pudo remover el directorio de la biblioteca. - + An unknown error occurred. Ha ocurrido un error desconocido. - + This directory does not exist or is inaccessible. Este directorio no existe o es inaccesible. - + Relink Directory Reenlazar directorio - + Could not relink <b>%1</b> to <b>%2</b>. %3 @@ -9937,12 +10272,12 @@ Do you really want to overwrite it? Pistas Ocultas - + Export to Engine DJ Exportar a Engine DJ - + Tracks Pistas @@ -9950,37 +10285,37 @@ Do you really want to overwrite it? MixxxMainWindow - + Sound Device Busy El dispositivo de sonido está ocupado - + <b>Retry</b> after closing the other application or reconnecting a sound device <b>Reintente</b> luego de cerrar las otras aplicaciones o reconectar un dispositivo de sonido - - - + + + <b>Reconfigure</b> Mixxx's sound device settings. <b>Reconfigure</b> las opciones del dispositivo de sonido de Mixxx. - - + + Get <b>Help</b> from the Mixxx Wiki. Obtenga <b>ayuda</b> del wiki de Mixxx. - - - + + + <b>Exit</b> Mixxx. <b>Salir</b> de Mixxx. - + Retry Reintentar @@ -9990,213 +10325,213 @@ Do you really want to overwrite it? apariencia - + Allow Mixxx to hide the menu bar? ¿Permitir a Mixxx ocultar la barra de menú? - + Hide Always show the menu bar? Ocultar - + Always show Mostrar siempre - + The Mixxx menu bar is hidden and can be toggled with a single press of the <b>Alt</b> key.<br><br>Click <b>%1</b> to agree.<br><br>Click <b>%2</b> to disable that, for example if you don't use Mixxx with a keyboard.<br><br>You can change this setting any time in Preferences -> Interface.<br> Keep formatting tags <b> (bold text) and <br> (linebreak). %1 is the placeholder for the 'Always show' button label La barra de menú de Mixxx ha sido ocultada y se puede alternar presionando la tecla <b>Alt</b>. <br><br>Haz clic en <b>%1</b> para aceptar. <br><br>Haz clic en <b>%2</b> para desactivarlo, por ejemplo si usas Mixxx sin un teclado. <br><br>Puedes cambiar este ajuste en cualquier momento en Preferencias -> Interfaz. <br> - + Ask me again Pregúntame de nuevo - - + + Reconfigure Reconfigurar - + Help Ayuda - - + + Exit Salir - - + + Mixxx was unable to open all the configured sound devices. Mixxx no ha podido activar todos los dispositivos de sonido configurados. - + Sound Device Error Error del dispositivo de sonido - + <b>Retry</b> after fixing an issue <b>Reintenta</b> una vez corregido el problema - + No Output Devices No hay dispositivos de salida - + Mixxx was configured without any output sound devices. Audio processing will be disabled without a configured output device. Mixxx fue configurado sin ningún dispositivo de salida de audio. El procesamiento de audio estará desactivado mientras no se configure un dispositivo de audio de salida. - + <b>Continue</b> without any outputs. <b>Continuar</b> sin ninguna salida. - + Continue Continuar - + Load track to Deck %1 Cargar pista al plato %1 - + Deck %1 is currently playing a track. El plato %1 está reproduciendo una pista. - + Are you sure you want to load a new track? ¿Está seguro de cargar una pista nueva? - + There is no input device selected for this vinyl control. Please select an input device in the sound hardware preferences first. No hay ningún dispositivo de entrada seleccionado para el control por vinilo. Por favor, seleccione un dispositivo de entrada en las preferencias de hardware de sonido. - + There is no input device selected for this passthrough control. Please select an input device in the sound hardware preferences first. No hay ningún dispositivo de entrada seleccionado para el control passthrough. Por favor, seleccione un dispositivo de entrada en las preferencias de hardware de sonido. - + There is no input device selected for this microphone. Do you want to select an input device? No se ha seleccionado un dispositivo de Entrada para este micrófono. ¿Deseas escoger uno ahora? - + There is no input device selected for this auxiliary. Do you want to select an input device? No se ha seleccionado un dispositivo de entrada para este Auxiliar. ¿Deseas escoger uno ahora? - + Scan took %1 El escaneo tomo %1 - + No changes detected. No se han detectado cambios - - + + %1 tracks in total %1 pistas en total - + %1 new tracks found Encontradas %1 pistas nuevas - + %1 moved tracks detected %1 pistas movidas detectadas - + %1 tracks are missing (%2 total) %1 pistas perdidas (%2 en total) - + %1 tracks have been rediscovered %1 pistas han sido reencontradas - + Library scan finished Escaneo de la biblioteca terminado - + Error in skin file Error en el archivo de la apariencia - + The selected skin cannot be loaded. No se ha podido cargar la apariencia seleccionada. - + OpenGL Direct Rendering Renderizado directo de OpenGL - + Direct rendering is not enabled on your machine.<br><br>This means that the waveform displays will be very<br><b>slow and may tax your CPU heavily</b>. Either update your<br>configuration to enable direct rendering, or disable<br>the waveform displays in the Mixxx preferences by selecting<br>"Empty" as the waveform display in the 'Interface' section. El renderizado directo no está habilitado en su máquina. <br><br>Esto significa que las visualizaciones de forma de onda serán muy <br><b>lentas y pueden exigir mucho a su CPU</b>. Actualice su <br>configuración para habilitar la representación directa o desactiv<br> las visualizaciones de forma de onda en las preferencias de Mixxx seleccionando <br>"Vacío" como la pantalla de forma de onda en la sección 'Interfaz'. - - - + + + Confirm Exit Confirmar salida - + A deck is currently playing. Exit Mixxx? Un plato está reproduciendo. ¿Salir de Mixxx? - + A sampler is currently playing. Exit Mixxx? Un reproductor de muestras está en reproducción. ¿Salir de Mixxx? - + The preferences window is still open. La ventana de preferencias todavía está abierta. - + Discard any changes and exit Mixxx? ¿Descartar cambios y salir de Mixxx? @@ -10212,13 +10547,13 @@ Do you want to select an input device? PlaylistFeature - + Lock Bloquear - - + + Playlists Listas de reproducción @@ -10228,58 +10563,63 @@ Do you want to select an input device? Aleatorizar lista de reproducción - + + Adopt current order + + + + Unlock all playlists - + Delete all unlocked playlists - + Unlock Desbloquear - - + + Confirm Deletion - + Do you really want to delete all unlocked playlists? - + Deleting %1 unlocked playlists.<br>This operation can not be undone! - + Playlists are ordered lists of tracks that allow you to plan your DJ sets. Las listas de reproducción son listar ordenadas de pistas que te permiten planificar tus sesiones de DJ. - + It may be necessary to skip some tracks in your prepared playlist or add some different tracks in order to maintain the energy of your audience. Podría ser necesario saltar algunas pistas en tu lista de reproducción planificada, o añadir algunas pistas diferentes, con el fin de mantener la energía de tu audiencia. - + Some DJs construct playlists before they perform live, but others prefer to build them on-the-fly. Algunos DJ preparan listas de reproducción antes de tocar en vivo, pero otros prefieren hacerlo en el momento. - + When using a playlist during a live DJ set, remember to always pay close attention to how your audience reacts to the music you've chosen to play. Cuando uses una lista de reproducción en una actuación en vivo, recuerda siempre prestar mucha atención a cómo reacciona la audiencia con la música que has elegido reproducir. - + Create New Playlist Crear nueva lista de reproducción @@ -10378,59 +10718,59 @@ Do you want to select an input device? QMessageBox - + Upgrading Mixxx Actualizando Mixxx - + Mixxx now supports displaying cover art. Do you want to scan your library for cover files now? Mixxx ha añadido soporte para mostrar carátulas. ¿Desea escanear la biblioteca ahora para encontrar las carátulas? - + Scan Escanear - + Later Después - + Upgrading Mixxx from v1.9.x/1.10.x. Actualizar Mixxx desde v1.9.x/1.10.x. - + Mixxx has a new and improved beat detector. Mixxx ahora tiene un nuevo y mejorado analizador de ritmo. - + When you load tracks, Mixxx can re-analyze them and generate new, more accurate beatgrids. This will make automatic beatsync and looping more reliable. Cuando cargas pistas, Mixxx puede reanalizarlas y generar cuadrículas de tempo nuevas y más precisas. Esto hará que la sincronización y los Loops sean más fiables. - + This does not affect saved cues, hotcues, playlists, or crates. Esto no afecta a los Cues, Hotcues, listas de reproducción o cajas guardados/as. - + If you do not want Mixxx to re-analyze your tracks, choose "Keep Current Beatgrids". You can change this setting at any time from the "Beat Detection" section of the Preferences. Si no quieres que Mixxx reanalize tus pistas, elige "Mantener las cuadrículas de tempo actuales". Puedes cambiar esta configuración en cualquier momento desde la sección "Detección de Beats" de la ventana Preferencias. - + Keep Current Beatgrids Mantener las cuadrículas de tempo actuales - + Generate New Beatgrids Generar nuevas cuadrículas de tempo @@ -10544,69 +10884,82 @@ Do you want to scan your library for cover files now? 14-bit (MSB) - + Main + Audio path indetifier Principal - + Booth + Audio path indetifier Cabina - + Headphones + Audio path indetifier Auriculares - + Left Bus + Audio path indetifier Bus izquierdo - + Center Bus + Audio path indetifier Bus central - + Right Bus + Audio path indetifier Bus derecho - + Invalid Bus + Audio path indetifier Bus inválido - + Deck + Audio path indetifier Plato - + Record/Broadcast + Audio path indetifier Grabación / Emisión en vivo - + Vinyl Control + Audio path indetifier Control de vinilo - + Microphone + Audio path indetifier Micrófono - + Auxiliary + Audio path indetifier Auxiliar - + Unknown path type %1 + Audio path Tipo de ruta %1 desconocida @@ -10949,47 +11302,49 @@ Si la amplitud es cero, este parámetro permite mover la posición manualmente p Ancho - + Metronome Metrónomo - + + The Mixxx Team Equipo de Mixxx - + Adds a metronome click sound to the stream Añade el sonido de tic tac de un metrónomo a la señal de salida - + BPM BPM - + Set the beats per minute value of the click sound Define las pulsaciones por minuto del tic tac - + Sync Sincronizar - + Synchronizes the BPM with the track if it can be retrieved Sincroniza el BPM con el de la pista, si se puede obtener - + + Gain Ganancia - + Set the gain of metronome click sound Configura la ganancia del sonido del metrónomo @@ -11793,14 +12148,14 @@ Todo a la derecha: final del período La grabación OGG no está soportada. La librería OGG/Vorbis podría no inicializarse. - - + + encoder failure falla del codificador - - + + Failed to apply the selected settings. Fallo al aplicar los ajustes seleccionados. @@ -12009,15 +12364,86 @@ para mantener la señal entrante y saliente tan sonoras como sea posible.Encendido + + Auto Gain Control + + + + + AGC + + + + + Auto Gain Control (AGC) automatically adjusts the gain of an audio signal to maintain a consistent output level. + + + + Threshold (dBFS) Límite (Threshold, dBFS) + Threshold Límite + + + The Threshold knob adjusts the level above which the effect starts enhancing the input signal + + + + + Target (dBFS) + + + + + Target + + + + + The Target knob adjusts the desired target level of the output signal + + + + + Gain (dB) + + + + + The Gain knob adjusts the maximum amount of gain that the effect will apply + + + + + Knee (dB) + + + + + The Knee knob defines the range around the Threshold where gain changes are applied gradually, +ensuring smooth transitions and avoiding abrupt level shifts. + + + + + The Attack knob sets the time that determines how fast the auto gain +will set in once the signal exceeds the threshold + + + + + The Release knob sets the time that determines how fast the auto gain will recover from the gain +adjustment once the signal falls under the threshold. Depending on the input signal, short release times +may introduce a 'pumping' effect and/or distortion. + + The Threshold knob adjusts the level above which the compressor starts attenuating the input signal @@ -12048,6 +12474,7 @@ A una proporción de 1:1, la compresión no tiene efecto, ya que la entrada es e Knee (dBFS) + Knee Knee @@ -12058,11 +12485,13 @@ A una proporción de 1:1, la compresión no tiene efecto, ya que la entrada es e La perilla de Knee es utilizada para lograr una curva de compresión redondeada. + Attack (ms) Ataque (ms) + Attack Ataque @@ -12075,11 +12504,13 @@ will set in once the signal exceeds the threshold la compresión una vez que la señal supere el Límite. + Release (ms) Liberación (Release, ms) + Release Release @@ -12110,12 +12541,12 @@ pueden introducir un efecto de "bombeo" y/o distorsión. varios - + built-in nativo - + missing no encontrado @@ -12150,42 +12581,42 @@ pueden introducir un efecto de "bombeo" y/o distorsión. Stem #%1 - + Empty Vacío - + Simple Simple - + Filtered Filtrado - + HSV HSV - + VSyncTest VSyncTest - + RGB RGB - + Stacked Agrupado - + Unknown Desconocido @@ -12446,193 +12877,193 @@ pueden introducir un efecto de "bombeo" y/o distorsión. ShoutConnection - - + + Mixxx encountered a problem Mixxx encontró un problema - + Could not allocate shout_t No se pudo asignar shout_t - + Could not allocate shout_metadata_t No se pudo asignar shout_metadata_t - + Error setting non-blocking mode: Error al establecer el modo "sin bloqueo": - + Error setting tls mode: Error de configuracion del "Modo TLS" - + Error setting hostname! ¡Error al establecer el nombre de host! - + Error setting port! ¡Error al establecer el puerto! - + Error setting password! ¡Error al establecer la contraseña! - + Error setting mount! ¡Error al establecer el punto de montaje! - + Error setting username! ¡Error al establecer el nombre de usuario! - + Error setting stream name! ¡Error al establecer el nombre de la emisión! - + Error setting stream description! ¡Error al establecer la descripción de la emisión! - + Error setting stream genre! ¡Error al establecer el género de la emisión! - + Error setting stream url! ¡Error al establecer la URL de la emisión! - + Error setting stream IRC! ¡Error al configurar el flujo IRC! - + Error setting stream AIM! ¡Error al configurar el flujo AIM! - + Error setting stream ICQ! ¡Error al configurar el flujo ICQ! - + Error setting stream public! Error al iniciar la emisión pública! - + Unknown stream encoding format! ¡Formato de codificación de transmisión desconocido! - + Use a libshout version with %1 enabled Usar una versión de libshout con %1 activado - + Error setting stream encoding format! Error ajuste formato de codificación en emisión! - + Broadcasting at 96 kHz with Ogg Vorbis is not currently supported. Please try a different sample rate or switch to a different encoding. Transmitir a 96 kHz con Ogg Vorbis no está soportado actualmente. Por favor intente una frecuencia de muestreo diferente o cambie a una codificación diferente. - + See https://github.com/mixxxdj/mixxx/issues/5701 for more information. Consulta https://github.com/mixxxdj/mixxx/issues/5701 para más información. - + Unsupported sample rate Tasa de muestreo no soportada - + Error setting bitrate Error al establecer la tasa de bits - + Error: unknown server protocol! ¡Error: protocolo del servidor desconocido! - + Error: Shoutcast only supports MP3 and AAC encoders Error: Shoutcast solo soporta codificadores MP3 y AAC - + Error setting protocol! ¡Error al establecer el protocolo! - + Network cache overflow Caché de red excedido - + Connection error Error de connexión - + One of the Live Broadcasting connections raised this error:<br><b>Error with connection '%1':</b><br> Una de las fuentes de emisión en vivo ha lanzado este error:<br><b>Error con la fuente '%1':</b><br> - + Connection message Mensaje de conexión - + <b>Message from Live Broadcasting connection '%1':</b><br> <b>Mensaje de la fuente de emisión en vivo '%1':</b><br> - + Lost connection to streaming server and %1 attempts to reconnect have failed. Se ha perdido la conexión al servidor de emisión y han fallado %1 intentos de reconexión. - + Lost connection to streaming server. Se ha perdido la conexión al servidor de emisión - + Please check your connection to the Internet. Comprueba tu conexión a internet. - + Can't connect to streaming server No se puede conectar al servidor de emisión - + Please check your connection to the Internet and verify that your username and password are correct. Comprobe a súa conexión a internet e verifique que o seu nome de usuario e contrasinal son correctos. @@ -12640,7 +13071,7 @@ pueden introducir un efecto de "bombeo" y/o distorsión. SoftwareWaveformWidget - + Filtered Filtrada @@ -12648,23 +13079,23 @@ pueden introducir un efecto de "bombeo" y/o distorsión. SoundManager - - + + a device un dispositivo - + An unknown error occurred Ocurrió un error desconocido - + Two outputs cannot share channels on "%1" Dos salidas no pueden usar los mismos canales de %1 - + Error opening "%1" Error al abrir "%1" @@ -12849,7 +13280,7 @@ pueden introducir un efecto de "bombeo" y/o distorsión. - + Spinning Vinyl Vinilo virtual @@ -13031,7 +13462,7 @@ pueden introducir un efecto de "bombeo" y/o distorsión. - + Cover Art Portada @@ -13221,243 +13652,243 @@ pueden introducir un efecto de "bombeo" y/o distorsión. Mantiene la ganancia del filtro de graves en cero, mientras está activo. - + Displays the tempo of the loaded track in BPM (beats per minute). Muestra el tempo de la pista cargada, en BPM (golpes por minuto). - + Tempo Tempo - + Key The musical key of a track Clave - + BPM Tap Golpeo de BPM - + When tapped repeatedly, adjusts the BPM to match the tapped BPM. Cuando se pulsa repetidamente, ajusta el BPM para que coincida con las pulsaciones realizadas. - + Adjust BPM Down Reduce el BPM - + When tapped, adjusts the average BPM down by a small amount. Cuando se pulsa, reduce el BPM promedio un poco. - + Adjust BPM Up Aumenta el BPM - + When tapped, adjusts the average BPM up by a small amount. Cuando se pulsa, aumenta el BPM promedio un poco. - + Adjust Beats Earlier Mueve la cuadrícula un poco antes - + When tapped, moves the beatgrid left by a small amount. En pulsarlo, mueve la cuadrícula de tempo un poco a la izquierda. - + Adjust Beats Later Mueve la cuadrícula un poco después - + When tapped, moves the beatgrid right by a small amount. En pulsarlo, mueve la cuadrícula de tempo un poco a la derecha. - + Tempo and BPM Tap Golpeo de Tempo y BPM - + Show/hide the spinning vinyl section. Mostrar/ocultar la sección de vinilo giratorio. - + Keylock Bloqueo tonal - + Toggling keylock during playback may result in a momentary audio glitch. Alternar el bloqueo tonal durante la reproducción puede producir una pequeña distorsión de audio. - + Toggle visibility of Loop Controls Cambia la visibilidad de los Controles de Bucles - + Toggle visibility of Beatjump Controls Cambia la visibilidad de los Controles de Salto de Ritmo - + Toggle visibility of Rate Control Alternar visibilidad del control de velocidad - + Toggle visibility of Key Controls Cambia la visibilidad de los Controles de Clave - + (while previewing) (mientras se previsualiza) - + Places a cue point at the current position on the waveform. Coloca un punto de Cue en la posición actual de la forma de onda. - + Stops track at cue point, OR go to cue point and play after release (CUP mode). Detiene la pista en el punto cue, O BIEN va al punto cue y reproduce en soltar (modo CUP). - + Set cue point (Pioneer/Mixxx/Numark mode), set cue point and play after release (CUP mode) OR preview from it (Denon mode). Establece el punto Cue (Modo Pioneer/Mixxx/Numark), establece el punto Cue y reproduce en soltar (modo CUP) O BIEN hace una preescuha del mismo (Modo Denon). - + Is latching the playing state. Está reteniendo el estado de reproducción. - + Seeks the track to the cue point and stops. Lleva la pista al punto de Cue y para. - + Play Reproducir - + Plays track from the cue point. Reproduce la pista desde el punto Cue. - + Sends the selected channel's audio to the headphone output, selected in Preferences -> Sound Hardware. Envía el audio del canal seleccionado a la salida de auriculares, seleccionada en Preferencias -> Hardware de Sonido - + (This skin should be updated to use Sync Lock!) (Esta carátula debería actualizarse para utilizar Bloqueo de Sincronización!) - + Enable Sync Lock Habilitar Sync Lock - + Tap to sync the tempo to other playing tracks or the sync leader. Pulse para sincronizar el tiempo con otras pistas en reproducción o líder de sincronización. - + Enable Sync Leader Habilitar Sync Lock - + When enabled, this device will serve as the sync leader for all other decks. Cuando está habilitado, este dispositivo servirá como líder de sicronización para todas las otros platos. - + This is relevant when a dynamic tempo track is loaded to a sync leader deck.In that case, other synced devices will adopt the changing tempo. Es relevante cuando una pista con tempo dinámico es cargada a un deck líder de sincronización. En ese caso, otros dispositivos sincronizados adoptarán el tempo cambiante. - + Changes the track playback speed (affects both the tempo and the pitch). If keylock is enabled, only the tempo is affected. Cambia la velocidad de reproducción de la pista (afecta tanto el tempo como el tono). Si está habilitado el bloqueo, únicamente afecta al tempo. - + Tempo Range Display Visualizador del rango de tempo - + Displays the current range of the tempo slider. Muestra el rango actual del deslizador de tempo. - + Un-ejects when no track is loaded, i.e. reloads the track that was ejected last (of any deck). Se recupera la pista expulsada cuando no hay ninguna pista cargada, es decir, vuelve a cargar la pista que se expulsó en último lugar (de cualquier deck). - + Delete selected hotcue. Elimina la hotcue seleccionada. - + Track Comment Comentario de la pista - + Displays the comment tag of the loaded track. Muestra la etiqueta de comentario de la pista cargada. - + Opens separate artwork viewer. Abre el visualizador separado de carátulas. - + Effect Chain Preset Settings Configuraciones de Preconfiguración de Cadena de Efectos - + Show the effect chain settings menu for this unit. Muestra el menú de las configuraciones de las cadenas de efectos para esta unidad. - + Select and configure a hardware device for this input Selecciona y configura un dispositivo de hardware para esta entrada - + Recording Duration Duración de la grabación @@ -13680,949 +14111,984 @@ pueden introducir un efecto de "bombeo" y/o distorsión. Mantiene la velocidad de reproducción baja (pequeña cantidad) cuando se activa. - + When tapped repeatedly, adjusts the tempo to match the tapped BPM. Cuando se pulsa repetidamente, ajusta el tempo para coincidir con la frecuencia de pulsaciones. + + + Click to open the tempo/BPM editor + + + + + It also shows a colored bar if Key colors are enabled in the Preferences. + + + The bar will be split vertically if the track's key is in between full keys. + + + + Tempo Tap Seguidor de Tempo (Tempo Tap) - + Rate Tap and BPM Tap Frecuencia de pulsaciones y de BPM - + + Set Tempo + + + + + Set the desired tempo in BPM. If the track currently has no BPM detected, set the desired tempo in percent. + + + + Adjust beatgrid by exactly one half beat. Usable only on tracks with constant tempo. Ajusta la cuadrícula de tiempo en exactamente medio beat. Solo se puede usar en pistas con tempo constante - + Revert last BPM/Beatgrid Change Revierte el último cambio de BPM/cuadrícula de tiempo - + Revert last BPM/Beatgrid Change of the loaded track. Revierte el último cambio de BPM/Cuadrícula de tiempo para la pista cargada. - - + + Toggle the BPM/beatgrid lock Cambia el bloqueo de BPM/cuadrícula de tiempo - + Tempo and Rate Tap Toques de Tempo y Frecuencia - + Tempo, Rate Tap and BPM Tap Toques de Tempo, Frecuencia y BPM - + Shift cues earlier Cambia marcas antes - - + + Shift cues imported from Serato or Rekordbox if they are slightly off time. Cambia marcas importadas desde Serato o Rekordbox si están ligeramente desfazadas. - + Left click: shift 10 milliseconds earlier Clic izquierdo: adelantar 10 milisegundos - + Right click: shift 1 millisecond earlier Clic derecho: adelantar 1 milisegundo - + Shift cues later Retrasar cues - + Left click: shift 10 milliseconds later Clic izquierdo: retrasar 10 milisegundos - + Right click: shift 1 millisecond later Clic derecho: retrasar 1 milisegundo - - - + + + Drag a Hotcue button here to continue playing after releasing the Hotcue. Arrastra un botón de Hotcue aquí para continuar reproduciendo después de soltar la hotcue. - + Hint: Change the default cue mode in Preferences -> Decks. Sugerencia: cambie el modo por defecto de las cues en Preferencias -> Platos. - + Mutes the selected channel's audio in the main output. Silencia el audio del canal seleccionado en la salida principal. - + Main mix enable Activador de mezcla principal - + Hold or short click for latching to mix this input into the main output. Clic sostenido o corto para enganchar, para mezclar esta entrada con la salida principal. - + + Reloads the last replaced track. If no track is loaded reloads the second-last ejected track. + + + + If hotcue is a loop cue, toggles the loop and jumps to if the loop is behind the play position. Si la hotcue es una cue de bucle, activa el bucle y salta hacia él si se encuentra detrás de la posición de reproducción. - + If the play position is inside an active loop, stores the loop as loop cue. Si la posición de reproducción se encuentra dentro de un bucle activo, almacena el bucle como una hotcue de bucle. - + Drag this button onto another Hotcue button to move it there (change its index). If the other hotcue is set, the two are swapped. Arrastrar este botón dentro de otro botón de hotcue para moverlo hacia este (cambiando su número). Si la otra hotcue ya se encuentra definida, las dos son intercambiadas. - + Expand/Collapse Samplers Expandir/contraer samplers - + Toggle expanded samplers view. Alternar la vista expandida de los samplers. - + Displays the duration of the running recording. Muestra la duración de la grabación en curso. - + Auto DJ is active Auto DJ se encuentra activo - + Red for when needle skip has been detected. Rojo cuando se detecta un salto de aguja. - + Hot Cue - Track will seek to nearest previous hotcue point. Acceso Directo - La pista buscará el punto anterior más cercano del acceso directo. - + Sets the track Loop-In Marker to the current play position. Establece la marca de inicio de bucle a la posición actual - + Press and hold to move Loop-In Marker. Mantener presionado para mover la marca de inicio de bucle. - + Jump to Loop-In Marker. Ir a la marca de inicio de bucle. - + Sets the track Loop-Out Marker to the current play position. Establece la marca de fin de bucle a la posición actual. - + Press and hold to move Loop-Out Marker. Mantener presionado para mover la marca de fin de bucle. - + Jump to Loop-Out Marker. Ir a la marca de fin de bucle. - + If the track has no beats the unit is seconds. Si la pista no tiene pulsaciones, la unidad es segundos. - + Beatloop Size Pulsaciones del bucle - + Select the size of the loop in beats to set with the Beatloop button. Define el tamaño del bucle en pulsaciones a usar cuando se pulse el botón de bucle de pulsaciones. - + Changing this resizes the loop if the loop already matches this size. Al cambiar este valor, cambiará el tamaño del bucle existente, si tenía el tamaño anterior. - + Halve the size of an existing beatloop, or halve the size of the next beatloop set with the Beatloop button. Reduce a la mitad el tamaño del bucle existente, o del próximo bucle definido con el botón de bucle de pulsaciones. - + Double the size of an existing beatloop, or double the size of the next beatloop set with the Beatloop button. Dobla el tamaño del bucle existente, o del próximo bucle definido con el botón de bucle de pulsaciones. - + Start a loop over the set number of beats. Activa un bucle con la cantidad definida de pulsaciones. - + Temporarily enable a rolling loop over the set number of beats. Activa temporalmente un bucle de continuación con la cantidad de pulsaciones definidas. - + Beatloop Anchor Ancla del bucle de pulsaciones - + Define whether the loop is created and adjusted from its staring point or ending point. Define si el bucle es creado y ajustado desde su punto de inicio o de final. - + Beatjump/Loop Move Size Tamaño del salto de pulsaciones/Desplazamiento del bucle - + Select the number of beats to jump or move the loop with the Beatjump Forward/Backward buttons. Selecciona la cantidad de pulsaciones a saltar o a mover el bucle con los botones de avance/retroceso. - + Beatjump Forward Avanzar en pulsaciones - + Jump forward by the set number of beats. Avanza la pista la cantidad definida de pulsaciones. - + Move the loop forward by the set number of beats. Avanza el bucle en la cantidad definida de pulsaciones. - + Jump forward by 1 beat. Avanza 1 pulsación. - + Move the loop forward by 1 beat. Avanza el bucle 1 pulsación. - + Beatjump Backward Retrocede en pulsaciones - + Jump backward by the set number of beats. Retrocede la cantidad de pulsaciones definida. - + Move the loop backward by the set number of beats. Retrocede el bucle la cantidad de pulsaciones definida. - + Jump backward by 1 beat. Retrocede 1 pulsación. - + Move the loop backward by 1 beat. Retrocede el bucle 1 pulsación. - + Reloop Repite el bucle - + If the loop is ahead of the current position, looping will start when the loop is reached. Si el bucle está por delante de la posición actual, este no se activará hasta que se llege a él. - + Works only if Loop-In and Loop-Out Marker are set. Solo funciona si las marcas de inicio y fin de bucle estan definidas. - + Enable loop, jump to Loop-In Marker, and stop playback. Activa el bucle, va a la posición de inicio de bucle y se detiene. - + Displays the elapsed and/or remaining time of the track loaded. Muestra el tiempo transcurrido y/o restante de la pista cargada. - + Click to toggle between time elapsed/remaining time/both. Pulsar para cambiar entre tiempo transcurrido/restante/ambos - + Hint: Change the time format in Preferences -> Decks. Sugerencia: cambie el formato de tiempo en Preferencias -> Platos. - + Show/hide intro & outro markers and associated buttons. Mostrar/ocultar marcadores de intro y outro, y sus botones asociados. - + + Ensure all waveforms to have the same height across all channels. By default, when displaying the stem controls, waveform for channel that have no stem may render with a shorter height in order to honor the waveform container size you have requested.. + + + + Intro Start Marker Marcador Inicial de Entrada - - - - + + + + If marker is set, jumps to the marker. Si el marcador se encuentra definido, salta al marcador. - - - - + + + + If marker is not set, sets the marker to the current play position. Si el marcador no se encuentra definido, lo configura a la posición de reproducción actual. - - - - + + + + If marker is set, clears the marker. Si el marcador se encuentra definido, lo elimina. - + Intro End Marker Marcador Final de Entrada - + Outro Start Marker Marcador Inicial de Salida - + Outro End Marker Marcador Final de Salida - + Mix Mix - + Adjust the mixing of the dry (input) signal with the wet (output) signal of the effect unit Ajuste la mezcla de la señal seca (entrada) con la señal húmeda (salida) de la unidad de efectos - + D/W mode: Crossfade between dry and wet Modo D/W: fundido cruzado entre seco y húmedo - + D+W mode: Add wet to dry Modo D+W: agregue húmedo a seco - + Mix Mode Modo mezcla - + Adjust how the dry (input) signal is mixed with the wet (output) signal of the effect unit Ajuste cómo se mezcla la señal seca (entrada) con la señal húmeda (salida) de la unidad de efectos - + Dry/Wet mode (crossed lines): Mix knob crossfades between dry and wet Use this to change the sound of the track with EQ and filter effects. Modo seco / húmedo (líneas cruzadas): Mezcle los fundidos cruzados de la perilla entre seco y húmedo. Use esto para cambiar el sonido de la pista con EQ y efectos de filtro. - + Dry+Wet mode (flat dry line): Mix knob adds wet to dry Use this to change only the effected (wet) signal with EQ and filter effects. Modo Seco+Húmedo (línea seca plana): La perilla de mezcla agrega mojado a seco Utiliza esto para cambiar únicamente la señal afectada (mojada) con EQ y efectos de filtrado. - + Route the main mix through this effect unit. Enruta la mezcla principal a través de esta unidad de efectos. - + Route the left crossfader bus through this effect unit. Redirige el bus izquierdo del crossfader a través de esta unidad de efectos. - + Route the right crossfader bus through this effect unit. Enruta el bus derecho del crossfader a través de la unidad de efectos - + Right side active: parameter moves with right half of Meta Knob turn Derecha activo: el parámetro se mueve al mover la mitad derecha del control Meta. - + Stem Label Etiqueta de stem - + Name of the stem stored in the stem file Nombre del stem almacenado en el archivo de stem - + Text is displayed in the stem color stored in the stem file El texto es presentado con el color del stem almacenado en el archivo de stem - + this stem color is also used for the waveform of this stem este color de stem también es usado en la forma de onda de este stem - + Stem Mute Silenciar stem - + Toggle the stem mute/unmuted Alterna el silencio del stem - + Stem Volume Knob Perilla de volumen del stem - + Adjusts the volume of the stem Ajusta el volumen del stem - + Skin Settings Menu Menú de las opciones de la Apariencia - + Show/hide skin settings menu Muestra/esconde el menú de opciones de la Apariencia - + Save Sampler Bank Guardar banco de muestras - + Save the collection of samples loaded in the samplers. Guarda la colección de muestras cargadas en los reproductores de muestras. - + Load Sampler Bank Cargar banco de muestras - + Load a previously saved collection of samples into the samplers. Carga en los reproductores de muestras una colección de muestras guardada en anterioridad. - + Show Effect Parameters Mostrar parámetros de efectos - + Enable Effect Activar efecto - + Meta Knob Link Enlace de la rueda Meta - + Set how this parameter is linked to the effect's Meta Knob. Configura cómo le afecta a este parámetro la rueda Meta. - + Meta Knob Link Inversion Inversión del enlaze de la rueda Meta - + Inverts the direction this parameter moves when turning the effect's Meta Knob. Invierte la dirección en la que se mueve el parámetro al mover la rueda Meta. - + Super Knob Rueda Súper - + Next Chain Siguiente cadena - + Previous Chain Cadena anterior - + Next/Previous Chain Cadena siguiente/anterior - + Clear Borrar - + Clear the current effect. Borra el efecto actual. - + Toggle Conmutar - + Toggle the current effect. Conmuta el efecto actual. - + Next Siguente - + Clear Unit Limpiar unidad - + Clear effect unit. limpiar la unidad de efectos. - + Show/hide parameters for effects in this unit. Muestra/esconde los parámetros de los efectos de esta unidad. - + Toggle Unit Conmutar la unidad - + Enable or disable this whole effect unit. Activa o desactiva la unidad de efectos. - + Controls the Meta Knob of all effects in this unit together. Controla a la vez las ruedas Meta de todos los efectos asociados a esta unidad. - + Load next effect chain preset into this effect unit. Carga el siguiente preajuste de efectos en esta unidad de efectos. - + Load previous effect chain preset into this effect unit. Carga el anterior preajuste de efectos en esta unidad de efectos. - + Load next or previous effect chain preset into this effect unit. Carga el siguiente o anterior preajuste de efectos en esta unidad de efectos. - - - - - - - - - + + + + + + + + + Assign Effect Unit Asignar la unidad de efectos - + Assign this effect unit to the channel output. Asigna esta unidad de efectos a la salida del canal. - + Route the headphone channel through this effect unit. Redirige la salida de auriculares a través de la unidad de efectos. - + Route this deck through the indicated effect unit. Redirige este plato a través de la unidad de efectos indicada. - + Route this sampler through the indicated effect unit. Redirige este reproductor a través de la unidad de efectos indicada. - + Route this microphone through the indicated effect unit. Redirige este micrófono a través de la unidad de efectos indicada. - + Route this auxiliary input through the indicated effect unit. Redirige la entrada auxiliar a través de la unidad de efectos indicada. - + The effect unit must also be assigned to a deck or other sound source to hear the effect. La unidad de efectos debe estar asignada a un plato o otra fuente de sonido para oír el efecto. - + Switch to the next effect. Pasa al siguiente efecto. - + Previous Anterior - + Switch to the previous effect. Pasa al efecto anterior. - + Next or Previous Siguiente o Anterior - + Switch to either the next or previous effect. Pasa al siguiente o anterior efecto. - + Meta Knob Rueda Meta - + Controls linked parameters of this effect Controla los parámetros enlazados del efecto - + Effect Focus Button Botón de foco de efecto - + Focuses this effect. Pone el foco en el efecto. - + Unfocuses this effect. Quita el foco del efecto. - + Refer to the web page on the Mixxx wiki for your controller for more information. Consulta la página web de tu controlador en la wiki del Mixxx para más información - + Effect Parameter parámetro de efecto - + Adjusts a parameter of the effect. Ajusta un parámetro del efecto. - + Inactive: parameter not linked Inactivo: parámetro no enlazado - + Active: parameter moves with Meta Knob Activo: el parámetro se mueve con la rueda Meta - + Left side active: parameter moves with left half of Meta Knob turn Izquierda activo: el parámetro se mueve con la primera mitad de la rueda Meta - + Left and right side active: parameter moves across range with half of Meta Knob turn and back with the other half Izquierda y derecha activo: el parámetro recorre todo el rango con la primera mitad de la rueda Meta, y vueve atrás con la segunda mitad - - + + Equalizer Parameter Kill Parámetro de supresión del ecualizador - - + + Holds the gain of the EQ to zero while active. Mantiene la ganáncia de EQ a cero mientras está activo. - + Quick Effect Super Knob Rueda Súper de efecto rápido - + Quick Effect Super Knob (control linked effect parameters). Rueda Súper de efecto rápido (controla los parámetros de efecto asociados). - + Hint: Change the default Quick Effect mode in Preferences -> Equalizers. Nota: Puedes cambiar el efecto rápido por defecto en Preferéncias > Ecualizadores. - + Equalizer Parameter ecualizador paramétrico - + Adjusts the gain of the EQ filter. Ajusta la ganáncia del filtro de EQ. - + Hint: Change the default EQ mode in Preferences -> Equalizers. Nota: Se puede cambiar el modo de EQ por defecto en Preferencias > Ecualizadores. - - + + Adjust Beatgrid Ajustar cuadrícula de tempo - + Adjust beatgrid so the closest beat is aligned with the current play position. Ajusta la cuadrícula de tempo para que el golpe más cercano se alinee con la posición actual de reproducción. - - + + Adjust beatgrid to match another playing deck. Ajusta la cuadrícula de tempo para que coincida con otro plato en reproducción. - + If quantize is enabled, snaps to the nearest beat. Si la cuantización está activada, se acerca al compás más cercano. - + Quantize Cuantizar - + Toggles quantization. Conmutar la cuantización. - + Loops and cues snap to the nearest beat when quantization is enabled. Cuando está activada, los bucles y cue se alinean con el compás más cercano. - + Reverse Reversa - + Reverses track playback during regular playback. Reproduce en reversa, durante reproducción normal. - + Puts a track into reverse while being held (Censor). Pone la pista en reversa mientras se mantiene presionado. - + Playback continues where the track would have been if it had not been temporarily reversed. La reproducción se continuará en el punto al que habría llegado la pista si no hubiese puesto en reversa. - - - + + + Play/Pause Reproducir/Pausar - + Jumps to the beginning of the track. Salta al principio de la pista. - + Syncs the tempo (BPM) and phase to that of the other track, if BPM is detected on both. Sincroniza el tempo (BPM) y la fase de la pista con la de la otra pista, si se ha detectado el BPM en ambas. - + Syncs the tempo (BPM) to that of the other track, if BPM is detected on both. Sincroniza el tempo (BPM) de la pista con la de la otra pista, si se ha detectado el BPM en ambas. - + Sync and Reset Key Sincroniza y resetea la tonalidad - + Increases the pitch by one semitone. Incrementa el tono en una seminota. - + Decreases the pitch by one semitone. Decrementa el tono en una seminota. - + Enable Vinyl Control Activar vinilo de control - + When disabled, the track is controlled by Mixxx playback controls. Si está desactivado, los controles de reproducción del Mixxx controlan la pista. - + When enabled, the track responds to external vinyl control. Si está activado, el control de vinilo externo controla la pista. - + Enable Passthrough Activa el paso de audio - + Indicates that the audio buffer is too small to do all audio processing. Indica que el búfer de audio es demasiado pequeño para llevar a cabo todo el procesamiento de audio. - + Displays cover artwork of the loaded track. Muestra la carátula de la pista cargada. - + Displays options for editing cover artwork. Muestra las opciones de edición de carátula. - + Star Rating Puntuación - + Assign ratings to individual tracks by clicking the stars. Asigna la puntuación de cada pista pulsando en las estrellas. @@ -14757,33 +15223,33 @@ Utiliza esto para cambiar únicamente la señal afectada (mojada) con EQ y efect Intensidad de atenuación al usar el Micrófono - + Prevents the pitch from changing when the rate changes. Evita que el tono cambie al cambiar la velocidad. - + Changes the number of hotcue buttons displayed in the deck Cambia el número de botones de acceso directo mostrados en el deck - + Starts playing from the beginning of the track. Comienza la reproducción desde el principio de la pista. - + Jumps to the beginning of the track and stops. Salta al principio de la pista y se detiene. - - + + Plays or pauses the track. Reproduce o pausa la pista. - + (while playing) (estando en reproducción) @@ -14803,215 +15269,215 @@ Utiliza esto para cambiar únicamente la señal afectada (mojada) con EQ y efect Medidor de volumen del canal principal R - + (while stopped) (mientras está parado) - + Cue Cue - + Headphone Auriculares - + Mute Silenciar - + Old Synchronize Sincronización antígua - + Syncs to the first deck (in numerical order) that is playing a track and has a BPM. Se sincroniza con la primera pista (en orden numérico) que está sonando y tiene BPM. - + If no deck is playing, syncs to the first deck that has a BPM. Si no hay pistas en reprodución, se sincroniza con la primera pista que tenga BPM. - + Decks can't sync to samplers and samplers can only sync to decks. Los platos no se pueden sincronizar con los reproductors de muestras, y los reproductors de mezclas sólo se pueden sincronizar con los platos. - + Hold for at least a second to enable sync lock for this deck. Mantener pulsado durante un segundo para activar la sincronización fija para este plato. - + Decks with sync locked will all play at the same tempo, and decks that also have quantize enabled will always have their beats lined up. Los platos con la sincronización bloqueada reproducirán todos al mismo tempo, y si además tienen la quantización activada, también se alinearán los compases. - + Resets the key to the original track key. Resetea la clave musical a la original de la pista. - + Speed Control Control de velocidad - - - + + + Changes the track pitch independent of the tempo. Cambia el tono de la pista independientemente del tempo. - + Increases the pitch by 10 cents. Aumenta el tono 10 centésimas. - + Decreases the pitch by 10 cents. Reduce el tono 10 centésimas. - + Pitch Adjust Ajuste de velocidad - + Adjust the pitch in addition to the speed slider pitch. Ajusta la velocidad añadiendo al cambio del deslizador de velocidad. - + Opens a menu to clear hotcues or edit their labels and colors. Abre un menú para limpiar los accesos directos o editar sus etiquetas y colores. - + Drag this button onto a Play button while previewing to continue playback after release. Arrastre este botón a un boton de Play durante la preescucha para continuar la reproducción tras soltarlo. - + Dragging with Shift key pressed will not start previewing the hotcue. Arrastrar mientras presiona la tecla Shift no iniciará la preescucha de la hotcue. - + Record Mix Grabar mezcla - + Toggle mix recording. Conmutar la grabación de la mezcla. - + Enable Live Broadcasting Activar la emisión en vivo - + Stream your mix over the Internet. Emite tus mezclas por internet. - + Provides visual feedback for Live Broadcasting status: Da una indicación acerca del estado de la emisión en vivo: - + disabled, connecting, connected, failure. desactivado, conectando, conectado, fallo. - + When enabled, the deck directly plays the audio arriving on the vinyl input. Cuando está activado, el plato reproduce directamente el audio que recibe por la entrada de vinilo. - + Playback will resume where the track would have been if it had not entered the loop. La reproducción se reanudará en el punto al que habría llegado la pista si no hubiese entrado en el bucle. - + Loop Exit Salida del bucle - + Turns the current loop off. Desactiva el bucle actual. - + Slip Mode Modo Slip - + When active, the playback continues muted in the background during a loop, reverse, scratch etc. Cuando está activado, la reproducción continúa en silencio mientras dura el bucle, la reproducción hacia atrás, scratch, etc. - + Once disabled, the audible playback will resume where the track would have been. Una vez desactivado, la reproducción (audible) seguirá donde la pista habría estado. - + Track Key The musical key of a track Tonalidad de la pista - + Displays the musical key of the loaded track. Muestra la clave musical de la pista cargada. - + Clock Reloj - + Displays the current time. Muestra la hora actual. - + Audio Latency Usage Meter Medidor de Latencia de Audio - + Displays the fraction of latency used for audio processing. Muestra la parte de latencia usada para el proceso de audio. - + A high value indicates that audible glitches are likely. Un valor alto indica que se pueden percibir ruidos. - + Do not enable keylock, effects or additional decks in this situation. No activar el bloqueo de tonalidad, los efectos o los platos adicionales en este caso. - + Audio Latency Overload Indicator Indicador de Sobrecarga de Latencia de Audio @@ -15051,259 +15517,259 @@ Utiliza esto para cambiar únicamente la señal afectada (mojada) con EQ y efect Activa el control de vinilo desde el Menú -> Opciones. - + Displays the current musical key of the loaded track after pitch shifting. Muestra la clave musical actual para la pista cargada teniendo en cuenta el cambio de tonalidad. - + Fast Rewind Retroceso rápido - + Fast rewind through the track. Rebobinado rápido a través de la pista. - + Fast Forward Avance Rápido - + Fast forward through the track. Avance Rápido a través de la pista. - + Jumps to the end of the track. Salta al final de la pista. - + Sets the pitch to a key that allows a harmonic transition from the other track. Requires a detected key on both involved decks. Cambia la tonalidad a una clave musical que permite la transición harmónica de un plato a otro. Es necesario que se haya detectado la clave en ambos platos. - - - + + + Pitch Control Control del pitch - + Pitch Rate Ritmo de cambio de tonalidad - + Displays the current playback rate of the track. Muestra el ritmo de reproducción actual de la pista. - + Repeat Repetir - + When active the track will repeat if you go past the end or reverse before the start. Estando activo la pista se repetirá si se pasa del final o si retrocede antes del comienzo. - + Eject Expulsar - + Ejects track from the player. Expulsa la pista del reproductor. - + Hotcue Hotcue - + If hotcue is set, jumps to the hotcue. Si el hotcue está establecido, salta al hotcue. - + If hotcue is not set, sets the hotcue to the current play position. Si el hotcue no está establecido, establece el hotcue en la actual posición de reproducción. - + Vinyl Control Mode Modo de control de vinilo - + Absolute mode - track position equals needle position and speed. Modo Absoluto - la posicion dentro del tema corresponde a la posicion y velocidad de la aguja. - + Relative mode - track speed equals needle speed regardless of needle position. Modo Relativo - la velocidad del tema corresponde a la velocidad de la aguja independientemente de la posicion. - + Constant mode - track speed equals last known-steady speed regardless of needle input. Modo Constante - la velocidad del tema corresponde a la ultima velocidad conocida independientemente de lo que se recibe de la aguja. - + Vinyl Status Estado del vinilo - + Provides visual feedback for vinyl control status: Provee retroalimentación visual sobre el estado del control de vinilo: - + Green for control enabled. Verde para control activo. - + Blinking yellow for when the needle reaches the end of the record. Amarillo parpadeante cuando la aguja alcanza el final de la grabación. - + Loop-In Marker Marcador de inicio de bucle - + Loop-Out Marker Marcador de fin de bucle - + Loop Halve Reducir bucle a la mitad - + Halves the current loop's length by moving the end marker. Reduce a la mitad la longitud del bucle actual, moviendo la marca de fin. - + Deck immediately loops if past the new endpoint. El plato vuelve al inicio del bucle inmediatamente si se ha superado el nuevo punto final. - + Loop Double Aumentar bucle al doble - + Doubles the current loop's length by moving the end marker. Aumenta al doble la longitud del bucle actual, moviendo la marca de fin. - + Beatloop Bucle de pulsaciones - + Toggles the current loop on or off. Activa o desactiva el bucle actual. - + Works only if Loop-In and Loop-Out marker are set. Funciona sólo si se han definido las marcas de inicio y fin de bucle. - + Vinyl Cueing Mode Modo de Cue de Vinilo - + Determines how cue points are treated in vinyl control Relative mode: Determina cómo los puntos Cue son tratados en el modo de control Relativo de Vinilos: - + Off - Cue points ignored. Off - Los puntos CUE se ignoran. - + One Cue - If needle is dropped after the cue point, track will seek to that cue point. Un Cue - si se pone la aguja mas allá del punto cue, se irá al punto Cue de la pista. - + Track Time Tiempo de pista - + Track Duration Duración de la Pista - + Displays the duration of the loaded track. Muestra la duración de la pista cargada. - + Information is loaded from the track's metadata tags. Información cargada desde el tag de metadatos de las pistas. - + Track Artist Artista de la pista - + Displays the artist of the loaded track. Muestra el artista de la pista cargada. - + Track Title Título de la pista - + Displays the title of the loaded track. Muestra el título de la pista cargada. - + Track Album Álbum de la pista - + Displays the album name of the loaded track. Muestra el nombre del álbum de la pista cargada. - + Track Artist/Title Artista/Título de la pista - + Displays the artist and title of the loaded track. Muestra el artista y el título de la pista cargada. @@ -15534,47 +16000,75 @@ Carpeta: %2 WCueMenuPopup - + Cue number Número de cue - + Cue position Posición Marca - + Edit cue label Editar etiqueta de marca - + Label... Etiqueta... - + Delete this cue Borrar esta marca - - Toggle this cue type between normal cue and saved loop - Alterna el tipo de esta cue entre cue normal y bucle guardado + + Turn this cue into a regular hotcue + + + + + Turn this cue into a saved loop + + + + + Left-click: Use the old size if known or the current beatloop size as the loop size + + + + + Right-click: Use the current play position as new loop end if it is after the cue + + + + + Turn this cue into a saved forward jump. + + is a linebreak. Try to not to extend the translation beyond the length of the longest source line so the tooltip remains compact. + + + + + Turn this cue into a saved backward jump (one shot loop). + - - Left-click: Use the old size or the current beatloop size as the loop size - Clic izquierdo: usar el tamaño anterior o el del bucle actual como el tamaño de bucle + + Left-click: Use the old size if known or the current play position as jump start position +If this is already a jump cue, swap the jump position and the cue/target position. + - - Right-click: Use the current play position as loop end if it is after the cue - Clic derecho: usar la posición de reproducción actual como final del bucle si se encuentra después de la cue + + Right-click: use current play position as new jump start position + - + Hotcue #%1 Acceso DIrecto #%1 @@ -15876,171 +16370,181 @@ Carpeta: %2 + Show Auto DJ + + + + + Switch to the Auto DJ view. + + + + &Full Screen &Pantalla completa - + Display Mixxx using the full screen Mostrar Mixxx a pantalla completa - + &Options &Opciones - + &Vinyl Control Control de &vinilo - + Use timecoded vinyls on external turntables to control Mixxx Usar vinilos con codigo de tiempo en bandejas externas para controlar Mixxx - + Enable Vinyl Control &%1 Habilita el Control por Vinilo &%1 - + &Record Mix &Grabar Mezcla - + Record your mix to a file Grava a súa mestura a un ficheiro - + Ctrl+R Ctrl+R - + Enable Live &Broadcasting Activar transmisión en &vivo - + Stream your mixes to a shoutcast or icecast server Transmite tus mezclas a un servidor shoutcast o icecast - + Ctrl+L Ctrl+L - + Enable &Keyboard Shortcuts Activar Atajos de &Teclado - + Toggles keyboard shortcuts on or off Activa o desactiva los atajos de teclado - + Ctrl+` Ctrl+` - + &Preferences &Preferencias - + Change Mixxx settings (e.g. playback, MIDI, controls) Cambiar la configuración de Mixxx (p.ej.: reproducción, MIDI, controles) - + &Developer &Desarrollador - + &Reload Skin &Recargar apariencia - + Reload the skin Recargar la apariencia - + Ctrl+Shift+R Ctrl+Mayús+R - + Developer &Tools U&tilidades de desarrollador - + Opens the developer tools dialog Abre el cuadro de diálogo de herramientas de desarrollo - + Ctrl+Shift+T Ctrl+Mayús+T - + Stats: &Experiment Bucket Estadísticas: Contadores &Experiment - + Enables experiment mode. Collects stats in the EXPERIMENT tracking bucket. Activa el modo experimental. Recoje estadísticas en los contadores EXPERIMENT. - + Ctrl+Shift+E Ctrl+Mayús+E - + Stats: &Base Bucket Estadísticas: contadores &Base - + Enables base mode. Collects stats in the BASE tracking bucket. Activa el modo base. Recoje estadísticas en los contadores BASE. - + Ctrl+Shift+B Ctrl+Mayús+B - + Deb&ugger Enabled Dep&uración activada - + Enables the debugger during skin parsing Activa el depurador durante el análisis de la máscara - + Ctrl+Shift+D Ctrl+Mayús+D - + &Help Ay&uda @@ -16074,62 +16578,62 @@ Carpeta: %2 F12 - + &Community Support Soporte &comunitario - + Get help with Mixxx Obtener ayuda con Mixxx - + &User Manual Manual de &usuario - + Read the Mixxx user manual. Lea el manual de usuario de Mixxx. - + &Keyboard Shortcuts Atajos de &Teclado - + Speed up your workflow with keyboard shortcuts. Trabaja más rápidamente usando los atajos de teclado. - + &Settings directory &Directorio de configuración - + Open the Mixxx user settings directory. Abre el directorio de configuración de usuario de Mixxx. - + &Translate This Application &Traducir esta aplicación - + Help translate this application into your language. Ayude a traducir esta aplicación a su idioma. - + &About &Acerca de - + About the application Acerca de la aplicación @@ -16137,25 +16641,25 @@ Carpeta: %2 WOverview - + Passthrough Paso - + Ready to play, analyzing... Text on waveform overview when file is playable but no waveform is visible Listo para reproducir, analizando... - - + + Loading track... Text on waveform overview when file is cached from source Cargando pista... - + Finalizing... Text on waveform overview during finalizing of waveform analysis Finalizando... @@ -16345,625 +16849,640 @@ Carpeta: %2 WTrackMenu - + Load to Cargar en - + Deck Plato - + Sampler Reproductor de muestras - + Add to Playlist Añadir a la lista de reproducción - + Crates Cajas - + Metadata Metadatos - + Update external collections Actualizar colecciones externas - + Cover Art Portada - + Adjust BPM Ajustar BPM - + Select Color Seleccionar color - - + + Analyze Analizar - - + + Delete Track Files Borrar Archivos de Pistas - + Add to Auto DJ Queue (bottom) Añadir a la cola de Auto DJ (al final) - + Add to Auto DJ Queue (top) Añadir a la cola de Auto DJ (al principio) - + Add to Auto DJ Queue (replace) Añadir a la lista de DJ Automático (reemplazar) - + Preview Deck Reproductor de preescucha - + Remove Quitar - + Remove from Playlist Eliminar de la lista de reproducción - + Remove from Crate Eliminar de la caja - + Hide from Library Ocultar de la biblioteca - + Unhide from Library Volver a mostrar en la biblioteca - + Purge from Library Eliminar de la biblioteca - + Move Track File(s) to Trash Mover archivo(s) de seguimiento a la papelera - + Delete Files from Disk Borrar Archivos del Disco - + Properties Propiedades - + Open in File Browser Abrir en el explorador de archivos - + Select in Library Selecciona en Biblioteca - + Import From File Tags Importar de los metadatos del fichero - + Import From MusicBrainz Importar de MusicBrainz - + Export To File Tags Exportar a metadatos del fichero - + BPM and Beatgrid BPM y cuadrícula de tempo - + Play Count Reproducciones - + Rating Calificación - + Cue Point Punto CUE - - + + Hotcues Hotcues - + Intro - + Intro - + Outro - + Outro - + Key Clave - + ReplayGain Reproducir otra vez - + Waveform Forma de onda - + Comment Comentario - + All Todos - + Sort hotcues by position (remove offsets) Ordenar hotcues por posición (removiendo desfases) - + Sort hotcues by position Ordenar hotcues por posición - + Lock BPM Bloquear BPM - + Unlock BPM Desbloquear BPM - + Double BPM Duplicar BPM - + Halve BPM Reducir a la mitad los BPM - + 2/3 BPM 2/3 BPM - + 3/4 BPM 3/4 BPM - + 4/3 BPM 4/3 BPM - + 3/2 BPM 3/2 BPM - + Shift Beatgrid Half Beat Desplazar la cuadrícula de tiempo medio beat - + Reanalyze Reanalizar - + Reanalyze (constant BPM) Reanalizar (BPM constante) - + Reanalyze (variable BPM) Reanalizar (BPM variable) - + Update ReplayGain from Deck Gain Actualizar ReplayGain desde la Ganancia de Plato - + Deck %1 Deck %1 - + Importing metadata of %n track(s) from file tags Importación de metadatos de %n pista a partir de las etiquetas del archivoImportación de metadatos de %n pistas a partir de las etiquetas de los archivosImportación de metadatos de %n pista(s) a partir de las etiquetas del archivo - + Marking metadata of %n track(s) to be exported into file tags Haciendo metadatos de %n pista(s) a ser exportadas en las etiquetas de archivosHaciendo metadatos de %n pista(s) a ser exportadas en las etiquetas de archivosHaciendo metadatos de %n pista(s) a ser exportadas en las etiquetas de archivos - - + + Create New Playlist Crear nueva lista de reproducción - + Enter name for new playlist: Escriba un nombre para la nueva lista de reproducción: - + New Playlist Nueva lista de reproducción - - - + + + Playlist Creation Failed Fallo la creación de lista de Reproducción - + A playlist by that name already exists. Una lista de reproducción ya existe con el mismo nombre - + A playlist cannot have a blank name. El nombre de una lista de reproduccion no puede estar vacío - + An unknown error occurred while creating playlist: Se ha producido un error desconocido al crear la lista de reproducción: - + Add to New Crate Añadir a nueva caja - + Scaling BPM of %n track(s) Escalando BPM de %n pista(s)Escalando BPM de %n pista(s)Escalando BPM de %n pista(s) - + Undo BPM/beats change of %n track(s) Deshacer cambios de BPM/pulsaciones de %n pista(s)Deshacer cambios de BPM/pulsaciones de %n pista(s)Deshacer cambios de BPM/pulsaciones de %n pista(s) - + Locking BPM of %n track(s) Bloqueando BPM de %n% pista(s)Bloqueando BPM de %n% pista(s)Bloqueando BPM de %n% pista(s) - + Unlocking BPM of %n track(s) Desbloqueando BPM de %n pista(s)Desbloqueando BPM de %n pista(s)Desbloqueando BPM de %n pista(s) - + Setting rating of %n track(s) Definiendo evaluación de %n pistaDefiniendo evaluación de %n pistasDefiniendo evaluación de %n pista(s) - + Setting color of %n track(s) configuración de color de %n pista(s)configuración de color de %n pista(s)configuración de color de %n pista(s) - + Resetting play count of %n track(s) Restablecimiento del conteo de reproducción de %n pista(s)Restablecimiento del conteo de reproducción de %n pista(s)Restablecimiento del conteo de reproducción de %n pista(s) - + Resetting beats of %n track(s) Restableciendo beats de %n pista(s)Restableciendo beats de %n pista(s)Restableciendo beats de %n pista(s) - + Clearing rating of %n track(s) Limpiando clasificación de %n pista(s)Limpiando clasificación de %n pista(s)Limpiando clasificación de %n pista(s) - + Clearing comment of %n track(s) Borrando comentarios de %n pistaBorrando comentarios de %n pistasBorrando comentarios de %n pista(s) - + Removing main cue from %n track(s) Eliminando la marca principal de %n pista(s)Eliminando la marca principal de %n pista(s)Eliminando la marca principal de %n pista(s) - + Removing outro cue from %n track(s) Eliminando la marca de salida de %n pista(s)Eliminando la marca de salida de %n pista(s)Eliminando la marca de salida de %n pista(s) - + Removing intro cue from %n track(s) Removiendo la marca de entrada de %n pista(s)Removiendo la marca de entrada de %n pista(s)Removiendo la marca de entrada de %n pista(s) - + Removing loop cues from %n track(s) Removiendo marcas de bucles de %n pista(s)Removiendo marcas de bucles de %n pista(s)Removiendo marcas de bucles de %n pista(s) - + Removing hot cues from %n track(s) Removiendo los hot cues de %n pista(s)Removiendo los hot cues de %n pista(s)Removiendo los accesos directos de %n pista(s) - + Sorting hotcues of %n track(s) by position (remove offsets) Ordenando hotcues de %n pista por posición (removiendo desfases)Ordenando hotcues de %n pistas por posición (removiendo desfases)Ordenando hotcues de %n pistas(s) por posición (removiendo desfases) - + Sorting hotcues of %n track(s) by position Ordenando hotcues de %n pista por posiciónOrdenando hotcues de %n pistas por posiciónOrdenando hotcues de %n pista(s) por posición - + Resetting keys of %n track(s) Restableciendo claves de %n pista(s)Restableciendo claves de %n pista(s)Restableciendo claves de %n pista(s) - + Resetting replay gain of %n track(s) Restablecimiento de la ganancia de reproducción de %n pista(s)Restablecimiento de la ganancia de reproducción de %n pista(s)Restablecimiento de la ganancia de reproducción de %n pista(s) - + Resetting waveform of %n track(s) Restableciendo forma de onda de %n pista(s)Restableciendo forma de onda de %n pista(s)Restableciendo forma de onda de %n pista(s) - + Resetting all performance metadata of %n track(s) Restableciendo meta datos de desempeño de %n pista(s)Restableciendo meta datos de desempeño de %n pista(s)Restableciendo meta datos de desempeño de %n pista(s) - + Move these files to the trash bin? ¿Mover estos archivos a la papelera? - + Permanently delete these files from disk? ¿Eliminar permanentemente estos archivos del disco? - - + + This can not be undone! ¡Esto no puede ser revertido! - + Cancel Cancelar - + Delete Files Eliminar archivos - + Okay Okey - + Move Track File(s) to Trash? ¿Mover los archivos de seguimiento a la papelera? - + Track Files Deleted Pistas eliminadas - + Track Files Moved To Trash Archivos de seguimiento movidos a la papelera - + %1 track files were moved to trash and purged from the Mixxx database. %1 archivos de pista fueron movidos a la papelera y purgados de la base de datos de Mixxx. - + %1 track files were deleted from disk and purged from the Mixxx database. %1 archivos de pistas han sido eliminados y se ha purgado de la base de datos de Mixxx. - + Track File Deleted Archivo de Pista Eliminado - + Track file was deleted from disk and purged from the Mixxx database. El archivo de pista ha sido eliminado del disco y purgado de la base de datos de Mixxx - + The following %1 file(s) could not be deleted from disk No se han podido eliminar del disco los siguientes %1 archivo(s) - + This track file could not be deleted from disk Este archivo de pista no se ha podido borrar del disco - + Remaining Track File(s) Renombrando archivo(s) de pista - + Close Cerrar - + Clear Reset metadata in right click track context menu in library Climpiar - + Loops Bucles - + Clear BPM and Beatgrid Limpia las BPM y la cuadrícula de tiempo - + Undo last BPM/beats change Revertir el último cambio de BPM/pulsaciones - + Move this track file to the trash bin? ¿Mover este archivo de pista a la papelera? - + Permanently delete this track file from disk? ¿Eliminar permanentemente este archivo de pista del disco? - + All decks where these tracks are loaded will be stopped and the tracks will be ejected. Todos los platos donde estas pistas hayan sido cargadas se detendrán, y las pistas serán expulsadas. - + All decks where this track is loaded will be stopped and the track will be ejected. Todos los platos donde esta pista haya sido cargada se detendrán, y la pista será expulsada. - + Removing %n track file(s) from disk... Removiendo %n archivo(s) de pista del disco... - + Note: if you are in the Computer or Recording view you need to click the current view again to see changes. Nota: si estás en la vista Ordenador o Grabación tienes que volver a hacer clic en la vista actual para ver los cambios. - + Track File Moved To Trash Archivo de seguimiento movido a la papelera - + Track file was moved to trash and purged from the Mixxx database. El archivo de seguimiento se ha movido a la papelera y se ha eliminado de la base de datos de Mixxx. - + Don't show again during this session No mostrar nuevamente durante esta sesión - + The following %1 file(s) could not be moved to trash El/los siguiente(s) %1 archivo(s) no pudieron ser movidos a la papelera - + This track file could not be moved to trash Este archivo de pista no se ha podido mover a la papelera + + + Replace current Auto DJ queue? + + + + + Do you want to replace the entire Auto DJ queue with the selected tracks? + + + + + Don't ask again during this session + + - + Setting cover art of %n track(s) Setting cover art of %n track(s)Setting cover art of %n track(s)Poniendo portadas de %n pista(s) - + Reloading cover art of %n track(s) Reloading cover art of %n track(s)Reloading cover art of %n track(s)Recarga de portadas de %n pista(s) @@ -17017,37 +17536,37 @@ Carpeta: %2 WTrackTableView - + Confirm track hide Confirmar ocultar pista - + Are you sure you want to hide the selected tracks? ¿Estas seguro de que quieres ocultar las pistas seleccionadas? - + Are you sure you want to remove the selected tracks from AutoDJ queue? ¿Esta seguro de que quiere eliminar las pistas seleccionadas de la cola del AutoDJ? - + Are you sure you want to remove the selected tracks from this crate? Estás seguro que quieres eliminar las pistas seleccionada de este cajón? - + Are you sure you want to remove the selected tracks from this playlist? ¿Esta seguro de que desea eliminar las pistas seleccionadas de la lista de reproducción? - + Don't ask again during this session No volver a preguntar durante esta sesión - + Confirm track removal Confirmar eliminación del track @@ -17055,12 +17574,12 @@ Carpeta: %2 WTrackTableViewHeader - + Show or hide columns. Mostrar u ocultar columnas. - + Shuffle Tracks Mezclar pistas @@ -17068,52 +17587,52 @@ Carpeta: %2 mixxx::CoreServices - + fonts tipos de letra - + database base de datos - + effects efectos - + audio interface interface de sonido - + decks decks - + library Biblioteca - + Choose music library directory Elija el directorio de la biblioteca de la música - + controllers Controladores - + Cannot open database No se puede abrir la base de datos - + Unable to establish a database connection. Mixxx requires QT with SQLite support. Please read the Qt SQL driver documentation for information on how to build it. @@ -17271,6 +17790,24 @@ Pulse Aceptar para salir. La solicitud de la red no ha empezado + + mixxx::qml::QmlApplication + + + Existing user profile detected + + + + + Trying to run Mixxx 3.0 with an existing %0 user profile! <br><br>There is <b>serious risks</b> of data loss and corruption.<br>We recommend using a test profile folder with the '--settings-path' argument. <br><br>If you want to continue at your own risk, run Mixxx with the argument '--allow-dangerous-data-corruption-risk'. + + + + + Ok + + + mixxx::qml::QmlVisibleEffectsModel @@ -17279,4 +17816,27 @@ Pulse Aceptar para salir. Ningún efecto cargado. + + mixxx::qml::QmlWaveformRendererMark + + + Cannot find the marker pixmap + + + + + Cannot find the marker endPixmap + + + + + Cannot find the marker icon + + + + + Cannot find the marker endIcon + + + \ No newline at end of file diff --git a/res/translations/mixxx_es_ES.qm b/res/translations/mixxx_es_ES.qm index 8d85ae979c81c8ad4690af7a626cdc466a93ce1a..d5a436510387f07136c4ffb7d1a63a694278b751 100644 GIT binary patch delta 25665 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â!*K$ zv+?o(Se?miHl+ip)SuOM=?r34CsxPdCP@CbS)F;fl6%*(Iv0z8|M6sY!!c13{kF3D z<6MFDf57SoWBo&lWet1%L;is#zq8EZBn258@dtT{)m*~yW$d}xhL zr<1I8Yh3EXj;ysimVNJ6Wo=I4_fE86Z37E|CQV@NJ+gq0a%P;75a9YczDZfD)l*a-r z&{Hm3&H@ghOaAqW1$=%2Fl`kJ_(D*-ayAoV0!@F+X5Ji(g&>K|O2psG{>^4jy9~^w zBb$@x17y%7Grj7v#`7xPz~j@A1tp@;s5P0HsxC!I_L2p+-U;kNEDNz*gk_Mrj(Q&gI#9XY3Mf{>?UQM$>AT#x|T93bY4f8wWfGrha6RuBWj; zomAg=K?`0R6ldBRlr>it<-Z<1c4-z}h(*d&#x{GQN%SOa^RRwcMV-kupF;Q2KY(pM zJp&i|p+WxRC)--a5=g0IY+Ld=5C=}N*x7ihLl?5xR4i`J*v@taVj9(}F^gNa9t+fi zty$duP;3udW1%ww=#;-Ke))L-a@-&p|HUBtI@6#?9na#w7U3PWWP2N7FJu9Tutvyd$l=Hr$OxnfE8bxj*}hePzc?Ey;rpLR zl!iG@$WoZpmqcQ)8~y@mjqf`nu?g>64p|f5&p_73_r;&1lJlK{MA7XV!}e`yiVe0w zNGt+$S&c+J)a5eL0WAaj^ri#o7Tz+pzhN9mAy?S`eM521Wi>mn`YTBD&awobRv2BI zu)|Y)0ak5fNu6#3agQ=6`tM>%se?dlsK<_0DhE=dpX_M&I3RPDv7_mzakr0V$1SiK zug+yB59Fg@@;4|VC$UpnGQi*+%ycFSOXsBzu`@~aa8J&%)I})m@@lj6fib`@wq@yo zwm2fthF#c(o}62;%M$*gT_tw8e19MxMzD-=rGYNI#xgcw0c&J8mWfi3k6F*Iq@v_> z+rYB1KQ1l*YEagvvg>Wm;n>0*b~9ocuzxR1?Di0Mpj%6^+e3W-E)Qb43ot{hQ^(B3 zGRs|wO^3a23`(2hS#AUtA%Bf#cX8H<1vWyWbPOE9?$3V?((rfeVUj!WM*rB8M<|%4 zbYKO=?WlQ2S;3%rKs_Vavn5S{j7>6grs*ns`5BF=!7lc8&tjlgN}73fjG5Om*t?u{ znAiMZ?{}dztdq$;ZnFnkZ4LWmLVxA{mVLT{3U1sJ_UUOj&_P!0b2D7QY+#>X;+9S8 z%f86Pyu`i*2Y@(kV&C`TJWcdF_Fs2&q^5vl?8k~~Kr>I8d9|#W*QT-`818wOCG5B7 zc;N5fu%ZErQ4*eKMTgL%&yVF`Q5M_F-#PRx07)K?4hxrhMKI@k@aBg%*B8w`rdi+L5S%|WM%ysGsA5c7+8)h}OxehJ{!s!ao) zdXCrVdIH4VNN($bQ$a)T7ZY>V@MFdYBH5MO{>D;P&TU>NXe6+xrM#X!I?CGndBg1P zSo`10oAkh<-s_XRSz;#8msNQ4o#il1Xu=(>UjujsamPqokh(SHj)!Vu%D8~HSQm@p zxW7T^jiW)HahkWPnhI>S4R7UbnujkY^VVbVi(+o_wjFVFq@)dRd#n=HdpGj-BRzqo zICCd2RCcwiaHsXwsMs3v4lUF1i}&#kBk>R1S#OZve$G4WLvcN@fOq6MIP(<5JNCo; z-NKVx5f2=MqTCI&f5du zQN&&9N8$L94|m;<(>P!E^B%W40(~)@_jrtdpzeF#voDqtx-{jz=MfwmisSv}U{n?% z2Kmpe+%pSTBJ?XC5P>(kp%)+Q69lwnS?<*XgJ=7t+~lwcU`@a4l@dSa@0-XINFWsu!}Vo>z=;=_}IuvLeAa}OO*B|h4S zah>?+ICMyZ*O@uwCm)T%i8x&1<0z&RohzF7_!($?8xHab#c9K^G(OQ9^^3!GKGD9I ztNFwkPteD2;}ch-vWptTCt`X)o%VD8W#~vYXY(m8cxS_6`II2c%v$8}soT+J>h$N+ zRwV<}9LNI(e*;*!p3knEfd%7Re0Eki@VlXWP6if|`k6WyFT?;#KCk!#j}madcsZi2Ko0hJnVEhi2a***j3DDm@vrpt>a) zv*?EkRnF#Bl#Hn zI+ivlx(?*b#$KEA_yI!6;B<2>C5J)2Kl0zJgpFCJJLSzbR452cQW_|oMIs}#u{YS z)Xd-e_{GmDz+0ZdlQEpAIq9K^3Bny?E}cNWj`LS3<@gF$g-C(pLB!%p2b ze!U0!pL>D)I(F-&pELPQMF!DqEWhP}8oP2=ek(Tur`xLV+*a-Y7E=w1Bb9k>J1lSX z-NW;0?gi;)Kc2TA-A&`m25CcIo_9k92FKiCqf-{+$t}t~%jN#2!(`YB5d*91&&9s^~cH7?d_SigI0^-~~F1 za(=mJe8)ujC~QQ{ixTDUB>=m5L{z{AJX1>utG^VB1}jDNop?A;n?{S8q4)y<|1h`1 zr5S%r)Gm&)J{1ho@b?Bq@_bQyZ5#maD{9B!9bQ%q@=IfdtyL1xlIMl(whzGU9Yh`D z_xl>8t85I4@j3a7~Jz+2xJ9qN?C2GvmE zoK_Z%`Lmh3+l#Kv(I!kcM7MQof$1*7Ws)C&wXea5hK*Iz+NQ>9x_hBPaj=KEkJs#7P_dOE6k@?tnOcs8PwqjMwLijc90`y!x;fKS^ zkQpuf{PThR^%Wz=hJsj^C`OLQczxr#7}dNo@ant7=!4CHy}u;J_QXL|er%fu3Z!kr#KbiGLusL6QuYaKC2tl}?=iKzAVGu*If~~;v%s9lf+zsDbnEkVy=R@Rme&)Z}rQ)@+th0(VF9##>H^5XFzSQzA=Uy6{oSc<9jM1;=6 zFmbCuEFGH#;;@xi8tjMib*EVV1YOFu&SC|}74*L=R$Rdg9Q#{@eZnMfZ7;F1jWb9t z8Df=bl{3(p(P9;ny*MIP*F@h_FG57@#RK7ZR;&xn2mYhGSZ`4XqDgPD-laT_u9!q* z8Qj~&%S7aRN05n?h|&Tvj@A}2#gi)oE{UxUAploSiLKsifgai@whw#*WOA-S`nj3d ze#8e8gX+SxyUzxcGIK?|RS}4mcSU?{q~9tLUw}pxKGV!Nlh|t)fg^S$#J*$<#7*jm z{TXq}U_7Tq}_zyMwg2uSk0N9LV#H;>1KW zzNS6JsnYm8_VY~QlxqZ*(W{G7!-wNZ8z#=IOae*I5vir{q#d{;QcE8J_%T_Wx8T6D z-ih;DoPenA;=+Y2fF%dT#S%e48rKmQmt$eEaU*egDz40%8X|KX-pJ2Z;z~pz!1tHp zYG)_lKC{Ku+#Mipz7bi)Iot+QoXGlU3lMlrTyKR|eXNSOz76N8_$zU@KT@6%2|#Qx^0=}nOM`O+Q4z{cWtiT)`5 zTZ!NEu*eYWFMbChV-|?Ni3uR8EEoT9W&(QT%Jj}QJP-q9K4T=%plPyLoe!etG+B)< z!m{o=SwkTTTVrI4PC-E1{gf>*JEHuzT%uJF@SDwKOQ)Ma(uT{H$(C5p`QBSD_2Cgn z0VU-!k`K_o*>dFxxSdm4%2n5U0hC>AP@LZ+SKZ)=A?k-*^)@DwfmU)gr(am$S|VGI zOaZwBk!uvC0F<^hNX9!DWZ$jjS~zGc^}i|Ce&YjdK$L9cbHk<<6Lrw4!Nvz7`MGRY z>N!BIVA<|o8W4G+L3Xf}T)%jR{c$b1!4jPQkUGl^!_XJqN|zfAz6oOCJ-P9%Q2=GK z43bG-naQvxWDY;!RPF1saC*<}F zC+^R^l-tk2u1W<5xpUNDJmRfoX9iu|B_LvX|v^$kOZsAIlTqJv%E?vO3 zPe;jWC8=a0o7yuCx7kF$MHP)80b zi7QdxVSqccYS6(%OOUYqt4*qsD(DBQ1!T6oP3Z0pXA8e zSe)qcRE}Jej&Z1k9JwEF_*9Y{{Q#wGq3N%@c~SrhqaX5?`mP{)JIUMZu_;ydtQ>n3 zFUtnXv z<>EAg-kB#KJ^c+}XJ>;v^qPDk1pmGJIr*dm{=wtv@~MaDMaSQe&n(6`=GsR->pvZ+ zb4xk(T62)TG?34SVq99n#?50N;Q-(NBLvdBwNl{ zj?V9mjhy)aQ(uoe^3`K|u@37bXOC!(L!v42^)0?Y&OMQDN`b(uxym`S!vS*<`Sx#Y zgg42M?--%qO}^VJANYUc<@-*PFeCme=QphaaPGBSP#5D-+r#p!rE9U)*GPV~q8VzC z9;4+~cgq035-GpBe;D}H8uA;K450ZMB;!Nnx2sU|y8V(1TRj8#7At>VjqRehtK@GE zRj~!oN&fxV?K1@?;~w??sgRR+KD&HZ=rD$}>30==UM%9fcPZ%V}8Z&mFClK8xcgl_jOTPd}`3Ml0nvB;Y)7o>HM{A&?_Wm5P|sikT5g zrCh9lJ$SEFsWBXAxeH1)(rj{H)YCu9!2*0B*lrA z2Lk_;PIYk$=Y|^OJ>8UU4=iz9;85E~?D&2kXDZ4H` zlcUHc}j5c0}{Q$4RWW`N^rtWU~?`ji#B%#@Xk^e3#@YXd9N&vL4U#~DT`0E zL7RwDLOO?GGD#qBBrgPdWiU0jR9+ja#{Vt+IY9 z#bhZJ73w-1YA;eY#*RSOsJBp}=9L3lbF31*939OKZ)H8)CBr2Nr^k31rj}??3#=hCRr=H z?w~79(Ue_Z@N{%_QFe!;a_2rud_b}5eG#whDe8#1f}gUt;2DsAs)GOp(UyWK>|Jdyz9QKXXj z-3la|^=1YyQ?8W5xmY-DrvDa$WXTzWbjnD@bj1NZ(w{xbmC;VXdIl<2ZVkmf^D`*E zKT)oZ$2*`4l&cxom;O;fx%wWnep9lU;ZDjmngsCsm_hz7PPrCz0pQO`*(3}HWGt1O+#ulHnkjd-1p=w5nv@57iZDArrQ}!siGyy=%HxLCKy2qK zPfF(ldEZAV^o;?suC`K`REQOBZ{|RWXQ$A1K1N6Z}Egc?$4)TdwrXA{)`LoqB&ZzJflv2x8ISEoDFSTN4l!O;U z)hfqvqt-Q6t0r0kcpX!#P4WlUs*!3v>L3n>yises^#@UMx@uD%FGo&LZ9e_QlxMd= zy0Mc%ao$U<9sCokn>|;lwbzcqhSp)V?$0Qod5_e39cyD7$WgU(wE?N6g+V&iL2Y;e zAF4TcL2WX94sdOu+Ux<^`iMSiOW*QXkG5A^S!0`MQX92Zbrsm>7`64(9U!GHS6e5C zfS52!b?V*$8*tNAr_I*DBTA|rND)T$er?oFn1Ap(E^4PkMIcUism?)PK#X~yx`dwq z>0e3J6)!~QrB$~X)|h*BG|2CtQr#Ym!dSLN?fKCQq=x6zUSlvsc{eslz9p!=?$`rA zxkl|>8r@0QMYVT59}u6GsC_&!nBO|8_H{Hl;bZ}*eNQ7(>Z=1UF(b?{IpMB;O}L8V24h&bD+f+@0{I&tD|pnEb5ibSeTylW4l z&kEH)tqAx?7j>Eka%^jLdc)1Y4>VJ!PeFI*?5$3pii-7_qZ-ik7Kn>W)qtB$!0x_K z13$_@`;1ZNJiCjg^GP+~Qv&qjBh^&w9>pPb;RYRdxV=FWKi^PYbQObk@_cpCtsX$_ zTc{z^)?&e-o|#WSs-cfF@cyc+OD*w2VguFX$1oj_US#Ip&gzO@Re*h|X;3IZYFGe9 ztQvl5ILE4P!AN!WcI-@!xumX6w*zr6SdF&pgu^R;)o6b^d=jNcmb$s@b_~{~)y<6# z1KY7o-7*k^er&$FZR%=N88y{yXJSB#3{|)Nzyd`uOngFHB2js5cs^_#c4 zy*EnculLm*ZLC4~msR8H`hv82f_nIq6OawH)Z_|J@xhV4>X9|SL2T`*9(`}Z)0u6n z9((AIb-Nep$&m%vJIPj0jz)L+CDb5wk5JQW3PCzIOFicr3eqm3o*x;7t%4tFdgdX3 z&rD5!8IDsnZPbf)=q#iP>cw{0Rem=_z37VR(d75)MK>(XlnYZYNBaP`mDJ4n7>Zw) zRx?}VWMFx%wtDq}6FyXaLCvlk4m>14y2X%QG4&wuwY}BbW1K-c z9TXvVu{QaYQuD6hiXPjdJ_>&h^hc8V^uQOqPOd)7z;a-Tk?QlwJAf7Dsn1v9liR1m z)K?z(fXJX^GrcCOuclxccPmkSHTMee8+q#MtqGX8zE$6(`T+bLsJ?ly1K{am_1zfE zH{UuK6gO9@?=^RvYaUi#eIK?HSj8aqL$iDkNlnyG6ua0DC#m0W6#{qfto}NRssHa} z^>;XC+NnR)-^UWMr4gw9zJ_XSGgJQ#!JQfYL;Z^uB03yWizd$isrEFJE077 zpQ1Gw;19yaS!?7Hg#Eoj&Hi{1mU-@J_Sf98xAI48+#N;HvPN3t1U!6m+iOiGjswx^ zk>-#w5=bpC&2i9L+?q)S`Hihw3k4^)x0{#0rlyjdACP5vb&>Z8gjBHK=3$i z*kmkDc>L6cV{wD*tD*UQNWql5i8f-OJJz(Xnz?_nHnLqgtg={}*{q>KGU%6?UPldz zvp8mXh7f^p>@;wJ;gl@kbjwYa%97x=9;*))&N~v)b4<_(86NHulGV zK&KZOWUu43arZxAqpz+u@dgE{eV#VCej%_YBea?Lq@^@zjyCf=&Id&t)dEkP1*u9s zZBD{}_>|Rs&7_?GcG62*Fz*~l7Ok{}SaRm=_iMqi7^~Y>)q=AEFo`l*YQYaH14#_f zLZ)Cb-EV>xvI!Nihpa7$!wWiGRa?=_6QqJ3+KR+4*sOV~t&BW^|HH>0ZPk}#V5g|I zx}Z7MjZSMD`r;hWElrEG^usp98!fU8F8TiRTBPe{pp$l*8P>|omD|j;+IdZjytN%5 zWROALcexgY&ytFIVG)hHS1{f9tVQMdW9zlK7FDzi#EX_%bS*4@-q@za zDG}1tq;1_&T*VopZR>=l;Owt$3&PXee6Y5ya2mcpp~b={Of@v*XXH37cH{+A`tP*u zzbc|lx@d7jaHnG?YrDNLLM83icE>)$l;ezp7C){&(4alqo(UN^5~6DRss@1M`%l}~ z{t3XINNs<6JiXmrwSybW0<&wS9egqyyZLqo#h%AnV%BY-x0AF(-V1=f>Zu({^g#dQ zsU)I$k`JOwuVxPaU{D;zOvwumNjX<7<=S*0HA1zsHLxIjW}}vR z8`Y!76D_R|n%Ji&+WF?r08d_P>8&tSZnx0VUz8{WI{cn?dE*73Q@=-KyH+sW@zk zx=hm^=heaf_*-iD7@94`Q%{h`IYwU-FYl5 z25T?=CEyb~4qdd@Epb>cF-?1&dI&f>p}lcM6VPStljAd>S;MtY_xRYk+eDw4ZT7Sp1FEepSOAINDkJGXq<{Ie)ajqy2$?JE8p>SBRs!7TUk_=s&Gr z=)7|**7<}kCZz!1I7nCaSfgD05~{0#qc9d9)77tdXX%r54NIZ0sI*?f9S_xPMK6^$ z9iP7HtCtO?Akw?&<(r~SMt#@Izj%*b6kV@SF&#*htzKbp2N2^@^h%}sW3&6aZgr;! zb2CM+hGj8$eqFB~+y!@JtzKjCT40e^^cu+~tg+hf*K5XRf>bX~w>^{s#8T*W3eeHM z9;e&ws|@t(K)s<4hO$P7^hOi$kcN2ZjTVIim11=Jmi(tX4Gc&BT0!sNizZULvfg1d(q@U?(e%^_M`nNMopVP3$?-Qx zKd;xj#)gBetbyQ^Q(<~r-WXX8|22RFU1Ev7)}K6*b793@=vP4D+3AE5d)-Q;PXfZg;@ zx@VJo;C+VbLkD7#=W|IPx^6CpoS*ve%2an3}AwX!aO*M^`>)#tq^~`V^Hk-h=^N@| zj9tA&kDP&?pWf9YU&mtM?+y|L>&J?Ev;$VD-c8px?ZU0|>Zxz;6#@`G&LA7#UEk`9 zmB}{W_1MZNe@tHv>9N04KzLo#cNBl{rH{Vjfd!D@ie~2KnR(AmH!IgTJ?;ZmD4wj; zcWqk)tmZs@SKL#en_|t}yV#(}zO3(!YzlC|L*M%pkKOW9`u_9iFTU^76QZW!kWIXP z@JKicww8$yYyC z)()V;BZFjWUH#-DZ(uVv>ZitGOtssmpE->A{M{aUO7ZXa_S4T+!#ub_OZ}_^{-;Ir z6#eXN6s*&S>1kOg*yy=y`niBSkcKPz#f}p&ua40#u28VnqUx74+{2k%zw~uIa1y0w z?#l<7k)>Zfc?;9WM@X!{t#LC*r>5xHzWyLws_8dte*pUQlAhbM03T?3q~~IFiXSKX zy>+!g6mHS)MWcso>8(GoGc^UyTj>wht^qCv=nwXP!uOZ-M;dxA@Y5e*uaB!A_2(CJ zfXsTTzkL)8r0Qk;-C%owW(V{SA7=n_9;AOv#LD8nU;3wC&2h40y#6`E32330{;dKB z;ozhH^hAk!qLKb{KW_2y1NyIic-q3(T1cjCSPPwmFaF{~LVq$XC>j;LC=9X}l`Z(c zAS?=fw-9Cf1M$qX&_c2PcF)y9FM+WoY>h>URd|j=Hd~Z3p^NQ!+@jQq6o8g#7G+*x z%Vcy}i?S^$gJ`nQqO4~Sz`!OJ6^^@NCDO^F;xhc7Nc0sJrb@M@0X^BmqEb8>q3sKc zD%bFM1fR30ia#g~DPd9FVH}XMD=lht!!No&+oERmoglGE7PZb|wC!=lqE^~Qkf!EX z*iOs>UO&&mHm)?rkS-Q=qtPhc7Fg5^{0fqfn?(aD26(Foiw2oRz$05(G{9KGqbiy# z8of>cHnEL`{T0+rEYrgNSqAX_1r|;0JLA%AvuOH@fut_AaI77UI;EjSiw`#d68>-G zO2A{hzW$l*jpZ&OB25V+rAaJNYNvK0NNV5zWRi?z7&9?5k%Te`wS*`Uqr}#rw#HJe zJ&2{Xw{~htnovr$*3uH+Z{E=7`~Sc1d!FyfGdb^amvhf{&pG$LcL8hey+3nOg@%*s zSc{8r3)*C}HVvc6ur{5w3p$VNRS4^dut(Flg9?>qD_N&fe=^+a%sO{EM}{(L3#|JPxS+11 ztozc=q+~>}o`-%U{rROV%D*is9}Z>Fbqg?OTxWd-0O7DRD%1>WR0iFXBGn7s(Fhgl zFD0`+(~zKlxt8_aoR6jQurm1NA=WP)^ZUO_*nn!-0{?Ix8#rbgb~8+7Lxw<@lJBq~ z2UfxVNCx}@a3dSKKAiNP`fPa2??mCZRjA!Mk;Mo-Dc$C?n3<39Axi#m7IX9nGK>RR z%=K)fv1T(_!b>6ST5_P|l z7Q9a^MDkc4$wp0qS{HuA>{Br-YCEy9wGef}Tco)LhtrDA>+=TQ8JF)Z=U~Q`$HgnSh%yx~-;D>kFECrL(?N8b4 ztM1`&;TSG3!fG#B#=txz5hk+C8N;#jvogz;uShrJJC^-Cij?Qq*`i#O?~|iKWk4)j zq5-0rt=N+5$ZK^u&z3s6VU0D7EzO6aSu0ph0@6p6$(HRmli^x6TYlS&EJz?*kpc=% z%w{XyWd&aYi zJx-7|Du7*@m;+}von6}c2-ET+H@h4J%TzajU2!3UcFW1G7wAZr+y@X1_ie>)+yJR6 z?_)P#KSf$4nibxJ?cO_{9S<{85iRx`cUp))@BJ2f#S7Rv8@Egq7aB zf+X-t_ImdBNd8`8ufN5nq?uc|HWPu}$LF|q!vNCHJrbwrE}{8ViWP)v4BsZ|8u{^#Y@1y z0ZU2AY!CRF^f7CB=OK{V%;|uzSeeIpmvxg!X?C4=o!%B7Xq@C-pL*a-p5ze=N=W(r zGaiXtA60UzP#^G<3Y7!Pc%*40NZpwC>;%MHALmhQ32AH%c+>)QBU%`bDy&I*?dLqY zo{f~;DLi@xMzrp0-YX*=D~S7e?;2Q%^e^CjvtdYkR8J|L$Q4yO<>o$oV#<4fRtYSJt6 z)y7?<6nExpY6GFq!uh)M@DtKT^Y!CP;p64`yfBF+Z{vYMS^b zKUNt>fKE;3CvHNfCjH3I47`9@(8hnrfULL|{lU*xUQJ4N9KX~V!dKnKFMp4Wv}Opu zvg837=Fj3kk&&o;8ozM}F<(6&epB2aWzlS2WPA@9aUCzpxdOF2#EaI3Aw$%Q7av1h zu&qBYIW(NKGtThaW*5=@ulSwUh?1Aa@W&q?Bty9$_>+_r=>Ni-{7Fd~X}YHKr={3a z0d;y-=|j?Q{DJ>HI-N8>#q-zY5$mm#D%37IC8+jreD5784BoGdM0Lc=Yml+oDyp7A zZ0B1jsy@RcROgroY`C73M|q-Vr7Y5SzbA}-mEpd(6~;a5Np~w(1Sg(`qo7O_bwexQxMn+5xNf%k10xo^{Py?eYpw^-$aP8G~7RItU|-j z6GYgmm!vbwN=l}PC=X}zu&?NryPas5uP`ISTV#HA3{rNKyQyfXk^i3kpdLHS4Dk4E*D&ba< zFxHQBL9K=L-gG!rPlRnwP1262CG5E{7db0L@%v|`qyHl$s-NMvN^lVRm$k@2t!zJabNvM!w_#au;rE<*Iq-xiB^ z;eF-0VoBx>ERzisOG=QYO>QfeHK_ylp;RotkckwMbF28`8xtb9TOv2YLb}=|V)YkD zw{F=jRzL4YhUP=XIzKqgr9;K0wKd4laDmv8wF*kmTx@N&9lN&Mh#i-0r2XrN*kyP^ z`U4Zh?)ps$(YV;tWD@D(`ieakFsdL{?0pw`k;otwDiPUY-vM_X=^Gvw`6XM4&QB2g zr*$VyNxs-Rs5y7ILC@1^C9A5IFxYORB>sqIQGL3EGC%5<8o?@H0 z=7(L^sYAuJqZoO{0CD5P$wcL5ltH;!h02}+Q8+c648~oe@Nzh5U(^&o-;KuJ&|gLI zx!t52*G?4Q#acl|M{#Re9n$xyEpF}n2|In0#T~>mWSJw>GfwhS#Jxur>?OM;+`sR( z5%ozIj~9S6wVR12!|UK{f+F$shz%}b2k~Mo{E~_b#b4L*N%yLW_`4KBRimMJwYrFC zeLEFu@5ZUnkfDguJz6qE9uTjq0d{{SUe6v*hG7@QYefB;^6SLwqX?>Z)|G_a+`8Bx zx72PKjLB?+)WtR?-Q?BM(EJe5skzdpJGOxz=_kv5he_hN&r zsB296PrAs86%e6KXeBFRaYA$G6Ujb`CS}+~$@gN!Uv`oF@k7joeWf_*Ps+v_QhJ}S zzN138kmaTC7+B^3`(>s2%aI&=DJu;_n4b_StIXDteny-O=p0V^KUT@W>af()f0Whk zmXg5|C~Ku;lA+dF85#ifdUQ~R9*-vdJN;x>i^uTVf0bcfOOf9=AnT_&QaO4KPt@Z zFPq^QX^p;{Y#CC6lwc-Xg*vcq-chz5kWbVyN4B<1LvFo>Z2c+pf2yerUaD0FuV%?M z1yIj-GiAFh1Z31&cAUH&-!e2?A-lYf3Uz~2sQfZlMr;{H+M9pM9z~dw4&Rjn&*J>7 zCINB~*77K(vmEhVCTVNDBTb{)lJ>x_GQLe9=_`CM)g7K|9jD=r1js`vIX( zGj{O4&jcg}fOR`Bn zzqw4=okm*MP?_rYGii>UkZI5LM9z=ogzYvme6UMStO=nk8Y|sB9+1BMX*op!OGh-6 z(}p}EO^qpXj(!puO1sI-b-APqJtgO7+$G(66Xb$md>5)qUMd%L4+lweY>LSas zd^hEq(~ZDmll<~qXwi~`GOykoSWJz~dkAeR7cMuSZVB}*kXzgr+LB>IE4dBvgtq!2 z`8Co9+O?PDH?1C%jxUwpwmnVMb*bFl93%FF&^`-5n9x_|FDy^G_O0dqaLfr&*W~^y zNWw?IBM(o3Z1lJ<4=*~7xy&SwSZ5eRuUZ_moRtBfYH!w|wKK=*gvFLQt{;*P>tb7`qSrvJ5a1Aop7t1s2h7)ybDbL1% zQX)!T7&e@AE4IoDcl#0j*->6f4Z|E6DKGm$t^J3nP-CAiuLffhYLM)f*Q#j{&i^H^ zZE;~^@@;wj&T@RI<126ciMXTBDp?qlPug1=S(wz6bdl#|@z+qVZ98O1;}p^j{YI9Y zzd?rVwpalFklGXd)^TTFMU_gIzQnLEWLUz3BO;OYnFYh(g z1-k3wfthS-jbyd11K06*_NEO~9!(at#M`H4wOst0#s=bTJf4`zg`-cf_Jv=|o_15b z(`ZgjGCM3|%r=+FYU~}=(-_e|(rB?cU1n3f(LT~>HCIY7#ibd0546N5m|aHaXp1e& zxYPgZp=$&7csl>0t&IF)5hbZT*va`%`@DCuC2q8_%gB-DI8RbLP0$R7NwdRY(l&3@ zOkWq{vrww~XT-=|xU=FnUL{O0jR8yox@Zu`mm6^nvU%Kz+JK5=3 zxIj}wWAco>ulRXlg0#$|57YX3P7l*5wJfM=Q)w^`wVb$1R;lz)^PYJHnvksg^@?Z6 zN&_<_qeQTWWoQGdd3%jhd13?UygW%nmtMv>JqzT)QsaAMC)A{JR z^Pe%qlGXF@3w=N(FYl7jOgsi>2Ioy#zF+xw@bb@#iMQFeoc#^=W;9>MS?3%6*1^dJ z;ds^wWv%$dsU@tQM(^qZdkiX*5(-6;RM5;yVJMo0Uw0H6=fxEj9Oya;6gH~mM&X&a z)Z1>o9R^b;k8e}0f5RwLDI@)_CF(oBgYzfX_qswlL zv)gRuIG1sZ+37ST;Pps{eT*^9p6u|xayjf)tJ(3Up!d!R)iSEBg&QMBdJ7uk?M9m& zdSx~nO^Xg`g4`(KN;DgTz4~d4D(fv6J=l_sDT!vAS}D%z)h)Yv^KV_@k+-tdJQ7V> z;?1!pM}4)%7*m=t7G1I=1{=5i1&A5%x@4kcC}mM%?=RDi@L+? zbeSBk|3QH_xR{I}uG>ppZ(AngkjP$Y<`t?%+Z|&}R?B#^r_Ekn z_>5yabolAW+-vD)BU-uOoEA>cVUFQdWt29{N> zm}N~ZdDnBVo~Ck-?mfZ21}cwR8G*PuY|s%L9S?3npfJR^WQPM*8%#C1taf`+*-MjC zefiG=&$0_jfabDi{~#sE2WWT|Gwa~bNuKKKH03=VTI=8S;G|w(&r!GHTh08B@s8?a zNl5(fD0qIKYIrwmOfd^ET1FZzE~CY1G>vq5g9s+2kLDA_&+Rp + + AllTrackLibraryFeature + + + All... + + + AnalysisFeature @@ -19,52 +27,52 @@ AutoDJFeature - + Crates Cajones - + Enable Auto DJ Activar Auto DJ - + Disable Auto DJ Desactivar Auto DJ - + Clear Auto DJ Queue Vaciar la cola de Auto DJ - + Remove Crate as Track Source Quitar cajón como fuente de pistas - + Auto DJ Auto DJ - + Confirmation Clear Confirmación limpiada - + Do you really want to remove all tracks from the Auto DJ queue? ¿Realmente quieres eliminar todas las pistas de la cola de Auto DJ? - + This can not be undone. ¡Esto no puede ser revertido! - + Add Crate as Track Source Usar el cajón como fuente de pistas @@ -223,7 +231,7 @@ - + Export Playlist Exportar lista de reproducción @@ -277,13 +285,13 @@ - + Playlist Creation Failed Ha fallado la creación de la lista de reproducción - + An unknown error occurred while creating playlist: Se ha producido un error desconocido al crear la lista de reproducción: @@ -298,12 +306,12 @@ ¿Deseas realmente eliminar la lista de reproducción<b>%1</b>? - + M3U Playlist (*.m3u) Lista de reproducción M3U (*.m3u) - + M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Text CSV (*.csv);;Readable Text (*.txt) Lista de reproducción M3U (*.m3u);;Lista de reproducción M3U8 (*.m3u8);;Lista de reproducción PLS (*.pls);;Texto CSV (*.csv);;Texto legible (*.txt) @@ -311,12 +319,12 @@ BaseSqlTableModel - + # # - + Timestamp Marca de tiempo @@ -324,7 +332,7 @@ BaseTrackPlayerImpl - + Couldn't load track. No se ha podido cargar la pista. @@ -362,7 +370,7 @@ Canales - + Color Color @@ -377,7 +385,7 @@ Compositor - + Cover Art Carátula @@ -387,7 +395,7 @@ Fecha añadida - + Last Played Última reproducción @@ -417,7 +425,7 @@ Clave - + Location Ubicación @@ -427,7 +435,7 @@ Resumen - + Preview Preescucha @@ -467,7 +475,7 @@ Año - + Fetching image ... Tooltip text on the cover art column shown when the cover is read from disk Recuperando imagen... @@ -489,22 +497,22 @@ BroadcastProfile - + Can't use secure password storage: keychain access failed. No se puede usar el almacen de contraseñas seguro: el acceso al almacen ha fallado. - + Secure password retrieval unsuccessful: keychain access failed. No se ha podido obtener la contraseña: El acceso al almacen de claves a fallado. - + Settings error Error de configuración - + <b>Error with settings for '%1':</b><br> <b>Error con las opciones para '%1':</b><br> @@ -592,7 +600,7 @@ - + Computer Equipo @@ -612,17 +620,17 @@ Escanear - + "Computer" lets you navigate, view, and load tracks from folders on your hard disk and external devices. "Equipo" te permite navegar, ver y abrir las pistas de las carpetas del disco duro o de dispositivos externos. - + It shows the data from the file tags, not track data from your Mixxx library like other track views. - + If you load a track file from here, it will be added to your library. @@ -735,12 +743,12 @@ Fecha creación - + Mixxx Library Biblioteca de Mixxx - + Could not load the following file because it is in use by Mixxx or another application. No se ha podido cargar el siguiente archivo debido a que Mixxx u otra aplicación lo esta usando. @@ -771,87 +779,92 @@ CmdlineArgs - + Mixxx is an open source DJ software. For more information, see: Mixxx es un software de DJ de código abierto. Para más información, ver: - + Starts Mixxx in full-screen mode Iniciar Mixxx en modo pantalla completa - + Use a custom locale for loading translations. (e.g 'fr') Utiliza un locale personalizado para cargar traducciones. (ej. 'fr') - + Top-level directory where Mixxx should look for its resource files such as MIDI mappings, overriding the default installation location. Directorio principal donde Mixxx debería encontrar sus archivos requeridos (como mapeos MIDI), reemplazando la ubicación de la instalación por defecto. - + Path the debug statistics time line is written to Ruta a donde las estadísticas de depuración de la línea de tiempo son escritas. - + Causes Mixxx to display/log all of the controller data it receives and script functions it loads Causa que Mixxx muestre/registre todos los datos del controlador que recibe y las funciones en script que cargue - + The controller mapping will issue more aggressive warnings and errors when detecting misuse of controller APIs. New Controller Mappings should be developed with this option enabled! El mapeo del controlador generará advertencias y errores más agresivos cuando detecte un mal uso de las APIs del controlador. Los nuevos mapeos de controladores deben desarrollarse con esta opción activada. - + Enables developer-mode. Includes extra log info, stats on performance, and a Developer tools menu. Activa el modo Desarrollador. Incluye información adicional en el registros, estadísticas de rendimiento, y un menú de Herramientas para Desarrolladores. - + Top-level directory where Mixxx should look for settings. Default is: Directorio de nivel superior en donde Mixxx debería buscar por sus parámetros. Por defecto es : - + Starts Auto DJ when Mixxx is launched. Arranca Auto DJ cuando se inicia Mixxx - + Rescans the library when Mixxx is launched. Re escanea la librería cuando se inicia Mixxx - + Use legacy vu meter Utilizar el vúmetro antiguo - + Use legacy spinny Usar diseño de plato antiguo - - Loads experimental QML GUI instead of legacy QWidget skin - Carga la Interfaz de Usuario QML experimental, en lugar de la skin de legado QWidget + + Loads the highly unstable 3.0 Mixxx interface, based on QML. You need to use a new setting profile, or run with 'allow-dangerous-data-corruption-risk' to use with the current one. We highly recommend backing up your data if you do so. + - + + Force Mixxx to load an unstable version with an existing user profile from a stable version + + + + Enables safe-mode. Disables OpenGL waveforms, and spinning vinyl widgets. Try this option if Mixxx is crashing on startup. Activa el modo seguro. Desactiva las formas de onda OpenGL y los widgets giratorios de vinilos. Pruebe esta opción si Mixxx no inicia correctamente. - + [auto|always|never] Use colors on the console output. [auto|always|never] Utiliza colores en la salida de la consola. - + Sets the verbosity of command line logging. critical - Critical/Fatal only warning - Above + Warnings @@ -866,32 +879,32 @@ debug - Arriba + Mensajes de Depuración/Desarrollador trace - Arriba + Perfilar mensajes - + Sets the the logging level at which the log buffer is flushed to mixxx.log. <level> is one of the values defined at --log-level above. Establece el nivel del registro en el cual el búfer de registro es descargado el registro de mixxx. <level> es uno de los valores definidos en --nivel de bitácora de arriba. - + Sets the maximum file size of the mixxx.log file in bytes. Use -1 for unlimited. The default is 100 MB as 1e5 or 100000000. Configura el tamaño máximo del archivo mixxx.log en bytes. Usa -1 para ilimitado. Por defecto es 100 MB, como en 1e5 o 100000000. - + Breaks (SIGINT) Mixxx, if a DEBUG_ASSERT evaluates to false. Under a debugger you can continue afterwards. Interrumpe Mixxx (SIGINT), si un DEBUG_ASSERT evalúa como falso. En un depurador puedes continuar después. - + Overrides the default application GUI style. Possible values: %1 Anula el estilo por defecto de la interfaz de usuario de la aplicación. Valores posibles: %1 - + Load the specified music file(s) at start-up. Each file you specify will be loaded into the next virtual deck. Carga los archivos de música especificados al iniciar. Cada archivo que especifiques será cargado en el siguiente deck virtual. - + Preview rendered controller screens in the Setting windows. Previsualizar pantallas renderizadas del controlador en las ventanas de Ajustes @@ -984,2557 +997,2585 @@ trace - Arriba + Perfilar mensajes ControlPickerMenu - + Headphone Output Salida de auriculares - - - + + + + Deck %1 + %1 is the deck number 1 ... 4 Plato %1 - + Sampler %1 Reproductor de muestras %1 - + Preview Deck %1 Plato de preescucha %1 - + Microphone %1 Micrófono %1 - + Auxiliary %1 Auxiliar %1 - + Reset to default Restaurar al valor predeterminado - + Effect Rack %1 Unidad de efectos %1 - + Parameter %1 Parámetro %1 - + Mixer Mezclador - - + + Crossfader Crossfader - + Headphone mix (pre/main) Mezcla de los auriculares (pre/maestro) - + Toggle headphone split cueing Conmutar la salida dividida de auriculares - + Headphone delay Latencia de auriculares - + Transport Transporte - + Strip-search through track Navegación por toda la pista - + Play button Botón de reproducción - - + + Set to full volume Establecer a volumen máximo - - + + Set to zero volume Establecer a volumen cero - + Stop button Botón de parada - + Jump to start of track and play Ir al comienzo de la pista i reproducir - + Jump to end of track Ir al final de la pista - + Reverse roll (Censor) button Botón Reproduce hacia atrás (con censura) - + Headphone listen button Botón de escucha por Auriculares - - + + Mute button Botón de silencio - + Toggle repeat mode Conmutar modo repetición - - + + Mix orientation (e.g. left, right, center) Orientación de la mezcla (p. ej. izquierda, derecha, centro) - - + + Set mix orientation to left Establecer orientación de la mezcla hacia la izquierda - - + + Set mix orientation to center Establecer orientación de la mezcla al centro - - + + Set mix orientation to right Establecer orientación de la mezcla hacia la derecha - + Toggle slip mode Conmutar el modo deslizante - - + + BPM BPM - + Increase BPM by 1 Incrementar BPM en 1 - + Decrease BPM by 1 Disminuir BPM en 1 - + Increase BPM by 0.1 Incrementar BPM en 0,1 - + Decrease BPM by 0.1 Disminuir BPM en 0,1 - + BPM tap button Botón de BPM manual - + Toggle quantize mode Conmutar el modo de cuantización - + One-time beat sync (tempo only) Sincronizar por unica vez (sólo el tempo) - + One-time beat sync (phase only) Sincronizar por unica vez (sólo la fase) - + Toggle keylock mode Conmutar bloqueo tonal - + Equalizers Ecualizadores - + Vinyl Control Control de vinilo - + Toggle vinyl-control cueing mode (OFF/ONE/HOT) Conmutar el modo de puntos cue del control de vinilo (OFF/ONE/HOT) - + Toggle vinyl-control mode (ABS/REL/CONST) Conmutar el control de vinilo (Absoluto/Relativo/Constante) - + Pass through external audio into the internal mixer Pasar audio externo al mezclador interno - + Cues Puntos cue - + Cue button Botón de Cue - + Set cue point Establecer punto de Cue - + Go to cue point Ir al Cue - + Go to cue point and play Ir al Cue y reproducir - + Go to cue point and stop Ir al punto de Cue y parar - + Preview from cue point Preescuchar desde punto Cue - + Cue button (CDJ mode) Botón Cue (modo CDJ) - + Stutter cue Reproducir Cue (Stutter) - + Hotcues Hotcues - + Set, preview from or jump to hotcue %1 Establecer, preescuchar o saltar al hotcue %1 - + Clear hotcue %1 Borrar hotcue %1 - + Set hotcue %1 Establecer Hotcue %1 - + Jump to hotcue %1 Saltar al hotcue %1 - + Jump to hotcue %1 and stop Saltar al hotcue %1 y parar - + Jump to hotcue %1 and play Saltar al hotcue %1 y reproducir - + Preview from hotcue %1 Preescucha Hotcue %1 - - + + Hotcue %1 Hotcue %1 - + Looping Repetición - + Loop In button Botón de inicio del bucle - + Loop Out button Botón de fin de bucle - + Loop Exit button Botón de salida de bucle - + 1/2 1/2 - + 1 1 - + 2 2 - + 4 4 - + 8 8 - + 16 16 - + 32 32 - + 64 64 - + Move loop forward by %1 beats Mover el bucle hacia adelante en %1 pulsaciones - + Move loop backward by %1 beats Mover el bucle hacia atrás en %1 pulsaciones - + Create %1-beat loop Crear bucle de %1 pulsaciones - + Create temporary %1-beat loop roll Crear bucle temporal corredizo de %1 pulsaciones - + Library Biblioteca - + Slot %1 Ranura %1 - + Headphone Mix Mezcla de Auriculares - + Headphone Split Cue Salida partida por auriculares - + Headphone Delay Retardo de auriculares - + Play Reproducir - + Fast Rewind Retroceso rápido - + Fast Rewind button Botón de Retroceso Rápido - + Fast Forward Avance Rápido - + Fast Forward button Botón de Avance Rápido - + Strip Search Navegación de pista - + Play Reverse Reproducir hacia atrás - + Play Reverse button Botón de Reproducción hacia atrás - + Reverse Roll (Censor) Reproducción hacia atrás (Censura) - + Jump To Start Saltar al Inicio - + Jumps to start of track Saltar al inicio de la pista - + Play From Start Reproducir Desde el Comienzo - + Stop Detener - + Stop And Jump To Start Detener y Saltar al Principio - + Stop playback and jump to start of track Detener reproducción y saltar al inicio de la pista - + Jump To End Saltar al final - + Volume Volumen - - - + + + Volume Fader Deslizador de Volumen - - + + Full Volume Volumen máximo - - + + Zero Volume Volumen cero - + Track Gain Ganancia de pista - + Track Gain knob Rueda de ganancia de pista - - + + Mute Silenciar - + Eject Expulsar - - + + Headphone Listen Escuchar por auriculares - + Headphone listen (pfl) button Botón de escucha con auriculares (pfl) - + Repeat Mode Modo de repetición - + Slip Mode Modo Slip - - + + Orientation Orientación - - + + Orient Left Orientar a la izquierda - - + + Orient Center Orientar al centro - - + + Orient Right Orientar a la derecha - + BPM +1 BPM +1 - + BPM -1 BPM -1 - + BPM +0.1 BPM +0,1 - + BPM -0.1 BPM -0,1 - + BPM Tap Golpeo de BPM - + Adjust Beatgrid Faster +.01 Acelerar la cuadrícula de tempo en +,01 - + Increase track's average BPM by 0.01 Incrementa el BPM promedio de la pista en 0,01 - + Adjust Beatgrid Slower -.01 Ralentizar la cuadrícula de tempo en -,01 - + Decrease track's average BPM by 0.01 Disminuye el BPM promedio de la pista en 0,01 - + Move Beatgrid Earlier Mover la cuadrícula de tempo antes en el tiempo - + Adjust the beatgrid to the left Ajusta la cuadrícula de tempo hacia la izquierda - + Move Beatgrid Later Mover la cuadrícula de tempo después en el tiempo - + Adjust the beatgrid to the right Ajusta la cuadrícula de tempo hacia la derecha - + Adjust Beatgrid Ajustar cuadrícula de tempo - + Align beatgrid to current position Alinea la cuadrícula de tempo a la posición actual - + Adjust Beatgrid - Match Alignment Ajustar la cuadrícula de tempo - Concidir alineación - + Adjust beatgrid to match another playing deck. Ajusta la cuadrícula de tempo para que coincida con otro plato en reproducción. - + Quantize Mode Modo Cuantizado - + Sync Sincronizar - + Beat Sync One-Shot Sincronizar pulsaciones al momento - + Sync Tempo One-Shot Sincronizar tempo al momento - + Sync Phase One-Shot Sincronizar Fase al momento - + Pitch control (does not affect tempo), center is original pitch Control de velocidad (No afecta el tempo), al centro es la velocidad original - + Pitch Adjust Ajuste de velocidad - + Adjust pitch from speed slider pitch Ajuste la velocidad desde el deslizador de velocidad - + Match musical key Coincidir con clave musical - + Match Key Cuadrar tonalidad (clave) - + Reset Key Restablecer tonalidad - + Resets key to original Restablecer tonalidad a la original - + High EQ Ecualización de Agudos - + Mid EQ Ecualización de Medios - - + + Main Output Salida principal - + Main Output Balance Balance Salida Principal - + Main Output Delay Retardo Salida Principal - + Main Output Gain Ganancia de la Salida principal - + Low EQ Ecualización de Graves - + Toggle Vinyl Control Conmutar el control del vinilo - + Toggle Vinyl Control (ON/OFF) Conmutar el control de vinilo (ON/OFF) - + Vinyl Control Mode Modo de control de vinilo - + Vinyl Control Cueing Mode Modo de Cue en Control por Vinilo - + Vinyl Control Passthrough Passthrough en Control por Vinilo - + Vinyl Control Next Deck siguiente plato en Control por vinilo - + Single deck mode - Switch vinyl control to next deck Modo de plato único - Cambia el control de vinilo al siguiente plato - + Cue Cue - + Set Cue Establecer punto cue - + Go-To Cue Ir al Cue - + Go-To Cue And Play Ir a Cue y reproducir - + Go-To Cue And Stop Ir al Cue y detener - + Preview Cue Preescuchar Cue - + Cue (CDJ Mode) Cue (modo CDJ) - + Stutter Cue Reproducir Cue (Stutter) - + Go to cue point and play after release Ir al cue y reproducir en soltar - + Clear Hotcue %1 Borrar hotcue %1 - + Set Hotcue %1 Establecer Hotcue %1 - + Jump To Hotcue %1 Saltar al hotcue %1 - + Jump To Hotcue %1 And Stop Saltar al hotcue %1 y parar - + Jump To Hotcue %1 And Play Saltar al hotcue %1 y reproducir - + Preview Hotcue %1 Preescuchar Hotcue %1 - + Loop In Inicio de bucle - + Loop Out Fin del bucle - + Loop Exit Salida del bucle - + Reloop/Exit Loop Repetir/Salir del bucle - + Loop Halve Reducir bucle a la mitad - + Loop Double Aumentar bucle al doble - + 1/32 1/32 - + 1/16 1/16 - + 1/8 1/8 - + 1/4 1/4 - + Move Loop +%1 Beats Mover bucle en +%1 pulsaciones - + Move Loop -%1 Beats Mover bucle en -%1 pulsaciones - + Loop %1 Beats Bucle de %1 pulsaciones - + Loop Roll %1 Beats Bucle corredizo de %1 pulsaciones - + Add to Auto DJ Queue (bottom) Añadir a la cola de Auto DJ (al final) - + Append the selected track to the Auto DJ Queue Añade las pistas seleccionadas al final de la cola de Auto DJ - + Add to Auto DJ Queue (top) Añadir a la cola de Auto DJ (al principio) - + Prepend selected track to the Auto DJ Queue Añade las pistas seleccionadas al principio de la cola de Auto DJ - + Load Track Cargar Pista - + Load selected track Carga la pista seleccionada - + Load selected track and play Carga la pista seleccionada y la reproduce - - + + Record Mix Grabar mezcla - + Toggle mix recording Conmuta la grabación de la mezcla - + Effects Efectos - - Quick Effects - Efectos rápidos - - - + Deck %1 Quick Effect Super Knob Super rueda de efecto rápido del plato %1 - + + Quick Effect Super Knob (control linked effect parameters) Super rueda de efecto rápido (parámetros de efecto asociado al control) - - + + + + Quick Effect Efecto rápido - + Clear Unit Limpiar unidad - + Clear effect unit Limpia la unidad de efectos - + Toggle Unit Conmutar la unidad - + Dry/Wet Directo/Alterado - + Adjust the balance between the original (dry) and processed (wet) signal. Ajuste entre señal directa (dry) y alterada (wet). - + Super Knob Rueda Súper - + Next Chain Siguiente cadena - + Assign Asignar - + Clear Borrar - + Clear the current effect Borrar el efecto actual - + Toggle Conmutar - + Toggle the current effect Conmutar el efecto actual - + Next Siguente - + Switch to next effect Cambiar al siguiente efecto - + Previous Anterior - + Switch to the previous effect Cambiar al efecto previo - + Next or Previous Siguiente o Anterior - + Switch to either next or previous effect Cambiar a cualquier efecto siguiente o anterior - - + + Parameter Value Valor de Parámetro - - + + Microphone Ducking Strength Intensidad de Atenuación de Micrófono - + Microphone Ducking Mode Modo de Atenuación de Micrófono - + Gain Ganancia - + Gain knob Rueda de Ganancia - + Shuffle the content of the Auto DJ queue Mezcla el contenido de la cola de Auto DJ - + Skip the next track in the Auto DJ queue Salta la siguiente pista de la cola de Auto DJ - + Auto DJ Toggle Conmutar Auto DJ - + Toggle Auto DJ On/Off Conmutar Auto DJ Encendido/Apagado - + Show/hide the microphone & auxiliary section Muestra/oculta la sección del micrófono y el auxiliar - + 4 Effect Units Show/Hide Mostrar/ocultar las 4 Unidades de Efectos - + Switches between showing 2 and 4 effect units Cambia entre mostrar 2 y 4 unidades de efectos - + Mixer Show/Hide Mostrar/Ocultar Mezclador - + Show or hide the mixer. Mostrar u ocultar el mezclador. - + Cover Art Show/Hide (Library) Mostrar/Ocultar Portadas (Biblioteca) - + Show/hide cover art in the library Muestra/oculta las portadas en la biblioteca - + Library Maximize/Restore Maximizar/Restaurar Biblioteca - + Maximize the track library to take up all the available screen space. Maximizar la biblioteca para tomar todo el espacio disponible en pantalla. - + Effect Rack Show/Hide Mostrar/ocultar unidad de efectos - + Show/hide the effect rack Mostrar/ocultar unidad de efectos - + Waveform Zoom Out Alejar zoom de forma de onda - + Headphone Gain Ganancia del auricular - + Headphone gain Ganancia de auriculares - + Tap to sync tempo (and phase with quantize enabled), hold to enable permanent sync Toque sincronización el tempo (y la fase con la cuantización habilitada), mantenga presionado para habilitar la sincronización permanente. - + One-time beat sync tempo (and phase with quantize enabled) Tiempo de sincronización de tempo de compás (y fase con cuantización habilitada) - + Playback Speed Velocidad de reproducción - + Playback speed control (Vinyl "Pitch" slider) Control de velocidad de reproducción (El "Pitch de vinilo) - + Pitch (Musical key) Pitch (tonalidad) - + Increase Speed Incrementar Velocidad - + Adjust speed faster (coarse) Incrementar la velocidad (grueso) - + Increase Speed (Fine) Incrementar velocidad (fino) - + Adjust speed faster (fine) Incrementar la velocidad (fino) - + Decrease Speed Reducir Velocidad - + Adjust speed slower (coarse) Reducir la velocidad (grueso) - + Adjust speed slower (fine) Reducir la velocidad (fino) - + Temporarily Increase Speed Incrementar temporalmente la velocidad - + Temporarily increase speed (coarse) Incremento temporal de velocidad (grueso) - + Temporarily Increase Speed (Fine) Incremento temporal de velocidad (fino) - + Temporarily increase speed (fine) Incremento temporal de velocidad (fino) - + Temporarily Decrease Speed Reducir temporalmente la velocidad - + Temporarily decrease speed (coarse) Reducción temporal de velocidad (grueso) - + Temporarily Decrease Speed (Fine) Reducción temporal de velocidad (fino) - + Temporarily decrease speed (fine) Reducción temporal de velocidad (fino) - - + + Adjust %1 Ajuste %1 - + + Deck %1 Stem %2 + + + + Effect Unit %1 Unidad de Efecto %1 - + Button Parameter %1 Parámetro %1 del botón. - + Skin Apariencia - + Controller Controlador - + Crossfader / Orientation Crossfader / Orientación - + Main Output gain Ganancia de la Salida Principal - + Main Output balance Balance Salida Principal - + Main Output delay Retardo (delay) de la Salida principal - + Headphone Auriculares - - + + Kill %1 + %1 is "Low EQ" "Mid EQ" or "High EQ" Suprime %1 - + Eject or un-eject track, i.e. reload the last-ejected track (of any deck)<br>Double-press to reload the last replaced track. In empty decks it reloads the second-last ejected track. Expulsa o recupera la pista, es decir, carga la última pista expulsada (de cualquier deck).<br>Pulsa dos veces para cargar la última pista sustituida. En decks vacíos carga la penúltima pista expulsada. - + BPM / Beatgrid BPM / Grilla de tiempo - + Halve BPM Reducir a la mitad los BPM - + Multiply current BPM by 0.5 Multiplica los BPM por 0.5 - + 2/3 BPM 2/3 BPM - + Multiply current BPM by 0.666 Multiplica el BPM actual por 0.666 - + 3/4 BPM 3/4 BPM - + Multiply current BPM by 0.75 Multiplica el BPM actual por 0.75 - + 4/3 BPM 4/3 BPM - + Multiply current BPM by 1.333 Multiplica el BPM actual por 1.333 - + 3/2 BPM 3/2 BPM - + Multiply current BPM by 1.5 Multiplica el BPM actual por 1.5 - + Double BPM Dobla los BPM - + Multiply current BPM by 2 Multiplica el BPM actual por 2 - + Tempo Tap Seguidor de Tempo (Tempo Tap) - + Tempo tap button Botón del Tempo Tap - + Move Beatgrid Desplaza la grilla de tiempo - + Adjust the beatgrid to the left or right Ajusta la grilla de tiempo a la izquierda o a la derecha - + Move Beatgrid Half a Beat Desplaza la cuadricula de tiempo medio pulso - + Adjust the beatgrid by exactly one half beat. Usable only for tracks with constant tempo. Ajusta la cuadrícula de tiempo en exactamente medio beat. Solo se puede usar en pistas con tempo constante. - - + + Toggle the BPM/beatgrid lock Cambia el bloqueo de BPM/grilla de tiempo - + Revert last BPM/Beatgrid Change Revierte el último cambio de BPM/grilla de tiempo - + Revert last BPM/Beatgrid Change of the loaded track. Revierte el último cambio de BPM/grilla de tiempo para la pista cargada - + Sync / Sync Lock Sincronizar / Bloqueo Sincronización - + Internal Sync Leader Sincronización Líder Interno - + Toggle Internal Sync Leader Conmutar el modo Sincronización Líder Interno - - + + Internal Leader BPM BPM Líder Interno - + Internal Leader BPM +1 BPM Líder Interno +1 - + Increase internal Leader BPM by 1 Incrementar BPM líder interno en 1 - + Internal Leader BPM -1 BPM Líder Interno -1 - + Decrease internal Leader BPM by 1 Disminuir BPM líder interno en 1 - + Internal Leader BPM +0.1 BPM Líder Interno +0.1 - + Increase internal Leader BPM by 0.1 Incrementar BPM líder interno en 0.1 - + Internal Leader BPM -0.1 BPM Líder Interno -0.1 - + Decrease internal Leader BPM by 0.1 Disminuir BPM Líder Interno en 0.1 - + Sync Leader Líder de Sicronización - + Sync mode 3-state toggle / indicator (Off, Soft Leader, Explicit Leader) Modo de Sicronización 3-State Toggle / Indicador (Off, Soft Leader, Explicit Leader) - + Speed LFO - + Decrease Speed (Fine) Reducir velocidad (fino) - + Pitch (Musical Key) Tono (Clave Musical) - + Increase Pitch Incrementa el tono/Pitch - + Increases the pitch by one semitone Incrementar el tono por un semitono - + Increase Pitch (Fine) Incrementar Tono (Fino) - + Increases the pitch by 10 cents Incrementa el tono por 10 céntimos - + Decrease Pitch Decrementar Tono - + Decreases the pitch by one semitone Decrementa el tono por un semitono - + Decrease Pitch (Fine) Decrementar Tono (Fino) - + Decreases the pitch by 10 cents Decrementa el tono por 10 céntimos - + Keylock Bloqueo tonal - + CUP (Cue + Play) CUP (Cue + Play) - + Shift cue points earlier Desplaza los puntos cue hacia atrás - + Shift cue points 10 milliseconds earlier Cambiar puntos cue 10 milisegundos antes - + Shift cue points earlier (fine) Desplaza el punto cue hacia atrás (fino) - + Shift cue points 1 millisecond earlier Desplaza los puntos cue 1 milisegundo atrás - + Shift cue points later Desplaza los puntos cue hacia adelante - + Shift cue points 10 milliseconds later Cambiar puntos cue 10 milisegundos después - + Shift cue points later (fine) Cambiar puntos marcado después (fino) - + Shift cue points 1 millisecond later Cambiar puntos marcado 1 milisegundo después - - + + Sort hotcues by position Ordenar hotcues por posición - - + + Sort hotcues by position (remove offsets) Ordenar hotcues por posición (removiendo desfases) - + Hotcues %1-%2 Hotcues %1-%2 - + Intro / Outro Markers Marcadores de Entrada / Salida - + Intro Start Marker Marcador Inicial de Entrada - + Intro End Marker Marcador Final de Entrada - + Outro Start Marker Marcador Inicial de Salida - + Outro End Marker Marcador Final de Salida - + intro start marker marcador inicial de entrada - + intro end marker Marcador final de entrada - + outro start marker marcador inicial de salida - + outro end marker marcador final de salida - + Activate %1 [intro/outro marker Activa %1 - + Jump to or set the %1 [intro/outro marker Saltar a o poner el %1 - + Set %1 [intro/outro marker Establece %1 - + Set or jump to the %1 [intro/outro marker Establecer o saltar a %1 - + Clear %1 [intro/outro marker Limpiar %1 - + Clear the %1 [intro/outro marker Limpiar el %1 - + if the track has no beats the unit is seconds si la pista no tiene pulsaciones la unidad es segundos - + Loop Selected Beats Bucle de las pulsaciones seleccionadas - + Create a beat loop of selected beat size Crear bucle con el tamaño de pulsaciones seleccionado - + Loop Roll Selected Beats Bucle corredizo de las pulsaciones seleccionadas - + Create a rolling beat loop of selected beat size Crear bucle corredizo con el tamaño de pulsaciones seleccionado - + Loop %1 Beats set from its end point Bucle de %1 pulsaciones desde su punto final - + Loop Roll %1 Beats set from its end point Definir serie de bucles de %1 pulsaciones desde su punto final - + Create %1-beat loop with the current play position as loop end Crea un bucle de 1%-beat con la posición de reproducción actual como final del bucle - + Create temporary %1-beat loop roll with the current play position as loop end Crea un redoble de bucle temporal de %1-pulsos con la posición de reproducción actual como final del bucle - + Loop Beats Bucle de pulsos - + Loop Roll Beats Redoble de bucle de pulsos - + Go To Loop In Ir al Loop de entrada - + Go to Loop In button Ir al botón Loop de entrada - + Go To Loop Out Ir al Loop de salida - + Go to Loop Out button Ir al botón Loop de salida - + Toggle loop on/off and jump to Loop In point if loop is behind play position Activar / Desactivar bucle y saltar al inicio del bucle si está detrás de la posición de reproducción - + Reloop And Stop Reactivar bucle y detener - + Enable loop, jump to Loop In point, and stop Activar bucle, ir al inicio del bucle y detener - + Halve the loop length Reducir a la mitad la longitud del bucle - + Double the loop length Duplicar la longitud del bucle - + Beat Jump / Loop Move Salto de pulsaciones / Movimiento del bucle - + Jump / Move Loop Forward %1 Beats Saltar / Mover bucle hacia delante en %1 pulsaciones - + Jump / Move Loop Backward %1 Beats Saltar / Mover bucle hacia atrás en %1 pulsaciones - + Jump forward by %1 beats, or if a loop is enabled, move the loop forward %1 beats Saltar hacia adelante en %1 pulsaciones, o si el bucle está activado, moverlo hacia adelante en %1 pulsaciones - + Jump backward by %1 beats, or if a loop is enabled, move the loop backward %1 beats Saltar hacia atrás en %1 pulsaciones, o si el bucle está activado, moverlo hacia atrás en %1 pulsaciones - + Beat Jump / Loop Move Forward Selected Beats Saltar en pulsaciones / Mover el bucle adelante en la cantidad seleccionada - + Jump forward by the selected number of beats, or if a loop is enabled, move the loop forward by the selected number of beats Salta hacia adelante la cantidad seleccionada de pulsaciones, o si el bucle está activado, lo mueve hacia adelante la cantidad seleccionada de pulsaciones - + Beat Jump / Loop Move Backward Selected Beats Saltar en pulsaciones / Mover el bucle atrás en la cantidad seleccionada - + Jump backward by the selected number of beats, or if a loop is enabled, move the loop backward by the selected number of beats Salta hacia atrás la cantidad seleccionada de pulsaciones, o si el bucle está activado, lo mueve hacia atrás la cantidad seleccionada de pulsaciones - + Beat Jump Salto de pulso - + Indicate which loop marker remain static when adjusting the size or is inherited from the current position Indica qué marcadores de bucle permanecen estáticos al ajustar el tamaño o es ajustado según la posición actual - + Beat Jump / Loop Move Forward Salto de pulsaciones / Movimiento del bucle - + Beat Jump / Loop Move Backward Salto de pulso / Bucle hacia atrás - + Loop Move Forward Bucle hacia adelante - + Loop Move Backward Movimiento del Bucle Atrás - + Remove Temporary Loop Remueve el bucle temporal - + Remove the temporary loop Remueve el bucle temporal - + Navigation Navegación - + Move up Hacia arriba - + Equivalent to pressing the UP key on the keyboard Equivalente a pulsar la tecla flecha arriba en el teclado - + Move down Hacia abajo - + Equivalent to pressing the DOWN key on the keyboard Equivalente a pulsar la tecla abajo arriba en el teclado - + Move up/down Arriba/abajo - + Move vertically in either direction using a knob, as if pressing UP/DOWN keys Mover verticalmente en qualquier dirección usando una rueda, como si se pulsaran las teclas flecha arriba/abajo - + Scroll Up Retrocede página - + Equivalent to pressing the PAGE UP key on the keyboard Equivalente a pulsar la tecla retrocede página arriba en el teclado - + Scroll Down Avance página - + Equivalent to pressing the PAGE DOWN key on the keyboard Equivalente a pulsar la tecla avance página en el teclado - + Scroll up/down Arriba/abajo página - + Scroll vertically in either direction using a knob, as if pressing PGUP/PGDOWN keys Mover verticalmente en qualquier dirección usando una rueda, como si se pulsaran las teclas avance/retroceso página - + Move left Izquierda - + Equivalent to pressing the LEFT key on the keyboard Equivalente a pulsar la tecla flecha izquierda en el teclado - + Move right Derecha - + Equivalent to pressing the RIGHT key on the keyboard Equivalente a pulsar la tecla flecha derecha en el teclado - + Move left/right Izquierda/derecha - + Move horizontally in either direction using a knob, as if pressing LEFT/RIGHT keys Mover verticalmente en qualquier dirección usando una rueda, como si se pulsaran las teclas flecha izquierda/derecha - + Move focus to right pane Mover al panel derecho - + Equivalent to pressing the TAB key on the keyboard Equivalente a pulsar la tecla Tabulador del teclado - + Move focus to left pane Mover el foco al panel izquierdo - + Equivalent to pressing the SHIFT+TAB key on the keyboard Equivalente a pulsar las teclas Mayúsculas+Tabulación en el teclado. - + Move focus to right/left pane Mover el foco al panel izquierdo/derecho - + Move focus one pane to right or left using a knob, as if pressing TAB/SHIFT+TAB keys Mueve el foco al panel izquierdo o derecho usando una rueda, como si se pulsara tabulación/mayusculas+tabulación. - + Sort focused column Ordenar columna enfocada - + Sort the column of the cell that is currently focused, equivalent to clicking on its header Ordena la columna de la celda que está enfocada, equivale a hacer click en su encabezado - + Go to the currently selected item Ve al elemento actualmente seleccionado. - + Choose the currently selected item and advance forward one pane if appropriate Elige el elemento actualmente seleccionado y avanza un panel si aplica. - + Load Track and Play Cargar Pista y Reproducir - + Add to Auto DJ Queue (replace) Añadir a la cola de Auto DJ (reemplaza) - + Replace Auto DJ Queue with selected tracks Reemplaza la cola de Auto DJ con las pistas seleccionadas - + Select next search history Selecciona el siguiente historial de búsqueda - + Selects the next search history entry Selecciona la siguiente entrada del historial de búsqueda - + Select previous search history Selecciona el historial de búsqueda anterior - + Selects the previous search history entry Selecciona la entrada previa del historial de búsqueda - + Move selected search entry Mover entrada de búsqueda seleccionada - + Moves the selected search history item into given direction and steps Mueve el elemento de la búsqueda histórica seleccionado en la dirección dada y pasa - + Clear search Eliminar búsqueda - + Clears the search query Limpia la búsqueda - - + + Select Next Color Available Selecciona el próximo color disponible - + Select the next color in the color palette for the first selected track Selecciona el próximo color en la paleta de colores para la primera pista seleccionada - - + + Select Previous Color Available Selecciona el anterior color disponible - + Select the previous color in the color palette for the first selected track Selecciona el color anterior en la paleta de colores para la primera pista seleccionada - + + Quick Effects Deck %1 + + + + Deck %1 Quick Effect Enable Button Botón de activación de efecto rápido de cubierta% 1 - + + Quick Effect Enable Button Activación de efecto rápido - + + Deck %1 Stem %2 Quick Effect Super Knob + + + + + Deck %1 Stem %2 Quick Effect Enable Button + + + + Enable or disable effect processing Activar o desactivar efectos - + Super Knob (control effects' Meta Knobs) Rueda Super (controla las ruedas Meta del efecto) - + Mix Mode Toggle Alternar modo mezcla - + Toggle effect unit between D/W and D+W modes Alternar control de efectos entre los modos D/W y D+W - + Next chain preset Siguiente preajuste de cadena - + Previous Chain Cadena anterior - + Previous chain preset Anterior preajuste de cadena - + Next/Previous Chain Cadena siguiente/anterior - + Next or previous chain preset Siguiente o anterior preajuste de cadena - - + + Show Effect Parameters Mostrar parámetros de efectos - + Effect Unit Assignment Asignación de la Unidad de Efectos - + Meta Knob Rueda Meta - + Effect Meta Knob (control linked effect parameters) Rueda Meta del efecto (controla los parámetros del efecto asociados) - + Meta Knob Mode Modo de la rueda Meta - + Set how linked effect parameters change when turning the Meta Knob. Define como se comportan los parámetros del efecto enlazados al mover la rueda Meta. - + Meta Knob Mode Invert Modo rueda Meta Invertida - + Invert how linked effect parameters change when turning the Meta Knob. Invierte el sentido en el que se mueven los parámetros del efecto enlazados al girar la rueda Meta. - - + + Button Parameter Value Valor del parámetro del botón - + Microphone / Auxiliary Micrófono/Auxiliar - + Microphone On/Off Micrófono Encendido/Apagado - + Microphone on/off Micrófono encendido/apagado - + Toggle microphone ducking mode (OFF, AUTO, MANUAL) Conmutar modo de atenuación de micrófono (OFF, AUTO, MANUAL) - + Auxiliary On/Off Auxiliar Encendido/Apagado - + Auxiliary on/off Auxiliar encendido/apagado - + Auto DJ Auto DJ - + Auto DJ Shuffle Auto DJ Aleatorio - + Auto DJ Skip Next Quitar la siguiente en Auto DJ - + Auto DJ Add Random Track Añade una pista aleatoria al Auto DJ - + Add a random track to the Auto DJ queue Añade una pista aleatoria a la fila del Auto DJ - + Auto DJ Fade To Next Autodesvanecer a la siguiente en Auto DJ - + Trigger the transition to the next track Desencadenar la transición a la pista siguiente - + User Interface Interfaz de usuario - + Samplers Show/Hide Mostrar/Ocultar reproductor de muestras - + Show/hide the sampler section Mostrar/Ocultar la sección de reproductor de muestras - + Microphone && Auxiliary Show/Hide keep double & to prevent creation of keyboard accelerator Mostrar/Ocultar Micrófono y Auxiliar - + Waveform Zoom Reset To Default Reestablece el zoom de la forma de onda - + Reset the waveform zoom level to the default value selected in Preferences -> Waveforms Restablece el nivel de zoom de la forma de onda al valor por defecto seleccionado en Preferencias > Formas de onda - + Select the next color in the color palette for the loaded track. Selecciona el próximo color en la paleta de colores para la pista cargada. - + Select previous color in the color palette for the loaded track. Selecciona el color anterior en la paleta de colores para la pista cargada. - + Navigate Through Track Colors Navegar a través de los colores de las pistas - + Select either next or previous color in the palette for the loaded track. Selecciona cualquiera de los colores siguientes o anteriores en la paleta de colores para la pista cargada. - + Start/Stop Live Broadcasting Inicia/Detiene Transmisión En Vivo - + Stream your mix over the Internet. Emite tus mezclas por internet. - + Start/stop recording your mix. Iniciar/detener la grabación de tu mix. - - + + + Deck %1 Stems + + + + + Samplers Muestreadores / Samplers - + Vinyl Control Show/Hide Mostrar/Ocultar Control de Vinilo - + Show/hide the vinyl control section Mostrar/ocultar la sección del control del vinilo - + Preview Deck Show/Hide Ocultar/Mostrar reproductor de preescucha - + Show/hide the preview deck Oculta/Muestra el reproductor de pre-escucha - + Toggle 4 Decks Conmuta el modo de 4 platos - + Switches between showing 2 decks and 4 decks. Cambia entre mostrar 2 platos o 4 platos. - + Cover Art Show/Hide (Decks) Mostrar/Ocultar Carátulas (en Decks) - + Show/hide cover art in the main decks Mostrar/Ocultar Carátulas en los platos principales - + Vinyl Spinner Show/Hide Mostrar/ocultar vinilo - + Show/hide spinning vinyl widget Mostrar/ocultar el widget de vinilo giratorio - + Vinyl Spinners Show/Hide (All Decks) Mostrar/Ocultar (Todos los Platos) Giradores de Vinilo - + Show/Hide all spinnies Mostrar/ocultar todos los giradores - + Toggle Waveforms Alternar Formas de Onda - + Show/hide the scrolling waveforms. Mostrar/ocultar las formas de onda deslizantes - + Waveform zoom Cambia el zoom de la forma de onda - + Waveform Zoom Zoom de forma de onda - + Zoom waveform in Incrementa el zoom de la forma de onda - + Waveform Zoom In Acercar zoom de forma de onda - + Zoom waveform out Reduce el zoom de la forma de onda - + Star Rating Up Agregar una estrella - + Increase the track rating by one star Incrementa la puntuación de la pista en una estrella - + Star Rating Down Quitar una estrella - + Decrease the track rating by one star Reduce la puntuación de la pista en una estrella @@ -3547,6 +3588,159 @@ trace - Arriba + Perfilar mensajes Desconocido + + ControllerHidReportTabsManager + + + Read + + + + + Send + + + + + Payload Size + + + + + bytes + + + + + Byte Position + + + + + Bit Position + + + + + Bit Size + + + + + Logical Min + + + + + Logical Max + + + + + Value + + + + + Physical Min + + + + + Physical Max + + + + + Unit Scaling + + + + + Unit + + + + + Abs/Rel + + + + + + Wrap + + + + + + Linear + + + + + + Preferred + + + + + + Null + + + + + + Volatile + + + + + Usage Page + + + + + Usage + + + + + Relative + + + + + Absolute + + + + + No Wrap + + + + + Non Linear + + + + + No Preferred + + + + + No Null + + + + + Non Volatile + + + ControllerInputMappingTableModel @@ -3682,27 +3876,27 @@ trace - Arriba + Perfilar mensajes ControllerScriptEngineLegacy - + Controller Mapping File Problem Problema del archivo del mapa de controlador - + The mapping for controller "%1" cannot be opened. El mapa del controlador "%1" no puede ser abierto. - + The functionality provided by this controller mapping will be disabled until the issue has been resolved. La funcionalidad provista por este mapa de controlador será desactivada hasta que el problema sea resuelto. - + File: Archivo: - + Error: Error: @@ -3735,7 +3929,7 @@ trace - Arriba + Perfilar mensajes - + Lock Bloquear @@ -3765,7 +3959,7 @@ trace - Arriba + Perfilar mensajes Fuente de pistas para Auto DJ - + Enter new name for crate: Escriba un nuevo nombre para el cajón: @@ -3782,22 +3976,22 @@ trace - Arriba + Perfilar mensajes Importar cajón - + Export Crate Exportar cajón - + Unlock Desbloquear - + An unknown error occurred while creating crate: Ocurrió un error desconocido al crear el cajón: - + Rename Crate Renombrar cajón @@ -3807,28 +4001,28 @@ trace - Arriba + Perfilar mensajes Haz una caja para tu próximo concierto, para tus temas electrohouse favoritos o para tus temas más solicitados. - + Confirm Deletion Confirmar Borrado - - + + Renaming Crate Failed No se pudo renombrar el cajón - + Crate Creation Failed Falló la creación del cajón - + M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Text CSV (*.csv);;Readable Text (*.txt) Lista de reproducción M3U (*.m3u);;Lista de reproducción M3U8 (*.m3u8);;Lista de reproducción PLS (*.pls);;Texto CSV (*.csv);;Texto legible (*.txt) - + M3U Playlist (*.m3u) Lista de reproducción M3U (*.m3u) @@ -3849,17 +4043,17 @@ trace - Arriba + Perfilar mensajes Los cajones permiten organizar tu música como tu quieras! - + Do you really want to delete crate <b>%1</b>? ¿Quieres eliminar la caja <b>%1</b>? - + A crate cannot have a blank name. Los cajones no pueden carecer de nombre. - + A crate by that name already exists. Ya existe un cajón con ese nombre. @@ -3954,12 +4148,12 @@ trace - Arriba + Perfilar mensajes Antiguos colaboradores - + Official Website Sitio web oficial - + Donate Donar @@ -4788,123 +4982,140 @@ Esto podría deberse a que estás usando una skin antigua y este control ya no e DlgPrefBroadcast - + Icecast 2 Icecast 2 - + Shoutcast 1 Shoutcast 1 - + Icecast 1 Icecast 1 - + MP3 MP3 - + Ogg Vorbis Ogg Vorbis - + Opus Opus - + AAC AAC - + HE-AAC HE-AAC - + HE-AACv2 HE-AACv2 - + Automatic Automático - + Mono Mono - + Stereo Estéreo - - - - + + Saving settings failed + + + + + The password for '%1' contains invalid characters. Please enter it again. + +Note: This can for example be invisible linebreaks when using copy/paste. + + + + + + Action failed Acción fallida - + You can't create more than %1 source connections. No se pueden crear más de %1 fuentes de emisión en vivo. - + Source connection %1 Fuente de emisión %1 - + + Settings for %1 + Settings for broadcast profile, %1 is the profile name placeholder + + + + At least one source connection is required. Se requiere almenos una fuente de emisión. - + Are you sure you want to disconnect every active source connection? ¿Seguro que deseas desconectar todas las fuentes de emisión activas? - - + + Confirmation required Se necesita confirmación - + '%1' has the same Icecast mountpoint as '%2'. Two source connections to the same server that have the same mountpoint can not be enabled simultaneously. '%1' tiene el mismo punto de montaje Icecast que '%2'. No se puede establecer dos conexiones simultáneas al mismo servidor, con el mismo punto de montaje. - + Are you sure you want to delete '%1'? ¿Deseas realmente borrar '%1'? - + Renaming '%1' Renombrando '%1' - + New name for '%1': Nuevo nombre para '%1': - + Can't rename '%1' to '%2': name already in use No se puede renombrar '%1' a '%2': el nombre está en uso @@ -4917,27 +5128,27 @@ No se puede establecer dos conexiones simultáneas al mismo servidor, con el mis Preferencias de Transmision en Vivo - + Mixxx Icecast Testing Prueba de «Icecast» de Mixxx - + Public stream Transmisión pública - + http://www.mixxx.org http://www.mixxx.org - + Stream name Nombre de la emisión - + Due to flaws in some streaming clients, updating Ogg Vorbis metadata dynamically can cause listener glitches and disconnections. Check this box to update the metadata anyway. Debido a errores en algunos clientes de transmisión, actualizar dinámicamente los metadatos Ogg Vorbis puede causar interferencias y desconexiones a los oyentes. Marque esta casilla para actualizar los metadatos de todos modos. @@ -4977,67 +5188,72 @@ No se puede establecer dos conexiones simultáneas al mismo servidor, con el mis Opciones para %1 - + + Available fields: $artist, $title, $year, $album, $genre, $bpm + + + + Dynamically update Ogg Vorbis metadata. Actualizar dinámicamente los metadatos Ogg Vorbis. - + ICQ ICQ - + AIM AIM - + Website Sitio web - + Live mix Mezcla en vivo - + IRC IRC - + Select a source connection above to edit its settings here Selecciona en la lista la fuente de emisión que desees editar - + Password storage Guardado de contraseñas - + Plain text Texto simple - + Secure storage (OS keychain) Almacen seguro (almacen de llaves del SO) - + Genre Género - + Use UTF-8 encoding for metadata. Usar codificación UTF-8 para los metadatos. - + Description Descripción @@ -5063,42 +5279,42 @@ No se puede establecer dos conexiones simultáneas al mismo servidor, con el mis Canales - + Server connection Conexión al servidor - + Type Tipo - + Host Servidor - + Login Identificación - + Mount Montar - + Port Puerto - + Password Contraseña - + Stream info Información de la emisión @@ -5108,17 +5324,17 @@ No se puede establecer dos conexiones simultáneas al mismo servidor, con el mis Metadatos - + Use static artist and title. Usar texto de artista y título fijos - + Static title Titulo fijo - + Static artist Artista fijo @@ -5177,13 +5393,14 @@ No se puede establecer dos conexiones simultáneas al mismo servidor, con el mis DlgPrefColors - - + + + By hotcue number Por número de hotcue - + Color Color @@ -5228,17 +5445,22 @@ No se puede establecer dos conexiones simultáneas al mismo servidor, con el mis + Jump default color + + + + When key colors are enabled, Mixxx will display a color hint associated with each key. Cuando se han habilitado los colores de nota, Mixxx mostrará una pista de color asociada con cada nota. - + Enable Key Colors Activar colores de nota - + Key palette Paleta de notas @@ -5246,114 +5468,114 @@ associated with each key. DlgPrefController - + Apply device settings? ¿Aplicar la configuración del dispositivo? - + Your settings must be applied before starting the learning wizard. Apply settings and continue? La configuración debe ser aplicada antes de iniciar el asistente de aprendizaje. ¿Aplicar la configuración y continuar? - + None Ningún - + %1 by %2 %1 por %2 - + Mapping has been edited Se ha editado el mapeo - + Always overwrite during this session Siempre sobreescribir durante esta sesión - + Save As Guardar como - + Overwrite Sobreescribir - + Save user mapping Guardar mapeo del usuario - + Enter the name for saving the mapping to the user folder. Ingresar el nombre del archivo de mapeo para guardarlo en la carpeta de usuario. - + Saving mapping failed Ha fallado el guardado del mapeo - + A mapping cannot have a blank name and may not contain special characters. El nombre del mapeo no puede estar en blanco, ni contener caracteres especiales. - + A mapping file with that name already exists. Ya existe un archivo de mapeo con el mismo nombre. - + Do you want to save the changes? Quieres guardar los cambios? - + Troubleshooting Solución de problemas - + <font color='#BB0000'><b>If you use this mapping your controller may not work correctly. Please select another mapping or disable the controller.</b></font><br><br>This mapping was designed for a newer Mixxx Controller Engine and cannot be used on your current Mixxx installation.<br>Your Mixxx installation has Controller Engine version %1. This mapping requires a Controller Engine version >= %2.<br><br>For more information visit the wiki page on <a href='https://mixxx.org/wiki/doku.php/controller_engine_versions'>Controller Engine Versions</a>. <font color='#BB0000'><b>Si usas este mapeo, tu controlador podría no funcionar correctamente. Por favor selecciona otro mapeo o deshabilita el controlador. </b></font><br><br>Este mapeo fue diseñado para un nuevo Motor de Controladores de Mixxx, y no puede ser usado con tu instalación actual.<br>Tu instalación de Mixxx posee la version del Motor de Controladores %1. Este mapeo requiere una versión del Motor de controladores >=%2.<br><br>Para más información visita la wiki de <a href='https://mixxx.org/wiki/doku.php/controller_engine_versions'>Versiones del Motor de Controladores</a>. - + Mapping already exists. El mapeo ya existe. - + <b>%1</b> already exists in user mapping folder.<br>Overwrite or save with a new name? <b>%1</b> ya existe en la carpeta de mapeos de usuario. <br>¿Deseas sobreescribir o guardar con otro nombre? - + Clear Input Mappings Limpiar mapeos de Entrada - + Are you sure you want to clear all input mappings? Está seguro de querer eliminar todos los mapeos de entrada? - + Clear Output Mappings Limpiar mapeos de Salida - + Are you sure you want to clear all output mappings? Está seguro de querer eliminar todos los mapeos de salida? @@ -5371,100 +5593,105 @@ Apply settings and continue? Activado - + + Refresh mapping list + + + + Device Info Información del dispositivo - + Physical Interface: Interfase física: - + Vendor name: Nombre del fabricante: - + Product name: Nombre del producto: - + Vendor ID ID del proveedor - + VID: VID: - + Product ID ID del producto - + PID: PID: - + Serial number: Número de serie: - + USB interface number: Número de interfaz USB - + HID Usage-Page: Página de uso HID - + HID Usage: Uso de HID: - + Description: Descripción: - + Support: Soporte: - + Screens preview Previsualizar pantallas - + Input Mappings Mapeos de Entrada - - + + Search Buscar - - + + Add Añadir - - + + Remove Quitar @@ -5484,17 +5711,17 @@ Apply settings and continue? Cargar Mapeo: - + Mapping Info Información de mapeo - + Author: Autor: - + Name: Nombre: @@ -5504,28 +5731,28 @@ Apply settings and continue? Asistente de aprendizaje (sólo MIDI) - + Data protocol: Protocolo de datos: - + Mapping Files: Archivos de mapeo - + Mapping Settings Configuración de mapeo - - + + Clear All Limpiar todo - + Output Mappings Mapeos de Salida @@ -5540,21 +5767,21 @@ Apply settings and continue? - Mixxx uses "mappings" to connect messages from your controller to controls in Mixxx. If you do not see a mapping for your controller in the "Load Mapping" menu when you click on your controller on the left sidebar, you may be able to download one online from the %1. Place the XML (.xml) and Javascript (.js) file(s) in the "User Mapping Folder" then restart Mixxx. If you download a mapping in a ZIP file, extract the XML and Javascript file(s) from the ZIP file to your "User Mapping Folder" then restart Mixxx. - Mixxx utiliza "mapeos" para conectar mensajes desde tu controlador a los controles en Mixxx. Si no ves un mapeo de tu controlador en el menu "Cargar Mapeo" cuando hagas click en tu controlador en la barra deslizable izquierda, pudieras descargar uno en línea desde %1. Coloca los archivos XML (.xml) y Javascript (.js) en la "Carpeta de Mapeo del Usuario" luego reinicia Mixxx. Si descargaste un mapeo en un archivo ZIP, extrae los archivos XML y Javascript del archivo ZIP a tu "Carpeta de Mapeo del Usuario" y luego reinicia Mixxx. + Mixxx uses "mappings" to connect messages from your controller to controls in Mixxx. If you do not see a mapping for your controller in the "Load Mapping" menu when you click on your controller on the left sidebar, you may be able to download one online from the %1. Place the XML (.xml) and Javascript (.js) file(s) in the "User Mapping Folder" then click the Reload button next to the mapping selector to reload all available mappings. If you download a mapping in a ZIP file, extract the XML and Javascript file(s) from the ZIP file to your "User Mapping Folder" then click the Reload button. + - + Mixxx DJ Hardware Guide Guía de Hardware de DJ de Mixxx - + MIDI Mapping File Format Formato de archivo de mapeos MIDI - + MIDI Scripting with Javascript Programación de Scripts MIDI con Javascript @@ -5723,137 +5950,137 @@ Apply settings and continue? DlgPrefDeck - + Mixxx mode Modo Mixxx - + Mixxx mode (no blinking) Modo Mixxx (sin parpadeo) - + Pioneer mode Modo Pioneer - + Denon mode Modo Denon - + Numark mode Modo Numark - + CUP mode Modo CUP - + mm:ss%1zz - Traditional mm:ss%1zz - Tradicional - + mm:ss - Traditional (Coarse) mm:ss - Tradicional (grueso) - + s%1zz - Seconds s%1zz - Segundos - + sss%1zz - Seconds (Long) sss%1zz - Segundos (Duración) - + s%1sss%2zz - Kiloseconds s%1sss%2zz - Kilosegundos - + Intro start Inicio de la entrada - + Main cue Marcador principal - + First hotcue Primera hotcue - + First sound (skip silence) Primer sonido (saltar silencio) - + Beginning of track Principio de la pista - + Reject Rechazar - + Allow, but stop deck Permitir, pero detener deck - + Allow, play from load point Permitir, reproducir desde el punto de carga - + 4% 4% - + 6% (semitone) 6% (seminota) - + 8% (Technics SL-1210) 8% (Technics SL-1210) - + 10% 10% - + 16% 16% - + 24% 24% - + 50% 50% - + 90% 90% @@ -6313,57 +6540,57 @@ Siempre puedes arrastrar y tirar pistas en la pantalla para clonar una plataform El tamaño mínimo de la apariencia seleccionada es mas grande que la resolucion de su pantalla. - + Allow screensaver to run Permite el salvapantallas - + Prevent screensaver from running Evita que se active el salvapantallas - + Prevent screensaver while playing Evita el salvapantallas mientras reproduce - + Disabled Desactivado - + 2x MSAA 2x MSAA - + 4x MSAA 4x MSAA - + 8x MSAA 8x MSAA - + 16x MSAA 16x MSAA - + This skin does not support color schemes Este skin no soporta esquemas de color - + Information Información - + Mixxx must be restarted before the new locale, scaling or multi-sampling settings will take effect. Mixxx debe ser reiniciado para que el nuevo ajuste de locale, escalado o multi-muestreo tenga efecto. @@ -6591,67 +6818,97 @@ y te permite ajustar su pitch para lograr mezclas armónicas. Ver el manual para más detalles - + Music Directory Added Directorio de música agregado - + You added one or more music directories. The tracks in these directories won't be available until you rescan your library. Would you like to rescan now? Has agregado uno o más directorios de música. Las pistas de estos directorios no estarán disponibles hasta que vuelva a escanear la biblioteca. Le gustaría escanearla ahora? - + Scan Escanear - + Item is not a directory or directory is missing El ítem no es un directorio, o el directorio no ha sido encontrado - + Choose a music directory Elija un directorio de música - + Confirm Directory Removal Confirme la eliminación del directorio - + Mixxx will no longer watch this directory for new tracks. What would you like to do with the tracks from this directory and subdirectories?<ul><li>Hide all tracks from this directory and subdirectories.</li><li>Delete all metadata for these tracks from Mixxx permanently.</li><li>Leave the tracks unchanged in your library.</li></ul>Hiding tracks saves their metadata in case you re-add them in the future. Mixxx no seguirá observando el directorio por nuevas pistas. Que quiere hacer con las pistas de esta carpeta y subcarpetas que están en la biblioteca?<ul><li>Esconder las pistas de la carpeta y subcarpetas.</li><li>Borrar los metadatos de estas pistas de forma permanente.</li><li>Mantener las pistas en la biblioteca.</li></ul>Esconder las pistas permite guardar los metadatos en caso que quiera volverlas a la bibloteca. - + Metadata means all track details (artist, title, playcount, etc.) as well as beatgrids, hotcues, and loops. This choice only affects the Mixxx library. No files on disk will be changed or deleted. Metadatos significa todos los detalles de la pista (artista, titulo, cantidad de reproducciones, etc) como cuadrículas de tempo, hotcues y bucles. Este cambio solo afecta a la biblioteca de Mixxx. Ningun archivo en el disco será cambiado o eliminado. - + Hide Tracks Ocultar Pistas - + Delete Track Metadata Eliminar Metadatos de la pista - + Leave Tracks Unchanged Dejar pistas sin cambios - + Relink music directory to new location Reenlazar el directorio de musica en una nueva ubicación - + + Black + + + + + ExtraBold + + + + + Bold + + + + + SemiBold + + + + + Medium + + + + + Light + + + + Select Library Font Seleccionar la Fuente para Biblioteca @@ -6700,262 +6957,267 @@ y te permite ajustar su pitch para lograr mezclas armónicas. Re-escanear directorios al inicio - + Audio File Formats Formatos de archivo de sonido - + Track Table View Vista Tabla de Pistas - + Track Double-Click Action: Acción doble-click de Pista: - + BPM display precision: Precisión al mostrar los BPM: - + Session History Historia de la sesión - + Track duplicate distance Duplicar Distancia de Pista - + When playing a track again log it to the session history only if more than N other tracks have been played in the meantime Cuando reproduces una pista de nuevo, anéxala al historial de la sesión sólo si más de N otras pistas han sido reproducidas mientras tanto. - + History playlist with less than N tracks will be deleted<br/><br/>Note: the cleanup will be performed during startup and shutdown of Mixxx. Historial de lista de reproducciones con menos de N pistas serán borradas<br/><br/>Nota: la limpieza será realizada durante el inicio y el cierre de Mixxx. - + Delete history playlist with less than N tracks Borrar historial de listado de pistas con menos de N pistas - + Library Font: Fuente para Biblioteca: - + + Show scan summary dialog + + + + Grey out played tracks Oscurecer pistas ya tocadas - + Track Search Buscar una pista - + Enable search completions Permitir completar búsquedas - + Enable search history keyboard shortcuts Activar los atajos de teclado del historial de búsqueda - + Percentage of pitch slider range for 'fuzzy' BPM search: Porcentaje del rango del deslizador de pitch para búsqueda de BPM "difuso-variable". - + This range will be used for the 'fuzzy' BPM search (~bpm:) via the search box, as well as for BPM search in Track context menu > Search related Tracks Este rango será utilizado para buscar BPM "difuso-variable" (~bpm:) en la caja de búsqueda, además de la búsqueda de BPM en el menú contextual Pista > Buscar pistas relacionadas - + Preferred Cover Art Fetcher Resolution Resolución preferida del buscador de carátulas - + Fetch cover art from coverartarchive.com by using Import Metadata From Musicbrainz. Obtén carátulas de coverartarchive.com mediante Import Metadata From Musicbrainz. - + Note: ">1200 px" can fetch up to very large cover arts. Nota: ">1200 px" puede referirse a carátulas muy grandes. - + >1200 px (if available) >1200 px (si está disponible) - + 1200 px (if available) 1200 px (si está disponible) - + 500 px 500 px - + 250 px 250 px - + Settings Directory Directorio de configuración - + The Mixxx settings directory contains the library database, various configuration files, log files, track analysis data, as well as custom controller mappings. El directorio de configuración de Mixxx contiene la base de datos de la biblioteca, varios archivos de configuración, archivos de bitácoras, datos de análisis de pistas, así como mapeos de controladores personalizados. - + Edit those files only if you know what you are doing and only while Mixxx is not running. Edita estos archivos solo si sabes lo que estás haciendo, y solo cuando Mixxx no esté siendo ejecutado. - + Open Mixxx Settings Folder Abrir carpeta de ajustes de Mixxx - + Library Row Height: Alto de la Fila en Biblioteca: - + Use relative paths for playlist export if possible Usar rutas relativas al exportar lista de reproducción cuando sea posible - + ... ... - + px px - + Synchronize library track metadata from/to file tags Sincroniza los metadatos de la librería de pistas desde/hacia las etiquetas de archivos - + Automatically write modified track metadata from the library into file tags and reimport metadata from updated file tags into the library Automáticamente escribe metadatos de las pistas modificadas desde la biblioteca a las etiquetas del archivo y reimporta metadatos desde las etiquetas actualizadas del archivo a la biblioteca - + Synchronize Serato track metadata from/to file tags (experimental) Sincroniza metadatos de la pista de Serato desde/hacia las etiquetas de archivo (experimental) - + Keeps track color, beat grid, bpm lock, cue points, and loops synchronized with SERATO_MARKERS/MARKERS2 file tags.<br/><br/>WARNING: Enabling this option also enables the reimport of Serato metadata after files have been modified outside of Mixxx. On reimport existing metadata in Mixxx is replaced with the metadata found in file tags. Custom metadata not included in file tags like loop colors is lost. Mantiene el color de la pista, la cuadrícula del ritmo, bloqueo de bpm, puntos de marcado, y bucles sincronizados con las etiquetas de archivo SERATO_MARKERS/MARKERS2.<br/><br/>ADVERTENCIA: Habilitando esta opción también habilita la reimportación de metadatos de Serato después de que los archivos han sido modificados afuera de Mixxx. Al reimportar metadatos existentes en Mixxx se remplaza con los metadatos encontrados en las etiquetas de archivos. Los Metadatos personalizados no incluidos en las etiquetas de archivos como los colores de los bucles se perderán. - + Edit metadata after clicking selected track Editar los metadatos al clicar en una pista seleccionada - + Search-as-you-type timeout: Tiempo de espera de búsqueda mientras escribe: - + ms ms - + Load track to next available deck Carga la pista en el siguiente plato disponible - + External Libraries Bibliotecas externas - + You will need to restart Mixxx for these settings to take effect. Usted tendrá que reiniciar Mixxx para que esta configuración surta efecto. - + Show Rhythmbox Library Mostrar la librería de Rhythmbox - + Track Metadata Synchronization / Playlists Metadatos de sincronización de pistas / Listas de reproducción - + Add track to Auto DJ queue (bottom) Añadir pista al final de la cola de Auto DJ - + Add track to Auto DJ queue (top) Añadir pista a la cola de Auto DJ (al comienzo) - + Ignore Ignorar - + Show Banshee Library Mostrar la bibiloteca de Banshee - + Show iTunes Library Mostrar la librería de ITunes - + Show Traktor Library Mostrar la librería de Traktor - + Show Rekordbox Library Mostrar la librería de Rekordbox - + Show Serato Library Mostrar la librería de Serato - + All external libraries shown are write protected. Todas las bibliotecas mostradas estan protegidas frente a escritura. @@ -7300,33 +7562,33 @@ y te permite ajustar su pitch para lograr mezclas armónicas. DlgPrefRecord - + Choose recordings directory Elegir la carpeta para las grabaciones - - + + Recordings directory invalid Directorio de grabaciones inválido - + Recordings directory must be set to an existing directory. El directorio de Grabaciones debe configurarse a un directorio existente. - + Recordings directory must be set to a directory. El directorio de Grabaciones debe configurarse a un directorio. - + Recordings directory not writable Directorio de Grabaciones no escribible - + You do not have write access to %1. Choose a recordings directory you have write access to. No tienes acceso de escritura en %1. Escoge un directorio de grabación en el que tengas acceso de escritura. @@ -7344,43 +7606,55 @@ y te permite ajustar su pitch para lograr mezclas armónicas. Examinar… - - + + This will include the filepath for each track in the CUE file. +This option makes the CUE file less portable and can reveal personal +information from filepaths (i.e. username) + + + + + Enable File Annotation in CUE file + + + + + Quality Calidad - + Tags Etiquetas - + Title Título - + Author Autor - + Album Álbum - + Output File Format Formato de fichero de salida - + Compression Compresión - + Lossy Con pérdidas @@ -7395,12 +7669,12 @@ y te permite ajustar su pitch para lograr mezclas armónicas. Directorio: - + Compression Level Nivel de compresión - + Lossless Sin pérdidas @@ -7533,172 +7807,177 @@ El objetivo de sonoridad es aproximado y asume que la preganancia de la pista y DlgPrefSound - + %1 Hz %1 Hz - + Default (long delay) Por Defecto (mas retardo) - + Experimental (no delay) Experimental (sin retardo) - + Disabled (short delay) Desactivado (poco retardo) - + Soundcard Clock Reloj de la tarjeta de sonido - + Network Clock Reloj de red - + Direct monitor (recording and broadcasting only) Monitorización directa (solo grabación y emisión en vivo) - + Disabled Desactivado - + Enabled Activado - + Stereo Estéreo - + Mono Mono - + To enable Realtime scheduling (currently disabled), see the %1. Para activar el Planificador en tiempo real (actualmente desactivado), mira %1. - + The %1 lists sound cards and controllers you may want to consider for using Mixxx. %1 muestra una lista de tarjetas de sonido y controladores que podrías considerar para utilizar con Mixxx - + Mixxx DJ Hardware Guide Guía de Hardware DJ de Mixxx - + + Find details in the Mixxx user manual + + + + Information Información - + Mixxx must be restarted before the multi-threaded RubberBand setting change will take effect. Mixxx debe ser reiniciado para que el cambio de ajuste de RubberBand multi-hilo tenga efecto. - + auto (<= 1024 frames/period) auto (<= 1024 fotogramas/período) - + 2048 frames/period 2048 fotogramas/período - + 4096 frames/period 4096 fotogramas/período - + Are you sure? ¿Estás seguro(a)? - + Distribute stereo channels into mono channels for parallel processing will result in a loss of mono compatibility and a diffuse stereo image. It is not recommended during broadcasting or recording. Distribuir los canales estéreo en canales mono para su procesamiento en paralelo podría resultar en la pérdida de la compatibilidad mono y una imagen estéreo difusa. No se recomienda al transmitir en vivo o al grabar. - + Are you sure you wish to proceed? ¿Realmente deseas continuar? - + No No - + Yes, I know what I am doing Sí, se lo que estoy haciendo - + Microphone inputs are out of time in the record & broadcast signal compared to what you hear. La entrada de micrófono está desincronizada respecto la grabación y emisión comparado con la señal que se oye. - + Measure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. Mide la latencia total e introducela en la Compensacion de latencia del micrófono para sincronizar el micrófono. - + Refer to the Mixxx User Manual for details. Para más detalles, lea el manual de usuario de Mixxx. - + Configured latency has changed. La latencia configurada ha cambiado. - + Remeasure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. Vuelve a medir la latencia total e introducela en la Compensacion de latencia del micrófono para sincronizar el micrófono. - + Realtime scheduling is enabled. La planificación en Tiempo Real está activada. - + Main output only Solo Salida principal - + Main and booth outputs Salidas principal y de cabina - + %1 ms %1 ms - + Configuration error Error de configuración @@ -7765,17 +8044,22 @@ El objetivo de sonoridad es aproximado y asume que la preganancia de la pista y ms - + + Deck and Bus outputs are for external mixers. They are post-fader and include effects and crossfader (for Auto DJ). For external mixing, make sure all Mixxx faders and EQ knobs are set to their default position (right- or double-click). + + + + 20 ms 20 ms - + Buffer Underflow Count Contador de vaciado del búfer - + 0 0 @@ -7800,12 +8084,12 @@ El objetivo de sonoridad es aproximado y asume que la preganancia de la pista y Entrada - + System Reported Latency Latencia reportada por el sistema - + Enlarge your audio buffer if the underflow counter is increasing or you hear pops during playback. Aumente su búfer de audio si el contador de desbordamiento está aumentando o escuchas chasquidos durante la reproducción. @@ -7835,7 +8119,7 @@ El objetivo de sonoridad es aproximado y asume que la preganancia de la pista y Diagnóstico y sugerencias - + Downsize your audio buffer to improve Mixxx's responsiveness. Disminuya su búfer de audio para mejorar la velocidad de respuesta de Mixxx. @@ -7882,7 +8166,7 @@ El objetivo de sonoridad es aproximado y asume que la preganancia de la pista y Configuración de Vinilo - + Show Signal Quality in Skin Mostrar Calidad de Señal en la apariencia @@ -7918,46 +8202,51 @@ El objetivo de sonoridad es aproximado y asume que la preganancia de la pista y + Pitch estimator + + + + Deck 1 Plato 1 - + Deck 2 Plato 2 - + Deck 3 Plato 3 - + Deck 4 Plato 4 - + Signal Quality Calidad de Señal - + http://www.xwax.co.uk http://www.xwax.co.uk - + Powered by xwax Con tecnología de xwax - + Hints Sugerencias - + Select sound devices for Vinyl Control in the Sound Hardware pane. Seleccione los dispositivos de sonico para el Control por Vinilo en el Panel de Hardware de Sonido. @@ -7965,58 +8254,58 @@ El objetivo de sonoridad es aproximado y asume que la preganancia de la pista y DlgPrefWaveform - + Filtered Filtrada - + HSV HSV - + RGB RGB - + Top Arriba - + Center Centrado - + Bottom Abajo - + 1/3 of waveform viewer options for "Text height limit" 1/3 de visualización de forma de onda - + Entire waveform viewer Visor de forma de onda completa - + OpenGL not available OpenGL no disponible - + dropped frames fotogramas perdidos - + Cached waveforms occupy %1 MiB on disk. Formas de onda almacenadas en caché ocupan %1 MiB en el disco. @@ -8034,22 +8323,17 @@ El objetivo de sonoridad es aproximado y asume que la preganancia de la pista y Tasa de fotograma - + OpenGL Status Estado de OpenGL - + Displays which OpenGL version is supported by the current platform. Muestra qué versión de OpenGL es soportada por la plataforma actual. - - Normalize waveform overview - Normalizar vista de forma de onda - - - + Average frame rate Refresco de pantalla promedio @@ -8065,7 +8349,7 @@ El objetivo de sonoridad es aproximado y asume que la preganancia de la pista y Nivel de zoom por defecto - + Displays the actual frame rate. Muestra la tasa de refresco actual. @@ -8100,7 +8384,7 @@ El objetivo de sonoridad es aproximado y asume que la preganancia de la pista y Graves - + Show minute markers on waveform overview Mostrar marcadores de minutos en la vista de forma de onda @@ -8145,7 +8429,7 @@ El objetivo de sonoridad es aproximado y asume que la preganancia de la pista y Ganancia visual global - + The waveform overview shows the waveform envelope of the entire track. Select from different types of displays for the waveform overview, which differ primarily in the level of detail shown in the waveform. La vista general de forma de onda muestra la forma de onda de la pista entera. @@ -8214,22 +8498,22 @@ Elija entre los distintos tipos de visualización para la forma de onda, que se pt - + Caching Almacenamiento en caché - + Mixxx caches the waveforms of your tracks on disk the first time you load a track. This reduces CPU usage when you are playing live but requires extra disk space. Mixxx almacena en caché las formas de onda de las pistas en el disco la primera vez que se carga una pista. Esto reduce el uso de la CPU cuando se está jugando en vivo, pero requiere espacio en disco adicional. - + Enable waveform caching Habilitar el almacenamiento en caché de forma de onda - + Generate waveforms when analyzing library Generar formas de onda cuando se analiza la biblioteca @@ -8245,7 +8529,7 @@ Elija entre los distintos tipos de visualización para la forma de onda, que se - + Type Tipo @@ -8275,12 +8559,58 @@ Elija entre los distintos tipos de visualización para la forma de onda, que se Mover the marcador de posición en la pista a la izquierda, derecha o centro (Defabrica). - - Overview Waveforms - Visualizar formas de onda + + Stem + + + + + Channel opacity + + + + + Channel opacity (outline) + + + + + Main stem opacity + + + + + Outline stem opacity + + + + + Move channel to foreground when volume is adjusted + + + + + Overview Waveforms + Visualizar formas de onda + + + + Gain + + + + + Normalize to peak + + + + + Use Waveform "Global" gain and ReplayGain (if enabled) + 'Global' refers to the 'Global' visual gain in the scrolling waveform settings + - + Clear Cached Waveforms Las formas de onda claras en caché @@ -8772,7 +9102,7 @@ Carpeta: %2 BPM: - + Location: Ubicación: @@ -8787,27 +9117,27 @@ Carpeta: %2 Comentarios - + BPM BPM - + Sets the BPM to 75% of the current value. Ajusta el BPM al 75% del valor actual. - + 3/4 BPM 3/4 BPM - + Sets the BPM to 50% of the current value. Ajusta el BPM al 50% del valor actual. - + Displays the BPM of the selected track. Mostrar los BPMs de la pista seleccionada. @@ -8862,49 +9192,49 @@ Carpeta: %2 Género - + ReplayGain: Ganancia de repetición: - + Sets the BPM to 200% of the current value. Ajusta el BPM al 200% del valor actual. - + Double BPM Duplicar BPM - + Halve BPM Reducir a la mitad los BPM - + Clear BPM and Beatgrid Borrar el BPM y la cuadrícula de tempo - + Move to the previous item. "Previous" button Mover al elemento anterior. - + &Previous &Previo - + Move to the next item. "Next" button Mover al siguiente elemento. - + &Next &Siguiente @@ -8929,12 +9259,12 @@ Carpeta: %2 Color - + Date added: Fecha de adición: - + Open in File Browser Abrir en el explorador de archivos @@ -8944,12 +9274,17 @@ Carpeta: %2 Tasa de muestreo: - + + Filesize: + + + + Track BPM: BPM de la pista: - + Converts beats detected by the analyzer into a fixed-tempo beatgrid. Use this setting if your tracks have a constant tempo (e.g. most electronic music). Often results in higher quality beatgrids, but will not do well on tracks that have tempo shifts. @@ -8958,90 +9293,90 @@ Utiliza este ajuste si tus pistas tienen un tempo constante (ej. la mayoría de A menudo resulta en una cuadrícula de mayor calidad, pero no lo hacemos bien en pistas que tienen cambios de tempo. - + Assume constant tempo Asumir tempo constante - + Sets the BPM to 66% of the current value. Ajusta el BPM al 66% del valor actual. - + 2/3 BPM 2/3 BPM - + Sets the BPM to 150% of the current value. Incrementa el BPM al 150% del valor actual. - + 3/2 BPM 3/2 BPM - + Sets the BPM to 133% of the current value. Incrementa el BPM al 133% del valor actual. - + 4/3 BPM 4/3 BPM - + Tap with the beat to set the BPM to the speed you are tapping. Golpee siguiendo el ritmo para establecer el BPM. - + Tap to Beat Pulse siguiendo el ritmo - + Hint: Use the Library Analyze view to run BPM detection. Truco: Use la vista de análisis en la biblioteca para ejecutar la detección de BPM. - + Save changes and close the window. "OK" button Guardar cambios y cerrar la ventana. - + &OK &OK - + Discard changes and close the window. "Cancel" button Descartar cambios y cerrar. - + Save changes and keep the window open. "Apply" button Guardar cambios y mantener abierta la ventana. - + &Apply &Aplicar - + &Cancel &Cancelar - + (no color) (sin color) @@ -9198,7 +9533,7 @@ A menudo resulta en una cuadrícula de mayor calidad, pero no lo hacemos bien en &OK - + (no color) (sin color) @@ -9400,27 +9735,27 @@ A menudo resulta en una cuadrícula de mayor calidad, pero no lo hacemos bien en EngineBuffer - + Soundtouch (faster) Soundtouch (rápido) - + Rubberband (better) Rubberband (mejor) - + Rubberband R3 (near-hi-fi quality) Banda elástica R3 (calidad casi alta fidelidad) - + Unknown, using Rubberband (better) Desconocido, utilizando Banda elástica (mejor) - + Unknown, using Soundtouch Desconocido, usando Soundtouch @@ -9635,15 +9970,15 @@ A menudo resulta en una cuadrícula de mayor calidad, pero no lo hacemos bien en LegacySkinParser - - + + Safe Mode Enabled Shown when Mixxx is running in safe mode. Modo Seguro Activado - - + + No OpenGL support. Shown when Spinny can not be displayed. Please keep @@ -9655,57 +9990,57 @@ Shown when VuMeter can not be displayed. Please keep de OpenGL. - + activate activar - + toggle conmutar - + right derecha - + left izquierda - + right small derecha pequeño - + left small izquierda pequeño - + up arriba - + down abajo - + up small arriba pequeño - + down small abajo pequeño - + Shortcut Atajo @@ -9713,37 +10048,37 @@ de OpenGL. Library - + This or a parent directory is already in your library. Este directorio o su superior ya se encuentra en tu biblioteca. - + This or a listed directory does not exist or is inaccessible. Aborting the operation to avoid library inconsistencies Este directorio o el indicado no existe o es inaccesible. Cancelando la operación para evitar inconsistencias de biblioteca. - - + + This directory can not be read. Este directorio no puede ser leído. - + An unknown error occurred. Aborting the operation to avoid library inconsistencies Ha ocurrido un error desconocido. Cancelando la operación para evitar inconsistencias de biblioteca - + Can't add Directory to Library No se pudo agregar el directorio a la biblioteca - + Could not add <b>%1</b> to your library. %2 @@ -9752,27 +10087,27 @@ Cancelando la operación para evitar inconsistencias de biblioteca %2 - + Can't remove Directory from Library No se pudo remover el directorio de la biblioteca. - + An unknown error occurred. Ha ocurrido un error desconocido. - + This directory does not exist or is inaccessible. Este directorio no existe o es inaccesible. - + Relink Directory Reenlazar directorio - + Could not relink <b>%1</b> to <b>%2</b>. %3 @@ -9937,12 +10272,12 @@ Do you really want to overwrite it? Pistas Ocultas - + Export to Engine DJ Exportar a Engine DJ - + Tracks Pistas @@ -9950,37 +10285,37 @@ Do you really want to overwrite it? MixxxMainWindow - + Sound Device Busy El dispositivo de sonido está ocupado - + <b>Retry</b> after closing the other application or reconnecting a sound device <b>Reintente</b> luego de cerrar las otras aplicaciones o reconectar un dispositivo de sonido - - - + + + <b>Reconfigure</b> Mixxx's sound device settings. <b>Reconfigure</b> las opciones del dispositivo de sonido de Mixxx. - - + + Get <b>Help</b> from the Mixxx Wiki. Obtenga <b>ayuda</b> del wiki de Mixxx. - - - + + + <b>Exit</b> Mixxx. <b>Salir</b> de Mixxx. - + Retry Reintentar @@ -9990,213 +10325,213 @@ Do you really want to overwrite it? apariencia - + Allow Mixxx to hide the menu bar? ¿Permitir a Mixxx ocultar la barra de menú? - + Hide Always show the menu bar? Ocultar - + Always show Mostrar siempre - + The Mixxx menu bar is hidden and can be toggled with a single press of the <b>Alt</b> key.<br><br>Click <b>%1</b> to agree.<br><br>Click <b>%2</b> to disable that, for example if you don't use Mixxx with a keyboard.<br><br>You can change this setting any time in Preferences -> Interface.<br> Keep formatting tags <b> (bold text) and <br> (linebreak). %1 is the placeholder for the 'Always show' button label La barra de menú de Mixxx ha sido ocultada y se puede alternar presionando la tecla <b>Alt</b>. <br><br>Haz clic en <b>%1</b> para aceptar. <br><br>Haz clic en <b>%2</b> para desactivarlo, por ejemplo si usas Mixxx sin un teclado. <br><br>Puedes cambiar este ajuste en cualquier momento en Preferencias -> Interfaz. <br> - + Ask me again Pregúntame de nuevo - - + + Reconfigure Reconfigurar - + Help Ayuda - - + + Exit Salir - - + + Mixxx was unable to open all the configured sound devices. Mixxx no ha podido activar todos los dispositivos de sonido configurados. - + Sound Device Error Error del dispositivo de sonido - + <b>Retry</b> after fixing an issue <b>Reintenta</b> una vez corregido el problema - + No Output Devices No hay dispositivos de salida - + Mixxx was configured without any output sound devices. Audio processing will be disabled without a configured output device. Mixxx fue configurado sin ningún dispositivo de salida de audio. El procesamiento de audio estará desactivado mientras no se configure un dispositivo de audio de salida. - + <b>Continue</b> without any outputs. <b>Continuar</b> sin ninguna salida. - + Continue Continuar - + Load track to Deck %1 Cargar pista al plato %1 - + Deck %1 is currently playing a track. El plato %1 está reproduciendo una pista. - + Are you sure you want to load a new track? ¿Está seguro de cargar una pista nueva? - + There is no input device selected for this vinyl control. Please select an input device in the sound hardware preferences first. No hay ningún dispositivo de entrada seleccionado para el control por vinilo. Por favor, seleccione un dispositivo de entrada en las preferencias de hardware de sonido. - + There is no input device selected for this passthrough control. Please select an input device in the sound hardware preferences first. No hay ningún dispositivo de entrada seleccionado para el control passthrough. Por favor, seleccione un dispositivo de entrada en las preferencias de hardware de sonido. - + There is no input device selected for this microphone. Do you want to select an input device? No se ha seleccionado un dispositivo de Entrada para este micrófono. ¿Deseas escoger uno ahora? - + There is no input device selected for this auxiliary. Do you want to select an input device? No se ha seleccionado un dispositivo de entrada para este Auxiliar. ¿Deseas escoger uno ahora? - + Scan took %1 El escaneo tomo %1 - + No changes detected. No se han detectado cambios - - + + %1 tracks in total %1 pistas en total - + %1 new tracks found Encontradas %1 pistas nuevas - + %1 moved tracks detected %1 pistas movidas detectadas - + %1 tracks are missing (%2 total) %1 pistas perdidas (%2 en total) - + %1 tracks have been rediscovered %1 pistas han sido reencontradas - + Library scan finished Escaneo de la biblioteca terminado - + Error in skin file Error en el archivo de la apariencia - + The selected skin cannot be loaded. No se ha podido cargar la apariencia seleccionada. - + OpenGL Direct Rendering Renderizado directo de OpenGL - + Direct rendering is not enabled on your machine.<br><br>This means that the waveform displays will be very<br><b>slow and may tax your CPU heavily</b>. Either update your<br>configuration to enable direct rendering, or disable<br>the waveform displays in the Mixxx preferences by selecting<br>"Empty" as the waveform display in the 'Interface' section. El renderizado directo no está habilitado en su máquina. <br><br>Esto significa que las visualizaciones de forma de onda serán muy <br><b>lentas y pueden exigir mucho a su CPU</b>. Actualice su <br>configuración para habilitar la representación directa o desactiv<br> las visualizaciones de forma de onda en las preferencias de Mixxx seleccionando <br>"Vacío" como la pantalla de forma de onda en la sección 'Interfaz'. - - - + + + Confirm Exit Confirmar salida - + A deck is currently playing. Exit Mixxx? Un plato está reproduciendo. ¿Salir de Mixxx? - + A sampler is currently playing. Exit Mixxx? Un reproductor de muestras está en reproducción. ¿Salir de Mixxx? - + The preferences window is still open. La ventana de preferencias todavía está abierta. - + Discard any changes and exit Mixxx? ¿Descartar cambios y salir de Mixxx? @@ -10212,13 +10547,13 @@ Do you want to select an input device? PlaylistFeature - + Lock Bloquear - - + + Playlists Listas de reproducción @@ -10228,58 +10563,63 @@ Do you want to select an input device? Aleatorizar lista de reproducción - + + Adopt current order + + + + Unlock all playlists - + Delete all unlocked playlists - + Unlock Desbloquear - - + + Confirm Deletion - + Do you really want to delete all unlocked playlists? - + Deleting %1 unlocked playlists.<br>This operation can not be undone! - + Playlists are ordered lists of tracks that allow you to plan your DJ sets. Las listas de reproducción son listar ordenadas de pistas que te permiten planificar tus sesiones de DJ. - + It may be necessary to skip some tracks in your prepared playlist or add some different tracks in order to maintain the energy of your audience. Podría ser necesario saltar algunas pistas en tu lista de reproducción planificada, o añadir algunas pistas diferentes, con el fin de mantener la energía de tu audiencia. - + Some DJs construct playlists before they perform live, but others prefer to build them on-the-fly. Algunos DJ preparan listas de reproducción antes de tocar en vivo, pero otros prefieren hacerlo en el momento. - + When using a playlist during a live DJ set, remember to always pay close attention to how your audience reacts to the music you've chosen to play. Cuando uses una lista de reproducción en una actuación en vivo, recuerda siempre prestar mucha atención a cómo reacciona la audiencia con la música que has elegido reproducir. - + Create New Playlist Crear nueva lista de reproducción @@ -10378,59 +10718,59 @@ Do you want to select an input device? QMessageBox - + Upgrading Mixxx Actualizando Mixxx - + Mixxx now supports displaying cover art. Do you want to scan your library for cover files now? Mixxx ha añadido soporte para mostrar carátulas. ¿Desea escanear la biblioteca ahora para encontrar las carátulas? - + Scan Escanear - + Later Después - + Upgrading Mixxx from v1.9.x/1.10.x. Actualizar Mixxx desde v1.9.x/1.10.x. - + Mixxx has a new and improved beat detector. Mixxx ahora tiene un nuevo y mejorado analizador de ritmo. - + When you load tracks, Mixxx can re-analyze them and generate new, more accurate beatgrids. This will make automatic beatsync and looping more reliable. Cuando cargas pistas, Mixxx puede reanalizarlas y generar cuadrículas de tempo nuevas y más precisas. Esto hará que la sincronización y los Loops sean más fiables. - + This does not affect saved cues, hotcues, playlists, or crates. Esto no afecta a los Cues, Hotcues, listas de reproducción o cajas guardados/as. - + If you do not want Mixxx to re-analyze your tracks, choose "Keep Current Beatgrids". You can change this setting at any time from the "Beat Detection" section of the Preferences. Si no quieres que Mixxx reanalize tus pistas, elige "Mantener las cuadrículas de tempo actuales". Puedes cambiar esta configuración en cualquier momento desde la sección "Detección de Beats" de la ventana Preferencias. - + Keep Current Beatgrids Mantener las cuadrículas de tempo actuales - + Generate New Beatgrids Generar nuevas cuadrículas de tempo @@ -10544,69 +10884,82 @@ Do you want to scan your library for cover files now? 14-bit (MSB) - + Main + Audio path indetifier Principal - + Booth + Audio path indetifier Cabina - + Headphones + Audio path indetifier Auriculares - + Left Bus + Audio path indetifier Bus izquierdo - + Center Bus + Audio path indetifier Bus central - + Right Bus + Audio path indetifier Bus derecho - + Invalid Bus + Audio path indetifier Bus inválido - + Deck + Audio path indetifier Plato - + Record/Broadcast + Audio path indetifier Grabación / Emisión en vivo - + Vinyl Control + Audio path indetifier Control de vinilo - + Microphone + Audio path indetifier Micrófono - + Auxiliary + Audio path indetifier Auxiliar - + Unknown path type %1 + Audio path Tipo de ruta %1 desconocida @@ -10949,47 +11302,49 @@ Si la amplitud es cero, este parámetro permite mover la posición manualmente p Ancho - + Metronome Metrónomo - + + The Mixxx Team Equipo de Mixxx - + Adds a metronome click sound to the stream Añade el sonido de tic tac de un metrónomo a la señal de salida - + BPM BPM - + Set the beats per minute value of the click sound Define las pulsaciones por minuto del tic tac - + Sync Sincronizar - + Synchronizes the BPM with the track if it can be retrieved Sincroniza el BPM con el de la pista, si se puede obtener - + + Gain Ganancia - + Set the gain of metronome click sound Configura la ganancia del sonido del metrónomo @@ -11793,14 +12148,14 @@ Todo a la derecha: final del período La grabación OGG no está soportada. La librería OGG/Vorbis podría no inicializarse. - - + + encoder failure falla del codificador - - + + Failed to apply the selected settings. Fallo al aplicar los ajustes seleccionados. @@ -12009,15 +12364,86 @@ para mantener la señal entrante y saliente tan sonoras como sea posible.Encendido + + Auto Gain Control + + + + + AGC + + + + + Auto Gain Control (AGC) automatically adjusts the gain of an audio signal to maintain a consistent output level. + + + + Threshold (dBFS) Límite (Threshold, dBFS) + Threshold Límite + + + The Threshold knob adjusts the level above which the effect starts enhancing the input signal + + + + + Target (dBFS) + + + + + Target + + + + + The Target knob adjusts the desired target level of the output signal + + + + + Gain (dB) + + + + + The Gain knob adjusts the maximum amount of gain that the effect will apply + + + + + Knee (dB) + + + + + The Knee knob defines the range around the Threshold where gain changes are applied gradually, +ensuring smooth transitions and avoiding abrupt level shifts. + + + + + The Attack knob sets the time that determines how fast the auto gain +will set in once the signal exceeds the threshold + + + + + The Release knob sets the time that determines how fast the auto gain will recover from the gain +adjustment once the signal falls under the threshold. Depending on the input signal, short release times +may introduce a 'pumping' effect and/or distortion. + + The Threshold knob adjusts the level above which the compressor starts attenuating the input signal @@ -12048,6 +12474,7 @@ A una proporción de 1:1, la compresión no tiene efecto, ya que la entrada es e Knee (dBFS) + Knee Knee @@ -12058,11 +12485,13 @@ A una proporción de 1:1, la compresión no tiene efecto, ya que la entrada es e La perilla de Knee es utilizada para lograr una curva de compresión redondeada. + Attack (ms) Ataque (ms) + Attack Ataque @@ -12075,11 +12504,13 @@ will set in once the signal exceeds the threshold la compresión una vez que la señal supere el Límite. + Release (ms) Liberación (Release, ms) + Release Release @@ -12110,12 +12541,12 @@ pueden introducir un efecto de "bombeo" y/o distorsión. varios - + built-in nativo - + missing no encontrado @@ -12150,42 +12581,42 @@ pueden introducir un efecto de "bombeo" y/o distorsión. Stem #%1 - + Empty Vacío - + Simple Simple - + Filtered Filtrado - + HSV HSV - + VSyncTest VSyncTest - + RGB RGB - + Stacked Agrupado - + Unknown Desconocido @@ -12446,193 +12877,193 @@ pueden introducir un efecto de "bombeo" y/o distorsión. ShoutConnection - - + + Mixxx encountered a problem Mixxx encontró un problema - + Could not allocate shout_t No se pudo asignar shout_t - + Could not allocate shout_metadata_t No se pudo asignar shout_metadata_t - + Error setting non-blocking mode: Error al establecer el modo "sin bloqueo": - + Error setting tls mode: Error al configurar el modo tls: - + Error setting hostname! ¡Error al establecer el nombre de host! - + Error setting port! ¡Error al establecer el puerto! - + Error setting password! ¡Error al establecer la contraseña! - + Error setting mount! ¡Error al establecer el punto de montaje! - + Error setting username! ¡Error al establecer el nombre de usuario! - + Error setting stream name! ¡Error al establecer el nombre de la emisión! - + Error setting stream description! ¡Error al establecer la descripción de la emisión! - + Error setting stream genre! ¡Error al establecer el género de la emisión! - + Error setting stream url! ¡Error al establecer la URL de la emisión! - + Error setting stream IRC! ¡Error de ajuste de retransmisión en IRC! - + Error setting stream AIM! ¡Error de ajuste de retransmisión en AIM! - + Error setting stream ICQ! ¡Error de ajuste de retransmisión en ICQ! - + Error setting stream public! Error al iniciar la emisión pública! - + Unknown stream encoding format! ¡Formato de codificación de transmisión desconocido! - + Use a libshout version with %1 enabled Usar una versión de libshout con %1 activado - + Error setting stream encoding format! Error ajuste formato de codificación en emisión! - + Broadcasting at 96 kHz with Ogg Vorbis is not currently supported. Please try a different sample rate or switch to a different encoding. Transmitir a 96 kHz con Ogg Vorbis no está soportado actualmente. Por favor intente una frecuencia de muestreo diferente o cambie a una codificación diferente. - + See https://github.com/mixxxdj/mixxx/issues/5701 for more information. Consulta https://github.com/mixxxdj/mixxx/issues/5701 para más información. - + Unsupported sample rate Tasa de muestreo no soportada - + Error setting bitrate Error al establecer la tasa de bits - + Error: unknown server protocol! ¡Error: protocolo del servidor desconocido! - + Error: Shoutcast only supports MP3 and AAC encoders Error: Shoutcast solo soporta codificadores MP3 y AAC - + Error setting protocol! ¡Error al establecer el protocolo! - + Network cache overflow Caché de red excedido - + Connection error Error de connexión - + One of the Live Broadcasting connections raised this error:<br><b>Error with connection '%1':</b><br> Una de las fuentes de emisión en vivo ha lanzado este error:<br><b>Error con la fuente '%1':</b><br> - + Connection message Mensaje de conexión - + <b>Message from Live Broadcasting connection '%1':</b><br> <b>Mensaje de la fuente de emisión en vivo '%1':</b><br> - + Lost connection to streaming server and %1 attempts to reconnect have failed. Se ha perdido la conexión al servidor de emisión y han fallado %1 intentos de reconexión. - + Lost connection to streaming server. Se ha perdido la conexión al servidor de emisión - + Please check your connection to the Internet. Comprueba tu conexión a internet. - + Can't connect to streaming server No se puede conectar al servidor de emisión - + Please check your connection to the Internet and verify that your username and password are correct. Comprobe a súa conexión a internet e verifique que o seu nome de usuario e contrasinal son correctos. @@ -12640,7 +13071,7 @@ pueden introducir un efecto de "bombeo" y/o distorsión. SoftwareWaveformWidget - + Filtered Filtrada @@ -12648,23 +13079,23 @@ pueden introducir un efecto de "bombeo" y/o distorsión. SoundManager - - + + a device un dispositivo - + An unknown error occurred Ocurrió un error desconocido - + Two outputs cannot share channels on "%1" Dos salidas no pueden usar los mismos canales de %1 - + Error opening "%1" Error al abrir "%1" @@ -12849,7 +13280,7 @@ pueden introducir un efecto de "bombeo" y/o distorsión. - + Spinning Vinyl Vinilo virtual @@ -13031,7 +13462,7 @@ pueden introducir un efecto de "bombeo" y/o distorsión. - + Cover Art Carátula @@ -13221,243 +13652,243 @@ pueden introducir un efecto de "bombeo" y/o distorsión. Mantiene la ganancia del filtro de graves en cero, mientras está activo. - + Displays the tempo of the loaded track in BPM (beats per minute). Muestra el tempo de la pista cargada, en BPM (golpes por minuto). - + Tempo Tempo - + Key The musical key of a track Clave - + BPM Tap Golpeo de BPM - + When tapped repeatedly, adjusts the BPM to match the tapped BPM. Cuando se pulsa repetidamente, ajusta el BPM para que coincida con las pulsaciones realizadas. - + Adjust BPM Down Reduce el BPM - + When tapped, adjusts the average BPM down by a small amount. Cuando se pulsa, reduce el BPM promedio un poco. - + Adjust BPM Up Aumenta el BPM - + When tapped, adjusts the average BPM up by a small amount. Cuando se pulsa, aumenta el BPM promedio un poco. - + Adjust Beats Earlier Mueve la cuadrícula un poco antes - + When tapped, moves the beatgrid left by a small amount. En pulsarlo, mueve la cuadrícula de tempo un poco a la izquierda. - + Adjust Beats Later Mueve la cuadrícula un poco después - + When tapped, moves the beatgrid right by a small amount. En pulsarlo, mueve la cuadrícula de tempo un poco a la derecha. - + Tempo and BPM Tap Golpeo de Tempo y BPM - + Show/hide the spinning vinyl section. Mostrar/ocultar la sección de vinilo giratorio. - + Keylock Bloqueo tonal - + Toggling keylock during playback may result in a momentary audio glitch. Alternar el bloqueo tonal durante la reproducción puede producir una pequeña distorsión de audio. - + Toggle visibility of Loop Controls Cambia la visibilidad de los Controles de Bucles - + Toggle visibility of Beatjump Controls Cambia la visibilidad de los Controles de Salto de Ritmo - + Toggle visibility of Rate Control Alternar visibilidad del control de velocidad - + Toggle visibility of Key Controls Cambia la visibilidad de los Controles de Clave - + (while previewing) (mientras se previsualiza) - + Places a cue point at the current position on the waveform. Coloca un punto de Cue en la posición actual de la forma de onda. - + Stops track at cue point, OR go to cue point and play after release (CUP mode). Detiene la pista en el punto cue, O BIEN va al punto cue y reproduce en soltar (modo CUP). - + Set cue point (Pioneer/Mixxx/Numark mode), set cue point and play after release (CUP mode) OR preview from it (Denon mode). Establece el punto Cue (Modo Pioneer/Mixxx/Numark), establece el punto Cue y reproduce en soltar (modo CUP) O BIEN hace una preescuha del mismo (Modo Denon). - + Is latching the playing state. Está reteniendo el estado de reproducción. - + Seeks the track to the cue point and stops. Lleva la pista al punto de Cue y para. - + Play Reproducir - + Plays track from the cue point. Reproduce la pista desde el punto Cue. - + Sends the selected channel's audio to the headphone output, selected in Preferences -> Sound Hardware. Envía el audio del canal seleccionado a la salida de auriculares, seleccionada en Preferencias -> Hardware de Sonido - + (This skin should be updated to use Sync Lock!) (Esta carátula debería actualizarse para utilizar Bloqueo de Sincronización!) - + Enable Sync Lock Habilitar Sync Lock - + Tap to sync the tempo to other playing tracks or the sync leader. Pulse para sincronizar el tiempo con otras pistas en reproducción o líder de sincronización. - + Enable Sync Leader Habilitar Sync Lock - + When enabled, this device will serve as the sync leader for all other decks. Cuando está habilitado, este dispositivo servirá como líder de sicronización para todas las otros platos. - + This is relevant when a dynamic tempo track is loaded to a sync leader deck.In that case, other synced devices will adopt the changing tempo. Es relevante cuando una pista con tempo dinámico es cargada a un deck líder de sincronización. En ese caso, otros dispositivos sincronizados adoptarán el tempo cambiante. - + Changes the track playback speed (affects both the tempo and the pitch). If keylock is enabled, only the tempo is affected. Cambia la velocidad de reproducción de la pista (afecta tanto el tempo como el tono). Si está habilitado el bloqueo, únicamente afecta al tempo. - + Tempo Range Display Visualizador del rango de tempo - + Displays the current range of the tempo slider. Muestra el rango actual del deslizador de tempo. - + Un-ejects when no track is loaded, i.e. reloads the track that was ejected last (of any deck). Se recupera la pista expulsada cuando no hay ninguna pista cargada, es decir, vuelve a cargar la pista que se expulsó en último lugar (de cualquier deck). - + Delete selected hotcue. Elimina la hotcue seleccionada. - + Track Comment Comentario de la pista - + Displays the comment tag of the loaded track. Muestra la etiqueta de comentario de la pista cargada. - + Opens separate artwork viewer. Abre el visualizador separado de carátulas. - + Effect Chain Preset Settings Configuraciones de Preconfiguración de Cadena de Efectos - + Show the effect chain settings menu for this unit. Muestra el menú de las configuraciones de las cadenas de efectos para esta unidad. - + Select and configure a hardware device for this input Selecciona y configura un dispositivo de hardware para esta entrada - + Recording Duration Duración de la grabación @@ -13680,949 +14111,984 @@ pueden introducir un efecto de "bombeo" y/o distorsión. Mantiene la velocidad de reproducción baja (pequeña cantidad) cuando se activa. - + When tapped repeatedly, adjusts the tempo to match the tapped BPM. Cuando se pulsa repetidamente, ajusta el tempo para coincidir con la frecuencia de pulsaciones. + + + Click to open the tempo/BPM editor + + + + + It also shows a colored bar if Key colors are enabled in the Preferences. + + + The bar will be split vertically if the track's key is in between full keys. + + + + Tempo Tap Seguidor de Tempo (Tempo Tap) - + Rate Tap and BPM Tap Frecuencia de pulsaciones y de BPM - + + Set Tempo + + + + + Set the desired tempo in BPM. If the track currently has no BPM detected, set the desired tempo in percent. + + + + Adjust beatgrid by exactly one half beat. Usable only on tracks with constant tempo. Ajusta la cuadrícula de tiempo en exactamente medio beat. Solo se puede usar en pistas con tempo constante - + Revert last BPM/Beatgrid Change Revierte el último cambio de BPM/cuadrícula de tiempo - + Revert last BPM/Beatgrid Change of the loaded track. Revierte el último cambio de BPM/Cuadrícula de tiempo para la pista cargada. - - + + Toggle the BPM/beatgrid lock Cambia el bloqueo de BPM/cuadrícula de tiempo - + Tempo and Rate Tap Toques de Tempo y Frecuencia - + Tempo, Rate Tap and BPM Tap Toques de Tempo, Frecuencia y BPM - + Shift cues earlier Cambia marcas antes - - + + Shift cues imported from Serato or Rekordbox if they are slightly off time. Cambia marcas importadas desde Serato o Rekordbox si están ligeramente desfazadas. - + Left click: shift 10 milliseconds earlier Clic izquierdo: adelantar 10 milisegundos - + Right click: shift 1 millisecond earlier Clic derecho: adelantar 1 milisegundo - + Shift cues later Retrasar cues - + Left click: shift 10 milliseconds later Clic izquierdo: retrasar 10 milisegundos - + Right click: shift 1 millisecond later Clic derecho: retrasar 1 milisegundo - - - + + + Drag a Hotcue button here to continue playing after releasing the Hotcue. Arrastra un botón de Hotcue aquí para continuar reproduciendo después de soltar la hotcue. - + Hint: Change the default cue mode in Preferences -> Decks. Sugerencia: cambie el modo por defecto de las cues en Preferencias -> Platos. - + Mutes the selected channel's audio in the main output. Silencia el audio del canal seleccionado en la salida principal. - + Main mix enable Activador de mezcla principal - + Hold or short click for latching to mix this input into the main output. Clic sostenido o corto para enganchar, para mezclar esta entrada con la salida principal. - + + Reloads the last replaced track. If no track is loaded reloads the second-last ejected track. + + + + If hotcue is a loop cue, toggles the loop and jumps to if the loop is behind the play position. Si la hotcue es una cue de bucle, activa el bucle y salta hacia él si se encuentra detrás de la posición de reproducción. - + If the play position is inside an active loop, stores the loop as loop cue. Si la posición de reproducción se encuentra dentro de un bucle activo, almacena el bucle como una hotcue de bucle. - + Drag this button onto another Hotcue button to move it there (change its index). If the other hotcue is set, the two are swapped. Arrastrar este botón dentro de otro botón de hotcue para moverlo hacia este (cambiando su número). Si la otra hotcue ya se encuentra definida, las dos son intercambiadas. - + Expand/Collapse Samplers Expandir/contraer samplers - + Toggle expanded samplers view. Alternar la vista expandida de los samplers. - + Displays the duration of the running recording. Muestra la duración de la grabación en curso. - + Auto DJ is active Auto DJ se encuentra activo - + Red for when needle skip has been detected. Rojo cuando se detecta un salto de aguja. - + Hot Cue - Track will seek to nearest previous hotcue point. Acceso Directo - La pista buscará el punto anterior más cercano acceso directo. - + Sets the track Loop-In Marker to the current play position. Establece la marca de inicio de bucle a la posición actual - + Press and hold to move Loop-In Marker. Mantener presionado para mover la marca de inicio de bucle. - + Jump to Loop-In Marker. Ir a la marca de inicio de bucle. - + Sets the track Loop-Out Marker to the current play position. Establece la marca de fin de bucle a la posición actual. - + Press and hold to move Loop-Out Marker. Mantener presionado para mover la marca de fin de bucle. - + Jump to Loop-Out Marker. Ir a la marca de fin de bucle. - + If the track has no beats the unit is seconds. Si la pista no tiene pulsaciones, la unidad es segundos. - + Beatloop Size Pulsaciones del bucle - + Select the size of the loop in beats to set with the Beatloop button. Define el tamaño del bucle en pulsaciones a usar cuando se pulse el botón de bucle de pulsaciones. - + Changing this resizes the loop if the loop already matches this size. Al cambiar este valor, cambiará el tamaño del bucle existente, si tenía el tamaño anterior. - + Halve the size of an existing beatloop, or halve the size of the next beatloop set with the Beatloop button. Reduce a la mitad el tamaño del bucle existente, o del próximo bucle definido con el botón de bucle de pulsaciones. - + Double the size of an existing beatloop, or double the size of the next beatloop set with the Beatloop button. Dobla el tamaño del bucle existente, o del próximo bucle definido con el botón de bucle de pulsaciones. - + Start a loop over the set number of beats. Activa un bucle con la cantidad definida de pulsaciones. - + Temporarily enable a rolling loop over the set number of beats. Activa temporalmente un bucle de continuación con la cantidad de pulsaciones definidas. - + Beatloop Anchor Ancla del bucle de pulsaciones - + Define whether the loop is created and adjusted from its staring point or ending point. Define si el bucle es creado y ajustado desde su punto de inicio o de final. - + Beatjump/Loop Move Size Tamaño del salto de pulsaciones/Desplazamiento del bucle - + Select the number of beats to jump or move the loop with the Beatjump Forward/Backward buttons. Selecciona la cantidad de pulsaciones a saltar o a mover el bucle con los botones de avance/retroceso. - + Beatjump Forward Avanzar en pulsaciones - + Jump forward by the set number of beats. Avanza la pista la cantidad definida de pulsaciones. - + Move the loop forward by the set number of beats. Avanza el bucle en la cantidad definida de pulsaciones. - + Jump forward by 1 beat. Avanza 1 pulsación. - + Move the loop forward by 1 beat. Avanza el bucle 1 pulsación. - + Beatjump Backward Retrocede en pulsaciones - + Jump backward by the set number of beats. Retrocede la cantidad de pulsaciones definida. - + Move the loop backward by the set number of beats. Retrocede el bucle la cantidad de pulsaciones definida. - + Jump backward by 1 beat. Retrocede 1 pulsación. - + Move the loop backward by 1 beat. Retrocede el bucle 1 pulsación. - + Reloop Repite el bucle - + If the loop is ahead of the current position, looping will start when the loop is reached. Si el bucle está por delante de la posición actual, este no se activará hasta que se llege a él. - + Works only if Loop-In and Loop-Out Marker are set. Solo funciona si las marcas de inicio y fin de bucle estan definidas. - + Enable loop, jump to Loop-In Marker, and stop playback. Activa el bucle, va a la posición de inicio de bucle y se detiene. - + Displays the elapsed and/or remaining time of the track loaded. Muestra el tiempo transcurrido y/o restante de la pista cargada. - + Click to toggle between time elapsed/remaining time/both. Pulsar para cambiar entre tiempo transcurrido/restante/ambos - + Hint: Change the time format in Preferences -> Decks. Sugerencia: cambie el formato de tiempo en Preferencias -> Platos. - + Show/hide intro & outro markers and associated buttons. Mostrar/ocultar marcadores de intro y outro, y sus botones asociados. - + + Ensure all waveforms to have the same height across all channels. By default, when displaying the stem controls, waveform for channel that have no stem may render with a shorter height in order to honor the waveform container size you have requested.. + + + + Intro Start Marker Marcador Inicial de Entrada - - - - + + + + If marker is set, jumps to the marker. Si el marcador se encuentra definido, salta al marcador. - - - - + + + + If marker is not set, sets the marker to the current play position. Si el marcador no se encuentra definido, lo configura a la posición de reproducción actual. - - - - + + + + If marker is set, clears the marker. Si el marcador se encuentra definido, lo elimina. - + Intro End Marker Marcador Final de Entrada - + Outro Start Marker Marcador Inicial de Salida - + Outro End Marker Marcador Final de Salida - + Mix Mix - + Adjust the mixing of the dry (input) signal with the wet (output) signal of the effect unit Ajuste la mezcla de la señal seca (entrada) con la señal húmeda (salida) de la unidad de efectos - + D/W mode: Crossfade between dry and wet Modo D/W: fundido cruzado entre seco y húmedo - + D+W mode: Add wet to dry Modo D+W: agregue húmedo a seco - + Mix Mode Modo mezcla - + Adjust how the dry (input) signal is mixed with the wet (output) signal of the effect unit Ajuste cómo se mezcla la señal seca (entrada) con la señal húmeda (salida) de la unidad de efectos - + Dry/Wet mode (crossed lines): Mix knob crossfades between dry and wet Use this to change the sound of the track with EQ and filter effects. Modo seco / húmedo (líneas cruzadas): Mezcle los fundidos cruzados de la perilla entre seco y húmedo. Use esto para cambiar el sonido de la pista con EQ y efectos de filtro. - + Dry+Wet mode (flat dry line): Mix knob adds wet to dry Use this to change only the effected (wet) signal with EQ and filter effects. Modo Seco+Húmedo (línea seca plana): La perilla de mezcla agrega mojado a seco Utiliza esto para cambiar únicamente la señal afectada (mojada) con EQ y efectos de filtrado. - + Route the main mix through this effect unit. Enruta la mezcla principal a través de esta unidad de efectos. - + Route the left crossfader bus through this effect unit. Enruta el bus izquierdo del crossfader a través de la unidad de efectos. - + Route the right crossfader bus through this effect unit. Enruta el bus derecho del crossfader a través de la unidad de efectos - + Right side active: parameter moves with right half of Meta Knob turn Derecha activo: el parámetro se mueve al mover la mitad derecha del control Meta. - + Stem Label Etiqueta de stem - + Name of the stem stored in the stem file Nombre del stem almacenado en el archivo de stem - + Text is displayed in the stem color stored in the stem file El texto es presentado con el color del stem almacenado en el archivo de stem - + this stem color is also used for the waveform of this stem este color de stem también es usado en la forma de onda de este stem - + Stem Mute Silenciar stem - + Toggle the stem mute/unmuted Alterna el silencio del stem - + Stem Volume Knob Perilla de volumen del stem - + Adjusts the volume of the stem Ajusta el volumen del stem - + Skin Settings Menu Menú de las opciones de la Apariencia - + Show/hide skin settings menu Muestra/esconde el menú de opciones de la Apariencia - + Save Sampler Bank Guardar banco de muestras - + Save the collection of samples loaded in the samplers. Guarda la colección de samples cargada en los samplers. - + Load Sampler Bank Cargar banco de muestras - + Load a previously saved collection of samples into the samplers. Carga una colección de samples previamente guardada en los samplers. - + Show Effect Parameters Mostrar parámetros de efectos - + Enable Effect Activar efecto - + Meta Knob Link Enlace de la rueda Meta - + Set how this parameter is linked to the effect's Meta Knob. Configura cómo le afecta a este parámetro la rueda Meta. - + Meta Knob Link Inversion Inversión del enlaze de la rueda Meta - + Inverts the direction this parameter moves when turning the effect's Meta Knob. Invierte la dirección en la que se mueve el parámetro al mover la rueda Meta. - + Super Knob Rueda Súper - + Next Chain Siguiente cadena - + Previous Chain Cadena anterior - + Next/Previous Chain Cadena siguiente/anterior - + Clear Borrar - + Clear the current effect. Borra el efecto actual. - + Toggle Conmutar - + Toggle the current effect. Conmuta el efecto actual. - + Next Siguente - + Clear Unit Limpiar unidad - + Clear effect unit. Unidad claro efecto. - + Show/hide parameters for effects in this unit. Muestra/esconde los parámetros de los efectos de esta unidad. - + Toggle Unit Conmutar la unidad - + Enable or disable this whole effect unit. Activa o desactiva la unidad de efectos. - + Controls the Meta Knob of all effects in this unit together. Controla a la vez las ruedas Meta de todos los efectos asociados a esta unidad. - + Load next effect chain preset into this effect unit. Carga el siguiente preajuste de efectos en esta unidad de efectos. - + Load previous effect chain preset into this effect unit. Carga el anterior preajuste de efectos en esta unidad de efectos. - + Load next or previous effect chain preset into this effect unit. Carga el siguiente o anterior preajuste de efectos en esta unidad de efectos. - - - - - - - - - + + + + + + + + + Assign Effect Unit Asignar la unidad de efectos - + Assign this effect unit to the channel output. Asigna esta unidad de efectos a la salida del canal. - + Route the headphone channel through this effect unit. Redirige la salida de auriculares a través de la unidad de efectos. - + Route this deck through the indicated effect unit. Redirige este plato a través de la unidad de efectos indicada. - + Route this sampler through the indicated effect unit. Redirige este reproductor a través de la unidad de efectos indicada. - + Route this microphone through the indicated effect unit. Redirige este micrófono a través de la unidad de efectos indicada. - + Route this auxiliary input through the indicated effect unit. Redirige la entrada auxiliar a través de la unidad de efectos indicada. - + The effect unit must also be assigned to a deck or other sound source to hear the effect. La unidad de efectos debe estar asignada a un plato o otra fuente de sonido para oír el efecto. - + Switch to the next effect. Pasa al siguiente efecto. - + Previous Anterior - + Switch to the previous effect. Pasa al efecto anterior. - + Next or Previous Siguiente o Anterior - + Switch to either the next or previous effect. Pasa al siguiente o anterior efecto. - + Meta Knob Rueda Meta - + Controls linked parameters of this effect Controla los parámetros enlazados del efecto - + Effect Focus Button Botón de foco de efecto - + Focuses this effect. Pone el foco en el efecto. - + Unfocuses this effect. Quita el foco del efecto. - + Refer to the web page on the Mixxx wiki for your controller for more information. Consulta la página web de tu controlador en la wiki del Mixxx para más información - + Effect Parameter parámetro de efecto - + Adjusts a parameter of the effect. Ajusta un parámetro del efecto. - + Inactive: parameter not linked Inactivo: parámetro no enlazado - + Active: parameter moves with Meta Knob Activo: el parámetro se mueve con la rueda Meta - + Left side active: parameter moves with left half of Meta Knob turn Izquierda activo: el parámetro se mueve con la primera mitad de la rueda Meta - + Left and right side active: parameter moves across range with half of Meta Knob turn and back with the other half Izquierda y derecha activo: el parámetro recorre todo el rango con la primera mitad de la rueda Meta, y vueve atrás con la segunda mitad - - + + Equalizer Parameter Kill Parámetro de supresión del ecualizador - - + + Holds the gain of the EQ to zero while active. Mantiene la ganáncia de EQ a cero mientras está activo. - + Quick Effect Super Knob Rueda Súper de efecto rápido - + Quick Effect Super Knob (control linked effect parameters). Rueda Súper de efecto rápido (controla los parámetros de efecto asociados). - + Hint: Change the default Quick Effect mode in Preferences -> Equalizers. Nota: Puedes cambiar el efecto rápido por defecto en Preferéncias > Ecualizadores. - + Equalizer Parameter ecualizador paramétrico - + Adjusts the gain of the EQ filter. Ajusta la ganáncia del filtro de EQ. - + Hint: Change the default EQ mode in Preferences -> Equalizers. Nota: Se puede cambiar el modo de EQ por defecto en Preferencias > Ecualizadores. - - + + Adjust Beatgrid Ajustar cuadrícula de tempo - + Adjust beatgrid so the closest beat is aligned with the current play position. Ajusta la cuadrícula de tempo para que el golpe más cercano se alinee con la posición actual de reproducción. - - + + Adjust beatgrid to match another playing deck. Ajusta la cuadrícula de tempo para que coincida con otro plato en reproducción. - + If quantize is enabled, snaps to the nearest beat. Si la cuantización está activada, se acerca al compás más cercano. - + Quantize Cuantizar - + Toggles quantization. Conmutar la cuantización. - + Loops and cues snap to the nearest beat when quantization is enabled. Cuando está activada, los bucles y cue se alinean con el compás más cercano. - + Reverse Reversa - + Reverses track playback during regular playback. Reproduce en reversa, durante reproducción normal. - + Puts a track into reverse while being held (Censor). Pone la pista en reversa mientras se mantiene presionado. - + Playback continues where the track would have been if it had not been temporarily reversed. La reproducción se continuará en el punto al que habría llegado la pista si no hubiese puesto en reversa. - - - + + + Play/Pause Reproducir/Pausar - + Jumps to the beginning of the track. Salta al principio de la pista. - + Syncs the tempo (BPM) and phase to that of the other track, if BPM is detected on both. Sincroniza el tempo (BPM) y la fase de la pista con la de la otra pista, si se ha detectado el BPM en ambas. - + Syncs the tempo (BPM) to that of the other track, if BPM is detected on both. Sincroniza el tempo (BPM) de la pista con la de la otra pista, si se ha detectado el BPM en ambas. - + Sync and Reset Key Sincroniza y resetea la tonalidad - + Increases the pitch by one semitone. Incrementa el tono en una seminota. - + Decreases the pitch by one semitone. Decrementa el tono en una seminota. - + Enable Vinyl Control Activar vinilo de control - + When disabled, the track is controlled by Mixxx playback controls. Si está desactivado, los controles de reproducción del Mixxx controlan la pista. - + When enabled, the track responds to external vinyl control. Si está activado, el control de vinilo externo controla la pista. - + Enable Passthrough Activa el paso de audio - + Indicates that the audio buffer is too small to do all audio processing. Indica que el búfer de audio es demasiado pequeño para llevar a cabo todo el procesamiento de audio. - + Displays cover artwork of the loaded track. Muestra la carátula de la pista cargada. - + Displays options for editing cover artwork. Muestra las opciones de edición de carátula. - + Star Rating Puntuación - + Assign ratings to individual tracks by clicking the stars. Asigna la puntuación de cada pista pulsando en las estrellas. @@ -14757,33 +15223,33 @@ Utiliza esto para cambiar únicamente la señal afectada (mojada) con EQ y efect Intensidad de atenuación al usar el Micrófono - + Prevents the pitch from changing when the rate changes. Evita que el tono cambie al cambiar la velocidad. - + Changes the number of hotcue buttons displayed in the deck Cambia el número de botones de acceso directo mostrados en el deck - + Starts playing from the beginning of the track. Comienza la reproducción desde el principio de la pista. - + Jumps to the beginning of the track and stops. Salta al principio de la pista y se detiene. - - + + Plays or pauses the track. Reproduce o pausa la pista. - + (while playing) (estando en reproducción) @@ -14803,215 +15269,215 @@ Utiliza esto para cambiar únicamente la señal afectada (mojada) con EQ y efect Medidor de volumen del canal principal R - + (while stopped) (mientras está parado) - + Cue Cue - + Headphone Auriculares - + Mute Silenciar - + Old Synchronize Sincronización antígua - + Syncs to the first deck (in numerical order) that is playing a track and has a BPM. Se sincroniza con la primera pista (en orden numérico) que está sonando y tiene BPM. - + If no deck is playing, syncs to the first deck that has a BPM. Si no hay pistas en reprodución, se sincroniza con la primera pista que tenga BPM. - + Decks can't sync to samplers and samplers can only sync to decks. Los platos no se pueden sincronizar con los reproductors de muestras, y los reproductors de mezclas sólo se pueden sincronizar con los platos. - + Hold for at least a second to enable sync lock for this deck. Mantener pulsado durante un segundo para activar la sincronización fija para este plato. - + Decks with sync locked will all play at the same tempo, and decks that also have quantize enabled will always have their beats lined up. Los platos con la sincronización bloqueada reproducirán todos al mismo tempo, y si además tienen la quantización activada, también se alinearán los compases. - + Resets the key to the original track key. Resetea la clave musical a la original de la pista. - + Speed Control Control de velocidad - - - + + + Changes the track pitch independent of the tempo. Cambia el tono de la pista independientemente del tempo. - + Increases the pitch by 10 cents. Aumenta el tono 10 centésimas. - + Decreases the pitch by 10 cents. Reduce el tono 10 centésimas. - + Pitch Adjust Ajuste de velocidad - + Adjust the pitch in addition to the speed slider pitch. Ajusta la velocidad añadiendo al cambio del deslizador de velocidad. - + Opens a menu to clear hotcues or edit their labels and colors. Abre un menú para limpiar los hotcues o editar sus etiquetas y colores. - + Drag this button onto a Play button while previewing to continue playback after release. Arrastre este botón a un boton de Play durante la preescucha para continuar la reproducción tras soltarlo. - + Dragging with Shift key pressed will not start previewing the hotcue. Arrastrar mientras presiona la tecla Shift no iniciará la preescucha de la hotcue. - + Record Mix Grabar mezcla - + Toggle mix recording. Conmutar la grabación de la mezcla. - + Enable Live Broadcasting Activar la emisión en vivo - + Stream your mix over the Internet. Emite tus mezclas por internet. - + Provides visual feedback for Live Broadcasting status: Da una indicación acerca del estado de la emisión en vivo: - + disabled, connecting, connected, failure. desactivado, conectando, conectado, fallo. - + When enabled, the deck directly plays the audio arriving on the vinyl input. Cuando está activado, el plato reproduce directamente el audio que recibe por la entrada de vinilo. - + Playback will resume where the track would have been if it had not entered the loop. La reproducción se reanudará en el punto al que habría llegado la pista si no hubiese entrado en el bucle. - + Loop Exit Salida del bucle - + Turns the current loop off. Desactiva el bucle actual. - + Slip Mode Modo Slip - + When active, the playback continues muted in the background during a loop, reverse, scratch etc. Cuando está activado, la reproducción continúa en silencio mientras dura el bucle, la reproducción hacia atrás, scratch, etc. - + Once disabled, the audible playback will resume where the track would have been. Una vez desactivado, la reproducción (audible) seguirá donde la pista habría estado. - + Track Key The musical key of a track Tonalidad de la pista - + Displays the musical key of the loaded track. Muestra la clave musical de la pista cargada. - + Clock Reloj - + Displays the current time. Muestra la hora actual. - + Audio Latency Usage Meter Medidor de Latencia de Audio - + Displays the fraction of latency used for audio processing. Muestra la parte de latencia usada para el proceso de audio. - + A high value indicates that audible glitches are likely. Un valor alto indica que se pueden percibir ruidos. - + Do not enable keylock, effects or additional decks in this situation. No activar el bloqueo de tonalidad, los efectos o los platos adicionales en este caso. - + Audio Latency Overload Indicator Indicador de Sobrecarga de Latencia de Audio @@ -15051,259 +15517,259 @@ Utiliza esto para cambiar únicamente la señal afectada (mojada) con EQ y efect Activa el control de vinilo desde el Menú -> Opciones. - + Displays the current musical key of the loaded track after pitch shifting. Muestra la clave musical actual para la pista cargada teniendo en cuenta el cambio de tonalidad. - + Fast Rewind Retroceso rápido - + Fast rewind through the track. Rebobinado rápido a través de la pista. - + Fast Forward Avance Rápido - + Fast forward through the track. Avance Rápido a través de la pista. - + Jumps to the end of the track. Salta al final de la pista. - + Sets the pitch to a key that allows a harmonic transition from the other track. Requires a detected key on both involved decks. Cambia la tonalidad a una clave musical que permite la transición harmónica de un plato a otro. Es necesario que se haya detectado la clave en ambos platos. - - - + + + Pitch Control Control del pitch - + Pitch Rate Ritmo de cambio de tonalidad - + Displays the current playback rate of the track. Muestra el ritmo de reproducción actual de la pista. - + Repeat Repetir - + When active the track will repeat if you go past the end or reverse before the start. Estando activo la pista se repetirá si se pasa del final o si retrocede antes del comienzo. - + Eject Expulsar - + Ejects track from the player. Expulsa la pista del reproductor. - + Hotcue Hotcue - + If hotcue is set, jumps to the hotcue. Si el hotcue está establecido, salta al hotcue. - + If hotcue is not set, sets the hotcue to the current play position. Si el hotcue no está establecido, establece el hotcue en la actual posición de reproducción. - + Vinyl Control Mode Modo de control de vinilo - + Absolute mode - track position equals needle position and speed. Modo Absoluto - la posicion dentro del tema corresponde a la posicion y velocidad de la aguja. - + Relative mode - track speed equals needle speed regardless of needle position. Modo Relativo - la velocidad del tema corresponde a la velocidad de la aguja independientemente de la posicion. - + Constant mode - track speed equals last known-steady speed regardless of needle input. Modo Constante - la velocidad del tema corresponde a la ultima velocidad conocida independientemente de lo que se recibe de la aguja. - + Vinyl Status Estado del vinilo - + Provides visual feedback for vinyl control status: Provee retroalimentación visual sobre el estado del control de vinilo: - + Green for control enabled. Verde para control activo. - + Blinking yellow for when the needle reaches the end of the record. Amarillo parpadeante cuando la aguja alcanza el final de la grabación. - + Loop-In Marker Marcador de inicio de bucle - + Loop-Out Marker Marcador de fin de bucle - + Loop Halve Reducir bucle a la mitad - + Halves the current loop's length by moving the end marker. Reduce a la mitad la longitud del bucle actual, moviendo la marca de fin. - + Deck immediately loops if past the new endpoint. El plato vuelve al inicio del bucle inmediatamente si se ha superado el nuevo punto final. - + Loop Double Aumentar bucle al doble - + Doubles the current loop's length by moving the end marker. Aumenta al doble la longitud del bucle actual, moviendo la marca de fin. - + Beatloop Bucle de pulsaciones - + Toggles the current loop on or off. Activa o desactiva el bucle actual. - + Works only if Loop-In and Loop-Out marker are set. Funciona sólo si se han definido las marcas de inicio y fin de bucle. - + Vinyl Cueing Mode Modo de Cue de Vinilo - + Determines how cue points are treated in vinyl control Relative mode: Determina cómo los puntos Cue son tratados en el modo de control Relativo de Vinilos: - + Off - Cue points ignored. Off - Los puntos CUE se ignoran. - + One Cue - If needle is dropped after the cue point, track will seek to that cue point. Un Cue - si se pone la aguja mas allá del punto cue, se irá al punto Cue de la pista. - + Track Time Tiempo de pista - + Track Duration Duración de la Pista - + Displays the duration of the loaded track. Muestra la duración de la pista cargada. - + Information is loaded from the track's metadata tags. Información cargada desde el tag de metadatos de las pistas. - + Track Artist Artista de la pista - + Displays the artist of the loaded track. Muestra el artista de la pista cargada. - + Track Title Título de la pista - + Displays the title of the loaded track. Muestra el título de la pista cargada. - + Track Album Álbum de la pista - + Displays the album name of the loaded track. Muestra el nombre del álbum de la pista cargada. - + Track Artist/Title Artista/Título de la pista - + Displays the artist and title of the loaded track. Muestra el artista y el título de la pista cargada. @@ -15534,47 +16000,75 @@ Carpeta: %2 WCueMenuPopup - + Cue number Número de cue - + Cue position Posición Marca - + Edit cue label Editar etiqueta de marca - + Label... Etiqueta... - + Delete this cue Borrar esta marca - - Toggle this cue type between normal cue and saved loop - Alterna el tipo de esta cue entre cue normal y bucle guardado + + Turn this cue into a regular hotcue + + + + + Turn this cue into a saved loop + + + + + Left-click: Use the old size if known or the current beatloop size as the loop size + + + + + Right-click: Use the current play position as new loop end if it is after the cue + + + + + Turn this cue into a saved forward jump. + + is a linebreak. Try to not to extend the translation beyond the length of the longest source line so the tooltip remains compact. + + + + + Turn this cue into a saved backward jump (one shot loop). + - - Left-click: Use the old size or the current beatloop size as the loop size - Clic izquierdo: usar el tamaño anterior o el del bucle actual como el tamaño de bucle + + Left-click: Use the old size if known or the current play position as jump start position +If this is already a jump cue, swap the jump position and the cue/target position. + - - Right-click: Use the current play position as loop end if it is after the cue - Clic derecho: usar la posición de reproducción actual como final del bucle si se encuentra después de la cue + + Right-click: use current play position as new jump start position + - + Hotcue #%1 Hotcue #%1 @@ -15876,171 +16370,181 @@ Carpeta: %2 + Show Auto DJ + + + + + Switch to the Auto DJ view. + + + + &Full Screen &Pantalla completa - + Display Mixxx using the full screen Mostrar Mixxx a pantalla completa - + &Options &Opciones - + &Vinyl Control Control de &vinilo - + Use timecoded vinyls on external turntables to control Mixxx Usar vinilos con codigo de tiempo en bandejas externas para controlar Mixxx - + Enable Vinyl Control &%1 Habilita el Control por Vinilo &%1 - + &Record Mix &Grabar Mezcla - + Record your mix to a file Grava a súa mestura a un ficheiro - + Ctrl+R Ctrl+R - + Enable Live &Broadcasting Activar transmisión en &vivo - + Stream your mixes to a shoutcast or icecast server Transmite tus mezclas a un servidor shoutcast o icecast - + Ctrl+L Ctrl+L - + Enable &Keyboard Shortcuts Activar Atajos de &Teclado - + Toggles keyboard shortcuts on or off Activa o desactiva los atajos de teclado - + Ctrl+` Ctrl+` - + &Preferences &Preferencias - + Change Mixxx settings (e.g. playback, MIDI, controls) Cambiar la configuración de Mixxx (p.ej.: reproducción, MIDI, controles) - + &Developer &Desarrollador - + &Reload Skin &Recargar apariencia - + Reload the skin Recargar la apariencia - + Ctrl+Shift+R Ctrl+Mayús+R - + Developer &Tools U&tilidades de desarrollador - + Opens the developer tools dialog Abre el cuadro de diálogo de herramientas de desarrollo - + Ctrl+Shift+T Ctrl+Mayús+T - + Stats: &Experiment Bucket Estadísticas: Contadores &Experiment - + Enables experiment mode. Collects stats in the EXPERIMENT tracking bucket. Activa el modo experimental. Recoje estadísticas en los contadores EXPERIMENT. - + Ctrl+Shift+E Ctrl+Mayús+E - + Stats: &Base Bucket Estadísticas: contadores &Base - + Enables base mode. Collects stats in the BASE tracking bucket. Activa el modo base. Recoje estadísticas en los contadores BASE. - + Ctrl+Shift+B Ctrl+Mayús+B - + Deb&ugger Enabled Dep&uración activada - + Enables the debugger during skin parsing Activa el depurador durante el análisis de la máscara - + Ctrl+Shift+D Ctrl+Mayús+D - + &Help Ay&uda @@ -16074,62 +16578,62 @@ Carpeta: %2 F12 - + &Community Support Soporte &comunitario - + Get help with Mixxx Obtener ayuda con Mixxx - + &User Manual Manual de &usuario - + Read the Mixxx user manual. Lea el manual de usuario de Mixxx. - + &Keyboard Shortcuts Atajos de &Teclado - + Speed up your workflow with keyboard shortcuts. Trabaja más rápidamente usando los atajos de teclado. - + &Settings directory &Directorio de configuración - + Open the Mixxx user settings directory. Abre el directorio de configuración de usuario de Mixxx. - + &Translate This Application &Traducir esta aplicación - + Help translate this application into your language. Ayude a traducir esta aplicación a su idioma. - + &About &Acerca de - + About the application Acerca de la aplicación @@ -16137,25 +16641,25 @@ Carpeta: %2 WOverview - + Passthrough Paso - + Ready to play, analyzing... Text on waveform overview when file is playable but no waveform is visible Listo para reproducir, analizando... - - + + Loading track... Text on waveform overview when file is cached from source Cargando pista... - + Finalizing... Text on waveform overview during finalizing of waveform analysis Finalizando... @@ -16345,625 +16849,640 @@ Carpeta: %2 WTrackMenu - + Load to Cargar en - + Deck Plato - + Sampler Reproductor de muestras - + Add to Playlist Añadir a la lista de reproducción - + Crates Cajones - + Metadata Metadatos - + Update external collections Actualizar colecciones externas - + Cover Art Carátula - + Adjust BPM Ajustar BPM - + Select Color Seleccionar color - - + + Analyze Analizar - - + + Delete Track Files Borrar Archivos de Pistas - + Add to Auto DJ Queue (bottom) Añadir a la cola de Auto DJ (al final) - + Add to Auto DJ Queue (top) Añadir a la cola de Auto DJ (al principio) - + Add to Auto DJ Queue (replace) Añadir a la cola de Auto DJ (reemplaza) - + Preview Deck Reproductor de preescucha - + Remove Quitar - + Remove from Playlist Eliminar de la lista de reproducción - + Remove from Crate Eliminar de la caja - + Hide from Library Ocultar de la biblioteca - + Unhide from Library Volver a mostrar en la biblioteca - + Purge from Library Eliminar de la biblioteca - + Move Track File(s) to Trash Mover archivo(s) de seguimiento a la papelera - + Delete Files from Disk Borrar Archivos del Disco - + Properties Propiedades - + Open in File Browser Abrir en el explorador de archivos - + Select in Library Selecciona en Biblioteca - + Import From File Tags Importar de los metadatos del fichero - + Import From MusicBrainz Importar de MusicBrainz - + Export To File Tags Exportar a metadatos del fichero - + BPM and Beatgrid BPM y cuadrícula de tempo - + Play Count Reproducciones - + Rating Puntuación - + Cue Point Punto CUE - - + + Hotcues Hotcues - + Intro - + Intro - + Outro - + Outro - + Key Clave - + ReplayGain Ganancia de reproducción - + Waveform Forma de onda - + Comment Comentario - + All Todos - + Sort hotcues by position (remove offsets) Ordenar hotcues por posición (removiendo desfases) - + Sort hotcues by position Ordenar hotcues por posición - + Lock BPM Bloquear BPM - + Unlock BPM Desbloquear BPM - + Double BPM Duplicar BPM - + Halve BPM Reducir a la mitad los BPM - + 2/3 BPM 2/3 BPM - + 3/4 BPM 3/4 BPM - + 4/3 BPM 4/3 BPM - + 3/2 BPM 3/2 BPM - + Shift Beatgrid Half Beat Desplazar la cuadrícula de tiempo medio beat - + Reanalyze Reanalizar - + Reanalyze (constant BPM) Reanalizar (BPM constante) - + Reanalyze (variable BPM) Reanalizar (BPM variable) - + Update ReplayGain from Deck Gain Actualizar ReplayGain desde la Ganancia de Plato - + Deck %1 Plato %1 - + Importing metadata of %n track(s) from file tags Importación de metadatos de %n pista a partir de las etiquetas del archivoImportación de metadatos de %n pistas a partir de las etiquetas de los archivosImportación de metadatos de %n pista(s) a partir de las etiquetas del archivo - + Marking metadata of %n track(s) to be exported into file tags Haciendo metadatos de %n pista(s) a ser exportadas en las etiquetas de archivosHaciendo metadatos de %n pista(s) a ser exportadas en las etiquetas de archivosHaciendo metadatos de %n pista(s) a ser exportadas en las etiquetas de archivos - - + + Create New Playlist Crear nueva lista de reproducción - + Enter name for new playlist: Escriba un nombre para la nueva lista de reproducción: - + New Playlist Nueva lista de reproducción - - - + + + Playlist Creation Failed Ha fallado la creación de la lista de reproducción - + A playlist by that name already exists. Ya existe una lista de reproducción con ese nombre. - + A playlist cannot have a blank name. El nombre de la lista de reproducción no puede quedar en blanco. - + An unknown error occurred while creating playlist: Se ha producido un error desconocido al crear la lista de reproducción: - + Add to New Crate Añadir a nueva caja - + Scaling BPM of %n track(s) Escalando BPM de %n pista(s)Escalando BPM de %n pista(s)Escalando BPM de %n pista(s) - + Undo BPM/beats change of %n track(s) Deshacer cambios de BPM/pulsaciones de %n pista(s)Deshacer cambios de BPM/pulsaciones de %n pista(s)Deshacer cambios de BPM/pulsaciones de %n pista(s) - + Locking BPM of %n track(s) Bloqueando BPM de %n% pista(s)Bloqueando BPM de %n% pista(s)Bloqueando BPM de %n% pista(s) - + Unlocking BPM of %n track(s) Desbloqueando BPM de %n pista(s)Desbloqueando BPM de %n pista(s)Desbloqueando BPM de %n pista(s) - + Setting rating of %n track(s) Definiendo evaluación de %n pistaDefiniendo evaluación de %n pistasDefiniendo evaluación de %n pista(s) - + Setting color of %n track(s) configuración de color de %n pista(s)configuración de color de %n pista(s)configuración de color de %n pista(s) - + Resetting play count of %n track(s) Restablecimiento del conteo de reproducción de %n pista(s)Restablecimiento del conteo de reproducción de %n pista(s)Restablecimiento del conteo de reproducción de %n pista(s) - + Resetting beats of %n track(s) Restableciendo beats de %n pista(s)Restableciendo beats de %n pista(s)Restableciendo beats de %n pista(s) - + Clearing rating of %n track(s) Limpiando clasificación de %n pista(s)Limpiando clasificación de %n pista(s)Limpiando clasificación de %n pista(s) - + Clearing comment of %n track(s) Borrando comentarios de %n pistaBorrando comentarios de %n pistasBorrando comentarios de %n pista(s) - + Removing main cue from %n track(s) Eliminando la marca principal de %n pista(s)Eliminando la marca principal de %n pista(s)Eliminando la marca principal de %n pista(s) - + Removing outro cue from %n track(s) Eliminando la marca de salida de %n pista(s)Eliminando la marca de salida de %n pista(s)Eliminando la marca de salida de %n pista(s) - + Removing intro cue from %n track(s) Removiendo la marca de entrada de %n pista(s)Removiendo la marca de entrada de %n pista(s)Removiendo la marca de entrada de %n pista(s) - + Removing loop cues from %n track(s) Removiendo marcas de bucles de %n pista(s)Removiendo marcas de bucles de %n pista(s)Removiendo marcas de bucles de %n pista(s) - + Removing hot cues from %n track(s) Removiendo los hot cues de %n pista(s)Removiendo los hot cues de %n pista(s)Removiendo los accesos directos de %n pista(s) - + Sorting hotcues of %n track(s) by position (remove offsets) Ordenando hotcues de %n pista por posición (removiendo desfases)Ordenando hotcues de %n pistas por posición (removiendo desfases)Ordenando hotcues de %n pistas(s) por posición (removiendo desfases) - + Sorting hotcues of %n track(s) by position Ordenando hotcues de %n pista por posiciónOrdenando hotcues de %n pistas por posiciónOrdenando hotcues de %n pista(s) por posición - + Resetting keys of %n track(s) Restableciendo claves de %n pista(s)Restableciendo claves de %n pista(s)Restableciendo claves de %n pista(s) - + Resetting replay gain of %n track(s) Restablecimiento de la ganancia de reproducción de %n pista(s)Restablecimiento de la ganancia de reproducción de %n pista(s)Restablecimiento de la ganancia de reproducción de %n pista(s) - + Resetting waveform of %n track(s) Restableciendo forma de onda de %n pista(s)Restableciendo forma de onda de %n pista(s)Restableciendo forma de onda de %n pista(s) - + Resetting all performance metadata of %n track(s) Restableciendo meta datos de desempeño de %n pista(s)Restableciendo meta datos de desempeño de %n pista(s)Restableciendo meta datos de desempeño de %n pista(s) - + Move these files to the trash bin? ¿Mover estos archivos a la papelera? - + Permanently delete these files from disk? ¿Eliminar permanentemente estos archivos del disco? - - + + This can not be undone! ¡Esto no puede ser revertido! - + Cancel Cancelar - + Delete Files Eliminar archivos - + Okay Okey - + Move Track File(s) to Trash? ¿Mover los archivos de seguimiento a la papelera? - + Track Files Deleted Pistas eliminadas - + Track Files Moved To Trash Archivos de seguimiento movidos a la papelera - + %1 track files were moved to trash and purged from the Mixxx database. %1 archivos de pista fueron movidos a la papelera y purgados de la base de datos de Mixxx. - + %1 track files were deleted from disk and purged from the Mixxx database. %1 archivos de pistas han sido eliminados y se ha purgado de la base de datos de Mixxx. - + Track File Deleted Archivo de Pista Eliminado - + Track file was deleted from disk and purged from the Mixxx database. El archivo de pista ha sido eliminado del disco y purgado de la base de datos de Mixxx - + The following %1 file(s) could not be deleted from disk No se han podido eliminar del disco los siguientes %1 archivo(s) - + This track file could not be deleted from disk Este archivo de pista no se ha podido borrar del disco - + Remaining Track File(s) Renombrando archivo(s) de pista - + Close Cerrar - + Clear Reset metadata in right click track context menu in library Climpiar - + Loops Bucles - + Clear BPM and Beatgrid Limpia las BPM y la cuadrícula de tiempo - + Undo last BPM/beats change Revertir el último cambio de BPM/pulsaciones - + Move this track file to the trash bin? ¿Mover este archivo de pista a la papelera? - + Permanently delete this track file from disk? ¿Eliminar permanentemente este archivo de pista del disco? - + All decks where these tracks are loaded will be stopped and the tracks will be ejected. Todos los platos donde estas pistas hayan sido cargadas se detendrán, y las pistas serán expulsadas. - + All decks where this track is loaded will be stopped and the track will be ejected. Todos los platos donde esta pista haya sido cargada se detendrán, y la pista será expulsada. - + Removing %n track file(s) from disk... Removiendo %n archivo(s) de pista del disco... - + Note: if you are in the Computer or Recording view you need to click the current view again to see changes. Nota: si estás en la vista Ordenador o Grabación tienes que volver a hacer clic en la vista actual para ver los cambios. - + Track File Moved To Trash Archivo de seguimiento movido a la papelera - + Track file was moved to trash and purged from the Mixxx database. El archivo de seguimiento se ha movido a la papelera y se ha eliminado de la base de datos de Mixxx. - + Don't show again during this session No mostrar nuevamente durante esta sesión - + The following %1 file(s) could not be moved to trash El/los siguiente(s) %1 archivo(s) no pudieron ser movidos a la papelera - + This track file could not be moved to trash Este archivo de pista no se ha podido mover a la papelera + + + Replace current Auto DJ queue? + + + + + Do you want to replace the entire Auto DJ queue with the selected tracks? + + + + + Don't ask again during this session + + - + Setting cover art of %n track(s) Setting cover art of %n track(s)Setting cover art of %n track(s)Poniendo portadas de %n pista(s) - + Reloading cover art of %n track(s) Reloading cover art of %n track(s)Reloading cover art of %n track(s)Recarga de portadas de %n pista(s) @@ -17017,37 +17536,37 @@ Carpeta: %2 WTrackTableView - + Confirm track hide Confirmar ocultar pista - + Are you sure you want to hide the selected tracks? ¿Estas seguro de que quieres ocultar las pistas seleccionadas? - + Are you sure you want to remove the selected tracks from AutoDJ queue? ¿Esta seguro de que quiere eliminar las pistas seleccionadas de la cola del AutoDJ? - + Are you sure you want to remove the selected tracks from this crate? Estás seguro que quieres eliminar las pistas seleccionada de este cajón? - + Are you sure you want to remove the selected tracks from this playlist? ¿Esta seguro de que desea eliminar las pistas seleccionadas de la lista de reproducción? - + Don't ask again during this session No volver a preguntar durante esta sesión - + Confirm track removal Confirmar eliminación del track @@ -17055,12 +17574,12 @@ Carpeta: %2 WTrackTableViewHeader - + Show or hide columns. Mostrar u ocultar columnas. - + Shuffle Tracks Mezclar pistas @@ -17068,52 +17587,52 @@ Carpeta: %2 mixxx::CoreServices - + fonts tipos de letra - + database base de datos - + effects efectos - + audio interface interface de sonido - + decks decks - + library Biblioteca - + Choose music library directory Elija el directorio de la biblioteca de la música - + controllers Controladores - + Cannot open database No se puede abrir la base de datos - + Unable to establish a database connection. Mixxx requires QT with SQLite support. Please read the Qt SQL driver documentation for information on how to build it. @@ -17271,6 +17790,24 @@ Pulse Aceptar para salir. La solicitud de la red no ha empezado + + mixxx::qml::QmlApplication + + + Existing user profile detected + + + + + Trying to run Mixxx 3.0 with an existing %0 user profile! <br><br>There is <b>serious risks</b> of data loss and corruption.<br>We recommend using a test profile folder with the '--settings-path' argument. <br><br>If you want to continue at your own risk, run Mixxx with the argument '--allow-dangerous-data-corruption-risk'. + + + + + Ok + + + mixxx::qml::QmlVisibleEffectsModel @@ -17279,4 +17816,27 @@ Pulse Aceptar para salir. Ningún efecto cargado. + + mixxx::qml::QmlWaveformRendererMark + + + Cannot find the marker pixmap + + + + + Cannot find the marker endPixmap + + + + + Cannot find the marker icon + + + + + Cannot find the marker endIcon + + + \ No newline at end of file diff --git a/res/translations/mixxx_es_MX.qm b/res/translations/mixxx_es_MX.qm index 968126c38cbae315066f449ded8f483121c9a2c5..c58baf73f854d7e394f89c835bf49aed25c69e1a 100644 GIT binary patch delta 25667 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 delta 27455 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 diff --git a/res/translations/mixxx_es_MX.ts b/res/translations/mixxx_es_MX.ts index f0e558627127..3a4feaefa5dd 100644 --- a/res/translations/mixxx_es_MX.ts +++ b/res/translations/mixxx_es_MX.ts @@ -8,6 +8,14 @@ + + AllTrackLibraryFeature + + + All... + + + AnalysisFeature @@ -19,52 +27,52 @@ AutoDJFeature - + Crates Cajas - + Enable Auto DJ Activar Auto DJ - + Disable Auto DJ Desactivar Auto DJ - + Clear Auto DJ Queue Limpiar la cola de Auto DJ - + Remove Crate as Track Source Remover Crate como Fuente de Archivos - + Auto DJ DJ Automatico - + Confirmation Clear Confirmación limpiada - + Do you really want to remove all tracks from the Auto DJ queue? Realmente quieres eliminar todas las pistas de la cola de Auto DJ? - + This can not be undone. ¡Esto no puede ser revertido! - + Add Crate as Track Source Añadir Crate como Fuente de Archivos @@ -223,7 +231,7 @@ - + Export Playlist Exportar lista de reproducción @@ -277,13 +285,13 @@ - + Playlist Creation Failed Fallo la creación de lista de Reproducción - + An unknown error occurred while creating playlist: Un error desconocido ocurrio mientras la creacion de la lista de reproducción @@ -298,12 +306,12 @@ ¿Desea realmente eliminar la lista de reproducción<b>%1</b>? - + M3U Playlist (*.m3u) Lista de Reproducción M3U (*.m3u) - + M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Text CSV (*.csv);;Readable Text (*.txt) Lista de reproducción M3U (*.m3u);;Lista de reproducción M3U8 (*.m3u8);;Lista de reproducción PLS (*.pls);;Texto CSV (*.csv);;Texto legible (*.txt) @@ -311,12 +319,12 @@ BaseSqlTableModel - + # # - + Timestamp Marca de tiempo @@ -324,7 +332,7 @@ BaseTrackPlayerImpl - + Couldn't load track. No se puede cargar la pista @@ -362,7 +370,7 @@ Canales - + Color Color @@ -377,7 +385,7 @@ Compositor - + Cover Art Portada @@ -387,7 +395,7 @@ Fecha de Agregado - + Last Played Última reproducción @@ -417,7 +425,7 @@ Tono - + Location Ubicación @@ -427,7 +435,7 @@ Resumen - + Preview Vista Previa @@ -467,7 +475,7 @@ Año - + Fetching image ... Tooltip text on the cover art column shown when the cover is read from disk Recuperando imagen... @@ -489,22 +497,22 @@ BroadcastProfile - + Can't use secure password storage: keychain access failed. No se puede usar el almacen de contraseñas seguro: el acceso al almacen ha fallado. - + Secure password retrieval unsuccessful: keychain access failed. No se ha podido obtener la contraseña: El acceso al almacen de claves a fallado. - + Settings error Error de configuración - + <b>Error with settings for '%1':</b><br> <b>Error en ajuste en '%1':</b><br> @@ -592,7 +600,7 @@ - + Computer Procesar @@ -612,17 +620,17 @@ Escanear - + "Computer" lets you navigate, view, and load tracks from folders on your hard disk and external devices. "Computadora" le permite navegar, ver y cargar pistas desde carpetas en su disco duro y dispositivos externos. - + It shows the data from the file tags, not track data from your Mixxx library like other track views. - + If you load a track file from here, it will be added to your library. @@ -735,12 +743,12 @@ Archivo Creado - + Mixxx Library Bliblioteca Mixxx - + Could not load the following file because it is in use by Mixxx or another application. No se puede cargar el siguiente archivo porque este es usado por Mixxx u otra aplicación @@ -771,87 +779,92 @@ CmdlineArgs - + Mixxx is an open source DJ software. For more information, see: Mixxx es un software de DJ de código abierto. Para más información, ver: - + Starts Mixxx in full-screen mode Iniciar Mixxx en modo pantalla completa - + Use a custom locale for loading translations. (e.g 'fr') Utiliza un locale personalizado para cargar traducciones. (ej. 'fr') - + Top-level directory where Mixxx should look for its resource files such as MIDI mappings, overriding the default installation location. Directorio de nivel superior donde Mixxx debería buscar sus archivos de recursos tales como mapeos MIDI, anulando la ubicación de instalación predeterminada. - + Path the debug statistics time line is written to Ruta a donde las estadísticas de depuración de la línea de tiempo son escritas. - + Causes Mixxx to display/log all of the controller data it receives and script functions it loads Causa que Mixxx muestre/registre todos los datos del controlador que recibe y las funciones en script que cargue - + The controller mapping will issue more aggressive warnings and errors when detecting misuse of controller APIs. New Controller Mappings should be developed with this option enabled! El mapeo del controlador generará advertencias y errores más agresivos cuando detecte un mal uso de las APIs del controlador. Los nuevos mapeos de controladores deben desarrollarse con esta opción activada. - + Enables developer-mode. Includes extra log info, stats on performance, and a Developer tools menu. Habilita el modo desarrollador. Incluye información extra en el registro, estadísticas sobre el desempeño, y un menú de herramientas para el Desarrollador. - + Top-level directory where Mixxx should look for settings. Default is: Directorio de nivel superior en donde Mixxx debería buscar por sus parámetros. Por defecto es : - + Starts Auto DJ when Mixxx is launched. Arranca Auto DJ cuando se inicia Mixxx - + Rescans the library when Mixxx is launched. Re escanea la librería cuando se inicia Mixxx - + Use legacy vu meter Utilizar el vúmetro antiguo - + Use legacy spinny Usar diseño de plato antiguo - - Loads experimental QML GUI instead of legacy QWidget skin - Carga la Interfaz de Usuario QML experimental, en lugar de la skin de legado QWidget + + Loads the highly unstable 3.0 Mixxx interface, based on QML. You need to use a new setting profile, or run with 'allow-dangerous-data-corruption-risk' to use with the current one. We highly recommend backing up your data if you do so. + - + + Force Mixxx to load an unstable version with an existing user profile from a stable version + + + + Enables safe-mode. Disables OpenGL waveforms, and spinning vinyl widgets. Try this option if Mixxx is crashing on startup. Habilita el modo seguro. Deshabilita formas de onda en OpenGL, y widgets de vinilos giratorios. Intenta esta opción si Mixxx se bloquea al iniciar. - + [auto|always|never] Use colors on the console output. [auto|always|never] Utiliza colores en la salida de la consola. - + Sets the verbosity of command line logging. critical - Critical/Fatal only warning - Above + Warnings @@ -866,32 +879,32 @@ debug - Arriba + Mensajes de Depuración/Desarrollador trace - Arriba + Perfilar mensajes - + Sets the the logging level at which the log buffer is flushed to mixxx.log. <level> is one of the values defined at --log-level above. Establece el nivel del registro en el cual el búfer de registro es descargado el registro de mixxx. <level> es uno de los valores definidos en --nivel de bitácora de arriba. - + Sets the maximum file size of the mixxx.log file in bytes. Use -1 for unlimited. The default is 100 MB as 1e5 or 100000000. Configura el tamaño máximo del archivo mixxx.log en bytes. Usa -1 para ilimitado. Por defecto es 100 MB, como en 1e5 o 100000000. - + Breaks (SIGINT) Mixxx, if a DEBUG_ASSERT evaluates to false. Under a debugger you can continue afterwards. Interrumpe (SIGINT) Mixxx, si un DEBUG_ASSERT es evaluado a falso. Bajo un depurador podrás continuar después. - + Overrides the default application GUI style. Possible values: %1 Anula el estilo por defecto de la interfaz de usuario de la aplicación. Valores posibles: %1 - + Load the specified music file(s) at start-up. Each file you specify will be loaded into the next virtual deck. Carga los archivos de música especificados al iniciar. Cada archivo que especifiques será cargado en el siguiente deck virtual. - + Preview rendered controller screens in the Setting windows. Previsualizar pantallas renderizadas del controlador en las ventanas de Ajustes @@ -984,2557 +997,2585 @@ trace - Arriba + Perfilar mensajes ControlPickerMenu - + Headphone Output Salida de Audífonos - - - + + + + Deck %1 + %1 is the deck number 1 ... 4 Deck %1 - + Sampler %1 Sampler %1 - + Preview Deck %1 Vista previa Deck %1 - + Microphone %1 Micrófono %1 - + Auxiliary %1 Auxiliar %1 - + Reset to default Restaurar a defabrica - + Effect Rack %1 Rack de Efecto %1 - + Parameter %1 Parámetro %1 - + Mixer Mezclar - - + + Crossfader Crossfader - + Headphone mix (pre/main) Mezcla en auriculares (pre/main) - + Toggle headphone split cueing Alternar preescucha dividida de auriculares - + Headphone delay Delay en auriculares - + Transport Transporte - + Strip-search through track Navegación por toda la pista - + Play button Botón de reproducción - - + + Set to full volume Ajustar volumen al máximo - - + + Set to zero volume Ajustar volumen al mínimo - + Stop button Botón de paro - + Jump to start of track and play Saltar al inicio y reproducir - + Jump to end of track Saltar al final - + Reverse roll (Censor) button Botón Reproduce hacia atrás (con censura) - + Headphone listen button Botón de escucha de auriculares - - + + Mute button Botón para silenciar MUTE - + Toggle repeat mode Conmutar modo repetición - - + + Mix orientation (e.g. left, right, center) Orientación de la mezcla (p. ej. izquierda, derecha, centro) - - + + Set mix orientation to left Establecer orientación de la mezcla hacia la izquierda - - + + Set mix orientation to center Establecer orientación de la mezcla al centro - - + + Set mix orientation to right Establecer orientación de la mezcla hacia la derecha - + Toggle slip mode Conmutar el modo deslizante - - + + BPM BPM - + Increase BPM by 1 Incrementar BPM en 1 - + Decrease BPM by 1 Disminuir BPM en 1 - + Increase BPM by 0.1 Incrementar BPM en 0,1 - + Decrease BPM by 0.1 Disminuir BPM en 0,1 - + BPM tap button Botón de BPM manual - + Toggle quantize mode Conmutar el modo de cuantización - + One-time beat sync (tempo only) Sincronizar por unica vez (sólo el tempo) - + One-time beat sync (phase only) Sincronizar por unica vez (sólo la fase) - + Toggle keylock mode Conmutar bloqueo tonal - + Equalizers Ecualizadores - + Vinyl Control Control de Vinilos - + Toggle vinyl-control cueing mode (OFF/ONE/HOT) Conmutar el modo de puntos cue del control de vinilo (OFF/ONE/HOT) - + Toggle vinyl-control mode (ABS/REL/CONST) Conmutar el control de vinilo (Absoluto/Relativo/Constante) - + Pass through external audio into the internal mixer Pasar audio externo al mezclador interno - + Cues Puntos cue - + Cue button Botón de Cue - + Set cue point Establecer punto de Cue - + Go to cue point Ir al Cue - + Go to cue point and play Ir al Cue y reproducir - + Go to cue point and stop Ir al punto de Cue y parar - + Preview from cue point Preescuchar desde punto Cue - + Cue button (CDJ mode) Boton Cue (modo CDJ) - + Stutter cue Reproducir Cue (Stutter) - + Hotcues Hotcues - + Set, preview from or jump to hotcue %1 Establecer, preescuchar o saltar al hotcue %1 - + Clear hotcue %1 Borrar hotcue %1 - + Set hotcue %1 Establecer Hotcue %1 - + Jump to hotcue %1 Saltar al hotcue %1 - + Jump to hotcue %1 and stop Saltar al hotcue %1 y parar - + Jump to hotcue %1 and play Saltar al hotcue %1 y reproducir - + Preview from hotcue %1 Preescucha Hotcue %1 - - + + Hotcue %1 Hotcue %1 - + Looping Repetición - + Loop In button Botón de inicio del bucle - + Loop Out button Botón de fin de bucle - + Loop Exit button Botón de salida de bucle - + 1/2 1/2 - + 1 1 - + 2 2 - + 4 4 - + 8 8 - + 16 16 - + 32 32 - + 64 64 - + Move loop forward by %1 beats Mover el bucle hacia adelante en %1 pulsaciones - + Move loop backward by %1 beats Mover el bucle hacia atrás en %1 pulsaciones - + Create %1-beat loop Crear bucle de %1 pulsaciones - + Create temporary %1-beat loop roll Crear bucle temporal corredizo de %1 pulsaciones - + Library Biblioteca - + Slot %1 Ranura %1 - + Headphone Mix Mezcla de Auriculares - + Headphone Split Cue Salida partida por auriculares - + Headphone Delay Retardo de auriculares - + Play Reproducir - + Fast Rewind Retroceso rápido - + Fast Rewind button Botón de Retroceso Rápido - + Fast Forward Avance Rápido - + Fast Forward button Botón de Avance Rápido - + Strip Search Navegación de pista - + Play Reverse Reproducir hacia atrás - + Play Reverse button Botón de Reproducción hacia atrás - + Reverse Roll (Censor) Reproducción hacia atrás (Censura) - + Jump To Start Saltar al Inicio - + Jumps to start of track Saltar al inicio de la pista - + Play From Start Reproducir Desde el Comienzo - + Stop Detener - + Stop And Jump To Start Detener y Saltar al Principio - + Stop playback and jump to start of track Detener reproducción y saltar al inicio de la pista - + Jump To End Saltar al final - + Volume Volumen - - - + + + Volume Fader Deslizador de Volumen - - + + Full Volume Volumen máximo - - + + Zero Volume Volumen cero - + Track Gain Ganancia de pista - + Track Gain knob Rueda de ganancia de pista - - + + Mute Silenciar - + Eject Expulsar - - + + Headphone Listen Escuchar por auriculares - + Headphone listen (pfl) button Botón de escucha con auriculares (pfl) - + Repeat Mode Modo de repetición - + Slip Mode Modo Slip - - + + Orientation Orientación - - + + Orient Left Orientar a la izquierda - - + + Orient Center Orientar al centro - - + + Orient Right Orientar a la derecha - + BPM +1 BPM +1 - + BPM -1 BPM -1 - + BPM +0.1 BPM +0,1 - + BPM -0.1 BPM -0,1 - + BPM Tap Golpeo de BPM - + Adjust Beatgrid Faster +.01 Acelerar la cuadrícula de tempo en +,01 - + Increase track's average BPM by 0.01 Incrementa el BPM promedio de la pista en 0,01 - + Adjust Beatgrid Slower -.01 Ralentizar la cuadrícula de tempo en -,01 - + Decrease track's average BPM by 0.01 Disminuye el BPM promedio de la pista en 0,01 - + Move Beatgrid Earlier Mover la cuadrícula de tempo antes en el tiempo - + Adjust the beatgrid to the left Ajusta la cuadrícula de tempo hacia la izquierda - + Move Beatgrid Later Mover la cuadrícula de tempo después en el tiempo - + Adjust the beatgrid to the right Ajusta la cuadrícula de tempo hacia la derecha - + Adjust Beatgrid Ajustar cuadrícula de tempo - + Align beatgrid to current position Alinea la cuadrícula de tempo a la posición actual - + Adjust Beatgrid - Match Alignment Ajustar la cuadrícula de tempo - Concidir alineación - + Adjust beatgrid to match another playing deck. Ajusta la cuadrícula de tempo para que coincida con otro plato en reproducción. - + Quantize Mode Modo Cuantizado - + Sync Sincronizar - + Beat Sync One-Shot Sincronizar pulsaciones al momento - + Sync Tempo One-Shot Sincronizar tempo al momento - + Sync Phase One-Shot Sincronizar Fase al momento - + Pitch control (does not affect tempo), center is original pitch Control de velocidad (No afecta el tempo), al centro es la velocidad original - + Pitch Adjust Ajuste de velocidad - + Adjust pitch from speed slider pitch Ajuste la velocidad desde el deslizador de velocidad - + Match musical key Coincidir con clave musical - + Match Key Cuadrar tonalidad (clave) - + Reset Key Restablecer tonalidad - + Resets key to original Restablecer tonalidad a la original - + High EQ Ecualización de Agudos - + Mid EQ Ecualización de Medios - - + + Main Output Salida Principal - + Main Output Balance Balance Salida Principal - + Main Output Delay Retardo Salida Principal - + Main Output Gain Ganancia Salida Principal - + Low EQ Ecualización de Graves - + Toggle Vinyl Control Conmutar el control del vinilo - + Toggle Vinyl Control (ON/OFF) Conmutar el control de vinilo (ON/OFF) - + Vinyl Control Mode Modo de control de vinilo - + Vinyl Control Cueing Mode Modo de Cue en Control por Vinilo - + Vinyl Control Passthrough Passthrough en Control por Vinilo - + Vinyl Control Next Deck siguiente plato en Control por vinilo - + Single deck mode - Switch vinyl control to next deck Modo de plato único - Cambia el control de vinilo al siguiente plato - + Cue Cue - + Set Cue Establecer punto cue - + Go-To Cue Ir al Cue - + Go-To Cue And Play Ir a Cue y reproducir - + Go-To Cue And Stop Ir al Cue y detener - + Preview Cue Preescuchar Cue - + Cue (CDJ Mode) Cue (modo CDJ) - + Stutter Cue Reproducir Cue (Stutter) - + Go to cue point and play after release Ir al cue y reproducir en soltar - + Clear Hotcue %1 Borrar hotcue %1 - + Set Hotcue %1 Establecer Hotcue %1 - + Jump To Hotcue %1 Saltar al hotcue %1 - + Jump To Hotcue %1 And Stop Saltar al hotcue %1 y parar - + Jump To Hotcue %1 And Play Saltar al hotcue %1 y reproducir - + Preview Hotcue %1 Preescuchar Hotcue %1 - + Loop In Inicio de bucle - + Loop Out Fin del bucle - + Loop Exit Salida del bucle - + Reloop/Exit Loop Repetir/Salir del bucle - + Loop Halve Reducir bucle a la mitad - + Loop Double Aumentar bucle al doble - + 1/32 1/32 - + 1/16 1/16 - + 1/8 1/8 - + 1/4 1/4 - + Move Loop +%1 Beats Mover bucle en +%1 pulsaciones - + Move Loop -%1 Beats Mover bucle en -%1 pulsaciones - + Loop %1 Beats Bucle de %1 pulsaciones - + Loop Roll %1 Beats Bucle corredizo de %1 pulsaciones - + Add to Auto DJ Queue (bottom) Agregar a la lista de DJ Automatico (Final) - + Append the selected track to the Auto DJ Queue Añade las pistas seleccionadas al final de la cola de Auto DJ - + Add to Auto DJ Queue (top) Agregar a la lista de DJ Automatico (Inicio) - + Prepend selected track to the Auto DJ Queue Añade las pistas seleccionadas al principio de la cola de Auto DJ - + Load Track Cargar Pista - + Load selected track Carga la pista seleccionada - + Load selected track and play Carga la pista seleccionada y la reproduce - - + + Record Mix Grabar mezcla - + Toggle mix recording Conmuta la grabación de la mezcla - + Effects Efectos - - Quick Effects - Efectos rápidos - - - + Deck %1 Quick Effect Super Knob Super rueda de efecto rápido del plato %1 - + + Quick Effect Super Knob (control linked effect parameters) Super rueda de efecto rápido (parámetros de efecto asociado al control) - - + + + + Quick Effect Efecto rápido - + Clear Unit Limpiar unidad - + Clear effect unit Limpia la unidad de efectos - + Toggle Unit Conmutar la unidad - + Dry/Wet Directo/Alterado - + Adjust the balance between the original (dry) and processed (wet) signal. Ajuste entre señal directa (dry) y alterada (wet). - + Super Knob Rueda Súper - + Next Chain Siguiente cadena - + Assign Asignar - + Clear Borrar - + Clear the current effect Borrar el efecto actual - + Toggle Conmutar - + Toggle the current effect Conmutar el efecto actual - + Next Siguente - + Switch to next effect Cambiar al siguiente efecto - + Previous Anterior - + Switch to the previous effect Cambiar al efecto previo - + Next or Previous Siguiente o Anterior - + Switch to either next or previous effect Cambiar a cualquier efecto siguiente o anterior - - + + Parameter Value Valor de Parámetro - - + + Microphone Ducking Strength Intensidad de Atenuación de Micrófono - + Microphone Ducking Mode Modo de Atenuación de Micrófono - + Gain Ganancia - + Gain knob Rueda de Ganancia - + Shuffle the content of the Auto DJ queue Mezcla el contenido de la cola de Auto DJ - + Skip the next track in the Auto DJ queue Salta la siguiente pista de la cola de Auto DJ - + Auto DJ Toggle Conmutar Auto DJ - + Toggle Auto DJ On/Off Conmutar Auto DJ Encendido/Apagado - + Show/hide the microphone & auxiliary section Muestra/oculta la sección del micrófono y el auxiliar - + 4 Effect Units Show/Hide Mostrar/Ocultar 4 Unidades de Efectos - + Switches between showing 2 and 4 effect units Cambia entre mostrar 2 y 4 unidades de efectos - + Mixer Show/Hide Mostrar/Ocultar Mezclador - + Show or hide the mixer. Mostrar u ocultar el mezclador. - + Cover Art Show/Hide (Library) Mostrar/Ocultar Portadas (Biblioteca) - + Show/hide cover art in the library Muestra/oculta las portadas en la biblioteca - + Library Maximize/Restore Maximizar/Restaurar Biblioteca - + Maximize the track library to take up all the available screen space. Maximizar la biblioteca para tomar todo el espacio disponible en pantalla. - + Effect Rack Show/Hide Mostrar/ocultar unidad de efectos - + Show/hide the effect rack Mostrar/ocultar unidad de efectos - + Waveform Zoom Out Alejar zoom de forma de onda - + Headphone Gain Ganancia del auricular - + Headphone gain Ganancia de auriculares - + Tap to sync tempo (and phase with quantize enabled), hold to enable permanent sync Toque sincronización el tempo (y la fase con la cuantización habilitada), mantenga presionado para habilitar la sincronización permanente. - + One-time beat sync tempo (and phase with quantize enabled) toque para sincronizar solo una vez (el tempo y fase) - + Playback Speed Velocidad de reproducción - + Playback speed control (Vinyl "Pitch" slider) Control de velocidad de reproducción (El "Pitch de vinilo) - + Pitch (Musical key) Pitch (tonalidad) - + Increase Speed Incrementar Velocidad - + Adjust speed faster (coarse) Incrementar la velocidad (grueso) - + Increase Speed (Fine) Incrementar velocidad (fino) - + Adjust speed faster (fine) Incrementar la velocidad (fino) - + Decrease Speed Reducir Velocidad - + Adjust speed slower (coarse) Reducir la velocidad (grueso) - + Adjust speed slower (fine) Reducir la velocidad (fino) - + Temporarily Increase Speed Incrementar temporalmente la velocidad - + Temporarily increase speed (coarse) Incremento temporal de velocidad (grueso) - + Temporarily Increase Speed (Fine) Incremento temporal de velocidad (fino) - + Temporarily increase speed (fine) Incremento temporal de velocidad (fino) - + Temporarily Decrease Speed Reducir temporalmente la velocidad - + Temporarily decrease speed (coarse) Reducción temporal de velocidad (grueso) - + Temporarily Decrease Speed (Fine) Reducción temporal de velocidad (fino) - + Temporarily decrease speed (fine) Reducción temporal de velocidad (fino) - - + + Adjust %1 Ajuste %1 - + + Deck %1 Stem %2 + + + + Effect Unit %1 Unidad de Efectos %1 - + Button Parameter %1 Parámetro %1 del botón. - + Skin Apariencia - + Controller Controlador - + Crossfader / Orientation Crossfader / Orientación - + Main Output gain Ganancia Salida Principal - + Main Output balance Balance Salida Principal - + Main Output delay Retardo Salida Principal - + Headphone Auriculares - - + + Kill %1 + %1 is "Low EQ" "Mid EQ" or "High EQ" Suprime %1 - + Eject or un-eject track, i.e. reload the last-ejected track (of any deck)<br>Double-press to reload the last replaced track. In empty decks it reloads the second-last ejected track. Expulsa o recupera la pista, es decir, carga la última pista expulsada (de cualquier deck).<br>Pulsa dos veces para cargar la última pista sustituida. En decks vacíos carga la penúltima pista expulsada. - + BPM / Beatgrid BPM / Cuadrícula de Tempo - + Halve BPM Reducir a la mitad los BPM - + Multiply current BPM by 0.5 Multiplica los BPM por 0.5 - + 2/3 BPM 2/3 BPM - + Multiply current BPM by 0.666 Multiplica el BPM actual por 0.666 - + 3/4 BPM 3/4 BPM - + Multiply current BPM by 0.75 Multiplica el BPM actual por 0.75 - + 4/3 BPM 4/3 BPM - + Multiply current BPM by 1.333 Multiplica el BPM actual por 1.333 - + 3/2 BPM 3/2 BPM - + Multiply current BPM by 1.5 Multiplica el BPM actual por 1.5 - + Double BPM Dobla los BPM - + Multiply current BPM by 2 Multiplica el BPM actual por 2 - + Tempo Tap Seguidor de Tempo (Tempo Tap) - + Tempo tap button Botón del Tempo Tap - + Move Beatgrid Desplaza la grilla de tiempo - + Adjust the beatgrid to the left or right Ajusta la grilla de tiempo a la izquierda o a la derecha - + Move Beatgrid Half a Beat Desplaza la cuadricula de tiempo medio pulso - + Adjust the beatgrid by exactly one half beat. Usable only for tracks with constant tempo. Ajusta la cuadrícula de tiempo en exactamente medio beat. Solo se puede usar en pistas con tempo constante. - - + + Toggle the BPM/beatgrid lock Cambia el bloqueo de BPM/grilla de tiempo - + Revert last BPM/Beatgrid Change Revierte el último cambio de BPM/grilla de tiempo - + Revert last BPM/Beatgrid Change of the loaded track. Revierte el último cambio de BPM/grilla de tiempo para la pista cargada - + Sync / Sync Lock Sincronizar / Bloqueo Sincronización - + Internal Sync Leader Sincronización Líder Interno - + Toggle Internal Sync Leader Conmutar el modo Sincronización Líder Interno - - + + Internal Leader BPM BPM Líder Interno - + Internal Leader BPM +1 BPM Líder Interno +1 - + Increase internal Leader BPM by 1 Incrementar BPM líder interno en 1 - + Internal Leader BPM -1 BPM Líder Interno -1 - + Decrease internal Leader BPM by 1 Disminuir BPM líder interno en 1 - + Internal Leader BPM +0.1 BPM Líder Interno +0.1 - + Increase internal Leader BPM by 0.1 Incrementar BPM líder interno en 0.1 - + Internal Leader BPM -0.1 BPM Líder Interno -0.1 - + Decrease internal Leader BPM by 0.1 Disminuir BPM Líder Interno en 0.1 - + Sync Leader Líder de Sicronización - + Sync mode 3-state toggle / indicator (Off, Soft Leader, Explicit Leader) Modo de Sicronización 3-State Toggle / Indicador (Off, Soft Leader, Explicit Leader) - + Speed LFO - + Decrease Speed (Fine) Reducir velocidad (fino) - + Pitch (Musical Key) Tono (Clave Musical) - + Increase Pitch Incrementar Tono - + Increases the pitch by one semitone Incrementar el tono por un semitono - + Increase Pitch (Fine) Incrementar Tono (Fino) - + Increases the pitch by 10 cents Incrementa el tono por 10 céntimos - + Decrease Pitch Decrementar Tono - + Decreases the pitch by one semitone Decrementa el tono por un semitono - + Decrease Pitch (Fine) Decrementar Tono (Fino) - + Decreases the pitch by 10 cents Decrementa el tono por 10 céntimos - + Keylock Bloqueo tonal - + CUP (Cue + Play) CUP (Cue + Play) - + Shift cue points earlier Cambiar puntos marcado antes - + Shift cue points 10 milliseconds earlier Cambiar puntos marcado 10 milisegundos antes - + Shift cue points earlier (fine) Cambiar puntos marcado antes (fino) - + Shift cue points 1 millisecond earlier Cambiar puntos marcado 1 milisegundo antes - + Shift cue points later Cambiar puntos marcado después - + Shift cue points 10 milliseconds later Cambiar puntos marcado 10 milisegundos después - + Shift cue points later (fine) Cambiar puntos marcado después (fino) - + Shift cue points 1 millisecond later Cambiar puntos marcado 1 milisegundo después - - + + Sort hotcues by position Ordenar hotcues por posición - - + + Sort hotcues by position (remove offsets) Ordenar hotcues por posición (removiendo desfases) - + Hotcues %1-%2 Accesos Directos %1-%2 - + Intro / Outro Markers Marcadores de Entrada / Salida - + Intro Start Marker Marcador Inicial de Entrada - + Intro End Marker Marcador Final de Entrada - + Outro Start Marker Marcador Inicial de Salida - + Outro End Marker Marcador Final de Salida - + intro start marker marcador inicial de entrada - + intro end marker marcador final de entrada - + outro start marker marcador inicial de salida - + outro end marker marcador final de salida - + Activate %1 [intro/outro marker Activar %1 - + Jump to or set the %1 [intro/outro marker Saltar a o poner el %1 - + Set %1 [intro/outro marker Poner %1 - + Set or jump to the %1 [intro/outro marker Poner o saltar al %1 - + Clear %1 [intro/outro marker Limpiar %1 - + Clear the %1 [intro/outro marker Limpiar el %1 - + if the track has no beats the unit is seconds si la pista no tiene pulsaciones la unidad es segundos - + Loop Selected Beats Bucle de las pulsaciones seleccionadas - + Create a beat loop of selected beat size Crear bucle con el tamaño de pulsaciones seleccionado - + Loop Roll Selected Beats Bucle corredizo de las pulsaciones seleccionadas - + Create a rolling beat loop of selected beat size Crear bucle corredizo con el tamaño de pulsaciones seleccionado - + Loop %1 Beats set from its end point Bucle de %1 pulsaciones desde su punto final - + Loop Roll %1 Beats set from its end point Definir serie de bucles de %1 pulsaciones desde su punto final - + Create %1-beat loop with the current play position as loop end Crea un bucle de 1%-beat con la posición de reproducción actual como final del bucle - + Create temporary %1-beat loop roll with the current play position as loop end Crea un redoble de bucle temporal de %1-pulsos con la posición de reproducción actual como final del bucle - + Loop Beats Bucle de pulsos - + Loop Roll Beats Redoble de bucle de pulsos - + Go To Loop In Ir al Loop de entrada - + Go to Loop In button Ir al botón Loop de entrada - + Go To Loop Out Ir al Loop de salida - + Go to Loop Out button Ir al botón Loop de salida - + Toggle loop on/off and jump to Loop In point if loop is behind play position Activar / Desactivar bucle y saltar al inicio del bucle si está detrás de la posición de reproducción - + Reloop And Stop Reactivar bucle y detener - + Enable loop, jump to Loop In point, and stop Activar bucle, ir al inicio del bucle y detener - + Halve the loop length Reducir a la mitad la longitud del bucle - + Double the loop length Duplicar la longitud del bucle - + Beat Jump / Loop Move Salto de pulsaciones / Movimiento del bucle - + Jump / Move Loop Forward %1 Beats Saltar / Mover bucle hacia delante en %1 pulsaciones - + Jump / Move Loop Backward %1 Beats Saltar / Mover bucle hacia atrás en %1 pulsaciones - + Jump forward by %1 beats, or if a loop is enabled, move the loop forward %1 beats Saltar hacia adelante en %1 pulsaciones, o si el bucle está activado, moverlo hacia adelante en %1 pulsaciones - + Jump backward by %1 beats, or if a loop is enabled, move the loop backward %1 beats Saltar hacia atrás en %1 pulsaciones, o si el bucle está activado, moverlo hacia atrás en %1 pulsaciones - + Beat Jump / Loop Move Forward Selected Beats Saltar en pulsaciones / Mover el bucle adelante en la cantidad seleccionada - + Jump forward by the selected number of beats, or if a loop is enabled, move the loop forward by the selected number of beats Salta hacia adelante la cantidad seleccionada de pulsaciones, o si el bucle está activado, lo mueve hacia adelante la cantidad seleccionada de pulsaciones - + Beat Jump / Loop Move Backward Selected Beats Saltar en pulsaciones / Mover el bucle atrás en la cantidad seleccionada - + Jump backward by the selected number of beats, or if a loop is enabled, move the loop backward by the selected number of beats Salta hacia atrás la cantidad seleccionada de pulsaciones, o si el bucle está activado, lo mueve hacia atrás la cantidad seleccionada de pulsaciones - + Beat Jump Salto de pulso - + Indicate which loop marker remain static when adjusting the size or is inherited from the current position Indica qué marcadores de bucle permanecen estáticos al ajustar el tamaño o es ajustado según la posición actual - + Beat Jump / Loop Move Forward Salto de pulso / Bucle hacia adelante - + Beat Jump / Loop Move Backward Salto de pulsaciones / Movimiento del Bucle Atrás - + Loop Move Forward Movimiento del Bucle Adelante - + Loop Move Backward Bucle en reversa - + Remove Temporary Loop Remueve el bucle temporal - + Remove the temporary loop Remueve el bucle temporal - + Navigation Navegación - + Move up Hacia arriba - + Equivalent to pressing the UP key on the keyboard Equivalente a pulsar la tecla flecha arriba en el teclado - + Move down Hacia abajo - + Equivalent to pressing the DOWN key on the keyboard Equivalente a pulsar la tecla abajo arriba en el teclado - + Move up/down Arriba/abajo - + Move vertically in either direction using a knob, as if pressing UP/DOWN keys Mover verticalmente en qualquier dirección usando una rueda, como si se pulsaran las teclas flecha arriba/abajo - + Scroll Up Retrocede página - + Equivalent to pressing the PAGE UP key on the keyboard Equivalente a pulsar la tecla retrocede página arriba en el teclado - + Scroll Down Avance página - + Equivalent to pressing the PAGE DOWN key on the keyboard Equivalente a pulsar la tecla avance página en el teclado - + Scroll up/down Arriba/abajo página - + Scroll vertically in either direction using a knob, as if pressing PGUP/PGDOWN keys Mover verticalmente en qualquier dirección usando una rueda, como si se pulsaran las teclas avance/retroceso página - + Move left Izquierda - + Equivalent to pressing the LEFT key on the keyboard Equivalente a pulsar la tecla flecha izquierda en el teclado - + Move right Derecha - + Equivalent to pressing the RIGHT key on the keyboard Equivalente a pulsar la tecla flecha derecha en el teclado - + Move left/right Izquierda/derecha - + Move horizontally in either direction using a knob, as if pressing LEFT/RIGHT keys Mover verticalmente en qualquier dirección usando una rueda, como si se pulsaran las teclas flecha izquierda/derecha - + Move focus to right pane Mover al panel derecho - + Equivalent to pressing the TAB key on the keyboard Equivalente a pulsar la tecla Tabulador del teclado - + Move focus to left pane Mover el foco al panel izquierdo - + Equivalent to pressing the SHIFT+TAB key on the keyboard Equivalente a pulsar las teclas Mayúsculas+Tabulación en el teclado. - + Move focus to right/left pane Mover el foco al panel izquierdo/derecho - + Move focus one pane to right or left using a knob, as if pressing TAB/SHIFT+TAB keys Mueve el foco al panel izquierdo o derecho usando una rueda, como si se pulsara tabulación/mayusculas+tabulación. - + Sort focused column Ordenar columna enfocada - + Sort the column of the cell that is currently focused, equivalent to clicking on its header Ordena la columna de la celda que está enfocada, equivale a hacer click en su encabezado - + Go to the currently selected item Ve al elemento actualmente seleccionado. - + Choose the currently selected item and advance forward one pane if appropriate Elige el elemento actualmente seleccionado y avanza un panel si aplica. - + Load Track and Play Cargar Pista y Reproducir - + Add to Auto DJ Queue (replace) Añadir a la lista de DJ Automático (reemplazar) - + Replace Auto DJ Queue with selected tracks Reemplaza la cola de Auto DJ con las pistas seleccionadas - + Select next search history Selecciona siguiente búsqueda del historial - + Selects the next search history entry Selecciona la siguiente entrada de búsqueda del historial - + Select previous search history Seleccionar entrada previa de búsqueda del historial - + Selects the previous search history entry Selecciona la entrada previa de búsqueda del historial - + Move selected search entry Mover entrada de búsqueda seleccionada - + Moves the selected search history item into given direction and steps Mueve el elemento de la búsqueda histórica seleccionado en la dirección dada y pasa - + Clear search Eliminar búsqueda - + Clears the search query Limpia la búsqueda - - + + Select Next Color Available Selecciona el próximo color disponible - + Select the next color in the color palette for the first selected track Selecciona el próximo color en la paleta de colores para la primera pista seleccionada - - + + Select Previous Color Available Selecciona el anterior color disponible - + Select the previous color in the color palette for the first selected track Selecciona el color anterior en la paleta de colores para la primera pista seleccionada - + + Quick Effects Deck %1 + + + + Deck %1 Quick Effect Enable Button Botón rápido de activación de efecto de cubierta %1 - + + Quick Effect Enable Button Botón de activación de efectos rápidos - + + Deck %1 Stem %2 Quick Effect Super Knob + + + + + Deck %1 Stem %2 Quick Effect Enable Button + + + + Enable or disable effect processing Activar o desactivar efectos - + Super Knob (control effects' Meta Knobs) Rueda Super (controla las ruedas Meta del efecto) - + Mix Mode Toggle Alternar modo de mezcla - + Toggle effect unit between D/W and D+W modes Cambia la unidad de efectos entre los modos D / W y D + W - + Next chain preset Siguiente preajuste de cadena - + Previous Chain Cadena anterior - + Previous chain preset Anterior preajuste de cadena - + Next/Previous Chain Cadena siguiente/anterior - + Next or previous chain preset Siguiente o anterior preajuste de cadena - - + + Show Effect Parameters Mostrar parámetros de efectos - + Effect Unit Assignment Asignación de Unidad de Efectos - + Meta Knob Rueda Meta - + Effect Meta Knob (control linked effect parameters) Rueda Meta del efecto (controla los parámetros del efecto asociados) - + Meta Knob Mode Modo de la rueda Meta - + Set how linked effect parameters change when turning the Meta Knob. Define como se comportan los parámetros del efecto enlazados al mover la rueda Meta. - + Meta Knob Mode Invert Modo rueda Meta Invertida - + Invert how linked effect parameters change when turning the Meta Knob. Invierte el sentido en el que se mueven los parámetros del efecto enlazados al girar la rueda Meta. - - + + Button Parameter Value Valor del parámetro del botón - + Microphone / Auxiliary Micrófono/Auxiliar - + Microphone On/Off Micrófono Encendido/Apagado - + Microphone on/off Micrófono encendido/apagado - + Toggle microphone ducking mode (OFF, AUTO, MANUAL) Conmutar modo de atenuación de micrófono (OFF, AUTO, MANUAL) - + Auxiliary On/Off Auxiliar Encendido/Apagado - + Auxiliary on/off Auxiliar encendido/apagado - + Auto DJ DJ Automatico - + Auto DJ Shuffle Auto DJ Aleatorio - + Auto DJ Skip Next Quitar la siguiente en Auto DJ - + Auto DJ Add Random Track Añade una pista aleatoria al Auto DJ - + Add a random track to the Auto DJ queue Añade una pista aleatoria a la fila del Auto DJ - + Auto DJ Fade To Next Autodesvanecer a la siguiente en Auto DJ - + Trigger the transition to the next track Desencadenar la transición a la pista siguiente - + User Interface Interfaz de usuario - + Samplers Show/Hide Mostrar/Ocultar reproductor de muestras - + Show/hide the sampler section Mostrar/Ocultar la sección de reproductor de muestras - + Microphone && Auxiliary Show/Hide keep double & to prevent creation of keyboard accelerator Mostrar/Ocultar Micrófono y Auxiliar - + Waveform Zoom Reset To Default Reestablece el zoom de la forma de onda - + Reset the waveform zoom level to the default value selected in Preferences -> Waveforms Restablece el nivel de zoom de la forma de onda al valor por defecto seleccionado en Preferencias > Formas de onda - + Select the next color in the color palette for the loaded track. Selecciona el próximo color en la paleta de colores para la pista cargada. - + Select previous color in the color palette for the loaded track. Selecciona el color anterior en la paleta de colores para la pista cargada. - + Navigate Through Track Colors Navegar a través de los colores de las pistas - + Select either next or previous color in the palette for the loaded track. Selecciona cualquiera de los colores siguientes o anteriores en la paleta de colores para la pista cargada. - + Start/Stop Live Broadcasting Inicia/Detiene Transmisión En Vivo - + Stream your mix over the Internet. Emite tus mezclas por internet. - + Start/stop recording your mix. Inicia/Detiene la grabación de tu mezcla. - - + + + Deck %1 Stems + + + + + Samplers Muestreadores / Samplers - + Vinyl Control Show/Hide Mostrar/Ocultar Control de Vinilo - + Show/hide the vinyl control section Mostrar/ocultar la sección del control del vinilo - + Preview Deck Show/Hide Ocultar/Mostrar reproductor de preescucha - + Show/hide the preview deck Oculta/Muestra el reproductor de pre-escucha - + Toggle 4 Decks Conmuta el modo de 4 platos - + Switches between showing 2 decks and 4 decks. Cambia entre mostrar 2 platos o 4 platos. - + Cover Art Show/Hide (Decks) Mostrar/ocultar carátulas (en Decks) - + Show/hide cover art in the main decks Mostrar/ocultar carátulas en los platos principales. - + Vinyl Spinner Show/Hide Mostrar/ocultar vinilo - + Show/hide spinning vinyl widget Mostrar/ocultar el widget de vinilo giratorio - + Vinyl Spinners Show/Hide (All Decks) Mostrar/ocultar los vinilos giratorios (todos los platos) - + Show/Hide all spinnies Mostrar/ocultar todos los giradores - + Toggle Waveforms Alternar formas de onda - + Show/hide the scrolling waveforms. Mostrar/ocultar las formas de onda deslizantes - + Waveform zoom Cambia el zoom de la forma de onda - + Waveform Zoom Zoom de forma de onda - + Zoom waveform in Incrementa el zoom de la forma de onda - + Waveform Zoom In Acercar zoom de forma de onda - + Zoom waveform out Reduce el zoom de la forma de onda - + Star Rating Up Agregar una estrella - + Increase the track rating by one star Incrementa la puntuación de la pista en una estrella - + Star Rating Down Quitar una estrella - + Decrease the track rating by one star Reduce la puntuación de la pista en una estrella @@ -3547,6 +3588,159 @@ trace - Arriba + Perfilar mensajes Desconocido + + ControllerHidReportTabsManager + + + Read + + + + + Send + + + + + Payload Size + + + + + bytes + + + + + Byte Position + + + + + Bit Position + + + + + Bit Size + + + + + Logical Min + + + + + Logical Max + + + + + Value + + + + + Physical Min + + + + + Physical Max + + + + + Unit Scaling + + + + + Unit + + + + + Abs/Rel + + + + + + Wrap + + + + + + Linear + + + + + + Preferred + + + + + + Null + + + + + + Volatile + + + + + Usage Page + + + + + Usage + + + + + Relative + + + + + Absolute + + + + + No Wrap + + + + + Non Linear + + + + + No Preferred + + + + + No Null + + + + + Non Volatile + + + ControllerInputMappingTableModel @@ -3682,27 +3876,27 @@ trace - Arriba + Perfilar mensajes ControllerScriptEngineLegacy - + Controller Mapping File Problem Problema del archivo del mapa de controlador - + The mapping for controller "%1" cannot be opened. El mapa del controlador "%1" no puede ser abierto. - + The functionality provided by this controller mapping will be disabled until the issue has been resolved. La funcionalidad provista por este mapa de controlador será desactivada hasta que el problema sea resuelto. - + File: Archivo: - + Error: Error: @@ -3735,7 +3929,7 @@ trace - Arriba + Perfilar mensajes - + Lock Bloquear @@ -3765,7 +3959,7 @@ trace - Arriba + Perfilar mensajes Fuente de pistas para Auto DJ - + Enter new name for crate: Escriba un nuevo nombre para el cajón: @@ -3782,22 +3976,22 @@ trace - Arriba + Perfilar mensajes Importar cajón - + Export Crate Exportar cajón - + Unlock Desbloquear - + An unknown error occurred while creating crate: Ocurrió un error desconocido al crear el cajón: - + Rename Crate Renombrar cajón @@ -3807,28 +4001,28 @@ trace - Arriba + Perfilar mensajes Haz una caja para tu próximo concierto, para tus temas electrohouse favoritos o para tus temas más solicitados. - + Confirm Deletion Confirmar Borrado - - + + Renaming Crate Failed No se pudo renombrar el cajón - + Crate Creation Failed Falló la creación del cajón - + M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Text CSV (*.csv);;Readable Text (*.txt) Lista de reproducción M3U (*.m3u);;Lista de reproducción M3U8 (*.m3u8);;Lista de reproducción PLS (*.pls);;Texto CSV (*.csv);;Texto legible (*.txt) - + M3U Playlist (*.m3u) Lista de Reproducción M3U (*.m3u) @@ -3849,17 +4043,17 @@ trace - Arriba + Perfilar mensajes Los cajones permiten organizar tu música como tu quieras! - + Do you really want to delete crate <b>%1</b>? ¿Quieres eliminar la caja <b>%1</b>? - + A crate cannot have a blank name. Los cajones no pueden carecer de nombre. - + A crate by that name already exists. Ya existe un cajón con ese nombre. @@ -3954,12 +4148,12 @@ trace - Arriba + Perfilar mensajes Antiguos colaboradores - + Official Website Sitio web oficial - + Donate Donar @@ -4788,123 +4982,140 @@ Esto podría deberse a que estás usando una skin antigua y este control ya no e DlgPrefBroadcast - + Icecast 2 Icecast 2 - + Shoutcast 1 Shoutcast 1 - + Icecast 1 Icecast 1 - + MP3 MP3 - + Ogg Vorbis Ogg Vorbis - + Opus Opus - + AAC AAC - + HE-AAC HE-AAC - + HE-AACv2 HE-AACv2 - + Automatic Automático - + Mono Mono - + Stereo Estéreo - - - - + + Saving settings failed + + + + + The password for '%1' contains invalid characters. Please enter it again. + +Note: This can for example be invisible linebreaks when using copy/paste. + + + + + + Action failed Acción fallida - + You can't create more than %1 source connections. No se pueden crear más de %1 fuentes de emisión en vivo. - + Source connection %1 Fuente de emisión %1 - + + Settings for %1 + Settings for broadcast profile, %1 is the profile name placeholder + + + + At least one source connection is required. Se requiere almenos una fuente de emisión. - + Are you sure you want to disconnect every active source connection? ¿Seguro que deseas desconectar todas las fuentes de emisión activas? - - + + Confirmation required Se necesita confirmación - + '%1' has the same Icecast mountpoint as '%2'. Two source connections to the same server that have the same mountpoint can not be enabled simultaneously. '%1' tiene el mismo punto de montaje Icecast que '%2'. No se puede establecer dos conexiones simultáneas al mismo servidor, con el mismo punto de montaje. - + Are you sure you want to delete '%1'? ¿Deseas realmente borrar '%1'? - + Renaming '%1' Renombrando '%1' - + New name for '%1': Nuevo nombre para '%1': - + Can't rename '%1' to '%2': name already in use No se puede renombrar '%1' a '%2': el nombre está en uso @@ -4917,27 +5128,27 @@ No se puede establecer dos conexiones simultáneas al mismo servidor, con el mis Preferencias de Transmision en Vivo - + Mixxx Icecast Testing Prueba de «Icecast» de Mixxx - + Public stream Transmisión pública - + http://www.mixxx.org http://www.mixxx.org - + Stream name Nombre de la emisión - + Due to flaws in some streaming clients, updating Ogg Vorbis metadata dynamically can cause listener glitches and disconnections. Check this box to update the metadata anyway. Debido a errores en algunos clientes de transmisión, actualizar dinámicamente los metadatos Ogg Vorbis puede causar interferencias y desconexiones a los oyentes. Marque esta casilla para actualizar los metadatos de todos modos. @@ -4977,67 +5188,72 @@ No se puede establecer dos conexiones simultáneas al mismo servidor, con el mis Opciones para %1 - + + Available fields: $artist, $title, $year, $album, $genre, $bpm + + + + Dynamically update Ogg Vorbis metadata. Actualizar dinámicamente los metadatos Ogg Vorbis. - + ICQ ICQ - + AIM AIM - + Website Sitio web - + Live mix Mezcla en vivo - + IRC IRC - + Select a source connection above to edit its settings here Selecciona en la lista la fuente de emisión que desees editar - + Password storage Guardado de contraseñas - + Plain text Texto simple - + Secure storage (OS keychain) Almacen seguro (almacen de llaves del SO) - + Genre Genero - + Use UTF-8 encoding for metadata. Usar codificación UTF-8 para los metadatos. - + Description Descripción @@ -5063,42 +5279,42 @@ No se puede establecer dos conexiones simultáneas al mismo servidor, con el mis Canales - + Server connection Conexión al servidor - + Type Tipo - + Host Servidor - + Login Identificación - + Mount Montar - + Port Puerto - + Password Contraseña - + Stream info Información de la emisión @@ -5108,17 +5324,17 @@ No se puede establecer dos conexiones simultáneas al mismo servidor, con el mis Metadatos - + Use static artist and title. Usar texto de artista y título fijos - + Static title Titulo fijo - + Static artist Artista fijo @@ -5177,13 +5393,14 @@ No se puede establecer dos conexiones simultáneas al mismo servidor, con el mis DlgPrefColors - - + + + By hotcue number Por número acceso directo - + Color Color @@ -5228,17 +5445,22 @@ No se puede establecer dos conexiones simultáneas al mismo servidor, con el mis + Jump default color + + + + When key colors are enabled, Mixxx will display a color hint associated with each key. Cuando se han habilitado los colores de nota, Mixxx mostrará una pista de color asociada con cada nota. - + Enable Key Colors Activar colores de nota - + Key palette Paleta de notas @@ -5246,114 +5468,114 @@ associated with each key. DlgPrefController - + Apply device settings? ¿Aplicar la configuración del dispositivo? - + Your settings must be applied before starting the learning wizard. Apply settings and continue? La configuración debe ser aplicada antes de iniciar el asistente de aprendizaje. ¿Aplicar la configuración y continuar? - + None Ningún - + %1 by %2 %1 por %2 - + Mapping has been edited Se ha editado el mapeo - + Always overwrite during this session Siempre sobreescribir durante esta sesión - + Save As Guardar como - + Overwrite Sobreescribir - + Save user mapping Guardar mapeo del usuario - + Enter the name for saving the mapping to the user folder. Ingresar el nombre del archivo de mapeo para guardarlo en la carpeta de usuario. - + Saving mapping failed Ha fallado el guardado del mapeo - + A mapping cannot have a blank name and may not contain special characters. El nombre del mapeo no puede estar en blanco, ni contener caracteres especiales. - + A mapping file with that name already exists. Ya existe un archivo de mapeo con el mismo nombre. - + Do you want to save the changes? Quieres guardar los cambios? - + Troubleshooting Solución de problemas - + <font color='#BB0000'><b>If you use this mapping your controller may not work correctly. Please select another mapping or disable the controller.</b></font><br><br>This mapping was designed for a newer Mixxx Controller Engine and cannot be used on your current Mixxx installation.<br>Your Mixxx installation has Controller Engine version %1. This mapping requires a Controller Engine version >= %2.<br><br>For more information visit the wiki page on <a href='https://mixxx.org/wiki/doku.php/controller_engine_versions'>Controller Engine Versions</a>. <font color='#BB0000'><b>Si usas este mapeo, tu controlador podría no funcionar correctamente. Por favor selecciona otro mapeo o deshabilita el controlador. </b></font><br><br>Este mapeo fue diseñado para un nuevo Motor de Controladores de Mixxx, y no puede ser usado con tu instalación actual.<br>Tu instalación de Mixxx posee la version del Motor de Controladores %1. Este mapeo requiere una versión del Motor de controladores >=%2.<br><br>Para más información visita la wiki de <a href='https://mixxx.org/wiki/doku.php/controller_engine_versions'>Versiones del Motor de Controladores</a>. - + Mapping already exists. El mapeo ya existe. - + <b>%1</b> already exists in user mapping folder.<br>Overwrite or save with a new name? <b>%1</b> ya existe en la carpeta de mapeos de usuario. <br>¿Deseas sobreescribir o guardar con otro nombre? - + Clear Input Mappings Limpiar mapeos de Entrada - + Are you sure you want to clear all input mappings? Está seguro de querer eliminar todos los mapeos de entrada? - + Clear Output Mappings Limpiar mapeos de Salida - + Are you sure you want to clear all output mappings? Está seguro de querer eliminar todos los mapeos de salida? @@ -5371,100 +5593,105 @@ Apply settings and continue? Habilitado - + + Refresh mapping list + + + + Device Info Información del dispositivo - + Physical Interface: Interfase física - + Vendor name: Nombre del fabricante: - + Product name: Nombre del producto: - + Vendor ID ID del proveedor - + VID: VID: - + Product ID ID del producto - + PID: PID: - + Serial number: Número de serie: - + USB interface number: Número de interfaz USB - + HID Usage-Page: Página de uso HID - + HID Usage: Uso de HID: - + Description: Descripción: - + Support: Soporte: - + Screens preview Previsualizar pantallas - + Input Mappings Mapeos de Entrada - - + + Search Buscar - - + + Add Añadir - - + + Remove Quitar @@ -5484,17 +5711,17 @@ Apply settings and continue? Cargar Mapeo: - + Mapping Info Información de mapeo - + Author: Autor: - + Name: Nombre: @@ -5504,28 +5731,28 @@ Apply settings and continue? Asistente de aprendizaje (sólo MIDI) - + Data protocol: Protocolo de datos: - + Mapping Files: Archivos de mapeo - + Mapping Settings Configuración de mapeo - - + + Clear All Limpiar todo - + Output Mappings Mapeos de Salida @@ -5540,21 +5767,21 @@ Apply settings and continue? - Mixxx uses "mappings" to connect messages from your controller to controls in Mixxx. If you do not see a mapping for your controller in the "Load Mapping" menu when you click on your controller on the left sidebar, you may be able to download one online from the %1. Place the XML (.xml) and Javascript (.js) file(s) in the "User Mapping Folder" then restart Mixxx. If you download a mapping in a ZIP file, extract the XML and Javascript file(s) from the ZIP file to your "User Mapping Folder" then restart Mixxx. - Mixxx utiliza "mapeos" para conectar mensajes desde tu controlador a los controles en Mixxx. Si no ves un mapeo de tu controlador en el menu "Cargar Mapeo" cuando hagas click en tu controlador en la barra deslizable izquierda, pudieras descargar uno en línea desde %1. Coloca los archivos XML (.xml) y Javascript (.js) en la "Carpeta de Mapeo del Usuario" luego reinicia Mixxx. Si descargaste un mapeo en un archivo ZIP, extrae los archivos XML y Javascript del archivo ZIP a tu "Carpeta de Mapeo del Usuario" y luego reinicia Mixxx. + Mixxx uses "mappings" to connect messages from your controller to controls in Mixxx. If you do not see a mapping for your controller in the "Load Mapping" menu when you click on your controller on the left sidebar, you may be able to download one online from the %1. Place the XML (.xml) and Javascript (.js) file(s) in the "User Mapping Folder" then click the Reload button next to the mapping selector to reload all available mappings. If you download a mapping in a ZIP file, extract the XML and Javascript file(s) from the ZIP file to your "User Mapping Folder" then click the Reload button. + - + Mixxx DJ Hardware Guide Guía de Hardware de DJ de Mixxx - + MIDI Mapping File Format Formato de archivo de mapeos MIDI - + MIDI Scripting with Javascript Programación de Scripts MIDI con Javascript @@ -5723,137 +5950,137 @@ Apply settings and continue? DlgPrefDeck - + Mixxx mode Modo Mixxx - + Mixxx mode (no blinking) Modo Mixxx (sin parpadeo) - + Pioneer mode Modo Pioneer - + Denon mode Modo Denon - + Numark mode Modo Numark - + CUP mode Modo CUP - + mm:ss%1zz - Traditional mm:ss%1zz - Tradicional - + mm:ss - Traditional (Coarse) mm:ss - Tradicional (grueso) - + s%1zz - Seconds s%1zz - Segundos - + sss%1zz - Seconds (Long) sss%1zz - Segundos (Duración) - + s%1sss%2zz - Kiloseconds s%1sss%2zz - Kilosegundos - + Intro start Inicio de la entrada - + Main cue Marcador principal - + First hotcue Primera hotcue - + First sound (skip silence) Primer sonido (saltar silencio) - + Beginning of track Principio de la pista - + Reject Rechazar - + Allow, but stop deck Permitir, pero detener deck - + Allow, play from load point Permitir, reproducir desde el punto de carga - + 4% 4% - + 6% (semitone) 6% (seminota) - + 8% (Technics SL-1210) 8% (Technics SL-1210) - + 10% 10% - + 16% 16% - + 24% 24% - + 50% 50% - + 90% 90% @@ -6313,57 +6540,57 @@ Siempre puedes arrastrar y tirar pistas en la pantalla para clonar una plataform El tamaño mínimo de la apariencia seleccionada es mas grande que la resolucion de su pantalla. - + Allow screensaver to run Permite el salvapantallas - + Prevent screensaver from running Evita que se active el salvapantallas - + Prevent screensaver while playing Evita el salvapantallas mientras reproduce - + Disabled Desactivado - + 2x MSAA 2x MSAA - + 4x MSAA 4x MSAA - + 8x MSAA 8x MSAA - + 16x MSAA 16x MSAA - + This skin does not support color schemes Este skin no soporta esquemas de color - + Information Información - + Mixxx must be restarted before the new locale, scaling or multi-sampling settings will take effect. Mixxx debe ser reiniciado para que el nuevo ajuste de locale, escalado o multi-muestreo tenga efecto. @@ -6591,67 +6818,97 @@ y te permite ajustar su pitch para lograr mezclas armónicas. Ver el manual para más detalles - + Music Directory Added Directorio de Musica Agregado - + You added one or more music directories. The tracks in these directories won't be available until you rescan your library. Would you like to rescan now? Agregaste uno o mas directorios de musica. Las pistas en esas carpetas no estaran disponibles hasta que se reescaneé tu bliblioteca. Te gustaria reescanear ahora? - + Scan Escanear - + Item is not a directory or directory is missing El ítem no es un directorio, o el directorio no ha sido encontrado - + Choose a music directory Elija un directorio de música - + Confirm Directory Removal Confirme la eliminación del directorio - + Mixxx will no longer watch this directory for new tracks. What would you like to do with the tracks from this directory and subdirectories?<ul><li>Hide all tracks from this directory and subdirectories.</li><li>Delete all metadata for these tracks from Mixxx permanently.</li><li>Leave the tracks unchanged in your library.</li></ul>Hiding tracks saves their metadata in case you re-add them in the future. Mixxx no seguirá observando el directorio por nuevas pistas. Que quiere hacer con las pistas de esta carpeta y subcarpetas que están en la biblioteca?<ul><li>Esconder las pistas de la carpeta y subcarpetas.</li><li>Borrar los metadatos de estas pistas de forma permanente.</li><li>Mantener las pistas en la biblioteca.</li></ul>Esconder las pistas permite guardar los metadatos en caso que quiera volverlas a la bibloteca. - + Metadata means all track details (artist, title, playcount, etc.) as well as beatgrids, hotcues, and loops. This choice only affects the Mixxx library. No files on disk will be changed or deleted. Metadatos significa todos los detalles de la pista (artista, titulo, cantidad de reproducciones, etc) como cuadrículas de tempo, hotcues y bucles. Este cambio solo afecta a la biblioteca de Mixxx. Ningun archivo en el disco será cambiado o eliminado. - + Hide Tracks Ocultar Pistas - + Delete Track Metadata Eliminar Metadatos de la pista - + Leave Tracks Unchanged Dejar pistas sin cambios - + Relink music directory to new location Reenlazar el directorio de musica en una nueva ubicación - + + Black + + + + + ExtraBold + + + + + Bold + + + + + SemiBold + + + + + Medium + + + + + Light + + + + Select Library Font Seleccionar la Fuente para Biblioteca @@ -6700,262 +6957,267 @@ y te permite ajustar su pitch para lograr mezclas armónicas. Re-escanear directorios al inicio - + Audio File Formats Formatos de archivo de sonido - + Track Table View Vista Tabla de Pistas - + Track Double-Click Action: Acción doble-click de Pista: - + BPM display precision: Precisión al mostrar los BPM: - + Session History Historia de la sesión - + Track duplicate distance Duplicar Distancia de Pista - + When playing a track again log it to the session history only if more than N other tracks have been played in the meantime Cuando reproduces una pista de nuevo, anéxala al historial de la sesión sólo si más de N otras pistas han sido reproducidas mientras tanto. - + History playlist with less than N tracks will be deleted<br/><br/>Note: the cleanup will be performed during startup and shutdown of Mixxx. Historial de lista de reproducciones con menos de N pistas serán borradas<br/><br/>Nota: la limpieza será realizada durante el inicio y el cierre de Mixxx. - + Delete history playlist with less than N tracks Borrar historial de listado de pistas con menos de N pistas - + Library Font: Fuente para Biblioteca: - + + Show scan summary dialog + + + + Grey out played tracks Oscurecer pistas ya tocadas - + Track Search Buscar una pista - + Enable search completions Permitir completar búsquedas - + Enable search history keyboard shortcuts Activar los atajos de teclado del historial de búsqueda - + Percentage of pitch slider range for 'fuzzy' BPM search: Porcentaje del rango del deslizador de pitch para búsqueda de BPM "difuso-variable". - + This range will be used for the 'fuzzy' BPM search (~bpm:) via the search box, as well as for BPM search in Track context menu > Search related Tracks Este rango será utilizado para buscar BPM "difuso-variable" (~bpm:) en la caja de búsqueda, además de la búsqueda de BPM en el menú contextual Pista > Buscar pistas relacionadas - + Preferred Cover Art Fetcher Resolution Resolución preferida del buscador de carátulas - + Fetch cover art from coverartarchive.com by using Import Metadata From Musicbrainz. Obtén carátulas de coverartarchive.com mediante Import Metadata From Musicbrainz. - + Note: ">1200 px" can fetch up to very large cover arts. Nota: ">1200 px" puede referirse a carátulas muy grandes. - + >1200 px (if available) >1200 px (si está disponible) - + 1200 px (if available) 1200 px (si está disponible) - + 500 px 500 px - + 250 px 250 px - + Settings Directory Directorio de configuración - + The Mixxx settings directory contains the library database, various configuration files, log files, track analysis data, as well as custom controller mappings. El directorio de configuración de Mixxx contiene la base de datos de la biblioteca, varios archivos de configuración, archivos de bitácoras, datos de análisis de pistas, así como mapeos de controladores personalizados. - + Edit those files only if you know what you are doing and only while Mixxx is not running. Edita estos archivos solo si sabes lo que estás haciendo, y solo cuando Mixxx no esté siendo ejecutado. - + Open Mixxx Settings Folder Abrir Carpeta de Ajustes de Mixxx - + Library Row Height: Alto de la Fila en Biblioteca: - + Use relative paths for playlist export if possible Usar rutas relativas al exportar lista de reproducción cuando sea posible - + ... ... - + px px - + Synchronize library track metadata from/to file tags Sincroniza los metadatos de la librería de pistas desde/hacia las etiquetas de archivos - + Automatically write modified track metadata from the library into file tags and reimport metadata from updated file tags into the library Automáticamente escribe metadatos de las pistas modificadas desde la biblioteca a las etiquetas del archivo y reimporta metadatos desde las etiquetas actualizadas del archivo a la biblioteca - + Synchronize Serato track metadata from/to file tags (experimental) Sincroniza metadatos de la pista de Serato desde/hacia las etiquetas de archivo (experimental) - + Keeps track color, beat grid, bpm lock, cue points, and loops synchronized with SERATO_MARKERS/MARKERS2 file tags.<br/><br/>WARNING: Enabling this option also enables the reimport of Serato metadata after files have been modified outside of Mixxx. On reimport existing metadata in Mixxx is replaced with the metadata found in file tags. Custom metadata not included in file tags like loop colors is lost. Mantiene el color de la pista, la cuadrícula del ritmo, bloqueo de bpm, puntos de marcado, y bucles sincronizados con las etiquetas de archivo SERATO_MARKERS/MARKERS2.<br/><br/>ADVERTENCIA: Habilitando esta opción también habilita la reimportación de metadatos de Serato después de que los archivos han sido modificados afuera de Mixxx. Al reimportar metadatos existentes en Mixxx se remplaza con los metadatos encontrados en las etiquetas de archivos. Los Metadatos personalizados no incluidos en las etiquetas de archivos como los colores de los bucles se perderán. - + Edit metadata after clicking selected track Editar metadatos al clicar en una pista seleccionada - + Search-as-you-type timeout: Tiempo de espera de búsqueda mientras escribe: - + ms ms - + Load track to next available deck Carga la pista en el siguiente plato disponible - + External Libraries Bibliotecas externas - + You will need to restart Mixxx for these settings to take effect. Usted tendrá que reiniciar Mixxx para que esta configuración surta efecto. - + Show Rhythmbox Library Mostrar la librería de Rhythmbox - + Track Metadata Synchronization / Playlists Metadatos de sincronización de pistas / Listas de reproducción - + Add track to Auto DJ queue (bottom) Añadir pista al final de la cola de Auto DJ - + Add track to Auto DJ queue (top) Añadir pista a la cola de Auto DJ (al comienzo) - + Ignore Ignorar - + Show Banshee Library Mostrar la bibiloteca de Banshee - + Show iTunes Library Mostrar la librería de ITunes - + Show Traktor Library Mostrar la librería de Traktor - + Show Rekordbox Library Mostrar la Librería de Rekordbox - + Show Serato Library Mostrar la Librería de Serato - + All external libraries shown are write protected. Todas las bibliotecas mostradas estan protegidas frente a escritura. @@ -7300,33 +7562,33 @@ y te permite ajustar su pitch para lograr mezclas armónicas. DlgPrefRecord - + Choose recordings directory Elegir la carpeta para las grabaciones - - + + Recordings directory invalid Directorio de Grabaciones inválido - + Recordings directory must be set to an existing directory. El directorio de Grabaciones debe configurarse a un directorio existente. - + Recordings directory must be set to a directory. El directorio de Grabaciones debe configurarse a un directorio. - + Recordings directory not writable Directorio de Grabaciones no escribible - + You do not have write access to %1. Choose a recordings directory you have write access to. No tienes acceso de escritura en %1. Escoge un directorio de grabaciones al que tengas acceso de escritura. @@ -7344,43 +7606,55 @@ y te permite ajustar su pitch para lograr mezclas armónicas. Examinar… - - + + This will include the filepath for each track in the CUE file. +This option makes the CUE file less portable and can reveal personal +information from filepaths (i.e. username) + + + + + Enable File Annotation in CUE file + + + + + Quality Calidad - + Tags Etiquetas - + Title Título - + Author Autor - + Album Album - + Output File Format Formato de fichero de salida - + Compression Compresión - + Lossy Con pérdidas @@ -7395,12 +7669,12 @@ y te permite ajustar su pitch para lograr mezclas armónicas. Directorio: - + Compression Level Nivel de compresión - + Lossless Sin pérdidas @@ -7533,172 +7807,177 @@ El objetivo de sonoridad es aproximado y asume que la preganancia de la pista y DlgPrefSound - + %1 Hz %1 Hz - + Default (long delay) Por Defecto (mas retardo) - + Experimental (no delay) Experimental (sin retardo) - + Disabled (short delay) Desactivado (poco retardo) - + Soundcard Clock Reloj de la tarjeta de sonido - + Network Clock Reloj de red - + Direct monitor (recording and broadcasting only) Monitorización directa (solo grabación y emisión en vivo) - + Disabled Desactivado - + Enabled Habilitado - + Stereo Estéreo - + Mono Mono - + To enable Realtime scheduling (currently disabled), see the %1. Para activar el Planificador en tiempo real (actualmente desactivado), mira %1. - + The %1 lists sound cards and controllers you may want to consider for using Mixxx. %1 muestra una lista de tarjetas de sonido y controladores que podrías considerar para utilizar con Mixxx - + Mixxx DJ Hardware Guide Guía de Hardware DJ de Mixxx - + + Find details in the Mixxx user manual + + + + Information Información - + Mixxx must be restarted before the multi-threaded RubberBand setting change will take effect. Mixxx debe ser reiniciado para que el cambio de ajuste de RubberBand multi-hilo tenga efecto. - + auto (<= 1024 frames/period) auto (<= 1024 fotogramas/período) - + 2048 frames/period 2048 fotogramas/período - + 4096 frames/period 4096 fotogramas/período - + Are you sure? ¿Estás seguro(a)? - + Distribute stereo channels into mono channels for parallel processing will result in a loss of mono compatibility and a diffuse stereo image. It is not recommended during broadcasting or recording. Distribuir los canales estéreo en canales mono para su procesamiento en paralelo podría resultar en la pérdida de la compatibilidad mono y una imagen estéreo difusa. No se recomienda al transmitir en vivo o al grabar. - + Are you sure you wish to proceed? ¿Realmente deseas continuar? - + No No - + Yes, I know what I am doing Sí, se lo que estoy haciendo - + Microphone inputs are out of time in the record & broadcast signal compared to what you hear. La entrada de micrófono está desincronizada respecto la grabación y emisión comparado con la señal que se oye. - + Measure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. Mide la latencia total e introducela en la Compensacion de latencia del micrófono para sincronizar el micrófono. - + Refer to the Mixxx User Manual for details. Para más detalles, lea el manual de usuario de Mixxx. - + Configured latency has changed. La latencia configurada ha cambiado. - + Remeasure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. Vuelve a medir la latencia total e introducela en la Compensacion de latencia del micrófono para sincronizar el micrófono. - + Realtime scheduling is enabled. La planificación en Tiempo Real está activada. - + Main output only Solo Salida principal - + Main and booth outputs Salidas principal y de cabina - + %1 ms %1 ms - + Configuration error Error de configuración @@ -7765,17 +8044,22 @@ El objetivo de sonoridad es aproximado y asume que la preganancia de la pista y ms - + + Deck and Bus outputs are for external mixers. They are post-fader and include effects and crossfader (for Auto DJ). For external mixing, make sure all Mixxx faders and EQ knobs are set to their default position (right- or double-click). + + + + 20 ms 20 ms - + Buffer Underflow Count Contador de vaciado del búfer - + 0 0 @@ -7800,12 +8084,12 @@ El objetivo de sonoridad es aproximado y asume que la preganancia de la pista y Entrada - + System Reported Latency Latencia reportada por el sistema - + Enlarge your audio buffer if the underflow counter is increasing or you hear pops during playback. Aumente su búfer de audio si el contador de desbordamiento está aumentando o escuchas chasquidos durante la reproducción. @@ -7835,7 +8119,7 @@ El objetivo de sonoridad es aproximado y asume que la preganancia de la pista y Diagnóstico y sugerencias - + Downsize your audio buffer to improve Mixxx's responsiveness. Disminuya su búfer de audio para mejorar la velocidad de respuesta de Mixxx. @@ -7882,7 +8166,7 @@ El objetivo de sonoridad es aproximado y asume que la preganancia de la pista y Configuración de Vinilo - + Show Signal Quality in Skin Mostrar Calidad de Señal en la apariencia @@ -7918,46 +8202,51 @@ El objetivo de sonoridad es aproximado y asume que la preganancia de la pista y + Pitch estimator + + + + Deck 1 Plato 1 - + Deck 2 Plato 2 - + Deck 3 Plato 3 - + Deck 4 Plato 4 - + Signal Quality Calidad de Señal - + http://www.xwax.co.uk http://www.xwax.co.uk - + Powered by xwax Con tecnología de xwax - + Hints Sugerencias - + Select sound devices for Vinyl Control in the Sound Hardware pane. Seleccione los dispositivos de sonico para el Control por Vinilo en el Panel de Hardware de Sonido. @@ -7965,58 +8254,58 @@ El objetivo de sonoridad es aproximado y asume que la preganancia de la pista y DlgPrefWaveform - + Filtered Filtrada - + HSV HSV - + RGB RGB - + Top Arriba - + Center Centrado - + Bottom Abajo - + 1/3 of waveform viewer options for "Text height limit" 1/3 de visualización de forma de onda - + Entire waveform viewer Visor de forma de onda completa - + OpenGL not available OpenGL no disponible - + dropped frames fotogramas perdidos - + Cached waveforms occupy %1 MiB on disk. Formas de onda almacenadas en caché ocupan %1 MiB en el disco. @@ -8034,22 +8323,17 @@ El objetivo de sonoridad es aproximado y asume que la preganancia de la pista y Tasa de fotograma - + OpenGL Status Estado de OpenGL - + Displays which OpenGL version is supported by the current platform. Muestra qué versión de OpenGL es soportada por la plataforma actual. - - Normalize waveform overview - Normalizar vista de forma de onda - - - + Average frame rate Refresco de pantalla promedio @@ -8065,7 +8349,7 @@ El objetivo de sonoridad es aproximado y asume que la preganancia de la pista y Nivel de zoom por defecto - + Displays the actual frame rate. Muestra la tasa de refresco actual. @@ -8100,7 +8384,7 @@ El objetivo de sonoridad es aproximado y asume que la preganancia de la pista y Graves - + Show minute markers on waveform overview Mostrar marcadores de minutos en la vista de forma de onda @@ -8145,7 +8429,7 @@ El objetivo de sonoridad es aproximado y asume que la preganancia de la pista y Ganancia visual global - + The waveform overview shows the waveform envelope of the entire track. Select from different types of displays for the waveform overview, which differ primarily in the level of detail shown in the waveform. La vista general de forma de onda muestra la forma de onda de la pista entera. @@ -8214,22 +8498,22 @@ Elija entre los distintos tipos de visualización para la forma de onda, que se pt - + Caching Almacenamiento en caché - + Mixxx caches the waveforms of your tracks on disk the first time you load a track. This reduces CPU usage when you are playing live but requires extra disk space. Mixxx almacena en caché las formas de onda de las pistas en el disco la primera vez que se carga una pista. Esto reduce el uso de la CPU cuando se está jugando en vivo, pero requiere espacio en disco adicional. - + Enable waveform caching Habilitar el almacenamiento en caché de forma de onda - + Generate waveforms when analyzing library Generar formas de onda cuando se analiza la biblioteca @@ -8245,7 +8529,7 @@ Elija entre los distintos tipos de visualización para la forma de onda, que se - + Type Tipo @@ -8275,12 +8559,58 @@ Elija entre los distintos tipos de visualización para la forma de onda, que se Mover the marcador de posición en la pista a la izquierda, derecha o centro (Defabrica). - - Overview Waveforms - Visualizar formas de onda + + Stem + + + + + Channel opacity + + + + + Channel opacity (outline) + + + + + Main stem opacity + + + + + Outline stem opacity + + + + + Move channel to foreground when volume is adjusted + + + + + Overview Waveforms + Visualizar formas de onda + + + + Gain + + + + + Normalize to peak + + + + + Use Waveform "Global" gain and ReplayGain (if enabled) + 'Global' refers to the 'Global' visual gain in the scrolling waveform settings + - + Clear Cached Waveforms Las formas de onda claras en caché @@ -8772,7 +9102,7 @@ Carpeta: %2 BPM: - + Location: Ubicación: @@ -8787,27 +9117,27 @@ Carpeta: %2 Comentarios - + BPM BPM - + Sets the BPM to 75% of the current value. Ajusta el BPM al 75% del valor actual. - + 3/4 BPM 3/4 BPM - + Sets the BPM to 50% of the current value. Ajusta el BPM al 50% del valor actual. - + Displays the BPM of the selected track. Mostrar los BPMs de la pista seleccionada. @@ -8862,49 +9192,49 @@ Carpeta: %2 Genero - + ReplayGain: Ganancia de repetición: - + Sets the BPM to 200% of the current value. Ajusta el BPM al 200% del valor actual. - + Double BPM Duplicar BPM - + Halve BPM Reducir a la mitad los BPM - + Clear BPM and Beatgrid Borrar el BPM y la cuadrícula de tempo - + Move to the previous item. "Previous" button Mover al elemento anterior. - + &Previous &Previo - + Move to the next item. "Next" button Mover al siguiente elemento. - + &Next &Siguiente @@ -8929,12 +9259,12 @@ Carpeta: %2 Color - + Date added: Fecha de adición: - + Open in File Browser Abrir en el explorador de archivos @@ -8944,12 +9274,17 @@ Carpeta: %2 Tasa de muestreo: - + + Filesize: + + + + Track BPM: BPM de la pista: - + Converts beats detected by the analyzer into a fixed-tempo beatgrid. Use this setting if your tracks have a constant tempo (e.g. most electronic music). Often results in higher quality beatgrids, but will not do well on tracks that have tempo shifts. @@ -8958,90 +9293,90 @@ Utiliza este ajuste si tus pistas tienen un tempo constante (ej. la mayoría de A menudo resulta en una cuadrícula de mayor calidad, pero no lo hacemos bien en pistas que tienen cambios de tempo. - + Assume constant tempo Asumir tempo constante - + Sets the BPM to 66% of the current value. Ajusta el BPM al 66% del valor actual. - + 2/3 BPM 2/3 BPM - + Sets the BPM to 150% of the current value. Incrementa el BPM al 150% del valor actual. - + 3/2 BPM 3/2 BPM - + Sets the BPM to 133% of the current value. Incrementa el BPM al 133% del valor actual. - + 4/3 BPM 4/3 BPM - + Tap with the beat to set the BPM to the speed you are tapping. Golpee siguiendo el ritmo para establecer el BPM. - + Tap to Beat Pulse siguiendo el ritmo - + Hint: Use the Library Analyze view to run BPM detection. Truco: Use la vista de análisis en la biblioteca para ejecutar la detección de BPM. - + Save changes and close the window. "OK" button Guardar cambios y cerrar la ventana. - + &OK &OK - + Discard changes and close the window. "Cancel" button Descartar cambios y cerrar. - + Save changes and keep the window open. "Apply" button Guardar cambios y mantener abierta la ventana. - + &Apply &Aplicar - + &Cancel &Cancelar - + (no color) (sin color) @@ -9198,7 +9533,7 @@ A menudo resulta en una cuadrícula de mayor calidad, pero no lo hacemos bien en &OK - + (no color) (sin color) @@ -9400,27 +9735,27 @@ A menudo resulta en una cuadrícula de mayor calidad, pero no lo hacemos bien en EngineBuffer - + Soundtouch (faster) Soundtouch (rápido) - + Rubberband (better) Rubberband (mejor) - + Rubberband R3 (near-hi-fi quality) Banda elástica R3 (calidad casi alta fidelidad) - + Unknown, using Rubberband (better) Desconocido, utilizando Banda elástica (mejor) - + Unknown, using Soundtouch Desconocido, usando Soundtouch @@ -9635,15 +9970,15 @@ A menudo resulta en una cuadrícula de mayor calidad, pero no lo hacemos bien en LegacySkinParser - - + + Safe Mode Enabled Shown when Mixxx is running in safe mode. Modo Seguro Activado - - + + No OpenGL support. Shown when Spinny can not be displayed. Please keep @@ -9655,57 +9990,57 @@ Shown when VuMeter can not be displayed. Please keep de OpenGL. - + activate activar - + toggle conmutar - + right derecha - + left izquierda - + right small derecha pequeño - + left small izquierda pequeño - + up arriba - + down abajo - + up small arriba pequeño - + down small abajo pequeño - + Shortcut Atajo @@ -9713,37 +10048,37 @@ de OpenGL. Library - + This or a parent directory is already in your library. Este directorio o su superior ya se encuentra en tu biblioteca. - + This or a listed directory does not exist or is inaccessible. Aborting the operation to avoid library inconsistencies Este directorio o el indicado no existe o es inaccesible. Cancelando la operación para evitar inconsistencias de biblioteca. - - + + This directory can not be read. Este directorio no puede ser leído. - + An unknown error occurred. Aborting the operation to avoid library inconsistencies Ha ocurrido un error desconocido. Cancelando la operación para evitar inconsistencias de biblioteca - + Can't add Directory to Library No se pudo agregar el directorio a la biblioteca - + Could not add <b>%1</b> to your library. %2 @@ -9752,27 +10087,27 @@ Cancelando la operación para evitar inconsistencias de biblioteca %2 - + Can't remove Directory from Library No se pudo remover el directorio de la biblioteca. - + An unknown error occurred. Ha ocurrido un error desconocido. - + This directory does not exist or is inaccessible. Este directorio no existe o es inaccesible. - + Relink Directory Reenlazar directorio - + Could not relink <b>%1</b> to <b>%2</b>. %3 @@ -9937,12 +10272,12 @@ Do you really want to overwrite it? Pistas Ocultas - + Export to Engine DJ Exportar a Engine DJ - + Tracks Pistas @@ -9950,37 +10285,37 @@ Do you really want to overwrite it? MixxxMainWindow - + Sound Device Busy El dispositivo de sonido está ocupado - + <b>Retry</b> after closing the other application or reconnecting a sound device <b>Reintente</b> luego de cerrar las otras aplicaciones o reconectar un dispositivo de sonido - - - + + + <b>Reconfigure</b> Mixxx's sound device settings. <b>Reconfigure</b> las opciones del dispositivo de sonido de Mixxx. - - + + Get <b>Help</b> from the Mixxx Wiki. Obtenga <b>ayuda</b> del wiki de Mixxx. - - - + + + <b>Exit</b> Mixxx. <b>Salir</b> de Mixxx. - + Retry Reintentar @@ -9990,213 +10325,213 @@ Do you really want to overwrite it? apariencia - + Allow Mixxx to hide the menu bar? ¿Permitir a Mixxx ocultar la barra de menú? - + Hide Always show the menu bar? Ocultar - + Always show Mostrar siempre - + The Mixxx menu bar is hidden and can be toggled with a single press of the <b>Alt</b> key.<br><br>Click <b>%1</b> to agree.<br><br>Click <b>%2</b> to disable that, for example if you don't use Mixxx with a keyboard.<br><br>You can change this setting any time in Preferences -> Interface.<br> Keep formatting tags <b> (bold text) and <br> (linebreak). %1 is the placeholder for the 'Always show' button label La barra de menú de Mixxx ha sido ocultada y se puede alternar presionando la tecla <b>Alt</b>. <br><br>Haz clic en <b>%1</b> para aceptar. <br><br>Haz clic en <b>%2</b> para desactivarlo, por ejemplo si usas Mixxx sin un teclado. <br><br>Puedes cambiar este ajuste en cualquier momento en Preferencias -> Interfaz. <br> - + Ask me again Pregúntame de nuevo - - + + Reconfigure Reconfigurar - + Help Ayuda - - + + Exit Salir - - + + Mixxx was unable to open all the configured sound devices. Mixxx no ha podido activar todos los dispositivos de sonido configurados. - + Sound Device Error Error del dispositivo de sonido - + <b>Retry</b> after fixing an issue <b>Reintenta</b> una vez corregido el problema - + No Output Devices No hay dispositivos de salida - + Mixxx was configured without any output sound devices. Audio processing will be disabled without a configured output device. Mixxx fue configurado sin ningún dispositivo de salida de audio. El procesamiento de audio estará desactivado mientras no se configure un dispositivo de audio de salida. - + <b>Continue</b> without any outputs. <b>Continuar</b> sin ninguna salida. - + Continue Continuar - + Load track to Deck %1 Cargar pista al plato %1 - + Deck %1 is currently playing a track. El plato %1 está reproduciendo una pista. - + Are you sure you want to load a new track? ¿Está seguro de cargar una pista nueva? - + There is no input device selected for this vinyl control. Please select an input device in the sound hardware preferences first. No hay ningún dispositivo de entrada seleccionado para el control por vinilo. Por favor, seleccione un dispositivo de entrada en las preferencias de hardware de sonido. - + There is no input device selected for this passthrough control. Please select an input device in the sound hardware preferences first. No hay ningún dispositivo de entrada seleccionado para el control passthrough. Por favor, seleccione un dispositivo de entrada en las preferencias de hardware de sonido. - + There is no input device selected for this microphone. Do you want to select an input device? No se ha seleccionado un dispositivo de Entrada para este micrófono. ¿Deseas escoger uno ahora? - + There is no input device selected for this auxiliary. Do you want to select an input device? No se ha seleccionado un dispositivo de entrada para este Auxiliar. ¿Deseas escoger uno ahora? - + Scan took %1 El escaneo tomo %1 - + No changes detected. No se han detectado cambios - - + + %1 tracks in total %1 pistas en total - + %1 new tracks found Encontradas %1 pistas nuevas - + %1 moved tracks detected %1 pistas movidas detectadas - + %1 tracks are missing (%2 total) %1 pistas perdidas (%2 en total) - + %1 tracks have been rediscovered %1 pistas han sido reencontradas - + Library scan finished Escaneo de la biblioteca terminado - + Error in skin file Error en el archivo de la apariencia - + The selected skin cannot be loaded. No se ha podido cargar la apariencia seleccionada. - + OpenGL Direct Rendering Renderizado directo de OpenGL - + Direct rendering is not enabled on your machine.<br><br>This means that the waveform displays will be very<br><b>slow and may tax your CPU heavily</b>. Either update your<br>configuration to enable direct rendering, or disable<br>the waveform displays in the Mixxx preferences by selecting<br>"Empty" as the waveform display in the 'Interface' section. El renderizado directo no está habilitado en tu máquina.<br><br>Esto significa que la pantalla de la forma de onda será muy <br><b>lenta y puede agobiar a tu CPU fuertemente</b>. Ya sea que actualices tu<br>configuración para habilitar renderizado directo, o deshabilitar<br>las pantallas de forma de onda en las preferencias de Mixxx seleccionando <br>"Vacío" como la pantalla de forma de onda en la sección 'Interface'. - - - + + + Confirm Exit Confirmar salida - + A deck is currently playing. Exit Mixxx? Un plato está reproduciendo. ¿Salir de Mixxx? - + A sampler is currently playing. Exit Mixxx? Un reproductor de muestras está en reproducción. ¿Salir de Mixxx? - + The preferences window is still open. La ventana de preferencias todavía está abierta. - + Discard any changes and exit Mixxx? ¿Descartar cambios y salir de Mixxx? @@ -10212,13 +10547,13 @@ Do you want to select an input device? PlaylistFeature - + Lock Bloquear - - + + Playlists Listas de reproducción @@ -10228,58 +10563,63 @@ Do you want to select an input device? Aleatorizar lista de reproducción - + + Adopt current order + + + + Unlock all playlists - + Delete all unlocked playlists - + Unlock Desbloquear - - + + Confirm Deletion - + Do you really want to delete all unlocked playlists? - + Deleting %1 unlocked playlists.<br>This operation can not be undone! - + Playlists are ordered lists of tracks that allow you to plan your DJ sets. Las listas de reproducción son listar ordenadas de pistas que te permiten planificar tus sesiones de DJ. - + It may be necessary to skip some tracks in your prepared playlist or add some different tracks in order to maintain the energy of your audience. Podría ser necesario saltar algunas pistas en tu lista de reproducción planificada, o añadir algunas pistas diferentes, con el fin de mantener la energía de tu audiencia. - + Some DJs construct playlists before they perform live, but others prefer to build them on-the-fly. Algunos DJ preparan listas de reproducción antes de tocar en vivo, pero otros prefieren hacerlo en el momento. - + When using a playlist during a live DJ set, remember to always pay close attention to how your audience reacts to the music you've chosen to play. Cuando uses una lista de reproducción en una actuación en vivo, recuerda siempre prestar mucha atención a cómo reacciona la audiencia con la música que has elegido reproducir. - + Create New Playlist Crear una nueva lista de reproducción @@ -10378,59 +10718,59 @@ Do you want to select an input device? QMessageBox - + Upgrading Mixxx Actualizando Mixxx - + Mixxx now supports displaying cover art. Do you want to scan your library for cover files now? Mixxx ha añadido soporte para mostrar carátulas. ¿Desea escanear la biblioteca ahora para encontrar las carátulas? - + Scan Escanear - + Later Después - + Upgrading Mixxx from v1.9.x/1.10.x. Actualizar Mixxx desde v1.9.x/1.10.x. - + Mixxx has a new and improved beat detector. Mixxx ahora tiene un nuevo y mejorado analizador de ritmo. - + When you load tracks, Mixxx can re-analyze them and generate new, more accurate beatgrids. This will make automatic beatsync and looping more reliable. Cuando cargas pistas, Mixxx puede reanalizarlas y generar cuadrículas de tempo nuevas y más precisas. Esto hará que la sincronización y los Loops sean más fiables. - + This does not affect saved cues, hotcues, playlists, or crates. Esto no afecta a los Cues, Hotcues, listas de reproducción o cajas guardados/as. - + If you do not want Mixxx to re-analyze your tracks, choose "Keep Current Beatgrids". You can change this setting at any time from the "Beat Detection" section of the Preferences. Si no quieres que Mixxx reanalize tus pistas, elige "Mantener las cuadrículas de tempo actuales". Puedes cambiar esta configuración en cualquier momento desde la sección "Detección de Beats" de la ventana Preferencias. - + Keep Current Beatgrids Mantener las cuadrículas de tempo actuales - + Generate New Beatgrids Generar nuevas cuadrículas de tempo @@ -10544,69 +10884,82 @@ Do you want to scan your library for cover files now? 14-bit (MSB) - + Main + Audio path indetifier Principal - + Booth + Audio path indetifier Cabina - + Headphones + Audio path indetifier Auriculares - + Left Bus + Audio path indetifier Bus izquierdo - + Center Bus + Audio path indetifier Bus central - + Right Bus + Audio path indetifier Bus derecho - + Invalid Bus + Audio path indetifier Bus inválido - + Deck + Audio path indetifier Plato - + Record/Broadcast + Audio path indetifier Grabación / Emisión en vivo - + Vinyl Control + Audio path indetifier Control de vinilo - + Microphone + Audio path indetifier Micrófono - + Auxiliary + Audio path indetifier Auxiliar - + Unknown path type %1 + Audio path Tipo de ruta %1 desconocida @@ -10949,47 +11302,49 @@ Si la amplitud es cero, este parámetro permite mover la posición manualmente p Ancho - + Metronome Metrónomo - + + The Mixxx Team Equipo de Mixxx - + Adds a metronome click sound to the stream Añade el sonido de tic tac de un metrónomo a la señal de salida - + BPM BPM - + Set the beats per minute value of the click sound Define las pulsaciones por minuto del tic tac - + Sync Sincronizar - + Synchronizes the BPM with the track if it can be retrieved Sincroniza el BPM con el de la pista, si se puede obtener - + + Gain Ganancia - + Set the gain of metronome click sound Configura la ganancia del sonido del metrónomo @@ -11793,14 +12148,14 @@ Todo a la derecha: final del período La grabación OGG no está soportada. La librería OGG/Vorbis podría no inicializarse. - - + + encoder failure falla del codificador - - + + Failed to apply the selected settings. Fallo al aplicar los ajustes seleccionados. @@ -12009,15 +12364,86 @@ para mantener la señal entrante y saliente tan sonoras como sea posible.Encendido + + Auto Gain Control + + + + + AGC + + + + + Auto Gain Control (AGC) automatically adjusts the gain of an audio signal to maintain a consistent output level. + + + + Threshold (dBFS) Límite (Threshold, dBFS) + Threshold Límite + + + The Threshold knob adjusts the level above which the effect starts enhancing the input signal + + + + + Target (dBFS) + + + + + Target + + + + + The Target knob adjusts the desired target level of the output signal + + + + + Gain (dB) + + + + + The Gain knob adjusts the maximum amount of gain that the effect will apply + + + + + Knee (dB) + + + + + The Knee knob defines the range around the Threshold where gain changes are applied gradually, +ensuring smooth transitions and avoiding abrupt level shifts. + + + + + The Attack knob sets the time that determines how fast the auto gain +will set in once the signal exceeds the threshold + + + + + The Release knob sets the time that determines how fast the auto gain will recover from the gain +adjustment once the signal falls under the threshold. Depending on the input signal, short release times +may introduce a 'pumping' effect and/or distortion. + + The Threshold knob adjusts the level above which the compressor starts attenuating the input signal @@ -12048,6 +12474,7 @@ A una proporción de 1:1, la compresión no tiene efecto, ya que la entrada es e Knee (dBFS) + Knee Knee @@ -12058,11 +12485,13 @@ A una proporción de 1:1, la compresión no tiene efecto, ya que la entrada es e La perilla de Knee es utilizada para lograr una curva de compresión redondeada. + Attack (ms) Ataque (ms) + Attack Ataque @@ -12075,11 +12504,13 @@ will set in once the signal exceeds the threshold la compresión una vez que la señal supere el Límite. + Release (ms) Liberación (Release, ms) + Release Release @@ -12110,12 +12541,12 @@ pueden introducir un efecto de "bombeo" y/o distorsión. varios - + built-in nativo - + missing no encontrado @@ -12150,42 +12581,42 @@ pueden introducir un efecto de "bombeo" y/o distorsión. Stem #%1 - + Empty Vacío - + Simple Simple - + Filtered Filtrado - + HSV HSV - + VSyncTest VSyncTest - + RGB RGB - + Stacked Agrupado - + Unknown Desconocido @@ -12446,193 +12877,193 @@ pueden introducir un efecto de "bombeo" y/o distorsión. ShoutConnection - - + + Mixxx encountered a problem Mixxx encontró un problema - + Could not allocate shout_t No se pudo asignar shout_t - + Could not allocate shout_metadata_t No se pudo asignar shout_metadata_t - + Error setting non-blocking mode: Error al establecer el modo "sin bloqueo": - + Error setting tls mode: Error de configuracion del "Modo TLS" - + Error setting hostname! ¡Error al establecer el nombre de host! - + Error setting port! ¡Error al establecer el puerto! - + Error setting password! ¡Error al establecer la contraseña! - + Error setting mount! ¡Error al establecer el punto de montaje! - + Error setting username! ¡Error al establecer el nombre de usuario! - + Error setting stream name! ¡Error al establecer el nombre de la emisión! - + Error setting stream description! ¡Error al establecer la descripción de la emisión! - + Error setting stream genre! ¡Error al establecer el género de la emisión! - + Error setting stream url! ¡Error al establecer la URL de la emisión! - + Error setting stream IRC! ¡Error al configurar el flujo IRC! - + Error setting stream AIM! ¡Error al configurar el flujo AIM! - + Error setting stream ICQ! ¡Error al configurar el flujo ICQ! - + Error setting stream public! Error al iniciar la emisión pública! - + Unknown stream encoding format! ¡Formato de codificación de transmisión desconocido! - + Use a libshout version with %1 enabled Usar una versión de libshout con %1 activado - + Error setting stream encoding format! Error ajuste formato de codificación en emisión! - + Broadcasting at 96 kHz with Ogg Vorbis is not currently supported. Please try a different sample rate or switch to a different encoding. Transmitir a 96 kHz con Ogg Vorbis no está soportado actualmente. Por favor intente una frecuencia de muestreo diferente o cambie a una codificación diferente. - + See https://github.com/mixxxdj/mixxx/issues/5701 for more information. Consulta https://github.com/mixxxdj/mixxx/issues/5701 para más información. - + Unsupported sample rate Tasa de muestreo no soportada - + Error setting bitrate Error al establecer la tasa de bits - + Error: unknown server protocol! ¡Error: protocolo del servidor desconocido! - + Error: Shoutcast only supports MP3 and AAC encoders Error: Shoutcast solo soporta codificadores MP3 y AAC - + Error setting protocol! ¡Error al establecer el protocolo! - + Network cache overflow Caché de red excedido - + Connection error Error de connexión - + One of the Live Broadcasting connections raised this error:<br><b>Error with connection '%1':</b><br> Una de las fuentes de emisión en vivo ha lanzado este error:<br><b>Error con la fuente '%1':</b><br> - + Connection message Mensaje de conexión - + <b>Message from Live Broadcasting connection '%1':</b><br> <b>Mensaje de la fuente de emisión en vivo '%1':</b><br> - + Lost connection to streaming server and %1 attempts to reconnect have failed. Se ha perdido la conexión al servidor de emisión y han fallado %1 intentos de reconexión. - + Lost connection to streaming server. Se ha perdido la conexión al servidor de emisión - + Please check your connection to the Internet. Comprueba tu conexión a internet. - + Can't connect to streaming server No se puede conectar al servidor de emisión - + Please check your connection to the Internet and verify that your username and password are correct. Comprobe a súa conexión a internet e verifique que o seu nome de usuario e contrasinal son correctos. @@ -12640,7 +13071,7 @@ pueden introducir un efecto de "bombeo" y/o distorsión. SoftwareWaveformWidget - + Filtered Filtrada @@ -12648,23 +13079,23 @@ pueden introducir un efecto de "bombeo" y/o distorsión. SoundManager - - + + a device un dispositivo - + An unknown error occurred Ocurrió un error desconocido - + Two outputs cannot share channels on "%1" Dos salidas no pueden usar los mismos canales de %1 - + Error opening "%1" Error al abrir "%1" @@ -12849,7 +13280,7 @@ pueden introducir un efecto de "bombeo" y/o distorsión. - + Spinning Vinyl Vinilo virtual @@ -13031,7 +13462,7 @@ pueden introducir un efecto de "bombeo" y/o distorsión. - + Cover Art Portada @@ -13221,243 +13652,243 @@ pueden introducir un efecto de "bombeo" y/o distorsión. Mantiene la ganancia del filtro de graves en cero, mientras está activo. - + Displays the tempo of the loaded track in BPM (beats per minute). Muestra el tempo de la pista cargada, en BPM (golpes por minuto). - + Tempo Tempo - + Key The musical key of a track Tono - + BPM Tap Golpeo de BPM - + When tapped repeatedly, adjusts the BPM to match the tapped BPM. Cuando se pulsa repetidamente, ajusta el BPM para que coincida con las pulsaciones realizadas. - + Adjust BPM Down Reduce el BPM - + When tapped, adjusts the average BPM down by a small amount. Cuando se pulsa, reduce el BPM promedio un poco. - + Adjust BPM Up Aumenta el BPM - + When tapped, adjusts the average BPM up by a small amount. Cuando se pulsa, aumenta el BPM promedio un poco. - + Adjust Beats Earlier Mueve la cuadrícula un poco antes - + When tapped, moves the beatgrid left by a small amount. En pulsarlo, mueve la cuadrícula de tempo un poco a la izquierda. - + Adjust Beats Later Mueve la cuadrícula un poco después - + When tapped, moves the beatgrid right by a small amount. En pulsarlo, mueve la cuadrícula de tempo un poco a la derecha. - + Tempo and BPM Tap Golpeo de Tempo y BPM - + Show/hide the spinning vinyl section. Mostrar/ocultar la sección de vinilo giratorio. - + Keylock Bloqueo tonal - + Toggling keylock during playback may result in a momentary audio glitch. Alternar el bloqueo tonal durante la reproducción puede producir una pequeña distorsión de audio. - + Toggle visibility of Loop Controls Cambia la visibilidad de los Controles de Bucles - + Toggle visibility of Beatjump Controls Cambia la visibilidad de los Controles de Salto de Ritmo - + Toggle visibility of Rate Control Alternar visibilidad del control de velocidad - + Toggle visibility of Key Controls Cambia la visibilidad de los Controles de Clave - + (while previewing) (mientras se previsualiza) - + Places a cue point at the current position on the waveform. Coloca un punto de Cue en la posición actual de la forma de onda. - + Stops track at cue point, OR go to cue point and play after release (CUP mode). Detiene la pista en el punto cue, O BIEN va al punto cue y reproduce en soltar (modo CUP). - + Set cue point (Pioneer/Mixxx/Numark mode), set cue point and play after release (CUP mode) OR preview from it (Denon mode). Establece el punto Cue (Modo Pioneer/Mixxx/Numark), establece el punto Cue y reproduce en soltar (modo CUP) O BIEN hace una preescuha del mismo (Modo Denon). - + Is latching the playing state. Está reteniendo el estado de reproducción. - + Seeks the track to the cue point and stops. Lleva la pista al punto de Cue y para. - + Play Reproducir - + Plays track from the cue point. Reproduce la pista desde el punto Cue. - + Sends the selected channel's audio to the headphone output, selected in Preferences -> Sound Hardware. Envía el audio del canal seleccionado a la salida de auriculares, seleccionada en Preferencias -> Hardware de Sonido - + (This skin should be updated to use Sync Lock!) (Esta carátula debería actualizarse para utilizar Bloqueo de Sincronización!) - + Enable Sync Lock Habilitar Sync Lock - + Tap to sync the tempo to other playing tracks or the sync leader. Pulse para sincronizar el tiempo con otras pistas en reproducción o líder de sincronización. - + Enable Sync Leader Habilitar Sync Lock - + When enabled, this device will serve as the sync leader for all other decks. Cuando está habilitado, este dispositivo servirá como líder de sicronización para todas las otros platos. - + This is relevant when a dynamic tempo track is loaded to a sync leader deck.In that case, other synced devices will adopt the changing tempo. Es relevante cuando una pista con tempo dinámico es cargada a un deck líder de sincronización. En ese caso, otros dispositivos sincronizados adoptarán el tempo cambiante. - + Changes the track playback speed (affects both the tempo and the pitch). If keylock is enabled, only the tempo is affected. Cambia la velocidad de reproducción de la pista (afecta tanto el tempo como el tono). Si está habilitado el bloqueo, únicamente afecta al tempo. - + Tempo Range Display Visualizador del rango de tempo - + Displays the current range of the tempo slider. Muestra el rango actual del deslizador de tempo. - + Un-ejects when no track is loaded, i.e. reloads the track that was ejected last (of any deck). Se recupera la pista expulsada cuando no hay ninguna pista cargada, es decir, vuelve a cargar la pista que se expulsó en último lugar (de cualquier deck). - + Delete selected hotcue. Borra el acceso directo seleccionado - + Track Comment Comentario de la pista - + Displays the comment tag of the loaded track. Muestra la etiqueta de comentario de la pista cargada. - + Opens separate artwork viewer. Abre el visualizador separado de carátulas. - + Effect Chain Preset Settings Configuraciones de Preconfiguración de Cadena de Efectos - + Show the effect chain settings menu for this unit. Muestra el menú de las configuraciones de las cadenas de efectos para esta unidad. - + Select and configure a hardware device for this input Selecciona y configura un dispositivo de hardware para esta entrada - + Recording Duration Duración de la grabación @@ -13680,950 +14111,985 @@ pueden introducir un efecto de "bombeo" y/o distorsión. Mantiene la velocidad de reproducción baja (pequeña cantidad) cuando se activa. - + When tapped repeatedly, adjusts the tempo to match the tapped BPM. Cuando se pulsa repetidamente, ajusta el tempo para coincidir con la frecuencia de pulsaciones. + + + Click to open the tempo/BPM editor + + + + + It also shows a colored bar if Key colors are enabled in the Preferences. + + + The bar will be split vertically if the track's key is in between full keys. + + + + Tempo Tap Seguidor de Tempo (Tempo Tap) - + Rate Tap and BPM Tap Frecuencia de pulsaciones y de BPM - + + Set Tempo + + + + + Set the desired tempo in BPM. If the track currently has no BPM detected, set the desired tempo in percent. + + + + Adjust beatgrid by exactly one half beat. Usable only on tracks with constant tempo. Ajusta la cuadrícula de tiempo en exactamente medio beat. Solo se puede usar en pistas con tempo constante - + Revert last BPM/Beatgrid Change Revierte el último cambio de BPM/cuadrícula de tiempo - + Revert last BPM/Beatgrid Change of the loaded track. Revierte el último cambio de BPM/Cuadrícula de tiempo para la pista cargada. - - + + Toggle the BPM/beatgrid lock Cambia el bloqueo de BPM/cuadrícula de tiempo - + Tempo and Rate Tap Toques de Tempo y Frecuencia - + Tempo, Rate Tap and BPM Tap Toques de Tempo, Frecuencia y BPM - + Shift cues earlier Cambia marcas antes - - + + Shift cues imported from Serato or Rekordbox if they are slightly off time. Cambia marcas importadas desde Serato o Rekordbox si están ligeramente desfazadas. - + Left click: shift 10 milliseconds earlier Clic izquierdo: adelantar 10 milisegundos - + Right click: shift 1 millisecond earlier Clic derecho: adelantar 1 milisegundo - + Shift cues later Cambia marcas después - + Left click: shift 10 milliseconds later Clic izquierdo: retrasar 10 milisegundos - + Right click: shift 1 millisecond later Clic derecho: retrasar 1 milisegundo - - - + + + Drag a Hotcue button here to continue playing after releasing the Hotcue. Arrastra un botón de Hotcue aquí para continuar reproduciendo después de soltar la hotcue. - + Hint: Change the default cue mode in Preferences -> Decks. Sugerencia: cambie el modo por defecto de las cues en Preferencias -> Platos. - + Mutes the selected channel's audio in the main output. Silencia el audio del canal seleccionado en la salida principal. - + Main mix enable Activador de mezcla principal - + Hold or short click for latching to mix this input into the main output. Clic sostenido o corto para enganchar, para mezclar esta entrada con la salida principal. - + + Reloads the last replaced track. If no track is loaded reloads the second-last ejected track. + + + + If hotcue is a loop cue, toggles the loop and jumps to if the loop is behind the play position. Si la hotcue es una cue de bucle, activa el bucle y salta hacia él si se encuentra detrás de la posición de reproducción. - + If the play position is inside an active loop, stores the loop as loop cue. Si la posición de reproducción se encuentra dentro de un bucle activo, almacena el bucle como una hotcue de bucle. - + Drag this button onto another Hotcue button to move it there (change its index). If the other hotcue is set, the two are swapped. Arrastrar este botón dentro de otro botón de hotcue para moverlo hacia este (cambiando su número). Si la otra hotcue ya se encuentra definida, las dos son intercambiadas. - + Expand/Collapse Samplers Expandir/contraer samplers - + Toggle expanded samplers view. Alternar la vista expandida de los samplers. - + Displays the duration of the running recording. Muestra la duración de la grabación en curso. - + Auto DJ is active Auto DJ se encuentra activo - + Red for when needle skip has been detected. Rojo cuando se detecta un salto de aguja. - + Hot Cue - Track will seek to nearest previous hotcue point. Acceso Directo - La pista buscará el punto anterior más cercano del acceso directo. - + Sets the track Loop-In Marker to the current play position. Establece la marca de inicio de bucle a la posición actual - + Press and hold to move Loop-In Marker. Mantener presionado para mover la marca de inicio de bucle. - + Jump to Loop-In Marker. Ir a la marca de inicio de bucle. - + Sets the track Loop-Out Marker to the current play position. Establece la marca de fin de bucle a la posición actual. - + Press and hold to move Loop-Out Marker. Mantener presionado para mover la marca de fin de bucle. - + Jump to Loop-Out Marker. Ir a la marca de fin de bucle. - + If the track has no beats the unit is seconds. Si la pista no tiene pulsaciones, la unidad es segundos. - + Beatloop Size Pulsaciones del bucle - + Select the size of the loop in beats to set with the Beatloop button. Define el tamaño del bucle en pulsaciones a usar cuando se pulse el botón de bucle de pulsaciones. - + Changing this resizes the loop if the loop already matches this size. Al cambiar este valor, cambiará el tamaño del bucle existente, si tenía el tamaño anterior. - + Halve the size of an existing beatloop, or halve the size of the next beatloop set with the Beatloop button. Reduce a la mitad el tamaño del bucle existente, o del próximo bucle definido con el botón de bucle de pulsaciones. - + Double the size of an existing beatloop, or double the size of the next beatloop set with the Beatloop button. Dobla el tamaño del bucle existente, o del próximo bucle definido con el botón de bucle de pulsaciones. - + Start a loop over the set number of beats. Activa un bucle con la cantidad definida de pulsaciones. - + Temporarily enable a rolling loop over the set number of beats. Activa temporalmente un bucle de continuación con la cantidad de pulsaciones definidas. - + Beatloop Anchor Ancla del bucle de pulsaciones - + Define whether the loop is created and adjusted from its staring point or ending point. Define si el bucle es creado y ajustado desde su punto de inicio o de final. - + Beatjump/Loop Move Size Tamaño del salto de pulsaciones/Desplazamiento del bucle - + Select the number of beats to jump or move the loop with the Beatjump Forward/Backward buttons. Selecciona la cantidad de pulsaciones a saltar o a mover el bucle con los botones de avance/retroceso. - + Beatjump Forward Avanzar en pulsaciones - + Jump forward by the set number of beats. Avanza la pista la cantidad definida de pulsaciones. - + Move the loop forward by the set number of beats. Avanza el bucle en la cantidad definida de pulsaciones. - + Jump forward by 1 beat. Avanza 1 pulsación. - + Move the loop forward by 1 beat. Avanza el bucle 1 pulsación. - + Beatjump Backward Retrocede en pulsaciones - + Jump backward by the set number of beats. Retrocede la cantidad de pulsaciones definida. - + Move the loop backward by the set number of beats. Retrocede el bucle la cantidad de pulsaciones definida. - + Jump backward by 1 beat. Retrocede 1 pulsación. - + Move the loop backward by 1 beat. Retrocede el bucle 1 pulsación. - + Reloop Repite el bucle - + If the loop is ahead of the current position, looping will start when the loop is reached. Si el bucle está por delante de la posición actual, este no se activará hasta que se llege a él. - + Works only if Loop-In and Loop-Out Marker are set. Solo funciona si las marcas de inicio y fin de bucle estan definidas. - + Enable loop, jump to Loop-In Marker, and stop playback. Activa el bucle, va a la posición de inicio de bucle y se detiene. - + Displays the elapsed and/or remaining time of the track loaded. Muestra el tiempo transcurrido y/o restante de la pista cargada. - + Click to toggle between time elapsed/remaining time/both. Pulsar para cambiar entre tiempo transcurrido/restante/ambos - + Hint: Change the time format in Preferences -> Decks. Sugerencia: cambie el formato de tiempo en Preferencias -> Platos. - + Show/hide intro & outro markers and associated buttons. Mostrar/ocultar marcadores de intro y outro, y sus botones asociados. - + + Ensure all waveforms to have the same height across all channels. By default, when displaying the stem controls, waveform for channel that have no stem may render with a shorter height in order to honor the waveform container size you have requested.. + + + + Intro Start Marker Marcador Inicial de Entrada - - - - + + + + If marker is set, jumps to the marker. Si el marcador se encuentra definido, salta al marcador. - - - - + + + + If marker is not set, sets the marker to the current play position. Si el marcador no se encuentra definido, lo configura a la posición de reproducción actual. - - - - + + + + If marker is set, clears the marker. Si el marcador se encuentra definido, lo elimina. - + Intro End Marker Marcador Final de Entrada - + Outro Start Marker Marcador Inicial de Salida - + Outro End Marker Marcador Final de Salida - + Mix Mix - + Adjust the mixing of the dry (input) signal with the wet (output) signal of the effect unit Ajuste la mezcla de la señal seca (entrada) con la señal húmeda (salida) de la unidad de efectos - + D/W mode: Crossfade between dry and wet Modo D/W: fundido cruzado entre seco y húmedo - + D+W mode: Add wet to dry Modo D+W: agregue húmedo a seco - + Mix Mode Modo mezcla - + Adjust how the dry (input) signal is mixed with the wet (output) signal of the effect unit Ajuste cómo se mezcla la señal seca (entrada) con la señal húmeda (salida) de la unidad de efectos - + Dry/Wet mode (crossed lines): Mix knob crossfades between dry and wet Use this to change the sound of the track with EQ and filter effects. Modo Seco/Mojado (líneas cruzadas): La Perilla de mezcla funde en cruce entre seco y mojado Utiliza esto para cambiar el sonido de la pista con EQ y efectos de filtrado. - + Dry+Wet mode (flat dry line): Mix knob adds wet to dry Use this to change only the effected (wet) signal with EQ and filter effects. Modo Seco+Húmedo (línea seca plana): La perilla de mezcla agrega mojado a seco Utiliza esto para cambiar únicamente la señal afectada (mojada) con EQ y efectos de filtrado. - + Route the main mix through this effect unit. Enruta la mezcla principal a través de esta unidad de efectos. - + Route the left crossfader bus through this effect unit. Redirige el bus izquierdo del crossfader a través de esta unidad de efectos. - + Route the right crossfader bus through this effect unit. Enruta el bus derecho del crossfader a través de la unidad de efectos - + Right side active: parameter moves with right half of Meta Knob turn Derecha activo: el parámetro se mueve al mover la mitad derecha del control Meta. - + Stem Label Etiqueta de stem - + Name of the stem stored in the stem file Nombre del stem almacenado en el archivo de stem - + Text is displayed in the stem color stored in the stem file El texto es presentado con el color del stem almacenado en el archivo de stem - + this stem color is also used for the waveform of this stem este color de stem también es usado en la forma de onda de este stem - + Stem Mute Silenciar stem - + Toggle the stem mute/unmuted Alterna el silencio del stem - + Stem Volume Knob Perilla de volumen del stem - + Adjusts the volume of the stem Ajusta el volumen del stem - + Skin Settings Menu Menú de las opciones de la Apariencia - + Show/hide skin settings menu Muestra/esconde el menú de opciones de la Apariencia - + Save Sampler Bank Guardar banco de muestras - + Save the collection of samples loaded in the samplers. Guarda la colección de muestras cargadas en los reproductores de muestras. - + Load Sampler Bank Cargar banco de muestras - + Load a previously saved collection of samples into the samplers. Carga en los reproductores de muestras una colección de muestras guardada en anterioridad. - + Show Effect Parameters Mostrar parámetros de efectos - + Enable Effect Activar efecto - + Meta Knob Link Enlace de la rueda Meta - + Set how this parameter is linked to the effect's Meta Knob. Configura cómo le afecta a este parámetro la rueda Meta. - + Meta Knob Link Inversion Inversión del enlaze de la rueda Meta - + Inverts the direction this parameter moves when turning the effect's Meta Knob. Invierte la dirección en la que se mueve el parámetro al mover la rueda Meta. - + Super Knob Rueda Súper - + Next Chain Siguiente cadena - + Previous Chain Cadena anterior - + Next/Previous Chain Cadena siguiente/anterior - + Clear Borrar - + Clear the current effect. Borra el efecto actual. - + Toggle Conmutar - + Toggle the current effect. Conmuta el efecto actual. - + Next Siguente - + Clear Unit Limpiar unidad - + Clear effect unit. limpiar la unidad de efectos. - + Show/hide parameters for effects in this unit. Muestra/esconde los parámetros de los efectos de esta unidad. - + Toggle Unit Conmutar la unidad - + Enable or disable this whole effect unit. Activa o desactiva la unidad de efectos. - + Controls the Meta Knob of all effects in this unit together. Controla a la vez las ruedas Meta de todos los efectos asociados a esta unidad. - + Load next effect chain preset into this effect unit. Carga el siguiente preajuste de efectos en esta unidad de efectos. - + Load previous effect chain preset into this effect unit. Carga el anterior preajuste de efectos en esta unidad de efectos. - + Load next or previous effect chain preset into this effect unit. Carga el siguiente o anterior preajuste de efectos en esta unidad de efectos. - - - - - - - - - + + + + + + + + + Assign Effect Unit Asignar la unidad de efectos - + Assign this effect unit to the channel output. Asigna esta unidad de efectos a la salida del canal. - + Route the headphone channel through this effect unit. Redirige la salida de auriculares a través de la unidad de efectos. - + Route this deck through the indicated effect unit. Redirige este plato a través de la unidad de efectos indicada. - + Route this sampler through the indicated effect unit. Redirige este reproductor a través de la unidad de efectos indicada. - + Route this microphone through the indicated effect unit. Redirige este micrófono a través de la unidad de efectos indicada. - + Route this auxiliary input through the indicated effect unit. Redirige la entrada auxiliar a través de la unidad de efectos indicada. - + The effect unit must also be assigned to a deck or other sound source to hear the effect. La unidad de efectos debe estar asignada a un plato o otra fuente de sonido para oír el efecto. - + Switch to the next effect. Pasa al siguiente efecto. - + Previous Anterior - + Switch to the previous effect. Pasa al efecto anterior. - + Next or Previous Siguiente o Anterior - + Switch to either the next or previous effect. Pasa al siguiente o anterior efecto. - + Meta Knob Rueda Meta - + Controls linked parameters of this effect Controla los parámetros enlazados del efecto - + Effect Focus Button Botón de foco de efecto - + Focuses this effect. Pone el foco en el efecto. - + Unfocuses this effect. Quita el foco del efecto. - + Refer to the web page on the Mixxx wiki for your controller for more information. Consulta la página web de tu controlador en la wiki del Mixxx para más información - + Effect Parameter parámetro de efecto - + Adjusts a parameter of the effect. Ajusta un parámetro del efecto. - + Inactive: parameter not linked Inactivo: parámetro no enlazado - + Active: parameter moves with Meta Knob Activo: el parámetro se mueve con la rueda Meta - + Left side active: parameter moves with left half of Meta Knob turn Izquierda activo: el parámetro se mueve con la primera mitad de la rueda Meta - + Left and right side active: parameter moves across range with half of Meta Knob turn and back with the other half Izquierda y derecha activo: el parámetro recorre todo el rango con la primera mitad de la rueda Meta, y vueve atrás con la segunda mitad - - + + Equalizer Parameter Kill Parámetro de supresión del ecualizador - - + + Holds the gain of the EQ to zero while active. Mantiene la ganáncia de EQ a cero mientras está activo. - + Quick Effect Super Knob Rueda Súper de efecto rápido - + Quick Effect Super Knob (control linked effect parameters). Rueda Súper de efecto rápido (controla los parámetros de efecto asociados). - + Hint: Change the default Quick Effect mode in Preferences -> Equalizers. Nota: Puedes cambiar el efecto rápido por defecto en Preferéncias > Ecualizadores. - + Equalizer Parameter ecualizador paramétrico - + Adjusts the gain of the EQ filter. Ajusta la ganáncia del filtro de EQ. - + Hint: Change the default EQ mode in Preferences -> Equalizers. Nota: Se puede cambiar el modo de EQ por defecto en Preferencias > Ecualizadores. - - + + Adjust Beatgrid Ajustar cuadrícula de tempo - + Adjust beatgrid so the closest beat is aligned with the current play position. Ajusta la cuadrícula de tempo para que el golpe más cercano se alinee con la posición actual de reproducción. - - + + Adjust beatgrid to match another playing deck. Ajusta la cuadrícula de tempo para que coincida con otro plato en reproducción. - + If quantize is enabled, snaps to the nearest beat. Si la cuantización está activada, se acerca al compás más cercano. - + Quantize Cuantizar - + Toggles quantization. Conmutar la cuantización. - + Loops and cues snap to the nearest beat when quantization is enabled. Cuando está activada, los bucles y cue se alinean con el compás más cercano. - + Reverse Reversa - + Reverses track playback during regular playback. Reproduce en reversa, durante reproducción normal. - + Puts a track into reverse while being held (Censor). Pone la pista en reversa mientras se mantiene presionado. - + Playback continues where the track would have been if it had not been temporarily reversed. La reproducción se continuará en el punto al que habría llegado la pista si no hubiese puesto en reversa. - - - + + + Play/Pause Reproducir/Pausar - + Jumps to the beginning of the track. Salta al principio de la pista. - + Syncs the tempo (BPM) and phase to that of the other track, if BPM is detected on both. Sincroniza el tempo (BPM) y la fase de la pista con la de la otra pista, si se ha detectado el BPM en ambas. - + Syncs the tempo (BPM) to that of the other track, if BPM is detected on both. Sincroniza el tempo (BPM) de la pista con la de la otra pista, si se ha detectado el BPM en ambas. - + Sync and Reset Key Sincroniza y resetea la tonalidad - + Increases the pitch by one semitone. Incrementa el tono en una seminota. - + Decreases the pitch by one semitone. Decrementa el tono en una seminota. - + Enable Vinyl Control Activar vinilo de control - + When disabled, the track is controlled by Mixxx playback controls. Si está desactivado, los controles de reproducción del Mixxx controlan la pista. - + When enabled, the track responds to external vinyl control. Si está activado, el control de vinilo externo controla la pista. - + Enable Passthrough Activa el paso de audio - + Indicates that the audio buffer is too small to do all audio processing. Indica que el búfer de audio es demasiado pequeño para llevar a cabo todo el procesamiento de audio. - + Displays cover artwork of the loaded track. Muestra la carátula de la pista cargada. - + Displays options for editing cover artwork. Muestra las opciones de edición de carátula. - + Star Rating Puntuación - + Assign ratings to individual tracks by clicking the stars. Asigna la puntuación de cada pista pulsando en las estrellas. @@ -14758,33 +15224,33 @@ Utiliza esto para cambiar únicamente la señal afectada (mojada) con EQ y efect Intensidad de atenuación al usar el Micrófono - + Prevents the pitch from changing when the rate changes. Evita que el tono cambie al cambiar la velocidad. - + Changes the number of hotcue buttons displayed in the deck Cambia el número de botones de acceso directo mostrados en el deck - + Starts playing from the beginning of the track. Comienza la reproducción desde el principio de la pista. - + Jumps to the beginning of the track and stops. Salta al principio de la pista y se detiene. - - + + Plays or pauses the track. Reproduce o pausa la pista. - + (while playing) (estando en reproducción) @@ -14804,215 +15270,215 @@ Utiliza esto para cambiar únicamente la señal afectada (mojada) con EQ y efect Medidor de volumen del canal principal R - + (while stopped) (mientras está parado) - + Cue Cue - + Headphone Auriculares - + Mute Silenciar - + Old Synchronize Sincronización antígua - + Syncs to the first deck (in numerical order) that is playing a track and has a BPM. Se sincroniza con la primera pista (en orden numérico) que está sonando y tiene BPM. - + If no deck is playing, syncs to the first deck that has a BPM. Si no hay pistas en reprodución, se sincroniza con la primera pista que tenga BPM. - + Decks can't sync to samplers and samplers can only sync to decks. Los platos no se pueden sincronizar con los reproductors de muestras, y los reproductors de mezclas sólo se pueden sincronizar con los platos. - + Hold for at least a second to enable sync lock for this deck. Mantener pulsado durante un segundo para activar la sincronización fija para este plato. - + Decks with sync locked will all play at the same tempo, and decks that also have quantize enabled will always have their beats lined up. Los platos con la sincronización bloqueada reproducirán todos al mismo tempo, y si además tienen la quantización activada, también se alinearán los compases. - + Resets the key to the original track key. Resetea la clave musical a la original de la pista. - + Speed Control Control de velocidad - - - + + + Changes the track pitch independent of the tempo. Cambia el tono de la pista independientemente del tempo. - + Increases the pitch by 10 cents. Aumenta el tono 10 centésimas. - + Decreases the pitch by 10 cents. Reduce el tono 10 centésimas. - + Pitch Adjust Ajuste de velocidad - + Adjust the pitch in addition to the speed slider pitch. Ajusta la velocidad añadiendo al cambio del deslizador de velocidad. - + Opens a menu to clear hotcues or edit their labels and colors. Abre un menú para limpiar los accesos directos o editar sus etiquetas y colores. - + Drag this button onto a Play button while previewing to continue playback after release. Arrastre este botón a un boton de Play durante la preescucha para continuar la reproducción tras soltarlo. - + Dragging with Shift key pressed will not start previewing the hotcue. Arrastrar mientras presiona la tecla Shift no iniciará la preescucha de la hotcue. - + Record Mix Grabar mezcla - + Toggle mix recording. Conmutar la grabación de la mezcla. - + Enable Live Broadcasting Activar la emisión en vivo - + Stream your mix over the Internet. Emite tus mezclas por internet. - + Provides visual feedback for Live Broadcasting status: Da una indicación acerca del estado de la emisión en vivo: - + disabled, connecting, connected, failure. desactivado, conectando, conectado, fallo. - + When enabled, the deck directly plays the audio arriving on the vinyl input. Cuando está activado, el plato reproduce directamente el audio que recibe por la entrada de vinilo. - + Playback will resume where the track would have been if it had not entered the loop. La reproducción se reanudará en el punto al que habría llegado la pista si no hubiese entrado en el bucle. - + Loop Exit Salida del bucle - + Turns the current loop off. Desactiva el bucle actual. - + Slip Mode Modo Slip - + When active, the playback continues muted in the background during a loop, reverse, scratch etc. Cuando está activado, la reproducción continúa en silencio mientras dura el bucle, la reproducción hacia atrás, scratch, etc. - + Once disabled, the audible playback will resume where the track would have been. Una vez desactivado, la reproducción (audible) seguirá donde la pista habría estado. - + Track Key The musical key of a track Tonalidad de la pista - + Displays the musical key of the loaded track. Muestra la clave musical de la pista cargada. - + Clock Reloj - + Displays the current time. Muestra la hora actual. - + Audio Latency Usage Meter Medidor de Latencia de Audio - + Displays the fraction of latency used for audio processing. Muestra la parte de latencia usada para el proceso de audio. - + A high value indicates that audible glitches are likely. Un valor alto indica que se pueden percibir ruidos. - + Do not enable keylock, effects or additional decks in this situation. No activar el bloqueo de tonalidad, los efectos o los platos adicionales en este caso. - + Audio Latency Overload Indicator Indicador de Sobrecarga de Latencia de Audio @@ -15052,259 +15518,259 @@ Utiliza esto para cambiar únicamente la señal afectada (mojada) con EQ y efect Activa el control de vinilo desde el Menú -> Opciones. - + Displays the current musical key of the loaded track after pitch shifting. Muestra la clave musical actual para la pista cargada teniendo en cuenta el cambio de tonalidad. - + Fast Rewind Retroceso rápido - + Fast rewind through the track. Rebobinado rápido a través de la pista. - + Fast Forward Avance Rápido - + Fast forward through the track. Avance Rápido a través de la pista. - + Jumps to the end of the track. Salta al final de la pista. - + Sets the pitch to a key that allows a harmonic transition from the other track. Requires a detected key on both involved decks. Cambia la tonalidad a una clave musical que permite la transición harmónica de un plato a otro. Es necesario que se haya detectado la clave en ambos platos. - - - + + + Pitch Control Control del pitch - + Pitch Rate Ritmo de cambio de tonalidad - + Displays the current playback rate of the track. Muestra el ritmo de reproducción actual de la pista. - + Repeat Repetir - + When active the track will repeat if you go past the end or reverse before the start. Estando activo la pista se repetirá si se pasa del final o si retrocede antes del comienzo. - + Eject Expulsar - + Ejects track from the player. Expulsa la pista del reproductor. - + Hotcue Hotcue - + If hotcue is set, jumps to the hotcue. Si el hotcue está establecido, salta al hotcue. - + If hotcue is not set, sets the hotcue to the current play position. Si el hotcue no está establecido, establece el hotcue en la actual posición de reproducción. - + Vinyl Control Mode Modo de control de vinilo - + Absolute mode - track position equals needle position and speed. Modo Absoluto - la posicion dentro del tema corresponde a la posicion y velocidad de la aguja. - + Relative mode - track speed equals needle speed regardless of needle position. Modo Relativo - la velocidad del tema corresponde a la velocidad de la aguja independientemente de la posicion. - + Constant mode - track speed equals last known-steady speed regardless of needle input. Modo Constante - la velocidad del tema corresponde a la ultima velocidad conocida independientemente de lo que se recibe de la aguja. - + Vinyl Status Estado del vinilo - + Provides visual feedback for vinyl control status: Provee retroalimentación visual sobre el estado del control de vinilo: - + Green for control enabled. Verde para control activo. - + Blinking yellow for when the needle reaches the end of the record. Amarillo parpadeante cuando la aguja alcanza el final de la grabación. - + Loop-In Marker Marcador de inicio de bucle - + Loop-Out Marker Marcador de fin de bucle - + Loop Halve Reducir bucle a la mitad - + Halves the current loop's length by moving the end marker. Reduce a la mitad la longitud del bucle actual, moviendo la marca de fin. - + Deck immediately loops if past the new endpoint. El plato vuelve al inicio del bucle inmediatamente si se ha superado el nuevo punto final. - + Loop Double Aumentar bucle al doble - + Doubles the current loop's length by moving the end marker. Aumenta al doble la longitud del bucle actual, moviendo la marca de fin. - + Beatloop Bucle de pulsaciones - + Toggles the current loop on or off. Activa o desactiva el bucle actual. - + Works only if Loop-In and Loop-Out marker are set. Funciona sólo si se han definido las marcas de inicio y fin de bucle. - + Vinyl Cueing Mode Modo de Cue de Vinilo - + Determines how cue points are treated in vinyl control Relative mode: Determina cómo los puntos Cue son tratados en el modo de control Relativo de Vinilos: - + Off - Cue points ignored. Off - Los puntos CUE se ignoran. - + One Cue - If needle is dropped after the cue point, track will seek to that cue point. Un Cue - si se pone la aguja mas allá del punto cue, se irá al punto Cue de la pista. - + Track Time Tiempo de pista - + Track Duration Duración de la Pista - + Displays the duration of the loaded track. Muestra la duración de la pista cargada. - + Information is loaded from the track's metadata tags. Información cargada desde el tag de metadatos de las pistas. - + Track Artist Artista de la pista - + Displays the artist of the loaded track. Muestra el artista de la pista cargada. - + Track Title Título de la pista - + Displays the title of the loaded track. Muestra el título de la pista cargada. - + Track Album Álbum de la pista - + Displays the album name of the loaded track. Muestra el nombre del álbum de la pista cargada. - + Track Artist/Title Artista/Título de la pista - + Displays the artist and title of the loaded track. Muestra el artista y el título de la pista cargada. @@ -15535,47 +16001,75 @@ Carpeta: %2 WCueMenuPopup - + Cue number Número de Marca - + Cue position Posición Marca - + Edit cue label Editar etiqueta de marca - + Label... Etiqueta... - + Delete this cue Borrar esta marca - - Toggle this cue type between normal cue and saved loop - Alterna el tipo de esta cue entre cue normal y bucle guardado + + Turn this cue into a regular hotcue + + + + + Turn this cue into a saved loop + + + + + Left-click: Use the old size if known or the current beatloop size as the loop size + + + + + Right-click: Use the current play position as new loop end if it is after the cue + + + + + Turn this cue into a saved forward jump. + + is a linebreak. Try to not to extend the translation beyond the length of the longest source line so the tooltip remains compact. + + + + + Turn this cue into a saved backward jump (one shot loop). + - - Left-click: Use the old size or the current beatloop size as the loop size - Clic izquierdo: usar el tamaño anterior o el del bucle actual como el tamaño de bucle + + Left-click: Use the old size if known or the current play position as jump start position +If this is already a jump cue, swap the jump position and the cue/target position. + - - Right-click: Use the current play position as loop end if it is after the cue - Clic derecho: usar la posición de reproducción actual como final del bucle si se encuentra después de la cue + + Right-click: use current play position as new jump start position + - + Hotcue #%1 Acceso DIrecto #%1 @@ -15877,171 +16371,181 @@ Carpeta: %2 + Show Auto DJ + + + + + Switch to the Auto DJ view. + + + + &Full Screen &Pantalla completa - + Display Mixxx using the full screen Mostrar Mixxx a pantalla completa - + &Options &Opciones - + &Vinyl Control Control de &vinilo - + Use timecoded vinyls on external turntables to control Mixxx Usar vinilos con codigo de tiempo en bandejas externas para controlar Mixxx - + Enable Vinyl Control &%1 Habilita el Control por Vinilo &%1 - + &Record Mix &Grabar Mezcla - + Record your mix to a file Grava a súa mestura a un ficheiro - + Ctrl+R Ctrl+R - + Enable Live &Broadcasting Activar transmisión en &vivo - + Stream your mixes to a shoutcast or icecast server Transmite tus mezclas a un servidor shoutcast o icecast - + Ctrl+L Ctrl+L - + Enable &Keyboard Shortcuts Activar Atajos de &Teclado - + Toggles keyboard shortcuts on or off Activa o desactiva los atajos de teclado - + Ctrl+` Ctrl+` - + &Preferences &Preferencias - + Change Mixxx settings (e.g. playback, MIDI, controls) Cambiar la configuración de Mixxx (p.ej.: reproducción, MIDI, controles) - + &Developer &Desarrollador - + &Reload Skin &Recargar apariencia - + Reload the skin Recargar la apariencia - + Ctrl+Shift+R Ctrl+Mayús+R - + Developer &Tools U&tilidades de desarrollador - + Opens the developer tools dialog Abre el cuadro de diálogo de herramientas de desarrollo - + Ctrl+Shift+T Ctrl+Mayús+T - + Stats: &Experiment Bucket Estadísticas: Contadores &Experiment - + Enables experiment mode. Collects stats in the EXPERIMENT tracking bucket. Activa el modo experimental. Recoje estadísticas en los contadores EXPERIMENT. - + Ctrl+Shift+E Ctrl+Mayús+E - + Stats: &Base Bucket Estadísticas: contadores &Base - + Enables base mode. Collects stats in the BASE tracking bucket. Activa el modo base. Recoje estadísticas en los contadores BASE. - + Ctrl+Shift+B Ctrl+Mayús+B - + Deb&ugger Enabled Dep&uración activada - + Enables the debugger during skin parsing Activa el depurador durante el análisis de la máscara - + Ctrl+Shift+D Ctrl+Mayús+D - + &Help Ay&uda @@ -16075,62 +16579,62 @@ Carpeta: %2 F12 - + &Community Support Soporte &comunitario - + Get help with Mixxx Obtener ayuda con Mixxx - + &User Manual Manual de &usuario - + Read the Mixxx user manual. Lea el manual de usuario de Mixxx. - + &Keyboard Shortcuts Atajos de &Teclado - + Speed up your workflow with keyboard shortcuts. Trabaja más rápidamente usando los atajos de teclado. - + &Settings directory &Directorio de configuración - + Open the Mixxx user settings directory. Abre el directorio de configuración de usuario de Mixxx. - + &Translate This Application &Traducir esta aplicación - + Help translate this application into your language. Ayude a traducir esta aplicación a su idioma. - + &About &Acerca de - + About the application Acerca de la aplicación @@ -16138,25 +16642,25 @@ Carpeta: %2 WOverview - + Passthrough Paso - + Ready to play, analyzing... Text on waveform overview when file is playable but no waveform is visible Listo para reproducir, analizando... - - + + Loading track... Text on waveform overview when file is cached from source Cargando pista... - + Finalizing... Text on waveform overview during finalizing of waveform analysis Finalizando... @@ -16346,625 +16850,640 @@ Carpeta: %2 WTrackMenu - + Load to Cargar en - + Deck Plato - + Sampler Reproductor de muestras - + Add to Playlist Añadir a la lista de reproducción - + Crates Cajas - + Metadata Metadatos - + Update external collections Actualizar colecciones externas - + Cover Art Portada - + Adjust BPM Ajusta BPM - + Select Color Seleccionar color - - + + Analyze Analizar - - + + Delete Track Files Borrar Archivos de Pistas - + Add to Auto DJ Queue (bottom) Agregar a la lista de DJ Automatico (Final) - + Add to Auto DJ Queue (top) Agregar a la lista de DJ Automatico (Inicio) - + Add to Auto DJ Queue (replace) Añadir a la lista de DJ Automático (reemplazar) - + Preview Deck Reproductor de preescucha - + Remove Quitar - + Remove from Playlist Eliminar de la lista de reproducción - + Remove from Crate Eliminar de la caja - + Hide from Library Ocultar de la biblioteca - + Unhide from Library Volver a mostrar en la biblioteca - + Purge from Library Eliminar de la biblioteca - + Move Track File(s) to Trash Mover archivo(s) de seguimiento a la papelera - + Delete Files from Disk Borrar Archivos del Disco - + Properties Propiedades - + Open in File Browser Abrir en el explorador de archivos - + Select in Library Selecciona en Biblioteca - + Import From File Tags Importar de los metadatos del fichero - + Import From MusicBrainz Importar de MusicBrainz - + Export To File Tags Exportar a metadatos del fichero - + BPM and Beatgrid BPM y cuadrícula de tempo - + Play Count Reproducciones - + Rating Calificación - + Cue Point Punto CUE - - + + Hotcues Hotcues - + Intro - + Intro - + Outro - + Outro - + Key Tono - + ReplayGain Reproducir otra vez - + Waveform Forma de onda - + Comment Comentario - + All Todos - + Sort hotcues by position (remove offsets) Ordenar hotcues por posición (removiendo desfases) - + Sort hotcues by position Ordenar hotcues por posición - + Lock BPM Bloquear BPM - + Unlock BPM Desbloquear BPM - + Double BPM Duplicar BPM - + Halve BPM Reducir a la mitad los BPM - + 2/3 BPM 2/3 BPM - + 3/4 BPM 3/4 BPM - + 4/3 BPM 4/3 BPM - + 3/2 BPM 3/2 BPM - + Shift Beatgrid Half Beat Desplazar la cuadrícula de tiempo medio beat - + Reanalyze Reanalizar - + Reanalyze (constant BPM) Reanalizar (BPM constante) - + Reanalyze (variable BPM) Reanalizar (BPM variable) - + Update ReplayGain from Deck Gain Actualizar ReplayGain desde la Ganancia de Plato - + Deck %1 Deck %1 - + Importing metadata of %n track(s) from file tags Importación de metadatos de %n pista a partir de las etiquetas del archivoImportación de metadatos de %n pistas a partir de las etiquetas de los archivosImportación de metadatos de %n pista(s) a partir de las etiquetas del archivo - + Marking metadata of %n track(s) to be exported into file tags Haciendo metadatos de %n pista(s) a ser exportadas en las etiquetas de archivosHaciendo metadatos de %n pista(s) a ser exportadas en las etiquetas de archivosHaciendo metadatos de %n pista(s) a ser exportadas en las etiquetas de archivos - - + + Create New Playlist Crear una nueva lista de reproducción - + Enter name for new playlist: Introducir nuevo nombre de lista de reproducción - + New Playlist Nueva lista de reproducción - - - + + + Playlist Creation Failed Fallo la creación de lista de Reproducción - + A playlist by that name already exists. Una lista de reproducción ya existe con el mismo nombre - + A playlist cannot have a blank name. El nombre de una lista de reproduccion no puede estar vacío - + An unknown error occurred while creating playlist: Un error desconocido ocurrio mientras la creacion de la lista de reproducción - + Add to New Crate Añadir a nueva caja - + Scaling BPM of %n track(s) Escalando BPM de %n pista(s)Escalando BPM de %n pista(s)Escalando BPM de %n pista(s) - + Undo BPM/beats change of %n track(s) Deshacer cambios de BPM/pulsaciones de %n pista(s)Deshacer cambios de BPM/pulsaciones de %n pista(s)Deshacer cambios de BPM/pulsaciones de %n pista(s) - + Locking BPM of %n track(s) Bloqueando BPM de %n% pista(s)Bloqueando BPM de %n% pista(s)Bloqueando BPM de %n% pista(s) - + Unlocking BPM of %n track(s) Desbloqueando BPM de %n pista(s)Desbloqueando BPM de %n pista(s)Desbloqueando BPM de %n pista(s) - + Setting rating of %n track(s) Definiendo evaluación de %n pistaDefiniendo evaluación de %n pistasDefiniendo evaluación de %n pista(s) - + Setting color of %n track(s) configuración de color de %n pista(s)configuración de color de %n pista(s)configuración de color de %n pista(s) - + Resetting play count of %n track(s) Restablecimiento del conteo de reproducción de %n pista(s)Restablecimiento del conteo de reproducción de %n pista(s)Restablecimiento del conteo de reproducción de %n pista(s) - + Resetting beats of %n track(s) Restableciendo beats de %n pista(s)Restableciendo beats de %n pista(s)Restableciendo beats de %n pista(s) - + Clearing rating of %n track(s) Limpiando clasificación de %n pista(s)Limpiando clasificación de %n pista(s)Limpiando clasificación de %n pista(s) - + Clearing comment of %n track(s) Borrando comentarios de %n pistaBorrando comentarios de %n pistasBorrando comentarios de %n pista(s) - + Removing main cue from %n track(s) Eliminando la marca principal de %n pista(s)Eliminando la marca principal de %n pista(s)Eliminando la marca principal de %n pista(s) - + Removing outro cue from %n track(s) Eliminando la marca de salida de %n pista(s)Eliminando la marca de salida de %n pista(s)Eliminando la marca de salida de %n pista(s) - + Removing intro cue from %n track(s) Removiendo la marca de entrada de %n pista(s)Removiendo la marca de entrada de %n pista(s)Removiendo la marca de entrada de %n pista(s) - + Removing loop cues from %n track(s) Removiendo marcas de bucles de %n pista(s)Removiendo marcas de bucles de %n pista(s)Removiendo marcas de bucles de %n pista(s) - + Removing hot cues from %n track(s) Removiendo los hot cues de %n pista(s)Removiendo los hot cues de %n pista(s)Removiendo los accesos directos de %n pista(s) - + Sorting hotcues of %n track(s) by position (remove offsets) Ordenando hotcues de %n pista por posición (removiendo desfases)Ordenando hotcues de %n pistas por posición (removiendo desfases)Ordenando hotcues de %n pistas(s) por posición (removiendo desfases) - + Sorting hotcues of %n track(s) by position Ordenando hotcues de %n pista por posiciónOrdenando hotcues de %n pistas por posiciónOrdenando hotcues de %n pista(s) por posición - + Resetting keys of %n track(s) Restableciendo claves de %n pista(s)Restableciendo claves de %n pista(s)Restableciendo claves de %n pista(s) - + Resetting replay gain of %n track(s) Restablecimiento de la ganancia de reproducción de %n pista(s)Restablecimiento de la ganancia de reproducción de %n pista(s)Restablecimiento de la ganancia de reproducción de %n pista(s) - + Resetting waveform of %n track(s) Restableciendo forma de onda de %n pista(s)Restableciendo forma de onda de %n pista(s)Restableciendo forma de onda de %n pista(s) - + Resetting all performance metadata of %n track(s) Restableciendo meta datos de desempeño de %n pista(s)Restableciendo meta datos de desempeño de %n pista(s)Restableciendo meta datos de desempeño de %n pista(s) - + Move these files to the trash bin? ¿Mover estos archivos a la papelera? - + Permanently delete these files from disk? ¿Eliminar permanentemente estos archivos del disco? - - + + This can not be undone! ¡Esto no puede ser revertido! - + Cancel Cancelar - + Delete Files Eliminar archivos - + Okay Okey - + Move Track File(s) to Trash? ¿Mover los archivos de seguimiento a la papelera? - + Track Files Deleted Pistas eliminadas - + Track Files Moved To Trash Archivos de seguimiento movidos a la papelera - + %1 track files were moved to trash and purged from the Mixxx database. %1 archivos de pista fueron movidos a la papelera y purgados de la base de datos de Mixxx. - + %1 track files were deleted from disk and purged from the Mixxx database. %1 archivos de pistas han sido eliminados y se ha purgado de la base de datos de Mixxx. - + Track File Deleted Archivo de Pista Eliminado - + Track file was deleted from disk and purged from the Mixxx database. El archivo de pista ha sido eliminado del disco y purgado de la base de datos de Mixxx - + The following %1 file(s) could not be deleted from disk No se han podido eliminar del disco los siguientes %1 archivo(s) - + This track file could not be deleted from disk Este archivo de pista no se ha podido borrar del disco - + Remaining Track File(s) Renombrando archivo(s) de pista - + Close Cerrar - + Clear Reset metadata in right click track context menu in library Climpiar - + Loops Bucles - + Clear BPM and Beatgrid Limpia las BPM y la cuadrícula de tiempo - + Undo last BPM/beats change Revertir el último cambio de BPM/pulsaciones - + Move this track file to the trash bin? ¿Mover este archivo de pista a la papelera? - + Permanently delete this track file from disk? ¿Eliminar permanentemente este archivo de pista del disco? - + All decks where these tracks are loaded will be stopped and the tracks will be ejected. Todos los platos donde estas pistas hayan sido cargadas se detendrán, y las pistas serán expulsadas. - + All decks where this track is loaded will be stopped and the track will be ejected. Todos los platos donde esta pista haya sido cargada se detendrán, y la pista será expulsada. - + Removing %n track file(s) from disk... Removiendo %n archivo(s) de pista del disco... - + Note: if you are in the Computer or Recording view you need to click the current view again to see changes. Nota: si estás en la vista Ordenador o Grabación tienes que volver a hacer clic en la vista actual para ver los cambios. - + Track File Moved To Trash Archivo de seguimiento movido a la papelera - + Track file was moved to trash and purged from the Mixxx database. El archivo de seguimiento se ha movido a la papelera y se ha eliminado de la base de datos de Mixxx. - + Don't show again during this session No mostrar nuevamente durante esta sesión - + The following %1 file(s) could not be moved to trash El/los siguiente(s) %1 archivo(s) no pudieron ser movidos a la papelera - + This track file could not be moved to trash Este archivo de pista no se ha podido mover a la papelera + + + Replace current Auto DJ queue? + + + + + Do you want to replace the entire Auto DJ queue with the selected tracks? + + + + + Don't ask again during this session + + - + Setting cover art of %n track(s) Poniendo portadas de %n pista(s)Poniendo portadas de %n pista(s)Poniendo portadas de %n pista(s) - + Reloading cover art of %n track(s) Recarga de portadas de %n pista(s)Recarga de portadas de %n pista(s)Recarga de portadas de %n pista(s) @@ -17018,37 +17537,37 @@ Carpeta: %2 WTrackTableView - + Confirm track hide Confirmar ocultar pista - + Are you sure you want to hide the selected tracks? ¿Estas seguro de que quieres ocultar las pistas seleccionadas? - + Are you sure you want to remove the selected tracks from AutoDJ queue? ¿Esta seguro de que quiere eliminar las pistas seleccionadas de la cola del AutoDJ? - + Are you sure you want to remove the selected tracks from this crate? Estás seguro que quieres eliminar las pistas seleccionada de este cajón? - + Are you sure you want to remove the selected tracks from this playlist? ¿Esta seguro de que desea eliminar las pistas seleccionadas de la lista de reproducción? - + Don't ask again during this session No volver a preguntar durante esta sesión - + Confirm track removal Confirmar eliminación del track @@ -17056,12 +17575,12 @@ Carpeta: %2 WTrackTableViewHeader - + Show or hide columns. Mostrar u ocultar columnas. - + Shuffle Tracks Mezclar pistas @@ -17069,52 +17588,52 @@ Carpeta: %2 mixxx::CoreServices - + fonts tipos de letra - + database base de datos - + effects efectos - + audio interface interface de sonido - + decks decks - + library Biblioteca - + Choose music library directory Elija el directorio de la biblioteca de la música - + controllers Controladores - + Cannot open database No se puede abrir la base de datos - + Unable to establish a database connection. Mixxx requires QT with SQLite support. Please read the Qt SQL driver documentation for information on how to build it. @@ -17272,6 +17791,24 @@ Pulse Aceptar para salir. La solicitud de la red no ha empezado + + mixxx::qml::QmlApplication + + + Existing user profile detected + + + + + Trying to run Mixxx 3.0 with an existing %0 user profile! <br><br>There is <b>serious risks</b> of data loss and corruption.<br>We recommend using a test profile folder with the '--settings-path' argument. <br><br>If you want to continue at your own risk, run Mixxx with the argument '--allow-dangerous-data-corruption-risk'. + + + + + Ok + + + mixxx::qml::QmlVisibleEffectsModel @@ -17280,4 +17817,27 @@ Pulse Aceptar para salir. Ningún efecto cargado. + + mixxx::qml::QmlWaveformRendererMark + + + Cannot find the marker pixmap + + + + + Cannot find the marker endPixmap + + + + + Cannot find the marker icon + + + + + Cannot find the marker endIcon + + + \ No newline at end of file diff --git a/res/translations/mixxx_fr.qm b/res/translations/mixxx_fr.qm index 99d8fc0a5386306a8897fc650a38548937fd9219..6b9ac9d8be3145a739735584cabbb8c711935dfc 100644 GIT binary patch delta 30649 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

    uh*KDd7y`F@| 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 delta 28340 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%0ABok}ou*k-E8YfGnLwz1;BzV#eiF3n^ zQ+-!ZFxkXNJinWY&HEXX*w z(ig(Np>cjv5cU5mMj7W*D94+2*tnQVYq$Biak)$w#OY(kmH(PjrsHp19U4Y6Gu*g3 zoLVf`w;MP5HKwTcig9aYPN2*yR%;xD}V2VY}sjl%bjD)-N7~{#V&oqGY z#?vG!M3&fKJR54?2vM?=@oat|L`Ht&WhZ(qrhf+q2WB%~4x=P7b&v6K!UZZ!Og3Jv zi>9pjvGMwZFEuFg8Lv|}0&iy;Z~IX;Tj{q&ty~A=o!JKTM!oTF-X^LqG&A12J%DE1 zH$F0oD~dfZzFj9@Fz=c1%YJ}%K)B2@euq&WpVZL!eK3}I+W38mV!U0YjlVr;&4$Gp ze@S-aj4VdR&{4Dpw1@HUPIIU={~G_E2`INNn5a$8>Ueb%dr1Z&UYkl53Pk1)GSws1 zpj3Npsz>R3?mUynoPyT=>YJ6KNj;Awn3V?)plvhdO!uU|w6*$|S*_b*TB2SSWuEG0 zb^RLDqWjJ2ezY^H`g^nPMY0dBy-km&U%?OkXEwM%TGMZrMd4>x%tql<>)n0LY+{Te zQ=Hdq9zn@s&vs@DUJLkn*lbZ{6g3LQnyr*HGAP5%R#b))SGSq1c2^;9dD3iGiPY>6 zH#?M~Zdlx0vqNdph9f;q??#)!X6`b5>XE@oiZ*-1wFYKuX0M@C30WO)_NGdTVm}&Z z`n{(-J$GNzziS(?q}2}I$z%4do0}R1Z5^zZYEkJQ;o!h77PY)FMC$*iUNHj>7b4+( z?cl&|X8+=pa^1XR_8&8tQnrO=|KokAI2~yAe@*8FvYGvVe5d_CYqnbl!g;Sb;NC~5 z+J1BJRR-0&jybd(Non5f=4kpKA8J^HIrbICM!JHaNetyU)b82!hrE0m&srU0kNmy%68%AaQ@OI|3Rr^W* zSDiO!Y#t2p+25S&M!BDn!<-xYnVLu6%=z@nJsY#nT=01xc)G8-Fs&-I;n~e)?cJ!X zR@RJg@&ljt+l;79Q@(Gj8R5AaYUm%sitr;_a5W#-zOq;~ZmnQOmga=y84 z4OzH9QRe!FBpXu}nd?Jn=7zU0*Qbx5^JFs;AHjF*C4Qnr$224RQc#+5%G_Z8m5-#g zy}7vut^N7V=2ma=ZeM<0w42528KbeQBH-t9eyLtH9Nh+tev&h4LS=9b(YsRs+5FgykxUzRB z+dX6+X)zAeI&sj+$-#g%7PYLo%y@6on!4@H_)8<9RJ>{)FG>l|M_2R24GL0crrOPu z?J|XKsClYtV=|?RnOKwDY_hYN_&gnK_9ye)^3!0e!px)ySD^F@^Wx7?prSM{QwLNQ z>~CJKe;nw!$h^{IHbqR~=2hD|aE}G%wehrtv(*bTrBpIx+ZZ!t4xM`yHg9}Lhb&&( ze30l2Hq1WQd~~Nc`T5)CZ+LTyl{u@9~>SH(m zoyq`fuG>VTNZOL&XOlzXA#Nwx^lfB#Y6jYjaRKDl(`?2U`o8RKGpRI-*~e^I+mPB# zI%ms%awO!U^|oA78MK1cYp)F!~2g|?#87gHL(&sKCF%~;DOwqlXzp*Co2E44cw zN`Yy%(rILpzvQyH?4XT_#jDyX_&$IfxxrR(FsbqWUABs$VPGzcZLV`XsQy=ana%YO zy;_;GfvsvPmDSv%Z8bS(s8xYx9hc27B#p zYZ+jtgkXJytyOMcsDATpt$Z@5Dt*-ERUieL%V=90;|mF62V2{*wB>U8L0kJ$l!CpS zW9!hVDV5_o*gE`p02GO_b#{%WeE_pW8|*_D#bS@~@}!zVzgywuh^KUGFv zG`IO}qnTJ=+2+53oSSneo4-AwDpc0M)^}NMs$^EO^(&JM*{Zp%-)?#h$K!@=(B-{U z%lTp(Qk2~8ioUjC`NP3pp0f>qo=jSC(Kh-XjWAc5ZH(H1dOJ^TV;Tym6BgS->;8hQ z^368QDGSs(b!^jjxsvzHW}ALsI{Ads7Nz?Tn|O%`#;DBFUG$+rkl)wA!B87I`{D zRQ+IET<;BS(|=@JOx$Q>uNv)dv@k+fI&Ws7(fNsWj6#0|vm zww3Ob-RA6NTeXEoxT2J8wbwL?<4;@UtIONg^`S~>*W$Lw{1iE5?6yVzj;Ai>VB1FP z+}*Y@H4Bu*-yM8oIGDcJ=7@$T*fzhXN{ME#XWOzq6ujdk+m_8wsPNdz!JE%4YGtO_ zwl6yj`FFZ)dqfr5c3;=F{RyezqMx>%r^sTKTwse{F#`OFmn~*L3F)T}wwODV7gQZ) zi!Dr3eq)qvcRBiBV8!;?_DrJ<3ZeOJd)>Q(^-QwupG3d6Us`56n2Vy+s-r?1f@`Q+nKpK)qa}T&YHB8@x(7nslV98c7DeL^8eq0Z5QJx zb?ViUNQJ?O5f<61Znn#Pf*`}V?OI8?arPRvo2}EpkJYx_yz2q+v#;%Lcu8o@rS0xY zvX~v~*iv06B5Ksomb!QmMB_2G)SVycJk|ElOowbb*Y=Pal%n|<+p{w%P-dO6y?Hp* z4#nl@|0=ugxTvl#f8KlZ-U!?Rq9CF$BB)rfE3qdERtN^WL>Xa#!EwN05K-gUjU^Bz z_>2W(EYYY~P{$T*(Zrfqv7$s0d#|y;o_WUK?*4ZF*!}RC`Od5N+;dO6=N3Hf4MyAE z#^~|zQ6}id=sg~7!i?unUwb@$-4bNoeUB$cI^hWE6OZRU*z*||;_-KXjFR^wuE)0D zx7_3PXQd$jcF5!PpDodeB@yvEOx0$HM0|%UsQT|G63UqLWS54re?1~sPQ+x@U7~n9 zVnHw!5cip=p8-D-4~kAG?-xRIQLpF35Kjl1Uh@LtIj0y$Mx#j8TR66p`X}*j z$_#=bnFKlx;3Cjh7l|R#5A-dYkUD`YaR{a*3EDda9I zg-)gkslNz?HDefQko^qAiOonOu>j;TNu<%y3Xm_(B#qG7$d@8XliP)$E09RoF$}#t zACR!}BOuSWk!E3^ASW}4qxowch=DUm>);%WY#NX@4^IJXw~@B4;|r%XRQO;Le*PQ| z)y^Runnr_s^EByP`z)r{{K+TSl@hwN)KHmlgmkT_4obu7q+8cBAn%$)BC4Z78+3z2 z*fA37z({1RP@KLuf^;7`2!*uLLAuX>1`yg-L$T9)lwzoMEKOKWdf|pNx*vQ=uf^R! zITt|s96SZGn~g+O?*vMA7>RCp0Cd|U$!7zQ;D!Mj3dtq!F?Xnj(vz1O%A^t9+H`n6i9dV@GoUj`{MCHSs)Z9{ zHQeN`-lt^5H^ZN!k?jnqn*&T?acZ**A&ZXAdX`7m~~dNLbCwWK3)UC_mLASt1JW zpXDSgU=_e|2g$Nr0!kE06Ov!8ox@T|6)MMDTlkSo)*FQinnE4*tE+(@S)B^uGWcDTO zB{%7%p)z6?nKQ5u6BbWN&P=Rut=1%;zeE4Ob0S4#tqmgDgqLLJk(U zBi~gi#C(De`M$&FIH`Rh`C-F692b19p*|>^tgVCje|g1KvhHt;cK5X*8{c8g!!j*%VLW&xC?lATRlkC}zRxSjjPmJp#nNHOcYF=eR&%FgbB? zGC<-oaymB$lpki3Gr<@Q`y`RGbL)c6qZv833*GMF3*_9TjhJ#>M$R|K{J@$*a=!O5 z5G_Vh^2HL2c1Mts%}>x>XOj!H(Lgm!Bp2O&))bw!d{f@}vaa_t(qF>t;ys*pcsX##;xexONeH zuL-1b_OGDt)`nDWUjvZ4hl)AdF!!^bia!nj-QFmwvtofhF;rPx3c~7c)QyLM(s(g- zUyW(D&W)-2D~y=D*HVu=TQLdkMM)V7Vao_gSF8Zti*1xXSdZ%h0;%UlE6z1br(VO+ z1aEd6rPY-Y05?9SKHiwS4NjrH%dpL7wxa(1LO@EaL2H%7fb`o#T00I?G6Owm?ZPIw z+szmnI36wG?~AFS7&&wE7_FmZgT7T14QhjFyvG-5h%ZLX4@zkLJ~*Nhzk@c2LPNG@ z3T?3HDdtBx;ryRwGilhy8z5f!g*N}KFF=n}+EO14N{@@Q&0O??`lqz*H`rk) z8cy35`XLL0=|`9)m#>7=4&ey^X9H=+Js4JRub|xqKf&2Zm54Y~x}*!@bHvGrFAxtP z;&h!0dc+FEK8TeV|Ign^yA46b?k<&YYG;t4&e6E7DB!zaL zk8?h{zoR`d!3bV^HPl5)8tQ%HX-{Jk=r%cMpRQPeDQ+~1ECONTOBywQC+Mp^pi$QY zLDy_4jc#NG4nQ;1uS?qf%VwHpP<_m2GPA+=7F+nE#23-705}~>AtBr#j2xB_mc?F_X(swFRYG3 ztu5)H)u^`fzo18|CV+f!0X=pNwPv~({cYem^ok$T-{+vrtf@&)S6zvV(rVI@ZdOnd z9C~`;S4@Ws7J6~f1CUQ&pqIe_;P#Z39xMbYHkV#w*v4gjX_=ue?)fs5mMyu6YWO!T zTa97+)^K{`2=*V!FVXUY*oRzug8pT~ZuiUH^j0PIs@Kn@Pe0uca%5lnEGr9O$zuAf zJR5}m+vxL(TIm0G%k+g8My;je>6?*LL3p@>R=TxB%ap94xZ@3j;9g!E)Sznugr{72^V0-aOG`pmECTG01;$O66cK=;LIX7H|xUh_IL z?8X5{Z(kOag7-IB%R+`H;QD{(MHaFerO^@1>W`@nu=WaT;CUPLN#C&sKmCHqrsga( z2Gi_&)@UfdSi(ZH@%U{O4VC(XSm<)xVnqyN4d<=^I26H}dYu8`v*E18-C>~fn#J0b zqtKlSWgo3L1n^`gYd;1ftlaLbW0WiZ|MYX#5xtUfGK6(*y&GpbWUwy3cLrVOH>_JS z=6ag%WD$)fg6?S}7MY0M^~qORWCeP$b@wz>_SI+I-7p9}e~I;2u@zuKUDmtY3zVX{ ztk1YkphRzBpLW51Me`W;=}ycgEq%gb&){%fd?OZn*D)D{EIsRA58E0Jvw=C$m>!Q~ zgBC0Tx$_G)Xb*ueR&Xu{0Ys>W7+kEz|qkJ-vs{Xov_#MXFY+gEGP z)~^l#dDIC9+myE)68ib4=0Coty)D@b+vvz_uY3^s$=uEwna;5pmf zY9dH;GudwQQ_%bMXM1X5ie=DD4V9cP*-!flL1(Ba?#xJbz~=P>6&l{n+W6 zCXlE%J40@uHgsm^!%$80C$f^^s4d|u*`*@nP`ZO%cCC1NRf}Emo&~xe`>`vBkpstb zS!v5jI7s#GJ@PUQ^^U4vvFlU9(7Qci*Dr*D6!;VS<90MCK13J;{e6{ z8SKxcA)uSyn*F)sGR|<$Vz;md1Zg7E_Kqnd?CujY$ZgiJhr6r*1J<#p^N};n53py$ zLI4t`v*(A<#Jf*te~-pMriKrDeWe)vf1^(9O$7>9+-L0F$})7vPc@WyTMgyov8-aZ z2=dHIR_Tv8s~@YJJq+X}dRB>f1EKmOR(V(kJv+t$C$md)I&*Q;VDx%FaA`yfRMTKC zw>=1OemvLr!ddVqig}e^FqA7!=WcaT{~>ZJci(;yDIdu_q!ystaFTntW1nvQG46pQ zBEtC|oODEvtZd2Y9<1@k5Kf;y20=N+*>UV_zP54hI={h3L;1*Y?l}t8*|C&+H7>w3 z+iUI>hj{`^UtVpt2)Z5Lao=vp@y7SKUo8jP^0_~7|JxNHulbDE$wDcP7kC3-6v8UK zd4r?TpzGP1hlW4JIR6z7jYN~Xu$(u}D#eja;9*a5K$$U#H(iDOhb`amX1LL`&NH7k zOGnvYnY`ISOz(G-c#9p;AWz!ETNyEfGVn5Q-5>AI{hYUPG{6;$o&)$t^#edjnatZY zuwmQZ=k0qJ;LN70y#0V;fR2rMd-F8ViQ&Bc473M%UEkx~*!TG0D(`Rr)iwSM@0^E* z3EJ~dCT#_2covVShxfN#s-eDfB9GXRg~M(^y!)n9kmSYO(Yp-2*oja1z|#b~(^vQ) z9AJdRaz6Z*91vUExG}X8h~)=(Vh2Cag%|R~d<-x;#BCo9;-Ury!IhCBhG z(F#6SHxZPs{dvxs6(Ggj=kw;=2C27`&kw?t)ypFIf?i>unBDld)pugp?aP;BqI%zO z9Nl83s7{@|3YST9)3qjw*#1D57K?r}r52vEgeechY_~&5u zYoLb8(K`R&SPdP@(JR^yz0HpwiJpohA7At1RZrq(6F2zr!2uv|OyIw*83xeDi=R$F zPQ}jV=i-KebZi+vce@`hrI^o4#)g72+|Dm}qn=kEr=c(@f?o-hf`55o7%Hz+*R0o}q#GjwS zP_Fv~{vtaEbW7s+i`D%B3I}T_A05bF4G(IC@qRRaI}(Lz?>7Ff$3~EPeZ?!1M}V@o zhZ*#?nMM0eGb8DD&=pd^2sTItlUkOd_s_F$sHX1=QP2kr>b-c$&&!07qY*Ok+X7}V zL8f{=R_7mQ#|Ll0C_G_+zAz9kCAwY$cHAchNA>aZQJ*wpVuryqHr-@1k1|>9MvI|u zR3Ah4{yhz5YlhuqOf;k=87!t`V?wr}??7{6vdM197-_cV)!9(JsK@#V-HYgp#pBg| z-349VyeBo(-b-Y6J?)!mP8ey(E2s>b>1Pw1em3!9mq^_rq}h!BjKuY4KyvMP&*Hrq)W5h<^~WF%64K#OI^_ zDcB5FEIKI9xXD|Mx-Yq_r&@_M)HkY*XyvIdcZ-d?8t@iZ!3oG^6Ew!h$7nRV>hOVD z8(tZw9b=j6xmN*SXHU!7J@rCgyH2FHF*&((-`!= zouL7q9E(-6K&bYt9lv{F`D5^tfi&2VkLmbsgLY>so^#!oh*zx|SA(EGqRGX)BfuPV9-_swgZ=dP|?ivNJ4a*61!?uf#c z7y>;ZMq`Ev$#qrL2-z+ssG}F@L+XF14ay+C?0=^}5yf|OXUV(!`**p@bdl|1s{zUT ze^*1zDHQ8EunHffUKFCtW5FH)`az>EBo@Pi$vsz6FcEc!BMussN zFDKd3Mj5ixGHtF)c3YaoVzT{nqw6RGwZx#kEzHm}$#tV4G0k92Lme@h3`WC0FE=EK zX*P9Ku~@?qpESyqdyfHbQKKNd5BRt4A7Av#A-Oh9tAa)Bq7{=(;_qe+E|lAHofhX_iEj4SD7w-Db+L z8*TRg!H9oo`A;^Otqx?$ke)Hx%NwKJvD=Ku?hoYr8yz1g_*V@+Jn5>c)+qmHqV#C& zs&=y^tAqE89?m;k#6Y_csixNyeVsA&r3}F-gi4vjxw*Aem$=P^Bd85#u&Xf*r24Av z6DddyIHo94hD$VC3BGxcN@_ZXeIoU(?d%;d)otypzd+h9I#(~2I@NT}-Y&&*XP+aI z#GSh?Na^m*XE&r7dT04v=~vM?{h^d1)Q*E_)H$1Gsy`8^Eh?$Ysp(pelFEg?>~~Fohu(p*Cglm=TeR5&TsGOx_An9b>1Pt zTW$KcPEpqll9*cMt*(aC|D7(*-&t5g-s|OD-B2D7?yPB&%OoeRkpEMb`avIcG?Tsc zF0+ILsL?k0Q`NJYqHG@{zY(1;vSp*-Tsc8LWD*M1)Ia2Joo+Ye!F_~j>VoD}=XhNfHE$>#^8>f1*hXrJc9S zD7p;8d%J-R0Jl|qC{zvmR#KcBS}2`@g}15@p!ZW(C(Bh;-+@Xi)j3cxsL^*7cW1^x z<@3*-!P^ySmT*C>ldbp(?Nl!>*}J-nvo3P1XenI|(u#j3^+BNE%Qco`Nk+V20gLMO zmsDMy6tAzMu74?qs2+3mRNdG`@o^n`sLjF!x8A+_pdL2Sl(n4!)k2eBR0vefaj14^ zAW&ZtGHo_=sHmMryCp3x{ryE_hIa8^C)7!u^uEF+HDHh8`wy||gH&A=bz-(sRkiNW zD{ARjfvUgPSLD3f58LMtSKNGE&1At^7&MFS`gXA@Q=L>(@l}TmQ9RVj9KD-Y)Mw`8 zl>bVndVh#gv#tSY(8@QV)|- + + AllTrackLibraryFeature + + + All... + + + AnalysisFeature @@ -19,52 +27,52 @@ AutoDJFeature - + Crates Bacs - + Enable Auto DJ Active Auto DJ - + Disable Auto DJ Désactiver Auto DJ - + Clear Auto DJ Queue Effacer la file d'attente Auto DJ - + Remove Crate as Track Source Retirer le bac des sources de pistes - + Auto DJ Auto DJ - + Confirmation Clear Confirmation effacement - + Do you really want to remove all tracks from the Auto DJ queue? Êtes-vous sûr de vouloir supprimer toutes les pistes de la file d'attente Auto DJ ? - + This can not be undone. Ça ne peut pas être annulé. - + Add Crate as Track Source Ajouter le bac aux sources de pistes @@ -223,7 +231,7 @@ - + Export Playlist Exporter la liste de lecture @@ -277,13 +285,13 @@ - + Playlist Creation Failed La création de la liste de lecture a échouée - + An unknown error occurred while creating playlist: Une erreur inconnue s'est produite à la création de la liste de lecture : @@ -298,12 +306,12 @@ Voulez-vous vraiment supprimer la liste de lecture <b>%1</b>? - + M3U Playlist (*.m3u) Liste de lecture M3U (*.m3u) - + M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Text CSV (*.csv);;Readable Text (*.txt) Liste de lecture M3U (*.m3u);;Liste de lecture M3U8 (*.m3u8);;Liste de lecture PLS (*.pls);;Texte CSV (*.csv);;Texte (*.txt) @@ -311,12 +319,12 @@ BaseSqlTableModel - + # - + Timestamp Horodatage @@ -324,7 +332,7 @@ BaseTrackPlayerImpl - + Couldn't load track. Impossible de charger la piste. @@ -362,7 +370,7 @@ Canaux - + Color Couleur @@ -377,7 +385,7 @@ Compositeur - + Cover Art Pochette d'album @@ -387,7 +395,7 @@ Date d'ajout - + Last Played Dernière écoute @@ -417,7 +425,7 @@ Tonalité - + Location Emplacement @@ -427,7 +435,7 @@ Aperçu - + Preview Aperçu @@ -467,7 +475,7 @@ Année - + Fetching image ... Tooltip text on the cover art column shown when the cover is read from disk Récupération de l'image... @@ -489,22 +497,22 @@ BroadcastProfile - + Can't use secure password storage: keychain access failed. Impossible d'utiliser le stockage de mot de passe sécurisé : échec d'accès au trousseau. - + Secure password retrieval unsuccessful: keychain access failed. La récupération de mot de passe sécurisé a échoué : échec d'accès au trousseau. - + Settings error Erreur de paramétrage - + <b>Error with settings for '%1':</b><br> <b>Erreur avec le réglage pour '%1' : </b><br> @@ -592,7 +600,7 @@ - + Computer Ordinateur @@ -612,17 +620,17 @@ Analyse - + "Computer" lets you navigate, view, and load tracks from folders on your hard disk and external devices. "Ordinateur" vous permet de naviguer, voir et charger les pistes dans les répertoires de votre disque dur et périphériques externes. - + It shows the data from the file tags, not track data from your Mixxx library like other track views. Il affiche les données des métadonnées de fichiers, et non les données de piste en provenance de votre bibliothèque Mixxx comme les autres vues de piste. - + If you load a track file from here, it will be added to your library. Si vous chargez un fichier de piste à partir d'ici, il sera ajouté à votre bibliothèque. @@ -735,12 +743,12 @@ Fichier créé - + Mixxx Library Bibliothèque Mixxx - + Could not load the following file because it is in use by Mixxx or another application. Impossible de charger le fichier suivant car il est utilisé par Mixxx ou une autre application. @@ -771,88 +779,93 @@ CmdlineArgs - + Mixxx is an open source DJ software. For more information, see: Mixxx est un logiciel DJ open source. Pour plus d'informations, voir : - + Starts Mixxx in full-screen mode Démarre Mixxx en mode plein écran - + Use a custom locale for loading translations. (e.g 'fr') Utiliser un paramètre régional pour charger les traductions. (par exemple 'fr', 'French") - + Top-level directory where Mixxx should look for its resource files such as MIDI mappings, overriding the default installation location. Répertoire de niveau supérieur dans lequel Mixxx doit rechercher ses fichiers de ressources, tels que les mappages MIDI, en remplaçant l'emplacement d'installation par défaut. - + Path the debug statistics time line is written to Chemin dans lequel la chronologie des statistiques de débogage est écrite - + Causes Mixxx to display/log all of the controller data it receives and script functions it loads Permet à Mixxx d'afficher/journaliser toutes les données du contrôleur qu'il reçoit et les fonctions de script qu'il charge - + The controller mapping will issue more aggressive warnings and errors when detecting misuse of controller APIs. New Controller Mappings should be developed with this option enabled! Le mappage du contrôleur émettra des avertissements et des erreurs plus agressifs lors de la détection d'une utilisation abusive des API du contrôleur. Les nouveaux mappages de contrôleur devraient être développés avec cette option activée ! - + Enables developer-mode. Includes extra log info, stats on performance, and a Developer tools menu. Active le mode développeur. Comprend des informations de journal supplémentaires, des statistiques sur les performances et un menu d'outils Développeur. - + Top-level directory where Mixxx should look for settings. Default is: Répertoire racine où Mixxx doit chercher les paramètres. La valeur par défaut est : - + Starts Auto DJ when Mixxx is launched. Démarre Auto DJ au lancement de Mixxx. - + Rescans the library when Mixxx is launched. Réanalyse la bibliothèque lorsque Mixxx est lancé. - + Use legacy vu meter Utiliser le vu-mètre historique - + Use legacy spinny Utiliser Spinny hérité - - Loads experimental QML GUI instead of legacy QWidget skin - Charge l'interface graphique QML expérimentale au lieu de l'ancien thème QWidget + + Loads the highly unstable 3.0 Mixxx interface, based on QML. You need to use a new setting profile, or run with 'allow-dangerous-data-corruption-risk' to use with the current one. We highly recommend backing up your data if you do so. + + + + + Force Mixxx to load an unstable version with an existing user profile from a stable version + - + Enables safe-mode. Disables OpenGL waveforms, and spinning vinyl widgets. Try this option if Mixxx is crashing on startup. Active le mode sans échec. Désactive les formes d'onde OpenGL et les widgets de vinyle en rotation. Essayez cette option si Mixxx plante au démarrage. - + [auto|always|never] Use colors on the console output. [auto | toujours | jamais] Utiliser des couleurs sur la sortie de la console. - + Sets the verbosity of command line logging. critical - Critical/Fatal only warning - Above + Warnings @@ -867,32 +880,32 @@ debug : ci-dessus + messages débogage/développeur trace : ci-dessus + messages de profilage - + Sets the the logging level at which the log buffer is flushed to mixxx.log. <level> is one of the values defined at --log-level above. Définit le niveau de journalisation auquel le tampon de journal est vidé vers mixxx.log.<level> est l'une des valeurs définies au --log-level ci-dessus. - + Sets the maximum file size of the mixxx.log file in bytes. Use -1 for unlimited. The default is 100 MB as 1e5 or 100000000. Définit la taille maximale du fichier mixxx.log en octets. Utilisez -1 pour illimité. La valeur par défaut est de 100 Mo sous la forme 1e5 ou 1 000 000 000. - + Breaks (SIGINT) Mixxx, if a DEBUG_ASSERT evaluates to false. Under a debugger you can continue afterwards. Interrompt Mixxx (SIGINT), si un DEBUG_ASSERT est évalué à false. Sous un débogueur vous pouvez continuer ensuite. - + Overrides the default application GUI style. Possible values: %1 Remplace le style d'interface graphique par défaut de l'application. Valeurs possibles : %1 - + Load the specified music file(s) at start-up. Each file you specify will be loaded into the next virtual deck. Charger le ou les fichiers de musique spécifiés au démarrage. Chaque fichier que vous spécifiez sera chargé sur la prochain platine virtuel. - + Preview rendered controller screens in the Setting windows. Prévisualisez les rendus des écrans de contrôleur dans les fenêtres de paramètres. @@ -985,2557 +998,2585 @@ trace : ci-dessus + messages de profilage ControlPickerMenu - + Headphone Output Sortie casque - - - + + + + Deck %1 + %1 is the deck number 1 ... 4 Platine %1 - + Sampler %1 Échantillonneur %1 - + Preview Deck %1 Platine de pré-écoute %1 - + Microphone %1 Microphone %1 - + Auxiliary %1 Auxiliaire %1 - + Reset to default Rétablir les valeurs par défaut - + Effect Rack %1 Rack d'effets %1 - + Parameter %1 Paramètre %1 - + Mixer Table de mixage - - + + Crossfader Curseur de mixage - + Headphone mix (pre/main) Mixage casque (pré-écoute/général) - + Toggle headphone split cueing Basculer la répartition de pré-écoute au casque - + Headphone delay Délai casque - + Transport Transport - + Strip-search through track Rechercher dans la piste - + Play button Bouton de lecture - - + + Set to full volume Mettre à plein volume - - + + Set to zero volume Mettre le volume à zéro - + Stop button Bouton d'arrêt - + Jump to start of track and play Sauter au début de la piste et la lire - + Jump to end of track Sauter à la fin de la piste - + Reverse roll (Censor) button Bouton (Censeur) d'inversion de lecture - + Headphone listen button Bouton d'écoute au casque - - + + Mute button Bouton sourdine - + Toggle repeat mode Activer/désactiver le mode répétition - - + + Mix orientation (e.g. left, right, center) Orientation du Mix (ex. gauche, droite, centre) - - + + Set mix orientation to left Régle l'orientation du mix à gauche - - + + Set mix orientation to center Régle l'orientation du mix au centre - - + + Set mix orientation to right Régle l'orientation du mix à droite - + Toggle slip mode Activer le mode "Glissement" - - + + BPM BPM - + Increase BPM by 1 Augmenter le BPM de 1 - + Decrease BPM by 1 Diminuer le BPM de 1 - + Increase BPM by 0.1 Augmenter le BPM de 0.1 - + Decrease BPM by 0.1 Diminuer le BPM de 0.1 - + BPM tap button Bouton de battement BPM - + Toggle quantize mode Activer/désactiver le mode quantification - + One-time beat sync (tempo only) Synchronisation rythmique ponctuelle (tempo uniquement) - + One-time beat sync (phase only) Synchronisation rythmique ponctuelle (phase uniquement) - + Toggle keylock mode Activer/désactiver le mode verrouillage de tonalité - + Equalizers Égaliseurs - + Vinyl Control Contrôle Vinyle - + Toggle vinyl-control cueing mode (OFF/ONE/HOT) Activer/Désactiver le mode pré-écoute avec le contrôle vinyle (ARRET/UN/HOT) - + Toggle vinyl-control mode (ABS/REL/CONST) Activer/désactiver le mode de contrôle vinyle (ABS/REL/CONST) - + Pass through external audio into the internal mixer Passage de l'audio externe dans la table de mixage interne - + Cues Repères - + Cue button Bouton de repère - + Set cue point Définir le point de repère - + Go to cue point Aller au point de repère - + Go to cue point and play Aller au point de repère et lire - + Go to cue point and stop Aller au point de repère et stopper - + Preview from cue point Pré-écoute depuis le point de repère - + Cue button (CDJ mode) Bouton de repère (mode CDJ) - + Stutter cue Repère de saccade - + Hotcues Repères rapides - + Set, preview from or jump to hotcue %1 Définir, pré-écouter à partir de ou sauter au repère rapide %1 - + Clear hotcue %1 Effacer le repère rapide %1 - + Set hotcue %1 Définir le repère rapide %1 - + Jump to hotcue %1 Sauter au repère rapide %1 - + Jump to hotcue %1 and stop Sauter au repère rapide %1 et stopper - + Jump to hotcue %1 and play Sauter au repère rapide %1 et lire - + Preview from hotcue %1 Pré-écouter à partir du repère rapide %1 - - + + Hotcue %1 Repère rapide %1 - + Looping Faire une boucle - + Loop In button Bouton de début de boucle - + Loop Out button Bouton de fin de boucle - + Loop Exit button Bouton de sortie de boucle - + 1/2 1/2 - + 1 1 - + 2 2 - + 4 4 - + 8 8 - + 16 16 - + 32 32 - + 64 64 - + Move loop forward by %1 beats Déplace la boucle vers l'avant de %1 battements - + Move loop backward by %1 beats Recule la boucle de %1 battements - + Create %1-beat loop Créer une boucle sur %1 battement - + Create temporary %1-beat loop roll Créer une boucle déroulante temporaire sur %1-battement - + Library Bibliothèque - + Slot %1 Banc %1 - + Headphone Mix Mix du casque - + Headphone Split Cue Répartition de pré-écoute au casque - + Headphone Delay Delai du casque - + Play Lire - + Fast Rewind Rembobinage rapide - + Fast Rewind button Bouton de retour rapide - + Fast Forward Avance rapide - + Fast Forward button Bouton d'avance rapide - + Strip Search Recherche de bande - + Play Reverse Inverser le sens de lecture - + Play Reverse button Bouton inversion du sens de lecture - + Reverse Roll (Censor) Inversion de lecture (Censeur) - + Jump To Start Sauter au début - + Jumps to start of track Saut au début de la piste - + Play From Start Lire à partir du début - + Stop Arrêter - + Stop And Jump To Start Arrêter et sauter au début - + Stop playback and jump to start of track Arrêter la lecture et sauter au début de la piste - + Jump To End Sauter à la fin - + Volume Volume - - - + + + Volume Fader Curseur de volume - - + + Full Volume Plein volume - - + + Zero Volume Volume à zéro - + Track Gain Gain de la piste - + Track Gain knob Potentiomètre de gain de piste - - + + Mute Sourdine - + Eject Éjecter - - + + Headphone Listen Écoute au casque - + Headphone listen (pfl) button Bouton d'écoute (pré-fader) au casque - + Repeat Mode Mode répétition - + Slip Mode Mode glisser - - + + Orientation Orientation - - + + Orient Left Orienter à gauche - - + + Orient Center Orienter au centre - - + + Orient Right Orienter à droite - + BPM +1 BPM +1 - + BPM -1 BPM -1 - + BPM +0.1 BPM +0.1 - + BPM -0.1 BPM -0.1 - + BPM Tap Tap Tempo - + Adjust Beatgrid Faster +.01 Accélérer la grille rythmique de +.01 - + Increase track's average BPM by 0.01 Augmenter le BPM moyen de la piste de 0.01 - + Adjust Beatgrid Slower -.01 Décélérer la grille rythmique de -.01 - + Decrease track's average BPM by 0.01 Diminuer le BPM moyen de la piste de 0.01 - + Move Beatgrid Earlier Placer la grille rythmique plus tôt - + Adjust the beatgrid to the left Ajuster la grille rythmique vers la gauche - + Move Beatgrid Later Placer la grille rythmique plus tard - + Adjust the beatgrid to the right Ajuster la grille rythmique vers la droite - + Adjust Beatgrid Ajuster la grille rythmique - + Align beatgrid to current position Aligner la grille rythmique à la position actuelle - + Adjust Beatgrid - Match Alignment Ajuster la grille rythmique - Correspondance d'alignement - + Adjust beatgrid to match another playing deck. Ajuste la grille rythmique afin de l'aligner à une autre platine en cours de lecture. - + Quantize Mode Mode de quantification - + Sync Synchronisation - + Beat Sync One-Shot Synchronisation rythmique ponctuelle - + Sync Tempo One-Shot Synchronisation tempo ponctuelle - + Sync Phase One-Shot Synchronisation phase ponctuelle - + Pitch control (does not affect tempo), center is original pitch Contrôle de la hauteur tonale (n'affecte pas le tempo), au centre est la hauteur tonale d'origine - + Pitch Adjust Ajustement de la hauteur tonale - + Adjust pitch from speed slider pitch Ajuster la hauteur tonale en fonction de celle du curseur de vitesse - + Match musical key Aligner la tonalité musicale - + Match Key Aligner tonalité - + Reset Key Réinitialiser la tonalité - + Resets key to original Réinitialise la tonalité à sa valeur d'origine - + High EQ EQ des Aigus - + Mid EQ EQ des Médiums - - + + Main Output Sortie principale - + Main Output Balance Balance de la sortie principale - + Main Output Delay Délai de la sortie principale - + Main Output Gain Gain de sortie la principale - + Low EQ EQ des Basses - + Toggle Vinyl Control Activer/désactiver le contrôle vinyle - + Toggle Vinyl Control (ON/OFF) Activer/Désactiver le contrôle vinyle (ARRÊT/MARCHE) - + Vinyl Control Mode Mode de Contrôle Vinyle - + Vinyl Control Cueing Mode Mode de pré-écoute contrôle vinyle - + Vinyl Control Passthrough Contrôle de vinyle intermédiaire - + Vinyl Control Next Deck Platine de contrôle de vinyle suivante - + Single deck mode - Switch vinyl control to next deck Mode de platine unique - Basculer vers la platine suivante - + Cue Repère - + Set Cue Placer un repère - + Go-To Cue Aller au repère - + Go-To Cue And Play Aller au repère et lire - + Go-To Cue And Stop Aller au repère et arrêter - + Preview Cue Prévisualiser le repère - + Cue (CDJ Mode) Repère (mode CDJ) - + Stutter Cue Repère de saccade - + Go to cue point and play after release Aller au point de repère et lancer la lecture en relâchant le bouton - + Clear Hotcue %1 Effacer le repère rapide %1 - + Set Hotcue %1 Placer le repère rapide %1 - + Jump To Hotcue %1 Sauter au repère rapide %1 - + Jump To Hotcue %1 And Stop Sauter au repère rapide %1 et arrêter - + Jump To Hotcue %1 And Play Sauter au repère rapide %1 et lire - + Preview Hotcue %1 Prévisualiser le repère rapide %1 - + Loop In Entrée en boucle - + Loop Out Sortie de Boucle - + Loop Exit Sortir de la boucle - + Reloop/Exit Loop Reboucler/Sortir de la boucle - + Loop Halve Réduction de la boucle de moitié - + Loop Double Doublage de la boucle - + 1/32 1/32 - + 1/16 1/16 - + 1/8 1/8 - + 1/4 1/4 - + Move Loop +%1 Beats Déplacer la boucle de +%1 battements - + Move Loop -%1 Beats Déplacer la boucle de -%1 battements - + Loop %1 Beats Boucle de %1 battements - + Loop Roll %1 Beats Boucle déroulante de %1 battements - + Add to Auto DJ Queue (bottom) Ajouter à la file d'attente Auto DJ (fin) - + Append the selected track to the Auto DJ Queue Ajoute la piste sélectionnée à la file d'attente Auto DJ - + Add to Auto DJ Queue (top) Ajouter à la file d'attente Auto DJ (début) - + Prepend selected track to the Auto DJ Queue Ajoute la piste sélectionnée au début de la file d'attente Auto DJ - + Load Track Charger la piste - + Load selected track Charger la piste sélectionnée - + Load selected track and play Charger la piste sélectionnée et la lire - - + + Record Mix Enregistrer le mix - + Toggle mix recording Basculer l'enregistrement du mix - + Effects Effets - - Quick Effects - Effets rapides - - - + Deck %1 Quick Effect Super Knob Super potentiomètre d'Effet rapide pour la platine %1 - + + Quick Effect Super Knob (control linked effect parameters) Super potentiomètre d'Effet rapide (contrôle les paramètres d'effet liés) - - + + + + Quick Effect Effet rapide - + Clear Unit Effacer l'unité - + Clear effect unit Effacer l'unité d'effets - + Toggle Unit Activer/désactiver d'unité - + Dry/Wet Dry/Wet - + Adjust the balance between the original (dry) and processed (wet) signal. Règle la balance entre le signal original (dry) et le signal traité (wet). - + Super Knob Super potentiomètre - + Next Chain Prochaine chaîne - + Assign Assigner - + Clear Effacer - + Clear the current effect Effacer l'effet actuel - + Toggle Activer/désactiver - + Toggle the current effect Activer/désactiver l'effet actuel - + Next Suivant - + Switch to next effect Passer à l'effet suivant - + Previous Précédent - + Switch to the previous effect Passer à l'effet précédent - + Next or Previous Suivant ou précédent - + Switch to either next or previous effect Passer à l'effet suivant ou précédent - - + + Parameter Value Valeur du paramètre - - + + Microphone Ducking Strength Puissance d'atténuation du microphone - + Microphone Ducking Mode Mode atténuation du microphone - + Gain Gain - + Gain knob Potentiomètre du gain - + Shuffle the content of the Auto DJ queue Mélange aléatoirement le contenu de la file d'attente Auto DJ - + Skip the next track in the Auto DJ queue Saute à la piste suivante dans la file d'attente Auto DJ - + Auto DJ Toggle Activer/désactiver Auto DJ - + Toggle Auto DJ On/Off Activer/Désactiver Auto DJ Marche/Arret - + Show/hide the microphone & auxiliary section Affiche/Masque la section Microphone/Auxiliaire - + 4 Effect Units Show/Hide Afficher/Masquer les 4 unités d'effets - + Switches between showing 2 and 4 effect units Basculer entre l'affichage de 2 et 4 unités d'effets - + Mixer Show/Hide Afficher/Cacher la table de mixage - + Show or hide the mixer. Affiche ou masque la table de mixage. - + Cover Art Show/Hide (Library) Affiche/Masque la pochette d'album (bibliothèque) - + Show/hide cover art in the library Afficher/Masquer la pochette d'album dans la bibliothèque - + Library Maximize/Restore Maximise/Rétablit la bibliothèque - + Maximize the track library to take up all the available screen space. Maximise la bibliothèque de pistes pour occuper tout l'espace d'écran disponible - + Effect Rack Show/Hide Affiche/Masque le rack d'effets - + Show/hide the effect rack Affiche/Masque le rack d'effets - + Waveform Zoom Out Zoom arrière de la forme d'onde - + Headphone Gain Gain du casque - + Headphone gain Gain du casque - + Tap to sync tempo (and phase with quantize enabled), hold to enable permanent sync Taper pour synchroniser le tempo (et la phase avec la quantification activée), maintenir pour activer la synchronisation permanente - + One-time beat sync tempo (and phase with quantize enabled) Synchronisation tempo rythmique ponctuelle (et phase avec une quantification activée) - + Playback Speed Vitesse de Lecture - + Playback speed control (Vinyl "Pitch" slider) Contrôle de la vitesse de lecture (curseur "Pitch" vinyle) - + Pitch (Musical key) Hauteur tonale (tonalité musicale) - + Increase Speed Augmenter la vitesse - + Adjust speed faster (coarse) Ajuster la vitesse en plus rapide (grossier) - + Increase Speed (Fine) Augmenter la Vitesse (Fin) - + Adjust speed faster (fine) Ajuster la vitesse en plus rapide (fin) - + Decrease Speed Diminuer la vitesse - + Adjust speed slower (coarse) Ajuster la vitesse en plus lent (grossier) - + Adjust speed slower (fine) Ajuster la vitesse en plus lent (fin) - + Temporarily Increase Speed Augmenter temporairement la vitesse - + Temporarily increase speed (coarse) Augmente temporairement la vitesse (grossier) - + Temporarily Increase Speed (Fine) Augmente Temporairement la Vitesse (Fin) - + Temporarily increase speed (fine) Diminue temporairement la vitesse (fin) - + Temporarily Decrease Speed Diminuer temporairement la vitesse - + Temporarily decrease speed (coarse) Diminue temporairement la vitesse (grossier) - + Temporarily Decrease Speed (Fine) Diminue Temporairement la vitesse (Fin) - + Temporarily decrease speed (fine) Diminue temporairement la vitesse (fin) - - + + Adjust %1 Ajuster %1 - + + Deck %1 Stem %2 + Paltine %1 Stem %2 + + + Effect Unit %1 Unité d'effet %1 - + Button Parameter %1 Bouton paramètre %1 - + Skin Thème - + Controller Contrôleur - + Crossfader / Orientation Curseur de mixage / Orientation - + Main Output gain Gain de sortie la principale - + Main Output balance Balance de la sortie principale - + Main Output delay Délai de la sortie principale - + Headphone Casque - - + + Kill %1 + %1 is "Low EQ" "Mid EQ" or "High EQ" Tuer %1 - + Eject or un-eject track, i.e. reload the last-ejected track (of any deck)<br>Double-press to reload the last replaced track. In empty decks it reloads the second-last ejected track. Éjecter ou annuler l'éjection d'une piste, c'est-à-dire recharger la dernière piste éjectée (de n'importe quelle platine)<br> Appuyez deux fois pour recharger la dernière piste remplacée. Dans les platines vides, sera rechargé l'avant-dernier morceau éjecté. - + BPM / Beatgrid BPM / Grille rythmique - + Halve BPM Diviser le tempo par deux - + Multiply current BPM by 0.5 Multiplier le BPM actuel par 0,5 - + 2/3 BPM 2/3 BPM - + Multiply current BPM by 0.666 Multiplier le BPM actuel par 0,666 - + 3/4 BPM 3/4 BPM - + Multiply current BPM by 0.75 Multiplier le BPM actuel par 0,75 - + 4/3 BPM 4/3 BPM - + Multiply current BPM by 1.333 Multiplier le BPM actuel par 1,333 - + 3/2 BPM 3/2 BPM - + Multiply current BPM by 1.5 Multiplier le BPM actuel par 1,5 - + Double BPM Doubler le tempo - + Multiply current BPM by 2 Multiplier le BPM actuel par 2 - + Tempo Tap Taper tempo - + Tempo tap button Bouton pour taper tempo - + Move Beatgrid Placer la grille rythmique - + Adjust the beatgrid to the left or right Ajuster la grille rythmique vers la gauche ou la droite - + Move Beatgrid Half a Beat Déplacer la grille rythmique d'un demi-battement - + Adjust the beatgrid by exactly one half beat. Usable only for tracks with constant tempo. Ajuster la grille rythmique exactement d'un demi-battement. Utilisable uniquement pour les pistes à tempo constant. - - + + Toggle the BPM/beatgrid lock Activer/désactiver le verrouillage BPM / grille rythmique - + Revert last BPM/Beatgrid Change Annuler le dernier changement de BPM / grille rythmique - + Revert last BPM/Beatgrid Change of the loaded track. Annuler le dernier changement de BPM / grille rythmique de la piste chargée. - + Sync / Sync Lock Synchroniser/Vérouiller synchronisation - + Internal Sync Leader Leader de synchronisation interne - + Toggle Internal Sync Leader Activer/désactiver le leader de synchronisation interne - - + + Internal Leader BPM Leader interne BPM - + Internal Leader BPM +1 Leader interne BPM +1 - + Increase internal Leader BPM by 1 Augmenter le Leader interne BPM de 1 - + Internal Leader BPM -1 Leader interne BPM -1 - + Decrease internal Leader BPM by 1 Diminuer le Leader interne BPM de 1 - + Internal Leader BPM +0.1 Leader interne BPM +0,1 - + Increase internal Leader BPM by 0.1 Augmenter le Leader interne BPM de 0,1 - + Internal Leader BPM -0.1 Leader interne BPM -0,1 - + Decrease internal Leader BPM by 0.1 Diminuer le Leader interne BPM de 0,1 - + Sync Leader Leader de synchronisation - + Sync mode 3-state toggle / indicator (Off, Soft Leader, Explicit Leader) Indicateur/Bascule du mode de synchronisation à 3 états (Arrêt, Leader doux, Leader explicite) - + Speed Vitesse - + Decrease Speed (Fine) Diminuer la vitesse (Fin) - + Pitch (Musical Key) Hauteur tonale (tonalité musicale) - + Increase Pitch Augmenter la hauteur tonale - + Increases the pitch by one semitone Augmente la hauteur tonale d'un demi ton. - + Increase Pitch (Fine) Augmenter la hauteur tonale (fin) - + Increases the pitch by 10 cents Augmente la hauteur tonale de 10 centièmes. - + Decrease Pitch Diminuer la hauteur tonale - + Decreases the pitch by one semitone Diminue la hauteur tonale d'un demi ton. - + Decrease Pitch (Fine) Diminuer la hauteur tonale (fin) - + Decreases the pitch by 10 cents Diminue la hauteur tonale de 10 centièmes. - + Keylock Verrouillage - + CUP (Cue + Play) CUP (Point de repère et lecture) - + Shift cue points earlier Décaler les points de repère plus tôt - + Shift cue points 10 milliseconds earlier Décale les points de repère 10 millisecondes plus tôt - + Shift cue points earlier (fine) Décaler les points de repère plus tôt (finement) - + Shift cue points 1 millisecond earlier Décale les points de repère 1 milliseconde plus tôt - + Shift cue points later Décaler les points de repère plus tard - + Shift cue points 10 milliseconds later Décaler les points de repère 10 millisecondes plus tard - + Shift cue points later (fine) Décaler les points de repère plus tard (finement) - + Shift cue points 1 millisecond later Décaler les points de repère 1 milliseconde plus tard - - + + Sort hotcues by position Trier les repères rapides par position - - + + Sort hotcues by position (remove offsets) Trier les repères rapides par position (supprimer les décalages) - + Hotcues %1-%2 Repères rapide %1-%2 - + Intro / Outro Markers Marqueurs Intro / Outro - + Intro Start Marker Marqueur début Intro - + Intro End Marker Marqueur fin Intro - + Outro Start Marker Marqueur début outro - + Outro End Marker Marqueur fin outro - + intro start marker marqueur début intro - + intro end marker marqueur fin intro - + outro start marker marqueur début outro - + outro end marker marqueur fin outro - + Activate %1 [intro/outro marker Activer %1 - + Jump to or set the %1 [intro/outro marker Aller au ou régler le %1 - + Set %1 [intro/outro marker Définir %1 - + Set or jump to the %1 [intro/outro marker Définir ou aller au %1 - + Clear %1 [intro/outro marker Effacer %1 - + Clear the %1 [intro/outro marker Effacer le %1 - + if the track has no beats the unit is seconds si la piste n'a pas de battements, l'unité est la seconde - + Loop Selected Beats Boucler sur les battements sélectionnées - + Create a beat loop of selected beat size Créer une boucle de battement du nombre de battement sélectionné - + Loop Roll Selected Beats Boucle déroulante des battements sélectionnés - + Create a rolling beat loop of selected beat size Créer une boucle de battement déroulante du nombre de battement sélectionné - + Loop %1 Beats set from its end point Boucle %1 battements définis à partir de son point final - + Loop Roll %1 Beats set from its end point Boucle déroulante %1 battements définis à partir de son point final - + Create %1-beat loop with the current play position as loop end Créer une boucle de %1-battement avec la position de lecture actuelle comme sortie de boucle - + Create temporary %1-beat loop roll with the current play position as loop end Créer une boucle temporaire de %1-battement avec la position de lecture actuelle comme sortie de boucle - + Loop Beats Boucle de battements - + Loop Roll Beats Boucle déroulante de battements - + Go To Loop In Aller à l'Entrée de Boucle - + Go to Loop In button Aller au bouton Entrée de Boucle - + Go To Loop Out Aller à la Fin de Boucle - + Go to Loop Out button Aller au bouton Fin de Boucle - + Toggle loop on/off and jump to Loop In point if loop is behind play position Activer/Désactiver la boucle et sauter au point d'entrée de la boucle si la boucle est derrière la position de lecture - + Reloop And Stop Reboucler et arrêter - + Enable loop, jump to Loop In point, and stop Active la boucle, saute au point d'entrée de la boucle, et s'arrête - + Halve the loop length Réduire de moitié la longueur de la boucle - + Double the loop length Doubler la longueur de la boucle - + Beat Jump / Loop Move Saut de Battement / Déplacement de Boucle - + Jump / Move Loop Forward %1 Beats Sauter / Déplacer la boucle de %1 battements en avant - + Jump / Move Loop Backward %1 Beats Sauter / Déplacer la boucle de %1 battements en arrière - + Jump forward by %1 beats, or if a loop is enabled, move the loop forward %1 beats Sauter en avant de %1 battements, ou si une boucle est active, déplacer la boucle de %1 battements en avant - + Jump backward by %1 beats, or if a loop is enabled, move the loop backward %1 beats Sauter vers l'arrière de %1 battements, ou si une boucle est active, déplacer la boucle de %1 battements vers l'arrière - + Beat Jump / Loop Move Forward Selected Beats Saut de Battement / Déplacement de Boucle vers l'avant des battements sélectionnés - + Jump forward by the selected number of beats, or if a loop is enabled, move the loop forward by the selected number of beats Sauter vers l'avant du nombre de battements sélectionné, ou si une boucle est active, déplacer la boucle vers l'avant du nombre de battements sélectionné - + Beat Jump / Loop Move Backward Selected Beats Saut de Battement / Déplacement de Boucle vers l'arrière des battements sélectionnés - + Jump backward by the selected number of beats, or if a loop is enabled, move the loop backward by the selected number of beats Sauter vers l'arrière du nombre de battements sélectionné, ou si une boucle est active, déplacer la boucle vers l'arrière du nombre de battements sélectionné - + Beat Jump Saut de battement - + Indicate which loop marker remain static when adjusting the size or is inherited from the current position Indique quel marqueur de boucle reste statique lors de l'ajustement de la taille ou est hérité de la position actuelle - + Beat Jump / Loop Move Forward Saut de Battement / Déplacement de Boucle vers l'avant - + Beat Jump / Loop Move Backward Saut de Battement / Déplacement de Boucle vers l'arrière - + Loop Move Forward Déplacement de Boucle vers l'avant - + Loop Move Backward Déplacement de Boucle vers l'arrière - + Remove Temporary Loop Supprimer la boucle temporaire - + Remove the temporary loop Supprimer la boucle temporaire - + Navigation Navigation - + Move up Déplacer vers le haut - + Equivalent to pressing the UP key on the keyboard Équivaut à l'appui sur la touche Flèche Haut du clavier - + Move down Déplacer vers le bas - + Equivalent to pressing the DOWN key on the keyboard Équivaut à l'appui sur la touche Flèche Bas du clavier - + Move up/down Déplacer vers le haut/bas - + Move vertically in either direction using a knob, as if pressing UP/DOWN keys Se déplacer verticalement dans chaque direction en utilisant le potentiomètre, comme si vous appuyiez sur les touches Flèches Haut/Bas du clavier - + Scroll Up Faire défiler vers le haut - + Equivalent to pressing the PAGE UP key on the keyboard Équivaut à l'appui sur la touche Page Haut du clavier - + Scroll Down Faire défiler vers le bas - + Equivalent to pressing the PAGE DOWN key on the keyboard Équivaut à l'appui sur la touche Page Bas du clavier - + Scroll up/down Faire défiler vers le haut/bas - + Scroll vertically in either direction using a knob, as if pressing PGUP/PGDOWN keys Faire défiler verticalement dans chaque direction en utilisant le potentiomètre, comme si vous appuyiez sur les touches Page Haut/Page Bas - + Move left Déplacer vers la gauche - + Equivalent to pressing the LEFT key on the keyboard Équivaut à l'appui sur la touche Flèche Gauche du clavier - + Move right Déplacer vers la droite - + Equivalent to pressing the RIGHT key on the keyboard Équivaut à l'appui sur la touche Flèche Droite du clavier - + Move left/right Déplacer vers la gauche/droite - + Move horizontally in either direction using a knob, as if pressing LEFT/RIGHT keys Se déplacer horizontalement dans chaque direction en utilisant un potentiomètre, comme si vous appuyiez sur les touches Gauche/Droite du clavier - + Move focus to right pane Déplacer le focus dans le panneau de droite - + Equivalent to pressing the TAB key on the keyboard Équivaut à l'appui sur la touche TAB du clavier - + Move focus to left pane Déplacer le focus dans le panneau de gauche - + Equivalent to pressing the SHIFT+TAB key on the keyboard Équivaut à l'appui sur les touches Maj+TAB du clavier - + Move focus to right/left pane Déplacer le focus dans le panneau de droite/gauche - + Move focus one pane to right or left using a knob, as if pressing TAB/SHIFT+TAB keys Déplacer le focus dans le panneau de droite ou de gauche en utilisant le potentiomètre ou en appuyant sur les touches TAB/Maj+TAB du clavier - + Sort focused column Trier la colonne sélectionnée - + Sort the column of the cell that is currently focused, equivalent to clicking on its header Trier la colonne contenant la cellule actuellement sélectionnée, équivaut à cliquer sur l'en-tête - + Go to the currently selected item Aller à l'élément actuellement sélectionné. - + Choose the currently selected item and advance forward one pane if appropriate Choisir l’élément sélectionner actuellement et avancez d'un volet si c'est approprié - + Load Track and Play Charger la piste et la lire - + Add to Auto DJ Queue (replace) Ajouter à la file d'attente Auto DJ (Remplacer) - + Replace Auto DJ Queue with selected tracks Remplacer la file d'attente Auto DJ par les pistes sélectionnées - + Select next search history Sélectionner l'historique de recherche suivant - + Selects the next search history entry Sélectionne l'entrée suivante de l'historique de recherche - + Select previous search history Sélectionne l'historique de recherche précédent - + Selects the previous search history entry Sélectionne l'entrée précédente de l'historique de recherche - + Move selected search entry Déplacer l'entrée de recherche sélectionnée - + Moves the selected search history item into given direction and steps Déplace l'élément d'historique de recherche sélectionné dans une direction et étapes - + Clear search Effacer la recherche - + Clears the search query Efface la requête de recherche - - + + Select Next Color Available Sélectionner la prochaine couleur disponible - + Select the next color in the color palette for the first selected track Sélectionner la prochaine couleur dans la palette de couleurs pour la première piste sélectionnée - - + + Select Previous Color Available Sélectionnez la précédente couleur disponible - + Select the previous color in the color palette for the first selected track Sélectionner la précédente couleur dans la palette de couleurs pour la première piste sélectionnée - + + Quick Effects Deck %1 + Platine d'effets rapides %1 + + + Deck %1 Quick Effect Enable Button Bouton d'activation des effets rapide pour la platine %1 - + + Quick Effect Enable Button Bouton d'activation des effets rapide - + + Deck %1 Stem %2 Quick Effect Super Knob + Super potentiomètre d'Effet rapide pour la platine %1 stem%2 + + + + Deck %1 Stem %2 Quick Effect Enable Button + Bouton d'activation des effets rapide pour la platine %1 stem %2 + + + Enable or disable effect processing Active ou désactive le processeur d'effets - + Super Knob (control effects' Meta Knobs) Super potentiomètre (contrôle les Méta potentiomètres des effets) - + Mix Mode Toggle Activer/désactiver mode de mixage - + Toggle effect unit between D/W and D+W modes Basculer l’unité d’effet entre les modes D/W et D+W - + Next chain preset Chaîne de préréglages suivante - + Previous Chain Chaîne précédente - + Previous chain preset Chaîne de préréglages précédente - + Next/Previous Chain Chaîne suivante/précédente - + Next or previous chain preset Chaîne de préréglages suivante ou précédente - - + + Show Effect Parameters Afficher les paramètres d'effet - + Effect Unit Assignment Affectation d'unité d'effet - + Meta Knob Méta potentiomètre - + Effect Meta Knob (control linked effect parameters) Méta potentiomètre d'Effets (Contrôle des paramètres d'effet liés). - + Meta Knob Mode Mode Méta potentiomètre - + Set how linked effect parameters change when turning the Meta Knob. Définit comment le paramètre d'effet lié change lorsque le Meta potentiomètre est tourné. - + Meta Knob Mode Invert Inverser le mode Méta potentiomètre - + Invert how linked effect parameters change when turning the Meta Knob. Inverse comment le paramètre d'effet lié change lorsque le Meta potentiomètre est tourné. - - + + Button Parameter Value Bouton valeur du paramètre - + Microphone / Auxiliary Microphone/Auxiliaire - + Microphone On/Off Microphone marche/arrêt - + Microphone on/off Microphone marche/arrêt - + Toggle microphone ducking mode (OFF, AUTO, MANUAL) Baculer le mode d'atténuation du microphone (ÉTEINT, AUTO, MANUEL) - + Auxiliary On/Off Auxiliaire allumé/éteint - + Auxiliary on/off Auxiliaire allumé/éteint - + Auto DJ Auto DJ - + Auto DJ Shuffle Auto DJ Mélanger - + Auto DJ Skip Next Auto DJ Passer au suivant - + Auto DJ Add Random Track Ajouter des pistes aléatoirement à Auto DJ - + Add a random track to the Auto DJ queue Ajoute une piste aléatoire à la file d'attente Auto DJ - + Auto DJ Fade To Next Auto DJ Fondre au suivant - + Trigger the transition to the next track Active la transition vers la piste suivante - + User Interface Interface Utilisateur - + Samplers Show/Hide Affiche/Masque les échantillonneurs - + Show/hide the sampler section Affiche/Masque la section échantillonneur - + Microphone && Auxiliary Show/Hide keep double & to prevent creation of keyboard accelerator Affiche/Masque Microphone et Auxiliaire - + Waveform Zoom Reset To Default Zoom de forme d'onde réinitialisé - + Reset the waveform zoom level to the default value selected in Preferences -> Waveforms Réinitialiser le niveau de zoom de la forme d'onde à la valeur par défaut sélectionnée dans Préférences -> Formes d'onde - + Select the next color in the color palette for the loaded track. Sélectionner la prochaine couleur dans la palette de couleurs pour la piste chargée. - + Select previous color in the color palette for the loaded track. Sélectionner la précédente couleur dans la palette de couleurs pour la piste chargée. - + Navigate Through Track Colors Naviguer à travers les couleurs des pistes - + Select either next or previous color in the palette for the loaded track. Sélectionner la prochaine ou précédente couleur dans la palette de couleurs pour la piste chargée. - + Start/Stop Live Broadcasting Démarrer/Arrêter la Diffusion en Direct - + Stream your mix over the Internet. Diffuse votre mix en streaming sur internet. - + Start/stop recording your mix. Démarrer/Arrêter l'Enregistrement du Mix - - + + + Deck %1 Stems + Platine %1 des stems + + + + Samplers Échantillonneurs - + Vinyl Control Show/Hide Affiche/Masque le contrôle vinyle - + Show/hide the vinyl control section Affiche/Masque la section contrôle vinyle - + Preview Deck Show/Hide Affiche/Masque la platine de pré-écoute - + Show/hide the preview deck Affiche/Masque la platine de pré-écoute - + Toggle 4 Decks Activer/désactiver 4 platines - + Switches between showing 2 decks and 4 decks. Bascule entre afficher 2 platines et 4 platines - + Cover Art Show/Hide (Decks) Montrer/Cacher pochette d'album (platines) - + Show/hide cover art in the main decks Montre/Cache la pochette d'album sur les platines principales - + Vinyl Spinner Show/Hide Afficher/Masquer le vinyle en rotation (spinner) - + Show/hide spinning vinyl widget Affiche/Masque le widget vinyle en rotation - + Vinyl Spinners Show/Hide (All Decks) Afficher/Masquer les vinyles en rotation (spinner) (toutes les platines) - + Show/Hide all spinnies Afficher/Masquer tous les vinyles en rotation (spinner) - + Toggle Waveforms Activer/désactiver les formes d'ondes - + Show/hide the scrolling waveforms. Montrer/Cacher les formes d'ondes défilantes - + Waveform zoom Zoom de la forme d'onde - + Waveform Zoom Zoom de la forme d'onde - + Zoom waveform in Zoom avant sur la forme d'onde - + Waveform Zoom In Zoom avant sur la forme d'onde - + Zoom waveform out Zoom arrière sur la forme d'onde - + Star Rating Up Augmenter la notation par étoiles - + Increase the track rating by one star Augmenter la notation de la piste d'une étoile - + Star Rating Down Diminuer la notation par étoiles - + Decrease the track rating by one star Diminuer la notation de la piste d'une étoile @@ -3548,6 +3589,159 @@ trace : ci-dessus + messages de profilage Inconnu + + ControllerHidReportTabsManager + + + Read + + + + + Send + + + + + Payload Size + + + + + bytes + + + + + Byte Position + + + + + Bit Position + + + + + Bit Size + + + + + Logical Min + + + + + Logical Max + + + + + Value + + + + + Physical Min + + + + + Physical Max + + + + + Unit Scaling + + + + + Unit + + + + + Abs/Rel + + + + + + Wrap + + + + + + Linear + + + + + + Preferred + + + + + + Null + + + + + + Volatile + + + + + Usage Page + + + + + Usage + + + + + Relative + + + + + Absolute + + + + + No Wrap + + + + + Non Linear + + + + + No Preferred + + + + + No Null + + + + + Non Volatile + + + ControllerInputMappingTableModel @@ -3683,27 +3877,27 @@ trace : ci-dessus + messages de profilage ControllerScriptEngineLegacy - + Controller Mapping File Problem Problème de fichier de mappage de contrôleur - + The mapping for controller "%1" cannot be opened. Le mappage du contrôleur "%1" ne peut pas être ouvert. - + The functionality provided by this controller mapping will be disabled until the issue has been resolved. La fonctionnalité fournie par ce mappage de contrôleur sera désactivée jusqu'à ce que le problème soit résolu. - + File: Fichier : - + Error: Erreur : @@ -3736,7 +3930,7 @@ trace : ci-dessus + messages de profilage - + Lock Verrouiller @@ -3766,7 +3960,7 @@ trace : ci-dessus + messages de profilage Auto DJ source de piste - + Enter new name for crate: Donnez un nouveau nom au bac : @@ -3783,22 +3977,22 @@ trace : ci-dessus + messages de profilage Importer un bac - + Export Crate Exporter un bac - + Unlock Déverrouiller - + An unknown error occurred while creating crate: Une erreur inconnue s'est produite lors de la création du bac : - + Rename Crate Renommer le bac @@ -3808,28 +4002,28 @@ trace : ci-dessus + messages de profilage Créez un bac pour votre prochain concert, pour vos pistes électrohouse préférées ou pour vos pistes les plus demandées. - + Confirm Deletion Confirmer la suppression - - + + Renaming Crate Failed Le renommage du bac a échoué - + Crate Creation Failed Échec de création d'un bac - + M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Text CSV (*.csv);;Readable Text (*.txt) Liste de lecture M3U (*.m3u);;Liste de lecture M3U8 (*.m3u8);;Liste de lecture PLS (*.pls);;Texte CSV (*.csv);;Texte (*.txt) - + M3U Playlist (*.m3u) Liste de lecture M3U (*.m3u) @@ -3850,17 +4044,17 @@ trace : ci-dessus + messages de profilage Les bacs vous permettent d'organiser votre musique comme vous le souhaitez ! - + Do you really want to delete crate <b>%1</b>? Voulez-vous vraiment supprimer le bac <b>%1</b>? - + A crate cannot have a blank name. Le nom d'un bac ne doit pas être vide. - + A crate by that name already exists. Un bac avec ce nom existe déjà. @@ -3955,12 +4149,12 @@ trace : ci-dessus + messages de profilage Anciens contributeurs - + Official Website Site Internet officiel - + Donate Donation @@ -4851,69 +5045,80 @@ Vous avez tenté d'assigner : %1,%2 Stéréo - - - - + + Saving settings failed + + + + + The password for '%1' contains invalid characters. Please enter it again. + +Note: This can for example be invisible linebreaks when using copy/paste. + + + + + + Action failed Échec de l'action - + You can't create more than %1 source connections. Vous ne pouvez pas créer plus de %1 connexion de source. - + Source connection %1 Connexion source %1 - + Settings for %1 Settings for broadcast profile, %1 is the profile name placeholder Réglages de %1 - + At least one source connection is required. Au moins une connexion de source est requise. - + Are you sure you want to disconnect every active source connection? Êtes-vous sûr de vouloir déconnecter toutes les connections de source actives? - - + + Confirmation required Confirmation requise - + '%1' has the same Icecast mountpoint as '%2'. Two source connections to the same server that have the same mountpoint can not be enabled simultaneously. '%1' a le même point de montage Icecast que '%2'. Deux de source de connexions vers le même serveur, ayant le même point de montage, ne peuvent pas être activé simultanément. - + Are you sure you want to delete '%1'? Êtes-vous sûr de vouloir effacer '%1' ? - + Renaming '%1' Renommage '%1' - + New name for '%1': Nouveau nom pour '%1' : - + Can't rename '%1' to '%2': name already in use Impossible de renommer '%1' en '%2' : nom déjà utilisé @@ -4926,27 +5131,27 @@ Deux de source de connexions vers le même serveur, ayant le même point de mont Paramètre de diffusion en direct - + Mixxx Icecast Testing Test Icecast avec Mixxx - + Public stream Flux public - + http://www.mixxx.org http://www.mixxx.org - + Stream name Nom du flux - + Due to flaws in some streaming clients, updating Ogg Vorbis metadata dynamically can cause listener glitches and disconnections. Check this box to update the metadata anyway. A cause de défauts chez certains clients de streaming, la mise à jour dynamique des métadonnées du format Ogg Vorbis peut causer pour ceux qui écoutent des interférences et des déconnexions. Cochez cette zone pour mettre à jour les métadonnées quand même. @@ -4986,67 +5191,72 @@ Deux de source de connexions vers le même serveur, ayant le même point de mont Réglage de %1 - + + Available fields: $artist, $title, $year, $album, $genre, $bpm + + + + Dynamically update Ogg Vorbis metadata. Mettre à jour dynamiquement les meta données Ogg Vorbis - + ICQ ICQ - + AIM AIM - + Website Site Internet - + Live mix Mixage en direct - + IRC IRC - + Select a source connection above to edit its settings here Sélectionnez une connexion de source ci-dessus pour modifier ses paramètres ici - + Password storage Stockage mot de passe - + Plain text Texte brut - + Secure storage (OS keychain) Stockage sécurisé (OS Keychain) - + Genre Genre - + Use UTF-8 encoding for metadata. Utiliser l'encodage UTF-8 pour les métadonnées. - + Description Description @@ -5072,42 +5282,42 @@ Deux de source de connexions vers le même serveur, ayant le même point de mont Canaux - + Server connection Connection serveur - + Type Type - + Host Hôte - + Login Identifiant - + Mount Montage - + Port Port - + Password Mot de passe - + Stream info Info stream @@ -5117,17 +5327,17 @@ Deux de source de connexions vers le même serveur, ayant le même point de mont Métadonnées - + Use static artist and title. Utiliser artiste et titre statiques. - + Static title Titre statique - + Static artist Artiste statique @@ -5186,13 +5396,14 @@ Deux de source de connexions vers le même serveur, ayant le même point de mont DlgPrefColors - - + + + By hotcue number Par numéro de repère rapide - + Color Couleur @@ -5237,18 +5448,23 @@ Deux de source de connexions vers le même serveur, ayant le même point de mont + Jump default color + + + + When key colors are enabled, Mixxx will display a color hint associated with each key. Lorsque les couleurs des tonalités sont activées, Mixxx affichera une indication de couleur associé à chaque tonalité. - + Enable Key Colors Activer les couleurs des tonalités - + Key palette Palette de tonalité @@ -5256,114 +5472,114 @@ associé à chaque tonalité. DlgPrefController - + Apply device settings? Appliquer les paramètres du périphérique ? - + Your settings must be applied before starting the learning wizard. Apply settings and continue? Vos paramètres doivent être appliqués avant de démarrer l'assistant d'apprentissage. Appliquer les paramètres et continuer ? - + None Aucune - + %1 by %2 %1 par %2 - + Mapping has been edited Le mappage à été modifié - + Always overwrite during this session Toujours écraser durant cette session - + Save As Enregistrer sous - + Overwrite Écraser - + Save user mapping Enregistrer le mappage utilisateur - + Enter the name for saving the mapping to the user folder. Entrer le nom pour enregistrer le mappage dans le dossier de l'utilisateur - + Saving mapping failed L'enregistrement du mappage à échoué - + A mapping cannot have a blank name and may not contain special characters. Un mappage ne peut pas avoir un nom vide et ne peut pas contenir des caractères spéciaux. - + A mapping file with that name already exists. Un fichier de mappage utilise déjà ce nom. - + Do you want to save the changes? Voulez-vous enregistrer les modifications ? - + Troubleshooting Dépannage - + <font color='#BB0000'><b>If you use this mapping your controller may not work correctly. Please select another mapping or disable the controller.</b></font><br><br>This mapping was designed for a newer Mixxx Controller Engine and cannot be used on your current Mixxx installation.<br>Your Mixxx installation has Controller Engine version %1. This mapping requires a Controller Engine version >= %2.<br><br>For more information visit the wiki page on <a href='https://mixxx.org/wiki/doku.php/controller_engine_versions'>Controller Engine Versions</a>. <font color='#BB0000'><b>Si vous utilisez ce mappage, votre contrôleur risque de ne pas fonctionner correctement. Veuillez sélectionner un autre mappage ou désactiver le contrôleur.</b></font><br><br>Ce mappage a été conçu pour un moteur de contrôleur Mixxx plus récent et ne peut pas être utilisé sur votre installation de Mixxx actuelle.<br>Votre installation de Mixxx a la version Controller Engine %1. Ce mappage nécessite une version de Controller Engine >= %2.<br><br>Pour plus d'informations, visitez la page wiki sur<a href='https://mixxx.org/wiki/doku.php/controller_engine_versions'>Versions de Controller Engine</a>. - + Mapping already exists. Le mappage existe déjà. - + <b>%1</b> already exists in user mapping folder.<br>Overwrite or save with a new name? <b>%1</b> existe déjà dans le dossier des mappages de l'utilisateur.<br>Écraser ou utiliser un autre nom ? - + Clear Input Mappings Effacer les associations de contrôles d'entrées - + Are you sure you want to clear all input mappings? Voulez-vous vraiment effacer toutes les associations de contrôles d'entrées ? - + Clear Output Mappings Effacer les associations de contrôles de sorties - + Are you sure you want to clear all output mappings? Voulez-vous vraiment effacer toutes les associations de contrôles de sortie ? @@ -5381,100 +5597,105 @@ Appliquer les paramètres et continuer ? Activé - + + Refresh mapping list + + + + Device Info Information matériel - + Physical Interface: Interface physique : - + Vendor name: Nom du vendeur : - + Product name: Nom du produit : - + Vendor ID ID du vendeur - + VID: VID : - + Product ID ID du produit : - + PID: PID : - + Serial number: Numéro de série : - + USB interface number: Numéro d'interface USB : - + HID Usage-Page: Utilisation-Page HID : - + HID Usage: Utilisation HID : - + Description: Description : - + Support: Support : - + Screens preview Aperçu d'écran - + Input Mappings Associations de contrôles d'entrées - - + + Search Rechercher - - + + Add Ajouter - - + + Remove Supprimer @@ -5494,17 +5715,17 @@ Appliquer les paramètres et continuer ? Charger le mappage : - + Mapping Info Informations du mappage - + Author: Auteur : - + Name: Nom : @@ -5514,28 +5735,28 @@ Appliquer les paramètres et continuer ? Assistant d'apprentissage (MIDI uniquement) - + Data protocol: Protocole des données : - + Mapping Files: Fichiers de mappage : - + Mapping Settings Paramètres de mappage - - + + Clear All Tout effacer - + Output Mappings Associations de contrôles de sorties @@ -5550,21 +5771,21 @@ Appliquer les paramètres et continuer ? - Mixxx uses "mappings" to connect messages from your controller to controls in Mixxx. If you do not see a mapping for your controller in the "Load Mapping" menu when you click on your controller on the left sidebar, you may be able to download one online from the %1. Place the XML (.xml) and Javascript (.js) file(s) in the "User Mapping Folder" then restart Mixxx. If you download a mapping in a ZIP file, extract the XML and Javascript file(s) from the ZIP file to your "User Mapping Folder" then restart Mixxx. - Mixxx utilise des «mappages» pour connecter les messages de votre contrôleur aux commandes de Mixxx. Si vous ne voyez pas de mappage pour votre contrôleur dans le menu "Load Mapping" lorsque vous cliquez sur votre contrôleur dans la barre latérale gauche, vous pourrez peut-être en télécharger un en ligne à partir de %1. Placer le(s) fichier(s) XML (.xml) et Javascript (.js) dans "User Mapping Folder" puis redémarrer Mixxx. Si vous téléchargez un mappage dans un fichier ZIP, extrayez le(s) fichier(s) XML et Javascript du fichier ZIP vers "User Mapping Folder" puis redémarrer Mixxx. + Mixxx uses "mappings" to connect messages from your controller to controls in Mixxx. If you do not see a mapping for your controller in the "Load Mapping" menu when you click on your controller on the left sidebar, you may be able to download one online from the %1. Place the XML (.xml) and Javascript (.js) file(s) in the "User Mapping Folder" then click the Reload button next to the mapping selector to reload all available mappings. If you download a mapping in a ZIP file, extract the XML and Javascript file(s) from the ZIP file to your "User Mapping Folder" then click the Reload button. + - + Mixxx DJ Hardware Guide Guide Mixxx du matériel DJ - + MIDI Mapping File Format Format de fichier de mappage MIDI - + MIDI Scripting with Javascript Scriptage MIDI avec Javascript @@ -5733,137 +5954,137 @@ Appliquer les paramètres et continuer ? DlgPrefDeck - + Mixxx mode mode Mixxx - + Mixxx mode (no blinking) mode Mixxx (sans clignotement) - + Pioneer mode mode Pioneer - + Denon mode mode Denon - + Numark mode mode Numark - + CUP mode mode CUP - + mm:ss%1zz - Traditional mm:ss%1zz - Traditionnel - + mm:ss - Traditional (Coarse) mm:ss - Traditionnel (grossier) - + s%1zz - Seconds s%1zz - Secondes - + sss%1zz - Seconds (Long) sss%1zz - Secondes (long) - + s%1sss%2zz - Kiloseconds s%1sss%2zz - Kilosecondes - + Intro start Début Intro - + Main cue Repère principal - + First hotcue Premier repère rapide - + First sound (skip silence) Premier son (passe les silences) - + Beginning of track Début de la piste - + Reject Rejeter - + Allow, but stop deck Autoriser, mais arrêter la platine - + Allow, play from load point Autoriser, jouer depuis le point de chargement - + 4% 4% - + 6% (semitone) 6% (demi ton) - + 8% (Technics SL-1210) 8 % (Technics SL-1210) - + 10% 10% - + 16% 16% - + 24% 24% - + 50% 50% - + 90% 90% @@ -6323,57 +6544,57 @@ Vous pouvez toujours glisser-déposer des pistes sur l'écran pour cloner u La taille minimale du thème sélectionné est plus grande que la résolution de votre écran. - + Allow screensaver to run Autoriser l'économiseur d'écran - + Prevent screensaver from running Interdire l'économiseur d'écran - + Prevent screensaver while playing Interdire l'économiseur d'écran pendant la lecture - + Disabled Désactivé - + 2x MSAA 2x MSAA - + 4x MSAA 4x MSAA - + 8x MSAA 8x MSAA - + 16x MSAA 16x MSAA - + This skin does not support color schemes Ce thème n'accepte pas les modèles de couleurs - + Information Information - + Mixxx must be restarted before the new locale, scaling or multi-sampling settings will take effect. Mixxx doit être redémarré avant que les nouveaux paramètres régionaux, de mise à l'échelle ou de multi-échantillonnage ne prennent effet. @@ -6601,67 +6822,97 @@ vous permettant ainsi d'ajuster la tonalité afin de produire une mixage ha Voir le manuel pour plus de détails - + Music Directory Added Répertoire de musique ajouté - + You added one or more music directories. The tracks in these directories won't be available until you rescan your library. Would you like to rescan now? Vous avez ajouté un ou plusieurs répertoires de musique. Les pistes dans ces répertoires ne seront disponibles qu'après une réanalyse de la bibliothèque. Désirez-vous effectuer cette réanalyse maintenant ? - + Scan Analyse - + Item is not a directory or directory is missing L'élément n'est pas un répertoire ou un répertoire est manquant - + Choose a music directory Choisissez un répertoire de musique - + Confirm Directory Removal Confirmez la suppression du répertoire - + Mixxx will no longer watch this directory for new tracks. What would you like to do with the tracks from this directory and subdirectories?<ul><li>Hide all tracks from this directory and subdirectories.</li><li>Delete all metadata for these tracks from Mixxx permanently.</li><li>Leave the tracks unchanged in your library.</li></ul>Hiding tracks saves their metadata in case you re-add them in the future. Mixxx ne cherchera plus de nouvelles pistes dans ce répertoire. Que voulez-vous faire des pistes de ce répertoire et ses sous-répertoires<&nbsp>?<ul><li>Masquer toutes les pistes de ce répertoire et ses sous-répertoires.</li><li>Supprimer définitivement de Mixxx toutes les métadonnées de ces pistes.</li><li>Laisser ces pistes inchangées dans votre bibliothèque.</li></ul>Masquer des pistes enregistre leurs métadonnées au cas où vous les ajouteriez à nouveau dans le futur. - + Metadata means all track details (artist, title, playcount, etc.) as well as beatgrids, hotcues, and loops. This choice only affects the Mixxx library. No files on disk will be changed or deleted. Les métadonnées regroupent tous les détails de la piste (artiste, titre, nombre de lectures, etc...) ainsi que les grilles rythmiques, les repères rapides et les boucles. Ce choix n'affecte que la bibliothèque de Mixxx. Aucun fichier sur le disque ne sera modifié ou supprimé. - + Hide Tracks Masquer les pistes - + Delete Track Metadata Supprimer les métadonnées de la piste - + Leave Tracks Unchanged Ne pas modifier les pistes - + Relink music directory to new location Rattacher le répertoire musical à un autre emplacement - + + Black + + + + + ExtraBold + ExtraGras + + + + Bold + Gras + + + + SemiBold + SemiGras + + + + Medium + + + + + Light + + + + Select Library Font Sélectionner la police pour la bibliothèque @@ -6762,7 +7013,7 @@ vous permettant ainsi d'ajuster la tonalité afin de produire une mixage ha Show scan summary dialog - + Afficher la boîte de dialogue de résumé du scan @@ -6892,7 +7143,7 @@ vous permettant ainsi d'ajuster la tonalité afin de produire une mixage ha Edit metadata after clicking selected track - Éditer les métadonnées après avoir cliquer sur la piste sélectionnée + Éditer les métadonnées après avoir cliqué sur la piste sélectionnée @@ -7363,12 +7614,14 @@ vous permettant ainsi d'ajuster la tonalité afin de produire une mixage ha This will include the filepath for each track in the CUE file. This option makes the CUE file less portable and can reveal personal information from filepaths (i.e. username) - + Cela inclura le chemin du fichier pour chaque piste dans le fichier des repères. +Cette option rend le fichier des repères moins portable et peut révéler des informations personnelles +provenant des chemins de fichiers (par exemple le nom d’utilisateur) Enable File Annotation in CUE file - + Activer l’annotation de fichier dans le fichier de repère @@ -7560,172 +7813,177 @@ L'intensité sonore visée est approximatif et suppose que les gains d&apos DlgPrefSound - + %1 Hz %1 Hz - + Default (long delay) Par défaut (délai long) - + Experimental (no delay) Expérimental (sans délai) - + Disabled (short delay) Désactivé (délai court) - + Soundcard Clock Horloge carte son - + Network Clock Horloge réseau - + Direct monitor (recording and broadcasting only) Moniteur direct (seulement enregistrement et diffusion) - + Disabled Désactivé - + Enabled Activé - + Stereo Stéréo - + Mono Mono - + To enable Realtime scheduling (currently disabled), see the %1. Pour activer la planification en temps réel (actuellement désactivée), consulter le %1. - + The %1 lists sound cards and controllers you may want to consider for using Mixxx. Le %1 répertorie les cartes son et les contrôleurs que vous pouvez envisager d'utiliser avec Mixxx. - + Mixxx DJ Hardware Guide Guide Mixxx du matériel DJ - + + Find details in the Mixxx user manual + Voir détails dans le manuel utilisateur de Mixxx + + + Information Information - + Mixxx must be restarted before the multi-threaded RubberBand setting change will take effect. Mixxx doit être redémarré avant que la modification du paramètre multi-thread RubberBand ne prenne effet. - + auto (<= 1024 frames/period) auto (<= 1024 images/période) - + 2048 frames/period 2048 images/période - + 4096 frames/period 4096 images/période - + Are you sure? Est-vous sûr ? - + Distribute stereo channels into mono channels for parallel processing will result in a loss of mono compatibility and a diffuse stereo image. It is not recommended during broadcasting or recording. La distribution des canaux stéréo en canaux mono pour un traitement parallèle entrainera une perte de compatibilité mono et une image stéréo diffuse. Il n'est pas recommandé pendant la diffusion ou l'enregistrement. - + Are you sure you wish to proceed? Êtes-vous sûr de vouloir continuer ? - + No Non - + Yes, I know what I am doing Oui, je sais ce que je fais - + Microphone inputs are out of time in the record & broadcast signal compared to what you hear. Les entrées microphone sont à contretemps dans l'enregistrement et le signal diffusé, comparées à ce que vous entendez. - + Measure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. Mesurer la latence du trajet aller-retour et entrez-la ci-dessus pour la compensation de latence du microphone afin d'aligner la synchronisation du microphone. - + Refer to the Mixxx User Manual for details. Se référer au manuel utilisateur de Mixxx pour les détails. - + Configured latency has changed. La latence configurée à changé. - + Remeasure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. Réinitialisez la latence du trajet aller-retour et entrez-la ci-dessus pour la compensation de latence du microphone afin d'aligner la synchronisation du microphone. - + Realtime scheduling is enabled. La planification en temps réel est activé. - + Main output only Sortie principale seulement - + Main and booth outputs Sorties principale et cabine - + %1 ms %1 ms - + Configuration error Erreur de configuration @@ -7792,17 +8050,22 @@ L'intensité sonore visée est approximatif et suppose que les gains d&apos ms - + + Deck and Bus outputs are for external mixers. They are post-fader and include effects and crossfader (for Auto DJ). For external mixing, make sure all Mixxx faders and EQ knobs are set to their default position (right- or double-click). + Les sorties Platine et Bus sont pour des tables de mixage externes. Elles sont post-fader et incluent effets et curseur de mixage (pour l'Auto DJ). Pour du mixage externe, assurez-vous que tous les curseurs et potentiomètres d'EQ de Mixxx sont mis à leur position par défaut (clic droit ou double-clic). + + + 20 ms 20 ms - + Buffer Underflow Count Compteur de sous-alimentation du tampon - + 0 0 @@ -7827,12 +8090,12 @@ L'intensité sonore visée est approximatif et suppose que les gains d&apos Entrée - + System Reported Latency Latence indiquée par le système - + Enlarge your audio buffer if the underflow counter is increasing or you hear pops during playback. Augmentez le tampon audio si le compteur de sous-alimentation augmente ou si des pops se font entendre pendant la lecture. @@ -7862,7 +8125,7 @@ L'intensité sonore visée est approximatif et suppose que les gains d&apos Astuces et Diagnostics - + Downsize your audio buffer to improve Mixxx's responsiveness. Diminuez le tampon audio pour améliorer la réactivité de Mixxx. @@ -7909,7 +8172,7 @@ L'intensité sonore visée est approximatif et suppose que les gains d&apos Configuration Vinyle - + Show Signal Quality in Skin Afficher la qualité du signal dans l'interface @@ -7945,46 +8208,51 @@ L'intensité sonore visée est approximatif et suppose que les gains d&apos + Pitch estimator + Estimateur de hauteur tonale + + + Deck 1 Platine 1 - + Deck 2 Platine 2 - + Deck 3 Platine 3 - + Deck 4 Platine 4 - + Signal Quality Qualité du signal - + http://www.xwax.co.uk http://www.xwax.co.uk - + Powered by xwax Propulsé par xwax - + Hints Astuces - + Select sound devices for Vinyl Control in the Sound Hardware pane. Sélectionnez le matériel sonore pour le contrôle vinyle dans le panneau Matériel sonore. @@ -7992,58 +8260,58 @@ L'intensité sonore visée est approximatif et suppose que les gains d&apos DlgPrefWaveform - + Filtered Filtré - + HSV HSV - + RGB RVB - + Top Haut - + Center Centre - + Bottom Bas - + 1/3 of waveform viewer options for "Text height limit" 1/3 du visualiseur de forme d'onde - + Entire waveform viewer Visualiseur de forme d'onde entier - + OpenGL not available OpenGL non disponible - + dropped frames images sautées - + Cached waveforms occupy %1 MiB on disk. La forme d'onde en cache occupe %1 MiB sur le disque. @@ -8061,22 +8329,17 @@ L'intensité sonore visée est approximatif et suppose que les gains d&apos Nombre d'images par seconde - + OpenGL Status Statut OpenGL - + Displays which OpenGL version is supported by the current platform. Affiche quelle version d'OpenGL est prise en charge sur la plateforme actuelle. - - Normalize waveform overview - Normaliser la visualisation de la forme d'onde - - - + Average frame rate Taux moyen de fréquence d'images @@ -8092,7 +8355,7 @@ L'intensité sonore visée est approximatif et suppose que les gains d&apos Niveau de zoom par défaut - + Displays the actual frame rate. Affiche la vitesse de rafraîchissement courante. @@ -8172,7 +8435,7 @@ L'intensité sonore visée est approximatif et suppose que les gains d&apos Gain visuel général - + The waveform overview shows the waveform envelope of the entire track. Select from different types of displays for the waveform overview, which differ primarily in the level of detail shown in the waveform. L’aperçu de la forme d'onde montre l'enveloppe de la forme d'onde de la piste entière. @@ -8241,22 +8504,22 @@ Sélectionner depuis les différents types d'affichage de la forme d'o pt - + Caching Mise en cache - + Mixxx caches the waveforms of your tracks on disk the first time you load a track. This reduces CPU usage when you are playing live but requires extra disk space. Mixxx met en cache les formes d'onde de vos pistes sur le disque la première fois que vous chargez une piste. Cela réduit l'utilisation du CPU lorsque vous êtes en cours de lecture en direct, mais requiert plus d'espace disque. - + Enable waveform caching Activer la mise en cache des formes d'onde. - + Generate waveforms when analyzing library Générer les formes d'onde lors de l'analyse de la bibliothèque @@ -8272,7 +8535,7 @@ Sélectionner depuis les différents types d'affichage de la forme d'o - + Type Type @@ -8304,40 +8567,56 @@ Sélectionner depuis les différents types d'affichage de la forme d'o Stem - + Stem Channel opacity - + Opacité du canal Channel opacity (outline) - + Opacité du canal (contour) Main stem opacity - + Opacité du stem principal Outline stem opacity - + Opacité contour du stem Move channel to foreground when volume is adjusted - + Déplacer le canal vers l’avant-plan lorsque le volume est ajusté - + Overview Waveforms Aperçu des formes d'ondes - + + Gain + + + + + Normalize to peak + + + + + Use Waveform "Global" gain and ReplayGain (if enabled) + 'Global' refers to the 'Global' visual gain in the scrolling waveform settings + + + + Clear Cached Waveforms Effacer les formes d'onde en cache. @@ -8829,7 +9108,7 @@ Cette opération est irréversible ! BPM : - + Location: Emplacement : @@ -8844,27 +9123,27 @@ Cette opération est irréversible ! Commentaires - + BPM BPM - + Sets the BPM to 75% of the current value. Réduit le BPM à 75% de la valeur actuelle. - + 3/4 BPM 3/4 BPM - + Sets the BPM to 50% of the current value. Réduit le BPM à 50% de la valeur actuelle. - + Displays the BPM of the selected track. Affiche le BPM de la piste sélectionnée. @@ -8919,49 +9198,49 @@ Cette opération est irréversible ! Genre - + ReplayGain: ReplayGain : - + Sets the BPM to 200% of the current value. Augmente le BPM à 200% de la valeur actuelle. - + Double BPM Doubler le tempo - + Halve BPM Diviser le tempo par deux - + Clear BPM and Beatgrid Effacer le tempo et la grille rythmique - + Move to the previous item. "Previous" button Aller à l'élément précédent. - + &Previous &Précédent - + Move to the next item. "Next" button Aller à l'élément suivant. - + &Next Suiva&nte @@ -8986,12 +9265,12 @@ Cette opération est irréversible ! Couleur - + Date added: Date d'ajout : - + Open in File Browser Ouvrir le Navigateur de Fichiers @@ -9001,12 +9280,17 @@ Cette opération est irréversible ! Taux d'échantillonnage : - + + Filesize: + + + + Track BPM: Piste BPM : - + Converts beats detected by the analyzer into a fixed-tempo beatgrid. Use this setting if your tracks have a constant tempo (e.g. most electronic music). Often results in higher quality beatgrids, but will not do well on tracks that have tempo shifts. @@ -9015,90 +9299,90 @@ Utilisez ce réglage si vos pistes ont un tempo constant (ex: la plupart de la m Résulte souvent en de meilleures grilles rythmiques, mais ne marchera pas bien en cas de variation de tempo. - + Assume constant tempo Supposer un tempo constant - + Sets the BPM to 66% of the current value. Réduit le BPM à 66% de la valeur actuelle. - + 2/3 BPM 2/3 BPM - + Sets the BPM to 150% of the current value. Augmente le BPM à 150% de la valeur actuelle. - + 3/2 BPM 3/2 BPM - + Sets the BPM to 133% of the current value. Augmente le BPM à 133% de la valeur actuelle. - + 4/3 BPM 4/3 BPM - + Tap with the beat to set the BPM to the speed you are tapping. Tapez le battement voulu pour définir le rythme du BPM que vous tapez. - + Tap to Beat tapez le rythme - + Hint: Use the Library Analyze view to run BPM detection. Conseil : utilisez la vue d'analyse de la bibliothèque pour lancer la détection de tempo. - + Save changes and close the window. "OK" button Enregistrer les changements et fermer la fenêtre. - + &OK &OK - + Discard changes and close the window. "Cancel" button Annuler les changements et fermer la fenêtre. - + Save changes and keep the window open. "Apply" button Enregistrer les changements et garder la fenêtre ouverte. - + &Apply &Appliquer - + &Cancel &Annuler - + (no color) (pas de couleur) @@ -9255,7 +9539,7 @@ Résulte souvent en de meilleures grilles rythmiques, mais ne marchera pas bien &OK - + (no color) (pas de couleur) @@ -9457,27 +9741,27 @@ Résulte souvent en de meilleures grilles rythmiques, mais ne marchera pas bien EngineBuffer - + Soundtouch (faster) Soundtouch (plus rapide) - + Rubberband (better) Rubberband (mieux) - + Rubberband R3 (near-hi-fi quality) Rubberband R3 (qualité quasi-hi-fi) - + Unknown, using Rubberband (better) Inconnu, utilisation de Rubberband (meilleure) - + Unknown, using Soundtouch Inconnu, utilisant Soundtouch @@ -9692,15 +9976,15 @@ Résulte souvent en de meilleures grilles rythmiques, mais ne marchera pas bien LegacySkinParser - - + + Safe Mode Enabled Shown when Mixxx is running in safe mode. Mode sécurisé activé - - + + No OpenGL support. Shown when Spinny can not be displayed. Please keep @@ -9712,57 +9996,57 @@ Shown when VuMeter can not be displayed. Please keep d'OpenGL. - + activate activer - + toggle activer/désactiver - + right droite - + left gauche - + right small droit, petit - + left small gauche, petit - + up haut - + down bas - + up small haut, petit - + down small bas, petit - + Shortcut Raccourci @@ -9770,37 +10054,37 @@ d'OpenGL. Library - + This or a parent directory is already in your library. Ce répertoire ou un répertoire parent est déjà dans votre bibliothèque. - + This or a listed directory does not exist or is inaccessible. Aborting the operation to avoid library inconsistencies Ce répertoire ou un répertoire listé n'existe pas ou est inaccessible. Abandonner l'opération pour éviter les incohérences de la bibliothèque - - + + This directory can not be read. Ce répertoire ne peut pas être lu. - + An unknown error occurred. Aborting the operation to avoid library inconsistencies Une erreur inconnue est survenue. Abandonner l'opération pour éviter les incohérences de la bibliothèque - + Can't add Directory to Library Impossible d'ajouter un répertoire à la bibliothèque - + Could not add <b>%1</b> to your library. %2 @@ -9809,27 +10093,27 @@ Abandonner l'opération pour éviter les incohérences de la bibliothèque< %2 - + Can't remove Directory from Library Impossible de retirer un répertoire à la bibliothèque - + An unknown error occurred. Une erreur inconnue est survenue. - + This directory does not exist or is inaccessible. Ce répertoire n'existe pas ou est inaccessible. - + Relink Directory Reconnecter le répertoire - + Could not relink <b>%1</b> to <b>%2</b>. %3 @@ -9997,12 +10281,12 @@ Voulez-vous vraiment l'écraser ? Pistes masquées - + Export to Engine DJ Exporter vers Engine DJ - + Tracks Pistes @@ -10010,253 +10294,253 @@ Voulez-vous vraiment l'écraser ? MixxxMainWindow - + Sound Device Busy Carte son occupée - + <b>Retry</b> after closing the other application or reconnecting a sound device <b>Réessayer</b> après avoir fermé l'autre application ou avoir reconnecté le périphérique de son - - - + + + <b>Reconfigure</b> Mixxx's sound device settings. <b>Reconfigurer</b> les options audio de Mixxx. - - + + Get <b>Help</b> from the Mixxx Wiki. Trouver <b>de l'aide</b> sur le Wiki Mixxx. - - - + + + <b>Exit</b> Mixxx. <b>Quitter</b> Mixxx. - + Retry Réessayer - + skin thème - + Allow Mixxx to hide the menu bar? Autoriser Mixxx à masquer la barre de menu ? - + Hide Always show the menu bar? Masquer - + Always show Toujours montrer - + The Mixxx menu bar is hidden and can be toggled with a single press of the <b>Alt</b> key.<br><br>Click <b>%1</b> to agree.<br><br>Click <b>%2</b> to disable that, for example if you don't use Mixxx with a keyboard.<br><br>You can change this setting any time in Preferences -> Interface.<br> Keep formatting tags <b> (bold text) and <br> (linebreak). %1 is the placeholder for the 'Always show' button label La barre de menu Mixxx est masquée et peut être basculée d'une simple pression sur le bouton <b>Alt</b>.<br><br>Clic <b>%1</b> pour accepter.<br><br>Clic <b>%2</b> pour désactiver, par exemple si vous n'utilisez pas Mixxx avec un clavier.<br><br>Vous pouvez modifier ce paramètre à tout moment dans Préférences --> Interface.<br> - + Ask me again Demandez-le moi encore - - + + Reconfigure Reconfigurer - + Help Aide - - + + Exit Quitter - - + + Mixxx was unable to open all the configured sound devices. Mixxx n'est pas parvenu à ouvrir tous les périphériques de son configurés. - + Sound Device Error Erreur de périphérique de son - + <b>Retry</b> after fixing an issue <b>Réessayer</b> après avoir solutionné un problème - + No Output Devices Aucun périphérique de sortie - + Mixxx was configured without any output sound devices. Audio processing will be disabled without a configured output device. Mixxx a été configuré sans aucun périphérique de sortie audio. Sans périphérique de sortie configuré, le traitement du son sera désactivé . - + <b>Continue</b> without any outputs. <b>Continuer</b> sans aucune sortie. - + Continue Continuer - + Load track to Deck %1 Charger la piste sur la platine %1 - + Deck %1 is currently playing a track. La platine %1 est en cours de lecture d'une piste. - + Are you sure you want to load a new track? Êtes-vous certain de vouloir charger une nouvelle piste ? - + There is no input device selected for this vinyl control. Please select an input device in the sound hardware preferences first. Aucun périphérique d'entrée n'est sélectionné pour ce contrôle vinyle. Veuillez d'abord en sélectionner un dans les Préférences du matériel sonore. - + There is no input device selected for this passthrough control. Please select an input device in the sound hardware preferences first. Il n'y a aucun périphérique d'entrée sélectionné pour ce contrôle intermédiaire. Veuillez d'abord en sélectionner un dans les Préférences du matériel sonore. - + There is no input device selected for this microphone. Do you want to select an input device? Aucun périphérique d'entrée n'est sélectionné pour ce microphone. Voulez-vous sélectionner un périphérique d'entrée ? - + There is no input device selected for this auxiliary. Do you want to select an input device? Aucun périphérique d'entrée n'est sélectionné pour cet auxiliaire. Voulez-vous sélectionner un périphérique d'entrée ? - + Scan took %1 Le scan a pris %1 - + No changes detected. Aucun changement détecté. - - + + %1 tracks in total %1 pistes au total - + %1 new tracks found %1 nouvelles pistes trouvées - + %1 moved tracks detected %1 pistes déplacées détectées - + %1 tracks are missing (%2 total) %1 titres sont manquants (%2 au total) - + %1 tracks have been rediscovered %1 pistes ont été redécouvertes - + Library scan finished Analyse de la bibliothèque terminée - + Error in skin file Erreur dans le fichier du thème - + The selected skin cannot be loaded. Le thème sélectionné ne peut pas être chargé. - + OpenGL Direct Rendering Rendu Direct OpenGL - + Direct rendering is not enabled on your machine.<br><br>This means that the waveform displays will be very<br><b>slow and may tax your CPU heavily</b>. Either update your<br>configuration to enable direct rendering, or disable<br>the waveform displays in the Mixxx preferences by selecting<br>"Empty" as the waveform display in the 'Interface' section. Le rendu direct n'est pas activé sur votre machine.<br><br> Cela signifie que l'affichage de la forme d'onde sera très<br><b>lent et risque de surcharger votre processeur</b>. Mettez à jour votre<br>configuration pour activer le rendu direct ou désactivez<br>les affichages de forme d'onde dans les préférences de Mixxx en sélectionnant<br>"Vide" comme affichage de forme d'onde dans la section "Interface". - - - + + + Confirm Exit Confirmer la fermeture - + A deck is currently playing. Exit Mixxx? Une platine est en cours de lecture. Quitter Mixxx ? - + A sampler is currently playing. Exit Mixxx? Un échantillonneur est en cours de lecture. Quitter Mixxx ? - + The preferences window is still open. La fenêtre de Préférences est déjà ouverte. - + Discard any changes and exit Mixxx? Abandonner toutes les modifications et quitter Mixxx ? @@ -10272,13 +10556,13 @@ Voulez-vous sélectionner un périphérique d'entrée ? PlaylistFeature - + Lock Verrouiller - - + + Playlists Listes de lecture @@ -10288,58 +10572,63 @@ Voulez-vous sélectionner un périphérique d'entrée ? Mélanger la liste de lecture - + + Adopt current order + + + + Unlock all playlists Déverrouiller toutes les listes de lecture - + Delete all unlocked playlists Supprimer toutes les listes de lecture déverrouillées - + Unlock Déverrouiller - - + + Confirm Deletion Confirmer la suppression - + Do you really want to delete all unlocked playlists? Voulez-vous vraiment supprimer toutes les listes de lecture déverrouillées ? - + Deleting %1 unlocked playlists.<br>This operation can not be undone! Suppression de %1 listes de lecture déverrouillées.<br>Cette opération est irréversible ! - + Playlists are ordered lists of tracks that allow you to plan your DJ sets. Les listes de lectures sont des listes ordonnées de pistes qui vous permettent de planifier vos sessions de mixage. - + It may be necessary to skip some tracks in your prepared playlist or add some different tracks in order to maintain the energy of your audience. Il peut être nécessaire de sauter quelques pistes de la liste de lecture que vous avez préparée ou d'ajouter des pistes différentes afin d'entretenir la ferveur de votre public. - + Some DJs construct playlists before they perform live, but others prefer to build them on-the-fly. Certains DJ préparent des listes de lecture avant leurs performances publiques quand d'autres préfèrent les constituer à la volée. - + When using a playlist during a live DJ set, remember to always pay close attention to how your audience reacts to the music you've chosen to play. Lorsque vous utilisez des listes de lecture pendant des sessions de mixage, souvenez-vous de porter une attention toute particulière à la façon dont votre public réagit à la musique que vous avez choisie de jouer. - + Create New Playlist Créer une nouvelle liste de lecture @@ -10438,59 +10727,59 @@ Voulez-vous sélectionner un périphérique d'entrée ? QMessageBox - + Upgrading Mixxx Mise à jour de Mixxx - + Mixxx now supports displaying cover art. Do you want to scan your library for cover files now? Mixxx permet maintenant d'afficher la pochette d'album. Désirez-vous rechercher maintenant les pochettes dans votre bibliothèque? - + Scan Analyse - + Later Plus tard - + Upgrading Mixxx from v1.9.x/1.10.x. Mise à jour de Mixxx de la v1.9.x/1.10.x. - + Mixxx has a new and improved beat detector. Mixxx a un nouveau détecteur de tempo amélioré. - + When you load tracks, Mixxx can re-analyze them and generate new, more accurate beatgrids. This will make automatic beatsync and looping more reliable. Quand vous chargez des pistes, Mixxx peut les ré-analyser et générer de nouvelles grilles rythmiques, plus précises. Ceci rendra la synchronisation automatique et les boucles plus fiables. - + This does not affect saved cues, hotcues, playlists, or crates. Cela n'affecte pas les repères, repères rapides, listes de lecture, ou bacs sauvegardés - + If you do not want Mixxx to re-analyze your tracks, choose "Keep Current Beatgrids". You can change this setting at any time from the "Beat Detection" section of the Preferences. Si vous ne voulez pas que Mixxx ré-analyse vos pistes, choisissez "Garder les Grilles Rythmiques actuelles". Vous pouvez changer ce réglages n'importe quand depuis la section "Détection Rythmique" des Préférences. - + Keep Current Beatgrids Garder les Grilles Rythmiques actuelles - + Generate New Beatgrids Générer de nouvelle Grilles Rythmiques @@ -10604,69 +10893,82 @@ Désirez-vous rechercher maintenant les pochettes dans votre bibliothèque?14-bit (MSB) - + Main + Audio path indetifier Principal - + Booth + Audio path indetifier Cabine - + Headphones + Audio path indetifier Casque - + Left Bus + Audio path indetifier Bus gauche - + Center Bus + Audio path indetifier Bus central - + Right Bus + Audio path indetifier Bus droit - + Invalid Bus + Audio path indetifier Bus non valable - + Deck + Audio path indetifier Platine - + Record/Broadcast + Audio path indetifier Enregistrer/Diffuser - + Vinyl Control + Audio path indetifier Contrôle Vinyle - + Microphone + Audio path indetifier Microphone - + Auxiliary + Audio path indetifier Auxilliaire - + Unknown path type %1 + Audio path Chemin inconnu type %1 @@ -11008,47 +11310,49 @@ With width at zero, this allows for manually sweeping over the entire delay rang Largeur - + Metronome Métronome - + + The Mixxx Team L'équipe Mixxx - + Adds a metronome click sound to the stream Ajoute un clic sonore de métronome au flux - + BPM BPM - + Set the beats per minute value of the click sound Régler la valeur du battement par minute du clic sonore - + Sync Synchronisation - + Synchronizes the BPM with the track if it can be retrieved Synchronise le BPM avec la piste, si celui-ci peut être récupérer - + + Gain Gain - + Set the gain of metronome click sound Régler le gain du son du clic du métronome @@ -11348,7 +11652,7 @@ Des valeurs élevées entraînent une moindre atténuation des hautes fréquence Controls the frequency range across which the notches sweep. - Contrôle la plage de fréquence balayée par le coupe-bande. + Contrôle la plage de fréquences balayée par le coupe-bande. @@ -11853,13 +12157,13 @@ Complètement à droite : fin de la période d'effet - + encoder failure défaillance de l'encodeur - + Failed to apply the selected settings. Échec de l'application des paramètres sélectionnés. @@ -12068,15 +12372,90 @@ et le signal de sortie traité aussi proche que possible de l'intensité so Allumé + + Auto Gain Control + Contrôle automatique du gain + + + + AGC + + + + + Auto Gain Control (AGC) automatically adjusts the gain of an audio signal to maintain a consistent output level. + Le contrôle automatique du gain ajuste le gain d'un signal audio pour maintenir un niveau de sortie constant. + + + Threshold (dBFS) Seuil (dBFS) + Threshold Seuil + + + The Threshold knob adjusts the level above which the effect starts enhancing the input signal + Le potentiomètre de seuil ajuste le niveau au-dessus duquel l'effet commence à atténuer le signal d'entrée + + + + Target (dBFS) + Cible (dBFS) + + + + Target + Cible + + + + The Target knob adjusts the desired target level of the output signal + Le potentiomètre cible ajuste le niveau cible désiré pour le signal de sortie + + + + Gain (dB) + Gain (dB) + + + + The Gain knob adjusts the maximum amount of gain that the effect will apply + Le potentiomètre de gain ajuste la quantité maximum de gain que l'effet va appliquer + + + + Knee (dB) + Pente (dB) + + + + The Knee knob defines the range around the Threshold where gain changes are applied gradually, +ensuring smooth transitions and avoiding abrupt level shifts. + Le Potentiomètre de pente définit la plage autour du seuil où les changements de gain sont appliqués graduellement, +assurant des transitions douces et évitant des sauts de niveau abrupts. + + + + The Attack knob sets the time that determines how fast the auto gain +will set in once the signal exceeds the threshold + Le Potentiomètre d'attaque définit le temps qui détermine à quelle rapidité le gain auto +va s'activer une fois que le signal a dépassé le seuil + + + + The Release knob sets the time that determines how fast the auto gain will recover from the gain +adjustment once the signal falls under the threshold. Depending on the input signal, short release times +may introduce a 'pumping' effect and/or distortion. + Le Potentiomètre de relâchement définit le temps qui détermine à quelle rapidité le gain auto récupérera de l'ajustement +du gain une fois que le signal tombe sous le seuil. Selon le signal d'entrée, un temps de relâchement court +peut introduire un effet de « pompage » et/ou une distorsion. + The Threshold knob adjusts the level above which the compressor starts attenuating the input signal @@ -12107,6 +12486,7 @@ Avec un rapport de 1:1, aucune compression n'a lieu, car l'entrée est Pente (dBFS) + Knee Pente @@ -12117,11 +12497,13 @@ Avec un rapport de 1:1, aucune compression n'a lieu, car l'entrée est Le Potentiomètre de pente est utilisé pour obtenir une courbe de compression plus ronde + Attack (ms) Attaque (ms) + Attack Attaque @@ -12134,11 +12516,13 @@ will set in once the signal exceeds the threshold s'appliquera une fois que le signal dépasse le seuil. + Release (ms) Relâchement (ms) + Release Relâchement @@ -12148,7 +12532,7 @@ s'appliquera une fois que le signal dépasse le seuil. The Release knob sets the time that determines how fast the compressor will recover from the gain reduction once the signal falls under the threshold. Depending on the input signal, short release times may introduce a 'pumping' effect and/or distortion. - Le bouton relachement définit le temps qui détermine la vitesse à laquelle le compresseur + Le Potentiomètre de relâchement définit le temps qui détermine la vitesse à laquelle le compresseur récupérera de la réduction de gain une fois que le signal tombe sous le seuil. En fonction du signal d'entrée, des temps de relâchement courts peuvent introduire un effet de « pompage » et/ou une distorsion. @@ -12170,12 +12554,12 @@ du signal d'entrée, des temps de relâchement courts peuvent introduire un divers - + built-in intégré - + missing manquant @@ -12210,42 +12594,42 @@ du signal d'entrée, des temps de relâchement courts peuvent introduire un Stem #%1 - + Empty Vide - + Simple Simple - + Filtered Filtré - + HSV HSV - + VSyncTest VSyncTest - + RGB RVB - + Stacked Empilé - + Unknown Inconnu @@ -12506,193 +12890,193 @@ du signal d'entrée, des temps de relâchement courts peuvent introduire un ShoutConnection - - + + Mixxx encountered a problem Mixxx a rencontré un problème - + Could not allocate shout_t Ne peux allouer shout_t - + Could not allocate shout_metadata_t Ne peux allouer shout_metadata_t - + Error setting non-blocking mode: Erreur de configuration en mode non-bloquant : - + Error setting tls mode: Erreur de configuration en mode tls : - + Error setting hostname! Erreur lors de la définition du nom d'hôte ! - + Error setting port! Erreur lors de la définition du port ! - + Error setting password! Erreur lors de la définition du mot de passe ! - + Error setting mount! Erreur lors de la définition du montage ! - + Error setting username! Erreur lors de la définition du nom d'utilisateur ! - + Error setting stream name! Erreur lors de la définition du nom du flux ! - + Error setting stream description! Erreur lors de la définition de la description du flux ! - + Error setting stream genre! Erreur lors de la définition du genre du flux ! - + Error setting stream url! Erreur lors de la définition de l'URL du flux ! - + Error setting stream IRC! Erreur lors de la définition de l'IRC du flux ! - + Error setting stream AIM! Erreur lors de la définition de l'AIM du flux ! - + Error setting stream ICQ! Erreur lors de la définition de l'ICQ du flux ! - + Error setting stream public! Erreur lors de la publication du flux ! - + Unknown stream encoding format! Format d'encodage de publication en streaming inconnu ! - + Use a libshout version with %1 enabled Utiliser une version de libshout avec %1 activé - + Error setting stream encoding format! Erreur lors de la définition du format d'encodage de la publication en streaming ! - + Broadcasting at 96 kHz with Ogg Vorbis is not currently supported. Please try a different sample rate or switch to a different encoding. La diffusion à 96 kHz avec Ogg Vorbis n'est actuellement pas prise en charge. Veuillez essayer une autre fréquence d'échantillonnage ou passer à un autre encodage. - + See https://github.com/mixxxdj/mixxx/issues/5701 for more information. Voir https://github.com/mixxxdj/mixxx/issues/5701 pour plus d'informations. - + Unsupported sample rate Taux d'échantillonnage non pris en charge - + Error setting bitrate Erreur lors de la définition du débit - + Error: unknown server protocol! Erreur : protocole du serveur inconnu ! - + Error: Shoutcast only supports MP3 and AAC encoders Erreur : Shoutcast prend en charge uniquement les encodeurs MP3 et AAC - + Error setting protocol! Erreur lors de la définition du protocole ! - + Network cache overflow Débordement de cache réseau - + Connection error Erreur de connexion - + One of the Live Broadcasting connections raised this error:<br><b>Error with connection '%1':</b><br> Une des connexions de diffusion en direct a généré cette erreur :<br><b>Erreur avec la connexion '%1' :</b><br> - + Connection message Message de connexion - + <b>Message from Live Broadcasting connection '%1':</b><br> <b>Message de la connexion de diffusion en direct '%1' :</b><br> - + Lost connection to streaming server and %1 attempts to reconnect have failed. Connexion au serveur de streaming perdue et %1 essais de reconnexion ont échoué. - + Lost connection to streaming server. Connexion au serveur de streaming perdue. - + Please check your connection to the Internet. Veuillez vérifier votre connexion Internet. - + Can't connect to streaming server Connexion impossible au serveur de streaming - + Please check your connection to the Internet and verify that your username and password are correct. Veuillez vérifier votre connection Internet et que votre identifiant et mot de passe soit correct. @@ -12708,23 +13092,23 @@ du signal d'entrée, des temps de relâchement courts peuvent introduire un SoundManager - - + + a device un périphérique - + An unknown error occurred Une erreur inconnue est survenue - + Two outputs cannot share channels on "%1" Deux sorties ne peuvent pas partager les canaux sur "%1" - + Error opening "%1" Erreur à l'ouverture de "%1" @@ -12909,7 +13293,7 @@ du signal d'entrée, des temps de relâchement courts peuvent introduire un - + Spinning Vinyl Vinyle en rotation @@ -13091,7 +13475,7 @@ du signal d'entrée, des temps de relâchement courts peuvent introduire un - + Cover Art Pochette d'album @@ -13281,243 +13665,243 @@ du signal d'entrée, des temps de relâchement courts peuvent introduire un Force le gain EQ des basses à zéro tant qu'il est actif. - + Displays the tempo of the loaded track in BPM (beats per minute). Affiche le tempo de la piste chargée en BPM (battements par minute) - + Tempo Tempo - + Key The musical key of a track Tonalité - + BPM Tap Tap Tempo - + When tapped repeatedly, adjusts the BPM to match the tapped BPM. Lorsque tapé de façon répétitive, cela règle le tempo afin qu'il corresponde au tempo tapé. - + Adjust BPM Down Réduire le BPM - + When tapped, adjusts the average BPM down by a small amount. Lorsque tapé, cela réduit légèrement le BPM moyen. - + Adjust BPM Up Augmenter le BPM - + When tapped, adjusts the average BPM up by a small amount. Lorsque tapé, cela augmente légèrement le BPM moyen. - + Adjust Beats Earlier Ajuster les battements plus tôt - + When tapped, moves the beatgrid left by a small amount. Lorsque tapé, cela déplace légèrement la grille rythmique vers la gauche. - + Adjust Beats Later Ajuster les battements plus tard - + When tapped, moves the beatgrid right by a small amount. Lorsque tapé, cela déplace légèrement la grille rythmique vers la droite. - + Tempo and BPM Tap Tap Tempo et BPM - + Show/hide the spinning vinyl section. Afficher/Masquer la section du vinyle en rotation - + Keylock Verrouillage - + Toggling keylock during playback may result in a momentary audio glitch. Le fait d'activer/désactiver le verrouillage de tonalité pendant la lecture peut provoquer une interférence audio momentané. - + Toggle visibility of Loop Controls Activer/désactiver la visibilité les contrôles de boucle - + Toggle visibility of Beatjump Controls Activer/désactiver la visibilité les contrôles de saut de battement - + Toggle visibility of Rate Control Activer/désactiver la visibilité du contrôle du taux d'échantillonnage - + Toggle visibility of Key Controls Activer/désactiver la visibilité du contrôle de tonalité - + (while previewing) (pendant la pré-écoute) - + Places a cue point at the current position on the waveform. Place un point de repère à la position actuelle sur la forme d'onde. - + Stops track at cue point, OR go to cue point and play after release (CUP mode). Arrête la piste au point de repère, OU va au point de repère et lance la lecture en relâchant le bouton (mode CUP). - + Set cue point (Pioneer/Mixxx/Numark mode), set cue point and play after release (CUP mode) OR preview from it (Denon mode). Définit le point de repère (Mode Pioneer/Mixxx/Numark), définit le point de repère et lance la lecture lorsque le bouton est relâché (mode CUP) OU pré-écoute depuis ce point (mode Denon) - + Is latching the playing state. Verrouille l'état de lecture. - + Seeks the track to the cue point and stops. Cale la piste sur le point de repère puis s'arrête. - + Play Lire - + Plays track from the cue point. Lit la piste depuis le point de repère. - + Sends the selected channel's audio to the headphone output, selected in Preferences -> Sound Hardware. Envoie l'audio du canal sélectionné à la sortie casque, sélectionné dans Préférences -> Matériel audio. - + (This skin should be updated to use Sync Lock!) (Le thème doit être mis à jour pour utiliser la synchronisation verrouiller !) - + Enable Sync Lock Activer la synchronisation verrouiller - + Tap to sync the tempo to other playing tracks or the sync leader. Taper pour synchroniser le tempo aux autres pistes en cours de lecture ou au leader de synchronisation. - + Enable Sync Leader Activer le leader de synchronisation - + When enabled, this device will serve as the sync leader for all other decks. Lorsque activé, ce périphérique servira de leader de synchronisation pour toutes les autres platines. - + This is relevant when a dynamic tempo track is loaded to a sync leader deck.In that case, other synced devices will adopt the changing tempo. Ceci est pertinent lorsqu'une piste au tempo dynamique est chargée sur une platine leader de synchronisation. Dans ce cas, d'autres appareils synchronisés adopteront le changement de tempo. - + Changes the track playback speed (affects both the tempo and the pitch). If keylock is enabled, only the tempo is affected. Modifie la vitesse de lecture de la piste (affecte le tempo et la hauteur tonale). Si le verrouillage de tonalité est activé, seul le tempo est affecté. - + Tempo Range Display Affichage de la plage de tempo - + Displays the current range of the tempo slider. Affiche la plage actuelle du curseur de tempo. - + Un-ejects when no track is loaded, i.e. reloads the track that was ejected last (of any deck). Annule l'éjection lorsqu'aucune piste n'est chargée, c'est-à-dire recharge la piste qui a été éjectée en dernier (de n'importe quelle platine). - + Delete selected hotcue. Supprime le repère rapide sélectionné. - + Track Comment Commentaire de la piste - + Displays the comment tag of the loaded track. Affiche le tag commentaire de la piste chargée. - + Opens separate artwork viewer. Ouvre une visionneuse de pochette d'album distincte. - + Effect Chain Preset Settings Paramètres prédéfinis de la chaine d’effets - + Show the effect chain settings menu for this unit. Affiche le menu des paramètres de chaine d’effets pour cette unité. - + Select and configure a hardware device for this input Sélectionner et configurer un périphérique matériel pour cette entrée - + Recording Duration Durée d'enregistrement @@ -13616,7 +14000,7 @@ du signal d'entrée, des temps de relâchement courts peuvent introduire un If activated, the main mix signal plays in the right channel, while the cueing signal plays in the left channel. - Si activé, le signal principal mélangé est jouée dans le canal droit tandis que la pré-écoute est jouée dans le canal gauche. + Si activé, le signal principal mélangé est joué dans le canal droit tandis que la pré-écoute est jouée dans le canal gauche. @@ -13662,7 +14046,7 @@ du signal d'entrée, des temps de relâchement courts peuvent introduire un Adjust the amount the music volume is reduced with the Strength knob. - Régler le niveau de réduction du volume de la musique avec le potentiomètre puissance. + Régler le niveau de réduction du volume de la musique avec le potentiomètre de puissance. @@ -13740,950 +14124,985 @@ du signal d'entrée, des temps de relâchement courts peuvent introduire un Maintient la vitesse de lecture plus basse (petite quantité) tant qu'il est actif. - + When tapped repeatedly, adjusts the tempo to match the tapped BPM. Lorsque tapé de façon répétitive, cela règle le tempo afin qu'il corresponde au BPM tapé. + + + Click to open the tempo/BPM editor + + + + + It also shows a colored bar if Key colors are enabled in the Preferences. + + + The bar will be split vertically if the track's key is in between full keys. + + + + Tempo Tap Taper le tempo - + Rate Tap and BPM Tap Taper taux et taper BPM - + + Set Tempo + + + + + Set the desired tempo in BPM. If the track currently has no BPM detected, set the desired tempo in percent. + + + + Adjust beatgrid by exactly one half beat. Usable only on tracks with constant tempo. Ajuster la grille rythmique exactement d'un demi-battement. Utilisable uniquement sur les pistes à tempo constant. - + Revert last BPM/Beatgrid Change Annuler le dernier changement de BPM / grille rythmique - + Revert last BPM/Beatgrid Change of the loaded track. Annuler le dernier changement de BPM / grille rythmique de la piste chargée. - - + + Toggle the BPM/beatgrid lock Activer/désactiver le verrouillage BPM / grille rythmique - + Tempo and Rate Tap Taper tempo et taux - + Tempo, Rate Tap and BPM Tap Tempo, taper taux et taper BPM - + Shift cues earlier Décaler les repères plus tôt - - + + Shift cues imported from Serato or Rekordbox if they are slightly off time. Décale les repères importés de Serato et Rekordbox lorsqu'ils sont légèrement désynchronisés. - + Left click: shift 10 milliseconds earlier Clic gauche : décale 10 ms plus tôt - + Right click: shift 1 millisecond earlier Clic-droit : décale 10 ms plus tard - + Shift cues later Décaler les repères plus tard - + Left click: shift 10 milliseconds later Clic-gauche : décale 10 ms plus tard - + Right click: shift 1 millisecond later Clic-droit : décale 1 ms plus tard - - - + + + Drag a Hotcue button here to continue playing after releasing the Hotcue. Faites glisser un bouton de repère rapide ici pour continuer à jouer après avoir relâché le repère rapide. - + Hint: Change the default cue mode in Preferences -> Decks. Astuce : Changer le mode de repère par défaut dans Préférences -> Platines. - + Mutes the selected channel's audio in the main output. Met en sourdine les canaux audio sélectionnés dans la sortie principale. - + Main mix enable Activer mix principal - + Hold or short click for latching to mix this input into the main output. Maintenir ou cliquer brièvement pour enclencher le mélange de cette entrée dans la sortie principale. - + + Reloads the last replaced track. If no track is loaded reloads the second-last ejected track. + Recharge la dernière piste remplacée. Si aucune piste n'est chargée, recharge l'avant-dernière piste éjectée. + + + If hotcue is a loop cue, toggles the loop and jumps to if the loop is behind the play position. Si le repère rapide est un repère de boucle, active/désactive la boucle et passe à si la boucle est derrière la position de lecture. - + If the play position is inside an active loop, stores the loop as loop cue. Si la position de lecture se trouve à l'intérieur d'une boucle active, stocke la boucle comme repère de boucle. - + Drag this button onto another Hotcue button to move it there (change its index). If the other hotcue is set, the two are swapped. Faites glisser ce bouton sur un autre bouton de repère rapide pour l'y déplacer (modifier son index). Si l'autre repère rapide est défini, les deux sont échangés. - + Expand/Collapse Samplers Développer/Réduire les échantillonneurs - + Toggle expanded samplers view. Activer/désactiver la vue étendue des échantillonneurs. - + Displays the duration of the running recording. Affiche la durée de l'enregistrement en cours. - + Auto DJ is active Auto DJ est actif - + Red for when needle skip has been detected. Rouge lorsqu’un saut d’aiguille a été détecté. - + Hot Cue - Track will seek to nearest previous hotcue point. Repère rapide - La piste sera calée au repère rapide précédent le plus proche. - + Sets the track Loop-In Marker to the current play position. Positionne la marque de début de boucle de la piste à la position actuelle de lecture. - + Press and hold to move Loop-In Marker. Pressez et maintenez pour déplacer la marque de début de boucle. - + Jump to Loop-In Marker. Sauter à la marque de début de boucle. - + Sets the track Loop-Out Marker to the current play position. Positionne la marque de fin de boucle de la piste à la position actuelle de lecture. - + Press and hold to move Loop-Out Marker. Pressez et maintenez pour déplacer la marque de fin de boucle. - + Jump to Loop-Out Marker. Sauter à la marque de fin de boucle. - + If the track has no beats the unit is seconds. Si la piste n'a pas de battements, l'unité est la seconde. - + Beatloop Size Taille de la boucle de battement - + Select the size of the loop in beats to set with the Beatloop button. Sélectionner la taille de la boucle en battements à régler avec le bouton Boucle de battement. - + Changing this resizes the loop if the loop already matches this size. Changer ceci redimensionne la boucle si la boucle correspond déjà à cette taille. - + Halve the size of an existing beatloop, or halve the size of the next beatloop set with the Beatloop button. Réduire de moitié la taille d'une boucle de battement existante ou réduire de moitié la taille de la prochaine boucle de battement réglé avec le bouton Boucle de battement. - + Double the size of an existing beatloop, or double the size of the next beatloop set with the Beatloop button. Double la taille d'une boucle de battement existante ou double la taille de la prochaine boucle de battement réglé avec le bouton Boucle de battement. - + Start a loop over the set number of beats. Démarrer une boucle sur le nombre de battement réglés. - + Temporarily enable a rolling loop over the set number of beats. Active temporairement une boucle déroulante sur le nombre de battements réglés. - + Beatloop Anchor Ancrage de boucle de battement - + Define whether the loop is created and adjusted from its staring point or ending point. Défini si la boucle est créée et ajustée à partir de son point de départ ou de son point d'arrivée. - + Beatjump/Loop Move Size Taille du saut de battement / déplacement de Boucle - + Select the number of beats to jump or move the loop with the Beatjump Forward/Backward buttons. Sélectionner le nombre de battements pour sauter ou déplacer la boucle avec les boutons saut de battement vers l'avant / vers l'arrière. - + Beatjump Forward Saut de battement vers l'avant - + Jump forward by the set number of beats. Saute vers l'avant du nombre de battements réglé. - + Move the loop forward by the set number of beats. Déplace la boucle vers l'avant du nombre de battements réglé. - + Jump forward by 1 beat. Saute vers l'avant de 1 battements - + Move the loop forward by 1 beat. Déplace la boucle vers l'avant de 1 battements - + Beatjump Backward Saut de battement vers l'arrière - + Jump backward by the set number of beats. Saute vers l'arrière du nombre de battements réglé. - + Move the loop backward by the set number of beats. Déplace la boucle vers l'arrière du nombre de battements réglé. - + Jump backward by 1 beat. Saute vers l'arrière de 1 battements - + Move the loop backward by 1 beat. Déplace la boucle vers l'arrière de 1 battements - + Reloop Reboucler - + If the loop is ahead of the current position, looping will start when the loop is reached. Si la boucle est devant la position actuelle, le bouclage commencera lorsque la boucle est atteinte. - + Works only if Loop-In and Loop-Out Marker are set. Fonctionne uniquement si les marqueurs Entrée-Boucle et Sortie-Boucle sont définis. - + Enable loop, jump to Loop-In Marker, and stop playback. Active la boucle, saute au marqueur Entrée-Boucle, et arrêter la lecture. - + Displays the elapsed and/or remaining time of the track loaded. Affiche le temps écoulé et/ou restant de la piste chargée. - + Click to toggle between time elapsed/remaining time/both. Cliquer pour basculer entre temps écoulé/temps restant/les deux. - + Hint: Change the time format in Preferences -> Decks. Astuce : Changez le format des temps dans Préférences -> Platines. - + Show/hide intro & outro markers and associated buttons. Affiche/masque les marqueurs intro et outro et les boutons associés. - + + Ensure all waveforms to have the same height across all channels. By default, when displaying the stem controls, waveform for channel that have no stem may render with a shorter height in order to honor the waveform container size you have requested.. + + + + Intro Start Marker Marqueur début Intro - - - - + + + + If marker is set, jumps to the marker. Si un marqueur est défini, saute au marqueur. - - - - + + + + If marker is not set, sets the marker to the current play position. Si un marqueur n'est pas défini, définie le marqueur à l'emplacement actuel de lecture. - - - - + + + + If marker is set, clears the marker. Si un marqueur est défini, efface le marqueur. - + Intro End Marker Marqueur fin Intro - + Outro Start Marker Marqueur début outro - + Outro End Marker Marqueur fin outro - + Mix Mix - + Adjust the mixing of the dry (input) signal with the wet (output) signal of the effect unit Ajuste le mixage du signal original (entrée) avec le signal traité (sortie) de l'unité d'effet - + D/W mode: Crossfade between dry and wet Mode D/W : Fondu enchaîné entre original (dry) et traité (wet) - + D+W mode: Add wet to dry Mode D + W : Ajoute traité à original - + Mix Mode Mode du mix - + Adjust how the dry (input) signal is mixed with the wet (output) signal of the effect unit Ajuste comment le signal original (entrée) est mélangé avec le signal traité (sortie) de l'unité d'effet - + Dry/Wet mode (crossed lines): Mix knob crossfades between dry and wet Use this to change the sound of the track with EQ and filter effects. - Mode Original/Traité (lignes croisées) : potentiomètre de mixage fondu-enchaîné entre origina et traité + Mode Original/Traité (lignes croisées) : le potentiomètre de mixage fait un fondu-enchaîné entre original et traité. Utiliser ceci pour changer le son de la piste avec EQ et les effets de filtre. - + Dry+Wet mode (flat dry line): Mix knob adds wet to dry Use this to change only the effected (wet) signal with EQ and filter effects. - Mode Original/Traité (ligne original plate) : potentiomètre de mixage d'ajout traité à original + Mode Original/Traité (ligne original plate) : le potentiomètre de mixage ajoute le traité à l'original Utiliser ceci pour modifier uniquement le signal affecté (traité) avec EQ et les effets de filtre. - + Route the main mix through this effect unit. Achemine le mix principal à travers cette unité d'effet. - + Route the left crossfader bus through this effect unit. Achemine le bus du curseur de mixage gauche à travers cette unité d'effet. - + Route the right crossfader bus through this effect unit. Achemine le bus du curseur de mixage droit à travers cette unité d'effet. - + Right side active: parameter moves with right half of Meta Knob turn Côté droit actif : le paramètre se déplace avec une moitié de rotation à droite du Méta potentiomètre - + Stem Label Étiquette de stem - + Name of the stem stored in the stem file Nom du stem stockée dans le fichier de stem - + Text is displayed in the stem color stored in the stem file Le texte est affiché dans la couleur de stem stockée dans le fichier de stem - + this stem color is also used for the waveform of this stem cette couleur de stem est également utilisée pour la forme d'onde de ce stem - + Stem Mute Mise en sourdine stem - + Toggle the stem mute/unmuted Activer/désactiver le son de stem - + Stem Volume Knob Potentiomètre de volume de stem - + Adjusts the volume of the stem Ajuste le volume du stem - + Skin Settings Menu Menu réglage thème - + Show/hide skin settings menu Affiche/Masque le menu réglage thème - + Save Sampler Bank Sauvegarder la banque d'échantillon - + Save the collection of samples loaded in the samplers. Enregistre la collection d'échantillons chargés dans les échantillonneurs. - + Load Sampler Bank Charger la banque d'échantillon - + Load a previously saved collection of samples into the samplers. Charge une collection d'échantillons sauvegardé précédement dans les échantillonneurs. - + Show Effect Parameters Afficher les paramètres d'effet - + Enable Effect Active l'effet - + Meta Knob Link Lien du Méta potentiomètre - + Set how this parameter is linked to the effect's Meta Knob. Règle comment ce paramètre est lié au effets du Méta potentiomètre. - + Meta Knob Link Inversion Inversion du lien du Méta potentiomètre - + Inverts the direction this parameter moves when turning the effect's Meta Knob. Inverse la direction dans laquelle ce paramètre change lorsque le Méta potentiomètre est tourné. - + Super Knob Super potentiomètre - + Next Chain Prochaine chaîne - + Previous Chain Chaîne précédente - + Next/Previous Chain Chaîne suivante/précédente - + Clear Effacer - + Clear the current effect. Effacer l'effet actuel. - + Toggle Activer/désactiver - + Toggle the current effect. Activer/désactiver l'effet actuel. - + Next Suivant - + Clear Unit Effacer l'unité - + Clear effect unit. Effacer l'unité d'effets. - + Show/hide parameters for effects in this unit. Affiche/Masque les paramètres d'effets de cette unité. - + Toggle Unit Activer/désactiver l'unité - + Enable or disable this whole effect unit. Active ou désactive toute cette unité d'effet. - + Controls the Meta Knob of all effects in this unit together. Contrôle le Méta potentiomètre de tous les effets de cette unité ensemble. - + Load next effect chain preset into this effect unit. Charger le prochaine préréglage de chaîne d'effet dans cette unité d'effet. - + Load previous effect chain preset into this effect unit. Charger le précédent préréglage de chaîne d'effet dans cette unité d'effet. - + Load next or previous effect chain preset into this effect unit. Charger le prochain ou précédent préréglage de chaîne d'effet dans cette unité d'effet. - - - - - - - - - + + + + + + + + + Assign Effect Unit Assigner une unité d'effet - + Assign this effect unit to the channel output. Assigne cette unité d'effet au canal de sortie. - + Route the headphone channel through this effect unit. Achemine le canal du casque à travers cette unité d'effet. - + Route this deck through the indicated effect unit. Achemine cette platine à travers l'unité d'effet indiquée. - + Route this sampler through the indicated effect unit. Achemine cet échantillonneur à travers l'unité d'effet indiquée. - + Route this microphone through the indicated effect unit. Achemine ce microphone à travers l'unité d'effet indiquée. - + Route this auxiliary input through the indicated effect unit. Achemine cette entrée auxiliaire à travers l'unité d'effet indiquée. - + The effect unit must also be assigned to a deck or other sound source to hear the effect. L'unité d'effet doit également être affectée à une platine ou à une autre source sonore pour entendre l'effet. - + Switch to the next effect. Passe à l'effet suivant. - + Previous Précédent - + Switch to the previous effect. Passer à l'effet précédent. - + Next or Previous Suivant ou précédent - + Switch to either the next or previous effect. Passe à l'effet suivant ou précédent. - + Meta Knob Méta potentiomètre - + Controls linked parameters of this effect Contrôle les paramètres liés de cet effet. - + Effect Focus Button Bouton de focus de l'effet - + Focuses this effect. Focalise cet effet. - + Unfocuses this effect. Dé-focalise cet effet. - + Refer to the web page on the Mixxx wiki for your controller for more information. Consultez la page web du wiki de Mixxx concernant votre contrôleur pour de plus amples informations. - + Effect Parameter Paramètre d'effet - + Adjusts a parameter of the effect. Ajuste un paramètre de l'effet. - + Inactive: parameter not linked Inactif : paramètre non lié - + Active: parameter moves with Meta Knob Actif : le paramètre se déplace avec le Méta potentiomètre - + Left side active: parameter moves with left half of Meta Knob turn Côté gauche actif : le paramètre se déplace avec une moitié de rotation à gauche du Méta potentiomètre - + Left and right side active: parameter moves across range with half of Meta Knob turn and back with the other half Côté gauche et droit actif : le paramètre se déplace avec une moitié de rotation du Méta potentiomètre et reviens en arrière avec l'autre moitié de rotation - - + + Equalizer Parameter Kill Suppression du paramètre de l'égaliseur - - + + Holds the gain of the EQ to zero while active. Maintien à zéro le gain EQ lorsque activé. - + Quick Effect Super Knob Super potentiomètre d'effet rapide - + Quick Effect Super Knob (control linked effect parameters). Super potentiomètre d'effet rapide (contrôle les paramètres d'effet liés) - + Hint: Change the default Quick Effect mode in Preferences -> Equalizers. Astuce : Changez le mode d'effet rapide par défaut dans Préférences -> Égaliseurs. - + Equalizer Parameter Paramètre d'égaliseur - + Adjusts the gain of the EQ filter. Ajuste le gain du filtre EQ. - + Hint: Change the default EQ mode in Preferences -> Equalizers. Astuce : Changez le mode EQ par défaut dans Préférences -> Égaliseurs. - - + + Adjust Beatgrid Ajuster la grille rythmique - + Adjust beatgrid so the closest beat is aligned with the current play position. Ajuste la grille rythmique afin que le battement le plus proche soit aligné avec la position actuelle de la lecture. - - + + Adjust beatgrid to match another playing deck. Ajuste la grille rythmique afin de l'aligner à une autre platine en cours de lecture. - + If quantize is enabled, snaps to the nearest beat. Lorsque la quantification est activée, se place sur le battement le plus proche. - + Quantize Quantification - + Toggles quantization. Active/désactive la quantification. - + Loops and cues snap to the nearest beat when quantization is enabled. Les boucles et les points de repère se placent sur le battement le plus proche lorsque la quantification est activée. - + Reverse Inverser - + Reverses track playback during regular playback. Inverse le sens de lecture de la piste pendant la lecture normale. - + Puts a track into reverse while being held (Censor). Inverse la lecture d'une piste lorsque maintenu (Censeur). - + Playback continues where the track would have been if it had not been temporarily reversed. La lecture reprends là où la piste aurait été si elle n'avait pas été temporairement inversée. - - - + + + Play/Pause Lecture/Pause - + Jumps to the beginning of the track. Saute au début de la piste. - + Syncs the tempo (BPM) and phase to that of the other track, if BPM is detected on both. Synchronise le tempo (BPM) et la phase sur celui de l'autre piste, si le BPM est détecté sur les deux. - + Syncs the tempo (BPM) to that of the other track, if BPM is detected on both. Synchronise le tempo (BPM) sur celui de l'autre piste, si le BPM est détecté sur les deux. - + Sync and Reset Key Synchroniser et réinitialiser la tonalité - + Increases the pitch by one semitone. Augmente la hauteur tonale d'un demi ton. - + Decreases the pitch by one semitone. Diminue la hauteur tonale d'un demi ton. - + Enable Vinyl Control Activer le contrôle des vinyles - + When disabled, the track is controlled by Mixxx playback controls. Si désactivé, la piste est contrôlée par les contrôles de lecture de Mixxx. - + When enabled, the track responds to external vinyl control. Si activé, la piste répond au contrôle de vinyle externe - + Enable Passthrough Activer le contrôle intermédiaire - + Indicates that the audio buffer is too small to do all audio processing. Indique que le tampon audio est trop petit pour effectuer tous les traitements audio. - + Displays cover artwork of the loaded track. Affiche la pochette d'album de la piste chargée. - + Displays options for editing cover artwork. Affiche les options d'édition de la pochette d'album. - + Star Rating Notation par étoiles - + Assign ratings to individual tracks by clicking the stars. Donnez une note aux pistes en cliquant sur les étoiles. @@ -14818,33 +15237,33 @@ Utiliser ceci pour modifier uniquement le signal affecté (traité) avec EQ et l Puissance d'atténuation du ParlerParDessus (talkover) du microphone - + Prevents the pitch from changing when the rate changes. Empêche la hauteur tonale de varier lorsque la vitesse change. - + Changes the number of hotcue buttons displayed in the deck Change le nombre de boutons de repère rapide affichés dans la platine - + Starts playing from the beginning of the track. Démarre la lecture à partir du début de la piste. - + Jumps to the beginning of the track and stops. Saute au début de la piste et s'arrête. - - + + Plays or pauses the track. Lit ou suspend la lecture de la piste. - + (while playing) (pendant la lecture) @@ -14864,215 +15283,215 @@ Utiliser ceci pour modifier uniquement le signal affecté (traité) avec EQ et l Vu-mètre du volume du canal principal droit - + (while stopped) (pendant qu'il est stoppé) - + Cue Repère - + Headphone Casque - + Mute Sourdine - + Old Synchronize Ancienne synchronisation - + Syncs to the first deck (in numerical order) that is playing a track and has a BPM. Synchronise sur la première platine (dans l'ordre numérique) qui est en cours de lecture d'une piste et qui a un BPM - + If no deck is playing, syncs to the first deck that has a BPM. Si aucune platine n'est en cours de lecture, synchronise sur la première platine qui a un BPM - + Decks can't sync to samplers and samplers can only sync to decks. Les platines ne peuvent pas se synchroniser aux échantillonneur et les échantillonneur peuvent uniquement se synchroniser aux platines. - + Hold for at least a second to enable sync lock for this deck. Appuyer au moins une seconde pour activer le verrou de synchronisation pour cette platine. - + Decks with sync locked will all play at the same tempo, and decks that also have quantize enabled will always have their beats lined up. Les platines verrouillées en synchronisation joueront toutes au même tempo, et les platines ayant également une quantification activée garderont leur battements toujours alignés. - + Resets the key to the original track key. Réinitialise la tonalité à la valeur d'origine de la piste. - + Speed Control Contrôle de la vitesse - - - + + + Changes the track pitch independent of the tempo. Change la hauteur tonale de la piste indépendamment du tempo. - + Increases the pitch by 10 cents. Augmente la hauteur tonale de 10 centièmes. - + Decreases the pitch by 10 cents. Diminue la hauteur tonale de 10 centièmes. - + Pitch Adjust Ajustement de la hauteur tonale - + Adjust the pitch in addition to the speed slider pitch. Ajuste la hauteur tonale en plus du curseur de vitesse. - + Opens a menu to clear hotcues or edit their labels and colors. Ouvre un menu pour effacer les repères rapide ou modifier leurs étiquettes et couleurs. - + Drag this button onto a Play button while previewing to continue playback after release. Faites glisser ce bouton sur un bouton de lecture pendant la prévisualisation pour continuer la lecture après relâchement du bouton. - + Dragging with Shift key pressed will not start previewing the hotcue. Faire glisser avec la touche Maj enfoncée ne lancera pas la prévisualisation du repère rapide - + Record Mix Enregistrer le mix - + Toggle mix recording. Active/désactive l'enregistrement du mix. - + Enable Live Broadcasting Activer la diffusion en direct - + Stream your mix over the Internet. Diffuse votre mix en streaming sur internet. - + Provides visual feedback for Live Broadcasting status: Fournit un signal visuel concernant l'état de la transmission en direct : - + disabled, connecting, connected, failure. désactivé, connexion en cours, connecté, échec. - + When enabled, the deck directly plays the audio arriving on the vinyl input. Si activé, la platine joue directement l'audio arrivant sur l'entrée vinyl. - + Playback will resume where the track would have been if it had not entered the loop. La lecture reprendra ou la piste était si elle n'est pas rentrée dans la boucle. - + Loop Exit Sortir de la boucle - + Turns the current loop off. Coupe la boucle courante - + Slip Mode Mode glisser - + When active, the playback continues muted in the background during a loop, reverse, scratch etc. Quand activé, la lecture continu en sourdine en fond pendant une boucle, l'inversion, le scratch etc. - + Once disabled, the audible playback will resume where the track would have been. Une fois désactivé, la lecture reprendra de manière audible là où la piste se trouvait. - + Track Key The musical key of a track Tonalité de la piste - + Displays the musical key of the loaded track. Affiche la tonalité musicale de la piste chargée. - + Clock Horloge - + Displays the current time. Affiche l'heure actuelle - + Audio Latency Usage Meter Vu-mètre d'utilisation de la latence audio - + Displays the fraction of latency used for audio processing. Affiche les parties de latence utilisées pour le traitement audio. - + A high value indicates that audible glitches are likely. Une valeur haute indique que des interférences audibles sont possibles. - + Do not enable keylock, effects or additional decks in this situation. N'activer aucun verrou, effet ou platine supplémentaire dans cette situation. - + Audio Latency Overload Indicator Indicateur de surcharge de latence audio @@ -15112,259 +15531,259 @@ Utiliser ceci pour modifier uniquement le signal affecté (traité) avec EQ et l Activer le Contrôle Vinyle depuis le Menu -> Options. - + Displays the current musical key of the loaded track after pitch shifting. Affiche la tonalité musicale actuelle de la piste chargée après le changement de hauteur tonale. - + Fast Rewind Rembobinage rapide - + Fast rewind through the track. Rembobinage rapide en parcourant la piste. - + Fast Forward Avance rapide - + Fast forward through the track. Avance rapide en parcourant la piste. - + Jumps to the end of the track. Saute à la fin de la piste. - + Sets the pitch to a key that allows a harmonic transition from the other track. Requires a detected key on both involved decks. Définit la hauteur tonale à une tonalité permettant une transition harmonique avec l'autre piste. Nécessite que la tonalité soit détectée sur les deux platines concernées. - - - + + + Pitch Control Contrôle de la hauteur tonale - + Pitch Rate Taux de pitch - + Displays the current playback rate of the track. Affiche la vitesse de lecture actuelle de la piste. - + Repeat Répéter - + When active the track will repeat if you go past the end or reverse before the start. Lorsque activé, la piste se répète si vous dépassez la fin ou retourne avant le départ. - + Eject Éjecter - + Ejects track from the player. Ejecte la piste du lecteur. - + Hotcue Repère rapide - + If hotcue is set, jumps to the hotcue. Si un repère rapide est défini, saute au repère rapide. - + If hotcue is not set, sets the hotcue to the current play position. Si un repère rapide n'est pas défini, définie le repère rapide à l'emplacement de lecture courant. - + Vinyl Control Mode Mode de Contrôle Vinyle - + Absolute mode - track position equals needle position and speed. Mode absolu - la position dans la piste est égal à la position et la vitesse de la pointe. - + Relative mode - track speed equals needle speed regardless of needle position. Mode relatif - la vitesse de la piste est égal à la vitesse de la pointe sans égard pour la position de la pointe. - + Constant mode - track speed equals last known-steady speed regardless of needle input. Mode constant - la vitesse de la piste est égale à la dernière vitesse instantanée connue sans égard de la position de la pointe. - + Vinyl Status Etat du Vinyle - + Provides visual feedback for vinyl control status: Fournit un retour visuel concernant l'état du contrôle vinyle : - + Green for control enabled. Vert lorsque le controle est activé. - + Blinking yellow for when the needle reaches the end of the record. Clignote jaune lorsque la pointe touche à la fin du disque. - + Loop-In Marker Marqueur d'entrée de boucle - + Loop-Out Marker Marqueur de sortie de boucle - + Loop Halve Réduction de la boucle de moitié - + Halves the current loop's length by moving the end marker. Réduit de moitié la longueur courante de la boucle en déplaçant le marqueur de fin. - + Deck immediately loops if past the new endpoint. La platine boucle immédiatement si le nouveau point d'arrêt est dépassé. - + Loop Double Doublage de la boucle - + Doubles the current loop's length by moving the end marker. Double la longueur courante de la boucle en déplaçant le marqueur de fin. - + Beatloop Boucle de battement - + Toggles the current loop on or off. Active/désactive la boucle courante. - + Works only if Loop-In and Loop-Out marker are set. Ne fonctionne que si les repères d'entrée et de sortie de boucle sont définis. - + Vinyl Cueing Mode Mode de pré-écoute Vinyle - + Determines how cue points are treated in vinyl control Relative mode: Détermine la façon dont les points de repère sont traités dans le mode de contrôle vinyle Relatif : - + Off - Cue points ignored. Éteint - Points de repère ignorés - + One Cue - If needle is dropped after the cue point, track will seek to that cue point. Un Repère - Si la pointe est déposée après le point de repère, la piste sera calé sur ce point de repère. - + Track Time Temps de la piste - + Track Duration Durée de la piste - + Displays the duration of the loaded track. Affiche la durée de la piste chargée. - + Information is loaded from the track's metadata tags. L'information est chargée depuis les métadonnées des tags de la piste. - + Track Artist Artiste de la piste - + Displays the artist of the loaded track. Affiche l'artiste de la piste chargée. - + Track Title Titre de la piste - + Displays the title of the loaded track. Affiche le titre de la piste. - + Track Album Album de la piste - + Displays the album name of the loaded track. Affiche le nom de l'album de la piste chargée. - + Track Artist/Title Artiste/titre de la piste - + Displays the artist and title of the loaded track. Affiche l'artiste et le titre de la piste chargée. @@ -15595,47 +16014,75 @@ Cette opération est irréversible ! WCueMenuPopup - + Cue number Numéro de repère - + Cue position Position du repère - + Edit cue label Modifie l'étiquette du repère - + Label... Etiquette... - + Delete this cue Supprimer ce repère - - Toggle this cue type between normal cue and saved loop - Activer/désactiver ce type de repère entre le repère normal et la boucle enregistrée + + Turn this cue into a regular hotcue + + + + + Turn this cue into a saved loop + + + + + Left-click: Use the old size if known or the current beatloop size as the loop size + + + + + Right-click: Use the current play position as new loop end if it is after the cue + + + + + Turn this cue into a saved forward jump. + + is a linebreak. Try to not to extend the translation beyond the length of the longest source line so the tooltip remains compact. + + + + + Turn this cue into a saved backward jump (one shot loop). + - - Left-click: Use the old size or the current beatloop size as the loop size - Clic-gauche : utiliser l'ancienne taille ou la taille actuelle de boucle de battement comme taille de boucle + + Left-click: Use the old size if known or the current play position as jump start position +If this is already a jump cue, swap the jump position and the cue/target position. + - - Right-click: Use the current play position as loop end if it is after the cue - Clic-droit : utiliser la position de lecture actuelle comme sortie de boucle si elle se situe après le repère + + Right-click: use current play position as new jump start position + - + Hotcue #%1 Repère rapide #%1 @@ -15937,171 +16384,181 @@ Cette opération est irréversible ! + Show Auto DJ + + + + + Switch to the Auto DJ view. + + + + &Full Screen Plein &écran - + Display Mixxx using the full screen Afficher Mixxx en plein écran - + &Options &Options - + &Vinyl Control Contrôle &Vinyle - + Use timecoded vinyls on external turntables to control Mixxx Utiliser des disques vinyles avec timecode sur un tourne-disque externe pour contrôler Mixxx - + Enable Vinyl Control &%1 Activer le Contrôle Vinyle &%1 - + &Record Mix &Enregistrer le Mix - + Record your mix to a file Enregistrer votre mix dans un fichier - + Ctrl+R Ctrl+R - + Enable Live &Broadcasting Activer la Diffusion en Direct (&Broadcast) - + Stream your mixes to a shoutcast or icecast server Diffuser vos mixages via un serveur shoutcast ou icecast - + Ctrl+L Ctrl+L - + Enable &Keyboard Shortcuts Activer les Raccourcis Clavier (&K) - + Toggles keyboard shortcuts on or off Active/désactive les raccourcis claviers - + Ctrl+` Ctrl+` - + &Preferences &Préférences - + Change Mixxx settings (e.g. playback, MIDI, controls) Modifier les paramètres de Mixxx (par ex. lecture, MIDI, contrôleurs) - + &Developer &Développeur - + &Reload Skin &Recharger le thème - + Reload the skin Recharger le thème - + Ctrl+Shift+R Ctrl+Maj+R - + Developer &Tools Ou&Tils de développement - + Opens the developer tools dialog Ouvre le panneau d'outils de dévelopement - + Ctrl+Shift+T Ctrl+Maj+T - + Stats: &Experiment Bucket Statistiques : Paquet &Expérimental - + Enables experiment mode. Collects stats in the EXPERIMENT tracking bucket. Active le mode expérimental. Collecte des statistiques dans le paquet de suivi EXPERIMENTAL. - + Ctrl+Shift+E Ctrl+Maj+E - + Stats: &Base Bucket Statistiques : Paquet de &Base - + Enables base mode. Collects stats in the BASE tracking bucket. Active le mode basique. Collecte des statistiques dans le paquet de suivi BASIQUE. - + Ctrl+Shift+B Ctrl+Maj+B - + Deb&ugger Enabled Débogueur activé (&U) - + Enables the debugger during skin parsing Active le debogueur pendant l'analyse syntaxique des apparences - + Ctrl+Shift+D Ctrl+Maj+D - + &Help &Aide @@ -16135,62 +16592,62 @@ Cette opération est irréversible ! F12 - + &Community Support Support &communautaire - + Get help with Mixxx Obtenir de l'aide sur Mixxx - + &User Manual &Manuel utilisateur - + Read the Mixxx user manual. Lire le manuel utilisateur de Mixxx - + &Keyboard Shortcuts &Raccourcis clavier - + Speed up your workflow with keyboard shortcuts. Gagnez en rapidité avec les raccourcis clavier. - + &Settings directory Répertoire des paramètres - + Open the Mixxx user settings directory. Ouvrez le répertoire des paramètres utilisateur Mixxx. - + &Translate This Application &Traduire cette application - + Help translate this application into your language. Aidez à traduire cette application dans votre langage. - + &About À &propos - + About the application A propos de l'application @@ -16198,25 +16655,25 @@ Cette opération est irréversible ! WOverview - + Passthrough Contrôle intermédiaire - + Ready to play, analyzing... Text on waveform overview when file is playable but no waveform is visible Prêt à lire, analyse en cours ... - - + + Loading track... Text on waveform overview when file is cached from source Chargement piste ... - + Finalizing... Text on waveform overview during finalizing of waveform analysis Finalisation ... @@ -16406,625 +16863,640 @@ Cette opération est irréversible ! WTrackMenu - + Load to Charger vers - + Deck Platine - + Sampler Échantilloneur - + Add to Playlist Ajouter à la liste de lecture - + Crates Bacs - + Metadata Métadonnées - + Update external collections Mettre à jour les collections externes - + Cover Art Pochette d'album - + Adjust BPM BPM ajustement - + Select Color Couleur sélection - - + + Analyze Analyser - - + + Delete Track Files Supprimer les fichiers de piste - + Add to Auto DJ Queue (bottom) Ajouter à la file d'attente Auto DJ (fin) - + Add to Auto DJ Queue (top) Ajouter à la file d'attente Auto DJ (début) - + Add to Auto DJ Queue (replace) Ajouter à la file d'attente Auto-DJ (Remplacer) - + Preview Deck Platine de pré-écoute - + Remove Supprimer - + Remove from Playlist Enlever de la liste de lecture - + Remove from Crate Ôter du bac - + Hide from Library Masquer dans la bibliothèque - + Unhide from Library Démasquer dans la bibliothèque - + Purge from Library Purger de la bibliothèque - + Move Track File(s) to Trash Déplacer le(s) fichier(s) de piste vers la corbeille - + Delete Files from Disk Supprimer des fichiers du disque - + Properties Propriétés - + Open in File Browser Ouvrir le Navigateur de Fichiers - + Select in Library Sélectionner dans la bibliothèque - + Import From File Tags Importer à partir des tags du fichier - + Import From MusicBrainz Importer à partir de MusicBrainz - + Export To File Tags Exporter vers les tags du fichier - + BPM and Beatgrid BPM et grille rythmique - + Play Count Compteur de lecture - + Rating Notation - + Cue Point Point de repère - - + + Hotcues Repères rapides - + Intro Intro - + Outro Outro - + Key Tonalité - + ReplayGain ReplayGain - + Waveform Forme d'onde - + Comment Commentaire - + All Tous - + Sort hotcues by position (remove offsets) Trier les repères rapides par position (supprimer les décalages) - + Sort hotcues by position Trier les repères rapides par position - + Lock BPM Verrouiller le tempo - + Unlock BPM Déverrouiller le tempo - + Double BPM Doubler le tempo - + Halve BPM Diviser le tempo par deux - + 2/3 BPM 2/3 BPM - + 3/4 BPM 3/4 BPM - + 4/3 BPM 4/3 BPM - + 3/2 BPM 3/2 BPM - + Shift Beatgrid Half Beat Grille rythmique décalée d'un demi-battement - + Reanalyze Réanalyser - + Reanalyze (constant BPM) Réanalyser (BPM constant) - + Reanalyze (variable BPM) Réanalyser (BPM variable) - + Update ReplayGain from Deck Gain Mettre à jour ReplayGain à partir du gain de la platine - + Deck %1 Platine %1 - + Importing metadata of %n track(s) from file tags Importe les métadonnées de %n piste(s) à partir des tags de fichierImporte les métadonnées de %n piste(s) à partir des tags de fichierImporte les métadonnées de %n piste(s) à partir des tags de fichier - + Marking metadata of %n track(s) to be exported into file tags Marquage des métadonnées de %n piste(s) à exporter dans les tags de fichierMarquage des métadonnées de %n piste(s) à exporter dans les tags de fichierMarquage des métadonnées de %n piste(s) à exporter dans les tags de fichier - - + + Create New Playlist Créer une nouvelle liste de lecture - + Enter name for new playlist: Entrer le nom de la nouvelle liste de lecture : - + New Playlist Nouvelle liste de lecture - - - + + + Playlist Creation Failed La création de la liste de lecture a échoué - + A playlist by that name already exists. Il existe déjà une liste de lecture avec ce nom - + A playlist cannot have a blank name. Une liste de lecture ne peut pas être sans nom. - + An unknown error occurred while creating playlist: Une erreur inconnue s'est produite à la création de la liste de lecture : - + Add to New Crate Ajouter dans un nouveau Bac - + Scaling BPM of %n track(s) Mise à l'échelle du BPM de %n piste(s)Mise à l'échelle du BPM de %n piste(s)Mise à l'échelle du BPM de %n piste(s) - + Undo BPM/beats change of %n track(s) Annuler la modification du BPM / battements de %n piste(s)Annuler la modification du BPM / battements de %n piste(s)Annuler la modification du BPM / battements de %n piste(s) - + Locking BPM of %n track(s) Verrouillage du BPM de %n piste(s) Verrouillage du BPM de %n piste(s) Verrouillage du BPM de %n piste(s) - + Unlocking BPM of %n track(s) Déverrouillage du BPM de% n piste(s)Déverrouillage du BPM de% n piste(s)Déverrouillage du BPM de %n piste(s) - + Setting rating of %n track(s) Définir la note %n piste(s)Définir la note %n piste(s)Définir la note %n piste(s) - + Setting color of %n track(s) Définition de la couleur de %n piste(s)Définition de la couleur de %n piste(s)Définition de la couleur de %n piste(s) - + Resetting play count of %n track(s) Réinitialisation nombre de lectures de %n piste(s)Réinitialisation nombre de lectures de %n piste(s)Réinitialisation nombre de lectures de %n piste(s) - + Resetting beats of %n track(s) Réinitialisation battements de %n piste(s) Réinitialisation battements de %n piste(s) Réinitialisation battements de %n piste(s) - + Clearing rating of %n track(s) Effacement taux de %n piste(s)Effacement taux de %n piste(s)Effacement taux de %n piste(s) - + Clearing comment of %n track(s) Effacement commentaire de %n piste(s)Effacement commentaire de %n piste(s)Effacement commentaire de %n piste(s) - + Removing main cue from %n track(s) Suppression repère principal de %n piste(s)Suppression repère principal de %n piste(s)Suppression repère principal de %n piste(s) - + Removing outro cue from %n track(s) Suppression repère outro de %n piste(s)Suppression repère outro de %n piste(s)Suppression repère outro de %n piste(s) - + Removing intro cue from %n track(s) Suppression repère intro de %n piste(s)Suppression repère intro de %n piste(s)Suppression repère intro de %n piste(s) - + Removing loop cues from %n track(s) Suppression repère boucle de %n piste(s)Suppression repère boucle de %n piste(s)Suppression repère boucle de %n piste(s) - + Removing hot cues from %n track(s) Suppression repères rapide de %n piste(s)Suppression repères rapide de %n piste(s)Suppression repères rapide de %n piste(s) - + Sorting hotcues of %n track(s) by position (remove offsets) Tri des repères rapides par position de %n piste(s) (supprimer les décalages)Tri des repères rapides par position de %n piste(s) (supprimer les décalages)Tri des repères rapides par position de %n piste(s) (supprimer les décalages) - + Sorting hotcues of %n track(s) by position Tri des repères rapides par position de %n piste(s)Tri des repères rapides par position de %n piste(s)Tri des repères rapides par position de %n piste(s) - + Resetting keys of %n track(s) Réinitialisation tonalités de %n piste(s)Réinitialisation tonalités de %n piste(s)Réinitialisation tonalités de %n piste(s) - + Resetting replay gain of %n track(s) Réinitialisation ReplayGain de %n piste(s)Réinitialisation ReplayGain de %n piste(s)Réinitialisation ReplayGain de %n piste(s) - + Resetting waveform of %n track(s) Réinitialisation forme d'onde de %n piste(s)Réinitialisation forme d'onde de %n piste(s)Réinitialisation forme d'onde de %n piste(s) - + Resetting all performance metadata of %n track(s) Réinitialisation de toutes les métadonnées de performance de %n piste(s)Réinitialisation de toutes les métadonnées de performance de %n piste(s)Réinitialisation de toutes les métadonnées de performance de %n piste(s) - + Move these files to the trash bin? Déplacer ces fichiers de piste vers la corbeille ? - + Permanently delete these files from disk? Supprimer définitivement ces fichiers du disque ? - - + + This can not be undone! Ça ne peut pas être annulé ! - + Cancel Annuler - + Delete Files Supprimer les fichiers - + Okay D'accord - + Move Track File(s) to Trash? Déplacer le(s) fichier(s) de piste vers la corbeille ? - + Track Files Deleted Fichiers de piste supprimés - + Track Files Moved To Trash Fichiers des pistes déplacés vers la corbeille - + %1 track files were moved to trash and purged from the Mixxx database. %1 fichiers de piste ont été déplacés vers la corbeille et purgés de la base de données Mixxx. - + %1 track files were deleted from disk and purged from the Mixxx database. %1 fichiers de piste ont été supprimés du disque et purgés de la base de données Mixxx. - + Track File Deleted Fichier de la piste supprimée - + Track file was deleted from disk and purged from the Mixxx database. Fichier de piste supprimé du disque et purgé de la base de données Mixxx. - + The following %1 file(s) could not be deleted from disk Le(s) fichier(s) %1 suivants n'ont pas pu être supprimés du disque - + This track file could not be deleted from disk Ce fichier de piste n'a pas pu être supprimé du disque - + Remaining Track File(s) Fichier(s) de piste restant(s) - + Close Fermer - + Clear Reset metadata in right click track context menu in library Effacer - + Loops Boucles - + Clear BPM and Beatgrid Effacer le tempo et la grille rythmique - + Undo last BPM/beats change Annuler le dernier changement de BPM / battements - + Move this track file to the trash bin? Déplacer ce fichier de piste vers la corbeille ? - + Permanently delete this track file from disk? Supprimer définitivement ce fichier du disque ? - + All decks where these tracks are loaded will be stopped and the tracks will be ejected. Toutes les platines sur lesquelles ces pistes sont chargées seront arrêtées et les pistes seront éjectés. - + All decks where this track is loaded will be stopped and the track will be ejected. Toutes les platines sur lesquelles cette piste sont chargées seront arrêtées et la piste sera éjectée. - + Removing %n track file(s) from disk... Suppression de %n fichier(s) de piste du disque... - + Note: if you are in the Computer or Recording view you need to click the current view again to see changes. Remarque : si vous êtes dans la vue Ordinateur ou Enregistrement, vous devez cliquer à nouveau sur la vue actuelle pour voir les modifications. - + Track File Moved To Trash Fichier de piste déplacé vers la corbeille - + Track file was moved to trash and purged from the Mixxx database. Fichier de piste déplacé vers la corbeille et purgé de la base de données Mixxx. - + Don't show again during this session Ne plus afficher pendant cette session - + The following %1 file(s) could not be moved to trash Le(s) fichier(s) %1 suivants n'ont pas pu être déplacés vers la corbeille - + This track file could not be moved to trash Ce fichier de piste n'a pas pu être déplacé vers la corbeille + + + Replace current Auto DJ queue? + + + + + Do you want to replace the entire Auto DJ queue with the selected tracks? + + + + + Don't ask again during this session + + - + Setting cover art of %n track(s) Définition pochette d'album de %n piste(s)Définition pochette d'album de %n piste(s)Définition pochette d'album de %n piste(s) - + Reloading cover art of %n track(s) Rechargement pochette d'album de %n piste(s)Rechargement pochette d'album de %n piste(s)Rechargement pochette d'album de %n piste(s) @@ -17078,37 +17550,37 @@ Cette opération est irréversible ! WTrackTableView - + Confirm track hide Confirmer le masquage de la piste - + Are you sure you want to hide the selected tracks? Êtes-vous certain de vouloir masquer les pistes sélectionnées ? - + Are you sure you want to remove the selected tracks from AutoDJ queue? Êtes-vous sûr de vouloir supprimer les pistes sélectionnées de la file d'attente AutoDJ ? - + Are you sure you want to remove the selected tracks from this crate? Êtes-vous sûr de vouloir supprimer les pistes sélectionnées de ce bac ? - + Are you sure you want to remove the selected tracks from this playlist? Êtes-vous sûr de vouloir supprimer les pistes sélectionnées de cette liste de lecture ? - + Don't ask again during this session Ne demandez plus pendant cette session - + Confirm track removal Confirmer la suppression de la piste @@ -17116,12 +17588,12 @@ Cette opération est irréversible ! WTrackTableViewHeader - + Show or hide columns. Afficher ou masquer les colonnes. - + Shuffle Tracks Mélanger les pistes @@ -17129,52 +17601,52 @@ Cette opération est irréversible ! mixxx::CoreServices - + fonts polices - + database base de données - + effects effets - + audio interface interface audio - + decks platines - + library bibliothèque - + Choose music library directory Choisissez le répertoire de la bibliothèque musicale - + controllers contrôleurs - + Cannot open database Ne peux ouvrir la base de données - + Unable to establish a database connection. Mixxx requires QT with SQLite support. Please read the Qt SQL driver documentation for information on how to build it. @@ -17331,6 +17803,24 @@ Cliquez sur OK pour sortir. La demande de réseau n'a pas été lancée + + mixxx::qml::QmlApplication + + + Existing user profile detected + + + + + Trying to run Mixxx 3.0 with an existing %0 user profile! <br><br>There is <b>serious risks</b> of data loss and corruption.<br>We recommend using a test profile folder with the '--settings-path' argument. <br><br>If you want to continue at your own risk, run Mixxx with the argument '--allow-dangerous-data-corruption-risk'. + + + + + Ok + + + mixxx::qml::QmlVisibleEffectsModel @@ -17339,4 +17829,27 @@ Cliquez sur OK pour sortir. Aucun effet chargé. + + mixxx::qml::QmlWaveformRendererMark + + + Cannot find the marker pixmap + + + + + Cannot find the marker endPixmap + + + + + Cannot find the marker icon + + + + + Cannot find the marker endIcon + + + \ No newline at end of file diff --git a/res/translations/mixxx_gl.qm b/res/translations/mixxx_gl.qm index 140e8c292439d8adbdcf245855505fc5b77a1b41..b6013715ea326f29e0d53699cc7357c596f6ec14 100644 GIT binary patch delta 12571 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 delta 12594 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 B-V*=- diff --git a/res/translations/mixxx_gl.ts b/res/translations/mixxx_gl.ts index c7969a61a090..f80493f6f817 100644 --- a/res/translations/mixxx_gl.ts +++ b/res/translations/mixxx_gl.ts @@ -8,6 +8,14 @@ + + AllTrackLibraryFeature + + + All... + + + AnalysisFeature @@ -19,52 +27,52 @@ AutoDJFeature - + Crates Caixóns - + Enable Auto DJ - + Activar o DJ automático - + Disable Auto DJ - + Desactivar o DJ automático - + Clear Auto DJ Queue - + Engadir á cola de DJ automático - + Remove Crate as Track Source Retirar caixa como orixe da pista - + Auto DJ DJ automático - + Confirmation Clear - + Do you really want to remove all tracks from the Auto DJ queue? - + This can not be undone. - + Add Crate as Track Source Engadir caixa como orixe da pista @@ -223,7 +231,7 @@ - + Export Playlist Exportar a lista de reprodución @@ -277,13 +285,13 @@ - + Playlist Creation Failed Non foi posíbel crear a lista de reprodución - + An unknown error occurred while creating playlist: Produciuse un erro descoñecido mentres se creaba a lista de reprodución: @@ -298,12 +306,12 @@ - + M3U Playlist (*.m3u) Lista de reprodución M3U (*.m3u) - + M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Text CSV (*.csv);;Readable Text (*.txt) Lista de reprodución M3U (*.m3u);;Lista de reprodución M3U8 (*.m3u8);;Lista de reprodución PLS (*.pls);;Texto CSV (*.csv);;Texto lexíbel (*.txt) @@ -311,12 +319,12 @@ BaseSqlTableModel - + # Num. - + Timestamp Marca de tempo @@ -324,7 +332,7 @@ BaseTrackPlayerImpl - + Couldn't load track. Non foi posíbel cargar a pista. @@ -362,7 +370,7 @@ Canles - + Color Cor @@ -377,7 +385,7 @@ Compositor - + Cover Art Deseño da portada @@ -387,7 +395,7 @@ Data de engadido - + Last Played Último reproducido @@ -417,7 +425,7 @@ Clave - + Location Localización @@ -427,7 +435,7 @@ - + Preview Escoita previa @@ -467,7 +475,7 @@ Ano - + Fetching image ... Tooltip text on the cover art column shown when the cover is read from disk @@ -489,22 +497,22 @@ BroadcastProfile - + Can't use secure password storage: keychain access failed. - + Secure password retrieval unsuccessful: keychain access failed. - + Settings error - + <b>Error with settings for '%1':</b><br> @@ -592,7 +600,7 @@ - + Computer Computador @@ -612,17 +620,17 @@ Examinar - + "Computer" lets you navigate, view, and load tracks from folders on your hard disk and external devices. «Computador» permítelle navegar, ver, e cargar pistas desde cartafoles no disco ríxido e nos dispositivos externos. - + It shows the data from the file tags, not track data from your Mixxx library like other track views. - + If you load a track file from here, it will be added to your library. @@ -735,12 +743,12 @@ Ficheiro creado - + Mixxx Library Fonoteca do Mixxx - + Could not load the following file because it is in use by Mixxx or another application. Non foi posíbel cargar o seguinte ficheiro xa que está a ser empregado por Mixxx ou por outro aplicativo. @@ -771,87 +779,92 @@ CmdlineArgs - + Mixxx is an open source DJ software. For more information, see: - + Starts Mixxx in full-screen mode - + Use a custom locale for loading translations. (e.g 'fr') - + Top-level directory where Mixxx should look for its resource files such as MIDI mappings, overriding the default installation location. - + Path the debug statistics time line is written to - + Causes Mixxx to display/log all of the controller data it receives and script functions it loads - + The controller mapping will issue more aggressive warnings and errors when detecting misuse of controller APIs. New Controller Mappings should be developed with this option enabled! - + Enables developer-mode. Includes extra log info, stats on performance, and a Developer tools menu. - + Top-level directory where Mixxx should look for settings. Default is: - + Starts Auto DJ when Mixxx is launched. - + Rescans the library when Mixxx is launched. - + Use legacy vu meter - + Use legacy spinny - - Loads experimental QML GUI instead of legacy QWidget skin + + Loads the highly unstable 3.0 Mixxx interface, based on QML. You need to use a new setting profile, or run with 'allow-dangerous-data-corruption-risk' to use with the current one. We highly recommend backing up your data if you do so. + + + + + Force Mixxx to load an unstable version with an existing user profile from a stable version - + Enables safe-mode. Disables OpenGL waveforms, and spinning vinyl widgets. Try this option if Mixxx is crashing on startup. - + [auto|always|never] Use colors on the console output. - + Sets the verbosity of command line logging. critical - Critical/Fatal only warning - Above + Warnings @@ -861,32 +874,32 @@ trace - Above + Profiling messages - + Sets the the logging level at which the log buffer is flushed to mixxx.log. <level> is one of the values defined at --log-level above. - + Sets the maximum file size of the mixxx.log file in bytes. Use -1 for unlimited. The default is 100 MB as 1e5 or 100000000. - + Breaks (SIGINT) Mixxx, if a DEBUG_ASSERT evaluates to false. Under a debugger you can continue afterwards. - + Overrides the default application GUI style. Possible values: %1 - + Load the specified music file(s) at start-up. Each file you specify will be loaded into the next virtual deck. - + Preview rendered controller screens in the Setting windows. @@ -979,2566 +992,2747 @@ trace - Above + Profiling messages ControlPickerMenu - + Headphone Output Saída de auriculares - - - + + + + Deck %1 + %1 is the deck number 1 ... 4 Prato %1 - + Sampler %1 Mostreador %1 - + Preview Deck %1 Escoita previa do prato %1 - + Microphone %1 Micrófono %1 - + Auxiliary %1 Auxiliar %1 - + Reset to default Restabelecer ao predeterminado - + Effect Rack %1 Caixa de efectos %1 - + Parameter %1 Parámetro %1 - + Mixer Mesturador - - + + Crossfader Cursor de mestura - + Headphone mix (pre/main) Mestura dos auriculares (pre/principal) - + Toggle headphone split cueing Conmutador da escoita previa por auriculares da referencia dividida - + Headphone delay Retardo da saída dos auriculares - + Transport Transporte - + Strip-search through track Buscar nas pistas - + Play button Botón de reprodución - - + + Set to full volume Estabelecer o volume no máximo - - + + Set to zero volume Estabelecer o volume a cero - + Stop button Botón de parada - + Jump to start of track and play Saltar ao comezo da pista e reproducir - + Jump to end of track Saltar á fin da pista - + Reverse roll (Censor) button Botón de desprazamento inverso (Censor) - + Headphone listen button Botón de escoita por auriculares - - + + Mute button Botón de silencio - + Toggle repeat mode Conmutador do modo de repetición - - + + Mix orientation (e.g. left, right, center) Orientación da mestura (p-ex. esquerda, dereita, centro) - - + + Set mix orientation to left Estabelecer a orientación da mestura cara a esquerda - - + + Set mix orientation to center Estabelecer a orientación da mestura no centro - - + + Set mix orientation to right Estabelecer a orientación da mestura cara a dereita - + Toggle slip mode Conmutador do modo de esvaramento - - + + BPM BPM - + Increase BPM by 1 Incrementar BPM en 1 - + Decrease BPM by 1 Diminuír BPM en 1 - + Increase BPM by 0.1 Incrementar BPM en 0,1 - + Decrease BPM by 0.1 Diminuír BPM en 0,1 - + BPM tap button Botón de toque de BPM - + Toggle quantize mode Conmutador do modo de cuantización - + One-time beat sync (tempo only) Sincronizar só unha vez o golpe (só o tempo) - + One-time beat sync (phase only) Sincronizar só unha vez o golpe (só a fase) - + Toggle keylock mode Conmutador do modo de bloqueo tonal - + Equalizers Ecualizadores - + Vinyl Control Control do vinilo - + Toggle vinyl-control cueing mode (OFF/ONE/HOT) Conmutador do modo de punto de referencia do control de vinilo (APAGADO/UNHA/ACTIVO) - + Toggle vinyl-control mode (ABS/REL/CONST) Conmutador do Control do vinilo (ABS/REL/CONST) - + Pass through external audio into the internal mixer Enviar o son externo ao mesturador interno - + Cues Referencias - + Cue button Botón de punto de referencia - + Set cue point Estabelecer o punto de referencia - + Go to cue point Ir o punto de referencia - + Go to cue point and play Ir o punto de referencia e reproducir - + Go to cue point and stop Ir o punto de referencia e deter - + Preview from cue point Escoita previa do punto de referencia - + Cue button (CDJ mode) Botón de punto de referencia (modo CDJ) - + Stutter cue Referencia repetida (tatexo) - + Hotcues Referencias activas - + Set, preview from or jump to hotcue %1 Estabelecer, preescoitar ou ir á referencia activa %1 - + Clear hotcue %1 Limpar a referencia activa %1 - + Set hotcue %1 Estabelecer a referencia activa %1 - + Jump to hotcue %1 Saltar á referencia activa %1 - + Jump to hotcue %1 and stop Saltar á referencia activa %1 e deter - + Jump to hotcue %1 and play Saltar á referencia activa %1 e reproducir - + Preview from hotcue %1 Escoita previa desde a referencia activa %1 - - + + Hotcue %1 Referencia activa %1 - + Looping Repetición en bucle - + Loop In button Botón para o comezo do bucle - + Loop Out button Botón para a fin do bucle - + Loop Exit button Botón de saída do bucle - + 1/2 1/2 - + 1 1 - + 2 2 - + 4 4 - + 8 8 - + 16 16 - + 32 32 - + 64 64 - + Move loop forward by %1 beats Mover o bucle cara diante en %1 golpes - + Move loop backward by %1 beats Mover o bucle cara atrás en %1 golpes - + Create %1-beat loop Crear un bucle de %1 golpes - + Create temporary %1-beat loop roll Crear un bucle temporal constante de %1 golpes - + Library Fonoteca - + Slot %1 Rañura %1 - + Headphone Mix Mestura dos auriculares - + Headphone Split Cue Escoita previa por auriculares da referencia dividida - + Headphone Delay Retardo da saída dos auriculares - + Play Reproducir - + Fast Rewind Retroceso rápido - + Fast Rewind button Botón de retroceso rápido - + Fast Forward Avance rápido - + Fast Forward button Botón de avance rápido - + Strip Search Busca de faixas - + Play Reverse Reprodución inversa - + Play Reverse button Botón de reprodución inversa - + Reverse Roll (Censor) Botón de desprazamento inverso (Censor) - + Jump To Start Saltar ao comezo - + Jumps to start of track Saltar ao comezo da pista - + Play From Start Reproducir dende o comezo - + Stop Deter - + Stop And Jump To Start Deter e saltar ao comezo - + Stop playback and jump to start of track Deter a reprodución e saltar ao comezo da pista - + Jump To End Saltar cara a fin - + Volume Volume - - - + + + Volume Fader Control de volume - - + + Full Volume Volume máximo - - + + Zero Volume Volume cero - + Track Gain Ganancia da pista - + Track Gain knob Mando da ganancia da pista - - + + Mute Silenciar - + Eject Expulsar - - + + Headphone Listen Escoita por auriculares - + Headphone listen (pfl) button Botón de escoita previa por auriculares - + Repeat Mode Modo repetición - + Slip Mode Modo de esvaramento - - + + Orientation Orientación - - + + Orient Left Orientar cara a esquerda - - + + Orient Center Orientar ao centro - - + + Orient Right Orientar cara a dereita - + BPM +1 BPM +1 - + BPM -1 BPM +1 - + BPM +0.1 BPM +0,1 - + BPM -0.1 BPM -0,1 - + BPM Tap Toque de BPM - + Adjust Beatgrid Faster +.01 Axustar a grella do ritmo máis rápido +0,1 - + Increase track's average BPM by 0.01 Incrementar BPM medio da pista en 0.01 - + Adjust Beatgrid Slower -.01 Axustar a grella do ritmo máis lento -0,1 - + Decrease track's average BPM by 0.01 Diminuír BPM medio da pista en 0.01 - + Move Beatgrid Earlier Mover a grella do ritmo antes no tempo - + Adjust the beatgrid to the left Axustar a grella do ritmo cara a esquerda - + Move Beatgrid Later Mover a grella do ritmo após no tempo - + Adjust the beatgrid to the right Axustar a grella do ritmo cara a dereita - + Adjust Beatgrid Axustar a grella do ritmo - + Align beatgrid to current position Aliñar a grella do ritmo á posición actual - + Adjust Beatgrid - Match Alignment Axustar a grella do ritmo, deixala aliñada - + Adjust beatgrid to match another playing deck. Axustar a grella do ritmo para que coincida co outro prato en reprodución - + Quantize Mode Modo de cuantización - + Sync Sincronizar - + Beat Sync One-Shot Sincroniza o ritmo ao premer - + Sync Tempo One-Shot Sincroniza o tempo ao premer - + Sync Phase One-Shot Sincroniza a fase ao premer - + Pitch control (does not affect tempo), center is original pitch Control de ton (non afecta ao tempo), no centro está o ton orixinal - + Pitch Adjust Axuste de ton - + Adjust pitch from speed slider pitch Axuste o ton dende o esvarador de ton - + Match musical key Coincidir coa clave musical - + Match Key Coincidir coa clave - + Reset Key Restabelecer a clave - + Resets key to original Restabelecer a clave á orixinal - + High EQ EQ agudos - + Mid EQ EQ medios - - + + Main Output - + Main Output Balance - + Main Output Delay - + Main Output Gain - + Low EQ EQ graves - + Toggle Vinyl Control Conmutador do Control do vinilo - + Toggle Vinyl Control (ON/OFF) Conmutador do Control do vinilo (acendido/apagado) - + Vinyl Control Mode Modo do Control do vinilo - + Vinyl Control Cueing Mode Modo de Control dos puntos de referencia con vinilo - + Vinyl Control Passthrough Paso do son de entrada do Control do vinilo - + Vinyl Control Next Deck Control do vinilo ao seguinte prato - + Single deck mode - Switch vinyl control to next deck Modo de prato único - Pasar o control do vinilo para o seguinte prato - + Cue Referencia - + Set Cue Estabelecer a referencia - + Go-To Cue Ir á referencia - + Go-To Cue And Play Ir á e reproducir - + Go-To Cue And Stop Ir á referencia e deter - + Preview Cue Escoita previa do punto de referencia - + Cue (CDJ Mode) Punto de referencia (modo CDJ) - + Stutter Cue Referencia repetida (tatexo) - + Go to cue point and play after release Ir á referencia e reproducir após soltar - + Clear Hotcue %1 Limpar a referencia activa %1 - + Set Hotcue %1 Estabelecer a referencia activa %1 - + Jump To Hotcue %1 Saltar á referencia activa %1 - + Jump To Hotcue %1 And Stop Saltar á referencia activa %1 e deter - + Jump To Hotcue %1 And Play Saltar á referencia activa %1 e reproducir - + Preview Hotcue %1 Escoita previa da referencia activa %1 - + Loop In Inicio do bucle - + Loop Out Fin do bucle - + Loop Exit Saír do bucle - + Reloop/Exit Loop Repetir/saír do bucle - + Loop Halve Divide o bucle á metade - + Loop Double Duplica a lonxitude do bucle - + 1/32 1/32 - + 1/16 1/16 - + 1/8 1/8 - + 1/4 1/4 - + Move Loop +%1 Beats Mover o bucle +%1 golpes - + Move Loop -%1 Beats Mover o bucle -%1 golpes - + Loop %1 Beats Bucle de %1 golpes - + Loop Roll %1 Beats Bucle corredizo de %1 golpes - + Add to Auto DJ Queue (bottom) Engadir á cola de DJ automático (abaixo) - + Append the selected track to the Auto DJ Queue Engade as pistas seleccionadas na fin da cola de Auto DJ - + Add to Auto DJ Queue (top) Engadir á cola de DJ automático (arriba) - + Prepend selected track to the Auto DJ Queue Engade as pistas seleccionadas no principio da cola de Auto DJ - + Load Track Cargara pista - + Load selected track Cargar a pista seleccionada - + Load selected track and play Cargar a pista seleccionada e reproducila - - + + Record Mix Gravar a mestura - + Toggle mix recording Conmutador da gravación da mestura - + Effects Efectos - - Quick Effects - Efectos rápidos - - - + Deck %1 Quick Effect Super Knob Súper mando de efecto rápido do prato %1 - + + Quick Effect Super Knob (control linked effect parameters) Súper mando de efecto rápido (parámetros de efecto asociado ao control) - - + + + + Quick Effect Efecto rápido - + Clear Unit Limpar a unidade - + Clear effect unit Limpar a unidade de efectos - + Toggle Unit Conmutador da unidade - + Dry/Wet Directo/Procesado - + Adjust the balance between the original (dry) and processed (wet) signal. Axusta o equilibrio entre o sinal orixinal (dry) e o procesado (wet). - + Super Knob Súper mando - + Next Chain Seguinte cadea - + Assign Asignar - + Clear Limpar - + Clear the current effect Limpar o efecto actual - + Toggle Conmutar - + Toggle the current effect Conmutador do efecto actual - + Next Seguinte - + Switch to next effect Pasa ao efecto seguinte - + Previous Anterior - + Switch to the previous effect Pasa ao efecto anterior - + Next or Previous Seguinte ou anterior - + Switch to either next or previous effect Pasa ao anterior ou seguinte efecto - - + + Parameter Value Valor do parámetro - - + + Microphone Ducking Strength Intensidade da atenuación do micrófono - + Microphone Ducking Mode Modo de atenuación do micrófono - + Gain Ganancia - + Gain knob Mando da ganancia - + Shuffle the content of the Auto DJ queue - + Skip the next track in the Auto DJ queue - + Auto DJ Toggle Conmutador do DJ automático - + Toggle Auto DJ On/Off Conmutador do DJ automático acender/apagar - + Show/hide the microphone & auxiliary section - + 4 Effect Units Show/Hide - + Switches between showing 2 and 4 effect units - + Mixer Show/Hide - + Show or hide the mixer. - + Cover Art Show/Hide (Library) - + Show/hide cover art in the library - + Library Maximize/Restore Maximiza/Restaura a vista da fonoteca - + Maximize the track library to take up all the available screen space. Maximiza ou restaura a vista da fonoteca per abarcar toda a pantalla - + Effect Rack Show/Hide Amosar/agachar a caixa de efectos - + Show/hide the effect rack Amosar/agachar a caixa de efectos - + Waveform Zoom Out Afastar o zoom da forma da onda - + Headphone Gain Ganancia dos auriculares - + Headphone gain Ganancia dos auriculares - + Tap to sync tempo (and phase with quantize enabled), hold to enable permanent sync - + One-time beat sync tempo (and phase with quantize enabled) - + Playback Speed Velocidade de reprodución - + Playback speed control (Vinyl "Pitch" slider) Control de velocidade de reprodución (O ton do vinilo) - + Pitch (Musical key) Ton (clave musical) - + Increase Speed Incrementar a velocidade - + Adjust speed faster (coarse) Axuste da velocidade rápida (basto) - + Increase Speed (Fine) Incrementar a velocidade (fino) - + Adjust speed faster (fine) Axuste da velocidade rápida (fino) - + Decrease Speed Diminuir a velocidade - + Adjust speed slower (coarse) Axuste da velocidade lenta (basto) - + Adjust speed slower (fine) Axuste da velocidade lenta (fino) - + Temporarily Increase Speed Incremento temporal da velocidade - + Temporarily increase speed (coarse) Incremento temporal da velocidade (basto) - + Temporarily Increase Speed (Fine) Incremento temporal da velocidade (fino) - + Temporarily increase speed (fine) Incremento temporal da velocidade (fino) - + Temporarily Decrease Speed Diminución temporal da velocidade - + Temporarily decrease speed (coarse) Diminución temporal da velocidade (basto) - + Temporarily Decrease Speed (Fine) Diminución temporal da velocidade (fino) - + Temporarily decrease speed (fine) Diminución temporal da velocidade (fino) - - + + Adjust %1 Axuste %1 - + + Deck %1 Stem %2 + + + + Effect Unit %1 - + Button Parameter %1 - + Skin Tema - + Controller - + Crossfader / Orientation - + Main Output gain - + Main Output balance - + Main Output delay - + Headphone Auricular - - + + Kill %1 + %1 is "Low EQ" "Mid EQ" or "High EQ" Eliminar %1 - + Eject or un-eject track, i.e. reload the last-ejected track (of any deck)<br>Double-press to reload the last replaced track. In empty decks it reloads the second-last ejected track. - + BPM / Beatgrid - + Halve BPM - + Multiply current BPM by 0.5 - + 2/3 BPM - + Multiply current BPM by 0.666 - + 3/4 BPM - + Multiply current BPM by 0.75 - + 4/3 BPM - + Multiply current BPM by 1.333 - + 3/2 BPM - + Multiply current BPM by 1.5 - + Double BPM - + Multiply current BPM by 2 - + Tempo Tap - + Tempo tap button - + Move Beatgrid - + Adjust the beatgrid to the left or right - + Move Beatgrid Half a Beat - + Adjust the beatgrid by exactly one half beat. Usable only for tracks with constant tempo. - - + + Toggle the BPM/beatgrid lock - + Revert last BPM/Beatgrid Change - + Revert last BPM/Beatgrid Change of the loaded track. - + Sync / Sync Lock - + Internal Sync Leader - + Toggle Internal Sync Leader - - + + Internal Leader BPM - + Internal Leader BPM +1 - + Increase internal Leader BPM by 1 - + Internal Leader BPM -1 - + Decrease internal Leader BPM by 1 - + Internal Leader BPM +0.1 - + Increase internal Leader BPM by 0.1 - + Internal Leader BPM -0.1 - + Decrease internal Leader BPM by 0.1 - + Sync Leader - + Sync mode 3-state toggle / indicator (Off, Soft Leader, Explicit Leader) - + Speed - + Decrease Speed (Fine) - + Pitch (Musical Key) - + Increase Pitch - + Increases the pitch by one semitone - + Increase Pitch (Fine) - + Increases the pitch by 10 cents - + Decrease Pitch - + Decreases the pitch by one semitone - + Decrease Pitch (Fine) - + Decreases the pitch by 10 cents - + Keylock Bloqueo tonal - + CUP (Cue + Play) CUP (Punto de referencia + Reproducir) - + Shift cue points earlier - + Shift cue points 10 milliseconds earlier - + Shift cue points earlier (fine) - + Shift cue points 1 millisecond earlier - + Shift cue points later - + Shift cue points 10 milliseconds later - + Shift cue points later (fine) - + Shift cue points 1 millisecond later - - + + Sort hotcues by position - - + + Sort hotcues by position (remove offsets) - + Hotcues %1-%2 - + Intro / Outro Markers - + Intro Start Marker - + Intro End Marker - + Outro Start Marker - + Outro End Marker - + intro start marker - + intro end marker - + outro start marker - + outro end marker - + Activate %1 [intro/outro marker - + Jump to or set the %1 [intro/outro marker - + Set %1 [intro/outro marker - + Set or jump to the %1 [intro/outro marker - + Clear %1 [intro/outro marker - + Clear the %1 [intro/outro marker - + if the track has no beats the unit is seconds - + Loop Selected Beats - + Create a beat loop of selected beat size - + Loop Roll Selected Beats - + Create a rolling beat loop of selected beat size - + Loop %1 Beats set from its end point - + Loop Roll %1 Beats set from its end point - + Create %1-beat loop with the current play position as loop end - + Create temporary %1-beat loop roll with the current play position as loop end - + Loop Beats - + Loop Roll Beats - + Go To Loop In - + Go to Loop In button - + Go To Loop Out - + Go to Loop Out button - + Toggle loop on/off and jump to Loop In point if loop is behind play position - + Reloop And Stop - + Enable loop, jump to Loop In point, and stop - + Halve the loop length - + Double the loop length - + Beat Jump / Loop Move - + Jump / Move Loop Forward %1 Beats - + Jump / Move Loop Backward %1 Beats - + Jump forward by %1 beats, or if a loop is enabled, move the loop forward %1 beats - + Jump backward by %1 beats, or if a loop is enabled, move the loop backward %1 beats - + Beat Jump / Loop Move Forward Selected Beats - + Jump forward by the selected number of beats, or if a loop is enabled, move the loop forward by the selected number of beats - + Beat Jump / Loop Move Backward Selected Beats - + Jump backward by the selected number of beats, or if a loop is enabled, move the loop backward by the selected number of beats - + Beat Jump - + Indicate which loop marker remain static when adjusting the size or is inherited from the current position - + Beat Jump / Loop Move Forward - + Beat Jump / Loop Move Backward - + Loop Move Forward - + Loop Move Backward - + Remove Temporary Loop - + Remove the temporary loop - + Navigation - + Move up Mover cara arriba - + Equivalent to pressing the UP key on the keyboard Equivalente a premer la tecla frecha ARRIBA no teclado - + Move down Mover cara abaixo - + Equivalent to pressing the DOWN key on the keyboard Equivalente a premer la tecla frecha ABAIXO no teclado - + Move up/down Mover cara arriba/abaixo - + Move vertically in either direction using a knob, as if pressing UP/DOWN keys Mover verticalmente en calquera dirección usando un mando, como se se premeran as teclas frecha ARRIBA/ABAIXO - + Scroll Up Páxina arriba - + Equivalent to pressing the PAGE UP key on the keyboard Equivalente a premer a tecla de páxina arriba (RePáx) no teclado - + Scroll Down Páxina abaixo - + Equivalent to pressing the PAGE DOWN key on the keyboard Equivalente a premer a tecla de páxina abaixo (AvPáx) no teclado - + Scroll up/down Páxina arriba/abaixo - + Scroll vertically in either direction using a knob, as if pressing PGUP/PGDOWN keys Mover verticalmente en calquera dirección usando un mando, como se se premeran as teclas de avance/retroceso de páxina (RePáx/AvPáx) - + Move left Mover cara a esquerda - + Equivalent to pressing the LEFT key on the keyboard Equivalente a premer la tecla frecha ESQUERDA no teclado - + Move right Mover cara a dereita - + Equivalent to pressing the RIGHT key on the keyboard Equivalente a premer la tecla frecha DEREITA no teclado - + Move left/right Mover cara a esquerda/dereita - + Move horizontally in either direction using a knob, as if pressing LEFT/RIGHT keys Mover verticalmente en calquera dirección usando un mando, como se se premeran as teclas frecha ESQUERDA/DEREITA - + Move focus to right pane Mover o foco para o panel dereito - + Equivalent to pressing the TAB key on the keyboard Equivalente a premer la tecla TABULADOR no teclado - + Move focus to left pane Mover o foco para o panel esquerdo - + Equivalent to pressing the SHIFT+TAB key on the keyboard Equivalente a premer as teclas MAIÚS+ TABULADOR no teclado - + Move focus to right/left pane Mover o foco para o panel esquerdo/dereito - + Move focus one pane to right or left using a knob, as if pressing TAB/SHIFT+TAB keys Mover o foco para o panel esquerdo ou dereito usando un mando, como se se premera TABULADOR/MAIÚS+TABULADOR - + Sort focused column - + Sort the column of the cell that is currently focused, equivalent to clicking on its header - + Go to the currently selected item - + Choose the currently selected item and advance forward one pane if appropriate - + Load Track and Play - + Add to Auto DJ Queue (replace) Engadir á cola do DJ automático (trocar) - + Replace Auto DJ Queue with selected tracks - + Select next search history - + Selects the next search history entry - + Select previous search history - + Selects the previous search history entry - + Move selected search entry - + Moves the selected search history item into given direction and steps - + Clear search - + Clears the search query - - + + Select Next Color Available - + Select the next color in the color palette for the first selected track - - + + Select Previous Color Available - + Select the previous color in the color palette for the first selected track - + + Quick Effects Deck %1 + + + + Deck %1 Quick Effect Enable Button - + + Quick Effect Enable Button - + + Deck %1 Stem %2 Quick Effect Super Knob + + + + + Deck %1 Stem %2 Quick Effect Enable Button + + + + Enable or disable effect processing Activar ou desactivar o procesado de efectos - + Super Knob (control effects' Meta Knobs) - + Mix Mode Toggle - + Toggle effect unit between D/W and D+W modes - + Next chain preset Seguinte axuste previo de cadea - + Previous Chain Cadea anterior - + Previous chain preset Anterior axuste previo de cadea - + Next/Previous Chain Cadea seguinte/anterior - + Next or previous chain preset Seguinte ou anterior axuste previo de cadea - - + + Show Effect Parameters - + Effect Unit Assignment - + Meta Knob - + Effect Meta Knob (control linked effect parameters) - + Meta Knob Mode - + Set how linked effect parameters change when turning the Meta Knob. - + Meta Knob Mode Invert - + Invert how linked effect parameters change when turning the Meta Knob. - - + + Button Parameter Value - + Microphone / Auxiliary Micrófono / Auxiliar - + Microphone On/Off Micrófono acender/apagar - + Microphone on/off Micrófono acender/apagar - + Toggle microphone ducking mode (OFF, AUTO, MANUAL) Conmutador do modo de atenuación de micrófono (APAGADO, AUTO, MANUAL) - + Auxiliary On/Off Auxiliar acender/apagar - + Auxiliary on/off Auxiliar acender/apagar - + Auto DJ DJ automático - + Auto DJ Shuffle DJ automático ao chou - + Auto DJ Skip Next Omitir a seguinte no DJ automático - + Auto DJ Add Random Track - + Add a random track to the Auto DJ queue - + Auto DJ Fade To Next Esvaecer para a seguinte no DJ automático - - Trigger the transition to the next track - Disparar a transición á pista seguinte + + Trigger the transition to the next track + Disparar a transición á pista seguinte + + + + User Interface + Interface de usuario + + + + Samplers Show/Hide + Amosar/agachar o reprodutor de mostras + + + + Show/hide the sampler section + Amosar/agachar a sección do reprodutor de mostras + + + + Microphone && Auxiliary Show/Hide + keep double & to prevent creation of keyboard accelerator + + + + + Waveform Zoom Reset To Default + + + + + Reset the waveform zoom level to the default value selected in Preferences -> Waveforms + + + + + Select the next color in the color palette for the loaded track. + + + + + Select previous color in the color palette for the loaded track. + + + + + Navigate Through Track Colors + + + + + Select either next or previous color in the palette for the loaded track. + + + + + Start/Stop Live Broadcasting + + + + + Stream your mix over the Internet. + + + + + Start/stop recording your mix. + + + + + + Deck %1 Stems + + + + + + Samplers + + + + + Vinyl Control Show/Hide + Amosar/agochar o Control do vinilo + + + + Show/hide the vinyl control section + Amosar/agachar a sección do Control do vinilo + + + + Preview Deck Show/Hide + Amosar/agochar a escoita previa do prato + + + + Show/hide the preview deck + Amosar/agachar a escoita previa do prato + + + + Toggle 4 Decks + + + + + Switches between showing 2 decks and 4 decks. + + + + + Cover Art Show/Hide (Decks) + + + + + Show/hide cover art in the main decks + + + + + Vinyl Spinner Show/Hide + Amosar/agachar o trebello do vinilo xiratorio + + + + Show/hide spinning vinyl widget + Amosar/agachar o trebello do vinilo xiratorio + + + + Vinyl Spinners Show/Hide (All Decks) + + + + + Show/Hide all spinnies + + + + + Toggle Waveforms + + + + + Show/hide the scrolling waveforms. + + + + + Waveform zoom + Zoom da forma da onda - - User Interface - Interface de usuario + + Waveform Zoom + Zoom da forma da onda - - Samplers Show/Hide - Amosar/agachar o reprodutor de mostras + + Zoom waveform in + Achegar o zoom da forma da onda - - Show/hide the sampler section - Amosar/agachar a sección do reprodutor de mostras + + Waveform Zoom In + Achegar o zoom da forma da onda - - Microphone && Auxiliary Show/Hide - keep double & to prevent creation of keyboard accelerator - + + Zoom waveform out + Afastar o zoom da forma da onda - - Waveform Zoom Reset To Default + + Star Rating Up - - Reset the waveform zoom level to the default value selected in Preferences -> Waveforms + + Increase the track rating by one star - - Select the next color in the color palette for the loaded track. + + Star Rating Down - - Select previous color in the color palette for the loaded track. + + Decrease the track rating by one star + + + Controller - - Navigate Through Track Colors + + Unknown + + + ControllerHidReportTabsManager - - Select either next or previous color in the palette for the loaded track. + + Read - - Start/Stop Live Broadcasting + + Send - - Stream your mix over the Internet. + + Payload Size - - Start/stop recording your mix. + + bytes - - - Samplers + + Byte Position - - Vinyl Control Show/Hide - Amosar/agochar o Control do vinilo + + Bit Position + - - Show/hide the vinyl control section - Amosar/agachar a sección do Control do vinilo + + Bit Size + - - Preview Deck Show/Hide - Amosar/agochar a escoita previa do prato + + Logical Min + - - Show/hide the preview deck - Amosar/agachar a escoita previa do prato + + Logical Max + - - Toggle 4 Decks + + Value - - Switches between showing 2 decks and 4 decks. + + Physical Min - - Cover Art Show/Hide (Decks) + + Physical Max - - Show/hide cover art in the main decks + + Unit Scaling - - Vinyl Spinner Show/Hide - Amosar/agachar o trebello do vinilo xiratorio + + Unit + - - Show/hide spinning vinyl widget - Amosar/agachar o trebello do vinilo xiratorio + + Abs/Rel + - - Vinyl Spinners Show/Hide (All Decks) + + + Wrap - - Show/Hide all spinnies + + + Linear - - Toggle Waveforms + + + Preferred - - Show/hide the scrolling waveforms. + + + Null - - Waveform zoom - Zoom da forma da onda + + + Volatile + - - Waveform Zoom - Zoom da forma da onda + + Usage Page + - - Zoom waveform in - Achegar o zoom da forma da onda + + Usage + - - Waveform Zoom In - Achegar o zoom da forma da onda + + Relative + - - Zoom waveform out - Afastar o zoom da forma da onda + + Absolute + - - Star Rating Up + + No Wrap - - Increase the track rating by one star + + Non Linear - - Star Rating Down + + No Preferred - - Decrease the track rating by one star + + No Null - - - Controller - - Unknown + + Non Volatile @@ -3677,27 +3871,27 @@ trace - Above + Profiling messages ControllerScriptEngineLegacy - + Controller Mapping File Problem - + The mapping for controller "%1" cannot be opened. - + The functionality provided by this controller mapping will be disabled until the issue has been resolved. - + File: - + Error: @@ -3730,7 +3924,7 @@ trace - Above + Profiling messages - + Lock Bloquear @@ -3760,7 +3954,7 @@ trace - Above + Profiling messages Orixe das pistas para DJ automático - + Enter new name for crate: Escriba o novo nome para o caixón: @@ -3777,22 +3971,22 @@ trace - Above + Profiling messages Importar un caixón - + Export Crate Exportar un caixón - + Unlock Desbloquear - + An unknown error occurred while creating crate: Produciuse un erro descoñecido ao crear o caixón: - + Rename Crate Cambiar o nome do caixón @@ -3802,28 +3996,28 @@ trace - Above + Profiling messages - + Confirm Deletion Confimar o borrado - - + + Renaming Crate Failed Non foi posíbel cambiarlle o nome ao caixón - + Crate Creation Failed Non foi posíbel crear o caixón - + M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Text CSV (*.csv);;Readable Text (*.txt) Lista de reprodución M3U (*.m3u);;Lista de reprodución M3U8 (*.m3u8);;Lista de reprodución PLS (*.pls);;Texto CSV (*.csv);;Texto lexíbel (*.txt) - + M3U Playlist (*.m3u) Lista de reprodución M3U (*.m3u) @@ -3844,17 +4038,17 @@ trace - Above + Profiling messages Os caixóns permítenlle organizar a súa música ao seu gusto! - + Do you really want to delete crate <b>%1</b>? - + A crate cannot have a blank name. Un caixón non pode ter un nome baleiro. - + A crate by that name already exists. Xa existe un caixón con ese nome. @@ -3949,12 +4143,12 @@ trace - Above + Profiling messages Colaboradores anteriores - + Official Website - + Donate @@ -4741,122 +4935,139 @@ You tried to learn: %1,%2 DlgPrefBroadcast - + Icecast 2 Icecast 2 - + Shoutcast 1 Shoutcast 1 - + Icecast 1 Icecast 1 - + MP3 MP3 - + Ogg Vorbis Ogg Vorbis - + Opus - + AAC - + HE-AAC - + HE-AACv2 - + Automatic Automático - + Mono Mono - + Stereo Estéreo - - - - + + Saving settings failed + + + + + The password for '%1' contains invalid characters. Please enter it again. + +Note: This can for example be invisible linebreaks when using copy/paste. + + + + + + Action failed - + You can't create more than %1 source connections. - + Source connection %1 - + + Settings for %1 + Settings for broadcast profile, %1 is the profile name placeholder + + + + At least one source connection is required. - + Are you sure you want to disconnect every active source connection? - - + + Confirmation required - + '%1' has the same Icecast mountpoint as '%2'. Two source connections to the same server that have the same mountpoint can not be enabled simultaneously. - + Are you sure you want to delete '%1'? - + Renaming '%1' - + New name for '%1': - + Can't rename '%1' to '%2': name already in use @@ -4869,27 +5080,27 @@ Two source connections to the same server that have the same mountpoint can not Preferencias da difusión en directo - + Mixxx Icecast Testing Proba de «Mixxx Icecast» - + Public stream Fluxo público - + http://www.mixxx.org http://www.mixxx.org - + Stream name Nome do fluxo - + Due to flaws in some streaming clients, updating Ogg Vorbis metadata dynamically can cause listener glitches and disconnections. Check this box to update the metadata anyway. Por mor dalgún fallo nalgúns clientes de difusión, a actualización dinámica dos metadatos Ogg Vorbis pode causar interferencias e desconexións aos oíntes. Marque esta caixiña para actualizar, aínda así, os metadatos. @@ -4929,67 +5140,72 @@ Two source connections to the same server that have the same mountpoint can not - + + Available fields: $artist, $title, $year, $album, $genre, $bpm + + + + Dynamically update Ogg Vorbis metadata. Actualizar dinamicamente os metadatos Ogg Vorbis. - + ICQ - + AIM - + Website Sitio web - + Live mix Mestura en directo - + IRC - + Select a source connection above to edit its settings here - + Password storage - + Plain text - + Secure storage (OS keychain) - + Genre Xénero - + Use UTF-8 encoding for metadata. Usar a codificación UTF-8 para os metadatos. - + Description Descrición @@ -5015,42 +5231,42 @@ Two source connections to the same server that have the same mountpoint can not Canles - + Server connection Conexión co servidor - + Type Tipo - + Host Máquina - + Login Acceso - + Mount Montaxe - + Port Porto - + Password Contrasinal - + Stream info Información do fluxo @@ -5060,17 +5276,17 @@ Two source connections to the same server that have the same mountpoint can not Metadatos - + Use static artist and title. Usar nome de artista e título fixo. - + Static title Título fixo - + Static artist Artista fixo @@ -5129,13 +5345,14 @@ Two source connections to the same server that have the same mountpoint can not DlgPrefColors - - + + + By hotcue number - + Color Cor @@ -5180,17 +5397,22 @@ Two source connections to the same server that have the same mountpoint can not + Jump default color + + + + When key colors are enabled, Mixxx will display a color hint associated with each key. - + Enable Key Colors - + Key palette @@ -5198,114 +5420,114 @@ associated with each key. DlgPrefController - + Apply device settings? Aplicar os axustes do dispositivo? - + Your settings must be applied before starting the learning wizard. Apply settings and continue? Deben aplicarse os axustes antes de iniciar o asistente de aprendizaxe. Aplicar os axustes e continuar? - + None Ningún - + %1 by %2 %1 de %2 - + Mapping has been edited - + Always overwrite during this session - + Save As - + Overwrite - + Save user mapping - + Enter the name for saving the mapping to the user folder. - + Saving mapping failed - + A mapping cannot have a blank name and may not contain special characters. - + A mapping file with that name already exists. - + Do you want to save the changes? - + Troubleshooting Solución de problemas - + <font color='#BB0000'><b>If you use this mapping your controller may not work correctly. Please select another mapping or disable the controller.</b></font><br><br>This mapping was designed for a newer Mixxx Controller Engine and cannot be used on your current Mixxx installation.<br>Your Mixxx installation has Controller Engine version %1. This mapping requires a Controller Engine version >= %2.<br><br>For more information visit the wiki page on <a href='https://mixxx.org/wiki/doku.php/controller_engine_versions'>Controller Engine Versions</a>. - + Mapping already exists. - + <b>%1</b> already exists in user mapping folder.<br>Overwrite or save with a new name? - + Clear Input Mappings Limpar as asignacións de entrada - + Are you sure you want to clear all input mappings? Confirma que quere limpar todas as asignacións de entrada? - + Clear Output Mappings Limpar as asignacións de saída - + Are you sure you want to clear all output mappings? Confirma que quere limpar todas as asignacións de saída? @@ -5323,100 +5545,105 @@ Aplicar os axustes e continuar? Activado - + + Refresh mapping list + + + + Device Info - + Physical Interface: - + Vendor name: - + Product name: - + Vendor ID - + VID: - + Product ID - + PID: - + Serial number: - + USB interface number: - + HID Usage-Page: - + HID Usage: - + Description: Descrición: - + Support: Asistencia: - + Screens preview - + Input Mappings Asignacións de entrada - - + + Search Buscar - - + + Add Engadir - - + + Remove Retirar @@ -5436,17 +5663,17 @@ Aplicar os axustes e continuar? - + Mapping Info - + Author: Autor: - + Name: Nome: @@ -5456,28 +5683,28 @@ Aplicar os axustes e continuar? Asistente de aprendizaxe (só MIDI) - + Data protocol: - + Mapping Files: - + Mapping Settings - - + + Clear All Limpar todo - + Output Mappings Asignacións de saída @@ -5492,21 +5719,21 @@ Aplicar os axustes e continuar? - Mixxx uses "mappings" to connect messages from your controller to controls in Mixxx. If you do not see a mapping for your controller in the "Load Mapping" menu when you click on your controller on the left sidebar, you may be able to download one online from the %1. Place the XML (.xml) and Javascript (.js) file(s) in the "User Mapping Folder" then restart Mixxx. If you download a mapping in a ZIP file, extract the XML and Javascript file(s) from the ZIP file to your "User Mapping Folder" then restart Mixxx. + Mixxx uses "mappings" to connect messages from your controller to controls in Mixxx. If you do not see a mapping for your controller in the "Load Mapping" menu when you click on your controller on the left sidebar, you may be able to download one online from the %1. Place the XML (.xml) and Javascript (.js) file(s) in the "User Mapping Folder" then click the Reload button next to the mapping selector to reload all available mappings. If you download a mapping in a ZIP file, extract the XML and Javascript file(s) from the ZIP file to your "User Mapping Folder" then click the Reload button. - + Mixxx DJ Hardware Guide - + MIDI Mapping File Format - + MIDI Scripting with Javascript @@ -5675,137 +5902,137 @@ Aplicar os axustes e continuar? DlgPrefDeck - + Mixxx mode Modo Mixxx - + Mixxx mode (no blinking) Modo Mixxx (sen escintileo) - + Pioneer mode Modo Pioneer - + Denon mode Modo Denon - + Numark mode Modo Numark - + CUP mode Modo CUP - + mm:ss%1zz - Traditional - + mm:ss - Traditional (Coarse) - + s%1zz - Seconds - + sss%1zz - Seconds (Long) - + s%1sss%2zz - Kiloseconds - + Intro start - + Main cue - + First hotcue - + First sound (skip silence) - + Beginning of track - + Reject - + Allow, but stop deck - + Allow, play from load point - + 4% 4% - + 6% (semitone) 6% (semitono) - + 8% (Technics SL-1210) 8% (Technics SL-1210) - + 10% 10% - + 16% 16% - + 24% 24% - + 50% 50% - + 90% 90% @@ -6242,57 +6469,57 @@ You can always drag-and-drop tracks on screen to clone a deck. O tamaño mínimo do tema seleccionado é maior que a resolución da súa pantalla. - + Allow screensaver to run Permitir que se execute o protector de pantallas - + Prevent screensaver from running Impide que se execute o protector de pantallas - + Prevent screensaver while playing Impide que se execute o protector de pantallas durante a reprodución - + Disabled - + 2x MSAA - + 4x MSAA - + 8x MSAA - + 16x MSAA - + This skin does not support color schemes Este tema non admite esquemas de cor - + Information Información - + Mixxx must be restarted before the new locale, scaling or multi-sampling settings will take effect. @@ -6519,67 +6746,97 @@ and allows you to pitch adjust them for harmonic mixing. - + Music Directory Added Engadido o directorio de música - + You added one or more music directories. The tracks in these directories won't be available until you rescan your library. Would you like to rescan now? Engadiu un ou máis directorios de música. As pistas destes directorios non estarán dispoñíbeis ata que volva a examinar a fonoteca. Quere examinala agora? - + Scan Examinar - + Item is not a directory or directory is missing - + Choose a music directory Escolla un directorio de música - + Confirm Directory Removal Confirme a retirada do directorio - + Mixxx will no longer watch this directory for new tracks. What would you like to do with the tracks from this directory and subdirectories?<ul><li>Hide all tracks from this directory and subdirectories.</li><li>Delete all metadata for these tracks from Mixxx permanently.</li><li>Leave the tracks unchanged in your library.</li></ul>Hiding tracks saves their metadata in case you re-add them in the future. - + Metadata means all track details (artist, title, playcount, etc.) as well as beatgrids, hotcues, and loops. This choice only affects the Mixxx library. No files on disk will be changed or deleted. - + Hide Tracks Agochar pistas - + Delete Track Metadata Eliminar os metadatos das pistas - + Leave Tracks Unchanged Deixar as pistas sen cambios - + Relink music directory to new location Volver ligar o directorio de musica nunha nova localización - + + Black + + + + + ExtraBold + + + + + Bold + + + + + SemiBold + + + + + Medium + + + + + Light + + + + Select Library Font Seleccione o tipo de letra para a fonoteca @@ -6628,262 +6885,267 @@ and allows you to pitch adjust them for harmonic mixing. - + Audio File Formats Formatos de ficheiros de son - + Track Table View - + Track Double-Click Action: - + BPM display precision: - + Session History - + Track duplicate distance - + When playing a track again log it to the session history only if more than N other tracks have been played in the meantime - + History playlist with less than N tracks will be deleted<br/><br/>Note: the cleanup will be performed during startup and shutdown of Mixxx. - + Delete history playlist with less than N tracks - + Library Font: Tipo de letra da fonoteca - + + Show scan summary dialog + + + + Grey out played tracks - + Track Search - + Enable search completions - + Enable search history keyboard shortcuts - + Percentage of pitch slider range for 'fuzzy' BPM search: - + This range will be used for the 'fuzzy' BPM search (~bpm:) via the search box, as well as for BPM search in Track context menu > Search related Tracks - + Preferred Cover Art Fetcher Resolution - + Fetch cover art from coverartarchive.com by using Import Metadata From Musicbrainz. - + Note: ">1200 px" can fetch up to very large cover arts. - + >1200 px (if available) - + 1200 px (if available) - + 500 px - + 250 px - + Settings Directory - + The Mixxx settings directory contains the library database, various configuration files, log files, track analysis data, as well as custom controller mappings. - + Edit those files only if you know what you are doing and only while Mixxx is not running. - + Open Mixxx Settings Folder - + Library Row Height: Alto da fila na fonoteca: - + Use relative paths for playlist export if possible Usar rutas relativas na exportación de listas de reprodución se é posíbel - + ... ... - + px px - + Synchronize library track metadata from/to file tags - + Automatically write modified track metadata from the library into file tags and reimport metadata from updated file tags into the library - + Synchronize Serato track metadata from/to file tags (experimental) - + Keeps track color, beat grid, bpm lock, cue points, and loops synchronized with SERATO_MARKERS/MARKERS2 file tags.<br/><br/>WARNING: Enabling this option also enables the reimport of Serato metadata after files have been modified outside of Mixxx. On reimport existing metadata in Mixxx is replaced with the metadata found in file tags. Custom metadata not included in file tags like loop colors is lost. - + Edit metadata after clicking selected track - + Search-as-you-type timeout: - + ms ms - + Load track to next available deck Carga a pista no seguinte prato dispoñíbel - + External Libraries Fonotecas externas - + You will need to restart Mixxx for these settings to take effect. Ten que reiniciar o Mixxx para que estes axustes teñan efecto - + Show Rhythmbox Library Amosar a fonoteca do Rhythmbox - + Track Metadata Synchronization / Playlists - + Add track to Auto DJ queue (bottom) - + Add track to Auto DJ queue (top) - + Ignore - + Show Banshee Library Amosar a fonoteca do Banshee - + Show iTunes Library Amosar a fonoteca do iTunes - + Show Traktor Library Amosar a fonoteca do Traktor - + Show Rekordbox Library - + Show Serato Library - + All external libraries shown are write protected. Todas as fonotecas amosadas están protexidas contra escritura. @@ -7228,33 +7490,33 @@ and allows you to pitch adjust them for harmonic mixing. DlgPrefRecord - + Choose recordings directory Escolla o directorio de gravacións - - + + Recordings directory invalid - + Recordings directory must be set to an existing directory. - + Recordings directory must be set to a directory. - + Recordings directory not writable - + You do not have write access to %1. Choose a recordings directory you have write access to. @@ -7272,43 +7534,55 @@ and allows you to pitch adjust them for harmonic mixing. Examinar... - - + + This will include the filepath for each track in the CUE file. +This option makes the CUE file less portable and can reveal personal +information from filepaths (i.e. username) + + + + + Enable File Annotation in CUE file + + + + + Quality Calidade - + Tags Etiquetas - + Title Título - + Author Autor - + Album Álbum - + Output File Format Formato do ficheiro de saída - + Compression Compresión - + Lossy Con perdas @@ -7323,12 +7597,12 @@ and allows you to pitch adjust them for harmonic mixing. - + Compression Level Nivel de compresión - + Lossless Sen perdas @@ -7459,172 +7733,177 @@ The loudness target is approximate and assumes track pregain and main output lev DlgPrefSound - + %1 Hz %1 Hz - + Default (long delay) Predeterminado (máis retardado) - + Experimental (no delay) Experimental (sen retardo) - + Disabled (short delay) Desactivado (pouco retardo) - + Soundcard Clock - + Network Clock - + Direct monitor (recording and broadcasting only) - + Disabled Desactivado - + Enabled Activado - + Stereo Estéreo - + Mono Mono - + To enable Realtime scheduling (currently disabled), see the %1. - + The %1 lists sound cards and controllers you may want to consider for using Mixxx. - + Mixxx DJ Hardware Guide - + + Find details in the Mixxx user manual + + + + Information - + Mixxx must be restarted before the multi-threaded RubberBand setting change will take effect. - + auto (<= 1024 frames/period) - + 2048 frames/period - + 4096 frames/period - + Are you sure? - + Distribute stereo channels into mono channels for parallel processing will result in a loss of mono compatibility and a diffuse stereo image. It is not recommended during broadcasting or recording. - + Are you sure you wish to proceed? - + No - + Yes, I know what I am doing - + Microphone inputs are out of time in the record & broadcast signal compared to what you hear. - + Measure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. - + Refer to the Mixxx User Manual for details. - + Configured latency has changed. - + Remeasure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. - + Realtime scheduling is enabled. A planificación en tempo real está activada. - + Main output only - + Main and booth outputs - + %1 ms %1 ms - + Configuration error Produciuse un erro de configuración @@ -7691,17 +7970,22 @@ The loudness target is approximate and assumes track pregain and main output lev ms - + + Deck and Bus outputs are for external mixers. They are post-fader and include effects and crossfader (for Auto DJ). For external mixing, make sure all Mixxx faders and EQ knobs are set to their default position (right- or double-click). + + + + 20 ms 20 ms - + Buffer Underflow Count Contador de desbordamento do búfer - + 0 0 @@ -7726,12 +8010,12 @@ The loudness target is approximate and assumes track pregain and main output lev Entrada - + System Reported Latency Latencia informada polo sistema - + Enlarge your audio buffer if the underflow counter is increasing or you hear pops during playback. Aumente búfer de son se o contador de desbordamento está aumentando ou escoita chascar durante a reprodución. @@ -7761,7 +8045,7 @@ The loudness target is approximate and assumes track pregain and main output lev Consellos e diagnósticos - + Downsize your audio buffer to improve Mixxx's responsiveness. Reduza u búfer de son para mellorar a velocidade de resposta do Mixxx. @@ -7808,7 +8092,7 @@ The loudness target is approximate and assumes track pregain and main output lev Configuración do vinilo - + Show Signal Quality in Skin Amosar a calidade do sinal no tema @@ -7844,46 +8128,51 @@ The loudness target is approximate and assumes track pregain and main output lev + Pitch estimator + + + + Deck 1 - + Deck 2 - + Deck 3 - + Deck 4 - + Signal Quality Calidade do sinal - + http://www.xwax.co.uk http://www.xwax.co.uk - + Powered by xwax Fornecido por xwax - + Hints Consellos - + Select sound devices for Vinyl Control in the Sound Hardware pane. Seleccione os dispositivos de son para o Control do Vinilo no panel de Hardware de Son. @@ -7891,58 +8180,58 @@ The loudness target is approximate and assumes track pregain and main output lev DlgPrefWaveform - + Filtered Filtrado - + HSV HSV - + RGB RGB - + Top - + Center - + Bottom - + 1/3 of waveform viewer options for "Text height limit" - + Entire waveform viewer - + OpenGL not available OpenGL non dispoñíbel - + dropped frames cadros desbotados - + Cached waveforms occupy %1 MiB on disk. As formas de onda almacenadas na caché ocupan %1 MiB no disco. @@ -7960,22 +8249,17 @@ The loudness target is approximate and assumes track pregain and main output lev Taxa de fotogramas - + OpenGL Status - + Displays which OpenGL version is supported by the current platform. Amosa que versión de OpenGL é compatíbel coa plataforma actual. - - Normalize waveform overview - Normalizar a vista xeral da forma de onda - - - + Average frame rate Taxa media de fotogramas @@ -7991,7 +8275,7 @@ The loudness target is approximate and assumes track pregain and main output lev Nivel predeterminado de ampliación - + Displays the actual frame rate. Amosa a taxa de fotogramas actual. @@ -8026,7 +8310,7 @@ The loudness target is approximate and assumes track pregain and main output lev Graves - + Show minute markers on waveform overview @@ -8071,7 +8355,7 @@ The loudness target is approximate and assumes track pregain and main output lev Ganancia visual global - + The waveform overview shows the waveform envelope of the entire track. Select from different types of displays for the waveform overview, which differ primarily in the level of detail shown in the waveform. @@ -8138,22 +8422,22 @@ Select from different types of displays for the waveform, which differ primarily - + Caching Almacenamento na caché - + Mixxx caches the waveforms of your tracks on disk the first time you load a track. This reduces CPU usage when you are playing live but requires extra disk space. A primeira vez que carga unha pista, Mixxx garda a caché da forma de onda no disco. Isto reduce o uso da CPU cando se está reproducindo en directo, mais require espazo adicional no disco. - + Enable waveform caching Activar o almacenamento na caché da forma de onda - + Generate waveforms when analyzing library Xerar formas de onda cando se analiza a fonoteca @@ -8169,7 +8453,7 @@ Select from different types of displays for the waveform, which differ primarily - + Type @@ -8189,22 +8473,68 @@ Select from different types of displays for the waveform, which differ primarily % - - Play marker position + + Play marker position + + + + + Moves the play marker position on the waveforms to the left, right or center (default). + + + + + Stem + + + + + Channel opacity + + + + + Channel opacity (outline) + + + + + Main stem opacity + + + + + Outline stem opacity + + + + + Move channel to foreground when volume is adjusted + + + + + Overview Waveforms - - Moves the play marker position on the waveforms to the left, right or center (default). + + Gain - - Overview Waveforms + + Normalize to peak + + + + + Use Waveform "Global" gain and ReplayGain (if enabled) + 'Global' refers to the 'Global' visual gain in the scrolling waveform settings - + Clear Cached Waveforms Limpar as formas de onda na caché @@ -8693,7 +9023,7 @@ This can not be undone! BPM: - + Location: Localización: @@ -8708,27 +9038,27 @@ This can not be undone! Comentarios - + BPM BPM - + Sets the BPM to 75% of the current value. Estabelece os BPM ao 75% do valor detectado. - + 3/4 BPM 3/4 BPM - + Sets the BPM to 50% of the current value. Estabelece os BPM ao 50% do valor actual. - + Displays the BPM of the selected track. Amosar os BPM da pista seleccionada. @@ -8783,49 +9113,49 @@ This can not be undone! Xénero - + ReplayGain: ReplayGain: - + Sets the BPM to 200% of the current value. Estabelece os BPM ao 200% do valor actual. - + Double BPM Duplicar os BPM - + Halve BPM Dividir ÷2 os BPM - + Clear BPM and Beatgrid Limpar os BPM e a grella de ritmo - + Move to the previous item. "Previous" button Mover ao elemento anterior - + &Previous &Anterior - + Move to the next item. "Next" button Mover ao seguinte elemento - + &Next &Seguinte @@ -8850,12 +9180,12 @@ This can not be undone! Cor - + Date added: - + Open in File Browser Abrir no navegador de ficheiros @@ -8865,102 +9195,107 @@ This can not be undone! - + + Filesize: + + + + Track BPM: BPM da pista: - + Converts beats detected by the analyzer into a fixed-tempo beatgrid. Use this setting if your tracks have a constant tempo (e.g. most electronic music). Often results in higher quality beatgrids, but will not do well on tracks that have tempo shifts. - + Assume constant tempo Asumir tempo constante - + Sets the BPM to 66% of the current value. Estabelece os BPM ao 66% do valor actual. - + 2/3 BPM 2/3 BPM - + Sets the BPM to 150% of the current value. Estabelece os BPM ao 150% do valor actual. - + 3/2 BPM 3/2 BPM - + Sets the BPM to 133% of the current value. Estabelece os BPM ao 133% do valor actual. - + 4/3 BPM 4/3 BPM - + Tap with the beat to set the BPM to the speed you are tapping. Golpee seguindo o ritmo para estabelecer os BPM. - + Tap to Beat Toque para golpe de ritmo - + Hint: Use the Library Analyze view to run BPM detection. Consello: Use a vista de análise na fototeca para executar a detección de BPM. - + Save changes and close the window. "OK" button Gardar os cambios e pechar a xanela. - + &OK &Aceptar - + Discard changes and close the window. "Cancel" button Desbotar os cambios e pechar a xanela. - + Save changes and keep the window open. "Apply" button Gardar os cambios e manter a xanela aberta. - + &Apply A&plicar - + &Cancel &Cancelar - + (no color) @@ -9117,7 +9452,7 @@ Often results in higher quality beatgrids, but will not do well on tracks that h - + (no color) @@ -9319,27 +9654,27 @@ Often results in higher quality beatgrids, but will not do well on tracks that h EngineBuffer - + Soundtouch (faster) Soundtouch (rápido) - + Rubberband (better) Rubberband (mellor) - + Rubberband R3 (near-hi-fi quality) - + Unknown, using Rubberband (better) - + Unknown, using Soundtouch @@ -9554,15 +9889,15 @@ Often results in higher quality beatgrids, but will not do well on tracks that h LegacySkinParser - - + + Safe Mode Enabled Shown when Mixxx is running in safe mode. Modo seguro activado - - + + No OpenGL support. Shown when Spinny can not be displayed. Please keep @@ -9574,57 +9909,57 @@ Shown when VuMeter can not be displayed. Please keep OpenGL. - + activate activar - + toggle conmutar - + right dereita - + left esquerda - + right small dereita pequeno - + left small esquerda pequeno - + up arriba - + down abaixo - + up small arriba pequeno - + down small abaixo pequeno - + Shortcut Atallo @@ -9632,62 +9967,62 @@ OpenGL. Library - + This or a parent directory is already in your library. - + This or a listed directory does not exist or is inaccessible. Aborting the operation to avoid library inconsistencies - - + + This directory can not be read. - + An unknown error occurred. Aborting the operation to avoid library inconsistencies - + Can't add Directory to Library - + Could not add <b>%1</b> to your library. %2 - + Can't remove Directory from Library - + An unknown error occurred. - + This directory does not exist or is inaccessible. - + Relink Directory - + Could not relink <b>%1</b> to <b>%2</b>. %3 @@ -9849,12 +10184,12 @@ Do you really want to overwrite it? Pistas agachadas - + Export to Engine DJ - + Tracks Pistas @@ -9862,37 +10197,37 @@ Do you really want to overwrite it? MixxxMainWindow - + Sound Device Busy O dispositivo de son está ocupado - + <b>Retry</b> after closing the other application or reconnecting a sound device <b>Tenteo de novo</b> despois de pechar o outro aplicativo ou de volver conectar un dispositivo de son - - - + + + <b>Reconfigure</b> Mixxx's sound device settings. <b>Reconfigurar</b> os axustes do dispositivo de son do Mixxx. - - + + Get <b>Help</b> from the Mixxx Wiki. Obter <b>axuda</b> no wiki de Mixxx. - - - + + + <b>Exit</b> Mixxx. <b>Saír</b> do Mixxx. - + Retry Tentar de novo @@ -9902,210 +10237,210 @@ Do you really want to overwrite it? - + Allow Mixxx to hide the menu bar? - + Hide Always show the menu bar? - + Always show - + The Mixxx menu bar is hidden and can be toggled with a single press of the <b>Alt</b> key.<br><br>Click <b>%1</b> to agree.<br><br>Click <b>%2</b> to disable that, for example if you don't use Mixxx with a keyboard.<br><br>You can change this setting any time in Preferences -> Interface.<br> Keep formatting tags <b> (bold text) and <br> (linebreak). %1 is the placeholder for the 'Always show' button label - + Ask me again - - + + Reconfigure Volver configurar - + Help Axuda - - + + Exit Saír - - + + Mixxx was unable to open all the configured sound devices. - + Sound Device Error Produciuse un erro no dispositivo de son - + <b>Retry</b> after fixing an issue - + No Output Devices Non hai dispositivos de saída - + Mixxx was configured without any output sound devices. Audio processing will be disabled without a configured output device. Mixxx foi configurado sen ningún dispositivo de saída de son. Se non hai configurado.un dispositivo de saída de son o procesado será desactivado. - + <b>Continue</b> without any outputs. <b>Continuar</b> sen ningunha saída. - + Continue Continuar - + Load track to Deck %1 Cargar a pista no prato %1 - + Deck %1 is currently playing a track. O prato %1 está a reproducir unha pista. - + Are you sure you want to load a new track? Confirma que quere cargar unha nova pista? - + There is no input device selected for this vinyl control. Please select an input device in the sound hardware preferences first. - + There is no input device selected for this passthrough control. Please select an input device in the sound hardware preferences first. Non hai ningún dispositivo de entrada seleccionado para este control de paso. Seleccione antes un dispositivo de entrada nas preferencias de hardware de son. - + There is no input device selected for this microphone. Do you want to select an input device? - + There is no input device selected for this auxiliary. Do you want to select an input device? - + Scan took %1 - + No changes detected. - - + + %1 tracks in total - + %1 new tracks found - + %1 moved tracks detected - + %1 tracks are missing (%2 total) - + %1 tracks have been rediscovered - + Library scan finished - + Error in skin file Produciuse un erro no ficheiro do tema - + The selected skin cannot be loaded. Non foi posíbel cargar o tema seleccionado. - + OpenGL Direct Rendering Debuxado directo OpenGL - + Direct rendering is not enabled on your machine.<br><br>This means that the waveform displays will be very<br><b>slow and may tax your CPU heavily</b>. Either update your<br>configuration to enable direct rendering, or disable<br>the waveform displays in the Mixxx preferences by selecting<br>"Empty" as the waveform display in the 'Interface' section. - - - + + + Confirm Exit Confirmar a saída - + A deck is currently playing. Exit Mixxx? O prato está reproducindo. Saír do Mixxx? - + A sampler is currently playing. Exit Mixxx? Un mostreador está reproducindo actualmente. Saír dp Mixxx? - + The preferences window is still open. A xanela de preferencias segue aberta. - + Discard any changes and exit Mixxx? Desbotar calquera cambio e saír do Mixxx? @@ -10121,13 +10456,13 @@ Do you want to select an input device? PlaylistFeature - + Lock Bloquear - - + + Playlists Listas de reprodución @@ -10137,58 +10472,63 @@ Do you want to select an input device? - + + Adopt current order + + + + Unlock all playlists - + Delete all unlocked playlists - + Unlock Desbloquear - - + + Confirm Deletion - + Do you really want to delete all unlocked playlists? - + Deleting %1 unlocked playlists.<br>This operation can not be undone! - + Playlists are ordered lists of tracks that allow you to plan your DJ sets. - + It may be necessary to skip some tracks in your prepared playlist or add some different tracks in order to maintain the energy of your audience. - + Some DJs construct playlists before they perform live, but others prefer to build them on-the-fly. Algúns DJ constrúen listas de reprodución antes de actuar en directo, outros prefiren facelo ao voo. - + When using a playlist during a live DJ set, remember to always pay close attention to how your audience reacts to the music you've chosen to play. Cando se utiliza unha lista de reprodución durante una sesión de DJ en directo, lembre que debe observar sempre con moita atención como reacciona o público á música que escolleu para reproducir. - + Create New Playlist Crear unha nova lista de reprodución @@ -10287,58 +10627,58 @@ Do you want to select an input device? QMessageBox - + Upgrading Mixxx - + Mixxx now supports displaying cover art. Do you want to scan your library for cover files now? - + Scan Examinar - + Later - + Upgrading Mixxx from v1.9.x/1.10.x. Anovando o Mixxx desde v1.9.x/1.10.x. - + Mixxx has a new and improved beat detector. Mixxx ten un detector de ritmo novo e mellorado. - + When you load tracks, Mixxx can re-analyze them and generate new, more accurate beatgrids. This will make automatic beatsync and looping more reliable. Ao cargar as pistas, Mixxx pode volver a analizalas e xerar novas e máis precisas grellas de ritmo. Isto fará que sexan máis fiábeis a sincronización dos ritmos e dos blucles. - + This does not affect saved cues, hotcues, playlists, or crates. Isto non afecta ás referencias gardadas, referencias activas, listas de reprodución ou caixóns. - + If you do not want Mixxx to re-analyze your tracks, choose "Keep Current Beatgrids". You can change this setting at any time from the "Beat Detection" section of the Preferences. Se non quere que o Mixxx analice de novo as pistas, seleccione «Manter a actual grella de ritmo». Pode cambiar este axuste en calquera momento desde a sección «Detección de ritmo» das Preferencias. - + Keep Current Beatgrids Manter a actual grella de ritmo - + Generate New Beatgrids Xerar novas grellas de ritmo @@ -10452,69 +10792,82 @@ Do you want to scan your library for cover files now? - + Main + Audio path indetifier - + Booth + Audio path indetifier - + Headphones + Audio path indetifier Auriculares - + Left Bus + Audio path indetifier - + Center Bus + Audio path indetifier - + Right Bus + Audio path indetifier - + Invalid Bus + Audio path indetifier - + Deck + Audio path indetifier Prato - + Record/Broadcast + Audio path indetifier - + Vinyl Control + Audio path indetifier Control do vinilo - + Microphone + Audio path indetifier Micrófono - + Auxiliary + Audio path indetifier - + Unknown path type %1 + Audio path Tipo de ruta descoñecido %1 @@ -10843,47 +11196,49 @@ With width at zero, this allows for manually sweeping over the entire delay rang - + Metronome - + + The Mixxx Team - + Adds a metronome click sound to the stream - + BPM BPM - + Set the beats per minute value of the click sound - + Sync Sincronizar - + Synchronizes the BPM with the track if it can be retrieved - + + Gain - + Set the gain of metronome click sound @@ -11667,14 +12022,14 @@ Fully right: end of the effect period - - + + encoder failure - - + + Failed to apply the selected settings. @@ -11880,15 +12235,86 @@ and the processed output signal as close as possible in perceived loudness + + Auto Gain Control + + + + + AGC + + + + + Auto Gain Control (AGC) automatically adjusts the gain of an audio signal to maintain a consistent output level. + + + + Threshold (dBFS) + Threshold + + + The Threshold knob adjusts the level above which the effect starts enhancing the input signal + + + + + Target (dBFS) + + + + + Target + + + + + The Target knob adjusts the desired target level of the output signal + + + + + Gain (dB) + + + + + The Gain knob adjusts the maximum amount of gain that the effect will apply + + + + + Knee (dB) + + + + + The Knee knob defines the range around the Threshold where gain changes are applied gradually, +ensuring smooth transitions and avoiding abrupt level shifts. + + + + + The Attack knob sets the time that determines how fast the auto gain +will set in once the signal exceeds the threshold + + + + + The Release knob sets the time that determines how fast the auto gain will recover from the gain +adjustment once the signal falls under the threshold. Depending on the input signal, short release times +may introduce a 'pumping' effect and/or distortion. + + The Threshold knob adjusts the level above which the compressor starts attenuating the input signal @@ -11917,6 +12343,7 @@ At a ratio of 1:1 no compression is happening, as the input is exactly the outpu + Knee @@ -11927,11 +12354,13 @@ At a ratio of 1:1 no compression is happening, as the input is exactly the outpu + Attack (ms) + Attack @@ -11943,11 +12372,13 @@ will set in once the signal exceeds the threshold + Release (ms) + Release @@ -11976,12 +12407,12 @@ may introduce a 'pumping' effect and/or distortion. - + built-in - + missing @@ -12016,42 +12447,42 @@ may introduce a 'pumping' effect and/or distortion. - + Empty - + Simple - + Filtered - + HSV - + VSyncTest - + RGB - + Stacked - + Unknown @@ -12312,193 +12743,193 @@ may introduce a 'pumping' effect and/or distortion. ShoutConnection - - + + Mixxx encountered a problem Mixxx atopou un problema - + Could not allocate shout_t Non foi posíbel asignar shout_t - + Could not allocate shout_metadata_t Non foi posíbel asignar shout_metadata_t - + Error setting non-blocking mode: Produciuse un erro ao estabelecer o modo de sen bloqueo: - + Error setting tls mode: - + Error setting hostname! Produciuse un erro ao estabelecer o nome da máquina! - + Error setting port! Produciuse un erro ao estabelecer o porto! - + Error setting password! Produciuse un erro ao estabelecer o contrasinal! - + Error setting mount! Produciuse un erro ao estabelecer a montaxe! - + Error setting username! Produciuse un erro ao estabelecer o nome de usuario! - + Error setting stream name! Produciuse un erro ao estabelecer o nome do fluxo! - + Error setting stream description! Produciuse un erro ao estabelecer a descrición do fluxo! - + Error setting stream genre! Produciuse un erro ao estabelecer o xénero do fluxo! - + Error setting stream url! Produciuse un erro ao estabelecer o URL do fluxo! - + Error setting stream IRC! - + Error setting stream AIM! - + Error setting stream ICQ! - + Error setting stream public! Produciuse un erro ao estabelecer o fluxo público! - + Unknown stream encoding format! - + Use a libshout version with %1 enabled - + Error setting stream encoding format! - + Broadcasting at 96 kHz with Ogg Vorbis is not currently supported. Please try a different sample rate or switch to a different encoding. - + See https://github.com/mixxxdj/mixxx/issues/5701 for more information. - + Unsupported sample rate - + Error setting bitrate Produciuse un erro ao estabelecer a taxa de bits - + Error: unknown server protocol! Erro: protocolo descoñecido do servidor! - + Error: Shoutcast only supports MP3 and AAC encoders - + Error setting protocol! Produciuse un erro ao estabelecer o protocolo! - + Network cache overflow Desbordamento da caché de rede - + Connection error - + One of the Live Broadcasting connections raised this error:<br><b>Error with connection '%1':</b><br> - + Connection message - + <b>Message from Live Broadcasting connection '%1':</b><br> - + Lost connection to streaming server and %1 attempts to reconnect have failed. Perdeuse a conexión co servidor de fluxo e fallaron ½1 intentos de reconexión. - + Lost connection to streaming server. Perdeuse a conexión co servidor de fluxo - + Please check your connection to the Internet. Comprobe a súa conexión a internet. - + Can't connect to streaming server Non é posíbel conectar co servidor de fluxo - + Please check your connection to the Internet and verify that your username and password are correct. Comprobe a súa conexión a internet e verifique que o seu nome de usuario e contrasinal son correctos. @@ -12506,7 +12937,7 @@ may introduce a 'pumping' effect and/or distortion. SoftwareWaveformWidget - + Filtered Filtrado @@ -12514,23 +12945,23 @@ may introduce a 'pumping' effect and/or distortion. SoundManager - - + + a device un dispositivo - + An unknown error occurred Produciuse un erro descoñecido - + Two outputs cannot share channels on "%1" - + Error opening "%1" @@ -12715,7 +13146,7 @@ may introduce a 'pumping' effect and/or distortion. - + Spinning Vinyl Vinilo xirando @@ -12897,7 +13328,7 @@ may introduce a 'pumping' effect and/or distortion. - + Cover Art Deseño da portada @@ -13087,243 +13518,243 @@ may introduce a 'pumping' effect and/or distortion. Mantén a ganancia do EQ de graves a cero cando esta activo. - + Displays the tempo of the loaded track in BPM (beats per minute). Amosa o tempo da pista cargada en BPM (golpes por minuto). - + Tempo Tempo - + Key The musical key of a track Clave - + BPM Tap Toque de BPM - + When tapped repeatedly, adjusts the BPM to match the tapped BPM. Cando toca repetidamente, axusta o BPM para que coincida con el BPM dos toques. - + Adjust BPM Down - + When tapped, adjusts the average BPM down by a small amount. - + Adjust BPM Up - + When tapped, adjusts the average BPM up by a small amount. - + Adjust Beats Earlier - + When tapped, moves the beatgrid left by a small amount. - + Adjust Beats Later - + When tapped, moves the beatgrid right by a small amount. - + Tempo and BPM Tap Toque de tempo e BPM - + Show/hide the spinning vinyl section. Amosar/agachar a sección do vinilo xiratorio. - + Keylock Bloqueo tonal - + Toggling keylock during playback may result in a momentary audio glitch. - + Toggle visibility of Loop Controls - + Toggle visibility of Beatjump Controls - + Toggle visibility of Rate Control - + Toggle visibility of Key Controls - + (while previewing) - + Places a cue point at the current position on the waveform. - + Stops track at cue point, OR go to cue point and play after release (CUP mode). - + Set cue point (Pioneer/Mixxx/Numark mode), set cue point and play after release (CUP mode) OR preview from it (Denon mode). - + Is latching the playing state. - + Seeks the track to the cue point and stops. - + Play Reproducir - + Plays track from the cue point. - + Sends the selected channel's audio to the headphone output, selected in Preferences -> Sound Hardware. - + (This skin should be updated to use Sync Lock!) - + Enable Sync Lock - + Tap to sync the tempo to other playing tracks or the sync leader. - + Enable Sync Leader - + When enabled, this device will serve as the sync leader for all other decks. - + This is relevant when a dynamic tempo track is loaded to a sync leader deck.In that case, other synced devices will adopt the changing tempo. - + Changes the track playback speed (affects both the tempo and the pitch). If keylock is enabled, only the tempo is affected. - + Tempo Range Display - + Displays the current range of the tempo slider. - + Un-ejects when no track is loaded, i.e. reloads the track that was ejected last (of any deck). - + Delete selected hotcue. - + Track Comment - + Displays the comment tag of the loaded track. - + Opens separate artwork viewer. - + Effect Chain Preset Settings - + Show the effect chain settings menu for this unit. - + Select and configure a hardware device for this input - + Recording Duration @@ -13546,947 +13977,982 @@ may introduce a 'pumping' effect and/or distortion. - + When tapped repeatedly, adjusts the tempo to match the tapped BPM. + + + Click to open the tempo/BPM editor + + + + + It also shows a colored bar if Key colors are enabled in the Preferences. + + + The bar will be split vertically if the track's key is in between full keys. + + + + Tempo Tap - + Rate Tap and BPM Tap - + + Set Tempo + + + + + Set the desired tempo in BPM. If the track currently has no BPM detected, set the desired tempo in percent. + + + + Adjust beatgrid by exactly one half beat. Usable only on tracks with constant tempo. - + Revert last BPM/Beatgrid Change - + Revert last BPM/Beatgrid Change of the loaded track. - - + + Toggle the BPM/beatgrid lock - + Tempo and Rate Tap - + Tempo, Rate Tap and BPM Tap - + Shift cues earlier - - + + Shift cues imported from Serato or Rekordbox if they are slightly off time. - + Left click: shift 10 milliseconds earlier - + Right click: shift 1 millisecond earlier - + Shift cues later - + Left click: shift 10 milliseconds later - + Right click: shift 1 millisecond later - - - + + + Drag a Hotcue button here to continue playing after releasing the Hotcue. - + Hint: Change the default cue mode in Preferences -> Decks. - + Mutes the selected channel's audio in the main output. - + Main mix enable - + Hold or short click for latching to mix this input into the main output. - + + Reloads the last replaced track. If no track is loaded reloads the second-last ejected track. + + + + If hotcue is a loop cue, toggles the loop and jumps to if the loop is behind the play position. - + If the play position is inside an active loop, stores the loop as loop cue. - + Drag this button onto another Hotcue button to move it there (change its index). If the other hotcue is set, the two are swapped. - + Expand/Collapse Samplers - + Toggle expanded samplers view. - + Displays the duration of the running recording. - + Auto DJ is active - + Red for when needle skip has been detected. - + Hot Cue - Track will seek to nearest previous hotcue point. - + Sets the track Loop-In Marker to the current play position. - + Press and hold to move Loop-In Marker. - + Jump to Loop-In Marker. - + Sets the track Loop-Out Marker to the current play position. - + Press and hold to move Loop-Out Marker. - + Jump to Loop-Out Marker. - + If the track has no beats the unit is seconds. - + Beatloop Size - + Select the size of the loop in beats to set with the Beatloop button. - + Changing this resizes the loop if the loop already matches this size. - + Halve the size of an existing beatloop, or halve the size of the next beatloop set with the Beatloop button. - + Double the size of an existing beatloop, or double the size of the next beatloop set with the Beatloop button. - + Start a loop over the set number of beats. - + Temporarily enable a rolling loop over the set number of beats. - + Beatloop Anchor - + Define whether the loop is created and adjusted from its staring point or ending point. - + Beatjump/Loop Move Size - + Select the number of beats to jump or move the loop with the Beatjump Forward/Backward buttons. - + Beatjump Forward - + Jump forward by the set number of beats. - + Move the loop forward by the set number of beats. - + Jump forward by 1 beat. - + Move the loop forward by 1 beat. - + Beatjump Backward - + Jump backward by the set number of beats. - + Move the loop backward by the set number of beats. - + Jump backward by 1 beat. - + Move the loop backward by 1 beat. - + Reloop - + If the loop is ahead of the current position, looping will start when the loop is reached. - + Works only if Loop-In and Loop-Out Marker are set. - + Enable loop, jump to Loop-In Marker, and stop playback. - + Displays the elapsed and/or remaining time of the track loaded. - + Click to toggle between time elapsed/remaining time/both. - + Hint: Change the time format in Preferences -> Decks. - + Show/hide intro & outro markers and associated buttons. - + + Ensure all waveforms to have the same height across all channels. By default, when displaying the stem controls, waveform for channel that have no stem may render with a shorter height in order to honor the waveform container size you have requested.. + + + + Intro Start Marker - - - - + + + + If marker is set, jumps to the marker. - - - - + + + + If marker is not set, sets the marker to the current play position. - - - - + + + + If marker is set, clears the marker. - + Intro End Marker - + Outro Start Marker - + Outro End Marker - + Mix - + Adjust the mixing of the dry (input) signal with the wet (output) signal of the effect unit - + D/W mode: Crossfade between dry and wet - + D+W mode: Add wet to dry - + Mix Mode - + Adjust how the dry (input) signal is mixed with the wet (output) signal of the effect unit - + Dry/Wet mode (crossed lines): Mix knob crossfades between dry and wet Use this to change the sound of the track with EQ and filter effects. - + Dry+Wet mode (flat dry line): Mix knob adds wet to dry Use this to change only the effected (wet) signal with EQ and filter effects. - + Route the main mix through this effect unit. - + Route the left crossfader bus through this effect unit. - + Route the right crossfader bus through this effect unit. - + Right side active: parameter moves with right half of Meta Knob turn - + Stem Label - + Name of the stem stored in the stem file - + Text is displayed in the stem color stored in the stem file - + this stem color is also used for the waveform of this stem - + Stem Mute - + Toggle the stem mute/unmuted - + Stem Volume Knob - + Adjusts the volume of the stem - + Skin Settings Menu - + Show/hide skin settings menu - + Save Sampler Bank Gardar o banco de mostras - + Save the collection of samples loaded in the samplers. - + Load Sampler Bank Cargar o banco de mostras - + Load a previously saved collection of samples into the samplers. - + Show Effect Parameters - + Enable Effect - + Meta Knob Link - + Set how this parameter is linked to the effect's Meta Knob. - + Meta Knob Link Inversion - + Inverts the direction this parameter moves when turning the effect's Meta Knob. - + Super Knob Súper mando - + Next Chain Seguinte cadea - + Previous Chain Cadea anterior - + Next/Previous Chain Cadea seguinte/anterior - + Clear Limpar - + Clear the current effect. - + Toggle Conmutar - + Toggle the current effect. - + Next Seguinte - + Clear Unit Limpar a unidade - + Clear effect unit. - + Show/hide parameters for effects in this unit. - + Toggle Unit Conmutador da unidade - + Enable or disable this whole effect unit. - + Controls the Meta Knob of all effects in this unit together. - + Load next effect chain preset into this effect unit. - + Load previous effect chain preset into this effect unit. - + Load next or previous effect chain preset into this effect unit. - - - - - - - - - + + + + + + + + + Assign Effect Unit - + Assign this effect unit to the channel output. - + Route the headphone channel through this effect unit. - + Route this deck through the indicated effect unit. - + Route this sampler through the indicated effect unit. - + Route this microphone through the indicated effect unit. - + Route this auxiliary input through the indicated effect unit. - + The effect unit must also be assigned to a deck or other sound source to hear the effect. - + Switch to the next effect. - + Previous Anterior - + Switch to the previous effect. - + Next or Previous Seguinte ou anterior - + Switch to either the next or previous effect. - + Meta Knob - + Controls linked parameters of this effect - + Effect Focus Button - + Focuses this effect. - + Unfocuses this effect. - + Refer to the web page on the Mixxx wiki for your controller for more information. - + Effect Parameter - + Adjusts a parameter of the effect. - + Inactive: parameter not linked - + Active: parameter moves with Meta Knob - + Left side active: parameter moves with left half of Meta Knob turn - + Left and right side active: parameter moves across range with half of Meta Knob turn and back with the other half - - + + Equalizer Parameter Kill - - + + Holds the gain of the EQ to zero while active. - + Quick Effect Super Knob - + Quick Effect Super Knob (control linked effect parameters). - + Hint: Change the default Quick Effect mode in Preferences -> Equalizers. - + Equalizer Parameter - + Adjusts the gain of the EQ filter. - + Hint: Change the default EQ mode in Preferences -> Equalizers. - - + + Adjust Beatgrid Axustar a grella do ritmo - + Adjust beatgrid so the closest beat is aligned with the current play position. Axusta grella de ritmo polo que o ritmo máis próximo aliñase coa reprodución actual. - - + + Adjust beatgrid to match another playing deck. Axustar a grella do ritmo para que coincida co outro prato en reprodución - + If quantize is enabled, snaps to the nearest beat. Se está activada a cuantización, acóplase ao ritmo máis próximo. - + Quantize Cuantizar - + Toggles quantization. Conmutar o modo de cuantización. - + Loops and cues snap to the nearest beat when quantization is enabled. Bucles e referencias axústanse ao ritmo próximo cando a cuantización está activada. - + Reverse Inverter - + Reverses track playback during regular playback. Inverte a reprodución da pista durante unha reprodución normal. - + Puts a track into reverse while being held (Censor). - + Playback continues where the track would have been if it had not been temporarily reversed. - - - + + + Play/Pause Reproducir/Deter - + Jumps to the beginning of the track. Salta ao principio da pista. - + Syncs the tempo (BPM) and phase to that of the other track, if BPM is detected on both. - + Syncs the tempo (BPM) to that of the other track, if BPM is detected on both. - + Sync and Reset Key - + Increases the pitch by one semitone. - + Decreases the pitch by one semitone. - + Enable Vinyl Control - + When disabled, the track is controlled by Mixxx playback controls. - + When enabled, the track responds to external vinyl control. - + Enable Passthrough Activa o paso do son - + Indicates that the audio buffer is too small to do all audio processing. - + Displays cover artwork of the loaded track. - + Displays options for editing cover artwork. - + Star Rating - + Assign ratings to individual tracks by clicking the stars. @@ -14621,33 +15087,33 @@ Use this to change only the effected (wet) signal with EQ and filter effects. - + Prevents the pitch from changing when the rate changes. - + Changes the number of hotcue buttons displayed in the deck - + Starts playing from the beginning of the track. - + Jumps to the beginning of the track and stops. - - + + Plays or pauses the track. Reproduce ou detén a pista. - + (while playing) (cando reproduce) @@ -14667,215 +15133,215 @@ Use this to change only the effected (wet) signal with EQ and filter effects. - + (while stopped) (cando está detida) - + Cue Referencia - + Headphone Auricular - + Mute Silenciar - + Old Synchronize - + Syncs to the first deck (in numerical order) that is playing a track and has a BPM. Sincronizase co primeiro prato (en orde numérica) que estea reproducindo unha pista e teña BPM. - + If no deck is playing, syncs to the first deck that has a BPM. Se non hai un prato reproducindo, sincronizase co primeiro prato que teña BPM. - + Decks can't sync to samplers and samplers can only sync to decks. Os pratos non poden sincronizar con mostreadores e os mostreadores só poden sincronizar con pratos. - + Hold for at least a second to enable sync lock for this deck. - + Decks with sync locked will all play at the same tempo, and decks that also have quantize enabled will always have their beats lined up. - + Resets the key to the original track key. - + Speed Control - - - + + + Changes the track pitch independent of the tempo. - + Increases the pitch by 10 cents. - + Decreases the pitch by 10 cents. - + Pitch Adjust Axuste de ton - + Adjust the pitch in addition to the speed slider pitch. - + Opens a menu to clear hotcues or edit their labels and colors. - + Drag this button onto a Play button while previewing to continue playback after release. - + Dragging with Shift key pressed will not start previewing the hotcue. - + Record Mix Gravar a mestura - + Toggle mix recording. - + Enable Live Broadcasting Activar a difusión en directo - + Stream your mix over the Internet. - + Provides visual feedback for Live Broadcasting status: - + disabled, connecting, connected, failure. - + When enabled, the deck directly plays the audio arriving on the vinyl input. - + Playback will resume where the track would have been if it had not entered the loop. A reprodución retomase cando corresponda na pista como se non houbera entrado no bucle. - + Loop Exit Saír do bucle - + Turns the current loop off. Apaga o bucle actual. - + Slip Mode Modo de esvaramento - + When active, the playback continues muted in the background during a loop, reverse, scratch etc. Cando está activado, a reprodución continua silenciosa en segundo plano durante un bucle, inversión de xiro, rabuñada, etc. - + Once disabled, the audible playback will resume where the track would have been. Unha vez desactivado, a reprodución sonora retomarase na pista na que debera estar. - + Track Key The musical key of a track Clave da pista - + Displays the musical key of the loaded track. Amosa a clave musical da pista cargada. - + Clock Reloxo - + Displays the current time. Amosa o tempo actual. - + Audio Latency Usage Meter - + Displays the fraction of latency used for audio processing. - + A high value indicates that audible glitches are likely. - + Do not enable keylock, effects or additional decks in this situation. - + Audio Latency Overload Indicator @@ -14915,259 +15381,259 @@ Use this to change only the effected (wet) signal with EQ and filter effects.Active o Control do vinilo desde e Menú -> Opcións. - + Displays the current musical key of the loaded track after pitch shifting. - + Fast Rewind Retroceso rápido - + Fast rewind through the track. Retroceder rápido na pista. - + Fast Forward Avance rápido - + Fast forward through the track. Avance rápido na pista. - + Jumps to the end of the track. Salta á fin da pista. - + Sets the pitch to a key that allows a harmonic transition from the other track. Requires a detected key on both involved decks. - - - + + + Pitch Control Control do ton - + Pitch Rate Taxa de ton - + Displays the current playback rate of the track. Amosa a taxa de reprodución actual da pista. - + Repeat Repetición - + When active the track will repeat if you go past the end or reverse before the start. Cando está activada, a pista repetirase se sobrepasa a fin ou cara atrás antes do inicio. - + Eject Expulsar - + Ejects track from the player. Expulsa a pista do reprodutor. - + Hotcue Referencia activa - + If hotcue is set, jumps to the hotcue. Se está estabelecida a referencia activa, salta á referencia activa. - + If hotcue is not set, sets the hotcue to the current play position. Se non está estabelecida a referencia activa, estabelece a referencia activa na posición de reprodución actual. - + Vinyl Control Mode Modo do Control do vinilo - + Absolute mode - track position equals needle position and speed. Modo absoluto - a posición da pista é igual a posición e velocidade da agulla. - + Relative mode - track speed equals needle speed regardless of needle position. Modo relativo - a velocidade da pista é igual á velocidade da agulla sen importar a posición da agulla. - + Constant mode - track speed equals last known-steady speed regardless of needle input. Modo constante - a velocidade da pista é igual á última velocidade constante coñecida, independentemente da entrada da agulla. - + Vinyl Status Estado do vinilo - + Provides visual feedback for vinyl control status: Fornece información visual para o estado do control do vinilo: - + Green for control enabled. Verde para o control activado. - + Blinking yellow for when the needle reaches the end of the record. Amarelo intermitente para cando a agulla chega á fin do disco. - + Loop-In Marker Marcador do inicio do bucle - + Loop-Out Marker Marcador da fin do bucle - + Loop Halve Divide o bucle á metade - + Halves the current loop's length by moving the end marker. Divide á metade a lonxitude do bucle actual movendo o marcador da fin. - + Deck immediately loops if past the new endpoint. O prato reinicia inmediatamente o bucle de sobrepasarse o novo punto de fin. - + Loop Double Duplica a lonxitude do bucle - + Doubles the current loop's length by moving the end marker. Duplica a lonxitude do bucle actual movendo o marcador da fin. - + Beatloop Golpe de bucle - + Toggles the current loop on or off. Conmutar o apagado e activado do bucle actual. - + Works only if Loop-In and Loop-Out marker are set. Só funciona se se estabelecen as marcas de inicio fin do de bucle. - + Vinyl Cueing Mode Modo punto de referencia do vinilo - + Determines how cue points are treated in vinyl control Relative mode: Determina como se tratan os puntos de referencia no modo relativo do control do vinilo: - + Off - Cue points ignored. Apagado: Os puntos de referencia son ignorados. - + One Cue - If needle is dropped after the cue point, track will seek to that cue point. Unha referencia: Se a agulla fose soltada despois dun punto de referencia, a pista vai buscar ese punto de referencia. - + Track Time Tempo da pista - + Track Duration Duración da pista - + Displays the duration of the loaded track. Amosa a duración da pista cargada. - + Information is loaded from the track's metadata tags. A información cargase desde as etiquetas de metadatos da pista. - + Track Artist Intérprete da pista - + Displays the artist of the loaded track. Amosa o intérprete da pista cargada. - + Track Title Título da pista - + Displays the title of the loaded track. Amosa o título da pista cargada. - + Track Album Álbum da pista - + Displays the album name of the loaded track. Amosa o álbum da pista cargada. - + Track Artist/Title Pista interprete/título - + Displays the artist and title of the loaded track. Amosa o interprete e o título da pista cargada. @@ -15395,47 +15861,75 @@ This can not be undone! WCueMenuPopup - + Cue number - + Cue position - + Edit cue label - + Label... - + Delete this cue - - Toggle this cue type between normal cue and saved loop + + Turn this cue into a regular hotcue + + + + + Turn this cue into a saved loop + + + + + Left-click: Use the old size if known or the current beatloop size as the loop size + + + + + Right-click: Use the current play position as new loop end if it is after the cue + + + + + Turn this cue into a saved forward jump. + + is a linebreak. Try to not to extend the translation beyond the length of the longest source line so the tooltip remains compact. + + + + + Turn this cue into a saved backward jump (one shot loop). - - Left-click: Use the old size or the current beatloop size as the loop size + + Left-click: Use the old size if known or the current play position as jump start position +If this is already a jump cue, swap the jump position and the cue/target position. - - Right-click: Use the current play position as loop end if it is after the cue + + Right-click: use current play position as new jump start position - + Hotcue #%1 @@ -15737,171 +16231,181 @@ This can not be undone! + Show Auto DJ + + + + + Switch to the Auto DJ view. + + + + &Full Screen &Pantalla completa - + Display Mixxx using the full screen Amosa o Mixxx usando a pantalla completa - + &Options &Opcións - + &Vinyl Control &Control do vinilo - + Use timecoded vinyls on external turntables to control Mixxx Usar vinilos con código de tempo en xira discos externos para controlar Mixxx - + Enable Vinyl Control &%1 Activar o Control do vinilo &%1 - + &Record Mix &Gravar a mestura - + Record your mix to a file Grava a súa mestura a un ficheiro - + Ctrl+R Ctrl+R - + Enable Live &Broadcasting Activar a &difusión en directo - + Stream your mixes to a shoutcast or icecast server Difundir as súas mesturas a un servidor Shoutcast ou Icecast - + Ctrl+L Ctrl+L - + Enable &Keyboard Shortcuts Activar os atallos do &teclado - + Toggles keyboard shortcuts on or off Conmutar os atallos de teclado activados ou desactivados - + Ctrl+` Ctrl+` - + &Preferences &Preferencias - + Change Mixxx settings (e.g. playback, MIDI, controls) Cambiar os axustes do Mixxx (p.ex. reprodución, MIDI, controles) - + &Developer &Desenvolvedor - + &Reload Skin &Volver cargar o tema - + Reload the skin Volver cargar o tema - + Ctrl+Shift+R Ctrl+Maiús+R - + Developer &Tools &Ferramentas de desenvolvemento - + Opens the developer tools dialog Abre o cadro de diálogo das ferramentas de desenvolvemento - + Ctrl+Shift+T Ctrl+Maiús+T - + Stats: &Experiment Bucket - + Enables experiment mode. Collects stats in the EXPERIMENT tracking bucket. - + Ctrl+Shift+E Ctrl+Maiús+E - + Stats: &Base Bucket - + Enables base mode. Collects stats in the BASE tracking bucket. - + Ctrl+Shift+B Ctrl+Maiús+B - + Deb&ugger Enabled - + Enables the debugger during skin parsing - + Ctrl+Shift+D Ctrl+Maiús+D - + &Help &Axuda @@ -15935,62 +16439,62 @@ This can not be undone! - + &Community Support Axuda da &comunidade - + Get help with Mixxx Obter axuda con Mixxx - + &User Manual Manual do &usuario - + Read the Mixxx user manual. Lea o manual do usuario do Mixxx. - + &Keyboard Shortcuts - + Speed up your workflow with keyboard shortcuts. - + &Settings directory - + Open the Mixxx user settings directory. - + &Translate This Application &Traducir este aplicativo - + Help translate this application into your language. Axude a traducir este aplicativo ao seu idioma. - + &About &Sobre - + About the application Sobre o aplicativo @@ -15998,25 +16502,25 @@ This can not be undone! WOverview - + Passthrough Pasante - + Ready to play, analyzing... Text on waveform overview when file is playable but no waveform is visible - - + + Loading track... Text on waveform overview when file is cached from source - + Finalizing... Text on waveform overview during finalizing of waveform analysis @@ -16206,625 +16710,640 @@ This can not be undone! WTrackMenu - + Load to - + Deck Prato - + Sampler Mostras - + Add to Playlist Engadir á lista de reprodución - + Crates Caixóns - + Metadata Metadatos - + Update external collections - + Cover Art Deseño da portada - + Adjust BPM - + Select Color - - + + Analyze Analizar - - + + Delete Track Files - + Add to Auto DJ Queue (bottom) Engadir á cola de DJ automático (abaixo) - + Add to Auto DJ Queue (top) Engadir á cola de DJ automático (arriba) - + Add to Auto DJ Queue (replace) Engadir á cola do DJ automático (trocar) - + Preview Deck Escoita previa do prato - + Remove Retirar - + Remove from Playlist - + Remove from Crate - + Hide from Library Agachar da fonoteca - + Unhide from Library Amosar da fonoteca - + Purge from Library Purgar da fonoteca - + Move Track File(s) to Trash - + Delete Files from Disk - + Properties Propiedades - + Open in File Browser Abrir no navegador de ficheiros - + Select in Library - + Import From File Tags - + Import From MusicBrainz - + Export To File Tags - + BPM and Beatgrid - + Play Count - + Rating Cualificación - + Cue Point - - + + Hotcues Referencias activas - + Intro - + Outro - + Key Clave - + ReplayGain ReplayGain - + Waveform - + Comment Comentario - + All Todas - + Sort hotcues by position (remove offsets) - + Sort hotcues by position - + Lock BPM Bloquear os BPM - + Unlock BPM Desbloquear os BPM - + Double BPM Duplicar os BPM - + Halve BPM Dividir ÷2 os BPM - + 2/3 BPM 2/3 BPM - + 3/4 BPM 3/4 BPM - + 4/3 BPM 4/3 BPM - + 3/2 BPM 3/2 BPM - + Shift Beatgrid Half Beat - + Reanalyze - + Reanalyze (constant BPM) - + Reanalyze (variable BPM) - + Update ReplayGain from Deck Gain - + Deck %1 Prato %1 - + Importing metadata of %n track(s) from file tags - + Marking metadata of %n track(s) to be exported into file tags - - + + Create New Playlist Crear unha nova lista de reprodución - + Enter name for new playlist: Escriba o nome para a nova lista de reprodución - + New Playlist Nova lista de reprodución - - - + + + Playlist Creation Failed Non foi posíbel crear a lista de reprodución - + A playlist by that name already exists. Xa existe unha lista de reprodución con ese nome. - + A playlist cannot have a blank name. Unha lista de reprodución non pode ter un nome baleiro. - + An unknown error occurred while creating playlist: Produciuse un erro descoñecido mentres se creaba a lista de reprodución: - + Add to New Crate - + Scaling BPM of %n track(s) - + Undo BPM/beats change of %n track(s) - + Locking BPM of %n track(s) - + Unlocking BPM of %n track(s) - + Setting rating of %n track(s) - + Setting color of %n track(s) - + Resetting play count of %n track(s) - + Resetting beats of %n track(s) - + Clearing rating of %n track(s) - + Clearing comment of %n track(s) - + Removing main cue from %n track(s) - + Removing outro cue from %n track(s) - + Removing intro cue from %n track(s) - + Removing loop cues from %n track(s) - + Removing hot cues from %n track(s) - + Sorting hotcues of %n track(s) by position (remove offsets) - + Sorting hotcues of %n track(s) by position - + Resetting keys of %n track(s) - + Resetting replay gain of %n track(s) - + Resetting waveform of %n track(s) - + Resetting all performance metadata of %n track(s) - + Move these files to the trash bin? - + Permanently delete these files from disk? - - + + This can not be undone! - + Cancel Cancelar - + Delete Files - + Okay - + Move Track File(s) to Trash? - + Track Files Deleted - + Track Files Moved To Trash - + %1 track files were moved to trash and purged from the Mixxx database. - + %1 track files were deleted from disk and purged from the Mixxx database. - + Track File Deleted - + Track file was deleted from disk and purged from the Mixxx database. - + The following %1 file(s) could not be deleted from disk - + This track file could not be deleted from disk - + Remaining Track File(s) - + Close Pechar - + Clear Reset metadata in right click track context menu in library - + Loops - + Clear BPM and Beatgrid - + Undo last BPM/beats change - + Move this track file to the trash bin? - + Permanently delete this track file from disk? - + All decks where these tracks are loaded will be stopped and the tracks will be ejected. - + All decks where this track is loaded will be stopped and the track will be ejected. - + Removing %n track file(s) from disk... - + Note: if you are in the Computer or Recording view you need to click the current view again to see changes. - + Track File Moved To Trash - + Track file was moved to trash and purged from the Mixxx database. - + Don't show again during this session - + The following %1 file(s) could not be moved to trash - + This track file could not be moved to trash + + + Replace current Auto DJ queue? + + + + + Do you want to replace the entire Auto DJ queue with the selected tracks? + + + + + Don't ask again during this session + + - + Setting cover art of %n track(s) - + Reloading cover art of %n track(s) @@ -16878,37 +17397,37 @@ This can not be undone! WTrackTableView - + Confirm track hide - + Are you sure you want to hide the selected tracks? - + Are you sure you want to remove the selected tracks from AutoDJ queue? - + Are you sure you want to remove the selected tracks from this crate? - + Are you sure you want to remove the selected tracks from this playlist? - + Don't ask again during this session - + Confirm track removal @@ -16916,12 +17435,12 @@ This can not be undone! WTrackTableViewHeader - + Show or hide columns. Amosar ou agachar as columnas. - + Shuffle Tracks @@ -16929,52 +17448,52 @@ This can not be undone! mixxx::CoreServices - + fonts - + database - + effects - + audio interface - + decks - + library - + Choose music library directory Escolla o directorio da fonoteca - + controllers - + Cannot open database Non é posíbel abrir a base de datos - + Unable to establish a database connection. Mixxx requires QT with SQLite support. Please read the Qt SQL driver documentation for information on how to build it. @@ -17128,6 +17647,24 @@ Click OK to exit. + + mixxx::qml::QmlApplication + + + Existing user profile detected + + + + + Trying to run Mixxx 3.0 with an existing %0 user profile! <br><br>There is <b>serious risks</b> of data loss and corruption.<br>We recommend using a test profile folder with the '--settings-path' argument. <br><br>If you want to continue at your own risk, run Mixxx with the argument '--allow-dangerous-data-corruption-risk'. + + + + + Ok + + + mixxx::qml::QmlVisibleEffectsModel @@ -17136,4 +17673,27 @@ Click OK to exit. Non hai ningún efecto cargado + + mixxx::qml::QmlWaveformRendererMark + + + Cannot find the marker pixmap + + + + + Cannot find the marker endPixmap + + + + + Cannot find the marker icon + + + + + Cannot find the marker endIcon + + + \ No newline at end of file diff --git a/res/translations/mixxx_hu.qm b/res/translations/mixxx_hu.qm index e8771895a34298bec7501943ff3a4d60f56f73f7..d0769d9de2e986fc2e36be178b55d90b7c5b8646 100644 GIT binary patch delta 7147 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 ITAWq+f2Wfr?EnA( delta 7396 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 YOiGwyHz+wdDZ$W`V_p2XbXooX0Sy*;9smFU diff --git a/res/translations/mixxx_hu.ts b/res/translations/mixxx_hu.ts index c5691d88cecb..6af0f66880d0 100644 --- a/res/translations/mixxx_hu.ts +++ b/res/translations/mixxx_hu.ts @@ -8,6 +8,14 @@ + + AllTrackLibraryFeature + + + All... + + + AnalysisFeature @@ -19,52 +27,52 @@ AutoDJFeature - + Crates Rekeszek - + Enable Auto DJ Auto DJ engedélyezése - + Disable Auto DJ Auto DJ letiltása - + Clear Auto DJ Queue Auto DJ-lista ürítése - + Remove Crate as Track Source Rekesz, mint zene forrás eltávoltása - + Auto DJ Auto DJ - + Confirmation Clear - + Do you really want to remove all tracks from the Auto DJ queue? Biztosan el akarod távolítani az összes számot az Auto DJ-listából? - + This can not be undone. Ezt a műveletet nem lehet visszavonni. - + Add Crate as Track Source Rekesz, mint zene forrás hozzáadása @@ -223,7 +231,7 @@ - + Export Playlist Lejátszólista exportálása @@ -277,13 +285,13 @@ - + Playlist Creation Failed Lejátszólista készítése sikertelen - + An unknown error occurred while creating playlist: Ismeretlen hiba történt a lejátszólista készítésekor: @@ -298,12 +306,12 @@ Biztos törölni akarod a(z) <b>„%1”</b> lejátszólistát? - + M3U Playlist (*.m3u) M3U lejátszási lista (*.m3u) - + M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Text CSV (*.csv);;Readable Text (*.txt) M3U lejátszási lista (*.m3u);;M3U8 lejátszási lista (*.m3u8);;PLS lejátszási lista (*.pls);;Szöveg CSV (*.csv);;Olvasható szöveg (*.txt) @@ -311,12 +319,12 @@ BaseSqlTableModel - + # # - + Timestamp Időbélyeg @@ -324,7 +332,7 @@ BaseTrackPlayerImpl - + Couldn't load track. Nem lehet a számot betölteni. @@ -362,7 +370,7 @@ Csatornák - + Color Szín @@ -377,7 +385,7 @@ Szerző - + Cover Art Borító @@ -387,7 +395,7 @@ Hozzáadás dátuma - + Last Played Legutóbb játszott @@ -417,7 +425,7 @@ Hangnem - + Location Hely @@ -427,7 +435,7 @@ Áttekintés - + Preview Előnézet @@ -467,7 +475,7 @@ Év - + Fetching image ... Tooltip text on the cover art column shown when the cover is read from disk Kép betöltése... @@ -489,22 +497,22 @@ BroadcastProfile - + Can't use secure password storage: keychain access failed. Nem használható a biztonságos jelszótároló: Kulcstartó megnyitása sikertelen. - + Secure password retrieval unsuccessful: keychain access failed. Biztonságos jelszó visszanyerés sikertelen: Kulcshozzáférés nem sikerült - + Settings error Beállítási hiba - + <b>Error with settings for '%1':</b><br> <b>Hiba a '%1' beállításokban:</b><br> @@ -592,7 +600,7 @@ - + Computer Számítógép @@ -612,17 +620,17 @@ Beolvasás - + "Computer" lets you navigate, view, and load tracks from folders on your hard disk and external devices. A "Számítógép" enged navigálni, megnézni és betölteni számokat a mappákból a merevlemezeden, vagy cserélhető adattárolókból - + It shows the data from the file tags, not track data from your Mixxx library like other track views. - + If you load a track file from here, it will be added to your library. @@ -735,12 +743,12 @@ A fájl készítve - + Mixxx Library Mixxx Könyvtár - + Could not load the following file because it is in use by Mixxx or another application. A fájlt nem lehet betölteni, mert a Mixxx, vagy egy másik program használja. @@ -771,87 +779,92 @@ CmdlineArgs - + Mixxx is an open source DJ software. For more information, see: A Mixxx egy nyílt forráskódú DJ szoftver. Bővebb információkért lásd: - + Starts Mixxx in full-screen mode Teljes képernyős módban indítja el a Mixxx-et - + Use a custom locale for loading translations. (e.g 'fr') - + Top-level directory where Mixxx should look for its resource files such as MIDI mappings, overriding the default installation location. - + Path the debug statistics time line is written to - + Causes Mixxx to display/log all of the controller data it receives and script functions it loads - + The controller mapping will issue more aggressive warnings and errors when detecting misuse of controller APIs. New Controller Mappings should be developed with this option enabled! - + Enables developer-mode. Includes extra log info, stats on performance, and a Developer tools menu. - + Top-level directory where Mixxx should look for settings. Default is: - + Starts Auto DJ when Mixxx is launched. Elindítja az Auto DJ-t a Mixxx indításakor. - + Rescans the library when Mixxx is launched. Újra átvizsgálja a könyvtárat a Mixxx indításakor. - + Use legacy vu meter - + Use legacy spinny - - Loads experimental QML GUI instead of legacy QWidget skin + + Loads the highly unstable 3.0 Mixxx interface, based on QML. You need to use a new setting profile, or run with 'allow-dangerous-data-corruption-risk' to use with the current one. We highly recommend backing up your data if you do so. + + + + + Force Mixxx to load an unstable version with an existing user profile from a stable version - + Enables safe-mode. Disables OpenGL waveforms, and spinning vinyl widgets. Try this option if Mixxx is crashing on startup. - + [auto|always|never] Use colors on the console output. [auto|always|never] Színek használata a konzolos kimeneten. - + Sets the verbosity of command line logging. critical - Critical/Fatal only warning - Above + Warnings @@ -861,32 +874,32 @@ trace - Above + Profiling messages - + Sets the the logging level at which the log buffer is flushed to mixxx.log. <level> is one of the values defined at --log-level above. - + Sets the maximum file size of the mixxx.log file in bytes. Use -1 for unlimited. The default is 100 MB as 1e5 or 100000000. - + Breaks (SIGINT) Mixxx, if a DEBUG_ASSERT evaluates to false. Under a debugger you can continue afterwards. - + Overrides the default application GUI style. Possible values: %1 Felülírja az alkalmazás alapértelmezett GUI stílusát. Lehetséges értékek: %1 - + Load the specified music file(s) at start-up. Each file you specify will be loaded into the next virtual deck. - + Preview rendered controller screens in the Setting windows. @@ -979,2566 +992,2747 @@ trace - Above + Profiling messages ControlPickerMenu - + Headphone Output Fejhallgató kimenet - - - + + + + Deck %1 + %1 is the deck number 1 ... 4 - + Sampler %1 Sampler %1 - + Preview Deck %1 - + Microphone %1 Mikrofon %1 - + Auxiliary %1 Auxiliary %1 - + Reset to default Alapértelmezés visszaállítása - + Effect Rack %1 Effekt állvány %1 - + Parameter %1 Paraméter %1 - + Mixer Keverő - - + + Crossfader Crossfader - + Headphone mix (pre/main) Fejhallgató keverés (elő/fő) - + Toggle headphone split cueing - + Headphone delay Fejhallgató késleltetés - + Transport Lejátszásvezérlés - + Strip-search through track Csupaszító keresés a zeneszámok között - + Play button Lejátszás gomb - - + + Set to full volume Teljes hangerő - - + + Set to zero volume Nulla hangerő - + Stop button Megállít - + Jump to start of track and play Ugrás a szám elejére és lejátszás - + Jump to end of track Ugrás a szám végére - + Reverse roll (Censor) button Visszafele görgetés (Cenzúra) gomb - + Headphone listen button Fejhallgató belehallgatás gomb - - + + Mute button Némítás - + Toggle repeat mode Ismétlés mód - - + + Mix orientation (e.g. left, right, center) Keverő orientáció (pl. bal, jobb, közép) - - + + Set mix orientation to left Keverés orientáció beállítása balra - - + + Set mix orientation to center Keverés orientáció beállítása középre - - + + Set mix orientation to right Keverés orientáció beállítása jobbra - + Toggle slip mode Csúsztató mód ki/be - - + + BPM BPM - + Increase BPM by 1 BPM növelése 1-gyel - + Decrease BPM by 1 BPM csökkentése 1-gyel - + Increase BPM by 0.1 BPM növelése 0,1-gyel - + Decrease BPM by 0.1 BPM csökkentése 0,1-gyel - + BPM tap button BPM koppintás gomb - + Toggle quantize mode Kvantálási mód kapcsolása - + One-time beat sync (tempo only) Egyszeres ütemigazítás (csak BPM) - + One-time beat sync (phase only) Egyszeres ütemigazítás (csak fázis) - + Toggle keylock mode Hangszín zár kapcsoló - + Equalizers Hangszínszabályzók - + Vinyl Control Bakelit vezérlés - + Toggle vinyl-control cueing mode (OFF/ONE/HOT) - + Toggle vinyl-control mode (ABS/REL/CONST) Bakelit vezérlési mód váltása (ABSZ/REL/KONST) - + Pass through external audio into the internal mixer - + Cues Cue pontok - + Cue button Cue gomb - + Set cue point Cue pont beállítása - + Go to cue point Cue pontra ugrás - + Go to cue point and play Cue pontra ugrás és lejátszás - + Go to cue point and stop Cue pontra ugrás és megállítás - + Preview from cue point Előhallgatás cue ponttól - + Cue button (CDJ mode) Cue gomb (CDJ mód) - + Stutter cue - + Hotcues Hotcue pontok - + Set, preview from or jump to hotcue %1 - + Clear hotcue %1 Hotcue %1 törlése - + Set hotcue %1 Hotcue %1 beállítása - + Jump to hotcue %1 Ugrás a(z) % 1 hotcue-hoz - + Jump to hotcue %1 and stop Ugrás a(z) hotcue-hoz és stop - + Jump to hotcue %1 and play - + Preview from hotcue %1 - - + + Hotcue %1 Hotcue %1 - + Looping Ismétlés - + Loop In button Ismétlés kezdete gomb - + Loop Out button Ismétlés vége gomb - + Loop Exit button Ismétlésből kilépés gomb - + 1/2 1/2 - + 1 1 - + 2 2 - + 4 4 - + 8 8 - + 16 16 - + 32 32 - + 64 64 - + Move loop forward by %1 beats Ismétlés előre mozgatása %1 ütemmel - + Move loop backward by %1 beats Ismétlés hátra mozgatása %1 ütemmel - + Create %1-beat loop %1 ütem ismétlésének létrehozása - + Create temporary %1-beat loop roll %1 ütem ismétlésének átmeneti létrehozása csúsztatással - + Library Könyvtár - + Slot %1 - + Headphone Mix Fejhallgató Mix - + Headphone Split Cue Megosztott fejhallgató - + Headphone Delay Fejhallgató Késleltetés - + Play Lejátszás - + Fast Rewind Gyors hátracsévélés - + Fast Rewind button Gyors hátracsévélés gomb - + Fast Forward Gyors előrecsévélés - + Fast Forward button Gyors előrecsévélés gomb - + Strip Search Szalag keresés - + Play Reverse Lejátszás visszafelé - + Play Reverse button Lejátszás visszafelé gomb - + Reverse Roll (Censor) Visszafele játszás csúsztatással (Cenzúra) - + Jump To Start Ugrás a kezdőponthoz - + Jumps to start of track A szám elejére ugrik - + Play From Start Lejátszás a legelejétől - + Stop Megállítás - + Stop And Jump To Start Megállítás és ugrás a kezdőponthoz - + Stop playback and jump to start of track Megállítja a lejátszást és a szám elejére ugrik - + Jump To End Ugrás a végponthoz - + Volume Hangerő - - - + + + Volume Fader Hangerő Fader - - + + Full Volume Teljes hangerő - - + + Zero Volume Némítás - + Track Gain Szám erősítése - + Track Gain knob - - + + Mute Némítás - + Eject Kiadás - - + + Headphone Listen - + Headphone listen (pfl) button - + Repeat Mode Ismétlés módja - + Slip Mode Csúsztató mód - - + + Orientation Tájolás - - + + Orient Left Balra igazítás - - + + Orient Center Középre igazítás - - + + Orient Right Jobbra igazítás - + BPM +1 BPM +1 - + BPM -1 BPM -1 - + BPM +0.1 BPM +0.1 - + BPM -0.1 BPM -0.1 - + BPM Tap BPM gomb - + Adjust Beatgrid Faster +.01 Ütemrács felgyorsítása +.01 - + Increase track's average BPM by 0.01 Szám átlagos BPM-jének növelése 0.01-gyel - + Adjust Beatgrid Slower -.01 Ütemrács lelassítása -.01 - + Decrease track's average BPM by 0.01 Szám átlagos BPM-jének csökkentése 0.01-gyel - + Move Beatgrid Earlier Ütemrács csúsztatása korábbra - + Adjust the beatgrid to the left Ütemrács mozgatása balra - + Move Beatgrid Later Ütemrács csúsztatása későbbre - + Adjust the beatgrid to the right Ütemrács mozgatása jobbra - + Adjust Beatgrid Ütemrács igazítása - + Align beatgrid to current position Ütemrács igazítása a jelenlegi pozícióra - + Adjust Beatgrid - Match Alignment - + Adjust beatgrid to match another playing deck. Ütemrács igazítása másik futó lemezjátszóhoz. - + Quantize Mode Kvantált mód - + Sync Szinkron - + Beat Sync One-Shot - + Sync Tempo One-Shot - + Sync Phase One-Shot - + Pitch control (does not affect tempo), center is original pitch Hangmagasság vezérlő (nincs hatással a tempóra), középen az eredeti érték - + Pitch Adjust Hangmagasság állítás - + Adjust pitch from speed slider pitch Hangmagasság állítása a sebesség csúszkával - + Match musical key Zenei hangnem illesztése - + Match Key Hangnem illesztése - + Reset Key Hangnem visszaállítása - + Resets key to original Visszaállítja a hangnemet az eredetire - + High EQ Magas EQ - + Mid EQ Közép EQ - - + + Main Output Fő kimenet - + Main Output Balance Fő kimenet egyensúlya - + Main Output Delay Fő kimenet késleltetése - + Main Output Gain Fő kimenet erősítése - + Low EQ Mély EQ - + Toggle Vinyl Control Bakelit vezérlés kapcsolása - + Toggle Vinyl Control (ON/OFF) Bakelit vezérlés kapcsolása (BE/KI) - + Vinyl Control Mode Bakelit vezérlés mód - + Vinyl Control Cueing Mode - + Vinyl Control Passthrough - + Vinyl Control Next Deck Bakelit vezérlés következő lejátszó - + Single deck mode - Switch vinyl control to next deck Egylejátszós mód - Bakelit vezérlés váltása a következő lejátszóra - + Cue Cue - + Set Cue Cue pont beállítása - + Go-To Cue Cue pontra ugrás - + Go-To Cue And Play Cue pontra ugrás és lejátszás - + Go-To Cue And Stop Cue pontra ugrás és megállítás - + Preview Cue Cue pont előhallgatása - + Cue (CDJ Mode) Cue (CDJ mód) - + Stutter Cue - + Go to cue point and play after release - + Clear Hotcue %1 Hotcue %1 törlés - + Set Hotcue %1 Hotcue %1 beállítás - + Jump To Hotcue %1 Ugrás a %1 Hotcue - + Jump To Hotcue %1 And Stop - + Jump To Hotcue %1 And Play - + Preview Hotcue %1 Hotcue %1 előnézet - + Loop In Ismétlést kezd - + Loop Out Ismétlést zár - + Loop Exit Ismétlésből kilép - + Reloop/Exit Loop Újraismétlés/kilépés - + Loop Halve Ismétlés felezése - + Loop Double Ismétlés kétszerezése - + 1/32 1/32 - + 1/16 1/16 - + 1/8 1/8 - + 1/4 1/4 - + Move Loop +%1 Beats Ismétlés mozgatása +%1 ütemmel - + Move Loop -%1 Beats Ismétlés mozgatása -%1 ütemmel - + Loop %1 Beats %1 ütem ismétlése - + Loop Roll %1 Beats %1 ütem ismétlése csúsztatással - + Add to Auto DJ Queue (bottom) Hozzáadás az Auto DJ listához (végére) - + Append the selected track to the Auto DJ Queue A kiválasztott szám hozzáadása az Auto DJ lejátszási listájának végére - + Add to Auto DJ Queue (top) Hozzáadás az Auto DJ listához (elejére) - + Prepend selected track to the Auto DJ Queue A kiválasztott szám hozzáadása az Auto DJ lejátszási listájának elejére - + Load Track Szám betöltése - + Load selected track Kiválasztott szám betöltése - + Load selected track and play Kiválasztott szám betöltése és lejátszás - - + + Record Mix Mix felvétele - + Toggle mix recording Mix felvételének kapcsolása - + Effects Effektek - - Quick Effects - Gyors effektek - - - + Deck %1 Quick Effect Super Knob - + + Quick Effect Super Knob (control linked effect parameters) - - + + + + Quick Effect Gyors effekt - + Clear Unit Egység ürítése - + Clear effect unit - + Toggle Unit Egység kapcsolása - + Dry/Wet Száraz/nedves - + Adjust the balance between the original (dry) and processed (wet) signal. - + Super Knob Super potméter - + Next Chain Következő lánc - + Assign Hozzárendelés - + Clear Törlés - + Clear the current effect A jelenlegi effekt törlése - + Toggle - + Toggle the current effect - + Next Következő - + Switch to next effect Váltás a következő effektre - + Previous Előző - + Switch to the previous effect Váltás az előző effektre - + Next or Previous Következő vagy előző - + Switch to either next or previous effect - - + + Parameter Value Paraméter érték - - + + Microphone Ducking Strength - + Microphone Ducking Mode - + Gain Előerősítés - + Gain knob - + Shuffle the content of the Auto DJ queue Az Auto DJ lejátszási lista tartalmának összekeverése. - + Skip the next track in the Auto DJ queue Az Auto DJ lejátszási lista következő számának átugrása - + Auto DJ Toggle Auto DJ kapcsolása - + Toggle Auto DJ On/Off Auto DJ be/kikapcsolása - + Show/hide the microphone & auxiliary section Megmutatja/elrejti a mikrofon és külső bemenet részt - + 4 Effect Units Show/Hide - + Switches between showing 2 and 4 effect units - + Mixer Show/Hide Keverő mutatása/rejtése - + Show or hide the mixer. Megmutatja vagy elrejti a keverőt - + Cover Art Show/Hide (Library) Borítókép mutatása/rejtése (Könyvtár) - + Show/hide cover art in the library Megmutatja vagy elrejti a könyvtárban a borítóképet - + Library Maximize/Restore Könyvtár maximalizálása/visszaállítása - + Maximize the track library to take up all the available screen space. Maximalizálja a számkönyvtárat, hogy minden elérhető helyet elfoglaljon a képernyőn. - + Effect Rack Show/Hide - + Show/hide the effect rack - + Waveform Zoom Out Hullámforma kicsinyítése - + Headphone Gain Fejhallgató erősítés - + Headphone gain Fejhallgató erősítés - + Tap to sync tempo (and phase with quantize enabled), hold to enable permanent sync - + One-time beat sync tempo (and phase with quantize enabled) - + Playback Speed Lejátszási sebesség - + Playback speed control (Vinyl "Pitch" slider) - + Pitch (Musical key) Hangmagasság (Zenei hangnem) - + Increase Speed Sebesség növelése - + Adjust speed faster (coarse) Sebesség növelése (durva) - + Increase Speed (Fine) Sebesség növelése (finom) - + Adjust speed faster (fine) Sebesség növelése (finom) - + Decrease Speed Sebesség csökkentése - + Adjust speed slower (coarse) Sebesség csökkentése (durva) - + Adjust speed slower (fine) Sebesség csökkentése (finom) - + Temporarily Increase Speed Sebesség növelése átmenetileg - + Temporarily increase speed (coarse) - + Temporarily Increase Speed (Fine) - + Temporarily increase speed (fine) - + Temporarily Decrease Speed Sebesség ideiglenes csökkentése - + Temporarily decrease speed (coarse) - + Temporarily Decrease Speed (Fine) - + Temporarily decrease speed (fine) - - + + Adjust %1 - + + Deck %1 Stem %2 + + + + Effect Unit %1 - + Button Parameter %1 - + Skin Kinézet - + Controller - + Crossfader / Orientation - + Main Output gain Fő kimenet erősítése - + Main Output balance Fő kimenet egyensúlya - + Main Output delay Fő kimenet késleltetése - + Headphone Fejhallgató - - + + Kill %1 + %1 is "Low EQ" "Mid EQ" or "High EQ" - + Eject or un-eject track, i.e. reload the last-ejected track (of any deck)<br>Double-press to reload the last replaced track. In empty decks it reloads the second-last ejected track. - + BPM / Beatgrid BPM / Ütemrács - + Halve BPM BPM felezése - + Multiply current BPM by 0.5 - + 2/3 BPM 2/3 BPM - + Multiply current BPM by 0.666 Jelenlegi BPM 0.666-szorosa - + 3/4 BPM 3/4 BPM - + Multiply current BPM by 0.75 - + 4/3 BPM 4/3 BPM - + Multiply current BPM by 1.333 - + 3/2 BPM 3/2 BPM - + Multiply current BPM by 1.5 - + Double BPM BPM duplázása - + Multiply current BPM by 2 - + Tempo Tap - + Tempo tap button - + Move Beatgrid - + Adjust the beatgrid to the left or right - + Move Beatgrid Half a Beat - + Adjust the beatgrid by exactly one half beat. Usable only for tracks with constant tempo. - - + + Toggle the BPM/beatgrid lock - + Revert last BPM/Beatgrid Change - + Revert last BPM/Beatgrid Change of the loaded track. - + Sync / Sync Lock - + Internal Sync Leader - + Toggle Internal Sync Leader - - + + Internal Leader BPM - + Internal Leader BPM +1 - + Increase internal Leader BPM by 1 - + Internal Leader BPM -1 - + Decrease internal Leader BPM by 1 - + Internal Leader BPM +0.1 - + Increase internal Leader BPM by 0.1 - + Internal Leader BPM -0.1 - + Decrease internal Leader BPM by 0.1 - + Sync Leader - + Sync mode 3-state toggle / indicator (Off, Soft Leader, Explicit Leader) - + Speed Sebesség - + Decrease Speed (Fine) - + Pitch (Musical Key) Hangmagasság (Zenei hangnem) - + Increase Pitch Hangmagasság növelése - + Increases the pitch by one semitone Hangmagasság növelése félhanggal - + Increase Pitch (Fine) Hangmagasság növelése (finom) - + Increases the pitch by 10 cents - + Decrease Pitch Hangmagasság csökkentése - + Decreases the pitch by one semitone Hangmagasság csökkentése félhanggal - + Decrease Pitch (Fine) Hangmagasság csökkentése (finom) - + Decreases the pitch by 10 cents - + Keylock Hangnemzár - + CUP (Cue + Play) CUP (Cue + Lejátszás) - + Shift cue points earlier Cue pontok igazítása korábbra - + Shift cue points 10 milliseconds earlier Cue pontok igazítása 10 milliszekundummal korábbra - + Shift cue points earlier (fine) Cue pontok igazítása korábbra (finom) - + Shift cue points 1 millisecond earlier Cue pontok igazítása 1 milliszekundummal korábbra - + Shift cue points later Cue pontok igazítása későbbre - + Shift cue points 10 milliseconds later Cue pontok igazítása 10 milliszekundummal későbbre - + Shift cue points later (fine) Cue pontok igazítása későbbre (finom) - + Shift cue points 1 millisecond later Cue pontok igazítása 1 milliszekundummal későbbre - - + + Sort hotcues by position - - + + Sort hotcues by position (remove offsets) - + Hotcues %1-%2 Hotcuek %1-%2 - + Intro / Outro Markers - + Intro Start Marker - + Intro End Marker - + Outro Start Marker - + Outro End Marker - + intro start marker - + intro end marker - + outro start marker - + outro end marker - + Activate %1 [intro/outro marker - + Jump to or set the %1 [intro/outro marker - + Set %1 [intro/outro marker - + Set or jump to the %1 [intro/outro marker - + Clear %1 [intro/outro marker - + Clear the %1 [intro/outro marker - + if the track has no beats the unit is seconds - + Loop Selected Beats Kiválasztott ütemek ismétlése - + Create a beat loop of selected beat size Kiválasztott ütemszámú ismétlés indítása - + Loop Roll Selected Beats Kiválasztott ütemek ismétlése csúsztatással - + Create a rolling beat loop of selected beat size Kiválasztott ütemszámú ismétlés indítása csúsztatással - + Loop %1 Beats set from its end point - + Loop Roll %1 Beats set from its end point - + Create %1-beat loop with the current play position as loop end - + Create temporary %1-beat loop roll with the current play position as loop end - + Loop Beats Ütemek ismétlése - + Loop Roll Beats Ütemek ismétlése csúsztatással - + Go To Loop In - + Go to Loop In button - + Go To Loop Out - + Go to Loop Out button - + Toggle loop on/off and jump to Loop In point if loop is behind play position Ismétlés be/kikapcsolása és ugrás az ismétlés kezdőpontjára, ha az ismétlés a lejátszótű mögött van - + Reloop And Stop Újraismétlés és megállítás - + Enable loop, jump to Loop In point, and stop Ismétlés bekapcsolása, kezdetére ugrás és megállítása - + Halve the loop length Az ismétlés hosszának felezése - + Double the loop length Az ismétlés hosszának duplázása - + Beat Jump / Loop Move Ütemugrás / Ismétlés mozgatása - + Jump / Move Loop Forward %1 Beats Ugorj / Mozgasd az ismétlést %1 ütemmel előre - + Jump / Move Loop Backward %1 Beats Ugorj / Mozgasd az ismétlést %1 ütemmel vissza - + Jump forward by %1 beats, or if a loop is enabled, move the loop forward %1 beats - + Jump backward by %1 beats, or if a loop is enabled, move the loop backward %1 beats - + Beat Jump / Loop Move Forward Selected Beats - + Jump forward by the selected number of beats, or if a loop is enabled, move the loop forward by the selected number of beats - + Beat Jump / Loop Move Backward Selected Beats - + Jump backward by the selected number of beats, or if a loop is enabled, move the loop backward by the selected number of beats - + Beat Jump - + Indicate which loop marker remain static when adjusting the size or is inherited from the current position - + Beat Jump / Loop Move Forward - + Beat Jump / Loop Move Backward - + Loop Move Forward - + Loop Move Backward - + Remove Temporary Loop - + Remove the temporary loop - + Navigation Navigáció - + Move up Mozgás fel - + Equivalent to pressing the UP key on the keyboard Megegyezik a FEL billentyűvel - + Move down Mozgás le - + Equivalent to pressing the DOWN key on the keyboard Megegyezik a LE billentyűvel - + Move up/down Fel/le mozgás - + Move vertically in either direction using a knob, as if pressing UP/DOWN keys Mozogj függőlegesen mindkét irányba enkóder használatával, mintha a FEL/LE gombokat nyomkodnád - + Scroll Up Tekerés fel - + Equivalent to pressing the PAGE UP key on the keyboard Megegyezik a PAGE UP billentyűvel - + Scroll Down Tekerés le - + Equivalent to pressing the PAGE DOWN key on the keyboard Megegyezik a PAGE DOWN billentyűvel - + Scroll up/down Tekerés fel/le - + Scroll vertically in either direction using a knob, as if pressing PGUP/PGDOWN keys Tekerj függőlegesen mindkét irányba enkóder használatával, mintha a PGUP/PGDOWN billentyűket nyomkodnád - + Move left Mozgás balra - + Equivalent to pressing the LEFT key on the keyboard Megegyezik a BAL billentyűvel - + Move right Mozgás jobbra - + Equivalent to pressing the RIGHT key on the keyboard Megegyezik a JOBB billentyűvel - + Move left/right Mozgás balra/jobbra - + Move horizontally in either direction using a knob, as if pressing LEFT/RIGHT keys Mozogj vízszintesen mindkét irányba enkóder használatával, mintha a BAL/JOBB billentyűket nyomkodnád - + Move focus to right pane Fókusz mozgatása a jobb panelra - + Equivalent to pressing the TAB key on the keyboard Megegyezik a TAB billentyűvel - + Move focus to left pane Fókusz mozgatása a bal panelra - + Equivalent to pressing the SHIFT+TAB key on the keyboard Megegyezik a SHIFT+TAB billentyűkombinációval - + Move focus to right/left pane Fókusz mozgatása a jobb/bal panelra - + Move focus one pane to right or left using a knob, as if pressing TAB/SHIFT+TAB keys Fókusz mozgatása egy panellal jobbra vagy balra, mintha a TAB/SHIFT+TAB billentyűket nyomkodnád - + Sort focused column - + Sort the column of the cell that is currently focused, equivalent to clicking on its header - + Go to the currently selected item Ugrás az utoljára kiválasztott elemhez - + Choose the currently selected item and advance forward one pane if appropriate - + Load Track and Play Szám betöltése és lejátszás - + Add to Auto DJ Queue (replace) Hozzáadás az Auto DJ listához (csere) - + Replace Auto DJ Queue with selected tracks - + Select next search history - + Selects the next search history entry - + Select previous search history - + Selects the previous search history entry - + Move selected search entry - + Moves the selected search history item into given direction and steps - + Clear search - + Clears the search query - - + + Select Next Color Available - + Select the next color in the color palette for the first selected track - - + + Select Previous Color Available - + Select the previous color in the color palette for the first selected track - + + Quick Effects Deck %1 + + + + Deck %1 Quick Effect Enable Button - + + Quick Effect Enable Button Gyors effekt engedély gomb - + + Deck %1 Stem %2 Quick Effect Super Knob + + + + + Deck %1 Stem %2 Quick Effect Enable Button + + + + Enable or disable effect processing - + Super Knob (control effects' Meta Knobs) - + Mix Mode Toggle Mix mód kiválsztás - + Toggle effect unit between D/W and D+W modes - + Next chain preset Következő lánc beállítás - + Previous Chain Előző lánc - + Previous chain preset Előző lánc beállítás - + Next/Previous Chain Következő/előző lánc - + Next or previous chain preset - - + + Show Effect Parameters Effekt paraméterek mutatása - + Effect Unit Assignment - + Meta Knob - + Effect Meta Knob (control linked effect parameters) - + Meta Knob Mode - + Set how linked effect parameters change when turning the Meta Knob. - + Meta Knob Mode Invert - + Invert how linked effect parameters change when turning the Meta Knob. - - + + Button Parameter Value - + Microphone / Auxiliary - + Microphone On/Off Kikrofon ki/be - + Microphone on/off Mikrofon be/ki - + Toggle microphone ducking mode (OFF, AUTO, MANUAL) - + Auxiliary On/Off AUX ki/be - + Auxiliary on/off - - Auto DJ - Auto DJ + + Auto DJ + Auto DJ + + + + Auto DJ Shuffle + + + + + Auto DJ Skip Next + + + + + Auto DJ Add Random Track + + + + + Add a random track to the Auto DJ queue + + + + + Auto DJ Fade To Next + + + + + Trigger the transition to the next track + + + + + User Interface + Felhasználói felület + + + + Samplers Show/Hide + Sampler mutat/elrejt + + + + Show/hide the sampler section + Sampler szekció mutat/elrejt + + + + Microphone && Auxiliary Show/Hide + keep double & to prevent creation of keyboard accelerator + Mikrofon és külső bemenetek mutatása/rejtése + + + + Waveform Zoom Reset To Default + + + + + Reset the waveform zoom level to the default value selected in Preferences -> Waveforms + + + + + Select the next color in the color palette for the loaded track. + + + + + Select previous color in the color palette for the loaded track. + + + + + Navigate Through Track Colors + + + + + Select either next or previous color in the palette for the loaded track. + + + + + Start/Stop Live Broadcasting + + + + + Stream your mix over the Internet. + + + + + Start/stop recording your mix. + + + + + + Deck %1 Stems + + + + + + Samplers + + + + + Vinyl Control Show/Hide + + + + + Show/hide the vinyl control section + + + + + Preview Deck Show/Hide + + + + + Show/hide the preview deck + + + + + Toggle 4 Decks + + + + + Switches between showing 2 decks and 4 decks. + + + + + Cover Art Show/Hide (Decks) + + + + + Show/hide cover art in the main decks + + + + + Vinyl Spinner Show/Hide + - - Auto DJ Shuffle + + Show/hide spinning vinyl widget - - Auto DJ Skip Next + + Vinyl Spinners Show/Hide (All Decks) - - Auto DJ Add Random Track + + Show/Hide all spinnies - - Add a random track to the Auto DJ queue + + Toggle Waveforms - - Auto DJ Fade To Next + + Show/hide the scrolling waveforms. - - Trigger the transition to the next track - + + Waveform zoom + Hanghullámforma zoom - - User Interface - Felhasználói felület + + Waveform Zoom + Hanghullámforma zoom - - Samplers Show/Hide - Sampler mutat/elrejt + + Zoom waveform in + - - Show/hide the sampler section - Sampler szekció mutat/elrejt + + Waveform Zoom In + - - Microphone && Auxiliary Show/Hide - keep double & to prevent creation of keyboard accelerator - Mikrofon és külső bemenetek mutatása/rejtése + + Zoom waveform out + - - Waveform Zoom Reset To Default + + Star Rating Up - - Reset the waveform zoom level to the default value selected in Preferences -> Waveforms + + Increase the track rating by one star - - Select the next color in the color palette for the loaded track. + + Star Rating Down - - Select previous color in the color palette for the loaded track. + + Decrease the track rating by one star + + + Controller - - Navigate Through Track Colors + + Unknown + + + ControllerHidReportTabsManager - - Select either next or previous color in the palette for the loaded track. + + Read - - Start/Stop Live Broadcasting + + Send - - Stream your mix over the Internet. + + Payload Size - - Start/stop recording your mix. + + bytes - - - Samplers + + Byte Position - - Vinyl Control Show/Hide + + Bit Position - - Show/hide the vinyl control section + + Bit Size - - Preview Deck Show/Hide + + Logical Min - - Show/hide the preview deck + + Logical Max - - Toggle 4 Decks + + Value - - Switches between showing 2 decks and 4 decks. + + Physical Min - - Cover Art Show/Hide (Decks) + + Physical Max - - Show/hide cover art in the main decks + + Unit Scaling - - Vinyl Spinner Show/Hide + + Unit - - Show/hide spinning vinyl widget + + Abs/Rel - - Vinyl Spinners Show/Hide (All Decks) + + + Wrap - - Show/Hide all spinnies + + + Linear - - Toggle Waveforms + + + Preferred - - Show/hide the scrolling waveforms. + + + Null - - Waveform zoom - Hanghullámforma zoom + + + Volatile + - - Waveform Zoom - Hanghullámforma zoom + + Usage Page + - - Zoom waveform in + + Usage - - Waveform Zoom In + + Relative - - Zoom waveform out + + Absolute - - Star Rating Up + + No Wrap - - Increase the track rating by one star + + Non Linear - - Star Rating Down + + No Preferred - - Decrease the track rating by one star + + No Null - - - Controller - - Unknown + + Non Volatile @@ -3677,27 +3871,27 @@ trace - Above + Profiling messages ControllerScriptEngineLegacy - + Controller Mapping File Problem - + The mapping for controller "%1" cannot be opened. - + The functionality provided by this controller mapping will be disabled until the issue has been resolved. - + File: - + Error: @@ -3730,7 +3924,7 @@ trace - Above + Profiling messages - + Lock Zárolás @@ -3760,7 +3954,7 @@ trace - Above + Profiling messages - + Enter new name for crate: @@ -3777,22 +3971,22 @@ trace - Above + Profiling messages Rekesz importálása - + Export Crate Rekesz exportálása - + Unlock Feloldás - + An unknown error occurred while creating crate: Egy ismeretlen hiba lépett fel a rekesz készítése közben: - + Rename Crate Rekesz átnevezése @@ -3802,28 +3996,28 @@ trace - Above + Profiling messages - + Confirm Deletion - - + + Renaming Crate Failed Rekesz átnevezése sikertelen - + Crate Creation Failed Rekesz elkészítése sikertelen - + M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Text CSV (*.csv);;Readable Text (*.txt) M3U lejátszási lista (*.m3u);;M3U8 lejátszási lista (*.m3u8);;PLS lejátszási lista (*.pls);;Szöveg CSV (*.csv);;Olvasható szöveg (*.txt) - + M3U Playlist (*.m3u) M3U lejátszási lista (*.m3u) @@ -3844,17 +4038,17 @@ trace - Above + Profiling messages A Rekeszekkel tudod a zenéidet úgy rendszerezni, ahogy szeretnéd! - + Do you really want to delete crate <b>%1</b>? - + A crate cannot have a blank name. Rekesz neve nem lehet üres. - + A crate by that name already exists. Rekesz ezzel a névvel már létezik. @@ -3949,12 +4143,12 @@ trace - Above + Profiling messages - + Official Website - + Donate @@ -4740,122 +4934,139 @@ You tried to learn: %1,%2 DlgPrefBroadcast - + Icecast 2 Icecast 2 - + Shoutcast 1 Shoutcast 1 - + Icecast 1 Icecast 1 - + MP3 MP3 - + Ogg Vorbis Ogg Vorbis - + Opus - + AAC - + HE-AAC - + HE-AACv2 - + Automatic - + Mono Mono - + Stereo Sztereó - - - - + + Saving settings failed + + + + + The password for '%1' contains invalid characters. Please enter it again. + +Note: This can for example be invisible linebreaks when using copy/paste. + + + + + + Action failed Az akció nem sikerült - + You can't create more than %1 source connections. - + Source connection %1 - + + Settings for %1 + Settings for broadcast profile, %1 is the profile name placeholder + + + + At least one source connection is required. - + Are you sure you want to disconnect every active source connection? - - + + Confirmation required - + '%1' has the same Icecast mountpoint as '%2'. Two source connections to the same server that have the same mountpoint can not be enabled simultaneously. - + Are you sure you want to delete '%1'? - + Renaming '%1' - + New name for '%1': - + Can't rename '%1' to '%2': name already in use @@ -4868,27 +5079,27 @@ Two source connections to the same server that have the same mountpoint can not - + Mixxx Icecast Testing Mixxx Icecast tesztelés - + Public stream Nyilvános stream - + http://www.mixxx.org - + Stream name Stream neve - + Due to flaws in some streaming clients, updating Ogg Vorbis metadata dynamically can cause listener glitches and disconnections. Check this box to update the metadata anyway. @@ -4928,67 +5139,72 @@ Two source connections to the same server that have the same mountpoint can not - + + Available fields: $artist, $title, $year, $album, $genre, $bpm + + + + Dynamically update Ogg Vorbis metadata. - + ICQ - + AIM - + Website Weboldal - + Live mix Élő mix - + IRC - + Select a source connection above to edit its settings here - + Password storage - + Plain text - + Secure storage (OS keychain) - + Genre Műfaj - + Use UTF-8 encoding for metadata. - + Description Leírás @@ -5014,42 +5230,42 @@ Two source connections to the same server that have the same mountpoint can not Csatornák - + Server connection Szerver kapcsolat - + Type Típus - + Host Kiszolgáló - + Login Bejelentkezés - + Mount Felcsatol - + Port Port - + Password Jelszó - + Stream info @@ -5059,17 +5275,17 @@ Two source connections to the same server that have the same mountpoint can not - + Use static artist and title. - + Static title - + Static artist @@ -5128,13 +5344,14 @@ Two source connections to the same server that have the same mountpoint can not DlgPrefColors - - + + + By hotcue number - + Color Szín @@ -5179,17 +5396,22 @@ Two source connections to the same server that have the same mountpoint can not + Jump default color + + + + When key colors are enabled, Mixxx will display a color hint associated with each key. - + Enable Key Colors - + Key palette @@ -5197,113 +5419,113 @@ associated with each key. DlgPrefController - + Apply device settings? - + Your settings must be applied before starting the learning wizard. Apply settings and continue? - + None Nincs - + %1 by %2 - + Mapping has been edited - + Always overwrite during this session - + Save As - + Overwrite - + Save user mapping - + Enter the name for saving the mapping to the user folder. - + Saving mapping failed - + A mapping cannot have a blank name and may not contain special characters. - + A mapping file with that name already exists. - + Do you want to save the changes? - + Troubleshooting - + <font color='#BB0000'><b>If you use this mapping your controller may not work correctly. Please select another mapping or disable the controller.</b></font><br><br>This mapping was designed for a newer Mixxx Controller Engine and cannot be used on your current Mixxx installation.<br>Your Mixxx installation has Controller Engine version %1. This mapping requires a Controller Engine version >= %2.<br><br>For more information visit the wiki page on <a href='https://mixxx.org/wiki/doku.php/controller_engine_versions'>Controller Engine Versions</a>. - + Mapping already exists. - + <b>%1</b> already exists in user mapping folder.<br>Overwrite or save with a new name? - + Clear Input Mappings - + Are you sure you want to clear all input mappings? - + Clear Output Mappings - + Are you sure you want to clear all output mappings? @@ -5321,100 +5543,105 @@ Apply settings and continue? Engedélyezve - + + Refresh mapping list + + + + Device Info - + Physical Interface: - + Vendor name: - + Product name: - + Vendor ID - + VID: - + Product ID - + PID: - + Serial number: - + USB interface number: - + HID Usage-Page: - + HID Usage: - + Description: - + Support: - + Screens preview - + Input Mappings - - + + Search - - + + Add Hozzáadás - - + + Remove Eltávolítás @@ -5434,17 +5661,17 @@ Apply settings and continue? - + Mapping Info - + Author: - + Name: @@ -5454,28 +5681,28 @@ Apply settings and continue? - + Data protocol: - + Mapping Files: - + Mapping Settings - - + + Clear All Összes törlése - + Output Mappings @@ -5490,21 +5717,21 @@ Apply settings and continue? - Mixxx uses "mappings" to connect messages from your controller to controls in Mixxx. If you do not see a mapping for your controller in the "Load Mapping" menu when you click on your controller on the left sidebar, you may be able to download one online from the %1. Place the XML (.xml) and Javascript (.js) file(s) in the "User Mapping Folder" then restart Mixxx. If you download a mapping in a ZIP file, extract the XML and Javascript file(s) from the ZIP file to your "User Mapping Folder" then restart Mixxx. + Mixxx uses "mappings" to connect messages from your controller to controls in Mixxx. If you do not see a mapping for your controller in the "Load Mapping" menu when you click on your controller on the left sidebar, you may be able to download one online from the %1. Place the XML (.xml) and Javascript (.js) file(s) in the "User Mapping Folder" then click the Reload button next to the mapping selector to reload all available mappings. If you download a mapping in a ZIP file, extract the XML and Javascript file(s) from the ZIP file to your "User Mapping Folder" then click the Reload button. - + Mixxx DJ Hardware Guide - + MIDI Mapping File Format - + MIDI Scripting with Javascript @@ -5673,137 +5900,137 @@ Apply settings and continue? DlgPrefDeck - + Mixxx mode Mixxx mód - + Mixxx mode (no blinking) - + Pioneer mode - + Denon mode - + Numark mode - + CUP mode - + mm:ss%1zz - Traditional - + mm:ss - Traditional (Coarse) - + s%1zz - Seconds - + sss%1zz - Seconds (Long) - + s%1sss%2zz - Kiloseconds - + Intro start - + Main cue - + First hotcue - + First sound (skip silence) - + Beginning of track - + Reject - + Allow, but stop deck - + Allow, play from load point - + 4% 4% - + 6% (semitone) 6% (félhang) - + 8% (Technics SL-1210) 8% (Technics SL-1210) - + 10% 10% - + 16% 16% - + 24% 24% - + 50% 50% - + 90% 90% @@ -6259,57 +6486,57 @@ Fogd-és-vidd módszerrel mindig másolhatsz lejátszókat. A kiválasztott kinézet mérete nagyobb, mint a képernyőd felbontása. - + Allow screensaver to run Képernyővédő engedése - + Prevent screensaver from running Képernyővédő letiltása - + Prevent screensaver while playing Képernyővédő letiltása lejátszás közben - + Disabled - + 2x MSAA - + 4x MSAA - + 8x MSAA - + 16x MSAA - + This skin does not support color schemes Ez a kinézet nem támogat színsémákat - + Information Információ - + Mixxx must be restarted before the new locale, scaling or multi-sampling settings will take effect. @@ -6536,67 +6763,97 @@ and allows you to pitch adjust them for harmonic mixing. - + Music Directory Added Zenei könyvtár hozzáadva - + You added one or more music directories. The tracks in these directories won't be available until you rescan your library. Would you like to rescan now? Hozzáadtál egy vagy több zenei könyvtárat. A zeneszámok ezekben a könyvtárakban nem lesznek elérhetők, amíg újra nem olvastatod a könyvtáraidat. Szeretnéd most újraolvastatni? - + Scan Beolvasás - + Item is not a directory or directory is missing - + Choose a music directory Válassz zenei gyűjtemény könyvtárat - + Confirm Directory Removal Könyvtár Törlésének Megerősítse - + Mixxx will no longer watch this directory for new tracks. What would you like to do with the tracks from this directory and subdirectories?<ul><li>Hide all tracks from this directory and subdirectories.</li><li>Delete all metadata for these tracks from Mixxx permanently.</li><li>Leave the tracks unchanged in your library.</li></ul>Hiding tracks saves their metadata in case you re-add them in the future. - + Metadata means all track details (artist, title, playcount, etc.) as well as beatgrids, hotcues, and loops. This choice only affects the Mixxx library. No files on disk will be changed or deleted. - + Hide Tracks Számok elrejtése - + Delete Track Metadata Számok adatainak törlése - + Leave Tracks Unchanged Sávok Változatlanul Hagyása - + Relink music directory to new location - + + Black + + + + + ExtraBold + + + + + Bold + + + + + SemiBold + + + + + Medium + + + + + Light + + + + Select Library Font @@ -6645,262 +6902,267 @@ and allows you to pitch adjust them for harmonic mixing. - + Audio File Formats Zenei fájlformátumok - + Track Table View - + Track Double-Click Action: - + BPM display precision: - + Session History - + Track duplicate distance - + When playing a track again log it to the session history only if more than N other tracks have been played in the meantime - + History playlist with less than N tracks will be deleted<br/><br/>Note: the cleanup will be performed during startup and shutdown of Mixxx. - + Delete history playlist with less than N tracks - + Library Font: - + + Show scan summary dialog + + + + Grey out played tracks - + Track Search - + Enable search completions - + Enable search history keyboard shortcuts - + Percentage of pitch slider range for 'fuzzy' BPM search: - + This range will be used for the 'fuzzy' BPM search (~bpm:) via the search box, as well as for BPM search in Track context menu > Search related Tracks - + Preferred Cover Art Fetcher Resolution - + Fetch cover art from coverartarchive.com by using Import Metadata From Musicbrainz. - + Note: ">1200 px" can fetch up to very large cover arts. - + >1200 px (if available) >1200 képpont (ha elérhető) - + 1200 px (if available) 1200 képpont (ha elérhető) - + 500 px 500 képpont - + 250 px 250 képpont - + Settings Directory - + The Mixxx settings directory contains the library database, various configuration files, log files, track analysis data, as well as custom controller mappings. - + Edit those files only if you know what you are doing and only while Mixxx is not running. - + Open Mixxx Settings Folder - + Library Row Height: - + Use relative paths for playlist export if possible - + ... ... - + px px - + Synchronize library track metadata from/to file tags - + Automatically write modified track metadata from the library into file tags and reimport metadata from updated file tags into the library - + Synchronize Serato track metadata from/to file tags (experimental) - + Keeps track color, beat grid, bpm lock, cue points, and loops synchronized with SERATO_MARKERS/MARKERS2 file tags.<br/><br/>WARNING: Enabling this option also enables the reimport of Serato metadata after files have been modified outside of Mixxx. On reimport existing metadata in Mixxx is replaced with the metadata found in file tags. Custom metadata not included in file tags like loop colors is lost. - + Edit metadata after clicking selected track - + Search-as-you-type timeout: - + ms ms - + Load track to next available deck - + External Libraries Külső könyvtárak - + You will need to restart Mixxx for these settings to take effect. - + Show Rhythmbox Library Rhythmbox könyvtár megjelenítése - + Track Metadata Synchronization / Playlists - + Add track to Auto DJ queue (bottom) - + Add track to Auto DJ queue (top) - + Ignore - + Show Banshee Library Banshee könyvtár megjelenítése - + Show iTunes Library iTunes könyvtár megjelenítése - + Show Traktor Library Traktor könyvtár megjelenítése - + Show Rekordbox Library Rekordbox könyvtár megjelenítése - + Show Serato Library Serato könyvtár megjelenítése - + All external libraries shown are write protected. Minden megjelenített külső könyvtár írásvédett. @@ -7245,33 +7507,33 @@ and allows you to pitch adjust them for harmonic mixing. DlgPrefRecord - + Choose recordings directory - - + + Recordings directory invalid - + Recordings directory must be set to an existing directory. - + Recordings directory must be set to a directory. - + Recordings directory not writable - + You do not have write access to %1. Choose a recordings directory you have write access to. @@ -7289,43 +7551,55 @@ and allows you to pitch adjust them for harmonic mixing. Tallózás... - - + + This will include the filepath for each track in the CUE file. +This option makes the CUE file less portable and can reveal personal +information from filepaths (i.e. username) + + + + + Enable File Annotation in CUE file + + + + + Quality Minőség - + Tags Címkék - + Title Cím - + Author Szerző - + Album Album - + Output File Format - + Compression - + Lossy @@ -7340,12 +7614,12 @@ and allows you to pitch adjust them for harmonic mixing. Könyvtár: - + Compression Level - + Lossless @@ -7476,172 +7750,177 @@ The loudness target is approximate and assumes track pregain and main output lev DlgPrefSound - + %1 Hz %1 Hz - + Default (long delay) - + Experimental (no delay) - + Disabled (short delay) - + Soundcard Clock - + Network Clock - + Direct monitor (recording and broadcasting only) - + Disabled Letiltva - + Enabled Engedélyezve - + Stereo Sztereó - + Mono Mono - + To enable Realtime scheduling (currently disabled), see the %1. - + The %1 lists sound cards and controllers you may want to consider for using Mixxx. - + Mixxx DJ Hardware Guide - + + Find details in the Mixxx user manual + + + + Information - + Mixxx must be restarted before the multi-threaded RubberBand setting change will take effect. - + auto (<= 1024 frames/period) - + 2048 frames/period - + 4096 frames/period - + Are you sure? - + Distribute stereo channels into mono channels for parallel processing will result in a loss of mono compatibility and a diffuse stereo image. It is not recommended during broadcasting or recording. - + Are you sure you wish to proceed? - + No - + Yes, I know what I am doing - + Microphone inputs are out of time in the record & broadcast signal compared to what you hear. - + Measure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. - + Refer to the Mixxx User Manual for details. - + Configured latency has changed. - + Remeasure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. - + Realtime scheduling is enabled. - + Main output only - + Main and booth outputs - + %1 ms %1 ms - + Configuration error @@ -7708,17 +7987,22 @@ The loudness target is approximate and assumes track pregain and main output lev ms - + + Deck and Bus outputs are for external mixers. They are post-fader and include effects and crossfader (for Auto DJ). For external mixing, make sure all Mixxx faders and EQ knobs are set to their default position (right- or double-click). + + + + 20 ms 20 ms - + Buffer Underflow Count - + 0 0 @@ -7743,12 +8027,12 @@ The loudness target is approximate and assumes track pregain and main output lev Bemenet - + System Reported Latency - + Enlarge your audio buffer if the underflow counter is increasing or you hear pops during playback. @@ -7778,7 +8062,7 @@ The loudness target is approximate and assumes track pregain and main output lev - + Downsize your audio buffer to improve Mixxx's responsiveness. @@ -7825,7 +8109,7 @@ The loudness target is approximate and assumes track pregain and main output lev - + Show Signal Quality in Skin @@ -7861,46 +8145,51 @@ The loudness target is approximate and assumes track pregain and main output lev + Pitch estimator + + + + Deck 1 - + Deck 2 - + Deck 3 - + Deck 4 - + Signal Quality Jel minőség - + http://www.xwax.co.uk - + Powered by xwax - + Hints Tippek - + Select sound devices for Vinyl Control in the Sound Hardware pane. @@ -7908,58 +8197,58 @@ The loudness target is approximate and assumes track pregain and main output lev DlgPrefWaveform - + Filtered - + HSV - + RGB RGB - + Top - + Center - + Bottom - + 1/3 of waveform viewer options for "Text height limit" - + Entire waveform viewer - + OpenGL not available - + dropped frames - + Cached waveforms occupy %1 MiB on disk. @@ -7977,22 +8266,17 @@ The loudness target is approximate and assumes track pregain and main output lev - + OpenGL Status - + Displays which OpenGL version is supported by the current platform. - - Normalize waveform overview - - - - + Average frame rate @@ -8008,7 +8292,7 @@ The loudness target is approximate and assumes track pregain and main output lev - + Displays the actual frame rate. @@ -8043,7 +8327,7 @@ The loudness target is approximate and assumes track pregain and main output lev Alacsony - + Show minute markers on waveform overview @@ -8088,7 +8372,7 @@ The loudness target is approximate and assumes track pregain and main output lev - + The waveform overview shows the waveform envelope of the entire track. Select from different types of displays for the waveform overview, which differ primarily in the level of detail shown in the waveform. @@ -8155,22 +8439,22 @@ Select from different types of displays for the waveform, which differ primarily - + Caching - + Mixxx caches the waveforms of your tracks on disk the first time you load a track. This reduces CPU usage when you are playing live but requires extra disk space. - + Enable waveform caching - + Generate waveforms when analyzing library @@ -8186,7 +8470,7 @@ Select from different types of displays for the waveform, which differ primarily - + Type @@ -8206,22 +8490,68 @@ Select from different types of displays for the waveform, which differ primarily % - - Play marker position + + Play marker position + + + + + Moves the play marker position on the waveforms to the left, right or center (default). + + + + + Stem + + + + + Channel opacity + + + + + Channel opacity (outline) + + + + + Main stem opacity + + + + + Outline stem opacity + + + + + Move channel to foreground when volume is adjusted + + + + + Overview Waveforms - - Moves the play marker position on the waveforms to the left, right or center (default). + + Gain - - Overview Waveforms + + Normalize to peak + + + + + Use Waveform "Global" gain and ReplayGain (if enabled) + 'Global' refers to the 'Global' visual gain in the scrolling waveform settings - + Clear Cached Waveforms @@ -8710,7 +9040,7 @@ This can not be undone! BPM: - + Location: Hely: @@ -8725,27 +9055,27 @@ This can not be undone! Megjegyzések: - + BPM BPM - + Sets the BPM to 75% of the current value. A BPM-et a jelenlegi érték 75%-ára állítja - + 3/4 BPM 3/4 BPM - + Sets the BPM to 50% of the current value. A BPM-et a jelenlegi érték 50%-ára állítja - + Displays the BPM of the selected track. A kiválasztott szám BPM értékét mutatja. @@ -8800,49 +9130,49 @@ This can not be undone! Műfaj - + ReplayGain: - + Sets the BPM to 200% of the current value. A BPM-et a jelenlegi érték 200%-ára állítja - + Double BPM BPM duplázása - + Halve BPM BPM felezése - + Clear BPM and Beatgrid - + Move to the previous item. "Previous" button - + &Previous - + Move to the next item. "Next" button - + &Next @@ -8867,12 +9197,12 @@ This can not be undone! Szín - + Date added: - + Open in File Browser Megnyitás fájlkezelőben @@ -8882,102 +9212,107 @@ This can not be undone! - + + Filesize: + + + + Track BPM: Zene BPM - + Converts beats detected by the analyzer into a fixed-tempo beatgrid. Use this setting if your tracks have a constant tempo (e.g. most electronic music). Often results in higher quality beatgrids, but will not do well on tracks that have tempo shifts. - + Assume constant tempo - + Sets the BPM to 66% of the current value. - + 2/3 BPM 2/3 BPM - + Sets the BPM to 150% of the current value. - + 3/2 BPM - + Sets the BPM to 133% of the current value. - + 4/3 BPM - + Tap with the beat to set the BPM to the speed you are tapping. - + Tap to Beat - + Hint: Use the Library Analyze view to run BPM detection. - + Save changes and close the window. "OK" button - + &OK - + Discard changes and close the window. "Cancel" button - + Save changes and keep the window open. "Apply" button - + &Apply &Alkalmaz - + &Cancel &Mégsem - + (no color) @@ -9134,7 +9469,7 @@ Often results in higher quality beatgrids, but will not do well on tracks that h - + (no color) @@ -9336,27 +9671,27 @@ Often results in higher quality beatgrids, but will not do well on tracks that h EngineBuffer - + Soundtouch (faster) - + Rubberband (better) - + Rubberband R3 (near-hi-fi quality) - + Unknown, using Rubberband (better) - + Unknown, using Soundtouch @@ -9571,15 +9906,15 @@ Often results in higher quality beatgrids, but will not do well on tracks that h LegacySkinParser - - + + Safe Mode Enabled Shown when Mixxx is running in safe mode. - - + + No OpenGL support. Shown when Spinny can not be displayed. Please keep @@ -9590,57 +9925,57 @@ Shown when VuMeter can not be displayed. Please keep - + activate - + toggle - + right - + left - + right small - + left small - + up - + down - + up small - + down small - + Shortcut @@ -9648,62 +9983,62 @@ Shown when VuMeter can not be displayed. Please keep Library - + This or a parent directory is already in your library. - + This or a listed directory does not exist or is inaccessible. Aborting the operation to avoid library inconsistencies - - + + This directory can not be read. - + An unknown error occurred. Aborting the operation to avoid library inconsistencies - + Can't add Directory to Library - + Could not add <b>%1</b> to your library. %2 - + Can't remove Directory from Library - + An unknown error occurred. - + This directory does not exist or is inaccessible. - + Relink Directory - + Could not relink <b>%1</b> to <b>%2</b>. %3 @@ -9865,12 +10200,12 @@ Do you really want to overwrite it? - + Export to Engine DJ - + Tracks @@ -9878,37 +10213,37 @@ Do you really want to overwrite it? MixxxMainWindow - + Sound Device Busy A hangeszköz foglalt - + <b>Retry</b> after closing the other application or reconnecting a sound device - - - + + + <b>Reconfigure</b> Mixxx's sound device settings. - - + + Get <b>Help</b> from the Mixxx Wiki. Kapjon <b>segítséget</b> a Mixxx Wikiből. - - - + + + <b>Exit</b> Mixxx. - + Retry Újra @@ -9918,209 +10253,209 @@ Do you really want to overwrite it? - + Allow Mixxx to hide the menu bar? - + Hide Always show the menu bar? - + Always show - + The Mixxx menu bar is hidden and can be toggled with a single press of the <b>Alt</b> key.<br><br>Click <b>%1</b> to agree.<br><br>Click <b>%2</b> to disable that, for example if you don't use Mixxx with a keyboard.<br><br>You can change this setting any time in Preferences -> Interface.<br> Keep formatting tags <b> (bold text) and <br> (linebreak). %1 is the placeholder for the 'Always show' button label - + Ask me again - - + + Reconfigure Újrakonfigurálás - + Help Súgó - - + + Exit Kilépés - - + + Mixxx was unable to open all the configured sound devices. - + Sound Device Error - + <b>Retry</b> after fixing an issue - + No Output Devices - + Mixxx was configured without any output sound devices. Audio processing will be disabled without a configured output device. - + <b>Continue</b> without any outputs. - + Continue - + Load track to Deck %1 - + Deck %1 is currently playing a track. - + Are you sure you want to load a new track? - + There is no input device selected for this vinyl control. Please select an input device in the sound hardware preferences first. - + There is no input device selected for this passthrough control. Please select an input device in the sound hardware preferences first. - + There is no input device selected for this microphone. Do you want to select an input device? - + There is no input device selected for this auxiliary. Do you want to select an input device? - + Scan took %1 - + No changes detected. - - + + %1 tracks in total - + %1 new tracks found - + %1 moved tracks detected - + %1 tracks are missing (%2 total) - + %1 tracks have been rediscovered - + Library scan finished - + Error in skin file - + The selected skin cannot be loaded. - + OpenGL Direct Rendering - + Direct rendering is not enabled on your machine.<br><br>This means that the waveform displays will be very<br><b>slow and may tax your CPU heavily</b>. Either update your<br>configuration to enable direct rendering, or disable<br>the waveform displays in the Mixxx preferences by selecting<br>"Empty" as the waveform display in the 'Interface' section. - - - + + + Confirm Exit - + A deck is currently playing. Exit Mixxx? - + A sampler is currently playing. Exit Mixxx? - + The preferences window is still open. - + Discard any changes and exit Mixxx? @@ -10136,13 +10471,13 @@ Do you want to select an input device? PlaylistFeature - + Lock Zárolás - - + + Playlists Lejátszólista @@ -10152,58 +10487,63 @@ Do you want to select an input device? - + + Adopt current order + + + + Unlock all playlists - + Delete all unlocked playlists - + Unlock Feloldás - - + + Confirm Deletion - + Do you really want to delete all unlocked playlists? - + Deleting %1 unlocked playlists.<br>This operation can not be undone! - + Playlists are ordered lists of tracks that allow you to plan your DJ sets. - + It may be necessary to skip some tracks in your prepared playlist or add some different tracks in order to maintain the energy of your audience. Megeshet, hogy ki kell hagynod pár számot az előkészített lejátszólistádból, vagy egyéb számokat is be kell fűznöd, hogy fenntartsd a buli energiaszintjét. - + Some DJs construct playlists before they perform live, but others prefer to build them on-the-fly. Néhány DJ az élő előadása előtt állít össze lejátszási listákat, míg mások szeretik inkább az előadásuk helyszínén összerakni a sajátjaikat. - + When using a playlist during a live DJ set, remember to always pay close attention to how your audience reacts to the music you've chosen to play. - + Create New Playlist Új lejátszólista készítése @@ -10302,58 +10642,58 @@ Do you want to select an input device? QMessageBox - + Upgrading Mixxx - + Mixxx now supports displaying cover art. Do you want to scan your library for cover files now? - + Scan Beolvasás - + Later - + Upgrading Mixxx from v1.9.x/1.10.x. - + Mixxx has a new and improved beat detector. - + When you load tracks, Mixxx can re-analyze them and generate new, more accurate beatgrids. This will make automatic beatsync and looping more reliable. - + This does not affect saved cues, hotcues, playlists, or crates. - + If you do not want Mixxx to re-analyze your tracks, choose "Keep Current Beatgrids". You can change this setting at any time from the "Beat Detection" section of the Preferences. - + Keep Current Beatgrids - + Generate New Beatgrids @@ -10467,69 +10807,82 @@ Do you want to scan your library for cover files now? - + Main + Audio path indetifier - + Booth + Audio path indetifier - + Headphones + Audio path indetifier Fülhallgatók - + Left Bus + Audio path indetifier - + Center Bus + Audio path indetifier - + Right Bus + Audio path indetifier - + Invalid Bus + Audio path indetifier - + Deck + Audio path indetifier - + Record/Broadcast + Audio path indetifier - + Vinyl Control + Audio path indetifier Bakelit vezérlés - + Microphone + Audio path indetifier Mikrofon - + Auxiliary + Audio path indetifier - + Unknown path type %1 + Audio path @@ -10858,47 +11211,49 @@ With width at zero, this allows for manually sweeping over the entire delay rang - + Metronome - + + The Mixxx Team - + Adds a metronome click sound to the stream - + BPM BPM - + Set the beats per minute value of the click sound - + Sync Szinkron - + Synchronizes the BPM with the track if it can be retrieved - + + Gain - + Set the gain of metronome click sound @@ -11683,14 +12038,14 @@ Fully right: end of the effect period - - + + encoder failure - - + + Failed to apply the selected settings. @@ -11896,15 +12251,86 @@ and the processed output signal as close as possible in perceived loudness + + Auto Gain Control + + + + + AGC + + + + + Auto Gain Control (AGC) automatically adjusts the gain of an audio signal to maintain a consistent output level. + + + + Threshold (dBFS) + Threshold + + + The Threshold knob adjusts the level above which the effect starts enhancing the input signal + + + + + Target (dBFS) + + + + + Target + + + + + The Target knob adjusts the desired target level of the output signal + + + + + Gain (dB) + + + + + The Gain knob adjusts the maximum amount of gain that the effect will apply + + + + + Knee (dB) + + + + + The Knee knob defines the range around the Threshold where gain changes are applied gradually, +ensuring smooth transitions and avoiding abrupt level shifts. + + + + + The Attack knob sets the time that determines how fast the auto gain +will set in once the signal exceeds the threshold + + + + + The Release knob sets the time that determines how fast the auto gain will recover from the gain +adjustment once the signal falls under the threshold. Depending on the input signal, short release times +may introduce a 'pumping' effect and/or distortion. + + The Threshold knob adjusts the level above which the compressor starts attenuating the input signal @@ -11933,6 +12359,7 @@ At a ratio of 1:1 no compression is happening, as the input is exactly the outpu + Knee @@ -11943,11 +12370,13 @@ At a ratio of 1:1 no compression is happening, as the input is exactly the outpu + Attack (ms) + Attack @@ -11959,11 +12388,13 @@ will set in once the signal exceeds the threshold + Release (ms) + Release @@ -11992,12 +12423,12 @@ may introduce a 'pumping' effect and/or distortion. - + built-in - + missing @@ -12032,42 +12463,42 @@ may introduce a 'pumping' effect and/or distortion. - + Empty - + Simple - + Filtered - + HSV - + VSyncTest - + RGB - + Stacked - + Unknown @@ -12328,193 +12759,193 @@ may introduce a 'pumping' effect and/or distortion. ShoutConnection - - + + Mixxx encountered a problem A Mixxx problémába ütközött - + Could not allocate shout_t - + Could not allocate shout_metadata_t - + Error setting non-blocking mode: - + Error setting tls mode: - + Error setting hostname! - + Error setting port! - + Error setting password! - + Error setting mount! - + Error setting username! - + Error setting stream name! - + Error setting stream description! - + Error setting stream genre! - + Error setting stream url! - + Error setting stream IRC! - + Error setting stream AIM! - + Error setting stream ICQ! - + Error setting stream public! - + Unknown stream encoding format! - + Use a libshout version with %1 enabled - + Error setting stream encoding format! - + Broadcasting at 96 kHz with Ogg Vorbis is not currently supported. Please try a different sample rate or switch to a different encoding. - + See https://github.com/mixxxdj/mixxx/issues/5701 for more information. - + Unsupported sample rate - + Error setting bitrate - + Error: unknown server protocol! - + Error: Shoutcast only supports MP3 and AAC encoders - + Error setting protocol! - + Network cache overflow - + Connection error - + One of the Live Broadcasting connections raised this error:<br><b>Error with connection '%1':</b><br> - + Connection message - + <b>Message from Live Broadcasting connection '%1':</b><br> - + Lost connection to streaming server and %1 attempts to reconnect have failed. - + Lost connection to streaming server. - + Please check your connection to the Internet. Kérlek ellenőrizd az internet kapcsolatodat! - + Can't connect to streaming server Nem lehet csatlakozni a stream szerverhez - + Please check your connection to the Internet and verify that your username and password are correct. Kérlek ellenőrizd az internet kapcsolatodat és bizonyosodj meg róla, hogy a felhasználónet és a jelszót pontosan adtad meg! @@ -12522,7 +12953,7 @@ may introduce a 'pumping' effect and/or distortion. SoftwareWaveformWidget - + Filtered @@ -12530,23 +12961,23 @@ may introduce a 'pumping' effect and/or distortion. SoundManager - - + + a device - + An unknown error occurred - + Two outputs cannot share channels on "%1" - + Error opening "%1" @@ -12731,7 +13162,7 @@ may introduce a 'pumping' effect and/or distortion. - + Spinning Vinyl @@ -12913,7 +13344,7 @@ may introduce a 'pumping' effect and/or distortion. - + Cover Art Borító @@ -13103,243 +13534,243 @@ may introduce a 'pumping' effect and/or distortion. - + Displays the tempo of the loaded track in BPM (beats per minute). - + Tempo - + Key The musical key of a track Billentyű - + BPM Tap BPM gomb - + When tapped repeatedly, adjusts the BPM to match the tapped BPM. - + Adjust BPM Down - + When tapped, adjusts the average BPM down by a small amount. - + Adjust BPM Up - + When tapped, adjusts the average BPM up by a small amount. - + Adjust Beats Earlier - + When tapped, moves the beatgrid left by a small amount. - + Adjust Beats Later - + When tapped, moves the beatgrid right by a small amount. - + Tempo and BPM Tap - + Show/hide the spinning vinyl section. - + Keylock Hangnemzár - + Toggling keylock during playback may result in a momentary audio glitch. - + Toggle visibility of Loop Controls - + Toggle visibility of Beatjump Controls - + Toggle visibility of Rate Control - + Toggle visibility of Key Controls - + (while previewing) - + Places a cue point at the current position on the waveform. - + Stops track at cue point, OR go to cue point and play after release (CUP mode). - + Set cue point (Pioneer/Mixxx/Numark mode), set cue point and play after release (CUP mode) OR preview from it (Denon mode). - + Is latching the playing state. - + Seeks the track to the cue point and stops. - + Play Lejátszás - + Plays track from the cue point. - + Sends the selected channel's audio to the headphone output, selected in Preferences -> Sound Hardware. - + (This skin should be updated to use Sync Lock!) - + Enable Sync Lock - + Tap to sync the tempo to other playing tracks or the sync leader. - + Enable Sync Leader - + When enabled, this device will serve as the sync leader for all other decks. - + This is relevant when a dynamic tempo track is loaded to a sync leader deck.In that case, other synced devices will adopt the changing tempo. - + Changes the track playback speed (affects both the tempo and the pitch). If keylock is enabled, only the tempo is affected. - + Tempo Range Display - + Displays the current range of the tempo slider. - + Un-ejects when no track is loaded, i.e. reloads the track that was ejected last (of any deck). - + Delete selected hotcue. - + Track Comment - + Displays the comment tag of the loaded track. - + Opens separate artwork viewer. - + Effect Chain Preset Settings - + Show the effect chain settings menu for this unit. - + Select and configure a hardware device for this input - + Recording Duration @@ -13562,947 +13993,982 @@ may introduce a 'pumping' effect and/or distortion. - + When tapped repeatedly, adjusts the tempo to match the tapped BPM. + + + Click to open the tempo/BPM editor + + + + + It also shows a colored bar if Key colors are enabled in the Preferences. + + + The bar will be split vertically if the track's key is in between full keys. + + + + Tempo Tap - + Rate Tap and BPM Tap - + + Set Tempo + + + + + Set the desired tempo in BPM. If the track currently has no BPM detected, set the desired tempo in percent. + + + + Adjust beatgrid by exactly one half beat. Usable only on tracks with constant tempo. - + Revert last BPM/Beatgrid Change - + Revert last BPM/Beatgrid Change of the loaded track. - - + + Toggle the BPM/beatgrid lock - + Tempo and Rate Tap - + Tempo, Rate Tap and BPM Tap - + Shift cues earlier - - + + Shift cues imported from Serato or Rekordbox if they are slightly off time. - + Left click: shift 10 milliseconds earlier - + Right click: shift 1 millisecond earlier - + Shift cues later - + Left click: shift 10 milliseconds later - + Right click: shift 1 millisecond later - - - + + + Drag a Hotcue button here to continue playing after releasing the Hotcue. - + Hint: Change the default cue mode in Preferences -> Decks. - + Mutes the selected channel's audio in the main output. - + Main mix enable - + Hold or short click for latching to mix this input into the main output. - + + Reloads the last replaced track. If no track is loaded reloads the second-last ejected track. + + + + If hotcue is a loop cue, toggles the loop and jumps to if the loop is behind the play position. - + If the play position is inside an active loop, stores the loop as loop cue. - + Drag this button onto another Hotcue button to move it there (change its index). If the other hotcue is set, the two are swapped. - + Expand/Collapse Samplers - + Toggle expanded samplers view. - + Displays the duration of the running recording. - + Auto DJ is active - + Red for when needle skip has been detected. - + Hot Cue - Track will seek to nearest previous hotcue point. - + Sets the track Loop-In Marker to the current play position. - + Press and hold to move Loop-In Marker. - + Jump to Loop-In Marker. - + Sets the track Loop-Out Marker to the current play position. - + Press and hold to move Loop-Out Marker. - + Jump to Loop-Out Marker. - + If the track has no beats the unit is seconds. - + Beatloop Size - + Select the size of the loop in beats to set with the Beatloop button. - + Changing this resizes the loop if the loop already matches this size. - + Halve the size of an existing beatloop, or halve the size of the next beatloop set with the Beatloop button. - + Double the size of an existing beatloop, or double the size of the next beatloop set with the Beatloop button. - + Start a loop over the set number of beats. - + Temporarily enable a rolling loop over the set number of beats. - + Beatloop Anchor - + Define whether the loop is created and adjusted from its staring point or ending point. - + Beatjump/Loop Move Size - + Select the number of beats to jump or move the loop with the Beatjump Forward/Backward buttons. - + Beatjump Forward - + Jump forward by the set number of beats. - + Move the loop forward by the set number of beats. - + Jump forward by 1 beat. - + Move the loop forward by 1 beat. - + Beatjump Backward - + Jump backward by the set number of beats. - + Move the loop backward by the set number of beats. - + Jump backward by 1 beat. - + Move the loop backward by 1 beat. - + Reloop - + If the loop is ahead of the current position, looping will start when the loop is reached. - + Works only if Loop-In and Loop-Out Marker are set. - + Enable loop, jump to Loop-In Marker, and stop playback. - + Displays the elapsed and/or remaining time of the track loaded. - + Click to toggle between time elapsed/remaining time/both. - + Hint: Change the time format in Preferences -> Decks. - + Show/hide intro & outro markers and associated buttons. - + + Ensure all waveforms to have the same height across all channels. By default, when displaying the stem controls, waveform for channel that have no stem may render with a shorter height in order to honor the waveform container size you have requested.. + + + + Intro Start Marker - - - - + + + + If marker is set, jumps to the marker. - - - - + + + + If marker is not set, sets the marker to the current play position. - - - - + + + + If marker is set, clears the marker. - + Intro End Marker - + Outro Start Marker - + Outro End Marker - + Mix - + Adjust the mixing of the dry (input) signal with the wet (output) signal of the effect unit - + D/W mode: Crossfade between dry and wet - + D+W mode: Add wet to dry - + Mix Mode - + Adjust how the dry (input) signal is mixed with the wet (output) signal of the effect unit - + Dry/Wet mode (crossed lines): Mix knob crossfades between dry and wet Use this to change the sound of the track with EQ and filter effects. - + Dry+Wet mode (flat dry line): Mix knob adds wet to dry Use this to change only the effected (wet) signal with EQ and filter effects. - + Route the main mix through this effect unit. - + Route the left crossfader bus through this effect unit. - + Route the right crossfader bus through this effect unit. - + Right side active: parameter moves with right half of Meta Knob turn - + Stem Label - + Name of the stem stored in the stem file - + Text is displayed in the stem color stored in the stem file - + this stem color is also used for the waveform of this stem - + Stem Mute - + Toggle the stem mute/unmuted - + Stem Volume Knob - + Adjusts the volume of the stem - + Skin Settings Menu - + Show/hide skin settings menu - + Save Sampler Bank - + Save the collection of samples loaded in the samplers. - + Load Sampler Bank - + Load a previously saved collection of samples into the samplers. - + Show Effect Parameters Effekt paraméterek mutatása - + Enable Effect - + Meta Knob Link - + Set how this parameter is linked to the effect's Meta Knob. - + Meta Knob Link Inversion - + Inverts the direction this parameter moves when turning the effect's Meta Knob. - + Super Knob Super potméter - + Next Chain Következő lánc - + Previous Chain Előző lánc - + Next/Previous Chain Következő/előző lánc - + Clear - + Clear the current effect. - + Toggle - + Toggle the current effect. - + Next Következő - + Clear Unit Egység ürítése - + Clear effect unit. - + Show/hide parameters for effects in this unit. - + Toggle Unit Egység kapcsolása - + Enable or disable this whole effect unit. - + Controls the Meta Knob of all effects in this unit together. - + Load next effect chain preset into this effect unit. - + Load previous effect chain preset into this effect unit. - + Load next or previous effect chain preset into this effect unit. - - - - - - - - - + + + + + + + + + Assign Effect Unit - + Assign this effect unit to the channel output. - + Route the headphone channel through this effect unit. - + Route this deck through the indicated effect unit. - + Route this sampler through the indicated effect unit. - + Route this microphone through the indicated effect unit. - + Route this auxiliary input through the indicated effect unit. - + The effect unit must also be assigned to a deck or other sound source to hear the effect. - + Switch to the next effect. - + Previous Előző - + Switch to the previous effect. - + Next or Previous Következő vagy előző - + Switch to either the next or previous effect. - + Meta Knob - + Controls linked parameters of this effect - + Effect Focus Button - + Focuses this effect. - + Unfocuses this effect. - + Refer to the web page on the Mixxx wiki for your controller for more information. - + Effect Parameter - + Adjusts a parameter of the effect. - + Inactive: parameter not linked - + Active: parameter moves with Meta Knob - + Left side active: parameter moves with left half of Meta Knob turn - + Left and right side active: parameter moves across range with half of Meta Knob turn and back with the other half - - + + Equalizer Parameter Kill - - + + Holds the gain of the EQ to zero while active. - + Quick Effect Super Knob - + Quick Effect Super Knob (control linked effect parameters). - + Hint: Change the default Quick Effect mode in Preferences -> Equalizers. - + Equalizer Parameter - + Adjusts the gain of the EQ filter. - + Hint: Change the default EQ mode in Preferences -> Equalizers. - - + + Adjust Beatgrid Ütemrács igazítása - + Adjust beatgrid so the closest beat is aligned with the current play position. - - + + Adjust beatgrid to match another playing deck. Ütemrács igazítása másik futó lemezjátszóhoz. - + If quantize is enabled, snaps to the nearest beat. - + Quantize - + Toggles quantization. - + Loops and cues snap to the nearest beat when quantization is enabled. - + Reverse - + Reverses track playback during regular playback. - + Puts a track into reverse while being held (Censor). - + Playback continues where the track would have been if it had not been temporarily reversed. - - - + + + Play/Pause - + Jumps to the beginning of the track. - + Syncs the tempo (BPM) and phase to that of the other track, if BPM is detected on both. - + Syncs the tempo (BPM) to that of the other track, if BPM is detected on both. - + Sync and Reset Key - + Increases the pitch by one semitone. - + Decreases the pitch by one semitone. - + Enable Vinyl Control - + When disabled, the track is controlled by Mixxx playback controls. - + When enabled, the track responds to external vinyl control. - + Enable Passthrough - + Indicates that the audio buffer is too small to do all audio processing. - + Displays cover artwork of the loaded track. - + Displays options for editing cover artwork. - + Star Rating - + Assign ratings to individual tracks by clicking the stars. @@ -14637,33 +15103,33 @@ Use this to change only the effected (wet) signal with EQ and filter effects. - + Prevents the pitch from changing when the rate changes. - + Changes the number of hotcue buttons displayed in the deck - + Starts playing from the beginning of the track. - + Jumps to the beginning of the track and stops. - - + + Plays or pauses the track. - + (while playing) @@ -14683,215 +15149,215 @@ Use this to change only the effected (wet) signal with EQ and filter effects. - + (while stopped) - + Cue Cue - + Headphone Fejhallgató - + Mute Némítás - + Old Synchronize - + Syncs to the first deck (in numerical order) that is playing a track and has a BPM. - + If no deck is playing, syncs to the first deck that has a BPM. - + Decks can't sync to samplers and samplers can only sync to decks. - + Hold for at least a second to enable sync lock for this deck. - + Decks with sync locked will all play at the same tempo, and decks that also have quantize enabled will always have their beats lined up. - + Resets the key to the original track key. - + Speed Control - - - + + + Changes the track pitch independent of the tempo. - + Increases the pitch by 10 cents. - + Decreases the pitch by 10 cents. - + Pitch Adjust Hangmagasság állítás - + Adjust the pitch in addition to the speed slider pitch. - + Opens a menu to clear hotcues or edit their labels and colors. - + Drag this button onto a Play button while previewing to continue playback after release. - + Dragging with Shift key pressed will not start previewing the hotcue. - + Record Mix Mix felvétele - + Toggle mix recording. - + Enable Live Broadcasting - + Stream your mix over the Internet. - + Provides visual feedback for Live Broadcasting status: - + disabled, connecting, connected, failure. - + When enabled, the deck directly plays the audio arriving on the vinyl input. - + Playback will resume where the track would have been if it had not entered the loop. - + Loop Exit Ismétlésből kilép - + Turns the current loop off. - + Slip Mode Csúsztató mód - + When active, the playback continues muted in the background during a loop, reverse, scratch etc. - + Once disabled, the audible playback will resume where the track would have been. - + Track Key The musical key of a track - + Displays the musical key of the loaded track. - + Clock - + Displays the current time. - + Audio Latency Usage Meter - + Displays the fraction of latency used for audio processing. - + A high value indicates that audible glitches are likely. - + Do not enable keylock, effects or additional decks in this situation. - + Audio Latency Overload Indicator @@ -14931,259 +15397,259 @@ Use this to change only the effected (wet) signal with EQ and filter effects. - + Displays the current musical key of the loaded track after pitch shifting. - + Fast Rewind Gyors hátracsévélés - + Fast rewind through the track. - + Fast Forward Gyors előrecsévélés - + Fast forward through the track. - + Jumps to the end of the track. - + Sets the pitch to a key that allows a harmonic transition from the other track. Requires a detected key on both involved decks. - - - + + + Pitch Control - + Pitch Rate - + Displays the current playback rate of the track. - + Repeat - + When active the track will repeat if you go past the end or reverse before the start. - + Eject Kiadás - + Ejects track from the player. - + Hotcue - + If hotcue is set, jumps to the hotcue. - + If hotcue is not set, sets the hotcue to the current play position. - + Vinyl Control Mode Bakelit vezérlés mód - + Absolute mode - track position equals needle position and speed. - + Relative mode - track speed equals needle speed regardless of needle position. - + Constant mode - track speed equals last known-steady speed regardless of needle input. - + Vinyl Status - + Provides visual feedback for vinyl control status: - + Green for control enabled. - + Blinking yellow for when the needle reaches the end of the record. - + Loop-In Marker - + Loop-Out Marker - + Loop Halve Ismétlés felezése - + Halves the current loop's length by moving the end marker. - + Deck immediately loops if past the new endpoint. - + Loop Double Ismétlés kétszerezése - + Doubles the current loop's length by moving the end marker. - + Beatloop - + Toggles the current loop on or off. - + Works only if Loop-In and Loop-Out marker are set. - + Vinyl Cueing Mode - + Determines how cue points are treated in vinyl control Relative mode: - + Off - Cue points ignored. - + One Cue - If needle is dropped after the cue point, track will seek to that cue point. - + Track Time - + Track Duration - + Displays the duration of the loaded track. - + Information is loaded from the track's metadata tags. - + Track Artist - + Displays the artist of the loaded track. - + Track Title - + Displays the title of the loaded track. - + Track Album Album - + Displays the album name of the loaded track. - + Track Artist/Title - + Displays the artist and title of the loaded track. @@ -15411,47 +15877,75 @@ This can not be undone! WCueMenuPopup - + Cue number - + Cue position - + Edit cue label - + Label... - + Delete this cue - - Toggle this cue type between normal cue and saved loop + + Turn this cue into a regular hotcue + + + + + Turn this cue into a saved loop + + + + + Left-click: Use the old size if known or the current beatloop size as the loop size + + + + + Right-click: Use the current play position as new loop end if it is after the cue + + + + + Turn this cue into a saved forward jump. + + is a linebreak. Try to not to extend the translation beyond the length of the longest source line so the tooltip remains compact. + + + + + Turn this cue into a saved backward jump (one shot loop). - - Left-click: Use the old size or the current beatloop size as the loop size + + Left-click: Use the old size if known or the current play position as jump start position +If this is already a jump cue, swap the jump position and the cue/target position. - - Right-click: Use the current play position as loop end if it is after the cue + + Right-click: use current play position as new jump start position - + Hotcue #%1 @@ -15753,171 +16247,181 @@ This can not be undone! + Show Auto DJ + + + + + Switch to the Auto DJ view. + + + + &Full Screen &Teljes képernyő - + Display Mixxx using the full screen A Mixxx teljes képernyőben mutatása - + &Options &Opciók - + &Vinyl Control - + Use timecoded vinyls on external turntables to control Mixxx Használjon időkódos lemezeket a külső lemezjátszókon a Mixxx vezérléséhez - + Enable Vinyl Control &%1 - + &Record Mix &Mix felvétele - + Record your mix to a file A mix rögzítése fileba - + Ctrl+R Ctrl+R - + Enable Live &Broadcasting - + Stream your mixes to a shoutcast or icecast server Közvetítse a mixeit shoutcast vagy icecast serverre - + Ctrl+L Ctrl+L - + Enable &Keyboard Shortcuts - + Toggles keyboard shortcuts on or off - + Ctrl+` - + &Preferences &Testreszabás - + Change Mixxx settings (e.g. playback, MIDI, controls) - + &Developer - + &Reload Skin - + Reload the skin - + Ctrl+Shift+R - + Developer &Tools - + Opens the developer tools dialog - + Ctrl+Shift+T - + Stats: &Experiment Bucket - + Enables experiment mode. Collects stats in the EXPERIMENT tracking bucket. - + Ctrl+Shift+E - + Stats: &Base Bucket - + Enables base mode. Collects stats in the BASE tracking bucket. - + Ctrl+Shift+B - + Deb&ugger Enabled - + Enables the debugger during skin parsing - + Ctrl+Shift+D - + &Help &Súgó @@ -15951,62 +16455,62 @@ This can not be undone! - + &Community Support - + Get help with Mixxx - + &User Manual - + Read the Mixxx user manual. - + &Keyboard Shortcuts - + Speed up your workflow with keyboard shortcuts. - + &Settings directory - + Open the Mixxx user settings directory. A Mixxx felhasználói beállítások könyvtár megnyitása. - + &Translate This Application - + Help translate this application into your language. - + &About - + About the application Az alkalmazásról @@ -16014,25 +16518,25 @@ This can not be undone! WOverview - + Passthrough - + Ready to play, analyzing... Text on waveform overview when file is playable but no waveform is visible - - + + Loading track... Text on waveform overview when file is cached from source - + Finalizing... Text on waveform overview during finalizing of waveform analysis @@ -16222,625 +16726,640 @@ This can not be undone! WTrackMenu - + Load to - + Deck - + Sampler - + Add to Playlist Hozzáadás lejátszólistához - + Crates Rekeszek - + Metadata - + Update external collections - + Cover Art Borító - + Adjust BPM - + Select Color - - + + Analyze Elemzés - - + + Delete Track Files - + Add to Auto DJ Queue (bottom) Hozzáadás az Auto DJ listához (végére) - + Add to Auto DJ Queue (top) Hozzáadás az Auto DJ listához (elejére) - + Add to Auto DJ Queue (replace) Hozzáadás az Auto DJ listához (csere) - + Preview Deck - + Remove Eltávolítás - + Remove from Playlist Eltávolítás a lejátszólistából - + Remove from Crate - + Hide from Library - + Unhide from Library - + Purge from Library - + Move Track File(s) to Trash - + Delete Files from Disk - + Properties - + Open in File Browser Megnyitás fájlkezelőben - + Select in Library - + Import From File Tags - + Import From MusicBrainz - + Export To File Tags - + BPM and Beatgrid - + Play Count - + Rating Értékelés - + Cue Point - - + + Hotcues Hotcue pontok - + Intro - + Outro - + Key Billentyű - + ReplayGain Visszajátszás hangerősítése - + Waveform - + Comment Megjegyzés - + All Mind - + Sort hotcues by position (remove offsets) - + Sort hotcues by position - + Lock BPM BPM zárolása - + Unlock BPM BPM zárolás feloldása - + Double BPM BPM duplázása - + Halve BPM BPM felezése - + 2/3 BPM 2/3 BPM - + 3/4 BPM 3/4 BPM - + 4/3 BPM - + 3/2 BPM - + Shift Beatgrid Half Beat - + Reanalyze - + Reanalyze (constant BPM) - + Reanalyze (variable BPM) - + Update ReplayGain from Deck Gain - + Deck %1 - + Importing metadata of %n track(s) from file tags - + Marking metadata of %n track(s) to be exported into file tags - - + + Create New Playlist Új lejátszólista készítése - + Enter name for new playlist: Add meg az új lejátszólista nevét: - + New Playlist Új lejátszólista - - - + + + Playlist Creation Failed Lejátszólista készítése sikertelen - + A playlist by that name already exists. Egy lejátszólista ezzel a névvel már létezik. - + A playlist cannot have a blank name. A lejátszólista nem tartalmazhat üres helyet. - + An unknown error occurred while creating playlist: Ismeretlen hiba történt a lejátszólista készítésekor: - + Add to New Crate - + Scaling BPM of %n track(s) - + Undo BPM/beats change of %n track(s) - + Locking BPM of %n track(s) - + Unlocking BPM of %n track(s) - + Setting rating of %n track(s) - + Setting color of %n track(s) - + Resetting play count of %n track(s) - + Resetting beats of %n track(s) - + Clearing rating of %n track(s) - + Clearing comment of %n track(s) - + Removing main cue from %n track(s) - + Removing outro cue from %n track(s) - + Removing intro cue from %n track(s) - + Removing loop cues from %n track(s) - + Removing hot cues from %n track(s) - + Sorting hotcues of %n track(s) by position (remove offsets) - + Sorting hotcues of %n track(s) by position - + Resetting keys of %n track(s) - + Resetting replay gain of %n track(s) - + Resetting waveform of %n track(s) - + Resetting all performance metadata of %n track(s) - + Move these files to the trash bin? - + Permanently delete these files from disk? - - + + This can not be undone! - + Cancel Mégsem - + Delete Files - + Okay - + Move Track File(s) to Trash? - + Track Files Deleted - + Track Files Moved To Trash - + %1 track files were moved to trash and purged from the Mixxx database. - + %1 track files were deleted from disk and purged from the Mixxx database. - + Track File Deleted - + Track file was deleted from disk and purged from the Mixxx database. A Track fájl törölve lett a meghajtóról, és kitisztítva a Mixxx adatbázisból. - + The following %1 file(s) could not be deleted from disk - + This track file could not be deleted from disk Ez a track fájl nem törölhető a meghajtóról - + Remaining Track File(s) Hátralévő Track Fájl(ok) - + Close - + Clear Reset metadata in right click track context menu in library - + Loops - + Clear BPM and Beatgrid - + Undo last BPM/beats change - + Move this track file to the trash bin? - + Permanently delete this track file from disk? - + All decks where these tracks are loaded will be stopped and the tracks will be ejected. - + All decks where this track is loaded will be stopped and the track will be ejected. - + Removing %n track file(s) from disk... - + Note: if you are in the Computer or Recording view you need to click the current view again to see changes. - + Track File Moved To Trash - + Track file was moved to trash and purged from the Mixxx database. - + Don't show again during this session - + The following %1 file(s) could not be moved to trash - + This track file could not be moved to trash + + + Replace current Auto DJ queue? + + + + + Do you want to replace the entire Auto DJ queue with the selected tracks? + + + + + Don't ask again during this session + + - + Setting cover art of %n track(s) - + Reloading cover art of %n track(s) @@ -16894,37 +17413,37 @@ This can not be undone! WTrackTableView - + Confirm track hide Track elrejtés megerősítése - + Are you sure you want to hide the selected tracks? - + Are you sure you want to remove the selected tracks from AutoDJ queue? - + Are you sure you want to remove the selected tracks from this crate? - + Are you sure you want to remove the selected tracks from this playlist? Biztosan el akarod távolítani a kijelölt számokat ebből a lejátszólistából? - + Don't ask again during this session Ne kérdezzen rá többször ebben a munkamenetben - + Confirm track removal @@ -16932,12 +17451,12 @@ This can not be undone! WTrackTableViewHeader - + Show or hide columns. Oszlop mutatása vagy elrejtése. - + Shuffle Tracks @@ -16945,52 +17464,52 @@ This can not be undone! mixxx::CoreServices - + fonts - + database - + effects - + audio interface - + decks - + library - + Choose music library directory Válasszon zene gyűjtemény könyvtárat - + controllers - + Cannot open database Az adatbázis megnyitása nem sikerült - + Unable to establish a database connection. Mixxx requires QT with SQLite support. Please read the Qt SQL driver documentation for information on how to build it. @@ -17144,6 +17663,24 @@ Click OK to exit. + + mixxx::qml::QmlApplication + + + Existing user profile detected + + + + + Trying to run Mixxx 3.0 with an existing %0 user profile! <br><br>There is <b>serious risks</b> of data loss and corruption.<br>We recommend using a test profile folder with the '--settings-path' argument. <br><br>If you want to continue at your own risk, run Mixxx with the argument '--allow-dangerous-data-corruption-risk'. + + + + + Ok + + + mixxx::qml::QmlVisibleEffectsModel @@ -17152,4 +17689,27 @@ Click OK to exit. + + mixxx::qml::QmlWaveformRendererMark + + + Cannot find the marker pixmap + + + + + Cannot find the marker endPixmap + + + + + Cannot find the marker icon + + + + + Cannot find the marker endIcon + + + \ No newline at end of file diff --git a/res/translations/mixxx_it.qm b/res/translations/mixxx_it.qm index 77b46f739d19bfb8ca80c308efa6594f1fd19f96..979e4ec15cb7835626dc8c3e4382aac3a8f646aa 100644 GIT binary patch delta 25028 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 z + + AllTrackLibraryFeature + + + All... + + + AnalysisFeature @@ -19,52 +27,52 @@ AutoDJFeature - + Crates Contenitori - + Enable Auto DJ Attiva Auto DJ - + Disable Auto DJ Disattiva Auto DJ - + Clear Auto DJ Queue Pulisci Coda Auto DJ - + Remove Crate as Track Source Rimuovi Contenitore come Sorgente Traccia - + Auto DJ Auto DJ - + Confirmation Clear Conferma rimozione - + Do you really want to remove all tracks from the Auto DJ queue? Vuoi rimuovere tutte le tracce dalla coda dell'Auto DJ? - + This can not be undone. Non può essere annullato. - + Add Crate as Track Source Aggiungi Contenitore come Sorgente Tracce @@ -223,7 +231,7 @@ - + Export Playlist Esporta Playlist @@ -277,13 +285,13 @@ - + Playlist Creation Failed Creazione della Playlist non Riuscita - + An unknown error occurred while creating playlist: Errore sconosciuto durante la creazione della playlist: @@ -298,12 +306,12 @@ Sei davvero sicuro di voler cancellare la playlist <b>%1</b>? - + M3U Playlist (*.m3u) Playlist M3U (*.m3u) - + M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Text CSV (*.csv);;Readable Text (*.txt) Playlist M3U (*.m3u);;Playlist M3U8 (*.m3u8);;Playlist PLS (*.pls);;Testo CSV (*.csv);;File testuale (*.txt) @@ -311,12 +319,12 @@ BaseSqlTableModel - + # # - + Timestamp Marca temporale @@ -324,7 +332,7 @@ BaseTrackPlayerImpl - + Couldn't load track. Impossibile caricare la traccia. @@ -362,7 +370,7 @@ Canali - + Color Colore @@ -377,7 +385,7 @@ Autore - + Cover Art Immagine Copertina @@ -387,7 +395,7 @@ Data di Importazione - + Last Played Ultima Riproduzione @@ -417,7 +425,7 @@ Chiave - + Location Posizione @@ -427,7 +435,7 @@ - + Preview Anteprima @@ -467,7 +475,7 @@ Anno - + Fetching image ... Tooltip text on the cover art column shown when the cover is read from disk Recupero immagine ... @@ -489,22 +497,22 @@ BroadcastProfile - + Can't use secure password storage: keychain access failed. Impossibile utilizzare l'archiviazione sicura delle password: accesso keychain non riuscito. - + Secure password retrieval unsuccessful: keychain access failed. Recupero sicuro della password senza successo: accesso keychain non riuscito. - + Settings error Errore impostazioni - + <b>Error with settings for '%1':</b><br> <b>Errore con le impostazioni per '%1':</b><br> @@ -592,7 +600,7 @@ - + Computer Computer @@ -612,17 +620,17 @@ Scansiona - + "Computer" lets you navigate, view, and load tracks from folders on your hard disk and external devices. "Computer" permette di navigare, vedere, e caricare tracce da cartelle sul tuo hard disk o dispositivi esterni. - + It shows the data from the file tags, not track data from your Mixxx library like other track views. - + If you load a track file from here, it will be added to your library. @@ -735,12 +743,12 @@ File Creato - + Mixxx Library Libreria Mixxx - + Could not load the following file because it is in use by Mixxx or another application. Non è possibile caricare il seguente file perchè è in uso da parte di Mixxx o altra applicazione. @@ -771,87 +779,92 @@ CmdlineArgs - + Mixxx is an open source DJ software. For more information, see: Mixxx è un software open source per DJ. Per maggiori informazioni, vedere: - + Starts Mixxx in full-screen mode Avvia Mixxx in modalità a schermo intero - + Use a custom locale for loading translations. (e.g 'fr') Usare un locale personalizzato per caricare le traduzioni. (ad esempio 'fr') - + Top-level directory where Mixxx should look for its resource files such as MIDI mappings, overriding the default installation location. Directory di primo livello in cui Mixxx dovrebbe cercare i suoi file di risorse come le mappature MIDI, sovrascrivendo la posizione di installazione predefinita. - + Path the debug statistics time line is written to Percorso in cui viene scritta la linea temporale delle statistiche di debug - + Causes Mixxx to display/log all of the controller data it receives and script functions it loads Fa sì che Mixxx visualizzi/registri tutti i dati che riceve dal controller e le funzioni di script che carica - + The controller mapping will issue more aggressive warnings and errors when detecting misuse of controller APIs. New Controller Mappings should be developed with this option enabled! La mappatura del controller genererà avvisi ed errori più aggressivi quando viene rilevato un uso improprio delle API del controller. Le nuove mappature dei controller dovrebbero essere sviluppate con questa opzione abilitata! - + Enables developer-mode. Includes extra log info, stats on performance, and a Developer tools menu. Abilita la modalità sviluppatore. Include informazioni extra sul registro, statistiche sulle prestazioni e un menu di strumenti per sviluppatori. - + Top-level directory where Mixxx should look for settings. Default is: Directory di primo livello in cui Mixxx deve cercare le impostazioni. L'impostazione predefinita è: - + Starts Auto DJ when Mixxx is launched. Fai partire Auto DJ quando Mixxx viene lanciato. - + Rescans the library when Mixxx is launched. - + Use legacy vu meter Usa il vecchio vu meter - + Use legacy spinny Usa lo spinny legacy - - Loads experimental QML GUI instead of legacy QWidget skin - Carica la GUI sperimentale QML invece della skin legacy QWidget + + Loads the highly unstable 3.0 Mixxx interface, based on QML. You need to use a new setting profile, or run with 'allow-dangerous-data-corruption-risk' to use with the current one. We highly recommend backing up your data if you do so. + - + + Force Mixxx to load an unstable version with an existing user profile from a stable version + + + + Enables safe-mode. Disables OpenGL waveforms, and spinning vinyl widgets. Try this option if Mixxx is crashing on startup. Abilita la modalità sicura. Disabilita le forme d'onda OpenGL e i widget di vinile che girano. Prova questa opzione se Mixxx và in crash all'avvio. - + [auto|always|never] Use colors on the console output. [auto|sempre|mai] Usa i colori sull'output della console. - + Sets the verbosity of command line logging. critical - Critical/Fatal only warning - Above + Warnings @@ -866,32 +879,32 @@ debug - Come sopra + Messaggi di debug/sviluppatore traccia - Come sopra + Messaggi di profilazione - + Sets the the logging level at which the log buffer is flushed to mixxx.log. <level> is one of the values defined at --log-level above. Imposta la soglia di registrazione alla quale il buffer di log viene scaricato in mixxx.log. <level> è uno dei valori definiti in --log-level sopra. - + Sets the maximum file size of the mixxx.log file in bytes. Use -1 for unlimited. The default is 100 MB as 1e5 or 100000000. - + Breaks (SIGINT) Mixxx, if a DEBUG_ASSERT evaluates to false. Under a debugger you can continue afterwards. Interrompe (SIGINT) Mixxx, se un DEBUG_ASSERT è valutato come false. In un debugger è possibile continuare in seguito. - + Overrides the default application GUI style. Possible values: %1 - + Load the specified music file(s) at start-up. Each file you specify will be loaded into the next virtual deck. Carica i file musicali specificati all'avvio. Ogni file specificato sarà caricato nel deck virtuale successivo. - + Preview rendered controller screens in the Setting windows. Anteprima renderizzata dello schermo del controller nella finestra impostazioni. @@ -984,2557 +997,2585 @@ traccia - Come sopra + Messaggi di profilazione ControlPickerMenu - + Headphone Output Uscita Cuffie - - - + + + + Deck %1 + %1 is the deck number 1 ... 4 Deck %1 - + Sampler %1 Campionatore %1 - + Preview Deck %1 Anteprima Deck %1 - + Microphone %1 Microfono %1 - + Auxiliary %1 Ausiliario %1 - + Reset to default Ripristina i valori predefiniti - + Effect Rack %1 Rack Effetti %1 - + Parameter %1 Parametro %1 - + Mixer Mixer - - + + Crossfader Crossfader - + Headphone mix (pre/main) Mix Cuffia (pre/main) - + Toggle headphone split cueing Attiva/disattiva una separazione cuffie per il cueing - + Headphone delay Ritardo cuffia - + Transport Trasporto - + Strip-search through track Cerca stream nella traccia - + Play button Bottone Play - - + + Set to full volume Imposta a tutto volume - - + + Set to zero volume Imposta a volume zero - + Stop button Bottone stop - + Jump to start of track and play Vai a inizio traccia e riproduci - + Jump to end of track Vai a fine traccia - + Reverse roll (Censor) button Bottone riproduci al contrario (censura) - + Headphone listen button Bottone preascolto cuffia - - + + Mute button Bottone Muto - + Toggle repeat mode Attiva/disattiva modo ripetizione - - + + Mix orientation (e.g. left, right, center) Orientamento mix (es. sinistra, destra, centro) - - + + Set mix orientation to left Imposta orientamento del mix a sinistra - - + + Set mix orientation to center Imposta orientamento del mix al centro - - + + Set mix orientation to right Imposta orientamento del mix a destra - + Toggle slip mode Abilita/disabilita modo scivolamento - - + + BPM BPM - + Increase BPM by 1 Aumenta BPM di 1 - + Decrease BPM by 1 Diminuisce BPM di 1 - + Increase BPM by 0.1 Aumenta BPM di 0.1 - + Decrease BPM by 0.1 Diminuisce BPM di 0.1 - + BPM tap button Bottone BPM tap - + Toggle quantize mode Attiva quantizzazione - + One-time beat sync (tempo only) Beat sync ad un tempo (solo tempo) - + One-time beat sync (phase only) Beat sync ad un tempo (solo fase) - + Toggle keylock mode Attiva modo keylock - + Equalizers Equalizzatori - + Vinyl Control Controllo Vinile - + Toggle vinyl-control cueing mode (OFF/ONE/HOT) Attiva/disattiva il modo cueing controllo-vinile (OFF/ONE/HOT) - + Toggle vinyl-control mode (ABS/REL/CONST) Abilita/Disabilita la modalità controllo vinile (Assoluta/Relativa/Costante) - + Pass through external audio into the internal mixer Inoltro diretto da audio esterno nel mixer interno - + Cues Cue - + Cue button Bottone Cue - + Set cue point Imposta il punto di cue - + Go to cue point Và al punto cue - + Go to cue point and play Và al punto di cue e riproduce - + Go to cue point and stop Và al punto di cue e si ferma - + Preview from cue point Anteprima dal punto di cue - + Cue button (CDJ mode) Bottone Cue (Modalità CDJ) - + Stutter cue Cue a singhiozzo - + Hotcues Hotcue - + Set, preview from or jump to hotcue %1 Imposta, anteprima da o salta a hotcue %1 - + Clear hotcue %1 Cancella hotcue %1 - + Set hotcue %1 Imposta hotcue %1 - + Jump to hotcue %1 Salta a hotcue %1 - + Jump to hotcue %1 and stop Salta a hotcue %1 e stop - + Jump to hotcue %1 and play Salta a hotcue %1 e riproduci - + Preview from hotcue %1 Anteprima da hotcue %1 - - + + Hotcue %1 Hotcue %1 - + Looping Ripetizione - + Loop In button Pulsante di Loop In - + Loop Out button Pulsante di Loop Out - + Loop Exit button Pulsante di uscita dal loop - + 1/2 1/2 - + 1 1 - + 2 2 - + 4 4 - + 8 8 - + 16 16 - + 32 32 - + 64 64 - + Move loop forward by %1 beats Sposta loop in avanti di %1 battute - + Move loop backward by %1 beats Sposta loop indietro di %1 battute - + Create %1-beat loop Crea un loop di %1 battute - + Create temporary %1-beat loop roll Crea un loop roll temporaneo di %1 battute - + Library Libreria - + Slot %1 Slot %1 - + Headphone Mix Mix Cuffie - + Headphone Split Cue Separa Cue Cuffie - + Headphone Delay Ritardo Cuffie - + Play Riproduci - + Fast Rewind Indietro veloce - + Fast Rewind button Bottone indietro veloce - + Fast Forward Avanti veloce - + Fast Forward button Bottone avanti veloce - + Strip Search Cerca Striscia - + Play Reverse Riproduci al contrario - + Play Reverse button Bottone riproduci al contrario - + Reverse Roll (Censor) Reverse Roll (Censura) - + Jump To Start Salta all'inizio - + Jumps to start of track Salta all'inizio della traccia - + Play From Start Riproduci dall'inizio - + Stop Stop - + Stop And Jump To Start Stop E Salta All'Inizio - + Stop playback and jump to start of track Ferma la riproduzione e salta ad inizio traccia - + Jump To End Salta Alla Fine - + Volume Volume - - - + + + Volume Fader Fader Volume - - + + Full Volume Volume Massimo - - + + Zero Volume Volume Zero - + Track Gain Guadagno Traccia - + Track Gain knob Manopola Guadagno Traccia - - + + Mute Muto - + Eject Espelli - - + + Headphone Listen Preascolto cuffia - + Headphone listen (pfl) button Bottone preascolto cuffia (pfl) - + Repeat Mode Modalità Ripetizione - + Slip Mode Modalità Slip - - + + Orientation Orientamento - - + + Orient Left Orienta a Sinistra - - + + Orient Center Orienta al Centro - - + + Orient Right Orienta a Destra - + BPM +1 BPM +1 - + BPM -1 BPM -1 - + BPM +0.1 BPM +0.1 - + BPM -0.1 BPM -0.1 - + BPM Tap BPM Tap - + Adjust Beatgrid Faster +.01 Regola Beatgrid più Veloce +.01 - + Increase track's average BPM by 0.01 Aumenta BPM medio della traccia di 0.01 - + Adjust Beatgrid Slower -.01 Regola Beatgrid più Lento -.01 - + Decrease track's average BPM by 0.01 Diminuisci il BPM medio della traccia di 0.01 - + Move Beatgrid Earlier Muove Beatgrid Anticipando - + Adjust the beatgrid to the left Regola beatgrid a sinistra - + Move Beatgrid Later Muove Beatgrid Posticipando - + Adjust the beatgrid to the right Regola Beatgrid a destra - + Adjust Beatgrid Regola Beatgrid - + Align beatgrid to current position Allinea beatgrid alla posizione corrente - + Adjust Beatgrid - Match Alignment Regola Beatgrid - Accoppia Allineamento - + Adjust beatgrid to match another playing deck. Regola Beatgrid per allinearsi ad un altro deck che stà suonando. - + Quantize Mode Modalità quantizzazione - + Sync Sincronizza - + Beat Sync One-Shot Beat Sync Un-Tocco - + Sync Tempo One-Shot Sync Tempo Un-Tocco - + Sync Phase One-Shot Sync Fase Un-Tocco - + Pitch control (does not affect tempo), center is original pitch Controllo Pitch (non influenza il tempo), Centro è il pitch originale - + Pitch Adjust Controlla intonazione - + Adjust pitch from speed slider pitch Regola il pitch dal pitch velocità slider - + Match musical key Sincronizza chiave musicale - + Match Key Allinea Chiave - + Reset Key Reimposta chiave musicale - + Resets key to original Reimposta la chiave musicale all'originale - + High EQ EQ Alti - + Mid EQ EQ Medi - - + + Main Output Uscita Master - + Main Output Balance Bilanciamento Uscita Master - + Main Output Delay Ritardo Uscita Master - + Main Output Gain Guadagno Uscita Master - + Low EQ EQ Bassi - + Toggle Vinyl Control Abilita/Disabilita il controllo vinile - + Toggle Vinyl Control (ON/OFF) Abilita/Disabilita il controllo vinile (ON/OFF) - + Vinyl Control Mode Modalità Controllo Vinile - + Vinyl Control Cueing Mode Modo Controllo Cueing tipo Vinile - + Vinyl Control Passthrough Inoltro Diretto Controllo Vinile - + Vinyl Control Next Deck Prossimo Deck Controllo Vinile - + Single deck mode - Switch vinyl control to next deck Modo Deck Singolo - passa in controllo vinile al prossimo deck - + Cue Cue - + Set Cue Imposta Cue - + Go-To Cue Vai al Cue - + Go-To Cue And Play Vai al Cue e Riproduci - + Go-To Cue And Stop Vai al Cue e Stop - + Preview Cue Anteprima Cue - + Cue (CDJ Mode) Cue (modalità CDJ) - + Stutter Cue Cue a Singhiozzo - + Go to cue point and play after release Và al punto di taglio e riproduce al rilascio - + Clear Hotcue %1 Cancella Hotcue %1 - + Set Hotcue %1 Imposta Hotcue %1 - + Jump To Hotcue %1 Salta all' hotcue %1 - + Jump To Hotcue %1 And Stop Salta all' hotcue %1 e Ferma - + Jump To Hotcue %1 And Play Salta all' hotcue %1 e riproduci - + Preview Hotcue %1 Anteprima Hotcue %1 - + Loop In Loop In - + Loop Out Loop Out - + Loop Exit Esci dal Loop - + Reloop/Exit Loop Reloop/Esci dal loop - + Loop Halve Dimezza Loop - + Loop Double Raddoppia Loop - + 1/32 1/32 - + 1/16 1/16 - + 1/8 1/8 - + 1/4 1/4 - + Move Loop +%1 Beats Sposta Battiti Loop +%1 - + Move Loop -%1 Beats Sposta Battiti Loop -%1 - + Loop %1 Beats Battiti Loop %1 - + Loop Roll %1 Beats Beat Loop Roll %1 - + Add to Auto DJ Queue (bottom) Aggiungi a fine coda in «Auto DJ» - + Append the selected track to the Auto DJ Queue Aggiungi la traccia selezionata alla Coda di Auto DJ - + Add to Auto DJ Queue (top) Aggiungi alla coda in modalità "Auto DJ" (in cima) - + Prepend selected track to the Auto DJ Queue Aggiungi la traccia selezionata in cima alla Coda di Auto DJ - + Load Track Carica Traccia - + Load selected track Carica traccia selezionata - + Load selected track and play Carica traccia selezionata e riproduci - - + + Record Mix Registra il Mix - + Toggle mix recording Abilita registrazione mix - + Effects Effetti - - Quick Effects - Effetti veloci - - - + Deck %1 Quick Effect Super Knob Deck %1 Effetto Rapido Super Manopola - + + Quick Effect Super Knob (control linked effect parameters) Super Manopola (controlla i parametri di effetti connessi) - - + + + + Quick Effect Effetto Rapido - + Clear Unit Cancella Unità - + Clear effect unit Cancella unità effetti - + Toggle Unit Attiva Unità - + Dry/Wet Asciutto/Bagnato - + Adjust the balance between the original (dry) and processed (wet) signal. Regola il bilanciamento fra il segnale originale (dry) e quello elaborato (wet). - + Super Knob Super Manopola - + Next Chain Prossima Catena - + Assign Assegna - + Clear Cancella - + Clear the current effect Cancella l'effetto corrente - + Toggle Abilita - + Toggle the current effect Abilità l'effetto corrente - + Next Successivo - + Switch to next effect Passa all'effetto successivo - + Previous Precedente - + Switch to the previous effect Passa all'effetto precedente - + Next or Previous Precedente o Successivo - + Switch to either next or previous effect Passa all'effetto precedente o al successivo - - + + Parameter Value Valore Parametro - - + + Microphone Ducking Strength Livello Ducking microfono - + Microphone Ducking Mode Modo Ducking Microfono - + Gain Guadagno - + Gain knob Potenziometro Guadagno - + Shuffle the content of the Auto DJ queue Mescola il contenuto della coda Auto DJ - + Skip the next track in the Auto DJ queue Salta la traccia successiva nella coda dell'Auto DJ - + Auto DJ Toggle Abilita Auto Dj - + Toggle Auto DJ On/Off Abilita/Disabilita Auto Dj - + Show/hide the microphone & auxiliary section Mostra/nasconde la sezione microfono & ausiliario - + 4 Effect Units Show/Hide Mostra/Nasconde Unità 4 Effetti - + Switches between showing 2 and 4 effect units Mostra 2 o 4 unità effetti - + Mixer Show/Hide Mostra/Nasconde Mixer - + Show or hide the mixer. Mostra o nasconde il mixer - + Cover Art Show/Hide (Library) Mostra/Nasconde Copertina (Libreria) - + Show/hide cover art in the library Mostra/Nasconde copertina nella libreria - + Library Maximize/Restore Massimizza/Ripristina Libreria - + Maximize the track library to take up all the available screen space. Massimizza la libreria tracce per occupare tutto lo spazio disponibile sullo schermo. - + Effect Rack Show/Hide Mostra/Nasconde Rack Effetti - + Show/hide the effect rack Mostra/Nasconde il rack effetti - + Waveform Zoom Out Waveform Zoom out - + Headphone Gain Guadagno Cuffie - + Headphone gain Guadagno cuffie - + Tap to sync tempo (and phase with quantize enabled), hold to enable permanent sync Tocca per sincronizzare il tempo (e la fase con Quantizza abilitato), tieni premuto per abilitare la sincronizzazione permanente - + One-time beat sync tempo (and phase with quantize enabled) Tempo di sincronizzazione della battuta una tantum (e fase con quantizza abilitato) - + Playback Speed Velocità Riproduzione - + Playback speed control (Vinyl "Pitch" slider) Controllo velocità riproduzione (slider "pitch" vinile) - + Pitch (Musical key) Pitch (Chiave Musicale) - + Increase Speed Aumenta la Velocità - + Adjust speed faster (coarse) Regola velocità rapidamente (grossolanamente) - + Increase Speed (Fine) Aumenta velocitù in salita (fine) - + Adjust speed faster (fine) Regola Velocità in salita (fine) - + Decrease Speed Diminuisce la velocità - + Adjust speed slower (coarse) Regola velocità lentamente (grossolanamente) - + Adjust speed slower (fine) Regola Velocità in diminuzione (fine) - + Temporarily Increase Speed Aumenta Velocità temporaneamente - + Temporarily increase speed (coarse) Aumenta Velocità temporaneamente (grossolanamente) - + Temporarily Increase Speed (Fine) Aumenta Velocità temporaneamente (fine) - + Temporarily increase speed (fine) Aumenta Velocità temporaneamente (fine) - + Temporarily Decrease Speed Diminuisce velocità temporaneamente - + Temporarily decrease speed (coarse) Diminuisce velocità temporaneamente (grossolanamente) - + Temporarily Decrease Speed (Fine) Diminuisce velocità temporaneamente (fine) - + Temporarily decrease speed (fine) Diminuisce velocità temporaneamente (fine) - - + + Adjust %1 Regola %1 - + + Deck %1 Stem %2 + + + + Effect Unit %1 Unità Effetto %1 - + Button Parameter %1 Parametro Pulsante %1 - + Skin Skin - + Controller Controller - + Crossfader / Orientation Crossfader / Orientamento - + Main Output gain Guadagno Uscita Master - + Main Output balance Bilanciamento Uscita Master - + Main Output delay Ritardo Uscita Master - + Headphone Cuffie - - + + Kill %1 + %1 is "Low EQ" "Mid EQ" or "High EQ" Elimina %1 - + Eject or un-eject track, i.e. reload the last-ejected track (of any deck)<br>Double-press to reload the last replaced track. In empty decks it reloads the second-last ejected track. Espelle o ricarica traccia, ovvero ricarica l'ultima traccia espulsa (di qualsiasi deck)<br>Premere due volte per ricaricare l'ultima traccia sostituita. Nei deck vuoti ricarica la penultima traccia espulsa. - + BPM / Beatgrid BPM / Beatgrid - + Halve BPM Dimezza BPM - + Multiply current BPM by 0.5 Moltiplica il BPM attuale per 0.5 - + 2/3 BPM 2/3 BPM - + Multiply current BPM by 0.666 Moltiplica il BPM attuale per 0.666 - + 3/4 BPM 3/4 BPM - + Multiply current BPM by 0.75 Moltiplica il BPM attuale per 0.75 - + 4/3 BPM 4/3 BPM - + Multiply current BPM by 1.333 Moltiplica il BPM attuale per 1.333 - + 3/2 BPM 3/2 BPM - + Multiply current BPM by 1.5 Moltiplica il BPM attuale per 1.5 - + Double BPM Raddoppia BPM - + Multiply current BPM by 2 Moltiplica il BPM attuale per 2 - + Tempo Tap Tempo Tap - + Tempo tap button Pulsante tap tempo - + Move Beatgrid Sposta Beatgrid - + Adjust the beatgrid to the left or right Regola beatgrid a sinistra o destra - + Move Beatgrid Half a Beat - + Adjust the beatgrid by exactly one half beat. Usable only for tracks with constant tempo. - - + + Toggle the BPM/beatgrid lock Attiva/disattiva il blocco dei BPM/beatgrid - + Revert last BPM/Beatgrid Change Ripristina l'ultima Modifica dei BPM/Beatgrid - + Revert last BPM/Beatgrid Change of the loaded track. Ripristina l'ultima modifica di BPM/Beatgrid della traccia caricata. - + Sync / Sync Lock Sincronizza / Blocca Sincronizzazione - + Internal Sync Leader Leader Sincronizzazione Interno - + Toggle Internal Sync Leader Attiva/disattiva Leader Sincronizzazione Interno - - + + Internal Leader BPM Leader Interno BPM - + Internal Leader BPM +1 Leader Interno BPM +1 - + Increase internal Leader BPM by 1 Aumenta Leader BPM interno di 1 - + Internal Leader BPM -1 Leader Interno BPM -1 - + Decrease internal Leader BPM by 1 Diminusce Leader BPM interno di 1 - + Internal Leader BPM +0.1 Leader Interno BPM +0.1 - + Increase internal Leader BPM by 0.1 Aumenta Leader BPM interno di 0.1 - + Internal Leader BPM -0.1 Leader Interno BPM -0.1 - + Decrease internal Leader BPM by 0.1 Diminusce Leader BPM interno di 0.1 - + Sync Leader Leader Sincronizzazione - + Sync mode 3-state toggle / indicator (Off, Soft Leader, Explicit Leader) Modalità di sincronizzazione a 3 stati / indicatore (Off, Soft Leader, Explicit Leader) - + Speed Velocità - + Decrease Speed (Fine) Diminuisci Velocità (Preciso) - + Pitch (Musical Key) Tono (Chiave Musicale) - + Increase Pitch Incrementa Tono - + Increases the pitch by one semitone Incrementa il tono di un semitono - + Increase Pitch (Fine) Incrementa Tono (Fine) - + Increases the pitch by 10 cents Incrementa il tono di 10 centesimi - + Decrease Pitch Decrementa Tono - + Decreases the pitch by one semitone Decrementa il tono di un semitono - + Decrease Pitch (Fine) Decrementa Tono (Fine) - + Decreases the pitch by 10 cents Decrementa il tono di 10 centesimi - + Keylock Keylock - + CUP (Cue + Play) CUP (Cue + Play) - + Shift cue points earlier Trasla punti di cue anticipando - + Shift cue points 10 milliseconds earlier Trasla punti di cue anticipando 10 millisecondi - + Shift cue points earlier (fine) Trasla punti di cue anticipando (fine) - + Shift cue points 1 millisecond earlier Trasla punti di cue anticipando 1 millisecondo - + Shift cue points later Trasla punti di cue posticipando - + Shift cue points 10 milliseconds later Trasla punti di cue posticipando 10 millisecondi - + Shift cue points later (fine) Trasla punti di cue posticipando (fine) - + Shift cue points 1 millisecond later Trasla punti di cue posticipando 1 millisecondo - - + + Sort hotcues by position - - + + Sort hotcues by position (remove offsets) - + Hotcues %1-%2 Hotcues %1-%2 - + Intro / Outro Markers Marcatori Intro / Outro - + Intro Start Marker Marcatore Inizio Intro - + Intro End Marker Marcatore Fine Intro - + Outro Start Marker Marcatore Inizio Outro - + Outro End Marker Marcatore Fine Outro - + intro start marker marcatore inizio intro - + intro end marker marcatore fine intro - + outro start marker marcatore inizio outro - + outro end marker marcatore fine outro - + Activate %1 [intro/outro marker Attiva %1 - + Jump to or set the %1 [intro/outro marker Salta a o imposta il %1 - + Set %1 [intro/outro marker Imposta %1 - + Set or jump to the %1 [intro/outro marker Imposta o salta a %1 - + Clear %1 [intro/outro marker Pulisci %1 - + Clear the %1 [intro/outro marker Pulisci il %1 - + if the track has no beats the unit is seconds Se la traccia non ha beats l'unità sono i secondi - + Loop Selected Beats Loop Battiti Selezionati - + Create a beat loop of selected beat size Crea un loop di battiti della dimensione dei battiti selezionati - + Loop Roll Selected Beats Loop Battiti Selezionati - + Create a rolling beat loop of selected beat size Crea un loop di battiti in rotazione della dimensione dei battiti selezionati - + Loop %1 Beats set from its end point Cicla %1 Beat impostati a partire dal suo punto finale - + Loop Roll %1 Beats set from its end point Ciclo di rotazione %1 Beat impostati a partire dal suo punto finale - + Create %1-beat loop with the current play position as loop end Crea un loop di %1 battute con la posizione di riproduzione corrente come fine del loop - + Create temporary %1-beat loop roll with the current play position as loop end Crea un loop temporaneo di %1 battute con la posizione di riproduzione corrente come fine del loop - + Loop Beats Loop Battiti - + Loop Roll Beats Loop Roll Beats - + Go To Loop In Vai all'Inizio del Loop - + Go to Loop In button Bottone Vai all'Inizio del Loop - + Go To Loop Out Vai alla Fine del Loop - + Go to Loop Out button Bottone Vai alla Fine del Loop - + Toggle loop on/off and jump to Loop In point if loop is behind play position Attiva/disattiva loop e passa al punto Loop In se loop è dietro la posizione di riproduzione - + Reloop And Stop Reloop e Stop - + Enable loop, jump to Loop In point, and stop Abilita loop, passa al punto di Loop In ed interrompe - + Halve the loop length Dimezza la lunghezza del loop - + Double the loop length Raddoppia la lunghezza del loop - + Beat Jump / Loop Move Salto Battuta / Sposta Loop - + Jump / Move Loop Forward %1 Beats Salta / Sposta Loop Avanti di %1 Battiti - + Jump / Move Loop Backward %1 Beats Salta / Sposta Loop Indietro di %1 Battiti - + Jump forward by %1 beats, or if a loop is enabled, move the loop forward %1 beats Salta in avanti di %1 battiti, o se un loop è abilitato, sposta il loop avanti di %1 battiti - + Jump backward by %1 beats, or if a loop is enabled, move the loop backward %1 beats Salta all'indietro di %1 battiti, o se un loop è abilitato, sposta il loop indietro di %1 battiti - + Beat Jump / Loop Move Forward Selected Beats Salto Battito / Sposta Loop Avanti Battiti Selezionati - + Jump forward by the selected number of beats, or if a loop is enabled, move the loop forward by the selected number of beats Salta in avanti del numero di battiti, o se un loop è abilitato, sposta il loop in avanti in base al numero di battiti selezionati - + Beat Jump / Loop Move Backward Selected Beats Salto Battito / Sposta Loop Indietro Battiti Selezionati - + Jump backward by the selected number of beats, or if a loop is enabled, move the loop backward by the selected number of beats Salta all'indietro del numero di battiti, o se un loop è abilitato, sposta il loop all'indietro in base al numero di battiti selezionati - + Beat Jump Salto beat - + Indicate which loop marker remain static when adjusting the size or is inherited from the current position Indica quale marcatore di ciclo rimane statico quando si regolano le dimensioni o viene ereditato dalla posizione corrente. - + Beat Jump / Loop Move Forward Salto Battuta / Loop Sposta Avanti - + Beat Jump / Loop Move Backward Salto Battuta / Loop Sposta Indietro - + Loop Move Forward Loop Sposta Avanti - + Loop Move Backward Loop Sposta Indietro - + Remove Temporary Loop Rimuovi Loop Temporaneo - + Remove the temporary loop Rimuove il loop temporaneo - + Navigation Navigazione - + Move up Muove sù - + Equivalent to pressing the UP key on the keyboard Equivale a premere il tasto SU sulla tastiera - + Move down Muove giù - + Equivalent to pressing the DOWN key on the keyboard Equivale a premere il tasto GIU sulla tastiera - + Move up/down Muove sù/giù - + Move vertically in either direction using a knob, as if pressing UP/DOWN keys Muove verticalmente in ciascuna direzione usando una manopola, come se si premessero i tasti SU/GIU sulla tastiera - + Scroll Up Scorri in alto - + Equivalent to pressing the PAGE UP key on the keyboard Equivale a premere il tasto PAGINA sù sulla tastiera - + Scroll Down Scorri in basso - + Equivalent to pressing the PAGE DOWN key on the keyboard Equivale a premere il tasto PAGINA giù sulla tastiera - + Scroll up/down Scorri in alto/basso - + Scroll vertically in either direction using a knob, as if pressing PGUP/PGDOWN keys Scorre verticalmente in ciascuna direzione usando una manopola, come se si premessero i tasti PGSU/PGGIU sulla tastiera - + Move left Muove a sinistra - + Equivalent to pressing the LEFT key on the keyboard Equivale a premere il tasto SINISTRA sulla tastiera - + Move right Muove a destra - + Equivalent to pressing the RIGHT key on the keyboard Equivale a premere il tasto DESTRA sulla tastiera - + Move left/right Muove sinistra/destra - + Move horizontally in either direction using a knob, as if pressing LEFT/RIGHT keys Muove orizzontalmente in ciascuna direzione usando una manopola, come se si premessero i tasti DESTRA/SINISTRA sulla tastiera - + Move focus to right pane Sposta il focus al pannello di destra - + Equivalent to pressing the TAB key on the keyboard Equivale a premere il tasto TAB sulla tastiera - + Move focus to left pane Sposta il focus al pannello di sinistra - + Equivalent to pressing the SHIFT+TAB key on the keyboard Equivale a premere il tasto SHIFT+TAB sulla tastiera - + Move focus to right/left pane Sposta il focus al pannello di destra/sinistra - + Move focus one pane to right or left using a knob, as if pressing TAB/SHIFT+TAB keys Sposta il focus ad un pannello sulla destra o sinistra usando una manopola, come se si premessero i tasti TAB/SHIFT+TAB sulla tastiera - + Sort focused column Ordinamento della colonna selezionata - + Sort the column of the cell that is currently focused, equivalent to clicking on its header Ordina la colonna della cella attualmente selezionata, come se si facesse click sulla sua intestazione - + Go to the currently selected item Và all'elemento attualmente selezionato - + Choose the currently selected item and advance forward one pane if appropriate Sceglie l'elemento attualmente selezionato e avanza di un riquadro, se appropriato - + Load Track and Play Carica Traccia e Riproduci - + Add to Auto DJ Queue (replace) Aggiunge a Auto DJ (sostituisce) - + Replace Auto DJ Queue with selected tracks Sostituisce la Coda Auto DJ con le tracce selezionate - + Select next search history Seleziona cronologia ricerche successive - + Selects the next search history entry Seleziona la voce successiva nella cronologia delle ricerche - + Select previous search history Seleziona cronologia ricerche precedente - + Selects the previous search history entry Seleziona la voce precedente nella cronologia delle ricerche - + Move selected search entry Sposta la voce di ricerca selezionata - + Moves the selected search history item into given direction and steps Sposta l'elemento della cronologia delle ricerche selezionato nella direzione e nei passaggi indicati - + Clear search Pulisci ricerca - + Clears the search query Cancella la query di ricerca - - + + Select Next Color Available Seleziona Colore Successivo Disponibile - + Select the next color in the color palette for the first selected track Seleziona il colore successivo nella tavolozza dei colori per la prima traccia selezionata - - + + Select Previous Color Available Seleziona Colore Precedente Disponibile - + Select the previous color in the color palette for the first selected track Seleziona il colore precedente nella tavolozza dei colori per la prima traccia selezionata - + + Quick Effects Deck %1 + + + + Deck %1 Quick Effect Enable Button Deck %1 Bottone Abilitazione Effetto Rapido - + + Quick Effect Enable Button Bottone Abilitazione Effetto Rapido - + + Deck %1 Stem %2 Quick Effect Super Knob + + + + + Deck %1 Stem %2 Quick Effect Enable Button + + + + Enable or disable effect processing Abilita o disabilita processore effetti - + Super Knob (control effects' Meta Knobs) Manopola Super (controllo effetti Manopola Meta) - + Mix Mode Toggle Attiva/disattiva Modo Mix - + Toggle effect unit between D/W and D+W modes Alterna unità effetto fra modi D/W e D+W - + Next chain preset Preimpostazione prossima catena - + Previous Chain Catena Precedente - + Previous chain preset Preimpostazione catena precedente - + Next/Previous Chain Passa alla Prossima/Precedente catena - + Next or previous chain preset Passa alla Prossima/Precedente catena - - + + Show Effect Parameters Mostra Parametri Effetto - + Effect Unit Assignment Assegna Unità Effetto - + Meta Knob Manopola Meta - + Effect Meta Knob (control linked effect parameters) Effetto Manopola Meta (controlla parametri effetti collegati). - + Meta Knob Mode Modalità Meta Knob - + Set how linked effect parameters change when turning the Meta Knob. Configura come i parametri degli effetti collegati cambiano quando ruoti la Manopola Meta. - + Meta Knob Mode Invert Modalità Meta Knob Inverso - + Invert how linked effect parameters change when turning the Meta Knob. Inverte il modo di cambiamento dei parametri degli effetti collegati quando ruoti la Manopola Meta. - - + + Button Parameter Value Valore Parametro Pulsante - + Microphone / Auxiliary Microfono / Ausiliario - Aux - + Microphone On/Off Microfono Acceso/Spento - + Microphone on/off Microfono acceso/spento - + Toggle microphone ducking mode (OFF, AUTO, MANUAL) Abilita/Disabilita la modalità del ducking (OFF, AUTO, MANUALE) - + Auxiliary On/Off Ausiliario - Aux On/Off - + Auxiliary on/off Ausiliario - Aux - On/Off - + Auto DJ Auto DJ - + Auto DJ Shuffle Auto Dj Mescola - + Auto DJ Skip Next Auto Dj Salta alla prossima - + Auto DJ Add Random Track Auto DJ Aggiunge Tracce Casuali - + Add a random track to the Auto DJ queue Aggiunge una traccia casuale alla coda Auto DJ - + Auto DJ Fade To Next Audo Dj Sfuma alla prossima - + Trigger the transition to the next track Attiva la transizione alla prossima traccia - + User Interface Interfaccia Grafica - + Samplers Show/Hide Mostra/Nasconde Campioni - + Show/hide the sampler section Mostra/nasconde la sezione campionatori - + Microphone && Auxiliary Show/Hide keep double & to prevent creation of keyboard accelerator Microfono && Ausiliario Mostra/Nasconde - + Waveform Zoom Reset To Default Ripristina zoom forma d'onda ai valori predefiniti - + Reset the waveform zoom level to the default value selected in Preferences -> Waveforms Ripristina il livello di zoom della forma d'onda al valore predefinito selezionato in Preferenze -> Forme d'onda - + Select the next color in the color palette for the loaded track. Seleziona il colore successivo nella tavolozza dei colori per la traccia caricata. - + Select previous color in the color palette for the loaded track. Seleziona il colore precedente nella tavolozza dei colori per la traccia caricata. - + Navigate Through Track Colors Naviga fra i Colori delle Tracce - + Select either next or previous color in the palette for the loaded track. Seleziona il colore successivo o precedente nella tavolozza per la traccia caricata. - + Start/Stop Live Broadcasting Avvia/Ferma Trasmissione Live - + Stream your mix over the Internet. Trasmette il tuo mix su Internet. - + Start/stop recording your mix. Avvia/ferma la registrazione del tuo mix. - - + + + Deck %1 Stems + + + + + Samplers Campionatori - + Vinyl Control Show/Hide Mostra/Nasconde Controllo Vinile - + Show/hide the vinyl control section Mostra/nasconde la sezione controllo vinile - + Preview Deck Show/Hide Mostra/Nasconde il Deck Anteprima - + Show/hide the preview deck Mostra/nasconde l'anteprima del deck - + Toggle 4 Decks Abilita 4 Deck - + Switches between showing 2 decks and 4 decks. Mostra 2 o 4 decks. - + Cover Art Show/Hide (Decks) Mostra/Nasconde copertina (Decks) - + Show/hide cover art in the main decks Mostra/nasconde copertina nei decks principali - + Vinyl Spinner Show/Hide Mostra/Nasconde Controllo Vinile - + Show/hide spinning vinyl widget Mostra/nasconde Strumento Controllo Vinile - + Vinyl Spinners Show/Hide (All Decks) Mostra/Nasconde Indicatori Vinile (Tutti i Decks) - + Show/Hide all spinnies Mostra/Nasconde tutti gli indicatori vinile - + Toggle Waveforms Mostra/nasconde Forme d'onda - + Show/hide the scrolling waveforms. Mostra/Nasconde lo scorrimento delle forme d'onda. - + Waveform zoom Waveform Zoom out - + Waveform Zoom Waveform Zoom - + Zoom waveform in Waveform zoom in - + Waveform Zoom In Waveform Zoom in - + Zoom waveform out Waveform Zoom out - + Star Rating Up Incrementa Valutazione Stelle - + Increase the track rating by one star Incrementa la valutazione della traccia di una stella - + Star Rating Down Decrementa Valutazione Stelle - + Decrease the track rating by one star Decrementa la valutazione della traccia di una stella @@ -3547,6 +3588,159 @@ traccia - Come sopra + Messaggi di profilazione Sconosciuto + + ControllerHidReportTabsManager + + + Read + + + + + Send + + + + + Payload Size + + + + + bytes + + + + + Byte Position + + + + + Bit Position + + + + + Bit Size + + + + + Logical Min + + + + + Logical Max + + + + + Value + + + + + Physical Min + + + + + Physical Max + + + + + Unit Scaling + + + + + Unit + + + + + Abs/Rel + + + + + + Wrap + + + + + + Linear + + + + + + Preferred + + + + + + Null + + + + + + Volatile + + + + + Usage Page + + + + + Usage + + + + + Relative + + + + + Absolute + + + + + No Wrap + + + + + Non Linear + + + + + No Preferred + + + + + No Null + + + + + Non Volatile + + + ControllerInputMappingTableModel @@ -3682,27 +3876,27 @@ traccia - Come sopra + Messaggi di profilazione ControllerScriptEngineLegacy - + Controller Mapping File Problem Problema File Mappatura Controller - + The mapping for controller "%1" cannot be opened. La mappatura per il tuo controller "%1" non può essere aperta. - + The functionality provided by this controller mapping will be disabled until the issue has been resolved. La funzionalità fornita da questo mapping controller sarà disabilitata fino a che il problema non sarà risolto. - + File: File: - + Error: Errore: @@ -3735,7 +3929,7 @@ traccia - Come sopra + Messaggi di profilazione - + Lock Blocca @@ -3765,7 +3959,7 @@ traccia - Come sopra + Messaggi di profilazione Sorgente Traccia Auto DJ - + Enter new name for crate: Inserisci il nuovo nome per il contenitore: @@ -3782,22 +3976,22 @@ traccia - Come sopra + Messaggi di profilazione Importa il Contenitore - + Export Crate Esporta il Contenitore - + Unlock Sblocca - + An unknown error occurred while creating crate: Si è verificato un errore sconosciuto durante la creazione del contenitore: - + Rename Crate Rinomina il Contenitore @@ -3807,28 +4001,28 @@ traccia - Come sopra + Messaggi di profilazione Crea un contenitore per il tuo prossimo spettacolo, per le tue tracce ElectroHouse preferite, o per quelle più richieste. - + Confirm Deletion Conferma Cancellazione - - + + Renaming Crate Failed Impossibile Rinominare il Contenitore - + Crate Creation Failed Impossibile Creare il Contenitore - + M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Text CSV (*.csv);;Readable Text (*.txt) Playlist M3U (*.m3u);;Playlist M3U8 (*.m3u8);;Playlist PLS (*.pls);;Testo CSV (*.csv);;File testuale (*.txt) - + M3U Playlist (*.m3u) Playlist M3U (*.m3u) @@ -3849,17 +4043,17 @@ traccia - Come sopra + Messaggi di profilazione I contenitori ti consentono di organizzare la tua musica a tuo piacimento! - + Do you really want to delete crate <b>%1</b>? Sei davvero sicuro di voler cancellare il contenitore <b>%1</b>? - + A crate cannot have a blank name. Un contenitore non può avere un nome nullo. - + A crate by that name already exists. Un contenitore con quel nome esiste già. @@ -3931,7 +4125,7 @@ traccia - Come sopra + Messaggi di profilazione Mixxx %1.%2 Development Team - Mixxx %1.%2 Development Team + Mixxx %1.%2 Team di Sviluppo @@ -3954,12 +4148,12 @@ traccia - Come sopra + Messaggi di profilazione Collaboratori passati - + Official Website Sito Ufficiale - + Donate Dona @@ -4764,123 +4958,140 @@ Hai cercato di addestrare: %1,%2 DlgPrefBroadcast - + Icecast 2 Icecast 2 - + Shoutcast 1 Shoutcast 1 - + Icecast 1 Icecast 1 - + MP3 MP3 - + Ogg Vorbis Ogg Vorbis - + Opus Opus - + AAC AAC - + HE-AAC HE-AAC - + HE-AACv2 HE-AACv2 - + Automatic Automatica - + Mono Mono - + Stereo Stereo - - - - + + Saving settings failed + + + + + The password for '%1' contains invalid characters. Please enter it again. + +Note: This can for example be invisible linebreaks when using copy/paste. + + + + + + Action failed Azione fallita - + You can't create more than %1 source connections. Non puoi creare più di %1 connessioni sorgente. - + Source connection %1 Connessione sorgente %1 - + + Settings for %1 + Settings for broadcast profile, %1 is the profile name placeholder + + + + At least one source connection is required. Almeno una connessione sorgente è richiesta. - + Are you sure you want to disconnect every active source connection? Sei sicuro di voler disconnettere tutte le connessioni sorgente attive? - - + + Confirmation required Richiesta conferma - + '%1' has the same Icecast mountpoint as '%2'. Two source connections to the same server that have the same mountpoint can not be enabled simultaneously. '%1' ha lo stesso mountpoint Icecast di '%2'. Due connessioni sorgente allo stesso server che hanno lo stesso mountpoint non possono essere abilitate simultaneamente. - + Are you sure you want to delete '%1'? Sei sicuro di voler cancellare '%1'? - + Renaming '%1' Rinomino '%1' - + New name for '%1': Nuovo nome per '%1': - + Can't rename '%1' to '%2': name already in use Non posso rinominare '%1' come '%2': il nome è già in uso @@ -4893,27 +5104,27 @@ Due connessioni sorgente allo stesso server che hanno lo stesso mountpoint non p Impostazioni Trasmissione Live - + Mixxx Icecast Testing Test Mixxx di Icecast - + Public stream Stream pubblico - + http://www.mixxx.org http://www.mixxx.org - + Stream name Nome dello stream - + Due to flaws in some streaming clients, updating Ogg Vorbis metadata dynamically can cause listener glitches and disconnections. Check this box to update the metadata anyway. A causa di falle in alcuni client per lo streaming, aggiornare i metadata Ogg Vorbis dinamicamente potrebbe causare problemi e disconnessioni agli ascoltatori. Spunta questa casella per aggiornare i metadata comunque. @@ -4953,67 +5164,72 @@ Due connessioni sorgente allo stesso server che hanno lo stesso mountpoint non p Impostazione per %1 - + + Available fields: $artist, $title, $year, $album, $genre, $bpm + + + + Dynamically update Ogg Vorbis metadata. Aggiorna dinamicamente i metadata Ogg Vorbis. - + ICQ ICQ - + AIM AIM - + Website Sito Web - + Live mix Mix live - + IRC IRC - + Select a source connection above to edit its settings here Seleziona una connessione sorgente sopra per modificarne qui le impostazioni - + Password storage Memorizzazione password - + Plain text Testo in chiaro - + Secure storage (OS keychain) Memorizzazione sicura (OS keychain) - + Genre Genere - + Use UTF-8 encoding for metadata. Utilizza la codifica UTF-8 per i metadati. - + Description Descrizione @@ -5039,42 +5255,42 @@ Due connessioni sorgente allo stesso server che hanno lo stesso mountpoint non p Canali - + Server connection Connessione server - + Type Digita - + Host Host - + Login Login - + Mount - Monta + - + Port Porta - + Password Password - + Stream info Informazioni stream @@ -5084,17 +5300,17 @@ Due connessioni sorgente allo stesso server che hanno lo stesso mountpoint non p Metadati - + Use static artist and title. Usa artista e titolo statici. - + Static title Titolo statico - + Static artist Artista statico @@ -5153,13 +5369,14 @@ Due connessioni sorgente allo stesso server che hanno lo stesso mountpoint non p DlgPrefColors - - + + + By hotcue number Per numero hotcue - + Color Colore @@ -5204,17 +5421,22 @@ Due connessioni sorgente allo stesso server che hanno lo stesso mountpoint non p + Jump default color + + + + When key colors are enabled, Mixxx will display a color hint associated with each key. - + Enable Key Colors - + Key palette @@ -5222,114 +5444,114 @@ associated with each key. DlgPrefController - + Apply device settings? Applicare le impostazioni della periferica? - + Your settings must be applied before starting the learning wizard. Apply settings and continue? La configurazione deve essere applicata prima di iniziare l'auto apprendimento. Applicare la configurazione e continuare? - + None Nessuno/a - + %1 by %2 %1 da %2 - + Mapping has been edited La mappatura è stata modificata - + Always overwrite during this session Sovrascrivi sempre durante questa sessione - + Save As Salva come - + Overwrite Sovrascrivi - + Save user mapping Salva mappatura utente - + Enter the name for saving the mapping to the user folder. Digita il nome per salvare la mappatura nella cartella utente. - + Saving mapping failed Salvataggio mappatura fallito - + A mapping cannot have a blank name and may not contain special characters. Una mappatura non può avere un nome nullo e non deve contenere caratteri speciali. - + A mapping file with that name already exists. Un file mappatura con lo stesso nome esiste già. - + Do you want to save the changes? Vuoi salvare le modifiche? - + Troubleshooting Risoluzione dei problemi - + <font color='#BB0000'><b>If you use this mapping your controller may not work correctly. Please select another mapping or disable the controller.</b></font><br><br>This mapping was designed for a newer Mixxx Controller Engine and cannot be used on your current Mixxx installation.<br>Your Mixxx installation has Controller Engine version %1. This mapping requires a Controller Engine version >= %2.<br><br>For more information visit the wiki page on <a href='https://mixxx.org/wiki/doku.php/controller_engine_versions'>Controller Engine Versions</a>. <font color='#BB0000'><b>ISe si utilizza questa mappatura, il controller potrebbe non funzionare correttamente. Selezionare un'altra mappatura o disabilitare il controller.</b></font><br><br>Questa mappatura è stata progettata per un nuovo motore di controllo Mixxx e non può essere utilizzata nell'installazione corrente di Mixxx.<br>L'installazione di Mixxx ha Controller Engine versione %1. Questa mappatura richiede una versione del motore di controllo >= %2.<br><br>Per maggiori informazioni visita la pagina wiki su <a href='https://mixxx.org/wiki/doku.php/controller_engine_versions'>Controller Engine Versions</a>. - + Mapping already exists. La mappatura esiste già. - + <b>%1</b> already exists in user mapping folder.<br>Overwrite or save with a new name? <b>%1</b> esiste già nella cartella mappatura dell'utente.<br>Sovrascrivo o salvo con un nuovo nome? - + Clear Input Mappings Elimina le Mappature di Ingresso - + Are you sure you want to clear all input mappings? Sei sicuro di voler eliminare tutte le mappature di ingresso? - + Clear Output Mappings Elimina le Mappature di Uscita - + Are you sure you want to clear all output mappings? Sei sicuro di voler eliminare tutte le mappature di uscita? @@ -5347,100 +5569,105 @@ Applicare la configurazione e continuare? Attivato - + + Refresh mapping list + + + + Device Info Info del dispositivo - + Physical Interface: - + Vendor name: - + Product name: - + Vendor ID - + VID: - + Product ID - + PID: - + Serial number: Numero seriale: - + USB interface number: - + HID Usage-Page: - + HID Usage: - + Description: Descrizione: - + Support: Supporto: - + Screens preview Anteprima Schermate - + Input Mappings Mappature Input - - + + Search Cerca - - + + Add Aggiungi - - + + Remove Rimuovi @@ -5460,17 +5687,17 @@ Applicare la configurazione e continuare? Carica Mappature: - + Mapping Info Info Mappatura - + Author: Autore: - + Name: Nome: @@ -5480,28 +5707,28 @@ Applicare la configurazione e continuare? Procedura guidata di apprendimento (Solo MIDI) - + Data protocol: - + Mapping Files: Files Mappatura: - + Mapping Settings - - + + Clear All Pulisci Tutto - + Output Mappings Mappature di Uscita @@ -5516,21 +5743,21 @@ Applicare la configurazione e continuare? - Mixxx uses "mappings" to connect messages from your controller to controls in Mixxx. If you do not see a mapping for your controller in the "Load Mapping" menu when you click on your controller on the left sidebar, you may be able to download one online from the %1. Place the XML (.xml) and Javascript (.js) file(s) in the "User Mapping Folder" then restart Mixxx. If you download a mapping in a ZIP file, extract the XML and Javascript file(s) from the ZIP file to your "User Mapping Folder" then restart Mixxx. - Mixxx usa le "mappature" per collegare messaggi dal tuo controller ai controlli presenti in Mixxx. Se non trovi una mappatura per il tuo controller nel menu "Carica Mappature" quando clicchi sul tuo controller nella barra laterale di sinistra, puoi scaricarne uno online da %1. Copia i file(s) XML (.xml) e Javascript (.js) nella cartella di "Cartella Mappature Utente" e riavvia Mixxx. Se scarichi una mappatura in formato ZIP, estrai dallo Zip i file(s) XML e Javascript nella cartella "v" e poi riavvia Mixxx. + Mixxx uses "mappings" to connect messages from your controller to controls in Mixxx. If you do not see a mapping for your controller in the "Load Mapping" menu when you click on your controller on the left sidebar, you may be able to download one online from the %1. Place the XML (.xml) and Javascript (.js) file(s) in the "User Mapping Folder" then click the Reload button next to the mapping selector to reload all available mappings. If you download a mapping in a ZIP file, extract the XML and Javascript file(s) from the ZIP file to your "User Mapping Folder" then click the Reload button. + - + Mixxx DJ Hardware Guide Mixxx DJ Guida Hardware - + MIDI Mapping File Format Formato File Mappatura MIDI - + MIDI Scripting with Javascript MIDI Scripting con Javascript @@ -5683,7 +5910,7 @@ Applicare la configurazione e continuare? Off - Off + @@ -5699,137 +5926,137 @@ Applicare la configurazione e continuare? DlgPrefDeck - + Mixxx mode Modalità Mixxx - + Mixxx mode (no blinking) Modo Mixxx (nessun lampeggio) - + Pioneer mode Modalità Pioneer - + Denon mode Modalità Denon - + Numark mode Modalità Numark - + CUP mode Modalità Cue - + mm:ss%1zz - Traditional mm:ss%1zz - Tradizionale - + mm:ss - Traditional (Coarse) mm:ss - Tradizionale (Grossolano) - + s%1zz - Seconds s%1zz - Secondi - + sss%1zz - Seconds (Long) sss%1zz - Secondi (Long) - + s%1sss%2zz - Kiloseconds s%1sss%2zz - Kilosecondi - + Intro start Intro inizio - + Main cue Cue principale - + First hotcue Primo hotcue - + First sound (skip silence) Primo suono (salta silenzio) - + Beginning of track Inizio della traccia - + Reject Rifiuta - + Allow, but stop deck Consenti, ma ferma il deck - + Allow, play from load point Consenti, riproduci da punto di partenza - + 4% 4% - + 6% (semitone) 6% (semitono) - + 8% (Technics SL-1210) 8% (Technics SL-1210) - + 10% 10% - + 16% 16% - + 24% 24% - + 50% 50% - + 90% 90% @@ -6289,57 +6516,57 @@ Puoi sempre trascinare tracce sullo schermo per clonare un deck. La dimensione minore della skin selezionata è maggiore della risoluzione del tuo schermo. - + Allow screensaver to run Permette di avviare il salvaschermo - + Prevent screensaver from running Evita l'avvio del salvaschermo - + Prevent screensaver while playing Evita l'avvio del salvaschermo durante la riproduzione - + Disabled Disabilitato - + 2x MSAA 2x MSAA - + 4x MSAA 4x MSAA - + 8x MSAA 8x MSAA - + 16x MSAA 16x MSAA - + This skin does not support color schemes Questa skin non supporta gli schemi di colore. - + Information Informazione - + Mixxx must be restarted before the new locale, scaling or multi-sampling settings will take effect. Mixxx deve essere riavviato prima che le nuove impostazioni di localizzazione, scalatura o multi-sampling abbiano effetto. @@ -6566,67 +6793,97 @@ and allows you to pitch adjust them for harmonic mixing. Vedi il manuale per i dettagli - + Music Directory Added Aggiunta Cartella Musica - + You added one or more music directories. The tracks in these directories won't be available until you rescan your library. Would you like to rescan now? Hai aggiunto una o più cartelle musicali. Le tracce in queste cartelle non saranno disponibili fino a che non si effettua una scansione della libreria. Vuoi effettuarla ora? - + Scan Scansiona - + Item is not a directory or directory is missing L'elemento non è una directory o la directory non esiste - + Choose a music directory Seleziona una cartella della musica - + Confirm Directory Removal Conferma rimozione cartella - + Mixxx will no longer watch this directory for new tracks. What would you like to do with the tracks from this directory and subdirectories?<ul><li>Hide all tracks from this directory and subdirectories.</li><li>Delete all metadata for these tracks from Mixxx permanently.</li><li>Leave the tracks unchanged in your library.</li></ul>Hiding tracks saves their metadata in case you re-add them in the future. Mixxx non monitorerà più questa directory alla ricerca di nuove tracce. Cosa intendi fare con le tracce di questa directory e subdirectory?<ul><li>Nascondi tutte le tracce da questa directory e subdirectory</li></li><li>Cancella tutti i metadata di queste tracce da Mixxx permanentemente</li><li>Lascia le tracce inalterate nella tua libreria</li></ul>Se nascondi le tracce, i loro metadata saranno conservati nel caso tu dovessi riaggiungerle in futuro - + Metadata means all track details (artist, title, playcount, etc.) as well as beatgrids, hotcues, and loops. This choice only affects the Mixxx library. No files on disk will be changed or deleted. Metadata significa tutti i dati della traccia (artista, titolo, etc.) e anche beatgrids, hotcues, e loop. Questo riguarda solo la libreria Mixxx. Non verranno modificati o cancellati i files sul disco. - + Hide Tracks Nascondi Tracce - + Delete Track Metadata Elimina Metadati Traccia - + Leave Tracks Unchanged Lascia Tracce senza Cambiamenti - + Relink music directory to new location Collega la cartella della musica alla nuova posizione - + + Black + + + + + ExtraBold + + + + + Bold + + + + + SemiBold + + + + + Medium + + + + + Light + + + + Select Library Font Seleziona Font Libreria @@ -6675,262 +6932,267 @@ and allows you to pitch adjust them for harmonic mixing. Riesamina cartelle all'avvio - + Audio File Formats Formati file audio - + Track Table View Vista Tabella Tracce - + Track Double-Click Action: Azione Doppio-Click su Traccia: - + BPM display precision: Precisione visualizzazione BPM: - + Session History Storia Sessione - + Track duplicate distance Distanza fra tracce duplicate - + When playing a track again log it to the session history only if more than N other tracks have been played in the meantime Quando si riproduce di nuovo un brano, lo si registra nella cronologia della sessione solo se nel frattempo sono stati riprodotti più di N altri brani. - + History playlist with less than N tracks will be deleted<br/><br/>Note: the cleanup will be performed during startup and shutdown of Mixxx. Le playlist della cronologia con meno di N brani verranno eliminate<br/><br/>Nota: la pulizia verrà effettuata durante l'avvio o la chiusura di Mixxx. - + Delete history playlist with less than N tracks Elimina playlist con meno di N brani dalla cronologia - + Library Font: Font Libreria: - + + Show scan summary dialog + + + + Grey out played tracks In grigio le tracce riprodotte - + Track Search Ricerca Traccia - + Enable search completions Abilita completamento della ricerca - + Enable search history keyboard shortcuts Abilita collegamenti da tastiera per cronologia di ricerca - + Percentage of pitch slider range for 'fuzzy' BPM search: Percentuale dell'intervallo del cursore dell'intonazione per la ricerca 'fuzzy' dei BPM: - + This range will be used for the 'fuzzy' BPM search (~bpm:) via the search box, as well as for BPM search in Track context menu > Search related Tracks Questo intervallo sarà utilizzato per la ricerca 'fuzzy' dei BPM (~bpm:) attraverso la casella di ricerca, cosiccome per la ricerca dei BPM nel menu contestuale Traccia > Cerca tracce correlate - + Preferred Cover Art Fetcher Resolution Risoluzione Preferita Fetcher Copertina - + Fetch cover art from coverartarchive.com by using Import Metadata From Musicbrainz. Recupera copertina da coverartarchive.com utilizzando Import Metadata da MusicBrainz. - + Note: ">1200 px" can fetch up to very large cover arts. Nota: ">1200 px" può recuperare fino a copertine molto grandi. - + >1200 px (if available) >1200 px (se disponibile) - + 1200 px (if available) 1200 px (se disponibile) - + 500 px 500 px - + 250 px 250 px - + Settings Directory Cartella Impostazioni - + The Mixxx settings directory contains the library database, various configuration files, log files, track analysis data, as well as custom controller mappings. La cartella delle impostazioni di Mixxx contiene il database della libreria, vari file di configurazione, file di log, dati di analisi della traccia e le mappature personalizzate dei controllori. - + Edit those files only if you know what you are doing and only while Mixxx is not running. Modificate quei files solo se sapete cosa state facendo e solo quando Mixxx non è attivo. - + Open Mixxx Settings Folder Apre Cartella Impostazioni Mixxx - + Library Row Height: Altezza Riga Libreria: - + Use relative paths for playlist export if possible Se possibile usa il percorso relativo per esportare la playlist - + ... ... - + px px - + Synchronize library track metadata from/to file tags Sincronizza i metadati delle tracce della libreria dai/ai tag dei file - + Automatically write modified track metadata from the library into file tags and reimport metadata from updated file tags into the library Scrive automaticamente i metadati delle tracce modificate dalla libreria nei tag dei file e reimporta i metadati dai tag dei file aggiornati nella libreria - + Synchronize Serato track metadata from/to file tags (experimental) Sincronizza i metadati delle tracce di Serato dai/ai tag dei file (sperimentale) - + Keeps track color, beat grid, bpm lock, cue points, and loops synchronized with SERATO_MARKERS/MARKERS2 file tags.<br/><br/>WARNING: Enabling this option also enables the reimport of Serato metadata after files have been modified outside of Mixxx. On reimport existing metadata in Mixxx is replaced with the metadata found in file tags. Custom metadata not included in file tags like loop colors is lost. Mantiene il colore della traccia, la griglia dei beat, il blocco dei bpm, i punti di attacco e i loop sincronizzati con i tag dei file SERATO_MARKERS/MARKERS2.<br/><br/>ATTENZIONE: Abilitando questa opzione si abilita anche la reimportazione dei metadati Serato dopo che i file sono stati modificati fuori da Mixxx. Alla reimportazione i metadati esistenti in Mixxx vengono sostituiti con i metadati trovati nei tag dei file. I metadati personalizzati non inclusi nei tag dei file, come i colori dei loop, vengono persi. - + Edit metadata after clicking selected track Modifica metadati dopo il click sulla traccia selezionata - + Search-as-you-type timeout: Timeout di ricerca alla digitazione: - + ms ms - + Load track to next available deck Carica traccia nel prossimo deck disponibile - + External Libraries Librerie Esterne - + You will need to restart Mixxx for these settings to take effect. Dovrai riavviare Mixxx in modo che questi cambiamenti abbiano effetto. - + Show Rhythmbox Library Mostra la Libreria di Rhythmbox - + Track Metadata Synchronization / Playlists Sincronizzazione Metadati Traccia / Playlist - + Add track to Auto DJ queue (bottom) Aggiunge traccia alla coda Auto DJ (in fondo) - + Add track to Auto DJ queue (top) Aggiunge traccia alla coda Auto DJ (in cima) - + Ignore Ignora - + Show Banshee Library Mostra la Libreria di Banshee - + Show iTunes Library Mostra la Libreria di iTunes - + Show Traktor Library Mostra la Libreria di Traktor - + Show Rekordbox Library Mostra Libreria Rekordbox - + Show Serato Library Mostra Libreria Serato - + All external libraries shown are write protected. Tutte le librerie esterne visualizzate sono protette da scrittura. @@ -7275,33 +7537,33 @@ and allows you to pitch adjust them for harmonic mixing. DlgPrefRecord - + Choose recordings directory Scegli la cartella di Registrazione - - + + Recordings directory invalid Cartella registrazioni non valida - + Recordings directory must be set to an existing directory. La cartella registrazioni deve essere impostata su una cartella esistente. - + Recordings directory must be set to a directory. La cartella registrazioni deve essere impostata su una cartella. - + Recordings directory not writable La cartella registrazioni non è scrivibile - + You do not have write access to %1. Choose a recordings directory you have write access to. Non hai accesso in scrittura a %1. Scegli una cartella registrazioni dove hai accesso in scrittura. @@ -7319,43 +7581,55 @@ and allows you to pitch adjust them for harmonic mixing. Sfoglia... - - + + This will include the filepath for each track in the CUE file. +This option makes the CUE file less portable and can reveal personal +information from filepaths (i.e. username) + + + + + Enable File Annotation in CUE file + + + + + Quality Qualità - + Tags Etichette - + Title Titolo - + Author Autore - + Album Album - + Output File Format Formato audio Output - + Compression Compressione - + Lossy Con perdita @@ -7370,12 +7644,12 @@ and allows you to pitch adjust them for harmonic mixing. Cartella: - + Compression Level Livello Compressione - + Lossless Senza perdita @@ -7508,172 +7782,177 @@ Il target di intensità sonora è approssimativo e presuppone che il pregain del DlgPrefSound - + %1 Hz %1 Hz - + Default (long delay) Predefinita (ritardo lungo) - + Experimental (no delay) Sperimentale (nessun ritardo) - + Disabled (short delay) Disabilitato (ritardo corto) - + Soundcard Clock Clock Scheda Audio - + Network Clock Clock Rete - + Direct monitor (recording and broadcasting only) Monitor diretto (solo registrazione e trasmissione) - + Disabled Disabilitato - + Enabled Attivato - + Stereo Stereo - + Mono Mono - + To enable Realtime scheduling (currently disabled), see the %1. Per abilitare lo scheduling Realtime (attualmente disabilitato), vedere il %1. - + The %1 lists sound cards and controllers you may want to consider for using Mixxx. Le %1 liste schede audio e controllori che puoi voler considerare per l'uso con Mixxx. - + Mixxx DJ Hardware Guide Mixxx DJ Guida Hardware - + + Find details in the Mixxx user manual + + + + Information Informazione - + Mixxx must be restarted before the multi-threaded RubberBand setting change will take effect. Mixxx deve essere riavviato prima che la modifica delle impostazioni di RubberBand multi-thread abbia effetto. - + auto (<= 1024 frames/period) automatico (<= 1024 fotogrammi/periodo) - + 2048 frames/period 2048 fotogrammi/periodo - + 4096 frames/period 4096 fotogrammi/periodo - + Are you sure? Sei sicuro? - + Distribute stereo channels into mono channels for parallel processing will result in a loss of mono compatibility and a diffuse stereo image. It is not recommended during broadcasting or recording. La diffusione di canali stereo in canali mono per l'elaborazione parallela comporta la perdita della compatibilità mono e un'immagine stereo diffusa. Non è consigliabile durante la trasmissione o la registrazione. - + Are you sure you wish to proceed? Si è sicuri di voler procedere? - + No No - + Yes, I know what I am doing Si, sò cosa stò facendo - + Microphone inputs are out of time in the record & broadcast signal compared to what you hear. Gli inputs microfonici sono fuori tempo nel segnale di registrazione & trasmissione rispetto a quanto senti. - + Measure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. Misura la latenza di round trip e la impone per la Compensazione della Latenza Microfono per allineare la temporizzazione microfono. - + Refer to the Mixxx User Manual for details. Riferirsi al Manuale Utente Mixxx per dettagli. - + Configured latency has changed. La latenza configurata è cambiata. - + Remeasure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. Rimisura la latenza di round trip e la impone per la Compensazione della Latenza Microfono per allineare la temporizzazione microfono. - + Realtime scheduling is enabled. Realtime scheduling è abilitato. - + Main output only Solo uscita master - + Main and booth outputs Uscite master e booth - + %1 ms %1 ms - + Configuration error Errore di configurazione @@ -7740,17 +8019,22 @@ Il target di intensità sonora è approssimativo e presuppone che il pregain del ms - + + Deck and Bus outputs are for external mixers. They are post-fader and include effects and crossfader (for Auto DJ). For external mixing, make sure all Mixxx faders and EQ knobs are set to their default position (right- or double-click). + + + + 20 ms 20 ms - + Buffer Underflow Count Numero Buffer Underflow - + 0 0 @@ -7775,12 +8059,12 @@ Il target di intensità sonora è approssimativo e presuppone che il pregain del Ingresso - + System Reported Latency Latenza Sistema Riscontrata - + Enlarge your audio buffer if the underflow counter is increasing or you hear pops during playback. Aumenta il tuo buffer audio se il contatore di underflow aumenta oppure se senti dei salti o rumori durante la musica. @@ -7810,7 +8094,7 @@ Il target di intensità sonora è approssimativo e presuppone che il pregain del Suggerimenti e Diagnostica - + Downsize your audio buffer to improve Mixxx's responsiveness. Diminuisci il tuo buffer audio per aumentare la responsività di Mixxx @@ -7857,7 +8141,7 @@ Il target di intensità sonora è approssimativo e presuppone che il pregain del Configurazione Vinile - + Show Signal Quality in Skin Mostra qualità del segnale nella skin @@ -7893,46 +8177,51 @@ Il target di intensità sonora è approssimativo e presuppone che il pregain del + Pitch estimator + + + + Deck 1 Deck 1 - + Deck 2 Deck 2 - + Deck 3 Deck 3 - + Deck 4 Deck 4 - + Signal Quality Qualità del segnale - + http://www.xwax.co.uk http://www.xwax.co.uk - + Powered by xwax - + Realizzato da xwax - + Hints Suggerimenti - + Select sound devices for Vinyl Control in the Sound Hardware pane. Seleziona i dispositivi sonori per il Controllo Vinile nel pannello Hardware Audio. @@ -7940,58 +8229,58 @@ Il target di intensità sonora è approssimativo e presuppone che il pregain del DlgPrefWaveform - + Filtered Filtrato - + HSV HSV - + RGB RGB - + Top Alto - + Center Centro - + Bottom Basso - + 1/3 of waveform viewer options for "Text height limit" - + Entire waveform viewer - + OpenGL not available OpenGL non disponibile - + dropped frames frames persi - + Cached waveforms occupy %1 MiB on disk. Le waveform nella cache occupano %1 Mib sul disco @@ -8009,22 +8298,17 @@ Il target di intensità sonora è approssimativo e presuppone che il pregain del Frame rate - + OpenGL Status - + Displays which OpenGL version is supported by the current platform. Mostra quale versioni di OpenGL è supportata della piattaforma corrente. - - Normalize waveform overview - Normalizza la forma d'onda della panoramica - - - + Average frame rate Frame rate medio @@ -8040,7 +8324,7 @@ Il target di intensità sonora è approssimativo e presuppone che il pregain del Livello di zoom predefinito - + Displays the actual frame rate. Mostra i fotogrammi per secondo attuali. @@ -8075,7 +8359,7 @@ Il target di intensità sonora è approssimativo e presuppone che il pregain del Bassi - + Show minute markers on waveform overview Mostra i marcatori dei minuti sulla panoramica della forma d'onda @@ -8120,7 +8404,7 @@ Il target di intensità sonora è approssimativo e presuppone che il pregain del Guadagno visivo globale - + The waveform overview shows the waveform envelope of the entire track. Select from different types of displays for the waveform overview, which differ primarily in the level of detail shown in the waveform. La panoramica della forma d'onda mostra lo sviluppo dell'intera traccia. @@ -8188,22 +8472,22 @@ Select from different types of displays for the waveform, which differ primarily pt - + Caching Caching - + Mixxx caches the waveforms of your tracks on disk the first time you load a track. This reduces CPU usage when you are playing live but requires extra disk space. Mixxx memorizza in caches le waveform delle tracce sul disco la prima volta che carichi una traccia. Questo riduce l'uso della CPU quando stai suonando live ma richiede spazio extra sul disco. - + Enable waveform caching Abilita memorizzazione waveform in cache - + Generate waveforms when analyzing library Genera le waveform quando si analizza la libreria @@ -8219,7 +8503,7 @@ Select from different types of displays for the waveform, which differ primarily - + Type @@ -8249,12 +8533,58 @@ Select from different types of displays for the waveform, which differ primarily Muove la posizione del marker sulle forme d'onda a sinistra, destra o al centro (predefinito). - - Overview Waveforms + + Stem + + + + + Channel opacity + + + + + Channel opacity (outline) + + + + + Main stem opacity + + + + + Outline stem opacity + + + + + Move channel to foreground when volume is adjusted + + + + + Overview Waveforms + + + + + Gain + + + + + Normalize to peak + + + + + Use Waveform "Global" gain and ReplayGain (if enabled) + 'Global' refers to the 'Global' visual gain in the scrolling waveform settings - + Clear Cached Waveforms Cancella le waveform memorizzate in cache @@ -8746,7 +9076,7 @@ Questa azione non può essere annullata! BPM: - + Location: Posizione: @@ -8761,27 +9091,27 @@ Questa azione non può essere annullata! Commenti - + BPM BPM (Pulsazioni/minuto) - + Sets the BPM to 75% of the current value. Imposta i BPM al 75% del valore corrente. - + 3/4 BPM 3/4 BPM - + Sets the BPM to 50% of the current value. Imposta i BPM al 50% del valore corrente. - + Displays the BPM of the selected track. Mostra i BPM della traccia selezionata. @@ -8836,49 +9166,49 @@ Questa azione non può essere annullata! Genere - + ReplayGain: ReplayGain: - + Sets the BPM to 200% of the current value. Imposta i BPM al 200% del valore corrente. - + Double BPM raddoppia BPM - + Halve BPM Dimezza BPM - + Clear BPM and Beatgrid Cancella i BPM e i Beatgrid - + Move to the previous item. "Previous" button Passa alla voce precedente - + &Previous &Precedente - + Move to the next item. "Next" button Passa alla voce successiva - + &Next &Successivo @@ -8903,12 +9233,12 @@ Questa azione non può essere annullata! Colore - + Date added: Data inserimento: - + Open in File Browser Apri nel File Manager @@ -8918,12 +9248,17 @@ Questa azione non può essere annullata! Frequenza di campionamento: - + + Filesize: + + + + Track BPM: BPM della traccia: - + Converts beats detected by the analyzer into a fixed-tempo beatgrid. Use this setting if your tracks have a constant tempo (e.g. most electronic music). Often results in higher quality beatgrids, but will not do well on tracks that have tempo shifts. @@ -8932,90 +9267,90 @@ Usa quest'opzione se le tue tracce hanno un ritmo costante (ad esempio la m Spesso si avrà un buon risultato con tracce a ritmo costante, non funzionerà bene su tracce che hanno cambi di ritmo. - + Assume constant tempo Assume un tempo costante - + Sets the BPM to 66% of the current value. Imposta i BPM al 66% del valore corrente. - + 2/3 BPM 2/3 BPM - + Sets the BPM to 150% of the current value. Imposta il BPM al 150% del valore attuale. - + 3/2 BPM 3/2 BPM - + Sets the BPM to 133% of the current value. Imposta il BPM al 133% del valore attuale. - + 4/3 BPM 4/3 BPM - + Tap with the beat to set the BPM to the speed you are tapping. Tocca a ritmo per impostare i BPM alla velocita a cui premi. - + Tap to Beat Premi alla Battuta - + Hint: Use the Library Analyze view to run BPM detection. Suggerimento: Usa la vista Analizza Libreria per eseguire il calcolo dei BPM. - + Save changes and close the window. "OK" button Salva le modifiche e chiude la finestra. - + &OK &OK - + Discard changes and close the window. "Cancel" button Annulla le modifiche e chiudi la finestra. - + Save changes and keep the window open. "Apply" button Salva le modifiche e non chiude la finestra. - + &Apply &Applica - + &Cancel &Cancella - + (no color) (nessun colore) @@ -9172,7 +9507,7 @@ Spesso si avrà un buon risultato con tracce a ritmo costante, non funzionerà b &OK - + (no color) (nessun colore) @@ -9374,27 +9709,27 @@ Spesso si avrà un buon risultato con tracce a ritmo costante, non funzionerà b EngineBuffer - + Soundtouch (faster) Soundtouch (più veloce) - + Rubberband (better) Rubberband (migliore) - + Rubberband R3 (near-hi-fi quality) Rubberband R3 (qualità quasi-alta-fedeltà) - + Unknown, using Rubberband (better) Sconosciuto, usando Rubberband (migliore) - + Unknown, using Soundtouch Sconosciuto, utilizzando Soundtouch @@ -9609,15 +9944,15 @@ Spesso si avrà un buon risultato con tracce a ritmo costante, non funzionerà b LegacySkinParser - - + + Safe Mode Enabled Shown when Mixxx is running in safe mode. Modalità Sicura Attivata - - + + No OpenGL support. Shown when Spinny can not be displayed. Please keep @@ -9629,57 +9964,57 @@ Shown when VuMeter can not be displayed. Please keep supporto OpenGL. - + activate Attiva - + toggle Attiva - + right destra - + left sinistra - + right small destra piccolo - + left small sinistra poco - + up su - + down giù - + up small su poco - + down small giu poco - + Shortcut Scorciatoia da tastiera @@ -9687,37 +10022,37 @@ supporto OpenGL. Library - + This or a parent directory is already in your library. Questa o una cartella superiore è già presente nella tua libreria. - + This or a listed directory does not exist or is inaccessible. Aborting the operation to avoid library inconsistencies Questa o una cartella elencata non esiste o è inaccessibile. Interrompi l'operazione per evitare incongruenze nella libreria - - + + This directory can not be read. La cartella non può essere letta. - + An unknown error occurred. Aborting the operation to avoid library inconsistencies Si è verificato un errore sconosciuto. Interrompi l'operazione per evitare incongruenze nella libreria - + Can't add Directory to Library Non posso aggiungere la Cartella alla Libreria - + Could not add <b>%1</b> to your library. %2 @@ -9726,27 +10061,27 @@ Interrompi l'operazione per evitare incongruenze nella libreria - + Can't remove Directory from Library Non posso rimuovere la Cartella dalla Libreria - + An unknown error occurred. Si è verificato un errore sconosciuto - + This directory does not exist or is inaccessible. La cartella non esiste o non è accessibile. - + Relink Directory Ricollega Cartella - + Could not relink <b>%1</b> to <b>%2</b>. %3 @@ -9914,12 +10249,12 @@ Vuoi veramente sovrascriverlo? Tracce Nascoste - + Export to Engine DJ Esporta a Engine DJ - + Tracks Tracce @@ -9927,37 +10262,37 @@ Vuoi veramente sovrascriverlo? MixxxMainWindow - + Sound Device Busy Periferica audio occupata - + <b>Retry</b> after closing the other application or reconnecting a sound device <b>Riprova</b> dopo aver chiuso l'altra applicazione o riconnesso la periferica audio - - - + + + <b>Reconfigure</b> Mixxx's sound device settings. <b>Riconfigura</b> settaggi dei dispositivi di Mixxx. - - + + Get <b>Help</b> from the Mixxx Wiki. Ottieni <b>Aiuto</b> dal Wiki di Mixxx - - - + + + <b>Exit</b> Mixxx. <b>Uscire</b> da Mixxx - + Retry Riprova @@ -9967,213 +10302,213 @@ Vuoi veramente sovrascriverlo? skin - + Allow Mixxx to hide the menu bar? Permetti a Mixxx di nascondere la barra dei menu? - + Hide Always show the menu bar? Nascondi - + Always show Mostra sempre - + The Mixxx menu bar is hidden and can be toggled with a single press of the <b>Alt</b> key.<br><br>Click <b>%1</b> to agree.<br><br>Click <b>%2</b> to disable that, for example if you don't use Mixxx with a keyboard.<br><br>You can change this setting any time in Preferences -> Interface.<br> Keep formatting tags <b> (bold text) and <br> (linebreak). %1 is the placeholder for the 'Always show' button label La barra dei menu di Mixxx è nascosta e può essere attivata/disattivata con una singola pressione del tasto <b>Alt</b> .<br><br>Clicca <b>%1</b> per confermare.<br><br>Clicca <b>%2</b> per non confermare, per esempio se non usi Mixxx con una tastiera.<br><br>Puoi cambiare in ogni momento queste impostazioni da Preferenze -> Interfaccia.<br> - + Ask me again Chiedi nuovamente - - + + Reconfigure Riconfigura - + Help Guida - - + + Exit Esci - - + + Mixxx was unable to open all the configured sound devices. Mixxx non ha potuto aprire tutti i dispositivi musicali configurati. - + Sound Device Error Errore Dispositivo Sound - + <b>Retry</b> after fixing an issue <b>Riprova</b> dopo aver corretto un problema - + No Output Devices Nessun dispositivo di output - + Mixxx was configured without any output sound devices. Audio processing will be disabled without a configured output device. Mixxx è stato configurato senza un dispositivo audio di output. L'elaborazione audio sarà disabilitata senza un dispositivo audio configurato. - + <b>Continue</b> without any outputs. <b>Continua</b> senza alcun output - + Continue Continua - + Load track to Deck %1 Carica una traccia dal mazzo %1 - + Deck %1 is currently playing a track. Il mazzo %1 sta correntemente riproducendo una traccia. - + Are you sure you want to load a new track? Sei sicuro di voler caricare una nuova traccia? - + There is no input device selected for this vinyl control. Please select an input device in the sound hardware preferences first. Non è stato selezionato nessuno dispositivo di input per il controllo vinile. Prego selezionare prima un dispositivo di controllo di input nel pannello di preferenze hardware. - + There is no input device selected for this passthrough control. Please select an input device in the sound hardware preferences first. Nessun dispositivo di input è stato selezionato per il controllo diretto passtrough. Prego selezionare prima un dispositivo di input nel pannello di preferenze hardware. - + There is no input device selected for this microphone. Do you want to select an input device? Non c'è nessun dispositivo di input selezionato per questo microfono. Vuoi selezionare un dispositivo di input? - + There is no input device selected for this auxiliary. Do you want to select an input device? Non c'è nessun dispositivo di input selezionato per questo ausiliare. Vuoi selezionare un dispositivo di input? - + Scan took %1 - + No changes detected. Nessun cambiamento rilevato. - - + + %1 tracks in total - + %1 new tracks found - + %1 moved tracks detected - + %1 tracks are missing (%2 total) - + %1 tracks have been rediscovered - + Library scan finished - + Error in skin file Errore nel file della Skin - + The selected skin cannot be loaded. La seguente Skin non può essere caricata. - + OpenGL Direct Rendering Rendering Diretto OpenGL - + Direct rendering is not enabled on your machine.<br><br>This means that the waveform displays will be very<br><b>slow and may tax your CPU heavily</b>. Either update your<br>configuration to enable direct rendering, or disable<br>the waveform displays in the Mixxx preferences by selecting<br>"Empty" as the waveform display in the 'Interface' section. Direct rendering non è abilitato sulla tua macchina.<br><br>Ciò significa che la visualizzazione delle forme d'onda sarà molto<br><b>lento e può impattare sulla tua CPU pesantemente</b>. Aggiorna la tua<br>configurazione per abilitare il direct rendering, or disabilita la visualizzazione<br>della forma d'onda nelle preferenze di Mixxx selezionando<br>"Vuota" come visualizzazione di forma d'onda nella sezione 'Interfaccia'. - - - + + + Confirm Exit Conferma uscita - + A deck is currently playing. Exit Mixxx? Un deck è in riproduzione. Uscire da Mixxx? - + A sampler is currently playing. Exit Mixxx? Un campionamento è attualmente in riproduzione. Uscire da Mixxx? - + The preferences window is still open. La finestra delle Preferenze è ancora aperta. - + Discard any changes and exit Mixxx? Annullare ogni modifica e uscire da Mixxx? @@ -10189,13 +10524,13 @@ Vuoi selezionare un dispositivo di input? PlaylistFeature - + Lock Blocca - - + + Playlists Playlist @@ -10205,58 +10540,63 @@ Vuoi selezionare un dispositivo di input? Mescola Playlist - + + Adopt current order + + + + Unlock all playlists - + Delete all unlocked playlists - + Unlock Sblocca - - + + Confirm Deletion - + Do you really want to delete all unlocked playlists? - + Deleting %1 unlocked playlists.<br>This operation can not be undone! - + Playlists are ordered lists of tracks that allow you to plan your DJ sets. Le playlist sono elenchi ordinati di brani che ti consentono di pianificare i tuoi DJ set. - + It may be necessary to skip some tracks in your prepared playlist or add some different tracks in order to maintain the energy of your audience. Potrebbe essere necessario saltare alcune tracce nella playlist preparata o aggiungere alcune tracce diverse per mantenere l'energia del pubblico. - + Some DJs construct playlists before they perform live, but others prefer to build them on-the-fly. Alcuni Djs organizzano le playlist prima della performance live, ma altri preferiscono farle al "volo". - + When using a playlist during a live DJ set, remember to always pay close attention to how your audience reacts to the music you've chosen to play. Quando usi una playlist durante una esibizione Live Dj, ricordati sempre di prestare molta attenzione a come il tuo pubblico reagisce alla musica da eseguire che hai selezionato. - + Create New Playlist Crea Nuova Playlist @@ -10355,59 +10695,59 @@ Vuoi selezionare un dispositivo di input? QMessageBox - + Upgrading Mixxx Aggiornando Mixxx - + Mixxx now supports displaying cover art. Do you want to scan your library for cover files now? Mixxx ora supporta la visualizzazione delle copertine. Vuoi scansionare la tua libreria per cercare i file di copertina adesso? - + Scan Scansiona - + Later Successivamente - + Upgrading Mixxx from v1.9.x/1.10.x. Aggiornare Mixxx da v1.9.x/1.10.x. - + Mixxx has a new and improved beat detector. Mixxx ha un nuovo e migliorato Rilevatore di Battiti. - + When you load tracks, Mixxx can re-analyze them and generate new, more accurate beatgrids. This will make automatic beatsync and looping more reliable. Quando carichi le tracce, Mixxx può ri-analizzarle e generare nuove e più accurate beatgrids. Questo renderà il beatsync automatico e il looping più affidabile - + This does not affect saved cues, hotcues, playlists, or crates. Questo non coinvolge le cues salvate, le hotcues, le playlist o i contenitori. - + If you do not want Mixxx to re-analyze your tracks, choose "Keep Current Beatgrids". You can change this setting at any time from the "Beat Detection" section of the Preferences. Se non vuoi che Mixxx ri-analizzi le tue tracce, scegli "Mantieni il Beatgrid Corrente". Puoi cambiare questa impostazione in ogni momento dalla sezione "Riconoscimento Beat" delle Preferenze - + Keep Current Beatgrids Mantieni il Beatgrid Corrente - + Generate New Beatgrids Genera Nuovi Beatgrids @@ -10521,69 +10861,82 @@ Vuoi scansionare la tua libreria per cercare i file di copertina adesso?14-bit (MSB) - + Main + Audio path indetifier Main - + Booth + Audio path indetifier Booth - + Headphones + Audio path indetifier Cuffie - + Left Bus + Audio path indetifier Bus Sinistra - + Center Bus + Audio path indetifier Bus Centro - + Right Bus + Audio path indetifier Bus Destra - + Invalid Bus + Audio path indetifier Bus non valido - + Deck + Audio path indetifier Deck - + Record/Broadcast + Audio path indetifier Registra/Trasmetti - + Vinyl Control + Audio path indetifier Controllo Vinile - + Microphone + Audio path indetifier Microfono - + Auxiliary + Audio path indetifier Ausiliario - + Unknown path type %1 + Audio path Tipo di percorso %1 sconosciuto @@ -10594,7 +10947,7 @@ Vuoi scansionare la tua libreria per cercare i file di copertina adesso? Encoder - Encoder + @@ -10928,47 +11281,49 @@ Con larghezza a zero, consente di scorrere manualmente l'intero intervallo Larghezza - + Metronome Metronomo - + + The Mixxx Team Il Team Mixxx - + Adds a metronome click sound to the stream Aggiunge un suono click metronomo allo stream - + BPM BPM (Pulsazioni/minuto) - + Set the beats per minute value of the click sound Imposta il valore delle battute per minuto del suono del click - + Sync Sincronizza - + Synchronizes the BPM with the track if it can be retrieved Sincronizza il BPM con la traccia se esso può essere recuperato - + + Gain - + Set the gain of metronome click sound @@ -11773,14 +12128,14 @@ Completamente a destra: fine del periodo La registrazione OGG non è supportata. Impossibile inizializzare la libreria OGG/Vorbis. - - + + encoder failure - - + + Failed to apply the selected settings. Applicazione delle impostazioni selezionate non riuscita. @@ -11989,15 +12344,86 @@ e il segnale elaborato in uscita quanto più possibile simili in termini di volu + + Auto Gain Control + + + + + AGC + + + + + Auto Gain Control (AGC) automatically adjusts the gain of an audio signal to maintain a consistent output level. + + + + Threshold (dBFS) Soglia (dBFS) + Threshold Soglia + + + The Threshold knob adjusts the level above which the effect starts enhancing the input signal + + + + + Target (dBFS) + + + + + Target + + + + + The Target knob adjusts the desired target level of the output signal + + + + + Gain (dB) + + + + + The Gain knob adjusts the maximum amount of gain that the effect will apply + + + + + Knee (dB) + + + + + The Knee knob defines the range around the Threshold where gain changes are applied gradually, +ensuring smooth transitions and avoiding abrupt level shifts. + + + + + The Attack knob sets the time that determines how fast the auto gain +will set in once the signal exceeds the threshold + + + + + The Release knob sets the time that determines how fast the auto gain will recover from the gain +adjustment once the signal falls under the threshold. Depending on the input signal, short release times +may introduce a 'pumping' effect and/or distortion. + + The Threshold knob adjusts the level above which the compressor starts attenuating the input signal @@ -12028,6 +12454,7 @@ Con un rapporto di 1:1 non avviene alcuna compressione, poiché l'ingresso Knee (dBFS) + Knee Knee @@ -12038,11 +12465,13 @@ Con un rapporto di 1:1 non avviene alcuna compressione, poiché l'ingresso La manopola Knee viene utilizzata per ottenere una curva di compressione più rotonda. + Attack (ms) Attacco (ms) + Attack Attacco @@ -12055,11 +12484,13 @@ will set in once the signal exceeds the threshold viene attivata appena il segnale supera la soglia + Release (ms) Rilascio (ms) + Release Rilascio @@ -12090,12 +12521,12 @@ possono introdurre un effetto di "pompaggio" e/o distorsione.varie - + built-in integrato - + missing mancante @@ -12130,42 +12561,42 @@ possono introdurre un effetto di "pompaggio" e/o distorsione. - + Empty Vuoto - + Simple Semplice - + Filtered Filtrato - + HSV HSV - + VSyncTest VSyncTest - + RGB RGB - + Stacked Impilato - + Unknown Sconosciuto @@ -12426,193 +12857,193 @@ possono introdurre un effetto di "pompaggio" e/o distorsione. ShoutConnection - - + + Mixxx encountered a problem Mixxx ha riscontrato un problema - + Could not allocate shout_t Impossibile allocare shout_t - + Could not allocate shout_metadata_t Impossibile allocare shout_metadata_t - + Error setting non-blocking mode: Errore nell'impostare il non-blocking mode: - + Error setting tls mode: Errore impostando il modo tls: - + Error setting hostname! Errore durante l'impostazione dell'hostname! - + Error setting port! Errore di configurazione della porta! - + Error setting password! Errore nell'impostazione della password! - + Error setting mount! Errore nell'impostazione del mount! - + Error setting username! Errore durante l'impostazione dell'username! - + Error setting stream name! Indefinito - + Error setting stream description! Errore nell'impostazione della descrizione della trasmissione! - + Error setting stream genre! Errore nell'impostazione del genere della trasmissione! - + Error setting stream url! Errore di impostazione URL corrente! - + Error setting stream IRC! Errore impostazione IRC stream! - + Error setting stream AIM! Errore impostazione AIM stream! - + Error setting stream ICQ! Errore impostazione ICQ stream! - + Error setting stream public! Errore configurazione stream pubblico! - + Unknown stream encoding format! Formato codifica stream sconosciuto! - + Use a libshout version with %1 enabled Usa una versione libshout con %1 abilitato - + Error setting stream encoding format! Errore impostando formato codifica stream! - + Broadcasting at 96 kHz with Ogg Vorbis is not currently supported. Please try a different sample rate or switch to a different encoding. La trasmissione a 96 kHz con Ogg Vorbis non è attualmente supportata. Prova una frequenza di campionamento diversa o passa a una codifica diversa. - + See https://github.com/mixxxdj/mixxx/issues/5701 for more information. Vedi https://github.com/mixxxdj/mixxx/issues/5701 per ulteriori informazioni. - + Unsupported sample rate Frequenza di campionamento non supportata - + Error setting bitrate Errore nella regolazione del bitrate - + Error: unknown server protocol! Errore: protocollo del server sconosciuto! - + Error: Shoutcast only supports MP3 and AAC encoders Errore: Shoutcast supporta solo codifiche MP3 e AAC - + Error setting protocol! Errore nell'impostazione del protocollo! - + Network cache overflow - + Connection error Errore Connessione - + One of the Live Broadcasting connections raised this error:<br><b>Error with connection '%1':</b><br> Una delle connessioni per la Trasmissione Live riportano questo errore:<br><b>Errore con connessione '%1':</b><br> - + Connection message Messaggio connessione - + <b>Message from Live Broadcasting connection '%1':</b><br> <b>Messaggio dalla connessione Trasmissione Live '%1':</b><br> - + Lost connection to streaming server and %1 attempts to reconnect have failed. Persa connessione al server streaming e %1 tentativi di riconnessione sono falliti. - + Lost connection to streaming server. Persa connessione al server streaming - + Please check your connection to the Internet. Controlla la tua connessione ad Internet. - + Can't connect to streaming server Impossibile connettersi al server streaming - + Please check your connection to the Internet and verify that your username and password are correct. Controlla la tua connessione a Internet e verifica che username e password siano corrette @@ -12620,7 +13051,7 @@ possono introdurre un effetto di "pompaggio" e/o distorsione. SoftwareWaveformWidget - + Filtered Filtrato @@ -12628,23 +13059,23 @@ possono introdurre un effetto di "pompaggio" e/o distorsione. SoundManager - - + + a device un dispositivo - + An unknown error occurred Errore sconosciuto - + Two outputs cannot share channels on "%1" Due uscite non possono condividere canali su %1 - + Error opening "%1" Errore aprendo "%1" @@ -12829,7 +13260,7 @@ possono introdurre un effetto di "pompaggio" e/o distorsione. - + Spinning Vinyl Vinile in esecuzione @@ -13011,7 +13442,7 @@ possono introdurre un effetto di "pompaggio" e/o distorsione. - + Cover Art Immagine Copertina @@ -13201,243 +13632,243 @@ possono introdurre un effetto di "pompaggio" e/o distorsione.Trattiene il gain degli EQ bassi a zero mentre è attivo. - + Displays the tempo of the loaded track in BPM (beats per minute). Visualizza il tempo della tracce caricata in BPM (beats per minute). - + Tempo Tempo - + Key The musical key of a track Parola chiave - + BPM Tap BPM Tap - + When tapped repeatedly, adjusts the BPM to match the tapped BPM. Quando toccato ripetutamente, regola i BPM a secondo la velocità dei tocchi - + Adjust BPM Down Abbassa BPM - + When tapped, adjusts the average BPM down by a small amount. Quando toccato, diminuisce la media BPM in basso di poco. - + Adjust BPM Up Incrementa BPM - + When tapped, adjusts the average BPM up by a small amount. Quando toccato, aumenta la media BPM di poco. - + Adjust Beats Earlier Regola Beats Prima - + When tapped, moves the beatgrid left by a small amount. Quando toccato, sposta la beatgrid a sx di poco. - + Adjust Beats Later Regola Beats Dopo - + When tapped, moves the beatgrid right by a small amount. Quando toccato, sposta la beatgrid a destra di poco. - + Tempo and BPM Tap Tempo e BPM Tap - + Show/hide the spinning vinyl section. Mostra/nasconde la sezione vinile in esecuzione. - + Keylock Keylock - + Toggling keylock during playback may result in a momentary audio glitch. Abilitando il keylock durante l'esecuzione può causare una momentanea interruzione dell'audio - + Toggle visibility of Loop Controls Attiva/disattiva visibilità del Controllo Loops - + Toggle visibility of Beatjump Controls Attiva/disattiva visibilità del Controllo Beatjump - + Toggle visibility of Rate Control Attiva/disattiva visibilità del Controllo Velocità - + Toggle visibility of Key Controls Attiva/disattiva visibilità del Controllo Chiavi - + (while previewing) (durante anteprima) - + Places a cue point at the current position on the waveform. Mette un punto di taglio alla posizione attuale sulla forma d'onda. - + Stops track at cue point, OR go to cue point and play after release (CUP mode). Ferma la traccia al punto di taglio, O và al punto di taglio e riproduce al rilascio (modo CUP). - + Set cue point (Pioneer/Mixxx/Numark mode), set cue point and play after release (CUP mode) OR preview from it (Denon mode). Imposta punto cue (modo Pioneer/Mixxx/Numark), imposta il punto cue e riproduce al rilascio (modo CUP) O preascolta da esso (modo Denon). - + Is latching the playing state. In agganciamento al play. - + Seeks the track to the cue point and stops. Posiziona la traccia al punto cue e si arresta. - + Play Riproduci - + Plays track from the cue point. Riproduce la traccia dal punto di taglio. - + Sends the selected channel's audio to the headphone output, selected in Preferences -> Sound Hardware. Invia il canale audio selezionato all'uscita cuffia, selezionato in Preferenze -> Hardware Audio. - + (This skin should be updated to use Sync Lock!) (Questa skin dovrebbe essere aggiornata per usare il Blocco Sync!) - + Enable Sync Lock Abilita Blocco Sync - + Tap to sync the tempo to other playing tracks or the sync leader. Premi per sincronizzare il tempo ad un altra traccia in riproduzione oppure al sincronismo principale. - + Enable Sync Leader Abilita Sync Leader - + When enabled, this device will serve as the sync leader for all other decks. Quando è abilitato, questo dispositivo servirà come riferimento di sincronizzazione per tutti gli altri deck. - + This is relevant when a dynamic tempo track is loaded to a sync leader deck.In that case, other synced devices will adopt the changing tempo. Questo è rilevante quando viene caricata una traccia di tempo dinamica su un deck di sincronizzazione leader. In tal caso, gli altri dispositivi sincronizzati adotteranno il tempo che cambia. - + Changes the track playback speed (affects both the tempo and the pitch). If keylock is enabled, only the tempo is affected. Cambia la velocità dell'esecuzione della traccia (coinvolge sia il temo che il pitch). Se keylock è abilitato, verrà modificato solo il tempo. - + Tempo Range Display Mostra Intervallo Tempo - + Displays the current range of the tempo slider. Mostra l'intervallo attuale del cursore tempo. - + Un-ejects when no track is loaded, i.e. reloads the track that was ejected last (of any deck). Ricarica quando nessuna traccia è caricata, ovvero ricarica l'ultima traccia espulsa (di qualsiasi deck). - + Delete selected hotcue. Cancella hotcue selezionate. - + Track Comment Commento Traccia - + Displays the comment tag of the loaded track. Mostra il tag commento della traccia caricata. - + Opens separate artwork viewer. Apre visualizzatore copertine seperatamente. - + Effect Chain Preset Settings Impostazioni Preselezione Catena Effetti - + Show the effect chain settings menu for this unit. Mostra il menu delle impostazioni della catena di effetti per questa unità. - + Select and configure a hardware device for this input Seleziona e configura il dispositivo hardware per questa entrata - + Recording Duration Durata Registrazione @@ -13660,949 +14091,984 @@ possono introdurre un effetto di "pompaggio" e/o distorsione.Mantiene la velocità di riproduzione più bassa (di poco) mentre è attivo. - + When tapped repeatedly, adjusts the tempo to match the tapped BPM. Quando toccato ripetutamente, regola i BPM a secondo la velocità dei tocchi, + + + Click to open the tempo/BPM editor + + + + + It also shows a colored bar if Key colors are enabled in the Preferences. + + + The bar will be split vertically if the track's key is in between full keys. + + + + Tempo Tap Tempo Tap - + Rate Tap and BPM Tap Rate Tap e BPM Tap - + + Set Tempo + + + + + Set the desired tempo in BPM. If the track currently has no BPM detected, set the desired tempo in percent. + + + + Adjust beatgrid by exactly one half beat. Usable only on tracks with constant tempo. - + Revert last BPM/Beatgrid Change Ripristina l'ultima modifica di BPM/Beatgrid - + Revert last BPM/Beatgrid Change of the loaded track. Ripristina l'ultima modifica di BPM/Beatgrid della traccia caricata. - - + + Toggle the BPM/beatgrid lock Attiva/disattiva il blocco dei BPM/beatgrid - + Tempo and Rate Tap Tempo e Rate Tap - + Tempo, Rate Tap and BPM Tap Tempo, Rate Tap e BPM Tap - + Shift cues earlier Trasla anticipando cues - - + + Shift cues imported from Serato or Rekordbox if they are slightly off time. Trasla cues importate da Serato o Rekordbox se sono leggermente fuori tempo. - + Left click: shift 10 milliseconds earlier Click sinistro: trasla anticipando 10 millisecondi - + Right click: shift 1 millisecond earlier Click destro: trasla anticipando 1 millisecondo - + Shift cues later Trasla cues posticipando - + Left click: shift 10 milliseconds later Click sinistro: trasla 10 milliseconds posticipando - + Right click: shift 1 millisecond later Click destro: trasla 1 millisecondo posticipando - - - + + + Drag a Hotcue button here to continue playing after releasing the Hotcue. - + Hint: Change the default cue mode in Preferences -> Decks. - + Mutes the selected channel's audio in the main output. Rende muto l'audio del canale selezionato nell'output principale. - + Main mix enable Abilita il mix master - + Hold or short click for latching to mix this input into the main output. Tenere premuto o fare click brevemente per agganciare questo input e mixare nell'uscita master. - + + Reloads the last replaced track. If no track is loaded reloads the second-last ejected track. + + + + If hotcue is a loop cue, toggles the loop and jumps to if the loop is behind the play position. - + If the play position is inside an active loop, stores the loop as loop cue. Se la posizione di riproduzione si trova all'interno di un loop attivo, memorizza il loop come loop cue. - + Drag this button onto another Hotcue button to move it there (change its index). If the other hotcue is set, the two are swapped. - + Expand/Collapse Samplers Espandi/Collassa Campionatori - + Toggle expanded samplers view. Alterna la visualizzazione espansa dei campionatori. - + Displays the duration of the running recording. Mostra la durata della registrazione in corso. - + Auto DJ is active Auto DJ è attivo - + Red for when needle skip has been detected. - + Hot Cue - Track will seek to nearest previous hotcue point. Hot Cue - La traccia si posizionerà al punto hotcue precedente più vicino. - + Sets the track Loop-In Marker to the current play position. Fissa il punto Loop-In alla posizione di riproduzione attuale. - + Press and hold to move Loop-In Marker. Premi e tieni premuto per muovere il punto di Loop-In. - + Jump to Loop-In Marker. Passa al Marcatore Loop-In. - + Sets the track Loop-Out Marker to the current play position. Imposta il marcatore Loop-In alla posizione di riproduzione attuale. - + Press and hold to move Loop-Out Marker. Premi e tieni premuto per muovere il marcatore Loop-Out. - + Jump to Loop-Out Marker. Passa al Marcatore Loop-Out. - + If the track has no beats the unit is seconds. Se la traccia non ha beats l'unità sono i secondi. - + Beatloop Size Dimensione Beatloop - + Select the size of the loop in beats to set with the Beatloop button. Seleziona la dimensione del loop in battiti per abbinarla al bottone Beatloop. - + Changing this resizes the loop if the loop already matches this size. La modifica di questa opzione ridimensiona il ciclo se il ciclo corrisponde già a questa dimensione. - + Halve the size of an existing beatloop, or halve the size of the next beatloop set with the Beatloop button. Dimezza la dimensione di un beatloop esistente, o dimezza la dimensione del prossimo beatloop impostato con il bottone Beatloop. - + Double the size of an existing beatloop, or double the size of the next beatloop set with the Beatloop button. Raddoppia la dimensione di un beatloop esistente, o raddoppia la dimensione del prossimo beatloop impostato con il bottone Beatloop. - + Start a loop over the set number of beats. Inizia un loop per il numero di battiti impostati. - + Temporarily enable a rolling loop over the set number of beats. Abilita temporaneamente un loop continuo in base al numero di battiti impostati. - + Beatloop Anchor Ancora Beatloop - + Define whether the loop is created and adjusted from its staring point or ending point. Definisce se il loop viene creato e regolato dal punto di partenza o dal punto di arrivo. - + Beatjump/Loop Move Size SaltoBattuta / Loop Sposta Dimensione - + Select the number of beats to jump or move the loop with the Beatjump Forward/Backward buttons. Seleziona il numero di beats da saltare o muove il loop con i bottoni Beatjump Avanti/Indietro. - + Beatjump Forward Saltobattuta Avanti - + Jump forward by the set number of beats. Salta in avanti del numero di battiti impostato. - + Move the loop forward by the set number of beats. Muove il loop in avanti del numero di battiti impostato. - + Jump forward by 1 beat. Salta in avanti di %1 battuta. - + Move the loop forward by 1 beat. Muove il loop in avanti di 1 battuta. - + Beatjump Backward SaltoBattuta Indietro - + Jump backward by the set number of beats. Salta all'indietro del numero di battiti impostato. - + Move the loop backward by the set number of beats. Muove il loop all'indietro del numero di beats impostato. - + Jump backward by 1 beat. Salta all'indietro di %1 battuta. - + Move the loop backward by 1 beat. Muove il loop all'indietro di 1 beat. - + Reloop Reloop - + If the loop is ahead of the current position, looping will start when the loop is reached. Se il loop è successivo alla posizione corrente, il looping inizierà quando il loop viene raggiunto. - + Works only if Loop-In and Loop-Out Marker are set. Funziona solo se i marcatori Loop-In e Loop-Out sono impostati. - + Enable loop, jump to Loop-In Marker, and stop playback. Abilita loop, passa al marcatore di Loop-In, ed interrompe la riproduzione. - + Displays the elapsed and/or remaining time of the track loaded. Mostra il tempo trascorso e/o rimanente della traccia caricata. - + Click to toggle between time elapsed/remaining time/both. Clicca per passare fra tempo trascorso/rimanente/entrambi. - + Hint: Change the time format in Preferences -> Decks. Suggerimento: Modifica il formato del tempo in Preferenze -> Decks. - + Show/hide intro & outro markers and associated buttons. Mostra/nasconde marcatori intro & outro e bottoni associati. - + + Ensure all waveforms to have the same height across all channels. By default, when displaying the stem controls, waveform for channel that have no stem may render with a shorter height in order to honor the waveform container size you have requested.. + + + + Intro Start Marker Marcatore Inizio Intro - - - - + + + + If marker is set, jumps to the marker. Se il marcatore è impostato, passa al marcatore. - - - - + + + + If marker is not set, sets the marker to the current play position. Se il marcatore non è impostato, imposta il marcatore sulla posizione di riproduzione corrente. - - - - + + + + If marker is set, clears the marker. Se il marcatore è impostato, cancella il marcatore. - + Intro End Marker Marcatore Fine Intro - + Outro Start Marker Marcatore Inizio Outro - + Outro End Marker Marcatore Fine Outro - + Mix Mix - + Adjust the mixing of the dry (input) signal with the wet (output) signal of the effect unit Regola il mixaggio del segnale dry (in entrata) con il wet (in uscita) dell'unità effetto - + D/W mode: Crossfade between dry and wet Modalità D/W: dissolvenza incrociata tra dry e wet - + D+W mode: Add wet to dry Modo D+W: Aggiunge wet a dry - + Mix Mode Modo Mix - + Adjust how the dry (input) signal is mixed with the wet (output) signal of the effect unit Regola come il segnale dry (in entrata) viene mixato con il wet (in uscita) dell'unità effetto - + Dry/Wet mode (crossed lines): Mix knob crossfades between dry and wet Use this to change the sound of the track with EQ and filter effects. Modo Dry/Wet (linee incrociate): manopola mix dissolvenze incrociate tra dry e wet Usa questo per cambiare il suono della traccia con l'EQ e gli effetti filtro. - + Dry+Wet mode (flat dry line): Mix knob adds wet to dry Use this to change only the effected (wet) signal with EQ and filter effects. Modo Dry+Wet (linea dry piatta): La manopola mix aggiunge wet a dry. Usalo per modificare solo il segnale modificato (wet) con effetti di EQ e filtro. - + Route the main mix through this effect unit. Instrada il mix principale attraverso questa unità effetto. - + Route the left crossfader bus through this effect unit. Instrada il crossfader bus attraverso questa unità effetto. - + Route the right crossfader bus through this effect unit. Instrada il crossfader destro attraverso questa unità effetto. - + Right side active: parameter moves with right half of Meta Knob turn Lato destro attivo: il parametro si muove con la metà destra della rotazione del Meta Knob - + Stem Label - + Name of the stem stored in the stem file - + Text is displayed in the stem color stored in the stem file - + this stem color is also used for the waveform of this stem - + Stem Mute - + Toggle the stem mute/unmuted - + Stem Volume Knob - + Adjusts the volume of the stem - + Skin Settings Menu Menu Impostazioni Skin - + Show/hide skin settings menu Mostra/nasconde menu impostazioni skin - + Save Sampler Bank Salva Raccolta Campioni - + Save the collection of samples loaded in the samplers. Salva la collezione di campioni caricata nei campionatori. - + Load Sampler Bank Carica Banco Campioni - + Load a previously saved collection of samples into the samplers. Carica nei campionatori una collezione di campioni salvata in precedenza. - + Show Effect Parameters Mostra Parametri Effetto - + Enable Effect Abilita Effetto - + Meta Knob Link Meta Manopola Link - + Set how this parameter is linked to the effect's Meta Knob. Mostra come questo parametro è collegato all'effetto di Meta Knob. - + Meta Knob Link Inversion Meta Manopola Inversione Link - + Inverts the direction this parameter moves when turning the effect's Meta Knob. Inverte la direzione in cui questo parametro si muove quando si gira la Meta Knob dell'effetto. - + Super Knob Super Manopola - + Next Chain Prossima Catena - + Previous Chain Catena Precedente - + Next/Previous Chain Passa alla Prossima/Precedente catena - + Clear Cancella - + Clear the current effect. Cancella l'effetto corrente. - + Toggle Abilita - + Toggle the current effect. Abilità l'effetto corrente. - + Next Successivo - + Clear Unit Cancella Unità - + Clear effect unit. Unità di pulizia effetti. - + Show/hide parameters for effects in this unit. Mostra/nasconde i parametri per gli effetti in questa unità. - + Toggle Unit Attiva Unità - + Enable or disable this whole effect unit. Abilita o disabilita questa intera unità effetto. - + Controls the Meta Knob of all effects in this unit together. Controlla il Meta Knob di tutti gli effetti di questa unità assieme. - + Load next effect chain preset into this effect unit. Carica la catena effetto preimpostata successiva in questa unità effetto. - + Load previous effect chain preset into this effect unit. Carica la catena effetto preimpostata precedente in questa unità effetto. - + Load next or previous effect chain preset into this effect unit. Carica la catena effetto preimpostata precedente o successiva in questa unità effetto. - - - - - - - - - + + + + + + + + + Assign Effect Unit Assegna Unità Effetto - + Assign this effect unit to the channel output. Assegna questa unità effetto all'uscita canale. - + Route the headphone channel through this effect unit. Indirizza il canale cuffia attraverso questa unità effetto. - + Route this deck through the indicated effect unit. Instrada questo deck attraverso l'unità effetto indicata. - + Route this sampler through the indicated effect unit. Instrada questo campionatore attraverso l'unità effetto indicata. - + Route this microphone through the indicated effect unit. Instrada questo microfono attraverso l'unità effetto indicata. - + Route this auxiliary input through the indicated effect unit. Instrada questo ausiliario attraverso l'unità effetto indicata. - + The effect unit must also be assigned to a deck or other sound source to hear the effect. L'unità effetto deve essere assegnata anche ad un deck o altra sorgente suono per sentire l'effetto. - + Switch to the next effect. Passa all'effetto successivo. - + Previous Precedente - + Switch to the previous effect. Passa all'effetto precedente. - + Next or Previous Precedente o Successivo - + Switch to either the next or previous effect. Passa all'effetto precedente o successivo. - + Meta Knob Manopola Meta - + Controls linked parameters of this effect Controlla parametri collegati a questo effetto. - + Effect Focus Button Pulsante Focus Effetto - + Focuses this effect. Focalizza questo effetto. - + Unfocuses this effect. Toglie la focalizzazione da questo effetto. - + Refer to the web page on the Mixxx wiki for your controller for more information. Per maggiori informazioni per il tuo controller fai riferimento alla pagine web del wiki Mixxx. - + Effect Parameter Parametro Effetto - + Adjusts a parameter of the effect. Regola un parametro dell'effetto. - + Inactive: parameter not linked Inattivo; parametro non legato - + Active: parameter moves with Meta Knob Attivo: il parametro si muove con il Meta Knob - + Left side active: parameter moves with left half of Meta Knob turn Lato sinistro attivo: il parametro si muove con la metà sinistra della rotazione del Meta Knob - + Left and right side active: parameter moves across range with half of Meta Knob turn and back with the other half Lato sinistro e destro attivo: il parametro si muove nell'intervallo con metà del giro di Meta Knob e indietro con l'altra metà - - + + Equalizer Parameter Kill Elimina Parametro Equalizzatore - - + + Holds the gain of the EQ to zero while active. Trattiene il gain del EQ a zero quando attivo. - + Quick Effect Super Knob Effetto rapido Super Manopola - + Quick Effect Super Knob (control linked effect parameters). Effetto Rapido Super Manopola (parametri di controllo effetti collegati). - + Hint: Change the default Quick Effect mode in Preferences -> Equalizers. Suggerimento: Modifica il modo Effetto Rapido predefinito in Preferenze -> Equalizzatori. - + Equalizer Parameter Parametro Equalizzatore - + Adjusts the gain of the EQ filter. Regola il gain del filtro EQ. - + Hint: Change the default EQ mode in Preferences -> Equalizers. Suggerimento: Modifica il Modo EQ predefinito in Preferenze -> Equalizzatori - - + + Adjust Beatgrid Regola Beatgrid - + Adjust beatgrid so the closest beat is aligned with the current play position. Regola Beatgrid per allinearlo alla posizione di esecuzione corrente. - - + + Adjust beatgrid to match another playing deck. Regola Beatgrid per allinearsi ad un altro deck che suona - + If quantize is enabled, snaps to the nearest beat. Se quantizza è abilitato, si collega al beat più vicino. - + Quantize Quantizza - + Toggles quantization. Abilita quantizzazione. - + Loops and cues snap to the nearest beat when quantization is enabled. I Loop e i cues si agganciano al beat più vicino quando la quantizzazione è abilitata. - + Reverse Contrario - + Reverses track playback during regular playback. Inverte l'esecuzione della traccia durante l'esecuzione normale. - + Puts a track into reverse while being held (Censor). Pone una traccia in reverse mentre è cliccato (Censore). - + Playback continues where the track would have been if it had not been temporarily reversed. L'esecuzione continua dove la traccia sarebbe stata se non fosse stata temporaneamente invertita. - - - + + + Play/Pause Play/Pausa - + Jumps to the beginning of the track. Salta all'inizio della traccia. - + Syncs the tempo (BPM) and phase to that of the other track, if BPM is detected on both. Sincronizza il tempo (BPM) e la fase a quello dell'altra traccia, se il BPM è stato calcolato su entrambe. - + Syncs the tempo (BPM) to that of the other track, if BPM is detected on both. Sincronizza il tempo (BPM) a quello dell'altra traccia, se il BPM è stato calcolato su entrambe. - + Sync and Reset Key Sincronizza e Reimposta Chiave - + Increases the pitch by one semitone. Incrementa il pitch di un semitono. - + Decreases the pitch by one semitone. Diminuisce il pitch di un semitono. - + Enable Vinyl Control Abilita il Vinyl Control - + When disabled, the track is controlled by Mixxx playback controls. Quando disabilitato, la traccia è controllata dai controlli di esecuzione di Mixxx. - + When enabled, the track responds to external vinyl control. Quando abilitata, la traccia risponde al controllo vinile esterno. - + Enable Passthrough Abilita Inoltro diretto Passtrough - + Indicates that the audio buffer is too small to do all audio processing. Indica che il buffer audio è troppo piccolo per elaborare l'audio. - + Displays cover artwork of the loaded track. Mostra la copertina della traccia caricata. - + Displays options for editing cover artwork. Visualiza le opzioni per modificare la copertina. - + Star Rating Valutazione Stelle - + Assign ratings to individual tracks by clicking the stars. Assegna valutazione alle tracce individualmente cliccando sulle stelle. @@ -14737,33 +15203,33 @@ Usalo per modificare solo il segnale modificato (wet) con effetti di EQ e filtro Forza Ducking Talkover Microfono - + Prevents the pitch from changing when the rate changes. Previene il cambio del pitch quando il rate cambia. - + Changes the number of hotcue buttons displayed in the deck Modifica il numero di pulsanti hotcue visualizzati nel deck - + Starts playing from the beginning of the track. Inizia l'esecuzione dall'inizio della traccia. - + Jumps to the beginning of the track and stops. Salta all'inizio della traccia e si arresta. - - + + Plays or pauses the track. Riproduci o Pausa la traccia - + (while playing) (quando riproduce) @@ -14783,215 +15249,215 @@ Usalo per modificare solo il segnale modificato (wet) con effetti di EQ e filtro Livello Volume Canale Master R - + (while stopped) (mentre è in stop) - + Cue Cue - + Headphone Cuffie - + Mute Muto - + Old Synchronize Vecchio Sincronizza - + Syncs to the first deck (in numerical order) that is playing a track and has a BPM. Sincronizza al primo deck (in ordine numerico) che sta suonando una traccia e ha un BPM. - + If no deck is playing, syncs to the first deck that has a BPM. Se nessun deck sta suonando, sincronizza al primo deck che ha un BPM. - + Decks can't sync to samplers and samplers can only sync to decks. I Deck non si possono sincronizzare con i campioni e i campioni si possono sincronizzare solo con i deck. - + Hold for at least a second to enable sync lock for this deck. Trattieni per almeno un secondo per abilitare il blocca sincronizzazione per questo deck. - + Decks with sync locked will all play at the same tempo, and decks that also have quantize enabled will always have their beats lined up. I deck con il blocco sync suoneranno tutti allo stesso tempo, e anche i deck che hanno anche il quantizza abilitato avranno il beat allineato. - + Resets the key to the original track key. Reimposta la chiave alla chiave originale della traccia. - + Speed Control Controllo Velocità - - - + + + Changes the track pitch independent of the tempo. Modifica il pitch della traccia indipendentemente del tempo. - + Increases the pitch by 10 cents. Incrementa il pitch di 10 centesimi. - + Decreases the pitch by 10 cents. Diminuisce il pitch di 10 centesimi. - + Pitch Adjust Controlla intonazione - + Adjust the pitch in addition to the speed slider pitch. Regola il pitch dal pitch velocità slider - + Opens a menu to clear hotcues or edit their labels and colors. Apre un menu per cancellare gli hotcue o modificarne le etichette e i colori. - + Drag this button onto a Play button while previewing to continue playback after release. - + Dragging with Shift key pressed will not start previewing the hotcue. - + Record Mix Registra il Mix - + Toggle mix recording. Abilita registrazione mix - + Enable Live Broadcasting Abilita la Trasmissione Live - + Stream your mix over the Internet. Trasmette il tuo mix su Internet. - + Provides visual feedback for Live Broadcasting status: Offre un feedback visivo dello stato della Trasmissione Live: - + disabled, connecting, connected, failure. Disabilitato, in connessione, connesso, fallimento. - + When enabled, the deck directly plays the audio arriving on the vinyl input. Quando abilitato, il deck suona direttamente l'audio proveniente dall'input vinile. - + Playback will resume where the track would have been if it had not entered the loop. L'esecuzione riprenderà dove la traccia sarebbe stata se non si fossero abilitati i loop. - + Loop Exit Esci dal Loop - + Turns the current loop off. Interrompe il loop corrente. - + Slip Mode Modalità Slip - + When active, the playback continues muted in the background during a loop, reverse, scratch etc. Quando attivo, l'esecuzione continua muta in sottofondo durante un loop, un reverse, scratch etc. - + Once disabled, the audible playback will resume where the track would have been. Una volta disabilitato, il suono udibile riprenderà dove la traccia avrebbe dovuta essere. - + Track Key The musical key of a track Chiave della traccia - + Displays the musical key of the loaded track. Mostra la chiave musicale della traccia caricata. - + Clock Orologio - + Displays the current time. Mostra l'ora attuale. - + Audio Latency Usage Meter Misuratore Utilizzo Latenza Audio - + Displays the fraction of latency used for audio processing. Mostra la frazione di latenza usata per processare l'audio. - + A high value indicates that audible glitches are likely. Un valore alto indica che artefatti udibili sono probabili. - + Do not enable keylock, effects or additional decks in this situation. Non abilitare keylock, effetti o deck aggiuntivi in questa situazione. - + Audio Latency Overload Indicator Indicatore Sovraccarico Latenza Audio @@ -15031,259 +15497,259 @@ Usalo per modificare solo il segnale modificato (wet) con effetti di EQ e filtro Attiva il Vinyl Control dal Menu -> Opzioni. - + Displays the current musical key of the loaded track after pitch shifting. Mostra la chiave musicale corrente della traccia caricata dopo lo spostamento del pitch. - + Fast Rewind Indietro veloce - + Fast rewind through the track. Indietro veloce attraverso la traccia. - + Fast Forward Avanti veloce - + Fast forward through the track. Avanti veloce attraverso la traccia. - + Jumps to the end of the track. Salta alla fine della traccia. - + Sets the pitch to a key that allows a harmonic transition from the other track. Requires a detected key on both involved decks. Configura il pitch ad una chiave che permetta una transizione armonica all'altra traccia. Richiede che sia stata calcolata una Chiave su entrambe le tracce dei deck coinvolti. - - - + + + Pitch Control Controllo Pitch - + Pitch Rate - + Displays the current playback rate of the track. Visualizza il rate dell'esecuzione della traccia corrente. - + Repeat Ripeti - + When active the track will repeat if you go past the end or reverse before the start. Quando attivo, la traccia si ripeterà se vai oltre la fine oppure inverti prima dell'inizio. - + Eject Espelli - + Ejects track from the player. Espelli la Traccia dal Player - + Hotcue Hotcue - + If hotcue is set, jumps to the hotcue. Se è configurato l'hotcue, salta all'hotcue. - + If hotcue is not set, sets the hotcue to the current play position. Se non è configurato l'hotcue, lo fissa alla posizione di esecuzione corrente. - + Vinyl Control Mode Modalità Controllo Vinile - + Absolute mode - track position equals needle position and speed. Modo Assoluto - posizione della traccia uguale alla posizione e alla velocita della puntina. - + Relative mode - track speed equals needle speed regardless of needle position. Modo Relativo - velocita della traccia uguale alla velocità della puntina indipendentemente dalla posizione della puntina. - + Constant mode - track speed equals last known-steady speed regardless of needle input. Modo costante - velocità traccia uguale all'ultima velocità stabile indipendentemente dall'input della puntina. - + Vinyl Status Stato Vinile - + Provides visual feedback for vinyl control status: Fornisce un feedback visivo dello stato del controllo vinile: - + Green for control enabled. Verde per controllo abilitato. - + Blinking yellow for when the needle reaches the end of the record. Lampeggia giallo quando la puntina raggiunge la fine del disco. - + Loop-In Marker Marcatore Loop-in - + Loop-Out Marker Marcatore Loop-Out - + Loop Halve Dimezza Loop - + Halves the current loop's length by moving the end marker. Dimezza la lunghezza del loop corrente muovendo la fine del marcatore. - + Deck immediately loops if past the new endpoint. Il deck va in loop immediatamente se si passe il nuovo endpoint. - + Loop Double Raddoppia Loop - + Doubles the current loop's length by moving the end marker. Raddoppia la lunghezza del loop corrente muovento il marcatore di fine loop. - + Beatloop Beatloop - + Toggles the current loop on or off. Abilita o Disabilita il loop corrente. - + Works only if Loop-In and Loop-Out marker are set. Funziona solo se i marcatori Loop-in e Loop-Out sono fissati. - + Vinyl Cueing Mode Modo Cueing Vinile - + Determines how cue points are treated in vinyl control Relative mode: Determina come gestire i cue points nel Modo di Controllo Vinile Relativo: - + Off - Cue points ignored. Off - Cue points ignorati. - + One Cue - If needle is dropped after the cue point, track will seek to that cue point. Un Cue - Se la puntina è rilasciata dopo il cue point, la traccia si posizionerà a quel cue point. - + Track Time Tempo della Traccia - + Track Duration Durata Traccia - + Displays the duration of the loaded track. Mostra la durata della traccia caricata. - + Information is loaded from the track's metadata tags. Le informazioni sono caricate dai tags metadata della traccia. - + Track Artist Artista Traccia - + Displays the artist of the loaded track. Mostra l'artista della traccia caricata. - + Track Title Titolo Traccia - + Displays the title of the loaded track. Mostra il titolo della traccia caricata. - + Track Album Album - + Displays the album name of the loaded track. Mostra il nome dell'album della traccia caricata. - + Track Artist/Title Traccia Artista/Titolo - + Displays the artist and title of the loaded track. Mostra l'artista e il titolo della traccia caricata. @@ -15514,47 +15980,75 @@ Questa azione non può essere annullata! WCueMenuPopup - + Cue number Numero cue - + Cue position Posizione cue - + Edit cue label Modifica etichetta cue - + Label... Etichetta... - + Delete this cue Cancella questa cue - - Toggle this cue type between normal cue and saved loop - Alterna questo cue tra il tipo di cue standard ed il loop salvato + + Turn this cue into a regular hotcue + + + + + Turn this cue into a saved loop + + + + + Left-click: Use the old size if known or the current beatloop size as the loop size + + + + + Right-click: Use the current play position as new loop end if it is after the cue + + + + + Turn this cue into a saved forward jump. + + is a linebreak. Try to not to extend the translation beyond the length of the longest source line so the tooltip remains compact. + + + + + Turn this cue into a saved backward jump (one shot loop). + - - Left-click: Use the old size or the current beatloop size as the loop size - Clic-sinistro del mouse: Usa la vecchia dimensione o la dimensione del beatloop corrente come dimensione del loop + + Left-click: Use the old size if known or the current play position as jump start position +If this is already a jump cue, swap the jump position and the cue/target position. + - - Right-click: Use the current play position as loop end if it is after the cue - Clic-destro: Utilizza la posizione di riproduzione corrente come fine loop, se esso è dopo la cue. + + Right-click: use current play position as new jump start position + - + Hotcue #%1 Hotcue #%1 @@ -15856,171 +16350,181 @@ Questa azione non può essere annullata! + Show Auto DJ + + + + + Switch to the Auto DJ view. + + + + &Full Screen &Schermo intero - + Display Mixxx using the full screen Visualizza Mixxx a schermo intero - + &Options &Opzioni - + &Vinyl Control Controllo &Vinile - + Use timecoded vinyls on external turntables to control Mixxx Usa vinili timecoded su piatti esterni per controllare Mixxx - + Enable Vinyl Control &%1 Abilita Controllo Vinile &%1 - + &Record Mix &Registra il Mixaggio - + Record your mix to a file Registra il tuo Mixaggio su un file - + Ctrl+R Ctrl+R - + Enable Live &Broadcasting Abilita Live &Broadcasting - + Stream your mixes to a shoutcast or icecast server Invia i tuoi mix a un server shoutcast o icecast - + Ctrl+L Ctrl+L - + Enable &Keyboard Shortcuts Attiva Scorciatoie da Tastiera - + Toggles keyboard shortcuts on or off Alterna le scorciatoie da Tastiera On/Offf - + Ctrl+` Ctrl+` - + &Preferences &Preferenze - + Change Mixxx settings (e.g. playback, MIDI, controls) Cambia le impostazioni di Mixxx (per esempio la riproduzione, i Midi, i controlli) - + &Developer &Sviluppatore - + &Reload Skin Ricarica la Skin - + Reload the skin Ricarica la Skin - + Ctrl+Shift+R Ctrl+Shift+R - + Developer &Tools Strumenti Sviluppa&tori - + Opens the developer tools dialog Apre lo strumento dialogo sviluppatore - + Ctrl+Shift+T Ctrl+Shift+T - + Stats: &Experiment Bucket Statistiche: Cassetto &Esperimento - + Enables experiment mode. Collects stats in the EXPERIMENT tracking bucket. Abilita il modo esperimento. Colleziona statistiche nel cassetto di tracciamento esperimento. - + Ctrl+Shift+E Ctrl+Shift+E - + Stats: &Base Bucket Statistiche: Cassetto &Base - + Enables base mode. Collects stats in the BASE tracking bucket. Abilita Modo Base. Colleziona statistiche nel cassetto tracciamento Base - + Ctrl+Shift+B Ctrl+Shift+B - + Deb&ugger Enabled Deb&ugger Abilitato - + Enables the debugger during skin parsing Abilita il debugger durante l'analisi skin - + Ctrl+Shift+D Ctrl+Shift+D - + &Help &Aiuto @@ -16054,62 +16558,62 @@ Questa azione non può essere annullata! F12 - + &Community Support Supporto della &comunità - + Get help with Mixxx Ottieni dell'aiuto con Mixxx - + &User Manual Manuale &Utente - + Read the Mixxx user manual. Leggi il manuale utente di Mixxx - + &Keyboard Shortcuts Scorciatoie da tastiera - + Speed up your workflow with keyboard shortcuts. Velocizza il tuo flusso di lavoro con le scorciatoie da tastiera. - + &Settings directory Cartella Impostazioni - + Open the Mixxx user settings directory. Apre la directory delle impostazioni utente di Mixxx. - + &Translate This Application &Traduci questa applicazione - + Help translate this application into your language. Aiutaci a tradurre questo programma nella tua lingua. - + &About &Informazioni su - + About the application Informazioni sull'applicazione @@ -16117,25 +16621,25 @@ Questa azione non può essere annullata! WOverview - + Passthrough Passthrough - + Ready to play, analyzing... Text on waveform overview when file is playable but no waveform is visible Pronto a partire, analizzo.. - - + + Loading track... Text on waveform overview when file is cached from source Caricamento traccia... - + Finalizing... Text on waveform overview during finalizing of waveform analysis Finalizzazione... @@ -16168,7 +16672,7 @@ Questa azione non può essere annullata! Return - + Invio @@ -16209,7 +16713,7 @@ Questa azione non può essere annullata! Esc or Ctrl+Return - + Esc or Ctrl+Invio @@ -16325,625 +16829,640 @@ Questa azione non può essere annullata! WTrackMenu - + Load to Carica su - + Deck Deck - + Sampler Campionatore - + Add to Playlist Aggiungi alla playlist - + Crates Contenitori - + Metadata Metadati - + Update external collections Aggiorna collezioni estrerne - + Cover Art Immagine Copertina - + Adjust BPM Regolazione BPM - + Select Color Seleziona Colore - - + + Analyze Analizza - - + + Delete Track Files Cancella File Traccia - + Add to Auto DJ Queue (bottom) Aggiungi a fine coda in «Auto DJ» - + Add to Auto DJ Queue (top) Aggiungi alla coda in modalità "Auto DJ" (in cima) - + Add to Auto DJ Queue (replace) Aggiunge a Auto DJ (sostituisce) - + Preview Deck Deck Anteprima - + Remove Rimuovi - + Remove from Playlist Rimuovi dalla Playlist - + Remove from Crate Togli da Contenitore - + Hide from Library Nascondi dalla Libreria - + Unhide from Library Mostra nella Libreria - + Purge from Library Elimina dalla Libreria - + Move Track File(s) to Trash Sposta file della traccia/e nel Cestino - + Delete Files from Disk Cancella File dal Disco - + Properties Proprietà - + Open in File Browser Apri nel File Manager - + Select in Library Seleziona in Libreria - + Import From File Tags Importa Da File Tags - + Import From MusicBrainz Importa Da MusicBrainz - + Export To File Tags Esporta su File Tags - + BPM and Beatgrid BPM e Beatgrid - + Play Count Conteggio Play - + Rating Voto - + Cue Point Punto Cue - - + + Hotcues Hotcue - + Intro Intro - + Outro Outro - + Key Parola chiave - + ReplayGain Riapplica Gain - + Waveform Forma d'onda - + Comment Commento - + All Tutto - + Sort hotcues by position (remove offsets) - + Sort hotcues by position - + Lock BPM Blocca i BPM - + Unlock BPM Sblocca i BPM - + Double BPM raddoppia BPM - + Halve BPM Dimezza BPM - + 2/3 BPM 2/3 BPM - + 3/4 BPM 3/4 BPM - + 4/3 BPM 4/3 BPM - + 3/2 BPM 3/2 BPM - + Shift Beatgrid Half Beat - + Reanalyze Rianalizza - + Reanalyze (constant BPM) Ri-Analizza (BPM costanti) - + Reanalyze (variable BPM) Ri-Analizza (BPM variabili) - + Update ReplayGain from Deck Gain Aggiorna il ReplayGain dal Guadagno del Deck - + Deck %1 Deck %1 - + Importing metadata of %n track(s) from file tags Import dei metadati di %n traccia dai tags dei fileImport dei metadati di %n tracce dai tags dei fileImport dei metadati di %n traccia(e) dai tags dei file - + Marking metadata of %n track(s) to be exported into file tags Marca i metadati di %n traccia al fine di essere esportati nei tags dei fileMarca i metadati di %n tracce al fine di essere esportati nei tags dei fileMarca i metadati di %n tracce al fine di essere esportati nei tags dei file - - + + Create New Playlist Crea Nuova Playlist - + Enter name for new playlist: Inserisci il nome per la playlist: - + New Playlist Nuova Playlist - - - + + + Playlist Creation Failed Creazione della playlist non riuscita - + A playlist by that name already exists. Esiste già una playlist con questo nome. - + A playlist cannot have a blank name. Il nome della playlist non può essere vuoto. - + An unknown error occurred while creating playlist: Errore sconosciuto durante la creazione della playlist: - + Add to New Crate Aggiungi a Nuovo Contenitore - + Scaling BPM of %n track(s) Scalatura BPM di %n tracciaScalatura BPM di %n tracceScalatura BPM di %n tracce - + Undo BPM/beats change of %n track(s) Annulla la modifica ai BPM/beats di %n tracciaAnnulla la modifica ai BPM/beats di %n tracceAnnulla la modifica ai BPM/beats di %n traccia(e) - + Locking BPM of %n track(s) Blocco BPM di %n tracciaBlocco BPM di %n tracceBlocco BPM di %n tracce - + Unlocking BPM of %n track(s) Sblocco BPM di %n tracciaSblocco BPM di %n traccieSblocco BPM di %n tracce - + Setting rating of %n track(s) Imposta la valutazione di %n tracciaImposta la valutazione di %n tracceImposta la valutazione di %n traccia(e) - + Setting color of %n track(s) Impostazione del colore di %n tracciaImpostazione del colore di %n tracceImpostazione del colore di %n tracce - + Resetting play count of %n track(s) Reimpostazione del conteggio di riproduzione di %n tracciaReimpostazione del conteggio di riproduzione di %n tracceReimpostazione del conteggio di riproduzione di %n tracce - + Resetting beats of %n track(s) Reimpostazione delle battute di %n tracciaReimpostazione delle battute di %n tracceReimpostazione delle battute di %n tracce - + Clearing rating of %n track(s) Cancellazione della valutazione di %n tracciaCancellazione della valutazione di %n tracceCancellazione della valutazione di %n tracce - + Clearing comment of %n track(s) Cancellazione dei commenti di %n tracciaCancellazione dei commenti di %n tracceCancellazione del commento di %n tracce - + Removing main cue from %n track(s) Rimozione del main cue da %n tracciaRimozione del main cue da %n tracceRimozione del main cue da %n tracce - + Removing outro cue from %n track(s) Rimozione dell'outro cue da %n tracciaRimozione dell'outro cue da %n tracceRimozione dell'outro cue da %n tracce - + Removing intro cue from %n track(s) Rimozione dell'intro cue da %n tracciaRimozione dell'intro cue da %n tracceRimozione dell'intro cue da %n tracce - + Removing loop cues from %n track(s) Rimozione loop cues da %n tracciaRimozione loop cues da %n tracceRimozione loop cues da %n tracce - + Removing hot cues from %n track(s) Rimozione hot cues da %n tracciaRimozione hot cues da %n tracceRimozione hot cues da %n tracce - + Sorting hotcues of %n track(s) by position (remove offsets) - + Sorting hotcues of %n track(s) by position - + Resetting keys of %n track(s) Reimpostazione della chiave musicale di %n tracciaReimpostazione della chiave musicale di %n tracceReimpostazione della chiave musicale di %n tracce - + Resetting replay gain of %n track(s) Reimpostazione del guadagno di riproduzione di %n tracciaReimpostazione del guadagno di riproduzione di %n tracceReimpostazione del guadagno di riproduzione di %n tracce - + Resetting waveform of %n track(s) Reimpostazione della forma d'onda di %n tracciaReimpostazione della forma d'onda di %n tracceReimpostazione della forma d'onda di %n tracce - + Resetting all performance metadata of %n track(s) Reimpostazione dei metadati delle performance di %n tracciaReimpostazione dei metadati delle performance di %n tracceReimpostazione dei metadati delle performance di %n tracce - + Move these files to the trash bin? Spostare questi file nel cestino? - + Permanently delete these files from disk? Cancellare definitivamente questi file dal disco? - - + + This can not be undone! Questo non può essere annullato! - + Cancel Annulla - + Delete Files Cancella Files - + Okay Okay - + Move Track File(s) to Trash? Sposto il/i File Traccia/e nel Cestino? - + Track Files Deleted File Tracce Cancellate - + Track Files Moved To Trash File Traccia Spostati nel Cestino - + %1 track files were moved to trash and purged from the Mixxx database. %1 file delle tracce sono stati spostati nel cestino ed eliminati dal database di Mixxx. - + %1 track files were deleted from disk and purged from the Mixxx database. i file delle tracce %1 sono stati cancellati dal disco ed eliminati dal database di Mixxx. - + Track File Deleted File Traccia Cancellati - + Track file was deleted from disk and purged from the Mixxx database. Il file della traccia è stato eliminato dal disco e cancellato dal database Mixxx. - + The following %1 file(s) could not be deleted from disk I seguenti file %1 file(s) non possono essere eliminati dal disco - + This track file could not be deleted from disk Non è stato possibile eliminare questo file di traccia dal disco - + Remaining Track File(s) File di Tracce Rimanente(i) - + Close Chiudi - + Clear Reset metadata in right click track context menu in library Pulisci - + Loops Loop - + Clear BPM and Beatgrid Pulisci BPM e Beatgrid - + Undo last BPM/beats change Annulla l'ultima modifica dei BPM/Beat - + Move this track file to the trash bin? Spostare questo file traccia nel cestino? - + Permanently delete this track file from disk? Cancellare definitivamente questi file dal disco? - + All decks where these tracks are loaded will be stopped and the tracks will be ejected. Tutti i deck in cui sono caricate queste tracce verranno fermati e le tracce verranno espulse. - + All decks where this track is loaded will be stopped and the track will be ejected. Tutti i deck in cui è caricata questa traccia verrà fermato e la traccia verrà espulsa. - + Removing %n track file(s) from disk... Rimuovendo %n file dal disco... - + Note: if you are in the Computer or Recording view you need to click the current view again to see changes. Nota: se sei nella vista Computer o Registrazione devi cliccare di nuovo sulla vista corrente per vedere i cambiamenti. - + Track File Moved To Trash File Traccia Spostato nel Cestino - + Track file was moved to trash and purged from the Mixxx database. Il file della traccia è stato spostato nel cestino ed eliminato dal database di Mixxx. - + Don't show again during this session - + The following %1 file(s) could not be moved to trash I seguenti file %1 non possono essere spostati nel cestino - + This track file could not be moved to trash Questo file di traccia non può essere spostato nel cestino + + + Replace current Auto DJ queue? + + + + + Do you want to replace the entire Auto DJ queue with the selected tracks? + + + + + Don't ask again during this session + + - + Setting cover art of %n track(s) Impostazione della copertina di %n tracciaImpostazione della copertina di %n tracceImpostazione della copertina di %n tracce - + Reloading cover art of %n track(s) Ricaricamento copertina di %n tracciaRicaricamento copertina di %n tracceRicaricamento copertina di %n tracce @@ -16997,37 +17516,37 @@ Questa azione non può essere annullata! WTrackTableView - + Confirm track hide Conferma nascondimento traccia - + Are you sure you want to hide the selected tracks? Sei sicuro di voler nascondere le tracce selezionate? - + Are you sure you want to remove the selected tracks from AutoDJ queue? Sei sicuro di voler rimuovere le tracce selezionate dalla coda di AutoDJ? - + Are you sure you want to remove the selected tracks from this crate? Sei sicuro di voler rimuovere le tracce selezionate da questo contenitore? - + Are you sure you want to remove the selected tracks from this playlist? Sei sicuro di voler rimuovere i brani selezionati da questa playlist? - + Don't ask again during this session Non chiedere ancora durante questa sessione - + Confirm track removal Conferma rimozione traccia @@ -17035,12 +17554,12 @@ Questa azione non può essere annullata! WTrackTableViewHeader - + Show or hide columns. Mostra o nasconde colonne. - + Shuffle Tracks @@ -17048,52 +17567,52 @@ Questa azione non può essere annullata! mixxx::CoreServices - + fonts font - + database database - + effects effetti - + audio interface interfaccia audio - + decks decks - + library libreria - + Choose music library directory Scegli la cartella della tua libreria musicale - + controllers controllers - + Cannot open database Impossibile aprire il database - + Unable to establish a database connection. Mixxx requires QT with SQLite support. Please read the Qt SQL driver documentation for information on how to build it. @@ -17250,6 +17769,24 @@ Clicca su OK per uscire. La richiesta di rete non è stata avviata + + mixxx::qml::QmlApplication + + + Existing user profile detected + + + + + Trying to run Mixxx 3.0 with an existing %0 user profile! <br><br>There is <b>serious risks</b> of data loss and corruption.<br>We recommend using a test profile folder with the '--settings-path' argument. <br><br>If you want to continue at your own risk, run Mixxx with the argument '--allow-dangerous-data-corruption-risk'. + + + + + Ok + + + mixxx::qml::QmlVisibleEffectsModel @@ -17258,4 +17795,27 @@ Clicca su OK per uscire. Nessun effetto caricato. + + mixxx::qml::QmlWaveformRendererMark + + + Cannot find the marker pixmap + + + + + Cannot find the marker endPixmap + + + + + Cannot find the marker icon + + + + + Cannot find the marker endIcon + + + \ No newline at end of file diff --git a/res/translations/mixxx_ja.qm b/res/translations/mixxx_ja.qm index bbb768211200e530b0f14e8ac7475a286476846b..48e35707c00168cc301bc67c4e159add1f468913 100644 GIT binary patch delta 8992 zcmXY%cU+F^AIHDf^W68dN0F068HI{uwCqtRibFzHNJeC3WIde}MY5u->{(VEPN70e zA$uJ%;@FN#94o(1_x1b3>;2rLYkc?jx+NBh=L^I&)+QGsYDT300ooG#)1F20R#rjWop$H-dKH7Z8Ii_zt$j%gw=9 zECA13YZrnAyDlS29gdCTy@gweI)jTwfS4#16MGMaM8ATN;`qtfC;rAbowE_%?c--6 za(KyaoWIEVFhC-6xe4wenw`M84(!{CXz(0~%r%6_rzbI|F+_fl*b5~HbxguUepuL_ zD~bHa<9ag$i|4O`z)M7RtT`Ju2Tiz?Bp~K_LN!}AHZXN=T1M^Al^^IuT4wCnQXt$M;e0i;iV@a3;!#w|_pkg4_uQ&yAk4t8*NBMJZB zBia$idAc{}i_s)}hAJktAyIPdmRJjk^+T%@-pSIN{`kb5ZhbNn=QT(ptWkrG+ke`&;oBghUBG*VH!z#1AE4N<;oPa~K9iLg|c z#`MGvFO8wGRfrMKrA*9eRZL`M58oJ;b=l zhv?|INkpF-(TQR&qJK}(Ux~Hz*iz=Q(M0a&scNBj#Mm z+6+BUsa}O$pZEgx}Gkr&T^i;CAj;S2cNXWsj_kY3Eh5XU z?8hlfEI=nSpI-$Nt1ol%8-(=ez`1g}td&WJKRmiq=54;4Xmdx|K*vP9@QU+-k8IG! zo7m}OS;((!V)RxvV;ruJ2FYS;TruH$S=`A8mDipjd_0$Hs_;Bp zCO4!mA!eB;H$K968$IQ9QvKmwrcrXc2JMOVWyl?0W)rnoOYWP1ops+M_pen&zdz&y0@owpxp2-|Cm++l4$348 z`LssI@t(PS_CWmIX{CJ5kPxE(p2+8H@Ih|!@Zvv?43sYpE`i9W%AL<@+ol(vSf80jqep=`i_WF$8XWS$Si6hdWp;>Nk}+4j%d#$ zVa>)f#1sl4$=-w=&K)Bp2fjdom?xz8oJDR5;=F!GB6IWL>}C))g>N9%^_H-84E*@r zSz&KHY`~Ny>`jNNCPoSS++YKl<-&m#7ZFd6bN2no`8io4bE_5(eVT`mZX=|b645I? zi4f8fpAu_f1;T1u^asm96Zjm=0RI7BfXFc|>kDbMt=5xWpbXdjKsixxXV46`(h!7q zJT(JtaP0@$;<_u?1lLiZ9j>PernJ?t%BP!g!vQQ3(zco;C{o*BIgO8id~E6NNLHlkoTD!nqSI(XSN?`8(iEyFUv>GTg6kDU{Y$ ztnp(cvTnY@wT>5vp1Yca+oMJ!xws2=qL76nOq_9k!kzUo5NWRP_hP7KX*=QhGL(9K z?KlS<7G74?z}Osxw+Ca1N>+1TzRh{nUU+v46Z-cODopSmYgeJ7@MCyW9KV&Kf8%&SADVj$37V7rP#x)l<0Pa*zXCRTmB~Y z{~dv7UNdpPB1Uv9TMX(4_dD`P92MLFwZ5|$?46G6*G>%X(;vCON1}<&7V;aF_arjw zzs2AaONfTmh{10VNPd4NhDvVeC5GU!3Y(%Pr#6 z(|Jfzt;Fzn==go5IBWGuY#?8p-{KOo>j^RL7&cJ1LoH3n=gDG1?|dTNK2E>QoO7CT zZcs^N9dpHm+Wt!SkkjuHXMB;E5C&Tb$d<_JdW#8{A?n?oIsZ)%lNLfX$E?JZ=*0+Z zE5($wa4cv!Xu^-igZPbC$Hh(GZliMy6Swumi=Ou4jy}-U)feL4+nz*=r-_GFVxama z@la6?ntp*Z?HFgpdht{h-tR3Fa|7XC&L1T*Wucf~+fe#%;=J$4`9&_4ni|0Ey8JHQ zyo10o&R4wS;g5pir9{@=MZD7)JN8~DKDgBs?vf`y?9mmal(qOQ6z}ysEs@o~B9<#< z=)uQ`FRcV3bsO=eeG+($^V%ozm9{QIc#indZwNy7N`?F&Y-3TD!lZ9xfnwG|QMay| zX!uahRSt@JXp(5qGliXG#fv4fc1a4mb$f|qaz%6L{t1b!U6I0RZW*!P8Y{YtY(eza zM$u>5IP@_KIUD70UT7eZwN)$nT*Y&%`6h*L^9u+ZRtn!lG&E(uEBqcH2c&;gj9~T9 z)E`rfSO>`j%M_zCa8lvcS1~rFjOeURF)keZ;;smpf&3 z9Yg*ftC-ur2a3)PiiIjf)Mf(|QQtA~Av49&`$sy#K0Pk!xl{H1e_{*ZfbSPC1JF{HqxEu%bW@FEjOAq$rw+i9FvbO4fhC3o(ka zTKDOCT=5!pJN@OWcI8xunG@}uJI*(R`s1jXAt7~{2E#rp>3L=D0eA6~&W z)Mpf*XJx{uS1EoTJ3_3Uy;8lo2Kj!Z(s0s1G-0UH?BB;IUcW1?!n~0GV=pQjZU`b$ zO_#_#WXguO5#buEl#RNgSxy?IY+RE~q#UYjx-<&;e~OYvw$~C_yB|sivlsB^eM*N1 z=ZU)cDIJf&Xsfy@ot8Nh>(Wu#=H>+a{Toi-9HqO@XhhI{$}U1b_`g0^*-Hi^H2a_& z5R{9CK_-#08f8FOB#O+F%5gWsh}F$ihK6RKBRj4PeTtJTi+9T9mtnLUzbX?7I}@|Z zR3?-r!>_+{HomP~J=YTlNl%okzd)k;@yZmt+c>DSQXZUNhR*1&GJT{81<3TF$|DpD zrYMh@Uc>nIDNmiPMoE<}k*OLg&&9$vPOewx<=;X85+pLucxCDM_GoqoDa+bg$ z`9?TNBroCYo2LBW@f_zi14H*B}Ym z=BgSW_s32~sG7IFijJm6)#~mNxaB`8*Suy3D4wcLGPGz>H&mUR*P#HZR&|xvgRQu# z`u6ZfK|q{?w@PGg236nDg{T?#sCs;VhX})Ts`Ru68b)C+z*5!NEmOUe3 zZskv!UmSe)E+iTD95*`J!kGlp^~ER zlbDI-cD&m6;RK}dt!lrCHBezI&X6bSfkVcTi5b1rL-WfJxuVs>ug*qc(M=r`a20{$ zih6YXO`JVds>i>@%HK?p$PACv6Gz~E)>}QP91>d*##!7>9hNc-EgY$*PTh~Qr*cl) z3eLQ0iLC7sb@=%j^ao{X)7>(--;5CT9~-qqpGApGU!h)l*?<$59CggBb@2O2&Q5mf zKWha*}T)!(noLD}*~qZ*H8Sv}@l(@E2)!WowMMbn~(J(6^c#wjoyt!qC` z>pn{$jv1OZeId5ESWUmY9`H_iY7i(GwBUzwn{VUzc0wOeL1W4Yvx`=+wzWSq90ii zjUJ$hnW03}@L99E>Lk&}-kKBxEQ-pGYEpc*qSw90nUl(ytJkF5grb~^Br>^&X43@$ zVd_AK~e|MAl}f=J>GyWR#DZ%o_+>ts*#| z&63F6x2#`eZDVTxOOqW`j`QZxn)3tEijT|I6eZ{5)b)twQVKNlo2%yX*QL+dr%Wm#i~X>mi&Wst(k4Rz5_|w$%1r4%ZyiR_m|+gd;dx z?V$h4;9?`SL!6JG?%SmewnF%BJy$z^lRweSSZ!G834AnarJecDRV@6Cc3uw=#l}l* zj6sL!SgDOY6$_2$NMv=IYnN}s_!ic+gl#ohz;6`9YU7;RAu;K-3B7T@a-w!!5?1cC zLc6g=HDZFNHf2sYI%l0W<@HW{ObP>`;jwAjt$r~$fLg;@F4OLQh=~L2ID@DDpQ+mP zi;&>0dfKD+eGyI9YBOR?_^4B6rafKPfk>0d**{R5wG^4}xm)hoZha|z8mgL)TmPX??*V_ z-!|Hh$1G5uHPu#pYmW_D>tv=K-bg%ho!QE4qNZj#%XoTmxNK>YRQeh-qi*+J1wL&l<1uxN{r1f0M2k zKBY19wL0&JSvUupr|aDi8$DX4>oZ~)HgHB~>az|5Sw7WCjL70l)9QSKqH)Y}N9Vi6 z3&vlf^LM-e<5{2^6qtw%n#DQTm$T@RZcq#+zB5-hIvA3&Zo|3etZvd1r0Ct#baPrl z5;qs<=1s-*oZ-62b1>S4`6k`Mfe_XB&APbs4=}QpoHj+e6%R(^gubUlR&Swh<0b+kbu^Bkr-*rY2l(MfmG9jTkS=+3zz z>Ymf<@?_Ys*>Q2BIxLJcrh_vnHge;BHJ^7tyg z?PluAJ76bluI_bx13KVr-5Wm)_;rG=Lh%<)_%BFgs(4++t`EfO9MpYt>57x^Y|a5a z^s+=0C)T_5vO|IJlGh#dLO2GR+DUIdW->mTMeBd7i=FLws<#fXNA+@2-|+50xM8Ng z(UI1unilF?`aw0%$LJkL!d4o%=$((2BL(~Fy@pp3YqL2O_c-Z_%&qUPdI2l*rm|)o1R2DrV*AvwP-a0Hyx1 zp$uQCZ@xSB3^jwf2rY4Lwa$pcxSLRUk`WNV`yBr4vL#khIVgZOE+`| zx99K@dy}CHRLYvIFnCQgErkd(3d?hl&>T`ya%xruht2As* zJdJW~uVHr|sQAzYL;5}&v~A^v<0iM0$n8aj?B~akdx{J>)vjo(%ng_Ru!Aa8h8qng z;G@L{!yRYrFkqPBVF8k*I@(ayJ_@zJJEvlyMCQ7}@a#1fZqyiFY=iBTy)^vX1C_L2 z!nygHM5Ycf{3;M}4zE=Unr)ndFWA)nvq}2FJgyiQo(xB)d&;c9 zdVsdZBTlG*S9=(bUd4pl`xyW1ScMY&voXsZDp1)Pvy;>?#%abJ=eqcR0G`H6)`>(# zQ4(3>9{=aM|MMefH~%=}y}B21dJ)Ch&%^j67%NX%Z+tSt6@}FsWL}bJ*E0v7MMcH~#Q6Vdoy)O!x$tcnw zd&?ywEADlXdAa$2I={cytJnLS^PJ~5zWe)ooGXx$3Z)gbEp3UYF_G~nXh$@<8fSC@ zXJ#X?B~f~RuoY3$_MB%Hf~|?{7l5wdT@YhAIDuV>5}$+Jh?YzRyMsAk52B^FK`)|Z z4Z)s7mL%MeH&N0mZ~)P}QX&B#*!y#C#+QX)-0uU&5Y0ISCgc7Wk%+;U$lwg3huI(& zwPYO_gYhPS+cDvH@GvH<91~-$>cyGf1e{40S`~$jneYK#c5Q?mt_AU7)2|>TGN%jZ zfR~$sakw8(YgGf>Ni^*S=PIyQbD}{f6*9NIM7_HabHY2m*xif1Ak;Aq z6Zv9c$F39g3&H(k2o|5e-U41EvaZe9pebm`1)sMYJ%8#Cuq<%TBUXUNCJt692+3 z@BK;QKlh2YUg6AK!uetciC-Y*agikH&cIO;Npi!4y84`b&78&m=T}>jJTSqV-$?2S z&j}vMnRbDsUXWIezMM@?TKL6<0L}{B_uWP0nWd0fjR8LqwQHu3StXG)1Us0vgL8WY zNn^3o;F}~(O~8983Ypa*lBUB;CTd7Zh1zN}&J}pC^1k>eN!zf%u9j!~Vs;csZ~*eh zO8+P&!k?5D1Q+%qDFdSJK85pR2a?W?A+jC9+3+yu6ii(C`~ntO$%bit5ocX0EMj44RX3xNX*U)#_@uv zemu3f2z$4r{zI;n18q7&uCZY1JaVfH7wOZxxPh3^ zkbK)!U03cCkqzvY#jNVY)o`=CHWL$yk{?|uO6oB zEGlH`h2&cY;qK=&^39JUvN}*ngrWL5{K2@+ocRWYtW^T_TYDBZKb-nYN8lUZIQLHG zJfb1Lp?O66FLNGor$HlNS`&h3(1g82ySva}Q!Y$;5$CC58axrI4!5PjF<5w18_yBE`q1$T%h2h#0&?}!=W>3*YZB%5T;{#Nv`-YlfZ)?4ZAY;3T_2>Li>7&6Nw z`doUMXoWBR#0%8&1yy{Ez=ZRd5QzmAc3@Tg&lAl!!m1s-NEEw`H7m!y=C$WsxQscS zyHCu;gSiYnN95F=wJM7wR_i_UXdQ|4d608sDDwy`f^DW|unrGPi1z%=Iy|dKl=V03 zn3D{N)L>rqVC>gI*l%gGh;`Jn;eo}(+NHAKq#|Um=PV=_Ie5n>Hc7-43tT;&QHnF))2NP>rjahymJ$h@*Rlu7{R&ZxvIIvfG-|=sq(VgLA2hY@@tkvG_(b0 zZjx%?+FRJ^0afU)Y+|gX>i1yWAKapftIW%NTC3uR;eDGh&W3u0tbJ?M(q`B|i~6ed ztr!;8RJFe6N0ek5)gNo~5Z4k_duDhNWxiHfl#A?W{@`qV)t+@2I6_dR6+?HfCsq3q zP3iVq)!{#jkrD$q`*u@hPJ#0r2~lM`#bIH;R5_Ue#7w1}Eo!L>?6wm%DN_}kU4u%c zv#Q|MRigYIs-m+|L?2bE8?&I=`S&fVVlNpYvQ-s_EhVN&R6XyBNW7<;>iH+=@cL2J z_jnkYyA|iDv8wNhj>H-VsQ%qk6Q2)PRU8;flx-G7<$Lo4={hDz=_zQgKZDUZ3cB*j z&%FiH=4fIyWWoFh)z_L>l>lK< z-9vb9h%n6_D(+Y=O!LF{Gy4ir{-MZC-|d8`HN8<~_TW6QMwl0L38J4U%ojfpZTKq8 zudx``yk3Zn8i|6in~=N_19jh`kkx!G?5+;chNcR8Y9_#4e-rjgp~Rf6goEk_i0BsK zXl)Zp=1iebz5*45D`aig3q}8Rf&ZKAglihO$4gt`di`DK7mf*c9WcR`zl6Jqxy0J1 z3iqdAg0N4*vr>s@_HN^7!{0hD#=Fkj8u5lP4rY*<#PhNp4+^+xyB-aIC6$Gx) zAiU(MKUfdWo3&|vp)4QJ({%SM)+)^CVs!yEo@<63!vy#7#H+B2WXu$$BO zF=y0R&NaRYS$j!ZTG?kA@O~xxnK%=T($a9)ioc+c*(6F!FGJKj7I6M^LrR_l)nts6 zQWnlbV7o4*q*)@cqQ$rX8w})p{Y6Us_YOM9aA{LFyy!VW+UgBmU27)oy5osT=diSI z2?nZRk@j84LG$06Gwn0yhx^j;a=hQuTRJ-g-sSvWA=4V9{L03%UkPV%w3KhDeDJlG zbgdTLuHyjd)?EaS;N{ZYw*638yi&;8L`io$V5eU9qzAVf;V?j!9(L`7>=qJ=-xRVoMzz!Q5@OZH zs5=g~Cwd#A_MQ}ser675-5k!`Q3_eBeipU&RlHDhrrM`zE&@kQwNDZno07F^-v`J6 z``y&TSXEf}XZ5gEkW7%bdgS4^s0VtfN2ipaL>r(EjsU;TRfkSMpi2HnJwf??zItLS zc**ih>M8d#&_?W5Pw(3m#iy%!jusKMak6^;56rvI;;)V=#)O^Ps+YCv4$*Z`FJBIx zdBRzqrB1PS#%Y6Ao$|LEs`z8-eU4bjZoN9~C`A8jl{)<*BvB!%_hTH^M61r4Xd*_T z>Qh$uyyA-bRByar=Ab@Xr5@1;EA?5cV?^z9)cN^W;s4F|s|$>9vu@|q7p7n$&$sGJ ztKZ>;SanII`*ixEE<^oJCzh+rd^RJLK2*Pr4MpAWrha?6AtL7u_1ioc;|)pucdb&Q zTH)$nNJjbP@_b)bIuA`o30wi zDlg#9yETpv&JlH9rD>J{qb-lsI4yEU`EJp;+!}-Lzv1j7YCL+6w4jY&q3J00LGdVQ zx~pJ>Ro-d(2cAXapi;sRa!ev)*a0f2&@8>S4sQK}v%wwB^68!^XzVo0ze1wM5KT&xJ2+l;L>bt>*aY&nT(V6*BE;&6zmZ#?kwly!_h;K%zqCc~x^QqzziI zb()e^wQ+D*pm`%6B@!-i_Ij^**Y-KiZwfSDUb@0|BDGZ6x*Zs%6)dAfgvQlc)6@V| zrA@TeS0D*BkhBdB^}|lKYMZvWiq57&+x%WMQJ|C7Ew3>Gil?@{Y8cUi>e}|st5ATn z({>W7!d7N$dv*09{No(-R3UR8r0q4b5H(|&w)X|7dU3mL(a&1s9iY|<0t*CUG)tMA74egra!W4({SyYDR{nru|>PV z1MV??vUYRFVuaN9+U>5e>RThUyUt_h5zDlDE4ttqb&hslDMT1PK$|`tJK0o2yZ$Vo}JfduVUATnb6`(w5Zx zj;3{s_D4W6YRUt$${msrj>^IaY!F?J!cPveKK=!Y*sYwFx`X&dXcO5gDHb|Sm90C# zS{J{Ot9P3PEBBKdfA|lg+@+AUwU(PK#6)wu%Z|Mv(&_e`Cx^-&qhSNl-g4V|$!N=; z$evSn5UqYBdnaY#e0PuR^KcB#FP_T2V=JJ-<_aw|#!mM04@NRbkcZ|Yc2l7oaCI6g zlvp`%@KwZeYk6eCEgbZE$RTgB@;3(+GIJw&>@d8~mdN8uA+f{^&Y~G|c*<{R<-FvH z6aT;&R4Hfu51je!6tY(5<%n}Q5@k|j*>bN0Zn#%ouvSm>#YZ7Cxyvz^O*pv_<=CmK z;P)P!?Z?ZDpIjtLn=3Ezg}Z%OqmbE-kvH0GN0#g^ZyE~Q8M0sAdS)||Byal(TY5KIKDN^T2U?|p^6|e}x%5KRiZ9ajIfPpM<2{|9OFd%s+UrJ5K0?e==YcM$5X&2OPZ!$3 z7IC!)XWb>7J?C?J%Lh^ubgjERWHX}WQ5z$!O&<|SxP?XQhIMh>Z;3`Q_6XEpf2SW6y3KsU0TPd5KWt7y7Z22i1f#F2cOP_#?=a$%S+v%jKNTin=b1n z!dCN0&S#klna2~|sa~^C-c09|E^s;wR>)j?=&}P#ag?`1ch2tv3`WphSeK86uUvOA z1uCoNrn~&z5(8Zx(3RxXL+VP=JzWRghCbJQ_!GY7yk7VDd>M2fuKO9a4;HpSubz~R zqs|%XkFEL!ag~8RTi;?LMEc54-y$XnMSrfo%|o0jSZ~y~6;Ba;-k|TGLE|`P zxW3n7`0T*x`hM~!{OA*^A87ej0_Pj9_jf*kvgVaOs3rn?i&OfL)P87JiuB>vj-Zm9 zqM!2eD$ywy{fw>>4rH3^V@>!)C(=V7cRUWZASz_m;rhj!FoA7t&W5u&3ySpdPOWh? zHc-E`CnWwcUB4@IBa3m6b4g#62FVod*Izzajs;xdJei|^QE;2c z@238*0B54QANBvdhg<#`qJN)ZOEi3}{=>g*u)`pOYO5DAl3=K^B%7#F6+`s|Nb=t# zL!A>a()l5VhV^%%h_Kig8s#j6mEJZqI)`#(QL4dV7Id@VxxuNZf|%aJ;PfBDoBo8M z)xWU*se24<@7_UGP-5s_QI(k0U4vKTRHARE4L$2%rx}e6-ot)_b(6t+6~?Lllr!=d zXPTeECvYJoP}|_Mp$GimzKWq=vs@TYj$z=CB;?kUoP(BgUTkC-7>kMTo-&LKf=Fw- zaIVBz_Y)-V9fu834v@sH9K(!>xR2Uwm~{q5J6C6z;|EEFJT}Cqzk`iAaMrtENPI97 zt?y!m7FPAFVad<~2)t>A^$Y_fPB*N7l!YF-uVH(K5$Lre4S(!kiMr{5Lgu;2u(x3+ zB!u4$M?H|#Sxdticf{i}0}Xj9?6}Gyg-qzf>7h0hjz%-^`Lp42PuN;aTf?m;7ts>$ zHayA|V2x+e3{M_k#jn2=hEiATgiSY;)i7ZJg5ixX2K>Iy@Iie7zX9YbWZJ8S58L0t zz1|uAZP^K@3<78WMMhN;%9h%%jjDb4U9@bLQH;Pi6XzSPMvX`4E;LrN!N#^VHP#+% zhqC6ovCch7{qs;$r*huURmeOh8+%(u zhrz!KjRWfSAo?%E7*Mej*+1GC9MA}-0^N*Zv#^8pSB&G$PZ4lDjNy(~@ssl`V?@*| zqOGlrGuKt13+Zf}Umsqx$pJUO=$AVjR}4TxkXQmE4!2sNy8PgHcyRN zTcL_+qS2DwEgu7DjE_wvIJUfMeA=Kfl5$hy=ZZQA7>UMTGTg~Oo^wenQ+=z|aJMp3 z0~>1$>}hKK7RGdQfXV$iyu>cg)G=2;<95x|V{8m0c-YiG3*(urZP>B7>89K_8 zfZso9h02tYl?{n`nARs{qL6!I+Tjfyr)f;-yX&Fhb1)rpKZ*lgqbd9OAta>>rku}i z#N;8Siwl}S6woZm6n|$*HDa1rjmW7iNu5Wec2W))qpA%YK=Sr#lg~E;E}e z*~(cVvuIbEt(tE}VCiPA-oqJg(!gB13`QkAGPiW}M8_Coc6aED@};fW)4m=Gy-Viy zL$VRkmYF-RMj#>=b7+T}I1Zg`9+TUd=*|iAgfxi0%@>8t)7m`eXapqk!@P0{;=;bw z=CwY~C{P^DJLCM3|L09NA8$!J_~39%n;0&dyiN_ifG-$@4k;%rid;!opMTo1gsdhLdI& z^Q(xU!{5P=^T!kG;&x;} + + AllTrackLibraryFeature + + + All... + + + AnalysisFeature @@ -19,52 +27,52 @@ AutoDJFeature - + Crates レコードボックス - + Enable Auto DJ オートDJを有効にする - + Disable Auto DJ オートDJを無効にする - + Clear Auto DJ Queue - + Remove Crate as Track Source - + Auto DJ オートDJ - + Confirmation Clear - + Do you really want to remove all tracks from the Auto DJ queue? - + This can not be undone. この操作は取り消しできません - + Add Crate as Track Source トラックソースを追加 @@ -221,7 +229,7 @@ - + Export Playlist プレイリストをエクスポート @@ -275,13 +283,13 @@ - + Playlist Creation Failed プレイリストの作成に失敗 - + An unknown error occurred while creating playlist: プレイリストの作成中に不明なエラーが発生しました @@ -296,12 +304,12 @@ - + M3U Playlist (*.m3u) M3U プレイリスト (*.m3u) - + M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Text CSV (*.csv);;Readable Text (*.txt) M3Uプレイリスト (*.m3u);;M3U8プレイリスト (*.m3u8);;PLSプレイリスト (*.pls);;CSVファイル(*.csv);;テキストファイル(*.txt);; @@ -309,12 +317,12 @@ BaseSqlTableModel - + # # - + Timestamp 更新日時 @@ -322,7 +330,7 @@ BaseTrackPlayerImpl - + Couldn't load track. トラックを読み込めませんでした @@ -360,7 +368,7 @@ チャンネル - + Color @@ -375,7 +383,7 @@ 作曲者 - + Cover Art カバーアート @@ -385,7 +393,7 @@ 追加日時 - + Last Played 最終プレイ @@ -415,7 +423,7 @@ キー - + Location ファイルの場所 @@ -425,7 +433,7 @@ - + Preview プレビュー @@ -465,7 +473,7 @@ 発売年 - + Fetching image ... Tooltip text on the cover art column shown when the cover is read from disk イメージを取得しています @@ -487,22 +495,22 @@ BroadcastProfile - + Can't use secure password storage: keychain access failed. キーチェインにアクセス不可のためパスワードを利用できません。 - + Secure password retrieval unsuccessful: keychain access failed. キーチェインにアクセス不可のためパスワードの回復に失敗しました。 - + Settings error 設定エラー - + <b>Error with settings for '%1':</b><br> @@ -590,7 +598,7 @@ - + Computer コンピュータ @@ -610,17 +618,17 @@ スキャン - + "Computer" lets you navigate, view, and load tracks from folders on your hard disk and external devices. - + It shows the data from the file tags, not track data from your Mixxx library like other track views. - + If you load a track file from here, it will be added to your library. @@ -733,12 +741,12 @@ ファイルを作成しました - + Mixxx Library Mixxx ライブラリ - + Could not load the following file because it is in use by Mixxx or another application. Mixxxもしくは他のアプリケーションで使用中のため、以下のファイルを読み込めませんでした @@ -769,88 +777,93 @@ CmdlineArgs - + Mixxx is an open source DJ software. For more information, see: MixxxはオープンソースのDJソフトウェアです。 さらなる情報はこちら - + Starts Mixxx in full-screen mode Mixxxをフルスクリーンで起動する - + Use a custom locale for loading translations. (e.g 'fr') - + Top-level directory where Mixxx should look for its resource files such as MIDI mappings, overriding the default installation location. - + Path the debug statistics time line is written to - + Causes Mixxx to display/log all of the controller data it receives and script functions it loads - + The controller mapping will issue more aggressive warnings and errors when detecting misuse of controller APIs. New Controller Mappings should be developed with this option enabled! - + Enables developer-mode. Includes extra log info, stats on performance, and a Developer tools menu. - + Top-level directory where Mixxx should look for settings. Default is: - + Starts Auto DJ when Mixxx is launched. - + Rescans the library when Mixxx is launched. - + Use legacy vu meter - + Use legacy spinny - - Loads experimental QML GUI instead of legacy QWidget skin + + Loads the highly unstable 3.0 Mixxx interface, based on QML. You need to use a new setting profile, or run with 'allow-dangerous-data-corruption-risk' to use with the current one. We highly recommend backing up your data if you do so. + + + + + Force Mixxx to load an unstable version with an existing user profile from a stable version - + Enables safe-mode. Disables OpenGL waveforms, and spinning vinyl widgets. Try this option if Mixxx is crashing on startup. - + [auto|always|never] Use colors on the console output. - + Sets the verbosity of command line logging. critical - Critical/Fatal only warning - Above + Warnings @@ -860,32 +873,32 @@ trace - Above + Profiling messages - + Sets the the logging level at which the log buffer is flushed to mixxx.log. <level> is one of the values defined at --log-level above. - + Sets the maximum file size of the mixxx.log file in bytes. Use -1 for unlimited. The default is 100 MB as 1e5 or 100000000. - + Breaks (SIGINT) Mixxx, if a DEBUG_ASSERT evaluates to false. Under a debugger you can continue afterwards. - + Overrides the default application GUI style. Possible values: %1 - + Load the specified music file(s) at start-up. Each file you specify will be loaded into the next virtual deck. - + Preview rendered controller screens in the Setting windows. @@ -978,2567 +991,2748 @@ trace - Above + Profiling messages ControlPickerMenu - + Headphone Output ヘッドホン出力 - - - + + + + Deck %1 + %1 is the deck number 1 ... 4 デッキ %1 - + Sampler %1 サンプラー %1 - + Preview Deck %1 プレビューデッキ %1 - + Microphone %1 マイク %1 - + Auxiliary %1 - + Reset to default 初期値に戻す - + Effect Rack %1 - + Parameter %1 パラメータ %1 - + Mixer ミキサー - - + + Crossfader クロスフェーダー - + Headphone mix (pre/main) - + Toggle headphone split cueing ヘッドフォンのスプリットキューイングのON/OFF - + Headphone delay ヘッドホン ディレイ - + Transport - + Strip-search through track - + Play button 再生ボタン - - + + Set to full volume 最大音量に設定 - - + + Set to zero volume 最小音量に設定 - + Stop button 停止ボタン - + Jump to start of track and play トラックの先頭から再生 - + Jump to end of track トラックの最後に移動 - + Reverse roll (Censor) button - + Headphone listen button モニタリングボタン - - + + Mute button ミュートボタン - + Toggle repeat mode リピート切り替えボタン - - + + Mix orientation (e.g. left, right, center) - - + + Set mix orientation to left - - + + Set mix orientation to center - - + + Set mix orientation to right - + Toggle slip mode - - + + BPM BPM - + Increase BPM by 1 - + Decrease BPM by 1 - + Increase BPM by 0.1 - + Decrease BPM by 0.1 - + BPM tap button - + Toggle quantize mode - + One-time beat sync (tempo only) - + One-time beat sync (phase only) - + Toggle keylock mode キーロックモードON/OFF - + Equalizers イコライザ - + Vinyl Control Vinylコントロール - + Toggle vinyl-control cueing mode (OFF/ONE/HOT) - + Toggle vinyl-control mode (ABS/REL/CONST) - + Pass through external audio into the internal mixer - + Cues キュー - + Cue button キューボタン - + Set cue point キューポイントをセット - + Go to cue point キューポイントに移動 - + Go to cue point and play キューポイントから再生 - + Go to cue point and stop - + Preview from cue point - + Cue button (CDJ mode) - + Stutter cue - + Hotcues ホットキュー - + Set, preview from or jump to hotcue %1 - + Clear hotcue %1 ホットキュー %1 を削除 - + Set hotcue %1 ホットキュー %1 を設定 - + Jump to hotcue %1 ホットキュー %1 へジャンプ - + Jump to hotcue %1 and stop - + Jump to hotcue %1 and play ホットキュー %1 から再生 - + Preview from hotcue %1 - - + + Hotcue %1 ホットキュー %1 - + Looping - + Loop In button ループ開始ボタン - + Loop Out button ループアウト 設定ボタン - + Loop Exit button ループ終了ボタン - + 1/2 1/2 - + 1 1 - + 2 2 - + 4 4 - + 8 8 - + 16 16 - + 32 32 - + 64 64 - + Move loop forward by %1 beats - + Move loop backward by %1 beats - + Create %1-beat loop - + Create temporary %1-beat loop roll - + Library ライブラリ - + Slot %1 - + Headphone Mix ヘッドホンミックス - + Headphone Split Cue ヘッドホン スプリットキュー - + Headphone Delay ヘッドホン ディレイ - + Play 再生 - + Fast Rewind 早戻し - + Fast Rewind button 早戻しボタン - + Fast Forward 早送り - + Fast Forward button 早送りボタン - + Strip Search - + Play Reverse 逆再生 - + Play Reverse button 逆再生ボタン - + Reverse Roll (Censor) - + Jump To Start 先頭に戻る - + Jumps to start of track 曲の先頭に戻る - + Play From Start 先頭から再生 - + Stop 停止 - + Stop And Jump To Start 停止して先頭に戻る - + Stop playback and jump to start of track - + Jump To End - + Volume 音量 - - - + + + Volume Fader 音量フェーダー - - + + Full Volume 最大音量 - - + + Zero Volume 音量 0 - + Track Gain トラック ゲイン - + Track Gain knob トラック ゲイン ノブ - - + + Mute ミュート - + Eject イジェクト - - + + Headphone Listen ヘッドホン モニタリング - + Headphone listen (pfl) button - + Repeat Mode リピートモード - + Slip Mode - - + + Orientation - - + + Orient Left - - + + Orient Center - - + + Orient Right - + BPM +1 BPM +1 - + BPM -1 BPM -1 - + BPM +0.1 BPM +0.1 - + BPM -0.1 BPM -0.1 - + BPM Tap BPMタップ - + Adjust Beatgrid Faster +.01 - + Increase track's average BPM by 0.01 - + Adjust Beatgrid Slower -.01 - + Decrease track's average BPM by 0.01 - + Move Beatgrid Earlier - + Adjust the beatgrid to the left - + Move Beatgrid Later - + Adjust the beatgrid to the right - + Adjust Beatgrid - + Align beatgrid to current position - + Adjust Beatgrid - Match Alignment - + Adjust beatgrid to match another playing deck. - + Quantize Mode - + Sync 同期 - + Beat Sync One-Shot - + Sync Tempo One-Shot - + Sync Phase One-Shot - + Pitch control (does not affect tempo), center is original pitch - + Pitch Adjust - + Adjust pitch from speed slider pitch - + Match musical key - + Match Key キーを同期 - + Reset Key キーをリセット - + Resets key to original オリジナルのキーへリセットする - + High EQ 高域 EQ - + Mid EQ 中域 EQ - - + + Main Output - + Main Output Balance - + Main Output Delay メイン出力 ディレイ - + Main Output Gain - + Low EQ 低域 EQ - + Toggle Vinyl Control - + Toggle Vinyl Control (ON/OFF) - + Vinyl Control Mode - + Vinyl Control Cueing Mode - + Vinyl Control Passthrough - + Vinyl Control Next Deck - + Single deck mode - Switch vinyl control to next deck - + Cue - + Set Cue キューをセット - + Go-To Cue - + Go-To Cue And Play - + Go-To Cue And Stop - + Preview Cue - + Cue (CDJ Mode) - + Stutter Cue - + Go to cue point and play after release - + Clear Hotcue %1 - + Set Hotcue %1 - + Jump To Hotcue %1 - + Jump To Hotcue %1 And Stop - + Jump To Hotcue %1 And Play - + Preview Hotcue %1 - + Loop In - + Loop Out - + Loop Exit - + Reloop/Exit Loop - + Loop Halve - + Loop Double - + 1/32 1/32 - + 1/16 1/16 - + 1/8 1/8 - + 1/4 1/4 - + Move Loop +%1 Beats - + Move Loop -%1 Beats - + Loop %1 Beats - + Loop Roll %1 Beats - + Add to Auto DJ Queue (bottom) オートDJの最後に追加 - + Append the selected track to the Auto DJ Queue 選択された曲をオートDJの先頭に追加 - + Add to Auto DJ Queue (top) オートDJの先頭に追加 - + Prepend selected track to the Auto DJ Queue 選択された曲をオートDJの末尾に追加 - + Load Track トラックの読み込み - + Load selected track 選択された曲を読み込む - + Load selected track and play 選択された曲を読み込んで再生 - - + + Record Mix ミックスを録音する - + Toggle mix recording - + Effects エフェクト - - Quick Effects - クイックエフェクト - - - + Deck %1 Quick Effect Super Knob デッキ %1 クイックエフェクトスーパーノブ - + + Quick Effect Super Knob (control linked effect parameters) クイックエフェクトスーパーノブ (エフェクトのパラメータにリンク) - - + + + + Quick Effect クイックエフェクト - + Clear Unit - + Clear effect unit - + Toggle Unit - + Dry/Wet ドライ/ウェット - + Adjust the balance between the original (dry) and processed (wet) signal. - + Super Knob - + Next Chain - + Assign アサイン - + Clear - + Clear the current effect - + Toggle - + Toggle the current effect - + Next - + Switch to next effect - + Previous - + Switch to the previous effect - + Next or Previous - + Switch to either next or previous effect - - + + Parameter Value - - + + Microphone Ducking Strength - + Microphone Ducking Mode - + Gain ゲイン - + Gain knob ゲイン ノブ - + Shuffle the content of the Auto DJ queue - + Skip the next track in the Auto DJ queue - + Auto DJ Toggle - + Toggle Auto DJ On/Off - + Show/hide the microphone & auxiliary section - + 4 Effect Units Show/Hide - + Switches between showing 2 and 4 effect units - + Mixer Show/Hide - + Show or hide the mixer. ミキサーを表示/非表示します。 - + Cover Art Show/Hide (Library) - + Show/hide cover art in the library - + Library Maximize/Restore - + Maximize the track library to take up all the available screen space. - + Effect Rack Show/Hide - + Show/hide the effect rack - + Waveform Zoom Out - + Headphone Gain ヘッドホン ゲイン - + Headphone gain ヘッドホン ゲイン - + Tap to sync tempo (and phase with quantize enabled), hold to enable permanent sync - + One-time beat sync tempo (and phase with quantize enabled) - + Playback Speed - + Playback speed control (Vinyl "Pitch" slider) - + Pitch (Musical key) - + Increase Speed - + Adjust speed faster (coarse) - + Increase Speed (Fine) - + Adjust speed faster (fine) - + Decrease Speed - + Adjust speed slower (coarse) - + Adjust speed slower (fine) - + Temporarily Increase Speed - + Temporarily increase speed (coarse) - + Temporarily Increase Speed (Fine) - + Temporarily increase speed (fine) - + Temporarily Decrease Speed - + Temporarily decrease speed (coarse) - + Temporarily Decrease Speed (Fine) - + Temporarily decrease speed (fine) - - + + Adjust %1 - + + Deck %1 Stem %2 + + + + Effect Unit %1 - + Button Parameter %1 - + Skin スキン - + Controller コントローラー - + Crossfader / Orientation - + Main Output gain - + Main Output balance - + Main Output delay - + Headphone ヘッドホン - - + + Kill %1 + %1 is "Low EQ" "Mid EQ" or "High EQ" - + Eject or un-eject track, i.e. reload the last-ejected track (of any deck)<br>Double-press to reload the last replaced track. In empty decks it reloads the second-last ejected track. - + BPM / Beatgrid - + Halve BPM - + Multiply current BPM by 0.5 - + 2/3 BPM - + Multiply current BPM by 0.666 - + 3/4 BPM - + Multiply current BPM by 0.75 - + 4/3 BPM - + Multiply current BPM by 1.333 - + 3/2 BPM - + Multiply current BPM by 1.5 - + Double BPM - + Multiply current BPM by 2 - + Tempo Tap - + Tempo tap button - + Move Beatgrid - + Adjust the beatgrid to the left or right - + Move Beatgrid Half a Beat - + Adjust the beatgrid by exactly one half beat. Usable only for tracks with constant tempo. - - + + Toggle the BPM/beatgrid lock - + Revert last BPM/Beatgrid Change - + Revert last BPM/Beatgrid Change of the loaded track. - + Sync / Sync Lock - + Internal Sync Leader - + Toggle Internal Sync Leader - - + + Internal Leader BPM - + Internal Leader BPM +1 - + Increase internal Leader BPM by 1 - + Internal Leader BPM -1 - + Decrease internal Leader BPM by 1 - + Internal Leader BPM +0.1 - + Increase internal Leader BPM by 0.1 - + Internal Leader BPM -0.1 - + Decrease internal Leader BPM by 0.1 - + Sync Leader - + Sync mode 3-state toggle / indicator (Off, Soft Leader, Explicit Leader) - + Speed スピード - + Decrease Speed (Fine) - + Pitch (Musical Key) - + Increase Pitch - + Increases the pitch by one semitone - + Increase Pitch (Fine) - + Increases the pitch by 10 cents - + Decrease Pitch - + Decreases the pitch by one semitone - + Decrease Pitch (Fine) - + Decreases the pitch by 10 cents - + Keylock - + CUP (Cue + Play) - + Shift cue points earlier - + Shift cue points 10 milliseconds earlier - + Shift cue points earlier (fine) - + Shift cue points 1 millisecond earlier - + Shift cue points later - + Shift cue points 10 milliseconds later - + Shift cue points later (fine) - + Shift cue points 1 millisecond later - - + + Sort hotcues by position - - + + Sort hotcues by position (remove offsets) - + Hotcues %1-%2 - + Intro / Outro Markers - + Intro Start Marker - + Intro End Marker - + Outro Start Marker - + Outro End Marker - + intro start marker - + intro end marker - + outro start marker - + outro end marker - + Activate %1 [intro/outro marker - + Jump to or set the %1 [intro/outro marker - + Set %1 [intro/outro marker - + Set or jump to the %1 [intro/outro marker - + Clear %1 [intro/outro marker - + Clear the %1 [intro/outro marker - + if the track has no beats the unit is seconds - + Loop Selected Beats - + Create a beat loop of selected beat size - + Loop Roll Selected Beats - + Create a rolling beat loop of selected beat size - + Loop %1 Beats set from its end point - + Loop Roll %1 Beats set from its end point - + Create %1-beat loop with the current play position as loop end - + Create temporary %1-beat loop roll with the current play position as loop end - + Loop Beats - + Loop Roll Beats - + Go To Loop In - + Go to Loop In button - + Go To Loop Out - + Go to Loop Out button - + Toggle loop on/off and jump to Loop In point if loop is behind play position - + Reloop And Stop - + Enable loop, jump to Loop In point, and stop - + Halve the loop length - + Double the loop length - + Beat Jump / Loop Move - + Jump / Move Loop Forward %1 Beats - + Jump / Move Loop Backward %1 Beats - + Jump forward by %1 beats, or if a loop is enabled, move the loop forward %1 beats - + Jump backward by %1 beats, or if a loop is enabled, move the loop backward %1 beats - + Beat Jump / Loop Move Forward Selected Beats - + Jump forward by the selected number of beats, or if a loop is enabled, move the loop forward by the selected number of beats - + Beat Jump / Loop Move Backward Selected Beats - + Jump backward by the selected number of beats, or if a loop is enabled, move the loop backward by the selected number of beats - + Beat Jump - + Indicate which loop marker remain static when adjusting the size or is inherited from the current position - + Beat Jump / Loop Move Forward - + Beat Jump / Loop Move Backward - + Loop Move Forward - + Loop Move Backward - + Remove Temporary Loop - + Remove the temporary loop - + Navigation - + Move up - + Equivalent to pressing the UP key on the keyboard - + Move down - + Equivalent to pressing the DOWN key on the keyboard - + Move up/down - + Move vertically in either direction using a knob, as if pressing UP/DOWN keys - + Scroll Up - + Equivalent to pressing the PAGE UP key on the keyboard - + Scroll Down - + Equivalent to pressing the PAGE DOWN key on the keyboard - + Scroll up/down - + Scroll vertically in either direction using a knob, as if pressing PGUP/PGDOWN keys - + Move left - + Equivalent to pressing the LEFT key on the keyboard - + Move right - + Equivalent to pressing the RIGHT key on the keyboard - + Move left/right - + Move horizontally in either direction using a knob, as if pressing LEFT/RIGHT keys - + Move focus to right pane - + Equivalent to pressing the TAB key on the keyboard - + Move focus to left pane - + Equivalent to pressing the SHIFT+TAB key on the keyboard - + Move focus to right/left pane - + Move focus one pane to right or left using a knob, as if pressing TAB/SHIFT+TAB keys - + Sort focused column - + Sort the column of the cell that is currently focused, equivalent to clicking on its header - + Go to the currently selected item - + Choose the currently selected item and advance forward one pane if appropriate - + Load Track and Play - + Add to Auto DJ Queue (replace) - + Replace Auto DJ Queue with selected tracks - + Select next search history - + Selects the next search history entry - + Select previous search history - + Selects the previous search history entry - + Move selected search entry - + Moves the selected search history item into given direction and steps - + Clear search - + Clears the search query - - + + Select Next Color Available - + Select the next color in the color palette for the first selected track - - + + Select Previous Color Available - + Select the previous color in the color palette for the first selected track - + + Quick Effects Deck %1 + + + + Deck %1 Quick Effect Enable Button デッキ %1 クイックエフェクト有効ボタン - + + Quick Effect Enable Button クイックエフェクト有効化ボタン - + + Deck %1 Stem %2 Quick Effect Super Knob + + + + + Deck %1 Stem %2 Quick Effect Enable Button + + + + Enable or disable effect processing - + Super Knob (control effects' Meta Knobs) - + Mix Mode Toggle - + Toggle effect unit between D/W and D+W modes - + Next chain preset - + Previous Chain - + Previous chain preset - + Next/Previous Chain - + Next or previous chain preset - - + + Show Effect Parameters エフェクトのパラメータを表示 - + Effect Unit Assignment - + Meta Knob - + Effect Meta Knob (control linked effect parameters) - + Meta Knob Mode - + Set how linked effect parameters change when turning the Meta Knob. - + Meta Knob Mode Invert - + Invert how linked effect parameters change when turning the Meta Knob. - - + + Button Parameter Value - + Microphone / Auxiliary - + Microphone On/Off - - Microphone on/off - マイクのオン/オフ + + Microphone on/off + マイクのオン/オフ + + + + Toggle microphone ducking mode (OFF, AUTO, MANUAL) + + + + + Auxiliary On/Off + + + + + Auxiliary on/off + + + + + Auto DJ + オートDJ + + + + Auto DJ Shuffle + + + + + Auto DJ Skip Next + + + + + Auto DJ Add Random Track + + + + + Add a random track to the Auto DJ queue + + + + + Auto DJ Fade To Next + + + + + Trigger the transition to the next track + + + + + User Interface + + + + + Samplers Show/Hide + + + + + Show/hide the sampler section + + + + + Microphone && Auxiliary Show/Hide + keep double & to prevent creation of keyboard accelerator + + + + + Waveform Zoom Reset To Default + + + + + Reset the waveform zoom level to the default value selected in Preferences -> Waveforms + + + + + Select the next color in the color palette for the loaded track. + + + + + Select previous color in the color palette for the loaded track. + + + + + Navigate Through Track Colors + + + + + Select either next or previous color in the palette for the loaded track. + + + + + Start/Stop Live Broadcasting + + + + + Stream your mix over the Internet. + + + + + Start/stop recording your mix. + + + + + + Deck %1 Stems + + + + + + Samplers + + + + + Vinyl Control Show/Hide + + + + + Show/hide the vinyl control section + + + + + Preview Deck Show/Hide + + + + + Show/hide the preview deck + + + + + Toggle 4 Decks + 4デッキ ON/OFF + + + + Switches between showing 2 decks and 4 decks. + 2デッキと4デッキを切り替えます。 - - Toggle microphone ducking mode (OFF, AUTO, MANUAL) + + Cover Art Show/Hide (Decks) - - Auxiliary On/Off + + Show/hide cover art in the main decks - - Auxiliary on/off + + Vinyl Spinner Show/Hide - - Auto DJ - オートDJ - - - - Auto DJ Shuffle + + Show/hide spinning vinyl widget - - Auto DJ Skip Next + + Vinyl Spinners Show/Hide (All Decks) - - Auto DJ Add Random Track + + Show/Hide all spinnies - - Add a random track to the Auto DJ queue + + Toggle Waveforms - - Auto DJ Fade To Next + + Show/hide the scrolling waveforms. - - Trigger the transition to the next track + + Waveform zoom - - User Interface + + Waveform Zoom - - Samplers Show/Hide + + Zoom waveform in - - Show/hide the sampler section + + Waveform Zoom In - - Microphone && Auxiliary Show/Hide - keep double & to prevent creation of keyboard accelerator + + Zoom waveform out - - Waveform Zoom Reset To Default + + Star Rating Up - - Reset the waveform zoom level to the default value selected in Preferences -> Waveforms + + Increase the track rating by one star - - Select the next color in the color palette for the loaded track. + + Star Rating Down - - Select previous color in the color palette for the loaded track. + + Decrease the track rating by one star + + + Controller - - Navigate Through Track Colors + + Unknown + + + ControllerHidReportTabsManager - - Select either next or previous color in the palette for the loaded track. + + Read - - Start/Stop Live Broadcasting + + Send - - Stream your mix over the Internet. + + Payload Size - - Start/stop recording your mix. + + bytes - - - Samplers + + Byte Position - - Vinyl Control Show/Hide + + Bit Position - - Show/hide the vinyl control section + + Bit Size - - Preview Deck Show/Hide + + Logical Min - - Show/hide the preview deck + + Logical Max - - Toggle 4 Decks - 4デッキ ON/OFF + + Value + - - Switches between showing 2 decks and 4 decks. - 2デッキと4デッキを切り替えます。 + + Physical Min + - - Cover Art Show/Hide (Decks) + + Physical Max - - Show/hide cover art in the main decks + + Unit Scaling - - Vinyl Spinner Show/Hide + + Unit - - Show/hide spinning vinyl widget + + Abs/Rel - - Vinyl Spinners Show/Hide (All Decks) + + + Wrap - - Show/Hide all spinnies + + + Linear - - Toggle Waveforms + + + Preferred - - Show/hide the scrolling waveforms. + + + Null - - Waveform zoom + + + Volatile - - Waveform Zoom + + Usage Page - - Zoom waveform in + + Usage - - Waveform Zoom In + + Relative - - Zoom waveform out + + Absolute - - Star Rating Up + + No Wrap - - Increase the track rating by one star + + Non Linear - - Star Rating Down + + No Preferred - - Decrease the track rating by one star + + No Null - - - Controller - - Unknown + + Non Volatile @@ -3677,27 +3871,27 @@ trace - Above + Profiling messages ControllerScriptEngineLegacy - + Controller Mapping File Problem - + The mapping for controller "%1" cannot be opened. - + The functionality provided by this controller mapping will be disabled until the issue has been resolved. - + File: - + Error: @@ -3730,7 +3924,7 @@ trace - Above + Profiling messages - + Lock ロックをかける @@ -3760,7 +3954,7 @@ trace - Above + Profiling messages - + Enter new name for crate: @@ -3777,22 +3971,22 @@ trace - Above + Profiling messages レコードボックスのインポート - + Export Crate レコードボックスのエクスポート - + Unlock ロックを解除 - + An unknown error occurred while creating crate: 新しいレコードボックスを作成中にエラーが発生しました - + Rename Crate レコードボックスの名前を変更 @@ -3802,28 +3996,28 @@ trace - Above + Profiling messages - + Confirm Deletion - - + + Renaming Crate Failed レコードボックスの名前変更に失敗 - + Crate Creation Failed レコードボックスの作成に失敗 - + M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Text CSV (*.csv);;Readable Text (*.txt) M3Uプレイリスト (*.m3u);;M3U8プレイリスト (*.m3u8);;PLSプレイリスト (*.pls);;CSVファイル(*.csv);;テキストファイル(*.txt);; - + M3U Playlist (*.m3u) M3U プレイリスト (*.m3u) @@ -3844,17 +4038,17 @@ trace - Above + Profiling messages Cratesはあなたがしたいあなたの音楽を整理しましょう! - + Do you really want to delete crate <b>%1</b>? - + A crate cannot have a blank name. レコードボックスには名前が必要です。 - + A crate by that name already exists. この名前のレコードボックスは既に存在します @@ -3949,12 +4143,12 @@ trace - Above + Profiling messages 過去の開発 - + Official Website - + Donate @@ -4746,122 +4940,139 @@ You tried to learn: %1,%2 DlgPrefBroadcast - + Icecast 2 Icecast 2 - + Shoutcast 1 Shoutcast 1 - + Icecast 1 Icecast 1 - + MP3 MP3 - + Ogg Vorbis Ogg Vorbis - + Opus Opus - + AAC AAC - + HE-AAC - + HE-AACv2 - + Automatic - + Mono モノラル - + Stereo ステレオ - - - - + + Saving settings failed + + + + + The password for '%1' contains invalid characters. Please enter it again. + +Note: This can for example be invisible linebreaks when using copy/paste. + + + + + + Action failed 操作に失敗しました - + You can't create more than %1 source connections. - + Source connection %1 - + + Settings for %1 + Settings for broadcast profile, %1 is the profile name placeholder + + + + At least one source connection is required. - + Are you sure you want to disconnect every active source connection? - - + + Confirmation required - + '%1' has the same Icecast mountpoint as '%2'. Two source connections to the same server that have the same mountpoint can not be enabled simultaneously. - + Are you sure you want to delete '%1'? - + Renaming '%1' - + New name for '%1': - + Can't rename '%1' to '%2': name already in use @@ -4874,27 +5085,27 @@ Two source connections to the same server that have the same mountpoint can not ライブ放送設定 - + Mixxx Icecast Testing - + Public stream 公開ストリーム - + http://www.mixxx.org http://www.mixxx.org - + Stream name ストリーム名 - + Due to flaws in some streaming clients, updating Ogg Vorbis metadata dynamically can cause listener glitches and disconnections. Check this box to update the metadata anyway. Ogg Vorbis の動的メタデータ更新は、ストリーミング受信側に不備があった場合に切断などの不具合を引き起こすことがあります。 @@ -4934,67 +5145,72 @@ Two source connections to the same server that have the same mountpoint can not %1 の設定 - + + Available fields: $artist, $title, $year, $album, $genre, $bpm + + + + Dynamically update Ogg Vorbis metadata. Ogg Vorbis のメタデータを動的に更新 - + ICQ ICQ - + AIM AIM - + Website ウェブサイト - + Live mix ライブミックス - + IRC IRC - + Select a source connection above to edit its settings here 上で接続を選択し、ここで設定してください - + Password storage パスワード保管 - + Plain text 平文 - + Secure storage (OS keychain) セキュア (OSのキーチェイン) - + Genre ジャンル - + Use UTF-8 encoding for metadata. メタデータに UTF-8 エンコーディングを使用 - + Description 概要 @@ -5020,42 +5236,42 @@ Two source connections to the same server that have the same mountpoint can not チャンネル - + Server connection サーバ接続 - + Type タイプ - + Host ホストアドレス - + Login ログイン名 - + Mount マウントポイント - + Port ポート番号 - + Password パスワード - + Stream info ストリーム情報 @@ -5065,17 +5281,17 @@ Two source connections to the same server that have the same mountpoint can not メタデータ - + Use static artist and title. 固定のアーティストとタイトルを使用 - + Static title 固定のタイトル - + Static artist 固定のアーティスト @@ -5134,13 +5350,14 @@ Two source connections to the same server that have the same mountpoint can not DlgPrefColors - - + + + By hotcue number - + Color @@ -5185,17 +5402,22 @@ Two source connections to the same server that have the same mountpoint can not + Jump default color + + + + When key colors are enabled, Mixxx will display a color hint associated with each key. - + Enable Key Colors - + Key palette @@ -5203,113 +5425,113 @@ associated with each key. DlgPrefController - + Apply device settings? - + Your settings must be applied before starting the learning wizard. Apply settings and continue? - + None なし - + %1 by %2 - + Mapping has been edited - + Always overwrite during this session - + Save As - + Overwrite - + Save user mapping - + Enter the name for saving the mapping to the user folder. - + Saving mapping failed - + A mapping cannot have a blank name and may not contain special characters. - + A mapping file with that name already exists. - + Do you want to save the changes? - + Troubleshooting - + <font color='#BB0000'><b>If you use this mapping your controller may not work correctly. Please select another mapping or disable the controller.</b></font><br><br>This mapping was designed for a newer Mixxx Controller Engine and cannot be used on your current Mixxx installation.<br>Your Mixxx installation has Controller Engine version %1. This mapping requires a Controller Engine version >= %2.<br><br>For more information visit the wiki page on <a href='https://mixxx.org/wiki/doku.php/controller_engine_versions'>Controller Engine Versions</a>. - + Mapping already exists. - + <b>%1</b> already exists in user mapping folder.<br>Overwrite or save with a new name? - + Clear Input Mappings - + Are you sure you want to clear all input mappings? - + Clear Output Mappings - + Are you sure you want to clear all output mappings? @@ -5327,100 +5549,105 @@ Apply settings and continue? 有効 - + + Refresh mapping list + + + + Device Info - + Physical Interface: - + Vendor name: - + Product name: - + Vendor ID - + VID: - + Product ID - + PID: - + Serial number: - + USB interface number: - + HID Usage-Page: - + HID Usage: - + Description: 説明: - + Support: サポート - + Screens preview - + Input Mappings - - + + Search - - + + Add 追加 - - + + Remove 削除する @@ -5440,17 +5667,17 @@ Apply settings and continue? - + Mapping Info - + Author: 作者: - + Name: 名称: @@ -5460,28 +5687,28 @@ Apply settings and continue? - + Data protocol: - + Mapping Files: - + Mapping Settings - - + + Clear All すべてクリア - + Output Mappings @@ -5496,21 +5723,21 @@ Apply settings and continue? - Mixxx uses "mappings" to connect messages from your controller to controls in Mixxx. If you do not see a mapping for your controller in the "Load Mapping" menu when you click on your controller on the left sidebar, you may be able to download one online from the %1. Place the XML (.xml) and Javascript (.js) file(s) in the "User Mapping Folder" then restart Mixxx. If you download a mapping in a ZIP file, extract the XML and Javascript file(s) from the ZIP file to your "User Mapping Folder" then restart Mixxx. + Mixxx uses "mappings" to connect messages from your controller to controls in Mixxx. If you do not see a mapping for your controller in the "Load Mapping" menu when you click on your controller on the left sidebar, you may be able to download one online from the %1. Place the XML (.xml) and Javascript (.js) file(s) in the "User Mapping Folder" then click the Reload button next to the mapping selector to reload all available mappings. If you download a mapping in a ZIP file, extract the XML and Javascript file(s) from the ZIP file to your "User Mapping Folder" then click the Reload button. - + Mixxx DJ Hardware Guide - + MIDI Mapping File Format - + MIDI Scripting with Javascript @@ -5679,137 +5906,137 @@ Apply settings and continue? DlgPrefDeck - + Mixxx mode Mixxx モード - + Mixxx mode (no blinking) Mixxx モード(点滅なし) - + Pioneer mode Pioneer モード - + Denon mode Denon モード - + Numark mode Numark モード - + CUP mode CUP モード - + mm:ss%1zz - Traditional - + mm:ss - Traditional (Coarse) - + s%1zz - Seconds - + sss%1zz - Seconds (Long) - + s%1sss%2zz - Kiloseconds - + Intro start イントロスタート - + Main cue - + First hotcue - + First sound (skip silence) - + Beginning of track - + Reject - + Allow, but stop deck - + Allow, play from load point - + 4% 4% - + 6% (semitone) 6%(半音) - + 8% (Technics SL-1210) 8%(Technics SL-1210) - + 10% 10% - + 16% 16% - + 24% 24% - + 50% 50% - + 90% 90% @@ -6246,57 +6473,57 @@ You can always drag-and-drop tracks on screen to clone a deck. - + Allow screensaver to run - + Prevent screensaver from running - + Prevent screensaver while playing - + Disabled - + 2x MSAA - + 4x MSAA - + 8x MSAA - + 16x MSAA - + This skin does not support color schemes - + Information 通知 - + Mixxx must be restarted before the new locale, scaling or multi-sampling settings will take effect. @@ -6523,67 +6750,97 @@ and allows you to pitch adjust them for harmonic mixing. - + Music Directory Added 音楽フォルダを追加しました - + You added one or more music directories. The tracks in these directories won't be available until you rescan your library. Would you like to rescan now? いくつかの音楽フォルダが登録されました。が、その中にあるファイルは、ライブラリを再スキャンしないと使えません。すぐに再スキャンを行いますか? - + Scan スキャン - + Item is not a directory or directory is missing - + Choose a music directory - + Confirm Directory Removal - + Mixxx will no longer watch this directory for new tracks. What would you like to do with the tracks from this directory and subdirectories?<ul><li>Hide all tracks from this directory and subdirectories.</li><li>Delete all metadata for these tracks from Mixxx permanently.</li><li>Leave the tracks unchanged in your library.</li></ul>Hiding tracks saves their metadata in case you re-add them in the future. - + Metadata means all track details (artist, title, playcount, etc.) as well as beatgrids, hotcues, and loops. This choice only affects the Mixxx library. No files on disk will be changed or deleted. - + Hide Tracks - + Delete Track Metadata - + Leave Tracks Unchanged - + Relink music directory to new location - + + Black + + + + + ExtraBold + + + + + Bold + + + + + SemiBold + + + + + Medium + + + + + Light + + + + Select Library Font @@ -6632,262 +6889,267 @@ and allows you to pitch adjust them for harmonic mixing. - + Audio File Formats オーディオファイル形式 - + Track Table View - + Track Double-Click Action: - + BPM display precision: - + Session History - + Track duplicate distance - + When playing a track again log it to the session history only if more than N other tracks have been played in the meantime - + History playlist with less than N tracks will be deleted<br/><br/>Note: the cleanup will be performed during startup and shutdown of Mixxx. - + Delete history playlist with less than N tracks - + Library Font: ライブラリのフォント: - + + Show scan summary dialog + + + + Grey out played tracks - + Track Search - + Enable search completions - + Enable search history keyboard shortcuts - + Percentage of pitch slider range for 'fuzzy' BPM search: - + This range will be used for the 'fuzzy' BPM search (~bpm:) via the search box, as well as for BPM search in Track context menu > Search related Tracks - + Preferred Cover Art Fetcher Resolution - + Fetch cover art from coverartarchive.com by using Import Metadata From Musicbrainz. - + Note: ">1200 px" can fetch up to very large cover arts. - + >1200 px (if available) - + 1200 px (if available) - + 500 px - + 250 px - + Settings Directory 設定フォルダ - + The Mixxx settings directory contains the library database, various configuration files, log files, track analysis data, as well as custom controller mappings. - + Edit those files only if you know what you are doing and only while Mixxx is not running. - + Open Mixxx Settings Folder Mixxx 設定フォルダを開く - + Library Row Height: ライブラリの行の高さ - + Use relative paths for playlist export if possible プレイリストのエクスポート時に可能ならば相対パスを使用する - + ... ... - + px px - + Synchronize library track metadata from/to file tags - + Automatically write modified track metadata from the library into file tags and reimport metadata from updated file tags into the library - + Synchronize Serato track metadata from/to file tags (experimental) - + Keeps track color, beat grid, bpm lock, cue points, and loops synchronized with SERATO_MARKERS/MARKERS2 file tags.<br/><br/>WARNING: Enabling this option also enables the reimport of Serato metadata after files have been modified outside of Mixxx. On reimport existing metadata in Mixxx is replaced with the metadata found in file tags. Custom metadata not included in file tags like loop colors is lost. - + Edit metadata after clicking selected track - + Search-as-you-type timeout: 検索タイプ入力のタイムアウト: - + ms ms - + Load track to next available deck - + External Libraries 外部ライブラリ - + You will need to restart Mixxx for these settings to take effect. 設定を有効にするには Mixxx を再起動する必要があります。 - + Show Rhythmbox Library Rhythmbox ライブラリを表示 - + Track Metadata Synchronization / Playlists - + Add track to Auto DJ queue (bottom) - + Add track to Auto DJ queue (top) - + Ignore 何もしない - + Show Banshee Library Banshee ライブラリを表示 - + Show iTunes Library iTunes ライブラリを表示 - + Show Traktor Library Traktor ライブラリを表示 - + Show Rekordbox Library Rekordbox ライブラリを表示 - + Show Serato Library Serato ライブラリを表示 - + All external libraries shown are write protected. 表示されている全ての外部ライブラリは書き込み保護されます。 @@ -7232,33 +7494,33 @@ and allows you to pitch adjust them for harmonic mixing. DlgPrefRecord - + Choose recordings directory - - + + Recordings directory invalid - + Recordings directory must be set to an existing directory. - + Recordings directory must be set to a directory. - + Recordings directory not writable - + You do not have write access to %1. Choose a recordings directory you have write access to. @@ -7276,43 +7538,55 @@ and allows you to pitch adjust them for harmonic mixing. 参照... - - + + This will include the filepath for each track in the CUE file. +This option makes the CUE file less portable and can reveal personal +information from filepaths (i.e. username) + + + + + Enable File Annotation in CUE file + + + + + Quality 音質 - + Tags タグ - + Title タイトル - + Author 作者 - + Album アルバム - + Output File Format エクスポート ファイル 形式 - + Compression 圧縮 - + Lossy 非可逆圧縮 @@ -7327,12 +7601,12 @@ and allows you to pitch adjust them for harmonic mixing. 場所: - + Compression Level 圧縮レベル - + Lossless ロスレス @@ -7463,172 +7737,177 @@ The loudness target is approximate and assumes track pregain and main output lev DlgPrefSound - + %1 Hz %1 Hz - + Default (long delay) 標準 (遅延 大) - + Experimental (no delay) 試験中 (遅延無し) - + Disabled (short delay) 無効 (遅延 小) - + Soundcard Clock - + Network Clock - + Direct monitor (recording and broadcasting only) - + Disabled 無効 - + Enabled 有効 - + Stereo ステレオ - + Mono モノラル - + To enable Realtime scheduling (currently disabled), see the %1. - + The %1 lists sound cards and controllers you may want to consider for using Mixxx. - + Mixxx DJ Hardware Guide - + + Find details in the Mixxx user manual + + + + Information - + Mixxx must be restarted before the multi-threaded RubberBand setting change will take effect. - + auto (<= 1024 frames/period) - + 2048 frames/period - + 4096 frames/period - + Are you sure? - + Distribute stereo channels into mono channels for parallel processing will result in a loss of mono compatibility and a diffuse stereo image. It is not recommended during broadcasting or recording. - + Are you sure you wish to proceed? - + No - + Yes, I know what I am doing - + Microphone inputs are out of time in the record & broadcast signal compared to what you hear. - + Measure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. - + Refer to the Mixxx User Manual for details. - + Configured latency has changed. - + Remeasure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. - + Realtime scheduling is enabled. - + Main output only - + Main and booth outputs - + %1 ms %1 ms - + Configuration error 設定エラー @@ -7695,17 +7974,22 @@ The loudness target is approximate and assumes track pregain and main output lev ms - + + Deck and Bus outputs are for external mixers. They are post-fader and include effects and crossfader (for Auto DJ). For external mixing, make sure all Mixxx faders and EQ knobs are set to their default position (right- or double-click). + + + + 20 ms 20 ms - + Buffer Underflow Count - + 0 0 @@ -7730,12 +8014,12 @@ The loudness target is approximate and assumes track pregain and main output lev 入力 - + System Reported Latency システムで検知した遅延 - + Enlarge your audio buffer if the underflow counter is increasing or you hear pops during playback. @@ -7765,7 +8049,7 @@ The loudness target is approximate and assumes track pregain and main output lev ヒントと診断 - + Downsize your audio buffer to improve Mixxx's responsiveness. @@ -7812,7 +8096,7 @@ The loudness target is approximate and assumes track pregain and main output lev Vinylの設定 - + Show Signal Quality in Skin スキン内のシグナルクオリティを表示 @@ -7848,46 +8132,51 @@ The loudness target is approximate and assumes track pregain and main output lev + Pitch estimator + + + + Deck 1 Deck 1 - + Deck 2 Deck 2 - + Deck 3 Deck 3 - + Deck 4 Deck 4 - + Signal Quality 信号の強さ - + http://www.xwax.co.uk http://www.xwax.co.uk - + Powered by xwax - + Hints ヒント - + Select sound devices for Vinyl Control in the Sound Hardware pane. @@ -7895,58 +8184,58 @@ The loudness target is approximate and assumes track pregain and main output lev DlgPrefWaveform - + Filtered - + HSV HSV - + RGB RGB - + Top - + Center - + Bottom - + 1/3 of waveform viewer options for "Text height limit" - + Entire waveform viewer - + OpenGL not available OpenGLが利用できません - + dropped frames ドロップフレーム - + Cached waveforms occupy %1 MiB on disk. @@ -7964,22 +8253,17 @@ The loudness target is approximate and assumes track pregain and main output lev フレームレート - + OpenGL Status - + Displays which OpenGL version is supported by the current platform. - - Normalize waveform overview - - - - + Average frame rate @@ -7995,7 +8279,7 @@ The loudness target is approximate and assumes track pregain and main output lev - + Displays the actual frame rate. @@ -8030,7 +8314,7 @@ The loudness target is approximate and assumes track pregain and main output lev 低い - + Show minute markers on waveform overview @@ -8075,7 +8359,7 @@ The loudness target is approximate and assumes track pregain and main output lev - + The waveform overview shows the waveform envelope of the entire track. Select from different types of displays for the waveform overview, which differ primarily in the level of detail shown in the waveform. @@ -8142,22 +8426,22 @@ Select from different types of displays for the waveform, which differ primarily - + Caching - + Mixxx caches the waveforms of your tracks on disk the first time you load a track. This reduces CPU usage when you are playing live but requires extra disk space. - + Enable waveform caching - + Generate waveforms when analyzing library @@ -8173,7 +8457,7 @@ Select from different types of displays for the waveform, which differ primarily - + Type @@ -8193,22 +8477,68 @@ Select from different types of displays for the waveform, which differ primarily % - - Play marker position + + Play marker position + + + + + Moves the play marker position on the waveforms to the left, right or center (default). + + + + + Stem + + + + + Channel opacity + + + + + Channel opacity (outline) + + + + + Main stem opacity + + + + + Outline stem opacity + + + + + Move channel to foreground when volume is adjusted + + + + + Overview Waveforms - - Moves the play marker position on the waveforms to the left, right or center (default). + + Gain - - Overview Waveforms + + Normalize to peak + + + + + Use Waveform "Global" gain and ReplayGain (if enabled) + 'Global' refers to the 'Global' visual gain in the scrolling waveform settings - + Clear Cached Waveforms @@ -8697,7 +9027,7 @@ This can not be undone! BPM: - + Location: @@ -8712,27 +9042,27 @@ This can not be undone! - + BPM BPM - + Sets the BPM to 75% of the current value. - + 3/4 BPM 3/4 BPM - + Sets the BPM to 50% of the current value. - + Displays the BPM of the selected track. @@ -8787,49 +9117,49 @@ This can not be undone! ジャンル - + ReplayGain: - + Sets the BPM to 200% of the current value. - + Double BPM 2倍 BPM - + Halve BPM 1/2 BPM - + Clear BPM and Beatgrid - + Move to the previous item. "Previous" button - + &Previous - + Move to the next item. "Next" button - + &Next @@ -8854,12 +9184,12 @@ This can not be undone! - + Date added: - + Open in File Browser @@ -8869,12 +9199,17 @@ This can not be undone! - + + Filesize: + + + + Track BPM: トラックBPM: - + Converts beats detected by the analyzer into a fixed-tempo beatgrid. Use this setting if your tracks have a constant tempo (e.g. most electronic music). Often results in higher quality beatgrids, but will not do well on tracks that have tempo shifts. @@ -8883,90 +9218,90 @@ Often results in higher quality beatgrids, but will not do well on tracks that h 高い品質のビートグリッドが得られることが多いですが、テンポが変化するトラックではうまくいきません。 - + Assume constant tempo - + Sets the BPM to 66% of the current value. - + 2/3 BPM 2/3 BPM - + Sets the BPM to 150% of the current value. - + 3/2 BPM 3/2 BPM - + Sets the BPM to 133% of the current value. - + 4/3 BPM 4/3 BPM - + Tap with the beat to set the BPM to the speed you are tapping. - + Tap to Beat タップテンポ - + Hint: Use the Library Analyze view to run BPM detection. ヒント:BPM検出をさせるにはライブラリの解析画面を使用します。 - + Save changes and close the window. "OK" button - + &OK - + Discard changes and close the window. "Cancel" button - + Save changes and keep the window open. "Apply" button - + &Apply 適用(&A) - + &Cancel キャンセル(&C) - + (no color) @@ -9123,7 +9458,7 @@ Often results in higher quality beatgrids, but will not do well on tracks that h - + (no color) @@ -9325,27 +9660,27 @@ Often results in higher quality beatgrids, but will not do well on tracks that h EngineBuffer - + Soundtouch (faster) Soundtouch (高速) - + Rubberband (better) Rubberband (高品質) - + Rubberband R3 (near-hi-fi quality) - + Unknown, using Rubberband (better) - + Unknown, using Soundtouch @@ -9560,15 +9895,15 @@ Often results in higher quality beatgrids, but will not do well on tracks that h LegacySkinParser - - + + Safe Mode Enabled Shown when Mixxx is running in safe mode. - - + + No OpenGL support. Shown when Spinny can not be displayed. Please keep @@ -9579,57 +9914,57 @@ Shown when VuMeter can not be displayed. Please keep - + activate - + toggle - + right - + left - + right small - + left small - + up - + down - + up small - + down small - + Shortcut @@ -9637,62 +9972,62 @@ Shown when VuMeter can not be displayed. Please keep Library - + This or a parent directory is already in your library. - + This or a listed directory does not exist or is inaccessible. Aborting the operation to avoid library inconsistencies - - + + This directory can not be read. - + An unknown error occurred. Aborting the operation to avoid library inconsistencies - + Can't add Directory to Library - + Could not add <b>%1</b> to your library. %2 - + Can't remove Directory from Library - + An unknown error occurred. - + This directory does not exist or is inaccessible. - + Relink Directory - + Could not relink <b>%1</b> to <b>%2</b>. %3 @@ -9854,12 +10189,12 @@ Do you really want to overwrite it? - + Export to Engine DJ - + Tracks @@ -9867,37 +10202,37 @@ Do you really want to overwrite it? MixxxMainWindow - + Sound Device Busy サウンドデバイスがビジーです。 - + <b>Retry</b> after closing the other application or reconnecting a sound device 他のアプリケーションを閉じるかデバイスを再接続した後で<b>リトライ</b>してください。 - - - + + + <b>Reconfigure</b> Mixxx's sound device settings. Mixxxのサウンドデバイス設定を<b>再設定</b>する。 - - + + Get <b>Help</b> from the Mixxx Wiki. Mixxx Wikiで<b>Help</b>を手に入れてください。 - - - + + + <b>Exit</b> Mixxx. Mixxxを<b>終了</b>する。 - + Retry リトライ @@ -9907,209 +10242,209 @@ Do you really want to overwrite it? - + Allow Mixxx to hide the menu bar? - + Hide Always show the menu bar? - + Always show - + The Mixxx menu bar is hidden and can be toggled with a single press of the <b>Alt</b> key.<br><br>Click <b>%1</b> to agree.<br><br>Click <b>%2</b> to disable that, for example if you don't use Mixxx with a keyboard.<br><br>You can change this setting any time in Preferences -> Interface.<br> Keep formatting tags <b> (bold text) and <br> (linebreak). %1 is the placeholder for the 'Always show' button label - + Ask me again - - + + Reconfigure 再設定 - + Help ヘルプ - - + + Exit 終了 - - + + Mixxx was unable to open all the configured sound devices. - + Sound Device Error - + <b>Retry</b> after fixing an issue - + No Output Devices - + Mixxx was configured without any output sound devices. Audio processing will be disabled without a configured output device. - + <b>Continue</b> without any outputs. - + Continue 続行 - + Load track to Deck %1 - + Deck %1 is currently playing a track. - + Are you sure you want to load a new track? - + There is no input device selected for this vinyl control. Please select an input device in the sound hardware preferences first. - + There is no input device selected for this passthrough control. Please select an input device in the sound hardware preferences first. - + There is no input device selected for this microphone. Do you want to select an input device? - + There is no input device selected for this auxiliary. Do you want to select an input device? - + Scan took %1 - + No changes detected. - - + + %1 tracks in total - + %1 new tracks found - + %1 moved tracks detected - + %1 tracks are missing (%2 total) - + %1 tracks have been rediscovered - + Library scan finished - + Error in skin file - + The selected skin cannot be loaded. - + OpenGL Direct Rendering - + Direct rendering is not enabled on your machine.<br><br>This means that the waveform displays will be very<br><b>slow and may tax your CPU heavily</b>. Either update your<br>configuration to enable direct rendering, or disable<br>the waveform displays in the Mixxx preferences by selecting<br>"Empty" as the waveform display in the 'Interface' section. - - - + + + Confirm Exit 終了の確認 - + A deck is currently playing. Exit Mixxx? デッキは現在再生中です。Mixxxを終了しますか? - + A sampler is currently playing. Exit Mixxx? サンプラーは現在再生中です。MIXXXを終了しますか? - + The preferences window is still open. - + Discard any changes and exit Mixxx? @@ -10125,13 +10460,13 @@ Do you want to select an input device? PlaylistFeature - + Lock ロックをかける - - + + Playlists プレイリスト @@ -10141,58 +10476,63 @@ Do you want to select an input device? - + + Adopt current order + + + + Unlock all playlists - + Delete all unlocked playlists - + Unlock ロックを解除 - - + + Confirm Deletion - + Do you really want to delete all unlocked playlists? - + Deleting %1 unlocked playlists.<br>This operation can not be undone! - + Playlists are ordered lists of tracks that allow you to plan your DJ sets. - + It may be necessary to skip some tracks in your prepared playlist or add some different tracks in order to maintain the energy of your audience. - + Some DJs construct playlists before they perform live, but others prefer to build them on-the-fly. - + When using a playlist during a live DJ set, remember to always pay close attention to how your audience reacts to the music you've chosen to play. - + Create New Playlist 新規プレイリストの作成 @@ -10291,58 +10631,58 @@ Do you want to select an input device? QMessageBox - + Upgrading Mixxx - + Mixxx now supports displaying cover art. Do you want to scan your library for cover files now? - + Scan スキャン - + Later - + Upgrading Mixxx from v1.9.x/1.10.x. - + Mixxx has a new and improved beat detector. - + When you load tracks, Mixxx can re-analyze them and generate new, more accurate beatgrids. This will make automatic beatsync and looping more reliable. - + This does not affect saved cues, hotcues, playlists, or crates. - + If you do not want Mixxx to re-analyze your tracks, choose "Keep Current Beatgrids". You can change this setting at any time from the "Beat Detection" section of the Preferences. - + Keep Current Beatgrids - + Generate New Beatgrids @@ -10456,69 +10796,82 @@ Do you want to scan your library for cover files now? 14ビット (MSB) - + Main + Audio path indetifier メイン - + Booth + Audio path indetifier ブース - + Headphones + Audio path indetifier ヘッドフォン - + Left Bus + Audio path indetifier - + Center Bus + Audio path indetifier - + Right Bus + Audio path indetifier - + Invalid Bus + Audio path indetifier - + Deck + Audio path indetifier デッキ - + Record/Broadcast + Audio path indetifier - + Vinyl Control + Audio path indetifier Vinylコントロール - + Microphone + Audio path indetifier マイク - + Auxiliary + Audio path indetifier - + Unknown path type %1 + Audio path 不明なパスタイプ %1 @@ -10849,47 +11202,49 @@ With width at zero, this allows for manually sweeping over the entire delay rang - + Metronome メトロノーム - + + The Mixxx Team - + Adds a metronome click sound to the stream ストリームにメトロノームのクリック音を追加 - + BPM BPM - + Set the beats per minute value of the click sound クリック音のBPM値を設定 - + Sync 同期 - + Synchronizes the BPM with the track if it can be retrieved - + + Gain - + Set the gain of metronome click sound @@ -11674,14 +12029,14 @@ Fully right: end of the effect period - - + + encoder failure - - + + Failed to apply the selected settings. @@ -11887,15 +12242,86 @@ and the processed output signal as close as possible in perceived loudness + + Auto Gain Control + + + + + AGC + + + + + Auto Gain Control (AGC) automatically adjusts the gain of an audio signal to maintain a consistent output level. + + + + Threshold (dBFS) + Threshold + + + The Threshold knob adjusts the level above which the effect starts enhancing the input signal + + + + + Target (dBFS) + + + + + Target + + + + + The Target knob adjusts the desired target level of the output signal + + + + + Gain (dB) + + + + + The Gain knob adjusts the maximum amount of gain that the effect will apply + + + + + Knee (dB) + + + + + The Knee knob defines the range around the Threshold where gain changes are applied gradually, +ensuring smooth transitions and avoiding abrupt level shifts. + + + + + The Attack knob sets the time that determines how fast the auto gain +will set in once the signal exceeds the threshold + + + + + The Release knob sets the time that determines how fast the auto gain will recover from the gain +adjustment once the signal falls under the threshold. Depending on the input signal, short release times +may introduce a 'pumping' effect and/or distortion. + + The Threshold knob adjusts the level above which the compressor starts attenuating the input signal @@ -11924,6 +12350,7 @@ At a ratio of 1:1 no compression is happening, as the input is exactly the outpu + Knee @@ -11934,11 +12361,13 @@ At a ratio of 1:1 no compression is happening, as the input is exactly the outpu + Attack (ms) + Attack @@ -11950,11 +12379,13 @@ will set in once the signal exceeds the threshold + Release (ms) + Release @@ -11983,12 +12414,12 @@ may introduce a 'pumping' effect and/or distortion. - + built-in - + missing @@ -12023,42 +12454,42 @@ may introduce a 'pumping' effect and/or distortion. - + Empty - + Simple - + Filtered - + HSV - + VSyncTest - + RGB - + Stacked - + Unknown @@ -12319,193 +12750,193 @@ may introduce a 'pumping' effect and/or distortion. ShoutConnection - - + + Mixxx encountered a problem Mixxxに問題が発生しました。 - + Could not allocate shout_t shout_tがアロケートできませんでした。 - + Could not allocate shout_metadata_t shout_metadata_tがアロケートできませんでした。 - + Error setting non-blocking mode: non-blockingモードに設定できませんでした。 - + Error setting tls mode: - + Error setting hostname! - + Error setting port! - + Error setting password! - + Error setting mount! - + Error setting username! - + Error setting stream name! - + Error setting stream description! - + Error setting stream genre! - + Error setting stream url! - + Error setting stream IRC! - + Error setting stream AIM! - + Error setting stream ICQ! - + Error setting stream public! - + Unknown stream encoding format! - + Use a libshout version with %1 enabled - + Error setting stream encoding format! - + Broadcasting at 96 kHz with Ogg Vorbis is not currently supported. Please try a different sample rate or switch to a different encoding. Ogg Vorbis を使った 96 kHz での放送は現在サポートされていません。他のサンプルレートを試すか他のエンコード方式に変更してください。 - + See https://github.com/mixxxdj/mixxx/issues/5701 for more information. - + Unsupported sample rate - + Error setting bitrate - + Error: unknown server protocol! エラー: 不明なサーバプロトコルです! - + Error: Shoutcast only supports MP3 and AAC encoders エラー: Shoutcast は MP3 と AAC エンコーダのみサポートします - + Error setting protocol! - + Network cache overflow - + Connection error - + One of the Live Broadcasting connections raised this error:<br><b>Error with connection '%1':</b><br> - + Connection message - + <b>Message from Live Broadcasting connection '%1':</b><br> - + Lost connection to streaming server and %1 attempts to reconnect have failed. - + Lost connection to streaming server. ストリーミングサーバとの接続が失われました。 - + Please check your connection to the Internet. インターネットの接続を確認してください。 - + Can't connect to streaming server ストリーミングサーバに接続できません - + Please check your connection to the Internet and verify that your username and password are correct. インターネットの接続、ユーザ名とパスワードを確認してください @@ -12513,7 +12944,7 @@ may introduce a 'pumping' effect and/or distortion. SoftwareWaveformWidget - + Filtered @@ -12521,23 +12952,23 @@ may introduce a 'pumping' effect and/or distortion. SoundManager - - + + a device デバイス - + An unknown error occurred 未知のエラーがおこりました - + Two outputs cannot share channels on "%1" - + Error opening "%1" @@ -12722,7 +13153,7 @@ may introduce a 'pumping' effect and/or distortion. - + Spinning Vinyl @@ -12904,7 +13335,7 @@ may introduce a 'pumping' effect and/or distortion. - + Cover Art カバーアート @@ -13094,243 +13525,243 @@ may introduce a 'pumping' effect and/or distortion. アクティブにすると低域EQのゲインをゼロにします。 - + Displays the tempo of the loaded track in BPM (beats per minute). - + Tempo テンポ - + Key The musical key of a track キー - + BPM Tap BPMタップ - + When tapped repeatedly, adjusts the BPM to match the tapped BPM. - + Adjust BPM Down - + When tapped, adjusts the average BPM down by a small amount. - + Adjust BPM Up - + When tapped, adjusts the average BPM up by a small amount. - + Adjust Beats Earlier - + When tapped, moves the beatgrid left by a small amount. - + Adjust Beats Later - + When tapped, moves the beatgrid right by a small amount. - + Tempo and BPM Tap テンポとBPMタップ - + Show/hide the spinning vinyl section. - + Keylock - + Toggling keylock during playback may result in a momentary audio glitch. - + Toggle visibility of Loop Controls - + Toggle visibility of Beatjump Controls - + Toggle visibility of Rate Control - + Toggle visibility of Key Controls - + (while previewing) - + Places a cue point at the current position on the waveform. - + Stops track at cue point, OR go to cue point and play after release (CUP mode). - + Set cue point (Pioneer/Mixxx/Numark mode), set cue point and play after release (CUP mode) OR preview from it (Denon mode). - + Is latching the playing state. - + Seeks the track to the cue point and stops. - + Play 再生 - + Plays track from the cue point. - + Sends the selected channel's audio to the headphone output, selected in Preferences -> Sound Hardware. - + (This skin should be updated to use Sync Lock!) - + Enable Sync Lock - + Tap to sync the tempo to other playing tracks or the sync leader. - + Enable Sync Leader - + When enabled, this device will serve as the sync leader for all other decks. - + This is relevant when a dynamic tempo track is loaded to a sync leader deck.In that case, other synced devices will adopt the changing tempo. - + Changes the track playback speed (affects both the tempo and the pitch). If keylock is enabled, only the tempo is affected. - + Tempo Range Display - + Displays the current range of the tempo slider. - + Un-ejects when no track is loaded, i.e. reloads the track that was ejected last (of any deck). - + Delete selected hotcue. - + Track Comment - + Displays the comment tag of the loaded track. - + Opens separate artwork viewer. - + Effect Chain Preset Settings - + Show the effect chain settings menu for this unit. - + Select and configure a hardware device for this input - + Recording Duration @@ -13553,947 +13984,982 @@ may introduce a 'pumping' effect and/or distortion. - + When tapped repeatedly, adjusts the tempo to match the tapped BPM. + + + Click to open the tempo/BPM editor + + + + + It also shows a colored bar if Key colors are enabled in the Preferences. + + + The bar will be split vertically if the track's key is in between full keys. + + + + Tempo Tap - + Rate Tap and BPM Tap - + + Set Tempo + + + + + Set the desired tempo in BPM. If the track currently has no BPM detected, set the desired tempo in percent. + + + + Adjust beatgrid by exactly one half beat. Usable only on tracks with constant tempo. - + Revert last BPM/Beatgrid Change - + Revert last BPM/Beatgrid Change of the loaded track. - - + + Toggle the BPM/beatgrid lock - + Tempo and Rate Tap - + Tempo, Rate Tap and BPM Tap - + Shift cues earlier - - + + Shift cues imported from Serato or Rekordbox if they are slightly off time. - + Left click: shift 10 milliseconds earlier - + Right click: shift 1 millisecond earlier - + Shift cues later - + Left click: shift 10 milliseconds later - + Right click: shift 1 millisecond later - - - + + + Drag a Hotcue button here to continue playing after releasing the Hotcue. - + Hint: Change the default cue mode in Preferences -> Decks. - + Mutes the selected channel's audio in the main output. - + Main mix enable - + Hold or short click for latching to mix this input into the main output. - + + Reloads the last replaced track. If no track is loaded reloads the second-last ejected track. + + + + If hotcue is a loop cue, toggles the loop and jumps to if the loop is behind the play position. - + If the play position is inside an active loop, stores the loop as loop cue. - + Drag this button onto another Hotcue button to move it there (change its index). If the other hotcue is set, the two are swapped. - + Expand/Collapse Samplers - + Toggle expanded samplers view. - + Displays the duration of the running recording. - + Auto DJ is active オートDJを有効にする - + Red for when needle skip has been detected. - + Hot Cue - Track will seek to nearest previous hotcue point. - + Sets the track Loop-In Marker to the current play position. - + Press and hold to move Loop-In Marker. - + Jump to Loop-In Marker. - + Sets the track Loop-Out Marker to the current play position. - + Press and hold to move Loop-Out Marker. - + Jump to Loop-Out Marker. - + If the track has no beats the unit is seconds. - + Beatloop Size - + Select the size of the loop in beats to set with the Beatloop button. - + Changing this resizes the loop if the loop already matches this size. - + Halve the size of an existing beatloop, or halve the size of the next beatloop set with the Beatloop button. - + Double the size of an existing beatloop, or double the size of the next beatloop set with the Beatloop button. - + Start a loop over the set number of beats. - + Temporarily enable a rolling loop over the set number of beats. - + Beatloop Anchor - + Define whether the loop is created and adjusted from its staring point or ending point. - + Beatjump/Loop Move Size - + Select the number of beats to jump or move the loop with the Beatjump Forward/Backward buttons. - + Beatjump Forward - + Jump forward by the set number of beats. - + Move the loop forward by the set number of beats. - + Jump forward by 1 beat. - + Move the loop forward by 1 beat. - + Beatjump Backward - + Jump backward by the set number of beats. - + Move the loop backward by the set number of beats. - + Jump backward by 1 beat. - + Move the loop backward by 1 beat. - + Reloop - + If the loop is ahead of the current position, looping will start when the loop is reached. - + Works only if Loop-In and Loop-Out Marker are set. - + Enable loop, jump to Loop-In Marker, and stop playback. - + Displays the elapsed and/or remaining time of the track loaded. - + Click to toggle between time elapsed/remaining time/both. - + Hint: Change the time format in Preferences -> Decks. - + Show/hide intro & outro markers and associated buttons. - + + Ensure all waveforms to have the same height across all channels. By default, when displaying the stem controls, waveform for channel that have no stem may render with a shorter height in order to honor the waveform container size you have requested.. + + + + Intro Start Marker - - - - + + + + If marker is set, jumps to the marker. - - - - + + + + If marker is not set, sets the marker to the current play position. - - - - + + + + If marker is set, clears the marker. - + Intro End Marker - + Outro Start Marker - + Outro End Marker - + Mix ミックス - + Adjust the mixing of the dry (input) signal with the wet (output) signal of the effect unit - + D/W mode: Crossfade between dry and wet - + D+W mode: Add wet to dry - + Mix Mode ミックスモード - + Adjust how the dry (input) signal is mixed with the wet (output) signal of the effect unit - + Dry/Wet mode (crossed lines): Mix knob crossfades between dry and wet Use this to change the sound of the track with EQ and filter effects. - + Dry+Wet mode (flat dry line): Mix knob adds wet to dry Use this to change only the effected (wet) signal with EQ and filter effects. - + Route the main mix through this effect unit. - + Route the left crossfader bus through this effect unit. - + Route the right crossfader bus through this effect unit. - + Right side active: parameter moves with right half of Meta Knob turn - + Stem Label - + Name of the stem stored in the stem file - + Text is displayed in the stem color stored in the stem file - + this stem color is also used for the waveform of this stem - + Stem Mute - + Toggle the stem mute/unmuted - + Stem Volume Knob - + Adjusts the volume of the stem - + Skin Settings Menu - + Show/hide skin settings menu - + Save Sampler Bank サンプラーバンクを保存 - + Save the collection of samples loaded in the samplers. - + Load Sampler Bank サンプラーバンクの読み込み - + Load a previously saved collection of samples into the samplers. - + Show Effect Parameters エフェクトのパラメータを表示 - + Enable Effect エフェクトを有効化 - + Meta Knob Link - + Set how this parameter is linked to the effect's Meta Knob. - + Meta Knob Link Inversion - + Inverts the direction this parameter moves when turning the effect's Meta Knob. - + Super Knob - + Next Chain - + Previous Chain - + Next/Previous Chain - + Clear - + Clear the current effect. - + Toggle - + Toggle the current effect. - + Next - + Clear Unit - + Clear effect unit. - + Show/hide parameters for effects in this unit. - + Toggle Unit - + Enable or disable this whole effect unit. - + Controls the Meta Knob of all effects in this unit together. - + Load next effect chain preset into this effect unit. - + Load previous effect chain preset into this effect unit. - + Load next or previous effect chain preset into this effect unit. - - - - - - - - - + + + + + + + + + Assign Effect Unit - + Assign this effect unit to the channel output. - + Route the headphone channel through this effect unit. - + Route this deck through the indicated effect unit. - + Route this sampler through the indicated effect unit. - + Route this microphone through the indicated effect unit. - + Route this auxiliary input through the indicated effect unit. - + The effect unit must also be assigned to a deck or other sound source to hear the effect. - + Switch to the next effect. - + Previous - + Switch to the previous effect. - + Next or Previous - + Switch to either the next or previous effect. - + Meta Knob - + Controls linked parameters of this effect - + Effect Focus Button - + Focuses this effect. - + Unfocuses this effect. - + Refer to the web page on the Mixxx wiki for your controller for more information. - + Effect Parameter - + Adjusts a parameter of the effect. - + Inactive: parameter not linked - + Active: parameter moves with Meta Knob - + Left side active: parameter moves with left half of Meta Knob turn - + Left and right side active: parameter moves across range with half of Meta Knob turn and back with the other half - - + + Equalizer Parameter Kill - - + + Holds the gain of the EQ to zero while active. - + Quick Effect Super Knob クイックエフェクトスーパーノブ - + Quick Effect Super Knob (control linked effect parameters). クイックエフェクトスーパーノブ (エフェクトのパラメーターにリンク) - + Hint: Change the default Quick Effect mode in Preferences -> Equalizers. ヒント: クイックエフェクトのデフォルトモードの変更は 環境設定->いこらいぜー - + Equalizer Parameter - + Adjusts the gain of the EQ filter. - + Hint: Change the default EQ mode in Preferences -> Equalizers. - - + + Adjust Beatgrid - + Adjust beatgrid so the closest beat is aligned with the current play position. - - + + Adjust beatgrid to match another playing deck. - + If quantize is enabled, snaps to the nearest beat. - + Quantize クォンタイズ - + Toggles quantization. クォンタイズの ON/OFF を切り替えます。 - + Loops and cues snap to the nearest beat when quantization is enabled. - + Reverse - + Reverses track playback during regular playback. - + Puts a track into reverse while being held (Censor). - + Playback continues where the track would have been if it had not been temporarily reversed. - - - + + + Play/Pause 再生/一時停止 - + Jumps to the beginning of the track. トラックの先頭にジャンプ - + Syncs the tempo (BPM) and phase to that of the other track, if BPM is detected on both. - + Syncs the tempo (BPM) to that of the other track, if BPM is detected on both. - + Sync and Reset Key - + Increases the pitch by one semitone. - + Decreases the pitch by one semitone. - + Enable Vinyl Control Vinylコントロールを有効にする - + When disabled, the track is controlled by Mixxx playback controls. - + When enabled, the track responds to external vinyl control. - + Enable Passthrough パススルーを有効にする - + Indicates that the audio buffer is too small to do all audio processing. - + Displays cover artwork of the loaded track. - + Displays options for editing cover artwork. - + Star Rating - + Assign ratings to individual tracks by clicking the stars. @@ -14628,33 +15094,33 @@ Use this to change only the effected (wet) signal with EQ and filter effects. - + Prevents the pitch from changing when the rate changes. - + Changes the number of hotcue buttons displayed in the deck - + Starts playing from the beginning of the track. - + Jumps to the beginning of the track and stops. - - + + Plays or pauses the track. - + (while playing) @@ -14674,215 +15140,215 @@ Use this to change only the effected (wet) signal with EQ and filter effects. - + (while stopped) - + Cue - + Headphone ヘッドホン - + Mute ミュート - + Old Synchronize - + Syncs to the first deck (in numerical order) that is playing a track and has a BPM. - + If no deck is playing, syncs to the first deck that has a BPM. - + Decks can't sync to samplers and samplers can only sync to decks. - + Hold for at least a second to enable sync lock for this deck. - + Decks with sync locked will all play at the same tempo, and decks that also have quantize enabled will always have their beats lined up. - + Resets the key to the original track key. - + Speed Control スピードコントロール - - - + + + Changes the track pitch independent of the tempo. - + Increases the pitch by 10 cents. - + Decreases the pitch by 10 cents. - + Pitch Adjust - + Adjust the pitch in addition to the speed slider pitch. - + Opens a menu to clear hotcues or edit their labels and colors. - + Drag this button onto a Play button while previewing to continue playback after release. - + Dragging with Shift key pressed will not start previewing the hotcue. - + Record Mix - + Toggle mix recording. - + Enable Live Broadcasting ライブ ブロードキャスティングを有効化 - + Stream your mix over the Internet. - + Provides visual feedback for Live Broadcasting status: - + disabled, connecting, connected, failure. - + When enabled, the deck directly plays the audio arriving on the vinyl input. - + Playback will resume where the track would have been if it had not entered the loop. - + Loop Exit - + Turns the current loop off. - + Slip Mode - + When active, the playback continues muted in the background during a loop, reverse, scratch etc. - + Once disabled, the audible playback will resume where the track would have been. - + Track Key The musical key of a track - + Displays the musical key of the loaded track. - + Clock クロック - + Displays the current time. 現在時刻を表示します。 - + Audio Latency Usage Meter - + Displays the fraction of latency used for audio processing. - + A high value indicates that audible glitches are likely. - + Do not enable keylock, effects or additional decks in this situation. - + Audio Latency Overload Indicator @@ -14922,259 +15388,259 @@ Use this to change only the effected (wet) signal with EQ and filter effects. - + Displays the current musical key of the loaded track after pitch shifting. - + Fast Rewind 早戻し - + Fast rewind through the track. - + Fast Forward 早送り - + Fast forward through the track. - + Jumps to the end of the track. - + Sets the pitch to a key that allows a harmonic transition from the other track. Requires a detected key on both involved decks. - - - + + + Pitch Control - + Pitch Rate - + Displays the current playback rate of the track. - + Repeat リピート - + When active the track will repeat if you go past the end or reverse before the start. - + Eject イジェクト - + Ejects track from the player. - + Hotcue ホットキュー - + If hotcue is set, jumps to the hotcue. - + If hotcue is not set, sets the hotcue to the current play position. ホットキューがセットされていなければ、現在の位置にセットする - + Vinyl Control Mode - + Absolute mode - track position equals needle position and speed. - + Relative mode - track speed equals needle speed regardless of needle position. - + Constant mode - track speed equals last known-steady speed regardless of needle input. - + Vinyl Status Vinylの状態 - + Provides visual feedback for vinyl control status: - + Green for control enabled. - + Blinking yellow for when the needle reaches the end of the record. - + Loop-In Marker - + Loop-Out Marker - + Loop Halve - + Halves the current loop's length by moving the end marker. - + Deck immediately loops if past the new endpoint. - + Loop Double - + Doubles the current loop's length by moving the end marker. - + Beatloop - + Toggles the current loop on or off. - + Works only if Loop-In and Loop-Out marker are set. - + Vinyl Cueing Mode - + Determines how cue points are treated in vinyl control Relative mode: - + Off - Cue points ignored. - + One Cue - If needle is dropped after the cue point, track will seek to that cue point. - + Track Time トラックの時間 - + Track Duration トラックの長さ - + Displays the duration of the loaded track. 読み込んだトラックの長さを表示します。 - + Information is loaded from the track's metadata tags. 情報はトラックのメタデータタグから読み込まれます。 - + Track Artist トラックアーティスト - + Displays the artist of the loaded track. 読み込んだトラックのアーティストを表示します。 - + Track Title トラックタイトル - + Displays the title of the loaded track. 読み込んだトラックのタイトルを表示します。 - + Track Album アルバム - + Displays the album name of the loaded track. 読み込んだトラックのアルバム名を表示します。 - + Track Artist/Title トラックアーティスト/タイトル - + Displays the artist and title of the loaded track. 読み込んだトラックのアーティストとタイトルを表示します。 @@ -15402,47 +15868,75 @@ This can not be undone! WCueMenuPopup - + Cue number - + Cue position - + Edit cue label - + Label... - + Delete this cue - - Toggle this cue type between normal cue and saved loop + + Turn this cue into a regular hotcue + + + + + Turn this cue into a saved loop + + + + + Left-click: Use the old size if known or the current beatloop size as the loop size + + + + + Right-click: Use the current play position as new loop end if it is after the cue + + + + + Turn this cue into a saved forward jump. + + is a linebreak. Try to not to extend the translation beyond the length of the longest source line so the tooltip remains compact. + + + + + Turn this cue into a saved backward jump (one shot loop). - - Left-click: Use the old size or the current beatloop size as the loop size + + Left-click: Use the old size if known or the current play position as jump start position +If this is already a jump cue, swap the jump position and the cue/target position. - - Right-click: Use the current play position as loop end if it is after the cue + + Right-click: use current play position as new jump start position - + Hotcue #%1 @@ -15744,171 +16238,181 @@ This can not be undone! + Show Auto DJ + + + + + Switch to the Auto DJ view. + + + + &Full Screen 全画面表示 (&F) - + Display Mixxx using the full screen Mixxxを全画面表示にする。 - + &Options オプション(&O) - + &Vinyl Control Vinylコントロール(&V) - + Use timecoded vinyls on external turntables to control Mixxx ターンテーブルとタイムコードの記録されているレコードを使用してMixxxを操作する - + Enable Vinyl Control &%1 - + &Record Mix ミックスを録音する (&R) - + Record your mix to a file ミックスをファイルに録音する - + Ctrl+R Ctrl+R - + Enable Live &Broadcasting - + Stream your mixes to a shoutcast or icecast server shoutcastかicecastサーバーを通じてミックスをストリーミング - + Ctrl+L Ctrl+L - + Enable &Keyboard Shortcuts - + Toggles keyboard shortcuts on or off - + Ctrl+` Ctrl+ - + &Preferences 設定(&P) - + Change Mixxx settings (e.g. playback, MIDI, controls) - + &Developer - + &Reload Skin - + Reload the skin - + Ctrl+Shift+R Ctrl+Shift+R - + Developer &Tools - + Opens the developer tools dialog - + Ctrl+Shift+T Ctrl+Shift+T - + Stats: &Experiment Bucket - + Enables experiment mode. Collects stats in the EXPERIMENT tracking bucket. - + Ctrl+Shift+E Ctrl+Shift+E - + Stats: &Base Bucket - + Enables base mode. Collects stats in the BASE tracking bucket. - + Ctrl+Shift+B Ctrl+Shift+B - + Deb&ugger Enabled デバッガを有効化(&u) - + Enables the debugger during skin parsing - + Ctrl+Shift+D Ctrl+Shift+D - + &Help ヘルプ(&H) @@ -15942,62 +16446,62 @@ This can not be undone! F12 - + &Community Support コミュニティーのサポート(&C) - + Get help with Mixxx - + &User Manual ユーザーマニュアル(_U) - + Read the Mixxx user manual. Mixxxユーザーマニュアルを読む - + &Keyboard Shortcuts キーボードショートカット(&K) - + Speed up your workflow with keyboard shortcuts. - + &Settings directory - + Open the Mixxx user settings directory. - + &Translate This Application このアプリケーションを翻訳(&T) - + Help translate this application into your language. あなたの言語でこのアプリケーションを翻訳するのを手伝ってください。 - + &About このアプリケーションについて(&A) - + About the application このアプリケーションについて @@ -16005,25 +16509,25 @@ This can not be undone! WOverview - + Passthrough パススルー - + Ready to play, analyzing... Text on waveform overview when file is playable but no waveform is visible - - + + Loading track... Text on waveform overview when file is cached from source - + Finalizing... Text on waveform overview during finalizing of waveform analysis @@ -16213,625 +16717,640 @@ This can not be undone! WTrackMenu - + Load to - + Deck デッキ - + Sampler サンプラー - + Add to Playlist プレイリストに追加する - + Crates レコードボックス - + Metadata メタデータ - + Update external collections - + Cover Art カバーアート - + Adjust BPM BPMを調整 - + Select Color カラーを選択 - - + + Analyze 解析 - - + + Delete Track Files - + Add to Auto DJ Queue (bottom) オートDJの最後に追加 - + Add to Auto DJ Queue (top) オートDJの先頭に追加 - + Add to Auto DJ Queue (replace) - + Preview Deck プレビューデッキ - + Remove 削除する - + Remove from Playlist - + Remove from Crate - + Hide from Library ライブラリから隠す - + Unhide from Library - + Purge from Library ライブラリから削除 - + Move Track File(s) to Trash - + Delete Files from Disk - + Properties - + Open in File Browser - + Select in Library - + Import From File Tags - + Import From MusicBrainz - + Export To File Tags - + BPM and Beatgrid - + Play Count - + Rating 評価 - + Cue Point - - + + Hotcues ホットキュー - + Intro - + Outro - + Key キー - + ReplayGain リプレイゲイン - + Waveform 波形 - + Comment コメント - + All 全て - + Sort hotcues by position (remove offsets) - + Sort hotcues by position - + Lock BPM BPMを固定 - + Unlock BPM BPMの固定を解除 - + Double BPM 2倍 BPM - + Halve BPM 1/2 BPM - + 2/3 BPM 2/3 BPM - + 3/4 BPM 3/4 BPM - + 4/3 BPM 4/3 BPM - + 3/2 BPM 3/2 BPM - + Shift Beatgrid Half Beat - + Reanalyze - + Reanalyze (constant BPM) - + Reanalyze (variable BPM) - + Update ReplayGain from Deck Gain - + Deck %1 デッキ %1 - + Importing metadata of %n track(s) from file tags - + Marking metadata of %n track(s) to be exported into file tags - - + + Create New Playlist 新規プレイリストの作成 - + Enter name for new playlist: 新しいプレイリストの名前 - + New Playlist プレイリストの新規作成 - - - + + + Playlist Creation Failed プレイリストの作成に失敗 - + A playlist by that name already exists. 同じ名前のプレイリストが既にあります。 - + A playlist cannot have a blank name. プレイリストには名前が必要です。 - + An unknown error occurred while creating playlist: プレイリストの作成中に不明なエラーが発生しました - + Add to New Crate 新しいレコードボックスに追加 - + Scaling BPM of %n track(s) - + Undo BPM/beats change of %n track(s) - + Locking BPM of %n track(s) - + Unlocking BPM of %n track(s) - + Setting rating of %n track(s) - + Setting color of %n track(s) - + Resetting play count of %n track(s) - + Resetting beats of %n track(s) - + Clearing rating of %n track(s) - + Clearing comment of %n track(s) - + Removing main cue from %n track(s) - + Removing outro cue from %n track(s) - + Removing intro cue from %n track(s) - + Removing loop cues from %n track(s) - + Removing hot cues from %n track(s) - + Sorting hotcues of %n track(s) by position (remove offsets) - + Sorting hotcues of %n track(s) by position - + Resetting keys of %n track(s) - + Resetting replay gain of %n track(s) - + Resetting waveform of %n track(s) - + Resetting all performance metadata of %n track(s) - + Move these files to the trash bin? - + Permanently delete these files from disk? - - + + This can not be undone! - + Cancel キャンセル - + Delete Files - + Okay - + Move Track File(s) to Trash? - + Track Files Deleted - + Track Files Moved To Trash - + %1 track files were moved to trash and purged from the Mixxx database. - + %1 track files were deleted from disk and purged from the Mixxx database. - + Track File Deleted - + Track file was deleted from disk and purged from the Mixxx database. - + The following %1 file(s) could not be deleted from disk - + This track file could not be deleted from disk - + Remaining Track File(s) - + Close 閉じる - + Clear Reset metadata in right click track context menu in library - + Loops - + Clear BPM and Beatgrid - + Undo last BPM/beats change - + Move this track file to the trash bin? - + Permanently delete this track file from disk? - + All decks where these tracks are loaded will be stopped and the tracks will be ejected. - + All decks where this track is loaded will be stopped and the track will be ejected. - + Removing %n track file(s) from disk... - + Note: if you are in the Computer or Recording view you need to click the current view again to see changes. - + Track File Moved To Trash - + Track file was moved to trash and purged from the Mixxx database. - + Don't show again during this session - + The following %1 file(s) could not be moved to trash - + This track file could not be moved to trash + + + Replace current Auto DJ queue? + + + + + Do you want to replace the entire Auto DJ queue with the selected tracks? + + + + + Don't ask again during this session + + - + Setting cover art of %n track(s) - + Reloading cover art of %n track(s) @@ -16885,37 +17404,37 @@ This can not be undone! WTrackTableView - + Confirm track hide - + Are you sure you want to hide the selected tracks? - + Are you sure you want to remove the selected tracks from AutoDJ queue? - + Are you sure you want to remove the selected tracks from this crate? - + Are you sure you want to remove the selected tracks from this playlist? - + Don't ask again during this session - + Confirm track removal @@ -16923,12 +17442,12 @@ This can not be undone! WTrackTableViewHeader - + Show or hide columns. 列の表示/非表示 - + Shuffle Tracks @@ -16936,52 +17455,52 @@ This can not be undone! mixxx::CoreServices - + fonts - + database - + effects - + audio interface - + decks - + library - + Choose music library directory 音楽ライブラリのディレクトリを選択してください - + controllers - + Cannot open database データベースが開けません。 - + Unable to establish a database connection. Mixxx requires QT with SQLite support. Please read the Qt SQL driver documentation for information on how to build it. @@ -17138,6 +17657,24 @@ OKを押すと終了します。 + + mixxx::qml::QmlApplication + + + Existing user profile detected + + + + + Trying to run Mixxx 3.0 with an existing %0 user profile! <br><br>There is <b>serious risks</b> of data loss and corruption.<br>We recommend using a test profile folder with the '--settings-path' argument. <br><br>If you want to continue at your own risk, run Mixxx with the argument '--allow-dangerous-data-corruption-risk'. + + + + + Ok + + + mixxx::qml::QmlVisibleEffectsModel @@ -17146,4 +17683,27 @@ OKを押すと終了します。 エフェクトが読み込まれていません + + mixxx::qml::QmlWaveformRendererMark + + + Cannot find the marker pixmap + + + + + Cannot find the marker endPixmap + + + + + Cannot find the marker icon + + + + + Cannot find the marker endIcon + + + \ No newline at end of file diff --git a/res/translations/mixxx_ko.qm b/res/translations/mixxx_ko.qm index 3d2ccdab99a12e758f7c7b4d3f840b38ff279e44..9dd36d0ad00ce02f37287b529c1d4d9b7276e42f 100644 GIT binary patch delta 5668 zcmXY#3tUe3AIHBv=bYy}_Xo*ssVV%$y3mDCTB3%Uwk{N*i%~REx#l6Flx(uCQmIr@ z>7t}ibS0OVOD?mR+RSBan*C??Z~xEZx7VxJ>wV7YcYc@e_w&7+r?-)7YT&*Yp)>lE zh|Gz!i@`BO(c2k!bu;EhgA?&r%UIY1PQu^cpdFE|H#h|>0zV|$qXAvPW#CM(26Q7z zb^vFAN#Javl)a!k=_utP5r+qpt}z~%3kG9CY=#RXO6UR);C>SkABPDigLrw*9xxjd zs=#C560iY04qm|m*f9S+(Oxa+f}_DG5OXI4g5z{}kcW!|JlIKOuU`<8+3zAc zfD=v855!5QgS$?EIMG)II0zQrgUQ`Ji3T(>nl5B?@MS#m9b*M7sUO#v0~QeJa9BO} zDTzFE9}tCm;R0;NL+=hELn)(~2V?QCjJ01fp2g<$aXs^4 zVm&KyfKL;NsyVP997p8aPPB6}ajvuB(g(!pTw&@-F2uS0MU?gnaqc+b0b}BJ>v^5{ z7zI(WlK9dVqN$d|*Uln}v?0F!B^IzF{ysMT^;_a!-oXaOGUf*`R)T-vP#dq1pnz*8 ziX_+{BvKYIhFX*E-Gd4r_Tczv5}2}D z?MI?fHDuX=F#WQgY=+elEi5KmLKJvKlbwEC+G(=e3F^LdC;NB4jwTNa_-Md;j3#Fp z58h%dn#g#>ld+_ZvDEutK4xrqPIE$_sey|aty&o4A{mRFX&(Gf(}%yKj!u}6XIlc% zphJwK9y4ytVl4iK@vISfeSMC|=6mwWMbfcX(0u<^qMQ-`GKS{=nnAQZjy_!smu{Ly zKAL8tISGt~ACb>0Sa{P7^4WphvHb@<5&ubR$^XJFqP2dE>wIZ}@hB`1LxIXMM1z|c z&4U;xhB9U^W-MxEJi3gr)bwB0GM4!;o~@(6uyUdqTWHaa6NrXX3JcV=5v`O_SkXqL z;PDjMDBUNwwhc0aSoyb{A9XcNj^cYBY%o>T7 z8Zv&Sr28h=kV^_Z`{XFmyj*&=2_`-BkY24t+B|fY{?`BB`3?2Iip2XT>7NtsM2X=B z;%y@OAjrVlzX=BjH?Ur>r@6u8fQu00CWGn4)?%~=bzXRYGqq+kQS@toJY zlm5<3G1YhaB3gIm64C`><_TUjX~ip$_ukE}w0dBCl9(sLoVZa(J8JHy2-y@Zq7 zaNCCMCfa?KD;}N%&3JOf&B(0Ihq(&rJ=FiN>$!{nbAkGIao0=>;k&!sowc1r8;)_0 zdIVIftK8GY<(O~~uiABs=;Tn|{2=1qr<TJrR~Im z;e78d8-#B+<7bcf=Qj^PL#h0$$C%e)58o$(lU4ld_-OPQ%LP(FBc}s}LAs57MC(k1 zL3);-7v7t&m1tbKU^5qD*`FlX77T`1d<1)wCq$OKV4n`(?zk-2SB-)=!vyC54Mg;_ z;3C{a<6@pP_Nrv5VylW(x0pVa`I(*r}7@xw}&?w}(!%}5QLP;{TF#LO=kBR@t6b1ObZ#yeiMFH z8lvkRBlM4g$vuCQ(ifp<<+G*gk%M8f?NUQSB%;;-VNAX+HOfFyS@}>pdOtR7a78-S z9SzEnp^WFurS7YP(GN5;n!aQ#Uh$4PYP=_P@5F%jI;C^QHWOJ*lLqd`3D$T?gN{E# zhTAEPo%bQcW+K%kW9L>e(!En>LQMZi(+45W9do7Wzu;u&%cc1zf{+=5rDYx1$nh>| zyLu}`)+fEN7USme(o1PCh(7L-Udu(5l-NnTPqrfdy}P78_kV-|)1*)4;KW&W(qBgO z5E)lU|A?w5GCM5FGy9RCnnX>F20pwk8h;f)B!AA>S}nfc-$*3$U|bf#Sk)_94EPb^ zOb{*ZH6b&O6s>QB;l0(2A#S1*ubWF$TP@C%z_f!b#g7BdAx={nt20EOh>a+>(?$Ow zy+p0P;?3uVP))CsU6!-nN z6|U(J0guGIrgEYotHp91C7_vnE}s70i|DYk*xGiJNWGb{tysL4y$p>*u-HBE zJ$$zPDn8o>-!D2QzLpgokXR{=;L8 zT4vvBj-GFh%$YNS#Y1HtAI?ICB$@8rMR*K*&=M^32s)1)Cds^uLa?DNvH(w5X7LGG z$auJB$nUa9OC+N6_Odlj95k~>wx!n>s=p=Mk>!e(YLYA==QTuVDa+hr3k}7~a-8mB zoQJHi1smIZR94c1jc=C9%3`rj+Ay8$*eN@-%TcmA8%&&4BfIzqcCL$MOze_f8jQ|` zwlLa1WQ>@?SWqFmbYn46eG21wo$PWr=E)o+mpDKZHCA$EA~Z1IHKXZX##l$Wais>$ ztj=F<5>|mPm?iSj@o(^v=_hxr*$E$ua`)7Fq*5FCocj>X%3`_aXE3GBF~-IgJ;jnT}AQCHl=F3!%CXBpl|NgZ%0J!>Ipr*UI0fE<~enRsQy5B}8T|e|sec z3wASv*uGeiaW@jFdyXQfOMrO26o;~5nSC{i{J+pC#VHh}PCwvB5mQB( zlRZ&jnxg(X^1;-Fpbi(6a`vD#L2=q+BQn!zM(IFC+pCOCE{Yc0nfUtEDmv1wh=v|g zTz<0y>h4!uoq^(F)u-rgH9>XkQM_(}2xsq83a)vm|HGA*JK&;>0HswOx?|Y`rE6CR zz9&X0U3L14@!gw@Unf?S5#~6XI zP>iqg@O_LA&t+WulyTiNWl`ZHqN76?+kQ}G{)_-7_(2SKJkM^Mhw!ii*QrMlKHBjr7!VAK?vjC za@C55D6g4Ss+e)u$gvL9`c=4(Kdai<02A*Tqe?7$fv}2T97U>R|8hi4yQ=gJTsyN{ zRreqXAEBbERf3HS{FAZzTgDb$o$7X67IOJ*)t!+z$%uKXC&M(TZaY-JN%7r2qnYu< zBh_Cv&gk*BGJdv2J#fiNM9KGRBWW-es8J6wtj8CPw|e9vs6NnEJ+j;qdEuyf{Gw_^ z&nC51MGr(dMLjzK^WqZxQqNC@xDG#3dz-kSoW`qH z&Yp_Y8mNx2=priLtT{3Nw zx<2=-P(y%heAw-86yDEZ0bth1l_T8i!t-{EV??TI_Cw-%5>>XCzUBn`Van zX(X5zX<36!bXmQcg!zYI$#IOat2CLt`e^+}Q*4OWHbrZy9BNQ)vowvp$WtHbG-qEU z>S`BgI<}7{68kjQM}*;9^uL;J+ii&EfsEoOjLjD{5ARr^Xr^m^tosfh+2b@XPhlGq zoHTv=HzQy99o33+^nFRQR(%GRbh)Bc_x*-MsM2cn_cNw5o+#B0H-v|A`a*4mX7 zKFiQkHfqC5;ThKjjBNqh{bpN;3ZH5VJ163KlD47~3w=FMdulTBl{{a2$FKz*o{}-- lnD+Iz?-N<%YyT+n#Q|nA)((T7E)-Xf8d79Y9qb}G^nZ@!c@Y2r delta 5820 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 S80a6A{AgyM%5yUWng0iB(5Qg` diff --git a/res/translations/mixxx_ko.ts b/res/translations/mixxx_ko.ts index a9446c5e9bf7..519ddbcb9b15 100644 --- a/res/translations/mixxx_ko.ts +++ b/res/translations/mixxx_ko.ts @@ -8,6 +8,14 @@ + + AllTrackLibraryFeature + + + All... + + + AnalysisFeature @@ -19,52 +27,52 @@ AutoDJFeature - + Crates 상자 - + Enable Auto DJ - + Disable Auto DJ - + Clear Auto DJ Queue - + Remove Crate as Track Source 트랙 영역에 삭제 - + Auto DJ 자동 디제잉 - + Confirmation Clear - + Do you really want to remove all tracks from the Auto DJ queue? - + This can not be undone. - + Add Crate as Track Source 트랙 영역에 추가 @@ -222,7 +230,7 @@ - + Export Playlist 재생 목록 내보내기 @@ -276,13 +284,13 @@ - + Playlist Creation Failed 재생 목록 생성 실패 - + An unknown error occurred while creating playlist: 재생 목록을 생성하는 도중에 알 수 없는 에러가 발생했습니다: @@ -297,12 +305,12 @@ 플레이리스트 <b>%1</b>를 삭제하시겠습니까? - + M3U Playlist (*.m3u) M3U 재생 목록 (*.m3u) - + M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Text CSV (*.csv);;Readable Text (*.txt) M3U 재생 목록 (*.m3u);;M3U8 재생 목록 (*.m3u8);;PLS 재생 목록 (*.pls);;CSV 텍스트 (*.csv);;일반 텍스트 (*.txt) @@ -310,12 +318,12 @@ BaseSqlTableModel - + # # - + Timestamp 타임 스탬프 @@ -323,7 +331,7 @@ BaseTrackPlayerImpl - + Couldn't load track. 트랙을 불러올 수 없습니다. @@ -361,7 +369,7 @@ 채널 - + Color 색상 @@ -376,7 +384,7 @@ 작곡가 - + Cover Art 인장 @@ -386,7 +394,7 @@ 추가된 날짜 - + Last Played 마지막 재생 @@ -416,7 +424,7 @@ - + Location 위치 @@ -426,7 +434,7 @@ - + Preview 미리 듣기 @@ -466,7 +474,7 @@ 년도 - + Fetching image ... Tooltip text on the cover art column shown when the cover is read from disk @@ -488,22 +496,22 @@ BroadcastProfile - + Can't use secure password storage: keychain access failed. 보안 암호 저장소를 사용할 수 없음 : 키체인 액세스에 실패했습니다. - + Secure password retrieval unsuccessful: keychain access failed. 보안 암호 검색 실패 : 키체인 액세스에 실패했습니다. - + Settings error 설정 에러 - + <b>Error with settings for '%1':</b><br> <b>'%1' 에 대한 설정 오류 : </b><br> @@ -591,7 +599,7 @@ - + Computer 컴퓨터 @@ -611,17 +619,17 @@ 스캔 - + "Computer" lets you navigate, view, and load tracks from folders on your hard disk and external devices. "컴퓨터"를 사용하면 하드 디스크 및 외부 장치의 폴더에서 트랙을 탐색, 확인 및 로드할 수 있습니다. - + It shows the data from the file tags, not track data from your Mixxx library like other track views. - + If you load a track file from here, it will be added to your library. @@ -734,12 +742,12 @@ 파일 생성 완료 - + Mixxx Library Mixxx 라이브러리 - + Could not load the following file because it is in use by Mixxx or another application. Mixxx 또는 다른 프로그램에 의해 사용되고 있어서 다음 파일을 로드할 수 없었습니다. @@ -770,87 +778,92 @@ CmdlineArgs - + Mixxx is an open source DJ software. For more information, see: Mixxx는 오픈 소스 DJ 소프트웨어입니다. 자세한 내용은 다음을 참조하세요. : - + Starts Mixxx in full-screen mode 전체 화면 모드로 Mixxx 시작 - + Use a custom locale for loading translations. (e.g 'fr') 번역을 로드하려면 사용자 정의 로케일을 사용하십시오. (예 : 'fr') - + Top-level directory where Mixxx should look for its resource files such as MIDI mappings, overriding the default installation location. Mixxx가 MIDI 매핑과 같은 리소스 파일을 찾아야 하는 최상위 디렉토리의 기본 설치 위치를 재정의합니다. - + Path the debug statistics time line is written to 디버그 통계 타임라인이 기록되는 경로 - + Causes Mixxx to display/log all of the controller data it receives and script functions it loads Mixxx가 수신하는 모든 컨트롤러 데이터와 로드하는 스크립트 기능을 표시/기록하도록 합니다. - + The controller mapping will issue more aggressive warnings and errors when detecting misuse of controller APIs. New Controller Mappings should be developed with this option enabled! - + Enables developer-mode. Includes extra log info, stats on performance, and a Developer tools menu. 개발자 모드를 활성화합니다. 추가 로그 정보, 성능 통계 및 개발자 도구 메뉴가 포함됩니다. - + Top-level directory where Mixxx should look for settings. Default is: Mixxx 설정이 포함되어 있는 디렉토리입니다. 기본값은 - + Starts Auto DJ when Mixxx is launched. - + Rescans the library when Mixxx is launched. - + Use legacy vu meter - + Use legacy spinny - - Loads experimental QML GUI instead of legacy QWidget skin - 레거시 QWidget 스킨 대신, 실험용 QML GUI 로드 + + Loads the highly unstable 3.0 Mixxx interface, based on QML. You need to use a new setting profile, or run with 'allow-dangerous-data-corruption-risk' to use with the current one. We highly recommend backing up your data if you do so. + + + + + Force Mixxx to load an unstable version with an existing user profile from a stable version + - + Enables safe-mode. Disables OpenGL waveforms, and spinning vinyl widgets. Try this option if Mixxx is crashing on startup. 안전 모드를 활성화합니다. OpenGL 파형 및 회전하는 바이닐 위젯을 비활성화합니다. 시작 시 Mixxx가 충돌하는 경우 이 옵션을 시도하십시오. - + [auto|always|never] Use colors on the console output. [자동|항상|비허용] 콘솔 출력에 색상을 사용합니다. - + Sets the verbosity of command line logging. critical - Critical/Fatal only warning - Above + Warnings @@ -860,32 +873,32 @@ trace - Above + Profiling messages - + Sets the the logging level at which the log buffer is flushed to mixxx.log. <level> is one of the values defined at --log-level above. - + Sets the maximum file size of the mixxx.log file in bytes. Use -1 for unlimited. The default is 100 MB as 1e5 or 100000000. - + Breaks (SIGINT) Mixxx, if a DEBUG_ASSERT evaluates to false. Under a debugger you can continue afterwards. - + Overrides the default application GUI style. Possible values: %1 - + Load the specified music file(s) at start-up. Each file you specify will be loaded into the next virtual deck. 시작할 때 지정된 음악 파일을 로드합니다. 지정한 각 파일은 다음 버추얼 데크에 로드됩니다. - + Preview rendered controller screens in the Setting windows. @@ -978,2566 +991,2747 @@ trace - Above + Profiling messages ControlPickerMenu - + Headphone Output 헤드폰 출력 - - - + + + + Deck %1 + %1 is the deck number 1 ... 4 덱 %1 - + Sampler %1 샘플러 %1 - + Preview Deck %1 덱 %1 미리보기 - + Microphone %1 마이크 %1 - + Auxiliary %1 보조 %1 - + Reset to default 기본으로 재설정 - + Effect Rack %1 이팩트 랙 %1 - + Parameter %1 파라메터 %1 - + Mixer 믹서 - - + + Crossfader 크로스페이더 - + Headphone mix (pre/main) 헤드폰 믹스(pre/main) - + Toggle headphone split cueing 헤드폰 분할 큐 전환 - + Headphone delay 헤드폰 지연 - + Transport 트랜스포트 - + Strip-search through track 전체 트랙에 대한 조각(스트립) 검색 - + Play button 재생 버튼 - - + + Set to full volume 음량 최대로 - - + + Set to zero volume 음량 0으로 - + Stop button 정지 - + Jump to start of track and play 트랙의 처음으로 가서 재생 - + Jump to end of track 트랙의 마지막으로 가기 - + Reverse roll (Censor) button 리버스 롤(Censor) 버튼 - + Headphone listen button 헤드폰 듣기 버튼 - - + + Mute button 음소거 - + Toggle repeat mode 반복 모드 토글 - - + + Mix orientation (e.g. left, right, center) 믹스 방향 (예: 왼쪽, 오른쪽, 가운데) - - + + Set mix orientation to left 믹스 방향을 왼쪽으로 설정 - - + + Set mix orientation to center 믹스 방향을 가운데로 설정 - - + + Set mix orientation to right 믹스 방향을 오른쪽으로 설정 - + Toggle slip mode 잠자기 모드 토글 - - + + BPM 분당 박자수 - + Increase BPM by 1 분당 박자수 1 올리기 - + Decrease BPM by 1 분당 박자수 1 내리기 - + Increase BPM by 0.1 분당 박자수 0.1 올리기 - + Decrease BPM by 0.1 분당 박자수 0.1 내리기 - + BPM tap button BPM(분당 박자수) 탭 버튼 - + Toggle quantize mode 양자화(quantize) 모드 토글 - + One-time beat sync (tempo only) 1회 비트 싱크 (템포 전용) - + One-time beat sync (phase only) 1회 비트 싱크 (위상 전용) - + Toggle keylock mode 음높이 고정 모드 토글 - + Equalizers 이퀄라이저(EQ) - + Vinyl Control 바이닐(Vinyl) 컨트롤 - + Toggle vinyl-control cueing mode (OFF/ONE/HOT) 바이닐 컨트롤 큐잉 모드 토글 (끄기/1회/핫큐) - + Toggle vinyl-control mode (ABS/REL/CONST) 바이닐 컨트롤 모드 토글 (ABS/REL/CONST) - + Pass through external audio into the internal mixer 외부 오디오를 통해 내부 믹서로 전달 - + Cues - + Cue button 큐 버튼 - + Set cue point 큐 포인트 설정 - + Go to cue point 큐 포인트로 이동 - + Go to cue point and play 큐 포인트로 가서 재생 - + Go to cue point and stop 큐 포인트로 가서 정지 - + Preview from cue point 큐 포인트에서 미리보기 - + Cue button (CDJ mode) 큐 버튼 (CDJ 모드) - + Stutter cue 스터터 큐 - + Hotcues 핫큐 - + Set, preview from or jump to hotcue %1 핫큐 %1 에서 미리보기 또는 이동 설정 - + Clear hotcue %1 핫큐 %1 지우기 - + Set hotcue %1 핫큐 %1 설정 - + Jump to hotcue %1 핫큐 %1 으로 이동 - + Jump to hotcue %1 and stop 핫큐 %1 으로 이동 후 정지 - + Jump to hotcue %1 and play 핫큐 %1 으로 이동 후 재생 - + Preview from hotcue %1 핫큐 %1 했을때 미리듣기 - - + + Hotcue %1 핫큐 %1 - + Looping 반복(루핑) - + Loop In button 반복 들어가기 버튼 - + Loop Out button 반복 나오기 버튼 - + Loop Exit button 반복 나가기 버튼 - + 1/2 1/2 - + 1 1 - + 2 2 - + 4 4 - + 8 8 - + 16 16 - + 32 32 - + 64 64 - + Move loop forward by %1 beats 루프를 %1 비트 앞으로 이동 - + Move loop backward by %1 beats 루프를 %1 비트 뒤로 이동 - + Create %1-beat loop %1-박자 반복 만들기 - + Create temporary %1-beat loop roll %1-박자 반복 롤 설정 - + Library 라이브러리 - + Slot %1 슬롯 %1 - + Headphone Mix 헤드폰 믹스 - + Headphone Split Cue 헤드폰 분할 큐 - + Headphone Delay 헤드폰 딜레이 - + Play 재생 - + Fast Rewind 빠른 되감기 - + Fast Rewind button 빠른 되감기 버튼 - + Fast Forward 빨리감기 - + Fast Forward button 빨리감기 버튼 - + Strip Search 스트립 검색 - + Play Reverse 역재생 - + Play Reverse button 역재생 버튼 - + Reverse Roll (Censor) 리버스 롤 (Censor) - + Jump To Start 시작으로 건너뛰기 - + Jumps to start of track 트랙의 시작 부분으로 건너뛰기 - + Play From Start 시작에서 재생 - + Stop 정지 - + Stop And Jump To Start 정지 및 시작으로 건너뛰기 - + Stop playback and jump to start of track 재생을 정지하고 트랙의 시작 부분으로 건너뛰기 - + Jump To End 끝으로 건너뛰기 - + Volume 음량 - - - + + + Volume Fader 음량 페이더 - - + + Full Volume 최고음량 - - + + Zero Volume 무음량 - + Track Gain 트랙 게인 - + Track Gain knob 트랙 게인 노브 - - + + Mute 음소거 - + Eject 꺼내기 - - + + Headphone Listen 헤드폰으로 듣기 - + Headphone listen (pfl) button 헤드폰으로 듣기 (pfl) 버튼 - + Repeat Mode 반복연주 - + Slip Mode 슬립 모드 - - + + Orientation 크로스페이더 위치 - - + + Orient Left 크로스페이더 왼쪽으로 위치 - - + + Orient Center 크로스페이더 중앙으로 위치 - - + + Orient Right 크로스페이더 오른쪽으로 위치 - + BPM +1 분당 박자음 +1 - + BPM -1 분당 박자음 -1 - + BPM +0.1 분당 박자음 +0.1 - + BPM -0.1 분당 박자음 -0.1 - + BPM Tap BPM 눌러서 측정 - + Adjust Beatgrid Faster +.01 비트그리드를 +.01초 더 빠르게 설정 - + Increase track's average BPM by 0.01 트랙의 평균 BPM을 0.01 증가 - + Adjust Beatgrid Slower -.01 비트그리드를 -.01초 더 느리게 설정 - + Decrease track's average BPM by 0.01 트랙의 평균 BPM을 0.01 감소 - + Move Beatgrid Earlier 비트그리드를 더 빨리 움직이기 - + Adjust the beatgrid to the left - + Move Beatgrid Later - + Adjust the beatgrid to the right - + Adjust Beatgrid - + Align beatgrid to current position - + Adjust Beatgrid - Match Alignment - + Adjust beatgrid to match another playing deck. - + Quantize Mode - + Sync - + Beat Sync One-Shot - + Sync Tempo One-Shot - + Sync Phase One-Shot - + Pitch control (does not affect tempo), center is original pitch - + Pitch Adjust - + Adjust pitch from speed slider pitch - + Match musical key - + Match Key - + Reset Key 초기화 키 - + Resets key to original 원상복구 키 - + High EQ - + Mid EQ - - + + Main Output - + Main Output Balance - + Main Output Delay - + Main Output Gain - + Low EQ - + Toggle Vinyl Control - + Toggle Vinyl Control (ON/OFF) - + Vinyl Control Mode - + Vinyl Control Cueing Mode - + Vinyl Control Passthrough - + Vinyl Control Next Deck - + Single deck mode - Switch vinyl control to next deck - + Cue - + Set Cue - + Go-To Cue - + Go-To Cue And Play - + Go-To Cue And Stop - + Preview Cue - + Cue (CDJ Mode) - + Stutter Cue - + Go to cue point and play after release - + Clear Hotcue %1 핫큐 %1 지우기 - + Set Hotcue %1 핫큐 %1 설정 - + Jump To Hotcue %1 핫큐 %1 으로 이동 - + Jump To Hotcue %1 And Stop 핫큐 %1 으로 이동 후 정지 - + Jump To Hotcue %1 And Play 핫큐 %1 으로 이동 후 재생 - + Preview Hotcue %1 핫큐 %1 했을때 미리듣기 - + Loop In - + Loop Out - + Loop Exit - + Reloop/Exit Loop - + Loop Halve - + Loop Double - + 1/32 1/32 - + 1/16 1/16 - + 1/8 1/8 - + 1/4 1/4 - + Move Loop +%1 Beats - + Move Loop -%1 Beats - + Loop %1 Beats - + Loop Roll %1 Beats - + Add to Auto DJ Queue (bottom) 자동 디제잉 대기열에 넣기 (아래로) - + Append the selected track to the Auto DJ Queue - + Add to Auto DJ Queue (top) 자동 디제잉 대기열에 넣기 (위로) - + Prepend selected track to the Auto DJ Queue - + Load Track 트랙 불러오기 - + Load selected track 선택한 트랙 불러오기 - + Load selected track and play 선택한 트랙 불러오고 재생 - - + + Record Mix - + Toggle mix recording - + Effects 이펙트 - - Quick Effects - - - - + Deck %1 Quick Effect Super Knob - + + Quick Effect Super Knob (control linked effect parameters) - - + + + + Quick Effect - + Clear Unit - + Clear effect unit - + Toggle Unit - + Dry/Wet - + Adjust the balance between the original (dry) and processed (wet) signal. - + Super Knob - + Next Chain - + Assign - + Clear - + Clear the current effect - + Toggle - + Toggle the current effect - + Next - + Switch to next effect - + Previous - + Switch to the previous effect - + Next or Previous - + Switch to either next or previous effect - - + + Parameter Value - - + + Microphone Ducking Strength - + Microphone Ducking Mode - + Gain - + Gain knob 게인 노브 - + Shuffle the content of the Auto DJ queue - + Skip the next track in the Auto DJ queue - + Auto DJ Toggle - + Toggle Auto DJ On/Off - + Show/hide the microphone & auxiliary section - + 4 Effect Units Show/Hide - + Switches between showing 2 and 4 effect units - + Mixer Show/Hide - + Show or hide the mixer. - + Cover Art Show/Hide (Library) - + Show/hide cover art in the library - + Library Maximize/Restore - + Maximize the track library to take up all the available screen space. - + Effect Rack Show/Hide - + Show/hide the effect rack - + Waveform Zoom Out - + Headphone Gain 헤드폰 게인 - + Headphone gain 헤드폰 게인 - + Tap to sync tempo (and phase with quantize enabled), hold to enable permanent sync - + One-time beat sync tempo (and phase with quantize enabled) - + Playback Speed - + Playback speed control (Vinyl "Pitch" slider) - + Pitch (Musical key) - + Increase Speed - + Adjust speed faster (coarse) - + Increase Speed (Fine) - + Adjust speed faster (fine) - + Decrease Speed - + Adjust speed slower (coarse) - + Adjust speed slower (fine) - + Temporarily Increase Speed - + Temporarily increase speed (coarse) - + Temporarily Increase Speed (Fine) - + Temporarily increase speed (fine) - + Temporarily Decrease Speed - + Temporarily decrease speed (coarse) - + Temporarily Decrease Speed (Fine) - + Temporarily decrease speed (fine) - - + + Adjust %1 - + + Deck %1 Stem %2 + + + + Effect Unit %1 - + Button Parameter %1 - + Skin 스킨 - + Controller - + Crossfader / Orientation - + Main Output gain - + Main Output balance - + Main Output delay - + Headphone - - + + Kill %1 + %1 is "Low EQ" "Mid EQ" or "High EQ" - + Eject or un-eject track, i.e. reload the last-ejected track (of any deck)<br>Double-press to reload the last replaced track. In empty decks it reloads the second-last ejected track. - + BPM / Beatgrid - + Halve BPM - + Multiply current BPM by 0.5 - + 2/3 BPM - + Multiply current BPM by 0.666 - + 3/4 BPM - + Multiply current BPM by 0.75 - + 4/3 BPM - + Multiply current BPM by 1.333 - + 3/2 BPM - + Multiply current BPM by 1.5 - + Double BPM - + Multiply current BPM by 2 - + Tempo Tap - + Tempo tap button - + Move Beatgrid - + Adjust the beatgrid to the left or right - + Move Beatgrid Half a Beat - + Adjust the beatgrid by exactly one half beat. Usable only for tracks with constant tempo. - - + + Toggle the BPM/beatgrid lock - + Revert last BPM/Beatgrid Change - + Revert last BPM/Beatgrid Change of the loaded track. - + Sync / Sync Lock - + Internal Sync Leader - + Toggle Internal Sync Leader - - + + Internal Leader BPM - + Internal Leader BPM +1 - + Increase internal Leader BPM by 1 - + Internal Leader BPM -1 - + Decrease internal Leader BPM by 1 - + Internal Leader BPM +0.1 - + Increase internal Leader BPM by 0.1 - + Internal Leader BPM -0.1 - + Decrease internal Leader BPM by 0.1 - + Sync Leader - + Sync mode 3-state toggle / indicator (Off, Soft Leader, Explicit Leader) - + Speed - + Decrease Speed (Fine) - + Pitch (Musical Key) - + Increase Pitch - + Increases the pitch by one semitone - + Increase Pitch (Fine) - + Increases the pitch by 10 cents - + Decrease Pitch - + Decreases the pitch by one semitone - + Decrease Pitch (Fine) - + Decreases the pitch by 10 cents - + Keylock - + CUP (Cue + Play) - + Shift cue points earlier - + Shift cue points 10 milliseconds earlier - + Shift cue points earlier (fine) - + Shift cue points 1 millisecond earlier - + Shift cue points later - + Shift cue points 10 milliseconds later - + Shift cue points later (fine) - + Shift cue points 1 millisecond later - - + + Sort hotcues by position - - + + Sort hotcues by position (remove offsets) - + Hotcues %1-%2 - + Intro / Outro Markers - + Intro Start Marker - + Intro End Marker - + Outro Start Marker - + Outro End Marker - + intro start marker - + intro end marker - + outro start marker - + outro end marker - + Activate %1 [intro/outro marker - + Jump to or set the %1 [intro/outro marker - + Set %1 [intro/outro marker - + Set or jump to the %1 [intro/outro marker - + Clear %1 [intro/outro marker - + Clear the %1 [intro/outro marker - + if the track has no beats the unit is seconds - + Loop Selected Beats - + Create a beat loop of selected beat size - + Loop Roll Selected Beats - + Create a rolling beat loop of selected beat size - + Loop %1 Beats set from its end point - + Loop Roll %1 Beats set from its end point - + Create %1-beat loop with the current play position as loop end - + Create temporary %1-beat loop roll with the current play position as loop end - + Loop Beats - + Loop Roll Beats - + Go To Loop In - + Go to Loop In button - + Go To Loop Out - + Go to Loop Out button - + Toggle loop on/off and jump to Loop In point if loop is behind play position - + Reloop And Stop - + Enable loop, jump to Loop In point, and stop - + Halve the loop length - + Double the loop length - + Beat Jump / Loop Move - + Jump / Move Loop Forward %1 Beats - + Jump / Move Loop Backward %1 Beats - + Jump forward by %1 beats, or if a loop is enabled, move the loop forward %1 beats - + Jump backward by %1 beats, or if a loop is enabled, move the loop backward %1 beats - + Beat Jump / Loop Move Forward Selected Beats - + Jump forward by the selected number of beats, or if a loop is enabled, move the loop forward by the selected number of beats - + Beat Jump / Loop Move Backward Selected Beats - + Jump backward by the selected number of beats, or if a loop is enabled, move the loop backward by the selected number of beats - + Beat Jump - + Indicate which loop marker remain static when adjusting the size or is inherited from the current position - + Beat Jump / Loop Move Forward - + Beat Jump / Loop Move Backward - + Loop Move Forward - + Loop Move Backward - + Remove Temporary Loop - + Remove the temporary loop - + Navigation - + Move up - + Equivalent to pressing the UP key on the keyboard - + Move down - + Equivalent to pressing the DOWN key on the keyboard - + Move up/down - + Move vertically in either direction using a knob, as if pressing UP/DOWN keys - + Scroll Up - + Equivalent to pressing the PAGE UP key on the keyboard - + Scroll Down - + Equivalent to pressing the PAGE DOWN key on the keyboard - + Scroll up/down - + Scroll vertically in either direction using a knob, as if pressing PGUP/PGDOWN keys - + Move left - + Equivalent to pressing the LEFT key on the keyboard - + Move right - + Equivalent to pressing the RIGHT key on the keyboard - + Move left/right - + Move horizontally in either direction using a knob, as if pressing LEFT/RIGHT keys - + Move focus to right pane - + Equivalent to pressing the TAB key on the keyboard - + Move focus to left pane - + Equivalent to pressing the SHIFT+TAB key on the keyboard - + Move focus to right/left pane - + Move focus one pane to right or left using a knob, as if pressing TAB/SHIFT+TAB keys - + Sort focused column - + Sort the column of the cell that is currently focused, equivalent to clicking on its header - + Go to the currently selected item - + Choose the currently selected item and advance forward one pane if appropriate - + Load Track and Play - + Add to Auto DJ Queue (replace) 자동 디제잉 대기열에 넣기 (교체) - + Replace Auto DJ Queue with selected tracks - + Select next search history - + Selects the next search history entry - + Select previous search history - + Selects the previous search history entry - + Move selected search entry - + Moves the selected search history item into given direction and steps - + Clear search - + Clears the search query - - + + Select Next Color Available - + Select the next color in the color palette for the first selected track - - + + Select Previous Color Available - + Select the previous color in the color palette for the first selected track - + + Quick Effects Deck %1 + + + + Deck %1 Quick Effect Enable Button - + + Quick Effect Enable Button - + + Deck %1 Stem %2 Quick Effect Super Knob + + + + + Deck %1 Stem %2 Quick Effect Enable Button + + + + Enable or disable effect processing - + Super Knob (control effects' Meta Knobs) - + Mix Mode Toggle - + Toggle effect unit between D/W and D+W modes - + Next chain preset - + Previous Chain - + Previous chain preset - + Next/Previous Chain - + Next or previous chain preset - - + + Show Effect Parameters - + Effect Unit Assignment - + Meta Knob - + Effect Meta Knob (control linked effect parameters) - + Meta Knob Mode - + Set how linked effect parameters change when turning the Meta Knob. - + Meta Knob Mode Invert - + Invert how linked effect parameters change when turning the Meta Knob. - - + + Button Parameter Value - + Microphone / Auxiliary - + Microphone On/Off - + Microphone on/off 마이크 켜기/끄기 - + Toggle microphone ducking mode (OFF, AUTO, MANUAL) - + Auxiliary On/Off - - Auxiliary on/off + + Auxiliary on/off + + + + + Auto DJ + 자동 디제잉 + + + + Auto DJ Shuffle + + + + + Auto DJ Skip Next + + + + + Auto DJ Add Random Track + + + + + Add a random track to the Auto DJ queue + + + + + Auto DJ Fade To Next + + + + + Trigger the transition to the next track + 다음 노래로의 전환 발동 + + + + User Interface + 유저 인터페이스 + + + + Samplers Show/Hide + + + + + Show/hide the sampler section + 샘플러 부분 보이기/가리기 + + + + Microphone && Auxiliary Show/Hide + keep double & to prevent creation of keyboard accelerator + + + + + Waveform Zoom Reset To Default + + + + + Reset the waveform zoom level to the default value selected in Preferences -> Waveforms + + + + + Select the next color in the color palette for the loaded track. + + + + + Select previous color in the color palette for the loaded track. + + + + + Navigate Through Track Colors + + + + + Select either next or previous color in the palette for the loaded track. + + + + + Start/Stop Live Broadcasting + + + + + Stream your mix over the Internet. + + + + + Start/stop recording your mix. + + + + + + Deck %1 Stems + + + + + + Samplers + + + + + Vinyl Control Show/Hide + + + + + Show/hide the vinyl control section + 바이닐 컨트롤 부분 보이기/가리기 + + + + Preview Deck Show/Hide + + + + + Show/hide the preview deck + 덱 미리보기 보기/가기리 + + + + Toggle 4 Decks + + + + + Switches between showing 2 decks and 4 decks. + + + + + Cover Art Show/Hide (Decks) + + + + + Show/hide cover art in the main decks + + + + + Vinyl Spinner Show/Hide - - Auto DJ - 자동 디제잉 + + Show/hide spinning vinyl widget + 회전하는 바이닐 위젯 보이기/가리기 - - Auto DJ Shuffle + + Vinyl Spinners Show/Hide (All Decks) - - Auto DJ Skip Next + + Show/Hide all spinnies - - Auto DJ Add Random Track + + Toggle Waveforms - - Add a random track to the Auto DJ queue + + Show/hide the scrolling waveforms. - - Auto DJ Fade To Next + + Waveform zoom - - Trigger the transition to the next track - 다음 노래로의 전환 발동 - - - - User Interface - 유저 인터페이스 + + Waveform Zoom + - - Samplers Show/Hide + + Zoom waveform in - - Show/hide the sampler section - 샘플러 부분 보이기/가리기 + + Waveform Zoom In + - - Microphone && Auxiliary Show/Hide - keep double & to prevent creation of keyboard accelerator + + Zoom waveform out - - Waveform Zoom Reset To Default + + Star Rating Up - - Reset the waveform zoom level to the default value selected in Preferences -> Waveforms + + Increase the track rating by one star - - Select the next color in the color palette for the loaded track. + + Star Rating Down - - Select previous color in the color palette for the loaded track. + + Decrease the track rating by one star + + + Controller - - Navigate Through Track Colors + + Unknown + + + ControllerHidReportTabsManager - - Select either next or previous color in the palette for the loaded track. + + Read - - Start/Stop Live Broadcasting + + Send - - Stream your mix over the Internet. + + Payload Size - - Start/stop recording your mix. + + bytes - - - Samplers + + Byte Position - - Vinyl Control Show/Hide + + Bit Position - - Show/hide the vinyl control section - 바이닐 컨트롤 부분 보이기/가리기 + + Bit Size + - - Preview Deck Show/Hide + + Logical Min - - Show/hide the preview deck - 덱 미리보기 보기/가기리 + + Logical Max + - - Toggle 4 Decks + + Value - - Switches between showing 2 decks and 4 decks. + + Physical Min - - Cover Art Show/Hide (Decks) + + Physical Max - - Show/hide cover art in the main decks + + Unit Scaling - - Vinyl Spinner Show/Hide + + Unit - - Show/hide spinning vinyl widget - 회전하는 바이닐 위젯 보이기/가리기 + + Abs/Rel + - - Vinyl Spinners Show/Hide (All Decks) + + + Wrap - - Show/Hide all spinnies + + + Linear - - Toggle Waveforms + + + Preferred - - Show/hide the scrolling waveforms. + + + Null - - Waveform zoom + + + Volatile - - Waveform Zoom + + Usage Page - - Zoom waveform in + + Usage - - Waveform Zoom In + + Relative - - Zoom waveform out + + Absolute - - Star Rating Up + + No Wrap - - Increase the track rating by one star + + Non Linear - - Star Rating Down + + No Preferred - - Decrease the track rating by one star + + No Null - - - Controller - - Unknown + + Non Volatile @@ -3676,27 +3870,27 @@ trace - Above + Profiling messages ControllerScriptEngineLegacy - + Controller Mapping File Problem - + The mapping for controller "%1" cannot be opened. - + The functionality provided by this controller mapping will be disabled until the issue has been resolved. - + File: - + Error: @@ -3729,7 +3923,7 @@ trace - Above + Profiling messages - + Lock 잠그기 @@ -3759,7 +3953,7 @@ trace - Above + Profiling messages - + Enter new name for crate: @@ -3776,22 +3970,22 @@ trace - Above + Profiling messages 상자 가져오기 - + Export Crate 상자 내보내기 - + Unlock 잠금 해제 - + An unknown error occurred while creating crate: 상자를 만드는 도중 예상치 못한 에러가 발생했습니다: - + Rename Crate 상자 이름 변경 @@ -3801,28 +3995,28 @@ trace - Above + Profiling messages - + Confirm Deletion 삭제 확인하기 - - + + Renaming Crate Failed 상자 이름 변경 실패 - + Crate Creation Failed - + M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Text CSV (*.csv);;Readable Text (*.txt) M3U 재생 목록 (*.m3u);;M3U8 재생 목록 (*.m3u8);;PLS 재생 목록 (*.pls);;CSV 텍스트 (*.csv);;일반 텍스트 (*.txt) - + M3U Playlist (*.m3u) M3U 재생 목록 (*.m3u) @@ -3843,17 +4037,17 @@ trace - Above + Profiling messages 상자는 당신이 원하는 대로 음악을 구성해줍니다! - + Do you really want to delete crate <b>%1</b>? - + A crate cannot have a blank name. 빈 상자를 만들 수 없습니다 - + A crate by that name already exists. 같은 이름의 상자가 이미 존재합니다 @@ -3948,12 +4142,12 @@ trace - Above + Profiling messages - + Official Website - + Donate @@ -4739,122 +4933,139 @@ You tried to learn: %1,%2 DlgPrefBroadcast - + Icecast 2 Icecast 2 - + Shoutcast 1 - + Icecast 1 Icecast 1 - + MP3 MP3 - + Ogg Vorbis Ogg Vorbis - + Opus - + AAC - + HE-AAC - + HE-AACv2 - + Automatic - + Mono - + Stereo 스테레오 - - - - + + Saving settings failed + + + + + The password for '%1' contains invalid characters. Please enter it again. + +Note: This can for example be invisible linebreaks when using copy/paste. + + + + + + Action failed 작업 실패 - + You can't create more than %1 source connections. - + Source connection %1 - + + Settings for %1 + Settings for broadcast profile, %1 is the profile name placeholder + + + + At least one source connection is required. - + Are you sure you want to disconnect every active source connection? - - + + Confirmation required - + '%1' has the same Icecast mountpoint as '%2'. Two source connections to the same server that have the same mountpoint can not be enabled simultaneously. - + Are you sure you want to delete '%1'? - + Renaming '%1' - + New name for '%1': - + Can't rename '%1' to '%2': name already in use @@ -4867,27 +5078,27 @@ Two source connections to the same server that have the same mountpoint can not - + Mixxx Icecast Testing Mixxx Icecast 테스트 - + Public stream 공개 방송 - + http://www.mixxx.org http://www.mixxx.org - + Stream name 방송 이름 - + Due to flaws in some streaming clients, updating Ogg Vorbis metadata dynamically can cause listener glitches and disconnections. Check this box to update the metadata anyway. 몇몇 스트리밍 클라이언트의 결함으로 인해, Ogg Vorbis 메타데이터 동적 업데이트가 청취자에게 튐이나 연결해제 같은 안 좋은 영향을 미칠 수 있습니다. 무시하고 동적으로 메타데이터를 업데이트 하시려면 이 상자를 체크하십시오. @@ -4927,67 +5138,72 @@ Two source connections to the same server that have the same mountpoint can not - + + Available fields: $artist, $title, $year, $album, $genre, $bpm + + + + Dynamically update Ogg Vorbis metadata. Ogg Vorbis 메타데이터를 동적으로 업데이트. - + ICQ - + AIM - + Website 웹사이트 - + Live mix 라이브 믹싱 - + IRC - + Select a source connection above to edit its settings here - + Password storage - + Plain text - + Secure storage (OS keychain) - + Genre 장르 - + Use UTF-8 encoding for metadata. 메타데이터에 UTF-8 인코딩을 사용하십시오. - + Description 설명 @@ -5013,42 +5229,42 @@ Two source connections to the same server that have the same mountpoint can not 채널 - + Server connection 서버 연결 - + Type 유형 - + Host 호스트 - + Login 로그인 이름 - + Mount 마운트 - + Port 포트 - + Password 암호 - + Stream info @@ -5058,17 +5274,17 @@ Two source connections to the same server that have the same mountpoint can not - + Use static artist and title. - + Static title - + Static artist @@ -5127,13 +5343,14 @@ Two source connections to the same server that have the same mountpoint can not DlgPrefColors - - + + + By hotcue number - + Color 색상 @@ -5178,17 +5395,22 @@ Two source connections to the same server that have the same mountpoint can not + Jump default color + + + + When key colors are enabled, Mixxx will display a color hint associated with each key. - + Enable Key Colors - + Key palette @@ -5196,114 +5418,114 @@ associated with each key. DlgPrefController - + Apply device settings? 장치 설정을 적용하시겠습니까? - + Your settings must be applied before starting the learning wizard. Apply settings and continue? 학습 마법사를 시작하기 전에 설정이 적용되어야 합니다. 설정을 적용하고 계속하시겠습니까? - + None 없음 - + %1 by %2 %1 / %2 - + Mapping has been edited - + Always overwrite during this session - + Save As - + Overwrite - + Save user mapping - + Enter the name for saving the mapping to the user folder. - + Saving mapping failed - + A mapping cannot have a blank name and may not contain special characters. - + A mapping file with that name already exists. - + Do you want to save the changes? - + Troubleshooting - + <font color='#BB0000'><b>If you use this mapping your controller may not work correctly. Please select another mapping or disable the controller.</b></font><br><br>This mapping was designed for a newer Mixxx Controller Engine and cannot be used on your current Mixxx installation.<br>Your Mixxx installation has Controller Engine version %1. This mapping requires a Controller Engine version >= %2.<br><br>For more information visit the wiki page on <a href='https://mixxx.org/wiki/doku.php/controller_engine_versions'>Controller Engine Versions</a>. - + Mapping already exists. - + <b>%1</b> already exists in user mapping folder.<br>Overwrite or save with a new name? - + Clear Input Mappings - + Are you sure you want to clear all input mappings? - + Clear Output Mappings - + Are you sure you want to clear all output mappings? @@ -5321,100 +5543,105 @@ Apply settings and continue? 활성화됨 - + + Refresh mapping list + + + + Device Info - + Physical Interface: - + Vendor name: - + Product name: - + Vendor ID - + VID: - + Product ID - + PID: - + Serial number: - + USB interface number: - + HID Usage-Page: - + HID Usage: - + Description: 설명: - + Support: 지원: - + Screens preview - + Input Mappings - - + + Search 검색 - - + + Add 추가 - - + + Remove 지우기 @@ -5434,17 +5661,17 @@ Apply settings and continue? - + Mapping Info - + Author: 저자: - + Name: 이름: @@ -5454,28 +5681,28 @@ Apply settings and continue? 학습 마법사 (MIDI 전용) - + Data protocol: - + Mapping Files: - + Mapping Settings - - + + Clear All 모두 삭제 - + Output Mappings 출력 맵핑 @@ -5490,21 +5717,21 @@ Apply settings and continue? - Mixxx uses "mappings" to connect messages from your controller to controls in Mixxx. If you do not see a mapping for your controller in the "Load Mapping" menu when you click on your controller on the left sidebar, you may be able to download one online from the %1. Place the XML (.xml) and Javascript (.js) file(s) in the "User Mapping Folder" then restart Mixxx. If you download a mapping in a ZIP file, extract the XML and Javascript file(s) from the ZIP file to your "User Mapping Folder" then restart Mixxx. + Mixxx uses "mappings" to connect messages from your controller to controls in Mixxx. If you do not see a mapping for your controller in the "Load Mapping" menu when you click on your controller on the left sidebar, you may be able to download one online from the %1. Place the XML (.xml) and Javascript (.js) file(s) in the "User Mapping Folder" then click the Reload button next to the mapping selector to reload all available mappings. If you download a mapping in a ZIP file, extract the XML and Javascript file(s) from the ZIP file to your "User Mapping Folder" then click the Reload button. - + Mixxx DJ Hardware Guide - + MIDI Mapping File Format - + MIDI Scripting with Javascript @@ -5673,137 +5900,137 @@ Apply settings and continue? DlgPrefDeck - + Mixxx mode - + Mixxx mode (no blinking) - + Pioneer mode - + Denon mode - + Numark mode - + CUP mode - + mm:ss%1zz - Traditional - + mm:ss - Traditional (Coarse) - + s%1zz - Seconds - + sss%1zz - Seconds (Long) - + s%1sss%2zz - Kiloseconds - + Intro start - + Main cue - + First hotcue - + First sound (skip silence) - + Beginning of track - + Reject - + Allow, but stop deck - + Allow, play from load point - + 4% 4% - + 6% (semitone) 6% - + 8% (Technics SL-1210) 8% (Technics SL-1210) - + 10% 10% - + 16% 16% - + 24% 24% - + 50% 50% - + 90% 90% @@ -6240,57 +6467,57 @@ You can always drag-and-drop tracks on screen to clone a deck. - + Allow screensaver to run - + Prevent screensaver from running - + Prevent screensaver while playing - + Disabled - + 2x MSAA - + 4x MSAA - + 8x MSAA - + 16x MSAA - + This skin does not support color schemes - + Information 정보 - + Mixxx must be restarted before the new locale, scaling or multi-sampling settings will take effect. @@ -6517,67 +6744,97 @@ and allows you to pitch adjust them for harmonic mixing. - + Music Directory Added 음악 디렉토리에 추가됨 - + You added one or more music directories. The tracks in these directories won't be available until you rescan your library. Would you like to rescan now? 하나 이상의 음악 디렉토리를 추가했습니다. 이 디렉토리의 트랙은 라이브러리를 다시 스캔할 때까지 사용할 수 없습니다. 지금 다시 스캔하시겠습니까? - + Scan 스캔 - + Item is not a directory or directory is missing - + Choose a music directory - + Confirm Directory Removal - + Mixxx will no longer watch this directory for new tracks. What would you like to do with the tracks from this directory and subdirectories?<ul><li>Hide all tracks from this directory and subdirectories.</li><li>Delete all metadata for these tracks from Mixxx permanently.</li><li>Leave the tracks unchanged in your library.</li></ul>Hiding tracks saves their metadata in case you re-add them in the future. - + Metadata means all track details (artist, title, playcount, etc.) as well as beatgrids, hotcues, and loops. This choice only affects the Mixxx library. No files on disk will be changed or deleted. - + Hide Tracks - + Delete Track Metadata - + Leave Tracks Unchanged - + Relink music directory to new location - + + Black + + + + + ExtraBold + + + + + Bold + + + + + SemiBold + + + + + Medium + + + + + Light + + + + Select Library Font @@ -6626,262 +6883,267 @@ and allows you to pitch adjust them for harmonic mixing. - + Audio File Formats 오디오 파일 포맷 - + Track Table View - + Track Double-Click Action: - + BPM display precision: - + Session History - + Track duplicate distance - + When playing a track again log it to the session history only if more than N other tracks have been played in the meantime - + History playlist with less than N tracks will be deleted<br/><br/>Note: the cleanup will be performed during startup and shutdown of Mixxx. - + Delete history playlist with less than N tracks - + Library Font: - + + Show scan summary dialog + + + + Grey out played tracks - + Track Search - + Enable search completions - + Enable search history keyboard shortcuts - + Percentage of pitch slider range for 'fuzzy' BPM search: - + This range will be used for the 'fuzzy' BPM search (~bpm:) via the search box, as well as for BPM search in Track context menu > Search related Tracks - + Preferred Cover Art Fetcher Resolution - + Fetch cover art from coverartarchive.com by using Import Metadata From Musicbrainz. - + Note: ">1200 px" can fetch up to very large cover arts. - + >1200 px (if available) - + 1200 px (if available) - + 500 px - + 250 px - + Settings Directory - + The Mixxx settings directory contains the library database, various configuration files, log files, track analysis data, as well as custom controller mappings. - + Edit those files only if you know what you are doing and only while Mixxx is not running. - + Open Mixxx Settings Folder - + Library Row Height: - + Use relative paths for playlist export if possible 가능하다면 재생목록 보내기에 상대경로 사용 - + ... - + px - + Synchronize library track metadata from/to file tags - + Automatically write modified track metadata from the library into file tags and reimport metadata from updated file tags into the library - + Synchronize Serato track metadata from/to file tags (experimental) - + Keeps track color, beat grid, bpm lock, cue points, and loops synchronized with SERATO_MARKERS/MARKERS2 file tags.<br/><br/>WARNING: Enabling this option also enables the reimport of Serato metadata after files have been modified outside of Mixxx. On reimport existing metadata in Mixxx is replaced with the metadata found in file tags. Custom metadata not included in file tags like loop colors is lost. - + Edit metadata after clicking selected track - + Search-as-you-type timeout: - + ms - + Load track to next available deck - + External Libraries - + You will need to restart Mixxx for these settings to take effect. - + Show Rhythmbox Library 리듬박스 라이브러리 보이기 - + Track Metadata Synchronization / Playlists - + Add track to Auto DJ queue (bottom) - + Add track to Auto DJ queue (top) - + Ignore - + Show Banshee Library - + Show iTunes Library iTunes 라이브러리 보이기 - + Show Traktor Library Traktor 라이브러리 보이기 - + Show Rekordbox Library - + Show Serato Library - + All external libraries shown are write protected. @@ -7226,33 +7488,33 @@ and allows you to pitch adjust them for harmonic mixing. DlgPrefRecord - + Choose recordings directory 녹음 디렉토리 선택 - - + + Recordings directory invalid - + Recordings directory must be set to an existing directory. - + Recordings directory must be set to a directory. - + Recordings directory not writable - + You do not have write access to %1. Choose a recordings directory you have write access to. @@ -7270,43 +7532,55 @@ and allows you to pitch adjust them for harmonic mixing. 탐색... - - + + This will include the filepath for each track in the CUE file. +This option makes the CUE file less portable and can reveal personal +information from filepaths (i.e. username) + + + + + Enable File Annotation in CUE file + + + + + Quality 품질 - + Tags 태그 - + Title 제목 - + Author 저작자 - + Album 앨범 - + Output File Format - + Compression - + Lossy @@ -7321,12 +7595,12 @@ and allows you to pitch adjust them for harmonic mixing. - + Compression Level - + Lossless @@ -7457,172 +7731,177 @@ The loudness target is approximate and assumes track pregain and main output lev DlgPrefSound - + %1 Hz %1 Hz - + Default (long delay) - + Experimental (no delay) - + Disabled (short delay) - + Soundcard Clock - + Network Clock - + Direct monitor (recording and broadcasting only) - + Disabled - + Enabled 활성화됨 - + Stereo 스테레오 - + Mono - + To enable Realtime scheduling (currently disabled), see the %1. - + The %1 lists sound cards and controllers you may want to consider for using Mixxx. - + Mixxx DJ Hardware Guide - + + Find details in the Mixxx user manual + + + + Information - + Mixxx must be restarted before the multi-threaded RubberBand setting change will take effect. - + auto (<= 1024 frames/period) - + 2048 frames/period - + 4096 frames/period - + Are you sure? - + Distribute stereo channels into mono channels for parallel processing will result in a loss of mono compatibility and a diffuse stereo image. It is not recommended during broadcasting or recording. - + Are you sure you wish to proceed? - + No - + Yes, I know what I am doing - + Microphone inputs are out of time in the record & broadcast signal compared to what you hear. - + Measure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. - + Refer to the Mixxx User Manual for details. - + Configured latency has changed. - + Remeasure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. - + Realtime scheduling is enabled. - + Main output only - + Main and booth outputs - + %1 ms - + Configuration error @@ -7689,17 +7968,22 @@ The loudness target is approximate and assumes track pregain and main output lev - + + Deck and Bus outputs are for external mixers. They are post-fader and include effects and crossfader (for Auto DJ). For external mixing, make sure all Mixxx faders and EQ knobs are set to their default position (right- or double-click). + + + + 20 ms - + Buffer Underflow Count - + 0 @@ -7724,12 +8008,12 @@ The loudness target is approximate and assumes track pregain and main output lev 입력 - + System Reported Latency - + Enlarge your audio buffer if the underflow counter is increasing or you hear pops during playback. @@ -7759,7 +8043,7 @@ The loudness target is approximate and assumes track pregain and main output lev - + Downsize your audio buffer to improve Mixxx's responsiveness. @@ -7806,7 +8090,7 @@ The loudness target is approximate and assumes track pregain and main output lev 바이닐 환경설정 - + Show Signal Quality in Skin 신호 품질을 스킨에 표시 @@ -7842,46 +8126,51 @@ The loudness target is approximate and assumes track pregain and main output lev + Pitch estimator + + + + Deck 1 - + Deck 2 - + Deck 3 - + Deck 4 - + Signal Quality 신호 품질 - + http://www.xwax.co.uk http://www.xwax.co.uk - + Powered by xwax xwax 제공 - + Hints - + Select sound devices for Vinyl Control in the Sound Hardware pane. @@ -7889,58 +8178,58 @@ The loudness target is approximate and assumes track pregain and main output lev DlgPrefWaveform - + Filtered - + HSV - + RGB - + Top - + Center - + Bottom - + 1/3 of waveform viewer options for "Text height limit" - + Entire waveform viewer - + OpenGL not available OpenGL 사용 불가능 - + dropped frames - + Cached waveforms occupy %1 MiB on disk. @@ -7958,22 +8247,17 @@ The loudness target is approximate and assumes track pregain and main output lev 화면 속도(Frame rate) - + OpenGL Status - + Displays which OpenGL version is supported by the current platform. 현재 플랫폼에서 어느 버젼의 OpenGL이 지원되는지 표시 - - Normalize waveform overview - - - - + Average frame rate @@ -7989,7 +8273,7 @@ The loudness target is approximate and assumes track pregain and main output lev - + Displays the actual frame rate. 실제 화면 속도(Frame rate) 표시 @@ -8024,7 +8308,7 @@ The loudness target is approximate and assumes track pregain and main output lev 낮음 - + Show minute markers on waveform overview @@ -8069,7 +8353,7 @@ The loudness target is approximate and assumes track pregain and main output lev 전역 시각적 게인 - + The waveform overview shows the waveform envelope of the entire track. Select from different types of displays for the waveform overview, which differ primarily in the level of detail shown in the waveform. @@ -8136,22 +8420,22 @@ Select from different types of displays for the waveform, which differ primarily - + Caching - + Mixxx caches the waveforms of your tracks on disk the first time you load a track. This reduces CPU usage when you are playing live but requires extra disk space. - + Enable waveform caching - + Generate waveforms when analyzing library @@ -8167,7 +8451,7 @@ Select from different types of displays for the waveform, which differ primarily - + Type @@ -8187,22 +8471,68 @@ Select from different types of displays for the waveform, which differ primarily % - - Play marker position + + Play marker position + + + + + Moves the play marker position on the waveforms to the left, right or center (default). + + + + + Stem + + + + + Channel opacity + + + + + Channel opacity (outline) + + + + + Main stem opacity + + + + + Outline stem opacity + + + + + Move channel to foreground when volume is adjusted + + + + + Overview Waveforms - - Moves the play marker position on the waveforms to the left, right or center (default). + + Gain - - Overview Waveforms + + Normalize to peak + + + + + Use Waveform "Global" gain and ReplayGain (if enabled) + 'Global' refers to the 'Global' visual gain in the scrolling waveform settings - + Clear Cached Waveforms @@ -8691,7 +9021,7 @@ This can not be undone! 분당 박자수: - + Location: @@ -8706,27 +9036,27 @@ This can not be undone! - + BPM 분당 박자수 - + Sets the BPM to 75% of the current value. - + 3/4 BPM 3/4 BPM - + Sets the BPM to 50% of the current value. - + Displays the BPM of the selected track. @@ -8781,49 +9111,49 @@ This can not be undone! 장르 - + ReplayGain: - + Sets the BPM to 200% of the current value. - + Double BPM - + Halve BPM - + Clear BPM and Beatgrid - + Move to the previous item. "Previous" button - + &Previous - + Move to the next item. "Next" button - + &Next @@ -8848,12 +9178,12 @@ This can not be undone! 색상 - + Date added: - + Open in File Browser 파일 탐색기에서 열기 @@ -8863,102 +9193,107 @@ This can not be undone! - + + Filesize: + + + + Track BPM: - + Converts beats detected by the analyzer into a fixed-tempo beatgrid. Use this setting if your tracks have a constant tempo (e.g. most electronic music). Often results in higher quality beatgrids, but will not do well on tracks that have tempo shifts. - + Assume constant tempo - + Sets the BPM to 66% of the current value. - + 2/3 BPM - + Sets the BPM to 150% of the current value. - + 3/2 BPM - + Sets the BPM to 133% of the current value. - + 4/3 BPM - + Tap with the beat to set the BPM to the speed you are tapping. - + Tap to Beat - + Hint: Use the Library Analyze view to run BPM detection. - + Save changes and close the window. "OK" button - + &OK - + Discard changes and close the window. "Cancel" button - + Save changes and keep the window open. "Apply" button - + &Apply - + &Cancel - + (no color) @@ -9115,7 +9450,7 @@ Often results in higher quality beatgrids, but will not do well on tracks that h - + (no color) @@ -9317,27 +9652,27 @@ Often results in higher quality beatgrids, but will not do well on tracks that h EngineBuffer - + Soundtouch (faster) - + Rubberband (better) - + Rubberband R3 (near-hi-fi quality) - + Unknown, using Rubberband (better) - + Unknown, using Soundtouch @@ -9552,15 +9887,15 @@ Often results in higher quality beatgrids, but will not do well on tracks that h LegacySkinParser - - + + Safe Mode Enabled Shown when Mixxx is running in safe mode. - - + + No OpenGL support. Shown when Spinny can not be displayed. Please keep @@ -9571,57 +9906,57 @@ Shown when VuMeter can not be displayed. Please keep - + activate - + toggle - + right - + left - + right small - + left small - + up - + down - + up small - + down small - + Shortcut 단축키 @@ -9629,62 +9964,62 @@ Shown when VuMeter can not be displayed. Please keep Library - + This or a parent directory is already in your library. - + This or a listed directory does not exist or is inaccessible. Aborting the operation to avoid library inconsistencies - - + + This directory can not be read. - + An unknown error occurred. Aborting the operation to avoid library inconsistencies - + Can't add Directory to Library - + Could not add <b>%1</b> to your library. %2 - + Can't remove Directory from Library - + An unknown error occurred. - + This directory does not exist or is inaccessible. - + Relink Directory - + Could not relink <b>%1</b> to <b>%2</b>. %3 @@ -9846,12 +10181,12 @@ Do you really want to overwrite it? 숨은 트랙 - + Export to Engine DJ - + Tracks @@ -9859,37 +10194,37 @@ Do you really want to overwrite it? MixxxMainWindow - + Sound Device Busy - + <b>Retry</b> after closing the other application or reconnecting a sound device - - - + + + <b>Reconfigure</b> Mixxx's sound device settings. - - + + Get <b>Help</b> from the Mixxx Wiki. - - - + + + <b>Exit</b> Mixxx. - + Retry @@ -9899,209 +10234,209 @@ Do you really want to overwrite it? - + Allow Mixxx to hide the menu bar? - + Hide Always show the menu bar? - + Always show - + The Mixxx menu bar is hidden and can be toggled with a single press of the <b>Alt</b> key.<br><br>Click <b>%1</b> to agree.<br><br>Click <b>%2</b> to disable that, for example if you don't use Mixxx with a keyboard.<br><br>You can change this setting any time in Preferences -> Interface.<br> Keep formatting tags <b> (bold text) and <br> (linebreak). %1 is the placeholder for the 'Always show' button label - + Ask me again - - + + Reconfigure - + Help - - + + Exit - - + + Mixxx was unable to open all the configured sound devices. - + Sound Device Error - + <b>Retry</b> after fixing an issue - + No Output Devices - + Mixxx was configured without any output sound devices. Audio processing will be disabled without a configured output device. - + <b>Continue</b> without any outputs. - + Continue - + Load track to Deck %1 - + Deck %1 is currently playing a track. - + Are you sure you want to load a new track? - + There is no input device selected for this vinyl control. Please select an input device in the sound hardware preferences first. - + There is no input device selected for this passthrough control. Please select an input device in the sound hardware preferences first. - + There is no input device selected for this microphone. Do you want to select an input device? - + There is no input device selected for this auxiliary. Do you want to select an input device? - + Scan took %1 - + No changes detected. - - + + %1 tracks in total - + %1 new tracks found - + %1 moved tracks detected - + %1 tracks are missing (%2 total) - + %1 tracks have been rediscovered - + Library scan finished - + Error in skin file - + The selected skin cannot be loaded. - + OpenGL Direct Rendering - + Direct rendering is not enabled on your machine.<br><br>This means that the waveform displays will be very<br><b>slow and may tax your CPU heavily</b>. Either update your<br>configuration to enable direct rendering, or disable<br>the waveform displays in the Mixxx preferences by selecting<br>"Empty" as the waveform display in the 'Interface' section. - - - + + + Confirm Exit - + A deck is currently playing. Exit Mixxx? - + A sampler is currently playing. Exit Mixxx? - + The preferences window is still open. - + Discard any changes and exit Mixxx? @@ -10117,13 +10452,13 @@ Do you want to select an input device? PlaylistFeature - + Lock 잠그기 - - + + Playlists @@ -10133,58 +10468,63 @@ Do you want to select an input device? - + + Adopt current order + + + + Unlock all playlists - + Delete all unlocked playlists - + Unlock 잠금 해제 - - + + Confirm Deletion - + Do you really want to delete all unlocked playlists? - + Deleting %1 unlocked playlists.<br>This operation can not be undone! - + Playlists are ordered lists of tracks that allow you to plan your DJ sets. - + It may be necessary to skip some tracks in your prepared playlist or add some different tracks in order to maintain the energy of your audience. - + Some DJs construct playlists before they perform live, but others prefer to build them on-the-fly. - + When using a playlist during a live DJ set, remember to always pay close attention to how your audience reacts to the music you've chosen to play. - + Create New Playlist 새 재생 목록 만들기 @@ -10283,58 +10623,58 @@ Do you want to select an input device? QMessageBox - + Upgrading Mixxx - + Mixxx now supports displaying cover art. Do you want to scan your library for cover files now? - + Scan 스캔 - + Later - + Upgrading Mixxx from v1.9.x/1.10.x. - + Mixxx has a new and improved beat detector. - + When you load tracks, Mixxx can re-analyze them and generate new, more accurate beatgrids. This will make automatic beatsync and looping more reliable. - + This does not affect saved cues, hotcues, playlists, or crates. - + If you do not want Mixxx to re-analyze your tracks, choose "Keep Current Beatgrids". You can change this setting at any time from the "Beat Detection" section of the Preferences. - + Keep Current Beatgrids - + Generate New Beatgrids @@ -10448,69 +10788,82 @@ Do you want to scan your library for cover files now? - + Main + Audio path indetifier - + Booth + Audio path indetifier - + Headphones + Audio path indetifier - + Left Bus + Audio path indetifier - + Center Bus + Audio path indetifier - + Right Bus + Audio path indetifier - + Invalid Bus + Audio path indetifier - + Deck + Audio path indetifier - + Record/Broadcast + Audio path indetifier - + Vinyl Control + Audio path indetifier 바이닐(Vinyl) 컨트롤 - + Microphone + Audio path indetifier 마이크 - + Auxiliary + Audio path indetifier - + Unknown path type %1 + Audio path @@ -10839,47 +11192,49 @@ With width at zero, this allows for manually sweeping over the entire delay rang - + Metronome - + + The Mixxx Team - + Adds a metronome click sound to the stream - + BPM 분당 박자수 - + Set the beats per minute value of the click sound - + Sync - + Synchronizes the BPM with the track if it can be retrieved - + + Gain - + Set the gain of metronome click sound @@ -11663,14 +12018,14 @@ Fully right: end of the effect period - - + + encoder failure - - + + Failed to apply the selected settings. @@ -11876,15 +12231,86 @@ and the processed output signal as close as possible in perceived loudness + + Auto Gain Control + + + + + AGC + + + + + Auto Gain Control (AGC) automatically adjusts the gain of an audio signal to maintain a consistent output level. + + + + Threshold (dBFS) + Threshold + + + The Threshold knob adjusts the level above which the effect starts enhancing the input signal + + + + + Target (dBFS) + + + + + Target + + + + + The Target knob adjusts the desired target level of the output signal + + + + + Gain (dB) + + + + + The Gain knob adjusts the maximum amount of gain that the effect will apply + + + + + Knee (dB) + + + + + The Knee knob defines the range around the Threshold where gain changes are applied gradually, +ensuring smooth transitions and avoiding abrupt level shifts. + + + + + The Attack knob sets the time that determines how fast the auto gain +will set in once the signal exceeds the threshold + + + + + The Release knob sets the time that determines how fast the auto gain will recover from the gain +adjustment once the signal falls under the threshold. Depending on the input signal, short release times +may introduce a 'pumping' effect and/or distortion. + + The Threshold knob adjusts the level above which the compressor starts attenuating the input signal @@ -11913,6 +12339,7 @@ At a ratio of 1:1 no compression is happening, as the input is exactly the outpu + Knee @@ -11923,11 +12350,13 @@ At a ratio of 1:1 no compression is happening, as the input is exactly the outpu + Attack (ms) + Attack @@ -11939,11 +12368,13 @@ will set in once the signal exceeds the threshold + Release (ms) + Release @@ -11972,12 +12403,12 @@ may introduce a 'pumping' effect and/or distortion. - + built-in - + missing @@ -12012,42 +12443,42 @@ may introduce a 'pumping' effect and/or distortion. - + Empty - + Simple - + Filtered - + HSV - + VSyncTest - + RGB - + Stacked - + Unknown @@ -12308,193 +12739,193 @@ may introduce a 'pumping' effect and/or distortion. ShoutConnection - - + + Mixxx encountered a problem - + Could not allocate shout_t - + Could not allocate shout_metadata_t - + Error setting non-blocking mode: - + Error setting tls mode: - + Error setting hostname! - + Error setting port! - + Error setting password! - + Error setting mount! - + Error setting username! - + Error setting stream name! - + Error setting stream description! - + Error setting stream genre! - + Error setting stream url! - + Error setting stream IRC! - + Error setting stream AIM! - + Error setting stream ICQ! - + Error setting stream public! - + Unknown stream encoding format! - + Use a libshout version with %1 enabled - + Error setting stream encoding format! - + Broadcasting at 96 kHz with Ogg Vorbis is not currently supported. Please try a different sample rate or switch to a different encoding. - + See https://github.com/mixxxdj/mixxx/issues/5701 for more information. - + Unsupported sample rate - + Error setting bitrate - + Error: unknown server protocol! - + Error: Shoutcast only supports MP3 and AAC encoders - + Error setting protocol! - + Network cache overflow - + Connection error - + One of the Live Broadcasting connections raised this error:<br><b>Error with connection '%1':</b><br> - + Connection message - + <b>Message from Live Broadcasting connection '%1':</b><br> - + Lost connection to streaming server and %1 attempts to reconnect have failed. - + Lost connection to streaming server. - + Please check your connection to the Internet. - + Can't connect to streaming server - + Please check your connection to the Internet and verify that your username and password are correct. @@ -12502,7 +12933,7 @@ may introduce a 'pumping' effect and/or distortion. SoftwareWaveformWidget - + Filtered @@ -12510,23 +12941,23 @@ may introduce a 'pumping' effect and/or distortion. SoundManager - - + + a device 장치 - + An unknown error occurred 알려지지 않은 에러 발생 - + Two outputs cannot share channels on "%1" - + Error opening "%1" @@ -12711,7 +13142,7 @@ may introduce a 'pumping' effect and/or distortion. - + Spinning Vinyl @@ -12893,7 +13324,7 @@ may introduce a 'pumping' effect and/or distortion. - + Cover Art 인장 @@ -13083,243 +13514,243 @@ may introduce a 'pumping' effect and/or distortion. - + Displays the tempo of the loaded track in BPM (beats per minute). - + Tempo - + Key The musical key of a track - + BPM Tap BPM 눌러서 측정 - + When tapped repeatedly, adjusts the BPM to match the tapped BPM. - + Adjust BPM Down - + When tapped, adjusts the average BPM down by a small amount. - + Adjust BPM Up - + When tapped, adjusts the average BPM up by a small amount. - + Adjust Beats Earlier - + When tapped, moves the beatgrid left by a small amount. - + Adjust Beats Later - + When tapped, moves the beatgrid right by a small amount. - + Tempo and BPM Tap - + Show/hide the spinning vinyl section. - + Keylock - + Toggling keylock during playback may result in a momentary audio glitch. - + Toggle visibility of Loop Controls - + Toggle visibility of Beatjump Controls - + Toggle visibility of Rate Control - + Toggle visibility of Key Controls - + (while previewing) - + Places a cue point at the current position on the waveform. - + Stops track at cue point, OR go to cue point and play after release (CUP mode). - + Set cue point (Pioneer/Mixxx/Numark mode), set cue point and play after release (CUP mode) OR preview from it (Denon mode). - + Is latching the playing state. - + Seeks the track to the cue point and stops. - + Play 재생 - + Plays track from the cue point. - + Sends the selected channel's audio to the headphone output, selected in Preferences -> Sound Hardware. - + (This skin should be updated to use Sync Lock!) - + Enable Sync Lock - + Tap to sync the tempo to other playing tracks or the sync leader. - + Enable Sync Leader - + When enabled, this device will serve as the sync leader for all other decks. - + This is relevant when a dynamic tempo track is loaded to a sync leader deck.In that case, other synced devices will adopt the changing tempo. - + Changes the track playback speed (affects both the tempo and the pitch). If keylock is enabled, only the tempo is affected. - + Tempo Range Display - + Displays the current range of the tempo slider. - + Un-ejects when no track is loaded, i.e. reloads the track that was ejected last (of any deck). - + Delete selected hotcue. - + Track Comment - + Displays the comment tag of the loaded track. - + Opens separate artwork viewer. - + Effect Chain Preset Settings - + Show the effect chain settings menu for this unit. - + Select and configure a hardware device for this input - + Recording Duration @@ -13542,947 +13973,982 @@ may introduce a 'pumping' effect and/or distortion. - + When tapped repeatedly, adjusts the tempo to match the tapped BPM. + + + Click to open the tempo/BPM editor + + + + + It also shows a colored bar if Key colors are enabled in the Preferences. + + + The bar will be split vertically if the track's key is in between full keys. + + + + Tempo Tap - + Rate Tap and BPM Tap - + + Set Tempo + + + + + Set the desired tempo in BPM. If the track currently has no BPM detected, set the desired tempo in percent. + + + + Adjust beatgrid by exactly one half beat. Usable only on tracks with constant tempo. - + Revert last BPM/Beatgrid Change - + Revert last BPM/Beatgrid Change of the loaded track. - - + + Toggle the BPM/beatgrid lock - + Tempo and Rate Tap - + Tempo, Rate Tap and BPM Tap - + Shift cues earlier - - + + Shift cues imported from Serato or Rekordbox if they are slightly off time. - + Left click: shift 10 milliseconds earlier - + Right click: shift 1 millisecond earlier - + Shift cues later - + Left click: shift 10 milliseconds later - + Right click: shift 1 millisecond later - - - + + + Drag a Hotcue button here to continue playing after releasing the Hotcue. - + Hint: Change the default cue mode in Preferences -> Decks. - + Mutes the selected channel's audio in the main output. - + Main mix enable - + Hold or short click for latching to mix this input into the main output. - + + Reloads the last replaced track. If no track is loaded reloads the second-last ejected track. + + + + If hotcue is a loop cue, toggles the loop and jumps to if the loop is behind the play position. - + If the play position is inside an active loop, stores the loop as loop cue. - + Drag this button onto another Hotcue button to move it there (change its index). If the other hotcue is set, the two are swapped. - + Expand/Collapse Samplers - + Toggle expanded samplers view. - + Displays the duration of the running recording. - + Auto DJ is active - + Red for when needle skip has been detected. - + Hot Cue - Track will seek to nearest previous hotcue point. - + Sets the track Loop-In Marker to the current play position. - + Press and hold to move Loop-In Marker. - + Jump to Loop-In Marker. - + Sets the track Loop-Out Marker to the current play position. - + Press and hold to move Loop-Out Marker. - + Jump to Loop-Out Marker. - + If the track has no beats the unit is seconds. - + Beatloop Size - + Select the size of the loop in beats to set with the Beatloop button. - + Changing this resizes the loop if the loop already matches this size. - + Halve the size of an existing beatloop, or halve the size of the next beatloop set with the Beatloop button. - + Double the size of an existing beatloop, or double the size of the next beatloop set with the Beatloop button. - + Start a loop over the set number of beats. - + Temporarily enable a rolling loop over the set number of beats. - + Beatloop Anchor - + Define whether the loop is created and adjusted from its staring point or ending point. - + Beatjump/Loop Move Size - + Select the number of beats to jump or move the loop with the Beatjump Forward/Backward buttons. - + Beatjump Forward - + Jump forward by the set number of beats. - + Move the loop forward by the set number of beats. - + Jump forward by 1 beat. - + Move the loop forward by 1 beat. - + Beatjump Backward - + Jump backward by the set number of beats. - + Move the loop backward by the set number of beats. - + Jump backward by 1 beat. - + Move the loop backward by 1 beat. - + Reloop - + If the loop is ahead of the current position, looping will start when the loop is reached. - + Works only if Loop-In and Loop-Out Marker are set. - + Enable loop, jump to Loop-In Marker, and stop playback. - + Displays the elapsed and/or remaining time of the track loaded. - + Click to toggle between time elapsed/remaining time/both. - + Hint: Change the time format in Preferences -> Decks. - + Show/hide intro & outro markers and associated buttons. - + + Ensure all waveforms to have the same height across all channels. By default, when displaying the stem controls, waveform for channel that have no stem may render with a shorter height in order to honor the waveform container size you have requested.. + + + + Intro Start Marker - - - - + + + + If marker is set, jumps to the marker. - - - - + + + + If marker is not set, sets the marker to the current play position. - - - - + + + + If marker is set, clears the marker. - + Intro End Marker - + Outro Start Marker - + Outro End Marker - + Mix - + Adjust the mixing of the dry (input) signal with the wet (output) signal of the effect unit - + D/W mode: Crossfade between dry and wet - + D+W mode: Add wet to dry - + Mix Mode - + Adjust how the dry (input) signal is mixed with the wet (output) signal of the effect unit - + Dry/Wet mode (crossed lines): Mix knob crossfades between dry and wet Use this to change the sound of the track with EQ and filter effects. - + Dry+Wet mode (flat dry line): Mix knob adds wet to dry Use this to change only the effected (wet) signal with EQ and filter effects. - + Route the main mix through this effect unit. - + Route the left crossfader bus through this effect unit. - + Route the right crossfader bus through this effect unit. - + Right side active: parameter moves with right half of Meta Knob turn - + Stem Label - + Name of the stem stored in the stem file - + Text is displayed in the stem color stored in the stem file - + this stem color is also used for the waveform of this stem - + Stem Mute - + Toggle the stem mute/unmuted - + Stem Volume Knob - + Adjusts the volume of the stem - + Skin Settings Menu - + Show/hide skin settings menu - + Save Sampler Bank - + Save the collection of samples loaded in the samplers. - + Load Sampler Bank - + Load a previously saved collection of samples into the samplers. - + Show Effect Parameters - + Enable Effect - + Meta Knob Link - + Set how this parameter is linked to the effect's Meta Knob. - + Meta Knob Link Inversion - + Inverts the direction this parameter moves when turning the effect's Meta Knob. - + Super Knob - + Next Chain - + Previous Chain - + Next/Previous Chain - + Clear - + Clear the current effect. - + Toggle - + Toggle the current effect. - + Next - + Clear Unit - + Clear effect unit. - + Show/hide parameters for effects in this unit. - + Toggle Unit - + Enable or disable this whole effect unit. - + Controls the Meta Knob of all effects in this unit together. - + Load next effect chain preset into this effect unit. - + Load previous effect chain preset into this effect unit. - + Load next or previous effect chain preset into this effect unit. - - - - - - - - - + + + + + + + + + Assign Effect Unit - + Assign this effect unit to the channel output. - + Route the headphone channel through this effect unit. - + Route this deck through the indicated effect unit. - + Route this sampler through the indicated effect unit. - + Route this microphone through the indicated effect unit. - + Route this auxiliary input through the indicated effect unit. - + The effect unit must also be assigned to a deck or other sound source to hear the effect. - + Switch to the next effect. - + Previous - + Switch to the previous effect. - + Next or Previous - + Switch to either the next or previous effect. - + Meta Knob - + Controls linked parameters of this effect - + Effect Focus Button - + Focuses this effect. - + Unfocuses this effect. - + Refer to the web page on the Mixxx wiki for your controller for more information. - + Effect Parameter - + Adjusts a parameter of the effect. - + Inactive: parameter not linked - + Active: parameter moves with Meta Knob - + Left side active: parameter moves with left half of Meta Knob turn - + Left and right side active: parameter moves across range with half of Meta Knob turn and back with the other half - - + + Equalizer Parameter Kill - - + + Holds the gain of the EQ to zero while active. - + Quick Effect Super Knob - + Quick Effect Super Knob (control linked effect parameters). - + Hint: Change the default Quick Effect mode in Preferences -> Equalizers. - + Equalizer Parameter - + Adjusts the gain of the EQ filter. - + Hint: Change the default EQ mode in Preferences -> Equalizers. - - + + Adjust Beatgrid - + Adjust beatgrid so the closest beat is aligned with the current play position. - - + + Adjust beatgrid to match another playing deck. - + If quantize is enabled, snaps to the nearest beat. - + Quantize - + Toggles quantization. - + Loops and cues snap to the nearest beat when quantization is enabled. - + Reverse - + Reverses track playback during regular playback. - + Puts a track into reverse while being held (Censor). - + Playback continues where the track would have been if it had not been temporarily reversed. - - - + + + Play/Pause - + Jumps to the beginning of the track. - + Syncs the tempo (BPM) and phase to that of the other track, if BPM is detected on both. - + Syncs the tempo (BPM) to that of the other track, if BPM is detected on both. - + Sync and Reset Key - + Increases the pitch by one semitone. - + Decreases the pitch by one semitone. - + Enable Vinyl Control - + When disabled, the track is controlled by Mixxx playback controls. - + When enabled, the track responds to external vinyl control. - + Enable Passthrough - + Indicates that the audio buffer is too small to do all audio processing. - + Displays cover artwork of the loaded track. - + Displays options for editing cover artwork. - + Star Rating 별점 - + Assign ratings to individual tracks by clicking the stars. @@ -14617,33 +15083,33 @@ Use this to change only the effected (wet) signal with EQ and filter effects. - + Prevents the pitch from changing when the rate changes. - + Changes the number of hotcue buttons displayed in the deck - + Starts playing from the beginning of the track. - + Jumps to the beginning of the track and stops. - - + + Plays or pauses the track. - + (while playing) @@ -14663,215 +15129,215 @@ Use this to change only the effected (wet) signal with EQ and filter effects. - + (while stopped) - + Cue - + Headphone - + Mute 음소거 - + Old Synchronize - + Syncs to the first deck (in numerical order) that is playing a track and has a BPM. - + If no deck is playing, syncs to the first deck that has a BPM. - + Decks can't sync to samplers and samplers can only sync to decks. - + Hold for at least a second to enable sync lock for this deck. - + Decks with sync locked will all play at the same tempo, and decks that also have quantize enabled will always have their beats lined up. - + Resets the key to the original track key. - + Speed Control - - - + + + Changes the track pitch independent of the tempo. - + Increases the pitch by 10 cents. - + Decreases the pitch by 10 cents. - + Pitch Adjust - + Adjust the pitch in addition to the speed slider pitch. - + Opens a menu to clear hotcues or edit their labels and colors. - + Drag this button onto a Play button while previewing to continue playback after release. - + Dragging with Shift key pressed will not start previewing the hotcue. - + Record Mix - + Toggle mix recording. - + Enable Live Broadcasting - + Stream your mix over the Internet. - + Provides visual feedback for Live Broadcasting status: - + disabled, connecting, connected, failure. - + When enabled, the deck directly plays the audio arriving on the vinyl input. - + Playback will resume where the track would have been if it had not entered the loop. - + Loop Exit - + Turns the current loop off. - + Slip Mode 슬립 모드 - + When active, the playback continues muted in the background during a loop, reverse, scratch etc. - + Once disabled, the audible playback will resume where the track would have been. - + Track Key The musical key of a track - + Displays the musical key of the loaded track. - + Clock - + Displays the current time. - + Audio Latency Usage Meter - + Displays the fraction of latency used for audio processing. - + A high value indicates that audible glitches are likely. - + Do not enable keylock, effects or additional decks in this situation. - + Audio Latency Overload Indicator @@ -14911,259 +15377,259 @@ Use this to change only the effected (wet) signal with EQ and filter effects. - + Displays the current musical key of the loaded track after pitch shifting. - + Fast Rewind 빠른 되감기 - + Fast rewind through the track. - + Fast Forward 빨리감기 - + Fast forward through the track. - + Jumps to the end of the track. - + Sets the pitch to a key that allows a harmonic transition from the other track. Requires a detected key on both involved decks. - - - + + + Pitch Control - + Pitch Rate - + Displays the current playback rate of the track. - + Repeat - + When active the track will repeat if you go past the end or reverse before the start. - + Eject 꺼내다 - + Ejects track from the player. - + Hotcue - + If hotcue is set, jumps to the hotcue. - + If hotcue is not set, sets the hotcue to the current play position. - + Vinyl Control Mode - + Absolute mode - track position equals needle position and speed. - + Relative mode - track speed equals needle speed regardless of needle position. - + Constant mode - track speed equals last known-steady speed regardless of needle input. - + Vinyl Status - + Provides visual feedback for vinyl control status: - + Green for control enabled. - + Blinking yellow for when the needle reaches the end of the record. - + Loop-In Marker - + Loop-Out Marker - + Loop Halve - + Halves the current loop's length by moving the end marker. - + Deck immediately loops if past the new endpoint. - + Loop Double - + Doubles the current loop's length by moving the end marker. - + Beatloop - + Toggles the current loop on or off. - + Works only if Loop-In and Loop-Out marker are set. - + Vinyl Cueing Mode - + Determines how cue points are treated in vinyl control Relative mode: - + Off - Cue points ignored. - + One Cue - If needle is dropped after the cue point, track will seek to that cue point. - + Track Time - + Track Duration - + Displays the duration of the loaded track. - + Information is loaded from the track's metadata tags. - + Track Artist - + Displays the artist of the loaded track. - + Track Title - + Displays the title of the loaded track. - + Track Album 앨범 - + Displays the album name of the loaded track. 불려온 트랙의 앨범 이름을 보여줍니다. - + Track Artist/Title 트랙 작가/이름 - + Displays the artist and title of the loaded track. 불려온 트랙의 작가와 곡이름을 보여줍니다. @@ -15391,47 +15857,75 @@ This can not be undone! WCueMenuPopup - + Cue number - + Cue position - + Edit cue label - + Label... - + Delete this cue - - Toggle this cue type between normal cue and saved loop + + Turn this cue into a regular hotcue + + + + + Turn this cue into a saved loop + + + + + Left-click: Use the old size if known or the current beatloop size as the loop size + + + + + Right-click: Use the current play position as new loop end if it is after the cue + + + + + Turn this cue into a saved forward jump. + + is a linebreak. Try to not to extend the translation beyond the length of the longest source line so the tooltip remains compact. + + + + + Turn this cue into a saved backward jump (one shot loop). - - Left-click: Use the old size or the current beatloop size as the loop size + + Left-click: Use the old size if known or the current play position as jump start position +If this is already a jump cue, swap the jump position and the cue/target position. - - Right-click: Use the current play position as loop end if it is after the cue + + Right-click: use current play position as new jump start position - + Hotcue #%1 @@ -15733,171 +16227,181 @@ This can not be undone! - &Full Screen + Show Auto DJ + Switch to the Auto DJ view. + + + + + &Full Screen + + + + Display Mixxx using the full screen - + &Options - + &Vinyl Control - + Use timecoded vinyls on external turntables to control Mixxx - + Enable Vinyl Control &%1 - + &Record Mix - + Record your mix to a file - + Ctrl+R - + Enable Live &Broadcasting - + Stream your mixes to a shoutcast or icecast server - + Ctrl+L - + Enable &Keyboard Shortcuts - + Toggles keyboard shortcuts on or off - + Ctrl+` - + &Preferences - + Change Mixxx settings (e.g. playback, MIDI, controls) - + &Developer - + &Reload Skin - + Reload the skin - + Ctrl+Shift+R - + Developer &Tools - + Opens the developer tools dialog - + Ctrl+Shift+T - + Stats: &Experiment Bucket - + Enables experiment mode. Collects stats in the EXPERIMENT tracking bucket. - + Ctrl+Shift+E - + Stats: &Base Bucket - + Enables base mode. Collects stats in the BASE tracking bucket. - + Ctrl+Shift+B - + Deb&ugger Enabled - + Enables the debugger during skin parsing - + Ctrl+Shift+D - + &Help @@ -15931,62 +16435,62 @@ This can not be undone! - + &Community Support - + Get help with Mixxx - + &User Manual &사용설명서 - + Read the Mixxx user manual. Mixxx의 사용설명서를 읽어주세요. - + &Keyboard Shortcuts &단축키 - + Speed up your workflow with keyboard shortcuts. 단축키를 이용하여 작업속도를 높이세요. - + &Settings directory - + Open the Mixxx user settings directory. - + &Translate This Application &프로그램 번역 - + Help translate this application into your language. 자국어로 번역하는 일을 도와주세요. - + &About - + About the application 이 프로그램에 대해 @@ -15994,25 +16498,25 @@ This can not be undone! WOverview - + Passthrough - + Ready to play, analyzing... Text on waveform overview when file is playable but no waveform is visible - - + + Loading track... Text on waveform overview when file is cached from source - + Finalizing... Text on waveform overview during finalizing of waveform analysis @@ -16202,625 +16706,640 @@ This can not be undone! WTrackMenu - + Load to - + Deck - + Sampler - + Add to Playlist 재생목록에 추가 - + Crates 상자 - + Metadata - + Update external collections - + Cover Art 인장 - + Adjust BPM - + Select Color - - + + Analyze 분석 - - + + Delete Track Files - + Add to Auto DJ Queue (bottom) 자동 디제잉 대기열에 넣기 (아래로) - + Add to Auto DJ Queue (top) 자동 디제잉 대기열에 넣기 (위로) - + Add to Auto DJ Queue (replace) 자동 디제잉 대기열에 넣기 (교체) - + Preview Deck - + Remove 지우기 - + Remove from Playlist - + Remove from Crate - + Hide from Library 라이브러리에서 숨기기 - + Unhide from Library 라이브러리에서 숨김해제 - + Purge from Library - + Move Track File(s) to Trash - + Delete Files from Disk - + Properties - + Open in File Browser 파일 탐색기에서 열기 - + Select in Library - + Import From File Tags - + Import From MusicBrainz - + Export To File Tags - + BPM and Beatgrid - + Play Count 재생 횟수 - + Rating 별점 - + Cue Point 큐포인트 - - + + Hotcues 핫큐 - + Intro - + Outro - + Key - + ReplayGain 리플레이 게인 - + Waveform 웨이브폼 - + Comment 덛붙임 - + All 전체 - + Sort hotcues by position (remove offsets) - + Sort hotcues by position - + Lock BPM - + Unlock BPM - + Double BPM - + Halve BPM - + 2/3 BPM - + 3/4 BPM 3/4 BPM - + 4/3 BPM - + 3/2 BPM - + Shift Beatgrid Half Beat - + Reanalyze - + Reanalyze (constant BPM) - + Reanalyze (variable BPM) - + Update ReplayGain from Deck Gain - + Deck %1 덱 %1 - + Importing metadata of %n track(s) from file tags - + Marking metadata of %n track(s) to be exported into file tags - - + + Create New Playlist 새 재생 목록 만들기 - + Enter name for new playlist: 새 재생 목록의 이름을 입력하세요: - + New Playlist 새 재생 목록 - - - + + + Playlist Creation Failed 재생 목록 생성 실패 - + A playlist by that name already exists. 해당 재생 목록 이름은 이미 존재합니다. - + A playlist cannot have a blank name. 재생 목록은 공백을 이름으로 가질 수 없습니다. - + An unknown error occurred while creating playlist: 재생 목록을 생성하는 도중에 알 수 없는 에러가 발생했습니다: - + Add to New Crate - + Scaling BPM of %n track(s) - + Undo BPM/beats change of %n track(s) - + Locking BPM of %n track(s) - + Unlocking BPM of %n track(s) - + Setting rating of %n track(s) - + Setting color of %n track(s) - + Resetting play count of %n track(s) - + Resetting beats of %n track(s) - + Clearing rating of %n track(s) - + Clearing comment of %n track(s) - + Removing main cue from %n track(s) - + Removing outro cue from %n track(s) - + Removing intro cue from %n track(s) - + Removing loop cues from %n track(s) - + Removing hot cues from %n track(s) - + Sorting hotcues of %n track(s) by position (remove offsets) - + Sorting hotcues of %n track(s) by position - + Resetting keys of %n track(s) - + Resetting replay gain of %n track(s) - + Resetting waveform of %n track(s) - + Resetting all performance metadata of %n track(s) - + Move these files to the trash bin? - + Permanently delete these files from disk? - - + + This can not be undone! - + Cancel - + Delete Files - + Okay - + Move Track File(s) to Trash? - + Track Files Deleted - + Track Files Moved To Trash - + %1 track files were moved to trash and purged from the Mixxx database. - + %1 track files were deleted from disk and purged from the Mixxx database. - + Track File Deleted - + Track file was deleted from disk and purged from the Mixxx database. - + The following %1 file(s) could not be deleted from disk - + This track file could not be deleted from disk - + Remaining Track File(s) - + Close - + Clear Reset metadata in right click track context menu in library - + Loops - + Clear BPM and Beatgrid - + Undo last BPM/beats change - + Move this track file to the trash bin? - + Permanently delete this track file from disk? - + All decks where these tracks are loaded will be stopped and the tracks will be ejected. - + All decks where this track is loaded will be stopped and the track will be ejected. - + Removing %n track file(s) from disk... - + Note: if you are in the Computer or Recording view you need to click the current view again to see changes. - + Track File Moved To Trash - + Track file was moved to trash and purged from the Mixxx database. - + Don't show again during this session - + The following %1 file(s) could not be moved to trash - + This track file could not be moved to trash + + + Replace current Auto DJ queue? + + + + + Do you want to replace the entire Auto DJ queue with the selected tracks? + + + + + Don't ask again during this session + + - + Setting cover art of %n track(s) - + Reloading cover art of %n track(s) @@ -16874,37 +17393,37 @@ This can not be undone! WTrackTableView - + Confirm track hide - + Are you sure you want to hide the selected tracks? - + Are you sure you want to remove the selected tracks from AutoDJ queue? - + Are you sure you want to remove the selected tracks from this crate? - + Are you sure you want to remove the selected tracks from this playlist? - + Don't ask again during this session - + Confirm track removal @@ -16912,12 +17431,12 @@ This can not be undone! WTrackTableViewHeader - + Show or hide columns. - + Shuffle Tracks @@ -16925,52 +17444,52 @@ This can not be undone! mixxx::CoreServices - + fonts - + database - + effects - + audio interface - + decks - + library - + Choose music library directory 음악 라이브러리 디렉토리를 선택하세요 - + controllers - + Cannot open database 자료모음을 열 수 없음 - + Unable to establish a database connection. Mixxx requires QT with SQLite support. Please read the Qt SQL driver documentation for information on how to build it. @@ -17124,6 +17643,24 @@ Click OK to exit. + + mixxx::qml::QmlApplication + + + Existing user profile detected + + + + + Trying to run Mixxx 3.0 with an existing %0 user profile! <br><br>There is <b>serious risks</b> of data loss and corruption.<br>We recommend using a test profile folder with the '--settings-path' argument. <br><br>If you want to continue at your own risk, run Mixxx with the argument '--allow-dangerous-data-corruption-risk'. + + + + + Ok + + + mixxx::qml::QmlVisibleEffectsModel @@ -17132,4 +17669,27 @@ Click OK to exit. + + mixxx::qml::QmlWaveformRendererMark + + + Cannot find the marker pixmap + + + + + Cannot find the marker endPixmap + + + + + Cannot find the marker icon + + + + + Cannot find the marker endIcon + + + \ No newline at end of file diff --git a/res/translations/mixxx_lt.qm b/res/translations/mixxx_lt.qm index 823a322aeaefb89f39124584d05baf480e02eb74..3f4be9f8155b7dc65bee317398999bd6a6fba1db 100644 GIT binary patch delta 2198 zcmXZdc~BEq90%}kj@{hBink&j0~kaE1qB5PiV!)XB6tv_!GM4y914g|HI5xCTE=U& zq7H3salERd;)&Lx1+`k8iU%szIwM|HTU%*uz34Cg%s-#(&fB-|{f@WGm&^B8%2)T6 zEnd^d&$SJRPX-(=w)kJN7O-ZrHXAVMN1$s1Yoc-P>sd6$ZBZ~=@{*nR4KTS9aMJbU zw?N@QD9f}!&Lt>!{Qw001LdJ{!1Njj+V22YKs|)e&46JzYuV2hTxFe=5X_-~*LimE zHa2%5TbKYLX)6%!!xqheuyGME;5wVBXB~+UcF|^HjzDP00lJ@frwfB)_=a^5o7>11 zE`jiB2@Py#2bZ$h$Jks8J7*D8vzvio?NC)*0fyH=wV9$fB?`L4RG{;7)@LSbZ)bD7 z-710NX;P!i&ou*P69vTnJ)8ZQ%?p3;OE&)qTigT5O-m^;F|0{s)1R`lhO;FluzXI* z3s`}PQyYPq9`9X(RO2Zi>^D|!50@Nr@8I>Y>U@CgMeM9AY~CR@zl@zdnw>L3IxhE? zS*2TYZ`W#EA8-OliNLMC^C=R~@i=7%Fe*zna#$%4sbsS}WKLx}(8Hfi?BFU;36(p8Tb}(z+7p_JsAXU@JQ0n}TIPQnh@4>kTTM5_YELk^JO=|A07! z{B*;5D#$p6{{vc3NP;3ToKpFrSrJ=vfNWKa`;}@S`n4jVipIrcC@k(5TI`C2w)4P< z^@?+EqA7JM<-pApv*_8%Vr?K0rIXqeey&*M^1ZcG(uHhZ8Ji#a-WP0fopNI#%|1U` zxqStdzD&j@=CRHcwmeO_zc`BusJHU0oL1+xLfQ6d5Rh zyDB8!amULpq+RR}1Q!T1Y$3FbzXV%+67}sF)?UIob!^ekf~}5PW9mM^aoAl7W?{}M zdSSO

    i)x+-)aYu}Y|lYXUlju@jrwj6v^o!M1^KRGby6+`ZYUf}NyeGxCM%U4>Me zFIZC@>-a_3`58r`ZzrM2-Sa65*5ScA8-#0N7C?+)=NuKTMbP}_9>Rm3Njwc=?51!_#5q!+zq+oS+-XwP0M)6J7q1Cna! zWvU%*5SyGOm5P3@B-NIadw`y$s>Y@(fJYuX?~>|vaBpB_mFn>-T3B4G>i4iVdXr4; zJLDp@z#?^M<3P&&PIZ)`E44_f+8i?u^kdVeuw^^c=FBs|*h}j4WZGzarP}WQ1<z{u=yTBZW7ZVK&dOy=_GxOS(we6{*VJd<1=5-|jpz0OqeV^2rp~m6W>tUJ0?otJ z*OamJ_qJTsr&bv;G}yZYSMgPZOOut?Yy(-B0z;DSbt(U8cKtn$n-@t9vp% z5b(XMk6+tPEgi>N@3UD~^(j+UQX?d@Y2IvZhd$Hx2Nl;qBmc=9D`ji^TzmA5a+;>x zOMl&q>ay=D{mY;zIw5@6lorDWALUb&^9)`Y6z$k1gV&xR^l{!~@Xx5Ds2?W%3F|3KcO?`Nu^`Dz&6m?rEsx`*g+)wD^ znq#zjU!?~|8m+r&VS~CE_l-C}&Cx1_XnlK?b{Ov+X{G+D^BB67k`P+$5o8LdcD*K* cY6Dft&uFdl7fV|f2iCP{{Uhrpn!_Xh2WLNB2mk;8 delta 2214 zcmXZd2~ZPf6bJBsHoKc-lYkYETIEuX22ntz1q%u)gflAQ1&APLAe;ii^hn3iib}m! zE66ZYD~$E56)Vc9gBGnvwY56cR!5yyi*4zNwTIRA#b;)Ae!H8U-EZIff8QQ#6jrYm zHjLCXZX6Zpd9uoZ8z)rst~-+?)eKsg=H zc|ul0tW|(QABcNC20|Y~JRAos?1!Wr2b{s(kiuI5^F(&0hIRO{W!E4jgae)z*s(j= zqEFfK7Dy=_K%_rgu@_Ry8^Gx6Y<4E=*am4&4lqpzsiy!Ke&VT4jE&_JnakK>54QX= zq({r?!Uycw8n!@Ti`v-gi_n#P0Ze!RUHw&HVjFa=*}%NFVN6a31`n|QOW6GBY(cq8 z5vbg$_G$v1dy!zFg5 z2D9e(0!y-=c^T<$r+|nbSRt=bbqL;JcadrIr(s-Vi^i~a>6yK3$r`qLrFu;8*6dbq z3f|7!xIX#>khT^#y&9+z1Nbp*7ceakEd z+zkl1FRXk*El>SfXv|y(4C`lu>e&XHuq{jjr1S{~Z+u13sbWiJMhGVl{SCyY31@n? zP$0KxgZgMdlajRKBdL{Bw`ym!9Rgy4v~jm71F^~4q$av9c8}KPdZ6u~c4^=a8fd!q z^_&a9OIx((AIDG&b>f&-s$I-cu~HciOvzAhY6G3BxcWdlP;i_r?q%&O*phg*N)TJh z=_w8C#rN0H6wqkcsJ6qQ-9<0ozAdM8y3N%X3HR9d3LV;wFopVg=zq*;;>aG;? zD@{{puAh{A$5ppHY3?OoAgokclrxDU9xLToQ-FkFY+esrmcdqfOF5l1MHWDEbh#q2 zRjOW34;&UIH6EZF58KVw-;$c*PXmJ@*x9~p*0QHMk@Fp&Xc#Uvx#sAgdUkdOn{`BL z-cwE){gbtHvSq>2?zL12uR+pj*W6D_V;$LSxx4gbgbk2m*`<2v%P6{kLXp%rLIjMD zr9S`7v=W)VcI^Nqmt}0o2f}}n&7MPOAl)aCbLzq%hpTuzt2TEbCU{W1juzMu|U*5xp^=JAhcaRWA>*KPV17-R?&&b zQu%`VGhMJi{`_59?zCR=EmvuyAF6(G$Oya6^7To|%{RJ`E0jAWlubRLI^;l0t8V+r z{lJJCUGM3ufO|1p@1wgFHWGNbN%!M=dKqhwdQA4V?9eB~#({q9+zz((FMUGxC%_CJ zeMTykzatfjq@vY`h0}bh80IY{oIer~_`m*!za0n>4cYZw;wMPiVDB zVKe?TI2=2vgRilcDQw|kwi<@E`ImtC(+u7D-_oMzYv?`yA@GW9xVCLDpq|(HI?oyI zr~gac+r=hMH$1vnOV`d*^m%sy-z0X?FN!I65`7vfmHa4r1CKx0fCX&A0Gqgut(%}U zUwMz3VPh*MDlMld9nvY*y@wrLU!m-cruf9IP>y~q0Q z>@%)vTT07*0~_=oTeR5N$0vsvNn5rMZJP63i?*f{~_=N8+km|bSiEGlZ;5VPn0aX`iQ=Af)jD(*+-#F-RC!)3Pg99wtI zY+Lm`EsZD5_V~%PDE($GwNN9I`^_6;Zqd~Hj#ZYnyUE55x^cg1QoMwzL29rP@ItN4 z?cR|az;wYqq=QNt-s~P~i3CdhRfjTOXPZhxYWS>kyRsm9+$dO4jRM$FLz@rcP)J9m ebd(Fb-j!sTHuLOSdtRxJIxc#2=ik=IsQ&>blv)J< diff --git a/res/translations/mixxx_lt.ts b/res/translations/mixxx_lt.ts index 3d36c9d57084..ee5a834bc16d 100644 --- a/res/translations/mixxx_lt.ts +++ b/res/translations/mixxx_lt.ts @@ -8,6 +8,14 @@ + + AllTrackLibraryFeature + + + All... + + + AnalysisFeature @@ -19,52 +27,52 @@ AutoDJFeature - + Crates Paketai - + Enable Auto DJ - + Disable Auto DJ - + Clear Auto DJ Queue - + Remove Crate as Track Source Pašalinti paketą iš garso takelio - + Auto DJ Automatinis DJ - + Confirmation Clear - + Do you really want to remove all tracks from the Auto DJ queue? - + This can not be undone. - + Add Crate as Track Source Pridėti paketą prie garso takelio @@ -148,28 +156,28 @@ BasePlaylistFeature - + New Playlist Naujas grojaraštis - + Add to Auto DJ Queue (bottom) Įkelti į Automatinio DJ Eilę (apačioje) - + Create New Playlist Sukurti grojaraštį - + Add to Auto DJ Queue (top) Įkelti į Automatinio DJ Eilę (viršuje) - + Remove Pašalinti @@ -179,12 +187,12 @@ Pervadinti - + Lock Užrakinti - + Duplicate Dublikuoti @@ -205,24 +213,24 @@ Analizuoti visą grojaraštį - + Enter new name for playlist: Įrašykite naują grojaraščio pavadinimą: - + Duplicate Playlist Duplikuoti grojaraštį - - + + Enter name for new playlist: Įrašykite naujo grojaraščio pavadinimą: - + Export Playlist Eksportuoti grojaraštį @@ -232,70 +240,77 @@ - + + + Export to Engine DJ + "Engine DJ" is a product name and must not be translated. + + + + Rename Playlist Pervadinti grojaraštį - - + + Renaming Playlist Failed Grojaraščio pervadinti nepavyko - - - + + + A playlist by that name already exists. Grojaraštis šiuo pavadinimu jau egzistuoja. - - - + + + A playlist cannot have a blank name. Grojaraščio pavadinimas negali būti tuščias. - + _copy //: Appendix to default name when duplicating a playlist _kopijuoti - - - - - - + + + + + + Playlist Creation Failed Grojaraščio kūrimas nepavyko - - + + An unknown error occurred while creating playlist: Įvyko nežinoma klaida sukuriant grojaraštį: - + Confirm Deletion - + Do you really want to delete playlist <b>%1</b>? - + M3U Playlist (*.m3u) M3U Grojaraštis (*.m3u) - + M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Text CSV (*.csv);;Readable Text (*.txt) M3U Grojaraštis (*.m3u);;M3U8 Grojaraštis (*.m3u8);;PLS Grojaraštis (*.pls);;Tekstinis CSV (*.csv);;Skaitomas tekstas (*.txt) @@ -303,12 +318,12 @@ BaseSqlTableModel - + # Nr. - + Timestamp Laiko žymė @@ -316,7 +331,7 @@ BaseTrackPlayerImpl - + Couldn't load track. Negalima įkrauti takelio. @@ -324,137 +339,142 @@ BaseTrackTableModel - + Album Albumas - + Album Artist Albumas Atlikėjas - + Artist Atlikėjas - + Bitrate Kokybė - + BPM BPM - + Channels - + Color - + Comment Komentaras - + Composer Kūrėjas - + Cover Art Viršelis - + Date Added Įtraukimo data - + Last Played - + Duration Trukmė - + Type Tipas - + Genre Stilius - + Grouping Grupavimas - + Key Raktas - + Location Vieta - + + Overview + + + + Preview Peržiūra - + Rating Vertinimas - + ReplayGain „ReplayGain“ - + Samplerate - + Played Grotas - + Title Pavadinimas - + Track # Takelio Nr. - + Year Metai - + Fetching image ... Tooltip text on the cover art column shown when the cover is read from disk @@ -476,22 +496,22 @@ BroadcastProfile - + Can't use secure password storage: keychain access failed. Nepavyko naudoti saugios slaptažodžių saugyklos: nepavyko pasiekti raktų pakabuko. - + Secure password retrieval unsuccessful: keychain access failed. Saugus slaptažodžio gavimas nepavyko: nepavyko pasiekti raktų pakabuko. - + Settings error Nustatymų klaida - + <b>Error with settings for '%1':</b><br> <b>Klaida nustatant '% 1' nustatymus:</b><br> @@ -542,67 +562,77 @@ BrowseFeature - + Add to Quick Links Pridėti prie greitųjų nuorodų - + Remove from Quick Links Pašalinti iš greitųjų nuorodų - + Add to Library Pridėti Į Biblioteką - + Refresh directory tree - + Quick Links Greitosios nuorodos - - + + Devices Įrenginiai - + Removable Devices Laikinieji įrenginiai - - + + Computer Kompiuteris - + Music Directory Added Pridėtas muzikos katalogas - + You added one or more music directories. The tracks in these directories won't be available until you rescan your library. Would you like to rescan now? Pridėjote vieną ar daugiau muzikos katalogų. Šiuose kataloguose esantys takeliai nebus pasiekiami, kol iš naujo nuskaitysite biblioteką. Ar norėtumėte dabar nuskaityti iš naujo - + Scan Skenuoti - + "Computer" lets you navigate, view, and load tracks from folders on your hard disk and external devices. „Kompiuteris“ leidžia naršyti, peržiūrėti ir įkelti takelius iš aplankų standžiajame diske ir išoriniuose įrenginiuose. + + + It shows the data from the file tags, not track data from your Mixxx library like other track views. + + + + + If you load a track file from here, it will be added to your library. + + BrowseTableModel @@ -712,12 +742,12 @@ Failas sukurtas - + Mixxx Library Mixxx Biblioteka - + Could not load the following file because it is in use by Mixxx or another application. Negalima įkrauti šios bylos, nes ji naudojama Mixxx ar kitos programos. @@ -748,87 +778,92 @@ CmdlineArgs - + Mixxx is an open source DJ software. For more information, see: - + Starts Mixxx in full-screen mode - + Use a custom locale for loading translations. (e.g 'fr') - + Top-level directory where Mixxx should look for its resource files such as MIDI mappings, overriding the default installation location. - + Path the debug statistics time line is written to - + Causes Mixxx to display/log all of the controller data it receives and script functions it loads - + The controller mapping will issue more aggressive warnings and errors when detecting misuse of controller APIs. New Controller Mappings should be developed with this option enabled! - + Enables developer-mode. Includes extra log info, stats on performance, and a Developer tools menu. - + Top-level directory where Mixxx should look for settings. Default is: - + Starts Auto DJ when Mixxx is launched. - + Rescans the library when Mixxx is launched. - + Use legacy vu meter - + Use legacy spinny - - Loads experimental QML GUI instead of legacy QWidget skin + + Loads the highly unstable 3.0 Mixxx interface, based on QML. You need to use a new setting profile, or run with 'allow-dangerous-data-corruption-risk' to use with the current one. We highly recommend backing up your data if you do so. + + + + + Force Mixxx to load an unstable version with an existing user profile from a stable version - + Enables safe-mode. Disables OpenGL waveforms, and spinning vinyl widgets. Try this option if Mixxx is crashing on startup. - + [auto|always|never] Use colors on the console output. - + Sets the verbosity of command line logging. critical - Critical/Fatal only warning - Above + Warnings @@ -838,27 +873,32 @@ trace - Above + Profiling messages - + Sets the the logging level at which the log buffer is flushed to mixxx.log. <level> is one of the values defined at --log-level above. - + Sets the maximum file size of the mixxx.log file in bytes. Use -1 for unlimited. The default is 100 MB as 1e5 or 100000000. - + Breaks (SIGINT) Mixxx, if a DEBUG_ASSERT evaluates to false. Under a debugger you can continue afterwards. - + + Overrides the default application GUI style. Possible values: %1 + + + + Load the specified music file(s) at start-up. Each file you specify will be loaded into the next virtual deck. - + Preview rendered controller screens in the Setting windows. @@ -951,2535 +991,2585 @@ trace - Above + Profiling messages ControlPickerMenu - + Headphone Output Ausinių išvestis - - - + + + + Deck %1 + %1 is the deck number 1 ... 4 Grotuvas %1 - + Sampler %1 Sempleris %1 - + Preview Deck %1 „Preview Deck“ %1 - + Microphone %1 Mikrofonas %1 - + Auxiliary %1 Pagalbinis %1 - + Reset to default Atstatyti standartinius - + Effect Rack %1 Efektų stovas %1 - + Parameter %1 Parametras %1 - + Mixer Mikseris - - + + Crossfader Takelių suliejiklis - + Headphone mix (pre/main) Auksinių miksas (prieš/bendras) - + Toggle headphone split cueing Perjungti ausinių padalijimą - + Headphone delay Ausinių vėlavimas - + Transport Perkelti - + Strip-search through track Juostinė paieška per takelį - + Play button Paleidimo mygtukas - - + + Set to full volume Nustatyti visu garsu - - + + Set to zero volume Nustatyti be garso - + Stop button Stop mygtukas - + Jump to start of track and play Pereiti į takelio pradžią ir leisti - + Jump to end of track Pereiti į takelio pabaigą - + Reverse roll (Censor) button Atbulinės eigos (cenzūros) mygtukas - + Headphone listen button Ausinių pasiklausymo mygtukas - - + + Mute button Nutildymo mygtukas - + Toggle repeat mode Įjungti kartojimo režimą - - + + Mix orientation (e.g. left, right, center) Mikso vieta (pvz: kairė, dešinė, centras) - - + + Set mix orientation to left Nustatykite mišinio orientaciją į kairę - - + + Set mix orientation to center Nustatykite mišinio orientaciją į centrą - - + + Set mix orientation to right Nustatykite mišinio orientaciją į dešinę - + Toggle slip mode Perjungti slydimo režimą - - + + BPM BPM - + Increase BPM by 1 Padidinti BPM 1 - + Decrease BPM by 1 Sumažinti BPM 1 - + Increase BPM by 0.1 Padidinti BPM 0.1 - + Decrease BPM by 0.1 Sumažinti BPM 0.1 - + BPM tap button BPM bakstelėjimo mygtukas - + Toggle quantize mode Perjungti kvantavimo režimą - + One-time beat sync (tempo only) Vienkartinis ritmo sinchronizavimas (tik tempas) - + One-time beat sync (phase only) Vienkartinis ritmo sinchronizavimas (tik fazė) - + Toggle keylock mode Perjungti klavišų užrakto režimą - + Equalizers Ekvalaizeriai - + Vinyl Control Vinilo kontrolė - + Toggle vinyl-control cueing mode (OFF/ONE/HOT) Perjungti vinilo valdymo signalo režimą (IŠJUNGTAS/VIENAS/KARŠTAS) - + Toggle vinyl-control mode (ABS/REL/CONST) Perjungti vinilo valdymo režimą (ABS/REL/CONST) - + Pass through external audio into the internal mixer Perduokite išorinį garsą į vidinį maišytuvą - + Cues Cues - + Cue button Užuominų mygtukas - + Set cue point Nustatykite orientacinį tašką - + Go to cue point - + Go to cue point and play - + Go to cue point and stop - + Preview from cue point - + Cue button (CDJ mode) - + Stutter cue - + Hotcues - + Set, preview from or jump to hotcue %1 - + Clear hotcue %1 - + Set hotcue %1 - + Jump to hotcue %1 - + Jump to hotcue %1 and stop - + Jump to hotcue %1 and play - + Preview from hotcue %1 - - + + Hotcue %1 - + Looping - + Loop In button - + Loop Out button - + Loop Exit button - + 1/2 - + 1 - + 2 - + 4 - + 8 - + 16 - + 32 - + 64 - + Move loop forward by %1 beats - + Move loop backward by %1 beats - + Create %1-beat loop - + Create temporary %1-beat loop roll - + Library - + Slot %1 - + Headphone Mix - + Headphone Split Cue - + Headphone Delay - + Play - + Fast Rewind - + Fast Rewind button - + Fast Forward - + Fast Forward button - + Strip Search - + Play Reverse - + Play Reverse button - + Reverse Roll (Censor) - + Jump To Start Pereiti į pradžią - + Jumps to start of track Pereiti į takelio pradžią - + Play From Start Groti Nuo Pradžių - + Stop Stabdyti - + Stop And Jump To Start Stabdyti ir pereiti į pradžią - + Stop playback and jump to start of track Stabdyti grojimą ir pereiti į takelio pradžią - + Jump To End Pereiti į pabaigą - + Volume Garso lygis - - - + + + Volume Fader - - + + Full Volume - - + + Zero Volume - + Track Gain - + Track Gain knob - - + + Mute Išjungti garsą - + Eject - - + + Headphone Listen Klausytis ausinėse - + Headphone listen (pfl) button - + Repeat Mode Kartojimo režimas - + Slip Mode - - + + Orientation - - + + Orient Left - - + + Orient Center - - + + Orient Right - + BPM +1 BPM +1 - + BPM -1 BPM -1 - + BPM +0.1 - + BPM -0.1 - + BPM Tap - + Adjust Beatgrid Faster +.01 - + Increase track's average BPM by 0.01 - + Adjust Beatgrid Slower -.01 - + Decrease track's average BPM by 0.01 - + Move Beatgrid Earlier - + Adjust the beatgrid to the left - + Move Beatgrid Later - + Adjust the beatgrid to the right - + Adjust Beatgrid - + Align beatgrid to current position - + Adjust Beatgrid - Match Alignment - + Adjust beatgrid to match another playing deck. - + Quantize Mode - + Sync - + Beat Sync One-Shot - + Sync Tempo One-Shot - + Sync Phase One-Shot - + Pitch control (does not affect tempo), center is original pitch - + Pitch Adjust - + Adjust pitch from speed slider pitch - + Match musical key - + Match Key - + Reset Key - + Resets key to original - + High EQ - + Mid EQ - - + + Main Output - + Main Output Balance - + Main Output Delay - + Main Output Gain - + Low EQ - + Toggle Vinyl Control - + Toggle Vinyl Control (ON/OFF) - + Vinyl Control Mode - + Vinyl Control Cueing Mode - + Vinyl Control Passthrough - + Vinyl Control Next Deck - + Single deck mode - Switch vinyl control to next deck - + Cue - + Set Cue - + Go-To Cue - + Go-To Cue And Play - + Go-To Cue And Stop - + Preview Cue - + Cue (CDJ Mode) - + Stutter Cue - + Go to cue point and play after release - + Clear Hotcue %1 - + Set Hotcue %1 - + Jump To Hotcue %1 - + Jump To Hotcue %1 And Stop - + Jump To Hotcue %1 And Play - + Preview Hotcue %1 - + Loop In - + Loop Out - + Loop Exit - + Reloop/Exit Loop - + Loop Halve - + Loop Double - + 1/32 - + 1/16 - + 1/8 - + 1/4 - + Move Loop +%1 Beats - + Move Loop -%1 Beats - + Loop %1 Beats - + Loop Roll %1 Beats - + Add to Auto DJ Queue (bottom) Įkelti į Automatinio DJ Eilę (apačioje) - + Append the selected track to the Auto DJ Queue - + Add to Auto DJ Queue (top) Įkelti į Automatinio DJ Eilę (viršuje) - + Prepend selected track to the Auto DJ Queue - + Load Track - + Load selected track - + Load selected track and play - - + + Record Mix - + Toggle mix recording - + Effects Efektai - - Quick Effects - Greiti Efektai - - - + Deck %1 Quick Effect Super Knob - + + Quick Effect Super Knob (control linked effect parameters) - - + + + + Quick Effect Greitas Efektas - + Clear Unit - + Clear effect unit - + Toggle Unit - + Dry/Wet - + Adjust the balance between the original (dry) and processed (wet) signal. - + Super Knob - + Next Chain - + Assign - + Clear - + Clear the current effect - + Toggle - + Toggle the current effect - + Next - + Switch to next effect - + Previous - + Switch to the previous effect - + Next or Previous - + Switch to either next or previous effect - - + + Parameter Value - - + + Microphone Ducking Strength - + Microphone Ducking Mode - + Gain - + Gain knob Gavimo rankenėlė - + Shuffle the content of the Auto DJ queue - + Skip the next track in the Auto DJ queue - + Auto DJ Toggle - + Toggle Auto DJ On/Off - + Show/hide the microphone & auxiliary section - + 4 Effect Units Show/Hide - + Switches between showing 2 and 4 effect units - + Mixer Show/Hide - + Show or hide the mixer. - + Cover Art Show/Hide (Library) - + Show/hide cover art in the library - + Library Maximize/Restore - + Maximize the track library to take up all the available screen space. - + Effect Rack Show/Hide - + Show/hide the effect rack - + Waveform Zoom Out - + Headphone Gain - + Headphone gain - + Tap to sync tempo (and phase with quantize enabled), hold to enable permanent sync - + One-time beat sync tempo (and phase with quantize enabled) - + Playback Speed - + Playback speed control (Vinyl "Pitch" slider) - + Pitch (Musical key) - + Increase Speed - + Adjust speed faster (coarse) - + Increase Speed (Fine) - + Adjust speed faster (fine) - + Decrease Speed - + Adjust speed slower (coarse) - + Adjust speed slower (fine) - + Temporarily Increase Speed - + Temporarily increase speed (coarse) - + Temporarily Increase Speed (Fine) - + Temporarily increase speed (fine) - + Temporarily Decrease Speed - + Temporarily decrease speed (coarse) - + Temporarily Decrease Speed (Fine) - + Temporarily decrease speed (fine) - - + + Adjust %1 - + + Deck %1 Stem %2 + + + + Effect Unit %1 - + Button Parameter %1 - + Skin - + Controller - + Crossfader / Orientation - + Main Output gain - + Main Output balance - + Main Output delay - + Headphone - - + + Kill %1 + %1 is "Low EQ" "Mid EQ" or "High EQ" - + Eject or un-eject track, i.e. reload the last-ejected track (of any deck)<br>Double-press to reload the last replaced track. In empty decks it reloads the second-last ejected track. - + BPM / Beatgrid - + Halve BPM - + Multiply current BPM by 0.5 - + 2/3 BPM - + Multiply current BPM by 0.666 - + 3/4 BPM - + Multiply current BPM by 0.75 - + 4/3 BPM - + Multiply current BPM by 1.333 - + 3/2 BPM - + Multiply current BPM by 1.5 - + Double BPM - + Multiply current BPM by 2 - + Tempo Tap - + Tempo tap button - + Move Beatgrid - + Adjust the beatgrid to the left or right - - + + Move Beatgrid Half a Beat + + + + + Adjust the beatgrid by exactly one half beat. Usable only for tracks with constant tempo. + + + + + Toggle the BPM/beatgrid lock - + Revert last BPM/Beatgrid Change - + Revert last BPM/Beatgrid Change of the loaded track. - + Sync / Sync Lock - + Internal Sync Leader - + Toggle Internal Sync Leader - - + + Internal Leader BPM - + Internal Leader BPM +1 - + Increase internal Leader BPM by 1 - + Internal Leader BPM -1 - + Decrease internal Leader BPM by 1 - + Internal Leader BPM +0.1 - + Increase internal Leader BPM by 0.1 - + Internal Leader BPM -0.1 - + Decrease internal Leader BPM by 0.1 - + Sync Leader - + Sync mode 3-state toggle / indicator (Off, Soft Leader, Explicit Leader) - + Speed - + Decrease Speed (Fine) - + Pitch (Musical Key) - + Increase Pitch - + Increases the pitch by one semitone - + Increase Pitch (Fine) - + Increases the pitch by 10 cents - + Decrease Pitch - + Decreases the pitch by one semitone - + Decrease Pitch (Fine) - + Decreases the pitch by 10 cents - + Keylock - + CUP (Cue + Play) - + Shift cue points earlier - + Shift cue points 10 milliseconds earlier - + Shift cue points earlier (fine) - + Shift cue points 1 millisecond earlier - + Shift cue points later - + Shift cue points 10 milliseconds later - + Shift cue points later (fine) - + Shift cue points 1 millisecond later - - Hotcues %1-%2 + + + Sort hotcues by position + + + + + + Sort hotcues by position (remove offsets) + Hotcues %1-%2 + + + + Intro / Outro Markers - + Intro Start Marker - + Intro End Marker - + Outro Start Marker - + Outro End Marker - + intro start marker - + intro end marker - + outro start marker - + outro end marker - + Activate %1 [intro/outro marker - + Jump to or set the %1 [intro/outro marker - + Set %1 [intro/outro marker - + Set or jump to the %1 [intro/outro marker - + Clear %1 [intro/outro marker - + Clear the %1 [intro/outro marker - + if the track has no beats the unit is seconds - + Loop Selected Beats - + Create a beat loop of selected beat size - + Loop Roll Selected Beats - + Create a rolling beat loop of selected beat size - + Loop %1 Beats set from its end point - + Loop Roll %1 Beats set from its end point - + Create %1-beat loop with the current play position as loop end - + Create temporary %1-beat loop roll with the current play position as loop end - + Loop Beats - + Loop Roll Beats - + Go To Loop In - + Go to Loop In button - + Go To Loop Out - + Go to Loop Out button - + Toggle loop on/off and jump to Loop In point if loop is behind play position - + Reloop And Stop - + Enable loop, jump to Loop In point, and stop - + Halve the loop length - + Double the loop length - + Beat Jump / Loop Move - + Jump / Move Loop Forward %1 Beats - + Jump / Move Loop Backward %1 Beats - + Jump forward by %1 beats, or if a loop is enabled, move the loop forward %1 beats - + Jump backward by %1 beats, or if a loop is enabled, move the loop backward %1 beats - + Beat Jump / Loop Move Forward Selected Beats - + Jump forward by the selected number of beats, or if a loop is enabled, move the loop forward by the selected number of beats - + Beat Jump / Loop Move Backward Selected Beats - + Jump backward by the selected number of beats, or if a loop is enabled, move the loop backward by the selected number of beats - + Beat Jump - + Indicate which loop marker remain static when adjusting the size or is inherited from the current position - + Beat Jump / Loop Move Forward - + Beat Jump / Loop Move Backward - + Loop Move Forward - + Loop Move Backward - + Remove Temporary Loop - + Remove the temporary loop - + Navigation - + Move up - + Equivalent to pressing the UP key on the keyboard - + Move down - + Equivalent to pressing the DOWN key on the keyboard - + Move up/down - + Move vertically in either direction using a knob, as if pressing UP/DOWN keys - + Scroll Up - + Equivalent to pressing the PAGE UP key on the keyboard - + Scroll Down - + Equivalent to pressing the PAGE DOWN key on the keyboard - + Scroll up/down - + Scroll vertically in either direction using a knob, as if pressing PGUP/PGDOWN keys - + Move left - + Equivalent to pressing the LEFT key on the keyboard - + Move right - + Equivalent to pressing the RIGHT key on the keyboard - + Move left/right - + Move horizontally in either direction using a knob, as if pressing LEFT/RIGHT keys - + Move focus to right pane - + Equivalent to pressing the TAB key on the keyboard - + Move focus to left pane - + Equivalent to pressing the SHIFT+TAB key on the keyboard - + Move focus to right/left pane - + Move focus one pane to right or left using a knob, as if pressing TAB/SHIFT+TAB keys - + Sort focused column - + Sort the column of the cell that is currently focused, equivalent to clicking on its header - + Go to the currently selected item - + Choose the currently selected item and advance forward one pane if appropriate - + Load Track and Play - + Add to Auto DJ Queue (replace) - + Replace Auto DJ Queue with selected tracks - + Select next search history - + Selects the next search history entry - + Select previous search history - + Selects the previous search history entry - + Move selected search entry - + Moves the selected search history item into given direction and steps - + Clear search - + Clears the search query - - + + Select Next Color Available - + Select the next color in the color palette for the first selected track - - + + Select Previous Color Available - + Select the previous color in the color palette for the first selected track - + + Quick Effects Deck %1 + + + + Deck %1 Quick Effect Enable Button - + + Quick Effect Enable Button - + + Deck %1 Stem %2 Quick Effect Super Knob + + + + + Deck %1 Stem %2 Quick Effect Enable Button + + + + Enable or disable effect processing - + Super Knob (control effects' Meta Knobs) - + Mix Mode Toggle - + Toggle effect unit between D/W and D+W modes - + Next chain preset - + Previous Chain - + Previous chain preset - + Next/Previous Chain - + Next or previous chain preset - - + + Show Effect Parameters - + Effect Unit Assignment - + Meta Knob - + Effect Meta Knob (control linked effect parameters) - + Meta Knob Mode - + Set how linked effect parameters change when turning the Meta Knob. - + Meta Knob Mode Invert - + Invert how linked effect parameters change when turning the Meta Knob. - - + + Button Parameter Value - + Microphone / Auxiliary - + Microphone On/Off - + Microphone on/off - + Toggle microphone ducking mode (OFF, AUTO, MANUAL) - + Auxiliary On/Off - + Auxiliary on/off - + Auto DJ Automatinis DJ - + Auto DJ Shuffle - + Auto DJ Skip Next - + Auto DJ Add Random Track - + Add a random track to the Auto DJ queue - + Auto DJ Fade To Next - + Trigger the transition to the next track - + User Interface - + Samplers Show/Hide - + Show/hide the sampler section - + Microphone && Auxiliary Show/Hide keep double & to prevent creation of keyboard accelerator - + Waveform Zoom Reset To Default - + Reset the waveform zoom level to the default value selected in Preferences -> Waveforms - + Select the next color in the color palette for the loaded track. - + Select previous color in the color palette for the loaded track. - + Navigate Through Track Colors - + Select either next or previous color in the palette for the loaded track. - + Start/Stop Live Broadcasting - + Stream your mix over the Internet. - + Start/stop recording your mix. - - + + + Deck %1 Stems + + + + + Samplers - + Vinyl Control Show/Hide - + Show/hide the vinyl control section - + Preview Deck Show/Hide - + Show/hide the preview deck - + Toggle 4 Decks - + Switches between showing 2 decks and 4 decks. - + Cover Art Show/Hide (Decks) - + Show/hide cover art in the main decks - + Vinyl Spinner Show/Hide - + Show/hide spinning vinyl widget - + Vinyl Spinners Show/Hide (All Decks) - + Show/Hide all spinnies - + Toggle Waveforms - + Show/hide the scrolling waveforms. - + Waveform zoom - + Waveform Zoom - + Zoom waveform in - + Waveform Zoom In - + Zoom waveform out - + Star Rating Up - + Increase the track rating by one star - + Star Rating Down - + Decrease the track rating by one star @@ -3492,6 +3582,159 @@ trace - Above + Profiling messages + + ControllerHidReportTabsManager + + + Read + + + + + Send + + + + + Payload Size + + + + + bytes + + + + + Byte Position + + + + + Bit Position + + + + + Bit Size + + + + + Logical Min + + + + + Logical Max + + + + + Value + + + + + Physical Min + + + + + Physical Max + + + + + Unit Scaling + + + + + Unit + + + + + Abs/Rel + + + + + + Wrap + + + + + + Linear + + + + + + Preferred + + + + + + Null + + + + + + Volatile + + + + + Usage Page + + + + + Usage + + + + + Relative + + + + + Absolute + + + + + No Wrap + + + + + Non Linear + + + + + No Preferred + + + + + No Null + + + + + Non Volatile + + + ControllerInputMappingTableModel @@ -3594,32 +3837,32 @@ trace - Above + Profiling messages ControllerScriptEngineBase - + The functionality provided by this controller mapping will be disabled until the issue has been resolved. - + You can ignore this error for this session but you may experience erratic behavior. - + Try to recover by resetting your controller. - + Controller Mapping Error - + The mapping for your controller "%1" is not working properly. - + The script code needs to be fixed. @@ -3627,27 +3870,27 @@ trace - Above + Profiling messages ControllerScriptEngineLegacy - + Controller Mapping File Problem - + The mapping for controller "%1" cannot be opened. - + The functionality provided by this controller mapping will be disabled until the issue has been resolved. - + File: - + Error: @@ -3663,13 +3906,13 @@ trace - Above + Profiling messages CrateFeature - + Remove Pašalinti - + Create New Crate @@ -3679,55 +3922,55 @@ trace - Above + Profiling messages Pervadinti - + Lock Užrakinti - + Export Crate as Playlist - + Export Track Files Eksportuoti garso takelių failus - + Duplicate Dublikuoti - + Analyze entire Crate - + Auto DJ Track Source - + Enter new name for crate: - - + + Crates Paketai - - + + Import Crate Importuoti paketą - + Export Crate Eksportuoti paketą @@ -3737,74 +3980,74 @@ trace - Above + Profiling messages Atrakinti - + An unknown error occurred while creating crate: Neatpažinta klaida įvyko sukuriant naują paketą: - + Rename Crate Pervadinti paketą - - - Export to Engine Prime - - - - + Make a crate for your next gig, for your favorite electrohouse tracks, or for your most requested tracks. - + Confirm Deletion - - + + Renaming Crate Failed Paketo pervadinimas nepavyko - + Crate Creation Failed - + M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Text CSV (*.csv);;Readable Text (*.txt) M3U Grojaraštis (*.m3u);;M3U8 Grojaraštis (*.m3u8);;PLS Grojaraštis (*.pls);;Tekstinis CSV (*.csv);;Skaitomas tekstas (*.txt) - + M3U Playlist (*.m3u) M3U Grojaraštis (*.m3u) - + Crates are a great way to help organize the music you want to DJ with. Paketai yra puikus būdas padedantis valdyti muziką su kuria norite dirbti. - + + + Export to Engine DJ + + + + Crates let you organize your music however you'd like! Paketai leidžia jums valdyti muziką taip kaip jūs norite! - + Do you really want to delete crate <b>%1</b>? - + A crate cannot have a blank name. Paketo pavadinimas negali būti tuščias. - + A crate by that name already exists. Paketas tokiu pavadinimu jau egzistuoja. @@ -3899,12 +4142,12 @@ trace - Above + Profiling messages - + Official Website - + Donate @@ -4023,72 +4266,72 @@ trace - Above + Profiling messages DlgAutoDJ - + Skip - + Random - + Fade - + Enable Auto DJ Shortcut: Shift+F12 - + Disable Auto DJ Shortcut: Shift+F12 - + Trigger the transition to the next track Shortcut: Shift+F11 - + Skip the next track in the Auto DJ queue Shortcut: Shift+F10 - + Shuffle the content of the Auto DJ queue Shortcut: Shift+F9 - + Repeat the playlist - + Determines the duration of the transition - + Seconds Sekundės - + Auto DJ Fade Modes Full Intro + Outro: @@ -4119,80 +4362,80 @@ crossfader, so that the intro starts at full volume. - + Full Intro + Outro - + Fade At Outro Start - + Full Track - + Skip Silence - + Skip Silence Start Full Volume - + Decks not used for Auto DJ must be stopped to enable Auto DJ mode. - + Repeat - + Auto DJ requires two decks assigned to opposite sides of the crossfader. - + One deck must be stopped to enable Auto DJ mode. - + Enable - + Disable - + Displays the duration and number of selected tracks. - - - + + + Auto DJ Automatinis DJ - + Shuffle Išmaišyti - + Adds a random track from track sources (crates) to the Auto DJ queue. If no track sources are configured, the track is added from the library instead. @@ -4415,37 +4658,37 @@ Often results in higher quality beatgrids, but will not do well on tracks that h - + Didn't get any midi messages. Please try again. - + Unable to detect a mapping -- please try again. Be sure to only touch one control at once. - + Successfully mapped control: - + <i>Ready to learn %1</i> - + Learning: %1. Now move a control on your controller. - + The selected control does not exist.<br>This likely a bug. Please report it on the Mixxx bug tracker.<br><a href='https://github.com/mixxxdj/mixxx/issues'>https://github.com/mixxxdj/mixxx/issues</a><br><br>You tried to learn: %1,%2 - + The control you clicked in Mixxx is not learnable. This could be because you are either using an old skin and this control is no longer supported, or you clicked a control that provides visual feedback and can only be mapped to outputs like LEDs via scripts. @@ -4484,17 +4727,17 @@ You tried to learn: %1,%2 - + Log - + Search - + Stats @@ -4690,122 +4933,139 @@ You tried to learn: %1,%2 DlgPrefBroadcast - + Icecast 2 - + Shoutcast 1 - + Icecast 1 - + MP3 - + Ogg Vorbis - + Opus - + AAC - + HE-AAC - + HE-AACv2 - + Automatic - + Mono - + Stereo - - - - + + Saving settings failed + + + + + The password for '%1' contains invalid characters. Please enter it again. + +Note: This can for example be invisible linebreaks when using copy/paste. + + + + + + Action failed Veiksmas nepavyko - + You can't create more than %1 source connections. - + Source connection %1 - + + Settings for %1 + Settings for broadcast profile, %1 is the profile name placeholder + + + + At least one source connection is required. - + Are you sure you want to disconnect every active source connection? - - + + Confirmation required - + '%1' has the same Icecast mountpoint as '%2'. Two source connections to the same server that have the same mountpoint can not be enabled simultaneously. - + Are you sure you want to delete '%1'? - + Renaming '%1' - + New name for '%1': - + Can't rename '%1' to '%2': name already in use @@ -4818,27 +5078,27 @@ Two source connections to the same server that have the same mountpoint can not - + Mixxx Icecast Testing - + Public stream - + http://www.mixxx.org - + Stream name - + Due to flaws in some streaming clients, updating Ogg Vorbis metadata dynamically can cause listener glitches and disconnections. Check this box to update the metadata anyway. @@ -4878,67 +5138,72 @@ Two source connections to the same server that have the same mountpoint can not - + + Available fields: $artist, $title, $year, $album, $genre, $bpm + + + + Dynamically update Ogg Vorbis metadata. - + ICQ - + AIM - + Website - + Live mix - + IRC - + Select a source connection above to edit its settings here - + Password storage - + Plain text - + Secure storage (OS keychain) - + Genre Stilius - + Use UTF-8 encoding for metadata. - + Description Aprašymas @@ -4964,42 +5229,42 @@ Two source connections to the same server that have the same mountpoint can not - + Server connection - + Type Tipas - + Host - + Login - + Mount - + Port - + Password - + Stream info @@ -5009,17 +5274,17 @@ Two source connections to the same server that have the same mountpoint can not - + Use static artist and title. - + Static title - + Static artist @@ -5078,13 +5343,14 @@ Two source connections to the same server that have the same mountpoint can not DlgPrefColors - - + + + By hotcue number - + Color @@ -5129,17 +5395,22 @@ Two source connections to the same server that have the same mountpoint can not + Jump default color + + + + When key colors are enabled, Mixxx will display a color hint associated with each key. - + Enable Key Colors - + Key palette @@ -5147,113 +5418,113 @@ associated with each key. DlgPrefController - + Apply device settings? - + Your settings must be applied before starting the learning wizard. Apply settings and continue? - + None - + %1 by %2 - + Mapping has been edited - + Always overwrite during this session - + Save As - + Overwrite - + Save user mapping - + Enter the name for saving the mapping to the user folder. - + Saving mapping failed - + A mapping cannot have a blank name and may not contain special characters. - + A mapping file with that name already exists. - + Do you want to save the changes? - + Troubleshooting - + <font color='#BB0000'><b>If you use this mapping your controller may not work correctly. Please select another mapping or disable the controller.</b></font><br><br>This mapping was designed for a newer Mixxx Controller Engine and cannot be used on your current Mixxx installation.<br>Your Mixxx installation has Controller Engine version %1. This mapping requires a Controller Engine version >= %2.<br><br>For more information visit the wiki page on <a href='https://mixxx.org/wiki/doku.php/controller_engine_versions'>Controller Engine Versions</a>. - + Mapping already exists. - + <b>%1</b> already exists in user mapping folder.<br>Overwrite or save with a new name? - + Clear Input Mappings - + Are you sure you want to clear all input mappings? - + Clear Output Mappings - + Are you sure you want to clear all output mappings? @@ -5266,105 +5537,110 @@ Apply settings and continue? - + Enabled Įgalintas - + + Refresh mapping list + + + + Device Info - + Physical Interface: - + Vendor name: - + Product name: - + Vendor ID - + VID: - + Product ID - + PID: - + Serial number: - + USB interface number: - + HID Usage-Page: - + HID Usage: - + Description: - + Support: - + Screens preview - + Input Mappings - - + + Search - - + + Add Pridėti - - + + Remove Pašalinti @@ -5379,22 +5655,22 @@ Apply settings and continue? - + Load Mapping: - + Mapping Info - + Author: - + Name: @@ -5404,28 +5680,28 @@ Apply settings and continue? - + Data protocol: - + Mapping Files: - + Mapping Settings - - + + Clear All Išvalyti viską - + Output Mappings @@ -5440,21 +5716,21 @@ Apply settings and continue? - Mixxx uses "mappings" to connect messages from your controller to controls in Mixxx. If you do not see a mapping for your controller in the "Load Mapping" menu when you click on your controller on the left sidebar, you may be able to download one online from the %1. Place the XML (.xml) and Javascript (.js) file(s) in the "User Mapping Folder" then restart Mixxx. If you download a mapping in a ZIP file, extract the XML and Javascript file(s) from the ZIP file to your "User Mapping Folder" then restart Mixxx. + Mixxx uses "mappings" to connect messages from your controller to controls in Mixxx. If you do not see a mapping for your controller in the "Load Mapping" menu when you click on your controller on the left sidebar, you may be able to download one online from the %1. Place the XML (.xml) and Javascript (.js) file(s) in the "User Mapping Folder" then click the Reload button next to the mapping selector to reload all available mappings. If you download a mapping in a ZIP file, extract the XML and Javascript file(s) from the ZIP file to your "User Mapping Folder" then click the Reload button. - + Mixxx DJ Hardware Guide - + MIDI Mapping File Format - + MIDI Scripting with Javascript @@ -5584,6 +5860,16 @@ Apply settings and continue? Multi-Sampling + + + Force 3D acceleration + + + + + If checked, Mixxx will always assume 3D acceleration is available. This may lead to pour performance if only CP-backed rendering is available.. + + Start in full-screen mode @@ -5613,137 +5899,137 @@ Apply settings and continue? DlgPrefDeck - + Mixxx mode - + Mixxx mode (no blinking) - + Pioneer mode - + Denon mode - + Numark mode - + CUP mode - + mm:ss%1zz - Traditional - + mm:ss - Traditional (Coarse) - + s%1zz - Seconds - + sss%1zz - Seconds (Long) - + s%1sss%2zz - Kiloseconds - + Intro start - + Main cue - + First hotcue - + First sound (skip silence) - + Beginning of track - + Reject - + Allow, but stop deck - + Allow, play from load point - + 4% - + 6% (semitone) - + 8% (Technics SL-1210) - + 10% - + 16% - + 24% - + 50% - + 90% @@ -6175,62 +6461,62 @@ You can always drag-and-drop tracks on screen to clone a deck. DlgPrefInterface - + The minimum size of the selected skin is bigger than your screen resolution. - + Allow screensaver to run - + Prevent screensaver from running - + Prevent screensaver while playing - + Disabled - + 2x MSAA - + 4x MSAA - + 8x MSAA - + 16x MSAA - + This skin does not support color schemes - + Information - + Mixxx must be restarted before the new locale, scaling or multi-sampling settings will take effect. @@ -6457,67 +6743,97 @@ and allows you to pitch adjust them for harmonic mixing. - + Music Directory Added Pridėtas muzikos katalogas - + You added one or more music directories. The tracks in these directories won't be available until you rescan your library. Would you like to rescan now? Pridėjote vieną ar daugiau muzikos katalogų. Šiuose kataloguose esantys takeliai nebus pasiekiami, kol iš naujo nuskaitysite biblioteką. Ar norėtumėte dabar nuskaityti iš naujo - + Scan Skenuoti - - Item is not a directory or directory is missing + + Item is not a directory or directory is missing + + + + + Choose a music directory + + + + + Confirm Directory Removal + + + + + Mixxx will no longer watch this directory for new tracks. What would you like to do with the tracks from this directory and subdirectories?<ul><li>Hide all tracks from this directory and subdirectories.</li><li>Delete all metadata for these tracks from Mixxx permanently.</li><li>Leave the tracks unchanged in your library.</li></ul>Hiding tracks saves their metadata in case you re-add them in the future. + + + + + Metadata means all track details (artist, title, playcount, etc.) as well as beatgrids, hotcues, and loops. This choice only affects the Mixxx library. No files on disk will be changed or deleted. + + + + + Hide Tracks + + + + + Delete Track Metadata - - Choose a music directory + + Leave Tracks Unchanged - - Confirm Directory Removal + + Relink music directory to new location - - Mixxx will no longer watch this directory for new tracks. What would you like to do with the tracks from this directory and subdirectories?<ul><li>Hide all tracks from this directory and subdirectories.</li><li>Delete all metadata for these tracks from Mixxx permanently.</li><li>Leave the tracks unchanged in your library.</li></ul>Hiding tracks saves their metadata in case you re-add them in the future. + + Black - - Metadata means all track details (artist, title, playcount, etc.) as well as beatgrids, hotcues, and loops. This choice only affects the Mixxx library. No files on disk will be changed or deleted. + + ExtraBold - - Hide Tracks + + Bold - - Delete Track Metadata + + SemiBold - - Leave Tracks Unchanged + + Medium - - Relink music directory to new location + + Light - + Select Library Font @@ -6566,262 +6882,267 @@ and allows you to pitch adjust them for harmonic mixing. - + Audio File Formats - + Track Table View - + Track Double-Click Action: - + BPM display precision: - + Session History - + Track duplicate distance - + When playing a track again log it to the session history only if more than N other tracks have been played in the meantime - + History playlist with less than N tracks will be deleted<br/><br/>Note: the cleanup will be performed during startup and shutdown of Mixxx. - + Delete history playlist with less than N tracks - + Library Font: - + + Show scan summary dialog + + + + Grey out played tracks - + Track Search - + Enable search completions - + Enable search history keyboard shortcuts - + Percentage of pitch slider range for 'fuzzy' BPM search: - + This range will be used for the 'fuzzy' BPM search (~bpm:) via the search box, as well as for BPM search in Track context menu > Search related Tracks - + Preferred Cover Art Fetcher Resolution - + Fetch cover art from coverartarchive.com by using Import Metadata From Musicbrainz. - + Note: ">1200 px" can fetch up to very large cover arts. - + >1200 px (if available) - + 1200 px (if available) - + 500 px - + 250 px - + Settings Directory - + The Mixxx settings directory contains the library database, various configuration files, log files, track analysis data, as well as custom controller mappings. - + Edit those files only if you know what you are doing and only while Mixxx is not running. - + Open Mixxx Settings Folder - + Library Row Height: - + Use relative paths for playlist export if possible - + ... - + px - + Synchronize library track metadata from/to file tags - + Automatically write modified track metadata from the library into file tags and reimport metadata from updated file tags into the library - + Synchronize Serato track metadata from/to file tags (experimental) - + Keeps track color, beat grid, bpm lock, cue points, and loops synchronized with SERATO_MARKERS/MARKERS2 file tags.<br/><br/>WARNING: Enabling this option also enables the reimport of Serato metadata after files have been modified outside of Mixxx. On reimport existing metadata in Mixxx is replaced with the metadata found in file tags. Custom metadata not included in file tags like loop colors is lost. - + Edit metadata after clicking selected track - + Search-as-you-type timeout: - + ms - + Load track to next available deck - + External Libraries - + You will need to restart Mixxx for these settings to take effect. - + Show Rhythmbox Library - + Track Metadata Synchronization / Playlists - + Add track to Auto DJ queue (bottom) - + Add track to Auto DJ queue (top) - + Ignore - + Show Banshee Library - + Show iTunes Library - + Show Traktor Library - + Show Rekordbox Library - + Show Serato Library - + All external libraries shown are write protected. @@ -7166,33 +7487,33 @@ and allows you to pitch adjust them for harmonic mixing. DlgPrefRecord - + Choose recordings directory - - + + Recordings directory invalid - + Recordings directory must be set to an existing directory. - + Recordings directory must be set to a directory. - + Recordings directory not writable - + You do not have write access to %1. Choose a recordings directory you have write access to. @@ -7210,43 +7531,55 @@ and allows you to pitch adjust them for harmonic mixing. - - + + This will include the filepath for each track in the CUE file. +This option makes the CUE file less portable and can reveal personal +information from filepaths (i.e. username) + + + + + Enable File Annotation in CUE file + + + + + Quality - + Tags - + Title Pavadinimas - + Author - + Album Albumas - + Output File Format - + Compression - + Lossy @@ -7261,12 +7594,12 @@ and allows you to pitch adjust them for harmonic mixing. - + Compression Level - + Lossless @@ -7397,173 +7730,177 @@ The loudness target is approximate and assumes track pregain and main output lev DlgPrefSound - + %1 Hz - + Default (long delay) - + Experimental (no delay) - + Disabled (short delay) - + Soundcard Clock - + Network Clock - + Direct monitor (recording and broadcasting only) - + Disabled - + Enabled Įgalintas - + Stereo - + Mono - + To enable Realtime scheduling (currently disabled), see the %1. - + The %1 lists sound cards and controllers you may want to consider for using Mixxx. - + Mixxx DJ Hardware Guide - + + Find details in the Mixxx user manual + + + + Information - + Mixxx must be restarted before the multi-threaded RubberBand setting change will take effect. - + auto (<= 1024 frames/period) - + 2048 frames/period - + 4096 frames/period - + Are you sure? - + Distribute stereo channels into mono channels for parallel processing will result in a loss of mono compatibility and a diffuse stereo image. It is not recommended during broadcasting or recording. - + Are you sure you wish to proceed? - + No - + Yes, I know what I am doing - + Microphone inputs are out of time in the record & broadcast signal compared to what you hear. - + Measure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. - - + Refer to the Mixxx User Manual for details. - + Configured latency has changed. - + Remeasure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. - + Realtime scheduling is enabled. - + Main output only - + Main and booth outputs - + %1 ms - + Configuration error @@ -7581,131 +7918,136 @@ The loudness target is approximate and assumes track pregain and main output lev - + Sample Rate - + Audio Buffer - + Engine Clock - + Use soundcard clock for live audience setups and lowest latency.<br>Use network clock for broadcasting without a live audience. - + Main Mix - + Main Output Mode - + Microphone Monitor Mode - + Microphone Latency Compensation - - - - + + + + ms milliseconds - + + Deck and Bus outputs are for external mixers. They are post-fader and include effects and crossfader (for Auto DJ). For external mixing, make sure all Mixxx faders and EQ knobs are set to their default position (right- or double-click). + + + + 20 ms - + Buffer Underflow Count - + 0 - + Keylock/Pitch-Bending Engine - + Multi-Soundcard Synchronization - + Output Išvestis - + Input Įvedimas - + System Reported Latency - + Enlarge your audio buffer if the underflow counter is increasing or you hear pops during playback. - + Main Output Delay - + Headphone Output Delay - + Booth Output Delay - + Dual-threaded Stereo - + Hints and Diagnostics - + Downsize your audio buffer to improve Mixxx's responsiveness. - + Query Devices @@ -7747,7 +8089,7 @@ The loudness target is approximate and assumes track pregain and main output lev - + Show Signal Quality in Skin @@ -7783,46 +8125,51 @@ The loudness target is approximate and assumes track pregain and main output lev + Pitch estimator + + + + Deck 1 - + Deck 2 - + Deck 3 - + Deck 4 - + Signal Quality - + http://www.xwax.co.uk - + Powered by xwax - + Hints - + Select sound devices for Vinyl Control in the Sound Hardware pane. @@ -7830,57 +8177,58 @@ The loudness target is approximate and assumes track pregain and main output lev DlgPrefWaveform - + Filtered - + HSV - + RGB - + Top - + Center - + Bottom - - 1/3rd of waveform viewer + + 1/3 of waveform viewer + options for "Text height limit" - - Full waveform viewer height + + Entire waveform viewer - + OpenGL not available - + dropped frames - + Cached waveforms occupy %1 MiB on disk. @@ -7893,250 +8241,297 @@ The loudness target is approximate and assumes track pregain and main output lev - + Frame rate - - Displays which OpenGL version is supported by the current platform. - - - - - Waveform + + OpenGL Status - - Normalize waveform overview + + Displays which OpenGL version is supported by the current platform. - + Average frame rate - + Visual gain - + Default zoom level Waveform zoom - + Displays the actual frame rate. - + Visual gain of the middle frequencies - + End of track warning - - OpenGL status - - - - + This functionality requires waveform acceleration. - + Highlight the waveforms when the last seconds of a track remains. - + seconds - + Low - + Show minute markers on waveform overview - + Use acceleration - + High details - + Middle - + Global - + Visual gain of the high frequencies - + Visual gain of the low frequencies - + High - + Global visual gain - + The waveform overview shows the waveform envelope of the entire track. Select from different types of displays for the waveform overview, which differ primarily in the level of detail shown in the waveform. - + Enabled - + The waveform shows the waveform envelope of the track near the current playback position. Select from different types of displays for the waveform, which differ primarily in the level of detail shown in the waveform. - - Waveform overview type - - - - + fps - + Synchronize zoom level across all waveform displays. - + Synchronize zoom level across all waveforms - + Play marker hints - + Beats until next marker - + Preferred font size - + Text height limit - + Time until next marker - + Placement - + pt - + Caching - + Mixxx caches the waveforms of your tracks on disk the first time you load a track. This reduces CPU usage when you are playing live but requires extra disk space. - + Enable waveform caching - + Generate waveforms when analyzing library - + Beat grid opacity - + + Scrolling Waveforms + + + + + + Type + + + + Stereo coloration - + Set amount of opacity on beat grid lines. - + % - + Play marker position - + Moves the play marker position on the waveforms to the left, right or center (default). - + + Stem + + + + + Channel opacity + + + + + Channel opacity (outline) + + + + + Main stem opacity + + + + + Outline stem opacity + + + + + Move channel to foreground when volume is adjusted + + + + + Overview Waveforms + + + + + Gain + + + + + Normalize to peak + + + + + Use Waveform "Global" gain and ReplayGain (if enabled) + 'Global' refers to the 'Global' visual gain in the scrolling waveform settings + + + + Clear Cached Waveforms @@ -8144,47 +8539,47 @@ Select from different types of displays for the waveform, which differ primarily DlgPreferences - + Sound Hardware - + Controllers - + Library - + Interface - + Waveforms - + Mixer Mikseris - + Auto DJ Automatinis DJ - + Decks - + Colors @@ -8219,47 +8614,47 @@ Select from different types of displays for the waveform, which differ primarily - + Effects Efektai - + Recording - + Beat Detection - + Key Detection - + Normalization - + <font color='#BB0000'><b>Some preferences pages have errors. To apply the changes please first fix the issues.</b></font> - + Vinyl Control Vinilo kontrolė - + Live Broadcasting - + Modplug Decoder @@ -8292,22 +8687,22 @@ Select from different types of displays for the waveform, which differ primarily - + Start Recording - + Recording to file: - + Stop Recording - + %1 MiB written in %2 @@ -8615,284 +9010,289 @@ This can not be undone! - + Filetype: - + BPM: BPM - + Location: - + Bitrate: - + Comments - + BPM BPM - + Sets the BPM to 75% of the current value. - + 3/4 BPM - + Sets the BPM to 50% of the current value. - + Displays the BPM of the selected track. - + Track # Takelio Nr. - + Album Artist Albumas Atlikėjas - + Composer Kūrėjas - + Title Pavadinimas - + Grouping Grupavimas - + Key Raktas - + Year Metai - + Artist Atlikėjas - + Album Albumas - + Genre Stilius - + ReplayGain: - + Sets the BPM to 200% of the current value. - + Double BPM - + Halve BPM - + Clear BPM and Beatgrid - + Move to the previous item. "Previous" button - + &Previous - + Move to the next item. "Next" button - + &Next - + Duration: - + Import Metadata from MusicBrainz - + Re-Import Metadata from file - + Color - + Date added: - + Open in File Browser - + Samplerate: - + + Filesize: + + + + Track BPM: - + Converts beats detected by the analyzer into a fixed-tempo beatgrid. Use this setting if your tracks have a constant tempo (e.g. most electronic music). Often results in higher quality beatgrids, but will not do well on tracks that have tempo shifts. - + Assume constant tempo - + Sets the BPM to 66% of the current value. - + 2/3 BPM - + Sets the BPM to 150% of the current value. - + 3/2 BPM - + Sets the BPM to 133% of the current value. - + 4/3 BPM - + Tap with the beat to set the BPM to the speed you are tapping. - + Tap to Beat - + Hint: Use the Library Analyze view to run BPM detection. - + Save changes and close the window. "OK" button - + &OK - + Discard changes and close the window. "Cancel" button - + Save changes and keep the window open. "Apply" button - + &Apply - + &Cancel - + (no color) @@ -9049,7 +9449,7 @@ Often results in higher quality beatgrids, but will not do well on tracks that h - + (no color) @@ -9251,27 +9651,27 @@ Often results in higher quality beatgrids, but will not do well on tracks that h EngineBuffer - + Soundtouch (faster) - + Rubberband (better) - + Rubberband R3 (near-hi-fi quality) - + Unknown, using Rubberband (better) - + Unknown, using Soundtouch @@ -9415,38 +9815,38 @@ Often results in higher quality beatgrids, but will not do well on tracks that h ITunesFeature - - + + iTunes - + Select your iTunes library - + (loading) iTunes - + Use Default Library - + Choose Library... - + Error Loading iTunes Library - + There was an error loading your iTunes library. Check the logs for details. @@ -9454,12 +9854,12 @@ Often results in higher quality beatgrids, but will not do well on tracks that h LegacyControllerColorSetting - + Change color - + Choose a new color @@ -9467,18 +9867,18 @@ Often results in higher quality beatgrids, but will not do well on tracks that h LegacyControllerFileSetting - + Browse... - - + + No file selected - + Select a file @@ -9486,15 +9886,15 @@ Often results in higher quality beatgrids, but will not do well on tracks that h LegacySkinParser - - + + Safe Mode Enabled Shown when Mixxx is running in safe mode. - - + + No OpenGL support. Shown when Spinny can not be displayed. Please keep @@ -9505,57 +9905,57 @@ Shown when VuMeter can not be displayed. Please keep - + activate - + toggle - + right - + left - + right small - + left small - + up - + down - + up small - + down small - + Shortcut @@ -9563,62 +9963,62 @@ Shown when VuMeter can not be displayed. Please keep Library - + This or a parent directory is already in your library. - + This or a listed directory does not exist or is inaccessible. Aborting the operation to avoid library inconsistencies - - + + This directory can not be read. - + An unknown error occurred. Aborting the operation to avoid library inconsistencies - + Can't add Directory to Library - + Could not add <b>%1</b> to your library. %2 - + Can't remove Directory from Library - + An unknown error occurred. - + This directory does not exist or is inaccessible. - + Relink Directory - + Could not relink <b>%1</b> to <b>%2</b>. %3 @@ -9628,22 +10028,22 @@ Aborting the operation to avoid library inconsistencies LibraryFeature - + Import Playlist Įkelti grojaraštį - + Playlist Files (*.m3u *.m3u8 *.pls *.csv) Grojaraščio bylos (*.m3u *.m3u8 *.pls *.csv) - + Overwrite File? - + A playlist file with the name "%1" already exists. The default "m3u" extension was added because none was specified. @@ -9690,27 +10090,27 @@ Do you really want to overwrite it? MidiController - + MixxxControl(s) not found - + One or more MixxxControls specified in the outputs section of the loaded mapping were invalid. - + * Make sure the MixxxControls in question actually exist. Visit the manual for a complete list: - + Some LEDs or other feedback may not work correctly. - + * Check to see that the MixxxControl names are spelled correctly in the mapping file (.xml) @@ -9770,22 +10170,22 @@ Do you really want to overwrite it? MixxxLibraryFeature - + Missing Tracks - + Hidden Tracks - - Export to Engine Prime + + Export to Engine DJ - + Tracks @@ -9793,208 +10193,249 @@ Do you really want to overwrite it? MixxxMainWindow - + Sound Device Busy - + <b>Retry</b> after closing the other application or reconnecting a sound device - - + + <b>Reconfigure</b> Mixxx's sound device settings. - - + + Get <b>Help</b> from the Mixxx Wiki. - - - + + + <b>Exit</b> Mixxx. - + Retry - + skin - + Allow Mixxx to hide the menu bar? - + Hide Always show the menu bar? - + Always show - + The Mixxx menu bar is hidden and can be toggled with a single press of the <b>Alt</b> key.<br><br>Click <b>%1</b> to agree.<br><br>Click <b>%2</b> to disable that, for example if you don't use Mixxx with a keyboard.<br><br>You can change this setting any time in Preferences -> Interface.<br> Keep formatting tags <b> (bold text) and <br> (linebreak). %1 is the placeholder for the 'Always show' button label - + Ask me again - - + + Reconfigure - + Help - - + + Exit - - + + Mixxx was unable to open all the configured sound devices. - + Sound Device Error - + <b>Retry</b> after fixing an issue - + No Output Devices - + Mixxx was configured without any output sound devices. Audio processing will be disabled without a configured output device. - + <b>Continue</b> without any outputs. - + Continue - + Load track to Deck %1 - + Deck %1 is currently playing a track. - + Are you sure you want to load a new track? - + There is no input device selected for this vinyl control. Please select an input device in the sound hardware preferences first. - + There is no input device selected for this passthrough control. Please select an input device in the sound hardware preferences first. - + There is no input device selected for this microphone. Do you want to select an input device? - + There is no input device selected for this auxiliary. Do you want to select an input device? - + + Scan took %1 + + + + + No changes detected. + + + + + + %1 tracks in total + + + + + %1 new tracks found + + + + + %1 moved tracks detected + + + + + %1 tracks are missing (%2 total) + + + + + %1 tracks have been rediscovered + + + + + Library scan finished + + + + Error in skin file - + The selected skin cannot be loaded. - + OpenGL Direct Rendering - + Direct rendering is not enabled on your machine.<br><br>This means that the waveform displays will be very<br><b>slow and may tax your CPU heavily</b>. Either update your<br>configuration to enable direct rendering, or disable<br>the waveform displays in the Mixxx preferences by selecting<br>"Empty" as the waveform display in the 'Interface' section. - - - + + + Confirm Exit - + A deck is currently playing. Exit Mixxx? - + A sampler is currently playing. Exit Mixxx? - + The preferences window is still open. - + Discard any changes and exit Mixxx? @@ -10010,13 +10451,13 @@ Do you want to select an input device? PlaylistFeature - + Lock Užrakinti - - + + Playlists @@ -10026,32 +10467,63 @@ Do you want to select an input device? - + + Adopt current order + + + + + Unlock all playlists + + + + + Delete all unlocked playlists + + + + Unlock Atrakinti - + + + Confirm Deletion + + + + + Do you really want to delete all unlocked playlists? + + + + + Deleting %1 unlocked playlists.<br>This operation can not be undone! + + + + Playlists are ordered lists of tracks that allow you to plan your DJ sets. - + It may be necessary to skip some tracks in your prepared playlist or add some different tracks in order to maintain the energy of your audience. - + Some DJs construct playlists before they perform live, but others prefer to build them on-the-fly. - + When using a playlist during a live DJ set, remember to always pay close attention to how your audience reacts to the music you've chosen to play. - + Create New Playlist Sukurti grojaraštį @@ -10150,58 +10622,58 @@ Do you want to select an input device? QMessageBox - + Upgrading Mixxx - + Mixxx now supports displaying cover art. Do you want to scan your library for cover files now? - + Scan Skenuoti - + Later - + Upgrading Mixxx from v1.9.x/1.10.x. - + Mixxx has a new and improved beat detector. - + When you load tracks, Mixxx can re-analyze them and generate new, more accurate beatgrids. This will make automatic beatsync and looping more reliable. - + This does not affect saved cues, hotcues, playlists, or crates. - + If you do not want Mixxx to re-analyze your tracks, choose "Keep Current Beatgrids". You can change this setting at any time from the "Beat Detection" section of the Preferences. - + Keep Current Beatgrids - + Generate New Beatgrids @@ -10315,69 +10787,82 @@ Do you want to scan your library for cover files now? - + Main + Audio path indetifier - + Booth + Audio path indetifier - + Headphones + Audio path indetifier - + Left Bus + Audio path indetifier - + Center Bus + Audio path indetifier - + Right Bus + Audio path indetifier - + Invalid Bus + Audio path indetifier - + Deck + Audio path indetifier - + Record/Broadcast + Audio path indetifier - + Vinyl Control + Audio path indetifier Vinilo kontrolė - + Microphone + Audio path indetifier - + Auxiliary + Audio path indetifier - + Unknown path type %1 + Audio path @@ -10706,47 +11191,49 @@ With width at zero, this allows for manually sweeping over the entire delay rang - + Metronome - + + The Mixxx Team - + Adds a metronome click sound to the stream - + BPM BPM - + Set the beats per minute value of the click sound - + Sync - + Synchronizes the BPM with the track if it can be retrieved - + + Gain - + Set the gain of metronome click sound @@ -11530,19 +12017,19 @@ Fully right: end of the effect period - - + + encoder failure - - + + Failed to apply the selected settings. - + Deck %1 Grotuvas %1 @@ -11675,7 +12162,7 @@ Hint: compensates "chipmunk" or "growling" voices - + Passthrough @@ -11706,7 +12193,7 @@ Hint: compensates "chipmunk" or "growling" voices - + Sampler %1 @@ -11743,15 +12230,86 @@ and the processed output signal as close as possible in perceived loudness + + Auto Gain Control + + + + + AGC + + + + + Auto Gain Control (AGC) automatically adjusts the gain of an audio signal to maintain a consistent output level. + + + + Threshold (dBFS) + Threshold + + + The Threshold knob adjusts the level above which the effect starts enhancing the input signal + + + + + Target (dBFS) + + + + + Target + + + + + The Target knob adjusts the desired target level of the output signal + + + + + Gain (dB) + + + + + The Gain knob adjusts the maximum amount of gain that the effect will apply + + + + + Knee (dB) + + + + + The Knee knob defines the range around the Threshold where gain changes are applied gradually, +ensuring smooth transitions and avoiding abrupt level shifts. + + + + + The Attack knob sets the time that determines how fast the auto gain +will set in once the signal exceeds the threshold + + + + + The Release knob sets the time that determines how fast the auto gain will recover from the gain +adjustment once the signal falls under the threshold. Depending on the input signal, short release times +may introduce a 'pumping' effect and/or distortion. + + The Threshold knob adjusts the level above which the compressor starts attenuating the input signal @@ -11780,6 +12338,7 @@ At a ratio of 1:1 no compression is happening, as the input is exactly the outpu + Knee @@ -11790,11 +12349,13 @@ At a ratio of 1:1 no compression is happening, as the input is exactly the outpu + Attack (ms) + Attack @@ -11806,11 +12367,13 @@ will set in once the signal exceeds the threshold + Release (ms) + Release @@ -11839,12 +12402,12 @@ may introduce a 'pumping' effect and/or distortion. - + built-in - + missing @@ -11879,42 +12442,42 @@ may introduce a 'pumping' effect and/or distortion. - + Empty - + Simple - + Filtered - + HSV - + VSyncTest - + RGB - + Stacked - + Unknown @@ -11972,54 +12535,54 @@ may introduce a 'pumping' effect and/or distortion. RekordboxFeature - - - + + + Rekordbox - + Playlists - + Folders - + Reads databases exported for Pioneer CDJ / XDJ players using the Rekordbox Export mode.<br/>Rekordbox can only export to USB or SD devices with a FAT or HFS file system.<br/>Mixxx can read a database from any device that contains the database folders (<tt>PIONEER</tt> and <tt>Contents</tt>).<br/>Not supported are Rekordbox databases that have been moved to an external device via<br/><i>Preferences > Advanced > Database management</i>.<br/><br/>The following data is read: - + Hot cues - + Loops (only the first loop is currently usable in Mixxx) - + Check for attached Rekordbox USB / SD devices (refresh) - + Beatgrids - + Memory cues - + (loading) Rekordbox @@ -12154,19 +12717,19 @@ may introduce a 'pumping' effect and/or distortion. Užrakinti - - + + Confirm Deletion - + Do you really want to delete all unlocked playlist from <b>%1</b>?<br><br> %1 is the year <b> + </b> are used to make the text in between bold in the popup <br> is a linebreak - + Deleting %1 playlists from <b>%2</b>.<br><br> %1 is the number of playlists to be deleted %2 is the year <b> + </b> are used to make the text in between bold in the popup <br> is a linebreak @@ -12175,193 +12738,193 @@ may introduce a 'pumping' effect and/or distortion. ShoutConnection - - + + Mixxx encountered a problem - + Could not allocate shout_t - + Could not allocate shout_metadata_t - + Error setting non-blocking mode: - + Error setting tls mode: - + Error setting hostname! - + Error setting port! - + Error setting password! - + Error setting mount! - + Error setting username! - + Error setting stream name! - + Error setting stream description! - + Error setting stream genre! - + Error setting stream url! - + Error setting stream IRC! - + Error setting stream AIM! - + Error setting stream ICQ! - + Error setting stream public! - + Unknown stream encoding format! - + Use a libshout version with %1 enabled - + Error setting stream encoding format! - + Broadcasting at 96 kHz with Ogg Vorbis is not currently supported. Please try a different sample rate or switch to a different encoding. - + See https://github.com/mixxxdj/mixxx/issues/5701 for more information. - + Unsupported sample rate - + Error setting bitrate - + Error: unknown server protocol! - + Error: Shoutcast only supports MP3 and AAC encoders - + Error setting protocol! - + Network cache overflow - + Connection error - + One of the Live Broadcasting connections raised this error:<br><b>Error with connection '%1':</b><br> - + Connection message - + <b>Message from Live Broadcasting connection '%1':</b><br> - + Lost connection to streaming server and %1 attempts to reconnect have failed. - + Lost connection to streaming server. - + Please check your connection to the Internet. - + Can't connect to streaming server - + Please check your connection to the Internet and verify that your username and password are correct. @@ -12369,7 +12932,7 @@ may introduce a 'pumping' effect and/or distortion. SoftwareWaveformWidget - + Filtered @@ -12377,23 +12940,23 @@ may introduce a 'pumping' effect and/or distortion. SoundManager - - + + a device - + An unknown error occurred - + Two outputs cannot share channels on "%1" - + Error opening "%1" @@ -12578,7 +13141,7 @@ may introduce a 'pumping' effect and/or distortion. - + Spinning Vinyl @@ -12760,7 +13323,7 @@ may introduce a 'pumping' effect and/or distortion. - + Cover Art Viršelis @@ -12950,243 +13513,243 @@ may introduce a 'pumping' effect and/or distortion. - + Displays the tempo of the loaded track in BPM (beats per minute). - + Tempo - + Key The musical key of a track Raktas - + BPM Tap - + When tapped repeatedly, adjusts the BPM to match the tapped BPM. - + Adjust BPM Down - + When tapped, adjusts the average BPM down by a small amount. - + Adjust BPM Up - + When tapped, adjusts the average BPM up by a small amount. - + Adjust Beats Earlier - + When tapped, moves the beatgrid left by a small amount. - + Adjust Beats Later - + When tapped, moves the beatgrid right by a small amount. - + Tempo and BPM Tap - + Show/hide the spinning vinyl section. - + Keylock - + Toggling keylock during playback may result in a momentary audio glitch. - + Toggle visibility of Loop Controls - + Toggle visibility of Beatjump Controls - + Toggle visibility of Rate Control - + Toggle visibility of Key Controls - + (while previewing) - + Places a cue point at the current position on the waveform. - + Stops track at cue point, OR go to cue point and play after release (CUP mode). - + Set cue point (Pioneer/Mixxx/Numark mode), set cue point and play after release (CUP mode) OR preview from it (Denon mode). - + Is latching the playing state. - + Seeks the track to the cue point and stops. - + Play - + Plays track from the cue point. - + Sends the selected channel's audio to the headphone output, selected in Preferences -> Sound Hardware. - + (This skin should be updated to use Sync Lock!) - + Enable Sync Lock - + Tap to sync the tempo to other playing tracks or the sync leader. - + Enable Sync Leader - + When enabled, this device will serve as the sync leader for all other decks. - + This is relevant when a dynamic tempo track is loaded to a sync leader deck.In that case, other synced devices will adopt the changing tempo. - + Changes the track playback speed (affects both the tempo and the pitch). If keylock is enabled, only the tempo is affected. - + Tempo Range Display - + Displays the current range of the tempo slider. - + Un-ejects when no track is loaded, i.e. reloads the track that was ejected last (of any deck). - + Delete selected hotcue. - + Track Comment - + Displays the comment tag of the loaded track. - + Opens separate artwork viewer. - + Effect Chain Preset Settings - + Show the effect chain settings menu for this unit. - + Select and configure a hardware device for this input - + Recording Duration @@ -13409,939 +13972,982 @@ may introduce a 'pumping' effect and/or distortion. - + When tapped repeatedly, adjusts the tempo to match the tapped BPM. + + + Click to open the tempo/BPM editor + + + + + It also shows a colored bar if Key colors are enabled in the Preferences. + + + The bar will be split vertically if the track's key is in between full keys. + + + + Tempo Tap - + Rate Tap and BPM Tap - + + Set Tempo + + + + + Set the desired tempo in BPM. If the track currently has no BPM detected, set the desired tempo in percent. + + + + + Adjust beatgrid by exactly one half beat. Usable only on +tracks with constant tempo. + + + + Revert last BPM/Beatgrid Change - + Revert last BPM/Beatgrid Change of the loaded track. - - + + Toggle the BPM/beatgrid lock - + Tempo and Rate Tap - + Tempo, Rate Tap and BPM Tap - + Shift cues earlier - - + + Shift cues imported from Serato or Rekordbox if they are slightly off time. - + Left click: shift 10 milliseconds earlier - + Right click: shift 1 millisecond earlier - + Shift cues later - + Left click: shift 10 milliseconds later - + Right click: shift 1 millisecond later - + + + + Drag a Hotcue button here to continue playing after releasing the Hotcue. + + + + Hint: Change the default cue mode in Preferences -> Decks. - + Mutes the selected channel's audio in the main output. - + Main mix enable - + Hold or short click for latching to mix this input into the main output. - - If hotcue is a loop cue, toggles the loop and jumps to if the loop is behind the play position. + + Reloads the last replaced track. If no track is loaded reloads the second-last ejected track. - - If the play position is inside an active loop, stores the loop as loop cue. + + If hotcue is a loop cue, toggles the loop and jumps to if the loop is behind the play position. - - Drag this button onto another Hotcue button to move it there (change its index). If the other hotcue is set, the two are swapped. + + If the play position is inside an active loop, stores the loop as loop cue. - - Dragging with Shift key pressed will not start previewing the hotcue + + Drag this button onto another Hotcue button to move it there (change its index). If the other hotcue is set, the two are swapped. - + Expand/Collapse Samplers - + Toggle expanded samplers view. - + Displays the duration of the running recording. - + Auto DJ is active - + Red for when needle skip has been detected. - + Hot Cue - Track will seek to nearest previous hotcue point. - + Sets the track Loop-In Marker to the current play position. - + Press and hold to move Loop-In Marker. - + Jump to Loop-In Marker. - + Sets the track Loop-Out Marker to the current play position. - + Press and hold to move Loop-Out Marker. - + Jump to Loop-Out Marker. - + If the track has no beats the unit is seconds. - + Beatloop Size - + Select the size of the loop in beats to set with the Beatloop button. - + Changing this resizes the loop if the loop already matches this size. - + Halve the size of an existing beatloop, or halve the size of the next beatloop set with the Beatloop button. - + Double the size of an existing beatloop, or double the size of the next beatloop set with the Beatloop button. - + Start a loop over the set number of beats. - + Temporarily enable a rolling loop over the set number of beats. - + Beatloop Anchor - + Define whether the loop is created and adjusted from its staring point or ending point. - + Beatjump/Loop Move Size - + Select the number of beats to jump or move the loop with the Beatjump Forward/Backward buttons. - + Beatjump Forward - + Jump forward by the set number of beats. - + Move the loop forward by the set number of beats. - + Jump forward by 1 beat. - + Move the loop forward by 1 beat. - + Beatjump Backward - + Jump backward by the set number of beats. - + Move the loop backward by the set number of beats. - + Jump backward by 1 beat. - + Move the loop backward by 1 beat. - + Reloop - + If the loop is ahead of the current position, looping will start when the loop is reached. - + Works only if Loop-In and Loop-Out Marker are set. - + Enable loop, jump to Loop-In Marker, and stop playback. - + Displays the elapsed and/or remaining time of the track loaded. - + Click to toggle between time elapsed/remaining time/both. - + Hint: Change the time format in Preferences -> Decks. - + Show/hide intro & outro markers and associated buttons. - + + Ensure all waveforms to have the same height across all channels. By default, when displaying the stem controls, waveform for channel that have no stem may render with a shorter height in order to honor the waveform container size you have requested.. + + + + Intro Start Marker - - - - + + + + If marker is set, jumps to the marker. - - - - + + + + If marker is not set, sets the marker to the current play position. - - - - + + + + If marker is set, clears the marker. - + Intro End Marker - + Outro Start Marker - + Outro End Marker - + Mix - + Adjust the mixing of the dry (input) signal with the wet (output) signal of the effect unit - + D/W mode: Crossfade between dry and wet - + D+W mode: Add wet to dry - + Mix Mode - + Adjust how the dry (input) signal is mixed with the wet (output) signal of the effect unit - + Dry/Wet mode (crossed lines): Mix knob crossfades between dry and wet Use this to change the sound of the track with EQ and filter effects. - + Dry+Wet mode (flat dry line): Mix knob adds wet to dry Use this to change only the effected (wet) signal with EQ and filter effects. - + Route the main mix through this effect unit. - + Route the left crossfader bus through this effect unit. - + Route the right crossfader bus through this effect unit. - + Right side active: parameter moves with right half of Meta Knob turn - + Stem Label - + Name of the stem stored in the stem file - + Text is displayed in the stem color stored in the stem file - + this stem color is also used for the waveform of this stem - + Stem Mute - + Toggle the stem mute/unmuted - + Stem Volume Knob - + Adjusts the volume of the stem - + Skin Settings Menu - + Show/hide skin settings menu - + Save Sampler Bank - + Save the collection of samples loaded in the samplers. - + Load Sampler Bank - + Load a previously saved collection of samples into the samplers. - + Show Effect Parameters - + Enable Effect - + Meta Knob Link - + Set how this parameter is linked to the effect's Meta Knob. - + Meta Knob Link Inversion - + Inverts the direction this parameter moves when turning the effect's Meta Knob. - + Super Knob - + Next Chain - + Previous Chain - + Next/Previous Chain - + Clear - + Clear the current effect. - + Toggle - + Toggle the current effect. - + Next - + Clear Unit - + Clear effect unit. - + Show/hide parameters for effects in this unit. - + Toggle Unit - + Enable or disable this whole effect unit. - + Controls the Meta Knob of all effects in this unit together. - + Load next effect chain preset into this effect unit. - + Load previous effect chain preset into this effect unit. - + Load next or previous effect chain preset into this effect unit. - - - - - - - - - + + + + + + + + + Assign Effect Unit - + Assign this effect unit to the channel output. - + Route the headphone channel through this effect unit. - + Route this deck through the indicated effect unit. - + Route this sampler through the indicated effect unit. - + Route this microphone through the indicated effect unit. - + Route this auxiliary input through the indicated effect unit. - + The effect unit must also be assigned to a deck or other sound source to hear the effect. - + Switch to the next effect. - + Previous - + Switch to the previous effect. - + Next or Previous - + Switch to either the next or previous effect. - + Meta Knob - + Controls linked parameters of this effect - + Effect Focus Button - + Focuses this effect. - + Unfocuses this effect. - + Refer to the web page on the Mixxx wiki for your controller for more information. - + Effect Parameter - + Adjusts a parameter of the effect. - + Inactive: parameter not linked - + Active: parameter moves with Meta Knob - + Left side active: parameter moves with left half of Meta Knob turn - + Left and right side active: parameter moves across range with half of Meta Knob turn and back with the other half - - + + Equalizer Parameter Kill - - + + Holds the gain of the EQ to zero while active. - + Quick Effect Super Knob - + Quick Effect Super Knob (control linked effect parameters). - + Hint: Change the default Quick Effect mode in Preferences -> Equalizers. - + Equalizer Parameter - + Adjusts the gain of the EQ filter. - + Hint: Change the default EQ mode in Preferences -> Equalizers. - - + + Adjust Beatgrid - + Adjust beatgrid so the closest beat is aligned with the current play position. - - + + Adjust beatgrid to match another playing deck. - + If quantize is enabled, snaps to the nearest beat. - + Quantize - + Toggles quantization. - + Loops and cues snap to the nearest beat when quantization is enabled. - + Reverse - + Reverses track playback during regular playback. - + Puts a track into reverse while being held (Censor). - + Playback continues where the track would have been if it had not been temporarily reversed. - - - + + + Play/Pause - + Jumps to the beginning of the track. - + Syncs the tempo (BPM) and phase to that of the other track, if BPM is detected on both. - + Syncs the tempo (BPM) to that of the other track, if BPM is detected on both. - + Sync and Reset Key - + Increases the pitch by one semitone. - + Decreases the pitch by one semitone. - + Enable Vinyl Control - + When disabled, the track is controlled by Mixxx playback controls. - + When enabled, the track responds to external vinyl control. - + Enable Passthrough - + Indicates that the audio buffer is too small to do all audio processing. - + Displays cover artwork of the loaded track. - + Displays options for editing cover artwork. - + Star Rating - + Assign ratings to individual tracks by clicking the stars. @@ -14476,33 +15082,33 @@ Use this to change only the effected (wet) signal with EQ and filter effects. - + Prevents the pitch from changing when the rate changes. - + Changes the number of hotcue buttons displayed in the deck - + Starts playing from the beginning of the track. - + Jumps to the beginning of the track and stops. - - + + Plays or pauses the track. - + (while playing) @@ -14522,205 +15128,215 @@ Use this to change only the effected (wet) signal with EQ and filter effects. - + (while stopped) - + Cue - + Headphone - + Mute Išjungti garsą - + Old Synchronize - + Syncs to the first deck (in numerical order) that is playing a track and has a BPM. - + If no deck is playing, syncs to the first deck that has a BPM. - + Decks can't sync to samplers and samplers can only sync to decks. - + Hold for at least a second to enable sync lock for this deck. - + Decks with sync locked will all play at the same tempo, and decks that also have quantize enabled will always have their beats lined up. - + Resets the key to the original track key. - + Speed Control - - - + + + Changes the track pitch independent of the tempo. - + Increases the pitch by 10 cents. - + Decreases the pitch by 10 cents. - + Pitch Adjust - + Adjust the pitch in addition to the speed slider pitch. - + Opens a menu to clear hotcues or edit their labels and colors. - + + Drag this button onto a Play button while previewing to continue playback after release. + + + + + Dragging with Shift key pressed will not start previewing the hotcue. + + + + Record Mix - + Toggle mix recording. - + Enable Live Broadcasting - + Stream your mix over the Internet. - + Provides visual feedback for Live Broadcasting status: - + disabled, connecting, connected, failure. - + When enabled, the deck directly plays the audio arriving on the vinyl input. - + Playback will resume where the track would have been if it had not entered the loop. - + Loop Exit - + Turns the current loop off. - + Slip Mode - + When active, the playback continues muted in the background during a loop, reverse, scratch etc. - + Once disabled, the audible playback will resume where the track would have been. - + Track Key The musical key of a track - + Displays the musical key of the loaded track. - + Clock - + Displays the current time. - + Audio Latency Usage Meter - + Displays the fraction of latency used for audio processing. - + A high value indicates that audible glitches are likely. - + Do not enable keylock, effects or additional decks in this situation. - + Audio Latency Overload Indicator @@ -14760,259 +15376,259 @@ Use this to change only the effected (wet) signal with EQ and filter effects. - + Displays the current musical key of the loaded track after pitch shifting. - + Fast Rewind - + Fast rewind through the track. - + Fast Forward - + Fast forward through the track. - + Jumps to the end of the track. - + Sets the pitch to a key that allows a harmonic transition from the other track. Requires a detected key on both involved decks. - - - + + + Pitch Control - + Pitch Rate - + Displays the current playback rate of the track. - + Repeat - + When active the track will repeat if you go past the end or reverse before the start. - + Eject - + Ejects track from the player. - + Hotcue - + If hotcue is set, jumps to the hotcue. - + If hotcue is not set, sets the hotcue to the current play position. - + Vinyl Control Mode - + Absolute mode - track position equals needle position and speed. - + Relative mode - track speed equals needle speed regardless of needle position. - + Constant mode - track speed equals last known-steady speed regardless of needle input. - + Vinyl Status - + Provides visual feedback for vinyl control status: - + Green for control enabled. - + Blinking yellow for when the needle reaches the end of the record. - + Loop-In Marker - + Loop-Out Marker - + Loop Halve - + Halves the current loop's length by moving the end marker. - + Deck immediately loops if past the new endpoint. - + Loop Double - + Doubles the current loop's length by moving the end marker. - + Beatloop - + Toggles the current loop on or off. - + Works only if Loop-In and Loop-Out marker are set. - + Vinyl Cueing Mode - + Determines how cue points are treated in vinyl control Relative mode: - + Off - Cue points ignored. - + One Cue - If needle is dropped after the cue point, track will seek to that cue point. - + Track Time - + Track Duration - + Displays the duration of the loaded track. - + Information is loaded from the track's metadata tags. - + Track Artist - + Displays the artist of the loaded track. - + Track Title - + Displays the title of the loaded track. - + Track Album Albumas - + Displays the album name of the loaded track. - + Track Artist/Title - + Displays the artist and title of the loaded track. @@ -15020,12 +15636,12 @@ Use this to change only the effected (wet) signal with EQ and filter effects. TrackCollection - + Hiding tracks - + The selected tracks are in the following playlists:%1Hiding them will remove them from these playlists. Continue? @@ -15033,47 +15649,42 @@ Use this to change only the effected (wet) signal with EQ and filter effects. TrackExportDlg - + Export finished - + Exporting %1 - - - Overwrite Existing File? - - - "%1" already exists, overwrite? + Replace Existing File? - - &Overwrite + + "%1" already exists, replace? - - Over&write All + + &Replace - - &Skip + + Apply to all files - Skip &All + &Skip - + Export Error @@ -15245,47 +15856,75 @@ This can not be undone! WCueMenuPopup - + Cue number - + Cue position - + Edit cue label - + Label... - + Delete this cue - - Toggle this cue type between normal cue and saved loop + + Turn this cue into a regular hotcue + + + + + Turn this cue into a saved loop + + + + + Left-click: Use the old size if known or the current beatloop size as the loop size + + + + + Right-click: Use the current play position as new loop end if it is after the cue + + + + + Turn this cue into a saved forward jump. + + is a linebreak. Try to not to extend the translation beyond the length of the longest source line so the tooltip remains compact. + + + + + Turn this cue into a saved backward jump (one shot loop). - - Left-click: Use the old size or the current beatloop size as the loop size + + Left-click: Use the old size if known or the current play position as jump start position +If this is already a jump cue, swap the jump position and the cue/target position. - - Right-click: Use the current play position as loop end if it is after the cue + + Right-click: use current play position as new jump start position - + Hotcue #%1 @@ -15409,407 +16048,448 @@ This can not be undone! - - E&xport Library to Engine Prime + + Search in Current View... - - Export the library to the Engine Prime format + + Search for tracks in the current library view + + + + + Ctrl+f + + + + + Search in Tracks Library... + + + + + Search in the internal track collection under "Tracks" in the library + + + + + Ctrl+Shift+F - + Create &New Playlist - + Create a new playlist - + Ctrl+n - + Create New &Crate - + Create a new crate - + Ctrl+Shift+N - - + + &View - + Auto-hide menu bar - + Auto-hide the main menu bar when it's not used. - + May not be supported on all skins. - + Show Skin Settings Menu - + Show the Skin Settings Menu of the currently selected Skin - + Ctrl+1 Menubar|View|Show Skin Settings - + Show Microphone Section - + Show the microphone section of the Mixxx interface. - + Ctrl+2 Menubar|View|Show Microphone Section - + Show Vinyl Control Section - + Show the vinyl control section of the Mixxx interface. - + Ctrl+3 Menubar|View|Show Vinyl Control Section - + Show Preview Deck - + Show the preview deck in the Mixxx interface. - + Ctrl+4 Menubar|View|Show Preview Deck - + Show Cover Art - + Show cover art in the Mixxx interface. - + Ctrl+6 Menubar|View|Show Cover Art - + Maximize Library - + Maximize the track library to take up all the available screen space. - + Space Menubar|View|Maximize Library - + + Show Auto DJ + + + + + Switch to the Auto DJ view. + + + + &Full Screen - + Display Mixxx using the full screen - + &Options - + &Vinyl Control - + Use timecoded vinyls on external turntables to control Mixxx - + Enable Vinyl Control &%1 - + &Record Mix - + Record your mix to a file - + Ctrl+R - + Enable Live &Broadcasting - + Stream your mixes to a shoutcast or icecast server - + Ctrl+L - + Enable &Keyboard Shortcuts - + Toggles keyboard shortcuts on or off - + Ctrl+` - + &Preferences - + Change Mixxx settings (e.g. playback, MIDI, controls) - + &Developer - + &Reload Skin - + Reload the skin - + Ctrl+Shift+R - + Developer &Tools - + Opens the developer tools dialog - + Ctrl+Shift+T - + Stats: &Experiment Bucket - + Enables experiment mode. Collects stats in the EXPERIMENT tracking bucket. - + Ctrl+Shift+E - + Stats: &Base Bucket - + Enables base mode. Collects stats in the BASE tracking bucket. - + Ctrl+Shift+B - + Deb&ugger Enabled - + Enables the debugger during skin parsing - + Ctrl+Shift+D - + &Help - + Show Keywheel menu title - + + E&xport Library to Engine DJ + "Engine DJ" must not be translated + + + + + Export the library to the Engine DJ format + + + + Show keywheel tooltip text - + F12 Menubar|View|Show Keywheel - + &Community Support - + Get help with Mixxx - + &User Manual - + Read the Mixxx user manual. - + &Keyboard Shortcuts - + Speed up your workflow with keyboard shortcuts. - + &Settings directory - + Open the Mixxx user settings directory. - + &Translate This Application - + Help translate this application into your language. - + &About - + About the application @@ -15817,25 +16497,25 @@ This can not be undone! WOverview - + Passthrough - + Ready to play, analyzing... Text on waveform overview when file is playable but no waveform is visible - - + + Loading track... Text on waveform overview when file is cached from source - + Finalizing... Text on waveform overview during finalizing of waveform analysis @@ -15844,25 +16524,13 @@ This can not be undone! WSearchLineEdit - - Clear input - Clear the search bar input field - - - - - Ctrl+F - Search|Focus - - - - + Search noun - + Clear input @@ -15873,169 +16541,163 @@ This can not be undone! - + Clear the search bar input field - - Enter a string to search for + + Return - - Use operators like bpm:115-128, artist:BooFar, -year:1990 + + Enter a string to search for. - - For more information see User Manual > Mixxx Library + + Use operators like bpm:115-128, artist:BooFar, -year:1990. - Shortcut + See User Manual > Mixxx Library for more information. - - Ctrl+F + + Focus/Select All (Search in current view) + Give search bar input focus - - Focus - Give search bar input focus + + Focus/Select All (Search in 'Tracks' library view) - - - Ctrl+Backspace + + Additional Shortcuts When Focused: - Shortcuts + Trigger search before search-as-you-type timeout or focus tracks view afterwards - Return + Esc or Ctrl+Return - Trigger search before search-as-you-type timeout orjump to tracks view afterwards + Immediately trigger search and focus tracks view + Exit search bar and leave focus - + Ctrl+Space - + Toggle search history Shows/hides the search history entries - + Delete or Backspace - - Delete query from history - - - - - Esc + + in search history - - Exit search - Exit search bar and leave focus + + Delete query from history WSearchRelatedTracksMenu - + Search related Tracks - + Key Raktas - + harmonic with %1 - + BPM BPM - + between %1 and %2 - + Artist Atlikėjas - + Album Artist Albumas Atlikėjas - + Composer Kūrėjas - + Title Pavadinimas - + Album Albumas - + Grouping Grupavimas - + Year Metai - + Genre Stilius - + Directory - + &Search selected @@ -16043,599 +16705,640 @@ This can not be undone! WTrackMenu - + Load to - + Deck - + Sampler - + Add to Playlist - + Crates Paketai - + Metadata - + Update external collections - + Cover Art Viršelis - + Adjust BPM - + Select Color - - + + Analyze Analizuoti - - + + Delete Track Files - + Add to Auto DJ Queue (bottom) Įkelti į Automatinio DJ Eilę (apačioje) - + Add to Auto DJ Queue (top) Įkelti į Automatinio DJ Eilę (viršuje) - + Add to Auto DJ Queue (replace) - + Preview Deck - + Remove Pašalinti - + Remove from Playlist - + Remove from Crate - + Hide from Library - + Unhide from Library - + Purge from Library - + Move Track File(s) to Trash - + Delete Files from Disk - + Properties - + Open in File Browser - + Select in Library - + Import From File Tags - + Import From MusicBrainz - + Export To File Tags - + BPM and Beatgrid - + Play Count - + Rating Vertinimas - + Cue Point - + + Hotcues - + Intro - + Outro - + Key Raktas - + ReplayGain „ReplayGain“ - + Waveform - + Comment Komentaras - + All - + + Sort hotcues by position (remove offsets) + + + + + Sort hotcues by position + + + + Lock BPM - + Unlock BPM - + Double BPM - + Halve BPM - + 2/3 BPM - + 3/4 BPM - + 4/3 BPM - + 3/2 BPM - + + Shift Beatgrid Half Beat + + + + Reanalyze - + Reanalyze (constant BPM) - + Reanalyze (variable BPM) - + Update ReplayGain from Deck Gain - + Deck %1 Grotuvas %1 - + Importing metadata of %n track(s) from file tags - + Marking metadata of %n track(s) to be exported into file tags - - + + Create New Playlist Sukurti grojaraštį - + Enter name for new playlist: Įrašykite naujo grojaraščio pavadinimą: - + New Playlist Naujas grojaraštis - - - + + + Playlist Creation Failed Grojaraščio kūrimas nepavyko - + A playlist by that name already exists. Grojaraštis šiuo pavadinimu jau egzistuoja. - + A playlist cannot have a blank name. Grojaraščio pavadinimas negali būti tuščias. - + An unknown error occurred while creating playlist: Įvyko nežinoma klaida sukuriant grojaraštį: - + Add to New Crate - + Scaling BPM of %n track(s) - + Undo BPM/beats change of %n track(s) - + Locking BPM of %n track(s) - + Unlocking BPM of %n track(s) - + Setting rating of %n track(s) - + Setting color of %n track(s) - + Resetting play count of %n track(s) - + Resetting beats of %n track(s) - + Clearing rating of %n track(s) - + Clearing comment of %n track(s) - + Removing main cue from %n track(s) - + Removing outro cue from %n track(s) - + Removing intro cue from %n track(s) - + Removing loop cues from %n track(s) - + Removing hot cues from %n track(s) - + + Sorting hotcues of %n track(s) by position (remove offsets) + + + + + Sorting hotcues of %n track(s) by position + + + + Resetting keys of %n track(s) - + Resetting replay gain of %n track(s) - + Resetting waveform of %n track(s) - + Resetting all performance metadata of %n track(s) - + Move these files to the trash bin? - + Permanently delete these files from disk? - - + + This can not be undone! - + Cancel - + Delete Files - + Okay - + Move Track File(s) to Trash? - + Track Files Deleted - + Track Files Moved To Trash - + %1 track files were moved to trash and purged from the Mixxx database. - + %1 track files were deleted from disk and purged from the Mixxx database. - + Track File Deleted - + Track file was deleted from disk and purged from the Mixxx database. - + The following %1 file(s) could not be deleted from disk - + This track file could not be deleted from disk - + Remaining Track File(s) - + Close - + Clear Reset metadata in right click track context menu in library - + Loops - + Clear BPM and Beatgrid - + Undo last BPM/beats change - + Move this track file to the trash bin? - + Permanently delete this track file from disk? - + All decks where these tracks are loaded will be stopped and the tracks will be ejected. - + All decks where this track is loaded will be stopped and the track will be ejected. - + Removing %n track file(s) from disk... - + Note: if you are in the Computer or Recording view you need to click the current view again to see changes. - + Track File Moved To Trash - + Track file was moved to trash and purged from the Mixxx database. - + Don't show again during this session - + The following %1 file(s) could not be moved to trash - + This track file could not be moved to trash + + + Replace current Auto DJ queue? + + + + + Do you want to replace the entire Auto DJ queue with the selected tracks? + + + + + Don't ask again during this session + + - + Setting cover art of %n track(s) - + Reloading cover art of %n track(s) @@ -16651,37 +17354,37 @@ This can not be undone! WTrackStemMenu - + Load for stem mixing - + Load pre-mixed stereo track - + Load the "%1" stem - + Load multiple stem into a stereo deck - + Select stems to load - + Release "CTRL" to load the current selection - + Use "CTRL" to select multiple stems @@ -16689,37 +17392,37 @@ This can not be undone! WTrackTableView - + Confirm track hide - + Are you sure you want to hide the selected tracks? - + Are you sure you want to remove the selected tracks from AutoDJ queue? - + Are you sure you want to remove the selected tracks from this crate? - + Are you sure you want to remove the selected tracks from this playlist? - + Don't ask again during this session - + Confirm track removal @@ -16727,60 +17430,65 @@ This can not be undone! WTrackTableViewHeader - + Show or hide columns. + + + Shuffle Tracks + + mixxx::CoreServices - + fonts - + database - + effects - + audio interface - + decks - + library - + Choose music library directory - + controllers - + Cannot open database - + Unable to establish a database connection. Mixxx requires QT with SQLite support. Please read the Qt SQL driver documentation for information on how to build it. @@ -16791,67 +17499,78 @@ Click OK to exit. mixxx::DlgLibraryExport - + Entire music library - - Selected crates + + Crates + + + + + Playlists + + + + + Selected crates/playlists - + Browse Naršyti - + Export directory - + Database version - + Export - + Cancel - - Export Library to Engine Prime + + Export Library to Engine DJ + "Engine DJ" must not be translated - + Export Library To - + No Export Directory Chosen - + No export directory was chosen. Please choose a directory in order to export the music library. - + A database already exists in the chosen directory. Exported tracks will be added into this database. - + A database already exists in the chosen directory, but there was a problem loading it. Export is not guaranteed to succeed in this situation. @@ -16872,7 +17591,7 @@ Click OK to exit. mixxx::EnginePrimeExportJob - + Failed to export track %1 - %2: %3 %1 is the artist %2 is the title and %3 is the original error message @@ -16882,23 +17601,23 @@ Click OK to exit. mixxx::LibraryExporter - + Export Completed - - Exported %1 track(s) and %2 crate(s). + + Exported %1 track(s), %2 crate(s), and %3 playlist(s). - + Export Failed - - Exporting to Engine Prime... + + Exporting to Engine DJ... @@ -16923,6 +17642,24 @@ Click OK to exit. + + mixxx::qml::QmlApplication + + + Existing user profile detected + + + + + Trying to run Mixxx 3.0 with an existing %0 user profile! <br><br>There is <b>serious risks</b> of data loss and corruption.<br>We recommend using a test profile folder with the '--settings-path' argument. <br><br>If you want to continue at your own risk, run Mixxx with the argument '--allow-dangerous-data-corruption-risk'. + + + + + Ok + + + mixxx::qml::QmlVisibleEffectsModel @@ -16931,4 +17668,27 @@ Click OK to exit. + + mixxx::qml::QmlWaveformRendererMark + + + Cannot find the marker pixmap + + + + + Cannot find the marker endPixmap + + + + + Cannot find the marker icon + + + + + Cannot find the marker endIcon + + + \ No newline at end of file diff --git a/res/translations/mixxx_nl.qm b/res/translations/mixxx_nl.qm index 5c6e526f49e9c8aca77e7fb7a2c813184fd61d43..f780ff74d4f0d12c51ca20f6f263b600c15b7eb7 100644 GIT binary patch delta 25591 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 delta 27621 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 N1`{_`-k_JA`9Ckxa3uf$ diff --git a/res/translations/mixxx_nl.ts b/res/translations/mixxx_nl.ts index 79ad4e6e9955..9eea7fa2332b 100644 --- a/res/translations/mixxx_nl.ts +++ b/res/translations/mixxx_nl.ts @@ -8,6 +8,14 @@ + + AllTrackLibraryFeature + + + All... + + + AnalysisFeature @@ -19,52 +27,52 @@ AutoDJFeature - + Crates Kratten - + Enable Auto DJ Activeer Auto DJ - + Disable Auto DJ De-activeer Auto DJ - + Clear Auto DJ Queue Wis de Auto DJ wachtrij - + Remove Crate as Track Source Verwijder Krat als Track bron - + Auto DJ Auto-DJ - + Confirmation Clear Bevestig het wissen - + Do you really want to remove all tracks from the Auto DJ queue? Wilt u echt alle tracks uit de Auto DJ wachtrij verwijderen? - + This can not be undone. Dit can niet ongedaan gemaakt worden - + Add Crate as Track Source Voeg Krat toe als Track bron @@ -223,7 +231,7 @@ - + Export Playlist Exporteer afspeellijst @@ -277,13 +285,13 @@ - + Playlist Creation Failed Creatie Afspeellijst is mislukt - + An unknown error occurred while creating playlist: Een onbekende fout trad op bij het creëren van afspeellijst: @@ -298,12 +306,12 @@ Weet je zeker dat je de afspeellijst <b>%1</b> wil verwijderen? - + M3U Playlist (*.m3u) M3U Afspeellijst (*.m3u) - + M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Text CSV (*.csv);;Readable Text (*.txt) M3U Afspeellijst (*.m3u);;M3U8 Afspeellijst (*.m3u8);;PLS Afspeellijst (*.pls);;Tekst CSV (*.csv);;Leesbare Tekst (*.txt) @@ -311,12 +319,12 @@ BaseSqlTableModel - + # # - + Timestamp Tijdstempel @@ -324,7 +332,7 @@ BaseTrackPlayerImpl - + Couldn't load track. Kan de Track niet laden. @@ -362,7 +370,7 @@ Kanalen - + Color Kleur @@ -377,7 +385,7 @@ Componist - + Cover Art Cover Art @@ -387,7 +395,7 @@ Datum Toegevoegd - + Last Played Laatst Afgespeeld @@ -417,7 +425,7 @@ Toonaard (Key) - + Location Locatie @@ -427,7 +435,7 @@ - + Preview Voorbeluistering @@ -467,7 +475,7 @@ Jaar - + Fetching image ... Tooltip text on the cover art column shown when the cover is read from disk Afbeelding ophalen @@ -489,22 +497,22 @@ BroadcastProfile - + Can't use secure password storage: keychain access failed. Kan veilige wachtwoordopslag niet gebruiken: toegang tot keychain is mislukt. - + Secure password retrieval unsuccessful: keychain access failed. Veilig ophalen van wachtwoorden mislukt: toegang keychain mislukt. - + Settings error Fout in Instellingen - + <b>Error with settings for '%1':</b><br> <b>Fout bij instellingen voor '%1':</b><br> @@ -592,7 +600,7 @@ - + Computer Computer @@ -612,17 +620,17 @@ Scan - + "Computer" lets you navigate, view, and load tracks from folders on your hard disk and external devices. De optie "Computer" laat u toe om door mappen te navigeren, nummers te bekijken en te laden van op uw harde schijf en externe apparaten. - + It shows the data from the file tags, not track data from your Mixxx library like other track views. - + If you load a track file from here, it will be added to your library. @@ -735,12 +743,12 @@ Bestand Aangemaakt - + Mixxx Library Mixxx Bibliotheek - + Could not load the following file because it is in use by Mixxx or another application. Kan het volgende bestand niet laden, omdat het in gebruik is door Mixxx of een andere applicatie. @@ -771,87 +779,92 @@ CmdlineArgs - + Mixxx is an open source DJ software. For more information, see: Mixxx is een open source DJ software. Voor meer informatie, zie: - + Starts Mixxx in full-screen mode Start Mixxx in volledig scherm Modus - + Use a custom locale for loading translations. (e.g 'fr') Gebruik een aangepaste landinstelling voor het laden van vertalingen. (bijv. 'fr') - + Top-level directory where Mixxx should look for its resource files such as MIDI mappings, overriding the default installation location. Map op het hoogste niveau waar Mixxx moet zoeken naar zijn bronbestanden zoals MIDI-mappings, die de standaardinstallatielocatie overschrijft. - + Path the debug statistics time line is written to Pad waar de debug statistieken naar worden geschreven - + Causes Mixxx to display/log all of the controller data it receives and script functions it loads Zorgt ervoor dat Mixxx alle ontvangen controllergegevens en scriptfuncties die het laadt weergeeft/logt - + The controller mapping will issue more aggressive warnings and errors when detecting misuse of controller APIs. New Controller Mappings should be developed with this option enabled! The verbinding met de controller zal emeer aggressieve meldingen en fouten weergeven wanner verkeerd gebruik van controller-API's wordt gedetecteerd. Nieuwe controller-verbindingen zullen worden ontwikkeld met deze optie geactiveerd.! - + Enables developer-mode. Includes extra log info, stats on performance, and a Developer tools menu. Schakelt de ontwikkelaarsModus in. Bevat extra loginformatie, prestatiestatistieken en een menu voor ontwikkelaarstools. - + Top-level directory where Mixxx should look for settings. Default is: Hoofd-niveau bestandsmap waar Mixxx moet in kijken voor instellingen. Standaardmap is: - + Starts Auto DJ when Mixxx is launched. Start Auto DJ wanneer Mixxx wordt opgestart. - + Rescans the library when Mixxx is launched. Scant de bibliotheek opnieuw wanneer Mixxx wordt opgestart - + Use legacy vu meter Gebruik de bestaande vu meter - + Use legacy spinny gebruik de bestaande spinny - - Loads experimental QML GUI instead of legacy QWidget skin - Laadt de experimentele QML GUI opv de normale QWidget skin + + Loads the highly unstable 3.0 Mixxx interface, based on QML. You need to use a new setting profile, or run with 'allow-dangerous-data-corruption-risk' to use with the current one. We highly recommend backing up your data if you do so. + - + + Force Mixxx to load an unstable version with an existing user profile from a stable version + + + + Enables safe-mode. Disables OpenGL waveforms, and spinning vinyl widgets. Try this option if Mixxx is crashing on startup. Schakelt veilige Modus in. Schakelt OpenGL-golfvormen en draaiende vinylwidgets uit. Probeer deze optie als Mixxx crasht bij het opstarten. - + [auto|always|never] Use colors on the console output. [auto|altijd|nooit] Gebruik kleuren op de console-uitvoer. - + Sets the verbosity of command line logging. critical - Critical/Fatal only warning - Above + Warnings @@ -866,32 +879,32 @@ debug - Boven + Debug/Ontwikkelaarsberichten traceren - Boven + Profileringsberichten - + Sets the the logging level at which the log buffer is flushed to mixxx.log. <level> is one of the values defined at --log-level above. Stelt het logging-niveau voor de log-buffer waarop de buffer naar de Mixxx-logs wordt gestuurd. <level> is één van de waarden gedefinieerd op het --log-niveau bovenaan. - + Sets the maximum file size of the mixxx.log file in bytes. Use -1 for unlimited. The default is 100 MB as 1e5 or 100000000. Stelt de maximum grootte in voor een mixxx.log bestand in bytes. Gebruik -1 voor ongelimiteerd. De standaard is 100 MB als 1e5 or 100000000. - + Breaks (SIGINT) Mixxx, if a DEBUG_ASSERT evaluates to false. Under a debugger you can continue afterwards. Breekt (SIGINT) Mixxx, als een DEBUG_ASSERT evalueert naar false. Onder een debugger kunt u daarna verdergaan. - + Overrides the default application GUI style. Possible values: %1 Overschrijft de standaard applicatie GUI stijl. Mogelijke waarden: %1 - + Load the specified music file(s) at start-up. Each file you specify will be loaded into the next virtual deck. Laad het/de opgegeven muziekbestand(en) bij het opstarten. Elk bestand dat u opgeeft, wordt in het volgende virtuele deck geladen. - + Preview rendered controller screens in the Setting windows. Bekijk het berekend controller scherm in de Instellingen vensters. @@ -984,2557 +997,2585 @@ traceren - Boven + Profileringsberichten ControlPickerMenu - + Headphone Output Hoofdtelefoon Output - - - + + + + Deck %1 + %1 is the deck number 1 ... 4 Deck %1 - + Sampler %1 Sampler %1 - + Preview Deck %1 Voorbeluistering Deck %1 - + Microphone %1 Microfoon %1 - + Auxiliary %1 Auxiliary %1 - + Reset to default Reset naar standaard - + Effect Rack %1 Effecten Rack %1 - + Parameter %1 Parameter %1 - + Mixer Mixer - - + + Crossfader Crossfader - + Headphone mix (pre/main) Hoofdtelefoon mix (pre/main) - + Toggle headphone split cueing Hoofdtelefoon gesplitst geluid-schakelaar - + Headphone delay Hoofdtelefoon vertraging - + Transport Transport - + Strip-search through track Track grondig doorzoeken - + Play button Afspeel-knop - - + + Set to full volume Zet het volume maximaal - - + + Set to zero volume Zet volume op nul - + Stop button Stop-knop - + Jump to start of track and play Spring naar begin van Track en speel af - + Jump to end of track Spring naar einde van Track - + Reverse roll (Censor) button Reverse roll (Censor) knop - + Headphone listen button Hoofdtelefoon luister-knop - - + + Mute button Demp-knop - + Toggle repeat mode Herhaal Modus Aan/Uit-Schakelaar - - + + Mix orientation (e.g. left, right, center) Oriëntatie van de mix (bvb links, rechts, midden) - - + + Set mix orientation to left Stel de Mix-Oriëntatie in naar links - - + + Set mix orientation to center Stel de Mix-Oriëntatie in naar het midden - - + + Set mix orientation to right Stel de Mix-Oriëntatie in naar rechts - + Toggle slip mode Slip mode Aan/Uit-Schakelaar - - + + BPM BPM - + Increase BPM by 1 Verhoog BPM met 1 - + Decrease BPM by 1 Verlaag BPM met 1 - + Increase BPM by 0.1 Verhoog BPM met 0.1 - + Decrease BPM by 0.1 Verlaag BPM met 0.1 - + BPM tap button BPM tik knop - + Toggle quantize mode Quantize Modus Aan/Uit-Schakelaar - + One-time beat sync (tempo only) Eenmalige beat-synchronisatie (alleen tempo) - + One-time beat sync (phase only) Eenmalige beat-synchronisatie (alleen fase) - + Toggle keylock mode Toonaard (Key)-vergrendeling Aan/Uit-Schakelaar - + Equalizers Equalizers - + Vinyl Control Vinyl Besturing - + Toggle vinyl-control cueing mode (OFF/ONE/HOT) Vinylbestuuring Cue-Modus Schakelaar (OFF/ONE/HOT) - + Toggle vinyl-control mode (ABS/REL/CONST) Vinylbesturing Cue-Modus Schakelaar (ABS/REL/CONST) - + Pass through external audio into the internal mixer Laat externe audio door naar de interne mixer - + Cues Cues - + Cue button Cue knop - + Set cue point Stel het Cue-pint in - + Go to cue point Ga naar het Cue-Punt - + Go to cue point and play Spring naar het Cue-Punt en speel af - + Go to cue point and stop Spring naar het Cue-Punt en stop - + Preview from cue point Voorbeluistering vanaf het Cue-Punt - + Cue button (CDJ mode) Cue knop (CDJ Modus) - + Stutter cue Stotter Cue - + Hotcues Hotcues - + Set, preview from or jump to hotcue %1 Instellen, voorbeluisteren van of spring naar Hotcue %1 - + Clear hotcue %1 Wis Hotcue %1 - + Set hotcue %1 Stel Hotcue %1 in - + Jump to hotcue %1 Spring naar Hotcue %1 - + Jump to hotcue %1 and stop Spring naar Hotcue %1 en stop - + Jump to hotcue %1 and play Spring naar Hotcue %1 en speel af - + Preview from hotcue %1 Voorbeluisteren vanaf Hotcue %1 - - + + Hotcue %1 Hotcue %1 - + Looping Looping (herhaallussen) - + Loop In button Loop In-knop - + Loop Out button Loop Out-knop - + Loop Exit button Loop Exit-knop - + 1/2 1/2 - + 1 1 - + 2 2 - + 4 4 - + 8 8 - + 16 16 - + 32 32 - + 64 64 - + Move loop forward by %1 beats Verplaats loop %1 beats vooruit - + Move loop backward by %1 beats Verplaats loop %1 beats achteruit - + Create %1-beat loop Maak %1-beat loop - + Create temporary %1-beat loop roll Maak tijdelijke %1-beat loop roll - + Library Bibliotheek - + Slot %1 Spoor %1 - + Headphone Mix Hoofdtelefoon Mix - + Headphone Split Cue Hoofdtelefoon Split Cue - + Headphone Delay Hoofdtelefoon Vertraging - + Play Afspelen - + Fast Rewind Snel Terugspoelen - + Fast Rewind button Snel Terugspoel knop - + Fast Forward Snel vooruitspoelen - + Fast Forward button Snel Vooruitspoel knop - + Strip Search Grondig doorzoeken - + Play Reverse Achterwaarts Afspelen - + Play Reverse button Achterwaarts Afspelen knop - + Reverse Roll (Censor) Omgekeerde Roll (Censor) - + Jump To Start Spring naar Startpositie - + Jumps to start of track Spring naar de Startpositie van de Track - + Play From Start Afspelen vanaf de Startpositie - + Stop Stop - + Stop And Jump To Start Stop en spring naar de Startpositie - + Stop playback and jump to start of track Stop afspelen en spring naar de Startpositie van de Track - + Jump To End Spring naar de Eindpositie - + Volume Volume - - - + + + Volume Fader Volume Fader - - + + Full Volume Maximaal Volume - - + + Zero Volume Geen Volume - + Track Gain Track Versterking - + Track Gain knob Track Versterking knop - - + + Mute Dempen - + Eject Uitwerpen - - + + Headphone Listen Hoofdtelefoon Luisteren - + Headphone listen (pfl) button Hoofdtelefoon luisteren (pfl) knop - + Repeat Mode Herhaal Modus - + Slip Mode Slip Modus - - + + Orientation Positionering - - + + Orient Left Positionering Links - - + + Orient Center Positionering Midden - - + + Orient Right Positionering Rechts - + BPM +1 BPM +1 - + BPM -1 BPM -1 - + BPM +0.1 BPM +0.1 - + BPM -0.1 BPM -0.1 - + BPM Tap BPM Tikken - + Adjust Beatgrid Faster +.01 Versnel Beatgrid +.01 - + Increase track's average BPM by 0.01 Versnel Track's gemiddelde BPM met 0.01 - + Adjust Beatgrid Slower -.01 Vertraag Beatgrid -.01 - + Decrease track's average BPM by 0.01 Vertraag Track's gemiddelde BPM met 0.01 - + Move Beatgrid Earlier Verplaats Beatgrid vooruit - + Adjust the beatgrid to the left Stel de beatgrid bij naar links - + Move Beatgrid Later Verplaats Beatgrid achteruit - + Adjust the beatgrid to the right Stel de beatgrid bij naar rechts - + Adjust Beatgrid Stel Beatgrid bij - + Align beatgrid to current position Lijn beatgrid uit met huidige positie - + Adjust Beatgrid - Match Alignment Stel Beatgrid bij - Huidige Uitlijning - + Adjust beatgrid to match another playing deck. Stel de beatgrid bij met een ander spelend deck. - + Quantize Mode Quantize Modus - + Sync Synchroniseer - + Beat Sync One-Shot Eenmalige beat-synchronisatie - + Sync Tempo One-Shot Eenmalige tempo-synchronisatie - + Sync Phase One-Shot Eenmalige fase-synchronisatie - + Pitch control (does not affect tempo), center is original pitch Toonhoogte (Pitch) besturing (heeft geen invloed op tempo), midden is de originele Toonhoogte (Pitch) - + Pitch Adjust Toonhoogte (Pitch) Bijregelen - + Adjust pitch from speed slider pitch Stel Toonhoogte (Pitch) bij van pitch schuifregelaar - + Match musical key Muziekale toonaaard overeenstemmen - + Match Key Toonaard (Key) overeenstemmen - + Reset Key Toonaard (Key) resetten - + Resets key to original Toonaard (Key) resetten naar origineel - + High EQ Hoge EQ - + Mid EQ Mid EQ - - + + Main Output Hoofduitgang - + Main Output Balance Hoofduitgang Balans - + Main Output Delay Hoofduitgang Delay - + Main Output Gain Hoofduitgang Versterking - + Low EQ Lage EQ - + Toggle Vinyl Control Vinyl Bediening Schakelaar - + Toggle Vinyl Control (ON/OFF) Vinyl Bediening AAN/UIT-Schakelaar - + Vinyl Control Mode Vinyl Bediening Modus - + Vinyl Control Cueing Mode Vinyl Bediening Cueing Modus - + Vinyl Control Passthrough Vinyl Bediening Directe Doorvoer - + Vinyl Control Next Deck Vinyl Bediening Volgend deck - + Single deck mode - Switch vinyl control to next deck Enkelvoudige deck Modus - Wissel Vinyl Bediening naar het volgend deck - + Cue Cue - + Set Cue Cue instellen - + Go-To Cue Spring Naar Cue - + Go-To Cue And Play Spring naar Cue en Speel - + Go-To Cue And Stop Spring naar Cue en Stop - + Preview Cue Cue voorbeluisteren - + Cue (CDJ Mode) Cue (CDJ Modus) - + Stutter Cue Stotter Cue - + Go to cue point and play after release Spring naar het Cue punt en speel na het loslaten - + Clear Hotcue %1 Wis Hotcue %1 - + Set Hotcue %1 Stel Hotcue %1 in - + Jump To Hotcue %1 Spring naar Hotcue %1 - + Jump To Hotcue %1 And Stop Spring naar Hotcue %1 en Stop - + Jump To Hotcue %1 And Play Spring naar Hotcue %1 en Speel - + Preview Hotcue %1 Hotcue %1 voorbeluisteren - + Loop In Loop In - + Loop Out Loop Out - + Loop Exit Verlaat Loop - + Reloop/Exit Loop Reloop/Verlaat Loop - + Loop Halve Halve Loop - + Loop Double Dubbele Loop - + 1/32 1/32 - + 1/16 1/16 - + 1/8 1/8 - + 1/4 1/4 - + Move Loop +%1 Beats Verplaats Loop +%1 Beats - + Move Loop -%1 Beats Verplaats Loop -%1 Beats - + Loop %1 Beats Loop %1 Beats - + Loop Roll %1 Beats Loop Roll %1 Beats - + Add to Auto DJ Queue (bottom) Toevoegen aan Auto-DJ Wachtrij (onderaan) - + Append the selected track to the Auto DJ Queue Voeg de geselecteerde Track toe aan de Auto-DJ wachtrij - + Add to Auto DJ Queue (top) Toevoegen aan Auto-DJ Wachtrij (bovenaan) - + Prepend selected track to the Auto DJ Queue Voeg de geselecterde Track vooraan toe in de Auto-DJ wachtrij - + Load Track Track Laden - + Load selected track Geselecteerde Track laden - + Load selected track and play Laad geselecteerde Track en speel af - - + + Record Mix Mix Opnemen - + Toggle mix recording Opname Mix Schakelaar - + Effects Effecten - - Quick Effects - Snelle Effecten - - - + Deck %1 Quick Effect Super Knob Deck %1 Snelle Effecten Superknop - + + Quick Effect Super Knob (control linked effect parameters) Snelle Effecten Superknop (bedien gekoppelde Effect-parameters) - - + + + + Quick Effect Snel Effect - + Clear Unit Wis Eenheid - + Clear effect unit Wis Effecten eenheid - + Toggle Unit Eenheid Aan/Uit-Schakelaar - + Dry/Wet Droog/Nat - + Adjust the balance between the original (dry) and processed (wet) signal. Pas de balans tussen het originele (droge) en verwerkte (natte) signaal aan. - + Super Knob Superknop - + Next Chain Volgende Schakel - + Assign Toewijzen - + Clear Wissen - + Clear the current effect Wis het huidige Effect - + Toggle Aan/Uit-Schakelaar - + Toggle the current effect Huidig Effect Aan/Uit-Schakelaar - + Next Volgende - + Switch to next effect Spring naar het volgende Effect - + Previous Vorige - + Switch to the previous effect Spring naar het vorige Effect - + Next or Previous Volgende of Vorige - + Switch to either next or previous effect Spring naar het volgende of vorige Effect - - + + Parameter Value Parameter Waarde - - + + Microphone Ducking Strength Microfoon Onderdrukkingssterkte - + Microphone Ducking Mode Microfoon Onderdrukkingsmodus - + Gain Versterken - + Gain knob Versterk-knop - + Shuffle the content of the Auto DJ queue Schudden van de Auto-DJ-wachtrij - + Skip the next track in the Auto DJ queue Sla het volgende nummer in de Auto-DJ-wachtrij over - + Auto DJ Toggle Auto-DJ Aan/Uit-Schakelaar - + Toggle Auto DJ On/Off Auto-DJ Aan/Uit-Schakelaar - + Show/hide the microphone & auxiliary section Toon/Verberg de microfoon & AUX sectie - + 4 Effect Units Show/Hide Toon/Verberg 4 Effect Units - + Switches between showing 2 and 4 effect units Schakelen tussen 2 en 4 Effect units tonen. - + Mixer Show/Hide Toon/Verberg mengpaneel - + Show or hide the mixer. Toon of Verberg de mixer. - + Cover Art Show/Hide (Library) Toon/Verberg Cover Art (Bibliotheek) - + Show/hide cover art in the library Toon/Verberg Cover Art in de Bibliotheek - + Library Maximize/Restore Bibliotheek Maximaliseren/Herstellen - + Maximize the track library to take up all the available screen space. Maximaliseer de Track-Bibliotheek om al de beschikbare schermruimte te benutten. - + Effect Rack Show/Hide Toon/Verberg het Effecten rack - + Show/hide the effect rack Toon/Verberg het Effecten rack - + Waveform Zoom Out Waveform Uitzoomen - + Headphone Gain Hoofdtelefoon Versterking - + Headphone gain Hoofdtelefoon versterking - + Tap to sync tempo (and phase with quantize enabled), hold to enable permanent sync Tik om het Tempo te synchroniseren (fase wordt met quantize ingeschakeld), ingedrukt houden om permanente synchronisatie in te schakelen - + One-time beat sync tempo (and phase with quantize enabled) Eenmalig beat-synchronisatie Tempo (fase wordt met quantize ingeschakeld) - + Playback Speed Afspeel Snelheid - + Playback speed control (Vinyl "Pitch" slider) Bediening Afspeel Snelheid (Vinyl "Toonhoogte (Pitch)" regelaar) - + Pitch (Musical key) Toonhoogte (Pitch) - + Increase Speed Versnellen - + Adjust speed faster (coarse) Snelheid Aanpassen - Versnellen (grof) - + Increase Speed (Fine) Versnellen (Fijn) - + Adjust speed faster (fine) Snelheid Aanpassen - Versnellen (fijn) - + Decrease Speed Vertragen - + Adjust speed slower (coarse) Snelheid Aanpassen - Vertragen (grof) - + Adjust speed slower (fine) Snelheid Aanpassen - Vertragen (fijn) - + Temporarily Increase Speed Tijdelijk Versnellen - + Temporarily increase speed (coarse) Tijdelijk Versnellen (grof) - + Temporarily Increase Speed (Fine) Tijdelijk Versnellen (Fijn) - + Temporarily increase speed (fine) Tijdelijk Versnellen (fijn) - + Temporarily Decrease Speed Tijdelijk Vertragen - + Temporarily decrease speed (coarse) Tijdelijk Vertragen (grof) - + Temporarily Decrease Speed (Fine) Tijdelijk Vertragen (Fijn) - + Temporarily decrease speed (fine) Tijdelijk Vertragen (fijn) - - + + Adjust %1 Aanpassen %1 - + + Deck %1 Stem %2 + + + + Effect Unit %1 Effect Eenheid %1 - + Button Parameter %1 Parameterknop %1 - + Skin Skin - + Controller Controller - + Crossfader / Orientation Crossfader / Oriëntatie - + Main Output gain Hoofduitgang Versterking - + Main Output balance Hoofduitgang Balans - + Main Output delay Hoofduitgang Delay - + Headphone Hoofdtelefoon - - + + Kill %1 + %1 is "Low EQ" "Mid EQ" or "High EQ" Dempen %1 - + Eject or un-eject track, i.e. reload the last-ejected track (of any deck)<br>Double-press to reload the last replaced track. In empty decks it reloads the second-last ejected track. Verwijder of herlaad een Track, bvb herlaad de laatst verwijderde Track (van om het even welke speler)<br>Dubbele druk herlaad de laatste vervangen Track. In een lege speler wordt de voorlaatste verwijderde Track geladen. - + BPM / Beatgrid BPM / Beatgrid - + Halve BPM Halveer BPM - + Multiply current BPM by 0.5 Vermenigvuldig huidige BPM met 0.5 - + 2/3 BPM 2/3 BPM - + Multiply current BPM by 0.666 Vermenigvuldig huidige BPM met 0.666 - + 3/4 BPM 3/4 BPM - + Multiply current BPM by 0.75 Vermenigvuldig huidige BPM met 0.75 - + 4/3 BPM 4/3 BPM - + Multiply current BPM by 1.333 Vermenigvuldig huidige BPM met 1.333 - + 3/2 BPM 3/2 BPM - + Multiply current BPM by 1.5 Vermenigvuldig huidige BPM met 1.5 - + Double BPM Verdubbel BPM - + Multiply current BPM by 2 Vermenigvuldig huidige BPM met 2 - + Tempo Tap Tempo Tikken - + Tempo tap button Tempo Tikken toets - + Move Beatgrid Beat-raster verplaatsen - + Adjust the beatgrid to the left or right Pas het Beat-raster aan naar links of rechts - + Move Beatgrid Half a Beat - + Adjust the beatgrid by exactly one half beat. Usable only for tracks with constant tempo. - - + + Toggle the BPM/beatgrid lock Schakel de BPM/beatgrid vergrendeling - + Revert last BPM/Beatgrid Change Maak de laatste BPM/Beatgrid wijziging ongedaan - + Revert last BPM/Beatgrid Change of the loaded track. Maak de laatste BPM/Beatgrid wijziging van de huidige track ongedaan - + Sync / Sync Lock Sync / Sync Lock - + Internal Sync Leader Interne synchronisatie geleider - + Toggle Internal Sync Leader Interne Synchronisatie geleider Aan/Uit-Schakelaar - - + + Internal Leader BPM Interne BPM geleider - + Internal Leader BPM +1 Interne BPM geleider +1 - + Increase internal Leader BPM by 1 Verhoog interne BPM geleider met 1 - + Internal Leader BPM -1 Interne BPM geleider -1 - + Decrease internal Leader BPM by 1 Verlaag interne BPM geleider met 1 - + Internal Leader BPM +0.1 Interne BPM geleider +0.1 - + Increase internal Leader BPM by 0.1 Verhoog interne BPM geleider met 0.1 - + Internal Leader BPM -0.1 Interne BPM geleider -0.1 - + Decrease internal Leader BPM by 0.1 Verlaag interne BPM geleider met 0.1 - + Sync Leader Synchronisatie geleider - + Sync mode 3-state toggle / indicator (Off, Soft Leader, Explicit Leader) Sync mode 3-standen Schakelaar/Aanwijzer (Uit, Zachte geleider, Uitdrukkelijke geleider) - + Speed Snelheid - + Decrease Speed (Fine) Snelheid Aanpassen - Vertragen (Fijn) - + Pitch (Musical Key) Toonhoogte (Pitch) aanpassen - + Increase Pitch Toonhoogte (Pitch) aanpassen - Verhoog toon - + Increases the pitch by one semitone Verhoogt de Toonhoogte (Pitch) met een halve toon - + Increase Pitch (Fine) Toonhoogte (Pitch) aanpassen - Verhoog Toonhoogte (Fijn) - + Increases the pitch by 10 cents Verhoogt de Toonhoogte (Pitch) met 10 cent. - + Decrease Pitch Toonhoogte (Pitch) aanpassen - Verlaag toon - + Decreases the pitch by one semitone Verlaagt de Toonhoogte (Pitch) met een halve toon. - + Decrease Pitch (Fine) Toonhoogte (Pitch) aanpassen - Verlaag Toonhoogte (Fijn) - + Decreases the pitch by 10 cents Verlaagt de Toonhoogte (Pitch) met 10 cent. - + Keylock Keylock - + CUP (Cue + Play) CUP (Cue + Afspelen) - + Shift cue points earlier Verschuift Cue-Punten achteruit - + Shift cue points 10 milliseconds earlier Verschuif cue points 10 milliseconden achteruit - + Shift cue points earlier (fine) Verschuift cue points achteruit (Fijn) - + Shift cue points 1 millisecond earlier Verschuift cue points 1 milliseconde achteruit - + Shift cue points later Verschuift cue points vooruit - + Shift cue points 10 milliseconds later Verschuift cue points 10 milliseconden vooruit - + Shift cue points later (fine) Verschuift cue points achteruit (fijn) - + Shift cue points 1 millisecond later Verschuift cue points 1 milliseconde vooruit - - + + Sort hotcues by position Sorteer hotcues op positie - - + + Sort hotcues by position (remove offsets) Sorteer hotcues op positie (verwijder de verrekening) - + Hotcues %1-%2 Hotcues %1-%2 - + Intro / Outro Markers Intro / Outro Markeerpunten - + Intro Start Marker Intro-Begin Markeerpunt - + Intro End Marker Intro-Einde Markering - + Outro Start Marker Outro-Begin Markering - + Outro End Marker Outro-Einde Markering - + intro start marker Intro-Begin Markering - + intro end marker Intro-Einde Markering - + outro start marker Outro-Begin Markering - + outro end marker Outro-Einde Markering - + Activate %1 [intro/outro marker Activeer %1 - + Jump to or set the %1 [intro/outro marker Springen naar of instellen van de %1 - + Set %1 [intro/outro marker Stel %1 in - + Set or jump to the %1 [intro/outro marker Instellen van of springen naar de %1 - + Clear %1 [intro/outro marker Wis %1 - + Clear the %1 [intro/outro marker Wis de %1 - + if the track has no beats the unit is seconds Indien de track geen beats heeft is de eenheid seconden - + Loop Selected Beats Loop Geselecteerde Beats - + Create a beat loop of selected beat size Maak een beat loop van de geselecteerde beatgrootte - + Loop Roll Selected Beats Loop Roll van geselecteerde beats - + Create a rolling beat loop of selected beat size Maak een rollende beat loop van de geselecteerde beatgrootte - + Loop %1 Beats set from its end point Lus %1 Beats ingesteld vanaf het eindpunt - + Loop Roll %1 Beats set from its end point Lus Rol %1 Beats ingesteld vanaf het eindpunt - + Create %1-beat loop with the current play position as loop end Maak %1-beat lus met de huidige afspeelpositie als lus einde - + Create temporary %1-beat loop roll with the current play position as loop end Maak tijdelijke %1-beat lus rol met de huidige afspeelpositie als lus einde - + Loop Beats Loop Beats - + Loop Roll Beats Loop Roll Beats - + Go To Loop In Spring naar Loop-In - + Go to Loop In button Ga naar Loop-In knop - + Go To Loop Out Spring naar Loop-Uit - + Go to Loop Out button Ga Naar Loop-Uit knop - + Toggle loop on/off and jump to Loop In point if loop is behind play position Aan/Uit-Schakelaar van de Loop en spring naar het Loop-In punt als de Loop zich achter de afspeelpositie bevindt - + Reloop And Stop Reloop En Stop - + Enable loop, jump to Loop In point, and stop Schakel de Loop in, spring naar Loop-In punt en stop - + Halve the loop length Halveer de lengte van de Loop - + Double the loop length Verdubbel de lengte van de Loop - + Beat Jump / Loop Move Beat Sprong / Verplaats Lus - + Jump / Move Loop Forward %1 Beats Spring / Verplaats Loop vooruit met %1 Beats - + Jump / Move Loop Backward %1 Beats Spring / Verplaats Loop achteruit met %1 Beats - + Jump forward by %1 beats, or if a loop is enabled, move the loop forward %1 beats Spring vooruit met %1 beats, of als een loop is ingeschakeld, verplaats de loop naar voren met %1 beats - + Jump backward by %1 beats, or if a loop is enabled, move the loop backward %1 beats Spring achteruit met %1 beats, of als een loop is ingeschakeld, verplaats de loop achteruit %1 beats - + Beat Jump / Loop Move Forward Selected Beats Beat Sprong / Verplaats Geselecteerde Loop Beats Vooruit - + Jump forward by the selected number of beats, or if a loop is enabled, move the loop forward by the selected number of beats Spring vooruit met het aantal geselecteerde beats, of als een Loop is ingeschakeld, verplaats de Loop naar voren met het aantal geselecteerde beats - + Beat Jump / Loop Move Backward Selected Beats Beat Sprong / Verplaats Geselecteerde Loop Beats Achteruit - + Jump backward by the selected number of beats, or if a loop is enabled, move the loop backward by the selected number of beats Spring achteruit met het aantal geselecteerde beats, of als een loop is ingeschakeld, verplaats de loop achteruit met het aantal geselecteerde beats - + Beat Jump Beat Sprong - + Indicate which loop marker remain static when adjusting the size or is inherited from the current position Duidt aan welke lusaanduiding statisch blijft wanneer de grootte wordt aangepast of wordt overgenomen van de huidige positie - + Beat Jump / Loop Move Forward Beat Sprong / Verplaats Loop vooruit - + Beat Jump / Loop Move Backward Beat Sprong / Verplaats Loop achteruit - + Loop Move Forward Verplaats Loop vooruit - + Loop Move Backward Verplaats Loop achteruit - + Remove Temporary Loop Verwijder de tijdelijke Loop - + Remove the temporary loop Verwijder de tijdelijke loop - + Navigation Navigatie - + Move up Beweeg Omhoog - + Equivalent to pressing the UP key on the keyboard Vergelijkbaar met het indrukken van de Up-toets op het toetsenbord - + Move down Beweeg Omlaag - + Equivalent to pressing the DOWN key on the keyboard Vergelijkbaar met het indrukken van de DOWN-toets op het toetsenbord - + Move up/down Beweeg Omhoog/Omlaag - + Move vertically in either direction using a knob, as if pressing UP/DOWN keys Beweeg Verticaal in beide richtingen met een knop, alsof u de toetsen OMHOOG / OMLAAG indrukt - + Scroll Up Scroll Omhoog - + Equivalent to pressing the PAGE UP key on the keyboard Vergelijkbaar met het indrukken van de PAGE UP-toets op het toetsenbord - + Scroll Down Scroll Omlaag - + Equivalent to pressing the PAGE DOWN key on the keyboard Vergelijkbaar met het indrukken van de PAGE DOWN-toets op het toetsenbord - + Scroll up/down Scroll Omhoog/Omlaag - + Scroll vertically in either direction using a knob, as if pressing PGUP/PGDOWN keys Beweeg verticaal in beide richtingen met een knop, alsof u de toetsen PGUP/PGDOWN indrukt - + Move left Beweeg naar links - + Equivalent to pressing the LEFT key on the keyboard Vergelijkbaar met het indrukken van de LINKS-toets op het toetsenbord - + Move right Beweeg naar rechts - + Equivalent to pressing the RIGHT key on the keyboard Vergelijkbaar met het indrukken van de RECHTS-toets op het toetsenbord - + Move left/right Beweeg Links/Rechts - + Move horizontally in either direction using a knob, as if pressing LEFT/RIGHT keys Beweeg horizontaal in beide richtingen met een knop, alsof u de toetsen LINKS/RECHTS indrukt - + Move focus to right pane Verplaats de focus naar het rechter deelvenster - + Equivalent to pressing the TAB key on the keyboard Vergelijkbaar met het indrukken van de TAB-toets op het toetsenbord. - + Move focus to left pane Verplaats de focus naar het linker deelvenster. - + Equivalent to pressing the SHIFT+TAB key on the keyboard Vergelijkbaar met het indrukken van de SHIFT+TAB toetsen op het toetsenbord - + Move focus to right/left pane Verplaats de focus naar het rechter/linker deelvenster - + Move focus one pane to right or left using a knob, as if pressing TAB/SHIFT+TAB keys Verplaats de focus één deelvenster naar rechts of links met een knop, alsof u op de TAB/SHIFT+TAB-toetsen drukt - + Sort focused column Sorteer de geselecteerde kolom - + Sort the column of the cell that is currently focused, equivalent to clicking on its header Sorteer de kolom van de geselecteerde cel, evenwaardig aan klikken op de titel - + Go to the currently selected item Ga naar het huidig geselecteerde item - + Choose the currently selected item and advance forward one pane if appropriate Kies het momenteel geselecteerde item en ga indien nodig één venstergedeelte vooruit - + Load Track and Play Track Laden en Afspelen - + Add to Auto DJ Queue (replace) Toevoegen aan de Auto-DJ wachtrij (vervangen) - + Replace Auto DJ Queue with selected tracks Vervang de Auto-DJ wachtrij met de geselecteerde Tracks - + Select next search history Selecteer de volgende zoekgeschiedenis - + Selects the next search history entry Selecteert het volgende item in de zoekgeschiedenis - + Select previous search history Selecteer vorige zoekgeschiedenis - + Selects the previous search history entry Selecteert het vorige item in de zoekgeschiedenis - + Move selected search entry Verplaats het geselecteerde zoekitem - + Moves the selected search history item into given direction and steps Verplaatst het geselecteerde zoekhistorie-item in de opgegeven richting en stappen - + Clear search Zoektermen verwijderen - + Clears the search query Verwijdert de zoektermen - - + + Select Next Color Available Selecteer de volgende beschikbare kleur - + Select the next color in the color palette for the first selected track Selecteer de volgende kleur in het kleurenpalet voor de eerste geselecteerde track - - + + Select Previous Color Available Selecteer de vorige beschikbare kleur - + Select the previous color in the color palette for the first selected track Selecteer de vorige kleur in het kleurenpalet voor de eerste geselecteerde track - + + Quick Effects Deck %1 + + + + Deck %1 Quick Effect Enable Button Deck %1 Snel Effect Inschakelknop - + + Quick Effect Enable Button Snel Effect Inschakelknop - + + Deck %1 Stem %2 Quick Effect Super Knob + + + + + Deck %1 Stem %2 Quick Effect Enable Button + + + + Enable or disable effect processing Effectverwerking in- of uitschakelen - + Super Knob (control effects' Meta Knobs) Super Knop (heeft controle over de Meta Knoppen Effecten) - + Mix Mode Toggle Mix Modus Schakelaar - + Toggle effect unit between D/W and D+W modes Effecteenheid Schakelaar tussen de modi D/W en D+W - + Next chain preset Volgende Keten-voorkeuze - + Previous Chain Vorige Keten - + Previous chain preset Vorige Keten-voorkeuze - + Next/Previous Chain Volgende/Vorige Keten - + Next or previous chain preset Volgende of vorige Keten-voorkeuze - - + + Show Effect Parameters Toon Effect Parameters - + Effect Unit Assignment Toewijzing Effect Eenheid - + Meta Knob Meta Knop - + Effect Meta Knob (control linked effect parameters) Effect Meta Knop (controleert gelinkte Effect parameters) - + Meta Knob Mode Meta Knop Modus - + Set how linked effect parameters change when turning the Meta Knob. Stel in hoe gekoppelde Effectparameters veranderen bij het draaien van de Meta Knop. - + Meta Knob Mode Invert Meta Knop Modus Omkering - + Invert how linked effect parameters change when turning the Meta Knob. Keer om hoe gekoppelde Effectparameters veranderen wanneer u aan de Meta-knop draait. - - + + Button Parameter Value Knop Parameterwaarde - + Microphone / Auxiliary Microfoon / Aux - + Microphone On/Off Microfoon Aan/Uit - + Microphone on/off Microfoon Aan/Uit - + Toggle microphone ducking mode (OFF, AUTO, MANUAL) Micropfoon OnderdrukkingsModus Schakelaar UIT/AUTO/MANUEEL - + Auxiliary On/Off AUX Aan/Uit - + Auxiliary on/off AUX Aan/Uit - + Auto DJ Auto-DJ - + Auto DJ Shuffle Auto-DJ Schudden - + Auto DJ Skip Next Auto-DJ Volgende Overslaan - + Auto DJ Add Random Track Auto-DJ Willekeurige Track toevoegen - + Add a random track to the Auto DJ queue Voeg een Willekeurige Track toe aan de Auto-DJ wachtrij - + Auto DJ Fade To Next Auto-DJ naar Volgende Track Faden - + Trigger the transition to the next track Activeer de overgang naar het volgende nummer - + User Interface Gebruikers interface - + Samplers Show/Hide Samplers Toon/Verberg - + Show/hide the sampler section Toon/Verberg Sampler sectie - + Microphone && Auxiliary Show/Hide keep double & to prevent creation of keyboard accelerator Toon/Verberg Microfoon && Aux - + Waveform Zoom Reset To Default De waveform grootte terug naar standaard zetten - + Reset the waveform zoom level to the default value selected in Preferences -> Waveforms De waveform grootte terug naar standaard zetten Selecteer in Opties -> Waveform - + Select the next color in the color palette for the loaded track. Selecteer de volgende kleur in het kleurenpalet voor de geladen track - + Select previous color in the color palette for the loaded track. Selecteer de vorige kleur in het kleurenpalet voor de geladen track - + Navigate Through Track Colors Navigeer Door de Track Kleuren - + Select either next or previous color in the palette for the loaded track. Selecteer ofwel de volgende of de vorige kleur in het kleurenpalet voor de geladen track - + Start/Stop Live Broadcasting Start/Stop Live Uitzenden - + Stream your mix over the Internet. Stream je mix over het Internet. - + Start/stop recording your mix. Start/stop opname van uw Mix. - - + + + Deck %1 Stems + + + + + Samplers Samplers - + Vinyl Control Show/Hide Vinyl Controle Toon/Verberg - + Show/hide the vinyl control section Toon/Verberg de vinyl controle sectie - + Preview Deck Show/Hide Deck Voorbeluisteren Toon/Verberg - + Show/hide the preview deck Toon/Verberg het Deck Voorbeluisteren - + Toggle 4 Decks 4 Decks Schakelaar - + Switches between showing 2 decks and 4 decks. Schakelt tussen weergave van 2 en 4 decks. - + Cover Art Show/Hide (Decks) Cover Art in Decks Toon/Verberg - + Show/hide cover art in the main decks Toon/Verberg Cover Art in de hoofddecks - + Vinyl Spinner Show/Hide Vinyl Spinner Toon/Verberg - + Show/hide spinning vinyl widget Toon/Verberg de Spinning Vinyl Widget - + Vinyl Spinners Show/Hide (All Decks) Vinyl Spinners (Alle Decks) Toon/Verberg - + Show/Hide all spinnies Toon/Verberg alle Spinnies - + Toggle Waveforms Waveforms Schakelaar - + Show/hide the scrolling waveforms. Toon/verberg de scrollende Waveforms - + Waveform zoom Waveform Zoom - + Waveform Zoom Waveform Zoom - + Zoom waveform in Waveform Inzoomen - + Waveform Zoom In Waveform Inzoomen - + Zoom waveform out Waveform Uitzoomen - + Star Rating Up Sterwaardering Verhogen - + Increase the track rating by one star Verhoog de Trackwaardering met één ster - + Star Rating Down Sterwaardering Verlagen - + Decrease the track rating by one star Verlaag de Trackwaardering met één ster @@ -3547,6 +3588,159 @@ traceren - Boven + Profileringsberichten Onbekend + + ControllerHidReportTabsManager + + + Read + + + + + Send + + + + + Payload Size + + + + + bytes + + + + + Byte Position + + + + + Bit Position + + + + + Bit Size + + + + + Logical Min + + + + + Logical Max + + + + + Value + + + + + Physical Min + + + + + Physical Max + + + + + Unit Scaling + + + + + Unit + + + + + Abs/Rel + + + + + + Wrap + + + + + + Linear + + + + + + Preferred + + + + + + Null + + + + + + Volatile + + + + + Usage Page + + + + + Usage + + + + + Relative + + + + + Absolute + + + + + No Wrap + + + + + Non Linear + + + + + No Preferred + + + + + No Null + + + + + Non Volatile + + + ControllerInputMappingTableModel @@ -3682,27 +3876,27 @@ traceren - Boven + Profileringsberichten ControllerScriptEngineLegacy - + Controller Mapping File Problem Probleem met Controller Mappingbestand - + The mapping for controller "%1" cannot be opened. De Mapping voor de controller "%1" kan niet worden geopend. - + The functionality provided by this controller mapping will be disabled until the issue has been resolved. De functionaliteit van deze Controller-Mapping wordt uitgeschakeld totdat het probleem is opgelost. - + File: Bestand: - + Error: Fout: @@ -3735,7 +3929,7 @@ traceren - Boven + Profileringsberichten - + Lock Vergrendel @@ -3765,7 +3959,7 @@ traceren - Boven + Profileringsberichten Auto-DJ Track Bron - + Enter new name for crate: Geef nieuwe naam voor Krat @@ -3782,22 +3976,22 @@ traceren - Boven + Profileringsberichten Importeer Krat - + Export Crate Exporteer Krat - + Unlock Ontgrendel - + An unknown error occurred while creating crate: Een onbekende fout heeft plaatsgevonden bij het aanmaken van de Krat: - + Rename Crate Hernoem Krat @@ -3807,28 +4001,28 @@ traceren - Boven + Profileringsberichten Maak een Krat voor je volgende set, voor je favoriete electrohouse Tracks, of voor je meest gevraagde Tracks. - + Confirm Deletion Bevestig Verwijderen - - + + Renaming Crate Failed Krat Hernoemen Mislukt - + Crate Creation Failed Krat Aanmaken Mislukt - + M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Text CSV (*.csv);;Readable Text (*.txt) M3U Afspeellijst (*.m3u);;M3U8 Afspeellijst (*.m3u8);;PLS Afspeellijst (*.pls);;Tekst CSV (*.csv);;Leesbare Tekst (*.txt) - + M3U Playlist (*.m3u) M3U Afspeellijst (*.m3u) @@ -3849,17 +4043,17 @@ traceren - Boven + Profileringsberichten Met Kratten kun je je muziek organiseren zoals je wilt! - + Do you really want to delete crate <b>%1</b>? Wil je echt Krat <b>%1</b> verwijderen? - + A crate cannot have a blank name. Een Krat kan geen blanco naam hebben. - + A crate by that name already exists. Een Krat met die naam bestaat al. @@ -3954,12 +4148,12 @@ traceren - Boven + Profileringsberichten Eerdere Medewerkers - + Official Website Officiële Website - + Donate Donaties @@ -4852,69 +5046,80 @@ U probeerde aan te leren: %1, %2 Stereo - - - - + + Saving settings failed + + + + + The password for '%1' contains invalid characters. Please enter it again. + +Note: This can for example be invisible linebreaks when using copy/paste. + + + + + + Action failed Actie mislukt - + You can't create more than %1 source connections. U kunt niet meer dan %1 bronverbindingen maken. - + Source connection %1 Bronverbinding %1 - + Settings for %1 Settings for broadcast profile, %1 is the profile name placeholder - + At least one source connection is required. Er is ten minste één bronverbinding vereist. - + Are you sure you want to disconnect every active source connection? Weet u zeker dat u elke actieve bronverbinding wilt verbreken? - - + + Confirmation required Bevestiging benodigd - + '%1' has the same Icecast mountpoint as '%2'. Two source connections to the same server that have the same mountpoint can not be enabled simultaneously. '%1' heeft hetzelfde Icecast mountpoint als '%2'. Twee bronverbindingen met dezelfde server die hetzelfde mountpoint hebben, kunnen niet tegelijkertijd worden ingeschakeld. - + Are you sure you want to delete '%1'? Weet u zeker dat u '%1' wilt verwijderen? - + Renaming '%1' Hernoemen '%1' - + New name for '%1': Nieuwe naam voor '%1': - + Can't rename '%1' to '%2': name already in use Kan de naam van '%1' niet hernoemen naar '%2': naam is al in gebruik @@ -4927,27 +5132,27 @@ Twee bronverbindingen met dezelfde server die hetzelfde mountpoint hebben, kunne Voorkeuren voor live-uitzendingen - + Mixxx Icecast Testing Testen Mixxx Icecast - + Public stream Openbare stream - + http://www.mixxx.org http://www.mixxx.org - + Stream name Stream-naam - + Due to flaws in some streaming clients, updating Ogg Vorbis metadata dynamically can cause listener glitches and disconnections. Check this box to update the metadata anyway. Vanwege gebreken in sommige streaming clients, kan het dynamisch bijwerken van Ogg Vorbis-metagegevens leiden tot hoorbare storingen en onderbrekingen veroorzaken. Vink dit vakje aan om de metagegevens toch bij te werken. @@ -4987,67 +5192,72 @@ Twee bronverbindingen met dezelfde server die hetzelfde mountpoint hebben, kunne Instellingen voor %1 - + + Available fields: $artist, $title, $year, $album, $genre, $bpm + + + + Dynamically update Ogg Vorbis metadata. Ogg Vorbis-metadata dynamisch bijwerken. - + ICQ ICQ - + AIM AIM - + Website Website - + Live mix Live mix - + IRC IRC - + Select a source connection above to edit its settings here Selecteer hierboven een bronverbinding om de instellingen hier te bewerken - + Password storage Wachtwoord opslag - + Plain text Alleen tekst - + Secure storage (OS keychain) Veilige opslag (OS keychain) - + Genre Genre - + Use UTF-8 encoding for metadata. Gebruik UTF-8 codering voor metadata. - + Description Omschrijving @@ -5073,42 +5283,42 @@ Twee bronverbindingen met dezelfde server die hetzelfde mountpoint hebben, kunne Kanalen - + Server connection Server verbinding - + Type Type - + Host Host - + Login Login - + Mount Monteren - + Port Poort - + Password Wachtwoord - + Stream info Stream-info @@ -5118,17 +5328,17 @@ Twee bronverbindingen met dezelfde server die hetzelfde mountpoint hebben, kunne Metadata - + Use static artist and title. Hanteer statische artiest en titel. - + Static title Statische titel - + Static artist Statische artiest @@ -5187,13 +5397,14 @@ Twee bronverbindingen met dezelfde server die hetzelfde mountpoint hebben, kunne DlgPrefColors - - + + + By hotcue number Op Hotcue-nr - + Color Kleur @@ -5238,18 +5449,23 @@ Twee bronverbindingen met dezelfde server die hetzelfde mountpoint hebben, kunne + Jump default color + + + + When key colors are enabled, Mixxx will display a color hint associated with each key. Wanneer key kleuren geactiveerd zijn, zal Mixxx een kleuren hint tonen die geassocieerd is met elke key. - + Enable Key Colors Activeer Key Kleuren - + Key palette Key palet @@ -5257,114 +5473,114 @@ die geassocieerd is met elke key. DlgPrefController - + Apply device settings? Apparaatinstellingen toepassen? - + Your settings must be applied before starting the learning wizard. Apply settings and continue? Uw instellingen moeten worden toegepast voordat u de leerassistent start. Instellingen toepassen en doorgaan? - + None Geen - + %1 by %2 %1 bij %2 - + Mapping has been edited Toewijzing is bewerkt - + Always overwrite during this session Overschrijf altijd tijdens deze sessie - + Save As Opslaan Als - + Overwrite Overschrijf - + Save user mapping Bewaar gebruikerstoewijzingen - + Enter the name for saving the mapping to the user folder. Voer de naam in voor het opslaan van de toewijzing in de gebruikersmap. - + Saving mapping failed Het opslaan van de toewijzing is mislukt - + A mapping cannot have a blank name and may not contain special characters. Een toewijzing mag geen lege naam hebben en mag geen speciale tekens bevatten. - + A mapping file with that name already exists. Er bestaat al een toewijzingsbestand met die naam. - + Do you want to save the changes? Wilt u de wijzigingen opslaan? - + Troubleshooting Probleemoplossen - + <font color='#BB0000'><b>If you use this mapping your controller may not work correctly. Please select another mapping or disable the controller.</b></font><br><br>This mapping was designed for a newer Mixxx Controller Engine and cannot be used on your current Mixxx installation.<br>Your Mixxx installation has Controller Engine version %1. This mapping requires a Controller Engine version >= %2.<br><br>For more information visit the wiki page on <a href='https://mixxx.org/wiki/doku.php/controller_engine_versions'>Controller Engine Versions</a>. <font color='#BB0000'><b>Als u deze mapping gebruikt, werkt uw controller mogelijk niet correct. Selecteer een andere Mapping of schakel de controller uit.</b></font><br><br> Deze Mapping is ontworpen voor een nieuwere Mixxx Controller Engine en kan niet worden gebruikt op je huidige Mixxx-installatien.<br>Je Mixxx-installatie heeft Controller Engine-versie %1. Voor deze mapping is een Controller Engine-versie> = %2 vereist.<br><br> Bezoek voor meer informatie de wikipagina over <a href='https://mixxx.org/wiki/doku.php/controller_engine_versions'>Controller Engine Versions</a>. - + Mapping already exists. Er bestaat al een Mapping. - + <b>%1</b> already exists in user mapping folder.<br>Overwrite or save with a new name? <b>%1</b> bestaat al in de map voor Mappings.<br>Overschrijven of opslaan met een nieuwe naam? - + Clear Input Mappings Wis Input-Mappings (Invoerkoppelingen) - + Are you sure you want to clear all input mappings? Weet u het zeker dat u alle Input-Mappings (invoerkoppelingen) wilt wissen? - + Clear Output Mappings Wis Output-Mappings (Uitvoerkoppelingen) - + Are you sure you want to clear all output mappings? Weet u het zeker dat u alle Output-Mappings (Uitvoerkoppelingen) wilt wissen? @@ -5382,100 +5598,105 @@ Instellingen toepassen en doorgaan? Ingeschakeld - + + Refresh mapping list + + + + Device Info Apparaat Info: - + Physical Interface: Fysieke Interface: - + Vendor name: Naam Leverancier:/> - + Product name: Product naam: - + Vendor ID Leverancier ID: - + VID: VID: - + Product ID Product ID - + PID: PID: - + Serial number: Serienummer: - + USB interface number: USB interface nummer: - + HID Usage-Page: HID-gebruikpagina: - + HID Usage: HID-gebruik: - + Description: Omschrijving: - + Support: Ondersteuning: - + Screens preview Scherm vooruitblik - + Input Mappings Input Mappings (Invoerkoppelingen) - - + + Search Zoek - - + + Add Toevoegen - - + + Remove Verwijder @@ -5495,17 +5716,17 @@ Instellingen toepassen en doorgaan? Laad Mapping (toewijzing) - + Mapping Info Mapping Info - + Author: Auteur: - + Name: Naam: @@ -5515,28 +5736,28 @@ Instellingen toepassen en doorgaan? Leerassistent (Enkel MIDI) - + Data protocol: Gegevensprotocol: - + Mapping Files: Mapping bestanden: - + Mapping Settings Instellingen voor mapping - - + + Clear All Maak leeg - + Output Mappings Output Mappings (Uitvoerkoppelingen) @@ -5551,21 +5772,21 @@ Instellingen toepassen en doorgaan? - Mixxx uses "mappings" to connect messages from your controller to controls in Mixxx. If you do not see a mapping for your controller in the "Load Mapping" menu when you click on your controller on the left sidebar, you may be able to download one online from the %1. Place the XML (.xml) and Javascript (.js) file(s) in the "User Mapping Folder" then restart Mixxx. If you download a mapping in a ZIP file, extract the XML and Javascript file(s) from the ZIP file to your "User Mapping Folder" then restart Mixxx. - Mixxx gebruikt "Mappings (toewijzingen)" om berichten van uw controller te verbinden met besturingselementen in Mixxx. Als u geen afbeelding voor uw controller ziet in het menu "Laad Mapping" wanneer u op uw controller in de linkerzijbalk klikt, kunt u er mogelijk een online downloaden van de %1. Plaats het XML- (.xml) en Javascript (.js) bestand (en) in de "Gebruikerstoewijzingen Folder" en start Mixxx opnieuw. Als u een toewijzing in een ZIP-bestand downloadt, extraheert u het XML- en Javascript-bestand (en) uit het ZIP-bestand naar uw "Gebruikerstoewijzing Folder" en start u Mixxx opnieuw. + Mixxx uses "mappings" to connect messages from your controller to controls in Mixxx. If you do not see a mapping for your controller in the "Load Mapping" menu when you click on your controller on the left sidebar, you may be able to download one online from the %1. Place the XML (.xml) and Javascript (.js) file(s) in the "User Mapping Folder" then click the Reload button next to the mapping selector to reload all available mappings. If you download a mapping in a ZIP file, extract the XML and Javascript file(s) from the ZIP file to your "User Mapping Folder" then click the Reload button. + - + Mixxx DJ Hardware Guide Mixxx DJ Hardware Gids - + MIDI Mapping File Format MIDI Mapping Bestandsformaat - + MIDI Scripting with Javascript MIDI Scripting met Javascript @@ -5734,137 +5955,137 @@ Instellingen toepassen en doorgaan? DlgPrefDeck - + Mixxx mode Mixxx Modus - + Mixxx mode (no blinking) Mixxx-Modus (zonder knipperen) - + Pioneer mode Pioneer Modus - + Denon mode Denon Modus - + Numark mode Numark Modus - + CUP mode CUP Modus - + mm:ss%1zz - Traditional mm:ss%1zz - Traditioneel - + mm:ss - Traditional (Coarse) mm:ss - Traditioneel (Ruw) - + s%1zz - Seconds s%1zz - Seconden - + sss%1zz - Seconds (Long) sss%1zz - Seconden (Lang) - + s%1sss%2zz - Kiloseconds s%1sss%2zz - Kiloseconden - + Intro start Intro start - + Main cue Hoofd-cue - + First hotcue Eerste hotcue - + First sound (skip silence) Eerste geluid (stilte overslaan) - + Beginning of track Begin van de Track - + Reject Verwerp - + Allow, but stop deck Sta toe, maar stop het Deck - + Allow, play from load point Sta toe, speel vanaf geladen punt - + 4% 4% - + 6% (semitone) 6% (halve toon) - + 8% (Technics SL-1210) 8% (Technics SL-1210) - + 10% 10% - + 16% 16% - + 24% 24% - + 50% 50% - + 90% 90% @@ -6324,57 +6545,57 @@ U kunt de Tracks ten allen tijde op het scherm slepen en neerzetten om een deck De minimale grootte van de geselecteerde skin is groter dan uw schermresolutie. - + Allow screensaver to run Toestaan dat Schermbeveiliging wordt uitgevoerd. - + Prevent screensaver from running Voorkom dat Schermbeveiliging wordt uitgevoerd - + Prevent screensaver while playing Voorkom Schermbeveiliging tijdens afspelen - + Disabled Uitgeschakeld - + 2x MSAA 2x MSAA - + 4x MSAA 4x MSAA - + 8x MSAA 8x MSAA - + 16x MSAA 16x MSAA - + This skin does not support color schemes Deze skin ondersteunt geen kleurenschema's - + Information Informatie - + Mixxx must be restarted before the new locale, scaling or multi-sampling settings will take effect. Mixxx moet worden herstart vóór de nieuwe regio, schaal of multi-sampling instellingen toegepast worden. @@ -6601,67 +6822,97 @@ and allows you to pitch adjust them for harmonic mixing. Zie de handleiding voor details - + Music Directory Added Muziek Folder Toegevoegd - + You added one or more music directories. The tracks in these directories won't be available until you rescan your library. Would you like to rescan now? Je hebt één of meerdere muziekmappen toegevoegd. De Tracks in deze mappen zullen niet beschikbaar zijn totdat je de Bibliotheek opnieuw scant. Wil je de Bibliotheek nu scannen? - + Scan Scan - + Item is not a directory or directory is missing Het item is geen map of ontbreekt. - + Choose a music directory Kies een muziek folder - + Confirm Directory Removal Bevestig het verwijderen van de map - + Mixxx will no longer watch this directory for new tracks. What would you like to do with the tracks from this directory and subdirectories?<ul><li>Hide all tracks from this directory and subdirectories.</li><li>Delete all metadata for these tracks from Mixxx permanently.</li><li>Leave the tracks unchanged in your library.</li></ul>Hiding tracks saves their metadata in case you re-add them in the future. Mixxx zal deze map niet langer observeren voor nieuwe Tracks. Wat wil je doen met de Tracks in deze map en submappen?<ul><li>Verberg alle Tracks uit deze map en submappen. </li><li>Verwijder permanent alle metadata van deze Tracks uit Mixxx.</li><li>Laat de Tracks ongemoeid in je Bibliotheek.</li></ul>Tracks verbergen zal wel de metadata blijven bewaren mocht je ze in de toekomst opnieuw willen toevoegen. - + Metadata means all track details (artist, title, playcount, etc.) as well as beatgrids, hotcues, and loops. This choice only affects the Mixxx library. No files on disk will be changed or deleted. Metadata betekent alle Trackdetails (Artiest, Titel, Afspeelteller, etc.) evenals Beatgrids, Hotcues en Loops. Deze keuze heeft alleen betrekking op de Mixxx-Bibliotheek. Er worden geen bestanden op schijf gewijzigd of verwijderd. - + Hide Tracks Verberg Tracks - + Delete Track Metadata Verwijder Metadata - + Leave Tracks Unchanged Laat Tracks ongewijzigd - + Relink music directory to new location Koppel de muziekmap opnieuw aan een nieuwe locatie - + + Black + + + + + ExtraBold + + + + + Bold + + + + + SemiBold + + + + + Medium + + + + + Light + + + + Select Library Font Selecteer Bibliotheeklettertype @@ -7560,172 +7811,177 @@ Het DoelVolume is bij benadering en veronderstelt dat Track PreGain en Hoofd Out DlgPrefSound - + %1 Hz %1 Hz - + Default (long delay) Standaard (lange vertraging) - + Experimental (no delay) Experimenteel (geen vertraging) - + Disabled (short delay) Uitgeschakeld (korte vertraging) - + Soundcard Clock Geluidskaart Klok - + Network Clock Netwerk Klok - + Direct monitor (recording and broadcasting only) Directe monitor (enkel opnemen en uitzenden) - + Disabled Uitgeschakeld - + Enabled Ingeschakeld - + Stereo Stereo - + Mono Mono - + To enable Realtime scheduling (currently disabled), see the %1. Om Realtime scheduling in te schakelen (momenteel uitgeschakeld), zie de %1. - + The %1 lists sound cards and controllers you may want to consider for using Mixxx. De %1 bevat een lijst met geluidskaarten en controllers die u kunt overwegen voor het gebruik met Mixxx. - + Mixxx DJ Hardware Guide Mixxx DJ Hardware Gids - + + Find details in the Mixxx user manual + + + + Information Informatie - + Mixxx must be restarted before the multi-threaded RubberBand setting change will take effect. Mixxx moet worden herstart alvorens de multi-threaded RubberBand instelling wordt toegepast. - + auto (<= 1024 frames/period) auto (<= 1024 frames/periode) - + 2048 frames/period 2048 frames/periode - + 4096 frames/period 4096 frames/periode - + Are you sure? Weet u zeker? - + Distribute stereo channels into mono channels for parallel processing will result in a loss of mono compatibility and a diffuse stereo image. It is not recommended during broadcasting or recording. Stereo kanalen in mono kanalen omzetten voor gelijktijdige verwerking zal resulteren in een verlies van mono compatibiliteit en een diffuus stereo beeld. Dit wordt niet aangeraden tijdens uitzenden of opname. - + Are you sure you wish to proceed? Weet u zeker dat u wilt doorgaan. - + No Neen - + Yes, I know what I am doing Ja, Ik weet wat ik doe. - + Microphone inputs are out of time in the record & broadcast signal compared to what you hear. Microfooningangen zijn niet synchroon met het opname- en uitzendsignaal in vergelijking met wat je hoort. - + Measure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. Meet de Round Trip Latency en voer het hierboven in voor Microphone Latency Compensation om de microfoon timing uit te lijnen. - + Refer to the Mixxx User Manual for details. Raadpleeg de Mixxx-gebruikershandleiding voor meer informatie. - + Configured latency has changed. De geconfigureerde latency is gewijzigd. - + Remeasure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. Meet opnieuw de Round Trip Latency en voer het hierboven in voor Microphone Latency Compensation om de microfoon timing uit te lijnen. - + Realtime scheduling is enabled. Realtime scheduling is ingeschakeld. - + Main output only Alleen HoofdUitgang - + Main and booth outputs Hoofd en Booth uitgangen - + %1 ms %1 ms - + Configuration error Configuratiefout @@ -7792,17 +8048,22 @@ Het DoelVolume is bij benadering en veronderstelt dat Track PreGain en Hoofd Out ms - + + Deck and Bus outputs are for external mixers. They are post-fader and include effects and crossfader (for Auto DJ). For external mixing, make sure all Mixxx faders and EQ knobs are set to their default position (right- or double-click). + + + + 20 ms 20 ms - + Buffer Underflow Count Buffer Underflow Teller - + 0 0 @@ -7827,12 +8088,12 @@ Het DoelVolume is bij benadering en veronderstelt dat Track PreGain en Hoofd Out Invoer - + System Reported Latency Door systeem gerapporteerde Latency - + Enlarge your audio buffer if the underflow counter is increasing or you hear pops during playback. Vergroot je geluidsbuffer als de teller voor bufferleegloop verhoogt of als je korte onderbrekingen hoort tijdens het afspelen. @@ -7862,7 +8123,7 @@ Het DoelVolume is bij benadering en veronderstelt dat Track PreGain en Hoofd Out Tips en diagnostische gegevens - + Downsize your audio buffer to improve Mixxx's responsiveness. Verklein uw audiobuffer om het reactievermogen van Mixxx te verbeteren. @@ -7909,7 +8170,7 @@ Het DoelVolume is bij benadering en veronderstelt dat Track PreGain en Hoofd Out Vinyl Configuratie - + Show Signal Quality in Skin Toon signaalkwaliteit in het thema @@ -7945,46 +8206,51 @@ Het DoelVolume is bij benadering en veronderstelt dat Track PreGain en Hoofd Out + Pitch estimator + + + + Deck 1 Deck 1 - + Deck 2 Deck 2 - + Deck 3 Deck 3 - + Deck 4 Deck 4 - + Signal Quality Signaalkwaliteit - + http://www.xwax.co.uk http://www.xwax.co.uk - + Powered by xwax Aangestuurd door xwax - + Hints Tips - + Select sound devices for Vinyl Control in the Sound Hardware pane. Selecteer geluidsapparaten voor vinylbesturing in het deelvenster Geluidsapparatuur. @@ -7992,58 +8258,58 @@ Het DoelVolume is bij benadering en veronderstelt dat Track PreGain en Hoofd Out DlgPrefWaveform - + Filtered Gefilterd - + HSV HSV - + RGB RGB - + Top - + Center Midden - + Bottom Onderkant - + 1/3 of waveform viewer options for "Text height limit" 1/3 van de waveform weergave - + Entire waveform viewer volledige waveform weergave - + OpenGL not available OpenGL niet beschikbaar - + dropped frames verloren frames - + Cached waveforms occupy %1 MiB on disk. Waveforms in cache gebruiken %1 MiB op schijf @@ -8061,22 +8327,17 @@ Het DoelVolume is bij benadering en veronderstelt dat Track PreGain en Hoofd Out Framesnelheid - + OpenGL Status OpenGL Status - + Displays which OpenGL version is supported by the current platform. Geeft weer welke OpenGL-versie wordt ondersteund door het huidige platform. - - Normalize waveform overview - Normaliseer Waveform-overzicht - - - + Average frame rate Gemiddelde framesnelheid @@ -8092,7 +8353,7 @@ Het DoelVolume is bij benadering en veronderstelt dat Track PreGain en Hoofd Out Standaard zoomniveau - + Displays the actual frame rate. Geeft de werkelijke framesnelheid weer. @@ -8172,7 +8433,7 @@ Het DoelVolume is bij benadering en veronderstelt dat Track PreGain en Hoofd Out Globale visuele versterking - + The waveform overview shows the waveform envelope of the entire track. Select from different types of displays for the waveform overview, which differ primarily in the level of detail shown in the waveform. Het waveform overzicht toont de waveform omslag van de hele Track. @@ -8241,22 +8502,22 @@ Kies uit verschillende soorten weergaven voor de waveform, die voornamelijk vers pt - + Caching Caching - + Mixxx caches the waveforms of your tracks on disk the first time you load a track. This reduces CPU usage when you are playing live but requires extra disk space. Mixxx buffert de waveforms van je Tracks in de cache op schijf wanneer een Track voor de eerste keer laadt. Dit vermindert het CPU-gebruik tijdens het live spelen, maar vereist extra schijfruimte. - + Enable waveform caching Schakel waveform caching in - + Generate waveforms when analyzing library Genereer waveforms bij het analyseren van de Bibliotheek @@ -8272,7 +8533,7 @@ Kies uit verschillende soorten weergaven voor de waveform, die voornamelijk vers - + Type Type @@ -8332,12 +8593,28 @@ Kies uit verschillende soorten weergaven voor de waveform, die voornamelijk vers - + Overview Waveforms Overzicht Waveform - + + Gain + + + + + Normalize to peak + + + + + Use Waveform "Global" gain and ReplayGain (if enabled) + 'Global' refers to the 'Global' visual gain in the scrolling waveform settings + + + + Clear Cached Waveforms Wis gebufferde Waveforms @@ -8829,7 +9106,7 @@ Dit kan niet ongedaan gemaakt worden! BPM: - + Location: Locatie: @@ -8844,27 +9121,27 @@ Dit kan niet ongedaan gemaakt worden! Opmerkingen - + BPM BPM - + Sets the BPM to 75% of the current value. Stelt de BPM in op 75% van de huidige waarde. - + 3/4 BPM 3/4 BPM - + Sets the BPM to 50% of the current value. Stelt de BPM in op 50% van de huidige waarde. - + Displays the BPM of the selected track. Geeft de BPM weer van de geselecteerde Track. @@ -8919,49 +9196,49 @@ Dit kan niet ongedaan gemaakt worden! Genre - + ReplayGain: ReplayGain: - + Sets the BPM to 200% of the current value. Stelt de BPM in op 200% van de huidige waarde. - + Double BPM Dubbele BPM - + Halve BPM 1/2 BPM - + Clear BPM and Beatgrid Wis BPM en Beat-Grid - + Move to the previous item. "Previous" button Ga naar het vorige item. - + &Previous &Vorige - + Move to the next item. "Next" button Ga naar het volgende item - + &Next &Volgende @@ -8986,12 +9263,12 @@ Dit kan niet ongedaan gemaakt worden! Kleur - + Date added: Datum toegevoegd: - + Open in File Browser Open bestand in Browser @@ -9001,12 +9278,17 @@ Dit kan niet ongedaan gemaakt worden! Samplefrequentie - + + Filesize: + + + + Track BPM: Track BPM: - + Converts beats detected by the analyzer into a fixed-tempo beatgrid. Use this setting if your tracks have a constant tempo (e.g. most electronic music). Often results in higher quality beatgrids, but will not do well on tracks that have tempo shifts. @@ -9015,90 +9297,90 @@ Gebruik deze instelling als uw Tracks een constant tempo hebben (bijv. de meeste Dit resulteert vaak in Beat-Grids van hogere kwaliteit, maar zal het niet goed doen op Tracks met tempowisselingen. - + Assume constant tempo Ga uit van een constant tempo - + Sets the BPM to 66% of the current value. Stelt de BPM in op 66% van de huidige waarde. - + 2/3 BPM 2/3 BPM - + Sets the BPM to 150% of the current value. Stelt de BPM in op 150% van de huidige waarde. - + 3/2 BPM 3/2 BPM - + Sets the BPM to 133% of the current value. Stelt de BPM in op 133% van de huidige waarde. - + 4/3 BPM 4/3 BPM - + Tap with the beat to set the BPM to the speed you are tapping. Tik op de maat om de BPM in te stellen op je tik-snelheid. - + Tap to Beat Tik op de maat - + Hint: Use the Library Analyze view to run BPM detection. Tip: gebruik de weergave Bibliotheekanalyse om BPM-detectie uit te voeren. - + Save changes and close the window. "OK" button Sla wijzigingen op en sluit het venster. - + &OK &OK - + Discard changes and close the window. "Cancel" button Negeer wijzigingen en sluit het venster. - + Save changes and keep the window open. "Apply" button Sla wijzigingen op en houd het venster open. - + &Apply &Pas toe - + &Cancel &Annuleer - + (no color) (geen kleur) @@ -9255,7 +9537,7 @@ Dit resulteert vaak in Beat-Grids van hogere kwaliteit, maar zal het niet goed d &OK - + (no color) (geen kleur) @@ -9457,27 +9739,27 @@ Dit resulteert vaak in Beat-Grids van hogere kwaliteit, maar zal het niet goed d EngineBuffer - + Soundtouch (faster) Soundtouch (sneller) - + Rubberband (better) Rubberband (beter) - + Rubberband R3 (near-hi-fi quality) Rubberband R3 (bijna hi-fi kwaliteit) - + Unknown, using Rubberband (better) Onbekend, Rubberband gebruiken (beter) - + Unknown, using Soundtouch Onbekend, Soundtouch gebruiken @@ -9692,15 +9974,15 @@ Dit resulteert vaak in Beat-Grids van hogere kwaliteit, maar zal het niet goed d LegacySkinParser - - + + Safe Mode Enabled Shown when Mixxx is running in safe mode. Veilige Modus ingeschakeld - - + + No OpenGL support. Shown when Spinny can not be displayed. Please keep @@ -9712,57 +9994,57 @@ Shown when VuMeter can not be displayed. Please keep ondersteuning. - + activate Activeer - + toggle Schakelaar - + right rechts - + left links - + right small rechts klein - + left small links klein - + up omhoog - + down omlaag - + up small omhoog klein - + down small omlaag klein - + Shortcut Snelkoppeling @@ -9770,37 +10052,37 @@ ondersteuning. Library - + This or a parent directory is already in your library. Deze map of een bovenliggende map is reeds opgenomen in uw bibliotheek. - + This or a listed directory does not exist or is inaccessible. Aborting the operation to avoid library inconsistencies Deze map of een opgelijste map bestaat niet of is niet toegankelijk. De operatie wordt afgebroken om fouten in de bibliotheek the vermijden. - - + + This directory can not be read. Deze map kan niet worden uitgelezen. - + An unknown error occurred. Aborting the operation to avoid library inconsistencies Een onbekende fout is opgetreden. De operatie wordt afgebroken om fouten in de bibliotheek the vermijden. - + Can't add Directory to Library Deze map kan niet worden toegevoegd aan de bibliotheek. - + Could not add <b>%1</b> to your library. %2 @@ -9809,27 +10091,27 @@ De operatie wordt afgebroken om fouten in de bibliotheek the vermijden. - + Can't remove Directory from Library De map kon niet uit uw bibliotheek verwijderd worden - + An unknown error occurred. Een onbekende fout is opgetreden. - + This directory does not exist or is inaccessible. Deze map bestaat niet of is niet toegankelijk. - + Relink Directory Herlink de map - + Could not relink <b>%1</b> to <b>%2</b>. %3 @@ -9997,12 +10279,12 @@ Wil je het echt overschrijven? Verborgen Tracks - + Export to Engine DJ Exporteren naar Engine DJ - + Tracks Tracks @@ -10010,253 +10292,253 @@ Wil je het echt overschrijven? MixxxMainWindow - + Sound Device Busy Geluisapparaat bezig - + <b>Retry</b> after closing the other application or reconnecting a sound device <b>Probeer opnieuw</b> na het afsluiten van de andere applicatie of het opnieuw aansluiten van een geluidsapparaat - - - + + + <b>Reconfigure</b> Mixxx's sound device settings. <b>Configureer</b> opnieuw de Mixxx instellingen van het geluidsapparaat. - - + + Get <b>Help</b> from the Mixxx Wiki. <b>Hulp</b>zoeken in de Mixxx Wiki. - - - + + + <b>Exit</b> Mixxx. <b>Verlaat</b> Mixxx. - + Retry Probeer opnieuw - + skin skin - + Allow Mixxx to hide the menu bar? Mixxx toestaan om de menu balk te verbergen? - + Hide Always show the menu bar? Verberg - + Always show Altijd tonen - + The Mixxx menu bar is hidden and can be toggled with a single press of the <b>Alt</b> key.<br><br>Click <b>%1</b> to agree.<br><br>Click <b>%2</b> to disable that, for example if you don't use Mixxx with a keyboard.<br><br>You can change this setting any time in Preferences -> Interface.<br> Keep formatting tags <b> (bold text) and <br> (linebreak). %1 is the placeholder for the 'Always show' button label De Mixxx menu balk is verborgen en kan worden opgeroepen met een enkele druk op de <b>Alt</b> toets.<br><br>Click <b>%1</b> om akkoord te gaan.<br><br>Click <b>%2</b> om dit uit te schakelen, bijvoorbeeld wanneer u Mixxx niet met een toetsenbord gebruikt.<br><br>U kan deze instelling altijd wijzigen in de Voorkeuren -> Interface.<br> - + Ask me again Vraag mij opnieuw - - + + Reconfigure Opnieuw configureren - + Help Help - - + + Exit Afsluiten - - + + Mixxx was unable to open all the configured sound devices. Mixxx kon niet alle geconfigureerde geluidsapparaten openen. - + Sound Device Error Fout met geluidsapparaat - + <b>Retry</b> after fixing an issue <b>Probeer opnieuw</b> na het oplossen van een probleem - + No Output Devices Geen uitvoerapparaten - + Mixxx was configured without any output sound devices. Audio processing will be disabled without a configured output device. Mixxx is ingesteld zonder uitvoerapparaten voor geluid. Geluidsverwerking wordt uitgeschakeld zonder een geconfigureerd uitvoerapparaat. - + <b>Continue</b> without any outputs. <b>Ga door</b> zonder uitvoer. - + Continue Verdergaan - + Load track to Deck %1 Laad Track in deck %1 - + Deck %1 is currently playing a track. Deck %1 speelt momenteel een Track af. - + Are you sure you want to load a new track? Bent u zeker dat u een nieuwe Track wil laden? - + There is no input device selected for this vinyl control. Please select an input device in the sound hardware preferences first. Er is geen invoerapparaat geselecteerd voor deze vinylbesturing. Selecteer eerst een invoerapparaat in de voorkeuren voor geluidshardware. - + There is no input device selected for this passthrough control. Please select an input device in the sound hardware preferences first. Er is geen invoerapparaat geselecteerd voor dit Directe Doorvoerapparaat. Selecteer eerst een invoerapparaat in de voorkeuren voor geluidsapparatuur. - + There is no input device selected for this microphone. Do you want to select an input device? Er is geen invoerapparaat geselecteerd voor deze microfoon. Wilt u een invoerapparaat selecteren? - + There is no input device selected for this auxiliary. Do you want to select an input device? Er is geen invoerapparaat geselecteerd voor deze Auxiliary. Wilt u een invoerapparaat selecteren? - + Scan took %1 - + No changes detected. - - + + %1 tracks in total - + %1 new tracks found - + %1 moved tracks detected - + %1 tracks are missing (%2 total) - + %1 tracks have been rediscovered - + Library scan finished - + Error in skin file Fout in Skin-bestand - + The selected skin cannot be loaded. De geselecteerde Skin kan niet worden geladen. - + OpenGL Direct Rendering OpenGL Direct Rendering - + Direct rendering is not enabled on your machine.<br><br>This means that the waveform displays will be very<br><b>slow and may tax your CPU heavily</b>. Either update your<br>configuration to enable direct rendering, or disable<br>the waveform displays in the Mixxx preferences by selecting<br>"Empty" as the waveform display in the 'Interface' section. OpenGL Directe weergave-herberekening is niet ingeschakeld op uw computer.<br><br> Dit betekent dat de weergave van de golfvormen erg<br><b> traag zal zijn en uw CPU zwaar kan belasten</b>. Werk uw <br> configuratie bij om OpenGL Directe weergave-herberekening mogelijk te maken of schakel<br>de waveform weergaven uit in de Mixxx-voorkeuren door "Leeg" te selecteren<br> als de waveform weergave in het gedeelte "Interface". - - - + + + Confirm Exit Afsluiten bevestigen - + A deck is currently playing. Exit Mixxx? Er is momenteel een deck actief. Mixxx afsluiten? - + A sampler is currently playing. Exit Mixxx? Er is momenteel een sampler actief. Mixxx afsluiten? - + The preferences window is still open. Het scherm "Voorkeuren" staat nog open. - + Discard any changes and exit Mixxx? Wijzigingen negeren en Mixxx afsluiten? @@ -10272,13 +10554,13 @@ Wilt u een invoerapparaat selecteren? PlaylistFeature - + Lock Vergrendel - - + + Playlists Afspeellijsten @@ -10288,58 +10570,63 @@ Wilt u een invoerapparaat selecteren? Afspeellijst door elkaar schudden - + + Adopt current order + + + + Unlock all playlists - + Delete all unlocked playlists - + Unlock Ontgrendel - - + + Confirm Deletion - + Do you really want to delete all unlocked playlists? - + Deleting %1 unlocked playlists.<br>This operation can not be undone! - + Playlists are ordered lists of tracks that allow you to plan your DJ sets. Playlists zijn geordende lijsten met Tracks waarmee u uw DJ-sets kunt plannen. - + It may be necessary to skip some tracks in your prepared playlist or add some different tracks in order to maintain the energy of your audience. Het kan nodig zijn om enkele Tracks van uw voorbereide afspeellijst over te slaan of enkele andere Tracks toe te voegen om de energie van uw publiek op peil te houden. - + Some DJs construct playlists before they perform live, but others prefer to build them on-the-fly. Sommige DJ's maken afspeellijsten voordat ze live optreden, maar anderen bouwen ze liever on-the-fly tijdens hun optreden. - + When using a playlist during a live DJ set, remember to always pay close attention to how your audience reacts to the music you've chosen to play. Wanneer u een afspeellijst gebruikt tijdens een live DJ-set, vergeet dan niet om goed op te letten hoe uw publiek reageert op de muziek die u hebt gekozen om te spelen. - + Create New Playlist Creëer nieuwe afspeellijst @@ -10438,59 +10725,59 @@ Wilt u een invoerapparaat selecteren? QMessageBox - + Upgrading Mixxx Mixxx Upgraden - + Mixxx now supports displaying cover art. Do you want to scan your library for cover files now? Mixxx ondersteunt nu het weergeven van Cover Art. Wilt u nu in uw Bibliotheek scannen naar Cover Art? - + Scan Scan - + Later Later - + Upgrading Mixxx from v1.9.x/1.10.x. Mixxx aan het upgraden van v1.9.x/1.10.x. - + Mixxx has a new and improved beat detector. Mixxx bevat een nieuwe en verbeterde beat detector. - + When you load tracks, Mixxx can re-analyze them and generate new, more accurate beatgrids. This will make automatic beatsync and looping more reliable. Wanneer je Tracks laadt, kan Mixxx ze opnieuw analyseren en nieuwe, nauwkeurigere Beat-Grids genereren. Dit maakt automatische beatsync en looping betrouwbaarder. - + This does not affect saved cues, hotcues, playlists, or crates. Dit heeft geen invloed op opgeslagen cues, Hotcues, afspeellijsten of Kratten. - + If you do not want Mixxx to re-analyze your tracks, choose "Keep Current Beatgrids". You can change this setting at any time from the "Beat Detection" section of the Preferences. Als je niet wilt dat Mixxx je Tracks opnieuw analyseert, kies dan "Huidige Beat-Grids behouden". Je kunt deze instelling op elk moment wijzigen in het "Beat Detectie" gedeelte in de Voorkeuren. - + Keep Current Beatgrids Huidige Beat-Grids behouden - + Generate New Beatgrids Nieuwe Beat-Grids genereren @@ -10604,69 +10891,82 @@ Wilt u nu in uw Bibliotheek scannen naar Cover Art? 14-bit (MSB) - + Main + Audio path indetifier Hoofd - + Booth + Audio path indetifier Booth - + Headphones + Audio path indetifier Hoofdtelefoon - + Left Bus + Audio path indetifier Bus Links - + Center Bus + Audio path indetifier Bus Centraal - + Right Bus + Audio path indetifier Bus Rechts - + Invalid Bus + Audio path indetifier Ongeldinge Bus - + Deck + Audio path indetifier Deck - + Record/Broadcast + Audio path indetifier Opnemen/Uitzenden - + Vinyl Control + Audio path indetifier Vinyl Besturing - + Microphone + Audio path indetifier Microfoon - + Auxiliary + Audio path indetifier Auxiliary - + Unknown path type %1 + Audio path Ongekend pad-type %1 @@ -11009,47 +11309,49 @@ Met een breedte van nul, maakt dit het mogelijk handmatig over het gehele vertra Breedte - + Metronome Metronoom - + + The Mixxx Team Het Mixxx Team - + Adds a metronome click sound to the stream Voegt het klikgeluid van een metronoom toe aan de stream - + BPM BPM - + Set the beats per minute value of the click sound Stel de BPM waarde van het klikgeluid in - + Sync Synchroniseer - + Synchronizes the BPM with the track if it can be retrieved Synchroniseert de BPM met de Track als deze kan worden opgehaald - + + Gain Versterking - + Set the gain of metronome click sound Stel de versterking van het metronoom klikgeluid in @@ -11854,13 +12156,13 @@ Volledig rechts: einde van de effectperiode - + encoder failure encoderfout - + Failed to apply the selected settings. Kan de geselecteerde instellingen niet toepassen. @@ -12069,15 +12371,86 @@ en het verwerkt uitgangssignaal auditief zo dicht mogelijk bij elkaar te houden< Aan + + Auto Gain Control + + + + + AGC + + + + + Auto Gain Control (AGC) automatically adjusts the gain of an audio signal to maintain a consistent output level. + + + + Threshold (dBFS) Drempel (dBFS) + Threshold Drempel + + + The Threshold knob adjusts the level above which the effect starts enhancing the input signal + + + + + Target (dBFS) + + + + + Target + + + + + The Target knob adjusts the desired target level of the output signal + + + + + Gain (dB) + + + + + The Gain knob adjusts the maximum amount of gain that the effect will apply + + + + + Knee (dB) + + + + + The Knee knob defines the range around the Threshold where gain changes are applied gradually, +ensuring smooth transitions and avoiding abrupt level shifts. + + + + + The Attack knob sets the time that determines how fast the auto gain +will set in once the signal exceeds the threshold + + + + + The Release knob sets the time that determines how fast the auto gain will recover from the gain +adjustment once the signal falls under the threshold. Depending on the input signal, short release times +may introduce a 'pumping' effect and/or distortion. + + The Threshold knob adjusts the level above which the compressor starts attenuating the input signal @@ -12108,6 +12481,7 @@ Bij een ratio van 1:1 gebeurt er geen compressie, aangezien het ingangssignaal e Knee (dBFS) + Knee Knee @@ -12118,11 +12492,13 @@ Bij een ratio van 1:1 gebeurt er geen compressie, aangezien het ingangssignaal e De Knee knop wordt gebruikt om een rondere compressie curve te bereiken. + Attack (ms) Aanslag (ms) + Attack Aanslag @@ -12134,11 +12510,13 @@ will set in once the signal exceeds the threshold De Aanslag knop stelt de tijd in die bepaalt hoe snel de compressie invalt wanneer het signaal de drempel overstijgt. + Release (ms) Release (ms) + Release Release @@ -12169,12 +12547,12 @@ release tijd zorgen voor een pompend effect en/of een vervorming. allerlei - + built-in ingebouwd - + missing ontbrekend @@ -12210,42 +12588,42 @@ release tijd zorgen voor een pompend effect en/of een vervorming. Stem #%1 - + Empty Leeg - + Simple Eenvoudig - + Filtered Gefilterd - + HSV HSV - + VSyncTest VSyncTest - + RGB RGB - + Stacked Gestapeld - + Unknown Onbekend @@ -12506,193 +12884,193 @@ release tijd zorgen voor een pompend effect en/of een vervorming. ShoutConnection - - + + Mixxx encountered a problem Mixxx ondervond een probleem - + Could not allocate shout_t Kon shout_t niet toewijzen - + Could not allocate shout_metadata_t Kon shout_metadata_t niet toewijzen - + Error setting non-blocking mode: Fout bij instellen van niet-blokkerende Modus: - + Error setting tls mode: Fout bij instellen van de tls Modus - + Error setting hostname! Fout bij instellen hostname! - + Error setting port! Fout bij het instellen poort! - + Error setting password! Fout bij het instellen van het paswoord! - + Error setting mount! Fout bij het instellen van de koppeling! - + Error setting username! Fout bij het instellen van de gebruikersnaam! - + Error setting stream name! Fout bij het instellen van de stream-naam! - + Error setting stream description! Fout bij het instellen van de stream-omschrijving! - + Error setting stream genre! Fout bij het instellen van het stream-genre! - + Error setting stream url! Fout bij het instellen van de stream-url! - + Error setting stream IRC! Fout bij het instellen van het stream-IRC! - + Error setting stream AIM! Fout bij het instellen van de stream-AIM! - + Error setting stream ICQ! Fout bij het instellen van de stream-ICQ! - + Error setting stream public! Fout bij het instellen van de openbare stream! - + Unknown stream encoding format! Onbekend stream coderingsformaat! - + Use a libshout version with %1 enabled Gebruik een libshout-versie met %1 ingeschakeld - + Error setting stream encoding format! Fout bij instellen van streamcoderingsformaat! - + Broadcasting at 96 kHz with Ogg Vorbis is not currently supported. Please try a different sample rate or switch to a different encoding. Uitzenden op 96 kHz met Ogg Vorbis wordt momenteel niet ondersteund. Probeer een andere samplefrequentie of schakel over naar een andere codering. - + See https://github.com/mixxxdj/mixxx/issues/5701 for more information. Ga naar https://github.com/mixxxdj/mixxx/issues/5701 voor meer informatie. - + Unsupported sample rate Niet-ondersteunde samplefrequentie - + Error setting bitrate Fout bij het instellen van de bitrate - + Error: unknown server protocol! Fout: onbekend serverprotocol! - + Error: Shoutcast only supports MP3 and AAC encoders Fout: Shoutcast ondersteunt enkel MP3 en AAC encoders - + Error setting protocol! Fout bij het instellen van het protocol! - + Network cache overflow Netwerk cache overflow - + Connection error Connectiefout - + One of the Live Broadcasting connections raised this error:<br><b>Error with connection '%1':</b><br> Een van de Live Uitzending-verbindingen veroorzaakte deze fout:<br><b>Fout met verbinding '%1':</b><br> - + Connection message Bericht bij verbinden - + <b>Message from Live Broadcasting connection '%1':</b><br> <b>Bericht van Live Uitzending-verbinding '%1':</b><br> - + Lost connection to streaming server and %1 attempts to reconnect have failed. Verbinding met streaming-server is verbroken en %1 pogingen om opnieuw verbinding te maken, zijn mislukt. - + Lost connection to streaming server. Verbinding met de streaming-server verbroken. - + Please check your connection to the Internet. Controleer uw verbinding met internet. - + Can't connect to streaming server Kan niet verbinden met de streaming-server - + Please check your connection to the Internet and verify that your username and password are correct. Controleer uw verbinding met internet en controleer of uw gebruikersnaam en wachtwoord correct zijn. @@ -12708,23 +13086,23 @@ release tijd zorgen voor een pompend effect en/of een vervorming. SoundManager - - + + a device Een apparaat - + An unknown error occurred Er is een onbekende fout opgetreden - + Two outputs cannot share channels on "%1" Twee uitgangen kunnen geen kanalen delen op %1 - + Error opening "%1" Fout bij het openen van "%1" @@ -12912,7 +13290,7 @@ release tijd zorgen voor een pompend effect en/of een vervorming. - + Spinning Vinyl Spinnend Vinyl @@ -13094,7 +13472,7 @@ release tijd zorgen voor een pompend effect en/of een vervorming. - + Cover Art Cover Art @@ -13284,243 +13662,243 @@ release tijd zorgen voor een pompend effect en/of een vervorming. Houdt de versterking van de lage EQ op nul terwijl deze actief is. - + Displays the tempo of the loaded track in BPM (beats per minute). Toont het tempo van het geladen Track in BPM (Beats Per Minute). - + Tempo Tempo - + Key The musical key of a track De Toonaard (Key) van een Track - + BPM Tap BPM Tikken - + When tapped repeatedly, adjusts the BPM to match the tapped BPM. Bij herhaaldelijk tikken, wordt de BPM aangepast zodat deze overeenkomt met de getikte BPM. - + Adjust BPM Down Pas BPM aan naar omlaag - + When tapped, adjusts the average BPM down by a small amount. Wanneer erop wordt getikt, wordt de gemiddelde BPM met een kleine waarde verlaagd. - + Adjust BPM Up Pas BPM aan naar omhoog - + When tapped, adjusts the average BPM up by a small amount. Wanneer erop wordt getikt, wordt de gemiddelde BPM met een kleine waarde verhoogd. - + Adjust Beats Earlier Verschuift de beats vooruit - + When tapped, moves the beatgrid left by a small amount. Wanneer erop getikt wordt, zal het Beat-Grid naar links verplaatst worden met een kleine waarde. - + Adjust Beats Later Verschuift de beats achteruit - + When tapped, moves the beatgrid right by a small amount. Wanneer erop getikt wordt, zal het Beat-Grid naar rechts verplaatst worden met een kleine waarde. - + Tempo and BPM Tap Tempo en Rate Tikken - + Show/hide the spinning vinyl section. Toon/Verberg de draaiende vinylsectie - + Keylock Toonaard (Key)-Vergrendeling - + Toggling keylock during playback may result in a momentary audio glitch. Schakelen van Toonaard (Key)-Vergrendeling tijdens het afspelen van een Track kan resulteren in een kortstondige audio-storing. - + Toggle visibility of Loop Controls Zichtbaarheid van de Loop-Controls Schakelaar - + Toggle visibility of Beatjump Controls Zichtbaarheid van de Beatjump-Controls Schakelaar - + Toggle visibility of Rate Control Zichtbaarheid van Rate-Control Schakelaar - + Toggle visibility of Key Controls Zichtbaarheid van de Key-Controls Schakelaar - + (while previewing) (tijdens het bekijken) - + Places a cue point at the current position on the waveform. Plaatst een Cue-Punt op de huidige positie op de waveform. - + Stops track at cue point, OR go to cue point and play after release (CUP mode). Stopt Track op het Cue point, OF ga naar Cue point en speel na loslaten (CUP-Modus). - + Set cue point (Pioneer/Mixxx/Numark mode), set cue point and play after release (CUP mode) OR preview from it (Denon mode). Stel het Cue-Punt in (Pioneer/Mixxx/Numark-Modus), stel het Cue-Punt in en speel na het loslaten (CUP-Modus) OF bekijk er een voorbeeld van (Denon-Modus). - + Is latching the playing state. Vergrendelt de afspeelstatus. - + Seeks the track to the cue point and stops. Doorzoekt de Track naar het Cue-Punt en stopt. - + Play Afspelen - + Plays track from the cue point. Speelt de Track vanaf het Cue-Punt - + Sends the selected channel's audio to the headphone output, selected in Preferences -> Sound Hardware. Stuurt de audio van het geselecteerde kanaal naar de hoofdtelefoonuitgang, geselecteerd in Voorkeuren -> Geluidshardware. - + (This skin should be updated to use Sync Lock!) (Deze skin moet worden aangepast om Sync Lock te gebruiken!) - + Enable Sync Lock Schakel Sync Lock aan - + Tap to sync the tempo to other playing tracks or the sync leader. Tik om het tempo te synchroniseren met andere spelende Tracks of met de sync leader. - + Enable Sync Leader Schakel Sync Leader aan - + When enabled, this device will serve as the sync leader for all other decks. Wanneer Ingeschakeld zal dit Deck als Sync Leader dienen voor alle andere Decks. - + This is relevant when a dynamic tempo track is loaded to a sync leader deck.In that case, other synced devices will adopt the changing tempo. Dit is relevant wanneer een Track met een dynamisch Tempo wordt geladen in een Sync Leader Dech. In dat geval zullen de andere Decjs zich aanpassen aan het wijzigende Tempo. - + Changes the track playback speed (affects both the tempo and the pitch). If keylock is enabled, only the tempo is affected. Wijzigt de AfspeelSnelheid van de Track (beïnvloedt zowel het Tempo als de Toonhoogte (Pitch)). Als Toonaard-vergrendeling is ingeschakeld, wordt alleen het tempo beïnvloed. - + Tempo Range Display Weergave van Tempo-Bereik - + Displays the current range of the tempo slider. Geeft het huidige bereik van de Temposchuifregelaar weer. - + Un-ejects when no track is loaded, i.e. reloads the track that was ejected last (of any deck). Un-Eject wanneer geen Track is geladen, bijv. herlaad de laatst uitgeworpen Track (van om het even welk Deck). - + Delete selected hotcue. Verwijder de geselecteerde Hotcue. - + Track Comment Track commentaar - + Displays the comment tag of the loaded track. Toont het opmerking-veld van de geladen Track. - + Opens separate artwork viewer. Opent een aparte viewer voor artwork. - + Effect Chain Preset Settings Effect Ketting Voorkeuze instellingen - + Show the effect chain settings menu for this unit. Toon de Effect Ketting instellingen voor deze unit. - + Select and configure a hardware device for this input Selecteer en configureer een hardware apparaat voor deze uitgang - + Recording Duration Opnameduur @@ -13743,949 +14121,984 @@ release tijd zorgen voor een pompend effect en/of een vervorming. Houdt de afspeelsnelheid lager (weinig) tijdens inschakelen (tempo). - + When tapped repeatedly, adjusts the tempo to match the tapped BPM. Wanneer herhaaldelijk wordt aangetikt, wordt het tempo aangepast aan het aangetikt BPM. + + + Click to open the tempo/BPM editor + + + + + It also shows a colored bar if Key colors are enabled in the Preferences. + + + The bar will be split vertically if the track's key is in between full keys. + + + + Tempo Tap Tempo Tikken - + Rate Tap and BPM Tap Rate Tap en BPM Tikken - + + Set Tempo + + + + + Set the desired tempo in BPM. If the track currently has no BPM detected, set the desired tempo in percent. + + + + Adjust beatgrid by exactly one half beat. Usable only on tracks with constant tempo. - + Revert last BPM/Beatgrid Change Herstel laatste BPM/Beatgrid wijziging - + Revert last BPM/Beatgrid Change of the loaded track. Herstel laatste BPM/Beatgrid wijziging van de geladen track. - - + + Toggle the BPM/beatgrid lock Schakel de BPM/beatgrid vergrendeling - + Tempo and Rate Tap Tempo en Rate Tikken - + Tempo, Rate Tap and BPM Tap Tempo, Rate Tikken and BPM Tikken - + Shift cues earlier Verschuif cues naar eerder - - + + Shift cues imported from Serato or Rekordbox if they are slightly off time. Verschuif cues geïmporteerd uit Serato of Rekordbox als ze een beetje uit de maat staan. - + Left click: shift 10 milliseconds earlier Linkerklik: 10 milliseconden eerder verschuiven - + Right click: shift 1 millisecond earlier Rechts klikken: shift 1 milliseconde eerder - + Shift cues later Verschuif cues later - + Left click: shift 10 milliseconds later Linkerklik: 10 milliseconden later verschuiven - + Right click: shift 1 millisecond later Rechts klikken: 1 milliseconde later verschuiven - - - + + + Drag a Hotcue button here to continue playing after releasing the Hotcue. Sleep een hotcue toets hierheen om het afspelen verder te zetten na het loslaten van de Hotcue. - + Hint: Change the default cue mode in Preferences -> Decks. Tip: Wijzig de standaard cue modus in Voorkeuren -> Decks. - + Mutes the selected channel's audio in the main output. Dempt de audio van het geselecteerde kanaal in de hoofduitgang. - + Main mix enable Hoofdmix inschakelen - + Hold or short click for latching to mix this input into the main output. Houd ingedrukt of klik kort om te vergrendelen om deze invoer te mengen met de hoofduitvoer. - + + Reloads the last replaced track. If no track is loaded reloads the second-last ejected track. + + + + If hotcue is a loop cue, toggles the loop and jumps to if the loop is behind the play position. Wanneer de hotcue een lus cue is, schakelt de lus in en springt ernaar indien de lus zich achter de afspeelpositie bevind. - + If the play position is inside an active loop, stores the loop as loop cue. Indien de afspeelpositie zich bevind in een actieve lus, wordt de lus als een lus cue opgeslagen. - + Drag this button onto another Hotcue button to move it there (change its index). If the other hotcue is set, the two are swapped. Sleep deze toets naar een andere Hotcue toets om deze te verplaatse, (wijzig de index). Wanneer een andere hotcue ingesteld wordt, worden beide omgewisseld. - + Expand/Collapse Samplers Vergroot/Verkleint Samplers - + Toggle expanded samplers view. Schakelt uitgebreide sampler weergave in. - + Displays the duration of the running recording. Geeft de duur van de lopende opname weer. - + Auto DJ is active Auto-DJ is actief - + Red for when needle skip has been detected. Rood voor wanneer de naald skip^gedetecteerd werd. - + Hot Cue - Track will seek to nearest previous hotcue point. Hot Cue - Track zoekt naar het dichtstbijzijnde vorige Hotcue-Punt. - + Sets the track Loop-In Marker to the current play position. Stelt de Track Loop-In Marker in op de huidige afspeelpositie. - + Press and hold to move Loop-In Marker. Houd ingedrukt om Loop-In Marker te verplaatsen. - + Jump to Loop-In Marker. Spring naar Loop-In Marker. - + Sets the track Loop-Out Marker to the current play position. Stelt de Track Loop-Out Marker in op de huidige afspeelpositie. - + Press and hold to move Loop-Out Marker. Houd ingedrukt om Loop-Out Marker te verplaatsen. - + Jump to Loop-Out Marker. Spring naar Loop-Out Marker. - + If the track has no beats the unit is seconds. Indien de track geen beats heeft is de eenheid seconden. - + Beatloop Size Beatloop maat - + Select the size of the loop in beats to set with the Beatloop button. Selecteer de maat van de loop in beats om de Beatloop-knop in te stellen. - + Changing this resizes the loop if the loop already matches this size. Als u dit wijzigt, wordt de maat van de loop aangepast als de loop al overeenkomt met deze grootte. - + Halve the size of an existing beatloop, or halve the size of the next beatloop set with the Beatloop button. Halveer de maat van een bestaande beatloop of halveer de maat van de volgende beatloop die ingesteld is met de Beatloop-knop. - + Double the size of an existing beatloop, or double the size of the next beatloop set with the Beatloop button. Verdubbel de maat van een bestaande beatloop of verdubbel de maat van de volgende beatloop die ingesteld is met de Beatloop-knop. - + Start a loop over the set number of beats. Start een Loop over het ingestelde aantal beats. - + Temporarily enable a rolling loop over the set number of beats. Schakel tijdelijk een Loop-roll in over het ingestelde aantal beats. - + Beatloop Anchor Beatlus Anker - + Define whether the loop is created and adjusted from its staring point or ending point. Bepaal of de lus aangemaakt en aangepast wordt vanaf het start- of eindpunt. - + Beatjump/Loop Move Size Beatjump / Loop Move Maat - + Select the number of beats to jump or move the loop with the Beatjump Forward/Backward buttons. Selecteer het aantal beats om te verspringen of de Loop te verplaatsen met de Beatjump Vooruit/Achteruit knoppen. - + Beatjump Forward Beatjump vooruit - + Jump forward by the set number of beats. Spring vooruit met het ingestelde aantal beats. - + Move the loop forward by the set number of beats. Verplaats de Loop vooruit met het ingestelde aantal beats. - + Jump forward by 1 beat. Spring 1 beat vooruit. - + Move the loop forward by 1 beat. Verplaats de Loop met 1 beat vooruit. - + Beatjump Backward Beatjump achteruit - + Jump backward by the set number of beats. Spring achteruit met het ingestelde aantal beats. - + Move the loop backward by the set number of beats. Verplaats de Loop achteruit met het ingestelde aantal beats. - + Jump backward by 1 beat. Spring 1 beat achteruit. - + Move the loop backward by 1 beat. Verplaats de Loop 1 beat achteruit. - + Reloop Reloop - + If the loop is ahead of the current position, looping will start when the loop is reached. Als de Loop voor de huidige positie ligt, begint het Loopen wanneer de Loop is bereikt. - + Works only if Loop-In and Loop-Out Marker are set. Werkt alleen als Loop-In en Loop-Out Markeerpunten zijn ingesteld. - + Enable loop, jump to Loop-In Marker, and stop playback. Schakel Loop in, spring naar het Loop-In Markeerpunt en stop het afspelen. - + Displays the elapsed and/or remaining time of the track loaded. Geeft de verstreken en/of resterende tijd van de geladen Track weer. - + Click to toggle between time elapsed/remaining time/both. Schakelaar om te wisselen tussen Verstreken tijd/Resterende tijd/Beide. - + Hint: Change the time format in Preferences -> Decks. Tip: Wijzig het tijdformaat in Voorkeuren -> Decks. - + Show/hide intro & outro markers and associated buttons. Toon/Verberg intro & outro markeerpunten en bijbehorende knoppen. - + + Ensure all waveforms to have the same height across all channels. By default, when displaying the stem controls, waveform for channel that have no stem may render with a shorter height in order to honor the waveform container size you have requested.. + + + + Intro Start Marker Intro Start Markeerpunt - - - - + + + + If marker is set, jumps to the marker. Als het markeerpunt is ingesteld, springt deze naar het markeerpunt. - - - - + + + + If marker is not set, sets the marker to the current play position. Als er geen markeerpunt is ingesteld, wordt het markeerpunt op de huidige afspeelpositie gezet. - - - - + + + + If marker is set, clears the marker. Als het markeerpunt ingesteld is, wordt de markering gewist. - + Intro End Marker Intro Einde Markering - + Outro Start Marker Outro Begin Markering - + Outro End Marker Outro Einde Markering - + Mix Mix - + Adjust the mixing of the dry (input) signal with the wet (output) signal of the effect unit Pas de mix van het onbewerkte (droge) ingangssignaal aan met het verwerkte (natte) uitgangssignaal van de effecteenheid - + D/W mode: Crossfade between dry and wet D/W-Modus: overgang tussen Onbewerkt (Dry) en Verwerkt (Wet) - + D+W mode: Add wet to dry D+W Modus: voeg Verwerkt (Wet) toe aan Onbewerkt (Dry) - + Mix Mode Mix Modus - + Adjust how the dry (input) signal is mixed with the wet (output) signal of the effect unit Pas aan hoe het Onbewerkte (invoer/Dry) signaal wordt gemengd met het bewerkte (Uitvoer/Wet) signaal van de effecteenheid - + Dry/Wet mode (crossed lines): Mix knob crossfades between dry and wet Use this to change the sound of the track with EQ and filter effects. Dry/Wet-Modus (gekruiste lijnen): Mix-knop vloeit over tussen Bewerkt en Onbewerkt Gebruik dit om het geluid van de Track te veranderen met EQ en filtereffecten. - + Dry+Wet mode (flat dry line): Mix knob adds wet to dry Use this to change only the effected (wet) signal with EQ and filter effects. Dry + Wet Mode (Flat Dry Line): Mix-knop voegt Wet aan Dry toe Gebruik deze optie om alleen het verwerkte (Wet) signaal met EQ en filtereffecten te wijzigen. - + Route the main mix through this effect unit. Leid de hoofdmix door deze effecteenheid. - + Route the left crossfader bus through this effect unit. Leid de linker crossfaderbus door dit effectapparaat. - + Route the right crossfader bus through this effect unit. Leid de rechter crossfaderbus door dit effectapparaat. - + Right side active: parameter moves with right half of Meta Knob turn Rechterkant actief: parameter beweegt met de rechterhelft van de Meta-knop - + Stem Label Stem Label - + Name of the stem stored in the stem file Naam van de stem die opgeslagen is in het stem bestand - + Text is displayed in the stem color stored in the stem file De tekst wordt weergegeven in de kleur die opgeslagen is in het stem bestand - + this stem color is also used for the waveform of this stem deze stem kleur wordt ook gebruikt voor de waveform van deze stem - + Stem Mute Stem Mute - + Toggle the stem mute/unmuted Schekel de stem mute - + Stem Volume Knob Stem Volume Knop - + Adjusts the volume of the stem Regelt het volume van de stem - + Skin Settings Menu Menu Skin-instellingen - + Show/hide skin settings menu Toon/Verberg menu Skin-instellingen - + Save Sampler Bank Sampler Collectie opslaan - + Save the collection of samples loaded in the samplers. Sla de collectie van samples op die in de samplers zijn geladen. - + Load Sampler Bank Sampler Collectie laden - + Load a previously saved collection of samples into the samplers. Laad een eerder opgeslagen Collectie samples op in de samplers. - + Show Effect Parameters Toon Effect Parameters - + Enable Effect Effect inschakelen - + Meta Knob Link Meta Knob Link - + Set how this parameter is linked to the effect's Meta Knob. Stel in hoe deze parameter wordt gekoppeld aan het effect van de metaknop. - + Meta Knob Link Inversion Meta Knob Link Inversie - + Inverts the direction this parameter moves when turning the effect's Meta Knob. Keert de richting om die deze parameter beweegt, wanneer u aan de metaknop van het effect draait. - + Super Knob Super Knop - + Next Chain Volgende Ketting - + Previous Chain Vorige Ketting - + Next/Previous Chain Volgende/Vorige Ketting - + Clear Wissen - + Clear the current effect. Wis het huidige effect. - + Toggle Schakelaar - + Toggle the current effect. Huidige effect Schakelaar. - + Next Volgende - + Clear Unit Wis Eenheid - + Clear effect unit. Wis de effect-eenheid - + Show/hide parameters for effects in this unit. Toon/Verberg parameters voor effecten in deze unit. - + Toggle Unit Eenheid Schakelaar - + Enable or disable this whole effect unit. Aan/Uit-Schakelaar van deze hele Effecteneenheid. - + Controls the Meta Knob of all effects in this unit together. Bestuurt de metaknop van alle effecten samen in deze eenheid. - + Load next effect chain preset into this effect unit. Laad de volgende vooraf ingestelde EffectenKetting in deze Effecteenheid. - + Load previous effect chain preset into this effect unit. Laad vorige vooraf ingestelde EffectenKetting in deze Effecteneenheid. - + Load next or previous effect chain preset into this effect unit. Laad vorige of volgende vooraf ingestelde EffectenKetting in deze Effecteneenheid. - - - - - - - - - + + + + + + + + + Assign Effect Unit Wijs Effecteneenheid toe - + Assign this effect unit to the channel output. Wijs deze Effecteneenheid toe aan de kanaaluitvoer. - + Route the headphone channel through this effect unit. Stuur het hoofdtelefoonkanaal door deze Effecteneenheid. - + Route this deck through the indicated effect unit. Stuur dit Deck door de aangegeven Effecteneenheid. - + Route this sampler through the indicated effect unit. Stuur deze sampler door de aangegeven Effecteneenheid. - + Route this microphone through the indicated effect unit. Stuur de microfoon door de aangegeven Effecteneenheid. - + Route this auxiliary input through the indicated effect unit. Stuur de Auxiliary ingang door de aangegeven Effecteneenheid. - + The effect unit must also be assigned to a deck or other sound source to hear the effect. De Effecteenheid moet ook zijn toegewezen aan een Deck of andere geluidsbron om het effect te horen. - + Switch to the next effect. Schakel over naar het volgende effect. - + Previous Vorige - + Switch to the previous effect. Schakel over naar het vorige effect. - + Next or Previous Volgende of Vorige - + Switch to either the next or previous effect. Schakel over naar het volgende of vorige effect. - + Meta Knob Meta Knop - + Controls linked parameters of this effect Bestuurt gekoppelde parameters van dit effect - + Effect Focus Button Effect Focus knop - + Focuses this effect. Legt de focus op dit effect. - + Unfocuses this effect. Neemt de focus weg van dit effect. - + Refer to the web page on the Mixxx wiki for your controller for more information. Raadpleeg voor meer informatie de webpagina op de Mixxx-wiki voor je controller . - + Effect Parameter Effect Parameter - + Adjusts a parameter of the effect. Past een parameter van het effect aan. - + Inactive: parameter not linked Inactief: parameter niet gekoppeld. - + Active: parameter moves with Meta Knob Actief: parameter beweegt met metaknop - + Left side active: parameter moves with left half of Meta Knob turn Linkerkant actief: parameter beweegt met linkerhelft van de metaknopdraai - + Left and right side active: parameter moves across range with half of Meta Knob turn and back with the other half Linker- en rechterkant actief: parameter beweegt over bereik met de helft van de metaknopdraai en terug met de andere helft - - + + Equalizer Parameter Kill Demp Equalizer Parameter - - + + Holds the gain of the EQ to zero while active. Houdt de versterking van de EQ op nul terwijl deze actief is. - + Quick Effect Super Knob Superknop Quick Effect - + Quick Effect Super Knob (control linked effect parameters). Superknop Quick Effect ( controle op gekoppelde effectparameters). - + Hint: Change the default Quick Effect mode in Preferences -> Equalizers. Tip: Wijzig de standaard Quick Effect-Modus in Voorkeuren -> Equalizers. - + Equalizer Parameter Equalizer Parameter - + Adjusts the gain of the EQ filter. Pas de versterking van de EQ filter aan. - + Hint: Change the default EQ mode in Preferences -> Equalizers. Tip: Wijzig de standaard EQ-Modus in Voorkeuren -> Equalizers. - - + + Adjust Beatgrid Stel Beat-Grid bij - + Adjust beatgrid so the closest beat is aligned with the current play position. Pas de Beat-Grid aan zodat de dichtstbijzijnde beat uitgelijnd is met de huidige afspeelpositie. - - + + Adjust beatgrid to match another playing deck. Pas de Beat-Grid aan om te matchen een ander spelend Deck. - + If quantize is enabled, snaps to the nearest beat. Als Quantizatie is ingeschakeld, springt het naar de dichtstbijzijnde Beat. - + Quantize Quantizatie - + Toggles quantization. Quantizatie Aan/Uit-Schakelaar. - + Loops and cues snap to the nearest beat when quantization is enabled. Loops en Cues springen naar de dichtstbijzijnde beat wanneer Quantizatie is ingeschakeld. - + Reverse Omkeren - + Reverses track playback during regular playback. Keert het afspelen van de Track om tijdens normaal afspelen. - + Puts a track into reverse while being held (Censor). Keert een Track om wanneer deze wordt vastgehouden (Censor). - + Playback continues where the track would have been if it had not been temporarily reversed. Het afspelen gaat verder waar het Track zou zijn geweest als het niet tijdelijk was omgekeerd. - - - + + + Play/Pause Play/Pauze - + Jumps to the beginning of the track. Spring naar het begin van de track. - + Syncs the tempo (BPM) and phase to that of the other track, if BPM is detected on both. Synchroniseert het tempo (BPM) en Fase met dat van de andere Track, als BPM op beide Tracks wordt gedetecteerd. - + Syncs the tempo (BPM) to that of the other track, if BPM is detected on both. Synchroniseert het tempo (BPM) met dat van de andere Track, als BPM op beide Tracks wordt gedetecteerd. - + Sync and Reset Key Synchroniseer en Herstel Toonaard (Key) - + Increases the pitch by one semitone. Verhoogt de Toonhoogte (Pitch) met een halve toon. - + Decreases the pitch by one semitone. Verlaagt de Toonhoogte (Pitch) met een halve toon. - + Enable Vinyl Control Schakel VinylBediening in - + When disabled, the track is controlled by Mixxx playback controls. Indien uitgeschakeld, wordt de Track bestuurd door Mixxx-afspeelknoppen. - + When enabled, the track responds to external vinyl control. Indien ingeschakeld, reageert de Track op externe VinylBediening. - + Enable Passthrough Directe Doorvoer inschakelen - + Indicates that the audio buffer is too small to do all audio processing. Geeft aan dat de audiobuffer te klein is om alle audiobewerkingen uit te voeren. - + Displays cover artwork of the loaded track. Toont hoes van de geladen track. - + Displays options for editing cover artwork. Toont de bewerkopties voor de Cover Art. - + Star Rating Sterwaardering - + Assign ratings to individual tracks by clicking the stars. Ken waarderingen toe aan individuele Tracks door op de sterren te klikken. @@ -14820,33 +15233,33 @@ Gebruik deze optie om alleen het verwerkte (Wet) signaal met EQ en filtereffecte Dempsterkte microfoon Talkover - + Prevents the pitch from changing when the rate changes. Voorkomt dat de Toonhoogte (Pitch) verandert wanneer de snelheid verandert. - + Changes the number of hotcue buttons displayed in the deck Wijzigt het aantal Hotcue-knoppen dat in de deck wordt weergegeven - + Starts playing from the beginning of the track. Begint te spelen vanaf het begin van de Track. - + Jumps to the beginning of the track and stops. Sprint naar het begin van de Track en stopt. - - + + Plays or pauses the track. Speelt of pauzeert de Track. - + (while playing) (tijdens het spelen) @@ -14866,215 +15279,215 @@ Gebruik deze optie om alleen het verwerkte (Wet) signaal met EQ en filtereffecte Main Kanaal R Volume Meter - + (while stopped) (terwijl gestopt) - + Cue Cue - + Headphone Hoofdtelefoon - + Mute Dempen - + Old Synchronize Oude Synchronisatie - + Syncs to the first deck (in numerical order) that is playing a track and has a BPM. Synchroniseert met de eerste deck (in numerieke volgorde) dat een Track afspeelt en een BPM heeft. - + If no deck is playing, syncs to the first deck that has a BPM. Als geen Deck speelt, wordt het gesynchroniseerd met de eerste Deck met een BPM. - + Decks can't sync to samplers and samplers can only sync to decks. Decks kunnen niet worden gesynchroniseerd met Samplers en Samplers kunnen alleen worden gesynchroniseerd met Decks. - + Hold for at least a second to enable sync lock for this deck. Houd minimaal één seconde ingedrukt om de SynchronisatieVergrendeling voor dit Deck in te schakelen. - + Decks with sync locked will all play at the same tempo, and decks that also have quantize enabled will always have their beats lined up. Decks met SynchronisatieVergrendeling, spelen allemaal in hetzelfde tempo, en Decks waarvoor ook Quantizatie is ingeschakeld, hebben hun beats altijd uitgelijnd. - + Resets the key to the original track key. Herstelt de Toonaard (Key) naar de originele Track-Toonaard (Key). - + Speed Control Snelheidsbediening - - - + + + Changes the track pitch independent of the tempo. Verandert de Track Toonhoogte (Pitch) onafhankelijk van het tempo. - + Increases the pitch by 10 cents. Verhoogt de Toonhoogte (Pitch) met 10 cent. - + Decreases the pitch by 10 cents. Verlaagt de Toonhoogte (Pitch) met 10 cent. - + Pitch Adjust Toonhoogte (Pitch) Bijregelen - + Adjust the pitch in addition to the speed slider pitch. Regel de Toonhoogte (Pitch) als aanvulling bij de snelheid van de schuifregelaar. - + Opens a menu to clear hotcues or edit their labels and colors. Opent een menu om Hotcues te wissen of om de labels en kleuren te bewerken. - + Drag this button onto a Play button while previewing to continue playback after release. Sleep deze toets naar de afspeeltoets tijdens het voorbeluisteren om het afspelen verder te zetten na het loslaten. - + Dragging with Shift key pressed will not start previewing the hotcue. Slepen met de Shift toets ingedrukt zal het voorbeluisteren van de hotcue niet starten. - + Record Mix Neem Mix Op - + Toggle mix recording. Mix Opname Schakelaar. - + Enable Live Broadcasting Live-uitzenden Inschakelen - + Stream your mix over the Internet. Stream je mix over het Internet. - + Provides visual feedback for Live Broadcasting status: Voorziet visuele feedback voor de status van live-uitzendingen: - + disabled, connecting, connected, failure. Uitgeschakeld, Verbinden, Verbonden, Fout. - + When enabled, the deck directly plays the audio arriving on the vinyl input. Indien ingeschakeld, speelt de deck onmiddelijk audio af die op de vinyl-invoer binnenkomt. - + Playback will resume where the track would have been if it had not entered the loop. Het afspelen wordt hervat waar de Track zou zijn geweest als deze niet in de Loop was terechtgekomen. - + Loop Exit Verlaat Loop - + Turns the current loop off. Schakelt de huidige Loop uit. - + Slip Mode Slip Modus - + When active, the playback continues muted in the background during a loop, reverse, scratch etc. Indien actief, gaat het afspelen op de achtergrond gedempt door tijdens een Loop, Omgekeerd Afspelen, Scratch etc. - + Once disabled, the audible playback will resume where the track would have been. Eenmaal uitgeschakeld, wordt het hoorbaar Afspelen hervat waar de Track zou zijn geweest. - + Track Key The musical key of a track Track Toonaard (Key) - + Displays the musical key of the loaded track. Geeft de Toonaard (Key) van de geladen Track weer. - + Clock Klok - + Displays the current time. Geeft de huidige tijd weer. - + Audio Latency Usage Meter Gebruiksmeter voor Audio Latency - + Displays the fraction of latency used for audio processing. Toont het deel van de Latency weer dat wordt gebruikt voor audioverwerking. - + A high value indicates that audible glitches are likely. Een hoge waarde geeft aan dat hoorbare storingen waarschijnlijk zijn. - + Do not enable keylock, effects or additional decks in this situation. Schakel in deze situatie geen ToonaardVergrendeling, Effecten of Extra Decks in. - + Audio Latency Overload Indicator Indicator voor overbelasting van de Audio Latency @@ -15114,259 +15527,259 @@ Gebruik deze optie om alleen het verwerkte (Wet) signaal met EQ en filtereffecte Activeer VinylBediening vanuit het Menu -> Opties. - + Displays the current musical key of the loaded track after pitch shifting. Toont de huidige Muzikale Toonaard (Key) van de geladen Track na het veranderen van de Toonhoogte (Pitch). - + Fast Rewind Snel Terugspoelen - + Fast rewind through the track. Snel terugspoelen in de Track. - + Fast Forward Snel vooruitspoelen - + Fast forward through the track. Snel vooruitspoelen in de Track. - + Jumps to the end of the track. Spring naar het einde van de Track. - + Sets the pitch to a key that allows a harmonic transition from the other track. Requires a detected key on both involved decks. Stelt de Toonhoogte (Pitch) in op een Toonaard (Key) die een harmonische overgang van de andere Track mogelijk maakt. Vereist een gedetecteerde Toonaard (Key) op beide betrokken Decks. - - - + + + Pitch Control Toonhoogte (Pitch) regeling - + Pitch Rate Toonhoogte (Pitch) waarde - + Displays the current playback rate of the track. Geeft de huidige AfspeelSnelheid van de Track weer. - + Repeat Herhaal - + When active the track will repeat if you go past the end or reverse before the start. Indien actief, wordt de Track herhaald als u voorbij het einde gaat of wanneer u voor het begin komt bij Omgekeerd Afspelen. - + Eject Uitwerpen - + Ejects track from the player. Verwijdert de Track uit het Deck. - + Hotcue Hotcue - + If hotcue is set, jumps to the hotcue. Springt naar de Hotcue als er een Hotcue is ingesteld. - + If hotcue is not set, sets the hotcue to the current play position. Stelt de Hotcue in op de huidige afspeelpositie als er nog geen Hotcue is ingesteld. - + Vinyl Control Mode VinylBediening Modus - + Absolute mode - track position equals needle position and speed. Absolute Modus - Trackpositie is gelijk aan Naald-Positie en Naald-Snelheid. - + Relative mode - track speed equals needle speed regardless of needle position. Relatieve Modus - Tracksnelheid is gelijk aan Naalds-Selheid, ongeacht de Naald-Positie. - + Constant mode - track speed equals last known-steady speed regardless of needle input. Constante Modus - Tracksnelheid is gelijk aan laatst bekende constante snelheid, ongeacht de Naald-Invoer. - + Vinyl Status Vinyl Status - + Provides visual feedback for vinyl control status: Biedt visuele feedback over de vinylstatus: - + Green for control enabled. Groen als de besturing is ingeschakeld. - + Blinking yellow for when the needle reaches the end of the record. Geel knipperend wanneer de naald het einde van de plaat bereikt. - + Loop-In Marker Loop-In Markering - + Loop-Out Marker Loop-Out Markering - + Loop Halve Halve Loop - + Halves the current loop's length by moving the end marker. Halveert de lengte van de huidige Loop door de eindmarkering te verplaatsen. - + Deck immediately loops if past the new endpoint. De Deck zal onmiddellijk in een Loop gaan als het voorbij het nieuwe eindpunt is. - + Loop Double Dubbele Loop - + Doubles the current loop's length by moving the end marker. Verdubbelt de lengte van de huidige Loop door de eindmarkering te verplaatsen. - + Beatloop BeatLoop - + Toggles the current loop on or off. De huidige Loop Aan/Uit-Schakelen. - + Works only if Loop-In and Loop-Out marker are set. Werkt alleen als de Loop-In- en Loop-Out-markeringen zijn ingesteld. - + Vinyl Cueing Mode Vinyl Cueing Modus - + Determines how cue points are treated in vinyl control Relative mode: Bepaalt hoe Cue-Punten worden behandeld in Relatieve Modus met VinylBediening: - + Off - Cue points ignored. Off - Cue punten genegeerd. - + One Cue - If needle is dropped after the cue point, track will seek to that cue point. One Cue - Als de naald na het Cue-Punt valt, zoekt de Track naar dat Cue-Punt. - + Track Time Track-Tijd - + Track Duration Track-Duur - + Displays the duration of the loaded track. Toont de Duur van de geladen Track. - + Information is loaded from the track's metadata tags. Informatie wordt geladen uit de Metadata-Tags van de Track. - + Track Artist Track Artiest - + Displays the artist of the loaded track. Toont de Artiest van de geladen Track. - + Track Title Track Titel - + Displays the title of the loaded track. Toont de titel van de geladen Track. - + Track Album Track Album - + Displays the album name of the loaded track. Toont de albumnaam van de geladen Track. - + Track Artist/Title Track Artiest/Titel - + Displays the artist and title of the loaded track. Toont de Artiest en Titel van de geladen Track. @@ -15597,47 +16010,75 @@ Dit kan niet ongedaan gemaakt worden! WCueMenuPopup - + Cue number Cue Nr - + Cue position Cue Positie - + Edit cue label Bewerk Cue Label - + Label... Label... - + Delete this cue Verwijder deze Cue... - - Toggle this cue type between normal cue and saved loop - Schakelt dit cue type tussen normale cue en opgeslagen lus cue. + + Turn this cue into a regular hotcue + + + + + Turn this cue into a saved loop + + + + + Left-click: Use the old size if known or the current beatloop size as the loop size + + + + + Right-click: Use the current play position as new loop end if it is after the cue + + + + + Turn this cue into a saved forward jump. + + is a linebreak. Try to not to extend the translation beyond the length of the longest source line so the tooltip remains compact. + + + + + Turn this cue into a saved backward jump (one shot loop). + - - Left-click: Use the old size or the current beatloop size as the loop size - Linker-click: Gebruik de oude grootte of de huidige beatlus grootte als de lusgrootte + + Left-click: Use the old size if known or the current play position as jump start position +If this is already a jump cue, swap the jump position and the cue/target position. + - - Right-click: Use the current play position as loop end if it is after the cue - Rechter-click: Gebruik de huidige afspeelpositie als lus einde indien deze zich achter de cue bevindt. + + Right-click: use current play position as new jump start position + - + Hotcue #%1 Hotcue #%1 @@ -15939,171 +16380,181 @@ Dit kan niet ongedaan gemaakt worden! + Show Auto DJ + + + + + Switch to the Auto DJ view. + + + + &Full Screen &Volledig Scherm - + Display Mixxx using the full screen Geef Mixxx weer in volledig scherm - + &Options &Opties - + &Vinyl Control &VinylBediening - + Use timecoded vinyls on external turntables to control Mixxx Gebruik tijdgecodeerde vinyl op externe draaitafels om Mixxx te bedienen - + Enable Vinyl Control &%1 Activeer VinylBediening &%1 - + &Record Mix Mix &Opnemen - + Record your mix to a file Neem je Mix op naar een bestand - + Ctrl+R Ctrl+R - + Enable Live &Broadcasting Schakel Live &Uitzenden in - + Stream your mixes to a shoutcast or icecast server Stream je mixen naar een Shoutcast- of Icecast-server - + Ctrl+L Ctrl+L - + Enable &Keyboard Shortcuts Schakel &Sneltoetsen in - + Toggles keyboard shortcuts on or off ToetsenbordSneltoetsen Aan/Uit-Schakelen - + Ctrl+` Ctrl+` - + &Preferences &Instellingen - + Change Mixxx settings (e.g. playback, MIDI, controls) Mixxx-instellingen wijzigen (bijv. Afspelen, MIDI, BedieningsElementen) - + &Developer &Ontwikkelaar - + &Reload Skin &Herlaad Skin - + Reload the skin Herlaad de Skin - + Ctrl+Shift+R Ctrl+Shift+R - + Developer &Tools Ontwikkelaar &Hulpmiddelen - + Opens the developer tools dialog Opent het dialoogvenster hulpprogramma's voor ontwikkelaars - + Ctrl+Shift+T Ctrl+Shift+T - + Stats: &Experiment Bucket Statistieken: &Experiment Bucket - + Enables experiment mode. Collects stats in the EXPERIMENT tracking bucket. Schakel Experiment-Modus in. Verzamelt statistieken in de EXPERIMENT-Tracking bucket. - + Ctrl+Shift+E Ctrl+Shift+E - + Stats: &Base Bucket Statistieken: &Base Bucket - + Enables base mode. Collects stats in the BASE tracking bucket. Schakel Base Modus in. Verzamelt statistieken in de BASE Tracking bucket. - + Ctrl+Shift+B Ctrl+Shift+B - + Deb&ugger Enabled Deb&ugger ingeschakeld - + Enables the debugger during skin parsing Activeert de debugger tijdens het ontleden van het thema - + Ctrl+Shift+D Ctrl+Shift+D - + &Help &Help @@ -16137,62 +16588,62 @@ Dit kan niet ongedaan gemaakt worden! F12 - + &Community Support &Community Ondersteuning - + Get help with Mixxx Zoek hulp bij Mixxx - + &User Manual &Gebruikers Handleiding - + Read the Mixxx user manual. Lees de Mixxx gebruikers handleiding. - + &Keyboard Shortcuts &Toetsenbord Sneltoetsen - + Speed up your workflow with keyboard shortcuts. Versnel uw workflow met sneltoetsen. - + &Settings directory &Instellingen map - + Open the Mixxx user settings directory. Open de map met Mixxx GebruikersInstellingen - + &Translate This Application &Vertaal Deze Applicatie - + Help translate this application into your language. Help om deze applicatie in je eigen taal te vertalen. - + &About &Over - + About the application Over de applicatie @@ -16200,25 +16651,25 @@ Dit kan niet ongedaan gemaakt worden! WOverview - + Passthrough Directe Doorvoer - + Ready to play, analyzing... Text on waveform overview when file is playable but no waveform is visible Klaar om te spelen, analyseren... - - + + Loading track... Text on waveform overview when file is cached from source Track laden... - + Finalizing... Text on waveform overview during finalizing of waveform analysis Finaliseren... @@ -16408,625 +16859,640 @@ Dit kan niet ongedaan gemaakt worden! WTrackMenu - + Load to Laad naar - + Deck Deck - + Sampler Sampler - + Add to Playlist Toevoegen aan Afspeellijst - + Crates Kratten - + Metadata Metadata - + Update external collections Update externe collecties - + Cover Art Cover Art - + Adjust BPM Pas BPM aan - + Select Color Selecteer kleur - - + + Analyze Analyseer - - + + Delete Track Files Verwijder Track bestanden - + Add to Auto DJ Queue (bottom) Toevoegen aan Auto-DJ Wachtrij (onderaan) - + Add to Auto DJ Queue (top) Toevoegen aan Auto-DJ Wachtrij (bovenaan) - + Add to Auto DJ Queue (replace) Toevoegen aan de Auto-DJ wachtrij (vervang) - + Preview Deck VoorbeluisterDeck - + Remove Verwijder - + Remove from Playlist Verwijder uit afspeellijst - + Remove from Crate Verwijder uit Krat - + Hide from Library Verbergen voor Bibliotheek - + Unhide from Library Zichtbaar maken voor Bibliotheek - + Purge from Library Wissen uit Bibliotheek - + Move Track File(s) to Trash Verplaats Track bestand(en) naar prullenmand - + Delete Files from Disk Verwijder Bestanden van Schijf - + Properties Eigenschappen - + Open in File Browser Open bestand in Browser - + Select in Library Selecteer in Bibliotheek - + Import From File Tags Importeer van bestandslabels - + Import From MusicBrainz Importeer van MusicBrainz - + Export To File Tags Exporteer naar bestandslabels - + BPM and Beatgrid BPM en Beat-Grid - + Play Count Afspeelteller - + Rating Waardering - + Cue Point Cue-Punt - - + + Hotcues Hotcues - + Intro Intro - + Outro Outro - + Key Toonaard (Key) - + ReplayGain ReplayGain - + Waveform Waveform - + Comment Opmerking - + All Alles - + Sort hotcues by position (remove offsets) Sorteer de hotcues volgens positie (verwijder de verrekening) - + Sort hotcues by position Sorteer de hotcues volgens positie - + Lock BPM Vergrendel BPM - + Unlock BPM Ontgrendel BPM - + Double BPM Dubbele BPM - + Halve BPM 1/2 BPM - + 2/3 BPM 2/3 BPM - + 3/4 BPM 3/4 BPM - + 4/3 BPM 4/3 BPM - + 3/2 BPM 3/2 BPM - + Shift Beatgrid Half Beat - + Reanalyze Her-analizeer - + Reanalyze (constant BPM) Her-analyseer (constante BPM) - + Reanalyze (variable BPM) Her-analyseer (variabele BPM) - + Update ReplayGain from Deck Gain Update ReplayGain van Deck Versterking - + Deck %1 Deck %1 - + Importing metadata of %n track(s) from file tags Importeren metadata van %n bestand(en) van file tagsImporteren metadata van %n Track(s) van file tags - + Marking metadata of %n track(s) to be exported into file tags Markeren metadata van %n bestand(en) om te exporteren in bestand tagsMarkeren metadata van %n bestand(en) om te exporteren in file tags - - + + Create New Playlist Creëer nieuwe afspeellijst - + Enter name for new playlist: Geef naam voor nieuwe afspeellijst: - + New Playlist Nieuwe Afspeellijst - - - + + + Playlist Creation Failed Aanmaken Afspeellijst Mislukt - + A playlist by that name already exists. Een afspeellijst met die naam bestaat al. - + A playlist cannot have a blank name. Een afspeellijst kan geen blanco naam hebben. - + An unknown error occurred while creating playlist: Een onbekende fout trad op bij het creëren van afspeellijst: - + Add to New Crate Toevoegen aan nieuwe Krat - + Scaling BPM of %n track(s) Schalen BPM van %n bestand(en)Schalen BPM van %n bestand(en) - + Undo BPM/beats change of %n track(s) - + Locking BPM of %n track(s) Vergrendelen BPM van %n bestand(en)Vergrendelen BPM van %n bestand(en) - + Unlocking BPM of %n track(s) Ontgrendelen BPM van %n bestand(en)Vergrendelen BPM van %n bestand(en) - + Setting rating of %n track(s) - + Setting color of %n track(s) Kleur instellen van %n bestand(en)Kleur instellen van %n bestand(en) - + Resetting play count of %n track(s) Resetten afspeelteller van %n bestand(en)Resetten afspeelteller van %n bestand(en) - + Resetting beats of %n track(s) Resetten Beats van %n bestand(en)Resetten Beats van %n bestand(en) - + Clearing rating of %n track(s) Verwijderen beoordeling van %n bestand(en)Verwijderen beoordeling van %n bestand(en) - + Clearing comment of %n track(s) Dit kan niet ongedaan gemaakt wordenVerwijder opmerking van %n Track(s) - + Removing main cue from %n track(s) Verwijderen Main Cue van %n bestand(en)Verwijderen Main Cue van %n bestand(en) - + Removing outro cue from %n track(s) Verwijderen Outro Cue van %n bestand(en)Verwijderen Outro Cue van %n bestand(en) - + Removing intro cue from %n track(s) Verwijderen Intro Cue van %n bestand(en)Verwijderen Intro Cue van %n bestand(en) - + Removing loop cues from %n track(s) Verwijderen Loop Cues van %n bestand(en)Verwijderen Loop Cues van %n bestand(en) - + Removing hot cues from %n track(s) Verwijderen Hotcues van %n bestand(en)Verwijderen Hotcues van %n bestand(en) - + Sorting hotcues of %n track(s) by position (remove offsets) - + Sorting hotcues of %n track(s) by position - + Resetting keys of %n track(s) Resetten Toonaard (Key) van %n bestand(en)Resetten Toonaard (Key) van %n bestand(en) - + Resetting replay gain of %n track(s) Resetten herhaal versterking van %n bestand(en)Resetten herhaal versterking van %n bestand(en) - + Resetting waveform of %n track(s) Resetten Waveform van %n bestand(en)Resetten Waveform van %n bestand(en) - + Resetting all performance metadata of %n track(s) Resetten alle prestatie Metadata van %n bestand(en)Resetten alle prestatie Metadata van %n bestand(en) - + Move these files to the trash bin? Deze bestanden naar de prullenbak verplaatsen? - + Permanently delete these files from disk? Deze bestanden permanent verwijderen van de schijf? - - + + This can not be undone! Dit kan niet ongedaan gemaakt worden - + Cancel Annuleer - + Delete Files Verwijder bestanden - + Okay OK - + Move Track File(s) to Trash? Track Bestand(en) Verplaatsen naar Prullenmand? - + Track Files Deleted Track Bestanden zijn verwijderd - + Track Files Moved To Trash Track Bestanden zijn Verplaatst Naar de Prullenmand - + %1 track files were moved to trash and purged from the Mixxx database. %1 Track bestanden werden verplaatst naar de prullenmand en verwijderd uit de Mixxx database. - + %1 track files were deleted from disk and purged from the Mixxx database. %1 Track bestanden werden verwijderd van de schijf en verwijderd uit de Mixxx database. - + Track File Deleted Track Bestand Verwijderd - + Track file was deleted from disk and purged from the Mixxx database. Track bestand werd verwijderd van de schijf en verwijderd uit de Mixxx database. - + The following %1 file(s) could not be deleted from disk Volgend(e) %1 bestand(en) konden niet worden verwijderd van de schijf. - + This track file could not be deleted from disk Dit Track bestand kon niet worden verwijderd van de schijf. - + Remaining Track File(s) Overblijvende Track Bestand(en) - + Close Sluit - + Clear Reset metadata in right click track context menu in library Reset metadata in rechter click context menu in de bibliotheek - + Loops Loops - + Clear BPM and Beatgrid Leeg BPM en Beatgrid - + Undo last BPM/beats change Maak de laatste BPM/beats wijziging ongedaan - + Move this track file to the trash bin? Dit trackbestand naar de prullenbak verplaatsen? - + Permanently delete this track file from disk? Deze track definitief van de schijf verwijderen? - + All decks where these tracks are loaded will be stopped and the tracks will be ejected. Alle decks waar deze tracks geladen zijn zullen worden gestopt en de tracks zullen uitgeworpen worden. - + All decks where this track is loaded will be stopped and the track will be ejected. Alle decks waar deze track geladen is zullen worden gestopt en de track zal uitgeworpen worden. - + Removing %n track file(s) from disk... %n Track bestand(en) van schijf verwijderen... - + Note: if you are in the Computer or Recording view you need to click the current view again to see changes. Nota: Als u in het Computer- of Opnameaanzicht bent dan dient u op het huidige aanzicht opnieuw te klikken om de wijzigingen te zien. - + Track File Moved To Trash Track Bestand is verplaatst naar de Prullenmand - + Track file was moved to trash and purged from the Mixxx database. Track bestand werd verplaatst naar de Prullenmand en verwijderd uit de Mixxx database. - + Don't show again during this session Niet opnieuw tonen tijdens deze sessie - + The following %1 file(s) could not be moved to trash De volgende %1 bestand(en) konden niet verplaatst worden naar de Prullenmand. - + This track file could not be moved to trash Dit Track bestand kon niet verplaatst worden naar de Prullenmand. + + + Replace current Auto DJ queue? + + + + + Do you want to replace the entire Auto DJ queue with the selected tracks? + + + + + Don't ask again during this session + + - + Setting cover art of %n track(s) Instellen Cover Art van %n bestand(en)Instellen Cover Art van %n bestand(en) - + Reloading cover art of %n track(s) Opnieuw inladen Cover Art van %n bestand(en)Opnieuw inladen Cover Art van %n bestand(en) @@ -17080,37 +17546,37 @@ Dit kan niet ongedaan gemaakt worden! WTrackTableView - + Confirm track hide Bevestig het verbergen van de Track - + Are you sure you want to hide the selected tracks? Bent u zeker dat u de Track wil verbergen? - + Are you sure you want to remove the selected tracks from AutoDJ queue? Bent u zeker dat u de geselecteerde Track(s) wil verwijderen uit de Auto-DJ afspeelrij? - + Are you sure you want to remove the selected tracks from this crate? Bent u zeker dat u de geselecteerde Track(s) wil verwijderen uit deze Krat? - + Are you sure you want to remove the selected tracks from this playlist? Bent u zeker dat u de geselecteerde Track(s) wil verwijderen uit deze Afspeellijst - + Don't ask again during this session Niet meer vragen tijdens deze sessie - + Confirm track removal Bevestig verwijderen van de Track @@ -17118,12 +17584,12 @@ Dit kan niet ongedaan gemaakt worden! WTrackTableViewHeader - + Show or hide columns. Toon/Verberg kolommen. - + Shuffle Tracks Tracks schudden @@ -17131,52 +17597,52 @@ Dit kan niet ongedaan gemaakt worden! mixxx::CoreServices - + fonts lettertype - + database database - + effects Effecten - + audio interface audio interface - + decks Decks - + library Bibliotheek - + Choose music library directory Kies de map voor de muziekBibliotheek - + controllers Controllers - + Cannot open database Kan de database niet openen - + Unable to establish a database connection. Mixxx requires QT with SQLite support. Please read the Qt SQL driver documentation for information on how to build it. @@ -17334,6 +17800,24 @@ Klik op OK om af te sluiten. Het Netwerk verzoek is nog niet gestart + + mixxx::qml::QmlApplication + + + Existing user profile detected + + + + + Trying to run Mixxx 3.0 with an existing %0 user profile! <br><br>There is <b>serious risks</b> of data loss and corruption.<br>We recommend using a test profile folder with the '--settings-path' argument. <br><br>If you want to continue at your own risk, run Mixxx with the argument '--allow-dangerous-data-corruption-risk'. + + + + + Ok + + + mixxx::qml::QmlVisibleEffectsModel @@ -17342,4 +17826,27 @@ Klik op OK om af te sluiten. Geen Effect geladen. + + mixxx::qml::QmlWaveformRendererMark + + + Cannot find the marker pixmap + + + + + Cannot find the marker endPixmap + + + + + Cannot find the marker icon + + + + + Cannot find the marker endIcon + + + \ No newline at end of file diff --git a/res/translations/mixxx_pl.qm b/res/translations/mixxx_pl.qm index 15e6982fef55b415ead857dc5718f7d575b091fb..3a78778d3122378eaa40ac897d4c14cfb537ab53 100644 GIT binary patch delta 52706 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 delta 20735 zcma*PbzD?i{P+7^YwbN92G}CD7#N5xb_-%)fTEO&5(+4y9>)L^F;E9lF|n{wN9=B~ zTd}Y`b_d?i>^Z;ZdG5V`-1|B&&U^Nr9V@=Q*0}7wQ_kEXb4yv;`w~$_qGEYqWn$Bp zI{31ZLcVAdScmxJMqphc?;Q&H4*U6fL_Xia`b6CdKwQ&Z2eu+!_Ua}e3okZ|oB0h=uzSBgaJzj8LA@`XK2IECnz%XJ@ zTtPhC7Y&zU@WQ8HEQtmk!FUpN4}kxm0Y-2#m;+8BUg8Ki8x1mm%PeS78a}K-i!ch( zW^fv~1H1+vAYQyGcmWM`0`G&#L~=Lc<2n$j1saNms1Fl=6HQbVJ*|nJ+BsPdj=^yV zQH`d=kJ%i&{SXWwzWEmh)MCN~^D%-I&{MRuK8D>V3dB@A&IGIBco~?4<6I(7^!)KR za4K=1`xtRt_XMNV49qVK;>F!C4efdoTaW@SLr?pG_lYfwz(9Kwm6+#XjTJ-|`-y=g zloR}2l3 zHAkV?REDSvt}FH%^3$F~H{9nviP)N{WFc?#WT6_p48aKuQFmP6zY07h^*+r=wEc-WuSB8)=GdnviD~w^){-EnT6gP=n;9ZApZyNnVMO`RX8hgcm|?Sr0sC-4o)2XE}JJ zBFR~Uh<<5E-sVXn<{{XI7>@xhZAe57Bl&O`QQ0dF)-A4(ZJ(o%KN_h}SUZyZYci3G zKfOGzphT|VX&e}I#OH4z{({b zCH0a(V!b3%qer563hBG_A}apJ!5T#r@&kGYPgHgA&SZsB%~Udv_&^j^iwcdu0?Rj_ zimdquBN;`-qB{|LibpMk5N^$)QtdFsuO^b~vS8vLlF3rpvJgXflk61#R;4Q060y}< zs#YJ;9y6AzHH4JMY@}*kCqpx~lACV@VlE5FEdeaok*Y&jC8Lh2U#bkYr0Nh#zWJ0w z$+(MZKof0OY{gLV?f-RHCQ?dO6$z5khGskYtmqCi-I}_|FtfeKJ2*Vc z!8s$zx6g6nQ!CgB|37CN`3B4(so}rmdpL!}cTT?V7ZW=vQIDBNNw{jM$DR~ovG=Lx zfC6G`Z&A--8;FOlr(UL`M0<}bhGHkFF1nwPhLZ!Z$;`qWfz><1nNH(9k1j>mI1#Y3}ZrRU~3HN


    A2?pro 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 + + AllTrackLibraryFeature + + + All... + + + AnalysisFeature @@ -19,52 +27,52 @@ AutoDJFeature - + Crates Skrzynki - + Enable Auto DJ - + Włącz Auto DJ - + Disable Auto DJ - + Wyłącz Auto DJ - + Clear Auto DJ Queue - + Wyczyść kolejkę Auto DJ - + Remove Crate as Track Source Usuń Skrzynkę jako źródło utworów - + Auto DJ Auto DJ - + Confirmation Clear - + Do you really want to remove all tracks from the Auto DJ queue? - + Czy napewno chcesz usunąć wszystkie ścieżki z kolejki Auto DJa? - + This can not be undone. - + Nie można tego cofnąć. - + Add Crate as Track Source Dodaj Skrzynkę jako źródło utworów @@ -224,7 +232,7 @@ Importuj jako skrzynkę - + Export Playlist Eksportuj listę odtwarzania @@ -238,7 +246,7 @@ Importuj jako skrzynkę Export to Engine DJ "Engine DJ" is a product name and must not be translated. - + Wyeksportuj do Engine DJ @@ -278,13 +286,13 @@ Importuj jako skrzynkę - + Playlist Creation Failed Tworzenie listy odtwarzania nie powiodło się - + An unknown error occurred while creating playlist: Wystąpił nieznany błąd podczas tworzenia listy odtwarzania: @@ -299,12 +307,12 @@ Importuj jako skrzynkę Czy na pewno chcesz usunąć playlistę <b>%1</b>? - + M3U Playlist (*.m3u) Lista odtwarzania M3U (*.m3u) - + M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Text CSV (*.csv);;Readable Text (*.txt) Lista odtwarzania M3U (*.m3u);;Lista odtwarzania M3U8 (*.m3u8);;Lista odtwarzania PLS (*.pls);;Tekst CSV (*.csv);;Odczytywalny Tekst (*.txt) @@ -312,12 +320,12 @@ Importuj jako skrzynkę BaseSqlTableModel - + # Nr - + Timestamp Znacznik czasu @@ -325,7 +333,7 @@ Importuj jako skrzynkę BaseTrackPlayerImpl - + Couldn't load track. Nie mogę załadować ścieżki. @@ -363,7 +371,7 @@ Importuj jako skrzynkę Kanały - + Color Kolor @@ -378,7 +386,7 @@ Importuj jako skrzynkę Kompozytor - + Cover Art Okładka @@ -388,7 +396,7 @@ Importuj jako skrzynkę Data dodania - + Last Played Ostatnio grane @@ -418,17 +426,17 @@ Importuj jako skrzynkę Tonacja - + Location Lokalizacja Overview - + Przegląd - + Preview Podgląd @@ -468,10 +476,10 @@ Importuj jako skrzynkę Rok - + Fetching image ... Tooltip text on the cover art column shown when the cover is read from disk - + Wczytuje okładkę ... @@ -490,22 +498,22 @@ Importuj jako skrzynkę BroadcastProfile - + Can't use secure password storage: keychain access failed. Nie można użyć bezpiecznej bazy haseł: dostęp do pęku kluczy nie powiódł się. - + Secure password retrieval unsuccessful: keychain access failed. Nie udało się otrzymać hasła: dostęp do pęku kluczy nie powiódł się. - + Settings error Błąd ustawień - + <b>Error with settings for '%1':</b><br> <b>Błąd ustawień dla '%1':</b><br> @@ -593,7 +601,7 @@ Importuj jako skrzynkę - + Computer Komputer @@ -613,17 +621,17 @@ Importuj jako skrzynkę Skanuj - + "Computer" lets you navigate, view, and load tracks from folders on your hard disk and external devices. "Komputer" pozwala Ci nawigować, przeglądać i ładować ścieżki z folderów na dysku twardym komputera oraz na urządzeniach zewnętrznych. - + It shows the data from the file tags, not track data from your Mixxx library like other track views. - + If you load a track file from here, it will be added to your library. @@ -736,12 +744,12 @@ Importuj jako skrzynkę Plik utworzony - + Mixxx Library Biblioteka Mixxx - + Could not load the following file because it is in use by Mixxx or another application. Nie mogę załadować podanego pliku, ponieważ jest używany przez Mixxx lub inną aplikację. @@ -772,87 +780,92 @@ Importuj jako skrzynkę CmdlineArgs - + Mixxx is an open source DJ software. For more information, see: Mixxx to oprogramowanie dla DJ-ów o otwartym kodzie źródłowym. Aby uzyskać więcej informacji, zobacz: - + Starts Mixxx in full-screen mode Uruchamia Mixxx w trybie pełnoekranowym - + Use a custom locale for loading translations. (e.g 'fr') Użyj niestandardowych ustawień regionalnych do ładowania tłumaczeń. (np. „pl”) - + Top-level directory where Mixxx should look for its resource files such as MIDI mappings, overriding the default installation location. Katalog najwyższego poziomu, w którym Mixxx powinien szukać plików zasobów, takich jak mapowania MIDI, zastępując domyślną lokalizację instalacji. - + Path the debug statistics time line is written to Ścieżka, w której zapisana jest oś czasu statystyk debugowania - + Causes Mixxx to display/log all of the controller data it receives and script functions it loads Powoduje, że Mixxx wyświetla/rejestruje wszystkie otrzymane dane kontrolera i ładowane funkcje skryptowe - + The controller mapping will issue more aggressive warnings and errors when detecting misuse of controller APIs. New Controller Mappings should be developed with this option enabled! Mapowanie kontrolera będzie generować bardziej agresywne ostrzeżenia i błędy w przypadku wykrycia niewłaściwego użycia interfejsów API kontrolera. Nowe mapowania kontrolerów powinny być tworzone z włączoną tą opcją! - + Enables developer-mode. Includes extra log info, stats on performance, and a Developer tools menu. Włącza tryb programisty. Zawiera dodatkowe informacje o dzienniku, statystyki wydajności i menu narzędzi dla programistów. - + Top-level directory where Mixxx should look for settings. Default is: Katalog najwyższego poziomu, w którym Mixxx powinien szukać ustawień. Wartość domyślna to: - + Starts Auto DJ when Mixxx is launched. - + Uruchamia Auto DJ'a przy uruchomieniu Mixxx'a. - + Rescans the library when Mixxx is launched. - + Przeskanowuje bibliotekę przy uruchomieniu Mixxx'a. - + Use legacy vu meter - + Use legacy spinny - - Loads experimental QML GUI instead of legacy QWidget skin + + Loads the highly unstable 3.0 Mixxx interface, based on QML. You need to use a new setting profile, or run with 'allow-dangerous-data-corruption-risk' to use with the current one. We highly recommend backing up your data if you do so. + + + + + Force Mixxx to load an unstable version with an existing user profile from a stable version - + Enables safe-mode. Disables OpenGL waveforms, and spinning vinyl widgets. Try this option if Mixxx is crashing on startup. Włącza tryb awaryjny. Wyłącza przebiegi OpenGL i obracające się widżety winylowe. Wypróbuj tę opcję, jeśli Mixxx ulega awarii podczas uruchamiania. - + [auto|always|never] Use colors on the console output. [auto|zawsze|nigdy] Użyj kolorów na wyjściu konsoli. - + Sets the verbosity of command line logging. critical - Critical/Fatal only warning - Above + Warnings @@ -862,32 +875,32 @@ trace - Above + Profiling messages Ustawia szczegółowość rejestrowania wiersza poleceń. krytyczny — ostrzeżenie krytyczne/tylko krytyczne — powyżej + informacje o ostrzeżeniach — powyżej + debugowanie komunikatów informacyjnych — powyżej + śledzenie komunikatów debugowania/programisty — powyżej + komunikaty profilowania - + Sets the the logging level at which the log buffer is flushed to mixxx.log. <level> is one of the values defined at --log-level above. Ustawia poziom rejestrowania, przy którym bufor dziennika jest opróżniany do mixxx.log. <poziom> jest jedną z wartości zdefiniowanych w --log-level powyżej. - + Sets the maximum file size of the mixxx.log file in bytes. Use -1 for unlimited. The default is 100 MB as 1e5 or 100000000. - + Breaks (SIGINT) Mixxx, if a DEBUG_ASSERT evaluates to false. Under a debugger you can continue afterwards. Przerywa (ZNAK) Mixxx, jeśli DEBUGUJ_ASERCJĘ ma wartość false. W debugerze możesz kontynuować później. - + Overrides the default application GUI style. Possible values: %1 - + Nadpisuje styl domyślnego interfejsu graficznego. Możliwe wartości: %1 - + Load the specified music file(s) at start-up. Each file you specify will be loaded into the next virtual deck. Załaduj określone pliki muzyczne podczas uruchamiania. Każdy określony plik zostanie załadowany do następnego wirtualnego decka. - + Preview rendered controller screens in the Setting windows. @@ -980,2557 +993,2585 @@ trace - Above + Profiling messages ControlPickerMenu - + Headphone Output Wyjście słuchawkowe - - - + + + + Deck %1 + %1 is the deck number 1 ... 4 Decka %1 - + Sampler %1 - + Preview Deck %1 Podgląd Decka %1 - + Microphone %1 Mikrofon %1 - + Auxiliary %1 Wejście zewnętrzne %1 - + Reset to default Przywróć wartości domyślne - + Effect Rack %1 Panel efektów %1 - + Parameter %1 Parametr %1 - + Mixer Mikser - - + + Crossfader Crossfader - + Headphone mix (pre/main) Mix słuchawek (wstępny/główny) - + Toggle headphone split cueing Przełącz dzielenie Cue na słuchawki - + Headphone delay Opóźnienie słuchawek - + Transport Transport - + Strip-search through track Stopniowe przeszukiwanie utworu - + Play button Przycisk play - - + + Set to full volume Ustaw głośność na maksimum - - + + Set to zero volume Ustaw głośność na zero - + Stop button Przycisk stop - + Jump to start of track and play Skocz do początku utworu i odtwórz - + Jump to end of track Przeskocz do końca utworu - + Reverse roll (Censor) button Przycisk reverse roll (cenzuruj) - + Headphone listen button Przycisk odsłuchu słuchawkowego - - + + Mute button Przycisk wyciszenia - + Toggle repeat mode Przełącz tryb powtarzania - - + + Mix orientation (e.g. left, right, center) Orientacja miksu (np. lewo, prawo, środek) - - + + Set mix orientation to left Ustaw kierunek miksowania na lewo - - + + Set mix orientation to center Ustaw kierunek miksowania na środek - - + + Set mix orientation to right Ustaw kierunek miksowania na prawo - + Toggle slip mode Przełącz tryb poślizgu - - + + BPM BPM - + Increase BPM by 1 Zwiększ BPM o 1 - + Decrease BPM by 1 Zmniejsz BPM o 1 - + Increase BPM by 0.1 Zwiększ BPM o 0.1 - + Decrease BPM by 0.1 Zmniejsz BPM o 0.1 - + BPM tap button Przycisk wstukiwania bitu - + Toggle quantize mode Przełącz tryb kwantyzacji - + One-time beat sync (tempo only) Jednorazowa synchronizacja rytmu (tylko tempo) - + One-time beat sync (phase only) Jednorazowa synchronizacja rytmu (tylko faza) - + Toggle keylock mode Przełącz tryb blokowania - + Equalizers Equalizery - + Vinyl Control Kontrola vinylem - + Toggle vinyl-control cueing mode (OFF/ONE/HOT) Przełącz kontrolę vinylem w trybie CUE (OFF/ONE/HOT) - + Toggle vinyl-control mode (ABS/REL/CONST) Przełącz kontrolę vinylem (ABS/REL/CONST) - + Pass through external audio into the internal mixer Przepuść zewnętrzne audio do wewnętrznego miksera - + Cues Znaczniki Cue - + Cue button Przycisk Cue - + Set cue point Ustaw punkt Cue - + Go to cue point Idź do Cue - + Go to cue point and play Idź do Cue i odtwarzaj - + Go to cue point and stop Idź do Cue i zatrzymaj - + Preview from cue point Podejrzyj od Cue - + Cue button (CDJ mode) Przycisk Cue (tryb CDJ) - + Stutter cue - + Hotcues Znaczniki hotcue - + Set, preview from or jump to hotcue %1 Ustaw, przejrzyj od lub przejdź do hotcue %1 - + Clear hotcue %1 Wyczyść hotcue %1 - + Set hotcue %1 Ustaw hotcue %1 - + Jump to hotcue %1 Przeskocz do hotcue %1 - + Jump to hotcue %1 and stop Przeskocz do hotcue %1 i zatrzymaj - + Jump to hotcue %1 and play Skocz do hotcue %1 i odtwarzaj - + Preview from hotcue %1 Przejrzyj od hotcue %1 - - + + Hotcue %1 Skrót %1 - + Looping Zapętlanie - + Loop In button Przycisk początku pętli - + Loop Out button Przycisk końca pętli - + Loop Exit button Przycisk wyjścia z pętli - + 1/2 1/2 - + 1 1 - + 2 2 - + 4 4 - + 8 8 - + 16 16 - + 32 32 - + 64 64 - + Move loop forward by %1 beats Przesuń pętlę naprzód o %1 beat'ów - + Move loop backward by %1 beats Przesuń pętlę wstecz o %1 beat'ów - + Create %1-beat loop Stwórz %1-beatową pętlę - + Create temporary %1-beat loop roll Utwórz tymczasową pętlę %1-beatową - + Library Biblioteka - + Slot %1 Gniazdo %1 - + Headphone Mix Mikser słuchawek - + Headphone Split Cue Podzielony Cue na słuchawki - + Headphone Delay Opóźnienie słuchawek - + Play Odtwarzaj - + Fast Rewind Szybkie cofanie - + Fast Rewind button Przycisk szybkiego przewijania wstecz - + Fast Forward Przewiń do przodu - + Fast Forward button Przycisk szybkiego przewijania do przodu - + Strip Search Wyszukiwanie pasków - + Play Reverse Odtwarzanie wstecz - + Play Reverse button Przycisk odtwarzania wstecz - + Reverse Roll (Censor) Odwrotna rolka (Cenzor) - + Jump To Start Skocz do początku - + Jumps to start of track Skocz do początku utworu - + Play From Start Odtwarzaj od początku - + Stop Zatrzymaj - + Stop And Jump To Start Zatrzymaj i skocz do początku - + Stop playback and jump to start of track Zatrzymaj odtwarzanie i skocz do początku utworu - + Jump To End Skocz do końca - + Volume Głośność - - - + + + Volume Fader Regulacja głośności - - + + Full Volume Maksymalna głóśność - - + + Zero Volume Głośność zero - + Track Gain Wzmocnieni utworu - + Track Gain knob Gałka wzmocnienia utworu - - + + Mute Wycisz - + Eject Wysuń - - + + Headphone Listen Odsłuch na słuchawkach - + Headphone listen (pfl) button Przycisk odsłuchy na słuchawkach (pfl) - + Repeat Mode Tryb powtarzania - + Slip Mode Tryb poślizgu - - + + Orientation Kierunek - - + + Orient Left Kierunek w lewo - - + + Orient Center Kierunek środek - - + + Orient Right Kierunek w prawo - + BPM +1 BPM +1 - + BPM -1 BPM -1 - + BPM +0.1 BPM +0.1 - + BPM -0.1 BPM -0.1 - + BPM Tap Wstukanie rytmu (BPM Tap) - + Adjust Beatgrid Faster +.01 Przyspiesz siatkę tempa o 0.01 - + Increase track's average BPM by 0.01 Zwiększ średni BPM utworu o 0.01 - + Adjust Beatgrid Slower -.01 Zwolnij siatke tempa o 0.01 - + Decrease track's average BPM by 0.01 Zmniejsz średni BPM utworu o 0.01 - + Move Beatgrid Earlier Przesuń siatkę tempa wstecz - + Adjust the beatgrid to the left Skoryguj siatkę tempa do lewej - + Move Beatgrid Later Przesuń siatkę tempa do przodu - + Adjust the beatgrid to the right Skoryguj siatkę tempa do prawej - + Adjust Beatgrid Reguluje siatkę uderzeń - + Align beatgrid to current position Wyrównaj siatkę tempa do bieżącej pozycji - + Adjust Beatgrid - Match Alignment Skoryguj siatkę tempa - dopasuj wyrównanie - + Adjust beatgrid to match another playing deck. Skoryguj siatkę tempa aby pasowała do drugiego grającego odtwarzacza. - + Quantize Mode Tryb Kwantyzacji - + Sync Synchronizuj - + Beat Sync One-Shot Synchronizacja bitów One-Shot - + Sync Tempo One-Shot Synchronizacja tempa One-Shot - + Sync Phase One-Shot Synchronizacja fazy One-Shot - + Pitch control (does not affect tempo), center is original pitch Kontrola wysokości dźwięku (nie wpływa na tempo), środek to oryginalna wysokość - + Pitch Adjust Dostosowanie Tonu - + Adjust pitch from speed slider pitch Dostosuj wysokość za pomocą suwaka prędkości - + Match musical key Dopasuj klucz muzyczny - + Match Key Dopasuj Klucz - + Reset Key Przywróć Klucz - + Resets key to original Przywróć klucz do oryginalnego - + High EQ Wysokie - + Mid EQ Średnie - - + + Main Output Główne wyjście - + Main Output Balance Główny bilans wyjściowy - + Main Output Delay Główne opóźnienie wyjścia - + Main Output Gain Główne wzmocnienie wyjścia - + Low EQ Basy - + Toggle Vinyl Control Przełącza kontrolę winylem - + Toggle Vinyl Control (ON/OFF) Przełącz kontrolę winylem (Włącz/Wyłącz) - + Vinyl Control Mode Tryb kontroli winylem - + Vinyl Control Cueing Mode Przejście kontroli CUE winylu - + Vinyl Control Passthrough Przejście kontroli winylu - + Vinyl Control Next Deck Kontrola Vinyla Następny Deck - + Single deck mode - Switch vinyl control to next deck Tryb pojedynczego odtwarzacza - Przełącz kontrole winylem do następnego odtwarzacza - + Cue Wskaźnik (Cue) - + Set Cue Ustaw wskaźnik (Cue) - + Go-To Cue Idź do Cue - + Go-To Cue And Play Idź do Cue i odtwarzaj - + Go-To Cue And Stop Idź do Cue i zatrzymaj - + Preview Cue Podgląd Cue - + Cue (CDJ Mode) Cue (Tryb CDJ) - + Stutter Cue Wskazóœka CUE - + Go to cue point and play after release Idź do punktu CUE i odtwarzaj po puszczeniu - + Clear Hotcue %1 Wyczysć HotCue %1 - + Set Hotcue %1 Ustaw HotCue %1 - + Jump To Hotcue %1 Skocz do HotCue %1 - + Jump To Hotcue %1 And Stop Skocz do HotCue %1 i zatrzymaj - + Jump To Hotcue %1 And Play Skocz do HotCue %1 i odtwarzaj - + Preview Hotcue %1 Pokaż HotCue %1 - + Loop In Początek pętli - + Loop Out Koniec pętli - + Loop Exit Wyjście z pętli - + Reloop/Exit Loop Powtórz/Wyjdź z pętli - + Loop Halve Połowa pętli - + Loop Double Podwojenie pętli - + 1/32 1/32 - + 1/16 1/16 - + 1/8 1/8 - + 1/4 1/4 - + Move Loop +%1 Beats Przesuń pętlę +%1 beat'ów - + Move Loop -%1 Beats Przesuń pętlę -%1 beat'ów - + Loop %1 Beats Pętla %1 beat'ów - + Loop Roll %1 Beats Zapętlenie % 1 beat'ów - + Add to Auto DJ Queue (bottom) Dodaj do kolejki Auto DJ (dół) - + Append the selected track to the Auto DJ Queue Dołącz wybrany utwór do kolejki Auto DJ - + Add to Auto DJ Queue (top) Dodaj do kolejki Auto DJ (góra) - + Prepend selected track to the Auto DJ Queue Dodaj wybrany utwór do kolejki Auto DJ - + Load Track Załaduj utwór - + Load selected track Załaduj zaznaczoną scieżkę - + Load selected track and play Załaduj zaznaczoną ścieżkę i odtwórz - - + + Record Mix Zarejestruj mix - + Toggle mix recording Przełącz rejestrację mix'u - + Effects Efekty - - Quick Effects - Szybkie efekty - - - + Deck %1 Quick Effect Super Knob Super Gałka Szybkiego Efektu dla odtwarzacza %1 - + + Quick Effect Super Knob (control linked effect parameters) Szybka Super Gałka (kontroluje połączone parametry efektów) - - + + + + Quick Effect Szybki Efekt - + Clear Unit Wyczyść Jednostkę - + Clear effect unit Wyczyść moduł efektu - + Toggle Unit Przełącz moduł - + Dry/Wet Suchy/Mokry - + Adjust the balance between the original (dry) and processed (wet) signal. Dostosuj balans pomiędzy sygnałem oryginalnym (suchym) i przetworzonym (mokrym). - + Super Knob Super Gałka - + Next Chain Następny łańcuch - + Assign Przypisz - + Clear Wyczyść - + Clear the current effect Wyczyść bieżący efekt - + Toggle Przełącz - + Toggle the current effect Przełącz bieżący efekt - + Next Następny - + Switch to next effect Przełącz do następnego efektu - + Previous Wstecz - + Switch to the previous effect Przełącz do poprzedniego efektu - + Next or Previous Następny lub Poprzedni - + Switch to either next or previous effect Przełącz do następnego lub poprzedniego efektu - - + + Parameter Value Wartość parametru - - + + Microphone Ducking Strength Moc wyciszania mikrofonu - + Microphone Ducking Mode Tryb wyciszania mikrofonu - + Gain Wzmocnienie - + Gain knob Pokrętło wzmocnienia - + Shuffle the content of the Auto DJ queue Przetasuj zawartość kolejki Auto DJ - + Skip the next track in the Auto DJ queue Pomiń następny utwór w kolejce Auto DJ - + Auto DJ Toggle Przełącznik trybu Auto DJ - + Toggle Auto DJ On/Off Włącz/Wyłącz tryb Auto DJ - + Show/hide the microphone & auxiliary section Pokaż/ukryj sekcję mikrofonu i sekcji pomocniczej - + 4 Effect Units Show/Hide 4 jednostki efektów Pokaż/Ukryj - + Switches between showing 2 and 4 effect units Przełącza pomiędzy wyświetlaniem 2 i 4 jednostek efektów - + Mixer Show/Hide Mikser Pokaż/Ukryj - + Show or hide the mixer. Pokazuje lub ukrywa Mikser - + Cover Art Show/Hide (Library) Pokaż/ukryj okładkę (biblioteka) - + Show/hide cover art in the library Pokaż/ukryj okładkę w bibliotece - + Library Maximize/Restore Maksymalizuj/Przywróć Bibliotekę - + Maximize the track library to take up all the available screen space. Maksymalizuj bibliotekę utworów, aby wykorzystać całe dostępne miejsce na ekranie. - + Effect Rack Show/Hide Moduł Efektów Pokaż/Ukryj - + Show/hide the effect rack Pokaż/ukryj Moduł Efektów - + Waveform Zoom Out Zmniejsz wykres dźwięku - + Headphone Gain Wzmocnienie Słuchawek - + Headphone gain Wzmocnienie słuchawek - + Tap to sync tempo (and phase with quantize enabled), hold to enable permanent sync Stuknij, aby zsynchronizować tempo (i fazę z włączoną kwantyzacją), przytrzymaj, aby włączyć stałą synchronizację - + One-time beat sync tempo (and phase with quantize enabled) Jednorazowa synchronizacja rytmu (i faza z włączoną kwantyzacją) - + Playback Speed Prędkość odtwarzania - + Playback speed control (Vinyl "Pitch" slider) Kontrola prędkości odtwarzania (suwak Vinyl "Pitch") - + Pitch (Musical key) Wysokość tonu (klucz muzyczny) - + Increase Speed Zwiększ prędkość - + Adjust speed faster (coarse) Regulacja prędkości szybciej (zgrubna) - + Increase Speed (Fine) Zwiększ prędkość (dokładne) - + Adjust speed faster (fine) Regulacja prędkości szybciej (dokładna) - + Decrease Speed Zmniejsz prędkość - + Adjust speed slower (coarse) Regulacja prędkości wolniej (zgrubna) - + Adjust speed slower (fine) Regulacja prędkości wolniej (dokładna) - + Temporarily Increase Speed Tymczasowo Zwiększ prędkość - + Temporarily increase speed (coarse) Tymczasowo zwiększ prędkość (zgrubnie) - + Temporarily Increase Speed (Fine) Tymczasowo Zwiększ prędkość (Dokładnie) - + Temporarily increase speed (fine) Tymczasowo zwiększ prędkość (Dokładnie) - + Temporarily Decrease Speed Tymczasowo Zmniejsz prędkość - + Temporarily decrease speed (coarse) Tymczasowo zmniejsz prędkość (zgrubnie) - + Temporarily Decrease Speed (Fine) Tymczasowo Zmniejsz prędkość(dokładnie) - + Temporarily decrease speed (fine) Tymczasowo zmniejsz prędkość (dokładnie) - - + + Adjust %1 Dostosuj %1 - + + Deck %1 Stem %2 + + + + Effect Unit %1 Jednostka efektu %1 - + Button Parameter %1 Przycisk Parametru %1 - + Skin Skórka - + Controller Kontroler - + Crossfader / Orientation Crossfader / Orientacja - + Main Output gain Główne wzmocnienie wyjściowe - + Main Output balance Główny bilans wyjściowy - + Main Output delay Główne opóźnienie wyjściowe - + Headphone Słuchawka - - + + Kill %1 + %1 is "Low EQ" "Mid EQ" or "High EQ" Wycisz %1 - + Eject or un-eject track, i.e. reload the last-ejected track (of any deck)<br>Double-press to reload the last replaced track. In empty decks it reloads the second-last ejected track. - + BPM / Beatgrid BPM / Siatka bitów - + Halve BPM - + Połowa BPM - + Multiply current BPM by 0.5 - + Pomnóż obecne BPM przez 0.5 - + 2/3 BPM 2/3 BPM - + Multiply current BPM by 0.666 - + Pomnóż obecne BPM przez 0.666 - + 3/4 BPM 3/4 BPM - + Multiply current BPM by 0.75 - + Pomnóż obecne BPM przez 0.75 - + 4/3 BPM 4/3 BPM - + Multiply current BPM by 1.333 - + Pomnóż obecne BPM przez 1.333 - + 3/2 BPM 3/2 BPM - + Multiply current BPM by 1.5 - + Pomnóż obecne BPM przez 1.5 - + Double BPM - + Podwój BPM - + Multiply current BPM by 2 - + Pomnóż obecne BPM przez 2 - + Tempo Tap - + Tempo tap button - + Move Beatgrid - + Przesuń siatkę bitu - + Adjust the beatgrid to the left or right - + Skoryguj siatkę tempa do lewej lub prawej - + Move Beatgrid Half a Beat - + Adjust the beatgrid by exactly one half beat. Usable only for tracks with constant tempo. - + Skoryguj siatkę bitu o dokładnie jedną połowę bitu. Przydatne tylko dla ścieżek o stałym tempie. - - + + Toggle the BPM/beatgrid lock - + Przełącz blokadę BPM/siatki bitu - + Revert last BPM/Beatgrid Change - + Cofnij ostatnią zmianę BPM/siatki bitu - + Revert last BPM/Beatgrid Change of the loaded track. - + Cofnij ostatnią zmianę BPM/siatki bitu załadowanej ścieżki. - + Sync / Sync Lock Synchronizacja / Blokada synchronizacji - + Internal Sync Leader Główna synchronizacja wewnętrzna - + Toggle Internal Sync Leader Przełącz główną synchronizację wewnętrzną - - + + Internal Leader BPM Główna synchronizacja wewnętrzna BPM - + Internal Leader BPM +1 Główna synchronizacja wewnętrzna BPM +1 - + Increase internal Leader BPM by 1 Zwiększ główne wewnętrzne BPM o 1 - + Internal Leader BPM -1 Główna synchronizacja wewnętrzna BPM -1 - + Decrease internal Leader BPM by 1 Zmniejsz główne wewnętrzne BPM o 1 - + Internal Leader BPM +0.1 Główna synchronizacja wewnętrzna BPM +0,1 - + Increase internal Leader BPM by 0.1 Zwiększ główne wewnętrzne BPM o 0,1 - + Internal Leader BPM -0.1 Główna synchronizacja wewnętrzna BPM -0,1 - + Decrease internal Leader BPM by 0.1 Zmniejsz główne wewnętrzne BPM o 0,1 - + Sync Leader Główna synchronizacja - + Sync mode 3-state toggle / indicator (Off, Soft Leader, Explicit Leader) 3-stanowy przełącznik/wskaźnik trybu synchronizacji (wyłączony, miękki lider, wyraźny lider) - + Speed Prędkość - + Decrease Speed (Fine) Zmniejsz prędkość (dobrze) - + Pitch (Musical Key) Wysokość tonu (klawisz muzyczny) - + Increase Pitch Zwiększ wysokość tonu - + Increases the pitch by one semitone Zwiększa wysokość dźwięku o jeden półton - + Increase Pitch (Fine) Zwiększ wysokość dźwięku (dokładnie) - + Increases the pitch by 10 cents Zwiększa wysokość dźwięku o 10 centów - + Decrease Pitch Zmniejsz wysokość tonu - + Decreases the pitch by one semitone Zmniejsza wysokość dźwięku o jeden półton - + Decrease Pitch (Fine) Zmniejsza wysokość dźwięku (dokładnie) - + Decreases the pitch by 10 cents Zmniejsza wysokość dźwięku o 10 centów - + Keylock Blokada przycisków - + CUP (Cue + Play) CUP (CUE + start) - + Shift cue points earlier Cofnij do wcześniejszego punktu CUE - + Shift cue points 10 milliseconds earlier Przesuń punkty CUE 10 milisekund wstecz - + Shift cue points earlier (fine) Przesuń punkty CUE wstecz (dokładnie) - + Shift cue points 1 millisecond earlier Przesuń punkty CUE o 1 milisekundę wstecz - + Shift cue points later Przesuń punkt CUE dalej - + Shift cue points 10 milliseconds later Przesuń punkty CUE 10 milisekund dalej - + Shift cue points later (fine) Przesuń punkty CUE dalej (dokładnie) - + Shift cue points 1 millisecond later Przesuń punkty CUE o 1 milisekundę dalej - - + + Sort hotcues by position - - + + Sort hotcues by position (remove offsets) - + Hotcues %1-%2 Szybkie CUE %1-%2 - + Intro / Outro Markers Markery Intro / Outro - + Intro Start Marker Start Intro Marker - + Intro End Marker Stop Intro Marker - + Outro Start Marker Start Outro Marker - + Outro End Marker Stop Outro Marker - + intro start marker start intro marker - + intro end marker stop intro marker - + outro start marker start outro marker - + outro end marker stop outro marker - + Activate %1 [intro/outro marker Aktywacja %1 - + Jump to or set the %1 [intro/outro marker Przejdź do lub ustaw %1 - + Set %1 [intro/outro marker Ustaw %1 - + Set or jump to the %1 [intro/outro marker Ustaw lub Przejdź do %1 - + Clear %1 [intro/outro marker Czyść %1 - + Clear the %1 [intro/outro marker Czyść w %1 - + if the track has no beats the unit is seconds - + Loop Selected Beats Zapętl wybrane uderzenia - + Create a beat loop of selected beat size Utwórz pętlę beatów o wybranym rozmiarze beatów - + Loop Roll Selected Beats Zapętl wybrane rytmy - + Create a rolling beat loop of selected beat size Utwórz pętlę rytmiczną o wybranym rozmiarze - + Loop %1 Beats set from its end point - + Loop Roll %1 Beats set from its end point - + Create %1-beat loop with the current play position as loop end - + Create temporary %1-beat loop roll with the current play position as loop end - + Loop Beats Pętla bitów - + Loop Roll Beats Zapętlone rytmy - + Go To Loop In Przejdź do początku pętli - + Go to Loop In button Przejdź do początku przycisku Zapętlenie - + Go To Loop Out Przejdź na koniec pętli - + Go to Loop Out button Przejdź na koniec przycisku Zapętlenie - + Toggle loop on/off and jump to Loop In point if loop is behind play position Włącz/wyłącz pętlę i przejdź do punktu Loop In, jeśli pętla znajduje się za pozycją odtwarzania - + Reloop And Stop Uruchom ponownie i zatrzymaj - + Enable loop, jump to Loop In point, and stop Włącz pętlę, przejdź do punktu Loop In i zatrzymaj się - + Halve the loop length Zmniejsz o połowę długość pętli - + Double the loop length Podwoić długość pętli - + Beat Jump / Loop Move Beat skok / ruch w pętli - + Jump / Move Loop Forward %1 Beats Skok / Przesuń pętlę do przodu %1 beat - + Jump / Move Loop Backward %1 Beats Skok / Przesuń pętlę w tył %1 beat - + Jump forward by %1 beats, or if a loop is enabled, move the loop forward %1 beats Przeskocz do przodu o %1 uderzeń lub, jeśli włączona jest pętla, przesuń pętlę do przodu o %1 uderzeń - + Jump backward by %1 beats, or if a loop is enabled, move the loop backward %1 beats Przeskocz w tył o %1 uderzeń lub, jeśli włączona jest pętla, przesuń pętlę w tył o %1 uderzeń - + Beat Jump / Loop Move Forward Selected Beats Beat skok / Ruch w pętli Przesuń do przodu wybrane beaty - + Jump forward by the selected number of beats, or if a loop is enabled, move the loop forward by the selected number of beats Przeskocz do przodu o wybraną liczbę uderzeń lub, jeśli włączona jest pętla, przesuń pętlę do przodu o wybraną liczbę uderzeń - + Beat Jump / Loop Move Backward Selected Beats Beat skok / Ruch w pętli Przesuń wstecz wybrane beaty - + Jump backward by the selected number of beats, or if a loop is enabled, move the loop backward by the selected number of beats Przeskocz do tyłu o wybraną liczbę uderzeń lub, jeśli włączona jest pętla, przesuń pętlę do tyłu o wybraną liczbę uderzeń - + Beat Jump - + Indicate which loop marker remain static when adjusting the size or is inherited from the current position - + Beat Jump / Loop Move Forward Beat skok / Ruch w pętli Przesuń do przodu - + Beat Jump / Loop Move Backward Beat skok / Ruch w pętli Przesuń wstecz - + Loop Move Forward Pętla Przejdź do przodu - + Loop Move Backward Pętla Przejdź do tyłu - + Remove Temporary Loop - + Usuń tymczasową pętlę - + Remove the temporary loop - + Usuń tymczasową pętlę - + Navigation Nawigacja - + Move up Przesuń w górę - + Equivalent to pressing the UP key on the keyboard Równoznaczne z wciśnięciem klawisza W GÓRĘ na klawiaturze - + Move down Przesuń w dół - + Equivalent to pressing the DOWN key on the keyboard Równoznaczne z wciśnięciem klawisza W DÓŁ na klawiaturze - + Move up/down Przesuń w górę/w dół - + Move vertically in either direction using a knob, as if pressing UP/DOWN keys Przesuń pionowo w dowolnym kierunku używając gałki lub wciskając klawisze W GÓRĘ/W DÓŁ - + Scroll Up Przewiń w górę - + Equivalent to pressing the PAGE UP key on the keyboard Równoznaczne z wciśnięciem klawisza PG UP na klawiaturze - + Scroll Down Przewiń w dół - + Equivalent to pressing the PAGE DOWN key on the keyboard Równoznaczne z wciśnięciem klawisza PG DN na klawiaturze - + Scroll up/down Przewiń w górę/w dół - + Scroll vertically in either direction using a knob, as if pressing PGUP/PGDOWN keys Przewiń pionowo w dowolnym kierunku używając gałki lub wciskając klawisze PG UP/PG DN - + Move left Przesuń w lewo - + Equivalent to pressing the LEFT key on the keyboard Równoznaczne z wciśnięciem klawisza LEWO na klawiaturze - + Move right Przesuń w prawo - + Equivalent to pressing the RIGHT key on the keyboard Równoznaczne z wciśnięciem klawisza PRAWO na klawiaturze - + Move left/right Przesuń w lewo/prawo - + Move horizontally in either direction using a knob, as if pressing LEFT/RIGHT keys Poruszaj się poziomo w dowolnym kierunku za pomocą pokrętła, tak jakbyś naciskał klawisze LEWO/PRAWO - + Move focus to right pane Przenieś fokus do prawego panelu - + Equivalent to pressing the TAB key on the keyboard Odpowiednik przytrzymywania klawisza TAB na klawiaturze - + Move focus to left pane Przenieś fokus do lewego panelu - + Equivalent to pressing the SHIFT+TAB key on the keyboard Odpowiednik naciśnięcia klawiszy SHIFT+TAB na klawiaturze - + Move focus to right/left pane Przenieś fokus do prawego/lewego panelu - + Move focus one pane to right or left using a knob, as if pressing TAB/SHIFT+TAB keys Przesuń fokus o jedno okienko w prawo lub w lewo za pomocą pokrętła, tak jak przy naciśnięciu klawiszy TAB/SHIFT+TAB - + Sort focused column Sortuj wybraną kolumnę - + Sort the column of the cell that is currently focused, equivalent to clicking on its header Posortuj kolumnę aktualnie aktywnej komórki, co odpowiada kliknięciu jej nagłówka - + Go to the currently selected item Przejdź do aktualnie wybranego elementu - + Choose the currently selected item and advance forward one pane if appropriate Wybierz aktualnie wybrany element i w razie potrzeby przejdź do przodu o jedno okienko - + Load Track and Play Załaduj utwór i odtwarzaj - + Add to Auto DJ Queue (replace) Dodaj do kolejki Auto DJ (zamień) - + Replace Auto DJ Queue with selected tracks Zastąp kolejkę Auto DJ wybranymi utworami - + Select next search history Wybierz następną historię wyszukiwania - + Selects the next search history entry Wybiera następny wpis w historii wyszukiwania - + Select previous search history Wybierz poprzednią historię wyszukiwania - + Selects the previous search history entry Wybiera poprzedni wpis historii wyszukiwania - + Move selected search entry Przenieś wybrany wpis wyszukiwania - + Moves the selected search history item into given direction and steps Przesuwa wybrany element historii wyszukiwania w określonym kierunku i krokach - + Clear search Wyczyść wyszukiwanie - + Clears the search query - + Wyczyszcza zapytanie wyszukiwania - - + + Select Next Color Available - + Wybierz następny dostępny kolor - + Select the next color in the color palette for the first selected track - + Wybierz następny kolor w palecie kolorów dla pierwszej wybranej ścieżki - - + + Select Previous Color Available - + Wybierz poprzedni dostępny kolor - + Select the previous color in the color palette for the first selected track + Wybierz poprzedni kolor w palecie kolorów dla pierwszej wybranej ścieżki + + + + Quick Effects Deck %1 - + Deck %1 Quick Effect Enable Button Deck %1 Przycisk włączania szybkich efektów - + + Quick Effect Enable Button Przycisk włączania szybkiego efektu - + + Deck %1 Stem %2 Quick Effect Super Knob + + + + + Deck %1 Stem %2 Quick Effect Enable Button + + + + Enable or disable effect processing Włącz lub wyłącz przetwarzanie efektu - + Super Knob (control effects' Meta Knobs) Super pokrętło (meta pokrętła efektów sterujących) - + Mix Mode Toggle Przełącznik trybu miksowania - + Toggle effect unit between D/W and D+W modes Przełącz jednostkę efektu pomiędzy trybami D/W i D+W - + Next chain preset Ustawienie następnego łańcucha - + Previous Chain Poprzedni Łańcuch - + Previous chain preset Ustawienie poprzedniego łańcucha - + Next/Previous Chain Następny/Poprzedni Łańcuch - + Next or previous chain preset Ustawienie następnego lub poprzedniego łańcucha. - - + + Show Effect Parameters Pokaż parametry efektu - + Effect Unit Assignment Przypisanie jednostki efektu - + Meta Knob Pokrętło Meta - + Effect Meta Knob (control linked effect parameters) Pokrętło Efektu Meta (kontrola parametrów powiązanych efektów) - + Meta Knob Mode Tryb Pokrętła Meta - + Set how linked effect parameters change when turning the Meta Knob. Ustaw sposób zmiany parametrów połączonych efektów podczas obracania pokrętła Meta. - + Meta Knob Mode Invert Odwrócenie trybu pokrętła Meta - + Invert how linked effect parameters change when turning the Meta Knob. Odwróć sposób, w jaki zmieniają się parametry połączonych efektów podczas obracania pokrętła Meta. - - + + Button Parameter Value Wartość parametru przycisku - + Microphone / Auxiliary Mikrofon / Zewnętrze - + Microphone On/Off Włącz/Wyłącz mikrofon - + Microphone on/off włącz/wyłącz mikrofon - + Toggle microphone ducking mode (OFF, AUTO, MANUAL) Przełącz tryb wyciszania mikrofonu(Wyłącz, Auto, Ręcznie) - + Auxiliary On/Off Zewnętrzny Włącz/Wyłącz - + Auxiliary on/off Zewnętrzny włącz/wyłącz - + Auto DJ Auto DJ - + Auto DJ Shuffle Wymieszaj Auto DJ - + Auto DJ Skip Next Auto DJ Skok do następnego - + Auto DJ Add Random Track - + Auto DJ Dodaj losową ścieżkę - + Add a random track to the Auto DJ queue - + Dodaj losową ścieżkę do kolejki Auto DJ'a - + Auto DJ Fade To Next Auto DJ Wycisz do następnego - + Trigger the transition to the next track Przełącz przejście do następnego utworu - + User Interface Interfejs Użytkownika - + Samplers Show/Hide Samplery Pokaż/Ukryj - + Show/hide the sampler section Pokaż/Ukryj sekcje samplera - + Microphone && Auxiliary Show/Hide keep double & to prevent creation of keyboard accelerator Mikrofon i urządzenie pomocnicze Pokaż/Ukryj - + Waveform Zoom Reset To Default - + Zresetuj powiększenie wykresu dźwięku do domyślnego - + Reset the waveform zoom level to the default value selected in Preferences -> Waveforms - + Select the next color in the color palette for the loaded track. - + Wybierz następny kolor w palecie kolorów dla załadowanej ścieżki. - + Select previous color in the color palette for the loaded track. - + Wybierz poprzedni kolor w palecie kolorów dla załadowanej ścieżki. - + Navigate Through Track Colors - + Nawiguj przez kolory ścieżek - + Select either next or previous color in the palette for the loaded track. - + Wybierz następny lub poprzedni kolor w palecie kolorów dla załadowanej ścieżki. - + Start/Stop Live Broadcasting Rozpocznij/zatrzymaj transmisję na żywo - + Stream your mix over the Internet. Transmituj swój mix przez Internet. - + Start/stop recording your mix. Rozpocznij/zatrzymaj nagrywanie miksu. - - + + + Deck %1 Stems + + + + + Samplers Próbniki - + Vinyl Control Show/Hide Kontrola winylem Pokaż/Ukryj - + Show/hide the vinyl control section Pokaż/Ukryj sekcje kontroli winylem - + Preview Deck Show/Hide Pokaż/Schowaj Deck podglądowy - + Show/hide the preview deck Pokaż/ukryj podgląd decka - + Toggle 4 Decks Przełącz 4 odtwarzacze. - + Switches between showing 2 decks and 4 decks. Przełącza między wyświetlaniem 2 i 4 odtwarzaczy. - + Cover Art Show/Hide (Decks) Pokaż/ukryj okładkę (Decki) - + Show/hide cover art in the main decks Pokaż/ukryj okładkę na głównych deckach - + Vinyl Spinner Show/Hide Pokaż/Ukryj tarczę winyla - + Show/hide spinning vinyl widget Pokaż/Ukryj wirującą płytę vinylową - + Vinyl Spinners Show/Hide (All Decks) Spinnery winylowe Pokaż/Ukryj (wszystkie decki) - + Show/Hide all spinnies Pokaż/ukryj wszystkie krążki - + Toggle Waveforms Przełącz przebiegi - + Show/hide the scrolling waveforms. Pokaż/ukryj przewijane przebiegi. - + Waveform zoom Skalowanie wykresu dźwięku - + Waveform Zoom Skalowanie wykresu dźwięku - + Zoom waveform in Powiększ wykres dźwięku - + Waveform Zoom In Powiększ wykres dźwięku - + Zoom waveform out Zmniejsz wykres dźwięku - + Star Rating Up Ocena gwiazdkowa w górę - + Increase the track rating by one star Zwiększ ocenę utworu o jedną gwiazdkę - + Star Rating Down Ocena gwiazdkowa w dół - + Decrease the track rating by one star Zmniejsz ocenę utworu o jedną gwiazdkę @@ -3540,6 +3581,159 @@ trace - Above + Profiling messages Unknown + Nieznany + + + + ControllerHidReportTabsManager + + + Read + + + + + Send + + + + + Payload Size + + + + + bytes + + + + + Byte Position + + + + + Bit Position + + + + + Bit Size + + + + + Logical Min + + + + + Logical Max + + + + + Value + + + + + Physical Min + + + + + Physical Max + + + + + Unit Scaling + + + + + Unit + + + + + Abs/Rel + + + + + + Wrap + + + + + + Linear + + + + + + Preferred + + + + + + Null + + + + + + Volatile + + + + + Usage Page + + + + + Usage + + + + + Relative + + + + + Absolute + + + + + No Wrap + + + + + Non Linear + + + + + No Preferred + + + + + No Null + + + + + Non Volatile @@ -3634,7 +3828,7 @@ trace - Above + Profiling messages Unnamed - + Bez nazwy @@ -3678,27 +3872,27 @@ trace - Above + Profiling messages ControllerScriptEngineLegacy - + Controller Mapping File Problem Problem z plikiem mapowania kontrolera - + The mapping for controller "%1" cannot be opened. Nie można otworzyć mapowania dla kontrolera "%1". - + The functionality provided by this controller mapping will be disabled until the issue has been resolved. Funkcjonalność zapewniana przez to mapowanie kontrolera zostanie wyłączona do czasu rozwiązania problemu. - + File: Plik: - + Error: Błąd: @@ -3731,14 +3925,14 @@ trace - Above + Profiling messages - + Lock Zablokuj Export Crate as Playlist - + Wyeksportuj skrzynkę jako playlistę @@ -3761,7 +3955,7 @@ trace - Above + Profiling messages Źródło utworów Auto DJ'a - + Enter new name for crate: Podaj nową nazwę skrzynki: @@ -3778,53 +3972,53 @@ trace - Above + Profiling messages Importuj skrzynkę - + Export Crate Eksportuj Skrzynkę - + Unlock Odblokuj - + An unknown error occurred while creating crate: Podczas tworzenia skrzynki pojawił się nieznany błąd: - + Rename Crate Zmień nazwę skrzynki Make a crate for your next gig, for your favorite electrohouse tracks, or for your most requested tracks. - + Stwórz skrzynkę na twój następny występ, dla twoich ulubionych utworów electrohouse lub najbardziej pożądanych ścieżek. - + Confirm Deletion Potwierdź usunięcie - - + + Renaming Crate Failed Zmiana nazwy skrzynki nie powiodła się - + Crate Creation Failed Tworzenie skrzynki nie powiodło się - + M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Text CSV (*.csv);;Readable Text (*.txt) Lista odtwarzania M3U (*.m3u);;Lista odtwarzania M3U8 (*.m3u8);;Lista odtwarzania PLS (*.pls);;Tekst CSV (*.csv);;Odczytywalny Tekst (*.txt) - + M3U Playlist (*.m3u) Lista odtwarzania M3U (*.m3u) @@ -3837,7 +4031,7 @@ trace - Above + Profiling messages Export to Engine DJ - + Wyeksportuj do Engine DJ @@ -3845,17 +4039,17 @@ trace - Above + Profiling messages Skrzynki pozwalają Ci organizować muzyke jak chcesz! - + Do you really want to delete crate <b>%1</b>? - + Czy na pewno chcesz usunąć skrzynkę <b>%1</b>? - + A crate cannot have a blank name. Musisz nazwać skrzynkę. - + A crate by that name already exists. Skrzynka o tej nazwie już istnieje. @@ -3950,12 +4144,12 @@ trace - Above + Profiling messages Byli współpracownicy - + Official Website Oficjalna strona internetowa - + Donate Wspomóż @@ -3988,7 +4182,7 @@ trace - Above + Profiling messages Qt Version: - + Wersja Qt: @@ -4177,7 +4371,31 @@ Skip Silence Start Full Volume: The same as Skip Silence, but starting transitions with a centered crossfader, so that the intro starts at full volume. - + Tryby Auto DJ Fade + +Pełne wprowadzenie i zakończenie: +Odtwórz pełne wprowadzenie i zakończenie. Użyj długości intro lub outro jako +czasu przejścia, w zależności od tego, który z nich jest krótszy. Jeśli nie zaznaczono żadnego wstępu ani zakończenia, użyj wybranego czasu przenikania + +Przejście Gdy Outro Się Zacznie: +Rozpocznij przenikanie na początku zakończenia. Jeśli zakończenie jest dłuższe niż +wprowadzenie, odetnij koniec zakończenia. Użyj długości intro lub outro jako +czasu przejścia, w zależności od tego, który z nich jest krótszy. Jeśli nie zaznaczono żadnego wstępu +ani zakończenia, użyj wybranego czasu przenikania. + +Pełny utwór: +Odtwórz cały utwór. Rozpocznij przenikanie od wybranej liczby +sekund przed końcem ścieżki. Ujemny czas przejścia powoduje dodanie +ciszy pomiędzy ścieżkami. + +Pomiń ciszę: +Odtwórz cały utwór z wyjątkiem ciszy na początku i na końcu. +Rozpocznij przejście od wybranej liczby sekund przed +ostatnim dźwiękiem. + +Pomiń ciszę Zacznij pełną glośnością: +To samo co pomiń ciszę, ale przejście zaczyna się dopiero po osiągnięciu centralnego crossfadera, dzięki czemu intro zaczyna się z pełną głośnością. + @@ -4202,7 +4420,7 @@ crossfader, so that the intro starts at full volume. Skip Silence Start Full Volume - + Pomiń ciszę Zacznij pełną głośnością @@ -4321,7 +4539,7 @@ Często skutkuje wyższą jakością siatek beatowych, ale nie sprawdzi się dob Enforced - + Wymuszone @@ -4524,7 +4742,7 @@ Próbowałeś się nauczyć: %1,%2 Fetched Cover Art - + Zaciągnięto okładkę @@ -4756,122 +4974,139 @@ Próbowałeś się nauczyć: %1,%2 DlgPrefBroadcast - + Icecast 2 Icecast 2 - + Shoutcast 1 Shoutcast 1 - + Icecast 1 Icecast 1 - + MP3 MP3 - + Ogg Vorbis Ogg Vorbis - + Opus - + Opus - + AAC AAC - + HE-AAC https://pl.wikipedia.org/wiki/AAC%2B - + HE-AACv2 https://pl.wikipedia.org/wiki/AAC%2B - + Automatic Automatyczny - + Mono Mono - + Stereo Stereo - - - - + + Saving settings failed + + + + + The password for '%1' contains invalid characters. Please enter it again. + +Note: This can for example be invisible linebreaks when using copy/paste. + + + + + + Action failed Akcja zakończona niepowodzeniem - + You can't create more than %1 source connections. Nie możesz utworzyć więcej niż %1 połączeń źródłowych. - + Source connection %1 Połączenie źródłowe %1 - + + Settings for %1 + Settings for broadcast profile, %1 is the profile name placeholder + Ustawienia dla %1 + + + At least one source connection is required. Wymagane jest co najmniej jedno połączenie źródłowe. - + Are you sure you want to disconnect every active source connection? Czy na pewno chcesz rozłączyć każde aktywne połączenie źródłowe? - - + + Confirmation required Wymagane potwierdzenie - + '%1' has the same Icecast mountpoint as '%2'. Two source connections to the same server that have the same mountpoint can not be enabled simultaneously. „%1” ma ten sam punkt montowania Icecast co „%2”. Nie można jednocześnie włączyć dwóch połączeń źródłowych z tym samym serwerem, które mają ten sam punkt podłączenia. - + Are you sure you want to delete '%1'? Czy na pewno chcesz usunąć '%1'? - + Renaming '%1' Zmiana nazwy '%1' - + New name for '%1': Nowa nazwa dla '%1': - + Can't rename '%1' to '%2': name already in use Nie można zmienić '%1' na '%2': taka nazwa jest już w użyciu @@ -4884,27 +5119,27 @@ Two source connections to the same server that have the same mountpoint can not Ustawienia Nadawania na Żywo - + Mixxx Icecast Testing Testowanie Mixxx Icecast - + Public stream Publiczny strumień - + http://www.mixxx.org http://www.mixxx.org - + Stream name Nazwa strumienia - + Due to flaws in some streaming clients, updating Ogg Vorbis metadata dynamically can cause listener glitches and disconnections. Check this box to update the metadata anyway. Ze względu na wady niektórych klientów przesyłania strumieniowego dynamiczna aktualizacja metadanych Ogg Vorbis może powodować zakłócenia i rozłączenia słuchacza. Zaznacz to pole, aby mimo to zaktualizować metadane. @@ -4944,67 +5179,72 @@ Two source connections to the same server that have the same mountpoint can not Ustawienia dla %1 - + + Available fields: $artist, $title, $year, $album, $genre, $bpm + + + + Dynamically update Ogg Vorbis metadata. Dynamicznie aktualizuj metadane Ogg Vorbis. - + ICQ ICQ - + AIM AIM - + Website Strona internetowa - + Live mix Live mix - + IRC IRC - + Select a source connection above to edit its settings here Wybierz połączenie źródłowe powyżej, aby edytować jego ustawienia tutaj - + Password storage Przechowywanie haseł - + Plain text Zwykły tekst - + Secure storage (OS keychain) Bezpieczne przechowywanie (pęk kluczy systemu operacyjnego) - + Genre Gatunek - + Use UTF-8 encoding for metadata. Użyj kodowania UTF-8 dla metadanych. - + Description Opis @@ -5030,42 +5270,42 @@ Two source connections to the same server that have the same mountpoint can not Kanały - + Server connection Połączenie serwera - + Type Typ - + Host Host - + Login Login - + Mount Montuj - + Port Port - + Password Hasło - + Stream info Informacje o strumieniu @@ -5075,17 +5315,17 @@ Two source connections to the same server that have the same mountpoint can not Metadane - + Use static artist and title. Użyj statycznego wykonawcy i tytułu - + Static title Statyczny tytuł - + Static artist Statyczny wykonawca @@ -5144,13 +5384,14 @@ Two source connections to the same server that have the same mountpoint can not DlgPrefColors - - + + + By hotcue number Według numeru hotcue - + Color Kolor @@ -5176,7 +5417,7 @@ Two source connections to the same server that have the same mountpoint can not Loop default color - + Domyślny kolor pętli @@ -5195,17 +5436,22 @@ Two source connections to the same server that have the same mountpoint can not + Jump default color + + + + When key colors are enabled, Mixxx will display a color hint associated with each key. - + Enable Key Colors - + Key palette @@ -5213,114 +5459,114 @@ associated with each key. DlgPrefController - + Apply device settings? Zastosować ustawienia urządzenia? - + Your settings must be applied before starting the learning wizard. Apply settings and continue? Twoje ustawienia muszą być zapisane przed uruchomieniem kreatora. Zastosować ustawienie i kontynuować? - + None Żadne - + %1 by %2 %1 wykonywane przez %2 - + Mapping has been edited Mapowanie zostało zmodyfikowane - + Always overwrite during this session Zawsze nadpisz podczas tej sesji - + Save As Zapisz Jako - + Overwrite Nadpisz - + Save user mapping Zapisz mapowanie użytkownika - + Enter the name for saving the mapping to the user folder. Wprowadź nazwę, pod którą chcesz zapisać mapowanie w folderze użytkownika. - + Saving mapping failed Zapisanie mapowania nie powiodło się - + A mapping cannot have a blank name and may not contain special characters. Mapowanie nie może mieć pustej nazwy i nie może zawierać znaków specjalnych. - + A mapping file with that name already exists. Plik mapowania o tej nazwie już istnieje. - + Do you want to save the changes? Czy chcesz zapisać zmiany? - + Troubleshooting Rozwiązywanie problemów - + <font color='#BB0000'><b>If you use this mapping your controller may not work correctly. Please select another mapping or disable the controller.</b></font><br><br>This mapping was designed for a newer Mixxx Controller Engine and cannot be used on your current Mixxx installation.<br>Your Mixxx installation has Controller Engine version %1. This mapping requires a Controller Engine version >= %2.<br><br>For more information visit the wiki page on <a href='https://mixxx.org/wiki/doku.php/controller_engine_versions'>Controller Engine Versions</a>. - + Mapping already exists. Mapowanie już istnieje. - + <b>%1</b> already exists in user mapping folder.<br>Overwrite or save with a new name? <b>%1</b> już istnieje w folderze mapowania użytkownika.<br>Zastąpić czy zapisać pod nową nazwą? - + Clear Input Mappings Wyczyść mapowanie przychodzące - + Are you sure you want to clear all input mappings? Czy na pewno wyczyścić wszystkie mapowania przychodzące? - + Clear Output Mappings Wyczyść mapowanie wychodzące - + Are you sure you want to clear all output mappings? Czy na pewno wyczyścić wszystkie mapowania wychodzące? @@ -5338,100 +5584,105 @@ Zastosować ustawienie i kontynuować? Włączony - - Device Info + + Refresh mapping list - + + Device Info + Informacje o urządzeniu + + + Physical Interface: - + Fizyczny intefejs: - + Vendor name: - + Nazwa producenta: - + Product name: - + Nazwa produktu: - + Vendor ID - + ID producenta - + VID: - + VID: - + Product ID - + ID produktu - + PID: - + PID: - + Serial number: - + Numer seryjny: - + USB interface number: - + Numer interfejsu USB: - + HID Usage-Page: - + HID Usage: - + Użycie HID: - + Description: Opis: - + Support: Wsparcie: - + Screens preview - + Podgląd ekranów - + Input Mappings Mapowania przychodzące - - + + Search Szukaj - - + + Add Dodaj - - + + Remove Usuń @@ -5451,17 +5702,17 @@ Zastosować ustawienie i kontynuować? Załaduj mapowanie: - + Mapping Info Informacje o mapowaniu - + Author: Autor: - + Name: Nazwa: @@ -5471,28 +5722,28 @@ Zastosować ustawienie i kontynuować? Kreator uczenia się kontrolera (tylko MIDI) - + Data protocol: - + Protokół danych: - + Mapping Files: Pliki mapowania: - + Mapping Settings - + Ustawienia mapowania - - + + Clear All Wyczyść Wszystko - + Output Mappings Mapowania wychodzące @@ -5507,21 +5758,21 @@ Zastosować ustawienie i kontynuować? - Mixxx uses "mappings" to connect messages from your controller to controls in Mixxx. If you do not see a mapping for your controller in the "Load Mapping" menu when you click on your controller on the left sidebar, you may be able to download one online from the %1. Place the XML (.xml) and Javascript (.js) file(s) in the "User Mapping Folder" then restart Mixxx. If you download a mapping in a ZIP file, extract the XML and Javascript file(s) from the ZIP file to your "User Mapping Folder" then restart Mixxx. - Mixxx wykorzystuje „mapowania” do łączenia wiadomości z kontrolera z elementami sterującymi w Mixxx. Jeśli nie widzisz mapowania dla swojego kontrolera w menu „Wczytaj mapowanie” po kliknięciu kontrolera na lewym pasku bocznym, być może uda się pobrać je online z %1. Umieść pliki XML (.xml) i JavaScript (.js) w „Folderze mapowania użytkowników”, a następnie uruchom ponownie Mixxx. Jeśli pobierasz mapowanie w pliku ZIP, wyodrębnij pliki XML i Javascript z pliku ZIP do swojego „Folderu mapowania użytkownika”, a następnie uruchom ponownie Mixxx. + Mixxx uses "mappings" to connect messages from your controller to controls in Mixxx. If you do not see a mapping for your controller in the "Load Mapping" menu when you click on your controller on the left sidebar, you may be able to download one online from the %1. Place the XML (.xml) and Javascript (.js) file(s) in the "User Mapping Folder" then click the Reload button next to the mapping selector to reload all available mappings. If you download a mapping in a ZIP file, extract the XML and Javascript file(s) from the ZIP file to your "User Mapping Folder" then click the Reload button. + - + Mixxx DJ Hardware Guide Przewodnik po sprzęcie Mixxx DJ - + MIDI Mapping File Format Format pliku mapowania MIDI - + MIDI Scripting with Javascript Skrypty MIDI z JavaScriptem @@ -5546,7 +5797,7 @@ Zastosować ustawienie i kontynuować? Enable MIDI Through Port - + Włącz MIDI Through Port @@ -5614,7 +5865,7 @@ Zastosować ustawienie i kontynuować? Skin selector - + Wybór skórki @@ -5654,7 +5905,7 @@ Zastosować ustawienie i kontynuować? Force 3D acceleration - + Wymuś akcelerację 3D @@ -5690,137 +5941,137 @@ Zastosować ustawienie i kontynuować? DlgPrefDeck - + Mixxx mode Tryb Mixxx - + Mixxx mode (no blinking) Tryb Mixxx (bez migania) - + Pioneer mode Tryb Pioneer - + Denon mode Tryb Denon - + Numark mode Tryb Numark - + CUP mode Tryb CUP - + mm:ss%1zz - Traditional mm:ss%1zz — tradycyjny - + mm:ss - Traditional (Coarse) mm:ss — tradycyjny (gruby) - + s%1zz - Seconds s%1zz — sekundy - + sss%1zz - Seconds (Long) sss%1zz — sekundy (długie) - + s%1sss%2zz - Kiloseconds s%1sss%2zz — Kilosekundy - + Intro start Początek wprowadzenia - + Main cue Główne CUE - + First hotcue - + First sound (skip silence) Pierwszy dźwięk (pomiń ciszę) - + Beginning of track Początek utworu - + Reject - + Odrzuć - + Allow, but stop deck - + Zezwól, ale zatrzymaj deck - + Allow, play from load point - + Zezwól, otwórz od punktu załadowania - + 4% 4% - + 6% (semitone) 6% (półton) - + 8% (Technics SL-1210) 8% (Technics SL-1210) - + 10% 10% - + 16% 16% - + 24% 24% - + 50% 50% - + 90% 90% @@ -5926,7 +6177,7 @@ Jeśli ta opcja jest wyłączona, punkt początkowy intro zostanie automatycznie Loading a track, when deck is playing - + Załaduj ścieżkę, kiedy deck gra @@ -6091,7 +6342,7 @@ Zawsze możesz przeciągnąć i upuścić ścieżki na ekranie, aby sklonować t Keyunlock mode - + Tryb odblokowania klucza @@ -6111,7 +6362,7 @@ Zawsze możesz przeciągnąć i upuścić ścieżki na ekranie, aby sklonować t Use steady tempo - + Użyj stałego tempa @@ -6125,7 +6376,7 @@ Zawsze możesz przeciągnąć i upuścić ścieżki na ekranie, aby sklonować t Effect Chain Presets - + Ustawienia łańcuchów efektów @@ -6145,22 +6396,22 @@ Zawsze możesz przeciągnąć i upuścić ścieżki na ekranie, aby sklonować t effect 1 name - + nazwa 1 efektu effect 2 name - + nazwa 2 efektu effect 3 name - + nazwa 3 efektu Import - + Importuj @@ -6180,13 +6431,13 @@ Zawsze możesz przeciągnąć i upuścić ścieżki na ekranie, aby sklonować t Quick Effect Chain Presets - + Szybkie ustawienia łańcuchów efektów Visible Effects - + Widoczne efekty @@ -6196,17 +6447,17 @@ Zawsze możesz przeciągnąć i upuścić ścieżki na ekranie, aby sklonować t Hidden Effects - + Ukryte efekty ❯ - + ❮ - + @@ -6262,59 +6513,59 @@ Zawsze możesz przeciągnąć i upuścić ścieżki na ekranie, aby sklonować t Minimalny rozmiar wybranej skórki jest większy niż dostępna rozdzielczość ekranu. - + Allow screensaver to run Zezwól na uruchomienie wygaszacza ekranu - + Prevent screensaver from running Zapobiegaj uruchomieniu wygaszacza ekranu - + Prevent screensaver while playing Zapobiegaj wygaszaczowi ekranu podczas gry - + Disabled Wyłączone - + 2x MSAA 2x MSAA - + 4x MSAA 4x MSAA - + 8x MSAA 8x MSAA - + 16x MSAA 16x MSAA - + This skin does not support color schemes Ta skórka nie obsługuje schematów kolorów. - + Information Informacja - + Mixxx must be restarted before the new locale, scaling or multi-sampling settings will take effect. - + Mixxx musi zostać zrestartowany aby nowe ustawienia regionalne, skalowania lub multi-sampling'u zaczęły obowiązywać. @@ -6373,7 +6624,7 @@ and allows you to pitch adjust them for harmonic mixing. Enforced - + Wymuszone @@ -6536,70 +6787,100 @@ and allows you to pitch adjust them for harmonic mixing. See the manual for details - + Odwiedź instrukcję dla szczegółów. - + Music Directory Added Dodano katalog z muzyką - + You added one or more music directories. The tracks in these directories won't be available until you rescan your library. Would you like to rescan now? Dodałeś jeden lub więcej katalogów z muzyką. Utwory z tych katalogów nie będą dostępne dopóki ponownie nie przeskanujesz biblioteki. Czy chcesz zrobić to teraz? - + Scan Skanuj - + Item is not a directory or directory is missing - + Przedmiot nie jest katalogiem lub nie ma takiego katalogu. - + Choose a music directory Wybierz katalog z muzyką - + Confirm Directory Removal Potwierdź usunięcie katalogu - + Mixxx will no longer watch this directory for new tracks. What would you like to do with the tracks from this directory and subdirectories?<ul><li>Hide all tracks from this directory and subdirectories.</li><li>Delete all metadata for these tracks from Mixxx permanently.</li><li>Leave the tracks unchanged in your library.</li></ul>Hiding tracks saves their metadata in case you re-add them in the future. Mixxx nie będzie dłużej obserwował tego katalogu w poszukiwaniu nowych utworów. Co chcesz zrobić z utworami z tego katalogu i podkatalogów?<ul><li>Ukryj wszystkie utwory z katalogu i podkatalogów.</li><li>Trwale usuń z Mixxx'a wszystkie metadane tych utworów.</li><li>Pozostaw utwory w Twojej bibliotece niezmienione.</li><li>Ukrycie utworów zachowuje ich metadane w przypadku ich ponownego dodania w przyszłości. - + Metadata means all track details (artist, title, playcount, etc.) as well as beatgrids, hotcues, and loops. This choice only affects the Mixxx library. No files on disk will be changed or deleted. Metadane są to wszystkie informacje o utworze (wykonawca, tytuł, ilość odtworzeń itp.) a także siatki tempa, punkty hotcue i pętle. Ten wybór ma wpływ tylko na bibliotekę Mixxx,a. żadne pliki na dysku nie zostaną zmienione czy usunięte. - + Hide Tracks Ukryj Utwory - + Delete Track Metadata Usuń metadane utworu - + Leave Tracks Unchanged Zostaw utwory niezmienione - + Relink music directory to new location Połącz katalog muzyki z nową lokalizacją - + + Black + + + + + ExtraBold + + + + + Bold + + + + + SemiBold + + + + + Medium + + + + + Light + + + + Select Library Font Wybierz czcionkę Biblioteki @@ -6645,265 +6926,270 @@ and allows you to pitch adjust them for harmonic mixing. Rescan directories on start-up - + Przeskanuj ponownie katalogi przy starcie - + Audio File Formats Formaty Plików Audio - + Track Table View - + Track Double-Click Action: - + BPM display precision: - + precyzja wyświetlania BPM: - + Session History - + Historia sesji - + Track duplicate distance - + Dystans duplikatów - + When playing a track again log it to the session history only if more than N other tracks have been played in the meantime - + History playlist with less than N tracks will be deleted<br/><br/>Note: the cleanup will be performed during startup and shutdown of Mixxx. - + Delete history playlist with less than N tracks - + Usuń histoię playlisty z mnie niż N ścieżkami - + Library Font: Czcionka Biblioteki: - + + Show scan summary dialog + + + + Grey out played tracks - + Track Search - + Enable search completions - + Enable search history keyboard shortcuts - + Percentage of pitch slider range for 'fuzzy' BPM search: - + This range will be used for the 'fuzzy' BPM search (~bpm:) via the search box, as well as for BPM search in Track context menu > Search related Tracks - + Preferred Cover Art Fetcher Resolution - + Fetch cover art from coverartarchive.com by using Import Metadata From Musicbrainz. - + Zaciągnij okładki z coverartarchive.com używając Importuj metadane z Musicbrainz. - + Note: ">1200 px" can fetch up to very large cover arts. - + Uwaga: ">1200 px" może zaciągnąć bardzo duże okładki - + >1200 px (if available) >1200 px (Jeśli dostępne) - + 1200 px (if available) 1200 px (Jeśli dostępne) - + 500 px 500 px - + 250 px 250 px - + Settings Directory - + The Mixxx settings directory contains the library database, various configuration files, log files, track analysis data, as well as custom controller mappings. - + Katalog ustawień Mixxx'a zawiera bazę danych biblioteki, różne pliki konfiguracyjne, logi, dane analityczne oraz niestandarowe mapy kontrolerów. - + Edit those files only if you know what you are doing and only while Mixxx is not running. Edytuj te pliki tylko wtedy, gdy wiesz, co robisz i tylko wtedy, gdy Mixxx nie jest uruchomiony. - + Open Mixxx Settings Folder Otwórz folder ustawień Mixxx - + Library Row Height: Wysokość wiersza Biblioteki: - + Use relative paths for playlist export if possible Użyj względnych ścieżek dla eksportu listy odtwarzania, jeśli to możliwe - + ... ... - + px px - + Synchronize library track metadata from/to file tags - + Automatically write modified track metadata from the library into file tags and reimport metadata from updated file tags into the library - + Automatycznie zapisuj zmodyfikowane metadane ścieżki do biblioteki do metadanych pliku i przeimportuj metadane z zaktualizowanego pliku do biblioteki. - + Synchronize Serato track metadata from/to file tags (experimental) - + Keeps track color, beat grid, bpm lock, cue points, and loops synchronized with SERATO_MARKERS/MARKERS2 file tags.<br/><br/>WARNING: Enabling this option also enables the reimport of Serato metadata after files have been modified outside of Mixxx. On reimport existing metadata in Mixxx is replaced with the metadata found in file tags. Custom metadata not included in file tags like loop colors is lost. - + Edit metadata after clicking selected track Edytuj metadane po kliknięciu wybranego utworu - + Search-as-you-type timeout: Szukaj-to-co-piszesz Limit czasu: - + ms ms - + Load track to next available deck Załaduj utwór do następnego wolnego odtwarzacza - + External Libraries Biblioteki Zewnętrzne - + You will need to restart Mixxx for these settings to take effect. Musisz ponownie uruchomić Mixxx, aby te ustawienia odniosły skutek. - + Show Rhythmbox Library Pokaż bibliotekę Rythmbox - + Track Metadata Synchronization / Playlists - + Add track to Auto DJ queue (bottom) Dodaj utwór do kolejki Auto DJ (na dole) - + Add track to Auto DJ queue (top) Dodaj utwór do kolejki Auto DJ (u góry) - + Ignore Ignoruj - + Show Banshee Library Pokaż Bibliotekę Banshee - + Show iTunes Library Pokaż Bibliotekę iTunes - + Show Traktor Library Pokaż Bibliotekę Tractor - + Show Rekordbox Library Pokaż bibliotekę Rekordbox - + Show Serato Library Pokaż bibliotekę Serato - + All external libraries shown are write protected. Wszystkie wyświetlone biblioteki zewnętrzne są zabezpieczone przed zapisem. @@ -7248,33 +7534,33 @@ and allows you to pitch adjust them for harmonic mixing. DlgPrefRecord - + Choose recordings directory Wybierz katalog nagrań - - + + Recordings directory invalid Nieprawidłowy katalog nagrań - + Recordings directory must be set to an existing directory. Katalog nagrań musi być ustawiony na istniejący katalog. - + Recordings directory must be set to a directory. Katalog nagrań musi być ustawiony na katalog. - + Recordings directory not writable Katalog nagrań nie nadaje się do zapisu - + You do not have write access to %1. Choose a recordings directory you have write access to. Nie masz uprawnień do zapisu na %1. Wybierz katalog nagrań, do którego masz dostęp do zapisu. @@ -7292,43 +7578,55 @@ and allows you to pitch adjust them for harmonic mixing. Przeglądaj... - - + + This will include the filepath for each track in the CUE file. +This option makes the CUE file less portable and can reveal personal +information from filepaths (i.e. username) + + + + + Enable File Annotation in CUE file + + + + + Quality Jakość - + Tags Tagi - + Title Tytuł - + Author Autor - + Album Album - + Output File Format Format pliku wyjściowego - + Compression Kompresja - + Lossy Stratny @@ -7343,12 +7641,12 @@ and allows you to pitch adjust them for harmonic mixing. Katalog: - + Compression Level Poziom kompresji - + Lossless Bezstratny @@ -7479,172 +7777,177 @@ The loudness target is approximate and assumes track pregain and main output lev DlgPrefSound - + %1 Hz %1 Hz - + Default (long delay) Domyślne (długie opóźnienie) - + Experimental (no delay) Eksperymentalne (bez opóźnienia) - + Disabled (short delay) Wyłączone (krótkie opóźnienie) - + Soundcard Clock Zegar karty dźwiękowej - + Network Clock Zegar sieciowy - + Direct monitor (recording and broadcasting only) Bezpośrednie monitorowanie (tylko nagrywanie i nadawanie) - + Disabled Wyłączone - + Enabled Włączony - + Stereo Stereo - + Mono Mono - + To enable Realtime scheduling (currently disabled), see the %1. Aby włączyć planowanie w czasie rzeczywistym (obecnie wyłączone), zobacz %1. - + The %1 lists sound cards and controllers you may want to consider for using Mixxx. %1 zawiera listę kart dźwiękowych i kontrolerów, które warto rozważyć przy korzystaniu z Mixxx. - + Mixxx DJ Hardware Guide Przewodnik po sprzęcie Mixxx DJ - + + Find details in the Mixxx user manual + + + + Information Informacja - + Mixxx must be restarted before the multi-threaded RubberBand setting change will take effect. - + auto (<= 1024 frames/period) auto (<= 1024 klatek/okres) - + 2048 frames/period 2048 klatek/okres - + 4096 frames/period 4096 klatek/okres - + Are you sure? Jesteś pewien? - + Distribute stereo channels into mono channels for parallel processing will result in a loss of mono compatibility and a diffuse stereo image. It is not recommended during broadcasting or recording. - + Are you sure you wish to proceed? - + Czy napewno chcesz kontynuować? - + No Nie - + Yes, I know what I am doing Tak, wiem co robię - + Microphone inputs are out of time in the record & broadcast signal compared to what you hear. Wejścia mikrofonowe są nieaktualne w sygnale nagrywania i nadawania w porównaniu z tym, co słyszysz. - + Measure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. Zmierz opóźnienie w obie strony i wprowadź je powyżej w celu kompensacji opóźnienia mikrofonu, aby dostosować taktowanie mikrofonu. - + Refer to the Mixxx User Manual for details. Szczegółowe informacje można znaleźć w instrukcji obsługi Mixxx. - + Configured latency has changed. Ustawione opóźnienie zostało zmienione. - + Remeasure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. Zmierz ponownie opóźnienie w obie strony i wprowadź je powyżej w polu Kompensacja opóźnienia mikrofonu, aby dopasować taktowanie mikrofonu. - + Realtime scheduling is enabled. Planowanie w czasie rzeczywistym jest włączone. - + Main output only - + Tylko wyjście główne - + Main and booth outputs - + Wyjścia główne i oba - + %1 ms %1 ms - + Configuration error Błąd konfiguracji @@ -7689,7 +7992,7 @@ The loudness target is approximate and assumes track pregain and main output lev Main Output Mode - + Tryb Wyjścia Głównego @@ -7711,17 +8014,22 @@ The loudness target is approximate and assumes track pregain and main output lev ms - + + Deck and Bus outputs are for external mixers. They are post-fader and include effects and crossfader (for Auto DJ). For external mixing, make sure all Mixxx faders and EQ knobs are set to their default position (right- or double-click). + + + + 20 ms 20 ms - + Buffer Underflow Count Licznik niedomiaru bufora - + 0 0 @@ -7746,12 +8054,12 @@ The loudness target is approximate and assumes track pregain and main output lev Wejście - + System Reported Latency Zgłoszone przez system opóźnienie - + Enlarge your audio buffer if the underflow counter is increasing or you hear pops during playback. Powiększ bufor audio, jeśli licznik niedopełnienia rośnie lub podczas odtwarzania słychać trzaski. @@ -7763,12 +8071,12 @@ The loudness target is approximate and assumes track pregain and main output lev Headphone Output Delay - + Opóźnienie wyjścia słuchawkowego Booth Output Delay - + Opóźnienie wyjścia obu @@ -7781,7 +8089,7 @@ The loudness target is approximate and assumes track pregain and main output lev Podpowiedzi i diagnostyka - + Downsize your audio buffer to improve Mixxx's responsiveness. Zmniejsz Twój bufor audio aby poprawić czas odpowiedzi Mixxx'a. @@ -7828,7 +8136,7 @@ The loudness target is approximate and assumes track pregain and main output lev Konfiguracja Winyla - + Show Signal Quality in Skin Pokaż jakość w skórce @@ -7864,46 +8172,51 @@ The loudness target is approximate and assumes track pregain and main output lev + Pitch estimator + + + + Deck 1 Decka 1 - + Deck 2 Decka 2 - + Deck 3 Decka 3 - + Deck 4 Decka 4 - + Signal Quality Jakość sygnału - + http://www.xwax.co.uk http://www.xwax.co.uk - + Powered by xwax - + Hints Podpowiedzi - + Select sound devices for Vinyl Control in the Sound Hardware pane. Wybierz urządzenia dźwiękowe do Kontroli Winylem w sekcji Urządzenia Audio. @@ -7911,58 +8224,58 @@ The loudness target is approximate and assumes track pregain and main output lev DlgPrefWaveform - + Filtered Przefiltrowane - + HSV HSV - + RGB RGB - + Top Góra - + Center Centralny - + Bottom - + Dół - + 1/3 of waveform viewer options for "Text height limit" - + Entire waveform viewer - + OpenGL not available OpenGL niedostępne - + dropped frames opuszczone ramki - + Cached waveforms occupy %1 MiB on disk. Przebiegi buforowane zajmują %1 MiB na dysku. @@ -7980,22 +8293,17 @@ The loudness target is approximate and assumes track pregain and main output lev Liczba klatek na sekundę - + OpenGL Status - + Status OpenGL - + Displays which OpenGL version is supported by the current platform. Pokazuje jaką wersję OpenGL wspiera aktualna platforma. - - Normalize waveform overview - Normalizuj przegląd przebiegów - - - + Average frame rate Średnia prędkość ramek @@ -8011,7 +8319,7 @@ The loudness target is approximate and assumes track pregain and main output lev Domyślny poziom powiększenia - + Displays the actual frame rate. Pokazuje szybkość klatek @@ -8028,7 +8336,7 @@ The loudness target is approximate and assumes track pregain and main output lev This functionality requires waveform acceleration. - + Ta funkcjonalność wymaga akceleracji wykresu dźwięku. @@ -8046,19 +8354,19 @@ The loudness target is approximate and assumes track pregain and main output lev Niskie - + Show minute markers on waveform overview Use acceleration - + Użyj akceleracji High details - + Wysokie detale @@ -8091,7 +8399,7 @@ The loudness target is approximate and assumes track pregain and main output lev Główny optyczny gain - + The waveform overview shows the waveform envelope of the entire track. Select from different types of displays for the waveform overview, which differ primarily in the level of detail shown in the waveform. Przegląd przebiegu pokazuje obwiednię przebiegu całej ścieżki. @@ -8137,12 +8445,12 @@ Wybierz spośród różnych typów wyświetlania przebiegu, które różnią si Preferred font size - + Preferowany rozmiar czcionki Text height limit - + Limit wysokości tekstu @@ -8152,30 +8460,30 @@ Wybierz spośród różnych typów wyświetlania przebiegu, które różnią si Placement - + Umiejscowienie pt - + pt - + Caching Zapisywanie w pamięci podręcznej - + Mixxx caches the waveforms of your tracks on disk the first time you load a track. This reduces CPU usage when you are playing live but requires extra disk space. Mixxx buforuje przebiegi Twoich utworów na dysku przy pierwszym załadowaniu utworu. Zmniejsza to zużycie procesora podczas gry na żywo, ale wymaga dodatkowego miejsca na dysku. - + Enable waveform caching Włącz buforowanie przebiegów - + Generate waveforms when analyzing library Generuj przebiegi podczas analizy biblioteki @@ -8191,9 +8499,9 @@ Wybierz spośród różnych typów wyświetlania przebiegu, które różnią si - + Type - + Typ @@ -8221,12 +8529,58 @@ Wybierz spośród różnych typów wyświetlania przebiegu, które różnią si Przesuwa pozycję znacznika odtwarzania na przebiegach w lewo, w prawo lub na środek (domyślnie). - + + Stem + + + + + Channel opacity + + + + + Channel opacity (outline) + + + + + Main stem opacity + + + + + Outline stem opacity + + + + + Move channel to foreground when volume is adjusted + + + + Overview Waveforms - + + Gain + + + + + Normalize to peak + + + + + Use Waveform "Global" gain and ReplayGain (if enabled) + 'Global' refers to the 'Global' visual gain in the scrolling waveform settings + + + + Clear Cached Waveforms Wyczyść buforowane przebiegi @@ -8336,7 +8690,7 @@ Wybierz spośród różnych typów wyświetlania przebiegu, które różnią si <font color='#BB0000'><b>Some preferences pages have errors. To apply the changes please first fix the issues.</b></font> - + <font color='#BB0000'><b>Niektóre strony ustawień wyrzuciły błąd. Aby zastosować zmiany, napraw najpierw te problemy.</b></font> @@ -8553,17 +8907,17 @@ Wybierz spośród różnych typów wyświetlania przebiegu, które różnią si Current Cover Art - + Obecna okładka albumu Found Cover Art - + Znaleziona okładka albumu The results are ready to be applied. - + Zmiany są gotowe do zastosowania. @@ -8608,7 +8962,7 @@ Wybierz spośród różnych typów wyświetlania przebiegu, które różnią si Metadata applied - + Zastosowano metadane @@ -8623,42 +8977,42 @@ Wybierz spośród różnych typów wyświetlania przebiegu, które różnią si The results are ready to be applied - + Zmiany są gotowe do zastosowania Can't connect to %1: %2 - + Nie można połączyć się do: %1: %2 Looking for cover art - + Szukanie okładki Cover art found, receiving image. - + Okładka znaleziona, pozyskiwanie obrazu. Cover Art is not available for selected metadata - + Okładka nie jest dostępna w wybranych metadanych Metadata & Cover Art applied - + Metadane & okładka zapisane Selected cover art applied - + Wybrana okładka zapisana Cover Art File Already Exists - + Plik okładki już istnieje @@ -8666,7 +9020,10 @@ Wybierz spośród różnych typów wyświetlania przebiegu, które różnią si Folder: %2 Override existing file? This can not be undone! - + Plik: %1 +Folder: %2 +Nadpisać istniejący plik? +Nie można tego cofnąć! @@ -8715,7 +9072,7 @@ This can not be undone! BPM (uderzenia na minutę): - + Location: Lokalizacja: @@ -8730,27 +9087,27 @@ This can not be undone! Komentarze - + BPM BPM - + Sets the BPM to 75% of the current value. Ustawia BPM do 75% obecnej wartości. - + 3/4 BPM 3/4 BPM - + Sets the BPM to 50% of the current value. Ustawia BPM do 50% obecnej wartości. - + Displays the BPM of the selected track. Wyświetla BPM wybranego utworu. @@ -8805,49 +9162,49 @@ This can not be undone! Gatunek - + ReplayGain: GainPowtórki: - + Sets the BPM to 200% of the current value. Ustawia BPM do 200% obecnej wartości. - + Double BPM Podwójny BPM - + Halve BPM Połowa BPM - + Clear BPM and Beatgrid Wyczyść BPM i siatkę beat'u - + Move to the previous item. "Previous" button Przenieś do poprzedniej pozycji. - + &Previous &Poprzedni - + Move to the next item. "Next" button Przenieś do następnej pozycji. - + &Next &Następny @@ -8872,12 +9229,12 @@ This can not be undone! Kolor - + Date added: Data dodania: - + Open in File Browser Otwórz plik w przeglądarce @@ -8887,12 +9244,17 @@ This can not be undone! Próbkowanie: - + + Filesize: + + + + Track BPM: BPM Ścieżki: - + Converts beats detected by the analyzer into a fixed-tempo beatgrid. Use this setting if your tracks have a constant tempo (e.g. most electronic music). Often results in higher quality beatgrids, but will not do well on tracks that have tempo shifts. @@ -8901,92 +9263,92 @@ Użyj tego ustawienia, jeśli Twoje utwory mają stałe tempo (np. większość Często skutkuje wyższą jakością siatek beatowych, ale nie sprawdzi się dobrze w przypadku utworów zawierających zmiany tempa. - + Assume constant tempo Załóż stałe tempo - + Sets the BPM to 66% of the current value. Ustawia BPM do 66% obecnej wartości. - + 2/3 BPM 2/3 BPM - + Sets the BPM to 150% of the current value. Ustawia BPM do 150% obecnej wartości. - + 3/2 BPM 3/2 BPM - + Sets the BPM to 133% of the current value. Ustawia BPM do 133% obecnej wartości. - + 4/3 BPM 4/3 BPM - + Tap with the beat to set the BPM to the speed you are tapping. Uderzaj zgodnie z beat'em aby ustawić BPM zgodnie z tym który uderzasz. - + Tap to Beat Uderzaj do Bitu - + Hint: Use the Library Analyze view to run BPM detection. Podpowiedź: Użyj widoku Analizuj Kolekcję, aby uruchomić wykrywanie BPM. - + Save changes and close the window. "OK" button Zapisz zmiany i zamknij okno. - + &OK &OK - + Discard changes and close the window. "Cancel" button Porzuć zmiany i zamknij okno. - + Save changes and keep the window open. "Apply" button Zapisz zmiany i nie zamykaj okna. - + &Apply Z&astosuj - + &Cancel &Anuluj - + (no color) - + (bez koloru) @@ -9054,7 +9416,7 @@ Często skutkuje wyższą jakością siatek beatowych, ale nie sprawdzi się dob Re-Import Metadata from files - + Importuj ponownie metadane z plików @@ -9100,7 +9462,7 @@ Często skutkuje wyższą jakością siatek beatowych, ale nie sprawdzi się dob Discard changes and reload saved values. "Reset" button - + Porzuć zmiany i odśwież zapisane wartości. @@ -9141,9 +9503,9 @@ Często skutkuje wyższą jakością siatek beatowych, ale nie sprawdzi się dob &OK - + (no color) - + (bez koloru) @@ -9173,12 +9535,12 @@ Często skutkuje wyższą jakością siatek beatowych, ale nie sprawdzi się dob imported - + zaimportowane duplicate - Duplikuj + duplikat @@ -9343,29 +9705,29 @@ Często skutkuje wyższą jakością siatek beatowych, ale nie sprawdzi się dob EngineBuffer - + Soundtouch (faster) Soundtouch (szybszy) - + Rubberband (better) Rubberband (lepszy) - + Rubberband R3 (near-hi-fi quality) - + Rubberband R3 (praktycznie jakość hi-fi) - + Unknown, using Rubberband (better) - + Nieznane, użycie Rubberband (lepsze) - + Unknown, using Soundtouch - + Nieznane, użycie Soundtouch @@ -9406,7 +9768,7 @@ Często skutkuje wyższą jakością siatek beatowych, ale nie sprawdzi się dob Artist + Title - + Artysta + Tytuł @@ -9416,7 +9778,7 @@ Często skutkuje wyższą jakością siatek beatowych, ale nie sprawdzi się dob Artist + Album - + Artysta + Album @@ -9434,7 +9796,7 @@ Często skutkuje wyższą jakością siatek beatowych, ale nie sprawdzi się dob Artist + Title - + Artysta + Tytuł @@ -9444,7 +9806,7 @@ Często skutkuje wyższą jakością siatek beatowych, ale nie sprawdzi się dob Artist + Album - + Artysta + Album @@ -9462,7 +9824,7 @@ Często skutkuje wyższą jakością siatek beatowych, ale nie sprawdzi się dob Artist + Title - + Artysta + Tytuł @@ -9472,7 +9834,7 @@ Często skutkuje wyższą jakością siatek beatowych, ale nie sprawdzi się dob Artist + Album - + Artysta + Album @@ -9540,7 +9902,7 @@ Często skutkuje wyższą jakością siatek beatowych, ale nie sprawdzi się dob There was an error loading your iTunes library. Check the logs for details. - + Błąd przy ładowaniu biblioteki iTunes. Sprawdź logi, aby dowiedzieć się więcej. @@ -9548,12 +9910,12 @@ Często skutkuje wyższą jakością siatek beatowych, ale nie sprawdzi się dob Change color - + Zmień kolor Choose a new color - + Wybierz nowy kolor @@ -9561,32 +9923,32 @@ Często skutkuje wyższą jakością siatek beatowych, ale nie sprawdzi się dob Browse... - + Przeglądaj... No file selected - + Nie wybrano pliku Select a file - + Wybierz plik LegacySkinParser - - + + Safe Mode Enabled Shown when Mixxx is running in safe mode. Tryb Bezpieczny Włączony - - + + No OpenGL support. Shown when Spinny can not be displayed. Please keep @@ -9597,57 +9959,57 @@ Shown when VuMeter can not be displayed. Please keep Brak wsparcia OpenGL. - + activate aktywny - + toggle przełącz - + right w prawo - + left w lewo - + right small odrobinę w prawo - + left small odrobinę w lewo - + up w górę - + down w dół - + up small odrobinę w górę - + down small odrobinę w dół - + Shortcut Skrót @@ -9655,62 +10017,65 @@ Shown when VuMeter can not be displayed. Please keep Library - + This or a parent directory is already in your library. - + Ten albo nadrzędny katalog jest już w twojej Bibliotece. - + This or a listed directory does not exist or is inaccessible. Aborting the operation to avoid library inconsistencies - - + + This directory can not be read. - + Nie można odczytać tego katalogu. - + An unknown error occurred. Aborting the operation to avoid library inconsistencies - + Nieznany błąd. +Porzucam operację aby uniknąć niespójności w bibliotece. - + Can't add Directory to Library - + Nie można dodać katalogu do Biblioteki. - + Could not add <b>%1</b> to your library. %2 - + Nie można dodać <b>%1</b> do twojej biblioteki. + +%2 - + Can't remove Directory from Library - + Nie można usunąć katalogu z biblioteki. - + An unknown error occurred. - + Nieznany błąd. - + This directory does not exist or is inaccessible. - + Ten katalog nie istnieje albo jest niedostępny. - + Relink Directory - + Could not relink <b>%1</b> to <b>%2</b>. %3 @@ -9817,7 +10182,7 @@ Czy na pewno chcesz to nadpisać? Unset all - + Odznacz wszystko @@ -9876,12 +10241,12 @@ Czy na pewno chcesz to nadpisać? Ukryte utwory - + Export to Engine DJ - + Wyeksportuj do Engine DJ - + Tracks Ścieżki @@ -9889,37 +10254,37 @@ Czy na pewno chcesz to nadpisać? MixxxMainWindow - + Sound Device Busy Urządzenie dźwiękowe zajęte - + <b>Retry</b> after closing the other application or reconnecting a sound device <b>Ponów</b> po zamknięciu innej aplikacji lub podłącz ponownie urządzenie dźwiękowe - - - + + + <b>Reconfigure</b> Mixxx's sound device settings. <b>Rekonfiguruj</b> ustawienia urządzeń dźwiękowych Mixxx'a. - - + + Get <b>Help</b> from the Mixxx Wiki. Otrzymaj <b>Pomoc</b> na Wiki Mixxx'a. - - - + + + <b>Exit</b> Mixxx. - <b>Wyjdź<b> z Mixxx'a. + <b>Wyjdź</b> z Mixxx'a. - + Retry Ponów @@ -9929,212 +10294,212 @@ Czy na pewno chcesz to nadpisać? Skórka - + Allow Mixxx to hide the menu bar? - + Pozwolić Mixxx'owi schować pasek menu? - + Hide Always show the menu bar? - + Ukryj - + Always show - + Zawsze pokazuj - + The Mixxx menu bar is hidden and can be toggled with a single press of the <b>Alt</b> key.<br><br>Click <b>%1</b> to agree.<br><br>Click <b>%2</b> to disable that, for example if you don't use Mixxx with a keyboard.<br><br>You can change this setting any time in Preferences -> Interface.<br> Keep formatting tags <b> (bold text) and <br> (linebreak). %1 is the placeholder for the 'Always show' button label - + Ask me again - + Zapytaj mnie ponownie - - + + Reconfigure Rekonfiguruj - + Help Pomoc - - + + Exit Wyjdź - - + + Mixxx was unable to open all the configured sound devices. W przypadku błędów bazy danych po pomoc skontaktuj się z: - + Sound Device Error Błąd urządzenia dźwiękowego - + <b>Retry</b> after fixing an issue <b>Spróbuj ponownie</b> po rozwiązaniu problemu - + No Output Devices Brak urządzeń wyjściowych. - + Mixxx was configured without any output sound devices. Audio processing will be disabled without a configured output device. Mixxx został skonfigurowany bez jakichkolwiek wyjściowych urządzeń dźwiękowych. Przetwarzanie dźwięku będzie wyłączone do czasu skonfigurowania urządzenia wyjściowego. - + <b>Continue</b> without any outputs. <b>Kontynuuj</b> bez urządzeń wyjściowych. - + Continue Dalej - + Load track to Deck %1 Załaduj utwór do odtwarzacza %1 - + Deck %1 is currently playing a track. Odtwarzacz %1 aktualnie odtwarza utwór. - + Are you sure you want to load a new track? Czy na pewno chcesz załadować nowy utwór? - + There is no input device selected for this vinyl control. Please select an input device in the sound hardware preferences first. Nie zostało wybrane urządzenie do tej kontroli winylem. Proszę najpierw wybrać urządzenie wejściowe w Urządzeniach Audio. - + There is no input device selected for this passthrough control. Please select an input device in the sound hardware preferences first. Nie wybrano żadnego urządzenia wejściowego dla tej kontroli przejścia. Najpierw wybierz urządzenie wejściowe w preferencjach sprzętu dźwiękowego. - + There is no input device selected for this microphone. Do you want to select an input device? Dla tego mikrofonu nie wybrano żadnego urządzenia wejściowego. Czy chcesz wybrać urządzenie wejściowe? - + There is no input device selected for this auxiliary. Do you want to select an input device? Dla tego urządzenia pomocniczego nie wybrano żadnego urządzenia wejściowego. Czy chcesz wybrać urządzenie wejściowe? - + Scan took %1 - + Skanowanie trwało %1 - + No changes detected. - + Nie wykryto zmian. - - + + %1 tracks in total - + %1 ścieżek w sumie - + %1 new tracks found - + %1 nowych ścieżek znalezionych - + %1 moved tracks detected - + %1 przemieszczonych ścieżek wykryto - + %1 tracks are missing (%2 total) - + %1 ścieżek brak (%2 w sumie) - + %1 tracks have been rediscovered - + %1 ścieżek zostało ponownie odznalezionych - + Library scan finished - + Skanowanie biblioteki zakończone - + Error in skin file Błąd w pliku skórki. - + The selected skin cannot be loaded. Wybrana skórka nie może być załadowana. - + OpenGL Direct Rendering Renderowanie bezpośrednie OpenGL - + Direct rendering is not enabled on your machine.<br><br>This means that the waveform displays will be very<br><b>slow and may tax your CPU heavily</b>. Either update your<br>configuration to enable direct rendering, or disable<br>the waveform displays in the Mixxx preferences by selecting<br>"Empty" as the waveform display in the 'Interface' section. Renderowanie bezpośrednie nie jest włączone na Twoim komputerze.<br><br>Oznacza to, że wyświetlanie przebiegów będzie bardzo <br><b>powolne i może mocno obciążać procesor</b>. Zaktualizuj<br>konfigurację, aby włączyć bezpośrednie renderowanie, albo wyłącz<br>wyświetlanie przebiegu w preferencjach Mixxx, wybierając<br>„Pusty” jako sposób wyświetlania przebiegu w sekcji „Interfejs”. - - - + + + Confirm Exit Potwierdź zamknięcie - + A deck is currently playing. Exit Mixxx? Deck właśnie gra! Wyjść z Mixxx'a? - + A sampler is currently playing. Exit Mixxx? Sampler aktualnie odtwarza. Wyjśc z Mixxx? - + The preferences window is still open. Okno właściwości jest nadal otwarte. - + Discard any changes and exit Mixxx? Porzucić wszystkie zmiany i wyjść z Mixxx? @@ -10150,13 +10515,13 @@ Czy chcesz wybrać urządzenie wejściowe? PlaylistFeature - + Lock Zablokuj - - + + Playlists Listy odtwarzania @@ -10166,58 +10531,63 @@ Czy chcesz wybrać urządzenie wejściowe? Wymieszaj Listę Odtwarzania - - Unlock all playlists + + Adopt current order - + + Unlock all playlists + Odblokuj wszystkie playlisty + + + Delete all unlocked playlists - + Usuń wszystkie odblokowane playlisty - + Unlock Odblokuj - - + + Confirm Deletion - + Potwierdź usunięcie - + Do you really want to delete all unlocked playlists? - + Czy napewno chcesz usunąć wszystkie odblokowane playlisty? - + Deleting %1 unlocked playlists.<br>This operation can not be undone! - + Usuwanie %1 odblokowanych playlists.<br>Nie można tego cofnąć! - + Playlists are ordered lists of tracks that allow you to plan your DJ sets. - + Playlisty są to uporządkowane listy ścieżek, które pozwalają planować swoje DJ sety. - + It may be necessary to skip some tracks in your prepared playlist or add some different tracks in order to maintain the energy of your audience. - + Może być niezbędne pominąć niektóre ścieżki w przygotowanej playliście lub dodanie niektórych aby utrzymać energię twojej widowni. - + Some DJs construct playlists before they perform live, but others prefer to build them on-the-fly. Niektórzy didżeje tworzą playlisty przed ich występem na żywo, natomiast inni preferują tworzyć je w locie. - + When using a playlist during a live DJ set, remember to always pay close attention to how your audience reacts to the music you've chosen to play. Przy zastosowaniu list odtwarzania podczas występu na żywo, pamiętaj, aby zawsze zwracać baczną uwagę na to, jak publiczność reaguje na muzykę, którą wybrałeś do gry. - + Create New Playlist Utwórz nową listę odtwarzania @@ -10316,59 +10686,59 @@ Czy chcesz wybrać urządzenie wejściowe? QMessageBox - + Upgrading Mixxx Aktualizuję Mixxx - + Mixxx now supports displaying cover art. Do you want to scan your library for cover files now? Mixxx umożliwia teraz wyświetlanie okładek albumów. Czy chcesz przeskanować Twoją bibliotekę plików teraz? - + Scan Skanuj - + Later Później - + Upgrading Mixxx from v1.9.x/1.10.x. Aktualizowanie Mixxx'a z v1.9.x/1.10.x. - + Mixxx has a new and improved beat detector. Mixxx ma nowy ulepszony detektor beat'ów. - + When you load tracks, Mixxx can re-analyze them and generate new, more accurate beatgrids. This will make automatic beatsync and looping more reliable. Kiedy wczytujesz ścieżki Mixxx może je ponownie zanalizować i wygenerować nowe, dokładniejsze siatki beat'u. Sprawi to, że automatyczna synchronizacja beatu i zapętlanie będą bardziej niezawodne. - + This does not affect saved cues, hotcues, playlists, or crates. To nie wpływa na zapisane wskaźniki cue, hotcue, listy odtwarzania czy skrzynki. - + If you do not want Mixxx to re-analyze your tracks, choose "Keep Current Beatgrids". You can change this setting at any time from the "Beat Detection" section of the Preferences. Jeżeli nie chcesz ponownie analizować ścieżek wybierz "Zachowaj bierzące siatki beatu". Możesz zawsze zmienić te ustawienia w sekcji "Detekcja Beatu" w Ustawieniach - + Keep Current Beatgrids Zachowaj Aktualne Siatki Beatu - + Generate New Beatgrids Stwórz Nowe Siatki Beatu @@ -10482,69 +10852,82 @@ Czy chcesz przeskanować Twoją bibliotekę plików teraz? 14-bit (MSB) - + Main + Audio path indetifier - + Booth + Audio path indetifier Oba - + Headphones + Audio path indetifier Słuchawki - + Left Bus + Audio path indetifier Magistrala Lewa - + Center Bus + Audio path indetifier Magistrala Środkowa - + Right Bus + Audio path indetifier Magistrala Prawa - + Invalid Bus + Audio path indetifier Nieprawidłowa Magistrala - + Deck + Audio path indetifier Odtwarzacz - + Record/Broadcast + Audio path indetifier Nagrywanie/Nadawanie - + Vinyl Control + Audio path indetifier Kontrola Winylem - + Microphone + Audio path indetifier Mikrofon - + Auxiliary + Audio path indetifier Zewnętrzne - + Unknown path type %1 + Audio path Nieznany typ ścieżki %1 @@ -10881,47 +11264,49 @@ With width at zero, this allows for manually sweeping over the entire delay rang Szerokość - + Metronome Metronom - + + The Mixxx Team - + Adds a metronome click sound to the stream Dodaj dźwięk metronomu do strumienia - + BPM BPM - + Set the beats per minute value of the click sound Ustaw liczbę uderzeń na minutę dźwięku kliknięcia - + Sync Synchronizuj - + Synchronizes the BPM with the track if it can be retrieved Synchronizuje BPM ze ścieżką, jeśli można ją odzyskać - + + Gain - + Set the gain of metronome click sound @@ -11410,7 +11795,7 @@ Higher values result in less attenuation of high frequencies. Bitrate Mode - + Tryb bitrate'u @@ -11699,22 +12084,22 @@ Fully right: end of the effect period MP3 encoding is not supported. Lame could not be initialized - + Kodowanie MP3 nie jest obsługiwane. Lame nie mógł zostać uruchomiony. OGG recording is not supported. OGG/Vorbis library could not be initialized. - + Nagrywanie OGG nie jest obsługiwane. Biblioteka OGG/Vorbis nie mogła zostać uruchomiona. - - + + encoder failure - + błąd encoder'a - - + + Failed to apply the selected settings. @@ -11880,7 +12265,7 @@ Hint: compensates "chipmunk" or "growling" voices (empty) - + (pusty) @@ -11912,23 +12297,94 @@ and the processed output signal as close as possible in perceived loudness Off - + Wył. On + Wł. + + + + Auto Gain Control + + + + + AGC + + Auto Gain Control (AGC) automatically adjusts the gain of an audio signal to maintain a consistent output level. + + + + Threshold (dBFS) + Threshold + + + The Threshold knob adjusts the level above which the effect starts enhancing the input signal + + + + + Target (dBFS) + + + + + Target + + + + + The Target knob adjusts the desired target level of the output signal + + + + + Gain (dB) + + + + + The Gain knob adjusts the maximum amount of gain that the effect will apply + + + + + Knee (dB) + + + + + The Knee knob defines the range around the Threshold where gain changes are applied gradually, +ensuring smooth transitions and avoiding abrupt level shifts. + + + + + The Attack knob sets the time that determines how fast the auto gain +will set in once the signal exceeds the threshold + + + + + The Release knob sets the time that determines how fast the auto gain will recover from the gain +adjustment once the signal falls under the threshold. Depending on the input signal, short release times +may introduce a 'pumping' effect and/or distortion. + + The Threshold knob adjusts the level above which the compressor starts attenuating the input signal @@ -11957,6 +12413,7 @@ At a ratio of 1:1 no compression is happening, as the input is exactly the outpu + Knee @@ -11967,14 +12424,16 @@ At a ratio of 1:1 no compression is happening, as the input is exactly the outpu + Attack (ms) - + Atak (ms) + Attack - + Atak @@ -11983,11 +12442,13 @@ will set in once the signal exceeds the threshold + Release (ms) + Release @@ -12016,14 +12477,14 @@ may introduce a 'pumping' effect and/or distortion. - + built-in - + wbudowany - + missing - + brakujący @@ -12033,7 +12494,7 @@ may introduce a 'pumping' effect and/or distortion. Warning! - + Uwaga! @@ -12056,44 +12517,44 @@ may introduce a 'pumping' effect and/or distortion. - + Empty - + Pusty - + Simple - + Filtered - + Przefiltrowane - + HSV - + HSV - + VSyncTest - + VSyncTest - + RGB - + RGB - + Stacked - + Unknown - + Nieznany @@ -12109,12 +12570,12 @@ may introduce a 'pumping' effect and/or distortion. Low Disk Space Warning - + Ostrzeżenie Mało miejsca na dysku There is less than 1 GiB of usable space in the recording folder - + Jest mniej niż 1 GiB wolnej przestrzeni w folderze na nagrania. @@ -12134,7 +12595,7 @@ may introduce a 'pumping' effect and/or distortion. You can change the location of the Recordings folder in Preferences -> Recording. - + Możesz zmienić lokalizację katalogu z Nagraniami w Ustawienia > Nagrywanie. @@ -12153,7 +12614,7 @@ may introduce a 'pumping' effect and/or distortion. Rekordbox - + Rekordbox @@ -12198,7 +12659,7 @@ may introduce a 'pumping' effect and/or distortion. (loading) Rekordbox - + (ładowanie) Rekordbox @@ -12255,7 +12716,7 @@ may introduce a 'pumping' effect and/or distortion. Serato - + Serato @@ -12293,7 +12754,7 @@ may introduce a 'pumping' effect and/or distortion. Mark all tracks played - + Zaznacz wszystkie ścieżki jako odtworzone @@ -12340,205 +12801,205 @@ may introduce a 'pumping' effect and/or distortion. Do you really want to delete all unlocked playlist from <b>%1</b>?<br><br> %1 is the year <b> + </b> are used to make the text in between bold in the popup <br> is a linebreak - + Czy napewno chcesz usunąć wszystkie odblokowane playlisty z <b>%1</b>?<br><br> Deleting %1 playlists from <b>%2</b>.<br><br> %1 is the number of playlists to be deleted %2 is the year <b> + </b> are used to make the text in between bold in the popup <br> is a linebreak - + Usuwanie %1 playlist z <b>%2</b>.<br><br> ShoutConnection - - + + Mixxx encountered a problem Mixxx napotkał problem - + Could not allocate shout_t Nie mogę alokować shout_t - + Could not allocate shout_metadata_t Nie mogę alokować shout_metadata_t - + Error setting non-blocking mode: Błąd podczas ustawiania trybu non-blocking: - + Error setting tls mode: - + Bład ustawień trybu TLS: - + Error setting hostname! Błąd ustawienia nazwy serwera! - + Error setting port! Błąd ustawienia portu! - + Error setting password! Błąd ustawienia hasła! - + Error setting mount! Błąd ustawienia podłączenia! - + Error setting username! Błąd ustawienia nazwy użytkownika! - + Error setting stream name! Błąd ustawienia nazwy strumienia! - + Error setting stream description! Błąd ustawiania opisu strumienia! - + Error setting stream genre! Błąd ustawienia gartunku strumienia! - + Error setting stream url! Błąd ustawiania adresu url strumienia! - + Error setting stream IRC! - + Błąd ustawienia strumienia IRC! - + Error setting stream AIM! - + Błąd ustawienia strumienia AIM! - + Error setting stream ICQ! - + Błąd ustawienia strumienia ICQ! - + Error setting stream public! Błąd ustawiania strumienia publicznego! - + Unknown stream encoding format! - + Nieznany format kodowania strumienia! - + Use a libshout version with %1 enabled - + Error setting stream encoding format! - + Broadcasting at 96 kHz with Ogg Vorbis is not currently supported. Please try a different sample rate or switch to a different encoding. - + See https://github.com/mixxxdj/mixxx/issues/5701 for more information. - + Zobacz https://github.com/mixxxdj/mixxx/issues/5701 aby dowiedzieć się więcej. - + Unsupported sample rate - + Error setting bitrate Błąd ustawienia przepustowości! - + Error: unknown server protocol! Błąd: nieznany protokół serwera! - + Error: Shoutcast only supports MP3 and AAC encoders - + Error setting protocol! błąd ustawienia protokołu! - + Network cache overflow - + Connection error Błąd połączenia - + One of the Live Broadcasting connections raised this error:<br><b>Error with connection '%1':</b><br> - + Connection message - + Wiadomość połączenia - + <b>Message from Live Broadcasting connection '%1':</b><br> - + Lost connection to streaming server and %1 attempts to reconnect have failed. Utracono połączenie z serwerem strumieniowym. Liczba nieudanych połączeń: %1 - + Lost connection to streaming server. Utracono połączenie z serwerem strumieniowym. - + Please check your connection to the Internet. Sprawdź swoje połączenie z Internetem. - + Can't connect to streaming server Nie można połączyć się z serwerem strumienia - + Please check your connection to the Internet and verify that your username and password are correct. Sprawdź połączenie z Internetem i zweryfikuj nazwę użytkownika i hasło @@ -12546,7 +13007,7 @@ may introduce a 'pumping' effect and/or distortion. SoftwareWaveformWidget - + Filtered Przefiltrowane @@ -12554,23 +13015,23 @@ may introduce a 'pumping' effect and/or distortion. SoundManager - - + + a device urządzenie - + An unknown error occurred Wystąpił nieznany błąd - + Two outputs cannot share channels on "%1" - + Error opening "%1" Wystąpił błąd podczas otwierania "%1" @@ -12633,32 +13094,32 @@ may introduce a 'pumping' effect and/or distortion. Fingerprinting track - + Zbieranie odcisków ścieżki Reading track for fingerprinting failed. - + Odczyt odcisków ścieżki nieudany. Identifying track through AcoustID - + Indetyfikowanie ścieżki poprzez AcoustID Could not identify track through AcoustID. - + Nie można zidentyfikować ścieżki poprzez AcoustID. Could not find this track in the MusicBrainz database. - + Nie można znaleść ścieżki w bazie danych MusicBrainz. Retrieving metadata from MusicBrainz - + Odbieranie metadanych z MusicBrainz @@ -12681,7 +13142,7 @@ may introduce a 'pumping' effect and/or distortion. Double-click - + Podwójne-kliknięcie @@ -12696,12 +13157,12 @@ may introduce a 'pumping' effect and/or distortion. loop active - + pętla aktywna loop inactive - + pętla nieaktywna @@ -12755,7 +13216,7 @@ may introduce a 'pumping' effect and/or distortion. - + Spinning Vinyl Obracajacy się vinyl @@ -12767,7 +13228,7 @@ may introduce a 'pumping' effect and/or distortion. Right click to show cover art of loaded track. - + Użyj prawego przycisku myszy aby pokazać okładkę załadowanej ścieżki. @@ -12842,12 +13303,12 @@ may introduce a 'pumping' effect and/or distortion. Booth Gain - + Wzmocnienie obu Adjusts the booth output gain. - + Reguluje wzmocnienie na wyjściu obu. @@ -12937,7 +13398,7 @@ may introduce a 'pumping' effect and/or distortion. - + Cover Art Okładka @@ -12969,12 +13430,12 @@ may introduce a 'pumping' effect and/or distortion. Show Effects - + Pokaż efekty Show or hide the effects. - + Pokaż lub ukryj efekty @@ -13127,243 +13588,243 @@ may introduce a 'pumping' effect and/or distortion. Utrzymuje wzmocnienie tonów niskich na pozimie 0 kiedy jestaktywne. - + Displays the tempo of the loaded track in BPM (beats per minute). Wyświetla prędkość załadowanego utworu w uderzeniach na minutę (BPM). - + Tempo Prędkosc - + Key The musical key of a track Tonacja - + BPM Tap Wstukanie rytmu (BPM Tap) - + When tapped repeatedly, adjusts the BPM to match the tapped BPM. Uderzane cyklicznie reguluje tempo utworu (BPM) aby pasowało do wybitego rytmu. - + Adjust BPM Down - + When tapped, adjusts the average BPM down by a small amount. - + Adjust BPM Up - + When tapped, adjusts the average BPM up by a small amount. - + Adjust Beats Earlier - + When tapped, moves the beatgrid left by a small amount. - + Adjust Beats Later - + When tapped, moves the beatgrid right by a small amount. - + Tempo and BPM Tap Tempo i BPM Tap - + Show/hide the spinning vinyl section. Pokaż/ukryj sekcję obracającego się vinyla - + Keylock Blokada przycisków - + Toggling keylock during playback may result in a momentary audio glitch. - + Toggle visibility of Loop Controls - + Toggle visibility of Beatjump Controls - + Toggle visibility of Rate Control - + Toggle visibility of Key Controls - + (while previewing) - + Places a cue point at the current position on the waveform. - + Stops track at cue point, OR go to cue point and play after release (CUP mode). - + Set cue point (Pioneer/Mixxx/Numark mode), set cue point and play after release (CUP mode) OR preview from it (Denon mode). - + Is latching the playing state. - + Seeks the track to the cue point and stops. - + Play Odtwarzaj - + Plays track from the cue point. - + Sends the selected channel's audio to the headphone output, selected in Preferences -> Sound Hardware. - + (This skin should be updated to use Sync Lock!) - + Enable Sync Lock - + Tap to sync the tempo to other playing tracks or the sync leader. - + Enable Sync Leader - + When enabled, this device will serve as the sync leader for all other decks. - + This is relevant when a dynamic tempo track is loaded to a sync leader deck.In that case, other synced devices will adopt the changing tempo. - + Changes the track playback speed (affects both the tempo and the pitch). If keylock is enabled, only the tempo is affected. - + Tempo Range Display - + Displays the current range of the tempo slider. - + Un-ejects when no track is loaded, i.e. reloads the track that was ejected last (of any deck). - + Delete selected hotcue. - + Track Comment - + Displays the comment tag of the loaded track. - + Opens separate artwork viewer. - + Effect Chain Preset Settings - + Show the effect chain settings menu for this unit. - + Select and configure a hardware device for this input - + Recording Duration @@ -13586,947 +14047,982 @@ may introduce a 'pumping' effect and/or distortion. - + When tapped repeatedly, adjusts the tempo to match the tapped BPM. + + + Click to open the tempo/BPM editor + + + + + It also shows a colored bar if Key colors are enabled in the Preferences. + + + The bar will be split vertically if the track's key is in between full keys. + + + + Tempo Tap - + Rate Tap and BPM Tap - + + Set Tempo + + + + + Set the desired tempo in BPM. If the track currently has no BPM detected, set the desired tempo in percent. + + + + Adjust beatgrid by exactly one half beat. Usable only on tracks with constant tempo. - + Revert last BPM/Beatgrid Change - + Revert last BPM/Beatgrid Change of the loaded track. - - + + Toggle the BPM/beatgrid lock - + Tempo and Rate Tap - + Tempo, Rate Tap and BPM Tap - + Shift cues earlier - - + + Shift cues imported from Serato or Rekordbox if they are slightly off time. - + Left click: shift 10 milliseconds earlier - + Right click: shift 1 millisecond earlier - + Shift cues later - + Left click: shift 10 milliseconds later - + Right click: shift 1 millisecond later - - - + + + Drag a Hotcue button here to continue playing after releasing the Hotcue. - + Hint: Change the default cue mode in Preferences -> Decks. - + Mutes the selected channel's audio in the main output. - + Main mix enable - + Hold or short click for latching to mix this input into the main output. - + + Reloads the last replaced track. If no track is loaded reloads the second-last ejected track. + + + + If hotcue is a loop cue, toggles the loop and jumps to if the loop is behind the play position. - + If the play position is inside an active loop, stores the loop as loop cue. - + Drag this button onto another Hotcue button to move it there (change its index). If the other hotcue is set, the two are swapped. - + Expand/Collapse Samplers - + Toggle expanded samplers view. - + Displays the duration of the running recording. - + Auto DJ is active - + Red for when needle skip has been detected. - + Hot Cue - Track will seek to nearest previous hotcue point. - + Sets the track Loop-In Marker to the current play position. - + Press and hold to move Loop-In Marker. - + Jump to Loop-In Marker. - + Sets the track Loop-Out Marker to the current play position. - + Press and hold to move Loop-Out Marker. - + Jump to Loop-Out Marker. - + If the track has no beats the unit is seconds. - + Beatloop Size - + Select the size of the loop in beats to set with the Beatloop button. - + Changing this resizes the loop if the loop already matches this size. - + Halve the size of an existing beatloop, or halve the size of the next beatloop set with the Beatloop button. - + Double the size of an existing beatloop, or double the size of the next beatloop set with the Beatloop button. - + Start a loop over the set number of beats. - + Temporarily enable a rolling loop over the set number of beats. - + Beatloop Anchor - + Define whether the loop is created and adjusted from its staring point or ending point. - + Beatjump/Loop Move Size - + Select the number of beats to jump or move the loop with the Beatjump Forward/Backward buttons. - + Beatjump Forward - + Jump forward by the set number of beats. - + Move the loop forward by the set number of beats. - + Jump forward by 1 beat. - + Move the loop forward by 1 beat. - + Beatjump Backward - + Jump backward by the set number of beats. - + Move the loop backward by the set number of beats. - + Jump backward by 1 beat. - + Move the loop backward by 1 beat. - + Reloop - + If the loop is ahead of the current position, looping will start when the loop is reached. - + Works only if Loop-In and Loop-Out Marker are set. - + Enable loop, jump to Loop-In Marker, and stop playback. - + Displays the elapsed and/or remaining time of the track loaded. - + Click to toggle between time elapsed/remaining time/both. - + Hint: Change the time format in Preferences -> Decks. - + Show/hide intro & outro markers and associated buttons. - + + Ensure all waveforms to have the same height across all channels. By default, when displaying the stem controls, waveform for channel that have no stem may render with a shorter height in order to honor the waveform container size you have requested.. + + + + Intro Start Marker Start Intro Marker - - - - + + + + If marker is set, jumps to the marker. - - - - + + + + If marker is not set, sets the marker to the current play position. - - - - + + + + If marker is set, clears the marker. - + Intro End Marker Stop Intro Marker - + Outro Start Marker Start Outro Marker - + Outro End Marker Stop Outro Marker - + Mix Mix - + Adjust the mixing of the dry (input) signal with the wet (output) signal of the effect unit - + D/W mode: Crossfade between dry and wet - + D+W mode: Add wet to dry - + Mix Mode - + Adjust how the dry (input) signal is mixed with the wet (output) signal of the effect unit - + Dry/Wet mode (crossed lines): Mix knob crossfades between dry and wet Use this to change the sound of the track with EQ and filter effects. - + Dry+Wet mode (flat dry line): Mix knob adds wet to dry Use this to change only the effected (wet) signal with EQ and filter effects. - + Route the main mix through this effect unit. - + Route the left crossfader bus through this effect unit. - + Route the right crossfader bus through this effect unit. - + Right side active: parameter moves with right half of Meta Knob turn - + Stem Label - + Name of the stem stored in the stem file - + Text is displayed in the stem color stored in the stem file - + this stem color is also used for the waveform of this stem - + Stem Mute - + Toggle the stem mute/unmuted - + Stem Volume Knob - + Adjusts the volume of the stem - + Skin Settings Menu - + Show/hide skin settings menu - + Save Sampler Bank Zapisz Sampler Bank - + Save the collection of samples loaded in the samplers. - + Load Sampler Bank Wczytaj Sampler Bank - + Load a previously saved collection of samples into the samplers. - + Show Effect Parameters Pokaż parametry efektu - + Enable Effect - + Meta Knob Link - + Set how this parameter is linked to the effect's Meta Knob. - + Meta Knob Link Inversion - + Inverts the direction this parameter moves when turning the effect's Meta Knob. - + Super Knob Super Gałka - + Next Chain Następny łańcuch - + Previous Chain Poprzedni Łańcuch - + Next/Previous Chain Następny/Poprzedni Łańcuch - + Clear Wyczyść - + Clear the current effect. Wyczyść obecny efekt. - + Toggle Przełącz - + Toggle the current effect. Przełącz obecny efekt. - + Next Następny - + Clear Unit Wyczyść Jednostkę - + Clear effect unit. - + Show/hide parameters for effects in this unit. - + Toggle Unit Przełącz moduł - + Enable or disable this whole effect unit. - + Controls the Meta Knob of all effects in this unit together. - + Load next effect chain preset into this effect unit. - + Load previous effect chain preset into this effect unit. - + Load next or previous effect chain preset into this effect unit. - - - - - - - - - + + + + + + + + + Assign Effect Unit - + Assign this effect unit to the channel output. - + Route the headphone channel through this effect unit. - + Route this deck through the indicated effect unit. - + Route this sampler through the indicated effect unit. - + Route this microphone through the indicated effect unit. - + Route this auxiliary input through the indicated effect unit. - + The effect unit must also be assigned to a deck or other sound source to hear the effect. - + Switch to the next effect. Przełącz do następnego efektu - + Previous Wstecz - + Switch to the previous effect. Przełącz do poprzedniego efektu - + Next or Previous Następny lub Poprzedni - + Switch to either the next or previous effect. Przełącz do następnego lub poprzedniego efektu. - + Meta Knob Pokrętło Meta - + Controls linked parameters of this effect - + Effect Focus Button - + Focuses this effect. - + Unfocuses this effect. - + Refer to the web page on the Mixxx wiki for your controller for more information. - + Effect Parameter Parametr efektu - + Adjusts a parameter of the effect. Reguluje parametr efektu. - + Inactive: parameter not linked - + Active: parameter moves with Meta Knob - + Left side active: parameter moves with left half of Meta Knob turn - + Left and right side active: parameter moves across range with half of Meta Knob turn and back with the other half - - + + Equalizer Parameter Kill - - + + Holds the gain of the EQ to zero while active. - + Quick Effect Super Knob - + Quick Effect Super Knob (control linked effect parameters). - + Hint: Change the default Quick Effect mode in Preferences -> Equalizers. - + Equalizer Parameter Parametr Equalizera - + Adjusts the gain of the EQ filter. Reguluje moc filtru korektora. - + Hint: Change the default EQ mode in Preferences -> Equalizers. Podpowiedź: Zmień domyślny tryb korektora w Ustawienia -> Korekcja graficzna - - + + Adjust Beatgrid Reguluje siatkę uderzeń - + Adjust beatgrid so the closest beat is aligned with the current play position. Ustawia siatkę uderzeń tak aby najbliższa linia siatki została wyrównana do aktualnej pozycji odtwarzania. - - + + Adjust beatgrid to match another playing deck. Skoryguj siatkę tempa aby pasowała do drugiego grającego odtwarzacza. - + If quantize is enabled, snaps to the nearest beat. Jeśli kwantyzacja jest włączona, przeskakuje do najbliższego uderzenia. - + Quantize Kwantyzuje - + Toggles quantization. Przełącza kwantyzację. - + Loops and cues snap to the nearest beat when quantization is enabled. Pętle i wskaźniki przeuwają się do najbliższego uderzenia kiedy kwantyzacja jest włączona. - + Reverse Wstecz - + Reverses track playback during regular playback. Odwraca kierunek odtwarzania podczas odtwarzania utworu. - + Puts a track into reverse while being held (Censor). - + Playback continues where the track would have been if it had not been temporarily reversed. - - - + + + Play/Pause Odtwórz/Wstrzymaj - + Jumps to the beginning of the track. Skacze do początku utworu. - + Syncs the tempo (BPM) and phase to that of the other track, if BPM is detected on both. - + Syncs the tempo (BPM) to that of the other track, if BPM is detected on both. - + Sync and Reset Key - + Increases the pitch by one semitone. Zwiększa odstrojenie o jeden półton. - + Decreases the pitch by one semitone. Zmniejsza odstrojenie o jeden półton. - + Enable Vinyl Control Włącz kontrolę vinylem - + When disabled, the track is controlled by Mixxx playback controls. - + When enabled, the track responds to external vinyl control. - + Enable Passthrough - + Indicates that the audio buffer is too small to do all audio processing. Wskazuje, że bufor audio jest za mały, aby wykonać całe przetwarzanie audio. - + Displays cover artwork of the loaded track. Wyświetla okładkę albumu załadowanego utworu. - + Displays options for editing cover artwork. Wyświetla opcje edycji okładki albumu. - + Star Rating Ranking Gwiazdek - + Assign ratings to individual tracks by clicking the stars. Przyporządkowuje ranking do poszczególnych utworów przez kliknięcie gwiazdek. @@ -14661,33 +15157,33 @@ Use this to change only the effected (wet) signal with EQ and filter effects. - + Prevents the pitch from changing when the rate changes. - + Changes the number of hotcue buttons displayed in the deck - + Starts playing from the beginning of the track. Rozpoczyna odtwarzanie od początku utworu. - + Jumps to the beginning of the track and stops. Skacze do początku utworu i zatrzymuje. - - + + Plays or pauses the track. Odtwarza lub pauzuje utwór. - + (while playing) (podczas odtwarzania) @@ -14707,215 +15203,215 @@ Use this to change only the effected (wet) signal with EQ and filter effects. - + (while stopped) (kiedy zatrzymane) - + Cue Wskaźnik (Cue) - + Headphone Słuchawka - + Mute Wycisz - + Old Synchronize - + Syncs to the first deck (in numerical order) that is playing a track and has a BPM. Synchronizuje do pierwszego odtwarzacza (w porządku numerycznym) który gra i ma określony BPM. - + If no deck is playing, syncs to the first deck that has a BPM. Jeśli żaden odtwarzacz nie gra, synchronizuje do pierwszego odtwarzacza który ma podany BPM. - + Decks can't sync to samplers and samplers can only sync to decks. Odtwarzaczy nie można synchronizować do samplerów, a samplery można synchronizować tylko do odtwarzaczy. - + Hold for at least a second to enable sync lock for this deck. - + Decks with sync locked will all play at the same tempo, and decks that also have quantize enabled will always have their beats lined up. - + Resets the key to the original track key. Resetuj klucz do oryginalnego klucza utworu. - + Speed Control Kontrola prędkości - - - + + + Changes the track pitch independent of the tempo. Zmienia wysokość tonu utworu nie zależnie od tempa. - + Increases the pitch by 10 cents. - + Decreases the pitch by 10 cents. - + Pitch Adjust Dostosowanie Tonu - + Adjust the pitch in addition to the speed slider pitch. - + Opens a menu to clear hotcues or edit their labels and colors. - + Drag this button onto a Play button while previewing to continue playback after release. - + Dragging with Shift key pressed will not start previewing the hotcue. - + Record Mix Zarejestruj mix - + Toggle mix recording. - + Enable Live Broadcasting Włącz Nadawane na Żywo - + Stream your mix over the Internet. Transmituj swój mix przez Internet. - + Provides visual feedback for Live Broadcasting status: - + disabled, connecting, connected, failure. - + When enabled, the deck directly plays the audio arriving on the vinyl input. - + Playback will resume where the track would have been if it had not entered the loop. Odtwarzanie zostanie wznowione tam, gdzie byłoby gdyby nie było ustawionej pętli. - + Loop Exit Wyjście z pętli - + Turns the current loop off. Wyłącza atualny loop. - + Slip Mode Tryb poślizgu - + When active, the playback continues muted in the background during a loop, reverse, scratch etc. Kiedy aktywne, odtwarzanie jest kontynuowane w tle wyciszone podczas trwania pętli, odtwarzania w tył, skreczowania itp. - + Once disabled, the audible playback will resume where the track would have been. Kiedy nieaktywne, odtwarzanie szłyszalne, będzie kontynuowane tam gdzie ścieżki znajdowały się oryginalnie. - + Track Key The musical key of a track Tonacja Ścieżki - + Displays the musical key of the loaded track. Pokazuje tonację załadowanej ścieżki. - + Clock Zegar - + Displays the current time. Wyświetla aktualny czas. - + Audio Latency Usage Meter Wskaźnik użycia bufora opóźnienia audio. - + Displays the fraction of latency used for audio processing. - + A high value indicates that audible glitches are likely. - + Do not enable keylock, effects or additional decks in this situation. - + Audio Latency Overload Indicator Wskaźnik przeładownia bufora opóźnienia audio. @@ -14955,259 +15451,259 @@ Use this to change only the effected (wet) signal with EQ and filter effects.Aktywuj kontrolę vinylem z Menu -> Opcje - + Displays the current musical key of the loaded track after pitch shifting. - + Fast Rewind Szybkie cofanie - + Fast rewind through the track. Szybkie przewijanie (do tyłu) przez ścieżkę. - + Fast Forward Przewiń do przodu - + Fast forward through the track. Szybkie przewijanie (do przodu) przez ścieżkę. - + Jumps to the end of the track. Przeskakuje do końca utworu. - + Sets the pitch to a key that allows a harmonic transition from the other track. Requires a detected key on both involved decks. - - - + + + Pitch Control Kontrola wysoości tonu - + Pitch Rate Wysokość tonu. - + Displays the current playback rate of the track. Wyświetla aktualną prędkość utworu. - + Repeat Powtórz - + When active the track will repeat if you go past the end or reverse before the start. - + Eject Wysuń - + Ejects track from the player. Wysuwa ścieżkę z odtwarzacza. - + Hotcue Szybiki znacznik (Hotcue) - + If hotcue is set, jumps to the hotcue. Jeżeli Hotcue jest ustalony, przeskakuje do Hotcue. - + If hotcue is not set, sets the hotcue to the current play position. Jeżeli Hotcue nie jest ustalony, ustala Hotcue na pozycję aktualnie odtwarzaną. - + Vinyl Control Mode Tryb kontroli vinylem - + Absolute mode - track position equals needle position and speed. Tryb bezwzględny - pozycja utworu jest równa pozycji i prędkosci igły. - + Relative mode - track speed equals needle speed regardless of needle position. Tryb względny - Prędkość utworu jest równa prędkości igły niezależnie od jej pozycji. - + Constant mode - track speed equals last known-steady speed regardless of needle input. Tryb stały - prędkość utworu jest równa ostatniej stałej prędkości igły niezależnie od wejścia. - + Vinyl Status Status vinyla - + Provides visual feedback for vinyl control status: Pokazuje wizualne sprzężenie zwrotne stanu kontroli vinylem. - + Green for control enabled. Zielone jeśli kontrola jest włączona. - + Blinking yellow for when the needle reaches the end of the record. Mrugające żółte kiedy igła osiągnie koniec nagrania. - + Loop-In Marker Znacznik początku pętli - + Loop-Out Marker Znacznik końca pętli. - + Loop Halve Połowa pętli - + Halves the current loop's length by moving the end marker. Skraca o połowę aktualną petlę przenosząc znacznik końca pętli. - + Deck immediately loops if past the new endpoint. Odtwarzacz natychmiast zapętla się jeśli przekroczy nowy punkt końcowy. - + Loop Double Podwojenie pętli - + Doubles the current loop's length by moving the end marker. Podwaja długość aktualnej pętli przenosząc znacznik końca pętli. - + Beatloop - + Toggles the current loop on or off. Przełacza biezacą pętlę (Wł./Wył.) - + Works only if Loop-In and Loop-Out marker are set. Dziala tylko iedy znaczniki początku i końca petli są ustawione. - + Vinyl Cueing Mode Tryb CUE Vinyla - + Determines how cue points are treated in vinyl control Relative mode: Ustala jak pozycje CUE są traktowane w trybie względnej kontroli vinyla: - + Off - Cue points ignored. OFF - Pozycje CUE ignorowane. - + One Cue - If needle is dropped after the cue point, track will seek to that cue point. One Cue - Kiedy igła zostaje opuszczona po pozycji CUE, przewinie ścieżkę do tej pozycji CUE. - + Track Time Całkowity czas utworu - + Track Duration Czas trwania utworu - + Displays the duration of the loaded track. Wyświetla czas trwania załadowanego utworu. - + Information is loaded from the track's metadata tags. Informacja jest załadowana z metadanych utworu. - + Track Artist Wykonawca utworu. - + Displays the artist of the loaded track. Wyświetla wykonawcę załadowanego utworu. - + Track Title Tytuł utworu - + Displays the title of the loaded track. Wyświetla tytuł załadowanego utworu. - + Track Album Album utworu - + Displays the album name of the loaded track. Wyświetla tytuł albumu, z którego pochodzi utwór. - + Track Artist/Title Wykonawca/tytuł utworu - + Displays the artist and title of the loaded track. Wyświetla nazwę wykonawcy oraz tytuł załadowanego utworu. @@ -15436,47 +15932,75 @@ This can not be undone! WCueMenuPopup - + Cue number Numer CUE - + Cue position Pozycja CUE - + Edit cue label - + Label... Okładka... - + Delete this cue - - Toggle this cue type between normal cue and saved loop + + Turn this cue into a regular hotcue + + + + + Turn this cue into a saved loop + + + + + Left-click: Use the old size if known or the current beatloop size as the loop size + + + + + Right-click: Use the current play position as new loop end if it is after the cue - - Left-click: Use the old size or the current beatloop size as the loop size + + Turn this cue into a saved forward jump. + + is a linebreak. Try to not to extend the translation beyond the length of the longest source line so the tooltip remains compact. - - Right-click: Use the current play position as loop end if it is after the cue + + Turn this cue into a saved backward jump (one shot loop). - + + Left-click: Use the old size if known or the current play position as jump start position +If this is already a jump cue, swap the jump position and the cue/target position. + + + + + Right-click: use current play position as new jump start position + + + + Hotcue #%1 Hotcue #%1 @@ -15778,171 +16302,181 @@ This can not be undone! + Show Auto DJ + + + + + Switch to the Auto DJ view. + + + + &Full Screen &Pełny Ekran - + Display Mixxx using the full screen Włącz Mixxx w trybie pełnoekranowym - + &Options &Opcje - + &Vinyl Control Kontrola &Winylem - + Use timecoded vinyls on external turntables to control Mixxx Użyj "timecoded vinyls" na zewnętrznych gramofonach aby kontrolować Mixxx'a - + Enable Vinyl Control &%1 Włącz Kontrolę Winylem &%1 - + &Record Mix &Nagraj Mix - + Record your mix to a file Nagraj swój mix do pliku - + Ctrl+R Ctrl+R - + Enable Live &Broadcasting Włącz &Nadawanie na żywo - + Stream your mixes to a shoutcast or icecast server Wysyłaj strumień mixu do serwera shoutcast/icecast - + Ctrl+L Ctrl+L - + Enable &Keyboard Shortcuts Włącz skróty &Klawiaturowe - + Toggles keyboard shortcuts on or off Przełącza skróty klawiaturowe (Wł./Wył.) - + Ctrl+` Ctrl+` - + &Preferences &Ustawienia - + Change Mixxx settings (e.g. playback, MIDI, controls) Zmień ustawienia Mixxx (np. odtwarzanie, MIDI, sterowanie) - + &Developer &Programista - + &Reload Skin &Wczytaj ponownie skórkę - + Reload the skin Wczytaj ponownie skórkę - + Ctrl+Shift+R Ctrl+Shift+R - + Developer &Tools Narzędzia &Programistyczne - + Opens the developer tools dialog Otwiera okienko dialogowe z narzędziami dla programistów. - + Ctrl+Shift+T Ctrl+Shift+T - + Stats: &Experiment Bucket - + Enables experiment mode. Collects stats in the EXPERIMENT tracking bucket. Włącza tryb eksperymentalny. Zbiera statystyki w "Koszyku Śledzenia Eksperymentu". - + Ctrl+Shift+E Ctrl+Shift+E - + Stats: &Base Bucket - + Enables base mode. Collects stats in the BASE tracking bucket. Włącza tryb podstawowy. Zbiera statystyki w "Podstawowym Koszyku Śledzenia". - + Ctrl+Shift+B Ctrl+Shift+B - + Deb&ugger Enabled - + Enables the debugger during skin parsing Włącza debugger podczas analizowania skórki - + Ctrl+Shift+D Ctrl+Shift+D - + &Help &Pomoc @@ -15976,62 +16510,62 @@ This can not be undone! - + &Community Support & Wsparcie Mixxx - + Get help with Mixxx Uzyskaj pomoc Mixxx - + &User Manual I instrukcja - + Read the Mixxx user manual. Przeczytaj instrukcję użytkownika Mixxx. - + &Keyboard Shortcuts &Skróty Klawiaturowe - + Speed up your workflow with keyboard shortcuts. Przyśpiesz pracę używając skrótów klawiaturowych - + &Settings directory - + Open the Mixxx user settings directory. - + &Translate This Application Prze&tłumacz ten program - + Help translate this application into your language. Pomóż przetłumaczyć ta Aplikacje Na Twój język. - + &About &O programie - + About the application O programie @@ -16039,25 +16573,25 @@ This can not be undone! WOverview - + Passthrough Passthrough - + Ready to play, analyzing... Text on waveform overview when file is playable but no waveform is visible - - + + Loading track... Text on waveform overview when file is cached from source Ładowanie ścieżki... - + Finalizing... Text on waveform overview during finalizing of waveform analysis Kończenie... @@ -16090,22 +16624,22 @@ This can not be undone! Return - + Powróć Enter a string to search for. - + Wpisz słowo do wyszukania. Use operators like bpm:115-128, artist:BooFar, -year:1990. - + Użyj operatoróœ taki jak bpm:115-128, artist:BooFar, -year:1990. See User Manual > Mixxx Library for more information. - + Odwiedź Instrukcję użytkownika > Biblioteka Mixxx aby dowiedzieć się więcej. @@ -16131,7 +16665,7 @@ This can not be undone! Esc or Ctrl+Return - + Esc lub Ctrl+Return @@ -16142,28 +16676,28 @@ This can not be undone! Ctrl+Space - + Ctrl+Space Toggle search history Shows/hides the search history entries - + Przełącz historię wyszukiwania Delete or Backspace - + Delete lub Backspace in search history - + w historii wyszukiwania Delete query from history - + Usuń zapytanie z historii @@ -16171,7 +16705,7 @@ This can not be undone! Search related Tracks - + Wyszukaj powiązane ścieżki @@ -16181,7 +16715,7 @@ This can not be undone! harmonic with %1 - + harmoniczne z %1 @@ -16191,7 +16725,7 @@ This can not be undone! between %1 and %2 - + pomiędzy %1 a %2 @@ -16236,7 +16770,7 @@ This can not be undone! Directory - + Katalog @@ -16247,627 +16781,642 @@ This can not be undone! WTrackMenu - + Load to Załaduj do - + Deck Odtwarzacz - + Sampler - + Add to Playlist Dodaj do listy odtwarzania - + Crates Skrzynki - + Metadata Metadane - + Update external collections - + Zaktualizuj zewnętrzne kolekcję - + Cover Art Okładka - + Adjust BPM Ustaw BPM - + Select Color Wybierz Kolor - - + + Analyze Analizuj - - + + Delete Track Files - + Usuń pliki ścieżki - + Add to Auto DJ Queue (bottom) Dodaj do kolejki Auto DJ (dół) - + Add to Auto DJ Queue (top) Dodaj do kolejki Auto DJ (góra) - + Add to Auto DJ Queue (replace) Dodaj do kolejki Auto DJ (zamień) - + Preview Deck Podgląd Decka - + Remove Usuń - + Remove from Playlist - + Usuń z playlisty - + Remove from Crate - + Usuń ze skrzynki - + Hide from Library Ukryj w bibliotece - + Unhide from Library Odkryj w bibliotece - + Purge from Library Usuń z biblioteki - + Move Track File(s) to Trash - + Przenieść pliki ścież(ki/ek) do kosza - + Delete Files from Disk - + Usuń pliki z dysku - + Properties Właściwości - + Open in File Browser Otwórz plik w przeglądarce - + Select in Library - + Wybierz w bibliotece - + Import From File Tags - + Importuj z metadanych pliku - + Import From MusicBrainz - + Importuj z MusicBrainz - + Export To File Tags - + Eksportuj do metadanych pliku - + BPM and Beatgrid - + BPM i Siatka bitów - + Play Count - + Licznik odtwarzania - + Rating Ocena - + Cue Point Punkt CUE - - + + Hotcues Znaczniki hotcue - + Intro Intro - + Outro Outro - + Key Tonacja - + ReplayGain GainPowtórki - + Waveform - + Wykres dźwięku - + Comment Komentarz - + All Wszystko - + Sort hotcues by position (remove offsets) - + Sort hotcues by position - + Lock BPM Zablokuj BPM - + Unlock BPM Odblokuj BPM - + Double BPM Podwójny BPM - + Halve BPM Połowa BPM - + 2/3 BPM 2/3 BPM - + 3/4 BPM 3/4 BPM - + 4/3 BPM 4/3 BPM - + 3/2 BPM 3/2 BPM - + Shift Beatgrid Half Beat - + Reanalyze - + Analizuj ponownie - + Reanalyze (constant BPM) - + Analizuj ponownie (stałe BPM) - + Reanalyze (variable BPM) - + Analizuj ponownie (zmienne BPM) - + Update ReplayGain from Deck Gain - + Deck %1 Decka %1 - + Importing metadata of %n track(s) from file tags - + Marking metadata of %n track(s) to be exported into file tags - - + + Create New Playlist Utwórz nową listę odtwarzania - + Enter name for new playlist: Podaj nazwę dla nowej listy odtwarzania: - + New Playlist Nowa lista odtwarzania - - - + + + Playlist Creation Failed Tworzenie listy odtwarzania nie powiodło się - + A playlist by that name already exists. Lista odtwarzania o tej nazwie już istnieje. - + A playlist cannot have a blank name. Lista odtwarzania nie może mieć pustej nazwy. - + An unknown error occurred while creating playlist: Wystąpił nieznany błąd podczas tworzenia listy odtwarzania: - + Add to New Crate - + Scaling BPM of %n track(s) - + Undo BPM/beats change of %n track(s) - + Locking BPM of %n track(s) - + Unlocking BPM of %n track(s) - + Setting rating of %n track(s) - + Setting color of %n track(s) - + Resetting play count of %n track(s) - + Resetting beats of %n track(s) - + Clearing rating of %n track(s) - + Clearing comment of %n track(s) - + Removing main cue from %n track(s) - + Removing outro cue from %n track(s) - + Removing intro cue from %n track(s) - + Removing loop cues from %n track(s) - + Removing hot cues from %n track(s) - + Sorting hotcues of %n track(s) by position (remove offsets) - + Sorting hotcues of %n track(s) by position - + Resetting keys of %n track(s) - + Resetting replay gain of %n track(s) - + Resetting waveform of %n track(s) - + Resetting all performance metadata of %n track(s) - + Move these files to the trash bin? - + Czy przenieść te pliki kosza? - + Permanently delete these files from disk? - + Usunąć te pliki na zawsze z dysku? - - + + This can not be undone! - + Nie można tego cofnąć! - + Cancel Anuluj - + Delete Files - + Usuń pliki - + Okay - + Ok - + Move Track File(s) to Trash? - + Przenieść pliki ścież(ki/ek) do kosza? - + Track Files Deleted - + Pliki ścieżki usunięte - + Track Files Moved To Trash - + Pliki ścieżki zostały przeniesione do kosza - + %1 track files were moved to trash and purged from the Mixxx database. - + %1 track files were deleted from disk and purged from the Mixxx database. - + Track File Deleted - + Plik ścieżki usunięty - + Track file was deleted from disk and purged from the Mixxx database. - + Plik ścieżki został usunięty z dysku i usunięty z bazy danych Mixxx'a. - + The following %1 file(s) could not be deleted from disk - + Te %1 plik(i/ów) mogły nie zostać usunięte z dysku - + This track file could not be deleted from disk - + Ten plik ścieżki nie mógł zostać usunięty z dysku - + Remaining Track File(s) - + Pozostałe pliki ścież(ki/ek) - + Close Zamknij - + Clear Reset metadata in right click track context menu in library - + Wyczyść - + Loops - + Pętle - + Clear BPM and Beatgrid - + Wyczyść BPM i siatkę beat'u - + Undo last BPM/beats change - + Cofnij ostatnią zmianę BPM/bitu - + Move this track file to the trash bin? - + Czy przenieść ten plik ścieżki do kosza? - + Permanently delete this track file from disk? - + Usunąć ten plik ścieżki na zawsze z dysku? - + All decks where these tracks are loaded will be stopped and the tracks will be ejected. - + Wszystkie decki w których te ścieżki są załadowane zostaną zatrzymane a ścieżki zostaną wyrzucone z tychże decków. - + All decks where this track is loaded will be stopped and the track will be ejected. - + Removing %n track file(s) from disk... - + Note: if you are in the Computer or Recording view you need to click the current view again to see changes. - + Uwaga: jeśli jesteś w widoku Komputera ("Computer") lub Nagrywania ("Recording") musisz kliknąć obecny widok ponownie aby zobaczyć zmiany. - + Track File Moved To Trash - + Plik ścieżki został przeniesiony do kosza - + Track file was moved to trash and purged from the Mixxx database. - + Plik ścieżki został przeniesiony do kosza i usunięty z bazy danych Mixxx'a. - + Don't show again during this session - + Nie pokazuj ponownie podczas tej sesji - + The following %1 file(s) could not be moved to trash - + Te %1 plik(i/ów) mogły nie zostać przeniesione do kosza. - + This track file could not be moved to trash + Ten plik mógł nie zostać przeniesiony do kosza. + + + + Replace current Auto DJ queue? + + + + + Do you want to replace the entire Auto DJ queue with the selected tracks? + + + + + Don't ask again during this session - + Setting cover art of %n track(s) - + Reloading cover art of %n track(s) - + Odświeżenie okładki jednej ścieżki.Odświeżenie okładek %n ścieżek.Odświeżenie okładek %n ścieżek.Odświeżenie okład(ki/ek) %n ścież(ki/ek) @@ -16875,7 +17424,7 @@ This can not be undone! title - + tytuł @@ -16919,103 +17468,103 @@ This can not be undone! WTrackTableView - + Confirm track hide - + Potwiedź ukrycie ścieżki - + Are you sure you want to hide the selected tracks? - + Czy napewno chcesz ukryć wybrane ścieżki? - + Are you sure you want to remove the selected tracks from AutoDJ queue? - + Czy napewno chcesz usunąć wybrane ścieżki z kolejki AutoDJ'a? - + Are you sure you want to remove the selected tracks from this crate? - + Czy napewno chcesz usunąć wybrane ścieżki z tej skrzynki? - + Are you sure you want to remove the selected tracks from this playlist? - + Czy napewno chcesz usunąć wybrane ścieżki z tej playlisty? - + Don't ask again during this session - + Nie pytaj ponownie podczas tej sesji - + Confirm track removal - + Potwierdź usunięcie ścieżki WTrackTableViewHeader - + Show or hide columns. Pokaż lub ukryj kolumny. - + Shuffle Tracks - + Przetasuj ścieżki mixxx::CoreServices - + fonts - + czcionki - + database - + baza danych - + effects - + efekty - + audio interface - + interfejs audio - + decks - + decki - + library - + biblioteka - + Choose music library directory Wybierz katalog biblioteki utworów. - + controllers - + kontrolery - + Cannot open database Nie mogę otworzyć bazy danych - + Unable to establish a database connection. Mixxx requires QT with SQLite support. Please read the Qt SQL driver documentation for information on how to build it. @@ -17031,22 +17580,22 @@ Kliknij OK aby wyjść. Entire music library - + Cała muzyczna biblioteka Crates - + Skrzynki Playlists - + Playlisty Selected crates/playlists - + Wybrane skrzynki/playlisty @@ -17056,12 +17605,12 @@ Kliknij OK aby wyjść. Export directory - + Wyeksportuj folder Database version - + Wersja bazy danych @@ -17077,32 +17626,32 @@ Kliknij OK aby wyjść. Export Library to Engine DJ "Engine DJ" must not be translated - + Wyeksportuj bibliotekę do Engine DJ Export Library To - + Wyeksportuj bibliotekę do No Export Directory Chosen - + Nie wybrano folderu eksportu. No export directory was chosen. Please choose a directory in order to export the music library. - + Nie wybrano folderu eksportu. Proszę wybrać folder, aby wyeskportować bibliotekę. A database already exists in the chosen directory. Exported tracks will be added into this database. - + Baza danych już istnieje w wybranym folderze, Wyeksportowane ścieżki zostaną dodane do tej bazy danych. A database already exists in the chosen directory, but there was a problem loading it. Export is not guaranteed to succeed in this situation. - + Baza danych już istnieje w wybranym katalogu, ale jest problem z załadowaniem jej. Export nie gwarantuje osiągnięcia sukcesu w tej sytuacji. @@ -17110,12 +17659,12 @@ Kliknij OK aby wyjść. Export Modified Track Metadata - + Wyeskportuj zmodyfikowane metadane ścieżki Mixxx may wait to modify files until they are not loaded to any decks or samplers. If you do not see changed metadata in other programs immediately, eject the track from all decks and samplers or shutdown Mixxx. - + Mixxx może poczekać na modyfikację plików, dopóki nie zostaną załadowane do decka lub samplera. Jeżeli nie widzisz natychmiastowej zmiany metadanych w innych programach, wyciągnij ścieżkę ze wszystkich decków lub wyłącz Mixxx'a. @@ -17125,7 +17674,8 @@ Kliknij OK aby wyjść. Failed to export track %1 - %2: %3 %1 is the artist %2 is the title and %3 is the original error message - + Nie udało się wyeksportować ścieżki %1 - %2: +%3 @@ -17133,22 +17683,22 @@ Kliknij OK aby wyjść. Export Completed - + Export udany Exported %1 track(s), %2 crate(s), and %3 playlist(s). - + Wyeksportowano %1 ścież(kę/ki/ek), %2 skrzyn(kę/ki/ek) i %3 playlist(ę/y). Export Failed - + Export nieudany Exporting to Engine DJ... - + Exportowanie do Engine DJ... @@ -17156,7 +17706,7 @@ Kliknij OK aby wyjść. Abort - + Porzuć @@ -17164,7 +17714,7 @@ Kliknij OK aby wyjść. No network access - + Brak dostępu do internetu @@ -17172,6 +17722,24 @@ Kliknij OK aby wyjść. + + mixxx::qml::QmlApplication + + + Existing user profile detected + + + + + Trying to run Mixxx 3.0 with an existing %0 user profile! <br><br>There is <b>serious risks</b> of data loss and corruption.<br>We recommend using a test profile folder with the '--settings-path' argument. <br><br>If you want to continue at your own risk, run Mixxx with the argument '--allow-dangerous-data-corruption-risk'. + + + + + Ok + + + mixxx::qml::QmlVisibleEffectsModel @@ -17180,4 +17748,27 @@ Kliknij OK aby wyjść. Nie załadowano efektu. + + mixxx::qml::QmlWaveformRendererMark + + + Cannot find the marker pixmap + + + + + Cannot find the marker endPixmap + + + + + Cannot find the marker icon + + + + + Cannot find the marker endIcon + + + \ No newline at end of file diff --git a/res/translations/mixxx_pt.qm b/res/translations/mixxx_pt.qm index fd4b26aa57f932abf2cc9507066182b26829afd3..668c7d8e67ee27200eb24abb0bfe56275f2ad9ae 100644 GIT binary patch delta 21009 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 delta 17979 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 Wy%E97EoeWN + + AllTrackLibraryFeature + + + All... + + + AnalysisFeature @@ -19,52 +27,52 @@ AutoDJFeature - + Crates Caixas - + Enable Auto DJ Habilitar Auto DJ - + Disable Auto DJ Desativar Auto DJ - + Clear Auto DJ Queue Limpar fila do Auto DJ - + Remove Crate as Track Source Remover Caixa como Fonte de Faixas - + Auto DJ Auto DJ - + Confirmation Clear Confirmar limpeza - + Do you really want to remove all tracks from the Auto DJ queue? Você tem certeza que quer remover todas as faixas da fila do Auto DJ? - + This can not be undone. Esta ação não pode ser desfeita. - + Add Crate as Track Source Adicionar Caixa como Fonte de Faixas @@ -221,7 +229,7 @@ - + Export Playlist Exportar Playlist @@ -235,7 +243,7 @@ Export to Engine DJ "Engine DJ" is a product name and must not be translated. - + Exportar para mecanismo DJ @@ -275,13 +283,13 @@ - + Playlist Creation Failed A criação da Lista de reprodução falhou - + An unknown error occurred while creating playlist: Ocorreu um erro desconhecido ao criar a Playlist @@ -296,12 +304,12 @@ Você realmente deseja excluir a lista de reprodução <b>%1</b>? - + M3U Playlist (*.m3u) Lista de reprodução M3U (*.m3u) - + M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Text CSV (*.csv);;Readable Text (*.txt) Lista M3U (*.m3u);;Lista M3U8 (*.m3u8);;Lista PLS (*.pls);;Texto CSV (*.csv);;Texto (*.txt) @@ -309,12 +317,12 @@ BaseSqlTableModel - + # - + Timestamp Data/Hora @@ -322,7 +330,7 @@ BaseTrackPlayerImpl - + Couldn't load track. NAO FOI Possível carregar a Faixa @@ -360,7 +368,7 @@ Canais - + Color Cor @@ -375,7 +383,7 @@ Compositor - + Cover Art Capa @@ -385,7 +393,7 @@ Data Adicionada - + Last Played Última Execução @@ -415,17 +423,17 @@ Nota - + Location LOCALIZAÇÃO Overview - + Visão geral - + Preview Prévia @@ -465,7 +473,7 @@ Ano - + Fetching image ... Tooltip text on the cover art column shown when the cover is read from disk Buscando imagem ... @@ -487,22 +495,22 @@ BroadcastProfile - + Can't use secure password storage: keychain access failed. Não é possível usar o armazenamento seguro de senha: o acesso ao keychain falhou. - + Secure password retrieval unsuccessful: keychain access failed. A recuperação segura da senha não foi bem-sucedida: o acesso ao keychain falhou. - + Settings error Erro nas definições - + <b>Error with settings for '%1':</b><br> <b>Erro com configurações para '%1':</b><br> @@ -590,7 +598,7 @@ - + Computer Computador @@ -610,19 +618,19 @@ Examinar - + "Computer" lets you navigate, view, and load tracks from folders on your hard disk and external devices. "Computador" permite que você navegue, veja e carregue faixas de pastas do seu disco rígido ou de dispositivos externos. - + It shows the data from the file tags, not track data from your Mixxx library like other track views. - + Ele mostra os dados das tags do arquivo, não os dados da faixa da sua biblioteca Mixxx como outras visualizações de faixa. - + If you load a track file from here, it will be added to your library. - + Se você carregar um arquivo de faixa daqui, ele será adicionado à sua biblioteca. @@ -733,12 +741,12 @@ Ficheiro Criado - + Mixxx Library Biblioteca Mixxx - + Could not load the following file because it is in use by Mixxx or another application. Não foi possível carregar o arquivo a seguir, porque está em uso por Mixxx ou outro aplicativo. @@ -753,103 +761,108 @@ The file '%1' could not be loaded. - + O arquivo '%1' não pôde ser carregado. The file '%1' could not be loaded because it contains %2 channels, and only 1 to %3 are supported. - + O arquivo '%1' não pôde ser carregado porque contém %2 canais, e somente 1 a %3 são suportados. The file '%1' is empty and could not be loaded. - + O arquivo '%1' não pôde ser carregado. CmdlineArgs - + Mixxx is an open source DJ software. For more information, see: - + Mixxx é um software de DJ de código aberto. Para mais informações, consulte: - + Starts Mixxx in full-screen mode Começa o Mixxx em tela cheia - + Use a custom locale for loading translations. (e.g 'fr') - + Use um idioma personalizado para carregar traduções. (por exemplo, 'fr') - + Top-level directory where Mixxx should look for its resource files such as MIDI mappings, overriding the default installation location. Diretório de nível alto onde o Mixxx deve procurar por seus arquivos de recursos como mapeamentos MIDI, sendo usado no lugar da localização da instalação. - + Path the debug statistics time line is written to - + Caminho onde a linha do tempo das estatísticas de depuração é escrita - + Causes Mixxx to display/log all of the controller data it receives and script functions it loads - + Faz com que o Mixxx exiba/registre todos os dados do controlador que ele recebe e as funções de script que ele carrega - + The controller mapping will issue more aggressive warnings and errors when detecting misuse of controller APIs. New Controller Mappings should be developed with this option enabled! - + O mapeamento do controlador emitirá avisos e erros mais agressivos ao detectar o uso indevido das APIs do controlador. Novos mapeamentos de controlador devem ser desenvolvidos com esta opção habilitada! - + Enables developer-mode. Includes extra log info, stats on performance, and a Developer tools menu. - + Habilita o modo de desenvolvedor. Inclui informações extras de log, estatísticas de desempenho e um menu de ferramentas para desenvolvedores. - + Top-level directory where Mixxx should look for settings. Default is: - + Diretório de nível superior onde o Mixxx deve procurar as configurações. O padrão é: - + Starts Auto DJ when Mixxx is launched. - + Inicia o Auto DJ quando o Mixxx é iniciado. - + Rescans the library when Mixxx is launched. - + Verifica novamente a biblioteca quando o Mixxx é iniciado. - + Use legacy vu meter - + Use o medidor VU legado - + Use legacy spinny - - Loads experimental QML GUI instead of legacy QWidget skin + + Loads the highly unstable 3.0 Mixxx interface, based on QML. You need to use a new setting profile, or run with 'allow-dangerous-data-corruption-risk' to use with the current one. We highly recommend backing up your data if you do so. - + + Force Mixxx to load an unstable version with an existing user profile from a stable version + + + + Enables safe-mode. Disables OpenGL waveforms, and spinning vinyl widgets. Try this option if Mixxx is crashing on startup. - + [auto|always|never] Use colors on the console output. - + Sets the verbosity of command line logging. critical - Critical/Fatal only warning - Above + Warnings @@ -859,32 +872,32 @@ trace - Above + Profiling messages - + Sets the the logging level at which the log buffer is flushed to mixxx.log. <level> is one of the values defined at --log-level above. - + Sets the maximum file size of the mixxx.log file in bytes. Use -1 for unlimited. The default is 100 MB as 1e5 or 100000000. - + Breaks (SIGINT) Mixxx, if a DEBUG_ASSERT evaluates to false. Under a debugger you can continue afterwards. - + Overrides the default application GUI style. Possible values: %1 - + Load the specified music file(s) at start-up. Each file you specify will be loaded into the next virtual deck. - + Preview rendered controller screens in the Setting windows. @@ -977,2557 +990,2585 @@ trace - Above + Profiling messages ControlPickerMenu - + Headphone Output Saída Auscultadores - - - + + + + Deck %1 + %1 is the deck number 1 ... 4 Leitor %1 - + Sampler %1 Sampler %1 - + Preview Deck %1 Antevisão do leitor %1 - + Microphone %1 Microfone %1 - + Auxiliary %1 Auxiliar %1 - + Reset to default Repor as predefinições - + Effect Rack %1 Rack de Efeitos %1 - + Parameter %1 Parâmetro %1 - + Mixer - Mixer + - - + + Crossfader Crossfader - + Headphone mix (pre/main) Mistura nos auscultadores (pré-escuta/geral) - + Toggle headphone split cueing Ligar/Desligar o cueing dividido no fone - + Headphone delay Atraso Auscultador - + Transport Transporte - + Strip-search through track Pesquisar nas pistas - + Play button Tecla Play - - + + Set to full volume Volume Máximo - - + + Set to zero volume Volume Mínimo - + Stop button Botão Parar - + Jump to start of track and play Saltar para o inicio da pista e tocar - + Jump to end of track Saltar para o fim da faixa - + Reverse roll (Censor) button Tecla de rolagem inversa (Censurar) - + Headphone listen button Botão de audição dos fones - - + + Mute button Tecla de Silêncio - + Toggle repeat mode Alternar modo de repetição - - + + Mix orientation (e.g. left, right, center) Orientação da Mistura (ex.: esquerda, direita, centro) - - + + Set mix orientation to left Definir orientação da mistura à esquerda - - + + Set mix orientation to center Definir orientação da mixagem para o centro - - + + Set mix orientation to right Definir orientação da mistura à direita - + Toggle slip mode Alterar modo de deslizamento - - + + BPM BPM - + Increase BPM by 1 Aumentar BPM em 1 - + Decrease BPM by 1 Diminuir BPM em 1 - + Increase BPM by 0.1 Aumentar BPM em 0.1 - + Decrease BPM by 0.1 Diminuir BPM em 0.1 - + BPM tap button Botão de batimento BPM - + Toggle quantize mode Activar/desactivar o modo de quantificação - + One-time beat sync (tempo only) Sincronização pontual da batida (só tempo) - + One-time beat sync (phase only) Sincronização pontual da batida (só fase) - + Toggle keylock mode Activar/desactivar o modo de bloqueio - + Equalizers Equalizadores - + Vinyl Control Controlo Vinilo - + Toggle vinyl-control cueing mode (OFF/ONE/HOT) Activar/desactivar o modo de marcação do controlo vinilo (OFF/UM/HOT) - + Toggle vinyl-control mode (ABS/REL/CONST) Activar/desactivar o modo de controlo vinilo (ABS/REL/CONST) - + Pass through external audio into the internal mixer Passar audio externo para o misturador interno - + Cues Marcas - + Cue button Tecla de marca - + Set cue point Definir o ponto de marcação - + Go to cue point Ir para marca - + Go to cue point and play Ir para marca e tocar - + Go to cue point and stop Ir para o ponto de marcação e parar - + Preview from cue point Antevisão a partir do ponto de marcação - + Cue button (CDJ mode) Botão Cue (modo CDJ) - + Stutter cue Marcação Stutter - + Hotcues Marcações - + Set, preview from or jump to hotcue %1 Definir, escutar de ou pular ao hotcue %1 - + Clear hotcue %1 Apagar o marcador %1 - + Set hotcue %1 Definir a Hot Cue %1 - + Jump to hotcue %1 Ir para o marcador %1 - + Jump to hotcue %1 and stop Ir para o marcador %1 e parar - + Jump to hotcue %1 and play Pular para hotcue %1 e jogar - + Preview from hotcue %1 Antevisão a partir da Hot Cue %1 - - + + Hotcue %1 Pistas Quentes %1 - + Looping Looping - + Loop In button Tecla de entrada em Loop - + Loop Out button Botão de saída de Loop - + Loop Exit button Botão de saída de ciclo - + 1/2 1/2 - + 1 1 - + 2 2 - + 4 4 - + 8 8 - + 16 16 - + 32 32 - + 64 64 - + Move loop forward by %1 beats Mover o loop para frente %1 batidas - + Move loop backward by %1 beats Move o loop para trás %1 batidas - + Create %1-beat loop Criar um loop com %1 tempos - + Create temporary %1-beat loop roll Criar temporariamente %1 -beat loop roll - + Library Biblioteca - + Slot %1 Compartimento %1 - + Headphone Mix Mistura do auscultador - + Headphone Split Cue Escuta Dividida no Auscultador - + Headphone Delay Atraso Auscultador - + Play Tocar - + Fast Rewind Retorno Rápido - + Fast Rewind button Botão de Retrocesso Rápido - + Fast Forward Avanço Rápido - + Fast Forward button Botão de Avanço Rápido - + Strip Search Busca pela Faixa - + Play Reverse Tocar Invertido - + Play Reverse button Botão de Tocar ao Contrário - + Reverse Roll (Censor) Rolagem inversa (Censurar) - + Jump To Start Saltar para Inicio - + Jumps to start of track Saltar para o inicio da pista - + Play From Start Tocar do Inicio - + Stop Parar - + Stop And Jump To Start Para e Salta para o Inicio - + Stop playback and jump to start of track Parar a reprodução e pular para o início da faixa - + Jump To End Salta para o Fim - + Volume Volume - - - + + + Volume Fader Fader de Volume - - + + Full Volume Volume Total - - + + Zero Volume Volume Zero - + Track Gain Ganho Pista - + Track Gain knob Botão de Ganho da Faixa - - + + Mute Mutar - + Eject Ejectar - - + + Headphone Listen Escuta de Auscultador - + Headphone listen (pfl) button Botão de escuta de auscultador (PFL) - + Repeat Mode Modo Repetir - + Slip Mode Modo de deslizamento - - + + Orientation Orientação - - + + Orient Left Orientação à Esquerda - - + + Orient Center Orientação ao Centro - - + + Orient Right Orientação à Direita - + BPM +1 BPM +1 - + BPM -1 BPM -1 - + BPM +0.1 BPM +0.1 - + BPM -0.1 -0,1 BPM - + BPM Tap Bater BPM - + Adjust Beatgrid Faster +.01 Ajustar Grelha de Batidas Mais Rápido +.01 - + Increase track's average BPM by 0.01 Aumentar o BPM médio da faixa por 0,01 - + Adjust Beatgrid Slower -.01 Expandir Grade de Batidas por -,01 - + Decrease track's average BPM by 0.01 Atrasa o BPM médio da faixa de 0.01 - + Move Beatgrid Earlier Mover Grelha de Batidas Cedo - + Adjust the beatgrid to the left Move a grade de batidas à esquerda - + Move Beatgrid Later Mover Grelha de Batidas Tarde - + Adjust the beatgrid to the right Move a grade de batidas à direita - + Adjust Beatgrid Ajustar a grelha ritmica - + Align beatgrid to current position Alinhar a grade de batidas à posição atual - + Adjust Beatgrid - Match Alignment Ajustar Grelha de Batidas - Igualar Alinhamento - + Adjust beatgrid to match another playing deck. Ajusta a grelha de batidas para corresponder um outro leitor em reprodução. - + Quantize Mode Modo Quantização - + Sync Sincronizar - + Beat Sync One-Shot Sincronizar a Batida De Uma Vez - + Sync Tempo One-Shot Sincronizar o Tempo De Uma Vez - + Sync Phase One-Shot Sincronizar a Fase De Uma Vez - + Pitch control (does not affect tempo), center is original pitch Controlo de tom (não afeta o tempo), ao centro é o tom original - + Pitch Adjust Ajustar Tom - + Adjust pitch from speed slider pitch Ajustar o tom com o cursor de velocidade - + Match musical key Igualar o tom musical - + Match Key Igualar Tom - + Reset Key Redefinir o Tom - + Resets key to original Redefine o tom para o original - + High EQ Equalizador dos Agudos - + Mid EQ Equalizador dos Médios - - + + Main Output - + Main Output Balance - + Main Output Delay - + Main Output Gain - + Low EQ Equalizador dos Graves - + Toggle Vinyl Control Alternar Controlo do Vinil - + Toggle Vinyl Control (ON/OFF) Alternar o Controle por Vinil (Ligado/Desligado) - + Vinyl Control Mode Modo de Controlo Vinilo - + Vinyl Control Cueing Mode Controlo do Vinil Modo Marcação - + Vinyl Control Passthrough Controlo do Vinil Passthrough - + Vinyl Control Next Deck Controlo do Vinil Próximo Leitor - + Single deck mode - Switch vinyl control to next deck Modo leitor único - Comutar o controlo do vinil para Próximo Leitor - + Cue Marca de início - + Set Cue Definir Cue - + Go-To Cue Ir Para Cue - + Go-To Cue And Play Ir para Marcação e Tocar - + Go-To Cue And Stop Ir para Marcação e Parar - + Preview Cue Antevisão Marcação - + Cue (CDJ Mode) Cue (Modo CDJ) - + Stutter Cue Marcação Stutter - + Go to cue point and play after release Avança até ao Cue Point e toca a faixa após largar o botão. - + Clear Hotcue %1 Limpar Hotcue %1 - + Set Hotcue %1 Definir Hot Cue %1 - + Jump To Hotcue %1 Pular Para Hotcue %1 - + Jump To Hotcue %1 And Stop Pular Para Hotcue %1 e Parar - + Jump To Hotcue %1 And Play Pular Para Hotcue %1 e Tocar - + Preview Hotcue %1 Escutar Hotcue %1 - + Loop In Início de Loop - + Loop Out Saída do Loop - + Loop Exit Saída do Loop - + Reloop/Exit Loop Reloopar/Sair do Loop - + Loop Halve Reduz o loop a metade - + Loop Double Duplicação do loop - + 1/32 1/32 - + 1/16 1/16 - + 1/8 1/8 - + 1/4 1/4 - + Move Loop +%1 Beats Mover Loop +%1 Batidas - + Move Loop -%1 Beats Mover o Loop -%1 Batidas - + Loop %1 Beats Loopar %1 Batidas - + Loop Roll %1 Beats Loopar Temporariamente %1 Batidas - + Add to Auto DJ Queue (bottom) Juntar à fila Auto DJ (em baixo) - + Append the selected track to the Auto DJ Queue Coloca a faixa selecionada no final da fila Auto DJ - + Add to Auto DJ Queue (top) Juntar à fila Auto DJ (em cima) - + Prepend selected track to the Auto DJ Queue Adicionar a faixa selecionada no começo da fila do Auto DJ - + Load Track Carregar Faixa - + Load selected track Carregar a faixa seleccionada - + Load selected track and play Carregar faixa selecionada e reproduzir - - + + Record Mix Gravar Mixagem - + Toggle mix recording Alternar gravação da mistura - + Effects Efeitos - - Quick Effects - Efeitos Rápidos - - - + Deck %1 Quick Effect Super Knob Super Botão de Efeito Rápido do Deck %1 - + + Quick Effect Super Knob (control linked effect parameters) Super Botão de Efeito Rápido (controla os parâmetros do efeito a que está ligado) - - + + + + Quick Effect Efeito Rápido - + Clear Unit Limpar Unidade - + Clear effect unit Limpar unidade de efeitos - + Toggle Unit Ligar/Desligar Unidade - + Dry/Wet Seco/Molhado - + Adjust the balance between the original (dry) and processed (wet) signal. Define o balançoentre o sinal original (seco) e o processado (molhado). - + Super Knob Super Botão - + Next Chain Próxima Corrente - + Assign Atribuir - + Clear Limpar - + Clear the current effect Limpar o efeito corrente - + Toggle Ligar/Desligar - + Toggle the current effect Alternar o efeito corrente - + Next Seguinte - + Switch to next effect Muda para o próximo efeito - + Previous Anterior - + Switch to the previous effect Trocar para o efeito anterior - + Next or Previous Próximo ou Anterior - + Switch to either next or previous effect Comutar quer para o próximo ou anterior efeito - - + + Parameter Value Valor do Parâmetro - - + + Microphone Ducking Strength Força da Redução de Música do Microfone - + Microphone Ducking Mode Modo de Redução de Música do Microfone - + Gain Ganho - + Gain knob Controlo de Ganho - + Shuffle the content of the Auto DJ queue Reproduzir aleatoriamente o conteúdo da fila Auto DJ - + Skip the next track in the Auto DJ queue Pular a próxima faixa na fila do Auto DJ - + Auto DJ Toggle Ligar/Desligar Auto DJ - + Toggle Auto DJ On/Off Ligar/Desligar Auto DJ - + Show/hide the microphone & auxiliary section - + 4 Effect Units Show/Hide - + Switches between showing 2 and 4 effect units - + Mixer Show/Hide - + Show or hide the mixer. Mostra ou oculta o misturador. - + Cover Art Show/Hide (Library) - + Show/hide cover art in the library - + Library Maximize/Restore Maximizar/Restaurar Biblioteca - + Maximize the track library to take up all the available screen space. Maximiza a biblioteca de faixas para ocupar todo o espaço disponível do ecrã. - + Effect Rack Show/Hide Mostrar/Ocultar Prateleira de Efeitos - + Show/hide the effect rack Mostra/Oculta a prateleira de efeitos - + Waveform Zoom Out Reduzir Forma de Onda - + Headphone Gain Ganho Auscultador - + Headphone gain Ganho dos auscultadores - + Tap to sync tempo (and phase with quantize enabled), hold to enable permanent sync Toque para sincronizar o tempo (e fase com a quantização ativada), segure para ativar a sincronização permanente - + One-time beat sync tempo (and phase with quantize enabled) Tempo de sincronização de batida única (e fase com quantização ativada) - + Playback Speed Velocidade da Reprodução - + Playback speed control (Vinyl "Pitch" slider) Controle da velocidade da reprodução (Deslizante de "Pitch" do Vinil) - + Pitch (Musical key) Pitch (Tom musical) - + Increase Speed Aumentar a Velocidade - + Adjust speed faster (coarse) Aumentar a velocidade (grosso) - + Increase Speed (Fine) Aumentar Velocidade (Fino) - + Adjust speed faster (fine) Aumentar a velocidade (fino) - + Decrease Speed Diminuir a Velocidade - + Adjust speed slower (coarse) Diminuir a velocidade (grosso) - + Adjust speed slower (fine) Diminuir a velocidade (fino) - + Temporarily Increase Speed Temporariamente Aumentar a Velocidade - + Temporarily increase speed (coarse) Temporariamente aumentar a velocidade (grosso) - + Temporarily Increase Speed (Fine) Temporariamente Aumentar a Velocidade (Fino) - + Temporarily increase speed (fine) Temporariamente aumentar a velocidade (fino) - + Temporarily Decrease Speed Temporariamente Diminuir a Velocidade - + Temporarily decrease speed (coarse) Diminuir a velocidade temporariamente (grosseiro) - + Temporarily Decrease Speed (Fine) Temporariamente Diminuir a Velocidade (Fino) - + Temporarily decrease speed (fine) Temporariamente diminuir a velocidade (fino) - - + + Adjust %1 Ajustar %1 - + + Deck %1 Stem %2 + + + + Effect Unit %1 - + Button Parameter %1 - + Skin Tema - + Controller Controladora - + Crossfader / Orientation - + Main Output gain - + Main Output balance - + Main Output delay - + Headphone Auscultador - - + + Kill %1 + %1 is "Low EQ" "Mid EQ" or "High EQ" Matar %1 - + Eject or un-eject track, i.e. reload the last-ejected track (of any deck)<br>Double-press to reload the last replaced track. In empty decks it reloads the second-last ejected track. - + BPM / Beatgrid - + Halve BPM - + Multiply current BPM by 0.5 - + 2/3 BPM - + Multiply current BPM by 0.666 - + 3/4 BPM - + Multiply current BPM by 0.75 - + 4/3 BPM - + Multiply current BPM by 1.333 - + 3/2 BPM - + Multiply current BPM by 1.5 - + Double BPM - + Multiply current BPM by 2 - + Tempo Tap - + Tempo tap button - + Move Beatgrid - + Adjust the beatgrid to the left or right - + Move Beatgrid Half a Beat - + Adjust the beatgrid by exactly one half beat. Usable only for tracks with constant tempo. - - + + Toggle the BPM/beatgrid lock - + Revert last BPM/Beatgrid Change - + Revert last BPM/Beatgrid Change of the loaded track. - + Sync / Sync Lock - + Internal Sync Leader - + Toggle Internal Sync Leader - - + + Internal Leader BPM - + Internal Leader BPM +1 - + Increase internal Leader BPM by 1 - + Internal Leader BPM -1 - + Decrease internal Leader BPM by 1 - + Internal Leader BPM +0.1 - + Increase internal Leader BPM by 0.1 - + Internal Leader BPM -0.1 - + Decrease internal Leader BPM by 0.1 - + Sync Leader - + Sync mode 3-state toggle / indicator (Off, Soft Leader, Explicit Leader) - + Speed Velocidade - + Decrease Speed (Fine) Diminuir velocidade (Fino) - + Pitch (Musical Key) Pitch (Tom musical) - + Increase Pitch - + Increases the pitch by one semitone - + Increase Pitch (Fine) - + Increases the pitch by 10 cents - + Decrease Pitch - + Decreases the pitch by one semitone - + Decrease Pitch (Fine) - + Decreases the pitch by 10 cents - + Keylock Trava de Tom - + CUP (Cue + Play) CUP (Cue + Play, ou seja Cue + Toca a faixa) - + Shift cue points earlier - + Shift cue points 10 milliseconds earlier - + Shift cue points earlier (fine) - + Shift cue points 1 millisecond earlier - + Shift cue points later - + Shift cue points 10 milliseconds later - + Shift cue points later (fine) - + Shift cue points 1 millisecond later - - + + Sort hotcues by position - - + + Sort hotcues by position (remove offsets) - + Hotcues %1-%2 - + Intro / Outro Markers - + Intro Start Marker - + Intro End Marker - + Outro Start Marker - + Outro End Marker - + intro start marker - + intro end marker - + outro start marker - + outro end marker - + Activate %1 [intro/outro marker - + Jump to or set the %1 [intro/outro marker - + Set %1 [intro/outro marker - + Set or jump to the %1 [intro/outro marker - + Clear %1 [intro/outro marker - + Clear the %1 [intro/outro marker - + if the track has no beats the unit is seconds - + Loop Selected Beats Loop de Batidas Selecionadas - + Create a beat loop of selected beat size Criar um loop de batida do tamanho de batida selecionada - + Loop Roll Selected Beats Batidas Selecionadas da Lista de Loop - + Create a rolling beat loop of selected beat size Criar um loop rolado de batidas do tamanho selecionado - + Loop %1 Beats set from its end point - + Loop Roll %1 Beats set from its end point - + Create %1-beat loop with the current play position as loop end - + Create temporary %1-beat loop roll with the current play position as loop end - + Loop Beats - + Loop Roll Beats - + Go To Loop In Ir para Loop In - + Go to Loop In button Botão de Ir para o Fim do Loop - + Go To Loop Out Ir para o Fim do Loop - + Go to Loop Out button Botão de Ir para o Fim do Loop - + Toggle loop on/off and jump to Loop In point if loop is behind play position Alterna entre ligar/desligar o loop e salta para o ponto Início de Loop, se o loop estiver atrás da posição de leitura - + Reloop And Stop Reloop e Parar - + Enable loop, jump to Loop In point, and stop Ativa o loop, salta para o ponto de Início de Loop, e pára. - + Halve the loop length Reduzir o loop pela metade - + Double the loop length Duplica o comprimento do loop - + Beat Jump / Loop Move Saltar Batidas / Mover Loop - + Jump / Move Loop Forward %1 Beats Mover o loop para frente %1 batidas - + Jump / Move Loop Backward %1 Beats Mover o loop para atrás %1 batidas - + Jump forward by %1 beats, or if a loop is enabled, move the loop forward %1 beats Saltar para a frente %1 batidas, ou se o loop estiver ativado, mover o loop para a frente %1 batidas - + Jump backward by %1 beats, or if a loop is enabled, move the loop backward %1 beats Saltar para trás %1 batidas, ou se o loop estiver ativado, mover o loop para trás %1 batidas - + Beat Jump / Loop Move Forward Selected Beats Saltar Batidas / Mover Loop Frente Batidas Selecionadas - + Jump forward by the selected number of beats, or if a loop is enabled, move the loop forward by the selected number of beats Saltar para a frente do número de batidas selecionadas, ou se o loop estiver ativado, mover o loop para a frente o número de batidas selecionadas - + Beat Jump / Loop Move Backward Selected Beats Saltar Batida / Mover Loop Atraso Batidas Selecionadas - + Jump backward by the selected number of beats, or if a loop is enabled, move the loop backward by the selected number of beats Saltar para trás o número de batidas selecionadas, ou se o loop estiver ativado, mover o loop para trás o número de batidas selecionadas - + Beat Jump - + Indicate which loop marker remain static when adjusting the size or is inherited from the current position - + Beat Jump / Loop Move Forward - + Beat Jump / Loop Move Backward - + Loop Move Forward - + Loop Move Backward - + Remove Temporary Loop - + Remove the temporary loop - + Navigation Navegação - + Move up Mover acima - + Equivalent to pressing the UP key on the keyboard Equivalente a pressionar a SETA ACIMA no teclado - + Move down Mover abaixo - + Equivalent to pressing the DOWN key on the keyboard Equivalente a pressionar a SETA ABAIXO no teclado - + Move up/down Mover acima/abaixo - + Move vertically in either direction using a knob, as if pressing UP/DOWN keys Move verticalmente em uma das direções usando um botão, como se pressionasse as teclas ACIMA/ABAIXO - + Scroll Up Rolar acima - + Equivalent to pressing the PAGE UP key on the keyboard Equivalente a pressionar a tecla PAGE UP no teclado - + Scroll Down Rolar abaixo - + Equivalent to pressing the PAGE DOWN key on the keyboard Equivalente a pressionar a tecla PAGE DOWN no teclado - + Scroll up/down Rolar acima/abaixo - + Scroll vertically in either direction using a knob, as if pressing PGUP/PGDOWN keys Rolar verticalmente em uma das direções usando um botão, como se pressionasse as teclas PAGE UP/PAGE DOWN - + Move left Mover à esquerda - + Equivalent to pressing the LEFT key on the keyboard Equivalente a pressionar a SETA À ESQUERDA no teclado - + Move right Mover direita - + Equivalent to pressing the RIGHT key on the keyboard Equivalente a pressionar a SETA À DIREITA no teclado - + Move left/right Mover à esquerda/direita - + Move horizontally in either direction using a knob, as if pressing LEFT/RIGHT keys Mova horizontalmente em uma das direções usando um botão, como ao pressionar as teclas ESQUERDA/DIREITA - + Move focus to right pane Move o foco ao painel da direita - + Equivalent to pressing the TAB key on the keyboard Equivalente a pressionar a tecla TAB no teclado - + Move focus to left pane Mover o foco para o painel da esquerda - + Equivalent to pressing the SHIFT+TAB key on the keyboard Equivalente a pressionar SHIFT+TAB no teclado - + Move focus to right/left pane Mover o foco para o painel direita/esquerda - + Move focus one pane to right or left using a knob, as if pressing TAB/SHIFT+TAB keys Move o foco um painel à direita ou esquerda usando um botão, como se pressionasse TAB/SHIFT-TAB - + Sort focused column - + Sort the column of the cell that is currently focused, equivalent to clicking on its header - + Go to the currently selected item Ir para o item seleccionado correntemente - + Choose the currently selected item and advance forward one pane if appropriate Escolher o item seleccionado correntemente e avançar um para a frente - + Load Track and Play - + Add to Auto DJ Queue (replace) Adicionar à Fila Auto DJ (Substituir) - + Replace Auto DJ Queue with selected tracks Substituir Fila Auto DJ com as faixas selecionadas - + Select next search history - + Selects the next search history entry - + Select previous search history - + Selects the previous search history entry - + Move selected search entry - + Moves the selected search history item into given direction and steps - + Clear search - + Clears the search query - - + + Select Next Color Available - + Select the next color in the color palette for the first selected track - - + + Select Previous Color Available - + Select the previous color in the color palette for the first selected track - + + Quick Effects Deck %1 + + + + Deck %1 Quick Effect Enable Button Botão de Ativar Efeito Rápido no Leitor %1 - + + Quick Effect Enable Button Botão de Ativar Efeito Rápido - + + Deck %1 Stem %2 Quick Effect Super Knob + + + + + Deck %1 Stem %2 Quick Effect Enable Button + + + + Enable or disable effect processing Ativar ou desativar processamento de efeitos - + Super Knob (control effects' Meta Knobs) Super Botão (controla os efeitos dos Meta Botões) - + Mix Mode Toggle Alternar Modo Mistura - + Toggle effect unit between D/W and D+W modes Alternar unidade de efeito entre os modos S/M e S+M - + Next chain preset Próxima cadeia predefinida - + Previous Chain Corrente Anterior - + Previous chain preset Prédefinição de corrente anterior - + Next/Previous Chain Corrente Seguinte/Anterior - + Next or previous chain preset Prédefinição da corrente seguinte ou anterior - - + + Show Effect Parameters Mostrar Parâmetros dos Efeitos - + Effect Unit Assignment - + Meta Knob Botão Meta - + Effect Meta Knob (control linked effect parameters) Meta Botão Efeitos (controla os parâmetros dos efeitos a que está ligado) - + Meta Knob Mode Modo Meta Botão - + Set how linked effect parameters change when turning the Meta Knob. Define como mudam os efeitos a que está ligado, quando se roda o Meta Botão. - + Meta Knob Mode Invert Inverter Modo Meta Botão - + Invert how linked effect parameters change when turning the Meta Knob. Inverter como mudam os efeitos a que está ligado, quando se roda o Meta Botão. - - + + Button Parameter Value - + Microphone / Auxiliary Microfone / Auxiliar - + Microphone On/Off Ligar/Desligar Microfone - + Microphone on/off Microfone ligar/desligar - + Toggle microphone ducking mode (OFF, AUTO, MANUAL) Alternar entre modos de redução de música do microfone (DESLIGADO, AUTOMÁTICO, MANUAL) - + Auxiliary On/Off Ligar/Desligar Auxiliar - + Auxiliary on/off Ligar/Desligar Auxiliar - + Auto DJ Auto DJ - + Auto DJ Shuffle Embaralhar o Auto DJ - + Auto DJ Skip Next Pular a Próxima no Auto DJ - + Auto DJ Add Random Track - + Add a random track to the Auto DJ queue - + Auto DJ Fade To Next Trocar Para a Próxima no Auto DJ - + Trigger the transition to the next track Desencadear a transição para a próxima faixa - + User Interface Interface do Utilizador - + Samplers Show/Hide Samplers Mostrar/Ocultar - + Show/hide the sampler section Mostrar/ocultar a secção sampler - + Microphone && Auxiliary Show/Hide keep double & to prevent creation of keyboard accelerator - + Waveform Zoom Reset To Default - + Reset the waveform zoom level to the default value selected in Preferences -> Waveforms - + Select the next color in the color palette for the loaded track. - + Select previous color in the color palette for the loaded track. - + Navigate Through Track Colors - + Select either next or previous color in the palette for the loaded track. - + Start/Stop Live Broadcasting - + Stream your mix over the Internet. Transmite sua mixagem pela Internet. - + Start/stop recording your mix. - - + + + Deck %1 Stems + + + + + Samplers - + Vinyl Control Show/Hide Mostrar/Ocultar Controle por Vinil - + Show/hide the vinyl control section Mostrar/ocultar a secção controlo vinilo - + Preview Deck Show/Hide Leitor de Antevisão Mostrar/Ocultar - + Show/hide the preview deck Mostrar/esconder o leitor anterior - + Toggle 4 Decks Ligar/Desligar 4 Decks - + Switches between showing 2 decks and 4 decks. Troca entre a visualização de 2 decks e 4 decks. - + Cover Art Show/Hide (Decks) - + Show/hide cover art in the main decks - + Vinyl Spinner Show/Hide Mostrar/Ocultar Vinil Giratório - + Show/hide spinning vinyl widget Mostrar/ocultar o "widget" vinilo em rotação - + Vinyl Spinners Show/Hide (All Decks) - + Show/Hide all spinnies - + Toggle Waveforms - + Show/hide the scrolling waveforms. Mostrar/esconder as ondas. - + Waveform zoom Aproximação das ondas - + Waveform Zoom Aproximação das Ondas - + Zoom waveform in Ampliar a forma de onda - + Waveform Zoom In Aproximar Ondas - + Zoom waveform out Reduzir a forma de onda - + Star Rating Up - + Increase the track rating by one star - + Star Rating Down - + Decrease the track rating by one star @@ -3540,6 +3581,159 @@ trace - Above + Profiling messages + + ControllerHidReportTabsManager + + + Read + + + + + Send + + + + + Payload Size + + + + + bytes + + + + + Byte Position + + + + + Bit Position + + + + + Bit Size + + + + + Logical Min + + + + + Logical Max + + + + + Value + + + + + Physical Min + + + + + Physical Max + + + + + Unit Scaling + + + + + Unit + + + + + Abs/Rel + + + + + + Wrap + + + + + + Linear + + + + + + Preferred + + + + + + Null + + + + + + Volatile + + + + + Usage Page + + + + + Usage + + + + + Relative + + + + + Absolute + + + + + No Wrap + + + + + Non Linear + + + + + No Preferred + + + + + No Null + + + + + Non Volatile + + + ControllerInputMappingTableModel @@ -3675,27 +3869,27 @@ trace - Above + Profiling messages ControllerScriptEngineLegacy - + Controller Mapping File Problem - + The mapping for controller "%1" cannot be opened. - + The functionality provided by this controller mapping will be disabled until the issue has been resolved. - + File: - + Error: @@ -3728,7 +3922,7 @@ trace - Above + Profiling messages - + Lock Bloquear @@ -3758,7 +3952,7 @@ trace - Above + Profiling messages Fonte de Faixas do Auto DJ - + Enter new name for crate: Introduza um novo nome para a caixa: @@ -3775,22 +3969,22 @@ trace - Above + Profiling messages Importar caixa - + Export Crate Exportar caixa - + Unlock Desbloquear - + An unknown error occurred while creating crate: Ocorreu um erro desconhecido durante a criação da caixa: - + Rename Crate Renomear Caixa @@ -3800,28 +3994,28 @@ trace - Above + Profiling messages - + Confirm Deletion - - + + Renaming Crate Failed Falha AO renomear a Caixa - + Crate Creation Failed Criação da Caixa Falhou - + M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Text CSV (*.csv);;Readable Text (*.txt) Lista M3U (*.m3u);;Lista M3U8 (*.m3u8);;Lista PLS (*.pls);;Texto CSV (*.csv);;Texto (*.txt) - + M3U Playlist (*.m3u) Lista M3U (*.m3u) @@ -3842,17 +4036,17 @@ trace - Above + Profiling messages Caixas deixam você organizar a sua música, como você prefira! - + Do you really want to delete crate <b>%1</b>? - + A crate cannot have a blank name. Uma caixa não pode ter um nome vazio - + A crate by that name already exists. Já existe uma caixa com este nome. @@ -3947,12 +4141,12 @@ trace - Above + Profiling messages Colaboradores antigos - + Official Website - + Donate @@ -4745,122 +4939,139 @@ Você tentou mapear: %1,%2 DlgPrefBroadcast - + Icecast 2 Icecast 2 - + Shoutcast 1 Shoutcast 1 - + Icecast 1 Icecast 1 - + MP3 MP3 - + Ogg Vorbis Ogg Vorbis - + Opus Opus - + AAC AAC - + HE-AAC HE-AAC - + HE-AACv2 HE-AACv2 - + Automatic Automático - + Mono Mono - + Stereo Estéreo - - - - + + Saving settings failed + + + + + The password for '%1' contains invalid characters. Please enter it again. + +Note: This can for example be invisible linebreaks when using copy/paste. + + + + + + Action failed Ação falhada - + You can't create more than %1 source connections. Não pode criar mais de %1 ligações fonte. - + Source connection %1 Ligação fonte %1 - + + Settings for %1 + Settings for broadcast profile, %1 is the profile name placeholder + + + + At least one source connection is required. É necessária pelo menos uma ligação fonte. - + Are you sure you want to disconnect every active source connection? Tem a certeza que quer desligar todas as ligações fonte ativas? - - + + Confirmation required Confirmação necessária - + '%1' has the same Icecast mountpoint as '%2'. Two source connections to the same server that have the same mountpoint can not be enabled simultaneously. - + Are you sure you want to delete '%1'? Tem a certeza que quer apagar '%1'? - + Renaming '%1' Renomeando '%1' - + New name for '%1': Novo nome para '%1': - + Can't rename '%1' to '%2': name already in use Não pode renomear '%1' para '%2': nome já em uso @@ -4873,27 +5084,27 @@ Two source connections to the same server that have the same mountpoint can not Preferências da Transmissão Ao Vivo - + Mixxx Icecast Testing Teste de ligação do Mixxx ao IceCast - + Public stream Transmissão pública - + http://www.mixxx.org http://www.mixxx.org - + Stream name Nome da transmissão - + Due to flaws in some streaming clients, updating Ogg Vorbis metadata dynamically can cause listener glitches and disconnections. Check this box to update the metadata anyway. Devido à falhas em alguns clientes de reprodução, atualizar os metadados Ogg Vorbis dinamicamente pode causar pausas e desconexões nos ouvintes. Marque esta caixa para atualizar os metadados de qualquer jeito. @@ -4933,67 +5144,72 @@ Two source connections to the same server that have the same mountpoint can not Definições para %1 - + + Available fields: $artist, $title, $year, $album, $genre, $bpm + + + + Dynamically update Ogg Vorbis metadata. Atualizar dinamicamente os metadados Ogg Vorbis - + ICQ ICQ - + AIM AIM - + Website Página Web - + Live mix Mistura ao vivo - + IRC IRC - + Select a source connection above to edit its settings here Selecionar uma ligação fonte acima para editar as suas definições aqui - + Password storage Armazenamento Palavra Passe - + Plain text Texto simples - + Secure storage (OS keychain) Armazenamento seguro (Porta chaves do SO) - + Genre Gênero - + Use UTF-8 encoding for metadata. Use codificação UTF-8 para metadados - + Description Descrição @@ -5019,42 +5235,42 @@ Two source connections to the same server that have the same mountpoint can not Canais - + Server connection Ligação ao servidor - + Type Tipo - + Host Anfitrião (host) - + Login Iniciar Sessão - + Mount Montar - + Port Porto - + Password Palavra passe - + Stream info Informações do Fluxo @@ -5064,17 +5280,17 @@ Two source connections to the same server that have the same mountpoint can not Metadado - + Use static artist and title. Usar artista e título estáticos. - + Static title Título estático - + Static artist Artista estático @@ -5133,13 +5349,14 @@ Two source connections to the same server that have the same mountpoint can not DlgPrefColors - - + + + By hotcue number Por número do hotcue - + Color @@ -5184,17 +5401,22 @@ Two source connections to the same server that have the same mountpoint can not + Jump default color + + + + When key colors are enabled, Mixxx will display a color hint associated with each key. - + Enable Key Colors - + Key palette @@ -5202,114 +5424,114 @@ associated with each key. DlgPrefController - + Apply device settings? Aplicar os parâmetros do dispositivo? - + Your settings must be applied before starting the learning wizard. Apply settings and continue? Os seus parâmetros devem ser aplicados antes de iniciar o Assistente de Aprendizagem Aplicar os parâmetros e continuar? - + None Nenhum - + %1 by %2 %1 por %2 - + Mapping has been edited - + Always overwrite during this session - + Save As - + Overwrite - + Save user mapping - + Enter the name for saving the mapping to the user folder. - + Saving mapping failed - + A mapping cannot have a blank name and may not contain special characters. - + A mapping file with that name already exists. - + Do you want to save the changes? - + Troubleshooting Solução de Problemas - + <font color='#BB0000'><b>If you use this mapping your controller may not work correctly. Please select another mapping or disable the controller.</b></font><br><br>This mapping was designed for a newer Mixxx Controller Engine and cannot be used on your current Mixxx installation.<br>Your Mixxx installation has Controller Engine version %1. This mapping requires a Controller Engine version >= %2.<br><br>For more information visit the wiki page on <a href='https://mixxx.org/wiki/doku.php/controller_engine_versions'>Controller Engine Versions</a>. - + Mapping already exists. - + <b>%1</b> already exists in user mapping folder.<br>Overwrite or save with a new name? - + Clear Input Mappings Limpar Mapeamentos de Entrada - + Are you sure you want to clear all input mappings? Tem a certeza que deseja limpar todas os mapeamentos de entrada? - + Clear Output Mappings Limpar Mapeamentos de Saída - + Are you sure you want to clear all output mappings? Tem certeza de que deseja limpar todos os mapeamentos de saída? @@ -5327,100 +5549,105 @@ Aplicar os parâmetros e continuar? Activado - + + Refresh mapping list + + + + Device Info - + Physical Interface: - + Vendor name: - + Product name: - + Vendor ID - + VID: - + Product ID - + PID: - + Serial number: - + USB interface number: - + HID Usage-Page: - + HID Usage: - + Description: Descrição - + Support: Suporte: - + Screens preview - + Input Mappings Mapeamento de Entrada - - + + Search Pesquisa - - + + Add Adicionar - - + + Remove Remover @@ -5440,17 +5667,17 @@ Aplicar os parâmetros e continuar? - + Mapping Info - + Author: Autor: - + Name: Nome: @@ -5460,28 +5687,28 @@ Aplicar os parâmetros e continuar? Assistente de Aprendizagem (Só MIDI) - + Data protocol: - + Mapping Files: - + Mapping Settings - - + + Clear All Limpar tudo - + Output Mappings Mapeamento de Saída @@ -5496,21 +5723,21 @@ Aplicar os parâmetros e continuar? - Mixxx uses "mappings" to connect messages from your controller to controls in Mixxx. If you do not see a mapping for your controller in the "Load Mapping" menu when you click on your controller on the left sidebar, you may be able to download one online from the %1. Place the XML (.xml) and Javascript (.js) file(s) in the "User Mapping Folder" then restart Mixxx. If you download a mapping in a ZIP file, extract the XML and Javascript file(s) from the ZIP file to your "User Mapping Folder" then restart Mixxx. + Mixxx uses "mappings" to connect messages from your controller to controls in Mixxx. If you do not see a mapping for your controller in the "Load Mapping" menu when you click on your controller on the left sidebar, you may be able to download one online from the %1. Place the XML (.xml) and Javascript (.js) file(s) in the "User Mapping Folder" then click the Reload button next to the mapping selector to reload all available mappings. If you download a mapping in a ZIP file, extract the XML and Javascript file(s) from the ZIP file to your "User Mapping Folder" then click the Reload button. - + Mixxx DJ Hardware Guide - + MIDI Mapping File Format - + MIDI Scripting with Javascript @@ -5679,137 +5906,137 @@ Aplicar os parâmetros e continuar? DlgPrefDeck - + Mixxx mode Modo Mixxx - + Mixxx mode (no blinking) Modo Mixxx (sem piscar) - + Pioneer mode Modo Pioneer - + Denon mode Modo Denon - + Numark mode Modo Numark - + CUP mode Modo CUP - + mm:ss%1zz - Traditional mm:ss%1zz - Tradicional - + mm:ss - Traditional (Coarse) - + s%1zz - Seconds - + sss%1zz - Seconds (Long) - + s%1sss%2zz - Kiloseconds - + Intro start - + Main cue - + First hotcue - + First sound (skip silence) - + Beginning of track - + Reject - + Allow, but stop deck - + Allow, play from load point - + 4% 4% - + 6% (semitone) 6% (semitom) - + 8% (Technics SL-1210) 8% (Technics SL-1210) - + 10% 10% - + 16% 16% - + 24% 24% - + 50% 50% - + 90% 90% @@ -6269,57 +6496,57 @@ You can always drag-and-drop tracks on screen to clone a deck. O tamanho mínimo da skin selecionada é maior do que a sua resolução de tela. - + Allow screensaver to run Permitir que o protetor de tela execute - + Prevent screensaver from running Prevenir que o protetor de tela execute - + Prevent screensaver while playing Prevenir o protetor de tela quando tocando - + Disabled - + 2x MSAA - + 4x MSAA - + 8x MSAA - + 16x MSAA - + This skin does not support color schemes Esta Skin não suporta esquemas de cores - + Information Informação - + Mixxx must be restarted before the new locale, scaling or multi-sampling settings will take effect. @@ -6546,67 +6773,97 @@ and allows you to pitch adjust them for harmonic mixing. - + Music Directory Added Directoria de Musica Adicionada - + You added one or more music directories. The tracks in these directories won't be available until you rescan your library. Would you like to rescan now? Adicionou uma ou mais diretorias de musicas. As musicas nestas diretorias não estarão disponíveis até atualizar a sua biblioteca. Deseja atualizar agora ? - + Scan Examinar - + Item is not a directory or directory is missing - + Choose a music directory Escolha um diretório de músicas - + Confirm Directory Removal Confirmar a Remoção do Diretório - + Mixxx will no longer watch this directory for new tracks. What would you like to do with the tracks from this directory and subdirectories?<ul><li>Hide all tracks from this directory and subdirectories.</li><li>Delete all metadata for these tracks from Mixxx permanently.</li><li>Leave the tracks unchanged in your library.</li></ul>Hiding tracks saves their metadata in case you re-add them in the future. O Mixxx não vai mais procurar por novas faixas neste diretório. O que você gostaria de fazer com as faixas deste diretório e subdiretório?<ul><li>Ocultar todas as faixas deste diretório e subdiretórios.</li><li>Excluir todos os metadados para estas faixas do Mixxx permanentemente</li><li>Deixar as faixas inalteradas na sua biblioteca.</li></ul>As faixas ocultas continuarão com os metadados, no caso de você readicioná-las no futuro. - + Metadata means all track details (artist, title, playcount, etc.) as well as beatgrids, hotcues, and loops. This choice only affects the Mixxx library. No files on disk will be changed or deleted. Os metadados referem-se a todos os detalhes das faixas (artista, título, género, etc.) bem como as grelhas de batidas, hotcues e loops. Esta escolha afeta apenas a biblioteca do Mixxx. Nenhumas faixas do disco serão alteradas ou apagadas. - + Hide Tracks Ocultar Faixas - + Delete Track Metadata Apagar Metadados das Faixas - + Leave Tracks Unchanged Deixar Faixas Inalteradas - + Relink music directory to new location Revincular o diretório de música para uma nova localização - + + Black + + + + + ExtraBold + + + + + Bold + + + + + SemiBold + + + + + Medium + + + + + Light + + + + Select Library Font Selecionar a Fonte da Biblioteca @@ -6655,262 +6912,267 @@ and allows you to pitch adjust them for harmonic mixing. - + Audio File Formats Formatos de ficheiro Audio - + Track Table View - + Track Double-Click Action: - + BPM display precision: - + Session History Histórico de Sessões - + Track duplicate distance - + When playing a track again log it to the session history only if more than N other tracks have been played in the meantime - + History playlist with less than N tracks will be deleted<br/><br/>Note: the cleanup will be performed during startup and shutdown of Mixxx. - + Delete history playlist with less than N tracks - + Library Font: Fonte da Biblioteca: - + + Show scan summary dialog + + + + Grey out played tracks - + Track Search - + Enable search completions - + Enable search history keyboard shortcuts - + Percentage of pitch slider range for 'fuzzy' BPM search: - + This range will be used for the 'fuzzy' BPM search (~bpm:) via the search box, as well as for BPM search in Track context menu > Search related Tracks - + Preferred Cover Art Fetcher Resolution - + Fetch cover art from coverartarchive.com by using Import Metadata From Musicbrainz. - + Note: ">1200 px" can fetch up to very large cover arts. - + >1200 px (if available) - + 1200 px (if available) - + 500 px 500 px - + 250 px 250 px - + Settings Directory - + The Mixxx settings directory contains the library database, various configuration files, log files, track analysis data, as well as custom controller mappings. - + Edit those files only if you know what you are doing and only while Mixxx is not running. - + Open Mixxx Settings Folder - + Library Row Height: Altura da Linha da Biblioteca: - + Use relative paths for playlist export if possible usar o caminho relativo para exportação da lista de reprodução - + ... ... - + px px - + Synchronize library track metadata from/to file tags - + Automatically write modified track metadata from the library into file tags and reimport metadata from updated file tags into the library - + Synchronize Serato track metadata from/to file tags (experimental) - + Keeps track color, beat grid, bpm lock, cue points, and loops synchronized with SERATO_MARKERS/MARKERS2 file tags.<br/><br/>WARNING: Enabling this option also enables the reimport of Serato metadata after files have been modified outside of Mixxx. On reimport existing metadata in Mixxx is replaced with the metadata found in file tags. Custom metadata not included in file tags like loop colors is lost. - + Edit metadata after clicking selected track Editar metadados após clicar faixa seleccionada - + Search-as-you-type timeout: Tempo limite de procura ao escrever: - + ms ms - + Load track to next available deck Carregar a faixa no próximo deck disponível - + External Libraries Bibliotecas Externas - + You will need to restart Mixxx for these settings to take effect. Você vai precisar reiniciar o Mixxx para que essas configurações tenham efeito. - + Show Rhythmbox Library Mostrar a biblioteca Rhythmbox - + Track Metadata Synchronization / Playlists - + Add track to Auto DJ queue (bottom) - + Add track to Auto DJ queue (top) - + Ignore - + Show Banshee Library Mostrar Biblioteca Banshee - + Show iTunes Library Mostrar a biblioteca iTunes - + Show Traktor Library Mostrar a biblioteca Traktor - + Show Rekordbox Library - + Show Serato Library - + All external libraries shown are write protected. Todas as bibliotecas externas mostradas são protegidas contra escrita. @@ -7255,33 +7517,33 @@ and allows you to pitch adjust them for harmonic mixing. DlgPrefRecord - + Choose recordings directory Seleccione a pasta das gravações - - + + Recordings directory invalid Diretório de gravações inválido - + Recordings directory must be set to an existing directory. - + Recordings directory must be set to a directory. - + Recordings directory not writable - + You do not have write access to %1. Choose a recordings directory you have write access to. @@ -7299,43 +7561,55 @@ and allows you to pitch adjust them for harmonic mixing. Navegar... - - + + This will include the filepath for each track in the CUE file. +This option makes the CUE file less portable and can reveal personal +information from filepaths (i.e. username) + + + + + Enable File Annotation in CUE file + + + + + Quality Qualidade - + Tags Etiquetas - + Title Título - + Author Autor - + Album Album - + Output File Format Formato de Saída do Arquivo - + Compression Compressão - + Lossy Com perdas @@ -7350,12 +7624,12 @@ and allows you to pitch adjust them for harmonic mixing. - + Compression Level Nível de Compressão - + Lossless Sem perdas @@ -7486,172 +7760,177 @@ The loudness target is approximate and assumes track pregain and main output lev DlgPrefSound - + %1 Hz %1 Hz - + Default (long delay) Padrão (atraso longo) - + Experimental (no delay) Experimental (sem atraso) - + Disabled (short delay) Desativada (atraso curto) - + Soundcard Clock Relógio da Placa de Som - + Network Clock Relógio da Rede - + Direct monitor (recording and broadcasting only) Monição direta (apenas gravação e emissão) - + Disabled Desativado - + Enabled Activado - + Stereo Estéreo - + Mono Mono - + To enable Realtime scheduling (currently disabled), see the %1. - + The %1 lists sound cards and controllers you may want to consider for using Mixxx. - + Mixxx DJ Hardware Guide - + + Find details in the Mixxx user manual + + + + Information - + Mixxx must be restarted before the multi-threaded RubberBand setting change will take effect. - + auto (<= 1024 frames/period) auto (<= 1024 quadros/período) - + 2048 frames/period 2048 quadros/período - + 4096 frames/period 4096 quadros/período - + Are you sure? - + Distribute stereo channels into mono channels for parallel processing will result in a loss of mono compatibility and a diffuse stereo image. It is not recommended during broadcasting or recording. - + Are you sure you wish to proceed? - + No - + Yes, I know what I am doing - + Microphone inputs are out of time in the record & broadcast signal compared to what you hear. As entradas de microfone estão fora de tempo no sinal gravar e emitir comparado com o que ouve. - + Measure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. Medir a latência de ida e volta e introduza-a acima para Compensação da Latência do Microfone de maneira a alinhar o tempo do microfone. - + Refer to the Mixxx User Manual for details. Consulte o Manual do Utilizador do Mixxx para detalhes. - + Configured latency has changed. A latência configurada foi alterada. - + Remeasure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. Volta a medir a latência de ida e volta e introduza-a acima para Compensação da Latência do Microfone de maneira a alinhar o tempo do microfone. - + Realtime scheduling is enabled. O agendamento em tempo real está ativado. - + Main output only - + Main and booth outputs - + %1 ms %1 ms - + Configuration error Erro de configuração @@ -7718,17 +7997,22 @@ The loudness target is approximate and assumes track pregain and main output lev ms - + + Deck and Bus outputs are for external mixers. They are post-fader and include effects and crossfader (for Auto DJ). For external mixing, make sure all Mixxx faders and EQ knobs are set to their default position (right- or double-click). + + + + 20 ms 20 ms - + Buffer Underflow Count Contagem insuficiente no tampão - + 0 0 @@ -7753,12 +8037,12 @@ The loudness target is approximate and assumes track pregain and main output lev Entrada - + System Reported Latency Latência Relatada pelo Sistema - + Enlarge your audio buffer if the underflow counter is increasing or you hear pops during playback. Aumente o buffer de áudio se o contador de esvaziamentos aumentar ou se você ouvir estouros na reprodução. @@ -7788,7 +8072,7 @@ The loudness target is approximate and assumes track pregain and main output lev Dicas e Diagnóstico - + Downsize your audio buffer to improve Mixxx's responsiveness. Diminua o buffer de áudio para melhorar a capacidade de resposta do Mixxx. @@ -7835,7 +8119,7 @@ The loudness target is approximate and assumes track pregain and main output lev Configuração Vinilo - + Show Signal Quality in Skin Mostrar a qualidade do sinal no tema @@ -7871,46 +8155,51 @@ The loudness target is approximate and assumes track pregain and main output lev + Pitch estimator + + + + Deck 1 Deck 1 - + Deck 2 Deck 2 - + Deck 3 - + Deck 4 - + Signal Quality Qualidade do Sinal - + http://www.xwax.co.uk http://www.xwax.co.uk - + Powered by xwax Alimentado por xwax - + Hints Dicas - + Select sound devices for Vinyl Control in the Sound Hardware pane. Selecione dispositivos de som para o Controle por Vinil no painel do Hardware de Som. @@ -7918,58 +8207,58 @@ The loudness target is approximate and assumes track pregain and main output lev DlgPrefWaveform - + Filtered Filtrado - + HSV HSV - + RGB RGB - + Top - + Center - + Bottom - + 1/3 of waveform viewer options for "Text height limit" - + Entire waveform viewer - + OpenGL not available OpenGL não disponível - + dropped frames quadros perdidos - + Cached waveforms occupy %1 MiB on disk. Ondas no cache ocupam %1 MiB no disco. @@ -7987,22 +8276,17 @@ The loudness target is approximate and assumes track pregain and main output lev Número de imagens por segundo - + OpenGL Status - + Displays which OpenGL version is supported by the current platform. Mostra qual a versão OpenGL que é suportada pela plataforma actual. - - Normalize waveform overview - Normaliza a visualizção da forma de onda - - - + Average frame rate Taxa média de fotogramas @@ -8018,7 +8302,7 @@ The loudness target is approximate and assumes track pregain and main output lev Nível de zoom padrão - + Displays the actual frame rate. Mostra a velocidade de refrescamento corrente @@ -8053,7 +8337,7 @@ The loudness target is approximate and assumes track pregain and main output lev Baixa - + Show minute markers on waveform overview @@ -8098,7 +8382,7 @@ The loudness target is approximate and assumes track pregain and main output lev Ganho visual geral - + The waveform overview shows the waveform envelope of the entire track. Select from different types of displays for the waveform overview, which differ primarily in the level of detail shown in the waveform. A forma de onda mostra o envoltório da onda na faixa inteira. @@ -8167,22 +8451,22 @@ Selecione entre tipos diferentes de visualizações da forma de onda, o que dife - + Caching Caching - + Mixxx caches the waveforms of your tracks on disk the first time you load a track. This reduces CPU usage when you are playing live but requires extra disk space. O Mixxx coloca as ondas das suas faixas no disco na primeira vez que você carrega uma faixa. Isso reduz o uso da CPU quando você estiver tocando ao vivo, porém requer mais espaço no disco. - + Enable waveform caching Ativa o caching das Waveforms - + Generate waveforms when analyzing library Gerar formas de onda, ao analisar a biblioteca @@ -8198,7 +8482,7 @@ Selecione entre tipos diferentes de visualizações da forma de onda, o que dife - + Type @@ -8223,17 +8507,63 @@ Selecione entre tipos diferentes de visualizações da forma de onda, o que dife Marcador da posição de reprodução - - Moves the play marker position on the waveforms to the left, right or center (default). - Move o marcador da posição de reprodução nas formas de onda para a esquerda, direita ou centro (padrão). + + Moves the play marker position on the waveforms to the left, right or center (default). + Move o marcador da posição de reprodução nas formas de onda para a esquerda, direita ou centro (padrão). + + + + Stem + + + + + Channel opacity + + + + + Channel opacity (outline) + + + + + Main stem opacity + + + + + Outline stem opacity + + + + + Move channel to foreground when volume is adjusted + + + + + Overview Waveforms + + + + + Gain + - - Overview Waveforms + + Normalize to peak + + + + + Use Waveform "Global" gain and ReplayGain (if enabled) + 'Global' refers to the 'Global' visual gain in the scrolling waveform settings - + Clear Cached Waveforms Limpar Ondas no Cache @@ -8268,7 +8598,7 @@ Selecione entre tipos diferentes de visualizações da forma de onda, o que dife Mixer - Mixer + @@ -8722,7 +9052,7 @@ This can not be undone! BPM: - + Location: Localização: @@ -8737,27 +9067,27 @@ This can not be undone! Comentários - + BPM BPM - + Sets the BPM to 75% of the current value. Define o BPM para 75% do valor presente. - + 3/4 BPM 3/4 BPM - + Sets the BPM to 50% of the current value. Define o BPM para 50% do valor atual. - + Displays the BPM of the selected track. Exibe o BPM da faixa selecionada. @@ -8812,49 +9142,49 @@ This can not be undone! Gênero - + ReplayGain: ReplayGain: - + Sets the BPM to 200% of the current value. Define o BPM para 200% do valor atual. - + Double BPM Duplicar o BPM - + Halve BPM Reduzir o BPM a metade - + Clear BPM and Beatgrid Limpar o Tempo (BPM) e a grelha rítmica - + Move to the previous item. "Previous" button Mover para o item anterior. - + &Previous &Anterior - + Move to the next item. "Next" button Move para o próximo item. - + &Next Segui&nte @@ -8879,12 +9209,12 @@ This can not be undone! cor - + Date added: - + Open in File Browser Abrir no Navegador de Ficheiros @@ -8894,102 +9224,107 @@ This can not be undone! - + + Filesize: + + + + Track BPM: Faixa BPM: - + Converts beats detected by the analyzer into a fixed-tempo beatgrid. Use this setting if your tracks have a constant tempo (e.g. most electronic music). Often results in higher quality beatgrids, but will not do well on tracks that have tempo shifts. - + Assume constant tempo Assumir tempo constante - + Sets the BPM to 66% of the current value. Define o BPM para 66% do valor atual. - + 2/3 BPM 2/3 BPM - + Sets the BPM to 150% of the current value. Define o BPM para 150% do valor atual. - + 3/2 BPM 3/2 BPM - + Sets the BPM to 133% of the current value. Define o BPM para 133% do valor atual. - + 4/3 BPM 4/3 BPM - + Tap with the beat to set the BPM to the speed you are tapping. Pressione de acordo com a batida para definir o BPM para velocidade que você está tocando. - + Tap to Beat Bata o ritmo - + Hint: Use the Library Analyze view to run BPM detection. Sugestão: Utilize a vista de Análise da Biblioteca para executar a detecção do BPM. - + Save changes and close the window. "OK" button Salva as alterações e fechar a janela. - + &OK &OK - + Discard changes and close the window. "Cancel" button Rejeita as alterações e fecha a janela. - + Save changes and keep the window open. "Apply" button Salvar as alterações e deixar a janela aberta. - + &Apply &Aplicar - + &Cancel &Cancelar - + (no color) @@ -9146,7 +9481,7 @@ Often results in higher quality beatgrids, but will not do well on tracks that h - + (no color) @@ -9348,27 +9683,27 @@ Often results in higher quality beatgrids, but will not do well on tracks that h EngineBuffer - + Soundtouch (faster) Soundtouch (mais rápido) - + Rubberband (better) Rubberband (melhor) - + Rubberband R3 (near-hi-fi quality) - + Unknown, using Rubberband (better) - + Unknown, using Soundtouch @@ -9583,15 +9918,15 @@ Often results in higher quality beatgrids, but will not do well on tracks that h LegacySkinParser - - + + Safe Mode Enabled Shown when Mixxx is running in safe mode. Modo Segurança Ativado - - + + No OpenGL support. Shown when Spinny can not be displayed. Please keep @@ -9603,57 +9938,57 @@ Shown when VuMeter can not be displayed. Please keep para OpenGL. - + activate activar - + toggle alternar - + right direita - + left esquerda - + right small direita (curto) - + left small esquerda (curto) - + up cima - + down baixo - + up small cima (curto) - + down small baixo (curto) - + Shortcut Atalho @@ -9661,62 +9996,62 @@ para OpenGL. Library - + This or a parent directory is already in your library. - + This or a listed directory does not exist or is inaccessible. Aborting the operation to avoid library inconsistencies - - + + This directory can not be read. - + An unknown error occurred. Aborting the operation to avoid library inconsistencies - + Can't add Directory to Library - + Could not add <b>%1</b> to your library. %2 - + Can't remove Directory from Library - + An unknown error occurred. - + This directory does not exist or is inaccessible. - + Relink Directory - + Could not relink <b>%1</b> to <b>%2</b>. %3 @@ -9878,12 +10213,12 @@ Do you really want to overwrite it? Faixas escondidas - + Export to Engine DJ - + Tracks Faixas @@ -9891,37 +10226,37 @@ Do you really want to overwrite it? MixxxMainWindow - + Sound Device Busy Dispositivo de som ocupado - + <b>Retry</b> after closing the other application or reconnecting a sound device <b>Tentar de novo</b> após ter fechado a outra aplicação ou ter religado o dispositivo de som. - - - + + + <b>Reconfigure</b> Mixxx's sound device settings. <b>Reconfigurar</b> as opções áudio do Mixxx. - - + + Get <b>Help</b> from the Mixxx Wiki. Encontrar <b>Ajuda</b> no Mixxx Wiki. - - - + + + <b>Exit</b> Mixxx. <b>Sair</b> do Mixxx. - + Retry Tentar de novo @@ -9931,211 +10266,211 @@ Do you really want to overwrite it? - + Allow Mixxx to hide the menu bar? - + Hide Always show the menu bar? - + Always show - + The Mixxx menu bar is hidden and can be toggled with a single press of the <b>Alt</b> key.<br><br>Click <b>%1</b> to agree.<br><br>Click <b>%2</b> to disable that, for example if you don't use Mixxx with a keyboard.<br><br>You can change this setting any time in Preferences -> Interface.<br> Keep formatting tags <b> (bold text) and <br> (linebreak). %1 is the placeholder for the 'Always show' button label - + Ask me again - - + + Reconfigure Reconfigurar - + Help Ajuda - - + + Exit Sair - - + + Mixxx was unable to open all the configured sound devices. Mixxx não foi capaz de abrir todos os dispositivos de som configurados. - + Sound Device Error Erro Dispositivo de Som - + <b>Retry</b> after fixing an issue <b>Tentar novamente</b> depois de corrigir um problema - + No Output Devices Nenhum dispositivo de saída - + Mixxx was configured without any output sound devices. Audio processing will be disabled without a configured output device. O Mixxx foi configurado sem nenhum dispositivo de saída audio. Sem dispositivo de saída configurado, o processamento do som será desactivado. - + <b>Continue</b> without any outputs. <b>Continuar</b> sem nenhuma saída. - + Continue Continuar - + Load track to Deck %1 Carregar a faixa no leitor %1 - + Deck %1 is currently playing a track. O leitor %1 está actualmente a ler uma faixa. - + Are you sure you want to load a new track? Tem a certeza de querer carregar uma nova faixa? - + There is no input device selected for this vinyl control. Please select an input device in the sound hardware preferences first. Não existe nenhum dispositivo selecionado para este controlo do vinil. Por favor, selecione primeiro um dispositivo de entrada, nas preferências de hardware de som. - + There is no input device selected for this passthrough control. Please select an input device in the sound hardware preferences first. Não tem nenhum dispositivo de entrada selecionado para este controle atravessador. Por favor selecione um dispositivo de entrada nas preferências do hardware de som primeiro. - + There is no input device selected for this microphone. Do you want to select an input device? - + There is no input device selected for this auxiliary. Do you want to select an input device? - + Scan took %1 - + No changes detected. - - + + %1 tracks in total - + %1 new tracks found - + %1 moved tracks detected - + %1 tracks are missing (%2 total) - + %1 tracks have been rediscovered - + Library scan finished - + Error in skin file Erro no ficheiro de tema - + The selected skin cannot be loaded. O tema seleccionado não pode ser carregado - + OpenGL Direct Rendering Processamento Direct OpenGL - + Direct rendering is not enabled on your machine.<br><br>This means that the waveform displays will be very<br><b>slow and may tax your CPU heavily</b>. Either update your<br>configuration to enable direct rendering, or disable<br>the waveform displays in the Mixxx preferences by selecting<br>"Empty" as the waveform display in the 'Interface' section. - - - + + + Confirm Exit Confirmar saída - + A deck is currently playing. Exit Mixxx? Um leitor está actualmente a tocar. Sair do Mixxx? - + A sampler is currently playing. Exit Mixxx? Uma amostra está actualmente a tocar. Sair do Mixxx? - + The preferences window is still open. A janela de preferências ainda está aberta. - + Discard any changes and exit Mixxx? Rejeitar quaisquer alterações e sair do Mixxx? @@ -10151,13 +10486,13 @@ Do you want to select an input device? PlaylistFeature - + Lock Bloquear - - + + Playlists Listas de reprodução @@ -10167,58 +10502,63 @@ Do you want to select an input device? - + + Adopt current order + + + + Unlock all playlists - + Delete all unlocked playlists - + Unlock Desbloquear - - + + Confirm Deletion - + Do you really want to delete all unlocked playlists? - + Deleting %1 unlocked playlists.<br>This operation can not be undone! - + Playlists are ordered lists of tracks that allow you to plan your DJ sets. - + It may be necessary to skip some tracks in your prepared playlist or add some different tracks in order to maintain the energy of your audience. - + Some DJs construct playlists before they perform live, but others prefer to build them on-the-fly. Alguns DJs preparam listas de reprodução antes das suas actuações, mas outros preferem construi-las na altura em que estão a actuar. - + When using a playlist during a live DJ set, remember to always pay close attention to how your audience reacts to the music you've chosen to play. Quando usa listas de reprodução durante uma actuação de DJ ao vivo, lembre-se de prestar uma atenção particular à forma como o seu público reage à música que escolheu para tocar. - + Create New Playlist Criar nova lista de reprodução @@ -10317,59 +10657,59 @@ Do you want to select an input device? QMessageBox - + Upgrading Mixxx Atualização Mixxx - + Mixxx now supports displaying cover art. Do you want to scan your library for cover files now? O Mixxx agora permite mostrar a capa do disco. Deseja examinar a sua biblioteca para encontrar ficheiros de capa de disco, agora? - + Scan Examinar - + Later Depois - + Upgrading Mixxx from v1.9.x/1.10.x. Atualização do Mixxx a partir de V1.9.x/1.10.x. - + Mixxx has a new and improved beat detector. O Mixx possui um detetor de batidas novo e aperfeiçoado. - + When you load tracks, Mixxx can re-analyze them and generate new, more accurate beatgrids. This will make automatic beatsync and looping more reliable. Quando você carrega músicas, o Mixxx pode as re-analisar e gerar novas, mais precisas, grades de batidas. Isto vai tornar a sincronização automática e loops mais confiáveis. - + This does not affect saved cues, hotcues, playlists, or crates. Isto não afeta os pontos cue salvos, hotcues, listas de reprodução ou caixas. - + If you do not want Mixxx to re-analyze your tracks, choose "Keep Current Beatgrids". You can change this setting at any time from the "Beat Detection" section of the Preferences. Se você não quiser que o Mixxx re-analise suas músicas, selecione "Manter as Grades de Batidas Atuais". Você pode modificar esta configuração a qualquer momento na seção "Detecção de de Batidas" das preferências. - + Keep Current Beatgrids Manter as Grades de Batidas Atuais - + Generate New Beatgrids Gerar Novas Grades de Batidas @@ -10483,69 +10823,82 @@ Deseja examinar a sua biblioteca para encontrar ficheiros de capa de disco, agor 14-bit (MSB) - + Main + Audio path indetifier - + Booth + Audio path indetifier Cabine - + Headphones + Audio path indetifier Auscultadores - + Left Bus + Audio path indetifier Barramento Esquerdo - + Center Bus + Audio path indetifier Barramento Central - + Right Bus + Audio path indetifier Barramento Direito - + Invalid Bus + Audio path indetifier Barramento Inválido - + Deck + Audio path indetifier Leitor - + Record/Broadcast + Audio path indetifier Gravar/Emitir - + Vinyl Control + Audio path indetifier Controlo Vinilo - + Microphone + Audio path indetifier Microfone - + Auxiliary + Audio path indetifier Auxiliar - + Unknown path type %1 + Audio path Caminho desconhecido tipo %1 @@ -10880,47 +11233,49 @@ Com a largura a zero, permite o varrimento manual ao longo de toda a extensão d Largura - + Metronome Metrónomo - + + The Mixxx Team - + Adds a metronome click sound to the stream Adiciona o som dum clique de metrónomo à stream - + BPM BPM - + Set the beats per minute value of the click sound Define o valor do bpm do som do clique - + Sync Sincronizar - + Synchronizes the BPM with the track if it can be retrieved Sincroniza o BPM com a faixa, se este puder ser obtido - + + Gain - + Set the gain of metronome click sound @@ -11723,14 +12078,14 @@ Tudo direita: fim do período do efeito - - + + encoder failure - - + + Failed to apply the selected settings. @@ -11936,15 +12291,86 @@ and the processed output signal as close as possible in perceived loudness + + Auto Gain Control + + + + + AGC + + + + + Auto Gain Control (AGC) automatically adjusts the gain of an audio signal to maintain a consistent output level. + + + + Threshold (dBFS) + Threshold + + + The Threshold knob adjusts the level above which the effect starts enhancing the input signal + + + + + Target (dBFS) + + + + + Target + + + + + The Target knob adjusts the desired target level of the output signal + + + + + Gain (dB) + + + + + The Gain knob adjusts the maximum amount of gain that the effect will apply + + + + + Knee (dB) + + + + + The Knee knob defines the range around the Threshold where gain changes are applied gradually, +ensuring smooth transitions and avoiding abrupt level shifts. + + + + + The Attack knob sets the time that determines how fast the auto gain +will set in once the signal exceeds the threshold + + + + + The Release knob sets the time that determines how fast the auto gain will recover from the gain +adjustment once the signal falls under the threshold. Depending on the input signal, short release times +may introduce a 'pumping' effect and/or distortion. + + The Threshold knob adjusts the level above which the compressor starts attenuating the input signal @@ -11973,6 +12399,7 @@ At a ratio of 1:1 no compression is happening, as the input is exactly the outpu + Knee @@ -11983,11 +12410,13 @@ At a ratio of 1:1 no compression is happening, as the input is exactly the outpu + Attack (ms) + Attack @@ -11999,11 +12428,13 @@ will set in once the signal exceeds the threshold + Release (ms) + Release @@ -12032,12 +12463,12 @@ may introduce a 'pumping' effect and/or distortion. - + built-in - + missing @@ -12072,42 +12503,42 @@ may introduce a 'pumping' effect and/or distortion. - + Empty - + Simple - + Filtered - + HSV - + VSyncTest - + RGB - + Stacked - + Unknown @@ -12368,193 +12799,193 @@ may introduce a 'pumping' effect and/or distortion. ShoutConnection - - + + Mixxx encountered a problem O Mixxx encontrou um problema - + Could not allocate shout_t Não pode alocar shout_t - + Could not allocate shout_metadata_t Não pode alocar shout_metadata_t - + Error setting non-blocking mode: Erro na configuração do modo não-blocante - + Error setting tls mode: - + Error setting hostname! Erro na definição do nome do anfitrião! - + Error setting port! Erro na configuração da porta! - + Error setting password! Erro na definição da palavra chave! - + Error setting mount! Erro na configuração do montar! - + Error setting username! Erro na definição do nome de utilizador! - + Error setting stream name! Erro na definição do nome de "stream"! - + Error setting stream description! Erro na definição da descrição de "stream"! - + Error setting stream genre! Erro na definição do género do "stream"! - + Error setting stream url! Erro na definição da URL do "stream"! - + Error setting stream IRC! Erro a definir a stream IRC! - + Error setting stream AIM! Erro a definir a stream AIM! - + Error setting stream ICQ! Erro a definir a stream ICQ! - + Error setting stream public! Erro ao tornar a stream pública! - + Unknown stream encoding format! - + Use a libshout version with %1 enabled - + Error setting stream encoding format! - + Broadcasting at 96 kHz with Ogg Vorbis is not currently supported. Please try a different sample rate or switch to a different encoding. - + See https://github.com/mixxxdj/mixxx/issues/5701 for more information. - + Unsupported sample rate - + Error setting bitrate Erro na definição do débito - + Error: unknown server protocol! Erro: protocolo do servidor desconhecido! - + Error: Shoutcast only supports MP3 and AAC encoders - + Error setting protocol! Erro na configuração do protocolo! - + Network cache overflow Overflow do cache da rede - + Connection error Erro de ligação - + One of the Live Broadcasting connections raised this error:<br><b>Error with connection '%1':</b><br> Uma das ligações de Emissão em Direto apresentou este erro:<br><b>Erro com a ligação '%1':</b><br> - + Connection message Mensagem da ligação - + <b>Message from Live Broadcasting connection '%1':</b><br> <b>Mensagem da ligação Emissão em Direto '%1':</b><br> - + Lost connection to streaming server and %1 attempts to reconnect have failed. A conexão com o servidor de streaming foi perdida e %1 tentativas de reconectar falharam. - + Lost connection to streaming server. A conexão com o servidor de streaming foi perdida. - + Please check your connection to the Internet. Por favor, verifique a sua conecção à internet. - + Can't connect to streaming server Não se consegue ligar ao servidor de streaming. - + Please check your connection to the Internet and verify that your username and password are correct. Queira verificar a sua ligação à Internet e que a sua identificação e palavra passe estão correctas. @@ -12562,7 +12993,7 @@ may introduce a 'pumping' effect and/or distortion. SoftwareWaveformWidget - + Filtered Filtrado @@ -12570,23 +13001,23 @@ may introduce a 'pumping' effect and/or distortion. SoundManager - - + + a device um dispositivo - + An unknown error occurred Ocorreu um erro desconhecido - + Two outputs cannot share channels on "%1" Duas saídas não podem compartilhar o canal "%1" - + Error opening "%1" Erro abrindo "%1" @@ -12771,7 +13202,7 @@ may introduce a 'pumping' effect and/or distortion. - + Spinning Vinyl Vinilo em rotação @@ -12953,7 +13384,7 @@ may introduce a 'pumping' effect and/or distortion. - + Cover Art Capa @@ -13143,243 +13574,243 @@ may introduce a 'pumping' effect and/or distortion. Força o ganho do equalizador de graves a zero enquanto activo. - + Displays the tempo of the loaded track in BPM (beats per minute). Mostra o tempo da faixa carregada em BPM (batidas por minuto) - + Tempo Tempo - + Key The musical key of a track Nota - + BPM Tap Bater BPM - + When tapped repeatedly, adjusts the BPM to match the tapped BPM. Quando batido repetidamente, ajusta o BPM para corresponder ao BPM batido. - + Adjust BPM Down Ajustar o BPM Abaixo - + When tapped, adjusts the average BPM down by a small amount. Quando pressionado, diminui um pouco o BPM médio. - + Adjust BPM Up Ajustar o BPM Acima - + When tapped, adjusts the average BPM up by a small amount. Quando pressionado, aumenta um pouco o BPM médio. - + Adjust Beats Earlier Ajustar Batidas Cedo - + When tapped, moves the beatgrid left by a small amount. Quando pressionado, move a grade de batidas um pouco para a esquerda. - + Adjust Beats Later Adiantar Grade de Batidas - + When tapped, moves the beatgrid right by a small amount. Quando batido, move a grelha de batidas para a direita, uma pequena quantidade. - + Tempo and BPM Tap Batimento de Tempo e BPM - + Show/hide the spinning vinyl section. Mostrar/ocultar a secção do Vinilo em Rotação - + Keylock Trava de Tom - + Toggling keylock during playback may result in a momentary audio glitch. Ligar/Desligar a trava de tom enquanto tocando pode resultar em um glitch de áudio momentâneo - + Toggle visibility of Loop Controls - + Toggle visibility of Beatjump Controls - + Toggle visibility of Rate Control Alterna a visibilidade do Controlo da Taxa - + Toggle visibility of Key Controls - + (while previewing) - + Places a cue point at the current position on the waveform. Coloca um ponto de sinalização na posição atual na forma de onda. - + Stops track at cue point, OR go to cue point and play after release (CUP mode). Pára a faixa no CUE Point, OU vai para o CUE Point e reproduz a faixa após soltar o botão (CUP mode). - + Set cue point (Pioneer/Mixxx/Numark mode), set cue point and play after release (CUP mode) OR preview from it (Denon mode). Define o CUE point (em modo Pioneer/Mixxx/Numark), define o CUE point e toca após largar a tecla (modo CUP) OU escuta o preview (modo Denon). - + Is latching the playing state. - + Seeks the track to the cue point and stops. Avança a faixa até ao Cue Point e para. - + Play Tocar - + Plays track from the cue point. Toca a faixa a partir do ponto de marcação. - + Sends the selected channel's audio to the headphone output, selected in Preferences -> Sound Hardware. - + (This skin should be updated to use Sync Lock!) - + Enable Sync Lock - + Tap to sync the tempo to other playing tracks or the sync leader. - + Enable Sync Leader - + When enabled, this device will serve as the sync leader for all other decks. - + This is relevant when a dynamic tempo track is loaded to a sync leader deck.In that case, other synced devices will adopt the changing tempo. - + Changes the track playback speed (affects both the tempo and the pitch). If keylock is enabled, only the tempo is affected. Altera a velocidade da faixa (afeta o tempo e o pitch). Se o keylock estiver ativo, apenas o tempo é alterado. - + Tempo Range Display - + Displays the current range of the tempo slider. Mostra o alcance atual do deslizante de tempo. - + Un-ejects when no track is loaded, i.e. reloads the track that was ejected last (of any deck). - + Delete selected hotcue. - + Track Comment - + Displays the comment tag of the loaded track. - + Opens separate artwork viewer. - + Effect Chain Preset Settings - + Show the effect chain settings menu for this unit. - + Select and configure a hardware device for this input - + Recording Duration Duração da Gravação @@ -13602,949 +14033,984 @@ may introduce a 'pumping' effect and/or distortion. - + When tapped repeatedly, adjusts the tempo to match the tapped BPM. + + + Click to open the tempo/BPM editor + + + + + It also shows a colored bar if Key colors are enabled in the Preferences. + + + The bar will be split vertically if the track's key is in between full keys. + + + + Tempo Tap - + Rate Tap and BPM Tap - + + Set Tempo + + + + + Set the desired tempo in BPM. If the track currently has no BPM detected, set the desired tempo in percent. + + + + Adjust beatgrid by exactly one half beat. Usable only on tracks with constant tempo. - + Revert last BPM/Beatgrid Change - + Revert last BPM/Beatgrid Change of the loaded track. - - + + Toggle the BPM/beatgrid lock - + Tempo and Rate Tap - + Tempo, Rate Tap and BPM Tap - + Shift cues earlier - - + + Shift cues imported from Serato or Rekordbox if they are slightly off time. - + Left click: shift 10 milliseconds earlier - + Right click: shift 1 millisecond earlier - + Shift cues later - + Left click: shift 10 milliseconds later - + Right click: shift 1 millisecond later - - - + + + Drag a Hotcue button here to continue playing after releasing the Hotcue. - + Hint: Change the default cue mode in Preferences -> Decks. - + Mutes the selected channel's audio in the main output. - + Main mix enable - + Hold or short click for latching to mix this input into the main output. - + + Reloads the last replaced track. If no track is loaded reloads the second-last ejected track. + + + + If hotcue is a loop cue, toggles the loop and jumps to if the loop is behind the play position. - + If the play position is inside an active loop, stores the loop as loop cue. - + Drag this button onto another Hotcue button to move it there (change its index). If the other hotcue is set, the two are swapped. - + Expand/Collapse Samplers - + Toggle expanded samplers view. - + Displays the duration of the running recording. Mostra a duração da gravação em andamento. - + Auto DJ is active - + Red for when needle skip has been detected. - + Hot Cue - Track will seek to nearest previous hotcue point. - + Sets the track Loop-In Marker to the current play position. Define o marcador Início Loop da faixa para a atual posição de reprodução. - + Press and hold to move Loop-In Marker. Pressione e mantenha para mover o marcador Início Loop. - + Jump to Loop-In Marker. Saltar para o marcador Início Loop. - + Sets the track Loop-Out Marker to the current play position. Define o marcador Fim Loop para a atual posição de reprodução. - + Press and hold to move Loop-Out Marker. Pressione e mantenha para mover o marcador Fim Loop. - + Jump to Loop-Out Marker. Saltar para o marcador Fim Loop. - + If the track has no beats the unit is seconds. - + Beatloop Size Tamanho do Loop de Batidas - + Select the size of the loop in beats to set with the Beatloop button. Escolher o tamanho do loop em batidas estabelecer com o botão Loop. - + Changing this resizes the loop if the loop already matches this size. Alterando isto redimensiona o loop se o loop já coincide com este tamanho. - + Halve the size of an existing beatloop, or halve the size of the next beatloop set with the Beatloop button. Reduz a metade o tamanho dum loop existente, ou reduz a metade o tamanho do próximo loop definido com o botão Loop. - + Double the size of an existing beatloop, or double the size of the next beatloop set with the Beatloop button. Duplica o tamanho dum loop existente, ou duplica o tamanho do próximo loop definido com o botão Loop. - + Start a loop over the set number of beats. Iniciar um loop com o número de batidas prédefinidas. - + Temporarily enable a rolling loop over the set number of beats. Ativa temporariamente um loop de rolamento sobre o número de batidas selecionado. - + Beatloop Anchor - + Define whether the loop is created and adjusted from its staring point or ending point. - + Beatjump/Loop Move Size Beatjump/Loop Tamanho Movimento - + Select the number of beats to jump or move the loop with the Beatjump Forward/Backward buttons. Selecione o número de batidas a saltar ou a deslocar o loop com os botões Beatjump Frente/Atrás. - + Beatjump Forward Beatjump Frente - + Jump forward by the set number of beats. Salta para a frente o número de batidas predefinidas. - + Move the loop forward by the set number of beats. Move o loop para a frente o número de batidas prédefinidas. - + Jump forward by 1 beat. Salta para a frente 1 batida. - + Move the loop forward by 1 beat. Move o loop para a frente 1 batida. - + Beatjump Backward Beatjump Atrás - + Jump backward by the set number of beats. Salta para trás o número de batidas prédefinidas. - + Move the loop backward by the set number of beats. Move o loop para trás o número de batidas prédefinidas. - + Jump backward by 1 beat. Salta para trás 1 batida. - + Move the loop backward by 1 beat. Move o loop para trás 1 batida. - + Reloop Reloop - + If the loop is ahead of the current position, looping will start when the loop is reached. Se o loop estiver à frente da posição atual de reprodução, o ciclo de looping começará quando o loop for atingido. - + Works only if Loop-In and Loop-Out Marker are set. Funciona apenas se os marcadores de Início Loop e Fim Loop estiverem definidos. - + Enable loop, jump to Loop-In Marker, and stop playback. Ativar loop, saltar para o marcador Início Loop, e parar a reprodução. - + Displays the elapsed and/or remaining time of the track loaded. Mostra o tempo executado e/ou restante da faixa carregada. - + Click to toggle between time elapsed/remaining time/both. Clique para alternar entre tempo executado/restante tempo/ambos. - + Hint: Change the time format in Preferences -> Decks. - + Show/hide intro & outro markers and associated buttons. - + + Ensure all waveforms to have the same height across all channels. By default, when displaying the stem controls, waveform for channel that have no stem may render with a shorter height in order to honor the waveform container size you have requested.. + + + + Intro Start Marker - - - - + + + + If marker is set, jumps to the marker. - - - - + + + + If marker is not set, sets the marker to the current play position. - - - - + + + + If marker is set, clears the marker. - + Intro End Marker - + Outro Start Marker - + Outro End Marker - + Mix Mistura - + Adjust the mixing of the dry (input) signal with the wet (output) signal of the effect unit Ajustar a mistura do sinal seco (entrada) com o molhado (saída) da unidade de efeito - + D/W mode: Crossfade between dry and wet Modo S/M: crossfade entre seco e molhado - + D+W mode: Add wet to dry Modo S/M: adicionar molhado ao seco - + Mix Mode Modo Mistura - + Adjust how the dry (input) signal is mixed with the wet (output) signal of the effect unit Ajustar a mistura do sinal seco (entrada) com o sinal molhado (saída) da unidade de efeito - + Dry/Wet mode (crossed lines): Mix knob crossfades between dry and wet Use this to change the sound of the track with EQ and filter effects. Modo Seco/Molhado (linhas cruzadas): o botão de Mistura faz a transição entre seco e molhado. Usar isto para alterar o som da faixa com EQ e filtros de efeitos. - + Dry+Wet mode (flat dry line): Mix knob adds wet to dry Use this to change only the effected (wet) signal with EQ and filter effects. Modo Seco+Molhado (linha seca plana): o botão de Mistura adiciona o molhado ao seco. Usar isto para alterar apenas o sinal já com os efeitos (molhado) de EQ e filtros de efeitos. - + Route the main mix through this effect unit. - + Route the left crossfader bus through this effect unit. Envia o bus esquerdo do crossfader através desta unidade de efeito. - + Route the right crossfader bus through this effect unit. Envia o bus direito do crossfader através desta unidade de efeito. - + Right side active: parameter moves with right half of Meta Knob turn Lado direito ativo: o parâmetro muda com meia volta para a direita do Botão Meta - + Stem Label - + Name of the stem stored in the stem file - + Text is displayed in the stem color stored in the stem file - + this stem color is also used for the waveform of this stem - + Stem Mute - + Toggle the stem mute/unmuted - + Stem Volume Knob - + Adjusts the volume of the stem - + Skin Settings Menu Menu Definições Skin - + Show/hide skin settings menu Mostra/Oculta menu de definições. - + Save Sampler Bank Guardar o Banco do Sampler - + Save the collection of samples loaded in the samplers. Guarda a colecção de samples carregadas nos samplers. - + Load Sampler Bank Carregar o Banco do Sampler - + Load a previously saved collection of samples into the samplers. Carrega uma colecção de samples guardada previamente nos samplers. - + Show Effect Parameters Mostrar Parâmetros do Efeito - + Enable Effect Ativar Efeito - + Meta Knob Link Ligação Botão Meta - + Set how this parameter is linked to the effect's Meta Knob. Definir como este parâmetro está ligado ao botão de efeitos Meta. - + Meta Knob Link Inversion Vínculo inverso do Botão Meta - + Inverts the direction this parameter moves when turning the effect's Meta Knob. Inverte a direção que este parâmetro se move quando rodando o efeito do Botão Meta - + Super Knob Super Botão - + Next Chain Próxima Corrente - + Previous Chain Cadeia Anterior - + Next/Previous Chain Corrente Seguinte/Anterior - + Clear Limpar - + Clear the current effect. Limpa o efeito atual. - + Toggle Ligar/Desligar - + Toggle the current effect. Liga/Desliga o efeito atual. - + Next Seguinte - + Clear Unit Limpar Unidade - + Clear effect unit. Limpa a unidade de efeito. - + Show/hide parameters for effects in this unit. Mostra/Oculta parâmetros para efeitos nesta unidade. - + Toggle Unit Ligar/Desligar Unidade - + Enable or disable this whole effect unit. Ativa ou desativa esta unidade completa de efeito. - + Controls the Meta Knob of all effects in this unit together. Controla o Meta Botão de todos os efeitos conjuntamente nesta unidade. - + Load next effect chain preset into this effect unit. Carrega a próxima cadeia de efeitos prédefinida nesta unidade de efeito. - + Load previous effect chain preset into this effect unit. Carrega a anterior cadeia de efeitos prédefinida nesta unidade de efeito. - + Load next or previous effect chain preset into this effect unit. Carrega a próxima ou anterior cadeia de efeitos prédefinida nesta unidade de efeito. - - - - - - - - - + + + + + + + + + Assign Effect Unit Atribuir Unidade de Efeito - + Assign this effect unit to the channel output. Atribuir esta unidade de efeito ao canal de saída. - + Route the headphone channel through this effect unit. Encaminha o canal de auscultadores através desta unidade de efeito. - + Route this deck through the indicated effect unit. Encaminha este deck através da unidade de efeito indicada. - + Route this sampler through the indicated effect unit. Encaminha este sampler através da unidade de efeito indicada. - + Route this microphone through the indicated effect unit. Encaminha este microfone através da unidade de efeito indicada. - + Route this auxiliary input through the indicated effect unit. Encaminha esta entrada auxiliar através da unidade de efeito indicada. - + The effect unit must also be assigned to a deck or other sound source to hear the effect. Esta unidade de efeito deve também ser atribuída a um leitor ou a outra fonte sonora para ouvir o efeito. - + Switch to the next effect. Troca para o próximo efeito. - + Previous Anterior - + Switch to the previous effect. Troca para o efeito anterior. - + Next or Previous Próximo ou Anterior - + Switch to either the next or previous effect. Troca para o efeito seguinte ou anterior. - + Meta Knob Botão Meta - + Controls linked parameters of this effect Controla os parâmetros deste efeito aqui ligado. - + Effect Focus Button Botão de Foco do Efeito - + Focuses this effect. Se foca no efeito. - + Unfocuses this effect. Anula o realce deste efeito. - + Refer to the web page on the Mixxx wiki for your controller for more information. Acesse a página web do seu controlador na wiki do Mixxx para mais informações. - + Effect Parameter Parâmetro Efeito - + Adjusts a parameter of the effect. Ajusta um parâmetro do efeito. - + Inactive: parameter not linked Inativo: parâmetro não ligado - + Active: parameter moves with Meta Knob Activo: o parâmetro move-se com o Botão Meta - + Left side active: parameter moves with left half of Meta Knob turn Lado esquerdo ativo: o parâmetro move-se com meia volta para a esquerda do Botão Meta - + Left and right side active: parameter moves across range with half of Meta Knob turn and back with the other half Lado esquerdo e direito ativo: o parâmetro desloca-se ao longo da sua extensão com meia volta do Botão Meta e para trás com a outra meia volta. - - + + Equalizer Parameter Kill Matar Parâmetro do Equalizador - - + + Holds the gain of the EQ to zero while active. Mantem o ganho do equalizador em zero quanto ativo. - + Quick Effect Super Knob Super Botão de Efeito Rápido - + Quick Effect Super Knob (control linked effect parameters). Super Botão de Efeito Rápido (controla parâmetros de efeitos conectados). - + Hint: Change the default Quick Effect mode in Preferences -> Equalizers. Sugestão: Alterar o modo Efeito Rápido padrão em Preferências -> Equalizadores. - + Equalizer Parameter Parâmetro do Equalizador - + Adjusts the gain of the EQ filter. Ajusta o ganho do filtro EQ. - + Hint: Change the default EQ mode in Preferences -> Equalizers. Dica: Mude o modo padrão do equalizador em Preferências -> Equalizadores. - - + + Adjust Beatgrid Ajustar a grelha ritmica - + Adjust beatgrid so the closest beat is aligned with the current play position. Ajustar a grelha ritmica para que o tempo mais próximo seja alinhado com a posição corrente do cursor. - - + + Adjust beatgrid to match another playing deck. Ajusta a grade de batidas para combinar com outro deck tocando. - + If quantize is enabled, snaps to the nearest beat. Quando a quantificação está activada, ajusta-se ao tempo mais próximo. - + Quantize Quantificação - + Toggles quantization. Activa/desactiva a quantificação. - + Loops and cues snap to the nearest beat when quantization is enabled. Os loops e as marcas ajustam-se ao tempo mais próximo quando a quantificação está activada. - + Reverse Inverter - + Reverses track playback during regular playback. Inverte o sentido da leitura da faixa durante a reprodução normal. - + Puts a track into reverse while being held (Censor). Coloca a faixa em reprodução invertida enquanto pressionado (Censurar). - + Playback continues where the track would have been if it had not been temporarily reversed. A reprodução continua onde a faixa estaria se ela não estivesse sido temporariamente invertida. - - - + + + Play/Pause Leitura/Pausa - + Jumps to the beginning of the track. Salta para o início da faixa - + Syncs the tempo (BPM) and phase to that of the other track, if BPM is detected on both. Sincroniza o tempo (BPM) e a fase para a da outra faixa, ou BPM se detectado nos dois. - + Syncs the tempo (BPM) to that of the other track, if BPM is detected on both. Sincroniza o tempo (BPM) com o da outra faixa, se o BPM for detetado em ambas. - + Sync and Reset Key Sincronizar e Reiniciar Tom - + Increases the pitch by one semitone. Aumenta a tonalidade de um meio tom. - + Decreases the pitch by one semitone. Diminui o pitch por um semitom. - + Enable Vinyl Control Ativar Controle por Vini - + When disabled, the track is controlled by Mixxx playback controls. Quando desativado, a faixa é controlada pelos controles de reprodução do Mixxx. - + When enabled, the track responds to external vinyl control. Quando ativado, a faixa responde ao controle por vinil externo - + Enable Passthrough Ativar Passthrough - + Indicates that the audio buffer is too small to do all audio processing. Indica que o buffer de áudio é muito pequeno para fazer todo o processamento de aúdio. - + Displays cover artwork of the loaded track. Mostra a arte da capa da faixa carregada. - + Displays options for editing cover artwork. Mostra as opções para edição da capa do disco. - + Star Rating Classificação de Estrela - + Assign ratings to individual tracks by clicking the stars. Atribui classificações a faixas individuais clicando nas estrelas. @@ -14679,33 +15145,33 @@ Usar isto para alterar apenas o sinal já com os efeitos (molhado) de EQ e filtr Amplitude da Redução no Talkover - + Prevents the pitch from changing when the rate changes. Previne que o tom mude com as mudanças na taxa do pitch. - + Changes the number of hotcue buttons displayed in the deck Altera o número de botões hotcue mostrados no leitor - + Starts playing from the beginning of the track. Começa a tocar do começo da faixa. - + Jumps to the beginning of the track and stops. Pula para o começo da faixa e para. - - + + Plays or pauses the track. Lê ou suspende a leitura da faixa. - + (while playing) (durante a leitura) @@ -14725,215 +15191,215 @@ Usar isto para alterar apenas o sinal já com os efeitos (molhado) de EQ e filtr - + (while stopped) (enquanto parado) - + Cue Marca de início - + Headphone Auscultador - + Mute Mutar - + Old Synchronize Sincronização Antiga - + Syncs to the first deck (in numerical order) that is playing a track and has a BPM. Sincroniza com o primeiro Deck (em ordem numérica) que está tocar uma faixa e que tem um BPM. - + If no deck is playing, syncs to the first deck that has a BPM. Se nenhum Deck estiver a tocar, sincroniza com o primeiro Deck que tenha BPM - + Decks can't sync to samplers and samplers can only sync to decks. os Deck não conseguem sincronizar com as amostras e as amostras só conseguem sincronizar com os Decks - + Hold for at least a second to enable sync lock for this deck. Manter premido, por pelo menos um segundo, para ativar o bloqueio de sincronização para este leitor. - + Decks with sync locked will all play at the same tempo, and decks that also have quantize enabled will always have their beats lined up. Decks com trava de sincronização vão tocar no mesmo tempo, e os decks que também tem quantização ativada vão sempre ter suas batidas alinhadas. - + Resets the key to the original track key. Reinicia o tom, para o tom original da faixa. - + Speed Control Controle de Velocidade - - - + + + Changes the track pitch independent of the tempo. Muda o pitch da faixa independentemente do tempo. - + Increases the pitch by 10 cents. Aumenta o pitch por 10 cents. - + Decreases the pitch by 10 cents. Diminui o pitch por 10 cents. - + Pitch Adjust Ajustar o Pitch - + Adjust the pitch in addition to the speed slider pitch. Ajusta o pitch junto com o deslizante de velocidade pitch. - + Opens a menu to clear hotcues or edit their labels and colors. - + Drag this button onto a Play button while previewing to continue playback after release. - + Dragging with Shift key pressed will not start previewing the hotcue. - + Record Mix Gravar Mixagem - + Toggle mix recording. Ativa/Desativa gravação da mixagem. - + Enable Live Broadcasting Ativar Emissão em Direto - + Stream your mix over the Internet. Transmite sua mixagem pela Internet. - + Provides visual feedback for Live Broadcasting status: Provê retorno visual para o estado de Transmissão Ao Vivo: - + disabled, connecting, connected, failure. desativado, conectando, conectado, falha. - + When enabled, the deck directly plays the audio arriving on the vinyl input. Quando ativada, o leitor toca o audio que chega diretamente à entrada do vinil. - + Playback will resume where the track would have been if it had not entered the loop. O Playback vai retornar ao ponto onde a faixa teria ficado se não tivesse entrado no loop. - + Loop Exit Sair do Loop - + Turns the current loop off. Desliga o loop - + Slip Mode Modo de deslizamento - + When active, the playback continues muted in the background during a loop, reverse, scratch etc. Quando activo, o playback continua abafado em segundo plano durante o loop, reverse, scratch etc. - + Once disabled, the audible playback will resume where the track would have been. Uma vez desactivado, o playback audível será retomado onde a faixa estaria. - + Track Key The musical key of a track Tom da Faixa - + Displays the musical key of the loaded track. Mostra o tom musical da faixa carregada. - + Clock Relógio - + Displays the current time. Afixa a hora actual - + Audio Latency Usage Meter Uso da Latência de Áudio - + Displays the fraction of latency used for audio processing. Mostra a fração da latência usada no processamento de audio. - + A high value indicates that audible glitches are likely. Um valor alto indica que ruídos no áudio são prováveis. - + Do not enable keylock, effects or additional decks in this situation. Não ative a trava de tom, efeitos ou decks adicionais nessa situação. - + Audio Latency Overload Indicator Indicador de Sobrecarga de Latência Audio @@ -14973,259 +15439,259 @@ Usar isto para alterar apenas o sinal já com os efeitos (molhado) de EQ e filtr Active o Controlo Vinilo a partir do Menu -> Opções. - + Displays the current musical key of the loaded track after pitch shifting. Mostra o tom musical corrente da faixa carregada, após movimentação do cursor de velocidade/tom. - + Fast Rewind Retorno Rápido - + Fast rewind through the track. Retorno rápido percorrendo a faixa. - + Fast Forward Avanço Rápido - + Fast forward through the track. Avanço rápido percorrendo a faixa. - + Jumps to the end of the track. Salta para o fim da faixa. - + Sets the pitch to a key that allows a harmonic transition from the other track. Requires a detected key on both involved decks. Define a tonalidade para um tom que permita uma transição harmónica para outra faixa. Requer ter sido detetado um tom em ambos os leitores envolvidos. - - - + + + Pitch Control Controlo da Velocidade - + Pitch Rate Variador de Altura - + Displays the current playback rate of the track. Mostra a velocidade corrente da faixa. - + Repeat Repetir - + When active the track will repeat if you go past the end or reverse before the start. Quando activo, a faixa será repetida se for para além do fim, ou em reverso para além do início. - + Eject Ejectar - + Ejects track from the player. Ejecta a faixa do leitor. - + Hotcue Marcação - + If hotcue is set, jumps to the hotcue. Se o ponto de marcação estiver definido, salta para o ponto de marcação. - + If hotcue is not set, sets the hotcue to the current play position. Se o ponto de marcação não estiver definido, define o ponto de marcação no local de leitura corrente. - + Vinyl Control Mode Modo de Controlo Vinilo - + Absolute mode - track position equals needle position and speed. Modo Absoluto - a posição na faixa é igual à posição e velocidade da agulha. - + Relative mode - track speed equals needle speed regardless of needle position. Modo Relativo - a velocidade da faixa é igual à velocidade da agulha independentemente da posição da agulha. - + Constant mode - track speed equals last known-steady speed regardless of needle input. Modo Constante - a velocidade da faixa é igual à última velocidade instantânea conhecida independentemente da posição da agulha. - + Vinyl Status Estado do Vinilo - + Provides visual feedback for vinyl control status: Fornece um sinal visual para o estado do controlo vinilo: - + Green for control enabled. Verde para controlo activado. - + Blinking yellow for when the needle reaches the end of the record. Amarelo a piscar quando a agulha chega ao fin do disco. - + Loop-In Marker Marcador de Entrada de Loop - + Loop-Out Marker Marcador de Saída de Loop - + Loop Halve Reduz o loop a metade - + Halves the current loop's length by moving the end marker. Reduz a metade o comprimento do loop corrente, movendo o marcador de fim. - + Deck immediately loops if past the new endpoint. O leitor faz loop imdiatamente, se o novo marcador de saída for ultrapassado. - + Loop Double Duplicação do loop - + Doubles the current loop's length by moving the end marker. Duplica o comprimento corrente do loop movendo o marcador de fim. - + Beatloop Loop de Tempos - + Toggles the current loop on or off. Activa ou desactiva o loop corrente. - + Works only if Loop-In and Loop-Out marker are set. Funciona apenas se as marcas de entrada e de saída do loop estiverem definidas. - + Vinyl Cueing Mode Modo de Marcação Vinilo - + Determines how cue points are treated in vinyl control Relative mode: Determina a forma como os pontos de marcação são tratados no modo de controlo vinilo Relativo. - + Off - Cue points ignored. Inactivo - os pontos de marcação são ignorados. - + One Cue - If needle is dropped after the cue point, track will seek to that cue point. Uma Marca – Se a agulha é largada após o ponto de marcação, a faixa posiciona-se nesse ponto de marcação. - + Track Time Duração da faixa - + Track Duration Duração da Faixa - + Displays the duration of the loaded track. Mostra a duração da faixa carregada. - + Information is loaded from the track's metadata tags. A informação é carregada a partir das etiquetas de metadados da faixa. - + Track Artist Artista da Faixa - + Displays the artist of the loaded track. Mostra o artista da faixa carregada. - + Track Title Título da Faixa - + Displays the title of the loaded track. Mostra o título da faixa. - + Track Album Album da faixa - + Displays the album name of the loaded track. Mostra o nome do album da faixa carregada. - + Track Artist/Title Artista/título da faixa - + Displays the artist and title of the loaded track. Mostra o artista e o título da faixa carregada. @@ -15453,47 +15919,75 @@ This can not be undone! WCueMenuPopup - + Cue number - + Cue position - + Edit cue label - + Label... - + Delete this cue - - Toggle this cue type between normal cue and saved loop + + Turn this cue into a regular hotcue + + + + + Turn this cue into a saved loop + + + + + Left-click: Use the old size if known or the current beatloop size as the loop size + + + + + Right-click: Use the current play position as new loop end if it is after the cue + + + + + Turn this cue into a saved forward jump. + + is a linebreak. Try to not to extend the translation beyond the length of the longest source line so the tooltip remains compact. + + + + + Turn this cue into a saved backward jump (one shot loop). - - Left-click: Use the old size or the current beatloop size as the loop size + + Left-click: Use the old size if known or the current play position as jump start position +If this is already a jump cue, swap the jump position and the cue/target position. - - Right-click: Use the current play position as loop end if it is after the cue + + Right-click: use current play position as new jump start position - + Hotcue #%1 @@ -15795,171 +16289,181 @@ This can not be undone! + Show Auto DJ + + + + + Switch to the Auto DJ view. + + + + &Full Screen &Ecrã completo - + Display Mixxx using the full screen Mostrar o Mixxx em ecrã completo - + &Options &Opções - + &Vinyl Control Controlo Vinilo - + Use timecoded vinyls on external turntables to control Mixxx Utilizar discos de vinilo codificados num leitor externo para controlar o Mixxx - + Enable Vinyl Control &%1 Ativar Controle por Vinil &%1 - + &Record Mix Gravar a mistura - + Record your mix to a file Gravar a sua mistura num ficheiro - + Ctrl+R Ctrl+R - + Enable Live &Broadcasting Activar a difusão em directo - + Stream your mixes to a shoutcast or icecast server Difunda as suas misturas via um servidor de "shoutcast" ou "icecast" - + Ctrl+L Ctrl+L - + Enable &Keyboard Shortcuts Activar atalhos de teclado - + Toggles keyboard shortcuts on or off Activar/desactivar atalhos de teclado - + Ctrl+` Ctrl+` - + &Preferences &Preferências - + Change Mixxx settings (e.g. playback, MIDI, controls) Modificar os parâmetros do Mixxx (ex. difusão, MIDI, controladores) - + &Developer &Desenvolvedor - + &Reload Skin &Recarregar Skin - + Reload the skin Recarregar a skin - + Ctrl+Shift+R Ctrl+Shift+R - + Developer &Tools &Ferramentas do Desenvolvedor - + Opens the developer tools dialog Abre o diálogo das ferramentas de desenvolvedor - + Ctrl+Shift+T Ctrl+Shift+T - + Stats: &Experiment Bucket Dados: Balde de &Experimento - + Enables experiment mode. Collects stats in the EXPERIMENT tracking bucket. Ativa o modo Experiências. Coleta estatísticas no balde de rastreio EXPERIÊNCIAS. - + Ctrl+Shift+E Ctrl+Shift+E - + Stats: &Base Bucket Estatísticas: &Balde Base - + Enables base mode. Collects stats in the BASE tracking bucket. Ativa o modo base. Coleta dados no balde de localização BASE. - + Ctrl+Shift+B Ctrl+Shift+B - + Deb&ugger Enabled Deb&ugger Ativado - + Enables the debugger during skin parsing Ativa o debugger enquanto a skin estiver sendo analisada - + Ctrl+Shift+D Ctrl+Shift+D - + &Help &Ajuda @@ -15993,62 +16497,62 @@ This can not be undone! F12 - + &Community Support Suporte da comunidade - + Get help with Mixxx Obter ajuda sobre o Mixxx - + &User Manual Manual do utilizador - + Read the Mixxx user manual. Ler o manual de utilizador do Mixxx - + &Keyboard Shortcuts &Atalhos de Teclado - + Speed up your workflow with keyboard shortcuts. Acelere seu fluxo de trabalho com atalhos de teclado. - + &Settings directory - + Open the Mixxx user settings directory. - + &Translate This Application &Traduzir esta Aplicação - + Help translate this application into your language. Ajude a traduzir esta aplicação na sua linguagem - + &About &Sobre - + About the application Sobre a aplicação @@ -16056,25 +16560,25 @@ This can not be undone! WOverview - + Passthrough Passagem - + Ready to play, analyzing... Text on waveform overview when file is playable but no waveform is visible - - + + Loading track... Text on waveform overview when file is cached from source - + Finalizing... Text on waveform overview during finalizing of waveform analysis @@ -16264,625 +16768,640 @@ This can not be undone! WTrackMenu - + Load to Carregar para - + Deck Leitor - + Sampler Amostrador - + Add to Playlist Adicionar à Lista de reprodução - + Crates Caixas - + Metadata Metadado - + Update external collections - + Cover Art Capa - + Adjust BPM Ajustar BPM - + Select Color - - + + Analyze Analisar - - + + Delete Track Files - + Add to Auto DJ Queue (bottom) Juntar à fila Auto DJ (em baixo) - + Add to Auto DJ Queue (top) Juntar à fila Auto DJ (em cima) - + Add to Auto DJ Queue (replace) Adicionar à Fila Auto DJ (Substituir) - + Preview Deck Deck de Prá-visualização - + Remove Remover - + Remove from Playlist Remover da Playlist - + Remove from Crate Remover da Caixa - + Hide from Library Ocultar na Biblioteca - + Unhide from Library Reexibir na Biblioteca - + Purge from Library Limpar da Biblioteca - + Move Track File(s) to Trash - + Delete Files from Disk - + Properties Propriedades - + Open in File Browser Abrir no Navegador de Ficheiros - + Select in Library - + Import From File Tags Importar Das Tags Ficheiros - + Import From MusicBrainz Importar do MusicBrainz - + Export To File Tags Exportar Para Tags Ficheiros - + BPM and Beatgrid BPM e Grelha de Batidas - + Play Count Contador de Leitura - + Rating classificação - + Cue Point Ponto de Marcação - - + + Hotcues Marcações - + Intro - + Outro - + Key Nota - + ReplayGain ReplayGain - + Waveform Forma de Onda - + Comment Comentário - + All Tudo - + Sort hotcues by position (remove offsets) - + Sort hotcues by position - + Lock BPM Bloquear o Tempo (BPM) - + Unlock BPM Desbloquear o Tempo (BPM) - + Double BPM Duplicar o BPM - + Halve BPM Reduzir o BPM a metade - + 2/3 BPM 2/3 BPM - + 3/4 BPM 3/4 BPM - + 4/3 BPM 4/3 BPM - + 3/2 BPM 3/2 BPM - + Shift Beatgrid Half Beat - + Reanalyze - + Reanalyze (constant BPM) - + Reanalyze (variable BPM) - + Update ReplayGain from Deck Gain - + Deck %1 Leitor %1 - + Importing metadata of %n track(s) from file tags - + Marking metadata of %n track(s) to be exported into file tags - - + + Create New Playlist Criar nova lista de reprodução - + Enter name for new playlist: Entre o nome da nova lista de reprodução - + New Playlist Nova lista de reprodução - - - + + + Playlist Creation Failed A criação da Lista de reprodução falhou - + A playlist by that name already exists. Já existe uma Playlist com este nome - + A playlist cannot have a blank name. A Playlist não pode ter um nome vazio - + An unknown error occurred while creating playlist: Ocorreu um erro desconhecido ao criar a Playlist - + Add to New Crate - + Scaling BPM of %n track(s) - + Undo BPM/beats change of %n track(s) - + Locking BPM of %n track(s) Locking BPM of %n track(s)Locking BPM of %n track(s)Bloqueando o BPM de %n faixa(s) - + Unlocking BPM of %n track(s) Unlocking BPM of %n track(s)Unlocking BPM of %n track(s)Desbloqueando o BPM de %n faixa(s) - + Setting rating of %n track(s) - + Setting color of %n track(s) Setting color of %n track(s)Setting color of %n track(s)Mudando a cor de %n faixa(s) - + Resetting play count of %n track(s) - + Resetting beats of %n track(s) - + Clearing rating of %n track(s) - + Clearing comment of %n track(s) - + Removing main cue from %n track(s) - + Removing outro cue from %n track(s) - + Removing intro cue from %n track(s) - + Removing loop cues from %n track(s) - + Removing hot cues from %n track(s) - + Sorting hotcues of %n track(s) by position (remove offsets) - + Sorting hotcues of %n track(s) by position - + Resetting keys of %n track(s) - + Resetting replay gain of %n track(s) - + Resetting waveform of %n track(s) - + Resetting all performance metadata of %n track(s) - + Move these files to the trash bin? - + Permanently delete these files from disk? - - + + This can not be undone! - + Cancel Cancelar - + Delete Files - + Okay - + Move Track File(s) to Trash? - + Track Files Deleted - + Track Files Moved To Trash - + %1 track files were moved to trash and purged from the Mixxx database. - + %1 track files were deleted from disk and purged from the Mixxx database. - + Track File Deleted - + Track file was deleted from disk and purged from the Mixxx database. - + The following %1 file(s) could not be deleted from disk - + This track file could not be deleted from disk - + Remaining Track File(s) - + Close Fechar - + Clear Reset metadata in right click track context menu in library - + Loops - + Clear BPM and Beatgrid - + Undo last BPM/beats change - + Move this track file to the trash bin? - + Permanently delete this track file from disk? - + All decks where these tracks are loaded will be stopped and the tracks will be ejected. - + All decks where this track is loaded will be stopped and the track will be ejected. - + Removing %n track file(s) from disk... - + Note: if you are in the Computer or Recording view you need to click the current view again to see changes. - + Track File Moved To Trash - + Track file was moved to trash and purged from the Mixxx database. - + Don't show again during this session - + The following %1 file(s) could not be moved to trash - + This track file could not be moved to trash + + + Replace current Auto DJ queue? + + + + + Do you want to replace the entire Auto DJ queue with the selected tracks? + + + + + Don't ask again during this session + + - + Setting cover art of %n track(s) - + Reloading cover art of %n track(s) @@ -16936,37 +17455,37 @@ This can not be undone! WTrackTableView - + Confirm track hide - + Are you sure you want to hide the selected tracks? - + Are you sure you want to remove the selected tracks from AutoDJ queue? - + Are you sure you want to remove the selected tracks from this crate? - + Are you sure you want to remove the selected tracks from this playlist? - + Don't ask again during this session - + Confirm track removal @@ -16974,12 +17493,12 @@ This can not be undone! WTrackTableViewHeader - + Show or hide columns. Mostrar/ocultar colunas - + Shuffle Tracks @@ -16987,52 +17506,52 @@ This can not be undone! mixxx::CoreServices - + fonts - + database - + effects - + audio interface - + decks - + library - + Choose music library directory Escolha a pasta da biblioteca musical - + controllers - + Cannot open database Não é possível abrir a base de dados - + Unable to establish a database connection. Mixxx requires QT with SQLite support. Please read the Qt SQL driver documentation for information on how to build it. @@ -17189,6 +17708,24 @@ Clique em OK para sair. A requisição de Rede não foi iniciada + + mixxx::qml::QmlApplication + + + Existing user profile detected + + + + + Trying to run Mixxx 3.0 with an existing %0 user profile! <br><br>There is <b>serious risks</b> of data loss and corruption.<br>We recommend using a test profile folder with the '--settings-path' argument. <br><br>If you want to continue at your own risk, run Mixxx with the argument '--allow-dangerous-data-corruption-risk'. + + + + + Ok + + + mixxx::qml::QmlVisibleEffectsModel @@ -17197,4 +17734,27 @@ Clique em OK para sair. Nenhum efeito carregado. + + mixxx::qml::QmlWaveformRendererMark + + + Cannot find the marker pixmap + + + + + Cannot find the marker endPixmap + + + + + Cannot find the marker icon + + + + + Cannot find the marker endIcon + + + \ No newline at end of file diff --git a/res/translations/mixxx_pt_BR.qm b/res/translations/mixxx_pt_BR.qm index 4c172df81737c76bb1b573ce15db126d1cd75c43..23926ca8d60548cf016816174f73e56420b6e12a 100644 GIT binary patch delta 20919 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 R(bo`;f8zMp5a~+w{{ac1fyn>> diff --git a/res/translations/mixxx_pt_BR.ts b/res/translations/mixxx_pt_BR.ts index 65f6f2adbc28..4f6015b531f7 100644 --- a/res/translations/mixxx_pt_BR.ts +++ b/res/translations/mixxx_pt_BR.ts @@ -8,6 +8,14 @@ + + AllTrackLibraryFeature + + + All... + + + AnalysisFeature @@ -19,52 +27,52 @@ AutoDJFeature - + Crates Caixas - + Enable Auto DJ Habilitar Auto DJ - + Disable Auto DJ Desativar Auto DJ - + Clear Auto DJ Queue Limpar fila do Auto DJ - + Remove Crate as Track Source Remover Caixa como Fonte de Faixas - + Auto DJ Auto DJ - + Confirmation Clear Confirmar limpeza - + Do you really want to remove all tracks from the Auto DJ queue? Você tem certeza que quer remover todas as faixas da fila do Auto DJ? - + This can not be undone. Esta ação não pode ser desfeita. - + Add Crate as Track Source Adicionar Caixa como Fonte de Faixas @@ -223,7 +231,7 @@ - + Export Playlist Exportar Playlist @@ -237,7 +245,7 @@ Export to Engine DJ "Engine DJ" is a product name and must not be translated. - + Exportar para mecanismo DJ @@ -277,13 +285,13 @@ - + Playlist Creation Failed A criação da Lista de reprodução falhou - + An unknown error occurred while creating playlist: Ocorreu um erro desconhecido ao criar a lista de reprodução: @@ -298,12 +306,12 @@ Você realmente deseja excluir a lista de reprodução <b>%1</b>? - + M3U Playlist (*.m3u) Lista de reprodução M3U (*.m3u) - + M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Text CSV (*.csv);;Readable Text (*.txt) Lista de Reprodução M3U (*.m3u);;Lista de Reprodução M3U8 (*.m3u8);;Lista de Reprodução PLS (*.pls);;Texto CSV (*.csv);;Texto (*.txt) @@ -311,12 +319,12 @@ BaseSqlTableModel - + # - + Timestamp Data/Hora @@ -324,7 +332,7 @@ BaseTrackPlayerImpl - + Couldn't load track. Não conseguiu carregar a faixa. @@ -362,7 +370,7 @@ Canais - + Color Cor @@ -377,7 +385,7 @@ Compositor - + Cover Art Arte de Capa @@ -387,7 +395,7 @@ Data Adicionada - + Last Played Última Execução @@ -417,17 +425,17 @@ Tom - + Location Localização Overview - + Visão geral - + Preview Pré-Visualizar @@ -467,7 +475,7 @@ Ano - + Fetching image ... Tooltip text on the cover art column shown when the cover is read from disk Buscando imagem ... @@ -489,22 +497,22 @@ BroadcastProfile - + Can't use secure password storage: keychain access failed. Não é possível usar o armazenamento seguro de senha: o acesso ao keychain falhou. - + Secure password retrieval unsuccessful: keychain access failed. A recuperação segura da senha não foi bem-sucedida: o acesso ao keychain falhou. - + Settings error Erro de configurações - + <b>Error with settings for '%1':</b><br> <b>Erro com configurações para '%1':</b><br> @@ -592,7 +600,7 @@ - + Computer Computador @@ -612,19 +620,19 @@ Examinar - + "Computer" lets you navigate, view, and load tracks from folders on your hard disk and external devices. "Computador" permite que você navegue, veja e carregue faixas de pastas do seu disco rígido ou de dispositivos externos. - + It shows the data from the file tags, not track data from your Mixxx library like other track views. - + Ele mostra os dados das tags do arquivo, não os dados da faixa da sua biblioteca Mixxx como outras visualizações de faixa. - + If you load a track file from here, it will be added to your library. - + Se você carregar um arquivo de faixa daqui, ele será adicionado à sua biblioteca. @@ -735,12 +743,12 @@ Ficheiro Criado - + Mixxx Library Biblioteca Mixxx - + Could not load the following file because it is in use by Mixxx or another application. Não foi possível carregar o seguinte arquivo porque ele está em uso pelo Mixxx ou por outro programa. @@ -755,103 +763,108 @@ The file '%1' could not be loaded. - + O arquivo '%1' não pôde ser carregado. The file '%1' could not be loaded because it contains %2 channels, and only 1 to %3 are supported. - + O arquivo '%1' não pôde ser carregado porque contém %2 canais, e somente 1 a %3 são suportados. The file '%1' is empty and could not be loaded. - + O arquivo '%1' não pôde ser carregado. CmdlineArgs - + Mixxx is an open source DJ software. For more information, see: - + Mixxx é um software de DJ de código aberto. Para mais informações, consulte: - + Starts Mixxx in full-screen mode Começa o Mixxx em tela cheia - + Use a custom locale for loading translations. (e.g 'fr') - + Use um idioma personalizado para carregar traduções. (por exemplo, 'fr') - + Top-level directory where Mixxx should look for its resource files such as MIDI mappings, overriding the default installation location. Diretório de nível alto onde o Mixxx deve procurar por seus arquivos de recursos como mapeamentos MIDI, sendo usado no lugar da localização da instalação. - + Path the debug statistics time line is written to - + Caminho onde a linha do tempo das estatísticas de depuração é escrita - + Causes Mixxx to display/log all of the controller data it receives and script functions it loads - + Faz com que o Mixxx exiba/registre todos os dados do controlador que ele recebe e as funções de script que ele carrega - + The controller mapping will issue more aggressive warnings and errors when detecting misuse of controller APIs. New Controller Mappings should be developed with this option enabled! - + O mapeamento do controlador emitirá avisos e erros mais agressivos ao detectar o uso indevido das APIs do controlador. Novos mapeamentos de controlador devem ser desenvolvidos com esta opção habilitada! - + Enables developer-mode. Includes extra log info, stats on performance, and a Developer tools menu. - + Habilita o modo de desenvolvedor. Inclui informações extras de log, estatísticas de desempenho e um menu de ferramentas para desenvolvedores. - + Top-level directory where Mixxx should look for settings. Default is: - + Diretório de nível superior onde o Mixxx deve procurar as configurações. O padrão é: - + Starts Auto DJ when Mixxx is launched. - + Inicia o Auto DJ quando o Mixxx é iniciado. - + Rescans the library when Mixxx is launched. - + Verifica novamente a biblioteca quando o Mixxx é iniciado. - + Use legacy vu meter - + Use o medidor VU legado - + Use legacy spinny - - Loads experimental QML GUI instead of legacy QWidget skin + + Loads the highly unstable 3.0 Mixxx interface, based on QML. You need to use a new setting profile, or run with 'allow-dangerous-data-corruption-risk' to use with the current one. We highly recommend backing up your data if you do so. - + + Force Mixxx to load an unstable version with an existing user profile from a stable version + + + + Enables safe-mode. Disables OpenGL waveforms, and spinning vinyl widgets. Try this option if Mixxx is crashing on startup. - + [auto|always|never] Use colors on the console output. - + Sets the verbosity of command line logging. critical - Critical/Fatal only warning - Above + Warnings @@ -861,32 +874,32 @@ trace - Above + Profiling messages - + Sets the the logging level at which the log buffer is flushed to mixxx.log. <level> is one of the values defined at --log-level above. - + Sets the maximum file size of the mixxx.log file in bytes. Use -1 for unlimited. The default is 100 MB as 1e5 or 100000000. - + Breaks (SIGINT) Mixxx, if a DEBUG_ASSERT evaluates to false. Under a debugger you can continue afterwards. - + Overrides the default application GUI style. Possible values: %1 - + Load the specified music file(s) at start-up. Each file you specify will be loaded into the next virtual deck. - + Preview rendered controller screens in the Setting windows. @@ -979,2566 +992,2747 @@ trace - Above + Profiling messages ControlPickerMenu - + Headphone Output Saída Auscultador - - - + + + + Deck %1 + %1 is the deck number 1 ... 4 Deck %1 - + Sampler %1 Sampler %1 - + Preview Deck %1 Deck de Pré-Visualização %1 - + Microphone %1 Microfone %1 - + Auxiliary %1 Auxiliar %1 - + Reset to default Redefinir para o padrão - + Effect Rack %1 Rack de Efeitos %1 - + Parameter %1 Parâmetro %1 - + Mixer Mixer - - + + Crossfader Crossfader - + Headphone mix (pre/main) Mixagem do fone (pré/principal) - + Toggle headphone split cueing Ligar/Desligar o cueing dividido no fone - + Headphone delay Atraso Auscultador - + Transport Transporte - + Strip-search through track Busca através da faixa - + Play button Botão de tocar - - + + Set to full volume Volume Máximo - - + + Set to zero volume Ajustar para o volume zero - + Stop button Botão Parar - + Jump to start of track and play Pular para o início da faixa e tocar - + Jump to end of track Pular para o fim da faixa - + Reverse roll (Censor) button Botão de rolagem reversa (Censurar) - + Headphone listen button Tecla de escuta no auscultador - - + + Mute button Tecla de Silêncio - + Toggle repeat mode Ligar/Desligar modo de repetição - - + + Mix orientation (e.g. left, right, center) Orientação da mistura (ex. esquerda, direita, centro) - - + + Set mix orientation to left Definir orientação da mixagem à esquerda - - + + Set mix orientation to center Definir orientação da mixagem para o centro - - + + Set mix orientation to right Definir orientação da mixagem à direita - + Toggle slip mode Ligar/Desligar modo de deslizamento - - + + BPM BPM - + Increase BPM by 1 Aumentar BPM em 1 - + Decrease BPM by 1 Diminuir BPM em 1 - + Increase BPM by 0.1 Aumentar 0,1 BPM - + Decrease BPM by 0.1 Diminuir 0,1 BPM - + BPM tap button Botão de toque do BPM - + Toggle quantize mode Ligar/Desligar modo de quantização - + One-time beat sync (tempo only) Sincronização pontual da batida (só tempo) - + One-time beat sync (phase only) Sincronização pontual da batida (só fase) - + Toggle keylock mode Activar/desactivar o modo de bloqueio - + Equalizers Equalizadores - + Vinyl Control Controlo Vinilo - + Toggle vinyl-control cueing mode (OFF/ONE/HOT) Alternar modo de cue do controle por vinil (OFF/UM/QUENTE) - + Toggle vinyl-control mode (ABS/REL/CONST) Alternar modo de controle por vinil (CONST/ABS/REL) - + Pass through external audio into the internal mixer Atravessa o áudio externo no mixer interno - + Cues Pontos de marcação - + Cue button Botão de marca - + Set cue point Definir ponto cue - + Go to cue point Ir ao ponto cue - + Go to cue point and play Ir ao ponto cue e tocar - + Go to cue point and stop Ir ao ponto cue e parar - + Preview from cue point Antevisão a partir do ponto de marcação - + Cue button (CDJ mode) Botão Cue (modo CDJ) - + Stutter cue Marcação Stutter - + Hotcues Hotcues - + Set, preview from or jump to hotcue %1 Definir, escutar de ou pular ao hotcue %1 - + Clear hotcue %1 Apagar hotcue %1 - + Set hotcue %1 Definir a Hot Cue %1 - + Jump to hotcue %1 Pular para hotcue %1 - + Jump to hotcue %1 and stop Pular para hotcue %1 e parar - + Jump to hotcue %1 and play Pular para hotcue %1 e jogar - + Preview from hotcue %1 Antevisão a partir da Hot Cue %1 - - + + Hotcue %1 Hot Cue %1 - + Looping Looping - + Loop In button Botão de entrada em Loop - + Loop Out button Tecla de Final de Loop - + Loop Exit button Botão de saída de ciclo - + 1/2 1/2 - + 1 1 - + 2 2 - + 4 4 - + 8 8 - + 16 16 - + 32 32 - + 64 64 - + Move loop forward by %1 beats Mover o loop para frente %1 batidas - + Move loop backward by %1 beats Mover o loop para atrás %1 batidas - + Create %1-beat loop Criar um loop de %1-batidas - + Create temporary %1-beat loop roll Criar loop temporário de %1 batidas - + Library Biblioteca - + Slot %1 Compartimento %1 - + Headphone Mix Mistura do auscultador - + Headphone Split Cue Escuta Dividida no Auscultador - + Headphone Delay Atraso Auscultador - + Play Tocar - + Fast Rewind Retrocesso Rápido - + Fast Rewind button Botão de Retrocesso Rápido - + Fast Forward Avanço Rápido - + Fast Forward button Botão de Avanço Rápido - + Strip Search Busca pela Faixa - + Play Reverse Tocar ao Contrário - + Play Reverse button Botão de Tocar ao Contrário - + Reverse Roll (Censor) Rolagem inversa (Censurar) - + Jump To Start Pular para o Início - + Jumps to start of track Pula para o início da faixa - + Play From Start Tocar do Início - + Stop Parar - + Stop And Jump To Start Parar e Pular para o Início - + Stop playback and jump to start of track Parar a reprodução e pular para o início da faixa - + Jump To End Pular para o Final - + Volume Volume - - - + + + Volume Fader Fader de Volume - - + + Full Volume Volume Máximo - - + + Zero Volume Volume Zero - + Track Gain Ganho da Faixa - + Track Gain knob Botão de Ganho da Faixa - - + + Mute Mutar - + Eject Ejetar - - + + Headphone Listen Escuta de Auscultador - + Headphone listen (pfl) button Botão de escuta de auscultador (PFL) - + Repeat Mode Modo Repetir - + Slip Mode Modo Escorregar - - + + Orientation Orientação - - + + Orient Left Orientar Esquerda - - + + Orient Center Orientar Centro - - + + Orient Right Orientação à Direita - + BPM +1 BPM +1 - + BPM -1 BPM -1 - + BPM +0.1 +0,1 BPM - + BPM -0.1 -0,1 BPM - + BPM Tap Bater BPM - + Adjust Beatgrid Faster +.01 Ajustar Grelha de Batidas Mais Rápido +.01 - + Increase track's average BPM by 0.01 Aumentar o BPM médio da faixa por 0,01 - + Adjust Beatgrid Slower -.01 Expandir Grade de Batidas por -,01 - + Decrease track's average BPM by 0.01 Diminuir o BPM médio da faixa por 0,01 - + Move Beatgrid Earlier Mover Grelha de Batidas Cedo - + Adjust the beatgrid to the left Move a grade de batidas à esquerda - + Move Beatgrid Later Mover Grelha de Batidas Tarde - + Adjust the beatgrid to the right Move a grade de batidas à direita - + Adjust Beatgrid Ajustar a grelha ritmica - + Align beatgrid to current position Alinhar a grade de batidas à posição atual - + Adjust Beatgrid - Match Alignment Ajustar a Grade de Batidas - Combinar Alinhamento - + Adjust beatgrid to match another playing deck. Ajusta a grelha de batidas para corresponder um outro leitor em reprodução. - + Quantize Mode Modo Quantização - + Sync Sincronizar - + Beat Sync One-Shot Sincronizar a Batida De Uma Vez - + Sync Tempo One-Shot Sincronizar o Tempo De Uma Vez - + Sync Phase One-Shot Sincronizar a Fase De Uma Vez - + Pitch control (does not affect tempo), center is original pitch Controle do pitch (não afeta o tempo), o centro é o pitch original - + Pitch Adjust Ajustar o Pitch - + Adjust pitch from speed slider pitch Ajusta o pitch do deslizante de velocidade pitch - + Match musical key Igualar tom musical - + Match Key Igualar Tom - + Reset Key Redefinir o Tom - + Resets key to original Redefine o tom para o original - + High EQ EQ de Agudos - + Mid EQ EQ de Médios - - + + Main Output - + Main Output Balance - + Main Output Delay - + Main Output Gain - + Low EQ EQ de Graves - + Toggle Vinyl Control Ligar/Desligar o Controle por Vinil - + Toggle Vinyl Control (ON/OFF) Alternar o Controle por Vinil (Ligado/Desligado) - + Vinyl Control Mode Modo de Controle por Vinil - + Vinyl Control Cueing Mode Modo de Cue do Controle por Vinil - + Vinyl Control Passthrough Repasse do Controle por Vinil - + Vinyl Control Next Deck Próximo Deck do Controle por Vinil - + Single deck mode - Switch vinyl control to next deck Modo de deck único - Mudar o controle por vinil para o próximo deck - + Cue Cue - + Set Cue Definir Cue - + Go-To Cue Ir Para Cue - + Go-To Cue And Play Ir Para Cue e Tocar - + Go-To Cue And Stop Ir Para Cue e Parar - + Preview Cue Escutar Cue - + Cue (CDJ Mode) Cue (Modo CDJ) - + Stutter Cue Marcação Stutter - + Go to cue point and play after release Avança até ao Cue Point e toca a faixa após largar o botão. - + Clear Hotcue %1 Limpar Hotcue %1 - + Set Hotcue %1 Definir Hotcue %1 - + Jump To Hotcue %1 Pular Para Hotcue %1 - + Jump To Hotcue %1 And Stop Pular Para Hotcue %1 e Parar - + Jump To Hotcue %1 And Play Pular Para Hotcue %1 e Tocar - + Preview Hotcue %1 Escutar Hotcue %1 - + Loop In Entrada do Loop - + Loop Out Saída do Loop - + Loop Exit Saída do Loop - + Reloop/Exit Loop Reloopar/Sair do Loop - + Loop Halve Divide o Loop pela Metade - + Loop Double Dobrar o Loop - + 1/32 1/32 - + 1/16 1/16 - + 1/8 1/8 - + 1/4 1/4 - + Move Loop +%1 Beats Mover o Loop +%1 Batidas - + Move Loop -%1 Beats Mover o Loop -%1 Batidas - + Loop %1 Beats Loopar %1 Batidas - + Loop Roll %1 Beats Loopar Temporariamente %1 Batidas - + Add to Auto DJ Queue (bottom) Adicionar à fila do Auto DJ (embaixo) - + Append the selected track to the Auto DJ Queue Coloca a faixa selecionada no final da fila Auto DJ - + Add to Auto DJ Queue (top) Adicionar à Fila do Auto DJ (em cima) - + Prepend selected track to the Auto DJ Queue Adicionar a faixa selecionada no começo da fila do Auto DJ - + Load Track Carregar Faixa - + Load selected track Carregar faixa selecionada - + Load selected track and play Carregar faixa selecionada e tocar - - + + Record Mix Gravar Mixagem - + Toggle mix recording Ligar/Desligar gravação da mixagem - + Effects Efeitos - - Quick Effects - Efeitos Rápidos - - - + Deck %1 Quick Effect Super Knob Super Botão de Efeito Rápido do Deck %1 - + + Quick Effect Super Knob (control linked effect parameters) Super Botão de Efeito Rápido (controla parâmetros de efeito ligados) - - + + + + Quick Effect Efeito Rápido - + Clear Unit Limpar Unidade - + Clear effect unit Limpar unidade de efeitos - + Toggle Unit Ligar/Desligar Unidade - + Dry/Wet Seco/Molhado - + Adjust the balance between the original (dry) and processed (wet) signal. Define o balançoentre o sinal original (seco) e o processado (molhado). - + Super Knob Super Botão - + Next Chain Próxima Corrente - + Assign Atribuir - + Clear Limpar - + Clear the current effect Limpar o efeito atual - + Toggle Ligar/Desligar - + Toggle the current effect Ligar/Desligar o efeito atual - + Next Próximo - + Switch to next effect Muda para o próximo efeito - + Previous Anterior - + Switch to the previous effect Trocar para o efeito anterior - + Next or Previous Próximo ou Anterior - + Switch to either next or previous effect Muda para o efeito seguinte ou anterior - - + + Parameter Value Valor do Parâmetro - - + + Microphone Ducking Strength Força da Redução de Música do Microfone - + Microphone Ducking Mode Modo de Redução de Música do Microfone - + Gain Ganho - + Gain knob Botão de ganho - + Shuffle the content of the Auto DJ queue Reproduzir aleatoriamente o conteúdo da fila Auto DJ - + Skip the next track in the Auto DJ queue Pular a próxima faixa na fila do Auto DJ - + Auto DJ Toggle Ligar/Desligar Auto DJ - + Toggle Auto DJ On/Off Ligar/Desligar Auto DJ - + Show/hide the microphone & auxiliary section - + 4 Effect Units Show/Hide - + Switches between showing 2 and 4 effect units - + Mixer Show/Hide - + Show or hide the mixer. Mostra ou oculta o mixer. - + Cover Art Show/Hide (Library) - + Show/hide cover art in the library - + Library Maximize/Restore Maximizar/Restaurar Biblioteca - + Maximize the track library to take up all the available screen space. Maximiza a biblioteca de faixas para ocupar todo o espaço de tela disponível. - + Effect Rack Show/Hide Mostrar/Ocultar Prateleira de Efeitos - + Show/hide the effect rack Mostra/Oculta a prateleira de efeitos - + Waveform Zoom Out Afastar Ondas - + Headphone Gain Ganho do Fone - + Headphone gain Ganho do fone - + Tap to sync tempo (and phase with quantize enabled), hold to enable permanent sync Toque para sincronizar o tempo (e fase com a quantização ativada), segure para ativar a sincronização permanente - + One-time beat sync tempo (and phase with quantize enabled) Tempo de sincronização de batida única (e fase com quantização ativada) - + Playback Speed Velocidade da Reprodução - + Playback speed control (Vinyl "Pitch" slider) Controle da velocidade da reprodução (Deslizante de "Pitch" do Vinil) - + Pitch (Musical key) Pitch (Tom musical) - + Increase Speed Aumentar a Velocidade - + Adjust speed faster (coarse) Aumentar a velocidade (grosso) - + Increase Speed (Fine) Aumentar a Velocidade (Fino) - + Adjust speed faster (fine) Aumentar a velocidade (fino) - + Decrease Speed Diminuir a Velocidade - + Adjust speed slower (coarse) Diminuir a velocidade (grosso) - + Adjust speed slower (fine) Diminuir a velocidade (fino) - + Temporarily Increase Speed Temporariamente Aumentar a Velocidade - + Temporarily increase speed (coarse) Temporariamente aumentar a velocidade (grosso) - + Temporarily Increase Speed (Fine) Temporariamente Aumentar a Velocidade (Fino) - + Temporarily increase speed (fine) Temporariamente aumentar a velocidade (fino) - + Temporarily Decrease Speed Temporariamente Diminuir a Velocidade - + Temporarily decrease speed (coarse) Temporariamente diminuir a velocidade (grosso) - + Temporarily Decrease Speed (Fine) Temporariamente Diminuir a Velocidade (Fino) - + Temporarily decrease speed (fine) Temporariamente diminuir a velocidade (fino) - - + + Adjust %1 Ajustar %1 - + + Deck %1 Stem %2 + + + + Effect Unit %1 - + Button Parameter %1 - + Skin Skin - + Controller Controladora - + Crossfader / Orientation - + Main Output gain - + Main Output balance - + Main Output delay - + Headphone Fone - - + + Kill %1 + %1 is "Low EQ" "Mid EQ" or "High EQ" Matar %1 - + Eject or un-eject track, i.e. reload the last-ejected track (of any deck)<br>Double-press to reload the last replaced track. In empty decks it reloads the second-last ejected track. - + BPM / Beatgrid - + Halve BPM - + Multiply current BPM by 0.5 - + 2/3 BPM - + Multiply current BPM by 0.666 - + 3/4 BPM - + Multiply current BPM by 0.75 - + 4/3 BPM - + Multiply current BPM by 1.333 - + 3/2 BPM - + Multiply current BPM by 1.5 - + Double BPM - + Multiply current BPM by 2 - + Tempo Tap - + Tempo tap button - + Move Beatgrid - + Adjust the beatgrid to the left or right - + Move Beatgrid Half a Beat - + Adjust the beatgrid by exactly one half beat. Usable only for tracks with constant tempo. - - + + Toggle the BPM/beatgrid lock - + Revert last BPM/Beatgrid Change - + Revert last BPM/Beatgrid Change of the loaded track. - + Sync / Sync Lock - + Internal Sync Leader - + Toggle Internal Sync Leader - - + + Internal Leader BPM - + Internal Leader BPM +1 - + Increase internal Leader BPM by 1 - + Internal Leader BPM -1 - + Decrease internal Leader BPM by 1 - + Internal Leader BPM +0.1 - + Increase internal Leader BPM by 0.1 - + Internal Leader BPM -0.1 - + Decrease internal Leader BPM by 0.1 - + Sync Leader - + Sync mode 3-state toggle / indicator (Off, Soft Leader, Explicit Leader) - + Speed Velocidade - + Decrease Speed (Fine) Diminuir velocidade (Fino) - + Pitch (Musical Key) Pitch (Tom musical) - + Increase Pitch - + Increases the pitch by one semitone - + Increase Pitch (Fine) - + Increases the pitch by 10 cents - + Decrease Pitch - + Decreases the pitch by one semitone - + Decrease Pitch (Fine) - + Decreases the pitch by 10 cents - + Keylock Trava de Tom - + CUP (Cue + Play) CUP (Cue + Play, ou seja Cue + Toca a faixa) - + Shift cue points earlier - + Shift cue points 10 milliseconds earlier - + Shift cue points earlier (fine) - + Shift cue points 1 millisecond earlier - + Shift cue points later - + Shift cue points 10 milliseconds later - + Shift cue points later (fine) - + Shift cue points 1 millisecond later - - + + Sort hotcues by position - - + + Sort hotcues by position (remove offsets) - + Hotcues %1-%2 - + Intro / Outro Markers - + Intro Start Marker - + Intro End Marker - + Outro Start Marker - + Outro End Marker - + intro start marker - + intro end marker - + outro start marker - + outro end marker - + Activate %1 [intro/outro marker - + Jump to or set the %1 [intro/outro marker - + Set %1 [intro/outro marker - + Set or jump to the %1 [intro/outro marker - + Clear %1 [intro/outro marker - + Clear the %1 [intro/outro marker - + if the track has no beats the unit is seconds - + Loop Selected Beats Loop de Batidas Selecionadas - + Create a beat loop of selected beat size Criar um loop de batida do tamanho de batida selecionada - + Loop Roll Selected Beats Batidas Selecionadas da Lista de Loop - + Create a rolling beat loop of selected beat size Crie um loop de batida contínua do tamanho de batida selecionada - + Loop %1 Beats set from its end point - + Loop Roll %1 Beats set from its end point - + Create %1-beat loop with the current play position as loop end - + Create temporary %1-beat loop roll with the current play position as loop end - + Loop Beats - + Loop Roll Beats - + Go To Loop In Ir para Loop In - + Go to Loop In button Botão de Ir para o Início do Loop - + Go To Loop Out Ir para o Fim do Loop - + Go to Loop Out button Botão de Ir para o Fim do Loop - + Toggle loop on/off and jump to Loop In point if loop is behind play position Ative/desative a alternância do loop e pule para o ponto Loop In se o loop estiver atrás da posição de reprodução - + Reloop And Stop Reloop e Parar - + Enable loop, jump to Loop In point, and stop Ative o loop, pule para o ponto Loop In e pare - + Halve the loop length Reduzir o loop pela metade - + Double the loop length Dobrar o tamanho do loop atual - + Beat Jump / Loop Move Pular batidas e mover loops - + Jump / Move Loop Forward %1 Beats Mover o loop para frente %1 batidas - + Jump / Move Loop Backward %1 Beats Mover o loop para atrás %1 batidas - + Jump forward by %1 beats, or if a loop is enabled, move the loop forward %1 beats Saltar para a frente %1 batidas, ou se o loop estiver ativado, mover o loop para a frente %1 batidas - + Jump backward by %1 beats, or if a loop is enabled, move the loop backward %1 beats Saltar para trás %1 batidas, ou se o loop estiver ativado, mover o loop para trás %1 batidas - + Beat Jump / Loop Move Forward Selected Beats Saltar Batidas / Mover Loop Frente Batidas Selecionadas - + Jump forward by the selected number of beats, or if a loop is enabled, move the loop forward by the selected number of beats Saltar para a frente do número de batidas selecionadas, ou se o loop estiver ativado, mover o loop para a frente o número de batidas selecionadas - + Beat Jump / Loop Move Backward Selected Beats Saltar Batida / Mover Loop Atraso Batidas Selecionadas - + Jump backward by the selected number of beats, or if a loop is enabled, move the loop backward by the selected number of beats Saltar para trás o número de batidas selecionadas, ou se o loop estiver ativado, mover o loop para trás o número de batidas selecionadas - + Beat Jump - + Indicate which loop marker remain static when adjusting the size or is inherited from the current position - + Beat Jump / Loop Move Forward - + Beat Jump / Loop Move Backward - + Loop Move Forward - + Loop Move Backward - + Remove Temporary Loop - + Remove the temporary loop - + Navigation Navegação - + Move up Mover acima - + Equivalent to pressing the UP key on the keyboard Equivalente a pressionar a SETA ACIMA no teclado - + Move down Mover abaixo - + Equivalent to pressing the DOWN key on the keyboard Equivalente a pressionar a SETA ABAIXO no teclado - + Move up/down Mover acima/abaixo - + Move vertically in either direction using a knob, as if pressing UP/DOWN keys Move verticalmente em uma das direções usando um botão, como se pressionasse as teclas ACIMA/ABAIXO - + Scroll Up Rolar acima - + Equivalent to pressing the PAGE UP key on the keyboard Equivalente a pressionar a tecla PAGE UP no teclado - + Scroll Down Rolar abaixo - + Equivalent to pressing the PAGE DOWN key on the keyboard Equivalente a pressionar a tecla PAGE DOWN no teclado - + Scroll up/down Rolar acima/abaixo - + Scroll vertically in either direction using a knob, as if pressing PGUP/PGDOWN keys Rolar verticalmente em uma das direções usando um botão, como se pressionasse as teclas PAGE UP/PAGE DOWN - + Move left Mover à esquerda - + Equivalent to pressing the LEFT key on the keyboard Equivalente a pressionar a SETA À ESQUERDA no teclado - + Move right Mover à direita - + Equivalent to pressing the RIGHT key on the keyboard Equivalente a pressionar a SETA À DIREITA no teclado - + Move left/right Mover à esquerda/direita - + Move horizontally in either direction using a knob, as if pressing LEFT/RIGHT keys Mova horizontalmente em uma das direções usando um botão, como ao pressionar as teclas ESQUERDA/DIREITA - + Move focus to right pane Move o foco ao painel da direita - + Equivalent to pressing the TAB key on the keyboard Equivalente a pressionar a tecla TAB no teclado - + Move focus to left pane Move o foco ao painel da esquerda - + Equivalent to pressing the SHIFT+TAB key on the keyboard Equivalente a pressionar SHIFT+TAB no teclado - + Move focus to right/left pane Move o foco ao painel da direita/esquerda - + Move focus one pane to right or left using a knob, as if pressing TAB/SHIFT+TAB keys Move o foco um painel à direita ou esquerda usando um botão, como se pressionasse TAB/SHIFT-TAB - + Sort focused column - + Sort the column of the cell that is currently focused, equivalent to clicking on its header - + Go to the currently selected item Ir para o item seleccionado correntemente - + Choose the currently selected item and advance forward one pane if appropriate Escolher o item seleccionado correntemente e avançar um para a frente - + Load Track and Play - + Add to Auto DJ Queue (replace) Adicionar à Fila Auto DJ (Substituir) - + Replace Auto DJ Queue with selected tracks Substituir Fila Auto DJ com as faixas selecionadas - + Select next search history - + Selects the next search history entry - + Select previous search history - + Selects the previous search history entry - + Move selected search entry - + Moves the selected search history item into given direction and steps - + Clear search - + Clears the search query - - + + Select Next Color Available - + Select the next color in the color palette for the first selected track - - + + Select Previous Color Available - + Select the previous color in the color palette for the first selected track - + + Quick Effects Deck %1 + + + + Deck %1 Quick Effect Enable Button Botão de Ativar Efeito Rápido no Leitor %1 - + + Quick Effect Enable Button Botão de Ativar Efeito Rápido - + + Deck %1 Stem %2 Quick Effect Super Knob + + + + + Deck %1 Stem %2 Quick Effect Enable Button + + + + Enable or disable effect processing Ativar ou desativar processamento de efeitos - + Super Knob (control effects' Meta Knobs) Super Botão (controla os efeitos dos Meta Botões) - + Mix Mode Toggle Alternar Modo Mistura - + Toggle effect unit between D/W and D+W modes Alternar unidade de efeito entre os modos S/M e S+M - + Next chain preset Próxima prédefinição de corrente - + Previous Chain Corrente Anterior - + Previous chain preset Prédefinição de corrente anterior - + Next/Previous Chain Corrente Seguinte/Anterior - + Next or previous chain preset Prédefinição da corrente seguinte ou anterior - - + + Show Effect Parameters Mostrar Parâmetros do Efeito - + Effect Unit Assignment - + Meta Knob Botão Meta - + Effect Meta Knob (control linked effect parameters) Meta Botão Efeitos (controla os parâmetros dos efeitos a que está ligado) - + Meta Knob Mode Modo Meta Botão - + Set how linked effect parameters change when turning the Meta Knob. Define como mudam os efeitos a que está ligado, quando se roda o Meta Botão. - + Meta Knob Mode Invert Inverter Modo Meta Botão - + Invert how linked effect parameters change when turning the Meta Knob. Inverter como mudam os efeitos a que está ligado, quando se roda o Meta Botão. - - + + Button Parameter Value - + Microphone / Auxiliary Microfone / Auxiliar - + Microphone On/Off Ligar/Desligar Microfone - + Microphone on/off Microfone ligado/desligado - + Toggle microphone ducking mode (OFF, AUTO, MANUAL) Alternar entre modos de redução de música do microfone (DESLIGADO, AUTOMÁTICO, MANUAL) - + Auxiliary On/Off Ligar/Desligar Auxiliar - + Auxiliary on/off Ligar/Desligar Auxiliar - + Auto DJ Auto DJ - + Auto DJ Shuffle Embaralhar o Auto DJ - + Auto DJ Skip Next Pular a Próxima no Auto DJ - + Auto DJ Add Random Track - + Add a random track to the Auto DJ queue - + Auto DJ Fade To Next Trocar Para a Próxima no Auto DJ - + Trigger the transition to the next track Inicia a transição para a próxima música - + User Interface Interface do Usuário - + Samplers Show/Hide Mostrar/Ocultar Samplers - - Show/hide the sampler section - Mostrar/Ocultar a seção dos samplers + + Show/hide the sampler section + Mostrar/Ocultar a seção dos samplers + + + + Microphone && Auxiliary Show/Hide + keep double & to prevent creation of keyboard accelerator + + + + + Waveform Zoom Reset To Default + + + + + Reset the waveform zoom level to the default value selected in Preferences -> Waveforms + + + + + Select the next color in the color palette for the loaded track. + + + + + Select previous color in the color palette for the loaded track. + + + + + Navigate Through Track Colors + + + + + Select either next or previous color in the palette for the loaded track. + + + + + Start/Stop Live Broadcasting + + + + + Stream your mix over the Internet. + Transmite sua mixagem pela Internet. + + + + Start/stop recording your mix. + + + + + + Deck %1 Stems + + + + + + Samplers + + + + + Vinyl Control Show/Hide + Mostrar/Ocultar Controle por Vinil + + + + Show/hide the vinyl control section + Mostrar/Ocultar a seção controle por vinil + + + + Preview Deck Show/Hide + Mostrar/Ocultar Deck de Pré-escuta + + + + Show/hide the preview deck + Mostrar/Ocultar o deck de pré-escuta + + + + Toggle 4 Decks + Ligar/Desligar 4 Decks + + + + Switches between showing 2 decks and 4 decks. + Troca entre a visualização de 2 decks e 4 decks. + + + + Cover Art Show/Hide (Decks) + + + + + Show/hide cover art in the main decks + + + + + Vinyl Spinner Show/Hide + Mostrar/Ocultar Vinil Giratório + + + + Show/hide spinning vinyl widget + Mostrar/Ocultar a janela do vinil giratório + + + + Vinyl Spinners Show/Hide (All Decks) + + + + + Show/Hide all spinnies + + + + + Toggle Waveforms + + + + + Show/hide the scrolling waveforms. + Mostrar/esconder as ondas. + + + + Waveform zoom + Aproximação das ondas + + + + Waveform Zoom + Aproximação das Ondas + + + + Zoom waveform in + Aproximar ondas + + + + Waveform Zoom In + Aproximar Ondas - - Microphone && Auxiliary Show/Hide - keep double & to prevent creation of keyboard accelerator - + + Zoom waveform out + Reduzir a forma de onda - - Waveform Zoom Reset To Default + + Star Rating Up - - Reset the waveform zoom level to the default value selected in Preferences -> Waveforms + + Increase the track rating by one star - - Select the next color in the color palette for the loaded track. + + Star Rating Down - - Select previous color in the color palette for the loaded track. + + Decrease the track rating by one star + + + Controller - - Navigate Through Track Colors + + Unknown + + + ControllerHidReportTabsManager - - Select either next or previous color in the palette for the loaded track. + + Read - - Start/Stop Live Broadcasting + + Send - - Stream your mix over the Internet. - Transmite sua mixagem pela Internet. + + Payload Size + - - Start/stop recording your mix. + + bytes - - - Samplers + + Byte Position - - Vinyl Control Show/Hide - Mostrar/Ocultar Controle por Vinil + + Bit Position + - - Show/hide the vinyl control section - Mostrar/Ocultar a seção controle por vinil + + Bit Size + - - Preview Deck Show/Hide - Mostrar/Ocultar Deck de Pré-escuta + + Logical Min + - - Show/hide the preview deck - Mostrar/Ocultar o deck de pré-escuta + + Logical Max + - - Toggle 4 Decks - Ligar/Desligar 4 Decks + + Value + - - Switches between showing 2 decks and 4 decks. - Troca entre a visualização de 2 decks e 4 decks. + + Physical Min + - - Cover Art Show/Hide (Decks) + + Physical Max - - Show/hide cover art in the main decks + + Unit Scaling - - Vinyl Spinner Show/Hide - Mostrar/Ocultar Vinil Giratório + + Unit + - - Show/hide spinning vinyl widget - Mostrar/Ocultar a janela do vinil giratório + + Abs/Rel + - - Vinyl Spinners Show/Hide (All Decks) + + + Wrap - - Show/Hide all spinnies + + + Linear - - Toggle Waveforms + + + Preferred - - Show/hide the scrolling waveforms. - Mostrar/esconder as ondas. + + + Null + - - Waveform zoom - Aproximação das ondas + + + Volatile + - - Waveform Zoom - Aproximação das Ondas + + Usage Page + - - Zoom waveform in - Aproximar ondas + + Usage + - - Waveform Zoom In - Aproximar Ondas + + Relative + - - Zoom waveform out - Reduzir a forma de onda + + Absolute + - - Star Rating Up + + No Wrap - - Increase the track rating by one star + + Non Linear - - Star Rating Down + + No Preferred - - Decrease the track rating by one star + + No Null - - - Controller - - Unknown + + Non Volatile @@ -3677,27 +3871,27 @@ trace - Above + Profiling messages ControllerScriptEngineLegacy - + Controller Mapping File Problem - + The mapping for controller "%1" cannot be opened. - + The functionality provided by this controller mapping will be disabled until the issue has been resolved. - + File: - + Error: @@ -3730,7 +3924,7 @@ trace - Above + Profiling messages - + Lock Travar @@ -3760,7 +3954,7 @@ trace - Above + Profiling messages Fonte de Faixas do Auto DJ - + Enter new name for crate: Digite um novo nome para a caixa: @@ -3777,22 +3971,22 @@ trace - Above + Profiling messages Importar Caixa - + Export Crate Exportar Caixa - + Unlock Destravar - + An unknown error occurred while creating crate: Ocorreu um erro desconhecido durante a criação do caixa: - + Rename Crate Renomear Caixa @@ -3802,28 +3996,28 @@ trace - Above + Profiling messages - + Confirm Deletion - - + + Renaming Crate Failed Falha ao Renomear Caixa - + Crate Creation Failed Criação da Caixa Falhou - + M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Text CSV (*.csv);;Readable Text (*.txt) Lista de Reprodução M3U (*.m3u);;Lista de Reprodução M3U8 (*.m3u8);;Lista de Reprodução PLS (*.pls);;Texto CSV (*.csv);;Texto (*.txt) - + M3U Playlist (*.m3u) Lista de Reprodução M3U (*.m3u) @@ -3844,17 +4038,17 @@ trace - Above + Profiling messages Este recurso de caixas permite que você organize sua música do jeito que preferir! - + Do you really want to delete crate <b>%1</b>? - + A crate cannot have a blank name. A caixa não pode ter um nome em branco. - + A crate by that name already exists. Já existe uma caixa com este nome. @@ -3949,12 +4143,12 @@ trace - Above + Profiling messages Contribuidores Anteriores - + Official Website - + Donate @@ -4747,122 +4941,139 @@ Você tentou mapear: %1,%2 DlgPrefBroadcast - + Icecast 2 Icecast 2 - + Shoutcast 1 Shoutcast 1 - + Icecast 1 Icecast 1 - + MP3 MP3 - + Ogg Vorbis Ogg Vorbis - + Opus Opus - + AAC AAC - + HE-AAC HE-AAC - + HE-AACv2 HE-AACv2 - + Automatic Automático - + Mono Mono - + Stereo Estéreo - - - - + + Saving settings failed + + + + + The password for '%1' contains invalid characters. Please enter it again. + +Note: This can for example be invisible linebreaks when using copy/paste. + + + + + + Action failed Ação falhou - + You can't create more than %1 source connections. Não pode criar mais de %1 ligações fonte. - + Source connection %1 Ligação fonte %1 - + + Settings for %1 + Settings for broadcast profile, %1 is the profile name placeholder + + + + At least one source connection is required. É necessária pelo menos uma ligação fonte. - + Are you sure you want to disconnect every active source connection? Tem a certeza que quer desligar todas as ligações fonte ativas? - - + + Confirmation required Confirmação necessária - + '%1' has the same Icecast mountpoint as '%2'. Two source connections to the same server that have the same mountpoint can not be enabled simultaneously. - + Are you sure you want to delete '%1'? Tem a certeza que quer apagar '%1'? - + Renaming '%1' Renomeando '%1' - + New name for '%1': Novo nome para '%1': - + Can't rename '%1' to '%2': name already in use Não pode renomear '%1' para '%2': nome já em uso @@ -4875,27 +5086,27 @@ Two source connections to the same server that have the same mountpoint can not Preferências da Transmissão Ao Vivo - + Mixxx Icecast Testing Teste do Icecast no Mixxx - + Public stream Stream pública - + http://www.mixxx.org http://www.mixxx.org - + Stream name Nome da stream - + Due to flaws in some streaming clients, updating Ogg Vorbis metadata dynamically can cause listener glitches and disconnections. Check this box to update the metadata anyway. Devido à falhas em alguns clientes de reprodução, atualizar os metadados Ogg Vorbis dinamicamente pode causar pausas e desconexões nos ouvintes. Marque esta caixa para atualizar os metadados de qualquer jeito. @@ -4935,67 +5146,72 @@ Two source connections to the same server that have the same mountpoint can not Definições para %1 - + + Available fields: $artist, $title, $year, $album, $genre, $bpm + + + + Dynamically update Ogg Vorbis metadata. Atualizar os metadados Ogg Vorbis dinamicamente. - + ICQ ICQ - + AIM AIM - + Website Site - + Live mix Mixagem ao vivo - + IRC IRC - + Select a source connection above to edit its settings here Selecionar uma ligação fonte acima para editar as suas definições aqui - + Password storage Armazenamento Palavra Passe - + Plain text Texto puro - + Secure storage (OS keychain) Armazenamento seguro (Porta chaves do SO) - + Genre Gênero - + Use UTF-8 encoding for metadata. Utlizar codificação UTF-8 para os metadados. - + Description Descrição @@ -5021,42 +5237,42 @@ Two source connections to the same server that have the same mountpoint can not Canais - + Server connection Conexão do servidor - + Type Tipo - + Host Host - + Login Login - + Mount Montagem - + Port Porta - + Password Senha - + Stream info Informações do Fluxo @@ -5066,17 +5282,17 @@ Two source connections to the same server that have the same mountpoint can not Metadado - + Use static artist and title. Usar artista e título estáticos. - + Static title Título estático - + Static artist Artista estático @@ -5135,13 +5351,14 @@ Two source connections to the same server that have the same mountpoint can not DlgPrefColors - - + + + By hotcue number Por número do hotcue - + Color @@ -5186,17 +5403,22 @@ Two source connections to the same server that have the same mountpoint can not + Jump default color + + + + When key colors are enabled, Mixxx will display a color hint associated with each key. - + Enable Key Colors - + Key palette @@ -5204,114 +5426,114 @@ associated with each key. DlgPrefController - + Apply device settings? Aplicar configurações dos dispositivos? - + Your settings must be applied before starting the learning wizard. Apply settings and continue? Suas configurações devem ser aplicadas antes de começar o assistente de configuração. Aplicar as configurações e continuar? - + None Nenhuma - + %1 by %2 %1 por %2 - + Mapping has been edited - + Always overwrite during this session - + Save As - + Overwrite - + Save user mapping - + Enter the name for saving the mapping to the user folder. - + Saving mapping failed - + A mapping cannot have a blank name and may not contain special characters. - + A mapping file with that name already exists. - + Do you want to save the changes? - + Troubleshooting Solução de Problemas - + <font color='#BB0000'><b>If you use this mapping your controller may not work correctly. Please select another mapping or disable the controller.</b></font><br><br>This mapping was designed for a newer Mixxx Controller Engine and cannot be used on your current Mixxx installation.<br>Your Mixxx installation has Controller Engine version %1. This mapping requires a Controller Engine version >= %2.<br><br>For more information visit the wiki page on <a href='https://mixxx.org/wiki/doku.php/controller_engine_versions'>Controller Engine Versions</a>. - + Mapping already exists. - + <b>%1</b> already exists in user mapping folder.<br>Overwrite or save with a new name? - + Clear Input Mappings Limpar Mapeamentos de Entrada - + Are you sure you want to clear all input mappings? Tem certeza de que deseja limpar todos os mapeamentos de entrada? - + Clear Output Mappings Limpar Mapeamentos de Saída - + Are you sure you want to clear all output mappings? Tem certeza de que deseja limpar todos os mapeamentos de saída? @@ -5329,100 +5551,105 @@ Aplicar as configurações e continuar? Ativada - + + Refresh mapping list + + + + Device Info - + Physical Interface: - + Vendor name: - + Product name: - + Vendor ID - + VID: - + Product ID - + PID: - + Serial number: - + USB interface number: - + HID Usage-Page: - + HID Usage: - + Description: Descrição: - + Support: Compatível: - + Screens preview - + Input Mappings Mapeamento de Entrada - - + + Search Pesquisa - - + + Add Adicionar - - + + Remove Remover @@ -5442,17 +5669,17 @@ Aplicar as configurações e continuar? - + Mapping Info - + Author: Autor: - + Name: Nome: @@ -5462,28 +5689,28 @@ Aplicar as configurações e continuar? Assistente de Configuração (Somente MIDI) - + Data protocol: - + Mapping Files: - + Mapping Settings - - + + Clear All Limpar Tudo - + Output Mappings Mapeamento de Saída @@ -5498,21 +5725,21 @@ Aplicar as configurações e continuar? - Mixxx uses "mappings" to connect messages from your controller to controls in Mixxx. If you do not see a mapping for your controller in the "Load Mapping" menu when you click on your controller on the left sidebar, you may be able to download one online from the %1. Place the XML (.xml) and Javascript (.js) file(s) in the "User Mapping Folder" then restart Mixxx. If you download a mapping in a ZIP file, extract the XML and Javascript file(s) from the ZIP file to your "User Mapping Folder" then restart Mixxx. + Mixxx uses "mappings" to connect messages from your controller to controls in Mixxx. If you do not see a mapping for your controller in the "Load Mapping" menu when you click on your controller on the left sidebar, you may be able to download one online from the %1. Place the XML (.xml) and Javascript (.js) file(s) in the "User Mapping Folder" then click the Reload button next to the mapping selector to reload all available mappings. If you download a mapping in a ZIP file, extract the XML and Javascript file(s) from the ZIP file to your "User Mapping Folder" then click the Reload button. - + Mixxx DJ Hardware Guide - + MIDI Mapping File Format - + MIDI Scripting with Javascript @@ -5681,137 +5908,137 @@ Aplicar as configurações e continuar? DlgPrefDeck - + Mixxx mode Modo Mixxx - + Mixxx mode (no blinking) Modo Mixxx (sem piscar) - + Pioneer mode Modo Pioneer - + Denon mode Modo Denon - + Numark mode Modo Numark - + CUP mode Modo CUP - + mm:ss%1zz - Traditional mm:ss%1zz - Tradicional - + mm:ss - Traditional (Coarse) - + s%1zz - Seconds - + sss%1zz - Seconds (Long) - + s%1sss%2zz - Kiloseconds - + Intro start - + Main cue - + First hotcue - + First sound (skip silence) - + Beginning of track - + Reject - + Allow, but stop deck - + Allow, play from load point - + 4% 4% - + 6% (semitone) 6% (semitom) - + 8% (Technics SL-1210) 8% (Technics SL-1210) - + 10% 10% - + 16% 16% - + 24% 24% - + 50% 50% - + 90% 90% @@ -6271,57 +6498,57 @@ You can always drag-and-drop tracks on screen to clone a deck. O tamanho mínimo da skin selecionada é maior do que a sua resolução de tela. - + Allow screensaver to run Permitir que o protetor de tela execute - + Prevent screensaver from running Prevenir que o protetor de tela execute - + Prevent screensaver while playing Prevenir o protetor de tela quando tocando - + Disabled - + 2x MSAA - + 4x MSAA - + 8x MSAA - + 16x MSAA - + This skin does not support color schemes Esta skin não suporta esquemas de cor - + Information Informação - + Mixxx must be restarted before the new locale, scaling or multi-sampling settings will take effect. @@ -6548,67 +6775,97 @@ and allows you to pitch adjust them for harmonic mixing. - + Music Directory Added Diretório de Músicas Adicionado - + You added one or more music directories. The tracks in these directories won't be available until you rescan your library. Would you like to rescan now? Você adicionou um ou mais diretórios de música. As faixas nesses diretórios não ficarão disponíveis até que você reexamine sua biblioteca. Você quer reexaminar agora? - + Scan Examinar - + Item is not a directory or directory is missing - + Choose a music directory Escolha um diretório de músicas - + Confirm Directory Removal Confirmar a Remoção do Diretório - + Mixxx will no longer watch this directory for new tracks. What would you like to do with the tracks from this directory and subdirectories?<ul><li>Hide all tracks from this directory and subdirectories.</li><li>Delete all metadata for these tracks from Mixxx permanently.</li><li>Leave the tracks unchanged in your library.</li></ul>Hiding tracks saves their metadata in case you re-add them in the future. O Mixxx não vai mais procurar por novas faixas neste diretório. O que você gostaria de fazer com as faixas deste diretório e subdiretório?<ul><li>Ocultar todas as faixas deste diretório e subdiretórios.</li><li>Excluir todos os metadados para estas faixas do Mixxx permanentemente</li><li>Deixar as faixas inalteradas na sua biblioteca.</li></ul>As faixas ocultas continuarão com os metadados, no caso de você readicioná-las no futuro. - + Metadata means all track details (artist, title, playcount, etc.) as well as beatgrids, hotcues, and loops. This choice only affects the Mixxx library. No files on disk will be changed or deleted. Metadados são todos os detalhes da faixa (artista, título, quantidade de reproduções) e também as grades de batida, hotcues e loops. Esta escolha afeta apenas a biblioteca do Mixxx. Nenhum arquivo no disco será alterado ou deletado. - + Hide Tracks Ocultar Faixas - + Delete Track Metadata Excluir Metadados das Faixas - + Leave Tracks Unchanged Deixar Faixas Inalteradas - + Relink music directory to new location Revincular o diretório de música para uma nova localização - + + Black + + + + + ExtraBold + + + + + Bold + + + + + SemiBold + + + + + Medium + + + + + Light + + + + Select Library Font Selecionar a Fonte da Biblioteca @@ -6657,262 +6914,267 @@ and allows you to pitch adjust them for harmonic mixing. - + Audio File Formats Arquivos de Áudio - + Track Table View - + Track Double-Click Action: - + BPM display precision: - + Session History Histórico de Sessões - + Track duplicate distance - + When playing a track again log it to the session history only if more than N other tracks have been played in the meantime - + History playlist with less than N tracks will be deleted<br/><br/>Note: the cleanup will be performed during startup and shutdown of Mixxx. - + Delete history playlist with less than N tracks - + Library Font: Fonte da Biblioteca: - + + Show scan summary dialog + + + + Grey out played tracks - + Track Search - + Enable search completions - + Enable search history keyboard shortcuts - + Percentage of pitch slider range for 'fuzzy' BPM search: - + This range will be used for the 'fuzzy' BPM search (~bpm:) via the search box, as well as for BPM search in Track context menu > Search related Tracks - + Preferred Cover Art Fetcher Resolution - + Fetch cover art from coverartarchive.com by using Import Metadata From Musicbrainz. - + Note: ">1200 px" can fetch up to very large cover arts. - + >1200 px (if available) - + 1200 px (if available) - + 500 px 500 px - + 250 px 250 px - + Settings Directory - + The Mixxx settings directory contains the library database, various configuration files, log files, track analysis data, as well as custom controller mappings. - + Edit those files only if you know what you are doing and only while Mixxx is not running. - + Open Mixxx Settings Folder - + Library Row Height: Altura da Linha da Biblioteca: - + Use relative paths for playlist export if possible Usar pastas relativas ao exportar a lista de reprodução se possível - + ... ... - + px px - + Synchronize library track metadata from/to file tags - + Automatically write modified track metadata from the library into file tags and reimport metadata from updated file tags into the library - + Synchronize Serato track metadata from/to file tags (experimental) - + Keeps track color, beat grid, bpm lock, cue points, and loops synchronized with SERATO_MARKERS/MARKERS2 file tags.<br/><br/>WARNING: Enabling this option also enables the reimport of Serato metadata after files have been modified outside of Mixxx. On reimport existing metadata in Mixxx is replaced with the metadata found in file tags. Custom metadata not included in file tags like loop colors is lost. - + Edit metadata after clicking selected track Editar metadados após clicar faixa seleccionada - + Search-as-you-type timeout: Tempo limite de procura ao escrever: - + ms ms - + Load track to next available deck Carregar a faixa no próximo deck disponível - + External Libraries Bibliotecas Externas - + You will need to restart Mixxx for these settings to take effect. Você vai precisar reiniciar o Mixxx para que essas configurações tenham efeito. - + Show Rhythmbox Library Mostrar Biblioteca do Rhythmbox - + Track Metadata Synchronization / Playlists - + Add track to Auto DJ queue (bottom) - + Add track to Auto DJ queue (top) - + Ignore - + Show Banshee Library Mostrar Biblioteca do Banshee - + Show iTunes Library Mostrar Biblioteca do iTunes - + Show Traktor Library Mostrar Biblioteca do Traktor - + Show Rekordbox Library - + Show Serato Library - + All external libraries shown are write protected. Todas as bibliotecas externas mostradas estão protegidas contra gravação. @@ -7257,33 +7519,33 @@ and allows you to pitch adjust them for harmonic mixing. DlgPrefRecord - + Choose recordings directory Escolher diretório de gravações - - + + Recordings directory invalid Diretório de gravações inválido - + Recordings directory must be set to an existing directory. - + Recordings directory must be set to a directory. - + Recordings directory not writable - + You do not have write access to %1. Choose a recordings directory you have write access to. @@ -7301,43 +7563,55 @@ and allows you to pitch adjust them for harmonic mixing. Buscar... - - + + This will include the filepath for each track in the CUE file. +This option makes the CUE file less portable and can reveal personal +information from filepaths (i.e. username) + + + + + Enable File Annotation in CUE file + + + + + Quality Qualidade - + Tags Etiquetas - + Title Título - + Author Autor - + Album Álbum - + Output File Format Formato de Saída do Arquivo - + Compression Compressão - + Lossy Com perdas @@ -7352,12 +7626,12 @@ and allows you to pitch adjust them for harmonic mixing. - + Compression Level Nível de Compressão - + Lossless Sem Perdas @@ -7488,172 +7762,177 @@ The loudness target is approximate and assumes track pregain and main output lev DlgPrefSound - + %1 Hz %1 Hz - + Default (long delay) Padrão (atraso longo) - + Experimental (no delay) Experimental (sem atraso) - + Disabled (short delay) Desativada (atraso curto) - + Soundcard Clock Relógio da Placa de Som - + Network Clock Relógio da Rede - + Direct monitor (recording and broadcasting only) Monição direta (apenas gravação e emissão) - + Disabled Desativado - + Enabled Ativada - + Stereo Estéreo - + Mono Mono - + To enable Realtime scheduling (currently disabled), see the %1. - + The %1 lists sound cards and controllers you may want to consider for using Mixxx. - + Mixxx DJ Hardware Guide - + + Find details in the Mixxx user manual + + + + Information - + Mixxx must be restarted before the multi-threaded RubberBand setting change will take effect. - + auto (<= 1024 frames/period) auto (<= 1024 quadros/período) - + 2048 frames/period 2048 quadros/período - + 4096 frames/period 4096 quadros/período - + Are you sure? - + Distribute stereo channels into mono channels for parallel processing will result in a loss of mono compatibility and a diffuse stereo image. It is not recommended during broadcasting or recording. - + Are you sure you wish to proceed? - + No - + Yes, I know what I am doing - + Microphone inputs are out of time in the record & broadcast signal compared to what you hear. As entradas de microfone estão fora de tempo no sinal gravar e emitir comparado com o que ouve. - + Measure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. Medir a latência de ida e volta e introduza-a acima para Compensação da Latência do Microfone de maneira a alinhar o tempo do microfone. - + Refer to the Mixxx User Manual for details. Consulte o Manual do Utilizador do Mixxx para detalhes. - + Configured latency has changed. A latência configurada foi alterada. - + Remeasure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. Volta a medir a latência de ida e volta e introduza-a acima para Compensação da Latência do Microfone de maneira a alinhar o tempo do microfone. - + Realtime scheduling is enabled. O agendamento em tempo real está ativado. - + Main output only - + Main and booth outputs - + %1 ms %1 ms - + Configuration error Erro de configuração @@ -7720,17 +7999,22 @@ The loudness target is approximate and assumes track pregain and main output lev ms - + + Deck and Bus outputs are for external mixers. They are post-fader and include effects and crossfader (for Auto DJ). For external mixing, make sure all Mixxx faders and EQ knobs are set to their default position (right- or double-click). + + + + 20 ms 20 ms - + Buffer Underflow Count Contagem de Esvaziamentos do Buffer - + 0 0 @@ -7755,12 +8039,12 @@ The loudness target is approximate and assumes track pregain and main output lev Entrada - + System Reported Latency Latência Relatada pelo Sistema - + Enlarge your audio buffer if the underflow counter is increasing or you hear pops during playback. Aumente o buffer de áudio se o contador de esvaziamentos aumentar ou se você ouvir estouros na reprodução. @@ -7790,7 +8074,7 @@ The loudness target is approximate and assumes track pregain and main output lev Dicas e Diagnóstico - + Downsize your audio buffer to improve Mixxx's responsiveness. Diminua o buffer de áudio para melhorar a capacidade de resposta do Mixxx. @@ -7837,7 +8121,7 @@ The loudness target is approximate and assumes track pregain and main output lev Configuração do Vinil - + Show Signal Quality in Skin Mostrar Qualidade do Sinal na Skin @@ -7873,46 +8157,51 @@ The loudness target is approximate and assumes track pregain and main output lev + Pitch estimator + + + + Deck 1 Deck 1 - + Deck 2 Deck 2 - + Deck 3 - + Deck 4 - + Signal Quality Qualidade do Sinal - + http://www.xwax.co.uk http://www.xwax.co.uk - + Powered by xwax Distribuído por xwax - + Hints Dicas - + Select sound devices for Vinyl Control in the Sound Hardware pane. Selecione dispositivos de som para o Controle por Vinil no painel do Hardware de Som. @@ -7920,58 +8209,58 @@ The loudness target is approximate and assumes track pregain and main output lev DlgPrefWaveform - + Filtered Filtrado - + HSV HSV - + RGB RGB - + Top - + Center - + Bottom - + 1/3 of waveform viewer options for "Text height limit" - + Entire waveform viewer - + OpenGL not available OpenGL não disponível - + dropped frames quadros perdidos - + Cached waveforms occupy %1 MiB on disk. Ondas no cache ocupam %1 MiB no disco. @@ -7989,22 +8278,17 @@ The loudness target is approximate and assumes track pregain and main output lev Taxa de quadros - + OpenGL Status - + Displays which OpenGL version is supported by the current platform. Mostra qual versão do OpenGL é suportada pela plataforma atual. - - Normalize waveform overview - Normalizar a visão geral das ondas - - - + Average frame rate Taxa de quadros média @@ -8020,7 +8304,7 @@ The loudness target is approximate and assumes track pregain and main output lev Nível de zoom padrão - + Displays the actual frame rate. Mostra o a taxa de quadros atual. @@ -8055,7 +8339,7 @@ The loudness target is approximate and assumes track pregain and main output lev Graves - + Show minute markers on waveform overview @@ -8100,7 +8384,7 @@ The loudness target is approximate and assumes track pregain and main output lev Visão global de ganho - + The waveform overview shows the waveform envelope of the entire track. Select from different types of displays for the waveform overview, which differ primarily in the level of detail shown in the waveform. A forma de onda mostra o envoltório da onda na faixa inteira. @@ -8169,22 +8453,22 @@ Selecione entre tipos diferentes de visualizações da forma de onda, o que dife - + Caching Caching - + Mixxx caches the waveforms of your tracks on disk the first time you load a track. This reduces CPU usage when you are playing live but requires extra disk space. O Mixxx coloca as ondas das suas faixas no disco na primeira vez que você carrega uma faixa. Isso reduz o uso da CPU quando você estiver tocando ao vivo, porém requer mais espaço no disco. - + Enable waveform caching Ativa o caching das Waveforms - + Generate waveforms when analyzing library Gerar formas de onda, ao analisar a biblioteca @@ -8200,7 +8484,7 @@ Selecione entre tipos diferentes de visualizações da forma de onda, o que dife - + Type @@ -8220,22 +8504,68 @@ Selecione entre tipos diferentes de visualizações da forma de onda, o que dife % - - Play marker position - Marcador da posição de reprodução + + Play marker position + Marcador da posição de reprodução + + + + Moves the play marker position on the waveforms to the left, right or center (default). + Move o marcador da posição de reprodução nas formas de onda para a esquerda, direita ou centro (padrão). + + + + Stem + + + + + Channel opacity + + + + + Channel opacity (outline) + + + + + Main stem opacity + + + + + Outline stem opacity + + + + + Move channel to foreground when volume is adjusted + + + + + Overview Waveforms + + + + + Gain + - - Moves the play marker position on the waveforms to the left, right or center (default). - Move o marcador da posição de reprodução nas formas de onda para a esquerda, direita ou centro (padrão). + + Normalize to peak + - - Overview Waveforms + + Use Waveform "Global" gain and ReplayGain (if enabled) + 'Global' refers to the 'Global' visual gain in the scrolling waveform settings - + Clear Cached Waveforms Limpar Ondas no Cache @@ -8724,7 +9054,7 @@ This can not be undone! BPM: - + Location: Localização: @@ -8739,27 +9069,27 @@ This can not be undone! Comentários - + BPM BPM - + Sets the BPM to 75% of the current value. Define o BPM para 75% do valor atual. - + 3/4 BPM 3/4 BPM - + Sets the BPM to 50% of the current value. Define o BPM para 50% do valor atual. - + Displays the BPM of the selected track. Exibe o BPM da faixa selecionada. @@ -8814,49 +9144,49 @@ This can not be undone! Gênero - + ReplayGain: ReplayGain: - + Sets the BPM to 200% of the current value. Define o BPM para 200% do valor atual. - + Double BPM Dobrar o BPM - + Halve BPM Diminuir o BPM pela metade - + Clear BPM and Beatgrid Limpar BPM e Grade de Batidas - + Move to the previous item. "Previous" button Mover para o item anterior. - + &Previous &Anterior - + Move to the next item. "Next" button Move para o próximo item. - + &Next &Próximo @@ -8881,12 +9211,12 @@ This can not be undone! cor - + Date added: - + Open in File Browser Abrir no Navegador de Arquivos @@ -8896,102 +9226,107 @@ This can not be undone! - + + Filesize: + + + + Track BPM: BPM da Faixa: - + Converts beats detected by the analyzer into a fixed-tempo beatgrid. Use this setting if your tracks have a constant tempo (e.g. most electronic music). Often results in higher quality beatgrids, but will not do well on tracks that have tempo shifts. - + Assume constant tempo Assumir tempo constante - + Sets the BPM to 66% of the current value. Define o BPM para 66% do valor atual. - + 2/3 BPM 2/3 BPM - + Sets the BPM to 150% of the current value. Define o BPM para 150% do valor atual. - + 3/2 BPM 3/2 BPM - + Sets the BPM to 133% of the current value. Define o BPM para 133% do valor atual. - + 4/3 BPM 4/3 BPM - + Tap with the beat to set the BPM to the speed you are tapping. Pressione de acordo com a batida para definir o BPM para velocidade que você está tocando. - + Tap to Beat Toque a Batida - + Hint: Use the Library Analyze view to run BPM detection. Dica: Use a seção Analise a Biblioteca para executar a detecção de BPM. - + Save changes and close the window. "OK" button Salva as alterações e fechar a janela. - + &OK &OK - + Discard changes and close the window. "Cancel" button Descartar as alterações e fechar a janela. - + Save changes and keep the window open. "Apply" button Salvar as alterações e deixar a janela aberta. - + &Apply &Aplicar - + &Cancel &Cancelar - + (no color) @@ -9148,7 +9483,7 @@ Often results in higher quality beatgrids, but will not do well on tracks that h - + (no color) @@ -9350,27 +9685,27 @@ Often results in higher quality beatgrids, but will not do well on tracks that h EngineBuffer - + Soundtouch (faster) Soundtouch (mais rápido) - + Rubberband (better) Rubberband (melhor) - + Rubberband R3 (near-hi-fi quality) - + Unknown, using Rubberband (better) - + Unknown, using Soundtouch @@ -9585,15 +9920,15 @@ Often results in higher quality beatgrids, but will not do well on tracks that h LegacySkinParser - - + + Safe Mode Enabled Shown when Mixxx is running in safe mode. Modo Seguro Ativado - - + + No OpenGL support. Shown when Spinny can not be displayed. Please keep @@ -9605,57 +9940,57 @@ Shown when VuMeter can not be displayed. Please keep OpenGL - + activate ativar - + toggle alternar - + right direito - + left esquerdo - + right small direito pequeno - + left small esquerdo pequeno - + up acima - + down abaixo - + up small acima pequeno - + down small abaixo pequeno - + Shortcut Atalho @@ -9663,62 +9998,62 @@ OpenGL Library - + This or a parent directory is already in your library. - + This or a listed directory does not exist or is inaccessible. Aborting the operation to avoid library inconsistencies - - + + This directory can not be read. - + An unknown error occurred. Aborting the operation to avoid library inconsistencies - + Can't add Directory to Library - + Could not add <b>%1</b> to your library. %2 - + Can't remove Directory from Library - + An unknown error occurred. - + This directory does not exist or is inaccessible. - + Relink Directory - + Could not relink <b>%1</b> to <b>%2</b>. %3 @@ -9880,12 +10215,12 @@ Do you really want to overwrite it? Músicas Ocultadas - + Export to Engine DJ - + Tracks Faixas @@ -9893,37 +10228,37 @@ Do you really want to overwrite it? MixxxMainWindow - + Sound Device Busy Dispositivo de Som Ocupado - + <b>Retry</b> after closing the other application or reconnecting a sound device <b>Tentar novamente</b> após fechar a outra aplicação ou reconectar um dispositivo de som - - - + + + <b>Reconfigure</b> Mixxx's sound device settings. <b>Reconfigurar</b> as configurações de dispositivos de som do Mixxx. - - + + Get <b>Help</b> from the Mixxx Wiki. Obter <b>Ajuda</b> na Wiki do Mixxx. - - - + + + <b>Exit</b> Mixxx. <b>Sair<b> do Mixxx. - + Retry Repetir @@ -9933,211 +10268,211 @@ Do you really want to overwrite it? - + Allow Mixxx to hide the menu bar? - + Hide Always show the menu bar? - + Always show - + The Mixxx menu bar is hidden and can be toggled with a single press of the <b>Alt</b> key.<br><br>Click <b>%1</b> to agree.<br><br>Click <b>%2</b> to disable that, for example if you don't use Mixxx with a keyboard.<br><br>You can change this setting any time in Preferences -> Interface.<br> Keep formatting tags <b> (bold text) and <br> (linebreak). %1 is the placeholder for the 'Always show' button label - + Ask me again - - + + Reconfigure Reconfigurar - + Help Ajuda - - + + Exit Sair - - + + Mixxx was unable to open all the configured sound devices. Mixxx não foi capaz de abrir todos os dispositivos de som configurados. - + Sound Device Error Erro com o Dispositivo de Som - + <b>Retry</b> after fixing an issue <b>Tentar novamente</b> depois de corrigir um problema - + No Output Devices Sem Dispositivos de Saída - + Mixxx was configured without any output sound devices. Audio processing will be disabled without a configured output device. O Mixxx foi configurado sem nenhum dispositivo de saída de som. O processamento de áudio será desativado sem um dispositivo de saída configurado. - + <b>Continue</b> without any outputs. <b>Continuar</b> sem nenhuma saída. - + Continue Continuar - + Load track to Deck %1 Carregar faixa no Deck %1 - + Deck %1 is currently playing a track. O deck %1 está tocando uma faixa neste momento. - + Are you sure you want to load a new track? Tem certeza de que deseja carregar uma nova faixa? - + There is no input device selected for this vinyl control. Please select an input device in the sound hardware preferences first. Não há nenhum dispositivo de entrada selecionado para o controle por vinil. Por favor, selecione um dispositivo de entrada nas preferências do hardware de som. - + There is no input device selected for this passthrough control. Please select an input device in the sound hardware preferences first. Não tem nenhum dispositivo de entrada selecionado para este controle atravessador. Por favor selecione um dispositivo de entrada nas preferências do hardware de som primeiro. - + There is no input device selected for this microphone. Do you want to select an input device? - + There is no input device selected for this auxiliary. Do you want to select an input device? - + Scan took %1 - + No changes detected. - - + + %1 tracks in total - + %1 new tracks found - + %1 moved tracks detected - + %1 tracks are missing (%2 total) - + %1 tracks have been rediscovered - + Library scan finished - + Error in skin file Erro no arquivo de skin - + The selected skin cannot be loaded. A skin selecionada não pôde ser carregada. - + OpenGL Direct Rendering Renderização Direta OpenGL - + Direct rendering is not enabled on your machine.<br><br>This means that the waveform displays will be very<br><b>slow and may tax your CPU heavily</b>. Either update your<br>configuration to enable direct rendering, or disable<br>the waveform displays in the Mixxx preferences by selecting<br>"Empty" as the waveform display in the 'Interface' section. - - - + + + Confirm Exit Confirmar a Saída - + A deck is currently playing. Exit Mixxx? Um leitor está presentemente em reprodução. Sair do Mixxx? - + A sampler is currently playing. Exit Mixxx? Um sampler está tocando neste momento. Sair do Mixxx? - + The preferences window is still open. A janela de preferências ainda está aberta. - + Discard any changes and exit Mixxx? Descartar quaisquer mudanças e sair do Mixxx? @@ -10153,13 +10488,13 @@ Do you want to select an input device? PlaylistFeature - + Lock Travar - - + + Playlists Listas de Reprodução @@ -10169,58 +10504,63 @@ Do you want to select an input device? - + + Adopt current order + + + + Unlock all playlists - + Delete all unlocked playlists - + Unlock Destravar - - + + Confirm Deletion - + Do you really want to delete all unlocked playlists? - + Deleting %1 unlocked playlists.<br>This operation can not be undone! - + Playlists are ordered lists of tracks that allow you to plan your DJ sets. - + It may be necessary to skip some tracks in your prepared playlist or add some different tracks in order to maintain the energy of your audience. - + Some DJs construct playlists before they perform live, but others prefer to build them on-the-fly. Alguns DJs constroem listas de reprodução antes de apresentações ao vivo, mas outros preferem construí-las na hora. - + When using a playlist during a live DJ set, remember to always pay close attention to how your audience reacts to the music you've chosen to play. Ao utilizar uma lista de reprodução durante uma apresentação ao vivo, lembre-se de sempre prestar atenção em como o público reage à música que você escolheu tocar. - + Create New Playlist Criar Nova Lista de Reprodução @@ -10319,59 +10659,59 @@ Do you want to select an input device? QMessageBox - + Upgrading Mixxx Atualizando o Mixxx - + Mixxx now supports displaying cover art. Do you want to scan your library for cover files now? O Mixxx agora suporta mostrar a arte da capa. Você quer examinar a sua biblioteca procurando por arquivos de capa agora? - + Scan Examinar - + Later Depois - + Upgrading Mixxx from v1.9.x/1.10.x. Atualizando o Mixxx a partir de v1.9.x/1.10.x - + Mixxx has a new and improved beat detector. O Mixxx tem um novo e melhorado detector de batidas. - + When you load tracks, Mixxx can re-analyze them and generate new, more accurate beatgrids. This will make automatic beatsync and looping more reliable. Quando você carrega músicas, o Mixxx pode as re-analisar e gerar novas, mais precisas, grades de batidas. Isto vai tornar a sincronização automática e loops mais confiáveis. - + This does not affect saved cues, hotcues, playlists, or crates. Isto não afeta os pontos cue salvos, hotcues, listas de reprodução ou caixas. - + If you do not want Mixxx to re-analyze your tracks, choose "Keep Current Beatgrids". You can change this setting at any time from the "Beat Detection" section of the Preferences. Se você não quiser que o Mixxx re-analise suas músicas, selecione "Manter as Grades de Batidas Atuais". Você pode modificar esta configuração a qualquer momento na seção "Detecção de de Batidas" das preferências. - + Keep Current Beatgrids Manter as Grades de Batidas Atuais - + Generate New Beatgrids Gerar Novas Grades de Batidas @@ -10485,69 +10825,82 @@ Você quer examinar a sua biblioteca procurando por arquivos de capa agora?14-bit (MSB) - + Main + Audio path indetifier - + Booth + Audio path indetifier Cabine - + Headphones + Audio path indetifier Fones - + Left Bus + Audio path indetifier Barramento Esquerdo - + Center Bus + Audio path indetifier Barramento Central - + Right Bus + Audio path indetifier Barramento Direito - + Invalid Bus + Audio path indetifier Barramento Inválido - + Deck + Audio path indetifier Leitor - + Record/Broadcast + Audio path indetifier Gravar/Emitir - + Vinyl Control + Audio path indetifier Controlo Vinilo - + Microphone + Audio path indetifier Microfone - + Auxiliary + Audio path indetifier Auxiliar - + Unknown path type %1 + Audio path Tipo de caminho desconhecido %1 @@ -10882,47 +11235,49 @@ Com a largura a zero, permite o varrimento manual ao longo de toda a extensão d Largura - + Metronome Metrónomo - + + The Mixxx Team - + Adds a metronome click sound to the stream Adiciona o som dum clique de metrónomo à stream - + BPM BPM - + Set the beats per minute value of the click sound Define o valor do bpm do som do clique - + Sync Sincronizar - + Synchronizes the BPM with the track if it can be retrieved Sincroniza o BPM com a faixa, se este puder ser obtido - + + Gain - + Set the gain of metronome click sound @@ -11725,14 +12080,14 @@ Tudo direita: fim do período do efeito - - + + encoder failure - - + + Failed to apply the selected settings. @@ -11938,15 +12293,86 @@ and the processed output signal as close as possible in perceived loudness + + Auto Gain Control + + + + + AGC + + + + + Auto Gain Control (AGC) automatically adjusts the gain of an audio signal to maintain a consistent output level. + + + + Threshold (dBFS) + Threshold + + + The Threshold knob adjusts the level above which the effect starts enhancing the input signal + + + + + Target (dBFS) + + + + + Target + + + + + The Target knob adjusts the desired target level of the output signal + + + + + Gain (dB) + + + + + The Gain knob adjusts the maximum amount of gain that the effect will apply + + + + + Knee (dB) + + + + + The Knee knob defines the range around the Threshold where gain changes are applied gradually, +ensuring smooth transitions and avoiding abrupt level shifts. + + + + + The Attack knob sets the time that determines how fast the auto gain +will set in once the signal exceeds the threshold + + + + + The Release knob sets the time that determines how fast the auto gain will recover from the gain +adjustment once the signal falls under the threshold. Depending on the input signal, short release times +may introduce a 'pumping' effect and/or distortion. + + The Threshold knob adjusts the level above which the compressor starts attenuating the input signal @@ -11975,6 +12401,7 @@ At a ratio of 1:1 no compression is happening, as the input is exactly the outpu + Knee @@ -11985,11 +12412,13 @@ At a ratio of 1:1 no compression is happening, as the input is exactly the outpu + Attack (ms) + Attack @@ -12001,11 +12430,13 @@ will set in once the signal exceeds the threshold + Release (ms) + Release @@ -12034,12 +12465,12 @@ may introduce a 'pumping' effect and/or distortion. - + built-in - + missing @@ -12074,42 +12505,42 @@ may introduce a 'pumping' effect and/or distortion. - + Empty - + Simple - + Filtered - + HSV - + VSyncTest - + RGB - + Stacked - + Unknown @@ -12370,193 +12801,193 @@ may introduce a 'pumping' effect and/or distortion. ShoutConnection - - + + Mixxx encountered a problem Mixxx encontrou um problema - + Could not allocate shout_t Não foi possível alocar shout_t - + Could not allocate shout_metadata_t Não foi possível alocar shout_metadata_t - + Error setting non-blocking mode: Erro ao ajustar modo não-travado: - + Error setting tls mode: - + Error setting hostname! Erro ao configurar o nome do host! - + Error setting port! Erro ao configurar a porta! - + Error setting password! Erro ao configurar a senha! - + Error setting mount! Erro ao configurar o montagem! - + Error setting username! Erro ao configurar o nome de usuário! - + Error setting stream name! Erro ao configurar o nome da stream! - + Error setting stream description! Erro ao configurar a descrição da stream! - + Error setting stream genre! Erro ao configurar o gênero da stream! - + Error setting stream url! Erro ao configurar o endereço da stream! - + Error setting stream IRC! Erro a definir a stream IRC! - + Error setting stream AIM! Erro a definir a stream AIM! - + Error setting stream ICQ! Erro a definir a stream ICQ! - + Error setting stream public! Erro ao tornar a stream pública! - + Unknown stream encoding format! - + Use a libshout version with %1 enabled - + Error setting stream encoding format! - + Broadcasting at 96 kHz with Ogg Vorbis is not currently supported. Please try a different sample rate or switch to a different encoding. - + See https://github.com/mixxxdj/mixxx/issues/5701 for more information. - + Unsupported sample rate - + Error setting bitrate Erro ao configurar a taxa de bits - + Error: unknown server protocol! Erro: protoloco do servidor desconhecido! - + Error: Shoutcast only supports MP3 and AAC encoders - + Error setting protocol! Erros ao configurar o protocolo! - + Network cache overflow Overflow do cache da rede - + Connection error Erro de ligação - + One of the Live Broadcasting connections raised this error:<br><b>Error with connection '%1':</b><br> Uma das ligações de Emissão em Direto apresentou este erro:<br><b>Erro com a ligação '%1':</b><br> - + Connection message Mensagem da ligação - + <b>Message from Live Broadcasting connection '%1':</b><br> <b>Mensagem da ligação Emissão em Direto '%1':</b><br> - + Lost connection to streaming server and %1 attempts to reconnect have failed. A conexão com o servidor de streaming foi perdida e %1 tentativas de reconectar falharam. - + Lost connection to streaming server. A conexão com o servidor de streaming foi perdida. - + Please check your connection to the Internet. Por favor verifique a sua conexão com a internet. - + Can't connect to streaming server A conexão com o servidor de streaming não foi possível. - + Please check your connection to the Internet and verify that your username and password are correct. Por favor verifique a sua conexão com a internet e verifique se o seu usuário e senha estão corretos. @@ -12564,7 +12995,7 @@ may introduce a 'pumping' effect and/or distortion. SoftwareWaveformWidget - + Filtered Filtrado @@ -12572,23 +13003,23 @@ may introduce a 'pumping' effect and/or distortion. SoundManager - - + + a device o dispositivo - + An unknown error occurred Ocorreu um erro desconhecido - + Two outputs cannot share channels on "%1" Duas saídas não podem compartilhar o canal "%1" - + Error opening "%1" Erro abrindo "%1" @@ -12773,7 +13204,7 @@ may introduce a 'pumping' effect and/or distortion. - + Spinning Vinyl Vinil Giratório @@ -12955,7 +13386,7 @@ may introduce a 'pumping' effect and/or distortion. - + Cover Art Arte da Capa @@ -13145,243 +13576,243 @@ may introduce a 'pumping' effect and/or distortion. Zera o ganho do EQ de graves enquanto ativo. - + Displays the tempo of the loaded track in BPM (beats per minute). Mostra o tempo da faixa carregada em BPM (batidas por minuto). - + Tempo Tempo - + Key The musical key of a track Tom - + BPM Tap Toque o BPM - + When tapped repeatedly, adjusts the BPM to match the tapped BPM. O BPM vai ser ajustado de acordo com a velocidade das batidas neste botão. - + Adjust BPM Down Ajustar o BPM Abaixo - + When tapped, adjusts the average BPM down by a small amount. Quando pressionado, diminui um pouco o BPM médio. - + Adjust BPM Up Ajustar o BPM Acima - + When tapped, adjusts the average BPM up by a small amount. Quando pressionado, aumenta um pouco o BPM médio. - + Adjust Beats Earlier Atrasar Grade de Batidas - + When tapped, moves the beatgrid left by a small amount. Quando pressionado, move a grade de batidas um pouco para a esquerda. - + Adjust Beats Later Adiantar Grade de Batidas - + When tapped, moves the beatgrid right by a small amount. Quando pressionado, move a grade de batidas um pouco para a direta. - + Tempo and BPM Tap Toque de Tempo e BPM - + Show/hide the spinning vinyl section. Mostra/Oculta a seção do vinil giratório - + Keylock Trava de Tom - + Toggling keylock during playback may result in a momentary audio glitch. Ligar/Desligar a trava de tom enquanto tocando pode resultar em um glitch de áudio momentâneo - + Toggle visibility of Loop Controls - + Toggle visibility of Beatjump Controls - + Toggle visibility of Rate Control Alterna a visibilidade do Controlo da Taxa - + Toggle visibility of Key Controls - + (while previewing) - + Places a cue point at the current position on the waveform. Coloca um ponto de sinalização na posição atual na forma de onda. - + Stops track at cue point, OR go to cue point and play after release (CUP mode). Pára a faixa no CUE Point, OU vai para o CUE Point e reproduz a faixa após soltar o botão (CUP mode). - + Set cue point (Pioneer/Mixxx/Numark mode), set cue point and play after release (CUP mode) OR preview from it (Denon mode). Define o CUE point (em modo Pioneer/Mixxx/Numark), define o CUE point e toca após largar a tecla (modo CUP) OU escuta o preview (modo Denon). - + Is latching the playing state. - + Seeks the track to the cue point and stops. Avança a faixa até ao Cue Point e para. - + Play Tocar - + Plays track from the cue point. Toca a faixa a partir do ponto de marcação. - + Sends the selected channel's audio to the headphone output, selected in Preferences -> Sound Hardware. - + (This skin should be updated to use Sync Lock!) - + Enable Sync Lock - + Tap to sync the tempo to other playing tracks or the sync leader. - + Enable Sync Leader - + When enabled, this device will serve as the sync leader for all other decks. - + This is relevant when a dynamic tempo track is loaded to a sync leader deck.In that case, other synced devices will adopt the changing tempo. - + Changes the track playback speed (affects both the tempo and the pitch). If keylock is enabled, only the tempo is affected. Altera a velocidade da faixa (afeta o tempo e o pitch). Se o keylock estiver ativo, apenas o tempo é alterado. - + Tempo Range Display - + Displays the current range of the tempo slider. Mostra o alcance atual do deslizante de tempo. - + Un-ejects when no track is loaded, i.e. reloads the track that was ejected last (of any deck). - + Delete selected hotcue. - + Track Comment - + Displays the comment tag of the loaded track. - + Opens separate artwork viewer. - + Effect Chain Preset Settings - + Show the effect chain settings menu for this unit. - + Select and configure a hardware device for this input - + Recording Duration Duração da Gravação @@ -13604,949 +14035,984 @@ may introduce a 'pumping' effect and/or distortion. - + When tapped repeatedly, adjusts the tempo to match the tapped BPM. + + + Click to open the tempo/BPM editor + + + + + It also shows a colored bar if Key colors are enabled in the Preferences. + + + The bar will be split vertically if the track's key is in between full keys. + + + + Tempo Tap - + Rate Tap and BPM Tap - + + Set Tempo + + + + + Set the desired tempo in BPM. If the track currently has no BPM detected, set the desired tempo in percent. + + + + Adjust beatgrid by exactly one half beat. Usable only on tracks with constant tempo. - + Revert last BPM/Beatgrid Change - + Revert last BPM/Beatgrid Change of the loaded track. - - + + Toggle the BPM/beatgrid lock - + Tempo and Rate Tap - + Tempo, Rate Tap and BPM Tap - + Shift cues earlier - - + + Shift cues imported from Serato or Rekordbox if they are slightly off time. - + Left click: shift 10 milliseconds earlier - + Right click: shift 1 millisecond earlier - + Shift cues later - + Left click: shift 10 milliseconds later - + Right click: shift 1 millisecond later - - - + + + Drag a Hotcue button here to continue playing after releasing the Hotcue. - + Hint: Change the default cue mode in Preferences -> Decks. - + Mutes the selected channel's audio in the main output. - + Main mix enable - + Hold or short click for latching to mix this input into the main output. - + + Reloads the last replaced track. If no track is loaded reloads the second-last ejected track. + + + + If hotcue is a loop cue, toggles the loop and jumps to if the loop is behind the play position. - + If the play position is inside an active loop, stores the loop as loop cue. - + Drag this button onto another Hotcue button to move it there (change its index). If the other hotcue is set, the two are swapped. - + Expand/Collapse Samplers - + Toggle expanded samplers view. - + Displays the duration of the running recording. Mostra a duração da gravação em andamento. - + Auto DJ is active - + Red for when needle skip has been detected. - + Hot Cue - Track will seek to nearest previous hotcue point. - + Sets the track Loop-In Marker to the current play position. Define o marcador Início Loop da faixa para a atual posição de reprodução. - + Press and hold to move Loop-In Marker. Pressione e mantenha para mover o marcador Início Loop. - + Jump to Loop-In Marker. Saltar para o marcador Início Loop. - + Sets the track Loop-Out Marker to the current play position. Define o marcador Fim Loop para a atual posição de reprodução. - + Press and hold to move Loop-Out Marker. Pressione e segure para mover o Marcador de Fim de Loop - + Jump to Loop-Out Marker. Saltar para o marcador Fim Loop. - + If the track has no beats the unit is seconds. - + Beatloop Size Tamanho do Loop de Batidas - + Select the size of the loop in beats to set with the Beatloop button. Escolher o tamanho do loop em batidas estabelecer com o botão Loop. - + Changing this resizes the loop if the loop already matches this size. Alterando isto redimensiona o loop se o loop já coincide com este tamanho. - + Halve the size of an existing beatloop, or halve the size of the next beatloop set with the Beatloop button. Reduz a metade o tamanho dum loop existente, ou reduz a metade o tamanho do próximo loop definido com o botão Loop. - + Double the size of an existing beatloop, or double the size of the next beatloop set with the Beatloop button. Duplica o tamanho dum loop existente, ou duplica o tamanho do próximo loop definido com o botão Loop. - + Start a loop over the set number of beats. Cria um loop sobre o número de batidas selecionado - + Temporarily enable a rolling loop over the set number of beats. Ativa temporariamente um loop de rolamento sobre o número de batidas selecionado. - + Beatloop Anchor - + Define whether the loop is created and adjusted from its staring point or ending point. - + Beatjump/Loop Move Size Beatjump/Loop Tamanho Movimento - + Select the number of beats to jump or move the loop with the Beatjump Forward/Backward buttons. Selecione o número de batidas a saltar ou a deslocar o loop com os botões Beatjump Frente/Atrás. - + Beatjump Forward Beatjump Frente - + Jump forward by the set number of beats. Salta para a frente o número de batidas predefinidas. - + Move the loop forward by the set number of beats. Move o loop para a frente o número de batidas prédefinidas. - + Jump forward by 1 beat. Salta para a frente 1 batida. - + Move the loop forward by 1 beat. Move o loop para a frente 1 batida. - + Beatjump Backward Beatjump Atrás - + Jump backward by the set number of beats. Salta para trás o número de batidas prédefinidas. - + Move the loop backward by the set number of beats. Move o loop para trás o número de batidas prédefinidas. - + Jump backward by 1 beat. Salta para trás 1 batida. - + Move the loop backward by 1 beat. Move o loop para trás 1 batida. - + Reloop Reloop - + If the loop is ahead of the current position, looping will start when the loop is reached. Se o loop estiver à frente da posição atual de reprodução, o ciclo de looping começará quando o loop for atingido. - + Works only if Loop-In and Loop-Out Marker are set. Funciona apenas se os marcadores de Início Loop e Fim Loop estiverem definidos. - + Enable loop, jump to Loop-In Marker, and stop playback. Ativar loop, saltar para o marcador Início Loop, e parar a reprodução. - + Displays the elapsed and/or remaining time of the track loaded. Mostra o tempo executado e/ou restante da faixa carregada. - + Click to toggle between time elapsed/remaining time/both. Clique para alternar entre tempo executado/restante tempo/ambos. - + Hint: Change the time format in Preferences -> Decks. - + Show/hide intro & outro markers and associated buttons. - + + Ensure all waveforms to have the same height across all channels. By default, when displaying the stem controls, waveform for channel that have no stem may render with a shorter height in order to honor the waveform container size you have requested.. + + + + Intro Start Marker - - - - + + + + If marker is set, jumps to the marker. - - - - + + + + If marker is not set, sets the marker to the current play position. - - - - + + + + If marker is set, clears the marker. - + Intro End Marker - + Outro Start Marker - + Outro End Marker - + Mix Mistura - + Adjust the mixing of the dry (input) signal with the wet (output) signal of the effect unit Ajustar a mistura do sinal seco (entrada) com o molhado (saída) da unidade de efeito - + D/W mode: Crossfade between dry and wet Modo S/M: crossfade entre seco e molhado - + D+W mode: Add wet to dry Modo S/M: adicionar molhado ao seco - + Mix Mode Modo Mistura - + Adjust how the dry (input) signal is mixed with the wet (output) signal of the effect unit Ajustar a mistura do sinal seco (entrada) com o sinal molhado (saída) da unidade de efeito - + Dry/Wet mode (crossed lines): Mix knob crossfades between dry and wet Use this to change the sound of the track with EQ and filter effects. Modo Seco/Molhado (linhas cruzadas): o botão de Mistura faz a transição entre seco e molhado. Usar isto para alterar o som da faixa com EQ e filtros de efeitos. - + Dry+Wet mode (flat dry line): Mix knob adds wet to dry Use this to change only the effected (wet) signal with EQ and filter effects. Modo Seco+Molhado (linha seca plana): o botão de Mistura adiciona o molhado ao seco. Usar isto para alterar apenas o sinal já com os efeitos (molhado) de EQ e filtros de efeitos. - + Route the main mix through this effect unit. - + Route the left crossfader bus through this effect unit. Envia o bus esquerdo do crossfader através desta unidade de efeito. - + Route the right crossfader bus through this effect unit. Envia o bus direito do crossfader através desta unidade de efeito. - + Right side active: parameter moves with right half of Meta Knob turn Lado direito ativo: o parâmetro muda com meia volta para a direita do Botão Meta - + Stem Label - + Name of the stem stored in the stem file - + Text is displayed in the stem color stored in the stem file - + this stem color is also used for the waveform of this stem - + Stem Mute - + Toggle the stem mute/unmuted - + Stem Volume Knob - + Adjusts the volume of the stem - + Skin Settings Menu Menu Definições Skin - + Show/hide skin settings menu Mostra/Oculta menu de definições. - + Save Sampler Bank Salvar Banco do Sampler - + Save the collection of samples loaded in the samplers. Guarda a colecção de samples carregadas nos samplers. - + Load Sampler Bank Carregar Banco do Sampler - + Load a previously saved collection of samples into the samplers. Carrega uma colecção de samples guardada previamente nos samplers. - + Show Effect Parameters Mostrar Parâmetros do Efeito - + Enable Effect Ativar Efeito - + Meta Knob Link Vínculo do Botão Meta - + Set how this parameter is linked to the effect's Meta Knob. Defina como este parâmetro está vinculado aos efeitos do Botão Meta. - + Meta Knob Link Inversion Vínculo inverso do Botão Meta - + Inverts the direction this parameter moves when turning the effect's Meta Knob. Inverte a direção que este parâmetro se move quando rodando o efeito do Botão Meta - + Super Knob Super Botão - + Next Chain Próxima Corrente - + Previous Chain Corrente Anterior - + Next/Previous Chain Corrente Seguinte/Anterior - + Clear Limpar - + Clear the current effect. Limpa o efeito atual. - + Toggle Ligar/Desligar - + Toggle the current effect. Liga/Desliga o efeito atual. - + Next Próximo - + Clear Unit Limpar Unidade - + Clear effect unit. Limpa a unidade de efeito. - + Show/hide parameters for effects in this unit. Mostra/Oculta parâmetros para efeitos nesta unidade. - + Toggle Unit Ligar/Desligar Unidade - + Enable or disable this whole effect unit. Ativa ou desativa esta unidade completa de efeito. - + Controls the Meta Knob of all effects in this unit together. Controla o Meta Botão de todos os efeitos conjuntamente nesta unidade. - + Load next effect chain preset into this effect unit. Carrega a próxima cadeia de efeitos prédefinida nesta unidade de efeito. - + Load previous effect chain preset into this effect unit. Carrega a anterior cadeia de efeitos prédefinida nesta unidade de efeito. - + Load next or previous effect chain preset into this effect unit. Carrega a próxima ou anterior cadeia de efeitos prédefinida nesta unidade de efeito. - - - - - - - - - + + + + + + + + + Assign Effect Unit Atribuir Unidade de Efeito - + Assign this effect unit to the channel output. Atribuir esta unidade de efeito ao canal de saída. - + Route the headphone channel through this effect unit. Encaminha o canal de auscultadores através desta unidade de efeito. - + Route this deck through the indicated effect unit. Encaminha este leitor através da unidade de efeito indicada. - + Route this sampler through the indicated effect unit. Encaminha este sampler através da unidade de efeito indicada. - + Route this microphone through the indicated effect unit. Encaminha este microfone através da unidade de efeito indicada. - + Route this auxiliary input through the indicated effect unit. Encaminha esta entrada auxiliar através da unidade de efeito indicada. - + The effect unit must also be assigned to a deck or other sound source to hear the effect. Esta unidade de efeito deve também ser atribuída a um leitor ou a outra fonte sonora para ouvir o efeito. - + Switch to the next effect. Troca para o próximo efeito. - + Previous Anterior - + Switch to the previous effect. Troca para o efeito anterior. - + Next or Previous Próximo ou Anterior - + Switch to either the next or previous effect. Troca para o efeito seguinte ou anterior. - + Meta Knob Botão Meta - + Controls linked parameters of this effect Controla os parâmetros vinculados deste efeito - + Effect Focus Button Botão de Foco do Efeito - + Focuses this effect. Se foca no efeito. - + Unfocuses this effect. Desfoca este efeito. - + Refer to the web page on the Mixxx wiki for your controller for more information. Acesse a página web do seu controlador na wiki do Mixxx para mais informações. - + Effect Parameter Parâmetro do Efeito - + Adjusts a parameter of the effect. Ajusta um parâmetro do efeito. - + Inactive: parameter not linked Inativo: parâmetro não ligado - + Active: parameter moves with Meta Knob Activo: o parâmetro move-se com o Botão Meta - + Left side active: parameter moves with left half of Meta Knob turn Lado esquerdo ativo: o parâmetro move-se com meia volta para a esquerda do Botão Meta - + Left and right side active: parameter moves across range with half of Meta Knob turn and back with the other half Lado esquerdo e direito ativo: o parâmetro desloca-se ao longo da sua extensão com meia volta do Botão Meta e para trás com a outra meia volta. - - + + Equalizer Parameter Kill Matar Parâmetro do Equalizador - - + + Holds the gain of the EQ to zero while active. Mantem o ganho do equalizador em zero quanto ativo. - + Quick Effect Super Knob Super Botão de Efeito Rápido - + Quick Effect Super Knob (control linked effect parameters). Super Botão de Efeito Rápido (controla parâmetros de efeitos conectados). - + Hint: Change the default Quick Effect mode in Preferences -> Equalizers. Dica: Mude o modo padrão de Efeito Rápido em Preferências -> Equalizadores. - + Equalizer Parameter Parâmetro do Equalizador - + Adjusts the gain of the EQ filter. Ajusta o ganho do filtro de equalização. - + Hint: Change the default EQ mode in Preferences -> Equalizers. Dica: Mude o modo padrão do equalizador em Preferências -> Equalizadores. - - + + Adjust Beatgrid Ajustar a Grade de Batidas - + Adjust beatgrid so the closest beat is aligned with the current play position. Ajusta a grade de batidas de forma que a batida mais próxima é alinhada com a posição atual. - - + + Adjust beatgrid to match another playing deck. Ajusta a grade de batidas para combinar com outro deck tocando. - + If quantize is enabled, snaps to the nearest beat. Se a quantização estiver ativada, vai para a batida mais próxima. - + Quantize Quantizar - + Toggles quantization. Liga/Desliga a quantização. - + Loops and cues snap to the nearest beat when quantization is enabled. Enquanto a quantização estiver ativada, os loops e os hotcues sempre entrarão na batida mais próxima. - + Reverse Inverter - + Reverses track playback during regular playback. Inverte a reprodução da faixa. - + Puts a track into reverse while being held (Censor). Coloca a faixa em reprodução invertida enquanto pressionado (Censurar). - + Playback continues where the track would have been if it had not been temporarily reversed. A reprodução continua onde a faixa estaria se ela não estivesse sido temporariamente invertida. - - - + + + Play/Pause Tocar/Pausar - + Jumps to the beginning of the track. Pula para o início da faixa. - + Syncs the tempo (BPM) and phase to that of the other track, if BPM is detected on both. Sincroniza o tempo (BPM) e a fase para a da outra faixa, ou BPM se detectado nos dois. - + Syncs the tempo (BPM) to that of the other track, if BPM is detected on both. Sincroniza o tempo (BPM) para o da outra faixa, ou o BPM se detectado nos dois. - + Sync and Reset Key Sincronizar e Redefinir o Tom - + Increases the pitch by one semitone. Aumenta o pitch por um semitom. - + Decreases the pitch by one semitone. Diminui o pitch por um semitom. - + Enable Vinyl Control Ativar Controle por Vini - + When disabled, the track is controlled by Mixxx playback controls. Quando desativado, a faixa é controlada pelos controles de reprodução do Mixxx. - + When enabled, the track responds to external vinyl control. Quando ativado, a faixa responde ao controle por vinil externo - + Enable Passthrough Ativar Repasse - + Indicates that the audio buffer is too small to do all audio processing. Indica que o buffer de áudio é muito pequeno para fazer todo o processamento de aúdio. - + Displays cover artwork of the loaded track. Mostra a arte da capa da faixa carregada. - + Displays options for editing cover artwork. Mostra opções para editar a arte da capa. - + Star Rating Classificação de Estrela - + Assign ratings to individual tracks by clicking the stars. Defina uma classificação para faixas individuais clicando nas estrelas. @@ -14681,33 +15147,33 @@ Usar isto para alterar apenas o sinal já com os efeitos (molhado) de EQ e filtr Amplitude da Redução no Talkover - + Prevents the pitch from changing when the rate changes. Previne que o tom mude com as mudanças na taxa do pitch. - + Changes the number of hotcue buttons displayed in the deck Altera o número de botões hotcue mostrados no leitor - + Starts playing from the beginning of the track. Começa a tocar do começo da faixa. - + Jumps to the beginning of the track and stops. Pula para o começo da faixa e para. - - + + Plays or pauses the track. Toca ou pausa uma música. - + (while playing) (enquanto estiver tocando) @@ -14727,215 +15193,215 @@ Usar isto para alterar apenas o sinal já com os efeitos (molhado) de EQ e filtr - + (while stopped) (enquanto parada) - + Cue Cue - + Headphone Fone - + Mute Silenciar - + Old Synchronize Sincronização Antiga - + Syncs to the first deck (in numerical order) that is playing a track and has a BPM. Sincroniza com o primeiro deck (em ordem numérica) que estiver tocando uma faixa e tem BPM. - + If no deck is playing, syncs to the first deck that has a BPM. Se nenhum deck estiver tocando, sincroniza com o primeiro deck que tiver BPM. - + Decks can't sync to samplers and samplers can only sync to decks. Decks não podem sincronizar com samplers e samplers só podem sincronizar com decks. - + Hold for at least a second to enable sync lock for this deck. Segure por pelo menos um segundo para ativar a trava de sincronização para este deck. - + Decks with sync locked will all play at the same tempo, and decks that also have quantize enabled will always have their beats lined up. Decks com trava de sincronização vão tocar no mesmo tempo, e os decks que também tem quantização ativada vão sempre ter suas batidas alinhadas. - + Resets the key to the original track key. Redefine o tom para o tom original da faixa. - + Speed Control Controle de Velocidade - - - + + + Changes the track pitch independent of the tempo. Muda o pitch da faixa independentemente do tempo. - + Increases the pitch by 10 cents. Aumenta o pitch por 10 cents. - + Decreases the pitch by 10 cents. Diminui o pitch por 10 cents. - + Pitch Adjust Ajustar o Pitch - + Adjust the pitch in addition to the speed slider pitch. Ajusta o pitch junto com o deslizante de velocidade pitch. - + Opens a menu to clear hotcues or edit their labels and colors. - + Drag this button onto a Play button while previewing to continue playback after release. - + Dragging with Shift key pressed will not start previewing the hotcue. - + Record Mix Gravar Mixagem - + Toggle mix recording. Ativa/Desativa gravação da mixagem. - + Enable Live Broadcasting Ativar Transmissão Ao Vivo - + Stream your mix over the Internet. Transmite sua mixagem pela Internet. - + Provides visual feedback for Live Broadcasting status: Provê retorno visual para o estado de Transmissão Ao Vivo: - + disabled, connecting, connected, failure. desativado, conectando, conectado, falha. - + When enabled, the deck directly plays the audio arriving on the vinyl input. Quando ativado, o deck toca diretamente o áudio chegando na entrada de vinil. - + Playback will resume where the track would have been if it had not entered the loop. A execução vai continuar como se a faixa não estivesse entrado no loop. - + Loop Exit Sair do Loop - + Turns the current loop off. Desliga o loop atual. - + Slip Mode Modo de Deslizamento - + When active, the playback continues muted in the background during a loop, reverse, scratch etc. Quando ativo, a execução continua silenciosa no fundo durante um loop, reprodução invertida, um scratch, etc. - + Once disabled, the audible playback will resume where the track would have been. Uma vez desativado, a execução audível continuará onde a música estaria. - + Track Key The musical key of a track Tom da Faixa - + Displays the musical key of the loaded track. Mostra o tom musical da faixa carregada. - + Clock Relógio - + Displays the current time. Mostra a hora atual. - + Audio Latency Usage Meter Uso da Latência de Áudio - + Displays the fraction of latency used for audio processing. Mostra uma fração da latência usada para o processamento de áudio. - + A high value indicates that audible glitches are likely. Um valor alto indica que ruídos no áudio são prováveis. - + Do not enable keylock, effects or additional decks in this situation. Não ative a trava de tom, efeitos ou decks adicionais nessa situação. - + Audio Latency Overload Indicator Indicador de Sobrecarga na Latência do Áudio @@ -14975,259 +15441,259 @@ Usar isto para alterar apenas o sinal já com os efeitos (molhado) de EQ e filtr Ative o Controle por Vinil no Menu -> Opções. - + Displays the current musical key of the loaded track after pitch shifting. Mostra o tom musical atual da faixa carregada depois do pitch alterado. - + Fast Rewind Retrocesso Rápido - + Fast rewind through the track. Rebobina a música rapidamente. - + Fast Forward Avanço Rápido - + Fast forward through the track. Avança rápido pela faixa. - + Jumps to the end of the track. Pula para o fim da faixa. - + Sets the pitch to a key that allows a harmonic transition from the other track. Requires a detected key on both involved decks. Define o pitch para um tom que permite uma transição harmônica da outra faixa. Requer um tom detectado nos dois decks envolvidos, - - - + + + Pitch Control Controle do Pitch - + Pitch Rate Taxa de Pitch - + Displays the current playback rate of the track. Mostra a taxa de reprodução da música em execução. - + Repeat Repetir - + When active the track will repeat if you go past the end or reverse before the start. Quando ativo, a música vai repetir se você passar do final ou inverter a reprodução antes do início. - + Eject Ejetar - + Ejects track from the player. Ejeta a música do deck. - + Hotcue Marcação - + If hotcue is set, jumps to the hotcue. Se o hotcue estiver definido, pula para o ele. - + If hotcue is not set, sets the hotcue to the current play position. Se o hotcue não estiver definido, faz um hotcue na posição atual. - + Vinyl Control Mode Modo de Controle por Vinil - + Absolute mode - track position equals needle position and speed. Modo absoluto - a posição da faixa é igual à posição e velocidade da agulha. - + Relative mode - track speed equals needle speed regardless of needle position. Modo relativo - a velocidade da faixa é igual à da agulha, independente da posição. - + Constant mode - track speed equals last known-steady speed regardless of needle input. Modo constante - a velocidade da faixa é igual à última velocidade conhecida, independente da agulha. - + Vinyl Status Estado do Vinil - + Provides visual feedback for vinyl control status: Provê retorno visual para o estado do controle por vinil: - + Green for control enabled. Verde quando o controle estiver ativado. - + Blinking yellow for when the needle reaches the end of the record. Amarelo piscante quando a agulha estiver no fim do disco. - + Loop-In Marker Marca de Entrada do Loop - + Loop-Out Marker Marca de Saída do Loop - + Loop Halve Divide o Loop pela Metade - + Halves the current loop's length by moving the end marker. Diminui o comprimento atual do loop pela metade movendo a marca de saída. - + Deck immediately loops if past the new endpoint. O deck vai loopar imediatamente se passar do novo ponto de saída. - + Loop Double Dobrar o Loop - + Doubles the current loop's length by moving the end marker. Dobra o comprimento do loop atual movendo a marca de saída. - + Beatloop Loop de Batidas - + Toggles the current loop on or off. Alterna o loop atual entre ligado ou desligado. - + Works only if Loop-In and Loop-Out marker are set. Funciona somente se existirem marcas de entrada e saída do loop. - + Vinyl Cueing Mode Modo de Cue do Vinil - + Determines how cue points are treated in vinyl control Relative mode: Determina como os pontos cue são tratados com o controle por vinil em modo relativo: - + Off - Cue points ignored. Desligado - Pontos cue ignorados. - + One Cue - If needle is dropped after the cue point, track will seek to that cue point. Único - Se a agulha for solta depois doponto cue, a faixa vai até aquele ponto cue. - + Track Time Tempo da Música - + Track Duration Duração da Faixa - + Displays the duration of the loaded track. Mostra a duração da faixa carregada. - + Information is loaded from the track's metadata tags. A informação é carregada a partir das etiquetas de metadados. - + Track Artist Artista da Faixa - + Displays the artist of the loaded track. Mostra o artista da faixa carregada. - + Track Title Título da Faixa - + Displays the title of the loaded track. Exibe o título da faixa carregada. - + Track Album Álbum da Faixa - + Displays the album name of the loaded track. Exibe o nome do álbum da faixa carregada. - + Track Artist/Title Artista/Título da Faixa - + Displays the artist and title of the loaded track. Mostra o artista e título da faixa carregada. @@ -15455,47 +15921,75 @@ This can not be undone! WCueMenuPopup - + Cue number - + Cue position - + Edit cue label - + Label... - + Delete this cue - - Toggle this cue type between normal cue and saved loop + + Turn this cue into a regular hotcue + + + + + Turn this cue into a saved loop + + + + + Left-click: Use the old size if known or the current beatloop size as the loop size + + + + + Right-click: Use the current play position as new loop end if it is after the cue + + + + + Turn this cue into a saved forward jump. + + is a linebreak. Try to not to extend the translation beyond the length of the longest source line so the tooltip remains compact. + + + + + Turn this cue into a saved backward jump (one shot loop). - - Left-click: Use the old size or the current beatloop size as the loop size + + Left-click: Use the old size if known or the current play position as jump start position +If this is already a jump cue, swap the jump position and the cue/target position. - - Right-click: Use the current play position as loop end if it is after the cue + + Right-click: use current play position as new jump start position - + Hotcue #%1 @@ -15797,171 +16291,181 @@ This can not be undone! + Show Auto DJ + + + + + Switch to the Auto DJ view. + + + + &Full Screen Te&la cheia - + Display Mixxx using the full screen Exibir o Mixxx usando Tela Cheia - + &Options &Opções - + &Vinyl Control Controle por &Vinil - + Use timecoded vinyls on external turntables to control Mixxx Use vinils com timecode em toca-discos externos para controlar o Mixxx - + Enable Vinyl Control &%1 Ativar Controle por Vinil &%1 - + &Record Mix &Gravar Mixagem - + Record your mix to a file Grave sua mixagem para um arquivo - + Ctrl+R Ctrl+R - + Enable Live &Broadcasting Ativar Transmissão Ao &Vivo - + Stream your mixes to a shoutcast or icecast server Transmita suas mixagens para um servidor shoutcast ou icecast - + Ctrl+L Ctrl+L - + Enable &Keyboard Shortcuts Ativar Atalhos de &Teclado - + Toggles keyboard shortcuts on or off Ativa/Desativa atalhos de teclado - + Ctrl+` Ctrl+` - + &Preferences &Preferências - + Change Mixxx settings (e.g. playback, MIDI, controls) Muda as configurações do Mixxx (ex.: reprodução, MIDI, controles) - + &Developer &Desenvolvedor - + &Reload Skin &Recarregar Skin - + Reload the skin Recarregar a skin - + Ctrl+Shift+R Ctrl+Shift+R - + Developer &Tools Ferramen&tas de Desenvolvedor - + Opens the developer tools dialog Abre o diálogo das ferramentas de desenvolvedor - + Ctrl+Shift+T Ctrl+Shift+T - + Stats: &Experiment Bucket Dados: Balde de &Experimento - + Enables experiment mode. Collects stats in the EXPERIMENT tracking bucket. Ativa o modo de experimento. Coleta dados no balde de localização EXPERIMENT. - + Ctrl+Shift+E Ctrl+Shift+E - + Stats: &Base Bucket Dados: Balde &Base - + Enables base mode. Collects stats in the BASE tracking bucket. Ativa o modo base. Coleta dados no balde de localização BASE. - + Ctrl+Shift+B Ctrl+Shift+B - + Deb&ugger Enabled Deb&ugger Ativado - + Enables the debugger during skin parsing Ativa o debugger enquanto a skin estiver sendo analisada - + Ctrl+Shift+D Ctrl+Shift+D - + &Help A&juda @@ -15995,62 +16499,62 @@ This can not be undone! F12 - + &Community Support &Suporte da Comunidade - + Get help with Mixxx Obtenha ajuda com o Mixxx - + &User Manual Manual do &Usuário - + Read the Mixxx user manual. Leia o manual do usuário do Mixxx. - + &Keyboard Shortcuts Atalhos de &Teclado - + Speed up your workflow with keyboard shortcuts. Acelere seu fluxo de trabalho com atalhos de teclado. - + &Settings directory - + Open the Mixxx user settings directory. - + &Translate This Application &Traduzir Este Programa - + Help translate this application into your language. Ajude a traduzir este aplicativo para o seu idioma. - + &About So&bre - + About the application Sobre a aplicação @@ -16058,25 +16562,25 @@ This can not be undone! WOverview - + Passthrough Transpassar - + Ready to play, analyzing... Text on waveform overview when file is playable but no waveform is visible - - + + Loading track... Text on waveform overview when file is cached from source - + Finalizing... Text on waveform overview during finalizing of waveform analysis @@ -16266,625 +16770,640 @@ This can not be undone! WTrackMenu - + Load to Carregar no - + Deck Deck - + Sampler Sampler - + Add to Playlist Adicionar à Lista de Reprodução - + Crates Caixas - + Metadata Metadado - + Update external collections - + Cover Art Arte da Capa - + Adjust BPM Ajustar BPM - + Select Color - - + + Analyze Analisar - - + + Delete Track Files - + Add to Auto DJ Queue (bottom) Adicionar à fila do Auto DJ (embaixo) - + Add to Auto DJ Queue (top) Adicionar à Fila do Auto DJ (em cima) - + Add to Auto DJ Queue (replace) Adicionar à Fila Auto DJ (Substituir) - + Preview Deck Deck de Pré-escuta - + Remove Remover - + Remove from Playlist Remover da Playlist - + Remove from Crate Remover da Caixa - + Hide from Library Ocultar da Biblioteca - + Unhide from Library Desocultar da Biblioteca - + Purge from Library Eliminar da Biblioteca - + Move Track File(s) to Trash - + Delete Files from Disk - + Properties Propriedades - + Open in File Browser Abrir no Navegador de Arquivos - + Select in Library - + Import From File Tags Importar das Etiquetas do Arquivo - + Import From MusicBrainz Importar do MusicBrainz - + Export To File Tags Exportar Para Tags Ficheiros - + BPM and Beatgrid BPM e Grelha de Batidas - + Play Count Contador de Leitura - + Rating Classificação - + Cue Point Ponto de Marcação - - + + Hotcues Hotcues - + Intro - + Outro - + Key Tom - + ReplayGain ReplayGain - + Waveform Forma de Onda - + Comment Comentário - + All Todos - + Sort hotcues by position (remove offsets) - + Sort hotcues by position - + Lock BPM Travar o BPM - + Unlock BPM Destravar o BPM - + Double BPM Dobrar o BPM - + Halve BPM Diminuir o BPM pela metade - + 2/3 BPM 2/3 BPM - + 3/4 BPM 3/4 BPM - + 4/3 BPM 4/3 BPM - + 3/2 BPM 3/2 BPM - + Shift Beatgrid Half Beat - + Reanalyze - + Reanalyze (constant BPM) - + Reanalyze (variable BPM) - + Update ReplayGain from Deck Gain - + Deck %1 Deck %1 - + Importing metadata of %n track(s) from file tags - + Marking metadata of %n track(s) to be exported into file tags - - + + Create New Playlist Criar Nova Lista de Reprodução - + Enter name for new playlist: Digite o nome para a nova lista de reprodução: - + New Playlist Nova Lista de Reprodução - - - + + + Playlist Creation Failed Falha ao Criar Lista de Reprodução - + A playlist by that name already exists. Uma lista de reprodução com esse nome já existe. - + A playlist cannot have a blank name. Uma lista de reprodução não pode ter um nome em branco. - + An unknown error occurred while creating playlist: Ocorreu um erro desconhecido ao criar a lista de reprodução: - + Add to New Crate - + Scaling BPM of %n track(s) - + Undo BPM/beats change of %n track(s) - + Locking BPM of %n track(s) Locking BPM of %n track(s)Locking BPM of %n track(s)Bloqueando o BPM de %n faixa(s) - + Unlocking BPM of %n track(s) Unlocking BPM of %n track(s)Unlocking BPM of %n track(s)Desbloqueando BPM de %n faixa(s) - + Setting rating of %n track(s) - + Setting color of %n track(s) Setting color of %n track(s)Setting color of %n track(s)Mudando a cor de %n faixa(s) - + Resetting play count of %n track(s) - + Resetting beats of %n track(s) - + Clearing rating of %n track(s) - + Clearing comment of %n track(s) - + Removing main cue from %n track(s) - + Removing outro cue from %n track(s) - + Removing intro cue from %n track(s) - + Removing loop cues from %n track(s) - + Removing hot cues from %n track(s) - + Sorting hotcues of %n track(s) by position (remove offsets) - + Sorting hotcues of %n track(s) by position - + Resetting keys of %n track(s) - + Resetting replay gain of %n track(s) - + Resetting waveform of %n track(s) - + Resetting all performance metadata of %n track(s) - + Move these files to the trash bin? - + Permanently delete these files from disk? - - + + This can not be undone! - + Cancel Cancelar - + Delete Files - + Okay - + Move Track File(s) to Trash? - + Track Files Deleted - + Track Files Moved To Trash - + %1 track files were moved to trash and purged from the Mixxx database. - + %1 track files were deleted from disk and purged from the Mixxx database. - + Track File Deleted - + Track file was deleted from disk and purged from the Mixxx database. - + The following %1 file(s) could not be deleted from disk - + This track file could not be deleted from disk - + Remaining Track File(s) - + Close Fechar - + Clear Reset metadata in right click track context menu in library - + Loops - + Clear BPM and Beatgrid - + Undo last BPM/beats change - + Move this track file to the trash bin? - + Permanently delete this track file from disk? - + All decks where these tracks are loaded will be stopped and the tracks will be ejected. - + All decks where this track is loaded will be stopped and the track will be ejected. - + Removing %n track file(s) from disk... - + Note: if you are in the Computer or Recording view you need to click the current view again to see changes. - + Track File Moved To Trash - + Track file was moved to trash and purged from the Mixxx database. - + Don't show again during this session - + The following %1 file(s) could not be moved to trash - + This track file could not be moved to trash + + + Replace current Auto DJ queue? + + + + + Do you want to replace the entire Auto DJ queue with the selected tracks? + + + + + Don't ask again during this session + + - + Setting cover art of %n track(s) - + Reloading cover art of %n track(s) @@ -16938,37 +17457,37 @@ This can not be undone! WTrackTableView - + Confirm track hide - + Are you sure you want to hide the selected tracks? - + Are you sure you want to remove the selected tracks from AutoDJ queue? - + Are you sure you want to remove the selected tracks from this crate? - + Are you sure you want to remove the selected tracks from this playlist? - + Don't ask again during this session - + Confirm track removal @@ -16976,12 +17495,12 @@ This can not be undone! WTrackTableViewHeader - + Show or hide columns. Mostrar ou ocultar colunas. - + Shuffle Tracks @@ -16989,52 +17508,52 @@ This can not be undone! mixxx::CoreServices - + fonts - + database - + effects - + audio interface - + decks - + library - + Choose music library directory Escolha o diretório da biblioteca de música - + controllers - + Cannot open database Não foi possível abrir o banco de dados - + Unable to establish a database connection. Mixxx requires QT with SQLite support. Please read the Qt SQL driver documentation for information on how to build it. @@ -17191,6 +17710,24 @@ Clique OK para sair. A requisição de Rede não foi iniciada + + mixxx::qml::QmlApplication + + + Existing user profile detected + + + + + Trying to run Mixxx 3.0 with an existing %0 user profile! <br><br>There is <b>serious risks</b> of data loss and corruption.<br>We recommend using a test profile folder with the '--settings-path' argument. <br><br>If you want to continue at your own risk, run Mixxx with the argument '--allow-dangerous-data-corruption-risk'. + + + + + Ok + + + mixxx::qml::QmlVisibleEffectsModel @@ -17199,4 +17736,27 @@ Clique OK para sair. Nenhum efeito carregado. + + mixxx::qml::QmlWaveformRendererMark + + + Cannot find the marker pixmap + + + + + Cannot find the marker endPixmap + + + + + Cannot find the marker icon + + + + + Cannot find the marker endIcon + + + \ No newline at end of file diff --git a/res/translations/mixxx_pt_PT.qm b/res/translations/mixxx_pt_PT.qm index 0128e59693d0dd6f62703af896a02255c65131e5..16a5dd9eb5e0fafd76f6318d474ee17786c42f33 100644 GIT binary patch delta 20789 zcma*P2UJx_)Aw85z4yt%gjqZW%wohWMnq8&vtlG16eTD@#dK860Uc2>GGZDdqL>3> zj)OTXCd`UCE8hR!XJ+2_-nH(xzUNuYZ=Zd3=&q`+s;=(i!Gr=QQwz*1c)rzOEh3-dD!FGKSevN*K(H>j6Kp`#!2q@(w*3Xzl302c z*oxSW7_c?5T|GcA@I2Ut9Bj`y9C#Dkt6b2Tc#f7xw7~=MP>?;D2?pZx4A4$&dLp<0 zpR2V6mHCmJZNa-bz+aIghj z3vLHLg9nN2?g;*khAB7P1<_D#CUHC3SrI)tBUJKyqrg%4T$8A3W8!UxfqjTKS_y$! zaK0Y|R2Gtp1sE=ik~5kHWsQfg`kj}nDUAZhCf;)iFFw9AWFxierk@gw6&+WUt1(b6QH zmxzxpPSOQ@KW{Zj*D+*AY*HyAzL0bWs&>4}N75^d@6k_4dUJ!=D{qy&N=YZr;DMiE z8-3oAY&ZzLcOuyX>M69{$-EaT`P4v_!c>vu#^WK{IV88~M68ReN^bl`a$66g3cH;2 z-l)>S{VnQ&u)QL=14Ovts7kSV7Wk29;{ugpbq2{j(38j&PQEvg9Fjqjn@sYcqj=Ff zlB3`w(x<2t8#|IbVga!L4aw8j!bWbByktC)dk>ZDWSl|=@p%CxFK~XU9BbAcJC(^8oBc_QWjiTG27No6u1w2gJ zA(x=bd!!w8g=qY3(k|uN~z90$~X2BT>3A{?|5~D z_!e&}ux1=Y)r5*HgmEPurs7`E;WZuERs<3sbdTH|3(<2|mE!hfs*o-b^FK_L>V79K z-J?qNTM?J7RH*~3e8Fz20^^hNm!~Qh+`w*BMX|9)VJfBk=cy`G%UcW}hkDSq5mkk# zB~gj0otHN^<(&hI#m61ZDO~JLv85!m1pGM%NyKG?n{G+7PO@r`yxm@JWMr< z?jgEdo9a+mqO|8!7Y$>Nzf;}G;4M9Qz-9A%XUIbtT~E@feh3;`vaEv|jfHXSy+)1B z1;ax%Qz=|qQ=?~sXl4^?dU`TR`6iKf-4q0uCDgVuMnSP}PSzZ(l6@MZlDD|(WV=)+ z`!)TCubk|^Sfx~FHMI*_PkgJRI{8$E4Gb)!QnWrvJ|2^aXFUU#Apl+{pLz?4m945$ zYMf0zL4iaiVx06IrINQlPd;JYFzo7(&&-*`bgRi{FPzVTapbeF9P!2}U@D=J<(n6wSRqA+r3S99ZC+kj7$@=V8$$k5)l;B#J6mpuu@ z+%HnsetE?DFQu+SHW2$Vh`L#h5dFD`x}j%mz*XuNkDkTOb#hBCbq|$^4eUTYo-HK) za3}RVb(L5%7bja5qFyD-pn(Ud*W{}h{~M{-!3?yVWOwvAPE2}Ab~qX;dX4OVV>p?X(V!Yjh?m$&;eQ+^sq89> zn37CvRU$oX=cS3n^tO~RA{9Dp>14~6wBU9w ziJs*sX%QUGPal=wvQ*SbjF08vBuG)CoG>Z3$805jq_O6?ikcI1$!w|C_G3LSl0} z)0Lg?NHX=K>q~AD*EXOVWiyDrEL6#OH@a~;hPb2UOuFL=-8}e{M0%x&etR6fAC9cIj0b&; zfrKn`=+pcZ5{32j>Cri22l~)Yg}0t2mfVaLEwYrP<{en^>A4vHW8ztv)s=~cO03*@ zJgC_lR({!d61*|1urHVREWxTCzClv0W~@ff!$bjrtj0)iU@ulvmql#rKvwH{42jpv zS-l&RiQd&?^=rov?JuK}WuIa7{m&o>HDOJv!}`N>Sd;ZNNRs?mlRJ)VVn5tjlZOy_ zV~I6Agp4IHoVA(`Tj)@mdAY)O4>-cwG==DQ#;`W`(}`B@XKfyWDK^$=ICS3W5$m-n zj-+L((0b9um4SwS~p_-3qgg4*08`Du>SadEHD8L(Vk&JM=*c*aFE%3lkmm$ zR&22M2jZ>wu)!}VtLy2zZ zvCR<}JhyJL?V}J3Hx*^+Ib%qaEy;F_I)jw&KHFIirV~+_?XIdL`gj^d>i7wtVf%cb zE6Zq{jJfhNmf;Nro;bjcAH!7hULkfmHF9%qUEIH6L^8^A6!b|-de61&LDlT>08yQFPJl5q^X66gt! zUzlA9N+n)uHoF;`NGzc^yNS$?dI)wa*@alj8+NC%1A}Bj5X;`qiN9{latfh`hMVl! zH5a^aF?$|^5b^W7N+wlfZ)MhhKWbiq1AWVW z?kWP${*&_rNR%FM{_rBv{QO+&??JTt8rLpcN&Fe(7RS+jn1S`+)`NxMnO%7PQ6GqH zzRq3#d{4ABKQH<^i^S50+*aTUNq(PsxePlR7|Sbc#fvw+=2bg(Ay&lbUl(l z7wNp32~oUA1b6?Q16yjOQaoS4Ywky6NFBgy*X~5ZSdBaCJgrL<(~x`4_9Ah+I&a~N zLDI&~TiuH%so6vBm47u-%D24jq^l%V?#SDBUrV&`50zqZW$srcfml%k_nV<7_Hi=r zJR^~)Q4QW@(Pa#tVZ7JkEaG*q@Bw~$NTNR33g6g#8JpRpl4OZm)etfv+qJuUijTZ z$QNRX-Do4U$q^)WRTJ6^4@o@t5{9fJBo<#5hU*296Q2}@54f+nk1)-4$V4vxDE{d#;AgSXTQK8OJ;@%OW%2SAbLawNKTq3^kn5gDe8)?T? z;ocC_k`o@HCWHUjx>M9H4wVKz6m{356j6SdXjmH|X-R}=XvY-w+Z54sh=n9qKheyQ zjTTSRh!(lKQFmx1TCx7bmzD;{6JM4tTCdoF2WJVddl>g8-w2=KNH0F05I(cQ&8 zuWHRHqEioexaj3hj>r)`2mMCWz9D+4#kSd^Pt0`^VwUK$5k-~7qeZ`pbxHE-DI5bj z6d>{EHWBm}97WGZB6uOPc`vO9DW8gQ{y~HcD?+q5O@yX#Vqxt>cqvqWj@=aDO%;|B z(SAtEE5(agLOHSGDiPZ~n1p4Q7&j2EI^lzGEK`EmP~phTAn_wpIG!exa2ya5icW(I zW)2arw(yvk9NV9yl0(FlCm5F_Z;GkA5slM5#I(WXQD%BCW=}^j%APM~Cm{3#rFiyHEIcrPm~Ro0+ywQlvFT!65u_bGyu`Zn=R{ZTi1o#05XIFJ z>yHd18toVvO9@MS0rt_ zbd(#$NxFNk#D98A`u4fx5W6Ny`sojl*%g%xvB@Nrt|gf;F%o|UNd?1PiQZn4il-bW z(HIeS4r0ZyNXd112C+)+xD>i>pDdMIb_~WjKq~Kze8-$2Rj7Lj`A=o3!r0a%)eev< zoX8`w@1j(BpoPTSQc{)Bb|^tFk*Z8eagfM&UaHm+9%{@ZsoLj!&{=z__RwVXsG8KU zVFa<#=~B~fStNQLlG^O}Mf|9j)S)ztHms-QYwdubbxGLA@wK#37#w>^$5x) zZq`Y?5(^Ub8zA)=17mJxkov#=MyyGa6w)dIF`zx!)9Vub6F48cAJ5lCHDdznH)G(h&F&_{U`t+4XT2Qb(F>iHD;;x4zCS-$2A@ZP02#2*l97Iss??8)Ip#EI4I|yH1 za+b7dOIKpqCTVlEwZu04ls0ebM{HLiY0JEi#Mb#qsr`|RF25sf9~OXl&>JZobu4=2 zsZzY_Af;#aBB@LnX^&|T@$s9beOt2O`_HSC$_ZGfEeTjDqm9F-K5iYDQU7LXVM@)VvH#d;3B~FIQ#z;4?G{sNU1hJ&RPYjf9k9$n) zkB!pZbYBwgJEaHrauAl+NsoGsC0=>5lryy^(bw%NnTV5~zE^ZwNqTh!4Px7**Xt0R z{@x?KT?tRg_Db&@{Ym7ul-`}ajw1U;>D|Kw;#Je6_fH`)|Mk)bE!f9Z`ZOuVK~lpM z>GMV`h>YnZeQAqvKJcmZqx%pN+xN(1Dv0>cWa|8g*x=r>ydj&|wl=bS4li~us*+!6 zCd>B_#uqG6DUvqGn(E2KCdbHn*+M*Nx@;_4jl|>#+1LT9`Zho|6FNHNZ@EC6;{$TD z(>TD4Zn#}8k_2l$9ja2C|17(CV~wKiHI-7mYI23~!Nl)p$koobMKS%dT(dnAkGn=5J9oxO+uzk?%b55xwOWck%s= z>9V8Elq$siipuRTHzz*$wcP$bzHkecJ9PFyV$xmiG!}E$;``+8S?IywMskltG&K8; z+`IpH;`w*W{_WvGUEaz42G%9ISXCbAwV5Ork_UQY+301MO70o#Jk&>khKVp?=zkJ^jaPg3mx9`l!q#bL$~~Lm@9(E!m@IhJGkJX z95$~TRFWWvDfvR-t8&B)jEaZZa@5=%kibVdruQe5@Dk)v6;C5)94C*;N+7Z7q&)g` zIMEwNN%cT{7$}cbPP}!O#|0yrU7amYON2G|xGqmm^TtFWQl->-p*(BxcoK36d3MeA z#I9DAXV)7@V$T|RcJrx3y|>A;+Z-n>{=yx(*g3ykqf6Vrg#j&TKd2ezjDJXNTooAMp9@ zEP2o9av08gRSM%Cc~4>%MpL$&u>%WsZgu5D6?2Ih^2?b$9Oa2(Q*cn8M7Ui(_69z` z`C<7umJ=8+p^{JUsZyBw$tT`tkf!NPiUp`;FGHO{* zo{DPMCmff3}+mv3DuizVQ-@|_l* zBwl*ScLOnTC>SW;-xZ40+~e}Y5ZrjZyh`z4yZlJYiA}jBKQ0IrMQ)a#7L$kyHk6;b zEx;VIw@PjwCO=)`N}@|$`I)gGa>h*g#UH3OxonePHP0a4^R?{AHKY?WC-M1VngYeAAbQ4Y3Km4YprqE}JlH)_ zQ>gU=ym*eLP#~84?_JioEI}n#S6Nef4Xn0GO-;ER^rYWAO?ky7w==1f>J8MCpTCw! zuB9oTj0P^qQ7MvMYTSyaBh?zFaa)NM-h>C53hI3=RZ8_1XsV9LCUM#ERpVae5#qF$ zrj|dV)Vi;lCOut=m1&`A+P5Osy0bN&i&v3oP)gJ4a6#z!ho;Sf`NSs}G~VHXSXz4F zWUU)2d51lOYGJdO@~buqK)TN3dic#nr_vRARMo& z>0S@XX0y{8|0fm_8;WyGqJZY#I(V+#ZQ$sZ)RnON{6E_Qs<}YlTF&aViL8}>~LyA^lsm4+2C)Ovv zYbN{%#5(3D&BUdbQD8l%iNCp?=)iN8V&`+sw6X9TU$<$dPYOi1?xmUez!Np3^O{*_ zeX$t7T{HXL1H}JQ_cU`FwSqPG)y$pS3iJ7cDg~>rN!$pX*PWnQFb%re*H*L88xm>x zNVB*ABxOIOS^V0Aq_$Ty$yStTyo+d7^?ZR*@Itd{Co-VFOKAS`TZGtQ(5x?>N8&+K z&HD1-uZfzCl_AkD6*QZ6IN&;KUeIhly_Q7jT+No^oW#*>nl0#wRIsRKyN5f8bK#ow zr^t}nb=T|-gKBCQ(Cp8T`)btG>~EKd`G1NgGyhJaU7a;YS9lT~sjoSHJPS1>v*v_( zJfdQv=G1UBc*Aea*~DC;9Tzp{T6$twUeKI#Tw6_2t8bbtC3ov+)MUMd2OCgMb73V` zT;wB~OC3$D?LzK6gnVs-LR)9JLo4Z-!{T_~883 zZklgT!H*8jue4MW7d~ml^_3X+9$L-3Y!a`UY4uCbw!91?>v3(__zA>j-PEe7T)R;!rFy5dmGeDD zSa;y=PX3w5b{D7=jbv>X2h#E` zowVJC#$k$9y0o_2<^FIe5!#-GG4p9!LfdO~7RvE|YI}dpA$BrN+aL3Lk*(7Pj7cX+ zj?e~tgO9&fPaAk?D2W5hv_Vxd{-gG5LqfI_@AFz4@&LPmF09uMSBhBO+iS<|uZv0T zU)qW8mq=79ubuc2HWs&2JF8@AY$*$yp`8_l==G_vc2*{IednZh_CRDZ{w~_tC!3H| zC{{cBd=f7?HvEFMB7(s=j3FNI9yCScLd`5(=hGaFOXExzS{YRzhTEmmUeM@ zljqM z*fy<_7x3Vd+Fb`eVG*sYN)g4hdnd!V*R|B{zl+gUf3^1D6bBrREk=7NBAR#!A8qE} zb%^EE(H=W~g{bgJl~T)k+LH^DiBB|Z&)h*0S?PxM-0qEtc3-sTgK&NSi`ok-(1DtN zYOjn+ATi%td-Vq@pMQ+jUROM6_tn}P9kWU7jnQV;DuD%zuG&WxeTj`}qJ8F=J|CN# zPH3Oas!gJ`S^GlTL1Yk4ey^;3Iag2g?6@|!K@N87?A5-XhZ<0tUHkb-U3jpy+ONOx zpyr>n-wW)3Pj8|9o{GJ2O(ePD`C-m;o# z%^ID<+z2{PkJDMAdL!kUqI2nw1%=LabS{fhNu(Hcg=^&!EBjMd1UaB&HtC99J4(z; zt1Dp}NbGm8&bIz3QnAfC+csa=ic#mbZVicvIl2nfEX2wibQP*+5tSLKtMC#IYfF-@ zq9;^(y0NZOY;j`pW{0kNgY6_Lp4HX(6QX&wN>>Ye&8XpQoyW0qNIw74)ibOiy46+J zphX^uEp}bQq;9BcP17~zeNdD>qHFAqaGdR_^As*{I61l&6(PZaTU3hHpLA_ocoF`m zlIf#WN{tKa+V(#Q<8*Y>waeccN##ymyHjv5`!48w@1zoY7_RdRzza7->pHIsg0Z~T z`FAWt^rEt^Z@pNoa*fjU|JSh`;NUAeXH}m{0#F$&UgcUH_$ZEQ|6T74SSLTWCk5MS4>}#!?pOK58 z(MC7_mM2`WT{r)0IqW~2r(4)*Cl)53=oSta#0&Z9mW(ZgxW81lbS56u__A(U{X}B@ zYUq|V!?2qAQkUHHCQ+sPy5vi~B)&bH4Bfg9*iuH1 z{B`SNo@4r4N4FubIf~FjbsHbS^9?MZ+dKk!{)1%QmVI@J>fF|)=?$oCmeXxFb|g{k zrEX8n=fu7i(Cs~=G^m+w@53%A-Cox1eYpx8tJ_x*Dy+I$cc?%$;%;YkXFkK|hCg?5 z(^1{oLJq88QU(sdp6gYze6v*YM(1>A>%!Xm?bDqN@kI5@qC0!JAMu}hl~UWXx^qL& zfcJ}Z=T4(Sy04J#-0O7WEfzc3cB$@fkxsPtph~eVTKD((<3#(ibeG(Z67^lFyX2@j z8#*7NyK-$j7So&Qvawl;1vS#$ujYyskw0}0^26i#{?g?JBooV*q5DXAs9K%Yeg1~{ zUU9hYNACqBLWk*oZpQZoKk0s@L$p8V>Uq5k5?y2Tq8}2Jsf$z!4XV#EuEd`P=_TcT z4HESZZDr{6`%=Ae`ePI#-#J;Un@ZOGh(3S9WMXrd>kBl2kN?Z8FVYfGt4|Gmi9HZp zxTn5kng#n^N9s$3M-X3R)w|la5*t=iU(N+D8rNH24*OYn$0U_f({uXrlhDB#74_xk z+c8_#JM@*Bm&Z1NgZj$tU~D7(Rr1EY_0^7>NKBRWweLXpzLWIz16&Zt4f+PIsQn~Q z)i)@OMJR)>zTxoI#Iknl8}68l^}a3o7Dy~arE&UJ<3Au41na#M_7Z#jK<^U^iEbXN zQml#B``odk?%;6OcN_$V)AoT%)>G&^UdQlD$kcbr56O7j^nTspLX#`$J9~JN7`jE@ z^LRFLz(4i9v!YQ_>8SVbmPO*y0Db=%mx<}G>H`l9Bs%<2AN2Au<`0EbiWSxMgZkh; z537FgBaE)C4^(nT-wFC59VApD{#GeIR@4uf2#UaL} z14}h8^}Am0BX)VaeqZn-R7xJ{_l01Xc6+aqm)oa5b_R=6X&v;(o+glZvt56pGNNe4 z1O171m~^Hz)t~Tzu^+vqKQqn|fuQn5f9{SaO06~Y=PTldh?V*aMZJ)i9M@lrOh6At z>n{%9N@C;{{q>~Ixn5dfl~Swq`q#795TCM2|4yKCx~{7J^W|LZiPq}B@4_aXk*@k52}nZcp40!> zokldTwf@K7vDoukRR625Csx@#^m&o^9PO!h{J!apU~pOg`>~9jTC)t)2%c$bsDaX< zio;b5%mkml^Ok|{_rPx72?l-upVL1Xq%UJovWYV2f^vweEmp}+_!$hj9WYFN4W?>H zP|AiF%vJjnuQ}UbeVT_oC9Mpl-nk>FB^oNWK=7Ke)nTaG11h*0ZK&=IE8i;_-1p=` z#|}e{w#e}|k2lmvwP4k2si9_ADE6-QHPk&FOmxQI;L&S7(b6j_#qx%RdOFM-hAubM z3&fJkg`tKf=V1L+T@9W&C{SKMS~&{~f$-qumU&{k?llv>cxwpJ_( z0^%7)-3$O}sR z>v)JJv8F4ZHZ0PZ&lV#nQ?hFGJkkL&U=MhS90m zuU;zBFexR1_~LBCq^ua&Sg2vr-D1RCD;XvagC981+%S3BPQ?Fre;H<_eL$%t%rIy1 zPU7Xu8RmZ2fkMF-!@NgzNb*ZEEVf{tpSr@ZxZQH%jcPjCCdbLPWLSI|<2?AiO5xMT zu%x#y_Cqf>EIA^f+SSI%A}%VWR!t2{ZbqQ$_R+AkEb@O^QrVDvO(weHWk~)EUjAtK za|OofwGW1sEs{wz9bs6R8wKt(q|iHLKn#2j_A;adA1A3uBg3liMWFizhPBEpy6ZW^ zU;fLnKk~O>Q^^=&^Yw;JO&<_VayM*l3L}29(y;ZxDB|}!gH1<~RJ)QPEeokukj}6z z4asHcSi_F3h+fl^414OeAgQCqu=f(?h#^@j`GH$1rKSrK9d)pStBzrR+c=UMR5WDx z!yo0nFl1gu)ZG?sIP9lrF3NDUPAj5yOAW^wz;X5*Za9^6oOqM`hSQ7PiOS1{bKl~T zB3?0^N3l($Ofy^>4F`H>h2e@@7KsxR4OeF3^WCS0t8a5L+8u`MV`!f1a>MpRpTJtNzpQD+DGn{Da|lC?1sM zVfcL%qf(GjZkd8;9BR~rXOM_%YSe$k_Y3YA&Au?5{-uotCkc`~7aLukyhgIU$XGOg zSL}J2ZY+L14>P!89gU?YwMGv;jJ7Gr#_xSFRu6*-o!@S(9-lz$-5#U+OnCC#V@CHq z_$gDqnZ`PI3Xs^5Xlx+uC!xzRHqqX}Y`?A1vu6T==^115ho0Eg&8NO%iSR5OrTIL#k^&cVXwZ_hF7Gmd% z7`t@y!i1=gvCG$N1W~QAyL&3Jsnw0$Yi5&ZSI^jQ!5E^mX5+wOC?`}{Z4AUxllZjP z7_`KfSZHr!(2+XWJeXn(UQ~$qkT1qT6|+bjNjDC4oJY!crj&8`lPu`8lX1lD@x*`4 zFplKNMVl`)j%)$PIw#Q>-{d=qZSRbeEhensxEZHxaVKH_Vw|#T3h|s_D#eao#%U{} zu|0aWll8`_2$GG@;3TAr4z*S(HacN!5f9{1F zmv@|u^x%+6ek8}3QVgMF+b?6vj|>uD&BoR0=VasRJLrhL&j`3Otc=~J8jn^>W5wlIkTT8Q$ zf^IP0sa%UhL6h;${6E0Y#ygweffJ4Q47nr@t~cI8txOc2W_*0&3NeQiZ+z7oL+^!1!%5L^>_g#8-L|_1I?0 z=g7lK%^Op`Ss5s<6)_cfh5}3Hs-}{A+QD{in97u1L(D$PRQ3>N|E&W}We+D2Th-F! zwl+V;e*t$>rMQoffYwx%Cu4o$o~i1YJdESVrmDXzBt|baxt}dYl&Leh=b$vyzMQGn zcZt}Lai)525G*IxFg2;+OJc$dQ?pX&(fg*RmZxjOAum!X?%g%D%5%Xcy-_AFmn;%z zPn*1A;E>IBQ=5{NVTDBwo4otc5$@E&4-2b(y%VY_8%>`4}tr^5S zj5PHqF%6!ztjXWskxe4dVDisQfy*_5tH5Ta{sZ6O=S#CyvQrgI1E<3V=F~6^yt|Mn zw}>flL4Ojz15AM*!Mqrg-8GNI%s)+bzYG#Fg-nAcZ%4xQ+BEq7EiAeXFhx#+Ld$TzJ~aI-N~3Z}lfS{XnI-7-X8& zGZjIzi78jPfM8 zKQOI0WGAtLg#TjtYs(+R2Gmq3wfJS)P{tFRZfcq~ zeM9V<7GT=?3&HtYrfElgl%|ENY0teGM9Fs?ri1m468GF?I(!a0GxFUv9ew0ZVqhWD zF%DZO>8?`vlu#)(X=^$e@DkIF5Yy>1n9sPTn$ETP1l#Fqx->U|#P^$~%jHjF)^9Og z-RBBF5@otp3$deM3)A&+i0UVrn{JdE4;zUw-93T{S~EvQ)4kuHknS%s-M@$Ndv3Ss zQC$p2@!pivH<`rKIMd^~zQp5qnVuK5KqB#`7ac#sKXf;}(_j)ieuPR9HOcgDRW5?k zZ`1qh@PLC~nZDQb#J&etm5e_!^8_T@Z**q9u?O)RzGf)`&vOLKF>96~HO!xC)?3l@ z%|FeCb(jjqEH)dyVout)gE{|zP-2D2?4k)I`tz!}a6zc%)kbrXKQZoWG&7gz=7z$` zTXV_le#CqGnM?JBkv(xYmrAXU%20oE=`p?}Mo4B`25hZjX|r3AI+)qbG*|4f9pk@( zySY+FWq55fSLvIMs=Y9~Z$%>V_fm5mEpE)LW3D&55b6${%?&Xt7h@)vn=}X_O7b>0 zJ%BKMQEzVD8=GZ|#ei5kF18o^1m=NxBo%K3{>J8-)#ldzP;v3;palMH_F9h$j<{dk z+-8a=@yZ9yZ9XL-3f?rg>vRlpzKlvf<(EpS$$oRYfDlB>_2v$((6F4R=8mSNM8Bq( zJKir%JkG`JTQ!2DYU9nm(~!7K9Ax&J6^{khG3L(rk(qFvX70KWqhw?ibGN^7f4Rfv z9)8LS&aKAg-g$75azk_fx7nDpjxY!IE=#=lH*-iFbabb`In?@qM3IH&&^C=wEL&|J zva$dq_Ru`Eau(6|Omjpm>XK#iA??~rTVkY zOB9zIy4SpP9KyEgwt4-PmRPq4F>e^1haj}Wyty(|zPU6PbJ_~#+hilsS2brJO(kwPY`$m7#{Q*v^8;Hs z80{SMgXK5TU?1~?bqLS#ndV2Qp_13P%}?wxM4Rq8%pW=(CgBoq{y1_ZDz+N)$DBB# zoIU1GdH7kZ;kfy8eni3NvF6`;q);wvolLh|G)8#JrzVSj2}E7R#Zve@hVPGAmeTnX ziLY;Fu@!`h`ZluI_HQ6QxQ)ea0CK_Yoh%hclp-4a!%}7TYNA<=x0V|DFB3gjZmIpU zKk<+QmU=lBl3co48jnDb_;a|WX-629dnrp(I1H)4MN2b}{ix)ISy~T5+FkvdrA=^M zl#IVwy!Ew-)!JuipMxJ1OIk~Z(VirZPq%bxj<6oL%hG8t(soZ5OV`UENL&c8^i1$2 z$sb#8>WU@!d^~6Y?xyi^B{{v_1~6p`BI71A7h!wGKf!HZ<%xiMi{xl67N96 zvmz{$<7SYg9b%c%KtcuQ>ki8lKZv441C^|Y-ZEnymWoRJw#-_Xfu&?_NxYtgRe4{_ z;=TA>YN2Im!fwQX9hRjzm_n}kVOfFS*o(&LmQ_0gNE8}sS?wK)3Quv%npK#RPR+Hf z`PvP&s}#%nf{^HdD9h$`u2?s9x1=R1J2(q{wQQ@m1KWXPEW2++5PLq(vR6j>{UzG6 zubKzpw;-1Nb;lF0?QJ=j2_u`g(2|jZ3eB=BmP4Olq|r?*nbuY?rg)WNO-;+Gi5Nv^ zI$BOoERR(@Kg-`x1@jtYxl|lgyW0_#YwoZmOB>7Wp^nMK+V-*BIf0f&AGKuHnSf${ zCnqh5Dy2q&mitOkz5Ha${TuFBtNLwu_}rJoiV(}=6>z<&*Da6t+{Q}nEz6sI5k#%p zSU${G<^zi?-|s*LqXt@ju@sMkTwGY5C>A2@yTVlDD5@C8xIq8}~`H zT50*c4@P-pu9dL1&1;RZ@-$?*8=6_=`bV(^teI8oqpaq4x9Uz>i0v6-HSD@c!uZN+ z6t%Gs%dJKOGNMyvs}W@eR?FRLK7e2}fmzKT-oXL2uv*T!VCtG?by$@z#${R+im0a6 zeBlsrmCn}u)siuD`DV@E7s+Oqe%3-WIq^&B)*`JT30+ldv62|qA*HM(p6B7WE78_6 zBNIrt#aSyANkuWu$69S9jCN?G)%^p`KbdB&u@-qiyw+N?azo#%xs z#}|VWt@SFQFmfot+OQ&w1O%o0?XAI0ieZ5?#TvX2*50O!)qbQI@z^ES(5>C@ob%Qpn=pJQ zIfknTQnSt0A#eJ_C6=`gts9L=Xrwh##*M~O*2r=lNUXnNjaj;o_^pxFF*_ni)EaJe zw9h4;e9Age1Bul*V4W?EC$WF2^^aN4u{eIyI=?LTx-}bSUF74A4t=#QaoLO6@Ivc~ zaj6J;=d8&mVu>8P3tLkLk3xyqVO{;98?klC)-_YQV`aw8x;Cp8T9|76YgYs^8Lc(- z9d0<>%DOeHA+`stx29e7#Ln#A*6k0{iAC(OrX$N`8D7?%jXq#q!_T^}zC@J&PwRot z*o6Q1fHh-*9`l4z)_8|CU-58bq52gl39)?*VP@|SC^#}=JI70+lrF$B8l5oJAH zB7wO71eKDt#6KMS4_`Rhd4cs@fh^){=UXoYp=YPMTCeu)k9A9p_3HC(L_3RGZxn>l z7M$;7o}cwrS&WK=3f4O%7^-q?l=bejWTK5-tl3|nyRH7#`vWtG-7IgtKgFANImi6VKS0tvivVOW~BWhaT`gvVaXP#L3GMO~9p2J%u#^EPu`lH6CaCXM@(>yyqjk_@G76pVX^Q!JiX4Xvoe?)a7%Seh`#a$8)jw+utZWqtjTaoxMG&M?9jiL~x;Sp%?b2Q&ZZrBd3oKs9F zKs5%Z@)X4>9ki?0D)-gGpJH-u_y-j5ZPJA&%q725rtbe)OyK;u5?+cnp{784P(W<7 zUD01qWJF9rXhgKlt+p*_a6m+aJq-N~hzPbtMuf%LYAGspt78j@vfH9#hbb0oPb?i* znsxYp_a^D>RLR83;vKU3j{o0l+-r3ESF{z~YE`s_M%(P+!(!spR|ZAKh6Ss_hDH7N z9PKOoTSEafI?2XGk)-omn5l#vst%<~&6YaoO ziZr8bPGf+;f`xKm% zuZ>i+4Y}h?JM<|C*DGV+hQA2(Q!%-4-2G2qab6MUf8*qzr-b3UK~ybiTUV)6{eK>; zhz5V*uv^9Y2CFYsgd2-IZ&Y#(6{ ziyUT;svaI0Y=|N9VFZe&=rE!-Xv>#l{vHMR;54uhXOq+#Yz-=QPiazJ1s?NhN4EN)nEjudJg#?Jr6@`m5}rFAFrzjNYQ=} z&Z@@uUmt4u1;h+?x=(vx>>yP+q0up+LGY=e;TXqCY(o!6Muo=2pocM$N}~%v5a85#dR&6YTPf=g1X{h~nU|NEC#=o%9c1v6|BixCff z{U6?!*fb752&7I)DScV7B-amIqxh!c4n<=z_(K$icmrqzjurb;{E^dVDbB|ESsAg) zx5{;ca8^-9G|r6p=lcNAX{(BEgYaC%RXIIGEUr|(RV1jWSa}a5SXjNm>Hb=fA4H-& zJ~%0V8Y`h!EZG-#jY!H&VQxu#8M7q4-O6-HnQK^Khw>D~6-21-5Bv9t>I0nd*J&>Q zdZ}Um8Iod!|J#Qtxk;J-jA^G59sZY}3=bGKEHq+}GtCH%j*hjfBf(({7&Iu#9vuze zX~Q6iz%@=EYLAMFjDoQ#$`7{3*x^ZWdw6KH67S%L|JSoy__d36xB1#f+FJdOWA5mD zVYHGJD8UGU=wG)Kj8>?Y9vYnwgH;)YHoNM&g3F|*#Jy!=J+)4nCwQ?E5%d}&QKE(t ztz%Vxsf-)A-o(do4U>AUWwvsPggfC+@sGjK)gx6$&;OTuXp{J9bj`xi_86rTXlrYG zNI+~@3`Uc4W+1K*>2OVuVKFzm@+}Q-ki1W`HdyHaZ5$U|3{OfRY%(O)1ez z5jgyHM0A+ysnG69cK1QHiXl-ID{ConbzFgt@RR?xTd_+enNixUjB2F`J@BpKwUofF zj`jauTu^y&n0-({P@HWk+lPaWMaAo)!?r@h5f% JL`ioF{XZu5YQ+Em delta 17903 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 diff --git a/res/translations/mixxx_pt_PT.ts b/res/translations/mixxx_pt_PT.ts index 6d3894ab0712..074828c714a7 100644 --- a/res/translations/mixxx_pt_PT.ts +++ b/res/translations/mixxx_pt_PT.ts @@ -8,6 +8,14 @@ + + AllTrackLibraryFeature + + + All... + + + AnalysisFeature @@ -19,52 +27,52 @@ AutoDJFeature - + Crates Caixas - + Enable Auto DJ Habilitar Auto DJ - + Disable Auto DJ Desativar Auto DJ - + Clear Auto DJ Queue Limpar fila do Auto DJ - + Remove Crate as Track Source Remover Caixa como Fonte de Faixas - + Auto DJ Auto DJ - + Confirmation Clear Confirmar limpeza - + Do you really want to remove all tracks from the Auto DJ queue? Você tem certeza que quer remover todas as faixas da fila do Auto DJ? - + This can not be undone. Esta ação não pode ser desfeita. - + Add Crate as Track Source Adicionar Caixa como Fonte de Faixas @@ -222,7 +230,7 @@ - + Export Playlist Exportar Playlist @@ -236,7 +244,7 @@ Export to Engine DJ "Engine DJ" is a product name and must not be translated. - + Exportar para mecanismo DJ @@ -276,13 +284,13 @@ - + Playlist Creation Failed Criação da Playlist Falhou - + An unknown error occurred while creating playlist: Ocorreu um erro desconhecido ao criar a playlist: @@ -297,12 +305,12 @@ Você realmente deseja excluir a lista de reprodução <b>%1</b>? - + M3U Playlist (*.m3u) Playlist M3U (*.m3u) - + M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Text CSV (*.csv);;Readable Text (*.txt) Playlist M3U (*.m3u);;Playlist M3U8 (*.m3u8);;Playlist PLS (*.pls);;Texto CSV (*.csv);;Documento de Texto (*.txt) @@ -310,12 +318,12 @@ BaseSqlTableModel - + # # - + Timestamp Data e Hora @@ -323,7 +331,7 @@ BaseTrackPlayerImpl - + Couldn't load track. Não conseguiu carregar a faixa. @@ -361,7 +369,7 @@ Canais - + Color Cor @@ -376,7 +384,7 @@ Compositor - + Cover Art Capa do Disco @@ -386,7 +394,7 @@ Data Adicionada - + Last Played Última Execução @@ -416,17 +424,17 @@ Tom - + Location Localização Overview - + Visão geral - + Preview Antevisão @@ -466,7 +474,7 @@ Ano - + Fetching image ... Tooltip text on the cover art column shown when the cover is read from disk Buscando imagem ... @@ -488,22 +496,22 @@ BroadcastProfile - + Can't use secure password storage: keychain access failed. Não é possível usar o armazenamento seguro de senha: o acesso ao keychain falhou. - + Secure password retrieval unsuccessful: keychain access failed. Recuperação da palavra passe segura sem sucesso: o acesso ao porta chaves falhou. - + Settings error Erro nas definições - + <b>Error with settings for '%1':</b><br> <b>Erro com configurações para '%1':</b><br> @@ -591,7 +599,7 @@ - + Computer Computador @@ -611,19 +619,19 @@ Examinar - + "Computer" lets you navigate, view, and load tracks from folders on your hard disk and external devices. "Computador" permite-lhe navegar, ver, e carregar faixas das pastas no seu disco duro e em dispositivos externos. - + It shows the data from the file tags, not track data from your Mixxx library like other track views. - + Ele mostra os dados das tags do arquivo, não os dados da faixa da sua biblioteca Mixxx como outras visualizações de faixa. - + If you load a track file from here, it will be added to your library. - + Se você carregar um arquivo de faixa daqui, ele será adicionado à sua biblioteca. @@ -734,12 +742,12 @@ Ficheiro Criado - + Mixxx Library Biblioteca Mixxx - + Could not load the following file because it is in use by Mixxx or another application. Não foi possível carregar o seguinte ficheiro porque está em uso no Mixxx ou noutra aplicação. @@ -754,103 +762,108 @@ The file '%1' could not be loaded. - + O arquivo '%1' não pôde ser carregado. The file '%1' could not be loaded because it contains %2 channels, and only 1 to %3 are supported. - + O arquivo '%1' não pôde ser carregado porque contém %2 canais, e somente 1 a %3 são suportados. The file '%1' is empty and could not be loaded. - + O arquivo '%1' não pôde ser carregado. CmdlineArgs - + Mixxx is an open source DJ software. For more information, see: - + Mixxx é um software de DJ de código aberto. Para mais informações, consulte: - + Starts Mixxx in full-screen mode Começa o Mixxx em tela cheia - + Use a custom locale for loading translations. (e.g 'fr') - + Use um idioma personalizado para carregar traduções. (por exemplo, 'fr') - + Top-level directory where Mixxx should look for its resource files such as MIDI mappings, overriding the default installation location. Diretório de nível alto onde o Mixxx deve procurar por seus arquivos de recursos como mapeamentos MIDI, sendo usado no lugar da localização da instalação. - + Path the debug statistics time line is written to - + Caminho onde a linha do tempo das estatísticas de depuração é escrita - + Causes Mixxx to display/log all of the controller data it receives and script functions it loads - + Faz com que o Mixxx exiba/registre todos os dados do controlador que ele recebe e as funções de script que ele carrega - + The controller mapping will issue more aggressive warnings and errors when detecting misuse of controller APIs. New Controller Mappings should be developed with this option enabled! - + O mapeamento do controlador emitirá avisos e erros mais agressivos ao detectar o uso indevido das APIs do controlador. Novos mapeamentos de controlador devem ser desenvolvidos com esta opção habilitada! - + Enables developer-mode. Includes extra log info, stats on performance, and a Developer tools menu. - + Habilita o modo de desenvolvedor. Inclui informações extras de log, estatísticas de desempenho e um menu de ferramentas para desenvolvedores. - + Top-level directory where Mixxx should look for settings. Default is: - + Diretório de nível superior onde o Mixxx deve procurar as configurações. O padrão é: - + Starts Auto DJ when Mixxx is launched. - + Inicia o Auto DJ quando o Mixxx é iniciado. - + Rescans the library when Mixxx is launched. - + Verifica novamente a biblioteca quando o Mixxx é iniciado. - + Use legacy vu meter - + Use o medidor VU legado - + Use legacy spinny - - Loads experimental QML GUI instead of legacy QWidget skin + + Loads the highly unstable 3.0 Mixxx interface, based on QML. You need to use a new setting profile, or run with 'allow-dangerous-data-corruption-risk' to use with the current one. We highly recommend backing up your data if you do so. - + + Force Mixxx to load an unstable version with an existing user profile from a stable version + + + + Enables safe-mode. Disables OpenGL waveforms, and spinning vinyl widgets. Try this option if Mixxx is crashing on startup. - + [auto|always|never] Use colors on the console output. - + Sets the verbosity of command line logging. critical - Critical/Fatal only warning - Above + Warnings @@ -860,32 +873,32 @@ trace - Above + Profiling messages - + Sets the the logging level at which the log buffer is flushed to mixxx.log. <level> is one of the values defined at --log-level above. - + Sets the maximum file size of the mixxx.log file in bytes. Use -1 for unlimited. The default is 100 MB as 1e5 or 100000000. - + Breaks (SIGINT) Mixxx, if a DEBUG_ASSERT evaluates to false. Under a debugger you can continue afterwards. - + Overrides the default application GUI style. Possible values: %1 - + Load the specified music file(s) at start-up. Each file you specify will be loaded into the next virtual deck. - + Preview rendered controller screens in the Setting windows. @@ -978,2557 +991,2585 @@ trace - Above + Profiling messages ControlPickerMenu - + Headphone Output Saída Auscultador - - - + + + + Deck %1 + %1 is the deck number 1 ... 4 Leitor %1 - + Sampler %1 Sampler %1 - + Preview Deck %1 Deck de Pré-Visualização %1 - + Microphone %1 Microfone %1 - + Auxiliary %1 Auxiliar %1 - + Reset to default Redefinir para o padrão - + Effect Rack %1 Rack de Efeitos %1 - + Parameter %1 Parâmetro %1 - + Mixer Misturador - - + + Crossfader Crossfader - + Headphone mix (pre/main) Mistura Auscultadores (pré/principal) - + Toggle headphone split cueing Ligar/Desligar o cueing dividido no fone - + Headphone delay Atraso Auscultador - + Transport Transporte - + Strip-search through track Procura dentro da faixa - + Play button Tecla Tocar - - + + Set to full volume Ajustar para o volume máximo - - + + Set to zero volume Ajustar para o volume zero - + Stop button Tecla parar - + Jump to start of track and play Saltar para o início da faixa e tocar - + Jump to end of track Saltar para o final da faixa - + Reverse roll (Censor) button Botão de rolagem reversa (Censurar) - + Headphone listen button Tecla de escuta no auscultador - - + + Mute button Tecla de Silêncio - + Toggle repeat mode Alternar modo de repetição - - + + Mix orientation (e.g. left, right, center) Orientação da mistura (ex. esquerda, direita, centro) - - + + Set mix orientation to left Definir orientação da mistura à esquerda - - + + Set mix orientation to center Definir orientação da mixagem para o centro - - + + Set mix orientation to right Definir orientação da mistura à direita - + Toggle slip mode Ligar/Desligar modo de deslizamento - - + + BPM BPM - + Increase BPM by 1 Aumentar BPM de 1 - + Decrease BPM by 1 Diminuir BPM de 1 - + Increase BPM by 0.1 Aumentar 0,1 BPM - + Decrease BPM by 0.1 Diminuir 0,1 BPM - + BPM tap button Botão de toque do BPM - + Toggle quantize mode Alternar modo de quantização - + One-time beat sync (tempo only) Sincronização pontual da batida (só tempo) - + One-time beat sync (phase only) Sincronização pontual da batida (só fase) - + Toggle keylock mode Alternar modo bloqueio de tom - + Equalizers Equalizadores - + Vinyl Control Controlo de Vinil - + Toggle vinyl-control cueing mode (OFF/ONE/HOT) Alternar modo de marcação do control do vinil (OFF/ONE/HOT) - + Toggle vinyl-control mode (ABS/REL/CONST) Alternar modo de controle por vinil (CONST/ABS/REL) - + Pass through external audio into the internal mixer Passar audio externo para o misturador interno - + Cues Pontos de marcação - + Cue button Tecla de Cue - Marcação - + Set cue point Definir ponto de marcação - + Go to cue point Ir para o ponto de marcação - + Go to cue point and play Ir para o ponto de marcação e tocar - + Go to cue point and stop Ir para o ponto de marcação e parar - + Preview from cue point Antevisão a partir do ponto de marcação - + Cue button (CDJ mode) Botão Cue (modo CDJ) - + Stutter cue Marcação Stutter - + Hotcues Hot Cues - + Set, preview from or jump to hotcue %1 Definir, escutar de ou pular ao hotcue %1 - + Clear hotcue %1 Limpar a Hot Cue %1 - + Set hotcue %1 Definir a Hot Cue %1 - + Jump to hotcue %1 Saltar para a Hot Cue %1 - + Jump to hotcue %1 and stop Saltar para a Hot Cue %1 e parar - + Jump to hotcue %1 and play Pular para hotcue %1 e jogar - + Preview from hotcue %1 Antevisão a partir da Hot Cue %1 - - + + Hotcue %1 Hot Cue %1 - + Looping Em Loop - + Loop In button Tecla de Início de Loop - + Loop Out button Tecla de Final de Loop - + Loop Exit button Botão de saída de ciclo - + 1/2 1/2 - + 1 1 - + 2 2 - + 4 4 - + 8 8 - + 16 16 - + 32 32 - + 64 64 - + Move loop forward by %1 beats Mover o loop para frente %1 batidas - + Move loop backward by %1 beats Move o loop para trás %1 batidas - + Create %1-beat loop Criar um loop de %1-batidas - + Create temporary %1-beat loop roll Criar um loop rolado temporário de %1-batidas - + Library Biblioteca - + Slot %1 Compartimento %1 - + Headphone Mix Mistura nos Auscultadores - + Headphone Split Cue Escuta Dividida no Auscultador - + Headphone Delay Atraso Auscultador - + Play Tocar - + Fast Rewind Retrocesso Rápido - + Fast Rewind button Tecla de Retrocesso Rápido - + Fast Forward Avanço Rápido - + Fast Forward button Botão de Avanço Rápido - + Strip Search Busca pela Faixa - + Play Reverse Tocar ao Contrário - + Play Reverse button Botão de Tocar ao Contrário - + Reverse Roll (Censor) Rolagem inversa (Censurar) - + Jump To Start Saltar para o Início - + Jumps to start of track Pula para o início da faixa - + Play From Start Tocar do Início - + Stop Parar - + Stop And Jump To Start Parar e Ir Para Início - + Stop playback and jump to start of track Parar a reprodução e pular para o início da faixa - + Jump To End Pular para o Final - + Volume Volume - - - + + + Volume Fader Cursor de Volume - - + + Full Volume Volume Máximo - - + + Zero Volume Volume Zero - + Track Gain Ganho da Faixa - + Track Gain knob Botão de Ganho da Faixa - - + + Mute Silênciar - + Eject Ejetar - - + + Headphone Listen Escuta de Auscultador - + Headphone listen (pfl) button Botão de escuta de auscultador (PFL) - + Repeat Mode Modo Repetir - + Slip Mode Modo Escorregar - - + + Orientation Orientação - - + + Orient Left Orientar Esquerda - - + + Orient Center Orientar Centro - - + + Orient Right Orientar Direita - + BPM +1 BPM +1 - + BPM -1 BPM -1 - + BPM +0.1 BPM +0.1 - + BPM -0.1 BPM -0.1 - + BPM Tap Bate BPM - + Adjust Beatgrid Faster +.01 Ajustar Grelha de Batidas Mais Rápido +.01 - + Increase track's average BPM by 0.01 Aumentar o BPM médio da faixa por 0,01 - + Adjust Beatgrid Slower -.01 Expandir Grade de Batidas por -,01 - + Decrease track's average BPM by 0.01 Atrasa o BPM médio da faixa de 0.01 - + Move Beatgrid Earlier Mover Grelha de Batidas Cedo - + Adjust the beatgrid to the left Move a grade de batidas à esquerda - + Move Beatgrid Later Mover Grelha de Batidas Tarde - + Adjust the beatgrid to the right Move a grade de batidas à direita - + Adjust Beatgrid Ajustar Grelha de Batidas - + Align beatgrid to current position Alinhar a grelha de batidas para a posição corrente - + Adjust Beatgrid - Match Alignment Ajustar Grelha de Batidas - Igualar Alinhamento - + Adjust beatgrid to match another playing deck. Ajusta a grelha de batidas para corresponder um outro leitor em reprodução. - + Quantize Mode Modo Quantização - + Sync Sincronização - + Beat Sync One-Shot Sincronizar a Batida De Uma Vez - + Sync Tempo One-Shot Sincronizar Tempo - One-Shot - + Sync Phase One-Shot Sincronizar a Fase De Uma Vez - + Pitch control (does not affect tempo), center is original pitch Controlo de tom (não afeta o tempo), ao centro é o tom original - + Pitch Adjust Ajustar Tom - + Adjust pitch from speed slider pitch Ajustar o tom com o cursor de velocidade - + Match musical key Igualar o tom musical - + Match Key Igualar Tom - + Reset Key Reiniciar Tom - + Resets key to original Reiniciar o tom para o original - + High EQ EQ Agudos - + Mid EQ EQ de Médios - - + + Main Output - + Main Output Balance - + Main Output Delay - + Main Output Gain - + Low EQ EQ Baixos - + Toggle Vinyl Control Alternar Controlo do Vinil - + Toggle Vinyl Control (ON/OFF) Alternar o Controle por Vinil (Ligado/Desligado) - + Vinyl Control Mode Modo Controlo do Vinil - + Vinyl Control Cueing Mode Controlo do Vinil Modo Marcação - + Vinyl Control Passthrough Controlo do Vinil Passthrough - + Vinyl Control Next Deck Controlo do Vinil Próximo Leitor - + Single deck mode - Switch vinyl control to next deck Modo leitor único - Comutar o controlo do vinil para Próximo Leitor - + Cue Marcação - + Set Cue Definir Cue - + Go-To Cue Ir para Marcação - + Go-To Cue And Play Ir para Marcação e Tocar - + Go-To Cue And Stop Ir para Marcação e Parar - + Preview Cue Antevisão Marcação - + Cue (CDJ Mode) Cue (Modo CDJ) - + Stutter Cue Marcação Stutter - + Go to cue point and play after release Avança até ao Cue Point e toca a faixa após largar o botão. - + Clear Hotcue %1 Limpar Hotcue %1 - + Set Hotcue %1 Definir Hot Cue %1 - + Jump To Hotcue %1 Pular Para Hotcue %1 - + Jump To Hotcue %1 And Stop Pular Para Hotcue %1 e Parar - + Jump To Hotcue %1 And Play Pular Para Hotcue %1 e Tocar - + Preview Hotcue %1 Antevisão Hot Cue %1 - + Loop In Início de Loop - + Loop Out Final de Loop - + Loop Exit Saída do Loop - + Reloop/Exit Loop Reloop/Saída do Loop - + Loop Halve Divide o Loop pela Metade - + Loop Double Dobrar o Loop - + 1/32 1/32 - + 1/16 1/16 - + 1/8 1/8 - + 1/4 1/4 - + Move Loop +%1 Beats Mover Loop +%1 Batidas - + Move Loop -%1 Beats Mover Loop -%1 Batidas - + Loop %1 Beats Loop %1 Batidas - + Loop Roll %1 Beats Loopar Temporariamente %1 Batidas - + Add to Auto DJ Queue (bottom) Adicionar à fila do Auto DJ (embaixo) - + Append the selected track to the Auto DJ Queue Coloca a faixa selecionada no final da fila Auto DJ - + Add to Auto DJ Queue (top) Adicionar à Fila do Auto DJ (em cima) - + Prepend selected track to the Auto DJ Queue Adicionar a faixa selecionada no começo da fila do Auto DJ - + Load Track Carregar Faixa - + Load selected track Carregar faixa selecionada - + Load selected track and play Carrega a faixa selecionada e toca - - + + Record Mix Gravar Mixagem - + Toggle mix recording Alternar gravação da mistura - + Effects Efeitos - - Quick Effects - Efeitos Rápidos - - - + Deck %1 Quick Effect Super Knob Leitor %1 Super Botão de Efeito Rápido - + + Quick Effect Super Knob (control linked effect parameters) Super Botão de Efeito Rápido (controla os parâmetros do efeito a que está ligado) - - + + + + Quick Effect Efeito Rápido - + Clear Unit Limpar Unidade - + Clear effect unit Limpar unidade de efeitos - + Toggle Unit Alternar Unidade - + Dry/Wet Seco/Molhado - + Adjust the balance between the original (dry) and processed (wet) signal. Define o balançoentre o sinal original (seco) e o processado (molhado). - + Super Knob Super Botão - + Next Chain Próxima Cadeia - + Assign Atribuir - + Clear Limpar - + Clear the current effect Limpar o efeito corrente - + Toggle Ligar/Desligar - + Toggle the current effect Alternar o efeito corrente - + Next Próximo - + Switch to next effect Muda para o próximo efeito - + Previous Anterior - + Switch to the previous effect Comutar para o efeito anterior - + Next or Previous Próximo ou Anterior - + Switch to either next or previous effect Comutar quer para o próximo ou anterior efeito - - + + Parameter Value Valor Parâmetro - - + + Microphone Ducking Strength Força da Redução de Música do Microfone - + Microphone Ducking Mode Modo Talk-Over - + Gain Ganho - + Gain knob Botão de ganho - + Shuffle the content of the Auto DJ queue Reproduzir aleatoriamente o conteúdo da fila Auto DJ - + Skip the next track in the Auto DJ queue Salta a próxima faixa na fila do Auto DJ - + Auto DJ Toggle Ligar/Desligar Auto DJ - + Toggle Auto DJ On/Off Ligar/Desligar Auto DJ - + Show/hide the microphone & auxiliary section - + 4 Effect Units Show/Hide - + Switches between showing 2 and 4 effect units - + Mixer Show/Hide - + Show or hide the mixer. Mostra ou oculta o misturador. - + Cover Art Show/Hide (Library) - + Show/hide cover art in the library - + Library Maximize/Restore Maximizar/Restaurar Biblioteca - + Maximize the track library to take up all the available screen space. Maximiza a biblioteca de faixas para ocupar todo o espaço disponível do ecrã. - + Effect Rack Show/Hide Mostrar/Ocultar Prateleira de Efeitos - + Show/hide the effect rack Mostra/Oculta a prateleira de efeitos - + Waveform Zoom Out Reduzir Forma de Onda - + Headphone Gain Ganho Auscultador - + Headphone gain Ganho dos auscultadores - + Tap to sync tempo (and phase with quantize enabled), hold to enable permanent sync Bater para sincronizar o tempo (e fase com a quantização validada), manter para permitir sincronização permanente - + One-time beat sync tempo (and phase with quantize enabled) Sincronizar o tempo da batida de uma só vez (e fase com a quantização validada) - + Playback Speed Velocidadede Leitura - + Playback speed control (Vinyl "Pitch" slider) Controle da velocidade da reprodução (Deslizante de "Pitch" do Vinil) - + Pitch (Musical key) Tom (Nota musical) - + Increase Speed Aumentar a Velocidade - + Adjust speed faster (coarse) Ajusta a velocidade mais rápida (grosseiro) - + Increase Speed (Fine) Aumentar Velocidade (Fino) - + Adjust speed faster (fine) Aumentar a velocidade (fino) - + Decrease Speed Diminuir a Velocidade - + Adjust speed slower (coarse) Ajusta a velocidade mais lenta (grosseiro) - + Adjust speed slower (fine) Ajusta a velocidade mais lenta (fino) - + Temporarily Increase Speed Temporariamente Aumentar a Velocidade - + Temporarily increase speed (coarse) Aumentar a velocidade temporariamente (grosseiro) - + Temporarily Increase Speed (Fine) Temporariamente Aumentar a Velocidade (Fino) - + Temporarily increase speed (fine) Temporariamente aumentar a velocidade (fino) - + Temporarily Decrease Speed Diminuir Velocidade Temporariamente - + Temporarily decrease speed (coarse) Diminuir a velocidade temporariamente (grosseiro) - + Temporarily Decrease Speed (Fine) Diminuir Velocidade Temporariamente (Fino) - + Temporarily decrease speed (fine) Diminuir a velocidade temporariamente (fino) - - + + Adjust %1 Ajustar %1 - + + Deck %1 Stem %2 + + + + Effect Unit %1 - + Button Parameter %1 - + Skin Skin - + Controller Controladora - + Crossfader / Orientation - + Main Output gain - + Main Output balance - + Main Output delay - + Headphone Auscultador - - + + Kill %1 + %1 is "Low EQ" "Mid EQ" or "High EQ" Matar %1 - + Eject or un-eject track, i.e. reload the last-ejected track (of any deck)<br>Double-press to reload the last replaced track. In empty decks it reloads the second-last ejected track. - + BPM / Beatgrid - + Halve BPM - + Multiply current BPM by 0.5 - + 2/3 BPM - + Multiply current BPM by 0.666 - + 3/4 BPM - + Multiply current BPM by 0.75 - + 4/3 BPM - + Multiply current BPM by 1.333 - + 3/2 BPM - + Multiply current BPM by 1.5 - + Double BPM - + Multiply current BPM by 2 - + Tempo Tap - + Tempo tap button - + Move Beatgrid - + Adjust the beatgrid to the left or right - + Move Beatgrid Half a Beat - + Adjust the beatgrid by exactly one half beat. Usable only for tracks with constant tempo. - - + + Toggle the BPM/beatgrid lock - + Revert last BPM/Beatgrid Change - + Revert last BPM/Beatgrid Change of the loaded track. - + Sync / Sync Lock - + Internal Sync Leader - + Toggle Internal Sync Leader - - + + Internal Leader BPM - + Internal Leader BPM +1 - + Increase internal Leader BPM by 1 - + Internal Leader BPM -1 - + Decrease internal Leader BPM by 1 - + Internal Leader BPM +0.1 - + Increase internal Leader BPM by 0.1 - + Internal Leader BPM -0.1 - + Decrease internal Leader BPM by 0.1 - + Sync Leader - + Sync mode 3-state toggle / indicator (Off, Soft Leader, Explicit Leader) - + Speed Velocidade - + Decrease Speed (Fine) Diminuir velocidade (Fino) - + Pitch (Musical Key) Pitch (Tom musical) - + Increase Pitch - + Increases the pitch by one semitone - + Increase Pitch (Fine) - + Increases the pitch by 10 cents - + Decrease Pitch - + Decreases the pitch by one semitone - + Decrease Pitch (Fine) - + Decreases the pitch by 10 cents - + Keylock Bloqueio de Tom - + CUP (Cue + Play) CUP (Cue + Play, ou seja Cue + Toca a faixa) - + Shift cue points earlier - + Shift cue points 10 milliseconds earlier - + Shift cue points earlier (fine) - + Shift cue points 1 millisecond earlier - + Shift cue points later - + Shift cue points 10 milliseconds later - + Shift cue points later (fine) - + Shift cue points 1 millisecond later - - + + Sort hotcues by position - - + + Sort hotcues by position (remove offsets) - + Hotcues %1-%2 - + Intro / Outro Markers - + Intro Start Marker - + Intro End Marker - + Outro Start Marker - + Outro End Marker - + intro start marker - + intro end marker - + outro start marker - + outro end marker - + Activate %1 [intro/outro marker - + Jump to or set the %1 [intro/outro marker - + Set %1 [intro/outro marker - + Set or jump to the %1 [intro/outro marker - + Clear %1 [intro/outro marker - + Clear the %1 [intro/outro marker - + if the track has no beats the unit is seconds - + Loop Selected Beats Loop de Batidas Selecionadas - + Create a beat loop of selected beat size Criar um loop de batidas do tamanho selecionado - + Loop Roll Selected Beats Loop Rolado Batidas Selecionadas - + Create a rolling beat loop of selected beat size Criar um loop rolado de batidas do tamanho selecionado - + Loop %1 Beats set from its end point - + Loop Roll %1 Beats set from its end point - + Create %1-beat loop with the current play position as loop end - + Create temporary %1-beat loop roll with the current play position as loop end - + Loop Beats - + Loop Roll Beats - + Go To Loop In Ir para Loop In - + Go to Loop In button Botão de Ir para o Fim do Loop - + Go To Loop Out Ir para o Fim do Loop - + Go to Loop Out button Botão de Ir para o Fim do Loop - + Toggle loop on/off and jump to Loop In point if loop is behind play position Alterna entre ligar/desligar o loop e salta para o ponto Início de Loop, se o loop estiver atrás da posição de leitura - + Reloop And Stop Reloop e Parar - + Enable loop, jump to Loop In point, and stop Ativa o loop, salta para o ponto de Início de Loop, e pára. - + Halve the loop length Reduzir o loop pela metade - + Double the loop length Duplica o comprimento do loop - + Beat Jump / Loop Move Saltar Batidas / Mover Loop - + Jump / Move Loop Forward %1 Beats Saltar / Mover o Loop para a Frente %1 Batidas - + Jump / Move Loop Backward %1 Beats Saltar / Mover o Loop para Trás %1 Batidas - + Jump forward by %1 beats, or if a loop is enabled, move the loop forward %1 beats Saltar para a frente %1 batidas, ou se o loop estiver ativado, mover o loop para a frente %1 batidas - + Jump backward by %1 beats, or if a loop is enabled, move the loop backward %1 beats Saltar para trás %1 batidas, ou se o loop estiver ativado, mover o loop para trás %1 batidas - + Beat Jump / Loop Move Forward Selected Beats Saltar Batidas / Mover Loop Frente Batidas Selecionadas - + Jump forward by the selected number of beats, or if a loop is enabled, move the loop forward by the selected number of beats Saltar para a frente do número de batidas selecionadas, ou se o loop estiver ativado, mover o loop para a frente o número de batidas selecionadas - + Beat Jump / Loop Move Backward Selected Beats Saltar Batida / Mover Loop Atraso Batidas Selecionadas - + Jump backward by the selected number of beats, or if a loop is enabled, move the loop backward by the selected number of beats Saltar para trás o número de batidas selecionadas, ou se o loop estiver ativado, mover o loop para trás o número de batidas selecionadas - + Beat Jump - + Indicate which loop marker remain static when adjusting the size or is inherited from the current position - + Beat Jump / Loop Move Forward - + Beat Jump / Loop Move Backward - + Loop Move Forward - + Loop Move Backward - + Remove Temporary Loop - + Remove the temporary loop - + Navigation Navegação - + Move up Mover acima - + Equivalent to pressing the UP key on the keyboard Equivalente a pressionar a SETA ACIMA no teclado - + Move down Mover abaixo - + Equivalent to pressing the DOWN key on the keyboard Equivalente a pressionar a SETA ABAIXO no teclado - + Move up/down Mover acima/abaixo - + Move vertically in either direction using a knob, as if pressing UP/DOWN keys Move verticalmente em uma das direções usando um botão, como se pressionasse as teclas ACIMA/ABAIXO - + Scroll Up Rolar Cima - + Equivalent to pressing the PAGE UP key on the keyboard Equivalente a pressionar a tecla PAGE UP no teclado - + Scroll Down Rolar abaixo - + Equivalent to pressing the PAGE DOWN key on the keyboard Equivalente a pressionar a tecla PAGE DOWN no teclado - + Scroll up/down Rolar acima/abaixo - + Scroll vertically in either direction using a knob, as if pressing PGUP/PGDOWN keys Rolar verticalmente em uma das direções usando um botão, como se pressionasse as teclas PAGE UP/PAGE DOWN - + Move left Mover esquerda - + Equivalent to pressing the LEFT key on the keyboard Equivalente a pressionar a SETA À ESQUERDA no teclado - + Move right Mover direita - + Equivalent to pressing the RIGHT key on the keyboard Equivalente a pressionar a SETA À DIREITA no teclado - + Move left/right Mover à esquerda/direita - + Move horizontally in either direction using a knob, as if pressing LEFT/RIGHT keys Mova horizontalmente em uma das direções usando um botão, como ao pressionar as teclas ESQUERDA/DIREITA - + Move focus to right pane Move o foco ao painel da direita - + Equivalent to pressing the TAB key on the keyboard Equivalente a pressionar a tecla TAB no teclado - + Move focus to left pane Mover o foco para o painel da esquerda - + Equivalent to pressing the SHIFT+TAB key on the keyboard Equivalente a pressionar a tecla SHIFT+TAB no teclado - + Move focus to right/left pane Mover o foco para o painel direita/esquerda - + Move focus one pane to right or left using a knob, as if pressing TAB/SHIFT+TAB keys Move o foco um painel à direita ou esquerda usando um botão, como se pressionasse TAB/SHIFT-TAB - + Sort focused column - + Sort the column of the cell that is currently focused, equivalent to clicking on its header - + Go to the currently selected item Ir para o item seleccionado correntemente - + Choose the currently selected item and advance forward one pane if appropriate Escolher o item seleccionado correntemente e avançar um para a frente - + Load Track and Play - + Add to Auto DJ Queue (replace) Adicionar à Fila Auto DJ (Substituir) - + Replace Auto DJ Queue with selected tracks Substituir Fila Auto DJ com as faixas selecionadas - + Select next search history - + Selects the next search history entry - + Select previous search history - + Selects the previous search history entry - + Move selected search entry - + Moves the selected search history item into given direction and steps - + Clear search - + Clears the search query - - + + Select Next Color Available - + Select the next color in the color palette for the first selected track - - + + Select Previous Color Available - + Select the previous color in the color palette for the first selected track - + + Quick Effects Deck %1 + + + + Deck %1 Quick Effect Enable Button Botão de Ativar Efeito Rápido no Leitor %1 - + + Quick Effect Enable Button Botão de Ativar Efeito Rápido - + + Deck %1 Stem %2 Quick Effect Super Knob + + + + + Deck %1 Stem %2 Quick Effect Enable Button + + + + Enable or disable effect processing Ativar ou desativar processamento de efeitos - + Super Knob (control effects' Meta Knobs) Super Botão (controla os efeitos dos Meta Botões) - + Mix Mode Toggle Alternar Modo Mistura - + Toggle effect unit between D/W and D+W modes Alternar unidade de efeito entre os modos S/M e S+M - + Next chain preset Próxima cadeia predefinida - + Previous Chain Corrente Anterior - + Previous chain preset Prédefinição de corrente anterior - + Next/Previous Chain Próxima/Anterior Cadeia - + Next or previous chain preset Prédefinição da corrente seguinte ou anterior - - + + Show Effect Parameters Mostrar Parâmetros dos Efeitos - + Effect Unit Assignment - + Meta Knob Botão Meta - + Effect Meta Knob (control linked effect parameters) Meta Botão Efeitos (controla os parâmetros dos efeitos a que está ligado) - + Meta Knob Mode Modo Meta Botão - + Set how linked effect parameters change when turning the Meta Knob. Define como mudam os efeitos a que está ligado, quando se roda o Meta Botão. - + Meta Knob Mode Invert Inverter Modo Meta Botão - + Invert how linked effect parameters change when turning the Meta Knob. Inverter como mudam os efeitos a que está ligado, quando se roda o Meta Botão. - - + + Button Parameter Value - + Microphone / Auxiliary Microfone / Auxiliar - + Microphone On/Off Microfone Ligar/Desligar - + Microphone on/off Microfone ligar/desligar - + Toggle microphone ducking mode (OFF, AUTO, MANUAL) Alternar entre modos de redução de música do microfone (DESLIGADO, AUTOMÁTICO, MANUAL) - + Auxiliary On/Off Ligar/Desligar Auxiliar - + Auxiliary on/off Auxiliar ligar/desligar - + Auto DJ Auto DJ - + Auto DJ Shuffle Auto DJ Aleatório - + Auto DJ Skip Next Auto DJ Saltar Próxima - + Auto DJ Add Random Track - + Add a random track to the Auto DJ queue - + Auto DJ Fade To Next Auto DJ Fade para Próxima - + Trigger the transition to the next track Inicia a transição para a próxima música - + User Interface Interface do Utilizador - + Samplers Show/Hide Samplers Mostrar/Ocultar - + Show/hide the sampler section Mostrar/ocultar a seção sampler - + Microphone && Auxiliary Show/Hide keep double & to prevent creation of keyboard accelerator - + Waveform Zoom Reset To Default - + Reset the waveform zoom level to the default value selected in Preferences -> Waveforms - + Select the next color in the color palette for the loaded track. - + Select previous color in the color palette for the loaded track. - + Navigate Through Track Colors - + Select either next or previous color in the palette for the loaded track. - + Start/Stop Live Broadcasting - + Stream your mix over the Internet. Fazer stream da sua mistura através da Internet. - + Start/stop recording your mix. - - + + + Deck %1 Stems + + + + + Samplers - + Vinyl Control Show/Hide Controlo do Vinil Mostrar/Ocultar - + Show/hide the vinyl control section Mostra/oculta a seção de controlo do vinil - + Preview Deck Show/Hide Leitor de Antevisão Mostrar/Ocultar - + Show/hide the preview deck Mostrar/Ocultar o deck de pré-escuta - + Toggle 4 Decks Alternar 4 Leitores - + Switches between showing 2 decks and 4 decks. Comuta entre mostrar 2 leitores e 4 leitores. - + Cover Art Show/Hide (Decks) - + Show/hide cover art in the main decks - + Vinyl Spinner Show/Hide Mostrar/Ocultar Vinil Giratório - + Show/hide spinning vinyl widget Mostra/oculta o widget simulador de gira discos a rodar - + Vinyl Spinners Show/Hide (All Decks) - + Show/Hide all spinnies - + Toggle Waveforms - + Show/hide the scrolling waveforms. Mostrar/esconder as ondas. - + Waveform zoom Aproximação das ondas - + Waveform Zoom Aproximação das Ondas - + Zoom waveform in Ampliar a forma de onda - + Waveform Zoom In Aproximar Ondas - + Zoom waveform out Reduzir a forma de onda - + Star Rating Up - + Increase the track rating by one star - + Star Rating Down - + Decrease the track rating by one star @@ -3541,6 +3582,159 @@ trace - Above + Profiling messages + + ControllerHidReportTabsManager + + + Read + + + + + Send + + + + + Payload Size + + + + + bytes + + + + + Byte Position + + + + + Bit Position + + + + + Bit Size + + + + + Logical Min + + + + + Logical Max + + + + + Value + + + + + Physical Min + + + + + Physical Max + + + + + Unit Scaling + + + + + Unit + + + + + Abs/Rel + + + + + + Wrap + + + + + + Linear + + + + + + Preferred + + + + + + Null + + + + + + Volatile + + + + + Usage Page + + + + + Usage + + + + + Relative + + + + + Absolute + + + + + No Wrap + + + + + Non Linear + + + + + No Preferred + + + + + No Null + + + + + Non Volatile + + + ControllerInputMappingTableModel @@ -3676,27 +3870,27 @@ trace - Above + Profiling messages ControllerScriptEngineLegacy - + Controller Mapping File Problem - + The mapping for controller "%1" cannot be opened. - + The functionality provided by this controller mapping will be disabled until the issue has been resolved. - + File: - + Error: @@ -3729,7 +3923,7 @@ trace - Above + Profiling messages - + Lock Travar @@ -3759,7 +3953,7 @@ trace - Above + Profiling messages Fonte de Faixas do Auto DJ - + Enter new name for crate: Introduza um novo nome para a caixa: @@ -3776,22 +3970,22 @@ trace - Above + Profiling messages Importar Caixa - + Export Crate Exportar Caixa - + Unlock Destravar - + An unknown error occurred while creating crate: Ocorreu um erro desconhecido ao criar a caixa: - + Rename Crate Renomear Caixa @@ -3801,28 +3995,28 @@ trace - Above + Profiling messages - + Confirm Deletion - - + + Renaming Crate Failed Renomeação da Caixa Falhou - + Crate Creation Failed Criação da Caixa Falhou - + M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Text CSV (*.csv);;Readable Text (*.txt) Playlist M3U (*.m3u);;Playlist M3U8 (*.m3u8);;Playlist PLS (*.pls);;Texto CSV (*.csv);;Documento de Texto (*.txt) - + M3U Playlist (*.m3u) Lista de Reprodução M3U (*.m3u) @@ -3843,17 +4037,17 @@ trace - Above + Profiling messages Este recurso de caixas permite que você organize sua música do jeito que preferir! - + Do you really want to delete crate <b>%1</b>? - + A crate cannot have a blank name. Uma caixa não pode ter um nome em branco. - + A crate by that name already exists. Já existe uma caixa com esse nome. @@ -3948,12 +4142,12 @@ trace - Above + Profiling messages Colaboradores antigos - + Official Website - + Donate @@ -4746,122 +4940,139 @@ Você tentou mapear: %1,%2 DlgPrefBroadcast - + Icecast 2 Icecast 2 - + Shoutcast 1 Shoutcast 1 - + Icecast 1 Icecast 1 - + MP3 MP3 - + Ogg Vorbis Ogg Vorbis - + Opus Opus - + AAC AAC - + HE-AAC HE-AAC - + HE-AACv2 HE-AACv2 - + Automatic Automático - + Mono Mono - + Stereo Estéreo - - - - + + Saving settings failed + + + + + The password for '%1' contains invalid characters. Please enter it again. + +Note: This can for example be invisible linebreaks when using copy/paste. + + + + + + Action failed Ação falhada - + You can't create more than %1 source connections. Não pode criar mais de %1 ligações fonte. - + Source connection %1 Ligação fonte %1 - + + Settings for %1 + Settings for broadcast profile, %1 is the profile name placeholder + + + + At least one source connection is required. É necessária pelo menos uma ligação fonte. - + Are you sure you want to disconnect every active source connection? Tem a certeza que quer desligar todas as ligações fonte ativas? - - + + Confirmation required Confirmação necessária - + '%1' has the same Icecast mountpoint as '%2'. Two source connections to the same server that have the same mountpoint can not be enabled simultaneously. - + Are you sure you want to delete '%1'? Tem a certeza que quer apagar '%1'? - + Renaming '%1' Renomeando '%1' - + New name for '%1': Novo nome para '%1': - + Can't rename '%1' to '%2': name already in use Não pode renomear '%1' para '%2': nome já em uso @@ -4874,27 +5085,27 @@ Two source connections to the same server that have the same mountpoint can not Preferências da Transmissão Ao Vivo - + Mixxx Icecast Testing Mixxx Teste Icecast - + Public stream Stream pública - + http://www.mixxx.org http://www.mixxx.org - + Stream name Nome da stream - + Due to flaws in some streaming clients, updating Ogg Vorbis metadata dynamically can cause listener glitches and disconnections. Check this box to update the metadata anyway. Devido à falhas em alguns clientes de reprodução, atualizar os metadados Ogg Vorbis dinamicamente pode causar pausas e desconexões nos ouvintes. Marque esta caixa para atualizar os metadados de qualquer jeito. @@ -4934,67 +5145,72 @@ Two source connections to the same server that have the same mountpoint can not Definições para %1 - + + Available fields: $artist, $title, $year, $album, $genre, $bpm + + + + Dynamically update Ogg Vorbis metadata. Atualizar os metadados Ogg Vorbis dinamicamente. - + ICQ ICQ - + AIM AIM - + Website Website - + Live mix Mistura em directo - + IRC IRC - + Select a source connection above to edit its settings here Selecionar uma ligação fonte acima para editar as suas definições aqui - + Password storage Armazenamento Palavra Passe - + Plain text Texto simples - + Secure storage (OS keychain) Armazenamento seguro (Porta chaves do SO) - + Genre Género - + Use UTF-8 encoding for metadata. Utlizar codificação UTF-8 para os metadados. - + Description Descrição @@ -5020,42 +5236,42 @@ Two source connections to the same server that have the same mountpoint can not Canais - + Server connection Ligação ao servidor - + Type Tipo - + Host Anfitrião - + Login Login - + Mount Montagem - + Port Porta - + Password Senha - + Stream info Informação da Stream @@ -5065,17 +5281,17 @@ Two source connections to the same server that have the same mountpoint can not Metadados - + Use static artist and title. Usar artista e título estáticos. - + Static title Título estático - + Static artist Artista estático @@ -5134,13 +5350,14 @@ Two source connections to the same server that have the same mountpoint can not DlgPrefColors - - + + + By hotcue number Por número do hotcue - + Color @@ -5185,17 +5402,22 @@ Two source connections to the same server that have the same mountpoint can not + Jump default color + + + + When key colors are enabled, Mixxx will display a color hint associated with each key. - + Enable Key Colors - + Key palette @@ -5203,114 +5425,114 @@ associated with each key. DlgPrefController - + Apply device settings? Aplicar definições do dispositivo? - + Your settings must be applied before starting the learning wizard. Apply settings and continue? Suas configurações devem ser aplicadas antes de começar o assistente de configuração. Aplicar as configurações e continuar? - + None Nenhum - + %1 by %2 %1 por %2 - + Mapping has been edited - + Always overwrite during this session - + Save As - + Overwrite - + Save user mapping - + Enter the name for saving the mapping to the user folder. - + Saving mapping failed - + A mapping cannot have a blank name and may not contain special characters. - + A mapping file with that name already exists. - + Do you want to save the changes? - + Troubleshooting Solução de Problemas - + <font color='#BB0000'><b>If you use this mapping your controller may not work correctly. Please select another mapping or disable the controller.</b></font><br><br>This mapping was designed for a newer Mixxx Controller Engine and cannot be used on your current Mixxx installation.<br>Your Mixxx installation has Controller Engine version %1. This mapping requires a Controller Engine version >= %2.<br><br>For more information visit the wiki page on <a href='https://mixxx.org/wiki/doku.php/controller_engine_versions'>Controller Engine Versions</a>. - + Mapping already exists. - + <b>%1</b> already exists in user mapping folder.<br>Overwrite or save with a new name? - + Clear Input Mappings Limpar Mapeamentos de Entrada - + Are you sure you want to clear all input mappings? Tem a certeza que deseja limpar todas os mapeamentos de entrada? - + Clear Output Mappings Limpar Mapeamentos de Saída - + Are you sure you want to clear all output mappings? Tem certeza de que deseja limpar todos os mapeamentos de saída? @@ -5328,100 +5550,105 @@ Aplicar as configurações e continuar? Ativada - + + Refresh mapping list + + + + Device Info - + Physical Interface: - + Vendor name: - + Product name: - + Vendor ID - + VID: - + Product ID - + PID: - + Serial number: - + USB interface number: - + HID Usage-Page: - + HID Usage: - + Description: Descrição: - + Support: Suporte: - + Screens preview - + Input Mappings Mapeamento de Entrada - - + + Search Pesquisa - - + + Add Adicionar - - + + Remove Remover @@ -5441,17 +5668,17 @@ Aplicar as configurações e continuar? - + Mapping Info - + Author: Autor: - + Name: Nome: @@ -5461,28 +5688,28 @@ Aplicar as configurações e continuar? Assistente de Configuração (Somente MIDI) - + Data protocol: - + Mapping Files: - + Mapping Settings - - + + Clear All Limpar Tudo - + Output Mappings Mapeamentos de Saída @@ -5497,21 +5724,21 @@ Aplicar as configurações e continuar? - Mixxx uses "mappings" to connect messages from your controller to controls in Mixxx. If you do not see a mapping for your controller in the "Load Mapping" menu when you click on your controller on the left sidebar, you may be able to download one online from the %1. Place the XML (.xml) and Javascript (.js) file(s) in the "User Mapping Folder" then restart Mixxx. If you download a mapping in a ZIP file, extract the XML and Javascript file(s) from the ZIP file to your "User Mapping Folder" then restart Mixxx. + Mixxx uses "mappings" to connect messages from your controller to controls in Mixxx. If you do not see a mapping for your controller in the "Load Mapping" menu when you click on your controller on the left sidebar, you may be able to download one online from the %1. Place the XML (.xml) and Javascript (.js) file(s) in the "User Mapping Folder" then click the Reload button next to the mapping selector to reload all available mappings. If you download a mapping in a ZIP file, extract the XML and Javascript file(s) from the ZIP file to your "User Mapping Folder" then click the Reload button. - + Mixxx DJ Hardware Guide - + MIDI Mapping File Format - + MIDI Scripting with Javascript @@ -5680,137 +5907,137 @@ Aplicar as configurações e continuar? DlgPrefDeck - + Mixxx mode Modo Mixxx - + Mixxx mode (no blinking) Modo Mixxx (sem piscar) - + Pioneer mode Modo Pioneer - + Denon mode Modo Denon - + Numark mode Modo Numark - + CUP mode Modo CUP - + mm:ss%1zz - Traditional mm:ss%1zz - Tradicional - + mm:ss - Traditional (Coarse) - + s%1zz - Seconds - + sss%1zz - Seconds (Long) - + s%1sss%2zz - Kiloseconds - + Intro start - + Main cue - + First hotcue - + First sound (skip silence) - + Beginning of track - + Reject - + Allow, but stop deck - + Allow, play from load point - + 4% 4% - + 6% (semitone) 6% (semitom) - + 8% (Technics SL-1210) 8% (Technics SL-1210) - + 10% 10% - + 16% 16% - + 24% 24% - + 50% 50% - + 90% 90% @@ -6270,57 +6497,57 @@ You can always drag-and-drop tracks on screen to clone a deck. O tamanho mínimo da skin selecionada é maior do que a sua resolução de tela. - + Allow screensaver to run Permitir correr o protetor de ecrã - + Prevent screensaver from running Impedir correr o protetor de ecrã - + Prevent screensaver while playing Prevenir o protetor de tela quando tocando - + Disabled - + 2x MSAA - + 4x MSAA - + 8x MSAA - + 16x MSAA - + This skin does not support color schemes Esta Skin não suporta esquemas de cores - + Information Informação - + Mixxx must be restarted before the new locale, scaling or multi-sampling settings will take effect. @@ -6547,67 +6774,97 @@ and allows you to pitch adjust them for harmonic mixing. - + Music Directory Added Pasta de Música Adicionada - + You added one or more music directories. The tracks in these directories won't be available until you rescan your library. Would you like to rescan now? Adicionou uma ou mais pastas de música. As faixas nestas pastas não estarão disponíveis até reexaminar a sua biblioteca. Deseja reexaminar agora? - + Scan Examinar - + Item is not a directory or directory is missing - + Choose a music directory Escolher uma pasta de música - + Confirm Directory Removal Confirmar a Remoção do Diretório - + Mixxx will no longer watch this directory for new tracks. What would you like to do with the tracks from this directory and subdirectories?<ul><li>Hide all tracks from this directory and subdirectories.</li><li>Delete all metadata for these tracks from Mixxx permanently.</li><li>Leave the tracks unchanged in your library.</li></ul>Hiding tracks saves their metadata in case you re-add them in the future. O Mixxx já não considera esta pasta para faixas novas. O que gostaria de fazer com as faixas desta pasta e subpastas?<ul><li>Ocultar todas as faixas desta pasta e subpastas.</li><li>Apagar todos os metadados destas faixas do Mixxx definitivamente.</li><li>Deixar as faixas inalteradas na sua biblioteca.</li></ul>Ocultar faixas guarda os seus metadados para o caso de os voltar a adicionar futuramente. - + Metadata means all track details (artist, title, playcount, etc.) as well as beatgrids, hotcues, and loops. This choice only affects the Mixxx library. No files on disk will be changed or deleted. Os metadados referem-se a todos os detalhes das faixas (artista, título, género, etc.) bem como as grelhas de batidas, hotcues e loops. Esta escolha afeta apenas a biblioteca do Mixxx. Nenhumas faixas do disco serão alteradas ou apagadas. - + Hide Tracks Ocultar Faixas - + Delete Track Metadata Apagar Metadados das Faixas - + Leave Tracks Unchanged Deixar Faixas Inalteradas - + Relink music directory to new location Revincular o diretório de música para uma nova localização - + + Black + + + + + ExtraBold + + + + + Bold + + + + + SemiBold + + + + + Medium + + + + + Light + + + + Select Library Font Selecionar a Fonte da Biblioteca @@ -6656,262 +6913,267 @@ and allows you to pitch adjust them for harmonic mixing. - + Audio File Formats Formatos Ficheiros de Audio - + Track Table View - + Track Double-Click Action: - + BPM display precision: - + Session History Histórico de Sessões - + Track duplicate distance - + When playing a track again log it to the session history only if more than N other tracks have been played in the meantime - + History playlist with less than N tracks will be deleted<br/><br/>Note: the cleanup will be performed during startup and shutdown of Mixxx. - + Delete history playlist with less than N tracks - + Library Font: Fonte da Biblioteca: - + + Show scan summary dialog + + + + Grey out played tracks - + Track Search - + Enable search completions - + Enable search history keyboard shortcuts - + Percentage of pitch slider range for 'fuzzy' BPM search: - + This range will be used for the 'fuzzy' BPM search (~bpm:) via the search box, as well as for BPM search in Track context menu > Search related Tracks - + Preferred Cover Art Fetcher Resolution - + Fetch cover art from coverartarchive.com by using Import Metadata From Musicbrainz. - + Note: ">1200 px" can fetch up to very large cover arts. - + >1200 px (if available) - + 1200 px (if available) - + 500 px 500 px - + 250 px 250 px - + Settings Directory - + The Mixxx settings directory contains the library database, various configuration files, log files, track analysis data, as well as custom controller mappings. - + Edit those files only if you know what you are doing and only while Mixxx is not running. - + Open Mixxx Settings Folder - + Library Row Height: Altura das Linhas da Biblioteca: - + Use relative paths for playlist export if possible Usar pastas relativas ao exportar a lista de reprodução se possível - + ... ... - + px px - + Synchronize library track metadata from/to file tags - + Automatically write modified track metadata from the library into file tags and reimport metadata from updated file tags into the library - + Synchronize Serato track metadata from/to file tags (experimental) - + Keeps track color, beat grid, bpm lock, cue points, and loops synchronized with SERATO_MARKERS/MARKERS2 file tags.<br/><br/>WARNING: Enabling this option also enables the reimport of Serato metadata after files have been modified outside of Mixxx. On reimport existing metadata in Mixxx is replaced with the metadata found in file tags. Custom metadata not included in file tags like loop colors is lost. - + Edit metadata after clicking selected track Editar metadados após clicar faixa seleccionada - + Search-as-you-type timeout: Tempo limite de procura ao escrever: - + ms ms - + Load track to next available deck Carregar faixa para o próximo leitor disponível - + External Libraries Bibliotecas Externas - + You will need to restart Mixxx for these settings to take effect. Necessita reiniciar o Mixxx para estas definições terem efeito. - + Show Rhythmbox Library Mostrar Biblioteca Rhythmbox - + Track Metadata Synchronization / Playlists - + Add track to Auto DJ queue (bottom) - + Add track to Auto DJ queue (top) - + Ignore - + Show Banshee Library Mostrar Biblioteca Banshee - + Show iTunes Library Mostrar Biblioteca do iTunes - + Show Traktor Library Mostrar Biblioteca Traktor - + Show Rekordbox Library - + Show Serato Library - + All external libraries shown are write protected. Todas as bibliotecas externas mostradas são protegidas contra escrita. @@ -7256,33 +7518,33 @@ and allows you to pitch adjust them for harmonic mixing. DlgPrefRecord - + Choose recordings directory Escolher diretório de gravações - - + + Recordings directory invalid Diretório de gravações inválido - + Recordings directory must be set to an existing directory. - + Recordings directory must be set to a directory. - + Recordings directory not writable - + You do not have write access to %1. Choose a recordings directory you have write access to. @@ -7300,43 +7562,55 @@ and allows you to pitch adjust them for harmonic mixing. Navegar... - - + + This will include the filepath for each track in the CUE file. +This option makes the CUE file less portable and can reveal personal +information from filepaths (i.e. username) + + + + + Enable File Annotation in CUE file + + + + + Quality Qualidade - + Tags Etiquetas - + Title Título - + Author Autor - + Album Album - + Output File Format Formato de Saída do Arquivo - + Compression Compressão - + Lossy Com perdas @@ -7351,12 +7625,12 @@ and allows you to pitch adjust them for harmonic mixing. - + Compression Level Nível de Compressão - + Lossless Sem perdas @@ -7487,172 +7761,177 @@ The loudness target is approximate and assumes track pregain and main output lev DlgPrefSound - + %1 Hz %1 Hz - + Default (long delay) Padrão (atraso longo) - + Experimental (no delay) Experimental (sem atraso) - + Disabled (short delay) Desativada (atraso curto) - + Soundcard Clock Relógio Placa de Som - + Network Clock Relógio da Rede - + Direct monitor (recording and broadcasting only) Monição direta (apenas gravação e emissão) - + Disabled Desativado - + Enabled Ativado - + Stereo Estéreo - + Mono Mono - + To enable Realtime scheduling (currently disabled), see the %1. - + The %1 lists sound cards and controllers you may want to consider for using Mixxx. - + Mixxx DJ Hardware Guide - + + Find details in the Mixxx user manual + + + + Information - + Mixxx must be restarted before the multi-threaded RubberBand setting change will take effect. - + auto (<= 1024 frames/period) auto (<= 1024 quadros/período) - + 2048 frames/period 2048 quadros/período - + 4096 frames/period 4096 quadros/período - + Are you sure? - + Distribute stereo channels into mono channels for parallel processing will result in a loss of mono compatibility and a diffuse stereo image. It is not recommended during broadcasting or recording. - + Are you sure you wish to proceed? - + No - + Yes, I know what I am doing - + Microphone inputs are out of time in the record & broadcast signal compared to what you hear. As entradas de microfone estão fora de tempo no sinal gravar e emitir comparado com o que ouve. - + Measure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. Medir a latência de ida e volta e introduza-a acima para Compensação da Latência do Microfone de maneira a alinhar o tempo do microfone. - + Refer to the Mixxx User Manual for details. Consulte o Manual do Utilizador do Mixxx para detalhes. - + Configured latency has changed. A latência configurada foi alterada. - + Remeasure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. Volta a medir a latência de ida e volta e introduza-a acima para Compensação da Latência do Microfone de maneira a alinhar o tempo do microfone. - + Realtime scheduling is enabled. O agendamento em tempo real está ativado. - + Main output only - + Main and booth outputs - + %1 ms %1 ms - + Configuration error Erro de configuração @@ -7719,17 +7998,22 @@ The loudness target is approximate and assumes track pregain and main output lev ms - + + Deck and Bus outputs are for external mixers. They are post-fader and include effects and crossfader (for Auto DJ). For external mixing, make sure all Mixxx faders and EQ knobs are set to their default position (right- or double-click). + + + + 20 ms 20 ms - + Buffer Underflow Count Contagem Buffer Underflow - + 0 0 @@ -7754,12 +8038,12 @@ The loudness target is approximate and assumes track pregain and main output lev Entrada - + System Reported Latency Latência Relatada pelo Sistema - + Enlarge your audio buffer if the underflow counter is increasing or you hear pops during playback. Aumente o buffer de áudio se o contador de esvaziamentos aumentar ou se você ouvir estouros na reprodução. @@ -7789,7 +8073,7 @@ The loudness target is approximate and assumes track pregain and main output lev Sugestões e Diagnósticos - + Downsize your audio buffer to improve Mixxx's responsiveness. Diminua o buffer de áudio para melhorar a capacidade de resposta do Mixxx. @@ -7836,7 +8120,7 @@ The loudness target is approximate and assumes track pregain and main output lev Configuração do Vinil - + Show Signal Quality in Skin Mostrar Qualidade do Sinal na Skin @@ -7872,46 +8156,51 @@ The loudness target is approximate and assumes track pregain and main output lev + Pitch estimator + + + + Deck 1 Deck 1 - + Deck 2 Deck 2 - + Deck 3 - + Deck 4 - + Signal Quality Qualidade do Sinal - + http://www.xwax.co.uk http://www.xwax.co.uk - + Powered by xwax Alimentado por xwax - + Hints Sugestões - + Select sound devices for Vinyl Control in the Sound Hardware pane. Selecione dispositivos de som para o Controle por Vinil no painel do Hardware de Som. @@ -7919,58 +8208,58 @@ The loudness target is approximate and assumes track pregain and main output lev DlgPrefWaveform - + Filtered Filtrado - + HSV HSV - + RGB RGB - + Top - + Center - + Bottom - + 1/3 of waveform viewer options for "Text height limit" - + Entire waveform viewer - + OpenGL not available OpenGL não disponível - + dropped frames quadros perdidos - + Cached waveforms occupy %1 MiB on disk. Formas de onda em cache ocupam %1 MB em disco. @@ -7988,22 +8277,17 @@ The loudness target is approximate and assumes track pregain and main output lev Taxa de fotogramas - + OpenGL Status - + Displays which OpenGL version is supported by the current platform. Mostra que versão OpenGL é suportada pela presente plataforma. - - Normalize waveform overview - Normaliza a visualizção da forma de onda - - - + Average frame rate Taxa média de fotogramas @@ -8019,7 +8303,7 @@ The loudness target is approximate and assumes track pregain and main output lev Nível de zoom padrão - + Displays the actual frame rate. Mostra a taxa de fotogramas presente. @@ -8054,7 +8338,7 @@ The loudness target is approximate and assumes track pregain and main output lev Baixos - + Show minute markers on waveform overview @@ -8099,7 +8383,7 @@ The loudness target is approximate and assumes track pregain and main output lev Ganho visual global - + The waveform overview shows the waveform envelope of the entire track. Select from different types of displays for the waveform overview, which differ primarily in the level of detail shown in the waveform. A forma de onda mostra o envoltório da onda na faixa inteira. @@ -8168,22 +8452,22 @@ Selecione entre tipos diferentes de visualizações da forma de onda, o que dife - + Caching Armazenar em Cache - + Mixxx caches the waveforms of your tracks on disk the first time you load a track. This reduces CPU usage when you are playing live but requires extra disk space. O Mixxx coloca as ondas das suas faixas no disco na primeira vez que você carrega uma faixa. Isso reduz o uso da CPU quando você estiver tocando ao vivo, porém requer mais espaço no disco. - + Enable waveform caching Ativa o caching das Waveforms - + Generate waveforms when analyzing library Gerar formas de onda, ao analisar a biblioteca @@ -8199,7 +8483,7 @@ Selecione entre tipos diferentes de visualizações da forma de onda, o que dife - + Type @@ -8224,17 +8508,63 @@ Selecione entre tipos diferentes de visualizações da forma de onda, o que dife Marcador da posição de reprodução - - Moves the play marker position on the waveforms to the left, right or center (default). - Move o marcador da posição de reprodução nas formas de onda para a esquerda, direita ou centro (padrão). + + Moves the play marker position on the waveforms to the left, right or center (default). + Move o marcador da posição de reprodução nas formas de onda para a esquerda, direita ou centro (padrão). + + + + Stem + + + + + Channel opacity + + + + + Channel opacity (outline) + + + + + Main stem opacity + + + + + Outline stem opacity + + + + + Move channel to foreground when volume is adjusted + + + + + Overview Waveforms + + + + + Gain + - - Overview Waveforms + + Normalize to peak + + + + + Use Waveform "Global" gain and ReplayGain (if enabled) + 'Global' refers to the 'Global' visual gain in the scrolling waveform settings - + Clear Cached Waveforms Limpar Formas de Onda em Cache @@ -8269,7 +8599,7 @@ Selecione entre tipos diferentes de visualizações da forma de onda, o que dife Mixer - Mixer + @@ -8723,7 +9053,7 @@ This can not be undone! BPM: - + Location: Localização: @@ -8738,27 +9068,27 @@ This can not be undone! Comentários - + BPM BPM - + Sets the BPM to 75% of the current value. Define o BPM para 75% do valor presente. - + 3/4 BPM 3/4 BPM - + Sets the BPM to 50% of the current value. Define o BPM para 50% do valor presente. - + Displays the BPM of the selected track. Mostra o BPM da faixa selecionada. @@ -8813,49 +9143,49 @@ This can not be undone! Gênero - + ReplayGain: ReplayGain: - + Sets the BPM to 200% of the current value. Define o BPM para 200% do valor presente. - + Double BPM Dobrar o BPM - + Halve BPM Reduzir a Metade BPM - + Clear BPM and Beatgrid Limpar BPM e Grade de Batidas - + Move to the previous item. "Previous" button Mover para o item anterior. - + &Previous &Anterior - + Move to the next item. "Next" button Mover para o próximo item. - + &Next &Próximo @@ -8880,12 +9210,12 @@ This can not be undone! cor - + Date added: - + Open in File Browser Abrir no Explorador de Ficheiros @@ -8895,102 +9225,107 @@ This can not be undone! - + + Filesize: + + + + Track BPM: BPM da Faixa: - + Converts beats detected by the analyzer into a fixed-tempo beatgrid. Use this setting if your tracks have a constant tempo (e.g. most electronic music). Often results in higher quality beatgrids, but will not do well on tracks that have tempo shifts. - + Assume constant tempo Assumir tempo constante - + Sets the BPM to 66% of the current value. Define o BPM para 66% do valor presente. - + 2/3 BPM 2/3 BPM - + Sets the BPM to 150% of the current value. Define o BPM para 150% do valor presente. - + 3/2 BPM 3/2 BPM - + Sets the BPM to 133% of the current value. Define o BPM para 133% do valor presente. - + 4/3 BPM 4/3 BPM - + Tap with the beat to set the BPM to the speed you are tapping. Bater com o ritmo, para definir o BPM igual à velocidade com que está a bater. - + Tap to Beat Toque a Batida - + Hint: Use the Library Analyze view to run BPM detection. Sugestão: Usar a vista Analisador de Biblioteca para executar a deteção de BPM. - + Save changes and close the window. "OK" button Salva as alterações e fechar a janela. - + &OK &OK - + Discard changes and close the window. "Cancel" button Rejeita as alterações e fecha a janela. - + Save changes and keep the window open. "Apply" button Guarda as alterações e mantém a janela aberta. - + &Apply &Aplicar - + &Cancel &Cancelar - + (no color) @@ -9147,7 +9482,7 @@ Often results in higher quality beatgrids, but will not do well on tracks that h - + (no color) @@ -9349,27 +9684,27 @@ Often results in higher quality beatgrids, but will not do well on tracks that h EngineBuffer - + Soundtouch (faster) Soundtouch (mais rápido) - + Rubberband (better) Rubberband (melhor) - + Rubberband R3 (near-hi-fi quality) - + Unknown, using Rubberband (better) - + Unknown, using Soundtouch @@ -9584,15 +9919,15 @@ Often results in higher quality beatgrids, but will not do well on tracks that h LegacySkinParser - - + + Safe Mode Enabled Shown when Mixxx is running in safe mode. Modo Segurança Ativado - - + + No OpenGL support. Shown when Spinny can not be displayed. Please keep @@ -9604,57 +9939,57 @@ Shown when VuMeter can not be displayed. Please keep OpenGL - + activate ativar - + toggle comutar - + right direita - + left esquerda - + right small direita curto - + left small esquerda curto - + up cima - + down abaixo - + up small cima curto - + down small abaixo pequeno - + Shortcut Atalho @@ -9662,62 +9997,62 @@ OpenGL Library - + This or a parent directory is already in your library. - + This or a listed directory does not exist or is inaccessible. Aborting the operation to avoid library inconsistencies - - + + This directory can not be read. - + An unknown error occurred. Aborting the operation to avoid library inconsistencies - + Can't add Directory to Library - + Could not add <b>%1</b> to your library. %2 - + Can't remove Directory from Library - + An unknown error occurred. - + This directory does not exist or is inaccessible. - + Relink Directory - + Could not relink <b>%1</b> to <b>%2</b>. %3 @@ -9879,12 +10214,12 @@ Do you really want to overwrite it? Músicas Ocultadas - + Export to Engine DJ - + Tracks Faixas @@ -9892,37 +10227,37 @@ Do you really want to overwrite it? MixxxMainWindow - + Sound Device Busy Dispositivo de Som Ocupado - + <b>Retry</b> after closing the other application or reconnecting a sound device <b>Tentar novamente</b> após fechar a outra aplicação ou reconectar um dispositivo de som - - - + + + <b>Reconfigure</b> Mixxx's sound device settings. <b>Reconfigurar</b> as definições dos dispositivos de som do Mixxx. - - + + Get <b>Help</b> from the Mixxx Wiki. Obter <b>Ajuda</b> a partir do Wiki Mixxx. - - - + + + <b>Exit</b> Mixxx. <b>Sair</b> do Mixxx. - + Retry Repetir @@ -9932,211 +10267,211 @@ Do you really want to overwrite it? - + Allow Mixxx to hide the menu bar? - + Hide Always show the menu bar? - + Always show - + The Mixxx menu bar is hidden and can be toggled with a single press of the <b>Alt</b> key.<br><br>Click <b>%1</b> to agree.<br><br>Click <b>%2</b> to disable that, for example if you don't use Mixxx with a keyboard.<br><br>You can change this setting any time in Preferences -> Interface.<br> Keep formatting tags <b> (bold text) and <br> (linebreak). %1 is the placeholder for the 'Always show' button label - + Ask me again - - + + Reconfigure Reconfigurar - + Help Ajuda - - + + Exit Sair - - + + Mixxx was unable to open all the configured sound devices. Mixxx não foi capaz de abrir todos os dispositivos de som configurados. - + Sound Device Error Erro Dispositivo de Som - + <b>Retry</b> after fixing an issue <b>Tentar novamente</b> depois de corrigir um problema - + No Output Devices Sem Dispositivos de Saída - + Mixxx was configured without any output sound devices. Audio processing will be disabled without a configured output device. O Mixxx foi configurado sem quaisquer dispositivos de saída de som. O processamento de audio será desativado sem a configuração de um dispositivo de saída. - + <b>Continue</b> without any outputs. <b>Continuar</b> sem quaisquer saídas. - + Continue Continuar - + Load track to Deck %1 Carregar faixa no Deck %1 - + Deck %1 is currently playing a track. O Leitor %1 está presentemente a reproduzir uma faixa. - + Are you sure you want to load a new track? Tem certeza de que deseja carregar uma nova faixa? - + There is no input device selected for this vinyl control. Please select an input device in the sound hardware preferences first. Não existe nenhum dispositivo selecionado para este controlo do vinil. Por favor, selecione primeiro um dispositivo de entrada, nas preferências de hardware de som. - + There is no input device selected for this passthrough control. Please select an input device in the sound hardware preferences first. Não existe nenhum dispositivo de entrada selecionado para este controlo passthrough. Por favor, selecione primeiro um dispositivo de entrada, nas preferências de hardware de som. - + There is no input device selected for this microphone. Do you want to select an input device? - + There is no input device selected for this auxiliary. Do you want to select an input device? - + Scan took %1 - + No changes detected. - - + + %1 tracks in total - + %1 new tracks found - + %1 moved tracks detected - + %1 tracks are missing (%2 total) - + %1 tracks have been rediscovered - + Library scan finished - + Error in skin file Erro no arquivo de skin - + The selected skin cannot be loaded. A skin selecionada não pôde ser carregada. - + OpenGL Direct Rendering Interpretação Direta de OpenGL - + Direct rendering is not enabled on your machine.<br><br>This means that the waveform displays will be very<br><b>slow and may tax your CPU heavily</b>. Either update your<br>configuration to enable direct rendering, or disable<br>the waveform displays in the Mixxx preferences by selecting<br>"Empty" as the waveform display in the 'Interface' section. - - - + + + Confirm Exit Confirmar a Saída - + A deck is currently playing. Exit Mixxx? Um leitor está presentemente em reprodução. Sair do Mixxx? - + A sampler is currently playing. Exit Mixxx? Um sampler está presentemente em reprodução. Sair do Mixxx? - + The preferences window is still open. A janela de preferências ainda está aberta. - + Discard any changes and exit Mixxx? Descartar quaisquer mudanças e sair do Mixxx? @@ -10152,13 +10487,13 @@ Do you want to select an input device? PlaylistFeature - + Lock Travar - - + + Playlists Listas de Reprodução @@ -10168,58 +10503,63 @@ Do you want to select an input device? - + + Adopt current order + + + + Unlock all playlists - + Delete all unlocked playlists - + Unlock Desbloquear - - + + Confirm Deletion - + Do you really want to delete all unlocked playlists? - + Deleting %1 unlocked playlists.<br>This operation can not be undone! - + Playlists are ordered lists of tracks that allow you to plan your DJ sets. - + It may be necessary to skip some tracks in your prepared playlist or add some different tracks in order to maintain the energy of your audience. - + Some DJs construct playlists before they perform live, but others prefer to build them on-the-fly. Alguns DJs constroem listas de reprodução antes de apresentações ao vivo, mas outros preferem construí-las na hora. - + When using a playlist during a live DJ set, remember to always pay close attention to how your audience reacts to the music you've chosen to play. Ao utilizar uma lista de reprodução durante uma apresentação ao vivo, lembre-se de sempre prestar atenção em como o público reage à música que você escolheu tocar. - + Create New Playlist Criar uma Playlist Nova @@ -10318,59 +10658,59 @@ Do you want to select an input device? QMessageBox - + Upgrading Mixxx Atualização Mixxx - + Mixxx now supports displaying cover art. Do you want to scan your library for cover files now? O Mixxx agora permite mostrar a capa do disco. Deseja examinar a sua biblioteca para encontrar ficheiros de capa de disco, agora? - + Scan Examinar - + Later Mais Tarde - + Upgrading Mixxx from v1.9.x/1.10.x. Atualização do Mixxx a partir de V1.9.x/1.10.x. - + Mixxx has a new and improved beat detector. O Mixx possui um detetor de batidas novo e aperfeiçoado. - + When you load tracks, Mixxx can re-analyze them and generate new, more accurate beatgrids. This will make automatic beatsync and looping more reliable. Quando você carrega músicas, o Mixxx pode as re-analisar e gerar novas, mais precisas, grades de batidas. Isto vai tornar a sincronização automática e loops mais confiáveis. - + This does not affect saved cues, hotcues, playlists, or crates. Isto não afeta marcações guardadas, hot cues, playlists, ou caixas. - + If you do not want Mixxx to re-analyze your tracks, choose "Keep Current Beatgrids". You can change this setting at any time from the "Beat Detection" section of the Preferences. Se não desejar que o Mixxx reanalise as suas faixas, escolha "Manter as Grelhas de Batida Presentes". Poderá alterar esta definição em qualquer momento a partir da seção "Deteção de Batida" nas Preferências. - + Keep Current Beatgrids Manter as Grades de Batidas Atuais - + Generate New Beatgrids Gerar Novas Grades de Batidas @@ -10484,69 +10824,82 @@ Deseja examinar a sua biblioteca para encontrar ficheiros de capa de disco, agor 14-bit (MSB) - + Main + Audio path indetifier - + Booth + Audio path indetifier Cabine - + Headphones + Audio path indetifier Fones - + Left Bus + Audio path indetifier Bus Esquerdo - + Center Bus + Audio path indetifier Barramento Central - + Right Bus + Audio path indetifier Barramento Direito - + Invalid Bus + Audio path indetifier Bus Inválido - + Deck + Audio path indetifier Leitor - + Record/Broadcast + Audio path indetifier Gravar/Emitir - + Vinyl Control + Audio path indetifier Controlo de Vinil - + Microphone + Audio path indetifier Microfone - + Auxiliary + Audio path indetifier Auxiliar - + Unknown path type %1 + Audio path Caminho desconhecido tipo %1 @@ -10881,47 +11234,49 @@ Com a largura a zero, permite o varrimento manual ao longo de toda a extensão d Largura - + Metronome Metrónomo - + + The Mixxx Team - + Adds a metronome click sound to the stream Adiciona o som dum clique de metrónomo à stream - + BPM BPM - + Set the beats per minute value of the click sound Define o valor do bpm do som do clique - + Sync Sincronização - + Synchronizes the BPM with the track if it can be retrieved Sincroniza o BPM com a faixa, se este puder ser obtido - + + Gain - + Set the gain of metronome click sound @@ -11724,14 +12079,14 @@ Tudo direita: fim do período do efeito - - + + encoder failure - - + + Failed to apply the selected settings. @@ -11937,15 +12292,86 @@ and the processed output signal as close as possible in perceived loudness + + Auto Gain Control + + + + + AGC + + + + + Auto Gain Control (AGC) automatically adjusts the gain of an audio signal to maintain a consistent output level. + + + + Threshold (dBFS) + Threshold + + + The Threshold knob adjusts the level above which the effect starts enhancing the input signal + + + + + Target (dBFS) + + + + + Target + + + + + The Target knob adjusts the desired target level of the output signal + + + + + Gain (dB) + + + + + The Gain knob adjusts the maximum amount of gain that the effect will apply + + + + + Knee (dB) + + + + + The Knee knob defines the range around the Threshold where gain changes are applied gradually, +ensuring smooth transitions and avoiding abrupt level shifts. + + + + + The Attack knob sets the time that determines how fast the auto gain +will set in once the signal exceeds the threshold + + + + + The Release knob sets the time that determines how fast the auto gain will recover from the gain +adjustment once the signal falls under the threshold. Depending on the input signal, short release times +may introduce a 'pumping' effect and/or distortion. + + The Threshold knob adjusts the level above which the compressor starts attenuating the input signal @@ -11974,6 +12400,7 @@ At a ratio of 1:1 no compression is happening, as the input is exactly the outpu + Knee @@ -11984,11 +12411,13 @@ At a ratio of 1:1 no compression is happening, as the input is exactly the outpu + Attack (ms) + Attack @@ -12000,11 +12429,13 @@ will set in once the signal exceeds the threshold + Release (ms) + Release @@ -12033,12 +12464,12 @@ may introduce a 'pumping' effect and/or distortion. - + built-in - + missing @@ -12073,42 +12504,42 @@ may introduce a 'pumping' effect and/or distortion. - + Empty - + Simple - + Filtered - + HSV - + VSyncTest - + RGB - + Stacked - + Unknown @@ -12369,193 +12800,193 @@ may introduce a 'pumping' effect and/or distortion. ShoutConnection - - + + Mixxx encountered a problem O Mixx encontrou um problema - + Could not allocate shout_t Não foi possível distribuir shout_t - + Could not allocate shout_metadata_t Não foi possível distribuir shout_metadata_t - + Error setting non-blocking mode: Erro ao definir modo sem bloqueio: - + Error setting tls mode: - + Error setting hostname! Erro ao configurar o nome do host! - + Error setting port! Erro ao definir porta! - + Error setting password! Erro ao definir password! - + Error setting mount! Erro ao definir montagem! - + Error setting username! Erro ao definir nome de utilizador! - + Error setting stream name! Erro ao configurar o nome da stream! - + Error setting stream description! Erro ao definir descrição da stream! - + Error setting stream genre! Erro ao configurar o gênero da stream! - + Error setting stream url! Erro ao configurar o endereço da stream! - + Error setting stream IRC! Erro a definir a stream IRC! - + Error setting stream AIM! Erro a definir a stream AIM! - + Error setting stream ICQ! Erro a definir a stream ICQ! - + Error setting stream public! Erro ao definir stream pública! - + Unknown stream encoding format! - + Use a libshout version with %1 enabled - + Error setting stream encoding format! - + Broadcasting at 96 kHz with Ogg Vorbis is not currently supported. Please try a different sample rate or switch to a different encoding. - + See https://github.com/mixxxdj/mixxx/issues/5701 for more information. - + Unsupported sample rate - + Error setting bitrate Erro ao definir a taxa de bits! - + Error: unknown server protocol! Erro: protocolo do servidor desconhecido! - + Error: Shoutcast only supports MP3 and AAC encoders - + Error setting protocol! Erros ao configurar o protocolo! - + Network cache overflow Erro de overflow na cache de rede - + Connection error Erro de ligação - + One of the Live Broadcasting connections raised this error:<br><b>Error with connection '%1':</b><br> Uma das ligações de Emissão em Direto apresentou este erro:<br><b>Erro com a ligação '%1':</b><br> - + Connection message Mensagem da ligação - + <b>Message from Live Broadcasting connection '%1':</b><br> <b>Mensagem da ligação Emissão em Direto '%1':</b><br> - + Lost connection to streaming server and %1 attempts to reconnect have failed. A conexão com o servidor de streaming foi perdida e %1 tentativas de reconectar falharam. - + Lost connection to streaming server. A ligação ao servidor de streaming perdida. - + Please check your connection to the Internet. Por favor, verifique a sua conecção à internet. - + Can't connect to streaming server Não se consegue ligar ao servidor de streaming. - + Please check your connection to the Internet and verify that your username and password are correct. Por favor, verifique a sua ligação à Internet e verifique que o seu nome de utilizador e password estão corretos. @@ -12563,7 +12994,7 @@ may introduce a 'pumping' effect and/or distortion. SoftwareWaveformWidget - + Filtered Filtrado @@ -12571,23 +13002,23 @@ may introduce a 'pumping' effect and/or distortion. SoundManager - - + + a device um dispositivo - + An unknown error occurred Ocorreu um erro desconhecido - + Two outputs cannot share channels on "%1" Duas saídas não podem partilhar canais em %1 - + Error opening "%1" Erro ao abrir %1 @@ -12772,7 +13203,7 @@ may introduce a 'pumping' effect and/or distortion. - + Spinning Vinyl Rotação do Vinil @@ -12954,7 +13385,7 @@ may introduce a 'pumping' effect and/or distortion. - + Cover Art Capa do Disco @@ -13144,243 +13575,243 @@ may introduce a 'pumping' effect and/or distortion. Mantém o ganho do EQ Baixos em zero enquanto ativo. - + Displays the tempo of the loaded track in BPM (beats per minute). Mostra o tempo da faixa carregada em BPM (batidas por minuto). - + Tempo Tempo - + Key The musical key of a track Tom - + BPM Tap Bate BPM - + When tapped repeatedly, adjusts the BPM to match the tapped BPM. O BPM vai ser ajustado de acordo com a velocidade das batidas neste botão. - + Adjust BPM Down Ajustar o BPM Abaixo - + When tapped, adjusts the average BPM down by a small amount. Quando batido, ajusta o BPM médio para baixo de uma pequena quantidade. - + Adjust BPM Up Ajustar o BPM Acima - + When tapped, adjusts the average BPM up by a small amount. Quando batido, ajusta o BPM médio para cima de uma pequena quantidade. - + Adjust Beats Earlier Ajustar Batidas Cedo - + When tapped, moves the beatgrid left by a small amount. Quando pressionado, move a grade de batidas um pouco para a esquerda. - + Adjust Beats Later Ajustar Batidas Tarde - + When tapped, moves the beatgrid right by a small amount. Quando batido, move a grelha de batidas para a direita, uma pequena quantidade. - + Tempo and BPM Tap Bate Tempo e BPM - + Show/hide the spinning vinyl section. Mostrar/ocultar a seção rotação de vinil. - + Keylock Trava de Tom - + Toggling keylock during playback may result in a momentary audio glitch. Alternar o bloqueio de tom durante a reprodução pode resultar em falhas momentâneas do audio. - + Toggle visibility of Loop Controls - + Toggle visibility of Beatjump Controls - + Toggle visibility of Rate Control Alterna a visibilidade do Controlo da Taxa - + Toggle visibility of Key Controls - + (while previewing) - + Places a cue point at the current position on the waveform. Coloca um ponto de sinalização na posição atual na forma de onda. - + Stops track at cue point, OR go to cue point and play after release (CUP mode). Pára a faixa no CUE Point, OU vai para o CUE Point e reproduz a faixa após soltar o botão (CUP mode). - + Set cue point (Pioneer/Mixxx/Numark mode), set cue point and play after release (CUP mode) OR preview from it (Denon mode). Define o CUE point (em modo Pioneer/Mixxx/Numark), define o CUE point e toca após largar a tecla (modo CUP) OU escuta o preview (modo Denon). - + Is latching the playing state. - + Seeks the track to the cue point and stops. Avança a faixa até ao Cue Point e para. - + Play Tocar - + Plays track from the cue point. Toca a faixa a partir do ponto de marcação. - + Sends the selected channel's audio to the headphone output, selected in Preferences -> Sound Hardware. - + (This skin should be updated to use Sync Lock!) - + Enable Sync Lock - + Tap to sync the tempo to other playing tracks or the sync leader. - + Enable Sync Leader - + When enabled, this device will serve as the sync leader for all other decks. - + This is relevant when a dynamic tempo track is loaded to a sync leader deck.In that case, other synced devices will adopt the changing tempo. - + Changes the track playback speed (affects both the tempo and the pitch). If keylock is enabled, only the tempo is affected. Altera a velocidade da faixa (afeta o tempo e o pitch). Se o keylock estiver ativo, apenas o tempo é alterado. - + Tempo Range Display - + Displays the current range of the tempo slider. Mostra o alcance atual do deslizante de tempo. - + Un-ejects when no track is loaded, i.e. reloads the track that was ejected last (of any deck). - + Delete selected hotcue. - + Track Comment - + Displays the comment tag of the loaded track. - + Opens separate artwork viewer. - + Effect Chain Preset Settings - + Show the effect chain settings menu for this unit. - + Select and configure a hardware device for this input - + Recording Duration Duração da Gravação @@ -13603,949 +14034,984 @@ may introduce a 'pumping' effect and/or distortion. - + When tapped repeatedly, adjusts the tempo to match the tapped BPM. + + + Click to open the tempo/BPM editor + + + + + It also shows a colored bar if Key colors are enabled in the Preferences. + + + The bar will be split vertically if the track's key is in between full keys. + + + + Tempo Tap - + Rate Tap and BPM Tap - + + Set Tempo + + + + + Set the desired tempo in BPM. If the track currently has no BPM detected, set the desired tempo in percent. + + + + Adjust beatgrid by exactly one half beat. Usable only on tracks with constant tempo. - + Revert last BPM/Beatgrid Change - + Revert last BPM/Beatgrid Change of the loaded track. - - + + Toggle the BPM/beatgrid lock - + Tempo and Rate Tap - + Tempo, Rate Tap and BPM Tap - + Shift cues earlier - - + + Shift cues imported from Serato or Rekordbox if they are slightly off time. - + Left click: shift 10 milliseconds earlier - + Right click: shift 1 millisecond earlier - + Shift cues later - + Left click: shift 10 milliseconds later - + Right click: shift 1 millisecond later - - - + + + Drag a Hotcue button here to continue playing after releasing the Hotcue. - + Hint: Change the default cue mode in Preferences -> Decks. - + Mutes the selected channel's audio in the main output. - + Main mix enable - + Hold or short click for latching to mix this input into the main output. - + + Reloads the last replaced track. If no track is loaded reloads the second-last ejected track. + + + + If hotcue is a loop cue, toggles the loop and jumps to if the loop is behind the play position. - + If the play position is inside an active loop, stores the loop as loop cue. - + Drag this button onto another Hotcue button to move it there (change its index). If the other hotcue is set, the two are swapped. - + Expand/Collapse Samplers - + Toggle expanded samplers view. - + Displays the duration of the running recording. Mostra a duração da gravação em andamento. - + Auto DJ is active - + Red for when needle skip has been detected. - + Hot Cue - Track will seek to nearest previous hotcue point. - + Sets the track Loop-In Marker to the current play position. Define o marcador Início Loop da faixa para a atual posição de reprodução. - + Press and hold to move Loop-In Marker. Pressione e mantenha para mover o marcador Início Loop. - + Jump to Loop-In Marker. Saltar para o marcador Início Loop. - + Sets the track Loop-Out Marker to the current play position. Define o marcador Fim Loop para a atual posição de reprodução. - + Press and hold to move Loop-Out Marker. Pressione e mantenha para mover o marcador Fim Loop. - + Jump to Loop-Out Marker. Saltar para o marcador Fim Loop. - + If the track has no beats the unit is seconds. - + Beatloop Size Tamanho Loop - + Select the size of the loop in beats to set with the Beatloop button. Escolher o tamanho do loop em batidas estabelecer com o botão Loop. - + Changing this resizes the loop if the loop already matches this size. Alterando isto redimensiona o loop se o loop já coincide com este tamanho. - + Halve the size of an existing beatloop, or halve the size of the next beatloop set with the Beatloop button. Reduz a metade o tamanho dum loop existente, ou reduz a metade o tamanho do próximo loop definido com o botão Loop. - + Double the size of an existing beatloop, or double the size of the next beatloop set with the Beatloop button. Duplica o tamanho dum loop existente, ou duplica o tamanho do próximo loop definido com o botão Loop. - + Start a loop over the set number of beats. Iniciar um loop com o número de batidas prédefinidas. - + Temporarily enable a rolling loop over the set number of beats. Ativar temporariamente um loop rolado com o número de batidas prédefinidas. - + Beatloop Anchor - + Define whether the loop is created and adjusted from its staring point or ending point. - + Beatjump/Loop Move Size Beatjump/Loop Tamanho Movimento - + Select the number of beats to jump or move the loop with the Beatjump Forward/Backward buttons. Selecione o número de batidas a saltar ou a deslocar o loop com os botões Beatjump Frente/Atrás. - + Beatjump Forward Beatjump Frente - + Jump forward by the set number of beats. Salta para a frente o número de batidas predefinidas. - + Move the loop forward by the set number of beats. Move o loop para a frente o número de batidas prédefinidas. - + Jump forward by 1 beat. Salta para a frente 1 batida. - + Move the loop forward by 1 beat. Move o loop para a frente 1 batida. - + Beatjump Backward Beatjump Atrás - + Jump backward by the set number of beats. Salta para trás o número de batidas prédefinidas. - + Move the loop backward by the set number of beats. Move o loop para trás o número de batidas prédefinidas. - + Jump backward by 1 beat. Salta para trás 1 batida. - + Move the loop backward by 1 beat. Move o loop para trás 1 batida. - + Reloop Reloop - + If the loop is ahead of the current position, looping will start when the loop is reached. Se o loop estiver à frente da posição atual de reprodução, o ciclo de looping começará quando o loop for atingido. - + Works only if Loop-In and Loop-Out Marker are set. Funciona apenas se os marcadores de Início Loop e Fim Loop estiverem definidos. - + Enable loop, jump to Loop-In Marker, and stop playback. Ativar loop, saltar para o marcador Início Loop, e parar a reprodução. - + Displays the elapsed and/or remaining time of the track loaded. Mostra o tempo executado e/ou restante da faixa carregada. - + Click to toggle between time elapsed/remaining time/both. Clique para alternar entre tempo executado/restante tempo/ambos. - + Hint: Change the time format in Preferences -> Decks. - + Show/hide intro & outro markers and associated buttons. - + + Ensure all waveforms to have the same height across all channels. By default, when displaying the stem controls, waveform for channel that have no stem may render with a shorter height in order to honor the waveform container size you have requested.. + + + + Intro Start Marker - - - - + + + + If marker is set, jumps to the marker. - - - - + + + + If marker is not set, sets the marker to the current play position. - - - - + + + + If marker is set, clears the marker. - + Intro End Marker - + Outro Start Marker - + Outro End Marker - + Mix Mistura - + Adjust the mixing of the dry (input) signal with the wet (output) signal of the effect unit Ajustar a mistura do sinal seco (entrada) com o molhado (saída) da unidade de efeito - + D/W mode: Crossfade between dry and wet Modo S/M: crossfade entre seco e molhado - + D+W mode: Add wet to dry Modo S/M: adicionar molhado ao seco - + Mix Mode Modo Mistura - + Adjust how the dry (input) signal is mixed with the wet (output) signal of the effect unit Ajustar a mistura do sinal seco (entrada) com o sinal molhado (saída) da unidade de efeito - + Dry/Wet mode (crossed lines): Mix knob crossfades between dry and wet Use this to change the sound of the track with EQ and filter effects. Modo Seco/Molhado (linhas cruzadas): o botão de Mistura faz a transição entre seco e molhado. Usar isto para alterar o som da faixa com EQ e filtros de efeitos. - + Dry+Wet mode (flat dry line): Mix knob adds wet to dry Use this to change only the effected (wet) signal with EQ and filter effects. Modo Seco+Molhado (linha seca plana): o botão de Mistura adiciona o molhado ao seco. Usar isto para alterar apenas o sinal já com os efeitos (molhado) de EQ e filtros de efeitos. - + Route the main mix through this effect unit. - + Route the left crossfader bus through this effect unit. Envia o bus esquerdo do crossfader através desta unidade de efeito. - + Route the right crossfader bus through this effect unit. Envia o bus direito do crossfader através desta unidade de efeito. - + Right side active: parameter moves with right half of Meta Knob turn Lado direito ativo: o parâmetro muda com meia volta para a direita do Botão Meta - + Stem Label - + Name of the stem stored in the stem file - + Text is displayed in the stem color stored in the stem file - + this stem color is also used for the waveform of this stem - + Stem Mute - + Toggle the stem mute/unmuted - + Stem Volume Knob - + Adjusts the volume of the stem - + Skin Settings Menu Menu Definições Skin - + Show/hide skin settings menu Mostra/Oculta menu de definições. - + Save Sampler Bank Salvar Banco do Sampler - + Save the collection of samples loaded in the samplers. Guarda a colecção de samples carregadas nos samplers. - + Load Sampler Bank Carregar o Banco de Amostras - + Load a previously saved collection of samples into the samplers. Carrega uma colecção de samples guardada previamente nos samplers. - + Show Effect Parameters Mostrar Parâmetros do Efeito - + Enable Effect Ativar Efeito - + Meta Knob Link Ligação Botão Meta - + Set how this parameter is linked to the effect's Meta Knob. Definir como este parâmetro está ligado ao botão de efeitos Meta. - + Meta Knob Link Inversion Inversão Ligação Botão Mega - + Inverts the direction this parameter moves when turning the effect's Meta Knob. Inverte a direção com que este parâmetro se move quando se roda o Botão Meta. - + Super Knob Super Botão - + Next Chain Próxima Cadeia - + Previous Chain Cadeia Anterior - + Next/Previous Chain Próxima/Anterior Cadeia - + Clear Limpar - + Clear the current effect. Limpa o efeito presente. - + Toggle Alternar - + Toggle the current effect. Alterna o efeito presente. - + Next Próximo - + Clear Unit Limpar Unidade - + Clear effect unit. Limpa a unidade de efeito. - + Show/hide parameters for effects in this unit. Mostra/Oculta parâmetros para efeitos nesta unidade. - + Toggle Unit Alternar Unidade - + Enable or disable this whole effect unit. Ativa ou desativa esta unidade completa de efeito. - + Controls the Meta Knob of all effects in this unit together. Controla o Meta Botão de todos os efeitos conjuntamente nesta unidade. - + Load next effect chain preset into this effect unit. Carrega a próxima cadeia de efeitos prédefinida nesta unidade de efeito. - + Load previous effect chain preset into this effect unit. Carrega a anterior cadeia de efeitos prédefinida nesta unidade de efeito. - + Load next or previous effect chain preset into this effect unit. Carrega a próxima ou anterior cadeia de efeitos prédefinida nesta unidade de efeito. - - - - - - - - - + + + + + + + + + Assign Effect Unit Atribuir Unidade de Efeito - + Assign this effect unit to the channel output. Atribuir esta unidade de efeito ao canal de saída. - + Route the headphone channel through this effect unit. Encaminha o canal de auscultadores através desta unidade de efeito. - + Route this deck through the indicated effect unit. Encaminha este leitor através da unidade de efeito indicada. - + Route this sampler through the indicated effect unit. Encaminha este sampler através da unidade de efeito indicada. - + Route this microphone through the indicated effect unit. Encaminha este microfone através da unidade de efeito indicada. - + Route this auxiliary input through the indicated effect unit. Encaminha esta entrada auxiliar através da unidade de efeito indicada. - + The effect unit must also be assigned to a deck or other sound source to hear the effect. Esta unidade de efeito deve também ser atribuída a um leitor ou a outra fonte sonora para ouvir o efeito. - + Switch to the next effect. Comuta para o próximo efeito. - + Previous Anterior - + Switch to the previous effect. Troca para o efeito anterior. - + Next or Previous Próximo ou Anterior - + Switch to either the next or previous effect. Comuta ou para o próximo efeito, ou efeito anterior. - + Meta Knob Botão Meta - + Controls linked parameters of this effect Controla os parâmetros deste efeito aqui ligado. - + Effect Focus Button Botão Realce Efeito - + Focuses this effect. Realça este efeito. - + Unfocuses this effect. Anula o realce deste efeito. - + Refer to the web page on the Mixxx wiki for your controller for more information. Consultar a página web na wiki Mixxx para mais informação sobre o seu controlador. - + Effect Parameter Parâmetro Efeito - + Adjusts a parameter of the effect. Ajusta um parâmetro do efeito. - + Inactive: parameter not linked Inativo: parâmetro não ligado - + Active: parameter moves with Meta Knob Activo: o parâmetro move-se com o Botão Meta - + Left side active: parameter moves with left half of Meta Knob turn Lado esquerdo ativo: o parâmetro move-se com meia volta para a esquerda do Botão Meta - + Left and right side active: parameter moves across range with half of Meta Knob turn and back with the other half Lado esquerdo e direito ativo: o parâmetro desloca-se ao longo da sua extensão com meia volta do Botão Meta e para trás com a outra meia volta. - - + + Equalizer Parameter Kill Matar Parâmetro do Equalizador - - + + Holds the gain of the EQ to zero while active. Mantem o ganho do equalizador em zero quanto ativo. - + Quick Effect Super Knob Super Botão de Efeito Rápido - + Quick Effect Super Knob (control linked effect parameters). Super Botão de Efeito Rápido (controla parâmetros de efeitos conectados). - + Hint: Change the default Quick Effect mode in Preferences -> Equalizers. Sugestão: Alterar o modo Efeito Rápido padrão em Preferências -> Equalizadores. - + Equalizer Parameter Parâmetro Equalizador - + Adjusts the gain of the EQ filter. Ajusta o ganho do filtro EQ. - + Hint: Change the default EQ mode in Preferences -> Equalizers. Dica: Mude o modo padrão do equalizador em Preferências -> Equalizadores. - - + + Adjust Beatgrid Ajustar Grelha de Batidas - + Adjust beatgrid so the closest beat is aligned with the current play position. Ajusta a grade de batidas de forma que a batida mais próxima é alinhada com a posição atual. - - + + Adjust beatgrid to match another playing deck. Ajusta a grelha de batidas para corresponder um outro leitor em reprodução. - + If quantize is enabled, snaps to the nearest beat. Se a quantização estiver ativa agarra-se à batida mais próxima. - + Quantize Quantização - + Toggles quantization. Alternar a quantização. - + Loops and cues snap to the nearest beat when quantization is enabled. Enquanto a quantização estiver ativada, os loops e os hotcues sempre entrarão na batida mais próxima. - + Reverse Inverter - + Reverses track playback during regular playback. Inverte a reprodução da faixa. - + Puts a track into reverse while being held (Censor). Coloca a faixa em reprodução invertida enquanto pressionado (Censurar). - + Playback continues where the track would have been if it had not been temporarily reversed. A reprodução continua onde a faixa estaria se ela não estivesse sido temporariamente invertida. - - - + + + Play/Pause Tocar/Pausar - + Jumps to the beginning of the track. Pula para o início da faixa. - + Syncs the tempo (BPM) and phase to that of the other track, if BPM is detected on both. Sincroniza o tempo (BPM) e a fase para a da outra faixa, ou BPM se detectado nos dois. - + Syncs the tempo (BPM) to that of the other track, if BPM is detected on both. Sincroniza o tempo (BPM) com o da outra faixa, se o BPM for detetado em ambas. - + Sync and Reset Key Sincronizar e Reiniciar Tom - + Increases the pitch by one semitone. Aumenta a tonalidade de um meio tom. - + Decreases the pitch by one semitone. Diminui o pitch por um semitom. - + Enable Vinyl Control Ativar Controlo de Vinil - + When disabled, the track is controlled by Mixxx playback controls. Quando desativado, a faixa é controlada pelos controlos de reprodução do Mixxx. - + When enabled, the track responds to external vinyl control. Quando ativado, a faixa responde ao controle por vinil externo - + Enable Passthrough Ativar Passthrough - + Indicates that the audio buffer is too small to do all audio processing. Indica que o buffer de áudio é muito pequeno para fazer todo o processamento de aúdio. - + Displays cover artwork of the loaded track. Mostra a capa do disco na faixa carregada. - + Displays options for editing cover artwork. Mostra as opções para edição da capa do disco. - + Star Rating Classificação Estrelas - + Assign ratings to individual tracks by clicking the stars. Atribui classificações a faixas individuais clicando nas estrelas. @@ -14680,33 +15146,33 @@ Usar isto para alterar apenas o sinal já com os efeitos (molhado) de EQ e filtr Amplitude da Redução no Talkover - + Prevents the pitch from changing when the rate changes. Impede a mudança de tom quando a velocidade é alterada. - + Changes the number of hotcue buttons displayed in the deck Altera o número de botões hotcue mostrados no leitor - + Starts playing from the beginning of the track. Começa a tocar do começo da faixa. - + Jumps to the beginning of the track and stops. Pula para o começo da faixa e para. - - + + Plays or pauses the track. Toca ou pausa uma música. - + (while playing) (durante a leitura) @@ -14726,215 +15192,215 @@ Usar isto para alterar apenas o sinal já com os efeitos (molhado) de EQ e filtr - + (while stopped) (enquanto parada) - + Cue Marcação - + Headphone Auscultador - + Mute Silênciar - + Old Synchronize Sincronização Antiga - + Syncs to the first deck (in numerical order) that is playing a track and has a BPM. Sincroniza com o primeiro deck (em ordem numérica) que estiver tocando uma faixa e tem BPM. - + If no deck is playing, syncs to the first deck that has a BPM. Se nenhum leitor estiver em reprodução, sincroniza com o primeiro leitor que tenha um BPM. - + Decks can't sync to samplers and samplers can only sync to decks. Os leitores não se podem sincronizar com samplers, e os samplers só se podem sincronizar com os leitores. - + Hold for at least a second to enable sync lock for this deck. Manter premido, por pelo menos um segundo, para ativar o bloqueio de sincronização para este leitor. - + Decks with sync locked will all play at the same tempo, and decks that also have quantize enabled will always have their beats lined up. Os leitores com sincronização bloqueada tocam todos no mesmo tempo, e os leitores que também tiverem a quantização ativada terão sempre as suas batidas alinhadas. - + Resets the key to the original track key. Reinicia o tom, para o tom original da faixa. - + Speed Control Controlo de Velocidade - - - + + + Changes the track pitch independent of the tempo. Muda o pitch da faixa independentemente do tempo. - + Increases the pitch by 10 cents. Aumenta o tom de 10 centésimos. - + Decreases the pitch by 10 cents. Diminui o tom de 10 centésimos. - + Pitch Adjust Ajustar Tom - + Adjust the pitch in addition to the speed slider pitch. Adiciona o ajuste de tom ao cursor de velocidade. - + Opens a menu to clear hotcues or edit their labels and colors. - + Drag this button onto a Play button while previewing to continue playback after release. - + Dragging with Shift key pressed will not start previewing the hotcue. - + Record Mix Gravar Mistura - + Toggle mix recording. Alternar gravação da mistura. - + Enable Live Broadcasting Ativar Emissão em Direto - + Stream your mix over the Internet. Fazer stream da sua mistura através da Internet. - + Provides visual feedback for Live Broadcasting status: Provê retorno visual para o estado de Transmissão Ao Vivo: - + disabled, connecting, connected, failure. desativado, conectando, conectado, falha. - + When enabled, the deck directly plays the audio arriving on the vinyl input. Quando ativada, o leitor toca o audio que chega diretamente à entrada do vinil. - + Playback will resume where the track would have been if it had not entered the loop. A reprodução será retomada onda a faixa estaria se não tivesse entrado em loop. - + Loop Exit Sair do Loop - + Turns the current loop off. Apaga o presente loop. - + Slip Mode Modo de Deslizamento - + When active, the playback continues muted in the background during a loop, reverse, scratch etc. Quando ativo, a execução continua silenciosa no fundo durante um loop, reprodução invertida, um scratch, etc. - + Once disabled, the audible playback will resume where the track would have been. Uma vez desativado, a execução audível continuará onde a música estaria. - + Track Key The musical key of a track Tom da Faixa - + Displays the musical key of the loaded track. Mostra o tom musical da faixa carregada. - + Clock Relógio - + Displays the current time. Mostra a hora presente. - + Audio Latency Usage Meter Medidor do Uso da Latência Audio - + Displays the fraction of latency used for audio processing. Mostra a fração da latência usada no processamento de audio. - + A high value indicates that audible glitches are likely. Um valor alto indica que ruídos no áudio são prováveis. - + Do not enable keylock, effects or additional decks in this situation. Não ative bloqueio de tom, efeitos ou leitores adicionais nesta situação. - + Audio Latency Overload Indicator Indicador de Sobrecarga de Latência Audio @@ -14974,259 +15440,259 @@ Usar isto para alterar apenas o sinal já com os efeitos (molhado) de EQ e filtr Ativar Controlo de Vinil a partir de Menu -> Opções. - + Displays the current musical key of the loaded track after pitch shifting. Mostra o tom musical corrente da faixa carregada, após movimentação do cursor de velocidade/tom. - + Fast Rewind Retrocesso Rápido - + Fast rewind through the track. Rebobina a música rapidamente. - + Fast Forward Avanço Rápido - + Fast forward through the track. Avanço rápido através da faixa. - + Jumps to the end of the track. Salta para o fim da faixa. - + Sets the pitch to a key that allows a harmonic transition from the other track. Requires a detected key on both involved decks. Define a tonalidade para um tom que permita uma transição harmónica para outra faixa. Requer ter sido detetado um tom em ambos os leitores envolvidos. - - - + + + Pitch Control Controle do Pitch - + Pitch Rate Variação da Velocidade - + Displays the current playback rate of the track. Mostra a taxa de reprodução da música em execução. - + Repeat Repetir - + When active the track will repeat if you go past the end or reverse before the start. Quando ativo, a música vai repetir se você passar do final ou inverter a reprodução antes do início. - + Eject Extrair - + Ejects track from the player. Extrai a faixa do leitor. - + Hotcue Hot Cue - + If hotcue is set, jumps to the hotcue. Se a hot cue estiver definida, salta para a hot cue. - + If hotcue is not set, sets the hotcue to the current play position. Se a hot cue não estiver definida, define a hot cue para a atual posição a tocar. - + Vinyl Control Mode Modo Controlo do Vinil - + Absolute mode - track position equals needle position and speed. Modo absoluto - a posição da faixa é igual à posição e velocidade da agulha. - + Relative mode - track speed equals needle speed regardless of needle position. Modo relativo - a velocidade da faixa é igual à da agulha, independente da posição. - + Constant mode - track speed equals last known-steady speed regardless of needle input. Modo Constante - a velocidade da faixa é igual à última velocidade estável conhecida, independentemente da informação de entrada da agulha. - + Vinyl Status Estado do Vinil - + Provides visual feedback for vinyl control status: Provê retorno visual para o estado do controle por vinil: - + Green for control enabled. Verde quando o controle estiver ativado. - + Blinking yellow for when the needle reaches the end of the record. Amarelo piscante quando a agulha estiver no fim do disco. - + Loop-In Marker Marcador de Início Loop - + Loop-Out Marker Marca de Saída do Loop - + Loop Halve Reduzir a Metade Loop - + Halves the current loop's length by moving the end marker. Diminui o comprimento atual do loop pela metade movendo a marca de saída. - + Deck immediately loops if past the new endpoint. O leitor entra em loop imediatamente, se ultrapassar o novo ponto final. - + Loop Double Duplicar Loop - + Doubles the current loop's length by moving the end marker. Dobra o comprimento do loop atual movendo a marca de saída. - + Beatloop Loop de Batida - + Toggles the current loop on or off. Alterna entre ligar/desligar o loop corrente. - + Works only if Loop-In and Loop-Out marker are set. Funciona apenas se os marcadores de Início Loop e Fim Loop estiverem definidos. - + Vinyl Cueing Mode Modo de Cue do Vinil - + Determines how cue points are treated in vinyl control Relative mode: Determina como os pontos de marcação são tratados no modo Relativo do controlo de vinil: - + Off - Cue points ignored. Off - Pontos de marcação ignorados. - + One Cue - If needle is dropped after the cue point, track will seek to that cue point. Único - Se a agulha for solta depois doponto cue, a faixa vai até aquele ponto cue. - + Track Time Tempo da Faixa - + Track Duration Duração Faixa - + Displays the duration of the loaded track. Mostra a duração da faixa carregada. - + Information is loaded from the track's metadata tags. A informação é carregada a partir das etiquetas de metadados da faixa. - + Track Artist Artista da Faixa - + Displays the artist of the loaded track. Mostra o artista da faixa carregada. - + Track Title Título da Faixa - + Displays the title of the loaded track. Mostra o título da faixa carregada. - + Track Album Album Faixa - + Displays the album name of the loaded track. Mostra o nome do álbum da faixa carregada. - + Track Artist/Title Artista/Título da Faixa - + Displays the artist and title of the loaded track. Mostra o artista e o título da faixa carregada. @@ -15454,47 +15920,75 @@ This can not be undone! WCueMenuPopup - + Cue number - + Cue position - + Edit cue label - + Label... - + Delete this cue - - Toggle this cue type between normal cue and saved loop + + Turn this cue into a regular hotcue + + + + + Turn this cue into a saved loop + + + + + Left-click: Use the old size if known or the current beatloop size as the loop size + + + + + Right-click: Use the current play position as new loop end if it is after the cue + + + + + Turn this cue into a saved forward jump. + + is a linebreak. Try to not to extend the translation beyond the length of the longest source line so the tooltip remains compact. + + + + + Turn this cue into a saved backward jump (one shot loop). - - Left-click: Use the old size or the current beatloop size as the loop size + + Left-click: Use the old size if known or the current play position as jump start position +If this is already a jump cue, swap the jump position and the cue/target position. - - Right-click: Use the current play position as loop end if it is after the cue + + Right-click: use current play position as new jump start position - + Hotcue #%1 @@ -15796,171 +16290,181 @@ This can not be undone! + Show Auto DJ + + + + + Switch to the Auto DJ view. + + + + &Full Screen Te&la cheia - + Display Mixxx using the full screen Mostrar o Mixxx utilizando o ecrã inteiro. - + &Options &Opções - + &Vinyl Control Controlo de &Vinil - + Use timecoded vinyls on external turntables to control Mixxx Use vinils com timecode em toca-discos externos para controlar o Mixxx - + Enable Vinyl Control &%1 Ativar Controlo do Vinil &%1 - + &Record Mix &Gravar Mistura - + Record your mix to a file Grave sua mixagem para um arquivo - + Ctrl+R Ctrl+R - + Enable Live &Broadcasting Ativar Transmissão Ao &Vivo - + Stream your mixes to a shoutcast or icecast server Difunda as suas misturas via um servidor de "shoutcast" ou "icecast" - + Ctrl+L Ctrl+L - + Enable &Keyboard Shortcuts Ativar Atalhos de Teclado - + Toggles keyboard shortcuts on or off Alterna entre ligar/desligar os atalhos de teclado. - + Ctrl+` Ctrl+` - + &Preferences &Preferências - + Change Mixxx settings (e.g. playback, MIDI, controls) Muda as configurações do Mixxx (ex.: reprodução, MIDI, controles) - + &Developer &Desenvolvedor - + &Reload Skin &Recarregar Skin - + Reload the skin Recarregar a skin - + Ctrl+Shift+R Ctrl+Shift+R - + Developer &Tools &Ferramentas do Desenvolvedor - + Opens the developer tools dialog Abre o diálogo das ferramentas do desenvolvedor - + Ctrl+Shift+T Ctrl+Shift+T - + Stats: &Experiment Bucket Dados: Balde de &Experimento - + Enables experiment mode. Collects stats in the EXPERIMENT tracking bucket. Ativa o modo Experiências. Coleta estatísticas no balde de rastreio EXPERIÊNCIAS. - + Ctrl+Shift+E Ctrl+Shift+E - + Stats: &Base Bucket Estatísticas: &Balde Base - + Enables base mode. Collects stats in the BASE tracking bucket. Ativa o modo Base. Coleta estatísticas no balde de rastreio BASE. - + Ctrl+Shift+B Ctrl+Shift+B - + Deb&ugger Enabled Deb&ugger Ativado - + Enables the debugger during skin parsing Ativa o debugger enquanto a skin estiver sendo analisada - + Ctrl+Shift+D Ctrl+Shift+D - + &Help &Ajuda @@ -15994,62 +16498,62 @@ This can not be undone! F12 - + &Community Support &Apoio da Comunidade - + Get help with Mixxx Obter ajuda com o Mixxx - + &User Manual Manual do &Utilizador - + Read the Mixxx user manual. Ler o manual do utilizador do Mixxx. - + &Keyboard Shortcuts &Atalhos de Teclado - + Speed up your workflow with keyboard shortcuts. Acelere o seu fluxo de trabalho com os atalhos de teclado. - + &Settings directory - + Open the Mixxx user settings directory. - + &Translate This Application &Traduzir Este Programa - + Help translate this application into your language. Ajude a traduzir esta aplicação na sua língua. - + &About So&bre - + About the application Sobre esta aplicação @@ -16057,25 +16561,25 @@ This can not be undone! WOverview - + Passthrough Passagem - + Ready to play, analyzing... Text on waveform overview when file is playable but no waveform is visible - - + + Loading track... Text on waveform overview when file is cached from source - + Finalizing... Text on waveform overview during finalizing of waveform analysis @@ -16265,625 +16769,640 @@ This can not be undone! WTrackMenu - + Load to Carregar para - + Deck Leitor - + Sampler Sampler - + Add to Playlist Adicionar à Playlist - + Crates Caixas - + Metadata Metadados - + Update external collections - + Cover Art Capa do Disco - + Adjust BPM Ajustar BPM - + Select Color - - + + Analyze Analisar - - + + Delete Track Files - + Add to Auto DJ Queue (bottom) Adicionar à Fila Auto DJ (baixo) - + Add to Auto DJ Queue (top) Adicionar à Fila Auto DJ (cima) - + Add to Auto DJ Queue (replace) Adicionar à Fila Auto DJ (Substituir) - + Preview Deck Leitor de Antevisão - + Remove Remover - + Remove from Playlist Remover da Playlist - + Remove from Crate Remover da Caixa - + Hide from Library Ocultar da Biblioteca - + Unhide from Library Mostrar da Bilioteca - + Purge from Library Remover da Biblioteca - + Move Track File(s) to Trash - + Delete Files from Disk - + Properties Propriedades - + Open in File Browser Abrir no Explorador de Ficheiros - + Select in Library - + Import From File Tags Importar Das Tags Ficheiros - + Import From MusicBrainz Importar De MusicBrainz - + Export To File Tags Exportar Para Tags Ficheiros - + BPM and Beatgrid BPM e Grelha de Batidas - + Play Count Contador de Leitura - + Rating Classificação - + Cue Point Ponto de Marcação - - + + Hotcues Hot Cues - + Intro - + Outro - + Key Tom - + ReplayGain ReplayGain - + Waveform Forma de Onda - + Comment Comentário - + All Todas - + Sort hotcues by position (remove offsets) - + Sort hotcues by position - + Lock BPM Bloquear BPM - + Unlock BPM Desbloquear BPM - + Double BPM Duplicar BPM - + Halve BPM Reduzir a Metade BPM - + 2/3 BPM 2/3 BPM - + 3/4 BPM 3/4 BPM - + 4/3 BPM 4/3 BPM - + 3/2 BPM 3/2 BPM - + Shift Beatgrid Half Beat - + Reanalyze - + Reanalyze (constant BPM) - + Reanalyze (variable BPM) - + Update ReplayGain from Deck Gain - + Deck %1 Leitor %1 - + Importing metadata of %n track(s) from file tags - + Marking metadata of %n track(s) to be exported into file tags - - + + Create New Playlist Criar uma Playlist Nova - + Enter name for new playlist: Introduzir um nome para a nova playlist: - + New Playlist Playlist Nova - - - + + + Playlist Creation Failed Criação da Playlist Falhou - + A playlist by that name already exists. Já existe uma playlist com esse nome. - + A playlist cannot have a blank name. Uma playlist não pode ter um nome em branco. - + An unknown error occurred while creating playlist: Ocorreu um erro desconhecido ao criar a playlist: - + Add to New Crate - + Scaling BPM of %n track(s) - + Undo BPM/beats change of %n track(s) - + Locking BPM of %n track(s) Locking BPM of %n track(s)Locking BPM of %n track(s)Bloqueando o BPM de %n faixa(s) - + Unlocking BPM of %n track(s) Unlocking BPM of %n track(s)Unlocking BPM of %n track(s)Desbloqueando o BPM de %n faixa(s) - + Setting rating of %n track(s) - + Setting color of %n track(s) Setting color of %n track(s)Setting color of %n track(s)Mudando a cor de %n faixa(s) - + Resetting play count of %n track(s) - + Resetting beats of %n track(s) - + Clearing rating of %n track(s) - + Clearing comment of %n track(s) - + Removing main cue from %n track(s) - + Removing outro cue from %n track(s) - + Removing intro cue from %n track(s) - + Removing loop cues from %n track(s) - + Removing hot cues from %n track(s) - + Sorting hotcues of %n track(s) by position (remove offsets) - + Sorting hotcues of %n track(s) by position - + Resetting keys of %n track(s) - + Resetting replay gain of %n track(s) - + Resetting waveform of %n track(s) - + Resetting all performance metadata of %n track(s) - + Move these files to the trash bin? - + Permanently delete these files from disk? - - + + This can not be undone! - + Cancel Cancelar - + Delete Files - + Okay - + Move Track File(s) to Trash? - + Track Files Deleted - + Track Files Moved To Trash - + %1 track files were moved to trash and purged from the Mixxx database. - + %1 track files were deleted from disk and purged from the Mixxx database. - + Track File Deleted - + Track file was deleted from disk and purged from the Mixxx database. - + The following %1 file(s) could not be deleted from disk - + This track file could not be deleted from disk - + Remaining Track File(s) - + Close Fechar - + Clear Reset metadata in right click track context menu in library - + Loops - + Clear BPM and Beatgrid - + Undo last BPM/beats change - + Move this track file to the trash bin? - + Permanently delete this track file from disk? - + All decks where these tracks are loaded will be stopped and the tracks will be ejected. - + All decks where this track is loaded will be stopped and the track will be ejected. - + Removing %n track file(s) from disk... - + Note: if you are in the Computer or Recording view you need to click the current view again to see changes. - + Track File Moved To Trash - + Track file was moved to trash and purged from the Mixxx database. - + Don't show again during this session - + The following %1 file(s) could not be moved to trash - + This track file could not be moved to trash + + + Replace current Auto DJ queue? + + + + + Do you want to replace the entire Auto DJ queue with the selected tracks? + + + + + Don't ask again during this session + + - + Setting cover art of %n track(s) - + Reloading cover art of %n track(s) @@ -16937,37 +17456,37 @@ This can not be undone! WTrackTableView - + Confirm track hide - + Are you sure you want to hide the selected tracks? - + Are you sure you want to remove the selected tracks from AutoDJ queue? - + Are you sure you want to remove the selected tracks from this crate? - + Are you sure you want to remove the selected tracks from this playlist? - + Don't ask again during this session - + Confirm track removal @@ -16975,12 +17494,12 @@ This can not be undone! WTrackTableViewHeader - + Show or hide columns. Mostra ou oculta colunas. - + Shuffle Tracks @@ -16988,52 +17507,52 @@ This can not be undone! mixxx::CoreServices - + fonts - + database - + effects - + audio interface - + decks - + library - + Choose music library directory Escolher a pasta biblioteca musical - + controllers - + Cannot open database Não pode abrir a base de dados. - + Unable to establish a database connection. Mixxx requires QT with SQLite support. Please read the Qt SQL driver documentation for information on how to build it. @@ -17190,6 +17709,24 @@ Clique OK para sair. A requisição de Rede não foi iniciada + + mixxx::qml::QmlApplication + + + Existing user profile detected + + + + + Trying to run Mixxx 3.0 with an existing %0 user profile! <br><br>There is <b>serious risks</b> of data loss and corruption.<br>We recommend using a test profile folder with the '--settings-path' argument. <br><br>If you want to continue at your own risk, run Mixxx with the argument '--allow-dangerous-data-corruption-risk'. + + + + + Ok + + + mixxx::qml::QmlVisibleEffectsModel @@ -17198,4 +17735,27 @@ Clique OK para sair. Nenhum efeito carregado. + + mixxx::qml::QmlWaveformRendererMark + + + Cannot find the marker pixmap + + + + + Cannot find the marker endPixmap + + + + + Cannot find the marker icon + + + + + Cannot find the marker endIcon + + + \ No newline at end of file diff --git a/res/translations/mixxx_ro.qm b/res/translations/mixxx_ro.qm index b64883bf962c385486b44660c83fc61372c0038e..9ef04a080c43866603f88fa9a8f9ef155ae064d7 100644 GIT binary patch delta 12150 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 delta 12288 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 + + AllTrackLibraryFeature + + + All... + + + AnalysisFeature @@ -19,52 +27,52 @@ AutoDJFeature - + Crates Colecții - + Enable Auto DJ - + Disable Auto DJ - + Clear Auto DJ Queue - + Remove Crate as Track Source Elimină colecția ca sursă pistă - + Auto DJ Auto DJ - + Confirmation Clear - + Do you really want to remove all tracks from the Auto DJ queue? - + This can not be undone. - + Add Crate as Track Source Adaugă colecția ca sursă pistă @@ -222,7 +230,7 @@ - + Export Playlist Exportare listă de redare @@ -276,13 +284,13 @@ - + Playlist Creation Failed Crearea listei de redare a eşuat - + An unknown error occurred while creating playlist: O eroare necunoscută a apărut în timpul creării listei de redare: @@ -297,12 +305,12 @@ - + M3U Playlist (*.m3u) Listă de redare M3U (*.m3u) - + M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Text CSV (*.csv);;Readable Text (*.txt) M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Text CSV (*.csv);;Text lizibil (*.txt) @@ -310,12 +318,12 @@ BaseSqlTableModel - + # # - + Timestamp Marcaj temporal @@ -323,7 +331,7 @@ BaseTrackPlayerImpl - + Couldn't load track. Nu se poate încărca pista. @@ -361,7 +369,7 @@ Canale - + Color @@ -376,7 +384,7 @@ Compozitor - + Cover Art Copertă @@ -386,7 +394,7 @@ Data adăugării - + Last Played @@ -416,7 +424,7 @@ Tastă - + Location Locație @@ -426,7 +434,7 @@ - + Preview Previzualizare @@ -466,7 +474,7 @@ An - + Fetching image ... Tooltip text on the cover art column shown when the cover is read from disk @@ -488,22 +496,22 @@ BroadcastProfile - + Can't use secure password storage: keychain access failed. - + Secure password retrieval unsuccessful: keychain access failed. - + Settings error Eroare de setări - + <b>Error with settings for '%1':</b><br> @@ -591,7 +599,7 @@ - + Computer @@ -611,17 +619,17 @@ Scanare - + "Computer" lets you navigate, view, and load tracks from folders on your hard disk and external devices. - + It shows the data from the file tags, not track data from your Mixxx library like other track views. - + If you load a track file from here, it will be added to your library. @@ -734,12 +742,12 @@ Fișier creat - + Mixxx Library Biblioteca Mixxx - + Could not load the following file because it is in use by Mixxx or another application. Nu s-a putut încărca fișierul următor deoarece este utilizat de Mixxx sau altă aplicație. @@ -770,87 +778,92 @@ CmdlineArgs - + Mixxx is an open source DJ software. For more information, see: - + Starts Mixxx in full-screen mode - + Use a custom locale for loading translations. (e.g 'fr') - + Top-level directory where Mixxx should look for its resource files such as MIDI mappings, overriding the default installation location. - + Path the debug statistics time line is written to - + Causes Mixxx to display/log all of the controller data it receives and script functions it loads - + The controller mapping will issue more aggressive warnings and errors when detecting misuse of controller APIs. New Controller Mappings should be developed with this option enabled! - + Enables developer-mode. Includes extra log info, stats on performance, and a Developer tools menu. - + Top-level directory where Mixxx should look for settings. Default is: - + Starts Auto DJ when Mixxx is launched. - + Rescans the library when Mixxx is launched. - + Use legacy vu meter - + Use legacy spinny - - Loads experimental QML GUI instead of legacy QWidget skin + + Loads the highly unstable 3.0 Mixxx interface, based on QML. You need to use a new setting profile, or run with 'allow-dangerous-data-corruption-risk' to use with the current one. We highly recommend backing up your data if you do so. - + + Force Mixxx to load an unstable version with an existing user profile from a stable version + + + + Enables safe-mode. Disables OpenGL waveforms, and spinning vinyl widgets. Try this option if Mixxx is crashing on startup. - + [auto|always|never] Use colors on the console output. - + Sets the verbosity of command line logging. critical - Critical/Fatal only warning - Above + Warnings @@ -860,32 +873,32 @@ trace - Above + Profiling messages - + Sets the the logging level at which the log buffer is flushed to mixxx.log. <level> is one of the values defined at --log-level above. - + Sets the maximum file size of the mixxx.log file in bytes. Use -1 for unlimited. The default is 100 MB as 1e5 or 100000000. - + Breaks (SIGINT) Mixxx, if a DEBUG_ASSERT evaluates to false. Under a debugger you can continue afterwards. - + Overrides the default application GUI style. Possible values: %1 - + Load the specified music file(s) at start-up. Each file you specify will be loaded into the next virtual deck. - + Preview rendered controller screens in the Setting windows. @@ -978,2557 +991,2585 @@ trace - Above + Profiling messages ControlPickerMenu - + Headphone Output Ieșire căști - - - + + + + Deck %1 + %1 is the deck number 1 ... 4 Deck %1 - + Sampler %1 Sampler %1 - + Preview Deck %1 Previzualizare Deck %1 - + Microphone %1 Microfon %1 - + Auxiliary %1 Auxiliar %1 - + Reset to default Restabilește la implicit - + Effect Rack %1 Rack efect %1 - + Parameter %1 Parametru %1 - + Mixer Mixer - - + + Crossfader Crossfader - + Headphone mix (pre/main) Mixer căști (pre/main) - + Toggle headphone split cueing - + Headphone delay Întârziere căști - + Transport Transport - + Strip-search through track Navigare bandă prin pistă - + Play button Buton redare - - + + Set to full volume Configurează la volum maxim - - + + Set to zero volume Configurează la volum 0 - + Stop button Buton oprire - + Jump to start of track and play Sări la sfârșitul pistei și redă - + Jump to end of track Sări la sfârșitul pistei - + Reverse roll (Censor) button - + Headphone listen button Buton ascultare în căști - - + + Mute button Buton amuțire - + Toggle repeat mode Comută modul repetare - - + + Mix orientation (e.g. left, right, center) Orientare mixer (ex.-stânga,-dreapta,-centru) - - + + Set mix orientation to left Configurează orientarea mixerului la stânga - - + + Set mix orientation to center Configurează orientarea mixerului la centru - - + + Set mix orientation to right Configurează orientarea mixerului la dreapta - + Toggle slip mode Comută modul adormire - - + + BPM BPM - + Increase BPM by 1 Mărește BPM cu 1 - + Decrease BPM by 1 Scade BPM cu 1 - + Increase BPM by 0.1 Mărește BPM cu 0,1 - + Decrease BPM by 0.1 Scade BPM cu 0,1 - + BPM tap button - + Toggle quantize mode Comută mod cuantificare - + One-time beat sync (tempo only) Sincronizare bătaie o singură dată (numai tempo) - + One-time beat sync (phase only) Sincronizare bătaie o singură dată (numai fază) - + Toggle keylock mode Comută mod keylock - + Equalizers Egalizatoare - + Vinyl Control Control disc vinil - + Toggle vinyl-control cueing mode (OFF/ONE/HOT) - + Toggle vinyl-control mode (ABS/REL/CONST) Comută mod control disc vinil (ABS/REL/CONST) - + Pass through external audio into the internal mixer Trece audio extern în mixerul intern - + Cues Cue - + Cue button Buton cue - + Set cue point Configurare punct cue - + Go to cue point Mergi la punct cue - + Go to cue point and play Mergi la punct cue și redă - + Go to cue point and stop Mergi la punct cue și oprește - + Preview from cue point Previzualizare de la punct cue - + Cue button (CDJ mode) Buton cue (mod CDJ) - + Stutter cue - + Hotcues Hotcue - + Set, preview from or jump to hotcue %1 Configurează, previzualizează de la sau sari la hotcue %1 - + Clear hotcue %1 Curăță hotcue %1 - + Set hotcue %1 Configurează hotcue %1 - + Jump to hotcue %1 Sări la hotcue %1 - + Jump to hotcue %1 and stop Sări la hotcue %1 și oprește - + Jump to hotcue %1 and play Sări la hotcue %1 și redă - + Preview from hotcue %1 Previzualizează hotcue %1 - - + + Hotcue %1 Hotcue %1 - + Looping Repetă în buclă - + Loop In button Buton începere buclă - + Loop Out button Buton terminare buclă - + Loop Exit button Buton ieșire buclă - + 1/2 1/2 - + 1 1 - + 2 2 - + 4 4 - + 8 8 - + 16 16 - + 32 32 - + 64 64 - + Move loop forward by %1 beats Mută bucla înainte cu %1 bătăi - + Move loop backward by %1 beats Mută bucla înapoi cu %1 bătăi - + Create %1-beat loop Creează buclă de %1 bătăi - + Create temporary %1-beat loop roll Creează o buclă temporară de %1 bătăi - + Library Bibliotecă - + Slot %1 Slotul %1 - + Headphone Mix Mixer căști - + Headphone Split Cue - + Headphone Delay Întârziere căști - + Play Redare - + Fast Rewind Derulare rapidă înapoi - + Fast Rewind button Buton derulare rapidă înapoi - + Fast Forward Derulare rapidă înainte - + Fast Forward button Buton derulare rapidă înainte - + Strip Search Căutare bandă - + Play Reverse Redare invers - + Play Reverse button Buton redare invers - + Reverse Roll (Censor) - + Jump To Start Sări la pornire - + Jumps to start of track Sări la pornirea pistei - + Play From Start Redă de la pornire - + Stop Oprire - + Stop And Jump To Start Oprește și sări la pornire - + Stop playback and jump to start of track Oprește redarea și sări la începutul pistei - + Jump To End Sări la final - + Volume Volum - - - + + + Volume Fader Fader Volume - - + + Full Volume Volum total - - + + Zero Volume Volum zero - + Track Gain Câștig pistă - + Track Gain knob Buton câștig pistă - - + + Mute Amuțire - + Eject Scoate - - + + Headphone Listen Ascultare în căști - + Headphone listen (pfl) button Buton ascultare în căști (pfl) - + Repeat Mode Mod repetare - + Slip Mode Mod adormire - - + + Orientation Orientare - - + + Orient Left Orientare stânga - - + + Orient Center Orientare centru - - + + Orient Right Orientare dreapta - + BPM +1 BPM +1 - + BPM -1 BPM -1 - + BPM +0.1 BPM +0.1 - + BPM -0.1 BPM -0.1 - + BPM Tap BPM Manual - + Adjust Beatgrid Faster +.01 Ajustează grila bătaie mai repede +.01 - + Increase track's average BPM by 0.01 Mărește media BPM a pistei cu 0.01 - + Adjust Beatgrid Slower -.01 Ajustează grila bătaie mai lent -.01 - + Decrease track's average BPM by 0.01 Descrește media BPM a pistei cu 0.01 - + Move Beatgrid Earlier Mută grila bătaie mai devreme - + Adjust the beatgrid to the left Ajustează grila bătaie la stânga - + Move Beatgrid Later Mută grila bătaie mai târziu - + Adjust the beatgrid to the right Ajustează la dreapta grila bătaie - + Adjust Beatgrid Ajustare grilă bătaie - + Align beatgrid to current position Aliniază grila bătaie la poziția curentă - + Adjust Beatgrid - Match Alignment Ajustează grila bătaie - Potrivește aliniament - + Adjust beatgrid to match another playing deck. Ajustează grila bătaie să se potrivească cu alt deck care redă. - + Quantize Mode Mod cuantificare - + Sync Sincronizare - + Beat Sync One-Shot Sincronizează bătaia o singură dată - + Sync Tempo One-Shot Sincronizează tempo o singură dată - + Sync Phase One-Shot Sincronizează faza o singură dată - + Pitch control (does not affect tempo), center is original pitch Control pitch (nu afectează tempo), la centru este pitch original - + Pitch Adjust Ajustare pitch - + Adjust pitch from speed slider pitch - + Match musical key Potrivește cheia muzicală - + Match Key Potrivește cheia - + Reset Key Resetează cheia - + Resets key to original Resetează cheia la original - + High EQ Egalizator înalte - + Mid EQ Egalizator medii - - + + Main Output - + Main Output Balance - + Main Output Delay - + Main Output Gain - + Low EQ Egalizator joase - + Toggle Vinyl Control Comută controlul disc vinil - + Toggle Vinyl Control (ON/OFF) Comută control disc vinil (Pornit/Oprit) - + Vinyl Control Mode Mod control disc vinil - + Vinyl Control Cueing Mode Control vinil mod cue - + Vinyl Control Passthrough - + Vinyl Control Next Deck Control disc vinil deck-ul următor - + Single deck mode - Switch vinyl control to next deck Mod deck unic - Comută controlul discului vinil la următorul deck - + Cue Cue - + Set Cue Configurare cue - + Go-To Cue Mergi la cue - + Go-To Cue And Play Mergi la cue și redă - + Go-To Cue And Stop Mergi la cue și oprește - + Preview Cue Previzualizare cue - + Cue (CDJ Mode) Cue (mod CDJ) - + Stutter Cue - + Go to cue point and play after release - + Clear Hotcue %1 Curăță hotcue %1 - + Set Hotcue %1 Configurează hotcue %1 - + Jump To Hotcue %1 Sări la hotcue %1 - + Jump To Hotcue %1 And Stop Sări la hotcue %1 și oprește - + Jump To Hotcue %1 And Play Sări la hotcue %1 și redă - + Preview Hotcue %1 Previzualizare hotcue %1 - + Loop In Intrare buclă - + Loop Out Ieșire buclă - + Loop Exit Ieșire buclă - + Reloop/Exit Loop Reluare/ieșire buclă - + Loop Halve Înjumătățește bucla - + Loop Double Buclă dublă - + 1/32 1/32 - + 1/16 1/16 - + 1/8 1/8 - + 1/4 1/4 - + Move Loop +%1 Beats Mută bucla cu +%1 bătăi - + Move Loop -%1 Beats Mută bucla cu -%1 bătăi - + Loop %1 Beats Buclă %1 bătăi - + Loop Roll %1 Beats - + Add to Auto DJ Queue (bottom) Adăugaţi în selecţia Auto DJ (jos) - + Append the selected track to the Auto DJ Queue Adaugă pistele selectate la Coada Auto DJ - + Add to Auto DJ Queue (top) Adăugaţi în selecţia Auto DJ (sus) - + Prepend selected track to the Auto DJ Queue - + Load Track Încarcă pista - + Load selected track Încarcă pista selectată - + Load selected track and play Încarcă pista selectată și redă - - + + Record Mix Mixer înregistrare - + Toggle mix recording Comută mixer înregistrare - + Effects Efecte - - Quick Effects - Efecte rapide - - - + Deck %1 Quick Effect Super Knob Super buton efect rapid Deck %1 - + + Quick Effect Super Knob (control linked effect parameters) Super buton efect rapid (control parametrii efecte legate) - - + + + + Quick Effect Efect rapid - + Clear Unit Curăță unitatea - + Clear effect unit Curăță unitatea efectelor - + Toggle Unit Comută unitatea - + Dry/Wet Uscat/umed - + Adjust the balance between the original (dry) and processed (wet) signal. - + Super Knob Super buton - + Next Chain Lanțul următor - + Assign Atribuie - + Clear Curăță - + Clear the current effect Curăță efectul curent - + Toggle Comutare - + Toggle the current effect Comută efectul curent - + Next Următor - + Switch to next effect Comută la efectul următor - + Previous Anterior - + Switch to the previous effect Comută la efectul anterior - + Next or Previous Următor sau anterior - + Switch to either next or previous effect Comută fie la următorul sau anteriorul efect - - + + Parameter Value Valoare parametru - - + + Microphone Ducking Strength Intensitate atenuare microfon - + Microphone Ducking Mode Mod atenuare microfon - + Gain Câștig - + Gain knob Buton câștig - + Shuffle the content of the Auto DJ queue - + Skip the next track in the Auto DJ queue - + Auto DJ Toggle Comutare DJ automat - + Toggle Auto DJ On/Off Comută Auto DJ Pornit/Oprit - + Show/hide the microphone & auxiliary section - + 4 Effect Units Show/Hide - + Switches between showing 2 and 4 effect units - + Mixer Show/Hide - + Show or hide the mixer. Arată sau ascunde mixer. - + Cover Art Show/Hide (Library) - + Show/hide cover art in the library - + Library Maximize/Restore Bibliotecă mărește/restaurează - + Maximize the track library to take up all the available screen space. Mărește spațiul bibliotecii pentru a acoperii tot spațiul disponibil al ecranului. - + Effect Rack Show/Hide Arată/ascunde rack efect - + Show/hide the effect rack Arată/ascunde rack-ul efectului - + Waveform Zoom Out Redu zoom formă de undă - + Headphone Gain Câștig căști - + Headphone gain Câștig căști - + Tap to sync tempo (and phase with quantize enabled), hold to enable permanent sync - + One-time beat sync tempo (and phase with quantize enabled) - + Playback Speed Viteză redare - + Playback speed control (Vinyl "Pitch" slider) Control viteză redare (Vinyl "Pitch" cursor) - + Pitch (Musical key) Pitch (Cheie muzicală) - + Increase Speed Mărește viteza - + Adjust speed faster (coarse) Ajustează viteza repede (brut) - + Increase Speed (Fine) Mărește viteza (Fin) - + Adjust speed faster (fine) Ajustează viteza rapid (fin) - + Decrease Speed Scade viteza - + Adjust speed slower (coarse) Ajustează viteza lent (brut) - + Adjust speed slower (fine) Ajustează viteza lent (fin) - + Temporarily Increase Speed Mărește viteza temporar - + Temporarily increase speed (coarse) Mărește viteza temporar (brut) - + Temporarily Increase Speed (Fine) Mărește viteza temporar (Fin) - + Temporarily increase speed (fine) Mărește viteza temporar (fin) - + Temporarily Decrease Speed Scade viteza temporar - + Temporarily decrease speed (coarse) Scade vitea temporar (brut) - + Temporarily Decrease Speed (Fine) Scade viteza temporar (Fin) - + Temporarily decrease speed (fine) Scade viteza temporar (fin) - - + + Adjust %1 Ajustare %1 - + + Deck %1 Stem %2 + + + + Effect Unit %1 - + Button Parameter %1 - + Skin Aspect aplicație - + Controller - + Crossfader / Orientation - + Main Output gain - + Main Output balance - + Main Output delay - + Headphone Căști - - + + Kill %1 + %1 is "Low EQ" "Mid EQ" or "High EQ" Omoară %1 - + Eject or un-eject track, i.e. reload the last-ejected track (of any deck)<br>Double-press to reload the last replaced track. In empty decks it reloads the second-last ejected track. - + BPM / Beatgrid - + Halve BPM - + Multiply current BPM by 0.5 - + 2/3 BPM - + Multiply current BPM by 0.666 - + 3/4 BPM - + Multiply current BPM by 0.75 - + 4/3 BPM - + Multiply current BPM by 1.333 - + 3/2 BPM - + Multiply current BPM by 1.5 - + Double BPM - + Multiply current BPM by 2 - + Tempo Tap - + Tempo tap button - + Move Beatgrid - + Adjust the beatgrid to the left or right - + Move Beatgrid Half a Beat - + Adjust the beatgrid by exactly one half beat. Usable only for tracks with constant tempo. - - + + Toggle the BPM/beatgrid lock - + Revert last BPM/Beatgrid Change - + Revert last BPM/Beatgrid Change of the loaded track. - + Sync / Sync Lock - + Internal Sync Leader - + Toggle Internal Sync Leader - - + + Internal Leader BPM - + Internal Leader BPM +1 - + Increase internal Leader BPM by 1 - + Internal Leader BPM -1 - + Decrease internal Leader BPM by 1 - + Internal Leader BPM +0.1 - + Increase internal Leader BPM by 0.1 - + Internal Leader BPM -0.1 - + Decrease internal Leader BPM by 0.1 - + Sync Leader - + Sync mode 3-state toggle / indicator (Off, Soft Leader, Explicit Leader) - + Speed - + Decrease Speed (Fine) - + Pitch (Musical Key) - + Increase Pitch - + Increases the pitch by one semitone - + Increase Pitch (Fine) - + Increases the pitch by 10 cents - + Decrease Pitch - + Decreases the pitch by one semitone - + Decrease Pitch (Fine) - + Decreases the pitch by 10 cents - + Keylock - + CUP (Cue + Play) - + Shift cue points earlier - + Shift cue points 10 milliseconds earlier - + Shift cue points earlier (fine) - + Shift cue points 1 millisecond earlier - + Shift cue points later - + Shift cue points 10 milliseconds later - + Shift cue points later (fine) - + Shift cue points 1 millisecond later - - + + Sort hotcues by position - - + + Sort hotcues by position (remove offsets) - + Hotcues %1-%2 - + Intro / Outro Markers - + Intro Start Marker - + Intro End Marker - + Outro Start Marker - + Outro End Marker - + intro start marker - + intro end marker - + outro start marker - + outro end marker - + Activate %1 [intro/outro marker - + Jump to or set the %1 [intro/outro marker - + Set %1 [intro/outro marker - + Set or jump to the %1 [intro/outro marker - + Clear %1 [intro/outro marker - + Clear the %1 [intro/outro marker - + if the track has no beats the unit is seconds - + Loop Selected Beats - + Create a beat loop of selected beat size - + Loop Roll Selected Beats - + Create a rolling beat loop of selected beat size - + Loop %1 Beats set from its end point - + Loop Roll %1 Beats set from its end point - + Create %1-beat loop with the current play position as loop end - + Create temporary %1-beat loop roll with the current play position as loop end - + Loop Beats - + Loop Roll Beats - + Go To Loop In - + Go to Loop In button - + Go To Loop Out - + Go to Loop Out button - + Toggle loop on/off and jump to Loop In point if loop is behind play position - + Reloop And Stop - + Enable loop, jump to Loop In point, and stop - + Halve the loop length Înjumătățește lungimea buclei - + Double the loop length Dublează lungimea buclei - + Beat Jump / Loop Move - + Jump / Move Loop Forward %1 Beats - + Jump / Move Loop Backward %1 Beats - + Jump forward by %1 beats, or if a loop is enabled, move the loop forward %1 beats - + Jump backward by %1 beats, or if a loop is enabled, move the loop backward %1 beats - + Beat Jump / Loop Move Forward Selected Beats - + Jump forward by the selected number of beats, or if a loop is enabled, move the loop forward by the selected number of beats - + Beat Jump / Loop Move Backward Selected Beats - + Jump backward by the selected number of beats, or if a loop is enabled, move the loop backward by the selected number of beats - + Beat Jump - + Indicate which loop marker remain static when adjusting the size or is inherited from the current position - + Beat Jump / Loop Move Forward - + Beat Jump / Loop Move Backward - + Loop Move Forward - + Loop Move Backward - + Remove Temporary Loop - + Remove the temporary loop - + Navigation Navigare - + Move up Mută în sus - + Equivalent to pressing the UP key on the keyboard Echivalent cu apăsarea tastei UP pe tastatură - + Move down Mută în jos - + Equivalent to pressing the DOWN key on the keyboard Echivalent cu apăsarea tastei DOWN pe tastatură - + Move up/down Mută în sus/jos - + Move vertically in either direction using a knob, as if pressing UP/DOWN keys - + Scroll Up Derulează în sus - + Equivalent to pressing the PAGE UP key on the keyboard Echivalent cu apăsarea tastei PAGE UP pe tastatură - + Scroll Down Derulează în jos - + Equivalent to pressing the PAGE DOWN key on the keyboard Echivalent cu apăsarea tastei PAGE DOWN pe tastatură - + Scroll up/down - + Scroll vertically in either direction using a knob, as if pressing PGUP/PGDOWN keys - + Move left - + Equivalent to pressing the LEFT key on the keyboard - + Move right - + Equivalent to pressing the RIGHT key on the keyboard - + Move left/right - + Move horizontally in either direction using a knob, as if pressing LEFT/RIGHT keys - + Move focus to right pane - + Equivalent to pressing the TAB key on the keyboard - + Move focus to left pane - + Equivalent to pressing the SHIFT+TAB key on the keyboard - + Move focus to right/left pane - + Move focus one pane to right or left using a knob, as if pressing TAB/SHIFT+TAB keys - + Sort focused column - + Sort the column of the cell that is currently focused, equivalent to clicking on its header - + Go to the currently selected item - + Choose the currently selected item and advance forward one pane if appropriate - + Load Track and Play - + Add to Auto DJ Queue (replace) - + Replace Auto DJ Queue with selected tracks - + Select next search history - + Selects the next search history entry - + Select previous search history - + Selects the previous search history entry - + Move selected search entry - + Moves the selected search history item into given direction and steps - + Clear search - + Clears the search query - - + + Select Next Color Available - + Select the next color in the color palette for the first selected track - - + + Select Previous Color Available - + Select the previous color in the color palette for the first selected track - + + Quick Effects Deck %1 + + + + Deck %1 Quick Effect Enable Button - + + Quick Effect Enable Button - + + Deck %1 Stem %2 Quick Effect Super Knob + + + + + Deck %1 Stem %2 Quick Effect Enable Button + + + + Enable or disable effect processing Activează sau dezactivează procesarea efectului - + Super Knob (control effects' Meta Knobs) - + Mix Mode Toggle - + Toggle effect unit between D/W and D+W modes - + Next chain preset Preconfigurare lanț următor - + Previous Chain Lanț anterior - + Previous chain preset Anterioara preconfigurare lanț - + Next/Previous Chain Următorul/Anteriorul lanț - + Next or previous chain preset Preconfigurare lanț următoare sau anterioară - - + + Show Effect Parameters - + Effect Unit Assignment - + Meta Knob - + Effect Meta Knob (control linked effect parameters) - + Meta Knob Mode - + Set how linked effect parameters change when turning the Meta Knob. - + Meta Knob Mode Invert - + Invert how linked effect parameters change when turning the Meta Knob. - - + + Button Parameter Value - + Microphone / Auxiliary Microfon / Auxiliar - + Microphone On/Off Microfon pornit/oprit - + Microphone on/off Microfon pornit/oprit - + Toggle microphone ducking mode (OFF, AUTO, MANUAL) Comută mod atenuare microfon (OPRIT, AUTO, MANUAL) - + Auxiliary On/Off Auxiliar pornit/oprit - + Auxiliary on/off Auxiliar pornit/oprit - + Auto DJ Auto DJ - + Auto DJ Shuffle Amestecă Auto DJ - + Auto DJ Skip Next Auto DJ omite următoarea - + Auto DJ Add Random Track - + Add a random track to the Auto DJ queue - + Auto DJ Fade To Next Estompare DJ automat la următoarea - + Trigger the transition to the next track Comută tranziția următoarei piste - + User Interface Interfaţă utilizator - + Samplers Show/Hide Arată/ascunde samplere - + Show/hide the sampler section Arată/ascunde secțiunea sampler - + Microphone && Auxiliary Show/Hide keep double & to prevent creation of keyboard accelerator - + Waveform Zoom Reset To Default - + Reset the waveform zoom level to the default value selected in Preferences -> Waveforms - + Select the next color in the color palette for the loaded track. - + Select previous color in the color palette for the loaded track. - + Navigate Through Track Colors - + Select either next or previous color in the palette for the loaded track. - + Start/Stop Live Broadcasting - + Stream your mix over the Internet. - + Start/stop recording your mix. - - + + + Deck %1 Stems + + + + + Samplers - + Vinyl Control Show/Hide Arată/ascunde controlul disc vinil - + Show/hide the vinyl control section Arată/ascunde secțiunea control disc vinil - + Preview Deck Show/Hide Arată/ascunde previzualizare deck - + Show/hide the preview deck Arată/ascunde previzualizarea deck-ului - + Toggle 4 Decks Comută 4 Decuri - + Switches between showing 2 decks and 4 decks. Comută între 2 decuri sau 4 decuri. - + Cover Art Show/Hide (Decks) - + Show/hide cover art in the main decks - + Vinyl Spinner Show/Hide Arată/ascunde rotire disk vinil - + Show/hide spinning vinyl widget Arată/ascunde control rotire disc vinil - + Vinyl Spinners Show/Hide (All Decks) - + Show/Hide all spinnies - + Toggle Waveforms - + Show/hide the scrolling waveforms. - + Waveform zoom Zoom formă de undă - + Waveform Zoom Zoom formă de undă - + Zoom waveform in Mărește zoom formă de undă - + Waveform Zoom In Mărește zoom formă de undă - + Zoom waveform out Redu zoom formă de undă - + Star Rating Up - + Increase the track rating by one star - + Star Rating Down - + Decrease the track rating by one star @@ -3541,6 +3582,159 @@ trace - Above + Profiling messages + + ControllerHidReportTabsManager + + + Read + + + + + Send + + + + + Payload Size + + + + + bytes + + + + + Byte Position + + + + + Bit Position + + + + + Bit Size + + + + + Logical Min + + + + + Logical Max + + + + + Value + + + + + Physical Min + + + + + Physical Max + + + + + Unit Scaling + + + + + Unit + + + + + Abs/Rel + + + + + + Wrap + + + + + + Linear + + + + + + Preferred + + + + + + Null + + + + + + Volatile + + + + + Usage Page + + + + + Usage + + + + + Relative + + + + + Absolute + + + + + No Wrap + + + + + Non Linear + + + + + No Preferred + + + + + No Null + + + + + Non Volatile + + + ControllerInputMappingTableModel @@ -3676,27 +3870,27 @@ trace - Above + Profiling messages ControllerScriptEngineLegacy - + Controller Mapping File Problem - + The mapping for controller "%1" cannot be opened. - + The functionality provided by this controller mapping will be disabled until the issue has been resolved. - + File: - + Error: @@ -3729,7 +3923,7 @@ trace - Above + Profiling messages - + Lock Blochează @@ -3759,7 +3953,7 @@ trace - Above + Profiling messages Sursă pistă Auto DJ - + Enter new name for crate: Introduceți numele nou pentru colecție: @@ -3776,22 +3970,22 @@ trace - Above + Profiling messages Importă colecție - + Export Crate Exportă colecție - + Unlock Deblochează - + An unknown error occurred while creating crate: A apărut o eroare la crearea colecției: - + Rename Crate Redenumește colecția @@ -3801,28 +3995,28 @@ trace - Above + Profiling messages - + Confirm Deletion - - + + Renaming Crate Failed Redenumirea colecției a eșuat - + Crate Creation Failed - + M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Text CSV (*.csv);;Readable Text (*.txt) M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Text CSV (*.csv);;Text lizibil (*.txt) - + M3U Playlist (*.m3u) Listă de redare M3U (*.m3u) @@ -3843,17 +4037,17 @@ trace - Above + Profiling messages Colecțiile vă permit să organizați muzica oricum vă place! - + Do you really want to delete crate <b>%1</b>? - + A crate cannot have a blank name. O colecție nu poate fi nedenumită. - + A crate by that name already exists. Există o colecție cu acest nume. @@ -3948,12 +4142,12 @@ trace - Above + Profiling messages Foști contribuitori - + Official Website - + Donate @@ -4740,122 +4934,139 @@ You tried to learn: %1,%2 DlgPrefBroadcast - + Icecast 2 Icecast 2 - + Shoutcast 1 Shoutcast 1 - + Icecast 1 Icecast 1 - + MP3 MP3 - + Ogg Vorbis Ogg Vorbis - + Opus - + AAC AAC - + HE-AAC - + HE-AACv2 - + Automatic - + Mono Mono - + Stereo Stereo - - - - + + Saving settings failed + + + + + The password for '%1' contains invalid characters. Please enter it again. + +Note: This can for example be invisible linebreaks when using copy/paste. + + + + + + Action failed Acțiune eșuată - + You can't create more than %1 source connections. - + Source connection %1 - + + Settings for %1 + Settings for broadcast profile, %1 is the profile name placeholder + + + + At least one source connection is required. - + Are you sure you want to disconnect every active source connection? - - + + Confirmation required - + '%1' has the same Icecast mountpoint as '%2'. Two source connections to the same server that have the same mountpoint can not be enabled simultaneously. - + Are you sure you want to delete '%1'? - + Renaming '%1' - + New name for '%1': - + Can't rename '%1' to '%2': name already in use @@ -4868,27 +5079,27 @@ Two source connections to the same server that have the same mountpoint can not Preferințe transmisie live - + Mixxx Icecast Testing Testare Mixxx Icecast - + Public stream Flux public - + http://www.mixxx.org http://www.mixxx.org - + Stream name Nume flux - + Due to flaws in some streaming clients, updating Ogg Vorbis metadata dynamically can cause listener glitches and disconnections. Check this box to update the metadata anyway. Din cauza defectelor din unii clienți de streaming, actualizarea dinamică a metadatelor Ogg Vorbis poate cauza întreruperi în ascultare sau deconectări. Apăsați această casetă pentru actualizarea metadatelor oricum. @@ -4928,67 +5139,72 @@ Two source connections to the same server that have the same mountpoint can not - + + Available fields: $artist, $title, $year, $album, $genre, $bpm + + + + Dynamically update Ogg Vorbis metadata. Actualizare dinamică metadate Ogg Vorbis. - + ICQ - + AIM - + Website Website - + Live mix Mixare live - + IRC IRC - + Select a source connection above to edit its settings here - + Password storage - + Plain text - + Secure storage (OS keychain) - + Genre Gen - + Use UTF-8 encoding for metadata. Utilizați codarea UTF-8 pentru metadate. - + Description Descriere @@ -5014,42 +5230,42 @@ Two source connections to the same server that have the same mountpoint can not Canale - + Server connection Conexiune server - + Type Tip - + Host Gazdă - + Login Autentificare - + Mount Montează - + Port Port - + Password Parolă - + Stream info @@ -5059,17 +5275,17 @@ Two source connections to the same server that have the same mountpoint can not - + Use static artist and title. - + Static title - + Static artist @@ -5128,13 +5344,14 @@ Two source connections to the same server that have the same mountpoint can not DlgPrefColors - - + + + By hotcue number - + Color @@ -5179,17 +5396,22 @@ Two source connections to the same server that have the same mountpoint can not + Jump default color + + + + When key colors are enabled, Mixxx will display a color hint associated with each key. - + Enable Key Colors - + Key palette @@ -5197,114 +5419,114 @@ associated with each key. DlgPrefController - + Apply device settings? Se aplică configurările dispozitivului? - + Your settings must be applied before starting the learning wizard. Apply settings and continue? Configurările trebuie aplicate înaintea pornirii asistentului de învățare. Se aplică configurările și se continuă? - + None Niciuna - + %1 by %2 %1 cu %2 - + Mapping has been edited - + Always overwrite during this session - + Save As - + Overwrite - + Save user mapping - + Enter the name for saving the mapping to the user folder. - + Saving mapping failed - + A mapping cannot have a blank name and may not contain special characters. - + A mapping file with that name already exists. - + Do you want to save the changes? - + Troubleshooting Depanarea - + <font color='#BB0000'><b>If you use this mapping your controller may not work correctly. Please select another mapping or disable the controller.</b></font><br><br>This mapping was designed for a newer Mixxx Controller Engine and cannot be used on your current Mixxx installation.<br>Your Mixxx installation has Controller Engine version %1. This mapping requires a Controller Engine version >= %2.<br><br>For more information visit the wiki page on <a href='https://mixxx.org/wiki/doku.php/controller_engine_versions'>Controller Engine Versions</a>. - + Mapping already exists. - + <b>%1</b> already exists in user mapping folder.<br>Overwrite or save with a new name? - + Clear Input Mappings Curăță mapările de intrare - + Are you sure you want to clear all input mappings? Sigur doriți să curățați toate mapările de intrare? - + Clear Output Mappings Curăță mapări de ieșire - + Are you sure you want to clear all output mappings? Sigur doriți să curățați toate mapările de ieșire? @@ -5322,100 +5544,105 @@ Se aplică configurările și se continuă? Activat - + + Refresh mapping list + + + + Device Info - + Physical Interface: - + Vendor name: - + Product name: - + Vendor ID - + VID: - + Product ID - + PID: - + Serial number: - + USB interface number: - + HID Usage-Page: - + HID Usage: - + Description: Descriere: - + Support: Asistență: - + Screens preview - + Input Mappings Mapări de intrare - - + + Search Căutare - - + + Add Adaugă - - + + Remove Elimină @@ -5435,17 +5662,17 @@ Se aplică configurările și se continuă? - + Mapping Info - + Author: Autor: - + Name: Nume: @@ -5455,28 +5682,28 @@ Se aplică configurările și se continuă? Asistent învățare (numai MIDI) - + Data protocol: - + Mapping Files: - + Mapping Settings - - + + Clear All Curăță tot - + Output Mappings Mapări de ieșire @@ -5491,21 +5718,21 @@ Se aplică configurările și se continuă? - Mixxx uses "mappings" to connect messages from your controller to controls in Mixxx. If you do not see a mapping for your controller in the "Load Mapping" menu when you click on your controller on the left sidebar, you may be able to download one online from the %1. Place the XML (.xml) and Javascript (.js) file(s) in the "User Mapping Folder" then restart Mixxx. If you download a mapping in a ZIP file, extract the XML and Javascript file(s) from the ZIP file to your "User Mapping Folder" then restart Mixxx. + Mixxx uses "mappings" to connect messages from your controller to controls in Mixxx. If you do not see a mapping for your controller in the "Load Mapping" menu when you click on your controller on the left sidebar, you may be able to download one online from the %1. Place the XML (.xml) and Javascript (.js) file(s) in the "User Mapping Folder" then click the Reload button next to the mapping selector to reload all available mappings. If you download a mapping in a ZIP file, extract the XML and Javascript file(s) from the ZIP file to your "User Mapping Folder" then click the Reload button. - + Mixxx DJ Hardware Guide - + MIDI Mapping File Format - + MIDI Scripting with Javascript @@ -5674,137 +5901,137 @@ Se aplică configurările și se continuă? DlgPrefDeck - + Mixxx mode Mod Mixxx - + Mixxx mode (no blinking) Mod Mixxx (fără clipire) - + Pioneer mode Mod Pioneer - + Denon mode Mod Denon - + Numark mode Mod Numark - + CUP mode - + mm:ss%1zz - Traditional - + mm:ss - Traditional (Coarse) - + s%1zz - Seconds - + sss%1zz - Seconds (Long) - + s%1sss%2zz - Kiloseconds - + Intro start - + Main cue - + First hotcue - + First sound (skip silence) - + Beginning of track - + Reject - + Allow, but stop deck - + Allow, play from load point - + 4% 4% - + 6% (semitone) 6% (semiton) - + 8% (Technics SL-1210) 8% (Technics SL-1210) - + 10% 10% - + 16% 16% - + 24% 24% - + 50% 50% - + 90% 90% @@ -6241,57 +6468,57 @@ You can always drag-and-drop tracks on screen to clone a deck. Dimensiunea minimă a aspectului aplicației este mai mare decât rezoluția ecranului. - + Allow screensaver to run - + Prevent screensaver from running - + Prevent screensaver while playing - + Disabled - + 2x MSAA - + 4x MSAA - + 8x MSAA - + 16x MSAA - + This skin does not support color schemes Acest aspect aplicație nu suportă scheme de culoare - + Information Informație - + Mixxx must be restarted before the new locale, scaling or multi-sampling settings will take effect. @@ -6518,67 +6745,97 @@ and allows you to pitch adjust them for harmonic mixing. - + Music Directory Added Directorul Muzică s-a adăugat - + You added one or more music directories. The tracks in these directories won't be available until you rescan your library. Would you like to rescan now? Ați adăugat unul sau mai multe directoare. Pistele din aceste directoare nu vor fi disponibile până ce nu veți rescana biblioteca. Doriți să fie rescanată acum? - + Scan Scanare - + Item is not a directory or directory is missing - + Choose a music directory Alegeți un director cu muzică - + Confirm Directory Removal Confirmați eliminarea directorului - + Mixxx will no longer watch this directory for new tracks. What would you like to do with the tracks from this directory and subdirectories?<ul><li>Hide all tracks from this directory and subdirectories.</li><li>Delete all metadata for these tracks from Mixxx permanently.</li><li>Leave the tracks unchanged in your library.</li></ul>Hiding tracks saves their metadata in case you re-add them in the future. - + Metadata means all track details (artist, title, playcount, etc.) as well as beatgrids, hotcues, and loops. This choice only affects the Mixxx library. No files on disk will be changed or deleted. - + Hide Tracks Ascunde pistele - + Delete Track Metadata Șterge metadatele pistei - + Leave Tracks Unchanged Lasă pistele nemodificate - + Relink music directory to new location Reconectează directorul cu muzică la noua locație - + + Black + + + + + ExtraBold + + + + + Bold + + + + + SemiBold + + + + + Medium + + + + + Light + + + + Select Library Font Selectați fontul bibliotecii @@ -6627,262 +6884,267 @@ and allows you to pitch adjust them for harmonic mixing. - + Audio File Formats Formatul fișierelor audio - + Track Table View - + Track Double-Click Action: - + BPM display precision: - + Session History - + Track duplicate distance - + When playing a track again log it to the session history only if more than N other tracks have been played in the meantime - + History playlist with less than N tracks will be deleted<br/><br/>Note: the cleanup will be performed during startup and shutdown of Mixxx. - + Delete history playlist with less than N tracks - + Library Font: Font bibliotecă: - + + Show scan summary dialog + + + + Grey out played tracks - + Track Search - + Enable search completions - + Enable search history keyboard shortcuts - + Percentage of pitch slider range for 'fuzzy' BPM search: - + This range will be used for the 'fuzzy' BPM search (~bpm:) via the search box, as well as for BPM search in Track context menu > Search related Tracks - + Preferred Cover Art Fetcher Resolution - + Fetch cover art from coverartarchive.com by using Import Metadata From Musicbrainz. - + Note: ">1200 px" can fetch up to very large cover arts. - + >1200 px (if available) - + 1200 px (if available) - + 500 px - + 250 px - + Settings Directory - + The Mixxx settings directory contains the library database, various configuration files, log files, track analysis data, as well as custom controller mappings. - + Edit those files only if you know what you are doing and only while Mixxx is not running. - + Open Mixxx Settings Folder - + Library Row Height: Înălțime rând bibliotecă: - + Use relative paths for playlist export if possible Utilizați căile relative pentru exportul listei de redare dacă este posibil - + ... ... - + px px - + Synchronize library track metadata from/to file tags - + Automatically write modified track metadata from the library into file tags and reimport metadata from updated file tags into the library - + Synchronize Serato track metadata from/to file tags (experimental) - + Keeps track color, beat grid, bpm lock, cue points, and loops synchronized with SERATO_MARKERS/MARKERS2 file tags.<br/><br/>WARNING: Enabling this option also enables the reimport of Serato metadata after files have been modified outside of Mixxx. On reimport existing metadata in Mixxx is replaced with the metadata found in file tags. Custom metadata not included in file tags like loop colors is lost. - + Edit metadata after clicking selected track - + Search-as-you-type timeout: - + ms ms - + Load track to next available deck Încarcă pista la următorul deck disponibil - + External Libraries Biblioteci externe - + You will need to restart Mixxx for these settings to take effect. Va trebui să reporniți Mixxx pentru ca aceste configurări să aibă efect. - + Show Rhythmbox Library Arată biblioteca Rhythmbox - + Track Metadata Synchronization / Playlists - + Add track to Auto DJ queue (bottom) - + Add track to Auto DJ queue (top) - + Ignore - + Show Banshee Library Arată biblioteca Banshee - + Show iTunes Library Arată biblioteca iTunes - + Show Traktor Library Arată biblioteca Traktor - + Show Rekordbox Library - + Show Serato Library - + All external libraries shown are write protected. Toate bibliotecile arătate sunt protejate la scriere. @@ -7228,33 +7490,33 @@ and allows you to pitch adjust them for harmonic mixing. DlgPrefRecord - + Choose recordings directory Alegeți directorul înregistrări - - + + Recordings directory invalid - + Recordings directory must be set to an existing directory. - + Recordings directory must be set to a directory. - + Recordings directory not writable - + You do not have write access to %1. Choose a recordings directory you have write access to. @@ -7272,43 +7534,55 @@ and allows you to pitch adjust them for harmonic mixing. Răsfoire... - - + + This will include the filepath for each track in the CUE file. +This option makes the CUE file less portable and can reveal personal +information from filepaths (i.e. username) + + + + + Enable File Annotation in CUE file + + + + + Quality Calitate - + Tags Etichete - + Title Titlu - + Author Autor - + Album Album - + Output File Format - + Compression - + Lossy @@ -7323,12 +7597,12 @@ and allows you to pitch adjust them for harmonic mixing. - + Compression Level - + Lossless @@ -7459,172 +7733,177 @@ The loudness target is approximate and assumes track pregain and main output lev DlgPrefSound - + %1 Hz %1 Hz - + Default (long delay) Implicit (întârziere lungă) - + Experimental (no delay) Experimental (fără întârziere) - + Disabled (short delay) Dezactivat (întârziere scurtă) - + Soundcard Clock - + Network Clock - + Direct monitor (recording and broadcasting only) - + Disabled Dezactivat - + Enabled Activat - + Stereo Stereo - + Mono Mono - + To enable Realtime scheduling (currently disabled), see the %1. - + The %1 lists sound cards and controllers you may want to consider for using Mixxx. - + Mixxx DJ Hardware Guide - + + Find details in the Mixxx user manual + + + + Information - + Mixxx must be restarted before the multi-threaded RubberBand setting change will take effect. - + auto (<= 1024 frames/period) - + 2048 frames/period - + 4096 frames/period - + Are you sure? - + Distribute stereo channels into mono channels for parallel processing will result in a loss of mono compatibility and a diffuse stereo image. It is not recommended during broadcasting or recording. - + Are you sure you wish to proceed? - + No - + Yes, I know what I am doing - + Microphone inputs are out of time in the record & broadcast signal compared to what you hear. - + Measure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. - + Refer to the Mixxx User Manual for details. - + Configured latency has changed. - + Remeasure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. - + Realtime scheduling is enabled. - + Main output only - + Main and booth outputs - + %1 ms %1 ms - + Configuration error Eroare de configurație @@ -7691,17 +7970,22 @@ The loudness target is approximate and assumes track pregain and main output lev ms - + + Deck and Bus outputs are for external mixers. They are post-fader and include effects and crossfader (for Auto DJ). For external mixing, make sure all Mixxx faders and EQ knobs are set to their default position (right- or double-click). + + + + 20 ms 20 ms - + Buffer Underflow Count - + 0 0 @@ -7726,12 +8010,12 @@ The loudness target is approximate and assumes track pregain and main output lev Intrare - + System Reported Latency - + Enlarge your audio buffer if the underflow counter is increasing or you hear pops during playback. @@ -7761,7 +8045,7 @@ The loudness target is approximate and assumes track pregain and main output lev Sfaturi și diagnosticuri - + Downsize your audio buffer to improve Mixxx's responsiveness. Scădeți dimensiunea tamponului audio pentru a îmbunătății reacția de răspuns Mixxx. @@ -7808,7 +8092,7 @@ The loudness target is approximate and assumes track pregain and main output lev Configurare disc vinil - + Show Signal Quality in Skin Arată calitatea semnalului în aspectul aplicației @@ -7844,46 +8128,51 @@ The loudness target is approximate and assumes track pregain and main output lev + Pitch estimator + + + + Deck 1 Deck 1 - + Deck 2 Deck 2 - + Deck 3 - + Deck 4 - + Signal Quality Calitate semnal - + http://www.xwax.co.uk http://www.xwax.co.uk - + Powered by xwax Realizat de xwax - + Hints Sfaturi - + Select sound devices for Vinyl Control in the Sound Hardware pane. Selectați dispozitivele de sunet pentru controlul discului de vinil în panoul dispozitive de sunet. @@ -7891,58 +8180,58 @@ The loudness target is approximate and assumes track pregain and main output lev DlgPrefWaveform - + Filtered Filtrat - + HSV HSV - + RGB RGB - + Top - + Center - + Bottom - + 1/3 of waveform viewer options for "Text height limit" - + Entire waveform viewer - + OpenGL not available OpenGL nu este disponibil - + dropped frames cadre omise - + Cached waveforms occupy %1 MiB on disk. @@ -7960,22 +8249,17 @@ The loudness target is approximate and assumes track pregain and main output lev Rată de cadre - + OpenGL Status - + Displays which OpenGL version is supported by the current platform. Afișează ce versiune de OpenGL este suportată de platforma curentă. - - Normalize waveform overview - Normalizează vedere generală formă de undă - - - + Average frame rate Medie rată de cadre @@ -7991,7 +8275,7 @@ The loudness target is approximate and assumes track pregain and main output lev Nivel implicit zoom - + Displays the actual frame rate. Afișează rata de cadre actuală. @@ -8026,7 +8310,7 @@ The loudness target is approximate and assumes track pregain and main output lev Scăzută - + Show minute markers on waveform overview @@ -8071,7 +8355,7 @@ The loudness target is approximate and assumes track pregain and main output lev Câștig vizual global - + The waveform overview shows the waveform envelope of the entire track. Select from different types of displays for the waveform overview, which differ primarily in the level of detail shown in the waveform. @@ -8138,22 +8422,22 @@ Select from different types of displays for the waveform, which differ primarily - + Caching - + Mixxx caches the waveforms of your tracks on disk the first time you load a track. This reduces CPU usage when you are playing live but requires extra disk space. - + Enable waveform caching - + Generate waveforms when analyzing library @@ -8169,7 +8453,7 @@ Select from different types of displays for the waveform, which differ primarily - + Type @@ -8189,22 +8473,68 @@ Select from different types of displays for the waveform, which differ primarily % - - Play marker position + + Play marker position + + + + + Moves the play marker position on the waveforms to the left, right or center (default). + + + + + Stem + + + + + Channel opacity + + + + + Channel opacity (outline) + + + + + Main stem opacity + + + + + Outline stem opacity + + + + + Move channel to foreground when volume is adjusted + + + + + Overview Waveforms - - Moves the play marker position on the waveforms to the left, right or center (default). + + Gain - - Overview Waveforms + + Normalize to peak + + + + + Use Waveform "Global" gain and ReplayGain (if enabled) + 'Global' refers to the 'Global' visual gain in the scrolling waveform settings - + Clear Cached Waveforms @@ -8693,7 +9023,7 @@ This can not be undone! BPM: - + Location: Locație: @@ -8708,27 +9038,27 @@ This can not be undone! Comentarii - + BPM BPM - + Sets the BPM to 75% of the current value. Configurează BPM la 75% din valoarea actuală. - + 3/4 BPM 3/4 BPM - + Sets the BPM to 50% of the current value. Configurează BPM la 50% din valoarea actuală. - + Displays the BPM of the selected track. Arată BPM pentru pista selectată. @@ -8783,49 +9113,49 @@ This can not be undone! Gen - + ReplayGain: - + Sets the BPM to 200% of the current value. Configurează BPM la 200% față de valoarea actuală. - + Double BPM Dublează BPM - + Halve BPM Înjumătățește BPM - + Clear BPM and Beatgrid Curăță BPM și grila bătaie - + Move to the previous item. "Previous" button Mută la elementul anterior. - + &Previous &Anterior - + Move to the next item. "Next" button Mută la elementul următor. - + &Next &Următor @@ -8850,12 +9180,12 @@ This can not be undone! - + Date added: - + Open in File Browser Deschide în navigatorul de fișiere @@ -8865,102 +9195,107 @@ This can not be undone! - + + Filesize: + + + + Track BPM: BPM pistă: - + Converts beats detected by the analyzer into a fixed-tempo beatgrid. Use this setting if your tracks have a constant tempo (e.g. most electronic music). Often results in higher quality beatgrids, but will not do well on tracks that have tempo shifts. - + Assume constant tempo - + Sets the BPM to 66% of the current value. Configurează BPM la 66% din valoarea actuală. - + 2/3 BPM 2/3 BPM - + Sets the BPM to 150% of the current value. - + 3/2 BPM - + Sets the BPM to 133% of the current value. - + 4/3 BPM - + Tap with the beat to set the BPM to the speed you are tapping. - + Tap to Beat - + Hint: Use the Library Analyze view to run BPM detection. Sfat: Utilizați vizualizare Analiză bibliotecă pentru a rula detecția BPM. - + Save changes and close the window. "OK" button Salvează modificările și închide fereastra. - + &OK &OK - + Discard changes and close the window. "Cancel" button Descarcă modificările și închide fereastra. - + Save changes and keep the window open. "Apply" button Salvează modificările și păstrează fereastra deschisă. - + &Apply &Aplică - + &Cancel &Anulare - + (no color) @@ -9117,7 +9452,7 @@ Often results in higher quality beatgrids, but will not do well on tracks that h - + (no color) @@ -9319,27 +9654,27 @@ Often results in higher quality beatgrids, but will not do well on tracks that h EngineBuffer - + Soundtouch (faster) Soundtouch (rapid) - + Rubberband (better) Rubberband (optim) - + Rubberband R3 (near-hi-fi quality) - + Unknown, using Rubberband (better) - + Unknown, using Soundtouch @@ -9554,15 +9889,15 @@ Often results in higher quality beatgrids, but will not do well on tracks that h LegacySkinParser - - + + Safe Mode Enabled Shown when Mixxx is running in safe mode. Este activat modul sigur - - + + No OpenGL support. Shown when Spinny can not be displayed. Please keep @@ -9574,57 +9909,57 @@ Shown when VuMeter can not be displayed. Please keep OpenGL. - + activate activează - + toggle comută - + right dreapta - + left stânga - + right small dreapta mic - + left small stânga mic - + up sus - + down jos - + up small sus mic - + down small jos mic - + Shortcut Scurtătură @@ -9632,62 +9967,62 @@ OpenGL. Library - + This or a parent directory is already in your library. - + This or a listed directory does not exist or is inaccessible. Aborting the operation to avoid library inconsistencies - - + + This directory can not be read. - + An unknown error occurred. Aborting the operation to avoid library inconsistencies - + Can't add Directory to Library - + Could not add <b>%1</b> to your library. %2 - + Can't remove Directory from Library - + An unknown error occurred. - + This directory does not exist or is inaccessible. - + Relink Directory - + Could not relink <b>%1</b> to <b>%2</b>. %3 @@ -9849,12 +10184,12 @@ Do you really want to overwrite it? Piste ascunse - + Export to Engine DJ - + Tracks @@ -9862,37 +10197,37 @@ Do you really want to overwrite it? MixxxMainWindow - + Sound Device Busy Dispozitivul audio este ocupat - + <b>Retry</b> after closing the other application or reconnecting a sound device <b>Reâncearcă</b> după închiderea altei aplicații sau reconectarea unui dispozitiv de sunet - - - + + + <b>Reconfigure</b> Mixxx's sound device settings. <b>Reconfigurare</b> configurări dispozitivul de sunet al Mixxx. - - + + Get <b>Help</b> from the Mixxx Wiki. Primeşte <b>ajutor</b> de pe Wiki Mixxx. - - - + + + <b>Exit</b> Mixxx. <b>Ieşi</b> din Mixxx. - + Retry Reâncearcă @@ -9902,210 +10237,210 @@ Do you really want to overwrite it? - + Allow Mixxx to hide the menu bar? - + Hide Always show the menu bar? - + Always show - + The Mixxx menu bar is hidden and can be toggled with a single press of the <b>Alt</b> key.<br><br>Click <b>%1</b> to agree.<br><br>Click <b>%2</b> to disable that, for example if you don't use Mixxx with a keyboard.<br><br>You can change this setting any time in Preferences -> Interface.<br> Keep formatting tags <b> (bold text) and <br> (linebreak). %1 is the placeholder for the 'Always show' button label - + Ask me again - - + + Reconfigure Reconfigurează - + Help Ajutor - - + + Exit Ieși - - + + Mixxx was unable to open all the configured sound devices. - + Sound Device Error - + <b>Retry</b> after fixing an issue - + No Output Devices Nu sunt dispozitive de ieșire - + Mixxx was configured without any output sound devices. Audio processing will be disabled without a configured output device. Mixxx a fost configurat fără nici un dispozitiv de ieșire. Procesarea audio va fi dezactivată fără un dispozitiv de ieșire configurat. - + <b>Continue</b> without any outputs. <b>Contină</b> fără nici o ieșire. - + Continue Continuă - + Load track to Deck %1 Încarcă pista în Deck-ul %1 - + Deck %1 is currently playing a track. Deck-ul %1 redă actualmente o pistă. - + Are you sure you want to load a new track? Sigur doriți să încărcați o nouă pistă? - + There is no input device selected for this vinyl control. Please select an input device in the sound hardware preferences first. Nu este selectat nici un dispozitiv de intrare pentru acest control disc vinil. Selectați întâi un dispozitiv de intrare din preferințele plăcii de sunet. - + There is no input device selected for this passthrough control. Please select an input device in the sound hardware preferences first. - + There is no input device selected for this microphone. Do you want to select an input device? - + There is no input device selected for this auxiliary. Do you want to select an input device? - + Scan took %1 - + No changes detected. - - + + %1 tracks in total - + %1 new tracks found - + %1 moved tracks detected - + %1 tracks are missing (%2 total) - + %1 tracks have been rediscovered - + Library scan finished - + Error in skin file Eroare în fișier aspect aplicație - + The selected skin cannot be loaded. Aspectul aplicației selectat nu poate fi încărcat. - + OpenGL Direct Rendering Randare directă OpenGL - + Direct rendering is not enabled on your machine.<br><br>This means that the waveform displays will be very<br><b>slow and may tax your CPU heavily</b>. Either update your<br>configuration to enable direct rendering, or disable<br>the waveform displays in the Mixxx preferences by selecting<br>"Empty" as the waveform display in the 'Interface' section. - - - + + + Confirm Exit Confirmare ieșire - + A deck is currently playing. Exit Mixxx? Un deck actualmente redă. Se oprește Mixxx? - + A sampler is currently playing. Exit Mixxx? Un sampler redă curent. Iese Mixxx? - + The preferences window is still open. Fereastra preferințe este încă deschisă. - + Discard any changes and exit Mixxx? Se descarcă orice modificări și se închide Mixxx? @@ -10121,13 +10456,13 @@ Do you want to select an input device? PlaylistFeature - + Lock Blochează - - + + Playlists Liste de redare @@ -10137,58 +10472,63 @@ Do you want to select an input device? - + + Adopt current order + + + + Unlock all playlists - + Delete all unlocked playlists - + Unlock Deblochează - - + + Confirm Deletion - + Do you really want to delete all unlocked playlists? - + Deleting %1 unlocked playlists.<br>This operation can not be undone! - + Playlists are ordered lists of tracks that allow you to plan your DJ sets. - + It may be necessary to skip some tracks in your prepared playlist or add some different tracks in order to maintain the energy of your audience. - + Some DJs construct playlists before they perform live, but others prefer to build them on-the-fly. Unii DJ-ei construiesc liste de redare înainte de a se prezenta live, dar alții preferă să le construiască din zbor. - + When using a playlist during a live DJ set, remember to always pay close attention to how your audience reacts to the music you've chosen to play. Când utilizați o listă de redare în timpul unei sesiuni DJ live, nu uitați ca întotdeauna să acordați o atenție deosebită cum reacționează ascultătorii la muzica pe care ați ales să o redați. - + Create New Playlist Crează listă de redare nouă @@ -10287,59 +10627,59 @@ Do you want to select an input device? QMessageBox - + Upgrading Mixxx Se actualizează Mixxx - + Mixxx now supports displaying cover art. Do you want to scan your library for cover files now? Mixxx suportă acum afișarea coperților. Doriți să scanați acum biblioteca pentru fișiere copertă? - + Scan Scanare - + Later Mai târziu - + Upgrading Mixxx from v1.9.x/1.10.x. Se actualizează Mixxx de la v1.9.x/1.10.x. - + Mixxx has a new and improved beat detector. Mixxx are un nou și îmbunătățit detector de ritm. - + When you load tracks, Mixxx can re-analyze them and generate new, more accurate beatgrids. This will make automatic beatsync and looping more reliable. - + This does not affect saved cues, hotcues, playlists, or crates. Aceasta nu afectează cue salvate, hotcue, liste de redare, sau colecții. - + If you do not want Mixxx to re-analyze your tracks, choose "Keep Current Beatgrids". You can change this setting at any time from the "Beat Detection" section of the Preferences. - + Keep Current Beatgrids Păstrează grila-bătăi curentă - + Generate New Beatgrids Generează o grilă-bătăi nouă @@ -10453,69 +10793,82 @@ Doriți să scanați acum biblioteca pentru fișiere copertă? 14-bit (MSB) - + Main + Audio path indetifier - + Booth + Audio path indetifier - + Headphones + Audio path indetifier Căști - + Left Bus + Audio path indetifier - + Center Bus + Audio path indetifier - + Right Bus + Audio path indetifier - + Invalid Bus + Audio path indetifier - + Deck + Audio path indetifier Deck - + Record/Broadcast + Audio path indetifier - + Vinyl Control + Audio path indetifier Control disc vinil - + Microphone + Audio path indetifier Microfon - + Auxiliary + Audio path indetifier Auxiliar - + Unknown path type %1 + Audio path Tip cale necunoscută %1 @@ -10844,47 +11197,49 @@ With width at zero, this allows for manually sweeping over the entire delay rang Lățime - + Metronome - + + The Mixxx Team - + Adds a metronome click sound to the stream - + BPM BPM - + Set the beats per minute value of the click sound - + Sync Sincronizare - + Synchronizes the BPM with the track if it can be retrieved - + + Gain - + Set the gain of metronome click sound @@ -11668,14 +12023,14 @@ Fully right: end of the effect period - - + + encoder failure - - + + Failed to apply the selected settings. @@ -11881,15 +12236,86 @@ and the processed output signal as close as possible in perceived loudness + + Auto Gain Control + + + + + AGC + + + + + Auto Gain Control (AGC) automatically adjusts the gain of an audio signal to maintain a consistent output level. + + + + Threshold (dBFS) + Threshold + + + The Threshold knob adjusts the level above which the effect starts enhancing the input signal + + + + + Target (dBFS) + + + + + Target + + + + + The Target knob adjusts the desired target level of the output signal + + + + + Gain (dB) + + + + + The Gain knob adjusts the maximum amount of gain that the effect will apply + + + + + Knee (dB) + + + + + The Knee knob defines the range around the Threshold where gain changes are applied gradually, +ensuring smooth transitions and avoiding abrupt level shifts. + + + + + The Attack knob sets the time that determines how fast the auto gain +will set in once the signal exceeds the threshold + + + + + The Release knob sets the time that determines how fast the auto gain will recover from the gain +adjustment once the signal falls under the threshold. Depending on the input signal, short release times +may introduce a 'pumping' effect and/or distortion. + + The Threshold knob adjusts the level above which the compressor starts attenuating the input signal @@ -11918,6 +12344,7 @@ At a ratio of 1:1 no compression is happening, as the input is exactly the outpu + Knee @@ -11928,11 +12355,13 @@ At a ratio of 1:1 no compression is happening, as the input is exactly the outpu + Attack (ms) + Attack @@ -11944,11 +12373,13 @@ will set in once the signal exceeds the threshold + Release (ms) + Release @@ -11977,12 +12408,12 @@ may introduce a 'pumping' effect and/or distortion. - + built-in - + missing @@ -12017,42 +12448,42 @@ may introduce a 'pumping' effect and/or distortion. - + Empty - + Simple - + Filtered - + HSV - + VSyncTest - + RGB - + Stacked - + Unknown @@ -12313,193 +12744,193 @@ may introduce a 'pumping' effect and/or distortion. ShoutConnection - - + + Mixxx encountered a problem Mixxx a întâmpinat o problemă - + Could not allocate shout_t Nu se poate aloca shout_t - + Could not allocate shout_metadata_t Nu se poate aloca shout_metadata_t - + Error setting non-blocking mode: Eroare configurare mod fără blocuri: - + Error setting tls mode: - + Error setting hostname! Eroare configurare nume gazdă! - + Error setting port! Eroare configurare port! - + Error setting password! Eroare configurare parolă! - + Error setting mount! Eroare configurare montare! - + Error setting username! Eroare configurare nume utilizator! - + Error setting stream name! Eroare configurare nume flux! - + Error setting stream description! Eroare configurare descriere flux! - + Error setting stream genre! Eroare configurare gen flux! - + Error setting stream url! Eroare configurare url flux! - + Error setting stream IRC! - + Error setting stream AIM! - + Error setting stream ICQ! - + Error setting stream public! Eroare configurare flux public! - + Unknown stream encoding format! - + Use a libshout version with %1 enabled - + Error setting stream encoding format! - + Broadcasting at 96 kHz with Ogg Vorbis is not currently supported. Please try a different sample rate or switch to a different encoding. - + See https://github.com/mixxxdj/mixxx/issues/5701 for more information. - + Unsupported sample rate - + Error setting bitrate Eroare configurare rată de biți - + Error: unknown server protocol! Eroare: protocol server necunoscut! - + Error: Shoutcast only supports MP3 and AAC encoders - + Error setting protocol! Eroare configurare protocol! - + Network cache overflow - + Connection error - + One of the Live Broadcasting connections raised this error:<br><b>Error with connection '%1':</b><br> - + Connection message - + <b>Message from Live Broadcasting connection '%1':</b><br> - + Lost connection to streaming server and %1 attempts to reconnect have failed. - + Lost connection to streaming server. - + Please check your connection to the Internet. - + Can't connect to streaming server Nu se poate conecta la serverul de transmisie - + Please check your connection to the Internet and verify that your username and password are correct. Verificați conexiunea la internet și verificați dacă numele de utilizator și parola sunt corecte. @@ -12507,7 +12938,7 @@ may introduce a 'pumping' effect and/or distortion. SoftwareWaveformWidget - + Filtered Filtrat @@ -12515,23 +12946,23 @@ may introduce a 'pumping' effect and/or distortion. SoundManager - - + + a device un dispozitiv - + An unknown error occurred A apărut o eroare necunoscută - + Two outputs cannot share channels on "%1" - + Error opening "%1" @@ -12716,7 +13147,7 @@ may introduce a 'pumping' effect and/or distortion. - + Spinning Vinyl Învârtire disc vinil @@ -12898,7 +13329,7 @@ may introduce a 'pumping' effect and/or distortion. - + Cover Art Copertă @@ -13088,243 +13519,243 @@ may introduce a 'pumping' effect and/or distortion. Menține câștigul EQ joase la zero cât timp este activ. - + Displays the tempo of the loaded track in BPM (beats per minute). Afișează ritmul pistei încărcate în BPM (bătăi pe minut). - + Tempo Ritm - + Key The musical key of a track Cheie - + BPM Tap BPM Manual - + When tapped repeatedly, adjusts the BPM to match the tapped BPM. - + Adjust BPM Down Ajustare reducere BPM - + When tapped, adjusts the average BPM down by a small amount. - + Adjust BPM Up Ajustare creștere BPM - + When tapped, adjusts the average BPM up by a small amount. - + Adjust Beats Earlier Ajustează bătăile mai devreme - + When tapped, moves the beatgrid left by a small amount. - + Adjust Beats Later Ajustează bătăile mai târziu - + When tapped, moves the beatgrid right by a small amount. - + Tempo and BPM Tap - + Show/hide the spinning vinyl section. Arată/ascunde secțiunea rotire disc vinil. - + Keylock - + Toggling keylock during playback may result in a momentary audio glitch. - + Toggle visibility of Loop Controls - + Toggle visibility of Beatjump Controls - + Toggle visibility of Rate Control - + Toggle visibility of Key Controls - + (while previewing) - + Places a cue point at the current position on the waveform. - + Stops track at cue point, OR go to cue point and play after release (CUP mode). - + Set cue point (Pioneer/Mixxx/Numark mode), set cue point and play after release (CUP mode) OR preview from it (Denon mode). - + Is latching the playing state. - + Seeks the track to the cue point and stops. - + Play Redare - + Plays track from the cue point. - + Sends the selected channel's audio to the headphone output, selected in Preferences -> Sound Hardware. - + (This skin should be updated to use Sync Lock!) - + Enable Sync Lock - + Tap to sync the tempo to other playing tracks or the sync leader. - + Enable Sync Leader - + When enabled, this device will serve as the sync leader for all other decks. - + This is relevant when a dynamic tempo track is loaded to a sync leader deck.In that case, other synced devices will adopt the changing tempo. - + Changes the track playback speed (affects both the tempo and the pitch). If keylock is enabled, only the tempo is affected. - + Tempo Range Display - + Displays the current range of the tempo slider. - + Un-ejects when no track is loaded, i.e. reloads the track that was ejected last (of any deck). - + Delete selected hotcue. - + Track Comment - + Displays the comment tag of the loaded track. - + Opens separate artwork viewer. - + Effect Chain Preset Settings - + Show the effect chain settings menu for this unit. - + Select and configure a hardware device for this input - + Recording Duration @@ -13547,947 +13978,982 @@ may introduce a 'pumping' effect and/or distortion. - + When tapped repeatedly, adjusts the tempo to match the tapped BPM. + + + Click to open the tempo/BPM editor + + + + + It also shows a colored bar if Key colors are enabled in the Preferences. + + + The bar will be split vertically if the track's key is in between full keys. + + + + Tempo Tap - + Rate Tap and BPM Tap - + + Set Tempo + + + + + Set the desired tempo in BPM. If the track currently has no BPM detected, set the desired tempo in percent. + + + + Adjust beatgrid by exactly one half beat. Usable only on tracks with constant tempo. - + Revert last BPM/Beatgrid Change - + Revert last BPM/Beatgrid Change of the loaded track. - - + + Toggle the BPM/beatgrid lock - + Tempo and Rate Tap - + Tempo, Rate Tap and BPM Tap - + Shift cues earlier - - + + Shift cues imported from Serato or Rekordbox if they are slightly off time. - + Left click: shift 10 milliseconds earlier - + Right click: shift 1 millisecond earlier - + Shift cues later - + Left click: shift 10 milliseconds later - + Right click: shift 1 millisecond later - - - + + + Drag a Hotcue button here to continue playing after releasing the Hotcue. - + Hint: Change the default cue mode in Preferences -> Decks. - + Mutes the selected channel's audio in the main output. - + Main mix enable - + Hold or short click for latching to mix this input into the main output. - + + Reloads the last replaced track. If no track is loaded reloads the second-last ejected track. + + + + If hotcue is a loop cue, toggles the loop and jumps to if the loop is behind the play position. - + If the play position is inside an active loop, stores the loop as loop cue. - + Drag this button onto another Hotcue button to move it there (change its index). If the other hotcue is set, the two are swapped. - + Expand/Collapse Samplers - + Toggle expanded samplers view. - + Displays the duration of the running recording. - + Auto DJ is active - + Red for when needle skip has been detected. - + Hot Cue - Track will seek to nearest previous hotcue point. - + Sets the track Loop-In Marker to the current play position. - + Press and hold to move Loop-In Marker. - + Jump to Loop-In Marker. - + Sets the track Loop-Out Marker to the current play position. - + Press and hold to move Loop-Out Marker. - + Jump to Loop-Out Marker. - + If the track has no beats the unit is seconds. - + Beatloop Size - + Select the size of the loop in beats to set with the Beatloop button. - + Changing this resizes the loop if the loop already matches this size. - + Halve the size of an existing beatloop, or halve the size of the next beatloop set with the Beatloop button. - + Double the size of an existing beatloop, or double the size of the next beatloop set with the Beatloop button. - + Start a loop over the set number of beats. - + Temporarily enable a rolling loop over the set number of beats. - + Beatloop Anchor - + Define whether the loop is created and adjusted from its staring point or ending point. - + Beatjump/Loop Move Size - + Select the number of beats to jump or move the loop with the Beatjump Forward/Backward buttons. - + Beatjump Forward - + Jump forward by the set number of beats. - + Move the loop forward by the set number of beats. - + Jump forward by 1 beat. - + Move the loop forward by 1 beat. - + Beatjump Backward - + Jump backward by the set number of beats. - + Move the loop backward by the set number of beats. - + Jump backward by 1 beat. - + Move the loop backward by 1 beat. - + Reloop - + If the loop is ahead of the current position, looping will start when the loop is reached. - + Works only if Loop-In and Loop-Out Marker are set. - + Enable loop, jump to Loop-In Marker, and stop playback. - + Displays the elapsed and/or remaining time of the track loaded. - + Click to toggle between time elapsed/remaining time/both. - + Hint: Change the time format in Preferences -> Decks. - + Show/hide intro & outro markers and associated buttons. - + + Ensure all waveforms to have the same height across all channels. By default, when displaying the stem controls, waveform for channel that have no stem may render with a shorter height in order to honor the waveform container size you have requested.. + + + + Intro Start Marker - - - - + + + + If marker is set, jumps to the marker. - - - - + + + + If marker is not set, sets the marker to the current play position. - - - - + + + + If marker is set, clears the marker. - + Intro End Marker - + Outro Start Marker - + Outro End Marker - + Mix - + Adjust the mixing of the dry (input) signal with the wet (output) signal of the effect unit - + D/W mode: Crossfade between dry and wet - + D+W mode: Add wet to dry - + Mix Mode - + Adjust how the dry (input) signal is mixed with the wet (output) signal of the effect unit - + Dry/Wet mode (crossed lines): Mix knob crossfades between dry and wet Use this to change the sound of the track with EQ and filter effects. - + Dry+Wet mode (flat dry line): Mix knob adds wet to dry Use this to change only the effected (wet) signal with EQ and filter effects. - + Route the main mix through this effect unit. - + Route the left crossfader bus through this effect unit. - + Route the right crossfader bus through this effect unit. - + Right side active: parameter moves with right half of Meta Knob turn - + Stem Label - + Name of the stem stored in the stem file - + Text is displayed in the stem color stored in the stem file - + this stem color is also used for the waveform of this stem - + Stem Mute - + Toggle the stem mute/unmuted - + Stem Volume Knob - + Adjusts the volume of the stem - + Skin Settings Menu - + Show/hide skin settings menu - + Save Sampler Bank Salvează bancă sampler - + Save the collection of samples loaded in the samplers. - + Load Sampler Bank Încarcă bancă sampler - + Load a previously saved collection of samples into the samplers. - + Show Effect Parameters - + Enable Effect - + Meta Knob Link - + Set how this parameter is linked to the effect's Meta Knob. - + Meta Knob Link Inversion - + Inverts the direction this parameter moves when turning the effect's Meta Knob. - + Super Knob Super buton - + Next Chain Lanțul următor - + Previous Chain Lanț anterior - + Next/Previous Chain Următorul/Anteriorul lanț - + Clear Curăță - + Clear the current effect. Curăță efectul curent. - + Toggle Comutare - + Toggle the current effect. - + Next Următor - + Clear Unit Curăță unitatea - + Clear effect unit. Curăță unitatea efectelor - + Show/hide parameters for effects in this unit. - + Toggle Unit Comută unitatea - + Enable or disable this whole effect unit. - + Controls the Meta Knob of all effects in this unit together. - + Load next effect chain preset into this effect unit. - + Load previous effect chain preset into this effect unit. - + Load next or previous effect chain preset into this effect unit. - - - - - - - - - + + + + + + + + + Assign Effect Unit - + Assign this effect unit to the channel output. - + Route the headphone channel through this effect unit. - + Route this deck through the indicated effect unit. - + Route this sampler through the indicated effect unit. - + Route this microphone through the indicated effect unit. - + Route this auxiliary input through the indicated effect unit. - + The effect unit must also be assigned to a deck or other sound source to hear the effect. - + Switch to the next effect. Comută la efectul următor. - + Previous Anterior - + Switch to the previous effect. Comută la efectul anterior. - + Next or Previous Următor sau anterior - + Switch to either the next or previous effect. - + Meta Knob - + Controls linked parameters of this effect - + Effect Focus Button - + Focuses this effect. - + Unfocuses this effect. - + Refer to the web page on the Mixxx wiki for your controller for more information. - + Effect Parameter Parametru efect - + Adjusts a parameter of the effect. Ajustează un parametru al efectului. - + Inactive: parameter not linked - + Active: parameter moves with Meta Knob - + Left side active: parameter moves with left half of Meta Knob turn - + Left and right side active: parameter moves across range with half of Meta Knob turn and back with the other half - - + + Equalizer Parameter Kill - - + + Holds the gain of the EQ to zero while active. - + Quick Effect Super Knob - + Quick Effect Super Knob (control linked effect parameters). - + Hint: Change the default Quick Effect mode in Preferences -> Equalizers. - + Equalizer Parameter Parametru egalizator - + Adjusts the gain of the EQ filter. - + Hint: Change the default EQ mode in Preferences -> Equalizers. - - + + Adjust Beatgrid Ajustare grilă bătaie - + Adjust beatgrid so the closest beat is aligned with the current play position. - - + + Adjust beatgrid to match another playing deck. Ajustează grila bătaie să se potrivească cu alt deck care redă. - + If quantize is enabled, snaps to the nearest beat. Dacă cuantizarea este activată, fixează la cea mai apropiată bătaie. - + Quantize Cuantificare - + Toggles quantization. Comută cuantificare. - + Loops and cues snap to the nearest beat when quantization is enabled. Bucle și cue se fixează la cea mai apropiată bătaie când cuantizarea este activată. - + Reverse Invers - + Reverses track playback during regular playback. Inversează redarea pistei în timpul redării normale. - + Puts a track into reverse while being held (Censor). - + Playback continues where the track would have been if it had not been temporarily reversed. - - - + + + Play/Pause Redare/Pauză - + Jumps to the beginning of the track. Sări la începutul pistei. - + Syncs the tempo (BPM) and phase to that of the other track, if BPM is detected on both. - + Syncs the tempo (BPM) to that of the other track, if BPM is detected on both. - + Sync and Reset Key - + Increases the pitch by one semitone. Crește pitch cu un semiton. - + Decreases the pitch by one semitone. Scade pitch cu un semiton. - + Enable Vinyl Control Activează control disc vinil - + When disabled, the track is controlled by Mixxx playback controls. Când este dezactivat, pista este controlată de controalele de redare Mixxx. - + When enabled, the track responds to external vinyl control. Când este activat, pista răspunde la controlul discului de vinil extern. - + Enable Passthrough Activează trecerea - + Indicates that the audio buffer is too small to do all audio processing. Indică faptul că buffer-ul audio este prea mic pentru a efectua toate procesările audio. - + Displays cover artwork of the loaded track. Arată coperta pistei încărcate. - + Displays options for editing cover artwork. Afișează opțiuni pentru editarea copertei. - + Star Rating Stea evaluare - + Assign ratings to individual tracks by clicking the stars. Atribuie evaluări pistelor individuale apăsând stelele. @@ -14622,33 +15088,33 @@ Use this to change only the effected (wet) signal with EQ and filter effects. - + Prevents the pitch from changing when the rate changes. - + Changes the number of hotcue buttons displayed in the deck - + Starts playing from the beginning of the track. Pornește redarea de la începutul pistei. - + Jumps to the beginning of the track and stops. Sări la începutul pistei și oprește. - - + + Plays or pauses the track. Redă sau pauzează pista. - + (while playing) (în timp ce se redă) @@ -14668,215 +15134,215 @@ Use this to change only the effected (wet) signal with EQ and filter effects. - + (while stopped) (în timp cât este oprit) - + Cue Cue - + Headphone Căști - + Mute Amuțire - + Old Synchronize Sincronizare veche - + Syncs to the first deck (in numerical order) that is playing a track and has a BPM. Sincronizează la primul deck (în ordine numerică) care redă o pistă și are un BPM. - + If no deck is playing, syncs to the first deck that has a BPM. Dacă nici un deck nu redă, sincronizează cu primul deck care are un BPM. - + Decks can't sync to samplers and samplers can only sync to decks. Deck-urile nu pot sincroniza samplerele iar samplerele pot doar sincroniza deck-urile. - + Hold for at least a second to enable sync lock for this deck. - + Decks with sync locked will all play at the same tempo, and decks that also have quantize enabled will always have their beats lined up. - + Resets the key to the original track key. Resetează cheia la cheia originală a pistei. - + Speed Control Control viteză - - - + + + Changes the track pitch independent of the tempo. - + Increases the pitch by 10 cents. - + Decreases the pitch by 10 cents. - + Pitch Adjust Ajustare pitch - + Adjust the pitch in addition to the speed slider pitch. - + Opens a menu to clear hotcues or edit their labels and colors. - + Drag this button onto a Play button while previewing to continue playback after release. - + Dragging with Shift key pressed will not start previewing the hotcue. - + Record Mix Mixer înregistrare - + Toggle mix recording. - + Enable Live Broadcasting Activare transmisie live - + Stream your mix over the Internet. - + Provides visual feedback for Live Broadcasting status: - + disabled, connecting, connected, failure. - + When enabled, the deck directly plays the audio arriving on the vinyl input. - + Playback will resume where the track would have been if it had not entered the loop. Redarea se va relua de unde ar fi trebuit să fie pista dacă nu a intrat în buclă. - + Loop Exit Ieșire buclă - + Turns the current loop off. Oprește bucla curentă. - + Slip Mode Mod adormire - + When active, the playback continues muted in the background during a loop, reverse, scratch etc. Cînd se activează, redarea continuă în fundal fără sunet în timpul unei bucle, inversări, zgârieturi etc. - + Once disabled, the audible playback will resume where the track would have been. Odată dezactivat, redarea auzibilă se va relua de unde pista ar fi fost. - + Track Key The musical key of a track Cheie pistă - + Displays the musical key of the loaded track. Afișează cheia muzicală a pistei încărcate. - + Clock Ceas - + Displays the current time. Afișează ora actuală. - + Audio Latency Usage Meter Contor utilizare latență audio - + Displays the fraction of latency used for audio processing. Afișează fracția latenței utilizată pentru procesare audio. - + A high value indicates that audible glitches are likely. - + Do not enable keylock, effects or additional decks in this situation. Nu activați keylock, efecte sau deck-uri suplimentare în această situație. - + Audio Latency Overload Indicator Indicator suprasarcină latență audio @@ -14916,259 +15382,259 @@ Use this to change only the effected (wet) signal with EQ and filter effects.Activați controlul disc vinil din Meniu -> Opțiuni. - + Displays the current musical key of the loaded track after pitch shifting. - + Fast Rewind Derulare rapidă înapoi - + Fast rewind through the track. Derulare rapidă înapoi prin pistă. - + Fast Forward Derulare rapidă înainte - + Fast forward through the track. Derulare rapidă înainte prin pistă. - + Jumps to the end of the track. Sări la sfârșitul pistei. - + Sets the pitch to a key that allows a harmonic transition from the other track. Requires a detected key on both involved decks. - - - + + + Pitch Control Control pitch - + Pitch Rate Rată pitch - + Displays the current playback rate of the track. Afișează ritmul de redare curentă a pistei. - + Repeat Repetă - + When active the track will repeat if you go past the end or reverse before the start. - + Eject Scoate - + Ejects track from the player. Scoate pista din player. - + Hotcue Hotcue - + If hotcue is set, jumps to the hotcue. Dacă hotcue este configurat, sări la hotcue. - + If hotcue is not set, sets the hotcue to the current play position. Dacă hotcue nu este configurat, configurează hotcue la poziția curentă de redare. - + Vinyl Control Mode Mod control disc vinil - + Absolute mode - track position equals needle position and speed. - + Relative mode - track speed equals needle speed regardless of needle position. - + Constant mode - track speed equals last known-steady speed regardless of needle input. - + Vinyl Status Stare disc vinil - + Provides visual feedback for vinyl control status: - + Green for control enabled. Verde pentru activare control. - + Blinking yellow for when the needle reaches the end of the record. Galben clipitor când acul atinge sfârșitul înregistrării. - + Loop-In Marker Marcaj intrare buclă - + Loop-Out Marker Marcaj ieșire buclă - + Loop Halve Înjumătățește bucla - + Halves the current loop's length by moving the end marker. Înjumătățește lungimea buclei curente prin mutarea marcajului de sfârșit. - + Deck immediately loops if past the new endpoint. - + Loop Double Buclă dublă - + Doubles the current loop's length by moving the end marker. Dublează lungimea buclei curente mutând marcajul de sfârșit. - + Beatloop - + Toggles the current loop on or off. Comută bucla actuală pornit sau oprit. - + Works only if Loop-In and Loop-Out marker are set. Funcționează numai dacă marcajele intrare buclă și ieșire buclă sunt configurate. - + Vinyl Cueing Mode Mod cue disc vinil - + Determines how cue points are treated in vinyl control Relative mode: Determină cum sunt tratate punctele cue în mod control disc vinil relativ: - + Off - Cue points ignored. Închis - Punctele cue ignorate. - + One Cue - If needle is dropped after the cue point, track will seek to that cue point. - + Track Time Timp pistă - + Track Duration Durată pistă - + Displays the duration of the loaded track. Afișează durata pistei încărcate. - + Information is loaded from the track's metadata tags. Informația este încărcată din metadata etichetelor pistei. - + Track Artist Artist piesă - + Displays the artist of the loaded track. Afișează artistul pistei încărcate. - + Track Title Titlu piesă - + Displays the title of the loaded track. Afișează titlul pistei încărcate. - + Track Album Album - + Displays the album name of the loaded track. Afișează numele albumului pistei încărcate. - + Track Artist/Title Artist/titlu pistă - + Displays the artist and title of the loaded track. Afișează artistul și titlul pistei încărcate. @@ -15396,47 +15862,75 @@ This can not be undone! WCueMenuPopup - + Cue number - + Cue position - + Edit cue label - + Label... - + Delete this cue - - Toggle this cue type between normal cue and saved loop + + Turn this cue into a regular hotcue + + + + + Turn this cue into a saved loop + + + + + Left-click: Use the old size if known or the current beatloop size as the loop size + + + + + Right-click: Use the current play position as new loop end if it is after the cue + + + + + Turn this cue into a saved forward jump. + + is a linebreak. Try to not to extend the translation beyond the length of the longest source line so the tooltip remains compact. + + + + + Turn this cue into a saved backward jump (one shot loop). - - Left-click: Use the old size or the current beatloop size as the loop size + + Left-click: Use the old size if known or the current play position as jump start position +If this is already a jump cue, swap the jump position and the cue/target position. - - Right-click: Use the current play position as loop end if it is after the cue + + Right-click: use current play position as new jump start position - + Hotcue #%1 @@ -15738,171 +16232,181 @@ This can not be undone! + Show Auto DJ + + + + + Switch to the Auto DJ view. + + + + &Full Screen &Ecran complet - + Display Mixxx using the full screen Afișează Mixxx utilizând tot ecranul - + &Options &Opțiuni - + &Vinyl Control Control disc &vinil - + Use timecoded vinyls on external turntables to control Mixxx Utilizează codarea de timp discuri vinil pe platan extern pentru a controla Mixxx - + Enable Vinyl Control &%1 Activează controlul disc vinil &%1 - + &Record Mix &Înregistrare mixaj - + Record your mix to a file Înregistrează mixajul într-un fişier - + Ctrl+R Ctrl+R - + Enable Live &Broadcasting Activează &transmisia live - + Stream your mixes to a shoutcast or icecast server Difuzați mixajul dumneavoastră la un server shoutcast sau icecast - + Ctrl+L Ctrl+L - + Enable &Keyboard Shortcuts Activează &scurtăturile de tastatură - + Toggles keyboard shortcuts on or off Comută scurtăturile de tastatură pornit sau oprit - + Ctrl+` Ctrl+` - + &Preferences &Preferințe - + Change Mixxx settings (e.g. playback, MIDI, controls) Schimbă configurările Mixxx (ex. redare, MIDI, controale) - + &Developer &Dezvoltator - + &Reload Skin &Reâncarcă aspect aplicație - + Reload the skin Reâncarcă aspect aplicație - + Ctrl+Shift+R Ctrl+Shift+R - + Developer &Tools &Unelte dezvoltator - + Opens the developer tools dialog Deschide dialogul uneltelor dezvoltatorului - + Ctrl+Shift+T Ctrl+Shift+T - + Stats: &Experiment Bucket - + Enables experiment mode. Collects stats in the EXPERIMENT tracking bucket. - + Ctrl+Shift+E Ctrl+Shift+E - + Stats: &Base Bucket - + Enables base mode. Collects stats in the BASE tracking bucket. - + Ctrl+Shift+B Ctrl+Shift+B - + Deb&ugger Enabled Dep&anator activat - + Enables the debugger during skin parsing Activează depanatorul în timpul analizării aspectului aplicației - + Ctrl+Shift+D Ctrl+Shift+D - + &Help &Ajutor @@ -15936,62 +16440,62 @@ This can not be undone! - + &Community Support Suport &comunitate - + Get help with Mixxx Obțineți ajutor cu Mixxx - + &User Manual Manual &utilizator - + Read the Mixxx user manual. Citiți manualul utilizatorului Mixxx. - + &Keyboard Shortcuts Scurtături &tastatură - + Speed up your workflow with keyboard shortcuts. - + &Settings directory - + Open the Mixxx user settings directory. - + &Translate This Application &Tradu această aplicație - + Help translate this application into your language. Ajutați la traducerea acestei aplicații în limba dumneavoastră. - + &About &Despre - + About the application Despre aplicaţie @@ -15999,25 +16503,25 @@ This can not be undone! WOverview - + Passthrough - + Ready to play, analyzing... Text on waveform overview when file is playable but no waveform is visible - - + + Loading track... Text on waveform overview when file is cached from source - + Finalizing... Text on waveform overview during finalizing of waveform analysis @@ -16207,625 +16711,640 @@ This can not be undone! WTrackMenu - + Load to - + Deck Deck - + Sampler Sampler - + Add to Playlist Adaugă la lista de redare - + Crates Colecții - + Metadata - + Update external collections - + Cover Art Copertă - + Adjust BPM - + Select Color - - + + Analyze Analizează - - + + Delete Track Files - + Add to Auto DJ Queue (bottom) Adăugaţi în selecţia Auto DJ (jos) - + Add to Auto DJ Queue (top) Adăugaţi în selecţia Auto DJ (sus) - + Add to Auto DJ Queue (replace) - + Preview Deck Previzualizare Deck - + Remove Elimină - + Remove from Playlist - + Remove from Crate - + Hide from Library Ascunde din bibliotecă - + Unhide from Library Anulează ascunderea din bibliotecă - + Purge from Library Rade din bibliotecă - + Move Track File(s) to Trash - + Delete Files from Disk - + Properties Proprietăţi - + Open in File Browser Deschide în navigatorul de fișiere - + Select in Library - + Import From File Tags - + Import From MusicBrainz - + Export To File Tags - + BPM and Beatgrid - + Play Count - + Rating Apreciere - + Cue Point - - + + Hotcues Hotcue - + Intro - + Outro - + Key Tastă - + ReplayGain Înlocuire câștig - + Waveform - + Comment Comentariu - + All Toate - + Sort hotcues by position (remove offsets) - + Sort hotcues by position - + Lock BPM Blochează BPM - + Unlock BPM Deblochează BPM - + Double BPM Dublează BPM - + Halve BPM Înjumătățește BPM - + 2/3 BPM 2/3 BPM - + 3/4 BPM 3/4 BPM - + 4/3 BPM - + 3/2 BPM - + Shift Beatgrid Half Beat - + Reanalyze - + Reanalyze (constant BPM) - + Reanalyze (variable BPM) - + Update ReplayGain from Deck Gain - + Deck %1 Deck %1 - + Importing metadata of %n track(s) from file tags - + Marking metadata of %n track(s) to be exported into file tags - - + + Create New Playlist Crează listă de redare nouă - + Enter name for new playlist: Introduceți numele pentru noua listă de redare: - + New Playlist Listă de redare nouă - - - + + + Playlist Creation Failed Crearea listei de redare a eşuat - + A playlist by that name already exists. Există deja o listă de redare cu acelaşi nume. - + A playlist cannot have a blank name. O listă de redare nu poate fi nedenumită. - + An unknown error occurred while creating playlist: O eroare necunoscută a apărut în timpul creării listei de redare: - + Add to New Crate - + Scaling BPM of %n track(s) - + Undo BPM/beats change of %n track(s) - + Locking BPM of %n track(s) - + Unlocking BPM of %n track(s) - + Setting rating of %n track(s) - + Setting color of %n track(s) - + Resetting play count of %n track(s) - + Resetting beats of %n track(s) - + Clearing rating of %n track(s) - + Clearing comment of %n track(s) - + Removing main cue from %n track(s) - + Removing outro cue from %n track(s) - + Removing intro cue from %n track(s) - + Removing loop cues from %n track(s) - + Removing hot cues from %n track(s) - + Sorting hotcues of %n track(s) by position (remove offsets) - + Sorting hotcues of %n track(s) by position - + Resetting keys of %n track(s) - + Resetting replay gain of %n track(s) - + Resetting waveform of %n track(s) - + Resetting all performance metadata of %n track(s) - + Move these files to the trash bin? - + Permanently delete these files from disk? - - + + This can not be undone! - + Cancel Renunţă - + Delete Files - + Okay - + Move Track File(s) to Trash? - + Track Files Deleted - + Track Files Moved To Trash - + %1 track files were moved to trash and purged from the Mixxx database. - + %1 track files were deleted from disk and purged from the Mixxx database. - + Track File Deleted - + Track file was deleted from disk and purged from the Mixxx database. - + The following %1 file(s) could not be deleted from disk - + This track file could not be deleted from disk - + Remaining Track File(s) - + Close Închide - + Clear Reset metadata in right click track context menu in library - + Loops - + Clear BPM and Beatgrid - + Undo last BPM/beats change - + Move this track file to the trash bin? - + Permanently delete this track file from disk? - + All decks where these tracks are loaded will be stopped and the tracks will be ejected. - + All decks where this track is loaded will be stopped and the track will be ejected. - + Removing %n track file(s) from disk... - + Note: if you are in the Computer or Recording view you need to click the current view again to see changes. - + Track File Moved To Trash - + Track file was moved to trash and purged from the Mixxx database. - + Don't show again during this session - + The following %1 file(s) could not be moved to trash - + This track file could not be moved to trash + + + Replace current Auto DJ queue? + + + + + Do you want to replace the entire Auto DJ queue with the selected tracks? + + + + + Don't ask again during this session + + - + Setting cover art of %n track(s) - + Reloading cover art of %n track(s) @@ -16879,37 +17398,37 @@ This can not be undone! WTrackTableView - + Confirm track hide - + Are you sure you want to hide the selected tracks? - + Are you sure you want to remove the selected tracks from AutoDJ queue? - + Are you sure you want to remove the selected tracks from this crate? - + Are you sure you want to remove the selected tracks from this playlist? - + Don't ask again during this session - + Confirm track removal @@ -16917,12 +17436,12 @@ This can not be undone! WTrackTableViewHeader - + Show or hide columns. Arată sau ascunde coloane. - + Shuffle Tracks @@ -16930,52 +17449,52 @@ This can not be undone! mixxx::CoreServices - + fonts - + database - + effects - + audio interface - + decks - + library - + Choose music library directory Alege directorul bibliotecii de muzică - + controllers - + Cannot open database Baza de date nu poate fi deschisă - + Unable to establish a database connection. Mixxx requires QT with SQLite support. Please read the Qt SQL driver documentation for information on how to build it. @@ -17132,6 +17651,24 @@ Apăsați OK să ieșiți. + + mixxx::qml::QmlApplication + + + Existing user profile detected + + + + + Trying to run Mixxx 3.0 with an existing %0 user profile! <br><br>There is <b>serious risks</b> of data loss and corruption.<br>We recommend using a test profile folder with the '--settings-path' argument. <br><br>If you want to continue at your own risk, run Mixxx with the argument '--allow-dangerous-data-corruption-risk'. + + + + + Ok + + + mixxx::qml::QmlVisibleEffectsModel @@ -17140,4 +17677,27 @@ Apăsați OK să ieșiți. Nu s-a încărcat nici un efect. + + mixxx::qml::QmlWaveformRendererMark + + + Cannot find the marker pixmap + + + + + Cannot find the marker endPixmap + + + + + Cannot find the marker icon + + + + + Cannot find the marker endIcon + + + \ No newline at end of file diff --git a/res/translations/mixxx_ru.qm b/res/translations/mixxx_ru.qm index 804a8ca549cc6e9937e2901adfb00008d86c00d3..18494383be43f6310761cd074373b389d0758f8a 100644 GIT binary patch delta 23072 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 I~tD9B{QRJ=AlvP-J>9 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 K7k{g7?f(z^!$lha delta 24452 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�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 + + AllTrackLibraryFeature + + + All... + + + AnalysisFeature @@ -19,52 +27,52 @@ AutoDJFeature - + Crates Контейнеры - + Enable Auto DJ - + Disable Auto DJ - + Clear Auto DJ Queue - + Remove Crate as Track Source Удалить контейнер как источник трека - + Auto DJ Auto DJ - + Confirmation Clear - + Do you really want to remove all tracks from the Auto DJ queue? - + This can not be undone. - + Add Crate as Track Source Добавить контейнер как источник трека @@ -223,7 +231,7 @@ - + Export Playlist Экспорт списка воспроизведения @@ -277,13 +285,13 @@ - + Playlist Creation Failed Не удалось создать список воспроизведения - + An unknown error occurred while creating playlist: Произошла неизвестная ошибка при создании списка воспроизведения: @@ -298,12 +306,12 @@ Удалить список воспроизведения <b>%1</b>? - + M3U Playlist (*.m3u) Список воспроизведения M3U (*.m3u) - + M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Text CSV (*.csv);;Readable Text (*.txt) Список воспроизведения M3U (*.m3u); Список воспроизведения M3u8 (*.m3u8); Список воспроизведения PLS (*.pls); Текст CSV (*.csv); Читаемый текст (*.txt) @@ -311,12 +319,12 @@ BaseSqlTableModel - + # # - + Timestamp Дата создания @@ -324,7 +332,7 @@ BaseTrackPlayerImpl - + Couldn't load track. Не удалось загрузить трек. @@ -362,7 +370,7 @@ Каналы - + Color Цвет @@ -377,7 +385,7 @@ Композитор - + Cover Art Обложка @@ -387,7 +395,7 @@ Дата добавления - + Last Played Последнее воспроизведение @@ -417,7 +425,7 @@ Тональность - + Location Местоположение @@ -427,7 +435,7 @@ - + Preview Предварительный просмотр @@ -467,7 +475,7 @@ Год - + Fetching image ... Tooltip text on the cover art column shown when the cover is read from disk Получение изображения @@ -489,22 +497,22 @@ BroadcastProfile - + Can't use secure password storage: keychain access failed. Не удаётся использовать хранилище паролей: нет доступа к связке ключей. - + Secure password retrieval unsuccessful: keychain access failed. Не удалось найти защищённый пароль: нет доступа к связке ключей. - + Settings error Ошибка параметров - + <b>Error with settings for '%1':</b><br> <b>Ошибка параметров для «%1»:</b><br> @@ -592,7 +600,7 @@ - + Computer Компьютер @@ -612,17 +620,17 @@ Сканировать - + "Computer" lets you navigate, view, and load tracks from folders on your hard disk and external devices. «Обзор» позволяет перемещаться, просматривать и загружать треки из папок на жёстком диске и внешних устройствах. - + It shows the data from the file tags, not track data from your Mixxx library like other track views. - + If you load a track file from here, it will be added to your library. @@ -735,12 +743,12 @@ Файл создан - + Mixxx Library Медиатека Mixxx - + Could not load the following file because it is in use by Mixxx or another application. Не удалось загрузить следующий файл, потому что он используется Mixxx или другим приложением. @@ -771,87 +779,92 @@ CmdlineArgs - + Mixxx is an open source DJ software. For more information, see: Mixxx — это программное обеспечение для диджеев с открытым исходным кодом. Для получения дополнительной информации см.: - + Starts Mixxx in full-screen mode Запускает Mixxx в режиме полного экрана - + Use a custom locale for loading translations. (e.g 'fr') Использовать другую локаль для загрузки переводов (например, 'fr') - + Top-level directory where Mixxx should look for its resource files such as MIDI mappings, overriding the default installation location. Каталог верхнего уровня, в котором Mixxx должен искать файлы ресурсов, такие как привязки MIDI или перезапись стандартного пути установки. - + Path the debug statistics time line is written to Путь, в который записывается временная строка статистики отладки - + Causes Mixxx to display/log all of the controller data it receives and script functions it loads Заставляет Mixxx отображать/регистрировать все данные контроллера, которые он получает, и функции скрипта, которые он загружает - + The controller mapping will issue more aggressive warnings and errors when detecting misuse of controller APIs. New Controller Mappings should be developed with this option enabled! Привязки контроллеров будут показывать более агрессивные предупреждения и ошибки при обнаружении неправильного использования API контроллера. Новые привязки контроллеров необходимо разрабатывать при условии, что эта функция включена! - + Enables developer-mode. Includes extra log info, stats on performance, and a Developer tools menu. Включает режим разработчика. Включает дополнительную информацию при журналировании, статистику по производительности и меню инструментов разработчика. - + Top-level directory where Mixxx should look for settings. Default is: Каталог верхнего уровня, в котором Mixxx должен искать параметры. Значение по умолчанию: - + Starts Auto DJ when Mixxx is launched. Запускает Авто DJ при запуске Mixxx. - + Rescans the library when Mixxx is launched. - + Use legacy vu meter Использовать устаревший индикатор громкости - + Use legacy spinny Использовать устаревший вращатель - - Loads experimental QML GUI instead of legacy QWidget skin - Загружает экспериментальный графический интерфейс QML вместо устаревшего скина QWidget + + Loads the highly unstable 3.0 Mixxx interface, based on QML. You need to use a new setting profile, or run with 'allow-dangerous-data-corruption-risk' to use with the current one. We highly recommend backing up your data if you do so. + + + + + Force Mixxx to load an unstable version with an existing user profile from a stable version + - + Enables safe-mode. Disables OpenGL waveforms, and spinning vinyl widgets. Try this option if Mixxx is crashing on startup. Включает безопасный режим. Отключает осциллограммы OpenGL и виджеты крутящихся пластинок. Попробуйте воспользоваться этой функцией, если Mixxx закрывается с ошибкой при запуске. - + [auto|always|never] Use colors on the console output. [автоматически|всегда|никогда] Использовать цвета на выводе консоли. - + Sets the verbosity of command line logging. critical - Critical/Fatal only warning - Above + Warnings @@ -866,32 +879,32 @@ debug — То, что выше + сообщения отладки/разраб trace — То, что выше + сообщения профилирования - + Sets the the logging level at which the log buffer is flushed to mixxx.log. <level> is one of the values defined at --log-level above. Устанавливает уровень журналирования, при котором буфер журнала сбрасывается в mixxx.log. <level> — это одно из значений, определённых в --log-level выше. - + Sets the maximum file size of the mixxx.log file in bytes. Use -1 for unlimited. The default is 100 MB as 1e5 or 100000000. - + Breaks (SIGINT) Mixxx, if a DEBUG_ASSERT evaluates to false. Under a debugger you can continue afterwards. Прерывает (SIGINT) Mixxx, если DEBUG_ASSERT оценивается как false. После этого можно продолжить под отладчиком. - + Overrides the default application GUI style. Possible values: %1 - + Load the specified music file(s) at start-up. Each file you specify will be loaded into the next virtual deck. Загрузить определённые музыкальные файлы при запуске. Каждый указанный файл будет загружен в следующую виртуальную деку. - + Preview rendered controller screens in the Setting windows. @@ -984,2557 +997,2585 @@ trace — То, что выше + сообщения профилировани ControlPickerMenu - + Headphone Output Выход для наушников - - - + + + + Deck %1 + %1 is the deck number 1 ... 4 Дека %1 - + Sampler %1 Сэмплер %1 - + Preview Deck %1 Предпросмотр деки %1 - + Microphone %1 Микрофон %1 - + Auxiliary %1 Вспомогательный %1 - + Reset to default Восстановить по умолчанию - + Effect Rack %1 Стойка эффектов %1 - + Parameter %1 Параметр %1 - + Mixer Микшер - - + + Crossfader Кроссфейдер - + Headphone mix (pre/main) Микс в наушниках (предварительный/основной) - + Toggle headphone split cueing Переключить метку разделения для наушников - + Headphone delay Задержка для наушников - + Transport Перенос - + Strip-search through track Быстрый поиск по треку - + Play button Кнопка воспроизведения - - + + Set to full volume Максимальная громкость - - + + Set to zero volume Минимальная громкость - + Stop button Кнопка остановки - + Jump to start of track and play Перейти в начало трека и воспроизвести - + Jump to end of track Перейти к концу трека - + Reverse roll (Censor) button Кнопка обратной прокрутки (Censor) - + Headphone listen button Кнопка прослушивания в наушниках - - + + Mute button Кнопка выключения громкости - + Toggle repeat mode Переключить режим повтора - - + + Mix orientation (e.g. left, right, center) Расположение микса (слева, справа, по центру) - - + + Set mix orientation to left Установить ориентацию микса слева - - + + Set mix orientation to center Установить ориентацию микса по центру - - + + Set mix orientation to right Установить ориентацию микса справа - + Toggle slip mode Переключить режим скольжения - - + + BPM Кол-во ударов в минуту - + Increase BPM by 1 Увеличить BPM на 1 - + Decrease BPM by 1 Уменьшить BPM на 1 - + Increase BPM by 0.1 Увеличить BPM на 0,1 - + Decrease BPM by 0.1 Уменьшить BPM на 0,1 - + BPM tap button Кнопка BPM - + Toggle quantize mode Переключить режим квантования - + One-time beat sync (tempo only) Разовая синхронизация битов (только темп) - + One-time beat sync (phase only) Разовая синхронизация битов (только фаза) - + Toggle keylock mode Переключение в режим блокировки клавиатуры - + Equalizers Эквалайзеры - + Vinyl Control Управление пластинками - + Toggle vinyl-control cueing mode (OFF/ONE/HOT) Переключить метку пластинки (OFF/ONE/HOT) - + Toggle vinyl-control mode (ABS/REL/CONST) Переключить режим управления пластинкой (ABS/REL/CONST) - + Pass through external audio into the internal mixer Пропустить внешний звук во внутренний микшер - + Cues Метки - + Cue button Кнопка метки - + Set cue point Задать точку метки - + Go to cue point Перейти к точке метки - + Go to cue point and play Перейти к точке метки и воспроизвести - + Go to cue point and stop Перейти к точке метки и остановить - + Preview from cue point Предварительный просмотр с точки метки - + Cue button (CDJ mode) Кнопка метки (режим CDJ) - + Stutter cue Метка заикания - + Hotcues Горячие метки - + Set, preview from or jump to hotcue %1 Задать, просмотреть или перейти к горячей метке %1 - + Clear hotcue %1 Удалить горячую метку %1 - + Set hotcue %1 Задать горячую метку %1 - + Jump to hotcue %1 Перейти к горячей метке %1 - + Jump to hotcue %1 and stop Перейти к горячей метке %1 и остановить - + Jump to hotcue %1 and play Перейти к горячей метке %1 и воспроизвести - + Preview from hotcue %1 Предварительный просмотр от горячей метки %1 - - + + Hotcue %1 Горячая метка %1 - + Looping Зацикливание - + Loop In button Кнопка начала петли - + Loop Out button Кнопка перехода к концу петли - + Loop Exit button Кнопка выхода из цикла - + 1/2 1/2 - + 1 1 - + 2 2 - + 4 4 - + 8 8 - + 16 16 - + 32 32 - + 64 64 - + Move loop forward by %1 beats Передвинуть петлю вперёд на количество битов: %1 - + Move loop backward by %1 beats Передвинуть петлю назад на количество битов: %1 - + Create %1-beat loop Создать петлю на следующее количество битов: %1 - + Create temporary %1-beat loop roll Создать временную %1-битную петлю - + Library Медиатека - + Slot %1 Слот %1 - + Headphone Mix Микс в наушниках - + Headphone Split Cue Метка разделения для наушников - + Headphone Delay Задержка для наушников - + Play Играть - + Fast Rewind Быстрая перемотка назад - + Fast Rewind button Кнопка быстрой перемотки назад - + Fast Forward Быстрая перемотка вперёд - + Fast Forward button Кнопка быстрой перемотки вперёд - + Strip Search Быстрый поиск - + Play Reverse Воспроизвести в обратном порядке - + Play Reverse button Кнопка обратного воспроизведения - + Reverse Roll (Censor) Обратная прокрутка (Censor) - + Jump To Start Перейти в начало - + Jumps to start of track Переход к началу трека - + Play From Start Играть сначала - + Stop Остановить - + Stop And Jump To Start Остановить и перейти в начало - + Stop playback and jump to start of track Остановить воспроизведение и перейти в начало трека - + Jump To End Перейти в конец - + Volume Громкость - - - + + + Volume Fader Регулятор громкости - - + + Full Volume Максимальная громкость - - + + Zero Volume Минимальная громкость - + Track Gain Регулирование трека - + Track Gain knob Ручка регулирования трека - - + + Mute Без звука - + Eject Извлечь - - + + Headphone Listen Прослушивание в наушниках - + Headphone listen (pfl) button Кнопка прослушивания в наушниках (pfl) - + Repeat Mode Режим повтора - + Slip Mode Режим Slip - - + + Orientation Ориентация - - + + Orient Left Расположить слева - - + + Orient Center Расположить по центру - - + + Orient Right Расположить справа - + BPM +1 BPM +1 - + BPM -1 BPM -1 - + BPM +0.1 BPM +0,1 - + BPM -0.1 BPM -0,1 - + BPM Tap Ввод BPM вручную - + Adjust Beatgrid Faster +.01 Ускорить битовую сетку на +.01 - + Increase track's average BPM by 0.01 Увеличить средний BPM трека на 0,01 - + Adjust Beatgrid Slower -.01 Замедлить битовую сетку на -.01 - + Decrease track's average BPM by 0.01 Уменьшить средний BPM трека на 0,01 - + Move Beatgrid Earlier Переместить битовую сетку назад - + Adjust the beatgrid to the left Отрегулировать битовую сетку слева - + Move Beatgrid Later Переместить битовую сетку вперёд - + Adjust the beatgrid to the right Отрегулировать битовую сетку справа - + Adjust Beatgrid Отрегулировать битовую сетку - + Align beatgrid to current position Выровнять битовую сетку по текущей позиции - + Adjust Beatgrid - Match Alignment Отрегулировать битовую сетку — сопоставить выравнивание - + Adjust beatgrid to match another playing deck. Подстроить битовую сетку под проигрывание другой деки. - + Quantize Mode Режим квантования - + Sync Синхронизация - + Beat Sync One-Shot Синхронизация битов - + Sync Tempo One-Shot Синхронизация темпа - + Sync Phase One-Shot Синхронизация фазы - + Pitch control (does not affect tempo), center is original pitch Настройка питча (не влияет на темп), центр — оригинальный шаг - + Pitch Adjust Настроить питч - + Adjust pitch from speed slider pitch Настроить питч с помощью ползунка скорости - + Match musical key Сопоставление тональности - + Match Key Сопоставление тональности - + Reset Key Сбросить тональность - + Resets key to original Возвращает тон к исходному значению - + High EQ Высокий EQ - + Mid EQ Эквалайзер средних частот - - + + Main Output Основной канал - + Main Output Balance Баланс основного канала - + Main Output Delay Задержка основного канала - + Main Output Gain Коэффициент усиления основного выходного сигнала - + Low EQ Эквалайзер низких частот - + Toggle Vinyl Control Переключить панель управления пластинками - + Toggle Vinyl Control (ON/OFF) Включить/выключить панель управления пластинками - + Vinyl Control Mode Режим управления пластинкой - + Vinyl Control Cueing Mode Управление пластинками: режим меток - + Vinyl Control Passthrough Сквозное управление пластинками - + Vinyl Control Next Deck Панель управления пластинками: следующая дека - + Single deck mode - Switch vinyl control to next deck Режим одной деки — перейти к пластинке на следующей деке - + Cue Метка - + Set Cue Установить метку - + Go-To Cue Перейти к метке - + Go-To Cue And Play Перейти к метке и воспроизвести - + Go-To Cue And Stop Перейти к метке и остановиться - + Preview Cue Предварительный просмотр метки - + Cue (CDJ Mode) Метка (режим CDJ) - + Stutter Cue Метка заикания - + Go to cue point and play after release Перейти к точке метки и начать воспроизведение после окончания нажатия - + Clear Hotcue %1 Удалить горячую метку %1 - + Set Hotcue %1 Задать горячую метку %1 - + Jump To Hotcue %1 Перейти к горячей метке %1 - + Jump To Hotcue %1 And Stop Перейти к горячей метке %1 и остановиться - + Jump To Hotcue %1 And Play Перейти к горячей метке %1 и воспроизвести - + Preview Hotcue %1 Предварительный просмотр от горячей метки %1 - + Loop In Начало петли - + Loop Out Конец петли - + Loop Exit Выйти из петли - + Reloop/Exit Loop Повторить петлю/выйти из петли - + Loop Halve Сократить цикл вдвое - + Loop Double Двойная петля - + 1/32 1/32 - + 1/16 1/16 - + 1/8 1/8 - + 1/4 1/4 - + Move Loop +%1 Beats Переместить петлю на следующее количество битов: +%1 - + Move Loop -%1 Beats Переместить петлю на следующее количество битов: -%1 - + Loop %1 Beats Зациклить следующее количество битов: %1 - + Loop Roll %1 Beats Скользящий циклю количество битов: %1 - + Add to Auto DJ Queue (bottom) Добавить в очередь Auto DJ (в конец) - + Append the selected track to the Auto DJ Queue Добавить выбранный трек в конец очереди Auto DJ - + Add to Auto DJ Queue (top) Добавить в очередь Auto DJ (в начало) - + Prepend selected track to the Auto DJ Queue Добавить выбранный трек в начало очереди Auto DJ - + Load Track Загрузить трек - + Load selected track Загрузить выбранный трек - + Load selected track and play Загрузить выбранный трек и воспроизвести - - + + Record Mix Записать микс - + Toggle mix recording Переключить запись микса - + Effects Эффекты - - Quick Effects - Быстрые эффекты - - - + Deck %1 Quick Effect Super Knob Супер ручка быстрого жффекта деки %1 - + + Quick Effect Super Knob (control linked effect parameters) Супер ручка быстрого эффекта (управление параметрами связанных эффектов) - - + + + + Quick Effect Быстрый эффект - + Clear Unit Удалить блок - + Clear effect unit Удалить блок эффектов - + Toggle Unit Переключение блока - + Dry/Wet Оригинал/обработанный - + Adjust the balance between the original (dry) and processed (wet) signal. Отрегулировать баланс между оригинальным и обработанным сигналом. - + Super Knob Супер ручка - + Next Chain Следующая цепочка - + Assign Назначить - + Clear Удалить - + Clear the current effect Удалить текущий эффект - + Toggle Переключить - + Toggle the current effect Переключить текущий эффект - + Next Следующий - + Switch to next effect Перейти к следующему эффекту - + Previous Предыдущий - + Switch to the previous effect Перейти к предыдущему эффекту - + Next or Previous Следующий или предыдущий - + Switch to either next or previous effect Перейти к следующему или предыдущему эффекту - - + + Parameter Value Значение параметра - - + + Microphone Ducking Strength Сила приглушения микрофона - + Microphone Ducking Mode Режим приглушения микрофона - + Gain Выравнивание - + Gain knob Ручка выравнивания - + Shuffle the content of the Auto DJ queue Перемешать содержимое очереди Auto DJ - + Skip the next track in the Auto DJ queue Пропустить следующий трек в очереди Auto DJ - + Auto DJ Toggle Переключение Auto DJ - + Toggle Auto DJ On/Off Включить/выключить Auto DJ - + Show/hide the microphone & auxiliary section Показать/скрыть микрофон и вспомогательные устройства - + 4 Effect Units Show/Hide Показать/скрыть 4 блока эффектов - + Switches between showing 2 and 4 effect units Переключает отображение между 2мя и 4мя модулями эффектов - + Mixer Show/Hide Показать/скрыть микшер - + Show or hide the mixer. Показать или скрыть микшер. - + Cover Art Show/Hide (Library) Показать/скрыть обложку (медиатека) - + Show/hide cover art in the library Показать/скрыть обложку в медиатеке - + Library Maximize/Restore Распахнуть/восстановить медиатеку - + Maximize the track library to take up all the available screen space. Распахнуть окно медиатеки, заняв всё пространство экрана. - + Effect Rack Show/Hide Показать/скрыть стойку эффектов - + Show/hide the effect rack Показать/скрыть эффект стойку - + Waveform Zoom Out Уменьшить масштаб осциллограммы - + Headphone Gain Усиления для наушников - + Headphone gain Усиления для наушников - + Tap to sync tempo (and phase with quantize enabled), hold to enable permanent sync Нажмите для синхронизации (и фазировки с квантизацией), удерживайте для постоянной синхронизации - + One-time beat sync tempo (and phase with quantize enabled) Единоразовая битовая синхронизация (и фазировка с квантованием) - + Playback Speed Скорость воспроизведения - + Playback speed control (Vinyl "Pitch" slider) Управление скоростью воспроизведения (ползунок «Питч» на панели пластинок) - + Pitch (Musical key) Питч (тональность) - + Increase Speed Увеличить скорость - + Adjust speed faster (coarse) Увеличить скорость (грубая настройка) - + Increase Speed (Fine) Увеличить скорость (точная настройка) - + Adjust speed faster (fine) Увеличить скорость (точная настройка) - + Decrease Speed Уменьшить скорость - + Adjust speed slower (coarse) Замедлить скорость (грубая настройка) - + Adjust speed slower (fine) Замедлить скорость (точная настройка) - + Temporarily Increase Speed Временно увеличить скорость - + Temporarily increase speed (coarse) Временно увеличить скорость (грубая настройка) - + Temporarily Increase Speed (Fine) Временно увеличить скорость (точная настройка) - + Temporarily increase speed (fine) Временно увеличить скорость (точная настройка) - + Temporarily Decrease Speed Временно уменьшить скорость - + Temporarily decrease speed (coarse) Временно уменьшить скорость (грубая настройка) - + Temporarily Decrease Speed (Fine) Временно уменьшить скорость (точная настройка) - + Temporarily decrease speed (fine) Временно уменьшить скорость (точная настройка) - - + + Adjust %1 Настроить %1 - + + Deck %1 Stem %2 + + + + Effect Unit %1 Блок эффектов %1 - + Button Parameter %1 Параметр кнопки %1 - + Skin Скин - + Controller Контроллер - + Crossfader / Orientation Кроссфейдер/Ориентация - + Main Output gain Коэффициент усиления основного выходного сигнала - + Main Output balance Баланс основного канала - + Main Output delay Задержка основного канала - + Headphone Наушники - - + + Kill %1 + %1 is "Low EQ" "Mid EQ" or "High EQ" Подавление %1 - + Eject or un-eject track, i.e. reload the last-ejected track (of any deck)<br>Double-press to reload the last replaced track. In empty decks it reloads the second-last ejected track. Извлекать или не извлекать трек, то есть повторно загружать последний извлечённый трек (из любой колоды)<br>Дважды щёлкните левой кнопкой мыши, чтобы повторно загрузить последний заменённый треку. В пустых колодах перезагружается предпоследний извлечённый трек. - + BPM / Beatgrid BPM / Битовая сетка - + Halve BPM Разделить BPM - + Multiply current BPM by 0.5 Умножить текущий BPM на 0.5 - + 2/3 BPM 2/3 BPM - + Multiply current BPM by 0.666 Умножить текущий BPM на 0.666 - + 3/4 BPM 3/4 BPM - + Multiply current BPM by 0.75 Умножить текущий BPM на 0.75 - + 4/3 BPM 4/3 BPM - + Multiply current BPM by 1.333 Умножить текущий BPM на 1.333 - + 3/2 BPM 3/2 BPM - + Multiply current BPM by 1.5 - + Double BPM - + Multiply current BPM by 2 - + Tempo Tap - + Tempo tap button - + Move Beatgrid Переместить сетку битов - + Adjust the beatgrid to the left or right Отрегулировать битовую сетку слева или справа - + Move Beatgrid Half a Beat - + Adjust the beatgrid by exactly one half beat. Usable only for tracks with constant tempo. - - + + Toggle the BPM/beatgrid lock - + Revert last BPM/Beatgrid Change - + Revert last BPM/Beatgrid Change of the loaded track. - + Sync / Sync Lock Синхронизация /блокировка синхронизации - + Internal Sync Leader Внутренний лидер синхронизации - + Toggle Internal Sync Leader Переключить внутренний лидер синхронизации - - + + Internal Leader BPM Внутренний лидер BPM - + Internal Leader BPM +1 BPM внутреннего лидера +1 - + Increase internal Leader BPM by 1 Увеличить BPM внутреннего лидера на 1 - + Internal Leader BPM -1 BPM внутреннего лидера -1 - + Decrease internal Leader BPM by 1 Уменьшить BPM внутреннего лидера на 1 - + Internal Leader BPM +0.1 BPM внутреннего лидера +0.1 - + Increase internal Leader BPM by 0.1 Увеличить BPM внутреннего лидера на 0.1 - + Internal Leader BPM -0.1 BPM внутреннего лидера -0.1 - + Decrease internal Leader BPM by 0.1 Уменьшить BPM внутреннего лидера на 0.1 - + Sync Leader Лидер синхронизации - + Sync mode 3-state toggle / indicator (Off, Soft Leader, Explicit Leader) Режим синхронизации - + Speed Скорость - + Decrease Speed (Fine) Уменьшить скорость (точная настройка) - + Pitch (Musical Key) Питч (тональность) - + Increase Pitch Увеличить питч - + Increases the pitch by one semitone Увеличивает питч на один полутон - + Increase Pitch (Fine) Увеличить питч (точная настройка) - + Increases the pitch by 10 cents Увеличивает питч на 10 процентов - + Decrease Pitch Понизить питч - + Decreases the pitch by one semitone Понижает питч на один полутон - + Decrease Pitch (Fine) Понизить питч (точная настройка) - + Decreases the pitch by 10 cents Уменьшает питч на 10 процентов - + Keylock Блокировка - + CUP (Cue + Play) CUP (Метка + Воспроизвести) - + Shift cue points earlier Сдвинуть точки меток раньше - + Shift cue points 10 milliseconds earlier Сдвинуть точки меток на 10 миллисекунд раньше - + Shift cue points earlier (fine) Сдвинуть точки меток раньше (точная настройка) - + Shift cue points 1 millisecond earlier Сдвинуть точки меток на 1 миллисекунду раньше - + Shift cue points later Сдвинуть точки меток позднее - + Shift cue points 10 milliseconds later Сдвинуть точки меток на 10 миллисекунд позднее - + Shift cue points later (fine) Сдвинуть точки меток позднее (точная настройка) - + Shift cue points 1 millisecond later Сдвинуть точки меток на 1 миллисекунду позднее - - + + Sort hotcues by position - - + + Sort hotcues by position (remove offsets) - + Hotcues %1-%2 Горячие метки %1-%2 - + Intro / Outro Markers Маркеры вступления и завершения - + Intro Start Marker Маркер начала вступления - + Intro End Marker Маркер окончания вступления - + Outro Start Marker Маркер начала завершения - + Outro End Marker Маркер окончания завершения - + intro start marker маркер начала вступления - + intro end marker маркер окончания вступления - + outro start marker маркер начала завершения - + outro end marker маркер окончания завершения - + Activate %1 [intro/outro marker Активировать %1 - + Jump to or set the %1 [intro/outro marker Перейти к или установить %1 - + Set %1 [intro/outro marker Установить %1 - + Set or jump to the %1 [intro/outro marker Установить или перейти к %1 - + Clear %1 [intro/outro marker Удалить %1 - + Clear the %1 [intro/outro marker Удалить %1 - + if the track has no beats the unit is seconds - + Loop Selected Beats Зациклить выбранные биты - + Create a beat loop of selected beat size Создать петлю выбранного размера - + Loop Roll Selected Beats Скользящий цикл выбранных битов - + Create a rolling beat loop of selected beat size Создать скользящий цикл выбранного размера петли - + Loop %1 Beats set from its end point - + Loop Roll %1 Beats set from its end point - + Create %1-beat loop with the current play position as loop end - + Create temporary %1-beat loop roll with the current play position as loop end - + Loop Beats Зациклить биты - + Loop Roll Beats Скользящий цикл - + Go To Loop In Перейти к началу петли - + Go to Loop In button Кнопка перехода к началу петли - + Go To Loop Out Перейти к концу петли - + Go to Loop Out button Кнопка перехода к концу петли - + Toggle loop on/off and jump to Loop In point if loop is behind play position Вкл./выкл. петлю и перейти к петле в точке, если петля находится за позицией воспроизведения - + Reloop And Stop Повторить петлю и остановить - + Enable loop, jump to Loop In point, and stop Включить петлю, перейти к точке начала петли и остановиться - + Halve the loop length Сократить длину петли вдвое - + Double the loop length Двойной размер петли - + Beat Jump / Loop Move Прыжки по треку / смещение петли - + Jump / Move Loop Forward %1 Beats Перейти / Сместить петлю вперёд на %1 бит - + Jump / Move Loop Backward %1 Beats Перейти / Сместить петлю назад на %1 бит - + Jump forward by %1 beats, or if a loop is enabled, move the loop forward %1 beats Перейти на %1 бит вперёд или, если включена петля, передвинуть петлю вперёд на %1 бит - + Jump backward by %1 beats, or if a loop is enabled, move the loop backward %1 beats Перейти на %1 бит назад или, если включена петля, передвинуть петлю назад на %1 бит - + Beat Jump / Loop Move Forward Selected Beats Прыжки по треку / Смещение петли (в прямом порядке) на выбранное количество битов - + Jump forward by the selected number of beats, or if a loop is enabled, move the loop forward by the selected number of beats Перейти на выбранное количество битов вперёд или, если включена петля, передвинуть петлю вперёд на выбранное количество битов - + Beat Jump / Loop Move Backward Selected Beats Прыжки по треку / Смещение петли (в обратном порядке) на выбранное количество битов - + Jump backward by the selected number of beats, or if a loop is enabled, move the loop backward by the selected number of beats Перейти на выбранное количество битов назад или, если включена петля, передвинуть петлю назад на выбранное количество битов - + Beat Jump - + Indicate which loop marker remain static when adjusting the size or is inherited from the current position - + Beat Jump / Loop Move Forward Прыжки по треку / Смещение петли (в прямом порядке) - + Beat Jump / Loop Move Backward Прыжки по треку / Смещение петли (в обратном порядке) - + Loop Move Forward Переместить петлю вперёд - + Loop Move Backward Переместить петлю назад - + Remove Temporary Loop - + Remove the temporary loop - + Navigation Навигация - + Move up Переместить вверх - + Equivalent to pressing the UP key on the keyboard Равнозначно нажатию кнопки ВВЕРХ на клавиатуре - + Move down Переместить вниз - + Equivalent to pressing the DOWN key on the keyboard Равнозначно нажатию кнопки ВНИЗ на клавиатуре - + Move up/down Переместить вверх/вниз - + Move vertically in either direction using a knob, as if pressing UP/DOWN keys Переместить вертикально в обоих направлениях, как при нажатии кнопок ВВЕРХ/ВНИЗ - + Scroll Up Пролистать вверх - + Equivalent to pressing the PAGE UP key on the keyboard Равнозначно нажатию кнопки PAGE UP на клавиатуре - + Scroll Down Пролистать вниз - + Equivalent to pressing the PAGE DOWN key on the keyboard Равнозначно нажатию кнопки PAGE DOWN на клавиатуре - + Scroll up/down Пролистать вверх/вниз - + Scroll vertically in either direction using a knob, as if pressing PGUP/PGDOWN keys Переместить вертикально в обоих направлениях, как при нажатии кнопок PGUP/PGDOWN - + Move left Переместить влево - + Equivalent to pressing the LEFT key on the keyboard Равнозначно нажатию кнопки ВЛЕВО на клавиатуре - + Move right Переместить вправо - + Equivalent to pressing the RIGHT key on the keyboard Равнозначно нажатию кнопки ВПРАВО на клавиатуре - + Move left/right Переместить влево\вправо - + Move horizontally in either direction using a knob, as if pressing LEFT/RIGHT keys Переместить горизонтально в обоих направлениях используя ручку, как при нажатии кнопок ВЛЕВО/ВПРАВО - + Move focus to right pane Переместить фокус на правую панель - + Equivalent to pressing the TAB key on the keyboard Равнозначно нажатию кнопки TAB на клавиатуре - + Move focus to left pane Переместить фокус на левую панель - + Equivalent to pressing the SHIFT+TAB key on the keyboard Равнозначно нажатию кнопок SHIFT+TAB на клавиатуре - + Move focus to right/left pane Переместить фокус на правую/левую панель - + Move focus one pane to right or left using a knob, as if pressing TAB/SHIFT+TAB keys Переключать элементы управления используя ручку, как при нажатии клавиш TAB/SHIFT+TAB - + Sort focused column Сортировать столбец в фокусае - + Sort the column of the cell that is currently focused, equivalent to clicking on its header Сортировка столбца ячейки, которая в данный момент находится в фокусе, что эквивалентно щелчку по её заголовку - + Go to the currently selected item Перейти к выбранному пункту - + Choose the currently selected item and advance forward one pane if appropriate Выбрать текущий элемент и перейти вперёд на одну панель, если это необходимо - + Load Track and Play Загрузить трек и воспроизвести - + Add to Auto DJ Queue (replace) Добавить в очередь Auto DJ (заменить) - + Replace Auto DJ Queue with selected tracks Заменить очередь Auto DJ выбранными треками - + Select next search history Выбрать следующую историю поиска - + Selects the next search history entry Выбирает следующую запись истории поиска - + Select previous search history Выбрать предыдущую историю поиска - + Selects the previous search history entry Выбирает предыдущую запись истории поиска - + Move selected search entry Переместить выбранную запись поиска - + Moves the selected search history item into given direction and steps Перемещает выбранный элемент истории поиска в заданном направлении и с заданными шагами - + Clear search Очистить поиск - + Clears the search query Очищает поисковый запрос - - + + Select Next Color Available Выбрать Следующий Доступный Цвет - + Select the next color in the color palette for the first selected track - - + + Select Previous Color Available Выбрать Предыдущий Доступный Цвет - + Select the previous color in the color palette for the first selected track - + + Quick Effects Deck %1 + + + + Deck %1 Quick Effect Enable Button Кнопка включения быстрого эффекта на деке %1 - + + Quick Effect Enable Button Кнопка включения быстрого эффекта - + + Deck %1 Stem %2 Quick Effect Super Knob + + + + + Deck %1 Stem %2 Quick Effect Enable Button + + + + Enable or disable effect processing Включить или отключить обработку эффекта - + Super Knob (control effects' Meta Knobs) Супер ручка (мета-ручка управления эффектами) - + Mix Mode Toggle Переключение режима микширования - + Toggle effect unit between D/W and D+W modes Переключение блока эффектов между режимами D/W и D+W - + Next chain preset Следующий шаблон цепи - + Previous Chain Предыдущая цепь - + Previous chain preset Предыдущий шаблон цепи - + Next/Previous Chain Следующая/предыдущая цепь - + Next or previous chain preset Следующий или предыдущий шаблон цепи - - + + Show Effect Parameters Показать параметры эффекта - + Effect Unit Assignment Назначение блока эффектов - + Meta Knob Мета ручка - + Effect Meta Knob (control linked effect parameters) Мета ручка эффекта (управление связанными параметрами эффекта) - + Meta Knob Mode Режим мета ручки - + Set how linked effect parameters change when turning the Meta Knob. Выберите, как меняется параметр эффекта при повороте мета ручки. - + Meta Knob Mode Invert Обратный режим мета ручки - + Invert how linked effect parameters change when turning the Meta Knob. Инвертировать параметр эффекта при повороте мета-ручки. - - + + Button Parameter Value Значение параметра кнопки - + Microphone / Auxiliary Микрофон / вспомогательные устройства - + Microphone On/Off Микрофон вкл/выкл - + Microphone on/off Микрофон вкл/выкл - + Toggle microphone ducking mode (OFF, AUTO, MANUAL) Переключить режим подавления микрофона (OFF, AUTO, MANUAL) - + Auxiliary On/Off Включить/выключить вспомогательное устройство - + Auxiliary on/off Включить/выключить вспомогательное устройство - + Auto DJ Авто DJ - + Auto DJ Shuffle Auto DJ: Перемешать - + Auto DJ Skip Next Auto DJ: Переключиться на следующий трек - + Auto DJ Add Random Track АвтоDJ добавить случайный трек - + Add a random track to the Auto DJ queue Добавить случайный трек в очередь АвтоDJ - + Auto DJ Fade To Next Auto DJ: Плавный переход к следующему треку - + Trigger the transition to the next track Инициировать переход к следующей композиции - + User Interface Пользовательский интерфейс - + Samplers Show/Hide Показать/скрыть панель сэмплеров - + Show/hide the sampler section Показать/скрыть панель сэмплеров - + Microphone && Auxiliary Show/Hide keep double & to prevent creation of keyboard accelerator Показать/скрыть микрофон и вспомогательные устройства - + Waveform Zoom Reset To Default - + Reset the waveform zoom level to the default value selected in Preferences -> Waveforms - + Select the next color in the color palette for the loaded track. - + Select previous color in the color palette for the loaded track. - + Navigate Through Track Colors - + Select either next or previous color in the palette for the loaded track. - + Start/Stop Live Broadcasting Начать/остановить прямую трансляцию - + Stream your mix over the Internet. Транслируйте свой микс через Интернет. - + Start/stop recording your mix. Начать/прекратить записывать микс. - - + + + Deck %1 Stems + + + + + Samplers Сэмплеры - + Vinyl Control Show/Hide Показать/скрыть панель управления пластинками - + Show/hide the vinyl control section Показать/скрыть панель управления пластинками - + Preview Deck Show/Hide Показать/скрыть предпросмотр деки - + Show/hide the preview deck Показать/скрыть предпросмотр деки - + Toggle 4 Decks Включить/выключить 4 деки - + Switches between showing 2 decks and 4 decks. Переключение между 2 и 4 деками. - + Cover Art Show/Hide (Decks) Показать/скрыть обложку (деки) - + Show/hide cover art in the main decks Показать/скрыть обложку на основных деках - + Vinyl Spinner Show/Hide Показать/скрыть ручки для прокрутки пластинок - + Show/hide spinning vinyl widget Показать/скрыть виджет прокрутки пластинки - + Vinyl Spinners Show/Hide (All Decks) Показать/скрыть ручки для прокрутки пластинок (все деки) - + Show/Hide all spinnies Показать/скрыть все крутящиеся ручки - + Toggle Waveforms Переключить осциллограммы - + Show/hide the scrolling waveforms. Показать/скрыть прокрутку осциллограмм. - + Waveform zoom Масштаб осциллограммы - + Waveform Zoom Масштаб осциллограммы - + Zoom waveform in Увеличить масштаб осциллограммы - + Waveform Zoom In Увеличить масштаб осциллограммы - + Zoom waveform out Уменьшить масштаб осциллограммы - + Star Rating Up Повысить рейтинг - + Increase the track rating by one star Увеличить рейтинг трека на одну звезду - + Star Rating Down Понизить рейтинг - + Decrease the track rating by one star Понизить рейтинг трека на одну звезду @@ -3547,6 +3588,159 @@ trace — То, что выше + сообщения профилировани + + ControllerHidReportTabsManager + + + Read + + + + + Send + + + + + Payload Size + + + + + bytes + + + + + Byte Position + + + + + Bit Position + + + + + Bit Size + + + + + Logical Min + + + + + Logical Max + + + + + Value + + + + + Physical Min + + + + + Physical Max + + + + + Unit Scaling + + + + + Unit + + + + + Abs/Rel + + + + + + Wrap + + + + + + Linear + + + + + + Preferred + + + + + + Null + + + + + + Volatile + + + + + Usage Page + + + + + Usage + + + + + Relative + + + + + Absolute + + + + + No Wrap + + + + + Non Linear + + + + + No Preferred + + + + + No Null + + + + + Non Volatile + + + ControllerInputMappingTableModel @@ -3682,27 +3876,27 @@ trace — То, что выше + сообщения профилировани ControllerScriptEngineLegacy - + Controller Mapping File Problem Проблема файла привязки контроллера - + The mapping for controller "%1" cannot be opened. Не удалось открыть привязку контроллера «%1». - + The functionality provided by this controller mapping will be disabled until the issue has been resolved. Функционал, предоставляемый этой привязкой контроллера, будет отключён до тех пор, пока проблема не будет решена. - + File: Файл: - + Error: Ошибка: @@ -3735,7 +3929,7 @@ trace — То, что выше + сообщения профилировани - + Lock Заблокировать @@ -3765,7 +3959,7 @@ trace — То, что выше + сообщения профилировани Источник трека Auto DJ - + Enter new name for crate: Введите новое имя для контейнера: @@ -3782,22 +3976,22 @@ trace — То, что выше + сообщения профилировани Импорт контейнера - + Export Crate Экспорт контейнера - + Unlock Разблокировать - + An unknown error occurred while creating crate: Произошла неизвестная ошибка при создании контейнера: - + Rename Crate Переименовать контейнер @@ -3807,28 +4001,28 @@ trace — То, что выше + сообщения профилировани Создайте контейнер для своего следующего концерта, любимых треков в стиле электрохаус или самых популярных треков. - + Confirm Deletion Подтвердить удаление - - + + Renaming Crate Failed Не удалось переименовать контейнер - + Crate Creation Failed Ошибка создания контейнера - + M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Text CSV (*.csv);;Readable Text (*.txt) Список воспроизведения M3U (*.m3u); Список воспроизведения M3u8 (*.m3u8); Список воспроизведения PLS (*.pls); Текст CSV (*.csv); Читаемый текст (*.txt) - + M3U Playlist (*.m3u) Список воспроизведения M3U (*.m3u) @@ -3849,17 +4043,17 @@ trace — То, что выше + сообщения профилировани Контейнеры позволяют упорядочивать музыку так, как вам хочется! - + Do you really want to delete crate <b>%1</b>? Удалить контейнер <b>%1</b>? - + A crate cannot have a blank name. Имя контейнера не может быть пустым. - + A crate by that name already exists. Контейнер с таким именем уже существует. @@ -3954,12 +4148,12 @@ trace — То, что выше + сообщения профилировани Прошлые участники - + Official Website Официальный сайт - + Donate Сделать пожертвование @@ -4765,123 +4959,140 @@ You tried to learn: %1,%2 DlgPrefBroadcast - + Icecast 2 Icecast 2 - + Shoutcast 1 SHOUTcast 1 - + Icecast 1 Icecast 1 - + MP3 MP3 - + Ogg Vorbis Ogg Vorbis - + Opus Opus - + AAC AAC - + HE-AAC HE-AAC - + HE-AACv2 HE-AACv2 - + Automatic Автоматический - + Mono Моно - + Stereo Стерео - - - - + + Saving settings failed + + + + + The password for '%1' contains invalid characters. Please enter it again. + +Note: This can for example be invisible linebreaks when using copy/paste. + + + + + + Action failed Не удалось выполнить действие - + You can't create more than %1 source connections. Вы не можете создать более %1 источников соединения. - + Source connection %1 Источник соединения %1 - + + Settings for %1 + Settings for broadcast profile, %1 is the profile name placeholder + + + + At least one source connection is required. Требуется хотя бы один источник соединения. - + Are you sure you want to disconnect every active source connection? Вы уверены, что хотите разъединить все активные источники соединений? - - + + Confirmation required Требуется подтверждение - + '%1' has the same Icecast mountpoint as '%2'. Two source connections to the same server that have the same mountpoint can not be enabled simultaneously. «%1» имеет такую же точку подключения Icecast, как «%2». Два исходных соединения с одним и тем же сервером, которые имеют одну и ту же точку подключения, не могут быть включены одновременно. - + Are you sure you want to delete '%1'? Вы уверены, что хотите удалить «%1»? - + Renaming '%1' Переименовать «%1» - + New name for '%1': Новое название для «%1»: - + Can't rename '%1' to '%2': name already in use Не удалось переименовать «%1» на «%2»: имя занято @@ -4894,27 +5105,27 @@ Two source connections to the same server that have the same mountpoint can not Параметры прямой трансляции - + Mixxx Icecast Testing Проверка Mixxx Icecast - + Public stream Общая трансляция - + http://www.mixxx.org http://www.Mixxx.org - + Stream name Название трансляции - + Due to flaws in some streaming clients, updating Ogg Vorbis metadata dynamically can cause listener glitches and disconnections. Check this box to update the metadata anyway. Из-за недостатков некоторых клиентов потоковой передачи динамическое обновление метаданных Ogg Vorbis может вызывать сбои и отключение. Установите этот флажок, чтобы метаданные обновлялись в любом случае. @@ -4954,67 +5165,72 @@ Two source connections to the same server that have the same mountpoint can not Параметры для %1 - + + Available fields: $artist, $title, $year, $album, $genre, $bpm + + + + Dynamically update Ogg Vorbis metadata. Динамически обновлять метаданные Ogg Vorbis. - + ICQ ICQ - + AIM AIM - + Website Веб-сайт - + Live mix Микс в прямом эфире - + IRC IRC - + Select a source connection above to edit its settings here Выберите источник соединения выше для изменения параметров - + Password storage Хранилище пароля - + Plain text Обычный текст - + Secure storage (OS keychain) Безопасное хранилище (встроенное в ОС) - + Genre Жанр - + Use UTF-8 encoding for metadata. Использовать кодировку UTF-8 для метаданных. - + Description Описание @@ -5040,42 +5256,42 @@ Two source connections to the same server that have the same mountpoint can not Каналы - + Server connection Подключение к серверу - + Type Тип - + Host Хост - + Login Логин - + Mount Подключение - + Port Порт - + Password Пароль - + Stream info Информация о трансляции @@ -5085,17 +5301,17 @@ Two source connections to the same server that have the same mountpoint can not Метаданные - + Use static artist and title. Использовать статичные исполнителя и название. - + Static title Статичное название - + Static artist Статичный исполнитель @@ -5154,13 +5370,14 @@ Two source connections to the same server that have the same mountpoint can not DlgPrefColors - - + + + By hotcue number По номеру горячей метки - + Color Цвет @@ -5205,17 +5422,22 @@ Two source connections to the same server that have the same mountpoint can not + Jump default color + + + + When key colors are enabled, Mixxx will display a color hint associated with each key. - + Enable Key Colors - + Key palette @@ -5223,114 +5445,114 @@ associated with each key. DlgPrefController - + Apply device settings? Применить параметры устройства? - + Your settings must be applied before starting the learning wizard. Apply settings and continue? Указанные параметры должны быть применены перед запуском мастера обучения. Применить параметры и продолжить? - + None Нет - + %1 by %2 %1 в %2 - + Mapping has been edited Привязка была изменена - + Always overwrite during this session Всегда перезаписывать во время этого сеанса - + Save As Сохранить как - + Overwrite Перезаписать - + Save user mapping Сохранить пользовательскую привязку - + Enter the name for saving the mapping to the user folder. Введите имя для сохранения привязки в пользовательской папке. - + Saving mapping failed Не удалось сохранить привязку - + A mapping cannot have a blank name and may not contain special characters. Имя привязки не может быть пустым и не должно содержать специальные символы. - + A mapping file with that name already exists. Файл привязки с таким именем уже существует. - + Do you want to save the changes? Сохранить изменения? - + Troubleshooting Устранение неполадок - + <font color='#BB0000'><b>If you use this mapping your controller may not work correctly. Please select another mapping or disable the controller.</b></font><br><br>This mapping was designed for a newer Mixxx Controller Engine and cannot be used on your current Mixxx installation.<br>Your Mixxx installation has Controller Engine version %1. This mapping requires a Controller Engine version >= %2.<br><br>For more information visit the wiki page on <a href='https://mixxx.org/wiki/doku.php/controller_engine_versions'>Controller Engine Versions</a>. <font color='#BB0000'><b>Если используется такая привязка, контроллер может работать неправильно. Выберите другую привязку или отключите контроллер.</b></font><br><br>Эта привязка была разработана для более нового движка контроллера Mixxx, и её нельзя использовать в вашей текущей установке Mixxx.<br>Текущая установка Mixxx имеет версию движка контроллера %1. Эта привязка требует версию движка контроллера >= %2.<br><br>Для получения более подробной информации посетите вики-страницу <a href='https://mixxx.org/wiki/doku.php/controller_engine_versions'>Версии движка контроллера</a>. - + Mapping already exists. Привязка уже существует. - + <b>%1</b> already exists in user mapping folder.<br>Overwrite or save with a new name? <b>%1</b> уже существует в папке пользовательских привязок.<br>Заменить или сохранить с новым именем? - + Clear Input Mappings Очистить входные привязки - + Are you sure you want to clear all input mappings? Очистить все входные привязки? - + Clear Output Mappings Очистить выходные привязки - + Are you sure you want to clear all output mappings? Удалить все выходные привязки? @@ -5348,100 +5570,105 @@ Apply settings and continue? Включено - + + Refresh mapping list + + + + Device Info - + Physical Interface: - + Vendor name: - + Product name: - + Vendor ID - + VID: - + Product ID - + PID: - + Serial number: - + USB interface number: - + HID Usage-Page: - + HID Usage: - + Description: Описание: - + Support: Поддержка: - + Screens preview - + Input Mappings Входные привязки - - + + Search Поиск - - + + Add Добавить - - + + Remove Удалить @@ -5461,17 +5688,17 @@ Apply settings and continue? Загрузить привязку: - + Mapping Info Сведения о привязке - + Author: Автор: - + Name: Имя: @@ -5481,28 +5708,28 @@ Apply settings and continue? Мастер обучения (только MIDI) - + Data protocol: - + Mapping Files: Файлы привязок: - + Mapping Settings - - + + Clear All Очистить все - + Output Mappings Выходные привязки @@ -5517,21 +5744,21 @@ Apply settings and continue? - Mixxx uses "mappings" to connect messages from your controller to controls in Mixxx. If you do not see a mapping for your controller in the "Load Mapping" menu when you click on your controller on the left sidebar, you may be able to download one online from the %1. Place the XML (.xml) and Javascript (.js) file(s) in the "User Mapping Folder" then restart Mixxx. If you download a mapping in a ZIP file, extract the XML and Javascript file(s) from the ZIP file to your "User Mapping Folder" then restart Mixxx. - Mixxx использует «привязки» для подключения сообщений от контроллера к элементам управления в Mixxx. Если в меню «Загрузить привчязку» при нажатии на контроллер на левой боковой панели он отсутствует в Mixxx, его можно загрузить онлайн с %1. Поместите файлы XML (.xml) и Javascript (.js) в «Папку пользовательских привязок», затем перезапустите Mixxx. При загрузке привязки в виде ZIP-файла извлеките файлы XML и Javascript из ZIP-файла в свою «Папку пользовательских привязок», а затем перезапустите Mixxx. + Mixxx uses "mappings" to connect messages from your controller to controls in Mixxx. If you do not see a mapping for your controller in the "Load Mapping" menu when you click on your controller on the left sidebar, you may be able to download one online from the %1. Place the XML (.xml) and Javascript (.js) file(s) in the "User Mapping Folder" then click the Reload button next to the mapping selector to reload all available mappings. If you download a mapping in a ZIP file, extract the XML and Javascript file(s) from the ZIP file to your "User Mapping Folder" then click the Reload button. + - + Mixxx DJ Hardware Guide Руководство по оборудованию Mixxx DJ - + MIDI Mapping File Format Формат файлов привязок MIDI - + MIDI Scripting with Javascript Сценарии MIDI с Javascript @@ -5700,137 +5927,137 @@ Apply settings and continue? DlgPrefDeck - + Mixxx mode Режим Mixxx - + Mixxx mode (no blinking) Mixxx режим (без мигания) - + Pioneer mode Режим Pioneer - + Denon mode Режим Denon - + Numark mode Режим Numark - + CUP mode Режим CUP - + mm:ss%1zz - Traditional mm:ss%1zz — Традиционный - + mm:ss - Traditional (Coarse) mm:ss — Традиционный (груб.) - + s%1zz - Seconds s%1zz — Секунды - + sss%1zz - Seconds (Long) sss%1zz — Секунды (длинн.) - + s%1sss%2zz - Kiloseconds s%1sss%2zz — Килосекунды - + Intro start Начало вступления - + Main cue Основная метка - + First hotcue - + First sound (skip silence) Первый звук (пропуск тишины) - + Beginning of track Начало трека - + Reject Отклонить - + Allow, but stop deck Разрешить, но остановить деку - + Allow, play from load point Разрешить и воспроизвести с точки загрузки - + 4% 4% - + 6% (semitone) 6% (полутон) - + 8% (Technics SL-1210) 8% (техника SL-1210) - + 10% 10% - + 16% 16% - + 24% 24% - + 50% 50% - + 90% 90% @@ -6290,57 +6517,57 @@ You can always drag-and-drop tracks on screen to clone a deck. Минимальный размер выбранного скина больше, чем разрешение экрана. - + Allow screensaver to run Разрешить запуск хранителя экрана - + Prevent screensaver from running Запретить включение хранителя экрана - + Prevent screensaver while playing Запретить включение хранителя экрана при воспроизведении - + Disabled Отключено - + 2x MSAA 2x MSAA - + 4x MSAA 4x MSAA - + 8x MSAA 8x MSAA - + 16x MSAA 16x MSAA - + This skin does not support color schemes Этот скин не поддерживает цветовые схемы - + Information Информация - + Mixxx must be restarted before the new locale, scaling or multi-sampling settings will take effect. @@ -6568,67 +6795,97 @@ and allows you to pitch adjust them for harmonic mixing. Более подробная информация содержится в руководстве пользователя - + Music Directory Added Добавлен музыкальный каталог - + You added one or more music directories. The tracks in these directories won't be available until you rescan your library. Would you like to rescan now? Был добавлен один или несколько музыкальных каталогов. Треки в них не будут доступны, пока не будет выполнено повторное сканирование медиатеки. Выполнить его сейчас? - + Scan Сканировать - + Item is not a directory or directory is missing - + Choose a music directory Выбрать музыкальный каталог - + Confirm Directory Removal Подтвердить удаление каталога - + Mixxx will no longer watch this directory for new tracks. What would you like to do with the tracks from this directory and subdirectories?<ul><li>Hide all tracks from this directory and subdirectories.</li><li>Delete all metadata for these tracks from Mixxx permanently.</li><li>Leave the tracks unchanged in your library.</li></ul>Hiding tracks saves their metadata in case you re-add them in the future. Mixxx больше не будет проверять этот каталог на наличие новых треков. Что сделать с треками из этого каталога и вложенных каталогов?<ul><li>Скрыть все треки из этого каталога и вложенных каталогов.</li><li>Навсегда удалить все метаданные для тих треков из Mixxx.</li><li>Не изменять треки в медиатеке.</li></ul>При скрытии треков метаданные будут сохранены прит их повторном добавлении в медиатеку в будущем. - + Metadata means all track details (artist, title, playcount, etc.) as well as beatgrids, hotcues, and loops. This choice only affects the Mixxx library. No files on disk will be changed or deleted. Метаданные — это вся информация о треке (исполнитель, название и так далее), а также о сетке битов, метках и петлях. Этот выбор влияет только на медиатеку Mixxx. Файлы на диске не будут изменены или удалены. - + Hide Tracks Скрыть треки - + Delete Track Metadata Удалить метаданные трека - + Leave Tracks Unchanged Оставить треки без изменений - + Relink music directory to new location Перепривязать музыкальный каталог к новому местоположению - + + Black + + + + + ExtraBold + + + + + Bold + + + + + SemiBold + + + + + Medium + + + + + Light + + + + Select Library Font Выбрать шрифт медиатеки @@ -6677,262 +6934,267 @@ and allows you to pitch adjust them for harmonic mixing. Повторно сканировать каталоги при запуске - + Audio File Formats Форматы аудиофайлов - + Track Table View Представление треков в виде таблицы - + Track Double-Click Action: Действие двойного щелчка по треку: - + BPM display precision: Точность отображения BPM: - + Session History История сеансов - + Track duplicate distance Расстояние дублирования трека - + When playing a track again log it to the session history only if more than N other tracks have been played in the meantime При повторном воспроизведении трека сохранять его в истории сеанса только в том случае, если за это время было воспроизведено более N других треков - + History playlist with less than N tracks will be deleted<br/><br/>Note: the cleanup will be performed during startup and shutdown of Mixxx. История списка воспроизведения менее чем с N треками будет удаляться<br/><br/>Примечание: очистка будет выполняться при запуске и завершении Mixxx. - + Delete history playlist with less than N tracks Удалить список воспроизведения истории, содержащий менее N треков - + Library Font: Шрифт медиатеки: - + + Show scan summary dialog + + + + Grey out played tracks Затемнять проигранные треки - + Track Search Поиск Трека - + Enable search completions Включить автодополнение поиска - + Enable search history keyboard shortcuts Включить комбинации клавиш истории поиска - + Percentage of pitch slider range for 'fuzzy' BPM search: - + This range will be used for the 'fuzzy' BPM search (~bpm:) via the search box, as well as for BPM search in Track context menu > Search related Tracks - + Preferred Cover Art Fetcher Resolution Предпочтительное разерешение средства выбора обложек - + Fetch cover art from coverartarchive.com by using Import Metadata From Musicbrainz. Получить обложку из coverartarchive.com с помощью функции импорта метаданных из Musicbrainz. - + Note: ">1200 px" can fetch up to very large cover arts. Примечание: «>1200 px» позволит загружать очень большие обложки. - + >1200 px (if available) >1200 пикс. (если доступно) - + 1200 px (if available) 1200 пикс. (если доступно) - + 500 px 500 пикс. - + 250 px 250 пикс. - + Settings Directory Каталог параметров - + The Mixxx settings directory contains the library database, various configuration files, log files, track analysis data, as well as custom controller mappings. Каталог параметров Mixxx содержит базу данных медиатеки, различные файлы конфигурации, файлы журналов, данные анализа треков, а также пользовательские привязки контроллеров. - + Edit those files only if you know what you are doing and only while Mixxx is not running. Вносите правки в эти файлы только если знаете, что делаете, и только когда Mixxx не запущен. - + Open Mixxx Settings Folder Открыть папку параметров Mixxx - + Library Row Height: Высота строк в медиатеке: - + Use relative paths for playlist export if possible Использовать относительные пути при экспорте списка воспроизведения, если возможно - + ... ... - + px пикс. - + Synchronize library track metadata from/to file tags Синхронизировать метаданные трека из медиатеки с тегами файлов/в них - + Automatically write modified track metadata from the library into file tags and reimport metadata from updated file tags into the library Автоматически записывает изменённые метаданные трека из медиатеки в теги файлов и повторно импортирует метаданные из обновлённых тегов файлов в медиатеку - + Synchronize Serato track metadata from/to file tags (experimental) Синхронизировать метаданные треков Serato с тегами файлов (экспериментально) - + Keeps track color, beat grid, bpm lock, cue points, and loops synchronized with SERATO_MARKERS/MARKERS2 file tags.<br/><br/>WARNING: Enabling this option also enables the reimport of Serato metadata after files have been modified outside of Mixxx. On reimport existing metadata in Mixxx is replaced with the metadata found in file tags. Custom metadata not included in file tags like loop colors is lost. Сохраняет цвет трека, битовую сетку, блокировку bpm, точки меток и петли синхронизированными с тегами файлов SERATO_MARKERS/MARKERS2.<br/><br/>ВНИМАНИЕ: Включение этой функции также позволяет повторно импортировать метаданные Serato после изменения файлов вне Mixxx. При повторном импорте существующие метаданные в Mixxx заменяются метаданными, найденными в тегах файлов. Пользовательские метаданные, не включённые в теги файлов, такие как цвета петли, теряются. - + Edit metadata after clicking selected track Изменить метаданные после нажатия на выбранный трек - + Search-as-you-type timeout: Время поиска по мере ввода: - + ms мс - + Load track to next available deck Загрузить трек в следующую доступную деку - + External Libraries Внешние библиотеки - + You will need to restart Mixxx for these settings to take effect. Чтобы параметры вступили в силу, необходимо перезапустить Mixxx. - + Show Rhythmbox Library Показать библиотеку Rhythmbox - + Track Metadata Synchronization / Playlists - + Add track to Auto DJ queue (bottom) Добавить в очередь AutoDJ (в конец) - + Add track to Auto DJ queue (top) Добавить в очередь Auto DJ (в начало) - + Ignore Игнорировать - + Show Banshee Library Показать медиатеку Banshee - + Show iTunes Library Показать медиатеку iTunes - + Show Traktor Library Показать медиатеку Traktor - + Show Rekordbox Library Показать медиатеку Rekordbox - + Show Serato Library Показать медиатеку Serato - + All external libraries shown are write protected. Все показываемые внешние медиатеки защищены от записи. @@ -7277,33 +7539,33 @@ and allows you to pitch adjust them for harmonic mixing. DlgPrefRecord - + Choose recordings directory Выбор каталога записи - - + + Recordings directory invalid Недопустимый каталог записи - + Recordings directory must be set to an existing directory. Каталогом записи должен быть существующий каталог. - + Recordings directory must be set to a directory. Каталог записи должен являться каталогом. - + Recordings directory not writable Каталог записи не предназначен для записи - + You do not have write access to %1. Choose a recordings directory you have write access to. У вас нет прав записи для каталога %1. Выберите каталог, в который можно записать. @@ -7321,43 +7583,55 @@ and allows you to pitch adjust them for harmonic mixing. Просмотр... - - + + This will include the filepath for each track in the CUE file. +This option makes the CUE file less portable and can reveal personal +information from filepaths (i.e. username) + + + + + Enable File Annotation in CUE file + + + + + Quality Качество - + Tags Теги - + Title Название - + Author Автор - + Album Альбом - + Output File Format Формат создаваемого файла - + Compression Сжатие - + Lossy С потерями @@ -7372,12 +7646,12 @@ and allows you to pitch adjust them for harmonic mixing. Каталог: - + Compression Level Уровень сжатия - + Lossless Без потерь @@ -7510,172 +7784,177 @@ The loudness target is approximate and assumes track pregain and main output lev DlgPrefSound - + %1 Hz %1 Гц - + Default (long delay) По умолчанию (долгая задержка) - + Experimental (no delay) Экспериментально (без задержки) - + Disabled (short delay) Отключено (короткая задержка) - + Soundcard Clock Часы звуковой карты - + Network Clock Сетевые часы - + Direct monitor (recording and broadcasting only) Прямой мониторинг (только запись и трансляция) - + Disabled Отключено - + Enabled Включено - + Stereo Стерео - + Mono Моно - + To enable Realtime scheduling (currently disabled), see the %1. Чтобы включить планирование в реальном времени (в настоящее время отключено), обратитесь к %1. - + The %1 lists sound cards and controllers you may want to consider for using Mixxx. В %1 перечислены звуковые карты и контроллеры, которые можно использовать в Mixxx. - + Mixxx DJ Hardware Guide Руководство по оборудованию Mixxx DJ - + + Find details in the Mixxx user manual + + + + Information - + Mixxx must be restarted before the multi-threaded RubberBand setting change will take effect. - + auto (<= 1024 frames/period) автоматически (<= 1024 кадров/период) - + 2048 frames/period 2048 кадров/период - + 4096 frames/period 4096 кадров/период - + Are you sure? - + Distribute stereo channels into mono channels for parallel processing will result in a loss of mono compatibility and a diffuse stereo image. It is not recommended during broadcasting or recording. - + Are you sure you wish to proceed? - + No - + Yes, I know what I am doing - + Microphone inputs are out of time in the record & broadcast signal compared to what you hear. Микрофонные входы на записи и трансляции не соответствуют тому, что вы слышите. - + Measure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. Замерьте задержку приёма-передачи и укажите её значение выше для компенсации задержки микрофона, чтобы выровнять синхронизацию микрофона. - + Refer to the Mixxx User Manual for details. Более подробная информация содержится в руководстве пользователя Mixxx. - + Configured latency has changed. Настроенная задержка изменилась. - + Remeasure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. Повторно замерьте задержку приёма-передачи и укажите её значение выше для компенсации задержки микрофона, чтобы выровнять синхронизацию микрофона. - + Realtime scheduling is enabled. Планирование в реальном времени включено. - + Main output only Только главный выход - + Main and booth outputs Главный выход и кабина - + %1 ms %1 мс - + Configuration error Ошибка конфигурации @@ -7742,17 +8021,22 @@ The loudness target is approximate and assumes track pregain and main output lev MS - + + Deck and Bus outputs are for external mixers. They are post-fader and include effects and crossfader (for Auto DJ). For external mixing, make sure all Mixxx faders and EQ knobs are set to their default position (right- or double-click). + + + + 20 ms 20 мс - + Buffer Underflow Count Счётчик потерь буфера - + 0 0 @@ -7777,12 +8061,12 @@ The loudness target is approximate and assumes track pregain and main output lev Вход - + System Reported Latency Система сообщила о задержке - + Enlarge your audio buffer if the underflow counter is increasing or you hear pops during playback. Увеличить аудиобуфер, если счётчик потерь увеличивается или слышны хлопки во время воспроизведения. @@ -7812,7 +8096,7 @@ The loudness target is approximate and assumes track pregain and main output lev Подсказки и диагностика - + Downsize your audio buffer to improve Mixxx's responsiveness. Уменьшить размер аудиобуфера, чтобы улучшить отзывчивость Mixxx. @@ -7859,7 +8143,7 @@ The loudness target is approximate and assumes track pregain and main output lev Настройка пластинки - + Show Signal Quality in Skin Показывать в скине качество сигнала @@ -7895,46 +8179,51 @@ The loudness target is approximate and assumes track pregain and main output lev + Pitch estimator + + + + Deck 1 Дека 1 - + Deck 2 Дека 2 - + Deck 3 Дека 3 - + Deck 4 Дека 4 - + Signal Quality Качество сигнала - + http://www.xwax.co.uk http://www.xwax.co.UK - + Powered by xwax На базе xwax - + Hints Подсказки - + Select sound devices for Vinyl Control in the Sound Hardware pane. Выберите звуковые устройства для настройки пластинки на панели звукового устройства. @@ -7942,58 +8231,58 @@ The loudness target is approximate and assumes track pregain and main output lev DlgPrefWaveform - + Filtered Фильтрация - + HSV HSV - + RGB RGB - + Top Верх - + Center Центр - + Bottom Низ - + 1/3 of waveform viewer options for "Text height limit" - + Entire waveform viewer - + OpenGL not available OpenGL недоступен - + dropped frames пропуск кадров - + Cached waveforms occupy %1 MiB on disk. Кэшированные осциллограммы занимают %1 МБ на диске. @@ -8011,22 +8300,17 @@ The loudness target is approximate and assumes track pregain and main output lev Частота кадров - + OpenGL Status - + Displays which OpenGL version is supported by the current platform. Показывает, какая версия OpenGL поддерживается на текущей платформе. - - Normalize waveform overview - Нормализовать обзор осциллограммы - - - + Average frame rate Средняя частота кадров @@ -8042,7 +8326,7 @@ The loudness target is approximate and assumes track pregain and main output lev Уровень масштаба по умолчанию - + Displays the actual frame rate. Отображает фактическую частоту кадров. @@ -8077,7 +8361,7 @@ The loudness target is approximate and assumes track pregain and main output lev Низкая - + Show minute markers on waveform overview @@ -8122,7 +8406,7 @@ The loudness target is approximate and assumes track pregain and main output lev Общее визуальное усиление - + The waveform overview shows the waveform envelope of the entire track. Select from different types of displays for the waveform overview, which differ primarily in the level of detail shown in the waveform. Режим просмотра осциллограммы показывает осциллограмму всего трека. @@ -8191,22 +8475,22 @@ Select from different types of displays for the waveform, which differ primarily пт - + Caching Кэшироваание - + Mixxx caches the waveforms of your tracks on disk the first time you load a track. This reduces CPU usage when you are playing live but requires extra disk space. Mixxx кэширует осциллограммы треков на диске при первой загрузке трека. Это уменьшает нагрузку на CPU при живом исполнении, но занимает больше места на диске. - + Enable waveform caching Включить кэширование осциллограммы - + Generate waveforms when analyzing library Генерировать осциллограммы при анализе медиатеки @@ -8222,7 +8506,7 @@ Select from different types of displays for the waveform, which differ primarily - + Type @@ -8242,22 +8526,68 @@ Select from different types of displays for the waveform, which differ primarily % - - Play marker position - Положение маркера воспроизведения + + Play marker position + Положение маркера воспроизведения + + + + Moves the play marker position on the waveforms to the left, right or center (default). + Перемещает положение маркера воспроизведения на осциллограммах влево, вправо или в центр (по умолчанию). + + + + Stem + + + + + Channel opacity + + + + + Channel opacity (outline) + + + + + Main stem opacity + + + + + Outline stem opacity + + + + + Move channel to foreground when volume is adjusted + + + + + Overview Waveforms + + + + + Gain + - - Moves the play marker position on the waveforms to the left, right or center (default). - Перемещает положение маркера воспроизведения на осциллограммах влево, вправо или в центр (по умолчанию). + + Normalize to peak + - - Overview Waveforms + + Use Waveform "Global" gain and ReplayGain (if enabled) + 'Global' refers to the 'Global' visual gain in the scrolling waveform settings - + Clear Cached Waveforms Очистить кэшированные осциллограммы @@ -8749,7 +9079,7 @@ This can not be undone! Кол-во ударов в минуту: - + Location: Расположение: @@ -8764,27 +9094,27 @@ This can not be undone! Комментарии - + BPM Кол-во ударов в минуту - + Sets the BPM to 75% of the current value. Устанавливает BPM в 75% от текущего значения. - + 3/4 BPM 3/4 BPM - + Sets the BPM to 50% of the current value. Устанавливает BPM в 50% от текущего значения. - + Displays the BPM of the selected track. Отображает BPM выбранного трека. @@ -8839,49 +9169,49 @@ This can not be undone! Жанр - + ReplayGain: Выравнивание громкости: - + Sets the BPM to 200% of the current value. Устанавливает BPM в 200% от текущего значения. - + Double BPM Удвоить BPM - + Halve BPM Сократить BPM вдвое - + Clear BPM and Beatgrid Очистить BPM и битовую сетку - + Move to the previous item. "Previous" button Перемещение к предыдущему элементу. - + &Previous &Предыдущий - + Move to the next item. "Next" button Перейти к следующему пункту. - + &Next &Следующий @@ -8906,12 +9236,12 @@ This can not be undone! Цвет - + Date added: Дата добавления: - + Open in File Browser Открыть в диспетчере файлов @@ -8921,12 +9251,17 @@ This can not be undone! - + + Filesize: + + + + Track BPM: BPM трека: - + Converts beats detected by the analyzer into a fixed-tempo beatgrid. Use this setting if your tracks have a constant tempo (e.g. most electronic music). Often results in higher quality beatgrids, but will not do well on tracks that have tempo shifts. @@ -8935,90 +9270,90 @@ Often results in higher quality beatgrids, but will not do well on tracks that h Эта функция часто генерирует битовую сетку высокого качества, но не подходит для треков со сдвигом темпа. - + Assume constant tempo Считать темп постоянным - + Sets the BPM to 66% of the current value. Устанавливает BPM в 66% от текущего значения. - + 2/3 BPM 2/3 BPM - + Sets the BPM to 150% of the current value. Устанавливает BPM в 150% от текущего значения. - + 3/2 BPM 3/2 BPM - + Sets the BPM to 133% of the current value. Устанавливает BPM в 133% от текущего значения. - + 4/3 BPM 4/3 BPM - + Tap with the beat to set the BPM to the speed you are tapping. Щёлкайте в такт музыки, чтобы установить количество ударов в минуту соответствующее вашим щелчкам. - + Tap to Beat Нажмите чтобы выбрать ритм. - + Hint: Use the Library Analyze view to run BPM detection. Подсказка: Используйте режим просмотра анализа медиатеки для запуска обнаружения BPM. - + Save changes and close the window. "OK" button Сохранить изменения и закрыть окно. - + &OK &OK - + Discard changes and close the window. "Cancel" button Отменить изменения и закрыть окно. - + Save changes and keep the window open. "Apply" button Сохраните изменения и оставить окно открытым. - + &Apply &Применить - + &Cancel &Отмена - + (no color) (без цвета) @@ -9175,7 +9510,7 @@ Often results in higher quality beatgrids, but will not do well on tracks that h - + (no color) @@ -9377,27 +9712,27 @@ Often results in higher quality beatgrids, but will not do well on tracks that h EngineBuffer - + Soundtouch (faster) Soundtouch (быстрее) - + Rubberband (better) Rubberband (лучше) - + Rubberband R3 (near-hi-fi quality) Rubberband R3 (качество, близкое к hi-fi) - + Unknown, using Rubberband (better) Неизвестный, с использованием Rubberband (лучше) - + Unknown, using Soundtouch @@ -9612,15 +9947,15 @@ Often results in higher quality beatgrids, but will not do well on tracks that h LegacySkinParser - - + + Safe Mode Enabled Shown when Mixxx is running in safe mode. Безопасный режим включён - - + + No OpenGL support. Shown when Spinny can not be displayed. Please keep @@ -9631,57 +9966,57 @@ Shown when VuMeter can not be displayed. Please keep Отсутствует поддержка OpenGL. - + activate активировать - + toggle переключить - + right вправо - + left влево - + right small немного вправо - + left small немного влево - + up вверх - + down вниз - + up small немного вверх - + down small немного вниз - + Shortcut Комбинация клавиш @@ -9689,62 +10024,62 @@ Shown when VuMeter can not be displayed. Please keep Library - + This or a parent directory is already in your library. - + This or a listed directory does not exist or is inaccessible. Aborting the operation to avoid library inconsistencies - - + + This directory can not be read. - + An unknown error occurred. Aborting the operation to avoid library inconsistencies - + Can't add Directory to Library - + Could not add <b>%1</b> to your library. %2 - + Can't remove Directory from Library - + An unknown error occurred. - + This directory does not exist or is inaccessible. - + Relink Directory - + Could not relink <b>%1</b> to <b>%2</b>. %3 @@ -9910,12 +10245,12 @@ Do you really want to overwrite it? Скрытые треки - + Export to Engine DJ Экспорт в Engine DJ - + Tracks Треки @@ -9923,37 +10258,37 @@ Do you really want to overwrite it? MixxxMainWindow - + Sound Device Busy Звуковое устройство занято - + <b>Retry</b> after closing the other application or reconnecting a sound device <b>Повторить попытку</b> после закрытия другого приложения или повторного подключения звукового устройства - - - + + + <b>Reconfigure</b> Mixxx's sound device settings. <b>Перенастроить</b> параметры звукового устройства Mixxx. - - + + Get <b>Help</b> from the Mixxx Wiki. Получить <b>помощь</b> от Mixxx Wiki. - - - + + + <b>Exit</b> Mixxx. <b>Закрыть</b> Mixxx. - + Retry Повторить @@ -9963,213 +10298,213 @@ Do you really want to overwrite it? обложка - + Allow Mixxx to hide the menu bar? - + Hide Always show the menu bar? - + Always show - + The Mixxx menu bar is hidden and can be toggled with a single press of the <b>Alt</b> key.<br><br>Click <b>%1</b> to agree.<br><br>Click <b>%2</b> to disable that, for example if you don't use Mixxx with a keyboard.<br><br>You can change this setting any time in Preferences -> Interface.<br> Keep formatting tags <b> (bold text) and <br> (linebreak). %1 is the placeholder for the 'Always show' button label - + Ask me again - - + + Reconfigure Перенастроить - + Help Справка - - + + Exit Выход - - + + Mixxx was unable to open all the configured sound devices. Не удалось открыть все настроенные звуковые устройства. - + Sound Device Error Ошибка звукового устройства - + <b>Retry</b> after fixing an issue <b>Повторить попытку</b> после устранения проблемы - + No Output Devices Нет устройств вывода - + Mixxx was configured without any output sound devices. Audio processing will be disabled without a configured output device. Mixxx был настроен без каких-либо звуковых устройств вывода. Обработка аудио будет отключена без настроенного устройства вывода. - + <b>Continue</b> without any outputs. <b>Продолжить</b> без каких-либо результатов. - + Continue Продолжить - + Load track to Deck %1 Загрузить трек в деку %1 - + Deck %1 is currently playing a track. Дека %1 в настоящее время воспроизводит трек. - + Are you sure you want to load a new track? Загрузить новый трек? - + There is no input device selected for this vinyl control. Please select an input device in the sound hardware preferences first. Для этой панели управления пластинкой не выбрано входное устройство. Сначала выберите входное устройство в параметрах звукового оборудования. - + There is no input device selected for this passthrough control. Please select an input device in the sound hardware preferences first. Для панели сквозного управления не выбрано входное устройство. Сначала выберите входное устройство в параметрах звукового оборудования. - + There is no input device selected for this microphone. Do you want to select an input device? Для этого микрофона не выбрано входное устройство. Хотите выбрать? - + There is no input device selected for this auxiliary. Do you want to select an input device? Для этого вспомогательного устройства не выбрано входное устройство. Хотите выбрать? - + Scan took %1 - + No changes detected. - - + + %1 tracks in total - + %1 new tracks found - + %1 moved tracks detected - + %1 tracks are missing (%2 total) - + %1 tracks have been rediscovered - + Library scan finished - + Error in skin file Ошибка в файле обложки - + The selected skin cannot be loaded. Не удаётся загрузить выбранную обложку. - + OpenGL Direct Rendering Прямая обработка OpenGL - + Direct rendering is not enabled on your machine.<br><br>This means that the waveform displays will be very<br><b>slow and may tax your CPU heavily</b>. Either update your<br>configuration to enable direct rendering, or disable<br>the waveform displays in the Mixxx preferences by selecting<br>"Empty" as the waveform display in the 'Interface' section. Прямой рендеринг не включён на вашем компьютере.<br><br>Это означает, что отображение осциллограммы будет очень<br><b>медленным и может сильно нагрузить процессор</b>. Либо обновите<br>конфигурацию, чтобы включить прямой рендеринг, либо отключите<br>отображение осциллограммы в параметрах Mixxx, выбрав<br>«Пусто» для отображения осциллограммы в разделе «Интерфейс». - - - + + + Confirm Exit Подтвердить выход - + A deck is currently playing. Exit Mixxx? В настоящий момент играет дека. Выйти из Mixxx? - + A sampler is currently playing. Exit Mixxx? В настоящее время играет сэмплер. Выйти из Mixxx? - + The preferences window is still open. Окно параментров остаётся открытым. - + Discard any changes and exit Mixxx? Отменить все изменения и закрыть Mixxx? @@ -10185,13 +10520,13 @@ Do you want to select an input device? PlaylistFeature - + Lock Заблокировать - - + + Playlists Списки воспроизведения @@ -10201,58 +10536,63 @@ Do you want to select an input device? - + + Adopt current order + + + + Unlock all playlists - + Delete all unlocked playlists - + Unlock Разблокировать - - + + Confirm Deletion - + Do you really want to delete all unlocked playlists? - + Deleting %1 unlocked playlists.<br>This operation can not be undone! - + Playlists are ordered lists of tracks that allow you to plan your DJ sets. Списки воспроизведения — это упорядоченные списки треков, позволяющие планировать диджейские выступления. - + It may be necessary to skip some tracks in your prepared playlist or add some different tracks in order to maintain the energy of your audience. Возможно, иногда придётся пропустить некоторые треки в подготовленном списке воспроизведения или добавить несколько других треков, чтобы сохранить энергию аудитории. - + Some DJs construct playlists before they perform live, but others prefer to build them on-the-fly. Некоторые диджеи составляют списки воспроизведений перед выступлением, а некоторые предпочитают составлять их на лету. - + When using a playlist during a live DJ set, remember to always pay close attention to how your audience reacts to the music you've chosen to play. При проигрывании списка воспроизведения во время диджейского сета следите за реакцией публики на воспроизводимую музыку. - + Create New Playlist Создать новый список воспроизведения @@ -10351,59 +10691,59 @@ Do you want to select an input device? QMessageBox - + Upgrading Mixxx Обновление Mixxx - + Mixxx now supports displaying cover art. Do you want to scan your library for cover files now? Mixxx теперь поддерживает отображение обложки. Произвести сканирование медиатеки для добавления обложек? - + Scan Сканировать - + Later Позже - + Upgrading Mixxx from v1.9.x/1.10.x. Обновление Mixxx от v1.9.x/1.10.x. - + Mixxx has a new and improved beat detector. В Mixxx появился новый улучшенный детектор битов. - + When you load tracks, Mixxx can re-analyze them and generate new, more accurate beatgrids. This will make automatic beatsync and looping more reliable. При загрузке треков Mixxx может повторно проанализировать их и создать новые, более точные битовые сетки. Это сделает автоматическую синхронизацию битов и зацикливание более качественными. - + This does not affect saved cues, hotcues, playlists, or crates. Это не влияет на сохранённые метки, списки воспроизведения или контейнеры. - + If you do not want Mixxx to re-analyze your tracks, choose "Keep Current Beatgrids". You can change this setting at any time from the "Beat Detection" section of the Preferences. Чтобы Mixxx не анализировал повторно ваши треки, выберите функцию «Сохранить текущую битовую сетку». Этот параметр можно изменить в любое время в разделе «Обнаружение битов» в параметрах. - + Keep Current Beatgrids Сохранить текущие битовые сетки - + Generate New Beatgrids Создать новые битовые сетки @@ -10517,69 +10857,82 @@ Do you want to scan your library for cover files now? 14 бит (MSB) - + Main + Audio path indetifier Главное - + Booth + Audio path indetifier Кабина - + Headphones + Audio path indetifier Наушники - + Left Bus + Audio path indetifier Левая шина - + Center Bus + Audio path indetifier Центральная шина - + Right Bus + Audio path indetifier Правая шина - + Invalid Bus + Audio path indetifier Недопустимая шина - + Deck + Audio path indetifier Дека - + Record/Broadcast + Audio path indetifier Запись/Трансляция - + Vinyl Control + Audio path indetifier Управление пластинками - + Microphone + Audio path indetifier Микрофон - + Auxiliary + Audio path indetifier Вспомогательное устройство - + Unknown path type %1 + Audio path Неизвестный тип пути %1 @@ -10922,47 +11275,49 @@ With width at zero, this allows for manually sweeping over the entire delay rang Ширина - + Metronome Метроном - + + The Mixxx Team - + Adds a metronome click sound to the stream Добавляет звук метронома в трансляцию - + BPM Кол-во ударов в минуту - + Set the beats per minute value of the click sound Установить значение количества ударов в минуту для звука щелчка - + Sync Синхронизация - + Synchronizes the BPM with the track if it can be retrieved Синхронизирует количество ударов в минуту с треком, если эти данные можно получить - + + Gain - + Set the gain of metronome click sound @@ -11765,14 +12120,14 @@ Fully right: end of the effect period Запись OGG не поддерживается. Не удаётся инициализировать библиотеку OGG/Vorbis. - - + + encoder failure ошибка кодировщика - - + + Failed to apply the selected settings. Не удалось применить выбранные параметры. @@ -11980,15 +12335,86 @@ and the processed output signal as close as possible in perceived loudness + + Auto Gain Control + + + + + AGC + + + + + Auto Gain Control (AGC) automatically adjusts the gain of an audio signal to maintain a consistent output level. + + + + Threshold (dBFS) + Threshold + + + The Threshold knob adjusts the level above which the effect starts enhancing the input signal + + + + + Target (dBFS) + + + + + Target + + + + + The Target knob adjusts the desired target level of the output signal + + + + + Gain (dB) + + + + + The Gain knob adjusts the maximum amount of gain that the effect will apply + + + + + Knee (dB) + + + + + The Knee knob defines the range around the Threshold where gain changes are applied gradually, +ensuring smooth transitions and avoiding abrupt level shifts. + + + + + The Attack knob sets the time that determines how fast the auto gain +will set in once the signal exceeds the threshold + + + + + The Release knob sets the time that determines how fast the auto gain will recover from the gain +adjustment once the signal falls under the threshold. Depending on the input signal, short release times +may introduce a 'pumping' effect and/or distortion. + + The Threshold knob adjusts the level above which the compressor starts attenuating the input signal @@ -12017,6 +12443,7 @@ At a ratio of 1:1 no compression is happening, as the input is exactly the outpu + Knee @@ -12027,11 +12454,13 @@ At a ratio of 1:1 no compression is happening, as the input is exactly the outpu + Attack (ms) + Attack @@ -12043,11 +12472,13 @@ will set in once the signal exceeds the threshold + Release (ms) + Release @@ -12076,12 +12507,12 @@ may introduce a 'pumping' effect and/or distortion. - + built-in - + missing @@ -12116,42 +12547,42 @@ may introduce a 'pumping' effect and/or distortion. - + Empty - + Simple - + Filtered - + HSV - + VSyncTest - + RGB - + Stacked - + Unknown @@ -12412,193 +12843,193 @@ may introduce a 'pumping' effect and/or distortion. ShoutConnection - - + + Mixxx encountered a problem Mixxx столкнулся с проблемой - + Could not allocate shout_t Не удалось выделить shout_t - + Could not allocate shout_metadata_t Не удалось выделить shout_metadata_t - + Error setting non-blocking mode: Ошибка настройки неблокирующего режима: - + Error setting tls mode: Ошибка настройки режима tls: - + Error setting hostname! Ошибка настройки имени хоста! - + Error setting port! Ошибка настройки порта! - + Error setting password! Ошибка настройки пароля! - + Error setting mount! Ошибка настройки точки подключения! - + Error setting username! Ошибка настройки имени пользователя! - + Error setting stream name! Ошибка настройки названия трансляции! - + Error setting stream description! Ошибка настройки описания трансляции! - + Error setting stream genre! Ошибка настройки жанра трансляции! - + Error setting stream url! Ошибка настройки адреса трансляции! - + Error setting stream IRC! Ошибка настройки IRC трансляции! - + Error setting stream AIM! Ошибка настройки AIM трансляции! - + Error setting stream ICQ! Ошибка настройки ICQ трансляции! - + Error setting stream public! Ошибка настройки открытой трансляции! - + Unknown stream encoding format! Неизвестный формат кодировки трансляции! - + Use a libshout version with %1 enabled Используйте версию libshout с включённым %1 - + Error setting stream encoding format! Ошибка настройки формата кодировки трансляции! - + Broadcasting at 96 kHz with Ogg Vorbis is not currently supported. Please try a different sample rate or switch to a different encoding. Трансляция на частоте 96 кГц с помощью Ogg Vorbis в настоящее время не поддерживается. Попробуйте другую частоту дискретизации или переключитесь на другую кодировку. - + See https://github.com/mixxxdj/mixxx/issues/5701 for more information. Более подробная информация содержится здесь: https://github.com/mixxxdj/mixxx/issues/5701. - + Unsupported sample rate Неподдерживаемая частота дискретизации - + Error setting bitrate Ошибка настройки битрейта - + Error: unknown server protocol! Ошибка: неизвестный протокол сервера! - + Error: Shoutcast only supports MP3 and AAC encoders Ошибка: Shoutcast поддерживает только кодировщики MP3 и AAC - + Error setting protocol! Ошибка настройки протокола! - + Network cache overflow Переполнение сетевого кэша - + Connection error Ошибка подключения - + One of the Live Broadcasting connections raised this error:<br><b>Error with connection '%1':</b><br> Одно из соединений прямой трансляции вернуло ошибку:<br><b>Ошибка соединения «%1»:</b><br> - + Connection message Сообщение подключения - + <b>Message from Live Broadcasting connection '%1':</b><br> <b>Сообщение от соединения прямой трансляции «%1»:</b><br> - + Lost connection to streaming server and %1 attempts to reconnect have failed. Соединение с сервером потеряно, и попытки %1переподключиться неудачны. - + Lost connection to streaming server. Соединение с сервером потеряно. - + Please check your connection to the Internet. Проверьте подключение к Интернету. - + Can't connect to streaming server Не удаётся подключиться к серверу - + Please check your connection to the Internet and verify that your username and password are correct. Проверьте подключение к Интернету и убедитесь в правильности указанных имени пользователя и пароля. @@ -12606,7 +13037,7 @@ may introduce a 'pumping' effect and/or distortion. SoftwareWaveformWidget - + Filtered Фильтрация @@ -12614,23 +13045,23 @@ may introduce a 'pumping' effect and/or distortion. SoundManager - - + + a device устройство - + An unknown error occurred Произошла неизвестная ошибка - + Two outputs cannot share channels on "%1" Два вывода не могут иметь общий канал в «%1» - + Error opening "%1" Ошибка при открытии «%1» @@ -12815,7 +13246,7 @@ may introduce a 'pumping' effect and/or distortion. - + Spinning Vinyl Крутящаяся пластинка @@ -12997,7 +13428,7 @@ may introduce a 'pumping' effect and/or distortion. - + Cover Art Обложка @@ -13187,243 +13618,243 @@ may introduce a 'pumping' effect and/or distortion. Удерживает нулевое значение усиления эквалайзера низких частот, когда включено. - + Displays the tempo of the loaded track in BPM (beats per minute). Отображает темп загруженного трека в BPM (ударах в минуту). - + Tempo Темп - + Key The musical key of a track Тональность - + BPM Tap Ввод BPM вручную - + When tapped repeatedly, adjusts the BPM to match the tapped BPM. При повторяющихся нажатиях корректирует BPM для соответствия с указанными значениями. - + Adjust BPM Down Понизить BPM - + When tapped, adjusts the average BPM down by a small amount. При нажатии снижает BPM на небольшую величину. - + Adjust BPM Up Повысить BPM - + When tapped, adjusts the average BPM up by a small amount. При нажатии корректирует средний BPM на небольшое значение. - + Adjust Beats Earlier Перемещает биты назад - + When tapped, moves the beatgrid left by a small amount. При нажатии перемещает битовую сетку влево на небольшую величину. - + Adjust Beats Later Перемещает биты вперёд - + When tapped, moves the beatgrid right by a small amount. При нажатии перемещает битовую сетку вправо на небольшую величину. - + Tempo and BPM Tap Темп и введённый вручную BPM - + Show/hide the spinning vinyl section. Показать/скрыть раздел крутящейся пластинки. - + Keylock Блокировка тональности - + Toggling keylock during playback may result in a momentary audio glitch. Включение блокировки во время воспроизведения может привести к кратковременному сбою вывода. - + Toggle visibility of Loop Controls Переключить видимость элементов управления петлёй - + Toggle visibility of Beatjump Controls Переключить видимость элементов управления битовых прыжков - + Toggle visibility of Rate Control Переключить видимость управления скоростью - + Toggle visibility of Key Controls Переключить видимость элементов управления тональностью - + (while previewing) (при предварительном просмотре) - + Places a cue point at the current position on the waveform. Ставит точку воспроизведения на текущей позиции на форме звуковой волны. - + Stops track at cue point, OR go to cue point and play after release (CUP mode). Останавливает трек в точке метки или переходит к ключевой точке и воспроизводит после релиза (режим CUP). - + Set cue point (Pioneer/Mixxx/Numark mode), set cue point and play after release (CUP mode) OR preview from it (Denon mode). Установить точку метки (режим Pioneer/Mixxx/Numark), установить точку метки и воспроизвести (режим CUP) или включить предварительный просмотр (режим Denon). - + Is latching the playing state. Фиксирует состояние воспроизведения. - + Seeks the track to the cue point and stops. Переходит к метке на треке и останавливается. - + Play Играть - + Plays track from the cue point. Воспроизвозит трек с точки метки. - + Sends the selected channel's audio to the headphone output, selected in Preferences -> Sound Hardware. Отправляет аудио выбранного канала на выход для наушников, выбранный в разделе Параметры -> Звуковое оборудование. - + (This skin should be updated to use Sync Lock!) (Для использования блокировки синхронизации необходимо обновить этот скин!) - + Enable Sync Lock Включить блокировку синхронизации - + Tap to sync the tempo to other playing tracks or the sync leader. Нажмите, чтобы синхронизировать темп с другими воспроизводимыми треками или с лидером синхронизации. - + Enable Sync Leader Включить лидера синхронизации - + When enabled, this device will serve as the sync leader for all other decks. Когда эта функция включена, это устройство будет служить лидером синхронизации для всех остальных дек. - + This is relevant when a dynamic tempo track is loaded to a sync leader deck.In that case, other synced devices will adopt the changing tempo. - + Changes the track playback speed (affects both the tempo and the pitch). If keylock is enabled, only the tempo is affected. Изменяет скорость воспроизведения трека (влияет на темп и питч). Если включена блокировка, затрагивается только темп. - + Tempo Range Display Отображение диапазона темпа - + Displays the current range of the tempo slider. Отображает текущий диапазон ползунка темпа. - + Un-ejects when no track is loaded, i.e. reloads the track that was ejected last (of any deck). Отменяет извлечение, когда треки не загружены, то есть перезагружает трек, который был извлечён последним (из любой деки). - + Delete selected hotcue. Удалить выбранную горячую метку. - + Track Comment Комментарий трека - + Displays the comment tag of the loaded track. Показывает метку комментария загруженного трека. - + Opens separate artwork viewer. Открывает отдельный просмотрщик обложек. - + Effect Chain Preset Settings Параметры шаблона цепочки эффектов - + Show the effect chain settings menu for this unit. Показать параметры цепочки эффектов для этого элемента. - + Select and configure a hardware device for this input Выбрать и настроить устройство ввода - + Recording Duration Длительность записи @@ -13646,949 +14077,984 @@ may introduce a 'pumping' effect and/or distortion. - + When tapped repeatedly, adjusts the tempo to match the tapped BPM. + + + Click to open the tempo/BPM editor + + + + + It also shows a colored bar if Key colors are enabled in the Preferences. + + + The bar will be split vertically if the track's key is in between full keys. + + + + Tempo Tap - + Rate Tap and BPM Tap - + + Set Tempo + + + + + Set the desired tempo in BPM. If the track currently has no BPM detected, set the desired tempo in percent. + + + + Adjust beatgrid by exactly one half beat. Usable only on tracks with constant tempo. - + Revert last BPM/Beatgrid Change - + Revert last BPM/Beatgrid Change of the loaded track. - - + + Toggle the BPM/beatgrid lock - + Tempo and Rate Tap - + Tempo, Rate Tap and BPM Tap - + Shift cues earlier Сдвигает метки на более ранний период - - + + Shift cues imported from Serato or Rekordbox if they are slightly off time. Сдвигать метки, импортированные из Serato или Rekordbox, если они немного не совпадают по времени. - + Left click: shift 10 milliseconds earlier Щелчок слева: сдвиг на 10 миллисекунд назад - + Right click: shift 1 millisecond earlier Щелчок правой кнопкой мыши: сдвиг на 1 миллисекунду ранее - + Shift cues later Сдвигает метки на более поздний период - + Left click: shift 10 milliseconds later Щелчок слева: сдвиг на 10 миллисекунд вперёд - + Right click: shift 1 millisecond later Щелчок правой кнопкой мыши: сдвиг на 1 миллисекунду позднее - - - + + + Drag a Hotcue button here to continue playing after releasing the Hotcue. - + Hint: Change the default cue mode in Preferences -> Decks. - + Mutes the selected channel's audio in the main output. Отключает звук выбранного канала на основном выходе. - + Main mix enable Включить основной микс - + Hold or short click for latching to mix this input into the main output. Удерживайте или коротко щёлкните для фиксации, чтобы смешать этот ввод с основным выводом. - + + Reloads the last replaced track. If no track is loaded reloads the second-last ejected track. + + + + If hotcue is a loop cue, toggles the loop and jumps to if the loop is behind the play position. - + If the play position is inside an active loop, stores the loop as loop cue. - + Drag this button onto another Hotcue button to move it there (change its index). If the other hotcue is set, the two are swapped. - + Expand/Collapse Samplers - + Toggle expanded samplers view. - + Displays the duration of the running recording. Показывает длительность текущей записи. - + Auto DJ is active Auto DJ активен - + Red for when needle skip has been detected. - + Hot Cue - Track will seek to nearest previous hotcue point. Горячая метка — произойдёт переход по треку к ближайшей предыдущей точке горячей метки. - + Sets the track Loop-In Marker to the current play position. Устанавливает маркер начала петли на текущую позицию воспроизведения трека. - + Press and hold to move Loop-In Marker. Нажмите и удерживайте, чтобы переместить маркер начала петли. - + Jump to Loop-In Marker. Перейти к маркеру начала петли. - + Sets the track Loop-Out Marker to the current play position. Устанавливает маркер выхода из петли на текущей позиции воспроизведения трека. - + Press and hold to move Loop-Out Marker. Нажмите и удерживайте, чтобы переместить маркер окончания петли. - + Jump to Loop-Out Marker. Перейти к маркеру конца петли. - + If the track has no beats the unit is seconds. - + Beatloop Size Размер битовой петли - + Select the size of the loop in beats to set with the Beatloop button. Выбор размера петли в битах для установки с помощью кнопки «Битовая петля». - + Changing this resizes the loop if the loop already matches this size. Этот параметр изменяет размер цикла, если цикл уже соответствует этому размеру. - + Halve the size of an existing beatloop, or halve the size of the next beatloop set with the Beatloop button. Сократить размер существующей битовой петли вдвое, либо сократить размер следующей битовой петли с помощью кнопки «Битовая петля». - + Double the size of an existing beatloop, or double the size of the next beatloop set with the Beatloop button. Удвойте размер существующей битовой петли или удвоить размер следующей битовой петли, установленной с помощью кнопки «Битовая петля». - + Start a loop over the set number of beats. Запускает цикл после указанного количества битов. - + Temporarily enable a rolling loop over the set number of beats. Временно включить повторяющийся цикл в течение заданного количества битов. - + Beatloop Anchor - + Define whether the loop is created and adjusted from its staring point or ending point. - + Beatjump/Loop Move Size Размер перемещения прыжков по треку/петли - + Select the number of beats to jump or move the loop with the Beatjump Forward/Backward buttons. Выберите количество ударов для перехода или переместите цикл с помощью кнопок перехода по битам вперёд/назад. - + Beatjump Forward Прыжки по треку вперёд - + Jump forward by the set number of beats. Перейти вперёд на указанное количество битов. - + Move the loop forward by the set number of beats. Переместить петлю вперёд на указанное количество битов. - + Jump forward by 1 beat. Перескочить вперёд на 1 бит. - + Move the loop forward by 1 beat. Передвинуть петлю вперед на 1 удар. - + Beatjump Backward Обратные прыжки по треку - + Jump backward by the set number of beats. Перейти назад на указанное количество битов. - + Move the loop backward by the set number of beats. Переместить петлю назад на указанное количество битов. - + Jump backward by 1 beat. Перейти назад на 1 бит. - + Move the loop backward by 1 beat. Передвинуть петлю назад на 1 бит. - + Reloop Повторить петлю - + If the loop is ahead of the current position, looping will start when the loop is reached. Если петля находится дальше относительно текущей позиции, она начнётся при достижении соответствующей точки. - + Works only if Loop-In and Loop-Out Marker are set. Срабатывает только если указаны маркеры входа и выхода из петли. - + Enable loop, jump to Loop-In Marker, and stop playback. Включить петлю, перейти к маркеру входа в петлю и остановить воспроизведение. - + Displays the elapsed and/or remaining time of the track loaded. Отображает прошедшее и/или оставшееся время загруженного трека. - + Click to toggle between time elapsed/remaining time/both. Нажмите, чтобы переключаться между истёкшим/оставшимся временем. - + Hint: Change the time format in Preferences -> Decks. Подсказка: Изменить формат времени можно в меню Параметры -> Деки. - + Show/hide intro & outro markers and associated buttons. Проказать/скрыть маркеры вступления и завершения и соответствующие кнопки. - + + Ensure all waveforms to have the same height across all channels. By default, when displaying the stem controls, waveform for channel that have no stem may render with a shorter height in order to honor the waveform container size you have requested.. + + + + Intro Start Marker Маркер начала вступления - - - - + + + + If marker is set, jumps to the marker. Если маркер указан, переходит к маркеру. - - - - + + + + If marker is not set, sets the marker to the current play position. Если маркер не указан, устанавливает маркер на текущую позицию воспроизведения. - - - - + + + + If marker is set, clears the marker. Если маркер указан, удаляет его. - + Intro End Marker Маркер конца вступления - + Outro Start Marker Маркер начала завершения - + Outro End Marker Маркер окончания завершения - + Mix Микс - + Adjust the mixing of the dry (input) signal with the wet (output) signal of the effect unit Настройка способа смешивания оригинального сигнала с обработанным сигналом элементов эффекта - + D/W mode: Crossfade between dry and wet Режим D/W: Кроссфейд между оригинальным и обработанным - + D+W mode: Add wet to dry Режим D+W: Добавить к оригинальному обработанный - + Mix Mode Режим микшера - + Adjust how the dry (input) signal is mixed with the wet (output) signal of the effect unit Настройка способа смешивания оригинального сигнала с обработанным сигналом элементов эффекта - + Dry/Wet mode (crossed lines): Mix knob crossfades between dry and wet Use this to change the sound of the track with EQ and filter effects. Режим «Оригинальный/обработанный сигналы» («crossed lines»): Ручка микширования переходит от оригинального к обработанному. Используйте эту функцию, чтобы изменить звучание трека с помощью эффектов эквалайзера и фильтра. - + Dry+Wet mode (flat dry line): Mix knob adds wet to dry Use this to change only the effected (wet) signal with EQ and filter effects. Режим «Оригинал + Обработанный сигнал (flat dry line): Используйте эту функцию, чтобы изменить только обработанный сигнал с помощью эффектов эквалайзера и фильтра. - + Route the main mix through this effect unit. Направить основной микс через этот блок эффектов. - + Route the left crossfader bus through this effect unit. Перенаправить левую шину кроссфейдера через этот блок эффектов. - + Route the right crossfader bus through this effect unit. Направить правую шину кроссфейдера через этот блок эффектов. - + Right side active: parameter moves with right half of Meta Knob turn Активна правая сторона: параметр перемещается при повороте правой половины мета ручки - + Stem Label - + Name of the stem stored in the stem file - + Text is displayed in the stem color stored in the stem file - + this stem color is also used for the waveform of this stem - + Stem Mute - + Toggle the stem mute/unmuted - + Stem Volume Knob - + Adjusts the volume of the stem - + Skin Settings Menu Меню параметров скина - + Show/hide skin settings menu Показать/скрыть меню параметров скина - + Save Sampler Bank Сохранить банк сэмплера - + Save the collection of samples loaded in the samplers. Сохранить коллекцию сэмплов, загруженную в сэмплеры. - + Load Sampler Bank Загрузить банк сэмплера - + Load a previously saved collection of samples into the samplers. Загрузить предыдущую сохранённую коллекцию сэмплов в сэмплеры. - + Show Effect Parameters Показать параметры эффекта - + Enable Effect Включить эффект - + Meta Knob Link Привязка мета ручки - + Set how this parameter is linked to the effect's Meta Knob. Позволяет указать как параметр связан с метаручкой эффекта. - + Meta Knob Link Inversion Инверсия привязки мета ручки - + Inverts the direction this parameter moves when turning the effect's Meta Knob. Инвертирует направление, в котором двигается этот параметр, при повороте эффекта с помощью метаручки. - + Super Knob Супер ручка - + Next Chain Следующая цепочка - + Previous Chain Предыдущие цепи - + Next/Previous Chain Следующий/предыдущий цепь - + Clear Удалить - + Clear the current effect. Удалить текущий эффект. - + Toggle Переключение - + Toggle the current effect. Переключение текущего эффекта. - + Next Следующая - + Clear Unit Удалить блок - + Clear effect unit. Удалить блок эффектов. - + Show/hide parameters for effects in this unit. Показать/скрыть параметры эффекта в этом блоке. - + Toggle Unit Переключение блока - + Enable or disable this whole effect unit. Включить или отключить этот блок эффекта. - + Controls the Meta Knob of all effects in this unit together. Управляет метаручкой всех эффектов этого блока. - + Load next effect chain preset into this effect unit. Загрузить следующую цепочку эффектов в этот блок эффектов. - + Load previous effect chain preset into this effect unit. Загрузить предыдущую цепочку эффектов в этот блок эффектов. - + Load next or previous effect chain preset into this effect unit. Загрузить следующую или предыдущую цепочку эффектов в этот блок эффектов. - - - - - - - - - + + + + + + + + + Assign Effect Unit Назначить модуль эффектов - + Assign this effect unit to the channel output. Назначить этот блок эффектов выходному каналу. - + Route the headphone channel through this effect unit. Перенаправить канал наушников через этот блок эффектов. - + Route this deck through the indicated effect unit. Направить эту деку через указанный блок эффектов. - + Route this sampler through the indicated effect unit. Направить этот сэмплер через указанный блок эффектов. - + Route this microphone through the indicated effect unit. Направить этот микрофон через указанный блок эффектов. - + Route this auxiliary input through the indicated effect unit. Направить этот вспомогательный вход через указанный блок эффектов. - + The effect unit must also be assigned to a deck or other sound source to hear the effect. Блок эффектов также должен быть подключён к деке или другому источнику звука, чтобы эффект было слышно. - + Switch to the next effect. Перейти к следующему эффекту. - + Previous Предыдущий - + Switch to the previous effect. Перейти к предыдущему эффекту. - + Next or Previous Следующий или предыдущий - + Switch to either the next or previous effect. Перейти к следующему или предыдущему эффекту. - + Meta Knob Мета ручка - + Controls linked parameters of this effect Позволяет настроить связанные с этим эффектом параметры - + Effect Focus Button Кнопка фокуса на эффекте - + Focuses this effect. Выделяет этот эффект. - + Unfocuses this effect. Убирает выделение с этого эффекта. - + Refer to the web page on the Mixxx wiki for your controller for more information. Обратитесь к веб-странице вашего контроллера в Mixxx wiki для получения дополнительной информации. - + Effect Parameter Параметры эффекта - + Adjusts a parameter of the effect. Настраивает параметр эффекта. - + Inactive: parameter not linked Неактивно: параметр не привязан - + Active: parameter moves with Meta Knob Активно: параметр перемещается с помощью метаручки - + Left side active: parameter moves with left half of Meta Knob turn Активна левая сторона: параметр перемещается с помощью поворота правой половины мета ручки - + Left and right side active: parameter moves across range with half of Meta Knob turn and back with the other half Активны левая и правая сторона: параметр перемещается по диапазону с половиной поворота мета ручки и обратно с другой половиной - - + + Equalizer Parameter Kill Подавление параметра эквалайзера - - + + Holds the gain of the EQ to zero while active. Удерживает нулевое значение усиления эквалайзера, когда включено. - + Quick Effect Super Knob Супер быстрый эффект ручки - + Quick Effect Super Knob (control linked effect parameters). Быстрый эффект супер ручку (контрольные параметры связанного эффекта). - + Hint: Change the default Quick Effect mode in Preferences -> Equalizers. Подсказка: Изменить режим быстрого эффекта по умолчанию можно в меню Параметры -> Эквалайзеры. - + Equalizer Parameter Параметры эквалайзера - + Adjusts the gain of the EQ filter. Настраивает усиление фильтра эквалайзера. - + Hint: Change the default EQ mode in Preferences -> Equalizers. Подсказка: Изменить режим эквалайзера по умолчанию можно в меню Параметры -> Эквалайзеры. - - + + Adjust Beatgrid Настроить битовую сетку - + Adjust beatgrid so the closest beat is aligned with the current play position. Настройка битовой сетки так, чтобы ближайший бит совпадал с текущей позицией воспроизведения. - - + + Adjust beatgrid to match another playing deck. Подстроить битовую сетку под проигрывание другой деки. - + If quantize is enabled, snaps to the nearest beat. Если включено квантование, прилипает к ближайшему биту. - + Quantize Квантование - + Toggles quantization. Переключает квантование. - + Loops and cues snap to the nearest beat when quantization is enabled. Петли и метки привязываются к ближайшему биту при включённом квантовании. - + Reverse Реверс - + Reverses track playback during regular playback. Реверсы трека воспроизведения во время регулярных воспроизведения. - + Puts a track into reverse while being held (Censor). Помещает дорожку в обратном во время (цензура). - + Playback continues where the track would have been if it had not been temporarily reversed. Воспроизведение продолжается, где трек был бы если он был не были отменены временно. - - - + + + Play/Pause Воспроизведение/пауза - + Jumps to the beginning of the track. Переход к началу трека. - + Syncs the tempo (BPM) and phase to that of the other track, if BPM is detected on both. Синхронизирует темп (BPM) и фазу с другим треком, если на обоих треках BPM известен. - + Syncs the tempo (BPM) to that of the other track, if BPM is detected on both. Синхронизирует темп (BPM) с другим треком, если на обоих треках BPM известен. - + Sync and Reset Key Синхронизация и сброс тона - + Increases the pitch by one semitone. Повышает питч на один полутон. - + Decreases the pitch by one semitone. Понижает питч на один полутон. - + Enable Vinyl Control Включить управление пластинками - + When disabled, the track is controlled by Mixxx playback controls. Когда эта функция отключена, треком можно управлять с помощью контроллеров воспроизведения Mixxx. - + When enabled, the track responds to external vinyl control. Когда включено, треком можно управлять с внешней панели управления пластинкой. - + Enable Passthrough Включить передачу - + Indicates that the audio buffer is too small to do all audio processing. Сигнализирует о том, что аудиобуфер слишком мал, чтобы выполнить обработку всего аудио. - + Displays cover artwork of the loaded track. Отображает обложку загруженного трека. - + Displays options for editing cover artwork. Отображает параметры для редактирования обложки. - + Star Rating Рейтинг в виде звёзд - + Assign ratings to individual tracks by clicking the stars. Присвоить оценки отдельным трекам с помощью звёздочек. @@ -14723,33 +15189,33 @@ Use this to change only the effected (wet) signal with EQ and filter effects.Сила приглушения наложения микрофона - + Prevents the pitch from changing when the rate changes. Предотвращает изменение при изменении скорость тангажа. - + Changes the number of hotcue buttons displayed in the deck Изменяет количество горячих меток, показываемых на деке - + Starts playing from the beginning of the track. Начинает воспроизведение с самого начала трека. - + Jumps to the beginning of the track and stops. Переходит к началу трека и останавливается. - - + + Plays or pauses the track. Воспроизведение или пауза трек. - + (while playing) (при воспроизведении) @@ -14769,215 +15235,215 @@ Use this to change only the effected (wet) signal with EQ and filter effects.Индикатор громкости основного правого канала - + (while stopped) (при остановке) - + Cue Метка - + Headphone Наушники - + Mute Немой - + Old Synchronize Синхронизировать старый - + Syncs to the first deck (in numerical order) that is playing a track and has a BPM. Синхронизирует с первой декой (в числовом порядке), которая играет трек и имеет BPM. - + If no deck is playing, syncs to the first deck that has a BPM. Если деки не играют, синхронизирует с первой декой, имеющей BPM. - + Decks can't sync to samplers and samplers can only sync to decks. Деки нельзя синхронизировать с сэмплерами, а сэмплеры могут синхронизироваться только с деками. - + Hold for at least a second to enable sync lock for this deck. Удерживайте как минимум секунду, чтобы включить блокировку синхронизации для этой деки. - + Decks with sync locked will all play at the same tempo, and decks that also have quantize enabled will always have their beats lined up. Деки с синхронизацией будут играть в одном и том же темпе, а деки у которых также включено квантование, всегда будут выстроены в такт. - + Resets the key to the original track key. Сбрасывает ключ ключу оригинальный трек. - + Speed Control Управление скоростью - - - + + + Changes the track pitch independent of the tempo. Изменяет питч трека независимо от темпа. - + Increases the pitch by 10 cents. Повышает питч на 10 процентов. - + Decreases the pitch by 10 cents. Понижает питч на 10 процентов. - + Pitch Adjust Отрегулируйте высоту - + Adjust the pitch in addition to the speed slider pitch. Настройка питча в дополнение к ползунку скорости. - + Opens a menu to clear hotcues or edit their labels and colors. Открывает меню для удаления горячих меток или для редактирования их ярлыков и цветов. - + Drag this button onto a Play button while previewing to continue playback after release. - + Dragging with Shift key pressed will not start previewing the hotcue. - + Record Mix Записать микс - + Toggle mix recording. Переключение записи микса. - + Enable Live Broadcasting Включить трансляцию - + Stream your mix over the Internet. Транслируйте свой микс через Интернет. - + Provides visual feedback for Live Broadcasting status: Обеспечивает визуальную обратную связь для Live вещания статуса: - + disabled, connecting, connected, failure. отключено, подключение, подключено, ошибка. - + When enabled, the deck directly plays the audio arriving on the vinyl input. Когда этот параметр включён, дека напрямую воспроизводит звук, поступающий на вход пластинки. - + Playback will resume where the track would have been if it had not entered the loop. Воспроизведение возобновится, где трек был бы если он не введен цикла. - + Loop Exit Выход из петли - + Turns the current loop off. Отключение текущего цикла. - + Slip Mode Режим скольжения - + When active, the playback continues muted in the background during a loop, reverse, scratch etc. Когда этот параметр включён, воспроизведение продолжается приглушённым в фоновом режиме во время петли, обратной прокрутки, скретча и так далее. - + Once disabled, the audible playback will resume where the track would have been. После отключения звуковое воспроизведение возобновится с того места, где была бы дорожка. - + Track Key The musical key of a track Тональность трека - + Displays the musical key of the loaded track. Отображает тональность загруженного трека. - + Clock Часы - + Displays the current time. Отображает текущее время. - + Audio Latency Usage Meter Измеритель использования задержки аудио - + Displays the fraction of latency used for audio processing. Отображает долю задержки, используемую для обработки звука. - + A high value indicates that audible glitches are likely. Высокое значение говорит о возможном наличии звуковых сбоев. - + Do not enable keylock, effects or additional decks in this situation. Не включайте блокировку клавиатуры, эффекты или дополнительные деки в этой ситуации. - + Audio Latency Overload Indicator Индикатор перегрузки задержки звука @@ -15017,259 +15483,259 @@ Use this to change only the effected (wet) signal with EQ and filter effects.Включить управление пластинками в пункте Меню -> Функции. - + Displays the current musical key of the loaded track after pitch shifting. Отображает текущий тон загруженного трека после сдвига питча. - + Fast Rewind Быстрая перемотка назад - + Fast rewind through the track. Быстрая перемотка назад по треку. - + Fast Forward Быстрая перемотка вперёд - + Fast forward through the track. Быстрая перемотка вперёд по треку. - + Jumps to the end of the track. Переход к концу трека. - + Sets the pitch to a key that allows a harmonic transition from the other track. Requires a detected key on both involved decks. Устанавливает питч в тональности, обеспечивающей гармоничный переход от другого трека. Требуется известная тональность на обеих задействованных деках. - - - + + + Pitch Control Тангажу - + Pitch Rate Скорость тангажа - + Displays the current playback rate of the track. Отображает текущую скорость воспроизведения трека. - + Repeat Повторите - + When active the track will repeat if you go past the end or reverse before the start. Когда трек активен, он будет повторяться при пропуске конца или включении обратного воспроизведения до старта. - + Eject Извлечь - + Ejects track from the player. Извлечь трек из проигрывателя. - + Hotcue Горячая метка - + If hotcue is set, jumps to the hotcue. Если указана горячая метка, переходит к горячей метке. - + If hotcue is not set, sets the hotcue to the current play position. Если горячая метка не указана, указывает горячую метку на текущей позиции. - + Vinyl Control Mode Режим управления пластинками - + Absolute mode - track position equals needle position and speed. Абсолютный режим — позиция трека равна позиции и скорости иглы. - + Relative mode - track speed equals needle speed regardless of needle position. Относительный режим - трек скорость равна скорость иглы независимо от положения иглы. - + Constant mode - track speed equals last known-steady speed regardless of needle input. Постоянный режим — скорость трека равна последней известной — постоянная скорость независимо от ввода иглы. - + Vinyl Status Статус пластинки - + Provides visual feedback for vinyl control status: Обеспечивает визуальную обратную связь для Винил управления статуса: - + Green for control enabled. Зелёный для управления включён. - + Blinking yellow for when the needle reaches the end of the record. Мигать жёлтым, когда игла достигнет конца записи. - + Loop-In Marker Маркер входа в петлю - + Loop-Out Marker Маркер выхода из петли - + Loop Halve Сократить петлю вдвое - + Halves the current loop's length by moving the end marker. Сокращает вдвое длину петли, перемещая маркер конца. - + Deck immediately loops if past the new endpoint. Дека сразу зацикливается, если вставить новую конечную точку. - + Loop Double Двойная петля - + Doubles the current loop's length by moving the end marker. Удваивает длину текущей петли, перемещая маркер конца. - + Beatloop Битовая петля - + Toggles the current loop on or off. Включает и выключает текущий цикл. - + Works only if Loop-In and Loop-Out marker are set. Срабатывает только если указаны маркеры входа и выхода из петли. - + Vinyl Cueing Mode Режим меток для пластинки - + Determines how cue points are treated in vinyl control Relative mode: Определяет способ работы с точками меток в относительном режиме панели пластинки: - + Off - Cue points ignored. -Ключевые точки игнорируются. - + One Cue - If needle is dropped after the cue point, track will seek to that cue point. Один Cue - если игла удаляется после ключевой точки, трек будет стремиться к этой ключевой точки. - + Track Time Время трека - + Track Duration Длительность трека - + Displays the duration of the loaded track. Отображает продолжительность загруженного трека. - + Information is loaded from the track's metadata tags. Информация загружена из тегов метаданных трека. - + Track Artist Исполнитель трека - + Displays the artist of the loaded track. Отображает исполнителя загруженного трека. - + Track Title Название трека - + Displays the title of the loaded track. Отображает название загруженного трека. - + Track Album Альбом трека - + Displays the album name of the loaded track. Отображает название альбома загруженного трека. - + Track Artist/Title Исполнитель/название трека - + Displays the artist and title of the loaded track. Отображает исполнителя и название загруженного трека. @@ -15500,47 +15966,75 @@ This can not be undone! WCueMenuPopup - + Cue number Номер метки - + Cue position Позиция метки - + Edit cue label Изменить ярлык метки - + Label... Ярлык... - + Delete this cue Удалить эту метку - - Toggle this cue type between normal cue and saved loop + + Turn this cue into a regular hotcue + + + + + Turn this cue into a saved loop + + + + + Left-click: Use the old size if known or the current beatloop size as the loop size + + + + + Right-click: Use the current play position as new loop end if it is after the cue + + + + + Turn this cue into a saved forward jump. + + is a linebreak. Try to not to extend the translation beyond the length of the longest source line so the tooltip remains compact. + + + + + Turn this cue into a saved backward jump (one shot loop). - - Left-click: Use the old size or the current beatloop size as the loop size + + Left-click: Use the old size if known or the current play position as jump start position +If this is already a jump cue, swap the jump position and the cue/target position. - - Right-click: Use the current play position as loop end if it is after the cue + + Right-click: use current play position as new jump start position - + Hotcue #%1 Горячая метка #%1 @@ -15842,171 +16336,181 @@ This can not be undone! + Show Auto DJ + + + + + Switch to the Auto DJ view. + + + + &Full Screen &Полный экран - + Display Mixxx using the full screen Открыть Mixxx в полноэкранном режиме - + &Options &Действия - + &Vinyl Control Управление &пластинками - + Use timecoded vinyls on external turntables to control Mixxx Использовать пластинки с временными метками на внешних проигрывателях для работы с Mixxx - + Enable Vinyl Control &%1 Включить управление пластинкой &%1 - + &Record Mix &Записать микс - + Record your mix to a file Записать микс в файл - + Ctrl+R Ctrl+R - + Enable Live &Broadcasting Включить прямую &трансляцию - + Stream your mixes to a shoutcast or icecast server Прямая трансляция миксов на сервер shoutcast или icecast - + Ctrl+L Ctrl+L - + Enable &Keyboard Shortcuts Включить &комбинации клавиш - + Toggles keyboard shortcuts on or off Переключает комбинации клавиш - + Ctrl+` Ctrl+` - + &Preferences &Параметры - + Change Mixxx settings (e.g. playback, MIDI, controls) Изменить параметры Mixxx (например, элементы управления воспроизведением, MIDI) - + &Developer &Разработчик - + &Reload Skin &Перезагрузить скин - + Reload the skin Перезагрузить скин - + Ctrl+Shift+R Ctrl+Shift+R - + Developer &Tools &Инструменты разработчика - + Opens the developer tools dialog Открывает диалог инструментов разработчика - + Ctrl+Shift+T Ctrl+Shift+T - + Stats: &Experiment Bucket Статистика: Сегмент &Experiment - + Enables experiment mode. Collects stats in the EXPERIMENT tracking bucket. Включает экспериментальный режим. Собирает статистику в сегменте отслеживания EXPERIMENT. - + Ctrl+Shift+E Ctrl+Shift+E - + Stats: &Base Bucket Статистика: &Базовый сегмент - + Enables base mode. Collects stats in the BASE tracking bucket. Включает базовый режим. Собирает статистику в сегменте отслеживания BASE. - + Ctrl+Shift+B Ctrl+Shift+B - + Deb&ugger Enabled От&ладчик включён - + Enables the debugger during skin parsing Включает отладчик при обработке скина - + Ctrl+Shift+D Ctrl+Shift+D - + &Help &Справка @@ -16040,62 +16544,62 @@ This can not be undone! F12 - + &Community Support &Поддержка сообщества - + Get help with Mixxx Получить помощь с Mixxx - + &User Manual &Руководство пользователя - + Read the Mixxx user manual. Открыть руководство пользователя Mixxx. - + &Keyboard Shortcuts &Комбинации клавиш - + Speed up your workflow with keyboard shortcuts. Ускорьте свой рабочий процесс с помощью комбинаций клавиш. - + &Settings directory Каталог &параметров - + Open the Mixxx user settings directory. Открыть катало пользовательских параметров Mixxx. - + &Translate This Application &Перевести это приложение - + Help translate this application into your language. Помогите перевести это приложение на ваш язык. - + &About &О программе - + About the application О приложении @@ -16103,25 +16607,25 @@ This can not be undone! WOverview - + Passthrough Проход - + Ready to play, analyzing... Text on waveform overview when file is playable but no waveform is visible Готов к воспроизведению, производится анализ... - - + + Loading track... Text on waveform overview when file is cached from source Загрузка трека... - + Finalizing... Text on waveform overview during finalizing of waveform analysis Завершение... @@ -16311,625 +16815,640 @@ This can not be undone! WTrackMenu - + Load to Загрузка в - + Deck Дека - + Sampler Сэмплер - + Add to Playlist Добавить в список воспроизведения - + Crates Контейнеры - + Metadata Метаданные - + Update external collections Обновить внешние коллекции - + Cover Art Обложка - + Adjust BPM Настроить BPM - + Select Color Выбрать цвет - - + + Analyze Анализ - - + + Delete Track Files Удалить файлы треков - + Add to Auto DJ Queue (bottom) Добавить в очередь AutoDJ (в конец) - + Add to Auto DJ Queue (top) Добавить в очередь AutoDJ (в начало) - + Add to Auto DJ Queue (replace) Добавить в очередь AutoDJ (заменить) - + Preview Deck Предпросмотр деки - + Remove Удалить - + Remove from Playlist Удалить из списка воспроизведения - + Remove from Crate Удалить из контейнера - + Hide from Library Скрыть в медиатеке - + Unhide from Library Отобразить в медиатеке - + Purge from Library Удалить из медиатеки - + Move Track File(s) to Trash Переместить треки в корзину - + Delete Files from Disk Удалить файлы с диска - + Properties Свойства - + Open in File Browser Открыть в диспетчере файлов - + Select in Library Выбрать в медиатеке - + Import From File Tags Импортировать из тегов файла - + Import From MusicBrainz Импортировать из MusicBrainz - + Export To File Tags Экспортировать в теги файла - + BPM and Beatgrid BPM и битовая сетка - + Play Count Количество воспроизведений - + Rating Рейтинг - + Cue Point Точка метки - - + + Hotcues Горячие метки - + Intro Вступление - + Outro Завершение - + Key Тональность - + ReplayGain Выравнивание громкости - + Waveform Осциллограмма - + Comment Комментарий - + All Все - + Sort hotcues by position (remove offsets) - + Sort hotcues by position - + Lock BPM Заблокировать BPM - + Unlock BPM Разблокировать BPM - + Double BPM Удвоить BPM - + Halve BPM Сократить BPM вдвое - + 2/3 BPM 2/3 BPM - + 3/4 BPM 3/4 BPM - + 4/3 BPM 4/3 BPM - + 3/2 BPM 3/2 BPM - + Shift Beatgrid Half Beat - + Reanalyze Повторно анализировать - + Reanalyze (constant BPM) Повторный анализ (постоянный BPM) - + Reanalyze (variable BPM) Повторный анализ (переменный BPM) - + Update ReplayGain from Deck Gain Обновить выравнивание громкости через выравнивание деки - + Deck %1 Дека %1 - + Importing metadata of %n track(s) from file tags Импорт метаданных одного трека из файловых теговИмпорт метаданных %n треков из файловых теговИмпорт метаданных %n треков из файловых теговИмпорт метаданных %n трека из файловых тегов - + Marking metadata of %n track(s) to be exported into file tags Выделение метаданных одного трека для экспорта в теги файловВыделение метаданных %n треков для экспорта в теги файловВыделение метаданных %n треков для экспорта в теги файловВыделение метаданных %n трека для экспорта в теги файлов - - + + Create New Playlist Создать новый список воспроизведения - + Enter name for new playlist: Введите имя для нового списка воспроизведения: - + New Playlist Новый список воспроизведения - - - + + + Playlist Creation Failed Не удалось создать список воспроизведения - + A playlist by that name already exists. Список воспроизведения с таким именем уже существует. - + A playlist cannot have a blank name. Имя списка воспроизведения не может быть пустым. - + An unknown error occurred while creating playlist: Произошла неизвестная ошибка при создании списка воспроизведения: - + Add to New Crate Добавить в новый контейнер - + Scaling BPM of %n track(s) Вычисление BPM одного трекаВычисление BPM %n трековВычисление BPM %n трековВычисление BPM %n трека - + Undo BPM/beats change of %n track(s) - + Locking BPM of %n track(s) Блокировка BPM одного трекаБлокировка BPM %n трековБлокировка BPM %n трековБлокировка BPM %n трека - + Unlocking BPM of %n track(s) Разлокировка BPM одного трекаРазлокировка BPM %n трековРазлокировка BPM %n трековРазлокировка BPM %n трека - + Setting rating of %n track(s) - + Setting color of %n track(s) Установка цвета одного трекаУстановка цвета %n трековУстановка цвета %n трековУстановка цвета %n трека - + Resetting play count of %n track(s) Сброс количества воспроизведений одного трекаСброс количества воспроизведений %n трековСброс количества воспроизведений %n трековСброс количества воспроизведений %n трека - + Resetting beats of %n track(s) Сброс битов одного трекаСброс битов %n трековСброс битов %n трековСброс битов %n трека - + Clearing rating of %n track(s) Удаление рейтинга одного трекаУдаление рейтинга %n трековУдаление рейтинга %n трековУдаление рейтинга %n трека - + Clearing comment of %n track(s) Удаление комментария одного трекаУдаление комментария %n трековУдаление комментария %n трековУдаление комментария %n трека - + Removing main cue from %n track(s) Удаление основной метки из одного трекаУдаление основной метки из %n трековУдаление основной метки из %n трековУдаление основной метки из %n трека - + Removing outro cue from %n track(s) Удаление метки завершения из одного трекаУдаление метки завершения из %n трековУдаление метки завершения из %n трековУдаление метки завершения из %n трека - + Removing intro cue from %n track(s) Удаление метки вступления из одного трекаУдаление метки вступления из %n трековУдаление метки вступления из %n трековУдаление метки вступления из %n трека - + Removing loop cues from %n track(s) Удаление меток петли из одного трекаУдаление меток петли из %n трековУдаление меток петли из %n трековУдаление меток петли из %n трека - + Removing hot cues from %n track(s) Удаление горячих меток из одного трекаУдаление горячих меток из %n трековУдаление горячих меток из %n трековУдаление горячих меток из %n трека - + Sorting hotcues of %n track(s) by position (remove offsets) - + Sorting hotcues of %n track(s) by position - + Resetting keys of %n track(s) Сброс тональности одного трекаСброс тональности %n трековСброс тональности %n трековСброс тональности %n трека - + Resetting replay gain of %n track(s) Сброс выравнивания громкости одного трекаСброс выравнивания громкости %n трековСброс выравнивания громкости %n трековСброс выравнивания громкости %n трека - + Resetting waveform of %n track(s) Сброс осциллограммы одного трекаСброс осциллограммы %n трековСброс осциллограммы %n трековСброс осциллограммы %n трека - + Resetting all performance metadata of %n track(s) Сброс всех метаданных производительности одного трекаСброс всех метаданных производительности %n трековСброс всех метаданных производительности %n трековСброс всех метаданных производительности %n трека - + Move these files to the trash bin? - + Permanently delete these files from disk? Удалить эти файлы с диска безвозвратно? - - + + This can not be undone! Это действие нельзя отменить! - + Cancel Отмена - + Delete Files Удалить файлы - + Okay Ок - + Move Track File(s) to Trash? Переместить треки в корзину? - + Track Files Deleted Треки удалены - + Track Files Moved To Trash Треки были перемещены в корзину - + %1 track files were moved to trash and purged from the Mixxx database. Следующее количество файлов треков было перемещено в корзину и удалено из базы данных Mixxx: %1. - + %1 track files were deleted from disk and purged from the Mixxx database. Следующее количество файлов треков было удалено с диска и из базы данных Mixxx: %1. - + Track File Deleted Трек удалён - + Track file was deleted from disk and purged from the Mixxx database. Трек был удалён с диска и из базы данных Mixxx. - + The following %1 file(s) could not be deleted from disk Следующее количество файлов нельзя удалить с диска: %1 - + This track file could not be deleted from disk Этот трек нельзя удалить с диска - + Remaining Track File(s) Оставшиеся треки - + Close Закрыть - + Clear Reset metadata in right click track context menu in library - + Loops Петли - + Clear BPM and Beatgrid - + Undo last BPM/beats change - + Move this track file to the trash bin? - + Permanently delete this track file from disk? - + All decks where these tracks are loaded will be stopped and the tracks will be ejected. - + All decks where this track is loaded will be stopped and the track will be ejected. - + Removing %n track file(s) from disk... Удаление %n треков с диска... - + Note: if you are in the Computer or Recording view you need to click the current view again to see changes. Примечание: при нахождении в режиме просмотра компьютера или записи необходимо ещё раз переключиться на текущий режим, чтобы увидеть изменения. - + Track File Moved To Trash Трек перемещён в корзину - + Track file was moved to trash and purged from the Mixxx database. Трек был перемещён в корзину и удалён из базы данных Mixxx. - + Don't show again during this session - + The following %1 file(s) could not be moved to trash Следующее количество файлов нельзя переместить в корзину: %1 - + This track file could not be moved to trash Этот трек нельзя переместить в корзину + + + Replace current Auto DJ queue? + + + + + Do you want to replace the entire Auto DJ queue with the selected tracks? + + + + + Don't ask again during this session + + - + Setting cover art of %n track(s) Установка обложки одного трекаУстановка обложки %n трековУстановка обложки %n трековУстановка обложки %n трека - + Reloading cover art of %n track(s) Перезагрузка обложки одного трекаПерезагрузка обложки %n трековПерезагрузка обложки %n трековПерезагрузка обложки %n трека @@ -16983,37 +17502,37 @@ This can not be undone! WTrackTableView - + Confirm track hide Подтверждение скрытия трека - + Are you sure you want to hide the selected tracks? Скрыть выбранные треки? - + Are you sure you want to remove the selected tracks from AutoDJ queue? Удалить выбранные треки из очереди AutoDJ? - + Are you sure you want to remove the selected tracks from this crate? Удалить выбранные треки из этого контейнера? - + Are you sure you want to remove the selected tracks from this playlist? Удалить выбранные треки из этого списка воспроизведения? - + Don't ask again during this session Больше не спрашивать в этом сеансе - + Confirm track removal Подтверждение удаления трека @@ -17021,12 +17540,12 @@ This can not be undone! WTrackTableViewHeader - + Show or hide columns. Показать или скрыть столбцы. - + Shuffle Tracks @@ -17034,52 +17553,52 @@ This can not be undone! mixxx::CoreServices - + fonts шрифты - + database база данных - + effects эффекты - + audio interface аудио интерфейс - + decks деки - + library библиотека - + Choose music library directory Выберите каталог библиотеки музыки - + controllers контроллеры - + Cannot open database Не удалось открыть базу данных - + Unable to establish a database connection. Mixxx requires QT with SQLite support. Please read the Qt SQL driver documentation for information on how to build it. @@ -17236,6 +17755,24 @@ Mixxx требует QT с поддержкой SQLite. Пожалуйста, п Сетевой запрос не запущен + + mixxx::qml::QmlApplication + + + Existing user profile detected + + + + + Trying to run Mixxx 3.0 with an existing %0 user profile! <br><br>There is <b>serious risks</b> of data loss and corruption.<br>We recommend using a test profile folder with the '--settings-path' argument. <br><br>If you want to continue at your own risk, run Mixxx with the argument '--allow-dangerous-data-corruption-risk'. + + + + + Ok + + + mixxx::qml::QmlVisibleEffectsModel @@ -17244,4 +17781,27 @@ Mixxx требует QT с поддержкой SQLite. Пожалуйста, п Эффекты не загружены. + + mixxx::qml::QmlWaveformRendererMark + + + Cannot find the marker pixmap + + + + + Cannot find the marker endPixmap + + + + + Cannot find the marker icon + + + + + Cannot find the marker endIcon + + + \ No newline at end of file diff --git a/res/translations/mixxx_sl.qm b/res/translations/mixxx_sl.qm index 4b08bf6b646d28a5122e6074ace0666623bd3773..5661a583a0832e29c34214454a227f4d8f1d5647 100644 GIT binary patch delta 58155 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 M^LUHD+O-k?1urNk1poj5 diff --git a/res/translations/mixxx_sl.ts b/res/translations/mixxx_sl.ts index b7614a65df59..0c5393301c4b 100644 --- a/res/translations/mixxx_sl.ts +++ b/res/translations/mixxx_sl.ts @@ -8,6 +8,14 @@ + + AllTrackLibraryFeature + + + All... + + + AnalysisFeature @@ -19,52 +27,52 @@ AutoDJFeature - + Crates Zaboji - + Enable Auto DJ Omogoči Auto DJ - + Disable Auto DJ Onemogoči Auto DJ - + Clear Auto DJ Queue Izbriši Auto DJ čakalno vrsto - + Remove Crate as Track Source Odstrani zaboj kot vir skladb. - + Auto DJ Samodejni DJ - + Confirmation Clear Počisti potrditev - + Do you really want to remove all tracks from the Auto DJ queue? Res želiš odstraniti vse poizvedbe pesmi v Auto DJ? - + This can not be undone. Izbris je trajen. - + Add Crate as Track Source Dodaj zaboj kot vir skladb. @@ -223,7 +231,7 @@ - + Export Playlist Izvozi seznam predvajanja @@ -237,7 +245,7 @@ Export to Engine DJ "Engine DJ" is a product name and must not be translated. - + Izvoz v Engine DJ @@ -277,13 +285,13 @@ - + Playlist Creation Failed Ustvarjanje seznama predvajanja je spodletelo - + An unknown error occurred while creating playlist: Neznana napaka pri ustvarjanju novega seznama predvajanja: @@ -298,12 +306,12 @@ Ali res želite izbrisati seznam predvajanja <b>%1</b>? - + M3U Playlist (*.m3u) M3U seznam predvajanja (*.m3u) - + M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Text CSV (*.csv);;Readable Text (*.txt) M3U seznam predvajanja (*.m3u);;M3U8 seznam predvajanja (*.m3u8);;PLS seznam predvajanja (*.pls);;z vejicami ločen tekst (*.csv);;berljiv tekst (*.txt) @@ -311,12 +319,12 @@ BaseSqlTableModel - + # št. - + Timestamp časovni žig @@ -324,7 +332,7 @@ BaseTrackPlayerImpl - + Couldn't load track. Ne morem naložiti skladbe. @@ -362,7 +370,7 @@ Kanali - + Color Barva @@ -377,7 +385,7 @@ Skladatelj - + Cover Art Naslovnica @@ -387,7 +395,7 @@ Datum dodajanja - + Last Played Nazadnje predvajano @@ -417,7 +425,7 @@ Tonaliteta - + Location Lokacija @@ -427,7 +435,7 @@ Pregled - + Preview Predposlušanje @@ -467,7 +475,7 @@ Leto - + Fetching image ... Tooltip text on the cover art column shown when the cover is read from disk Razčlenitev slike ... @@ -489,22 +497,22 @@ BroadcastProfile - + Can't use secure password storage: keychain access failed. Ne morem uporabiti varne shrambe gesel: dostop do ključev je bil neuspešen. - + Secure password retrieval unsuccessful: keychain access failed. Prevzem varnega gesla je bilo neuspešno: dostop do ključev ni uspel. - + Settings error Napaka v nastavitvah - + <b>Error with settings for '%1':</b><br> <b>Napaka v nastavitvah za '%1':</b><br> @@ -592,7 +600,7 @@ - + Computer Računalnik @@ -612,19 +620,19 @@ Preglej - + "Computer" lets you navigate, view, and load tracks from folders on your hard disk and external devices. "Računalnik" omogoča izbiranje, pregledovanje in nalaganje skladb iz map na vašem disku ali zunanjih naprav. - + It shows the data from the file tags, not track data from your Mixxx library like other track views. - + Prikaže podatke iz oznak datotek in ne podatke iz Mixxx knjižnice, kot pri drugih prikazih skladbe. - + If you load a track file from here, it will be added to your library. - + Skladba, ki se naloži od to, bo dodana v knjižnico. @@ -735,12 +743,12 @@ Ustvarjanje datoteke - + Mixxx Library Mixxx zbirka - + Could not load the following file because it is in use by Mixxx or another application. Datoteke ni bilo mogoče naložiti, ker jo že uporablja Mixxx ali nek drug program. @@ -771,87 +779,92 @@ CmdlineArgs - + Mixxx is an open source DJ software. For more information, see: Mixxx je odprtokodni DJ program. Za več podatkov si oglejte: - + Starts Mixxx in full-screen mode Zaženi Mixxx preko celega zaslona - + Use a custom locale for loading translations. (e.g 'fr') Uporabi lastne krajevne nastavitve za nalaganje prevodov (npr. 'fr') - + Top-level directory where Mixxx should look for its resource files such as MIDI mappings, overriding the default installation location. Vrhnji direktorij v katerem Mixxx išče resurse, kot so MIDI mapiranja. S tem se povozi sicer privzeta lokacija namestitve. - + Path the debug statistics time line is written to Pot do zapisa statistike razhroščevanja - + Causes Mixxx to display/log all of the controller data it receives and script functions it loads Povzroči, da Mixxx prikaže/ beleži vse podatke kontrolerja, ki jih prejme in vse funkcije skript, ki jih naloži. - + The controller mapping will issue more aggressive warnings and errors when detecting misuse of controller APIs. New Controller Mappings should be developed with this option enabled! Mapiranje kontrolorja bo sprožilo več opozoril in napak, v primerih zlorabe API knjižnic. Za razvoj novih mapiranj je ta opcija priporočljiva! - + Enables developer-mode. Includes extra log info, stats on performance, and a Developer tools menu. Vklopi razvojni način. Vsebuje dodatne beležke, statistike o zmogljivosti in meni z razvojnimi orodji. - + Top-level directory where Mixxx should look for settings. Default is: Vrhnji direktorij v kateremu naj Mixxx išče nastavitve. Privzeto je: - + Starts Auto DJ when Mixxx is launched. Zagon samodejnega DJ-a ob zagonu Mixxx - + Rescans the library when Mixxx is launched. Ob zagonu Mixxx ponovno preglej knjižnico. - + Use legacy vu meter Uporabi vgrajeni vu meter - + Use legacy spinny Uporabi vgrajeni spinny - - Loads experimental QML GUI instead of legacy QWidget skin - Naloži eksperimentalni QML grafični vmesnik namesto QWidget preobleke + + Loads the highly unstable 3.0 Mixxx interface, based on QML. You need to use a new setting profile, or run with 'allow-dangerous-data-corruption-risk' to use with the current one. We highly recommend backing up your data if you do so. + + + + + Force Mixxx to load an unstable version with an existing user profile from a stable version + - + Enables safe-mode. Disables OpenGL waveforms, and spinning vinyl widgets. Try this option if Mixxx is crashing on startup. Vklopi varni način. Onemogoči OpenGL valovne oblike in prikaz vrtenja gramofonov. Če se Mixxx ne zažene, preizkusite to možnost. - + [auto|always|never] Use colors on the console output. [auto|always|never] Izpis terminala naj uporablja barve. - + Sets the verbosity of command line logging. critical - Critical/Fatal only warning - Above + Warnings @@ -866,32 +879,32 @@ debug - gornje + razhroščevalna/razvojna sporočila trace - gornje + profilirna sporočila - + Sets the the logging level at which the log buffer is flushed to mixxx.log. <level> is one of the values defined at --log-level above. Določi nivo beleženja na katerem bo medpomnilnik dnevnika prenešen v mixxx.log. <level> je ena od vrednosti, ki so definirane v --log-level zgoraj. - + Sets the maximum file size of the mixxx.log file in bytes. Use -1 for unlimited. The default is 100 MB as 1e5 or 100000000. Nastavi največjo velikost mixxx.log datoteke v bajtih. Uporabi -1 za neskončno. Privzeto je 100 MB kot 1e5 ali 100000000. - + Breaks (SIGINT) Mixxx, if a DEBUG_ASSERT evaluates to false. Under a debugger you can continue afterwards. Prekine (SIGINT) Mixxx, če je vrednost DEBUG_ASSERT neresnična. V razhroščevalniku je potem mogoče nadaljevati izvajanje. - + Overrides the default application GUI style. Possible values: %1 Nadomesti privzeti slog uporabniškega vmesnika programa. Možne vrednosti: %1 - + Load the specified music file(s) at start-up. Each file you specify will be loaded into the next virtual deck. Ob zagonu naloži določene skladbe. Vsaka določena od skladb je naložena v naslednji virtualni predvajalnik. - + Preview rendered controller screens in the Setting windows. Predogled zaslonov kontrolerjev v oknu nastavitev. @@ -984,2557 +997,2585 @@ trace - gornje + profilirna sporočila ControlPickerMenu - + Headphone Output Izhod slušalk - - - + + + + Deck %1 + %1 is the deck number 1 ... 4 Predvajalnik %1 - + Sampler %1 Vzorčevalnik %1 - + Preview Deck %1 Predposlušanje za predvajalnik %1 - + Microphone %1 Mikrofon %1 - + Auxiliary %1 Pomožno AUX vodilo %1 - + Reset to default Nastavi na privzete nastavitve - + Effect Rack %1 Regal z učinki %1 - + Parameter %1 Parameter %1 - + Mixer Mešalka - - + + Crossfader Navzkrižni drsnik - + Headphone mix (pre/main) Miks za slušalke (pred/glavni) - + Toggle headphone split cueing Vklopi/Izklopi simultano predposlušanje in predvajanje preko slušalk - + Headphone delay Zamik za slušalke - + Transport Transport - + Strip-search through track Iskanje po traku skozi skladbo - + Play button Gumb za predvajanje - - + + Set to full volume Nastavi na najvišjo glasnost. - - + + Set to zero volume Nastavi glasnost na nič. - + Stop button Stop gumb - + Jump to start of track and play Skoči na začetek skladbe in predvajaj. - + Jump to end of track Skoči na konec skladbe. - + Reverse roll (Censor) button Gumb za vzvratno predvajanje (Censor) - + Headphone listen button Gumb za poslušanje s slušalkami - - + + Mute button Gumb za utišanje - + Toggle repeat mode Preklopi ponavljanje - - + + Mix orientation (e.g. left, right, center) Orientacija mešalke (npr. levo, desno, sredina) - - + + Set mix orientation to left Usmeri miks v levo - - + + Set mix orientation to center Usmeri miks v sredino - - + + Set mix orientation to right Usmeri miks v desno - + Toggle slip mode Vklop/izklop drsnega načina - - + + BPM BPM - + Increase BPM by 1 Povečaj tempo za 1 BPM - + Decrease BPM by 1 Zmanjšaj tempo za 1 BPM - + Increase BPM by 0.1 Povečaj tempo za 0,1 BPM - + Decrease BPM by 0.1 Zmanjšaj tempo za 0,1 BPM - + BPM tap button Gumb za določitev tempa s tapkanjem - + Toggle quantize mode Vklop/izklop kvantizacije - + One-time beat sync (tempo only) Enkratna sinhronizacija ritma (zgolj tempo) - + One-time beat sync (phase only) Enkratna sinhronizacija ritma (zgolj faza) - + Toggle keylock mode Preklopi zaklep tonalitete - + Equalizers Izravnalniki - + Vinyl Control Gramofonsko upravljanje - + Toggle vinyl-control cueing mode (OFF/ONE/HOT) Izberi način obravnave cue iztočnic za gramofonsko upravljanje (OFF/ONE/HOT) - + Toggle vinyl-control mode (ABS/REL/CONST) Izberi vrsto gramofonskega upravljanja (ABS/REL/CONST) - + Pass through external audio into the internal mixer Prepusti zunanji zvok v notranjo mešalko - + Cues Cue iztočnice - + Cue button Gumb cue iztočnice - + Set cue point Postavi cue iztočnico - + Go to cue point Pojdi cue iztočnico - + Go to cue point and play Pojdi na cue iztočnico in predvajaj - + Go to cue point and stop Pojdi na cue iztočnico in ustavi - + Preview from cue point Predposlušaj od cue iztočnice - + Cue button (CDJ mode) Gumb cue iztočnice (CDJ način) - + Stutter cue Jecljava cue iztočnica - + Hotcues Hotcue iztočnice - + Set, preview from or jump to hotcue %1 Postavi, predposlušaj ali skoči na hotcue iztočnico %1 - + Clear hotcue %1 Briši hotcue izotčnico %1 - + Set hotcue %1 Postavi hotcue iztočnico %1 - + Jump to hotcue %1 Skoči na hotcue izotčnico %1 - + Jump to hotcue %1 and stop Skoči na hotcue iztočnice %1 in ustavi - + Jump to hotcue %1 and play Skoči na hotcue iztočnice %1 in predvajaj - + Preview from hotcue %1 Predposlušaj od hotcue iztočnice %1 - - + + Hotcue %1 Hotcue iztočnica %1 - + Looping Ponavljanje v zanki - + Loop In button Gumb V zanko - + Loop Out button Gumb Iz zanke - + Loop Exit button Gumb Zapusti zanko - + 1/2 1/2 - + 1 1 - + 2 2 - + 4 4 - + 8 8 - + 16 16 - + 32 32 - + 64 64 - + Move loop forward by %1 beats Premakni zanko za %1 udarcev naprej - + Move loop backward by %1 beats Premakni zanko za %1 udarcev nazaj - + Create %1-beat loop Ustvari %1-ritmično zanko - + Create temporary %1-beat loop roll Začasno ustvari kotalečo se %1-ritmično-zanko - + Library Zbirka - + Slot %1 Reža %1 - + Headphone Mix Mix slušalk - + Headphone Split Cue Simultano predposlušanje in predvajanje preko slušalk - + Headphone Delay Zamik slušalk - + Play Predvajaj - + Fast Rewind Hitro previjanje nazaj - + Fast Rewind button Gumb za hitro previjanje nazaj - + Fast Forward Hitro previjanje naprej - + Fast Forward button Gumb za hitro previjanje naprej - + Strip Search Iskanje po traku - + Play Reverse Predvajaj vzvratno - + Play Reverse button Gumb za vzvratno predvajanje - + Reverse Roll (Censor) Vzvratno predvajanje (Censor) - + Jump To Start Skok na začetek - + Jumps to start of track Skoči na začetek skladbe - + Play From Start Predvajaj od začetka - + Stop Ustavi - + Stop And Jump To Start Ustavi in skoči na začetek - + Stop playback and jump to start of track Ustavi predvajanje in skoči na začetek skladbe - + Jump To End Skoči na konec - + Volume Glasnost - - - + + + Volume Fader Regulator glasnosti - - + + Full Volume Najvišja glasnost - - + + Zero Volume Ničelna glasnost - + Track Gain Jakost skladbe - + Track Gain knob Regulator jakosti skladbe - - + + Mute Tiho - + Eject Izvrzi - - + + Headphone Listen Predposlušanje preko slušalk - + Headphone listen (pfl) button Gumb za predposlušanje preko slušalk (pfl) - + Repeat Mode Ponavljanje - + Slip Mode Drsni način - - + + Orientation Orientacija - - + + Orient Left Leva orientacija - - + + Orient Center Sredinska orientacija - - + + Orient Right Desna orientacija - + BPM +1 BPM +1 - + BPM -1 BPM -1 - + BPM +0.1 BPM +0.1 - + BPM -0.1 BPM -0.1 - + BPM Tap Tapkanje tempa v BPM - + Adjust Beatgrid Faster +.01 Pohitri ritmično mrežo +.01 - + Increase track's average BPM by 0.01 Poveča povprečni tempo skladbe za 0.01 BPM - + Adjust Beatgrid Slower -.01 Upočasni ritmično mrežo -.01 - + Decrease track's average BPM by 0.01 Zmanjša povprečni tempo skladbe za 0.01 BPM - + Move Beatgrid Earlier Premakni ritmično mrežo na bolj zgodaj - + Adjust the beatgrid to the left Premakni ritmično mrežo v levo - + Move Beatgrid Later Premakni ritmično mrežo na kasneje - + Adjust the beatgrid to the right Premakni ritmično mrežo v desno - + Adjust Beatgrid Prestavi ritmično mrežo. - + Align beatgrid to current position Ritmično mrežo poravna na trenutno pozicijo v skladbi - + Adjust Beatgrid - Match Alignment Prilagodi ritmično mrežo - ujemi poravnavo - + Adjust beatgrid to match another playing deck. Prilagodi ritmično mrežo, da se bo ujemala z drugim dejavnim predvajalnikom. - + Quantize Mode Vrsta kvantizacije - + Sync Sinhronizacija - + Beat Sync One-Shot Enkratna sinhronizacija ritma - + Sync Tempo One-Shot Enkratna sinhronizacija tempa - + Sync Phase One-Shot Enkratna sinhronizacija faze - + Pitch control (does not affect tempo), center is original pitch Kontrola višine (ne vpliva na tempo). Izhodišče je sredina. - + Pitch Adjust Prilagajanje višine - + Adjust pitch from speed slider pitch Prilagajanje višine z drsnikom za hitrost - + Match musical key Ujemi glasbeno tonaliteto - + Match Key Ujemi tonaliteto - + Reset Key Ponastavi tonaliteto - + Resets key to original Ponastavi glasbeno tonaliteto na originalno - + High EQ Visoki toni - + Mid EQ Srednji toni - - + + Main Output Glavni izhod - + Main Output Balance Ravnovesje glavnega izhoda - + Main Output Delay Zamik glavnega izhoda - + Main Output Gain Jakost glavnega izhoda - + Low EQ Nizki toni - + Toggle Vinyl Control Vklop/Izklop gramofonskega upravljanja - + Toggle Vinyl Control (ON/OFF) Gramofonski načina upravljanja (VKLOP/IZKLOP) - + Vinyl Control Mode Način gramofonskega upravljanja - + Vinyl Control Cueing Mode Predposlušanje v gramofonskem načinu - + Vinyl Control Passthrough Gramofonski način prehoda signala - + Vinyl Control Next Deck Gramofonsko upravljanje naslednjega predvajalnika - + Single deck mode - Switch vinyl control to next deck Predaj gramofonsko upravljanje naselednjemu predvajalniku v posamičnem načinu delovanja predvajalnikov - + Cue Cue iztočnica - + Set Cue Postavi cue iztočnico - + Go-To Cue Skoči na cue izotčnico - + Go-To Cue And Play Skoči na cue iztočnico in predvajaj - + Go-To Cue And Stop Skoči na cue-izotčnico in ustavi - + Preview Cue Predposlušanje cue iztočnice - + Cue (CDJ Mode) Cue iztočnica (CDJ način) - + Stutter Cue Jecljava cue iztočnica - + Go to cue point and play after release Pojdi na cue iztočnico in predvajaj potem, ko spustim - + Clear Hotcue %1 Briši hotcue iztočnico %1 - + Set Hotcue %1 Postavi hotcue iztočnico %1 - + Jump To Hotcue %1 Skoči na hotcue iztočnico %1 - + Jump To Hotcue %1 And Stop Skoči na hotcue iztočnico %1 in ustavi - + Jump To Hotcue %1 And Play Skoči na hotcue iztočnico %1 in predvajaj - + Preview Hotcue %1 Predposlušanje hotcue iztočnice %1 - + Loop In V zanko - + Loop Out Iz zanke - + Loop Exit Zapusti zanko - + Reloop/Exit Loop Ponovi zanko/ zapusti zanko - + Loop Halve Polovična zanka - + Loop Double Dvojna zanka - + 1/32 1/32 - + 1/16 1/16 - + 1/8 1/8 - + 1/4 1/4 - + Move Loop +%1 Beats Premakni zanko za +%1 dobo - + Move Loop -%1 Beats Premakni zanko za -%1 dobo - + Loop %1 Beats Ponavljaj %1 dob - + Loop Roll %1 Beats Kotaleča se zanka %1 dob - + Add to Auto DJ Queue (bottom) Dodaj v zaporedje samodejnega DJ-a (na dno) - + Append the selected track to the Auto DJ Queue Dodaj izbrano skladbo k zaporedju samodejnega DJ-a - + Add to Auto DJ Queue (top) Dodaj v zaporedje samodejnega DJ-a (na vrh) - + Prepend selected track to the Auto DJ Queue Pripni izbrano skladbo na začetek zaporedja samodejnega DJ-a - + Load Track Naloži skladbo - + Load selected track Naloži označeno skladbo - + Load selected track and play Naloži označeno skladbo in predvajaj - - + + Record Mix Posnemi miks - + Toggle mix recording Preklopi snemanje miksa - + Effects Učinki - - Quick Effects - Hitri učinki - - - + Deck %1 Quick Effect Super Knob Super regulator za hitre učinke predvajalnika %1 - + + Quick Effect Super Knob (control linked effect parameters) Super regulator za hitre učinke (nadzor povezanih parametrov učinka) - - + + + + Quick Effect Hitri učinek - + Clear Unit Počisti enoto - + Clear effect unit Pobriši učinek - + Toggle Unit Preklopi enoto - + Dry/Wet Surovo/obogateno - + Adjust the balance between the original (dry) and processed (wet) signal. Spremeni razmerje med originalnim (surovim) in procesiranim (obogatenim) signalom. - + Super Knob Super regulator - + Next Chain Naslednja veriga - + Assign Dodeli - + Clear Počisti - + Clear the current effect Izbriše trenutni učinek - + Toggle Preklopi - + Toggle the current effect Preklopi trenutni učinek - + Next Naslednji - + Switch to next effect Preklopi na naslednji učinek - + Previous Prejšnji - + Switch to the previous effect Preklopi na prejšnji učinek - + Next or Previous Naslednji ali prejšnji - + Switch to either next or previous effect Preklopi na naslednji ali prejšnji učinek - - + + Parameter Value Vrednost parametra - - + + Microphone Ducking Strength Moč redukcije mikrofona - + Microphone Ducking Mode Način redukcije mikrofona - + Gain Jakost - + Gain knob Regulator jakosti - + Shuffle the content of the Auto DJ queue Premešaj skladbe v zaporedju samodejnega DJ-a - + Skip the next track in the Auto DJ queue Preskoči naslednjo skladbo v zaporedju samodejnega DJ-a - + Auto DJ Toggle Preklopi Samodejni DJ - + Toggle Auto DJ On/Off Vkopi/izklopi Samodejni DJ - + Show/hide the microphone & auxiliary section Prikaži/skrij sekcijo z mikrofoni in pomožnimi vodili - + 4 Effect Units Show/Hide Prikaži/skrij štiri učinke - + Switches between showing 2 and 4 effect units Preklopi med prikazom dveh ali štirih učinkov - + Mixer Show/Hide Mešalka prikaži/skrij - + Show or hide the mixer. Prikaži ali skrij mešalko - + Cover Art Show/Hide (Library) Naslovnica prikaži/skrij (knjižnica) - + Show/hide cover art in the library Prikaži/skrij naslovnico v knjižnici - + Library Maximize/Restore Zbirka celozaslonsko/ponastavi - + Maximize the track library to take up all the available screen space. Poveča zbirko skladb preko celega zaslona - + Effect Rack Show/Hide Prikaži/skrij regal z učinki - + Show/hide the effect rack Prikaže ali skrije regal v katerem so učinki - + Waveform Zoom Out Valovna oblika oddalji - + Headphone Gain Jakost slušalk - + Headphone gain Jakost slušalk - + Tap to sync tempo (and phase with quantize enabled), hold to enable permanent sync Tapkajte za sinhronizacijo tempa (in faze, če je vklopljena kvantizacija). Držite, da vklopite trajno sinhronizacijo. - + One-time beat sync tempo (and phase with quantize enabled) Enkratna ritmična sinhronizacija tempa (in faze, če je vklopljena kvantizacija). - + Playback Speed Hitrost predvajanja - + Playback speed control (Vinyl "Pitch" slider) Nadzor hitrosti predvajanja (gramofosnki drsnik za "višino") - + Pitch (Musical key) Višina (glasbena tonaliteta) - + Increase Speed Povečaj hitrost - + Adjust speed faster (coarse) Povečanje hitrosti (grobo) - + Increase Speed (Fine) Pospeši (fino) - + Adjust speed faster (fine) Povečanje hitrosti (fino) - + Decrease Speed Upočasni - + Adjust speed slower (coarse) Zmanjšanje hitrosti (grobo) - + Adjust speed slower (fine) Upočasni (fino) - + Temporarily Increase Speed Začasno pospeši - + Temporarily increase speed (coarse) Začasno poveča hitrost (grobo) - + Temporarily Increase Speed (Fine) Začasno pospeši (fino) - + Temporarily increase speed (fine) Začasno poveča hitrost (fino) - + Temporarily Decrease Speed Začasno upočasni - + Temporarily decrease speed (coarse) Začasno zmanjša hitrost (grobo) - + Temporarily Decrease Speed (Fine) Začasno upočasni (fino) - + Temporarily decrease speed (fine) Začasno zmanjša hitrost (fino) - - + + Adjust %1 Prilagodi %1 - + + Deck %1 Stem %2 + Predvajalnik %1 Stem %2 + + + Effect Unit %1 Učinek %1 - + Button Parameter %1 Nastavitve gumba %1 - + Skin Preobleka - + Controller Kontroler - + Crossfader / Orientation Navzkrižni drsnik / orientacija - + Main Output gain Jakost glavnega izhoda - + Main Output balance Ravnovesje glavnega izhoda - + Main Output delay Zamik glavnega izhoda - + Headphone Slušalke - - + + Kill %1 + %1 is "Low EQ" "Mid EQ" or "High EQ" Izniči %1 - + Eject or un-eject track, i.e. reload the last-ejected track (of any deck)<br>Double-press to reload the last replaced track. In empty decks it reloads the second-last ejected track. Izvrzi ali povovno naloži zadnjo izvrženo skladbo (iz poljubnega prdvajalnika)<br> Dvojni pritisk za ponovno nalaganje nazadnje nadomeščene skladbe. V praznih predvajalnikih naloži predzadnjo izvrženo skladbo. - + BPM / Beatgrid BPM / ritmična mreža - + Halve BPM Razpolovi BPM - + Multiply current BPM by 0.5 Pomnoži trenutni BPM z 0,5 - + 2/3 BPM 2/3 BPM - + Multiply current BPM by 0.666 Pomnoži trenutni BPM z 0,666 - + 3/4 BPM 3/4 BPM - + Multiply current BPM by 0.75 Pomnoži trenutni BPM z 0,75 - + 4/3 BPM 4/3 BPM - + Multiply current BPM by 1.333 Pomnoži trenutni BPM z 1,333 - + 3/2 BPM 3/2 BPM - + Multiply current BPM by 1.5 Pomnoži trenutni BPM z 1,5 - + Double BPM Podvoji BPM - + Multiply current BPM by 2 Pomnoži trenutni BPM z 1 - + Tempo Tap Tapkanje hitrosti - + Tempo tap button Gumb za tapkanje tempa - + Move Beatgrid Premik ritmične mreže - + Adjust the beatgrid to the left or right Premik ritmične mreže levo ali desno - + Move Beatgrid Half a Beat Premakni ritmično mrežo za pol takta - + Adjust the beatgrid by exactly one half beat. Usable only for tracks with constant tempo. Prilagodi ritmično mrežo za točno pol dobe. Uporabno le za skladbe s konstantnim tempom. - - + + Toggle the BPM/beatgrid lock Preklopi zaklep BPM/ritmične mreže - + Revert last BPM/Beatgrid Change Povrni zadnjo spremembo BPM/ritmične mreže - + Revert last BPM/Beatgrid Change of the loaded track. Povrni zadnjo spremembo BPM/ritmične mreže naložene skladbe. - + Sync / Sync Lock Sinhronizacija / Zaklep - + Internal Sync Leader Interni vodič sinhronizacije - + Toggle Internal Sync Leader Preklopi internega vodiča sinhronizacije - - + + Internal Leader BPM Interni vodič BPM - + Internal Leader BPM +1 Interni vodič BPM +1 - + Increase internal Leader BPM by 1 Poveča tempo internega vodiča za 1 BPM - + Internal Leader BPM -1 Interni vodič -1 BPM - + Decrease internal Leader BPM by 1 Zmanjša tempo internega vodiča za 1 BPM - + Internal Leader BPM +0.1 Interni vodič +0,1 BPM - + Increase internal Leader BPM by 0.1 Poveča tempo internega vodiča za 0,1 BPM - + Internal Leader BPM -0.1 Interni vodič -0,1 BPM - + Decrease internal Leader BPM by 0.1 Zmanjša tempo internega vodje za 0,1 BPM - + Sync Leader Vodič sinhronizacije - + Sync mode 3-state toggle / indicator (Off, Soft Leader, Explicit Leader) Preklop treh načinov sinhronizacije / prikazovalnik (izklopljeno, mehak vodič, ekspliciten vodič) - + Speed Hitrost - + Decrease Speed (Fine) Zmanjšaj hitrost (natančno) - + Pitch (Musical Key) Višina (glasbena tonaliteta) - + Increase Pitch Zvišaj tonaliteto - + Increases the pitch by one semitone Zniža tonaliteto za pol tona - + Increase Pitch (Fine) Zvišaj tonaliteto (fino) - + Increases the pitch by 10 cents Zviša tonaliteto za 10 centov - + Decrease Pitch Znižaj tonaliteto - + Decreases the pitch by one semitone Zniža tonaliteto za pol tona - + Decrease Pitch (Fine) Znižaj tonaliteto (fino) - + Decreases the pitch by 10 cents Zniža tonaliteto za 10 centov - + Keylock Zaklep tonalitete - + CUP (Cue + Play) CUP (cue iztočnica + predvajaj) - + Shift cue points earlier Premakni iztočnice na prej - + Shift cue points 10 milliseconds earlier Premakni iztočnice za 10 milisekund nazaj - + Shift cue points earlier (fine) Premakni iztočnice nazaj (fino) - + Shift cue points 1 millisecond earlier Premakni iztočnice za 1 milisekundo nazaj - + Shift cue points later Premakni iztočnice na kasneje - + Shift cue points 10 milliseconds later Premakni iztočnice za 10 milisekund naprej - + Shift cue points later (fine) Premakni iztočnice naprej (fino) - + Shift cue points 1 millisecond later Premakni iztočnice za 1 milisekundo naprej - - + + Sort hotcues by position Sortiranje hotcue iztočnic po položaju - - + + Sort hotcues by position (remove offsets) Sortiranje hotcue iztočnic po položaju (odstrani odmike) - + Hotcues %1-%2 Hotcue iztočnice %1-%2 - + Intro / Outro Markers Uvod / Zaključek oznaki - + Intro Start Marker Oznaka začetka uvoda - + Intro End Marker Oznaka konca uvoda - + Outro Start Marker Outro start oznaka - + Outro End Marker Outro konec oznaka - + intro start marker oznaka začetka uvoda - + intro end marker oznaka konca uvoda - + outro start marker oznaka začetka zaključka - + outro end marker oznaka konca zaključka - + Activate %1 [intro/outro marker Aktiviraj %1 - + Jump to or set the %1 [intro/outro marker Skoči ali postavi %1 - + Set %1 [intro/outro marker Postavi %1 - + Set or jump to the %1 [intro/outro marker Postavi ali skoči na %1 - + Clear %1 [intro/outro marker Počisti %1 - + Clear the %1 [intro/outro marker Počisti %1 - + if the track has no beats the unit is seconds Če steza nima udarcev, je enota v sekundah - + Loop Selected Beats V zanki ponavljaj izbrane dobe - + Create a beat loop of selected beat size Ustvari ritmično zanko iz določenega števila dob - + Loop Roll Selected Beats Kotaleča se zanka določenih dob - + Create a rolling beat loop of selected beat size Ustvari kotalečo se ritmično zanko iz določenega števila dob - + Loop %1 Beats set from its end point Ponavljaj %1 udarcev od končne točke - + Loop Roll %1 Beats set from its end point Kotaleče ponavljaj %1 dob od končne točke - + Create %1-beat loop with the current play position as loop end Ustvari %1-dobno zanko, katere konec je na trenutni poziciji predvajanja - + Create temporary %1-beat loop roll with the current play position as loop end Ustvari začasno %1-dobno zanko, katere konec je na trenutni poziciji predvajanja - + Loop Beats Ritmične zanke - + Loop Roll Beats Kotaleče se ritmične zanke - + Go To Loop In Pojdi na vhod zanke - + Go to Loop In button Gumb za skok na vhod zanke - + Go To Loop Out Pojdi na izhod zanke - + Go to Loop Out button Gumb za skok na izhod zanke - + Toggle loop on/off and jump to Loop In point if loop is behind play position Vklopi/izklopi zanko in skoči na točko V zanko, če je zanka za položajem predvajanja - + Reloop And Stop Ponovi zanko in ustavi - + Enable loop, jump to Loop In point, and stop Vklopi zanko, skoči na točko V zanko in ustavi - + Halve the loop length Razpolovi dolžino zanke - + Double the loop length Podvoji dolžino zanke - + Beat Jump / Loop Move Skok po ritmu / premakni zanko - + Jump / Move Loop Forward %1 Beats Skok /premakni zanko naprej za %1 dob - + Jump / Move Loop Backward %1 Beats Skok /premakni zanko nazaj za %1 dob - + Jump forward by %1 beats, or if a loop is enabled, move the loop forward %1 beats Premakni zanko naprej za %1 dobali, če je zanka vklopljena, premakni zanko naprej za %1 dob - + Jump backward by %1 beats, or if a loop is enabled, move the loop backward %1 beats Premakni zanko nazaj za %1 dobali, če je zanka vklopljena, premakni zanko nazaj za %1 dob - + Beat Jump / Loop Move Forward Selected Beats Skok po ritmu / premakni zanko naprej za izbrano število dob - + Jump forward by the selected number of beats, or if a loop is enabled, move the loop forward by the selected number of beats Skoči naprej za izbrano število dob ali, če je vklopljena zanka, premakni zanko naprej za izbrano število dob. - + Beat Jump / Loop Move Backward Selected Beats Skok po ritmu / premakni zanko nazaj za izbrano število dob - + Jump backward by the selected number of beats, or if a loop is enabled, move the loop backward by the selected number of beats Skoči nazaj za izbrano število dob ali, če je vklopljena zanka, premakni zanko nazaj za izbrano število dob - + Beat Jump Skok za dobo - + Indicate which loop marker remain static when adjusting the size or is inherited from the current position Prikaže, katere oznake zank ostanejo statične med prilagajanjem velikosti in katere se prevzamejo iz trenutnega položaja - + Beat Jump / Loop Move Forward Skok po ritmu / premakni zanko naprej - + Beat Jump / Loop Move Backward Skok po ritmu / premakni zanko nazaj - + Loop Move Forward Premakni zanko naprej - + Loop Move Backward Premakni zanko nazaj - + Remove Temporary Loop Odstrani začasno zanko - + Remove the temporary loop Odstrani začasno zanko - + Navigation Navigacija - + Move up Pomik gor - + Equivalent to pressing the UP key on the keyboard Ustreza tipki GOR na tipkovnici. - + Move down Pomik dol - + Equivalent to pressing the DOWN key on the keyboard Ustreza tipki DOL na tipkovnici - + Move up/down Pomik gor/dol - + Move vertically in either direction using a knob, as if pressing UP/DOWN keys Vertikalni pomik z uporabo vrtljivega gumba, kar ustreza tipkama GOR/DOL - + Scroll Up Drsenje gor - + Equivalent to pressing the PAGE UP key on the keyboard Ustreza tipki PAGE UP na tipkovnici - + Scroll Down Drsenje dol - + Equivalent to pressing the PAGE DOWN key on the keyboard Ustreza tipki PAGE DOWN na tipkovnici - + Scroll up/down Drsenje gor/dol - + Scroll vertically in either direction using a knob, as if pressing PGUP/PGDOWN keys Vertikalno drsenje z uporabo vrtljivega gumba, kar ustreza tipkama PGUP/PGDN - + Move left Pomik levo - + Equivalent to pressing the LEFT key on the keyboard Ustreza tipki LEVO na tipkovnici - + Move right Pomik desno - + Equivalent to pressing the RIGHT key on the keyboard Ustreza tipki DESNO na tipkovnici - + Move left/right Pomik levo/desno - + Move horizontally in either direction using a knob, as if pressing LEFT/RIGHT keys Horizontalni pomik z uporabo vrtljivega gumba, kar ustreza tipkama LEVO/DESNO - + Move focus to right pane Premakni fokus na desni pano - + Equivalent to pressing the TAB key on the keyboard Ustreza tipki TAB na tipkovnici - + Move focus to left pane Premakni fokus na levi pano - + Equivalent to pressing the SHIFT+TAB key on the keyboard Ustreza tipkama SHIFT+TAB na tipkovnici - + Move focus to right/left pane Premakni fokus na levi/desni pano - + Move focus one pane to right or left using a knob, as if pressing TAB/SHIFT+TAB keys Premik fokusa z uporabo vrtljivega gumba, kar ustreza tipkam TAB/SHIFT+TAB - + Sort focused column Sortiranje izpostavljenega stolpca - + Sort the column of the cell that is currently focused, equivalent to clicking on its header Sortira stolpec celice, ki je trenutno izpostavljena - + Go to the currently selected item Pojdi na trenutno izbran element - + Choose the currently selected item and advance forward one pane if appropriate Izbere trenutno označen element in nadaljuje en pano naprej, če je to ustrezno - + Load Track and Play Naloži skladbo in predvajaj - + Add to Auto DJ Queue (replace) Dodaj v zaporedje samodejnega DJ-a (zamenjaj) - + Replace Auto DJ Queue with selected tracks Zamenjaj seznam samodejnega DJ-a z označenimi skladbami - + Select next search history Izberi naslednje zgodovino iskanj - + Selects the next search history entry Izbere naslednji zapis v zgodovini iskanj - + Select previous search history Izberi prejšnjo zgodovino iskanj - + Selects the previous search history entry Izbere prejšnji zapis v zgodovini iskanj - + Move selected search entry Premakni izbrani iskalni vnos - + Moves the selected search history item into given direction and steps Premakne izbrani predmet v zgodovini iskanj v izbrano smer za izbrano število korakov - + Clear search Počisti iskanje - + Clears the search query Počisti iskalno pozvedbo - - + + Select Next Color Available Izberi naslednjo barvo, ki je na voljo - + Select the next color in the color palette for the first selected track Za prvo izbrano skladbo določi naslednjo barvo v barvni paleti - - + + Select Previous Color Available Izberi prejšnjo barvo, ki je na voljo - + Select the previous color in the color palette for the first selected track Za prvo izbrano skladbo določi prejšnjo barvo v barvni paleti - + + Quick Effects Deck %1 + Hitri učinki %1 + + + Deck %1 Quick Effect Enable Button Gumb za vklop hitrega učinka za predvajalnik %1 - + + Quick Effect Enable Button Gumb za vklop hitrega učinka - + + Deck %1 Stem %2 Quick Effect Super Knob + Predvajalnik %1 Stem %2 Hitri učinek super regulator + + + + Deck %1 Stem %2 Quick Effect Enable Button + Predvajalnik %1 Stem %2 Hitri učinek stikalo + + + Enable or disable effect processing Vklopi ali izklopi delovanje učinka - + Super Knob (control effects' Meta Knobs) Super regulator (nadzoruje Meta regulator učinka) - + Mix Mode Toggle Preklapljanje načina miksanja - + Toggle effect unit between D/W and D+W modes Preklapljaj način učinka med D/W in D+W - + Next chain preset Naslednja predloga v verigi - + Previous Chain Predhodna veriga - + Previous chain preset Prejšnja predloga v verigi - + Next/Previous Chain Naslednja/predhodna veriga - + Next or previous chain preset Naslednja ali prejšnja predloga v verigi - - + + Show Effect Parameters Prikaži parametre učinka - + Effect Unit Assignment Dodelitev FX enote - + Meta Knob Meta-regulator - + Effect Meta Knob (control linked effect parameters) Meta-regulator učinka (nadzor povezanih parametrov učinka) - + Meta Knob Mode Način meta-regulatorja - + Set how linked effect parameters change when turning the Meta Knob. Določi kako se spreminjajo povezani parametri učinka, kadar vrtimo meta-regulator. - + Meta Knob Mode Invert Obrnjen meta-regulator - + Invert how linked effect parameters change when turning the Meta Knob. Obrne smer za spreminjanje povezanih parametrov učinka, ko vrtimo meta-regulator. - - + + Button Parameter Value Vrednost parametra gumba - + Microphone / Auxiliary Microphone / pomožno AUX vodilo - + Microphone On/Off Mikrofon vklop/izklop - + Microphone on/off Vklopi/izklopi mikrofon - + Toggle microphone ducking mode (OFF, AUTO, MANUAL) Preklapljanje med načini reduciranja mikrofona (OFF, AUTO, MANUAL) - + Auxiliary On/Off Pomožno AUX vodilo Vklop/izklop - + Auxiliary on/off Pomožno AUX vodilo vklop/izklop - + Auto DJ Samodejni DJ - + Auto DJ Shuffle Samodejni DJ - premešaj - + Auto DJ Skip Next Samodejni DJ - preskoči naslednjo - + Auto DJ Add Random Track V Samodejni DJ dodaj naključno skladbo - + Add a random track to the Auto DJ queue Dodajanje naključne skladbe v čakalno vrsto Samodejnega DJ-a - + Auto DJ Fade To Next Samodejni DJ - prelji v naslednjo - + Trigger the transition to the next track Sproži prelivanje v naslednjo skladbo - + User Interface Uporabniški vmesnik - + Samplers Show/Hide Vzorčevalniki prikaži/skrij - + Show/hide the sampler section Prikaži/skrij razdelek z vzorčevalniki - + Microphone && Auxiliary Show/Hide keep double & to prevent creation of keyboard accelerator Prikaži/skrij mikrofon in pomožno AUX vodilo - + Waveform Zoom Reset To Default Ponastavi povečavo valovne oblike na privzeto - + Reset the waveform zoom level to the default value selected in Preferences -> Waveforms Ponastavitev soptnje povećave valovne oblike na vrednost določeno v Možnosti -> Valovne oblike - + Select the next color in the color palette for the loaded track. Za naloženo skladbo določi naslednjo barvo v barvni paleti - + Select previous color in the color palette for the loaded track. Za naloženo skladbo določi prejšnjo barvo v barvni paleti - + Navigate Through Track Colors Navigacija skozi barve skladb - + Select either next or previous color in the palette for the loaded track. Za naloženo skladbo določite naslednjo ali prejšnjo barvo iz palete. - + Start/Stop Live Broadcasting Začni/ustavi oddajanje v živo - + Stream your mix over the Internet. Prenašajte svoj miks pretočno preko spleta. - + Start/stop recording your mix. Začni/ustavi snemanje miksa. - - + + + Deck %1 Stems + Predvajalnik %1 Stem-i + + + + Samplers Vzorčevalniki - + Vinyl Control Show/Hide Gramofonsko upravljanje prikaži/skrij - + Show/hide the vinyl control section Prikaži/skrij razdelek za gramofonsko upravljanje - + Preview Deck Show/Hide Predposlušanje prikaži/skrij - + Show/hide the preview deck Prikaže ali skrije predvajalnik za predposlušanje - + Toggle 4 Decks Preklopi 4 predvajalnike - + Switches between showing 2 decks and 4 decks. Preklpalja med prikazom 2 ali 4 predvajalnikov. - + Cover Art Show/Hide (Decks) Naslovnica prikaži/skrij (predvajalniki) - + Show/hide cover art in the main decks Prikaži/skrij naslovnico v glavnih predvajalnikih - + Vinyl Spinner Show/Hide Vrtenje gramofona prikaži/skrij - + Show/hide spinning vinyl widget Prikaži ali skrij virtualni garmofon - + Vinyl Spinners Show/Hide (All Decks) Vrtenje gramofonov prikaži/skrij (vsi predvajalniki) - + Show/Hide all spinnies Prikaži/skrij vrtenje za vse gramofone - + Toggle Waveforms Preklop valovnih oblik - + Show/hide the scrolling waveforms. Prikaže/skrije pomikajoče se valovne oblike. - + Waveform zoom Valovna oblika povečava - + Waveform Zoom Valovna oblika povečava - + Zoom waveform in Približaj valovno obliko - + Waveform Zoom In Valovna oblika približaj - + Zoom waveform out Oddalji valovno obliko - + Star Rating Up Povečaj število zvezdic - + Increase the track rating by one star Poveča oceno skladbe za eno zvezdico - + Star Rating Down Zmanjšaj število zvezdic - + Decrease the track rating by one star Zmanjša oceno skladbe za eno zvezdico @@ -3547,6 +3588,159 @@ trace - gornje + profilirna sporočila Neznano + + ControllerHidReportTabsManager + + + Read + + + + + Send + + + + + Payload Size + + + + + bytes + + + + + Byte Position + + + + + Bit Position + + + + + Bit Size + + + + + Logical Min + + + + + Logical Max + + + + + Value + + + + + Physical Min + + + + + Physical Max + + + + + Unit Scaling + + + + + Unit + + + + + Abs/Rel + + + + + + Wrap + + + + + + Linear + + + + + + Preferred + + + + + + Null + + + + + + Volatile + + + + + Usage Page + + + + + Usage + + + + + Relative + + + + + Absolute + + + + + No Wrap + + + + + Non Linear + + + + + No Preferred + + + + + No Null + + + + + Non Volatile + + + ControllerInputMappingTableModel @@ -3682,27 +3876,27 @@ trace - gornje + profilirna sporočila ControllerScriptEngineLegacy - + Controller Mapping File Problem Težava z datoteko mapiranja kontrolerja - + The mapping for controller "%1" cannot be opened. Mapiranja za kontroler "%1" ni mogoče odpreti. - + The functionality provided by this controller mapping will be disabled until the issue has been resolved. Funkcionalnost, ki jo ponuja to mapiranje kontrolerja, bo onemogočena, dokler težava ne bo razrešena. - + File: Datoteka: - + Error: Napaka: @@ -3735,7 +3929,7 @@ trace - gornje + profilirna sporočila - + Lock Zakleni @@ -3765,7 +3959,7 @@ trace - gornje + profilirna sporočila Samodejni DJ - izvor skladbe - + Enter new name for crate: Vnesi novo ime zaboja: @@ -3782,22 +3976,22 @@ trace - gornje + profilirna sporočila Uvozi zaboj - + Export Crate Izvozi zaboj - + Unlock Odkleni - + An unknown error occurred while creating crate: Neznana napaka pri ustvarjanju zaboja: - + Rename Crate Preimenuj zaboj @@ -3807,28 +4001,28 @@ trace - gornje + profilirna sporočila Ustvarite zaboj za svoj naslednji nastop - za najljubše electrohouse skladbe ali za najbolj priljubljene komade. - + Confirm Deletion Potrdite izbris - - + + Renaming Crate Failed Premineovanje zaboja ni uspelo - + Crate Creation Failed Ustvarjanje zaboja ni uspelo - + M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Text CSV (*.csv);;Readable Text (*.txt) M3U seznam predvajanja (*.m3u);;M3U8 seznam predvajanja (*.m3u8);;PLS seznam predvajanja (*.pls);;z vejicami ločen tekst (*.csv);;berljiv tekst (*.txt) - + M3U Playlist (*.m3u) M3U seznam predvajanja (*.m3u) @@ -3849,17 +4043,17 @@ trace - gornje + profilirna sporočila Zaboji omogočajo poljuben način razvrščanja in organizacije! - + Do you really want to delete crate <b>%1</b>? Ali res želite izbrisati zabojnik <b>%1</b>? - + A crate cannot have a blank name. Zaboj ne more biti brez imena. - + A crate by that name already exists. Zaboj s tem imenom že obstaja. @@ -3954,12 +4148,12 @@ trace - gornje + profilirna sporočila Bivši sodelujoči - + Official Website Uradna spletna stran - + Donate Doniraj @@ -4788,123 +4982,140 @@ Skušali ste učiti: %1, %2 DlgPrefBroadcast - + Icecast 2 Icecast 2 - + Shoutcast 1 Shoutcast 1 - + Icecast 1 Icecast 1 - + MP3 MP3 - + Ogg Vorbis Ogg Vorbis - + Opus Opus - + AAC AAC - + HE-AAC HE-AAC - + HE-AACv2 HE-AACv2 - + Automatic Samodejno - + Mono Mono - + Stereo Stereo - - - - + + Saving settings failed + + + + + The password for '%1' contains invalid characters. Please enter it again. + +Note: This can for example be invisible linebreaks when using copy/paste. + + + + + + Action failed Spodletelo dejanje - + You can't create more than %1 source connections. Ne morete ustvariti več kot %1 povezav z virom. - + Source connection %1 Povezava z virom %1 - + + Settings for %1 + Settings for broadcast profile, %1 is the profile name placeholder + Nastavitve za %1 + + + At least one source connection is required. Potrebna je vsaj ena povezava z virom - + Are you sure you want to disconnect every active source connection? Ste prepričani, da želite prekiniti vse aktivne povezave z viri? - - + + Confirmation required Potrebna je potrditev - + '%1' has the same Icecast mountpoint as '%2'. Two source connections to the same server that have the same mountpoint can not be enabled simultaneously. '%1' ima enako Icecast priklopno točko, kot '%2'. Dva vira, ki se povezujeta na isti strežnik, ne moreta imeti hkrati vklopljene iste vstopne točke. - + Are you sure you want to delete '%1'? Ste prepričani, da želite izbrisati '%1'? - + Renaming '%1' Preimenovanje '%1' - + New name for '%1': Novo ime za '%1' - + Can't rename '%1' to '%2': name already in use Ne morem preimenovati '%1' v '%2': ime je že uporabljeno @@ -4917,27 +5128,27 @@ Dva vira, ki se povezujeta na isti strežnik, ne moreta imeti hkrati vklopljene Nastavitve za oddajanje v živo - + Mixxx Icecast Testing Mixxx Icecast preizkus - + Public stream Javni tok - + http://www.mixxx.org http://www.mixxx.org - + Stream name Ime toka - + Due to flaws in some streaming clients, updating Ogg Vorbis metadata dynamically can cause listener glitches and disconnections. Check this box to update the metadata anyway. Zaradi napak v nekaterih klientih za pretakanje, lahko dinamično posodabljanje metapodatkov v Ogg Vorbis privede do napak in prekinjanja povezav. Označite to polje, če želite kljub temu posodabljati te metapodatke. @@ -4977,67 +5188,72 @@ Dva vira, ki se povezujeta na isti strežnik, ne moreta imeti hkrati vklopljene Nastavitve za %1 - + + Available fields: $artist, $title, $year, $album, $genre, $bpm + + + + Dynamically update Ogg Vorbis metadata. Dinamično posodobi metapodatke za Ogg Vorbis. - + ICQ ICQ - + AIM AIM - + Website Spletna stran - + Live mix Miks v živo - + IRC IRC - + Select a source connection above to edit its settings here Zgoraj izberite povezavo z virom, da bi tukaj lahko urejali njene nastavitve - + Password storage Shramba za gesla - + Plain text Navaden tekst - + Secure storage (OS keychain) Varna shramba (OS veriga) - + Genre Zvrst - + Use UTF-8 encoding for metadata. Uporabi UTF-8 za zapisovanje metapodatkov. - + Description Opis @@ -5063,42 +5279,42 @@ Dva vira, ki se povezujeta na isti strežnik, ne moreta imeti hkrati vklopljene Kanali - + Server connection Povezava s strežnikom - + Type Vrsta - + Host Gostitelj - + Login Uporabniško ime - + Mount Vpni - + Port Vrata - + Password Geslo - + Stream info Informacija o toku @@ -5108,17 +5324,17 @@ Dva vira, ki se povezujeta na isti strežnik, ne moreta imeti hkrati vklopljene Metapodatki - + Use static artist and title. Uporabi statičnega izvajalca in naslov. - + Static title Statični naslov - + Static artist Statični izvajalec @@ -5177,13 +5393,14 @@ Dva vira, ki se povezujeta na isti strežnik, ne moreta imeti hkrati vklopljene DlgPrefColors - - + + + By hotcue number Po številki Hotcue iztočnice - + Color Barva @@ -5228,132 +5445,138 @@ Dva vira, ki se povezujeta na isti strežnik, ne moreta imeti hkrati vklopljene + Jump default color + + + + When key colors are enabled, Mixxx will display a color hint associated with each key. - + Ko je vklopljeno obarvanje ključa, Mixxx za vsak ključ prikaže +pripadajočo barvo. - + Enable Key Colors - + Vklopi obarvanje ključa - + Key palette - + Paleta ključev DlgPrefController - + Apply device settings? Potrdim nastavitve za napravo? - + Your settings must be applied before starting the learning wizard. Apply settings and continue? Vaše nastavitve morajo biti potrjene pred zagonom čarovnika za učenje. Potrdim nastavitve in nadaljujem? - + None Brez - + %1 by %2 %1 z %2 - + Mapping has been edited Mapiranje je bilo spremenjeno - + Always overwrite during this session Vedno prepiši medsejo - + Save As Shrani kot - + Overwrite Prepiši - + Save user mapping Shrani mapiranje uporabnika - + Enter the name for saving the mapping to the user folder. Vnesite ime za shranjevanje mapiranja v uporabnikovo mapo. - + Saving mapping failed Shranjevanje mapiranja ni uspelo - + A mapping cannot have a blank name and may not contain special characters. Mapiranje ne more biti brez imena, ime pa ne sme vsebovati posebnih znakov. - + A mapping file with that name already exists. Mapiranje s tem imenom že obstaja. - + Do you want to save the changes? Ali bi radi shranili spremembe? - + Troubleshooting Odpravlajnje težav - + <font color='#BB0000'><b>If you use this mapping your controller may not work correctly. Please select another mapping or disable the controller.</b></font><br><br>This mapping was designed for a newer Mixxx Controller Engine and cannot be used on your current Mixxx installation.<br>Your Mixxx installation has Controller Engine version %1. This mapping requires a Controller Engine version >= %2.<br><br>For more information visit the wiki page on <a href='https://mixxx.org/wiki/doku.php/controller_engine_versions'>Controller Engine Versions</a>. <font color='#BB0000'><b>Če boste uporabili to mapiranje, kontroler morda ne bo deloval pravilno. Izberite drugo mapiranje ali onemogočite kontroler.</b></font><br><br>To mapiranje je bilo ustvarjeno za novejši Mixxx pogon za kontrolerje in ga ni mogoče uporabiti v trenutni Mixxx namestitvi.<br>Vaša Mixxx namestitev uporablja pogon različice %1. To mapiranje potrebuje pogon različice >=%2.<br><br>Več podatkov o tem se nahaja na wiki strani <a href='https://mixxx.org/wiki/doku.php/controller_engine_versions'>Različice pogonov za kontrolerje</a>. - + Mapping already exists. Mapiranje že obstaja. - + <b>%1</b> already exists in user mapping folder.<br>Overwrite or save with a new name? <b>%1</b> že obstaja v uporabnnikovi mapi z mapiranji. <br>Prepišem ali shranim pod novim imenom? - + Clear Input Mappings Počisti vhodno mapiranje - + Are you sure you want to clear all input mappings? Ste prepričani,d a želite počisititi vsa vhodna mapiranja? - + Clear Output Mappings Počisti izhodna mapiranja - + Are you sure you want to clear all output mappings? Ste prepričani, da želite počisititi vsa izhodna mapiranja? @@ -5371,100 +5594,105 @@ Potrdim nastavitve in nadaljujem? Vklopljeno - - Device Info + + Refresh mapping list - + + Device Info + Podatki o napravi + + + Physical Interface: - + Strojni vmesnik: - + Vendor name: - + Proizvajalec: - + Product name: - + Ime izdelka: - + Vendor ID - + ID proizvajalca - + VID: - + IDP: - + Product ID - + ID izdelka: - + PID: - + IDI: - + Serial number: - + Serijska številka: - + USB interface number: - + Številka USB vmesnika: - + HID Usage-Page: - + HID stran rabe: - + HID Usage: - + HID raba: - + Description: Opis: - + Support: Podpora: - + Screens preview Predogled zaslonov - + Input Mappings Vhodna mapiranja - - + + Search Iskanje - - + + Add Dodaj - - + + Remove Odstrani @@ -5484,17 +5712,17 @@ Potrdim nastavitve in nadaljujem? Naloži mapiranje: - + Mapping Info Podatki o mapiranju - + Author: Avtor: - + Name: Ime: @@ -5504,28 +5732,28 @@ Potrdim nastavitve in nadaljujem? Čarovnik za učenje (zgolj MIDI) - + Data protocol: - + Podatkovni protokol: - + Mapping Files: Daoteke mapiranja: - + Mapping Settings - + Nastavitve mapiranja - - + + Clear All Počisti vse - + Output Mappings Izhodna mapiranja @@ -5536,25 +5764,25 @@ Potrdim nastavitve in nadaljujem? %1 is a virtual controller that allows to use e.g. the 'MIDI for light' mapping.<br/>You need to restart Mixxx in order to enable it.<br/><b>Note:</b> mappings meant for physical controllers can cause issues and even render the Mixxx GUI unresponsive when being loaded to %1. text enclosed in <b> is bold, <br/> is a linebreak %1 is the placehodler for 'MIDI Through Port' - + %1 je navidezni kontroler, ki za mapiranje omogoča rabo npr. 'MIDI za luči'.<br/>Za vklop je potrebno ponovno zagnati Mixxx.<br/><b>Opomoba:</b> mapiranja namenjena strojnim kontrolerjem lahko povzročijo težave in ob nalaganju v %1 celo ohromijo delovanje Mixxx vmesnika. - Mixxx uses "mappings" to connect messages from your controller to controls in Mixxx. If you do not see a mapping for your controller in the "Load Mapping" menu when you click on your controller on the left sidebar, you may be able to download one online from the %1. Place the XML (.xml) and Javascript (.js) file(s) in the "User Mapping Folder" then restart Mixxx. If you download a mapping in a ZIP file, extract the XML and Javascript file(s) from the ZIP file to your "User Mapping Folder" then restart Mixxx. - Mixxx uporablja "mapiranja" za povezovanje sporočil s kontrolerja s kontrolami v Mixxx. Če ne vidite mapiranja za kontroler v meniju "Naloži mapiranje", ko kliknete na kontroler v levem stranskem panoju, ga lahko tudi prenesete z %1. Postavite XML (.xml) in Javascript (.js) datoteke v "Mapo z uporabnikovimi mapiranji" in nato ponovno zaženite Mixxx. Če ste prenesli mapiranje v ZIP datoteki, razširite XML in Javascript datoteke iz ZIP datoteke v vašo mapo z uporabnikovimi mapiranji in nato ponovno zaženite Mixxx. + Mixxx uses "mappings" to connect messages from your controller to controls in Mixxx. If you do not see a mapping for your controller in the "Load Mapping" menu when you click on your controller on the left sidebar, you may be able to download one online from the %1. Place the XML (.xml) and Javascript (.js) file(s) in the "User Mapping Folder" then click the Reload button next to the mapping selector to reload all available mappings. If you download a mapping in a ZIP file, extract the XML and Javascript file(s) from the ZIP file to your "User Mapping Folder" then click the Reload button. + - + Mixxx DJ Hardware Guide Mixxx DJ vodnik po strojni opremi - + MIDI Mapping File Format Datotečni format za MIDI mapiranja - + MIDI Scripting with Javascript MIDI skripti z Javascriptom @@ -5579,7 +5807,7 @@ Potrdim nastavitve in nadaljujem? Enable MIDI Through Port - + Vklop MIDI prehodnih vrat @@ -5647,7 +5875,7 @@ Potrdim nastavitve in nadaljujem? Skin selector - + Izbira preobleke @@ -5667,12 +5895,12 @@ Potrdim nastavitve in nadaljujem? Menu bar - + Meni pasica Auto-hide the menu bar, toggle it with a single Alt key press - + Samodejno skrij pasico z menijem @@ -5682,17 +5910,17 @@ Potrdim nastavitve in nadaljujem? Multi-Sampling - + Multi-vzorčenje Force 3D acceleration - + Prisiljeno 3D pospeševanje If checked, Mixxx will always assume 3D acceleration is available. This may lead to pour performance if only CP-backed rendering is available.. - + Ko je izbrano, bo Mixxx vedno poskusil uporabljati 3D pospeševanje, kar lahko ohromi delovanje, ko je na voljo le izrisovanje preko glavnega procesorja. @@ -5723,137 +5951,137 @@ Potrdim nastavitve in nadaljujem? DlgPrefDeck - + Mixxx mode Mixxx način - + Mixxx mode (no blinking) Mixxx način (brez utripanja) - + Pioneer mode Pioneer način - + Denon mode Denon način - + Numark mode Numark način - + CUP mode CUP način - + mm:ss%1zz - Traditional mm:ss%1zz - Tradicionalno - + mm:ss - Traditional (Coarse) mm:ss - Tradicionalno (grobo) - + s%1zz - Seconds s%1zz - sekunde - + sss%1zz - Seconds (Long) sss%1zz - sekunde (dolgo) - + s%1sss%2zz - Kiloseconds s%1sss%2zz - Kilosekunde - + Intro start Začetek intra - + Main cue Glavna cue iztočnica - + First hotcue Prva hotcue iztočnica - + First sound (skip silence) Prvi zvok (preskoči tišino) - + Beginning of track Začetek skladbe - + Reject Zavrni - + Allow, but stop deck Dovoli, vendar zaustavi predvajalnik - + Allow, play from load point Dovoli, predvajaj s točke nalaganja - + 4% 4% - + 6% (semitone) 6% (polton) - + 8% (Technics SL-1210) 8% (Technics SL-1210) - + 10% 10% - + 16% 16% - + 24% 24% - + 50% 50% - + 90% 90% @@ -6042,7 +6270,7 @@ Vedno lahko skladbe tudi povlečete in sputite, da podvojite nek predvajalnik. Sync mode (Dynamic tempo tracks) - + Sinhro način (dinamična hitrost skladb) @@ -6087,12 +6315,12 @@ Vedno lahko skladbe tudi povlečete in sputite, da podvojite nek predvajalnik. Apply tempo changes from a soft-leading track (usually the leaving track in a transition) to the follower tracks. After the transition, the follower track will continue with the previous leader's very last tempo. Changes from explicit selected leaders are always applied. - + Uporabi spremembe hitrosti iz nežne glavne skladbe (ponavadi iztekajoča se skladba med prehodom) na prihajajoči skladbi. Po prehodu se bo naslednja skladba predvajala z zadnjo hitrostjo glavne skladbe. Eksplicitno določene spremembe glavne skladbe bodo vedno prevzete. Follow soft leader's tempo - + Sledenje tempu glavne skladbe @@ -6157,12 +6385,12 @@ Vedno lahko skladbe tudi povlečete in sputite, da podvojite nek predvajalnik. The tempo of a previous soft leader track at the beginning of the transition is kept steady. After the transition, the follower track will maintain this original tempo. This technique serves as a workaround to avoid dynamic tempo changes, as seen during the outro of rubato-style tracks. For instance, it prevents the follower track from continuing with a slowed-down tempo of the soft leader. This corresponds to the behavior before Mixxx 2.4. Changes from explicit selected leaders are always applied. - + Tempo predhodne nežne vodilne skladbe na začetku prehoda se ohranja. Po prehodu bo sledeča skladba ohranila ta tempo. Takšen pristop se izogne dinamičnemu spreminjanju tempa, ki ga poznamo iz iztekov skladb v rubato slogu. Tako se na primer prepreči, da bi se naslednja skladba predvajala z upočasnjenim tempom vodilne skladbe. To ustreza načinu delovanja pred Mixxx 2.4. Spremembe iz eksplicitno izbranih vodilnih skladb bodo vedno uporabljene. Use steady tempo - + Uporabi stalni tempo @@ -6252,12 +6480,12 @@ Vedno lahko skladbe tudi povlečete in sputite, da podvojite nek predvajalnik. ❯ - + ❮ - + @@ -6313,59 +6541,59 @@ Vedno lahko skladbe tudi povlečete in sputite, da podvojite nek predvajalnik.Najmanjša velikost izbrane preobleke je večja od ločljivosti vašega zaslona. - + Allow screensaver to run Dovoli zagon ohranjevalniku zaslona - + Prevent screensaver from running Prepreči delovanje ohranjevalniku zaslona - + Prevent screensaver while playing Prepreči ohranjevalnik zaslona med predvajanjem - + Disabled - + Izklopljeno - + 2x MSAA - + 2x MSAA - + 4x MSAA - + 4x MSAA - + 8x MSAA - + 8x MSAA - + 16x MSAA - + 16x MSAA - + This skin does not support color schemes Ta preobleka ne podpira barvnih shem - + Information Informacija - + Mixxx must be restarted before the new locale, scaling or multi-sampling settings will take effect. - + Za delovanje novih krajevnih nastavitev, skaliranja ali nastavitev multi-vzorčenj, je potrebno Mixxx na novo zagnati. @@ -6415,17 +6643,17 @@ in vam omogoča, da prilagodite njihovo višino za harmonično miksanje. Exclude rhythmic channel when analysing stem file - + Med analizo stem datotek ne uporabi ritmičnih kanalov Disabled - + Izklopljeno Enforced - + Prisiljeno @@ -6591,67 +6819,97 @@ in vam omogoča, da prilagodite njihovo višino za harmonično miksanje.Poglejte priročnik za več podrobnosti - + Music Directory Added Mapa z glasbo je bila dodana - + You added one or more music directories. The tracks in these directories won't be available until you rescan your library. Would you like to rescan now? Dodali ste enega ali več glasbenih direktorijev. Skladbe v teh direktorijih ne bodo na voljo dokler ne boste ponovno pregledali vaše zbirke. Ali bi radi takoj zagnali ponoven pregled? - + Scan Preglej - + Item is not a directory or directory is missing - + Predmet ni mapa ali ta mapa manjka - + Choose a music directory Izberi mapo z glasbo - + Confirm Directory Removal Potrdi odstranitev mape - + Mixxx will no longer watch this directory for new tracks. What would you like to do with the tracks from this directory and subdirectories?<ul><li>Hide all tracks from this directory and subdirectories.</li><li>Delete all metadata for these tracks from Mixxx permanently.</li><li>Leave the tracks unchanged in your library.</li></ul>Hiding tracks saves their metadata in case you re-add them in the future. Mixxx ne bo več iskal novih skladb v tej mapi. Kaj bi radi storili s skladbami iz te mape in njenih podmap? <ul><li>Skril vse skladbe iz te mape in njenih podmap.</li><li>Za stalno izbrisal iz Mixxxa vse metapodatke za te skladbe. </li><li>Pustil skladbe brez sprememb v zbirki.</li></ul>Skril skladbe, tako da se ohranijo metapodatki, ki se lahko kasneje spet dodajo. - + Metadata means all track details (artist, title, playcount, etc.) as well as beatgrids, hotcues, and loops. This choice only affects the Mixxx library. No files on disk will be changed or deleted. Metapodatki so podrobnosti o skladbi (izvajalec, naslov, število predvajanj, itd.), kot tudi ritmična mreža, hotcue iztočnice in zanke. Ta izbira se nanaša le na Mixxx zbirko. Nobena datoteka na disku se ne spremeni ali izbriše. - + Hide Tracks Skrij skladbe - + Delete Track Metadata Izbriši matapodatke za skladbo - + Leave Tracks Unchanged Ohrani skladbe nespremenjene - + Relink music directory to new location Preveži glasbeno mapo z novo lokacijo - + + Black + + + + + ExtraBold + + + + + Bold + + + + + SemiBold + + + + + Medium + + + + + Light + + + + Select Library Font Izberi tipografijo zbirke @@ -6700,262 +6958,267 @@ in vam omogoča, da prilagodite njihovo višino za harmonično miksanje.Ob zagonu ponovno preveri mape - + Audio File Formats Formati zvočnih datotek - + Track Table View Prikaz skladb v tabeli - + Track Double-Click Action: Djeanje ob dvojnem kliku na skladbo: - + BPM display precision: Natančnost BPM prikaza: - + Session History Zgodovina sej - + Track duplicate distance Razdalja do podavajanja skladbe - + When playing a track again log it to the session history only if more than N other tracks have been played in the meantime Zabeleži ponovno predvajanje skladbe v zgodovino seanse zgolj, če je bilo vmes predvajanih najmanj N drugih skladb. - + History playlist with less than N tracks will be deleted<br/><br/>Note: the cleanup will be performed during startup and shutdown of Mixxx. Seznam zgodovine predvajanj z manj kot N skladbami bo izbrisan<br/><br/>Opomba: čiščenje bo potekalo ob zagonu ali zapiranju programa Mixxx. - + Delete history playlist with less than N tracks Izbriši seznam zgodovine predvajanj z manj kot N skladbami - + Library Font: Tipografija zibrke: - + + Show scan summary dialog + Prikaži dialog z zbirnimi podatki o pregledu + + + Grey out played tracks - + Posivi že predvajane skladbe - + Track Search - + Iskanje skladbe - + Enable search completions Omogoči zaključevanja iskanj - + Enable search history keyboard shortcuts Omogoči bližnjice tipk za zgodovino iskanj - + Percentage of pitch slider range for 'fuzzy' BPM search: - + Obseg drsnika za spreminjanje višine v procentih za "fuzzy" BPM iskanje: - + This range will be used for the 'fuzzy' BPM search (~bpm:) via the search box, as well as for BPM search in Track context menu > Search related Tracks - + Ta obseg se uporablja za 'fuzzy' - + Preferred Cover Art Fetcher Resolution Željena ločljivost zajemalnika naslovnic - + Fetch cover art from coverartarchive.com by using Import Metadata From Musicbrainz. Zajemi naslovnice z coverartarchive.com s pomočjo metapodatkov z Musicbrainz. - + Note: ">1200 px" can fetch up to very large cover arts. Opomoba: ">1200px" lahko zajame zelo velike naslovnice. - + >1200 px (if available) >1200 px (če je na voljo) - + 1200 px (if available) 1200 px (če je na voljo) - + 500 px 500 px - + 250 px 250 px - + Settings Directory Mapa z nastavitvami - + The Mixxx settings directory contains the library database, various configuration files, log files, track analysis data, as well as custom controller mappings. Mapa z Mixxx nastavitvami vsebuje podatkovno zbirko knjižnice, ralične nastavitvene datoteke, dnevnike, analitične podatke o skladbah, kot tudi po meri narejena mapiranja kontrolerjev. - + Edit those files only if you know what you are doing and only while Mixxx is not running. Te datoteke spremenite le, če veste kaj počnete in če Mixxx ni zagnan. - + Open Mixxx Settings Folder Odprite Mixxx mapo z nastavitvami - + Library Row Height: Višina vrstice zbirke: - + Use relative paths for playlist export if possible Če je mogoče, ob izvozu za sezname predvajanja uporabi relativne poti - + ... ... - + px px - + Synchronize library track metadata from/to file tags Uskladitev metapodatkov skladbe z oznakami v datotekah - + Automatically write modified track metadata from the library into file tags and reimport metadata from updated file tags into the library Samodejno zapisovanje spremenjenih metapodatkov skladbe z oznake datotek ali ponovni uvoz posodobljenih oznak iz datotek v knjižnico - + Synchronize Serato track metadata from/to file tags (experimental) Uskladitev Serato metapodatkov skladbe z oznakami v datotekah (eksperimentalno) - + Keeps track color, beat grid, bpm lock, cue points, and loops synchronized with SERATO_MARKERS/MARKERS2 file tags.<br/><br/>WARNING: Enabling this option also enables the reimport of Serato metadata after files have been modified outside of Mixxx. On reimport existing metadata in Mixxx is replaced with the metadata found in file tags. Custom metadata not included in file tags like loop colors is lost. Obdrži barvo steze, ritmično mrežo, zaklep bpm, izhodiščne točke in zanke usklajene z oznakami datotek SERATO_MARKERS/MARKERS2.<br/><br/>OPOZORILO: Vklop te možnosti vklopi ponovni uvoz Serato metapodatkov iz datotek, ki so bile spremenjene izven Mixxx. Ponovni uvoz zamenja obstoječe metapodatke v Mixxx z metapodatki iz oznak v datoteki. Lastni metapodatki, ki niso vključeni v te oznake, kot npr. barva zank, bodo izgubljeni. - + Edit metadata after clicking selected track Urejanje metapodatkov po kliku na izbrano skladbo - + Search-as-you-type timeout: Dovoljen čas za iskanje med tipkanjem: - + ms ms - + Load track to next available deck Naloži skladbo v naslednji predvajalnik, ki je na voljo - + External Libraries Zunanje knjižnice - + You will need to restart Mixxx for these settings to take effect. Mixxx je potrebno ponovno zagnati, da bi te nastavitve začele delovati. - + Show Rhythmbox Library Pokaži Rhythmbox zbirko - + Track Metadata Synchronization / Playlists - + Sinhronizacija metapodatkov skladbe/ seznamov predvajanja - + Add track to Auto DJ queue (bottom) Dodaj skladbo v Samodejni DJ zaporedje (na dno) - + Add track to Auto DJ queue (top) Dodaj skladbo v zaporedje samodejnega DJ-a (na vrh) - + Ignore Prezri - + Show Banshee Library Pokaži Banshee zbirko - + Show iTunes Library Pokaži iTunes zbirko - + Show Traktor Library Pokaži Traktor zbirko - + Show Rekordbox Library Prikaži Rekordbox zbirko - + Show Serato Library Prikaži Serato zbirko - + All external libraries shown are write protected. Vse prikazane zunanje knjižnice so zaščitene pred pisanjem @@ -7075,7 +7338,7 @@ in vam omogoča, da prilagodite njihovo višino za harmonično miksanje. Reset stem controls on track load - + Po nalaganju skladb ponastavi stem kontrole @@ -7300,33 +7563,33 @@ in vam omogoča, da prilagodite njihovo višino za harmonično miksanje. DlgPrefRecord - + Choose recordings directory Izberi mapo za snemanje - - + + Recordings directory invalid Neveljavna mapa za snemanje - + Recordings directory must be set to an existing directory. Mapa za snemanje mora biti nastavljena na obstoječo mapo - + Recordings directory must be set to a directory. Mapa za snemanje mora biti nastavljena na mapo - + Recordings directory not writable Mapa za snemanje ne dovoljuje zapisovanja - + You do not have write access to %1. Choose a recordings directory you have write access to. Nimate pravic za dostop do %1. Za snemanje izberite mapo, za katero imate dovoljenje za snemanje. @@ -7344,43 +7607,57 @@ in vam omogoča, da prilagodite njihovo višino za harmonično miksanje.Brskaj... - - + + This will include the filepath for each track in the CUE file. +This option makes the CUE file less portable and can reveal personal +information from filepaths (i.e. username) + To vključuje pot do datoteke za vsako skladbo v CUE datoteki. +Ta opcija zmanjša prenosnost CUE datotek in lahko razkrije osebne +podatke iz poti do datotek (npr. ime uporabnika) + + + + Enable File Annotation in CUE file + Vklopi označevanje datotek v CUE datoteki + + + + Quality Kakovost - + Tags Oznake - + Title Naslov - + Author Avtor - + Album Album - + Output File Format Izhodni format datoteke - + Compression Kompresija - + Lossy Z izgubami @@ -7395,12 +7672,12 @@ in vam omogoča, da prilagodite njihovo višino za harmonično miksanje.Mapa: - + Compression Level Stopnja kompresije - + Lossless Brez izgub @@ -7533,172 +7810,177 @@ Ciljna glasnost je približna in predpostavlja, da ostaneta predojačitev in izh DlgPrefSound - + %1 Hz %1 Hz - + Default (long delay) Privzeto (dolg zamik) - + Experimental (no delay) Ekspermientalno (brez zamika) - + Disabled (short delay) Izklopljeno (kratek zamik) - + Soundcard Clock Ura zvočne kartice - + Network Clock Mrežna ura - + Direct monitor (recording and broadcasting only) Neposredni monitoring (samo pri snemanju in prenašanju) - + Disabled Izklopljeno - + Enabled Vklopljeno - + Stereo Stereo - + Mono Mono - + To enable Realtime scheduling (currently disabled), see the %1. Za vklop načrtovanja urnika v realnem času (trenutno izklopljeno) si oglejte %1. - + The %1 lists sound cards and controllers you may want to consider for using Mixxx. V %1 se nahaja seznam zvočnih kartic in kontrolerjev, ki so primerni za rabo z Mixxx. - + Mixxx DJ Hardware Guide Mixxx DJ vodnik po strojni opremi - - Information + + Find details in the Mixxx user manual - + + Information + Informacije + + + Mixxx must be restarted before the multi-threaded RubberBand setting change will take effect. - + Za uveljavitev sprememb RubberBand nastavitev je potrebno Mixxx ponovno zagnati. - + auto (<= 1024 frames/period) samodejno (<= 1024 okvirjev/dobo) - + 2048 frames/period 2048 okvirjev/dobo - + 4096 frames/period 4096 okvirjev/dobo - + Are you sure? - + Ali ste prepričani? - + Distribute stereo channels into mono channels for parallel processing will result in a loss of mono compatibility and a diffuse stereo image. It is not recommended during broadcasting or recording. - + Posredovanje stereo kanalov preko mono kanalov zaradi vzporednega procesiranja povzroči zmanjšanje združljivosti in razpršeno stereo sliko. Med snemanjem in prenosi to ni priporočljivo. - + Are you sure you wish to proceed? - + Ali res želite nadaljevati? - + No - + Ne - + Yes, I know what I am doing - + Da, vem kaj delam - + Microphone inputs are out of time in the record & broadcast signal compared to what you hear. Mikrofonski vhodi so zamaknjeni v signalu za snemanje in prenašanje časovno zamaknjeni in ne ustrezajo temu kar slišite. - + Measure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. Izmerite latenco zvoka na krožni poti in jo vnesite zgoraj, za kompenzacijo latence mikrofona, da se poravna s časom mikrofona . - + Refer to the Mixxx User Manual for details. Preverite Mixxx uporabniški priročnik za več podrobnosti. - + Configured latency has changed. Nastavljena latenca je bila spremenjena. - + Remeasure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. Ponovno izmerite latenco kroženja zvoka in jo vnesite zgoraj za kompenzacijo latence mikrofona in poravnavo časa mikrofona. - + Realtime scheduling is enabled. Načrtovanje urnika v realnem času je vklopljeno - + Main output only Zgolj glavni izhod - + Main and booth outputs Glavni in dodatni izhod - + %1 ms %1 ms - + Configuration error Napaka v konfiguraciji @@ -7765,17 +8047,22 @@ Ciljna glasnost je približna in predpostavlja, da ostaneta predojačitev in izh ms - + + Deck and Bus outputs are for external mixers. They are post-fader and include effects and crossfader (for Auto DJ). For external mixing, make sure all Mixxx faders and EQ knobs are set to their default position (right- or double-click). + + + + 20 ms 20 ms - + Buffer Underflow Count Števec premajhnega toka v medpomnilniku - + 0 0 @@ -7800,12 +8087,12 @@ Ciljna glasnost je približna in predpostavlja, da ostaneta predojačitev in izh Vhod - + System Reported Latency Latenca, kot jo javlja sistem - + Enlarge your audio buffer if the underflow counter is increasing or you hear pops during playback. Povečajte medpomnilnik za zvok, če se števec za premajhen tok veča in je med predvajanjem slišati prasketanje. @@ -7827,7 +8114,7 @@ Ciljna glasnost je približna in predpostavlja, da ostaneta predojačitev in izh Dual-threaded Stereo - + Razdvojeno procesiran stereo @@ -7835,7 +8122,7 @@ Ciljna glasnost je približna in predpostavlja, da ostaneta predojačitev in izh Namigi in diagnostika - + Downsize your audio buffer to improve Mixxx's responsiveness. Zmanjšajte medpomnilnik za zvok, da bi izboljšali odzivnost Mixxx. @@ -7882,7 +8169,7 @@ Ciljna glasnost je približna in predpostavlja, da ostaneta predojačitev in izh Konfiguracija gramofonov - + Show Signal Quality in Skin Na preobleki prikaži kakovost signala @@ -7918,46 +8205,51 @@ Ciljna glasnost je približna in predpostavlja, da ostaneta predojačitev in izh + Pitch estimator + Ocenjevalnik višine + + + Deck 1 Predvajalnik 1 - + Deck 2 Predvajalnik 2 - + Deck 3 Predvajalnik 3 - + Deck 4 Predvajalnik 4 - + Signal Quality Kakovost signala - + http://www.xwax.co.uk http://www.xwax.co.uk - + Powered by xwax Poganja xwax - + Hints Nasveti - + Select sound devices for Vinyl Control in the Sound Hardware pane. Izberite zvočno napravo za gramofonsko upravljanje v panoju Strojna oprema za zvok. @@ -7965,58 +8257,58 @@ Ciljna glasnost je približna in predpostavlja, da ostaneta predojačitev in izh DlgPrefWaveform - + Filtered Filtrirano - + HSV HSV - + RGB RGB - + Top - + Zgoraj - + Center - + Sredina - + Bottom - + Spodaj - + 1/3 of waveform viewer options for "Text height limit" - + 1/3 prikazovalnika valovne oblike - + Entire waveform viewer - + Celoten prikazovalnik valovne oblike - + OpenGL not available OpenGL ni na voljo - + dropped frames izpuščenih sličic - + Cached waveforms occupy %1 MiB on disk. Predpomnjene valovne oblike na disku zasedajo %1 MiB. @@ -8034,22 +8326,17 @@ Ciljna glasnost je približna in predpostavlja, da ostaneta predojačitev in izh Gostota sličic - + OpenGL Status - + OpenGL status - + Displays which OpenGL version is supported by the current platform. Prikaže katera OpenGL različica je podprta na trenutni platformi. - - Normalize waveform overview - Normalizacija pregleda valovne oblike - - - + Average frame rate Povprečna gostota sličic @@ -8065,7 +8352,7 @@ Ciljna glasnost je približna in predpostavlja, da ostaneta predojačitev in izh Privzeta stopnja povečave - + Displays the actual frame rate. Prikaže dejansko gostoto sličic @@ -8082,7 +8369,7 @@ Ciljna glasnost je približna in predpostavlja, da ostaneta predojačitev in izh This functionality requires waveform acceleration. - + Ta funkcionalnost potrebuje pospeševanje valovne oblike @@ -8100,19 +8387,19 @@ Ciljna glasnost je približna in predpostavlja, da ostaneta predojačitev in izh Nizko - + Show minute markers on waveform overview - + Na pregledu valovne oblike prikaže oznake za minute Use acceleration - + Uporabi pospeševanje High details - + Veliko detajlov @@ -8145,7 +8432,7 @@ Ciljna glasnost je približna in predpostavlja, da ostaneta predojačitev in izh Globalno vizualno poudarjanje - + The waveform overview shows the waveform envelope of the entire track. Select from different types of displays for the waveform overview, which differ primarily in the level of detail shown in the waveform. Pregled celotne valovne oblike prikazuje valovno obliko celotne skladbe. @@ -8154,7 +8441,7 @@ Izbirajte med različnimi vrstami prikaza valovne oblike, ki se primarno razliku Enabled - + Vklopljeno @@ -8181,7 +8468,7 @@ Izbirajte med različnimi vrstami prikaza valovne oblike, ki se primarno razliku Play marker hints - + Namigi predvajalnih oznak @@ -8191,45 +8478,45 @@ Izbirajte med različnimi vrstami prikaza valovne oblike, ki se primarno razliku Preferred font size - + Želena velikost pisave Text height limit - + Omejitev višine teksta Time until next marker - + Čas do naslednje oznake Placement - + Umestitev pt - + pt - + Caching Prepomnilnik - + Mixxx caches the waveforms of your tracks on disk the first time you load a track. This reduces CPU usage when you are playing live but requires extra disk space. Mixxx zapiše valovne oblike vaših skladb na disk prvič, ko jih naložite. S tem se zmanjaš obremenitev procesorja, kadar predvajate v živo, a se poveča poraba prostora na disku. - + Enable waveform caching Vklopi predpomnilnik valovne oblike - + Generate waveforms when analyzing library Med analiziranjem zbirke ustvari valovne oblike @@ -8241,18 +8528,18 @@ Izbirajte med različnimi vrstami prikaza valovne oblike, ki se primarno razliku Scrolling Waveforms - + Drseče valovne oblike - + Type - + Vrsta Stereo coloration - + Stereo obarvanje @@ -8275,12 +8562,58 @@ Izbirajte med različnimi vrstami prikaza valovne oblike, ki se primarno razliku Na valovni obliki premakne označevalec položaja predvajanja na levo, desno ali v sredino (privzeto). - + + Stem + Stem + + + + Channel opacity + Prekrivnost kanala + + + + Channel opacity (outline) + Prekrivnost kanala (obroba) + + + + Main stem opacity + Prekrivnost glavnega stem + + + + Outline stem opacity + Prekrivnost obrobe glavnega stem + + + + Move channel to foreground when volume is adjusted + Med spreminjanjem glasnosti premakni kanal v ospredje + + + Overview Waveforms + Pregled valovnih oblik + + + + Gain + + + + + Normalize to peak + + + + + Use Waveform "Global" gain and ReplayGain (if enabled) + 'Global' refers to the 'Global' visual gain in the scrolling waveform settings - + Clear Cached Waveforms Pobriši predmonilnik valovnih oblik @@ -8637,12 +8970,12 @@ Izbirajte med različnimi vrstami prikaza valovne oblike, ki se primarno razliku Tags - + Oznake Cover - + Naslovnica @@ -8662,7 +8995,7 @@ Izbirajte med različnimi vrstami prikaza valovne oblike, ki se primarno razliku Metadata applied - + Dodani metapodatki @@ -8772,7 +9105,7 @@ Tega ni mogoče razveljaviti! BPM - + Location: Lokacija: @@ -8787,27 +9120,27 @@ Tega ni mogoče razveljaviti! Komentarij - + BPM BPM - + Sets the BPM to 75% of the current value. Nastavi BPM na 75% trenutne vrednosti. - + 3/4 BPM 3/4 BPM - + Sets the BPM to 50% of the current value. Nastavi BPM na 50% trenutne vrednosti. - + Displays the BPM of the selected track. Prikaže BPM trenutno izbrane skladbe. @@ -8862,49 +9195,49 @@ Tega ni mogoče razveljaviti! Zvrst - + ReplayGain: ReplayGain normalizacija: - + Sets the BPM to 200% of the current value. Nastavi BPM na 200% trenutne vrednosti. - + Double BPM Podvoji BPM - + Halve BPM Razpolovi BPM - + Clear BPM and Beatgrid Počisiti BPM in ritmično mrežo - + Move to the previous item. "Previous" button Premik na prejšnji element. - + &Previous &Prejišnji - + Move to the next item. "Next" button Premik na naslednji element. - + &Next &Naslednji @@ -8929,27 +9262,32 @@ Tega ni mogoče razveljaviti! Barva - + Date added: Datum dodajanja: - + Open in File Browser Odpri v brskalniku datotek Samplerate: + Vzorčenje: + + + + Filesize: - + Track BPM: BPM skladbe: - + Converts beats detected by the analyzer into a fixed-tempo beatgrid. Use this setting if your tracks have a constant tempo (e.g. most electronic music). Often results in higher quality beatgrids, but will not do well on tracks that have tempo shifts. @@ -8958,90 +9296,90 @@ Uporabite to nastavitev, če imajo vaše skladbe konstantni tempo (npr. večina Večinoma ustrvarja bolj kakovostno ritmično mrežo, vendar ne deluje dobro s skladbami, v katerih se tempo spreminja. - + Assume constant tempo Predvidi konstantni tempo - + Sets the BPM to 66% of the current value. Nastavi BPM na 66% trenutne vrednosti. - + 2/3 BPM 2/3 BPM - + Sets the BPM to 150% of the current value. Nastavi BPM na 150% trenutne vrednosti. - + 3/2 BPM 3/2 BPM - + Sets the BPM to 133% of the current value. Nastavi BPM na 133% trenutne vrednosti. - + 4/3 BPM 4/3 BPM - + Tap with the beat to set the BPM to the speed you are tapping. Tapkajte v ritmu, da nastavite BPM na tempo, s katerim tapkate. - + Tap to Beat Tapkaj v ritmu - + Hint: Use the Library Analyze view to run BPM detection. Namig: Uporabite Zbirka Analiziraj, da zaženete prepoznavanje hitrosti BPM. - + Save changes and close the window. "OK" button Shrani spremembe in zapri okno - + &OK &OK - + Discard changes and close the window. "Cancel" button Zavrzi spremembe in zapri okno. - + Save changes and keep the window open. "Apply" button Shrani spremembe in pusti okno odprto. - + &Apply &Potrdi - + &Cancel &Prekini - + (no color) (brezbarvno) @@ -9051,156 +9389,156 @@ Večinoma ustrvarja bolj kakovostno ritmično mrežo, vendar ne deluje dobro s s Track Editor - + Urejevalnik skladb Title - + Naslov Artist - + Izvajalec Album - + ALbum Album Artist - + Izvajalec albuma Composer - + Skladatelj Year - + Leto Genre - + Žanr Key - + Ključ Grouping - + Skupina Track # - + Skladba # Comments - + Komentarji Re-Import Metadata from files - + Ponovni uvoz metapodatkov iz datotek Color - + Barva Duration: - + Dolžina: Filetype: - + Vrsta datoteke: BPM: - + BPM: Bitrate: - + Bitna hitrost: Samplerate: - + Vzorčenje: Location: - + Lokacija: Open in File Browser - + Odpri v brskalniku datotek Discard changes and reload saved values. "Reset" button - + Zavrzi spremembe in ponovno naloži shranjene vrednosti. &Reset - + &Poanastavi Discard changes and close the window. "Cancel" button - + Zavrzi spremembe in zapri okno. &Cancel - + &Prekini Save changes and keep the window open. "Apply" button - + Shrani spremembe in pusti okno odprto. &Apply - + &Prevzemi Save changes and close the window. "OK" button - + Zavrzi spremembe in zapri okno. &OK - + &V redu - + (no color) - + (brezbarvno) @@ -9400,29 +9738,29 @@ Večinoma ustrvarja bolj kakovostno ritmično mrežo, vendar ne deluje dobro s s EngineBuffer - + Soundtouch (faster) Soundtouch (hitreje) - + Rubberband (better) Rubberband (bolje) - + Rubberband R3 (near-hi-fi quality) Rubberband (skoraj hi-fi kakovost) - + Unknown, using Rubberband (better) Neznano, uporabljam rubberband (bolje) - + Unknown, using Soundtouch - + Neznano, uporaba Soundtouch @@ -9597,7 +9935,7 @@ Večinoma ustrvarja bolj kakovostno ritmično mrežo, vendar ne deluje dobro s s There was an error loading your iTunes library. Check the logs for details. - + iTune knjižnice ni bilo mogoče naložiti. Za podrobnosti preverite beležke dnevnika. @@ -9605,12 +9943,12 @@ Večinoma ustrvarja bolj kakovostno ritmično mrežo, vendar ne deluje dobro s s Change color - + Spremeni barvo Choose a new color - + Izberite novo barvo @@ -9618,32 +9956,32 @@ Večinoma ustrvarja bolj kakovostno ritmično mrežo, vendar ne deluje dobro s s Browse... - + Brskaj... No file selected - + nobena datoteka ni izbrana Select a file - + Izberite datoteko LegacySkinParser - - + + Safe Mode Enabled Shown when Mixxx is running in safe mode. Vklopljen je varni način - - + + No OpenGL support. Shown when Spinny can not be displayed. Please keep @@ -9655,57 +9993,57 @@ Shown when VuMeter can not be displayed. Please keep OpenGL. - + activate aktiviraj - + toggle preklopi - + right desno - + left levo - + right small desno malo - + left small levo malo - + up gor - + down dol - + up small gor malo - + down small dol malo - + Shortcut Bližnjica @@ -9713,66 +10051,72 @@ OpenGL. Library - + This or a parent directory is already in your library. - + Ta mapa ali njen starš se že nahaja v knjižnici - + This or a listed directory does not exist or is inaccessible. Aborting the operation to avoid library inconsistencies - + Ta ali na seznamu navedena mapa ne obstaja ali ni dostopna. +Prekinjam postopek v izogib nedoslednostim v knjižnici. - - + + This directory can not be read. - + Mape ni mogoče prebrati - + An unknown error occurred. Aborting the operation to avoid library inconsistencies - + Neznana napaka. +Prekinjam postopek v izogib nedoslednostim v knjižnici. - + Can't add Directory to Library - + Mape ni mogoče dodati v knjižnico - + Could not add <b>%1</b> to your library. %2 - + <b>%1</b> ni bilo mogoče dodati v knjižnico. + +%2 - + Can't remove Directory from Library - + Mape ni mogoče odstraniti iz knjožnice - + An unknown error occurred. - + Zgodila se je neznana napaka - + This directory does not exist or is inaccessible. - + Ta mapa ne obstaja ali ni dostopna. - + Relink Directory - + Ponovna povezava z mapo - + Could not relink <b>%1</b> to <b>%2</b>. %3 - + Prevezava z <b>%1</b> na<b>%</b> ni uspela. + +%3 @@ -9875,7 +10219,7 @@ Ali bi jo res radi prepisali? Unset all - + Odznači vse @@ -9934,12 +10278,12 @@ Ali bi jo res radi prepisali? Skrite skladbe - + Export to Engine DJ Izvozi v Engine DJ - + Tracks Skladbe @@ -9947,37 +10291,37 @@ Ali bi jo res radi prepisali? MixxxMainWindow - + Sound Device Busy Zvočna naprava je v rabi - + <b>Retry</b> after closing the other application or reconnecting a sound device <b>Ponovni poskus</b> po zaprtju drugih programov ali ponovne priključitve zvočne naprave - - - + + + <b>Reconfigure</b> Mixxx's sound device settings. <b>Rekonfiguriraj</b> nastavitve zvočne naprave v Mixxx. - - + + Get <b>Help</b> from the Mixxx Wiki. Poišči <b>pomoč</b> z Mixxx Wiki - - - + + + <b>Exit</b> Mixxx. <b>Zapusti</b> Mixxx - + Retry Poskusi znova @@ -9987,213 +10331,213 @@ Ali bi jo res radi prepisali? preobleka - + Allow Mixxx to hide the menu bar? - + Ali lahko Mixxx skrije meni? - + Hide Always show the menu bar? - + Skrij - + Always show - + Vedno prikaži - + The Mixxx menu bar is hidden and can be toggled with a single press of the <b>Alt</b> key.<br><br>Click <b>%1</b> to agree.<br><br>Click <b>%2</b> to disable that, for example if you don't use Mixxx with a keyboard.<br><br>You can change this setting any time in Preferences -> Interface.<br> Keep formatting tags <b> (bold text) and <br> (linebreak). %1 is the placeholder for the 'Always show' button label Mixxx meni je skrit in njegov prikaz se preklopi z enim pritiskom na <b>Alt</b> tipko.<br><br>Kliknite<b>%1</b> za potrditev.<br><br>Kliknite<b>%2</b>, če tega ne želite, ker denimo Mixxx ne uporabljate s tipkovnico.<br><br>Nastavitev lahko kadarkoli spremenite v Nastavitve -> Vmesnik<br> - + Ask me again - + Ponovno me vprašaj - - + + Reconfigure Ponastavi - + Help Pomoč - - + + Exit Izhod - - + + Mixxx was unable to open all the configured sound devices. Mixxx ni mogel odpreti vseh zvočnih naprav - + Sound Device Error Napaka zvočne naprave - + <b>Retry</b> after fixing an issue <b>Ponoven poskus</b> po odpravi težave - + No Output Devices Ni izhodnih naprav - + Mixxx was configured without any output sound devices. Audio processing will be disabled without a configured output device. Mixxx je bil konfiguriran brez zvočne naprave. Procesiranje zvoka bo onemogočeno, če ni konfigurirane izhodne naprave. - + <b>Continue</b> without any outputs. <b>Nadaljuj</b> brez izhodnih naprav. - + Continue Nadaljuj - + Load track to Deck %1 Naloži skladbo v predvajalnik %1 - + Deck %1 is currently playing a track. Predvajalnik %1 trenutno predvaja skladbo - + Are you sure you want to load a new track? Ali ste prepričani, da želite naložiti novo skladbo? - + There is no input device selected for this vinyl control. Please select an input device in the sound hardware preferences first. Za izbrano gramofonsko upravljanje ni izbrane vhodne naprave. Izberite najprej vhodno napravo v nastavitvah strojne opreme za zvok. - + There is no input device selected for this passthrough control. Please select an input device in the sound hardware preferences first. Za ta prehod ni izbrana nobena vhodna naprava. Najprej izberite vhodno napravo v nastavitvah strojne opreme za zvok. - + There is no input device selected for this microphone. Do you want to select an input device? Za ta mikrofon ni izbrane vhodne naprave. Ali bi radi izbrali vhodno napravo? - + There is no input device selected for this auxiliary. Do you want to select an input device? Za to pomožnos vodilo ni izbrane vhodne naprave. Ali bi radi izbrali vhodno napravo? - + Scan took %1 - + Pregled je potreboval %1 - + No changes detected. - + Ni zaznanih sprememb. - - + + %1 tracks in total - + %1 vseh skladb - + %1 new tracks found - + %1 novih skladb - + %1 moved tracks detected - + Premaknjenih skladb: %1 - + %1 tracks are missing (%2 total) - + Manjkajočih skladb: %1 (vseh: %2) - + %1 tracks have been rediscovered - + Ponovno odkrite skladbe: %1 - + Library scan finished - + Pregled knjižnice je bil zaključen - + Error in skin file Napaka v probleki - + The selected skin cannot be loaded. Izbrane preobleke ni mogoče naložiti. - + OpenGL Direct Rendering OpenGL neposredno renderiranje - + Direct rendering is not enabled on your machine.<br><br>This means that the waveform displays will be very<br><b>slow and may tax your CPU heavily</b>. Either update your<br>configuration to enable direct rendering, or disable<br>the waveform displays in the Mixxx preferences by selecting<br>"Empty" as the waveform display in the 'Interface' section. Na vašem računalniku ni vklopljeno strojno pospešeno neposredno upodabljanje oz. direct rendering<br><br>To pomeni, da bo prikazovanje valovnih oblik počasno<br><b>in da lahko močno obremenjuje procesor</b>. Posodobite konfiguracijo i<br>n vklopite neposredno upodabljanje ali pa izklopite <br>prikaz valovnih oblik v nastavitvah Mixxx-a, tako da izberete <br>Prazno kot valovno obliko v razdelku Vmesnik. - - - + + + Confirm Exit Zapustim? - + A deck is currently playing. Exit Mixxx? Eden od predvajalnikov trenutno predvaja. Zapustim Mixxx? - + A sampler is currently playing. Exit Mixxx? Eden od vzorčevalnikov trenutno predvaja. Zapustim Mixxx? - + The preferences window is still open. Okno z nastavitvami je še vedno odprto. - + Discard any changes and exit Mixxx? Zavržem vse spremembe in zapustim Mixxx? @@ -10209,74 +10553,79 @@ Ali bi radi izbrali vhodno napravo? PlaylistFeature - + Lock Zakleni - - + + Playlists Seznami predvajanja Shuffle Playlist + Premešaj seznam predvajanja + + + + Adopt current order - + Unlock all playlists - + Odkleni vse sezname predvajanje - + Delete all unlocked playlists - + Izbriši vse sezname predvajanja - + Unlock Odkleni - - + + Confirm Deletion - + Potrdite izbris - + Do you really want to delete all unlocked playlists? - + Ali želite res izbrisati vse odklenjene sezname predvajanja? - + Deleting %1 unlocked playlists.<br>This operation can not be undone! - + Brisanje %1 odklenjenih seznamov predvajanja. <br>Tega dejanja ni mogoče razveljaviti! - + Playlists are ordered lists of tracks that allow you to plan your DJ sets. Seznami predvajanja so urejeni seznami skladb, ki omogočajo načrtovanje DJ setov. - + It may be necessary to skip some tracks in your prepared playlist or add some different tracks in order to maintain the energy of your audience. Da bi obdržali energijo publike, bo morda potrebno preskočiti katero od vaših skladb ali dodati kakšno drugo. - + Some DJs construct playlists before they perform live, but others prefer to build them on-the-fly. Nekateri DJi ustvarijo sezname predvajanja še pred živim nastopom, spet drugi jih ustvarijo sproti. - + When using a playlist during a live DJ set, remember to always pay close attention to how your audience reacts to the music you've chosen to play. Če med DJanjem uporabljate seznam predvajanja, bodite pozorni na odziv publike na vaš izbor glasbe. - + Create New Playlist Ustvari nov seznam predvajanja @@ -10319,115 +10668,115 @@ Ali bi radi izbrali vhodno napravo? Mixxx Track Colors - + Mixxx barve skladb Rekordbox Track Colors - + Rekordbox barve skladb Serato DJ Pro Track Colors - + Serato barve skladb Traktor Pro Track Colors - + Traktor Pro barve skladb VirtualDJ Track Colors - + VirtualDJ barve skladb Mixxx Key Colors - + Mixxx obarvanje ključev Traktor Key Colors - + Mixxx obarvanje ključev Mixed In Key - Key Colors - + Mixed in Key - obarvanje ključev Protanopia / Protanomaly Key Colors - + Protanopia / Protanomaly obarvanje ključev Deuteranopia / Deuteranomaly Key Colors - + Deuteranopia / Deuteranomaly obarvanje ključev Tritanopia / Tritanomaly Key Colors - + Tritanopia / Tritanomaly obarvanje ključev QMessageBox - + Upgrading Mixxx Posodobitev Mixxx - + Mixxx now supports displaying cover art. Do you want to scan your library for cover files now? Mixxx sedaj podpira naslovnice. Želite pregledati zbirko, da jih najdete? - + Scan Preglej - + Later Kasneje - + Upgrading Mixxx from v1.9.x/1.10.x. Posodobitev Mixxx iz 1.9.x/1.10.x - + Mixxx has a new and improved beat detector. Mixxx ima nov, izboljšan detektor ritma. - + When you load tracks, Mixxx can re-analyze them and generate new, more accurate beatgrids. This will make automatic beatsync and looping more reliable. Ko naložite skladbe, jih lahko MIxxx ponovno analizira in ustvari nove, boljše ritmične mreže. To bo izboljšalo zanesljivost samodejne sinhronizacije ritma in zank. - + This does not affect saved cues, hotcues, playlists, or crates. To ne vpliva na shranjene cue iztočnice, hotcue iztočnice, sezname predvajanja ali zaboje. - + If you do not want Mixxx to re-analyze your tracks, choose "Keep Current Beatgrids". You can change this setting at any time from the "Beat Detection" section of the Preferences. Če ne želite, da Mixxx na novo analizira vaše skladbe, izberite "Obdrži trenutne ritmične mreže". To nastavitev lahko kadarkoli spremenite v razdelku "Prepoznavanje ritma" v nastavitvah. - + Keep Current Beatgrids Obdrži trenutne ritmične mreže - + Generate New Beatgrids Generiraj novo ritmične mreže @@ -10541,69 +10890,82 @@ Do you want to scan your library for cover files now? 14-bit (MSB) - + Main + Audio path indetifier Glavni - + Booth + Audio path indetifier Dodatni booth - + Headphones + Audio path indetifier Slušalke - + Left Bus + Audio path indetifier Levo vodilo - + Center Bus + Audio path indetifier Osrednje vodilo - + Right Bus + Audio path indetifier Desno vodilo - + Invalid Bus + Audio path indetifier Napačno vodilo - + Deck + Audio path indetifier Predvajalnik - + Record/Broadcast + Audio path indetifier Snemanje/Prenos - + Vinyl Control + Audio path indetifier Gramofonsko upravljanje - + Microphone + Audio path indetifier Mikrofon - + Auxiliary + Audio path indetifier Pomožno AUX vodilo - + Unknown path type %1 + Audio path Neznana vrsta poti %1 @@ -10946,49 +11308,51 @@ Kadar je širina nič, omogoči ročno preletavanje preko celotnega razpona zami Širina - + Metronome Metronom - + + The Mixxx Team - + Mixxx ekipa - + Adds a metronome click sound to the stream V tok doda zvok klikanja metronoma - + BPM BPM - + Set the beats per minute value of the click sound Določi hitrost klikanja metronoma v BPM - + Sync Sinhronizacija - + Synchronizes the BPM with the track if it can be retrieved Sinhronizira tempo v BPM, če ga je mogoče razbrati iz skladbe. - + + Gain - + Jakost - + Set the gain of metronome click sound - + Določi jakost klikanja metronoma v BPM @@ -11553,7 +11917,7 @@ Sredina: ne spreminja originalnega zvoka. A gentle 2-band parametric equalizer based on biquad filters. It is designed as a complement to the steep mixing equalizers. - + Nežen 2-stezni parametrični izravnalnik, ki temelji na biquad filtrih. Narejen je kot komplement ostrim izravnalnikom za miksanje. @@ -11789,14 +12153,14 @@ Popolnoma na desni: konec periode učinka OGG snemanje ni podprto. OGG/Vorvis knjižnice ni bilo mogoče zagnati. - - + + encoder failure napaka kodirnika - - + + Failed to apply the selected settings. Ni bilo mogoče uporabiti izbranih nastavitev. @@ -11969,215 +12333,299 @@ Namig: kompenzira "veveričji" ali "renčeč" glas Sampler %1 - + Vzorčevalnik %1 Compressor - + Kompresor Auto Makeup Gain - + Samodejno ojačanje Makeup - + Ojačitev The Auto Makeup button enables automatic gain adjustment to keep the input signal and the processed output signal as close as possible in perceived loudness - + Samodejna ojačitev vklopi samodejno spreminjanje jakosti, ki ohranja vhodni signal +in procesirani izhodni na približno enakih nivojih zaznane glasnosti Off - + Izklopljeno On - + Vklopljeno + + Auto Gain Control + Samodejni nadzor jakosti + + + + AGC + AGC + + + + Auto Gain Control (AGC) automatically adjusts the gain of an audio signal to maintain a consistent output level. + Samodejni nadzor jakost (AGC) samodejno spreminja jakost avočnega signala za konsistenten izhodni nivo. + + + Threshold (dBFS) - + Prag (dBFS) + Threshold - + Prag + + + + The Threshold knob adjusts the level above which the effect starts enhancing the input signal + Regulator praga spreminja nivo preko katerega učinek začne delovati in vplivati na izhodni signal + + + + Target (dBFS) + Cilj (dBFS) + + + + Target + Cilj + + + + The Target knob adjusts the desired target level of the output signal + Regulator Cilj spreminja želeni ciljni nivo izhodnega signala + + + + Gain (dB) + Jakost (dB) + + + + The Gain knob adjusts the maximum amount of gain that the effect will apply + Regulator za jakost spreminja največjo stopnjo jakosti, ki jo bo učinek uporabil + + + + Knee (dB) + Pregib (dB) + + + + The Knee knob defines the range around the Threshold where gain changes are applied gradually, +ensuring smooth transitions and avoiding abrupt level shifts. + Regulator za pregib definira območje okoli praga, kjer se bodo spremembe poznale postopno, +kar zagotavlja mehkejše prehode in prepreči nenadne sunke v nivojih. + + + + The Attack knob sets the time that determines how fast the auto gain +will set in once the signal exceeds the threshold + Regulator za napad spreminja čas, ki mine preden samodejna ojačitev +začne delovati, potem ko signal preseže prag + + + + The Release knob sets the time that determines how fast the auto gain will recover from the gain +adjustment once the signal falls under the threshold. Depending on the input signal, short release times +may introduce a 'pumping' effect and/or distortion. + Regulator za spust določa čas, ki mine, da se samodejna jakost povrne na izhodišče, +potem ko se signal vrne pod prag. Kratek čas spusta lahko pri določenih vrstah zvoka povzroči +učinek 'pumpanja' in/ali popačenje. The Threshold knob adjusts the level above which the compressor starts attenuating the input signal - + Prag določi mejo nivoja, preko katere začne kompresor stiskati vhodni signal Ratio (:1) - + Razmerje (:1) Ratio - + Razmerje The Ratio knob determines how much the signal is attenuated above the chosen threshold. For a ratio of 4:1, one dB remains for every four dB of input signal above the threshold. At a ratio of 1:1 no compression is happening, as the input is exactly the output. - + Razmerje določa stopnjo zmanjšanja signala, ki je preko praga. +Razmerje 4:1 pomeni, da se ohrani en decibel za vsake 4 decibele signala nad pragom. +Razmerje 1:1 pomeni,da je izhod enak vhodu in da se signal sploh ne stisne. Knee (dBFS) - + Koleno (dBFS) + Knee - + Koleno The Knee knob is used to achieve a rounder compression curve - + Koleno se + Attack (ms) - + Napad (ms) + Attack - + Napad The Attack knob sets the time that determines how fast the compression will set in once the signal exceeds the threshold - + Napad določa čas, ki poteče, da se signal, ki gre preko praga, začne tudi zares stiskati. + Release (ms) - + Spust (ms) + Release - + Spust The Release knob sets the time that determines how fast the compressor will recover from the gain reduction once the signal falls under the threshold. Depending on the input signal, short release times may introduce a 'pumping' effect and/or distortion. - + Spust določa koliko časa po tem, ko se signal vrne poda prag, kompresor še deluje. +Kratek čas spusta lahko pri določenih vrstah zvoka povzroči učinek 'pumpanja' in/ali popačenje. Level - + Nivo The Level knob adjusts the level of the output signal after the compression was applied - + Nivo določi stopnjo ojačitve izhodnega signala po tem, ko je bil ta stisnjen s kompresorjem various - + različne - + built-in - + vgrajene - + missing - + manjkajoče Distribute stereo channels into mono channels processed in parallel. - + Posreduje stereo kanale preko mono kanalov, ki se procesirajo vzporedno. Warning! - + Opozorilo! Processing stereo signal as mono channel may result in pitch and tone imperfection, and this is mono-incompatible, due to third party limitations. - + Procesiranje stereo kanalov kot mono kanalov lahko povzroči odstopanja v višini in tonu. Zaradi zunanjih omejitev je ta postopek tudi nezdružljiv s pravim mono. Dual threading mode is incompatible with mono main mix. - + Razdvojeno procesiranje ni združljivo z glavnim mono miksom. Dual threading mode is only available with RubberBand. - + Razdvojeno procesiranje je na voljo le z RubberBand. Stem #%1 - + Stem #%1 - + Empty - + Prazno - + Simple - + Preprosto - + Filtered - + Filtrirano - + HSV - + HSV - + VSyncTest - + VSyncTest - + RGB - + RGB - + Stacked - + Skupek - + Unknown - + neznano @@ -12392,7 +12840,7 @@ may introduce a 'pumping' effect and/or distortion. Unlock all child playlists - Odkleni vse potoce seznama predvajanje + Odkleni vse potomce seznama predvajanje @@ -12436,193 +12884,193 @@ may introduce a 'pumping' effect and/or distortion. ShoutConnection - - + + Mixxx encountered a problem Mixxx je zaznal težavo - + Could not allocate shout_t Ni bilo mogoče določiti shout_t - + Could not allocate shout_metadata_t Ni bilo mogoče določiti shout_metadata_t - + Error setting non-blocking mode: Napaka pri nastavljanju načina brez blokov: - + Error setting tls mode: Napaka pri nastavljanju tega modusa: - + Error setting hostname! Napaka pri poimenovanju gostitelja! - + Error setting port! Napaka pri nastavljanju vrat! - + Error setting password! Napaka pri določanju gesla! - + Error setting mount! Napaka pri vpenjanju! - + Error setting username! Napaka pri določanju uporabniškekga imena! - + Error setting stream name! Napaka pri določanju imena toka! - + Error setting stream description! Napaka pri določanju opisa toka! - + Error setting stream genre! Napaka pri določanju žanra toka! - + Error setting stream url! Napaka pri določanju url naslova toka! - + Error setting stream IRC! Napaka pri določanju IRC za tok! - + Error setting stream AIM! Napaka pri določanju AIM za tok! - + Error setting stream ICQ! Napaka pri določanju ICQ za tok! - + Error setting stream public! Napaka pri nastavljanju toka kot javnega! - + Unknown stream encoding format! Neznan format kodiranja pretoka! - + Use a libshout version with %1 enabled Uporabite libshout različico z vklopljenim %1 - + Error setting stream encoding format! Napaka pri nastavljanju formata kodiranja pretoka! - + Broadcasting at 96 kHz with Ogg Vorbis is not currently supported. Please try a different sample rate or switch to a different encoding. Oddajanje s frekvenco vzorčenja 96 kHz z uprabo kodeka Ogg Vorbisa trenutno ni podprto. Prosimo izberite drugo frekvenco vzorčenja ali drug enkoder. - + See https://github.com/mixxxdj/mixxx/issues/5701 for more information. Več o tem si preberite na https://github.com/mixxxdj/mixxx/issues/5701 - + Unsupported sample rate Frekvenca vzorčenja ni podprta - + Error setting bitrate Napaka pri določanju bitne hitrosti! - + Error: unknown server protocol! Napaka: neznan strežniški protokol! - + Error: Shoutcast only supports MP3 and AAC encoders Napaka: Shoutcast podpira le MP3 in AAC kodirnike - + Error setting protocol! Napaka pri določanju protokola! - + Network cache overflow Presežena količina za mrežni medpomnilnik! - + Connection error Napaka pri povezovanju - + One of the Live Broadcasting connections raised this error:<br><b>Error with connection '%1':</b><br> Ena od povezav za oddajanje v živo je povzročila naslednjo napako:<br><b>Napaka pri povezavi '%1':</b><br> - + Connection message Sporočilo povezave - + <b>Message from Live Broadcasting connection '%1':</b><br> <b>Sporočilo povezave za oddajanje v živo '%1':</b><br> - + Lost connection to streaming server and %1 attempts to reconnect have failed. Izgubljena povezava s pretočnim strežnikom in %1 neuspelih poskusov ponovnega povezovanja. - + Lost connection to streaming server. Izgubljena povezava s pretočnim strežnikom. - + Please check your connection to the Internet. Preverite internetno povezavo. - + Can't connect to streaming server Ni se mogoče povezati s pretočnim strežnikom. - + Please check your connection to the Internet and verify that your username and password are correct. Preverite internetno povezavo in poskrbite, da sta uprabniško ime in geslo pravilna. @@ -12630,7 +13078,7 @@ may introduce a 'pumping' effect and/or distortion. SoftwareWaveformWidget - + Filtered Filtrirano @@ -12638,23 +13086,23 @@ may introduce a 'pumping' effect and/or distortion. SoundManager - - + + a device naprava - + An unknown error occurred Zgodila se je neznana napaka - + Two outputs cannot share channels on "%1" Dva izhoda si ne moreta deliti kanalov na "%1" - + Error opening "%1" Napaka pri odpiranju "%1" @@ -12722,22 +13170,22 @@ may introduce a 'pumping' effect and/or distortion. Reading track for fingerprinting failed. - + Branje skladbe za prepoznavo ni uspelo Identifying track through AcoustID - + Identifikacija skladbe preko Acoustid Could not identify track through AcoustID. - + Identifikacija skladbe preko Acoustid ni uspela Could not find this track in the MusicBrainz database. - + Skladba ni bila najdena v podatkovni baze MusicBrainz. @@ -12839,7 +13287,7 @@ may introduce a 'pumping' effect and/or distortion. - + Spinning Vinyl Vrtenje vinilne plošče @@ -13021,7 +13469,7 @@ may introduce a 'pumping' effect and/or distortion. - + Cover Art Naslovnica @@ -13211,250 +13659,250 @@ may introduce a 'pumping' effect and/or distortion. Dokler je vklopljen postavi jakost za nizek filter na nič. - + Displays the tempo of the loaded track in BPM (beats per minute). Prikaže hitrost naložene skladbe v BPM (udarci na sekundo) - + Tempo Tempo - + Key The musical key of a track Tonaliteta - + BPM Tap Tapkanje tempa v BPM - + When tapped repeatedly, adjusts the BPM to match the tapped BPM. Ob ponavljajočem se tapkanju prilagodi hitrost v BPM na hitrost tapkanja. - + Adjust BPM Down Prilagodi BPM navzdol - + When tapped, adjusts the average BPM down by a small amount. Ob tapkanju, spremeni povprečni BPM malo navzdol. - + Adjust BPM Up Prilagodi BPM navzgor - + When tapped, adjusts the average BPM up by a small amount. Ob tapkanju, spremeni povprečni BPM malo navzgor. - + Adjust Beats Earlier Zamakni dobe nazaj - + When tapped, moves the beatgrid left by a small amount. Ob tapkanju, pomakne ritmično mrežo malo v levo. - + Adjust Beats Later Zamakni dobe naprej - + When tapped, moves the beatgrid right by a small amount. Ob tapkanju, pomakne ritmično mrežo malo v desno. - + Tempo and BPM Tap Tempo in BPM tapkanje - + Show/hide the spinning vinyl section. Prikaži/skrij razdelek z vrtečim se vinilno ploščo - + Keylock Zaklep tonalitete - + Toggling keylock during playback may result in a momentary audio glitch. Preklapljanje zaklepa tonalitete med predvajanjem lahko povzroči kratko napako pri predvajanju - + Toggle visibility of Loop Controls Preklopi vidnost kontrol zanke - + Toggle visibility of Beatjump Controls Preklopi vidnost skokov po ritmu - + Toggle visibility of Rate Control Preklopi vidnost nadzora stopnje - + Toggle visibility of Key Controls Preklopi vidnost ključnih kontrol - + (while previewing) (med predposlušanjem) - + Places a cue point at the current position on the waveform. Vstavi cue iztočnico na trenutno pozicijo na valovni obliki. - + Stops track at cue point, OR go to cue point and play after release (CUP mode). Zaustavi skladbo na cue iztočnici ali skoči na cue iztočnico in predvaja po spustu (CUP način). - + Set cue point (Pioneer/Mixxx/Numark mode), set cue point and play after release (CUP mode) OR preview from it (Denon mode). Določi cue iztočnico (Pioneer/Mixxx/Numark način), določi cue iztočnico in predvajaj po spustu (CUP način) ali predposlušaj od tam (Denon način). - + Is latching the playing state. zaklene stanje predvajanja. - + Seeks the track to the cue point and stops. Prevrti sklado do cue iztočnice in se zaustavi. - + Play Predvajaj - + Plays track from the cue point. Predvaja skladbo od cue izotčnice. - + Sends the selected channel's audio to the headphone output, selected in Preferences -> Sound Hardware. Pošlje zvok izbranih kanalov na izhod za slušalke, ki so izbrane v Nastavitve -> Strojna oprema za zvok. - + (This skin should be updated to use Sync Lock!) (Ta preobleka bi morala biti posodobljena, da bi lahko uporabljali zaklpe sinhronizacije!) - + Enable Sync Lock Vklopi zaklep sinhronizacije - + Tap to sync the tempo to other playing tracks or the sync leader. Tapkaj za sinhronizacijo tempa glede na druge predvajane skladbe vodiča sinhronizacije. - + Enable Sync Leader Vklopi vodiča sinhornizacije - + When enabled, this device will serve as the sync leader for all other decks. Če je vklopljeno, bo ta naprava služila kot vodič sinhronizacije za vse ostale predvajalnike. - + This is relevant when a dynamic tempo track is loaded to a sync leader deck.In that case, other synced devices will adopt the changing tempo. - + To je pomembno, kadar je dinamična tempo skladba naložena v vodilni predvajalnik za sinhronizacijo. V tem primeru bodo druge sinhronizirane naprave prevzele spreminjajočo se hitrost. - + Changes the track playback speed (affects both the tempo and the pitch). If keylock is enabled, only the tempo is affected. Spremeni hitrost predvajanja skladbe (vpliva tako na tempo, kot tudi tonaliteto). Če je vklopljen zaklep tonalitete, se spreminja zgolj tempo. - + Tempo Range Display Prikaz razpona tempa - + Displays the current range of the tempo slider. Prikaže trenutni razpon drsnika tempa. - + Un-ejects when no track is loaded, i.e. reloads the track that was ejected last (of any deck). Ponovno naloži zadnjo izvrženo skladbo (iz poljubnega predvajalnika), če ni naložena nobena skladba. - + Delete selected hotcue. Izbriši izbrano hotcue iztočnico. - + Track Comment Komentar k skladbi - + Displays the comment tag of the loaded track. Prikaže oznako komentarja naložene skladbe. - + Opens separate artwork viewer. Odpre ločen prikaz naslovnic. - + Effect Chain Preset Settings Nastavitve predlog verig učinkov - + Show the effect chain settings menu for this unit. Prikaže meni z nastavitvami verige učinkov za to enoto. - + Select and configure a hardware device for this input Izberite in nastavite strojno napravo za ta vhod - + Recording Duration Dolžina snemanja Select and click: Show inline value editor - + Izberi in klikni: Prikaži urejevalnik vrednosti v vrstici @@ -13566,7 +14014,7 @@ may introduce a 'pumping' effect and/or distortion. Show/hide the stem mixing controls section - + Prikaži/skrij razdelek za upravljanje stem miksa @@ -13607,1013 +14055,1048 @@ may introduce a 'pumping' effect and/or distortion. If keylock is disabled, pitch is also affected. - + Če je zaklep ključa izklopljen, to vpliva na višino. Speed Up - + Psopeši Raises the track playback speed (tempo). - + Poveča hitrost predvajanja (tempo) Raises playback speed in small steps. - + Poveča hitrost predvajanja v majhnih korakih. Slow Down - + Upočasni Lowers the track playback speed (tempo). - + Zmanjša hitrost predvajanja (tempo) Lowers playback speed in small steps. - + Zmanjša hitrost predvajanja v majhnih korakih. Speed Up Temporarily (Nudge) - + Začasno pospeši (Porini) Holds playback speed higher while active (tempo). - + Ko je aktivno poveča hitrost predvajanja (tempo) Holds playback speed higher (small amount) while active. - + Ko je aktivno (rahlo) poveča hitrost predvajanja. Slow Down Temporarily (Nudge) - + Začasno upočasni (Porini) Holds playback speed lower while active (tempo). - + Ko je aktivno zmanjša hitrost predvajanja (tempo) Holds playback speed lower (small amount) while active. - + Ko je aktivno (rahlo) zmanjša hitrost predvajanja. - + When tapped repeatedly, adjusts the tempo to match the tapped BPM. + Ob ponavljajočem se tapkanju prilagodi tempo na hitrost tapkanja v BPM. + + + + Click to open the tempo/BPM editor + + + + + It also shows a colored bar if Key colors are enabled in the Preferences. - Tempo Tap + The bar will be split vertically if the track's key is in between full keys. - + + Tempo Tap + Tapkanje tempa + + + Rate Tap and BPM Tap + Tapkanje stopnje in BPM + + + + Set Tempo - + + Set the desired tempo in BPM. If the track currently has no BPM detected, set the desired tempo in percent. + + + + Adjust beatgrid by exactly one half beat. Usable only on tracks with constant tempo. Prilagodi ritmično mrežo za točno pol dobe. Uporabno le za skladbe s konstantnim tempom. - + Revert last BPM/Beatgrid Change Povrni zadnjo spremembo BPM/ritmične mreže - + Revert last BPM/Beatgrid Change of the loaded track. Povrni zadnjo spremembo BPM/ritmične mreže naložene skladbe. - - + + Toggle the BPM/beatgrid lock Preklopi zaklep BPM/ritmične mreže - + Tempo and Rate Tap - + Tapkanje tempa in stopnje - + Tempo, Rate Tap and BPM Tap - + Tapkanje tempa, stopnje in BPM - + Shift cues earlier Premakni iztočnice na prej - - + + Shift cues imported from Serato or Rekordbox if they are slightly off time. Premakne iztočnice, ki so uvožene iz Serata ali Rekordbox-a, če so rahlo časovno neusklajene. - + Left click: shift 10 milliseconds earlier Levi klik: premakni za 10 milisekund nazaj - + Right click: shift 1 millisecond earlier Desni klik: premakni za 1 milisekundo nazaj - + Shift cues later Premakni iztočnice na kasneje - + Left click: shift 10 milliseconds later Levi klik: premakni za 10 milisekund naprej - + Right click: shift 1 millisecond later Desni klik: premakni za 1 milisekundo naprej - - - + + + Drag a Hotcue button here to continue playing after releasing the Hotcue. Sem povlecite hotcue gumb za nadaljevanje predvajanja potem, ko izpustite Hotcue - + Hint: Change the default cue mode in Preferences -> Decks. - + Namig: Privzeti način za cue iztočnice se določi v Nastavitve -> Predvajalniki - + Mutes the selected channel's audio in the main output. Utiša zvok izbranega kanala za glavni izhod. - + Main mix enable Vklop glavnega miksa - + Hold or short click for latching to mix this input into the main output. Držite ali na kratko kliknite za dodajanje tega vhoda v glavni izhod. - + + Reloads the last replaced track. If no track is loaded reloads the second-last ejected track. + Ponovno naloži zadnjo zamenjano skladbo. Če nobena skladba ni naložena naloži drugo zadnjo odstranjeno skladbo. + + + If hotcue is a loop cue, toggles the loop and jumps to if the loop is behind the play position. Če je hotcue iztočnica začetek zanke, preklopi zanko in skoči nanjo, če je zanka za položajem predvajanja. - + If the play position is inside an active loop, stores the loop as loop cue. - + Če se položaj predvajanja nahaja v aktivni zanki, se zanka shrani kot cue zanka. - + Drag this button onto another Hotcue button to move it there (change its index). If the other hotcue is set, the two are swapped. Povlecite za gumb na drug Hotcue gumb, da ga prestavite tja (spremeni se mu indeks). Če je druga hotcue iztočnica nastavljena, se zamenjata. - + Expand/Collapse Samplers - + Razširi/skrči vzorčevalnike - + Toggle expanded samplers view. - + Preklop velikosti prikaza vzorčevalnikov. - + Displays the duration of the running recording. Prikaže čas trajanja snemanja, ki se trenutno izvaja. - + Auto DJ is active Samodejni DJ je aktiven - + Red for when needle skip has been detected. - + Rdeče, če je bil zaznan preskok igle. - + Hot Cue - Track will seek to nearest previous hotcue point. Hot Cue - Skladba se bo prevrtela na najbližjo prejšnjo hotcue iztočnico - + Sets the track Loop-In Marker to the current play position. Postavi vhodno točko zanke na trenutno pozicijo predvajanja. - + Press and hold to move Loop-In Marker. Pritisnite in držite za premik vhodne točke zanke - + Jump to Loop-In Marker. Skoči na vhodno točko zanke. - + Sets the track Loop-Out Marker to the current play position. Postavi izhodno oznako zanke na trenutno pozicijo predvajanja. - + Press and hold to move Loop-Out Marker. Pritisnite in držite za premik izhodne oznake zanke. - + Jump to Loop-Out Marker. Skoči na izhodno oznako zanke. - + If the track has no beats the unit is seconds. Če steza nima dob, je enota v sekundah - + Beatloop Size Velikost ritmične zanke - + Select the size of the loop in beats to set with the Beatloop button. Izberi velikost zanke v dobah, ki se jo določi z gumbom Ritmičnazanka. - + Changing this resizes the loop if the loop already matches this size. Spreminjanje tega spremeni velikost zanke, če zanka že ustreza tej velikosti. - + Halve the size of an existing beatloop, or halve the size of the next beatloop set with the Beatloop button. Prepolovi velikost obstoječe ritmične zanke ali prepolovi velikost naslednje ritmične zanke, ki se jo določi z gumbom Ritmična zanka - + Double the size of an existing beatloop, or double the size of the next beatloop set with the Beatloop button. Podvoji velikost obstoječe ritmične zanke ali podvoji velikost naslednje ritmine zanke, ki se jo določi z gumbom Ritmična zanka. - + Start a loop over the set number of beats. Zaženi zanko preko nastavljenega števila dob. - + Temporarily enable a rolling loop over the set number of beats. Začasen vklop kotaleče se zanke preko nastavljenega števila dob. - + Beatloop Anchor Sidro ritmične zanke - + Define whether the loop is created and adjusted from its staring point or ending point. - + Določi ali je se zanka ustvari in spreminja glede na začetno ali končno točko. - + Beatjump/Loop Move Size Skok po ritmu/Velikost premika zanke - + Select the number of beats to jump or move the loop with the Beatjump Forward/Backward buttons. Izbor števila dob za skok ali premik zanke z gumboma Skok po ritmu naprej/nazaj. - + Beatjump Forward Skok po ritmu naprej - + Jump forward by the set number of beats. Skoči naprej za izbrano število dob. - + Move the loop forward by the set number of beats. Premakni zanko naprej za nastavljeno število dob. - + Jump forward by 1 beat. Skoči naprej za 1 dobo. - + Move the loop forward by 1 beat. Premakni zanko naprej za 1 dobo. - + Beatjump Backward Skok po ritmu nazaj - + Jump backward by the set number of beats. Skoči nazaj za izbrano število dob. - + Move the loop backward by the set number of beats. Premakni zanko nazaj za nastavljeno število dob. - + Jump backward by 1 beat. Skoči nazaj za 1 dobo. - + Move the loop backward by 1 beat. Premakni zanko nazaj za 1 dobo. - + Reloop Ponovi zanko - + If the loop is ahead of the current position, looping will start when the loop is reached. Če se zanka nahaja naprej od trenutne pozicije, se bo ponavljanje zanke začelo, ko bo dosežena zanka. - + Works only if Loop-In and Loop-Out Marker are set. Deluje samo, če sta postavljeni oznaki V zanko in Iz zanke - + Enable loop, jump to Loop-In Marker, and stop playback. Vklopi zanko, skoči na oznako V zanko in ustavi predvajanje. - + Displays the elapsed and/or remaining time of the track loaded. Prikaže pretekel in/ali preostali čas naložene skladbe. - + Click to toggle between time elapsed/remaining time/both. Kliknite za prekapljanje med preteklim in preostalim časom ali za prikaz obojega. - + Hint: Change the time format in Preferences -> Decks. Namig: časovni format se spreminja v Nastavitve -> Predvajalniki. - + Show/hide intro & outro markers and associated buttons. Prikaži/ skrij oznake za uvod in zaključek ter pripadajoče gumbe. - + + Ensure all waveforms to have the same height across all channels. By default, when displaying the stem controls, waveform for channel that have no stem may render with a shorter height in order to honor the waveform container size you have requested.. + + + + Intro Start Marker Oznaka začetka uvoda - - - - + + + + If marker is set, jumps to the marker. Če je oznaka postavljena, skoči na oznako. - - - - + + + + If marker is not set, sets the marker to the current play position. Če oznaka ni postavljena, postavi oznako na trenutni položaj predvajanja. - - - - + + + + If marker is set, clears the marker. Če je oznaka postavljena, pobriše oznako. - + Intro End Marker Oznaka konca uvoda - + Outro Start Marker Outro start oznaka - + Outro End Marker Outro konec oznaka - + Mix Miks - + Adjust the mixing of the dry (input) signal with the wet (output) signal of the effect unit Prilagodi mešanje surovega (vhodnega) signala z obogatenim (izhodnim) signalom efekt-enote - + D/W mode: Crossfade between dry and wet D/W način: Preliv med surovim in obogatenim - + D+W mode: Add wet to dry D+W način: Dodaj obogateno v surovo - + Mix Mode Način miksanja - + Adjust how the dry (input) signal is mixed with the wet (output) signal of the effect unit Prilagodi mešanje surovega (vhodnega) signala z obogatenim (izhodnim) signalom učinka - + Dry/Wet mode (crossed lines): Mix knob crossfades between dry and wet Use this to change the sound of the track with EQ and filter effects. Surov/obogaten način (prekrižane linije): Regulator miksa prehaja med surovim in obogatenim zvokom. To se uporablja za spreminjanje zvoka skladbe s pomočjo izravnalnika in filter efektov. - + Dry+Wet mode (flat dry line): Mix knob adds wet to dry Use this to change only the effected (wet) signal with EQ and filter effects. Surov+obogaten način (flat dry line): Regulator miksa dodaja obogaten zvok v surovega. To se uporablja za spreminjanje zgolj z učinki obogatenega signala (wet) preko izravnalnika in filtrirnih učinkov. - + Route the main mix through this effect unit. Usmeri glavni miks skozi to efekt-enoto. - + Route the left crossfader bus through this effect unit. Usmeri vodilo levega navzkrižnega drsnika skozi to FX enoto. - + Route the right crossfader bus through this effect unit. Usmeri vodilo desnega navzkrižnega drsnika skozi to FX enoto. - + Right side active: parameter moves with right half of Meta Knob turn Desna stran je aktivna: parameter se spreminja z desno polovico zasuka meta-regulatorja - + Stem Label - + Stem oznaka - + Name of the stem stored in the stem file - + Ime stema shranjenega v stem datoteki - + Text is displayed in the stem color stored in the stem file - + Tekst se prikazuje v stem barvi, ki je shranjena v stem datoteki - + this stem color is also used for the waveform of this stem - + Ta stem barva se prav tako uporablja za valovno obliko tega stema - + Stem Mute - + Utišaj stem - + Toggle the stem mute/unmuted - + Preklop slišnosti tem-a - + Stem Volume Knob - + Stem regulator glasnosti - + Adjusts the volume of the stem - + Spreminjanje glasnosti stem-a - + Skin Settings Menu Menu za nastavitve preobleke - + Show/hide skin settings menu Prikaži/skrij nastavitve preobleke - + Save Sampler Bank Shrani banko vzorcev - + Save the collection of samples loaded in the samplers. Prikaži zbirko vzorcev, ki so naloženi v vzorčevalnik. - + Load Sampler Bank Naloži banko vzorcev - + Load a previously saved collection of samples into the samplers. Naloži predhodno shranjeno zbirko vzorcev v vzorčevalnik. - + Show Effect Parameters Prikaži parametre učinka - + Enable Effect Vklopi učinek - + Meta Knob Link Meta-regulator povezava - + Set how this parameter is linked to the effect's Meta Knob. Določi, kako je ta parameter povezana z meta regulatorjem efekta. - + Meta Knob Link Inversion Meta-regulator obrnjena povezava - + Inverts the direction this parameter moves when turning the effect's Meta Knob. Obrne smer v katero se premika ta parameter, ko obračamo meta regulator učinka. - + Super Knob Super regulator - + Next Chain Naslednja veriga - + Previous Chain Predhodna veriga - + Next/Previous Chain Naslednja/predhodna veriga - + Clear Počisti - + Clear the current effect. Izbriši trenutni učinek. - + Toggle Preklopi - + Toggle the current effect. Preklopi trenutni efekt. - + Next Naslednji - + Clear Unit Počisti enoto - + Clear effect unit. Počisti FX enoto - + Show/hide parameters for effects in this unit. Prikaži/skrij parametre za učinke v tej enoti. - + Toggle Unit Preklopi enoto - + Enable or disable this whole effect unit. Vklopi ali izklopi celotno FX enoto - + Controls the Meta Knob of all effects in this unit together. Hkrati nadzoruje meta gumb vseh učinkov v tej enoti. - + Load next effect chain preset into this effect unit. Naloži naslednjo predlogo verige učinkov v to FX enoto. - + Load previous effect chain preset into this effect unit. Naloži prejšnjo predlogo verige učinkov v to FX enoto. - + Load next or previous effect chain preset into this effect unit. Naloži naslednjo ali prejšnjo predlogo verige učinkov v to FX enoto. - - - - - - - - - + + + + + + + + + Assign Effect Unit Dodeli FX enoto - + Assign this effect unit to the channel output. Dodeli FX enoto izhodu kanala - + Route the headphone channel through this effect unit. Usmeri kanal za slušalke skozi to FX enoto - + Route this deck through the indicated effect unit. Usmeri ta predvajalnik skozi označeno FX enoto. - + Route this sampler through the indicated effect unit. Usmeri ta vzorčevalnik skozi označeno FX enoto. - + Route this microphone through the indicated effect unit. Usmeri ta mikrofon skozi označeno FX enoto. - + Route this auxiliary input through the indicated effect unit. Usmeri ta pomožni AUX vhod skozi označeno FX enoto - + The effect unit must also be assigned to a deck or other sound source to hear the effect. Da bi učinek slišali, mora biti FX enota dodeljena nekemu predvajalniku ali drugemu viru zvoka. - + Switch to the next effect. Preklopi na naslednji učinek. - + Previous Prejšnji - + Switch to the previous effect. Preklopi na prejšnji učinek. - + Next or Previous Naslednji ali prejšnji - + Switch to either the next or previous effect. Preklopi na naslednji ali prejšnji učinek - + Meta Knob Meta-regulator - + Controls linked parameters of this effect Nadzoruje povezane parametre tega efekta - + Effect Focus Button Gumb za fokusiranje učinka - + Focuses this effect. Fokus na ta učinek - + Unfocuses this effect. Odfokusira ta efekt - + Refer to the web page on the Mixxx wiki for your controller for more information. Za več informacij o vašem kontrolerju, preverite spletno stran na Mixxx wikiju. - + Effect Parameter Parametri učinka - + Adjusts a parameter of the effect. Spreminja parameter učinka. - + Inactive: parameter not linked Nekativno: parameter ni povezan - + Active: parameter moves with Meta Knob Aktivno: Parameter se spreminja z meta-regulatorjem - + Left side active: parameter moves with left half of Meta Knob turn Desna stran je aktivna: parameter se spreminja z levo polovico zasuka meta-regulatorja - + Left and right side active: parameter moves across range with half of Meta Knob turn and back with the other half Leva in desna stran sta aktivni: parameter se veča z levo polovico zasuka in manjša s desno polovico zasuka meta regulatorja - - + + Equalizer Parameter Kill Izniči parametre izravnalnika - - + + Holds the gain of the EQ to zero while active. Drži jakost izravnalnika na ničli, dokler je aktiven. - + Quick Effect Super Knob Super-regulator za hitri učinek. - + Quick Effect Super Knob (control linked effect parameters). Super regulator za hitre učinke (nadzoruje povezane parametre učinka). - + Hint: Change the default Quick Effect mode in Preferences -> Equalizers. Namig: Privzeti način za hitri efekt se doliči na Nastavitve -> Izravnalniki. - + Equalizer Parameter Parametri izravnalnika - + Adjusts the gain of the EQ filter. Prilagodi jakost za izravnalnik - + Hint: Change the default EQ mode in Preferences -> Equalizers. Namig: Privzeti EQ način se določi v Nastavitve -> Izravnalniki. - - + + Adjust Beatgrid Prestavi ritmično mrežo. - + Adjust beatgrid so the closest beat is aligned with the current play position. Prilagodi ritmilno mrežo, tako da je najbližja doba poravnana s trenutnim položajem predvajanja. - - + + Adjust beatgrid to match another playing deck. Prilagodi ritmično mrežo, da se bo ujemala z drugim dejavnim predvajalnikom. - + If quantize is enabled, snaps to the nearest beat. Če je kvantizacija vklopljena, skoči na najbližjo dobo. - + Quantize Kvantizacija - + Toggles quantization. Vklopi ali izklopi kvantizacijo. - + Loops and cues snap to the nearest beat when quantization is enabled. Ponavlja zanko in skače na izhodišče najbližje dobe, kadar je kvantizacija vklopljena. - + Reverse Obrni - + Reverses track playback during regular playback. Obrne smer predvajanja med predvajanjem. - + Puts a track into reverse while being held (Censor). Skladba se vrti nazaj, dokler je gumb pritisnjen (Censor) - + Playback continues where the track would have been if it had not been temporarily reversed. Nadaljuje tam, kjer bi skladba bila, če ne bi bila začasno predvajana nazaj. - - - + + + Play/Pause Predvajaj/Pavza - + Jumps to the beginning of the track. Skok na začetek skladbe. - + Syncs the tempo (BPM) and phase to that of the other track, if BPM is detected on both. Sinhronizira tempo (BPM) in fazo z drugo skladbo, če je tempo razbran iz obeh. - + Syncs the tempo (BPM) to that of the other track, if BPM is detected on both. Sinhronizira tempo (BPM) z drugo skladbo, če je tempo razbran iz obeh. - + Sync and Reset Key Sinhroniziraj in ponastavi tonaliteto - + Increases the pitch by one semitone. Poveča višino za en polton. - + Decreases the pitch by one semitone. Zmanjša višino za en polton. - + Enable Vinyl Control Vklopi gramofonsko upravljanje - + When disabled, the track is controlled by Mixxx playback controls. Ko je izklopljeno, se skladbo nadozoruje preko Mixxx predvajalnih kontrol. - + When enabled, the track responds to external vinyl control. Kadar je vklopljeno, se skladba odziva na zunanjo gramofonsko upravljanje. - + Enable Passthrough Vklopi prehod signala - + Indicates that the audio buffer is too small to do all audio processing. Ponazarja, da je medpomnilnik za zvok premajhen, da bi lahko obdelal ves zvok. - + Displays cover artwork of the loaded track. Prikaže naslovnico naložene skladbe. - + Displays options for editing cover artwork. Prikaže možnosti urejanja naslovnice. - + Star Rating Ocena v zvezdicah - + Assign ratings to individual tracks by clicking the stars. Ocenjevanje posameznih skladb s klikanjem na zvezde. @@ -14748,33 +15231,33 @@ To se uporablja za spreminjanje zgolj z učinki obogatenega signala (wet) preko Moč pritajevanja mikrofona pri preglasitvi - + Prevents the pitch from changing when the rate changes. Prepreči spreminjanje višine, kadar se spremeni stopnja. - + Changes the number of hotcue buttons displayed in the deck Spremeni število gumbov hotcue iztočnic, ki so prikazane v predvajalniku. - + Starts playing from the beginning of the track. Začne predvajanje od začetka skladbe. - + Jumps to the beginning of the track and stops. Skoči na začetek skladbe in ustavi. - - + + Plays or pauses the track. Predvaja ali pavzira skladbo. - + (while playing) (ko predvaja) @@ -14794,215 +15277,215 @@ To se uporablja za spreminjanje zgolj z učinki obogatenega signala (wet) preko Merilnik glasnosti za glavni D kanal - + (while stopped) (ko je zaustavljen) - + Cue Cue iztočnica - + Headphone Slušalke - + Mute Tiho - + Old Synchronize Stara sinhronizacija - + Syncs to the first deck (in numerical order) that is playing a track and has a BPM. Sinhronizira tempo glede na prvi predvajalnik (v številčnem zaporedju), ki predvaja skladbo in ima prebran tempo v BPM. - + If no deck is playing, syncs to the first deck that has a BPM. Če noben predvajalnik ne igra, se sinhronizacija izvede glede na prvi predvajalnik, ki ima določen tempo v BPM. - + Decks can't sync to samplers and samplers can only sync to decks. Predvajalniki se ne morejo sinhronizirati glede na vzorčevalnike in vzorčevalniki se lahko sinhornizirajo le glede na predvajalnike. - + Hold for at least a second to enable sync lock for this deck. Držite vsaj sekundo, da bi zaklenili sinhornizacijo za ta predvajalnik. - + Decks with sync locked will all play at the same tempo, and decks that also have quantize enabled will always have their beats lined up. Predvajalniki z zaklenjeno sinhronizacijo bodo igrali z enakim tempom. Predvajalniki, ki imajo vklopljeno tudi kvantizacijo bodo vedno imeli poravnane dobe. - + Resets the key to the original track key. Ponastavi tonaliteto na orignalno tonaliteto skladbe. - + Speed Control Nnadzor hitrosti - - - + + + Changes the track pitch independent of the tempo. Spremeni višino skladbe neodvisno od tempa. - + Increases the pitch by 10 cents. Poveča višino za 10 centov. - + Decreases the pitch by 10 cents. Zmanjša višino za 10 centov. - + Pitch Adjust Prilagajanje višine - + Adjust the pitch in addition to the speed slider pitch. Prilagodi višino skupaj z višino drsnika za višino. - + Opens a menu to clear hotcues or edit their labels and colors. Odpre meni za brisanje hotcue iztočnic ali urejanje njihovih oznak in barv. - + Drag this button onto a Play button while previewing to continue playback after release. Povlecite ta gumb na gumb za predvajanje med predposlušanjem, da nadaljujete s predvajanjem potem, ko ga izpustite. - + Dragging with Shift key pressed will not start previewing the hotcue. Če med vlečenjem držite shift, se ne bo vklopilo predposlušanje hotcue iztočnice. - + Record Mix Posnemi miks - + Toggle mix recording. Preklopi snemanje miksa. - + Enable Live Broadcasting Vklopi oddajanje v živo - + Stream your mix over the Internet. Prenašajte svoj miks pretočno preko spleta. - + Provides visual feedback for Live Broadcasting status: Omogoča vizualno povratno informacijo za status oddajanja v živo: - + disabled, connecting, connected, failure. onemogočeno, povezovanje, povezano, neuspešno. - + When enabled, the deck directly plays the audio arriving on the vinyl input. Če je vklopljeno, predvajalnik neposredno predvaja zvok, ki prihaja na vhod gramofona. - + Playback will resume where the track would have been if it had not entered the loop. Predvajanje se bo nadaljevalo tam, kjer bi se skladba nahajala, če se ne bi zagnala zanka. - + Loop Exit Zapusti zanko - + Turns the current loop off. Izklopi trenutno zanko - + Slip Mode Drsni način - + When active, the playback continues muted in the background during a loop, reverse, scratch etc. Če je aktivno se predvajanje med izvajanjem zanke, drgnjenjem, igranjem nazaj, ... nadaljuje tišje, v ozadju. - + Once disabled, the audible playback will resume where the track would have been. Ko je enkrat izklopljeno, se predvajanje zvoka nadaljuje tam, kjer bi se skladba nahajala. - + Track Key The musical key of a track Tonaliteta skladbe - + Displays the musical key of the loaded track. Prikazuje glasbeno tonaliteto skladbe, ki je naložena. - + Clock Ura - + Displays the current time. Prikaže trenutni čas - + Audio Latency Usage Meter Merilnik deleža zvočne latence - + Displays the fraction of latency used for audio processing. Prikazuje delež latence, ki se porabi za procesiranje zvoka. - + A high value indicates that audible glitches are likely. Velika vrednost nakazuje na to, da so napake verjetne. - + Do not enable keylock, effects or additional decks in this situation. V takšni situaciji ne uporabljajte zaklepa tonalitete, učinkov ali dodatnih predvajalnikov. - + Audio Latency Overload Indicator Indikator presežene zvočne latence @@ -15042,259 +15525,259 @@ To se uporablja za spreminjanje zgolj z učinki obogatenega signala (wet) preko Aktivirajte gramofonsko upravljanje iz Menu -> Možnosti. - + Displays the current musical key of the loaded track after pitch shifting. Prikazuje trenutno glasbeno tonaliteto naložene skladbe po spreminjanju višine. - + Fast Rewind Hitro previjanje nazaj - + Fast rewind through the track. Hitro previjanje nazaj skozi skladbo. - + Fast Forward Hitro previjanje naprej - + Fast forward through the track. Hitro vrtenje naprej skozi skladbo. - + Jumps to the end of the track. Skoči na konec skladbe. - + Sets the pitch to a key that allows a harmonic transition from the other track. Requires a detected key on both involved decks. Določi višino na tonaliteto, ki omogoča harmoničen prehod iz druge skladbe. Za to morata biti prepoznani tonaliteti v obeh pripadajočih predvajalnikih. - - - + + + Pitch Control Nadzor višine - + Pitch Rate Sprememba višine - + Displays the current playback rate of the track. Prikaže trenutno stopnjo predvajanja za skladbo. - + Repeat Ponavljanje - + When active the track will repeat if you go past the end or reverse before the start. Če je aktivno, se bo skldaba ponovila, če greste preko konca ali se bo obrnila pred štartom. - + Eject Izvrzi - + Ejects track from the player. Izvrže skladbe iz predvajalnika. - + Hotcue Hotcue iztočnica - + If hotcue is set, jumps to the hotcue. Če je postavljena hotcue iztočnica, skoči na njo. - + If hotcue is not set, sets the hotcue to the current play position. Če hotcue iztočnica ni postavljena, jo postavi na trenutno pozicijo predvajanja. - + Vinyl Control Mode Način gramofonskega upravljanja - + Absolute mode - track position equals needle position and speed. Absolutni način - pozicija v skladbi sovpada s pozicijo igle in hitrostjo. - + Relative mode - track speed equals needle speed regardless of needle position. Relativni način - hitrost skladbe je enaka hitrosti igle, ne glede na pozicijo igle. - + Constant mode - track speed equals last known-steady speed regardless of needle input. Konstantni način - hitrost skladbe je enaka zadnji poznani enakomerni hitrosti, ne glede na stanje igle. - + Vinyl Status Status gramofona - + Provides visual feedback for vinyl control status: Daje vizualno povratno informacijo o statusu gramofonskega upravljanja: - + Green for control enabled. Zelena, če je kontrola vklopljena - + Blinking yellow for when the needle reaches the end of the record. Utripajoča rumena, kadar igla doseže konec plošče. - + Loop-In Marker Oznaka V zanko - + Loop-Out Marker Oznaka iz zanke - + Loop Halve Polovična zanka - + Halves the current loop's length by moving the end marker. Razpolovi trenutno dolžino zanke, tako da premakne zaključno oznako - + Deck immediately loops if past the new endpoint. Predvajalnik takoj zažene zanko, če gre mimo nove zaključne oznake. - + Loop Double Dvojna zanka - + Doubles the current loop's length by moving the end marker. Podvoji trenutno dolžino zanke, tako da premakne zaključno oznako. - + Beatloop Ritmična zanka - + Toggles the current loop on or off. Vklopi ali izklopi trenutno zanko - + Works only if Loop-In and Loop-Out marker are set. Deluje le, če sta postavljeni oznaki V zanko in Iz zanke. - + Vinyl Cueing Mode Gramofonski način cue iztočnic - + Determines how cue points are treated in vinyl control Relative mode: Določa, kako bodo cue iztočnice obravnavane z relativnem načinu gramofonskega načina: - + Off - Cue points ignored. Izklop - cue iztočnice se ne upoštevajo - + One Cue - If needle is dropped after the cue point, track will seek to that cue point. Ena cue iztočnica - Če se igla spusti za cue iztočnico, se bo skladba prevrtela na to izotčnico. - + Track Time Čas skladbe - + Track Duration Dolžina skladbe - + Displays the duration of the loaded track. Prikaže dolžino naložene skladbe. - + Information is loaded from the track's metadata tags. Informacije so naložene iz metapodatkov skladbe. - + Track Artist Izvajalec skladbe - + Displays the artist of the loaded track. Prikaže izvajalca naložene skladbe. - + Track Title Naslov skladbe - + Displays the title of the loaded track. Prikaže naslov naložene skladbe. - + Track Album Album skladbe - + Displays the album name of the loaded track. Prikaže album naložene skladbe. - + Track Artist/Title Izvajalec/Naslov skladbe - + Displays the artist and title of the loaded track. Prikaže izvajalca in naslov naložene skladbe. @@ -15327,22 +15810,22 @@ To se uporablja za spreminjanje zgolj z učinki obogatenega signala (wet) preko Replace Existing File? - + Zamenjam obstoječo datoteko? "%1" already exists, replace? - + "%1" že obstaja. Prepišem? &Replace - + &Zamenjaj Apply to all files - + Uporabi za vse datoteke @@ -15441,7 +15924,7 @@ To se uporablja za spreminjanje zgolj z učinki obogatenega signala (wet) preko frameSwapped-signal driven phase locked loop - + Na frameSwapped-signal temelječa fazno zaklenjena zanka @@ -15525,47 +16008,75 @@ Tega ni mogoče razveljaviti! WCueMenuPopup - + Cue number Številka iztočnice - + Cue position Položaj iztočnice - + Edit cue label Uredi oznako cue iztočnice - + Label... Oznaka... - + Delete this cue Izbriši to iztočnico - - Toggle this cue type between normal cue and saved loop + + Turn this cue into a regular hotcue + + + + + Turn this cue into a saved loop + + + + + Left-click: Use the old size if known or the current beatloop size as the loop size + + + + + Right-click: Use the current play position as new loop end if it is after the cue - - Left-click: Use the old size or the current beatloop size as the loop size - Levi klik: Uporabi staro velikost trenutne ritmične zanke za velikost zanke + + Turn this cue into a saved forward jump. + + is a linebreak. Try to not to extend the translation beyond the length of the longest source line so the tooltip remains compact. + + + + + Turn this cue into a saved backward jump (one shot loop). + - - Right-click: Use the current play position as loop end if it is after the cue + + Left-click: Use the old size if known or the current play position as jump start position +If this is already a jump cue, swap the jump position and the cue/target position. - + + Right-click: use current play position as new jump start position + + + + Hotcue #%1 Hotcue iztočnica #%1 @@ -15580,7 +16091,7 @@ Tega ni mogoče razveljaviti! Rename Preset - + Preimenuje predlogo @@ -15691,32 +16202,32 @@ Tega ni mogoče razveljaviti! Search in Current View... - + Iskanje v trenutnem prikazu... Search for tracks in the current library view - + Iskanje skladb v trenutnem prikazu knjižnice Ctrl+f - + Ctrl+f Search in Tracks Library... - + Iskanje v knjižnici skladb... Search in the internal track collection under "Tracks" in the library - + Iskanje v interni zbirki skladb pod "Skladbe" v knjižnici Ctrl+Shift+F - + Ctrl+Shift+F @@ -15757,12 +16268,12 @@ Tega ni mogoče razveljaviti! Auto-hide menu bar - + Samodejno skrij meni Auto-hide the main menu bar when it's not used. - + Samodejno skrije meni, ko ni v rabi. @@ -15867,171 +16378,181 @@ Tega ni mogoče razveljaviti! + Show Auto DJ + + + + + Switch to the Auto DJ view. + + + + &Full Screen &Cel zaslon - + Display Mixxx using the full screen Prikaže Mixxx preko celega zaslona - + &Options &Možnosti - + &Vinyl Control &Gramofonsko upravljanje - + Use timecoded vinyls on external turntables to control Mixxx Upravljanje Mixxx z uporabo časovno kodiranih vinilnih plošče na zunanjih gramofonih. - + Enable Vinyl Control &%1 Vklopi gramofonsko upravljanje &%1 - + &Record Mix &Snemaj miks - + Record your mix to a file Snema miks v datoteko. - + Ctrl+R Ctrl+R - + Enable Live &Broadcasting Vklopi o&ddajanje v živo - + Stream your mixes to a shoutcast or icecast server Prenašaj svoje mikse na Shoutcast ali Icecast strežnik - + Ctrl+L Ctrl+L - + Enable &Keyboard Shortcuts Vklopi &bližnjice na tipkovnici - + Toggles keyboard shortcuts on or off Vklopi ali izklopi bližnjice na tipkovnici. - + Ctrl+` Ctrl+` - + &Preferences &Nastavitve - + Change Mixxx settings (e.g. playback, MIDI, controls) Spremeni Mixxx nastavitve (npr. predvajanje, MIDI, kontrole) - + &Developer &Razvijalec - + &Reload Skin &Naloži preobleko - + Reload the skin Ponovno naloži preobleko - + Ctrl+Shift+R Ctrl+Shift+R - + Developer &Tools Razvojna &orodja - + Opens the developer tools dialog Odpre dialog razvojnih orodji - + Ctrl+Shift+T Ctrl+Shift+T - + Stats: &Experiment Bucket Stat.: &Eksperimentalno vedro - + Enables experiment mode. Collects stats in the EXPERIMENT tracking bucket. Vklopi eksperimentalni način delovanja. Zbira statistiko v EXPERIMENT vedro za sledenje . - + Ctrl+Shift+E Ctrl+Shift+E - + Stats: &Base Bucket Stat.: &Osnovno vedro - + Enables base mode. Collects stats in the BASE tracking bucket. Vklopi bazični način delovanja. Statistiko zbira v osnovno vedro za sledenje. - + Ctrl+Shift+B Ctrl+Shift+B - + Deb&ugger Enabled Vklopi raz&hroščevalnik - + Enables the debugger during skin parsing Med preverjanjem preobleke vklopi razhroščevalnik. - + Ctrl+Shift+D Ctrl+Shift+D - + &Help &Pomoč @@ -16065,62 +16586,62 @@ Tega ni mogoče razveljaviti! F12 - + &Community Support Podpora &skupnosti - + Get help with Mixxx Poiščite pomoč za Mixxx - + &User Manual &Uporabniška navodila - + Read the Mixxx user manual. Preberite navodila za rabo Mixxx - + &Keyboard Shortcuts &Bližnjice na tipkovnici - + Speed up your workflow with keyboard shortcuts. Pohitrite delo z rabo bližnjic. - + &Settings directory Mapa za na&stavitve - + Open the Mixxx user settings directory. Odpre mapo z nastavitvami za Mixxx. - + &Translate This Application Prevedi &to aplikacijo - + Help translate this application into your language. Pomagajte prevesti ta program v svoj jezik. - + &About O progr&amu - + About the application O programu @@ -16128,25 +16649,25 @@ Tega ni mogoče razveljaviti! WOverview - + Passthrough Prehod - + Ready to play, analyzing... Text on waveform overview when file is playable but no waveform is visible Pripravljen za predvajanje, analiziram .. - - + + Loading track... Text on waveform overview when file is cached from source Nalaganje skladbe .. - + Finalizing... Text on waveform overview during finalizing of waveform analysis Zaključujem... @@ -16184,54 +16705,54 @@ Tega ni mogoče razveljaviti! Enter a string to search for. - + Vnesite iskalni niz. Use operators like bpm:115-128, artist:BooFar, -year:1990. - + Uporabite operatorje, kot so bpm:115-128, atrist:BooFar,-year:1990. See User Manual > Mixxx Library for more information. - + Za več podatkov glej User Manual > Mixxx Library Focus/Select All (Search in current view) Give search bar input focus - + Fokus/izberi vse (iskanje v trenutnem prikazu) Focus/Select All (Search in 'Tracks' library view) - + Fokus/izberi vse (iskanje v prikazu knjižnice 'Skladbe') Additional Shortcuts When Focused: - + Dodatne bljižnice, ko je fokusirano: Trigger search before search-as-you-type timeout or focus tracks view afterwards - + Sproži iskanje pred iztekom časa za išči-ko-tipkaš ali po tem fokusiraj prikaz skladb Esc or Ctrl+Return - + Esc ali Ctrl+Return Immediately trigger search and focus tracks view Exit search bar and leave focus - + Takoj zaženi iskanje in fokusiraj prikaz skladb Ctrl+Space - + ctrl+preslednica @@ -16242,12 +16763,12 @@ Tega ni mogoče razveljaviti! Delete or Backspace - + Delete ali Backspace in search history - + v zgodovini iskanj @@ -16330,631 +16851,646 @@ Tega ni mogoče razveljaviti! &Search selected - + &Iskanje izbranih WTrackMenu - + Load to Naloži v - + Deck Predvajalnik - + Sampler Vzročevalnik - + Add to Playlist Dodaj v seznam predvajanja - + Crates Zaboji - + Metadata Metapodatki - + Update external collections Osveži zunanje zbirke - + Cover Art Naslovnica - + Adjust BPM Prilagodi BPM - + Select Color Izberi barvo - - + + Analyze Analiziraj - - + + Delete Track Files Izbriši datoteke skladbe - + Add to Auto DJ Queue (bottom) Dodaj k zaporedju samodejnega DJ-a (na dno) - + Add to Auto DJ Queue (top) Dodaj k zaporedju samodejnega DJ-a (na vrh) - + Add to Auto DJ Queue (replace) Dodaj v zaporedje samodejnega DJ-a (zamenjaj) - + Preview Deck Predvajalnik za predposlušanje - + Remove Odstrani - + Remove from Playlist Odstrani iz seznama predvajanja - + Remove from Crate Odstrani iz zaboja - + Hide from Library Skrij iz zbirke - + Unhide from Library Pokaži v zbirki - + Purge from Library Pobriši iz zbirke - + Move Track File(s) to Trash Premakni datoteke skladb(e) v koš - + Delete Files from Disk Izbriši datoteke z diska - + Properties Lastnosti - + Open in File Browser Odpri v brskalniku datotek - + Select in Library Izberi v knjižnici - + Import From File Tags naloži iz oznak v datoteki - + Import From MusicBrainz Naloži iz MusicBrainz - + Export To File Tags Izvozi oznake v datoteko - + BPM and Beatgrid BPM in ritmična mreža - + Play Count Števec predvajanj - + Rating Ocena - + Cue Point Cue iztočnica - - + + Hotcues Hotcue iztočnice - + Intro Uvod - + Outro Zaključek - + Key Tonaliteta - + ReplayGain ReplayGain - + Waveform Valovna oblika - + Comment Komentar - + All Vse - + Sort hotcues by position (remove offsets) Sortiranje hotcue iztočnic po položaju (odstrani odmike) - + Sort hotcues by position Sortiranje hotcue iztočnic po položaju - + Lock BPM Zakleni BPM - + Unlock BPM Odkleni BPM - + Double BPM Podvoji BPM - + Halve BPM Razpolovi BPM - + 2/3 BPM 2/3 BPM - + 3/4 BPM 3/4 BPM - + 4/3 BPM 4/3 BPM - + 3/2 BPM 3/2 BPM - + Shift Beatgrid Half Beat Pomakni ritmično mrežo za pol dobe - + Reanalyze Ponovno analiziraj - + Reanalyze (constant BPM) Ponovno analiza (konstantni BPM) - + Reanalyze (variable BPM) Ponovno analiza (spremenljivi BPM) - + Update ReplayGain from Deck Gain Posodobi ReplayGain glede na jakost predvajalnika - + Deck %1 Predvajalnik %1 - + Importing metadata of %n track(s) from file tags Uvažanje metapodatkov %n skladbe iz oznak v datotekiUvažanje metapodatkov %n skladb iz oznak v datotekahUvažanje metapodatkov %n skladb iz oznak v datotekahUvažanje metapodatkov %n skladb iz oznak v datotekah - + Marking metadata of %n track(s) to be exported into file tags Označevanje metapodatkov %n skladbe za izvoz v oznake datotekeOznačevanje metapodatkov %n skladb za izvoz v oznake datotekOznačevanje metapodatkov %n skladb za izvoz v oznake datotekOznačevanje metapodatkov %n skladb za izvoz v oznake datotek - - + + Create New Playlist Ustvari nov seznam predvajanja - + Enter name for new playlist: Vnesi ime seznama predvajanja: - + New Playlist Nov seznam predvajanja - - - + + + Playlist Creation Failed Ustvarjanje seznama predvajanja je spodletelo - + A playlist by that name already exists. Seznam predvajanja s tem imenom že obstaja. - + A playlist cannot have a blank name. Seznam predvajanja ne more biti brez imena. - + An unknown error occurred while creating playlist: Neznana napaka pri ustvarjanju novega seznama predvajanja: - + Add to New Crate Dodaj v nov zaboj - + Scaling BPM of %n track(s) Povečanje BPM %n skladbePovečanje BPM %n skladbPovečanje BPM %n skladbPovečanje BPM %n skladb - + Undo BPM/beats change of %n track(s) Razveljavi spremembo BPM/dob za %n skladboRazveljavi spremembo BPM/dob za %n skladbiRazveljavi spremembo BPM/dob za %n skladbeRazveljavi spremembo BPM/dob za %n skladb - + Locking BPM of %n track(s) Zaklepanje BPM %n skladbeZaklepanje BPM %n skladbZaklepanje BPM %n skladbZaklepanje BPM %n skladb - + Unlocking BPM of %n track(s) Odklepanje BPM %n skladbeOdklepanje BPM %n skladbOdklepanje BPM %n skladbOdklepanje BPM %n skladb - + Setting rating of %n track(s) - + Nastavitev ocen za %n skladboNastavitev ocen za %n skladbiNastavitev ocen za %n skladbeNastavitev ocen za %n skladb - + Setting color of %n track(s) Določanje barve %n skladbeDoločanje barve %n skladbDoločanje barve %n skladbDoločanje barve %n skladb - + Resetting play count of %n track(s) Ponastavljanje števca predvajanj %n skladbePonastavljanje števca predvajanj %n skladbPonastavljanje števca predvajanj %n skladbPonastavljanje števca predvajanj %n skladb - + Resetting beats of %n track(s) Ponastavljanje ritma %n skladbePonastavljanje ritma %n skladbPonastavljanje ritma %n skladbPonastavljanje ritma %n skladb - + Clearing rating of %n track(s) Brisanje ocen za %1 skladbeBrisanje ocen za %1 skladbBrisanje ocen za %1 skladbBrisanje ocen za %1 skladb - + Clearing comment of %n track(s) Čiščenje komentarjev za %n skladbeČiščenje komentarjev za %n skladbČiščenje komentarjev za %n skladbČiščenje komentarjev za %n skladb - + Removing main cue from %n track(s) Odstranjevanje glavne iztočnice %n skladbOdstranjevanje glavne iztočnice %n skladbOdstranjevanje glavne iztočnice %n skladbOdstranjevanje glavne iztočnice %n skladb - + Removing outro cue from %n track(s) Odstranjevanje izstopne iztočnice %n skladbeOdstranjevanje izstopne iztočnice %n skladbOdstranjevanje izstopne iztočnice %n skladbOdstranjevanje izstopne iztočnice %n skladb - + Removing intro cue from %n track(s) Odstranjevanje vstopne iztočnice %n skladbeOdstranjevanje vstopne iztočnice %n skladbOdstranjevanje vstopne iztočnice %n skladbOdstranjevanje vstopne iztočnice %n skladb - + Removing loop cues from %n track(s) Odstranjevanje iztočnic zank iz %n skladbeOdstranjevanje iztočnic zank iz %n skladbOdstranjevanje iztočnic zank iz %n skladbOdstranjevanje iztočnic zank iz %n skladb - + Removing hot cues from %n track(s) Odstranjevanje hotcue iztočnic %n skladbeOdstranjevanje hotcue iztočnic %n skladbOdstranjevanje hotcue iztočnic %n skladbOdstranjevanje hotcue iztočnic %n skladb - + Sorting hotcues of %n track(s) by position (remove offsets) Sortiranje hotcue iztočnic %n skladbe po položaju (odstrani odmike)Sortiranje hotcue iztočnic %n skladb po položaju (odstrani odmike)Sortiranje hotcue iztočnic %n skladb po položaju (odstrani odmike)Sortiranje hotcue iztočnic %n skladb po položaju (odstrani odmike) - + Sorting hotcues of %n track(s) by position Sortiranje hotcue iztočnic %n skladbe po položajuSortiranje hotcue iztočnic %n skladb po položajuSortiranje hotcue iztočnic %n skladb po položajuSortiranje hotcue iztočnic %n skladb po položaju - + Resetting keys of %n track(s) Ponastavljanje ključa %n skladbePonastavljanje ključa %n skladbPonastavljanje ključa %n skladbPonastavljanje ključa %n skladb - + Resetting replay gain of %n track(s) Ponastavljanje jakosti ponovitev %n skladbePonastavljanje jakosti ponovitev %n skladbPonastavljanje jakosti ponovitev %n skladbPonastavljanje jakosti ponovitev %n skladb - + Resetting waveform of %n track(s) Ponastavitev valovne oblike %n skladbePonastavitev valovne oblike %n skladbPonastavitev valovne oblike %n skladbPonastavitev valovne oblike %n skladb - + Resetting all performance metadata of %n track(s) Ponastavitev vseh metapodatkov o izvajanju %n skladbePonastavitev vseh metapodatkov o izvajanju %n skladbPonastavitev vseh metapodatkov o izvajanju %n skladbPonastavitev vseh metapodatkov o izvajanju %n skladb - + Move these files to the trash bin? - + Premaknem te datoteke v koš? - + Permanently delete these files from disk? Trajno izbrišem datoteke z diska? - - + + This can not be undone! Tega ni mogoče razveljaviti! - + Cancel Prekliči - + Delete Files Izbriši datoteke - + Okay V redu - + Move Track File(s) to Trash? Premaknem datoteke skladb(e) v koš? - + Track Files Deleted Datoteke skladb so bile izbrisane - + Track Files Moved To Trash Datoteke skladb so bile premaknjen v koš - + %1 track files were moved to trash and purged from the Mixxx database. %1 skladb je bilo premaknjenih v koš in izbrisanih iz Mixxx baze podatkov. - + %1 track files were deleted from disk and purged from the Mixxx database. %1 datoek skladb je bilo izbrisanih z diska in odstranjenih iz Mixxx baze podatkov - + Track File Deleted Datoteke skladbe je bila izbrisana - + Track file was deleted from disk and purged from the Mixxx database. Datoteka skladbe je bila izbirsana z diska in odtrsanjena iz Mixxx zbirke podatkov - + The following %1 file(s) could not be deleted from disk Teh %1 datotek ni bilo mogoče izbrisati z diska - + This track file could not be deleted from disk Te glasbene datoteke ni bilo mogoče izbrisati z diska - + Remaining Track File(s) Preostalo zvočnih datotek - + Close Zapri - + Clear Reset metadata in right click track context menu in library - + Počisti - + Loops Zanke - + Clear BPM and Beatgrid Počisiti BPM in ritmično mrežo - + Undo last BPM/beats change Povrni zadnjo spremembo BPM/ritmične mreže - + Move this track file to the trash bin? - + Premaknem datoteko te skladbe v koš? - + Permanently delete this track file from disk? - + Trajno izbrišem to skladbo z diska? - + All decks where these tracks are loaded will be stopped and the tracks will be ejected. - + Vsi predvajalniki, ki imajo naloženo to skladbo, bodo zaustavljeni, skladbe pa bodo odstranjene iz njih. - + All decks where this track is loaded will be stopped and the track will be ejected. - + Vsi predvajalniki, ki imajo naloženo to skladbo, bodo zaustavljeni, skladbe pa bodo odstranjene iz njih. - + Removing %n track file(s) from disk... Odstranjevanje %n skladb z diska... - + Note: if you are in the Computer or Recording view you need to click the current view again to see changes. Opomba: Če ste v računalniškem alio snemalnem prikazu, morate ponovno klikniti na trenutni prikaz, da vidite spremembe. - + Track File Moved To Trash Datoteka skladbe je premaknjena v koš - + Track file was moved to trash and purged from the Mixxx database. Datoteka skladbe je bila premaknjena v koš in izbrisana iz Mixxx baze podatkov. - + Don't show again during this session - + Tega ne sprašuje med to sejo - + The following %1 file(s) could not be moved to trash Teh %1 datotek(e) ni bilo mogoče premakniti v koš - + This track file could not be moved to trash Te datoteke skladbe ni bilo mogoče premakniti v koš + + + Replace current Auto DJ queue? + + + + + Do you want to replace the entire Auto DJ queue with the selected tracks? + + + + + Don't ask again during this session + + - + Setting cover art of %n track(s) Določitev naslovnice %n sklabeDoločitev naslovnice %n sklabDoločitev naslovnice %n sklabDoločitev naslovnice %n sklab - + Reloading cover art of %n track(s) Ponovno nalaganje naslovnice %n skladbePonovno nalaganje naslovnice %n skladbPonovno nalaganje naslovnice %n skladbPonovno nalaganje naslovnice %n skladb @@ -16964,7 +17500,7 @@ Tega ni mogoče razveljaviti! title - + naslov @@ -16972,73 +17508,73 @@ Tega ni mogoče razveljaviti! Load for stem mixing - + Naloži za stem miksanje Load pre-mixed stereo track - + Naloži vnaprej zmiksano stereo skladbo Load the "%1" stem - + Naloži stem "%1" Load multiple stem into a stereo deck - + V stereo predvajalnik naloži več stem-ov Select stems to load - + Izbira stemov za nalaganje Release "CTRL" to load the current selection - + Spustite "ctrl" za nalaganje trenutnega izobra Use "CTRL" to select multiple stems - + Uporabite "ctrl" za izbor več stemov WTrackTableView - + Confirm track hide Potrditev skritja skladbe - + Are you sure you want to hide the selected tracks? Ali res želite skriti izbrane skladbe? - + Are you sure you want to remove the selected tracks from AutoDJ queue? Ali res želite odstraniti izbrane skladbe iz zaporedja Samodejnega DJ? - + Are you sure you want to remove the selected tracks from this crate? Ali res želite odstraniti izbrane skladbe iz tega zaboja? - + Are you sure you want to remove the selected tracks from this playlist? Ali res želite odstraniti izbrane skladbe s tega seznama? - + Don't ask again during this session Ne sprašuj med to sejo - + Confirm track removal Potrditev odstranitve skladb @@ -17046,65 +17582,65 @@ Tega ni mogoče razveljaviti! WTrackTableViewHeader - + Show or hide columns. Prikaži ali skrij stolpce. - + Shuffle Tracks - + Premešaj skladbe mixxx::CoreServices - + fonts pisave - + database podatkovna baza - + effects učinki - + audio interface zvočni vmesnik - + decks predvajalnikov - + library knjižnica - + Choose music library directory Izberi mapo glasbene zbirke - + controllers kontroler - + Cannot open database Ni možno odpreti baze podatkov. - + Unable to establish a database connection. Mixxx requires QT with SQLite support. Please read the Qt SQL driver documentation for information on how to build it. @@ -17124,17 +17660,17 @@ Pritisnite OK za izhod. Crates - + Zaboji Playlists - + Seznami predvajanja Selected crates/playlists - + Izbrani zabojniki/seznami predvajanja @@ -17213,7 +17749,8 @@ Pritisnite OK za izhod. Failed to export track %1 - %2: %3 %1 is the artist %2 is the title and %3 is the original error message - + Neuspešen izvoz skladbe %1-%2: +%3 @@ -17226,7 +17763,7 @@ Pritisnite OK za izhod. Exported %1 track(s), %2 crate(s), and %3 playlist(s). - + Izvoženo skladb:%1; zabojev:%2; seznamov: %3 @@ -17260,6 +17797,24 @@ Pritisnite OK za izhod. Omrežna zahteva ni bila zagnana + + mixxx::qml::QmlApplication + + + Existing user profile detected + + + + + Trying to run Mixxx 3.0 with an existing %0 user profile! <br><br>There is <b>serious risks</b> of data loss and corruption.<br>We recommend using a test profile folder with the '--settings-path' argument. <br><br>If you want to continue at your own risk, run Mixxx with the argument '--allow-dangerous-data-corruption-risk'. + + + + + Ok + + + mixxx::qml::QmlVisibleEffectsModel @@ -17268,4 +17823,27 @@ Pritisnite OK za izhod. Ni naloženih učinkov. + + mixxx::qml::QmlWaveformRendererMark + + + Cannot find the marker pixmap + + + + + Cannot find the marker endPixmap + + + + + Cannot find the marker icon + + + + + Cannot find the marker endIcon + + + \ No newline at end of file diff --git a/res/translations/mixxx_sn.qm b/res/translations/mixxx_sn.qm index 184c87ebb61f38c4be81b502e6e62cef398fad2a..538b59d770c6680629506a8f82a5078db6a04583 100644 GIT binary patch delta 3901 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�&Avzw zUzl1;_J~?Dt3GL#dW9yPrvIJZ&G}cV)>V4XIW(QUo%G{EhETOP>L=wD0XJ@lQ_bv+ zHAD4LMmkN@>QA`j(1yibf1!yAAnZ?lzJao0sT=#KRbTp(Eugm2*A1o?Eht&l1opSl z`p0MP1Ka)eueYrP5)$<94|HUs$QC!U4^Qbop1lQZoNh4jZh`pLte517*u&h~Xf!zc z)0~WpG`ReWR@)77gPT}Q&B)ado<-xI)|G8DGbCH&(eIKJ!|q~=>6#&i^s<5Ud8FZJ z8y&|q8*)cbewDNt&JLARr=4Ip_l9<4X?2E+cSC6vKVqnEo(in?G~6-23~2vmyPR5V zc$48zlX#zf7!XD~oJrXg=H}57E3y1fi>{%FL?}YAP)Xy0g8p@WOTuQ&`&`@_*ekm! IseS(c0UVjpr~m)} diff --git a/res/translations/mixxx_sn.ts b/res/translations/mixxx_sn.ts index e688c2a04bcc..60cd809ab364 100644 --- a/res/translations/mixxx_sn.ts +++ b/res/translations/mixxx_sn.ts @@ -8,6 +8,14 @@ + + AllTrackLibraryFeature + + + All... + + + AnalysisFeature @@ -19,52 +27,52 @@ AutoDJFeature - + Crates Homwe - + Enable Auto DJ - + Disable Auto DJ - + Clear Auto DJ Queue - + Remove Crate as Track Source Bvisa homwe iyi senzvimbo yemimhanzi - + Auto DJ Zviridze wega - + Confirmation Clear - + Do you really want to remove all tracks from the Auto DJ queue? - + This can not be undone. - + Add Crate as Track Source Shandisa homwe iyi senzvimbo yemimhanzi @@ -149,28 +157,28 @@ BasePlaylistFeature - + New Playlist Mutsetse mutsva wekuridza - + Add to Auto DJ Queue (bottom) Wedzera pamutsetse wekuzviridza wega (kuzasi) - + Create New Playlist Gadzira mutsetse mutsva wekuridza - + Add to Auto DJ Queue (top) Wedzera pamutsetse wekuzviridza wega (kumusoro) - + Remove Bvisa @@ -180,12 +188,12 @@ Shandura zita - + Lock Kiya - + Duplicate Dzokorora @@ -206,24 +214,24 @@ Wongorora mutsetse wose - + Enter new name for playlist: Ipa zita ritsva kumutsetse: - + Duplicate Playlist Dzokorora mutsetse uyu - - + + Enter name for new playlist: Ipa zita kumutsetse mutsva: - + Export Playlist Buritsa mutsetse @@ -233,70 +241,77 @@ - + + + Export to Engine DJ + "Engine DJ" is a product name and must not be translated. + + + + Rename Playlist Shandura zita remutsetse - - + + Renaming Playlist Failed Tatadza kushandura zita remutsetse - - - + + + A playlist by that name already exists. Pane mumwe mutsetse une zita rakadaro. - - - + + + A playlist cannot have a blank name. Mutsetse haukwanise kushaya zita. - + _copy //: Appendix to default name when duplicating a playlist _wakatedzerwa - - - - - - + + + + + + Playlist Creation Failed Tatadza kugadzira mutsetse wekuridza - - + + An unknown error occurred while creating playlist: Hameno zvisina kuitika mushe pakugadzira mutsetse wekuridza: - + Confirm Deletion - + Do you really want to delete playlist <b>%1</b>? - + M3U Playlist (*.m3u) Mutsetse weM3U (*.m3u) - + M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Text CSV (*.csv);;Readable Text (*.txt) Mutsetse weM3U (*.m3u);;Mutsetse weM3U8 (*.m3u8);;Mutsetse wePLS (*.pls);;Mutsetse weText CSV (*.csv);;Mutsetse weText (*.txt) @@ -304,12 +319,12 @@ BaseSqlTableModel - + # # - + Timestamp Chidhindo chemusi @@ -317,7 +332,7 @@ BaseTrackPlayerImpl - + Couldn't load track. Tatadza kuridza rwiyo. @@ -325,137 +340,142 @@ BaseTrackTableModel - + Album Bhama - + Album Artist Muimbi webhama - + Artist Muimbi - + Bitrate Bitrate - + BPM Mutinhimira - + Channels - + Color - + Comment Pfungwa - + Composer Munyori - + Cover Art Mufananidzo webhama - + Date Added Musi wekuunzwa - + Last Played - + Duration Hurebu - + Type Rudzi - + Genre Rudzi - + Grouping Maunganidzirwo - + Key Key - + Location Nzvimbo - + + Overview + + + + Preview Teerera - + Rating Rikudzo - + ReplayGain Hudzamu Hwerwiyo - + Samplerate - + Played Rwaridzwa - + Title Zita - + Track # Nziyo # - + Year Gore - + Fetching image ... Tooltip text on the cover art column shown when the cover is read from disk @@ -477,22 +497,22 @@ BroadcastProfile - + Can't use secure password storage: keychain access failed. Tatadza kushandisa password yako yakachengetedzwa: keychain yaramba kubatika. - + Secure password retrieval unsuccessful: keychain access failed. Tatadza kuburitsa password yako yakachengetedzwa: keychain yaramba kubatika. - + Settings error MaSettings aramba kuita - + <b>Error with settings for '%1':</b><br> <b>Pane zvanetsa nema settings e '%1':</b><br> @@ -543,67 +563,77 @@ BrowseFeature - + Add to Quick Links Kanda kune kweZvepedo - + Remove from Quick Links Bvisa kune Zvepedo - + Add to Library Isa mubumbiro - + Refresh directory tree - + Quick Links Zvepedo - - + + Devices maDevice - + Removable Devices maDevice anobvisika - - + + Computer Kompiyuta - + Music Directory Added Nzvimbo ine mumhanzi yawedzerwa - + You added one or more music directories. The tracks in these directories won't be available until you rescan your library. Would you like to rescan now? Wawedzera nzvimbo inemumhanzi. Nziyo dzirimo hadzisati dzakuonekwa kusvikira tawongorora nzvimbo yacho. Towongorowa here izvozvi? - + Scan Wongorora - + "Computer" lets you navigate, view, and load tracks from folders on your hard disk and external devices. "kompiyuta" ndepekuti ukwanise kuona, kutsvaga nekuridza mimanzi kubva pa hard disk rako kana zvimwe zvawaka bairira pa kompiyuta yako. + + + It shows the data from the file tags, not track data from your Mixxx library like other track views. + + + + + If you load a track file from here, it will be added to your library. + + BrowseTableModel @@ -713,12 +743,12 @@ Faira Ragadzirwa - + Mixxx Library Library reMixxx - + Could not load the following file because it is in use by Mixxx or another application. Tatadza kuridza faira iri nokuti riri kushandiswa muMixxx kana kuti imwe application. @@ -749,87 +779,92 @@ CmdlineArgs - + Mixxx is an open source DJ software. For more information, see: - + Starts Mixxx in full-screen mode - + Use a custom locale for loading translations. (e.g 'fr') - + Top-level directory where Mixxx should look for its resource files such as MIDI mappings, overriding the default installation location. - + Path the debug statistics time line is written to - + Causes Mixxx to display/log all of the controller data it receives and script functions it loads - + The controller mapping will issue more aggressive warnings and errors when detecting misuse of controller APIs. New Controller Mappings should be developed with this option enabled! - + Enables developer-mode. Includes extra log info, stats on performance, and a Developer tools menu. - + Top-level directory where Mixxx should look for settings. Default is: - + Starts Auto DJ when Mixxx is launched. - + Rescans the library when Mixxx is launched. - + Use legacy vu meter - + Use legacy spinny - - Loads experimental QML GUI instead of legacy QWidget skin + + Loads the highly unstable 3.0 Mixxx interface, based on QML. You need to use a new setting profile, or run with 'allow-dangerous-data-corruption-risk' to use with the current one. We highly recommend backing up your data if you do so. + + + + + Force Mixxx to load an unstable version with an existing user profile from a stable version - + Enables safe-mode. Disables OpenGL waveforms, and spinning vinyl widgets. Try this option if Mixxx is crashing on startup. - + [auto|always|never] Use colors on the console output. - + Sets the verbosity of command line logging. critical - Critical/Fatal only warning - Above + Warnings @@ -839,27 +874,32 @@ trace - Above + Profiling messages - + Sets the the logging level at which the log buffer is flushed to mixxx.log. <level> is one of the values defined at --log-level above. - + Sets the maximum file size of the mixxx.log file in bytes. Use -1 for unlimited. The default is 100 MB as 1e5 or 100000000. - + Breaks (SIGINT) Mixxx, if a DEBUG_ASSERT evaluates to false. Under a debugger you can continue afterwards. - + + Overrides the default application GUI style. Possible values: %1 + + + + Load the specified music file(s) at start-up. Each file you specify will be loaded into the next virtual deck. - + Preview rendered controller screens in the Setting windows. @@ -952,2535 +992,2585 @@ trace - Above + Profiling messages ControlPickerMenu - + Headphone Output Output yemaHeadphone - - - + + + + Deck %1 + %1 is the deck number 1 ... 4 Mupaka %1 - + Sampler %1 Sampler %1 - + Preview Deck %1 Mupaka wenzwisa %1 - + Microphone %1 Maikrophone %1 - + Auxiliary %1 Auxiliary %1 - + Reset to default Dzosera padzatanga zviri - + Effect Rack %1 MaEffect %1 - + Parameter %1 Paramita %1 - + Mixer Mixa - - + + Crossfader Krosfedha - + Headphone mix (pre/main) Mix yekumaHeadphone (nzwisa/kunze) - + Toggle headphone split cueing Batidza kuti unzwe kumaHeaphone zvisinga nzwikwe nechaunga - + Headphone delay Delay yekumaHeadphone - + Transport Tiranzipoti - + Strip-search through track Mhanyisa pakati perwiyo - + Play button Bhatani rekuridza - - + + Set to full volume Isa vhoriume kumusoro - - + + Set to zero volume Nyararidza vhoriume - + Stop button Bhatani rekumisa rwiyo - + Jump to start of track and play Enda panotangira rwiyo uridze - + Jump to end of track Enda panoperera rwiyo - + Reverse roll (Censor) button Bhatani rekudzora kumashure uchiridza (kusensa) - + Headphone listen button Bhatani rekudzwisa kumaHeadphone - - + + Mute button Bhatani rekunyararidza - + Toggle repeat mode Batidza dzokororo - - + + Mix orientation (e.g. left, right, center) KwekuMixira (sekuti Roboshwe, Kurudyi, Pakati) - - + + Set mix orientation to left Mixira kuruboshwe - - + + Set mix orientation to center Mixira pakati - - + + Set mix orientation to right Mixira kurudyi - + Toggle slip mode Batidza slip mode - - + + BPM Mutinhimira - + Increase BPM by 1 Wedzera mutinhimira ne 1 - + Decrease BPM by 1 Dzikisa mutinhimira ne 1 - + Increase BPM by 0.1 Wedzera mutinhimira ne 0.1 - + Decrease BPM by 0.1 Dzikisa mutinhimira ne 0.1 - + BPM tap button Bhatani rekubata mutinhimira - + Toggle quantize mode Batidza nangiso - + One-time beat sync (tempo only) Sync yemutinhimira (kufambisa chete) - + One-time beat sync (phase only) Sync yemutinhimira (kuenderana chete) - + Toggle keylock mode Batidza keylock - + Equalizers MaEqualizer - + Vinyl Control Shandisa marekodhi - + Toggle vinyl-control cueing mode (OFF/ONE/HOT) Batidza mashandisiro epekutandira parekodhi (DZIMA/KAMWECHETE/PEKUJAMBIRA) - + Toggle vinyl-control mode (ABS/REL/CONST) Batidza mashandisiro emarekodhi (CHAIZVO/ZVINOENDERANA/ZVINOTIENDERANEIWO) - + Pass through external audio into the internal mixer Shandisa mixa yepano kuridza zvekumamwe masource - + Cues Pekutangira kuridza rwiyo - + Cue button Bhatani repekutangira kuridza - + Set cue point Ita pekutangira kuridza - + Go to cue point Enda pekutangira kuridza - + Go to cue point and play Enda pekutangira kuridza uridze - + Go to cue point and stop Enda pekutangira kuridza asi usaridze - + Preview from cue point Teerera kubva pekutangira kuridza - + Cue button (CDJ mode) Bhatani repekutangira kuridza (SeCDJ) - + Stutter cue Pekusikiza kutangira kuridza - + Hotcues Pekujambira uchiridza - + Set, preview from or jump to hotcue %1 Isa, jambira kanakuti teerera kubva pekujambira %1 - + Clear hotcue %1 Dzima pekujambira %1 - + Set hotcue %1 Ita pekujambira %1 - + Jump to hotcue %1 Jambira pekujambira %1 - + Jump to hotcue %1 and stop Jambira pekujambira %1 asi usaridze - + Jump to hotcue %1 and play Jambira pekujambira %1 uridze - + Preview from hotcue %1 Teerera kubva pekujambira %1 - - + + Hotcue %1 Pekujambira %1 - + Looping Kanzwimbo kekudzokorora - + Loop In button Bhatani repekutangira kuridza uchidzokorora - + Loop Out button Bhatani repekugumira kuridza uchidzokorora - + Loop Exit button Bhatani repekuregera kuridza uchidzokorora - + 1/2 1/2 - + 1 1 - + 2 2 - + 4 4 - + 8 8 - + 16 16 - + 32 32 - + 64 64 - + Move loop forward by %1 beats Fambisa dzokororo pamberi ne %1 mabeat - + Move loop backward by %1 beats Dzora dzokororo shure ne %1 mabeat - + Create %1-beat loop Gadzira dzokororo inotedzera %1-beat - + Create temporary %1-beat loop roll Gadzira dzokororo inotedzera %1-beat zveparizvino - + Library Laibhurari - + Slot %1 Slot %1 - + Headphone Mix Mix yekumaHeadphone - + Headphone Split Cue Mateerero ekumaHeadphone - + Headphone Delay Delay yekumaHeadphone - + Play Ridza - + Fast Rewind Dzora shure nekukurumidza - + Fast Rewind button Bhatani rekudzora shure nekukurumidza - + Fast Forward Mhanyisa mberi - + Fast Forward button Bhatami rekumhanyisa mberi - + Strip Search - + Play Reverse Ridza zvichidzokera shure - + Play Reverse button Bhatani rekuridza zvichidzokera shure - + Reverse Roll (Censor) Dzora kumashure uchiridza (kusensa) - + Jump To Start Jambira pekutangidza - + Jumps to start of track Enda panotangira rwiyo - + Play From Start Ridza kubvira pekutangira - + Stop Mira - + Stop And Jump To Start Mira uende pekutangidza - + Stop playback and jump to start of track Mira kuridza uende panotangira rwiyo - + Jump To End Enda kumagumo - + Volume Vhoriume - - - + + + Volume Fader Pekuwedzera nekudzora vhoriume - - + + Full Volume Vhoriume yakaguma - - + + Zero Volume Vhoriume yakanyarara - + Track Gain Simbiso yenziyo - + Track Gain knob Chesimbiso yenziyo - - + + Mute Nyararidza - + Eject Bvisa - - + + Headphone Listen Teerero yekumaHeadphone - + Headphone listen (pfl) button Bhatani rekudzwisa kumaHeadphone (pfl) - + Repeat Mode Dzokororo - + Slip Mode Slip Mode - - + + Orientation Nangiso - - + + Orient Left Nangisa kuruboshwe - - + + Orient Center Nangisa pakati - - + + Orient Right Nangisa kurudyi - + BPM +1 Mutinhimira +1 - + BPM -1 Mutinhimira -1 - + BPM +0.1 Mutinhimira +0.1 - + BPM -0.1 Mutinhimira -0.1 - + BPM Tap Bata Mutinhimira - + Adjust Beatgrid Faster +.01 Wedzera beatgrid +.01 - + Increase track's average BPM by 0.01 Wedzera mutinhimira werwiyo ne 0.01 - + Adjust Beatgrid Slower -.01 Dzora beatgrid -.01 - + Decrease track's average BPM by 0.01 Dzikisa mutinhimira werwiyo ne 0.01 - + Move Beatgrid Earlier Fambisa beatgrid kuruboshwe mbichana - + Adjust the beatgrid to the left Fambisa beatgrid kuruboshwe - + Move Beatgrid Later Fambisa beatgrid kurudyi mbichana - + Adjust the beatgrid to the right Fambisa beatgrid kurudyi - + Adjust Beatgrid Gadzirisa beatgrid - + Align beatgrid to current position Nangisa beatgrid nepane rwiyo izvozvi - + Adjust Beatgrid - Match Alignment Gadzirisa beatgrid - teedzera nanganiso - + Adjust beatgrid to match another playing deck. Gadzirisa beatgrid kufananidza nerwiyo ririkurira. - + Quantize Mode Nanganidzo - + Sync Sync - + Beat Sync One-Shot Synca one-shot pabeat - + Sync Tempo One-Shot Synca one-shot patempo - + Sync Phase One-Shot Synca kuenderana paone-shot - + Pitch control (does not affect tempo), center is original pitch Pitch control (haishandure tempo), pakati nepakati ndipo pane yechokwadi - + Pitch Adjust Shandura Pitch - + Adjust pitch from speed slider pitch Shandura pitch kubva pane slider yepitch - + Match musical key Nanganisa key yenziyo - + Match Key Fananidza Key - + Reset Key Gadzirisa Key - + Resets key to original Rinoshandura Key uenda payatangira - + High EQ Matwita - + Mid EQ Mid - - + + Main Output - + Main Output Balance - + Main Output Delay - + Main Output Gain - + Low EQ Bass - + Toggle Vinyl Control Batidza kana Kudzima shandiso yemarekodhi - + Toggle Vinyl Control (ON/OFF) Batidza kana Kudzima shandiso yemarekodhi (ON/OFF) - + Vinyl Control Mode Kamushandisiro kemarekodhi - + Vinyl Control Cueing Mode Mateererero uchishandisa marekodhi - + Vinyl Control Passthrough Ridza kubva kumarekodhi chaiwo - + Vinyl Control Next Deck Shandisa marekodhi padeck rinotevera - + Single deck mode - Switch vinyl control to next deck Shandiso yerekodhi rimwe - Shandisa rekodhi padeck rinotevera - + Cue Bata - + Set Cue Ita pekutangira kuridza - + Go-To Cue Endapo wobata - + Go-To Cue And Play Enda pawabata uridze - + Go-To Cue And Stop Enda pawabata asi usaridze - + Preview Cue Teerera pawabata - + Cue (CDJ Mode) Bata (seCDJ) - + Stutter Cue Sikiza kuridza - + Go to cue point and play after release Enda pekutangira kuridza uridze ndaregedzera - + Clear Hotcue %1 Dzima pekujambira %1 - + Set Hotcue %1 Ita pekujambira %1 - + Jump To Hotcue %1 Jambira pekujambira %1 - + Jump To Hotcue %1 And Stop Jambira pekujambira %1 asi usaridze - + Jump To Hotcue %1 And Play Jambira pekujambira %1 uridze - + Preview Hotcue %1 Teerera kubva pekujambira %1 - + Loop In Pekutangira kuridza uchidzokorora - + Loop Out Pekugumira kuridza uchidzokorora - + Loop Exit Pekuregera kuridza uchidzokorora - + Reloop/Exit Loop Dzokorora/Rekedza Dzokororo - + Loop Halve Dimura dzokororo nepakati - + Loop Double Wedzera dzokororo zvakaenzana - + 1/32 1/32 - + 1/16 1/16 - + 1/8 1/8 - + 1/4 1/4 - + Move Loop +%1 Beats Fambisa dzokororo ne +%1 mabeat - + Move Loop -%1 Beats Fambisa dzokororo ne -%1 mabeat - + Loop %1 Beats Dzokorora %1 Beats - + Loop Roll %1 Beats Dzokorora Roll %1 Beats - + Add to Auto DJ Queue (bottom) Wedzera pamutsetse wekuzviridza wega (kuzasi) - + Append the selected track to the Auto DJ Queue Isa rwiyo rwakasarudzwa kuBumbiro rekuzviridza rega - + Add to Auto DJ Queue (top) Wedzera pamutsetse wekuzviridza wega (kumusoro) - + Prepend selected track to the Auto DJ Queue Isa rwiyo rwakasarudzwa kuBumbiro rekuzviridza rega pekutanga - + Load Track Isa rwiyo - + Load selected track Isa rwiyo rwakasaruwa - + Load selected track and play Isa rwiyo rwakasaruwa nekuridza - - + + Record Mix Rekodha mix - + Toggle mix recording Batidza zvekurekodha mix - + Effects Maeffect - - Quick Effects - Maeffects epedo - - - + Deck %1 Quick Effect Super Knob Deck %1 Quick Effect Super Knob - + + Quick Effect Super Knob (control linked effect parameters) Quick Effect Super Knob (shandura maparamita akananganiswa) - - + + + + Quick Effect Quick Effect - + Clear Unit Dzima zvose zviri paUnit - + Clear effect unit Dzima zvose paEffect Unit - + Toggle Unit Batidza / Dzima Unit - + Dry/Wet Dry/Wet - + Adjust the balance between the original (dry) and processed (wet) signal. Gadzirisa kuenzana pakati perwiyo rusati rwabatwa-batwa (sezvariri) nerusati (rwaiswa maeffect). - + Super Knob Super Knob - + Next Chain - + Assign Isa - + Clear Dzima - + Clear the current effect Dzima effect riripo - + Toggle Batidza / Dzima - + Toggle the current effect Batidza / Dzima effect iri - + Next Zvinotevera - + Switch to next effect Enda paEffect rinotevera - + Previous Zvapfuura - + Switch to the previous effect Enda kune effect rapfuura - + Next or Previous Zvinotevera kana Zvabva - + Switch to either next or previous effect Enda kune effect rabva kana kuti rinotevera - - + + Parameter Value Value reParamita - - + + Microphone Ducking Strength Udzamu hwekuitira Microphone - + Microphone Ducking Mode Rudzi rwehudzamu hwekuitira Microphone - + Gain Udzamu - + Gain knob Knob reudzamu - + Shuffle the content of the Auto DJ queue Bvonganisa zviripo panopera zvakarongwa pane zvekuzviridza zvega - + Skip the next track in the Auto DJ queue - + Auto DJ Toggle Batidza / Dzima kuzviridza wega - + Toggle Auto DJ On/Off Zviridze wega On/Off - + Show/hide the microphone & auxiliary section - + 4 Effect Units Show/Hide - + Switches between showing 2 and 4 effect units - + Mixer Show/Hide - + Show or hide the mixer. - + Cover Art Show/Hide (Library) - + Show/hide cover art in the library - + Library Maximize/Restore Zadzisa / Dzora Bumbiro - + Maximize the track library to take up all the available screen space. Zadzisa bumbiro kuti rivharise pose panokwanisika pascreen. - + Effect Rack Show/Hide Ratidza/Viga maEffect - + Show/hide the effect rack Ratidza/Viga effect rack - + Waveform Zoom Out Dzikisa muonero weWaveform - + Headphone Gain Udzamu hwekumaHeadphone - + Headphone gain Udzamu hwekumaHeadphone - + Tap to sync tempo (and phase with quantize enabled), hold to enable permanent sync - + One-time beat sync tempo (and phase with quantize enabled) - + Playback Speed Mamhanyiro ekuridza - + Playback speed control (Vinyl "Pitch" slider) Chekushangura mamhanyiro ekuridza (Pitch slider yemarekodhi) - + Pitch (Musical key) - + Increase Speed Wedzera kumhanya - + Adjust speed faster (coarse) Wedzera kumhanya (zvakangodaro) - + Increase Speed (Fine) Wedzera kumhanya (zvakatsetseka) - + Adjust speed faster (fine) Wedzera kumhanya (zvakatsetseka) - + Decrease Speed Dzora kumhanya - + Adjust speed slower (coarse) Dzora kumhanya (zvakadaro) - + Adjust speed slower (fine) Dzora kumhanya (zvakatsetseka) - + Temporarily Increase Speed Wedzera kumhanya mbichana - + Temporarily increase speed (coarse) Wedzera kumhanya mbichana (zvakadaro) - + Temporarily Increase Speed (Fine) Wedzera kumhanya (zvakatsetseka) - + Temporarily increase speed (fine) Wedzera kumhanya (zvakatsetseka) - + Temporarily Decrease Speed Dzora kumhanya - + Temporarily decrease speed (coarse) Dzora kumhanya (zvakadaro) - + Temporarily Decrease Speed (Fine) Dzora kumhanya (zvakatsetseka) - + Temporarily decrease speed (fine) Dzora kumhanya (zvakatsetseka) - - + + Adjust %1 Gadzirisa %1 - + + Deck %1 Stem %2 + + + + Effect Unit %1 - + Button Parameter %1 - + Skin - + Controller - + Crossfader / Orientation - + Main Output gain - + Main Output balance - + Main Output delay - + Headphone - - + + Kill %1 + %1 is "Low EQ" "Mid EQ" or "High EQ" Dzima %1 - + Eject or un-eject track, i.e. reload the last-ejected track (of any deck)<br>Double-press to reload the last replaced track. In empty decks it reloads the second-last ejected track. - + BPM / Beatgrid - + Halve BPM - + Multiply current BPM by 0.5 - + 2/3 BPM - + Multiply current BPM by 0.666 - + 3/4 BPM - + Multiply current BPM by 0.75 - + 4/3 BPM - + Multiply current BPM by 1.333 - + 3/2 BPM - + Multiply current BPM by 1.5 - + Double BPM - + Multiply current BPM by 2 - + Tempo Tap - + Tempo tap button - + Move Beatgrid - + Adjust the beatgrid to the left or right - - + + Move Beatgrid Half a Beat + + + + + Adjust the beatgrid by exactly one half beat. Usable only for tracks with constant tempo. + + + + + Toggle the BPM/beatgrid lock - + Revert last BPM/Beatgrid Change - + Revert last BPM/Beatgrid Change of the loaded track. - + Sync / Sync Lock - + Internal Sync Leader - + Toggle Internal Sync Leader - - + + Internal Leader BPM - + Internal Leader BPM +1 - + Increase internal Leader BPM by 1 - + Internal Leader BPM -1 - + Decrease internal Leader BPM by 1 - + Internal Leader BPM +0.1 - + Increase internal Leader BPM by 0.1 - + Internal Leader BPM -0.1 - + Decrease internal Leader BPM by 0.1 - + Sync Leader - + Sync mode 3-state toggle / indicator (Off, Soft Leader, Explicit Leader) - + Speed - + Decrease Speed (Fine) - + Pitch (Musical Key) - + Increase Pitch - + Increases the pitch by one semitone - + Increase Pitch (Fine) - + Increases the pitch by 10 cents - + Decrease Pitch - + Decreases the pitch by one semitone - + Decrease Pitch (Fine) - + Decreases the pitch by 10 cents - + Keylock - + CUP (Cue + Play) CUP (Cue + Play) - + Shift cue points earlier - + Shift cue points 10 milliseconds earlier - + Shift cue points earlier (fine) - + Shift cue points 1 millisecond earlier - + Shift cue points later - + Shift cue points 10 milliseconds later - + Shift cue points later (fine) - + Shift cue points 1 millisecond later - - Hotcues %1-%2 + + + Sort hotcues by position + + + + + + Sort hotcues by position (remove offsets) + Hotcues %1-%2 + + + + Intro / Outro Markers - + Intro Start Marker - + Intro End Marker - + Outro Start Marker - + Outro End Marker - + intro start marker - + intro end marker - + outro start marker - + outro end marker - + Activate %1 [intro/outro marker - + Jump to or set the %1 [intro/outro marker - + Set %1 [intro/outro marker - + Set or jump to the %1 [intro/outro marker - + Clear %1 [intro/outro marker - + Clear the %1 [intro/outro marker - + if the track has no beats the unit is seconds - + Loop Selected Beats - + Create a beat loop of selected beat size - + Loop Roll Selected Beats - + Create a rolling beat loop of selected beat size - + Loop %1 Beats set from its end point - + Loop Roll %1 Beats set from its end point - + Create %1-beat loop with the current play position as loop end - + Create temporary %1-beat loop roll with the current play position as loop end - + Loop Beats - + Loop Roll Beats - + Go To Loop In - + Go to Loop In button - + Go To Loop Out - + Go to Loop Out button - + Toggle loop on/off and jump to Loop In point if loop is behind play position - + Reloop And Stop - + Enable loop, jump to Loop In point, and stop - + Halve the loop length - + Double the loop length - + Beat Jump / Loop Move - + Jump / Move Loop Forward %1 Beats - + Jump / Move Loop Backward %1 Beats - + Jump forward by %1 beats, or if a loop is enabled, move the loop forward %1 beats - + Jump backward by %1 beats, or if a loop is enabled, move the loop backward %1 beats - + Beat Jump / Loop Move Forward Selected Beats - + Jump forward by the selected number of beats, or if a loop is enabled, move the loop forward by the selected number of beats - + Beat Jump / Loop Move Backward Selected Beats - + Jump backward by the selected number of beats, or if a loop is enabled, move the loop backward by the selected number of beats - + Beat Jump - + Indicate which loop marker remain static when adjusting the size or is inherited from the current position - + Beat Jump / Loop Move Forward - + Beat Jump / Loop Move Backward - + Loop Move Forward - + Loop Move Backward - + Remove Temporary Loop - + Remove the temporary loop - + Navigation - + Move up Kwidza - + Equivalent to pressing the UP key on the keyboard Zvakango fanana nekubaya bhatani rekukwidza paKeyboard - + Move down Dzikisa - + Equivalent to pressing the DOWN key on the keyboard Zvakango fanana nekubaya bhatani rekudzika paKeyboard - + Move up/down Kwidza/Dzikisa - + Move vertically in either direction using a knob, as if pressing UP/DOWN keys Kwidza kana kudzikisa uchishandisa ka knob sekunge ukudzvanya UP/DOWN pa keyboard - + Scroll Up Verenga uchikwidza - + Equivalent to pressing the PAGE UP key on the keyboard Zvakafanana nekudzvanya bhatani re PAGE UP pa keyboard - + Scroll Down Verenga uchidzika - + Equivalent to pressing the PAGE DOWN key on the keyboard Zvakafanana nekudzvanya bhatani re PAGE DOWN pa keyboard - + Scroll up/down Verenga uchikwidza/kudzika - + Scroll vertically in either direction using a knob, as if pressing PGUP/PGDOWN keys Verenga uchikwidza kana kudzikisa uchishandisa ka knob sekunge ukudzvanya UP/DOWN pa keyboard - + Move left Enda kuruboshwe - + Equivalent to pressing the LEFT key on the keyboard Zvakango fanana nekubaya bhatani rekuenda ruboshwe paKeyboard - + Move right Enda kurudyi - + Equivalent to pressing the RIGHT key on the keyboard Zvakango fanana nekubaya bhatani rekuenda kurudyi paKeyboard - + Move left/right Enda kuruboshwe/rudyi - + Move horizontally in either direction using a knob, as if pressing LEFT/RIGHT keys Enda rudyi kana ruboshwe uchishandisa ka knob sekunge ukudzvanya LEFT/RIGHT pa keyboard - + Move focus to right pane Shandira necheku rudyi - + Equivalent to pressing the TAB key on the keyboard Zvakango fanana nekubaya bhatani rekuenda kurudyi paKeyboard - + Move focus to left pane Shandira necheku ruboshwe - + Equivalent to pressing the SHIFT+TAB key on the keyboard - + Move focus to right/left pane - + Move focus one pane to right or left using a knob, as if pressing TAB/SHIFT+TAB keys - + Sort focused column - + Sort the column of the cell that is currently focused, equivalent to clicking on its header - + Go to the currently selected item - + Choose the currently selected item and advance forward one pane if appropriate - + Load Track and Play - + Add to Auto DJ Queue (replace) - + Replace Auto DJ Queue with selected tracks - + Select next search history - + Selects the next search history entry - + Select previous search history - + Selects the previous search history entry - + Move selected search entry - + Moves the selected search history item into given direction and steps - + Clear search - + Clears the search query - - + + Select Next Color Available - + Select the next color in the color palette for the first selected track - - + + Select Previous Color Available - + Select the previous color in the color palette for the first selected track - + + Quick Effects Deck %1 + + + + Deck %1 Quick Effect Enable Button - + + Quick Effect Enable Button - + + Deck %1 Stem %2 Quick Effect Super Knob + + + + + Deck %1 Stem %2 Quick Effect Enable Button + + + + Enable or disable effect processing Batika kana kudzima maeffect - + Super Knob (control effects' Meta Knobs) - + Mix Mode Toggle - + Toggle effect unit between D/W and D+W modes - + Next chain preset - + Previous Chain Maeffects abva - + Previous chain preset Maeffects abva agerere aripo - + Next/Previous Chain Maeffects Abva/Anotevera - + Next or previous chain preset Maeffect abva kana anotevera - - + + Show Effect Parameters - + Effect Unit Assignment - + Meta Knob - + Effect Meta Knob (control linked effect parameters) - + Meta Knob Mode - + Set how linked effect parameters change when turning the Meta Knob. - + Meta Knob Mode Invert - + Invert how linked effect parameters change when turning the Meta Knob. - - + + Button Parameter Value - + Microphone / Auxiliary Maikrophone / Auxilari - + Microphone On/Off Maikrophone Dzima/Batidza - + Microphone on/off Maikrophone dzima/batidza - + Toggle microphone ducking mode (OFF, AUTO, MANUAL) Batidza maikrophone ducking mode (Dzima, Auto, Zviitire) - + Auxiliary On/Off Auxilari Batidza/Dzima - + Auxiliary on/off Auxilari dzima/batidza - + Auto DJ Zviridze wega - + Auto DJ Shuffle Zviridze Madiro - + Auto DJ Skip Next Rinotevera paKuzviridza Wega - + Auto DJ Add Random Track - + Add a random track to the Auto DJ queue - + Auto DJ Fade To Next Pinda murwiyo rwuri kutevera - + Trigger the transition to the next track Ita kuti rwiyo runotevera ririre - + User Interface Pekushandira - + Samplers Show/Hide Ratidza/Viga maSampler - + Show/hide the sampler section Ratidza/Dzima panowanikwa maSampler - + Microphone && Auxiliary Show/Hide keep double & to prevent creation of keyboard accelerator - + Waveform Zoom Reset To Default - + Reset the waveform zoom level to the default value selected in Preferences -> Waveforms - + Select the next color in the color palette for the loaded track. - + Select previous color in the color palette for the loaded track. - + Navigate Through Track Colors - + Select either next or previous color in the palette for the loaded track. - + Start/Stop Live Broadcasting - + Stream your mix over the Internet. - + Start/stop recording your mix. - - + + + Deck %1 Stems + + + + + Samplers - + Vinyl Control Show/Hide Ratidza/Viga pekushandisa Marekodhi - + Show/hide the vinyl control section Ratidza/Viga panowanikwa pekushandisa Marekodhi - + Preview Deck Show/Hide Ratidza/Viga peNzwisa - + Show/hide the preview deck Ratidza/Viga panowanikwa Nzwisa - + Toggle 4 Decks - + Switches between showing 2 decks and 4 decks. - + Cover Art Show/Hide (Decks) - + Show/hide cover art in the main decks - + Vinyl Spinner Show/Hide Ratidza/Viga Rekodhi richispina - + Show/hide spinning vinyl widget Ratidza/Viga panowanikwa rekodhi richispina - + Vinyl Spinners Show/Hide (All Decks) - + Show/Hide all spinnies - + Toggle Waveforms - + Show/hide the scrolling waveforms. - + Waveform zoom Zooma weveform - + Waveform Zoom Kwidza Waveform - + Zoom waveform in Pekukwidza waveform uchipinda - + Waveform Zoom In Kwidza muonero weWaveform - + Zoom waveform out Dzikisa muonero weWaveform - + Star Rating Up - + Increase the track rating by one star - + Star Rating Down - + Decrease the track rating by one star @@ -3493,6 +3583,159 @@ trace - Above + Profiling messages + + ControllerHidReportTabsManager + + + Read + + + + + Send + + + + + Payload Size + + + + + bytes + + + + + Byte Position + + + + + Bit Position + + + + + Bit Size + + + + + Logical Min + + + + + Logical Max + + + + + Value + + + + + Physical Min + + + + + Physical Max + + + + + Unit Scaling + + + + + Unit + + + + + Abs/Rel + + + + + + Wrap + + + + + + Linear + + + + + + Preferred + + + + + + Null + + + + + + Volatile + + + + + Usage Page + + + + + Usage + + + + + Relative + + + + + Absolute + + + + + No Wrap + + + + + Non Linear + + + + + No Preferred + + + + + No Null + + + + + Non Volatile + + + ControllerInputMappingTableModel @@ -3595,32 +3838,32 @@ trace - Above + Profiling messages ControllerScriptEngineBase - + The functionality provided by this controller mapping will be disabled until the issue has been resolved. - + You can ignore this error for this session but you may experience erratic behavior. - + Try to recover by resetting your controller. Edza kudzima nekubatidza pakare controller yauri kushandisa. - + Controller Mapping Error - + The mapping for your controller "%1" is not working properly. - + The script code needs to be fixed. @@ -3628,27 +3871,27 @@ trace - Above + Profiling messages ControllerScriptEngineLegacy - + Controller Mapping File Problem - + The mapping for controller "%1" cannot be opened. - + The functionality provided by this controller mapping will be disabled until the issue has been resolved. - + File: - + Error: @@ -3664,13 +3907,13 @@ trace - Above + Profiling messages CrateFeature - + Remove Bvisa - + Create New Crate Gadzira Homwe Itsva @@ -3680,55 +3923,55 @@ trace - Above + Profiling messages Shandura zita - + Lock Kiya - + Export Crate as Playlist - + Export Track Files Buritsa Nziyo - + Duplicate Dzokorora - + Analyze entire Crate Wongorora homwe yose - + Auto DJ Track Source Ridza Madiro kwabva Rwiyo - + Enter new name for crate: Ipa zita ritsva kumutsetse: - - + + Crates Homwe - - + + Import Crate Tora kubva kubumbiro rekuridza - + Export Crate Buritsa bumbiro rekuridza @@ -3738,74 +3981,74 @@ trace - Above + Profiling messages Sunungura - + An unknown error occurred while creating crate: Hameno zvisina kuitika mushe pakugadzira bumbiro rekuridza: - + Rename Crate Shandura zita rehomwe - - - Export to Engine Prime - - - - + Make a crate for your next gig, for your favorite electrohouse tracks, or for your most requested tracks. - + Confirm Deletion - - + + Renaming Crate Failed Tatadza kushandura zita rehomwe - + Crate Creation Failed Tatadza kugadzira homwe - + M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Text CSV (*.csv);;Readable Text (*.txt) Mutsetse weM3U (*.m3u);;Mutsetse weM3U8 (*.m3u8);;Mutsetse wePLS (*.pls);;Mutsetse weText CSV (*.csv);;Mutsetse weText (*.txt) - + M3U Playlist (*.m3u) Mutsetse weM3U (*.m3u) - + Crates are a great way to help organize the music you want to DJ with. Homwe idzi inzira yekuunganidza mimanzi yako nenzira yaungade kuiridza nayo. - + + + Export to Engine DJ + + + + Crates let you organize your music however you'd like! - + Do you really want to delete crate <b>%1</b>? - + A crate cannot have a blank name. - + A crate by that name already exists. @@ -3900,12 +4143,12 @@ trace - Above + Profiling messages - + Official Website - + Donate @@ -4024,72 +4267,72 @@ trace - Above + Profiling messages DlgAutoDJ - + Skip - + Random - + Fade - + Enable Auto DJ Shortcut: Shift+F12 - + Disable Auto DJ Shortcut: Shift+F12 - + Trigger the transition to the next track Shortcut: Shift+F11 - + Skip the next track in the Auto DJ queue Shortcut: Shift+F10 - + Shuffle the content of the Auto DJ queue Shortcut: Shift+F9 - + Repeat the playlist - + Determines the duration of the transition - + Seconds - + Auto DJ Fade Modes Full Intro + Outro: @@ -4120,80 +4363,80 @@ crossfader, so that the intro starts at full volume. - + Full Intro + Outro - + Fade At Outro Start - + Full Track - + Skip Silence - + Skip Silence Start Full Volume - + Decks not used for Auto DJ must be stopped to enable Auto DJ mode. - + Repeat - + Auto DJ requires two decks assigned to opposite sides of the crossfader. - + One deck must be stopped to enable Auto DJ mode. - + Enable - + Disable - + Displays the duration and number of selected tracks. - - - + + + Auto DJ Zviridze wega - + Shuffle - + Adds a random track from track sources (crates) to the Auto DJ queue. If no track sources are configured, the track is added from the library instead. @@ -4416,37 +4659,37 @@ Often results in higher quality beatgrids, but will not do well on tracks that h - + Didn't get any midi messages. Please try again. - + Unable to detect a mapping -- please try again. Be sure to only touch one control at once. - + Successfully mapped control: - + <i>Ready to learn %1</i> - + Learning: %1. Now move a control on your controller. - + The selected control does not exist.<br>This likely a bug. Please report it on the Mixxx bug tracker.<br><a href='https://github.com/mixxxdj/mixxx/issues'>https://github.com/mixxxdj/mixxx/issues</a><br><br>You tried to learn: %1,%2 - + The control you clicked in Mixxx is not learnable. This could be because you are either using an old skin and this control is no longer supported, or you clicked a control that provides visual feedback and can only be mapped to outputs like LEDs via scripts. @@ -4485,17 +4728,17 @@ You tried to learn: %1,%2 - + Log - + Search - + Stats @@ -4691,122 +4934,139 @@ You tried to learn: %1,%2 DlgPrefBroadcast - + Icecast 2 - + Shoutcast 1 - + Icecast 1 - + MP3 - + Ogg Vorbis - + Opus - + AAC - + HE-AAC - + HE-AACv2 - + Automatic - + Mono - + Stereo - - - - + + Saving settings failed + + + + + The password for '%1' contains invalid characters. Please enter it again. + +Note: This can for example be invisible linebreaks when using copy/paste. + + + + + + Action failed Zvaramba kuita - + You can't create more than %1 source connections. - + Source connection %1 - + + Settings for %1 + Settings for broadcast profile, %1 is the profile name placeholder + + + + At least one source connection is required. - + Are you sure you want to disconnect every active source connection? - - + + Confirmation required - + '%1' has the same Icecast mountpoint as '%2'. Two source connections to the same server that have the same mountpoint can not be enabled simultaneously. - + Are you sure you want to delete '%1'? - + Renaming '%1' - + New name for '%1': - + Can't rename '%1' to '%2': name already in use @@ -4819,27 +5079,27 @@ Two source connections to the same server that have the same mountpoint can not Mamiriro ezveKushamarara - + Mixxx Icecast Testing - + Public stream - + http://www.mixxx.org - + Stream name - + Due to flaws in some streaming clients, updating Ogg Vorbis metadata dynamically can cause listener glitches and disconnections. Check this box to update the metadata anyway. @@ -4879,67 +5139,72 @@ Two source connections to the same server that have the same mountpoint can not - + + Available fields: $artist, $title, $year, $album, $genre, $bpm + + + + Dynamically update Ogg Vorbis metadata. - + ICQ - + AIM - + Website - + Live mix - + IRC - + Select a source connection above to edit its settings here - + Password storage - + Plain text - + Secure storage (OS keychain) - + Genre Rudzi - + Use UTF-8 encoding for metadata. - + Description Dudziro @@ -4965,42 +5230,42 @@ Two source connections to the same server that have the same mountpoint can not - + Server connection - + Type Rudzi - + Host - + Login - + Mount - + Port - + Password - + Stream info @@ -5010,17 +5275,17 @@ Two source connections to the same server that have the same mountpoint can not - + Use static artist and title. - + Static title - + Static artist @@ -5079,13 +5344,14 @@ Two source connections to the same server that have the same mountpoint can not DlgPrefColors - - + + + By hotcue number - + Color @@ -5130,17 +5396,22 @@ Two source connections to the same server that have the same mountpoint can not + Jump default color + + + + When key colors are enabled, Mixxx will display a color hint associated with each key. - + Enable Key Colors - + Key palette @@ -5148,113 +5419,113 @@ associated with each key. DlgPrefController - + Apply device settings? - + Your settings must be applied before starting the learning wizard. Apply settings and continue? - + None - + %1 by %2 - + Mapping has been edited - + Always overwrite during this session - + Save As - + Overwrite - + Save user mapping - + Enter the name for saving the mapping to the user folder. - + Saving mapping failed - + A mapping cannot have a blank name and may not contain special characters. - + A mapping file with that name already exists. - + Do you want to save the changes? - + Troubleshooting - + <font color='#BB0000'><b>If you use this mapping your controller may not work correctly. Please select another mapping or disable the controller.</b></font><br><br>This mapping was designed for a newer Mixxx Controller Engine and cannot be used on your current Mixxx installation.<br>Your Mixxx installation has Controller Engine version %1. This mapping requires a Controller Engine version >= %2.<br><br>For more information visit the wiki page on <a href='https://mixxx.org/wiki/doku.php/controller_engine_versions'>Controller Engine Versions</a>. - + Mapping already exists. - + <b>%1</b> already exists in user mapping folder.<br>Overwrite or save with a new name? - + Clear Input Mappings - + Are you sure you want to clear all input mappings? - + Clear Output Mappings - + Are you sure you want to clear all output mappings? @@ -5267,105 +5538,110 @@ Apply settings and continue? - + Enabled Chiri kushandisika - + + Refresh mapping list + + + + Device Info - + Physical Interface: - + Vendor name: - + Product name: - + Vendor ID - + VID: - + Product ID - + PID: - + Serial number: - + USB interface number: - + HID Usage-Page: - + HID Usage: - + Description: - + Support: - + Screens preview - + Input Mappings - - + + Search - - + + Add - - + + Remove Bvisa @@ -5380,22 +5656,22 @@ Apply settings and continue? Mamiriro emaKontrola - + Load Mapping: - + Mapping Info - + Author: - + Name: @@ -5405,28 +5681,28 @@ Apply settings and continue? - + Data protocol: - + Mapping Files: - + Mapping Settings - - + + Clear All - + Output Mappings @@ -5441,21 +5717,21 @@ Apply settings and continue? - Mixxx uses "mappings" to connect messages from your controller to controls in Mixxx. If you do not see a mapping for your controller in the "Load Mapping" menu when you click on your controller on the left sidebar, you may be able to download one online from the %1. Place the XML (.xml) and Javascript (.js) file(s) in the "User Mapping Folder" then restart Mixxx. If you download a mapping in a ZIP file, extract the XML and Javascript file(s) from the ZIP file to your "User Mapping Folder" then restart Mixxx. + Mixxx uses "mappings" to connect messages from your controller to controls in Mixxx. If you do not see a mapping for your controller in the "Load Mapping" menu when you click on your controller on the left sidebar, you may be able to download one online from the %1. Place the XML (.xml) and Javascript (.js) file(s) in the "User Mapping Folder" then click the Reload button next to the mapping selector to reload all available mappings. If you download a mapping in a ZIP file, extract the XML and Javascript file(s) from the ZIP file to your "User Mapping Folder" then click the Reload button. - + Mixxx DJ Hardware Guide - + MIDI Mapping File Format - + MIDI Scripting with Javascript @@ -5585,6 +5861,16 @@ Apply settings and continue? Multi-Sampling + + + Force 3D acceleration + + + + + If checked, Mixxx will always assume 3D acceleration is available. This may lead to pour performance if only CP-backed rendering is available.. + + Start in full-screen mode @@ -5614,137 +5900,137 @@ Apply settings and continue? DlgPrefDeck - + Mixxx mode - + Mixxx mode (no blinking) - + Pioneer mode - + Denon mode - + Numark mode - + CUP mode - + mm:ss%1zz - Traditional - + mm:ss - Traditional (Coarse) - + s%1zz - Seconds - + sss%1zz - Seconds (Long) - + s%1sss%2zz - Kiloseconds - + Intro start - + Main cue - + First hotcue - + First sound (skip silence) - + Beginning of track - + Reject - + Allow, but stop deck - + Allow, play from load point - + 4% - + 6% (semitone) - + 8% (Technics SL-1210) - + 10% - + 16% - + 24% - + 50% - + 90% @@ -6176,62 +6462,62 @@ You can always drag-and-drop tracks on screen to clone a deck. DlgPrefInterface - + The minimum size of the selected skin is bigger than your screen resolution. - + Allow screensaver to run - + Prevent screensaver from running - + Prevent screensaver while playing - + Disabled - + 2x MSAA - + 4x MSAA - + 8x MSAA - + 16x MSAA - + This skin does not support color schemes - + Information - + Mixxx must be restarted before the new locale, scaling or multi-sampling settings will take effect. @@ -6458,67 +6744,97 @@ and allows you to pitch adjust them for harmonic mixing. - + Music Directory Added Nzvimbo ine mumhanzi yawedzerwa - + You added one or more music directories. The tracks in these directories won't be available until you rescan your library. Would you like to rescan now? Wawedzera nzvimbo inemumhanzi. Nziyo dzirimo hadzisati dzakuonekwa kusvikira tawongorora nzvimbo yacho. Towongorowa here izvozvi? - + Scan Wongorora - - Item is not a directory or directory is missing + + Item is not a directory or directory is missing + + + + + Choose a music directory + + + + + Confirm Directory Removal + + + + + Mixxx will no longer watch this directory for new tracks. What would you like to do with the tracks from this directory and subdirectories?<ul><li>Hide all tracks from this directory and subdirectories.</li><li>Delete all metadata for these tracks from Mixxx permanently.</li><li>Leave the tracks unchanged in your library.</li></ul>Hiding tracks saves their metadata in case you re-add them in the future. + + + + + Metadata means all track details (artist, title, playcount, etc.) as well as beatgrids, hotcues, and loops. This choice only affects the Mixxx library. No files on disk will be changed or deleted. + + + + + Hide Tracks + + + + + Delete Track Metadata - - Choose a music directory + + Leave Tracks Unchanged - - Confirm Directory Removal + + Relink music directory to new location - - Mixxx will no longer watch this directory for new tracks. What would you like to do with the tracks from this directory and subdirectories?<ul><li>Hide all tracks from this directory and subdirectories.</li><li>Delete all metadata for these tracks from Mixxx permanently.</li><li>Leave the tracks unchanged in your library.</li></ul>Hiding tracks saves their metadata in case you re-add them in the future. + + Black - - Metadata means all track details (artist, title, playcount, etc.) as well as beatgrids, hotcues, and loops. This choice only affects the Mixxx library. No files on disk will be changed or deleted. + + ExtraBold - - Hide Tracks + + Bold - - Delete Track Metadata + + SemiBold - - Leave Tracks Unchanged + + Medium - - Relink music directory to new location + + Light - + Select Library Font @@ -6567,262 +6883,267 @@ and allows you to pitch adjust them for harmonic mixing. - + Audio File Formats - + Track Table View - + Track Double-Click Action: - + BPM display precision: - + Session History - + Track duplicate distance - + When playing a track again log it to the session history only if more than N other tracks have been played in the meantime - + History playlist with less than N tracks will be deleted<br/><br/>Note: the cleanup will be performed during startup and shutdown of Mixxx. - + Delete history playlist with less than N tracks - + Library Font: - + + Show scan summary dialog + + + + Grey out played tracks - + Track Search - + Enable search completions - + Enable search history keyboard shortcuts - + Percentage of pitch slider range for 'fuzzy' BPM search: - + This range will be used for the 'fuzzy' BPM search (~bpm:) via the search box, as well as for BPM search in Track context menu > Search related Tracks - + Preferred Cover Art Fetcher Resolution - + Fetch cover art from coverartarchive.com by using Import Metadata From Musicbrainz. - + Note: ">1200 px" can fetch up to very large cover arts. - + >1200 px (if available) - + 1200 px (if available) - + 500 px - + 250 px - + Settings Directory - + The Mixxx settings directory contains the library database, various configuration files, log files, track analysis data, as well as custom controller mappings. - + Edit those files only if you know what you are doing and only while Mixxx is not running. - + Open Mixxx Settings Folder - + Library Row Height: - + Use relative paths for playlist export if possible - + ... - + px - + Synchronize library track metadata from/to file tags - + Automatically write modified track metadata from the library into file tags and reimport metadata from updated file tags into the library - + Synchronize Serato track metadata from/to file tags (experimental) - + Keeps track color, beat grid, bpm lock, cue points, and loops synchronized with SERATO_MARKERS/MARKERS2 file tags.<br/><br/>WARNING: Enabling this option also enables the reimport of Serato metadata after files have been modified outside of Mixxx. On reimport existing metadata in Mixxx is replaced with the metadata found in file tags. Custom metadata not included in file tags like loop colors is lost. - + Edit metadata after clicking selected track - + Search-as-you-type timeout: - + ms - + Load track to next available deck - + External Libraries - + You will need to restart Mixxx for these settings to take effect. - + Show Rhythmbox Library - + Track Metadata Synchronization / Playlists - + Add track to Auto DJ queue (bottom) - + Add track to Auto DJ queue (top) - + Ignore - + Show Banshee Library - + Show iTunes Library - + Show Traktor Library - + Show Rekordbox Library - + Show Serato Library - + All external libraries shown are write protected. @@ -7167,33 +7488,33 @@ and allows you to pitch adjust them for harmonic mixing. DlgPrefRecord - + Choose recordings directory Sarudza mekuisa marecording - - + + Recordings directory invalid - + Recordings directory must be set to an existing directory. - + Recordings directory must be set to a directory. - + Recordings directory not writable - + You do not have write access to %1. Choose a recordings directory you have write access to. @@ -7211,43 +7532,55 @@ and allows you to pitch adjust them for harmonic mixing. - - + + This will include the filepath for each track in the CUE file. +This option makes the CUE file less portable and can reveal personal +information from filepaths (i.e. username) + + + + + Enable File Annotation in CUE file + + + + + Quality - + Tags - + Title Zita - + Author - + Album Bhama - + Output File Format - + Compression - + Lossy @@ -7262,12 +7595,12 @@ and allows you to pitch adjust them for harmonic mixing. - + Compression Level - + Lossless @@ -7398,173 +7731,177 @@ The loudness target is approximate and assumes track pregain and main output lev DlgPrefSound - + %1 Hz - + Default (long delay) - + Experimental (no delay) - + Disabled (short delay) - + Soundcard Clock - + Network Clock - + Direct monitor (recording and broadcasting only) - + Disabled - + Enabled Chiri kushandisika - + Stereo - + Mono - + To enable Realtime scheduling (currently disabled), see the %1. - + The %1 lists sound cards and controllers you may want to consider for using Mixxx. - + Mixxx DJ Hardware Guide - + + Find details in the Mixxx user manual + + + + Information - + Mixxx must be restarted before the multi-threaded RubberBand setting change will take effect. - + auto (<= 1024 frames/period) - + 2048 frames/period - + 4096 frames/period - + Are you sure? - + Distribute stereo channels into mono channels for parallel processing will result in a loss of mono compatibility and a diffuse stereo image. It is not recommended during broadcasting or recording. - + Are you sure you wish to proceed? - + No - + Yes, I know what I am doing - + Microphone inputs are out of time in the record & broadcast signal compared to what you hear. - + Measure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. - - + Refer to the Mixxx User Manual for details. - + Configured latency has changed. - + Remeasure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. - + Realtime scheduling is enabled. - + Main output only - + Main and booth outputs - + %1 ms - + Configuration error @@ -7582,131 +7919,136 @@ The loudness target is approximate and assumes track pregain and main output lev - + Sample Rate - + Audio Buffer - + Engine Clock - + Use soundcard clock for live audience setups and lowest latency.<br>Use network clock for broadcasting without a live audience. - + Main Mix - + Main Output Mode - + Microphone Monitor Mode - + Microphone Latency Compensation - - - - + + + + ms milliseconds - + + Deck and Bus outputs are for external mixers. They are post-fader and include effects and crossfader (for Auto DJ). For external mixing, make sure all Mixxx faders and EQ knobs are set to their default position (right- or double-click). + + + + 20 ms - + Buffer Underflow Count - + 0 - + Keylock/Pitch-Bending Engine - + Multi-Soundcard Synchronization - + Output - + Input - + System Reported Latency - + Enlarge your audio buffer if the underflow counter is increasing or you hear pops during playback. - + Main Output Delay - + Headphone Output Delay - + Booth Output Delay - + Dual-threaded Stereo - + Hints and Diagnostics - + Downsize your audio buffer to improve Mixxx's responsiveness. - + Query Devices @@ -7748,7 +8090,7 @@ The loudness target is approximate and assumes track pregain and main output lev - + Show Signal Quality in Skin @@ -7784,46 +8126,51 @@ The loudness target is approximate and assumes track pregain and main output lev + Pitch estimator + + + + Deck 1 - + Deck 2 - + Deck 3 - + Deck 4 - + Signal Quality - + http://www.xwax.co.uk http://www.xwax.co.uk - + Powered by xwax - + Hints Matips - + Select sound devices for Vinyl Control in the Sound Hardware pane. Sarudza madevice ekushandsa nemarekodhi kune panel reZvekuridzisa. @@ -7831,57 +8178,58 @@ The loudness target is approximate and assumes track pregain and main output lev DlgPrefWaveform - + Filtered - + HSV HSV - + RGB RGB - + Top - + Center - + Bottom - - 1/3rd of waveform viewer + + 1/3 of waveform viewer + options for "Text height limit" - - Full waveform viewer height + + Entire waveform viewer - + OpenGL not available - + dropped frames - + Cached waveforms occupy %1 MiB on disk. @@ -7894,250 +8242,297 @@ The loudness target is approximate and assumes track pregain and main output lev - + Frame rate - - Displays which OpenGL version is supported by the current platform. - - - - - Waveform + + OpenGL Status - - Normalize waveform overview + + Displays which OpenGL version is supported by the current platform. - + Average frame rate - + Visual gain - + Default zoom level Waveform zoom - + Displays the actual frame rate. - + Visual gain of the middle frequencies - + End of track warning - - OpenGL status - - - - + This functionality requires waveform acceleration. - + Highlight the waveforms when the last seconds of a track remains. - + seconds - + Low - + Show minute markers on waveform overview - + Use acceleration - + High details - + Middle - + Global - + Visual gain of the high frequencies - + Visual gain of the low frequencies - + High - + Global visual gain - + The waveform overview shows the waveform envelope of the entire track. Select from different types of displays for the waveform overview, which differ primarily in the level of detail shown in the waveform. - + Enabled - + The waveform shows the waveform envelope of the track near the current playback position. Select from different types of displays for the waveform, which differ primarily in the level of detail shown in the waveform. - - Waveform overview type - - - - + fps - + Synchronize zoom level across all waveform displays. - + Synchronize zoom level across all waveforms - + Play marker hints - + Beats until next marker - + Preferred font size - + Text height limit - + Time until next marker - + Placement - + pt - + Caching - + Mixxx caches the waveforms of your tracks on disk the first time you load a track. This reduces CPU usage when you are playing live but requires extra disk space. - + Enable waveform caching - + Generate waveforms when analyzing library - + Beat grid opacity - + + Scrolling Waveforms + + + + + + Type + + + + Stereo coloration - + Set amount of opacity on beat grid lines. - + % - + Play marker position - + Moves the play marker position on the waveforms to the left, right or center (default). - + + Stem + + + + + Channel opacity + + + + + Channel opacity (outline) + + + + + Main stem opacity + + + + + Outline stem opacity + + + + + Move channel to foreground when volume is adjusted + + + + + Overview Waveforms + + + + + Gain + + + + + Normalize to peak + + + + + Use Waveform "Global" gain and ReplayGain (if enabled) + 'Global' refers to the 'Global' visual gain in the scrolling waveform settings + + + + Clear Cached Waveforms @@ -8145,47 +8540,47 @@ Select from different types of displays for the waveform, which differ primarily DlgPreferences - + Sound Hardware Zvekuridzisa - + Controllers - + Library Laibhurari - + Interface - + Waveforms - + Mixer Mixa - + Auto DJ Zviridze wega - + Decks - + Colors @@ -8220,47 +8615,47 @@ Select from different types of displays for the waveform, which differ primarily - + Effects Maeffect - + Recording - + Beat Detection - + Key Detection - + Normalization - + <font color='#BB0000'><b>Some preferences pages have errors. To apply the changes please first fix the issues.</b></font> - + Vinyl Control Shandisa marekodhi - + Live Broadcasting - + Modplug Decoder @@ -8293,22 +8688,22 @@ Select from different types of displays for the waveform, which differ primarily - + Start Recording - + Recording to file: - + Stop Recording - + %1 MiB written in %2 @@ -8616,284 +9011,289 @@ This can not be undone! - + Filetype: - + BPM: - + Location: - + Bitrate: - + Comments - + BPM Mutinhimira - + Sets the BPM to 75% of the current value. - + 3/4 BPM - + Sets the BPM to 50% of the current value. - + Displays the BPM of the selected track. - + Track # Nziyo # - + Album Artist Muimbi webhama - + Composer Munyori - + Title Zita - + Grouping Maunganidzirwo - + Key Key - + Year Gore - + Artist Muimbi - + Album Bhama - + Genre Rudzi - + ReplayGain: - + Sets the BPM to 200% of the current value. - + Double BPM - + Halve BPM - + Clear BPM and Beatgrid - + Move to the previous item. "Previous" button - + &Previous - + Move to the next item. "Next" button - + &Next - + Duration: - + Import Metadata from MusicBrainz - + Re-Import Metadata from file - + Color - + Date added: - + Open in File Browser - + Samplerate: - + + Filesize: + + + + Track BPM: - + Converts beats detected by the analyzer into a fixed-tempo beatgrid. Use this setting if your tracks have a constant tempo (e.g. most electronic music). Often results in higher quality beatgrids, but will not do well on tracks that have tempo shifts. - + Assume constant tempo - + Sets the BPM to 66% of the current value. - + 2/3 BPM - + Sets the BPM to 150% of the current value. - + 3/2 BPM - + Sets the BPM to 133% of the current value. - + 4/3 BPM - + Tap with the beat to set the BPM to the speed you are tapping. - + Tap to Beat - + Hint: Use the Library Analyze view to run BPM detection. - + Save changes and close the window. "OK" button - + &OK - + Discard changes and close the window. "Cancel" button - + Save changes and keep the window open. "Apply" button - + &Apply - + &Cancel - + (no color) @@ -9050,7 +9450,7 @@ Often results in higher quality beatgrids, but will not do well on tracks that h - + (no color) @@ -9252,27 +9652,27 @@ Often results in higher quality beatgrids, but will not do well on tracks that h EngineBuffer - + Soundtouch (faster) - + Rubberband (better) - + Rubberband R3 (near-hi-fi quality) - + Unknown, using Rubberband (better) - + Unknown, using Soundtouch @@ -9416,38 +9816,38 @@ Often results in higher quality beatgrids, but will not do well on tracks that h ITunesFeature - - + + iTunes - + Select your iTunes library - + (loading) iTunes - + Use Default Library - + Choose Library... - + Error Loading iTunes Library - + There was an error loading your iTunes library. Check the logs for details. @@ -9455,12 +9855,12 @@ Often results in higher quality beatgrids, but will not do well on tracks that h LegacyControllerColorSetting - + Change color - + Choose a new color @@ -9468,18 +9868,18 @@ Often results in higher quality beatgrids, but will not do well on tracks that h LegacyControllerFileSetting - + Browse... - - + + No file selected - + Select a file @@ -9487,15 +9887,15 @@ Often results in higher quality beatgrids, but will not do well on tracks that h LegacySkinParser - - + + Safe Mode Enabled Shown when Mixxx is running in safe mode. - - + + No OpenGL support. Shown when Spinny can not be displayed. Please keep @@ -9506,57 +9906,57 @@ Shown when VuMeter can not be displayed. Please keep - + activate - + toggle - + right - + left - + right small - + left small - + up - + down - + up small - + down small - + Shortcut @@ -9564,62 +9964,62 @@ Shown when VuMeter can not be displayed. Please keep Library - + This or a parent directory is already in your library. - + This or a listed directory does not exist or is inaccessible. Aborting the operation to avoid library inconsistencies - - + + This directory can not be read. - + An unknown error occurred. Aborting the operation to avoid library inconsistencies - + Can't add Directory to Library - + Could not add <b>%1</b> to your library. %2 - + Can't remove Directory from Library - + An unknown error occurred. - + This directory does not exist or is inaccessible. - + Relink Directory - + Could not relink <b>%1</b> to <b>%2</b>. %3 @@ -9629,22 +10029,22 @@ Aborting the operation to avoid library inconsistencies LibraryFeature - + Import Playlist Unza mutsetse wekuridza - + Playlist Files (*.m3u *.m3u8 *.pls *.csv) Mafaira emutsetse wekuridza (*.m3u *.m3u8 *.pls *.csv) - + Overwrite File? - + A playlist file with the name "%1" already exists. The default "m3u" extension was added because none was specified. @@ -9691,27 +10091,27 @@ Do you really want to overwrite it? MidiController - + MixxxControl(s) not found - + One or more MixxxControls specified in the outputs section of the loaded mapping were invalid. - + * Make sure the MixxxControls in question actually exist. Visit the manual for a complete list: - + Some LEDs or other feedback may not work correctly. - + * Check to see that the MixxxControl names are spelled correctly in the mapping file (.xml) @@ -9771,22 +10171,22 @@ Do you really want to overwrite it? MixxxLibraryFeature - + Missing Tracks - + Hidden Tracks - - Export to Engine Prime + + Export to Engine DJ - + Tracks @@ -9794,210 +10194,251 @@ Do you really want to overwrite it? MixxxMainWindow - + Sound Device Busy - + <b>Retry</b> after closing the other application or reconnecting a sound device - - + + <b>Reconfigure</b> Mixxx's sound device settings. - - + + Get <b>Help</b> from the Mixxx Wiki. - - - + + + <b>Exit</b> Mixxx. - + Retry - + skin - + Allow Mixxx to hide the menu bar? - + Hide Always show the menu bar? - + Always show - + The Mixxx menu bar is hidden and can be toggled with a single press of the <b>Alt</b> key.<br><br>Click <b>%1</b> to agree.<br><br>Click <b>%2</b> to disable that, for example if you don't use Mixxx with a keyboard.<br><br>You can change this setting any time in Preferences -> Interface.<br> Keep formatting tags <b> (bold text) and <br> (linebreak). %1 is the placeholder for the 'Always show' button label - + Ask me again - - + + Reconfigure - + Help - - + + Exit - - + + Mixxx was unable to open all the configured sound devices. - + Sound Device Error - + <b>Retry</b> after fixing an issue - + No Output Devices - + Mixxx was configured without any output sound devices. Audio processing will be disabled without a configured output device. - + <b>Continue</b> without any outputs. - + Continue - + Load track to Deck %1 - + Deck %1 is currently playing a track. - + Are you sure you want to load a new track? - + There is no input device selected for this vinyl control. Please select an input device in the sound hardware preferences first. Hapana chakasarudzwa pane zvinounza signal rekushandisa marekodhi. Tanga wasarudza zvinounza signal rekushandisa marekodhi kuridza kuneMamiriro eZvekuridzisa. - + There is no input device selected for this passthrough control. Please select an input device in the sound hardware preferences first. Hapana chakasarudzwa pane zvekuti ushandise passthough kontrol. Tanga wasarudza zvinounza mumanzi wacho kuneMamiriro eZvekuridzisa. - + There is no input device selected for this microphone. Do you want to select an input device? - + There is no input device selected for this auxiliary. Do you want to select an input device? - + + Scan took %1 + + + + + No changes detected. + + + + + + %1 tracks in total + + + + + %1 new tracks found + + + + + %1 moved tracks detected + + + + + %1 tracks are missing (%2 total) + + + + + %1 tracks have been rediscovered + + + + + Library scan finished + + + + Error in skin file - + The selected skin cannot be loaded. - + OpenGL Direct Rendering - + Direct rendering is not enabled on your machine.<br><br>This means that the waveform displays will be very<br><b>slow and may tax your CPU heavily</b>. Either update your<br>configuration to enable direct rendering, or disable<br>the waveform displays in the Mixxx preferences by selecting<br>"Empty" as the waveform display in the 'Interface' section. - - - + + + Confirm Exit - + A deck is currently playing. Exit Mixxx? - + A sampler is currently playing. Exit Mixxx? - + The preferences window is still open. - + Discard any changes and exit Mixxx? @@ -10013,13 +10454,13 @@ Do you want to select an input device? PlaylistFeature - + Lock Kiya - - + + Playlists @@ -10029,32 +10470,63 @@ Do you want to select an input device? - + + Adopt current order + + + + + Unlock all playlists + + + + + Delete all unlocked playlists + + + + Unlock Sunungura - + + + Confirm Deletion + + + + + Do you really want to delete all unlocked playlists? + + + + + Deleting %1 unlocked playlists.<br>This operation can not be undone! + + + + Playlists are ordered lists of tracks that allow you to plan your DJ sets. - + It may be necessary to skip some tracks in your prepared playlist or add some different tracks in order to maintain the energy of your audience. - + Some DJs construct playlists before they perform live, but others prefer to build them on-the-fly. - + When using a playlist during a live DJ set, remember to always pay close attention to how your audience reacts to the music you've chosen to play. - + Create New Playlist Gadzira mutsetse mutsva wekuridza @@ -10153,58 +10625,58 @@ Do you want to select an input device? QMessageBox - + Upgrading Mixxx - + Mixxx now supports displaying cover art. Do you want to scan your library for cover files now? - + Scan Wongorora - + Later - + Upgrading Mixxx from v1.9.x/1.10.x. - + Mixxx has a new and improved beat detector. - + When you load tracks, Mixxx can re-analyze them and generate new, more accurate beatgrids. This will make automatic beatsync and looping more reliable. - + This does not affect saved cues, hotcues, playlists, or crates. - + If you do not want Mixxx to re-analyze your tracks, choose "Keep Current Beatgrids". You can change this setting at any time from the "Beat Detection" section of the Preferences. - + Keep Current Beatgrids - + Generate New Beatgrids @@ -10318,69 +10790,82 @@ Do you want to scan your library for cover files now? - + Main + Audio path indetifier - + Booth + Audio path indetifier - + Headphones + Audio path indetifier - + Left Bus + Audio path indetifier - + Center Bus + Audio path indetifier - + Right Bus + Audio path indetifier - + Invalid Bus + Audio path indetifier - + Deck + Audio path indetifier - + Record/Broadcast + Audio path indetifier - + Vinyl Control + Audio path indetifier Shandisa marekodhi - + Microphone + Audio path indetifier - + Auxiliary + Audio path indetifier - + Unknown path type %1 + Audio path @@ -10709,47 +11194,49 @@ With width at zero, this allows for manually sweeping over the entire delay rang - + Metronome - + + The Mixxx Team - + Adds a metronome click sound to the stream - + BPM Mutinhimira - + Set the beats per minute value of the click sound - + Sync Sync - + Synchronizes the BPM with the track if it can be retrieved - + + Gain - + Set the gain of metronome click sound @@ -11533,19 +12020,19 @@ Fully right: end of the effect period - - + + encoder failure - - + + Failed to apply the selected settings. - + Deck %1 Mupaka %1 @@ -11678,7 +12165,7 @@ Hint: compensates "chipmunk" or "growling" voices - + Passthrough @@ -11709,7 +12196,7 @@ Hint: compensates "chipmunk" or "growling" voices - + Sampler %1 @@ -11746,15 +12233,86 @@ and the processed output signal as close as possible in perceived loudness + + Auto Gain Control + + + + + AGC + + + + + Auto Gain Control (AGC) automatically adjusts the gain of an audio signal to maintain a consistent output level. + + + + Threshold (dBFS) + Threshold + + + The Threshold knob adjusts the level above which the effect starts enhancing the input signal + + + + + Target (dBFS) + + + + + Target + + + + + The Target knob adjusts the desired target level of the output signal + + + + + Gain (dB) + + + + + The Gain knob adjusts the maximum amount of gain that the effect will apply + + + + + Knee (dB) + + + + + The Knee knob defines the range around the Threshold where gain changes are applied gradually, +ensuring smooth transitions and avoiding abrupt level shifts. + + + + + The Attack knob sets the time that determines how fast the auto gain +will set in once the signal exceeds the threshold + + + + + The Release knob sets the time that determines how fast the auto gain will recover from the gain +adjustment once the signal falls under the threshold. Depending on the input signal, short release times +may introduce a 'pumping' effect and/or distortion. + + The Threshold knob adjusts the level above which the compressor starts attenuating the input signal @@ -11783,6 +12341,7 @@ At a ratio of 1:1 no compression is happening, as the input is exactly the outpu + Knee @@ -11793,11 +12352,13 @@ At a ratio of 1:1 no compression is happening, as the input is exactly the outpu + Attack (ms) + Attack @@ -11809,11 +12370,13 @@ will set in once the signal exceeds the threshold + Release (ms) + Release @@ -11842,12 +12405,12 @@ may introduce a 'pumping' effect and/or distortion. - + built-in - + missing @@ -11882,42 +12445,42 @@ may introduce a 'pumping' effect and/or distortion. - + Empty - + Simple - + Filtered - + HSV - + VSyncTest - + RGB - + Stacked - + Unknown @@ -11975,54 +12538,54 @@ may introduce a 'pumping' effect and/or distortion. RekordboxFeature - - - + + + Rekordbox - + Playlists - + Folders - + Reads databases exported for Pioneer CDJ / XDJ players using the Rekordbox Export mode.<br/>Rekordbox can only export to USB or SD devices with a FAT or HFS file system.<br/>Mixxx can read a database from any device that contains the database folders (<tt>PIONEER</tt> and <tt>Contents</tt>).<br/>Not supported are Rekordbox databases that have been moved to an external device via<br/><i>Preferences > Advanced > Database management</i>.<br/><br/>The following data is read: - + Hot cues - + Loops (only the first loop is currently usable in Mixxx) - + Check for attached Rekordbox USB / SD devices (refresh) - + Beatgrids - + Memory cues - + (loading) Rekordbox @@ -12157,19 +12720,19 @@ may introduce a 'pumping' effect and/or distortion. Kiya - - + + Confirm Deletion - + Do you really want to delete all unlocked playlist from <b>%1</b>?<br><br> %1 is the year <b> + </b> are used to make the text in between bold in the popup <br> is a linebreak - + Deleting %1 playlists from <b>%2</b>.<br><br> %1 is the number of playlists to be deleted %2 is the year <b> + </b> are used to make the text in between bold in the popup <br> is a linebreak @@ -12178,193 +12741,193 @@ may introduce a 'pumping' effect and/or distortion. ShoutConnection - - + + Mixxx encountered a problem - + Could not allocate shout_t - + Could not allocate shout_metadata_t - + Error setting non-blocking mode: - + Error setting tls mode: - + Error setting hostname! - + Error setting port! - + Error setting password! - + Error setting mount! - + Error setting username! - + Error setting stream name! - + Error setting stream description! - + Error setting stream genre! - + Error setting stream url! - + Error setting stream IRC! - + Error setting stream AIM! - + Error setting stream ICQ! - + Error setting stream public! - + Unknown stream encoding format! - + Use a libshout version with %1 enabled - + Error setting stream encoding format! - + Broadcasting at 96 kHz with Ogg Vorbis is not currently supported. Please try a different sample rate or switch to a different encoding. - + See https://github.com/mixxxdj/mixxx/issues/5701 for more information. - + Unsupported sample rate - + Error setting bitrate - + Error: unknown server protocol! - + Error: Shoutcast only supports MP3 and AAC encoders - + Error setting protocol! - + Network cache overflow - + Connection error - + One of the Live Broadcasting connections raised this error:<br><b>Error with connection '%1':</b><br> - + Connection message - + <b>Message from Live Broadcasting connection '%1':</b><br> - + Lost connection to streaming server and %1 attempts to reconnect have failed. - + Lost connection to streaming server. - + Please check your connection to the Internet. - + Can't connect to streaming server - + Please check your connection to the Internet and verify that your username and password are correct. @@ -12372,7 +12935,7 @@ may introduce a 'pumping' effect and/or distortion. SoftwareWaveformWidget - + Filtered @@ -12380,23 +12943,23 @@ may introduce a 'pumping' effect and/or distortion. SoundManager - - + + a device - + An unknown error occurred - + Two outputs cannot share channels on "%1" - + Error opening "%1" @@ -12581,7 +13144,7 @@ may introduce a 'pumping' effect and/or distortion. - + Spinning Vinyl @@ -12763,7 +13326,7 @@ may introduce a 'pumping' effect and/or distortion. - + Cover Art Mufananidzo webhama @@ -12953,243 +13516,243 @@ may introduce a 'pumping' effect and/or distortion. - + Displays the tempo of the loaded track in BPM (beats per minute). - + Tempo - + Key The musical key of a track Key - + BPM Tap Bata Mutinhimira - + When tapped repeatedly, adjusts the BPM to match the tapped BPM. - + Adjust BPM Down - + When tapped, adjusts the average BPM down by a small amount. - + Adjust BPM Up - + When tapped, adjusts the average BPM up by a small amount. - + Adjust Beats Earlier - + When tapped, moves the beatgrid left by a small amount. - + Adjust Beats Later - + When tapped, moves the beatgrid right by a small amount. - + Tempo and BPM Tap - + Show/hide the spinning vinyl section. - + Keylock - + Toggling keylock during playback may result in a momentary audio glitch. - + Toggle visibility of Loop Controls - + Toggle visibility of Beatjump Controls - + Toggle visibility of Rate Control - + Toggle visibility of Key Controls - + (while previewing) - + Places a cue point at the current position on the waveform. - + Stops track at cue point, OR go to cue point and play after release (CUP mode). - + Set cue point (Pioneer/Mixxx/Numark mode), set cue point and play after release (CUP mode) OR preview from it (Denon mode). - + Is latching the playing state. - + Seeks the track to the cue point and stops. - + Play Ridza - + Plays track from the cue point. - + Sends the selected channel's audio to the headphone output, selected in Preferences -> Sound Hardware. - + (This skin should be updated to use Sync Lock!) - + Enable Sync Lock - + Tap to sync the tempo to other playing tracks or the sync leader. - + Enable Sync Leader - + When enabled, this device will serve as the sync leader for all other decks. - + This is relevant when a dynamic tempo track is loaded to a sync leader deck.In that case, other synced devices will adopt the changing tempo. - + Changes the track playback speed (affects both the tempo and the pitch). If keylock is enabled, only the tempo is affected. - + Tempo Range Display - + Displays the current range of the tempo slider. - + Un-ejects when no track is loaded, i.e. reloads the track that was ejected last (of any deck). - + Delete selected hotcue. - + Track Comment - + Displays the comment tag of the loaded track. - + Opens separate artwork viewer. - + Effect Chain Preset Settings - + Show the effect chain settings menu for this unit. - + Select and configure a hardware device for this input - + Recording Duration @@ -13412,939 +13975,982 @@ may introduce a 'pumping' effect and/or distortion. - + When tapped repeatedly, adjusts the tempo to match the tapped BPM. + + + Click to open the tempo/BPM editor + + + + + It also shows a colored bar if Key colors are enabled in the Preferences. + + + The bar will be split vertically if the track's key is in between full keys. + + + + Tempo Tap - + Rate Tap and BPM Tap - + + Set Tempo + + + + + Set the desired tempo in BPM. If the track currently has no BPM detected, set the desired tempo in percent. + + + + + Adjust beatgrid by exactly one half beat. Usable only on +tracks with constant tempo. + + + + Revert last BPM/Beatgrid Change - + Revert last BPM/Beatgrid Change of the loaded track. - - + + Toggle the BPM/beatgrid lock - + Tempo and Rate Tap - + Tempo, Rate Tap and BPM Tap - + Shift cues earlier - - + + Shift cues imported from Serato or Rekordbox if they are slightly off time. - + Left click: shift 10 milliseconds earlier - + Right click: shift 1 millisecond earlier - + Shift cues later - + Left click: shift 10 milliseconds later - + Right click: shift 1 millisecond later - + + + + Drag a Hotcue button here to continue playing after releasing the Hotcue. + + + + Hint: Change the default cue mode in Preferences -> Decks. - + Mutes the selected channel's audio in the main output. - + Main mix enable - + Hold or short click for latching to mix this input into the main output. - - If hotcue is a loop cue, toggles the loop and jumps to if the loop is behind the play position. + + Reloads the last replaced track. If no track is loaded reloads the second-last ejected track. - - If the play position is inside an active loop, stores the loop as loop cue. + + If hotcue is a loop cue, toggles the loop and jumps to if the loop is behind the play position. - - Drag this button onto another Hotcue button to move it there (change its index). If the other hotcue is set, the two are swapped. + + If the play position is inside an active loop, stores the loop as loop cue. - - Dragging with Shift key pressed will not start previewing the hotcue + + Drag this button onto another Hotcue button to move it there (change its index). If the other hotcue is set, the two are swapped. - + Expand/Collapse Samplers - + Toggle expanded samplers view. - + Displays the duration of the running recording. - + Auto DJ is active - + Red for when needle skip has been detected. - + Hot Cue - Track will seek to nearest previous hotcue point. - + Sets the track Loop-In Marker to the current play position. - + Press and hold to move Loop-In Marker. - + Jump to Loop-In Marker. - + Sets the track Loop-Out Marker to the current play position. - + Press and hold to move Loop-Out Marker. - + Jump to Loop-Out Marker. - + If the track has no beats the unit is seconds. - + Beatloop Size - + Select the size of the loop in beats to set with the Beatloop button. - + Changing this resizes the loop if the loop already matches this size. - + Halve the size of an existing beatloop, or halve the size of the next beatloop set with the Beatloop button. - + Double the size of an existing beatloop, or double the size of the next beatloop set with the Beatloop button. - + Start a loop over the set number of beats. - + Temporarily enable a rolling loop over the set number of beats. - + Beatloop Anchor - + Define whether the loop is created and adjusted from its staring point or ending point. - + Beatjump/Loop Move Size - + Select the number of beats to jump or move the loop with the Beatjump Forward/Backward buttons. - + Beatjump Forward - + Jump forward by the set number of beats. - + Move the loop forward by the set number of beats. - + Jump forward by 1 beat. - + Move the loop forward by 1 beat. - + Beatjump Backward - + Jump backward by the set number of beats. - + Move the loop backward by the set number of beats. - + Jump backward by 1 beat. - + Move the loop backward by 1 beat. - + Reloop - + If the loop is ahead of the current position, looping will start when the loop is reached. - + Works only if Loop-In and Loop-Out Marker are set. - + Enable loop, jump to Loop-In Marker, and stop playback. - + Displays the elapsed and/or remaining time of the track loaded. - + Click to toggle between time elapsed/remaining time/both. - + Hint: Change the time format in Preferences -> Decks. - + Show/hide intro & outro markers and associated buttons. - + + Ensure all waveforms to have the same height across all channels. By default, when displaying the stem controls, waveform for channel that have no stem may render with a shorter height in order to honor the waveform container size you have requested.. + + + + Intro Start Marker - - - - + + + + If marker is set, jumps to the marker. - - - - + + + + If marker is not set, sets the marker to the current play position. - - - - + + + + If marker is set, clears the marker. - + Intro End Marker - + Outro Start Marker - + Outro End Marker - + Mix - + Adjust the mixing of the dry (input) signal with the wet (output) signal of the effect unit - + D/W mode: Crossfade between dry and wet - + D+W mode: Add wet to dry - + Mix Mode - + Adjust how the dry (input) signal is mixed with the wet (output) signal of the effect unit - + Dry/Wet mode (crossed lines): Mix knob crossfades between dry and wet Use this to change the sound of the track with EQ and filter effects. - + Dry+Wet mode (flat dry line): Mix knob adds wet to dry Use this to change only the effected (wet) signal with EQ and filter effects. - + Route the main mix through this effect unit. - + Route the left crossfader bus through this effect unit. - + Route the right crossfader bus through this effect unit. - + Right side active: parameter moves with right half of Meta Knob turn - + Stem Label - + Name of the stem stored in the stem file - + Text is displayed in the stem color stored in the stem file - + this stem color is also used for the waveform of this stem - + Stem Mute - + Toggle the stem mute/unmuted - + Stem Volume Knob - + Adjusts the volume of the stem - + Skin Settings Menu - + Show/hide skin settings menu - + Save Sampler Bank - + Save the collection of samples loaded in the samplers. - + Load Sampler Bank - + Load a previously saved collection of samples into the samplers. - + Show Effect Parameters - + Enable Effect - + Meta Knob Link - + Set how this parameter is linked to the effect's Meta Knob. - + Meta Knob Link Inversion - + Inverts the direction this parameter moves when turning the effect's Meta Knob. - + Super Knob Super Knob - + Next Chain - + Previous Chain Maeffects abva - + Next/Previous Chain Maeffects Abva/Anotevera - + Clear Dzima - + Clear the current effect. - + Toggle Batidza / Dzima - + Toggle the current effect. - + Next Zvinotevera - + Clear Unit Dzima zvose zviri paUnit - + Clear effect unit. - + Show/hide parameters for effects in this unit. - + Toggle Unit Batidza / Dzima Unit - + Enable or disable this whole effect unit. - + Controls the Meta Knob of all effects in this unit together. - + Load next effect chain preset into this effect unit. - + Load previous effect chain preset into this effect unit. - + Load next or previous effect chain preset into this effect unit. - - - - - - - - - + + + + + + + + + Assign Effect Unit - + Assign this effect unit to the channel output. - + Route the headphone channel through this effect unit. - + Route this deck through the indicated effect unit. - + Route this sampler through the indicated effect unit. - + Route this microphone through the indicated effect unit. - + Route this auxiliary input through the indicated effect unit. - + The effect unit must also be assigned to a deck or other sound source to hear the effect. - + Switch to the next effect. - + Previous Zvapfuura - + Switch to the previous effect. - + Next or Previous Zvinotevera kana Zvabva - + Switch to either the next or previous effect. - + Meta Knob - + Controls linked parameters of this effect - + Effect Focus Button - + Focuses this effect. - + Unfocuses this effect. - + Refer to the web page on the Mixxx wiki for your controller for more information. - + Effect Parameter - + Adjusts a parameter of the effect. - + Inactive: parameter not linked - + Active: parameter moves with Meta Knob - + Left side active: parameter moves with left half of Meta Knob turn - + Left and right side active: parameter moves across range with half of Meta Knob turn and back with the other half - - + + Equalizer Parameter Kill - - + + Holds the gain of the EQ to zero while active. - + Quick Effect Super Knob - + Quick Effect Super Knob (control linked effect parameters). - + Hint: Change the default Quick Effect mode in Preferences -> Equalizers. - + Equalizer Parameter - + Adjusts the gain of the EQ filter. - + Hint: Change the default EQ mode in Preferences -> Equalizers. - - + + Adjust Beatgrid Gadzirisa beatgrid - + Adjust beatgrid so the closest beat is aligned with the current play position. - - + + Adjust beatgrid to match another playing deck. Gadzirisa beatgrid kufananidza nerwiyo ririkurira. - + If quantize is enabled, snaps to the nearest beat. - + Quantize - + Toggles quantization. - + Loops and cues snap to the nearest beat when quantization is enabled. - + Reverse - + Reverses track playback during regular playback. - + Puts a track into reverse while being held (Censor). - + Playback continues where the track would have been if it had not been temporarily reversed. - - - + + + Play/Pause - + Jumps to the beginning of the track. - + Syncs the tempo (BPM) and phase to that of the other track, if BPM is detected on both. - + Syncs the tempo (BPM) to that of the other track, if BPM is detected on both. - + Sync and Reset Key - + Increases the pitch by one semitone. - + Decreases the pitch by one semitone. - + Enable Vinyl Control - + When disabled, the track is controlled by Mixxx playback controls. - + When enabled, the track responds to external vinyl control. - + Enable Passthrough - + Indicates that the audio buffer is too small to do all audio processing. - + Displays cover artwork of the loaded track. - + Displays options for editing cover artwork. - + Star Rating - + Assign ratings to individual tracks by clicking the stars. @@ -14479,33 +15085,33 @@ Use this to change only the effected (wet) signal with EQ and filter effects. - + Prevents the pitch from changing when the rate changes. - + Changes the number of hotcue buttons displayed in the deck - + Starts playing from the beginning of the track. - + Jumps to the beginning of the track and stops. - - + + Plays or pauses the track. - + (while playing) @@ -14525,205 +15131,215 @@ Use this to change only the effected (wet) signal with EQ and filter effects. - + (while stopped) - + Cue Bata - + Headphone - + Mute Nyararidza - + Old Synchronize - + Syncs to the first deck (in numerical order) that is playing a track and has a BPM. - + If no deck is playing, syncs to the first deck that has a BPM. - + Decks can't sync to samplers and samplers can only sync to decks. - + Hold for at least a second to enable sync lock for this deck. - + Decks with sync locked will all play at the same tempo, and decks that also have quantize enabled will always have their beats lined up. - + Resets the key to the original track key. - + Speed Control - - - + + + Changes the track pitch independent of the tempo. - + Increases the pitch by 10 cents. - + Decreases the pitch by 10 cents. - + Pitch Adjust Shandura Pitch - + Adjust the pitch in addition to the speed slider pitch. - + Opens a menu to clear hotcues or edit their labels and colors. - + + Drag this button onto a Play button while previewing to continue playback after release. + + + + + Dragging with Shift key pressed will not start previewing the hotcue. + + + + Record Mix Rekodha mix - + Toggle mix recording. - + Enable Live Broadcasting - + Stream your mix over the Internet. - + Provides visual feedback for Live Broadcasting status: - + disabled, connecting, connected, failure. - + When enabled, the deck directly plays the audio arriving on the vinyl input. - + Playback will resume where the track would have been if it had not entered the loop. - + Loop Exit Pekuregera kuridza uchidzokorora - + Turns the current loop off. - + Slip Mode Slip Mode - + When active, the playback continues muted in the background during a loop, reverse, scratch etc. - + Once disabled, the audible playback will resume where the track would have been. - + Track Key The musical key of a track - + Displays the musical key of the loaded track. - + Clock - + Displays the current time. - + Audio Latency Usage Meter - + Displays the fraction of latency used for audio processing. - + A high value indicates that audible glitches are likely. - + Do not enable keylock, effects or additional decks in this situation. - + Audio Latency Overload Indicator @@ -14763,259 +15379,259 @@ Use this to change only the effected (wet) signal with EQ and filter effects. - + Displays the current musical key of the loaded track after pitch shifting. - + Fast Rewind Dzora shure nekukurumidza - + Fast rewind through the track. - + Fast Forward Mhanyisa mberi - + Fast forward through the track. - + Jumps to the end of the track. - + Sets the pitch to a key that allows a harmonic transition from the other track. Requires a detected key on both involved decks. - - - + + + Pitch Control - + Pitch Rate - + Displays the current playback rate of the track. - + Repeat - + When active the track will repeat if you go past the end or reverse before the start. - + Eject Bvisa - + Ejects track from the player. - + Hotcue - + If hotcue is set, jumps to the hotcue. - + If hotcue is not set, sets the hotcue to the current play position. - + Vinyl Control Mode Kamushandisiro kemarekodhi - + Absolute mode - track position equals needle position and speed. - + Relative mode - track speed equals needle speed regardless of needle position. - + Constant mode - track speed equals last known-steady speed regardless of needle input. - + Vinyl Status - + Provides visual feedback for vinyl control status: - + Green for control enabled. - + Blinking yellow for when the needle reaches the end of the record. - + Loop-In Marker - + Loop-Out Marker - + Loop Halve Dimura dzokororo nepakati - + Halves the current loop's length by moving the end marker. - + Deck immediately loops if past the new endpoint. - + Loop Double Wedzera dzokororo zvakaenzana - + Doubles the current loop's length by moving the end marker. - + Beatloop - + Toggles the current loop on or off. - + Works only if Loop-In and Loop-Out marker are set. - + Vinyl Cueing Mode - + Determines how cue points are treated in vinyl control Relative mode: - + Off - Cue points ignored. - + One Cue - If needle is dropped after the cue point, track will seek to that cue point. - + Track Time - + Track Duration - + Displays the duration of the loaded track. - + Information is loaded from the track's metadata tags. - + Track Artist - + Displays the artist of the loaded track. - + Track Title - + Displays the title of the loaded track. - + Track Album - + Displays the album name of the loaded track. - + Track Artist/Title - + Displays the artist and title of the loaded track. @@ -15023,12 +15639,12 @@ Use this to change only the effected (wet) signal with EQ and filter effects. TrackCollection - + Hiding tracks - + The selected tracks are in the following playlists:%1Hiding them will remove them from these playlists. Continue? @@ -15036,47 +15652,42 @@ Use this to change only the effected (wet) signal with EQ and filter effects. TrackExportDlg - + Export finished - + Exporting %1 - - - Overwrite Existing File? - - - "%1" already exists, overwrite? + Replace Existing File? - - &Overwrite + + "%1" already exists, replace? - - Over&write All + + &Replace - - &Skip + + Apply to all files - Skip &All + &Skip - + Export Error @@ -15248,47 +15859,75 @@ This can not be undone! WCueMenuPopup - + Cue number - + Cue position - + Edit cue label - + Label... - + Delete this cue - - Toggle this cue type between normal cue and saved loop + + Turn this cue into a regular hotcue + + + + + Turn this cue into a saved loop + + + + + Left-click: Use the old size if known or the current beatloop size as the loop size + + + + + Right-click: Use the current play position as new loop end if it is after the cue + + + + + Turn this cue into a saved forward jump. + + is a linebreak. Try to not to extend the translation beyond the length of the longest source line so the tooltip remains compact. + + + + + Turn this cue into a saved backward jump (one shot loop). - - Left-click: Use the old size or the current beatloop size as the loop size + + Left-click: Use the old size if known or the current play position as jump start position +If this is already a jump cue, swap the jump position and the cue/target position. - - Right-click: Use the current play position as loop end if it is after the cue + + Right-click: use current play position as new jump start position - + Hotcue #%1 @@ -15412,407 +16051,448 @@ This can not be undone! - - E&xport Library to Engine Prime + + Search in Current View... - - Export the library to the Engine Prime format + + Search for tracks in the current library view + + + + + Ctrl+f + + + + + Search in Tracks Library... + + + + + Search in the internal track collection under "Tracks" in the library + + + + + Ctrl+Shift+F - + Create &New Playlist - + Create a new playlist - + Ctrl+n - + Create New &Crate - + Create a new crate - + Ctrl+Shift+N - - + + &View - + Auto-hide menu bar - + Auto-hide the main menu bar when it's not used. - + May not be supported on all skins. - + Show Skin Settings Menu - + Show the Skin Settings Menu of the currently selected Skin - + Ctrl+1 Menubar|View|Show Skin Settings - + Show Microphone Section - + Show the microphone section of the Mixxx interface. - + Ctrl+2 Menubar|View|Show Microphone Section - + Show Vinyl Control Section - + Show the vinyl control section of the Mixxx interface. - + Ctrl+3 Menubar|View|Show Vinyl Control Section - + Show Preview Deck - + Show the preview deck in the Mixxx interface. - + Ctrl+4 Menubar|View|Show Preview Deck - + Show Cover Art - + Show cover art in the Mixxx interface. - + Ctrl+6 Menubar|View|Show Cover Art - + Maximize Library - + Maximize the track library to take up all the available screen space. Zadzisa bumbiro kuti rivharise pose panokwanisika pascreen. - + Space Menubar|View|Maximize Library - + + Show Auto DJ + + + + + Switch to the Auto DJ view. + + + + &Full Screen - + Display Mixxx using the full screen - + &Options - + &Vinyl Control - + Use timecoded vinyls on external turntables to control Mixxx - + Enable Vinyl Control &%1 - + &Record Mix - + Record your mix to a file - + Ctrl+R - + Enable Live &Broadcasting - + Stream your mixes to a shoutcast or icecast server - + Ctrl+L - + Enable &Keyboard Shortcuts - + Toggles keyboard shortcuts on or off - + Ctrl+` - + &Preferences - + Change Mixxx settings (e.g. playback, MIDI, controls) - + &Developer - + &Reload Skin - + Reload the skin - + Ctrl+Shift+R - + Developer &Tools - + Opens the developer tools dialog - + Ctrl+Shift+T - + Stats: &Experiment Bucket - + Enables experiment mode. Collects stats in the EXPERIMENT tracking bucket. - + Ctrl+Shift+E - + Stats: &Base Bucket - + Enables base mode. Collects stats in the BASE tracking bucket. - + Ctrl+Shift+B - + Deb&ugger Enabled - + Enables the debugger during skin parsing - + Ctrl+Shift+D - + &Help - + Show Keywheel menu title - + + E&xport Library to Engine DJ + "Engine DJ" must not be translated + + + + + Export the library to the Engine DJ format + + + + Show keywheel tooltip text - + F12 Menubar|View|Show Keywheel - + &Community Support - + Get help with Mixxx - + &User Manual - + Read the Mixxx user manual. - + &Keyboard Shortcuts - + Speed up your workflow with keyboard shortcuts. - + &Settings directory - + Open the Mixxx user settings directory. - + &Translate This Application - + Help translate this application into your language. - + &About - + About the application @@ -15820,25 +16500,25 @@ This can not be undone! WOverview - + Passthrough - + Ready to play, analyzing... Text on waveform overview when file is playable but no waveform is visible - - + + Loading track... Text on waveform overview when file is cached from source - + Finalizing... Text on waveform overview during finalizing of waveform analysis @@ -15847,25 +16527,13 @@ This can not be undone! WSearchLineEdit - - Clear input - Clear the search bar input field - - - - - Ctrl+F - Search|Focus - - - - + Search noun - + Clear input @@ -15876,169 +16544,163 @@ This can not be undone! - + Clear the search bar input field - - Enter a string to search for + + Return - - Use operators like bpm:115-128, artist:BooFar, -year:1990 + + Enter a string to search for. - - For more information see User Manual > Mixxx Library + + Use operators like bpm:115-128, artist:BooFar, -year:1990. - Shortcut + See User Manual > Mixxx Library for more information. - - Ctrl+F + + Focus/Select All (Search in current view) + Give search bar input focus - - Focus - Give search bar input focus + + Focus/Select All (Search in 'Tracks' library view) - - - Ctrl+Backspace + + Additional Shortcuts When Focused: - Shortcuts + Trigger search before search-as-you-type timeout or focus tracks view afterwards - Return + Esc or Ctrl+Return - Trigger search before search-as-you-type timeout orjump to tracks view afterwards + Immediately trigger search and focus tracks view + Exit search bar and leave focus - + Ctrl+Space - + Toggle search history Shows/hides the search history entries - + Delete or Backspace - - Delete query from history - - - - - Esc + + in search history - - Exit search - Exit search bar and leave focus + + Delete query from history WSearchRelatedTracksMenu - + Search related Tracks - + Key Key - + harmonic with %1 - + BPM Mutinhimira - + between %1 and %2 - + Artist Muimbi - + Album Artist Muimbi webhama - + Composer Munyori - + Title Zita - + Album Bhama - + Grouping Maunganidzirwo - + Year Gore - + Genre Rudzi - + Directory - + &Search selected @@ -16046,599 +16708,640 @@ This can not be undone! WTrackMenu - + Load to - + Deck - + Sampler - + Add to Playlist - + Crates Homwe - + Metadata - + Update external collections - + Cover Art Mufananidzo webhama - + Adjust BPM - + Select Color - - + + Analyze Wongorora - - + + Delete Track Files - + Add to Auto DJ Queue (bottom) Wedzera pamutsetse wekuzviridza wega (kuzasi) - + Add to Auto DJ Queue (top) Wedzera pamutsetse wekuzviridza wega (kumusoro) - + Add to Auto DJ Queue (replace) - + Preview Deck - + Remove Bvisa - + Remove from Playlist - + Remove from Crate - + Hide from Library - + Unhide from Library - + Purge from Library - + Move Track File(s) to Trash - + Delete Files from Disk - + Properties - + Open in File Browser - + Select in Library - + Import From File Tags - + Import From MusicBrainz - + Export To File Tags - + BPM and Beatgrid - + Play Count - + Rating Rikudzo - + Cue Point - + + Hotcues Pekujambira uchiridza - + Intro - + Outro - + Key Key - + ReplayGain Hudzamu Hwerwiyo - + Waveform - + Comment Pfungwa - + All - + + Sort hotcues by position (remove offsets) + + + + + Sort hotcues by position + + + + Lock BPM - + Unlock BPM - + Double BPM - + Halve BPM - + 2/3 BPM - + 3/4 BPM - + 4/3 BPM - + 3/2 BPM - + + Shift Beatgrid Half Beat + + + + Reanalyze - + Reanalyze (constant BPM) - + Reanalyze (variable BPM) - + Update ReplayGain from Deck Gain - + Deck %1 Mupaka %1 - + Importing metadata of %n track(s) from file tags - + Marking metadata of %n track(s) to be exported into file tags - - + + Create New Playlist Gadzira mutsetse mutsva wekuridza - + Enter name for new playlist: Ipa zita kumutsetse mutsva: - + New Playlist Mutsetse mutsva wekuridza - - - + + + Playlist Creation Failed Tatadza kugadzira mutsetse wekuridza - + A playlist by that name already exists. Pane mumwe mutsetse une zita rakadaro. - + A playlist cannot have a blank name. Mutsetse haukwanise kushaya zita. - + An unknown error occurred while creating playlist: Hameno zvisina kuitika mushe pakugadzira mutsetse wekuridza: - + Add to New Crate - + Scaling BPM of %n track(s) - + Undo BPM/beats change of %n track(s) - + Locking BPM of %n track(s) - + Unlocking BPM of %n track(s) - + Setting rating of %n track(s) - + Setting color of %n track(s) - + Resetting play count of %n track(s) - + Resetting beats of %n track(s) - + Clearing rating of %n track(s) - + Clearing comment of %n track(s) - + Removing main cue from %n track(s) - + Removing outro cue from %n track(s) - + Removing intro cue from %n track(s) - + Removing loop cues from %n track(s) - + Removing hot cues from %n track(s) - + + Sorting hotcues of %n track(s) by position (remove offsets) + + + + + Sorting hotcues of %n track(s) by position + + + + Resetting keys of %n track(s) - + Resetting replay gain of %n track(s) - + Resetting waveform of %n track(s) - + Resetting all performance metadata of %n track(s) - + Move these files to the trash bin? - + Permanently delete these files from disk? - - + + This can not be undone! - + Cancel - + Delete Files - + Okay - + Move Track File(s) to Trash? - + Track Files Deleted - + Track Files Moved To Trash - + %1 track files were moved to trash and purged from the Mixxx database. - + %1 track files were deleted from disk and purged from the Mixxx database. - + Track File Deleted - + Track file was deleted from disk and purged from the Mixxx database. - + The following %1 file(s) could not be deleted from disk - + This track file could not be deleted from disk - + Remaining Track File(s) - + Close - + Clear Reset metadata in right click track context menu in library - + Loops - + Clear BPM and Beatgrid - + Undo last BPM/beats change - + Move this track file to the trash bin? - + Permanently delete this track file from disk? - + All decks where these tracks are loaded will be stopped and the tracks will be ejected. - + All decks where this track is loaded will be stopped and the track will be ejected. - + Removing %n track file(s) from disk... - + Note: if you are in the Computer or Recording view you need to click the current view again to see changes. - + Track File Moved To Trash - + Track file was moved to trash and purged from the Mixxx database. - + Don't show again during this session - + The following %1 file(s) could not be moved to trash - + This track file could not be moved to trash + + + Replace current Auto DJ queue? + + + + + Do you want to replace the entire Auto DJ queue with the selected tracks? + + + + + Don't ask again during this session + + - + Setting cover art of %n track(s) - + Reloading cover art of %n track(s) @@ -16654,37 +17357,37 @@ This can not be undone! WTrackStemMenu - + Load for stem mixing - + Load pre-mixed stereo track - + Load the "%1" stem - + Load multiple stem into a stereo deck - + Select stems to load - + Release "CTRL" to load the current selection - + Use "CTRL" to select multiple stems @@ -16692,37 +17395,37 @@ This can not be undone! WTrackTableView - + Confirm track hide - + Are you sure you want to hide the selected tracks? - + Are you sure you want to remove the selected tracks from AutoDJ queue? - + Are you sure you want to remove the selected tracks from this crate? - + Are you sure you want to remove the selected tracks from this playlist? - + Don't ask again during this session - + Confirm track removal @@ -16730,60 +17433,65 @@ This can not be undone! WTrackTableViewHeader - + Show or hide columns. + + + Shuffle Tracks + + mixxx::CoreServices - + fonts - + database - + effects - + audio interface - + decks - + library - + Choose music library directory - + controllers - + Cannot open database - + Unable to establish a database connection. Mixxx requires QT with SQLite support. Please read the Qt SQL driver documentation for information on how to build it. @@ -16794,67 +17502,78 @@ Click OK to exit. mixxx::DlgLibraryExport - + Entire music library - - Selected crates + + Crates + + + + + Playlists + + + + + Selected crates/playlists - + Browse Tsvaga - + Export directory - + Database version - + Export - + Cancel - - Export Library to Engine Prime + + Export Library to Engine DJ + "Engine DJ" must not be translated - + Export Library To - + No Export Directory Chosen - + No export directory was chosen. Please choose a directory in order to export the music library. - + A database already exists in the chosen directory. Exported tracks will be added into this database. - + A database already exists in the chosen directory, but there was a problem loading it. Export is not guaranteed to succeed in this situation. @@ -16875,7 +17594,7 @@ Click OK to exit. mixxx::EnginePrimeExportJob - + Failed to export track %1 - %2: %3 %1 is the artist %2 is the title and %3 is the original error message @@ -16885,23 +17604,23 @@ Click OK to exit. mixxx::LibraryExporter - + Export Completed - - Exported %1 track(s) and %2 crate(s). + + Exported %1 track(s), %2 crate(s), and %3 playlist(s). - + Export Failed - - Exporting to Engine Prime... + + Exporting to Engine DJ... @@ -16926,6 +17645,24 @@ Click OK to exit. + + mixxx::qml::QmlApplication + + + Existing user profile detected + + + + + Trying to run Mixxx 3.0 with an existing %0 user profile! <br><br>There is <b>serious risks</b> of data loss and corruption.<br>We recommend using a test profile folder with the '--settings-path' argument. <br><br>If you want to continue at your own risk, run Mixxx with the argument '--allow-dangerous-data-corruption-risk'. + + + + + Ok + + + mixxx::qml::QmlVisibleEffectsModel @@ -16934,4 +17671,27 @@ Click OK to exit. + + mixxx::qml::QmlWaveformRendererMark + + + Cannot find the marker pixmap + + + + + Cannot find the marker endPixmap + + + + + Cannot find the marker icon + + + + + Cannot find the marker endIcon + + + \ No newline at end of file diff --git a/res/translations/mixxx_sq_AL.qm b/res/translations/mixxx_sq_AL.qm index d8bcf44004d31c4643c23c392110ae5aecacab8e..ab0cb0a29a32ce69febdf1db249fac8068719ddc 100644 GIT binary patch delta 10728 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 delta 10519 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 diff --git a/res/translations/mixxx_sq_AL.ts b/res/translations/mixxx_sq_AL.ts index 2e49f0bd489a..5066dbdf1df2 100644 --- a/res/translations/mixxx_sq_AL.ts +++ b/res/translations/mixxx_sq_AL.ts @@ -8,6 +8,14 @@ + + AllTrackLibraryFeature + + + All... + + + AnalysisFeature @@ -19,52 +27,52 @@ AutoDJFeature - + Crates Arka - + Enable Auto DJ Aktivizo Auto DJ - + Disable Auto DJ Çaktivizo Auto DJ - + Clear Auto DJ Queue Spastro Radhë Auto DJ-i - + Remove Crate as Track Source Hiqi Arkat si Burim Pjesësh - + Auto DJ Auto DJ - + Confirmation Clear Ripohoni Spastrimin - + Do you really want to remove all tracks from the Auto DJ queue? Doni vërtet të hiqen krejt pjesët prej radhës së Auto DJ-it? - + This can not be undone. Kjo s’mund të zhbëhet. - + Add Crate as Track Source Shtoni Arkë si Burim Pjesësh @@ -223,7 +231,7 @@ - + Export Playlist Eksporto Luajlistën @@ -277,13 +285,13 @@ - + Playlist Creation Failed Krijimi i Luajlistës Dështoi - + An unknown error occurred while creating playlist: Ndodhi një gabim i panjohur teksa krijohej luajlista: @@ -298,12 +306,12 @@ Doni vërtet të fshihet luajlista <b>%1</b>? - + M3U Playlist (*.m3u) Luajlistë M3U (*.m3u) - + M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Text CSV (*.csv);;Readable Text (*.txt) Luajlistë M3Ut (*.m3u);;Luajlistë M3U8 (*.m3u8);;Luajlistë PLS (*.pls);;Tekst CSV (*.csv);;Teskt i Lexueshëm (*.txt) @@ -311,12 +319,12 @@ BaseSqlTableModel - + # # - + Timestamp Vulë kohore @@ -324,7 +332,7 @@ BaseTrackPlayerImpl - + Couldn't load track. S’u ngarkua dot pjesë. @@ -362,7 +370,7 @@ Kanale - + Color Ngjyrë @@ -377,7 +385,7 @@ Kompozitor - + Cover Art Art Kopertine @@ -387,7 +395,7 @@ Datë Shtimi - + Last Played Luajtur Së Fundi Më @@ -417,7 +425,7 @@ Çelës - + Location Vendndodhje @@ -427,7 +435,7 @@ - + Preview Paraparje @@ -467,7 +475,7 @@ Vit - + Fetching image ... Tooltip text on the cover art column shown when the cover is read from disk Po sillet figurë… @@ -489,22 +497,22 @@ BroadcastProfile - + Can't use secure password storage: keychain access failed. S’mund të përdoret depozitim i siguruar fjalëkalimesh: dështoi hyrja në varg kyçesh. - + Secure password retrieval unsuccessful: keychain access failed. Marrje e pasuksesshme fjalëkalimi të siguruar: dështoi hyrja në varg kyçesh. - + Settings error Gabim rregullimesh - + <b>Error with settings for '%1':</b><br> <b>Gabim me rregullimet për '%1':</b><br> @@ -592,7 +600,7 @@ - + Computer Kompjuter @@ -612,17 +620,17 @@ Skanoje - + "Computer" lets you navigate, view, and load tracks from folders on your hard disk and external devices. “Kompjuter” ju lejon të lëvizni nëpër, të shihni dhe të ngarkoni pjesë nga dosje prej hard diskut tuaj dhe pajisjesh të jashtme. - + It shows the data from the file tags, not track data from your Mixxx library like other track views. - + If you load a track file from here, it will be added to your library. @@ -735,12 +743,12 @@ Kartelë e Krijuar Më - + Mixxx Library Fonotekë Mixxx-i - + Could not load the following file because it is in use by Mixxx or another application. S’u ngarkua dot kartela vijuese, ngaqë është në përdorim nga Mixxx-i, ose tjetër aplikacion. @@ -771,87 +779,92 @@ CmdlineArgs - + Mixxx is an open source DJ software. For more information, see: - + Starts Mixxx in full-screen mode - + Use a custom locale for loading translations. (e.g 'fr') - + Top-level directory where Mixxx should look for its resource files such as MIDI mappings, overriding the default installation location. - + Path the debug statistics time line is written to - + Causes Mixxx to display/log all of the controller data it receives and script functions it loads - + The controller mapping will issue more aggressive warnings and errors when detecting misuse of controller APIs. New Controller Mappings should be developed with this option enabled! - + Enables developer-mode. Includes extra log info, stats on performance, and a Developer tools menu. - + Top-level directory where Mixxx should look for settings. Default is: - + Starts Auto DJ when Mixxx is launched. Bën nisjen nën Auto DJ, kur hapet Mixxx-i. - + Rescans the library when Mixxx is launched. Riskanon fonotekën, kur hapet Mixxx-i. - + Use legacy vu meter Përdor tregues VU të dikurshëm - + Use legacy spinny - - Loads experimental QML GUI instead of legacy QWidget skin + + Loads the highly unstable 3.0 Mixxx interface, based on QML. You need to use a new setting profile, or run with 'allow-dangerous-data-corruption-risk' to use with the current one. We highly recommend backing up your data if you do so. + + + + + Force Mixxx to load an unstable version with an existing user profile from a stable version - + Enables safe-mode. Disables OpenGL waveforms, and spinning vinyl widgets. Try this option if Mixxx is crashing on startup. - + [auto|always|never] Use colors on the console output. [auto|përherë|kurrë] Përdor ngjyra te ç’prodhohet nga konsola. - + Sets the verbosity of command line logging. critical - Critical/Fatal only warning - Above + Warnings @@ -861,32 +874,32 @@ trace - Above + Profiling messages - + Sets the the logging level at which the log buffer is flushed to mixxx.log. <level> is one of the values defined at --log-level above. - + Sets the maximum file size of the mixxx.log file in bytes. Use -1 for unlimited. The default is 100 MB as 1e5 or 100000000. - + Breaks (SIGINT) Mixxx, if a DEBUG_ASSERT evaluates to false. Under a debugger you can continue afterwards. - + Overrides the default application GUI style. Possible values: %1 - + Load the specified music file(s) at start-up. Each file you specify will be loaded into the next virtual deck. - + Preview rendered controller screens in the Setting windows. @@ -979,2567 +992,2748 @@ trace - Above + Profiling messages ControlPickerMenu - + Headphone Output Dalje Kufjesh - - - + + + + Deck %1 + %1 is the deck number 1 ... 4 Kuverta %1 - + Sampler %1 - + Preview Deck %1 Inspekto Kuvertën %1 - + Microphone %1 Mikrofoni %1 - + Auxiliary %1 Portë ndihmëse %1 - + Reset to default Riktheje te parazgjedhje - + Effect Rack %1 Raft Efektesh %1 - + Parameter %1 Parametri %1 - + Mixer Përzierës - - + + Crossfader Kryqzbehësi - + Headphone mix (pre/main) - + Toggle headphone split cueing - + Headphone delay Vonesë kufjesh - + Transport Transport - + Strip-search through track - + Play button Buton luajtjesh - - + + Set to full volume Vëre volumin të plotë - - + + Set to zero volume Vëre volumin zero - + Stop button Buton ndaljesh - + Jump to start of track and play Hidhu te fillimi i pjesës dhe luaje - + Jump to end of track Hidhu te fundi i pjesës - + Reverse roll (Censor) button - + Headphone listen button Buton dëgjimi në kufje - - + + Mute button Buton heshtimi - + Toggle repeat mode - - + + Mix orientation (e.g. left, right, center) - - + + Set mix orientation to left - - + + Set mix orientation to center - - + + Set mix orientation to right - + Toggle slip mode - - + + BPM BPM - + Increase BPM by 1 Shtoje BPM-në me 1 - + Decrease BPM by 1 Pakësoje BPM-në me 1 - + Increase BPM by 0.1 Shtoje BPM-në me 0.1 - + Decrease BPM by 0.1 Pakësoje BPM-në me 0.1 - + BPM tap button - + Toggle quantize mode - + One-time beat sync (tempo only) - + One-time beat sync (phase only) - + Toggle keylock mode - + Equalizers Barazuesit - + Vinyl Control Kontroll Vinili - + Toggle vinyl-control cueing mode (OFF/ONE/HOT) - + Toggle vinyl-control mode (ABS/REL/CONST) - + Pass through external audio into the internal mixer - + Cues Shenjat - + Cue button Butoni i Shenjës - + Set cue point Vë Pikën e Shenjës - + Go to cue point Shko tek Pika e Shenjës - + Go to cue point and play Shko tek Pika e Shenjës edhe Luaje - + Go to cue point and stop Shko tek Pika e Shenjës edhe Ndalo - + Preview from cue point Inspekto nga Pika e Shenjës - + Cue button (CDJ mode) Butoni i Shenjës (Moda CDJ) - + Stutter cue Belbëzo Shenjën - + Hotcues Shenjat e Shpejta - + Set, preview from or jump to hotcue %1 - + Clear hotcue %1 Zbraz Shenjën e Shpejte %1 - + Set hotcue %1 Vë Shenjën e Shpejte %1 - + Jump to hotcue %1 Kërce tek Shenja e Shpejtë %1 - + Jump to hotcue %1 and stop Kërce tek Shenja e Shpejte %1 edhe Ndalo - + Jump to hotcue %1 and play Kërce tek Shenja e Shpejtë %1 edhe Luaje - + Preview from hotcue %1 - - + + Hotcue %1 - + Looping - + Loop In button - + Loop Out button - + Loop Exit button - + 1/2 1/2 - + 1 1 - + 2 2 - + 4 4 - + 8 8 - + 16 16 - + 32 32 - + 64 64 - + Move loop forward by %1 beats - + Move loop backward by %1 beats - + Create %1-beat loop - + Create temporary %1-beat loop roll - + Library Fonotekë - + Slot %1 - + Headphone Mix - + Headphone Split Cue - + Headphone Delay Vonesë Kufjesh - + Play Luaje - + Fast Rewind - + Fast Rewind button - + Fast Forward - + Fast Forward button - + Strip Search - + Play Reverse - + Play Reverse button - + Reverse Roll (Censor) - + Jump To Start - + Jumps to start of track - + Play From Start - + Stop Ndale - + Stop And Jump To Start Ndale Dhe Kalo Te Fillimi - + Stop playback and jump to start of track Ndaleni luajtjen dhe kaloni te fillimi i pjesës - + Jump To End Hidhu te Fundi - + Volume Volum - - - + + + Volume Fader Zbehës Volumi - - + + Full Volume Volum i Plotë - - + + Zero Volume Zero Volum - + Track Gain - + Track Gain knob - - + + Mute Heshtoje - + Eject Nxirre - - + + Headphone Listen Dëgjim në Kufje - + Headphone listen (pfl) button Buton dëgjimi në kufje (pfl) - + Repeat Mode Mënyra Përsëritje - + Slip Mode - - + + Orientation Orientim - - + + Orient Left Orientim Majtas - - + + Orient Center Orientim Në Qendër - - + + Orient Right Orientim Majtas - + BPM +1 - + BPM -1 BPM -1 - + BPM +0.1 BPM +0.1 - + BPM -0.1 BPM -0.1 - + BPM Tap - + Adjust Beatgrid Faster +.01 - + Increase track's average BPM by 0.01 - + Adjust Beatgrid Slower -.01 - + Decrease track's average BPM by 0.01 - + Move Beatgrid Earlier - + Adjust the beatgrid to the left - + Move Beatgrid Later - + Adjust the beatgrid to the right - + Adjust Beatgrid - + Align beatgrid to current position - + Adjust Beatgrid - Match Alignment - + Adjust beatgrid to match another playing deck. - + Quantize Mode - + Sync - + Beat Sync One-Shot - + Sync Tempo One-Shot - + Sync Phase One-Shot - + Pitch control (does not affect tempo), center is original pitch - + Pitch Adjust - + Adjust pitch from speed slider pitch - + Match musical key Përputhe me çelësin muzikor - + Match Key Përputhe me Çelësin - + Reset Key - + Resets key to original - + High EQ - + Mid EQ - - + + Main Output - + Main Output Balance - + Main Output Delay - + Main Output Gain - + Low EQ - + Toggle Vinyl Control Shfaq/Fshih Kontroll Vinili - + Toggle Vinyl Control (ON/OFF) Shfaq/Fshih Kontroll Vinili (ON/OFF) - + Vinyl Control Mode Mënyrë Kontrolli Vinili - + Vinyl Control Cueing Mode - + Vinyl Control Passthrough - + Vinyl Control Next Deck - + Single deck mode - Switch vinyl control to next deck - + Cue - + Set Cue - + Go-To Cue - + Go-To Cue And Play - + Go-To Cue And Stop - + Preview Cue - + Cue (CDJ Mode) - + Stutter Cue - + Go to cue point and play after release - + Clear Hotcue %1 - + Set Hotcue %1 - + Jump To Hotcue %1 - + Jump To Hotcue %1 And Stop - + Jump To Hotcue %1 And Play - + Preview Hotcue %1 - + Loop In - + Loop Out - + Loop Exit - + Reloop/Exit Loop - + Loop Halve - + Loop Double - + 1/32 1/32 - + 1/16 1/16 - + 1/8 1/8 - + 1/4 1/4 - + Move Loop +%1 Beats - + Move Loop -%1 Beats - + Loop %1 Beats - + Loop Roll %1 Beats - + Add to Auto DJ Queue (bottom) - + Append the selected track to the Auto DJ Queue - + Add to Auto DJ Queue (top) - + Prepend selected track to the Auto DJ Queue - + Load Track Ngarko Pjesë - + Load selected track Ngarko pjesën e përzgjedhur - + Load selected track and play Ngarko pjesën e përzgjedhur dhe luaje - - + + Record Mix - + Toggle mix recording - + Effects Efekte - - Quick Effects - Efekte të Shpejta - - - + Deck %1 Quick Effect Super Knob - + + Quick Effect Super Knob (control linked effect parameters) - - + + + + Quick Effect Efekt i Shpejtë - + Clear Unit - + Clear effect unit - + Toggle Unit - + Dry/Wet - + Adjust the balance between the original (dry) and processed (wet) signal. - + Super Knob - + Next Chain - + Assign - + Clear Spastroje - + Clear the current effect Spastro efektin e tanishëm - + Toggle - + Toggle the current effect - + Next Pasuesi - + Switch to next effect Kalo te efekti pasues - + Previous I mëparshmi - + Switch to the previous effect Kalo te efekti i mëparshëm - + Next or Previous Pasuesi ose I mëparshmi - + Switch to either next or previous effect Kalo ose te efekti pasues, ose te ai i mëparshëm - - + + Parameter Value Velrë Parametri - - + + Microphone Ducking Strength - + Microphone Ducking Mode - + Gain - + Gain knob - + Shuffle the content of the Auto DJ queue Shkartis lëndën e radhës Auto DJ - + Skip the next track in the Auto DJ queue Anashkalo pjesën pasuese te radha Auto DJ - + Auto DJ Toggle - + Toggle Auto DJ On/Off - + Show/hide the microphone & auxiliary section Shfaq/fshih pjesën e mikrofonit & portës ndihmëse - + 4 Effect Units Show/Hide - + Switches between showing 2 and 4 effect units Bën kalimin nga shfaqja e 2 në 4 njësish efektesh dhe anasjelltas - + Mixer Show/Hide Shfaq/Fshih Përzierësin - + Show or hide the mixer. Shfaqni ose fshihni përzierësin. - + Cover Art Show/Hide (Library) - + Show/hide cover art in the library - + Library Maximize/Restore - + Maximize the track library to take up all the available screen space. - + Effect Rack Show/Hide - + Show/hide the effect rack - + Waveform Zoom Out - + Headphone Gain - + Headphone gain - + Tap to sync tempo (and phase with quantize enabled), hold to enable permanent sync - + One-time beat sync tempo (and phase with quantize enabled) - + Playback Speed Shpejtësi Luajtjeje - + Playback speed control (Vinyl "Pitch" slider) - + Pitch (Musical key) - + Increase Speed Rrite Shpejtësinë - + Adjust speed faster (coarse) - + Increase Speed (Fine) - + Adjust speed faster (fine) - + Decrease Speed Ule Shpejtësinë - + Adjust speed slower (coarse) - + Adjust speed slower (fine) - + Temporarily Increase Speed Rrite Përkohësisht Shpejtësinë - + Temporarily increase speed (coarse) - + Temporarily Increase Speed (Fine) - + Temporarily increase speed (fine) - + Temporarily Decrease Speed Ule Përkohësisht Shpejtësinë - + Temporarily decrease speed (coarse) - + Temporarily Decrease Speed (Fine) - + Temporarily decrease speed (fine) - - + + Adjust %1 - + + Deck %1 Stem %2 + + + + Effect Unit %1 - + Button Parameter %1 - + Skin - + Controller - + Crossfader / Orientation - + Main Output gain - + Main Output balance - + Main Output delay - + Headphone Kufje - - + + Kill %1 + %1 is "Low EQ" "Mid EQ" or "High EQ" Asgjësoje %1 - + Eject or un-eject track, i.e. reload the last-ejected track (of any deck)<br>Double-press to reload the last replaced track. In empty decks it reloads the second-last ejected track. - + BPM / Beatgrid - + Halve BPM - + Multiply current BPM by 0.5 - + 2/3 BPM 2/3 BPM - + Multiply current BPM by 0.666 - + 3/4 BPM 3/4 BPM - + Multiply current BPM by 0.75 - + 4/3 BPM 4/3 BPM - + Multiply current BPM by 1.333 - + 3/2 BPM 3/2 BPM - + Multiply current BPM by 1.5 - + Double BPM - + Multiply current BPM by 2 - + Tempo Tap - + Tempo tap button - + Move Beatgrid - + Adjust the beatgrid to the left or right - + Move Beatgrid Half a Beat - + Adjust the beatgrid by exactly one half beat. Usable only for tracks with constant tempo. - - + + Toggle the BPM/beatgrid lock - + Revert last BPM/Beatgrid Change - + Revert last BPM/Beatgrid Change of the loaded track. - + Sync / Sync Lock - + Internal Sync Leader - + Toggle Internal Sync Leader - - + + Internal Leader BPM - + Internal Leader BPM +1 - + Increase internal Leader BPM by 1 - + Internal Leader BPM -1 - + Decrease internal Leader BPM by 1 - + Internal Leader BPM +0.1 - + Increase internal Leader BPM by 0.1 - + Internal Leader BPM -0.1 - + Decrease internal Leader BPM by 0.1 - + Sync Leader - + Sync mode 3-state toggle / indicator (Off, Soft Leader, Explicit Leader) - + Speed Shpejtësi - + Decrease Speed (Fine) - + Pitch (Musical Key) - + Increase Pitch - + Increases the pitch by one semitone - + Increase Pitch (Fine) - + Increases the pitch by 10 cents - + Decrease Pitch - + Decreases the pitch by one semitone - + Decrease Pitch (Fine) - + Decreases the pitch by 10 cents - + Keylock - + CUP (Cue + Play) - + Shift cue points earlier - + Shift cue points 10 milliseconds earlier - + Shift cue points earlier (fine) - + Shift cue points 1 millisecond earlier - + Shift cue points later - + Shift cue points 10 milliseconds later - + Shift cue points later (fine) - + Shift cue points 1 millisecond later - - + + Sort hotcues by position - - + + Sort hotcues by position (remove offsets) - + Hotcues %1-%2 - + Intro / Outro Markers - + Intro Start Marker - + Intro End Marker - + Outro Start Marker - + Outro End Marker - + intro start marker - + intro end marker - + outro start marker - + outro end marker - + Activate %1 [intro/outro marker Aktivizo %1 - + Jump to or set the %1 [intro/outro marker - + Set %1 [intro/outro marker - + Set or jump to the %1 [intro/outro marker - + Clear %1 [intro/outro marker Spastroje %1 - + Clear the %1 [intro/outro marker Spastrojeni %1 - + if the track has no beats the unit is seconds - + Loop Selected Beats - + Create a beat loop of selected beat size - + Loop Roll Selected Beats - + Create a rolling beat loop of selected beat size - + Loop %1 Beats set from its end point - + Loop Roll %1 Beats set from its end point - + Create %1-beat loop with the current play position as loop end - + Create temporary %1-beat loop roll with the current play position as loop end - + Loop Beats - + Loop Roll Beats - + Go To Loop In - + Go to Loop In button - + Go To Loop Out - + Go to Loop Out button - + Toggle loop on/off and jump to Loop In point if loop is behind play position - + Reloop And Stop - + Enable loop, jump to Loop In point, and stop - + Halve the loop length - + Double the loop length - + Beat Jump / Loop Move - + Jump / Move Loop Forward %1 Beats - + Jump / Move Loop Backward %1 Beats - + Jump forward by %1 beats, or if a loop is enabled, move the loop forward %1 beats - + Jump backward by %1 beats, or if a loop is enabled, move the loop backward %1 beats - + Beat Jump / Loop Move Forward Selected Beats - + Jump forward by the selected number of beats, or if a loop is enabled, move the loop forward by the selected number of beats - + Beat Jump / Loop Move Backward Selected Beats - + Jump backward by the selected number of beats, or if a loop is enabled, move the loop backward by the selected number of beats - + Beat Jump - + Indicate which loop marker remain static when adjusting the size or is inherited from the current position - + Beat Jump / Loop Move Forward - + Beat Jump / Loop Move Backward - + Loop Move Forward - + Loop Move Backward - + Remove Temporary Loop - + Remove the temporary loop - + Navigation Lëvizje - + Move up Ngjite sipër - + Equivalent to pressing the UP key on the keyboard E barasvlershme me shtypjen e tastit UP te tastiera - + Move down Ule poshtë - + Equivalent to pressing the DOWN key on the keyboard E barasvlershme me shtypjen e tastit DOWN te tastiera - + Move up/down - + Move vertically in either direction using a knob, as if pressing UP/DOWN keys - + Scroll Up Rrëshqit Për Sipër - + Equivalent to pressing the PAGE UP key on the keyboard E barasvlershme me shtypjen e tastit PAGE UP te tastiera - + Scroll Down Rrëshqit Për Poshtë - + Equivalent to pressing the PAGE DOWN key on the keyboard E barasvlershme me shtypjen e tastit PAGE DOWN te tastiera - + Scroll up/down - + Scroll vertically in either direction using a knob, as if pressing PGUP/PGDOWN keys - + Move left Lëvize majtas - + Equivalent to pressing the LEFT key on the keyboard E barasvlershme me shtypjen e tastit LEFT te tastiera - + Move right Lëvize djathtas - + Equivalent to pressing the RIGHT key on the keyboard E barasvlershme me shtypjen e tastit RIGHT te tastiera - + Move left/right - + Move horizontally in either direction using a knob, as if pressing LEFT/RIGHT keys - + Move focus to right pane - + Equivalent to pressing the TAB key on the keyboard - + Move focus to left pane - + Equivalent to pressing the SHIFT+TAB key on the keyboard - + Move focus to right/left pane - + Move focus one pane to right or left using a knob, as if pressing TAB/SHIFT+TAB keys - + Sort focused column - + Sort the column of the cell that is currently focused, equivalent to clicking on its header - + Go to the currently selected item - + Choose the currently selected item and advance forward one pane if appropriate - + Load Track and Play - + Add to Auto DJ Queue (replace) - + Replace Auto DJ Queue with selected tracks - + Select next search history - + Selects the next search history entry - + Select previous search history - + Selects the previous search history entry - + Move selected search entry - + Moves the selected search history item into given direction and steps - + Clear search - + Clears the search query - - + + Select Next Color Available - + Select the next color in the color palette for the first selected track - - + + Select Previous Color Available - + Select the previous color in the color palette for the first selected track - + + Quick Effects Deck %1 + + + + Deck %1 Quick Effect Enable Button - + + Quick Effect Enable Button - + + Deck %1 Stem %2 Quick Effect Super Knob + + + + + Deck %1 Stem %2 Quick Effect Enable Button + + + + Enable or disable effect processing - + Super Knob (control effects' Meta Knobs) - + Mix Mode Toggle - + Toggle effect unit between D/W and D+W modes - + Next chain preset - + Previous Chain - + Previous chain preset - + Next/Previous Chain - + Next or previous chain preset - - + + Show Effect Parameters - + Effect Unit Assignment - + Meta Knob - + Effect Meta Knob (control linked effect parameters) - + Meta Knob Mode - + Set how linked effect parameters change when turning the Meta Knob. - + Meta Knob Mode Invert - + Invert how linked effect parameters change when turning the Meta Knob. - - + + Button Parameter Value - + Microphone / Auxiliary - - Microphone On/Off + + Microphone On/Off + + + + + Microphone on/off + + + + + Toggle microphone ducking mode (OFF, AUTO, MANUAL) + + + + + Auxiliary On/Off + + + + + Auxiliary on/off + + + + + Auto DJ + DJ Automatik + + + + Auto DJ Shuffle + + + + + Auto DJ Skip Next + + + + + Auto DJ Add Random Track + + + + + Add a random track to the Auto DJ queue + + + + + Auto DJ Fade To Next + + + + + Trigger the transition to the next track + + + + + User Interface + + + + + Samplers Show/Hide + + + + + Show/hide the sampler section + + + + + Microphone && Auxiliary Show/Hide + keep double & to prevent creation of keyboard accelerator + + + + + Waveform Zoom Reset To Default + + + + + Reset the waveform zoom level to the default value selected in Preferences -> Waveforms + + + + + Select the next color in the color palette for the loaded track. + + + + + Select previous color in the color palette for the loaded track. + + + + + Navigate Through Track Colors + + + + + Select either next or previous color in the palette for the loaded track. + + + + + Start/Stop Live Broadcasting + + + + + Stream your mix over the Internet. + + + + + Start/stop recording your mix. + + + + + + Deck %1 Stems + + + + + + Samplers + + + + + Vinyl Control Show/Hide + + + + + Show/hide the vinyl control section + + + + + Preview Deck Show/Hide + + + + + Show/hide the preview deck + + + + + Toggle 4 Decks - - Microphone on/off + + Switches between showing 2 decks and 4 decks. - - Toggle microphone ducking mode (OFF, AUTO, MANUAL) + + Cover Art Show/Hide (Decks) - - Auxiliary On/Off + + Show/hide cover art in the main decks - - Auxiliary on/off + + Vinyl Spinner Show/Hide - - Auto DJ - DJ Automatik - - - - Auto DJ Shuffle + + Show/hide spinning vinyl widget - - Auto DJ Skip Next + + Vinyl Spinners Show/Hide (All Decks) - - Auto DJ Add Random Track + + Show/Hide all spinnies - - Add a random track to the Auto DJ queue + + Toggle Waveforms - - Auto DJ Fade To Next + + Show/hide the scrolling waveforms. - - Trigger the transition to the next track + + Waveform zoom - - User Interface + + Waveform Zoom - - Samplers Show/Hide + + Zoom waveform in - - Show/hide the sampler section + + Waveform Zoom In - - Microphone && Auxiliary Show/Hide - keep double & to prevent creation of keyboard accelerator + + Zoom waveform out - - Waveform Zoom Reset To Default + + Star Rating Up - - Reset the waveform zoom level to the default value selected in Preferences -> Waveforms + + Increase the track rating by one star - - Select the next color in the color palette for the loaded track. + + Star Rating Down - - Select previous color in the color palette for the loaded track. + + Decrease the track rating by one star + + + Controller - - Navigate Through Track Colors - + + Unknown + I panjohur + + + ControllerHidReportTabsManager - - Select either next or previous color in the palette for the loaded track. + + Read - - Start/Stop Live Broadcasting + + Send - - Stream your mix over the Internet. + + Payload Size - - Start/stop recording your mix. + + bytes - - - Samplers + + Byte Position - - Vinyl Control Show/Hide + + Bit Position - - Show/hide the vinyl control section + + Bit Size - - Preview Deck Show/Hide + + Logical Min - - Show/hide the preview deck + + Logical Max - - Toggle 4 Decks + + Value - - Switches between showing 2 decks and 4 decks. + + Physical Min - - Cover Art Show/Hide (Decks) + + Physical Max - - Show/hide cover art in the main decks + + Unit Scaling - - Vinyl Spinner Show/Hide + + Unit - - Show/hide spinning vinyl widget + + Abs/Rel - - Vinyl Spinners Show/Hide (All Decks) + + + Wrap - - Show/Hide all spinnies + + + Linear - - Toggle Waveforms + + + Preferred - - Show/hide the scrolling waveforms. + + + Null - - Waveform zoom + + + Volatile - - Waveform Zoom + + Usage Page - - Zoom waveform in + + Usage - - Waveform Zoom In + + Relative - - Zoom waveform out + + Absolute - - Star Rating Up + + No Wrap - - Increase the track rating by one star + + Non Linear - - Star Rating Down + + No Preferred - - Decrease the track rating by one star + + No Null - - - Controller - - Unknown - I panjohur + + Non Volatile + @@ -3677,27 +3871,27 @@ trace - Above + Profiling messages ControllerScriptEngineLegacy - + Controller Mapping File Problem - + The mapping for controller "%1" cannot be opened. - + The functionality provided by this controller mapping will be disabled until the issue has been resolved. - + File: - + Error: @@ -3730,7 +3924,7 @@ trace - Above + Profiling messages - + Lock Kyçe @@ -3760,7 +3954,7 @@ trace - Above + Profiling messages - + Enter new name for crate: Jepni emër të ri për arkën: @@ -3777,22 +3971,22 @@ trace - Above + Profiling messages Importo Arkë - + Export Crate Eksporto Arkë - + Unlock Shkyçe - + An unknown error occurred while creating crate: Ndodhi një gabim i panjohur teksa krijohej arkë: - + Rename Crate Riemërtoni Arkën @@ -3802,28 +3996,28 @@ trace - Above + Profiling messages Formoni një arkë për shfaqjen tuaj të ardhshme, për pjesët tuaja të parapëlqyera “electrohouse”, ose për pjesët tuaja më të kërkuara. - + Confirm Deletion Ripohoni Fshirjen - - + + Renaming Crate Failed Riemërtimi i Arkës Dështoi - + Crate Creation Failed Krijimi i Arkës Dështoi - + M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Text CSV (*.csv);;Readable Text (*.txt) Luajlistë M3U (*.m3u);;Luajlistë M3U8 (*.m3u8);;Luajlistë PLS (*.pls);;Tekst CSV (*.csv);;Teskt i Lexueshëm (*.txt) - + M3U Playlist (*.m3u) Luajlistë M3U (*.m3u) @@ -3844,17 +4038,17 @@ trace - Above + Profiling messages Arkat ju lejojnë të sistemoni muzikën tuaj si t’u pëlqejë! - + Do you really want to delete crate <b>%1</b>? Doni vërtet të fshihet arka <b>%1</b>? - + A crate cannot have a blank name. Një arkë s’mund të ketë emër të zbrazët. - + A crate by that name already exists. Ka tashmë një arkë me atë emër. @@ -3949,12 +4143,12 @@ trace - Above + Profiling messages Kontribues të Dikurshëm - + Official Website Sajt Zyrtar - + Donate Dhuroni @@ -4751,122 +4945,139 @@ You tried to learn: %1,%2 DlgPrefBroadcast - + Icecast 2 Icecast 2 - + Shoutcast 1 Shoutcast 1 - + Icecast 1 Icecast 1 - + MP3 MP3 - + Ogg Vorbis Ogg Vorbis - + Opus Opus - + AAC AAC - + HE-AAC HE-AAC - + HE-AACv2 HE-AACv2 - + Automatic - + Mono Mono - + Stereo Stereo - - - - + + Saving settings failed + + + + + The password for '%1' contains invalid characters. Please enter it again. + +Note: This can for example be invisible linebreaks when using copy/paste. + + + + + + Action failed Veprimi dështoi - + You can't create more than %1 source connections. S’mund të krijoni më tepër se %1 lidhje burimesh. - + Source connection %1 Lidhje burimi %1 - + + Settings for %1 + Settings for broadcast profile, %1 is the profile name placeholder + + + + At least one source connection is required. Është e domosdoshme të paktën një lidhje burimi. - + Are you sure you want to disconnect every active source connection? Jeni i sigurt se doni të shkëputet çdo lidhje aktive burimi? - - + + Confirmation required Lypset ripohim - + '%1' has the same Icecast mountpoint as '%2'. Two source connections to the same server that have the same mountpoint can not be enabled simultaneously. - + Are you sure you want to delete '%1'? Jeni i sigurt se doni të fshihet “%1”? - + Renaming '%1' Po riemërtohet “%1” - + New name for '%1': Emër i ri për “%1”: - + Can't rename '%1' to '%2': name already in use S’riemërtohet dot “%1” si “%2”:emër tashmë në përdorim @@ -4879,27 +5090,27 @@ Two source connections to the same server that have the same mountpoint can not - + Mixxx Icecast Testing - + Public stream - + http://www.mixxx.org http://www.mixxx.org - + Stream name - + Due to flaws in some streaming clients, updating Ogg Vorbis metadata dynamically can cause listener glitches and disconnections. Check this box to update the metadata anyway. @@ -4939,67 +5150,72 @@ Two source connections to the same server that have the same mountpoint can not - + + Available fields: $artist, $title, $year, $album, $genre, $bpm + + + + Dynamically update Ogg Vorbis metadata. - + ICQ ICQ - + AIM AIM - + Website Sajt - + Live mix - + IRC IRC - + Select a source connection above to edit its settings here Përzgjidhni më sipër një lidhje burimi, që të përpunoni këtu rregullimet për të - + Password storage Depozitim fjalëkalimi - + Plain text Tekst i thjeshtë - + Secure storage (OS keychain) Depozitim i siguruar (varg kyçesh të OS-it) - + Genre Zhanër - + Use UTF-8 encoding for metadata. - + Description Përshkrim @@ -5025,42 +5241,42 @@ Two source connections to the same server that have the same mountpoint can not Kanale - + Server connection Lidhje shërbyesi - + Type Lloj - + Host Strehë - + Login Hyrje - + Mount - + Port Portë - + Password Fjalëkalim - + Stream info @@ -5070,17 +5286,17 @@ Two source connections to the same server that have the same mountpoint can not Tejtëdhëna - + Use static artist and title. Përdor artist dhe titull statik. - + Static title Titull statik - + Static artist Artist statik @@ -5139,13 +5355,14 @@ Two source connections to the same server that have the same mountpoint can not DlgPrefColors - - + + + By hotcue number - + Color Ngjyrë @@ -5190,18 +5407,23 @@ Two source connections to the same server that have the same mountpoint can not + Jump default color + + + + When key colors are enabled, Mixxx will display a color hint associated with each key. Kur aktivizohen ngjyra çelësash, Mixxx-i do të shfaqë një ndihmëz rreth ngjyrës së përshoqëruar me secilin çelës. - + Enable Key Colors Aktivizo Ngjyra Çelësash - + Key palette Paletë çelësash @@ -5209,113 +5431,113 @@ ndihmëz rreth ngjyrës së përshoqëruar me secilin çelës. DlgPrefController - + Apply device settings? - + Your settings must be applied before starting the learning wizard. Apply settings and continue? - + None - + %1 by %2 - + Mapping has been edited - + Always overwrite during this session - + Save As - + Overwrite - + Save user mapping - + Enter the name for saving the mapping to the user folder. - + Saving mapping failed - + A mapping cannot have a blank name and may not contain special characters. - + A mapping file with that name already exists. - + Do you want to save the changes? - + Troubleshooting - + <font color='#BB0000'><b>If you use this mapping your controller may not work correctly. Please select another mapping or disable the controller.</b></font><br><br>This mapping was designed for a newer Mixxx Controller Engine and cannot be used on your current Mixxx installation.<br>Your Mixxx installation has Controller Engine version %1. This mapping requires a Controller Engine version >= %2.<br><br>For more information visit the wiki page on <a href='https://mixxx.org/wiki/doku.php/controller_engine_versions'>Controller Engine Versions</a>. - + Mapping already exists. - + <b>%1</b> already exists in user mapping folder.<br>Overwrite or save with a new name? - + Clear Input Mappings - + Are you sure you want to clear all input mappings? - + Clear Output Mappings - + Are you sure you want to clear all output mappings? @@ -5333,100 +5555,105 @@ Apply settings and continue? I aktivizuar - + + Refresh mapping list + + + + Device Info Hollësi Pajisjeje - + Physical Interface: Ndërfaqe Fizike: - + Vendor name: Emër tregtuesi: - + Product name: Emër produkti: - + Vendor ID ID tregtuesi - + VID: VID: - + Product ID ID Produkti - + PID: PID: - + Serial number: Numër serial: - + USB interface number: Numër ndërfaqeje USB: - + HID Usage-Page: - + HID Usage: - + Description: Përshkrim: - + Support: Asistencë: - + Screens preview - + Input Mappings - - + + Search Kërko - - + + Add Shtoni - - + + Remove Hiqe @@ -5446,17 +5673,17 @@ Apply settings and continue? - + Mapping Info - + Author: Autor: - + Name: Emër: @@ -5466,28 +5693,28 @@ Apply settings and continue? - + Data protocol: Protokoll të dhënash: - + Mapping Files: - + Mapping Settings - - + + Clear All Spastroji Krejt - + Output Mappings @@ -5502,21 +5729,21 @@ Apply settings and continue? - Mixxx uses "mappings" to connect messages from your controller to controls in Mixxx. If you do not see a mapping for your controller in the "Load Mapping" menu when you click on your controller on the left sidebar, you may be able to download one online from the %1. Place the XML (.xml) and Javascript (.js) file(s) in the "User Mapping Folder" then restart Mixxx. If you download a mapping in a ZIP file, extract the XML and Javascript file(s) from the ZIP file to your "User Mapping Folder" then restart Mixxx. + Mixxx uses "mappings" to connect messages from your controller to controls in Mixxx. If you do not see a mapping for your controller in the "Load Mapping" menu when you click on your controller on the left sidebar, you may be able to download one online from the %1. Place the XML (.xml) and Javascript (.js) file(s) in the "User Mapping Folder" then click the Reload button next to the mapping selector to reload all available mappings. If you download a mapping in a ZIP file, extract the XML and Javascript file(s) from the ZIP file to your "User Mapping Folder" then click the Reload button. - + Mixxx DJ Hardware Guide - + MIDI Mapping File Format - + MIDI Scripting with Javascript @@ -5685,137 +5912,137 @@ Apply settings and continue? DlgPrefDeck - + Mixxx mode Mënyrë Mixxx-i - + Mixxx mode (no blinking) Mënyrë Mixxx-i (pa xixëllim) - + Pioneer mode Mnëyra Pioneer - + Denon mode Mënyra Denon - + Numark mode Mënyra Numark - + CUP mode Mënyra CUP - + mm:ss%1zz - Traditional - + mm:ss - Traditional (Coarse) - + s%1zz - Seconds s%1zz - Sekonda - + sss%1zz - Seconds (Long) - + s%1sss%2zz - Kiloseconds s%1sss%2zz - Kilosekonda - + Intro start - + Main cue - + First hotcue - + First sound (skip silence) - + Beginning of track Fillimi i pjesës - + Reject Mos e prano - + Allow, but stop deck - + Allow, play from load point - + 4% 4% - + 6% (semitone) 6% (gjysmëton) - + 8% (Technics SL-1210) 8% (Technics SL-1210) - + 10% 10% - + 16% 16% - + 24% 24% - + 50% 50% - + 90% 90% @@ -6252,57 +6479,57 @@ You can always drag-and-drop tracks on screen to clone a deck. - + Allow screensaver to run Lejoje ekrankursyesin të xhirojë - + Prevent screensaver from running Pengoje xhirimin e ekrankursyesit - + Prevent screensaver while playing Pengo ekrankursyesin, teksa luhet - + Disabled I çaktivizuar - + 2x MSAA 2x MSAA - + 4x MSAA 4x MSAA - + 8x MSAA 8x MSAA - + 16x MSAA 16x MSAA - + This skin does not support color schemes Kjo lëkrçe s’mbulon skema ngjyrash - + Information Hollësi - + Mixxx must be restarted before the new locale, scaling or multi-sampling settings will take effect. Mixxx-i duhet rinisuar, para se të hyjnë në fuqi rregullime për vendore të re, përshkallëzimi apo “multi-sampling”. @@ -6529,67 +6756,97 @@ and allows you to pitch adjust them for harmonic mixing. Për hollësi, shihni doracakun - + Music Directory Added U shtua Drejtori Muzikore - + You added one or more music directories. The tracks in these directories won't be available until you rescan your library. Would you like to rescan now? Shtuat një ose më tepër drejtori muzikore. Pjesët në këto drejtori s’do të jenë të përdorshme, deri sa të riskanohet fonoteka juaj. Doni të riskanohet tani? - + Scan Skanoje - + Item is not a directory or directory is missing Objekti s’është drejtori, ose drejtoria mungon - + Choose a music directory Zgjidhni një drejtori muzike - + Confirm Directory Removal Ripohoni Heqje Drejtorie - + Mixxx will no longer watch this directory for new tracks. What would you like to do with the tracks from this directory and subdirectories?<ul><li>Hide all tracks from this directory and subdirectories.</li><li>Delete all metadata for these tracks from Mixxx permanently.</li><li>Leave the tracks unchanged in your library.</li></ul>Hiding tracks saves their metadata in case you re-add them in the future. - + Metadata means all track details (artist, title, playcount, etc.) as well as beatgrids, hotcues, and loops. This choice only affects the Mixxx library. No files on disk will be changed or deleted. Tejtëdhëna do të thotë krejt hollësitë e pjesës (artist, titull, numër luajtjesh, etj.), si dhe beatgrids, hotcues, and loops. Kjo zgjedhje prek vetëm fonotekën e Mixxx-it. S’do të ndryshohen apo fshihen kartela në disk. - + Hide Tracks Fshihi Pjesët - + Delete Track Metadata Fshi Tejtëdhëna Pjese - + Leave Tracks Unchanged Lëri të Pandryshuara Pjesët - + Relink music directory to new location Rilidhe drejtorinë e muzikës me vendndodhjen e re - + + Black + + + + + ExtraBold + + + + + Bold + + + + + SemiBold + + + + + Medium + + + + + Light + + + + Select Library Font Përzgjidhni Shkronja Fonoteke @@ -6638,262 +6895,267 @@ and allows you to pitch adjust them for harmonic mixing. Riskano drejtoritë gjatë nisjes - + Audio File Formats Formate Kartelash Audio - + Track Table View - + Track Double-Click Action: - + BPM display precision: - + Session History Historik Sesionesh - + Track duplicate distance - + When playing a track again log it to the session history only if more than N other tracks have been played in the meantime - + History playlist with less than N tracks will be deleted<br/><br/>Note: the cleanup will be performed during startup and shutdown of Mixxx. Luajlistë e dikurshme me më pak se N pjesë do të fshihet<br/><br/>Shënim: pastrimi do të kryhet gjatë nisjes dhe fikjes së Mixxx-it. - + Delete history playlist with less than N tracks Fshi luajlistë të dikurshme me më pak se N pjesë - + Library Font: Shkronja Fonoteke: - + + Show scan summary dialog + + + + Grey out played tracks Pjesët e luajtura shfaqi me ngjyrë gri - + Track Search Kërkim Pjesësh - + Enable search completions Aktivizo plotësime termash kërkimi - + Enable search history keyboard shortcuts Aktivizo shkurtore tastiere për historik kërkimesh - + Percentage of pitch slider range for 'fuzzy' BPM search: - + This range will be used for the 'fuzzy' BPM search (~bpm:) via the search box, as well as for BPM search in Track context menu > Search related Tracks - + Preferred Cover Art Fetcher Resolution - + Fetch cover art from coverartarchive.com by using Import Metadata From Musicbrainz. Sill kopertinë që nga coverartarchive.com duke përdorur “Importo Tejtëdhëna Nga Musicbrainz”. - + Note: ">1200 px" can fetch up to very large cover arts. Shënim: “>1200 px” mund të sjellë kopertina shumë të mëdha. - + >1200 px (if available) >1200 px (në pastë) - + 1200 px (if available) 1200 px (në pastë) - + 500 px 500 px - + 250 px 250 px - + Settings Directory Drejtori Rregullimesh - + The Mixxx settings directory contains the library database, various configuration files, log files, track analysis data, as well as custom controller mappings. Drejtoria e rregullimeve të Mixxx-it përmban bazën e të dhënave të fonotekës, kartela të ndryshme formësimi, kartela regjistër, të dhëna analizimi pjesësh, si dhe përshoqërime vetjake kontrollorësh. - + Edit those files only if you know what you are doing and only while Mixxx is not running. Përpunojini këto kartela vetëm nëse e dini se ç’po bëni dhe vetëm teksa Mixxx-i s’është duke funksionuar. - + Open Mixxx Settings Folder Hap Dosje Rregullimesh Mixxx-i - + Library Row Height: Lartësi Rreshti Fonoteke: - + Use relative paths for playlist export if possible Për eksportim luajlistash përdor shtigje relative, nëse mundet - + ... - + px px - + Synchronize library track metadata from/to file tags - + Automatically write modified track metadata from the library into file tags and reimport metadata from updated file tags into the library - + Synchronize Serato track metadata from/to file tags (experimental) - + Keeps track color, beat grid, bpm lock, cue points, and loops synchronized with SERATO_MARKERS/MARKERS2 file tags.<br/><br/>WARNING: Enabling this option also enables the reimport of Serato metadata after files have been modified outside of Mixxx. On reimport existing metadata in Mixxx is replaced with the metadata found in file tags. Custom metadata not included in file tags like loop colors is lost. - + Edit metadata after clicking selected track - + Search-as-you-type timeout: - + ms - + Load track to next available deck - + External Libraries Fonoteka të Jashtme - + You will need to restart Mixxx for these settings to take effect. Që këto rregullime të hyjnë në fuqi, do t’ju duhet të rinisni Mixxx-in. - + Show Rhythmbox Library Shfaq Fonotekë Rhythmbox-i - + Track Metadata Synchronization / Playlists - + Add track to Auto DJ queue (bottom) - + Add track to Auto DJ queue (top) - + Ignore Shpërfille - + Show Banshee Library Shfaq Fonotekë Banshee-u - + Show iTunes Library Shfaq Fonotekë iTunes - + Show Traktor Library Shfaq Fonotekë Traktor-i - + Show Rekordbox Library Shfaq Fonotekë Rekordbox-i - + Show Serato Library Shfaq Fonotekë Serato-je - + All external libraries shown are write protected. Krejt fonotekat e jashtme të shfaqura janë të mbrojtura nga shkrimi. @@ -7238,33 +7500,33 @@ and allows you to pitch adjust them for harmonic mixing. DlgPrefRecord - + Choose recordings directory - - + + Recordings directory invalid - + Recordings directory must be set to an existing directory. - + Recordings directory must be set to a directory. - + Recordings directory not writable - + You do not have write access to %1. Choose a recordings directory you have write access to. @@ -7282,43 +7544,55 @@ and allows you to pitch adjust them for harmonic mixing. Shfletoni… - - + + This will include the filepath for each track in the CUE file. +This option makes the CUE file less portable and can reveal personal +information from filepaths (i.e. username) + + + + + Enable File Annotation in CUE file + + + + + Quality Cilësi - + Tags Etiketa - + Title Titull - + Author Autor - + Album Album - + Output File Format Format Kartele Përufundim - + Compression Ngjeshje - + Lossy @@ -7333,12 +7607,12 @@ and allows you to pitch adjust them for harmonic mixing. Drejtori: - + Compression Level Nivel Ngjeshjeje - + Lossless @@ -7469,172 +7743,177 @@ The loudness target is approximate and assumes track pregain and main output lev DlgPrefSound - + %1 Hz %1 Hz - + Default (long delay) Parazgjedhje (vonesë e gjatë) - + Experimental (no delay) Eksperimentale (pa vonesë) - + Disabled (short delay) E çaktivizuar (vonesë e shkurtër) - + Soundcard Clock Sahat i Kartës së Zërit - + Network Clock Sahat i Rrjetit - + Direct monitor (recording and broadcasting only) - + Disabled E çaktivizuar - + Enabled E aktivizuar - + Stereo Stereo - + Mono Mono - + To enable Realtime scheduling (currently disabled), see the %1. - + The %1 lists sound cards and controllers you may want to consider for using Mixxx. %1 paraqet karta zëri dhe kontrollorë për të cilët mund të donit të shihnit mundësinë e përdorimit në Mixxx. - + Mixxx DJ Hardware Guide Udhërrëfyes Hardware-i DJ për Mixxx - + + Find details in the Mixxx user manual + + + + Information Hollësi - + Mixxx must be restarted before the multi-threaded RubberBand setting change will take effect. - + auto (<= 1024 frames/period) auto (<= 1024 kuadro/periudhë) - + 2048 frames/period 2048 kuadro/periudhë - + 4096 frames/period 4096 kuadro/periudhë - + Are you sure? Jeni i sigurt? - + Distribute stereo channels into mono channels for parallel processing will result in a loss of mono compatibility and a diffuse stereo image. It is not recommended during broadcasting or recording. - + Are you sure you wish to proceed? Jeni i sigurt se doni të vazhdohet? - + No Jo - + Yes, I know what I am doing Po, e di se ç’po bëj - + Microphone inputs are out of time in the record & broadcast signal compared to what you hear. - + Measure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. - + Refer to the Mixxx User Manual for details. Për hollësi, shihni te Doracaku i Përdoruesit të Mixxx-it. - + Configured latency has changed. Vonesa e formësuar ka ndryshuar. - + Remeasure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. - + Realtime scheduling is enabled. - + Main output only - + Main and booth outputs - + %1 ms %1 ms - + Configuration error Gabim formësimi @@ -7701,17 +7980,22 @@ The loudness target is approximate and assumes track pregain and main output lev ms - + + Deck and Bus outputs are for external mixers. They are post-fader and include effects and crossfader (for Auto DJ). For external mixing, make sure all Mixxx faders and EQ knobs are set to their default position (right- or double-click). + + + + 20 ms 20 ms - + Buffer Underflow Count - + 0 0 @@ -7736,12 +8020,12 @@ The loudness target is approximate and assumes track pregain and main output lev - + System Reported Latency Vonesë e Raportuar për Sistemin - + Enlarge your audio buffer if the underflow counter is increasing or you hear pops during playback. @@ -7771,7 +8055,7 @@ The loudness target is approximate and assumes track pregain and main output lev Ndihmëza dhe Diagnostikime - + Downsize your audio buffer to improve Mixxx's responsiveness. Që të përmirësoni shkallën e reagimit të Mixxx-it, zvogëloni buffer-in tuaj audio. @@ -7818,7 +8102,7 @@ The loudness target is approximate and assumes track pregain and main output lev Formësim Vinili - + Show Signal Quality in Skin Shfaq në Lëkure Cilësi Sinjali @@ -7854,46 +8138,51 @@ The loudness target is approximate and assumes track pregain and main output lev + Pitch estimator + + + + Deck 1 - + Deck 2 - + Deck 3 - + Deck 4 - + Signal Quality Cilësi Sinjali - + http://www.xwax.co.uk http://www.xwax.co.uk - + Powered by xwax Bazuar në xwax - + Hints Ndihmëza - + Select sound devices for Vinyl Control in the Sound Hardware pane. Përzgjidhni pajisje zanore për Kontroll Vinil, te kuadrati “Hardware Zanor”. @@ -7901,58 +8190,58 @@ The loudness target is approximate and assumes track pregain and main output lev DlgPrefWaveform - + Filtered - + HSV - + RGB RGB - + Top Në krye - + Center Në qendër - + Bottom Në fund - + 1/3 of waveform viewer options for "Text height limit" 1/3 e parësit të valëve - + Entire waveform viewer Tërë parësin e valëve - + OpenGL not available - + dropped frames kuadro të humbura - + Cached waveforms occupy %1 MiB on disk. @@ -7970,22 +8259,17 @@ The loudness target is approximate and assumes track pregain and main output lev Shpejtësi kuadrosh - + OpenGL Status Gjendje OpenGL-i - + Displays which OpenGL version is supported by the current platform. Bën shfaqjen e cilit version OpenGL mbulohet nga platforma e tanishme. - - Normalize waveform overview - - - - + Average frame rate Shpejtësi mesatare kuadrosh @@ -8001,7 +8285,7 @@ The loudness target is approximate and assumes track pregain and main output lev - + Displays the actual frame rate. Bën shfaqjen e shpejtësisë aktuale të kuadrove. @@ -8036,7 +8320,7 @@ The loudness target is approximate and assumes track pregain and main output lev - + Show minute markers on waveform overview @@ -8081,7 +8365,7 @@ The loudness target is approximate and assumes track pregain and main output lev - + The waveform overview shows the waveform envelope of the entire track. Select from different types of displays for the waveform overview, which differ primarily in the level of detail shown in the waveform. @@ -8148,22 +8432,22 @@ Select from different types of displays for the waveform, which differ primarily - + Caching - + Mixxx caches the waveforms of your tracks on disk the first time you load a track. This reduces CPU usage when you are playing live but requires extra disk space. Herën e parë që ngarkoni një pjesë, Mixxx-i ruan në fshehtinë në disk valët e pjesëve tuaja. Kjo ul përdorimin e CPU-së, kur jeni duke luajtur drejtpërdrejt, por lyp hapësirë shtesë në disk. - + Enable waveform caching Aktivizo ruajtje në fshehtinë të valëve - + Generate waveforms when analyzing library @@ -8179,7 +8463,7 @@ Select from different types of displays for the waveform, which differ primarily - + Type Lloj @@ -8199,22 +8483,68 @@ Select from different types of displays for the waveform, which differ primarily % - - Play marker position + + Play marker position + + + + + Moves the play marker position on the waveforms to the left, right or center (default). + + + + + Stem + + + + + Channel opacity + + + + + Channel opacity (outline) + + + + + Main stem opacity + + + + + Outline stem opacity + + + + + Move channel to foreground when volume is adjusted + + + + + Overview Waveforms - - Moves the play marker position on the waveforms to the left, right or center (default). + + Gain - - Overview Waveforms + + Normalize to peak + + + + + Use Waveform "Global" gain and ReplayGain (if enabled) + 'Global' refers to the 'Global' visual gain in the scrolling waveform settings - + Clear Cached Waveforms Spastro Valë Nga Fshehtina @@ -8706,7 +9036,7 @@ Kjo s’mund të zhbëhet! BPM: - + Location: Vendndodhje: @@ -8721,27 +9051,27 @@ Kjo s’mund të zhbëhet! Komente - + BPM BPM - + Sets the BPM to 75% of the current value. E vë BPM-në sa 75% e vlerës aktuale. - + 3/4 BPM 3/4 BPM - + Sets the BPM to 50% of the current value. E vë BPM-në sa 50% e vlerës aktuale. - + Displays the BPM of the selected track. Bën shfaqjen e BPM-së së pjesës së përzgjedhur. @@ -8796,49 +9126,49 @@ Kjo s’mund të zhbëhet! Zhanër - + ReplayGain: - + Sets the BPM to 200% of the current value. E vë BPM-në sa 200% e vlerës aktuale. - + Double BPM Dyfishoje BPM-në - + Halve BPM Përgjysmoje BPM -në - + Clear BPM and Beatgrid - + Move to the previous item. "Previous" button Kalo te objekti i mëparshëm. - + &Previous I &mëparshmi - + Move to the next item. "Next" button Kalo te objekti pasues. - + &Next &Pasuesi @@ -8863,12 +9193,12 @@ Kjo s’mund të zhbëhet! Ngjyrë - + Date added: Datë shtimi: - + Open in File Browser Hape në Shfletues Kartelash @@ -8878,102 +9208,107 @@ Kjo s’mund të zhbëhet! Shpejtësi kampionizimi: - + + Filesize: + + + + Track BPM: BPM Pjese: - + Converts beats detected by the analyzer into a fixed-tempo beatgrid. Use this setting if your tracks have a constant tempo (e.g. most electronic music). Often results in higher quality beatgrids, but will not do well on tracks that have tempo shifts. - + Assume constant tempo Merr të mirëqenë kohë konstante - + Sets the BPM to 66% of the current value. E vë BPM-në sa 66% e vlerës aktuale. - + 2/3 BPM 2/3 BPM - + Sets the BPM to 150% of the current value. E vë BPM-në sa 150% e vlerës aktuale. - + 3/2 BPM 3/2 BPM - + Sets the BPM to 133% of the current value. E vë BPM-në sa 133% e vlerës aktuale. - + 4/3 BPM 4/3 BPM - + Tap with the beat to set the BPM to the speed you are tapping. - + Tap to Beat - + Hint: Use the Library Analyze view to run BPM detection. Ndihmëz: Që të xhironi pikasje BPM-je, përdorni pamjen “Analizim Fonoteke”. - + Save changes and close the window. "OK" button Ruajini ndryshimet dhe mbyllni dritaren. - + &OK &OK - + Discard changes and close the window. "Cancel" button Hidhni tej ndryshimet dhe mbyllni dritaren. - + Save changes and keep the window open. "Apply" button Ruani ndryshimet dhe mbajeni dritaren hapur. - + &Apply &Aplikoje - + &Cancel Anu&loje - + (no color) (pa ngjyrë) @@ -9130,7 +9465,7 @@ Often results in higher quality beatgrids, but will not do well on tracks that h &OK - + (no color) (pa ngjyrë) @@ -9332,27 +9667,27 @@ Often results in higher quality beatgrids, but will not do well on tracks that h EngineBuffer - + Soundtouch (faster) - + Rubberband (better) - + Rubberband R3 (near-hi-fi quality) - + Unknown, using Rubberband (better) - + Unknown, using Soundtouch @@ -9567,15 +9902,15 @@ Often results in higher quality beatgrids, but will not do well on tracks that h LegacySkinParser - - + + Safe Mode Enabled Shown when Mixxx is running in safe mode. - - + + No OpenGL support. Shown when Spinny can not be displayed. Please keep @@ -9586,57 +9921,57 @@ Shown when VuMeter can not be displayed. Please keep - + activate - + toggle - + right - + left - + right small - + left small - + up - + down - + up small - + down small - + Shortcut Shkurtore @@ -9644,37 +9979,37 @@ Shown when VuMeter can not be displayed. Please keep Library - + This or a parent directory is already in your library. Kjo, ose një drejtori mëmë gjendet tashmë në fonotekën tuaj. - + This or a listed directory does not exist or is inaccessible. Aborting the operation to avoid library inconsistencies Kjo, ose një drejtori e paraqitur s’ekziston, ose s’kapet dot. Veprimi po ndërpritet, që të shmangen mospërputhje te fonoteka - - + + This directory can not be read. Kjo drejtori s’mund të lexohet. - + An unknown error occurred. Aborting the operation to avoid library inconsistencies Ndodhi një gabim i panjohur. Po ndërpritet veprimi, për të shmangur mospërputhje fonoteke - + Can't add Directory to Library S’shtohet dot Drejtori te Fonotekë - + Could not add <b>%1</b> to your library. %2 @@ -9683,27 +10018,27 @@ Po ndërpritet veprimi, për të shmangur mospërputhje fonoteke %2 - + Can't remove Directory from Library S’hiqet dot Drejtori nga Fonoteka - + An unknown error occurred. Ndodhi një gabim i panjohur. - + This directory does not exist or is inaccessible. Kjo drejtori s’ekziston, ose s’lejon hyrje. - + Relink Directory Rilidhe Drejtorinë - + Could not relink <b>%1</b> to <b>%2</b>. %3 @@ -9870,12 +10205,12 @@ Doni vërtet të mbishkruhet? Pjesë të Fshehura - + Export to Engine DJ - + Tracks Pjesë @@ -9883,37 +10218,37 @@ Doni vërtet të mbishkruhet? MixxxMainWindow - + Sound Device Busy Pajisje Zanore e Zënë - + <b>Retry</b> after closing the other application or reconnecting a sound device <b>Riprovoni</b> pas mbylljes së veprimit tjetër, ose rilidhni një pajisje zanore - - - + + + <b>Reconfigure</b> Mixxx's sound device settings. <b>Riformësoni</b> rregullime Mixxx-i pajisjeje zanore. - - + + Get <b>Help</b> from the Mixxx Wiki. Merrni <b>Ndihmë</b> që nga Wiki e Mixxx-it. - - - + + + <b>Exit</b> Mixxx. <b>Mbylleni</b> Mixxx-in. - + Retry Riprovo @@ -9923,212 +10258,212 @@ Doni vërtet të mbishkruhet? lëkurçe - + Allow Mixxx to hide the menu bar? Të lejohet Mixxx-i të fshehtë shtyllën e menuve? - + Hide Always show the menu bar? Fshihe - + Always show Shfaqe përherë - + The Mixxx menu bar is hidden and can be toggled with a single press of the <b>Alt</b> key.<br><br>Click <b>%1</b> to agree.<br><br>Click <b>%2</b> to disable that, for example if you don't use Mixxx with a keyboard.<br><br>You can change this setting any time in Preferences -> Interface.<br> Keep formatting tags <b> (bold text) and <br> (linebreak). %1 is the placeholder for the 'Always show' button label Shtylla e menuve të Mixxx-it është e fshehur dhe mund të shfaqet/fshihet me një shtypje të vetme të tastit <b>Alt</b>.<br><br>Që të pajtoheni, klikoni mbi <b>%1</b>.<br><br>Që ta çaktivizoni, klikoni mbi <b>%2</b>, nëse, për shembull, s’e përdorni Mixxx-in me tastierë.<br><br>Këtë rregullim mund ta ndryshoni kurdo që nga Parapëlqime -> Ndërfaqe.<br> - + Ask me again Pyetmë sërish - - + + Reconfigure Riformësoje - + Help Ndihmë - - + + Exit Mbylle - - + + Mixxx was unable to open all the configured sound devices. Mixxx-i s’qe në gjendje të hapë krejt pajisjet zanore të formësuara. - + Sound Device Error Gabim Pajisjeje Zanore - + <b>Retry</b> after fixing an issue <b>Riprovoni</b> pas ndreqjes së një problemi - + No Output Devices S’ka Pajisje Në Dalje - + Mixxx was configured without any output sound devices. Audio processing will be disabled without a configured output device. Mixxx-i qe dormësuar pa ndonjë pajisje zanore në dalje. Pa një pajisje në dalje të formësuar, përpunimi audio do të çaktivizohet. - + <b>Continue</b> without any outputs. <b>Vazhdo</b> pa ndonjë dalje. - + Continue Vazhdo - + Load track to Deck %1 - + Deck %1 is currently playing a track. - + Are you sure you want to load a new track? Jeni i sigurt se doni të ngarkohet një pjesë e re? - + There is no input device selected for this vinyl control. Please select an input device in the sound hardware preferences first. Për këtë kontroll vinili s’ka të përzgjedhur pajisje në hyrje. Ju lutemi, së pari përzgjidhni një pajisje në hyrje, që nga parapëlqimet për “hardware” tingujsh. - + There is no input device selected for this passthrough control. Please select an input device in the sound hardware preferences first. - + There is no input device selected for this microphone. Do you want to select an input device? Për këtë mikrofon s’është përzgjedhur ndonjë pajisje në hyrje. Doni të përzgjidhni një pajisje në hyrje? - + There is no input device selected for this auxiliary. Do you want to select an input device? Për këtë portë ndihmëse s’është përzgjedhur ndonjë pajisje në hyrje. Doni të përzgjidhni një pajisje në hyrje? - + Scan took %1 - + No changes detected. - - + + %1 tracks in total - + %1 new tracks found - + %1 moved tracks detected - + %1 tracks are missing (%2 total) - + %1 tracks have been rediscovered - + Library scan finished - + Error in skin file Gabim te kartelë lëkurçeje - + The selected skin cannot be loaded. Lëkurçja e përzgjedhur s’mund të ngarkohet. - + OpenGL Direct Rendering - + Direct rendering is not enabled on your machine.<br><br>This means that the waveform displays will be very<br><b>slow and may tax your CPU heavily</b>. Either update your<br>configuration to enable direct rendering, or disable<br>the waveform displays in the Mixxx preferences by selecting<br>"Empty" as the waveform display in the 'Interface' section. - - - + + + Confirm Exit Ripohoni Mbylljen - + A deck is currently playing. Exit Mixxx? - + A sampler is currently playing. Exit Mixxx? - + The preferences window is still open. Dritarja e parapëlqimeve është ende e hapur. - + Discard any changes and exit Mixxx? Të hidhen tej ndryshimet dhe të dilet nga Mixxx-i? @@ -10144,13 +10479,13 @@ Doni të përzgjidhni një pajisje në hyrje? PlaylistFeature - + Lock Kyçe - - + + Playlists Luajlista @@ -10160,58 +10495,63 @@ Doni të përzgjidhni një pajisje në hyrje? Shkartise Luajlistën - + + Adopt current order + + + + Unlock all playlists - + Delete all unlocked playlists - + Unlock Shkyçe - - + + Confirm Deletion - + Do you really want to delete all unlocked playlists? - + Deleting %1 unlocked playlists.<br>This operation can not be undone! - + Playlists are ordered lists of tracks that allow you to plan your DJ sets. Luajlistat janë lista të renditura pjesësh, që ju lejojnë të planifikoni seancat tuaja DJ. - + It may be necessary to skip some tracks in your prepared playlist or add some different tracks in order to maintain the energy of your audience. Që të mund të ruani energjinë e publikut tuaj, mund të jetë e nevojshme të anashkalohen ca pjesë te luajlista juaj e përgatitur, ose të shotni ca pjesë të tjera. - + Some DJs construct playlists before they perform live, but others prefer to build them on-the-fly. Disa DJ ndërtojnë luajlista para se të luajnë drejtpërsëdrejti, të tjerë parapëlqejnë t’i hartojnë ato aty në vend. - + When using a playlist during a live DJ set, remember to always pay close attention to how your audience reacts to the music you've chosen to play. Kur përdoret një luajlistë gjatë një seance DJ drejpërsëdrejti, mos harroni t’i kushtoni përherë vëmendje mënyrës se si reagon publiku juaj ndaj muzikës që keni zgjedhur të luani. - + Create New Playlist Krijo Luajlistë të Re @@ -10310,58 +10650,58 @@ Doni të përzgjidhni një pajisje në hyrje? QMessageBox - + Upgrading Mixxx - + Mixxx now supports displaying cover art. Do you want to scan your library for cover files now? - + Scan Skanoje - + Later Më vonë - + Upgrading Mixxx from v1.9.x/1.10.x. Po përmirësohet Mixxx-i nga v1.9.x/1.10.x. - + Mixxx has a new and improved beat detector. Mixxx-i ka një pikasës rrahjesh të ri dhe të përmirësuar. - + When you load tracks, Mixxx can re-analyze them and generate new, more accurate beatgrids. This will make automatic beatsync and looping more reliable. - + This does not affect saved cues, hotcues, playlists, or crates. - + If you do not want Mixxx to re-analyze your tracks, choose "Keep Current Beatgrids". You can change this setting at any time from the "Beat Detection" section of the Preferences. - + Keep Current Beatgrids - + Generate New Beatgrids @@ -10475,69 +10815,82 @@ Do you want to scan your library for cover files now? - + Main + Audio path indetifier - + Booth + Audio path indetifier - + Headphones + Audio path indetifier - + Left Bus + Audio path indetifier - + Center Bus + Audio path indetifier - + Right Bus + Audio path indetifier - + Invalid Bus + Audio path indetifier - + Deck + Audio path indetifier - + Record/Broadcast + Audio path indetifier - + Vinyl Control + Audio path indetifier - + Microphone + Audio path indetifier - + Auxiliary + Audio path indetifier - + Unknown path type %1 + Audio path @@ -10866,47 +11219,49 @@ With width at zero, this allows for manually sweeping over the entire delay rang - + Metronome - + + The Mixxx Team - + Adds a metronome click sound to the stream - + BPM BPM - + Set the beats per minute value of the click sound - + Sync - + Synchronizes the BPM with the track if it can be retrieved - + + Gain - + Set the gain of metronome click sound @@ -11690,14 +12045,14 @@ Fully right: end of the effect period - - + + encoder failure - - + + Failed to apply the selected settings. @@ -11903,15 +12258,86 @@ and the processed output signal as close as possible in perceived loudness + + Auto Gain Control + + + + + AGC + + + + + Auto Gain Control (AGC) automatically adjusts the gain of an audio signal to maintain a consistent output level. + + + + Threshold (dBFS) + Threshold + + + The Threshold knob adjusts the level above which the effect starts enhancing the input signal + + + + + Target (dBFS) + + + + + Target + + + + + The Target knob adjusts the desired target level of the output signal + + + + + Gain (dB) + + + + + The Gain knob adjusts the maximum amount of gain that the effect will apply + + + + + Knee (dB) + + + + + The Knee knob defines the range around the Threshold where gain changes are applied gradually, +ensuring smooth transitions and avoiding abrupt level shifts. + + + + + The Attack knob sets the time that determines how fast the auto gain +will set in once the signal exceeds the threshold + + + + + The Release knob sets the time that determines how fast the auto gain will recover from the gain +adjustment once the signal falls under the threshold. Depending on the input signal, short release times +may introduce a 'pumping' effect and/or distortion. + + The Threshold knob adjusts the level above which the compressor starts attenuating the input signal @@ -11940,6 +12366,7 @@ At a ratio of 1:1 no compression is happening, as the input is exactly the outpu + Knee @@ -11950,11 +12377,13 @@ At a ratio of 1:1 no compression is happening, as the input is exactly the outpu + Attack (ms) + Attack @@ -11966,11 +12395,13 @@ will set in once the signal exceeds the threshold + Release (ms) + Release @@ -11999,12 +12430,12 @@ may introduce a 'pumping' effect and/or distortion. - + built-in - + missing @@ -12039,42 +12470,42 @@ may introduce a 'pumping' effect and/or distortion. - + Empty - + Simple - + Filtered - + HSV - + VSyncTest - + RGB - + Stacked - + Unknown @@ -12335,193 +12766,193 @@ may introduce a 'pumping' effect and/or distortion. ShoutConnection - - + + Mixxx encountered a problem Mixxx-i hasi një problem - + Could not allocate shout_t - + Could not allocate shout_metadata_t - + Error setting non-blocking mode: - + Error setting tls mode: Gabim në ujdisje mënyre tls: - + Error setting hostname! Gabim në caktim strehëemri! - + Error setting port! Gabim në caktim porte! - + Error setting password! Gabim në caktim fjalëkalimi! - + Error setting mount! - + Error setting username! Gabim në caktim emri përdoruesi! - + Error setting stream name! Gabim në caktim emri rrjedhe! - + Error setting stream description! Gabim në caktim përshkrim rrjedhe! - + Error setting stream genre! Gabim në caktim zhanri rrjedhe! - + Error setting stream url! Gabim në caktim URL-je rrjedhe! - + Error setting stream IRC! - + Error setting stream AIM! - + Error setting stream ICQ! - + Error setting stream public! - + Unknown stream encoding format! Format i panjohur kodimi rrjedhe! - + Use a libshout version with %1 enabled - + Error setting stream encoding format! - + Broadcasting at 96 kHz with Ogg Vorbis is not currently supported. Please try a different sample rate or switch to a different encoding. Transmetimi në 96 kHz me Ogg Vorbis aktualisht s’mbulohet. Ju lutemi, provoni një shpejtësi tjetër kampionizimi, ose kaloni në tjetër kodim. - + See https://github.com/mixxxdj/mixxx/issues/5701 for more information. Për më tepër hollësi, shihni https://github.com/mixxxdj/mixxx/issues/5701. - + Unsupported sample rate Shpejtësi kampionizimi e pambuluar - + Error setting bitrate - + Error: unknown server protocol! Gabim: protokoll i panjohur shërbyesi! - + Error: Shoutcast only supports MP3 and AAC encoders Gabim: Shoutcast-i mbulon vetëm kodues MP3 dhe AAC - + Error setting protocol! Gabim në caktim protokolli! - + Network cache overflow - + Connection error Gabim lidhjeje - + One of the Live Broadcasting connections raised this error:<br><b>Error with connection '%1':</b><br> Një nga lidhjet për Transmetim të Drejtpërdrejtë paraqiti këtë gabim:<br><b>Gabim me lidhjen '%1':</b><br> - + Connection message Mesazh lidhjeje - + <b>Message from Live Broadcasting connection '%1':</b><br> <b>Mesazh nga lidhja e Transmetimit të Drejtpërdrejtë '%1':</b><br> - + Lost connection to streaming server and %1 attempts to reconnect have failed. Humbi lidhja me shërbyesin e transmetimit dhe %1 prova për rilidhje dështuan. - + Lost connection to streaming server. Humbi lidhja me shërbyesin e transmetimit. - + Please check your connection to the Internet. Ju lutemi, kontrolloni lidhjen tuaj me Internetin. - + Can't connect to streaming server S’lidhet dot te shërbyesi i transmetimeve - + Please check your connection to the Internet and verify that your username and password are correct. Ju lutemi, kontrolloni lidhjen tuaj me Internetin. dhe verifikoni se emri juaj i përdoruesi dhe fjalëkalimi janë të saktë. @@ -12529,7 +12960,7 @@ may introduce a 'pumping' effect and/or distortion. SoftwareWaveformWidget - + Filtered @@ -12537,23 +12968,23 @@ may introduce a 'pumping' effect and/or distortion. SoundManager - - + + a device një pajisje - + An unknown error occurred Ndodhi një gabim i panjohur - + Two outputs cannot share channels on "%1" - + Error opening "%1" Gabim në hapjen e “%1” @@ -12738,7 +13169,7 @@ may introduce a 'pumping' effect and/or distortion. - + Spinning Vinyl Vinil Që Rrotullohet @@ -12920,7 +13351,7 @@ may introduce a 'pumping' effect and/or distortion. - + Cover Art Art Kopertine @@ -13110,243 +13541,243 @@ may introduce a 'pumping' effect and/or distortion. - + Displays the tempo of the loaded track in BPM (beats per minute). - + Tempo Kohë - + Key The musical key of a track Çelës - + BPM Tap - + When tapped repeatedly, adjusts the BPM to match the tapped BPM. - + Adjust BPM Down - + When tapped, adjusts the average BPM down by a small amount. - + Adjust BPM Up - + When tapped, adjusts the average BPM up by a small amount. - + Adjust Beats Earlier - + When tapped, moves the beatgrid left by a small amount. - + Adjust Beats Later - + When tapped, moves the beatgrid right by a small amount. - + Tempo and BPM Tap - + Show/hide the spinning vinyl section. Shfaq/fshih pjesën e vinilit që rrotullohet. - + Keylock - + Toggling keylock during playback may result in a momentary audio glitch. - + Toggle visibility of Loop Controls - + Toggle visibility of Beatjump Controls - + Toggle visibility of Rate Control - + Toggle visibility of Key Controls - + (while previewing) - + Places a cue point at the current position on the waveform. - + Stops track at cue point, OR go to cue point and play after release (CUP mode). - + Set cue point (Pioneer/Mixxx/Numark mode), set cue point and play after release (CUP mode) OR preview from it (Denon mode). - + Is latching the playing state. - + Seeks the track to the cue point and stops. - + Play Luaje - + Plays track from the cue point. - + Sends the selected channel's audio to the headphone output, selected in Preferences -> Sound Hardware. Dërgonn te dalja për kufjet audion e kanalit të përzgjedhur, përzgjedhur te Parapëlqime -> Hardware Tingujsh. - + (This skin should be updated to use Sync Lock!) - + Enable Sync Lock - + Tap to sync the tempo to other playing tracks or the sync leader. - + Enable Sync Leader - + When enabled, this device will serve as the sync leader for all other decks. - + This is relevant when a dynamic tempo track is loaded to a sync leader deck.In that case, other synced devices will adopt the changing tempo. - + Changes the track playback speed (affects both the tempo and the pitch). If keylock is enabled, only the tempo is affected. - + Tempo Range Display - + Displays the current range of the tempo slider. - + Un-ejects when no track is loaded, i.e. reloads the track that was ejected last (of any deck). - + Delete selected hotcue. - + Track Comment Koment Pjese - + Displays the comment tag of the loaded track. Bën shfaqjen e etiketës komente të pjesës së ngarkuar. - + Opens separate artwork viewer. Bën hapjen e një parësi të jashtëm kopertinash. - + Effect Chain Preset Settings - + Show the effect chain settings menu for this unit. - + Select and configure a hardware device for this input Përzgjidhni dhe formësoni një pajisje “hardware” për këtë hyrje - + Recording Duration Kohëzgjatje Incizimi @@ -13569,947 +14000,982 @@ may introduce a 'pumping' effect and/or distortion. - + When tapped repeatedly, adjusts the tempo to match the tapped BPM. + + + Click to open the tempo/BPM editor + + + + + It also shows a colored bar if Key colors are enabled in the Preferences. + + + The bar will be split vertically if the track's key is in between full keys. + + + + Tempo Tap - + Rate Tap and BPM Tap - + + Set Tempo + + + + + Set the desired tempo in BPM. If the track currently has no BPM detected, set the desired tempo in percent. + + + + Adjust beatgrid by exactly one half beat. Usable only on tracks with constant tempo. - + Revert last BPM/Beatgrid Change - + Revert last BPM/Beatgrid Change of the loaded track. - - + + Toggle the BPM/beatgrid lock - + Tempo and Rate Tap - + Tempo, Rate Tap and BPM Tap - + Shift cues earlier - - + + Shift cues imported from Serato or Rekordbox if they are slightly off time. - + Left click: shift 10 milliseconds earlier - + Right click: shift 1 millisecond earlier - + Shift cues later - + Left click: shift 10 milliseconds later - + Right click: shift 1 millisecond later - - - + + + Drag a Hotcue button here to continue playing after releasing the Hotcue. - + Hint: Change the default cue mode in Preferences -> Decks. - + Mutes the selected channel's audio in the main output. - + Main mix enable - + Hold or short click for latching to mix this input into the main output. - + + Reloads the last replaced track. If no track is loaded reloads the second-last ejected track. + + + + If hotcue is a loop cue, toggles the loop and jumps to if the loop is behind the play position. - + If the play position is inside an active loop, stores the loop as loop cue. - + Drag this button onto another Hotcue button to move it there (change its index). If the other hotcue is set, the two are swapped. - + Expand/Collapse Samplers - + Toggle expanded samplers view. - + Displays the duration of the running recording. - + Auto DJ is active - + Red for when needle skip has been detected. - + Hot Cue - Track will seek to nearest previous hotcue point. - + Sets the track Loop-In Marker to the current play position. - + Press and hold to move Loop-In Marker. - + Jump to Loop-In Marker. - + Sets the track Loop-Out Marker to the current play position. - + Press and hold to move Loop-Out Marker. - + Jump to Loop-Out Marker. - + If the track has no beats the unit is seconds. - + Beatloop Size - + Select the size of the loop in beats to set with the Beatloop button. - + Changing this resizes the loop if the loop already matches this size. - + Halve the size of an existing beatloop, or halve the size of the next beatloop set with the Beatloop button. - + Double the size of an existing beatloop, or double the size of the next beatloop set with the Beatloop button. - + Start a loop over the set number of beats. - + Temporarily enable a rolling loop over the set number of beats. - + Beatloop Anchor - + Define whether the loop is created and adjusted from its staring point or ending point. - + Beatjump/Loop Move Size - + Select the number of beats to jump or move the loop with the Beatjump Forward/Backward buttons. - + Beatjump Forward - + Jump forward by the set number of beats. - + Move the loop forward by the set number of beats. - + Jump forward by 1 beat. - + Move the loop forward by 1 beat. - + Beatjump Backward - + Jump backward by the set number of beats. - + Move the loop backward by the set number of beats. - + Jump backward by 1 beat. - + Move the loop backward by 1 beat. - + Reloop - + If the loop is ahead of the current position, looping will start when the loop is reached. - + Works only if Loop-In and Loop-Out Marker are set. - + Enable loop, jump to Loop-In Marker, and stop playback. - + Displays the elapsed and/or remaining time of the track loaded. - + Click to toggle between time elapsed/remaining time/both. - + Hint: Change the time format in Preferences -> Decks. - + Show/hide intro & outro markers and associated buttons. - + + Ensure all waveforms to have the same height across all channels. By default, when displaying the stem controls, waveform for channel that have no stem may render with a shorter height in order to honor the waveform container size you have requested.. + + + + Intro Start Marker - - - - + + + + If marker is set, jumps to the marker. - - - - + + + + If marker is not set, sets the marker to the current play position. - - - - + + + + If marker is set, clears the marker. - + Intro End Marker - + Outro Start Marker - + Outro End Marker - + Mix - + Adjust the mixing of the dry (input) signal with the wet (output) signal of the effect unit - + D/W mode: Crossfade between dry and wet - + D+W mode: Add wet to dry - + Mix Mode - + Adjust how the dry (input) signal is mixed with the wet (output) signal of the effect unit - + Dry/Wet mode (crossed lines): Mix knob crossfades between dry and wet Use this to change the sound of the track with EQ and filter effects. - + Dry+Wet mode (flat dry line): Mix knob adds wet to dry Use this to change only the effected (wet) signal with EQ and filter effects. - + Route the main mix through this effect unit. - + Route the left crossfader bus through this effect unit. - + Route the right crossfader bus through this effect unit. - + Right side active: parameter moves with right half of Meta Knob turn - + Stem Label - + Name of the stem stored in the stem file - + Text is displayed in the stem color stored in the stem file - + this stem color is also used for the waveform of this stem - + Stem Mute - + Toggle the stem mute/unmuted - + Stem Volume Knob - + Adjusts the volume of the stem - + Skin Settings Menu - + Show/hide skin settings menu - + Save Sampler Bank - + Save the collection of samples loaded in the samplers. - + Load Sampler Bank - + Load a previously saved collection of samples into the samplers. - + Show Effect Parameters - + Enable Effect - + Meta Knob Link - + Set how this parameter is linked to the effect's Meta Knob. - + Meta Knob Link Inversion - + Inverts the direction this parameter moves when turning the effect's Meta Knob. - + Super Knob - + Next Chain - + Previous Chain - + Next/Previous Chain - + Clear - + Clear the current effect. - + Toggle - + Toggle the current effect. - + Next - + Clear Unit - + Clear effect unit. - + Show/hide parameters for effects in this unit. - + Toggle Unit - + Enable or disable this whole effect unit. - + Controls the Meta Knob of all effects in this unit together. - + Load next effect chain preset into this effect unit. - + Load previous effect chain preset into this effect unit. - + Load next or previous effect chain preset into this effect unit. - - - - - - - - - + + + + + + + + + Assign Effect Unit - + Assign this effect unit to the channel output. - + Route the headphone channel through this effect unit. - + Route this deck through the indicated effect unit. - + Route this sampler through the indicated effect unit. - + Route this microphone through the indicated effect unit. - + Route this auxiliary input through the indicated effect unit. - + The effect unit must also be assigned to a deck or other sound source to hear the effect. - + Switch to the next effect. - + Previous - + Switch to the previous effect. - + Next or Previous - + Switch to either the next or previous effect. - + Meta Knob - + Controls linked parameters of this effect - + Effect Focus Button - + Focuses this effect. - + Unfocuses this effect. - + Refer to the web page on the Mixxx wiki for your controller for more information. - + Effect Parameter - + Adjusts a parameter of the effect. - + Inactive: parameter not linked - + Active: parameter moves with Meta Knob - + Left side active: parameter moves with left half of Meta Knob turn - + Left and right side active: parameter moves across range with half of Meta Knob turn and back with the other half - - + + Equalizer Parameter Kill - - + + Holds the gain of the EQ to zero while active. - + Quick Effect Super Knob - + Quick Effect Super Knob (control linked effect parameters). - + Hint: Change the default Quick Effect mode in Preferences -> Equalizers. - + Equalizer Parameter - + Adjusts the gain of the EQ filter. - + Hint: Change the default EQ mode in Preferences -> Equalizers. - - + + Adjust Beatgrid - + Adjust beatgrid so the closest beat is aligned with the current play position. - - + + Adjust beatgrid to match another playing deck. - + If quantize is enabled, snaps to the nearest beat. - + Quantize - + Toggles quantization. - + Loops and cues snap to the nearest beat when quantization is enabled. - + Reverse - + Reverses track playback during regular playback. - + Puts a track into reverse while being held (Censor). - + Playback continues where the track would have been if it had not been temporarily reversed. - - - + + + Play/Pause - + Jumps to the beginning of the track. - + Syncs the tempo (BPM) and phase to that of the other track, if BPM is detected on both. - + Syncs the tempo (BPM) to that of the other track, if BPM is detected on both. - + Sync and Reset Key - + Increases the pitch by one semitone. - + Decreases the pitch by one semitone. - + Enable Vinyl Control - + When disabled, the track is controlled by Mixxx playback controls. - + When enabled, the track responds to external vinyl control. - + Enable Passthrough - + Indicates that the audio buffer is too small to do all audio processing. - + Displays cover artwork of the loaded track. - + Displays options for editing cover artwork. - + Star Rating - + Assign ratings to individual tracks by clicking the stars. @@ -14644,33 +15110,33 @@ Use this to change only the effected (wet) signal with EQ and filter effects. - + Prevents the pitch from changing when the rate changes. - + Changes the number of hotcue buttons displayed in the deck - + Starts playing from the beginning of the track. - + Jumps to the beginning of the track and stops. - - + + Plays or pauses the track. - + (while playing) @@ -14690,215 +15156,215 @@ Use this to change only the effected (wet) signal with EQ and filter effects. - + (while stopped) - + Cue - + Headphone - + Mute - + Old Synchronize - + Syncs to the first deck (in numerical order) that is playing a track and has a BPM. - + If no deck is playing, syncs to the first deck that has a BPM. - + Decks can't sync to samplers and samplers can only sync to decks. - + Hold for at least a second to enable sync lock for this deck. - + Decks with sync locked will all play at the same tempo, and decks that also have quantize enabled will always have their beats lined up. - + Resets the key to the original track key. - + Speed Control - - - + + + Changes the track pitch independent of the tempo. - + Increases the pitch by 10 cents. - + Decreases the pitch by 10 cents. - + Pitch Adjust - + Adjust the pitch in addition to the speed slider pitch. - + Opens a menu to clear hotcues or edit their labels and colors. - + Drag this button onto a Play button while previewing to continue playback after release. - + Dragging with Shift key pressed will not start previewing the hotcue. - + Record Mix - + Toggle mix recording. - + Enable Live Broadcasting - + Stream your mix over the Internet. - + Provides visual feedback for Live Broadcasting status: - + disabled, connecting, connected, failure. - + When enabled, the deck directly plays the audio arriving on the vinyl input. - + Playback will resume where the track would have been if it had not entered the loop. - + Loop Exit - + Turns the current loop off. - + Slip Mode - + When active, the playback continues muted in the background during a loop, reverse, scratch etc. - + Once disabled, the audible playback will resume where the track would have been. - + Track Key The musical key of a track - + Displays the musical key of the loaded track. - + Clock - + Displays the current time. - + Audio Latency Usage Meter - + Displays the fraction of latency used for audio processing. - + A high value indicates that audible glitches are likely. - + Do not enable keylock, effects or additional decks in this situation. - + Audio Latency Overload Indicator @@ -14938,259 +15404,259 @@ Use this to change only the effected (wet) signal with EQ and filter effects. - + Displays the current musical key of the loaded track after pitch shifting. - + Fast Rewind - + Fast rewind through the track. - + Fast Forward - + Fast forward through the track. - + Jumps to the end of the track. - + Sets the pitch to a key that allows a harmonic transition from the other track. Requires a detected key on both involved decks. - - - + + + Pitch Control - + Pitch Rate - + Displays the current playback rate of the track. - + Repeat - + When active the track will repeat if you go past the end or reverse before the start. - + Eject - + Ejects track from the player. - + Hotcue - + If hotcue is set, jumps to the hotcue. - + If hotcue is not set, sets the hotcue to the current play position. - + Vinyl Control Mode - + Absolute mode - track position equals needle position and speed. - + Relative mode - track speed equals needle speed regardless of needle position. - + Constant mode - track speed equals last known-steady speed regardless of needle input. - + Vinyl Status - + Provides visual feedback for vinyl control status: - + Green for control enabled. - + Blinking yellow for when the needle reaches the end of the record. - + Loop-In Marker - + Loop-Out Marker - + Loop Halve - + Halves the current loop's length by moving the end marker. - + Deck immediately loops if past the new endpoint. - + Loop Double - + Doubles the current loop's length by moving the end marker. - + Beatloop - + Toggles the current loop on or off. - + Works only if Loop-In and Loop-Out marker are set. - + Vinyl Cueing Mode - + Determines how cue points are treated in vinyl control Relative mode: - + Off - Cue points ignored. - + One Cue - If needle is dropped after the cue point, track will seek to that cue point. - + Track Time - + Track Duration - + Displays the duration of the loaded track. - + Information is loaded from the track's metadata tags. - + Track Artist - + Displays the artist of the loaded track. - + Track Title - + Displays the title of the loaded track. - + Track Album - + Displays the album name of the loaded track. - + Track Artist/Title - + Displays the artist and title of the loaded track. @@ -15421,47 +15887,75 @@ Kjo s’mund të zhbëhet! WCueMenuPopup - + Cue number - + Cue position - + Edit cue label - + Label... - + Delete this cue - - Toggle this cue type between normal cue and saved loop + + Turn this cue into a regular hotcue + + + + + Turn this cue into a saved loop + + + + + Left-click: Use the old size if known or the current beatloop size as the loop size + + + + + Right-click: Use the current play position as new loop end if it is after the cue + + + + + Turn this cue into a saved forward jump. + + is a linebreak. Try to not to extend the translation beyond the length of the longest source line so the tooltip remains compact. + + + + + Turn this cue into a saved backward jump (one shot loop). - - Left-click: Use the old size or the current beatloop size as the loop size + + Left-click: Use the old size if known or the current play position as jump start position +If this is already a jump cue, swap the jump position and the cue/target position. - - Right-click: Use the current play position as loop end if it is after the cue + + Right-click: use current play position as new jump start position - + Hotcue #%1 @@ -15763,171 +16257,181 @@ Kjo s’mund të zhbëhet! + Show Auto DJ + + + + + Switch to the Auto DJ view. + + + + &Full Screen Sa &Krejt Ekrani - + Display Mixxx using the full screen Shfaqeni Mixxx-in duke përdorur krejt ekranin - + &Options &Mundësi - + &Vinyl Control &Kontroll Vinili - + Use timecoded vinyls on external turntables to control Mixxx - + Enable Vinyl Control &%1 Aktivizo Kontroll Vinili &%1 - + &Record Mix &Incizoni Përzierjen - + Record your mix to a file Incizojeni në një kartelë përzierjen tuaj - + Ctrl+R Ctrl+R - + Enable Live &Broadcasting Aktivizo T&ransmetim të Drejtpërdrejtë - + Stream your mixes to a shoutcast or icecast server Transmetojini përzierjet tuaja te një shërbyes Shoutcast ose Icecast - + Ctrl+L Ctrl+L - + Enable &Keyboard Shortcuts Aktivizo Shkurtore &Tastiere - + Toggles keyboard shortcuts on or off Aktivizoni ose çaktivizoni shkurtore tastiere - + Ctrl+` Ctrl+` - + &Preferences &Parapëlqime - + Change Mixxx settings (e.g. playback, MIDI, controls) Ndryshoni rregullimet e Mixxx-it (p.sh., për luajtjen, MIDI, kontrolle) - + &Developer &Zhvillues - + &Reload Skin &Ringarko Lëkurçe - + Reload the skin Ringarkoni lëkurçen - + Ctrl+Shift+R Ctrl+Shift+R - + Developer &Tools &Mjete Zhvilluesi - + Opens the developer tools dialog Bën hapjen e dialogut të mjeteve të zhvilluesit - + Ctrl+Shift+T Ctrl+Shift+T - + Stats: &Experiment Bucket - + Enables experiment mode. Collects stats in the EXPERIMENT tracking bucket. - + Ctrl+Shift+E Ctrl+Shift+E - + Stats: &Base Bucket - + Enables base mode. Collects stats in the BASE tracking bucket. - + Ctrl+Shift+B Ctrl+Shift+B - + Deb&ugger Enabled &Diagnostikues i Aktivizuar - + Enables the debugger during skin parsing Aktivizon diagnostikuesin gjatë analizimit të lëkurçes - + Ctrl+Shift+D Ctrl+Shift+D - + &Help &Ndihmë @@ -15961,62 +16465,62 @@ Kjo s’mund të zhbëhet! F12 - + &Community Support &Asistencë Nga Bashkësia - + Get help with Mixxx Merrni ndihmë për Mixxx-in - + &User Manual &Doracak Përdoruesi - + Read the Mixxx user manual. Lexoni doracakun e përdoruesit të Mixxx-it. - + &Keyboard Shortcuts Sh&kurtore Tastiere - + Speed up your workflow with keyboard shortcuts. Shpejtoni rrjedhën tuaj të punës përmes shkurtoresh tastiere. - + &Settings directory Drejtori &rregullimesh - + Open the Mixxx user settings directory. Hapni drejtorinë e rregullimeve të përdoruesit të Mixxx-it. - + &Translate This Application &Përktheni Këtë Aplikacion - + Help translate this application into your language. Ndihmoni të përkthehet ky aplikacion në gjuhën tuaj. - + &About &Mbi - + About the application Mbi aplikacionin @@ -16024,25 +16528,25 @@ Kjo s’mund të zhbëhet! WOverview - + Passthrough - + Ready to play, analyzing... Text on waveform overview when file is playable but no waveform is visible Gati për luajtje, po analizohet… - - + + Loading track... Text on waveform overview when file is cached from source Po ngarkohet pjesë… - + Finalizing... Text on waveform overview during finalizing of waveform analysis Po përfundohet… @@ -16232,625 +16736,640 @@ Kjo s’mund të zhbëhet! WTrackMenu - + Load to Nagrkoje te - + Deck - + Sampler - + Add to Playlist Shtoje te Luajlistë - + Crates Arka - + Metadata Tejtëdhëna - + Update external collections Përditëso koleksione të jashtëm - + Cover Art Art Kopertine - + Adjust BPM Përimto BPM-në - + Select Color Përzgjidhni Ngjyrë - - + + Analyze Analizo - - + + Delete Track Files Fshi Kartela Pjesësh - + Add to Auto DJ Queue (bottom) Shtoje te Radhë Auto DJ-i (në fund) - + Add to Auto DJ Queue (top) Shtoje te Radhë Auto DJ-i (në krye) - + Add to Auto DJ Queue (replace) Shtoje te Radhë Auto DJ-i (zëvendësoje) - + Preview Deck - + Remove Hiqe - + Remove from Playlist Hiqe nga Luajlistë - + Remove from Crate Hiqe nga Arkë - + Hide from Library Hiqe nga Fonotekë - + Unhide from Library Hiqi Fshehjen në Fonotekë - + Purge from Library Spastroje nga Fonoteka - + Move Track File(s) to Trash Shpjer Kartelë(a) Pjese(ësh) te Hedhurina - + Delete Files from Disk Fshiji Kartelat nga Disku - + Properties Veti - + Open in File Browser Hape në Shfletues Kartelash - + Select in Library Përzgjidhni në Fonotekë - + Import From File Tags Importo Nga Etiketa Kartelash - + Import From MusicBrainz Importo Nga MusicBrainz - + Export To File Tags Eksporto Te Etiketa Kartelash - + BPM and Beatgrid - + Play Count Numër Luajtjesh - + Rating Vlerësim - + Cue Point - - + + Hotcues Shenjat e Shpejta - + Intro - + Outro - + Key Çelës - + ReplayGain ReplayGain - + Waveform Valë - + Comment Koment - + All Krejt - + Sort hotcues by position (remove offsets) - + Sort hotcues by position - + Lock BPM Kyçe BPM-në - + Unlock BPM Shkyçe BPM-në - + Double BPM Dyfishoje BPM-në - + Halve BPM Përgjysmoje BPM -në - + 2/3 BPM 2/3 BPM - + 3/4 BPM 3/4 BPM - + 4/3 BPM 4/3 BPM - + 3/2 BPM 3/2 BPM - + Shift Beatgrid Half Beat - + Reanalyze Rianalizoje - + Reanalyze (constant BPM) Rianalizoje (BPM konstante) - + Reanalyze (variable BPM) Rianalizoje (BPM e ndryshueshme) - + Update ReplayGain from Deck Gain - + Deck %1 Kuverta %1 - + Importing metadata of %n track(s) from file tags Po importohen tejtëdhëna të %n pjese nga etiketa kartelePo importohen tejtëdhëna të %n pjesëve nga etiketa kartele - + Marking metadata of %n track(s) to be exported into file tags Po u vihet shenjë tejtëdhënave të %n pjese, që të eksportohen në etiketa kartelePo u vihet shenjë tejtëdhënave të %n pjesëve, që të eksportohen në etiketa kartele - - + + Create New Playlist Krijo Luajlistë të Re - + Enter name for new playlist: Jepni emër për luajlistë të re: - + New Playlist Luajlistë e Re - - - + + + Playlist Creation Failed Krijimi i Luajlistës Dështoi - + A playlist by that name already exists. Ka tashmë një luajlistë me atë emër. - + A playlist cannot have a blank name. Një luajlistë s’mund të ketë emër të zbrazët. - + An unknown error occurred while creating playlist: Ndodhi një gabim i panjohur teksa krijohej luajlista: - + Add to New Crate Shtoje në Arkë të Re - + Scaling BPM of %n track(s) - + Undo BPM/beats change of %n track(s) - + Locking BPM of %n track(s) Po kyçet BPM-ja e %n pjesePo kyçen BPM-të e %n pjesëve - + Unlocking BPM of %n track(s) Po shkyçet BPM-ja e %n pjesePo shkyçen BPM-të e %n pjesëve - + Setting rating of %n track(s) Po vihet vlerësim i %n pjesePo vihen vlerësime të %n pjesëve - + Setting color of %n track(s) Po caktohet ngjyrë e %n pjesePo caktohet ngjyrë e %n pjesëve - + Resetting play count of %n track(s) Po zerohet numër luajtjesh e %n pjesePo zerohet numër luajtjesh e %n pjesëve - + Resetting beats of %n track(s) - + Clearing rating of %n track(s) Po hiqet vlerësim i %n pjesePo hiqen vlerësime të %n pjesëve - + Clearing comment of %n track(s) Po spastrohet koment i %n pjesePo spastrohen komente të %n pjesëve - + Removing main cue from %n track(s) - + Removing outro cue from %n track(s) - + Removing intro cue from %n track(s) - + Removing loop cues from %n track(s) - + Removing hot cues from %n track(s) - + Sorting hotcues of %n track(s) by position (remove offsets) - + Sorting hotcues of %n track(s) by position - + Resetting keys of %n track(s) - + Resetting replay gain of %n track(s) - + Resetting waveform of %n track(s) - + Resetting all performance metadata of %n track(s) - + Move these files to the trash bin? Të shpihen këto kartela te koshi i hedhurnave? - + Permanently delete these files from disk? Të fshihen përgjithnjë te disku këto kartela? - - + + This can not be undone! Kjo s’mund të zhbëhet! - + Cancel Anuloje - + Delete Files Fshiji Kartelat - + Okay OK - + Move Track File(s) to Trash? Të Shpihet te Hedhurina Kartela e Pjesës? - + Track Files Deleted U Fshinë Kartela Pjesësh - + Track Files Moved To Trash U Shpunë Te Hedhurina Kartela Pjesësh - + %1 track files were moved to trash and purged from the Mixxx database. U shpu te hedhurinat dhe u spastrua nga baza e të dhënave të Mixxx-it %1 kartelë pjese. - + %1 track files were deleted from disk and purged from the Mixxx database. U fshi nga disku dhe u spastrua nga baza e të dhënave të Mixxx-it %1 kartelë pjese. - + Track File Deleted U Fshi Kartelë Pjesësh - + Track file was deleted from disk and purged from the Mixxx database. U fshi nga disku dhe u spastrua nga baza e të dhënave të Mixxx-it kartelë pjese. - + The following %1 file(s) could not be deleted from disk S’u fshi dot nga disku %1 kartelë vijuese - + This track file could not be deleted from disk Kjo kartelë pjesësh s’u fshi dot nga disku - + Remaining Track File(s) Kartelë Pjese e Mbetur - + Close Mbylle - + Clear Reset metadata in right click track context menu in library Spastroji - + Loops - + Clear BPM and Beatgrid - + Undo last BPM/beats change - + Move this track file to the trash bin? Të shpihet kjo kartelë pjese te koshi i hedhurinave? - + Permanently delete this track file from disk? Të fshihet përgjithnjë te disku kjo kartelë pjese? - + All decks where these tracks are loaded will be stopped and the tracks will be ejected. - + All decks where this track is loaded will be stopped and the track will be ejected. - + Removing %n track file(s) from disk... Po hiqet nga disku %n kartelë pjese… - + Note: if you are in the Computer or Recording view you need to click the current view again to see changes. Shënim: nëse gjendeni nën pamjen Kompjuter, ose Incizim, duhet të klikoni sërish pamjen aktuale që të shihni ndryshimet. - + Track File Moved To Trash U Shpu Te Hedhurina Kartelë Pjese - + Track file was moved to trash and purged from the Mixxx database. U shpu te hedhurinat dhe u spastrua nga baza e të dhënave të Mixxx-it kartelë pjese. - + Don't show again during this session Mos e shfaq sërish gjatë këtij sesioni - + The following %1 file(s) could not be moved to trash S’u shpu dot te hedhurinat %1 kartelë vijuese - + This track file could not be moved to trash Kjo kartelë pjesësh s’u shou dot te hedhurinat + + + Replace current Auto DJ queue? + + + + + Do you want to replace the entire Auto DJ queue with the selected tracks? + + + + + Don't ask again during this session + + - + Setting cover art of %n track(s) Po ujdiset kopertinë e %n pjesePo ujdisen kopertinat e %n pjesëve - + Reloading cover art of %n track(s) Po ringarkohet kopertinë e %n pjesePo ringarkohen kopertina të %n pjesëve @@ -16904,37 +17423,37 @@ Kjo s’mund të zhbëhet! WTrackTableView - + Confirm track hide Ripohoni fshehje pjese - + Are you sure you want to hide the selected tracks? Jeni i sigurt se doni të kalohen të fshehura pjesët e përzgjedhura? - + Are you sure you want to remove the selected tracks from AutoDJ queue? Jeni i sigurt se doni të hiqen pjesët e përzgjedhura nga radha për AutoDJ? - + Are you sure you want to remove the selected tracks from this crate? Jeni i sigurt se doni të hiqen pjesët e përzgjedhura nga kjo arkë? - + Are you sure you want to remove the selected tracks from this playlist? Jeni i sigurt se doni të hiqen pjesët e përzgjedhura nga kjo luajlistë? - + Don't ask again during this session Mos pyet sërish gjatë këtij sesioni - + Confirm track removal Ripohoni heqje pjese @@ -16942,12 +17461,12 @@ Kjo s’mund të zhbëhet! WTrackTableViewHeader - + Show or hide columns. Shfaqni ose fshihni shtylla. - + Shuffle Tracks Shkartis Pjesët @@ -16955,52 +17474,52 @@ Kjo s’mund të zhbëhet! mixxx::CoreServices - + fonts shkronja - + database bazë të dhënash - + effects efekte - + audio interface ndërfaqe audio - + decks - + library fonotekë - + Choose music library directory Zgjidhni drejtori fonoteke - + controllers kontrollorë - + Cannot open database S’hapet dot bazë të dhënash - + Unable to establish a database connection. Mixxx requires QT with SQLite support. Please read the Qt SQL driver documentation for information on how to build it. @@ -17158,6 +17677,24 @@ Që të dilet, klikoni mbi OK. S’është nisur kërkesa e rrjetit + + mixxx::qml::QmlApplication + + + Existing user profile detected + + + + + Trying to run Mixxx 3.0 with an existing %0 user profile! <br><br>There is <b>serious risks</b> of data loss and corruption.<br>We recommend using a test profile folder with the '--settings-path' argument. <br><br>If you want to continue at your own risk, run Mixxx with the argument '--allow-dangerous-data-corruption-risk'. + + + + + Ok + + + mixxx::qml::QmlVisibleEffectsModel @@ -17166,4 +17703,27 @@ Që të dilet, klikoni mbi OK. S’u ngarkua efekt. + + mixxx::qml::QmlWaveformRendererMark + + + Cannot find the marker pixmap + + + + + Cannot find the marker endPixmap + + + + + Cannot find the marker icon + + + + + Cannot find the marker endIcon + + + \ No newline at end of file diff --git a/res/translations/mixxx_sr.qm b/res/translations/mixxx_sr.qm index 6541cd9d94161c24dceae404ecdd4aab2bf2f6df..a0575664cb192b97783011fa8323543c81e07c4e 100644 GIT binary patch delta 11996 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 delta 12099 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 diff --git a/res/translations/mixxx_sr.ts b/res/translations/mixxx_sr.ts index 1c51570fc1f0..ee48dc6da83c 100644 --- a/res/translations/mixxx_sr.ts +++ b/res/translations/mixxx_sr.ts @@ -8,6 +8,14 @@ + + AllTrackLibraryFeature + + + All... + + + AnalysisFeature @@ -19,52 +27,52 @@ AutoDJFeature - + Crates Гајбице - + Enable Auto DJ - + Disable Auto DJ - + Clear Auto DJ Queue - + Remove Crate as Track Source Уклони гајбицу из извора - + Auto DJ Самостални Диџеј - + Confirmation Clear - + Do you really want to remove all tracks from the Auto DJ queue? - + This can not be undone. - + Add Crate as Track Source Додај сандук у изворе @@ -223,7 +231,7 @@ - + Export Playlist Извези списак нумера @@ -277,13 +285,13 @@ - + Playlist Creation Failed Стварање списка нумера није успело - + An unknown error occurred while creating playlist: Дошло је до непознате грешке приликом стварања списка нумера: @@ -298,12 +306,12 @@ - + M3U Playlist (*.m3u) М3У листа (*.м3у) - + M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Text CSV (*.csv);;Readable Text (*.txt) М3У списак нумера (*.m3u);;М3У8 списак нумера (*.m3u8);;ПЛС списак нумера (*.pls);;Текстуални ЦСВ (*.csv);;Читљив текст (*.txt) @@ -311,12 +319,12 @@ BaseSqlTableModel - + # # - + Timestamp Временска ознака @@ -324,7 +332,7 @@ BaseTrackPlayerImpl - + Couldn't load track. Не могу да учитам нумеру. @@ -362,7 +370,7 @@ Број канала - + Color @@ -377,7 +385,7 @@ Састављач - + Cover Art Омот @@ -387,7 +395,7 @@ Додата - + Last Played @@ -417,7 +425,7 @@ Кључ - + Location Место @@ -427,7 +435,7 @@ - + Preview Преглед @@ -467,7 +475,7 @@ Година - + Fetching image ... Tooltip text on the cover art column shown when the cover is read from disk @@ -490,24 +498,24 @@ BroadcastProfile - + Can't use secure password storage: keychain access failed. Немогућност коришћења складишта лозинки: приступ привеску није могућ. - + Secure password retrieval unsuccessful: keychain access failed. Немогуће је учитати лозинке из складишта: привезак није доступан. - + Settings error Подешавања нису ваљана - + <b>Error with settings for '%1':</b><br> <b>Погрешна поставка за '%1':</b><br> @@ -595,7 +603,7 @@ - + Computer Рачунар @@ -615,17 +623,17 @@ Скен - + "Computer" lets you navigate, view, and load tracks from folders on your hard disk and external devices. "Рачунар" је место одакле можете приступити фолдерима на тврдом диску и спољној меморији. - + It shows the data from the file tags, not track data from your Mixxx library like other track views. - + If you load a track file from here, it will be added to your library. @@ -738,12 +746,12 @@ Креирано - + Mixxx Library Библиотека Миксикса - + Could not load the following file because it is in use by Mixxx or another application. Не могу да учитам датотеку јер је тренутно користи Миксикс или неки други програм. @@ -774,87 +782,92 @@ CmdlineArgs - + Mixxx is an open source DJ software. For more information, see: - + Starts Mixxx in full-screen mode - + Use a custom locale for loading translations. (e.g 'fr') - + Top-level directory where Mixxx should look for its resource files such as MIDI mappings, overriding the default installation location. - + Path the debug statistics time line is written to - + Causes Mixxx to display/log all of the controller data it receives and script functions it loads - + The controller mapping will issue more aggressive warnings and errors when detecting misuse of controller APIs. New Controller Mappings should be developed with this option enabled! - + Enables developer-mode. Includes extra log info, stats on performance, and a Developer tools menu. - + Top-level directory where Mixxx should look for settings. Default is: - + Starts Auto DJ when Mixxx is launched. - + Rescans the library when Mixxx is launched. - + Use legacy vu meter - + Use legacy spinny - - Loads experimental QML GUI instead of legacy QWidget skin + + Loads the highly unstable 3.0 Mixxx interface, based on QML. You need to use a new setting profile, or run with 'allow-dangerous-data-corruption-risk' to use with the current one. We highly recommend backing up your data if you do so. + + + + + Force Mixxx to load an unstable version with an existing user profile from a stable version - + Enables safe-mode. Disables OpenGL waveforms, and spinning vinyl widgets. Try this option if Mixxx is crashing on startup. - + [auto|always|never] Use colors on the console output. - + Sets the verbosity of command line logging. critical - Critical/Fatal only warning - Above + Warnings @@ -864,32 +877,32 @@ trace - Above + Profiling messages - + Sets the the logging level at which the log buffer is flushed to mixxx.log. <level> is one of the values defined at --log-level above. - + Sets the maximum file size of the mixxx.log file in bytes. Use -1 for unlimited. The default is 100 MB as 1e5 or 100000000. - + Breaks (SIGINT) Mixxx, if a DEBUG_ASSERT evaluates to false. Under a debugger you can continue afterwards. - + Overrides the default application GUI style. Possible values: %1 - + Load the specified music file(s) at start-up. Each file you specify will be loaded into the next virtual deck. - + Preview rendered controller screens in the Setting windows. @@ -982,2594 +995,2775 @@ trace - Above + Profiling messages ControlPickerMenu - + Headphone Output Слушалице - - - + + + + Deck %1 + %1 is the deck number 1 ... 4 Палуба %1 - + Sampler %1 Узорник %1 - + Preview Deck %1 Носач прегледа %1 - + Microphone %1 Микрофон %1 - + Auxiliary %1 Екстерни %1 - + Reset to default Врати на задато - + Effect Rack %1 Рек %1 - + Parameter %1 Параметар %1 - + Mixer Мешач - - + + Crossfader Постепени прелаз - + Headphone mix (pre/main) Мешање у слушалицама (пре/главно) - + Toggle headphone split cueing Излаз у слушалице - + Headphone delay Кашњење у слушалицама - + Transport Пренос - + Strip-search through track Расцепи претрагу кроз нумеру - + Play button Дугме за пуштање - - + + Set to full volume Макс. ниво - - + + Set to zero volume Мин. ниво - + Stop button Стоп дугме - + Jump to start of track and play Скочи на почетак и пусти - + Jump to end of track Скочите на крај нумере - + Reverse roll (Censor) button Цензура - + Headphone listen button Дугме за слушање слушалицама - - + + Mute button Пригуши - + Toggle repeat mode Промените режим понављања - - + + Mix orientation (e.g. left, right, center) Усмерење мешача (тј. лево, десно, на средини) - - + + Set mix orientation to left Микс на лево - - + + Set mix orientation to center Микс пола-пола - - + + Set mix orientation to right Микс на десно - + Toggle slip mode Окини режим спавања - - + + BPM ТУМ - + Increase BPM by 1 Повећај БПМ за 1 - + Decrease BPM by 1 Смањи БПМ за 1 - + Increase BPM by 0.1 Повећај БПМ за 0.1 - + Decrease BPM by 0.1 Смањи БПМ за 0.1 - + BPM tap button Дугме лупкања ТУМ-а - + Toggle quantize mode Окини режим квантизације - + One-time beat sync (tempo only) Моментално укачи (само) темпо - + One-time beat sync (phase only) Моментално укачи (само) фазу - + Toggle keylock mode Промените режим закључавања тастера - + Equalizers Уједначавачи - + Vinyl Control Управљање плочом - + Toggle vinyl-control cueing mode (OFF/ONE/HOT) Окини режим наговештаја управљања плочом (ИСКЉ./ЈЕДАН/БИТАН) - + Toggle vinyl-control mode (ABS/REL/CONST) Окини режим управљања плочом (АБС/РЕЛ/КОНСТ) - + Pass through external audio into the internal mixer Екстерни сигнал у миксер - + Cues Наговештаји - + Cue button Дугме наговештаја - + Set cue point Подеси тачку наговештаја - + Go to cue point Скочи на маркер - + Go to cue point and play Пусти од маркера - + Go to cue point and stop Иди до тачке наговештаја и стани - + Preview from cue point Преслушај од маркера - + Cue button (CDJ mode) Маркер-дугме (ЦДЈ) - + Stutter cue "Муцајући" маркер - + Hotcues Битни наговештаји - + Set, preview from or jump to hotcue %1 Забележи/преслушај/скочи на брзи маркер %1 - + Clear hotcue %1 Очисти битни наговештај %1 - + Set hotcue %1 Забележи брзи маркер %1 - + Jump to hotcue %1 Скочи до битног наговештаја %1 - + Jump to hotcue %1 and stop Скочи до битног наговештаја „%1“ и стани - + Jump to hotcue %1 and play Пусти од брзог маркера %1 - + Preview from hotcue %1 Преслушај од брзог маркера %1 - - + + Hotcue %1 Битни наговештај %1 - + Looping Упетљавање - + Loop In button Дугме за упетљавање - + Loop Out button Дугме за распетљавање - + Loop Exit button Дугме за напуштање петље - + 1/2 1/2 - + 1 1 - + 2 2 - + 4 4 - + 8 8 - + 16 16 - + 32 32 - + 64 64 - + Move loop forward by %1 beats Помакни сегмент унапред за %1 - + Move loop backward by %1 beats Помакни сегмент уназад за %1 - + Create %1-beat loop Направи %1-тактну петљу - + Create temporary %1-beat loop roll Направи привремено %1-тактно правило петље - + Library Библиотека - + Slot %1 Позиција %1 - + Headphone Mix Мешање у слушалицама - + Headphone Split Cue Главни сигнал у слушалице - + Headphone Delay Ехо у слушалицама - + Play Пусти - + Fast Rewind Брзо премотај уназад - + Fast Rewind button Премотај уназад - + Fast Forward Брзо премотај унапред - + Fast Forward button Премотај унапред - + Strip Search Дубинска претрага - + Play Reverse Уназад - + Play Reverse button Дугме "Уназад" - + Reverse Roll (Censor) Цензура (уназад) - + Jump To Start Скочи на почетак - + Jumps to start of track Моментално се враћа на почетак - + Play From Start Пусти од почетка - + Stop Стоп - + Stop And Jump To Start Врати на почетак - + Stop playback and jump to start of track Заустави траку и врати на почетак - + Jump To End Скочи на крај - + Volume Ниво - - - + + + Volume Fader Клизач нивоа - - + + Full Volume Макс. ниво - - + + Zero Volume Мин. ниво - + Track Gain Предпојачање - + Track Gain knob Пот. предпојачања - - + + Mute Пригуши - + Eject Избаци - - + + Headphone Listen Усмери у слушалице - + Headphone listen (pfl) button Дугме за преслушавање на слушкама (пфл) - + Repeat Mode Режим понављања - + Slip Mode Режим мировања - - + + Orientation Панорама - - + + Orient Left Баци на лево - - + + Orient Center Стави у центар - - + + Orient Right Баци на десно - + BPM +1 БПМ +1 - + BPM -1 БПМ -1 - + BPM +0.1 БПМ +0.1 - + BPM -0.1 БПМ -0.1 - + BPM Tap Лупкање ТУМ-а - + Adjust Beatgrid Faster +.01 Подеси Битгрид на брже +.01 - + Increase track's average BPM by 0.01 Увећај просечни BPM за 0.01 - + Adjust Beatgrid Slower -.01 Подеси Битгрид на спорије -.01 - + Decrease track's average BPM by 0.01 Умањи просечни BPM за 0.01 - + Move Beatgrid Earlier Помери Битгрид да рани - + Adjust the beatgrid to the left Намести Битгрид ка лево - + Move Beatgrid Later Помери Битгрид да касни - + Adjust the beatgrid to the right Намести Битгрид ка десно - + Adjust Beatgrid Дотерај тактну мрежу - + Align beatgrid to current position Уклопи Битгрид са тренутном позицијом - + Adjust Beatgrid - Match Alignment Намести Битгрид - усклади позицију - + Adjust beatgrid to match another playing deck. Намести Битгрид да прати други дек - + Quantize Mode Магнетни режим - + Sync Синхро - + Beat Sync One-Shot Синхро. ритма моментално - + Sync Tempo One-Shot Синхро. темпа моментално - + Sync Phase One-Shot Синхро. фазе моментално - + Pitch control (does not affect tempo), center is original pitch Контрола фреквенције (без темпа), центар = оригинал - + Pitch Adjust Подеси фреквенцију - + Adjust pitch from speed slider pitch Фреквенција по клизачу за брзину - + Match musical key Паметно усклади тоналитет - + Match Key Усклади тоналитет - + Reset Key Основни тоналитет - + Resets key to original = Оригинални тоналитет - + High EQ Уједначавач високих - + Mid EQ Уједначавач средњих - - + + Main Output - + Main Output Balance - + Main Output Delay - + Main Output Gain - + Low EQ Уједначавач ниских - + Toggle Vinyl Control Активна аналогна контрола - + Toggle Vinyl Control (ON/OFF) Прекидач аналогне контроле (укљ.-искљ.) - + Vinyl Control Mode Режим управљања плочом - + Vinyl Control Cueing Mode Режим аналогне припреме - + Vinyl Control Passthrough Бајпас аналогне контроле - + Vinyl Control Next Deck Аналогна контрола сл. дек - + Single deck mode - Switch vinyl control to next deck Јединствени дек - пребаци аналогну контролу на сл. дек - + Cue Наговештај - + Set Cue Маркер припреме - + Go-To Cue Иди на маркер - + Go-To Cue And Play Иди на маркер и пусти - + Go-To Cue And Stop Иди на маркер и стани - + Preview Cue Провери маркер - + Cue (CDJ Mode) Припрема (CDJ режим) - + Stutter Cue - + Go to cue point and play after release Иди на маркер и пусти по отпуштању - + Clear Hotcue %1 Ослободи брзи маркер %1 - + Set Hotcue %1 Постави брзи маркер %1 - + Jump To Hotcue %1 Скочи на брзи маркер %1 - + Jump To Hotcue %1 And Stop Скочи на брзи маркер %1 и стани - + Jump To Hotcue %1 And Play Скочи на брзи маркер %1 и пусти - + Preview Hotcue %1 Провери брзи маркер %1 - + Loop In Почетак понављања - + Loop Out Крај понављања - + Loop Exit Напусти петљу - + Reloop/Exit Loop Понављај/Настави - + Loop Halve Преполовљавање петље - + Loop Double Удвостручавање петље - + 1/32 1/32 - + 1/16 1/16 - + 1/8 1/8 - + 1/4 1/4 - + Move Loop +%1 Beats Макни понављ. +%1 откуцај/а - + Move Loop -%1 Beats Макни понављ. -%1 откуцај/а - + Loop %1 Beats Понављај %1 откуцај/а - + Loop Roll %1 Beats Клизно понављ. %1 откуцај/а - + Add to Auto DJ Queue (bottom) Додајте у ред самосталног диџеја (доле) - + Append the selected track to the Auto DJ Queue Додај одабир на крај Ауто-Диџеј листе - + Add to Auto DJ Queue (top) Додајте у ред самосталног диџеја (горе) - + Prepend selected track to the Auto DJ Queue Додај одабир на почетак Ауто-Диџеј листе - + Load Track Учитај одабир - + Load selected track Учитајте изабрану нумеру - + Load selected track and play Учитајте изабрану нумеру и пустите је - - + + Record Mix Снимај микс - + Toggle mix recording Снимање микса активно - + Effects Дејства - - Quick Effects - Једноставни ефекти - - - + Deck %1 Quick Effect Super Knob Дек %1 - гл. пот. за ефекте - + + Quick Effect Super Knob (control linked effect parameters) Главни потенциометар за ефекте (контрола повезаних параметара) - - + + + + Quick Effect Једноставан ефекат - + Clear Unit Уклони процесор - + Clear effect unit Уклони процесор из модула - + Toggle Unit Процесор активан - + Dry/Wet Суво-Ефекат - + Adjust the balance between the original (dry) and processed (wet) signal. Постави однос јачине сувог (чистог) сигнала и обрађеног сигнала (ефекта) - + Super Knob Гл. потенциометар - + Next Chain Сл. ланац - + Assign Додели - + Clear Уклони - + Clear the current effect Уклони одабрани ефекат - + Toggle Активација - + Toggle the current effect Прекидач за одабрани ефекат - + Next Даље - + Switch to next effect Одабери сл. ефекат у низу - + Previous Претходно - + Switch to the previous effect Одабери претх. ефекат у низу - + Next or Previous Следећи/претходни - + Switch to either next or previous effect Одабери или сл или претходни ефекат у низу - - + + Parameter Value Вредност параметра - - + + Microphone Ducking Strength Јачина компресије микрофона - + Microphone Ducking Mode Режим компресије микрофона - + Gain Појачање - + Gain knob Дугменце појачања - + Shuffle the content of the Auto DJ queue Промешај листу Ауто-Диџеј-а - + Skip the next track in the Auto DJ queue Прескочи следећу нумеру у Ауто-Диџеј листи - + Auto DJ Toggle Ауто ДиЏеј активан - + Toggle Auto DJ On/Off Прекидач Ауто-Диџеј-а, укљ./искљ. - + Show/hide the microphone & auxiliary section - + 4 Effect Units Show/Hide - + Switches between showing 2 and 4 effect units - + Mixer Show/Hide - + Show or hide the mixer. - + Cover Art Show/Hide (Library) - + Show/hide cover art in the library - + Library Maximize/Restore Увећај/смањи бирач нумера - + Maximize the track library to take up all the available screen space. Користи цео екран за одабир нумера - + Effect Rack Show/Hide Приказ ланца ефеката - + Show/hide the effect rack Прикажи или сакриј модул за ефекте - + Waveform Zoom Out Рашири осцилоскоп - + Headphone Gain Појачање (слушалице) - + Headphone gain Појачање слушалица - + Tap to sync tempo (and phase with quantize enabled), hold to enable permanent sync - + One-time beat sync tempo (and phase with quantize enabled) - + Playback Speed Брзина репродукције - + Playback speed control (Vinyl "Pitch" slider) Контрола брзине пуштања (аналогни "Pitch" клизач) - + Pitch (Musical key) Фрекв. (музикално) - + Increase Speed Увећај брзину - + Adjust speed faster (coarse) Подеси на брже (грубо) - + Increase Speed (Fine) Убрзај (фино) - + Adjust speed faster (fine) Подеси на брже (фино) - + Decrease Speed Смањи брзину - + Adjust speed slower (coarse) Подеси на спорије (грубо) - + Adjust speed slower (fine) Подеси на спорије (фино) - + Temporarily Increase Speed Моментално убрзање - + Temporarily increase speed (coarse) Моментално убрзање (грубо) - + Temporarily Increase Speed (Fine) Моментално убрзање (фино) - + Temporarily increase speed (fine) Моментално убрзање (фино) - + Temporarily Decrease Speed Моментално успорење - + Temporarily decrease speed (coarse) Моментално успорење (грубо) - + Temporarily Decrease Speed (Fine) Моментално успорење (фино) - + Temporarily decrease speed (fine) Моментално успорење (фино) - - + + Adjust %1 Подеси %1 - + + Deck %1 Stem %2 + + + + Effect Unit %1 - + Button Parameter %1 - + Skin Маска - + Controller - + Crossfader / Orientation - + Main Output gain - + Main Output balance - + Main Output delay - + Headphone Слушалице - - + + Kill %1 + %1 is "Low EQ" "Mid EQ" or "High EQ" Избаци %1 - + Eject or un-eject track, i.e. reload the last-ejected track (of any deck)<br>Double-press to reload the last replaced track. In empty decks it reloads the second-last ejected track. - + BPM / Beatgrid - + Halve BPM - + Multiply current BPM by 0.5 - + 2/3 BPM - + Multiply current BPM by 0.666 - + 3/4 BPM - + Multiply current BPM by 0.75 - + 4/3 BPM - + Multiply current BPM by 1.333 - + 3/2 BPM - + Multiply current BPM by 1.5 - + Double BPM - + Multiply current BPM by 2 - + Tempo Tap - + Tempo tap button - + Move Beatgrid - + Adjust the beatgrid to the left or right - + Move Beatgrid Half a Beat - + Adjust the beatgrid by exactly one half beat. Usable only for tracks with constant tempo. - - + + Toggle the BPM/beatgrid lock - + Revert last BPM/Beatgrid Change - + Revert last BPM/Beatgrid Change of the loaded track. - + Sync / Sync Lock - + Internal Sync Leader - + Toggle Internal Sync Leader - - + + Internal Leader BPM - + Internal Leader BPM +1 - + Increase internal Leader BPM by 1 - + Internal Leader BPM -1 - + Decrease internal Leader BPM by 1 - + Internal Leader BPM +0.1 - + Increase internal Leader BPM by 0.1 - + Internal Leader BPM -0.1 - + Decrease internal Leader BPM by 0.1 - + Sync Leader - + Sync mode 3-state toggle / indicator (Off, Soft Leader, Explicit Leader) - + Speed - + Decrease Speed (Fine) - + Pitch (Musical Key) - + Increase Pitch - + Increases the pitch by one semitone - + Increase Pitch (Fine) - + Increases the pitch by 10 cents - + Decrease Pitch - + Decreases the pitch by one semitone - + Decrease Pitch (Fine) - + Decreases the pitch by 10 cents - + Keylock - + CUP (Cue + Play) CUP (Скочи и пусти) - + Shift cue points earlier - + Shift cue points 10 milliseconds earlier - + Shift cue points earlier (fine) - + Shift cue points 1 millisecond earlier - + Shift cue points later - + Shift cue points 10 milliseconds later - + Shift cue points later (fine) - + Shift cue points 1 millisecond later - - + + Sort hotcues by position - - + + Sort hotcues by position (remove offsets) - + Hotcues %1-%2 - + Intro / Outro Markers - + Intro Start Marker - + Intro End Marker - + Outro Start Marker - + Outro End Marker - + intro start marker - + intro end marker - + outro start marker - + outro end marker - + Activate %1 [intro/outro marker - + Jump to or set the %1 [intro/outro marker - + Set %1 [intro/outro marker - + Set or jump to the %1 [intro/outro marker - + Clear %1 [intro/outro marker - + Clear the %1 [intro/outro marker - + if the track has no beats the unit is seconds - + Loop Selected Beats Понављај одабране откуцаје - + Create a beat loop of selected beat size Активирај понављање са одређеним бројем откуцаја - + Loop Roll Selected Beats Клизно понављање одабраних откуцаја - + Create a rolling beat loop of selected beat size Активирај клизно понављање са одређеним бројем откуцаја - + Loop %1 Beats set from its end point - + Loop Roll %1 Beats set from its end point - + Create %1-beat loop with the current play position as loop end - + Create temporary %1-beat loop roll with the current play position as loop end - + Loop Beats - + Loop Roll Beats - + Go To Loop In - + Go to Loop In button - + Go To Loop Out - + Go to Loop Out button - + Toggle loop on/off and jump to Loop In point if loop is behind play position Укљ./искљ. понављање и врати на почетак понављања ако је прошао - + Reloop And Stop Понови па стани - + Enable loop, jump to Loop In point, and stop Активирај понављање, скочи на почетак понављања и заустави - + Halve the loop length Преполови дужину понављања - + Double the loop length Удвостручи дужину понављања - + Beat Jump / Loop Move Скок на откуцај / помак понављања - + Jump / Move Loop Forward %1 Beats Скочи / макни понављ. напред за %1 откуцај/а - + Jump / Move Loop Backward %1 Beats Скочи / макни понављ. назад за %1 откуцај/а - + Jump forward by %1 beats, or if a loop is enabled, move the loop forward %1 beats Скочи унапред %1 откуцај/а, или у случају понављања, помакни унапред %1 откуцај/а - + Jump backward by %1 beats, or if a loop is enabled, move the loop backward %1 beats Скочи уназад %1 откуцај/а, или у случају понављања, помакни уназад %1 откуцај/а - + Beat Jump / Loop Move Forward Selected Beats Прескочи откуцаје / помакни понављање одабиром - + Jump forward by the selected number of beats, or if a loop is enabled, move the loop forward by the selected number of beats Прескочи број откуцаја у одабиру, или у случају понављања, помакни унапред исти број откуцаја - + Beat Jump / Loop Move Backward Selected Beats Врати уназад / помакни понављање по одабиру - + Jump backward by the selected number of beats, or if a loop is enabled, move the loop backward by the selected number of beats Скочи на откуцај, или у случају понављања, помакни уназад, по дужини одабира - + Beat Jump - + Indicate which loop marker remain static when adjusting the size or is inherited from the current position - + Beat Jump / Loop Move Forward - + Beat Jump / Loop Move Backward - + Loop Move Forward - + Loop Move Backward - + Remove Temporary Loop - + Remove the temporary loop - + Navigation - + Move up Нагоре - + Equivalent to pressing the UP key on the keyboard Исто што и тастер стрелице на горе - + Move down Надоле - + Equivalent to pressing the DOWN key on the keyboard Исто што и тастер стрелице на доле - + Move up/down Горе/доле - + Move vertically in either direction using a knob, as if pressing UP/DOWN keys Вертикално померање потенциометра, као са тастерима стрелица - + Scroll Up Претходна страна - + Equivalent to pressing the PAGE UP key on the keyboard Исто што и тастер PAGE UP - + Scroll Down Следећа страна - + Equivalent to pressing the PAGE DOWN key on the keyboard Исто што и тастер PAGE DOWN - + Scroll up/down Навигација по странама - + Scroll vertically in either direction using a knob, as if pressing PGUP/PGDOWN keys Груба навигација горе/доле употребом пот-а, исто се постиже тастерима PG UP/PG DN - + Move left Налево - + Equivalent to pressing the LEFT key on the keyboard Исто што и тастер стрелице на лево - + Move right Надесно - + Equivalent to pressing the RIGHT key on the keyboard Исто што и тастер стрелице на десно - + Move left/right Лево/десно - + Move horizontally in either direction using a knob, as if pressing LEFT/RIGHT keys Померање лево/десно помоћу пот-а, исто се постиже тастерима стрелица лево/десно - + Move focus to right pane Пребаци се на десни сегмент - + Equivalent to pressing the TAB key on the keyboard Исто што и тастер TAB - + Move focus to left pane Пребаци се на леви сегмент - + Equivalent to pressing the SHIFT+TAB key on the keyboard Исто што и комбинација Shift+TAB - + Move focus to right/left pane Навигација кроз сегменте - + Move focus one pane to right or left using a knob, as if pressing TAB/SHIFT+TAB keys Померање лево/десно кроз сегменте прозора помоћу пот-а, исто се постиже тастерима ТАВ/Shift+TAB - + Sort focused column - + Sort the column of the cell that is currently focused, equivalent to clicking on its header - + Go to the currently selected item Скочи на одабрану ставку - + Choose the currently selected item and advance forward one pane if appropriate Маркирај одабрану ставку и пређи на одговарајући сегмент - + Load Track and Play - + Add to Auto DJ Queue (replace) Додај на Ауто-Диџеј листу (рокада) - + Replace Auto DJ Queue with selected tracks Нова Ауто-Диџеј листа од одабраних нумера - + Select next search history - + Selects the next search history entry - + Select previous search history - + Selects the previous search history entry - + Move selected search entry - + Moves the selected search history item into given direction and steps - + Clear search - + Clears the search query - - + + Select Next Color Available - + Select the next color in the color palette for the first selected track - - + + Select Previous Color Available - + Select the previous color in the color palette for the first selected track - + + Quick Effects Deck %1 + + + + Deck %1 Quick Effect Enable Button - + + Quick Effect Enable Button - + + Deck %1 Stem %2 Quick Effect Super Knob + + + + + Deck %1 Stem %2 Quick Effect Enable Button + + + + Enable or disable effect processing Укључи/искључи обраду сигнала - + Super Knob (control effects' Meta Knobs) Главни пот (контролише подесиве пот-е ефеката) - + Mix Mode Toggle - + Toggle effect unit between D/W and D+W modes - + Next chain preset Сл. меморисани ланац - + Previous Chain Претходни ланац - + Previous chain preset Претходни меморисани ланац - + Next/Previous Chain Сл./претх. меморисани ланац - + Next or previous chain preset Следећи или претходни меморисани ланац процесора - - + + Show Effect Parameters Приказ параметара ефекта - + Effect Unit Assignment - + Meta Knob Подесиви пот. - + Effect Meta Knob (control linked effect parameters) Подесиви пот. ефекта (за везивање параметара више ефеката) - + Meta Knob Mode Режим подесивог пот-а - + Set how linked effect parameters change when turning the Meta Knob. Подешавање реакције везаних пот-а - + Meta Knob Mode Invert Обрни ефекат подесивог пот-а - + Invert how linked effect parameters change when turning the Meta Knob. Наопако реаговање везаних пот-а - - + + Button Parameter Value - + Microphone / Auxiliary Микрофон / Екстерно - + Microphone On/Off Укљ/искљ микрофон - + Microphone on/off Микрофон укљ./искљ. - + Toggle microphone ducking mode (OFF, AUTO, MANUAL) Одабир режима компресије микрофона (искљ., аутоматски, ручно) - + Auxiliary On/Off Укљ. искљ. екстерно - + Auxiliary on/off Активација екстерног сигнала - + Auto DJ Самостални Диџеј - + Auto DJ Shuffle Ауто-Диџеј "шафл" - + Auto DJ Skip Next Ауто-Диџеј - прескочи следеће - + Auto DJ Add Random Track - + Add a random track to the Auto DJ queue - + Auto DJ Fade To Next Ауто-Диџеј - постепено пређи на сл. - - Trigger the transition to the next track - Окините прелаз на следећу нумеру + + Trigger the transition to the next track + Окините прелаз на следећу нумеру + + + + User Interface + Корисничко сучеље + + + + Samplers Show/Hide + Приказ семплера + + + + Show/hide the sampler section + Прикажи/сакриј одељак узорчника + + + + Microphone && Auxiliary Show/Hide + keep double & to prevent creation of keyboard accelerator + + + + + Waveform Zoom Reset To Default + + + + + Reset the waveform zoom level to the default value selected in Preferences -> Waveforms + + + + + Select the next color in the color palette for the loaded track. + + + + + Select previous color in the color palette for the loaded track. + + + + + Navigate Through Track Colors + + + + + Select either next or previous color in the palette for the loaded track. + + + + + Start/Stop Live Broadcasting + + + + + Stream your mix over the Internet. + + + + + Start/stop recording your mix. + + + + + + Deck %1 Stems + + + + + + Samplers + + + + + Vinyl Control Show/Hide + Приказ аналогне контроле + + + + Show/hide the vinyl control section + Прикажи/сакриј одељак управљања плочом + + + + Preview Deck Show/Hide + Приказ припремног дека + + + + Show/hide the preview deck + Прикажи/сакриј дек прегледа + + + + Toggle 4 Decks + + + + + Switches between showing 2 decks and 4 decks. + + + + + Cover Art Show/Hide (Decks) + + + + + Show/hide cover art in the main decks + + + + + Vinyl Spinner Show/Hide + Приказ индикатора аналогне контроле + + + + Show/hide spinning vinyl widget + Прикажи/сакриј елемент окретања плоче + + + + Vinyl Spinners Show/Hide (All Decks) + + + + + Show/Hide all spinnies + + + + + Toggle Waveforms + + + + + Show/hide the scrolling waveforms. + + + + + Waveform zoom + Ширина осцилоскопа + + + + Waveform Zoom + Ширина приказа звука - - User Interface - Корисничко сучеље + + Zoom waveform in + Сузи осцилоскоп - - Samplers Show/Hide - Приказ семплера + + Waveform Zoom In + Фокусирај осцилоскоп на мањи сегмент - - Show/hide the sampler section - Прикажи/сакриј одељак узорчника + + Zoom waveform out + Фокусирај осцилоскоп на шири сегмент - - Microphone && Auxiliary Show/Hide - keep double & to prevent creation of keyboard accelerator + + Star Rating Up - - Waveform Zoom Reset To Default + + Increase the track rating by one star - - Reset the waveform zoom level to the default value selected in Preferences -> Waveforms + + Star Rating Down - - Select the next color in the color palette for the loaded track. + + Decrease the track rating by one star + + + Controller - - Select previous color in the color palette for the loaded track. + + Unknown + + + ControllerHidReportTabsManager - - Navigate Through Track Colors + + Read - - Select either next or previous color in the palette for the loaded track. + + Send - - Start/Stop Live Broadcasting + + Payload Size - - Stream your mix over the Internet. + + bytes - - Start/stop recording your mix. + + Byte Position - - - Samplers + + Bit Position - - Vinyl Control Show/Hide - Приказ аналогне контроле - - - - Show/hide the vinyl control section - Прикажи/сакриј одељак управљања плочом + + Bit Size + - - Preview Deck Show/Hide - Приказ припремног дека + + Logical Min + - - Show/hide the preview deck - Прикажи/сакриј дек прегледа + + Logical Max + - - Toggle 4 Decks + + Value - - Switches between showing 2 decks and 4 decks. + + Physical Min - - Cover Art Show/Hide (Decks) + + Physical Max - - Show/hide cover art in the main decks + + Unit Scaling - - Vinyl Spinner Show/Hide - Приказ индикатора аналогне контроле + + Unit + - - Show/hide spinning vinyl widget - Прикажи/сакриј елемент окретања плоче + + Abs/Rel + - - Vinyl Spinners Show/Hide (All Decks) + + + Wrap - - Show/Hide all spinnies + + + Linear - - Toggle Waveforms + + + Preferred - - Show/hide the scrolling waveforms. + + + Null - - Waveform zoom - Ширина осцилоскопа + + + Volatile + - - Waveform Zoom - Ширина приказа звука + + Usage Page + - - Zoom waveform in - Сузи осцилоскоп + + Usage + - - Waveform Zoom In - Фокусирај осцилоскоп на мањи сегмент + + Relative + - - Zoom waveform out - Фокусирај осцилоскоп на шири сегмент + + Absolute + - - Star Rating Up + + No Wrap - - Increase the track rating by one star + + Non Linear - - Star Rating Down + + No Preferred - - Decrease the track rating by one star + + No Null - - - Controller - - Unknown + + Non Volatile @@ -3709,27 +3903,27 @@ trace - Above + Profiling messages ControllerScriptEngineLegacy - + Controller Mapping File Problem - + The mapping for controller "%1" cannot be opened. - + The functionality provided by this controller mapping will be disabled until the issue has been resolved. - + File: - + Error: @@ -3762,7 +3956,7 @@ trace - Above + Profiling messages - + Lock Закључај @@ -3792,7 +3986,7 @@ trace - Above + Profiling messages Селекција за Ауто-Диџеј-а - + Enter new name for crate: Унесите назив нове гајбице: @@ -3809,22 +4003,22 @@ trace - Above + Profiling messages Увези гајбицу - + Export Crate Извези гајбицу - + Unlock Откључај - + An unknown error occurred while creating crate: Дошло је до непознате грешке приликом стварања гајбице: - + Rename Crate Преименуј гајбицу @@ -3834,28 +4028,28 @@ trace - Above + Profiling messages - + Confirm Deletion - - + + Renaming Crate Failed Нисам успео да преименујем гајбицу - + Crate Creation Failed Креирање гајбице неуспешно - + M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Text CSV (*.csv);;Readable Text (*.txt) М3У списак нумера (*.m3u);;М3У8 списак нумера (*.m3u8);;ПЛС списак нумера (*.pls);;Текстуални ЦСВ (*.csv);;Читљив текст (*.txt) - + M3U Playlist (*.m3u) М3У листа (*.м3у) @@ -3876,17 +4070,17 @@ trace - Above + Profiling messages Гајбице вам омогућавају да организујете вашу музику онако како ви то хоћете! - + Do you really want to delete crate <b>%1</b>? - + A crate cannot have a blank name. Назив гајбице не може бити празан. - + A crate by that name already exists. Већ постоји гајбица са овим називом. @@ -3981,12 +4175,12 @@ trace - Above + Profiling messages Претходни доприносиоци - + Official Website - + Donate @@ -4822,124 +5016,141 @@ You tried to learn: %1,%2 DlgPrefBroadcast - + Icecast 2 Ајскаст 2 - + Shoutcast 1 Шауткест 1 - + Icecast 1 Ајскаст 1 - + MP3 МП3 - + Ogg Vorbis Огг Ворбис - + Opus - + AAC - + HE-AAC - + HE-AACv2 - + Automatic Аутоматски - + Mono Моно - + Stereo Стерео - - - - + + Saving settings failed + + + + + The password for '%1' contains invalid characters. Please enter it again. + +Note: This can for example be invisible linebreaks when using copy/paste. + + + + + + Action failed Операција неуспешна - + You can't create more than %1 source connections. Није дозвољено креирати више од %1 мрежних извора. - + Source connection %1 Мрежни извор %1 - + + Settings for %1 + Settings for broadcast profile, %1 is the profile name placeholder + + + + At least one source connection is required. Треба да постоји бар један мрежни извор. - + Are you sure you want to disconnect every active source connection? Да ли заиста желите да развежете све активне мрежне изворе? - - + + Confirmation required Потврдите још једном - + '%1' has the same Icecast mountpoint as '%2'. Two source connections to the same server that have the same mountpoint can not be enabled simultaneously. - + Are you sure you want to delete '%1'? Да ли заиста желите да уклоните "%1"? - + Renaming '%1' Мењам назив "%1" - + New name for '%1': Нови назив за "%1": - + Can't rename '%1' to '%2': name already in use Покушали сте да преименујете "%1" у "%2": то име је већ у употреби @@ -4953,27 +5164,27 @@ Two source connections to the same server that have the same mountpoint can not Избори за емитовање уживо - + Mixxx Icecast Testing Миксиксово испробавање Ајскаста - + Public stream Јавни ток - + http://www.mixxx.org http://www.mixxx.org - + Stream name Назив тока - + Due to flaws in some streaming clients, updating Ogg Vorbis metadata dynamically can cause listener glitches and disconnections. Check this box to update the metadata anyway. Због пропуста у неким програмима за пријем емитовања, ажурирање мета- @@ -5019,69 +5230,74 @@ Two source connections to the same server that have the same mountpoint can not Параметри за %1 - + + Available fields: $artist, $title, $year, $album, $genre, $bpm + + + + Dynamically update Ogg Vorbis metadata. Уживо ажирурирање Ог Ворбис мета-података. - + ICQ - + AIM - + Website Веб страница - + Live mix Мешање уживо - + IRC - + Select a source connection above to edit its settings here Следећи параметри се односе на одабрану изворну тачку изнад - + Password storage Складиште лозинки - + Plain text Чист текст - + Secure storage (OS keychain) Шифровано (системски привезак) - + Genre Жанр - + Use UTF-8 encoding for metadata. Користите кодирање УТФ-8 за мета податке. - + Description Опис @@ -5107,42 +5323,42 @@ Two source connections to the same server that have the same mountpoint can not Број канала - + Server connection Веза сервера - + Type Врста - + Host Домаћин - + Login Пријава - + Mount Прикачи - + Port Прикључник - + Password Лозинка - + Stream info Подаци емитовања @@ -5152,17 +5368,17 @@ Two source connections to the same server that have the same mountpoint can not Мета-подаци - + Use static artist and title. Користи ручно име и наслов. - + Static title Наслов - ручно: - + Static artist Име - ручно: @@ -5223,13 +5439,14 @@ Two source connections to the same server that have the same mountpoint can not DlgPrefColors - - + + + By hotcue number - + Color @@ -5274,17 +5491,22 @@ Two source connections to the same server that have the same mountpoint can not + Jump default color + + + + When key colors are enabled, Mixxx will display a color hint associated with each key. - + Enable Key Colors - + Key palette @@ -5292,115 +5514,115 @@ associated with each key. DlgPrefController - + Apply device settings? Да применим подешавања уређаја? - + Your settings must be applied before starting the learning wizard. Apply settings and continue? Ваша подешавања морају бити примењена пре него што покренете чаробњака учења. Да применим подешавања и да наставим? - + None Ништа - + %1 by %2 %1 од %2 - + Mapping has been edited - + Always overwrite during this session - + Save As - + Overwrite - + Save user mapping - + Enter the name for saving the mapping to the user folder. - + Saving mapping failed - + A mapping cannot have a blank name and may not contain special characters. - + A mapping file with that name already exists. - + Do you want to save the changes? - + Troubleshooting Решавање проблема - + <font color='#BB0000'><b>If you use this mapping your controller may not work correctly. Please select another mapping or disable the controller.</b></font><br><br>This mapping was designed for a newer Mixxx Controller Engine and cannot be used on your current Mixxx installation.<br>Your Mixxx installation has Controller Engine version %1. This mapping requires a Controller Engine version >= %2.<br><br>For more information visit the wiki page on <a href='https://mixxx.org/wiki/doku.php/controller_engine_versions'>Controller Engine Versions</a>. - + Mapping already exists. - + <b>%1</b> already exists in user mapping folder.<br>Overwrite or save with a new name? - + Clear Input Mappings Уклони мапиране контроле - + Are you sure you want to clear all input mappings? Да ли заиста желите да уклоните све мапиране контроле? - + Clear Output Mappings Обриши мапиране контроле - + Are you sure you want to clear all output mappings? Да ли заисте желите да обришете све мапиране контроле? @@ -5419,100 +5641,105 @@ Apply settings and continue? Укључен - + + Refresh mapping list + + + + Device Info - + Physical Interface: - + Vendor name: - + Product name: - + Vendor ID - + VID: - + Product ID - + PID: - + Serial number: - + USB interface number: - + HID Usage-Page: - + HID Usage: - + Description: Опис: - + Support: Подршка: - + Screens preview - + Input Mappings Мапирање улаза - - + + Search Нађи - - + + Add Додај - - + + Remove Уклони @@ -5532,17 +5759,17 @@ Apply settings and continue? - + Mapping Info - + Author: Аутор: - + Name: Назив: @@ -5552,28 +5779,28 @@ Apply settings and continue? Чаробњак учења (само МИДИ) - + Data protocol: - + Mapping Files: - + Mapping Settings - - + + Clear All Очисти све - + Output Mappings Мапирање излаза @@ -5588,21 +5815,21 @@ Apply settings and continue? - Mixxx uses "mappings" to connect messages from your controller to controls in Mixxx. If you do not see a mapping for your controller in the "Load Mapping" menu when you click on your controller on the left sidebar, you may be able to download one online from the %1. Place the XML (.xml) and Javascript (.js) file(s) in the "User Mapping Folder" then restart Mixxx. If you download a mapping in a ZIP file, extract the XML and Javascript file(s) from the ZIP file to your "User Mapping Folder" then restart Mixxx. + Mixxx uses "mappings" to connect messages from your controller to controls in Mixxx. If you do not see a mapping for your controller in the "Load Mapping" menu when you click on your controller on the left sidebar, you may be able to download one online from the %1. Place the XML (.xml) and Javascript (.js) file(s) in the "User Mapping Folder" then click the Reload button next to the mapping selector to reload all available mappings. If you download a mapping in a ZIP file, extract the XML and Javascript file(s) from the ZIP file to your "User Mapping Folder" then click the Reload button. - + Mixxx DJ Hardware Guide - + MIDI Mapping File Format - + MIDI Scripting with Javascript @@ -5788,137 +6015,137 @@ MIDI учење, за одабрани контролер. DlgPrefDeck - + Mixxx mode Режим Миксиксикса - + Mixxx mode (no blinking) Режим Миксиксикса (без блинкања) - + Pioneer mode Пионир - + Denon mode Денон - + Numark mode Нумарк - + CUP mode CUP - + mm:ss%1zz - Traditional - + mm:ss - Traditional (Coarse) - + s%1zz - Seconds - + sss%1zz - Seconds (Long) - + s%1sss%2zz - Kiloseconds - + Intro start - + Main cue - + First hotcue - + First sound (skip silence) - + Beginning of track - + Reject - + Allow, but stop deck - + Allow, play from load point - + 4% 4% - + 6% (semitone) 6% (полустепен) - + 8% (Technics SL-1210) 8% (Technics SL-1210) - + 10% 10% - + 16% 16% - + 24% 24% - + 50% 50% - + 90% 90% @@ -6379,58 +6606,58 @@ You can always drag-and-drop tracks on screen to clone a deck. екрана која је већа од тренутне. - + Allow screensaver to run Дозволи штедњу екрана при раду - + Prevent screensaver from running Спречи штедњу екрана - + Prevent screensaver while playing Спречи гашење екрана при репродукцији - + Disabled - + 2x MSAA - + 4x MSAA - + 8x MSAA - + 16x MSAA - + This skin does not support color schemes Овај дизајн не подржава промену палете боја - + Information Обавештење - + Mixxx must be restarted before the new locale, scaling or multi-sampling settings will take effect. @@ -6660,37 +6887,37 @@ and allows you to pitch adjust them for harmonic mixing. - + Music Directory Added Фолдер додат - + You added one or more music directories. The tracks in these directories won't be available until you rescan your library. Would you like to rescan now? Додали сте неке фолдере у Базу. Песме у овим фолдерима нису доступне док не извршите упит у Базу. Да ли желите то сада? - + Scan Скен - + Item is not a directory or directory is missing - + Choose a music directory Одаберите фолдер са музиком - + Confirm Directory Removal Потврди уклањање фолдера - + Mixxx will no longer watch this directory for new tracks. What would you like to do with the tracks from this directory and subdirectories?<ul><li>Hide all tracks from this directory and subdirectories.</li><li>Delete all metadata for these tracks from Mixxx permanently.</li><li>Leave the tracks unchanged in your library.</li></ul>Hiding tracks saves their metadata in case you re-add them in the future. Миксиксикс више неће пратити овај фолдер и његове измене. Шта тачно @@ -6703,7 +6930,7 @@ and allows you to pitch adjust them for harmonic mixing. будете уврстили у дискотеку. - + Metadata means all track details (artist, title, playcount, etc.) as well as beatgrids, hotcues, and loops. This choice only affects the Mixxx library. No files on disk will be changed or deleted. Мета-подаци се односе на све детаље о нумери (извођач, назив, @@ -6715,28 +6942,58 @@ and allows you to pitch adjust them for harmonic mixing. мењати или брисати. - + Hide Tracks Сакриј нумере - + Delete Track Metadata Уклони мета-податке нумере - + Leave Tracks Unchanged Не мењај ништа - + Relink music directory to new location Пребаците извор Микс-ове дискотеке на неки други фолдер - + + Black + + + + + ExtraBold + + + + + Bold + + + + + SemiBold + + + + + Medium + + + + + Light + + + + Select Library Font Стила текста бирача нумера @@ -6792,264 +7049,269 @@ and allows you to pitch adjust them for harmonic mixing. - + Audio File Formats Записи звучне датотеке - + Track Table View - + Track Double-Click Action: - + BPM display precision: - + Session History - + Track duplicate distance - + When playing a track again log it to the session history only if more than N other tracks have been played in the meantime - + History playlist with less than N tracks will be deleted<br/><br/>Note: the cleanup will be performed during startup and shutdown of Mixxx. - + Delete history playlist with less than N tracks - + Library Font: Стил текста бирача: - + + Show scan summary dialog + + + + Grey out played tracks - + Track Search - + Enable search completions - + Enable search history keyboard shortcuts - + Percentage of pitch slider range for 'fuzzy' BPM search: - + This range will be used for the 'fuzzy' BPM search (~bpm:) via the search box, as well as for BPM search in Track context menu > Search related Tracks - + Preferred Cover Art Fetcher Resolution - + Fetch cover art from coverartarchive.com by using Import Metadata From Musicbrainz. - + Note: ">1200 px" can fetch up to very large cover arts. - + >1200 px (if available) - + 1200 px (if available) - + 500 px - + 250 px - + Settings Directory - + The Mixxx settings directory contains the library database, various configuration files, log files, track analysis data, as well as custom controller mappings. - + Edit those files only if you know what you are doing and only while Mixxx is not running. - + Open Mixxx Settings Folder - + Library Row Height: "Проред" бирача нумера: - + Use relative paths for playlist export if possible Користи релативне путање за извоз списка нумера ако је могуће - + ... ... - + px px - + Synchronize library track metadata from/to file tags - + Automatically write modified track metadata from the library into file tags and reimport metadata from updated file tags into the library - + Synchronize Serato track metadata from/to file tags (experimental) - + Keeps track color, beat grid, bpm lock, cue points, and loops synchronized with SERATO_MARKERS/MARKERS2 file tags.<br/><br/>WARNING: Enabling this option also enables the reimport of Serato metadata after files have been modified outside of Mixxx. On reimport existing metadata in Mixxx is replaced with the metadata found in file tags. Custom metadata not included in file tags like loop colors is lost. - + Edit metadata after clicking selected track Коригуј мета-податке након одабира нумере - + Search-as-you-type timeout: - + ms ms - + Load track to next available deck Учитај нумеру у први слободни дек - + External Libraries Спољашње дискотеке - + You will need to restart Mixxx for these settings to take effect. Ове поставке ступају на снагу тек након поновног покретања Микс-а. - + Show Rhythmbox Library Прикажи библиотеку Ритам машине - + Track Metadata Synchronization / Playlists - + Add track to Auto DJ queue (bottom) - + Add track to Auto DJ queue (top) - + Ignore - + Show Banshee Library Приказ Бенши дискотеке - + Show iTunes Library Прикажи библиотеку ајТјунса - + Show Traktor Library Прикажи библиотеку Трактора - + Show Rekordbox Library - + Show Serato Library - + All external libraries shown are write protected. Све спољашње дискотеке које видите су заштићене од измена. @@ -7407,33 +7669,33 @@ and allows you to pitch adjust them for harmonic mixing. DlgPrefRecord - + Choose recordings directory Изаберите директоријум за снимања - - + + Recordings directory invalid - + Recordings directory must be set to an existing directory. - + Recordings directory must be set to a directory. - + Recordings directory not writable - + You do not have write access to %1. Choose a recordings directory you have write access to. @@ -7451,43 +7713,55 @@ and allows you to pitch adjust them for harmonic mixing. Разгледај... - - + + This will include the filepath for each track in the CUE file. +This option makes the CUE file less portable and can reveal personal +information from filepaths (i.e. username) + + + + + Enable File Annotation in CUE file + + + + + Quality Квалитет - + Tags Ознаке - + Title Наслов - + Author Аутор - + Album Албум - + Output File Format Формат крајњег фајла - + Compression Компресија - + Lossy Деструктивна @@ -7502,12 +7776,12 @@ and allows you to pitch adjust them for harmonic mixing. - + Compression Level Ниво компресије - + Lossless Реверзибилна @@ -7647,154 +7921,159 @@ The loudness target is approximate and assumes track pregain and main output lev DlgPrefSound - + %1 Hz %1 Hz - + Default (long delay) Основно (дуги ехо) - + Experimental (no delay) Експериментално (без еха) - + Disabled (short delay) Угашено (кратак ехо) - + Soundcard Clock Клок звучног адаптера - + Network Clock Мрежни клок - + Direct monitor (recording and broadcasting only) Директни мониторинг (за снимање и емитовање) - + Disabled Неактивно - + Enabled Укључен - + Stereo Стерео - + Mono Моно - + To enable Realtime scheduling (currently disabled), see the %1. - + The %1 lists sound cards and controllers you may want to consider for using Mixxx. - + Mixxx DJ Hardware Guide - + + Find details in the Mixxx user manual + + + + Information - + Mixxx must be restarted before the multi-threaded RubberBand setting change will take effect. - + auto (<= 1024 frames/period) - + 2048 frames/period - + 4096 frames/period - + Are you sure? - + Distribute stereo channels into mono channels for parallel processing will result in a loss of mono compatibility and a diffuse stereo image. It is not recommended during broadcasting or recording. - + Are you sure you wish to proceed? - + No - + Yes, I know what I am doing - + Microphone inputs are out of time in the record & broadcast signal compared to what you hear. Микрофонски сигнал у емисији и снимку није усаглашен са оним што чујете. - + Measure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. Измери мрежно кашњење и унеси га заједно са Микрофонском компензацијом да би усагласили микрофон. - + Refer to the Mixxx User Manual for details. Консултујте Миксиксикс приручник за више информација. - + Configured latency has changed. Поставка компензације кашњења захтева корекцију. - + Remeasure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. Поново измери мрежно кашњење и унеси га заједно са Микрофонском @@ -7802,27 +8081,27 @@ The loudness target is approximate and assumes track pregain and main output lev микрофонски сигнал. - + Realtime scheduling is enabled. Активно је мерење у реалном времену. - + Main output only - + Main and booth outputs - + %1 ms %1 ms - + Configuration error Грешка подешавања @@ -7890,17 +8169,22 @@ The loudness target is approximate and assumes track pregain and main output lev ms - + + Deck and Bus outputs are for external mixers. They are post-fader and include effects and crossfader (for Auto DJ). For external mixing, make sure all Mixxx faders and EQ knobs are set to their default position (right- or double-click). + + + + 20 ms 20 ms - + Buffer Underflow Count Број пражњења међу-меморије - + 0 0 @@ -7925,12 +8209,12 @@ The loudness target is approximate and assumes track pregain and main output lev Улаз - + System Reported Latency Системско кашњење - + Enlarge your audio buffer if the underflow counter is increasing or you hear pops during playback. Увећајте звучну међу-меморију ако се бројач пражњења стално увећава, @@ -7962,7 +8246,7 @@ The loudness target is approximate and assumes track pregain and main output lev Савети и дијагностика - + Downsize your audio buffer to improve Mixxx's responsiveness. Смањите звучну међу-меморију за бржи одзив Микс-ове апаратуре. @@ -8010,7 +8294,7 @@ The loudness target is approximate and assumes track pregain and main output lev Подешавање плоче - + Show Signal Quality in Skin Прикажи квалитет сигнала у масци @@ -8046,46 +8330,51 @@ The loudness target is approximate and assumes track pregain and main output lev + Pitch estimator + + + + Deck 1 - + Deck 2 - + Deck 3 - + Deck 4 - + Signal Quality Квалитет сигнала - + http://www.xwax.co.uk http://www.xwax.co.uk - + Powered by xwax Покреће га „xwax“ - + Hints Савети - + Select sound devices for Vinyl Control in the Sound Hardware pane. @@ -8093,58 +8382,58 @@ The loudness target is approximate and assumes track pregain and main output lev DlgPrefWaveform - + Filtered Издвојено - + HSV ХСВ - + RGB - + Top - + Center - + Bottom - + 1/3 of waveform viewer options for "Text height limit" - + Entire waveform viewer - + OpenGL not available ОпенГЛ није доступан - + dropped frames - + Cached waveforms occupy %1 MiB on disk. @@ -8162,22 +8451,17 @@ The loudness target is approximate and assumes track pregain and main output lev Проток кадрова - + OpenGL Status - + Displays which OpenGL version is supported by the current platform. Прикажите које издање ОпенГЛ-а је подржано текућом платформом. - - Normalize waveform overview - - - - + Average frame rate @@ -8193,7 +8477,7 @@ The loudness target is approximate and assumes track pregain and main output lev - + Displays the actual frame rate. Прикажите садашњи проток кадрова. @@ -8228,7 +8512,7 @@ The loudness target is approximate and assumes track pregain and main output lev Низак - + Show minute markers on waveform overview @@ -8273,7 +8557,7 @@ The loudness target is approximate and assumes track pregain and main output lev Опште видно појачање - + The waveform overview shows the waveform envelope of the entire track. Select from different types of displays for the waveform overview, which differ primarily in the level of detail shown in the waveform. @@ -8340,22 +8624,22 @@ Select from different types of displays for the waveform, which differ primarily - + Caching - + Mixxx caches the waveforms of your tracks on disk the first time you load a track. This reduces CPU usage when you are playing live but requires extra disk space. - + Enable waveform caching - + Generate waveforms when analyzing library @@ -8371,7 +8655,7 @@ Select from different types of displays for the waveform, which differ primarily - + Type @@ -8391,22 +8675,68 @@ Select from different types of displays for the waveform, which differ primarily % - - Play marker position + + Play marker position + + + + + Moves the play marker position on the waveforms to the left, right or center (default). + + + + + Stem + + + + + Channel opacity + + + + + Channel opacity (outline) + + + + + Main stem opacity + + + + + Outline stem opacity + + + + + Move channel to foreground when volume is adjusted + + + + + Overview Waveforms - - Moves the play marker position on the waveforms to the left, right or center (default). + + Gain - - Overview Waveforms + + Normalize to peak + + + + + Use Waveform "Global" gain and ReplayGain (if enabled) + 'Global' refers to the 'Global' visual gain in the scrolling waveform settings - + Clear Cached Waveforms @@ -8895,7 +9225,7 @@ This can not be undone! ТУМ: - + Location: Место: @@ -8910,27 +9240,27 @@ This can not be undone! - + BPM ТУМ - + Sets the BPM to 75% of the current value. - + 3/4 BPM - + Sets the BPM to 50% of the current value. - + Displays the BPM of the selected track. @@ -8985,49 +9315,49 @@ This can not be undone! Жанр - + ReplayGain: - + Sets the BPM to 200% of the current value. - + Double BPM Удвостручи ТУМ - + Halve BPM Преполови ТУМ - + Clear BPM and Beatgrid Очисти ТУМ и тактну мрежу - + Move to the previous item. "Previous" button - + &Previous &Претходна - + Move to the next item. "Next" button - + &Next &Следећа @@ -9052,12 +9382,12 @@ This can not be undone! - + Date added: - + Open in File Browser Отвори у прегледнику датотека @@ -9067,102 +9397,107 @@ This can not be undone! - + + Filesize: + + + + Track BPM: Прати ТУМ: - + Converts beats detected by the analyzer into a fixed-tempo beatgrid. Use this setting if your tracks have a constant tempo (e.g. most electronic music). Often results in higher quality beatgrids, but will not do well on tracks that have tempo shifts. - + Assume constant tempo - + Sets the BPM to 66% of the current value. - + 2/3 BPM - + Sets the BPM to 150% of the current value. - + 3/2 BPM - + Sets the BPM to 133% of the current value. - + 4/3 BPM - + Tap with the beat to set the BPM to the speed you are tapping. - + Tap to Beat Лупни такт - + Hint: Use the Library Analyze view to run BPM detection. Савет: Користите преглед анализирања библиотеке да покренете откривање ТУМ-а. - + Save changes and close the window. "OK" button - + &OK - + Discard changes and close the window. "Cancel" button - + Save changes and keep the window open. "Apply" button - + &Apply &Примени - + &Cancel &Откажи - + (no color) @@ -9319,7 +9654,7 @@ Often results in higher quality beatgrids, but will not do well on tracks that h - + (no color) @@ -9521,27 +9856,27 @@ Often results in higher quality beatgrids, but will not do well on tracks that h EngineBuffer - + Soundtouch (faster) - + Rubberband (better) - + Rubberband R3 (near-hi-fi quality) - + Unknown, using Rubberband (better) - + Unknown, using Soundtouch @@ -9756,15 +10091,15 @@ Often results in higher quality beatgrids, but will not do well on tracks that h LegacySkinParser - - + + Safe Mode Enabled Shown when Mixxx is running in safe mode. - - + + No OpenGL support. Shown when Spinny can not be displayed. Please keep @@ -9775,57 +10110,57 @@ Shown when VuMeter can not be displayed. Please keep - + activate покрени - + toggle окини - + right десно - + left лево - + right small мали десни - + left small мали леви - + up горе - + down доле - + up small мало горе - + down small мало доле - + Shortcut Пречица @@ -9833,62 +10168,62 @@ Shown when VuMeter can not be displayed. Please keep Library - + This or a parent directory is already in your library. - + This or a listed directory does not exist or is inaccessible. Aborting the operation to avoid library inconsistencies - - + + This directory can not be read. - + An unknown error occurred. Aborting the operation to avoid library inconsistencies - + Can't add Directory to Library - + Could not add <b>%1</b> to your library. %2 - + Can't remove Directory from Library - + An unknown error occurred. - + This directory does not exist or is inaccessible. - + Relink Directory - + Could not relink <b>%1</b> to <b>%2</b>. %3 @@ -10050,12 +10385,12 @@ Do you really want to overwrite it? Скривене нумере - + Export to Engine DJ - + Tracks @@ -10063,37 +10398,37 @@ Do you really want to overwrite it? MixxxMainWindow - + Sound Device Busy Звучни уређај је заузет - + <b>Retry</b> after closing the other application or reconnecting a sound device <b>Покушајте поново</b> након што затворите други прог или поново прикључите звучни уређај - - - + + + <b>Reconfigure</b> Mixxx's sound device settings. <b>Поново подесите</b> подешавања звучног уређаја Миксикса. - - + + Get <b>Help</b> from the Mixxx Wiki. Нађите <b>Помоћ</b> на Викију Миксикса. - - - + + + <b>Exit</b> Mixxx. <b>Изађите</b> из Миксикса. - + Retry Покушај поново @@ -10103,209 +10438,209 @@ Do you really want to overwrite it? - + Allow Mixxx to hide the menu bar? - + Hide Always show the menu bar? - + Always show - + The Mixxx menu bar is hidden and can be toggled with a single press of the <b>Alt</b> key.<br><br>Click <b>%1</b> to agree.<br><br>Click <b>%2</b> to disable that, for example if you don't use Mixxx with a keyboard.<br><br>You can change this setting any time in Preferences -> Interface.<br> Keep formatting tags <b> (bold text) and <br> (linebreak). %1 is the placeholder for the 'Always show' button label - + Ask me again - - + + Reconfigure Поново подеси - + Help Помоћ - - + + Exit Изађи - - + + Mixxx was unable to open all the configured sound devices. - + Sound Device Error - + <b>Retry</b> after fixing an issue - + No Output Devices Нема излазних уређаја - + Mixxx was configured without any output sound devices. Audio processing will be disabled without a configured output device. Миксикс је подешен без иједног излазног звучног уређаја. Обрада звука ће бити онемогућена без подешеног излазног уређаја. - + <b>Continue</b> without any outputs. <b>Наствите</b> без икаквих излаза. - + Continue Настави - + Load track to Deck %1 Учитај нумеру на носач %1 - + Deck %1 is currently playing a track. Носач %1 тренутно пушта нумеру. - + Are you sure you want to load a new track? Да ли сигурно желите да учитате нову нумеру? - + There is no input device selected for this vinyl control. Please select an input device in the sound hardware preferences first. - + There is no input device selected for this passthrough control. Please select an input device in the sound hardware preferences first. - + There is no input device selected for this microphone. Do you want to select an input device? - + There is no input device selected for this auxiliary. Do you want to select an input device? - + Scan took %1 - + No changes detected. - - + + %1 tracks in total - + %1 new tracks found - + %1 moved tracks detected - + %1 tracks are missing (%2 total) - + %1 tracks have been rediscovered - + Library scan finished - + Error in skin file Грешка у датотеци маске - + The selected skin cannot be loaded. Изабрана маска не може бити учитана. - + OpenGL Direct Rendering Посредно исцртавање ОпенГЛ-а - + Direct rendering is not enabled on your machine.<br><br>This means that the waveform displays will be very<br><b>slow and may tax your CPU heavily</b>. Either update your<br>configuration to enable direct rendering, or disable<br>the waveform displays in the Mixxx preferences by selecting<br>"Empty" as the waveform display in the 'Interface' section. - - - + + + Confirm Exit Потврди излаз - + A deck is currently playing. Exit Mixxx? Носач тренутно пушта. Да изађем из Миксикса? - + A sampler is currently playing. Exit Mixxx? Узорчник тренутно пушта. Да изађем из Миксикса? - + The preferences window is still open. Прозор поставки је још увек отворен. - + Discard any changes and exit Mixxx? Да одбацим могуће измене и да напустим Миксикс? @@ -10321,13 +10656,13 @@ Do you want to select an input device? PlaylistFeature - + Lock Закључај - - + + Playlists Списак нумера @@ -10337,58 +10672,63 @@ Do you want to select an input device? - + + Adopt current order + + + + Unlock all playlists - + Delete all unlocked playlists - + Unlock Откључај - - + + Confirm Deletion - + Do you really want to delete all unlocked playlists? - + Deleting %1 unlocked playlists.<br>This operation can not be undone! - + Playlists are ordered lists of tracks that allow you to plan your DJ sets. - + It may be necessary to skip some tracks in your prepared playlist or add some different tracks in order to maintain the energy of your audience. - + Some DJs construct playlists before they perform live, but others prefer to build them on-the-fly. Неки диџеји изграде спискове нумера пре него ли обаве изведбу, а неки то раде у току саме представе. - + When using a playlist during a live DJ set, remember to always pay close attention to how your audience reacts to the music you've chosen to play. Када користите списак нумера током живог ДиЏеј скупа, сетите се да увек обратите пажњу на то како ваша публика реагује на музику коју сте изабрали за пуштање. - + Create New Playlist Састави листу песама @@ -10487,58 +10827,58 @@ Do you want to select an input device? QMessageBox - + Upgrading Mixxx - + Mixxx now supports displaying cover art. Do you want to scan your library for cover files now? - + Scan Скен - + Later - + Upgrading Mixxx from v1.9.x/1.10.x. Надограђујем МИксикс са в1.9.x/1.10.x. - + Mixxx has a new and improved beat detector. Миксикс има нови и побољшани откривач такта. - + When you load tracks, Mixxx can re-analyze them and generate new, more accurate beatgrids. This will make automatic beatsync and looping more reliable. - + This does not affect saved cues, hotcues, playlists, or crates. Ово не утиче на сачуване наговештаје, битне наговештаје, спискове нумера или гајбице. - + If you do not want Mixxx to re-analyze your tracks, choose "Keep Current Beatgrids". You can change this setting at any time from the "Beat Detection" section of the Preferences. Ако не желите да Миксикс поново обради ваше нумере, изаберите „Задржи тренутне мреже тактова“. Ово подешавање можете да измените било када у одељку „Откривање такта“ у поставкама. - + Keep Current Beatgrids Задржи тренутне мреже тактова - + Generate New Beatgrids Створи нове мреже тактова @@ -10652,69 +10992,82 @@ Do you want to scan your library for cover files now? - + Main + Audio path indetifier - + Booth + Audio path indetifier - + Headphones + Audio path indetifier Слушалице - + Left Bus + Audio path indetifier - + Center Bus + Audio path indetifier - + Right Bus + Audio path indetifier - + Invalid Bus + Audio path indetifier - + Deck + Audio path indetifier Носач - + Record/Broadcast + Audio path indetifier - + Vinyl Control + Audio path indetifier Управљање плочом - + Microphone + Audio path indetifier Микрофон - + Auxiliary + Audio path indetifier - + Unknown path type %1 + Audio path Непозната врста путање %1 @@ -11043,47 +11396,49 @@ With width at zero, this allows for manually sweeping over the entire delay rang - + Metronome - + + The Mixxx Team - + Adds a metronome click sound to the stream - + BPM ТУМ - + Set the beats per minute value of the click sound - + Sync Синхро - + Synchronizes the BPM with the track if it can be retrieved - + + Gain - + Set the gain of metronome click sound @@ -11867,14 +12222,14 @@ Fully right: end of the effect period - - + + encoder failure - - + + Failed to apply the selected settings. @@ -12080,15 +12435,86 @@ and the processed output signal as close as possible in perceived loudness + + Auto Gain Control + + + + + AGC + + + + + Auto Gain Control (AGC) automatically adjusts the gain of an audio signal to maintain a consistent output level. + + + + Threshold (dBFS) + Threshold + + + The Threshold knob adjusts the level above which the effect starts enhancing the input signal + + + + + Target (dBFS) + + + + + Target + + + + + The Target knob adjusts the desired target level of the output signal + + + + + Gain (dB) + + + + + The Gain knob adjusts the maximum amount of gain that the effect will apply + + + + + Knee (dB) + + + + + The Knee knob defines the range around the Threshold where gain changes are applied gradually, +ensuring smooth transitions and avoiding abrupt level shifts. + + + + + The Attack knob sets the time that determines how fast the auto gain +will set in once the signal exceeds the threshold + + + + + The Release knob sets the time that determines how fast the auto gain will recover from the gain +adjustment once the signal falls under the threshold. Depending on the input signal, short release times +may introduce a 'pumping' effect and/or distortion. + + The Threshold knob adjusts the level above which the compressor starts attenuating the input signal @@ -12117,6 +12543,7 @@ At a ratio of 1:1 no compression is happening, as the input is exactly the outpu + Knee @@ -12127,11 +12554,13 @@ At a ratio of 1:1 no compression is happening, as the input is exactly the outpu + Attack (ms) + Attack @@ -12143,11 +12572,13 @@ will set in once the signal exceeds the threshold + Release (ms) + Release @@ -12176,12 +12607,12 @@ may introduce a 'pumping' effect and/or distortion. - + built-in - + missing @@ -12216,42 +12647,42 @@ may introduce a 'pumping' effect and/or distortion. - + Empty - + Simple - + Filtered - + HSV - + VSyncTest - + RGB - + Stacked - + Unknown @@ -12512,193 +12943,193 @@ may introduce a 'pumping' effect and/or distortion. ShoutConnection - - + + Mixxx encountered a problem Миксикс је наишао на проблем - + Could not allocate shout_t Не могу да доделим шоут_т - + Could not allocate shout_metadata_t Не могу да доделим шоут_метаподатака_т - + Error setting non-blocking mode: Грешка постављања не-блокирајућег режима: - + Error setting tls mode: - + Error setting hostname! Грешка постављања назива домаћина! - + Error setting port! Грешка постављања порта! - + Error setting password! Грешка постављања лозинке! - + Error setting mount! Грешка постављања прикачка! - + Error setting username! Грешка постављања имена корисника! - + Error setting stream name! Грешка постављања назива тока! - + Error setting stream description! Грешка постављања описа тока! - + Error setting stream genre! Грешка постављања жанра тока! - + Error setting stream url! Грешка постављања адресе тока! - + Error setting stream IRC! - + Error setting stream AIM! - + Error setting stream ICQ! - + Error setting stream public! - + Unknown stream encoding format! - + Use a libshout version with %1 enabled - + Error setting stream encoding format! - + Broadcasting at 96 kHz with Ogg Vorbis is not currently supported. Please try a different sample rate or switch to a different encoding. - + See https://github.com/mixxxdj/mixxx/issues/5701 for more information. - + Unsupported sample rate - + Error setting bitrate Грешка постављања протока бита - + Error: unknown server protocol! Грешка: непознат протокол сервера! - + Error: Shoutcast only supports MP3 and AAC encoders - + Error setting protocol! Грешка постављања протокола! - + Network cache overflow - + Connection error - + One of the Live Broadcasting connections raised this error:<br><b>Error with connection '%1':</b><br> - + Connection message - + <b>Message from Live Broadcasting connection '%1':</b><br> - + Lost connection to streaming server and %1 attempts to reconnect have failed. - + Lost connection to streaming server. - + Please check your connection to the Internet. - + Can't connect to streaming server - + Please check your connection to the Internet and verify that your username and password are correct. Молим проверите вашу везу на Интернет и утврдите да ли су ваше корисничко име и лозинка исправни. @@ -12706,7 +13137,7 @@ may introduce a 'pumping' effect and/or distortion. SoftwareWaveformWidget - + Filtered Издвојено @@ -12714,23 +13145,23 @@ may introduce a 'pumping' effect and/or distortion. SoundManager - - + + a device уређај - + An unknown error occurred Дошло је до непознате грешке - + Two outputs cannot share channels on "%1" - + Error opening "%1" @@ -12915,7 +13346,7 @@ may introduce a 'pumping' effect and/or distortion. - + Spinning Vinyl Вртење плоче @@ -13097,7 +13528,7 @@ may introduce a 'pumping' effect and/or distortion. - + Cover Art Омот @@ -13287,243 +13718,243 @@ may introduce a 'pumping' effect and/or distortion. Задржите добит уједначавача ниских на нули док ради. - + Displays the tempo of the loaded track in BPM (beats per minute). Приказује темпо учитане нумере у тактовима у минуту (ТУМ). - + Tempo Темпо - + Key The musical key of a track Кључ - + BPM Tap Лупкање ТУМ-а - + When tapped repeatedly, adjusts the BPM to match the tapped BPM. Када лупкате непрекидно, прилагођавате ТУМ да одговара лупканом ТУМ-у. - + Adjust BPM Down - + When tapped, adjusts the average BPM down by a small amount. - + Adjust BPM Up - + When tapped, adjusts the average BPM up by a small amount. - + Adjust Beats Earlier - + When tapped, moves the beatgrid left by a small amount. - + Adjust Beats Later - + When tapped, moves the beatgrid right by a small amount. - + Tempo and BPM Tap Темпо и лупкање ТУМ-а - + Show/hide the spinning vinyl section. Прикажите/сакријте одељак окретања плоче. - + Keylock - + Toggling keylock during playback may result in a momentary audio glitch. - + Toggle visibility of Loop Controls - + Toggle visibility of Beatjump Controls - + Toggle visibility of Rate Control - + Toggle visibility of Key Controls - + (while previewing) - + Places a cue point at the current position on the waveform. - + Stops track at cue point, OR go to cue point and play after release (CUP mode). - + Set cue point (Pioneer/Mixxx/Numark mode), set cue point and play after release (CUP mode) OR preview from it (Denon mode). - + Is latching the playing state. - + Seeks the track to the cue point and stops. - + Play Пусти - + Plays track from the cue point. - + Sends the selected channel's audio to the headphone output, selected in Preferences -> Sound Hardware. - + (This skin should be updated to use Sync Lock!) - + Enable Sync Lock - + Tap to sync the tempo to other playing tracks or the sync leader. - + Enable Sync Leader - + When enabled, this device will serve as the sync leader for all other decks. - + This is relevant when a dynamic tempo track is loaded to a sync leader deck.In that case, other synced devices will adopt the changing tempo. - + Changes the track playback speed (affects both the tempo and the pitch). If keylock is enabled, only the tempo is affected. - + Tempo Range Display - + Displays the current range of the tempo slider. - + Un-ejects when no track is loaded, i.e. reloads the track that was ejected last (of any deck). - + Delete selected hotcue. - + Track Comment - + Displays the comment tag of the loaded track. - + Opens separate artwork viewer. - + Effect Chain Preset Settings - + Show the effect chain settings menu for this unit. - + Select and configure a hardware device for this input - + Recording Duration @@ -13746,947 +14177,982 @@ may introduce a 'pumping' effect and/or distortion. - + When tapped repeatedly, adjusts the tempo to match the tapped BPM. + + + Click to open the tempo/BPM editor + + + + + It also shows a colored bar if Key colors are enabled in the Preferences. + + + The bar will be split vertically if the track's key is in between full keys. + + + + Tempo Tap - + Rate Tap and BPM Tap - + + Set Tempo + + + + + Set the desired tempo in BPM. If the track currently has no BPM detected, set the desired tempo in percent. + + + + Adjust beatgrid by exactly one half beat. Usable only on tracks with constant tempo. - + Revert last BPM/Beatgrid Change - + Revert last BPM/Beatgrid Change of the loaded track. - - + + Toggle the BPM/beatgrid lock - + Tempo and Rate Tap - + Tempo, Rate Tap and BPM Tap - + Shift cues earlier - - + + Shift cues imported from Serato or Rekordbox if they are slightly off time. - + Left click: shift 10 milliseconds earlier - + Right click: shift 1 millisecond earlier - + Shift cues later - + Left click: shift 10 milliseconds later - + Right click: shift 1 millisecond later - - - + + + Drag a Hotcue button here to continue playing after releasing the Hotcue. - + Hint: Change the default cue mode in Preferences -> Decks. - + Mutes the selected channel's audio in the main output. - + Main mix enable - + Hold or short click for latching to mix this input into the main output. - + + Reloads the last replaced track. If no track is loaded reloads the second-last ejected track. + + + + If hotcue is a loop cue, toggles the loop and jumps to if the loop is behind the play position. - + If the play position is inside an active loop, stores the loop as loop cue. - + Drag this button onto another Hotcue button to move it there (change its index). If the other hotcue is set, the two are swapped. - + Expand/Collapse Samplers - + Toggle expanded samplers view. - + Displays the duration of the running recording. - + Auto DJ is active - + Red for when needle skip has been detected. - + Hot Cue - Track will seek to nearest previous hotcue point. - + Sets the track Loop-In Marker to the current play position. - + Press and hold to move Loop-In Marker. - + Jump to Loop-In Marker. - + Sets the track Loop-Out Marker to the current play position. - + Press and hold to move Loop-Out Marker. - + Jump to Loop-Out Marker. - + If the track has no beats the unit is seconds. - + Beatloop Size - + Select the size of the loop in beats to set with the Beatloop button. - + Changing this resizes the loop if the loop already matches this size. - + Halve the size of an existing beatloop, or halve the size of the next beatloop set with the Beatloop button. - + Double the size of an existing beatloop, or double the size of the next beatloop set with the Beatloop button. - + Start a loop over the set number of beats. - + Temporarily enable a rolling loop over the set number of beats. - + Beatloop Anchor - + Define whether the loop is created and adjusted from its staring point or ending point. - + Beatjump/Loop Move Size - + Select the number of beats to jump or move the loop with the Beatjump Forward/Backward buttons. - + Beatjump Forward - + Jump forward by the set number of beats. - + Move the loop forward by the set number of beats. - + Jump forward by 1 beat. - + Move the loop forward by 1 beat. - + Beatjump Backward - + Jump backward by the set number of beats. - + Move the loop backward by the set number of beats. - + Jump backward by 1 beat. - + Move the loop backward by 1 beat. - + Reloop - + If the loop is ahead of the current position, looping will start when the loop is reached. - + Works only if Loop-In and Loop-Out Marker are set. - + Enable loop, jump to Loop-In Marker, and stop playback. - + Displays the elapsed and/or remaining time of the track loaded. - + Click to toggle between time elapsed/remaining time/both. - + Hint: Change the time format in Preferences -> Decks. - + Show/hide intro & outro markers and associated buttons. - + + Ensure all waveforms to have the same height across all channels. By default, when displaying the stem controls, waveform for channel that have no stem may render with a shorter height in order to honor the waveform container size you have requested.. + + + + Intro Start Marker - - - - + + + + If marker is set, jumps to the marker. - - - - + + + + If marker is not set, sets the marker to the current play position. - - - - + + + + If marker is set, clears the marker. - + Intro End Marker - + Outro Start Marker - + Outro End Marker - + Mix - + Adjust the mixing of the dry (input) signal with the wet (output) signal of the effect unit - + D/W mode: Crossfade between dry and wet - + D+W mode: Add wet to dry - + Mix Mode - + Adjust how the dry (input) signal is mixed with the wet (output) signal of the effect unit - + Dry/Wet mode (crossed lines): Mix knob crossfades between dry and wet Use this to change the sound of the track with EQ and filter effects. - + Dry+Wet mode (flat dry line): Mix knob adds wet to dry Use this to change only the effected (wet) signal with EQ and filter effects. - + Route the main mix through this effect unit. - + Route the left crossfader bus through this effect unit. - + Route the right crossfader bus through this effect unit. - + Right side active: parameter moves with right half of Meta Knob turn - + Stem Label - + Name of the stem stored in the stem file - + Text is displayed in the stem color stored in the stem file - + this stem color is also used for the waveform of this stem - + Stem Mute - + Toggle the stem mute/unmuted - + Stem Volume Knob - + Adjusts the volume of the stem - + Skin Settings Menu - + Show/hide skin settings menu - + Save Sampler Bank Сачувај групу узорака - + Save the collection of samples loaded in the samplers. - + Load Sampler Bank Учитај групу узорака - + Load a previously saved collection of samples into the samplers. - + Show Effect Parameters Приказ параметара ефекта - + Enable Effect - + Meta Knob Link - + Set how this parameter is linked to the effect's Meta Knob. - + Meta Knob Link Inversion - + Inverts the direction this parameter moves when turning the effect's Meta Knob. - + Super Knob Гл. потенциометар - + Next Chain Сл. ланац - + Previous Chain Претходни ланац - + Next/Previous Chain Сл./претх. меморисани ланац - + Clear Уклони - + Clear the current effect. - + Toggle Активација - + Toggle the current effect. - + Next Даље - + Clear Unit Уклони процесор - + Clear effect unit. - + Show/hide parameters for effects in this unit. - + Toggle Unit Процесор активан - + Enable or disable this whole effect unit. - + Controls the Meta Knob of all effects in this unit together. - + Load next effect chain preset into this effect unit. - + Load previous effect chain preset into this effect unit. - + Load next or previous effect chain preset into this effect unit. - - - - - - - - - + + + + + + + + + Assign Effect Unit - + Assign this effect unit to the channel output. - + Route the headphone channel through this effect unit. - + Route this deck through the indicated effect unit. - + Route this sampler through the indicated effect unit. - + Route this microphone through the indicated effect unit. - + Route this auxiliary input through the indicated effect unit. - + The effect unit must also be assigned to a deck or other sound source to hear the effect. - + Switch to the next effect. - + Previous Претходно - + Switch to the previous effect. - + Next or Previous Следећи/претходни - + Switch to either the next or previous effect. - + Meta Knob Подесиви пот. - + Controls linked parameters of this effect - + Effect Focus Button - + Focuses this effect. - + Unfocuses this effect. - + Refer to the web page on the Mixxx wiki for your controller for more information. - + Effect Parameter - + Adjusts a parameter of the effect. - + Inactive: parameter not linked - + Active: parameter moves with Meta Knob - + Left side active: parameter moves with left half of Meta Knob turn - + Left and right side active: parameter moves across range with half of Meta Knob turn and back with the other half - - + + Equalizer Parameter Kill - - + + Holds the gain of the EQ to zero while active. - + Quick Effect Super Knob - + Quick Effect Super Knob (control linked effect parameters). - + Hint: Change the default Quick Effect mode in Preferences -> Equalizers. - + Equalizer Parameter - + Adjusts the gain of the EQ filter. - + Hint: Change the default EQ mode in Preferences -> Equalizers. - - + + Adjust Beatgrid Дотерај тактну мрежу - + Adjust beatgrid so the closest beat is aligned with the current play position. Дотерајте тактну мрежу тако да је најближи такт поравнат са тренутним положајем пуштања. - - + + Adjust beatgrid to match another playing deck. Намести Битгрид да прати други дек - + If quantize is enabled, snaps to the nearest beat. Ако је омогућено куантизовање, пријања се на најближи такт. - + Quantize Квантизуј - + Toggles quantization. Окините квантизацију. - + Loops and cues snap to the nearest beat when quantization is enabled. Петље и наговештаји пријањају на најближи такт када је укључена квантизација. - + Reverse Уназад - + Reverses track playback during regular playback. Пустите траку уназад за време редовног пуштања. - + Puts a track into reverse while being held (Censor). - + Playback continues where the track would have been if it had not been temporarily reversed. - - - + + + Play/Pause Пусти/паузирај - + Jumps to the beginning of the track. Скочите на почетак нумере. - + Syncs the tempo (BPM) and phase to that of the other track, if BPM is detected on both. - + Syncs the tempo (BPM) to that of the other track, if BPM is detected on both. - + Sync and Reset Key - + Increases the pitch by one semitone. - + Decreases the pitch by one semitone. - + Enable Vinyl Control - + When disabled, the track is controlled by Mixxx playback controls. - + When enabled, the track responds to external vinyl control. - + Enable Passthrough - + Indicates that the audio buffer is too small to do all audio processing. - + Displays cover artwork of the loaded track. - + Displays options for editing cover artwork. - + Star Rating - + Assign ratings to individual tracks by clicking the stars. @@ -14821,33 +15287,33 @@ Use this to change only the effected (wet) signal with EQ and filter effects. - + Prevents the pitch from changing when the rate changes. - + Changes the number of hotcue buttons displayed in the deck - + Starts playing from the beginning of the track. - + Jumps to the beginning of the track and stops. - - + + Plays or pauses the track. Пустите или паузирајте нумеру. - + (while playing) (за време пуштања) @@ -14867,215 +15333,215 @@ Use this to change only the effected (wet) signal with EQ and filter effects. - + (while stopped) (док је заустављена) - + Cue Наговештај - + Headphone Слушалице - + Mute Пригуши - + Old Synchronize - + Syncs to the first deck (in numerical order) that is playing a track and has a BPM. Ускладите са првим носачем (према бројевима) који пушта нумеру и има ТПМ. - + If no deck is playing, syncs to the first deck that has a BPM. Ако ниједан носач не пушта, ускладите са првим носачем који има ТПМ. - + Decks can't sync to samplers and samplers can only sync to decks. Носачи могу да се усклађују са узорчницима а узорчници могу само да се усклађују са носачима. - + Hold for at least a second to enable sync lock for this deck. - + Decks with sync locked will all play at the same tempo, and decks that also have quantize enabled will always have their beats lined up. - + Resets the key to the original track key. - + Speed Control - - - + + + Changes the track pitch independent of the tempo. - + Increases the pitch by 10 cents. - + Decreases the pitch by 10 cents. - + Pitch Adjust Подеси фреквенцију - + Adjust the pitch in addition to the speed slider pitch. - + Opens a menu to clear hotcues or edit their labels and colors. - + Drag this button onto a Play button while previewing to continue playback after release. - + Dragging with Shift key pressed will not start previewing the hotcue. - + Record Mix Снимај микс - + Toggle mix recording. - + Enable Live Broadcasting - + Stream your mix over the Internet. - + Provides visual feedback for Live Broadcasting status: - + disabled, connecting, connected, failure. - + When enabled, the deck directly plays the audio arriving on the vinyl input. - + Playback will resume where the track would have been if it had not entered the loop. Пуштање ће се наставити са места на коме би нумера била да није ушла у петљу. - + Loop Exit Напусти петљу - + Turns the current loop off. Искључите тренутну петљу. - + Slip Mode Режим мировања - + When active, the playback continues muted in the background during a loop, reverse, scratch etc. Када је радан, пуштање се наставља пригушено у позадини током петље, уназад, гребања итд. - + Once disabled, the audible playback will resume where the track would have been. Када га искључите, чујно пуштање ће се наставити са места на коме била нумера. - + Track Key The musical key of a track - + Displays the musical key of the loaded track. - + Clock Сат - + Displays the current time. Прикажите тренутно време. - + Audio Latency Usage Meter - + Displays the fraction of latency used for audio processing. - + A high value indicates that audible glitches are likely. - + Do not enable keylock, effects or additional decks in this situation. - + Audio Latency Overload Indicator @@ -15115,259 +15581,259 @@ Use this to change only the effected (wet) signal with EQ and filter effects.Покрените управљање плочом из „Изборник —> Опције“. - + Displays the current musical key of the loaded track after pitch shifting. - + Fast Rewind Брзо премотај уназад - + Fast rewind through the track. Брзо премотавајте уназад по нумери. - + Fast Forward Брзо премотај унапред - + Fast forward through the track. Брзо премотавајте унапред по нумери. - + Jumps to the end of the track. Скочите на крај нумере. - + Sets the pitch to a key that allows a harmonic transition from the other track. Requires a detected key on both involved decks. - - - + + + Pitch Control Управљање тоном - + Pitch Rate Проток тона - + Displays the current playback rate of the track. Прикажите текући проток пуштања нумере. - + Repeat Понови - + When active the track will repeat if you go past the end or reverse before the start. Када ће активна нумера бити поновљена ако прођете крај или вратите уназад пре почетка. - + Eject Избаци - + Ejects track from the player. Избаците нумеру из програма. - + Hotcue Битан наговештај - + If hotcue is set, jumps to the hotcue. Ако је постављен битан наговештај, скочите на битни наговештај. - + If hotcue is not set, sets the hotcue to the current play position. Ако битан наговештај није подешен, поставите битан наговештај на тренутни положај пуштања. - + Vinyl Control Mode Режим управљања плочом - + Absolute mode - track position equals needle position and speed. Режим апсолутности — положај нумере изједначава положај и брзину игле. - + Relative mode - track speed equals needle speed regardless of needle position. Режим релативности — брзина нумере изједначава брзину игле без обзира на њен положај. - + Constant mode - track speed equals last known-steady speed regardless of needle input. Режим сталности — брзина нумере изједначава последњу знану стабилну брзину без обзира на улаз игле. - + Vinyl Status Стање плоче - + Provides visual feedback for vinyl control status: Обезбедите видљиве повратне податке за стање управљања плочом: - + Green for control enabled. Зелено за укључено управљање. - + Blinking yellow for when the needle reaches the end of the record. Жуто трепћуће када игла стигне на крај снимка. - + Loop-In Marker Означавач упетљавања - + Loop-Out Marker Означавач отпетљавања - + Loop Halve Преполовљавање петље - + Halves the current loop's length by moving the end marker. Преполовите трајање тренутне петље померањем крајњег означавача. - + Deck immediately loops if past the new endpoint. Носач одмах прави петљу ако је прошао нову крајњу тачку. - + Loop Double Удвостручавање петље - + Doubles the current loop's length by moving the end marker. Удвостручите трајање тренутне петље померањем крајњег означавача. - + Beatloop Тактна петља - + Toggles the current loop on or off. Укључите или искључите тренутну петљу. - + Works only if Loop-In and Loop-Out marker are set. Ради само ако су постављени означавачи за упетљавање и отпетљавање. - + Vinyl Cueing Mode Режим наговештаја плоче - + Determines how cue points are treated in vinyl control Relative mode: Одредите како се поступа са тачкама наговештаја у релативном режиму управљања плочом: - + Off - Cue points ignored. Искљ. — Тачке наговештаја су занемарене. - + One Cue - If needle is dropped after the cue point, track will seek to that cue point. Један наговештај — Ако отпустите иглу након тачке наговештаја, нумера ће се премотати до тачке наговештаја. - + Track Time Време нумере - + Track Duration Трајање нумере - + Displays the duration of the loaded track. Прикажите трајање учитане нумере. - + Information is loaded from the track's metadata tags. Податак се учитава из ознака метаподатака нумере. - + Track Artist Извођач нумере - + Displays the artist of the loaded track. Прикажите извођача учитане нумере. - + Track Title Наслов нумере - + Displays the title of the loaded track. Прикажите наслов учитане нумере. - + Track Album Албум нумере - + Displays the album name of the loaded track. Прикажите назив албума учитане нумере. - + Track Artist/Title Извођач/Наслов нумере - + Displays the artist and title of the loaded track. Прикажите извођача и наслов учитане нумере. @@ -15595,47 +16061,75 @@ This can not be undone! WCueMenuPopup - + Cue number - + Cue position - + Edit cue label - + Label... - + Delete this cue - - Toggle this cue type between normal cue and saved loop + + Turn this cue into a regular hotcue + + + + + Turn this cue into a saved loop + + + + + Left-click: Use the old size if known or the current beatloop size as the loop size + + + + + Right-click: Use the current play position as new loop end if it is after the cue + + + + + Turn this cue into a saved forward jump. + + is a linebreak. Try to not to extend the translation beyond the length of the longest source line so the tooltip remains compact. + + + + + Turn this cue into a saved backward jump (one shot loop). - - Left-click: Use the old size or the current beatloop size as the loop size + + Left-click: Use the old size if known or the current play position as jump start position +If this is already a jump cue, swap the jump position and the cue/target position. - - Right-click: Use the current play position as loop end if it is after the cue + + Right-click: use current play position as new jump start position - + Hotcue #%1 @@ -15937,171 +16431,181 @@ This can not be undone! + Show Auto DJ + + + + + Switch to the Auto DJ view. + + + + &Full Screen &Цео екран - + Display Mixxx using the full screen Прикажите Миксикс користећи цео екран - + &Options &Опције - + &Vinyl Control &Управљање плочом - + Use timecoded vinyls on external turntables to control Mixxx Користите плоче са временским кодирањем на спољним грамофонима да управљате Миксиксом - + Enable Vinyl Control &%1 - + &Record Mix &Сними микс - + Record your mix to a file Снимите ваш микс у датотеку - + Ctrl+R Ктрл+Р - + Enable Live &Broadcasting Укључи емитовање &уживо - + Stream your mixes to a shoutcast or icecast server Пошаљите ток ваших радова на сервер шоуткаста или ајскаста - + Ctrl+L Ктрл+Л - + Enable &Keyboard Shortcuts Укључи пречице на &тастатури - + Toggles keyboard shortcuts on or off Укључите или искључите пречице тастатуре - + Ctrl+` Ктрл+` - + &Preferences &Поставке - + Change Mixxx settings (e.g. playback, MIDI, controls) Измените подешавања Миксикса (нпр. пуштање, МИДИ, управљања) - + &Developer - + &Reload Skin &Поново учитај маску - + Reload the skin Поново учитајте маску - + Ctrl+Shift+R Ктрл+Помак+Р - + Developer &Tools - + Opens the developer tools dialog - + Ctrl+Shift+T - + Stats: &Experiment Bucket - + Enables experiment mode. Collects stats in the EXPERIMENT tracking bucket. - + Ctrl+Shift+E - + Stats: &Base Bucket - + Enables base mode. Collects stats in the BASE tracking bucket. - + Ctrl+Shift+B - + Deb&ugger Enabled - + Enables the debugger during skin parsing - + Ctrl+Shift+D - + &Help По&моћ @@ -16135,62 +16639,62 @@ This can not be undone! - + &Community Support &Подршка заједнице - + Get help with Mixxx Потражите помоћ за Миксикс - + &User Manual &Корисничко упутство - + Read the Mixxx user manual. Прочитајте корисничко упутство Миксикса. - + &Keyboard Shortcuts - + Speed up your workflow with keyboard shortcuts. - + &Settings directory - + Open the Mixxx user settings directory. - + &Translate This Application &Преведи овај програм - + Help translate this application into your language. Помозите у превођењу овог програма на наш језик насушни. - + &About &О програму - + About the application О самом програму @@ -16198,25 +16702,25 @@ This can not be undone! WOverview - + Passthrough Пропуштање - + Ready to play, analyzing... Text on waveform overview when file is playable but no waveform is visible - - + + Loading track... Text on waveform overview when file is cached from source - + Finalizing... Text on waveform overview during finalizing of waveform analysis @@ -16406,625 +16910,640 @@ This can not be undone! WTrackMenu - + Load to - + Deck Носач - + Sampler Узорчник - + Add to Playlist Додај на списак нумера - + Crates Гајбице - + Metadata Мета-подаци - + Update external collections - + Cover Art Омот - + Adjust BPM - + Select Color - - + + Analyze Анализирај - - + + Delete Track Files - + Add to Auto DJ Queue (bottom) Додајте у ред самосталног диџеја (доле) - + Add to Auto DJ Queue (top) Додајте у ред самосталног диџеја (горе) - + Add to Auto DJ Queue (replace) Додај на Ауто-Диџеј листу (рокада) - + Preview Deck Носач прегледа - + Remove Уклони - + Remove from Playlist - + Remove from Crate - + Hide from Library Сакриј у библиотеци - + Unhide from Library Прикажи у библиотеци - + Purge from Library Избаци из библиотеке - + Move Track File(s) to Trash - + Delete Files from Disk - + Properties Својства - + Open in File Browser Отвори у прегледнику датотека - + Select in Library - + Import From File Tags - + Import From MusicBrainz - + Export To File Tags - + BPM and Beatgrid - + Play Count - + Rating Оцена - + Cue Point - - + + Hotcues Битни наговештаји - + Intro - + Outro - + Key Кључ - + ReplayGain Ауто-ниво - + Waveform - + Comment Примедба - + All Све - + Sort hotcues by position (remove offsets) - + Sort hotcues by position - + Lock BPM Закључај ТУМ - + Unlock BPM Откључај ТУМ - + Double BPM Удвостручи ТУМ - + Halve BPM Преполови ТУМ - + 2/3 BPM - + 3/4 BPM - + 4/3 BPM - + 3/2 BPM - + Shift Beatgrid Half Beat - + Reanalyze - + Reanalyze (constant BPM) - + Reanalyze (variable BPM) - + Update ReplayGain from Deck Gain - + Deck %1 Палуба %1 - + Importing metadata of %n track(s) from file tags - + Marking metadata of %n track(s) to be exported into file tags - - + + Create New Playlist Састави листу песама - + Enter name for new playlist: Ново име за листу песама: - + New Playlist Нови списак нумера - - - + + + Playlist Creation Failed Стварање списка нумера није успело - + A playlist by that name already exists. Већ постоји списак нумера са овим називом. - + A playlist cannot have a blank name. Назив списка нумера не може бити празан. - + An unknown error occurred while creating playlist: Дошло је до непознате грешке приликом стварања списка нумера: - + Add to New Crate - + Scaling BPM of %n track(s) - + Undo BPM/beats change of %n track(s) - + Locking BPM of %n track(s) - + Unlocking BPM of %n track(s) - + Setting rating of %n track(s) - + Setting color of %n track(s) - + Resetting play count of %n track(s) - + Resetting beats of %n track(s) - + Clearing rating of %n track(s) - + Clearing comment of %n track(s) - + Removing main cue from %n track(s) - + Removing outro cue from %n track(s) - + Removing intro cue from %n track(s) - + Removing loop cues from %n track(s) - + Removing hot cues from %n track(s) - + Sorting hotcues of %n track(s) by position (remove offsets) - + Sorting hotcues of %n track(s) by position - + Resetting keys of %n track(s) - + Resetting replay gain of %n track(s) - + Resetting waveform of %n track(s) - + Resetting all performance metadata of %n track(s) - + Move these files to the trash bin? - + Permanently delete these files from disk? - - + + This can not be undone! - + Cancel Откажи - + Delete Files - + Okay - + Move Track File(s) to Trash? - + Track Files Deleted - + Track Files Moved To Trash - + %1 track files were moved to trash and purged from the Mixxx database. - + %1 track files were deleted from disk and purged from the Mixxx database. - + Track File Deleted - + Track file was deleted from disk and purged from the Mixxx database. - + The following %1 file(s) could not be deleted from disk - + This track file could not be deleted from disk - + Remaining Track File(s) - + Close Затвори - + Clear Reset metadata in right click track context menu in library - + Loops - + Clear BPM and Beatgrid - + Undo last BPM/beats change - + Move this track file to the trash bin? - + Permanently delete this track file from disk? - + All decks where these tracks are loaded will be stopped and the tracks will be ejected. - + All decks where this track is loaded will be stopped and the track will be ejected. - + Removing %n track file(s) from disk... - + Note: if you are in the Computer or Recording view you need to click the current view again to see changes. - + Track File Moved To Trash - + Track file was moved to trash and purged from the Mixxx database. - + Don't show again during this session - + The following %1 file(s) could not be moved to trash - + This track file could not be moved to trash + + + Replace current Auto DJ queue? + + + + + Do you want to replace the entire Auto DJ queue with the selected tracks? + + + + + Don't ask again during this session + + - + Setting cover art of %n track(s) - + Reloading cover art of %n track(s) @@ -17078,37 +17597,37 @@ This can not be undone! WTrackTableView - + Confirm track hide - + Are you sure you want to hide the selected tracks? - + Are you sure you want to remove the selected tracks from AutoDJ queue? - + Are you sure you want to remove the selected tracks from this crate? - + Are you sure you want to remove the selected tracks from this playlist? - + Don't ask again during this session - + Confirm track removal @@ -17116,12 +17635,12 @@ This can not be undone! WTrackTableViewHeader - + Show or hide columns. Прикажите или сакријте колоне. - + Shuffle Tracks @@ -17129,52 +17648,52 @@ This can not be undone! mixxx::CoreServices - + fonts - + database - + effects - + audio interface - + decks - + library - + Choose music library directory Изаберите директоријум музичке библиотеке - + controllers - + Cannot open database Не могу да отворим базу података - + Unable to establish a database connection. Mixxx requires QT with SQLite support. Please read the Qt SQL driver documentation for information on how to build it. @@ -17331,6 +17850,24 @@ Click OK to exit. + + mixxx::qml::QmlApplication + + + Existing user profile detected + + + + + Trying to run Mixxx 3.0 with an existing %0 user profile! <br><br>There is <b>serious risks</b> of data loss and corruption.<br>We recommend using a test profile folder with the '--settings-path' argument. <br><br>If you want to continue at your own risk, run Mixxx with the argument '--allow-dangerous-data-corruption-risk'. + + + + + Ok + + + mixxx::qml::QmlVisibleEffectsModel @@ -17339,4 +17876,27 @@ Click OK to exit. + + mixxx::qml::QmlWaveformRendererMark + + + Cannot find the marker pixmap + + + + + Cannot find the marker endPixmap + + + + + Cannot find the marker icon + + + + + Cannot find the marker endIcon + + + \ No newline at end of file diff --git a/res/translations/mixxx_sv.qm b/res/translations/mixxx_sv.qm index cd3b0cdd4d8ee800b355a6d6a78bfffea2501aa9..a15815628e2deee7dfc2f053d91b69159974e45e 100644 GIT binary patch delta 22574 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 oG-!dx{g-qBu9ownUg6Q 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 diff --git a/res/translations/mixxx_sv.ts b/res/translations/mixxx_sv.ts index 69b15a4b1bb4..324cce0dbd3a 100644 --- a/res/translations/mixxx_sv.ts +++ b/res/translations/mixxx_sv.ts @@ -8,6 +8,14 @@ + + AllTrackLibraryFeature + + + All... + + + AnalysisFeature @@ -19,52 +27,52 @@ AutoDJFeature - + Crates Backar - + Enable Auto DJ - + Aktivera Auto DJ - + Disable Auto DJ - + Inaktivera Auto DJ - + Clear Auto DJ Queue - + Remove Crate as Track Source Avlägsna back som låtkälla - + Auto DJ Auto DJ - + Confirmation Clear - + Do you really want to remove all tracks from the Auto DJ queue? - + This can not be undone. - + Detta kan inte ångras. - + Add Crate as Track Source Lägg till back som låtkälla @@ -118,7 +126,7 @@ Import as Playlist - + Importera som spellista @@ -223,7 +231,7 @@ - + Export Playlist Exportera spellista @@ -277,20 +285,20 @@ - + Playlist Creation Failed Spellistan gick inte att skapa - + An unknown error occurred while creating playlist: Ett okänt fel uppstod när spellistan skapades: Confirm Deletion - + Bekräfta borttagning @@ -298,12 +306,12 @@ - + M3U Playlist (*.m3u) M3U-spellista (*.m3u) - + M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Text CSV (*.csv);;Readable Text (*.txt) M3U spellista (*.m3u);;M3U8 spellista (*.m3u8);;PLS spellista (*.pls);;Text CSV (*.csv);;Läsbar text (*.txt) @@ -311,12 +319,12 @@ BaseSqlTableModel - + # # - + Timestamp Tidsstämpel @@ -324,7 +332,7 @@ BaseTrackPlayerImpl - + Couldn't load track. Kunde inte ladda in låt. @@ -362,7 +370,7 @@ Kanaler - + Color Färg @@ -377,7 +385,7 @@ Kompositör - + Cover Art Album-konst @@ -387,7 +395,7 @@ Datum tillagd - + Last Played Senast spelad @@ -417,17 +425,17 @@ Tonart - + Location Plats Overview - + Översikt - + Preview Förhandsgranska @@ -467,10 +475,10 @@ År - + Fetching image ... Tooltip text on the cover art column shown when the cover is read from disk - + Hämtar bild ... @@ -489,22 +497,22 @@ BroadcastProfile - + Can't use secure password storage: keychain access failed. - + Secure password retrieval unsuccessful: keychain access failed. - + Settings error Inställningsfel - + <b>Error with settings for '%1':</b><br> <b>Fel med inställningarna för '%1': </b> <br> @@ -592,7 +600,7 @@ - + Computer Dator @@ -612,17 +620,17 @@ Skanna - + "Computer" lets you navigate, view, and load tracks from folders on your hard disk and external devices. - + It shows the data from the file tags, not track data from your Mixxx library like other track views. - + If you load a track file from here, it will be added to your library. @@ -735,12 +743,12 @@ Fil skapad - + Mixxx Library Mixxx-bibliotek - + Could not load the following file because it is in use by Mixxx or another application. Följande fil kunde inte laddas in för att den används av Mixxx eller ett annat program. @@ -771,87 +779,92 @@ CmdlineArgs - + Mixxx is an open source DJ software. For more information, see: - + Starts Mixxx in full-screen mode Startar Mixxx i fullskärmsläge - + Use a custom locale for loading translations. (e.g 'fr') - + Top-level directory where Mixxx should look for its resource files such as MIDI mappings, overriding the default installation location. - + Path the debug statistics time line is written to - + Causes Mixxx to display/log all of the controller data it receives and script functions it loads - + The controller mapping will issue more aggressive warnings and errors when detecting misuse of controller APIs. New Controller Mappings should be developed with this option enabled! - + Enables developer-mode. Includes extra log info, stats on performance, and a Developer tools menu. - + Top-level directory where Mixxx should look for settings. Default is: - + Starts Auto DJ when Mixxx is launched. - + Rescans the library when Mixxx is launched. - + Use legacy vu meter - + Use legacy spinny - - Loads experimental QML GUI instead of legacy QWidget skin + + Loads the highly unstable 3.0 Mixxx interface, based on QML. You need to use a new setting profile, or run with 'allow-dangerous-data-corruption-risk' to use with the current one. We highly recommend backing up your data if you do so. + + + + + Force Mixxx to load an unstable version with an existing user profile from a stable version - + Enables safe-mode. Disables OpenGL waveforms, and spinning vinyl widgets. Try this option if Mixxx is crashing on startup. - + [auto|always|never] Use colors on the console output. - + Sets the verbosity of command line logging. critical - Critical/Fatal only warning - Above + Warnings @@ -861,32 +874,32 @@ trace - Above + Profiling messages - + Sets the the logging level at which the log buffer is flushed to mixxx.log. <level> is one of the values defined at --log-level above. - + Sets the maximum file size of the mixxx.log file in bytes. Use -1 for unlimited. The default is 100 MB as 1e5 or 100000000. - + Breaks (SIGINT) Mixxx, if a DEBUG_ASSERT evaluates to false. Under a debugger you can continue afterwards. - + Overrides the default application GUI style. Possible values: %1 - + Load the specified music file(s) at start-up. Each file you specify will be loaded into the next virtual deck. - + Preview rendered controller screens in the Setting windows. @@ -979,2557 +992,2585 @@ trace - Above + Profiling messages ControlPickerMenu - + Headphone Output Hörlursutgång - - - + + + + Deck %1 + %1 is the deck number 1 ... 4 Tallrik %1 - + Sampler %1 Samplare %1 - + Preview Deck %1 Förhandsgranska Tallrik %1 - + Microphone %1 Mikrofon %1 - + Auxiliary %1 Extraingång %1 - + Reset to default Återställ till standard - + Effect Rack %1 Effektrack %1 - + Parameter %1 Parameter %1 - + Mixer Mixerbord - - + + Crossfader Crossfader - + Headphone mix (pre/main) Hörlursmix (förlyssning/huvudmix) - + Toggle headphone split cueing Slå på/av delad hörlurslyssning - + Headphone delay Hörlursfördröjning - + Transport Transportera - + Strip-search through track Grundlig genomsökning av låt - + Play button Uppspelningsknapp - - + + Set to full volume Ställ in full ljudstyrka - - + + Set to zero volume Ställ ljudstyrkan till noll - + Stop button Stoppknapp - + Jump to start of track and play Hoppa till början av låten och spela - + Jump to end of track Hoppa till slutet av låten - + Reverse roll (Censor) button Knapp baklänges-slinga (förhandslyssning) - + Headphone listen button Lyssna-knapp hörlur - - + + Mute button Tysta-knapp - + Toggle repeat mode Växla upprepningssätt - - + + Mix orientation (e.g. left, right, center) Mix-balans (t.ex. vänster, höger, i mitten) - - + + Set mix orientation to left Sätter mix-balansen åt vänster - - + + Set mix orientation to center Sätter mix-balansen i mitten - - + + Set mix orientation to right Sätter mix-balansen åt höger - + Toggle slip mode Växla spela-vidaresätt - - + + BPM BPM - + Increase BPM by 1 Öka BPM med 1 - + Decrease BPM by 1 Minska BPM med 1 - + Increase BPM by 0.1 Öka BPM med 0.1 - + Decrease BPM by 0.1 Minska BPM med 0.1 - + BPM tap button Knapp för att trumma BPM - + Toggle quantize mode Växla kvantiseringssätt - + One-time beat sync (tempo only) Engångs takt-sync (endast tempo) - + One-time beat sync (phase only) Engångs takt-sync (endast fas) - + Toggle keylock mode Växla sätt för tonhöjdslås - + Equalizers Equalizers - + Vinyl Control Vinylstyrning - + Toggle vinyl-control cueing mode (OFF/ONE/HOT) Växla markeringssätt för vinylstyrning (OFF/ONE/HOT) - + Toggle vinyl-control mode (ABS/REL/CONST) Växla vinylstyrningssätt (ABS/REL/CONST) - + Pass through external audio into the internal mixer Passera genom externt ljud till den interna mixern - + Cues Markeringar - + Cue button Markeringsknapp - + Set cue point Ange markeringspunkt - + Go to cue point Hoppa till markeringspunkt - + Go to cue point and play Hoppa till markeringspunkt och spela - + Go to cue point and stop Hoppa till markeringspunkt och stoppa - + Preview from cue point Förhandslyssna från markeringspunkt - + Cue button (CDJ mode) Markeringsknapp (CDJ-metod) - + Stutter cue Ryckvis markering - + Hotcues Snabbmarkeringar - + Set, preview from or jump to hotcue %1 Sätt, förhandslyssna från eller hoppa till snabbmarkering %1 - + Clear hotcue %1 Ta bort snabbmarkering %1 - + Set hotcue %1 Sätt snabbmarkering %1 - + Jump to hotcue %1 Hoppa till snabbmarkering %1 - + Jump to hotcue %1 and stop Hoppa till snabbmarkering %1 och stoppa - + Jump to hotcue %1 and play Hoppa till snabbmarkering %1 och spela - + Preview from hotcue %1 Förhandslyssna från snabbmarkering %1 - - + + Hotcue %1 Snabbmarkering %1 - + Looping Slinga - + Loop In button Slinga in-knapp - + Loop Out button Slinga ut-knapp - + Loop Exit button Upprepa Avsluta-knappen - + 1/2 1/2 - + 1 1 - + 2 2 - + 4 4 - + 8 8 - + 16 16 - + 32 32 - + 64 64 - + Move loop forward by %1 beats Flytta slinga framåt med %1 taktslag - + Move loop backward by %1 beats Flytta slinga bakåt med %1 taktslag - + Create %1-beat loop Skapa en %1-taktslags-slinga - + Create temporary %1-beat loop roll Skapa en temporär %1-takts rullande slinga - + Library Bibliotek - + Slot %1 Lucka %1 - + Headphone Mix Hörlursmix - + Headphone Split Cue Delad hörlurslyssning - + Headphone Delay Hörlursfördröjning - + Play Spela - + Fast Rewind Snabbspolning bakåt - + Fast Rewind button Knapp för snabbspolning bakåt - + Fast Forward Snabbspolning framåt - + Fast Forward button Knapp för snabbspolning framåt - + Strip Search Grundlig genomsökning - + Play Reverse Spela baklänges - + Play Reverse button Knapp för spela baklänges - + Reverse Roll (Censor) Baklänges-slinga (förhandslyssning) - + Jump To Start Hoppa till början - + Jumps to start of track Hoppar till början av låten - + Play From Start Spela från början - + Stop Stopp - + Stop And Jump To Start Stoppa och hoppa till början - + Stop playback and jump to start of track Avslutar uppspelning och hoppar till början av låten - + Jump To End Hoppa till slutet - + Volume Volym - - - + + + Volume Fader Volymfader - - + + Full Volume Full volym - - + + Zero Volume Noll volym - + Track Gain Låt-förstärkning - + Track Gain knob Knapp för låt-förstärkning - - + + Mute Tysta - + Eject Mata ut - - + + Headphone Listen Hörlurslyssning - + Headphone listen (pfl) button Hörlurslyssning (pfl) knapp - + Repeat Mode Upprepningssätt - + Slip Mode Spela-vidare-sätt - - + + Orientation Balans - - + + Orient Left Balans till vänster - - + + Orient Center Balans i mitten - - + + Orient Right Balans till höger - + BPM +1 BPM +1 - + BPM -1 BPM -1 - + BPM +0.1 BPM +0.1 - + BPM -0.1 BPM -0.1 - + BPM Tap Trumma BPM - + Adjust Beatgrid Faster +.01 Gör taktmönstret snabbare +.01 - + Increase track's average BPM by 0.01 Öka låtens genomsnittliga BPM med 0.01 - + Adjust Beatgrid Slower -.01 Gör taktmönstret långsamare -.01 - + Decrease track's average BPM by 0.01 Minska låtens genomsnittliga BPM med 0.01 - + Move Beatgrid Earlier Flytta taktmönstret tidigare - + Adjust the beatgrid to the left Justera taktmönstret åt vänster - + Move Beatgrid Later Flytta taktmönstret senare - + Adjust the beatgrid to the right Justera taktmönstret åt höger - + Adjust Beatgrid Justera taktmönster - + Align beatgrid to current position Rikta in taktmönstret mot aktuell position - + Adjust Beatgrid - Match Alignment - + Adjust beatgrid to match another playing deck. - + Quantize Mode Kvantiseringssätt - + Sync Sync - + Beat Sync One-Shot One-Shot takt-synkning - + Sync Tempo One-Shot One-Shot hastighets-synkning - + Sync Phase One-Shot One-Shot fas-synkning - + Pitch control (does not affect tempo), center is original pitch - + Pitch Adjust Justera hastighet - + Adjust pitch from speed slider pitch - + Match musical key Matcha tonhöjden - + Match Key Matcha tonart - + Reset Key Återställ tonart - + Resets key to original Återställ tonart till original - + High EQ Diskant-EQ - + Mid EQ Mellan-EQ - - + + Main Output Huvudutgång - + Main Output Balance Huvudutgångs-balans - + Main Output Delay Huvudutgångs-fördröjning - + Main Output Gain - + Low EQ Bas-EQ - + Toggle Vinyl Control Växla vinylstyrning - + Toggle Vinyl Control (ON/OFF) Växla vinylstyrning (PÅ/AV) - + Vinyl Control Mode Vinylstyrningssätt - + Vinyl Control Cueing Mode Markeringssätt för vinylstyrning - + Vinyl Control Passthrough Vinylstyrning "släpp igenom" - + Vinyl Control Next Deck Vinylstyrning "nästa tallrik" - + Single deck mode - Switch vinyl control to next deck Entallriksmodus - växla vinylstyrning till nästa tallrik - + Cue Markering - + Set Cue Sätt markering - + Go-To Cue Gå till markering - + Go-To Cue And Play Gå till markering och spela - + Go-To Cue And Stop Gå till markering och stoppa - + Preview Cue Förhandslyssna markering - + Cue (CDJ Mode) Markering (CDJ-metod) - + Stutter Cue Ryckvis markering - + Go to cue point and play after release - + Clear Hotcue %1 Ta bort snabbmarkering %1 - + Set Hotcue %1 Sätt snabbmarkering %1 - + Jump To Hotcue %1 Hoppa till snabbmarkering %1 - + Jump To Hotcue %1 And Stop Hoppa till snabbmarkering %1 och stoppa - + Jump To Hotcue %1 And Play Hoppa till snabbmarkering %1 och spela - + Preview Hotcue %1 Förhandslyssna snabbmarkering %1 - + Loop In Slinga in - + Loop Out Slinga ut - + Loop Exit Avsluta slinga - + Reloop/Exit Loop Repetera/avsluta slinga - + Loop Halve Halv slinga - + Loop Double Dubbel slinga - + 1/32 1/32 - + 1/16 1/16 - + 1/8 1/8 - + 1/4 1/4 - + Move Loop +%1 Beats Förskjut slinga +%1 taktslag - + Move Loop -%1 Beats Förskjut slinga -%1 taktslag - + Loop %1 Beats Kretsa runt %1 taktslag - + Loop Roll %1 Beats Rullande slinga %1 taktslag - + Add to Auto DJ Queue (bottom) Spara till Auto DJ kö (sist) - + Append the selected track to the Auto DJ Queue - + Add to Auto DJ Queue (top) Spara till Auto DJ kö (först) - + Prepend selected track to the Auto DJ Queue - + Load Track Ladda låt - + Load selected track Ladda valda låtar - + Load selected track and play Ladda utvald låt och spela - - + + Record Mix Spela in mix - + Toggle mix recording Mix-inspelning på/av - + Effects Effekter - - Quick Effects - Snabbeffekter - - - + Deck %1 Quick Effect Super Knob - + + Quick Effect Super Knob (control linked effect parameters) - - + + + + Quick Effect Snabbeffekt - + Clear Unit Rensa enhet - + Clear effect unit Nollställ effektenheten - + Toggle Unit Växla enhet - + Dry/Wet Torrt/vått - + Adjust the balance between the original (dry) and processed (wet) signal. - + Super Knob Superknapp - + Next Chain Nästa kedja - + Assign Tilldela - + Clear Rensa - + Clear the current effect Nollställ aktuell effekt - + Toggle Växla - + Toggle the current effect Slå på/av aktuell effekt - + Next Nästa - + Switch to next effect Växla till nästa effekt - + Previous Bakåt - + Switch to the previous effect Växla till föregående effekt - + Next or Previous Nästa eller föregående - + Switch to either next or previous effect Växla till nästa eller föregående effekt - - + + Parameter Value Parameter-värde - - + + Microphone Ducking Strength Styrka mikrofonduckning - + Microphone Ducking Mode Mikrofonducknings-sätt - + Gain Förstärkning - + Gain knob Vred för ökning - + Shuffle the content of the Auto DJ queue - + Skip the next track in the Auto DJ queue - + Auto DJ Toggle Växla Auto DJ - + Toggle Auto DJ On/Off Växla Auto-DJ på/av - + Show/hide the microphone & auxiliary section - + 4 Effect Units Show/Hide - + Switches between showing 2 and 4 effect units - + Mixer Show/Hide Mixer visa/dölj - + Show or hide the mixer. Visa eller dölj mixern. - + Cover Art Show/Hide (Library) Omslagskonst visa/dölj (bibliotek) - + Show/hide cover art in the library Visa/dölj omslagskonst i biblioteket - + Library Maximize/Restore Bibliotek maximera/återställ - + Maximize the track library to take up all the available screen space. - + Effect Rack Show/Hide Effektrack visa/dölj - + Show/hide the effect rack Visa/dölj effektracket - + Waveform Zoom Out Vågform zooma ut - + Headphone Gain Lyssningsnivå hörlur - + Headphone gain Lyssningsnivå hörlur - + Tap to sync tempo (and phase with quantize enabled), hold to enable permanent sync - + One-time beat sync tempo (and phase with quantize enabled) - + Playback Speed Uppspelningshastighet - + Playback speed control (Vinyl "Pitch" slider) - + Pitch (Musical key) Tonhöjd - + Increase Speed Öka hastighet - + Adjust speed faster (coarse) - + Increase Speed (Fine) Öka hastigheten (fin) - + Adjust speed faster (fine) - + Decrease Speed Sänk hastighet - + Adjust speed slower (coarse) - + Adjust speed slower (fine) - + Temporarily Increase Speed Öka hastighet temporärt - + Temporarily increase speed (coarse) Öka hastigheten temporärt (grovt) - + Temporarily Increase Speed (Fine) Öka hastigheten temporärt (fint) - + Temporarily increase speed (fine) Öka hastigheten temporärt (fint) - + Temporarily Decrease Speed Minska hastighet temporärt - + Temporarily decrease speed (coarse) Sänk hastigheten temporärt (grovt) - + Temporarily Decrease Speed (Fine) Sänk hastigheten temporärt (fint) - + Temporarily decrease speed (fine) Sänk hastigheten temporärt (fint) - - + + Adjust %1 Justera %1 - + + Deck %1 Stem %2 + + + + Effect Unit %1 Effektenhet %1 - + Button Parameter %1 Knapp-parameter %1 - + Skin Skal - + Controller - + Crossfader / Orientation - + Main Output gain - + Main Output balance Huvudutgångs-balans - + Main Output delay Huvudutgångs-fördröjning - + Headphone Hörlur - - + + Kill %1 - Döda %1 + %1 is "Low EQ" "Mid EQ" or "High EQ" + Nolla %1 - + Eject or un-eject track, i.e. reload the last-ejected track (of any deck)<br>Double-press to reload the last replaced track. In empty decks it reloads the second-last ejected track. - + BPM / Beatgrid - + Halve BPM - + Halva BPM - + Multiply current BPM by 0.5 - + Multiplicera nuvarande BPM med 0.5 - + 2/3 BPM - + 2/3 BPM - + Multiply current BPM by 0.666 - + Multiplicera nuvarande BPM med 0.666 - + 3/4 BPM - + 3/4 BPM - + Multiply current BPM by 0.75 - + Multiplicera nuvarande BPM med 0.75 - + 4/3 BPM - + 4/3 BPM - + Multiply current BPM by 1.333 - + Multiplicera nuvarande BPM med 1.333 - + 3/2 BPM - + 3/2 BPM - + Multiply current BPM by 1.5 - + Multiplicera nuvarande BPM med 1.5 - + Double BPM - + Dubbla BPM - + Multiply current BPM by 2 - + Multiplicera nuvarande BPM med 2 - + Tempo Tap - + Tempo tap button - + Move Beatgrid - + Adjust the beatgrid to the left or right - + Move Beatgrid Half a Beat - + Adjust the beatgrid by exactly one half beat. Usable only for tracks with constant tempo. - - + + Toggle the BPM/beatgrid lock - + Revert last BPM/Beatgrid Change - + Revert last BPM/Beatgrid Change of the loaded track. - + Sync / Sync Lock - + Internal Sync Leader - + Toggle Internal Sync Leader - - + + Internal Leader BPM - + Internal Leader BPM +1 - + Increase internal Leader BPM by 1 - + Internal Leader BPM -1 - + Decrease internal Leader BPM by 1 - + Internal Leader BPM +0.1 - + Increase internal Leader BPM by 0.1 - + Internal Leader BPM -0.1 - + Decrease internal Leader BPM by 0.1 - + Sync Leader - + Sync mode 3-state toggle / indicator (Off, Soft Leader, Explicit Leader) - + Speed Hastighet - + Decrease Speed (Fine) - + Pitch (Musical Key) Tonhöjd - + Increase Pitch Öka tonhöjd - + Increases the pitch by one semitone Ökar tonhöjden med en semiton - + Increase Pitch (Fine) Öka tonhöjd (fint) - + Increases the pitch by 10 cents - + Decrease Pitch Minska tonhöjd - + Decreases the pitch by one semitone Minskar tonhöjden med en semiton - + Decrease Pitch (Fine) Minska tonhöjd (fint) - + Decreases the pitch by 10 cents - + Keylock Tangentlås - + CUP (Cue + Play) CUP (Cue + Play) - + Shift cue points earlier - + Shift cue points 10 milliseconds earlier - + Shift cue points earlier (fine) - + Shift cue points 1 millisecond earlier - + Shift cue points later - + Shift cue points 10 milliseconds later - + Shift cue points later (fine) - + Shift cue points 1 millisecond later - - + + Sort hotcues by position - - + + Sort hotcues by position (remove offsets) - + Hotcues %1-%2 - + Intro / Outro Markers - + Intro Start Marker - + Intro End Marker - + Outro Start Marker - + Outro End Marker - + intro start marker - + intro end marker - + outro start marker - + outro end marker - + Activate %1 [intro/outro marker Aktivera %1 - + Jump to or set the %1 [intro/outro marker - + Set %1 [intro/outro marker - + Set or jump to the %1 [intro/outro marker - + Clear %1 [intro/outro marker Rensa %1 - + Clear the %1 [intro/outro marker Rensa %1 - + if the track has no beats the unit is seconds - + Loop Selected Beats - + Create a beat loop of selected beat size - + Loop Roll Selected Beats - + Create a rolling beat loop of selected beat size - + Loop %1 Beats set from its end point - + Loop Roll %1 Beats set from its end point - + Create %1-beat loop with the current play position as loop end - + Create temporary %1-beat loop roll with the current play position as loop end - + Loop Beats - + Loop Roll Beats - + Go To Loop In - + Go to Loop In button - + Go To Loop Out - + Go to Loop Out button - + Toggle loop on/off and jump to Loop In point if loop is behind play position - + Reloop And Stop - + Enable loop, jump to Loop In point, and stop - + Halve the loop length Halvera looplängden - + Double the loop length Dubbla looplängden - + Beat Jump / Loop Move - + Jump / Move Loop Forward %1 Beats - + Jump / Move Loop Backward %1 Beats - + Jump forward by %1 beats, or if a loop is enabled, move the loop forward %1 beats - + Jump backward by %1 beats, or if a loop is enabled, move the loop backward %1 beats - + Beat Jump / Loop Move Forward Selected Beats - + Jump forward by the selected number of beats, or if a loop is enabled, move the loop forward by the selected number of beats - + Beat Jump / Loop Move Backward Selected Beats - + Jump backward by the selected number of beats, or if a loop is enabled, move the loop backward by the selected number of beats - + Beat Jump - + Indicate which loop marker remain static when adjusting the size or is inherited from the current position - + Beat Jump / Loop Move Forward - + Beat Jump / Loop Move Backward - + Loop Move Forward Flytta loop framåt - + Loop Move Backward Flytta loop bakåt - + Remove Temporary Loop - + Remove the temporary loop - + Navigation Navigering - + Move up Flytta upp - + Equivalent to pressing the UP key on the keyboard Samma som att trycka UPP piltangenten på tangentbordet - + Move down Flytta ned - + Equivalent to pressing the DOWN key on the keyboard Samma som att trycka NER piltangenten på tangentbordet - + Move up/down Flytta upp/ner - + Move vertically in either direction using a knob, as if pressing UP/DOWN keys - + Scroll Up Scrolla upp - + Equivalent to pressing the PAGE UP key on the keyboard Samma som att trycka SIDA UPP tangenten på tangentbordet - + Scroll Down Scrolla ner - + Equivalent to pressing the PAGE DOWN key on the keyboard Samma som att trycka SIDA NER tangenten på tangentbordet - + Scroll up/down Scrolla upp/ner - + Scroll vertically in either direction using a knob, as if pressing PGUP/PGDOWN keys - + Move left Flytta vänster - + Equivalent to pressing the LEFT key on the keyboard Samma som att trycka VÄNSTER piltangent på tangentbordet - + Move right Flytta höger - + Equivalent to pressing the RIGHT key on the keyboard Samma som att trycka HÖGER piltangent på tangentbordet - + Move left/right Flytta vänster/höger - + Move horizontally in either direction using a knob, as if pressing LEFT/RIGHT keys - + Move focus to right pane - + Equivalent to pressing the TAB key on the keyboard Samma som att trycka TAB tangenten på tangentbordet - + Move focus to left pane - + Equivalent to pressing the SHIFT+TAB key on the keyboard Samma som att trycka SHIFT + TAB tangenten på tangentbordet - + Move focus to right/left pane - + Move focus one pane to right or left using a knob, as if pressing TAB/SHIFT+TAB keys - + Sort focused column - + Sort the column of the cell that is currently focused, equivalent to clicking on its header - + Go to the currently selected item - + Choose the currently selected item and advance forward one pane if appropriate - + Load Track and Play Ladda låt och spela - + Add to Auto DJ Queue (replace) Lägg till i Auto-DJ-kön (ersätt) - + Replace Auto DJ Queue with selected tracks Ersätt Auto DJ-kön med valda låtar - + Select next search history Välj nästa sökhistorik - + Selects the next search history entry - + Select previous search history Välj föregående sökhistorik - + Selects the previous search history entry - + Move selected search entry - + Moves the selected search history item into given direction and steps - + Clear search Rensa sökning - + Clears the search query Rensar sökningen - - + + Select Next Color Available - + Välj nästa tillgängliga färg - + Select the next color in the color palette for the first selected track - - + + Select Previous Color Available - + Välj föregående tillgängliga färg - + Select the previous color in the color palette for the first selected track - + + Quick Effects Deck %1 + + + + Deck %1 Quick Effect Enable Button - + + Quick Effect Enable Button - + + Deck %1 Stem %2 Quick Effect Super Knob + + + + + Deck %1 Stem %2 Quick Effect Enable Button + + + + Enable or disable effect processing Aktivera eller inaktivera effektbearbetning - + Super Knob (control effects' Meta Knobs) - + Mix Mode Toggle - + Toggle effect unit between D/W and D+W modes - + Next chain preset Nästa kedjeförinställning - + Previous Chain Föregående kedja - + Previous chain preset Föregående kedjeförinställning - + Next/Previous Chain Nästa/föregående kedja - + Next or previous chain preset Nästa eller föregående kedjeförinställning - - + + Show Effect Parameters Visa effektparametrar - + Effect Unit Assignment - + Meta Knob Meta-ratt - + Effect Meta Knob (control linked effect parameters) - + Meta Knob Mode Metaratts-läge - + Set how linked effect parameters change when turning the Meta Knob. - + Meta Knob Mode Invert - + Invert how linked effect parameters change when turning the Meta Knob. - - + + Button Parameter Value Knappparameter-värde - + Microphone / Auxiliary Mikrofon / Extraingång - + Microphone On/Off Mikrofon på/av - + Microphone on/off Mikrofon på/av - + Toggle microphone ducking mode (OFF, AUTO, MANUAL) Växla mikrofonducknings-sätt (AV, AUTO, MANUELL) - + Auxiliary On/Off Extraingång på/av - + Auxiliary on/off Extraingång på/av - + Auto DJ Auto DJ - + Auto DJ Shuffle Slumpvis Auto DJ - + Auto DJ Skip Next Auto DJ hoppa över nästa - + Auto DJ Add Random Track - + Add a random track to the Auto DJ queue - + Auto DJ Fade To Next Auto DJ tona till nästa - + Trigger the transition to the next track Utlös övergången till nästa låt - + User Interface Användargränssnitt - + Samplers Show/Hide Visa/dölj samplare - + Show/hide the sampler section Visa/dölj samplar-delen - + Microphone && Auxiliary Show/Hide keep double & to prevent creation of keyboard accelerator - + Waveform Zoom Reset To Default - + Reset the waveform zoom level to the default value selected in Preferences -> Waveforms - + Select the next color in the color palette for the loaded track. - + Select previous color in the color palette for the loaded track. - + Navigate Through Track Colors - + Select either next or previous color in the palette for the loaded track. - + Start/Stop Live Broadcasting Starta/stoppa livesändning - + Stream your mix over the Internet. Streama din mix över internet. - + Start/stop recording your mix. Starta/stoppa inspelning av din mix. - - + + + Deck %1 Stems + + + + + Samplers Samplare - + Vinyl Control Show/Hide Vinylstyrning visa/dölj - + Show/hide the vinyl control section Visa/dölj vinylstyrningssektionen - + Preview Deck Show/Hide Visa/dölj förhandslyssnings-tallrikar - + Show/hide the preview deck Visa/dölj förhandsgranskningstallriken - + Toggle 4 Decks - + Switches between showing 2 decks and 4 decks. - + Cover Art Show/Hide (Decks) - + Show/hide cover art in the main decks - + Vinyl Spinner Show/Hide Visa/dölj vinyl-snurra - + Show/hide spinning vinyl widget Visa/dölj vinylsnurrorna - + Vinyl Spinners Show/Hide (All Decks) - + Show/Hide all spinnies Visa/dölj alla snurrisar - + Toggle Waveforms Växla vågformer - + Show/hide the scrolling waveforms. Visa/dölj de scrollande vågformerna. - + Waveform zoom Vågform zoom - + Waveform Zoom Vågform zoom - + Zoom waveform in Vågform zooma in - + Waveform Zoom In Vågform zooma in - + Zoom waveform out Vågform zooma ut - + Star Rating Up Stjärnbetyg upp - + Increase the track rating by one star Öka låtbetyget med en stjärna - + Star Rating Down Stjärnbetyg ner - + Decrease the track rating by one star Minska låtbetyget med en stjärna @@ -3539,6 +3580,159 @@ trace - Above + Profiling messages Unknown + Okänd + + + + ControllerHidReportTabsManager + + + Read + + + + + Send + + + + + Payload Size + + + + + bytes + + + + + Byte Position + + + + + Bit Position + + + + + Bit Size + + + + + Logical Min + + + + + Logical Max + + + + + Value + + + + + Physical Min + + + + + Physical Max + + + + + Unit Scaling + + + + + Unit + + + + + Abs/Rel + + + + + + Wrap + + + + + + Linear + + + + + + Preferred + + + + + + Null + + + + + + Volatile + + + + + Usage Page + + + + + Usage + + + + + Relative + + + + + Absolute + + + + + No Wrap + + + + + Non Linear + + + + + No Preferred + + + + + No Null + + + + + Non Volatile @@ -3628,12 +3822,12 @@ trace - Above + Profiling messages FPS: n/a - + FPS: n/a Unnamed - + Namnlös @@ -3677,27 +3871,27 @@ trace - Above + Profiling messages ControllerScriptEngineLegacy - + Controller Mapping File Problem - + The mapping for controller "%1" cannot be opened. - + The functionality provided by this controller mapping will be disabled until the issue has been resolved. - + File: Fil: - + Error: Fel: @@ -3730,7 +3924,7 @@ trace - Above + Profiling messages - + Lock Lås @@ -3760,7 +3954,7 @@ trace - Above + Profiling messages Låtkälla för Auto DJ - + Enter new name for crate: Ange ett namn för den nya backen: @@ -3777,22 +3971,22 @@ trace - Above + Profiling messages Importera back - + Export Crate Exportera back - + Unlock Lås upp - + An unknown error occurred while creating crate: Ett okänt fel uppstod vid skapandet av backen - + Rename Crate Döp om back @@ -3802,28 +3996,28 @@ trace - Above + Profiling messages - + Confirm Deletion - + Bekräfta borttagning - - - + + + Renaming Crate Failed Omdöpning av back misslyckades - + Crate Creation Failed - + M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Text CSV (*.csv);;Readable Text (*.txt) M3U spellista (*.m3u);;M3U8 spellista (*.m3u8);;PLS spellista (*.pls);;Text CSV (*.csv);;Läsbar text (*.txt) - + M3U Playlist (*.m3u) M3U-spellista (*.m3u) @@ -3836,7 +4030,7 @@ trace - Above + Profiling messages Export to Engine DJ - + Exportera till Engine DJ @@ -3844,17 +4038,17 @@ trace - Above + Profiling messages Med backar kan du organisera din musik hur du vill - + Do you really want to delete crate <b>%1</b>? - + A crate cannot have a blank name. En back kan inte ha ett tomt namn. - + A crate by that name already exists. En back med det namnet finns redan. @@ -3949,12 +4143,12 @@ trace - Above + Profiling messages Tidigare bidragsgivare - + Official Website Officiell webbplats - + Donate Donera @@ -3987,7 +4181,7 @@ trace - Above + Profiling messages Qt Version: - + Qt-version: @@ -4307,7 +4501,7 @@ Often results in higher quality beatgrids, but will not do well on tracks that h Disabled - + Inaktiverad @@ -4745,122 +4939,139 @@ You tried to learn: %1,%2 DlgPrefBroadcast - + Icecast 2 Icecast 2 - + Shoutcast 1 Shoutcast 1 - + Icecast 1 Icecast 1 - + MP3 MP3 - + Ogg Vorbis Ogg Vorbis - + Opus Opus - + AAC AAC - + HE-AAC HE-AAC - + HE-AACv2 HE-AACv2 - + Automatic Automatiskt - + Mono Mono - + Stereo Stereo - - - - + + Saving settings failed + + + + + The password for '%1' contains invalid characters. Please enter it again. + +Note: This can for example be invisible linebreaks when using copy/paste. + + + + + + Action failed Åtgärden misslyckades - + You can't create more than %1 source connections. Du kan inte skapa fler än %1 källanslutning. - + Source connection %1 Källanslutning %1 - + + Settings for %1 + Settings for broadcast profile, %1 is the profile name placeholder + Inställningar för %1 + + + At least one source connection is required. Minst en källanslutning krävs. - + Are you sure you want to disconnect every active source connection? - - + + Confirmation required Bekräftelse krävs - + '%1' has the same Icecast mountpoint as '%2'. Two source connections to the same server that have the same mountpoint can not be enabled simultaneously. - + Are you sure you want to delete '%1'? Är du säker på att du vill ta bort '%1'? - + Renaming '%1' Döper om '%1' - + New name for '%1': Nytt namn för '%1': - + Can't rename '%1' to '%2': name already in use Kan inte byta namn på '%1' till '%2': namnet används redan @@ -4873,27 +5084,27 @@ Two source connections to the same server that have the same mountpoint can not Livesändnings-inställningar - + Mixxx Icecast Testing Testa Mixxx Icecast - + Public stream publik strömning - + http://www.mixxx.org http://www.mixxx.org - + Stream name Namn på strömning - + Due to flaws in some streaming clients, updating Ogg Vorbis metadata dynamically can cause listener glitches and disconnections. Check this box to update the metadata anyway. På grund av brister hos vissa streaming-klienter, kan dynamiska uppdateringar av Ogg Vorbis-metadata orsaka avbrott och urkopplingar. Klicka på denna ruta för att uppdatera metadata i alla fall. @@ -4933,67 +5144,72 @@ Two source connections to the same server that have the same mountpoint can not Inställningar för %1 - + + Available fields: $artist, $title, $year, $album, $genre, $bpm + + + + Dynamically update Ogg Vorbis metadata. Uppdatera Ogg Vorbis metadata dynamiskt. - + ICQ ICQ - + AIM AIM - + Website Webbplats - + Live mix Livemix - + IRC IRC - + Select a source connection above to edit its settings here - + Password storage Lösenordslagring - + Plain text Vanlig text - + Secure storage (OS keychain) - + Genre Genre - + Use UTF-8 encoding for metadata. Använd UTF-8-kodning för metadata. - + Description Beskrivning @@ -5019,42 +5235,42 @@ Two source connections to the same server that have the same mountpoint can not Kanaler - + Server connection Serveranslutning - + Type Typ - + Host Värdnamn: - + Login Logga in - + Mount Montera - + Port Port - + Password Lösenord - + Stream info Ström-info @@ -5064,17 +5280,17 @@ Two source connections to the same server that have the same mountpoint can not Metadata - + Use static artist and title. Använd statisk artist och titel. - + Static title Statisk titel - + Static artist Statisk artist @@ -5133,13 +5349,14 @@ Two source connections to the same server that have the same mountpoint can not DlgPrefColors - - + + + By hotcue number - + Color Färg @@ -5184,17 +5401,22 @@ Two source connections to the same server that have the same mountpoint can not + Jump default color + + + + When key colors are enabled, Mixxx will display a color hint associated with each key. - + Enable Key Colors - + Key palette @@ -5202,114 +5424,114 @@ associated with each key. DlgPrefController - + Apply device settings? Verkställ enhetsinställningar? - + Your settings must be applied before starting the learning wizard. Apply settings and continue? Dina inställningar måste verkställas innan läriin-guiden kan startas. Spara inställningarna och fortsätt? - + None Ingen - + %1 by %2 %1 av %2 - + Mapping has been edited Mappning har redigerats - + Always overwrite during this session - + Save As Spara som - + Overwrite Skriv över - + Save user mapping Spara användarmappning - + Enter the name for saving the mapping to the user folder. - + Saving mapping failed Misslyckades med sparande av mappning - + A mapping cannot have a blank name and may not contain special characters. - + A mapping file with that name already exists. En mappningsfil med det namnet finns redan. - + Do you want to save the changes? Vill du spara ändringarna? - + Troubleshooting Felsökning - + <font color='#BB0000'><b>If you use this mapping your controller may not work correctly. Please select another mapping or disable the controller.</b></font><br><br>This mapping was designed for a newer Mixxx Controller Engine and cannot be used on your current Mixxx installation.<br>Your Mixxx installation has Controller Engine version %1. This mapping requires a Controller Engine version >= %2.<br><br>For more information visit the wiki page on <a href='https://mixxx.org/wiki/doku.php/controller_engine_versions'>Controller Engine Versions</a>. - + Mapping already exists. Mappning finns redan. - + <b>%1</b> already exists in user mapping folder.<br>Overwrite or save with a new name? - + Clear Input Mappings Rensa ingångs-länkningar - + Are you sure you want to clear all input mappings? Är du säker på att du vill rensa alla ingångs-länkningar? - + Clear Output Mappings Rensa utgångs-länkningar - + Are you sure you want to clear all output mappings? Är du säker på att du vill rensa alla utgångs-länkningar? @@ -5327,100 +5549,105 @@ Spara inställningarna och fortsätt? Aktiverad - - Device Info + + Refresh mapping list - + + Device Info + Enhetsinformation + + + Physical Interface: - + Vendor name: - + Product name: - + Produktnamn: - + Vendor ID - + VID: - + VID: - + Product ID - + PID: - + PID: - + Serial number: - + Serienummer: - + USB interface number: - + HID Usage-Page: - + HID Usage: - + Description: Beskrivning: - + Support: Hjälp: - + Screens preview - + Input Mappings Ingångs-länkningar - - + + Search Sök - - + + Add Lägg till - - + + Remove Ta bort @@ -5440,17 +5667,17 @@ Spara inställningarna och fortsätt? Ladda mappning: - + Mapping Info Mappningsinfo - + Author: Upphovsman: - + Name: Namn: @@ -5460,28 +5687,28 @@ Spara inställningarna och fortsätt? Lär in-guiden (endast MIDI) - + Data protocol: - + Dataprotokoll: - + Mapping Files: Mappningsfiler: - + Mapping Settings - - + + Clear All Rensa allt - + Output Mappings Utgångs-länkningar @@ -5496,21 +5723,21 @@ Spara inställningarna och fortsätt? - Mixxx uses "mappings" to connect messages from your controller to controls in Mixxx. If you do not see a mapping for your controller in the "Load Mapping" menu when you click on your controller on the left sidebar, you may be able to download one online from the %1. Place the XML (.xml) and Javascript (.js) file(s) in the "User Mapping Folder" then restart Mixxx. If you download a mapping in a ZIP file, extract the XML and Javascript file(s) from the ZIP file to your "User Mapping Folder" then restart Mixxx. + Mixxx uses "mappings" to connect messages from your controller to controls in Mixxx. If you do not see a mapping for your controller in the "Load Mapping" menu when you click on your controller on the left sidebar, you may be able to download one online from the %1. Place the XML (.xml) and Javascript (.js) file(s) in the "User Mapping Folder" then click the Reload button next to the mapping selector to reload all available mappings. If you download a mapping in a ZIP file, extract the XML and Javascript file(s) from the ZIP file to your "User Mapping Folder" then click the Reload button. - + Mixxx DJ Hardware Guide Mixxx DJ hårdvaruguide - + MIDI Mapping File Format - + MIDI Scripting with Javascript @@ -5679,137 +5906,137 @@ Spara inställningarna och fortsätt? DlgPrefDeck - + Mixxx mode Mixxx-metod - + Mixxx mode (no blinking) - + Pioneer mode Pioneer-metod - + Denon mode Denon-metod - + Numark mode Numark-metod - + CUP mode CUP-läge - + mm:ss%1zz - Traditional mm:ss%1zz - Traditionell - + mm:ss - Traditional (Coarse) mm:ss - Traditionell (grov) - + s%1zz - Seconds s%1zz - Sekunder - + sss%1zz - Seconds (Long) sss%1zz - Sekunder (Lång) - + s%1sss%2zz - Kiloseconds s%1sss%2zz - Kilosekunder - + Intro start - + Main cue - + First hotcue - + First sound (skip silence) Första ljud (hoppa över tystnad) - + Beginning of track Början på låt - + Reject - + Allow, but stop deck - + Allow, play from load point - + 4% 4% - + 6% (semitone) 6% (semiton) - + 8% (Technics SL-1210) 8% (Technics SL-1210) - + 10% 10% - + 16% 16% - + 24% 24% - + 50% 50% - + 90% 90% @@ -6095,7 +6322,7 @@ You can always drag-and-drop tracks on screen to clone a deck. Use steady tempo - + Använd stadigt tempo @@ -6185,12 +6412,12 @@ You can always drag-and-drop tracks on screen to clone a deck. ❯ - + ❮ - + @@ -6246,57 +6473,57 @@ You can always drag-and-drop tracks on screen to clone a deck. Den minsta storleken för det valda skinnet är större än din skärmupplösning. - + Allow screensaver to run Tillåt skärmsläckare att starta - + Prevent screensaver from running Hindra skärmsläckare från att starta - + Prevent screensaver while playing Hindra skärmsläckare vid uppspelning - + Disabled - + Inaktiverad - + 2x MSAA - + 2x MSAA - + 4x MSAA - + 4x MSAA - + 8x MSAA - + 8x MSAA - + 16x MSAA - + 16x MSAA - + This skin does not support color schemes Det här skinnet har inte stöd för färgscheman - + Information Information - + Mixxx must be restarted before the new locale, scaling or multi-sampling settings will take effect. @@ -6352,7 +6579,7 @@ and allows you to pitch adjust them for harmonic mixing. Disabled - + Inaktiverad @@ -6523,67 +6750,97 @@ and allows you to pitch adjust them for harmonic mixing. Se manualen för detaljer - + Music Directory Added Musik-mapp tillagd - + You added one or more music directories. The tracks in these directories won't be available until you rescan your library. Would you like to rescan now? - + Scan Skanna - + Item is not a directory or directory is missing - + Choose a music directory Välj en musikmapp - + Confirm Directory Removal Bekräfta borttagning av mapp - + Mixxx will no longer watch this directory for new tracks. What would you like to do with the tracks from this directory and subdirectories?<ul><li>Hide all tracks from this directory and subdirectories.</li><li>Delete all metadata for these tracks from Mixxx permanently.</li><li>Leave the tracks unchanged in your library.</li></ul>Hiding tracks saves their metadata in case you re-add them in the future. Mixxx kommer inte längre att övervaka denna mapp och leta efter nya låtar. Vad vill du göra med låtarna i denna mapp och dess undermappar?<ul><li>Göm alla låtar från denna mapp och undermappar.</li><li>Radera permanent alla metadata för dessa låtar i Mixxx.</li><li>Låt låtarna vara kvar oförändrade.</li></ul>Om du gömmer låtarna så sparas metadatan, ifall du vill lägga till dom igen senare. - + Metadata means all track details (artist, title, playcount, etc.) as well as beatgrids, hotcues, and loops. This choice only affects the Mixxx library. No files on disk will be changed or deleted. Metadata betyder alla låtinformationer (artist, titel, räkneverk, osv.) och taktmönster, snabbmarkeringar och slingor. Bara Mixxx-biblioteket omfattas av urvalet. Inget på hårddisken kommer att förändras eller raderas. - + Hide Tracks Dölj låt - + Delete Track Metadata Radera låt-metadata - + Leave Tracks Unchanged Gör inga låtändringar - + Relink music directory to new location Länka om musikmappen till en ny ort. - + + Black + + + + + ExtraBold + + + + + Bold + + + + + SemiBold + + + + + Medium + + + + + Light + + + + Select Library Font Välj biblioteksfont @@ -6632,262 +6889,267 @@ and allows you to pitch adjust them for harmonic mixing. - + Audio File Formats Filformat för audio - + Track Table View - + Track Double-Click Action: - + BPM display precision: - + Session History - + Track duplicate distance - + When playing a track again log it to the session history only if more than N other tracks have been played in the meantime - + History playlist with less than N tracks will be deleted<br/><br/>Note: the cleanup will be performed during startup and shutdown of Mixxx. - + Delete history playlist with less than N tracks - + Library Font: Biblioteksfont: - + + Show scan summary dialog + + + + Grey out played tracks - + Track Search - + Enable search completions - + Enable search history keyboard shortcuts - + Percentage of pitch slider range for 'fuzzy' BPM search: - + This range will be used for the 'fuzzy' BPM search (~bpm:) via the search box, as well as for BPM search in Track context menu > Search related Tracks - + Preferred Cover Art Fetcher Resolution - + Fetch cover art from coverartarchive.com by using Import Metadata From Musicbrainz. - + Note: ">1200 px" can fetch up to very large cover arts. - + >1200 px (if available) - + 1200 px (if available) - + 500 px - + 500 px - + 250 px - + 250 px - + Settings Directory - + The Mixxx settings directory contains the library database, various configuration files, log files, track analysis data, as well as custom controller mappings. - + Edit those files only if you know what you are doing and only while Mixxx is not running. - + Open Mixxx Settings Folder Öppna Mixxx-inställningar-mappen - + Library Row Height: Biblioteksradhöjd: - + Use relative paths for playlist export if possible Använd om möjligt relativa sökvägar vid export av spellista - + ... ... - + px px - + Synchronize library track metadata from/to file tags - + Automatically write modified track metadata from the library into file tags and reimport metadata from updated file tags into the library - + Synchronize Serato track metadata from/to file tags (experimental) - + Keeps track color, beat grid, bpm lock, cue points, and loops synchronized with SERATO_MARKERS/MARKERS2 file tags.<br/><br/>WARNING: Enabling this option also enables the reimport of Serato metadata after files have been modified outside of Mixxx. On reimport existing metadata in Mixxx is replaced with the metadata found in file tags. Custom metadata not included in file tags like loop colors is lost. - + Edit metadata after clicking selected track Redigera metadata efter klick på vald låt - + Search-as-you-type timeout: - + ms ms - + Load track to next available deck Ladda låt till nästa tillgängliga tallrik - + External Libraries Externa bibliotek - + You will need to restart Mixxx for these settings to take effect. Du måste starta om Mixxx för att dessa ändringar ska gälla. - + Show Rhythmbox Library Visa Rhythmbox-bibliotek - + Track Metadata Synchronization / Playlists - + Add track to Auto DJ queue (bottom) - + Add track to Auto DJ queue (top) - + Ignore Ignorera - + Show Banshee Library Visa Banshee-bibliotek - + Show iTunes Library Visa iTunes-bibliotek - + Show Traktor Library Visa Traktor-bibliotek - + Show Rekordbox Library Visa Rekordbox-bibliotek - + Show Serato Library Visa Serato-bibliotek - + All external libraries shown are write protected. Alla externa bibliotek är skrivskyddade. @@ -7232,33 +7494,33 @@ and allows you to pitch adjust them for harmonic mixing. DlgPrefRecord - + Choose recordings directory Välj en mapp för inspelningar - - + + Recordings directory invalid Inspelningsmapp ogiltig - + Recordings directory must be set to an existing directory. Inspelningsmapp måste vara inställt på en befintlig mapp. - + Recordings directory must be set to a directory. Inspelningsmapp måste vara inställt på en mapp. - + Recordings directory not writable Inspelningsmapp inte skrivbar - + You do not have write access to %1. Choose a recordings directory you have write access to. @@ -7276,43 +7538,55 @@ and allows you to pitch adjust them for harmonic mixing. Bläddra... - - + + This will include the filepath for each track in the CUE file. +This option makes the CUE file less portable and can reveal personal +information from filepaths (i.e. username) + + + + + Enable File Annotation in CUE file + + + + + Quality Kvalitet - + Tags Etiketter - + Title Titel - + Author Upphovsman - + Album Album - + Output File Format Ut-filformat - + Compression Kompression - + Lossy @@ -7327,12 +7601,12 @@ and allows you to pitch adjust them for harmonic mixing. Mapp: - + Compression Level Kompressionsgrad - + Lossless @@ -7463,172 +7737,177 @@ The loudness target is approximate and assumes track pregain and main output lev DlgPrefSound - + %1 Hz %1 Hz - + Default (long delay) Standard (lång fördröjning) - + Experimental (no delay) Experimentell (ingen fördröjning) - + Disabled (short delay) Avstängd (kort fördröjning) - + Soundcard Clock Ljudkortsklocka - + Network Clock Nätverksklocka - + Direct monitor (recording and broadcasting only) - + Disabled Avstängd - + Enabled Aktiverad - + Stereo Stereo - + Mono Mono - + To enable Realtime scheduling (currently disabled), see the %1. - + The %1 lists sound cards and controllers you may want to consider for using Mixxx. - + Mixxx DJ Hardware Guide Mixxx DJ hårdvaruguide - - Information + + Find details in the Mixxx user manual - + + Information + Information + + + Mixxx must be restarted before the multi-threaded RubberBand setting change will take effect. - + auto (<= 1024 frames/period) - + 2048 frames/period - + 4096 frames/period - + Are you sure? - + Är du säker? - + Distribute stereo channels into mono channels for parallel processing will result in a loss of mono compatibility and a diffuse stereo image. It is not recommended during broadcasting or recording. - + Are you sure you wish to proceed? - + No - + Nej - + Yes, I know what I am doing - + Microphone inputs are out of time in the record & broadcast signal compared to what you hear. - + Measure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. - + Refer to the Mixxx User Manual for details. - + Configured latency has changed. - + Remeasure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. - + Realtime scheduling is enabled. - + Main output only - + Main and booth outputs - + %1 ms %1 ms - + Configuration error Konfigurationsfel @@ -7695,17 +7974,22 @@ The loudness target is approximate and assumes track pregain and main output lev ms - + + Deck and Bus outputs are for external mixers. They are post-fader and include effects and crossfader (for Auto DJ). For external mixing, make sure all Mixxx faders and EQ knobs are set to their default position (right- or double-click). + + + + 20 ms 20 ms - + Buffer Underflow Count Sammanräkning Buffer Underflow - + 0 0 @@ -7730,12 +8014,12 @@ The loudness target is approximate and assumes track pregain and main output lev Ingång - + System Reported Latency Systemets rapporterade latency - + Enlarge your audio buffer if the underflow counter is increasing or you hear pops during playback. Utvidga din audio-buffert om underströms-räknaren ökar på, eller om du hör smällar under uppspelning. @@ -7765,7 +8049,7 @@ The loudness target is approximate and assumes track pregain and main output lev Tips och diagnostik - + Downsize your audio buffer to improve Mixxx's responsiveness. Minska din audio-buffert för Mixxx ska reagera snabbare. @@ -7812,7 +8096,7 @@ The loudness target is approximate and assumes track pregain and main output lev Konfigurera vinyl - + Show Signal Quality in Skin Visa signalkvaliteten i skinnet @@ -7848,46 +8132,51 @@ The loudness target is approximate and assumes track pregain and main output lev + Pitch estimator + + + + Deck 1 - + Deck 2 - + Deck 3 - + Deck 4 - + Signal Quality Signalkvalitet - + http://www.xwax.co.uk http://www.xwax.co.uk - + Powered by xwax - + Drivs av xwax - + Hints Tips - + Select sound devices for Vinyl Control in the Sound Hardware pane. Välj ljudenheter för vinylstyrning i panelen för ljudhårdvara. @@ -7895,58 +8184,58 @@ The loudness target is approximate and assumes track pregain and main output lev DlgPrefWaveform - + Filtered Filtrerad - + HSV HSV - + RGB RGB - + Top - + Center - + Bottom - + 1/3 of waveform viewer options for "Text height limit" - + Entire waveform viewer - + OpenGL not available OpenGL är inte tillgängligt - + dropped frames tappade frames - + Cached waveforms occupy %1 MiB on disk. @@ -7964,22 +8253,17 @@ The loudness target is approximate and assumes track pregain and main output lev Bildhastighet - + OpenGL Status - + OpenGL-status - + Displays which OpenGL version is supported by the current platform. Visar vilken OpenGL-version som understöds av den aktuella plattformen. - - Normalize waveform overview - Normalisiera vågforms-översikten - - - + Average frame rate Genomsnittlig bildhastighet @@ -7995,7 +8279,7 @@ The loudness target is approximate and assumes track pregain and main output lev Standardzoomläge - + Displays the actual frame rate. Visar den aktuella bildhastigheten. @@ -8030,14 +8314,14 @@ The loudness target is approximate and assumes track pregain and main output lev Låg - + Show minute markers on waveform overview Use acceleration - + Använd acceleration @@ -8075,7 +8359,7 @@ The loudness target is approximate and assumes track pregain and main output lev Global visuell förstärkning - + The waveform overview shows the waveform envelope of the entire track. Select from different types of displays for the waveform overview, which differ primarily in the level of detail shown in the waveform. @@ -8083,7 +8367,7 @@ Select from different types of displays for the waveform overview, which differ Enabled - + Aktiverad @@ -8094,7 +8378,7 @@ Select from different types of displays for the waveform, which differ primarily fps - + fps @@ -8134,7 +8418,7 @@ Select from different types of displays for the waveform, which differ primarily Placement - + Placering @@ -8142,22 +8426,22 @@ Select from different types of displays for the waveform, which differ primarily - + Caching Cachar - + Mixxx caches the waveforms of your tracks on disk the first time you load a track. This reduces CPU usage when you are playing live but requires extra disk space. - + Enable waveform caching - + Generate waveforms when analyzing library @@ -8173,9 +8457,9 @@ Select from different types of displays for the waveform, which differ primarily - + Type - + Typ @@ -8203,12 +8487,58 @@ Select from different types of displays for the waveform, which differ primarily - + + Stem + + + + + Channel opacity + + + + + Channel opacity (outline) + + + + + Main stem opacity + + + + + Outline stem opacity + + + + + Move channel to foreground when volume is adjusted + + + + Overview Waveforms + Översikt vågformer + + + + Gain + + + + + Normalize to peak + + + + + Use Waveform "Global" gain and ReplayGain (if enabled) + 'Global' refers to the 'Global' visual gain in the scrolling waveform settings - + Clear Cached Waveforms @@ -8565,7 +8895,7 @@ Select from different types of displays for the waveform, which differ primarily Tags - + Taggar @@ -8595,7 +8925,7 @@ Select from different types of displays for the waveform, which differ primarily %1 - + %1 @@ -8697,7 +9027,7 @@ This can not be undone! BPM: - + Location: Plats: @@ -8712,27 +9042,27 @@ This can not be undone! Kommentarer - + BPM BPM - + Sets the BPM to 75% of the current value. Ställer BPM till 75% av det aktuella värdet. - + 3/4 BPM 3/4 BPM - + Sets the BPM to 50% of the current value. Ställer BPM till 50% av det aktuella värdet. - + Displays the BPM of the selected track. Visar BPM för den utvalda låten. @@ -8787,49 +9117,49 @@ This can not be undone! Genre - + ReplayGain: ReplayGain: - + Sets the BPM to 200% of the current value. Ställer BPM till 200% av det aktuella värdet. - + Double BPM Dubbel BPM - + Halve BPM Halva BPM - + Clear BPM and Beatgrid Rensa BPM och taktmönster - + Move to the previous item. "Previous" button Hoppa till föregående objekt. - + &Previous &Föregående - + Move to the next item. "Next" button Hoppa till nästa objekt. - + &Next &Nästa @@ -8854,12 +9184,12 @@ This can not be undone! Färg - + Date added: Datum tillagd: - + Open in File Browser Öppna i filhanteraren @@ -8869,104 +9199,109 @@ This can not be undone! - + + Filesize: + + + + Track BPM: Låt BPM: - + Converts beats detected by the analyzer into a fixed-tempo beatgrid. Use this setting if your tracks have a constant tempo (e.g. most electronic music). Often results in higher quality beatgrids, but will not do well on tracks that have tempo shifts. - + Assume constant tempo Anta konstant tempo - + Sets the BPM to 66% of the current value. Ställer BPM till 66% av det aktuella värdet. - + 2/3 BPM 2/3 BPM - + Sets the BPM to 150% of the current value. - + 3/2 BPM 3/2 BPM - + Sets the BPM to 133% of the current value. - + 4/3 BPM 4/3 BPM - + Tap with the beat to set the BPM to the speed you are tapping. Knacka i takt med musiken för att ställa in BPM till hastigheten du knackar med. - + Tap to Beat Trumma i takt - + Hint: Use the Library Analyze view to run BPM detection. Tips: använd Biblioteksanalysatorn för köra BPM-mätning. - + Save changes and close the window. "OK" button Spara ändringarna och stäng fönstret. - + &OK - &OK + - + Discard changes and close the window. "Cancel" button Ignorera ändringar och stäng fönstret. - + Save changes and keep the window open. "Apply" button Spara ändringar och hålla fönstret öppet. - + &Apply &Verkställ - + &Cancel &Avbryt - + (no color) - + (ingen färg) @@ -8979,17 +9314,17 @@ Often results in higher quality beatgrids, but will not do well on tracks that h Title - + Titel Artist - + Artist Album - + Album @@ -9004,12 +9339,12 @@ Often results in higher quality beatgrids, but will not do well on tracks that h Year - + År Genre - + Genre @@ -9029,7 +9364,7 @@ Often results in higher quality beatgrids, but will not do well on tracks that h Comments - + Kommentarer @@ -9039,22 +9374,22 @@ Often results in higher quality beatgrids, but will not do well on tracks that h Color - + Färg Duration: - + Längd: Filetype: - + Filtyp: BPM: - + BPM: @@ -9069,7 +9404,7 @@ Often results in higher quality beatgrids, but will not do well on tracks that h Location: - + Plats: @@ -9121,9 +9456,9 @@ Often results in higher quality beatgrids, but will not do well on tracks that h - + (no color) - + (ingen färg) @@ -9215,7 +9550,7 @@ Often results in higher quality beatgrids, but will not do well on tracks that h Invalid name "%1" - + Ogiltigt namn "%1" @@ -9311,7 +9646,7 @@ Often results in higher quality beatgrids, but will not do well on tracks that h Built-In Backend type for effects that are built into Mixxx. - + Inbyggd @@ -9323,27 +9658,27 @@ Often results in higher quality beatgrids, but will not do well on tracks that h EngineBuffer - + Soundtouch (faster) Soundtouch (snabbare) - + Rubberband (better) Gummiband (bättre) - + Rubberband R3 (near-hi-fi quality) - + Unknown, using Rubberband (better) - + Unknown, using Soundtouch @@ -9386,7 +9721,7 @@ Often results in higher quality beatgrids, but will not do well on tracks that h Artist + Title - + Artist + Titel @@ -9396,7 +9731,7 @@ Often results in higher quality beatgrids, but will not do well on tracks that h Artist + Album - + Artist + Album @@ -9414,7 +9749,7 @@ Often results in higher quality beatgrids, but will not do well on tracks that h Artist + Title - + Artist + Titel @@ -9424,7 +9759,7 @@ Often results in higher quality beatgrids, but will not do well on tracks that h Artist + Album - + Artist + Album @@ -9442,7 +9777,7 @@ Often results in higher quality beatgrids, but will not do well on tracks that h Artist + Title - + Artist + Titel @@ -9452,7 +9787,7 @@ Often results in higher quality beatgrids, but will not do well on tracks that h Artist + Album - + Artist + Album @@ -9528,12 +9863,12 @@ Often results in higher quality beatgrids, but will not do well on tracks that h Change color - + Ändra färg Choose a new color - + Välj en ny färg @@ -9541,32 +9876,32 @@ Often results in higher quality beatgrids, but will not do well on tracks that h Browse... - + Bläddra... No file selected - + Ingen fil vald Select a file - + Välj en fil LegacySkinParser - - + + Safe Mode Enabled Shown when Mixxx is running in safe mode. Felsäker modus aktiverad - - + + No OpenGL support. Shown when Spinny can not be displayed. Please keep @@ -9578,57 +9913,57 @@ Shown when VuMeter can not be displayed. Please keep stöd. - + activate aktivera - + toggle växla - + right höger - + left vänster - + right small höger liten - + left small vänster liten - + up upp - + down ner - + up small upp liten - + down small ner liten - + Shortcut Genväg @@ -9636,62 +9971,62 @@ stöd. Library - + This or a parent directory is already in your library. - + This or a listed directory does not exist or is inaccessible. Aborting the operation to avoid library inconsistencies - - + + This directory can not be read. - + An unknown error occurred. Aborting the operation to avoid library inconsistencies - + Can't add Directory to Library - + Could not add <b>%1</b> to your library. %2 - + Can't remove Directory from Library - + An unknown error occurred. - + This directory does not exist or is inaccessible. - + Relink Directory - + Could not relink <b>%1</b> to <b>%2</b>. %3 @@ -9854,12 +10189,12 @@ Do you really want to overwrite it? Döljda låtar - + Export to Engine DJ - + Exportera till Engine DJ - + Tracks Spår @@ -9867,37 +10202,37 @@ Do you really want to overwrite it? MixxxMainWindow - + Sound Device Busy Ljudenheten är upptagen - + <b>Retry</b> after closing the other application or reconnecting a sound device <b>Försök igen</b> efter det andra programmet har stängts eller efter att en ljudenhet åter anslutits - - - + + + <b>Reconfigure</b> Mixxx's sound device settings. <b>Konfigurera om</b> Mixxx ljudenhetsinställningar. - - + + Get <b>Help</b> from the Mixxx Wiki. Få <b>Hjälp</b> från Mixxx Wiki. - - - + + + <b>Exit</b> Mixxx. <b>Avsluta</b> Mixxx. - + Retry Försök igen @@ -9907,211 +10242,211 @@ Do you really want to overwrite it? skal - + Allow Mixxx to hide the menu bar? - + Hide Always show the menu bar? - + Dölj - + Always show - + Visa alltid - + The Mixxx menu bar is hidden and can be toggled with a single press of the <b>Alt</b> key.<br><br>Click <b>%1</b> to agree.<br><br>Click <b>%2</b> to disable that, for example if you don't use Mixxx with a keyboard.<br><br>You can change this setting any time in Preferences -> Interface.<br> Keep formatting tags <b> (bold text) and <br> (linebreak). %1 is the placeholder for the 'Always show' button label - + Ask me again - + Fråga mig igen - - + + Reconfigure Konfigurera om - + Help Hjälp - - + + Exit Avsluta - - + + Mixxx was unable to open all the configured sound devices. - + Sound Device Error Ljudenhetsfel - + <b>Retry</b> after fixing an issue - + No Output Devices Inga utenheter - + Mixxx was configured without any output sound devices. Audio processing will be disabled without a configured output device. Mixxx konfigurerades utan några enheter för ljudåtergivning. All ljudbehandling är deaktiverad när inga ljudutgångar är konfigurerade. - + <b>Continue</b> without any outputs. <b>Fortsätt</b> utan några utgångar. - + Continue Fortsätt - + Load track to Deck %1 Ladda låt till tallrik %1 - + Deck %1 is currently playing a track. Tallrik %1 spelar en låt just nu. - + Are you sure you want to load a new track? Är du säker på att du vill ladda en nytt låt? - + There is no input device selected for this vinyl control. Please select an input device in the sound hardware preferences first. Ingen enhet för ljudingång är utvald för den här vinylstyrningsenheten. Välj först en ingångsenhet i inställningarna för ljudhårdvara. - + There is no input device selected for this passthrough control. Please select an input device in the sound hardware preferences first. Ingen ingångsenhet utvald för den här genomgångsstyrenheten. Välj först ut en ingångsenhet i inställningarna för ljudhårdvara. - + There is no input device selected for this microphone. Do you want to select an input device? - + There is no input device selected for this auxiliary. Do you want to select an input device? - + Scan took %1 - + No changes detected. - + Inga ändringar upptäcktes. - - + + %1 tracks in total - + %1 new tracks found - + %1 moved tracks detected - + %1 tracks are missing (%2 total) - + %1 tracks have been rediscovered - + Library scan finished - + Error in skin file Fel hittat i skinn-filen - + The selected skin cannot be loaded. Kunde inte ladda in det utvalda skinnet. - + OpenGL Direct Rendering OpenGL Direct Rendering - + Direct rendering is not enabled on your machine.<br><br>This means that the waveform displays will be very<br><b>slow and may tax your CPU heavily</b>. Either update your<br>configuration to enable direct rendering, or disable<br>the waveform displays in the Mixxx preferences by selecting<br>"Empty" as the waveform display in the 'Interface' section. - - - + + + Confirm Exit Bekräfta avsluta - + A deck is currently playing. Exit Mixxx? En tallrik spelar fortfarande. Vill du avsluta Mixxx? - + A sampler is currently playing. Exit Mixxx? En samplare spelar fortfarande. Vill du avsluta Mixxx? - + The preferences window is still open. Inställningsfönstret är fortfarande öppnat. - + Discard any changes and exit Mixxx? Kassera eventuella ändringar och avsluta Mixxx? @@ -10127,13 +10462,13 @@ Do you want to select an input device? PlaylistFeature - + Lock Lås - - + + Playlists Spellistor @@ -10143,58 +10478,63 @@ Do you want to select an input device? - - Unlock all playlists + + Adopt current order - + + Unlock all playlists + Lås upp alla spellistor + + + Delete all unlocked playlists - + Ta bort alla olåsta spellistor - + Unlock Lås upp - - + + Confirm Deletion - + Bekräfta borttagning - + Do you really want to delete all unlocked playlists? - + Vill du verkligen ta bort alla olåsta spellistor? - + Deleting %1 unlocked playlists.<br>This operation can not be undone! - + Playlists are ordered lists of tracks that allow you to plan your DJ sets. - + It may be necessary to skip some tracks in your prepared playlist or add some different tracks in order to maintain the energy of your audience. - + Some DJs construct playlists before they perform live, but others prefer to build them on-the-fly. En del DJs sätter ihop spellistor innan de uppträder live, medan andra föredrar att sätte ihop dem spontant. - + When using a playlist during a live DJ set, remember to always pay close attention to how your audience reacts to the music you've chosen to play. On du använder en spellista vid ett live-DJ uppträdande, tänk på att kolla hur publiken reagerar på musiken du valt ut. - + Create New Playlist Skapa ny spellista @@ -10293,58 +10633,58 @@ Do you want to select an input device? QMessageBox - + Upgrading Mixxx Uppgraderar Miixxx - + Mixxx now supports displaying cover art. Do you want to scan your library for cover files now? - + Scan Skanna - + Later Senare - + Upgrading Mixxx from v1.9.x/1.10.x. Uppgradering av Mixxx från v1.9.x/1.10.x. - + Mixxx has a new and improved beat detector. Mixxx har en ny och förbättrad taktdetektor. - + When you load tracks, Mixxx can re-analyze them and generate new, more accurate beatgrids. This will make automatic beatsync and looping more reliable. När du laddar låtar, kan Mixxx analysera om dem och skapa nya, mer exakta taktmönster. Detta gör att automatisk taktsynkning och slingor fungerar bättre. - + This does not affect saved cues, hotcues, playlists, or crates. Detta påverkar varken sparade markeringar, snabbmarkeringar, spellistor eller backar. - + If you do not want Mixxx to re-analyze your tracks, choose "Keep Current Beatgrids". You can change this setting at any time from the "Beat Detection" section of the Preferences. Om du inte vill att Mixxx ska analysera om dina låtar, välj "Behåll aktuella taktmönster". Du kan ändra inställningen när du vill i "Takthittare"-sektionen under Inställningar. - + Keep Current Beatgrids Behåll aktuella Taktmönster - + Generate New Beatgrids Generera nya taktmönster @@ -10420,7 +10760,7 @@ Do you want to scan your library for cover files now? Switch - Switch + @@ -10445,7 +10785,7 @@ Do you want to scan your library for cover files now? Script - + Skript @@ -10458,69 +10798,82 @@ Do you want to scan your library for cover files now? 14-bit (MSB) - + Main + Audio path indetifier - + Booth + Audio path indetifier - + Headphones + Audio path indetifier Hörlurar - + Left Bus + Audio path indetifier Vänster databuss - + Center Bus + Audio path indetifier Mitten-databuss - + Right Bus + Audio path indetifier Höger databuss - + Invalid Bus + Audio path indetifier Ogiltig databuss - + Deck + Audio path indetifier Tallrik - + Record/Broadcast + Audio path indetifier Spela in/sänd - + Vinyl Control + Audio path indetifier Vinylstyrning - + Microphone + Audio path indetifier Mikrofon - + Auxiliary + Audio path indetifier Extraingång - + Unknown path type %1 + Audio path Okänd sökvägstyp %1 @@ -10849,47 +11202,49 @@ With width at zero, this allows for manually sweeping over the entire delay rang Bredd - + Metronome Metronom - + + The Mixxx Team - + Mixxx-teamet - + Adds a metronome click sound to the stream - + BPM BPM - + Set the beats per minute value of the click sound - + Sync Sync - + Synchronizes the BPM with the track if it can be retrieved - + + Gain - + Set the gain of metronome click sound @@ -11009,7 +11364,7 @@ Higher values result in less attenuation of high frequencies. Kill Low - Kill Low + Nolla bas @@ -11044,7 +11399,7 @@ Higher values result in less attenuation of high frequencies. Kill Mid - Kill Mid + Nolla mellan @@ -11065,7 +11420,7 @@ Higher values result in less attenuation of high frequencies. Kill High - Kill High + Nolla diskant @@ -11454,12 +11809,12 @@ It is designed as a complement to the steep mixing equalizers. Gain 1 - Gain 1 + Gain for Filter 1 - Gain för Filter 1 + @@ -11489,12 +11844,12 @@ a higher Q affects a narrower band of frequencies. Gain 2 - Gain 2 + Gain for Filter 2 - Gain för Filter 2 + @@ -11673,14 +12028,14 @@ Fully right: end of the effect period - - + + encoder failure kodare-fel - - + + Failed to apply the selected settings. @@ -11846,7 +12201,7 @@ Hint: compensates "chipmunk" or "growling" voices (empty) - + (tom) @@ -11857,7 +12212,7 @@ Hint: compensates "chipmunk" or "growling" voices Compressor - + Kompressor @@ -11878,23 +12233,94 @@ and the processed output signal as close as possible in perceived loudness Off - + Av On + + + + + Auto Gain Control + + + + + AGC + AGC + + + + Auto Gain Control (AGC) automatically adjusts the gain of an audio signal to maintain a consistent output level. + Threshold (dBFS) + Threshold + + + The Threshold knob adjusts the level above which the effect starts enhancing the input signal + + + + + Target (dBFS) + + + + + Target + Mål + + + + The Target knob adjusts the desired target level of the output signal + + + + + Gain (dB) + + + + + The Gain knob adjusts the maximum amount of gain that the effect will apply + + + + + Knee (dB) + + + + + The Knee knob defines the range around the Threshold where gain changes are applied gradually, +ensuring smooth transitions and avoiding abrupt level shifts. + + + + + The Attack knob sets the time that determines how fast the auto gain +will set in once the signal exceeds the threshold + + + + + The Release knob sets the time that determines how fast the auto gain will recover from the gain +adjustment once the signal falls under the threshold. Depending on the input signal, short release times +may introduce a 'pumping' effect and/or distortion. + + The Threshold knob adjusts the level above which the compressor starts attenuating the input signal @@ -11923,6 +12349,7 @@ At a ratio of 1:1 no compression is happening, as the input is exactly the outpu + Knee @@ -11933,11 +12360,13 @@ At a ratio of 1:1 no compression is happening, as the input is exactly the outpu + Attack (ms) + Attack @@ -11949,11 +12378,13 @@ will set in once the signal exceeds the threshold + Release (ms) + Release @@ -11969,7 +12400,7 @@ may introduce a 'pumping' effect and/or distortion. Level - + Nivå @@ -11982,12 +12413,12 @@ may introduce a 'pumping' effect and/or distortion. - + built-in - + inbyggd - + missing @@ -11999,7 +12430,7 @@ may introduce a 'pumping' effect and/or distortion. Warning! - + Varning! @@ -12022,44 +12453,44 @@ may introduce a 'pumping' effect and/or distortion. - + Empty - + Tom - + Simple - + Enkel - + Filtered - + Filtrerad - + HSV - + HSV - + VSyncTest - + VSyncTest - + RGB - + RGB - + Stacked - + Unknown - + Okänd @@ -12300,7 +12731,7 @@ may introduce a 'pumping' effect and/or distortion. Confirm Deletion - + Bekräfta borttagning @@ -12318,193 +12749,193 @@ may introduce a 'pumping' effect and/or distortion. ShoutConnection - - + + Mixxx encountered a problem Mixxx har stött på ett problem - + Could not allocate shout_t Kunde inte allokera shout_t - + Could not allocate shout_metadata_t Kunde inte allokera shout_metadata_t - + Error setting non-blocking mode: Kunde inte ställa in icke-blockerande modus! - + Error setting tls mode: - + Error setting hostname! Kunde inte ställa in hostname! - + Error setting port! Kunde inte ställa in port! - + Error setting password! Kunde inte ställa in lösenord! - + Error setting mount! Kunde inte ställa in mount! - + Error setting username! Kunde inte ställa in användarnamn! - + Error setting stream name! Kunde inte ställa in stream-namn! - + Error setting stream description! Kunde inte ställa in stream-beskrivning! - + Error setting stream genre! Kunde inte ställa in stream-genre! - + Error setting stream url! Kunde inte ställa in stream-url! - + Error setting stream IRC! - + Error setting stream AIM! - + Error setting stream ICQ! - + Error setting stream public! - + Unknown stream encoding format! - + Use a libshout version with %1 enabled - + Error setting stream encoding format! - + Broadcasting at 96 kHz with Ogg Vorbis is not currently supported. Please try a different sample rate or switch to a different encoding. - + See https://github.com/mixxxdj/mixxx/issues/5701 for more information. - + Unsupported sample rate - + Error setting bitrate Bithastighet kunde inte sättas - + Error: unknown server protocol! Fel: okänt serverprotokoll! - + Error: Shoutcast only supports MP3 and AAC encoders - + Error setting protocol! Kunde inte ställa in protokoll! - + Network cache overflow - + Connection error Anslutningsfel - + One of the Live Broadcasting connections raised this error:<br><b>Error with connection '%1':</b><br> - + Connection message Anslutningsmeddelande - + <b>Message from Live Broadcasting connection '%1':</b><br> - + Lost connection to streaming server and %1 attempts to reconnect have failed. - + Lost connection to streaming server. Förlorade anslutning till streamingserver. - + Please check your connection to the Internet. - + Can't connect to streaming server Kan inte ansluta till streaming-server - + Please check your connection to the Internet and verify that your username and password are correct. Var god kontrollera anslutningen till Internet och verifiera att användarnamn och lösenord är korrekta. @@ -12512,7 +12943,7 @@ may introduce a 'pumping' effect and/or distortion. SoftwareWaveformWidget - + Filtered Filtrerad @@ -12520,23 +12951,23 @@ may introduce a 'pumping' effect and/or distortion. SoundManager - - + + a device en enhet - + An unknown error occurred Ett okänt fel inträffade - + Two outputs cannot share channels on "%1" - + Error opening "%1" Fel vid öppning av "%1" @@ -12721,7 +13152,7 @@ may introduce a 'pumping' effect and/or distortion. - + Spinning Vinyl Vinylsnurra @@ -12903,7 +13334,7 @@ may introduce a 'pumping' effect and/or distortion. - + Cover Art Album-konst @@ -13093,243 +13524,243 @@ may introduce a 'pumping' effect and/or distortion. Spärrar förstärkningen för låg-EQ-filtret när aktiverad. - + Displays the tempo of the loaded track in BPM (beats per minute). Visar den inlästa låtens tempo i BPM (taktslag per minut). - + Tempo Tempo - + Key The musical key of a track Tonart - + BPM Tap Trumma BPM - + When tapped repeatedly, adjusts the BPM to match the tapped BPM. Om du trummar upprepade gånger, justeras BPM till att stämma överens med takten du trummar. - + Adjust BPM Down Justera BPM nedåt - + When tapped, adjusts the average BPM down by a small amount. När du trummar här, ändras BPM nedåt något. - + Adjust BPM Up Justera BPM uppåt - + When tapped, adjusts the average BPM up by a small amount. När du trummar här, ändras BPM uppåt något. - + Adjust Beats Earlier Justera taktslag tidigare - + When tapped, moves the beatgrid left by a small amount. När du trummar här, flyttar sej taktmönstret åt vänster ett kort stycke. - + Adjust Beats Later Justera taktslag senare - + When tapped, moves the beatgrid right by a small amount. När du trummar här, flyttar sej taktmönstret åt höger ett kort stycke. - + Tempo and BPM Tap Trumma tempo och BPM - + Show/hide the spinning vinyl section. Visa/dölj sektionen med vinylsnurror. - + Keylock Tangentlås - + Toggling keylock during playback may result in a momentary audio glitch. - + Toggle visibility of Loop Controls - + Toggle visibility of Beatjump Controls - + Toggle visibility of Rate Control - + Toggle visibility of Key Controls - + (while previewing) - + Places a cue point at the current position on the waveform. - + Stops track at cue point, OR go to cue point and play after release (CUP mode). - + Set cue point (Pioneer/Mixxx/Numark mode), set cue point and play after release (CUP mode) OR preview from it (Denon mode). - + Is latching the playing state. - + Seeks the track to the cue point and stops. - + Play Spela - + Plays track from the cue point. - + Sends the selected channel's audio to the headphone output, selected in Preferences -> Sound Hardware. - + (This skin should be updated to use Sync Lock!) - + Enable Sync Lock - + Tap to sync the tempo to other playing tracks or the sync leader. - + Enable Sync Leader - + When enabled, this device will serve as the sync leader for all other decks. - + This is relevant when a dynamic tempo track is loaded to a sync leader deck.In that case, other synced devices will adopt the changing tempo. - + Changes the track playback speed (affects both the tempo and the pitch). If keylock is enabled, only the tempo is affected. - + Tempo Range Display - + Displays the current range of the tempo slider. - + Un-ejects when no track is loaded, i.e. reloads the track that was ejected last (of any deck). - + Delete selected hotcue. - + Track Comment - + Displays the comment tag of the loaded track. - + Opens separate artwork viewer. - + Effect Chain Preset Settings - + Show the effect chain settings menu for this unit. - + Select and configure a hardware device for this input - + Recording Duration Inspelningslängd @@ -13494,7 +13925,7 @@ may introduce a 'pumping' effect and/or distortion. Speed Up - + Snabba upp @@ -13509,7 +13940,7 @@ may introduce a 'pumping' effect and/or distortion. Slow Down - + Bromsa ner @@ -13552,947 +13983,982 @@ may introduce a 'pumping' effect and/or distortion. - + When tapped repeatedly, adjusts the tempo to match the tapped BPM. + + + Click to open the tempo/BPM editor + + + + + It also shows a colored bar if Key colors are enabled in the Preferences. + + + The bar will be split vertically if the track's key is in between full keys. + + + + Tempo Tap - + Rate Tap and BPM Tap - + + Set Tempo + + + + + Set the desired tempo in BPM. If the track currently has no BPM detected, set the desired tempo in percent. + + + + Adjust beatgrid by exactly one half beat. Usable only on tracks with constant tempo. - + Revert last BPM/Beatgrid Change - + Revert last BPM/Beatgrid Change of the loaded track. - - + + Toggle the BPM/beatgrid lock - + Tempo and Rate Tap - + Tempo, Rate Tap and BPM Tap - + Shift cues earlier - - + + Shift cues imported from Serato or Rekordbox if they are slightly off time. - + Left click: shift 10 milliseconds earlier - + Right click: shift 1 millisecond earlier - + Shift cues later - + Left click: shift 10 milliseconds later - + Right click: shift 1 millisecond later - - - + + + Drag a Hotcue button here to continue playing after releasing the Hotcue. - + Hint: Change the default cue mode in Preferences -> Decks. - + Mutes the selected channel's audio in the main output. - + Main mix enable Huvudmix aktivera - + Hold or short click for latching to mix this input into the main output. - + + Reloads the last replaced track. If no track is loaded reloads the second-last ejected track. + + + + If hotcue is a loop cue, toggles the loop and jumps to if the loop is behind the play position. - + If the play position is inside an active loop, stores the loop as loop cue. - + Drag this button onto another Hotcue button to move it there (change its index). If the other hotcue is set, the two are swapped. - + Expand/Collapse Samplers - + Toggle expanded samplers view. - + Displays the duration of the running recording. - + Auto DJ is active Auto-DJ är aktivt - + Red for when needle skip has been detected. - + Hot Cue - Track will seek to nearest previous hotcue point. - + Sets the track Loop-In Marker to the current play position. - + Press and hold to move Loop-In Marker. - + Jump to Loop-In Marker. - + Sets the track Loop-Out Marker to the current play position. - + Press and hold to move Loop-Out Marker. - + Jump to Loop-Out Marker. - + If the track has no beats the unit is seconds. - + Beatloop Size - + Select the size of the loop in beats to set with the Beatloop button. - + Changing this resizes the loop if the loop already matches this size. - + Halve the size of an existing beatloop, or halve the size of the next beatloop set with the Beatloop button. - + Double the size of an existing beatloop, or double the size of the next beatloop set with the Beatloop button. - + Start a loop over the set number of beats. - + Temporarily enable a rolling loop over the set number of beats. - + Beatloop Anchor - + Define whether the loop is created and adjusted from its staring point or ending point. - + Beatjump/Loop Move Size - + Select the number of beats to jump or move the loop with the Beatjump Forward/Backward buttons. - + Beatjump Forward - + Jump forward by the set number of beats. - + Move the loop forward by the set number of beats. - + Jump forward by 1 beat. - + Move the loop forward by 1 beat. - + Beatjump Backward - + Jump backward by the set number of beats. - + Move the loop backward by the set number of beats. - + Jump backward by 1 beat. - + Move the loop backward by 1 beat. - + Reloop - + If the loop is ahead of the current position, looping will start when the loop is reached. - + Works only if Loop-In and Loop-Out Marker are set. - + Enable loop, jump to Loop-In Marker, and stop playback. - + Displays the elapsed and/or remaining time of the track loaded. - + Click to toggle between time elapsed/remaining time/both. Klicka för att växla mellan tid förflutet/återstående tid/både. - + Hint: Change the time format in Preferences -> Decks. - + Show/hide intro & outro markers and associated buttons. - + + Ensure all waveforms to have the same height across all channels. By default, when displaying the stem controls, waveform for channel that have no stem may render with a shorter height in order to honor the waveform container size you have requested.. + + + + Intro Start Marker - - - - + + + + If marker is set, jumps to the marker. - - - - + + + + If marker is not set, sets the marker to the current play position. - - - - + + + + If marker is set, clears the marker. - + Intro End Marker - + Outro Start Marker - + Outro End Marker - + Mix Mix - + Adjust the mixing of the dry (input) signal with the wet (output) signal of the effect unit - + D/W mode: Crossfade between dry and wet - + D+W mode: Add wet to dry - + Mix Mode Mixläge - + Adjust how the dry (input) signal is mixed with the wet (output) signal of the effect unit - + Dry/Wet mode (crossed lines): Mix knob crossfades between dry and wet Use this to change the sound of the track with EQ and filter effects. - + Dry+Wet mode (flat dry line): Mix knob adds wet to dry Use this to change only the effected (wet) signal with EQ and filter effects. - + Route the main mix through this effect unit. - + Route the left crossfader bus through this effect unit. - + Route the right crossfader bus through this effect unit. - + Right side active: parameter moves with right half of Meta Knob turn - + Stem Label - + Name of the stem stored in the stem file - + Text is displayed in the stem color stored in the stem file - + this stem color is also used for the waveform of this stem - + Stem Mute - + Toggle the stem mute/unmuted - + Stem Volume Knob - + Adjusts the volume of the stem - + Skin Settings Menu Stilinställningar-meny - + Show/hide skin settings menu Visa/dölj stilinställningar-menyn - + Save Sampler Bank Spara samplar-uppsättning - + Save the collection of samples loaded in the samplers. - + Load Sampler Bank Ladda in samplar-uppsättning - + Load a previously saved collection of samples into the samplers. - + Show Effect Parameters Visa effektparametrar - + Enable Effect Aktivera effekt - + Meta Knob Link - + Set how this parameter is linked to the effect's Meta Knob. - + Meta Knob Link Inversion - + Inverts the direction this parameter moves when turning the effect's Meta Knob. - + Super Knob Superknapp - + Next Chain Nästa kedja - + Previous Chain Föregående kedja - + Next/Previous Chain Nästa/föregående kedja - + Clear Rensa - + Clear the current effect. Rensa nuvarande effekt. - + Toggle Växla - + Toggle the current effect. Växla nuvarande effekt. - + Next Nästa - + Clear Unit Rensa enhet - + Clear effect unit. Rensa effektenhet. - + Show/hide parameters for effects in this unit. Visa/dölj parametrar för effekter i denna enhet. - + Toggle Unit Växla enhet - + Enable or disable this whole effect unit. Aktivera eller inaktivera hela denna effektenhet. - + Controls the Meta Knob of all effects in this unit together. - + Load next effect chain preset into this effect unit. - + Load previous effect chain preset into this effect unit. - + Load next or previous effect chain preset into this effect unit. - - - - - - - - - + + + + + + + + + Assign Effect Unit Tilldela effektenhet - + Assign this effect unit to the channel output. - + Route the headphone channel through this effect unit. Skickar hörlursljudet genom den här effekten. - + Route this deck through the indicated effect unit. - + Route this sampler through the indicated effect unit. - + Route this microphone through the indicated effect unit. - + Route this auxiliary input through the indicated effect unit. - + The effect unit must also be assigned to a deck or other sound source to hear the effect. - + Switch to the next effect. Växla till nästa effekt. - + Previous Bakåt - + Switch to the previous effect. Växla till föregående effekt. - + Next or Previous Nästa eller föregående - + Switch to either the next or previous effect. Växla till antingen nästa eller föregående effekt. - + Meta Knob Meta-ratt - + Controls linked parameters of this effect Kontrollerar länkade parametrar på denna effekt - + Effect Focus Button Effektfokus-knapp - + Focuses this effect. Fokuserar denna effekt. - + Unfocuses this effect. Avfokuserar denna effekt. - + Refer to the web page on the Mixxx wiki for your controller for more information. - + Effect Parameter Effektparameter - + Adjusts a parameter of the effect. Justerar en parameter av effekten. - + Inactive: parameter not linked Inaktiv: parameter inte länkad - + Active: parameter moves with Meta Knob - + Left side active: parameter moves with left half of Meta Knob turn - + Left and right side active: parameter moves across range with half of Meta Knob turn and back with the other half - - + + Equalizer Parameter Kill - - + + Holds the gain of the EQ to zero while active. - + Quick Effect Super Knob - + Quick Effect Super Knob (control linked effect parameters). - + Hint: Change the default Quick Effect mode in Preferences -> Equalizers. - + Equalizer Parameter Equalizerparameter - + Adjusts the gain of the EQ filter. - + Hint: Change the default EQ mode in Preferences -> Equalizers. - - + + Adjust Beatgrid Justera taktmönster - + Adjust beatgrid so the closest beat is aligned with the current play position. Justerar taktmönstret så att det närmaste taktslaget stämmer överens med den aktuella uppspelningspositionen. - - + + Adjust beatgrid to match another playing deck. - + If quantize is enabled, snaps to the nearest beat. Hoppar till närmaste taktslag om kvantisering är aktiverad. - + Quantize Kvantisering - + Toggles quantization. Slår på/av kvantisering. - + Loops and cues snap to the nearest beat when quantization is enabled. Slingor och markeringar snäpper till närmaste taktslag när kvantisering är aktiverad. - + Reverse Baklänges - + Reverses track playback during regular playback. Spelar låten baklänges under vanlig uppspelning. - + Puts a track into reverse while being held (Censor). Spelar en låt baklänges så länge knappen trycks ned (censur) - + Playback continues where the track would have been if it had not been temporarily reversed. Uppspelningen fortsätter från den position den skulle varit om inte låten spelats baklänges tillfälligt. - - - + + + Play/Pause Spela/Paus - + Jumps to the beginning of the track. Hoppar till början av låten. - + Syncs the tempo (BPM) and phase to that of the other track, if BPM is detected on both. - + Syncs the tempo (BPM) to that of the other track, if BPM is detected on both. - + Sync and Reset Key - + Increases the pitch by one semitone. Ökar tonhöjden med en semiton. - + Decreases the pitch by one semitone. Minskar tonhöjden med en semiton. - + Enable Vinyl Control Aktivera vinylkontroll - + When disabled, the track is controlled by Mixxx playback controls. - + When enabled, the track responds to external vinyl control. - + Enable Passthrough - + Indicates that the audio buffer is too small to do all audio processing. Indikerar att ljudbufferten är för liten för att kunna bearbeta allt ljud korrekt. - + Displays cover artwork of the loaded track. - + Displays options for editing cover artwork. - + Star Rating Stjärnbetyg - + Assign ratings to individual tracks by clicking the stars. @@ -14627,33 +15093,33 @@ Use this to change only the effected (wet) signal with EQ and filter effects. - + Prevents the pitch from changing when the rate changes. - + Changes the number of hotcue buttons displayed in the deck - + Starts playing from the beginning of the track. Börjar spela från början av låten. - + Jumps to the beginning of the track and stops. Hoppa till början av låten och stoppa. - - + + Plays or pauses the track. Spelar eller pausar låten. - + (while playing) (vid uppspelning) @@ -14673,215 +15139,215 @@ Use this to change only the effected (wet) signal with EQ and filter effects. - + (while stopped) (medan stoppad) - + Cue Markering - + Headphone Hörlur - + Mute Tysta - + Old Synchronize Äldre synkning - + Syncs to the first deck (in numerical order) that is playing a track and has a BPM. Synkroniserar till den första tallriken (i nummerordning) som spelar en låt och har BPM-information. - + If no deck is playing, syncs to the first deck that has a BPM. Synkroniserar till tallriken som har en BPM, om någon tallrik spelar. - + Decks can't sync to samplers and samplers can only sync to decks. Tallrikar kan inte synkronisera till samplare och samplare kan endast synkronisera till tallrikar. - + Hold for at least a second to enable sync lock for this deck. Håll ner i minst en sekund för att aktivera Sync Lock för den här tallriken. - + Decks with sync locked will all play at the same tempo, and decks that also have quantize enabled will always have their beats lined up. Tallrikar med Sync Lock spelar i samma tempo, och tallrikar som också har aktiverad kvantisering spelas alltid med samtidiga taktslag. - + Resets the key to the original track key. - + Speed Control Hastighetsstyrning - - - + + + Changes the track pitch independent of the tempo. Ändrar låtens tonhöjd oberoende av tempot. - + Increases the pitch by 10 cents. Ökar pitchen med 10 cents. - + Decreases the pitch by 10 cents. Minskar pitchen med 10 cents. - + Pitch Adjust Justera hastighet - + Adjust the pitch in addition to the speed slider pitch. - + Opens a menu to clear hotcues or edit their labels and colors. - + Drag this button onto a Play button while previewing to continue playback after release. - + Dragging with Shift key pressed will not start previewing the hotcue. - + Record Mix Spela in mix - + Toggle mix recording. Växla mixinspelning. - + Enable Live Broadcasting Aktivera livesändning - + Stream your mix over the Internet. Streama din mix över internet. - + Provides visual feedback for Live Broadcasting status: - + disabled, connecting, connected, failure. inaktiverad, ansluter, ansluten, misslyckande. - + When enabled, the deck directly plays the audio arriving on the vinyl input. - + Playback will resume where the track would have been if it had not entered the loop. Uppspelningen fortsätter från den position den skulle ha varit om låten inte hade lagts in i slingan. - + Loop Exit Avsluta slinga - + Turns the current loop off. Stänger av aktuell slinga. - + Slip Mode Spela-vidare-sätt - + When active, the playback continues muted in the background during a loop, reverse, scratch etc. Uppspelningen fortsätter tyst samtidigt som du använder slingor, baklängesspelning, scratchning, o.s.v. när denna funktion är aktiverad. - + Once disabled, the audible playback will resume where the track would have been. Vid avstängning fortsätter uppspelningen från det ställe låten skulle ha varit. - + Track Key The musical key of a track Låtens tonart - + Displays the musical key of the loaded track. Visar den laddade låtens tonart. - + Clock Klocka - + Displays the current time. Visar aktuell tid. - + Audio Latency Usage Meter Ljudlatensanvändningsmätare - + Displays the fraction of latency used for audio processing. Visar hur stor del av latensen som används för ljudbehandlingen. - + A high value indicates that audible glitches are likely. Ett högt värde tyder på att hörbara störningar är troliga. - + Do not enable keylock, effects or additional decks in this situation. Aktivera inte tonhöjdslås, effekter eller ytterligare tallrikar i denna situation. - + Audio Latency Overload Indicator Indikator för ljudlatensöverbelastning @@ -14921,259 +15387,259 @@ Use this to change only the effected (wet) signal with EQ and filter effects.Aktivera vinylstyrning i Meny -> Inställningar. - + Displays the current musical key of the loaded track after pitch shifting. Visar låtens aktuella tonart efter tonhöjdsändring. - + Fast Rewind Snabbspolning bakåt - + Fast rewind through the track. Spolar låten snabbt bakåt. - + Fast Forward Snabbspolning framåt - + Fast forward through the track. Spolar låten snabbt framåt. - + Jumps to the end of the track. Hoppar till slutet av låten. - + Sets the pitch to a key that allows a harmonic transition from the other track. Requires a detected key on both involved decks. - - - + + + Pitch Control Tonhöjdsstyrning - + Pitch Rate Tonhöjdshastighet - + Displays the current playback rate of the track. Visar uppspelningshastigheten för spåret som spelas upp. - + Repeat Upprepa - + When active the track will repeat if you go past the end or reverse before the start. Om aktiverad repeteras låten om du fortsätter bortom slutet eller backar före början. - + Eject Mata ut - + Ejects track from the player. Matar ut låten från spelaren. - + Hotcue Snabbmarkering - + If hotcue is set, jumps to the hotcue. Hoppar till en snabbmarkering, om den existerar - + If hotcue is not set, sets the hotcue to the current play position. Sätter en snabbmarkering vid aktuell position, om ingen snabbmarkering existerar. - + Vinyl Control Mode Vinylstyrningssätt - + Absolute mode - track position equals needle position and speed. Absolut modus - låtpositionen är samma som nålpositionen och -hastigheten. - + Relative mode - track speed equals needle speed regardless of needle position. Relativ modus - låthastigheten är samma som nålhastigheten, oavsett av nålpositionen. - + Constant mode - track speed equals last known-steady speed regardless of needle input. Konstant modus - låthastigheten är samma som den sist använda, jämna hastigheten, oavsett nålinformationen. - + Vinyl Status Vinylstatus - + Provides visual feedback for vinyl control status: Tillhandahåller visuell feed-back av vinylstyrning: - + Green for control enabled. Grönt för aktiverad styrenhet. - + Blinking yellow for when the needle reaches the end of the record. Blinkande gult när nålen når slutet av skivan. - + Loop-In Marker Loop-in-markering - + Loop-Out Marker Loop-out-markering - + Loop Halve Halv slinga - + Halves the current loop's length by moving the end marker. Halverar längden av den aktuella slingan genom att flytta slutmarkeringen. - + Deck immediately loops if past the new endpoint. Om bortom den nya slutpunkten hoppar tallriken genast tillbaks i slingan. - + Loop Double Dubbel slinga - + Doubles the current loop's length by moving the end marker. Dubblar längden av den aktuella slingan genom att flytta slutmarkeringen. - + Beatloop Taktslinga - + Toggles the current loop on or off. Slår på/av aktuell slinga - + Works only if Loop-In and Loop-Out marker are set. Fungerar bara om både loop-in- och loop-out-markeringar har satts. - + Vinyl Cueing Mode Vinylmarkeringssätt - + Determines how cue points are treated in vinyl control Relative mode: Bestämmer hur markeringspunkter behandlas i relativ modus för vinylstyrning: - + Off - Cue points ignored. Av - Markeringspunkter ignoreras. - + One Cue - If needle is dropped after the cue point, track will seek to that cue point. Enkelmarkering - om du släpper ner nålen efter markeringen, kommer låten att hoppa till denna markering. - + Track Time Låtens tidsläge - + Track Duration Låtens speltid - + Displays the duration of the loaded track. Visar speltiden för den laddade låten. - + Information is loaded from the track's metadata tags. Informationen laddas från låtens metadatataggar. - + Track Artist Låtens artist - + Displays the artist of the loaded track. Visar artisten för den laddade låten. - + Track Title Låtens titel - + Displays the title of the loaded track. Visar titeln för den laddade låten. - + Track Album Låtens album - + Displays the album name of the loaded track. Visar albumnamnet för den laddade låten. - + Track Artist/Title Låtens artist/titel - + Displays the artist and title of the loaded track. Visar artisten och titeln för den laddade låten. @@ -15401,47 +15867,75 @@ This can not be undone! WCueMenuPopup - + Cue number - + Cue position - + Edit cue label - + Label... Etikett... - + Delete this cue - - Toggle this cue type between normal cue and saved loop + + Turn this cue into a regular hotcue + + + + + Turn this cue into a saved loop + + + + + Left-click: Use the old size if known or the current beatloop size as the loop size + + + + + Right-click: Use the current play position as new loop end if it is after the cue - - Left-click: Use the old size or the current beatloop size as the loop size + + Turn this cue into a saved forward jump. + + is a linebreak. Try to not to extend the translation beyond the length of the longest source line so the tooltip remains compact. - - Right-click: Use the current play position as loop end if it is after the cue + + Turn this cue into a saved backward jump (one shot loop). - + + Left-click: Use the old size if known or the current play position as jump start position +If this is already a jump cue, swap the jump position and the cue/target position. + + + + + Right-click: use current play position as new jump start position + + + + Hotcue #%1 @@ -15461,7 +15955,7 @@ This can not be undone! Save As New Preset... - + Spara som nytt förval... @@ -15504,7 +15998,7 @@ This can not be undone! Find on Web - + Hitta på webben @@ -15577,7 +16071,7 @@ This can not be undone! Ctrl+f - + Ctrl+F @@ -15743,171 +16237,181 @@ This can not be undone! + Show Auto DJ + + + + + Switch to the Auto DJ view. + + + + &Full Screen &Helskärm - + Display Mixxx using the full screen Visa Mixxx i helskärmsläge - + &Options &Optioner - + &Vinyl Control &Vinylstyrning - + Use timecoded vinyls on external turntables to control Mixxx Använd tidskodade skivor på externa skivspelare för att styra Mixxx. - + Enable Vinyl Control &%1 Aktivera vinylstyrning &%1 - + &Record Mix %Spela in Mix - + Record your mix to a file Spara din mix till en fil - + Ctrl+R Ctrl+R - + Enable Live &Broadcasting Aktivera livesä&ndning - + Stream your mixes to a shoutcast or icecast server Streama dina mixar till en shoutcast- eller icecast-server - + Ctrl+L Ctrl+L - + Enable &Keyboard Shortcuts Aktivera tangentbords&genvägar - + Toggles keyboard shortcuts on or off Slår på/av tangentbordsgenvägar - + Ctrl+` Ctrl+` - + &Preferences &Inställningar - + Change Mixxx settings (e.g. playback, MIDI, controls) Ändra Mixxx inställningar (t.ex. återgivning, MIDI, styrenheter) - + &Developer &Utvecklare - + &Reload Skin &Ladda om skinnet - + Reload the skin Ladda om skinnet - + Ctrl+Shift+R Ctrl+Shift+R - + Developer &Tools Utvecklarverktyg - + Opens the developer tools dialog Öppnar dialogrutan för utvecklingsverktyg - + Ctrl+Shift+T Ctrl+Shift+T - + Stats: &Experiment Bucket - + Enables experiment mode. Collects stats in the EXPERIMENT tracking bucket. - + Ctrl+Shift+E Ctrl+Shift+E - + Stats: &Base Bucket - + Enables base mode. Collects stats in the BASE tracking bucket. - + Ctrl+Shift+B Ctrl+Shift+B - + Deb&ugger Enabled - + Enables the debugger during skin parsing - + Ctrl+Shift+D Ctrl+Shift+D - + &Help &Hjälp @@ -15941,62 +16445,62 @@ This can not be undone! F12 - + &Community Support Hjälp från andra &användare - + Get help with Mixxx Få hjälp för Mixxx. - + &User Manual Br&uksanvisning - + Read the Mixxx user manual. Läs bruksanvisningen för Mixxx. - + &Keyboard Shortcuts & Tangentbordsgenvägar - + Speed up your workflow with keyboard shortcuts. - + &Settings directory - + Open the Mixxx user settings directory. - + &Translate This Application Översä&tt denna applikation - + Help translate this application into your language. Hjälp oss att översätta det här programmet till ditt språk. - + &About &Om... - + About the application Om programmet @@ -16004,25 +16508,25 @@ This can not be undone! WOverview - + Passthrough - + Ready to play, analyzing... Text on waveform overview when file is playable but no waveform is visible Redo att spela, analyserar... - - + + Loading track... Text on waveform overview when file is cached from source Laddar låt... - + Finalizing... Text on waveform overview during finalizing of waveform analysis @@ -16123,7 +16627,7 @@ This can not be undone! in search history - + i sökhistorik @@ -16146,7 +16650,7 @@ This can not be undone! harmonic with %1 - + harmonisk med %1 @@ -16212,625 +16716,640 @@ This can not be undone! WTrackMenu - + Load to Ladda till - + Deck Tallrik - + Sampler Samplare - + Add to Playlist Spara till spellistan. - + Crates Backar - + Metadata Metadata - + Update external collections Uppdatera externa samlingar - + Cover Art Album-konst - + Adjust BPM Justera BPM - + Select Color Välj färg - - + + Analyze Analysera - - + + Delete Track Files Ta bort låtfiler - + Add to Auto DJ Queue (bottom) Spara till Auto DJ kö (sist) - + Add to Auto DJ Queue (top) Spara till Auto DJ kö (först) - + Add to Auto DJ Queue (replace) Lägg till i Auto-DJ-kön (ersätt) - + Preview Deck Förlyssnings-tallrik - + Remove Ta bort - + Remove from Playlist Ta bort från spellista - + Remove from Crate - + Hide from Library Dölj från biblioteket - + Unhide from Library Ta fram från biblioteket - + Purge from Library Rensa från biblioteket - + Move Track File(s) to Trash - + Delete Files from Disk Ta bort filer från disk - + Properties Egenskaper - + Open in File Browser Öppna i filhanteraren - + Select in Library - + Välj i bibliotek - + Import From File Tags Importera från filtaggar - + Import From MusicBrainz Importera från MusicBrainz - + Export To File Tags Exportera tlll filtaggar - + BPM and Beatgrid - + Play Count Antal spelningar - + Rating Betyg - + Cue Point - - + + Hotcues Snabbmarkeringar - + Intro Intro - + Outro Outro - + Key Nyckel - + ReplayGain Förstärkning av uppspelning - + Waveform Vågform - + Comment Kommentar - + All Alla - + Sort hotcues by position (remove offsets) - + Sort hotcues by position - + Lock BPM Lås BPM - + Unlock BPM Lås upp BPM - + Double BPM Dubbel BPM - + Halve BPM Halva BPM - + 2/3 BPM 2/3 BPM - + 3/4 BPM 3/4 BPM - + 4/3 BPM 4/3 BPM - + 3/2 BPM 3/2 BPM - + Shift Beatgrid Half Beat - + Reanalyze - + Reanalyze (constant BPM) - + Reanalyze (variable BPM) - + Update ReplayGain from Deck Gain - + Deck %1 Tallrik %1 - + Importing metadata of %n track(s) from file tags - + Marking metadata of %n track(s) to be exported into file tags - - + + Create New Playlist Skapa ny spellista - + Enter name for new playlist: Mata in ett namn för ny spellista: - + New Playlist Ny spellista - - - + + + Playlist Creation Failed Spellistan gick inte att skapa - + A playlist by that name already exists. En spellista med det namnet finns redan. - + A playlist cannot have a blank name. En spellista kan inte vara utan namn. - + An unknown error occurred while creating playlist: Ett okänt fel uppstod när spellistan skapades: - + Add to New Crate - + Scaling BPM of %n track(s) - + Undo BPM/beats change of %n track(s) - + Locking BPM of %n track(s) - + Unlocking BPM of %n track(s) - + Setting rating of %n track(s) - + Setting color of %n track(s) - + Resetting play count of %n track(s) - + Resetting beats of %n track(s) - + Clearing rating of %n track(s) - + Clearing comment of %n track(s) - + Removing main cue from %n track(s) - + Removing outro cue from %n track(s) - + Removing intro cue from %n track(s) - + Removing loop cues from %n track(s) - + Removing hot cues from %n track(s) - + Sorting hotcues of %n track(s) by position (remove offsets) - + Sorting hotcues of %n track(s) by position - + Resetting keys of %n track(s) - + Resetting replay gain of %n track(s) - + Resetting waveform of %n track(s) - + Resetting all performance metadata of %n track(s) - + Move these files to the trash bin? - + Permanently delete these files from disk? Ta bort dessa filer från disk permanent? - - + + This can not be undone! Detta kan inte ångras! - + Cancel Avbryt - + Delete Files Ta bort filer - + Okay - + Okej - + Move Track File(s) to Trash? - + Track Files Deleted Låtfiler borttagna - + Track Files Moved To Trash - + %1 track files were moved to trash and purged from the Mixxx database. - + %1 track files were deleted from disk and purged from the Mixxx database. - + Track File Deleted - + Track file was deleted from disk and purged from the Mixxx database. - + The following %1 file(s) could not be deleted from disk - + This track file could not be deleted from disk - + Remaining Track File(s) - + Close Stäng - + Clear Reset metadata in right click track context menu in library - + Rensa - + Loops - + Loopar - + Clear BPM and Beatgrid - + Undo last BPM/beats change - + Move this track file to the trash bin? - + Permanently delete this track file from disk? - + All decks where these tracks are loaded will be stopped and the tracks will be ejected. - + All decks where this track is loaded will be stopped and the track will be ejected. - + Removing %n track file(s) from disk... - + Note: if you are in the Computer or Recording view you need to click the current view again to see changes. - + Track File Moved To Trash - + Track file was moved to trash and purged from the Mixxx database. - + Don't show again during this session - + The following %1 file(s) could not be moved to trash - + This track file could not be moved to trash + + + Replace current Auto DJ queue? + + + + + Do you want to replace the entire Auto DJ queue with the selected tracks? + + + + + Don't ask again during this session + + - + Setting cover art of %n track(s) - + Reloading cover art of %n track(s) @@ -16840,7 +17359,7 @@ This can not be undone! title - + titel @@ -16884,37 +17403,37 @@ This can not be undone! WTrackTableView - + Confirm track hide - + Are you sure you want to hide the selected tracks? - + Are you sure you want to remove the selected tracks from AutoDJ queue? - + Are you sure you want to remove the selected tracks from this crate? - + Are you sure you want to remove the selected tracks from this playlist? - + Don't ask again during this session - + Confirm track removal Bekräfta borttagning av låt @@ -16922,12 +17441,12 @@ This can not be undone! WTrackTableViewHeader - + Show or hide columns. Visa eller dölj kolumner. - + Shuffle Tracks @@ -16935,52 +17454,52 @@ This can not be undone! mixxx::CoreServices - + fonts fonter - + database databas - + effects effekter - + audio interface - + ljudinterface - + decks - + library bibliotek - + Choose music library directory Välj mapp för musikbibliotek - + controllers - + Cannot open database Kan inte öppna databasen - + Unable to establish a database connection. Mixxx requires QT with SQLite support. Please read the Qt SQL driver documentation for information on how to build it. @@ -17006,7 +17525,7 @@ Klicka på OK för att avsluta. Playlists - + Spellistor @@ -17113,7 +17632,7 @@ Klicka på OK för att avsluta. Exporting to Engine DJ... - + Exporterar till Engine DJ... @@ -17137,6 +17656,24 @@ Klicka på OK för att avsluta. + + mixxx::qml::QmlApplication + + + Existing user profile detected + + + + + Trying to run Mixxx 3.0 with an existing %0 user profile! <br><br>There is <b>serious risks</b> of data loss and corruption.<br>We recommend using a test profile folder with the '--settings-path' argument. <br><br>If you want to continue at your own risk, run Mixxx with the argument '--allow-dangerous-data-corruption-risk'. + + + + + Ok + + + mixxx::qml::QmlVisibleEffectsModel @@ -17145,4 +17682,27 @@ Klicka på OK för att avsluta. Ingen effekt laddad. + + mixxx::qml::QmlWaveformRendererMark + + + Cannot find the marker pixmap + + + + + Cannot find the marker endPixmap + + + + + Cannot find the marker icon + + + + + Cannot find the marker endIcon + + + \ No newline at end of file diff --git a/res/translations/mixxx_tr.qm b/res/translations/mixxx_tr.qm index 213bdd649b26c10acd197189543598d196f133eb..b793e5bd8ff1360fb6494b86b97d09c71578ea3d 100644 GIT binary patch delta 5539 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 diff --git a/res/translations/mixxx_tr.ts b/res/translations/mixxx_tr.ts index 6c87ee1e6c57..8049e8b97074 100644 --- a/res/translations/mixxx_tr.ts +++ b/res/translations/mixxx_tr.ts @@ -8,6 +8,14 @@ + + AllTrackLibraryFeature + + + All... + + + AnalysisFeature @@ -19,52 +27,52 @@ AutoDJFeature - + Crates Kutular - + Enable Auto DJ Otomatik DJ'i Etkinleştir - + Disable Auto DJ Otomatik DJ'i Devre Dışı Bırak - + Clear Auto DJ Queue Otomatik DJ Listesini Sil - + Remove Crate as Track Source Kutuyu parça kaynağı olarak kaldır - + Auto DJ Otomatik DJ - + Confirmation Clear Onayı Kaldır - + Do you really want to remove all tracks from the Auto DJ queue? Gerçekten Otomatik DJ kuyruğundaki tüm parçaları kaldırmak istiyor musunuz? - + This can not be undone. Bu geri alınamaz. - + Add Crate as Track Source Kutuyu parça kaynağı olarak ekle @@ -223,7 +231,7 @@ - + Export Playlist Çalma listesini dışa aktar @@ -277,13 +285,13 @@ - + Playlist Creation Failed Çalma Listesi Oluşturulamadı - + An unknown error occurred while creating playlist: Çalma listesi oluşturulurken bilinmeyen bir hata oluştu: @@ -298,12 +306,12 @@ <b>%1</b> çalma listesini gerçekten silmek istiyor musunuz? - + M3U Playlist (*.m3u) M3U Çalma Listesi (*.m3u) - + M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Text CSV (*.csv);;Readable Text (*.txt) M3U Çalma Listesi (*.m3u);;M3U8 Çalma Listesi (*.m3u8);;PLS Çalma Listesi (*.pls);;Metin CSV (*.csv);;Okunabilir Metin (*.txt) @@ -311,12 +319,12 @@ BaseSqlTableModel - + # # - + Timestamp Zaman Etiketi @@ -324,7 +332,7 @@ BaseTrackPlayerImpl - + Couldn't load track. Parça aktarılamadı. @@ -362,7 +370,7 @@ Kanallar - + Color Renk @@ -377,7 +385,7 @@ Besteci - + Cover Art Albüm kapak resim @@ -387,7 +395,7 @@ Eklendiği Tarih - + Last Played Son Çalınan @@ -417,7 +425,7 @@ Anahtar - + Location Konum @@ -427,7 +435,7 @@ Genel Bakış - + Preview Önizleme @@ -467,7 +475,7 @@ Yıl - + Fetching image ... Tooltip text on the cover art column shown when the cover is read from disk Resim getiriliyor... @@ -489,22 +497,22 @@ BroadcastProfile - + Can't use secure password storage: keychain access failed. Güvenli parola depolama alanı kullanılamıyor: anahtar erişimi başarısız oldu. - + Secure password retrieval unsuccessful: keychain access failed. Güvenli parola alımı başarısız: anahtar erişimi başarısız oldu. - + Settings error Ayarlar hatası - + <b>Error with settings for '%1':</b><br> <b>Ayarlarda hata '%1' için:</b><br> @@ -592,7 +600,7 @@ - + Computer Bilgisayar @@ -612,17 +620,17 @@ Tara - + "Computer" lets you navigate, view, and load tracks from folders on your hard disk and external devices. "Bilgisayar", sabit diskinizdeki ve harici aygıtlarınızdaki klasörlerdeki parçaları gezinmenizi, görüntülemenizi ve yüklemenizi sağlar. - + It shows the data from the file tags, not track data from your Mixxx library like other track views. - + If you load a track file from here, it will be added to your library. @@ -735,12 +743,12 @@ Dosya yaratıldı - + Mixxx Library Mixxx Kütüphanesi - + Could not load the following file because it is in use by Mixxx or another application. Aşağıdaki dosya silinemedi çünkü Mixxx ya da başka bir uygulama tarafından kullanımda. @@ -771,87 +779,92 @@ CmdlineArgs - + Mixxx is an open source DJ software. For more information, see: Mixxx açık kaynaklı bir DJ yazılımıdır. Daha fazla bilgi için bkz.: - + Starts Mixxx in full-screen mode Mixxx'i tam ekran modunda başlat - + Use a custom locale for loading translations. (e.g 'fr') - + Top-level directory where Mixxx should look for its resource files such as MIDI mappings, overriding the default installation location. - + Path the debug statistics time line is written to - + Causes Mixxx to display/log all of the controller data it receives and script functions it loads - + The controller mapping will issue more aggressive warnings and errors when detecting misuse of controller APIs. New Controller Mappings should be developed with this option enabled! - + Enables developer-mode. Includes extra log info, stats on performance, and a Developer tools menu. - + Top-level directory where Mixxx should look for settings. Default is: - + Starts Auto DJ when Mixxx is launched. - + Rescans the library when Mixxx is launched. - + Use legacy vu meter - + Use legacy spinny - - Loads experimental QML GUI instead of legacy QWidget skin + + Loads the highly unstable 3.0 Mixxx interface, based on QML. You need to use a new setting profile, or run with 'allow-dangerous-data-corruption-risk' to use with the current one. We highly recommend backing up your data if you do so. + + + + + Force Mixxx to load an unstable version with an existing user profile from a stable version - + Enables safe-mode. Disables OpenGL waveforms, and spinning vinyl widgets. Try this option if Mixxx is crashing on startup. - + [auto|always|never] Use colors on the console output. - + Sets the verbosity of command line logging. critical - Critical/Fatal only warning - Above + Warnings @@ -861,32 +874,32 @@ trace - Above + Profiling messages - + Sets the the logging level at which the log buffer is flushed to mixxx.log. <level> is one of the values defined at --log-level above. - + Sets the maximum file size of the mixxx.log file in bytes. Use -1 for unlimited. The default is 100 MB as 1e5 or 100000000. - + Breaks (SIGINT) Mixxx, if a DEBUG_ASSERT evaluates to false. Under a debugger you can continue afterwards. - + Overrides the default application GUI style. Possible values: %1 - + Load the specified music file(s) at start-up. Each file you specify will be loaded into the next virtual deck. - + Preview rendered controller screens in the Setting windows. @@ -980,2567 +993,2748 @@ trace - Above + Profiling messages ControlPickerMenu - + Headphone Output Kulaklık çıkış - - - + + + + Deck %1 + %1 is the deck number 1 ... 4 Dek %1 - + Sampler %1 Sampler %1 - + Preview Deck %1 Önizleme seti %1 - + Microphone %1 Mikrofon %1 - + Auxiliary %1 Auxiliary %1 - + Reset to default Varsayılana dön - + Effect Rack %1 Efekt %1 - + Parameter %1 Parametre %1 - + Mixer Karıştırıcı - - + + Crossfader Crossfader - + Headphone mix (pre/main) Kulaklık dengesi (pre/ana) - + Toggle headphone split cueing Kulaklık bölünmüş işaretini aç/kapat - + Headphone delay Kulaklık gecikme - + Transport Aktarım - + Strip-search through track Parça boyunca şerit arama. - + Play button Çal düğmesi - - + + Set to full volume Sesi sonuna kadar aç - - + + Set to zero volume Sesi sonuna kadar kapT - + Stop button Durdur düğmesi - + Jump to start of track and play Parçanın başına git ve çal - + Jump to end of track İzin sonuna sıçra - + Reverse roll (Censor) button Ters çevirme (Sansür) düğmesi - + Headphone listen button Kulaklıktan dinle düğmesi - - + + Mute button Ses sıfırlama düğmesi - + Toggle repeat mode Tekrar kipini değiştir - - + + Mix orientation (e.g. left, right, center) Karıştırma yönü (örn. sol, sağ, orta) - - + + Set mix orientation to left Mix yönünü sol olarak belirle - - + + Set mix orientation to center Mix yönünü mekez olarak belirle - - + + Set mix orientation to right Mix yönünü sağ olarak belirle - + Toggle slip mode Kaydırma moduna geç - - + + BPM BPM(Dakikalık Vuruş Sayısı) - + Increase BPM by 1 BPM'i 1 artır - + Decrease BPM by 1 BPM'i 1 düşür - + Increase BPM by 0.1 BPM'i 0,1 artır - + Decrease BPM by 0.1 BPM'i 0,1 düşür - + BPM tap button BPM ayar düğmesi - + Toggle quantize mode Kuantize modunu değiştir - + One-time beat sync (tempo only) Bir defalık beat senkronizasyonu (sadece tempo) - + One-time beat sync (phase only) Bir defalık beat senkronizasyonu (sadece faz) - + Toggle keylock mode Tuş Kilitleme Moduna Geç - + Equalizers Dengeleyiciler (Ekolayzerler) - + Vinyl Control Vinil Kontrolu - + Toggle vinyl-control cueing mode (OFF/ONE/HOT) - + Toggle vinyl-control mode (ABS/REL/CONST) - + Pass through external audio into the internal mixer - + Cues İşaretler - + Cue button İşaretleme düğmesi - + Set cue point İşaret noktası koy - + Go to cue point İşaretlenmiş noktaya git - + Go to cue point and play İşaretlenmiş noktaya git ve çal - + Go to cue point and stop İşaretlenmiş noktaya git ve durdur - + Preview from cue point İşaretlenmiş noktadan itibaren önizleme - + Cue button (CDJ mode) İşaretleme düğmesi (CDJ modu) - + Stutter cue Geçici başlama noktasını belirle - + Hotcues Önemli işaretler - + Set, preview from or jump to hotcue %1 - + Clear hotcue %1 %1 kısayolunu temizle - + Set hotcue %1 %1 kısayolunu ayarla - + Jump to hotcue %1 %1 kısayolu atla - + Jump to hotcue %1 and stop %1 hotcue git ve durdur - + Jump to hotcue %1 and play Kısayol %1'e atlayın ve oynayın - + Preview from hotcue %1 En düşük hotcue %1 önizleme - - + + Hotcue %1 Hotcue %1 - + Looping Döngü - + Loop In button Döngü giriş düğmesi - + Loop Out button Döngü çıkış düğmesi - + Loop Exit button Döngüden çıkıma düğmesi - + 1/2 1/2 - + 1 1 - + 2 2 - + 4 4 - + 8 8 - + 16 16 - + 32 32 - + 64 64 - + Move loop forward by %1 beats - + Move loop backward by %1 beats - + Create %1-beat loop %1 vuruşlu döngü oluştur - + Create temporary %1-beat loop roll - + Library Kütüphane - + Slot %1 Bölme %1 - + Headphone Mix Kulaklık Mix - + Headphone Split Cue Kulaklık Bölme İşareti - + Headphone Delay Kulaklık gecikme - + Play Çal - + Fast Rewind Hızlı geri al - + Fast Rewind button Hızlı geri al - + Fast Forward Hızlı ileri al - + Fast Forward button Hızlı ileri alma düğmesi - + Strip Search Şerit Arama - + Play Reverse Tersten çal - + Play Reverse button Tersten çalma düğmesi - + Reverse Roll (Censor) - + Jump To Start Başa atla - + Jumps to start of track Parçanın başına atla - + Play From Start Başından itibaren çal - + Stop Dur - + Stop And Jump To Start Dur ve başa atla - + Stop playback and jump to start of track Çalmayı durdur ve parçanın başına atla - + Jump To End Sona atla - + Volume Ses düzeyi - - - + + + Volume Fader Ses Düzeyi - - + + Full Volume Maksimum ses düzeyi - - + + Zero Volume Sıfır ses düzeyi - + Track Gain Parça Gain - + Track Gain knob Parça izleme düğmesi - - + + Mute Ses kapatma - + Eject Çıkar - - + + Headphone Listen Kulaklık dinleme - + Headphone listen (pfl) button Kulaklık dinleme (pfl) düğmesi - + Repeat Mode Tekrar modu - + Slip Mode Uyku Modu - - + + Orientation Yönelim - - + + Orient Left Sağ Yönlen - - + + Orient Center Merkeze Yönlen - - + + Orient Right Sağ Yönlen - + BPM +1 BPM +1 - + BPM -1 BPM -1 - + BPM +0.1 BPM +0.1 - + BPM -0.1 BPM -0.1 - + BPM Tap BPM Tap - + Adjust Beatgrid Faster +.01 - + Increase track's average BPM by 0.01 - + Adjust Beatgrid Slower -.01 - + Decrease track's average BPM by 0.01 - + Move Beatgrid Earlier - + Adjust the beatgrid to the left - + Move Beatgrid Later - + Adjust the beatgrid to the right - + Adjust Beatgrid Beatgrid'i ayarlayın - + Align beatgrid to current position - + Adjust Beatgrid - Match Alignment - + Adjust beatgrid to match another playing deck. - + Quantize Mode Kuantize modu - + Sync Eşitleme - + Beat Sync One-Shot - + Sync Tempo One-Shot - + Sync Phase One-Shot - + Pitch control (does not affect tempo), center is original pitch - + Pitch Adjust - + Adjust pitch from speed slider pitch - + Match musical key Müzik anahtarını eşle - + Match Key Anahtarı eşle - + Reset Key Sıfırlama tuşu - + Resets key to original Anahtarı orijinale döndür - + High EQ Yüksek EQ - + Mid EQ Orta EQ - - + + Main Output - + Main Output Balance - + Main Output Delay - + Main Output Gain - + Low EQ Düşük EQ - + Toggle Vinyl Control - + Toggle Vinyl Control (ON/OFF) - + Vinyl Control Mode - + Vinyl Control Cueing Mode - + Vinyl Control Passthrough - + Vinyl Control Next Deck - + Single deck mode - Switch vinyl control to next deck - + Cue Başlangıç noktası - + Set Cue Başlangıç Noktası belirle - + Go-To Cue Başlangıç noktasına git - + Go-To Cue And Play - + Go-To Cue And Stop - + Preview Cue - + Cue (CDJ Mode) - + Stutter Cue - + Go to cue point and play after release - + Clear Hotcue %1 - + Set Hotcue %1 - + Jump To Hotcue %1 - + Jump To Hotcue %1 And Stop - + Jump To Hotcue %1 And Play - + Preview Hotcue %1 - + Loop In Döngüye Gir - + Loop Out Döngüden Çık - + Loop Exit Döngüden Çık - + Reloop/Exit Loop Tekrar Döngü/Döngüden Çık - + Loop Halve Yarı Döngü - + Loop Double Çift Döngü - + 1/32 1/32 - + 1/16 1/16 - + 1/8 1/8 - + 1/4 1/4 - + Move Loop +%1 Beats Döngüyü +%1 Vuruş Kaydır - + Move Loop -%1 Beats Döngüyü -%1 Vuruş Kaydır - + Loop %1 Beats - + Loop Roll %1 Beats - + Add to Auto DJ Queue (bottom) Otomatik DJ kuyruğuna ekle (alta) - + Append the selected track to the Auto DJ Queue - + Add to Auto DJ Queue (top) Otomatik DJ kuyruğuna ekle (üste) - + Prepend selected track to the Auto DJ Queue - + Load Track Parçayı yükle - + Load selected track Seçilmiş parçayı yükle - + Load selected track and play Seçilen parçayı yükle ve oynat - - + + Record Mix Mix kaydet - + Toggle mix recording - + Effects Efektler - - Quick Effects - - - - + Deck %1 Quick Effect Super Knob - + + Quick Effect Super Knob (control linked effect parameters) - - + + + + Quick Effect - + Clear Unit Birimi Temizle - + Clear effect unit Efekt birmini temizle - + Toggle Unit - + Dry/Wet Kuru/Islak - + Adjust the balance between the original (dry) and processed (wet) signal. - + Super Knob - + Next Chain Sonraki zincir - + Assign Ata - + Clear Temizle - + Clear the current effect - + Toggle - + Toggle the current effect - + Next Sonraki - + Switch to next effect - + Previous Önceki - + Switch to the previous effect - + Next or Previous - + Switch to either next or previous effect - - + + Parameter Value Parametre değeri - - + + Microphone Ducking Strength - + Microphone Ducking Mode - + Gain - + Gain knob - + Shuffle the content of the Auto DJ queue - + Skip the next track in the Auto DJ queue - + Auto DJ Toggle - + Toggle Auto DJ On/Off - + Show/hide the microphone & auxiliary section - + 4 Effect Units Show/Hide - + Switches between showing 2 and 4 effect units - + Mixer Show/Hide - + Show or hide the mixer. - + Cover Art Show/Hide (Library) - + Show/hide cover art in the library - + Library Maximize/Restore - + Maximize the track library to take up all the available screen space. - + Effect Rack Show/Hide - + Show/hide the effect rack - + Waveform Zoom Out - + Headphone Gain - + Headphone gain - + Tap to sync tempo (and phase with quantize enabled), hold to enable permanent sync - + One-time beat sync tempo (and phase with quantize enabled) - + Playback Speed - + Playback speed control (Vinyl "Pitch" slider) - + Pitch (Musical key) - + Increase Speed - + Adjust speed faster (coarse) - + Increase Speed (Fine) - + Adjust speed faster (fine) - + Decrease Speed - + Adjust speed slower (coarse) - + Adjust speed slower (fine) - + Temporarily Increase Speed - + Temporarily increase speed (coarse) - + Temporarily Increase Speed (Fine) - + Temporarily increase speed (fine) - + Temporarily Decrease Speed - + Temporarily decrease speed (coarse) - + Temporarily Decrease Speed (Fine) - + Temporarily decrease speed (fine) - - + + Adjust %1 - + + Deck %1 Stem %2 + + + + Effect Unit %1 - + Button Parameter %1 - + Skin Görünüm - + Controller - + Crossfader / Orientation - + Main Output gain - + Main Output balance - + Main Output delay - + Headphone Kulaklık - - + + Kill %1 + %1 is "Low EQ" "Mid EQ" or "High EQ" - + Eject or un-eject track, i.e. reload the last-ejected track (of any deck)<br>Double-press to reload the last replaced track. In empty decks it reloads the second-last ejected track. - + BPM / Beatgrid - + Halve BPM - + Multiply current BPM by 0.5 - + 2/3 BPM - + Multiply current BPM by 0.666 - + 3/4 BPM - + Multiply current BPM by 0.75 - + 4/3 BPM - + Multiply current BPM by 1.333 - + 3/2 BPM - + Multiply current BPM by 1.5 - + Double BPM - + Multiply current BPM by 2 - + Tempo Tap - + Tempo tap button - + Move Beatgrid - + Adjust the beatgrid to the left or right - + Move Beatgrid Half a Beat - + Adjust the beatgrid by exactly one half beat. Usable only for tracks with constant tempo. - - + + Toggle the BPM/beatgrid lock - + Revert last BPM/Beatgrid Change - + Revert last BPM/Beatgrid Change of the loaded track. - + Sync / Sync Lock - + Internal Sync Leader - + Toggle Internal Sync Leader - - + + Internal Leader BPM - + Internal Leader BPM +1 - + Increase internal Leader BPM by 1 - + Internal Leader BPM -1 - + Decrease internal Leader BPM by 1 - + Internal Leader BPM +0.1 - + Increase internal Leader BPM by 0.1 - + Internal Leader BPM -0.1 - + Decrease internal Leader BPM by 0.1 - + Sync Leader - + Sync mode 3-state toggle / indicator (Off, Soft Leader, Explicit Leader) - + Speed - + Decrease Speed (Fine) - + Pitch (Musical Key) - + Increase Pitch - + Increases the pitch by one semitone - + Increase Pitch (Fine) - + Increases the pitch by 10 cents - + Decrease Pitch - + Decreases the pitch by one semitone - + Decrease Pitch (Fine) - + Decreases the pitch by 10 cents - + Keylock - + CUP (Cue + Play) - + Shift cue points earlier - + Shift cue points 10 milliseconds earlier - + Shift cue points earlier (fine) - + Shift cue points 1 millisecond earlier - + Shift cue points later - + Shift cue points 10 milliseconds later - + Shift cue points later (fine) - + Shift cue points 1 millisecond later - - + + Sort hotcues by position - - + + Sort hotcues by position (remove offsets) - + Hotcues %1-%2 - + Intro / Outro Markers - + Intro Start Marker - + Intro End Marker - + Outro Start Marker - + Outro End Marker - + intro start marker - + intro end marker - + outro start marker - + outro end marker - + Activate %1 [intro/outro marker - + Jump to or set the %1 [intro/outro marker - + Set %1 [intro/outro marker - + Set or jump to the %1 [intro/outro marker - + Clear %1 [intro/outro marker - + Clear the %1 [intro/outro marker - + if the track has no beats the unit is seconds - + Loop Selected Beats - + Create a beat loop of selected beat size - + Loop Roll Selected Beats - + Create a rolling beat loop of selected beat size - + Loop %1 Beats set from its end point - + Loop Roll %1 Beats set from its end point - + Create %1-beat loop with the current play position as loop end - + Create temporary %1-beat loop roll with the current play position as loop end - + Loop Beats - + Loop Roll Beats - + Go To Loop In - + Go to Loop In button - + Go To Loop Out - + Go to Loop Out button - + Toggle loop on/off and jump to Loop In point if loop is behind play position - + Reloop And Stop - + Enable loop, jump to Loop In point, and stop - + Halve the loop length - + Double the loop length - + Beat Jump / Loop Move - + Jump / Move Loop Forward %1 Beats - + Jump / Move Loop Backward %1 Beats - + Jump forward by %1 beats, or if a loop is enabled, move the loop forward %1 beats - + Jump backward by %1 beats, or if a loop is enabled, move the loop backward %1 beats - + Beat Jump / Loop Move Forward Selected Beats - + Jump forward by the selected number of beats, or if a loop is enabled, move the loop forward by the selected number of beats - + Beat Jump / Loop Move Backward Selected Beats - + Jump backward by the selected number of beats, or if a loop is enabled, move the loop backward by the selected number of beats - + Beat Jump - + Indicate which loop marker remain static when adjusting the size or is inherited from the current position - + Beat Jump / Loop Move Forward - + Beat Jump / Loop Move Backward - + Loop Move Forward - + Loop Move Backward - + Remove Temporary Loop - + Remove the temporary loop - + Navigation Navigasyon - + Move up - + Equivalent to pressing the UP key on the keyboard - + Move down - + Equivalent to pressing the DOWN key on the keyboard - + Move up/down - + Move vertically in either direction using a knob, as if pressing UP/DOWN keys - + Scroll Up - + Equivalent to pressing the PAGE UP key on the keyboard - + Scroll Down - + Equivalent to pressing the PAGE DOWN key on the keyboard - + Scroll up/down - + Scroll vertically in either direction using a knob, as if pressing PGUP/PGDOWN keys - + Move left - + Equivalent to pressing the LEFT key on the keyboard - + Move right - + Equivalent to pressing the RIGHT key on the keyboard - + Move left/right - + Move horizontally in either direction using a knob, as if pressing LEFT/RIGHT keys - + Move focus to right pane - + Equivalent to pressing the TAB key on the keyboard - + Move focus to left pane - + Equivalent to pressing the SHIFT+TAB key on the keyboard - + Move focus to right/left pane - + Move focus one pane to right or left using a knob, as if pressing TAB/SHIFT+TAB keys - + Sort focused column - + Sort the column of the cell that is currently focused, equivalent to clicking on its header - + Go to the currently selected item - + Choose the currently selected item and advance forward one pane if appropriate - + Load Track and Play - + Add to Auto DJ Queue (replace) Otomatik DJ Kuyruğuna Ekle (değiştir) - + Replace Auto DJ Queue with selected tracks - + Select next search history - + Selects the next search history entry - + Select previous search history - + Selects the previous search history entry - + Move selected search entry - + Moves the selected search history item into given direction and steps - + Clear search - + Clears the search query - - + + Select Next Color Available - + Select the next color in the color palette for the first selected track - - + + Select Previous Color Available - + Select the previous color in the color palette for the first selected track - + + Quick Effects Deck %1 + + + + Deck %1 Quick Effect Enable Button - + + Quick Effect Enable Button - + + Deck %1 Stem %2 Quick Effect Super Knob + + + + + Deck %1 Stem %2 Quick Effect Enable Button + + + + Enable or disable effect processing - + Super Knob (control effects' Meta Knobs) - + Mix Mode Toggle - + Toggle effect unit between D/W and D+W modes - + Next chain preset - + Previous Chain - + Previous chain preset - + Next/Previous Chain - + Next or previous chain preset - - + + Show Effect Parameters - + Effect Unit Assignment - + Meta Knob - + Effect Meta Knob (control linked effect parameters) - + Meta Knob Mode - + Set how linked effect parameters change when turning the Meta Knob. - + Meta Knob Mode Invert - + Invert how linked effect parameters change when turning the Meta Knob. - - + + Button Parameter Value - + Microphone / Auxiliary - + Microphone On/Off - + Microphone on/off Mikrofonu aç/kapa - + Toggle microphone ducking mode (OFF, AUTO, MANUAL) - + Auxiliary On/Off Auxiliary Aç/Kapa - + Auxiliary on/off Auxiliary aç/kapa - + Auto DJ Otomatik DJ - + Auto DJ Shuffle Oto DJ karıştır - - Auto DJ Skip Next - Oto DJ sonrakini atla + + Auto DJ Skip Next + Oto DJ sonrakini atla + + + + Auto DJ Add Random Track + + + + + Add a random track to the Auto DJ queue + + + + + Auto DJ Fade To Next + Oto DJ sonrakine geçiş yap + + + + Trigger the transition to the next track + + + + + User Interface + Kullanıcı Arayüzü + + + + Samplers Show/Hide + + + + + Show/hide the sampler section + Oynatıcı Kısımlarını Görüntüle/Gizle + + + + Microphone && Auxiliary Show/Hide + keep double & to prevent creation of keyboard accelerator + + + + + Waveform Zoom Reset To Default + + + + + Reset the waveform zoom level to the default value selected in Preferences -> Waveforms + + + + + Select the next color in the color palette for the loaded track. + + + + + Select previous color in the color palette for the loaded track. + + + + + Navigate Through Track Colors + + + + + Select either next or previous color in the palette for the loaded track. + + + + + Start/Stop Live Broadcasting + + + + + Stream your mix over the Internet. + + + + + Start/stop recording your mix. + + + + + + Deck %1 Stems + + + + + + Samplers + + + + + Vinyl Control Show/Hide + + + + + Show/hide the vinyl control section + Vinyl kontrol seçeneklerini göster/gizle + + + + Preview Deck Show/Hide + + + + + Show/hide the preview deck + + + + + Toggle 4 Decks + + + + + Switches between showing 2 decks and 4 decks. + + + + + Cover Art Show/Hide (Decks) + + + + + Show/hide cover art in the main decks + + + + + Vinyl Spinner Show/Hide + + + + + Show/hide spinning vinyl widget + Dönen vinyl eklentisini göster/gizle - - Auto DJ Add Random Track + + Vinyl Spinners Show/Hide (All Decks) - - Add a random track to the Auto DJ queue + + Show/Hide all spinnies - - Auto DJ Fade To Next - Oto DJ sonrakine geçiş yap + + Toggle Waveforms + - - Trigger the transition to the next track + + Show/hide the scrolling waveforms. - - User Interface - Kullanıcı Arayüzü + + Waveform zoom + Dalga şekli büyüt - - Samplers Show/Hide + + Waveform Zoom + Dalga Şekli Büyüt + + + + Zoom waveform in - - Show/hide the sampler section - Oynatıcı Kısımlarını Görüntüle/Gizle + + Waveform Zoom In + - - Microphone && Auxiliary Show/Hide - keep double & to prevent creation of keyboard accelerator + + Zoom waveform out - - Waveform Zoom Reset To Default + + Star Rating Up - - Reset the waveform zoom level to the default value selected in Preferences -> Waveforms + + Increase the track rating by one star - - Select the next color in the color palette for the loaded track. + + Star Rating Down - - Select previous color in the color palette for the loaded track. + + Decrease the track rating by one star + + + Controller - - Navigate Through Track Colors + + Unknown + + + ControllerHidReportTabsManager - - Select either next or previous color in the palette for the loaded track. + + Read - - Start/Stop Live Broadcasting + + Send - - Stream your mix over the Internet. + + Payload Size - - Start/stop recording your mix. + + bytes - - - Samplers + + Byte Position - - Vinyl Control Show/Hide + + Bit Position - - Show/hide the vinyl control section - Vinyl kontrol seçeneklerini göster/gizle + + Bit Size + - - Preview Deck Show/Hide + + Logical Min - - Show/hide the preview deck + + Logical Max - - Toggle 4 Decks + + Value - - Switches between showing 2 decks and 4 decks. + + Physical Min - - Cover Art Show/Hide (Decks) + + Physical Max - - Show/hide cover art in the main decks + + Unit Scaling - - Vinyl Spinner Show/Hide + + Unit - - Show/hide spinning vinyl widget - Dönen vinyl eklentisini göster/gizle + + Abs/Rel + - - Vinyl Spinners Show/Hide (All Decks) + + + Wrap - - Show/Hide all spinnies + + + Linear - - Toggle Waveforms + + + Preferred - - Show/hide the scrolling waveforms. + + + Null - - Waveform zoom - Dalga şekli büyüt + + + Volatile + - - Waveform Zoom - Dalga Şekli Büyüt + + Usage Page + - - Zoom waveform in + + Usage - - Waveform Zoom In + + Relative - - Zoom waveform out + + Absolute - - Star Rating Up + + No Wrap - - Increase the track rating by one star + + Non Linear - - Star Rating Down + + No Preferred - - Decrease the track rating by one star + + No Null - - - Controller - - Unknown + + Non Volatile @@ -3681,27 +3875,27 @@ trace - Above + Profiling messages ControllerScriptEngineLegacy - + Controller Mapping File Problem - + The mapping for controller "%1" cannot be opened. - + The functionality provided by this controller mapping will be disabled until the issue has been resolved. - + File: - + Error: @@ -3734,7 +3928,7 @@ trace - Above + Profiling messages - + Lock Kilitle @@ -3764,7 +3958,7 @@ trace - Above + Profiling messages Oto DJ Parça Kaynağı - + Enter new name for crate: @@ -3781,22 +3975,22 @@ trace - Above + Profiling messages Dışardan Kutu Ekle - + Export Crate Kutuyu Dışarı Aktar - + Unlock Kilidi Kaldır - + An unknown error occurred while creating crate: Kutuyu oluştururken bilinmeyen bir hata oluştu: - + Rename Crate Kutuyu Yeniden İsimlendir @@ -3806,28 +4000,28 @@ trace - Above + Profiling messages - + Confirm Deletion - - + + Renaming Crate Failed Kutuyu Yeniden İsimlendirme Başarısız - + Crate Creation Failed - + M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Text CSV (*.csv);;Readable Text (*.txt) M3U Çalma Listesi (*.m3u);;M3U8 Çalma Listesi (*.m3u8);;PLS Çalma Listesi (*.pls);;Metin CSV (*.csv);;Okunabilir Metin (*.txt) - + M3U Playlist (*.m3u) M3U Çalma Listesi (*.m3u) @@ -3848,17 +4042,17 @@ trace - Above + Profiling messages Kutular müziklerinizi istediğiniz şekilde organize etmenizi sağlar - + Do you really want to delete crate <b>%1</b>? - + A crate cannot have a blank name. Bir kutu boş bir isime sahip olamaz - + A crate by that name already exists. Bu adla oluşturulmuş bir müzik kutusu var @@ -3953,12 +4147,12 @@ trace - Above + Profiling messages - + Official Website - + Donate @@ -4744,122 +4938,139 @@ You tried to learn: %1,%2 DlgPrefBroadcast - + Icecast 2 - + Shoutcast 1 - + Icecast 1 - + MP3 MP3 - + Ogg Vorbis - + Opus - + AAC - + HE-AAC - + HE-AACv2 - + Automatic - + Mono Mono - + Stereo Stereo - - - - + + Saving settings failed + + + + + The password for '%1' contains invalid characters. Please enter it again. + +Note: This can for example be invisible linebreaks when using copy/paste. + + + + + + Action failed İşlem başarısız - + You can't create more than %1 source connections. - + Source connection %1 - + + Settings for %1 + Settings for broadcast profile, %1 is the profile name placeholder + + + + At least one source connection is required. - + Are you sure you want to disconnect every active source connection? - - + + Confirmation required - + '%1' has the same Icecast mountpoint as '%2'. Two source connections to the same server that have the same mountpoint can not be enabled simultaneously. - + Are you sure you want to delete '%1'? - + Renaming '%1' - + New name for '%1': - + Can't rename '%1' to '%2': name already in use @@ -4872,27 +5083,27 @@ Two source connections to the same server that have the same mountpoint can not - + Mixxx Icecast Testing - + Public stream - + http://www.mixxx.org http://www.Mixxx.org - + Stream name Akış adı - + Due to flaws in some streaming clients, updating Ogg Vorbis metadata dynamically can cause listener glitches and disconnections. Check this box to update the metadata anyway. @@ -4932,67 +5143,72 @@ Two source connections to the same server that have the same mountpoint can not - + + Available fields: $artist, $title, $year, $album, $genre, $bpm + + + + Dynamically update Ogg Vorbis metadata. - + ICQ - + AIM - + Website Web sitesi - + Live mix Canlı mix - + IRC - + Select a source connection above to edit its settings here - + Password storage - + Plain text - + Secure storage (OS keychain) - + Genre Tür - + Use UTF-8 encoding for metadata. - + Description Açıklama @@ -5018,42 +5234,42 @@ Two source connections to the same server that have the same mountpoint can not Kanallar - + Server connection Server bağlantısı - + Type Tür - + Host Host - + Login Giriş - + Mount - Mount + - + Port Port - + Password Şifre - + Stream info @@ -5063,17 +5279,17 @@ Two source connections to the same server that have the same mountpoint can not - + Use static artist and title. - + Static title - + Static artist @@ -5132,13 +5348,14 @@ Two source connections to the same server that have the same mountpoint can not DlgPrefColors - - + + + By hotcue number - + Color Renk @@ -5183,17 +5400,22 @@ Two source connections to the same server that have the same mountpoint can not + Jump default color + + + + When key colors are enabled, Mixxx will display a color hint associated with each key. - + Enable Key Colors - + Key palette @@ -5201,113 +5423,113 @@ associated with each key. DlgPrefController - + Apply device settings? Ayarlar uygulansın mı? - + Your settings must be applied before starting the learning wizard. Apply settings and continue? - + None Hiçbiri - + %1 by %2 - + Mapping has been edited - + Always overwrite during this session - + Save As - + Overwrite - + Save user mapping - + Enter the name for saving the mapping to the user folder. - + Saving mapping failed - + A mapping cannot have a blank name and may not contain special characters. - + A mapping file with that name already exists. - + Do you want to save the changes? - + Troubleshooting Sorun giderme - + <font color='#BB0000'><b>If you use this mapping your controller may not work correctly. Please select another mapping or disable the controller.</b></font><br><br>This mapping was designed for a newer Mixxx Controller Engine and cannot be used on your current Mixxx installation.<br>Your Mixxx installation has Controller Engine version %1. This mapping requires a Controller Engine version >= %2.<br><br>For more information visit the wiki page on <a href='https://mixxx.org/wiki/doku.php/controller_engine_versions'>Controller Engine Versions</a>. - + Mapping already exists. - + <b>%1</b> already exists in user mapping folder.<br>Overwrite or save with a new name? - + Clear Input Mappings - + Are you sure you want to clear all input mappings? - + Clear Output Mappings - + Are you sure you want to clear all output mappings? @@ -5325,100 +5547,105 @@ Apply settings and continue? Etkinleştirildi - + + Refresh mapping list + + + + Device Info - + Physical Interface: - + Vendor name: - + Product name: - + Vendor ID - + VID: - + Product ID - + PID: - + Serial number: - + USB interface number: - + HID Usage-Page: - + HID Usage: - + Description: Açıklama: - + Support: Destek: - + Screens preview - + Input Mappings - - + + Search Ara - - + + Add Ekle - - + + Remove Kaldır @@ -5438,17 +5665,17 @@ Apply settings and continue? - + Mapping Info - + Author: Yaratıcı: - + Name: Adı: @@ -5458,28 +5685,28 @@ Apply settings and continue? - + Data protocol: - + Mapping Files: - + Mapping Settings - - + + Clear All Hepsini temizle - + Output Mappings @@ -5494,21 +5721,21 @@ Apply settings and continue? - Mixxx uses "mappings" to connect messages from your controller to controls in Mixxx. If you do not see a mapping for your controller in the "Load Mapping" menu when you click on your controller on the left sidebar, you may be able to download one online from the %1. Place the XML (.xml) and Javascript (.js) file(s) in the "User Mapping Folder" then restart Mixxx. If you download a mapping in a ZIP file, extract the XML and Javascript file(s) from the ZIP file to your "User Mapping Folder" then restart Mixxx. + Mixxx uses "mappings" to connect messages from your controller to controls in Mixxx. If you do not see a mapping for your controller in the "Load Mapping" menu when you click on your controller on the left sidebar, you may be able to download one online from the %1. Place the XML (.xml) and Javascript (.js) file(s) in the "User Mapping Folder" then click the Reload button next to the mapping selector to reload all available mappings. If you download a mapping in a ZIP file, extract the XML and Javascript file(s) from the ZIP file to your "User Mapping Folder" then click the Reload button. - + Mixxx DJ Hardware Guide - + MIDI Mapping File Format - + MIDI Scripting with Javascript @@ -5678,137 +5905,137 @@ Apply settings and continue? DlgPrefDeck - + Mixxx mode Mixxx modu - + Mixxx mode (no blinking) - + Pioneer mode Pioneer modu - + Denon mode Denon modu - + Numark mode Numark modu - + CUP mode - + mm:ss%1zz - Traditional - + mm:ss - Traditional (Coarse) - + s%1zz - Seconds - + sss%1zz - Seconds (Long) - + s%1sss%2zz - Kiloseconds - + Intro start - + Main cue - + First hotcue - + First sound (skip silence) - + Beginning of track - + Reject - + Allow, but stop deck - + Allow, play from load point - + 4% - + 6% (semitone) - + 8% (Technics SL-1210) % 8 (Technics SL-1210) - + 10% %10 - + 16% - + 24% - + 50% %50 - + 90% %90 @@ -6245,57 +6472,57 @@ You can always drag-and-drop tracks on screen to clone a deck. - + Allow screensaver to run - + Prevent screensaver from running - + Prevent screensaver while playing - + Disabled - + 2x MSAA - + 4x MSAA - + 8x MSAA - + 16x MSAA - + This skin does not support color schemes - + Information Bilgi - + Mixxx must be restarted before the new locale, scaling or multi-sampling settings will take effect. @@ -6522,67 +6749,97 @@ and allows you to pitch adjust them for harmonic mixing. - + Music Directory Added Müzik dizini eklendi - + You added one or more music directories. The tracks in these directories won't be available until you rescan your library. Would you like to rescan now? Bir veya daha fazla müzik dizini eklediniz. Bu dizinlerdeki parçalar, müzik kitaplığınızı tekrar tarayana kadar çalmaya hazır olmayacaktır. Şimdi taramak istermisiniz ? - + Scan Tara - + Item is not a directory or directory is missing - + Choose a music directory - + Confirm Directory Removal - + Mixxx will no longer watch this directory for new tracks. What would you like to do with the tracks from this directory and subdirectories?<ul><li>Hide all tracks from this directory and subdirectories.</li><li>Delete all metadata for these tracks from Mixxx permanently.</li><li>Leave the tracks unchanged in your library.</li></ul>Hiding tracks saves their metadata in case you re-add them in the future. - + Metadata means all track details (artist, title, playcount, etc.) as well as beatgrids, hotcues, and loops. This choice only affects the Mixxx library. No files on disk will be changed or deleted. - + Hide Tracks Parçaları gizle - + Delete Track Metadata - + Leave Tracks Unchanged - + Relink music directory to new location - + + Black + + + + + ExtraBold + + + + + Bold + + + + + SemiBold + + + + + Medium + + + + + Light + + + + Select Library Font @@ -6631,262 +6888,267 @@ and allows you to pitch adjust them for harmonic mixing. - + Audio File Formats - + Track Table View - + Track Double-Click Action: - + BPM display precision: - + Session History - + Track duplicate distance - + When playing a track again log it to the session history only if more than N other tracks have been played in the meantime - + History playlist with less than N tracks will be deleted<br/><br/>Note: the cleanup will be performed during startup and shutdown of Mixxx. - + Delete history playlist with less than N tracks - + Library Font: - + + Show scan summary dialog + + + + Grey out played tracks - + Track Search - + Enable search completions - + Enable search history keyboard shortcuts - + Percentage of pitch slider range for 'fuzzy' BPM search: - + This range will be used for the 'fuzzy' BPM search (~bpm:) via the search box, as well as for BPM search in Track context menu > Search related Tracks - + Preferred Cover Art Fetcher Resolution - + Fetch cover art from coverartarchive.com by using Import Metadata From Musicbrainz. - + Note: ">1200 px" can fetch up to very large cover arts. - + >1200 px (if available) - + 1200 px (if available) - + 500 px - + 250 px - + Settings Directory - + The Mixxx settings directory contains the library database, various configuration files, log files, track analysis data, as well as custom controller mappings. - + Edit those files only if you know what you are doing and only while Mixxx is not running. - + Open Mixxx Settings Folder - + Library Row Height: - + Use relative paths for playlist export if possible - + ... - + px - + Synchronize library track metadata from/to file tags - + Automatically write modified track metadata from the library into file tags and reimport metadata from updated file tags into the library - + Synchronize Serato track metadata from/to file tags (experimental) - + Keeps track color, beat grid, bpm lock, cue points, and loops synchronized with SERATO_MARKERS/MARKERS2 file tags.<br/><br/>WARNING: Enabling this option also enables the reimport of Serato metadata after files have been modified outside of Mixxx. On reimport existing metadata in Mixxx is replaced with the metadata found in file tags. Custom metadata not included in file tags like loop colors is lost. - + Edit metadata after clicking selected track - + Search-as-you-type timeout: - + ms MS - + Load track to next available deck - + External Libraries Harici kütüphaneler - + You will need to restart Mixxx for these settings to take effect. - + Show Rhythmbox Library - + Track Metadata Synchronization / Playlists - + Add track to Auto DJ queue (bottom) - + Add track to Auto DJ queue (top) - + Ignore - + Show Banshee Library - + Show iTunes Library - + Show Traktor Library - + Show Rekordbox Library - + Show Serato Library - + All external libraries shown are write protected. @@ -7231,33 +7493,33 @@ and allows you to pitch adjust them for harmonic mixing. DlgPrefRecord - + Choose recordings directory - - + + Recordings directory invalid - + Recordings directory must be set to an existing directory. - + Recordings directory must be set to a directory. - + Recordings directory not writable - + You do not have write access to %1. Choose a recordings directory you have write access to. @@ -7275,43 +7537,55 @@ and allows you to pitch adjust them for harmonic mixing. Gözat... - - + + This will include the filepath for each track in the CUE file. +This option makes the CUE file less portable and can reveal personal +information from filepaths (i.e. username) + + + + + Enable File Annotation in CUE file + + + + + Quality Kalite - + Tags Etiketler - + Title Başlık - + Author Besteci - + Album Albüm - + Output File Format - + Compression - + Lossy @@ -7326,12 +7600,12 @@ and allows you to pitch adjust them for harmonic mixing. - + Compression Level - + Lossless @@ -7462,172 +7736,177 @@ The loudness target is approximate and assumes track pregain and main output lev DlgPrefSound - + %1 Hz %1 Hz - + Default (long delay) - + Experimental (no delay) - + Disabled (short delay) - + Soundcard Clock - + Network Clock - + Direct monitor (recording and broadcasting only) - + Disabled Engellenmiş - + Enabled Etkinleştirildi - + Stereo Stereo - + Mono Mono - + To enable Realtime scheduling (currently disabled), see the %1. - + The %1 lists sound cards and controllers you may want to consider for using Mixxx. - + Mixxx DJ Hardware Guide - + + Find details in the Mixxx user manual + + + + Information - + Mixxx must be restarted before the multi-threaded RubberBand setting change will take effect. - + auto (<= 1024 frames/period) - + 2048 frames/period - + 4096 frames/period - + Are you sure? - + Distribute stereo channels into mono channels for parallel processing will result in a loss of mono compatibility and a diffuse stereo image. It is not recommended during broadcasting or recording. - + Are you sure you wish to proceed? - + No - + Yes, I know what I am doing - + Microphone inputs are out of time in the record & broadcast signal compared to what you hear. - + Measure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. - + Refer to the Mixxx User Manual for details. - + Configured latency has changed. - + Remeasure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. - + Realtime scheduling is enabled. - + Main output only - + Main and booth outputs - + %1 ms %1 ms - + Configuration error @@ -7694,17 +7973,22 @@ The loudness target is approximate and assumes track pregain and main output lev MS - + + Deck and Bus outputs are for external mixers. They are post-fader and include effects and crossfader (for Auto DJ). For external mixing, make sure all Mixxx faders and EQ knobs are set to their default position (right- or double-click). + + + + 20 ms 20 ms - + Buffer Underflow Count - + 0 0 @@ -7729,12 +8013,12 @@ The loudness target is approximate and assumes track pregain and main output lev Giriş - + System Reported Latency - + Enlarge your audio buffer if the underflow counter is increasing or you hear pops during playback. @@ -7764,7 +8048,7 @@ The loudness target is approximate and assumes track pregain and main output lev - + Downsize your audio buffer to improve Mixxx's responsiveness. @@ -7811,7 +8095,7 @@ The loudness target is approximate and assumes track pregain and main output lev - + Show Signal Quality in Skin @@ -7847,46 +8131,51 @@ The loudness target is approximate and assumes track pregain and main output lev + Pitch estimator + + + + Deck 1 - + Deck 2 - + Deck 3 - + Deck 4 - + Signal Quality Sinyal kalitesi - + http://www.xwax.co.uk http://www.xwax.co.uk - + Powered by xwax - + xwax tarafından desteklenmektedir - + Hints İpucu - + Select sound devices for Vinyl Control in the Sound Hardware pane. @@ -7894,58 +8183,58 @@ The loudness target is approximate and assumes track pregain and main output lev DlgPrefWaveform - + Filtered Filtrelenmiş - + HSV - + RGB - + Top - + Center - + Bottom - + 1/3 of waveform viewer options for "Text height limit" - + Entire waveform viewer - + OpenGL not available OpenGL mevcut değil - + dropped frames - + Cached waveforms occupy %1 MiB on disk. @@ -7963,22 +8252,17 @@ The loudness target is approximate and assumes track pregain and main output lev - + OpenGL Status - + Displays which OpenGL version is supported by the current platform. - - Normalize waveform overview - - - - + Average frame rate @@ -7994,7 +8278,7 @@ The loudness target is approximate and assumes track pregain and main output lev - + Displays the actual frame rate. @@ -8029,7 +8313,7 @@ The loudness target is approximate and assumes track pregain and main output lev Düşük - + Show minute markers on waveform overview @@ -8074,7 +8358,7 @@ The loudness target is approximate and assumes track pregain and main output lev - + The waveform overview shows the waveform envelope of the entire track. Select from different types of displays for the waveform overview, which differ primarily in the level of detail shown in the waveform. @@ -8141,22 +8425,22 @@ Select from different types of displays for the waveform, which differ primarily - + Caching - + Mixxx caches the waveforms of your tracks on disk the first time you load a track. This reduces CPU usage when you are playing live but requires extra disk space. - + Enable waveform caching - + Generate waveforms when analyzing library @@ -8172,7 +8456,7 @@ Select from different types of displays for the waveform, which differ primarily - + Type @@ -8192,22 +8476,68 @@ Select from different types of displays for the waveform, which differ primarily % - - Play marker position + + Play marker position + + + + + Moves the play marker position on the waveforms to the left, right or center (default). + + + + + Stem + + + + + Channel opacity + + + + + Channel opacity (outline) + + + + + Main stem opacity + + + + + Outline stem opacity + + + + + Move channel to foreground when volume is adjusted + + + + + Overview Waveforms - - Moves the play marker position on the waveforms to the left, right or center (default). + + Gain - - Overview Waveforms + + Normalize to peak + + + + + Use Waveform "Global" gain and ReplayGain (if enabled) + 'Global' refers to the 'Global' visual gain in the scrolling waveform settings - + Clear Cached Waveforms @@ -8696,7 +9026,7 @@ This can not be undone! BPM: - + Location: Dizin: @@ -8711,27 +9041,27 @@ This can not be undone! Görüşler - + BPM BPM(Dakikalık Vuruş Sayısı) - + Sets the BPM to 75% of the current value. - + 3/4 BPM - + Sets the BPM to 50% of the current value. - + Displays the BPM of the selected track. @@ -8786,49 +9116,49 @@ This can not be undone! Tür - + ReplayGain: - + Sets the BPM to 200% of the current value. - + Double BPM BPM'i ikiye katla - + Halve BPM - + Clear BPM and Beatgrid BPM ve Beatgrid Temizle - + Move to the previous item. "Previous" button - + &Previous &önceki - + Move to the next item. "Next" button - + &Next &sonraki @@ -8853,12 +9183,12 @@ This can not be undone! Renk - + Date added: - + Open in File Browser Dosya Tarayıcıda Aç @@ -8868,102 +9198,107 @@ This can not be undone! - + + Filesize: + + + + Track BPM: - + Converts beats detected by the analyzer into a fixed-tempo beatgrid. Use this setting if your tracks have a constant tempo (e.g. most electronic music). Often results in higher quality beatgrids, but will not do well on tracks that have tempo shifts. - + Assume constant tempo - + Sets the BPM to 66% of the current value. - + 2/3 BPM - + Sets the BPM to 150% of the current value. - + 3/2 BPM - + Sets the BPM to 133% of the current value. - + 4/3 BPM - + Tap with the beat to set the BPM to the speed you are tapping. - + Tap to Beat - + Hint: Use the Library Analyze view to run BPM detection. - + Save changes and close the window. "OK" button - + &OK - + Discard changes and close the window. "Cancel" button - + Save changes and keep the window open. "Apply" button - + &Apply &uygula - + &Cancel - + (no color) @@ -9120,7 +9455,7 @@ Often results in higher quality beatgrids, but will not do well on tracks that h - + (no color) @@ -9322,27 +9657,27 @@ Often results in higher quality beatgrids, but will not do well on tracks that h EngineBuffer - + Soundtouch (faster) - + Rubberband (better) - + Rubberband R3 (near-hi-fi quality) - + Unknown, using Rubberband (better) - + Unknown, using Soundtouch @@ -9557,15 +9892,15 @@ Often results in higher quality beatgrids, but will not do well on tracks that h LegacySkinParser - - + + Safe Mode Enabled Shown when Mixxx is running in safe mode. - - + + No OpenGL support. Shown when Spinny can not be displayed. Please keep @@ -9576,57 +9911,57 @@ Shown when VuMeter can not be displayed. Please keep - + activate - + toggle - + right sağ - + left sol - + right small - + left small - + up yukarı - + down aşağı - + up small - + down small - + Shortcut Kısa yol @@ -9634,62 +9969,62 @@ Shown when VuMeter can not be displayed. Please keep Library - + This or a parent directory is already in your library. - + This or a listed directory does not exist or is inaccessible. Aborting the operation to avoid library inconsistencies - - + + This directory can not be read. - + An unknown error occurred. Aborting the operation to avoid library inconsistencies - + Can't add Directory to Library - + Could not add <b>%1</b> to your library. %2 - + Can't remove Directory from Library - + An unknown error occurred. - + This directory does not exist or is inaccessible. - + Relink Directory - + Could not relink <b>%1</b> to <b>%2</b>. %3 @@ -9851,12 +10186,12 @@ Do you really want to overwrite it? Saklı parçalar - + Export to Engine DJ - + Tracks @@ -9864,37 +10199,37 @@ Do you really want to overwrite it? MixxxMainWindow - + Sound Device Busy - + <b>Retry</b> after closing the other application or reconnecting a sound device - - - + + + <b>Reconfigure</b> Mixxx's sound device settings. - - + + Get <b>Help</b> from the Mixxx Wiki. - - - + + + <b>Exit</b> Mixxx. - + Retry Tekrar dene @@ -9904,209 +10239,209 @@ Do you really want to overwrite it? - + Allow Mixxx to hide the menu bar? - + Hide Always show the menu bar? - + Always show - + The Mixxx menu bar is hidden and can be toggled with a single press of the <b>Alt</b> key.<br><br>Click <b>%1</b> to agree.<br><br>Click <b>%2</b> to disable that, for example if you don't use Mixxx with a keyboard.<br><br>You can change this setting any time in Preferences -> Interface.<br> Keep formatting tags <b> (bold text) and <br> (linebreak). %1 is the placeholder for the 'Always show' button label - + Ask me again - - + + Reconfigure - + Help Yardım - - + + Exit Çıkış - - + + Mixxx was unable to open all the configured sound devices. - + Sound Device Error - + <b>Retry</b> after fixing an issue - + No Output Devices - + Mixxx was configured without any output sound devices. Audio processing will be disabled without a configured output device. - + <b>Continue</b> without any outputs. - + Continue - + Load track to Deck %1 - + Deck %1 is currently playing a track. - + Are you sure you want to load a new track? Yeni bir parça yüklemek istediğinize eminmisiniz? - + There is no input device selected for this vinyl control. Please select an input device in the sound hardware preferences first. - + There is no input device selected for this passthrough control. Please select an input device in the sound hardware preferences first. - + There is no input device selected for this microphone. Do you want to select an input device? - + There is no input device selected for this auxiliary. Do you want to select an input device? - + Scan took %1 - + No changes detected. - - + + %1 tracks in total - + %1 new tracks found - + %1 moved tracks detected - + %1 tracks are missing (%2 total) - + %1 tracks have been rediscovered - + Library scan finished - + Error in skin file - + The selected skin cannot be loaded. - + OpenGL Direct Rendering - + Direct rendering is not enabled on your machine.<br><br>This means that the waveform displays will be very<br><b>slow and may tax your CPU heavily</b>. Either update your<br>configuration to enable direct rendering, or disable<br>the waveform displays in the Mixxx preferences by selecting<br>"Empty" as the waveform display in the 'Interface' section. - - - + + + Confirm Exit - + A deck is currently playing. Exit Mixxx? - + A sampler is currently playing. Exit Mixxx? - + The preferences window is still open. - + Discard any changes and exit Mixxx? @@ -10122,13 +10457,13 @@ Do you want to select an input device? PlaylistFeature - + Lock Kilitle - - + + Playlists Çalma Listeleri @@ -10138,58 +10473,63 @@ Do you want to select an input device? - + + Adopt current order + + + + Unlock all playlists - + Delete all unlocked playlists - + Unlock Kilidi Kaldır - - + + Confirm Deletion - + Do you really want to delete all unlocked playlists? - + Deleting %1 unlocked playlists.<br>This operation can not be undone! - + Playlists are ordered lists of tracks that allow you to plan your DJ sets. - + It may be necessary to skip some tracks in your prepared playlist or add some different tracks in order to maintain the energy of your audience. - + Some DJs construct playlists before they perform live, but others prefer to build them on-the-fly. - + When using a playlist during a live DJ set, remember to always pay close attention to how your audience reacts to the music you've chosen to play. - + Create New Playlist Yeni çalma listesi oluştur @@ -10288,58 +10628,58 @@ Do you want to select an input device? QMessageBox - + Upgrading Mixxx - + Mixxx now supports displaying cover art. Do you want to scan your library for cover files now? - + Scan Tara - + Later - + Upgrading Mixxx from v1.9.x/1.10.x. - + Mixxx has a new and improved beat detector. - + When you load tracks, Mixxx can re-analyze them and generate new, more accurate beatgrids. This will make automatic beatsync and looping more reliable. - + This does not affect saved cues, hotcues, playlists, or crates. - + If you do not want Mixxx to re-analyze your tracks, choose "Keep Current Beatgrids". You can change this setting at any time from the "Beat Detection" section of the Preferences. - + Keep Current Beatgrids - + Generate New Beatgrids @@ -10453,69 +10793,82 @@ Do you want to scan your library for cover files now? 14-bit (MSB) - + Main + Audio path indetifier - + Booth + Audio path indetifier - + Headphones + Audio path indetifier - + Left Bus + Audio path indetifier - + Center Bus + Audio path indetifier - + Right Bus + Audio path indetifier - + Invalid Bus + Audio path indetifier - + Deck + Audio path indetifier - + Record/Broadcast + Audio path indetifier - + Vinyl Control + Audio path indetifier Vinil Kontrolu - + Microphone + Audio path indetifier Mikrofon - + Auxiliary + Audio path indetifier - + Unknown path type %1 + Audio path @@ -10844,47 +11197,49 @@ With width at zero, this allows for manually sweeping over the entire delay rang - + Metronome - + + The Mixxx Team - + Adds a metronome click sound to the stream - + BPM BPM(Dakikalık Vuruş Sayısı) - + Set the beats per minute value of the click sound - + Sync Eşitleme - + Synchronizes the BPM with the track if it can be retrieved - + + Gain - + Set the gain of metronome click sound @@ -11668,14 +12023,14 @@ Fully right: end of the effect period - - + + encoder failure - - + + Failed to apply the selected settings. @@ -11881,15 +12236,86 @@ and the processed output signal as close as possible in perceived loudness + + Auto Gain Control + + + + + AGC + + + + + Auto Gain Control (AGC) automatically adjusts the gain of an audio signal to maintain a consistent output level. + + + + Threshold (dBFS) + Threshold + + + The Threshold knob adjusts the level above which the effect starts enhancing the input signal + + + + + Target (dBFS) + + + + + Target + + + + + The Target knob adjusts the desired target level of the output signal + + + + + Gain (dB) + + + + + The Gain knob adjusts the maximum amount of gain that the effect will apply + + + + + Knee (dB) + + + + + The Knee knob defines the range around the Threshold where gain changes are applied gradually, +ensuring smooth transitions and avoiding abrupt level shifts. + + + + + The Attack knob sets the time that determines how fast the auto gain +will set in once the signal exceeds the threshold + + + + + The Release knob sets the time that determines how fast the auto gain will recover from the gain +adjustment once the signal falls under the threshold. Depending on the input signal, short release times +may introduce a 'pumping' effect and/or distortion. + + The Threshold knob adjusts the level above which the compressor starts attenuating the input signal @@ -11918,6 +12344,7 @@ At a ratio of 1:1 no compression is happening, as the input is exactly the outpu + Knee @@ -11928,11 +12355,13 @@ At a ratio of 1:1 no compression is happening, as the input is exactly the outpu + Attack (ms) + Attack @@ -11944,11 +12373,13 @@ will set in once the signal exceeds the threshold + Release (ms) + Release @@ -11977,12 +12408,12 @@ may introduce a 'pumping' effect and/or distortion. - + built-in - + missing @@ -12017,42 +12448,42 @@ may introduce a 'pumping' effect and/or distortion. - + Empty - + Simple - + Filtered - + HSV - + VSyncTest - + RGB - + Stacked - + Unknown @@ -12313,193 +12744,193 @@ may introduce a 'pumping' effect and/or distortion. ShoutConnection - - + + Mixxx encountered a problem - + Could not allocate shout_t - + Could not allocate shout_metadata_t - + Error setting non-blocking mode: - + Error setting tls mode: - + Error setting hostname! - + Error setting port! - + Error setting password! - + Error setting mount! - + Error setting username! - + Error setting stream name! - + Error setting stream description! - + Error setting stream genre! - + Error setting stream url! - + Error setting stream IRC! - + Error setting stream AIM! - + Error setting stream ICQ! - + Error setting stream public! - + Unknown stream encoding format! - + Use a libshout version with %1 enabled - + Error setting stream encoding format! - + Broadcasting at 96 kHz with Ogg Vorbis is not currently supported. Please try a different sample rate or switch to a different encoding. - + See https://github.com/mixxxdj/mixxx/issues/5701 for more information. - + Unsupported sample rate - + Error setting bitrate - + Error: unknown server protocol! - + Error: Shoutcast only supports MP3 and AAC encoders - + Error setting protocol! - + Network cache overflow - + Connection error - + One of the Live Broadcasting connections raised this error:<br><b>Error with connection '%1':</b><br> - + Connection message - + <b>Message from Live Broadcasting connection '%1':</b><br> - + Lost connection to streaming server and %1 attempts to reconnect have failed. - + Lost connection to streaming server. - + Please check your connection to the Internet. - + Can't connect to streaming server - + Please check your connection to the Internet and verify that your username and password are correct. @@ -12507,7 +12938,7 @@ may introduce a 'pumping' effect and/or distortion. SoftwareWaveformWidget - + Filtered Filtrelenmiş @@ -12515,23 +12946,23 @@ may introduce a 'pumping' effect and/or distortion. SoundManager - - + + a device - + An unknown error occurred - + Two outputs cannot share channels on "%1" - + Error opening "%1" @@ -12716,7 +13147,7 @@ may introduce a 'pumping' effect and/or distortion. - + Spinning Vinyl @@ -12898,7 +13329,7 @@ may introduce a 'pumping' effect and/or distortion. - + Cover Art Albüm kapak resim @@ -13088,243 +13519,243 @@ may introduce a 'pumping' effect and/or distortion. - + Displays the tempo of the loaded track in BPM (beats per minute). - + Tempo Tempo - + Key The musical key of a track Anahtar - + BPM Tap BPM Tap - + When tapped repeatedly, adjusts the BPM to match the tapped BPM. - + Adjust BPM Down - + When tapped, adjusts the average BPM down by a small amount. - + Adjust BPM Up - + When tapped, adjusts the average BPM up by a small amount. - + Adjust Beats Earlier - + When tapped, moves the beatgrid left by a small amount. - + Adjust Beats Later - + When tapped, moves the beatgrid right by a small amount. - + Tempo and BPM Tap - + Show/hide the spinning vinyl section. - + Keylock - + Toggling keylock during playback may result in a momentary audio glitch. - + Toggle visibility of Loop Controls - + Toggle visibility of Beatjump Controls - + Toggle visibility of Rate Control - + Toggle visibility of Key Controls - + (while previewing) - + Places a cue point at the current position on the waveform. - + Stops track at cue point, OR go to cue point and play after release (CUP mode). - + Set cue point (Pioneer/Mixxx/Numark mode), set cue point and play after release (CUP mode) OR preview from it (Denon mode). - + Is latching the playing state. - + Seeks the track to the cue point and stops. - + Play Çal - + Plays track from the cue point. - + Sends the selected channel's audio to the headphone output, selected in Preferences -> Sound Hardware. - + (This skin should be updated to use Sync Lock!) - + Enable Sync Lock - + Tap to sync the tempo to other playing tracks or the sync leader. - + Enable Sync Leader - + When enabled, this device will serve as the sync leader for all other decks. - + This is relevant when a dynamic tempo track is loaded to a sync leader deck.In that case, other synced devices will adopt the changing tempo. - + Changes the track playback speed (affects both the tempo and the pitch). If keylock is enabled, only the tempo is affected. - + Tempo Range Display - + Displays the current range of the tempo slider. - + Un-ejects when no track is loaded, i.e. reloads the track that was ejected last (of any deck). - + Delete selected hotcue. - + Track Comment - + Displays the comment tag of the loaded track. - + Opens separate artwork viewer. - + Effect Chain Preset Settings - + Show the effect chain settings menu for this unit. - + Select and configure a hardware device for this input - + Recording Duration @@ -13547,947 +13978,982 @@ may introduce a 'pumping' effect and/or distortion. - + When tapped repeatedly, adjusts the tempo to match the tapped BPM. + + + Click to open the tempo/BPM editor + + + + + It also shows a colored bar if Key colors are enabled in the Preferences. + + + The bar will be split vertically if the track's key is in between full keys. + + + + Tempo Tap - + Rate Tap and BPM Tap - + + Set Tempo + + + + + Set the desired tempo in BPM. If the track currently has no BPM detected, set the desired tempo in percent. + + + + Adjust beatgrid by exactly one half beat. Usable only on tracks with constant tempo. - + Revert last BPM/Beatgrid Change - + Revert last BPM/Beatgrid Change of the loaded track. - - + + Toggle the BPM/beatgrid lock - + Tempo and Rate Tap - + Tempo, Rate Tap and BPM Tap - + Shift cues earlier - - + + Shift cues imported from Serato or Rekordbox if they are slightly off time. - + Left click: shift 10 milliseconds earlier - + Right click: shift 1 millisecond earlier - + Shift cues later - + Left click: shift 10 milliseconds later - + Right click: shift 1 millisecond later - - - + + + Drag a Hotcue button here to continue playing after releasing the Hotcue. - + Hint: Change the default cue mode in Preferences -> Decks. - + Mutes the selected channel's audio in the main output. - + Main mix enable - + Hold or short click for latching to mix this input into the main output. - + + Reloads the last replaced track. If no track is loaded reloads the second-last ejected track. + + + + If hotcue is a loop cue, toggles the loop and jumps to if the loop is behind the play position. - + If the play position is inside an active loop, stores the loop as loop cue. - + Drag this button onto another Hotcue button to move it there (change its index). If the other hotcue is set, the two are swapped. - + Expand/Collapse Samplers - + Toggle expanded samplers view. - + Displays the duration of the running recording. - + Auto DJ is active - + Red for when needle skip has been detected. - + Hot Cue - Track will seek to nearest previous hotcue point. - + Sets the track Loop-In Marker to the current play position. - + Press and hold to move Loop-In Marker. - + Jump to Loop-In Marker. - + Sets the track Loop-Out Marker to the current play position. - + Press and hold to move Loop-Out Marker. - + Jump to Loop-Out Marker. - + If the track has no beats the unit is seconds. - + Beatloop Size - + Select the size of the loop in beats to set with the Beatloop button. - + Changing this resizes the loop if the loop already matches this size. - + Halve the size of an existing beatloop, or halve the size of the next beatloop set with the Beatloop button. - + Double the size of an existing beatloop, or double the size of the next beatloop set with the Beatloop button. - + Start a loop over the set number of beats. - + Temporarily enable a rolling loop over the set number of beats. - + Beatloop Anchor - + Define whether the loop is created and adjusted from its staring point or ending point. - + Beatjump/Loop Move Size - + Select the number of beats to jump or move the loop with the Beatjump Forward/Backward buttons. - + Beatjump Forward - + Jump forward by the set number of beats. - + Move the loop forward by the set number of beats. - + Jump forward by 1 beat. - + Move the loop forward by 1 beat. - + Beatjump Backward - + Jump backward by the set number of beats. - + Move the loop backward by the set number of beats. - + Jump backward by 1 beat. - + Move the loop backward by 1 beat. - + Reloop - + If the loop is ahead of the current position, looping will start when the loop is reached. - + Works only if Loop-In and Loop-Out Marker are set. - + Enable loop, jump to Loop-In Marker, and stop playback. - + Displays the elapsed and/or remaining time of the track loaded. - + Click to toggle between time elapsed/remaining time/both. - + Hint: Change the time format in Preferences -> Decks. - + Show/hide intro & outro markers and associated buttons. - + + Ensure all waveforms to have the same height across all channels. By default, when displaying the stem controls, waveform for channel that have no stem may render with a shorter height in order to honor the waveform container size you have requested.. + + + + Intro Start Marker - - - - + + + + If marker is set, jumps to the marker. - - - - + + + + If marker is not set, sets the marker to the current play position. - - - - + + + + If marker is set, clears the marker. - + Intro End Marker - + Outro Start Marker - + Outro End Marker - + Mix - + Adjust the mixing of the dry (input) signal with the wet (output) signal of the effect unit - + D/W mode: Crossfade between dry and wet - + D+W mode: Add wet to dry - + Mix Mode - + Adjust how the dry (input) signal is mixed with the wet (output) signal of the effect unit - + Dry/Wet mode (crossed lines): Mix knob crossfades between dry and wet Use this to change the sound of the track with EQ and filter effects. - + Dry+Wet mode (flat dry line): Mix knob adds wet to dry Use this to change only the effected (wet) signal with EQ and filter effects. - + Route the main mix through this effect unit. - + Route the left crossfader bus through this effect unit. - + Route the right crossfader bus through this effect unit. - + Right side active: parameter moves with right half of Meta Knob turn - + Stem Label - + Name of the stem stored in the stem file - + Text is displayed in the stem color stored in the stem file - + this stem color is also used for the waveform of this stem - + Stem Mute - + Toggle the stem mute/unmuted - + Stem Volume Knob - + Adjusts the volume of the stem - + Skin Settings Menu - + Show/hide skin settings menu - + Save Sampler Bank - + Save the collection of samples loaded in the samplers. - + Load Sampler Bank - + Load a previously saved collection of samples into the samplers. - + Show Effect Parameters - + Enable Effect - + Meta Knob Link - + Set how this parameter is linked to the effect's Meta Knob. - + Meta Knob Link Inversion - + Inverts the direction this parameter moves when turning the effect's Meta Knob. - + Super Knob - + Next Chain Sonraki zincir - + Previous Chain - + Next/Previous Chain - + Clear Temizle - + Clear the current effect. - + Toggle - + Toggle the current effect. - + Next Sonraki - + Clear Unit Birimi Temizle - + Clear effect unit. - + Show/hide parameters for effects in this unit. - + Toggle Unit - + Enable or disable this whole effect unit. - + Controls the Meta Knob of all effects in this unit together. - + Load next effect chain preset into this effect unit. - + Load previous effect chain preset into this effect unit. - + Load next or previous effect chain preset into this effect unit. - - - - - - - - - + + + + + + + + + Assign Effect Unit - + Assign this effect unit to the channel output. - + Route the headphone channel through this effect unit. - + Route this deck through the indicated effect unit. - + Route this sampler through the indicated effect unit. - + Route this microphone through the indicated effect unit. - + Route this auxiliary input through the indicated effect unit. - + The effect unit must also be assigned to a deck or other sound source to hear the effect. - + Switch to the next effect. - + Previous Önceki - + Switch to the previous effect. - + Next or Previous - + Switch to either the next or previous effect. - + Meta Knob - + Controls linked parameters of this effect - + Effect Focus Button - + Focuses this effect. - + Unfocuses this effect. - + Refer to the web page on the Mixxx wiki for your controller for more information. - + Effect Parameter - + Adjusts a parameter of the effect. - + Inactive: parameter not linked - + Active: parameter moves with Meta Knob - + Left side active: parameter moves with left half of Meta Knob turn - + Left and right side active: parameter moves across range with half of Meta Knob turn and back with the other half - - + + Equalizer Parameter Kill - - + + Holds the gain of the EQ to zero while active. - + Quick Effect Super Knob - + Quick Effect Super Knob (control linked effect parameters). - + Hint: Change the default Quick Effect mode in Preferences -> Equalizers. - + Equalizer Parameter - + Adjusts the gain of the EQ filter. - + Hint: Change the default EQ mode in Preferences -> Equalizers. - - + + Adjust Beatgrid Beatgrid'i ayarlayın - + Adjust beatgrid so the closest beat is aligned with the current play position. - - + + Adjust beatgrid to match another playing deck. - + If quantize is enabled, snaps to the nearest beat. - + Quantize - + Toggles quantization. - + Loops and cues snap to the nearest beat when quantization is enabled. - + Reverse Tersine çal - + Reverses track playback during regular playback. Normal çalma esnasında parçayı tersine çalar. - + Puts a track into reverse while being held (Censor). - + Playback continues where the track would have been if it had not been temporarily reversed. - - - + + + Play/Pause Çal/Duraklat - + Jumps to the beginning of the track. Parçanın başına atlar. - + Syncs the tempo (BPM) and phase to that of the other track, if BPM is detected on both. - + Syncs the tempo (BPM) to that of the other track, if BPM is detected on both. - + Sync and Reset Key - + Increases the pitch by one semitone. - + Decreases the pitch by one semitone. - + Enable Vinyl Control - + When disabled, the track is controlled by Mixxx playback controls. - + When enabled, the track responds to external vinyl control. - + Enable Passthrough - + Indicates that the audio buffer is too small to do all audio processing. - + Displays cover artwork of the loaded track. - + Displays options for editing cover artwork. - + Star Rating - + Assign ratings to individual tracks by clicking the stars. @@ -14622,33 +15088,33 @@ Use this to change only the effected (wet) signal with EQ and filter effects. - + Prevents the pitch from changing when the rate changes. - + Changes the number of hotcue buttons displayed in the deck - + Starts playing from the beginning of the track. Parçanın başından çalmayı başlatır. - + Jumps to the beginning of the track and stops. Parçanın başına atlar ve durdurur. - - + + Plays or pauses the track. Parçayı başlatır veya duraklatır. - + (while playing) (çalma anında) @@ -14668,215 +15134,215 @@ Use this to change only the effected (wet) signal with EQ and filter effects. - + (while stopped) (durma anında) - + Cue Başlangıç noktası - + Headphone Kulaklık - + Mute Ses kapatma - + Old Synchronize - + Syncs to the first deck (in numerical order) that is playing a track and has a BPM. - + If no deck is playing, syncs to the first deck that has a BPM. - + Decks can't sync to samplers and samplers can only sync to decks. - + Hold for at least a second to enable sync lock for this deck. - + Decks with sync locked will all play at the same tempo, and decks that also have quantize enabled will always have their beats lined up. - + Resets the key to the original track key. - + Speed Control Hız kontrolü - - - + + + Changes the track pitch independent of the tempo. - + Increases the pitch by 10 cents. - + Decreases the pitch by 10 cents. - + Pitch Adjust - + Adjust the pitch in addition to the speed slider pitch. - + Opens a menu to clear hotcues or edit their labels and colors. - + Drag this button onto a Play button while previewing to continue playback after release. - + Dragging with Shift key pressed will not start previewing the hotcue. - + Record Mix Mix kaydet - + Toggle mix recording. - + Enable Live Broadcasting - + Stream your mix over the Internet. - + Provides visual feedback for Live Broadcasting status: - + disabled, connecting, connected, failure. - + When enabled, the deck directly plays the audio arriving on the vinyl input. - + Playback will resume where the track would have been if it had not entered the loop. - + Loop Exit Döngüden Çık - + Turns the current loop off. - + Slip Mode Uyku Modu - + When active, the playback continues muted in the background during a loop, reverse, scratch etc. - + Once disabled, the audible playback will resume where the track would have been. - + Track Key The musical key of a track - + Displays the musical key of the loaded track. - + Clock Saat - + Displays the current time. - + Audio Latency Usage Meter - + Displays the fraction of latency used for audio processing. - + A high value indicates that audible glitches are likely. - + Do not enable keylock, effects or additional decks in this situation. - + Audio Latency Overload Indicator @@ -14916,259 +15382,259 @@ Use this to change only the effected (wet) signal with EQ and filter effects. - + Displays the current musical key of the loaded track after pitch shifting. - + Fast Rewind Hızlı geri al - + Fast rewind through the track. Parçayı hızlı geri sar - + Fast Forward Hızlı ileri al - + Fast forward through the track. Parçayı hızlı ileri sar - + Jumps to the end of the track. Parçanın sonuna atlar - + Sets the pitch to a key that allows a harmonic transition from the other track. Requires a detected key on both involved decks. - - - + + + Pitch Control - + Pitch Rate - + Displays the current playback rate of the track. - + Repeat Tekrarla - + When active the track will repeat if you go past the end or reverse before the start. - + Eject Çıkar - + Ejects track from the player. Parçayı oynatıcıdan çıkarın. - + Hotcue - + If hotcue is set, jumps to the hotcue. - + If hotcue is not set, sets the hotcue to the current play position. - + Vinyl Control Mode - + Absolute mode - track position equals needle position and speed. - + Relative mode - track speed equals needle speed regardless of needle position. - + Constant mode - track speed equals last known-steady speed regardless of needle input. - + Vinyl Status - + Provides visual feedback for vinyl control status: - + Green for control enabled. - + Blinking yellow for when the needle reaches the end of the record. - + Loop-In Marker - + Loop-Out Marker - + Loop Halve Yarı Döngü - + Halves the current loop's length by moving the end marker. - + Deck immediately loops if past the new endpoint. - + Loop Double Çift Döngü - + Doubles the current loop's length by moving the end marker. - + Beatloop - + Toggles the current loop on or off. - + Works only if Loop-In and Loop-Out marker are set. - + Vinyl Cueing Mode - + Determines how cue points are treated in vinyl control Relative mode: - + Off - Cue points ignored. - + One Cue - If needle is dropped after the cue point, track will seek to that cue point. - + Track Time - + Track Duration - + Displays the duration of the loaded track. - + Information is loaded from the track's metadata tags. - + Track Artist - + Displays the artist of the loaded track. - + Track Title - + Displays the title of the loaded track. - + Track Album Albüm - + Displays the album name of the loaded track. - + Track Artist/Title - + Displays the artist and title of the loaded track. @@ -15396,47 +15862,75 @@ This can not be undone! WCueMenuPopup - + Cue number - + Cue position - + Edit cue label - + Label... - + Delete this cue - - Toggle this cue type between normal cue and saved loop + + Turn this cue into a regular hotcue + + + + + Turn this cue into a saved loop + + + + + Left-click: Use the old size if known or the current beatloop size as the loop size + + + + + Right-click: Use the current play position as new loop end if it is after the cue + + + + + Turn this cue into a saved forward jump. + + is a linebreak. Try to not to extend the translation beyond the length of the longest source line so the tooltip remains compact. + + + + + Turn this cue into a saved backward jump (one shot loop). - - Left-click: Use the old size or the current beatloop size as the loop size + + Left-click: Use the old size if known or the current play position as jump start position +If this is already a jump cue, swap the jump position and the cue/target position. - - Right-click: Use the current play position as loop end if it is after the cue + + Right-click: use current play position as new jump start position - + Hotcue #%1 @@ -15738,171 +16232,181 @@ This can not be undone! + Show Auto DJ + + + + + Switch to the Auto DJ view. + + + + &Full Screen &Tam ekran - + Display Mixxx using the full screen - + &Options &Seçenekler - + &Vinyl Control - + Use timecoded vinyls on external turntables to control Mixxx - + Enable Vinyl Control &%1 - + &Record Mix &Mix kaydet - + Record your mix to a file - + Ctrl+R Ctrl +R - + Enable Live &Broadcasting &Canlı Yayın'ı aç - + Stream your mixes to a shoutcast or icecast server - + Ctrl+L Ctrl+L - + Enable &Keyboard Shortcuts &Klavye kısayollarını aç - + Toggles keyboard shortcuts on or off - + Ctrl+` Ctrl+` - + &Preferences &Tercihler - + Change Mixxx settings (e.g. playback, MIDI, controls) - + &Developer &Geliştirici - + &Reload Skin &Kaplamayı yeniden yükle - + Reload the skin Kaplamayı yeniden yükle - + Ctrl+Shift+R Ctrl+Shift+R - + Developer &Tools - + Opens the developer tools dialog - + Ctrl+Shift+T Ctrl+Shift+T - + Stats: &Experiment Bucket - + Enables experiment mode. Collects stats in the EXPERIMENT tracking bucket. - + Ctrl+Shift+E Ctrl+Shift+E - + Stats: &Base Bucket - + Enables base mode. Collects stats in the BASE tracking bucket. - + Ctrl+Shift+B Ctrl+Shift+B - + Deb&ugger Enabled - + Enables the debugger during skin parsing - + Ctrl+Shift+D Ctrl+Shift+D - + &Help &Yardım @@ -15936,62 +16440,62 @@ This can not be undone! - + &Community Support &Topluluk Desteği - + Get help with Mixxx Mixxx'ten yardım alın. - + &User Manual &Kullanım Kılavuzu - + Read the Mixxx user manual. Mixxx kullanım kılavuzunu okuyun. - + &Keyboard Shortcuts &Klavye kısayolları - + Speed up your workflow with keyboard shortcuts. - + &Settings directory - + Open the Mixxx user settings directory. - + &Translate This Application &Bu uygulamayı çevir - + Help translate this application into your language. Bu uygulamayı kendi dilinize çevirmeye yardımcı olun. - + &About &Hakkında - + About the application Uygulama Hakkında @@ -15999,25 +16503,25 @@ This can not be undone! WOverview - + Passthrough - + Ready to play, analyzing... Text on waveform overview when file is playable but no waveform is visible - - + + Loading track... Text on waveform overview when file is cached from source - + Finalizing... Text on waveform overview during finalizing of waveform analysis @@ -16207,625 +16711,640 @@ This can not be undone! WTrackMenu - + Load to - + Deck - + Sampler - + Add to Playlist Çalma Listesine Ekle - + Crates Kutular - + Metadata - + Update external collections - + Cover Art Albüm kapak resim - + Adjust BPM - + Select Color - - + + Analyze Analiz et - - + + Delete Track Files - + Add to Auto DJ Queue (bottom) Otomatik DJ kuyruğuna ekle (alta) - + Add to Auto DJ Queue (top) Otomatik DJ kuyruğuna ekle (üste) - + Add to Auto DJ Queue (replace) Otomatik DJ Kuyruğuna Ekle (değiştir) - + Preview Deck - + Remove Kaldır - + Remove from Playlist - + Remove from Crate - + Hide from Library Kütüphane'den gizle - + Unhide from Library Kütüphane'de göster - + Purge from Library Kütüphane'den kaldır - + Move Track File(s) to Trash - + Delete Files from Disk - + Properties Özellikler - + Open in File Browser Dosya Tarayıcıda Aç - + Select in Library - + Import From File Tags - + Import From MusicBrainz - + Export To File Tags - + BPM and Beatgrid - + Play Count - + Rating Derecelendirme - + Cue Point - - + + Hotcues Önemli işaretler - + Intro - + Outro - + Key Anahtar - + ReplayGain Yeniden kazan - + Waveform - + Comment Yorum - + All Hepsi - + Sort hotcues by position (remove offsets) - + Sort hotcues by position - + Lock BPM BPM'yi Kilitle - + Unlock BPM BPM Kilidini Aç - + Double BPM BPM'i ikiye katla - + Halve BPM - + 2/3 BPM - + 3/4 BPM - + 4/3 BPM - + 3/2 BPM - + Shift Beatgrid Half Beat - + Reanalyze - + Reanalyze (constant BPM) - + Reanalyze (variable BPM) - + Update ReplayGain from Deck Gain - + Deck %1 Dek %1 - + Importing metadata of %n track(s) from file tags - + Marking metadata of %n track(s) to be exported into file tags - - + + Create New Playlist Yeni çalma listesi oluştur - + Enter name for new playlist: Yeni çalma listesini adlandır - + New Playlist Yeni çalma listesi - - - + + + Playlist Creation Failed Çalma Listesi Oluşturulamadı - + A playlist by that name already exists. Bu isimde bir çalma listesi zaten var. - + A playlist cannot have a blank name. Liste ismi boş bırakılamaz - + An unknown error occurred while creating playlist: Çalma listesi oluşturulurken bilinmeyen bir hata oluştu: - + Add to New Crate - + Scaling BPM of %n track(s) - + Undo BPM/beats change of %n track(s) - + Locking BPM of %n track(s) - + Unlocking BPM of %n track(s) - + Setting rating of %n track(s) - + Setting color of %n track(s) - + Resetting play count of %n track(s) - + Resetting beats of %n track(s) - + Clearing rating of %n track(s) - + Clearing comment of %n track(s) - + Removing main cue from %n track(s) - + Removing outro cue from %n track(s) - + Removing intro cue from %n track(s) - + Removing loop cues from %n track(s) - + Removing hot cues from %n track(s) - + Sorting hotcues of %n track(s) by position (remove offsets) - + Sorting hotcues of %n track(s) by position - + Resetting keys of %n track(s) - + Resetting replay gain of %n track(s) - + Resetting waveform of %n track(s) - + Resetting all performance metadata of %n track(s) - + Move these files to the trash bin? - + Permanently delete these files from disk? - - + + This can not be undone! - + Cancel Vazgeç - + Delete Files - + Okay - + Move Track File(s) to Trash? - + Track Files Deleted - + Track Files Moved To Trash - + %1 track files were moved to trash and purged from the Mixxx database. - + %1 track files were deleted from disk and purged from the Mixxx database. - + Track File Deleted - + Track file was deleted from disk and purged from the Mixxx database. - + The following %1 file(s) could not be deleted from disk - + This track file could not be deleted from disk - + Remaining Track File(s) - + Close Kapat - + Clear Reset metadata in right click track context menu in library - + Loops - + Clear BPM and Beatgrid - + Undo last BPM/beats change - + Move this track file to the trash bin? - + Permanently delete this track file from disk? - + All decks where these tracks are loaded will be stopped and the tracks will be ejected. - + All decks where this track is loaded will be stopped and the track will be ejected. - + Removing %n track file(s) from disk... - + Note: if you are in the Computer or Recording view you need to click the current view again to see changes. - + Track File Moved To Trash - + Track file was moved to trash and purged from the Mixxx database. - + Don't show again during this session - + The following %1 file(s) could not be moved to trash - + This track file could not be moved to trash + + + Replace current Auto DJ queue? + + + + + Do you want to replace the entire Auto DJ queue with the selected tracks? + + + + + Don't ask again during this session + + - + Setting cover art of %n track(s) - + Reloading cover art of %n track(s) @@ -16879,37 +17398,37 @@ This can not be undone! WTrackTableView - + Confirm track hide - + Are you sure you want to hide the selected tracks? - + Are you sure you want to remove the selected tracks from AutoDJ queue? - + Are you sure you want to remove the selected tracks from this crate? - + Are you sure you want to remove the selected tracks from this playlist? - + Don't ask again during this session - + Confirm track removal @@ -16917,12 +17436,12 @@ This can not be undone! WTrackTableViewHeader - + Show or hide columns. Sütunları göster/gizle - + Shuffle Tracks @@ -16930,52 +17449,52 @@ This can not be undone! mixxx::CoreServices - + fonts - + database - + effects - + audio interface - + decks - + library - + Choose music library directory - + controllers - + Cannot open database Veritabanı açılamadı - + Unable to establish a database connection. Mixxx requires QT with SQLite support. Please read the Qt SQL driver documentation for information on how to build it. @@ -17132,6 +17651,24 @@ Mixxx SQLite desteği ile QT gerektirir. Nasıl kurulacağını öğrenmek için + + mixxx::qml::QmlApplication + + + Existing user profile detected + + + + + Trying to run Mixxx 3.0 with an existing %0 user profile! <br><br>There is <b>serious risks</b> of data loss and corruption.<br>We recommend using a test profile folder with the '--settings-path' argument. <br><br>If you want to continue at your own risk, run Mixxx with the argument '--allow-dangerous-data-corruption-risk'. + + + + + Ok + + + mixxx::qml::QmlVisibleEffectsModel @@ -17140,4 +17677,27 @@ Mixxx SQLite desteği ile QT gerektirir. Nasıl kurulacağını öğrenmek için Herhangi bir efekt yüklenmedi. + + mixxx::qml::QmlWaveformRendererMark + + + Cannot find the marker pixmap + + + + + Cannot find the marker endPixmap + + + + + Cannot find the marker icon + + + + + Cannot find the marker endIcon + + + \ No newline at end of file diff --git a/res/translations/mixxx_vi.qm b/res/translations/mixxx_vi.qm index 7eb72f8ef68434ab2f1f4b924db22e23e7084820..8d2ed7ba7e9a049fc0708c19ffcb855f4708385e 100644 GIT binary patch delta 12930 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 I+^75h02Ty-SpWb4 delta 13013 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

    tv89isuU8#qNR2v@K7A?C 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 + + AllTrackLibraryFeature + + + All... + + + AnalysisFeature @@ -19,53 +27,53 @@ AutoDJFeature - + Crates Crates - + Enable Auto DJ DJ Tự động - + Disable Auto DJ Tắt Tự động DJ - + Clear Auto DJ Queue Dọn hàng đợi Tự động DJ - + Remove Crate as Track Source Xoá Crate làm Nguồn track nhạc - + Auto DJ Tự động DJ - + Confirmation Clear Xác nhận Xoá - + Do you really want to remove all tracks from the Auto DJ queue? Bạn có muốn xoá mọi track nhạc khỏi hàng đợi Tự động DJ không? - + This can not be undone. Hành động này không thể quay lại được. - + Add Crate as Track Source Thêm Crate làm Nguồn track nhạc @@ -224,7 +232,7 @@ - + Export Playlist Xuất Playlist @@ -278,13 +286,13 @@ - + Playlist Creation Failed Tạo Playlist thất bại. - + An unknown error occurred while creating playlist: Lỗi vô định khi tạo playlist: @@ -299,12 +307,12 @@ Bạn có muốn xoá Playlist <b>%1</b>? - + M3U Playlist (*.m3u) Playlist M3U (*.m3u) - + M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Text CSV (*.csv);;Readable Text (*.txt) Playlist M3U (*.m3u); playlist M3U8 (*.m3u8); playlist PLS (* .pls); Văn bản CSV (*.csv); Văn bản dạng đọc (*.txt) @@ -312,12 +320,12 @@ BaseSqlTableModel - + # # - + Timestamp Dấu thời gian @@ -325,7 +333,7 @@ BaseTrackPlayerImpl - + Couldn't load track. Không thể load track nhạc. @@ -363,7 +371,7 @@ Kênh - + Color Màu @@ -378,7 +386,7 @@ Nhà soạn nhạc - + Cover Art Ảnh bìa @@ -388,7 +396,7 @@ Ngày thêm vào - + Last Played Lần cuối phát @@ -418,7 +426,7 @@ Khoá - + Location Vị trí @@ -428,7 +436,7 @@ Tổng quan - + Preview Xem trước @@ -468,7 +476,7 @@ Năm - + Fetching image ... Tooltip text on the cover art column shown when the cover is read from disk Đang tải hình ảnh ... @@ -490,22 +498,22 @@ BroadcastProfile - + Can't use secure password storage: keychain access failed. Không thể dùng kho lưu trữ mật khẩu bảo mật: không truy cập được keychain. - + Secure password retrieval unsuccessful: keychain access failed. Không thể truy xuất mật khẩu bảo mật: không truy cập được keychain. - + Settings error Lỗi Cài đặt - + <b>Error with settings for '%1':</b><br> <b>Lỗi Cài đặt cho '%1':</b><br> @@ -593,7 +601,7 @@ - + Computer Máy tính @@ -613,17 +621,17 @@ Quét - + "Computer" lets you navigate, view, and load tracks from folders on your hard disk and external devices. Mục "Máy tính" giúp tìm kiếm, xem trước và tải track nhạc từ các thư mục trong ổ cứng và thiết bị lưu trữ ngoài. - + It shows the data from the file tags, not track data from your Mixxx library like other track views. - + If you load a track file from here, it will be added to your library. @@ -736,12 +744,12 @@ Tệp được tạo ra - + Mixxx Library Thư viện Mixxx - + Could not load the following file because it is in use by Mixxx or another application. Không thể nạp tệp sau vì nó đang dùng bởi Mixxx hoặc ứng dụng khác. @@ -772,87 +780,92 @@ CmdlineArgs - + Mixxx is an open source DJ software. For more information, see: - + Starts Mixxx in full-screen mode - + Use a custom locale for loading translations. (e.g 'fr') - + Top-level directory where Mixxx should look for its resource files such as MIDI mappings, overriding the default installation location. - + Path the debug statistics time line is written to - + Causes Mixxx to display/log all of the controller data it receives and script functions it loads - + The controller mapping will issue more aggressive warnings and errors when detecting misuse of controller APIs. New Controller Mappings should be developed with this option enabled! - + Enables developer-mode. Includes extra log info, stats on performance, and a Developer tools menu. - + Top-level directory where Mixxx should look for settings. Default is: - + Starts Auto DJ when Mixxx is launched. - + Rescans the library when Mixxx is launched. - + Use legacy vu meter - + Use legacy spinny - - Loads experimental QML GUI instead of legacy QWidget skin + + Loads the highly unstable 3.0 Mixxx interface, based on QML. You need to use a new setting profile, or run with 'allow-dangerous-data-corruption-risk' to use with the current one. We highly recommend backing up your data if you do so. - + + Force Mixxx to load an unstable version with an existing user profile from a stable version + + + + Enables safe-mode. Disables OpenGL waveforms, and spinning vinyl widgets. Try this option if Mixxx is crashing on startup. - + [auto|always|never] Use colors on the console output. - + Sets the verbosity of command line logging. critical - Critical/Fatal only warning - Above + Warnings @@ -862,32 +875,32 @@ trace - Above + Profiling messages - + Sets the the logging level at which the log buffer is flushed to mixxx.log. <level> is one of the values defined at --log-level above. - + Sets the maximum file size of the mixxx.log file in bytes. Use -1 for unlimited. The default is 100 MB as 1e5 or 100000000. - + Breaks (SIGINT) Mixxx, if a DEBUG_ASSERT evaluates to false. Under a debugger you can continue afterwards. - + Overrides the default application GUI style. Possible values: %1 - + Load the specified music file(s) at start-up. Each file you specify will be loaded into the next virtual deck. - + Preview rendered controller screens in the Setting windows. @@ -980,2557 +993,2585 @@ trace - Above + Profiling messages ControlPickerMenu - + Headphone Output Đầu ra tai nghe - - - + + + + Deck %1 + %1 is the deck number 1 ... 4 Sàn %1 - + Sampler %1 Sampler %1 - + Preview Deck %1 Xem trước sàn %1 - + Microphone %1 Micro %1 - + Auxiliary %1 Liên minh %1 - + Reset to default Đặt lại về mặc định - + Effect Rack %1 Có hiệu lực Rack %1 - + Parameter %1 Tham số %1 - + Mixer Máy trộn - - + + Crossfader Crossfader - + Headphone mix (pre/main) Tai nghe kết hợp (trước/chính) - + Toggle headphone split cueing Bật tắt tai nghe tách cueing - + Headphone delay Sự chậm trễ tai nghe - + Transport Giao thông vận tải - + Strip-search through track Strip-Search thông qua theo dõi - + Play button Nút Play - - + + Set to full volume Thiết lập để khối lượng đầy đủ - - + + Set to zero volume Thiết lập số không khối lượng - + Stop button Dừng lại nút - + Jump to start of track and play Nhảy để bắt đầu theo dõi và chơi - + Jump to end of track Nhảy đến kết thúc của theo dõi - + Reverse roll (Censor) button Đảo ngược nút cuộn (kiểm duyệt) - + Headphone listen button Tai nghe nghe nút - - + + Mute button Nút tắt - + Toggle repeat mode Bật tắt cheá ñoä Laëp laïi - - + + Mix orientation (e.g. left, right, center) Trộn định hướng (ví dụ: trái, phải, Trung tâm) - - + + Set mix orientation to left Thiết lập kết hợp định hướng bên trái - - + + Set mix orientation to center Thiết lập kết hợp định hướng đến Trung tâm - - + + Set mix orientation to right Thiết lập kết hợp định hướng sang phải - + Toggle slip mode Bật tắt chế độ chống trượt - - + + BPM BPM - + Increase BPM by 1 Tăng BPM bằng 1 - + Decrease BPM by 1 Giảm BPM bằng 1 - + Increase BPM by 0.1 Tăng BPM bằng 0,1 - + Decrease BPM by 0.1 Giảm BPM bằng 0,1 - + BPM tap button BPM tap nút - + Toggle quantize mode Bật/tắt quantize chế độ - + One-time beat sync (tempo only) Một lần đánh bại đồng bộ (nhịp độ) - + One-time beat sync (phase only) Một lần đánh bại đồng bộ (chỉ giai đoạn) - + Toggle keylock mode Bật tắt chế độ khóa bàn phím - + Equalizers Equalizers - + Vinyl Control Vinyl kiểm soát - + Toggle vinyl-control cueing mode (OFF/ONE/HOT) Bật tắt chế độ cueing vinyl kiểm soát (OFF/1/bể) - + Toggle vinyl-control mode (ABS/REL/CONST) Bật tắt chế độ kiểm soát vinyl (ABS/REL/XD) - + Pass through external audio into the internal mixer Đi qua âm thanh bên ngoài vào máy trộn nội bộ - + Cues Tín hiệu - + Cue button Cue nút - + Set cue point Thiết lập cue điểm - + Go to cue point Đi đến cue điểm - + Go to cue point and play Đi đến cue điểm và chơi - + Go to cue point and stop Đi để ghi chú vào điểm và ngừng - + Preview from cue point Xem trước từ cue điểm - + Cue button (CDJ mode) Cue nút (CDJ chế độ) - + Stutter cue Nói lắp cue - + Hotcues Hotcues - + Set, preview from or jump to hotcue %1 Thiết lập, xem trước từ hoặc nhảy để hotcue %1 - + Clear hotcue %1 Rõ ràng hotcue %1 - + Set hotcue %1 Thiết lập hotcue %1 - + Jump to hotcue %1 Chuyển đến hotcue %1 - + Jump to hotcue %1 and stop Chuyển đến hotcue %1 và dừng - + Jump to hotcue %1 and play Chuyển đến hotcue %1 và chơi - + Preview from hotcue %1 Xem trước từ hotcue %1 - - + + Hotcue %1 Hotcue %1 - + Looping Looping - + Loop In button Vòng lặp trong nút - + Loop Out button Vòng lặp trong nút - + Loop Exit button Vòng ra nút - + 1/2 1/2 - + 1 1 - + 2 2 - + 4 4 - + 8 8 - + 16 16 - + 32 32 - + 64 64 - + Move loop forward by %1 beats Di chuyển vòng về phía trước bởi %1 nhịp đập - + Move loop backward by %1 beats Di chuyển vòng quay trở lại bởi nhịp đập %1 - + Create %1-beat loop Tạo đánh bại %1 loop - + Create temporary %1-beat loop roll Tạo tạm thời đánh bại %1 vòng cuộn - + Library Thư viện - + Slot %1 Khe cắm %1 - + Headphone Mix Kết hợp tai nghe - + Headphone Split Cue Tai nghe Split Cue - + Headphone Delay Sự chậm trễ tai nghe - + Play Chơi - + Fast Rewind Tua nhanh - + Fast Rewind button Nhanh chóng tua lại nút - + Fast Forward Tua đi - + Fast Forward button Nhanh chóng chuyển tiếp nút - + Strip Search Dải tìm - + Play Reverse Chơi đảo ngược - + Play Reverse button Chơi đảo ngược nút - + Reverse Roll (Censor) Đảo ngược cuộn (kiểm duyệt) - + Jump To Start Nhảy để bắt đầu - + Jumps to start of track Nhảy để bắt đầu theo dõi - + Play From Start Chơi từ đầu - + Stop Dừng - + Stop And Jump To Start Ngăn chặn và nhảy để bắt đầu - + Stop playback and jump to start of track Ngừng phát lại và nhảy để bắt đầu theo dõi - + Jump To End Nhảy đến cuối - + Volume Khối lượng - - - + + + Volume Fader Khối lượng đổi - - + + Full Volume Khối lượng đầy đủ - - + + Zero Volume Khối lượng không - + Track Gain Ca khúc đạt được - + Track Gain knob Ca khúc đạt được knob - - + + Mute Tắt tiếng - + Eject Đẩy ra - - + + Headphone Listen Tai nghe nghe - + Headphone listen (pfl) button Tai nghe nghe (pfl) nút - + Repeat Mode Lặp lại chế độ - + Slip Mode Chế độ chống trượt - - + + Orientation Định hướng - - + + Orient Left Định hướng trái - - + + Orient Center Trung tâm phương đông - - + + Orient Right Định hướng bên phải - + BPM +1 BPM + 1 - + BPM -1 BPM -1 - + BPM +0.1 BPM +0.1 - + BPM -0.1 BPM-0.1 - + BPM Tap BPM Tap - + Adjust Beatgrid Faster +.01 Điều chỉnh Beatgrid nhanh hơn +.01 - + Increase track's average BPM by 0.01 Tăng BPM trung bình của con đường mòn bởi 0,01 - + Adjust Beatgrid Slower -.01 Điều chỉnh Beatgrid chậm hơn-.01 - + Decrease track's average BPM by 0.01 Giảm BPM trung bình của con đường mòn bởi 0,01 - + Move Beatgrid Earlier Beatgrid di chuyển trước đó - + Adjust the beatgrid to the left Điều chỉnh beatgrid bên trái - + Move Beatgrid Later Di chuyển Beatgrid sau đó - + Adjust the beatgrid to the right Điều chỉnh beatgrid ở bên phải - + Adjust Beatgrid Điều chỉnh Beatgrid - + Align beatgrid to current position Sắp xếp beatgrid đến vị trí hiện tại - + Adjust Beatgrid - Match Alignment Điều chỉnh Beatgrid - trận đấu liên kết - + Adjust beatgrid to match another playing deck. Điều chỉnh beatgrid để phù hợp với một sân chơi. - + Quantize Mode Quantize chế độ - + Sync Đồng bộ - + Beat Sync One-Shot Đánh bại đồng bộ một-shot - + Sync Tempo One-Shot Tiến độ đồng bộ một-shot - + Sync Phase One-Shot Giai đoạn đồng bộ một-shot - + Pitch control (does not affect tempo), center is original pitch Sân kiểm soát (không ảnh hưởng đến tiến độ), Trung tâm là ban đầu pitch - + Pitch Adjust Điều chỉnh pitch - + Adjust pitch from speed slider pitch Điều chỉnh pitch từ tốc độ trượt Sân - + Match musical key Phù hợp với âm nhạc khóa - + Match Key Phù hợp với phím - + Reset Key Thiết lập lại phím - + Resets key to original Đặt lại chìa khóa để ban đầu - + High EQ Cao EQ - + Mid EQ Giữa EQ - - + + Main Output - + Main Output Balance - + Main Output Delay - + Main Output Gain - + Low EQ Thấp EQ - + Toggle Vinyl Control Bật tắt Vinyl kiểm soát - + Toggle Vinyl Control (ON/OFF) Bật tắt Vinyl kiểm soát (ON/OFF) - + Vinyl Control Mode Vinyl kiểm soát chế độ - + Vinyl Control Cueing Mode Vinyl kiểm soát Cueing chế độ - + Vinyl Control Passthrough Vinyl kiểm soát Passthrough - + Vinyl Control Next Deck Vinyl kiểm soát tiếp theo sàn - + Single deck mode - Switch vinyl control to next deck Chế độ tầng - chuyển đổi vinyl kiểm soát đến tầng tiếp theo - + Cue Cue - + Set Cue Thiết lập Cue - + Go-To Cue Go To Cue - + Go-To Cue And Play Go To Cue và chơi - + Go-To Cue And Stop Go To Cue và dừng - + Preview Cue Xem trước Cue - + Cue (CDJ Mode) Cue (CDJ chế độ) - + Stutter Cue Nói lắp Cue - + Go to cue point and play after release - + Clear Hotcue %1 Rõ ràng Hotcue %1 - + Set Hotcue %1 Thiết lập Hotcue %1 - + Jump To Hotcue %1 Chuyển đến Hotcue %1 - + Jump To Hotcue %1 And Stop Chuyển đến Hotcue %1 và dừng - + Jump To Hotcue %1 And Play Chuyển đến Hotcue %1 và chơi - + Preview Hotcue %1 Xem trước Hotcue %1 - + Loop In Vòng lặp trong - + Loop Out Vòng lặp trong - + Loop Exit Thoát khỏi vòng lặp - + Reloop/Exit Loop Reloop/thoát khỏi vòng lặp - + Loop Halve Loop giảm một nửa - + Loop Double Vòng lặp đôi - + 1/32 1/32 - + 1/16 1/16 - + 1/8 1/8 - + 1/4 1/4 - + Move Loop +%1 Beats Di chuyển vòng lặp + %1 nhịp đập - + Move Loop -%1 Beats Di chuyển vòng lặp-nhịp đập %1 - + Loop %1 Beats Nhịp đập vòng %1 - + Loop Roll %1 Beats Loop Roll %1 nhịp đập - + Add to Auto DJ Queue (bottom) Thêm vào hàng đợi DJ tự động (phía dưới) - + Append the selected track to the Auto DJ Queue Gắn tiếp theo dõi được chọn vào xếp hàng DJ tự động - + Add to Auto DJ Queue (top) Thêm vào hàng đợi DJ tự động (top) - + Prepend selected track to the Auto DJ Queue Thêm các ca khúc được chọn để xếp hàng DJ tự động - + Load Track Theo dõi tải - + Load selected track Tải được chọn theo dõi - + Load selected track and play Tải được chọn theo dõi và chơi - - + + Record Mix Ghi kết hợp - + Toggle mix recording Chuyển đổi kết hợp ghi âm - + Effects Hiệu ứng - - Quick Effects - Tác dụng nhanh chóng - - - + Deck %1 Quick Effect Super Knob Sàn %1 có hiệu lực nhanh chóng siêu Knob - + + Quick Effect Super Knob (control linked effect parameters) Nhanh chóng có hiệu lực Super Knob (điều khiển liên kết có hiệu lực tham số) - - + + + + Quick Effect Có hiệu lực nhanh chóng - + Clear Unit Rõ ràng đơn vị - + Clear effect unit Đơn vị có hiệu lực rõ ràng - + Toggle Unit Chuyển đổi đơn vị - + Dry/Wet Giặt/ướt - + Adjust the balance between the original (dry) and processed (wet) signal. Điều chỉnh sự cân bằng giữa bản gốc (khô) và xử lý tín hiệu (ướt). - + Super Knob Siêu Knob - + Next Chain Tiếp theo chuỗi - + Assign Chỉ định - + Clear Rõ ràng - + Clear the current effect Rõ ràng các hiệu ứng hiện tại - + Toggle Chuyển đổi - + Toggle the current effect Chuyển đổi có hiệu lực hiện tại - + Next Tiếp theo - + Switch to next effect Chuyển sang kế tiếp có hiệu lực - + Previous Trước đó - + Switch to the previous effect Chuyển đổi để có hiệu lực trước đó - + Next or Previous Kế tiếp hoặc trước đó - + Switch to either next or previous effect Chuyển sang kế tiếp hoặc trước đó có hiệu lực - - + + Parameter Value Giá trị tham số - - + + Microphone Ducking Strength Micro Ducking sức mạnh - + Microphone Ducking Mode Micro Ducking chế độ - + Gain Đạt được - + Gain knob Đạt được knob - + Shuffle the content of the Auto DJ queue - + Skip the next track in the Auto DJ queue - + Auto DJ Toggle Tự động bật/tắt DJ - + Toggle Auto DJ On/Off Chuyển đổi tự động DJ On/Off - + Show/hide the microphone & auxiliary section - + 4 Effect Units Show/Hide - + Switches between showing 2 and 4 effect units - + Mixer Show/Hide - + Show or hide the mixer. Hiện hoặc ẩn bộ trộn. - + Cover Art Show/Hide (Library) - + Show/hide cover art in the library - + Library Maximize/Restore Thư viện tối đa hóa/khôi phục lại - + Maximize the track library to take up all the available screen space. Tối đa hóa thư viện theo dõi để mất tất cả không gian màn hình có sẵn. - + Effect Rack Show/Hide Có hiệu lực Rack Hiển thị/ẩn - + Show/hide the effect rack Hiển thị/ẩn các rack có hiệu lực - + Waveform Zoom Out Dạng sóng thu nhỏ - + Headphone Gain Tai nghe được - + Headphone gain Tai nghe được - + Tap to sync tempo (and phase with quantize enabled), hold to enable permanent sync - + One-time beat sync tempo (and phase with quantize enabled) - + Playback Speed Tốc độ phát lại - + Playback speed control (Vinyl "Pitch" slider) Kiểm soát tốc độ phát lại (Vinyl "Cắm" trượt) - + Pitch (Musical key) Pitch (âm nhạc phím) - + Increase Speed Tăng tốc độ - + Adjust speed faster (coarse) Điều chỉnh tốc độ nhanh hơn (thô) - + Increase Speed (Fine) Tăng tốc độ (Mỹ) - + Adjust speed faster (fine) Điều chỉnh tốc độ nhanh hơn (Mỹ) - + Decrease Speed Giảm tốc độ - + Adjust speed slower (coarse) Điều chỉnh tốc độ chậm hơn (thô) - + Adjust speed slower (fine) Điều chỉnh tốc độ chậm hơn (Mỹ) - + Temporarily Increase Speed Tạm thời tăng tốc độ - + Temporarily increase speed (coarse) Tạm thời tăng tốc độ (thô) - + Temporarily Increase Speed (Fine) Tạm thời tăng tốc độ (Mỹ) - + Temporarily increase speed (fine) Tạm thời tăng tốc độ (Mỹ) - + Temporarily Decrease Speed Tạm thời giảm tốc độ - + Temporarily decrease speed (coarse) Tạm thời giảm tốc độ (thô) - + Temporarily Decrease Speed (Fine) Tạm thời giảm tốc độ (Mỹ) - + Temporarily decrease speed (fine) Tạm thời giảm tốc độ (Mỹ) - - + + Adjust %1 Điều chỉnh %1 - + + Deck %1 Stem %2 + + + + Effect Unit %1 - + Button Parameter %1 - + Skin Da - + Controller - + Crossfader / Orientation - + Main Output gain - + Main Output balance - + Main Output delay - + Headphone Tai nghe - - + + Kill %1 + %1 is "Low EQ" "Mid EQ" or "High EQ" Giết %1 - + Eject or un-eject track, i.e. reload the last-ejected track (of any deck)<br>Double-press to reload the last replaced track. In empty decks it reloads the second-last ejected track. - + BPM / Beatgrid - + Halve BPM - + Multiply current BPM by 0.5 - + 2/3 BPM - + Multiply current BPM by 0.666 - + 3/4 BPM - + Multiply current BPM by 0.75 - + 4/3 BPM - + Multiply current BPM by 1.333 - + 3/2 BPM - + Multiply current BPM by 1.5 - + Double BPM - + Multiply current BPM by 2 - + Tempo Tap - + Tempo tap button - + Move Beatgrid - + Adjust the beatgrid to the left or right - + Move Beatgrid Half a Beat - + Adjust the beatgrid by exactly one half beat. Usable only for tracks with constant tempo. - - + + Toggle the BPM/beatgrid lock - + Revert last BPM/Beatgrid Change - + Revert last BPM/Beatgrid Change of the loaded track. - + Sync / Sync Lock - + Internal Sync Leader - + Toggle Internal Sync Leader - - + + Internal Leader BPM - + Internal Leader BPM +1 - + Increase internal Leader BPM by 1 - + Internal Leader BPM -1 - + Decrease internal Leader BPM by 1 - + Internal Leader BPM +0.1 - + Increase internal Leader BPM by 0.1 - + Internal Leader BPM -0.1 - + Decrease internal Leader BPM by 0.1 - + Sync Leader - + Sync mode 3-state toggle / indicator (Off, Soft Leader, Explicit Leader) - + Speed - + Decrease Speed (Fine) - + Pitch (Musical Key) - + Increase Pitch - + Increases the pitch by one semitone - + Increase Pitch (Fine) - + Increases the pitch by 10 cents - + Decrease Pitch - + Decreases the pitch by one semitone - + Decrease Pitch (Fine) - + Decreases the pitch by 10 cents - + Keylock - + CUP (Cue + Play) - + Shift cue points earlier - + Shift cue points 10 milliseconds earlier - + Shift cue points earlier (fine) - + Shift cue points 1 millisecond earlier - + Shift cue points later - + Shift cue points 10 milliseconds later - + Shift cue points later (fine) - + Shift cue points 1 millisecond later - - + + Sort hotcues by position - - + + Sort hotcues by position (remove offsets) - + Hotcues %1-%2 - + Intro / Outro Markers - + Intro Start Marker - + Intro End Marker - + Outro Start Marker - + Outro End Marker - + intro start marker - + intro end marker - + outro start marker - + outro end marker - + Activate %1 [intro/outro marker - + Jump to or set the %1 [intro/outro marker - + Set %1 [intro/outro marker - + Set or jump to the %1 [intro/outro marker - + Clear %1 [intro/outro marker - + Clear the %1 [intro/outro marker - + if the track has no beats the unit is seconds - + Loop Selected Beats - + Create a beat loop of selected beat size - + Loop Roll Selected Beats - + Create a rolling beat loop of selected beat size - + Loop %1 Beats set from its end point - + Loop Roll %1 Beats set from its end point - + Create %1-beat loop with the current play position as loop end - + Create temporary %1-beat loop roll with the current play position as loop end - + Loop Beats - + Loop Roll Beats - + Go To Loop In - + Go to Loop In button - + Go To Loop Out - + Go to Loop Out button - + Toggle loop on/off and jump to Loop In point if loop is behind play position - + Reloop And Stop - + Enable loop, jump to Loop In point, and stop - + Halve the loop length - + Double the loop length - + Beat Jump / Loop Move - + Jump / Move Loop Forward %1 Beats - + Jump / Move Loop Backward %1 Beats - + Jump forward by %1 beats, or if a loop is enabled, move the loop forward %1 beats - + Jump backward by %1 beats, or if a loop is enabled, move the loop backward %1 beats - + Beat Jump / Loop Move Forward Selected Beats - + Jump forward by the selected number of beats, or if a loop is enabled, move the loop forward by the selected number of beats - + Beat Jump / Loop Move Backward Selected Beats - + Jump backward by the selected number of beats, or if a loop is enabled, move the loop backward by the selected number of beats - + Beat Jump - + Indicate which loop marker remain static when adjusting the size or is inherited from the current position - + Beat Jump / Loop Move Forward - + Beat Jump / Loop Move Backward - + Loop Move Forward - + Loop Move Backward - + Remove Temporary Loop - + Remove the temporary loop - + Navigation - + Move up - + Equivalent to pressing the UP key on the keyboard - + Move down - + Equivalent to pressing the DOWN key on the keyboard - + Move up/down - + Move vertically in either direction using a knob, as if pressing UP/DOWN keys - + Scroll Up - + Equivalent to pressing the PAGE UP key on the keyboard - + Scroll Down - + Equivalent to pressing the PAGE DOWN key on the keyboard - + Scroll up/down - + Scroll vertically in either direction using a knob, as if pressing PGUP/PGDOWN keys - + Move left - + Equivalent to pressing the LEFT key on the keyboard - + Move right - + Equivalent to pressing the RIGHT key on the keyboard - + Move left/right - + Move horizontally in either direction using a knob, as if pressing LEFT/RIGHT keys - + Move focus to right pane - + Equivalent to pressing the TAB key on the keyboard - + Move focus to left pane - + Equivalent to pressing the SHIFT+TAB key on the keyboard - + Move focus to right/left pane - + Move focus one pane to right or left using a knob, as if pressing TAB/SHIFT+TAB keys - + Sort focused column - + Sort the column of the cell that is currently focused, equivalent to clicking on its header - + Go to the currently selected item - + Choose the currently selected item and advance forward one pane if appropriate - + Load Track and Play - + Add to Auto DJ Queue (replace) - + Replace Auto DJ Queue with selected tracks - + Select next search history - + Selects the next search history entry - + Select previous search history - + Selects the previous search history entry - + Move selected search entry - + Moves the selected search history item into given direction and steps - + Clear search - + Clears the search query - - + + Select Next Color Available - + Select the next color in the color palette for the first selected track - - + + Select Previous Color Available - + Select the previous color in the color palette for the first selected track - + + Quick Effects Deck %1 + + + + Deck %1 Quick Effect Enable Button - + + Quick Effect Enable Button - + + Deck %1 Stem %2 Quick Effect Super Knob + + + + + Deck %1 Stem %2 Quick Effect Enable Button + + + + Enable or disable effect processing Kích hoạt hoặc vô hiệu hoá hiệu ứng xử lý - + Super Knob (control effects' Meta Knobs) - + Mix Mode Toggle - + Toggle effect unit between D/W and D+W modes - + Next chain preset Tiếp theo chuỗi cài sẵn - + Previous Chain Chuỗi trước - + Previous chain preset Trước chuỗi cài sẵn - + Next/Previous Chain Kế tiếp/trước Chuỗi - + Next or previous chain preset Kế tiếp hoặc trước đó chuỗi cài sẵn - - + + Show Effect Parameters - + Effect Unit Assignment - + Meta Knob - + Effect Meta Knob (control linked effect parameters) - + Meta Knob Mode - + Set how linked effect parameters change when turning the Meta Knob. - + Meta Knob Mode Invert - + Invert how linked effect parameters change when turning the Meta Knob. - - + + Button Parameter Value - + Microphone / Auxiliary Micro / phụ trợ - + Microphone On/Off Micro baät/taét - + Microphone on/off Micro baät/taét - + Toggle microphone ducking mode (OFF, AUTO, MANUAL) Bật/tắt Micro ducking chế độ (OFF, tự động, hướng dẫn sử dụng) - + Auxiliary On/Off Liên minh baät/taét - + Auxiliary on/off Liên minh baät/taét - + Auto DJ Tự động DJ - + Auto DJ Shuffle Tự động DJ Shuffle - + Auto DJ Skip Next Tự động DJ bỏ qua tiếp theo - + Auto DJ Add Random Track - + Add a random track to the Auto DJ queue - + Auto DJ Fade To Next Tự động DJ phai để tiếp theo - + Trigger the transition to the next track Kích hoạt sự chuyển đổi sang bài hát kế tiếp - + User Interface Giao diện người dùng - + Samplers Show/Hide Samplers Hiển thị/ẩn - + Show/hide the sampler section Hiển thị/ẩn phần sampler - + Microphone && Auxiliary Show/Hide keep double & to prevent creation of keyboard accelerator - + Waveform Zoom Reset To Default - + Reset the waveform zoom level to the default value selected in Preferences -> Waveforms - + Select the next color in the color palette for the loaded track. - + Select previous color in the color palette for the loaded track. - + Navigate Through Track Colors - + Select either next or previous color in the palette for the loaded track. - + Start/Stop Live Broadcasting - + Stream your mix over the Internet. Dòng hỗn hợp của bạn qua Internet. - + Start/stop recording your mix. - - + + + Deck %1 Stems + + + + + Samplers - + Vinyl Control Show/Hide Vinyl kiểm soát Hiển thị/ẩn - + Show/hide the vinyl control section Hiển thị/ẩn phần kiểm soát vinyl - + Preview Deck Show/Hide Xem trước sàn Hiển thị/ẩn - + Show/hide the preview deck Hiển thị/ẩn tầng xem trước - + Toggle 4 Decks Bật tắt 4 sàn - + Switches between showing 2 decks and 4 decks. Thiết bị chuyển mạch giữa Hiển thị 2 sàn và 4 sàn. - + Cover Art Show/Hide (Decks) - + Show/hide cover art in the main decks - + Vinyl Spinner Show/Hide Vinyl Spinner Hiển thị/ẩn - + Show/hide spinning vinyl widget Hiển thị/ẩn quay vinyl Tiện ích - + Vinyl Spinners Show/Hide (All Decks) - + Show/Hide all spinnies - + Toggle Waveforms - + Show/hide the scrolling waveforms. - + Waveform zoom Thu phóng dạng sóng - + Waveform Zoom Thu phóng dạng sóng - + Zoom waveform in Phóng to dạng sóng - + Waveform Zoom In Dạng sóng phóng to - + Zoom waveform out Thu nhỏ dạng sóng - + Star Rating Up - + Increase the track rating by one star - + Star Rating Down - + Decrease the track rating by one star @@ -3543,6 +3584,159 @@ trace - Above + Profiling messages + + ControllerHidReportTabsManager + + + Read + + + + + Send + + + + + Payload Size + + + + + bytes + + + + + Byte Position + + + + + Bit Position + + + + + Bit Size + + + + + Logical Min + + + + + Logical Max + + + + + Value + + + + + Physical Min + + + + + Physical Max + + + + + Unit Scaling + + + + + Unit + + + + + Abs/Rel + + + + + + Wrap + + + + + + Linear + + + + + + Preferred + + + + + + Null + + + + + + Volatile + + + + + Usage Page + + + + + Usage + + + + + Relative + + + + + Absolute + + + + + No Wrap + + + + + Non Linear + + + + + No Preferred + + + + + No Null + + + + + Non Volatile + + + ControllerInputMappingTableModel @@ -3678,27 +3872,27 @@ trace - Above + Profiling messages ControllerScriptEngineLegacy - + Controller Mapping File Problem - + The mapping for controller "%1" cannot be opened. - + The functionality provided by this controller mapping will be disabled until the issue has been resolved. - + File: - + Error: @@ -3731,7 +3925,7 @@ trace - Above + Profiling messages - + Lock Khóa @@ -3761,7 +3955,7 @@ trace - Above + Profiling messages Tự động theo dõi DJ nguồn - + Enter new name for crate: Nhập tên mới cho thùng: @@ -3778,22 +3972,22 @@ trace - Above + Profiling messages Nhập khẩu thùng - + Export Crate Xuất khẩu thùng - + Unlock Mở khóa - + An unknown error occurred while creating crate: Lỗi không biết xảy ra trong khi tạo thùng: - + Rename Crate Đổi tên thùng @@ -3803,28 +3997,28 @@ trace - Above + Profiling messages - + Confirm Deletion - - + + Renaming Crate Failed Đổi tên thùng thất bại - + Crate Creation Failed - + M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Text CSV (*.csv);;Readable Text (*.txt) M3U danh sách bài hát (*.m3u); M3U8 danh sách bài hát (*.m3u8); PLS danh sách bài hát (* .pls); Văn bản CSV (*.csv); Có thể đọc được văn bản (*.txt) - + M3U Playlist (*.m3u) M3U danh sách bài hát (*.m3u) @@ -3845,17 +4039,17 @@ trace - Above + Profiling messages Thùng cho phép bạn tổ chức âm nhạc của bạn Tuy nhiên bạn muốn! - + Do you really want to delete crate <b>%1</b>? - + A crate cannot have a blank name. Một thùng có thể không có một tên trống. - + A crate by that name already exists. Một thùng tên đó đã tồn tại. @@ -3950,12 +4144,12 @@ trace - Above + Profiling messages Trong quá khứ những người đóng góp - + Official Website - + Donate @@ -4742,122 +4936,139 @@ You tried to learn: %1,%2 DlgPrefBroadcast - + Icecast 2 Icecast 2 - + Shoutcast 1 Shoutcast 1 - + Icecast 1 Icecast 1 - + MP3 NPP - + Ogg Vorbis Ogg Vorbis - + Opus - + AAC - + HE-AAC - + HE-AACv2 - + Automatic - + Mono Mono - + Stereo Âm thanh nổi - - - - + + Saving settings failed + + + + + The password for '%1' contains invalid characters. Please enter it again. + +Note: This can for example be invisible linebreaks when using copy/paste. + + + + + + Action failed - + You can't create more than %1 source connections. - + Source connection %1 - + + Settings for %1 + Settings for broadcast profile, %1 is the profile name placeholder + + + + At least one source connection is required. - + Are you sure you want to disconnect every active source connection? - - + + Confirmation required - + '%1' has the same Icecast mountpoint as '%2'. Two source connections to the same server that have the same mountpoint can not be enabled simultaneously. - + Are you sure you want to delete '%1'? - + Renaming '%1' - + New name for '%1': - + Can't rename '%1' to '%2': name already in use @@ -4870,27 +5081,27 @@ Two source connections to the same server that have the same mountpoint can not Sống phát thanh truyền tuỳ chọn - + Mixxx Icecast Testing Mixxx Icecast thử nghiệm - + Public stream Khu vực stream - + http://www.mixxx.org http://www.Mixxx.org - + Stream name Dòng tên - + Due to flaws in some streaming clients, updating Ogg Vorbis metadata dynamically can cause listener glitches and disconnections. Check this box to update the metadata anyway. Do sai sót trong một số khách hàng trực tuyến, Cập Nhật Ogg Vorbis siêu dữ liệu tự động có thể gây ra lỗi này nghe và disconnections. Kiểm tra hộp này để cập nhật các siêu dữ liệu anyway. @@ -4930,67 +5141,72 @@ Two source connections to the same server that have the same mountpoint can not - + + Available fields: $artist, $title, $year, $album, $genre, $bpm + + + + Dynamically update Ogg Vorbis metadata. Tự động cập nhật siêu dữ liệu Ogg Vorbis. - + ICQ - + AIM - + Website Trang web - + Live mix Trực tiếp kết hợp - + IRC - + Select a source connection above to edit its settings here - + Password storage - + Plain text - + Secure storage (OS keychain) - + Genre Thể loại - + Use UTF-8 encoding for metadata. Sử dụng UTF-8 mã hóa cho siêu dữ liệu. - + Description Mô tả @@ -5016,42 +5232,42 @@ Two source connections to the same server that have the same mountpoint can not Kênh - + Server connection Kết nối máy chủ - + Type Loại - + Host Máy chủ lưu trữ - + Login Đăng nhập - + Mount Gắn kết - + Port Cổng - + Password Mật khẩu - + Stream info @@ -5061,17 +5277,17 @@ Two source connections to the same server that have the same mountpoint can not - + Use static artist and title. - + Static title - + Static artist @@ -5130,13 +5346,14 @@ Two source connections to the same server that have the same mountpoint can not DlgPrefColors - - + + + By hotcue number - + Color @@ -5181,17 +5398,22 @@ Two source connections to the same server that have the same mountpoint can not + Jump default color + + + + When key colors are enabled, Mixxx will display a color hint associated with each key. - + Enable Key Colors - + Key palette @@ -5199,114 +5421,114 @@ associated with each key. DlgPrefController - + Apply device settings? Áp dụng thiết đặt? - + Your settings must be applied before starting the learning wizard. Apply settings and continue? Cài đặt của bạn phải được áp dụng trước khi bắt đầu thuật sĩ học tập. Áp dụng thiết đặt và tiếp tục? - + None Không có - + %1 by %2 %1 bởi %2 - + Mapping has been edited - + Always overwrite during this session - + Save As - + Overwrite - + Save user mapping - + Enter the name for saving the mapping to the user folder. - + Saving mapping failed - + A mapping cannot have a blank name and may not contain special characters. - + A mapping file with that name already exists. - + Do you want to save the changes? - + Troubleshooting Giải đáp thắc mắc - + <font color='#BB0000'><b>If you use this mapping your controller may not work correctly. Please select another mapping or disable the controller.</b></font><br><br>This mapping was designed for a newer Mixxx Controller Engine and cannot be used on your current Mixxx installation.<br>Your Mixxx installation has Controller Engine version %1. This mapping requires a Controller Engine version >= %2.<br><br>For more information visit the wiki page on <a href='https://mixxx.org/wiki/doku.php/controller_engine_versions'>Controller Engine Versions</a>. - + Mapping already exists. - + <b>%1</b> already exists in user mapping folder.<br>Overwrite or save with a new name? - + Clear Input Mappings Rõ ràng đầu vào ánh xạ - + Are you sure you want to clear all input mappings? Bạn có chắc bạn muốn xóa tất cả các ánh xạ đầu vào không? - + Clear Output Mappings Rõ ràng sản lượng ánh xạ - + Are you sure you want to clear all output mappings? Bạn có chắc bạn muốn xóa tất cả ra ánh xạ? @@ -5324,100 +5546,105 @@ Apply settings and continue? Kích hoạt - + + Refresh mapping list + + + + Device Info - + Physical Interface: - + Vendor name: - + Product name: - + Vendor ID - + VID: - + Product ID - + PID: - + Serial number: - + USB interface number: - + HID Usage-Page: - + HID Usage: - + Description: Trò chơi mô tả: - + Support: Hỗ trợ: - + Screens preview - + Input Mappings Ánh xạ đầu vào - - + + Search Tìm - - + + Add Thêm - - + + Remove Loại bỏ @@ -5437,17 +5664,17 @@ Apply settings and continue? - + Mapping Info - + Author: Tác giả: - + Name: Tên: @@ -5457,28 +5684,28 @@ Apply settings and continue? Thuật sĩ học tập (MIDI chỉ) - + Data protocol: - + Mapping Files: - + Mapping Settings - - + + Clear All Xóa tất cả - + Output Mappings Ánh xạ đầu ra @@ -5493,21 +5720,21 @@ Apply settings and continue? - Mixxx uses "mappings" to connect messages from your controller to controls in Mixxx. If you do not see a mapping for your controller in the "Load Mapping" menu when you click on your controller on the left sidebar, you may be able to download one online from the %1. Place the XML (.xml) and Javascript (.js) file(s) in the "User Mapping Folder" then restart Mixxx. If you download a mapping in a ZIP file, extract the XML and Javascript file(s) from the ZIP file to your "User Mapping Folder" then restart Mixxx. + Mixxx uses "mappings" to connect messages from your controller to controls in Mixxx. If you do not see a mapping for your controller in the "Load Mapping" menu when you click on your controller on the left sidebar, you may be able to download one online from the %1. Place the XML (.xml) and Javascript (.js) file(s) in the "User Mapping Folder" then click the Reload button next to the mapping selector to reload all available mappings. If you download a mapping in a ZIP file, extract the XML and Javascript file(s) from the ZIP file to your "User Mapping Folder" then click the Reload button. - + Mixxx DJ Hardware Guide - + MIDI Mapping File Format - + MIDI Scripting with Javascript @@ -5676,137 +5903,137 @@ Apply settings and continue? DlgPrefDeck - + Mixxx mode Chế độ Mixxx - + Mixxx mode (no blinking) Mixxx chế độ (không nhấp nháy) - + Pioneer mode Chế độ tiên phong - + Denon mode Chế độ Denon - + Numark mode Numark chế độ - + CUP mode - + mm:ss%1zz - Traditional - + mm:ss - Traditional (Coarse) - + s%1zz - Seconds - + sss%1zz - Seconds (Long) - + s%1sss%2zz - Kiloseconds - + Intro start - + Main cue - + First hotcue - + First sound (skip silence) - + Beginning of track - + Reject - + Allow, but stop deck - + Allow, play from load point - + 4% - + 6% (semitone) - + 8% (Technics SL-1210) 8% (máy móc SL-1210) - + 10% 10% - + 16% - + 24% - + 50% 50% - + 90% 90% @@ -6243,57 +6470,57 @@ You can always drag-and-drop tracks on screen to clone a deck. Kích thước tối thiểu của vẻ ngoài đã chọn là lớn hơn độ phân giải màn hình của bạn. - + Allow screensaver to run - + Prevent screensaver from running - + Prevent screensaver while playing - + Disabled - + 2x MSAA - + 4x MSAA - + 8x MSAA - + 16x MSAA - + This skin does not support color schemes Da này không hỗ trợ phối màu - + Information Thông tin - + Mixxx must be restarted before the new locale, scaling or multi-sampling settings will take effect. @@ -6520,67 +6747,97 @@ and allows you to pitch adjust them for harmonic mixing. - + Music Directory Added Âm nhạc thư mục bổ sung - + You added one or more music directories. The tracks in these directories won't be available until you rescan your library. Would you like to rescan now? Bạn đã thêm vào một hoặc nhiều thư mục âm nhạc. Các bài hát trong những thư mục này sẽ không có sẵn cho đến khi bạn tại thư viện của bạn. Bạn có muốn tại bây giờ không? - + Scan Quét - + Item is not a directory or directory is missing - + Choose a music directory Chọn một thư mục nhạc - + Confirm Directory Removal Xác nhận loại bỏ thư mục - + Mixxx will no longer watch this directory for new tracks. What would you like to do with the tracks from this directory and subdirectories?<ul><li>Hide all tracks from this directory and subdirectories.</li><li>Delete all metadata for these tracks from Mixxx permanently.</li><li>Leave the tracks unchanged in your library.</li></ul>Hiding tracks saves their metadata in case you re-add them in the future. Mixxx sẽ không còn xem thư mục này cho bài hát mới. Những gì bạn muốn làm với các bài hát từ thư mục và thư mục con này? <ul><li>Ẩn tất cả các bài hát từ thư mục và thư mục con này.</li> <li>Xóa tất cả siêu dữ liệu cho các bài nhạc từ Mixxx vĩnh viễn.</li> <li>Để lại các bài hát không thay đổi trong thư viện của bạn.</li></ul> Ẩn bài nhạc lưu siêu dữ liệu của họ trong trường hợp bạn tái thêm chúng trong tương lai. - + Metadata means all track details (artist, title, playcount, etc.) as well as beatgrids, hotcues, and loops. This choice only affects the Mixxx library. No files on disk will be changed or deleted. Siêu dữ liệu có nghĩa là tất cả theo dõi thông tin chi tiết (nghệ sĩ, tiêu đề, playcount, vv) cũng như beatgrids, hotcues, và vòng. Lựa chọn này chỉ ảnh hưởng đến thư viện Mixxx. Không có tập tin trên đĩa sẽ được thay đổi hoặc xóa. - + Hide Tracks Giấu bài nhạc - + Delete Track Metadata Xoá siêu dữ liệu theo dõi - + Leave Tracks Unchanged Để lại bài hát không thay đổi - + Relink music directory to new location Relink âm nhạc thư mục vào vị trí mới - + + Black + + + + + ExtraBold + + + + + Bold + + + + + SemiBold + + + + + Medium + + + + + Light + + + + Select Library Font Chọn phông chữ thư viện @@ -6629,262 +6886,267 @@ and allows you to pitch adjust them for harmonic mixing. - + Audio File Formats Định dạng tập tin âm thanh - + Track Table View - + Track Double-Click Action: - + BPM display precision: - + Session History - + Track duplicate distance - + When playing a track again log it to the session history only if more than N other tracks have been played in the meantime - + History playlist with less than N tracks will be deleted<br/><br/>Note: the cleanup will be performed during startup and shutdown of Mixxx. - + Delete history playlist with less than N tracks - + Library Font: Thư viện phông: - + + Show scan summary dialog + + + + Grey out played tracks - + Track Search - + Enable search completions - + Enable search history keyboard shortcuts - + Percentage of pitch slider range for 'fuzzy' BPM search: - + This range will be used for the 'fuzzy' BPM search (~bpm:) via the search box, as well as for BPM search in Track context menu > Search related Tracks - + Preferred Cover Art Fetcher Resolution - + Fetch cover art from coverartarchive.com by using Import Metadata From Musicbrainz. - + Note: ">1200 px" can fetch up to very large cover arts. - + >1200 px (if available) - + 1200 px (if available) - + 500 px - + 250 px - + Settings Directory - + The Mixxx settings directory contains the library database, various configuration files, log files, track analysis data, as well as custom controller mappings. - + Edit those files only if you know what you are doing and only while Mixxx is not running. - + Open Mixxx Settings Folder - + Library Row Height: Thư viện hàng chiều cao: - + Use relative paths for playlist export if possible Sử dụng đường dẫn tương đối để xuất khẩu danh sách chơi nếu có thể - + ... ... - + px px - + Synchronize library track metadata from/to file tags - + Automatically write modified track metadata from the library into file tags and reimport metadata from updated file tags into the library - + Synchronize Serato track metadata from/to file tags (experimental) - + Keeps track color, beat grid, bpm lock, cue points, and loops synchronized with SERATO_MARKERS/MARKERS2 file tags.<br/><br/>WARNING: Enabling this option also enables the reimport of Serato metadata after files have been modified outside of Mixxx. On reimport existing metadata in Mixxx is replaced with the metadata found in file tags. Custom metadata not included in file tags like loop colors is lost. - + Edit metadata after clicking selected track - + Search-as-you-type timeout: - + ms MS - + Load track to next available deck Tải ca khúc để boong có sẵn tiếp theo - + External Libraries Bên ngoài thư viện - + You will need to restart Mixxx for these settings to take effect. Bạn sẽ cần phải khởi động lại Mixxx cho các thiết đặt này có hiệu lực. - + Show Rhythmbox Library Hiển thị Rhythmbox thư viện - + Track Metadata Synchronization / Playlists - + Add track to Auto DJ queue (bottom) - + Add track to Auto DJ queue (top) - + Ignore - + Show Banshee Library Hiển thị Banshee thư viện - + Show iTunes Library Hiển thị iTunes thư viện - + Show Traktor Library Hiển thị Traktor thư viện - + Show Rekordbox Library - + Show Serato Library - + All external libraries shown are write protected. Tất cả các thư viện bên ngoài Hiển thị là bảo vệ cấm ghi. @@ -7229,33 +7491,33 @@ and allows you to pitch adjust them for harmonic mixing. DlgPrefRecord - + Choose recordings directory Chọn thư mục bản ghi âm - - + + Recordings directory invalid - + Recordings directory must be set to an existing directory. - + Recordings directory must be set to a directory. - + Recordings directory not writable - + You do not have write access to %1. Choose a recordings directory you have write access to. @@ -7273,43 +7535,55 @@ and allows you to pitch adjust them for harmonic mixing. Trình duyệt... - - + + This will include the filepath for each track in the CUE file. +This option makes the CUE file less portable and can reveal personal +information from filepaths (i.e. username) + + + + + Enable File Annotation in CUE file + + + + + Quality Chất lượng - + Tags Tags - + Title Tiêu đề - + Author Tác giả - + Album Album - + Output File Format - + Compression - + Lossy @@ -7324,12 +7598,12 @@ and allows you to pitch adjust them for harmonic mixing. - + Compression Level - + Lossless @@ -7460,172 +7734,177 @@ The loudness target is approximate and assumes track pregain and main output lev DlgPrefSound - + %1 Hz %1 Hz - + Default (long delay) Mặc định (dài sự chậm trễ) - + Experimental (no delay) Thử nghiệm (có sự chậm trễ) - + Disabled (short delay) Khuyết tật (sự chậm trễ ngắn) - + Soundcard Clock - + Network Clock - + Direct monitor (recording and broadcasting only) - + Disabled Khuyết tật - + Enabled Kích hoạt - + Stereo Âm thanh nổi - + Mono Mono - + To enable Realtime scheduling (currently disabled), see the %1. - + The %1 lists sound cards and controllers you may want to consider for using Mixxx. - + Mixxx DJ Hardware Guide - + + Find details in the Mixxx user manual + + + + Information - + Mixxx must be restarted before the multi-threaded RubberBand setting change will take effect. - + auto (<= 1024 frames/period) - + 2048 frames/period - + 4096 frames/period - + Are you sure? - + Distribute stereo channels into mono channels for parallel processing will result in a loss of mono compatibility and a diffuse stereo image. It is not recommended during broadcasting or recording. - + Are you sure you wish to proceed? - + No - + Yes, I know what I am doing - + Microphone inputs are out of time in the record & broadcast signal compared to what you hear. - + Measure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. - + Refer to the Mixxx User Manual for details. - + Configured latency has changed. - + Remeasure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. - + Realtime scheduling is enabled. - + Main output only - + Main and booth outputs - + %1 ms %1 ms - + Configuration error Lỗi cấu hình @@ -7692,17 +7971,22 @@ The loudness target is approximate and assumes track pregain and main output lev MS - + + Deck and Bus outputs are for external mixers. They are post-fader and include effects and crossfader (for Auto DJ). For external mixing, make sure all Mixxx faders and EQ knobs are set to their default position (right- or double-click). + + + + 20 ms 20 ms - + Buffer Underflow Count Bộ đệm Underflow tính - + 0 0 @@ -7727,12 +8011,12 @@ The loudness target is approximate and assumes track pregain and main output lev Đầu vào - + System Reported Latency Hệ thống báo cáo trễ - + Enlarge your audio buffer if the underflow counter is increasing or you hear pops during playback. Phóng to đệm âm thanh của bạn nếu truy cập underflow đang gia tăng hoặc bạn nghe hiện ra trong khi phát lại. @@ -7762,7 +8046,7 @@ The loudness target is approximate and assumes track pregain and main output lev Gợi ý và chẩn đoán - + Downsize your audio buffer to improve Mixxx's responsiveness. Giảm bớt đệm âm thanh của bạn để cải thiện để đáp ứng của Mixxx. @@ -7809,7 +8093,7 @@ The loudness target is approximate and assumes track pregain and main output lev Cấu hình vinyl - + Show Signal Quality in Skin Hiển thị chất lượng tín hiệu trong da @@ -7845,46 +8129,51 @@ The loudness target is approximate and assumes track pregain and main output lev + Pitch estimator + + + + Deck 1 - + Deck 2 - + Deck 3 - + Deck 4 - + Signal Quality Chất lượng tín hiệu - + http://www.xwax.co.uk http://www.xwax.co.uk - + Powered by xwax Được tài trợ bởi xwax - + Hints Gợi ý - + Select sound devices for Vinyl Control in the Sound Hardware pane. Chọn thiết bị âm thanh cho Vinyl kiểm soát trong ngăn phần cứng âm thanh. @@ -7892,58 +8181,58 @@ The loudness target is approximate and assumes track pregain and main output lev DlgPrefWaveform - + Filtered Lọc - + HSV HSV - + RGB RGB - + Top - + Center - + Bottom - + 1/3 of waveform viewer options for "Text height limit" - + Entire waveform viewer - + OpenGL not available OpenGL không sẵn dùng - + dropped frames bỏ khung - + Cached waveforms occupy %1 MiB on disk. @@ -7961,22 +8250,17 @@ The loudness target is approximate and assumes track pregain and main output lev Tỷ lệ khung hình - + OpenGL Status - + Displays which OpenGL version is supported by the current platform. Hiển thị phiên bản OpenGL nào được hỗ trợ bởi nền tảng hiện tại. - - Normalize waveform overview - Bình thường hóa dạng sóng tổng quan - - - + Average frame rate Tỷ lệ khung hình trung bình @@ -7992,7 +8276,7 @@ The loudness target is approximate and assumes track pregain and main output lev Mức thu phóng mặc định - + Displays the actual frame rate. Hiển thị tỷ lệ khung hình thực tế. @@ -8027,7 +8311,7 @@ The loudness target is approximate and assumes track pregain and main output lev Thấp - + Show minute markers on waveform overview @@ -8072,7 +8356,7 @@ The loudness target is approximate and assumes track pregain and main output lev Toàn cầu tăng thị giác - + The waveform overview shows the waveform envelope of the entire track. Select from different types of displays for the waveform overview, which differ primarily in the level of detail shown in the waveform. @@ -8139,22 +8423,22 @@ Select from different types of displays for the waveform, which differ primarily - + Caching - + Mixxx caches the waveforms of your tracks on disk the first time you load a track. This reduces CPU usage when you are playing live but requires extra disk space. - + Enable waveform caching - + Generate waveforms when analyzing library @@ -8170,7 +8454,7 @@ Select from different types of displays for the waveform, which differ primarily - + Type @@ -8190,22 +8474,68 @@ Select from different types of displays for the waveform, which differ primarily % - - Play marker position + + Play marker position + + + + + Moves the play marker position on the waveforms to the left, right or center (default). + + + + + Stem + + + + + Channel opacity + + + + + Channel opacity (outline) + + + + + Main stem opacity + + + + + Outline stem opacity + + + + + Move channel to foreground when volume is adjusted + + + + + Overview Waveforms - - Moves the play marker position on the waveforms to the left, right or center (default). + + Gain - - Overview Waveforms + + Normalize to peak + + + + + Use Waveform "Global" gain and ReplayGain (if enabled) + 'Global' refers to the 'Global' visual gain in the scrolling waveform settings - + Clear Cached Waveforms @@ -8694,7 +9024,7 @@ This can not be undone! BPM: - + Location: Địa điểm: @@ -8709,27 +9039,27 @@ This can not be undone! Ý kiến - + BPM BPM - + Sets the BPM to 75% of the current value. Thiết lập BPM đến 75% của giá trị hiện tại. - + 3/4 BPM 3/4 BPM - + Sets the BPM to 50% of the current value. Thiết lập BPM 50% của giá trị hiện tại. - + Displays the BPM of the selected track. Hiển thị BPM đường đã chọn. @@ -8784,49 +9114,49 @@ This can not be undone! Thể loại - + ReplayGain: - + Sets the BPM to 200% of the current value. Thiết lập BPM 200% giá trị hiện tại. - + Double BPM Đôi BPM - + Halve BPM Giảm một nửa BPM - + Clear BPM and Beatgrid Rõ ràng BPM và Beatgrid - + Move to the previous item. "Previous" button Di chuyển đến mục trước. - + &Previous & Trước - + Move to the next item. "Next" button Di chuyển đến mục kế tiếp. - + &Next & Tiếp theo @@ -8851,12 +9181,12 @@ This can not be undone! - + Date added: - + Open in File Browser Mở trong trình duyệt tập tin @@ -8866,102 +9196,107 @@ This can not be undone! - + + Filesize: + + + + Track BPM: Theo dõi BPM: - + Converts beats detected by the analyzer into a fixed-tempo beatgrid. Use this setting if your tracks have a constant tempo (e.g. most electronic music). Often results in higher quality beatgrids, but will not do well on tracks that have tempo shifts. - + Assume constant tempo - + Sets the BPM to 66% of the current value. Thiết lập BPM 66% của giá trị hiện tại. - + 2/3 BPM 2/3 BPM - + Sets the BPM to 150% of the current value. - + 3/2 BPM - + Sets the BPM to 133% of the current value. - + 4/3 BPM - + Tap with the beat to set the BPM to the speed you are tapping. Khai thác với nhịp đập để thiết lập BPM để tốc độ bạn đang khai thác. - + Tap to Beat Bấm vào để đánh bại - + Hint: Use the Library Analyze view to run BPM detection. Gợi ý: Sử dụng xem thư viện phân tích để chạy việc phát hiện BPM. - + Save changes and close the window. "OK" button Lưu thay đổi và đóng cửa sổ. - + &OK & OK - + Discard changes and close the window. "Cancel" button Bỏ các thay đổi và đóng cửa sổ. - + Save changes and keep the window open. "Apply" button Lưu thay đổi và giữ cho cửa sổ mở. - + &Apply & Áp dụng - + &Cancel & Hủy bỏ - + (no color) @@ -9118,7 +9453,7 @@ Often results in higher quality beatgrids, but will not do well on tracks that h - + (no color) @@ -9320,27 +9655,27 @@ Often results in higher quality beatgrids, but will not do well on tracks that h EngineBuffer - + Soundtouch (faster) Soundtouch (nhanh hơn) - + Rubberband (better) Dây Chun (tốt hơn) - + Rubberband R3 (near-hi-fi quality) - + Unknown, using Rubberband (better) - + Unknown, using Soundtouch @@ -9555,15 +9890,15 @@ Often results in higher quality beatgrids, but will not do well on tracks that h LegacySkinParser - - + + Safe Mode Enabled Shown when Mixxx is running in safe mode. Chế độ an toàn được kích hoạt - - + + No OpenGL support. Shown when Spinny can not be displayed. Please keep @@ -9574,57 +9909,57 @@ Shown when VuMeter can not be displayed. Please keep Không có hỗ trợ OpenGL. - + activate kích hoạt - + toggle chuyển đổi - + right quyền - + left trái - + right small ngay nhỏ - + left small còn nhỏ - + up lên - + down xuống - + up small mặc nhỏ - + down small xuống nhỏ - + Shortcut Lối tắt @@ -9632,62 +9967,62 @@ Shown when VuMeter can not be displayed. Please keep Library - + This or a parent directory is already in your library. - + This or a listed directory does not exist or is inaccessible. Aborting the operation to avoid library inconsistencies - - + + This directory can not be read. - + An unknown error occurred. Aborting the operation to avoid library inconsistencies - + Can't add Directory to Library - + Could not add <b>%1</b> to your library. %2 - + Can't remove Directory from Library - + An unknown error occurred. - + This directory does not exist or is inaccessible. - + Relink Directory - + Could not relink <b>%1</b> to <b>%2</b>. %3 @@ -9850,12 +10185,12 @@ Do you really want to overwrite it? Ẩn bài nhạc - + Export to Engine DJ - + Tracks @@ -9863,37 +10198,37 @@ Do you really want to overwrite it? MixxxMainWindow - + Sound Device Busy Thiết bị âm thanh bận rộn - + <b>Retry</b> after closing the other application or reconnecting a sound device <b>Thử lại</b> sau khi đóng ứng dụng khác hoặc kết nối lại một thiết bị âm thanh - - - + + + <b>Reconfigure</b> Mixxx's sound device settings. <b>Cấu hình lại</b> Cài đặt thiết bị âm thanh của Mixxx. - - + + Get <b>Help</b> from the Mixxx Wiki. Nhận được <b>Trợ giúp</b> từ Mixxx Wiki. - - - + + + <b>Exit</b> Mixxx. <b>Lối ra</b> Mixxx. - + Retry Thử lại @@ -9903,211 +10238,211 @@ Do you really want to overwrite it? - + Allow Mixxx to hide the menu bar? - + Hide Always show the menu bar? - + Always show - + The Mixxx menu bar is hidden and can be toggled with a single press of the <b>Alt</b> key.<br><br>Click <b>%1</b> to agree.<br><br>Click <b>%2</b> to disable that, for example if you don't use Mixxx with a keyboard.<br><br>You can change this setting any time in Preferences -> Interface.<br> Keep formatting tags <b> (bold text) and <br> (linebreak). %1 is the placeholder for the 'Always show' button label - + Ask me again - - + + Reconfigure Cấu hình lại - + Help Trợ giúp - - + + Exit Lối ra - - + + Mixxx was unable to open all the configured sound devices. - + Sound Device Error - + <b>Retry</b> after fixing an issue - + No Output Devices Không có thiết bị đầu ra - + Mixxx was configured without any output sound devices. Audio processing will be disabled without a configured output device. Mixxx được cấu hình mà không có bất kỳ thiết bị âm thanh đầu ra. Âm thanh xử lý sẽ bị vô hiệu hóa mà không có một thiết bị được cấu hình đầu ra. - + <b>Continue</b> without any outputs. <b>Tiếp tục</b> mà không có bất kỳ kết quả đầu ra. - + Continue Tiếp tục - + Load track to Deck %1 Tải ca khúc để boong %1 - + Deck %1 is currently playing a track. Sàn %1 đang phát một ca khúc. - + Are you sure you want to load a new track? Bạn có chắc bạn muốn tải một ca khúc mới không? - + There is no input device selected for this vinyl control. Please select an input device in the sound hardware preferences first. Có là không có thiết bị đầu vào, chọn này kiểm soát vinyl. Xin vui lòng chọn một thiết bị đầu vào trong ưa thích của phần cứng âm thanh đầu tiên. - + There is no input device selected for this passthrough control. Please select an input device in the sound hardware preferences first. Có là không có thiết bị đầu vào, chọn này kiểm soát passthrough. Xin vui lòng chọn một thiết bị đầu vào trong ưa thích của phần cứng âm thanh đầu tiên. - + There is no input device selected for this microphone. Do you want to select an input device? - + There is no input device selected for this auxiliary. Do you want to select an input device? - + Scan took %1 - + No changes detected. - - + + %1 tracks in total - + %1 new tracks found - + %1 moved tracks detected - + %1 tracks are missing (%2 total) - + %1 tracks have been rediscovered - + Library scan finished - + Error in skin file Lỗi trong tệp vẻ ngoài - + The selected skin cannot be loaded. Vẻ ngoài đã chọn không thể được nạp. - + OpenGL Direct Rendering Trực tiếp OpenGL Rendering - + Direct rendering is not enabled on your machine.<br><br>This means that the waveform displays will be very<br><b>slow and may tax your CPU heavily</b>. Either update your<br>configuration to enable direct rendering, or disable<br>the waveform displays in the Mixxx preferences by selecting<br>"Empty" as the waveform display in the 'Interface' section. - - - + + + Confirm Exit Xác nhận thoát - + A deck is currently playing. Exit Mixxx? Một sân hiện đang phát. Thoát khỏi Mixxx? - + A sampler is currently playing. Exit Mixxx? Một sampler hiện đang phát. Thoát khỏi Mixxx? - + The preferences window is still open. Cửa sổ tùy chọn là vẫn còn mở. - + Discard any changes and exit Mixxx? Loại bỏ bất kỳ thay đổi và thoát Mixxx? @@ -10123,13 +10458,13 @@ Do you want to select an input device? PlaylistFeature - + Lock Khóa - - + + Playlists Danh sách phát @@ -10139,58 +10474,63 @@ Do you want to select an input device? - + + Adopt current order + + + + Unlock all playlists - + Delete all unlocked playlists - + Unlock Mở khóa - - + + Confirm Deletion - + Do you really want to delete all unlocked playlists? - + Deleting %1 unlocked playlists.<br>This operation can not be undone! - + Playlists are ordered lists of tracks that allow you to plan your DJ sets. - + It may be necessary to skip some tracks in your prepared playlist or add some different tracks in order to maintain the energy of your audience. - + Some DJs construct playlists before they perform live, but others prefer to build them on-the-fly. Một số DJ xây dựng danh sách phát trước khi họ thực hiện trực tiếp, nhưng những người khác muốn xây dựng họ on-the-fly. - + When using a playlist during a live DJ set, remember to always pay close attention to how your audience reacts to the music you've chosen to play. Khi sử dụng một danh sách trong bộ DJ sống, hãy nhớ luôn luôn chú ý chặt chẽ đến như thế nào đối tượng của bạn phản ứng với âm nhạc bạn đã chọn để chơi. - + Create New Playlist Tạo danh sách chơi mới @@ -10289,59 +10629,59 @@ Do you want to select an input device? QMessageBox - + Upgrading Mixxx Nâng cấp Mixxx - + Mixxx now supports displaying cover art. Do you want to scan your library for cover files now? Mixxx bây giờ hỗ trợ hình ảnh bìa nghệ thuật. Bạn có muốn quét thư viện của bạn cho tệp bìa bây giờ? - + Scan Quét - + Later Sau đó - + Upgrading Mixxx from v1.9.x/1.10.x. Nâng cấp Mixxx từ v1.9.x/1.10.x. - + Mixxx has a new and improved beat detector. Mixxx có một mới và cải tiến phát hiện đánh bại. - + When you load tracks, Mixxx can re-analyze them and generate new, more accurate beatgrids. This will make automatic beatsync and looping more reliable. Khi bạn tải bài hát, Mixxx có thể tái phân tích chúng và tạo mới, chính xác hơn beatgrids. Điều này sẽ làm cho tự động beatsync và looping đáng tin cậy hơn. - + This does not affect saved cues, hotcues, playlists, or crates. Điều này hiện không ảnh hưởng đến lưu tín hiệu, hotcues, danh sách phát hoặc thùng. - + If you do not want Mixxx to re-analyze your tracks, choose "Keep Current Beatgrids". You can change this setting at any time from the "Beat Detection" section of the Preferences. Nếu bạn không muốn Mixxx để tái phân tích bài nhạc của bạn, chọn "Giữ hiện tại Beatgrids". Bạn có thể thay đổi cài đặt này bất kỳ lúc nào từ phần "Đánh bại phát hiện" của các ưu đãi. - + Keep Current Beatgrids Giữ hiện tại Beatgrids - + Generate New Beatgrids Tạo mới Beatgrids @@ -10455,69 +10795,82 @@ Bạn có muốn quét thư viện của bạn cho tệp bìa bây giờ?14-bit (MSB) - + Main + Audio path indetifier - + Booth + Audio path indetifier - + Headphones + Audio path indetifier Tai nghe - + Left Bus + Audio path indetifier Xe buýt bên trái - + Center Bus + Audio path indetifier Xe buýt Trung tâm - + Right Bus + Audio path indetifier Xe buýt bên phải - + Invalid Bus + Audio path indetifier Xe buýt không hợp lệ - + Deck + Audio path indetifier Sàn - + Record/Broadcast + Audio path indetifier - + Vinyl Control + Audio path indetifier Vinyl kiểm soát - + Microphone + Audio path indetifier Micro - + Auxiliary + Audio path indetifier Liên minh - + Unknown path type %1 + Audio path Đường dẫn không rõ loại %1 @@ -10846,47 +11199,49 @@ With width at zero, this allows for manually sweeping over the entire delay rang - + Metronome - + + The Mixxx Team - + Adds a metronome click sound to the stream - + BPM BPM - + Set the beats per minute value of the click sound - + Sync Đồng bộ - + Synchronizes the BPM with the track if it can be retrieved - + + Gain - + Set the gain of metronome click sound @@ -11670,14 +12025,14 @@ Fully right: end of the effect period - - + + encoder failure - - + + Failed to apply the selected settings. @@ -11883,15 +12238,86 @@ and the processed output signal as close as possible in perceived loudness + + Auto Gain Control + + + + + AGC + + + + + Auto Gain Control (AGC) automatically adjusts the gain of an audio signal to maintain a consistent output level. + + + + Threshold (dBFS) + Threshold + + + The Threshold knob adjusts the level above which the effect starts enhancing the input signal + + + + + Target (dBFS) + + + + + Target + + + + + The Target knob adjusts the desired target level of the output signal + + + + + Gain (dB) + + + + + The Gain knob adjusts the maximum amount of gain that the effect will apply + + + + + Knee (dB) + + + + + The Knee knob defines the range around the Threshold where gain changes are applied gradually, +ensuring smooth transitions and avoiding abrupt level shifts. + + + + + The Attack knob sets the time that determines how fast the auto gain +will set in once the signal exceeds the threshold + + + + + The Release knob sets the time that determines how fast the auto gain will recover from the gain +adjustment once the signal falls under the threshold. Depending on the input signal, short release times +may introduce a 'pumping' effect and/or distortion. + + The Threshold knob adjusts the level above which the compressor starts attenuating the input signal @@ -11920,6 +12346,7 @@ At a ratio of 1:1 no compression is happening, as the input is exactly the outpu + Knee @@ -11930,11 +12357,13 @@ At a ratio of 1:1 no compression is happening, as the input is exactly the outpu + Attack (ms) + Attack @@ -11946,11 +12375,13 @@ will set in once the signal exceeds the threshold + Release (ms) + Release @@ -11979,12 +12410,12 @@ may introduce a 'pumping' effect and/or distortion. - + built-in - + missing @@ -12019,42 +12450,42 @@ may introduce a 'pumping' effect and/or distortion. - + Empty - + Simple - + Filtered - + HSV - + VSyncTest - + RGB - + Stacked - + Unknown @@ -12315,193 +12746,193 @@ may introduce a 'pumping' effect and/or distortion. ShoutConnection - - + + Mixxx encountered a problem Mixxx phát hiện lỗi - + Could not allocate shout_t Không thể cấp phát shout_t - + Could not allocate shout_metadata_t Không thể cấp phát shout_metadata_t - + Error setting non-blocking mode: Lỗi cài đặt không chặn chế độ: - + Error setting tls mode: - + Error setting hostname! Lỗi cài đặt tên miền máy chủ! - + Error setting port! Lỗi cài đặt cổng! - + Error setting password! Lỗi cài đặt mật khẩu! - + Error setting mount! Lỗi cài đặt núi! - + Error setting username! Lỗi cài đặt tên người dùng! - + Error setting stream name! Lỗi thiết lập dòng tên! - + Error setting stream description! Lỗi cài đặt dòng mô tả! - + Error setting stream genre! Lỗi cài đặt stream thể loại! - + Error setting stream url! Lỗi cài đặt stream url! - + Error setting stream IRC! - + Error setting stream AIM! - + Error setting stream ICQ! - + Error setting stream public! Lỗi cài đặt dòng công cộng! - + Unknown stream encoding format! - + Use a libshout version with %1 enabled - + Error setting stream encoding format! - + Broadcasting at 96 kHz with Ogg Vorbis is not currently supported. Please try a different sample rate or switch to a different encoding. - + See https://github.com/mixxxdj/mixxx/issues/5701 for more information. - + Unsupported sample rate - + Error setting bitrate Lỗi cài đặt bitrate - + Error: unknown server protocol! Lỗi: giao thức máy chủ không rõ! - + Error: Shoutcast only supports MP3 and AAC encoders - + Error setting protocol! Lỗi cài đặt giao thức! - + Network cache overflow - + Connection error - + One of the Live Broadcasting connections raised this error:<br><b>Error with connection '%1':</b><br> - + Connection message - + <b>Message from Live Broadcasting connection '%1':</b><br> - + Lost connection to streaming server and %1 attempts to reconnect have failed. - + Lost connection to streaming server. - + Please check your connection to the Internet. - + Can't connect to streaming server Không thể kết nối với máy chủ streaming - + Please check your connection to the Internet and verify that your username and password are correct. Xin vui lòng kiểm tra kết nối Internet của bạn và xác minh rằng tên người dùng và mật khẩu của bạn là chính xác. @@ -12509,7 +12940,7 @@ may introduce a 'pumping' effect and/or distortion. SoftwareWaveformWidget - + Filtered Lọc @@ -12517,23 +12948,23 @@ may introduce a 'pumping' effect and/or distortion. SoundManager - - + + a device một thiết bị - + An unknown error occurred Lỗi không biết xảy ra - + Two outputs cannot share channels on "%1" - + Error opening "%1" @@ -12718,7 +13149,7 @@ may introduce a 'pumping' effect and/or distortion. - + Spinning Vinyl Quay Vinyl @@ -12900,7 +13331,7 @@ may introduce a 'pumping' effect and/or distortion. - + Cover Art Bìa @@ -13090,243 +13521,243 @@ may introduce a 'pumping' effect and/or distortion. Giữ độ lợi EQ thấp bằng không trong khi hoạt động. - + Displays the tempo of the loaded track in BPM (beats per minute). Hiển thị tiến độ của đường nạp trong BPM (nhịp mỗi phút). - + Tempo Tiến độ - + Key The musical key of a track Chìa khóa - + BPM Tap BPM Tap - + When tapped repeatedly, adjusts the BPM to match the tapped BPM. Khi khai thác liên tục, điều chỉnh BPM để phù hợp với tapped BPM. - + Adjust BPM Down Điều chỉnh BPM xuống - + When tapped, adjusts the average BPM down by a small amount. Khi khai thác, điều chỉnh trung bình BPM xuống bởi một số lượng nhỏ. - + Adjust BPM Up Điều chỉnh BPM lên - + When tapped, adjusts the average BPM up by a small amount. Khi khai thác, điều chỉnh BPM trung bình lên bởi một số lượng nhỏ. - + Adjust Beats Earlier Điều chỉnh nhịp đập trước đó - + When tapped, moves the beatgrid left by a small amount. Khi khai thác, di chuyển beatgrid rời bởi một số lượng nhỏ. - + Adjust Beats Later Điều chỉnh nhịp đập sau - + When tapped, moves the beatgrid right by a small amount. Khi khai thác, di chuyển beatgrid ngay bởi một số lượng nhỏ. - + Tempo and BPM Tap Tiến độ và BPM Tap - + Show/hide the spinning vinyl section. Hiển thị/ẩn phần vinyl quay. - + Keylock - + Toggling keylock during playback may result in a momentary audio glitch. - + Toggle visibility of Loop Controls - + Toggle visibility of Beatjump Controls - + Toggle visibility of Rate Control - + Toggle visibility of Key Controls - + (while previewing) - + Places a cue point at the current position on the waveform. - + Stops track at cue point, OR go to cue point and play after release (CUP mode). - + Set cue point (Pioneer/Mixxx/Numark mode), set cue point and play after release (CUP mode) OR preview from it (Denon mode). - + Is latching the playing state. - + Seeks the track to the cue point and stops. - + Play Chơi - + Plays track from the cue point. - + Sends the selected channel's audio to the headphone output, selected in Preferences -> Sound Hardware. - + (This skin should be updated to use Sync Lock!) - + Enable Sync Lock - + Tap to sync the tempo to other playing tracks or the sync leader. - + Enable Sync Leader - + When enabled, this device will serve as the sync leader for all other decks. - + This is relevant when a dynamic tempo track is loaded to a sync leader deck.In that case, other synced devices will adopt the changing tempo. - + Changes the track playback speed (affects both the tempo and the pitch). If keylock is enabled, only the tempo is affected. - + Tempo Range Display - + Displays the current range of the tempo slider. - + Un-ejects when no track is loaded, i.e. reloads the track that was ejected last (of any deck). - + Delete selected hotcue. - + Track Comment - + Displays the comment tag of the loaded track. - + Opens separate artwork viewer. - + Effect Chain Preset Settings - + Show the effect chain settings menu for this unit. - + Select and configure a hardware device for this input - + Recording Duration @@ -13549,947 +13980,982 @@ may introduce a 'pumping' effect and/or distortion. - + When tapped repeatedly, adjusts the tempo to match the tapped BPM. + + + Click to open the tempo/BPM editor + + + + + It also shows a colored bar if Key colors are enabled in the Preferences. + + + The bar will be split vertically if the track's key is in between full keys. + + + + Tempo Tap - + Rate Tap and BPM Tap - + + Set Tempo + + + + + Set the desired tempo in BPM. If the track currently has no BPM detected, set the desired tempo in percent. + + + + Adjust beatgrid by exactly one half beat. Usable only on tracks with constant tempo. - + Revert last BPM/Beatgrid Change - + Revert last BPM/Beatgrid Change of the loaded track. - - + + Toggle the BPM/beatgrid lock - + Tempo and Rate Tap - + Tempo, Rate Tap and BPM Tap - + Shift cues earlier - - + + Shift cues imported from Serato or Rekordbox if they are slightly off time. - + Left click: shift 10 milliseconds earlier - + Right click: shift 1 millisecond earlier - + Shift cues later - + Left click: shift 10 milliseconds later - + Right click: shift 1 millisecond later - - - + + + Drag a Hotcue button here to continue playing after releasing the Hotcue. - + Hint: Change the default cue mode in Preferences -> Decks. - + Mutes the selected channel's audio in the main output. - + Main mix enable - + Hold or short click for latching to mix this input into the main output. - + + Reloads the last replaced track. If no track is loaded reloads the second-last ejected track. + + + + If hotcue is a loop cue, toggles the loop and jumps to if the loop is behind the play position. - + If the play position is inside an active loop, stores the loop as loop cue. - + Drag this button onto another Hotcue button to move it there (change its index). If the other hotcue is set, the two are swapped. - + Expand/Collapse Samplers - + Toggle expanded samplers view. - + Displays the duration of the running recording. - + Auto DJ is active - + Red for when needle skip has been detected. - + Hot Cue - Track will seek to nearest previous hotcue point. - + Sets the track Loop-In Marker to the current play position. - + Press and hold to move Loop-In Marker. - + Jump to Loop-In Marker. - + Sets the track Loop-Out Marker to the current play position. - + Press and hold to move Loop-Out Marker. - + Jump to Loop-Out Marker. - + If the track has no beats the unit is seconds. - + Beatloop Size - + Select the size of the loop in beats to set with the Beatloop button. - + Changing this resizes the loop if the loop already matches this size. - + Halve the size of an existing beatloop, or halve the size of the next beatloop set with the Beatloop button. - + Double the size of an existing beatloop, or double the size of the next beatloop set with the Beatloop button. - + Start a loop over the set number of beats. - + Temporarily enable a rolling loop over the set number of beats. - + Beatloop Anchor - + Define whether the loop is created and adjusted from its staring point or ending point. - + Beatjump/Loop Move Size - + Select the number of beats to jump or move the loop with the Beatjump Forward/Backward buttons. - + Beatjump Forward - + Jump forward by the set number of beats. - + Move the loop forward by the set number of beats. - + Jump forward by 1 beat. - + Move the loop forward by 1 beat. - + Beatjump Backward - + Jump backward by the set number of beats. - + Move the loop backward by the set number of beats. - + Jump backward by 1 beat. - + Move the loop backward by 1 beat. - + Reloop - + If the loop is ahead of the current position, looping will start when the loop is reached. - + Works only if Loop-In and Loop-Out Marker are set. - + Enable loop, jump to Loop-In Marker, and stop playback. - + Displays the elapsed and/or remaining time of the track loaded. - + Click to toggle between time elapsed/remaining time/both. - + Hint: Change the time format in Preferences -> Decks. - + Show/hide intro & outro markers and associated buttons. - + + Ensure all waveforms to have the same height across all channels. By default, when displaying the stem controls, waveform for channel that have no stem may render with a shorter height in order to honor the waveform container size you have requested.. + + + + Intro Start Marker - - - - + + + + If marker is set, jumps to the marker. - - - - + + + + If marker is not set, sets the marker to the current play position. - - - - + + + + If marker is set, clears the marker. - + Intro End Marker - + Outro Start Marker - + Outro End Marker - + Mix - + Adjust the mixing of the dry (input) signal with the wet (output) signal of the effect unit - + D/W mode: Crossfade between dry and wet - + D+W mode: Add wet to dry - + Mix Mode - + Adjust how the dry (input) signal is mixed with the wet (output) signal of the effect unit - + Dry/Wet mode (crossed lines): Mix knob crossfades between dry and wet Use this to change the sound of the track with EQ and filter effects. - + Dry+Wet mode (flat dry line): Mix knob adds wet to dry Use this to change only the effected (wet) signal with EQ and filter effects. - + Route the main mix through this effect unit. - + Route the left crossfader bus through this effect unit. - + Route the right crossfader bus through this effect unit. - + Right side active: parameter moves with right half of Meta Knob turn - + Stem Label - + Name of the stem stored in the stem file - + Text is displayed in the stem color stored in the stem file - + this stem color is also used for the waveform of this stem - + Stem Mute - + Toggle the stem mute/unmuted - + Stem Volume Knob - + Adjusts the volume of the stem - + Skin Settings Menu - + Show/hide skin settings menu - + Save Sampler Bank Lưu Sampler ngân hàng - + Save the collection of samples loaded in the samplers. - + Load Sampler Bank Tải Sampler ngân hàng - + Load a previously saved collection of samples into the samplers. - + Show Effect Parameters - + Enable Effect - + Meta Knob Link - + Set how this parameter is linked to the effect's Meta Knob. - + Meta Knob Link Inversion - + Inverts the direction this parameter moves when turning the effect's Meta Knob. - + Super Knob Siêu Knob - + Next Chain Tiếp theo chuỗi - + Previous Chain Chuỗi trước - + Next/Previous Chain Kế tiếp/trước Chuỗi - + Clear Rõ ràng - + Clear the current effect. Rõ ràng các hiệu ứng hiện tại. - + Toggle Chuyển đổi - + Toggle the current effect. Chuyển đổi có hiệu lực hiện tại. - + Next Tiếp theo - + Clear Unit Rõ ràng đơn vị - + Clear effect unit. Đơn vị có hiệu lực rõ ràng. - + Show/hide parameters for effects in this unit. - + Toggle Unit Chuyển đổi đơn vị - + Enable or disable this whole effect unit. - + Controls the Meta Knob of all effects in this unit together. - + Load next effect chain preset into this effect unit. - + Load previous effect chain preset into this effect unit. - + Load next or previous effect chain preset into this effect unit. - - - - - - - - - + + + + + + + + + Assign Effect Unit - + Assign this effect unit to the channel output. - + Route the headphone channel through this effect unit. - + Route this deck through the indicated effect unit. - + Route this sampler through the indicated effect unit. - + Route this microphone through the indicated effect unit. - + Route this auxiliary input through the indicated effect unit. - + The effect unit must also be assigned to a deck or other sound source to hear the effect. - + Switch to the next effect. Chuyển sang kế tiếp có hiệu lực. - + Previous Trước đó - + Switch to the previous effect. Chuyển đổi để có hiệu lực trước đó. - + Next or Previous Kế tiếp hoặc trước đó - + Switch to either the next or previous effect. Chuyển sang một trong hai tác dụng kế tiếp hoặc trước đó. - + Meta Knob - + Controls linked parameters of this effect - + Effect Focus Button - + Focuses this effect. - + Unfocuses this effect. - + Refer to the web page on the Mixxx wiki for your controller for more information. - + Effect Parameter Có hiệu lực tham số - + Adjusts a parameter of the effect. Điều chỉnh các thông số của hiệu lực. - + Inactive: parameter not linked - + Active: parameter moves with Meta Knob - + Left side active: parameter moves with left half of Meta Knob turn - + Left and right side active: parameter moves across range with half of Meta Knob turn and back with the other half - - + + Equalizer Parameter Kill Bộ chỉnh âm tham số giết - - + + Holds the gain of the EQ to zero while active. Tổ chức đạt được của các EQ bằng không trong khi hoạt động. - + Quick Effect Super Knob Hiệu ứng nhanh siêu Knob - + Quick Effect Super Knob (control linked effect parameters). Nhanh chóng có hiệu lực Super Knob (kiểm soát tham số liên kết có hiệu lực). - + Hint: Change the default Quick Effect mode in Preferences -> Equalizers. Gợi ý: Các thay đổi chế độ có hiệu lực nhanh chóng mặc định trong tuỳ chọn-> Equalizers. - + Equalizer Parameter Bộ chỉnh âm tham số - + Adjusts the gain of the EQ filter. Điều chỉnh độ lợi của các bộ lọc EQ. - + Hint: Change the default EQ mode in Preferences -> Equalizers. Gợi ý: Các thay đổi chế độ EQ mặc định trong tuỳ chọn-> Equalizers. - - + + Adjust Beatgrid Điều chỉnh Beatgrid - + Adjust beatgrid so the closest beat is aligned with the current play position. Điều chỉnh beatgrid để đánh bại gần nhất liên kết với vị trí chơi hiện tại. - - + + Adjust beatgrid to match another playing deck. Điều chỉnh beatgrid để phù hợp với một sân chơi. - + If quantize is enabled, snaps to the nearest beat. Nếu quantize được kích hoạt, snaps để đánh bại gần nhất. - + Quantize Quantize - + Toggles quantization. Bật tắt sự lượng tử hóa. - + Loops and cues snap to the nearest beat when quantization is enabled. Vòng và tín hiệu snap để đánh bại gần nhất khi sự lượng tử hóa được kích hoạt. - + Reverse Đảo ngược - + Reverses track playback during regular playback. Ảnh theo dõi phát lại trong khi phát lại thường xuyên. - + Puts a track into reverse while being held (Censor). Đặt một ca khúc vào đảo ngược trong khi được tổ chức (kiểm duyệt). - + Playback continues where the track would have been if it had not been temporarily reversed. Phát lại tiếp tục nơi đường sẽ có là nếu nó đã không được tạm thời đảo ngược. - - - + + + Play/Pause Phát/tạm dừng - + Jumps to the beginning of the track. Nhảy tới bắt đầu theo dõi. - + Syncs the tempo (BPM) and phase to that of the other track, if BPM is detected on both. Đồng bộ tiến độ (BPM) và các giai đoạn của đường khác, nếu BPM được phát hiện trên cả hai. - + Syncs the tempo (BPM) to that of the other track, if BPM is detected on both. Đồng bộ tiến độ (BPM) của các ca khúc khác, nếu BPM được phát hiện trên cả hai. - + Sync and Reset Key Đồng bộ và thiết lập lại phím - + Increases the pitch by one semitone. Tăng sân một semitone. - + Decreases the pitch by one semitone. Giảm trong trận đấu bởi một semitone. - + Enable Vinyl Control Cho phép điều khiển Vinyl - + When disabled, the track is controlled by Mixxx playback controls. Khi tắt, theo dõi được điều khiển bởi Mixxx phát lại điều khiển. - + When enabled, the track responds to external vinyl control. Khi kích hoạt, theo dõi phản ứng để kiểm soát bên ngoài nhựa vinyl. - + Enable Passthrough Sử Passthrough - + Indicates that the audio buffer is too small to do all audio processing. Chỉ ra rằng các bộ đệm âm thanh quá nhỏ để làm tất cả âm thanh xử lý. - + Displays cover artwork of the loaded track. Hiển thị bao gồm các tác phẩm nghệ thuật của các ca khúc được nạp. - + Displays options for editing cover artwork. Hiển thị các tùy chọn để chỉnh sửa bìa. - + Star Rating Xếp hạng sao - + Assign ratings to individual tracks by clicking the stars. Gán xếp hạng cho bài hát riêng lẻ bằng cách nhấp vào các ngôi sao. @@ -14624,33 +15090,33 @@ Use this to change only the effected (wet) signal with EQ and filter effects. - + Prevents the pitch from changing when the rate changes. Ngăn chặn sân thay đổi khi tốc độ thay đổi. - + Changes the number of hotcue buttons displayed in the deck - + Starts playing from the beginning of the track. Bắt đầu phát từ sự khởi đầu của đường đua. - + Jumps to the beginning of the track and stops. Nhảy tới bắt đầu theo dõi và dừng lại. - - + + Plays or pauses the track. Phát hoặc tạm dừng theo dõi. - + (while playing) (trong khi chơi) @@ -14670,215 +15136,215 @@ Use this to change only the effected (wet) signal with EQ and filter effects. - + (while stopped) (trong khi dừng lại) - + Cue Cue - + Headphone Tai nghe - + Mute Tắt tiếng - + Old Synchronize Old đồng bộ hóa - + Syncs to the first deck (in numerical order) that is playing a track and has a BPM. Đồng bộ đến tầng đầu tiên (theo thứ tự số) mà đang phát một ca khúc và có một BPM. - + If no deck is playing, syncs to the first deck that has a BPM. Nếu không có Sân chơi, đồng bộ đến tầng đầu tiên có một BPM. - + Decks can't sync to samplers and samplers can only sync to decks. Sàn không thể đồng bộ để lấy mẫu và lấy mẫu có thể chỉ đồng bộ với sàn. - + Hold for at least a second to enable sync lock for this deck. Giữ cho một thứ hai để cho phép đồng bộ khóa cho boong này. - + Decks with sync locked will all play at the same tempo, and decks that also have quantize enabled will always have their beats lined up. Sàn với đồng bộ khóa sẽ chơi tất cả ở cùng một tiến độ, và sàn tàu cũng có quantize kích hoạt sẽ luôn luôn có nhịp đập của họ xếp hàng. - + Resets the key to the original track key. Đặt lại chìa khóa đến chính ca khúc ban đầu. - + Speed Control Kiểm soát tốc độ - - - + + + Changes the track pitch independent of the tempo. Thay đổi sân theo dõi độc lập tiến độ. - + Increases the pitch by 10 cents. Tăng sân 10 cent. - + Decreases the pitch by 10 cents. Làm giảm độ cao thấp của 10 cent. - + Pitch Adjust Điều chỉnh pitch - + Adjust the pitch in addition to the speed slider pitch. Điều chỉnh sân ngoài sân trượt tốc độ. - + Opens a menu to clear hotcues or edit their labels and colors. - + Drag this button onto a Play button while previewing to continue playback after release. - + Dragging with Shift key pressed will not start previewing the hotcue. - + Record Mix Ghi kết hợp - + Toggle mix recording. Chuyển đổi kết hợp ghi âm. - + Enable Live Broadcasting Kích hoạt tính năng sống phát sóng - + Stream your mix over the Internet. Dòng hỗn hợp của bạn qua Internet. - + Provides visual feedback for Live Broadcasting status: Cung cấp phản hồi thị giác cho Live phát thanh truyền tình trạng: - + disabled, connecting, connected, failure. vô hiệu hóa, kết nối, kết nối, thất bại. - + When enabled, the deck directly plays the audio arriving on the vinyl input. Khi kích hoạt, tầng trực tiếp phát âm thanh đến ngày vinyl đầu vào. - + Playback will resume where the track would have been if it had not entered the loop. Phát lại sẽ tiếp tục nơi đường sẽ có là nếu nó đã không nhập vào vòng lặp. - + Loop Exit Thoát khỏi vòng lặp - + Turns the current loop off. Tắt các vòng lặp hiện tại. - + Slip Mode Chế độ chống trượt - + When active, the playback continues muted in the background during a loop, reverse, scratch etc. Khi hoạt động, phát lại tiếp tục tắt trong nền trong một đầu đảo ngược, vòng lặp, vv. - + Once disabled, the audible playback will resume where the track would have been. Sau khi vô hiệu hóa, phát lại âm thanh sẽ tiếp tục nơi đường sẽ có. - + Track Key The musical key of a track Theo dõi các phím - + Displays the musical key of the loaded track. Hiển thị phím âm nhạc của ca khúc được nạp. - + Clock Đồng hồ - + Displays the current time. Hiển thị thời gian hiện tại. - + Audio Latency Usage Meter Độ trễ âm thanh sử dụng đồng hồ - + Displays the fraction of latency used for audio processing. Hiển thị các phần của độ trễ được sử dụng để xử lý âm thanh. - + A high value indicates that audible glitches are likely. Một giá trị cao cho thấy rằng âm thanh ổn định có khả năng. - + Do not enable keylock, effects or additional decks in this situation. Không cho phép khóa bàn phím, hiệu ứng hoặc bổ sung sàn trong tình huống này. - + Audio Latency Overload Indicator Âm thanh độ trễ quá tải chỉ số @@ -14918,259 +15384,259 @@ Use this to change only the effected (wet) signal with EQ and filter effects.Kích hoạt Vinyl kiểm soát từ trình đơn-> tùy chọn. - + Displays the current musical key of the loaded track after pitch shifting. Hiển thị phím âm nhạc hiện tại theo dõi tải sau Sân chuyển. - + Fast Rewind Tua nhanh - + Fast rewind through the track. Tua lại nhanh thông qua đường. - + Fast Forward Tua đi - + Fast forward through the track. Nhanh chóng chuyển tiếp thông qua theo dõi. - + Jumps to the end of the track. Nhảy đến cuối đường. - + Sets the pitch to a key that allows a harmonic transition from the other track. Requires a detected key on both involved decks. Sets sân cho một phím cho phép sự chuyển tiếp điều hòa từ các ca khúc khác. Yêu cầu một khoá được phát hiện trên cả hai sàn tham gia. - - - + + + Pitch Control Kiểm soát Sân - + Pitch Rate Tỷ lệ pitch - + Displays the current playback rate of the track. Hiển thị mức độ phát hiện tại theo dõi. - + Repeat Lặp lại - + When active the track will repeat if you go past the end or reverse before the start. Khi hoạt động theo dõi sẽ lặp lại nếu bạn đi qua cuối cùng hoặc ngược lại trước khi bắt đầu. - + Eject Đẩy ra - + Ejects track from the player. Đẩy ra theo dõi từ người chơi. - + Hotcue Hotcue - + If hotcue is set, jumps to the hotcue. Nếu hotcue được thiết lập, nhảy vào hotcue. - + If hotcue is not set, sets the hotcue to the current play position. Nếu hotcue không được thiết lập, đặt hotcue vị trí chơi hiện tại. - + Vinyl Control Mode Vinyl kiểm soát chế độ - + Absolute mode - track position equals needle position and speed. Chế độ tuyệt đối - theo dõi vị trí bằng kim vị trí và tốc độ. - + Relative mode - track speed equals needle speed regardless of needle position. Chế độ tương đối - theo dõi tốc độ bằng kim tốc độ bất kể vị trí kim. - + Constant mode - track speed equals last known-steady speed regardless of needle input. Chế độ liên tục - theo dõi tốc độ bằng cuối cùng được biết đến-tăng tốc độ bất kể kim đầu vào. - + Vinyl Status Tình trạng vinyl - + Provides visual feedback for vinyl control status: Cung cấp phản hồi thị giác cho vinyl kiểm soát tình trạng: - + Green for control enabled. Màu xanh lá cây để kiểm soát được kích hoạt. - + Blinking yellow for when the needle reaches the end of the record. Nhấp nháy màu vàng cho khi kim đạt đến sự kết thúc của kỷ lục. - + Loop-In Marker Vòng lặp trong điểm đánh dấu - + Loop-Out Marker - + Loop Halve Loop giảm một nửa - + Halves the current loop's length by moving the end marker. Halves vòng lặp hiện tại chiều dài bằng cách di chuyển các điểm đánh dấu kết thúc. - + Deck immediately loops if past the new endpoint. Boong ngay lập tức vòng nếu qua điểm cuối mới. - + Loop Double Vòng lặp đôi - + Doubles the current loop's length by moving the end marker. Tăng gấp đôi chiều dài của vòng lặp hiện tại bằng cách di chuyển các điểm đánh dấu kết thúc. - + Beatloop - + Toggles the current loop on or off. Bật tắt vòng lặp hiện tại hoặc tắt. - + Works only if Loop-In and Loop-Out marker are set. Chỉ khi vòng lặp trong các công trình và điểm đánh dấu Loop-Out được thiết lập. - + Vinyl Cueing Mode Vinyl Cueing chế độ - + Determines how cue points are treated in vinyl control Relative mode: Xác định cách cue điểm được điều trị trong vinyl kiểm soát tương đối chế độ: - + Off - Cue points ignored. Off - Cue điểm bỏ qua. - + One Cue - If needle is dropped after the cue point, track will seek to that cue point. Một Cue - nếu kim sẽ bị ngắt sau cue điểm, theo dõi sẽ tìm đến thời điểm cue. - + Track Time Theo dõi thời gian - + Track Duration Theo dõi thời gian - + Displays the duration of the loaded track. Hiển thị thời gian theo dõi được nạp. - + Information is loaded from the track's metadata tags. Thông tin được nạp từ thẻ siêu dữ liệu của con đường mòn. - + Track Artist Nghệ sĩ theo dõi - + Displays the artist of the loaded track. Hiển thị các nghệ sĩ theo dõi nạp. - + Track Title Theo dõi các tiêu đề - + Displays the title of the loaded track. Hiển thị tiêu đề của các ca khúc được nạp. - + Track Album Theo dõi Album - + Displays the album name of the loaded track. Hiển thị tên album theo dõi nạp. - + Track Artist/Title Theo dõi các nghệ sĩ/tiêu đề - + Displays the artist and title of the loaded track. Hiển thị các nghệ sĩ và tiêu đề của các ca khúc được nạp. @@ -15398,47 +15864,75 @@ This can not be undone! WCueMenuPopup - + Cue number - + Cue position - + Edit cue label - + Label... - + Delete this cue - - Toggle this cue type between normal cue and saved loop + + Turn this cue into a regular hotcue + + + + + Turn this cue into a saved loop + + + + + Left-click: Use the old size if known or the current beatloop size as the loop size + + + + + Right-click: Use the current play position as new loop end if it is after the cue + + + + + Turn this cue into a saved forward jump. + + is a linebreak. Try to not to extend the translation beyond the length of the longest source line so the tooltip remains compact. + + + + + Turn this cue into a saved backward jump (one shot loop). - - Left-click: Use the old size or the current beatloop size as the loop size + + Left-click: Use the old size if known or the current play position as jump start position +If this is already a jump cue, swap the jump position and the cue/target position. - - Right-click: Use the current play position as loop end if it is after the cue + + Right-click: use current play position as new jump start position - + Hotcue #%1 @@ -15740,171 +16234,181 @@ This can not be undone! + Show Auto DJ + + + + + Switch to the Auto DJ view. + + + + &Full Screen & Toàn màn hình - + Display Mixxx using the full screen Hiển thị Mixxx bằng cách sử dụng toàn màn hình - + &Options & Tùy chọn - + &Vinyl Control & Vinyl kiểm soát - + Use timecoded vinyls on external turntables to control Mixxx Sử dụng timecoded vinyls trên bên ngoài xoay để kiểm soát Mixxx - + Enable Vinyl Control &%1 Kích hoạt tính năng Vinyl kiểm soát & %1 - + &Record Mix & Ghi kết hợp - + Record your mix to a file Ghi lại hỗn hợp của bạn vào một tập tin - + Ctrl+R Ctrl + R - + Enable Live &Broadcasting Sử sống & phát thanh truyền - + Stream your mixes to a shoutcast or icecast server Dòng hỗn hợp của bạn đến một máy chủ shoutcast hoặc icecast - + Ctrl+L Ctrl + L - + Enable &Keyboard Shortcuts Kích hoạt tính năng & phím tắt - + Toggles keyboard shortcuts on or off Chuyển phím tắt Baät hoaëc taét - + Ctrl+` Ctrl +' - + &Preferences & Sở thích - + Change Mixxx settings (e.g. playback, MIDI, controls) Thay đổi cài đặt Mixxx (ví dụ như các điều khiển phát lại, MIDI) - + &Developer & Phát triển - + &Reload Skin & Tải lại da - + Reload the skin Tải lại da - + Ctrl+Shift+R Ctrl + Shift + R - + Developer &Tools Công cụ phát triển & - + Opens the developer tools dialog Mở hộp thoại công cụ phát triển - + Ctrl+Shift+T Ctrl + Shift + T - + Stats: &Experiment Bucket Thống kê: & thử nghiệm Xô - + Enables experiment mode. Collects stats in the EXPERIMENT tracking bucket. Cho phép thử nghiệm chế độ. Thu thập số liệu thống kê trong thử nghiệm theo dõi thùng. - + Ctrl+Shift+E Ctrl + Shift + E - + Stats: &Base Bucket Thống kê: & căn cứ Xô - + Enables base mode. Collects stats in the BASE tracking bucket. Cho phép cơ sở chế độ. Thu thập số liệu thống kê căn cứ theo dõi Xô. - + Ctrl+Shift+B Ctrl + Shift + B - + Deb&ugger Enabled Deb & ugger đã bật - + Enables the debugger during skin parsing Cho phép trình gỡ lỗi trong da phân tích - + Ctrl+Shift+D Ctrl + Shift + D - + &Help & Trợ giúp @@ -15938,62 +16442,62 @@ This can not be undone! - + &Community Support & Hỗ trợ cộng đồng - + Get help with Mixxx Nhận trợ giúp với Mixxx - + &User Manual & Hướng dẫn sử dụng - + Read the Mixxx user manual. Đọc hướng dẫn sử dụng Mixxx. - + &Keyboard Shortcuts & Phím tắt - + Speed up your workflow with keyboard shortcuts. Tăng tốc độ công việc của bạn với phím tắt. - + &Settings directory - + Open the Mixxx user settings directory. - + &Translate This Application & Dịch ứng dụng này - + Help translate this application into your language. Giúp chúng tôi dịch ứng dụng này sang ngôn ngữ của bạn. - + &About & Giới thiệu - + About the application Về ứng dụng @@ -16001,25 +16505,25 @@ This can not be undone! WOverview - + Passthrough - + Ready to play, analyzing... Text on waveform overview when file is playable but no waveform is visible - - + + Loading track... Text on waveform overview when file is cached from source - + Finalizing... Text on waveform overview during finalizing of waveform analysis @@ -16209,625 +16713,640 @@ This can not be undone! WTrackMenu - + Load to - + Deck Sàn - + Sampler Sampler - + Add to Playlist Thêm vào danh sách chơi - + Crates Thùng - + Metadata - + Update external collections - + Cover Art Bìa - + Adjust BPM - + Select Color - - + + Analyze Phân tích - - + + Delete Track Files - + Add to Auto DJ Queue (bottom) Thêm vào hàng đợi DJ tự động (phía dưới) - + Add to Auto DJ Queue (top) Thêm vào hàng đợi DJ tự động (top) - + Add to Auto DJ Queue (replace) - + Preview Deck Xem trước sàn - + Remove Loại bỏ - + Remove from Playlist - + Remove from Crate - + Hide from Library Ẩn từ thư viện - + Unhide from Library Bỏ ẩn từ thư viện - + Purge from Library Xoá khỏi thư viện - + Move Track File(s) to Trash - + Delete Files from Disk - + Properties Thuộc tính - + Open in File Browser Mở trong trình duyệt tập tin - + Select in Library - + Import From File Tags - + Import From MusicBrainz - + Export To File Tags - + BPM and Beatgrid - + Play Count - + Rating Đánh giá - + Cue Point - - + + Hotcues Hotcues - + Intro - + Outro - + Key Chìa khóa - + ReplayGain - + Waveform - + Comment Bình luận - + All Tất cả - + Sort hotcues by position (remove offsets) - + Sort hotcues by position - + Lock BPM Khóa BPM - + Unlock BPM Mở khóa BPM - + Double BPM Đôi BPM - + Halve BPM Giảm một nửa BPM - + 2/3 BPM 2/3 BPM - + 3/4 BPM 3/4 BPM - + 4/3 BPM - + 3/2 BPM - + Shift Beatgrid Half Beat - + Reanalyze - + Reanalyze (constant BPM) - + Reanalyze (variable BPM) - + Update ReplayGain from Deck Gain - + Deck %1 Sàn %1 - + Importing metadata of %n track(s) from file tags - + Marking metadata of %n track(s) to be exported into file tags - - + + Create New Playlist Tạo danh sách chơi mới - + Enter name for new playlist: Nhập tên cho danh sách phát mới: - + New Playlist Danh sách chơi mới - - - + + + Playlist Creation Failed Sáng tạo danh sách phát đã thất bại - + A playlist by that name already exists. Một danh sách tên đó đã tồn tại. - + A playlist cannot have a blank name. Một danh sách không thể có một tên trống. - + An unknown error occurred while creating playlist: Lỗi không biết xảy ra trong khi tạo danh sách chơi: - + Add to New Crate - + Scaling BPM of %n track(s) - + Undo BPM/beats change of %n track(s) - + Locking BPM of %n track(s) - + Unlocking BPM of %n track(s) - + Setting rating of %n track(s) - + Setting color of %n track(s) - + Resetting play count of %n track(s) - + Resetting beats of %n track(s) - + Clearing rating of %n track(s) - + Clearing comment of %n track(s) - + Removing main cue from %n track(s) - + Removing outro cue from %n track(s) - + Removing intro cue from %n track(s) - + Removing loop cues from %n track(s) - + Removing hot cues from %n track(s) - + Sorting hotcues of %n track(s) by position (remove offsets) - + Sorting hotcues of %n track(s) by position - + Resetting keys of %n track(s) - + Resetting replay gain of %n track(s) - + Resetting waveform of %n track(s) - + Resetting all performance metadata of %n track(s) - + Move these files to the trash bin? - + Permanently delete these files from disk? - - + + This can not be undone! - + Cancel Hủy bỏ - + Delete Files - + Okay - + Move Track File(s) to Trash? - + Track Files Deleted - + Track Files Moved To Trash - + %1 track files were moved to trash and purged from the Mixxx database. - + %1 track files were deleted from disk and purged from the Mixxx database. - + Track File Deleted - + Track file was deleted from disk and purged from the Mixxx database. - + The following %1 file(s) could not be deleted from disk - + This track file could not be deleted from disk - + Remaining Track File(s) - + Close Đóng - + Clear Reset metadata in right click track context menu in library - + Loops - + Clear BPM and Beatgrid - + Undo last BPM/beats change - + Move this track file to the trash bin? - + Permanently delete this track file from disk? - + All decks where these tracks are loaded will be stopped and the tracks will be ejected. - + All decks where this track is loaded will be stopped and the track will be ejected. - + Removing %n track file(s) from disk... - + Note: if you are in the Computer or Recording view you need to click the current view again to see changes. - + Track File Moved To Trash - + Track file was moved to trash and purged from the Mixxx database. - + Don't show again during this session - + The following %1 file(s) could not be moved to trash - + This track file could not be moved to trash + + + Replace current Auto DJ queue? + + + + + Do you want to replace the entire Auto DJ queue with the selected tracks? + + + + + Don't ask again during this session + + - + Setting cover art of %n track(s) - + Reloading cover art of %n track(s) @@ -16881,37 +17400,37 @@ This can not be undone! WTrackTableView - + Confirm track hide - + Are you sure you want to hide the selected tracks? - + Are you sure you want to remove the selected tracks from AutoDJ queue? - + Are you sure you want to remove the selected tracks from this crate? - + Are you sure you want to remove the selected tracks from this playlist? - + Don't ask again during this session - + Confirm track removal @@ -16919,12 +17438,12 @@ This can not be undone! WTrackTableViewHeader - + Show or hide columns. Hiện hoặc ẩn cột. - + Shuffle Tracks @@ -16932,52 +17451,52 @@ This can not be undone! mixxx::CoreServices - + fonts - + database - + effects - + audio interface - + decks - + library - + Choose music library directory Chọn âm nhạc thư viện thư mục - + controllers - + Cannot open database Không thể mở cơ sở dữ liệu - + Unable to establish a database connection. Mixxx requires QT with SQLite support. Please read the Qt SQL driver documentation for information on how to build it. @@ -17134,6 +17653,24 @@ Nhấp vào OK để thoát. + + mixxx::qml::QmlApplication + + + Existing user profile detected + + + + + Trying to run Mixxx 3.0 with an existing %0 user profile! <br><br>There is <b>serious risks</b> of data loss and corruption.<br>We recommend using a test profile folder with the '--settings-path' argument. <br><br>If you want to continue at your own risk, run Mixxx with the argument '--allow-dangerous-data-corruption-risk'. + + + + + Ok + + + mixxx::qml::QmlVisibleEffectsModel @@ -17142,4 +17679,27 @@ Nhấp vào OK để thoát. Không có hiệu lực được nạp. + + mixxx::qml::QmlWaveformRendererMark + + + Cannot find the marker pixmap + + + + + Cannot find the marker endPixmap + + + + + Cannot find the marker icon + + + + + Cannot find the marker endIcon + + + \ No newline at end of file diff --git a/res/translations/mixxx_zh.qm b/res/translations/mixxx_zh.qm index 231edd1d299d560350b41e4f6c5d3e8c62f8b41a..f8486316d86e58b2237eaf3e31e26d68ba1608b5 100644 GIT binary patch delta 25659 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 diff --git a/res/translations/mixxx_zh.ts b/res/translations/mixxx_zh.ts index 8fad9e39aa11..7f85739c44f8 100644 --- a/res/translations/mixxx_zh.ts +++ b/res/translations/mixxx_zh.ts @@ -8,6 +8,14 @@ + + AllTrackLibraryFeature + + + All... + + + AnalysisFeature @@ -19,52 +27,52 @@ AutoDJFeature - + Crates 分类列表 - + Enable Auto DJ - + Disable Auto DJ - + Clear Auto DJ Queue 清除自动 DJ 队列 - + Remove Crate as Track Source 從音軌清單删除唱片箱 - + Auto DJ 自动混音 - + Confirmation Clear 确认清除 - + Do you really want to remove all tracks from the Auto DJ queue? 您真的要从 Auto DJ 队列中删除所有曲目吗? - + This can not be undone. 此操作无法撤消。 - + Add Crate as Track Source 加入唱片箱至音軌清單 @@ -226,7 +234,7 @@ - + Export Playlist 匯出播放清單 @@ -280,13 +288,13 @@ - + Playlist Creation Failed 播放清單創建失敗 - + An unknown error occurred while creating playlist: 建立播放清單時發生未知的錯誤︰ @@ -302,12 +310,12 @@ 您真的要删除播放列表%1? - + M3U Playlist (*.m3u) M3U 播放清單 (*.m3u) - + M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Text CSV (*.csv);;Readable Text (*.txt) M3U 播放清單 (*.m3u);M3U8 播放清單 (*.m3u8);PLS播放清單 (*.pls);文字 CSV (*.csv);;可讀的文本 (*.txt) @@ -315,12 +323,12 @@ BaseSqlTableModel - + # # - + Timestamp 时间标记 @@ -328,7 +336,7 @@ BaseTrackPlayerImpl - + Couldn't load track. 無法載入音軌 @@ -366,7 +374,7 @@ 電視頻道 - + Color 颜色 @@ -381,7 +389,7 @@ 作曲家 - + Cover Art 封面 @@ -391,7 +399,7 @@ 加入日期 - + Last Played 最后播放 @@ -421,7 +429,7 @@ 關鍵 - + Location 地點 @@ -431,7 +439,7 @@ - + Preview 預覽 @@ -471,7 +479,7 @@ 年份 - + Fetching image ... Tooltip text on the cover art column shown when the cover is read from disk 獲取圖片中... @@ -493,22 +501,22 @@ BroadcastProfile - + Can't use secure password storage: keychain access failed. 无法使用安全密码存储: 密钥链访问失败。 - + Secure password retrieval unsuccessful: keychain access failed. 安全密码存储提取不成功: 密钥链访问失败。 - + Settings error 設定失敗 - + <b>Error with settings for '%1':</b><br> <b>設定 '%1' 失敗:</b><br> @@ -596,7 +604,7 @@ - + Computer 我的电脑 @@ -616,19 +624,19 @@ 扫描 - + "Computer" lets you navigate, view, and load tracks from folders on your hard disk and external devices. “我的电脑”可以让您从您的硬盘及外置设备中浏览、查看、载入音轨 - + It shows the data from the file tags, not track data from your Mixxx library like other track views. - + 它显示的是文件标签中的数据,而不是像其他曲目视图那样来自你的 Mixxx 库的曲目数据。 - + If you load a track file from here, it will be added to your library. - + 如果你从这里加载曲目文件,它将被添加到你的库中。 @@ -739,12 +747,12 @@ 創建檔 - + Mixxx Library mixxx的音樂庫 - + Could not load the following file because it is in use by Mixxx or another application. 無法載入以下檔案,因為正在被Mixxx或其他程式使用中 @@ -775,88 +783,93 @@ CmdlineArgs - + Mixxx is an open source DJ software. For more information, see: Mixxx是一款开源DJ软件。有关详细信息,请参阅: - + Starts Mixxx in full-screen mode 打开全屏模式 - + Use a custom locale for loading translations. (e.g 'fr') 使用自定义区域设置加载语言。(例如"法语") - + Top-level directory where Mixxx should look for its resource files such as MIDI mappings, overriding the default installation location. 在MIXXX中查找相关资源文件如MIDI映射目录,存放在默认文件位置 - + Path the debug statistics time line is written to 调试统计数据时间线写入的路径 - + Causes Mixxx to display/log all of the controller data it receives and script functions it loads 使 Mixxx 显示/记录它接收的所有控制器数据,并为它加载的脚本函数 - + The controller mapping will issue more aggressive warnings and errors when detecting misuse of controller APIs. New Controller Mappings should be developed with this option enabled! 控制器映射在检测到滥用控制器 API 时会发出更严厉的警告和错误。开发新的控制器映射时应启用该选项! - + Enables developer-mode. Includes extra log info, stats on performance, and a Developer tools menu. 启用开发者模式。包括更多的日志信息、性能统计信息和开发人员工具菜单 - + Top-level directory where Mixxx should look for settings. Default is: Mixxx 应在其中查找设置的顶级目录。默认值为: - + Starts Auto DJ when Mixxx is launched. 启动Mixxx时自动开始DJ。 - + Rescans the library when Mixxx is launched. - + 在启动 Mixxx 时重新扫描库。 - + Use legacy vu meter 使用老版本的 VU 表 - + Use legacy spinny 使用舊版的旋轉界面 - - Loads experimental QML GUI instead of legacy QWidget skin - 加载实验性的 QML GUI,而不是传统的 QWidget 皮肤 + + Loads the highly unstable 3.0 Mixxx interface, based on QML. You need to use a new setting profile, or run with 'allow-dangerous-data-corruption-risk' to use with the current one. We highly recommend backing up your data if you do so. + - + + Force Mixxx to load an unstable version with an existing user profile from a stable version + + + + Enables safe-mode. Disables OpenGL waveforms, and spinning vinyl widgets. Try this option if Mixxx is crashing on startup. 启用安全模式。禁用 OpenGL 波形和旋转的唱片小部件。如果 Mixxx 在启动时崩溃,请尝试此选项 - + [auto|always|never] Use colors on the console output. [自动||无]在控制台输出上使用颜色 - + Sets the verbosity of command line logging. critical - Critical/Fatal only warning - Above + Warnings @@ -871,32 +884,32 @@ trace - Above + Profiling messages 跟踪 - 以上 + 分析消息 - + Sets the the logging level at which the log buffer is flushed to mixxx.log. <level> is one of the values defined at --log-level above. 设置将日志缓冲区刷新为mixxx.log的日志级别。是上面在——log级别定义的值之一。 - + Sets the maximum file size of the mixxx.log file in bytes. Use -1 for unlimited. The default is 100 MB as 1e5 or 100000000. 设置 mixxx.log 文件的最大文件大小(以字节为单位)。使用 -1 表示无限制。默认值为 100 MB,为 1e5 或 100000000。 - + Breaks (SIGINT) Mixxx, if a DEBUG_ASSERT evaluates to false. Under a debugger you can continue afterwards. 如果DEBUG_ASSERT的计算结果为false,则中断(SIGINT) Mixxx。在调试器下,您可以随后继续。 - + Overrides the default application GUI style. Possible values: %1 - + Load the specified music file(s) at start-up. Each file you specify will be loaded into the next virtual deck. 在启动时加载指定的音乐文件。您指定的每个文件将被加载到下一个碟盘中。 - + Preview rendered controller screens in the Setting windows. 在设置窗口中预览渲染好的控制器屏幕。 @@ -989,2557 +1002,2585 @@ trace - Above + Profiling messages ControlPickerMenu - + Headphone Output 耳机输出 - - - + + + + Deck %1 + %1 is the deck number 1 ... 4 碟盘 %1 - + Sampler %1 采样器 %1 - + Preview Deck %1 预览用碟机 %1 - + Microphone %1 麥克風 %1 - + Auxiliary %1 輔助 %1 - + Reset to default 重设为默认值 - + Effect Rack %1 影響機架 %1 - + Parameter %1 参数 %1 - + Mixer 混音器 - - + + Crossfader 推杆 - + Headphone mix (pre/main) 耳機組合 (pre/主) - + Toggle headphone split cueing 启用耳机声道分离切入(cueing) - + Headphone delay 耳机延迟 - + Transport 運輸 - + Strip-search through track 通過跟蹤全身 - + Play button 播放按鈕 - - + + Set to full volume 設為全音量 - - + + Set to zero volume 设为音量 0 - + Stop button 停止按钮 - + Jump to start of track and play 跳至音軌前端並播放 - + Jump to end of track 跳轉到音軌末端 - + Reverse roll (Censor) button 倒带(轨)键 - + Headphone listen button 耳機監聽按鈕 - - + + Mute button 静音按钮 - + Toggle repeat mode 切换循环模式 - - + + Mix orientation (e.g. left, right, center) 混合方向 (例如左、 右側、 中心) - - + + Set mix orientation to left 设置输出声道为左声道 - - + + Set mix orientation to center 设置输出声道为立体声 - - + + Set mix orientation to right 將混音方向設為右 - + Toggle slip mode 切换剪辑模式 - - + + BPM BPM - + Increase BPM by 1 BPM 增加 1 - + Decrease BPM by 1 BPM 減少 1 - + Increase BPM by 0.1 BPM 增加 0.1 - + Decrease BPM by 0.1 减少 0.1 BPM - + BPM tap button BPM 敲打按钮 - + Toggle quantize mode 切換量化模式 - + One-time beat sync (tempo only) 一次性節拍同步 (只有節奏) - + One-time beat sync (phase only) 一次性节拍同步(仅相位) - + Toggle keylock mode 切换音调锁模式 - + Equalizers 等化器 - + Vinyl Control 唱片控制 - + Toggle vinyl-control cueing mode (OFF/ONE/HOT) 唱片控制cueing模式(关闭/单一/热切) - + Toggle vinyl-control mode (ABS/REL/CONST) 切换唱片控制模式(绝对/相对/常量) - + Pass through external audio into the internal mixer 从外部音频传给内部混音器 - + Cues 切入点 - + Cue button 切入键 - + Set cue point 設置切入點 - + Go to cue point 跳到切入點 - + Go to cue point and play 跳到切入點並播放 - + Go to cue point and stop 跳到切入點並停止 - + Preview from cue point 從提示點預覽 - + Cue button (CDJ mode) 提示按鈕 (CDJ 模式) - + Stutter cue Stutter切入 - + Hotcues 即时切点 - + Set, preview from or jump to hotcue %1 設置、 從預覽或跳轉到 hotcue %1 - + Clear hotcue %1 刪除 hotcue %1 - + Set hotcue %1 设置热切点 %1 - + Jump to hotcue %1 跳转到热切点 %1 - + Jump to hotcue %1 and stop 跳轉到 hotcue %1 並停止 - + Jump to hotcue %1 and play 跳轉到 hotcue %1 並播放 - + Preview from hotcue %1 从热切点 %1 开始预览 - - + + Hotcue %1 Hotcue %1 - + Looping 迴圈播放 - + Loop In button 迴圈起點按鈕 - + Loop Out button 迴圈終點按鈕 - + Loop Exit button 结束循环按钮 - + 1/2 1/2 - + 1 1 - + 2 2 - + 4 4 - + 8 8 - + 16 16 - + 32 32 - + 64 64 - + Move loop forward by %1 beats 将循环向前移动 %1 拍 - + Move loop backward by %1 beats 循環向後移動 %1 拍 - + Create %1-beat loop 建立 %1 節拍循環 - + Create temporary %1-beat loop roll 創建臨時的 %1 節拍循環 - + Library 音樂庫 - + Slot %1 插槽 %1 - + Headphone Mix 耳機混音器 - + Headphone Split Cue 耳机分离选听 - + Headphone Delay 耳机延迟 - + Play 播放 - + Fast Rewind 快退 - + Fast Rewind button 快退按鈕 - + Fast Forward 快进 - + Fast Forward button 快進按鈕 - + Strip Search 完整搜索 - + Play Reverse 倒退播放 - + Play Reverse button 反向播放按鈕 - + Reverse Roll (Censor) 倒带(轨) - + Jump To Start 跳至音轨起始点 - + Jumps to start of track 跳至音轨起始点 - + Play From Start 从音轨起始点播放 - + Stop 停止 - + Stop And Jump To Start 停止后跳至音轨起始点 - + Stop playback and jump to start of track 停止播放並跳至音軌前端 - + Jump To End 跳至尾端 - + Volume 音量 - - - + + + Volume Fader 音量调节 - - + + Full Volume 全音量 - - + + Zero Volume 零音量 - + Track Gain 音軌增益 - + Track Gain knob 音轨增益旋钮 - - + + Mute 静音 - + Eject 彈出 - - + + Headphone Listen 耳機監聽 - + Headphone listen (pfl) button 耳機監聽(pfi)按鈕 - + Repeat Mode 重复模式 - + Slip Mode 滑动模式 - - + + Orientation 方向 - - + + Orient Left 左方向 - - + + Orient Center 中心 - - + + Orient Right 向右 - + BPM +1 BPM +1 - + BPM -1 BPM -1 - + BPM +0.1 BPM +0.1 - + BPM -0.1 BPM -0.1 - + BPM Tap BPM 偵測 - + Adjust Beatgrid Faster +.01 調整 Beatgrid 快 +.01 - + Increase track's average BPM by 0.01 增加軌道的平均 BPM 0.01 - + Adjust Beatgrid Slower -.01 减慢节拍(-.01) - + Decrease track's average BPM by 0.01 減少軌道的平均 BPM 0.01 - + Move Beatgrid Earlier 提早 Beatgrid - + Adjust the beatgrid to the left 向左移动节拍 - + Move Beatgrid Later 推迟节拍 - + Adjust the beatgrid to the right 向右移动节拍 - + Adjust Beatgrid 调整节拍 - + Align beatgrid to current position 将节拍对齐至当前位置 - + Adjust Beatgrid - Match Alignment 調整 Beatgrid-匹配對齊方式 - + Adjust beatgrid to match another playing deck. 调整节拍样式以匹配另一个正在播放的碟机。 - + Quantize Mode 量化模式 - + Sync 同步 - + Beat Sync One-Shot 单次节拍同步 - + Sync Tempo One-Shot 单次速度同步 - + Sync Phase One-Shot 同步階段一次性 - + Pitch control (does not affect tempo), center is original pitch 樹脂 (不影響節奏) 的控制,中心是原來的音高 - + Pitch Adjust 调整音高 - + Adjust pitch from speed slider pitch 從速度滑桿調整音高 - + Match musical key 配對音樂音調 - + Match Key 與音調匹配 - + Reset Key 重置音調 - + Resets key to original 重置至原始音調 - + High EQ 高頻等化器 - + Mid EQ 中頻等化器 - - + + Main Output 主输出 - + Main Output Balance 主输出均衡 - + Main Output Delay 主输出延迟 - + Main Output Gain 主输出增益 - + Low EQ 低頻等化器 - + Toggle Vinyl Control 切換唱片控制項 - + Toggle Vinyl Control (ON/OFF) 切換唱片控制 (開/關) - + Vinyl Control Mode 唱片控制模式 - + Vinyl Control Cueing Mode 唱片控制提示模式 - + Vinyl Control Passthrough 唱片控制直通 - + Vinyl Control Next Deck 唱片控制模式 - + Single deck mode - Switch vinyl control to next deck 单碟机模式 - 切换唱片控制器至下一碟机 - + Cue 切入点 - + Set Cue 設置切入點 - + Go-To Cue 前往切入點 - + Go-To Cue And Play 前往切入點並播放 - + Go-To Cue And Stop 前往切入點並停止 - + Preview Cue 预览Cue - + Cue (CDJ Mode) 提示 (CDJ 模式) - + Stutter Cue Stutter切入 - + Go to cue point and play after release 前往提示點並在放開後播放 - + Clear Hotcue %1 清除热切点 %1 - + Set Hotcue %1 设置热切点 %1 - + Jump To Hotcue %1 跳转到热切点 %1 - + Jump To Hotcue %1 And Stop 跳轉到 Hotcue %1 並停止 - + Jump To Hotcue %1 And Play 跳轉到 Hotcue %1 並播放 - + Preview Hotcue %1 预览热切点 %1 - + Loop In 循環起點 - + Loop Out 退出循环 - + Loop Exit 循環關閉 - + Reloop/Exit Loop 重新循环/退出循环 - + Loop Halve 循环减半 - + Loop Double 循環雙倍 - + 1/32 1/32 - + 1/16 1/16 - + 1/8 1/8 - + 1/4 1/4 - + Move Loop +%1 Beats 移動迴圈+%1拍 - + Move Loop -%1 Beats 移动循环-%1 拍 - + Loop %1 Beats 循環 %1 拍 - + Loop Roll %1 Beats 循环滚动 %1 拍 - + Add to Auto DJ Queue (bottom) 添加至自动 DJ 队列(底部) - + Append the selected track to the Auto DJ Queue 将所选音轨追加到自动 DJ 队列 - + Add to Auto DJ Queue (top) 添加至自动 DJ 队列(顶部) - + Prepend selected track to the Auto DJ Queue 将所选音轨前置于自动 DJ 队列 - + Load Track 加载音轨 - + Load selected track 載入選擇的音軌 - + Load selected track and play 載入選擇的音軌並播放 - - + + Record Mix 录制混音 - + Toggle mix recording 切換錄製混音 - + Effects 效果 - - Quick Effects - 快捷效果 - - - + Deck %1 Quick Effect Super Knob 碟机 %1 快捷效果的超级旋钮 - + + Quick Effect Super Knob (control linked effect parameters) 快捷效果超级旋钮(控制关联的效果参数) - - + + + + Quick Effect 快捷效果 - + Clear Unit 清除單元 - + Clear effect unit 清除效果架單位 - + Toggle Unit 切換單元 - + Dry/Wet 干/湿 - + Adjust the balance between the original (dry) and processed (wet) signal. 調整原(乾)和處理(濕)之間的平衡。 - + Super Knob 超級旋鈕 - + Next Chain 下一效果器链 - + Assign 指定 - + Clear 清除 - + Clear the current effect 清除当前效果 - + Toggle 切換 - + Toggle the current effect 切換目前效果 - + Next 下一個 - + Switch to next effect 切換到下一個效果 - + Previous 前一個 - + Switch to the previous effect 切換到上一個效果 - + Next or Previous 下一个或上一个 - + Switch to either next or previous effect 切换至下一个或上一个效果 - - + + Parameter Value 參數值 - - + + Microphone Ducking Strength 麥克風迴避強度 - + Microphone Ducking Mode 麦克风闪避模式 - + Gain 增益 - + Gain knob 增益旋钮 - + Shuffle the content of the Auto DJ queue 随机播放自动 DJ 队列内容 - + Skip the next track in the Auto DJ queue 跳過自動 DJ 柱列中的下一曲目 - + Auto DJ Toggle 自动 DJ 切换 - + Toggle Auto DJ On/Off 切換自動DJ開/關 - + Show/hide the microphone & auxiliary section 显示/隐藏麦克风和辅助部分 - + 4 Effect Units Show/Hide 显示/隐藏效果器 - + Switches between showing 2 and 4 effect units 在显示2和4个效果单位之间切换 - + Mixer Show/Hide 混音器显示/隐藏 - + Show or hide the mixer. 显示或隐藏混音器。 - + Cover Art Show/Hide (Library) 封面艺术展览/隐藏(音乐库) - + Show/hide cover art in the library 在音乐库展示/隐藏封面艺术 - + Library Maximize/Restore 音乐库界面最大化/还原 - + Maximize the track library to take up all the available screen space. 最大化音樂庫以佔用所有可用的螢幕空間。 - + Effect Rack Show/Hide 效果旋鈕顯示/隱藏 - + Show/hide the effect rack 顯示/隱藏效果旋鈕 - + Waveform Zoom Out 波形縮小 - + Headphone Gain 耳機增益 - + Headphone gain 耳機增益 - + Tap to sync tempo (and phase with quantize enabled), hold to enable permanent sync 点击同步速度(和相位与量化启用),保持启用永久同步 - + One-time beat sync tempo (and phase with quantize enabled) 同步节奏 - + Playback Speed 回放速度 - + Playback speed control (Vinyl "Pitch" slider) 播放速度控制 (黑膠盤"音調"推桿) - + Pitch (Musical key) 音高 - + Increase Speed 提高速度 - + Adjust speed faster (coarse) 加快速度(粗调) - + Increase Speed (Fine) 增加速度 (精細) - + Adjust speed faster (fine) 加快速度(细调) - + Decrease Speed 降低速度 - + Adjust speed slower (coarse) 調整速度較慢 (粗) - + Adjust speed slower (fine) 减慢速度(细调) - + Temporarily Increase Speed 暫時增加速度 - + Temporarily increase speed (coarse) 暂时增加速度(粗调) - + Temporarily Increase Speed (Fine) 暫時增加速度 (精細) - + Temporarily increase speed (fine) 暫時增加速度 (精細) - + Temporarily Decrease Speed 暂时降低速度 - + Temporarily decrease speed (coarse) 暫時降低速度 (粗) - + Temporarily Decrease Speed (Fine) 暫時降低速度 (精細) - + Temporarily decrease speed (fine) 暫時降低速度 (精細) - - + + Adjust %1 调 %1 - + + Deck %1 Stem %2 + + + + Effect Unit %1 效果单元 %1 - + Button Parameter %1 旋钮参数% 1 - + Skin 皮肤 - + Controller 控制器 - + Crossfader / Orientation 唱片平滑转换器/方向 - + Main Output gain 主输出增益 - + Main Output balance 主输出均衡 - + Main Output delay 主输出延迟 - + Headphone 耳机 - - + + Kill %1 + %1 is "Low EQ" "Mid EQ" or "High EQ" 阻断 %1 - + Eject or un-eject track, i.e. reload the last-ejected track (of any deck)<br>Double-press to reload the last replaced track. In empty decks it reloads the second-last ejected track. 彈出或取消彈出曲目,即重新載入最後彈出的曲目(任何檯面)<br>雙按以重新載入最後替換的曲目。在空檯面上,它將重新載入倒數第二個彈出的曲目。 - + BPM / Beatgrid BPM / 网格 - + Halve BPM BPM 减半 - + Multiply current BPM by 0.5 将当前BPM乘0.5 - + 2/3 BPM 2/3 BPM - + Multiply current BPM by 0.666 将当前BPM乘0.666 - + 3/4 BPM 3/4 BPM - + Multiply current BPM by 0.75 将当前BPM乘0.75 - + 4/3 BPM 4/3 BPM - + Multiply current BPM by 1.333 将当前BPM乘0.666 - + 3/2 BPM 3/2 BPM - + Multiply current BPM by 1.5 将当前BPM乘1.5 - + Double BPM BPM 加倍 - + Multiply current BPM by 2 1.5倍BPM - + Tempo Tap 节奏敲击 - + Tempo tap button 节奏敲击按钮 - + Move Beatgrid 調整節拍網格 - + Adjust the beatgrid to the left or right 將節拍網格向左或向右調整 - + Move Beatgrid Half a Beat - + 将节拍网格移动半个节拍 - + Adjust the beatgrid by exactly one half beat. Usable only for tracks with constant tempo. - + 将节拍网格精确调整半拍。仅适用于节奏恒定的曲目。 - - + + Toggle the BPM/beatgrid lock 切换 BPM/beatgrid 锁 - + Revert last BPM/Beatgrid Change 还原上次 BPM/节拍网格 更改 - + Revert last BPM/Beatgrid Change of the loaded track. 还原上次 BPM/节拍网格 对加载曲目的更改。 - + Sync / Sync Lock 同步/同步锁定 - + Internal Sync Leader 内部同步高音 - + Toggle Internal Sync Leader 切换内部同步高音 - - + + Internal Leader BPM 內部主 BPM - + Internal Leader BPM +1 內部主 BPM +1 - + Increase internal Leader BPM by 1 增加 1 级内置BPM - + Internal Leader BPM -1 內部主 BPM -1 - + Decrease internal Leader BPM by 1 减少 1 级内置BPM - + Internal Leader BPM +0.1 內部主 BPM +0.1 - + Increase internal Leader BPM by 0.1 增加 1 级内置BPM - + Internal Leader BPM -0.1 內部主 BPM +0.1 - + Decrease internal Leader BPM by 0.1 將內部主導節拍每分鐘減少 0.1 BPM - + Sync Leader 同步高音 - + Sync mode 3-state toggle / indicator (Off, Soft Leader, Explicit Leader) 同步模式切换/指示灯(关,低音,高音) - + Speed 速度 - + Decrease Speed (Fine) 減慢速度(微調) - + Pitch (Musical Key) 音高 - + Increase Pitch 升高音调 - + Increases the pitch by one semitone 将音高增加一个半音 - + Increase Pitch (Fine) 增加间距(细) - + Increases the pitch by 10 cents 增加10间距 - + Decrease Pitch 降低音调 - + Decreases the pitch by one semitone 将音高降低一个半音 - + Decrease Pitch (Fine) 减少间距(细) - + Decreases the pitch by 10 cents 将音高降低10间距 - + Keylock 鑰匙鎖 - + CUP (Cue + Play) CUP (提示 + 播放) - + Shift cue points earlier 移动提示点 - + Shift cue points 10 milliseconds earlier 将提示点移动10毫秒 - + Shift cue points earlier (fine) 移动提示点(可选) - + Shift cue points 1 millisecond earlier 将提示点移动1毫秒 - + Shift cue points later 稍后移动提示点 - + Shift cue points 10 milliseconds later 10毫秒后移动提示点 - + Shift cue points later (fine) 稍后移动(好) - + Shift cue points 1 millisecond later 1毫秒后移动提示点 - - + + Sort hotcues by position - + 按位置排序热键点 - - + + Sort hotcues by position (remove offsets) - + 按位置排序热键(移除偏移) - + Hotcues %1-%2 - 热切点 %1 + 热切点 %1-%2 - + Intro / Outro Markers 介绍/超出标记 - + Intro Start Marker 介绍开始标记 - + Intro End Marker 介绍结束标记 - + Outro Start Marker 结尾部分开始标记 - + Outro End Marker 结尾部分结束标记 - + intro start marker 介绍开始标记 - + intro end marker 介绍结束标记 - + outro start marker 介绍开始标记 - + outro end marker 介绍结束标记 - + Activate %1 [intro/outro marker 激活Cue - + Jump to or set the %1 [intro/outro marker 跳转到热切点 %1 - + Set %1 [intro/outro marker 設定 %1 - + Set or jump to the %1 [intro/outro marker 設定或跳至 %1 - + Clear %1 [intro/outro marker 清除 %1 - + Clear the %1 [intro/outro marker 清除 %1 - + if the track has no beats the unit is seconds 如果轨道没有节拍,则单位为秒 - + Loop Selected Beats 循环选中节奏 - + Create a beat loop of selected beat size 在選定的節拍長度內新增循環節奏 - + Loop Roll Selected Beats 循环选中节奏 - + Create a rolling beat loop of selected beat size 创建所选节奏循环 - + Loop %1 Beats set from its end point Loop %1 从结束点开始设置的节拍 - + Loop Roll %1 Beats set from its end point Loop Roll %1 从结束点开始设置的节拍 - + Create %1-beat loop with the current play position as loop end 创建 %1 拍 Loop,并将当前播放位置作为 Loop 结束 - + Create temporary %1-beat loop roll with the current play position as loop end 创建临时的 %1 拍 Loop 滚动,并将当前播放位置作为 Loop 结束 - + Loop Beats 循环节拍 - + Loop Roll Beats 循环滚动节拍 - + Go To Loop In 跳转到循环 - + Go to Loop In button 跳转到循环按钮 - + Go To Loop Out 前往循環終點 - + Go to Loop Out button 前往循環終點按鈕 - + Toggle loop on/off and jump to Loop In point if loop is behind play position 打开/关闭循环,跳转循环点 - + Reloop And Stop 重複循環並停止 - + Enable loop, jump to Loop In point, and stop 启用循环,跳转循环点 - + Halve the loop length 把循環播放的時間長度減半 - + Double the loop length 增加重複長度為兩倍 - + Beat Jump / Loop Move 节拍跳跃/循环移动 - + Jump / Move Loop Forward %1 Beats 跳/移动循环前1拍 - + Jump / Move Loop Backward %1 Beats 向後跳躍/移動循環 %1 拍 - + Jump forward by %1 beats, or if a loop is enabled, move the loop forward %1 beats 向前跳转 %1 个节拍,或者如果启用了循环,则将循环向前移动 %1 个节拍 - + Jump backward by %1 beats, or if a loop is enabled, move the loop backward %1 beats 向后跳转 %1 个节拍,或者如果启用了 Loop,则将 Loop 向后移动 %1 个节拍 - + Beat Jump / Loop Move Forward Selected Beats Beat Jump / Loop 向前移动选定的节拍 - + Jump forward by the selected number of beats, or if a loop is enabled, move the loop forward by the selected number of beats 向前跳转选定的节拍数,或者如果启用了 Loop,则将 Loop 向前移动选定的节拍数 - + Beat Jump / Loop Move Backward Selected Beats Beat Jump / Loop 向后移动选定的节拍 - + Jump backward by the selected number of beats, or if a loop is enabled, move the loop backward by the selected number of beats 向后跳转选定的节拍数,或者如果启用了 Loop,则将 Loop 向后移动选定的节拍数 - + Beat Jump 跳拍 - + Indicate which loop marker remain static when adjusting the size or is inherited from the current position 指示在调整大小时哪个 Loop 标记保持静止或从当前位置继承 - + Beat Jump / Loop Move Forward 节拍跳跃/循环移动 - + Beat Jump / Loop Move Backward 节拍跳跃/循环移动 - + Loop Move Forward 向前移動循環 - + Loop Move Backward 向後移動循環 - + Remove Temporary Loop 移除臨時循環 - + Remove the temporary loop 移除臨時循環 - + Navigation 導航 - + Move up 向上移动 - + Equivalent to pressing the UP key on the keyboard 此操作的效果与按键盘上的上箭头按键是等效的 - + Move down 向下移动 - + Equivalent to pressing the DOWN key on the keyboard 此操作的效果与按键盘上的下箭头按键是等效的 - + Move up/down 向上/下移动 - + Move vertically in either direction using a knob, as if pressing UP/DOWN keys 使用旋钮上下移动,和按键盘上的上/下箭头效果一致 - + Scroll Up 向上滚动 - + Equivalent to pressing the PAGE UP key on the keyboard 此操作的效果与按键盘上的向上翻页键是等效的 - + Scroll Down 向下滚动 - + Equivalent to pressing the PAGE DOWN key on the keyboard 此操作的效果与按键盘上的向下翻页键是等效的 - + Scroll up/down 向上/下滚动 - + Scroll vertically in either direction using a knob, as if pressing PGUP/PGDOWN keys 使用旋钮上下滚动,和按键盘上的向上/下翻页键效果一致 - + Move left 左移 - + Equivalent to pressing the LEFT key on the keyboard 此操作的效果与按键盘上的左箭头按键是等效的 - + Move right 向右移动 - + Equivalent to pressing the RIGHT key on the keyboard 此操作的效果与按键盘上的右箭头按键是等效的 - + Move left/right 左/右移 - + Move horizontally in either direction using a knob, as if pressing LEFT/RIGHT keys 使用旋钮上下移动,和按键盘上的左/右箭头键效果一致 - + Move focus to right pane 移动焦点到右侧面板 - + Equivalent to pressing the TAB key on the keyboard 此操作的效果与按键盘上的 TAB 键是等效的 - + Move focus to left pane 移动焦点到左侧面板 - + Equivalent to pressing the SHIFT+TAB key on the keyboard 此操作的效果与按键盘上的 SHIFT+TAB 键是等效的 - + Move focus to right/left pane 移动焦点到左/右侧面板 - + Move focus one pane to right or left using a knob, as if pressing TAB/SHIFT+TAB keys 使用旋钮左右移动焦点,和按键盘上的 TAB/SHIFT+TAB 键效果一致 - + Sort focused column 將焦點列進行排序 - + Sort the column of the cell that is currently focused, equivalent to clicking on its header 對當前專注的儲存格所在的列進行排序,相當於點擊其標題欄。 - + Go to the currently selected item 前往目前選擇的項目 - + Choose the currently selected item and advance forward one pane if appropriate 選擇當前選定的項目,如果適用,則向前移動一個窗格 - + Load Track and Play 載入曲目並播放 - + Add to Auto DJ Queue (replace) 加入自動 DJ 柱列 (取代) - + Replace Auto DJ Queue with selected tracks 以選擇的音軌取代自動DJ佇列 - + Select next search history 選擇下一個搜索歷史 - + Selects the next search history entry 選擇下一個搜索歷史項目 - + Select previous search history 選擇前一個搜索歷史 - + Selects the previous search history entry 選擇上一個搜索歷史項目 - + Move selected search entry 移動所選擇的搜索項目 - + Moves the selected search history item into given direction and steps 將所選的搜索歷史項目移動到指定的方向和步驟 - + Clear search 清除搜索 - + Clears the search query 清除搜索查詢 - - + + Select Next Color Available 选择下一个可用颜色 - + Select the next color in the color palette for the first selected track 在调色板中选择第一个选定轨道的下一种颜色 - - + + Select Previous Color Available 选择以前的可用颜色 - + Select the previous color in the color palette for the first selected track 在调色板中选择第一个选定轨道的上一种颜色 - + + Quick Effects Deck %1 + + + + Deck %1 Quick Effect Enable Button 檯面 %1 快速效果啟用按鈕 - + + Quick Effect Enable Button 快速效果啟用按鈕 - + + Deck %1 Stem %2 Quick Effect Super Knob + + + + + Deck %1 Stem %2 Quick Effect Enable Button + + + + Enable or disable effect processing 啟用或禁用效果處理 - + Super Knob (control effects' Meta Knobs) 超級旋鈕(控制效果的元旋鈕) - + Mix Mode Toggle 混音模式切換 - + Toggle effect unit between D/W and D+W modes 在 D/W 和 D+W 模式之間切換效果單元 - + Next chain preset 下一预设效果器链 - + Previous Chain 上一效果器链 - + Previous chain preset 上一预设效果器链 - + Next/Previous Chain 下一個/上一個鏈 - + Next or previous chain preset 下一個或上一個鏈預設 - - + + Show Effect Parameters 顯示效果器的參數 - + Effect Unit Assignment 效果單元分配 - + Meta Knob 元旋钮 - + Effect Meta Knob (control linked effect parameters) 效果元旋钮(控制鏈接的效果參數) - + Meta Knob Mode 元旋钮模式 - + Set how linked effect parameters change when turning the Meta Knob. 设置调节元旋钮时相关参数的改变方式。 - + Meta Knob Mode Invert 元旋钮模式反转 - + Invert how linked effect parameters change when turning the Meta Knob. 反轉旋轉元素旋钮時連接的效果參數如何變化。 - - + + Button Parameter Value 按鈕參數值 - + Microphone / Auxiliary 麥克風 / 輔助 - + Microphone On/Off 麦克风 开/关 - + Microphone on/off 麦克风 开/关 - + Toggle microphone ducking mode (OFF, AUTO, MANUAL) 切换麦克风闪避模式(关闭/自动/手动) - + Auxiliary On/Off 辅助物 开/关 - + Auxiliary on/off 辅助物 开/关 - + Auto DJ 自动 DJ - + Auto DJ Shuffle 自動 DJ 拖曳 - + Auto DJ Skip Next 自動DJ跳過下一個 - + Auto DJ Add Random Track 自動 DJ 新增隨機曲目 - + Add a random track to the Auto DJ queue 將一個隨機曲目添加到自動 DJ 佇列 - + Auto DJ Fade To Next 自动 DJ 淡出至下一首 - + Trigger the transition to the next track 切换到下一音轨 - + User Interface 使用者介面 - + Samplers Show/Hide 显示/隐藏采样器 - + Show/hide the sampler section 顯示/隱藏取樣器節 - + Microphone && Auxiliary Show/Hide keep double & to prevent creation of keyboard accelerator 麦克风和辅助显示/隐藏 - + Waveform Zoom Reset To Default 將波形縮放重置為預設值 - + Reset the waveform zoom level to the default value selected in Preferences -> Waveforms 將波形縮放級別重置為首選項 -> 波形 中選擇的預設值 - + Select the next color in the color palette for the loaded track. 在调色板中选择加载轨道的下一种颜色。 - + Select previous color in the color palette for the loaded track. 在加载的轨道的调色板中选择上一种颜色。 - + Navigate Through Track Colors 浏览轨道颜色 - + Select either next or previous color in the palette for the loaded track. 选择调色板中加载轨道的下一个或上一个颜色 - + Start/Stop Live Broadcasting 開始/停止直播 - + Stream your mix over the Internet. 在互聯網上流你的組合。 - + Start/stop recording your mix. 開始/停止錄製您的混音。 - - + + + Deck %1 Stems + + + + + Samplers 采样器 - + Vinyl Control Show/Hide 唱盘控制 显示/隐藏 - + Show/hide the vinyl control section 显示/隐藏 唱盘控制界面 - + Preview Deck Show/Hide 预览用碟机 显示/隐藏 - + Show/hide the preview deck 顯示/隱藏預覽甲板 - + Toggle 4 Decks 切換 4 甲板 - + Switches between showing 2 decks and 4 decks. 在 2 碟机视图和 4 碟机视图之间切换。 - + Cover Art Show/Hide (Decks) 封面圖示顯示/隱藏(檯面) - + Show/hide cover art in the main decks 在主要的檯面上顯示/隱藏封面圖片 - + Vinyl Spinner Show/Hide 乙烯基微調框顯示/隱藏 - + Show/hide spinning vinyl widget 显示/隐藏 唱盘控制器 - + Vinyl Spinners Show/Hide (All Decks) 顯示/隱藏 所有檯面的唱盤旋轉器 - + Show/Hide all spinnies 顯示/隱藏 所有旋轉物 - + Toggle Waveforms 切換波形 - + Show/hide the scrolling waveforms. 顯示/隱藏 滾動波形。 - + Waveform zoom 波形縮放 - + Waveform Zoom 波形縮放 - + Zoom waveform in 放大波形 - + Waveform Zoom In 波形放大 - + Zoom waveform out 缩小波形 - + Star Rating Up 增加星級评分 - + Increase the track rating by one star 將曲目評分增加一顆星 - + Star Rating Down 減少星級评分 - + Decrease the track rating by one star 將曲目評分減少一顆星 @@ -3552,6 +3593,159 @@ trace - Above + Profiling messages + + ControllerHidReportTabsManager + + + Read + + + + + Send + + + + + Payload Size + + + + + bytes + + + + + Byte Position + + + + + Bit Position + + + + + Bit Size + + + + + Logical Min + + + + + Logical Max + + + + + Value + + + + + Physical Min + + + + + Physical Max + + + + + Unit Scaling + + + + + Unit + + + + + Abs/Rel + + + + + + Wrap + + + + + + Linear + + + + + + Preferred + + + + + + Null + + + + + + Volatile + + + + + Usage Page + + + + + Usage + + + + + Relative + + + + + Absolute + + + + + No Wrap + + + + + Non Linear + + + + + No Preferred + + + + + No Null + + + + + Non Volatile + + + ControllerInputMappingTableModel @@ -3687,27 +3881,27 @@ trace - Above + Profiling messages ControllerScriptEngineLegacy - + Controller Mapping File Problem 控制器映射文件问题 - + The mapping for controller "%1" cannot be opened. 无法打开控制器“%1”的映射。 - + The functionality provided by this controller mapping will be disabled until the issue has been resolved. 在问题得到解决之前,此控制器映射提供的功能将被禁用。 - + File: 文件: - + Error: 错误: @@ -3740,7 +3934,7 @@ trace - Above + Profiling messages - + Lock 锁定 @@ -3770,7 +3964,7 @@ trace - Above + Profiling messages 自動 DJ 音軌來源 - + Enter new name for crate: 输入分类列表的新名称: @@ -3787,22 +3981,22 @@ trace - Above + Profiling messages 匯入箱 - + Export Crate 导出分类列表 - + Unlock 解鎖 - + An unknown error occurred while creating crate: 創建音樂箱時發生未知的錯誤︰ - + Rename Crate 重新命名音樂箱 @@ -3812,28 +4006,28 @@ trace - Above + Profiling messages 为你的下场表演、最喜爱的音轨和最常用的歌曲新建分类列表 - + Confirm Deletion 确认删除 - - + + Renaming Crate Failed 重命名分类列表失败 - + Crate Creation Failed 建立音樂箱失敗 - + M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Text CSV (*.csv);;Readable Text (*.txt) M3U 播放清單 (*.m3u);M3U8 播放清單 (*.m3u8);PLS播放清單 (*.pls);文字 CSV (*.csv);;可讀的文本 (*.txt) - + M3U Playlist (*.m3u) M3U 播放清單 (*.m3u) @@ -3854,17 +4048,17 @@ trace - Above + Profiling messages 音樂箱讓你組織你的音樂,你會喜歡 ! - + Do you really want to delete crate <b>%1</b>? 确定删除播放列表<b>%1</b>吗? - + A crate cannot have a blank name. 分类列表名不能命名为空。 - + A crate by that name already exists. 已經有相同名稱的音樂箱。 @@ -3959,12 +4153,12 @@ trace - Above + Profiling messages 過去的貢獻者 - + Official Website 官方网站 - + Donate 捐献 @@ -4768,122 +4962,139 @@ You tried to learn: %1,%2 DlgPrefBroadcast - + Icecast 2 Icecast 2 - + Shoutcast 1 Shoutcast 1 - + Icecast 1 Icecast 1 - + MP3 MP3 - + Ogg Vorbis Ogg 格式 - + Opus Opus - + AAC AAC - + HE-AAC HE-AAC - + HE-AACv2 HE-AACv2 - + Automatic 自动 - + Mono 單聲道 - + Stereo 立体声 - - - - + + Saving settings failed + + + + + The password for '%1' contains invalid characters. Please enter it again. + +Note: This can for example be invisible linebreaks when using copy/paste. + + + + + + Action failed 操作失败 - + You can't create more than %1 source connections. 你不能创建超过 %1 个源连接。 - + Source connection %1 源连接 %1 - + + Settings for %1 + Settings for broadcast profile, %1 is the profile name placeholder + + + + At least one source connection is required. 至少需要一个源连接。 - + Are you sure you want to disconnect every active source connection? 是否确实要断开每个活动的源连接? - - + + Confirmation required 需要确认 - + '%1' has the same Icecast mountpoint as '%2'. Two source connections to the same server that have the same mountpoint can not be enabled simultaneously. '%1' 和 '%2' 有相同的 Icecast 挂载点。两个连接到同一服务器的源,挂载点相同的情况下不能同时启用。 - + Are you sure you want to delete '%1'? 是否确实要删除“%1”? - + Renaming '%1' 重命名 '%1' - + New name for '%1': '%1' 的新名称: - + Can't rename '%1' to '%2': name already in use 无法将 '%1' 重命名为 '%2':名称已被使用 @@ -4896,27 +5107,27 @@ Two source connections to the same server that have the same mountpoint can not 直播首選項 - + Mixxx Icecast Testing Mixxx Icecast 測試 - + Public stream 公共流 - + http://www.mixxx.org http://www.mixxx.org - + Stream name 流名称 - + Due to flaws in some streaming clients, updating Ogg Vorbis metadata dynamically can cause listener glitches and disconnections. Check this box to update the metadata anyway. 由於在一些流的用戶端中的缺陷,動態更新 Ogg 格式的中繼資料可以導致攔截器故障和斷開。選中此框,反正更新中繼資料。 @@ -4956,67 +5167,72 @@ Two source connections to the same server that have the same mountpoint can not %1 的设置 - + + Available fields: $artist, $title, $year, $album, $genre, $bpm + + + + Dynamically update Ogg Vorbis metadata. 動態更新 Ogg 格式的中繼資料。 - + ICQ ICQ - + AIM AIM - + Website 主页 - + Live mix 現場攪拌 - + IRC IRC - + Select a source connection above to edit its settings here 在上面选择一个源连接以在此处编辑其设置 - + Password storage 密码存储方式 - + Plain text 明文 - + Secure storage (OS keychain) 安全存储区(系统钥匙链) - + Genre 體裁 - + Use UTF-8 encoding for metadata. 使用 utf-8 編碼的中繼資料。 - + Description 描述 @@ -5042,42 +5258,42 @@ Two source connections to the same server that have the same mountpoint can not 電視頻道 - + Server connection 服务器链接 - + Type 类型 - + Host 主机 - + Login 用户名 - + Mount 挂载 - + Port - + Password 密碼 - + Stream info 流信息 @@ -5087,17 +5303,17 @@ Two source connections to the same server that have the same mountpoint can not 元数据 - + Use static artist and title. 使用静态的艺术家名称和标题 - + Static title 静态标题 - + Static artist 静态艺术家名称 @@ -5156,13 +5372,14 @@ Two source connections to the same server that have the same mountpoint can not DlgPrefColors - - + + + By hotcue number 按 hotcue 编号 - + Color 颜色 @@ -5207,132 +5424,137 @@ Two source connections to the same server that have the same mountpoint can not + Jump default color + + + + When key colors are enabled, Mixxx will display a color hint associated with each key. - + Enable Key Colors - + 启用关键颜色 - + Key palette - + 快捷调色板 DlgPrefController - + Apply device settings? 應用設備設置嗎? - + Your settings must be applied before starting the learning wizard. Apply settings and continue? 開始學習嚮導前,必須應用您的設置。 應用設置並繼續? - + None - + %1 by %2 %2 %1 - + Mapping has been edited 映射已编辑 - + Always overwrite during this session 在此会话期间始终覆盖 - + Save As 另存为 - + Overwrite 覆盖 - + Save user mapping 保存用户映射 - + Enter the name for saving the mapping to the user folder. 输入用于将映射保存到用户文件夹的名称。 - + Saving mapping failed 保存映射失败 - + A mapping cannot have a blank name and may not contain special characters. 映射不能具有空白名称,并且不能包含特殊字符。 - + A mapping file with that name already exists. 具有该名称的映射文件已存在。 - + Do you want to save the changes? 是否要保存更改? - + Troubleshooting 疑難排解 - + <font color='#BB0000'><b>If you use this mapping your controller may not work correctly. Please select another mapping or disable the controller.</b></font><br><br>This mapping was designed for a newer Mixxx Controller Engine and cannot be used on your current Mixxx installation.<br>Your Mixxx installation has Controller Engine version %1. This mapping requires a Controller Engine version >= %2.<br><br>For more information visit the wiki page on <a href='https://mixxx.org/wiki/doku.php/controller_engine_versions'>Controller Engine Versions</a>. 如果使用此映射,则控制器可能无法正常工作。请选择其他映射或禁用控制器。此映射专为较新的 Mixxx 控制器引擎而设计,不能用于您当前的 Mixxx 安装。您的 Mixxx 安装的 Controller Engine 版本为 %1。此映射需要 Controller Engine 版本 >= %2。有关更多信息,请访问有关 Controller Engine 版本的 wiki 页面。 - + Mapping already exists. 映射已存在。 - + <b>%1</b> already exists in user mapping folder.<br>Overwrite or save with a new name? <b>%1</b>已存在于用户映射文件夹中.<br>覆盖还是用新名称保存? - + Clear Input Mappings 清除输入映射 - + Are you sure you want to clear all input mappings? 你確定你想要清除所有輸入的映射? - + Clear Output Mappings 清除輸出映射 - + Are you sure you want to clear all output mappings? 你確定你想要清除所有輸出映射? @@ -5350,100 +5572,105 @@ Apply settings and continue? 啟用 - - Device Info + + Refresh mapping list - + + Device Info + 设备信息 + + + Physical Interface: - + 物理接口: - + Vendor name: - + 供应商名称: - + Product name: - + 产品名称: - + Vendor ID - + VID: - + Product ID - + PID: - + Serial number: - + USB interface number: - + HID Usage-Page: - + HID Usage: - + Description: 描述: - + Support: 支援︰ - + Screens preview - + Input Mappings 輸入的映射 - - + + Search 搜索 - - + + Add 新增 - - + + Remove 刪除 @@ -5463,17 +5690,17 @@ Apply settings and continue? 加载映射: - + Mapping Info 映射信息 - + Author: 作者︰ - + Name: 名稱︰ @@ -5483,28 +5710,28 @@ Apply settings and continue? 学习向导(仅用于 MIDI) - + Data protocol: - + Mapping Files: 映射文件: - + Mapping Settings - - + + Clear All 全部清除 - + Output Mappings 輸出映射 @@ -5519,21 +5746,21 @@ Apply settings and continue? - Mixxx uses "mappings" to connect messages from your controller to controls in Mixxx. If you do not see a mapping for your controller in the "Load Mapping" menu when you click on your controller on the left sidebar, you may be able to download one online from the %1. Place the XML (.xml) and Javascript (.js) file(s) in the "User Mapping Folder" then restart Mixxx. If you download a mapping in a ZIP file, extract the XML and Javascript file(s) from the ZIP file to your "User Mapping Folder" then restart Mixxx. - Mixxx 使用“映射”将来自控制器的消息连接到 Mixxx 中的控件。如果您在单击左侧边栏上的控制器时在“加载映射”菜单中没有看到控制器的映射,您可以从 %1 在线下载一个。将 XML (.xml) 和 Javascript (.js) 文件放在“用户映射文件夹”中,然后重新启动 Mixxx。如果您下载 ZIP 文件中的映射,请将 XML 和 Javascript 文件从 ZIP 文件解压到您的“用户映射文件夹”,然后重新启动 Mixxx。 + Mixxx uses "mappings" to connect messages from your controller to controls in Mixxx. If you do not see a mapping for your controller in the "Load Mapping" menu when you click on your controller on the left sidebar, you may be able to download one online from the %1. Place the XML (.xml) and Javascript (.js) file(s) in the "User Mapping Folder" then click the Reload button next to the mapping selector to reload all available mappings. If you download a mapping in a ZIP file, extract the XML and Javascript file(s) from the ZIP file to your "User Mapping Folder" then click the Reload button. + - + Mixxx DJ Hardware Guide Mixxx DJ 硬件指南 - + MIDI Mapping File Format MIDI 映射文件格式 - + MIDI Scripting with Javascript 使用 Javascript 编写 MIDI 脚本 @@ -5702,137 +5929,137 @@ Apply settings and continue? DlgPrefDeck - + Mixxx mode Mixxx 模式 - + Mixxx mode (no blinking) Mixxx 模式 (無閃爍) - + Pioneer mode 先驅模式 - + Denon mode Denon 模式 - + Numark mode 發展模式 - + CUP mode 切播模式 - + mm:ss%1zz - Traditional mm:ss%1zz - 繁体 - + mm:ss - Traditional (Coarse) mm:ss - 传统 (粗) - + s%1zz - Seconds s%1zz - 秒 - + sss%1zz - Seconds (Long) sss%1zz - 秒(长) - + s%1sss%2zz - Kiloseconds s%1sss%2zz - 千秒 - + Intro start 入门 - + Main cue 主要提示 - + First hotcue 第一个 hotcue - + First sound (skip silence) 第一个声音 (跳过静音) - + Beginning of track 轨道起点 - + Reject 拒绝 - + Allow, but stop deck 允许,但停止甲板 - + Allow, play from load point 允许,从加载点播放 - + 4% 4% - + 6% (semitone) 6%(半音) - + 8% (Technics SL-1210) 8%(Technics SL-1210) - + 10% 10% - + 16% 16% - + 24% 24% - + 50% 50% - + 90% 90% @@ -6286,57 +6513,57 @@ You can always drag-and-drop tracks on screen to clone a deck. 所選的外觀的最小大小大於您的螢幕解析度。 - + Allow screensaver to run 允许屏幕保护程序运行 - + Prevent screensaver from running 防止屏幕保护程序运行 - + Prevent screensaver while playing 播放时防止屏幕保护程序运行 - + Disabled 禁用 - + 2x MSAA 2倍采样抗锯齿 - + 4x MSAA 4倍采样抗锯齿 - + 8x MSAA 8倍采样抗锯齿 - + 16x MSAA 16倍采样抗锯齿 - + This skin does not support color schemes 這種皮膚不支援色彩配置 - + Information 資訊 - + Mixxx must be restarted before the new locale, scaling or multi-sampling settings will take effect. 在新的区域设置、缩放或多重采样设置生效之前,必须重新启动Mixxx。 @@ -6563,37 +6790,37 @@ and allows you to pitch adjust them for harmonic mixing. 有关详细信息,请参阅手册 - + Music Directory Added 音乐目录已添加 - + You added one or more music directories. The tracks in these directories won't be available until you rescan your library. Would you like to rescan now? 您已添加一个或更多音乐目录。这些音轨将在您重新扫描音乐库前不可用。您想立即扫描音乐库吗? - + Scan 扫描 - + Item is not a directory or directory is missing 项目不是目录或目录缺失 - + Choose a music directory 選擇音樂目錄 - + Confirm Directory Removal 确认移除目录 - + Mixxx will no longer watch this directory for new tracks. What would you like to do with the tracks from this directory and subdirectories?<ul><li>Hide all tracks from this directory and subdirectories.</li><li>Delete all metadata for these tracks from Mixxx permanently.</li><li>Leave the tracks unchanged in your library.</li></ul>Hiding tracks saves their metadata in case you re-add them in the future. Mixxx 将不会监视该目录中的新音轨。您希望如何处理该目录(及其子目录)中的音轨? <ul> @@ -6604,32 +6831,62 @@ and allows you to pitch adjust them for harmonic mixing. 隐藏音轨可以保留其元数据,以便您以后再次添加它们。 - + Metadata means all track details (artist, title, playcount, etc.) as well as beatgrids, hotcues, and loops. This choice only affects the Mixxx library. No files on disk will be changed or deleted. 元数据即音轨的信息(艺术家、标题、播放次数等)、节拍模式、热切点和循环设置。这些选项仅影响 Mixxx 媒体库。不会更改或删除相关的媒体文件。 - + Hide Tracks 隱藏的蹤跡 - + Delete Track Metadata 刪除跟蹤中繼資料 - + Leave Tracks Unchanged 離開軌道不變 - + Relink music directory to new location 将音乐目录链接至新位置 - + + Black + + + + + ExtraBold + + + + + Bold + + + + + SemiBold + + + + + Medium + + + + + Light + + + + Select Library Font 选择音乐库字体 @@ -6679,262 +6936,267 @@ and allows you to pitch adjust them for harmonic mixing. 启动时重新扫描目录 - + Audio File Formats 音频文件格式 - + Track Table View 轨道视图 - + Track Double-Click Action: 轨道双击操作: - + BPM display precision: BPM 显示精度: - + Session History 工作階段紀錄 - + Track duplicate distance 跟踪重复距离 - + When playing a track again log it to the session history only if more than N other tracks have been played in the meantime 再次播放轨道时,仅当同时播放了 N 个以上的其他轨道时,才会将其记录到会话历史记录中 - + History playlist with less than N tracks will be deleted<br/><br/>Note: the cleanup will be performed during startup and shutdown of Mixxx. 少于 N 首曲目的历史播放列表将被删除注意:清理将在 Mixxx 启动和关闭期间进行。 - + Delete history playlist with less than N tracks 删除少于 N 首曲目的历史播放列表 - + Library Font: 音乐库字体: - + + Show scan summary dialog + + + + Grey out played tracks 灰显播放的曲目 - + Track Search 轨迹搜索 - + Enable search completions 启用搜索补全 - + Enable search history keyboard shortcuts 启用搜索历史记录键盘快捷键 - + Percentage of pitch slider range for 'fuzzy' BPM search: “模糊”BPM 搜索范围: - + This range will be used for the 'fuzzy' BPM search (~bpm:) via the search box, as well as for BPM search in Track context menu > Search related Tracks 此范围将通过搜索框用于“模糊”BPM 搜索 (~bpm:),以及用于 Search related Tracks > Track 上下文菜单中的 BPM 搜索 - + Preferred Cover Art Fetcher Resolution 首选封面图片提取程序分辨率 - + Fetch cover art from coverartarchive.com by using Import Metadata From Musicbrainz. 使用从 Musicbrainz 导入数据 从 coverartarchive.com 中获取封面。 - + Note: ">1200 px" can fetch up to very large cover arts. 注意:“>1200 px”最多可以获取非常大的封面。 - + >1200 px (if available) >1200 像素(如果可用) - + 1200 px (if available) 1200 像素(如果可用) - + 500 px 500像素 - + 250 px 250像素 - + Settings Directory 设置目录 - + The Mixxx settings directory contains the library database, various configuration files, log files, track analysis data, as well as custom controller mappings. Mixxx 设置目录包含库数据库、各种配置文件、日志文件、轨道分析数据以及自定义控制器映射。 - + Edit those files only if you know what you are doing and only while Mixxx is not running. 仅当您知道自己在做什么时,并且仅在 Mixxx 未运行时编辑这些文件。 - + Open Mixxx Settings Folder 打开 Mixxx 设置文件夹 - + Library Row Height: 圖書館行高︰ - + Use relative paths for playlist export if possible 请尽量使用相对路径来导出播放列表 - + ... ... - + px px - + Synchronize library track metadata from/to file tags 从文件标签同步库轨道数据/与文件标签同步 - + Automatically write modified track metadata from the library into file tags and reimport metadata from updated file tags into the library 自动将修改后的轨道元数据从库写入文件标签,并将元数据从更新的文件标签重新导入到库中 - + Synchronize Serato track metadata from/to file tags (experimental) 从/到文件标签同步 Serato 跟踪元数据(实验性) - + Keeps track color, beat grid, bpm lock, cue points, and loops synchronized with SERATO_MARKERS/MARKERS2 file tags.<br/><br/>WARNING: Enabling this option also enables the reimport of Serato metadata after files have been modified outside of Mixxx. On reimport existing metadata in Mixxx is replaced with the metadata found in file tags. Custom metadata not included in file tags like loop colors is lost. 使轨道颜色、节拍网格、bpm 锁定、提示点和 Loop 与 SERATO_MARKERS/MARKERS2 文件标签保持同步。<br/><br/>警告:启用此选项还会在 Mixxx 之外修改文件后重新导入 Serato 元数据。重新导入时,Mixxx 中的现有元数据将替换为文件标签中的数据。文件标签中未包含的自定义元数据(如循环颜色)将丢失。 - + Edit metadata after clicking selected track 单击所选轨道后编辑数据 - + Search-as-you-type timeout: 键入时搜索超时: - + ms 女士 - + Load track to next available deck 載入追蹤記錄到下一個可用的甲板上 - + External Libraries 外部库 - + You will need to restart Mixxx for these settings to take effect. 您需要重启 Mixxx 以便这些设置生效。 - + Show Rhythmbox Library 顯示 Rhythmbox 庫 - + Track Metadata Synchronization / Playlists 轨道数据同步/播放列表 - + Add track to Auto DJ queue (bottom) 将轨道添加到 Auto DJ 队列(底部) - + Add track to Auto DJ queue (top) 将轨道添加到 Auto DJ 队列(顶部) - + Ignore 忽略 - + Show Banshee Library 顯示女妖庫 - + Show iTunes Library 显示iTunes音乐库 - + Show Traktor Library 显示Traktor音乐库 - + Show Rekordbox Library 显示 Recordbox 库 - + Show Serato Library 显示 Serato 库 - + All external libraries shown are write protected. 所有显示的外部库均为写保护模式。 @@ -7279,33 +7541,33 @@ and allows you to pitch adjust them for harmonic mixing. DlgPrefRecord - + Choose recordings directory 選擇錄音目錄 - - + + Recordings directory invalid 录制文件目录无效 - + Recordings directory must be set to an existing directory. 录制目录必须设置为现有目录。 - + Recordings directory must be set to a directory. Recordings directory (录制文件目录) 必须设置为目录。 - + Recordings directory not writable 录制文件目录不可写 - + You do not have write access to %1. Choose a recordings directory you have write access to. 您没有对 %1 的写入权限。选择您具有写入权限的录制文件目录。 @@ -7323,43 +7585,55 @@ and allows you to pitch adjust them for harmonic mixing. 流覽... - - + + This will include the filepath for each track in the CUE file. +This option makes the CUE file less portable and can reveal personal +information from filepaths (i.e. username) + + + + + Enable File Annotation in CUE file + + + + + Quality 品质 - + Tags 标签 - + Title 標題 - + Author 作者 - + Album 专辑 - + Output File Format 输出文件格式 - + Compression 壓縮 - + Lossy 損耗衰減 @@ -7374,12 +7648,12 @@ and allows you to pitch adjust them for harmonic mixing. 目录: - + Compression Level 压缩级别 - + Lossless 無損 @@ -7512,172 +7786,177 @@ The loudness target is approximate and assumes track pregain and main output lev DlgPrefSound - + %1 Hz %1 赫兹 - + Default (long delay) 默认(长延时) - + Experimental (no delay) 试验(无延时) - + Disabled (short delay) 禁用 (短延時) - + Soundcard Clock 声卡时钟 - + Network Clock 网络时钟 - + Direct monitor (recording and broadcasting only) 直接监视器(仅限录制和广播) - + Disabled 已禁用 - + Enabled 啟用 - + Stereo 立体声 - + Mono 單聲道 - + To enable Realtime scheduling (currently disabled), see the %1. 要启用实时计划(当前已禁用),请参阅 %1。 - + The %1 lists sound cards and controllers you may want to consider for using Mixxx. %1 列出了您可能需要考虑使用 Mixxx 的声卡和控制器。 - + Mixxx DJ Hardware Guide Mixxx DJ 硬件指南 - + + Find details in the Mixxx user manual + + + + Information - + Mixxx must be restarted before the multi-threaded RubberBand setting change will take effect. - + auto (<= 1024 frames/period) 自动(<= 1024 帧/周期) - + 2048 frames/period 2048 帧/周期 - + 4096 frames/period 4096 帧/周期 - + Are you sure? - + Distribute stereo channels into mono channels for parallel processing will result in a loss of mono compatibility and a diffuse stereo image. It is not recommended during broadcasting or recording. - + Are you sure you wish to proceed? - + No - + Yes, I know what I am doing - + Microphone inputs are out of time in the record & broadcast signal compared to what you hear. 与您听到的相比,麦克风输入在录音和广播信号中显得不合时宜。 - + Measure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. 测量往返延迟,并在上方输入麦克风延迟补偿以对齐麦克风计时。 - + Refer to the Mixxx User Manual for details. 細節請參考Mixxx 使用者操作手冊 - + Configured latency has changed. 配置的延迟已更改。 - + Remeasure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. 重新测量往返延迟,并将其输入到麦克风延迟补偿上方,以调整麦克风定时。 - + Realtime scheduling is enabled. 已启用实时调度。 - + Main output only 仅主输出 - + Main and booth outputs 主输出和展位输出 - + %1 ms %1 ms - + Configuration error 配置錯誤 @@ -7744,17 +8023,22 @@ The loudness target is approximate and assumes track pregain and main output lev 女士 - + + Deck and Bus outputs are for external mixers. They are post-fader and include effects and crossfader (for Auto DJ). For external mixing, make sure all Mixxx faders and EQ knobs are set to their default position (right- or double-click). + + + + 20 ms 為 20 毫秒 - + Buffer Underflow Count 緩衝區下溢計數 - + 0 0 @@ -7779,12 +8063,12 @@ The loudness target is approximate and assumes track pregain and main output lev 輸入 - + System Reported Latency 系統報告延遲 - + Enlarge your audio buffer if the underflow counter is increasing or you hear pops during playback. 若下溢计数持续增加,或者您听到“啪啪”声,请增大您的音频缓冲区。 @@ -7814,7 +8098,7 @@ The loudness target is approximate and assumes track pregain and main output lev 提示和診斷 - + Downsize your audio buffer to improve Mixxx's responsiveness. 若需提升 Mixxx 的响应速度,请降低您的音频缓冲区大小。 @@ -7861,7 +8145,7 @@ The loudness target is approximate and assumes track pregain and main output lev 乙烯基配置 - + Show Signal Quality in Skin 在皮膚中顯示信號品質 @@ -7897,47 +8181,52 @@ The loudness target is approximate and assumes track pregain and main output lev + Pitch estimator + + + + Deck 1 碟盘1 - + Deck 2 碟盘2 - + Deck 3 碟盘3 - + Deck 4 碟盘4 - + Signal Quality 信號品質 - + http://www.xwax.co.uk http://www.xwax.co.uk - + Powered by xwax 由 xwax 提供動力 - + Hints 提示 - + Select sound devices for Vinyl Control in the Sound Hardware pane. 選擇聲音設備乙烯控制聲音硬體窗格中。 @@ -7945,58 +8234,58 @@ The loudness target is approximate and assumes track pregain and main output lev DlgPrefWaveform - + Filtered 過濾 - + HSV HSV - + RGB RGB - + Top 返回页首 - + Center 中心 - + Bottom - + 1/3 of waveform viewer options for "Text height limit" - + Entire waveform viewer - + OpenGL not available OpenGL 不可用 - + dropped frames 丟棄的幀 - + Cached waveforms occupy %1 MiB on disk. 缓存的波形占用了 %1 MB 磁盘空间。 @@ -8014,22 +8303,17 @@ The loudness target is approximate and assumes track pregain and main output lev 畫面播放速率 - + OpenGL Status - + Displays which OpenGL version is supported by the current platform. 显示当前平台所支持的 OpenGL 版本。 - - Normalize waveform overview - 正常化波形概述 - - - + Average frame rate 平均畫面播放速率 @@ -8045,7 +8329,7 @@ The loudness target is approximate and assumes track pregain and main output lev 預設縮放級別 - + Displays the actual frame rate. 显示实际帧率。 @@ -8080,7 +8364,7 @@ The loudness target is approximate and assumes track pregain and main output lev - + Show minute markers on waveform overview @@ -8125,7 +8409,7 @@ The loudness target is approximate and assumes track pregain and main output lev 全球視覺增益 - + The waveform overview shows the waveform envelope of the entire track. Select from different types of displays for the waveform overview, which differ primarily in the level of detail shown in the waveform. 选择波形的显示样式,其主要区别在于显示在波形中的细节多少。 @@ -8193,22 +8477,22 @@ Select from different types of displays for the waveform, which differ primarily pt - + Caching 緩存 - + Mixxx caches the waveforms of your tracks on disk the first time you load a track. This reduces CPU usage when you are playing live but requires extra disk space. Mixxx 緩存您軌道在磁片第一次你載入追蹤記錄的波形。這降低了 CPU 使用率,當你玩活的時候,但需要額外的磁碟空間。 - + Enable waveform caching 启用波形缓存 - + Generate waveforms when analyzing library 在分析圖書館時產生波形 @@ -8224,7 +8508,7 @@ Select from different types of displays for the waveform, which differ primarily - + Type @@ -8249,17 +8533,63 @@ Select from different types of displays for the waveform, which differ primarily 播放标记位置 - - Moves the play marker position on the waveforms to the left, right or center (default). - 将波形上的播放标记位置向左、向右或居中移动(默认)。 + + Moves the play marker position on the waveforms to the left, right or center (default). + 将波形上的播放标记位置向左、向右或居中移动(默认)。 + + + + Stem + + + + + Channel opacity + + + + + Channel opacity (outline) + + + + + Main stem opacity + + + + + Outline stem opacity + + + + + Move channel to foreground when volume is adjusted + + + + + Overview Waveforms + + + + + Gain + + + + + Normalize to peak + - - Overview Waveforms + + Use Waveform "Global" gain and ReplayGain (if enabled) + 'Global' refers to the 'Global' visual gain in the scrolling waveform settings - + Clear Cached Waveforms 清除波形缓存 @@ -8751,7 +9081,7 @@ This can not be undone! BPM: - + Location: 位置: @@ -8766,27 +9096,27 @@ This can not be undone! 注视 - + BPM BPM - + Sets the BPM to 75% of the current value. 将 BPM 设置为当前值的 75%。 - + 3/4 BPM 3/4 BPM - + Sets the BPM to 50% of the current value. 将 BPM 设置为当前值的 50%。 - + Displays the BPM of the selected track. 显示所选音轨的 BPM。 @@ -8841,49 +9171,49 @@ This can not be undone! 體裁 - + ReplayGain: 重播增益︰ - + Sets the BPM to 200% of the current value. 將 BPM 設置為 200%的當前值。 - + Double BPM 拍速倍增 - + Halve BPM 減半 BPM - + Clear BPM and Beatgrid 明確的 BPM 和 Beatgrid - + Move to the previous item. "Previous" button 移动至前一项。 - + &Previous 上一首(&P) - + Move to the next item. "Next" button 移動到下一個專案。 - + &Next 下一首(&N) @@ -8908,12 +9238,12 @@ This can not be undone! 颜色 - + Date added: 添加日期: - + Open in File Browser 在文件管理器中打开 @@ -8923,12 +9253,17 @@ This can not be undone! 采样率: - + + Filesize: + + + + Track BPM: BPM 的軌道︰ - + Converts beats detected by the analyzer into a fixed-tempo beatgrid. Use this setting if your tracks have a constant tempo (e.g. most electronic music). Often results in higher quality beatgrids, but will not do well on tracks that have tempo shifts. @@ -8937,90 +9272,90 @@ Often results in higher quality beatgrids, but will not do well on tracks that h 这样通常能得到质量更高的节拍网格,但对有节奏变化的音轨效果不佳。 - + Assume constant tempo 假定速度恒定 - + Sets the BPM to 66% of the current value. 將 BPM 設置為當前值的 66%。 - + 2/3 BPM 2/3 BPM - + Sets the BPM to 150% of the current value. 将 BPM 设置为当前值的 150%。 - + 3/2 BPM 3/2 BPM - + Sets the BPM to 133% of the current value. 将 BPM 设置为当前值的 133%。 - + 4/3 BPM 4/3 BPM - + Tap with the beat to set the BPM to the speed you are tapping. 點擊擊敗,設置 BPM 為您正在開發的速度。 - + Tap to Beat 點擊節拍 - + Hint: Use the Library Analyze view to run BPM detection. 提示︰ 使用庫分析視圖運行 BPM 檢測。 - + Save changes and close the window. "OK" button 保存更改并关闭窗口。 - + &OK 與確定 - + Discard changes and close the window. "Cancel" button 丢弃更改并关闭窗口。 - + Save changes and keep the window open. "Apply" button 保存更改並保持視窗打開。 - + &Apply 與應用 - + &Cancel 與取消 - + (no color) (无颜色) @@ -9177,7 +9512,7 @@ Often results in higher quality beatgrids, but will not do well on tracks that h 确认(&O) - + (no color) (无颜色) @@ -9379,27 +9714,27 @@ Often results in higher quality beatgrids, but will not do well on tracks that h EngineBuffer - + Soundtouch (faster) Soundtouch (更快) - + Rubberband (better) 橡皮條 (更好) - + Rubberband R3 (near-hi-fi quality) 接近高保真质量 - + Unknown, using Rubberband (better) 未知,使用更好 - + Unknown, using Soundtouch 未知,使用 Soundtouch @@ -9614,15 +9949,15 @@ Often results in higher quality beatgrids, but will not do well on tracks that h LegacySkinParser - - + + Safe Mode Enabled Shown when Mixxx is running in safe mode. 已启用安全模式 - - + + No OpenGL support. Shown when Spinny can not be displayed. Please keep @@ -9634,57 +9969,57 @@ Shown when VuMeter can not be displayed. Please keep 支持。 - + activate 启用 - + toggle 切換 - + right - + left - + right small 右小 - + left small 左小 - + up 向上 - + down - + up small 小了 - + down small 下小 - + Shortcut 快捷方式 @@ -9692,37 +10027,37 @@ Shown when VuMeter can not be displayed. Please keep Library - + This or a parent directory is already in your library. 此目录或父目录已位于您的库中。 - + This or a listed directory does not exist or is inaccessible. Aborting the operation to avoid library inconsistencies 此目录或列出的目录不存在或无法访问。 中止操作以避免库不一致 - - + + This directory can not be read. 无法读取此目录。 - + An unknown error occurred. Aborting the operation to avoid library inconsistencies 发生未知错误。 中止操作以避免库不一致 - + Can't add Directory to Library 无法将目录添加到库 - + Could not add <b>%1</b> to your library. %2 @@ -9731,27 +10066,27 @@ Aborting the operation to avoid library inconsistencies %2 - + Can't remove Directory from Library 无法从库中删除目录 - + An unknown error occurred. 发生未知错误。 - + This directory does not exist or is inaccessible. 此目录不存在或无法访问。 - + Relink Directory 重新链接目录 - + Could not relink <b>%1</b> to <b>%2</b>. %3 @@ -9917,12 +10252,12 @@ Do you really want to overwrite it? 隱藏的曲目 - + Export to Engine DJ 导出到 Engine DJ - + Tracks 音轨 @@ -9930,37 +10265,37 @@ Do you really want to overwrite it? MixxxMainWindow - + Sound Device Busy 声音设备正忙 - + <b>Retry</b> after closing the other application or reconnecting a sound device 關閉其他應用程式或重新連接聲音設備後 <b>重試</b> - - - + + + <b>Reconfigure</b> Mixxx's sound device settings. <b>重新配置</b> Mixxx 声音设备。 - - + + Get <b>Help</b> from the Mixxx Wiki. 从 Mixxx Wiki 中获取<b>帮助</b>。 - - - + + + <b>Exit</b> Mixxx. <b>退出</b> Mixxx。 - + Retry 重试 @@ -9970,211 +10305,211 @@ Do you really want to overwrite it? 皮肤 - + Allow Mixxx to hide the menu bar? 允许 Mixxx 隐藏菜单栏? - + Hide Always show the menu bar? 隐藏 - + Always show 始终显示 - + The Mixxx menu bar is hidden and can be toggled with a single press of the <b>Alt</b> key.<br><br>Click <b>%1</b> to agree.<br><br>Click <b>%2</b> to disable that, for example if you don't use Mixxx with a keyboard.<br><br>You can change this setting any time in Preferences -> Interface.<br> Keep formatting tags <b> (bold text) and <br> (linebreak). %1 is the placeholder for the 'Always show' button label Mixxx 菜单栏是隐藏的,只需按一下<b>Alt 键</b>钥匙。<br><br>点击<b>%1</b>同意。<br><br>点击<b>%2</b>以禁用它,例如,如果您不将 Mixxx 与键盘一起使用。<br><br>您可以随时在 Preferences -> Interface 中更改此设置。<br> - + Ask me again 再问我一次 - - + + Reconfigure 重新配置 - + Help 帮助 - - + + Exit 退出 - - + + Mixxx was unable to open all the configured sound devices. Mixxx 无法打开所有要打开的音频设备 - + Sound Device Error 音频设备错误 - + <b>Retry</b> after fixing an issue 修正错误后 <b> 重试 </b> - + No Output Devices 没有输出设备 - + Mixxx was configured without any output sound devices. Audio processing will be disabled without a configured output device. Mixxx 的配置中没有任何输出设备,将会禁用音频处理操作。 - + <b>Continue</b> without any outputs. <b>繼續</b> 沒有任何產出。 - + Continue 继续 - + Load track to Deck %1 加载音轨到碟机 %1 - + Deck %1 is currently playing a track. 甲板 %1 當前播放的曲目。 - + Are you sure you want to load a new track? 你確定你想要載入一個新的軌道? - + There is no input device selected for this vinyl control. Please select an input device in the sound hardware preferences first. 尚未选择用于唱盘控制的输入设备。 请在声音硬件的首选项中选择一个输入设备。 - + There is no input device selected for this passthrough control. Please select an input device in the sound hardware preferences first. 有是沒有為此直通控制項選擇的輸入的設備。 請先在聲音硬體首選項中選擇一種輸入的設備。 - + There is no input device selected for this microphone. Do you want to select an input device? 没有为此麦克风选择输入设备。是否要选择输入设备? - + There is no input device selected for this auxiliary. Do you want to select an input device? 没有为此辅助设备选择输入设备。是否要选择输入设备? - + Scan took %1 - + No changes detected. - - + + %1 tracks in total - + %1 new tracks found - + %1 moved tracks detected - + %1 tracks are missing (%2 total) - + %1 tracks have been rediscovered - + Library scan finished - + Error in skin file 皮膚檔中的錯誤 - + The selected skin cannot be loaded. 無法載入所選的外觀。 - + OpenGL Direct Rendering OpenGL 直接繪製 - + Direct rendering is not enabled on your machine.<br><br>This means that the waveform displays will be very<br><b>slow and may tax your CPU heavily</b>. Either update your<br>configuration to enable direct rendering, or disable<br>the waveform displays in the Mixxx preferences by selecting<br>"Empty" as the waveform display in the 'Interface' section. 您的计算机上未启用直接渲染。<br><br>这意味着波形显示将非常<br><b>速度慢,并且可能会严重占用您的 CPU</b>.要么更新您的<br>配置以启用直接渲染或禁用<br>波形将通过选择 Mixxx 首选项显示在<br>“空”作为“界面”部分的波形显示。 - - - + + + Confirm Exit 确认退出 - + A deck is currently playing. Exit Mixxx? 有唱机正在播放。确定退出 Mixxx 吗? - + A sampler is currently playing. Exit Mixxx? 當前現正播放採樣器。退出 Mixxx 嗎? - + The preferences window is still open. 首選項視窗是仍處於打開狀態。 - + Discard any changes and exit Mixxx? 放棄所有更改並退出 Mixxx? @@ -10190,13 +10525,13 @@ Do you want to select an input device? PlaylistFeature - + Lock 锁定 - - + + Playlists 播放列表 @@ -10206,58 +10541,63 @@ Do you want to select an input device? 随机播放播放列表 - + + Adopt current order + + + + Unlock all playlists - + Delete all unlocked playlists - + Unlock 解鎖 - - + + Confirm Deletion - + Do you really want to delete all unlocked playlists? - + Deleting %1 unlocked playlists.<br>This operation can not be undone! - + Playlists are ordered lists of tracks that allow you to plan your DJ sets. 播放列表是有序的曲目列表,允许您规划 DJ 集。 - + It may be necessary to skip some tracks in your prepared playlist or add some different tracks in order to maintain the energy of your audience. 可能需要跳过您准备好的播放列表中的一些曲目或添加一些不同的曲目,以保持观众的活力。 - + Some DJs construct playlists before they perform live, but others prefer to build them on-the-fly. 一些DJ在他们表演之前创建播放列表,但其他人更倾向于即兴表演。 - + When using a playlist during a live DJ set, remember to always pay close attention to how your audience reacts to the music you've chosen to play. 在在线 Dj 集中使用播放列表时,请时刻注意您的听众对所选音乐的反应。 - + Create New Playlist 創建新的播放清單 @@ -10356,59 +10696,59 @@ Do you want to select an input device? QMessageBox - + Upgrading Mixxx 升级 Mixxx - + Mixxx now supports displaying cover art. Do you want to scan your library for cover files now? Mixxx现已支持显示歌曲封面。 您想要立即扫描音乐库内的封面文件吗? - + Scan 扫描 - + Later 後來 - + Upgrading Mixxx from v1.9.x/1.10.x. 從 v1.9.x/1.10.x 升級 Mixxx。 - + Mixxx has a new and improved beat detector. Mixxx 更新了节拍检测器。 - + When you load tracks, Mixxx can re-analyze them and generate new, more accurate beatgrids. This will make automatic beatsync and looping more reliable. 當你載入軌道時,Mixxx 可以重新對其進行分析和產生新的、 更準確的 beatgrids。這將使自動 beatsync 和迴圈更可靠。 - + This does not affect saved cues, hotcues, playlists, or crates. 這並不影響保存提示、 hotcues、 播放清單或板條箱。 - + If you do not want Mixxx to re-analyze your tracks, choose "Keep Current Beatgrids". You can change this setting at any time from the "Beat Detection" section of the Preferences. 若您不希望 Mixxx 重新分析音轨,请选择“保留当前节拍样式”。您可以之后在首选项中的“节拍检测”选项卡中更改此设置。 - + Keep Current Beatgrids 保留当前节拍样式 - + Generate New Beatgrids 生成新 Beatgrids @@ -10522,69 +10862,82 @@ Do you want to scan your library for cover files now? 14 位 (MSB) - + Main + Audio path indetifier 主要 - + Booth + Audio path indetifier Booth - + Headphones + Audio path indetifier 耳机 - + Left Bus + Audio path indetifier 左的巴士 - + Center Bus + Audio path indetifier 中心巴士 - + Right Bus + Audio path indetifier 右总线 - + Invalid Bus + Audio path indetifier 无效总线 - + Deck + Audio path indetifier 甲板上 - + Record/Broadcast + Audio path indetifier 錄音/廣播 - + Vinyl Control + Audio path indetifier 唱盘控制 - + Microphone + Audio path indetifier 麥克風 - + Auxiliary + Audio path indetifier 辅助 - + Unknown path type %1 + Audio path 路径类型 %1 未知 @@ -10927,47 +11280,49 @@ With width at zero, this allows for manually sweeping over the entire delay rang 寬度 - + Metronome 节拍器 - + + The Mixxx Team - + Adds a metronome click sound to the stream 向流中添加节拍器咔嗒声 - + BPM BPM - + Set the beats per minute value of the click sound 设置咔嗒声的每分钟节拍数值 - + Sync 同步 - + Synchronizes the BPM with the track if it can be retrieved 如果可以检索 Track,则将 BPM 与 Track 同步 - + + Gain - + Set the gain of metronome click sound @@ -11771,14 +12126,14 @@ Fully right: end of the effect period 不支持 OGG 录制。无法初始化 OGG/Vorbis 库。 - - + + encoder failure 编码器故障 - - + + Failed to apply the selected settings. 无法应用所选设置。 @@ -11985,15 +12340,86 @@ and the processed output signal as close as possible in perceived loudness打开 + + Auto Gain Control + + + + + AGC + + + + + Auto Gain Control (AGC) automatically adjusts the gain of an audio signal to maintain a consistent output level. + + + + Threshold (dBFS) 阈值 (dBFS) + Threshold 门槛 + + + The Threshold knob adjusts the level above which the effect starts enhancing the input signal + + + + + Target (dBFS) + + + + + Target + + + + + The Target knob adjusts the desired target level of the output signal + + + + + Gain (dB) + + + + + The Gain knob adjusts the maximum amount of gain that the effect will apply + + + + + Knee (dB) + + + + + The Knee knob defines the range around the Threshold where gain changes are applied gradually, +ensuring smooth transitions and avoiding abrupt level shifts. + + + + + The Attack knob sets the time that determines how fast the auto gain +will set in once the signal exceeds the threshold + + + + + The Release knob sets the time that determines how fast the auto gain will recover from the gain +adjustment once the signal falls under the threshold. Depending on the input signal, short release times +may introduce a 'pumping' effect and/or distortion. + + The Threshold knob adjusts the level above which the compressor starts attenuating the input signal @@ -12024,6 +12450,7 @@ At a ratio of 1:1 no compression is happening, as the input is exactly the outpu Knee (dBFS) + Knee Knee @@ -12034,11 +12461,13 @@ At a ratio of 1:1 no compression is happening, as the input is exactly the outpu Knee 旋钮用于实现更圆润的压缩曲线 + Attack (ms) + Attack @@ -12051,11 +12480,13 @@ will set in once the signal exceeds the threshold 将在信号超过阈值时设置 + Release (ms) 版本(毫秒) + Release 释放 @@ -12086,12 +12517,12 @@ may introduce a 'pumping' effect and/or distortion. 各种 - + built-in - + missing @@ -12126,42 +12557,42 @@ may introduce a 'pumping' effect and/or distortion. - + Empty - + Simple - + Filtered - + HSV - + VSyncTest - + RGB - + Stacked - + Unknown @@ -12243,7 +12674,7 @@ may introduce a 'pumping' effect and/or distortion. Hot cues - Hot cues + 即时切点 @@ -12422,193 +12853,193 @@ may introduce a 'pumping' effect and/or distortion. ShoutConnection - - + + Mixxx encountered a problem Mixxx遇到一个问题 - + Could not allocate shout_t 无法为 shout_t 分配内存 - + Could not allocate shout_metadata_t 无法为 shout_metadata_t 分配内存 - + Error setting non-blocking mode: 錯誤設置非阻塞模式︰ - + Error setting tls mode: 设置 TLS 模式时出错: - + Error setting hostname! 设置主机名时出错! - + Error setting port! 設置埠時出錯 ! - + Error setting password! 設置密碼時出錯 ! - + Error setting mount! 设置挂载点时出错! - + Error setting username! 设置i用户名时出错! - + Error setting stream name! 錯誤設置流名稱 ! - + Error setting stream description! 錯誤設置流說明 ! - + Error setting stream genre! 设置流的流派时出错! - + Error setting stream url! 设置流的 URL 时出错! - + Error setting stream IRC! 设置流 IRC 时出错! - + Error setting stream AIM! 设置流 AIM 时出错! - + Error setting stream ICQ! 设置流 ICQ 时出错! - + Error setting stream public! 錯誤設置流公共 ! - + Unknown stream encoding format! 未知的流编码格式! - + Use a libshout version with %1 enabled 使用启用了 %1 的 libshout 版本 - + Error setting stream encoding format! 设置流编码格式时出错! - + Broadcasting at 96 kHz with Ogg Vorbis is not currently supported. Please try a different sample rate or switch to a different encoding. 目前不支持使用 Ogg Vorbis 以 96 kHz 进行广播。请尝试不同的采样率或切换到不同的编码。 - + See https://github.com/mixxxdj/mixxx/issues/5701 for more information. 有关更多信息,请参阅 https://github.com/mixxxdj/mixxx/issues/5701。 - + Unsupported sample rate 不支持的采样率 - + Error setting bitrate 錯誤設置位元速率 - + Error: unknown server protocol! 错误:服务器协议未知! - + Error: Shoutcast only supports MP3 and AAC encoders 错误:Shoutcast 仅支持 MP3 和 AAC 编码器 - + Error setting protocol! 设置协议时出错! - + Network cache overflow 網路的快取溢出 - + Connection error 连接错误 - + One of the Live Broadcasting connections raised this error:<br><b>Error with connection '%1':</b><br> 其中一个 Live Broadcasting 连接引发了以下错误:<br><b>连接“%1”出错:</b><br> - + Connection message 连接消息 - + <b>Message from Live Broadcasting connection '%1':</b><br> <b>来自实时广播连接“%1”的消息:</b><br> - + Lost connection to streaming server and %1 attempts to reconnect have failed. 到流服务器的连接中断,且在 %1 次重试之后仍然无法重新连接 - + Lost connection to streaming server. 到流服务器的连接断开 - + Please check your connection to the Internet. 请检查您的互联网连接 - + Can't connect to streaming server 无法连接到流服务器 - + Please check your connection to the Internet and verify that your username and password are correct. 請檢查您連接到 Internet,請驗證您的使用者名和密碼正確。 @@ -12616,7 +13047,7 @@ may introduce a 'pumping' effect and/or distortion. SoftwareWaveformWidget - + Filtered 過濾 @@ -12624,23 +13055,23 @@ may introduce a 'pumping' effect and/or distortion. SoundManager - - + + a device 一个设备 - + An unknown error occurred 出現未知的錯誤 - + Two outputs cannot share channels on "%1" 两个输出无法共享 %1 的通道 - + Error opening "%1" 无法打开 "%1" @@ -12825,7 +13256,7 @@ may introduce a 'pumping' effect and/or distortion. - + Spinning Vinyl 紡紗乙烯基 @@ -13007,7 +13438,7 @@ may introduce a 'pumping' effect and/or distortion. - + Cover Art 封面 @@ -13197,243 +13628,243 @@ may introduce a 'pumping' effect and/or distortion. 启用时,将低频均衡器的增益置为 0。 - + Displays the tempo of the loaded track in BPM (beats per minute). 显示已加载音轨的BPM(拍每分钟)。 - + Tempo 速度 - + Key The musical key of a track 關鍵 - + BPM Tap BPM 敲击 - + When tapped repeatedly, adjusts the BPM to match the tapped BPM. 若重复点击,将把音轨的 BPM 设为点击动作的 BPM。 - + Adjust BPM Down 向下調整 BPM - + When tapped, adjusts the average BPM down by a small amount. 点击时,将平均 BPM 略微下调。 - + Adjust BPM Up 上调 BPM - + When tapped, adjusts the average BPM up by a small amount. 當敲擊時,通過少量向上調整平均 BPM。 - + Adjust Beats Earlier 早些時候調整節拍 - + When tapped, moves the beatgrid left by a small amount. 當敲擊時,移動 beatgrid 留下的一小部分。 - + Adjust Beats Later 推迟节拍 - + When tapped, moves the beatgrid right by a small amount. 点击时,将节拍略微推迟。 - + Tempo and BPM Tap 速度和 BPM - + Show/hide the spinning vinyl section. 显示/隐藏唱盘控制器。 - + Keylock 鑰匙鎖 - + Toggling keylock during playback may result in a momentary audio glitch. 在回放时切换音高锁定可能会导致音频出现瞬间的噪音(glitch)。 - + Toggle visibility of Loop Controls 切换 Loop Controls 的可见性 - + Toggle visibility of Beatjump Controls 切换 Beatjump 控件的可见性 - + Toggle visibility of Rate Control 切换速率控制的可见性 - + Toggle visibility of Key Controls 切换键控的可见性 - + (while previewing) (预览时) - + Places a cue point at the current position on the waveform. 在波形的当前位置上设置一个切入点。 - + Stops track at cue point, OR go to cue point and play after release (CUP mode). 在切入点处停止,或跳至切入点并在释放后播放(切播模式下)。 - + Set cue point (Pioneer/Mixxx/Numark mode), set cue point and play after release (CUP mode) OR preview from it (Denon mode). 设置切入点(Pioneer/Mixxx 模式下)并在释放后开始播放(切播模式下),或从切入点出开始预览(Denon 模式下)。 - + Is latching the playing state. 正在锁定播放状态。 - + Seeks the track to the cue point and stops. 跳至音轨的切入点,然后停止。 - + Play 播放 - + Plays track from the cue point. 从提示点播放轨道。 - + Sends the selected channel's audio to the headphone output, selected in Preferences -> Sound Hardware. 将所选通道的音频发送到在偏好设置 -> 声音硬件中选择的耳机输出。 - + (This skin should be updated to use Sync Lock!) 这个皮肤应该更新一下,使用同步锁! - + Enable Sync Lock 启用 Sync Lock - + Tap to sync the tempo to other playing tracks or the sync leader. 点击可将速度同步到其他正在播放的轨道或同步引导。 - + Enable Sync Leader 启用 Sync Leader - + When enabled, this device will serve as the sync leader for all other decks. 启用后,此设备将用作所有其他 Deck 的同步引导。 - + This is relevant when a dynamic tempo track is loaded to a sync leader deck.In that case, other synced devices will adopt the changing tempo. 当动态速度轨道加载到同步引导界面时,这一点很重要。在这种情况下,其他同步装置将采用不断变化的速度。 - + Changes the track playback speed (affects both the tempo and the pitch). If keylock is enabled, only the tempo is affected. 更改跟蹤重播速度 (影響節奏和音高)。如果啟用了鍵盤鎖,只有節奏受到影響。 - + Tempo Range Display 速度范围显示 - + Displays the current range of the tempo slider. 显示速度滑块的当前范围。 - + Un-ejects when no track is loaded, i.e. reloads the track that was ejected last (of any deck). 未加载 track 时取消弹出,即重新加载最后弹出的 track (任何卡座)。 - + Delete selected hotcue. 删除选定的 hotcue。 - + Track Comment 轨道评级 - + Displays the comment tag of the loaded track. 显示加载的轨道的注释标签。 - + Opens separate artwork viewer. 打开单独的图稿查看器。 - + Effect Chain Preset Settings Effect Chain 预设设置 - + Show the effect chain settings menu for this unit. 显示本机的 Effect Chain 设置菜单。 - + Select and configure a hardware device for this input 为此输入选择并配置硬件设备 - + Recording Duration 录制时间 @@ -13656,949 +14087,984 @@ may introduce a 'pumping' effect and/or distortion. 在活动时保持较高的播放速度(少量)。 - + When tapped repeatedly, adjusts the tempo to match the tapped BPM. 若重复点击,将把音轨的 BPM 设为点击动作的 BPM。 + + + Click to open the tempo/BPM editor + + + + + It also shows a colored bar if Key colors are enabled in the Preferences. + + + The bar will be split vertically if the track's key is in between full keys. + + + + Tempo Tap 节奏敲击 - + Rate Tap and BPM Tap Rate Tap 和 BPM Tap - + + Set Tempo + + + + + Set the desired tempo in BPM. If the track currently has no BPM detected, set the desired tempo in percent. + + + + Adjust beatgrid by exactly one half beat. Usable only on tracks with constant tempo. - + Revert last BPM/Beatgrid Change 还原上次 BPM/节拍网格 更改 - + Revert last BPM/Beatgrid Change of the loaded track. 还原上次 BPM/节拍网格 对加载曲目的更改。 - - + + Toggle the BPM/beatgrid lock 切换 BPM/节拍网格 锁 - + Tempo and Rate Tap 速度和 BPM - + Tempo, Rate Tap and BPM Tap 速度、速率拍子和 BPM 拍子 - + Shift cues earlier 提前移动提示 - - + + Shift cues imported from Serato or Rekordbox if they are slightly off time. 从 Serato 或 Rekordbox 导入的 Shift 提示点(如果它们稍微偏离时间)。 - + Left click: shift 10 milliseconds earlier 左键单击:提前 10 毫秒 Shift - + Right click: shift 1 millisecond earlier 右键单击:提前 1 毫秒 Shift - + Shift cues later 稍后切换提示 - + Left click: shift 10 milliseconds later 左键单击:10 毫秒后 shift - + Right click: shift 1 millisecond later 右键单击:1 毫秒后 Shift - - - + + + Drag a Hotcue button here to continue playing after releasing the Hotcue. - + Hint: Change the default cue mode in Preferences -> Decks. - + Mutes the selected channel's audio in the main output. 将主输出中所选声道的音频静音。 - + Main mix enable 主混音启用 - + Hold or short click for latching to mix this input into the main output. 按住或短按锁定以将此输入混合到主输出中。 - + + Reloads the last replaced track. If no track is loaded reloads the second-last ejected track. + + + + If hotcue is a loop cue, toggles the loop and jumps to if the loop is behind the play position. 如果 hotcue 是一个 Loop 提示,则切换 Loop 并跳转到 Loop 是否在播放位置后面。 - + If the play position is inside an active loop, stores the loop as loop cue. 如果播放位置位于活动 Loop 内,则将 Loop 存储为 Loop 提示。 - + Drag this button onto another Hotcue button to move it there (change its index). If the other hotcue is set, the two are swapped. - + Expand/Collapse Samplers 展开/折叠采样器 - + Toggle expanded samplers view. 切换展开的采样器视图。 - + Displays the duration of the running recording. 显示运行录制的持续时间。 - + Auto DJ is active Auto DJ 处于活动状态 - + Red for when needle skip has been detected. 红色表示检测到跳针。 - + Hot Cue - Track will seek to nearest previous hotcue point. 热切 - 将会定位到上一个(最近的)热切入点。 - + Sets the track Loop-In Marker to the current play position. 将当前播放位置设为碟机循环起始位置。 - + Press and hold to move Loop-In Marker. 按住可移动 Loop-In 标记。 - + Jump to Loop-In Marker. 跳转到 Loop-In 标记。 - + Sets the track Loop-Out Marker to the current play position. 将当前播放位置设为碟机循环起始位置。 - + Press and hold to move Loop-Out Marker. 按住可移动 Loop-Out Marker。 - + Jump to Loop-Out Marker. 跳转到 Loop-Out Marker。 - + If the track has no beats the unit is seconds. 如果轨道没有节拍,则单位为秒。 - + Beatloop Size Beatloop 大小 - + Select the size of the loop in beats to set with the Beatloop button. 选择 Loop 的大小(以节拍为单位),以使用 Beatloop 按钮进行设置。 - + Changing this resizes the loop if the loop already matches this size. 如果 loop 已经匹配此大小,则更改此 URL 将调整 Loop 的大小。 - + Halve the size of an existing beatloop, or halve the size of the next beatloop set with the Beatloop button. 将现有 Beatloop 的大小减半,或使用 Beatloop 按钮将下一个 Beatloop 集的大小减半。 - + Double the size of an existing beatloop, or double the size of the next beatloop set with the Beatloop button. 使用 Beatloop 按钮将现有 Beatloop 的大小增加一倍,或将下一个 Beatloop 集的大小增加一倍。 - + Start a loop over the set number of beats. 在设定的节拍数上开始循环。 - + Temporarily enable a rolling loop over the set number of beats. 在设定的节拍数上暂时启用滚动循环。 - + Beatloop Anchor Beatloop 固定点 - + Define whether the loop is created and adjusted from its staring point or ending point. 定义是否从其起始点或终点创建和调整循环。 - + Beatjump/Loop Move Size Beatjump/Loop 移动大小 - + Select the number of beats to jump or move the loop with the Beatjump Forward/Backward buttons. 选择要跳跃的节拍数,或使用 Beatjump Forward/Backward 按钮移动 Loop。 - + Beatjump Forward Beatjump 向前 - + Jump forward by the set number of beats. 向前跳动设定的节拍数。 - + Move the loop forward by the set number of beats. 将 Loop 向前移动设定的节拍数。 - + Jump forward by 1 beat. 向前跳 1 拍 - + Move the loop forward by 1 beat. 将循环向前移动 1 拍 - + Beatjump Backward 向后跳拍 - + Jump backward by the set number of beats. 向后跳过指定数量的节拍。 - + Move the loop backward by the set number of beats. 将循环向后移动指定数量的节拍。 - + Jump backward by 1 beat. 向后跳 1 拍 - + Move the loop backward by 1 beat. 将循环向后移动 1 拍 - + Reloop 再循环 - + If the loop is ahead of the current position, looping will start when the loop is reached. 如果在当前播放位置前方有循环节的话,将会在到达循环的时候开始循环。 - + Works only if Loop-In and Loop-Out Marker are set. 仅当设置了循环起始和结束位置时才会有效。 - + Enable loop, jump to Loop-In Marker, and stop playback. 启用 loop,跳转到 Loop-In Marker,然后停止播放。 - + Displays the elapsed and/or remaining time of the track loaded. 显示加载跟踪的经过和 (或) 剩余时间。 - + Click to toggle between time elapsed/remaining time/both. 单击可切换时间/剩余时间时间或两者。 - + Hint: Change the time format in Preferences -> Decks. 提示:在 Preferences -> Decks 中更改时间格式。 - + Show/hide intro & outro markers and associated buttons. 显示/隐藏介绍和结尾标记以及相关按钮。 - + + Ensure all waveforms to have the same height across all channels. By default, when displaying the stem controls, waveform for channel that have no stem may render with a shorter height in order to honor the waveform container size you have requested.. + + + + Intro Start Marker 介绍开始标记 - - - - + + + + If marker is set, jumps to the marker. 如果设置了 marker,则跳转到 marker。 - - - - + + + + If marker is not set, sets the marker to the current play position. 如果未设置 marker,则将 marker 设置为当前播放位置。 - - - - + + + + If marker is set, clears the marker. 如果设置了 marker,则清除 marker。 - + Intro End Marker 介绍结束标记 - + Outro Start Marker 结尾部分开始标记 - + Outro End Marker 结尾部分结束标记 - + Mix 混合 - + Adjust the mixing of the dry (input) signal with the wet (output) signal of the effect unit 调整效果器单元的干 (input) 信号与湿 (output) 信号的混合 - + D/W mode: Crossfade between dry and wet D/W 模式:干湿交叉淡入淡出 - + D+W mode: Add wet to dry D+W 模式:从湿到干 - + Mix Mode 混合模式 - + Adjust how the dry (input) signal is mixed with the wet (output) signal of the effect unit 调整干 (输入) 信号与效果单元的湿 (输出) 信号的混合方式 - + Dry/Wet mode (crossed lines): Mix knob crossfades between dry and wet Use this to change the sound of the track with EQ and filter effects. 干/湿模式(交叉线):混合旋钮在干湿之间交叉淡化 使用此选项可通过 EQ 和滤波器效果更改轨道的声音。 - + Dry+Wet mode (flat dry line): Mix knob adds wet to dry Use this to change only the effected (wet) signal with EQ and filter effects. 干 + 湿模式(平坦干线):混合旋钮将湿添加到干 使用此选项可仅更改带有 EQ 和滤波器效果的效果(湿)信号。 - + Route the main mix through this effect unit. 通过此效果器单元路由主混音。 - + Route the left crossfader bus through this effect unit. 将左侧的交叉推子总线路由到此效果器单元中。 - + Route the right crossfader bus through this effect unit. 将右侧的 Crossfader 总线路由到此效果器单元中 - + Right side active: parameter moves with right half of Meta Knob turn 右侧激活:参数随着 Meta 旋钮的右半部分转动而移动 - + Stem Label - + Name of the stem stored in the stem file - + Text is displayed in the stem color stored in the stem file - + this stem color is also used for the waveform of this stem - + Stem Mute - + Toggle the stem mute/unmuted - + Stem Volume Knob - + Adjusts the volume of the stem - + Skin Settings Menu Skin Settings 菜单 - + Show/hide skin settings menu 显示/隐藏皮肤设置菜单 - + Save Sampler Bank 保存採樣器銀行 - + Save the collection of samples loaded in the samplers. 保存采样器中加载的样本集合。 - + Load Sampler Bank 加载采样库 - + Load a previously saved collection of samples into the samplers. 将以前保存的样本集合加载到采样器中。 - + Show Effect Parameters 顯示效果器的參數 - + Enable Effect 启用特效 - + Meta Knob Link 元旋钮链接 - + Set how this parameter is linked to the effect's Meta Knob. 设置此参数如何链接到效果的 Meta 旋钮。 - + Meta Knob Link Inversion 元旋钮链接反演 - + Inverts the direction this parameter moves when turning the effect's Meta Knob. 反转此参数时效果的 Meta 旋钮移动的方向。 - + Super Knob 超級旋鈕 - + Next Chain 下一效果器链 - + Previous Chain 上一效果器链 - + Next/Previous Chain 下一個/上一個鏈 - + Clear 清除 - + Clear the current effect. 清除當前的效果。 - + Toggle 切換 - + Toggle the current effect. 切換當前效果。 - + Next 下一個 - + Clear Unit 清除單元 - + Clear effect unit. 單位明確效果。 - + Show/hide parameters for effects in this unit. 显示/隐藏此单元中效果的参数。 - + Toggle Unit 切換單元 - + Enable or disable this whole effect unit. 启用或禁用整个效果单元。 - + Controls the Meta Knob of all effects in this unit together. 同时控制该单元中所有效果的 Meta 旋钮。 - + Load next effect chain preset into this effect unit. 将 next effect chain 预设加载到此效果单元中。 - + Load previous effect chain preset into this effect unit. 将上一个效果链预设加载到此效果单元中。 - + Load next or previous effect chain preset into this effect unit. 将下一个或上一个效果链预设加载到此效果单元中。 - - - - - - - - - + + + + + + + + + Assign Effect Unit 分配效果单元 - + Assign this effect unit to the channel output. 将此效果器单元分配给通道输出。 - + Route the headphone channel through this effect unit. 通过此效果器单元路由耳机通道。 - + Route this deck through the indicated effect unit. 将此 Deck 路由到指定的效果单位。 - + Route this sampler through the indicated effect unit. 将此采样器路由到指示的效果器单元。 - + Route this microphone through the indicated effect unit. 将此麦克风路由到指示的效果器单元。 - + Route this auxiliary input through the indicated effect unit. 通过指示的效果器单元路由此辅助输入 - + The effect unit must also be assigned to a deck or other sound source to hear the effect. 还必须将效果单元分配给 Deck 或其他声源才能听到效果。 - + Switch to the next effect. 切换至下一个效果。 - + Previous 前一個 - + Switch to the previous effect. 切换至之前的效果。 - + Next or Previous 下一个或上一个 - + Switch to either the next or previous effect. 切換到下一個或上一個效果。 - + Meta Knob 元旋钮 - + Controls linked parameters of this effect 这种效应的控制链接的参数 - + Effect Focus Button 影响对焦按钮 - + Focuses this effect. 针对这种效果。 - + Unfocuses this effect. Unfocuses 这种效果。 - + Refer to the web page on the Mixxx wiki for your controller for more information. 您的控制器的详细信息,请参阅 Mixxx wiki 上的 web 页。 - + Effect Parameter 影響參數 - + Adjusts a parameter of the effect. 调整效果器的参数。 - + Inactive: parameter not linked Inactive:参数未链接 - + Active: parameter moves with Meta Knob Active(活动):参数随 Meta 旋钮移动 - + Left side active: parameter moves with left half of Meta Knob turn 左侧激活:参数随着 Meta 旋钮的左半部分转动而移动 - + Left and right side active: parameter moves across range with half of Meta Knob turn and back with the other half 左侧和右侧激活:参数在切换距离时移动,Meta 旋钮的一半转动,另一半转动 - - + + Equalizer Parameter Kill 均衡器参数置零 - - + + Holds the gain of the EQ to zero while active. 情商的增益堅持零的活躍。 - + Quick Effect Super Knob 快捷效果的超级旋钮 - + Quick Effect Super Knob (control linked effect parameters). 快捷效果超级旋钮(控制关联的效果参数)。 - + Hint: Change the default Quick Effect mode in Preferences -> Equalizers. 提示:可以在 首选项 -> 均衡器 设置中更改默认的快捷效果模式。 - + Equalizer Parameter 均衡器参数 - + Adjusts the gain of the EQ filter. 調整 EQ 濾波器的增益。 - + Hint: Change the default EQ mode in Preferences -> Equalizers. 提示︰ 更改預設首選項中的情商模式網站-> 等化器。 - - + + Adjust Beatgrid 调整节拍 - + Adjust beatgrid so the closest beat is aligned with the current play position. 所以最近的節拍與當前播放位置對齊調整 beatgrid。 - - + + Adjust beatgrid to match another playing deck. 调整节拍样式以匹配另一个正在播放的碟机。 - + If quantize is enabled, snaps to the nearest beat. 若启用量化,则对齐到最近的节拍。 - + Quantize 量化 - + Toggles quantization. 切換量化。 - + Loops and cues snap to the nearest beat when quantization is enabled. 若启用量化,循环和切入点将对齐到最近的节拍。 - + Reverse 反向 - + Reverses track playback during regular playback. 反轉跟蹤定期播放期間播放。 - + Puts a track into reverse while being held (Censor). 按下时,将音轨反向。 - + Playback continues where the track would have been if it had not been temporarily reversed. 在继续播放的同时,将音轨反转(若之前尚未反转的话)。 - - - + + + Play/Pause 播放/暫停 - + Jumps to the beginning of the track. 跳轉到的磁軌起點。 - + Syncs the tempo (BPM) and phase to that of the other track, if BPM is detected on both. 同步的節奏 (BPM) 和相位的另一條鐵軌,如果 BPM 檢測到兩個。 - + Syncs the tempo (BPM) to that of the other track, if BPM is detected on both. 如果 BPM 在兩個上檢測到的另一條鐵軌,同步節奏 (BPM)。 - + Sync and Reset Key 同步和重置金鑰 - + Increases the pitch by one semitone. 增加一個半音的球場。 - + Decreases the pitch by one semitone. 減少一個半音的球場。 - + Enable Vinyl Control 启用唱盘控制 - + When disabled, the track is controlled by Mixxx playback controls. 當禁用時,軌道被受 Mixxx 播放控制項。 - + When enabled, the track responds to external vinyl control. 當啟用時,跟蹤回應外部乙烯控制。 - + Enable Passthrough 啟用直通 - + Indicates that the audio buffer is too small to do all audio processing. 指示音訊緩衝區太小,做所有的音訊處理。 - + Displays cover artwork of the loaded track. 显示已加载音轨的封面。 - + Displays options for editing cover artwork. 顯示用於編輯封面插圖選項。 - + Star Rating 星級 - + Assign ratings to individual tracks by clicking the stars. 通過按一下星星將評級分配到單獨曲目。 @@ -14733,33 +15199,33 @@ Use this to change only the effected (wet) signal with EQ and filter effects.麦克风闪避强度 - + Prevents the pitch from changing when the rate changes. 当速率改变时,防止音高也改变。 - + Changes the number of hotcue buttons displayed in the deck 更改 Deck 中显示的 hotcue 按钮的数量 - + Starts playing from the beginning of the track. 開始從軌道開始播放。 - + Jumps to the beginning of the track and stops. 跳轉到的磁軌起點和停止。 - - + + Plays or pauses the track. 播放或暂停音轨。 - + (while playing) (當演奏) @@ -14779,215 +15245,215 @@ Use this to change only the effected (wet) signal with EQ and filter effects.主通道 R 音量表 - + (while stopped) (雖然停止) - + Cue 提示 - + Headphone 耳机 - + Mute 静音 - + Old Synchronize 老同步 - + Syncs to the first deck (in numerical order) that is playing a track and has a BPM. 到第一 (按數值順序) 甲板播放的曲目並具有 BPM 同步。 - + If no deck is playing, syncs to the first deck that has a BPM. 若没有正在播放的碟机,与第一个有 BPM 信息的碟机同步。 - + Decks can't sync to samplers and samplers can only sync to decks. 无法将碟机与采样器同步,采样器仅能与碟机同步。 - + Hold for at least a second to enable sync lock for this deck. 按住一秒钟,可以启用此碟机的同步锁定。 - + Decks with sync locked will all play at the same tempo, and decks that also have quantize enabled will always have their beats lined up. 启用了同步锁定的碟机将会以相同的速度播放;其中启用了量化模式的碟机还会自动同步节拍。 - + Resets the key to the original track key. 重置为音轨的原音调。 - + Speed Control 速度控制 - - - + + + Changes the track pitch independent of the tempo. 保持速度不变的前提下,改变音轨音高。 - + Increases the pitch by 10 cents. 增加 10 美分的球場。 - + Decreases the pitch by 10 cents. 減少 10 美分的球場。 - + Pitch Adjust 调整音高 - + Adjust the pitch in addition to the speed slider pitch. 調整除了速度滑塊球場球場。 - + Opens a menu to clear hotcues or edit their labels and colors. 打开一个菜单以清除 Hotcue 或编辑其标签和颜色。 - + Drag this button onto a Play button while previewing to continue playback after release. - + Dragging with Shift key pressed will not start previewing the hotcue. - + Record Mix 录制混音 - + Toggle mix recording. 切换混音录制。 - + Enable Live Broadcasting 啟用即時廣播 - + Stream your mix over the Internet. 在互聯網上流你的組合。 - + Provides visual feedback for Live Broadcasting status: 为在线广播的状态提供可视化反馈: - + disabled, connecting, connected, failure. 禁用,連接,連接,失敗。 - + When enabled, the deck directly plays the audio arriving on the vinyl input. 若启用,碟机将会直接播放来自唱盘的输入信号。 - + Playback will resume where the track would have been if it had not entered the loop. 播放將恢復在軌道本來如果不進入了迴圈。 - + Loop Exit 循環關閉 - + Turns the current loop off. 关闭当前循环。 - + Slip Mode 滑动模式 - + When active, the playback continues muted in the background during a loop, reverse, scratch etc. 若启用,将会在循环、反向或刮擦的时候将回放信号静音。 - + Once disabled, the audible playback will resume where the track would have been. 一旦禁用,聲音播放將恢復本來的軌道。 - + Track Key The musical key of a track 音轨音调 - + Displays the musical key of the loaded track. 显示已加载音轨的音调。 - + Clock 时钟 - + Displays the current time. 显示当前时间。 - + Audio Latency Usage Meter 音訊延遲用量表 - + Displays the fraction of latency used for audio processing. 显示用于音频处理的延迟分数。 - + A high value indicates that audible glitches are likely. 較高的值表明發聲的故障都有可能。 - + Do not enable keylock, effects or additional decks in this situation. 在这个情况不要启用音调锁,效果器或者额外的碟机。 - + Audio Latency Overload Indicator 音訊延遲超載指示器 @@ -15027,259 +15493,259 @@ Use this to change only the effected (wet) signal with EQ and filter effects.啟動從功能表-選項 > 乙烯控制。 - + Displays the current musical key of the loaded track after pitch shifting. 顯示載入跟蹤當前音樂鍵後變調。 - + Fast Rewind 快退 - + Fast rewind through the track. 音轨快退。 - + Fast Forward 快进 - + Fast forward through the track. 通過跟蹤的快速前進。 - + Jumps to the end of the track. 跳至音轨结束点。 - + Sets the pitch to a key that allows a harmonic transition from the other track. Requires a detected key on both involved decks. 选择音调的音高,以便从其他音轨进行和声转换。需要双方碟机均已检测到音调信息。 - - - + + + Pitch Control 變槳距控制 - + Pitch Rate 音高率 - + Displays the current playback rate of the track. 顯示當前播放率的軌道。 - + Repeat 重复 - + When active the track will repeat if you go past the end or reverse before the start. 活動時軌道將重複如果你走過結束或之前開始扭轉。 - + Eject 彈出 - + Ejects track from the player. 彈出從球員的軌道。 - + Hotcue 热切点(Hotcue) - + If hotcue is set, jumps to the hotcue. 若设置了热切,将会跳至热切点。 - + If hotcue is not set, sets the hotcue to the current play position. 如果未設置 hotcue,將 hotcue 設置為當前的播放位置。 - + Vinyl Control Mode 黑膠盤控制模式 - + Absolute mode - track position equals needle position and speed. 绝对模式 - 音轨位置与播放指针的位置和速度一致。 - + Relative mode - track speed equals needle speed regardless of needle position. 相对模式 - 音轨速度与播放指针速度一致(无论指针处于哪个位置) - + Constant mode - track speed equals last known-steady speed regardless of needle input. 持續模式-跟蹤速度等於針輸入最後一個已知穩定速度。 - + Vinyl Status 乙烯基狀態 - + Provides visual feedback for vinyl control status: 为唱盘控制器的状态提供可视化反馈: - + Green for control enabled. 绿色表示已启用控制。 - + Blinking yellow for when the needle reaches the end of the record. 黄色(闪烁)表示播放指针到达记录结尾。 - + Loop-In Marker 迴圈中的標記 - + Loop-Out Marker 圈出標記 - + Loop Halve 循环减半 - + Halves the current loop's length by moving the end marker. 移动循环结束标记,使得循环长度减半。 - + Deck immediately loops if past the new endpoint. 在到达新的结束位置后,碟机将会立即循环。 - + Loop Double 循環雙倍 - + Doubles the current loop's length by moving the end marker. 移动循环结束标记,使得循环长度加倍。 - + Beatloop 节拍循环 - + Toggles the current loop on or off. 开启或关闭当前循环。 - + Works only if Loop-In and Loop-Out marker are set. 只當回路中的作品和迴圈出標記設置。 - + Vinyl Cueing Mode 唱盘Cueing模式 - + Determines how cue points are treated in vinyl control Relative mode: 確定如何將提示點處理在乙烯基控制相對模式下︰ - + Off - Cue points ignored. 关闭 - 忽略切入点。 - + One Cue - If needle is dropped after the cue point, track will seek to that cue point. 一個提示-如果針下降後提示點,軌道尋求那提示點。 - + Track Time 音轨时间 - + Track Duration 音轨长度 - + Displays the duration of the loaded track. 显示已加载的音轨的长度。 - + Information is loaded from the track's metadata tags. 已从音轨的元数据标签中载入 信息。 - + Track Artist 曲目演出者 - + Displays the artist of the loaded track. 顯示載入跟蹤的演出者。 - + Track Title 曲目標題 - + Displays the title of the loaded track. 顯示載入跟蹤的標題。 - + Track Album 专辑 - + Displays the album name of the loaded track. 顯示載入跟蹤的專輯名稱。 - + Track Artist/Title 音轨艺术家/标题 - + Displays the artist and title of the loaded track. 顯示的演出者和標題載入跟蹤。 @@ -15510,47 +15976,75 @@ This can not be undone! WCueMenuPopup - + Cue number 提示编号 - + Cue position 提示位置 - + Edit cue label Edit cue label(编辑提示标签) - + Label... 标签 - + Delete this cue 删除此提示 - - Toggle this cue type between normal cue and saved loop - 在正常提示点和保存的 Loop 之间切换此提示类型 + + Turn this cue into a regular hotcue + + + + + Turn this cue into a saved loop + + + + + Left-click: Use the old size if known or the current beatloop size as the loop size + + + + + Right-click: Use the current play position as new loop end if it is after the cue + + + + + Turn this cue into a saved forward jump. + + is a linebreak. Try to not to extend the translation beyond the length of the longest source line so the tooltip remains compact. + + + + + Turn this cue into a saved backward jump (one shot loop). + - - Left-click: Use the old size or the current beatloop size as the loop size - 左键单击:使用旧大小或当前 Beatloop 大小作为 Loop 大小 + + Left-click: Use the old size if known or the current play position as jump start position +If this is already a jump cue, swap the jump position and the cue/target position. + - - Right-click: Use the current play position as loop end if it is after the cue - 右键点击:如果当前播放位置在 cue 之后,则将其用作 Loop 结束 + + Right-click: use current play position as new jump start position + - + Hotcue #%1 热提示 #%1 @@ -15852,171 +16346,181 @@ This can not be undone! + Show Auto DJ + + + + + Switch to the Auto DJ view. + + + + &Full Screen 全屏(&F) - + Display Mixxx using the full screen 使用全螢幕的顯示 Mixxx - + &Options 选项(&O) - + &Vinyl Control 與乙烯基控制 - + Use timecoded vinyls on external turntables to control Mixxx 对外部转盘使用时间编码的唱盘控制,以便控制 Mixxx - + Enable Vinyl Control &%1 啟用乙烯控制 & %1 - + &Record Mix 與記錄組合 - + Record your mix to a file 記錄你組合到一個檔 - + Ctrl+R Ctrl+R - + Enable Live &Broadcasting 啟用即時 & 廣播 - + Stream your mixes to a shoutcast or icecast server 将混音通过流输出到 shoutcast 或 icecast 服务器 - + Ctrl+L 按 Ctrl + L - + Enable &Keyboard Shortcuts 启用键快捷键(&K) - + Toggles keyboard shortcuts on or off 键盘快捷键开关 - + Ctrl+` 按 Ctrl +' - + &Preferences 首选项(&P) - + Change Mixxx settings (e.g. playback, MIDI, controls) 改變 Mixxx 的設置 (例如播放 MIDI,控制項) - + &Developer 與開發人員 - + &Reload Skin 重载皮肤(&R) - + Reload the skin 重新載入皮膚 - + Ctrl+Shift+R Ctrl+Shift+R - + Developer &Tools 开发者工具(&T) - + Opens the developer tools dialog 打開開發人員工具對話方塊 - + Ctrl+Shift+T Ctrl + Shift + T - + Stats: &Experiment Bucket 統計: & 實驗鬥 - + Enables experiment mode. Collects stats in the EXPERIMENT tracking bucket. 使實驗模式。收集統計實驗跟蹤存儲桶中。 - + Ctrl+Shift+E Ctrl+Shift+E - + Stats: &Base Bucket 統計: & 基地鬥 - + Enables base mode. Collects stats in the BASE tracking bucket. 启用基础模式。统计数据将会收集到基础跟踪桶中。 - + Ctrl+Shift+B Ctrl+Shift+B - + Deb&ugger Enabled 调试器已启用(&U) - + Enables the debugger during skin parsing 在皮膚分析過程中啟用調試器 - + Ctrl+Shift+D 按 Ctrl + Shift + D - + &Help 與説明 @@ -16050,62 +16554,62 @@ This can not be undone! F12 - + &Community Support 社区帮助(&C) - + Get help with Mixxx 獲得 Mixxx 的説明 - + &User Manual 與使用者手冊 - + Read the Mixxx user manual. 閱讀 Mixxx 使用者手冊。 - + &Keyboard Shortcuts 键盘快捷键(&K) - + Speed up your workflow with keyboard shortcuts. 加快您的工作流使用鍵盤快速鍵。 - + &Settings directory &设置目录 - + Open the Mixxx user settings directory. 打开 Mixxx 用户设置目录。 - + &Translate This Application 翻译这个程序(&T) - + Help translate this application into your language. 幫忙翻譯成您的語言此應用程式。 - + &About 关于(&A) - + About the application 有關應用程式 @@ -16113,25 +16617,25 @@ This can not be undone! WOverview - + Passthrough 直通 - + Ready to play, analyzing... Text on waveform overview when file is playable but no waveform is visible 音轨已就绪,正在分析 .. - - + + Loading track... Text on waveform overview when file is cached from source 正在加载曲目... - + Finalizing... Text on waveform overview during finalizing of waveform analysis 完成处理 ... @@ -16321,627 +16825,642 @@ This can not be undone! WTrackMenu - + Load to 载入到 - + Deck 甲板上 - + Sampler 取樣器 - + Add to Playlist 添加到播放列表 - + Crates 分类列表 - + Metadata 元数据 - + Update external collections 更新外部集合 - + Cover Art 封面 - + Adjust BPM 调节 BPM - + Select Color 选择颜色 - - + + Analyze 分析 - - + + Delete Track Files 删除音轨数据 - + Add to Auto DJ Queue (bottom) 添加至自动 DJ 队列(底部) - + Add to Auto DJ Queue (top) 添加至自动 DJ 队列(顶部) - + Add to Auto DJ Queue (replace) 加入自動 DJ 柱列 (取代) - + Preview Deck 预览碟机 - + Remove 刪除 - + Remove from Playlist 从播放列表中删除 - + Remove from Crate 从播放列表中删除 - + Hide from Library 隱藏從庫 - + Unhide from Library 從圖書館取消隱藏 - + Purge from Library 从媒体库中清除 - + Move Track File(s) to Trash 将轨道文件移至废纸篓 - + Delete Files from Disk 从磁盘中删除文件 - + Properties 属性 - + Open in File Browser 在文件管理器中打开 - + Select in Library 在库中选择 - + Import From File Tags 从文件标签导入 - + Import From MusicBrainz 从 MusicBrainz 导入 - + Export To File Tags 导出文件属性 - + BPM and Beatgrid 拍速和拍格 - + Play Count 播放计数 - + Rating 评分 - + Cue Point 播放點 - - + + Hotcues 即时切点 - + Intro v - + Outro 结尾 - + Key 關鍵 - + ReplayGain 播放音量增益 - + Waveform 波形 - + Comment 备注 - + All 全部 - + Sort hotcues by position (remove offsets) - + Sort hotcues by position - + Lock BPM BPM 鎖 - + Unlock BPM 拍速解锁 - + Double BPM 拍速倍增 - + Halve BPM 減半 BPM - + 2/3 BPM 2/3 BPM - + 3/4 BPM 3/4 BPM - + 4/3 BPM 4/3 BPM - + 3/2 BPM 3/2 BPM - + Shift Beatgrid Half Beat - + Reanalyze 重新分析 - + Reanalyze (constant BPM) 重新分析(恒定 BPM) - + Reanalyze (variable BPM) 重新分析(变量 BPM) - + Update ReplayGain from Deck Gain 更新Deck Gain的ReplayGain - + Deck %1 甲板 %1 - + Importing metadata of %n track(s) from file tags 从文件标签导入 %n 个轨道的元数据 - + Marking metadata of %n track(s) to be exported into file tags 标记要导出到文件标签的 %n 个轨道的数据 - - + + Create New Playlist 創建新的播放清單 - + Enter name for new playlist: 輸入新播放清單名稱︰ - + New Playlist 新播放清單 - - - + + + Playlist Creation Failed 播放清單創建失敗 - + A playlist by that name already exists. 使用该名称的播放列表已存在。 - + A playlist cannot have a blank name. 播放清單名稱不能為空白。 - + An unknown error occurred while creating playlist: 建立播放清單時發生未知的錯誤︰ - + Add to New Crate 添加至分类列表 - + Scaling BPM of %n track(s) 缩放 %n 个磁道的 BPM - + Undo BPM/beats change of %n track(s) 撤消 BPM/节拍 %n 个轨道的更改 - + Locking BPM of %n track(s) 锁定 %n 个磁道的 BPM - + Unlocking BPM of %n track(s) 解锁 %n 个磁道的 BPM - + Setting rating of %n track(s) 清除 %n 条轨道的评级 - + Setting color of %n track(s) 设置 %n 个轨道的颜色 - + Resetting play count of %n track(s) 重置 %n 个轨道的播放计数 - + Resetting beats of %n track(s) 重置 %n 个轨道的节拍 - + Clearing rating of %n track(s) 清除 %n 条磁道的评级 - + Clearing comment of %n track(s) 正在清除 %n 个轨道的注释 - + Removing main cue from %n track(s) 从 %n 个轨道中删除主提示点 - + Removing outro cue from %n track(s) 从 %n 个轨道中删除结尾提示 - + Removing intro cue from %n track(s) 从 %n 个轨道中删除前奏提示 - + Removing loop cues from %n track(s) 从 %n 个轨道中删除 Loop 提示点 - + Removing hot cues from %n track(s) 从 %n 个轨道中删除热提示 - + Sorting hotcues of %n track(s) by position (remove offsets) - + Sorting hotcues of %n track(s) by position - + Resetting keys of %n track(s) 重置 %n 个轨道的键 - + Resetting replay gain of %n track(s) 重置 %n 个轨道的重放增益 - + Resetting waveform of %n track(s) 重置 %n 个轨道的波形 - + Resetting all performance metadata of %n track(s) 重置 %n 个轨道的所有性能数据 - + Move these files to the trash bin? 将这些文件移动到垃圾箱? - + Permanently delete these files from disk? 从磁盘中永久删除这些文件? - - + + This can not be undone! 此操作无法撤消! - + Cancel 取消 - + Delete Files 删除文件 - + Okay - + Move Track File(s) to Trash? 要把轨道文件移到垃圾桶吗? - + Track Files Deleted 文件已删除 - + Track Files Moved To Trash 已移动到垃圾桶的文件 - + %1 track files were moved to trash and purged from the Mixxx database. %1 轨道文件被移至废纸篓并从 Mixxx 数据库中清除。 - + %1 track files were deleted from disk and purged from the Mixxx database. %1 轨道文件已从磁盘中删除,并从 Mixxx 数据库中清除。 - + Track File Deleted 文件已删除 - + Track file was deleted from disk and purged from the Mixxx database. 跟踪文件已从磁盘中删除,并从 Mixxx 数据库中清除。 - + The following %1 file(s) could not be deleted from disk 无法从磁盘中删除以下 %1 文件 - + This track file could not be deleted from disk 无法从磁盘中删除此跟踪文件 - + Remaining Track File(s) 剩余轨道文件 - + Close 關閉 - + Clear Reset metadata in right click track context menu in library 清除 - + Loops 循环 - + Clear BPM and Beatgrid 清除 BPM 和节拍样式 - + Undo last BPM/beats change 撤消上次 BPM/节拍更改 - + Move this track file to the trash bin? 把这个轨道文件移到垃圾桶吗? - + Permanently delete this track file from disk? 永久删除这个轨道文件吗? - + All decks where these tracks are loaded will be stopped and the tracks will be ejected. 加载这些轨道的所有卡盘都将停止,轨道将被弹出。 - + All decks where this track is loaded will be stopped and the track will be ejected. 加载此轨道的所有卡盘都将停止,轨道将被弹出。 - + Removing %n track file(s) from disk... 正在从磁盘中删除 %n 个磁道文件... - + Note: if you are in the Computer or Recording view you need to click the current view again to see changes. 注意:如果您位于 Computer 或 Recording 视图中,则需要再次单击当前视图才能看到更改。 - + Track File Moved To Trash 文件已移至垃圾桶 - + Track file was moved to trash and purged from the Mixxx database. 跟踪文件已移至回收站并从 Mixxx 数据库中清除。 - + Don't show again during this session - + The following %1 file(s) could not be moved to trash 以下 %1 文件无法移至回收站 - + This track file could not be moved to trash 无法将此跟踪文件移至回收站 + + + Replace current Auto DJ queue? + + + + + Do you want to replace the entire Auto DJ queue with the selected tracks? + + + + + Don't ask again during this session + + - + Setting cover art of %n track(s) 设置 %n 个轨道的封面艺术 - + Reloading cover art of %n track(s) 重新加载 %n 个轨道的封面艺术 @@ -16995,37 +17514,37 @@ This can not be undone! WTrackTableView - + Confirm track hide 确认轨道隐藏 - + Are you sure you want to hide the selected tracks? 您确定要隐藏选定的轨道吗? - + Are you sure you want to remove the selected tracks from AutoDJ queue? 您确定要从 AutoDJ 队列中删除选定的曲目吗? - + Are you sure you want to remove the selected tracks from this crate? 您确定要隐藏选定的轨道吗? - + Are you sure you want to remove the selected tracks from this playlist? 您确定要从此播放列表中删除选定的曲目吗? - + Don't ask again during this session 在此会话期间不要再次询问 - + Confirm track removal 确认轨道移除 @@ -17033,12 +17552,12 @@ This can not be undone! WTrackTableViewHeader - + Show or hide columns. 显示或隐藏列。 - + Shuffle Tracks @@ -17046,52 +17565,52 @@ This can not be undone! mixxx::CoreServices - + fonts 字体 - + database 数据库 - + effects 效果 - + audio interface 音频接口 - + decks 甲板 - + library 媒体库 - + Choose music library directory 選擇音樂庫目錄 - + controllers 控制器 - + Cannot open database 無法打開資料庫 - + Unable to establish a database connection. Mixxx requires QT with SQLite support. Please read the Qt SQL driver documentation for information on how to build it. @@ -17249,6 +17768,24 @@ Mixxx 需要 qt 離散度與 SQLite 支援。請閱讀有關如何構建它的 网络请求尚未启动 + + mixxx::qml::QmlApplication + + + Existing user profile detected + + + + + Trying to run Mixxx 3.0 with an existing %0 user profile! <br><br>There is <b>serious risks</b> of data loss and corruption.<br>We recommend using a test profile folder with the '--settings-path' argument. <br><br>If you want to continue at your own risk, run Mixxx with the argument '--allow-dangerous-data-corruption-risk'. + + + + + Ok + + + mixxx::qml::QmlVisibleEffectsModel @@ -17257,4 +17794,27 @@ Mixxx 需要 qt 離散度與 SQLite 支援。請閱讀有關如何構建它的 未加载效果器。 + + mixxx::qml::QmlWaveformRendererMark + + + Cannot find the marker pixmap + + + + + Cannot find the marker endPixmap + + + + + Cannot find the marker icon + + + + + Cannot find the marker endIcon + + + \ No newline at end of file diff --git a/res/translations/mixxx_zh_CN.qm b/res/translations/mixxx_zh_CN.qm index 0731f04add53203a20c0a8d06b2c30bb3ce35996..0cc96ee3afd2600e8cf8cda78970e308e9b79e0d 100644 GIT binary patch delta 25624 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 delta 26173 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%0DGLT?zMDt5in8|C@w z?8Y56(sr#_^|?Jz(Uq+FjtUxe1iQJRD?+Bl?B)-@6H-2uHGb;h?>2V#u^t6T^Vowu zMnXP`XSJ(AiIU^2E}|R0i|uz#P`9g6rE*nK z7_8GVE=Kpk_H*Tq1Aatp$4TCFyiysxfq!s}5n<&m-mEha?J_Ud40Qo_Pooz2dInVK~k1=dG5hi0ZqZyzOXjM7>hETL-A(kdeIoo!3O{_kw?z zoCVJ*fqS;a^W8nU=TB;)GV8h5z*<5cZscCRuMro}@}9|8i7IRs_pU|%!W{0i`5^3n z{65~>YY;S9U*0??Q1~Js(>% z6ZXHP9iLDIqmnk6PeHbb49nn=$Ffjta*}IiLV7oU$YX}O;Z@H4JSGQr-PNDVhoC~E z9&r7RU`*V=XZ|Cdka(3HItVd*<^%9LYBP`PYrz?E12;KBZ~P>4Q|F09obAeIJp`iH z>bZ5D4WX3cI-a~Il?chFdFnFjcbG%D8R9eWF@)oG)ln2yZuw zXH0#J5czbz+#!vKOXu*cf=vi8?BJ_1aptRXBAD1-=_bZ(Dkec{75SA2{W zCh)DhjY!4b;)Oj>da>#?FMNc7wifXn6@#$->Uh!l;Y6I$o$rJ@FO0gwi*XDWavt-4 z4z7j9+{bqhufW%~Uh+Kyuu!Ly+*VfK7It|TFaNR`0t2i0esAdRXWjVz-(*;;KltGV z;Q6jNes~SeZmw(8$a2i0+oyl`RRfPLVC^NXSE>FYBN6{9zj&yo%#7Y!Gvt+ z&o8EU5pnHHUfB}clD2MyH}COF9?%CV8~Nq-0#3>I_~jxiPQkAH%I!Qta?<$Kr@K%u z5-E=7JH^Wp|+8M->jTBEpOfOsBTFa z@Wv()KQa+;ED0gw8l2}lt7)u{zm#_E&D~Io$(%6u3lHO>s%9q_h5Z}P8sHEojcXJFHW(&E(>+uV!)_Gh0qxntc`F3xmPqFx&(jfstwwb{b` zjwJ^~p`%;LmmP&4Y`Iw*gf%4*d4d}&Dc&wLRppM{A#5mdFA_c!Y%uPAz&*wOC;8hF zJ*5t@Qn-WEF}#URUhpsN*1-OgXC!6Be-UL`c~!ePus5ji-V^FxNg3L$>iXWQu!Xwy zQ3au%K_Qb~Ouyy7b!F)cu5PZ}RYs8OLou>K)yC1&F9(IFdl_sSbhZ+T(2PjI%W-Es z(U2tkTZopJv9tt*CH8(ZiACupFHzUa!xeNAJ#Englqr=Rt`bv-$_KRj1^l zV4uK(_t*M%g$g3LK9!6k0gZzxG-yOT^XdD@{om*)^VyeYdvBPf)j^qoy`u_}G8D}I z6S4mft+%4468!WjDJfE-MYc#D@tTALy-{cJkgO(2Ycd*TtyPMbEf$Rqw`0wwcq!GC z*x#(&vzko?gKU1&Q)yWso05GvZ)set(o>2tNk)@ZvdFTe$(=nM-_6{&TWD(YP~=Y-z$vQ)Z)W>2(eT*EfG554T5wA&=qA^3XK~~U- zF(n%f$^<5(jDLe3z>d4}bk~o)C0l?&qeWLVr(jokdZ)x2yd;e=MjEe4(pa=+eS#HN zXIi|ZSiM2^1jNde?j9i)Ecp%MlCQ}SBbz}i1$DD*v1-iL|3!c|xM-v|#KllHNh3`i z7hoT}Cw95jtO1?hqVqrSc#FZi6}){?St@93{_l}$3YFDjv_Y5KtW0pqy;dYND;fE{ zP*V5_iwsngpf-jZkR9qL zQnl>1s|)#@n3NrZ-IEA)W+_?rx%jVJ?R}@;%JEjVc0)TwNyvYMbqnXwZ6bpL{c=Cu zB(^drZU1ofU_3byBbc!7B<0#W1jbJUvwPVkVz30-+ld6Kga5$E1nC1)w25XjbROse35_>37W>V27jk`k9NG@>4XVxYPAFASQgn}kO3ZiiaDP9WG1T+j0wnc>VAkLq z=oa2&Qc|L)e|Yw_oo=pvfqLDH_p!-#E&iyjq>q*KR!MJ>G_h7?KiDyn?bF%%gnGtl zBL-@JNgbR}8ob>9%CsqV<^OKA>Ipe@flam1aWP7txpP91Drz(=q<^qUr&A<)2FBJV y;zw$Nj73_LWr&;6&Kdi4MPMvoPmH82R$(#?9hE5i$;R9vJ`PSLRv(9NL;nqjljh3+ diff --git a/res/translations/mixxx_zh_CN.ts b/res/translations/mixxx_zh_CN.ts index 9776ca30a6a8..5323552a8f57 100644 --- a/res/translations/mixxx_zh_CN.ts +++ b/res/translations/mixxx_zh_CN.ts @@ -8,6 +8,14 @@ + + AllTrackLibraryFeature + + + All... + + + AnalysisFeature @@ -19,52 +27,52 @@ AutoDJFeature - + Crates 分类列表 - + Enable Auto DJ - + Disable Auto DJ - + Clear Auto DJ Queue 清除自动 DJ 队列 - + Remove Crate as Track Source 移除为音轨源的分类列表 - + Auto DJ 自动混音 - + Confirmation Clear 确认清除 - + Do you really want to remove all tracks from the Auto DJ queue? 您真的要从 Auto DJ 队列中删除所有曲目吗? - + This can not be undone. 此操作无法撤消。 - + Add Crate as Track Source 添加为音轨源的分类列表 @@ -223,7 +231,7 @@ - + Export Playlist 导出播放列表 @@ -277,13 +285,13 @@ - + Playlist Creation Failed 播放列表创建失败 - + An unknown error occurred while creating playlist: 创建播放列表时发生了一个未知错误: @@ -298,12 +306,12 @@ 您真的要删除播放列表<b>%1</b>吗? - + M3U Playlist (*.m3u) M3U 播放列表(*.m3u) - + M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Text CSV (*.csv);;Readable Text (*.txt) M3U 播放列表(*.m3u);;M3U8 播放列表(*.m3u8);;PLS 播放列表(*.pls);;CSV 文本(*.csv);;可读文本(*.txt) @@ -311,12 +319,12 @@ BaseSqlTableModel - + # # - + Timestamp 时间戳 @@ -324,7 +332,7 @@ BaseTrackPlayerImpl - + Couldn't load track. 无法加载音轨。 @@ -362,7 +370,7 @@ 通道 - + Color 颜色 @@ -377,7 +385,7 @@ 作曲家 - + Cover Art 封面图片 @@ -387,7 +395,7 @@ 加入日期 - + Last Played 最后播放 @@ -417,7 +425,7 @@ 调性 - + Location 位置 @@ -427,7 +435,7 @@ - + Preview 预览 @@ -467,7 +475,7 @@ 年份 - + Fetching image ... Tooltip text on the cover art column shown when the cover is read from disk 獲取圖片中... @@ -489,22 +497,22 @@ BroadcastProfile - + Can't use secure password storage: keychain access failed. 无法使用安全密码存储:密钥链访问失败。 - + Secure password retrieval unsuccessful: keychain access failed. 安全密码存储提取不成功:密钥链访问失败。 - + Settings error 设置错误 - + <b>Error with settings for '%1':</b><br> <b>'%1' 的设置出现错误:</b><br> @@ -592,7 +600,7 @@ - + Computer 我的电脑 @@ -612,19 +620,19 @@ 扫描 - + "Computer" lets you navigate, view, and load tracks from folders on your hard disk and external devices. “我的电脑”可以让您从您的硬盘及外置设备中浏览、查看与加载音轨。 - + It shows the data from the file tags, not track data from your Mixxx library like other track views. - + 它显示的是文件标签中的数据,而不是像其他曲目视图那样来自你的 Mixxx 库的曲目数据。 - + If you load a track file from here, it will be added to your library. - + 如果你从这里加载曲目文件,它将被添加到你的库中。 @@ -735,12 +743,12 @@ 文件已创建 - + Mixxx Library Mixxx 音乐库 - + Could not load the following file because it is in use by Mixxx or another application. 无法加载下列文件,因为该文件被 Mixxx 或其它应用程序使用中。 @@ -771,87 +779,92 @@ CmdlineArgs - + Mixxx is an open source DJ software. For more information, see: Mixxx 是一款开源 DJ 软件。有关更多信息请查阅: - + Starts Mixxx in full-screen mode 在打开 Mixxx 时立即进入全屏模式 - + Use a custom locale for loading translations. (e.g 'fr') 使用自定义区域设置来加载翻译语音(例如“法语”)。 - + Top-level directory where Mixxx should look for its resource files such as MIDI mappings, overriding the default installation location. Mixxx 应在其中查找其资源文件--例如 MIDI 映射--的顶级目录,覆盖默认安装位置。 - + Path the debug statistics time line is written to debug统计数据时间线写入的路径 - + Causes Mixxx to display/log all of the controller data it receives and script functions it loads 使 Mixxx 显示或记录它接收的所有控制器数据和它加载的脚本函数 - + The controller mapping will issue more aggressive warnings and errors when detecting misuse of controller APIs. New Controller Mappings should be developed with this option enabled! 当检测到控制器 API 的滥用时,控制器映射将发出更积极的警告和错误。 应在启用此选项的情况下开发新的控制器映射! - + Enables developer-mode. Includes extra log info, stats on performance, and a Developer tools menu. 启用开发者模式。包含额外的日志信息、性能统计信息和开发人员工具菜单。 - + Top-level directory where Mixxx should look for settings. Default is: Mixxx 应在其中查找设置的顶级目录。默认值为: - + Starts Auto DJ when Mixxx is launched. 启动Mixxx时自动开始DJ。 - + Rescans the library when Mixxx is launched. - + 在启动 Mixxx 时重新扫描库。 - + Use legacy vu meter 使用老版本的 VU 表 - + Use legacy spinny 使用舊版的旋轉界面 - - Loads experimental QML GUI instead of legacy QWidget skin - 加载实验性的 QML GUI,而不是传统的 QWidget 皮肤 + + Loads the highly unstable 3.0 Mixxx interface, based on QML. You need to use a new setting profile, or run with 'allow-dangerous-data-corruption-risk' to use with the current one. We highly recommend backing up your data if you do so. + - + + Force Mixxx to load an unstable version with an existing user profile from a stable version + + + + Enables safe-mode. Disables OpenGL waveforms, and spinning vinyl widgets. Try this option if Mixxx is crashing on startup. 启用安全模式。这将禁用 OpenGL 波形和黑胶旋转部件。如果 Mixxx 在打开时崩溃,请尝试此选项。 - + [auto|always|never] Use colors on the console output. [自动||无]在控制台输出上使用颜色 - + Sets the verbosity of command line logging. critical - Critical/Fatal only warning - Above + Warnings @@ -866,32 +879,32 @@ trace - Above + Profiling messages 跟踪 - 以上 + 分析消息 - + Sets the the logging level at which the log buffer is flushed to mixxx.log. <level> is one of the values defined at --log-level above. 设置将日志缓冲区刷新为mixxx.log的日志级别。是上面在——log级别定义的值之一。 - + Sets the maximum file size of the mixxx.log file in bytes. Use -1 for unlimited. The default is 100 MB as 1e5 or 100000000. 设置 mixxx.log 文件的最大文件大小(以字节为单位)。使用 -1 表示无限制。默认值为 100 MB,为 1e5 或 100000000。 - + Breaks (SIGINT) Mixxx, if a DEBUG_ASSERT evaluates to false. Under a debugger you can continue afterwards. 如果DEBUG_ASSERT的计算结果为false,则中断(SIGINT) Mixxx。在调试器下,您可以随后继续。 - + Overrides the default application GUI style. Possible values: %1 - + Load the specified music file(s) at start-up. Each file you specify will be loaded into the next virtual deck. 在启动时加载指定的音乐文件。您指定的每个文件将被加载到下一个碟盘中。 - + Preview rendered controller screens in the Setting windows. 在设置窗口中预览渲染好的控制器屏幕。 @@ -984,2557 +997,2585 @@ trace - Above + Profiling messages ControlPickerMenu - + Headphone Output 耳机输出 - - - + + + + Deck %1 + %1 is the deck number 1 ... 4 碟盘 %1 - + Sampler %1 采样器 %1 - + Preview Deck %1 预览用碟机 %1 - + Microphone %1 耳机 %1 - + Auxiliary %1 辅助器 %1 - + Reset to default 重设为默认值 - + Effect Rack %1 效果器 %1 - + Parameter %1 参数 %1 - + Mixer 混音器 - - + + Crossfader 平滑转换器 - + Headphone mix (pre/main) 耳机混音(单碟机/主输出) - + Toggle headphone split cueing 启用耳机声道分离切入(cueing) - + Headphone delay 耳机延迟 - + Transport 传输 - + Strip-search through track 在音轨中直接查找 - + Play button 播放按钮 - - + + Set to full volume 音量全满 - - + + Set to zero volume 设为音量 0 - + Stop button 停止按钮 - + Jump to start of track and play 跳至歌曲起点播放 - + Jump to end of track 跳至音轨结束点 - + Reverse roll (Censor) button 倒带(轨)键 - + Headphone listen button 耳机监听键 - - + + Mute button 静音按钮 - + Toggle repeat mode 切换循环模式 - - + + Mix orientation (e.g. left, right, center) 声道选择(例如:左声道、右声道、立体声) - - + + Set mix orientation to left 设置输出声道为左声道 - - + + Set mix orientation to center 设置输出声道为立体声 - - + + Set mix orientation to right 设置输出声道为右声道 - + Toggle slip mode 切换剪辑模式 - - + + BPM BPM - + Increase BPM by 1 提升 BPM 1 - + Decrease BPM by 1 减少 1 BPM - + Increase BPM by 0.1 增加 0.1 BPM - + Decrease BPM by 0.1 减少 0.1 BPM - + BPM tap button BPM 敲打按钮 - + Toggle quantize mode 切换数字模式 - + One-time beat sync (tempo only) 一次性节拍同步(仅速度) - + One-time beat sync (phase only) 一次性节拍同步(仅阶段) - + Toggle keylock mode 切换音调锁模式 - + Equalizers 均衡器 - + Vinyl Control 唱盘控制 - + Toggle vinyl-control cueing mode (OFF/ONE/HOT) 唱盘控制cueing模式(关闭/单一/热切) - + Toggle vinyl-control mode (ABS/REL/CONST) 切换唱盘控制模式(绝对/相对/常量) - + Pass through external audio into the internal mixer 从外部音频传给内部混音器 - + Cues 切入点(Cues) - + Cue button 切入(Cue)键 - + Set cue point 设定Cue点 - + Go to cue point 跳到Cue点 - + Go to cue point and play 跳到Cue点并播放 - + Go to cue point and stop 跳到Cue点并停止 - + Preview from cue point 从Cue点开始预览 - + Cue button (CDJ mode) 切入Cue按钮(CDJ模式) - + Stutter cue Stutter切入 - + Hotcues 即时切点 - + Set, preview from or jump to hotcue %1 设置、预览或跳转至热切点 %1 - + Clear hotcue %1 清除热切点 %1 - + Set hotcue %1 设置热切点 %1 - + Jump to hotcue %1 跳转到热切点 %1 - + Jump to hotcue %1 and stop 跳转到热切点 %1 并停止 - + Jump to hotcue %1 and play 跳转到热切点 %1 并播放 - + Preview from hotcue %1 从热切点 %1 开始预览 - - + + Hotcue %1 热切点 %1 - + Looping 循环中 - + Loop In button 开始循环按钮 - + Loop Out button 退出循环按钮 - + Loop Exit button 结束循环按钮 - + 1/2 1/2 - + 1 1 - + 2 2 - + 4 4 - + 8 8 - + 16 16 - + 32 32 - + 64 64 - + Move loop forward by %1 beats 将循环向前移动 %1 拍 - + Move loop backward by %1 beats 将循环向后移动 %1 拍 - + Create %1-beat loop 创建 %1 拍的循环 - + Create temporary %1-beat loop roll 创建临时的 %1 拍循环滚动 - + Library 媒体库 - + Slot %1 槽 %1 - + Headphone Mix 耳机混音 - + Headphone Split Cue 耳机分离选听 - + Headphone Delay 耳机延迟 - + Play 播放 - + Fast Rewind 快退 - + Fast Rewind button 快退按钮 - + Fast Forward 快进 - + Fast Forward button 快进按钮 - + Strip Search 完整搜索 - + Play Reverse 倒退播放 - + Play Reverse button 倒退播放按钮 - + Reverse Roll (Censor) 倒带(轨) - + Jump To Start 跳至音轨起始点 - + Jumps to start of track 跳至音轨起始点 - + Play From Start 从音轨起始点播放 - + Stop 停止 - + Stop And Jump To Start 停止后跳至音轨起始点 - + Stop playback and jump to start of track 停止回放并跳至音轨起始处 - + Jump To End 跳至音轨结束点 - + Volume 音量 - - - + + + Volume Fader 音量调节 - - + + Full Volume 满音量 - - + + Zero Volume 零音量 - + Track Gain 音轨增益 - + Track Gain knob 音轨增益旋钮 - - + + Mute 静音 - + Eject 弹出 - - + + Headphone Listen 耳机监听 - + Headphone listen (pfl) button 耳机监听(pfl)键 - + Repeat Mode 重复模式 - + Slip Mode 滑动模式 - - + + Orientation 定向 - - + + Orient Left 向左 - - + + Orient Center 向中间 - - + + Orient Right 向右 - + BPM +1 BPM +1 - + BPM -1 BPM -1 - + BPM +0.1 BPM +0.1 - + BPM -0.1 BPM -0.1 - + BPM Tap BPM 敲击 - + Adjust Beatgrid Faster +.01 加快节拍(+.01) - + Increase track's average BPM by 0.01 增加音轨BPM 0.01 - + Adjust Beatgrid Slower -.01 减慢节拍(-.01) - + Decrease track's average BPM by 0.01 减少音轨BPM 0.01 - + Move Beatgrid Earlier 提早节拍 - + Adjust the beatgrid to the left 向左移动节拍 - + Move Beatgrid Later 推迟节拍 - + Adjust the beatgrid to the right 向右移动节拍 - + Adjust Beatgrid 调整节拍 - + Align beatgrid to current position 将节拍对齐至当前位置 - + Adjust Beatgrid - Match Alignment 调整节拍 - 匹配对齐 - + Adjust beatgrid to match another playing deck. 调整节拍样式以匹配另一个正在播放的碟机。 - + Quantize Mode 量化模式 - + Sync 同步 - + Beat Sync One-Shot 单次节拍同步 - + Sync Tempo One-Shot 单次速度同步 - + Sync Phase One-Shot 单次相位同步 - + Pitch control (does not affect tempo), center is original pitch 音高控制(不影响速度),中间位置代表原始音高 - + Pitch Adjust 调整音高 - + Adjust pitch from speed slider pitch 通过速度滑杆来调整音高 - + Match musical key 匹配音调 - + Match Key 匹配音调 - + Reset Key 匹配音调 - + Resets key to original 重设音调 - + High EQ 高 EQ - + Mid EQ 中 EQ - - + + Main Output 主输出 - + Main Output Balance 主输出均衡 - + Main Output Delay 主输出延迟 - + Main Output Gain 主输出增益 - + Low EQ 低 EQ - + Toggle Vinyl Control 唱盘控制开关 - + Toggle Vinyl Control (ON/OFF) 唱盘控制开关 - + Vinyl Control Mode 唱盘控制模式 - + Vinyl Control Cueing Mode 唱盘控制切入(Cueing)模式 - + Vinyl Control Passthrough 唱盘控制直通 - + Vinyl Control Next Deck 唱盘控制下一碟机 - + Single deck mode - Switch vinyl control to next deck 单碟机模式 - 切换唱盘控制器至下一碟机 - + Cue 切入(Cue) - + Set Cue 设置Cue - + Go-To Cue 跳到Cue - + Go-To Cue And Play 跳到Cue并播放 - + Go-To Cue And Stop 跳到Cue并停止 - + Preview Cue 预览Cue - + Cue (CDJ Mode) 切入Cue (CDJ模式) - + Stutter Cue Stutter 切入 - + Go to cue point and play after release 跳到切入点并在释放后播放 - + Clear Hotcue %1 清除热切点 %1 - + Set Hotcue %1 设置热切点 %1 - + Jump To Hotcue %1 跳转到热切点 %1 - + Jump To Hotcue %1 And Stop 跳转到热切点 %1 并停止 - + Jump To Hotcue %1 And Play 跳转到热切点 %1 并播放 - + Preview Hotcue %1 预览热切点 %1 - + Loop In 循环入 - + Loop Out 退出循环 - + Loop Exit 结束循环 - + Reloop/Exit Loop 重新循环/退出循环 - + Loop Halve 循环减半 - + Loop Double 循环加倍 - + 1/32 1/32 - + 1/16 1/16 - + 1/8 1/8 - + 1/4 1/4 - + Move Loop +%1 Beats 移动循环 +%1 拍 - + Move Loop -%1 Beats 移动循环-%1 拍 - + Loop %1 Beats 循环%1 拍 - + Loop Roll %1 Beats 循环滚动 %1 拍 - + Add to Auto DJ Queue (bottom) 添加至自动 DJ 队列(底部) - + Append the selected track to the Auto DJ Queue 将所选音轨追加到自动 DJ 队列 - + Add to Auto DJ Queue (top) 添加至自动 DJ 队列(顶部) - + Prepend selected track to the Auto DJ Queue 将所选音轨前置于自动 DJ 队列 - + Load Track 加载音轨 - + Load selected track 载入选中音轨 - + Load selected track and play 加载并播放所选音轨 - - + + Record Mix 录制混音 - + Toggle mix recording 混音录制开关 - + Effects 效果 - - Quick Effects - 快捷效果 - - - + Deck %1 Quick Effect Super Knob 碟机 %1 快捷效果的超级旋钮 - + + Quick Effect Super Knob (control linked effect parameters) 快捷效果超级旋钮(控制关联的效果参数) - - + + + + Quick Effect 快捷效果 - + Clear Unit 清除单元 - + Clear effect unit 清除效果单元 - + Toggle Unit 切换单元 - + Dry/Wet 干/湿 - + Adjust the balance between the original (dry) and processed (wet) signal. 调整原始(dry)信号和处理后(wet)信号之间的平衡。 - + Super Knob 超级旋钮 - + Next Chain 下一效果器链 - + Assign 分配 - + Clear 清除 - + Clear the current effect 清除当前效果 - + Toggle 切换 - + Toggle the current effect 切换当前效果 - + Next 下一首 - + Switch to next effect 切换至下一个效果 - + Previous 上一首 - + Switch to the previous effect 切换至之前的效果 - + Next or Previous 下一个或上一个 - + Switch to either next or previous effect 切换至下一个或上一个效果 - - + + Parameter Value 参数值 - - + + Microphone Ducking Strength 麦克风闪避强度 - + Microphone Ducking Mode 麦克风闪避模式 - + Gain 增益 - + Gain knob 增益旋钮 - + Shuffle the content of the Auto DJ queue 随机播放自动 DJ 队列内容 - + Skip the next track in the Auto DJ queue 跳过自动 DJ 队列的下个音轨 - + Auto DJ Toggle 自动 DJ 切换 - + Toggle Auto DJ On/Off 开启/关闭自动 DJ - + Show/hide the microphone & auxiliary section 显示/隐藏麦克风和辅助部分 - + 4 Effect Units Show/Hide 显示/隐藏效果器 - + Switches between showing 2 and 4 effect units 在显示2和4个效果单位之间切换 - + Mixer Show/Hide 混音器显示/隐藏 - + Show or hide the mixer. 显示或隐藏混音器。 - + Cover Art Show/Hide (Library) 封面艺术展览/隐藏(音乐库) - + Show/hide cover art in the library 在音乐库展示/隐藏封面艺术 - + Library Maximize/Restore 音乐库界面最大化/还原 - + Maximize the track library to take up all the available screen space. 最大化音乐库以占用所有可用的屏幕空间。 - + Effect Rack Show/Hide 效果器 显出/隐藏 - + Show/hide the effect rack 显出/隐藏 效果器 - + Waveform Zoom Out 缩小波形 - + Headphone Gain 耳机增益 - + Headphone gain 耳机增益 - + Tap to sync tempo (and phase with quantize enabled), hold to enable permanent sync 点击同步速度(和相位与量化启用),保持启用永久同步 - + One-time beat sync tempo (and phase with quantize enabled) 同步节奏 - + Playback Speed 回放速度 - + Playback speed control (Vinyl "Pitch" slider) 回放速度控制(唱盘音高滑块) - + Pitch (Musical key) 音高 - + Increase Speed 增加速度 - + Adjust speed faster (coarse) 加快速度(粗调) - + Increase Speed (Fine) 增加速度 (仔细) - + Adjust speed faster (fine) 加快速度(细调) - + Decrease Speed 降低速度 - + Adjust speed slower (coarse) 减慢速度(粗调) - + Adjust speed slower (fine) 减慢速度(细调) - + Temporarily Increase Speed 暂时增加速度 - + Temporarily increase speed (coarse) 暂时增加速度(粗调) - + Temporarily Increase Speed (Fine) 暂时增加速度(细调) - + Temporarily increase speed (fine) 暂时增加速度(细调) - + Temporarily Decrease Speed 暂时降低速度 - + Temporarily decrease speed (coarse) 暂时降低速度(粗调) - + Temporarily Decrease Speed (Fine) 暂时降低速度(细调) - + Temporarily decrease speed (fine) 暂时降低速度(细调) - - + + Adjust %1 调 %1 - + + Deck %1 Stem %2 + + + + Effect Unit %1 效果单元 %1 - + Button Parameter %1 旋钮参数% 1 - + Skin 皮肤 - + Controller 控制器 - + Crossfader / Orientation 唱片平滑转换器/方向 - + Main Output gain 主输出增益 - + Main Output balance 主输出均衡 - + Main Output delay 主输出延迟 - + Headphone 耳机 - - + + Kill %1 + %1 is "Low EQ" "Mid EQ" or "High EQ" 阻断 %1 - + Eject or un-eject track, i.e. reload the last-ejected track (of any deck)<br>Double-press to reload the last replaced track. In empty decks it reloads the second-last ejected track. 彈出或取消彈出曲目,即重新載入最後彈出的曲目(任何檯面)<br>雙按以重新載入最後替換的曲目。在空檯面上,它將重新載入倒數第二個彈出的曲目。 - + BPM / Beatgrid BPM / 网格 - + Halve BPM BPM 减半 - + Multiply current BPM by 0.5 将当前BPM乘0.5 - + 2/3 BPM 2/3 BPM - + Multiply current BPM by 0.666 将当前BPM乘0.666 - + 3/4 BPM 3/4 BPM - + Multiply current BPM by 0.75 将当前BPM乘0.75 - + 4/3 BPM 4/3 BPM - + Multiply current BPM by 1.333 将当前BPM乘0.666 - + 3/2 BPM 3/2 BPM - + Multiply current BPM by 1.5 将当前BPM乘1.5 - + Double BPM BPM 加倍 - + Multiply current BPM by 2 1.5倍BPM - + Tempo Tap 节奏敲击 - + Tempo tap button 节奏敲击按钮 - + Move Beatgrid 調整節拍網格 - + Adjust the beatgrid to the left or right 將節拍網格向左或向右調整 - + Move Beatgrid Half a Beat - + 将节拍网格移动半个节拍 - + Adjust the beatgrid by exactly one half beat. Usable only for tracks with constant tempo. - + 将节拍网格精确调整半拍。仅适用于节奏恒定的曲目。 - - + + Toggle the BPM/beatgrid lock 切换 BPM/beatgrid 锁 - + Revert last BPM/Beatgrid Change 还原上次 BPM/节拍网格 更改 - + Revert last BPM/Beatgrid Change of the loaded track. 还原上次 BPM/节拍网格 对加载曲目的更改。 - + Sync / Sync Lock 同步/同步锁定 - + Internal Sync Leader 内部同步高音 - + Toggle Internal Sync Leader 切换内部同步高音 - - + + Internal Leader BPM 內部主 BPM - + Internal Leader BPM +1 內部主 BPM +1 - + Increase internal Leader BPM by 1 增加 1 级内置BPM - + Internal Leader BPM -1 內部主 BPM -1 - + Decrease internal Leader BPM by 1 减少 1 级内置BPM - + Internal Leader BPM +0.1 內部主 BPM +0.1 - + Increase internal Leader BPM by 0.1 增加 1 级内置BPM - + Internal Leader BPM -0.1 内置BPM +0.1 - + Decrease internal Leader BPM by 0.1 將內部主導節拍每分鐘減少 0.1 BPM - + Sync Leader 同步高音 - + Sync mode 3-state toggle / indicator (Off, Soft Leader, Explicit Leader) 同步模式切换/指示灯(关,低音,高音) - + Speed 速度 - + Decrease Speed (Fine) 減慢速度(微調) - + Pitch (Musical Key) 音高 - + Increase Pitch 升高音调 - + Increases the pitch by one semitone 将音高增加一个半音 - + Increase Pitch (Fine) 增加间距(细) - + Increases the pitch by 10 cents 增加10间距 - + Decrease Pitch 降低音调 - + Decreases the pitch by one semitone 将音高降低一个半音 - + Decrease Pitch (Fine) 减少间距(细) - + Decreases the pitch by 10 cents 将音高降低10间距 - + Keylock 音调锁 - + CUP (Cue + Play) 切入(切入 + 播放) - + Shift cue points earlier 移动提示点 - + Shift cue points 10 milliseconds earlier 将提示点移动10毫秒 - + Shift cue points earlier (fine) 移动提示点(可选) - + Shift cue points 1 millisecond earlier 将提示点移动1毫秒 - + Shift cue points later 稍后移动提示点 - + Shift cue points 10 milliseconds later 10毫秒后移动提示点 - + Shift cue points later (fine) 稍后移动(好) - + Shift cue points 1 millisecond later 1毫秒后移动提示点 - - + + Sort hotcues by position - + 按位置排序热键点 - - + + Sort hotcues by position (remove offsets) - + 按位置排序热键(移除偏移) - + Hotcues %1-%2 - 热切点 + 热切点 %1-%2 - + Intro / Outro Markers 介绍/超出标记 - + Intro Start Marker 介绍开始标记 - + Intro End Marker 介绍结束标记 - + Outro Start Marker 结尾部分开始标记 - + Outro End Marker 结尾部分结束标记 - + intro start marker 介绍开始标记 - + intro end marker 介绍结束标记 - + outro start marker 介绍开始标记 - + outro end marker 介绍结束标记 - + Activate %1 [intro/outro marker 激活Cue - + Jump to or set the %1 [intro/outro marker 跳转到热切点 %1 - + Set %1 [intro/outro marker 設定 %1 - + Set or jump to the %1 [intro/outro marker 設定或跳至 %1 - + Clear %1 [intro/outro marker 清除 %1 - + Clear the %1 [intro/outro marker 清除 %1 - + if the track has no beats the unit is seconds 如果轨道没有节拍,则单位为秒 - + Loop Selected Beats 循环选中节奏 - + Create a beat loop of selected beat size 创建所选节奏循环 - + Loop Roll Selected Beats 循环选中节奏 - + Create a rolling beat loop of selected beat size 创建所选节奏循环 - + Loop %1 Beats set from its end point Loop %1 从结束点开始设置的节拍 - + Loop Roll %1 Beats set from its end point Loop Roll %1 从结束点开始设置的节拍 - + Create %1-beat loop with the current play position as loop end 创建 %1 拍 Loop,并将当前播放位置作为 Loop 结束 - + Create temporary %1-beat loop roll with the current play position as loop end 创建临时的 %1 拍 Loop 滚动,并将当前播放位置作为 Loop 结束 - + Loop Beats 循环节拍 - + Loop Roll Beats 循环滚动节拍 - + Go To Loop In 跳转到循环 - + Go to Loop In button 跳转到循环按钮 - + Go To Loop Out 前往循環終點 - + Go to Loop Out button 前往循環終點按鈕 - + Toggle loop on/off and jump to Loop In point if loop is behind play position 打开/关闭循环,跳转循环点 - + Reloop And Stop 再循环和终止 - + Enable loop, jump to Loop In point, and stop 启用循环,跳转循环点 - + Halve the loop length 将当前循环音轨长度折半 - + Double the loop length 将当前循环音轨长度加倍 - + Beat Jump / Loop Move 节拍跳跃/循环移动 - + Jump / Move Loop Forward %1 Beats 跳/移动循环前1拍 - + Jump / Move Loop Backward %1 Beats 向後跳躍/移動循環 %1 拍 - + Jump forward by %1 beats, or if a loop is enabled, move the loop forward %1 beats 向前跳转 %1 个节拍,或者如果启用了循环,则将循环向前移动 %1 个节拍 - + Jump backward by %1 beats, or if a loop is enabled, move the loop backward %1 beats 向后跳转 %1 个节拍,或者如果启用了 Loop,则将 Loop 向后移动 %1 个节拍 - + Beat Jump / Loop Move Forward Selected Beats Beat Jump / Loop 向前移动选定的节拍 - + Jump forward by the selected number of beats, or if a loop is enabled, move the loop forward by the selected number of beats 向前跳转选定的节拍数,或者如果启用了 Loop,则将 Loop 向前移动选定的节拍数 - + Beat Jump / Loop Move Backward Selected Beats Beat Jump / Loop 向后移动选定的节拍 - + Jump backward by the selected number of beats, or if a loop is enabled, move the loop backward by the selected number of beats 向后跳转选定的节拍数,或者如果启用了 Loop,则将 Loop 向后移动选定的节拍数 - + Beat Jump 跳拍 - + Indicate which loop marker remain static when adjusting the size or is inherited from the current position 指示在调整大小时哪个 Loop 标记保持静止或从当前位置继承 - + Beat Jump / Loop Move Forward 节拍跳跃/循环移动 - + Beat Jump / Loop Move Backward 节拍跳跃/循环移动 - + Loop Move Forward 向前移動循環 - + Loop Move Backward 向後移動循環 - + Remove Temporary Loop 移除臨時循環 - + Remove the temporary loop 移除臨時循環 - + Navigation 導航 - + Move up 向上移动 - + Equivalent to pressing the UP key on the keyboard 此操作的效果与按键盘上的上箭头按键是等效的 - + Move down 向下移动 - + Equivalent to pressing the DOWN key on the keyboard 此操作的效果与按键盘上的下箭头按键是等效的 - + Move up/down 向上/下移动 - + Move vertically in either direction using a knob, as if pressing UP/DOWN keys 使用旋钮上下移动,和按键盘上的上/下箭头效果一致 - + Scroll Up 向上滚动 - + Equivalent to pressing the PAGE UP key on the keyboard 此操作的效果与按键盘上的向上翻页键是等效的 - + Scroll Down 向下滚动 - + Equivalent to pressing the PAGE DOWN key on the keyboard 此操作的效果与按键盘上的向下翻页键是等效的 - + Scroll up/down 向上/下滚动 - + Scroll vertically in either direction using a knob, as if pressing PGUP/PGDOWN keys 使用旋钮上下滚动,和按键盘上的向上/下翻页键效果一致 - + Move left 向左移动 - + Equivalent to pressing the LEFT key on the keyboard 此操作的效果与按键盘上的左箭头按键是等效的 - + Move right 向右移动 - + Equivalent to pressing the RIGHT key on the keyboard 此操作的效果与按键盘上的右箭头按键是等效的 - + Move left/right 向左/右移动 - + Move horizontally in either direction using a knob, as if pressing LEFT/RIGHT keys 使用旋钮上下移动,和按键盘上的左/右箭头键效果一致 - + Move focus to right pane 移动焦点到右侧面板 - + Equivalent to pressing the TAB key on the keyboard 此操作的效果与按键盘上的 TAB 键是等效的 - + Move focus to left pane 移动焦点到左侧面板 - + Equivalent to pressing the SHIFT+TAB key on the keyboard 此操作的效果与按键盘上的 SHIFT+TAB 键是等效的 - + Move focus to right/left pane 移动焦点到左/右侧面板 - + Move focus one pane to right or left using a knob, as if pressing TAB/SHIFT+TAB keys 使用旋钮左右移动焦点,和按键盘上的 TAB/SHIFT+TAB 键效果一致 - + Sort focused column 將焦點列進行排序 - + Sort the column of the cell that is currently focused, equivalent to clicking on its header 對當前專注的儲存格所在的列進行排序,相當於點擊其標題欄。 - + Go to the currently selected item 前往目前選擇的項目 - + Choose the currently selected item and advance forward one pane if appropriate 選擇當前選定的項目,如果適用,則向前移動一個窗格 - + Load Track and Play 載入曲目並播放 - + Add to Auto DJ Queue (replace) 添加至自动 DJ 队列(替换) - + Replace Auto DJ Queue with selected tracks 使用选中的轨道替换自动 DJ 队列 - + Select next search history 選擇下一個搜索歷史 - + Selects the next search history entry 選擇下一個搜索歷史項目 - + Select previous search history 選擇前一個搜索歷史 - + Selects the previous search history entry 選擇上一個搜索歷史項目 - + Move selected search entry 移動所選擇的搜索項目 - + Moves the selected search history item into given direction and steps 將所選的搜索歷史項目移動到指定的方向和步驟 - + Clear search 清除搜索 - + Clears the search query 清除搜索查詢 - - + + Select Next Color Available 选择下一个可用颜色 - + Select the next color in the color palette for the first selected track 在调色板中选择第一个选定轨道的下一种颜色 - - + + Select Previous Color Available 选择以前的可用颜色 - + Select the previous color in the color palette for the first selected track 在调色板中选择第一个选定轨道的上一种颜色 - + + Quick Effects Deck %1 + + + + Deck %1 Quick Effect Enable Button 檯面 %1 快速效果啟用按鈕 - + + Quick Effect Enable Button 快速效果啟用按鈕 - + + Deck %1 Stem %2 Quick Effect Super Knob + + + + + Deck %1 Stem %2 Quick Effect Enable Button + + + + Enable or disable effect processing 启用/禁用效果 - + Super Knob (control effects' Meta Knobs) 超級旋鈕(控制效果的元旋鈕) - + Mix Mode Toggle 混音模式切換 - + Toggle effect unit between D/W and D+W modes 在 D/W 和 D+W 模式之間切換效果單元 - + Next chain preset 下一预设效果器链 - + Previous Chain 上一效果器链 - + Previous chain preset 上一预设效果器链 - + Next/Previous Chain 下一个/上一个效果器链 - + Next or previous chain preset 下一个/上一个预设效果器链 - - + + Show Effect Parameters 显示效果的参数 - + Effect Unit Assignment 效果單元分配 - + Meta Knob 元旋钮 - + Effect Meta Knob (control linked effect parameters) 效果元旋钮(控制鏈接的效果參數) - + Meta Knob Mode 元旋钮模式 - + Set how linked effect parameters change when turning the Meta Knob. 设置调节元旋钮时相关参数的改变方式。 - + Meta Knob Mode Invert 元旋钮模式反转 - + Invert how linked effect parameters change when turning the Meta Knob. 反轉旋轉元素旋钮時連接的效果參數如何變化。 - - + + Button Parameter Value 按鈕參數值 - + Microphone / Auxiliary 麦克风/辅助物 - + Microphone On/Off 麦克风 开/关 - + Microphone on/off 麦克风 开/关 - + Toggle microphone ducking mode (OFF, AUTO, MANUAL) 切换麦克风闪避模式(关闭/自动/手动) - + Auxiliary On/Off 辅助物 开/关 - + Auxiliary on/off 辅助物 开/关 - + Auto DJ 自动 DJ - + Auto DJ Shuffle 自动 DJ 随机播放 - + Auto DJ Skip Next 自动 DJ 跳至下一首 - + Auto DJ Add Random Track 自動 DJ 新增隨機曲目 - + Add a random track to the Auto DJ queue 將一個隨機曲目添加到自動 DJ 佇列 - + Auto DJ Fade To Next 自动 DJ 淡出至下一首 - + Trigger the transition to the next track 切换到下一音轨 - + User Interface 用户界面 - + Samplers Show/Hide 显示/隐藏采样器 - + Show/hide the sampler section 显示/隐藏采样器区域 - + Microphone && Auxiliary Show/Hide keep double & to prevent creation of keyboard accelerator 麦克风和辅助显示/隐藏 - + Waveform Zoom Reset To Default 將波形縮放重置為預設值 - + Reset the waveform zoom level to the default value selected in Preferences -> Waveforms 將波形縮放級別重置為首選項 -> 波形 中選擇的預設值 - + Select the next color in the color palette for the loaded track. 在调色板中选择加载轨道的下一种颜色。 - + Select previous color in the color palette for the loaded track. 在加载的轨道的调色板中选择上一种颜色。 - + Navigate Through Track Colors 浏览轨道颜色 - + Select either next or previous color in the palette for the loaded track. 选择调色板中加载轨道的下一个或上一个颜色 - + Start/Stop Live Broadcasting 開始/停止直播 - + Stream your mix over the Internet. 将您的混音结果以流的形式发送到互联网。 - + Start/stop recording your mix. 開始/停止錄製您的混音。 - - + + + Deck %1 Stems + + + + + Samplers 采样器 - + Vinyl Control Show/Hide 唱盘控制 显示/隐藏 - + Show/hide the vinyl control section 显示/隐藏 唱盘控制界面 - + Preview Deck Show/Hide 预览用碟机 显示/隐藏 - + Show/hide the preview deck 显示/隐藏 预览用碟机 - + Toggle 4 Decks 切换 4 碟机 - + Switches between showing 2 decks and 4 decks. 在 2 碟机视图和 4 碟机视图之间切换。 - + Cover Art Show/Hide (Decks) 封面圖示顯示/隱藏(檯面) - + Show/hide cover art in the main decks 在主要的檯面上顯示/隱藏封面圖片 - + Vinyl Spinner Show/Hide 唱盘控制 显示/隐藏 - + Show/hide spinning vinyl widget 显示/隐藏 唱盘控制器 - + Vinyl Spinners Show/Hide (All Decks) 顯示/隱藏 所有檯面的唱盤旋轉器 - + Show/Hide all spinnies 顯示/隱藏 所有旋轉物 - + Toggle Waveforms 切換波形 - + Show/hide the scrolling waveforms. 顯示/隱藏 滾動波形。 - + Waveform zoom 波形缩放 - + Waveform Zoom 波形缩放 - + Zoom waveform in 放大波形 - + Waveform Zoom In 放大波形 - + Zoom waveform out 缩小波形 - + Star Rating Up 增加星級评分 - + Increase the track rating by one star 將曲目評分增加一顆星 - + Star Rating Down 減少星級评分 - + Decrease the track rating by one star 將曲目評分減少一顆星 @@ -3547,6 +3588,159 @@ trace - Above + Profiling messages + + ControllerHidReportTabsManager + + + Read + + + + + Send + + + + + Payload Size + + + + + bytes + + + + + Byte Position + + + + + Bit Position + + + + + Bit Size + + + + + Logical Min + + + + + Logical Max + + + + + Value + + + + + Physical Min + + + + + Physical Max + + + + + Unit Scaling + + + + + Unit + + + + + Abs/Rel + + + + + + Wrap + + + + + + Linear + + + + + + Preferred + + + + + + Null + + + + + + Volatile + + + + + Usage Page + + + + + Usage + + + + + Relative + + + + + Absolute + + + + + No Wrap + + + + + Non Linear + + + + + No Preferred + + + + + No Null + + + + + Non Volatile + + + ControllerInputMappingTableModel @@ -3682,27 +3876,27 @@ trace - Above + Profiling messages ControllerScriptEngineLegacy - + Controller Mapping File Problem 控制器映射文件问题 - + The mapping for controller "%1" cannot be opened. 无法打开控制器“%1”的映射。 - + The functionality provided by this controller mapping will be disabled until the issue has been resolved. 在问题得到解决之前,此控制器映射提供的功能将被禁用。 - + File: 文件: - + Error: 错误: @@ -3735,7 +3929,7 @@ trace - Above + Profiling messages - + Lock 锁定 @@ -3765,7 +3959,7 @@ trace - Above + Profiling messages 自动 DJ 音轨源 - + Enter new name for crate: 输入分类列表的新名称: @@ -3782,22 +3976,22 @@ trace - Above + Profiling messages 导入分类列表 - + Export Crate 导出分类列表 - + Unlock 解锁 - + An unknown error occurred while creating crate: 在创建分类列表时发生未知错误: - + Rename Crate 重命名分类列表 @@ -3807,28 +4001,28 @@ trace - Above + Profiling messages 为你的下场表演、最喜爱的音轨和最常用的歌曲新建分类列表 - + Confirm Deletion 确认删除 - - + + Renaming Crate Failed 重命名分类列表失败 - + Crate Creation Failed 创建分类列表失败 - + M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Text CSV (*.csv);;Readable Text (*.txt) M3U 播放列表(*.m3u);;M3U8 播放列表(*.m3u8);;PLS 播放列表(*.pls);;文本 CSV (*.csv);;可读文本(*.txt) - + M3U Playlist (*.m3u) M3U播放列表 (*.m3u) @@ -3849,17 +4043,17 @@ trace - Above + Profiling messages 随心所欲管理音乐,就用分类列表! - + Do you really want to delete crate <b>%1</b>? 确定删除播放列表<b>%1</b>吗? - + A crate cannot have a blank name. 分类列表名不能命名为空。 - + A crate by that name already exists. 已有相同分类列表名。 @@ -3954,12 +4148,12 @@ trace - Above + Profiling messages 早期贡献者 - + Official Website 官方网站 - + Donate 捐献 @@ -4763,122 +4957,139 @@ You tried to learn: %1,%2 DlgPrefBroadcast - + Icecast 2 Icecast 2 - + Shoutcast 1 Shoutcast 1 - + Icecast 1 Icecast 1 - + MP3 MP3 - + Ogg Vorbis Ogg Vorbis - + Opus Opus - + AAC AAC - + HE-AAC HE-AAC - + HE-AACv2 HE-AACv2 - + Automatic 自动 - + Mono 启用 - + Stereo 立体声 - - - - + + Saving settings failed + + + + + The password for '%1' contains invalid characters. Please enter it again. + +Note: This can for example be invisible linebreaks when using copy/paste. + + + + + + Action failed 操作失败 - + You can't create more than %1 source connections. 你不能创建超过 %1 个源连接。 - + Source connection %1 源连接 %1 - + + Settings for %1 + Settings for broadcast profile, %1 is the profile name placeholder + + + + At least one source connection is required. 至少需要一个源连接。 - + Are you sure you want to disconnect every active source connection? 是否确实要断开每个活动的源连接? - - + + Confirmation required 需要确认 - + '%1' has the same Icecast mountpoint as '%2'. Two source connections to the same server that have the same mountpoint can not be enabled simultaneously. '%1' 和 '%2' 有相同的 Icecast 挂载点。两个连接到同一服务器的源,挂载点相同的情况下不能同时启用。 - + Are you sure you want to delete '%1'? 是否确实要删除“%1”? - + Renaming '%1' 重命名 '%1' - + New name for '%1': '%1' 的新名称: - + Can't rename '%1' to '%2': name already in use 无法将 '%1' 重命名为 '%2':名称已被使用 @@ -4891,27 +5102,27 @@ Two source connections to the same server that have the same mountpoint can not 实况直播选项 - + Mixxx Icecast Testing Mixxx Icecast 测试 - + Public stream 公共流 - + http://www.mixxx.org http://www.mixxx.org - + Stream name 流名称 - + Due to flaws in some streaming clients, updating Ogg Vorbis metadata dynamically can cause listener glitches and disconnections. Check this box to update the metadata anyway. 由于部分流客户端的软件缺陷,动态更新 Ogg Vorbis 元数据可能导致听众无法正常收听和连接。若确定更新,请勾选此框。 @@ -4951,67 +5162,72 @@ Two source connections to the same server that have the same mountpoint can not %1 的设置 - + + Available fields: $artist, $title, $year, $album, $genre, $bpm + + + + Dynamically update Ogg Vorbis metadata. 动态更新 Ogg Vorbis 元数据。 - + ICQ ICQ - + AIM AIM - + Website 主页 - + Live mix 现场混音 - + IRC IRC - + Select a source connection above to edit its settings here 在上面选择一个源连接以在此处编辑其设置 - + Password storage 密码存储方式 - + Plain text 明文 - + Secure storage (OS keychain) 安全存储区(系统钥匙链) - + Genre 流派 - + Use UTF-8 encoding for metadata. 对元数据使用 UTF-8编码。 - + Description 描述 @@ -5037,42 +5253,42 @@ Two source connections to the same server that have the same mountpoint can not 通道 - + Server connection 服务器链接 - + Type 类型 - + Host 主机 - + Login 用户名 - + Mount 挂载 - + Port 端口 - + Password 密码 - + Stream info 流信息 @@ -5082,17 +5298,17 @@ Two source connections to the same server that have the same mountpoint can not 元数据 - + Use static artist and title. 使用静态的艺术家名称和标题 - + Static title 静态标题 - + Static artist 静态艺术家名称 @@ -5151,13 +5367,14 @@ Two source connections to the same server that have the same mountpoint can not DlgPrefColors - - + + + By hotcue number 按 hotcue 编号 - + Color 颜色 @@ -5202,132 +5419,137 @@ Two source connections to the same server that have the same mountpoint can not + Jump default color + + + + When key colors are enabled, Mixxx will display a color hint associated with each key. - + Enable Key Colors - + 启用关键颜色 - + Key palette - + 快捷调色板 DlgPrefController - + Apply device settings? 应用设备设置吗? - + Your settings must be applied before starting the learning wizard. Apply settings and continue? 在开始学习向导前,必须应用相关设置。 是否应用设置并继续? - + None - + %1 by %2 %1 / %2 - + Mapping has been edited 映射已编辑 - + Always overwrite during this session 在此会话期间始终覆盖 - + Save As 另存为 - + Overwrite 覆盖 - + Save user mapping 保存用户映射 - + Enter the name for saving the mapping to the user folder. 输入用于将映射保存到用户文件夹的名称。 - + Saving mapping failed 保存映射失败 - + A mapping cannot have a blank name and may not contain special characters. 映射不能具有空白名称,并且不能包含特殊字符。 - + A mapping file with that name already exists. 具有该名称的映射文件已存在。 - + Do you want to save the changes? 是否要保存更改? - + Troubleshooting 故障排除 - + <font color='#BB0000'><b>If you use this mapping your controller may not work correctly. Please select another mapping or disable the controller.</b></font><br><br>This mapping was designed for a newer Mixxx Controller Engine and cannot be used on your current Mixxx installation.<br>Your Mixxx installation has Controller Engine version %1. This mapping requires a Controller Engine version >= %2.<br><br>For more information visit the wiki page on <a href='https://mixxx.org/wiki/doku.php/controller_engine_versions'>Controller Engine Versions</a>. 如果使用此映射,则控制器可能无法正常工作。请选择其他映射或禁用控制器。此映射专为较新的 Mixxx 控制器引擎而设计,不能用于您当前的 Mixxx 安装。您的 Mixxx 安装的 Controller Engine 版本为 %1。此映射需要 Controller Engine 版本 >= %2。有关更多信息,请访问有关 Controller Engine 版本的 wiki 页面。 - + Mapping already exists. 映射已存在。 - + <b>%1</b> already exists in user mapping folder.<br>Overwrite or save with a new name? <b>%1</b>已存在于用户映射文件夹中.<br>覆盖还是用新名称保存? - + Clear Input Mappings 清除输入映射 - + Are you sure you want to clear all input mappings? 您确定要清除所有的输入映射吗? - + Clear Output Mappings 清除输出映射 - + Are you sure you want to clear all output mappings? 您确定要清除所有的输出映射吗? @@ -5345,100 +5567,105 @@ Apply settings and continue? 已启用 - - Device Info + + Refresh mapping list - + + Device Info + 设备信息 + + + Physical Interface: - + 物理接口: - + Vendor name: - + 供应商名称: - + Product name: - + 产品名称: - + Vendor ID - + VID: - + Product ID - + PID: - + Serial number: - + USB interface number: - + HID Usage-Page: - + HID Usage: - + Description: 描述: - + Support: 支持: - + Screens preview - + Input Mappings 输入映射 - - + + Search 搜索 - - + + Add 新增 - - + + Remove 删除 @@ -5458,17 +5685,17 @@ Apply settings and continue? 加载映射: - + Mapping Info 映射信息 - + Author: 作者: - + Name: 名称: @@ -5478,28 +5705,28 @@ Apply settings and continue? 学习向导(仅用于 MIDI) - + Data protocol: - + Mapping Files: 映射文件: - + Mapping Settings - - + + Clear All 全部清除 - + Output Mappings 输入映射 @@ -5514,21 +5741,21 @@ Apply settings and continue? - Mixxx uses "mappings" to connect messages from your controller to controls in Mixxx. If you do not see a mapping for your controller in the "Load Mapping" menu when you click on your controller on the left sidebar, you may be able to download one online from the %1. Place the XML (.xml) and Javascript (.js) file(s) in the "User Mapping Folder" then restart Mixxx. If you download a mapping in a ZIP file, extract the XML and Javascript file(s) from the ZIP file to your "User Mapping Folder" then restart Mixxx. - Mixxx 使用“映射”将来自控制器的消息连接到 Mixxx 中的控件。如果您在单击左侧边栏上的控制器时在“加载映射”菜单中没有看到控制器的映射,您可以从 %1 在线下载一个。将 XML (.xml) 和 Javascript (.js) 文件放在“用户映射文件夹”中,然后重新启动 Mixxx。如果您下载 ZIP 文件中的映射,请将 XML 和 Javascript 文件从 ZIP 文件解压到您的“用户映射文件夹”,然后重新启动 Mixxx。 + Mixxx uses "mappings" to connect messages from your controller to controls in Mixxx. If you do not see a mapping for your controller in the "Load Mapping" menu when you click on your controller on the left sidebar, you may be able to download one online from the %1. Place the XML (.xml) and Javascript (.js) file(s) in the "User Mapping Folder" then click the Reload button next to the mapping selector to reload all available mappings. If you download a mapping in a ZIP file, extract the XML and Javascript file(s) from the ZIP file to your "User Mapping Folder" then click the Reload button. + - + Mixxx DJ Hardware Guide Mixxx DJ 硬件指南 - + MIDI Mapping File Format MIDI 映射文件格式 - + MIDI Scripting with Javascript 使用 Javascript 编写 MIDI 脚本 @@ -5697,137 +5924,137 @@ Apply settings and continue? DlgPrefDeck - + Mixxx mode Mixxx 模式 - + Mixxx mode (no blinking) Mixxx 模式(无闪烁) - + Pioneer mode Pioneer 模式 - + Denon mode Denon 模式 - + Numark mode Numark 模式 - + CUP mode 切播模式 - + mm:ss%1zz - Traditional mm:ss%1zz - 繁体 - + mm:ss - Traditional (Coarse) mm:ss - 传统 (粗) - + s%1zz - Seconds s%1zz - 秒 - + sss%1zz - Seconds (Long) sss%1zz - 秒(长) - + s%1sss%2zz - Kiloseconds s%1sss%2zz - 千秒 - + Intro start 入门 - + Main cue 主要提示 - + First hotcue 第一个 hotcue - + First sound (skip silence) 第一个声音 (跳过静音) - + Beginning of track 轨道起点 - + Reject 拒绝 - + Allow, but stop deck 允许,但停止甲板 - + Allow, play from load point 允许,从加载点播放 - + 4% 4% - + 6% (semitone) 6%半音 - + 8% (Technics SL-1210) 8%(Technics SL-1210) - + 10% 10% - + 16% 16% - + 24% 24% - + 50% 50% - + 90% 90% @@ -6281,57 +6508,57 @@ You can always drag-and-drop tracks on screen to clone a deck. 您的屏幕分辨率太低,无法容纳所选皮肤的最小尺寸。 - + Allow screensaver to run 允许屏幕保护程序运行 - + Prevent screensaver from running 防止屏幕保护程序运行 - + Prevent screensaver while playing 播放时防止屏幕保护程序运行 - + Disabled 禁用 - + 2x MSAA 2倍采样抗锯齿 - + 4x MSAA 4倍采样抗锯齿 - + 8x MSAA 8倍采样抗锯齿 - + 16x MSAA 16倍采样抗锯齿 - + This skin does not support color schemes 该皮肤不支持色彩方案 - + Information 信息 - + Mixxx must be restarted before the new locale, scaling or multi-sampling settings will take effect. 在新的区域设置、缩放或多重采样设置生效之前,必须重新启动Mixxx。 @@ -6558,37 +6785,37 @@ and allows you to pitch adjust them for harmonic mixing. 有关详细信息,请参阅手册 - + Music Directory Added 音乐目录已添加 - + You added one or more music directories. The tracks in these directories won't be available until you rescan your library. Would you like to rescan now? 您已添加一个或更多音乐目录。这些音轨将在您重新扫描音乐库前不可用。您想立即扫描音乐库吗? - + Scan 扫描 - + Item is not a directory or directory is missing 项目不是目录或目录缺失 - + Choose a music directory 选择一个音乐目录 - + Confirm Directory Removal 确认移除目录 - + Mixxx will no longer watch this directory for new tracks. What would you like to do with the tracks from this directory and subdirectories?<ul><li>Hide all tracks from this directory and subdirectories.</li><li>Delete all metadata for these tracks from Mixxx permanently.</li><li>Leave the tracks unchanged in your library.</li></ul>Hiding tracks saves their metadata in case you re-add them in the future. Mixxx 将不会监视该目录中的新音轨。您希望如何处理该目录(及其子目录)中的音轨? <ul> @@ -6599,32 +6826,62 @@ and allows you to pitch adjust them for harmonic mixing. 隐藏音轨可以保留其元数据,以便您以后再次添加它们。 - + Metadata means all track details (artist, title, playcount, etc.) as well as beatgrids, hotcues, and loops. This choice only affects the Mixxx library. No files on disk will be changed or deleted. 元数据即音轨的信息(艺术家、标题、播放次数等)、节拍模式、热切点和循环设置。这些选项仅影响 Mixxx 媒体库。不会更改或删除相关的媒体文件。 - + Hide Tracks 隐藏音轨 - + Delete Track Metadata 删除音轨元数据 - + Leave Tracks Unchanged 不做改动 - + Relink music directory to new location 将音乐目录链接至新位置 - + + Black + + + + + ExtraBold + + + + + Bold + + + + + SemiBold + + + + + Medium + + + + + Light + + + + Select Library Font 选择音乐库字体 @@ -6674,262 +6931,267 @@ and allows you to pitch adjust them for harmonic mixing. 启动时重新扫描目录 - + Audio File Formats 音频文件格式 - + Track Table View 轨道视图 - + Track Double-Click Action: 轨道双击操作: - + BPM display precision: BPM 显示精度: - + Session History 工作階段紀錄 - + Track duplicate distance 跟踪重复距离 - + When playing a track again log it to the session history only if more than N other tracks have been played in the meantime 再次播放轨道时,仅当同时播放了 N 个以上的其他轨道时,才会将其记录到会话历史记录中 - + History playlist with less than N tracks will be deleted<br/><br/>Note: the cleanup will be performed during startup and shutdown of Mixxx. 少于 N 首曲目的历史播放列表将被删除注意:清理将在 Mixxx 启动和关闭期间进行。 - + Delete history playlist with less than N tracks 删除少于 N 首曲目的历史播放列表 - + Library Font: 音乐库字体: - + + Show scan summary dialog + + + + Grey out played tracks 灰显播放的曲目 - + Track Search 轨迹搜索 - + Enable search completions 启用搜索补全 - + Enable search history keyboard shortcuts 启用搜索历史记录键盘快捷键 - + Percentage of pitch slider range for 'fuzzy' BPM search: “模糊”BPM 搜索范围: - + This range will be used for the 'fuzzy' BPM search (~bpm:) via the search box, as well as for BPM search in Track context menu > Search related Tracks 此范围将通过搜索框用于“模糊”BPM 搜索 (~bpm:),以及用于 Search related Tracks > Track 上下文菜单中的 BPM 搜索 - + Preferred Cover Art Fetcher Resolution 首选封面图片提取程序分辨率 - + Fetch cover art from coverartarchive.com by using Import Metadata From Musicbrainz. 使用从 Musicbrainz 导入数据 从 coverartarchive.com 中获取封面。 - + Note: ">1200 px" can fetch up to very large cover arts. 注意:“>1200 px”最多可以获取非常大的封面。 - + >1200 px (if available) >1200 像素(如果可用) - + 1200 px (if available) 1200 像素(如果可用) - + 500 px 500像素 - + 250 px 250像素 - + Settings Directory 设置目录 - + The Mixxx settings directory contains the library database, various configuration files, log files, track analysis data, as well as custom controller mappings. Mixxx 设置目录包含库数据库、各种配置文件、日志文件、轨道分析数据以及自定义控制器映射。 - + Edit those files only if you know what you are doing and only while Mixxx is not running. 仅当您知道自己在做什么时,并且仅在 Mixxx 未运行时编辑这些文件。 - + Open Mixxx Settings Folder 打开 Mixxx 设置文件夹 - + Library Row Height: 音乐库行高: - + Use relative paths for playlist export if possible 请尽量使用相对路径来导出播放列表 - + ... ... - + px px - + Synchronize library track metadata from/to file tags 从文件标签同步库轨道数据/与文件标签同步 - + Automatically write modified track metadata from the library into file tags and reimport metadata from updated file tags into the library 自动将修改后的轨道元数据从库写入文件标签,并将元数据从更新的文件标签重新导入到库中 - + Synchronize Serato track metadata from/to file tags (experimental) 从/到文件标签同步 Serato 跟踪元数据(实验性) - + Keeps track color, beat grid, bpm lock, cue points, and loops synchronized with SERATO_MARKERS/MARKERS2 file tags.<br/><br/>WARNING: Enabling this option also enables the reimport of Serato metadata after files have been modified outside of Mixxx. On reimport existing metadata in Mixxx is replaced with the metadata found in file tags. Custom metadata not included in file tags like loop colors is lost. 使轨道颜色、节拍网格、bpm 锁定、提示点和 Loop 与 SERATO_MARKERS/MARKERS2 文件标签保持同步。<br/><br/>警告:启用此选项还会在 Mixxx 之外修改文件后重新导入 Serato 元数据。重新导入时,Mixxx 中的现有元数据将替换为文件标签中的数据。文件标签中未包含的自定义元数据(如循环颜色)将丢失。 - + Edit metadata after clicking selected track 单击所选轨道后编辑数据 - + Search-as-you-type timeout: 键入时搜索超时: - + ms ms - + Load track to next available deck 将音轨载入下一个可用碟机 - + External Libraries 外部库 - + You will need to restart Mixxx for these settings to take effect. 您需要重启 Mixxx 以便这些设置生效。 - + Show Rhythmbox Library 显示Rhythmbox音乐库 - + Track Metadata Synchronization / Playlists 轨道数据同步/播放列表 - + Add track to Auto DJ queue (bottom) 将轨道添加到 Auto DJ 队列(底部) - + Add track to Auto DJ queue (top) 将轨道添加到 Auto DJ 队列(顶部) - + Ignore 忽略 - + Show Banshee Library 显示Banshee音乐库 - + Show iTunes Library 显示iTunes音乐库 - + Show Traktor Library 显示Traktor音乐库 - + Show Rekordbox Library 显示 Recordbox 库 - + Show Serato Library 显示 Serato 库 - + All external libraries shown are write protected. 所有显示的外部库均为写保护模式。 @@ -7274,33 +7536,33 @@ and allows you to pitch adjust them for harmonic mixing. DlgPrefRecord - + Choose recordings directory 选择录音目录 - - + + Recordings directory invalid 录制文件目录无效 - + Recordings directory must be set to an existing directory. 录制目录必须设置为现有目录。 - + Recordings directory must be set to a directory. Recordings directory (录制文件目录) 必须设置为目录。 - + Recordings directory not writable 录制文件目录不可写 - + You do not have write access to %1. Choose a recordings directory you have write access to. 您没有对 %1 的写入权限。选择您具有写入权限的录制文件目录。 @@ -7318,43 +7580,55 @@ and allows you to pitch adjust them for harmonic mixing. 浏览... - - + + This will include the filepath for each track in the CUE file. +This option makes the CUE file less portable and can reveal personal +information from filepaths (i.e. username) + + + + + Enable File Annotation in CUE file + + + + + Quality 品质 - + Tags 标签 - + Title 标题 - + Author 作者 - + Album 专辑 - + Output File Format 输出文件格式 - + Compression 压缩 - + Lossy 有损 @@ -7369,12 +7643,12 @@ and allows you to pitch adjust them for harmonic mixing. 目录: - + Compression Level 压缩级别 - + Lossless 无损 @@ -7507,172 +7781,177 @@ The loudness target is approximate and assumes track pregain and main output lev DlgPrefSound - + %1 Hz %1 赫兹 - + Default (long delay) 默认(长延迟) - + Experimental (no delay) 试验(无延迟) - + Disabled (short delay) 禁用(短延迟) - + Soundcard Clock 声卡时钟 - + Network Clock 网络时钟 - + Direct monitor (recording and broadcasting only) 直接监视器(仅限录制和广播) - + Disabled 禁用 - + Enabled 已启用 - + Stereo 立体声 - + Mono 启用 - + To enable Realtime scheduling (currently disabled), see the %1. 要启用实时计划(当前已禁用),请参阅 %1。 - + The %1 lists sound cards and controllers you may want to consider for using Mixxx. %1 列出了您可能需要考虑使用 Mixxx 的声卡和控制器。 - + Mixxx DJ Hardware Guide Mixxx DJ 硬件指南 - + + Find details in the Mixxx user manual + + + + Information - + Mixxx must be restarted before the multi-threaded RubberBand setting change will take effect. - + auto (<= 1024 frames/period) 自动(<= 1024 帧/周期) - + 2048 frames/period 2048 帧/周期 - + 4096 frames/period 4096 帧/周期 - + Are you sure? - + Distribute stereo channels into mono channels for parallel processing will result in a loss of mono compatibility and a diffuse stereo image. It is not recommended during broadcasting or recording. - + Are you sure you wish to proceed? - + No - + Yes, I know what I am doing - + Microphone inputs are out of time in the record & broadcast signal compared to what you hear. 与您听到的相比,麦克风输入在录音和广播信号中显得不合时宜。 - + Measure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. 测量往返延迟,并在上方输入麦克风延迟补偿以对齐麦克风计时。 - + Refer to the Mixxx User Manual for details. 細節請參考Mixxx 使用者操作手冊 - + Configured latency has changed. 配置的延迟已更改。 - + Remeasure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. 重新测量往返延迟,并将其输入到麦克风延迟补偿上方,以调整麦克风定时。 - + Realtime scheduling is enabled. 已启用实时调度。 - + Main output only 仅主输出 - + Main and booth outputs 主输出和展位输出 - + %1 ms %1 ms - + Configuration error 配置错误 @@ -7739,17 +8018,22 @@ The loudness target is approximate and assumes track pregain and main output lev ms - + + Deck and Bus outputs are for external mixers. They are post-fader and include effects and crossfader (for Auto DJ). For external mixing, make sure all Mixxx faders and EQ knobs are set to their default position (right- or double-click). + + + + 20 ms 20 ms - + Buffer Underflow Count 缓冲区下溢计数 - + 0 0 @@ -7774,12 +8058,12 @@ The loudness target is approximate and assumes track pregain and main output lev 输入 - + System Reported Latency 系统报告的延迟 - + Enlarge your audio buffer if the underflow counter is increasing or you hear pops during playback. 若下溢计数持续增加,或者您听到“啪啪”声,请增大您的音频缓冲区。 @@ -7809,7 +8093,7 @@ The loudness target is approximate and assumes track pregain and main output lev 提示与诊断 - + Downsize your audio buffer to improve Mixxx's responsiveness. 若需提升 Mixxx 的响应速度,请降低您的音频缓冲区大小。 @@ -7856,7 +8140,7 @@ The loudness target is approximate and assumes track pregain and main output lev 唱盘配置 - + Show Signal Quality in Skin 在皮肤中显示信号质量 @@ -7892,46 +8176,51 @@ The loudness target is approximate and assumes track pregain and main output lev + Pitch estimator + + + + Deck 1 碟盘1 - + Deck 2 碟盘2 - + Deck 3 碟盘3 - + Deck 4 碟盘4 - + Signal Quality 信号质量 - + http://www.xwax.co.uk http://www.xwax.co.uk - + Powered by xwax 由xwax提供技术支持 - + Hints 提示 - + Select sound devices for Vinyl Control in the Sound Hardware pane. 在声音硬件面板中可以选择唱盘需要控制的声音设备。 @@ -7939,58 +8228,58 @@ The loudness target is approximate and assumes track pregain and main output lev DlgPrefWaveform - + Filtered 筛选 - + HSV HSV - + RGB RGB - + Top 返回页首 - + Center 中心 - + Bottom - + 1/3 of waveform viewer options for "Text height limit" - + Entire waveform viewer - + OpenGL not available OpenGL不可用 - + dropped frames 丢帧 - + Cached waveforms occupy %1 MiB on disk. 缓存的波形占用了 %1 MB 磁盘空间。 @@ -8008,22 +8297,17 @@ The loudness target is approximate and assumes track pregain and main output lev 帧率 - + OpenGL Status - + Displays which OpenGL version is supported by the current platform. 显示当前平台所支持的 OpenGL 版本。 - - Normalize waveform overview - 归一化波形概览 - - - + Average frame rate 平均帧率 @@ -8039,7 +8323,7 @@ The loudness target is approximate and assumes track pregain and main output lev 默认缩放比例 - + Displays the actual frame rate. 显示实际帧率。 @@ -8074,7 +8358,7 @@ The loudness target is approximate and assumes track pregain and main output lev - + Show minute markers on waveform overview @@ -8119,7 +8403,7 @@ The loudness target is approximate and assumes track pregain and main output lev 全局视觉增益 - + The waveform overview shows the waveform envelope of the entire track. Select from different types of displays for the waveform overview, which differ primarily in the level of detail shown in the waveform. 选择波形的显示样式,其主要区别在于显示在波形中的细节多少。 @@ -8187,22 +8471,22 @@ Select from different types of displays for the waveform, which differ primarily pt - + Caching 缓存 - + Mixxx caches the waveforms of your tracks on disk the first time you load a track. This reduces CPU usage when you are playing live but requires extra disk space. Mixxx 会在第一次载入音轨时在磁盘上缓存其波形。这将会减少实时播放时的 CPU 负荷,但需要额外的磁盘空间。 - + Enable waveform caching 启用波形缓存 - + Generate waveforms when analyzing library 分析库时生成波形 @@ -8218,7 +8502,7 @@ Select from different types of displays for the waveform, which differ primarily - + Type @@ -8243,17 +8527,63 @@ Select from different types of displays for the waveform, which differ primarily 播放标记位置 - - Moves the play marker position on the waveforms to the left, right or center (default). - 将波形上的播放标记位置向左、向右或居中移动(默认)。 + + Moves the play marker position on the waveforms to the left, right or center (default). + 将波形上的播放标记位置向左、向右或居中移动(默认)。 + + + + Stem + + + + + Channel opacity + + + + + Channel opacity (outline) + + + + + Main stem opacity + + + + + Outline stem opacity + + + + + Move channel to foreground when volume is adjusted + + + + + Overview Waveforms + + + + + Gain + + + + + Normalize to peak + - - Overview Waveforms + + Use Waveform "Global" gain and ReplayGain (if enabled) + 'Global' refers to the 'Global' visual gain in the scrolling waveform settings - + Clear Cached Waveforms 清除波形缓存 @@ -8745,7 +9075,7 @@ This can not be undone! BPM: - + Location: 位置: @@ -8760,27 +9090,27 @@ This can not be undone! 注视 - + BPM BPM - + Sets the BPM to 75% of the current value. 将 BPM 设置为当前值的 75%。 - + 3/4 BPM 3/4 BPM - + Sets the BPM to 50% of the current value. 将 BPM 设置为当前值的 50%。 - + Displays the BPM of the selected track. 显示所选音轨的 BPM。 @@ -8835,49 +9165,49 @@ This can not be undone! 流派 - + ReplayGain: 播放增益: - + Sets the BPM to 200% of the current value. 将 BPM 设置为当前值的 200%。 - + Double BPM 拍速倍增 - + Halve BPM 拍速倍减 - + Clear BPM and Beatgrid 清除 BPM 和节拍样式 - + Move to the previous item. "Previous" button 移动至前一项。 - + &Previous 上一首(&P) - + Move to the next item. "Next" button 移动至后一项。 - + &Next 下一首(&N) @@ -8902,12 +9232,12 @@ This can not be undone! 颜色 - + Date added: 添加日期: - + Open in File Browser 在文件管理器中打开 @@ -8917,12 +9247,17 @@ This can not be undone! 采样率: - + + Filesize: + + + + Track BPM: 音轨 BPM: - + Converts beats detected by the analyzer into a fixed-tempo beatgrid. Use this setting if your tracks have a constant tempo (e.g. most electronic music). Often results in higher quality beatgrids, but will not do well on tracks that have tempo shifts. @@ -8931,90 +9266,90 @@ Often results in higher quality beatgrids, but will not do well on tracks that h 这样通常能得到质量更高的节拍网格,但对有节奏变化的音轨效果不佳。 - + Assume constant tempo 假定速度恒定 - + Sets the BPM to 66% of the current value. 将 BPM 设置为当前值的 66%。 - + 2/3 BPM 2/3 BPM - + Sets the BPM to 150% of the current value. 将 BPM 设置为当前值的 150%。 - + 3/2 BPM 3/2 BPM - + Sets the BPM to 133% of the current value. 将 BPM 设置为当前值的 133%。 - + 4/3 BPM 4/3 BPM - + Tap with the beat to set the BPM to the speed you are tapping. 用点击操作来打拍子,并据此速度来设置 BPM。 - + Tap to Beat 打拍子 - + Hint: Use the Library Analyze view to run BPM detection. 提示: 使用音乐库分析视图运行 BPM 检测。 - + Save changes and close the window. "OK" button 保存更改并关闭窗口。 - + &OK 确认(&O) - + Discard changes and close the window. "Cancel" button 丢弃更改并关闭窗口。 - + Save changes and keep the window open. "Apply" button 保存更改,且不关闭窗口。 - + &Apply 应用(&A) - + &Cancel 取消(&C) - + (no color) (无颜色) @@ -9171,7 +9506,7 @@ Often results in higher quality beatgrids, but will not do well on tracks that h 确认(&O) - + (no color) (无颜色) @@ -9373,27 +9708,27 @@ Often results in higher quality beatgrids, but will not do well on tracks that h EngineBuffer - + Soundtouch (faster) Soundtouch(更快) - + Rubberband (better) Rubberband(更好) - + Rubberband R3 (near-hi-fi quality) 接近高保真质量 - + Unknown, using Rubberband (better) 未知,使用更好 - + Unknown, using Soundtouch 未知,使用 Soundtouch @@ -9608,15 +9943,15 @@ Often results in higher quality beatgrids, but will not do well on tracks that h LegacySkinParser - - + + Safe Mode Enabled Shown when Mixxx is running in safe mode. 已启用安全模式 - - + + No OpenGL support. Shown when Spinny can not be displayed. Please keep @@ -9628,57 +9963,57 @@ Shown when VuMeter can not be displayed. Please keep 支持。 - + activate 启用 - + toggle 切换 - + right - + left - + right small 右小 - + left small 左小 - + up - + down - + up small 上小 - + down small 下小 - + Shortcut 快捷键 @@ -9686,37 +10021,37 @@ Shown when VuMeter can not be displayed. Please keep Library - + This or a parent directory is already in your library. 此目录或父目录已位于您的库中。 - + This or a listed directory does not exist or is inaccessible. Aborting the operation to avoid library inconsistencies 此目录或列出的目录不存在或无法访问。 中止操作以避免库不一致 - - + + This directory can not be read. 无法读取此目录。 - + An unknown error occurred. Aborting the operation to avoid library inconsistencies 发生未知错误。 中止操作以避免库不一致 - + Can't add Directory to Library 无法将目录添加到库 - + Could not add <b>%1</b> to your library. %2 @@ -9725,27 +10060,27 @@ Aborting the operation to avoid library inconsistencies %2 - + Can't remove Directory from Library 无法从库中删除目录 - + An unknown error occurred. 发生未知错误。 - + This directory does not exist or is inaccessible. 此目录不存在或无法访问。 - + Relink Directory 重新链接目录 - + Could not relink <b>%1</b> to <b>%2</b>. %3 @@ -9910,12 +10245,12 @@ Do you really want to overwrite it? 隐藏音轨 - + Export to Engine DJ 导出到 Engine DJ - + Tracks 音轨 @@ -9923,37 +10258,37 @@ Do you really want to overwrite it? MixxxMainWindow - + Sound Device Busy 声音设备正忙 - + <b>Retry</b> after closing the other application or reconnecting a sound device 请关闭其他应用程序,或重新连接设备后<b>重试</b> - - - + + + <b>Reconfigure</b> Mixxx's sound device settings. <b>重新配置</b> Mixxx 声音设备。 - - + + Get <b>Help</b> from the Mixxx Wiki. 从 Mixxx Wiki 中获取<b>帮助</b>。 - - - + + + <b>Exit</b> Mixxx. <b>退出</b> Mixxx。 - + Retry 重试 @@ -9963,211 +10298,211 @@ Do you really want to overwrite it? 皮肤 - + Allow Mixxx to hide the menu bar? 允许 Mixxx 隐藏菜单栏? - + Hide Always show the menu bar? 隐藏 - + Always show 始终显示 - + The Mixxx menu bar is hidden and can be toggled with a single press of the <b>Alt</b> key.<br><br>Click <b>%1</b> to agree.<br><br>Click <b>%2</b> to disable that, for example if you don't use Mixxx with a keyboard.<br><br>You can change this setting any time in Preferences -> Interface.<br> Keep formatting tags <b> (bold text) and <br> (linebreak). %1 is the placeholder for the 'Always show' button label Mixxx 菜单栏是隐藏的,只需按一下<b>Alt 键</b>钥匙。<br><br>点击<b>%1</b>同意。<br><br>点击<b>%2</b>以禁用它,例如,如果您不将 Mixxx 与键盘一起使用。<br><br>您可以随时在 Preferences -> Interface 中更改此设置。<br> - + Ask me again 再问我一次 - - + + Reconfigure 重新配置 - + Help 帮助 - - + + Exit 退出 - - + + Mixxx was unable to open all the configured sound devices. Mixxx 无法打开所有要打开的音频设备 - + Sound Device Error 音频设备错误 - + <b>Retry</b> after fixing an issue 修正错误后 <b> 重试 </b> - + No Output Devices 没有输出设备 - + Mixxx was configured without any output sound devices. Audio processing will be disabled without a configured output device. Mixxx 的配置中没有任何输出设备,将会禁用音频处理操作。 - + <b>Continue</b> without any outputs. 确定在没有任何输出的情况下<b>继续</b>。 - + Continue 继续 - + Load track to Deck %1 加载音轨到碟机 %1 - + Deck %1 is currently playing a track. 碟机 %1 当前正在播放。 - + Are you sure you want to load a new track? 您确定要加载新音轨吗? - + There is no input device selected for this vinyl control. Please select an input device in the sound hardware preferences first. 尚未选择用于唱盘控制的输入设备。 请在声音硬件的首选项中选择一个输入设备。 - + There is no input device selected for this passthrough control. Please select an input device in the sound hardware preferences first. 尚未选择用于唱盘控制的输入设备。 请在声音硬件的首选项中选择一个输入设备。 - + There is no input device selected for this microphone. Do you want to select an input device? 没有为此麦克风选择输入设备。是否要选择输入设备? - + There is no input device selected for this auxiliary. Do you want to select an input device? 没有为此辅助设备选择输入设备。是否要选择输入设备? - + Scan took %1 - + No changes detected. - - + + %1 tracks in total - + %1 new tracks found - + %1 moved tracks detected - + %1 tracks are missing (%2 total) - + %1 tracks have been rediscovered - + Library scan finished - + Error in skin file 皮肤文件错误 - + The selected skin cannot be loaded. 无法加载所选皮肤。 - + OpenGL Direct Rendering OpenGL 直接渲染 - + Direct rendering is not enabled on your machine.<br><br>This means that the waveform displays will be very<br><b>slow and may tax your CPU heavily</b>. Either update your<br>configuration to enable direct rendering, or disable<br>the waveform displays in the Mixxx preferences by selecting<br>"Empty" as the waveform display in the 'Interface' section. 您的计算机上未启用直接渲染。<br><br>这意味着波形显示将非常<br><b>速度慢,并且可能会严重占用您的 CPU</b>.要么更新您的<br>配置以启用直接渲染或禁用<br>波形将通过选择 Mixxx 首选项显示在<br>“空”作为“界面”部分的波形显示。 - - - + + + Confirm Exit 确认退出 - + A deck is currently playing. Exit Mixxx? 有唱机正在播放。确定退出 Mixxx 吗? - + A sampler is currently playing. Exit Mixxx? 有采样器正在播放。确定退出 Mixxx 吗? - + The preferences window is still open. 首选项窗口尚未关闭。 - + Discard any changes and exit Mixxx? 取消所作更改并退出 Mixxx 吗? @@ -10183,13 +10518,13 @@ Do you want to select an input device? PlaylistFeature - + Lock 锁定 - - + + Playlists 播放列表 @@ -10199,58 +10534,63 @@ Do you want to select an input device? 随机播放播放列表 - + + Adopt current order + + + + Unlock all playlists - + Delete all unlocked playlists - + Unlock 解锁 - - + + Confirm Deletion - + Do you really want to delete all unlocked playlists? - + Deleting %1 unlocked playlists.<br>This operation can not be undone! - + Playlists are ordered lists of tracks that allow you to plan your DJ sets. 播放列表是有序的曲目列表,允许您规划 DJ 集。 - + It may be necessary to skip some tracks in your prepared playlist or add some different tracks in order to maintain the energy of your audience. 可能需要跳过您准备好的播放列表中的一些曲目或添加一些不同的曲目,以保持观众的活力。 - + Some DJs construct playlists before they perform live, but others prefer to build them on-the-fly. 一些DJ在他们表演之前创建播放列表,但其他人更倾向于即兴表演。 - + When using a playlist during a live DJ set, remember to always pay close attention to how your audience reacts to the music you've chosen to play. 在在线 Dj 集中使用播放列表时,请时刻注意您的听众对所选音乐的反应。 - + Create New Playlist 新建播放列表 @@ -10349,59 +10689,59 @@ Do you want to select an input device? QMessageBox - + Upgrading Mixxx 升级 Mixxx - + Mixxx now supports displaying cover art. Do you want to scan your library for cover files now? Mixxx现已支持显示歌曲封面。 您想要立即扫描音乐库内的封面文件吗? - + Scan 扫描 - + Later 稍后再说 - + Upgrading Mixxx from v1.9.x/1.10.x. 从 1.9.x 或 1.10.x 版本的 Mixxx 升级。 - + Mixxx has a new and improved beat detector. Mixxx 更新了节拍检测器。 - + When you load tracks, Mixxx can re-analyze them and generate new, more accurate beatgrids. This will make automatic beatsync and looping more reliable. 当您加载音轨时,Mixxx 会重新分析它们,并生成新的、更加准确的节拍样式。这将使自动节拍同步和循环播放更加可靠。 - + This does not affect saved cues, hotcues, playlists, or crates. 此操作不影响已保存的切入点、热切点、播放列表或分类播放列表。 - + If you do not want Mixxx to re-analyze your tracks, choose "Keep Current Beatgrids". You can change this setting at any time from the "Beat Detection" section of the Preferences. 若您不希望 Mixxx 重新分析音轨,请选择“保留当前节拍样式”。您可以之后在首选项中的“节拍检测”选项卡中更改此设置。 - + Keep Current Beatgrids 保留当前节拍样式 - + Generate New Beatgrids 生成新节拍样式 @@ -10515,69 +10855,82 @@ Do you want to scan your library for cover files now? 14-位(MSB) - + Main + Audio path indetifier 主要 - + Booth + Audio path indetifier Booth - + Headphones + Audio path indetifier 耳机 - + Left Bus + Audio path indetifier 左总线 - + Center Bus + Audio path indetifier 中总线 - + Right Bus + Audio path indetifier 右总线 - + Invalid Bus + Audio path indetifier 无效总线 - + Deck + Audio path indetifier 碟盘 - + Record/Broadcast + Audio path indetifier 錄音/廣播 - + Vinyl Control + Audio path indetifier 唱盘控制 - + Microphone + Audio path indetifier 麦克风 - + Auxiliary + Audio path indetifier 辅助 - + Unknown path type %1 + Audio path 路径类型 %1 未知 @@ -10920,47 +11273,49 @@ With width at zero, this allows for manually sweeping over the entire delay rang 宽度 - + Metronome 节拍器 - + + The Mixxx Team - + Adds a metronome click sound to the stream 向流中添加节拍器咔嗒声 - + BPM BPM - + Set the beats per minute value of the click sound 设置咔嗒声的每分钟节拍数值 - + Sync 同步 - + Synchronizes the BPM with the track if it can be retrieved 如果可以检索 Track,则将 BPM 与 Track 同步 - + + Gain - + Set the gain of metronome click sound @@ -11764,14 +12119,14 @@ Fully right: end of the effect period 不支持 OGG 录制。无法初始化 OGG/Vorbis 库。 - - + + encoder failure 编码器故障 - - + + Failed to apply the selected settings. 无法应用所选设置。 @@ -11978,15 +12333,86 @@ and the processed output signal as close as possible in perceived loudness打开 + + Auto Gain Control + + + + + AGC + + + + + Auto Gain Control (AGC) automatically adjusts the gain of an audio signal to maintain a consistent output level. + + + + Threshold (dBFS) 阈值 (dBFS) + Threshold 门槛 + + + The Threshold knob adjusts the level above which the effect starts enhancing the input signal + + + + + Target (dBFS) + + + + + Target + + + + + The Target knob adjusts the desired target level of the output signal + + + + + Gain (dB) + + + + + The Gain knob adjusts the maximum amount of gain that the effect will apply + + + + + Knee (dB) + + + + + The Knee knob defines the range around the Threshold where gain changes are applied gradually, +ensuring smooth transitions and avoiding abrupt level shifts. + + + + + The Attack knob sets the time that determines how fast the auto gain +will set in once the signal exceeds the threshold + + + + + The Release knob sets the time that determines how fast the auto gain will recover from the gain +adjustment once the signal falls under the threshold. Depending on the input signal, short release times +may introduce a 'pumping' effect and/or distortion. + + The Threshold knob adjusts the level above which the compressor starts attenuating the input signal @@ -12017,6 +12443,7 @@ At a ratio of 1:1 no compression is happening, as the input is exactly the outpu Knee (dBFS) + Knee Knee @@ -12027,11 +12454,13 @@ At a ratio of 1:1 no compression is happening, as the input is exactly the outpu Knee 旋钮用于实现更圆润的压缩曲线 + Attack (ms) + Attack @@ -12044,11 +12473,13 @@ will set in once the signal exceeds the threshold 将在信号超过阈值时设置 + Release (ms) 版本(毫秒) + Release 释放 @@ -12079,12 +12510,12 @@ may introduce a 'pumping' effect and/or distortion. 各种 - + built-in - + missing @@ -12119,42 +12550,42 @@ may introduce a 'pumping' effect and/or distortion. - + Empty - + Simple - + Filtered - + HSV - + VSyncTest - + RGB - + Stacked - + Unknown @@ -12236,7 +12667,7 @@ may introduce a 'pumping' effect and/or distortion. Hot cues - Hot cues + 即时切点 @@ -12415,193 +12846,193 @@ may introduce a 'pumping' effect and/or distortion. ShoutConnection - - + + Mixxx encountered a problem Mixxx遇到一个问题 - + Could not allocate shout_t 无法为 shout_t 分配内存 - + Could not allocate shout_metadata_t 无法为 shout_metadata_t 分配内存 - + Error setting non-blocking mode: 设置非阻塞模式时出错: - + Error setting tls mode: 设置 TLS 模式时出错: - + Error setting hostname! 设置主机名时出错! - + Error setting port! 设置端口时出错! - + Error setting password! 设置密码时出错! - + Error setting mount! 设置挂载点时出错! - + Error setting username! 设置i用户名时出错! - + Error setting stream name! 设置流的名称时出错! - + Error setting stream description! 设置流的描述时出错! - + Error setting stream genre! 设置流的流派时出错! - + Error setting stream url! 设置流的 URL 时出错! - + Error setting stream IRC! 设置流 IRC 时出错! - + Error setting stream AIM! 设置流 AIM 时出错! - + Error setting stream ICQ! 设置流 ICQ 时出错! - + Error setting stream public! 设置公共流错误 - + Unknown stream encoding format! 未知的流编码格式! - + Use a libshout version with %1 enabled 使用启用了 %1 的 libshout 版本 - + Error setting stream encoding format! 设置流编码格式时出错! - + Broadcasting at 96 kHz with Ogg Vorbis is not currently supported. Please try a different sample rate or switch to a different encoding. 目前不支持使用 Ogg Vorbis 以 96 kHz 进行广播。请尝试不同的采样率或切换到不同的编码。 - + See https://github.com/mixxxdj/mixxx/issues/5701 for more information. 有关更多信息,请参阅 https://github.com/mixxxdj/mixxx/issues/5701。 - + Unsupported sample rate 不支持的采样率 - + Error setting bitrate 设置比特率时出错 - + Error: unknown server protocol! 错误:服务器协议未知! - + Error: Shoutcast only supports MP3 and AAC encoders 错误:Shoutcast 仅支持 MP3 和 AAC 编码器 - + Error setting protocol! 设置协议时出错! - + Network cache overflow 网络缓存溢出 - + Connection error 连接错误 - + One of the Live Broadcasting connections raised this error:<br><b>Error with connection '%1':</b><br> 其中一个 Live Broadcasting 连接引发了以下错误:<br><b>连接“%1”出错:</b><br> - + Connection message 连接消息 - + <b>Message from Live Broadcasting connection '%1':</b><br> <b>来自实时广播连接“%1”的消息:</b><br> - + Lost connection to streaming server and %1 attempts to reconnect have failed. 到流服务器的连接中断,且在 %1 次重试之后仍然无法重新连接 - + Lost connection to streaming server. 到流服务器的连接断开 - + Please check your connection to the Internet. 请检查您的互联网连接 - + Can't connect to streaming server 无法连接到流服务器 - + Please check your connection to the Internet and verify that your username and password are correct. 请检查您的互联网连接,并确保用户名和密码正确。 @@ -12609,7 +13040,7 @@ may introduce a 'pumping' effect and/or distortion. SoftwareWaveformWidget - + Filtered 筛选 @@ -12617,23 +13048,23 @@ may introduce a 'pumping' effect and/or distortion. SoundManager - - + + a device 一个设备 - + An unknown error occurred 发生了未知错误 - + Two outputs cannot share channels on "%1" 两个输出无法共享 %1 的通道 - + Error opening "%1" 无法打开 "%1" @@ -12818,7 +13249,7 @@ may introduce a 'pumping' effect and/or distortion. - + Spinning Vinyl 蹉碟 @@ -13000,7 +13431,7 @@ may introduce a 'pumping' effect and/or distortion. - + Cover Art 封面图片 @@ -13190,243 +13621,243 @@ may introduce a 'pumping' effect and/or distortion. 启用时,将低频均衡器的增益置为 0。 - + Displays the tempo of the loaded track in BPM (beats per minute). 显示已加载音轨的BPM(拍每分钟)。 - + Tempo 速度 - + Key The musical key of a track 音调 - + BPM Tap BPM 敲击 - + When tapped repeatedly, adjusts the BPM to match the tapped BPM. 若重复点击,将把音轨的 BPM 设为点击动作的 BPM。 - + Adjust BPM Down 下调 BPM - + When tapped, adjusts the average BPM down by a small amount. 点击时,将平均 BPM 略微下调。 - + Adjust BPM Up 上调 BPM - + When tapped, adjusts the average BPM up by a small amount. 点击时,将平均 BPM 略微上调。 - + Adjust Beats Earlier 提早节拍 - + When tapped, moves the beatgrid left by a small amount. 点击时,将节拍略微提早。 - + Adjust Beats Later 推迟节拍 - + When tapped, moves the beatgrid right by a small amount. 点击时,将节拍略微推迟。 - + Tempo and BPM Tap 速度和 BPM - + Show/hide the spinning vinyl section. 显示/隐藏唱盘控制器。 - + Keylock 音调锁 - + Toggling keylock during playback may result in a momentary audio glitch. 在回放时切换音高锁定可能会导致音频出现瞬间的噪音(glitch)。 - + Toggle visibility of Loop Controls 切换 Loop Controls 的可见性 - + Toggle visibility of Beatjump Controls 切换 Beatjump 控件的可见性 - + Toggle visibility of Rate Control 切换速率控制的可见性 - + Toggle visibility of Key Controls 切换键控的可见性 - + (while previewing) (预览时) - + Places a cue point at the current position on the waveform. 在波形的当前位置上设置一个切入点。 - + Stops track at cue point, OR go to cue point and play after release (CUP mode). 在切入点处停止,或跳至切入点并在释放后播放(切播模式下)。 - + Set cue point (Pioneer/Mixxx/Numark mode), set cue point and play after release (CUP mode) OR preview from it (Denon mode). 设置切入点(Pioneer/Mixxx 模式下)并在释放后开始播放(切播模式下),或从切入点出开始预览(Denon 模式下)。 - + Is latching the playing state. 正在锁定播放状态。 - + Seeks the track to the cue point and stops. 跳至音轨的切入点,然后停止。 - + Play 播放 - + Plays track from the cue point. 从提示点播放轨道。 - + Sends the selected channel's audio to the headphone output, selected in Preferences -> Sound Hardware. 将所选通道的音频发送到在偏好设置 -> 声音硬件中选择的耳机输出。 - + (This skin should be updated to use Sync Lock!) 这个皮肤应该更新一下,使用同步锁! - + Enable Sync Lock 启用 Sync Lock - + Tap to sync the tempo to other playing tracks or the sync leader. 点击可将速度同步到其他正在播放的轨道或同步引导。 - + Enable Sync Leader 启用 Sync Leader - + When enabled, this device will serve as the sync leader for all other decks. 启用后,此设备将用作所有其他 Deck 的同步引导。 - + This is relevant when a dynamic tempo track is loaded to a sync leader deck.In that case, other synced devices will adopt the changing tempo. 当动态速度轨道加载到同步引导界面时,这一点很重要。在这种情况下,其他同步装置将采用不断变化的速度。 - + Changes the track playback speed (affects both the tempo and the pitch). If keylock is enabled, only the tempo is affected. 改变音轨回放速度(影响速度和音高)。若启用了音高锁,则仅影响速度。 - + Tempo Range Display 速度范围显示 - + Displays the current range of the tempo slider. 显示速度滑块的当前范围。 - + Un-ejects when no track is loaded, i.e. reloads the track that was ejected last (of any deck). 未加载 track 时取消弹出,即重新加载最后弹出的 track (任何卡座)。 - + Delete selected hotcue. 删除选定的 hotcue。 - + Track Comment 轨道评级 - + Displays the comment tag of the loaded track. 显示加载的轨道的注释标签。 - + Opens separate artwork viewer. 打开单独的图稿查看器。 - + Effect Chain Preset Settings Effect Chain 预设设置 - + Show the effect chain settings menu for this unit. 显示本机的 Effect Chain 设置菜单。 - + Select and configure a hardware device for this input 为此输入选择并配置硬件设备 - + Recording Duration 录制时间 @@ -13649,949 +14080,984 @@ may introduce a 'pumping' effect and/or distortion. 在活动时保持较高的播放速度(少量)。 - + When tapped repeatedly, adjusts the tempo to match the tapped BPM. 若重复点击,将把音轨的 BPM 设为点击动作的 BPM。 + + + Click to open the tempo/BPM editor + + + + + It also shows a colored bar if Key colors are enabled in the Preferences. + + + The bar will be split vertically if the track's key is in between full keys. + + + + Tempo Tap 节奏敲击 - + Rate Tap and BPM Tap Rate Tap 和 BPM Tap - + + Set Tempo + + + + + Set the desired tempo in BPM. If the track currently has no BPM detected, set the desired tempo in percent. + + + + Adjust beatgrid by exactly one half beat. Usable only on tracks with constant tempo. - + Revert last BPM/Beatgrid Change 还原上次 BPM/节拍网格 更改 - + Revert last BPM/Beatgrid Change of the loaded track. 还原上次 BPM/节拍网格 对加载曲目的更改。 - - + + Toggle the BPM/beatgrid lock 切换 BPM/节拍网格 锁 - + Tempo and Rate Tap 速度和 BPM - + Tempo, Rate Tap and BPM Tap 速度、速率拍子和 BPM 拍子 - + Shift cues earlier 提前移动提示 - - + + Shift cues imported from Serato or Rekordbox if they are slightly off time. 从 Serato 或 Rekordbox 导入的 Shift 提示点(如果它们稍微偏离时间)。 - + Left click: shift 10 milliseconds earlier 左键单击:提前 10 毫秒 Shift - + Right click: shift 1 millisecond earlier 右键单击:提前 1 毫秒 Shift - + Shift cues later 稍后切换提示 - + Left click: shift 10 milliseconds later 左键单击:10 毫秒后 shift - + Right click: shift 1 millisecond later 右键单击:1 毫秒后 Shift - - - + + + Drag a Hotcue button here to continue playing after releasing the Hotcue. - + Hint: Change the default cue mode in Preferences -> Decks. - + Mutes the selected channel's audio in the main output. 将主输出中所选声道的音频静音。 - + Main mix enable 主混音启用 - + Hold or short click for latching to mix this input into the main output. 按住或短按锁定以将此输入混合到主输出中。 - + + Reloads the last replaced track. If no track is loaded reloads the second-last ejected track. + + + + If hotcue is a loop cue, toggles the loop and jumps to if the loop is behind the play position. 如果 hotcue 是一个 Loop 提示,则切换 Loop 并跳转到 Loop 是否在播放位置后面。 - + If the play position is inside an active loop, stores the loop as loop cue. 如果播放位置位于活动 Loop 内,则将 Loop 存储为 Loop 提示。 - + Drag this button onto another Hotcue button to move it there (change its index). If the other hotcue is set, the two are swapped. - + Expand/Collapse Samplers 展开/折叠采样器 - + Toggle expanded samplers view. 切换展开的采样器视图。 - + Displays the duration of the running recording. 显示运行录制的持续时间。 - + Auto DJ is active Auto DJ 处于活动状态 - + Red for when needle skip has been detected. 红色表示检测到跳针。 - + Hot Cue - Track will seek to nearest previous hotcue point. 热切 - 将会定位到上一个(最近的)热切入点。 - + Sets the track Loop-In Marker to the current play position. 将当前播放位置设为碟机循环起始位置。 - + Press and hold to move Loop-In Marker. 按住可移动 Loop-In 标记。 - + Jump to Loop-In Marker. 跳转到 Loop-In 标记。 - + Sets the track Loop-Out Marker to the current play position. 将当前播放位置设为碟机循环起始位置。 - + Press and hold to move Loop-Out Marker. 按住可移动 Loop-Out Marker。 - + Jump to Loop-Out Marker. 跳转到 Loop-Out Marker。 - + If the track has no beats the unit is seconds. 如果轨道没有节拍,则单位为秒。 - + Beatloop Size Beatloop 大小 - + Select the size of the loop in beats to set with the Beatloop button. 选择 Loop 的大小(以节拍为单位),以使用 Beatloop 按钮进行设置。 - + Changing this resizes the loop if the loop already matches this size. 如果 loop 已经匹配此大小,则更改此 URL 将调整 Loop 的大小。 - + Halve the size of an existing beatloop, or halve the size of the next beatloop set with the Beatloop button. 将现有 Beatloop 的大小减半,或使用 Beatloop 按钮将下一个 Beatloop 集的大小减半。 - + Double the size of an existing beatloop, or double the size of the next beatloop set with the Beatloop button. 使用 Beatloop 按钮将现有 Beatloop 的大小增加一倍,或将下一个 Beatloop 集的大小增加一倍。 - + Start a loop over the set number of beats. 在设定的节拍数上开始循环。 - + Temporarily enable a rolling loop over the set number of beats. 在设定的节拍数上暂时启用滚动循环。 - + Beatloop Anchor Beatloop 固定点 - + Define whether the loop is created and adjusted from its staring point or ending point. 定义是否从其起始点或终点创建和调整循环。 - + Beatjump/Loop Move Size Beatjump/Loop 移动大小 - + Select the number of beats to jump or move the loop with the Beatjump Forward/Backward buttons. 选择要跳跃的节拍数,或使用 Beatjump Forward/Backward 按钮移动 Loop。 - + Beatjump Forward Beatjump 向前 - + Jump forward by the set number of beats. 向前跳动设定的节拍数。 - + Move the loop forward by the set number of beats. 将 Loop 向前移动设定的节拍数。 - + Jump forward by 1 beat. 向前跳 1 拍 - + Move the loop forward by 1 beat. 将循环向前移动 1 拍 - + Beatjump Backward 向后跳拍 - + Jump backward by the set number of beats. 向后跳过指定数量的节拍。 - + Move the loop backward by the set number of beats. 将循环向后移动指定数量的节拍。 - + Jump backward by 1 beat. 向后跳 1 拍 - + Move the loop backward by 1 beat. 将循环向后移动 1 拍 - + Reloop 再循环 - + If the loop is ahead of the current position, looping will start when the loop is reached. 如果在当前播放位置前方有循环节的话,将会在到达循环的时候开始循环。 - + Works only if Loop-In and Loop-Out Marker are set. 仅当设置了循环起始和结束位置时才会有效。 - + Enable loop, jump to Loop-In Marker, and stop playback. 启用 loop,跳转到 Loop-In Marker,然后停止播放。 - + Displays the elapsed and/or remaining time of the track loaded. 显示加载跟踪的经过和 (或) 剩余时间。 - + Click to toggle between time elapsed/remaining time/both. 单击可切换时间/剩余时间时间或两者。 - + Hint: Change the time format in Preferences -> Decks. 提示:在 Preferences -> Decks 中更改时间格式。 - + Show/hide intro & outro markers and associated buttons. 显示/隐藏介绍和结尾标记以及相关按钮。 - + + Ensure all waveforms to have the same height across all channels. By default, when displaying the stem controls, waveform for channel that have no stem may render with a shorter height in order to honor the waveform container size you have requested.. + + + + Intro Start Marker 介绍开始标记 - - - - + + + + If marker is set, jumps to the marker. 如果设置了 marker,则跳转到 marker。 - - - - + + + + If marker is not set, sets the marker to the current play position. 如果未设置 marker,则将 marker 设置为当前播放位置。 - - - - + + + + If marker is set, clears the marker. 如果设置了 marker,则清除 marker。 - + Intro End Marker 介绍结束标记 - + Outro Start Marker 结尾部分开始标记 - + Outro End Marker 结尾部分结束标记 - + Mix 混合 - + Adjust the mixing of the dry (input) signal with the wet (output) signal of the effect unit 调整效果器单元的干 (input) 信号与湿 (output) 信号的混合 - + D/W mode: Crossfade between dry and wet D/W 模式:干湿交叉淡入淡出 - + D+W mode: Add wet to dry D+W 模式:从湿到干 - + Mix Mode 混合模式 - + Adjust how the dry (input) signal is mixed with the wet (output) signal of the effect unit 调整干 (输入) 信号与效果单元的湿 (输出) 信号的混合方式 - + Dry/Wet mode (crossed lines): Mix knob crossfades between dry and wet Use this to change the sound of the track with EQ and filter effects. 干/湿模式(交叉线):混合旋钮在干湿之间交叉淡化 使用此选项可通过 EQ 和滤波器效果更改轨道的声音。 - + Dry+Wet mode (flat dry line): Mix knob adds wet to dry Use this to change only the effected (wet) signal with EQ and filter effects. 干 + 湿模式(平坦干线):混合旋钮将湿添加到干 使用此选项可仅更改带有 EQ 和滤波器效果的效果(湿)信号。 - + Route the main mix through this effect unit. 通过此效果器单元路由主混音。 - + Route the left crossfader bus through this effect unit. 将左侧的交叉推子总线路由到此效果器单元中。 - + Route the right crossfader bus through this effect unit. 将右侧的 Crossfader 总线路由到此效果器单元中 - + Right side active: parameter moves with right half of Meta Knob turn 右侧激活:参数随着 Meta 旋钮的右半部分转动而移动 - + Stem Label - + Name of the stem stored in the stem file - + Text is displayed in the stem color stored in the stem file - + this stem color is also used for the waveform of this stem - + Stem Mute - + Toggle the stem mute/unmuted - + Stem Volume Knob - + Adjusts the volume of the stem - + Skin Settings Menu Skin Settings 菜单 - + Show/hide skin settings menu 显示/隐藏皮肤设置菜单 - + Save Sampler Bank 保存采样库 - + Save the collection of samples loaded in the samplers. 保存采样器中加载的样本集合。 - + Load Sampler Bank 加载采样库 - + Load a previously saved collection of samples into the samplers. 将以前保存的样本集合加载到采样器中。 - + Show Effect Parameters 显示效果的参数 - + Enable Effect 启用特效 - + Meta Knob Link 元旋钮链接 - + Set how this parameter is linked to the effect's Meta Knob. 设置此参数如何链接到效果的 Meta 旋钮。 - + Meta Knob Link Inversion 元旋钮链接反演 - + Inverts the direction this parameter moves when turning the effect's Meta Knob. 反转此参数时效果的 Meta 旋钮移动的方向。 - + Super Knob 超级旋钮 - + Next Chain 下一效果器链 - + Previous Chain 上一效果器链 - + Next/Previous Chain 下一个/上一个效果器链 - + Clear 清除 - + Clear the current effect. 清除当前效果。 - + Toggle 切换 - + Toggle the current effect. 切换当前效果。 - + Next 下一首 - + Clear Unit 清除单元 - + Clear effect unit. 清除效果单元。 - + Show/hide parameters for effects in this unit. 显示/隐藏此单元中效果的参数。 - + Toggle Unit 切换单元 - + Enable or disable this whole effect unit. 启用或禁用整个效果单元。 - + Controls the Meta Knob of all effects in this unit together. 同时控制该单元中所有效果的 Meta 旋钮。 - + Load next effect chain preset into this effect unit. 将 next effect chain 预设加载到此效果单元中。 - + Load previous effect chain preset into this effect unit. 将上一个效果链预设加载到此效果单元中。 - + Load next or previous effect chain preset into this effect unit. 将下一个或上一个效果链预设加载到此效果单元中。 - - - - - - - - - + + + + + + + + + Assign Effect Unit 分配效果单元 - + Assign this effect unit to the channel output. 将此效果器单元分配给通道输出。 - + Route the headphone channel through this effect unit. 通过此效果器单元路由耳机通道。 - + Route this deck through the indicated effect unit. 将此 Deck 路由到指定的效果单位。 - + Route this sampler through the indicated effect unit. 将此采样器路由到指示的效果器单元。 - + Route this microphone through the indicated effect unit. 将此麦克风路由到指示的效果器单元。 - + Route this auxiliary input through the indicated effect unit. 通过指示的效果器单元路由此辅助输入 - + The effect unit must also be assigned to a deck or other sound source to hear the effect. 还必须将效果单元分配给 Deck 或其他声源才能听到效果。 - + Switch to the next effect. 切换至下一个效果。 - + Previous 上一首 - + Switch to the previous effect. 切换至之前的效果。 - + Next or Previous 下一个或上一个 - + Switch to either the next or previous effect. 切换至下一个或上一个效果。 - + Meta Knob 元旋钮 - + Controls linked parameters of this effect 这种效应的控制链接的参数 - + Effect Focus Button 影响对焦按钮 - + Focuses this effect. 针对这种效果。 - + Unfocuses this effect. Unfocuses 这种效果。 - + Refer to the web page on the Mixxx wiki for your controller for more information. 您的控制器的详细信息,请参阅 Mixxx wiki 上的 web 页。 - + Effect Parameter 效果器参数 - + Adjusts a parameter of the effect. 调整效果器的参数。 - + Inactive: parameter not linked Inactive:参数未链接 - + Active: parameter moves with Meta Knob Active(活动):参数随 Meta 旋钮移动 - + Left side active: parameter moves with left half of Meta Knob turn 左侧激活:参数随着 Meta 旋钮的左半部分转动而移动 - + Left and right side active: parameter moves across range with half of Meta Knob turn and back with the other half 左侧和右侧激活:参数在切换距离时移动,Meta 旋钮的一半转动,另一半转动 - - + + Equalizer Parameter Kill 均衡器参数置零 - - + + Holds the gain of the EQ to zero while active. 启用时,将均衡器的增益设为 0。 - + Quick Effect Super Knob 快捷效果的超级旋钮 - + Quick Effect Super Knob (control linked effect parameters). 快捷效果超级旋钮(控制关联的效果参数)。 - + Hint: Change the default Quick Effect mode in Preferences -> Equalizers. 提示:可以在 首选项 -> 均衡器 设置中更改默认的快捷效果模式。 - + Equalizer Parameter 均衡器参数 - + Adjusts the gain of the EQ filter. 调整均衡滤波器的增益。 - + Hint: Change the default EQ mode in Preferences -> Equalizers. 提示:可以在 首选项 -> 均衡器 设置中更改默认的均衡器模式。 - - + + Adjust Beatgrid 调整节拍 - + Adjust beatgrid so the closest beat is aligned with the current play position. 调整节拍样式,使得当前播放位置与周围最近的节拍对齐。 - - + + Adjust beatgrid to match another playing deck. 调整节拍样式以匹配另一个正在播放的碟机。 - + If quantize is enabled, snaps to the nearest beat. 若启用量化,则对齐到最近的节拍。 - + Quantize 量化模式 - + Toggles quantization. 切换量化模式。 - + Loops and cues snap to the nearest beat when quantization is enabled. 若启用量化,循环和切入点将对齐到最近的节拍。 - + Reverse 反向 - + Reverses track playback during regular playback. 在常规的回放模式中,反向播放音轨。 - + Puts a track into reverse while being held (Censor). 按下时,将音轨反向。 - + Playback continues where the track would have been if it had not been temporarily reversed. 在继续播放的同时,将音轨反转(若之前尚未反转的话)。 - - - + + + Play/Pause 播放/暂停 - + Jumps to the beginning of the track. 跳至音轨起始点。 - + Syncs the tempo (BPM) and phase to that of the other track, if BPM is detected on both. 将速度(BPM)和相位与其他音轨同步(若二者的 BPM 均以被获取)。 - + Syncs the tempo (BPM) to that of the other track, if BPM is detected on both. 将速度(BPM)与其他音轨同步(若二者的 BPM 均以被获取)。 - + Sync and Reset Key 同步并重置音调 - + Increases the pitch by one semitone. 将音高升高半音。 - + Decreases the pitch by one semitone. 将音高降低半音。 - + Enable Vinyl Control 启用唱盘控制 - + When disabled, the track is controlled by Mixxx playback controls. 若禁用,将由 Mixxx 回放控制器来控制音轨。 - + When enabled, the track responds to external vinyl control. 若启用,则由外部唱盘控制器来控制音轨。 - + Enable Passthrough 启用直通 - + Indicates that the audio buffer is too small to do all audio processing. 指示当前音频缓冲区太小,无法进行完整的音频处理。 - + Displays cover artwork of the loaded track. 显示已加载音轨的封面。 - + Displays options for editing cover artwork. 显示用于编辑封面的选项。 - + Star Rating 开始评分 - + Assign ratings to individual tracks by clicking the stars. 通过选择星星数来给每个专辑打分(评级)。 @@ -14726,33 +15192,33 @@ Use this to change only the effected (wet) signal with EQ and filter effects.麦克风闪避强度 - + Prevents the pitch from changing when the rate changes. 当速率改变时,防止音高也改变。 - + Changes the number of hotcue buttons displayed in the deck 更改 Deck 中显示的 hotcue 按钮的数量 - + Starts playing from the beginning of the track. 从音轨起点处开始播放。 - + Jumps to the beginning of the track and stops. 跳至音轨起始点,然后停止。 - - + + Plays or pauses the track. 播放或暂停音轨。 - + (while playing) (播放时) @@ -14772,215 +15238,215 @@ Use this to change only the effected (wet) signal with EQ and filter effects.主通道 R 音量表 - + (while stopped) (停止时) - + Cue 切入(Cue) - + Headphone 耳机 - + Mute 静音 - + Old Synchronize 老式同步 - + Syncs to the first deck (in numerical order) that is playing a track and has a BPM. 与第一个(按数字顺序)正在播放音轨(且音轨有 BPM 信息)的碟机同步。 - + If no deck is playing, syncs to the first deck that has a BPM. 若没有正在播放的碟机,与第一个有 BPM 信息的碟机同步。 - + Decks can't sync to samplers and samplers can only sync to decks. 无法将碟机与采样器同步,采样器仅能与碟机同步。 - + Hold for at least a second to enable sync lock for this deck. 按住一秒钟,可以启用此碟机的同步锁定。 - + Decks with sync locked will all play at the same tempo, and decks that also have quantize enabled will always have their beats lined up. 启用了同步锁定的碟机将会以相同的速度播放;其中启用了量化模式的碟机还会自动同步节拍。 - + Resets the key to the original track key. 重置为音轨的原音调。 - + Speed Control 速度控制 - - - + + + Changes the track pitch independent of the tempo. 保持速度不变的前提下,改变音轨音高。 - + Increases the pitch by 10 cents. 增加 10% 音高。 - + Decreases the pitch by 10 cents. 降低 10% 音高。 - + Pitch Adjust 调整音高 - + Adjust the pitch in addition to the speed slider pitch. 在速度滑块所对应的音高基准上再次调整音高。 - + Opens a menu to clear hotcues or edit their labels and colors. 打开一个菜单以清除 Hotcue 或编辑其标签和颜色。 - + Drag this button onto a Play button while previewing to continue playback after release. - + Dragging with Shift key pressed will not start previewing the hotcue. - + Record Mix 录制混音 - + Toggle mix recording. 切换混音录制。 - + Enable Live Broadcasting 启用在线广播 - + Stream your mix over the Internet. 将您的混音结果以流的形式发送到互联网。 - + Provides visual feedback for Live Broadcasting status: 为在线广播的状态提供可视化反馈: - + disabled, connecting, connected, failure. 禁用,正在连接,已连接,失败。 - + When enabled, the deck directly plays the audio arriving on the vinyl input. 若启用,碟机将会直接播放来自唱盘的输入信号。 - + Playback will resume where the track would have been if it had not entered the loop. 若音轨尚未进入循环,则会继续进行回放。 - + Loop Exit 结束循环 - + Turns the current loop off. 关闭当前循环。 - + Slip Mode 滑动模式 - + When active, the playback continues muted in the background during a loop, reverse, scratch etc. 若启用,将会在循环、反向或刮擦的时候将回放信号静音。 - + Once disabled, the audible playback will resume where the track would have been. 禁用之后,将会从音轨即将要播放的地方开始回放。 - + Track Key The musical key of a track 音轨音调 - + Displays the musical key of the loaded track. 显示已加载音轨的音调。 - + Clock 时钟 - + Displays the current time. 显示当前时间。 - + Audio Latency Usage Meter 音频使用延迟指示器 - + Displays the fraction of latency used for audio processing. 显示用于音频处理的延迟分数。 - + A high value indicates that audible glitches are likely. 值越大,表示越可能出现噪音。 - + Do not enable keylock, effects or additional decks in this situation. 在这个情况不要启用音调锁,效果器或者额外的碟机。 - + Audio Latency Overload Indicator 音频延迟过载指示器 @@ -15020,259 +15486,259 @@ Use this to change only the effected (wet) signal with EQ and filter effects.可以在 菜单 -> 选项 中启用唱盘控制。 - + Displays the current musical key of the loaded track after pitch shifting. 显示已加载的音轨移调后的当前音高。 - + Fast Rewind 快退 - + Fast rewind through the track. 音轨快退。 - + Fast Forward 快进 - + Fast forward through the track. 音轨快进。 - + Jumps to the end of the track. 跳至音轨结束点。 - + Sets the pitch to a key that allows a harmonic transition from the other track. Requires a detected key on both involved decks. 选择音调的音高,以便从其他音轨进行和声转换。需要双方碟机均已检测到音调信息。 - - - + + + Pitch Control 音高控制 - + Pitch Rate 音高速率 - + Displays the current playback rate of the track. 显示当前音轨的回放速率。 - + Repeat 重复 - + When active the track will repeat if you go past the end or reverse before the start. 若启用,则会在音轨播放结束或返回音轨起始处时再次播放音轨。 - + Eject 弹出 - + Ejects track from the player. 从播放器中弹出音轨。 - + Hotcue 热切点(Hotcue) - + If hotcue is set, jumps to the hotcue. 若设置了热切,将会跳至热切点。 - + If hotcue is not set, sets the hotcue to the current play position. 若未设置热切,将会在当前播放位置设置一个热切点。 - + Vinyl Control Mode 唱盘控制模式 - + Absolute mode - track position equals needle position and speed. 绝对模式 - 音轨位置与播放指针的位置和速度一致。 - + Relative mode - track speed equals needle speed regardless of needle position. 相对模式 - 音轨速度与播放指针速度一致(无论指针处于哪个位置) - + Constant mode - track speed equals last known-steady speed regardless of needle input. 常量模式 - 音轨速度等于(最近的)已知的稳定速度(无视指针输入)。 - + Vinyl Status 唱盘状态 - + Provides visual feedback for vinyl control status: 为唱盘控制器的状态提供可视化反馈: - + Green for control enabled. 绿色表示已启用控制。 - + Blinking yellow for when the needle reaches the end of the record. 黄色(闪烁)表示播放指针到达记录结尾。 - + Loop-In Marker 循环起始标记 - + Loop-Out Marker 播放结束标记 - + Loop Halve 循环减半 - + Halves the current loop's length by moving the end marker. 移动循环结束标记,使得循环长度减半。 - + Deck immediately loops if past the new endpoint. 在到达新的结束位置后,碟机将会立即循环。 - + Loop Double 循环加倍 - + Doubles the current loop's length by moving the end marker. 移动循环结束标记,使得循环长度加倍。 - + Beatloop 节拍循环 - + Toggles the current loop on or off. 开启或关闭当前循环。 - + Works only if Loop-In and Loop-Out marker are set. 仅当设置了循环起始和结束位置时才会有效。 - + Vinyl Cueing Mode 唱盘Cueing模式 - + Determines how cue points are treated in vinyl control Relative mode: 设置在唱盘控制的相对模式中,如何处理切入点: - + Off - Cue points ignored. 关闭 - 忽略切入点。 - + One Cue - If needle is dropped after the cue point, track will seek to that cue point. 单次切入 - 若取消了切入点后的播放指针,将会定位到此切入点。 - + Track Time 音轨时间 - + Track Duration 音轨长度 - + Displays the duration of the loaded track. 显示已加载的音轨的长度。 - + Information is loaded from the track's metadata tags. 已从音轨的元数据标签中载入 信息。 - + Track Artist 音轨艺术家 - + Displays the artist of the loaded track. 显示音轨的艺术家。 - + Track Title 音轨标题 - + Displays the title of the loaded track. 显示音轨的标题。 - + Track Album 专辑 - + Displays the album name of the loaded track. 显示音轨的专辑名称。 - + Track Artist/Title 音轨艺术家/标题 - + Displays the artist and title of the loaded track. 显示音轨的艺术家和标题。 @@ -15503,47 +15969,75 @@ This can not be undone! WCueMenuPopup - + Cue number 提示编号 - + Cue position 提示位置 - + Edit cue label Edit cue label(编辑提示标签) - + Label... 标签 - + Delete this cue 删除此提示 - - Toggle this cue type between normal cue and saved loop - 在正常提示点和保存的 Loop 之间切换此提示类型 + + Turn this cue into a regular hotcue + + + + + Turn this cue into a saved loop + + + + + Left-click: Use the old size if known or the current beatloop size as the loop size + + + + + Right-click: Use the current play position as new loop end if it is after the cue + + + + + Turn this cue into a saved forward jump. + + is a linebreak. Try to not to extend the translation beyond the length of the longest source line so the tooltip remains compact. + + + + + Turn this cue into a saved backward jump (one shot loop). + - - Left-click: Use the old size or the current beatloop size as the loop size - 左键单击:使用旧大小或当前 Beatloop 大小作为 Loop 大小 + + Left-click: Use the old size if known or the current play position as jump start position +If this is already a jump cue, swap the jump position and the cue/target position. + - - Right-click: Use the current play position as loop end if it is after the cue - 右键点击:如果当前播放位置在 cue 之后,则将其用作 Loop 结束 + + Right-click: use current play position as new jump start position + - + Hotcue #%1 热提示 #%1 @@ -15845,171 +16339,181 @@ This can not be undone! + Show Auto DJ + + + + + Switch to the Auto DJ view. + + + + &Full Screen 全屏(&F) - + Display Mixxx using the full screen 全屏模式显示 Mixxx - + &Options 选项(&O) - + &Vinyl Control 唱盘控制(&V) - + Use timecoded vinyls on external turntables to control Mixxx 对外部转盘使用时间编码的唱盘控制,以便控制 Mixxx - + Enable Vinyl Control &%1 启用Vinyl控制 &%1 - + &Record Mix 录制混音(&M) - + Record your mix to a file 将混音输出到文件 - + Ctrl+R Ctrl+R - + Enable Live &Broadcasting 启用在线广播(&B) - + Stream your mixes to a shoutcast or icecast server 将混音通过流输出到 shoutcast 或 icecast 服务器 - + Ctrl+L Ctrl+L - + Enable &Keyboard Shortcuts 启用键快捷键(&K) - + Toggles keyboard shortcuts on or off 键盘快捷键开关 - + Ctrl+` Ctrl+` - + &Preferences 首选项(&P) - + Change Mixxx settings (e.g. playback, MIDI, controls) 改变 Mixxx 设定(回放、MIDI、控制器等) - + &Developer 开发者(&D) - + &Reload Skin 重载皮肤(&R) - + Reload the skin 重新载入皮肤 - + Ctrl+Shift+R Ctrl+Shift+R - + Developer &Tools 开发者工具(&T) - + Opens the developer tools dialog 打开开发者工具对话框 - + Ctrl+Shift+T Ctrl+Shift+T - + Stats: &Experiment Bucket 统计:实验桶(&E) - + Enables experiment mode. Collects stats in the EXPERIMENT tracking bucket. 启用实验模式。统计数据将会收集到实验跟踪桶中。 - + Ctrl+Shift+E Ctrl+Shift+E - + Stats: &Base Bucket 统计:基础桶(&B) - + Enables base mode. Collects stats in the BASE tracking bucket. 启用基础模式。统计数据将会收集到基础跟踪桶中。 - + Ctrl+Shift+B Ctrl+Shift+B - + Deb&ugger Enabled 调试器已启用(&U) - + Enables the debugger during skin parsing 在解析皮肤时启用调试器 - + Ctrl+Shift+D Ctrl+Shift+D - + &Help 帮助(&H) @@ -16043,62 +16547,62 @@ This can not be undone! F12 - + &Community Support 社区帮助(&C) - + Get help with Mixxx 获取 Mixxx 帮助 - + &User Manual 用户手册(&U) - + Read the Mixxx user manual. 阅读Mixxx用户手册。 - + &Keyboard Shortcuts 键盘快捷键(&K) - + Speed up your workflow with keyboard shortcuts. 使用键盘快捷键提高你的效率。 - + &Settings directory &设置目录 - + Open the Mixxx user settings directory. 打开 Mixxx 用户设置目录。 - + &Translate This Application 翻译这个程序(&T) - + Help translate this application into your language. 帮助翻译此程序。 - + &About 关于(&A) - + About the application 关于此应用程序 @@ -16106,25 +16610,25 @@ This can not be undone! WOverview - + Passthrough 直通 - + Ready to play, analyzing... Text on waveform overview when file is playable but no waveform is visible 音轨已就绪,正在分析 .. - - + + Loading track... Text on waveform overview when file is cached from source 正在加载曲目... - + Finalizing... Text on waveform overview during finalizing of waveform analysis 完成处理 ... @@ -16314,625 +16818,640 @@ This can not be undone! WTrackMenu - + Load to 载入到 - + Deck 碟盘 - + Sampler 采样 - + Add to Playlist 添加到播放列表 - + Crates 分类列表 - + Metadata 元数据 - + Update external collections 更新外部集合 - + Cover Art 封面图片 - + Adjust BPM 调节 BPM - + Select Color 选择颜色 - - + + Analyze 分析 - - + + Delete Track Files 删除音轨数据 - + Add to Auto DJ Queue (bottom) 添加至自动 DJ 队列(底部) - + Add to Auto DJ Queue (top) 添加至自动 DJ 队列(顶部) - + Add to Auto DJ Queue (replace) 添加至自动 DJ 队列(替换) - + Preview Deck 预览碟机 - + Remove 删除 - + Remove from Playlist 从播放列表中删除 - + Remove from Crate 从播放列表中删除 - + Hide from Library 在媒体库中隐藏 - + Unhide from Library 在媒体库中显示 - + Purge from Library 从媒体库中清除 - + Move Track File(s) to Trash 将轨道文件移至废纸篓 - + Delete Files from Disk 从磁盘中删除文件 - + Properties 属性 - + Open in File Browser 在文件管理器中打开 - + Select in Library 在库中选择 - + Import From File Tags 从文件标签导入 - + Import From MusicBrainz 从 MusicBrainz 导入 - + Export To File Tags 导出文件属性 - + BPM and Beatgrid 拍速和拍格 - + Play Count 播放计数 - + Rating 评分 - + Cue Point 切点 - - + + Hotcues 即时切点 - + Intro v - + Outro 结尾 - + Key 音调 - + ReplayGain 播放音量增益 - + Waveform 波形 - + Comment 备注 - + All 全部 - + Sort hotcues by position (remove offsets) - + Sort hotcues by position - + Lock BPM 拍速锁定 - + Unlock BPM 拍速解锁 - + Double BPM 拍速倍增 - + Halve BPM 拍速倍减 - + 2/3 BPM 2/3 BPM - + 3/4 BPM 3/4 BPM - + 4/3 BPM 4/3 BPM - + 3/2 BPM 3/2 BPM - + Shift Beatgrid Half Beat - + Reanalyze 重新分析 - + Reanalyze (constant BPM) 重新分析(恒定 BPM) - + Reanalyze (variable BPM) 重新分析(变量 BPM) - + Update ReplayGain from Deck Gain 更新Deck Gain的ReplayGain - + Deck %1 碟盘 %1 - + Importing metadata of %n track(s) from file tags 从文件标签导入 %n 个轨道的元数据 - + Marking metadata of %n track(s) to be exported into file tags 标记要导出到文件标签的 %n 个轨道的数据 - - + + Create New Playlist 新建播放列表 - + Enter name for new playlist: 输入播放列表的新名称: - + New Playlist 新建播放列表 - - - + + + Playlist Creation Failed 播放列表创建失败 - + A playlist by that name already exists. 使用该名称的播放列表已存在。 - + A playlist cannot have a blank name. 播放列表名称不能为空。 - + An unknown error occurred while creating playlist: 创建播放列表时发生未知错误: - + Add to New Crate 添加至分类列表 - + Scaling BPM of %n track(s) 缩放 %n 个磁道的 BPM - + Undo BPM/beats change of %n track(s) 撤消 BPM/节拍 %n 个轨道的更改 - + Locking BPM of %n track(s) 锁定 %n 个磁道的 BPM - + Unlocking BPM of %n track(s) 解锁 %n 个磁道的 BPM - + Setting rating of %n track(s) 清除 %n 条轨道的评级 - + Setting color of %n track(s) 设置 %n 个轨道的颜色 - + Resetting play count of %n track(s) 重置 %n 个轨道的播放计数 - + Resetting beats of %n track(s) 重置 %n 个轨道的节拍 - + Clearing rating of %n track(s) 清除 %n 条磁道的评级 - + Clearing comment of %n track(s) 正在清除 %n 个轨道的注释 - + Removing main cue from %n track(s) 从 %n 个轨道中删除主提示点 - + Removing outro cue from %n track(s) 从 %n 个轨道中删除结尾提示 - + Removing intro cue from %n track(s) 从 %n 个轨道中删除前奏提示 - + Removing loop cues from %n track(s) 从 %n 个轨道中删除 Loop 提示点 - + Removing hot cues from %n track(s) 从 %n 个轨道中删除热提示 - + Sorting hotcues of %n track(s) by position (remove offsets) - + Sorting hotcues of %n track(s) by position - + Resetting keys of %n track(s) 重置 %n 个轨道的键 - + Resetting replay gain of %n track(s) 重置 %n 个轨道的重放增益 - + Resetting waveform of %n track(s) 重置 %n 个轨道的波形 - + Resetting all performance metadata of %n track(s) 重置 %n 个轨道的所有性能数据 - + Move these files to the trash bin? 将这些文件移动到垃圾箱? - + Permanently delete these files from disk? 从磁盘中永久删除这些文件? - - + + This can not be undone! 此操作无法撤消! - + Cancel 取消 - + Delete Files 删除文件 - + Okay - + Move Track File(s) to Trash? 要把轨道文件移到垃圾桶吗? - + Track Files Deleted 文件已删除 - + Track Files Moved To Trash 已移动到垃圾桶的文件 - + %1 track files were moved to trash and purged from the Mixxx database. %1 轨道文件被移至废纸篓并从 Mixxx 数据库中清除。 - + %1 track files were deleted from disk and purged from the Mixxx database. %1 轨道文件已从磁盘中删除,并从 Mixxx 数据库中清除。 - + Track File Deleted 文件已删除 - + Track file was deleted from disk and purged from the Mixxx database. 跟踪文件已从磁盘中删除,并从 Mixxx 数据库中清除。 - + The following %1 file(s) could not be deleted from disk 无法从磁盘中删除以下 %1 文件 - + This track file could not be deleted from disk 无法从磁盘中删除此跟踪文件 - + Remaining Track File(s) 剩余轨道文件 - + Close 关闭 - + Clear Reset metadata in right click track context menu in library 清除 - + Loops 循环 - + Clear BPM and Beatgrid 清除 BPM 和节拍样式 - + Undo last BPM/beats change 撤消上次 BPM/节拍更改 - + Move this track file to the trash bin? 把这个轨道文件移到垃圾桶吗? - + Permanently delete this track file from disk? 永久删除这个轨道文件吗? - + All decks where these tracks are loaded will be stopped and the tracks will be ejected. 加载这些轨道的所有卡盘都将停止,轨道将被弹出。 - + All decks where this track is loaded will be stopped and the track will be ejected. 加载此轨道的所有卡盘都将停止,轨道将被弹出。 - + Removing %n track file(s) from disk... 正在从磁盘中删除 %n 个磁道文件... - + Note: if you are in the Computer or Recording view you need to click the current view again to see changes. 注意:如果您位于 Computer 或 Recording 视图中,则需要再次单击当前视图才能看到更改。 - + Track File Moved To Trash 文件已移至垃圾桶 - + Track file was moved to trash and purged from the Mixxx database. 跟踪文件已移至回收站并从 Mixxx 数据库中清除。 - + Don't show again during this session - + The following %1 file(s) could not be moved to trash 以下 %1 文件无法移至回收站 - + This track file could not be moved to trash 无法将此跟踪文件移至回收站 + + + Replace current Auto DJ queue? + + + + + Do you want to replace the entire Auto DJ queue with the selected tracks? + + + + + Don't ask again during this session + + - + Setting cover art of %n track(s) 设置 %n 个轨道的封面艺术 - + Reloading cover art of %n track(s) 重新加载 %n 个轨道的封面艺术 @@ -16986,37 +17505,37 @@ This can not be undone! WTrackTableView - + Confirm track hide 确认轨道隐藏 - + Are you sure you want to hide the selected tracks? 您确定要隐藏选定的轨道吗? - + Are you sure you want to remove the selected tracks from AutoDJ queue? 您确定要从 AutoDJ 队列中删除选定的曲目吗? - + Are you sure you want to remove the selected tracks from this crate? 您确定要隐藏选定的轨道吗? - + Are you sure you want to remove the selected tracks from this playlist? 您确定要从此播放列表中删除选定的曲目吗? - + Don't ask again during this session 在此会话期间不要再次询问 - + Confirm track removal 确认轨道移除 @@ -17024,12 +17543,12 @@ This can not be undone! WTrackTableViewHeader - + Show or hide columns. 显示或隐藏列。 - + Shuffle Tracks @@ -17037,52 +17556,52 @@ This can not be undone! mixxx::CoreServices - + fonts 字体 - + database 数据库 - + effects 效果 - + audio interface 音频接口 - + decks 甲板 - + library 媒体库 - + Choose music library directory 选择音乐库目录 - + controllers 控制器 - + Cannot open database 无法打开数据库 - + Unable to establish a database connection. Mixxx requires QT with SQLite support. Please read the Qt SQL driver documentation for information on how to build it. @@ -17240,6 +17759,24 @@ Mixxx 需要 QT 支持 SQLite。请阅读 Qt SQL 驱动文档以了解相关构 网络请求尚未启动 + + mixxx::qml::QmlApplication + + + Existing user profile detected + + + + + Trying to run Mixxx 3.0 with an existing %0 user profile! <br><br>There is <b>serious risks</b> of data loss and corruption.<br>We recommend using a test profile folder with the '--settings-path' argument. <br><br>If you want to continue at your own risk, run Mixxx with the argument '--allow-dangerous-data-corruption-risk'. + + + + + Ok + + + mixxx::qml::QmlVisibleEffectsModel @@ -17248,4 +17785,27 @@ Mixxx 需要 QT 支持 SQLite。请阅读 Qt SQL 驱动文档以了解相关构 未加载效果器。 + + mixxx::qml::QmlWaveformRendererMark + + + Cannot find the marker pixmap + + + + + Cannot find the marker endPixmap + + + + + Cannot find the marker icon + + + + + Cannot find the marker endIcon + + + \ No newline at end of file diff --git a/res/translations/mixxx_zh_HK.qm b/res/translations/mixxx_zh_HK.qm index 028d3619dd3f41f1722d23d147eac9946bb7a729..e55075376233dc5c931c3ac2087b687a16c09fad 100644 GIT binary patch delta 25595 zcmXV&cR-EbAICrEoM+!#_9m-Ps8GnrmQ}K;gzUYt=~A|2Z~6+^64@goE0UFwkx@30 zJ@b2a@9(eIy-)W(&pDs-IiGoM7nc-V8C7s`8B4D!L{yO||3A=)SlJ^s_Vc v)o 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 C;P2u9 diff --git a/res/translations/mixxx_zh_HK.ts b/res/translations/mixxx_zh_HK.ts index 3e6afe942954..b55f4fd7d96c 100644 --- a/res/translations/mixxx_zh_HK.ts +++ b/res/translations/mixxx_zh_HK.ts @@ -8,6 +8,14 @@ + + AllTrackLibraryFeature + + + All... + + + AnalysisFeature @@ -19,53 +27,53 @@ AutoDJFeature - + Crates 音軌資料夾 - + Enable Auto DJ - + Disable Auto DJ - + Clear Auto DJ Queue 清除自动 DJ 队列 - + Remove Crate as Track Source 從音軌清單删除唱片箱 - + Auto DJ 自動DJ - + Confirmation Clear 确认清除 - + Do you really want to remove all tracks from the Auto DJ queue? 您真的要从 Auto DJ 队列中删除所有曲目吗? - + This can not be undone. 此操作无法撤消。 - + Add Crate as Track Source 加入唱片箱至音軌清單 @@ -232,7 +240,7 @@ - + Export Playlist 匯出播放清單 @@ -286,14 +294,14 @@ - + Playlist Creation Failed 播放清單創建失敗 - + An unknown error occurred while creating playlist: 建立播放清單時發生未知的錯誤︰ @@ -309,12 +317,12 @@ 您真的要删除播放列表%1? - + M3U Playlist (*.m3u) M3U 播放清單 (*.m3u) - + M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Text CSV (*.csv);;Readable Text (*.txt) M3U 播放清單 (*.m3u);M3U8 播放清單 (*.m3u8);PLS播放清單 (*.pls);文字 CSV (*.csv);;可讀的文本 (*.txt) @@ -322,12 +330,12 @@ BaseSqlTableModel - + # # - + Timestamp 时间标记 @@ -335,7 +343,7 @@ BaseTrackPlayerImpl - + Couldn't load track. 無法載入音軌 @@ -373,7 +381,7 @@ 電視頻道 - + Color 颜色 @@ -388,7 +396,7 @@ 作曲家 - + Cover Art 封面 @@ -398,7 +406,7 @@ 加入日期 - + Last Played 最后播放 @@ -428,7 +436,7 @@ 關鍵 - + Location 地點 @@ -438,7 +446,7 @@ - + Preview 預覽 @@ -478,7 +486,7 @@ 年份 - + Fetching image ... Tooltip text on the cover art column shown when the cover is read from disk 獲取圖片中... @@ -500,22 +508,22 @@ BroadcastProfile - + Can't use secure password storage: keychain access failed. 无法使用安全密码存储: 密钥链访问失败。 - + Secure password retrieval unsuccessful: keychain access failed. 安全密码存储提取不成功: 密钥链访问失败。 - + Settings error 設定失敗 - + <b>Error with settings for '%1':</b><br> <b>設定 '%1' 失敗:</b><br> @@ -603,7 +611,7 @@ - + Computer 我的电脑 @@ -623,19 +631,19 @@ 扫描 - + "Computer" lets you navigate, view, and load tracks from folders on your hard disk and external devices. “我的电脑”可以让您从您的硬盘及外置设备中浏览、查看、载入音轨 - + It shows the data from the file tags, not track data from your Mixxx library like other track views. - + 它显示的是文件标签中的数据,而不是像其他曲目视图那样来自你的 Mixxx 库的曲目数据。 - + If you load a track file from here, it will be added to your library. - + 如果你从这里加载曲目文件,它将被添加到你的库中。 @@ -746,12 +754,12 @@ 創建檔 - + Mixxx Library mixxx的音樂庫 - + Could not load the following file because it is in use by Mixxx or another application. 無法載入以下檔案,因為正在被Mixxx或其他程式使用中 @@ -782,88 +790,93 @@ CmdlineArgs - + Mixxx is an open source DJ software. For more information, see: Mixxx是一款开源DJ软件。有关详细信息,请参阅: - + Starts Mixxx in full-screen mode 打开全屏模式 - + Use a custom locale for loading translations. (e.g 'fr') 使用自定义区域设置加载语言。(例如"法语") - + Top-level directory where Mixxx should look for its resource files such as MIDI mappings, overriding the default installation location. 在MIXXX中查找相关资源文件如MIDI映射目录,存放在默认文件位置 - + Path the debug statistics time line is written to 调试统计数据时间线写入的路径 - + Causes Mixxx to display/log all of the controller data it receives and script functions it loads 使 Mixxx 显示/记录它接收的所有控制器数据,并为它加载的脚本函数 - + The controller mapping will issue more aggressive warnings and errors when detecting misuse of controller APIs. New Controller Mappings should be developed with this option enabled! 控制器映射在检测到滥用控制器 API 时会发出更严厉的警告和错误。开发新的控制器映射时应启用该选项! - + Enables developer-mode. Includes extra log info, stats on performance, and a Developer tools menu. 启用开发者模式。包括更多的日志信息、性能统计信息和开发人员工具菜单 - + Top-level directory where Mixxx should look for settings. Default is: Mixxx 应在其中查找设置的顶级目录。默认值为: - + Starts Auto DJ when Mixxx is launched. 启动Mixxx时自动开始DJ。 - + Rescans the library when Mixxx is launched. - + 在启动 Mixxx 时重新扫描库。 - + Use legacy vu meter 使用老版本的 VU 表 - + Use legacy spinny 使用舊版的旋轉界面 - - Loads experimental QML GUI instead of legacy QWidget skin - 加载实验性的 QML GUI,而不是传统的 QWidget 皮肤 + + Loads the highly unstable 3.0 Mixxx interface, based on QML. You need to use a new setting profile, or run with 'allow-dangerous-data-corruption-risk' to use with the current one. We highly recommend backing up your data if you do so. + - + + Force Mixxx to load an unstable version with an existing user profile from a stable version + + + + Enables safe-mode. Disables OpenGL waveforms, and spinning vinyl widgets. Try this option if Mixxx is crashing on startup. 启用安全模式。禁用 OpenGL 波形和旋转的唱片小部件。如果 Mixxx 在启动时崩溃,请尝试此选项 - + [auto|always|never] Use colors on the console output. [自动||无]在控制台输出上使用颜色 - + Sets the verbosity of command line logging. critical - Critical/Fatal only warning - Above + Warnings @@ -878,32 +891,32 @@ trace - Above + Profiling messages 跟踪 - 以上 + 分析消息 - + Sets the the logging level at which the log buffer is flushed to mixxx.log. <level> is one of the values defined at --log-level above. 设置将日志缓冲区刷新为mixxx.log的日志级别。是上面在——log级别定义的值之一。 - + Sets the maximum file size of the mixxx.log file in bytes. Use -1 for unlimited. The default is 100 MB as 1e5 or 100000000. 设置 mixxx.log 文件的最大文件大小(以字节为单位)。使用 -1 表示无限制。默认值为 100 MB,为 1e5 或 100000000。 - + Breaks (SIGINT) Mixxx, if a DEBUG_ASSERT evaluates to false. Under a debugger you can continue afterwards. 如果DEBUG_ASSERT的计算结果为false,则中断(SIGINT) Mixxx。在调试器下,您可以随后继续。 - + Overrides the default application GUI style. Possible values: %1 - + Load the specified music file(s) at start-up. Each file you specify will be loaded into the next virtual deck. 在启动时加载指定的音乐文件。您指定的每个文件将被加载到下一个碟盘中。 - + Preview rendered controller screens in the Setting windows. 在设置窗口中预览渲染好的控制器屏幕。 @@ -996,2558 +1009,2586 @@ trace - Above + Profiling messages ControlPickerMenu - + Headphone Output 耳机输出 - - - + + + + Deck %1 + %1 is the deck number 1 ... 4 碟盘 %1 - + Sampler %1 采样器 %1 - + Preview Deck %1 预览用碟机 %1 - + Microphone %1 麥克風 %1 - + Auxiliary %1 輔助 %1 - + Reset to default 重设为默认值 - + Effect Rack %1 影響機架 %1 - + Parameter %1 参数 %1 - + Mixer 混音器 - - + + Crossfader 推杆 - + Headphone mix (pre/main) 耳機組合 (pre/主) - + Toggle headphone split cueing 启用耳机声道分离切入(cueing) - + Headphone delay 耳机延迟 - + Transport 運輸 - + Strip-search through track 通過跟蹤全身 - + Play button 播放按鈕 - - + + Set to full volume 設為全音量 - - + + Set to zero volume 设为音量 0 - + Stop button 停止按钮 - + Jump to start of track and play 跳至音軌前端並播放 - + Jump to end of track 跳轉到音軌末端 - + Reverse roll (Censor) button 倒带(轨)键 - + Headphone listen button 耳機監聽按鈕 - - + + Mute button 静音按钮 - + Toggle repeat mode 切换循环模式 - - + + Mix orientation (e.g. left, right, center) 混合方向 (例如左、 右側、 中心) - - + + Set mix orientation to left 设置输出声道为左声道 - - + + Set mix orientation to center 设置输出声道为立体声 - - + + Set mix orientation to right 將混音方向設為右 - + Toggle slip mode 切换剪辑模式 - - + + BPM BPM - + Increase BPM by 1 BPM 增加 1 - + Decrease BPM by 1 BPM 減少 1 - + Increase BPM by 0.1 BPM 增加 0.1 - + Decrease BPM by 0.1 减少 0.1 BPM - + BPM tap button BPM 敲打按钮 - + Toggle quantize mode 切換量化模式 - + One-time beat sync (tempo only) 一次性節拍同步 (只有節奏) - + One-time beat sync (phase only) 一次性节拍同步(仅相位) - + Toggle keylock mode 切换音调锁模式 - + Equalizers 等化器 - + Vinyl Control 唱片控制 - + Toggle vinyl-control cueing mode (OFF/ONE/HOT) 唱片控制cueing模式(关闭/单一/热切) - + Toggle vinyl-control mode (ABS/REL/CONST) 切换唱片控制模式(绝对/相对/常量) - + Pass through external audio into the internal mixer 从外部音频传给内部混音器 - + Cues 切入点 - + Cue button 切入键 - + Set cue point 設置切入點 - + Go to cue point 跳到切入點 - + Go to cue point and play 跳到切入點並播放 - + Go to cue point and stop 跳到切入點並停止 - + Preview from cue point 從提示點預覽 - + Cue button (CDJ mode) 提示按鈕 (CDJ 模式) - + Stutter cue Stutter切入 - + Hotcues 即时切点 - + Set, preview from or jump to hotcue %1 設置、 從預覽或跳轉到 hotcue %1 - + Clear hotcue %1 刪除 hotcue %1 - + Set hotcue %1 设置热切点 %1 - + Jump to hotcue %1 跳转到热切点 %1 - + Jump to hotcue %1 and stop 跳轉到 hotcue %1 並停止 - + Jump to hotcue %1 and play 跳轉到 hotcue %1 並播放 - + Preview from hotcue %1 从热切点 %1 开始预览 - - + + Hotcue %1 Hotcue %1 - + Looping 迴圈播放 - + Loop In button 迴圈起點按鈕 - + Loop Out button 迴圈終點按鈕 - + Loop Exit button 结束循环按钮 - + 1/2 1/2 - + 1 1 - + 2 2 - + 4 4 - + 8 8 - + 16 16 - + 32 32 - + 64 64 - + Move loop forward by %1 beats 将循环向前移动 %1 拍 - + Move loop backward by %1 beats 循環向後移動 %1 拍 - + Create %1-beat loop 建立 %1 節拍循環 - + Create temporary %1-beat loop roll 創建臨時的 %1 節拍循環 - + Library 音樂庫 - + Slot %1 插槽 %1 - + Headphone Mix 耳機混音器 - + Headphone Split Cue 耳机分离选听 - + Headphone Delay 耳机延迟 - + Play 播放 - + Fast Rewind 快退 - + Fast Rewind button 快退按鈕 - + Fast Forward 快进 - + Fast Forward button 快進按鈕 - + Strip Search 完整搜索 - + Play Reverse 倒退播放 - + Play Reverse button 反向播放按鈕 - + Reverse Roll (Censor) 倒带(轨) - + Jump To Start 跳至音轨起始点 - + Jumps to start of track 跳至音轨起始点 - + Play From Start 从音轨起始点播放 - + Stop 停止 - + Stop And Jump To Start 停止后跳至音轨起始点 - + Stop playback and jump to start of track 停止播放並跳至音軌前端 - + Jump To End 跳至尾端 - + Volume 音量 - - - + + + Volume Fader 音量调节 - - + + Full Volume 全音量 - - + + Zero Volume 零音量 - + Track Gain 音軌增益 - + Track Gain knob 音轨增益旋钮 - - + + Mute 静音 - + Eject 彈出 - - + + Headphone Listen 耳機監聽 - + Headphone listen (pfl) button 耳機監聽(pfi)按鈕 - + Repeat Mode 重复模式 - + Slip Mode 滑动模式 - - + + Orientation 方向 - - + + Orient Left 左方向 - - + + Orient Center 中心 - - + + Orient Right 向右 - + BPM +1 BPM +1 - + BPM -1 BPM -1 - + BPM +0.1 BPM +0.1 - + BPM -0.1 BPM -0.1 - + BPM Tap BPM 偵測 - + Adjust Beatgrid Faster +.01 調整 Beatgrid 快 +.01 - + Increase track's average BPM by 0.01 增加軌道的平均 BPM 0.01 - + Adjust Beatgrid Slower -.01 减慢节拍(-.01) - + Decrease track's average BPM by 0.01 減少軌道的平均 BPM 0.01 - + Move Beatgrid Earlier 提早 Beatgrid - + Adjust the beatgrid to the left 向左移动节拍 - + Move Beatgrid Later 推迟节拍 - + Adjust the beatgrid to the right 向右移动节拍 - + Adjust Beatgrid 调整节拍 - + Align beatgrid to current position 将节拍对齐至当前位置 - + Adjust Beatgrid - Match Alignment 調整 Beatgrid-匹配對齊方式 - + Adjust beatgrid to match another playing deck. 调整节拍样式以匹配另一个正在播放的碟机。 - + Quantize Mode 量化模式 - + Sync 同步 - + Beat Sync One-Shot 单次节拍同步 - + Sync Tempo One-Shot 单次速度同步 - + Sync Phase One-Shot 同步階段一次性 - + Pitch control (does not affect tempo), center is original pitch 樹脂 (不影響節奏) 的控制,中心是原來的音高 - + Pitch Adjust 调整音高 - + Adjust pitch from speed slider pitch 從速度滑桿調整音高 - + Match musical key 配對音樂音調 - + Match Key 與音調匹配 - + Reset Key 重置音調 - + Resets key to original 重置至原始音調 - + High EQ 高頻等化器 - + Mid EQ 中頻等化器 - - + + Main Output 主输出 - + Main Output Balance 主输出均衡 - + Main Output Delay 主输出延迟 - + Main Output Gain 主输出增益 - + Low EQ 低頻等化器 - + Toggle Vinyl Control 切換唱片控制項 - + Toggle Vinyl Control (ON/OFF) 切換唱片控制 (開/關) - + Vinyl Control Mode 唱片控制模式 - + Vinyl Control Cueing Mode 唱片控制提示模式 - + Vinyl Control Passthrough 唱片控制直通 - + Vinyl Control Next Deck 唱片控制模式 - + Single deck mode - Switch vinyl control to next deck 单碟机模式 - 切换唱片控制器至下一碟机 - + Cue 切入点 - + Set Cue 設置切入點 - + Go-To Cue 前往切入點 - + Go-To Cue And Play 前往切入點並播放 - + Go-To Cue And Stop 前往切入點並停止 - + Preview Cue 预览Cue - + Cue (CDJ Mode) 提示 (CDJ 模式) - + Stutter Cue Stutter切入 - + Go to cue point and play after release 前往提示點並在放開後播放 - + Clear Hotcue %1 清除热切点 %1 - + Set Hotcue %1 设置热切点 %1 - + Jump To Hotcue %1 跳转到热切点 %1 - + Jump To Hotcue %1 And Stop 跳轉到 Hotcue %1 並停止 - + Jump To Hotcue %1 And Play 跳轉到 Hotcue %1 並播放 - + Preview Hotcue %1 预览热切点 %1 - + Loop In 循環起點 - + Loop Out 退出循环 - + Loop Exit 循環關閉 - + Reloop/Exit Loop 重新循环/退出循环 - + Loop Halve 循环减半 - + Loop Double 循環雙倍 - + 1/32 1/32 - + 1/16 1/16 - + 1/8 1/8 - + 1/4 1/4 - + Move Loop +%1 Beats 移動迴圈+%1拍 - + Move Loop -%1 Beats 移动循环-%1 拍 - + Loop %1 Beats 循環 %1 拍 - + Loop Roll %1 Beats 循环滚动 %1 拍 - + Add to Auto DJ Queue (bottom) 將添加到自動 DJ 佇列 (底部) - + Append the selected track to the Auto DJ Queue 将所选音轨追加到自动 DJ 队列 - + Add to Auto DJ Queue (top) 將添加到自動 DJ 佇列 (頂部) - + Prepend selected track to the Auto DJ Queue 将所选音轨前置于自动 DJ 队列 - + Load Track 加载音轨 - + Load selected track 載入選擇的音軌 - + Load selected track and play 載入選擇的音軌並播放 - - + + Record Mix 录制混音 - + Toggle mix recording 切換錄製混音 - + Effects 效果 - - Quick Effects - 快捷效果 - - - + Deck %1 Quick Effect Super Knob 碟机 %1 快捷效果的超级旋钮 - + + Quick Effect Super Knob (control linked effect parameters) 快捷效果超级旋钮(控制关联的效果参数) - - + + + + Quick Effect 快捷效果 - + Clear Unit 清除單元 - + Clear effect unit 清除效果架單位 - + Toggle Unit 切換單元 - + Dry/Wet 干/湿 - + Adjust the balance between the original (dry) and processed (wet) signal. 調整原(乾)和處理(濕)之間的平衡。 - + Super Knob 超級旋鈕 - + Next Chain 下一效果器链 - + Assign 指定 - + Clear 清除 - + Clear the current effect 清除当前效果 - + Toggle 切換 - + Toggle the current effect 切換目前效果 - + Next 下一個 - + Switch to next effect 切換到下一個效果 - + Previous 前一個 - + Switch to the previous effect 切換到上一個效果 - + Next or Previous 下一个或上一个 - + Switch to either next or previous effect 切换至下一个或上一个效果 - - + + Parameter Value 參數值 - - + + Microphone Ducking Strength 麥克風迴避強度 - + Microphone Ducking Mode 麦克风闪避模式 - + Gain 增益 - + Gain knob 增益旋钮 - + Shuffle the content of the Auto DJ queue 随机播放自动 DJ 队列内容 - + Skip the next track in the Auto DJ queue 跳過自動 DJ 柱列中的下一曲目 - + Auto DJ Toggle 自动 DJ 切换 - + Toggle Auto DJ On/Off 切換自動DJ開/關 - + Show/hide the microphone & auxiliary section 显示/隐藏麦克风和辅助部分 - + 4 Effect Units Show/Hide 显示/隐藏效果器 - + Switches between showing 2 and 4 effect units 在显示2和4个效果单位之间切换 - + Mixer Show/Hide 混音器显示/隐藏 - + Show or hide the mixer. 显示或隐藏混音器。 - + Cover Art Show/Hide (Library) 封面艺术展览/隐藏(音乐库) - + Show/hide cover art in the library 在音乐库展示/隐藏封面艺术 - + Library Maximize/Restore 音乐库界面最大化/还原 - + Maximize the track library to take up all the available screen space. 最大化音樂庫以佔用所有可用的螢幕空間。 - + Effect Rack Show/Hide 效果旋鈕顯示/隱藏 - + Show/hide the effect rack 顯示/隱藏效果旋鈕 - + Waveform Zoom Out 波形縮小 - + Headphone Gain 耳機增益 - + Headphone gain 耳機增益 - + Tap to sync tempo (and phase with quantize enabled), hold to enable permanent sync 点击同步速度(和相位与量化启用),保持启用永久同步 - + One-time beat sync tempo (and phase with quantize enabled) 同步节奏 - + Playback Speed 回放速度 - + Playback speed control (Vinyl "Pitch" slider) 播放速度控制 (黑膠盤"音調"推桿) - + Pitch (Musical key) 音高 - + Increase Speed 提高速度 - + Adjust speed faster (coarse) 加快速度(粗调) - + Increase Speed (Fine) 增加速度 (精細) - + Adjust speed faster (fine) 加快速度(细调) - + Decrease Speed 降低速度 - + Adjust speed slower (coarse) 調整速度較慢 (粗) - + Adjust speed slower (fine) 减慢速度(细调) - + Temporarily Increase Speed 暫時增加速度 - + Temporarily increase speed (coarse) 暂时增加速度(粗调) - + Temporarily Increase Speed (Fine) 暫時增加速度 (精細) - + Temporarily increase speed (fine) 暫時增加速度 (精細) - + Temporarily Decrease Speed 暂时降低速度 - + Temporarily decrease speed (coarse) 暫時降低速度 (粗) - + Temporarily Decrease Speed (Fine) 暫時降低速度 (精細) - + Temporarily decrease speed (fine) 暫時降低速度 (精細) - - + + Adjust %1 调 %1 - + + Deck %1 Stem %2 + + + + Effect Unit %1 效果单元 %1 - + Button Parameter %1 旋钮参数% 1 - + Skin 皮肤 - + Controller 控制器 - + Crossfader / Orientation 唱片平滑转换器/方向 - + Main Output gain 主输出增益 - + Main Output balance 主输出均衡 - + Main Output delay 主输出延迟 - + Headphone 耳机 - - + + Kill %1 + %1 is "Low EQ" "Mid EQ" or "High EQ" 阻断 %1 - + Eject or un-eject track, i.e. reload the last-ejected track (of any deck)<br>Double-press to reload the last replaced track. In empty decks it reloads the second-last ejected track. 彈出或取消彈出曲目,即重新載入最後彈出的曲目(任何檯面)<br>雙按以重新載入最後替換的曲目。在空檯面上,它將重新載入倒數第二個彈出的曲目。 - + BPM / Beatgrid BPM / 网格 - + Halve BPM BPM 减半 - + Multiply current BPM by 0.5 将当前BPM乘0.5 - + 2/3 BPM 2/3 BPM - + Multiply current BPM by 0.666 将当前BPM乘0.666 - + 3/4 BPM 3/4 BPM - + Multiply current BPM by 0.75 将当前BPM乘0.75 - + 4/3 BPM 4/3 BPM - + Multiply current BPM by 1.333 将当前BPM乘0.666 - + 3/2 BPM 3/2 BPM - + Multiply current BPM by 1.5 将当前BPM乘1.5 - + Double BPM BPM 加倍 - + Multiply current BPM by 2 1.5倍BPM - + Tempo Tap 节奏敲击 - + Tempo tap button 节奏敲击按钮 - + Move Beatgrid 調整節拍網格 - + Adjust the beatgrid to the left or right 將節拍網格向左或向右調整 - + Move Beatgrid Half a Beat - + 将节拍网格移动半个节拍 - + Adjust the beatgrid by exactly one half beat. Usable only for tracks with constant tempo. - + 将节拍网格精确调整半拍。仅适用于节奏恒定的曲目。 - - + + Toggle the BPM/beatgrid lock 切换 BPM/beatgrid 锁 - + Revert last BPM/Beatgrid Change 还原上次 BPM/节拍网格 更改 - + Revert last BPM/Beatgrid Change of the loaded track. 还原上次 BPM/节拍网格 对加载曲目的更改。 - + Sync / Sync Lock 同步/同步锁定 - + Internal Sync Leader 内部同步高音 - + Toggle Internal Sync Leader 切换内部同步高音 - - + + Internal Leader BPM 內部主 BPM - + Internal Leader BPM +1 內部主 BPM +1 - + Increase internal Leader BPM by 1 增加 1 级内置BPM - + Internal Leader BPM -1 內部主 BPM -1 - + Decrease internal Leader BPM by 1 减少 1 级内置BPM - + Internal Leader BPM +0.1 內部主 BPM +0.1 - + Increase internal Leader BPM by 0.1 增加 1 级内置BPM - + Internal Leader BPM -0.1 內部主 BPM +0.1 - + Decrease internal Leader BPM by 0.1 將內部主導節拍每分鐘減少 0.1 BPM - + Sync Leader 同步高音 - + Sync mode 3-state toggle / indicator (Off, Soft Leader, Explicit Leader) 同步模式切换/指示灯(关,低音,高音) - + Speed 速度 - + Decrease Speed (Fine) 減慢速度(微調) - + Pitch (Musical Key) 音高 - + Increase Pitch 升高音调 - + Increases the pitch by one semitone 将音高增加一个半音 - + Increase Pitch (Fine) 增加间距(细) - + Increases the pitch by 10 cents 增加10间距 - + Decrease Pitch 降低音调 - + Decreases the pitch by one semitone 将音高降低一个半音 - + Decrease Pitch (Fine) 减少间距(细) - + Decreases the pitch by 10 cents 将音高降低10间距 - + Keylock 鑰匙鎖 - + CUP (Cue + Play) CUP (提示 + 播放) - + Shift cue points earlier 移动提示点 - + Shift cue points 10 milliseconds earlier 将提示点移动10毫秒 - + Shift cue points earlier (fine) 移动提示点(可选) - + Shift cue points 1 millisecond earlier 将提示点移动1毫秒 - + Shift cue points later 稍后移动提示点 - + Shift cue points 10 milliseconds later 10毫秒后移动提示点 - + Shift cue points later (fine) 稍后移动(好) - + Shift cue points 1 millisecond later 1毫秒后移动提示点 - - + + Sort hotcues by position - + 按位置排序热键点 - - + + Sort hotcues by position (remove offsets) - + 按位置排序热键(移除偏移) - + Hotcues %1-%2 - 热切点 %1 + 热切点 %1-%2 - + Intro / Outro Markers 介绍/超出标记 - + Intro Start Marker 介绍开始标记 - + Intro End Marker 介绍结束标记 - + Outro Start Marker 结尾部分开始标记 - + Outro End Marker 结尾部分结束标记 - + intro start marker 介绍开始标记 - + intro end marker 介绍结束标记 - + outro start marker 介绍开始标记 - + outro end marker 介绍结束标记 - + Activate %1 [intro/outro marker 激活Cue - + Jump to or set the %1 [intro/outro marker 跳转到热切点 %1 - + Set %1 [intro/outro marker 設定 %1 - + Set or jump to the %1 [intro/outro marker 設定或跳至 %1 - + Clear %1 [intro/outro marker 清除 %1 - + Clear the %1 [intro/outro marker 清除 %1 - + if the track has no beats the unit is seconds 如果轨道没有节拍,则单位为秒 - + Loop Selected Beats 循环选中节奏 - + Create a beat loop of selected beat size 在選定的節拍長度內新增循環節奏 - + Loop Roll Selected Beats 循环选中节奏 - + Create a rolling beat loop of selected beat size 创建所选节奏循环 - + Loop %1 Beats set from its end point Loop %1 从结束点开始设置的节拍 - + Loop Roll %1 Beats set from its end point Loop Roll %1 从结束点开始设置的节拍 - + Create %1-beat loop with the current play position as loop end 创建 %1 拍 Loop,并将当前播放位置作为 Loop 结束 - + Create temporary %1-beat loop roll with the current play position as loop end 创建临时的 %1 拍 Loop 滚动,并将当前播放位置作为 Loop 结束 - + Loop Beats 循环节拍 - + Loop Roll Beats 循环滚动节拍 - + Go To Loop In 跳转到循环 - + Go to Loop In button 跳转到循环按钮 - + Go To Loop Out 前往循環終點 - + Go to Loop Out button 前往循環終點按鈕 - + Toggle loop on/off and jump to Loop In point if loop is behind play position 打开/关闭循环,跳转循环点 - + Reloop And Stop 重複循環並停止 - + Enable loop, jump to Loop In point, and stop 启用循环,跳转循环点 - + Halve the loop length 把循環播放的時間長度減半 - + Double the loop length 增加重複長度為兩倍 - + Beat Jump / Loop Move 节拍跳跃/循环移动 - + Jump / Move Loop Forward %1 Beats 跳/移动循环前1拍 - + Jump / Move Loop Backward %1 Beats 向後跳躍/移動循環 %1 拍 - + Jump forward by %1 beats, or if a loop is enabled, move the loop forward %1 beats 向前跳转 %1 个节拍,或者如果启用了循环,则将循环向前移动 %1 个节拍 - + Jump backward by %1 beats, or if a loop is enabled, move the loop backward %1 beats 向后跳转 %1 个节拍,或者如果启用了 Loop,则将 Loop 向后移动 %1 个节拍 - + Beat Jump / Loop Move Forward Selected Beats Beat Jump / Loop 向前移动选定的节拍 - + Jump forward by the selected number of beats, or if a loop is enabled, move the loop forward by the selected number of beats 向前跳转选定的节拍数,或者如果启用了 Loop,则将 Loop 向前移动选定的节拍数 - + Beat Jump / Loop Move Backward Selected Beats Beat Jump / Loop 向后移动选定的节拍 - + Jump backward by the selected number of beats, or if a loop is enabled, move the loop backward by the selected number of beats 向后跳转选定的节拍数,或者如果启用了 Loop,则将 Loop 向后移动选定的节拍数 - + Beat Jump 跳拍 - + Indicate which loop marker remain static when adjusting the size or is inherited from the current position 指示在调整大小时哪个 Loop 标记保持静止或从当前位置继承 - + Beat Jump / Loop Move Forward 节拍跳跃/循环移动 - + Beat Jump / Loop Move Backward 节拍跳跃/循环移动 - + Loop Move Forward 向前移動循環 - + Loop Move Backward 向後移動循環 - + Remove Temporary Loop 移除臨時循環 - + Remove the temporary loop 移除臨時循環 - + Navigation 導航 - + Move up 向上移动 - + Equivalent to pressing the UP key on the keyboard 此操作的效果与按键盘上的上箭头按键是等效的 - + Move down 向下移动 - + Equivalent to pressing the DOWN key on the keyboard 此操作的效果与按键盘上的下箭头按键是等效的 - + Move up/down 向上/下移动 - + Move vertically in either direction using a knob, as if pressing UP/DOWN keys 使用旋钮上下移动,和按键盘上的上/下箭头效果一致 - + Scroll Up 向上滚动 - + Equivalent to pressing the PAGE UP key on the keyboard 此操作的效果与按键盘上的向上翻页键是等效的 - + Scroll Down 向下滚动 - + Equivalent to pressing the PAGE DOWN key on the keyboard 此操作的效果与按键盘上的向下翻页键是等效的 - + Scroll up/down 向上/下滚动 - + Scroll vertically in either direction using a knob, as if pressing PGUP/PGDOWN keys 使用旋钮上下滚动,和按键盘上的向上/下翻页键效果一致 - + Move left 左移 - + Equivalent to pressing the LEFT key on the keyboard 此操作的效果与按键盘上的左箭头按键是等效的 - + Move right 向右移动 - + Equivalent to pressing the RIGHT key on the keyboard 此操作的效果与按键盘上的右箭头按键是等效的 - + Move left/right 左/右移 - + Move horizontally in either direction using a knob, as if pressing LEFT/RIGHT keys 使用旋钮上下移动,和按键盘上的左/右箭头键效果一致 - + Move focus to right pane 移动焦点到右侧面板 - + Equivalent to pressing the TAB key on the keyboard 此操作的效果与按键盘上的 TAB 键是等效的 - + Move focus to left pane 移动焦点到左侧面板 - + Equivalent to pressing the SHIFT+TAB key on the keyboard 此操作的效果与按键盘上的 SHIFT+TAB 键是等效的 - + Move focus to right/left pane 移动焦点到左/右侧面板 - + Move focus one pane to right or left using a knob, as if pressing TAB/SHIFT+TAB keys 使用旋钮左右移动焦点,和按键盘上的 TAB/SHIFT+TAB 键效果一致 - + Sort focused column 將焦點列進行排序 - + Sort the column of the cell that is currently focused, equivalent to clicking on its header 對當前專注的儲存格所在的列進行排序,相當於點擊其標題欄。 - + Go to the currently selected item 前往目前選擇的項目 - + Choose the currently selected item and advance forward one pane if appropriate 選擇當前選定的項目,如果適用,則向前移動一個窗格 - + Load Track and Play 載入曲目並播放 - + Add to Auto DJ Queue (replace) 加入自動 DJ 柱列 (取代) - + Replace Auto DJ Queue with selected tracks 以選擇的音軌取代自動DJ佇列 - + Select next search history 選擇下一個搜索歷史 - + Selects the next search history entry 選擇下一個搜索歷史項目 - + Select previous search history 選擇前一個搜索歷史 - + Selects the previous search history entry 選擇上一個搜索歷史項目 - + Move selected search entry 移動所選擇的搜索項目 - + Moves the selected search history item into given direction and steps 將所選的搜索歷史項目移動到指定的方向和步驟 - + Clear search 清除搜索 - + Clears the search query 清除搜索查詢 - - + + Select Next Color Available 选择下一个可用颜色 - + Select the next color in the color palette for the first selected track 在调色板中选择第一个选定轨道的下一种颜色 - - + + Select Previous Color Available 选择以前的可用颜色 - + Select the previous color in the color palette for the first selected track 在调色板中选择第一个选定轨道的上一种颜色 - + + Quick Effects Deck %1 + + + + Deck %1 Quick Effect Enable Button 檯面 %1 快速效果啟用按鈕 - + + Quick Effect Enable Button 快速效果啟用按鈕 - + + Deck %1 Stem %2 Quick Effect Super Knob + + + + + Deck %1 Stem %2 Quick Effect Enable Button + + + + Enable or disable effect processing 啟用或禁用效果處理 - + Super Knob (control effects' Meta Knobs) 超級旋鈕(控制效果的元旋鈕) - + Mix Mode Toggle 混音模式切換 - + Toggle effect unit between D/W and D+W modes 在 D/W 和 D+W 模式之間切換效果單元 - + Next chain preset 下一预设效果器链 - + Previous Chain 上一效果器链 - + Previous chain preset 上一预设效果器链 - + Next/Previous Chain 下一個/上一個鏈 - + Next or previous chain preset 下一個或上一個鏈預設 - - + + Show Effect Parameters 顯示效果器的參數 - + Effect Unit Assignment 效果單元分配 - + Meta Knob 元旋钮 - + Effect Meta Knob (control linked effect parameters) 效果元旋钮(控制鏈接的效果參數) - + Meta Knob Mode 元旋钮模式 - + Set how linked effect parameters change when turning the Meta Knob. 设置调节元旋钮时相关参数的改变方式。 - + Meta Knob Mode Invert 元旋钮模式反转 - + Invert how linked effect parameters change when turning the Meta Knob. 反轉旋轉元素旋钮時連接的效果參數如何變化。 - - + + Button Parameter Value 按鈕參數值 - + Microphone / Auxiliary 麥克風 / 輔助 - + Microphone On/Off 麦克风 开/关 - + Microphone on/off 麦克风 开/关 - + Toggle microphone ducking mode (OFF, AUTO, MANUAL) 切换麦克风闪避模式(关闭/自动/手动) - + Auxiliary On/Off 辅助物 开/关 - + Auxiliary on/off 辅助物 开/关 - + Auto DJ 自動DJ - + Auto DJ Shuffle 自動 DJ 拖曳 - + Auto DJ Skip Next 自動DJ跳過下一個 - + Auto DJ Add Random Track 自動 DJ 新增隨機曲目 - + Add a random track to the Auto DJ queue 將一個隨機曲目添加到自動 DJ 佇列 - + Auto DJ Fade To Next 自动 DJ 淡出至下一首 - + Trigger the transition to the next track 切换到下一音轨 - + User Interface 使用者介面 - + Samplers Show/Hide 显示/隐藏采样器 - + Show/hide the sampler section 顯示/隱藏取樣器節 - + Microphone && Auxiliary Show/Hide keep double & to prevent creation of keyboard accelerator 麦克风和辅助显示/隐藏 - + Waveform Zoom Reset To Default 將波形縮放重置為預設值 - + Reset the waveform zoom level to the default value selected in Preferences -> Waveforms 將波形縮放級別重置為首選項 -> 波形 中選擇的預設值 - + Select the next color in the color palette for the loaded track. 在调色板中选择加载轨道的下一种颜色。 - + Select previous color in the color palette for the loaded track. 在加载的轨道的调色板中选择上一种颜色。 - + Navigate Through Track Colors 浏览轨道颜色 - + Select either next or previous color in the palette for the loaded track. 选择调色板中加载轨道的下一个或上一个颜色 - + Start/Stop Live Broadcasting 開始/停止直播 - + Stream your mix over the Internet. 在互聯網上流你的組合。 - + Start/stop recording your mix. 開始/停止錄製您的混音。 - - + + + Deck %1 Stems + + + + + Samplers 采样器 - + Vinyl Control Show/Hide 唱盘控制 显示/隐藏 - + Show/hide the vinyl control section 显示/隐藏 唱盘控制界面 - + Preview Deck Show/Hide 预览用碟机 显示/隐藏 - + Show/hide the preview deck 顯示/隱藏預覽甲板 - + Toggle 4 Decks 切換 4 甲板 - + Switches between showing 2 decks and 4 decks. 在 2 碟机视图和 4 碟机视图之间切换。 - + Cover Art Show/Hide (Decks) 封面圖示顯示/隱藏(檯面) - + Show/hide cover art in the main decks 在主要的檯面上顯示/隱藏封面圖片 - + Vinyl Spinner Show/Hide 乙烯基微調框顯示/隱藏 - + Show/hide spinning vinyl widget 显示/隐藏 唱盘控制器 - + Vinyl Spinners Show/Hide (All Decks) 顯示/隱藏 所有檯面的唱盤旋轉器 - + Show/Hide all spinnies 顯示/隱藏 所有旋轉物 - + Toggle Waveforms 切換波形 - + Show/hide the scrolling waveforms. 顯示/隱藏 滾動波形。 - + Waveform zoom 波形縮放 - + Waveform Zoom 波形縮放 - + Zoom waveform in 放大波形 - + Waveform Zoom In 波形放大 - + Zoom waveform out 缩小波形 - + Star Rating Up 增加星級评分 - + Increase the track rating by one star 將曲目評分增加一顆星 - + Star Rating Down 減少星級评分 - + Decrease the track rating by one star 將曲目評分減少一顆星 @@ -3560,6 +3601,159 @@ trace - Above + Profiling messages + + ControllerHidReportTabsManager + + + Read + + + + + Send + + + + + Payload Size + + + + + bytes + + + + + Byte Position + + + + + Bit Position + + + + + Bit Size + + + + + Logical Min + + + + + Logical Max + + + + + Value + + + + + Physical Min + + + + + Physical Max + + + + + Unit Scaling + + + + + Unit + + + + + Abs/Rel + + + + + + Wrap + + + + + + Linear + + + + + + Preferred + + + + + + Null + + + + + + Volatile + + + + + Usage Page + + + + + Usage + + + + + Relative + + + + + Absolute + + + + + No Wrap + + + + + Non Linear + + + + + No Preferred + + + + + No Null + + + + + Non Volatile + + + ControllerInputMappingTableModel @@ -3695,27 +3889,27 @@ trace - Above + Profiling messages ControllerScriptEngineLegacy - + Controller Mapping File Problem 控制器映射文件问题 - + The mapping for controller "%1" cannot be opened. 无法打开控制器“%1”的映射。 - + The functionality provided by this controller mapping will be disabled until the issue has been resolved. 在问题得到解决之前,此控制器映射提供的功能将被禁用。 - + File: 文件: - + Error: 错误: @@ -3749,7 +3943,7 @@ trace - Above + Profiling messages - + Lock @@ -3780,7 +3974,7 @@ trace - Above + Profiling messages 自動 DJ 音軌來源 - + Enter new name for crate: 输入分类列表的新名称: @@ -3798,22 +3992,22 @@ trace - Above + Profiling messages 匯入箱 - + Export Crate 导出分类列表 - + Unlock 解鎖 - + An unknown error occurred while creating crate: 創建音樂箱時發生未知的錯誤︰ - + Rename Crate 重新命名音樂箱 @@ -3823,28 +4017,28 @@ trace - Above + Profiling messages 为你的下场表演、最喜爱的音轨和最常用的歌曲新建分类列表 - + Confirm Deletion 确认删除 - - + + Renaming Crate Failed 重命名分类列表失败 - + Crate Creation Failed 建立音樂箱失敗 - + M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Text CSV (*.csv);;Readable Text (*.txt) M3U 播放清單 (*.m3u);M3U8 播放清單 (*.m3u8);PLS播放清單 (*.pls);文字 CSV (*.csv);;可讀的文本 (*.txt) - + M3U Playlist (*.m3u) M3U 播放清單 (*.m3u) @@ -3865,17 +4059,17 @@ trace - Above + Profiling messages 音樂箱讓你組織你的音樂,你會喜歡 ! - + Do you really want to delete crate <b>%1</b>? 确定删除播放列表<b>%1</b>吗? - + A crate cannot have a blank name. 分类列表名不能命名为空。 - + A crate by that name already exists. 已經有相同名稱的音樂箱。 @@ -3970,12 +4164,12 @@ trace - Above + Profiling messages 過去的貢獻者 - + Official Website 官方网站 - + Donate 捐献 @@ -4779,122 +4973,139 @@ You tried to learn: %1,%2 DlgPrefBroadcast - + Icecast 2 Icecast 2 - + Shoutcast 1 Shoutcast 1 - + Icecast 1 Icecast 1 - + MP3 MP3 - + Ogg Vorbis Ogg 格式 - + Opus Opus - + AAC AAC - + HE-AAC HE-AAC - + HE-AACv2 HE-AACv2 - + Automatic 自动 - + Mono 單聲道 - + Stereo 立体声 - - - - + + Saving settings failed + + + + + The password for '%1' contains invalid characters. Please enter it again. + +Note: This can for example be invisible linebreaks when using copy/paste. + + + + + + Action failed 操作失败 - + You can't create more than %1 source connections. 你不能创建超过 %1 个源连接。 - + Source connection %1 源连接 %1 - + + Settings for %1 + Settings for broadcast profile, %1 is the profile name placeholder + + + + At least one source connection is required. 至少需要一个源连接。 - + Are you sure you want to disconnect every active source connection? 是否确实要断开每个活动的源连接? - - + + Confirmation required 需要确认 - + '%1' has the same Icecast mountpoint as '%2'. Two source connections to the same server that have the same mountpoint can not be enabled simultaneously. '%1' 和 '%2' 有相同的 Icecast 挂载点。两个连接到同一服务器的源,挂载点相同的情况下不能同时启用。 - + Are you sure you want to delete '%1'? 是否确实要删除“%1”? - + Renaming '%1' 重命名 '%1' - + New name for '%1': '%1' 的新名称: - + Can't rename '%1' to '%2': name already in use 无法将 '%1' 重命名为 '%2':名称已被使用 @@ -4907,27 +5118,27 @@ Two source connections to the same server that have the same mountpoint can not 直播首選項 - + Mixxx Icecast Testing Mixxx Icecast 測試 - + Public stream 公共流 - + http://www.mixxx.org http://www.mixxx.org - + Stream name 流名称 - + Due to flaws in some streaming clients, updating Ogg Vorbis metadata dynamically can cause listener glitches and disconnections. Check this box to update the metadata anyway. 由於在一些流的用戶端中的缺陷,動態更新 Ogg 格式的中繼資料可以導致攔截器故障和斷開。選中此框,反正更新中繼資料。 @@ -4967,67 +5178,72 @@ Two source connections to the same server that have the same mountpoint can not %1 的设置 - + + Available fields: $artist, $title, $year, $album, $genre, $bpm + + + + Dynamically update Ogg Vorbis metadata. 動態更新 Ogg 格式的中繼資料。 - + ICQ ICQ - + AIM AIM - + Website 主页 - + Live mix 現場攪拌 - + IRC IRC - + Select a source connection above to edit its settings here 在上面选择一个源连接以在此处编辑其设置 - + Password storage 密码存储方式 - + Plain text 明文 - + Secure storage (OS keychain) 安全存储区(系统钥匙链) - + Genre 體裁 - + Use UTF-8 encoding for metadata. 使用 utf-8 編碼的中繼資料。 - + Description 描述 @@ -5053,42 +5269,42 @@ Two source connections to the same server that have the same mountpoint can not 電視頻道 - + Server connection 服务器链接 - + Type 类型 - + Host 主机 - + Login 用户名 - + Mount 挂载 - + Port - + Password 密碼 - + Stream info 流信息 @@ -5098,17 +5314,17 @@ Two source connections to the same server that have the same mountpoint can not 元数据 - + Use static artist and title. 使用静态的艺术家名称和标题 - + Static title 静态标题 - + Static artist 静态艺术家名称 @@ -5167,13 +5383,14 @@ Two source connections to the same server that have the same mountpoint can not DlgPrefColors - - + + + By hotcue number 按 hotcue 编号 - + Color 颜色 @@ -5218,132 +5435,137 @@ Two source connections to the same server that have the same mountpoint can not + Jump default color + + + + When key colors are enabled, Mixxx will display a color hint associated with each key. - + Enable Key Colors - + 启用关键颜色 - + Key palette - + 快捷调色板 DlgPrefController - + Apply device settings? 應用設備設置嗎? - + Your settings must be applied before starting the learning wizard. Apply settings and continue? 開始學習嚮導前,必須應用您的設置。 應用設置並繼續? - + None - + %1 by %2 %2 %1 - + Mapping has been edited 映射已编辑 - + Always overwrite during this session 在此会话期间始终覆盖 - + Save As 另存为 - + Overwrite 覆盖 - + Save user mapping 保存用户映射 - + Enter the name for saving the mapping to the user folder. 输入用于将映射保存到用户文件夹的名称。 - + Saving mapping failed 保存映射失败 - + A mapping cannot have a blank name and may not contain special characters. 映射不能具有空白名称,并且不能包含特殊字符。 - + A mapping file with that name already exists. 具有该名称的映射文件已存在。 - + Do you want to save the changes? 是否要保存更改? - + Troubleshooting 疑難排解 - + <font color='#BB0000'><b>If you use this mapping your controller may not work correctly. Please select another mapping or disable the controller.</b></font><br><br>This mapping was designed for a newer Mixxx Controller Engine and cannot be used on your current Mixxx installation.<br>Your Mixxx installation has Controller Engine version %1. This mapping requires a Controller Engine version >= %2.<br><br>For more information visit the wiki page on <a href='https://mixxx.org/wiki/doku.php/controller_engine_versions'>Controller Engine Versions</a>. 如果使用此映射,则控制器可能无法正常工作。请选择其他映射或禁用控制器。此映射专为较新的 Mixxx 控制器引擎而设计,不能用于您当前的 Mixxx 安装。您的 Mixxx 安装的 Controller Engine 版本为 %1。此映射需要 Controller Engine 版本 >= %2。有关更多信息,请访问有关 Controller Engine 版本的 wiki 页面。 - + Mapping already exists. 映射已存在。 - + <b>%1</b> already exists in user mapping folder.<br>Overwrite or save with a new name? <b>%1</b>已存在于用户映射文件夹中.<br>覆盖还是用新名称保存? - + Clear Input Mappings 清除输入映射 - + Are you sure you want to clear all input mappings? 你確定你想要清除所有輸入的映射? - + Clear Output Mappings 清除輸出映射 - + Are you sure you want to clear all output mappings? 你確定你想要清除所有輸出映射? @@ -5361,100 +5583,105 @@ Apply settings and continue? 啟用 - - Device Info + + Refresh mapping list - + + Device Info + 设备信息 + + + Physical Interface: - + 物理接口: - + Vendor name: - + 供应商名称: - + Product name: - + 产品名称: - + Vendor ID - + VID: - + Product ID - + PID: - + Serial number: - + USB interface number: - + HID Usage-Page: - + HID Usage: - + Description: 描述: - + Support: 支援︰ - + Screens preview - + Input Mappings 輸入的映射 - - + + Search 搜索 - - + + Add 新增 - - + + Remove 移除 @@ -5475,17 +5702,17 @@ Apply settings and continue? 加载映射: - + Mapping Info 映射信息 - + Author: 作者︰ - + Name: 名稱︰ @@ -5495,28 +5722,28 @@ Apply settings and continue? 学习向导(仅用于 MIDI) - + Data protocol: - + Mapping Files: 映射文件: - + Mapping Settings - - + + Clear All 全部清除 - + Output Mappings 輸出映射 @@ -5531,21 +5758,21 @@ Apply settings and continue? - Mixxx uses "mappings" to connect messages from your controller to controls in Mixxx. If you do not see a mapping for your controller in the "Load Mapping" menu when you click on your controller on the left sidebar, you may be able to download one online from the %1. Place the XML (.xml) and Javascript (.js) file(s) in the "User Mapping Folder" then restart Mixxx. If you download a mapping in a ZIP file, extract the XML and Javascript file(s) from the ZIP file to your "User Mapping Folder" then restart Mixxx. - Mixxx 使用“映射”将来自控制器的消息连接到 Mixxx 中的控件。如果您在单击左侧边栏上的控制器时在“加载映射”菜单中没有看到控制器的映射,您可以从 %1 在线下载一个。将 XML (.xml) 和 Javascript (.js) 文件放在“用户映射文件夹”中,然后重新启动 Mixxx。如果您下载 ZIP 文件中的映射,请将 XML 和 Javascript 文件从 ZIP 文件解压到您的“用户映射文件夹”,然后重新启动 Mixxx。 + Mixxx uses "mappings" to connect messages from your controller to controls in Mixxx. If you do not see a mapping for your controller in the "Load Mapping" menu when you click on your controller on the left sidebar, you may be able to download one online from the %1. Place the XML (.xml) and Javascript (.js) file(s) in the "User Mapping Folder" then click the Reload button next to the mapping selector to reload all available mappings. If you download a mapping in a ZIP file, extract the XML and Javascript file(s) from the ZIP file to your "User Mapping Folder" then click the Reload button. + - + Mixxx DJ Hardware Guide Mixxx DJ 硬件指南 - + MIDI Mapping File Format MIDI 映射文件格式 - + MIDI Scripting with Javascript 使用 Javascript 编写 MIDI 脚本 @@ -5714,137 +5941,137 @@ Apply settings and continue? DlgPrefDeck - + Mixxx mode Mixxx 模式 - + Mixxx mode (no blinking) Mixxx 模式 (無閃爍) - + Pioneer mode 先驅模式 - + Denon mode Denon 模式 - + Numark mode 發展模式 - + CUP mode 切播模式 - + mm:ss%1zz - Traditional mm:ss%1zz - 繁体 - + mm:ss - Traditional (Coarse) mm:ss - 传统 (粗) - + s%1zz - Seconds s%1zz - 秒 - + sss%1zz - Seconds (Long) sss%1zz - 秒(长) - + s%1sss%2zz - Kiloseconds s%1sss%2zz - 千秒 - + Intro start 入门 - + Main cue 主要提示 - + First hotcue 第一个 hotcue - + First sound (skip silence) 第一个声音 (跳过静音) - + Beginning of track 轨道起点 - + Reject 拒绝 - + Allow, but stop deck 允许,但停止甲板 - + Allow, play from load point 允许,从加载点播放 - + 4% 4% - + 6% (semitone) 6%(半音) - + 8% (Technics SL-1210) 8%(Technics SL-1210) - + 10% 10% - + 16% 16% - + 24% 24% - + 50% 50% - + 90% 90% @@ -6298,57 +6525,57 @@ You can always drag-and-drop tracks on screen to clone a deck. 所選的外觀的最小大小大於您的螢幕解析度。 - + Allow screensaver to run 允许屏幕保护程序运行 - + Prevent screensaver from running 防止屏幕保护程序运行 - + Prevent screensaver while playing 播放时防止屏幕保护程序运行 - + Disabled 禁用 - + 2x MSAA 2倍采样抗锯齿 - + 4x MSAA 4倍采样抗锯齿 - + 8x MSAA 8倍采样抗锯齿 - + 16x MSAA 16倍采样抗锯齿 - + This skin does not support color schemes 這種皮膚不支援色彩配置 - + Information 資訊 - + Mixxx must be restarted before the new locale, scaling or multi-sampling settings will take effect. 在新的区域设置、缩放或多重采样设置生效之前,必须重新启动Mixxx。 @@ -6575,37 +6802,37 @@ and allows you to pitch adjust them for harmonic mixing. 有关详细信息,请参阅手册 - + Music Directory Added 音乐目录已添加 - + You added one or more music directories. The tracks in these directories won't be available until you rescan your library. Would you like to rescan now? 您已添加一个或更多音乐目录。这些音轨将在您重新扫描音乐库前不可用。您想立即扫描音乐库吗? - + Scan 扫描 - + Item is not a directory or directory is missing 项目不是目录或目录缺失 - + Choose a music directory 選擇音樂目錄 - + Confirm Directory Removal 确认移除目录 - + Mixxx will no longer watch this directory for new tracks. What would you like to do with the tracks from this directory and subdirectories?<ul><li>Hide all tracks from this directory and subdirectories.</li><li>Delete all metadata for these tracks from Mixxx permanently.</li><li>Leave the tracks unchanged in your library.</li></ul>Hiding tracks saves their metadata in case you re-add them in the future. Mixxx 将不会监视该目录中的新音轨。您希望如何处理该目录(及其子目录)中的音轨? <ul> @@ -6616,32 +6843,62 @@ and allows you to pitch adjust them for harmonic mixing. 隐藏音轨可以保留其元数据,以便您以后再次添加它们。 - + Metadata means all track details (artist, title, playcount, etc.) as well as beatgrids, hotcues, and loops. This choice only affects the Mixxx library. No files on disk will be changed or deleted. 元数据即音轨的信息(艺术家、标题、播放次数等)、节拍模式、热切点和循环设置。这些选项仅影响 Mixxx 媒体库。不会更改或删除相关的媒体文件。 - + Hide Tracks 隱藏的蹤跡 - + Delete Track Metadata 刪除跟蹤中繼資料 - + Leave Tracks Unchanged 離開軌道不變 - + Relink music directory to new location 将音乐目录链接至新位置 - + + Black + + + + + ExtraBold + + + + + Bold + + + + + SemiBold + + + + + Medium + + + + + Light + + + + Select Library Font 选择音乐库字体 @@ -6692,262 +6949,267 @@ and allows you to pitch adjust them for harmonic mixing. 启动时重新扫描目录 - + Audio File Formats 音频文件格式 - + Track Table View 轨道视图 - + Track Double-Click Action: 轨道双击操作: - + BPM display precision: BPM 显示精度: - + Session History 工作階段紀錄 - + Track duplicate distance 跟踪重复距离 - + When playing a track again log it to the session history only if more than N other tracks have been played in the meantime 再次播放轨道时,仅当同时播放了 N 个以上的其他轨道时,才会将其记录到会话历史记录中 - + History playlist with less than N tracks will be deleted<br/><br/>Note: the cleanup will be performed during startup and shutdown of Mixxx. 少于 N 首曲目的历史播放列表将被删除注意:清理将在 Mixxx 启动和关闭期间进行。 - + Delete history playlist with less than N tracks 删除少于 N 首曲目的历史播放列表 - + Library Font: 音乐库字体: - + + Show scan summary dialog + + + + Grey out played tracks 灰显播放的曲目 - + Track Search 轨迹搜索 - + Enable search completions 启用搜索补全 - + Enable search history keyboard shortcuts 启用搜索历史记录键盘快捷键 - + Percentage of pitch slider range for 'fuzzy' BPM search: “模糊”BPM 搜索范围: - + This range will be used for the 'fuzzy' BPM search (~bpm:) via the search box, as well as for BPM search in Track context menu > Search related Tracks 此范围将通过搜索框用于“模糊”BPM 搜索 (~bpm:),以及用于 Search related Tracks > Track 上下文菜单中的 BPM 搜索 - + Preferred Cover Art Fetcher Resolution 首选封面图片提取程序分辨率 - + Fetch cover art from coverartarchive.com by using Import Metadata From Musicbrainz. 使用从 Musicbrainz 导入数据 从 coverartarchive.com 中获取封面。 - + Note: ">1200 px" can fetch up to very large cover arts. 注意:“>1200 px”最多可以获取非常大的封面。 - + >1200 px (if available) >1200 像素(如果可用) - + 1200 px (if available) 1200 像素(如果可用) - + 500 px 500像素 - + 250 px 250像素 - + Settings Directory 设置目录 - + The Mixxx settings directory contains the library database, various configuration files, log files, track analysis data, as well as custom controller mappings. Mixxx 设置目录包含库数据库、各种配置文件、日志文件、轨道分析数据以及自定义控制器映射。 - + Edit those files only if you know what you are doing and only while Mixxx is not running. 仅当您知道自己在做什么时,并且仅在 Mixxx 未运行时编辑这些文件。 - + Open Mixxx Settings Folder 打开 Mixxx 设置文件夹 - + Library Row Height: 圖書館行高︰ - + Use relative paths for playlist export if possible 请尽量使用相对路径来导出播放列表 - + ... ... - + px px - + Synchronize library track metadata from/to file tags 从文件标签同步库轨道数据/与文件标签同步 - + Automatically write modified track metadata from the library into file tags and reimport metadata from updated file tags into the library 自动将修改后的轨道元数据从库写入文件标签,并将元数据从更新的文件标签重新导入到库中 - + Synchronize Serato track metadata from/to file tags (experimental) 从/到文件标签同步 Serato 跟踪元数据(实验性) - + Keeps track color, beat grid, bpm lock, cue points, and loops synchronized with SERATO_MARKERS/MARKERS2 file tags.<br/><br/>WARNING: Enabling this option also enables the reimport of Serato metadata after files have been modified outside of Mixxx. On reimport existing metadata in Mixxx is replaced with the metadata found in file tags. Custom metadata not included in file tags like loop colors is lost. 使轨道颜色、节拍网格、bpm 锁定、提示点和 Loop 与 SERATO_MARKERS/MARKERS2 文件标签保持同步。<br/><br/>警告:启用此选项还会在 Mixxx 之外修改文件后重新导入 Serato 元数据。重新导入时,Mixxx 中的现有元数据将替换为文件标签中的数据。文件标签中未包含的自定义元数据(如循环颜色)将丢失。 - + Edit metadata after clicking selected track 单击所选轨道后编辑数据 - + Search-as-you-type timeout: 键入时搜索超时: - + ms 女士 - + Load track to next available deck 載入追蹤記錄到下一個可用的甲板上 - + External Libraries 外部库 - + You will need to restart Mixxx for these settings to take effect. 您需要重启 Mixxx 以便这些设置生效。 - + Show Rhythmbox Library 顯示 Rhythmbox 庫 - + Track Metadata Synchronization / Playlists 轨道数据同步/播放列表 - + Add track to Auto DJ queue (bottom) 将轨道添加到 Auto DJ 队列(底部) - + Add track to Auto DJ queue (top) 将轨道添加到 Auto DJ 队列(顶部) - + Ignore 忽略 - + Show Banshee Library 顯示女妖庫 - + Show iTunes Library 显示iTunes音乐库 - + Show Traktor Library 显示Traktor音乐库 - + Show Rekordbox Library 显示 Recordbox 库 - + Show Serato Library 显示 Serato 库 - + All external libraries shown are write protected. 所有显示的外部库均为写保护模式。 @@ -7292,33 +7554,33 @@ and allows you to pitch adjust them for harmonic mixing. DlgPrefRecord - + Choose recordings directory 選擇錄音目錄 - - + + Recordings directory invalid 录制文件目录无效 - + Recordings directory must be set to an existing directory. 录制目录必须设置为现有目录。 - + Recordings directory must be set to a directory. Recordings directory (录制文件目录) 必须设置为目录。 - + Recordings directory not writable 录制文件目录不可写 - + You do not have write access to %1. Choose a recordings directory you have write access to. 您没有对 %1 的写入权限。选择您具有写入权限的录制文件目录。 @@ -7336,43 +7598,55 @@ and allows you to pitch adjust them for harmonic mixing. 流覽... - - + + This will include the filepath for each track in the CUE file. +This option makes the CUE file less portable and can reveal personal +information from filepaths (i.e. username) + + + + + Enable File Annotation in CUE file + + + + + Quality 品质 - + Tags 标签 - + Title 標題 - + Author 作者 - + Album 专辑 - + Output File Format 输出文件格式 - + Compression 壓縮 - + Lossy 損耗衰減 @@ -7387,12 +7661,12 @@ and allows you to pitch adjust them for harmonic mixing. 目录: - + Compression Level 压缩级别 - + Lossless 無損 @@ -7525,172 +7799,177 @@ The loudness target is approximate and assumes track pregain and main output lev DlgPrefSound - + %1 Hz %1 赫兹 - + Default (long delay) 默认(长延时) - + Experimental (no delay) 试验(无延时) - + Disabled (short delay) 禁用 (短延時) - + Soundcard Clock 声卡时钟 - + Network Clock 网络时钟 - + Direct monitor (recording and broadcasting only) 直接监视器(仅限录制和广播) - + Disabled 已禁用 - + Enabled 啟用 - + Stereo 立体声 - + Mono 單聲道 - + To enable Realtime scheduling (currently disabled), see the %1. 要启用实时计划(当前已禁用),请参阅 %1。 - + The %1 lists sound cards and controllers you may want to consider for using Mixxx. %1 列出了您可能需要考虑使用 Mixxx 的声卡和控制器。 - + Mixxx DJ Hardware Guide Mixxx DJ 硬件指南 - + + Find details in the Mixxx user manual + + + + Information - + Mixxx must be restarted before the multi-threaded RubberBand setting change will take effect. - + auto (<= 1024 frames/period) 自动(<= 1024 帧/周期) - + 2048 frames/period 2048 帧/周期 - + 4096 frames/period 4096 帧/周期 - + Are you sure? - + Distribute stereo channels into mono channels for parallel processing will result in a loss of mono compatibility and a diffuse stereo image. It is not recommended during broadcasting or recording. - + Are you sure you wish to proceed? - + No - + Yes, I know what I am doing - + Microphone inputs are out of time in the record & broadcast signal compared to what you hear. 与您听到的相比,麦克风输入在录音和广播信号中显得不合时宜。 - + Measure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. 测量往返延迟,并在上方输入麦克风延迟补偿以对齐麦克风计时。 - + Refer to the Mixxx User Manual for details. 細節請參考Mixxx 使用者操作手冊 - + Configured latency has changed. 配置的延迟已更改。 - + Remeasure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. 重新测量往返延迟,并将其输入到麦克风延迟补偿上方,以调整麦克风定时。 - + Realtime scheduling is enabled. 已启用实时调度。 - + Main output only 仅主输出 - + Main and booth outputs 主输出和展位输出 - + %1 ms %1 ms - + Configuration error 配置錯誤 @@ -7757,17 +8036,22 @@ The loudness target is approximate and assumes track pregain and main output lev 女士 - + + Deck and Bus outputs are for external mixers. They are post-fader and include effects and crossfader (for Auto DJ). For external mixing, make sure all Mixxx faders and EQ knobs are set to their default position (right- or double-click). + + + + 20 ms 為 20 毫秒 - + Buffer Underflow Count 緩衝區下溢計數 - + 0 0 @@ -7792,12 +8076,12 @@ The loudness target is approximate and assumes track pregain and main output lev 輸入 - + System Reported Latency 系統報告延遲 - + Enlarge your audio buffer if the underflow counter is increasing or you hear pops during playback. 若下溢计数持续增加,或者您听到“啪啪”声,请增大您的音频缓冲区。 @@ -7827,7 +8111,7 @@ The loudness target is approximate and assumes track pregain and main output lev 提示和診斷 - + Downsize your audio buffer to improve Mixxx's responsiveness. 若需提升 Mixxx 的响应速度,请降低您的音频缓冲区大小。 @@ -7874,7 +8158,7 @@ The loudness target is approximate and assumes track pregain and main output lev 乙烯基配置 - + Show Signal Quality in Skin 在皮膚中顯示信號品質 @@ -7910,47 +8194,52 @@ The loudness target is approximate and assumes track pregain and main output lev + Pitch estimator + + + + Deck 1 碟盘1 - + Deck 2 碟盘2 - + Deck 3 碟盘3 - + Deck 4 碟盘4 - + Signal Quality 信號品質 - + http://www.xwax.co.uk http://www.xwax.co.uk - + Powered by xwax 由 xwax 提供動力 - + Hints 提示 - + Select sound devices for Vinyl Control in the Sound Hardware pane. 選擇聲音設備乙烯控制聲音硬體窗格中。 @@ -7958,58 +8247,58 @@ The loudness target is approximate and assumes track pregain and main output lev DlgPrefWaveform - + Filtered 過濾 - + HSV HSV - + RGB RGB - + Top 返回页首 - + Center 中心 - + Bottom - + 1/3 of waveform viewer options for "Text height limit" - + Entire waveform viewer - + OpenGL not available OpenGL 不可用 - + dropped frames 丟棄的幀 - + Cached waveforms occupy %1 MiB on disk. 缓存的波形占用了 %1 MB 磁盘空间。 @@ -8027,22 +8316,17 @@ The loudness target is approximate and assumes track pregain and main output lev 畫面播放速率 - + OpenGL Status - + Displays which OpenGL version is supported by the current platform. 显示当前平台所支持的 OpenGL 版本。 - - Normalize waveform overview - 正常化波形概述 - - - + Average frame rate 平均畫面播放速率 @@ -8058,7 +8342,7 @@ The loudness target is approximate and assumes track pregain and main output lev 預設縮放級別 - + Displays the actual frame rate. 显示实际帧率。 @@ -8093,7 +8377,7 @@ The loudness target is approximate and assumes track pregain and main output lev - + Show minute markers on waveform overview @@ -8138,7 +8422,7 @@ The loudness target is approximate and assumes track pregain and main output lev 全球視覺增益 - + The waveform overview shows the waveform envelope of the entire track. Select from different types of displays for the waveform overview, which differ primarily in the level of detail shown in the waveform. 选择波形的显示样式,其主要区别在于显示在波形中的细节多少。 @@ -8206,22 +8490,22 @@ Select from different types of displays for the waveform, which differ primarily pt - + Caching 緩存 - + Mixxx caches the waveforms of your tracks on disk the first time you load a track. This reduces CPU usage when you are playing live but requires extra disk space. Mixxx 緩存您軌道在磁片第一次你載入追蹤記錄的波形。這降低了 CPU 使用率,當你玩活的時候,但需要額外的磁碟空間。 - + Enable waveform caching 启用波形缓存 - + Generate waveforms when analyzing library 在分析圖書館時產生波形 @@ -8237,7 +8521,7 @@ Select from different types of displays for the waveform, which differ primarily - + Type @@ -8262,17 +8546,63 @@ Select from different types of displays for the waveform, which differ primarily 播放标记位置 - - Moves the play marker position on the waveforms to the left, right or center (default). - 将波形上的播放标记位置向左、向右或居中移动(默认)。 + + Moves the play marker position on the waveforms to the left, right or center (default). + 将波形上的播放标记位置向左、向右或居中移动(默认)。 + + + + Stem + + + + + Channel opacity + + + + + Channel opacity (outline) + + + + + Main stem opacity + + + + + Outline stem opacity + + + + + Move channel to foreground when volume is adjusted + + + + + Overview Waveforms + + + + + Gain + + + + + Normalize to peak + - - Overview Waveforms + + Use Waveform "Global" gain and ReplayGain (if enabled) + 'Global' refers to the 'Global' visual gain in the scrolling waveform settings - + Clear Cached Waveforms 清除波形缓存 @@ -8764,7 +9094,7 @@ This can not be undone! BPM: - + Location: 位置: @@ -8779,27 +9109,27 @@ This can not be undone! 注视 - + BPM BPM - + Sets the BPM to 75% of the current value. 将 BPM 设置为当前值的 75%。 - + 3/4 BPM 3/4 BPM - + Sets the BPM to 50% of the current value. 将 BPM 设置为当前值的 50%。 - + Displays the BPM of the selected track. 显示所选音轨的 BPM。 @@ -8854,49 +9184,49 @@ This can not be undone! 體裁 - + ReplayGain: 重播增益︰ - + Sets the BPM to 200% of the current value. 將 BPM 設置為 200%的當前值。 - + Double BPM 拍速倍增 - + Halve BPM 減半 BPM - + Clear BPM and Beatgrid 明確的 BPM 和 Beatgrid - + Move to the previous item. "Previous" button 移动至前一项。 - + &Previous 上一首(&P) - + Move to the next item. "Next" button 移動到下一個專案。 - + &Next 下一首(&N) @@ -8921,12 +9251,12 @@ This can not be undone! 颜色 - + Date added: 添加日期: - + Open in File Browser 在文件管理器中打开 @@ -8936,12 +9266,17 @@ This can not be undone! 采样率: - + + Filesize: + + + + Track BPM: BPM 的軌道︰ - + Converts beats detected by the analyzer into a fixed-tempo beatgrid. Use this setting if your tracks have a constant tempo (e.g. most electronic music). Often results in higher quality beatgrids, but will not do well on tracks that have tempo shifts. @@ -8950,90 +9285,90 @@ Often results in higher quality beatgrids, but will not do well on tracks that h 这样通常能得到质量更高的节拍网格,但对有节奏变化的音轨效果不佳。 - + Assume constant tempo 假定速度恒定 - + Sets the BPM to 66% of the current value. 將 BPM 設置為當前值的 66%。 - + 2/3 BPM 2/3 BPM - + Sets the BPM to 150% of the current value. 将 BPM 设置为当前值的 150%。 - + 3/2 BPM 3/2 BPM - + Sets the BPM to 133% of the current value. 将 BPM 设置为当前值的 133%。 - + 4/3 BPM 4/3 BPM - + Tap with the beat to set the BPM to the speed you are tapping. 點擊擊敗,設置 BPM 為您正在開發的速度。 - + Tap to Beat 點擊節拍 - + Hint: Use the Library Analyze view to run BPM detection. 提示︰ 使用庫分析視圖運行 BPM 檢測。 - + Save changes and close the window. "OK" button 保存更改并关闭窗口。 - + &OK 與確定 - + Discard changes and close the window. "Cancel" button 丢弃更改并关闭窗口。 - + Save changes and keep the window open. "Apply" button 保存更改並保持視窗打開。 - + &Apply 與應用 - + &Cancel 與取消 - + (no color) (无颜色) @@ -9190,7 +9525,7 @@ Often results in higher quality beatgrids, but will not do well on tracks that h 确认(&O) - + (no color) (无颜色) @@ -9392,27 +9727,27 @@ Often results in higher quality beatgrids, but will not do well on tracks that h EngineBuffer - + Soundtouch (faster) Soundtouch (更快) - + Rubberband (better) 橡皮條 (更好) - + Rubberband R3 (near-hi-fi quality) 接近高保真质量 - + Unknown, using Rubberband (better) 未知,使用更好 - + Unknown, using Soundtouch 未知,使用 Soundtouch @@ -9627,15 +9962,15 @@ Often results in higher quality beatgrids, but will not do well on tracks that h LegacySkinParser - - + + Safe Mode Enabled Shown when Mixxx is running in safe mode. 已启用安全模式 - - + + No OpenGL support. Shown when Spinny can not be displayed. Please keep @@ -9647,57 +9982,57 @@ Shown when VuMeter can not be displayed. Please keep 支持。 - + activate 启用 - + toggle 切換 - + right - + left - + right small 右小 - + left small 左小 - + up 向上 - + down - + up small 小了 - + down small 下小 - + Shortcut 快捷方式 @@ -9705,37 +10040,37 @@ Shown when VuMeter can not be displayed. Please keep Library - + This or a parent directory is already in your library. 此目录或父目录已位于您的库中。 - + This or a listed directory does not exist or is inaccessible. Aborting the operation to avoid library inconsistencies 此目录或列出的目录不存在或无法访问。 中止操作以避免库不一致 - - + + This directory can not be read. 无法读取此目录。 - + An unknown error occurred. Aborting the operation to avoid library inconsistencies 发生未知错误。 中止操作以避免库不一致 - + Can't add Directory to Library 无法将目录添加到库 - + Could not add <b>%1</b> to your library. %2 @@ -9744,27 +10079,27 @@ Aborting the operation to avoid library inconsistencies %2 - + Can't remove Directory from Library 无法从库中删除目录 - + An unknown error occurred. 发生未知错误。 - + This directory does not exist or is inaccessible. 此目录不存在或无法访问。 - + Relink Directory 重新链接目录 - + Could not relink <b>%1</b> to <b>%2</b>. %3 @@ -9930,12 +10265,12 @@ Do you really want to overwrite it? 隱藏的曲目 - + Export to Engine DJ 导出到 Engine DJ - + Tracks 音轨 @@ -9943,37 +10278,37 @@ Do you really want to overwrite it? MixxxMainWindow - + Sound Device Busy 声音设备正忙 - + <b>Retry</b> after closing the other application or reconnecting a sound device 關閉其他應用程式或重新連接聲音設備後 <b>重試</b> - - - + + + <b>Reconfigure</b> Mixxx's sound device settings. <b>重新配置</b> Mixxx 声音设备。 - - + + Get <b>Help</b> from the Mixxx Wiki. 从 Mixxx Wiki 中获取<b>帮助</b>。 - - - + + + <b>Exit</b> Mixxx. <b>退出</b> Mixxx。 - + Retry 重试 @@ -9983,211 +10318,211 @@ Do you really want to overwrite it? 皮肤 - + Allow Mixxx to hide the menu bar? 允许 Mixxx 隐藏菜单栏? - + Hide Always show the menu bar? 隐藏 - + Always show 始终显示 - + The Mixxx menu bar is hidden and can be toggled with a single press of the <b>Alt</b> key.<br><br>Click <b>%1</b> to agree.<br><br>Click <b>%2</b> to disable that, for example if you don't use Mixxx with a keyboard.<br><br>You can change this setting any time in Preferences -> Interface.<br> Keep formatting tags <b> (bold text) and <br> (linebreak). %1 is the placeholder for the 'Always show' button label Mixxx 菜单栏是隐藏的,只需按一下<b>Alt 键</b>钥匙。<br><br>点击<b>%1</b>同意。<br><br>点击<b>%2</b>以禁用它,例如,如果您不将 Mixxx 与键盘一起使用。<br><br>您可以随时在 Preferences -> Interface 中更改此设置。<br> - + Ask me again 再问我一次 - - + + Reconfigure 重新配置 - + Help 帮助 - - + + Exit 退出 - - + + Mixxx was unable to open all the configured sound devices. Mixxx 无法打开所有要打开的音频设备 - + Sound Device Error 音频设备错误 - + <b>Retry</b> after fixing an issue 修正错误后 <b> 重试 </b> - + No Output Devices 没有输出设备 - + Mixxx was configured without any output sound devices. Audio processing will be disabled without a configured output device. Mixxx 的配置中没有任何输出设备,将会禁用音频处理操作。 - + <b>Continue</b> without any outputs. <b>繼續</b> 沒有任何產出。 - + Continue 继续 - + Load track to Deck %1 加载音轨到碟机 %1 - + Deck %1 is currently playing a track. 甲板 %1 當前播放的曲目。 - + Are you sure you want to load a new track? 你確定你想要載入一個新的軌道? - + There is no input device selected for this vinyl control. Please select an input device in the sound hardware preferences first. 尚未选择用于唱盘控制的输入设备。 请在声音硬件的首选项中选择一个输入设备。 - + There is no input device selected for this passthrough control. Please select an input device in the sound hardware preferences first. 有是沒有為此直通控制項選擇的輸入的設備。 請先在聲音硬體首選項中選擇一種輸入的設備。 - + There is no input device selected for this microphone. Do you want to select an input device? 没有为此麦克风选择输入设备。是否要选择输入设备? - + There is no input device selected for this auxiliary. Do you want to select an input device? 没有为此辅助设备选择输入设备。是否要选择输入设备? - + Scan took %1 - + No changes detected. - - + + %1 tracks in total - + %1 new tracks found - + %1 moved tracks detected - + %1 tracks are missing (%2 total) - + %1 tracks have been rediscovered - + Library scan finished - + Error in skin file 皮膚檔中的錯誤 - + The selected skin cannot be loaded. 無法載入所選的外觀。 - + OpenGL Direct Rendering OpenGL 直接繪製 - + Direct rendering is not enabled on your machine.<br><br>This means that the waveform displays will be very<br><b>slow and may tax your CPU heavily</b>. Either update your<br>configuration to enable direct rendering, or disable<br>the waveform displays in the Mixxx preferences by selecting<br>"Empty" as the waveform display in the 'Interface' section. 您的计算机上未启用直接渲染。<br><br>这意味着波形显示将非常<br><b>速度慢,并且可能会严重占用您的 CPU</b>.要么更新您的<br>配置以启用直接渲染或禁用<br>波形将通过选择 Mixxx 首选项显示在<br>“空”作为“界面”部分的波形显示。 - - - + + + Confirm Exit 确认退出 - + A deck is currently playing. Exit Mixxx? 有唱机正在播放。确定退出 Mixxx 吗? - + A sampler is currently playing. Exit Mixxx? 當前現正播放採樣器。退出 Mixxx 嗎? - + The preferences window is still open. 首選項視窗是仍處於打開狀態。 - + Discard any changes and exit Mixxx? 放棄所有更改並退出 Mixxx? @@ -10203,14 +10538,14 @@ Do you want to select an input device? PlaylistFeature - + Lock - - + + Playlists 播放列表 @@ -10220,58 +10555,63 @@ Do you want to select an input device? 随机播放播放列表 - + + Adopt current order + + + + Unlock all playlists - + Delete all unlocked playlists - + Unlock 解鎖 - - + + Confirm Deletion - + Do you really want to delete all unlocked playlists? - + Deleting %1 unlocked playlists.<br>This operation can not be undone! - + Playlists are ordered lists of tracks that allow you to plan your DJ sets. 播放列表是有序的曲目列表,允许您规划 DJ 集。 - + It may be necessary to skip some tracks in your prepared playlist or add some different tracks in order to maintain the energy of your audience. 可能需要跳过您准备好的播放列表中的一些曲目或添加一些不同的曲目,以保持观众的活力。 - + Some DJs construct playlists before they perform live, but others prefer to build them on-the-fly. 一些DJ在他们表演之前创建播放列表,但其他人更倾向于即兴表演。 - + When using a playlist during a live DJ set, remember to always pay close attention to how your audience reacts to the music you've chosen to play. 在在线 Dj 集中使用播放列表时,请时刻注意您的听众对所选音乐的反应。 - + Create New Playlist 建立新的播放清單 @@ -10370,59 +10710,59 @@ Do you want to select an input device? QMessageBox - + Upgrading Mixxx 升级 Mixxx - + Mixxx now supports displaying cover art. Do you want to scan your library for cover files now? Mixxx现已支持显示歌曲封面。 您想要立即扫描音乐库内的封面文件吗? - + Scan 扫描 - + Later 後來 - + Upgrading Mixxx from v1.9.x/1.10.x. 從 v1.9.x/1.10.x 升級 Mixxx。 - + Mixxx has a new and improved beat detector. Mixxx 更新了节拍检测器。 - + When you load tracks, Mixxx can re-analyze them and generate new, more accurate beatgrids. This will make automatic beatsync and looping more reliable. 當你載入軌道時,Mixxx 可以重新對其進行分析和產生新的、 更準確的 beatgrids。這將使自動 beatsync 和迴圈更可靠。 - + This does not affect saved cues, hotcues, playlists, or crates. 這並不影響保存提示、 hotcues、 播放清單或板條箱。 - + If you do not want Mixxx to re-analyze your tracks, choose "Keep Current Beatgrids". You can change this setting at any time from the "Beat Detection" section of the Preferences. 若您不希望 Mixxx 重新分析音轨,请选择“保留当前节拍样式”。您可以之后在首选项中的“节拍检测”选项卡中更改此设置。 - + Keep Current Beatgrids 保留当前节拍样式 - + Generate New Beatgrids 生成新 Beatgrids @@ -10536,69 +10876,82 @@ Do you want to scan your library for cover files now? 14 位 (MSB) - + Main + Audio path indetifier 主要 - + Booth + Audio path indetifier Booth - + Headphones + Audio path indetifier 耳机 - + Left Bus + Audio path indetifier 左的巴士 - + Center Bus + Audio path indetifier 中心巴士 - + Right Bus + Audio path indetifier 右总线 - + Invalid Bus + Audio path indetifier 无效总线 - + Deck + Audio path indetifier 甲板上 - + Record/Broadcast + Audio path indetifier 錄音/廣播 - + Vinyl Control + Audio path indetifier 唱盘控制 - + Microphone + Audio path indetifier 麥克風 - + Auxiliary + Audio path indetifier 辅助 - + Unknown path type %1 + Audio path 路径类型 %1 未知 @@ -10941,47 +11294,49 @@ With width at zero, this allows for manually sweeping over the entire delay rang 寬度 - + Metronome 节拍器 - + + The Mixxx Team - + Adds a metronome click sound to the stream 向流中添加节拍器咔嗒声 - + BPM BPM - + Set the beats per minute value of the click sound 设置咔嗒声的每分钟节拍数值 - + Sync 同步 - + Synchronizes the BPM with the track if it can be retrieved 如果可以检索 Track,则将 BPM 与 Track 同步 - + + Gain - + Set the gain of metronome click sound @@ -11785,14 +12140,14 @@ Fully right: end of the effect period 不支持 OGG 录制。无法初始化 OGG/Vorbis 库。 - - + + encoder failure 编码器故障 - - + + Failed to apply the selected settings. 无法应用所选设置。 @@ -11999,15 +12354,86 @@ and the processed output signal as close as possible in perceived loudness打开 + + Auto Gain Control + + + + + AGC + + + + + Auto Gain Control (AGC) automatically adjusts the gain of an audio signal to maintain a consistent output level. + + + + Threshold (dBFS) 阈值 (dBFS) + Threshold 门槛 + + + The Threshold knob adjusts the level above which the effect starts enhancing the input signal + + + + + Target (dBFS) + + + + + Target + + + + + The Target knob adjusts the desired target level of the output signal + + + + + Gain (dB) + + + + + The Gain knob adjusts the maximum amount of gain that the effect will apply + + + + + Knee (dB) + + + + + The Knee knob defines the range around the Threshold where gain changes are applied gradually, +ensuring smooth transitions and avoiding abrupt level shifts. + + + + + The Attack knob sets the time that determines how fast the auto gain +will set in once the signal exceeds the threshold + + + + + The Release knob sets the time that determines how fast the auto gain will recover from the gain +adjustment once the signal falls under the threshold. Depending on the input signal, short release times +may introduce a 'pumping' effect and/or distortion. + + The Threshold knob adjusts the level above which the compressor starts attenuating the input signal @@ -12038,6 +12464,7 @@ At a ratio of 1:1 no compression is happening, as the input is exactly the outpu Knee (dBFS) + Knee Knee @@ -12048,11 +12475,13 @@ At a ratio of 1:1 no compression is happening, as the input is exactly the outpu Knee 旋钮用于实现更圆润的压缩曲线 + Attack (ms) + Attack @@ -12065,11 +12494,13 @@ will set in once the signal exceeds the threshold 将在信号超过阈值时设置 + Release (ms) 版本(毫秒) + Release 释放 @@ -12100,12 +12531,12 @@ may introduce a 'pumping' effect and/or distortion. 各种 - + built-in - + missing @@ -12140,42 +12571,42 @@ may introduce a 'pumping' effect and/or distortion. - + Empty - + Simple - + Filtered - + HSV - + VSyncTest - + RGB - + Stacked - + Unknown @@ -12257,7 +12688,7 @@ may introduce a 'pumping' effect and/or distortion. Hot cues - Hot cues + 即时切点 @@ -12438,193 +12869,193 @@ may introduce a 'pumping' effect and/or distortion. ShoutConnection - - + + Mixxx encountered a problem Mixxx遇到一个问题 - + Could not allocate shout_t 无法为 shout_t 分配内存 - + Could not allocate shout_metadata_t 无法为 shout_metadata_t 分配内存 - + Error setting non-blocking mode: 錯誤設置非阻塞模式︰ - + Error setting tls mode: 设置 TLS 模式时出错: - + Error setting hostname! 设置主机名时出错! - + Error setting port! 設置埠時出錯 ! - + Error setting password! 設置密碼時出錯 ! - + Error setting mount! 设置挂载点时出错! - + Error setting username! 设置i用户名时出错! - + Error setting stream name! 錯誤設置流名稱 ! - + Error setting stream description! 錯誤設置流說明 ! - + Error setting stream genre! 设置流的流派时出错! - + Error setting stream url! 设置流的 URL 时出错! - + Error setting stream IRC! 设置流 IRC 时出错! - + Error setting stream AIM! 设置流 AIM 时出错! - + Error setting stream ICQ! 设置流 ICQ 时出错! - + Error setting stream public! 錯誤設置流公共 ! - + Unknown stream encoding format! 未知的流编码格式! - + Use a libshout version with %1 enabled 使用启用了 %1 的 libshout 版本 - + Error setting stream encoding format! 设置流编码格式时出错! - + Broadcasting at 96 kHz with Ogg Vorbis is not currently supported. Please try a different sample rate or switch to a different encoding. 目前不支持使用 Ogg Vorbis 以 96 kHz 进行广播。请尝试不同的采样率或切换到不同的编码。 - + See https://github.com/mixxxdj/mixxx/issues/5701 for more information. 有关更多信息,请参阅 https://github.com/mixxxdj/mixxx/issues/5701。 - + Unsupported sample rate 不支持的采样率 - + Error setting bitrate 錯誤設置位元速率 - + Error: unknown server protocol! 错误:服务器协议未知! - + Error: Shoutcast only supports MP3 and AAC encoders 错误:Shoutcast 仅支持 MP3 和 AAC 编码器 - + Error setting protocol! 设置协议时出错! - + Network cache overflow 網路的快取溢出 - + Connection error 连接错误 - + One of the Live Broadcasting connections raised this error:<br><b>Error with connection '%1':</b><br> 其中一个 Live Broadcasting 连接引发了以下错误:<br><b>连接“%1”出错:</b><br> - + Connection message 连接消息 - + <b>Message from Live Broadcasting connection '%1':</b><br> <b>来自实时广播连接“%1”的消息:</b><br> - + Lost connection to streaming server and %1 attempts to reconnect have failed. 到流服务器的连接中断,且在 %1 次重试之后仍然无法重新连接 - + Lost connection to streaming server. 到流服务器的连接断开 - + Please check your connection to the Internet. 请检查您的互联网连接 - + Can't connect to streaming server 无法连接到流服务器 - + Please check your connection to the Internet and verify that your username and password are correct. 請檢查您連接到 Internet,請驗證您的使用者名和密碼正確。 @@ -12632,7 +13063,7 @@ may introduce a 'pumping' effect and/or distortion. SoftwareWaveformWidget - + Filtered 過濾 @@ -12640,23 +13071,23 @@ may introduce a 'pumping' effect and/or distortion. SoundManager - - + + a device 一个设备 - + An unknown error occurred 出現未知的錯誤 - + Two outputs cannot share channels on "%1" 两个输出无法共享 %1 的通道 - + Error opening "%1" 无法打开 "%1" @@ -12841,7 +13272,7 @@ may introduce a 'pumping' effect and/or distortion. - + Spinning Vinyl 紡紗乙烯基 @@ -13023,7 +13454,7 @@ may introduce a 'pumping' effect and/or distortion. - + Cover Art 封面 @@ -13213,243 +13644,243 @@ may introduce a 'pumping' effect and/or distortion. 启用时,将低频均衡器的增益置为 0。 - + Displays the tempo of the loaded track in BPM (beats per minute). 显示已加载音轨的BPM(拍每分钟)。 - + Tempo 速度 - + Key The musical key of a track 關鍵 - + BPM Tap BPM 敲击 - + When tapped repeatedly, adjusts the BPM to match the tapped BPM. 若重复点击,将把音轨的 BPM 设为点击动作的 BPM。 - + Adjust BPM Down 向下調整 BPM - + When tapped, adjusts the average BPM down by a small amount. 点击时,将平均 BPM 略微下调。 - + Adjust BPM Up 上调 BPM - + When tapped, adjusts the average BPM up by a small amount. 當敲擊時,通過少量向上調整平均 BPM。 - + Adjust Beats Earlier 早些時候調整節拍 - + When tapped, moves the beatgrid left by a small amount. 當敲擊時,移動 beatgrid 留下的一小部分。 - + Adjust Beats Later 推迟节拍 - + When tapped, moves the beatgrid right by a small amount. 点击时,将节拍略微推迟。 - + Tempo and BPM Tap 速度和 BPM - + Show/hide the spinning vinyl section. 显示/隐藏唱盘控制器。 - + Keylock 鑰匙鎖 - + Toggling keylock during playback may result in a momentary audio glitch. 在回放时切换音高锁定可能会导致音频出现瞬间的噪音(glitch)。 - + Toggle visibility of Loop Controls 切换 Loop Controls 的可见性 - + Toggle visibility of Beatjump Controls 切换 Beatjump 控件的可见性 - + Toggle visibility of Rate Control 切换速率控制的可见性 - + Toggle visibility of Key Controls 切换键控的可见性 - + (while previewing) (预览时) - + Places a cue point at the current position on the waveform. 在波形的当前位置上设置一个切入点。 - + Stops track at cue point, OR go to cue point and play after release (CUP mode). 在切入点处停止,或跳至切入点并在释放后播放(切播模式下)。 - + Set cue point (Pioneer/Mixxx/Numark mode), set cue point and play after release (CUP mode) OR preview from it (Denon mode). 设置切入点(Pioneer/Mixxx 模式下)并在释放后开始播放(切播模式下),或从切入点出开始预览(Denon 模式下)。 - + Is latching the playing state. 正在锁定播放状态。 - + Seeks the track to the cue point and stops. 跳至音轨的切入点,然后停止。 - + Play 播放 - + Plays track from the cue point. 从提示点播放轨道。 - + Sends the selected channel's audio to the headphone output, selected in Preferences -> Sound Hardware. 将所选通道的音频发送到在偏好设置 -> 声音硬件中选择的耳机输出。 - + (This skin should be updated to use Sync Lock!) 这个皮肤应该更新一下,使用同步锁! - + Enable Sync Lock 启用 Sync Lock - + Tap to sync the tempo to other playing tracks or the sync leader. 点击可将速度同步到其他正在播放的轨道或同步引导。 - + Enable Sync Leader 启用 Sync Leader - + When enabled, this device will serve as the sync leader for all other decks. 启用后,此设备将用作所有其他 Deck 的同步引导。 - + This is relevant when a dynamic tempo track is loaded to a sync leader deck.In that case, other synced devices will adopt the changing tempo. 当动态速度轨道加载到同步引导界面时,这一点很重要。在这种情况下,其他同步装置将采用不断变化的速度。 - + Changes the track playback speed (affects both the tempo and the pitch). If keylock is enabled, only the tempo is affected. 更改跟蹤重播速度 (影響節奏和音高)。如果啟用了鍵盤鎖,只有節奏受到影響。 - + Tempo Range Display 速度范围显示 - + Displays the current range of the tempo slider. 显示速度滑块的当前范围。 - + Un-ejects when no track is loaded, i.e. reloads the track that was ejected last (of any deck). 未加载 track 时取消弹出,即重新加载最后弹出的 track (任何卡座)。 - + Delete selected hotcue. 删除选定的 hotcue。 - + Track Comment 轨道评级 - + Displays the comment tag of the loaded track. 显示加载的轨道的注释标签。 - + Opens separate artwork viewer. 打开单独的图稿查看器。 - + Effect Chain Preset Settings Effect Chain 预设设置 - + Show the effect chain settings menu for this unit. 显示本机的 Effect Chain 设置菜单。 - + Select and configure a hardware device for this input 为此输入选择并配置硬件设备 - + Recording Duration 录制时间 @@ -13672,949 +14103,984 @@ may introduce a 'pumping' effect and/or distortion. 在活动时保持较高的播放速度(少量)。 - + When tapped repeatedly, adjusts the tempo to match the tapped BPM. 若重复点击,将把音轨的 BPM 设为点击动作的 BPM。 + + + Click to open the tempo/BPM editor + + + + + It also shows a colored bar if Key colors are enabled in the Preferences. + + + The bar will be split vertically if the track's key is in between full keys. + + + + Tempo Tap 节奏敲击 - + Rate Tap and BPM Tap Rate Tap 和 BPM Tap - + + Set Tempo + + + + + Set the desired tempo in BPM. If the track currently has no BPM detected, set the desired tempo in percent. + + + + Adjust beatgrid by exactly one half beat. Usable only on tracks with constant tempo. - + Revert last BPM/Beatgrid Change 还原上次 BPM/节拍网格 更改 - + Revert last BPM/Beatgrid Change of the loaded track. 还原上次 BPM/节拍网格 对加载曲目的更改。 - - + + Toggle the BPM/beatgrid lock 切换 BPM/节拍网格 锁 - + Tempo and Rate Tap 速度和 BPM - + Tempo, Rate Tap and BPM Tap 速度、速率拍子和 BPM 拍子 - + Shift cues earlier 提前移动提示 - - + + Shift cues imported from Serato or Rekordbox if they are slightly off time. 从 Serato 或 Rekordbox 导入的 Shift 提示点(如果它们稍微偏离时间)。 - + Left click: shift 10 milliseconds earlier 左键单击:提前 10 毫秒 Shift - + Right click: shift 1 millisecond earlier 右键单击:提前 1 毫秒 Shift - + Shift cues later 稍后切换提示 - + Left click: shift 10 milliseconds later 左键单击:10 毫秒后 shift - + Right click: shift 1 millisecond later 右键单击:1 毫秒后 Shift - - - + + + Drag a Hotcue button here to continue playing after releasing the Hotcue. - + Hint: Change the default cue mode in Preferences -> Decks. - + Mutes the selected channel's audio in the main output. 将主输出中所选声道的音频静音。 - + Main mix enable 主混音启用 - + Hold or short click for latching to mix this input into the main output. 按住或短按锁定以将此输入混合到主输出中。 - + + Reloads the last replaced track. If no track is loaded reloads the second-last ejected track. + + + + If hotcue is a loop cue, toggles the loop and jumps to if the loop is behind the play position. 如果 hotcue 是一个 Loop 提示,则切换 Loop 并跳转到 Loop 是否在播放位置后面。 - + If the play position is inside an active loop, stores the loop as loop cue. 如果播放位置位于活动 Loop 内,则将 Loop 存储为 Loop 提示。 - + Drag this button onto another Hotcue button to move it there (change its index). If the other hotcue is set, the two are swapped. - + Expand/Collapse Samplers 展开/折叠采样器 - + Toggle expanded samplers view. 切换展开的采样器视图。 - + Displays the duration of the running recording. 显示运行录制的持续时间。 - + Auto DJ is active Auto DJ 处于活动状态 - + Red for when needle skip has been detected. 红色表示检测到跳针。 - + Hot Cue - Track will seek to nearest previous hotcue point. 热切 - 将会定位到上一个(最近的)热切入点。 - + Sets the track Loop-In Marker to the current play position. 将当前播放位置设为碟机循环起始位置。 - + Press and hold to move Loop-In Marker. 按住可移动 Loop-In 标记。 - + Jump to Loop-In Marker. 跳转到 Loop-In 标记。 - + Sets the track Loop-Out Marker to the current play position. 将当前播放位置设为碟机循环起始位置。 - + Press and hold to move Loop-Out Marker. 按住可移动 Loop-Out Marker。 - + Jump to Loop-Out Marker. 跳转到 Loop-Out Marker。 - + If the track has no beats the unit is seconds. 如果轨道没有节拍,则单位为秒。 - + Beatloop Size Beatloop 大小 - + Select the size of the loop in beats to set with the Beatloop button. 选择 Loop 的大小(以节拍为单位),以使用 Beatloop 按钮进行设置。 - + Changing this resizes the loop if the loop already matches this size. 如果 loop 已经匹配此大小,则更改此 URL 将调整 Loop 的大小。 - + Halve the size of an existing beatloop, or halve the size of the next beatloop set with the Beatloop button. 将现有 Beatloop 的大小减半,或使用 Beatloop 按钮将下一个 Beatloop 集的大小减半。 - + Double the size of an existing beatloop, or double the size of the next beatloop set with the Beatloop button. 使用 Beatloop 按钮将现有 Beatloop 的大小增加一倍,或将下一个 Beatloop 集的大小增加一倍。 - + Start a loop over the set number of beats. 在设定的节拍数上开始循环。 - + Temporarily enable a rolling loop over the set number of beats. 在设定的节拍数上暂时启用滚动循环。 - + Beatloop Anchor Beatloop 固定点 - + Define whether the loop is created and adjusted from its staring point or ending point. 定义是否从其起始点或终点创建和调整循环。 - + Beatjump/Loop Move Size Beatjump/Loop 移动大小 - + Select the number of beats to jump or move the loop with the Beatjump Forward/Backward buttons. 选择要跳跃的节拍数,或使用 Beatjump Forward/Backward 按钮移动 Loop。 - + Beatjump Forward Beatjump 向前 - + Jump forward by the set number of beats. 向前跳动设定的节拍数。 - + Move the loop forward by the set number of beats. 将 Loop 向前移动设定的节拍数。 - + Jump forward by 1 beat. 向前跳 1 拍 - + Move the loop forward by 1 beat. 将循环向前移动 1 拍 - + Beatjump Backward 向后跳拍 - + Jump backward by the set number of beats. 向后跳过指定数量的节拍。 - + Move the loop backward by the set number of beats. 将循环向后移动指定数量的节拍。 - + Jump backward by 1 beat. 向后跳 1 拍 - + Move the loop backward by 1 beat. 将循环向后移动 1 拍 - + Reloop 再循环 - + If the loop is ahead of the current position, looping will start when the loop is reached. 如果在当前播放位置前方有循环节的话,将会在到达循环的时候开始循环。 - + Works only if Loop-In and Loop-Out Marker are set. 仅当设置了循环起始和结束位置时才会有效。 - + Enable loop, jump to Loop-In Marker, and stop playback. 启用 loop,跳转到 Loop-In Marker,然后停止播放。 - + Displays the elapsed and/or remaining time of the track loaded. 显示加载跟踪的经过和 (或) 剩余时间。 - + Click to toggle between time elapsed/remaining time/both. 单击可切换时间/剩余时间时间或两者。 - + Hint: Change the time format in Preferences -> Decks. 提示:在 Preferences -> Decks 中更改时间格式。 - + Show/hide intro & outro markers and associated buttons. 显示/隐藏介绍和结尾标记以及相关按钮。 - + + Ensure all waveforms to have the same height across all channels. By default, when displaying the stem controls, waveform for channel that have no stem may render with a shorter height in order to honor the waveform container size you have requested.. + + + + Intro Start Marker 介绍开始标记 - - - - + + + + If marker is set, jumps to the marker. 如果设置了 marker,则跳转到 marker。 - - - - + + + + If marker is not set, sets the marker to the current play position. 如果未设置 marker,则将 marker 设置为当前播放位置。 - - - - + + + + If marker is set, clears the marker. 如果设置了 marker,则清除 marker。 - + Intro End Marker 介绍结束标记 - + Outro Start Marker 结尾部分开始标记 - + Outro End Marker 结尾部分结束标记 - + Mix 混合 - + Adjust the mixing of the dry (input) signal with the wet (output) signal of the effect unit 调整效果器单元的干 (input) 信号与湿 (output) 信号的混合 - + D/W mode: Crossfade between dry and wet D/W 模式:干湿交叉淡入淡出 - + D+W mode: Add wet to dry D+W 模式:从湿到干 - + Mix Mode 混合模式 - + Adjust how the dry (input) signal is mixed with the wet (output) signal of the effect unit 调整干 (输入) 信号与效果单元的湿 (输出) 信号的混合方式 - + Dry/Wet mode (crossed lines): Mix knob crossfades between dry and wet Use this to change the sound of the track with EQ and filter effects. 干/湿模式(交叉线):混合旋钮在干湿之间交叉淡化 使用此选项可通过 EQ 和滤波器效果更改轨道的声音。 - + Dry+Wet mode (flat dry line): Mix knob adds wet to dry Use this to change only the effected (wet) signal with EQ and filter effects. 干 + 湿模式(平坦干线):混合旋钮将湿添加到干 使用此选项可仅更改带有 EQ 和滤波器效果的效果(湿)信号。 - + Route the main mix through this effect unit. 通过此效果器单元路由主混音。 - + Route the left crossfader bus through this effect unit. 将左侧的交叉推子总线路由到此效果器单元中。 - + Route the right crossfader bus through this effect unit. 将右侧的 Crossfader 总线路由到此效果器单元中 - + Right side active: parameter moves with right half of Meta Knob turn 右侧激活:参数随着 Meta 旋钮的右半部分转动而移动 - + Stem Label - + Name of the stem stored in the stem file - + Text is displayed in the stem color stored in the stem file - + this stem color is also used for the waveform of this stem - + Stem Mute - + Toggle the stem mute/unmuted - + Stem Volume Knob - + Adjusts the volume of the stem - + Skin Settings Menu Skin Settings 菜单 - + Show/hide skin settings menu 显示/隐藏皮肤设置菜单 - + Save Sampler Bank 保存採樣器銀行 - + Save the collection of samples loaded in the samplers. 保存采样器中加载的样本集合。 - + Load Sampler Bank 加载采样库 - + Load a previously saved collection of samples into the samplers. 将以前保存的样本集合加载到采样器中。 - + Show Effect Parameters 顯示效果器的參數 - + Enable Effect 启用特效 - + Meta Knob Link 元旋钮链接 - + Set how this parameter is linked to the effect's Meta Knob. 设置此参数如何链接到效果的 Meta 旋钮。 - + Meta Knob Link Inversion 元旋钮链接反演 - + Inverts the direction this parameter moves when turning the effect's Meta Knob. 反转此参数时效果的 Meta 旋钮移动的方向。 - + Super Knob 超級旋鈕 - + Next Chain 下一效果器链 - + Previous Chain 上一效果器链 - + Next/Previous Chain 下一個/上一個鏈 - + Clear 清除 - + Clear the current effect. 清除當前的效果。 - + Toggle 切換 - + Toggle the current effect. 切換當前效果。 - + Next 下一個 - + Clear Unit 清除單元 - + Clear effect unit. 單位明確效果。 - + Show/hide parameters for effects in this unit. 显示/隐藏此单元中效果的参数。 - + Toggle Unit 切換單元 - + Enable or disable this whole effect unit. 启用或禁用整个效果单元。 - + Controls the Meta Knob of all effects in this unit together. 同时控制该单元中所有效果的 Meta 旋钮。 - + Load next effect chain preset into this effect unit. 将 next effect chain 预设加载到此效果单元中。 - + Load previous effect chain preset into this effect unit. 将上一个效果链预设加载到此效果单元中。 - + Load next or previous effect chain preset into this effect unit. 将下一个或上一个效果链预设加载到此效果单元中。 - - - - - - - - - + + + + + + + + + Assign Effect Unit 分配效果单元 - + Assign this effect unit to the channel output. 将此效果器单元分配给通道输出。 - + Route the headphone channel through this effect unit. 通过此效果器单元路由耳机通道。 - + Route this deck through the indicated effect unit. 将此 Deck 路由到指定的效果单位。 - + Route this sampler through the indicated effect unit. 将此采样器路由到指示的效果器单元。 - + Route this microphone through the indicated effect unit. 将此麦克风路由到指示的效果器单元。 - + Route this auxiliary input through the indicated effect unit. 通过指示的效果器单元路由此辅助输入 - + The effect unit must also be assigned to a deck or other sound source to hear the effect. 还必须将效果单元分配给 Deck 或其他声源才能听到效果。 - + Switch to the next effect. 切换至下一个效果。 - + Previous 前一個 - + Switch to the previous effect. 切换至之前的效果。 - + Next or Previous 下一个或上一个 - + Switch to either the next or previous effect. 切換到下一個或上一個效果。 - + Meta Knob 元旋钮 - + Controls linked parameters of this effect 这种效应的控制链接的参数 - + Effect Focus Button 影响对焦按钮 - + Focuses this effect. 针对这种效果。 - + Unfocuses this effect. Unfocuses 这种效果。 - + Refer to the web page on the Mixxx wiki for your controller for more information. 您的控制器的详细信息,请参阅 Mixxx wiki 上的 web 页。 - + Effect Parameter 影響參數 - + Adjusts a parameter of the effect. 调整效果器的参数。 - + Inactive: parameter not linked Inactive:参数未链接 - + Active: parameter moves with Meta Knob Active(活动):参数随 Meta 旋钮移动 - + Left side active: parameter moves with left half of Meta Knob turn 左侧激活:参数随着 Meta 旋钮的左半部分转动而移动 - + Left and right side active: parameter moves across range with half of Meta Knob turn and back with the other half 左侧和右侧激活:参数在切换距离时移动,Meta 旋钮的一半转动,另一半转动 - - + + Equalizer Parameter Kill 均衡器参数置零 - - + + Holds the gain of the EQ to zero while active. 情商的增益堅持零的活躍。 - + Quick Effect Super Knob 快捷效果的超级旋钮 - + Quick Effect Super Knob (control linked effect parameters). 快捷效果超级旋钮(控制关联的效果参数)。 - + Hint: Change the default Quick Effect mode in Preferences -> Equalizers. 提示:可以在 首选项 -> 均衡器 设置中更改默认的快捷效果模式。 - + Equalizer Parameter 均衡器参数 - + Adjusts the gain of the EQ filter. 調整 EQ 濾波器的增益。 - + Hint: Change the default EQ mode in Preferences -> Equalizers. 提示︰ 更改預設首選項中的情商模式網站-> 等化器。 - - + + Adjust Beatgrid 调整节拍 - + Adjust beatgrid so the closest beat is aligned with the current play position. 所以最近的節拍與當前播放位置對齊調整 beatgrid。 - - + + Adjust beatgrid to match another playing deck. 调整节拍样式以匹配另一个正在播放的碟机。 - + If quantize is enabled, snaps to the nearest beat. 若启用量化,则对齐到最近的节拍。 - + Quantize 量化 - + Toggles quantization. 切換量化。 - + Loops and cues snap to the nearest beat when quantization is enabled. 若启用量化,循环和切入点将对齐到最近的节拍。 - + Reverse 反向 - + Reverses track playback during regular playback. 反轉跟蹤定期播放期間播放。 - + Puts a track into reverse while being held (Censor). 按下时,将音轨反向。 - + Playback continues where the track would have been if it had not been temporarily reversed. 在继续播放的同时,将音轨反转(若之前尚未反转的话)。 - - - + + + Play/Pause 播放/暫停 - + Jumps to the beginning of the track. 跳轉到的磁軌起點。 - + Syncs the tempo (BPM) and phase to that of the other track, if BPM is detected on both. 同步的節奏 (BPM) 和相位的另一條鐵軌,如果 BPM 檢測到兩個。 - + Syncs the tempo (BPM) to that of the other track, if BPM is detected on both. 如果 BPM 在兩個上檢測到的另一條鐵軌,同步節奏 (BPM)。 - + Sync and Reset Key 同步和重置金鑰 - + Increases the pitch by one semitone. 增加一個半音的球場。 - + Decreases the pitch by one semitone. 減少一個半音的球場。 - + Enable Vinyl Control 启用唱盘控制 - + When disabled, the track is controlled by Mixxx playback controls. 當禁用時,軌道被受 Mixxx 播放控制項。 - + When enabled, the track responds to external vinyl control. 當啟用時,跟蹤回應外部乙烯控制。 - + Enable Passthrough 啟用直通 - + Indicates that the audio buffer is too small to do all audio processing. 指示音訊緩衝區太小,做所有的音訊處理。 - + Displays cover artwork of the loaded track. 显示已加载音轨的封面。 - + Displays options for editing cover artwork. 顯示用於編輯封面插圖選項。 - + Star Rating 星級 - + Assign ratings to individual tracks by clicking the stars. 通過按一下星星將評級分配到單獨曲目。 @@ -14749,33 +15215,33 @@ Use this to change only the effected (wet) signal with EQ and filter effects.麦克风闪避强度 - + Prevents the pitch from changing when the rate changes. 当速率改变时,防止音高也改变。 - + Changes the number of hotcue buttons displayed in the deck 更改 Deck 中显示的 hotcue 按钮的数量 - + Starts playing from the beginning of the track. 開始從軌道開始播放。 - + Jumps to the beginning of the track and stops. 跳轉到的磁軌起點和停止。 - - + + Plays or pauses the track. 播放或暂停音轨。 - + (while playing) (當演奏) @@ -14795,215 +15261,215 @@ Use this to change only the effected (wet) signal with EQ and filter effects.主通道 R 音量表 - + (while stopped) (雖然停止) - + Cue 提示 - + Headphone 耳机 - + Mute 静音 - + Old Synchronize 老同步 - + Syncs to the first deck (in numerical order) that is playing a track and has a BPM. 到第一 (按數值順序) 甲板播放的曲目並具有 BPM 同步。 - + If no deck is playing, syncs to the first deck that has a BPM. 若没有正在播放的碟机,与第一个有 BPM 信息的碟机同步。 - + Decks can't sync to samplers and samplers can only sync to decks. 无法将碟机与采样器同步,采样器仅能与碟机同步。 - + Hold for at least a second to enable sync lock for this deck. 按住一秒钟,可以启用此碟机的同步锁定。 - + Decks with sync locked will all play at the same tempo, and decks that also have quantize enabled will always have their beats lined up. 启用了同步锁定的碟机将会以相同的速度播放;其中启用了量化模式的碟机还会自动同步节拍。 - + Resets the key to the original track key. 重置为音轨的原音调。 - + Speed Control 速度控制 - - - + + + Changes the track pitch independent of the tempo. 保持速度不变的前提下,改变音轨音高。 - + Increases the pitch by 10 cents. 增加 10 美分的球場。 - + Decreases the pitch by 10 cents. 減少 10 美分的球場。 - + Pitch Adjust 调整音高 - + Adjust the pitch in addition to the speed slider pitch. 調整除了速度滑塊球場球場。 - + Opens a menu to clear hotcues or edit their labels and colors. 打开一个菜单以清除 Hotcue 或编辑其标签和颜色。 - + Drag this button onto a Play button while previewing to continue playback after release. - + Dragging with Shift key pressed will not start previewing the hotcue. - + Record Mix 录制混音 - + Toggle mix recording. 切换混音录制。 - + Enable Live Broadcasting 啟用即時廣播 - + Stream your mix over the Internet. 在互聯網上流你的組合。 - + Provides visual feedback for Live Broadcasting status: 为在线广播的状态提供可视化反馈: - + disabled, connecting, connected, failure. 禁用,連接,連接,失敗。 - + When enabled, the deck directly plays the audio arriving on the vinyl input. 若启用,碟机将会直接播放来自唱盘的输入信号。 - + Playback will resume where the track would have been if it had not entered the loop. 播放將恢復在軌道本來如果不進入了迴圈。 - + Loop Exit 循環關閉 - + Turns the current loop off. 关闭当前循环。 - + Slip Mode 滑动模式 - + When active, the playback continues muted in the background during a loop, reverse, scratch etc. 若启用,将会在循环、反向或刮擦的时候将回放信号静音。 - + Once disabled, the audible playback will resume where the track would have been. 一旦禁用,聲音播放將恢復本來的軌道。 - + Track Key The musical key of a track 音轨音调 - + Displays the musical key of the loaded track. 显示已加载音轨的音调。 - + Clock 时钟 - + Displays the current time. 显示当前时间。 - + Audio Latency Usage Meter 音訊延遲用量表 - + Displays the fraction of latency used for audio processing. 显示用于音频处理的延迟分数。 - + A high value indicates that audible glitches are likely. 較高的值表明發聲的故障都有可能。 - + Do not enable keylock, effects or additional decks in this situation. 在这个情况不要启用音调锁,效果器或者额外的碟机。 - + Audio Latency Overload Indicator 音訊延遲超載指示器 @@ -15043,259 +15509,259 @@ Use this to change only the effected (wet) signal with EQ and filter effects.啟動從功能表-選項 > 乙烯控制。 - + Displays the current musical key of the loaded track after pitch shifting. 顯示載入跟蹤當前音樂鍵後變調。 - + Fast Rewind 快退 - + Fast rewind through the track. 音轨快退。 - + Fast Forward 快进 - + Fast forward through the track. 通過跟蹤的快速前進。 - + Jumps to the end of the track. 跳至音轨结束点。 - + Sets the pitch to a key that allows a harmonic transition from the other track. Requires a detected key on both involved decks. 选择音调的音高,以便从其他音轨进行和声转换。需要双方碟机均已检测到音调信息。 - - - + + + Pitch Control 變槳距控制 - + Pitch Rate 音高率 - + Displays the current playback rate of the track. 顯示當前播放率的軌道。 - + Repeat 重复 - + When active the track will repeat if you go past the end or reverse before the start. 活動時軌道將重複如果你走過結束或之前開始扭轉。 - + Eject 彈出 - + Ejects track from the player. 彈出從球員的軌道。 - + Hotcue 热切点(Hotcue) - + If hotcue is set, jumps to the hotcue. 若设置了热切,将会跳至热切点。 - + If hotcue is not set, sets the hotcue to the current play position. 如果未設置 hotcue,將 hotcue 設置為當前的播放位置。 - + Vinyl Control Mode 黑膠盤控制模式 - + Absolute mode - track position equals needle position and speed. 绝对模式 - 音轨位置与播放指针的位置和速度一致。 - + Relative mode - track speed equals needle speed regardless of needle position. 相对模式 - 音轨速度与播放指针速度一致(无论指针处于哪个位置) - + Constant mode - track speed equals last known-steady speed regardless of needle input. 持續模式-跟蹤速度等於針輸入最後一個已知穩定速度。 - + Vinyl Status 乙烯基狀態 - + Provides visual feedback for vinyl control status: 为唱盘控制器的状态提供可视化反馈: - + Green for control enabled. 绿色表示已启用控制。 - + Blinking yellow for when the needle reaches the end of the record. 黄色(闪烁)表示播放指针到达记录结尾。 - + Loop-In Marker 迴圈中的標記 - + Loop-Out Marker 圈出標記 - + Loop Halve 循环减半 - + Halves the current loop's length by moving the end marker. 移动循环结束标记,使得循环长度减半。 - + Deck immediately loops if past the new endpoint. 在到达新的结束位置后,碟机将会立即循环。 - + Loop Double 循環雙倍 - + Doubles the current loop's length by moving the end marker. 移动循环结束标记,使得循环长度加倍。 - + Beatloop 节拍循环 - + Toggles the current loop on or off. 开启或关闭当前循环。 - + Works only if Loop-In and Loop-Out marker are set. 只當回路中的作品和迴圈出標記設置。 - + Vinyl Cueing Mode 唱盘Cueing模式 - + Determines how cue points are treated in vinyl control Relative mode: 確定如何將提示點處理在乙烯基控制相對模式下︰ - + Off - Cue points ignored. 关闭 - 忽略切入点。 - + One Cue - If needle is dropped after the cue point, track will seek to that cue point. 一個提示-如果針下降後提示點,軌道尋求那提示點。 - + Track Time 音轨时间 - + Track Duration 音轨长度 - + Displays the duration of the loaded track. 显示已加载的音轨的长度。 - + Information is loaded from the track's metadata tags. 已从音轨的元数据标签中载入 信息。 - + Track Artist 曲目演出者 - + Displays the artist of the loaded track. 顯示載入跟蹤的演出者。 - + Track Title 曲目標題 - + Displays the title of the loaded track. 顯示載入跟蹤的標題。 - + Track Album 专辑 - + Displays the album name of the loaded track. 顯示載入跟蹤的專輯名稱。 - + Track Artist/Title 音轨艺术家/标题 - + Displays the artist and title of the loaded track. 顯示的演出者和標題載入跟蹤。 @@ -15526,47 +15992,75 @@ This can not be undone! WCueMenuPopup - + Cue number 提示编号 - + Cue position 提示位置 - + Edit cue label Edit cue label(编辑提示标签) - + Label... 标签 - + Delete this cue 删除此提示 - - Toggle this cue type between normal cue and saved loop - 在正常提示点和保存的 Loop 之间切换此提示类型 + + Turn this cue into a regular hotcue + + + + + Turn this cue into a saved loop + + + + + Left-click: Use the old size if known or the current beatloop size as the loop size + + + + + Right-click: Use the current play position as new loop end if it is after the cue + + + + + Turn this cue into a saved forward jump. + + is a linebreak. Try to not to extend the translation beyond the length of the longest source line so the tooltip remains compact. + + + + + Turn this cue into a saved backward jump (one shot loop). + - - Left-click: Use the old size or the current beatloop size as the loop size - 左键单击:使用旧大小或当前 Beatloop 大小作为 Loop 大小 + + Left-click: Use the old size if known or the current play position as jump start position +If this is already a jump cue, swap the jump position and the cue/target position. + - - Right-click: Use the current play position as loop end if it is after the cue - 右键点击:如果当前播放位置在 cue 之后,则将其用作 Loop 结束 + + Right-click: use current play position as new jump start position + - + Hotcue #%1 热提示 #%1 @@ -15868,171 +16362,181 @@ This can not be undone! + Show Auto DJ + + + + + Switch to the Auto DJ view. + + + + &Full Screen 全屏(&F) - + Display Mixxx using the full screen 使用全螢幕的顯示 Mixxx - + &Options 选项(&O) - + &Vinyl Control 與乙烯基控制 - + Use timecoded vinyls on external turntables to control Mixxx 对外部转盘使用时间编码的唱盘控制,以便控制 Mixxx - + Enable Vinyl Control &%1 啟用乙烯控制 & %1 - + &Record Mix 與記錄組合 - + Record your mix to a file 記錄你組合到一個檔 - + Ctrl+R Ctrl+R - + Enable Live &Broadcasting 啟用即時 & 廣播 - + Stream your mixes to a shoutcast or icecast server 将混音通过流输出到 shoutcast 或 icecast 服务器 - + Ctrl+L 按 Ctrl + L - + Enable &Keyboard Shortcuts 启用键快捷键(&K) - + Toggles keyboard shortcuts on or off 键盘快捷键开关 - + Ctrl+` 按 Ctrl +' - + &Preferences 首选项(&P) - + Change Mixxx settings (e.g. playback, MIDI, controls) 改變 Mixxx 的設置 (例如播放 MIDI,控制項) - + &Developer 與開發人員 - + &Reload Skin 重载皮肤(&R) - + Reload the skin 重新載入皮膚 - + Ctrl+Shift+R Ctrl+Shift+R - + Developer &Tools 开发者工具(&T) - + Opens the developer tools dialog 打開開發人員工具對話方塊 - + Ctrl+Shift+T Ctrl + Shift + T - + Stats: &Experiment Bucket 統計: & 實驗鬥 - + Enables experiment mode. Collects stats in the EXPERIMENT tracking bucket. 使實驗模式。收集統計實驗跟蹤存儲桶中。 - + Ctrl+Shift+E Ctrl+Shift+E - + Stats: &Base Bucket 統計: & 基地鬥 - + Enables base mode. Collects stats in the BASE tracking bucket. 启用基础模式。统计数据将会收集到基础跟踪桶中。 - + Ctrl+Shift+B Ctrl+Shift+B - + Deb&ugger Enabled 调试器已启用(&U) - + Enables the debugger during skin parsing 在皮膚分析過程中啟用調試器 - + Ctrl+Shift+D 按 Ctrl + Shift + D - + &Help 與説明 @@ -16066,62 +16570,62 @@ This can not be undone! F12 - + &Community Support 社区帮助(&C) - + Get help with Mixxx 獲得 Mixxx 的説明 - + &User Manual 與使用者手冊 - + Read the Mixxx user manual. 閱讀 Mixxx 使用者手冊。 - + &Keyboard Shortcuts 键盘快捷键(&K) - + Speed up your workflow with keyboard shortcuts. 加快您的工作流使用鍵盤快速鍵。 - + &Settings directory &设置目录 - + Open the Mixxx user settings directory. 打开 Mixxx 用户设置目录。 - + &Translate This Application 翻译这个程序(&T) - + Help translate this application into your language. 幫忙翻譯成您的語言此應用程式。 - + &About 关于(&A) - + About the application 有關應用程式 @@ -16129,25 +16633,25 @@ This can not be undone! WOverview - + Passthrough 直通 - + Ready to play, analyzing... Text on waveform overview when file is playable but no waveform is visible 音轨已就绪,正在分析 .. - - + + Loading track... Text on waveform overview when file is cached from source 正在加载曲目... - + Finalizing... Text on waveform overview during finalizing of waveform analysis 完成处理 ... @@ -16337,631 +16841,646 @@ This can not be undone! WTrackMenu - + Load to 载入到 - + Deck 甲板上 - + Sampler 取樣器 - + Add to Playlist 添加到播放列表 - + Crates 音軌資料夾 - + Metadata 元数据 - + Update external collections 更新外部集合 - + Cover Art 封面 - + Adjust BPM 调节 BPM - + Select Color 选择颜色 - - + + Analyze 分析 - - + + Delete Track Files 删除音轨数据 - + Add to Auto DJ Queue (bottom) 將添加到自動 DJ 佇列 (底部) - + Add to Auto DJ Queue (top) 將添加到自動 DJ 佇列 (頂部) - + Add to Auto DJ Queue (replace) 加入自動 DJ 柱列 (取代) - + Preview Deck 预览碟机 - + Remove 移除 - + Remove from Playlist 从播放列表中删除 - + Remove from Crate 从播放列表中删除 - + Hide from Library 隱藏從庫 - + Unhide from Library 從圖書館取消隱藏 - + Purge from Library 从媒体库中清除 - + Move Track File(s) to Trash 将轨道文件移至废纸篓 - + Delete Files from Disk 从磁盘中删除文件 - + Properties 属性 - + Open in File Browser 在文件管理器中打开 - + Select in Library 在库中选择 - + Import From File Tags 从文件标签导入 - + Import From MusicBrainz 从 MusicBrainz 导入 - + Export To File Tags 导出文件属性 - + BPM and Beatgrid 拍速和拍格 - + Play Count 播放计数 - + Rating 评分 - + Cue Point 播放點 - - + + Hotcues 即时切点 - + Intro v - + Outro 结尾 - + Key 關鍵 - + ReplayGain 播放音量增益 - + Waveform 波形 - + Comment 备注 - + All 全部 - + Sort hotcues by position (remove offsets) - + Sort hotcues by position - + Lock BPM BPM 鎖 - + Unlock BPM 拍速解锁 - + Double BPM 拍速倍增 - + Halve BPM 減半 BPM - + 2/3 BPM 2/3 BPM - + 3/4 BPM 3/4 BPM - + 4/3 BPM 4/3 BPM - + 3/2 BPM 3/2 BPM - + Shift Beatgrid Half Beat - + Reanalyze 重新分析 - + Reanalyze (constant BPM) 重新分析(恒定 BPM) - + Reanalyze (variable BPM) 重新分析(变量 BPM) - + Update ReplayGain from Deck Gain 更新Deck Gain的ReplayGain - + Deck %1 甲板 %1 - + Importing metadata of %n track(s) from file tags 从文件标签导入 %n 个轨道的元数据 - + Marking metadata of %n track(s) to be exported into file tags 标记要导出到文件标签的 %n 个轨道的数据 - - + + Create New Playlist 建立新的播放清單 - + Enter name for new playlist: 輸入新播放清單名稱︰ - + New Playlist 新的播放清單 - - - + + + Playlist Creation Failed 播放清單創建失敗 - + A playlist by that name already exists. 使用该名称的播放列表已存在。 - + A playlist cannot have a blank name. 播放清單名稱不能為空白。 - + An unknown error occurred while creating playlist: 建立播放清單時發生未知的錯誤︰ - + Add to New Crate 添加至分类列表 - + Scaling BPM of %n track(s) 缩放 %n 个磁道的 BPM - + Undo BPM/beats change of %n track(s) 撤消 BPM/节拍 %n 个轨道的更改 - + Locking BPM of %n track(s) 锁定 %n 个磁道的 BPM - + Unlocking BPM of %n track(s) 解锁 %n 个磁道的 BPM - + Setting rating of %n track(s) 清除 %n 条轨道的评级 - + Setting color of %n track(s) 设置 %n 个轨道的颜色 - + Resetting play count of %n track(s) 重置 %n 个轨道的播放计数 - + Resetting beats of %n track(s) 重置 %n 个轨道的节拍 - + Clearing rating of %n track(s) 清除 %n 条磁道的评级 - + Clearing comment of %n track(s) 正在清除 %n 个轨道的注释 - + Removing main cue from %n track(s) 从 %n 个轨道中删除主提示点 - + Removing outro cue from %n track(s) 从 %n 个轨道中删除结尾提示 - + Removing intro cue from %n track(s) 从 %n 个轨道中删除前奏提示 - + Removing loop cues from %n track(s) 从 %n 个轨道中删除 Loop 提示点 - + Removing hot cues from %n track(s) 从 %n 个轨道中删除热提示 - + Sorting hotcues of %n track(s) by position (remove offsets) - + Sorting hotcues of %n track(s) by position - + Resetting keys of %n track(s) 重置 %n 个轨道的键 - + Resetting replay gain of %n track(s) 重置 %n 个轨道的重放增益 - + Resetting waveform of %n track(s) 重置 %n 个轨道的波形 - + Resetting all performance metadata of %n track(s) 重置 %n 个轨道的所有性能数据 - + Move these files to the trash bin? 将这些文件移动到垃圾箱? - + Permanently delete these files from disk? 从磁盘中永久删除这些文件? - - + + This can not be undone! 此操作无法撤消! - + Cancel 取消 - + Delete Files 删除文件 - + Okay - + Move Track File(s) to Trash? 要把轨道文件移到垃圾桶吗? - + Track Files Deleted 文件已删除 - + Track Files Moved To Trash 已移动到垃圾桶的文件 - + %1 track files were moved to trash and purged from the Mixxx database. %1 轨道文件被移至废纸篓并从 Mixxx 数据库中清除。 - + %1 track files were deleted from disk and purged from the Mixxx database. %1 轨道文件已从磁盘中删除,并从 Mixxx 数据库中清除。 - + Track File Deleted 文件已删除 - + Track file was deleted from disk and purged from the Mixxx database. 跟踪文件已从磁盘中删除,并从 Mixxx 数据库中清除。 - + The following %1 file(s) could not be deleted from disk 无法从磁盘中删除以下 %1 文件 - + This track file could not be deleted from disk 无法从磁盘中删除此跟踪文件 - + Remaining Track File(s) 剩余轨道文件 - + Close 關閉 - + Clear Reset metadata in right click track context menu in library 清除 - + Loops 循环 - + Clear BPM and Beatgrid 清除 BPM 和节拍样式 - + Undo last BPM/beats change 撤消上次 BPM/节拍更改 - + Move this track file to the trash bin? 把这个轨道文件移到垃圾桶吗? - + Permanently delete this track file from disk? 永久删除这个轨道文件吗? - + All decks where these tracks are loaded will be stopped and the tracks will be ejected. 加载这些轨道的所有卡盘都将停止,轨道将被弹出。 - + All decks where this track is loaded will be stopped and the track will be ejected. 加载此轨道的所有卡盘都将停止,轨道将被弹出。 - + Removing %n track file(s) from disk... 正在从磁盘中删除 %n 个磁道文件... - + Note: if you are in the Computer or Recording view you need to click the current view again to see changes. 注意:如果您位于 Computer 或 Recording 视图中,则需要再次单击当前视图才能看到更改。 - + Track File Moved To Trash 文件已移至垃圾桶 - + Track file was moved to trash and purged from the Mixxx database. 跟踪文件已移至回收站并从 Mixxx 数据库中清除。 - + Don't show again during this session - + The following %1 file(s) could not be moved to trash 以下 %1 文件无法移至回收站 - + This track file could not be moved to trash 无法将此跟踪文件移至回收站 + + + Replace current Auto DJ queue? + + + + + Do you want to replace the entire Auto DJ queue with the selected tracks? + + + + + Don't ask again during this session + + - + Setting cover art of %n track(s) 设置 %n 个轨道的封面艺术 - + Reloading cover art of %n track(s) 重新加载 %n 个轨道的封面艺术 @@ -17015,37 +17534,37 @@ This can not be undone! WTrackTableView - + Confirm track hide 确认轨道隐藏 - + Are you sure you want to hide the selected tracks? 您确定要隐藏选定的轨道吗? - + Are you sure you want to remove the selected tracks from AutoDJ queue? 您确定要从 AutoDJ 队列中删除选定的曲目吗? - + Are you sure you want to remove the selected tracks from this crate? 您确定要隐藏选定的轨道吗? - + Are you sure you want to remove the selected tracks from this playlist? 您确定要从此播放列表中删除选定的曲目吗? - + Don't ask again during this session 在此会话期间不要再次询问 - + Confirm track removal 确认轨道移除 @@ -17053,12 +17572,12 @@ This can not be undone! WTrackTableViewHeader - + Show or hide columns. 显示或隐藏列。 - + Shuffle Tracks @@ -17066,52 +17585,52 @@ This can not be undone! mixxx::CoreServices - + fonts 字体 - + database 数据库 - + effects 效果 - + audio interface 音频接口 - + decks 甲板 - + library 媒体库 - + Choose music library directory 選擇音樂庫目錄 - + controllers 控制器 - + Cannot open database 無法打開資料庫 - + Unable to establish a database connection. Mixxx requires QT with SQLite support. Please read the Qt SQL driver documentation for information on how to build it. @@ -17269,6 +17788,24 @@ Mixxx 需要 qt 離散度與 SQLite 支援。請閱讀有關如何構建它的 网络请求尚未启动 + + mixxx::qml::QmlApplication + + + Existing user profile detected + + + + + Trying to run Mixxx 3.0 with an existing %0 user profile! <br><br>There is <b>serious risks</b> of data loss and corruption.<br>We recommend using a test profile folder with the '--settings-path' argument. <br><br>If you want to continue at your own risk, run Mixxx with the argument '--allow-dangerous-data-corruption-risk'. + + + + + Ok + + + mixxx::qml::QmlVisibleEffectsModel @@ -17277,4 +17814,27 @@ Mixxx 需要 qt 離散度與 SQLite 支援。請閱讀有關如何構建它的 未加载效果器。 + + mixxx::qml::QmlWaveformRendererMark + + + Cannot find the marker pixmap + + + + + Cannot find the marker endPixmap + + + + + Cannot find the marker icon + + + + + Cannot find the marker endIcon + + + \ No newline at end of file diff --git a/res/translations/mixxx_zh_TW.qm b/res/translations/mixxx_zh_TW.qm index a7c22a302364de197c5ec5ff23eebef3e9992164..197f1b9996d10832e3554a91b1a4b4788eb6ce93 100644 GIT binary patch delta 25619 zcmXV&cR)_xAICrEoV%Y}_9jBMtZXtvMzU38Wo46156MpUCNo?1CR9eGjO=7&WJT7O zkl(xK`Tg~}&+U2cJ@<1y=QGc3_42$ai}NliVeM0ah{_P<{tLPgE7jJ{fG>7t%>t_v zd$$0rLDW#UkvsMWYZ5i;2)Yq9?grK)a<2t8BNjFYY)))ZVXy^w5^PCqu_NdK=3KWG zS=o{wIA~35={m3z@$-#{_)OyYzY&R6xB&(SvP+{u+_Z5;a3HZhMZgufp-Lo;#SIsN z7oF2d&};6^L4@Y6WhiV1VwxI4B5t$s`3g~ONWlLyI0urs4$0$t zeQ?1>ImFa8!ay#UgQU9ov`_>(Z@?xs3IS0;X?I%2U+sK{g*|`XF zj=zg9)xoh4?KW^bv34Wv+;oemO%AO-CI(5` z_;0U`{0J1T%RCag41ObiY%!RP&z*_7YWNIMgJK*c))iv?CJ}YJOsv;I8~JG{X?N(- zuTC~{&l^NNV~NMsC-Oaq>sap)`SryYf{A90B9<3FPL3oB>q?wu5OY~ee8f2X{SEO{ zC{yjnB+5aXzj~2qj@8kyCWt{cTu!287IYyuiPo6=OU+2k&EbC}jW>upAGWjlbdvV2 zC%zt^L1E3#g@ah49%D#4aG7|-43ds}5VPzCQ;BbKC+XBD;@eh|bOi(Z?MG6QM0|)F zNjLGmVZkKbhqwpJHVO}eq?9Veu2m-~Jrq;gilh(K@%Fy+UtoN#@hLIk&Qg)qMbh?Nv@ks{Ae7>4TB-l zN+h@Hh`DZP=j#z9x2a83^oO1G3)#q<_spRcKbS~zdpz0dW;TlPeLyU=HI;1?OEN=Lj?T z3m_`NBY=g758gNwbkP#QkudH-{vxI1u_z zl7EK~6)I+Dx!gAL5_|1*Jz!_;eKv}3oRl3{dY>MXlA|LXW|3Ms8B8NJ5KDG&Em9{X z6AfQN>Uw{oe}_oLgYa=GX-}PqKev*lU00$!56EgeaQ3#H;00AXOQqUbJ(rCl^DtSG zgGe~HrCg&kVG{~b?rFE-l+r2BhZy2ZJSp$?=@4}j%6AloO07=?)OsZ4>q7-cc@pav zMulq6Cw?)73ax~)&z?g?J)kR_cU!6C_Wy_v=tiYB_9x!`7?sIvL+s=aab zcGRVEMLDv{59tqRP-QUcfrZeo(R)RmL2POP{H7(iIZ-&QO(FKE$?kp(-t3!9%~I zs_`|6oed$^?hy6C!Q|SrHQ0n)*9{<=*^;WA9!X;FG^$=0uJ+!r0+cTkQ&38wllqDYLIMh&JxTi3jz1_=Q$!CP$<>TGI| zE{LWKp~mr{c%s(S+HDK*MF*($sud)a??-JaV%g@|X{U2(8`*8Ejl4jLou!W2S?!sP zR^H0ApJ-jf&NiKF6q(b=bI>m0OJ`Es${|D@*Vrh^d)xW@Hnpt{1GDc62uoIBE48h& zl9;iDk~Yf=Y}?>|3J9f~`WkOHa0rP**&S7Jt4Tn>Ox;n-XEz)h|<}2z7iLlx=sq3r-#5$I?bM{s0HdMy>)ztkuZmf7v z_w<#-&t_7Ot9OYNZ)j)9I@Gf`TzRtr)HC!hEZ;Qhx!@m`-zn;OE}D4EBIcR@nMHj!`K zC=yXc$V?ZgkPqF%EQ;WT(kz3?}B(uaCi zxJ|sy3+nwGx)D~9djEzFr8!cc=DUfvu>PffU$aSc=}H4?<4JqorUCr}hyw1=K)*{w z85d|^j;YOknFih%N&LSjG`Jc>_q6~8LMbIDl|~Fa0uG}QOD~d0>qH}GM-ZFXn?_!2 zOst%s(Yu}@Xpw1RH|Rq588qoH43Aecn!NB2{Qv2NG&JJO7+xZwF^G&2)H$5BTL>3}IK(w0I3Ft^i&(Ci|! zh}}16_N4m6H^{Wm?+7g4b6Pm5DDe;ZXwiF#h zt6*y9Pq6brZ9CIy(7M(ZqL`|*ek`Jb9p{ zTQMd5BWTZ)!;nlR+M5EAAMHs|@m|F8pQ8i)hYC8S{D0~53 ztmaOvutst9gNQeDqANY>Vf`MYD--JxtM!qtWMJ85{h+JUz7Y+XLh)VK63xh<__3Jd z(u*j56>f0en-Y-autPg3VMiSCMu+LvOf1v-jVRd(k{;ks$<||;BoaE({k0E?y@;a+ zrK5?`4%_+RA3cc201Ex32Z>z~poUV46O?g8K6;W1k?;65^lS{`KO>BuPjf|@_ma{E z!oRORNolvC6H*s?(@+raIF`}}V*v5Vls?IYnEN4m-x;~ax*}wKKLw(Gl|k>%<|95y zp%1n>&7#aBFfbyLzKroB_FoWv3xZku@sYkSgVXsJPT$iKh^;71|Fv*O9G^s4MYcg{ zyV9SW0S?U~1GwUTKgoJr6;rmu4%an6%jjv?mXc-}@aRb!6N z97#;-!wPhZCFZ+`6+946EJ(1zh1QWo$5@f7<4AlBW<}>^AR4yLWF=N(`K_$VoO(jJ znr1NPZ54@nd$KY~xItMrR(5?b@izrnxzqT;r0%SI@n{mJ%qo4wD(RPM=ddrV^2G-v zK8|M9dR!#(j%U>-f*t>{>RKXJlMAcy77^6((X7_{JH*P|Wpy5eBL92f!Rpq;I^Q#_p`o7IzZkLs{Sci6rH(&id|k z!dyOK{hlJ9yL68AuNF?iw-M_fevK$|I2#btg;-J(HgGl0Z{5O%wEhZTQ<@Fg3`yi~ z$%f7kLH_sk5*zv`oOr#OEN}?YsT(RAAz@h+YG)%WzlM!)!IO`l$wtgZHhXmq8*_~j z-*Jis{qZN3euYi0c!$K(Hf-{2f8u=$u&JBhqE@iOPVJ?gO-9%#ej03AIm8mQ1=l2A|w@D#^#m+d3iSPP#Tie zbQXTzo#<*aws>WEC|gaoWYRAZ*Q&Cm#x)YvO}6wirf`lATU9JSd`A(s;Xij`!JKU# z(T61Gdu)rfz)L)lC)=_cqM2WgZCeVFmYvD=wM!+=JlVc(xIpi8wr|K#qWDQ{-$)pm zt4VC%@+1TruUJ$US2&+r?C_-R$e5P1BQK|tunc6!$~Yn+oyJa7)`(KBfWh#F`Pd08 zciwh7JK5$PG4E5%8r?90SgE5dx^*hC^IE>|su()2bnR6j6ZKgf}dOoQRJv#ZoH5 zevAlXPa61;WI4`K4|C#I3$U~^(78_5B=#~tM5pFu>Gui{-BsD!AOsF?ob1e~!9G{- zhGelU`@BAaMD#HB27AO|bpzUhu*np{yfQdC|og#BTn_OYViF-cI19@+Ko6 zc)*?ahmg1*z{^ArBvP*NGBLRE=UDFI(~KynJui14oUCHH#><_`Iq`*8?$DVS9k4Up z;FXgQC>*`StC;XwpMAM&)=R9Gem083UcA~RIIRJ_c=a=|gmWhInl(ET|5BLOdgDek zum`Vw0Rx`ffY%w6pM;u=*J}oeW!2;EVICwR)46*>0Q`TE5Z=rSHz-}1w|F`WHhLUy zc^-3Z{NNsWwjt%p;;pLV@BP~IHX(OOq`UKW-6DxX9@{7aV|crVn1ZB5yhAtwlbPSS zccpM*%-=>{`YZRIufq_<@J{oW6IE=@JFmj`GHdc~fmT86m;pNVTGWK?Yi*M{qI1c&U}is#s>t0fBE#|_lPx_ z%B{8Vg^Md~6uUd}nN1KR_73N>K7D}?D8)lLE>!*n4~@ax-b&@6Nh6T?l;X3qF}LX* z_`KTwBs!1f^ZddQj_0w{rLB#U`IImC;6zlRH4m$VIzi7y+`7~;i+IJ++(x$oe8oxB zfD7-mQ6$#k>uNBf*W38IR#3Wo9(>cxd_*@I^UeGBVEtzD&Dr^g&05H}uh~OV=^{LG z7?Rg`H@>4l3xwn6_)Zr{XhRI&xhf7xYf-*yB7#!AxSa)xTkQuACguQ1?J_4A3sEqYO|ehkMbj* z;)$*7#!uu7Wb$EtVhmQtw;TLqD`&XnEBs_UoLV(&5IB~%h#`6Fo zpDcdn)MfbdeEeKV%t}d;Ru`g)E%>zyp?GhLc0a{VjeqdPU8vR50h|O%Wo`zw%5wTZ%r;kEYOMHN`bfBlFpMu+%bSF z{Go@AJmNEdI4F!nvsC^l$F#3G%OCZOAkn~+r*?xxYQ^!?fV`;x9&5zY8o+?ep21&M zMSRF#E+OUm63BnOav^@F9?zPbO=9IQp0yQ*$74Fr+Es*jyZk&mst560#|3o=C8^v5 z!Ft6K=hcLmj{z8?gk*bwa3S9uPwdo5p+<}(5vmIH<_i*siwPq!hQzQ6!nkjR_IB(p zjITKt%n)XnOmt_kFt0($I<*oGiBWj+1;Q~Rn8dbeA{S*KPxvcx6+?AP^bon8K*^5e z6L}-NuQLYvS>SPra14j}&_(W8) zzJYR$cqJ-dlHd$}iYgxPen+YZ*ZL^A9QF{^b4usyy+zHUP@XQ|gxjttDCsa!zxo3V z&=mD+BDR|sEb0%0kGT6;H2C`nK4Ot*9Oy{mnX72x(itW@w`h_IN%));%`#4)X52`$ zVE)8IYY1x#7EFA$hiKUz+O1p`EjJ#;jW-C7r*IlamWj4wkTBetBihc}go48e(KZYN zIr2cXy|;|$=riFJ*AeHFgjbFMdh07Xc3)1c{S`Yq7Z=@DdJ@fz6W#NK6R+`5bVt*H zR__u$2LD6lf!vsFgA?knSHrP&xe^12KciE^~owiZr`6S|f zS`zcjC9eH#ippj=k#HE2dizx*E=54GtdvMnp~ZW4h?^x557hiCZeDLreDP0l`@sdo zl551B^jM-Diby^dOv0t0xH}C_>}ZI%niW-) zNqV~sSh{tRKJPiQTQ|uV9|1dXM6#3+sEqWJOjO0h*aK3YzX)_X<&&)WhC2~GP^Elt zA(}BUQlSciA@U5V=$1<)O74`3)#!o}jVcvegqW`XURdjBVh;aFC2K$zs+5*WK8b>V zZy`A&6%)4)w0t>iZqhR3y*)H^enSewg||Hog%ijJ2CwFpOu7AXx1hHsgjUmCRUJNk#R zG~_@wv0SgD;S-k-Eng~)too27E9H?!8?HpV>Plk>T7K2AQAACX#%jNb4Zb4 z{^*GOv-7c4npOyj$kF1GwfH>b|KI*dA@#Sz-5!@h9bw__w~^*7nFY(VRhoZrJL>lZ z?Q~vfBQMy@PUk{)R&Qr#D|b6v_qVgn92-UEe^S_i{={zYm%@20dOkkVl2vCAA#Igb zxFjO}_h~4tY=KtFId^H*hA0x-CrYc%^hVL?zO=ggE8@czN^3mN64U3}$h*C^QT*O* zqg3jVw00zXL8) zb(W*_(o@>C00xHDvGdhq8~K+w8^zxsY1cPs`F0m+&$o%hV_!*o!&8W_oeVxF@$i(i z*Bbr;2cK~wjl`q!;7iaSd=0Jy5&u6*koGPn{BS=A@Ag;)1a2qCa~|$Kx`Ht>_}1GzVj98(5{&`%@9YT(nW7J(bQF2tew+ zl+LY1vH3t5>D-YD*i7OpU6|zsH=HHK^@u<*`K=T;*@Ydh>lb3s!f!7n<@AO_tuJi{lJjQiW&;?I z?GL5f%f}M`^-Q|k3pcEEUAo&F%O_-`bZ-V44juB_Idh?OZ+R$m;j{Dr+j97hfgnP+ z9gC&M(_axA9w$9H;zgoBko5fNOGL+gr8Hv=@mQs#?r;-pDmYT^MNoR_}5!PIy@kiM#5+wRi$kRTF2|4Kjh97F!^y-WJ9O(Kbg zbEKaOOW?+1>}NIc}E zY$;s@g~Ther9G7CT8(9RqMnUnU3Ixw zPPMCYl3b$1SY%R@T2a=Bo{f@g}z zRg&7EDt=h5-Yx_&oQGWVAUYjA66IRk^CKKDBG-08gjA=ZTzicR2HrugeaIOp*jl;H ziY*92y=`RCJ8Trg-pTcfUw|7=m+SdWBYw(NMW@ zKsV%o0kXTVBf@A$*?pxGLZ;$!le%!HbLPlR0&s&cCmY4M@^X{C7{I^#a#J~(sDLgv z?Yxp`Y^vP!>{?ml+?VjO>MH1!qood5mf0a8>D7yRTW`|gFE>GoajwNxVBc#2i- z-Pa9UDE7&HJ@%pP{zmTGx;;{`NE^9BmYvUf*(gr!m-`;U1w|>j@4H7ZD26=9=B#eW zgCb#I9%bA4WScw)5e~&|lZOg8wVvDL!12(nQ%>@*obbG6J9)Sh;ti{HkUZQq=b(~2 zd91@6vl3pXC;gz5$7k*EqWLJzi3{0 z?s8Y+Rp!g{+Vv*-vrnFPur+S*)J92bB`;hPOg#Ou9EPqp8&FdYtKJSxr518noxUhe zJ(t6p&cXVwDu=bYM3gJm&iDV>$h?c&d1#`IlKxB%%h`^T>${Cs`cT?-z~*?!VZ%Z( zfMgrR977H}izoWrO%6-IDoA`_Badq*hrL1&`6*Ujd++=HdvE1+{aO@}>?*u@0P-H@Aj+ zY)kU?oShHXF3OR2>l5ogQQk8hd3)judCx)^nqn2@Jy*{YtCC@7`Z^nVk|ys-DnjhA zm%Micw7Ym=IV#8IC;gS9S{_9-?J6H#bA{M~o$|3%7o={U@-Zt8#Gy0t@zVc@wSF%j ze>@bO&Ykk{ulU0KMET?tB%ggI+xhjHd~$gr?8PWK`emFq*YjeJ6aY|S~r{~I7*{t`{1m?U4T zT8u;)4>=*HSEEgq6Mfx?m(FXW_?;yu6|IP7RhE3S-CBg(o#mTXkPBYOx=^Dz0v zAl&FuejCM}8*-Y;u@5j+et9GsDOsHSDj#&Ee+BtX5sAp$A-{21fqLO`ugaSBnfzw0 z6NwsS<#bCvxcurMk!+JTf_i= z=PP12%wxZziX4a0#y3D zE2R++{H0WPHi(x!uGH`iC%*8JQj6}QWBpU98(JR<)<9|0!wH*=45e|e^2Co1SKQZZ zMOn74(xhB2v~7ATEiOVYO0TxFMt;Sk7UsQ6XQkDOWyFWODy>KKC(7q#XXzYT`{M_3 zwiCQYD;vd^K}zdHe6jc=rER$wqPoYGw&Ab|OX8LGwN*4FYANmaI-=#~XQP-DR}OikH)NG$CdyU8|;|@N`n?R>u{^iM2|P5(w=-RaScZm`HT~w&MHR5p|+|il3Dg zARZ8?_$^zGZpcNY*PErp^L$nOr(o$7OHlj|zbBeeLFsbe2UIW3z^1{mSi#a!Hu8c@Jg`(mM zWz2(v*!#0bnb5u&q8~+>Xme!6l!;%Vv|oIc$qTWe^%7U6DuU>76J@G~Bq#Z~GHvlG z5`VTR))IfP3LLG9bs>j{Gn5&>`(sbvdu8UjJ4B18DYG8#f|iHaC}urS=1zm1f4oeY zHw0GjTZ%F-1mDjyN?GvS9etq?WuXj7wH~J|yzWIjB2fv;M4I*Vsj{d+3)q5&%HqW> zQ0AR$=j*A;@;y-YqSn01in*yI=KNAtni(hx3{Y0K#*`Fpq^!w{x$FK?S@W?rNyR*r zwZ>$4L`jLr*?v*yv$Dx86e7Q@Z1RJ0)xE52?ePv(P}4^4zf;+I%pak8E@h|pDnvtH zlwC!$N$i=S>?#Y!R8e-N`5^Wvxzm17ZHKa_B6Q%+Z)NXMFA@cllzs7$B(y`y{-VhH z7H?AaLn7j?hjMTLO7A68l*6@MNvwLT98tZHp2aFh-n>HpxPWqMxFd-|i@>#rHv( zeP{qWRzAx6vl!W~lgj%z`26CvWfEaRt*G@G^CnpHVa0e zYN#fX7IxF3I@H4xkN&1Qx}(&V=Rei)C~}Bu2h`l3o}w<~qvqxQurvSEBEv9+6I|5d zE0GyneyG-*1M$yWExrm~Ev}?m{4Vmj#D{7L_be2W7O74F(dg|(tEIA|iHzZPzVf$` zfBm7Bo;3r-%ED^dceufdP}P=ZHBPXRmkPE~{5Ypp%>4>Y$#!bRM;D29PqC3-PO_?% za<)&uc&=8SgWU|p($uOxw@KW7q*l8#5F?yw=bKwIJ{`SQ)-KX zaKGoQ|I}8?9f{worh0D5MuR9=?dW>}ecHk{3a5Ljw}Nf+c`vA)OF$Ckeyg3Ws0CCG zRJ#tFOzcN#wd)-``N$7yw=0*3=FSB1q;t-xJqp6+|9!6Z+y)&h`&9M$`4aoh@2UQ% z3yWR5)xOIS_*#>E)PA)w$NR(7ep8Q-xUxd+_Y2WUoUHc0J&eRcO&w4fwmqP+Iv}U4 znjWeKq;(;7a)~-<&|%^&v(!P)<4LUBu8u(?O4J&!PMzg}W#_L>9}B+Y}5LsE_xY_9d-rO#S`iiyWCY>{9hb$fZSu%Wfy-DfAU9NkyeR>>8s}C1oW`B zx~A-1qQv&IH?Q8$c$Phh{*jg>r61!<>lcI`*(;e2(= zaSZI@4t2}LD5Ao-)U8z?!FLo=w?mnE?kqJj2?GgUukP4x#f2L_S9c!BAkngly6Xbg zd$k+t?n$ZGtM^Xb*UJh{Qln@#ct|}^um({rAN9c0e^@Qw)q~cz$Z$)mIWax=+NK^q z`yK6-p*D(EAJkK!uplNJ!ZeHF^IwqNVjTW7HI4+a_xc4WO(uM{15^5uzPV((;`DLSk*KR=~eA zu}W5Nt-z`%>_~m66|9kgS8trPLP#jZjXGN4d&pp&J7~p9^(FSGnN}jxpTzKXTB%)c zP}$P7Qir^t?QWXOj_qj2G}Ovfam4Q*Yvrm!hYHQs%FRb_!Lhtn?me8^l9^h0cPQP8 zG_At;qC}rMXjSe*iLDaXs@8)jbKlgezC!({!h5aSCQL!{IIa3#?CmdiMyviAPgZ=F zR-+4iK>0+i=8JBK_d95{t~qm)!N`3 z2`y@%4Q*JF_|EUzh(7SHvpuvCdm))BU$v1{-=c<4OdH)8dw{6;I&G}*C(&V9F|+Mk2aCr!D=|DP2PgS)0cYMv>2FTk2G!COL)!W+qCJvc;fkw zwHbfFJNdPlA+9LrI%**!@Vn#bT1d`T{P0>fijs;J5_KB`o1)FKZfH)_V6HY>ae+2p z*Jek+fbeD7>{AU8?>ErqW?n>L%3qszXe8dm9HT8Tq7j51(iSAaqPaY=vt|ozAzJWk z?nx~?r-a{nyS8{H24;9@OD73TL04^AbOxg2>)NtM?!@xe)0X`#L#*a2&APJVF=V?R zw3TD<#g8ks)msJ-YrIEWi&v=F^Bvl{1-M|5@7nsh%dz{prMA8aEZ79Dt-sI@y}pjx zdfSbEX%USdLX!Sk#BDDU=VxeJKEkdnYpiW`Lqz4*ON)$6Bvx;nwqq0q61G#@aX*#V z_DHL?<7+T%{8DXaIKu1_x3pbBZ&7qyr0vdbig?~Z+mi;jS$lxCZvx6EF|OMFrj;-S zYqkBS-H6KU)}pQm;%^^o2XzC1h?jQo;78O3M{9>IczcrH){b2si7j|>+OaoSWzD>_ zlht9elecK6uH`(SwV!tCMQ7rNOzqVBt;7%B(oUDpCXuh0cKYvH5?{7x(S>42tclUi z=f$gae{?P8S`LPq0g6(YWZs$*C zBR4*3*WF^V{%bAQt`Bl2zNn6N{Z4P<&lcGz6yB07CYd!7e#Q{k+Z(GSb(r>mB61asDHs`ja1 z8iL26+LtlAiFaD9eWPr=qT{T6`@9}ID>RBw`NhQqIUr z4AiCfcmpy|6vuy-;%mjV*@g#ZF?%`fk>XA9N(De?c!XVkGgIUv;N} z2Z*&jrk8p@5;ojPFH-;m3ml`D$^47NWR8v8WtWZOUkSZz2qfBPi(YowK=gn1>*ar~ zCGM^06`GbM>J*|^^ejWHbD&<)iUV$$tyj5ZlIXQtuRd-HcDUElYof+m^!j7A5!+EhuYWX@#N{5kdz&U`P<7PZH#m`KAE`HC*(54` z(VHPp5P90`%?{!7uN8WW;I9Z=&g!khPhp?wOx@~<0Z1j*=xxVi?$?g7QB0Vlw@tyw zKW)=H49gXNryOQYtTkn_$qIYVocdX!#{ovPi?{094a z793bs?{O&=$!MzXV}bpc{Y&>r9EYyTINjGoKyy8}Rrl?hNMd6>-GBZaqHopozNPBJ z!lmo|uHeS!hUopz_C+!}Ods(671}2QY!qYa>Vy4o;i4n-!2=l4ztZ~P3BTZkGV~#7 zuyFHt+Q>b|=z;Ae6dki{6ldb}z?txtao+l{HE2#Yvlh~a>%k-znfmbIJMrS!4m-=X zv5}V>WoONoHj1x#^x+R6fs>{5kr%T`xLwr8b_MH}(Z^NUK*Fz)K5lddiGv69abpmC zF2Ae?)xiEyX3>LgW0|KW>XSdChV(m3pYrkn>VLgrbSrkO^A`JbYmP~5FjSwp%7Qtr zZ=)EJTc4HShzhxfKI;x@|F75Rp<|b!9x&cUDOV$X?lZ)GX?OH_ju=SSVfum-$ePQ) zw6j(VePM@UxZXn>#gdYGSkN6}o@exMc_{q<^2Yj-t-pv`)YF&5RV2wQrLU`qn$D5d z`i6X4;f9y$8+*WZQ@Xx+40bO>HqEk1hR;{6C%a;~!5W+4Ry+JQ;~X zLuvhVKpN5C`ugcXFp*VP+L_f^zgQ-N*v=VxjOSdGUIX;lfVGI}7VB}>4x!}QPLF#N zj;VRCU#{aSKuq)t&y^@J36 z5_LN0N#${Yme=*0g*}i^OxACW3Wo%I^jl*NU|F@$?+$K(pz_M{Ce56zO_KD7*DIo% zI#7Qa4&CgxUVpLwE5=txe;JReTa%jlt5MsqO)OG>wP+BDfcAQNSG;oY$lcDz=k@f_ zE=2R^>giLjBYQuuzugptv>-}F zR3AQ+#NH-`TYLbV-#4Rn&t(vOXB)-n#m10#_&lzwG34ie zC^;{+Gu_E*41J7Ej#YLW!*2<^+~{eHs+2)I?XWT7ApWaE&}d^q>_og0Skah#>O9H^ zBaA6g*bx78xnVU<5l=`lW=xAg9kRbM6O~-y)ZGZ#GLrbL;YLVe5T@pm5%Q!6G4+)Z zIvOSE^@EJi^-%89#f>?U7*KEPPh(+Cqywkx84C|0yw7}LELwAnSk``H@z5ZM$3}ek5*u8GAY!sEI7;AmJ zke2)~*2YNaXZ5kunrocxKvDyYwGUyp2F)|pW+Uax{lHjP8u7?H4BgpwutP_N8Jn9y7fR~MxHSCHOBJ1 zS=Bi3d=k=#t2T;^Amd;n@{tamjYED&oO-S|4jt?Y!_&(+;vRyXd6CAEJJ>pO)7Ln9 z0CCQQEaPOIW+at~H%{HYh>Gx*92Uo%Jg}V*+4YRm;sfHBs>bOG58;J3Eg#jYptXr+ zoN0qa@!vip+82x9;a4O2#yD)&xNBUvi$HIAbK|0SjtUJhVr#X4q3dkK)r%)y#BjML9tVYd9LXS-ZRW*{DoX19?K;vf1`G`U+#x2VxltuO#x2M36 z#oslOT@oRnr9MXT0-U(E*tq){lAf4oq{cZB`<`SxdsrGi^o8+!HL?rW@5YO=aB&AF z887xgMSL3?X?tOxQeGM_Kg6PFH`93iFAA0FhQ`~vF(~$X8*eWhLJ9k$@y-)7yLYjX zSsRAYbGDKB7`psnj`2Mf+uJF4z40qD7?R6tWR*ZN-oVrNGakLqLw}9GgP`nv_8R|& zVqmM|jeoJ(#GV-zx%n1EjF}c?L^LYP&n((*n2At#i#~ZEeCIif{te$Ba>HVvx=7tB zSRA~tSUMzGa$g)r;%F~Rz7TyOCxH&_Z5f&u$I(^5E37vkD| zOVRt;$d4viN}%#YD|T8+hP1>K6tI+aXA!?n7g#4 zTpA4Ls&AGm{;4FkXIiQb$70)G+fsE_ICh<+SX>vl6H9QjxLQx*?J?s&ORbc=*!OB$ z>Pcsaf8J_oq^6)WJ;LJNBb>y>|13>kxFbr)XK8+K0ICFvjokl_#bZl2NzS<~t-b{# zl#R5snG4!qTleo}}V+OYap^iB5I2^exg2 zX-peS|J^u$cAaIwS}$S^=U4{B)WXXjr7Quf@}uT9+A_F&B6NsZh9w~{+nsJ1Q3^gR zV!LH@krfzVF{@?F>qKaA3(JJZ!6ykS}A))KC#f@S>r84jeOGz%a$TO2yHh8S+@L+CUGv=vMuMt#=4emDJIeP9yYQPi|s5KZLvp)hb)nw zkmR4LZrKs}0;RAWcGj9?qoi=lo;5XK!3SFQyud2)-DlYsiwEgD)DpFJEb%MlEeDQ4 zr`|oW9C+9kt*twkEeA_Lq#c|rhbp~>dw*v+9Euk8;xm>bZa&1`am%skxWL(#mJ|6Z z5;^>_6N%&LS$=4VAF`Y~{EOJpyq0L&@2XnPyCLFhGShPYZVO@)-&-ywdJ%8>&Jq*! zkl66Dmdj0t5k*Os%L_Hk!P~i(D+cB!;il!vx0Pr`Ia{vnO(pKJ(~@u+S%FhM@GI&l z4{hX@SC*uHBS{=ivfM6DJ8b!UFhAmoKbFj_TErhtw|t3rC*I4$@~ay{#z{XdzxH7YC#|w%b;hb_ z+s5RZJ&0PZHThq>1XB2~DROkBg~gQrK_}MyH5F^VE<_JPO^X9;yI->Duo%m(dl56Y z6_zfux0!n(3`)7iX5Msk2bxzm^VKPW{_9dRU$ z95-rV7P|qZp3&7Tp7Zyik!DG^p$O_rn59}3LH1%bol9;r zn2oA=k?1kdY*Hc_1)XMQbEF3p^V>$Td%M{py8wx4_05(o?qL15H9ZPopsS{v9zl5G zU$f0t#VZo~ywq&%*Aq(C!)(3m8@9VHw2^iAKht)aZGA(av~FhG^{B%>w2m^{$KFEU z30)$v3?0ph97?y?!<^_8i4i_9Cl1GjyhF^1)}!beyf7zX%4kVb zbMm>j#QF>|C%<})tt$VSQxck!n9|6c>WwL^`qP~L7CO~yoEb9SjrgsW=B(?OvVC>T zdHXUDe1FX${C}Co=6nUt;dNJY!6Sb}KA|>>_500*J)#gYI-22g@x(#v%$2$DibByZ z=BjP@-o4W{iZhGMbqoWXtC;JaoFe8|&|E*Z4Vr$N&Gpe`Nxc7NZWxU6NMwk)@%%sp zIF4q->w!q_=b4)(S|PfoJk8`E))}*h=$M)toqByLqloEOE!0=0#g6{Hl2|fs?p1 z$Ba#L#YW;{W*mod<_k6BtT+&rylp4M-!|rze(&M`Gt7im-=W0|%^MGA61n#>Z!Zof zabbsfr))f$dWmLoSQ+A-t>)d+PVfP}&AX3Kdz*gIyjQ~=MZB)&y>{1;0v0pxPe;9F zX$ABCp)Vv#RWTow2!>LxFdqh?5R`kmX?+qSFw%wQlNek$Ai_*dg+%1l=F@-QQ7xEj zK6?rix+T_3Ly20-n-6qF?cLLS*((Cc@IUj_VlU!j9n80d9f|qgG2eCgMm+1f`C&bL z#pMJuQ$e+Gco!Q*Yfm$CYX$-xFZ0WNctf9~Rx_(QM*K3Doge#~*-sxLs1Fm7eqUKlY_AXg_{oN z9gLqS`u!g5V0nj~g|~bi%;(UtZ`Bo_~yE)X2f{FDR=1?DXRpEWh zp;5g7*jp3q(D>|87_2OZmOhx{$L=6>>hVJGJD37uA4N(u>tf?yt-V{HV9GE}RvF&_(e20*G-#h1? zeR*%sRXSxkqSNL)I^`A0kM`eE@AY+Xr+IXm?^y(^`Bo^?8>~?L&sTJsA`(xTsp!m! zKs>*i`q*a^@^cIISzk)TH{R5z+Lg$nR#JI?ob=;ZDqjJDG@jINbvi6l8#g+u2W)Zc zV>Dm`3`0~54O|H!tM{UTs8fh+0-fUrn5&^d4n=Uw%`~WaCm~M>oj-*U@kTBUc~*s@ zUnLC>awEcv6*N5mDv>?Tqe}HQLaL)_q!F@mJe@{;0RoL?s^%Db5@M+OBU5|uB8;l1 zjD%EQr!m`|@Y$WldQ=kfQyZ#D{Fw;lMO3o^Qodvm)vc%^V$ykEp9kCnr0)UBd;C+ zQK=LSnrNEa8;E>1lJ5QyHvE!3-LnwFqS#0GzEPsTN@%`E4jivk7wV;0SfEFznit(s_(Bgjr##hkN?J#7cx6>oB+fWjpNsmphL(+Vj zmQ8?@+ty&BCyLe)@%z>EGxYLm$i#0y(JM|nG0c}oZ%oo)Sm+hKd7*~D6w+JSPf${NMDGxZ z5Zjlu>P!I<9w_NO23FRXGU$D&7xZ3D?{B#U^?F9{?}Ft@D5bUK=|pxRmDZgJAwqg< z`jg5)$mTBeVGFe2%^TX_i>_nKSo$&<B+LHItknq?5gvbaW4q&1qzA(O7pmi1i6o5+OrmeUrKqqAq3b4v&b9 z+d}4k9Qi^#WgdP`7$)y)g<@zi^DtT-Z~yYR^$&4j2J`qDqBrO7xrNtgzAPH8<7LvZTL4Em4t}LaEFcY!I9U0%ErK#h}Rt0xZy_$xoXSC zUmizf2_bA!6bcirU$e>m7Zcg#UTjLlFtpN_u_?_W^xvi4@&~2~9x?B>C!Sisc=B4+DZKs~%O$0-85#j#FF_VSnB;sOdGahiyVMx$MI~bNhl+-1)Qaw z#?ek*$kI)?;nBNnnQtc-mmg!D_@MpK!`6} zy`hYV0gY_+b0jDy7c=t>+~~|YmUSJ%*DaiFD#iDE5uCe@GJur8vXN6`&wave< z{U3r=`$w{pn;IfqC}pL#@c);K*pUIlp?>?>(P7}ZO%^+<2CJH@*|9FDA6zcBLa~^e z*zuDEM3%aimDQoBw2HA4uZ9!RyOf>e6EQt}-3rB|8SK~ zgJ(H}UXDKOt~1JGyPVnG^PqU@Q}ewb7t`<8S#_Exd`}6hzUfJX?~byXM{@M;B3SL! zBN&mL%4#3UU`gAu2V47~ZtBY(9KJ)ysUhqk(g-psnOWZfabC{qU#N+!aTa@eL_^51 zY}T+I2XLevdl}M)kTHwdt8=i-{$1E_3lL81tzp04EknaOBAYcegN1Ym`_In%@Rm!g zP$+Y-LUHOT)_fE(WuLRGr7PeEpR<-#Aw(RU&03H&lW%HR%XwS$T~2a>*HyGf#J$TngNPb1HV%{@36A{x$?%oj> z80gB~zn7ztbCi30)IdnXLhdmIhB9;nACO!{WFLRUJsYro-%>s(_Y}Gg`}tsx5hxFQ z%m*hx1a^JPhaLvvJvZ~=v+@1Bhx|i#bPe)$@DY6>(_i6E?mDnIn~yThDI=tB3?HRl zMr1SZ@KK*aeP6A#LZSPKx6t(|AAPzK_U9@eXNDOegZP9c2QcXt!zX`$^~d*f@4^@& z9G<{u+=ok962|ADb412w@zC!wi7@r=ToD7A-4)CuMt3H%*rz;V1H8IJKWIlBz84#!` z=Z0()R1OyL6lR>bh7tqLG3#Kf0< z`~tP|tvthKF%efS;F-H~P-p1M*R6g;gc>7X?}nx!JIgmt_r%fp^35Ge36byQTN0s- znRa~Zq5{lud+}}OLGktq{?!dUn%&vNzm85JqOLp7X$VBVGLi3GKAQ;PWBA+JRz1(H z90JyvB6!{*4HBF7yr4hkGS=VZ1@&x;V&3*Pg2F|u-D z<3)aOWCIK)<%h;r;$vk-^-%;`4~9{NPp+$T{DSn!f7iM zuQj4;|d|n+^MuejScy+>XxVF)}wiqYUb{Mbwu?ofVcKoL;VA1C${<8*e%{M zD1?L+1~sv9Uz_DK-=;_L$k49cO@o8dqPF;k$t%~~T6fWZ`&J$?1R(i zxB6^ve3Son|G~atNy|da@_~b8cyR-!B=I|WTBKyuCQ5NyMTDe~3_67}R*F=|sia7q zHeQNW=~M$GwLwZ&$HhtEDoGI$p^A_UTFWM#6sHc?DRf4`)9m<3N7KCE^vJQskx9!U z2U+eN-8yx#d|=WtRf1B}V!y;*P9q2TU7D37ziz>9<@q_yYjdK#qEt&CTks+h@gZuG zV*Qaq%(#k$2JHP4wh_||l0I6Std|VYDk(x?P`pLc@+oqv1#5#MNlnT5Q(6Tb-m=dK-CoS1Q=gK6;mR%vPB6{cCyqdzH2(PW4!L%{U# zior7ZxwW!HcX?)7T99v;e{l9&;{SBrpub1NBqPSA^p*v>JRBseMPCzCE~Th?bOEjozTp;9{!y1Z|ekN$6HQb4Qbh zt;2%-+p3D?7a#N(;qnKj#wP#W0n_FEESSF+o6bJkB$YJbf0#_Q+*)DzZ0@{{w3qoTj4+mviUmuf3xjtk~!Y>;<6H4D-uTy|lXON<`24$j3 zFNJ6M_80p2bouM@mNv$wjS+sn#-^6G?>Bns0X;B(;%|dX+(M ze!jh1$%!t)VUxRk;GjhJS^5p0o3^Cs-e1Xavc`I7GgL-tqBc&e(`W7fQs|PEoGonZ z)GoAMnVcb}>7q>UH`rliNqx33j&*Lcx-6)*@BJ|CA74&VC8?FFtZm;2y-ND+5$t4r z+v(JXR?6If+7`Ty_MQ4U`$Ze|YNaAhnx-+Rbdd^dS(_)g_G~B53p^D_jnDqHnEL6o z5s6BJq*27bU6$3kTHsm#m@2f(lJ6Ckx!L=E8S=&KDgU?6evV2L0V#ODt>nsHp{G!C ft5B%kSJGA?t9od5xyVX{>EfLSB^5(#zMuPFT$fZS delta 26167 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 Z)+Wo5lEQ>9>Ce9DskSS0>ZCpw^51vy`I-O# diff --git a/res/translations/mixxx_zh_TW.ts b/res/translations/mixxx_zh_TW.ts index 1e26e430fae3..cfc6ea0177d6 100644 --- a/res/translations/mixxx_zh_TW.ts +++ b/res/translations/mixxx_zh_TW.ts @@ -8,6 +8,14 @@ + + AllTrackLibraryFeature + + + All... + + + AnalysisFeature @@ -19,52 +27,52 @@ AutoDJFeature - + Crates 音樂庫 - + Enable Auto DJ - + Disable Auto DJ - + Clear Auto DJ Queue 清除自动 DJ 队列 - + Remove Crate as Track Source 從曲目清單删除音樂庫 - + Auto DJ 自動 DJ - + Confirmation Clear 确认清除 - + Do you really want to remove all tracks from the Auto DJ queue? 您真的要从 Auto DJ 队列中删除所有曲目吗? - + This can not be undone. 此操作无法撤消。 - + Add Crate as Track Source 加入音樂庫為曲目清單 @@ -223,7 +231,7 @@ - + Export Playlist 匯出播放清單 @@ -277,13 +285,13 @@ - + Playlist Creation Failed 播放清單建立失敗 - + An unknown error occurred while creating playlist: 建立播放清單時發生未知的錯誤︰ @@ -298,12 +306,12 @@ 您確定要刪除播放清單 <b>%1</b>嗎? - + M3U Playlist (*.m3u) M3U 播放清單 (*.m3u) - + M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Text CSV (*.csv);;Readable Text (*.txt) M3U 播放清單 (*.m3u);M3U8 播放清單 (*.m3u8);PLS播放清單 (*.pls);文字 CSV (*.csv);;可閱讀的文字 (*.txt) @@ -311,12 +319,12 @@ BaseSqlTableModel - + # # - + Timestamp 時間戳記 @@ -324,7 +332,7 @@ BaseTrackPlayerImpl - + Couldn't load track. 無法載入曲目。 @@ -362,7 +370,7 @@ 電視頻道 - + Color 顏色 @@ -377,7 +385,7 @@ 作曲者 - + Cover Art 封面 @@ -387,7 +395,7 @@ 加入日期 - + Last Played 最後播放 @@ -417,7 +425,7 @@ 音調 - + Location 位置 @@ -427,7 +435,7 @@ - + Preview 預覽 @@ -467,7 +475,7 @@ 年份 - + Fetching image ... Tooltip text on the cover art column shown when the cover is read from disk 獲取圖片中... @@ -489,22 +497,22 @@ BroadcastProfile - + Can't use secure password storage: keychain access failed. 無法使用安全密碼儲存:鑰匙圈存取失敗。 - + Secure password retrieval unsuccessful: keychain access failed. 安全密碼檢索失敗:鑰匙圈存取失敗。 - + Settings error 設定錯誤 - + <b>Error with settings for '%1':</b><br> <b>設定 '%1' 失敗:</b><br> @@ -592,7 +600,7 @@ - + Computer 電腦 @@ -612,19 +620,19 @@ 掃描 - + "Computer" lets you navigate, view, and load tracks from folders on your hard disk and external devices. 「電腦」可讓您從硬碟和外部裝置上的資料夾中導覽、檢視和載入曲目。 - + It shows the data from the file tags, not track data from your Mixxx library like other track views. - + 它显示的是文件标签中的数据,而不是像其他曲目视图那样来自你的 Mixxx 库的曲目数据。 - + If you load a track file from here, it will be added to your library. - + 如果你从这里加载曲目文件,它将被添加到你的库中。 @@ -735,12 +743,12 @@ 檔案已建立 - + Mixxx Library Mixxx 音樂庫 - + Could not load the following file because it is in use by Mixxx or another application. 無法載入下面的檔,因為它是由 Mixxx 或另一個應用程式使用。 @@ -771,87 +779,92 @@ CmdlineArgs - + Mixxx is an open source DJ software. For more information, see: Mixxx 是一款開源的 DJ 軟體。欲瞭解更多資訊,請參閱以下網址: - + Starts Mixxx in full-screen mode Mixxx 全螢幕模式下啟動 - + Use a custom locale for loading translations. (e.g 'fr') 使用自訂語言區域載入翻譯。(例如 'fr') - + Top-level directory where Mixxx should look for its resource files such as MIDI mappings, overriding the default installation location. Mixxx 應該尋找其資源檔案的頂層目錄,例如 MIDI 映射,以覆蓋默認安裝位置。 - + Path the debug statistics time line is written to 統計資料時間軸寫入的路徑 - + Causes Mixxx to display/log all of the controller data it receives and script functions it loads 使 Mixxx 顯示/記錄其接收的所有控制器資料和載入的腳本函數 - + The controller mapping will issue more aggressive warnings and errors when detecting misuse of controller APIs. New Controller Mappings should be developed with this option enabled! 當檢測到控制器 API 被誤用時,控制器映射將發出更積極的警告和錯誤。新的控制器映射應該啟用此選項進行開發! - + Enables developer-mode. Includes extra log info, stats on performance, and a Developer tools menu. 啟用開發者模式。包括額外的日誌資訊、性能統計和開發者工具選單。 - + Top-level directory where Mixxx should look for settings. Default is: Mixxx 應該尋找設定的頂層目錄。預設值為: - + Starts Auto DJ when Mixxx is launched. 启动Mixxx时自动开始DJ。 - + Rescans the library when Mixxx is launched. - + 在启动 Mixxx 时重新扫描库。 - + Use legacy vu meter 使用傳統的音量表 - + Use legacy spinny 使用舊版的旋轉界面 - - Loads experimental QML GUI instead of legacy QWidget skin - 使用實驗性的 QML 介面,而不是舊版的 QWidget 介面 + + Loads the highly unstable 3.0 Mixxx interface, based on QML. You need to use a new setting profile, or run with 'allow-dangerous-data-corruption-risk' to use with the current one. We highly recommend backing up your data if you do so. + - + + Force Mixxx to load an unstable version with an existing user profile from a stable version + + + + Enables safe-mode. Disables OpenGL waveforms, and spinning vinyl widgets. Try this option if Mixxx is crashing on startup. 啟用安全模式。禁用 OpenGL 波形和旋轉的黑膠碟小工具。如果 Mixxx 在啟動時崩潰,請嘗試使用此選項。 - + [auto|always|never] Use colors on the console output. [自動|始終|從不] 在控制台輸出中使用顏色。 - + Sets the verbosity of command line logging. critical - Critical/Fatal only warning - Above + Warnings @@ -866,32 +879,32 @@ trace - Above + Profiling messages 追蹤 - 以上 + 分析訊息 - + Sets the the logging level at which the log buffer is flushed to mixxx.log. <level> is one of the values defined at --log-level above. 設定記錄級別,當記錄緩衝區刷新到 mixxx.log 時。其中<level>是上述--log-level中定義的值之一。 - + Sets the maximum file size of the mixxx.log file in bytes. Use -1 for unlimited. The default is 100 MB as 1e5 or 100000000. 设置 mixxx.log 文件的最大文件大小(以字节为单位)。使用 -1 表示无限制。默认值为 100 MB,为 1e5 或 100000000。 - + Breaks (SIGINT) Mixxx, if a DEBUG_ASSERT evaluates to false. Under a debugger you can continue afterwards. 如果 DEBUG_ASSERT 評估為 false,則中斷(SIGINT)Mixxx。在調試器下,您可以之後繼續執行。 - + Overrides the default application GUI style. Possible values: %1 - + Load the specified music file(s) at start-up. Each file you specify will be loaded into the next virtual deck. 在啟動時載入指定的音樂檔案。您指定的每個檔案將被載入到下一個虛擬的檯面。 - + Preview rendered controller screens in the Setting windows. 在设置窗口中预览渲染好的控制器屏幕。 @@ -984,2557 +997,2585 @@ trace - Above + Profiling messages ControlPickerMenu - + Headphone Output 耳機輸出 - - - + + + + Deck %1 + %1 is the deck number 1 ... 4 甲板 %1 - + Sampler %1 採樣器 %1 - + Preview Deck %1 預覽甲板 %1 - + Microphone %1 麥克風 %1 - + Auxiliary %1 輔助 %1 - + Reset to default 重置為預設值 - + Effect Rack %1 效果機架 %1 - + Parameter %1 參數 %1 - + Mixer 混音器 - - + + Crossfader 推桿 - + Headphone mix (pre/main) 耳機混音 (前/主) - + Toggle headphone split cueing 切換耳機分離監聽 - + Headphone delay 耳機延遲 - + Transport 傳輸 - + Strip-search through track 透過曲目進行搜尋 - + Play button 播放按鈕 - - + + Set to full volume 設定為最大音量 - - + + Set to zero volume 音量設定為零 - + Stop button 停止按鈕 - + Jump to start of track and play 跳至曲目開頭並播放 - + Jump to end of track 跳至曲目結尾 - + Reverse roll (Censor) button 倒帶滾動(審查)按鈕 - + Headphone listen button 耳機監聽按鈕 - - + + Mute button 靜音按鈕 - + Toggle repeat mode 切換重複模式 - - + + Mix orientation (e.g. left, right, center) 混合方向 (例如左、 右側、 中心) - - + + Set mix orientation to left 設定輸出聲道為左聲道 - - + + Set mix orientation to center 設定輸出聲道為立體聲 - - + + Set mix orientation to right 設定輸出聲道為右聲道 - + Toggle slip mode 切換滑動模式 - - + + BPM BPM - + Increase BPM by 1 BPM 增加 1 - + Decrease BPM by 1 BPM 減少 1 - + Increase BPM by 0.1 BPM 增加 0.1 - + Decrease BPM by 0.1 BPM 減少 0.1 - + BPM tap button BPM 開關按鈕 - + Toggle quantize mode 切換量化模式 - + One-time beat sync (tempo only) 一次性節拍同步 (只有節奏) - + One-time beat sync (phase only) 一次性節拍同步 (僅階段) - + Toggle keylock mode 切換鍵鎖模式 - + Equalizers 等化器 - + Vinyl Control 唱片控制 - + Toggle vinyl-control cueing mode (OFF/ONE/HOT) 切換黑膠盤控制監聽模式 (關閉/單點/熱點) - + Toggle vinyl-control mode (ABS/REL/CONST) 切換黑膠盤控制模式 (絕對/相對/常數) - + Pass through external audio into the internal mixer 將外部音訊通過內部混音器輸入 - + Cues 切入點 - + Cue button 切入點按鈕 - + Set cue point 設定切入點 - + Go to cue point 跳到切入點 - + Go to cue point and play 跳到切入點並播放 - + Go to cue point and stop 跳到切入點並停止 - + Preview from cue point 從切入點預覽 - + Cue button (CDJ mode) 切入按鈕(CDJ 模式) - + Stutter cue 循環切入點 - + Hotcues 熱點 - + Set, preview from or jump to hotcue %1 設定、預覽或跳至熱點 %1 - + Clear hotcue %1 清除熱點 %1 - + Set hotcue %1 設定熱點 %1 - + Jump to hotcue %1 跳到熱點 %1 - + Jump to hotcue %1 and stop 跳到熱點 %1 並停止 - + Jump to hotcue %1 and play 跳到熱點 %1 並播放 - + Preview from hotcue %1 從熱點 %1 預覽 - - + + Hotcue %1 熱點 %1 - + Looping 循環播放 - + Loop In button 循環起點 - + Loop Out button 循環終點 - + Loop Exit button 循環關閉 - + 1/2 1/2 - + 1 1 - + 2 2 - + 4 4 - + 8 8 - + 16 16 - + 32 32 - + 64 64 - + Move loop forward by %1 beats 循環向前移動 %1 拍 - + Move loop backward by %1 beats 循環向後移動 %1 拍 - + Create %1-beat loop 建立 %1 節拍循環 - + Create temporary %1-beat loop roll 創建臨時的 %1 節拍循環 - + Library 音樂庫 - + Slot %1 插槽 %1 - + Headphone Mix 耳機混音器 - + Headphone Split Cue 耳機拆分提示 - + Headphone Delay 耳機延遲 - + Play 播放 - + Fast Rewind 快速倒帶 - + Fast Rewind button 快速倒帶按鈕 - + Fast Forward 快轉 - + Fast Forward button 快轉按鈕 - + Strip Search 完整搜索 - + Play Reverse 倒放 - + Play Reverse button 倒放按鈕 - + Reverse Roll (Censor) 倒帶滾動(審查) - + Jump To Start 跳轉到開始 - + Jumps to start of track 跳至曲目開始 - + Play From Start 從開始處播放 - + Stop 停止 - + Stop And Jump To Start 停止並跳轉到開始 - + Stop playback and jump to start of track 停止播放並跳至曲目開始 - + Jump To End 跳轉到結束 - + Volume 音量 - - - + + + Volume Fader 音量推桿 - - + + Full Volume 最大音量 - - + + Zero Volume 最小音量 - + Track Gain 曲目增益 - + Track Gain knob 曲目增益旋鈕 - - + + Mute 靜音 - + Eject 退出 - - + + Headphone Listen 耳機監聽 - + Headphone listen (pfl) button 耳機監聽(PFL)按鈕 - + Repeat Mode 重複模式 - + Slip Mode 滑動模式 - - + + Orientation 方向 - - + + Orient Left 左方向 - - + + Orient Center 中心 - - + + Orient Right 右方向 - + BPM +1 每分鐘拍數 +1 - + BPM -1 每分鐘拍數 -1 - + BPM +0.1 每分鐘拍數 +0.1 - + BPM -0.1 每分鐘拍數 -0.1 - + BPM Tap 每分鐘拍數偵測 - + Adjust Beatgrid Faster +.01 調快節拍速度 +.01 - + Increase track's average BPM by 0.01 曲目的平均每分鐘拍數增加 0.01 - + Adjust Beatgrid Slower -.01 調慢節拍速度 -.01 - + Decrease track's average BPM by 0.01 曲目的平均每分鐘拍數減少 0.01 - + Move Beatgrid Earlier 將節拍網格向前調整 - + Adjust the beatgrid to the left 將節拍網格向左調整 - + Move Beatgrid Later 將節拍網格向後調整 - + Adjust the beatgrid to the right 將節拍網格向右調整 - + Adjust Beatgrid 調整節拍網格 - + Align beatgrid to current position 對齊節拍網格至目前位置 - + Adjust Beatgrid - Match Alignment 調整節拍網格 - 符合對齊 - + Adjust beatgrid to match another playing deck. 調整節拍網格以匹配另一個播放檯面。 - + Quantize Mode 量化模式 - + Sync 同步 - + Beat Sync One-Shot 節拍同步單次觸發 - + Sync Tempo One-Shot 同步節奏單次觸發 - + Sync Phase One-Shot 同步相位單次觸發 - + Pitch control (does not affect tempo), center is original pitch 音高控制(不影響節奏),中心是原始音高 - + Pitch Adjust 音高調整 - + Adjust pitch from speed slider pitch 從速度滑桿調整音高 - + Match musical key 配對音樂音調 - + Match Key 與音調匹配 - + Reset Key 重置音調 - + Resets key to original 重置至原始音調 - + High EQ 高頻等化器 - + Mid EQ 中頻等化器 - - + + Main Output 主输出 - + Main Output Balance 主输出均衡 - + Main Output Delay 主输出延迟 - + Main Output Gain 主输出增益 - + Low EQ 低頻等化器 - + Toggle Vinyl Control 切換唱片控制項 - + Toggle Vinyl Control (ON/OFF) 切換唱片控制 (開/關) - + Vinyl Control Mode 唱片控制模式 - + Vinyl Control Cueing Mode 唱片控制提示模式 - + Vinyl Control Passthrough 唱片控制直通 - + Vinyl Control Next Deck 唱片控制模式 - + Single deck mode - Switch vinyl control to next deck 单碟机模式 - 切换唱片控制器至下一碟机 - + Cue 切入点 - + Set Cue 設置切入點 - + Go-To Cue 前往切入點 - + Go-To Cue And Play 前往切入點並播放 - + Go-To Cue And Stop 前往切入點並停止 - + Preview Cue 預覽提示 - + Cue (CDJ Mode) 提示 (CDJ 模式) - + Stutter Cue Stutter切入 - + Go to cue point and play after release 前往提示點並在放開後播放 - + Clear Hotcue %1 刪除 Hotcue %1 - + Set Hotcue %1 設置 Hotcue %1 - + Jump To Hotcue %1 跳轉到 Hotcue %1 - + Jump To Hotcue %1 And Stop 跳轉到 Hotcue %1 並停止 - + Jump To Hotcue %1 And Play 跳轉到 Hotcue %1 並播放 - + Preview Hotcue %1 預覽 Hotcue %1 - + Loop In 循環起點 - + Loop Out 循環終點 - + Loop Exit 循環關閉 - + Reloop/Exit Loop 循環開關 - + Loop Halve 循環減半 - + Loop Double 循環雙倍 - + 1/32 1/32 - + 1/16 1/16 - + 1/8 1/8 - + 1/4 1/4 - + Move Loop +%1 Beats 移動循環 +%1 拍 - + Move Loop -%1 Beats 移動循環 -%1 拍 - + Loop %1 Beats 循環 %1 拍 - + Loop Roll %1 Beats 循環卷 %1 拍 - + Add to Auto DJ Queue (bottom) 將添加到自動 DJ 佇列 (底部) - + Append the selected track to the Auto DJ Queue 將選定的軌道加到自動 DJ 佇列 - + Add to Auto DJ Queue (top) 將添加到自動 DJ 佇列 (頂部) - + Prepend selected track to the Auto DJ Queue 將選定的軌道,到汽車 DJ 佇列的開頭 - + Load Track 載入音軌 - + Load selected track 載入選定的音軌 - + Load selected track and play 載入選定的音軌並播放 - - + + Record Mix 錄製混音 - + Toggle mix recording 切換錄製混音 - + Effects 效果 - - Quick Effects - 快速效果 - - - + Deck %1 Quick Effect Super Knob 甲板 %1 見效快超級旋鈕 - + + Quick Effect Super Knob (control linked effect parameters) 快速效果超級旋鈕 (控制連結的效果參數) - - + + + + Quick Effect 快速效果 - + Clear Unit 清除單元 - + Clear effect unit 清除效果架單位 - + Toggle Unit 切換單元 - + Dry/Wet 乾/濕 - + Adjust the balance between the original (dry) and processed (wet) signal. 調整原(乾)和處理(濕)之間的平衡。 - + Super Knob 超級旋鈕 - + Next Chain 下一個鏈 - + Assign 分配 - + Clear 清除 - + Clear the current effect 清除當前效果 - + Toggle 切換 - + Toggle the current effect 切換當前效果 - + Next 下一個 - + Switch to next effect 切換到下一個效果 - + Previous 上一個 - + Switch to the previous effect 切換到上一個效果 - + Next or Previous 下一頁或上一頁 - + Switch to either next or previous effect 切換到下一個或上一個的效果 - - + + Parameter Value 參數值 - - + + Microphone Ducking Strength 麥克風迴避強度 - + Microphone Ducking Mode 麥克風迴避模式 - + Gain 增益 - + Gain knob 增益旋鈕 - + Shuffle the content of the Auto DJ queue 拖曳自動 DJ 柱列中的內容 - + Skip the next track in the Auto DJ queue 跳過自動 DJ 柱列中的下一曲目 - + Auto DJ Toggle 自動 DJ 切換 - + Toggle Auto DJ On/Off 切換自動 DJ 開啟/關閉 - + Show/hide the microphone & auxiliary section 显示/隐藏麦克风和辅助部分 - + 4 Effect Units Show/Hide 显示/隐藏效果器 - + Switches between showing 2 and 4 effect units 在显示2和4个效果单位之间切换 - + Mixer Show/Hide 混音器显示/隐藏 - + Show or hide the mixer. 顯示或隱藏該混合器。 - + Cover Art Show/Hide (Library) 封面艺术展览/隐藏(音乐库) - + Show/hide cover art in the library 在音乐库展示/隐藏封面艺术 - + Library Maximize/Restore 音樂庫最大化/還原 - + Maximize the track library to take up all the available screen space. 最大化音樂庫以佔用所有可用的螢幕空間。 - + Effect Rack Show/Hide 效果架顯示/隱藏 - + Show/hide the effect rack 顯示/隱藏效果架 - + Waveform Zoom Out 波形縮小 - + Headphone Gain 耳機增益 - + Headphone gain 耳機增益 - + Tap to sync tempo (and phase with quantize enabled), hold to enable permanent sync 点击同步速度(和相位与量化启用),保持启用永久同步 - + One-time beat sync tempo (and phase with quantize enabled) 同步节奏 - + Playback Speed 播放速度 - + Playback speed control (Vinyl "Pitch" slider) 播放速度控制 (黑膠盤"音調"推桿) - + Pitch (Musical key) 音調 (音樂音高) - + Increase Speed 提高速度 - + Adjust speed faster (coarse) 調整速度更快 (粗) - + Increase Speed (Fine) 增加速度 (精細) - + Adjust speed faster (fine) 調整速度更快 (精細) - + Decrease Speed 降低速度 - + Adjust speed slower (coarse) 調整速度較慢 (粗) - + Adjust speed slower (fine) 調整速度較慢 (精細) - + Temporarily Increase Speed 暫時增加速度 - + Temporarily increase speed (coarse) 暫時增加速度 (粗) - + Temporarily Increase Speed (Fine) 暫時增加速度 (精細) - + Temporarily increase speed (fine) 暫時增加速度 (精細) - + Temporarily Decrease Speed 暫時降低速度 - + Temporarily decrease speed (coarse) 暫時降低速度 (粗) - + Temporarily Decrease Speed (Fine) 暫時降低速度 (精細) - + Temporarily decrease speed (fine) 暫時降低速度 (精細) - - + + Adjust %1 調整 %1 - + + Deck %1 Stem %2 + + + + Effect Unit %1 效果单元 %1 - + Button Parameter %1 旋钮参数% 1 - + Skin 皮膚 - + Controller 控制器 - + Crossfader / Orientation 唱片平滑转换器/方向 - + Main Output gain 主输出增益 - + Main Output balance 主输出均衡 - + Main Output delay 主输出延迟 - + Headphone 耳機 - - + + Kill %1 + %1 is "Low EQ" "Mid EQ" or "High EQ" 關閉 %1 - + Eject or un-eject track, i.e. reload the last-ejected track (of any deck)<br>Double-press to reload the last replaced track. In empty decks it reloads the second-last ejected track. 彈出或取消彈出曲目,即重新載入最後彈出的曲目(任何檯面)<br>雙按以重新載入最後替換的曲目。在空檯面上,它將重新載入倒數第二個彈出的曲目。 - + BPM / Beatgrid BPM / 网格 - + Halve BPM BPM 减半 - + Multiply current BPM by 0.5 将当前BPM乘0.5 - + 2/3 BPM 2/3 BPM - + Multiply current BPM by 0.666 将当前BPM乘0.666 - + 3/4 BPM 3/4 BPM - + Multiply current BPM by 0.75 将当前BPM乘0.75 - + 4/3 BPM 4/3 BPM - + Multiply current BPM by 1.333 将当前BPM乘0.666 - + 3/2 BPM 3/2 BPM - + Multiply current BPM by 1.5 将当前BPM乘1.5 - + Double BPM BPM 加倍 - + Multiply current BPM by 2 1.5倍BPM - + Tempo Tap 节奏敲击 - + Tempo tap button 节奏敲击按钮 - + Move Beatgrid 調整節拍網格 - + Adjust the beatgrid to the left or right 將節拍網格向左或向右調整 - + Move Beatgrid Half a Beat - + 将节拍网格移动半个节拍 - + Adjust the beatgrid by exactly one half beat. Usable only for tracks with constant tempo. - + 将节拍网格精确调整半拍。仅适用于节奏恒定的曲目。 - - + + Toggle the BPM/beatgrid lock 切换 BPM/beatgrid 锁 - + Revert last BPM/Beatgrid Change 还原上次 BPM/节拍网格 更改 - + Revert last BPM/Beatgrid Change of the loaded track. 还原上次 BPM/节拍网格 对加载曲目的更改。 - + Sync / Sync Lock 同步/同步锁定 - + Internal Sync Leader 内部同步高音 - + Toggle Internal Sync Leader 切换内部同步高音 - - + + Internal Leader BPM 內部主 BPM - + Internal Leader BPM +1 內部主 BPM +1 - + Increase internal Leader BPM by 1 增加 1 级内置BPM - + Internal Leader BPM -1 內部主 BPM -1 - + Decrease internal Leader BPM by 1 减少 1 级内置BPM - + Internal Leader BPM +0.1 內部主 BPM +0.1 - + Increase internal Leader BPM by 0.1 增加 1 级内置BPM - + Internal Leader BPM -0.1 內部主 BPM +0.1 - + Decrease internal Leader BPM by 0.1 將內部主導節拍每分鐘減少 0.1 BPM - + Sync Leader 同步高音 - + Sync mode 3-state toggle / indicator (Off, Soft Leader, Explicit Leader) 同步模式切换/指示灯(关,低音,高音) - + Speed 速度 - + Decrease Speed (Fine) 減慢速度(微調) - + Pitch (Musical Key) 音高 - + Increase Pitch 升高音调 - + Increases the pitch by one semitone 将音高增加一个半音 - + Increase Pitch (Fine) 增加间距(细) - + Increases the pitch by 10 cents 增加10间距 - + Decrease Pitch 降低音调 - + Decreases the pitch by one semitone 将音高降低一个半音 - + Decrease Pitch (Fine) 减少间距(细) - + Decreases the pitch by 10 cents 将音高降低10间距 - + Keylock 鑰匙鎖 - + CUP (Cue + Play) CUP (提示 + 播放) - + Shift cue points earlier 移动提示点 - + Shift cue points 10 milliseconds earlier 将提示点移动10毫秒 - + Shift cue points earlier (fine) 移动提示点(可选) - + Shift cue points 1 millisecond earlier 将提示点移动1毫秒 - + Shift cue points later 稍后移动提示点 - + Shift cue points 10 milliseconds later 10毫秒后移动提示点 - + Shift cue points later (fine) 稍后移动(好) - + Shift cue points 1 millisecond later 1毫秒后移动提示点 - - + + Sort hotcues by position - + 按位置排序热键点 - - + + Sort hotcues by position (remove offsets) - + 按位置排序热键(移除偏移) - + Hotcues %1-%2 - 热切点 %1-%2 + 熱點 %1-%2 - + Intro / Outro Markers 介绍/超出标记 - + Intro Start Marker 介绍开始标记 - + Intro End Marker 介绍结束标记 - + Outro Start Marker 结尾部分开始标记 - + Outro End Marker 结尾部分结束标记 - + intro start marker 介绍开始标记 - + intro end marker 介绍结束标记 - + outro start marker 介绍开始标记 - + outro end marker 介绍结束标记 - + Activate %1 [intro/outro marker 激活Cue - + Jump to or set the %1 [intro/outro marker 跳转到热切点 %1 - + Set %1 [intro/outro marker 設定 %1 - + Set or jump to the %1 [intro/outro marker 設定或跳至 %1 - + Clear %1 [intro/outro marker 清除 %1 - + Clear the %1 [intro/outro marker 清除 %1 - + if the track has no beats the unit is seconds 如果轨道没有节拍,则单位为秒 - + Loop Selected Beats 循環播放選定的節拍 - + Create a beat loop of selected beat size 在選定的節拍長度內新增循環節奏 - + Loop Roll Selected Beats 循环选中节奏 - + Create a rolling beat loop of selected beat size 创建所选节奏循环 - + Loop %1 Beats set from its end point Loop %1 从结束点开始设置的节拍 - + Loop Roll %1 Beats set from its end point Loop Roll %1 从结束点开始设置的节拍 - + Create %1-beat loop with the current play position as loop end 创建 %1 拍 Loop,并将当前播放位置作为 Loop 结束 - + Create temporary %1-beat loop roll with the current play position as loop end 创建临时的 %1 拍 Loop 滚动,并将当前播放位置作为 Loop 结束 - + Loop Beats 循环节拍 - + Loop Roll Beats 循环滚动节拍 - + Go To Loop In 跳转到循环 - + Go to Loop In button 跳转到循环按钮 - + Go To Loop Out 前往循環終點 - + Go to Loop Out button 前往循環終點按鈕 - + Toggle loop on/off and jump to Loop In point if loop is behind play position 打开/关闭循环,跳转循环点 - + Reloop And Stop 重複循環並停止 - + Enable loop, jump to Loop In point, and stop 啟動循環播放,跳至循環播放,並停止 - + Halve the loop length 把循環播放的時間長度減半 - + Double the loop length 把循環播放的時間長度加倍 - + Beat Jump / Loop Move 节拍跳跃/循环移动 - + Jump / Move Loop Forward %1 Beats 向前跳躍/移動循環 %1 拍 - + Jump / Move Loop Backward %1 Beats 向後跳躍/移動循環 %1 拍 - + Jump forward by %1 beats, or if a loop is enabled, move the loop forward %1 beats 向前跳转 %1 个节拍,或者如果启用了循环,则将循环向前移动 %1 个节拍 - + Jump backward by %1 beats, or if a loop is enabled, move the loop backward %1 beats 向后跳转 %1 个节拍,或者如果启用了 Loop,则将 Loop 向后移动 %1 个节拍 - + Beat Jump / Loop Move Forward Selected Beats Beat Jump / Loop 向前移动选定的节拍 - + Jump forward by the selected number of beats, or if a loop is enabled, move the loop forward by the selected number of beats 向前跳转选定的节拍数,或者如果启用了 Loop,则将 Loop 向前移动选定的节拍数 - + Beat Jump / Loop Move Backward Selected Beats Beat Jump / Loop 向后移动选定的节拍 - + Jump backward by the selected number of beats, or if a loop is enabled, move the loop backward by the selected number of beats 向后跳转选定的节拍数,或者如果启用了 Loop,则将 Loop 向后移动选定的节拍数 - + Beat Jump 跳拍 - + Indicate which loop marker remain static when adjusting the size or is inherited from the current position 指示在调整大小时哪个 Loop 标记保持静止或从当前位置继承 - + Beat Jump / Loop Move Forward 节拍跳跃/循环移动 - + Beat Jump / Loop Move Backward 节拍跳跃/循环移动 - + Loop Move Forward 向前移動循環 - + Loop Move Backward 向後移動循環 - + Remove Temporary Loop 移除臨時循環 - + Remove the temporary loop 移除臨時循環 - + Navigation 導航 - + Move up 向上移动 - + Equivalent to pressing the UP key on the keyboard 此操作的效果与按键盘上的上箭头按键是等效的 - + Move down 向下移动 - + Equivalent to pressing the DOWN key on the keyboard 此操作的效果与按键盘上的下箭头按键是等效的 - + Move up/down 向上/下移动 - + Move vertically in either direction using a knob, as if pressing UP/DOWN keys 使用旋钮上下移动,和按键盘上的上/下箭头效果一致 - + Scroll Up 向上滚动 - + Equivalent to pressing the PAGE UP key on the keyboard 此操作的效果与按键盘上的向上翻页键是等效的 - + Scroll Down 向下滚动 - + Equivalent to pressing the PAGE DOWN key on the keyboard 此操作的效果与按键盘上的向下翻页键是等效的 - + Scroll up/down 向上/下滚动 - + Scroll vertically in either direction using a knob, as if pressing PGUP/PGDOWN keys 使用旋钮上下滚动,和按键盘上的向上/下翻页键效果一致 - + Move left 左移 - + Equivalent to pressing the LEFT key on the keyboard 此操作的效果与按键盘上的左箭头按键是等效的 - + Move right 向右移动 - + Equivalent to pressing the RIGHT key on the keyboard 此操作的效果与按键盘上的右箭头按键是等效的 - + Move left/right 左/右移 - + Move horizontally in either direction using a knob, as if pressing LEFT/RIGHT keys 使用旋钮上下移动,和按键盘上的左/右箭头键效果一致 - + Move focus to right pane 移动焦点到右侧面板 - + Equivalent to pressing the TAB key on the keyboard 此操作的效果与按键盘上的 TAB 键是等效的 - + Move focus to left pane 移动焦点到左侧面板 - + Equivalent to pressing the SHIFT+TAB key on the keyboard 此操作的效果与按键盘上的 SHIFT+TAB 键是等效的 - + Move focus to right/left pane 移动焦点到左/右侧面板 - + Move focus one pane to right or left using a knob, as if pressing TAB/SHIFT+TAB keys 使用旋钮左右移动焦点,和按键盘上的 TAB/SHIFT+TAB 键效果一致 - + Sort focused column 將焦點列進行排序 - + Sort the column of the cell that is currently focused, equivalent to clicking on its header 對當前專注的儲存格所在的列進行排序,相當於點擊其標題欄。 - + Go to the currently selected item 前往目前選擇的項目 - + Choose the currently selected item and advance forward one pane if appropriate 選擇當前選定的項目,如果適用,則向前移動一個窗格 - + Load Track and Play 載入曲目並播放 - + Add to Auto DJ Queue (replace) 加入自動 DJ 柱列 (取代) - + Replace Auto DJ Queue with selected tracks 以選擇的曲目取代自動 DJ 柱列 - + Select next search history 選擇下一個搜索歷史 - + Selects the next search history entry 選擇下一個搜索歷史項目 - + Select previous search history 選擇前一個搜索歷史 - + Selects the previous search history entry 選擇上一個搜索歷史項目 - + Move selected search entry 移動所選擇的搜索項目 - + Moves the selected search history item into given direction and steps 將所選的搜索歷史項目移動到指定的方向和步驟 - + Clear search 清除搜索 - + Clears the search query 清除搜索查詢 - - + + Select Next Color Available 选择下一个可用颜色 - + Select the next color in the color palette for the first selected track 在调色板中选择第一个选定轨道的下一种颜色 - - + + Select Previous Color Available 选择以前的可用颜色 - + Select the previous color in the color palette for the first selected track 在调色板中选择第一个选定轨道的上一种颜色 - + + Quick Effects Deck %1 + + + + Deck %1 Quick Effect Enable Button 檯面 %1 快速效果啟用按鈕 - + + Quick Effect Enable Button 快速效果啟用按鈕 - + + Deck %1 Stem %2 Quick Effect Super Knob + + + + + Deck %1 Stem %2 Quick Effect Enable Button + + + + Enable or disable effect processing 啟用或禁用效果處理 - + Super Knob (control effects' Meta Knobs) 超級旋鈕(控制效果的元旋鈕) - + Mix Mode Toggle 混音模式切換 - + Toggle effect unit between D/W and D+W modes 在 D/W 和 D+W 模式之間切換效果單元 - + Next chain preset 下一個鏈預設 - + Previous Chain 以前的鏈 - + Previous chain preset 上一個鏈預置 - + Next/Previous Chain 下一個/上一個鏈 - + Next or previous chain preset 下一個或上一個鏈預設 - - + + Show Effect Parameters 顯示效果器的參數 - + Effect Unit Assignment 效果單元分配 - + Meta Knob 元旋钮 - + Effect Meta Knob (control linked effect parameters) 效果元旋钮(控制鏈接的效果參數) - + Meta Knob Mode 元旋钮模式 - + Set how linked effect parameters change when turning the Meta Knob. 设置调节元旋钮时相关参数的改变方式。 - + Meta Knob Mode Invert 元旋钮模式反转 - + Invert how linked effect parameters change when turning the Meta Knob. 反轉旋轉元素旋钮時連接的效果參數如何變化。 - - + + Button Parameter Value 按鈕參數值 - + Microphone / Auxiliary 麥克風 / 輔助 - + Microphone On/Off 麥克風打開/關閉 - + Microphone on/off 麥克風打開/關閉 - + Toggle microphone ducking mode (OFF, AUTO, MANUAL) 切換麥克風迴避模式 (關閉、 自動、 手動) - + Auxiliary On/Off 輔助開關 - + Auxiliary on/off 輔助開關 - + Auto DJ 自動DJ - + Auto DJ Shuffle 自動 DJ 拖曳 - + Auto DJ Skip Next 自動 DJ 跳過下一個 - + Auto DJ Add Random Track 自動 DJ 新增隨機曲目 - + Add a random track to the Auto DJ queue 將一個隨機曲目添加到自動 DJ 佇列 - + Auto DJ Fade To Next 自動 DJ 淡入至下一個 - + Trigger the transition to the next track 觸發器過渡到下一曲目 - + User Interface 使用者介面 - + Samplers Show/Hide 取樣器顯示/隱藏 - + Show/hide the sampler section 顯示/隱藏取樣器節 - + Microphone && Auxiliary Show/Hide keep double & to prevent creation of keyboard accelerator 麦克风和辅助显示/隐藏 - + Waveform Zoom Reset To Default 將波形縮放重置為預設值 - + Reset the waveform zoom level to the default value selected in Preferences -> Waveforms 將波形縮放級別重置為首選項 -> 波形 中選擇的預設值 - + Select the next color in the color palette for the loaded track. 在调色板中选择加载轨道的下一种颜色。 - + Select previous color in the color palette for the loaded track. 在加载的轨道的调色板中选择上一种颜色。 - + Navigate Through Track Colors 浏览轨道颜色 - + Select either next or previous color in the palette for the loaded track. 选择调色板中加载轨道的下一个或上一个颜色 - + Start/Stop Live Broadcasting 開始/停止直播 - + Stream your mix over the Internet. 在互聯網上流你的組合。 - + Start/stop recording your mix. 開始/停止錄製您的混音。 - - + + + Deck %1 Stems + + + + + Samplers 采样器 - + Vinyl Control Show/Hide 乙烯基控制顯示/隱藏 - + Show/hide the vinyl control section 顯示/隱藏的乙烯基控制部分 - + Preview Deck Show/Hide 預覽甲板上顯示/隱藏 - + Show/hide the preview deck 顯示/隱藏預覽甲板 - + Toggle 4 Decks 切換 4 甲板 - + Switches between showing 2 decks and 4 decks. 顯示 2 甲板和 4 層甲板之間的切換。 - + Cover Art Show/Hide (Decks) 封面圖示顯示/隱藏(檯面) - + Show/hide cover art in the main decks 在主要的檯面上顯示/隱藏封面圖片 - + Vinyl Spinner Show/Hide 乙烯基微調框顯示/隱藏 - + Show/hide spinning vinyl widget 顯示/隱藏紡乙烯小部件 - + Vinyl Spinners Show/Hide (All Decks) 顯示/隱藏 所有檯面的唱盤旋轉器 - + Show/Hide all spinnies 顯示/隱藏 所有旋轉物 - + Toggle Waveforms 切換波形 - + Show/hide the scrolling waveforms. 顯示/隱藏 滾動波形。 - + Waveform zoom 波形縮放 - + Waveform Zoom 波形縮放 - + Zoom waveform in 放大波形 - + Waveform Zoom In 在波形縮放 - + Zoom waveform out 縮小波形 - + Star Rating Up 增加星級评分 - + Increase the track rating by one star 將曲目評分增加一顆星 - + Star Rating Down 減少星級评分 - + Decrease the track rating by one star 將曲目評分減少一顆星 @@ -3547,6 +3588,159 @@ trace - Above + Profiling messages + + ControllerHidReportTabsManager + + + Read + + + + + Send + + + + + Payload Size + + + + + bytes + + + + + Byte Position + + + + + Bit Position + + + + + Bit Size + + + + + Logical Min + + + + + Logical Max + + + + + Value + + + + + Physical Min + + + + + Physical Max + + + + + Unit Scaling + + + + + Unit + + + + + Abs/Rel + + + + + + Wrap + + + + + + Linear + + + + + + Preferred + + + + + + Null + + + + + + Volatile + + + + + Usage Page + + + + + Usage + + + + + Relative + + + + + Absolute + + + + + No Wrap + + + + + Non Linear + + + + + No Preferred + + + + + No Null + + + + + Non Volatile + + + ControllerInputMappingTableModel @@ -3682,27 +3876,27 @@ trace - Above + Profiling messages ControllerScriptEngineLegacy - + Controller Mapping File Problem 控制器映射文件问题 - + The mapping for controller "%1" cannot be opened. 无法打开控制器“%1”的映射。 - + The functionality provided by this controller mapping will be disabled until the issue has been resolved. 在问题得到解决之前,此控制器映射提供的功能将被禁用。 - + File: 文件: - + Error: 错误: @@ -3735,7 +3929,7 @@ trace - Above + Profiling messages - + Lock @@ -3765,7 +3959,7 @@ trace - Above + Profiling messages 自動 DJ 音軌來源 - + Enter new name for crate: 輸入收集箱的新名稱︰ @@ -3782,22 +3976,22 @@ trace - Above + Profiling messages 匯入箱 - + Export Crate 匯出音樂箱 - + Unlock 解鎖 - + An unknown error occurred while creating crate: 創建音樂箱時發生未知的錯誤︰ - + Rename Crate 重新命名音樂箱 @@ -3807,28 +4001,28 @@ trace - Above + Profiling messages 为你的下场表演、最喜爱的音轨和最常用的歌曲新建分类列表 - + Confirm Deletion 确认删除 - - + + Renaming Crate Failed 音樂箱重新命名失敗 - + Crate Creation Failed 建立音樂箱失敗 - + M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Text CSV (*.csv);;Readable Text (*.txt) M3U 播放清單 (*.m3u);M3U8 播放清單 (*.m3u8);PLS播放清單 (*.pls);文字 CSV (*.csv);;可讀的文本 (*.txt) - + M3U Playlist (*.m3u) M3U 播放清單 (*.m3u) @@ -3849,17 +4043,17 @@ trace - Above + Profiling messages 音樂箱讓你組織你的音樂,你會喜歡 ! - + Do you really want to delete crate <b>%1</b>? 确定删除播放列表<b>%1</b>吗? - + A crate cannot have a blank name. 音樂箱名稱不得空白。 - + A crate by that name already exists. 已經有相同名稱的音樂箱。 @@ -3954,12 +4148,12 @@ trace - Above + Profiling messages 過去的貢獻者 - + Official Website 官方网站 - + Donate 捐献 @@ -4763,122 +4957,139 @@ You tried to learn: %1,%2 DlgPrefBroadcast - + Icecast 2 Icecast 2 - + Shoutcast 1 Shoutcast 1 - + Icecast 1 Icecast 1 - + MP3 MP3 - + Ogg Vorbis Ogg 格式 - + Opus Opus - + AAC AAC - + HE-AAC HE-AAC - + HE-AACv2 HE-AACv2 - + Automatic 自动 - + Mono 單聲道 - + Stereo 身歷聲 - - - - + + Saving settings failed + + + + + The password for '%1' contains invalid characters. Please enter it again. + +Note: This can for example be invisible linebreaks when using copy/paste. + + + + + + Action failed 行動失敗 - + You can't create more than %1 source connections. 你不能创建超过 %1 个源连接。 - + Source connection %1 源连接 %1 - + + Settings for %1 + Settings for broadcast profile, %1 is the profile name placeholder + + + + At least one source connection is required. 至少需要一个源连接。 - + Are you sure you want to disconnect every active source connection? 是否确实要断开每个活动的源连接? - - + + Confirmation required 需要确认 - + '%1' has the same Icecast mountpoint as '%2'. Two source connections to the same server that have the same mountpoint can not be enabled simultaneously. '%1' 和 '%2' 有相同的 Icecast 挂载点。两个连接到同一服务器的源,挂载点相同的情况下不能同时启用。 - + Are you sure you want to delete '%1'? 是否确实要删除“%1”? - + Renaming '%1' 重命名 '%1' - + New name for '%1': '%1' 的新名称: - + Can't rename '%1' to '%2': name already in use 无法将 '%1' 重命名为 '%2':名称已被使用 @@ -4891,27 +5102,27 @@ Two source connections to the same server that have the same mountpoint can not 直播首選項 - + Mixxx Icecast Testing Mixxx Icecast 測試 - + Public stream 公共流 - + http://www.mixxx.org HTTP://www.mixxx.org - + Stream name 流名稱 - + Due to flaws in some streaming clients, updating Ogg Vorbis metadata dynamically can cause listener glitches and disconnections. Check this box to update the metadata anyway. 由於在一些流的用戶端中的缺陷,動態更新 Ogg 格式的中繼資料可以導致攔截器故障和斷開。選中此框,反正更新中繼資料。 @@ -4951,67 +5162,72 @@ Two source connections to the same server that have the same mountpoint can not %1 的设置 - + + Available fields: $artist, $title, $year, $album, $genre, $bpm + + + + Dynamically update Ogg Vorbis metadata. 動態更新 Ogg 格式的中繼資料。 - + ICQ ICQ - + AIM AIM - + Website 網站 - + Live mix 現場攪拌 - + IRC IRC - + Select a source connection above to edit its settings here 在上面选择一个源连接以在此处编辑其设置 - + Password storage 密码存储方式 - + Plain text 明文 - + Secure storage (OS keychain) 安全存储区(系统钥匙链) - + Genre 體裁 - + Use UTF-8 encoding for metadata. 使用 utf-8 編碼的中繼資料。 - + Description 描述 @@ -5037,42 +5253,42 @@ Two source connections to the same server that have the same mountpoint can not 電視頻道 - + Server connection 伺服器連接 - + Type 類型 - + Host 主機 - + Login 登錄 - + Mount 裝載 - + Port - + Password 密碼 - + Stream info 流信息 @@ -5082,17 +5298,17 @@ Two source connections to the same server that have the same mountpoint can not 元数据 - + Use static artist and title. 使用静态的艺术家名称和标题 - + Static title 静态标题 - + Static artist 静态艺术家名称 @@ -5151,13 +5367,14 @@ Two source connections to the same server that have the same mountpoint can not DlgPrefColors - - + + + By hotcue number 按 hotcue 编号 - + Color 颜色 @@ -5202,132 +5419,137 @@ Two source connections to the same server that have the same mountpoint can not + Jump default color + + + + When key colors are enabled, Mixxx will display a color hint associated with each key. - + Enable Key Colors - + 启用关键颜色 - + Key palette - + 快捷调色板 DlgPrefController - + Apply device settings? 應用設備設置嗎? - + Your settings must be applied before starting the learning wizard. Apply settings and continue? 開始學習嚮導前,必須應用您的設置。 應用設置並繼續? - + None 沒有一個 - + %1 by %2 %2 %1 - + Mapping has been edited 映射已编辑 - + Always overwrite during this session 在此会话期间始终覆盖 - + Save As 另存为 - + Overwrite 覆盖 - + Save user mapping 保存用户映射 - + Enter the name for saving the mapping to the user folder. 输入用于将映射保存到用户文件夹的名称。 - + Saving mapping failed 保存映射失败 - + A mapping cannot have a blank name and may not contain special characters. 映射不能具有空白名称,并且不能包含特殊字符。 - + A mapping file with that name already exists. 具有该名称的映射文件已存在。 - + Do you want to save the changes? 是否要保存更改? - + Troubleshooting 疑難排解 - + <font color='#BB0000'><b>If you use this mapping your controller may not work correctly. Please select another mapping or disable the controller.</b></font><br><br>This mapping was designed for a newer Mixxx Controller Engine and cannot be used on your current Mixxx installation.<br>Your Mixxx installation has Controller Engine version %1. This mapping requires a Controller Engine version >= %2.<br><br>For more information visit the wiki page on <a href='https://mixxx.org/wiki/doku.php/controller_engine_versions'>Controller Engine Versions</a>. 如果使用此映射,则控制器可能无法正常工作。请选择其他映射或禁用控制器。此映射专为较新的 Mixxx 控制器引擎而设计,不能用于您当前的 Mixxx 安装。您的 Mixxx 安装的 Controller Engine 版本为 %1。此映射需要 Controller Engine 版本 >= %2。有关更多信息,请访问有关 Controller Engine 版本的 wiki 页面。 - + Mapping already exists. 映射已存在。 - + <b>%1</b> already exists in user mapping folder.<br>Overwrite or save with a new name? <b>%1</b>已存在于用户映射文件夹中.<br>覆盖还是用新名称保存? - + Clear Input Mappings 清除輸入的映射 - + Are you sure you want to clear all input mappings? 你確定你想要清除所有輸入的映射? - + Clear Output Mappings 清除輸出映射 - + Are you sure you want to clear all output mappings? 你確定你想要清除所有輸出映射? @@ -5345,100 +5567,105 @@ Apply settings and continue? 啟用 - - Device Info + + Refresh mapping list - + + Device Info + 设备信息 + + + Physical Interface: - + 物理接口: - + Vendor name: - + 供应商名称: - + Product name: - + 产品名称: - + Vendor ID - + VID: - + Product ID - + PID: - + Serial number: - + USB interface number: - + HID Usage-Page: - + HID Usage: - + Description: 描述︰ - + Support: 支援︰ - + Screens preview - + Input Mappings 輸入的映射 - - + + Search 搜索 - - + + Add 添加 - - + + Remove 刪除 @@ -5458,17 +5685,17 @@ Apply settings and continue? 加载映射: - + Mapping Info 映射信息 - + Author: 作者︰ - + Name: 名稱︰ @@ -5478,28 +5705,28 @@ Apply settings and continue? 學習嚮導 (僅適用于 MIDI) - + Data protocol: - + Mapping Files: 映射文件: - + Mapping Settings - - + + Clear All 全部清除 - + Output Mappings 輸出映射 @@ -5514,21 +5741,21 @@ Apply settings and continue? - Mixxx uses "mappings" to connect messages from your controller to controls in Mixxx. If you do not see a mapping for your controller in the "Load Mapping" menu when you click on your controller on the left sidebar, you may be able to download one online from the %1. Place the XML (.xml) and Javascript (.js) file(s) in the "User Mapping Folder" then restart Mixxx. If you download a mapping in a ZIP file, extract the XML and Javascript file(s) from the ZIP file to your "User Mapping Folder" then restart Mixxx. - Mixxx 使用“映射”将来自控制器的消息连接到 Mixxx 中的控件。如果您在单击左侧边栏上的控制器时在“加载映射”菜单中没有看到控制器的映射,您可以从 %1 在线下载一个。将 XML (.xml) 和 Javascript (.js) 文件放在“用户映射文件夹”中,然后重新启动 Mixxx。如果您下载 ZIP 文件中的映射,请将 XML 和 Javascript 文件从 ZIP 文件解压到您的“用户映射文件夹”,然后重新启动 Mixxx。 + Mixxx uses "mappings" to connect messages from your controller to controls in Mixxx. If you do not see a mapping for your controller in the "Load Mapping" menu when you click on your controller on the left sidebar, you may be able to download one online from the %1. Place the XML (.xml) and Javascript (.js) file(s) in the "User Mapping Folder" then click the Reload button next to the mapping selector to reload all available mappings. If you download a mapping in a ZIP file, extract the XML and Javascript file(s) from the ZIP file to your "User Mapping Folder" then click the Reload button. + - + Mixxx DJ Hardware Guide Mixxx DJ 硬件指南 - + MIDI Mapping File Format MIDI 映射文件格式 - + MIDI Scripting with Javascript 使用 Javascript 编写 MIDI 脚本 @@ -5697,137 +5924,137 @@ Apply settings and continue? DlgPrefDeck - + Mixxx mode Mixxx 模式 - + Mixxx mode (no blinking) Mixxx 模式 (無閃爍) - + Pioneer mode 先驅模式 - + Denon mode 電音模式 - + Numark mode 發展模式 - + CUP mode CUP 模式 - + mm:ss%1zz - Traditional mm:ss%1zz - 繁体 - + mm:ss - Traditional (Coarse) mm:ss - 传统 (粗) - + s%1zz - Seconds s%1zz - 秒 - + sss%1zz - Seconds (Long) sss%1zz - 秒(长) - + s%1sss%2zz - Kiloseconds s%1sss%2zz - 千秒 - + Intro start 入门 - + Main cue 主要提示 - + First hotcue 第一个 hotcue - + First sound (skip silence) 第一个声音 (跳过静音) - + Beginning of track 轨道起点 - + Reject 拒绝 - + Allow, but stop deck 允许,但停止甲板 - + Allow, play from load point 允许,从加载点播放 - + 4% 4% - + 6% (semitone) 6%(半音) - + 8% (Technics SL-1210) 8%(工藝 SL-1210) - + 10% 10% - + 16% 16% - + 24% 24% - + 50% 50% - + 90% 90% @@ -6281,57 +6508,57 @@ You can always drag-and-drop tracks on screen to clone a deck. 所選的外觀的最小大小大於您的螢幕解析度。 - + Allow screensaver to run 允許螢幕保護程式執行 - + Prevent screensaver from running 在程式運行中防止螢幕保護程式 - + Prevent screensaver while playing 當播放歌曲時禁止螢幕保護程式 - + Disabled 禁用 - + 2x MSAA 2倍采样抗锯齿 - + 4x MSAA 4倍采样抗锯齿 - + 8x MSAA 8倍采样抗锯齿 - + 16x MSAA 16倍采样抗锯齿 - + This skin does not support color schemes 這種皮膚不支援色彩配置 - + Information 資訊 - + Mixxx must be restarted before the new locale, scaling or multi-sampling settings will take effect. 在新的区域设置、缩放或多重采样设置生效之前,必须重新启动Mixxx。 @@ -6558,67 +6785,97 @@ and allows you to pitch adjust them for harmonic mixing. 有关详细信息,请参阅手册 - + Music Directory Added 添加的音樂目錄 - + You added one or more music directories. The tracks in these directories won't be available until you rescan your library. Would you like to rescan now? 添加一個或多個音樂目錄。在這些目錄中的軌道將不可用,直到您重新掃描您的庫。你想現在重新掃描? - + Scan 掃描 - + Item is not a directory or directory is missing 项目不是目录或目录缺失 - + Choose a music directory 選擇音樂目錄 - + Confirm Directory Removal 確認目錄刪除 - + Mixxx will no longer watch this directory for new tracks. What would you like to do with the tracks from this directory and subdirectories?<ul><li>Hide all tracks from this directory and subdirectories.</li><li>Delete all metadata for these tracks from Mixxx permanently.</li><li>Leave the tracks unchanged in your library.</li></ul>Hiding tracks saves their metadata in case you re-add them in the future. Mixxx 將不再監視此目錄為新的軌道。你想要用軌道從這個目錄和子目錄什麼?<ul><li>隱藏從這個目錄和子目錄中的所有蹤跡。</li><li>刪除這些的所有中繼資料跟蹤從 Mixxx 永久。</li><li>離開鐵軌在您的庫不變。</li></ul>隱藏曲目將其中繼資料的保存,以防你重新將它們添加到了將來。 - + Metadata means all track details (artist, title, playcount, etc.) as well as beatgrids, hotcues, and loops. This choice only affects the Mixxx library. No files on disk will be changed or deleted. 中繼資料意味著所有跟蹤詳細資訊 (演出者、 標題、 playcount 等) 以及 beatgrids、 hotcues 和迴圈。該選項只會影響 Mixxx 圖書館。沒有磁片上的檔將被更改或刪除。 - + Hide Tracks 隱藏的蹤跡 - + Delete Track Metadata 刪除跟蹤中繼資料 - + Leave Tracks Unchanged 離開軌道不變 - + Relink music directory to new location 重新連結到新位置的音樂目錄 - + + Black + + + + + ExtraBold + + + + + Bold + + + + + SemiBold + + + + + Medium + + + + + Light + + + + Select Library Font 選擇庫字體 @@ -6667,262 +6924,267 @@ and allows you to pitch adjust them for harmonic mixing. 启动时重新扫描目录 - + Audio File Formats 音訊檔案格式 - + Track Table View 轨道视图 - + Track Double-Click Action: 轨道双击操作: - + BPM display precision: BPM 显示精度: - + Session History 工作階段紀錄 - + Track duplicate distance 跟踪重复距离 - + When playing a track again log it to the session history only if more than N other tracks have been played in the meantime 再次播放轨道时,仅当同时播放了 N 个以上的其他轨道时,才会将其记录到会话历史记录中 - + History playlist with less than N tracks will be deleted<br/><br/>Note: the cleanup will be performed during startup and shutdown of Mixxx. 少于 N 首曲目的历史播放列表将被删除注意:清理将在 Mixxx 启动和关闭期间进行。 - + Delete history playlist with less than N tracks 删除少于 N 首曲目的历史播放列表 - + Library Font: 圖書館字體︰ - + + Show scan summary dialog + + + + Grey out played tracks 灰显播放的曲目 - + Track Search 轨迹搜索 - + Enable search completions 启用搜索补全 - + Enable search history keyboard shortcuts 启用搜索历史记录键盘快捷键 - + Percentage of pitch slider range for 'fuzzy' BPM search: “模糊”BPM 搜索范围: - + This range will be used for the 'fuzzy' BPM search (~bpm:) via the search box, as well as for BPM search in Track context menu > Search related Tracks 此范围将通过搜索框用于“模糊”BPM 搜索 (~bpm:),以及用于 Search related Tracks > Track 上下文菜单中的 BPM 搜索 - + Preferred Cover Art Fetcher Resolution 首选封面图片提取程序分辨率 - + Fetch cover art from coverartarchive.com by using Import Metadata From Musicbrainz. 使用从 Musicbrainz 导入数据 从 coverartarchive.com 中获取封面。 - + Note: ">1200 px" can fetch up to very large cover arts. 注意:“>1200 px”最多可以获取非常大的封面。 - + >1200 px (if available) >1200 像素(如果可用) - + 1200 px (if available) 1200 像素(如果可用) - + 500 px 500像素 - + 250 px 250像素 - + Settings Directory 设置目录 - + The Mixxx settings directory contains the library database, various configuration files, log files, track analysis data, as well as custom controller mappings. Mixxx 设置目录包含库数据库、各种配置文件、日志文件、轨道分析数据以及自定义控制器映射。 - + Edit those files only if you know what you are doing and only while Mixxx is not running. 仅当您知道自己在做什么时,并且仅在 Mixxx 未运行时编辑这些文件。 - + Open Mixxx Settings Folder 打开 Mixxx 设置文件夹 - + Library Row Height: 圖書館行高︰ - + Use relative paths for playlist export if possible 如果可能的話使用相對路徑進行播放清單匯出 - + ... ... - + px px - + Synchronize library track metadata from/to file tags 从文件标签同步库轨道数据/与文件标签同步 - + Automatically write modified track metadata from the library into file tags and reimport metadata from updated file tags into the library 自动将修改后的轨道元数据从库写入文件标签,并将元数据从更新的文件标签重新导入到库中 - + Synchronize Serato track metadata from/to file tags (experimental) 从/到文件标签同步 Serato 跟踪元数据(实验性) - + Keeps track color, beat grid, bpm lock, cue points, and loops synchronized with SERATO_MARKERS/MARKERS2 file tags.<br/><br/>WARNING: Enabling this option also enables the reimport of Serato metadata after files have been modified outside of Mixxx. On reimport existing metadata in Mixxx is replaced with the metadata found in file tags. Custom metadata not included in file tags like loop colors is lost. 使轨道颜色、节拍网格、bpm 锁定、提示点和 Loop 与 SERATO_MARKERS/MARKERS2 文件标签保持同步。<br/><br/>警告:启用此选项还会在 Mixxx 之外修改文件后重新导入 Serato 元数据。重新导入时,Mixxx 中的现有元数据将替换为文件标签中的数据。文件标签中未包含的自定义元数据(如循环颜色)将丢失。 - + Edit metadata after clicking selected track 单击所选轨道后编辑数据 - + Search-as-you-type timeout: 键入时搜索超时: - + ms 女士 - + Load track to next available deck 載入追蹤記錄到下一個可用的甲板上 - + External Libraries 外部庫 - + You will need to restart Mixxx for these settings to take effect. 您將需要重新開機 Mixxx,這些設置才能生效。 - + Show Rhythmbox Library 顯示 Rhythmbox 庫 - + Track Metadata Synchronization / Playlists 轨道数据同步/播放列表 - + Add track to Auto DJ queue (bottom) 将轨道添加到 Auto DJ 队列(底部) - + Add track to Auto DJ queue (top) 将轨道添加到 Auto DJ 队列(顶部) - + Ignore 忽略 - + Show Banshee Library 顯示女妖庫 - + Show iTunes Library 顯示 iTunes 庫 - + Show Traktor Library 顯示拖拉機庫 - + Show Rekordbox Library 显示 Recordbox 库 - + Show Serato Library 显示 Serato 库 - + All external libraries shown are write protected. 所示的所有外部庫已被防寫。 @@ -7267,33 +7529,33 @@ and allows you to pitch adjust them for harmonic mixing. DlgPrefRecord - + Choose recordings directory 選擇錄音目錄 - - + + Recordings directory invalid 录制文件目录无效 - + Recordings directory must be set to an existing directory. 录制目录必须设置为现有目录。 - + Recordings directory must be set to a directory. Recordings directory (录制文件目录) 必须设置为目录。 - + Recordings directory not writable 录制文件目录不可写 - + You do not have write access to %1. Choose a recordings directory you have write access to. 您没有对 %1 的写入权限。选择您具有写入权限的录制文件目录。 @@ -7311,43 +7573,55 @@ and allows you to pitch adjust them for harmonic mixing. 流覽... - - + + This will include the filepath for each track in the CUE file. +This option makes the CUE file less portable and can reveal personal +information from filepaths (i.e. username) + + + + + Enable File Annotation in CUE file + + + + + Quality 品質 - + Tags 標籤 - + Title 標題 - + Author 作者 - + Album 專輯 - + Output File Format 輸出檔案格式 - + Compression 壓縮 - + Lossy 損耗衰減 @@ -7362,12 +7636,12 @@ and allows you to pitch adjust them for harmonic mixing. 目录: - + Compression Level 壓縮等級 - + Lossless 無損 @@ -7500,172 +7774,177 @@ The loudness target is approximate and assumes track pregain and main output lev DlgPrefSound - + %1 Hz %1 Hz - + Default (long delay) 預設 (長時間的延遲) - + Experimental (no delay) 實驗 (無延時) - + Disabled (short delay) 禁用 (短延時) - + Soundcard Clock 声卡时钟 - + Network Clock 网络时钟 - + Direct monitor (recording and broadcasting only) 直接监视器(仅限录制和广播) - + Disabled 已禁用 - + Enabled 啟用 - + Stereo 身歷聲 - + Mono 單聲道 - + To enable Realtime scheduling (currently disabled), see the %1. 要启用实时计划(当前已禁用),请参阅 %1。 - + The %1 lists sound cards and controllers you may want to consider for using Mixxx. %1 列出了您可能需要考虑使用 Mixxx 的声卡和控制器。 - + Mixxx DJ Hardware Guide Mixxx DJ 硬件指南 - + + Find details in the Mixxx user manual + + + + Information - + Mixxx must be restarted before the multi-threaded RubberBand setting change will take effect. - + auto (<= 1024 frames/period) 自动(<= 1024 帧/周期) - + 2048 frames/period 2048 帧/周期 - + 4096 frames/period 4096 帧/周期 - + Are you sure? - + Distribute stereo channels into mono channels for parallel processing will result in a loss of mono compatibility and a diffuse stereo image. It is not recommended during broadcasting or recording. - + Are you sure you wish to proceed? - + No - + Yes, I know what I am doing - + Microphone inputs are out of time in the record & broadcast signal compared to what you hear. 与您听到的相比,麦克风输入在录音和广播信号中显得不合时宜。 - + Measure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. 测量往返延迟,并在上方输入麦克风延迟补偿以对齐麦克风计时。 - + Refer to the Mixxx User Manual for details. 細節請參考Mixxx 使用者操作手冊 - + Configured latency has changed. 配置的延迟已更改。 - + Remeasure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. 重新测量往返延迟,并将其输入到麦克风延迟补偿上方,以调整麦克风定时。 - + Realtime scheduling is enabled. 已启用实时调度。 - + Main output only 仅主输出 - + Main and booth outputs 主输出和展位输出 - + %1 ms %1 ms - + Configuration error 配置錯誤 @@ -7732,17 +8011,22 @@ The loudness target is approximate and assumes track pregain and main output lev 女士 - + + Deck and Bus outputs are for external mixers. They are post-fader and include effects and crossfader (for Auto DJ). For external mixing, make sure all Mixxx faders and EQ knobs are set to their default position (right- or double-click). + + + + 20 ms 為 20 毫秒 - + Buffer Underflow Count 緩衝區下溢計數 - + 0 0 @@ -7767,12 +8051,12 @@ The loudness target is approximate and assumes track pregain and main output lev 輸入 - + System Reported Latency 系統報告延遲 - + Enlarge your audio buffer if the underflow counter is increasing or you hear pops during playback. 如果增加下溢計數器或你聽到持久性有機污染物在播放過程中,放大你的音訊緩衝區。 @@ -7802,7 +8086,7 @@ The loudness target is approximate and assumes track pregain and main output lev 提示和診斷 - + Downsize your audio buffer to improve Mixxx's responsiveness. 縮減你的音訊緩衝區來提高 Mixxx 的回應能力。 @@ -7849,7 +8133,7 @@ The loudness target is approximate and assumes track pregain and main output lev 乙烯基配置 - + Show Signal Quality in Skin 在皮膚中顯示信號品質 @@ -7885,47 +8169,52 @@ The loudness target is approximate and assumes track pregain and main output lev + Pitch estimator + + + + Deck 1 碟盘1 - + Deck 2 碟盘2 - + Deck 3 碟盘3 - + Deck 4 碟盘4 - + Signal Quality 信號品質 - + http://www.xwax.co.uk HTTP://www.xwax.co.uk - + Powered by xwax 由 xwax 提供動力 - + Hints 提示 - + Select sound devices for Vinyl Control in the Sound Hardware pane. 選擇聲音設備乙烯控制聲音硬體窗格中。 @@ -7933,58 +8222,58 @@ The loudness target is approximate and assumes track pregain and main output lev DlgPrefWaveform - + Filtered 過濾 - + HSV 單純皰疹病毒 - + RGB RGB - + Top 返回页首 - + Center 中心 - + Bottom - + 1/3 of waveform viewer options for "Text height limit" - + Entire waveform viewer - + OpenGL not available OpenGL 不可用 - + dropped frames 丟棄的幀 - + Cached waveforms occupy %1 MiB on disk. 緩存的波形佔據磁片上的 MiB %1。 @@ -8002,22 +8291,17 @@ The loudness target is approximate and assumes track pregain and main output lev 畫面播放速率 - + OpenGL Status - + Displays which OpenGL version is supported by the current platform. 顯示由當前平臺支援的 OpenGL 版本。 - - Normalize waveform overview - 正常化波形概述 - - - + Average frame rate 平均畫面播放速率 @@ -8033,7 +8317,7 @@ The loudness target is approximate and assumes track pregain and main output lev 預設縮放級別 - + Displays the actual frame rate. 顯示實際的畫面播放速率。 @@ -8068,7 +8352,7 @@ The loudness target is approximate and assumes track pregain and main output lev - + Show minute markers on waveform overview @@ -8113,7 +8397,7 @@ The loudness target is approximate and assumes track pregain and main output lev 全球視覺增益 - + The waveform overview shows the waveform envelope of the entire track. Select from different types of displays for the waveform overview, which differ primarily in the level of detail shown in the waveform. 选择波形的显示样式,其主要区别在于显示在波形中的细节多少。 @@ -8181,22 +8465,22 @@ Select from different types of displays for the waveform, which differ primarily pt - + Caching 緩存 - + Mixxx caches the waveforms of your tracks on disk the first time you load a track. This reduces CPU usage when you are playing live but requires extra disk space. Mixxx 緩存您軌道在磁片第一次你載入追蹤記錄的波形。這降低了 CPU 使用率,當你玩活的時候,但需要額外的磁碟空間。 - + Enable waveform caching 啟用緩存波形 - + Generate waveforms when analyzing library 在分析圖書館時產生波形 @@ -8212,7 +8496,7 @@ Select from different types of displays for the waveform, which differ primarily - + Type @@ -8237,17 +8521,63 @@ Select from different types of displays for the waveform, which differ primarily 播放标记位置 - - Moves the play marker position on the waveforms to the left, right or center (default). - 将波形上的播放标记位置向左、向右或居中移动(默认)。 + + Moves the play marker position on the waveforms to the left, right or center (default). + 将波形上的播放标记位置向左、向右或居中移动(默认)。 + + + + Stem + + + + + Channel opacity + + + + + Channel opacity (outline) + + + + + Main stem opacity + + + + + Outline stem opacity + + + + + Move channel to foreground when volume is adjusted + + + + + Overview Waveforms + + + + + Gain + + + + + Normalize to peak + - - Overview Waveforms + + Use Waveform "Global" gain and ReplayGain (if enabled) + 'Global' refers to the 'Global' visual gain in the scrolling waveform settings - + Clear Cached Waveforms 清除緩存的波形 @@ -8739,7 +9069,7 @@ This can not be undone! BPM: - + Location: 位置︰ @@ -8754,27 +9084,27 @@ This can not be undone! 評論 - + BPM BPM - + Sets the BPM to 75% of the current value. 將 BPM 設置為當前值的 75%。 - + 3/4 BPM 3/4 BPM - + Sets the BPM to 50% of the current value. 將 BPM 設置為當前值的 50%。 - + Displays the BPM of the selected track. 顯示選定的軌道的 BPM。 @@ -8829,49 +9159,49 @@ This can not be undone! 體裁 - + ReplayGain: 重播增益︰ - + Sets the BPM to 200% of the current value. 將 BPM 設置為 200%的當前值。 - + Double BPM 雙 BPM - + Halve BPM 減半 BPM - + Clear BPM and Beatgrid 明確的 BPM 和 Beatgrid - + Move to the previous item. "Previous" button 移動到前一項。 - + &Previous & 上一頁 - + Move to the next item. "Next" button 移動到下一個專案。 - + &Next 與下一步 @@ -8896,12 +9226,12 @@ This can not be undone! 颜色 - + Date added: 添加日期: - + Open in File Browser 在檔瀏覽器中打開 @@ -8911,12 +9241,17 @@ This can not be undone! 采样率: - + + Filesize: + + + + Track BPM: BPM 的軌道︰ - + Converts beats detected by the analyzer into a fixed-tempo beatgrid. Use this setting if your tracks have a constant tempo (e.g. most electronic music). Often results in higher quality beatgrids, but will not do well on tracks that have tempo shifts. @@ -8925,90 +9260,90 @@ Often results in higher quality beatgrids, but will not do well on tracks that h 这样通常能得到质量更高的节拍网格,但对有节奏变化的音轨效果不佳。 - + Assume constant tempo 假設恒定的節奏 - + Sets the BPM to 66% of the current value. 將 BPM 設置為當前值的 66%。 - + 2/3 BPM 2/3 BPM - + Sets the BPM to 150% of the current value. 将 BPM 设置为当前值的 150%。 - + 3/2 BPM 3/2 BPM - + Sets the BPM to 133% of the current value. 将 BPM 设置为当前值的 133%。 - + 4/3 BPM 4/3 BPM - + Tap with the beat to set the BPM to the speed you are tapping. 點擊擊敗,設置 BPM 為您正在開發的速度。 - + Tap to Beat 點擊節拍 - + Hint: Use the Library Analyze view to run BPM detection. 提示︰ 使用庫分析視圖運行 BPM 檢測。 - + Save changes and close the window. "OK" button 保存更改並關閉視窗。 - + &OK 與確定 - + Discard changes and close the window. "Cancel" button 捨棄變更並關閉視窗。 - + Save changes and keep the window open. "Apply" button 保存更改並保持視窗打開。 - + &Apply 與應用 - + &Cancel 取消(&C) - + (no color) (无颜色) @@ -9165,7 +9500,7 @@ Often results in higher quality beatgrids, but will not do well on tracks that h 确认(&O) - + (no color) (无颜色) @@ -9367,27 +9702,27 @@ Often results in higher quality beatgrids, but will not do well on tracks that h EngineBuffer - + Soundtouch (faster) Soundtouch (更快) - + Rubberband (better) 橡皮條 (更好) - + Rubberband R3 (near-hi-fi quality) 接近高保真质量 - + Unknown, using Rubberband (better) 未知,使用更好 - + Unknown, using Soundtouch 未知,使用 Soundtouch @@ -9602,15 +9937,15 @@ Often results in higher quality beatgrids, but will not do well on tracks that h LegacySkinParser - - + + Safe Mode Enabled Shown when Mixxx is running in safe mode. 啟用安全模式 - - + + No OpenGL support. Shown when Spinny can not be displayed. Please keep @@ -9621,57 +9956,57 @@ Shown when VuMeter can not be displayed. Please keep 沒有 OpenGL 支援。 - + activate 啟動 - + toggle 切換 - + right 權利 - + left - + right small 右小 - + left small 左小 - + up 向上 - + down 向下 - + up small 小了 - + down small 下小 - + Shortcut 快捷方式 @@ -9679,37 +10014,37 @@ Shown when VuMeter can not be displayed. Please keep Library - + This or a parent directory is already in your library. 此目录或父目录已位于您的库中。 - + This or a listed directory does not exist or is inaccessible. Aborting the operation to avoid library inconsistencies 此目录或列出的目录不存在或无法访问。 中止操作以避免库不一致 - - + + This directory can not be read. 无法读取此目录。 - + An unknown error occurred. Aborting the operation to avoid library inconsistencies 发生未知错误。 中止操作以避免库不一致 - + Can't add Directory to Library 无法将目录添加到库 - + Could not add <b>%1</b> to your library. %2 @@ -9718,27 +10053,27 @@ Aborting the operation to avoid library inconsistencies %2 - + Can't remove Directory from Library 无法从库中删除目录 - + An unknown error occurred. 发生未知错误。 - + This directory does not exist or is inaccessible. 此目录不存在或无法访问。 - + Relink Directory 重新链接目录 - + Could not relink <b>%1</b> to <b>%2</b>. %3 @@ -9902,12 +10237,12 @@ Do you really want to overwrite it? 隱藏的曲目 - + Export to Engine DJ 导出到 Engine DJ - + Tracks 音軌 @@ -9915,37 +10250,37 @@ Do you really want to overwrite it? MixxxMainWindow - + Sound Device Busy 聲音設備忙 - + <b>Retry</b> after closing the other application or reconnecting a sound device 關閉其他應用程式或重新連接聲音設備後 <b>重試</b> - - - + + + <b>Reconfigure</b> Mixxx's sound device settings. <b>重新配置</b>Mixxx 的聲音設備設置。 - - + + Get <b>Help</b> from the Mixxx Wiki. 從 Mixxx Wiki 得到 <b>説明</b>。 - - - + + + <b>Exit</b> Mixxx. <b>退出</b>Mixxx。 - + Retry 重試 @@ -9955,211 +10290,211 @@ Do you really want to overwrite it? 皮肤 - + Allow Mixxx to hide the menu bar? 允许 Mixxx 隐藏菜单栏? - + Hide Always show the menu bar? 隐藏 - + Always show 始终显示 - + The Mixxx menu bar is hidden and can be toggled with a single press of the <b>Alt</b> key.<br><br>Click <b>%1</b> to agree.<br><br>Click <b>%2</b> to disable that, for example if you don't use Mixxx with a keyboard.<br><br>You can change this setting any time in Preferences -> Interface.<br> Keep formatting tags <b> (bold text) and <br> (linebreak). %1 is the placeholder for the 'Always show' button label Mixxx 菜单栏是隐藏的,只需按一下<b>Alt 键</b>钥匙。<br><br>点击<b>%1</b>同意。<br><br>点击<b>%2</b>以禁用它,例如,如果您不将 Mixxx 与键盘一起使用。<br><br>您可以随时在 Preferences -> Interface 中更改此设置。<br> - + Ask me again 再问我一次 - - + + Reconfigure 重新配置 - + Help 説明 - - + + Exit 退出 - - + + Mixxx was unable to open all the configured sound devices. Mixxx 無法打開所有設定好的聲音裝置。 - + Sound Device Error 聲音裝置錯誤 - + <b>Retry</b> after fixing an issue 修正错误后 <b> 重试 </b> - + No Output Devices 沒有輸出裝置 - + Mixxx was configured without any output sound devices. Audio processing will be disabled without a configured output device. Mixxx 是沒有任何輸出聲音設備配置的。沒有已配置的輸出裝置,將禁用音訊處理。 - + <b>Continue</b> without any outputs. <b>繼續</b> 沒有任何產出。 - + Continue 繼續 - + Load track to Deck %1 負荷跟蹤到甲板 %1 - + Deck %1 is currently playing a track. 甲板 %1 當前播放的曲目。 - + Are you sure you want to load a new track? 你確定你想要載入一個新的軌道? - + There is no input device selected for this vinyl control. Please select an input device in the sound hardware preferences first. 有是沒有為此乙烯基控制項選擇的輸入的設備。 請先在聲音硬體首選項中選擇一種輸入的設備。 - + There is no input device selected for this passthrough control. Please select an input device in the sound hardware preferences first. 有是沒有為此直通控制項選擇的輸入的設備。 請先在聲音硬體首選項中選擇一種輸入的設備。 - + There is no input device selected for this microphone. Do you want to select an input device? 没有为此麦克风选择输入设备。是否要选择输入设备? - + There is no input device selected for this auxiliary. Do you want to select an input device? 没有为此辅助设备选择输入设备。是否要选择输入设备? - + Scan took %1 - + No changes detected. - - + + %1 tracks in total - + %1 new tracks found - + %1 moved tracks detected - + %1 tracks are missing (%2 total) - + %1 tracks have been rediscovered - + Library scan finished - + Error in skin file 皮膚檔中的錯誤 - + The selected skin cannot be loaded. 無法載入所選的外觀。 - + OpenGL Direct Rendering OpenGL 直接繪製 - + Direct rendering is not enabled on your machine.<br><br>This means that the waveform displays will be very<br><b>slow and may tax your CPU heavily</b>. Either update your<br>configuration to enable direct rendering, or disable<br>the waveform displays in the Mixxx preferences by selecting<br>"Empty" as the waveform display in the 'Interface' section. 您的计算机上未启用直接渲染。<br><br>这意味着波形显示将非常<br><b>速度慢,并且可能会严重占用您的 CPU</b>.要么更新您的<br>配置以启用直接渲染或禁用<br>波形将通过选择 Mixxx 首选项显示在<br>“空”作为“界面”部分的波形显示。 - - - + + + Confirm Exit 確認退出 - + A deck is currently playing. Exit Mixxx? 當前現正播放的甲板。退出 Mixxx 嗎? - + A sampler is currently playing. Exit Mixxx? 當前現正播放採樣器。退出 Mixxx 嗎? - + The preferences window is still open. 首選項視窗是仍處於打開狀態。 - + Discard any changes and exit Mixxx? 放棄所有更改並退出 Mixxx? @@ -10175,13 +10510,13 @@ Do you want to select an input device? PlaylistFeature - + Lock - - + + Playlists 播放清單 @@ -10191,58 +10526,63 @@ Do you want to select an input device? 随机播放播放列表 - + + Adopt current order + + + + Unlock all playlists - + Delete all unlocked playlists - + Unlock 解鎖 - - + + Confirm Deletion - + Do you really want to delete all unlocked playlists? - + Deleting %1 unlocked playlists.<br>This operation can not be undone! - + Playlists are ordered lists of tracks that allow you to plan your DJ sets. 播放列表是有序的曲目列表,允许您规划 DJ 集。 - + It may be necessary to skip some tracks in your prepared playlist or add some different tracks in order to maintain the energy of your audience. 可能需要跳过您准备好的播放列表中的一些曲目或添加一些不同的曲目,以保持观众的活力。 - + Some DJs construct playlists before they perform live, but others prefer to build them on-the-fly. 一些 Dj 構建播放清單之前他們表演,但其他人則傾向建立他們的蒼蠅。 - + When using a playlist during a live DJ set, remember to always pay close attention to how your audience reacts to the music you've chosen to play. 當在一個活的 DJ 集,使用播放清單記得總是密切關注你的聽眾對音樂的反應您已經選擇玩。 - + Create New Playlist 創建新的播放清單 @@ -10341,59 +10681,59 @@ Do you want to select an input device? QMessageBox - + Upgrading Mixxx 升級 Mixxx - + Mixxx now supports displaying cover art. Do you want to scan your library for cover files now? Mixxx 現在支援顯示封面藝術。 你想要現在掃描媒體庫中的封面檔嗎? - + Scan 掃描 - + Later 後來 - + Upgrading Mixxx from v1.9.x/1.10.x. 從 v1.9.x/1.10.x 升級 Mixxx。 - + Mixxx has a new and improved beat detector. Mixxx 具有一個新的和改進的節拍探測器。 - + When you load tracks, Mixxx can re-analyze them and generate new, more accurate beatgrids. This will make automatic beatsync and looping more reliable. 當你載入軌道時,Mixxx 可以重新對其進行分析和產生新的、 更準確的 beatgrids。這將使自動 beatsync 和迴圈更可靠。 - + This does not affect saved cues, hotcues, playlists, or crates. 這並不影響保存提示、 hotcues、 播放清單或板條箱。 - + If you do not want Mixxx to re-analyze your tracks, choose "Keep Current Beatgrids". You can change this setting at any time from the "Beat Detection" section of the Preferences. 如果你不想 Mixxx 重新分析你的曲目,請選擇"保持當前的 Beatgrids"。你可以從"擊敗檢測"一節的首選項更改此設置在任何時間。 - + Keep Current Beatgrids 保持當前 Beatgrids - + Generate New Beatgrids 生成新 Beatgrids @@ -10507,69 +10847,82 @@ Do you want to scan your library for cover files now? 14 位 (MSB) - + Main + Audio path indetifier 主要 - + Booth + Audio path indetifier Booth - + Headphones + Audio path indetifier 耳機 - + Left Bus + Audio path indetifier 左的巴士 - + Center Bus + Audio path indetifier 中心巴士 - + Right Bus + Audio path indetifier 公共汽車嗎 - + Invalid Bus + Audio path indetifier 不正確巴士 - + Deck + Audio path indetifier 甲板上 - + Record/Broadcast + Audio path indetifier 錄音/廣播 - + Vinyl Control + Audio path indetifier 唱片控制 - + Microphone + Audio path indetifier 麥克風 - + Auxiliary + Audio path indetifier 輔助 - + Unknown path type %1 + Audio path 未知的路徑類型 %1 @@ -10912,47 +11265,49 @@ With width at zero, this allows for manually sweeping over the entire delay rang 寬度 - + Metronome 节拍器 - + + The Mixxx Team - + Adds a metronome click sound to the stream 向流中添加节拍器咔嗒声 - + BPM BPM - + Set the beats per minute value of the click sound 设置咔嗒声的每分钟节拍数值 - + Sync 同步 - + Synchronizes the BPM with the track if it can be retrieved 如果可以检索 Track,则将 BPM 与 Track 同步 - + + Gain - + Set the gain of metronome click sound @@ -11756,14 +12111,14 @@ Fully right: end of the effect period 不支持 OGG 录制。无法初始化 OGG/Vorbis 库。 - - + + encoder failure 编码器故障 - - + + Failed to apply the selected settings. 无法应用所选设置。 @@ -11970,15 +12325,86 @@ and the processed output signal as close as possible in perceived loudness打开 + + Auto Gain Control + + + + + AGC + + + + + Auto Gain Control (AGC) automatically adjusts the gain of an audio signal to maintain a consistent output level. + + + + Threshold (dBFS) 阈值 (dBFS) + Threshold 门槛 + + + The Threshold knob adjusts the level above which the effect starts enhancing the input signal + + + + + Target (dBFS) + + + + + Target + + + + + The Target knob adjusts the desired target level of the output signal + + + + + Gain (dB) + + + + + The Gain knob adjusts the maximum amount of gain that the effect will apply + + + + + Knee (dB) + + + + + The Knee knob defines the range around the Threshold where gain changes are applied gradually, +ensuring smooth transitions and avoiding abrupt level shifts. + + + + + The Attack knob sets the time that determines how fast the auto gain +will set in once the signal exceeds the threshold + + + + + The Release knob sets the time that determines how fast the auto gain will recover from the gain +adjustment once the signal falls under the threshold. Depending on the input signal, short release times +may introduce a 'pumping' effect and/or distortion. + + The Threshold knob adjusts the level above which the compressor starts attenuating the input signal @@ -12009,6 +12435,7 @@ At a ratio of 1:1 no compression is happening, as the input is exactly the outpu Knee (dBFS) + Knee Knee @@ -12019,11 +12446,13 @@ At a ratio of 1:1 no compression is happening, as the input is exactly the outpu Knee 旋钮用于实现更圆润的压缩曲线 + Attack (ms) + Attack @@ -12036,11 +12465,13 @@ will set in once the signal exceeds the threshold 将在信号超过阈值时设置 + Release (ms) 版本(毫秒) + Release 释放 @@ -12071,12 +12502,12 @@ may introduce a 'pumping' effect and/or distortion. 各种 - + built-in - + missing @@ -12111,42 +12542,42 @@ may introduce a 'pumping' effect and/or distortion. - + Empty - + Simple - + Filtered - + HSV - + VSyncTest - + RGB - + Stacked - + Unknown @@ -12228,7 +12659,7 @@ may introduce a 'pumping' effect and/or distortion. Hot cues - Hot cues + 熱點 @@ -12407,193 +12838,193 @@ may introduce a 'pumping' effect and/or distortion. ShoutConnection - - + + Mixxx encountered a problem Mixxx 時遇到問題 - + Could not allocate shout_t 無法分配 shout_t - + Could not allocate shout_metadata_t 無法分配 shout_metadata_t - + Error setting non-blocking mode: 錯誤設置非阻塞模式︰ - + Error setting tls mode: 设置 TLS 模式时出错: - + Error setting hostname! 錯誤設置主機名稱 ! - + Error setting port! 設置埠時出錯 ! - + Error setting password! 設置密碼時出錯 ! - + Error setting mount! 設置裝載錯誤 ! - + Error setting username! 錯誤設置使用者名 ! - + Error setting stream name! 錯誤設置流名稱 ! - + Error setting stream description! 錯誤設置流說明 ! - + Error setting stream genre! 錯誤設置流流派 ! - + Error setting stream url! 錯誤設置流 url ! - + Error setting stream IRC! 设置流 IRC 时出错! - + Error setting stream AIM! 设置流 AIM 时出错! - + Error setting stream ICQ! 设置流 ICQ 时出错! - + Error setting stream public! 錯誤設置流公共 ! - + Unknown stream encoding format! 未知的流编码格式! - + Use a libshout version with %1 enabled 使用启用了 %1 的 libshout 版本 - + Error setting stream encoding format! 设置流编码格式时出错! - + Broadcasting at 96 kHz with Ogg Vorbis is not currently supported. Please try a different sample rate or switch to a different encoding. 目前不支持使用 Ogg Vorbis 以 96 kHz 进行广播。请尝试不同的采样率或切换到不同的编码。 - + See https://github.com/mixxxdj/mixxx/issues/5701 for more information. 有关更多信息,请参阅 https://github.com/mixxxdj/mixxx/issues/5701。 - + Unsupported sample rate 不支持的采样率 - + Error setting bitrate 錯誤設置位元速率 - + Error: unknown server protocol! 錯誤︰ 未知的伺服器協定 ! - + Error: Shoutcast only supports MP3 and AAC encoders 错误:Shoutcast 仅支持 MP3 和 AAC 编码器 - + Error setting protocol! 錯誤設置協定 ! - + Network cache overflow 網路的快取溢出 - + Connection error 连接错误 - + One of the Live Broadcasting connections raised this error:<br><b>Error with connection '%1':</b><br> 其中一个 Live Broadcasting 连接引发了以下错误:<br><b>连接“%1”出错:</b><br> - + Connection message 连接消息 - + <b>Message from Live Broadcasting connection '%1':</b><br> <b>来自实时广播连接“%1”的消息:</b><br> - + Lost connection to streaming server and %1 attempts to reconnect have failed. 到流服务器的连接中断,且在 %1 次重试之后仍然无法重新连接 - + Lost connection to streaming server. 到流服务器的连接断开 - + Please check your connection to the Internet. 請檢你的網際網路連線 - + Can't connect to streaming server 無法連接到流媒體伺服器 - + Please check your connection to the Internet and verify that your username and password are correct. 請檢查您連接到 Internet,請驗證您的使用者名和密碼正確。 @@ -12601,7 +13032,7 @@ may introduce a 'pumping' effect and/or distortion. SoftwareWaveformWidget - + Filtered 過濾 @@ -12609,23 +13040,23 @@ may introduce a 'pumping' effect and/or distortion. SoundManager - - + + a device 設備 - + An unknown error occurred 出現未知的錯誤 - + Two outputs cannot share channels on "%1" 两个输出无法共享 %1 的通道 - + Error opening "%1" 无法打开 "%1" @@ -12810,7 +13241,7 @@ may introduce a 'pumping' effect and/or distortion. - + Spinning Vinyl 紡紗乙烯基 @@ -12992,7 +13423,7 @@ may introduce a 'pumping' effect and/or distortion. - + Cover Art 封面 @@ -13182,243 +13613,243 @@ may introduce a 'pumping' effect and/or distortion. 持有低情商的增益為零的活躍。 - + Displays the tempo of the loaded track in BPM (beats per minute). 在 BPM (每分鐘心跳) 中顯示載入跟蹤的節奏。 - + Tempo 節奏 - + Key The musical key of a track 關鍵 - + BPM Tap BPM 偵測 - + When tapped repeatedly, adjusts the BPM to match the tapped BPM. 當敲擊時反復,調整 BPM 的匹配抽頭的 BPM。 - + Adjust BPM Down 向下調整 BPM - + When tapped, adjusts the average BPM down by a small amount. 當敲擊時,通過少量下來調整平均 BPM。 - + Adjust BPM Up BPM 調高 - + When tapped, adjusts the average BPM up by a small amount. 當敲擊時,通過少量向上調整平均 BPM。 - + Adjust Beats Earlier 早些時候調整節拍 - + When tapped, moves the beatgrid left by a small amount. 當敲擊時,移動 beatgrid 留下的一小部分。 - + Adjust Beats Later 後來調整節奏 - + When tapped, moves the beatgrid right by a small amount. 拍了拍,以少量右移動 beatgrid。 - + Tempo and BPM Tap 節奏和 BPM 水龍頭 - + Show/hide the spinning vinyl section. 顯示/隱藏紡乙烯基節。 - + Keylock 鑰匙鎖 - + Toggling keylock during playback may result in a momentary audio glitch. 在播放過程中切換鍵鎖可能會導致一個短暫的音訊故障。 - + Toggle visibility of Loop Controls 切换 Loop Controls 的可见性 - + Toggle visibility of Beatjump Controls 切换 Beatjump 控件的可见性 - + Toggle visibility of Rate Control 切换速率控制的可见性 - + Toggle visibility of Key Controls 切换键控的可见性 - + (while previewing) (预览时) - + Places a cue point at the current position on the waveform. 在波形的当前位置上设置一个切入点。 - + Stops track at cue point, OR go to cue point and play after release (CUP mode). 在切入点处停止,或跳至切入点并在释放后播放(切播模式下)。 - + Set cue point (Pioneer/Mixxx/Numark mode), set cue point and play after release (CUP mode) OR preview from it (Denon mode). 设置切入点(Pioneer/Mixxx 模式下)并在释放后开始播放(切播模式下),或从切入点出开始预览(Denon 模式下)。 - + Is latching the playing state. 正在锁定播放状态。 - + Seeks the track to the cue point and stops. 跳至音轨的切入点,然后停止。 - + Play 播放 - + Plays track from the cue point. 从提示点播放轨道。 - + Sends the selected channel's audio to the headphone output, selected in Preferences -> Sound Hardware. 将所选通道的音频发送到在偏好设置 -> 声音硬件中选择的耳机输出。 - + (This skin should be updated to use Sync Lock!) 这个皮肤应该更新一下,使用同步锁! - + Enable Sync Lock 启用 Sync Lock - + Tap to sync the tempo to other playing tracks or the sync leader. 点击可将速度同步到其他正在播放的轨道或同步引导。 - + Enable Sync Leader 启用 Sync Leader - + When enabled, this device will serve as the sync leader for all other decks. 启用后,此设备将用作所有其他 Deck 的同步引导。 - + This is relevant when a dynamic tempo track is loaded to a sync leader deck.In that case, other synced devices will adopt the changing tempo. 当动态速度轨道加载到同步引导界面时,这一点很重要。在这种情况下,其他同步装置将采用不断变化的速度。 - + Changes the track playback speed (affects both the tempo and the pitch). If keylock is enabled, only the tempo is affected. 更改跟蹤重播速度 (影響節奏和音高)。如果啟用了鍵盤鎖,只有節奏受到影響。 - + Tempo Range Display 速度范围显示 - + Displays the current range of the tempo slider. 显示速度滑块的当前范围。 - + Un-ejects when no track is loaded, i.e. reloads the track that was ejected last (of any deck). 未加载 track 时取消弹出,即重新加载最后弹出的 track (任何卡座)。 - + Delete selected hotcue. 删除选定的 hotcue。 - + Track Comment 轨道评级 - + Displays the comment tag of the loaded track. 显示加载的轨道的注释标签。 - + Opens separate artwork viewer. 打开单独的图稿查看器。 - + Effect Chain Preset Settings Effect Chain 预设设置 - + Show the effect chain settings menu for this unit. 显示本机的 Effect Chain 设置菜单。 - + Select and configure a hardware device for this input 为此输入选择并配置硬件设备 - + Recording Duration 录制时间 @@ -13641,949 +14072,984 @@ may introduce a 'pumping' effect and/or distortion. 在活动时保持较高的播放速度(少量)。 - + When tapped repeatedly, adjusts the tempo to match the tapped BPM. 若重复点击,将把音轨的 BPM 设为点击动作的 BPM。 + + + Click to open the tempo/BPM editor + + + + + It also shows a colored bar if Key colors are enabled in the Preferences. + + + The bar will be split vertically if the track's key is in between full keys. + + + + Tempo Tap 节奏敲击 - + Rate Tap and BPM Tap Rate Tap 和 BPM Tap - + + Set Tempo + + + + + Set the desired tempo in BPM. If the track currently has no BPM detected, set the desired tempo in percent. + + + + Adjust beatgrid by exactly one half beat. Usable only on tracks with constant tempo. - + Revert last BPM/Beatgrid Change 还原上次 BPM/节拍网格 更改 - + Revert last BPM/Beatgrid Change of the loaded track. 还原上次 BPM/节拍网格 对加载曲目的更改。 - - + + Toggle the BPM/beatgrid lock 切换 BPM/节拍网格 锁 - + Tempo and Rate Tap 速度和 BPM - + Tempo, Rate Tap and BPM Tap 速度、速率拍子和 BPM 拍子 - + Shift cues earlier 提前移动提示 - - + + Shift cues imported from Serato or Rekordbox if they are slightly off time. 从 Serato 或 Rekordbox 导入的 Shift 提示点(如果它们稍微偏离时间)。 - + Left click: shift 10 milliseconds earlier 左键单击:提前 10 毫秒 Shift - + Right click: shift 1 millisecond earlier 右键单击:提前 1 毫秒 Shift - + Shift cues later 稍后切换提示 - + Left click: shift 10 milliseconds later 左键单击:10 毫秒后 shift - + Right click: shift 1 millisecond later 右键单击:1 毫秒后 Shift - - - + + + Drag a Hotcue button here to continue playing after releasing the Hotcue. - + Hint: Change the default cue mode in Preferences -> Decks. - + Mutes the selected channel's audio in the main output. 将主输出中所选声道的音频静音。 - + Main mix enable 主混音启用 - + Hold or short click for latching to mix this input into the main output. 按住或短按锁定以将此输入混合到主输出中。 - + + Reloads the last replaced track. If no track is loaded reloads the second-last ejected track. + + + + If hotcue is a loop cue, toggles the loop and jumps to if the loop is behind the play position. 如果 hotcue 是一个 Loop 提示,则切换 Loop 并跳转到 Loop 是否在播放位置后面。 - + If the play position is inside an active loop, stores the loop as loop cue. 如果播放位置位于活动 Loop 内,则将 Loop 存储为 Loop 提示。 - + Drag this button onto another Hotcue button to move it there (change its index). If the other hotcue is set, the two are swapped. - + Expand/Collapse Samplers 展开/折叠采样器 - + Toggle expanded samplers view. 切换展开的采样器视图。 - + Displays the duration of the running recording. 显示运行录制的持续时间。 - + Auto DJ is active Auto DJ 处于活动状态 - + Red for when needle skip has been detected. 红色表示检测到跳针。 - + Hot Cue - Track will seek to nearest previous hotcue point. 热切 - 将会定位到上一个(最近的)热切入点。 - + Sets the track Loop-In Marker to the current play position. 将当前播放位置设为碟机循环起始位置。 - + Press and hold to move Loop-In Marker. 按住可移动 Loop-In 标记。 - + Jump to Loop-In Marker. 跳转到 Loop-In 标记。 - + Sets the track Loop-Out Marker to the current play position. 将当前播放位置设为碟机循环起始位置。 - + Press and hold to move Loop-Out Marker. 按住可移动 Loop-Out Marker。 - + Jump to Loop-Out Marker. 跳转到 Loop-Out Marker。 - + If the track has no beats the unit is seconds. 如果轨道没有节拍,则单位为秒。 - + Beatloop Size Beatloop 大小 - + Select the size of the loop in beats to set with the Beatloop button. 选择 Loop 的大小(以节拍为单位),以使用 Beatloop 按钮进行设置。 - + Changing this resizes the loop if the loop already matches this size. 如果 loop 已经匹配此大小,则更改此 URL 将调整 Loop 的大小。 - + Halve the size of an existing beatloop, or halve the size of the next beatloop set with the Beatloop button. 将现有 Beatloop 的大小减半,或使用 Beatloop 按钮将下一个 Beatloop 集的大小减半。 - + Double the size of an existing beatloop, or double the size of the next beatloop set with the Beatloop button. 使用 Beatloop 按钮将现有 Beatloop 的大小增加一倍,或将下一个 Beatloop 集的大小增加一倍。 - + Start a loop over the set number of beats. 在设定的节拍数上开始循环。 - + Temporarily enable a rolling loop over the set number of beats. 在设定的节拍数上暂时启用滚动循环。 - + Beatloop Anchor Beatloop 固定点 - + Define whether the loop is created and adjusted from its staring point or ending point. 定义是否从其起始点或终点创建和调整循环。 - + Beatjump/Loop Move Size Beatjump/Loop 移动大小 - + Select the number of beats to jump or move the loop with the Beatjump Forward/Backward buttons. 选择要跳跃的节拍数,或使用 Beatjump Forward/Backward 按钮移动 Loop。 - + Beatjump Forward Beatjump 向前 - + Jump forward by the set number of beats. 向前跳动设定的节拍数。 - + Move the loop forward by the set number of beats. 将 Loop 向前移动设定的节拍数。 - + Jump forward by 1 beat. 向前跳 1 拍 - + Move the loop forward by 1 beat. 将循环向前移动 1 拍 - + Beatjump Backward 向后跳拍 - + Jump backward by the set number of beats. 向后跳过指定数量的节拍。 - + Move the loop backward by the set number of beats. 将循环向后移动指定数量的节拍。 - + Jump backward by 1 beat. 向后跳 1 拍 - + Move the loop backward by 1 beat. 将循环向后移动 1 拍 - + Reloop 再循环 - + If the loop is ahead of the current position, looping will start when the loop is reached. 如果在当前播放位置前方有循环节的话,将会在到达循环的时候开始循环。 - + Works only if Loop-In and Loop-Out Marker are set. 仅当设置了循环起始和结束位置时才会有效。 - + Enable loop, jump to Loop-In Marker, and stop playback. 启用 loop,跳转到 Loop-In Marker,然后停止播放。 - + Displays the elapsed and/or remaining time of the track loaded. 显示加载跟踪的经过和 (或) 剩余时间。 - + Click to toggle between time elapsed/remaining time/both. 单击可切换时间/剩余时间时间或两者。 - + Hint: Change the time format in Preferences -> Decks. 提示:在 Preferences -> Decks 中更改时间格式。 - + Show/hide intro & outro markers and associated buttons. 显示/隐藏介绍和结尾标记以及相关按钮。 - + + Ensure all waveforms to have the same height across all channels. By default, when displaying the stem controls, waveform for channel that have no stem may render with a shorter height in order to honor the waveform container size you have requested.. + + + + Intro Start Marker 介绍开始标记 - - - - + + + + If marker is set, jumps to the marker. 如果设置了 marker,则跳转到 marker。 - - - - + + + + If marker is not set, sets the marker to the current play position. 如果未设置 marker,则将 marker 设置为当前播放位置。 - - - - + + + + If marker is set, clears the marker. 如果设置了 marker,则清除 marker。 - + Intro End Marker 介绍结束标记 - + Outro Start Marker 结尾部分开始标记 - + Outro End Marker 结尾部分结束标记 - + Mix 混合 - + Adjust the mixing of the dry (input) signal with the wet (output) signal of the effect unit 调整效果器单元的干 (input) 信号与湿 (output) 信号的混合 - + D/W mode: Crossfade between dry and wet D/W 模式:干湿交叉淡入淡出 - + D+W mode: Add wet to dry D+W 模式:从湿到干 - + Mix Mode 混合模式 - + Adjust how the dry (input) signal is mixed with the wet (output) signal of the effect unit 调整干 (输入) 信号与效果单元的湿 (输出) 信号的混合方式 - + Dry/Wet mode (crossed lines): Mix knob crossfades between dry and wet Use this to change the sound of the track with EQ and filter effects. 干/湿模式(交叉线):混合旋钮在干湿之间交叉淡化 使用此选项可通过 EQ 和滤波器效果更改轨道的声音。 - + Dry+Wet mode (flat dry line): Mix knob adds wet to dry Use this to change only the effected (wet) signal with EQ and filter effects. 干 + 湿模式(平坦干线):混合旋钮将湿添加到干 使用此选项可仅更改带有 EQ 和滤波器效果的效果(湿)信号。 - + Route the main mix through this effect unit. 通过此效果器单元路由主混音。 - + Route the left crossfader bus through this effect unit. 将左侧的交叉推子总线路由到此效果器单元中。 - + Route the right crossfader bus through this effect unit. 将右侧的 Crossfader 总线路由到此效果器单元中 - + Right side active: parameter moves with right half of Meta Knob turn 右侧激活:参数随着 Meta 旋钮的右半部分转动而移动 - + Stem Label - + Name of the stem stored in the stem file - + Text is displayed in the stem color stored in the stem file - + this stem color is also used for the waveform of this stem - + Stem Mute - + Toggle the stem mute/unmuted - + Stem Volume Knob - + Adjusts the volume of the stem - + Skin Settings Menu Skin Settings 菜单 - + Show/hide skin settings menu 显示/隐藏皮肤设置菜单 - + Save Sampler Bank 保存採樣器銀行 - + Save the collection of samples loaded in the samplers. 保存采样器中加载的样本集合。 - + Load Sampler Bank 負荷取樣器銀行 - + Load a previously saved collection of samples into the samplers. 将以前保存的样本集合加载到采样器中。 - + Show Effect Parameters 顯示效果器的參數 - + Enable Effect 启用特效 - + Meta Knob Link 元旋钮链接 - + Set how this parameter is linked to the effect's Meta Knob. 设置此参数如何链接到效果的 Meta 旋钮。 - + Meta Knob Link Inversion 元旋钮链接反演 - + Inverts the direction this parameter moves when turning the effect's Meta Knob. 反转此参数时效果的 Meta 旋钮移动的方向。 - + Super Knob 超級旋鈕 - + Next Chain 下一個鏈 - + Previous Chain 以前的鏈 - + Next/Previous Chain 下一個/上一個鏈 - + Clear 清除 - + Clear the current effect. 清除當前的效果。 - + Toggle 切換 - + Toggle the current effect. 切換當前效果。 - + Next 下一個 - + Clear Unit 清除單元 - + Clear effect unit. 單位明確效果。 - + Show/hide parameters for effects in this unit. 显示/隐藏此单元中效果的参数。 - + Toggle Unit 切換單元 - + Enable or disable this whole effect unit. 启用或禁用整个效果单元。 - + Controls the Meta Knob of all effects in this unit together. 同时控制该单元中所有效果的 Meta 旋钮。 - + Load next effect chain preset into this effect unit. 将 next effect chain 预设加载到此效果单元中。 - + Load previous effect chain preset into this effect unit. 将上一个效果链预设加载到此效果单元中。 - + Load next or previous effect chain preset into this effect unit. 将下一个或上一个效果链预设加载到此效果单元中。 - - - - - - - - - + + + + + + + + + Assign Effect Unit 分配效果单元 - + Assign this effect unit to the channel output. 将此效果器单元分配给通道输出。 - + Route the headphone channel through this effect unit. 通过此效果器单元路由耳机通道。 - + Route this deck through the indicated effect unit. 将此 Deck 路由到指定的效果单位。 - + Route this sampler through the indicated effect unit. 将此采样器路由到指示的效果器单元。 - + Route this microphone through the indicated effect unit. 将此麦克风路由到指示的效果器单元。 - + Route this auxiliary input through the indicated effect unit. 通过指示的效果器单元路由此辅助输入 - + The effect unit must also be assigned to a deck or other sound source to hear the effect. 还必须将效果单元分配给 Deck 或其他声源才能听到效果。 - + Switch to the next effect. 切換到下一個效果。 - + Previous 上一個 - + Switch to the previous effect. 切換到上一個效果。 - + Next or Previous 下一頁或上一頁 - + Switch to either the next or previous effect. 切換到下一個或上一個效果。 - + Meta Knob 元旋钮 - + Controls linked parameters of this effect 这种效应的控制链接的参数 - + Effect Focus Button 影响对焦按钮 - + Focuses this effect. 针对这种效果。 - + Unfocuses this effect. Unfocuses 这种效果。 - + Refer to the web page on the Mixxx wiki for your controller for more information. 您的控制器的详细信息,请参阅 Mixxx wiki 上的 web 页。 - + Effect Parameter 影響參數 - + Adjusts a parameter of the effect. 調整參數的影響。 - + Inactive: parameter not linked Inactive:参数未链接 - + Active: parameter moves with Meta Knob Active(活动):参数随 Meta 旋钮移动 - + Left side active: parameter moves with left half of Meta Knob turn 左侧激活:参数随着 Meta 旋钮的左半部分转动而移动 - + Left and right side active: parameter moves across range with half of Meta Knob turn and back with the other half 左侧和右侧激活:参数在切换距离时移动,Meta 旋钮的一半转动,另一半转动 - - + + Equalizer Parameter Kill 等化器參數殺 - - + + Holds the gain of the EQ to zero while active. 情商的增益堅持零的活躍。 - + Quick Effect Super Knob 見效快超級旋鈕 - + Quick Effect Super Knob (control linked effect parameters). 快速效果超級旋鈕 (控制連結的效果參數)。 - + Hint: Change the default Quick Effect mode in Preferences -> Equalizers. 提示︰ 預設見效模式在首選項中更改網站-> 等化器。 - + Equalizer Parameter 等化器參數 - + Adjusts the gain of the EQ filter. 調整 EQ 濾波器的增益。 - + Hint: Change the default EQ mode in Preferences -> Equalizers. 提示︰ 更改預設首選項中的情商模式網站-> 等化器。 - - + + Adjust Beatgrid 調整 Beatgrid - + Adjust beatgrid so the closest beat is aligned with the current play position. 所以最近的節拍與當前播放位置對齊調整 beatgrid。 - - + + Adjust beatgrid to match another playing deck. 調整 beatgrid 以匹配另一個玩甲板。 - + If quantize is enabled, snaps to the nearest beat. 如果量化啟用,將捕捉到的最近的節拍。 - + Quantize 量化 - + Toggles quantization. 切換量化。 - + Loops and cues snap to the nearest beat when quantization is enabled. 迴圈和線索管理單元的最近的節拍,量化啟用時。 - + Reverse 扭轉 - + Reverses track playback during regular playback. 反轉跟蹤定期播放期間播放。 - + Puts a track into reverse while being held (Censor). 被關押 (檢查員) 置於反向的軌道。 - + Playback continues where the track would have been if it had not been temporarily reversed. 重播繼續在軌道本來如果它不暫時扭轉了。 - - - + + + Play/Pause 播放/暫停 - + Jumps to the beginning of the track. 跳轉到的磁軌起點。 - + Syncs the tempo (BPM) and phase to that of the other track, if BPM is detected on both. 同步的節奏 (BPM) 和相位的另一條鐵軌,如果 BPM 檢測到兩個。 - + Syncs the tempo (BPM) to that of the other track, if BPM is detected on both. 如果 BPM 在兩個上檢測到的另一條鐵軌,同步節奏 (BPM)。 - + Sync and Reset Key 同步和重置金鑰 - + Increases the pitch by one semitone. 增加一個半音的球場。 - + Decreases the pitch by one semitone. 減少一個半音的球場。 - + Enable Vinyl Control 啟用乙烯基控制 - + When disabled, the track is controlled by Mixxx playback controls. 當禁用時,軌道被受 Mixxx 播放控制項。 - + When enabled, the track responds to external vinyl control. 當啟用時,跟蹤回應外部乙烯控制。 - + Enable Passthrough 啟用直通 - + Indicates that the audio buffer is too small to do all audio processing. 指示音訊緩衝區太小,做所有的音訊處理。 - + Displays cover artwork of the loaded track. 顯示覆蓋載入跟蹤的藝術作品。 - + Displays options for editing cover artwork. 顯示用於編輯封面插圖選項。 - + Star Rating 星級 - + Assign ratings to individual tracks by clicking the stars. 通過按一下星星將評級分配到單獨曲目。 @@ -14718,33 +15184,33 @@ Use this to change only the effected (wet) signal with EQ and filter effects.麦克风闪避强度 - + Prevents the pitch from changing when the rate changes. 防止更改率發生變化時的球場。 - + Changes the number of hotcue buttons displayed in the deck 更改 Deck 中显示的 hotcue 按钮的数量 - + Starts playing from the beginning of the track. 開始從軌道開始播放。 - + Jumps to the beginning of the track and stops. 跳轉到的磁軌起點和停止。 - - + + Plays or pauses the track. 播放或暫停的軌道。 - + (while playing) (當演奏) @@ -14764,215 +15230,215 @@ Use this to change only the effected (wet) signal with EQ and filter effects.主通道 R 音量表 - + (while stopped) (雖然停止) - + Cue 提示 - + Headphone 耳機 - + Mute 靜音 - + Old Synchronize 老同步 - + Syncs to the first deck (in numerical order) that is playing a track and has a BPM. 到第一 (按數值順序) 甲板播放的曲目並具有 BPM 同步。 - + If no deck is playing, syncs to the first deck that has a BPM. 如果沒有甲板上現正播放,同步到了 BPM 的第一甲板。 - + Decks can't sync to samplers and samplers can only sync to decks. 甲板不能同步到採樣器,採樣器只可以同步到甲板上。 - + Hold for at least a second to enable sync lock for this deck. 持有至少一秒鐘,使這甲板上的同步鎖。 - + Decks with sync locked will all play at the same tempo, and decks that also have quantize enabled will always have their beats lined up. 甲板與同步鎖定將所有播放相同的節奏,和甲板也有量化啟用的都將總是有他們排隊的節拍。 - + Resets the key to the original track key. 將金鑰重置為原始軌道鍵。 - + Speed Control 速度控制 - - - + + + Changes the track pitch independent of the tempo. 更改跟蹤球場獨立的節奏。 - + Increases the pitch by 10 cents. 增加 10 美分的球場。 - + Decreases the pitch by 10 cents. 減少 10 美分的球場。 - + Pitch Adjust 音高調整 - + Adjust the pitch in addition to the speed slider pitch. 調整除了速度滑塊球場球場。 - + Opens a menu to clear hotcues or edit their labels and colors. 打开一个菜单以清除 Hotcue 或编辑其标签和颜色。 - + Drag this button onto a Play button while previewing to continue playback after release. - + Dragging with Shift key pressed will not start previewing the hotcue. - + Record Mix 錄製混音 - + Toggle mix recording. 切換混合錄音。 - + Enable Live Broadcasting 啟用即時廣播 - + Stream your mix over the Internet. 在互聯網上流你的組合。 - + Provides visual feedback for Live Broadcasting status: 提供可視回饋,直播狀態︰ - + disabled, connecting, connected, failure. 禁用,連接,連接,失敗。 - + When enabled, the deck directly plays the audio arriving on the vinyl input. 當啟用時,甲板上直接播放音訊輸入的乙烯基抵達。 - + Playback will resume where the track would have been if it had not entered the loop. 播放將恢復在軌道本來如果不進入了迴圈。 - + Loop Exit 循環關閉 - + Turns the current loop off. 關閉當前的迴圈。 - + Slip Mode 滑模式 - + When active, the playback continues muted in the background during a loop, reverse, scratch etc. 啟動時,播放繼續柔和的背景在迴圈中,反向,劃痕等。 - + Once disabled, the audible playback will resume where the track would have been. 一旦禁用,聲音播放將恢復本來的軌道。 - + Track Key The musical key of a track 跟蹤關鍵 - + Displays the musical key of the loaded track. 顯示載入跟蹤的音樂金鑰。 - + Clock 時鐘 - + Displays the current time. 顯示目前時間。 - + Audio Latency Usage Meter 音訊延遲用量表 - + Displays the fraction of latency used for audio processing. 顯示延遲用於音訊處理的分數。 - + A high value indicates that audible glitches are likely. 較高的值表明發聲的故障都有可能。 - + Do not enable keylock, effects or additional decks in this situation. 鑰匙鎖、 影響或額外的甲板,在這種情況,請不要啟用。 - + Audio Latency Overload Indicator 音訊延遲超載指示器 @@ -15012,259 +15478,259 @@ Use this to change only the effected (wet) signal with EQ and filter effects.啟動從功能表-選項 > 乙烯控制。 - + Displays the current musical key of the loaded track after pitch shifting. 顯示載入跟蹤當前音樂鍵後變調。 - + Fast Rewind 快退 - + Fast rewind through the track. 通過跟蹤的快速倒帶。 - + Fast Forward 快進 - + Fast forward through the track. 通過跟蹤的快速前進。 - + Jumps to the end of the track. 跳轉到軌道的一端。 - + Sets the pitch to a key that allows a harmonic transition from the other track. Requires a detected key on both involved decks. 將球場設置為允許從另一條鐵軌的諧波過渡的關鍵。要求這兩個涉及的甲板上檢測到的金鑰。 - - - + + + Pitch Control 變槳距控制 - + Pitch Rate 音高率 - + Displays the current playback rate of the track. 顯示當前播放率的軌道。 - + Repeat 重複 - + When active the track will repeat if you go past the end or reverse before the start. 活動時軌道將重複如果你走過結束或之前開始扭轉。 - + Eject 彈出 - + Ejects track from the player. 彈出從球員的軌道。 - + Hotcue 热切点 - + If hotcue is set, jumps to the hotcue. 如果設置了 hotcue,則跳轉到 hotcue。 - + If hotcue is not set, sets the hotcue to the current play position. 如果未設置 hotcue,將 hotcue 設置為當前的播放位置。 - + Vinyl Control Mode 黑膠盤控制模式 - + Absolute mode - track position equals needle position and speed. 絕對模式-軌道位置等於針的位置和速度。 - + Relative mode - track speed equals needle speed regardless of needle position. 相對模式-跟蹤速度等於針速度針位置無關。 - + Constant mode - track speed equals last known-steady speed regardless of needle input. 持續模式-跟蹤速度等於針輸入最後一個已知穩定速度。 - + Vinyl Status 乙烯基狀態 - + Provides visual feedback for vinyl control status: 乙烯基控制地位提供可視回饋︰ - + Green for control enabled. 控制項啟用了的綠色。 - + Blinking yellow for when the needle reaches the end of the record. 當針達到記錄末尾為黃色閃爍。 - + Loop-In Marker 迴圈中的標記 - + Loop-Out Marker 圈出標記 - + Loop Halve 循環減半 - + Halves the current loop's length by moving the end marker. 通過移動結束標記減半,電流環的長度。 - + Deck immediately loops if past the new endpoint. 甲板上立即迴圈如果過去新的終結點。 - + Loop Double 循環雙倍 - + Doubles the current loop's length by moving the end marker. 通過移動結束標記雙打電流回路長度。 - + Beatloop 节拍循环 - + Toggles the current loop on or off. 打開或關閉切換電流環。 - + Works only if Loop-In and Loop-Out marker are set. 只當回路中的作品和迴圈出標記設置。 - + Vinyl Cueing Mode 乙烯基線索模式 - + Determines how cue points are treated in vinyl control Relative mode: 確定如何將提示點處理在乙烯基控制相對模式下︰ - + Off - Cue points ignored. 關閉-提示點忽略。 - + One Cue - If needle is dropped after the cue point, track will seek to that cue point. 一個提示-如果針下降後提示點,軌道尋求那提示點。 - + Track Time 跟蹤時間 - + Track Duration 跟蹤持續時間 - + Displays the duration of the loaded track. 顯示載入跟蹤的持續時間。 - + Information is loaded from the track's metadata tags. 從軌道的元資料標記載入資訊。 - + Track Artist 曲目演出者 - + Displays the artist of the loaded track. 顯示載入跟蹤的演出者。 - + Track Title 曲目標題 - + Displays the title of the loaded track. 顯示載入跟蹤的標題。 - + Track Album 軌道專輯 - + Displays the album name of the loaded track. 顯示載入跟蹤的專輯名稱。 - + Track Artist/Title 稱號的軌道演出者 - + Displays the artist and title of the loaded track. 顯示的演出者和標題載入跟蹤。 @@ -15495,47 +15961,75 @@ This can not be undone! WCueMenuPopup - + Cue number 提示编号 - + Cue position 提示位置 - + Edit cue label Edit cue label(编辑提示标签) - + Label... 标签 - + Delete this cue 删除此提示 - - Toggle this cue type between normal cue and saved loop - 在正常提示点和保存的 Loop 之间切换此提示类型 + + Turn this cue into a regular hotcue + + + + + Turn this cue into a saved loop + + + + + Left-click: Use the old size if known or the current beatloop size as the loop size + + + + + Right-click: Use the current play position as new loop end if it is after the cue + + + + + Turn this cue into a saved forward jump. + + is a linebreak. Try to not to extend the translation beyond the length of the longest source line so the tooltip remains compact. + + + + + Turn this cue into a saved backward jump (one shot loop). + - - Left-click: Use the old size or the current beatloop size as the loop size - 左键单击:使用旧大小或当前 Beatloop 大小作为 Loop 大小 + + Left-click: Use the old size if known or the current play position as jump start position +If this is already a jump cue, swap the jump position and the cue/target position. + - - Right-click: Use the current play position as loop end if it is after the cue - 右键点击:如果当前播放位置在 cue 之后,则将其用作 Loop 结束 + + Right-click: use current play position as new jump start position + - + Hotcue #%1 热提示 #%1 @@ -15837,171 +16331,181 @@ This can not be undone! + Show Auto DJ + + + + + Switch to the Auto DJ view. + + + + &Full Screen 與全螢幕 - + Display Mixxx using the full screen 使用全螢幕的顯示 Mixxx - + &Options 與選項 - + &Vinyl Control 與乙烯基控制 - + Use timecoded vinyls on external turntables to control Mixxx 在外部轉盤控制 Mixxx 上使用時間乙烯基 - + Enable Vinyl Control &%1 啟用乙烯控制 & %1 - + &Record Mix 與記錄組合 - + Record your mix to a file 記錄你組合到一個檔 - + Ctrl+R Ctrl + R - + Enable Live &Broadcasting 啟用即時 & 廣播 - + Stream your mixes to a shoutcast or icecast server 流到 shoutcast 或 icecast 伺服器你混合 - + Ctrl+L 按 Ctrl + L - + Enable &Keyboard Shortcuts 啟用與鍵盤快速鍵 - + Toggles keyboard shortcuts on or off 切換鍵盤快速鍵打開或關閉 - + Ctrl+` 按 Ctrl +' - + &Preferences 與首選項 - + Change Mixxx settings (e.g. playback, MIDI, controls) 改變 Mixxx 的設置 (例如播放 MIDI,控制項) - + &Developer 與開發人員 - + &Reload Skin & 重新載入皮膚 - + Reload the skin 重新載入皮膚 - + Ctrl+Shift+R Ctrl + Shift + R - + Developer &Tools 開發人員與工具 - + Opens the developer tools dialog 打開開發人員工具對話方塊 - + Ctrl+Shift+T Ctrl + Shift + T - + Stats: &Experiment Bucket 統計: & 實驗鬥 - + Enables experiment mode. Collects stats in the EXPERIMENT tracking bucket. 使實驗模式。收集統計實驗跟蹤存儲桶中。 - + Ctrl+Shift+E Ctrl + Shift + E - + Stats: &Base Bucket 統計: & 基地鬥 - + Enables base mode. Collects stats in the BASE tracking bucket. 啟用的基礎模式。收集統計基礎跟蹤桶內。 - + Ctrl+Shift+B Ctrl + Shift + B - + Deb&ugger Enabled Deb & ugger 啟用 - + Enables the debugger during skin parsing 在皮膚分析過程中啟用調試器 - + Ctrl+Shift+D 按 Ctrl + Shift + D - + &Help 與説明 @@ -16035,62 +16539,62 @@ This can not be undone! F12 - + &Community Support 與社區的支援 - + Get help with Mixxx 獲得 Mixxx 的説明 - + &User Manual 與使用者手冊 - + Read the Mixxx user manual. 閱讀 Mixxx 使用者手冊。 - + &Keyboard Shortcuts 與鍵盤快速鍵 - + Speed up your workflow with keyboard shortcuts. 加快您的工作流使用鍵盤快速鍵。 - + &Settings directory &设置目录 - + Open the Mixxx user settings directory. 打开 Mixxx 用户设置目录。 - + &Translate This Application & 翻譯此應用程式 - + Help translate this application into your language. 幫忙翻譯成您的語言此應用程式。 - + &About & 約 - + About the application 有關應用程式 @@ -16098,25 +16602,25 @@ This can not be undone! WOverview - + Passthrough 直通 - + Ready to play, analyzing... Text on waveform overview when file is playable but no waveform is visible 音轨已就绪,正在分析 .. - - + + Loading track... Text on waveform overview when file is cached from source 正在加载曲目... - + Finalizing... Text on waveform overview during finalizing of waveform analysis 完成处理 ... @@ -16306,625 +16810,640 @@ This can not be undone! WTrackMenu - + Load to 载入到 - + Deck 甲板上 - + Sampler 取樣器 - + Add to Playlist 添加到播放清單 - + Crates 音樂箱 - + Metadata 元数据 - + Update external collections 更新外部集合 - + Cover Art 封面 - + Adjust BPM 调节 BPM - + Select Color 选择颜色 - - + + Analyze 分析 - - + + Delete Track Files 删除音轨数据 - + Add to Auto DJ Queue (bottom) 將添加到自動 DJ 佇列 (底部) - + Add to Auto DJ Queue (top) 將添加到自動 DJ 佇列 (頂部) - + Add to Auto DJ Queue (replace) 加入自動 DJ 柱列 (取代) - + Preview Deck 預覽甲板 - + Remove 刪除 - + Remove from Playlist 从播放列表中删除 - + Remove from Crate 从播放列表中删除 - + Hide from Library 隱藏從庫 - + Unhide from Library 從圖書館取消隱藏 - + Purge from Library 從庫中清除 - + Move Track File(s) to Trash 将轨道文件移至废纸篓 - + Delete Files from Disk 从磁盘中删除文件 - + Properties 屬性 - + Open in File Browser 在檔瀏覽器中打開 - + Select in Library 在库中选择 - + Import From File Tags 从文件标签导入 - + Import From MusicBrainz 从 MusicBrainz 导入 - + Export To File Tags 导出文件属性 - + BPM and Beatgrid 拍速和拍格 - + Play Count 播放計數 - + Rating 評分 - + Cue Point 播放點 - - + + Hotcues 熱點 - + Intro v - + Outro 结尾 - + Key 關鍵 - + ReplayGain 重播增益 - + Waveform 波形 - + Comment 評論 - + All 全部 - + Sort hotcues by position (remove offsets) - + Sort hotcues by position - + Lock BPM BPM 鎖 - + Unlock BPM 解鎖 BPM - + Double BPM 雙 BPM - + Halve BPM 減半 BPM - + 2/3 BPM 2/3 BPM - + 3/4 BPM 3/4 BPM - + 4/3 BPM 4/3 BPM - + 3/2 BPM 3/2 BPM - + Shift Beatgrid Half Beat - + Reanalyze 重新分析 - + Reanalyze (constant BPM) 重新分析(恒定 BPM) - + Reanalyze (variable BPM) 重新分析(变量 BPM) - + Update ReplayGain from Deck Gain 更新Deck Gain的ReplayGain - + Deck %1 甲板 %1 - + Importing metadata of %n track(s) from file tags 从文件标签导入 %n 个轨道的元数据 - + Marking metadata of %n track(s) to be exported into file tags 标记要导出到文件标签的 %n 个轨道的数据 - - + + Create New Playlist 創建新的播放清單 - + Enter name for new playlist: 輸入新播放清單名稱︰ - + New Playlist 新增播放清單 - - - + + + Playlist Creation Failed 播放清單創建失敗 - + A playlist by that name already exists. 已存在該名稱的播放清單。 - + A playlist cannot have a blank name. 播放清單不能有空白的名稱。 - + An unknown error occurred while creating playlist: 創建播放清單時發生未知的錯誤︰ - + Add to New Crate 添加至分类列表 - + Scaling BPM of %n track(s) 缩放 %n 个磁道的 BPM - + Undo BPM/beats change of %n track(s) 撤消 BPM/节拍 %n 个轨道的更改 - + Locking BPM of %n track(s) 锁定 %n 个磁道的 BPM - + Unlocking BPM of %n track(s) 解锁 %n 个磁道的 BPM - + Setting rating of %n track(s) 清除 %n 条轨道的评级 - + Setting color of %n track(s) 设置 %n 个轨道的颜色 - + Resetting play count of %n track(s) 重置 %n 个轨道的播放计数 - + Resetting beats of %n track(s) 重置 %n 个轨道的节拍 - + Clearing rating of %n track(s) 清除 %n 条磁道的评级 - + Clearing comment of %n track(s) 正在清除 %n 个轨道的注释 - + Removing main cue from %n track(s) 从 %n 个轨道中删除主提示点 - + Removing outro cue from %n track(s) 从 %n 个轨道中删除结尾提示 - + Removing intro cue from %n track(s) 从 %n 个轨道中删除前奏提示 - + Removing loop cues from %n track(s) 从 %n 个轨道中删除 Loop 提示点 - + Removing hot cues from %n track(s) 从 %n 个轨道中删除热提示 - + Sorting hotcues of %n track(s) by position (remove offsets) - + Sorting hotcues of %n track(s) by position - + Resetting keys of %n track(s) 重置 %n 个轨道的键 - + Resetting replay gain of %n track(s) 重置 %n 个轨道的重放增益 - + Resetting waveform of %n track(s) 重置 %n 个轨道的波形 - + Resetting all performance metadata of %n track(s) 重置 %n 个轨道的所有性能数据 - + Move these files to the trash bin? 将这些文件移动到垃圾箱? - + Permanently delete these files from disk? 从磁盘中永久删除这些文件? - - + + This can not be undone! 此操作无法撤消! - + Cancel 取消 - + Delete Files 删除文件 - + Okay - + Move Track File(s) to Trash? 要把轨道文件移到垃圾桶吗? - + Track Files Deleted 文件已删除 - + Track Files Moved To Trash 已移动到垃圾桶的文件 - + %1 track files were moved to trash and purged from the Mixxx database. %1 轨道文件被移至废纸篓并从 Mixxx 数据库中清除。 - + %1 track files were deleted from disk and purged from the Mixxx database. %1 轨道文件已从磁盘中删除,并从 Mixxx 数据库中清除。 - + Track File Deleted 文件已删除 - + Track file was deleted from disk and purged from the Mixxx database. 跟踪文件已从磁盘中删除,并从 Mixxx 数据库中清除。 - + The following %1 file(s) could not be deleted from disk 无法从磁盘中删除以下 %1 文件 - + This track file could not be deleted from disk 无法从磁盘中删除此跟踪文件 - + Remaining Track File(s) 剩余轨道文件 - + Close 關閉 - + Clear Reset metadata in right click track context menu in library 清除 - + Loops 循环 - + Clear BPM and Beatgrid 清除 BPM 和节拍样式 - + Undo last BPM/beats change 撤消上次 BPM/节拍更改 - + Move this track file to the trash bin? 把这个轨道文件移到垃圾桶吗? - + Permanently delete this track file from disk? 永久删除这个轨道文件吗? - + All decks where these tracks are loaded will be stopped and the tracks will be ejected. 加载这些轨道的所有卡盘都将停止,轨道将被弹出。 - + All decks where this track is loaded will be stopped and the track will be ejected. 加载此轨道的所有卡盘都将停止,轨道将被弹出。 - + Removing %n track file(s) from disk... 正在从磁盘中删除 %n 个磁道文件... - + Note: if you are in the Computer or Recording view you need to click the current view again to see changes. 注意:如果您位于 Computer 或 Recording 视图中,则需要再次单击当前视图才能看到更改。 - + Track File Moved To Trash 文件已移至垃圾桶 - + Track file was moved to trash and purged from the Mixxx database. 跟踪文件已移至回收站并从 Mixxx 数据库中清除。 - + Don't show again during this session - + The following %1 file(s) could not be moved to trash 以下 %1 文件无法移至回收站 - + This track file could not be moved to trash 无法将此跟踪文件移至回收站 + + + Replace current Auto DJ queue? + + + + + Do you want to replace the entire Auto DJ queue with the selected tracks? + + + + + Don't ask again during this session + + - + Setting cover art of %n track(s) 设置 %n 个轨道的封面艺术 - + Reloading cover art of %n track(s) 重新加载 %n 个轨道的封面艺术 @@ -16978,37 +17497,37 @@ This can not be undone! WTrackTableView - + Confirm track hide 确认轨道隐藏 - + Are you sure you want to hide the selected tracks? 您确定要隐藏选定的轨道吗? - + Are you sure you want to remove the selected tracks from AutoDJ queue? 您确定要从 AutoDJ 队列中删除选定的曲目吗? - + Are you sure you want to remove the selected tracks from this crate? 您确定要隐藏选定的轨道吗? - + Are you sure you want to remove the selected tracks from this playlist? 您确定要从此播放列表中删除选定的曲目吗? - + Don't ask again during this session 在此会话期间不要再次询问 - + Confirm track removal 确认轨道移除 @@ -17016,12 +17535,12 @@ This can not be undone! WTrackTableViewHeader - + Show or hide columns. 顯示或隱藏列。 - + Shuffle Tracks @@ -17029,52 +17548,52 @@ This can not be undone! mixxx::CoreServices - + fonts 字体 - + database 数据库 - + effects 效果 - + audio interface 音频接口 - + decks 甲板 - + library 媒体库 - + Choose music library directory 選擇音樂庫目錄 - + controllers 控制器 - + Cannot open database 無法打開資料庫 - + Unable to establish a database connection. Mixxx requires QT with SQLite support. Please read the Qt SQL driver documentation for information on how to build it. @@ -17232,6 +17751,24 @@ Mixxx 需要 qt 離散度與 SQLite 支援。請閱讀有關如何構建它的 网络请求尚未启动 + + mixxx::qml::QmlApplication + + + Existing user profile detected + + + + + Trying to run Mixxx 3.0 with an existing %0 user profile! <br><br>There is <b>serious risks</b> of data loss and corruption.<br>We recommend using a test profile folder with the '--settings-path' argument. <br><br>If you want to continue at your own risk, run Mixxx with the argument '--allow-dangerous-data-corruption-risk'. + + + + + Ok + + + mixxx::qml::QmlVisibleEffectsModel @@ -17240,4 +17777,27 @@ Mixxx 需要 qt 離散度與 SQLite 支援。請閱讀有關如何構建它的 未加载效果器 + + mixxx::qml::QmlWaveformRendererMark + + + Cannot find the marker pixmap + + + + + Cannot find the marker endPixmap + + + + + Cannot find the marker icon + + + + + Cannot find the marker endIcon + + + \ No newline at end of file diff --git a/res/translations/source_copy_allow_list.tsv b/res/translations/source_copy_allow_list.tsv index a8062b987ba5..10373a53bfe3 100644 --- a/res/translations/source_copy_allow_list.tsv +++ b/res/translations/source_copy_allow_list.tsv @@ -423,7 +423,7 @@ de,it,ja,nl,pt*,ro Deck 1 de,it,ja,nl,pt*,ro Deck 2 de,it,ja,nl Deck 3 de,it,ja,nl Deck 4 -de,fr,it,nl,sl fps +de,fr,it,nl,sl,sv fps de,nl Decks de,nl Track de,nl Tracks @@ -442,21 +442,21 @@ it Tempo Tap zh* Soft Clipping zh* Hard Clipping es,es_419,es_AR,es_CO,es_ES,es_MX No -nl,sq_AL,es,es_419,es_AR,es_CO,es_ES,es_MX VID: +nl,sq_AL,es,es_419,es_AR,es_CO,es_ES,es_MX,pl,sv VID: nl Product ID -nl,sq_AL,es,es_419,es_AR,es_CO,es_ES,es_MX PID: +nl,sq_AL,es,es_419,es_AR,es_CO,es_ES,es_MX,pl,sv PID: nl Lossy nl Lossless nl Top nl,de OpenGL Status nl Stem Label nl Stem Mute -sq_AL Artist + Album +sq_AL,sv Artist + Album sq_AL,it Off de Attack (ms) de Attack -fr,it Ctrl+f -fr Ctrl+Shift+F +fr,it,sl Ctrl+f +fr,sl Ctrl+Shift+F it Mixxx %1.%2 Development Team it Okay sv Decay @@ -465,3 +465,6 @@ sv Kill Mid sv Kill High tr Mount vi Samplerate +fr,sl Stem +fr Gain (dB) +sl,sv AGC From f81b36f3fb98dd36b73c928ea061186db881f3a4 Mon Sep 17 00:00:00 2001 From: Daniel Kinahan Date: Mon, 1 Dec 2025 18:33:28 -0500 Subject: [PATCH 181/181] chore: bump libdjinterop to 0.27.0 --- CMakeLists.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 033cb530671f..387627f1ba77 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -3179,7 +3179,7 @@ option(ENGINEPRIME "Support for library export to Denon Engine Prime" ON) if(ENGINEPRIME) # libdjinterop does not currently have a stable ABI, so we fetch sources for a specific tag, build here, and link # statically. This situation should be reviewed once libdjinterop hits version 1.x. - set(LIBDJINTEROP_VERSION 0.26.1) + set(LIBDJINTEROP_VERSION 0.27.0) # Look whether an existing installation of libdjinterop matches the required version. find_package(DjInterop ${LIBDJINTEROP_VERSION} EXACT CONFIG) if(NOT DjInterop_FOUND) @@ -3242,7 +3242,7 @@ if(ENGINEPRIME) "https://github.com/xsco/libdjinterop/archive/refs/tags/${LIBDJINTEROP_VERSION}.tar.gz" "https://launchpad.net/~xsco/+archive/ubuntu/djinterop/+sourcefiles/libdjinterop/${LIBDJINTEROP_VERSION}-0ubuntu1/libdjinterop_${LIBDJINTEROP_VERSION}.orig.tar.gz" URL_HASH - SHA256=f4fbe728783c14acdc999b74ce3f03d680f9187e1ff676d6bf1233fdb64ae7b2 + SHA256=c4e73bf3907fd45be1c9767bcd9f367cbb7c279b4fe047bf2216bc92ae3d1668 DOWNLOAD_DIR "${CMAKE_CURRENT_BINARY_DIR}/downloads" DOWNLOAD_NAME "libdjinterop-${LIBDJINTEROP_VERSION}.tar.gz" PREFIX "libdjinterop-${LIBDJINTEROP_VERSION}"

    Vjimf&vz1^p;bU{lvM$=bWOF+A+`s!&|@yHyn zuW?2@Qm{^6+X4U5&WS1d+6WU0!@QgN+OwU2mguB!sEclR@h?4c21@zwwtD32SS%<$ zM`Dy)V5@Ixfz_}4&idxvxOe@J=v(@P0<3Ipka_Raw|Qg5v)K_nwlYRWpIhj$zmq@= zT%+$OKL2z}-|@%-$btrD=DgN-n2KMx=b@XU-9UZU2dsSD_tbaCgy6&Gx%%#1&w#G| zZD#CKgW~c8eSc(AoN~9-_di3mTe?g?n1c4ApoAV5H4WGvrXN0rLK$^YKYSnKeY!zE zVr>t6`4IhR{TJA0+^NTh;{1TqFx`~U!W~Dcw(7^`r=KW`QE7$82FYXx{d9;Y zPAq)U&x}L2TlbWHE*`Vl8;xFitq@TCOblR?~e!hhr@aeT2w?BxEPxb8DAAmlv)9<+C0SjrT-@&REKkTVLh^P%Bf4u%+Qzl4_ z%j=KqFar9sNq@9<4Y0pk^hXEL$^Es`|I^SA{VdS`!#*M>rh5AG)Epo)zUpuP3kG6k zslRhaTi$Gy{^8>cU~Loik4La#xnI*i6*dQU<&yq6%@I49XZ3FtIQE2U>c0kK^n0R6 z|8)@e_(YIiH~`fx?1hCC(;Z-7QW9kpZ528*ir zK55`%i)t;#;q(8cZ&_6DfnRj9`~SMQ@~|4WxBcvQ@As`(gD8H+)G3uAQ|5W9V+zNZ zAt@v(!>^EOD><3UF%&|E5)Kj~ks|YOGE`DX$f4sLV>!n9ZrgW#e|&%J>)yL-x3BfC zXTG0jEoN(zNQ$zM*<~U8_G!rM&TS&ae;;!Qfc@LmXAXNT(Hl-;j&V@R-X6>;v>Zpb z8nI?dJgF`7S+i@Eq^@1Vnjw~`zs+DR%96?88_Qg-BeT-iU@oOsNge3UTDkPb&P`^m zKV$w`F^gsG?4yZpma+D)ZxbEzWgWhM&RJhqysI{ET`cztz`tTO(+b0)(r333{or89KSJp2WR`KBwb8FyC`VQXAecTuf zBs((q^~Q1{r;~VtC$WENLcPuLA2=|94ZwA3h5$P@U~6AwM5S!d`P-O$s9=MwyOY-3 zhIus2Cc~mm?3Ynku=5cU>PEHvfr}=XP=6-Dgod1(?3W1e{^jOu_~A^_M=fK+jo;tw zuwf&XA-<1$!ba7{xc%$xY;@pJQhIb|W5+_70td0NXLpfd;BDY;BqnBT+Hi|d={cKLQbfwvI&69vQnrE}Y-Tv3 zqSA%Uwnbs`-=QqHb_P1srfXn>#$7w7~6bo&u%4AI0W1+C!B6kcOt$twJ>ujZl;PkMBtt#?DO6O`q&FU;$Jvtf0g9nR_^dj}v z8WtnJVV>A%%VItbChgVlEH(lEFf`7D+K?tJPKTBLDp=e@uw&h#+15EflRhh-ZOw$E z*&4~V`FVrk$Ya~Hrl2~OEdI|aU``y_j(OO@;4-$;Jekx9gW2w`6G%&*#`YdsN4l?$ zCe+Rru>H2(5&y^6Uc{dv*{G-Kz!H!K!4VCQZqq|Ntd=byTeI(-1Upg^e`C74kC`J@T8;|JK~NiV@2 zIkBtPKxWz2Vb_EEf&br_%5Jz-z#RP8ABAB=UQgJawFn-b)mg6nRZ^Z`VtH$RB7MFa z%Rki!!DtoBF9HJ^lFsh7Mx7tCirpP}9iqF<3KnleGV9I?j=V!y&SUo)!ZA62Vuit= z;qLcj53}`H_%Du>YZ#8hXiAEEu##Hup_ba4qY3yAA z!t{!+>~kwDc&g104DQS-9~leDu=6XcT6KlA$BC@!1SXy$ja-RF?f3I0uKYfV49i`( zAxMy}GM;N&i%GY^o?A$4b;&+nEeULyLk_R@F@m(C!+G_;Qo$up;OsG!@Si-+6F}9R z>dg78gXoC9<~0rnVfJeVx18uty7(2`+Nk-Un{|)Zt_3BlNaA&NK;|O_uRj7!=(eqR zgMy)?-|EO4jt8~U?>cXo+yYIh3EXC(2dTei@Wz?gne{8Vtrkk!ofvM{9*N5R3EZI$ zvf`)hx#J+1aos<-(_lEVz!>fn_nr)~(Y)#SV?-@1xY6bCQ&Nuf;;nBEBkHq|w>85L zfA!|=*I1#kaD{i+h^L3T5tcA_TlKWQo%=0@{DeLP5Wjpl<{9O(kO@xklU zQTpxXgG+2k|LF_&Xck1;=Fi+C5)ZUDoDW^SjP$-nGd`>lI-K0VhsVH?YTnOCm%HwKkVqkJ!_zWQ2zw?tV|@`+=G1Vzr%4e!fZa?O<=0ko_oD11_e8t z`*_-szVlJ;b1;_-rEj^fe>~~D$MC74P}-8t+;8I&QVRpPzkCe)*GF^zj#gv{+Q|Lg zIup1OK7D6R$m$ZG;haM{|E4@B(xP4 zU*Ze*v>-}Z%NG?zgPQf@#zZWv=ihv(4N|Zd8+o|L!vOJCEvfG5;@*Ce&DMwnVHA&gU(RGVb1(u zm=9@5CH&x>Rit+OjVCW{M#^y;eq>!0DfJBe=fMW9t?5f@=v99G5tM52ZhmugKB8b7erq*!C5HH&nu(;XCSK4N%4gk%-@5`5 zTQ`aq#=RnS#Y2w!FB=nCgz)0?$)vZ-=Z{1&X=@z$DN#|vAqi!>M|s_jiSrk zNbrK+M7P1%`nW$tHv}JTL7?c-?lc+}>7wVY9%QgEhKRm?;A~tRMZadKT2H(aZj)Ux zIb;Wa{PoCe-DnPkGYsQ4o|XK6W&kzleTb} z@D0c#ihU;hB!Wxzqrz`?Ez(i>A3&%#%U3X z>{VASP%M0$L#q80vA9Mu>8`yH#sQ$+-_#Xhx=b=uOBLbSu;)cr#WGwzrE}OQB0^#R z(>;87m5u9 zIY!bZ+!LGbLL2XV5S!ES1&aU?7oCRY@c|K63T`*Brr3`AztxUiMSOlVsWYs_?&Fil zP}xuzajJPcBKk+1c3ndHvD?LIf5;Ah&!`8g#J#QwwVs~h%-Liz zI5roVrJ&z(n~SW70i=6!O=MNHBXw!8I4k?W95oZFxh3LUM_5hhzv9BeEo5kRT3iXM zgJ9KKTn)1)su3stFhY5B_lv}xdPp80sUnv>1wa2$+;xFjhR2G6iDjhST_cK)VP~9E z#QpCFj2wdEDBBYWP^As64HZ+N-9(y;7w19wMq%d67Dzv#0_Opfh_VsxG0-K9nE{ z!{d5SKdGd6V%$cPdY?9!gs7Bihx0@?21v637&^b;Ak8leQZ{^$)lML_d&^{XeH+XP z?UL22p;Vg_E32cCp*y!mvTiWLk;XX5Gw`HIR+7JeOY|vEiW}CX?IJ0^|2-kigsO3Z ztPuzo?GYs{o5!PQttKtUqu!rdLt3p;(7MTzb^5x17c`S~8^C2p?3VS*DoOQTEN$mO zY3o`^r#i5zH#eozH4ie#6Vkckd(s&fRZ3^KN-!PkWb=8j>nAzV<$W}Gz1Onk9@GW< z_sUkdf?Hn{DO=5gPSA1L>O5%qrY&TflaOVnbJBGZn2?4}vfW60Khj>dcfz?qC0cfJ zY(!eUTe7p$9LPLdb{UmP)M<(A;vYf!8%t%EU!zg~FAXuh(dD=Pf%g(**X$h9YW*U6 zY=8rzF0%L1RMNWy%6?7YC!E|(s68Aj-BYHMQgBfYe2n09{*)Yj2iJHtzc0t2-$xT2 z$ECr$58%E^;*a@V>z6Vg;pj)C7O3XoH>d!U$nlP3KSkHCtG<@5u~pd|ZD zsGWK)r@w|Sq>Pp`T>pz|x2v3~;vZ+ck~4oAMCyaua`qc6XmU3h90v|*#RfU=R46F{ zE#>@LPe^z9z6||nAev*43sZwgb^Ib1+dvr$ze(f3S7hkeREB9r$aGYwj2Qb4W3}mW zjbRC?AM#}Mz64ZYTjjddWu&j)U#_=9PdMP2j2+-YT77T1#X241^9|&-5ZH0yY`J}L zGR_gSmGPJGRI=Ci)OOm4OY<8}Em`7O*y3zmm-I+61BH<^;(ozz{i@+b-mrQU6M3`Bwwe?T7Z z{2s2?U!LfmL)0%^p6Y-nuEk}>hdQVihRDo~7T}I7WR?qJLBHQ+Rw3y4L00lY7<8j= ziZot`y@seZTVC{kMB3X(c`;x!((NPiQcs0+&a>pD=}@w<1LW2E(WKA#WI}E3=>Nsk zA2_d(3C*hSlvh2Lk#Z$S-l&;Fh8{lhhG!#Er+$?;_jwVyH$G$*5sIMbK@d)`KB^Xn&J>|m}@kC{p zW%0i#K>B}^CEl5&Jh&-KX0;=IuU+!#F_>4%Wm%e6Olnjk`R6u>>RzCH9&`h`^0$1M zgJ_ r;idKu3Z64_Q)?SDtF*M{X06TZRihyk^8ddzB;^0T^}^N6%w6mpR2 delta 27719 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 diff --git a/res/translations/mixxx_es.ts b/res/translations/mixxx_es.ts index 0b204babc167..96340636fb9e 100644 --- a/res/translations/mixxx_es.ts +++ b/res/translations/mixxx_es.ts @@ -8,6 +8,14 @@ + + AllTrackLibraryFeature + + + All... + + + AnalysisFeature @@ -19,52 +27,52 @@ AutoDJFeature - + Crates Cajas - + Enable Auto DJ Activar Auto DJ - + Disable Auto DJ Desactivar Auto DJ - + Clear Auto DJ Queue Limpiar la cola de Auto DJ - + Remove Crate as Track Source Eliminar la caja como fuente de pista - + Auto DJ Auto DJ - + Confirmation Clear Confirmación limpiada - + Do you really want to remove all tracks from the Auto DJ queue? Realmente quieres eliminar todas las pistas de la cola de Auto DJ? - + This can not be undone. ¡Esto no puede ser revertido! - + Add Crate as Track Source Añadir caja como fuente de pista @@ -223,7 +231,7 @@ - + Export Playlist Exportar lista de reproducción @@ -277,13 +285,13 @@ - + Playlist Creation Failed Ha fallado la creación de la lista de reproducción - + An unknown error occurred while creating playlist: Se ha producido un error desconocido al crear la lista de reproducción: @@ -298,12 +306,12 @@ ¿Desea realmente eliminar la lista de reproducción<b>%1</b>? - + M3U Playlist (*.m3u) Lista de reproducción M3U (*.m3u) - + M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Text CSV (*.csv);;Readable Text (*.txt) Lista de reproducción M3U (*.m3u);;Lista de reproducción M3U8 (*.m3u8);;Lista de reproducción PLS (*.pls);;Texto CSV (*.csv);;Texto legible (*.txt) @@ -311,12 +319,12 @@ BaseSqlTableModel - + # # - + Timestamp Marca de tiempo @@ -324,7 +332,7 @@ BaseTrackPlayerImpl - + Couldn't load track. No se ha podido cargar la pista. @@ -362,7 +370,7 @@ Canales - + Color Color @@ -377,7 +385,7 @@ Compositor - + Cover Art Carátula @@ -387,7 +395,7 @@ Fecha añadida - + Last Played Última reproducción @@ -417,7 +425,7 @@ Clave - + Location Ubicación @@ -427,7 +435,7 @@ Resumen - + Preview Preescucha @@ -467,7 +475,7 @@ Año - + Fetching image ... Tooltip text on the cover art column shown when the cover is read from disk Recuperando imagen... @@ -489,22 +497,22 @@ BroadcastProfile - + Can't use secure password storage: keychain access failed. No se puede usar el almacen de contraseñas seguro: el acceso al almacen ha fallado. - + Secure password retrieval unsuccessful: keychain access failed. No se ha podido obtener la contraseña: El acceso al almacen de claves a fallado. - + Settings error Error de configuración - + <b>Error with settings for '%1':</b><br> <b>Error con las opciones para '%1':</b><br> @@ -592,7 +600,7 @@ - + Computer Equipo @@ -612,17 +620,17 @@ Escanear - + "Computer" lets you navigate, view, and load tracks from folders on your hard disk and external devices. "Equipo" te permite navegar, ver y abrir las pistas de las carpetas del disco duro o de dispositivos externos. - + It shows the data from the file tags, not track data from your Mixxx library like other track views. - + If you load a track file from here, it will be added to your library. @@ -735,12 +743,12 @@ Fecha creación - + Mixxx Library Biblioteca de Mixxx - + Could not load the following file because it is in use by Mixxx or another application. No se ha podido cargar el siguiente archivo debido a que Mixxx u otra aplicación lo esta usando. @@ -771,87 +779,92 @@ CmdlineArgs - + Mixxx is an open source DJ software. For more information, see: Mixxx es un software de DJ de código abierto. Para más información, ver: - + Starts Mixxx in full-screen mode Iniciar Mixxx en modo pantalla completa - + Use a custom locale for loading translations. (e.g 'fr') Utiliza un locale personalizado para cargar traducciones. (ej. 'fr') - + Top-level directory where Mixxx should look for its resource files such as MIDI mappings, overriding the default installation location. Directorio de nivel superior donde Mixxx debería buscar sus archivos de recursos tales como mapeos MIDI, anulando la ubicación de instalación predeterminada. - + Path the debug statistics time line is written to Ruta a donde las estadísticas de depuración de la línea de tiempo son escritas. - + Causes Mixxx to display/log all of the controller data it receives and script functions it loads Causa que Mixxx muestre/registre todos los datos del controlador que recibe y las funciones en script que cargue - + The controller mapping will issue more aggressive warnings and errors when detecting misuse of controller APIs. New Controller Mappings should be developed with this option enabled! El mapeo del controlador generará advertencias y errores más agresivos cuando detecte un mal uso de las APIs del controlador. Los nuevos mapeos de controladores deben desarrollarse con esta opción activada. - + Enables developer-mode. Includes extra log info, stats on performance, and a Developer tools menu. Activa el modo Desarrollador. Incluye información adicional en el registros, estadísticas de rendimiento, y un menú de Herramientas para Desarrolladores. - + Top-level directory where Mixxx should look for settings. Default is: Directorio de nivel superior en donde Mixxx debería buscar por sus parámetros. Por defecto es : - + Starts Auto DJ when Mixxx is launched. Arranca Auto DJ cuando se inicia Mixxx - + Rescans the library when Mixxx is launched. Re escanea la librería cuando se inicia Mixxx - + Use legacy vu meter Utilizar el vúmetro antiguo - + Use legacy spinny Usar diseño de plato antiguo - - Loads experimental QML GUI instead of legacy QWidget skin - Carga la Interfaz de Usuario QML experimental, en lugar de la skin de legado QWidget + + Loads the highly unstable 3.0 Mixxx interface, based on QML. You need to use a new setting profile, or run with 'allow-dangerous-data-corruption-risk' to use with the current one. We highly recommend backing up your data if you do so. + - + + Force Mixxx to load an unstable version with an existing user profile from a stable version + + + + Enables safe-mode. Disables OpenGL waveforms, and spinning vinyl widgets. Try this option if Mixxx is crashing on startup. Activa el modo seguro. Desactiva las formas de onda OpenGL y los widgets giratorios de vinilos. Pruebe esta opción si Mixxx no inicia correctamente. - + [auto|always|never] Use colors on the console output. [auto|always|never] Utiliza colores en la salida de la consola. - + Sets the verbosity of command line logging. critical - Critical/Fatal only warning - Above + Warnings @@ -866,32 +879,32 @@ depurar - Arriba + Mensajes de Depuración/Desarrollador rastrear - Arriba + Perfilar mensajes - + Sets the the logging level at which the log buffer is flushed to mixxx.log. <level> is one of the values defined at --log-level above. Establece el nivel del registro en el cual el búfer de registro es descargado el registro de mixxx. <level> es uno de los valores definidos en --nivel de bitácora de arriba. - + Sets the maximum file size of the mixxx.log file in bytes. Use -1 for unlimited. The default is 100 MB as 1e5 or 100000000. Configura el tamaño máximo del archivo mixxx.log en bytes. Usa -1 para ilimitado. Por defecto es 100 MB, como en 1e5 o 100000000. - + Breaks (SIGINT) Mixxx, if a DEBUG_ASSERT evaluates to false. Under a debugger you can continue afterwards. Interrumpe Mixxx (SIGINT), si un DEBUG_ASSERT evalúa como falso. En un depurador puedes continuar después. - + Overrides the default application GUI style. Possible values: %1 Anula el estilo por defecto de la interfaz de usuario de la aplicación. Valores posibles: %1 - + Load the specified music file(s) at start-up. Each file you specify will be loaded into the next virtual deck. Carga el/los archivo(s) de música especificados al inicio. Cada archivo que especifiques se cargará en el siguiente Plato virtual. - + Preview rendered controller screens in the Setting windows. Previsualizar pantallas renderizadas del controlador en las ventanas de Ajustes @@ -984,2557 +997,2585 @@ rastrear - Arriba + Perfilar mensajes ControlPickerMenu - + Headphone Output Salida de auriculares - - - + + + + Deck %1 + %1 is the deck number 1 ... 4 Plato %1 - + Sampler %1 Reproductor de muestras %1 - + Preview Deck %1 Deck de preescucha %1 - + Microphone %1 Micrófono %1 - + Auxiliary %1 Auxiliar %1 - + Reset to default Restaurar al valor predeterminado - + Effect Rack %1 Unidad de efectos %1 - + Parameter %1 Parámetro %1 - + Mixer Mezclador - - + + Crossfader Crossfader - + Headphone mix (pre/main) Mezcla de los auriculares (pre/maestro) - + Toggle headphone split cueing Conmutar la salida dividida de auriculares - + Headphone delay Latencia de auriculares - + Transport Transporte - + Strip-search through track Navegación por toda la pista - + Play button Botón de reproducción - - + + Set to full volume Establecer a volumen máximo - - + + Set to zero volume Establecer a volumen cero - + Stop button Botón de parada - + Jump to start of track and play Ir al comienzo de la pista i reproducir - + Jump to end of track Ir al final de la pista - + Reverse roll (Censor) button Botón Reproduce hacia atrás (con censura) - + Headphone listen button Botón de escucha por Auriculares - - + + Mute button Botón de silencio - + Toggle repeat mode Conmutar modo repetición - - + + Mix orientation (e.g. left, right, center) Orientación de la mezcla (p. ej. izquierda, derecha, centro) - - + + Set mix orientation to left Establecer orientación de la mezcla hacia la izquierda - - + + Set mix orientation to center Establecer orientación de la mezcla al centro - - + + Set mix orientation to right Establecer orientación de la mezcla hacia la derecha - + Toggle slip mode Conmutar el modo deslizante - - + + BPM BPM - + Increase BPM by 1 Incrementar BPM en 1 - + Decrease BPM by 1 Disminuir BPM en 1 - + Increase BPM by 0.1 Incrementar BPM en 0,1 - + Decrease BPM by 0.1 Disminuir BPM en 0,1 - + BPM tap button Botón de BPM manual - + Toggle quantize mode Conmutar el modo de cuantización - + One-time beat sync (tempo only) Sincronizar por unica vez (sólo el tempo) - + One-time beat sync (phase only) Sincronizar por unica vez (sólo la fase) - + Toggle keylock mode Conmutar bloqueo tonal - + Equalizers Ecualizadores - + Vinyl Control Control de vinilo - + Toggle vinyl-control cueing mode (OFF/ONE/HOT) Conmutar el modo de puntos cue del control de vinilo (OFF/ONE/HOT) - + Toggle vinyl-control mode (ABS/REL/CONST) Conmutar el control de vinilo (Absoluto/Relativo/Constante) - + Pass through external audio into the internal mixer Pasar audio externo al mezclador interno - + Cues Puntos cue - + Cue button Botón de Cue - + Set cue point Establecer punto de Cue - + Go to cue point Ir al Cue - + Go to cue point and play Ir al Cue y reproducir - + Go to cue point and stop Ir al punto de Cue y parar - + Preview from cue point Preescuchar desde punto Cue - + Cue button (CDJ mode) Boton Cue (modo CDJ) - + Stutter cue Reproducir Cue (Stutter) - + Hotcues Hotcues - + Set, preview from or jump to hotcue %1 Establecer, preescuchar o saltar al hotcue %1 - + Clear hotcue %1 Borrar hotcue %1 - + Set hotcue %1 Establecer Hotcue %1 - + Jump to hotcue %1 Saltar al hotcue %1 - + Jump to hotcue %1 and stop Saltar al hotcue %1 y parar - + Jump to hotcue %1 and play Saltar al hotcue %1 y reproducir - + Preview from hotcue %1 Preescucha Hotcue %1 - - + + Hotcue %1 Hotcue %1 - + Looping Repetición - + Loop In button Botón de inicio del bucle - + Loop Out button Botón de fin de bucle - + Loop Exit button Botón de salida de bucle - + 1/2 1/2 - + 1 1 - + 2 2 - + 4 4 - + 8 8 - + 16 16 - + 32 32 - + 64 64 - + Move loop forward by %1 beats Mover el bucle hacia adelante en %1 pulsaciones - + Move loop backward by %1 beats Mover el bucle hacia atrás en %1 pulsaciones - + Create %1-beat loop Crear bucle de %1 pulsaciones - + Create temporary %1-beat loop roll Crear bucle temporal corredizo de %1 pulsaciones - + Library Biblioteca - + Slot %1 Ranura %1 - + Headphone Mix Mezcla de Auriculares - + Headphone Split Cue Salida partida por auriculares - + Headphone Delay Retardo de auriculares - + Play Reproducir - + Fast Rewind Retroceso rápido - + Fast Rewind button Botón de Retroceso Rápido - + Fast Forward Avance Rápido - + Fast Forward button Botón de Avance Rápido - + Strip Search Navegación de pista - + Play Reverse Reproducir hacia atrás - + Play Reverse button Botón de Reproducción hacia atrás - + Reverse Roll (Censor) Reproducción hacia atrás (Censura) - + Jump To Start Saltar al Inicio - + Jumps to start of track Saltar al inicio de la pista - + Play From Start Reproducir Desde el Comienzo - + Stop Detener - + Stop And Jump To Start Detener y Saltar al Principio - + Stop playback and jump to start of track Detener reproducción y saltar al inicio de la pista - + Jump To End Saltar al final - + Volume Volumen - - - + + + Volume Fader Deslizador de Volumen - - + + Full Volume Volumen máximo - - + + Zero Volume Volumen cero - + Track Gain Ganancia de pista - + Track Gain knob Rueda de ganancia de pista - - + + Mute Silenciar - + Eject Expulsar - - + + Headphone Listen Escuchar por auriculares - + Headphone listen (pfl) button Botón de escucha con auriculares (pfl) - + Repeat Mode Modo de repetición - + Slip Mode Modo Slip - - + + Orientation Orientación - - + + Orient Left Orientar a la izquierda - - + + Orient Center Orientar al centro - - + + Orient Right Orientar a la derecha - + BPM +1 BPM +1 - + BPM -1 BPM -1 - + BPM +0.1 BPM +0,1 - + BPM -0.1 BPM -0,1 - + BPM Tap Golpeo de BPM - + Adjust Beatgrid Faster +.01 Acelerar la cuadrícula de tempo en +,01 - + Increase track's average BPM by 0.01 Incrementa el BPM promedio de la pista en 0,01 - + Adjust Beatgrid Slower -.01 Ralentizar la cuadrícula de tempo en -,01 - + Decrease track's average BPM by 0.01 Disminuye el BPM promedio de la pista en 0,01 - + Move Beatgrid Earlier Mover la cuadrícula de tempo antes en el tiempo - + Adjust the beatgrid to the left Ajusta la cuadrícula de tempo hacia la izquierda - + Move Beatgrid Later Mover la cuadrícula de tempo después en el tiempo - + Adjust the beatgrid to the right Ajusta la cuadrícula de tempo hacia la derecha - + Adjust Beatgrid Ajustar cuadrícula de tempo - + Align beatgrid to current position Alinea la cuadrícula de tempo a la posición actual - + Adjust Beatgrid - Match Alignment Ajustar la cuadrícula de tempo - Concidir alineación - + Adjust beatgrid to match another playing deck. Ajusta la rejilla para que coincida con otro deck en reproducción. - + Quantize Mode Modo Cuantizado - + Sync Sincronizar - + Beat Sync One-Shot Sincronizar pulsaciones al momento - + Sync Tempo One-Shot Sincronizar tempo al momento - + Sync Phase One-Shot Sincronizar Fase al momento - + Pitch control (does not affect tempo), center is original pitch Control de velocidad (No afecta el tempo), al centro es la velocidad original - + Pitch Adjust Ajuste de velocidad - + Adjust pitch from speed slider pitch Ajuste la velocidad desde el deslizador de velocidad - + Match musical key Coincidir con clave musical - + Match Key Cuadrar tonalidad (clave) - + Reset Key Restablecer tonalidad - + Resets key to original Restablecer tonalidad a la original - + High EQ Ecualización de Agudos - + Mid EQ Ecualización de Medios - - + + Main Output Salida Principal - + Main Output Balance Balance Salida Principal - + Main Output Delay Retardo Salida Principal - + Main Output Gain Ganancia de la Salida principal - + Low EQ Ecualización de Graves - + Toggle Vinyl Control Conmutar el control del vinilo - + Toggle Vinyl Control (ON/OFF) Conmutar el control de vinilo (ON/OFF) - + Vinyl Control Mode Modo de control de vinilo - + Vinyl Control Cueing Mode Modo de Cue en Control por Vinilo - + Vinyl Control Passthrough Passthrough en Control por Vinilo - + Vinyl Control Next Deck siguiente deck en control de vinilo - + Single deck mode - Switch vinyl control to next deck Modo de un solo deck - Cambia el control de vinilo al siguiente deck - + Cue Cue - + Set Cue Establecer punto cue - + Go-To Cue Ir al Cue - + Go-To Cue And Play Ir a Cue y reproducir - + Go-To Cue And Stop Ir al Cue y detener - + Preview Cue Preescuchar Cue - + Cue (CDJ Mode) Cue (modo CDJ) - + Stutter Cue Reproducir Cue (Stutter) - + Go to cue point and play after release Ir al cue y reproducir en soltar - + Clear Hotcue %1 Borrar hotcue %1 - + Set Hotcue %1 Establecer Hotcue %1 - + Jump To Hotcue %1 Saltar al hotcue %1 - + Jump To Hotcue %1 And Stop Saltar al hotcue %1 y parar - + Jump To Hotcue %1 And Play Saltar al hotcue %1 y reproducir - + Preview Hotcue %1 Preescuchar Hotcue %1 - + Loop In Inicio de bucle - + Loop Out Fin del bucle - + Loop Exit Salida del bucle - + Reloop/Exit Loop Repetir/Salir del bucle - + Loop Halve Reducir bucle a la mitad - + Loop Double Aumentar bucle al doble - + 1/32 1/32 - + 1/16 1/16 - + 1/8 1/8 - + 1/4 1/4 - + Move Loop +%1 Beats Mover bucle en +%1 pulsaciones - + Move Loop -%1 Beats Mover bucle en -%1 pulsaciones - + Loop %1 Beats Bucle de %1 pulsaciones - + Loop Roll %1 Beats Bucle corredizo de %1 pulsaciones - + Add to Auto DJ Queue (bottom) Añadir a la cola de Auto DJ (al final) - + Append the selected track to the Auto DJ Queue Añade las pistas seleccionadas al final de la cola de Auto DJ - + Add to Auto DJ Queue (top) Añadir a la cola de Auto DJ (al principio) - + Prepend selected track to the Auto DJ Queue Añade las pistas seleccionadas al principio de la cola de Auto DJ - + Load Track Cargar Pista - + Load selected track Carga la pista seleccionada - + Load selected track and play Carga la pista seleccionada y la reproduce - - + + Record Mix Grabar mezcla - + Toggle mix recording Conmuta la grabación de la mezcla - + Effects Efectos - - Quick Effects - Efectos rápidos - - - + Deck %1 Quick Effect Super Knob Super rueda de efecto rápido del deck %1 - + + Quick Effect Super Knob (control linked effect parameters) Super rueda de efecto rápido (parámetros de efecto asociado al control) - - + + + + Quick Effect Efecto rápido - + Clear Unit Limpiar unidad - + Clear effect unit Limpia la unidad de efectos - + Toggle Unit Conmutar la unidad - + Dry/Wet Directo/Alterado - + Adjust the balance between the original (dry) and processed (wet) signal. Ajuste entre señal directa (dry) y alterada (wet). - + Super Knob Rueda Súper - + Next Chain Siguiente cadena - + Assign Asignar - + Clear Borrar - + Clear the current effect Borrar el efecto actual - + Toggle Conmutar - + Toggle the current effect Conmutar el efecto actual - + Next Siguente - + Switch to next effect Cambiar al siguiente efecto - + Previous Anterior - + Switch to the previous effect Cambiar al efecto previo - + Next or Previous Siguiente o Anterior - + Switch to either next or previous effect Cambiar a cualquier efecto siguiente o anterior - - + + Parameter Value Valor de Parámetro - - + + Microphone Ducking Strength Intensidad de Atenuación de Micrófono - + Microphone Ducking Mode Modo de Atenuación de Micrófono - + Gain Ganancia - + Gain knob Rueda de Ganancia - + Shuffle the content of the Auto DJ queue Mezcla el contenido de la cola de Auto DJ - + Skip the next track in the Auto DJ queue Salta la siguiente pista de la cola de Auto DJ - + Auto DJ Toggle Conmutar Auto DJ - + Toggle Auto DJ On/Off Conmutar Auto DJ Encendido/Apagado - + Show/hide the microphone & auxiliary section Muestra/oculta la sección del micrófono y el auxiliar - + 4 Effect Units Show/Hide Mostrar/ocultar las 4 Unidades de Efectos - + Switches between showing 2 and 4 effect units Cambia entre mostrar 2 y 4 unidades de efectos - + Mixer Show/Hide Mostrar/Ocultar Mezclador - + Show or hide the mixer. Mostrar u ocultar el mezclador. - + Cover Art Show/Hide (Library) Mostrar/Ocultar Portadas (Biblioteca) - + Show/hide cover art in the library Muestra/oculta las portadas en la biblioteca - + Library Maximize/Restore Maximizar/Restaurar Biblioteca - + Maximize the track library to take up all the available screen space. Maximizar la biblioteca para tomar todo el espacio disponible en pantalla. - + Effect Rack Show/Hide Mostrar/ocultar unidad de efectos - + Show/hide the effect rack Mostrar/ocultar unidad de efectos - + Waveform Zoom Out Alejar zoom de forma de onda - + Headphone Gain Ganancia del auricular - + Headphone gain Ganancia de auriculares - + Tap to sync tempo (and phase with quantize enabled), hold to enable permanent sync toca para sincronizar el tempo (y fase con cuantización habilitada) mantenga para sincronizar permanentemente - + One-time beat sync tempo (and phase with quantize enabled) toque para sincronizar solo una vez (el tempo y fase) - + Playback Speed Velocidad de reproducción - + Playback speed control (Vinyl "Pitch" slider) Control de velocidad de reproducción (El "Pitch de vinilo) - + Pitch (Musical key) Pitch (tonalidad) - + Increase Speed Incrementar Velocidad - + Adjust speed faster (coarse) Incrementar la velocidad (grueso) - + Increase Speed (Fine) Incrementar velocidad (fino) - + Adjust speed faster (fine) Incrementar la velocidad (fino) - + Decrease Speed Reducir Velocidad - + Adjust speed slower (coarse) Reducir la velocidad (grueso) - + Adjust speed slower (fine) Reducir la velocidad (fino) - + Temporarily Increase Speed Incrementar temporalmente la velocidad - + Temporarily increase speed (coarse) Incremento temporal de velocidad (grueso) - + Temporarily Increase Speed (Fine) Incremento temporal de velocidad (fino) - + Temporarily increase speed (fine) Incremento temporal de velocidad (fino) - + Temporarily Decrease Speed Reducir temporalmente la velocidad - + Temporarily decrease speed (coarse) Reducción temporal de velocidad (grueso) - + Temporarily Decrease Speed (Fine) Reducción temporal de velocidad (fino) - + Temporarily decrease speed (fine) Reducción temporal de velocidad (fino) - - + + Adjust %1 Ajuste %1 - + + Deck %1 Stem %2 + + + + Effect Unit %1 Unidad de Efectos %1 - + Button Parameter %1 Parámetro %1 del botón. - + Skin Apariencia - + Controller Controlador - + Crossfader / Orientation Crossfader / Orientación - + Main Output gain Ganancia Salida Principal - + Main Output balance Balance Salida Principal - + Main Output delay Retardo (delay) de la Salida principal - + Headphone Auriculares - - + + Kill %1 + %1 is "Low EQ" "Mid EQ" or "High EQ" Suprime %1 - + Eject or un-eject track, i.e. reload the last-ejected track (of any deck)<br>Double-press to reload the last replaced track. In empty decks it reloads the second-last ejected track. Expulsa o recupera la pista, es decir, carga la última pista expulsada (de cualquier deck).<br>Pulsa dos veces para cargar la última pista sustituida. En decks vacíos carga la penúltima pista expulsada. - + BPM / Beatgrid BPM / Grilla de tiempo - + Halve BPM Reducir a la mitad los BPM - + Multiply current BPM by 0.5 Multiplica los BPM por 0.5 - + 2/3 BPM 2/3 BPM - + Multiply current BPM by 0.666 Multiplica el BPM actual por 0.666 - + 3/4 BPM 3/4 BPM - + Multiply current BPM by 0.75 Multiplica el BPM actual por 0.75 - + 4/3 BPM 4/3 BPM - + Multiply current BPM by 1.333 Multiplica el BPM actual por 1.333 - + 3/2 BPM 3/2 BPM - + Multiply current BPM by 1.5 Multiplica el BPM actual por 1.5 - + Double BPM Dobla los BPM - + Multiply current BPM by 2 Multiplica el BPM actual por 2 - + Tempo Tap Seguidor de Tempo (Tempo Tap) - + Tempo tap button Botón del Tempo Tap - + Move Beatgrid Desplaza la grilla de tiempo - + Adjust the beatgrid to the left or right Ajusta la grilla de tiempo a la izquierda o a la derecha - + Move Beatgrid Half a Beat Desplaza la cuadricula de tiempo medio pulso - + Adjust the beatgrid by exactly one half beat. Usable only for tracks with constant tempo. Ajusta la cuadrícula de tiempo en exactamente medio beat. Solo se puede usar en pistas con tempo constante. - - + + Toggle the BPM/beatgrid lock Cambia el bloqueo de BPM/grilla de tiempo - + Revert last BPM/Beatgrid Change Revierte el último cambio de BPM/grilla de tiempo - + Revert last BPM/Beatgrid Change of the loaded track. Revierte el último cambio de BPM/grilla de tiempo para la pista cargada - + Sync / Sync Lock Sincronizar / Bloqueo Sincronización - + Internal Sync Leader Sincronización Líder Interno - + Toggle Internal Sync Leader Conmutar el modo Sincronización Líder Interno - - + + Internal Leader BPM BPM Líder Interno - + Internal Leader BPM +1 BPM Líder Interno +1 - + Increase internal Leader BPM by 1 Incrementar BPM líder interno en 1 - + Internal Leader BPM -1 BPM Líder Interno -1 - + Decrease internal Leader BPM by 1 Disminuir BPM líder interno en 1 - + Internal Leader BPM +0.1 BPM Líder Interno +0.1 - + Increase internal Leader BPM by 0.1 Incrementar BPM líder interno en 0.1 - + Internal Leader BPM -0.1 BPM Líder Interno -0.1 - + Decrease internal Leader BPM by 0.1 Disminuir BPM Líder Interno en 0.1 - + Sync Leader Líder de Sicronización - + Sync mode 3-state toggle / indicator (Off, Soft Leader, Explicit Leader) Modo de Sicronización 3-State Toggle / Indicador (Off, Soft Leader, Explicit Leader) - + Speed LFO - + Decrease Speed (Fine) Reducir velocidad (fino) - + Pitch (Musical Key) Tono (Clave Musical) - + Increase Pitch Incrementar Tono - + Increases the pitch by one semitone Incrementar el tono por un semitono - + Increase Pitch (Fine) Incrementar Tono (Fino) - + Increases the pitch by 10 cents Incrementa el tono por 10 céntimos - + Decrease Pitch Decrementar Tono - + Decreases the pitch by one semitone Decrementa el tono por un semitono - + Decrease Pitch (Fine) Decrementar Tono (Fino) - + Decreases the pitch by 10 cents Decrementa el tono por 10 céntimos - + Keylock Bloqueo tonal - + CUP (Cue + Play) CUP (Cue + Play) - + Shift cue points earlier Cambiar puntos cue antes - + Shift cue points 10 milliseconds earlier Cambiar puntos marcado 10 milisegundos antes - + Shift cue points earlier (fine) Desplaza el punto cue hacia atrás (fino) - + Shift cue points 1 millisecond earlier Desplaza los puntos cue 1 milisegundo atrás - + Shift cue points later Cambiar puntos marcado después - + Shift cue points 10 milliseconds later Cambiar puntos marcado 10 milisegundos después - + Shift cue points later (fine) Cambiar puntos marcado después (fino) - + Shift cue points 1 millisecond later Cambiar puntos marcado 1 milisegundo después - - + + Sort hotcues by position Ordenar hotcues por posición - - + + Sort hotcues by position (remove offsets) Ordenar hotcues por posición (removiendo desfases) - + Hotcues %1-%2 Accesos Directos %1-%2 - + Intro / Outro Markers Marcadores de Entrada / Salida - + Intro Start Marker Marcador Inicial de Entrada - + Intro End Marker Marcador Final de Entrada - + Outro Start Marker Marcador Inicial de Salida - + Outro End Marker Marcador Final de Salida - + intro start marker marcador inicial de entrada - + intro end marker Marcador final de entrada - + outro start marker marcador inicial de salida - + outro end marker marcador final de salida - + Activate %1 [intro/outro marker Activa %1 - + Jump to or set the %1 [intro/outro marker Saltar a o poner el %1 - + Set %1 [intro/outro marker Poner %1 - + Set or jump to the %1 [intro/outro marker Establecer o saltar a %1 - + Clear %1 [intro/outro marker Limpiar %1 - + Clear the %1 [intro/outro marker Limpiar el %1 - + if the track has no beats the unit is seconds si la pista no tiene pulsaciones la unidad es segundos - + Loop Selected Beats Bucle de las pulsaciones seleccionadas - + Create a beat loop of selected beat size Crear bucle con el tamaño de pulsaciones seleccionado - + Loop Roll Selected Beats Bucle corredizo de las pulsaciones seleccionadas - + Create a rolling beat loop of selected beat size Crear bucle corredizo con el tamaño de pulsaciones seleccionado - + Loop %1 Beats set from its end point Bucle de %1 pulsaciones desde su punto final - + Loop Roll %1 Beats set from its end point Definir serie de bucles de %1 pulsaciones desde su punto final - + Create %1-beat loop with the current play position as loop end Crea un bucle de 1%-beat con la posición de reproducción actual como final del bucle - + Create temporary %1-beat loop roll with the current play position as loop end Crea un redoble de bucle temporal de %1-pulsos con la posición de reproducción actual como final del bucle - + Loop Beats Bucle de pulsos - + Loop Roll Beats Redoble de bucle de pulsos - + Go To Loop In Ir al Loop de entrada - + Go to Loop In button Ir al botón Loop de entrada - + Go To Loop Out Ir al Loop de salida - + Go to Loop Out button Ir al botón Loop de salida - + Toggle loop on/off and jump to Loop In point if loop is behind play position Activar / Desactivar bucle y saltar al inicio del bucle si está detrás de la posición de reproducción - + Reloop And Stop Reactivar bucle y detener - + Enable loop, jump to Loop In point, and stop Activar bucle, ir al inicio del bucle y detener - + Halve the loop length Reducir a la mitad la longitud del bucle - + Double the loop length Duplicar la longitud del bucle - + Beat Jump / Loop Move Salto de pulsaciones / Movimiento del bucle - + Jump / Move Loop Forward %1 Beats Saltar / Mover bucle hacia delante en %1 pulsaciones - + Jump / Move Loop Backward %1 Beats Saltar / Mover bucle hacia atrás en %1 pulsaciones - + Jump forward by %1 beats, or if a loop is enabled, move the loop forward %1 beats Saltar hacia adelante en %1 pulsaciones, o si el bucle está activado, moverlo hacia adelante en %1 pulsaciones - + Jump backward by %1 beats, or if a loop is enabled, move the loop backward %1 beats Saltar hacia atrás en %1 pulsaciones, o si el bucle está activado, moverlo hacia atrás en %1 pulsaciones - + Beat Jump / Loop Move Forward Selected Beats Saltar en pulsaciones / Mover el bucle adelante en la cantidad seleccionada - + Jump forward by the selected number of beats, or if a loop is enabled, move the loop forward by the selected number of beats Salta hacia adelante la cantidad seleccionada de pulsaciones, o si el bucle está activado, lo mueve hacia adelante la cantidad seleccionada de pulsaciones - + Beat Jump / Loop Move Backward Selected Beats Saltar en pulsaciones / Mover el bucle atrás en la cantidad seleccionada - + Jump backward by the selected number of beats, or if a loop is enabled, move the loop backward by the selected number of beats Salta hacia atrás la cantidad seleccionada de pulsaciones, o si el bucle está activado, lo mueve hacia atrás la cantidad seleccionada de pulsaciones - + Beat Jump Salto de pulso - + Indicate which loop marker remain static when adjusting the size or is inherited from the current position Indica qué marcadores de bucle permanecen estáticos al ajustar el tamaño o es ajustado según la posición actual - + Beat Jump / Loop Move Forward Salto de pulso / Bucle hacia adelante - + Beat Jump / Loop Move Backward Salto de pulso / Bucle hacia atrás - + Loop Move Forward Bucle hacia adelante - + Loop Move Backward Bucle en reversa - + Remove Temporary Loop Remueve el bucle temporal - + Remove the temporary loop Remueve el bucle temporal - + Navigation Navegación - + Move up Hacia arriba - + Equivalent to pressing the UP key on the keyboard Equivalente a pulsar la tecla flecha arriba en el teclado - + Move down Hacia abajo - + Equivalent to pressing the DOWN key on the keyboard Equivalente a pulsar la tecla abajo arriba en el teclado - + Move up/down Arriba/abajo - + Move vertically in either direction using a knob, as if pressing UP/DOWN keys Mover verticalmente en qualquier dirección usando una rueda, como si se pulsaran las teclas flecha arriba/abajo - + Scroll Up Retrocede página - + Equivalent to pressing the PAGE UP key on the keyboard Equivalente a pulsar la tecla retrocede página arriba en el teclado - + Scroll Down Avance página - + Equivalent to pressing the PAGE DOWN key on the keyboard Equivalente a pulsar la tecla avance página en el teclado - + Scroll up/down Arriba/abajo página - + Scroll vertically in either direction using a knob, as if pressing PGUP/PGDOWN keys Mover verticalmente en qualquier dirección usando una rueda, como si se pulsaran las teclas avance/retroceso página - + Move left Izquierda - + Equivalent to pressing the LEFT key on the keyboard Equivalente a pulsar la tecla flecha izquierda en el teclado - + Move right Derecha - + Equivalent to pressing the RIGHT key on the keyboard Equivalente a pulsar la tecla flecha derecha en el teclado - + Move left/right Izquierda/derecha - + Move horizontally in either direction using a knob, as if pressing LEFT/RIGHT keys Mover verticalmente en qualquier dirección usando una rueda, como si se pulsaran las teclas flecha izquierda/derecha - + Move focus to right pane Mover al panel derecho - + Equivalent to pressing the TAB key on the keyboard Equivalente a pulsar la tecla Tabulador del teclado - + Move focus to left pane Mover el foco al panel izquierdo - + Equivalent to pressing the SHIFT+TAB key on the keyboard Equivalente a pulsar las teclas Mayúsculas+Tabulación en el teclado. - + Move focus to right/left pane Mover el foco al panel izquierdo/derecho - + Move focus one pane to right or left using a knob, as if pressing TAB/SHIFT+TAB keys Mueve el foco al panel izquierdo o derecho usando una rueda, como si se pulsara tabulación/mayusculas+tabulación. - + Sort focused column Ordenar columna enfocada - + Sort the column of the cell that is currently focused, equivalent to clicking on its header Ordena la columna de la celda que está enfocada, equivale a hacer click en su encabezado - + Go to the currently selected item Ir al elemento actualmente seleccionado - + Choose the currently selected item and advance forward one pane if appropriate Selecciona el elemento actualmente seleccionado y avanza un panel, si corresponde - + Load Track and Play Cargar Pista y Reproducir - + Add to Auto DJ Queue (replace) Añadir a la cola de Auto DJ (reemplaza) - + Replace Auto DJ Queue with selected tracks Reemplaza la cola de Auto DJ con las pistas seleccionadas - + Select next search history Selecciona el siguiente historial de búsqueda - + Selects the next search history entry Selecciona la siguiente entrada del historial de búsqueda - + Select previous search history Selecciona el historial de búsqueda anterior - + Selects the previous search history entry Selecciona la entrada previa del historial de búsqueda - + Move selected search entry Mover entrada de búsqueda seleccionada - + Moves the selected search history item into given direction and steps Mueve el elemento de la búsqueda histórica seleccionado en la dirección dada y pasa - + Clear search Eliminar búsqueda - + Clears the search query Limpia la búsqueda - - + + Select Next Color Available Selecciona el próximo color disponible - + Select the next color in the color palette for the first selected track Selecciona el próximo color en la paleta de colores para la primera pista seleccionada - - + + Select Previous Color Available Selecciona el anterior color disponible - + Select the previous color in the color palette for the first selected track Selecciona el color anterior en la paleta de colores para la primera pista seleccionada - + + Quick Effects Deck %1 + + + + Deck %1 Quick Effect Enable Button Botón rápido de activación de efecto de cubierta %1 - + + Quick Effect Enable Button Botón de activación de efectos rápidos - + + Deck %1 Stem %2 Quick Effect Super Knob + + + + + Deck %1 Stem %2 Quick Effect Enable Button + + + + Enable or disable effect processing Activar o desactivar efectos - + Super Knob (control effects' Meta Knobs) Rueda Super (controla las ruedas Meta del efecto) - + Mix Mode Toggle Alternar modo de mezcla - + Toggle effect unit between D/W and D+W modes Cambia la unidad de efectos entre los modos D / W y D + W - + Next chain preset Siguiente preajuste de cadena - + Previous Chain Cadena anterior - + Previous chain preset Anterior preajuste de cadena - + Next/Previous Chain Cadena siguiente/anterior - + Next or previous chain preset Siguiente o anterior preajuste de cadena - - + + Show Effect Parameters Mostrar parámetros de efectos - + Effect Unit Assignment Asignación de la Unidad de Efectos - + Meta Knob Rueda Meta - + Effect Meta Knob (control linked effect parameters) Rueda Meta del efecto (controla los parámetros del efecto asociados) - + Meta Knob Mode Modo de la rueda Meta - + Set how linked effect parameters change when turning the Meta Knob. Define como se comportan los parámetros del efecto enlazados al mover la rueda Meta. - + Meta Knob Mode Invert Modo rueda Meta Invertida - + Invert how linked effect parameters change when turning the Meta Knob. Invierte el sentido en el que se mueven los parámetros del efecto enlazados al girar la rueda Meta. - - + + Button Parameter Value Valor del parámetro del botón - + Microphone / Auxiliary Micrófono/Auxiliar - + Microphone On/Off Micrófono Encendido/Apagado - + Microphone on/off Micrófono encendido/apagado - + Toggle microphone ducking mode (OFF, AUTO, MANUAL) Conmutar modo de atenuación de micrófono (OFF, AUTO, MANUAL) - + Auxiliary On/Off Auxiliar Encendido/Apagado - + Auxiliary on/off Auxiliar encendido/apagado - + Auto DJ Auto DJ - + Auto DJ Shuffle Auto DJ Aleatorio - + Auto DJ Skip Next Quitar la siguiente en Auto DJ - + Auto DJ Add Random Track Añade una pista aleatoria al Auto DJ - + Add a random track to the Auto DJ queue Añade una pista aleatoria a la fila del Auto DJ - + Auto DJ Fade To Next Autodesvanecer a la siguiente en Auto DJ - + Trigger the transition to the next track Desencadenar la transición a la pista siguiente - + User Interface Interfaz de usuario - + Samplers Show/Hide Mostrar/Ocultar reproductor de muestras - + Show/hide the sampler section Mostrar/Ocultar la sección de reproductor de muestras - + Microphone && Auxiliary Show/Hide keep double & to prevent creation of keyboard accelerator Mostrar/Ocultar Micrófono y Auxiliar - + Waveform Zoom Reset To Default Reestablece el zoom de la forma de onda - + Reset the waveform zoom level to the default value selected in Preferences -> Waveforms Restablece el nivel de zoom de la forma de onda al valor por defecto seleccionado en Preferencias > Formas de onda - + Select the next color in the color palette for the loaded track. Selecciona el próximo color en la paleta de colores para la pista cargada. - + Select previous color in the color palette for the loaded track. Selecciona el color anterior en la paleta de colores para la pista cargada. - + Navigate Through Track Colors Navegar a través de los colores de las pistas - + Select either next or previous color in the palette for the loaded track. Selecciona cualquiera de los colores siguientes o anteriores en la paleta de colores para la pista cargada. - + Start/Stop Live Broadcasting Inicia/Detiene Transmisión En Vivo - + Stream your mix over the Internet. Emite tus mezclas por internet. - + Start/stop recording your mix. Inicia/Detiene la grabación de tu mezcla. - - + + + Deck %1 Stems + + + + + Samplers Muestreadores / Samplers - + Vinyl Control Show/Hide Mostrar/Ocultar Control de Vinilo - + Show/hide the vinyl control section Mostrar/ocultar la sección del control del vinilo - + Preview Deck Show/Hide Ocultar/Mostrar reproductor de preescucha - + Show/hide the preview deck Oculta/Muestra el reproductor de pre-escucha - + Toggle 4 Decks Conmuta el modo de 4 platos - + Switches between showing 2 decks and 4 decks. Cambia entre mostrar 2 platos o 4 platos. - + Cover Art Show/Hide (Decks) Mostrar/ocultar carátulas (en Platos) - + Show/hide cover art in the main decks Mostrar/ocultar carátulas en los platos principales. - + Vinyl Spinner Show/Hide Mostrar/ocultar vinilo - + Show/hide spinning vinyl widget Mostrar/ocultar el widget de vinilo giratorio - + Vinyl Spinners Show/Hide (All Decks) Mostrar/ocultar los vinilos giratorios (todos los platos) - + Show/Hide all spinnies Mostrar/ocultar todos los giradores - + Toggle Waveforms Alternar formas de onda - + Show/hide the scrolling waveforms. Mostrar/ocultar las formas de onda deslizantes - + Waveform zoom Cambia el zoom de la forma de onda - + Waveform Zoom Zoom de forma de onda - + Zoom waveform in Incrementa el zoom de la forma de onda - + Waveform Zoom In Acercar zoom de forma de onda - + Zoom waveform out Reduce el zoom de la forma de onda - + Star Rating Up Agregar una estrella - + Increase the track rating by one star Incrementa la puntuación de la pista en una estrella - + Star Rating Down Quitar una estrella - + Decrease the track rating by one star Reduce la puntuación de la pista en una estrella @@ -3547,6 +3588,159 @@ rastrear - Arriba + Perfilar mensajes Desconocido + + ControllerHidReportTabsManager + + + Read + + + + + Send + + + + + Payload Size + + + + + bytes + + + + + Byte Position + + + + + Bit Position + + + + + Bit Size + + + + + Logical Min + + + + + Logical Max + + + + + Value + + + + + Physical Min + + + + + Physical Max + + + + + Unit Scaling + + + + + Unit + + + + + Abs/Rel + + + + + + Wrap + + + + + + Linear + + + + + + Preferred + + + + + + Null + + + + + + Volatile + + + + + Usage Page + + + + + Usage + + + + + Relative + + + + + Absolute + + + + + No Wrap + + + + + Non Linear + + + + + No Preferred + + + + + No Null + + + + + Non Volatile + + + ControllerInputMappingTableModel @@ -3682,27 +3876,27 @@ rastrear - Arriba + Perfilar mensajes ControllerScriptEngineLegacy - + Controller Mapping File Problem Problema del archivo del mapa de controlador - + The mapping for controller "%1" cannot be opened. El mapa del controlador "%1" no puede ser abierto. - + The functionality provided by this controller mapping will be disabled until the issue has been resolved. La funcionalidad provista por este mapa de controlador será desactivada hasta que el problema sea resuelto. - + File: Archivo: - + Error: Error: @@ -3735,7 +3929,7 @@ rastrear - Arriba + Perfilar mensajes - + Lock Bloquear @@ -3765,7 +3959,7 @@ rastrear - Arriba + Perfilar mensajes Fuente de pistas para Auto DJ - + Enter new name for crate: Introduce un nuevo nombre para la caja: @@ -3782,22 +3976,22 @@ rastrear - Arriba + Perfilar mensajes Importar caja - + Export Crate Exportar caja - + Unlock Desbloquear - + An unknown error occurred while creating crate: Se ha producido un error desconocido al crear la caja: - + Rename Crate Renombrar caja @@ -3807,28 +4001,28 @@ rastrear - Arriba + Perfilar mensajes Haz una caja para tu próximo concierto, para tus temas electrohouse favoritos o para tus temas más solicitados. - + Confirm Deletion Confirmar Borrado - - + + Renaming Crate Failed Fallo al renombrar la caja - + Crate Creation Failed Fallo al crear la caja - + M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Text CSV (*.csv);;Readable Text (*.txt) Lista de reproducción M3U (*.m3u);;Lista de reproducción M3U8 (*.m3u8);;Lista de reproducción PLS (*.pls);;Texto CSV (*.csv);;Texto legible (*.txt) - + M3U Playlist (*.m3u) Lista de reproducción M3U (*.m3u) @@ -3849,17 +4043,17 @@ rastrear - Arriba + Perfilar mensajes ¡Las cajas te permiten organizar tu música como quieras! - + Do you really want to delete crate <b>%1</b>? ¿Quieres eliminar la caja <b>%1</b>? - + A crate cannot have a blank name. Una caja no puede tener un nombre en blanco. - + A crate by that name already exists. Ya existe una caja con ese nombre. @@ -3954,12 +4148,12 @@ rastrear - Arriba + Perfilar mensajes Contribuyentes anteriores - + Official Website Sitio web oficial - + Donate Donar @@ -4788,123 +4982,140 @@ Esto podría deberse a que estás usando una skin antigua y este control ya no e DlgPrefBroadcast - + Icecast 2 Icecast 2 - + Shoutcast 1 Shoutcast 1 - + Icecast 1 Icecast 1 - + MP3 MP3 - + Ogg Vorbis Ogg Vorbis - + Opus Opus - + AAC AAC - + HE-AAC HE-AAC - + HE-AACv2 HE-AACv2 - + Automatic Automático - + Mono Mono - + Stereo Estéreo - - - - + + Saving settings failed + + + + + The password for '%1' contains invalid characters. Please enter it again. + +Note: This can for example be invisible linebreaks when using copy/paste. + + + + + + Action failed Acción fallida - + You can't create more than %1 source connections. No se pueden crear más de %1 fuentes de emisión en vivo. - + Source connection %1 Fuente de emisión %1 - + + Settings for %1 + Settings for broadcast profile, %1 is the profile name placeholder + + + + At least one source connection is required. Se requiere almenos una fuente de emisión. - + Are you sure you want to disconnect every active source connection? ¿Seguro que deseas desconectar todas las fuentes de emisión activas? - - + + Confirmation required Se necesita confirmación - + '%1' has the same Icecast mountpoint as '%2'. Two source connections to the same server that have the same mountpoint can not be enabled simultaneously. '%1' tiene el mismo punto de montaje Icecast que '%2'. No se puede establecer dos conexiones simultáneas al mismo servidor, con el mismo punto de montaje. - + Are you sure you want to delete '%1'? ¿Deseas realmente borrar '%1'? - + Renaming '%1' Renombrando '%1' - + New name for '%1': Nuevo nombre para '%1': - + Can't rename '%1' to '%2': name already in use No se puede renombrar '%1' a '%2': el nombre está en uso @@ -4917,27 +5128,27 @@ No se puede establecer dos conexiones simultáneas al mismo servidor, con el mis Preferencias de Transmision en Vivo - + Mixxx Icecast Testing Prueba de «Icecast» de Mixxx - + Public stream Transmisión pública - + http://www.mixxx.org http://www.mixxx.org - + Stream name Nombre de la emisión - + Due to flaws in some streaming clients, updating Ogg Vorbis metadata dynamically can cause listener glitches and disconnections. Check this box to update the metadata anyway. Debido a errores en algunos clientes de transmisión, actualizar dinámicamente los metadatos Ogg Vorbis puede causar interferencias y desconexiones a los oyentes. Marque esta casilla para actualizar los metadatos de todos modos. @@ -4977,67 +5188,72 @@ No se puede establecer dos conexiones simultáneas al mismo servidor, con el mis Opciones para %1 - + + Available fields: $artist, $title, $year, $album, $genre, $bpm + + + + Dynamically update Ogg Vorbis metadata. Actualizar dinámicamente los metadatos Ogg Vorbis. - + ICQ ICQ - + AIM AIM - + Website Sitio web - + Live mix Mezcla en vivo - + IRC IRC - + Select a source connection above to edit its settings here Selecciona en la lista la fuente de emisión que desees editar - + Password storage Guardado de contraseñas - + Plain text Texto simple - + Secure storage (OS keychain) Almacen seguro (almacen de llaves del SO) - + Genre Género - + Use UTF-8 encoding for metadata. Usar codificación UTF-8 para los metadatos. - + Description Descripción @@ -5063,42 +5279,42 @@ No se puede establecer dos conexiones simultáneas al mismo servidor, con el mis Canales - + Server connection Conexión al servidor - + Type Tipo - + Host Servidor - + Login Identificación - + Mount Montar - + Port Puerto - + Password Contraseña - + Stream info Información de la emisión @@ -5108,17 +5324,17 @@ No se puede establecer dos conexiones simultáneas al mismo servidor, con el mis Metadatos - + Use static artist and title. Usar texto de artista y título fijos - + Static title Titulo fijo - + Static artist Artista fijo @@ -5177,13 +5393,14 @@ No se puede establecer dos conexiones simultáneas al mismo servidor, con el mis DlgPrefColors - - + + + By hotcue number Por número de hotcue - + Color Color @@ -5228,17 +5445,22 @@ No se puede establecer dos conexiones simultáneas al mismo servidor, con el mis + Jump default color + + + + When key colors are enabled, Mixxx will display a color hint associated with each key. Cuando se han habilitado los colores de nota, Mixxx mostrará una pista de color asociada con cada nota. - + Enable Key Colors Activar colores de nota - + Key palette Paleta de notas @@ -5246,114 +5468,114 @@ associated with each key. DlgPrefController - + Apply device settings? ¿Aplicar la configuración del dispositivo? - + Your settings must be applied before starting the learning wizard. Apply settings and continue? La configuración debe ser aplicada antes de iniciar el asistente de aprendizaje. ¿Aplicar la configuración y continuar? - + None Ningún - + %1 by %2 %1 por %2 - + Mapping has been edited Se ha editado el mapeo - + Always overwrite during this session Siempre sobreescribir durante esta sesión - + Save As Guardar como - + Overwrite Sobreescribir - + Save user mapping Guardar mapeo del usuario - + Enter the name for saving the mapping to the user folder. Ingresar el nombre del archivo de mapeo para guardarlo en la carpeta de usuario. - + Saving mapping failed Ha fallado el guardado del mapeo - + A mapping cannot have a blank name and may not contain special characters. El nombre del mapeo no puede estar en blanco, ni contener caracteres especiales. - + A mapping file with that name already exists. Ya existe un archivo de mapeo con el mismo nombre. - + Do you want to save the changes? Quieres guardar los cambios? - + Troubleshooting Solución de problemas - + <font color='#BB0000'><b>If you use this mapping your controller may not work correctly. Please select another mapping or disable the controller.</b></font><br><br>This mapping was designed for a newer Mixxx Controller Engine and cannot be used on your current Mixxx installation.<br>Your Mixxx installation has Controller Engine version %1. This mapping requires a Controller Engine version >= %2.<br><br>For more information visit the wiki page on <a href='https://mixxx.org/wiki/doku.php/controller_engine_versions'>Controller Engine Versions</a>. <font color='#BB0000'><b>Si usas este mapeo, tu controlador podría no funcionar correctamente. Por favor selecciona otro mapeo o deshabilita el controlador. </b></font><br><br>Este mapeo fue diseñado para un nuevo Motor de Controladores de Mixxx, y no puede ser usado con tu instalación actual.<br>Tu instalación de Mixxx posee la version del Motor de Controladores %1. Este mapeo requiere una versión del Motor de controladores >=%2.<br><br>Para más información visita la wiki de <a href='https://mixxx.org/wiki/doku.php/controller_engine_versions'>Versiones del Motor de Controladores</a>. - + Mapping already exists. El mapeo ya existe. - + <b>%1</b> already exists in user mapping folder.<br>Overwrite or save with a new name? <b>%1</b> ya existe en la carpeta de mapeos de usuario. <br>¿Deseas sobreescribir o guardar con otro nombre? - + Clear Input Mappings Limpiar mapeos de Entrada - + Are you sure you want to clear all input mappings? Está seguro de querer eliminar todos los mapeos de entrada? - + Clear Output Mappings Limpiar mapeos de Salida - + Are you sure you want to clear all output mappings? Está seguro de querer eliminar todos los mapeos de salida? @@ -5371,100 +5593,105 @@ Apply settings and continue? Activado - + + Refresh mapping list + + + + Device Info Información del dispositivo - + Physical Interface: Interfase física - + Vendor name: Nombre del fabricante: - + Product name: Nombre del producto: - + Vendor ID ID del proveedor - + VID: VID: - + Product ID ID del producto - + PID: PID: - + Serial number: Número de serie: - + USB interface number: Número de interfaz USB - + HID Usage-Page: Página de uso HID - + HID Usage: Uso de HID: - + Description: Descripción: - + Support: Soporte: - + Screens preview Previsualizar pantallas - + Input Mappings Mapeos de Entrada - - + + Search Buscar - - + + Add Añadir - - + + Remove Quitar @@ -5484,17 +5711,17 @@ Apply settings and continue? Cargar Mapeo: - + Mapping Info Información de mapeo - + Author: Autor: - + Name: Nombre: @@ -5504,28 +5731,28 @@ Apply settings and continue? Asistente de aprendizaje (sólo MIDI) - + Data protocol: Protocolo de datos: - + Mapping Files: Archivos de mapeo - + Mapping Settings Configuración de mapeo - - + + Clear All Limpiar todo - + Output Mappings Mapeos de Salida @@ -5540,21 +5767,21 @@ Apply settings and continue? - Mixxx uses "mappings" to connect messages from your controller to controls in Mixxx. If you do not see a mapping for your controller in the "Load Mapping" menu when you click on your controller on the left sidebar, you may be able to download one online from the %1. Place the XML (.xml) and Javascript (.js) file(s) in the "User Mapping Folder" then restart Mixxx. If you download a mapping in a ZIP file, extract the XML and Javascript file(s) from the ZIP file to your "User Mapping Folder" then restart Mixxx. - Mixxx utiliza "mapeos" para conectar mensajes desde tu controlador a los controles en Mixxx. Si no ves un mapeo de tu controlador en el menu "Cargar Mapeo" cuando hagas click en tu controlador en la barra deslizable izquierda, pudieras descargar uno en línea desde %1. Coloca los archivos XML (.xml) y Javascript (.js) en la "Carpeta de Mapeo del Usuario" luego reinicia Mixxx. Si descargaste un mapeo en un archivo ZIP, extrae los archivos XML y Javascript del archivo ZIP a tu "Carpeta de Mapeo del Usuario" y luego reinicia Mixxx. + Mixxx uses "mappings" to connect messages from your controller to controls in Mixxx. If you do not see a mapping for your controller in the "Load Mapping" menu when you click on your controller on the left sidebar, you may be able to download one online from the %1. Place the XML (.xml) and Javascript (.js) file(s) in the "User Mapping Folder" then click the Reload button next to the mapping selector to reload all available mappings. If you download a mapping in a ZIP file, extract the XML and Javascript file(s) from the ZIP file to your "User Mapping Folder" then click the Reload button. + - + Mixxx DJ Hardware Guide Guía de Hardware de DJ de Mixxx - + MIDI Mapping File Format Formato de archivo de mapeos MIDI - + MIDI Scripting with Javascript Programación de Scripts MIDI con Javascript @@ -5723,137 +5950,137 @@ Apply settings and continue? DlgPrefDeck - + Mixxx mode Modo Mixxx - + Mixxx mode (no blinking) Modo Mixxx (sin parpadeo) - + Pioneer mode Modo Pioneer - + Denon mode Modo Denon - + Numark mode Modo Numark - + CUP mode Modo CUP - + mm:ss%1zz - Traditional mm:ss%1zz - Tradicional - + mm:ss - Traditional (Coarse) mm:ss - Tradicional (grueso) - + s%1zz - Seconds s%1zz - Segundos - + sss%1zz - Seconds (Long) sss%1zz - Segundos (Duración) - + s%1sss%2zz - Kiloseconds s%1sss%2zz - Kilosegundos - + Intro start Inicio de la entrada - + Main cue Marcador principal - + First hotcue Primera hotcue - + First sound (skip silence) Primer sonido (saltar silencio) - + Beginning of track Principio de la pista - + Reject Rechazar - + Allow, but stop deck Permitir, pero detener deck - + Allow, play from load point Permitir, reproducir desde el punto de carga - + 4% 4% - + 6% (semitone) 6% (seminota) - + 8% (Technics SL-1210) 8% (Technics SL-1210) - + 10% 10% - + 16% 16% - + 24% 24% - + 50% 50% - + 90% 90% @@ -6313,57 +6540,57 @@ Siempre puedes arrastrar y tirar pistas en la pantalla para clonar una plataform El tamaño mínimo de la apariencia seleccionada es mas grande que la resolucion de su pantalla. - + Allow screensaver to run Permite el salvapantallas - + Prevent screensaver from running Evita que se active el salvapantallas - + Prevent screensaver while playing Evita el salvapantallas mientras reproduce - + Disabled Desactivado - + 2x MSAA 2x MSAA - + 4x MSAA 4x MSAA - + 8x MSAA 8x MSAA - + 16x MSAA 16x MSAA - + This skin does not support color schemes Este skin no soporta esquemas de color - + Information Información - + Mixxx must be restarted before the new locale, scaling or multi-sampling settings will take effect. Mixxx debe ser reiniciado para que el nuevo ajuste de locale, escalado o multi-muestreo tenga efecto. @@ -6591,67 +6818,97 @@ y te permite ajustar su pitch para lograr mezclas armónicas. Ver el manual para más detalles - + Music Directory Added Directorio de música agregado - + You added one or more music directories. The tracks in these directories won't be available until you rescan your library. Would you like to rescan now? Has agregado uno o más directorios de música. Las pistas de estos directorios no estarán disponibles hasta que vuelva a escanear la biblioteca. Le gustaría escanearla ahora? - + Scan Escanear - + Item is not a directory or directory is missing El ítem no es un directorio, o el directorio no ha sido encontrado - + Choose a music directory Elija un directorio de música - + Confirm Directory Removal Confirme la eliminación del directorio - + Mixxx will no longer watch this directory for new tracks. What would you like to do with the tracks from this directory and subdirectories?<ul><li>Hide all tracks from this directory and subdirectories.</li><li>Delete all metadata for these tracks from Mixxx permanently.</li><li>Leave the tracks unchanged in your library.</li></ul>Hiding tracks saves their metadata in case you re-add them in the future. Mixxx no seguirá observando el directorio por nuevas pistas. Que quiere hacer con las pistas de esta carpeta y subcarpetas que están en la biblioteca?<ul><li>Esconder las pistas de la carpeta y subcarpetas.</li><li>Borrar los metadatos de estas pistas de forma permanente.</li><li>Mantener las pistas en la biblioteca.</li></ul>Esconder las pistas permite guardar los metadatos en caso que quiera volverlas a la bibloteca. - + Metadata means all track details (artist, title, playcount, etc.) as well as beatgrids, hotcues, and loops. This choice only affects the Mixxx library. No files on disk will be changed or deleted. Metadatos significa todos los detalles de la pista (artista, titulo, cantidad de reproducciones, etc) como cuadrículas de tempo, hotcues y bucles. Este cambio solo afecta a la biblioteca de Mixxx. Ningun archivo en el disco será cambiado o eliminado. - + Hide Tracks Ocultar Pistas - + Delete Track Metadata Eliminar Metadatos de la pista - + Leave Tracks Unchanged Dejar pistas sin cambios - + Relink music directory to new location Reenlazar el directorio de musica en una nueva ubicación - + + Black + + + + + ExtraBold + + + + + Bold + + + + + SemiBold + + + + + Medium + + + + + Light + + + + Select Library Font Seleccionar la Fuente para Biblioteca @@ -6700,262 +6957,267 @@ y te permite ajustar su pitch para lograr mezclas armónicas. Re-escanear directorios al inicio - + Audio File Formats Formatos de archivo de sonido - + Track Table View Vista Tabla de Pistas - + Track Double-Click Action: Acción doble-click de Pista: - + BPM display precision: Precisión al mostrar los BPM: - + Session History Historia de la sesión - + Track duplicate distance Duplicar Distancia de Pista - + When playing a track again log it to the session history only if more than N other tracks have been played in the meantime Cuando reproduces una pista de nuevo, anéxala al historial de la sesión sólo si más de N otras pistas han sido reproducidas mientras tanto. - + History playlist with less than N tracks will be deleted<br/><br/>Note: the cleanup will be performed during startup and shutdown of Mixxx. Historial de lista de reproducciones con menos de N pistas serán borradas<br/><br/>Nota: la limpieza será realizada durante el inicio y el cierre de Mixxx. - + Delete history playlist with less than N tracks Borrar historial de listado de pistas con menos de N pistas - + Library Font: Fuente para Biblioteca: - + + Show scan summary dialog + + + + Grey out played tracks Oscurecer pistas ya tocadas - + Track Search Buscar una pista - + Enable search completions Permitir completar búsquedas - + Enable search history keyboard shortcuts Activar los atajos de teclado del historial de búsqueda - + Percentage of pitch slider range for 'fuzzy' BPM search: Porcentaje del rango del deslizador de pitch para búsqueda de BPM "difuso-variable". - + This range will be used for the 'fuzzy' BPM search (~bpm:) via the search box, as well as for BPM search in Track context menu > Search related Tracks Este rango será utilizado para buscar BPM "difuso-variable" (~bpm:) en la caja de búsqueda, además de la búsqueda de BPM en el menú contextual Pista > Buscar pistas relacionadas - + Preferred Cover Art Fetcher Resolution Resolución preferida del buscador de carátulas - + Fetch cover art from coverartarchive.com by using Import Metadata From Musicbrainz. Obtén carátulas de coverartarchive.com mediante Import Metadata From Musicbrainz. - + Note: ">1200 px" can fetch up to very large cover arts. Nota: ">1200 px" puede referirse a carátulas muy grandes. - + >1200 px (if available) >1200 px (si está disponible) - + 1200 px (if available) 1200 px (si está disponible) - + 500 px 500 px - + 250 px 250 px - + Settings Directory Directorio de configuración - + The Mixxx settings directory contains the library database, various configuration files, log files, track analysis data, as well as custom controller mappings. El directorio de configuración de Mixxx contiene la base de datos de la biblioteca, varios archivos de configuración, archivos de bitácoras, datos de análisis de pistas, así como mapeos de controladores personalizados. - + Edit those files only if you know what you are doing and only while Mixxx is not running. Edita estos archivos solo si sabes lo que estás haciendo, y solo cuando Mixxx no esté siendo ejecutado. - + Open Mixxx Settings Folder Abrir carpeta de ajustes de Mixxx - + Library Row Height: Alto de la Fila en Biblioteca: - + Use relative paths for playlist export if possible Usar rutas relativas al exportar lista de reproducción cuando sea posible - + ... ... - + px px - + Synchronize library track metadata from/to file tags Sincroniza los metadatos de la librería de pistas desde/hacia las etiquetas de archivos - + Automatically write modified track metadata from the library into file tags and reimport metadata from updated file tags into the library Automáticamente escribe metadatos de las pistas modificadas desde la biblioteca a las etiquetas del archivo y reimporta metadatos desde las etiquetas actualizadas del archivo a la biblioteca - + Synchronize Serato track metadata from/to file tags (experimental) Sincroniza metadatos de la pista de Serato desde/hacia las etiquetas de archivo (experimental) - + Keeps track color, beat grid, bpm lock, cue points, and loops synchronized with SERATO_MARKERS/MARKERS2 file tags.<br/><br/>WARNING: Enabling this option also enables the reimport of Serato metadata after files have been modified outside of Mixxx. On reimport existing metadata in Mixxx is replaced with the metadata found in file tags. Custom metadata not included in file tags like loop colors is lost. Mantiene el color de la pista, la cuadrícula del ritmo, bloqueo de bpm, puntos de marcado, y bucles sincronizados con las etiquetas de archivo SERATO_MARKERS/MARKERS2.<br/><br/>ADVERTENCIA: Habilitando esta opción también habilita la reimportación de metadatos de Serato después de que los archivos han sido modificados afuera de Mixxx. Al reimportar metadatos existentes en Mixxx se remplaza con los metadatos encontrados en las etiquetas de archivos. Los Metadatos personalizados no incluidos en las etiquetas de archivos como los colores de los bucles se perderán. - + Edit metadata after clicking selected track Editar metadatos al clicar en una pista seleccionada - + Search-as-you-type timeout: Tiempo de espera de búsqueda mientras escribe: - + ms ms - + Load track to next available deck Carga la pista en el siguiente plato disponible - + External Libraries Bibliotecas externas - + You will need to restart Mixxx for these settings to take effect. Usted tendrá que reiniciar Mixxx para que esta configuración surta efecto. - + Show Rhythmbox Library Mostrar la librería de Rhythmbox - + Track Metadata Synchronization / Playlists Metadatos de sincronización de pistas / Listas de reproducción - + Add track to Auto DJ queue (bottom) Añadir pista a la cola de Auto DJ (al final) - + Add track to Auto DJ queue (top) Añadir pista a la cola de Auto DJ (al comienzo) - + Ignore Ignorar - + Show Banshee Library Mostrar la bibiloteca de Banshee - + Show iTunes Library Mostrar la librería de ITunes - + Show Traktor Library Mostrar la librería de Traktor - + Show Rekordbox Library Mostrar la Librería de Rekordbox - + Show Serato Library Mostrar la Librería de Serato - + All external libraries shown are write protected. Todas las bibliotecas mostradas estan protegidas frente a escritura. @@ -7300,33 +7562,33 @@ y te permite ajustar su pitch para lograr mezclas armónicas. DlgPrefRecord - + Choose recordings directory Elegir la carpeta para las grabaciones - - + + Recordings directory invalid Directorio de grabaciones inválido - + Recordings directory must be set to an existing directory. El directorio de Grabaciones debe configurarse a un directorio existente. - + Recordings directory must be set to a directory. El directorio de Grabaciones debe configurarse a un directorio. - + Recordings directory not writable Directorio de Grabaciones no escribible - + You do not have write access to %1. Choose a recordings directory you have write access to. No tienes acceso de escritura en %1. Escoge un directorio de grabación en el que tengas acceso de escritura. @@ -7344,43 +7606,55 @@ y te permite ajustar su pitch para lograr mezclas armónicas. Examinar… - - + + This will include the filepath for each track in the CUE file. +This option makes the CUE file less portable and can reveal personal +information from filepaths (i.e. username) + + + + + Enable File Annotation in CUE file + + + + + Quality Calidad - + Tags Etiquetas - + Title Título - + Author Autor - + Album Álbum - + Output File Format Formato de fichero de salida - + Compression Compresión - + Lossy Con pérdidas @@ -7395,12 +7669,12 @@ y te permite ajustar su pitch para lograr mezclas armónicas. Directorio: - + Compression Level Nivel de compresión - + Lossless Sin pérdidas @@ -7533,172 +7807,177 @@ El objetivo de sonoridad es aproximado y asume que la preganancia de la pista y DlgPrefSound - + %1 Hz %1 Hz - + Default (long delay) Por Defecto (mas retardo) - + Experimental (no delay) Experimental (sin retardo) - + Disabled (short delay) Desactivado (poco retardo) - + Soundcard Clock Reloj de la tarjeta de sonido - + Network Clock Reloj de red - + Direct monitor (recording and broadcasting only) Monitorización directa (solo grabación y emisión en vivo) - + Disabled Desactivado - + Enabled Activado - + Stereo Estéreo - + Mono Mono - + To enable Realtime scheduling (currently disabled), see the %1. Para activar el Planificador en tiempo real (actualmente desactivado), mira %1. - + The %1 lists sound cards and controllers you may want to consider for using Mixxx. %1 muestra una lista de tarjetas de sonido y controladores que podrías considerar para utilizar con Mixxx - + Mixxx DJ Hardware Guide Guía de Hardware DJ de Mixxx - + + Find details in the Mixxx user manual + + + + Information Información - + Mixxx must be restarted before the multi-threaded RubberBand setting change will take effect. Mixxx debe ser reiniciado para que el cambio de ajuste de RubberBand multi-hilo tenga efecto. - + auto (<= 1024 frames/period) auto (<= 1024 fotogramas/período) - + 2048 frames/period 2048 fotogramas/período - + 4096 frames/period 4096 fotogramas/período - + Are you sure? ¿Estás seguro(a)? - + Distribute stereo channels into mono channels for parallel processing will result in a loss of mono compatibility and a diffuse stereo image. It is not recommended during broadcasting or recording. Distribuir los canales estéreo en canales mono para su procesamiento en paralelo podría resultar en la pérdida de la compatibilidad mono y una imagen estéreo difusa. No se recomienda al transmitir en vivo o al grabar. - + Are you sure you wish to proceed? ¿Realmente deseas continuar? - + No No - + Yes, I know what I am doing Sí, se lo que estoy haciendo - + Microphone inputs are out of time in the record & broadcast signal compared to what you hear. La entrada de micrófono está desincronizada respecto la grabación y emisión comparado con la señal que se oye. - + Measure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. Mide la latencia total e introducela en la Compensacion de latencia del micrófono para sincronizar el micrófono. - + Refer to the Mixxx User Manual for details. Para más detalles, lea el manual de usuario de Mixxx. - + Configured latency has changed. La latencia configurada ha cambiado. - + Remeasure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. Vuelve a medir la latencia total e introducela en la Compensacion de latencia del micrófono para sincronizar el micrófono. - + Realtime scheduling is enabled. La planificación en Tiempo Real está activada. - + Main output only Solo Salida principal - + Main and booth outputs Salidas principal y de cabina - + %1 ms %1 ms - + Configuration error Error de configuración @@ -7765,17 +8044,22 @@ El objetivo de sonoridad es aproximado y asume que la preganancia de la pista y ms - + + Deck and Bus outputs are for external mixers. They are post-fader and include effects and crossfader (for Auto DJ). For external mixing, make sure all Mixxx faders and EQ knobs are set to their default position (right- or double-click). + + + + 20 ms 20 ms - + Buffer Underflow Count Contador de vaciado del búfer - + 0 0 @@ -7800,12 +8084,12 @@ El objetivo de sonoridad es aproximado y asume que la preganancia de la pista y Entrada - + System Reported Latency Latencia reportada por el sistema - + Enlarge your audio buffer if the underflow counter is increasing or you hear pops during playback. Aumente su búfer de audio si el contador de desbordamiento está aumentando o escuchas chasquidos durante la reproducción. @@ -7835,7 +8119,7 @@ El objetivo de sonoridad es aproximado y asume que la preganancia de la pista y Diagnóstico y sugerencias - + Downsize your audio buffer to improve Mixxx's responsiveness. Disminuya su búfer de audio para mejorar la velocidad de respuesta de Mixxx. @@ -7882,7 +8166,7 @@ El objetivo de sonoridad es aproximado y asume que la preganancia de la pista y Configuración de Vinilo - + Show Signal Quality in Skin Mostrar Calidad de Señal en la apariencia @@ -7918,46 +8202,51 @@ El objetivo de sonoridad es aproximado y asume que la preganancia de la pista y + Pitch estimator + + + + Deck 1 Plato 1 - + Deck 2 Plato 2 - + Deck 3 Plato 3 - + Deck 4 Plato 4 - + Signal Quality Calidad de Señal - + http://www.xwax.co.uk http://www.xwax.co.uk - + Powered by xwax Con tecnología de xwax - + Hints Sugerencias - + Select sound devices for Vinyl Control in the Sound Hardware pane. Seleccione los dispositivos de sonico para el Control por Vinilo en el Panel de Hardware de Sonido. @@ -7965,58 +8254,58 @@ El objetivo de sonoridad es aproximado y asume que la preganancia de la pista y DlgPrefWaveform - + Filtered Filtrada - + HSV HSV - + RGB RGB - + Top Arriba - + Center Centrado - + Bottom Abajo - + 1/3 of waveform viewer options for "Text height limit" 1/3 de visualización de forma de onda - + Entire waveform viewer Visor de forma de onda completa - + OpenGL not available OpenGL no disponible - + dropped frames fotogramas perdidos - + Cached waveforms occupy %1 MiB on disk. Formas de onda almacenadas en caché ocupan %1 MiB en el disco. @@ -8034,22 +8323,17 @@ El objetivo de sonoridad es aproximado y asume que la preganancia de la pista y Tasa de fotograma - + OpenGL Status Estado de OpenGL - + Displays which OpenGL version is supported by the current platform. Muestra qué versión de OpenGL es soportada por la plataforma actual. - - Normalize waveform overview - Normalizar vista de forma de onda - - - + Average frame rate Refresco de pantalla promedio @@ -8065,7 +8349,7 @@ El objetivo de sonoridad es aproximado y asume que la preganancia de la pista y Nivel de zoom por defecto - + Displays the actual frame rate. Muestra la tasa de refresco actual. @@ -8100,7 +8384,7 @@ El objetivo de sonoridad es aproximado y asume que la preganancia de la pista y Graves - + Show minute markers on waveform overview Mostrar marcadores de minutos en la vista de forma de onda @@ -8145,7 +8429,7 @@ El objetivo de sonoridad es aproximado y asume que la preganancia de la pista y Ganancia visual global - + The waveform overview shows the waveform envelope of the entire track. Select from different types of displays for the waveform overview, which differ primarily in the level of detail shown in the waveform. La vista general de forma de onda muestra la forma de onda de la pista entera. @@ -8214,22 +8498,22 @@ Elija entre los distintos tipos de visualización para la forma de onda, que se pt - + Caching Almacenamiento en caché - + Mixxx caches the waveforms of your tracks on disk the first time you load a track. This reduces CPU usage when you are playing live but requires extra disk space. Mixxx almacena en caché las formas de onda de las pistas en el disco la primera vez que se carga una pista. Esto reduce el uso de la CPU cuando se está jugando en vivo, pero requiere espacio en disco adicional. - + Enable waveform caching Habilitar el almacenamiento en caché de forma de onda - + Generate waveforms when analyzing library Generar formas de onda cuando se analiza la biblioteca @@ -8245,7 +8529,7 @@ Elija entre los distintos tipos de visualización para la forma de onda, que se - + Type Tipo @@ -8275,12 +8559,58 @@ Elija entre los distintos tipos de visualización para la forma de onda, que se Mover the marcador de posición en la pista a la izquierda, derecha o centro (Defabrica). - - Overview Waveforms - Visualizar formas de onda + + Stem + + + + + Channel opacity + + + + + Channel opacity (outline) + + + + + Main stem opacity + + + + + Outline stem opacity + + + + + Move channel to foreground when volume is adjusted + + + + + Overview Waveforms + Visualizar formas de onda + + + + Gain + + + + + Normalize to peak + + + + + Use Waveform "Global" gain and ReplayGain (if enabled) + 'Global' refers to the 'Global' visual gain in the scrolling waveform settings + - + Clear Cached Waveforms Las formas de onda claras en caché @@ -8772,7 +9102,7 @@ Carpeta: %2 BPM: - + Location: Ubicación: @@ -8787,27 +9117,27 @@ Carpeta: %2 Comentarios - + BPM BPM - + Sets the BPM to 75% of the current value. Ajusta el BPM al 75% del valor actual. - + 3/4 BPM 3/4 BPM - + Sets the BPM to 50% of the current value. Ajusta el BPM al 50% del valor actual. - + Displays the BPM of the selected track. Mostrar los BPMs de la pista seleccionada. @@ -8862,49 +9192,49 @@ Carpeta: %2 Género - + ReplayGain: Ganancia de repetición: - + Sets the BPM to 200% of the current value. Ajusta el BPM al 200% del valor actual. - + Double BPM Duplicar BPM - + Halve BPM Reducir a la mitad los BPM - + Clear BPM and Beatgrid Borrar el BPM y la cuadrícula de tempo - + Move to the previous item. "Previous" button Mover al elemento anterior. - + &Previous &Previo - + Move to the next item. "Next" button Mover al siguiente elemento. - + &Next &Siguiente @@ -8929,12 +9259,12 @@ Carpeta: %2 Color - + Date added: Fecha de adición: - + Open in File Browser Abrir en el explorador de archivos @@ -8944,12 +9274,17 @@ Carpeta: %2 Tasa de muestreo: - + + Filesize: + + + + Track BPM: BPM de la pista: - + Converts beats detected by the analyzer into a fixed-tempo beatgrid. Use this setting if your tracks have a constant tempo (e.g. most electronic music). Often results in higher quality beatgrids, but will not do well on tracks that have tempo shifts. @@ -8958,90 +9293,90 @@ Utiliza este ajuste si tus pistas tienen un tempo constante (ej. la mayoría de A menudo resulta en una cuadrícula de mayor calidad, pero no lo hacemos bien en pistas que tienen cambios de tempo. - + Assume constant tempo Asumir tempo constante - + Sets the BPM to 66% of the current value. Ajusta el BPM al 66% del valor actual. - + 2/3 BPM 2/3 BPM - + Sets the BPM to 150% of the current value. Incrementa el BPM al 150% del valor actual. - + 3/2 BPM 3/2 BPM - + Sets the BPM to 133% of the current value. Incrementa el BPM al 133% del valor actual. - + 4/3 BPM 4/3 BPM - + Tap with the beat to set the BPM to the speed you are tapping. Golpee siguiendo el ritmo para establecer el BPM. - + Tap to Beat Pulse siguiendo el ritmo - + Hint: Use the Library Analyze view to run BPM detection. Truco: Use la vista de análisis en la biblioteca para ejecutar la detección de BPM. - + Save changes and close the window. "OK" button Guardar cambios y cerrar la ventana. - + &OK &OK - + Discard changes and close the window. "Cancel" button Descartar cambios y cerrar. - + Save changes and keep the window open. "Apply" button Guardar cambios y mantener abierta la ventana. - + &Apply &Aplicar - + &Cancel &Cancelar - + (no color) (sin color) @@ -9198,7 +9533,7 @@ A menudo resulta en una cuadrícula de mayor calidad, pero no lo hacemos bien en &OK - + (no color) (sin color) @@ -9400,27 +9735,27 @@ A menudo resulta en una cuadrícula de mayor calidad, pero no lo hacemos bien en EngineBuffer - + Soundtouch (faster) Soundtouch (rápido) - + Rubberband (better) Rubberband (mejor) - + Rubberband R3 (near-hi-fi quality) Banda elástica R3 (calidad casi alta fidelidad) - + Unknown, using Rubberband (better) Desconocido, utilizando Banda elástica (mejor) - + Unknown, using Soundtouch Desconocido, usando Soundtouch @@ -9635,15 +9970,15 @@ A menudo resulta en una cuadrícula de mayor calidad, pero no lo hacemos bien en LegacySkinParser - - + + Safe Mode Enabled Shown when Mixxx is running in safe mode. Modo Seguro Activado - - + + No OpenGL support. Shown when Spinny can not be displayed. Please keep @@ -9655,57 +9990,57 @@ Shown when VuMeter can not be displayed. Please keep de OpenGL. - + activate activar - + toggle conmutar - + right derecha - + left izquierda - + right small derecha pequeño - + left small izquierda pequeño - + up arriba - + down abajo - + up small arriba pequeño - + down small abajo pequeño - + Shortcut Atajo @@ -9713,37 +10048,37 @@ de OpenGL. Library - + This or a parent directory is already in your library. Este directorio o su superior ya se encuentra en tu biblioteca. - + This or a listed directory does not exist or is inaccessible. Aborting the operation to avoid library inconsistencies Este directorio o el indicado no existe o es inaccesible. Cancelando la operación para evitar inconsistencias de biblioteca. - - + + This directory can not be read. Este directorio no puede ser leído. - + An unknown error occurred. Aborting the operation to avoid library inconsistencies Ha ocurrido un error desconocido. Cancelando la operación para evitar inconsistencias de biblioteca - + Can't add Directory to Library No se pudo agregar el directorio a la biblioteca - + Could not add <b>%1</b> to your library. %2 @@ -9752,27 +10087,27 @@ Cancelando la operación para evitar inconsistencias de biblioteca %2 - + Can't remove Directory from Library No se pudo remover el directorio de la biblioteca. - + An unknown error occurred. Ha ocurrido un error desconocido. - + This directory does not exist or is inaccessible. Este directorio no existe o es inaccesible. - + Relink Directory Reenlazar directorio - + Could not relink <b>%1</b> to <b>%2</b>. %3 @@ -9937,12 +10272,12 @@ Do you really want to overwrite it? Pistas Ocultas - + Export to Engine DJ Exportar a Engine DJ - + Tracks Pistas @@ -9950,37 +10285,37 @@ Do you really want to overwrite it? MixxxMainWindow - + Sound Device Busy El dispositivo de sonido está ocupado - + <b>Retry</b> after closing the other application or reconnecting a sound device <b>Reintente</b> luego de cerrar las otras aplicaciones o reconectar un dispositivo de sonido - - - + + + <b>Reconfigure</b> Mixxx's sound device settings. <b>Reconfigure</b> las opciones del dispositivo de sonido de Mixxx. - - + + Get <b>Help</b> from the Mixxx Wiki. Obtenga <b>ayuda</b> del wiki de Mixxx. - - - + + + <b>Exit</b> Mixxx. <b>Salir</b> de Mixxx. - + Retry Reintentar @@ -9990,213 +10325,213 @@ Do you really want to overwrite it? apariencia - + Allow Mixxx to hide the menu bar? ¿Permitir a Mixxx ocultar la barra de menú? - + Hide Always show the menu bar? Ocultar - + Always show Mostrar siempre - + The Mixxx menu bar is hidden and can be toggled with a single press of the <b>Alt</b> key.<br><br>Click <b>%1</b> to agree.<br><br>Click <b>%2</b> to disable that, for example if you don't use Mixxx with a keyboard.<br><br>You can change this setting any time in Preferences -> Interface.<br> Keep formatting tags <b> (bold text) and <br> (linebreak). %1 is the placeholder for the 'Always show' button label La barra de menú de Mixxx ha sido ocultada y se puede alternar presionando la tecla <b>Alt</b>. <br><br>Haz clic en <b>%1</b> para aceptar. <br><br>Haz clic en <b>%2</b> para desactivarlo, por ejemplo si usas Mixxx sin un teclado. <br><br>Puedes cambiar este ajuste en cualquier momento en Preferencias -> Interfaz. <br> - + Ask me again Pregúntame de nuevo - - + + Reconfigure Reconfigurar - + Help Ayuda - - + + Exit Salir - - + + Mixxx was unable to open all the configured sound devices. Mixxx no ha podido activar todos los dispositivos de sonido configurados. - + Sound Device Error Error del dispositivo de sonido - + <b>Retry</b> after fixing an issue <b>Reintenta</b> una vez corregido el problema - + No Output Devices No hay dispositivos de salida - + Mixxx was configured without any output sound devices. Audio processing will be disabled without a configured output device. Mixxx fue configurado sin ningún dispositivo de salida de audio. El procesamiento de audio estará desactivado mientras no se configure un dispositivo de audio de salida. - + <b>Continue</b> without any outputs. <b>Continuar</b> sin ninguna salida. - + Continue Continuar - + Load track to Deck %1 Cargar pista al plato %1 - + Deck %1 is currently playing a track. El plato %1 está reproduciendo una pista. - + Are you sure you want to load a new track? ¿Está seguro de cargar una pista nueva? - + There is no input device selected for this vinyl control. Please select an input device in the sound hardware preferences first. No hay ningún dispositivo de entrada seleccionado para el control por vinilo. Por favor, seleccione un dispositivo de entrada en las preferencias de hardware de sonido. - + There is no input device selected for this passthrough control. Please select an input device in the sound hardware preferences first. No hay ningún dispositivo de entrada seleccionado para el control passthrough. Por favor, seleccione un dispositivo de entrada en las preferencias de hardware de sonido. - + There is no input device selected for this microphone. Do you want to select an input device? No se ha seleccionado un dispositivo de Entrada para este micrófono. ¿Deseas escoger uno ahora? - + There is no input device selected for this auxiliary. Do you want to select an input device? No se ha seleccionado un dispositivo de entrada para este Auxiliar. ¿Deseas escoger uno ahora? - + Scan took %1 El escaneo tomo %1 - + No changes detected. No se han detectado cambios - - + + %1 tracks in total %1 pistas en total - + %1 new tracks found Encontradas %1 pistas nuevas - + %1 moved tracks detected %1 pistas movidas detectadas - + %1 tracks are missing (%2 total) %1 pistas perdidas (%2 en total) - + %1 tracks have been rediscovered %1 pistas han sido reencontradas - + Library scan finished Escaneo de la biblioteca terminado - + Error in skin file Error en el archivo de la apariencia - + The selected skin cannot be loaded. No se ha podido cargar la apariencia seleccionada. - + OpenGL Direct Rendering Renderizado directo de OpenGL - + Direct rendering is not enabled on your machine.<br><br>This means that the waveform displays will be very<br><b>slow and may tax your CPU heavily</b>. Either update your<br>configuration to enable direct rendering, or disable<br>the waveform displays in the Mixxx preferences by selecting<br>"Empty" as the waveform display in the 'Interface' section. El renderizado directo no está habilitado en su máquina. <br><br>Esto significa que las visualizaciones de forma de onda serán muy <br><b>lentas y pueden exigir mucho a su CPU</b>. Actualice su <br>configuración para habilitar la representación directa o desactiv<br> las visualizaciones de forma de onda en las preferencias de Mixxx seleccionando <br>"Vacío" como la pantalla de forma de onda en la sección 'Interfaz'. - - - + + + Confirm Exit Confirmar salida - + A deck is currently playing. Exit Mixxx? Un plato está reproduciendo. ¿Salir de Mixxx? - + A sampler is currently playing. Exit Mixxx? Un reproductor de muestras está en reproducción. ¿Salir de Mixxx? - + The preferences window is still open. La ventana de preferencias todavía está abierta. - + Discard any changes and exit Mixxx? ¿Descartar cambios y salir de Mixxx? @@ -10212,13 +10547,13 @@ Do you want to select an input device? PlaylistFeature - + Lock Bloquear - - + + Playlists Listas de reproducción @@ -10228,58 +10563,63 @@ Do you want to select an input device? Aleatorizar lista de reproducción - + + Adopt current order + + + + Unlock all playlists - + Delete all unlocked playlists - + Unlock Desbloquear - - + + Confirm Deletion - + Do you really want to delete all unlocked playlists? - + Deleting %1 unlocked playlists.<br>This operation can not be undone! - + Playlists are ordered lists of tracks that allow you to plan your DJ sets. Las listas de reproducción son listar ordenadas de pistas que te permiten planificar tus sesiones de DJ. - + It may be necessary to skip some tracks in your prepared playlist or add some different tracks in order to maintain the energy of your audience. Podría ser necesario saltar algunas pistas en tu lista de reproducción planificada, o añadir algunas pistas diferentes, con el fin de mantener la energía de tu audiencia. - + Some DJs construct playlists before they perform live, but others prefer to build them on-the-fly. Algunos DJ preparan listas de reproducción antes de tocar en vivo, pero otros prefieren hacerlo en el momento. - + When using a playlist during a live DJ set, remember to always pay close attention to how your audience reacts to the music you've chosen to play. Cuando uses una lista de reproducción en una actuación en vivo, recuerda siempre prestar mucha atención a cómo reacciona la audiencia con la música que has elegido reproducir. - + Create New Playlist Crear nueva lista de reproducción @@ -10378,59 +10718,59 @@ Do you want to select an input device? QMessageBox - + Upgrading Mixxx Actualizando Mixxx - + Mixxx now supports displaying cover art. Do you want to scan your library for cover files now? Mixxx ha añadido soporte para mostrar carátulas. ¿Desea escanear la biblioteca ahora para encontrar las carátulas? - + Scan Escanear - + Later Después - + Upgrading Mixxx from v1.9.x/1.10.x. Actualizar Mixxx desde v1.9.x/1.10.x. - + Mixxx has a new and improved beat detector. Mixxx ahora tiene un nuevo y mejorado analizador de ritmo. - + When you load tracks, Mixxx can re-analyze them and generate new, more accurate beatgrids. This will make automatic beatsync and looping more reliable. Cuando cargas pistas, Mixxx puede reanalizarlas y generar cuadrículas de tempo nuevas y más precisas. Esto hará que la sincronización y los Loops sean más fiables. - + This does not affect saved cues, hotcues, playlists, or crates. Esto no afecta a los Cues, Hotcues, listas de reproducción o cajas guardadas. - + If you do not want Mixxx to re-analyze your tracks, choose "Keep Current Beatgrids". You can change this setting at any time from the "Beat Detection" section of the Preferences. Si no quieres que Mixxx reanalize tus pistas, elige "Mantener las cuadrículas de tempo actuales". Puedes cambiar esta configuración en cualquier momento desde la sección "Detección de Beats" de la ventana Preferencias. - + Keep Current Beatgrids Mantener las cuadrículas de tempo actuales - + Generate New Beatgrids Generar nuevas cuadrículas de tempo @@ -10544,69 +10884,82 @@ Do you want to scan your library for cover files now? 14-bit (MSB) - + Main + Audio path indetifier Principal - + Booth + Audio path indetifier Cabina - + Headphones + Audio path indetifier Auriculares - + Left Bus + Audio path indetifier Bus izquierdo - + Center Bus + Audio path indetifier Bus central - + Right Bus + Audio path indetifier Bus derecho - + Invalid Bus + Audio path indetifier Bus inválido - + Deck + Audio path indetifier Plato - + Record/Broadcast + Audio path indetifier Grabación / Emisión en vivo - + Vinyl Control + Audio path indetifier Control de vinilo - + Microphone + Audio path indetifier Micrófono - + Auxiliary + Audio path indetifier Auxiliar - + Unknown path type %1 + Audio path Tipo de ruta %1 desconocida @@ -10949,47 +11302,49 @@ Si la amplitud es cero, este parámetro permite mover la posición manualmente p Ancho - + Metronome Metrónomo - + + The Mixxx Team Equipo de Mixxx - + Adds a metronome click sound to the stream Añade el sonido de tic tac de un metrónomo a la señal de salida - + BPM BPM - + Set the beats per minute value of the click sound Define las pulsaciones por minuto del tic tac - + Sync Sincronizar - + Synchronizes the BPM with the track if it can be retrieved Sincroniza el BPM con el de la pista, si se puede obtener - + + Gain Ganancia - + Set the gain of metronome click sound Configura la ganancia del sonido del metrónomo @@ -11793,14 +12148,14 @@ Todo a la derecha: final del período La grabación OGG no está soportada. La librería OGG/Vorbis podría no inicializarse. - - + + encoder failure falla del codificador - - + + Failed to apply the selected settings. Fallo al aplicar los ajustes seleccionados. @@ -12009,15 +12364,86 @@ para mantener la señal entrante y saliente tan sonoras como sea posible.Encendido + + Auto Gain Control + + + + + AGC + + + + + Auto Gain Control (AGC) automatically adjusts the gain of an audio signal to maintain a consistent output level. + + + + Threshold (dBFS) Límite (Threshold, dBFS) + Threshold Límite + + + The Threshold knob adjusts the level above which the effect starts enhancing the input signal + + + + + Target (dBFS) + + + + + Target + + + + + The Target knob adjusts the desired target level of the output signal + + + + + Gain (dB) + + + + + The Gain knob adjusts the maximum amount of gain that the effect will apply + + + + + Knee (dB) + + + + + The Knee knob defines the range around the Threshold where gain changes are applied gradually, +ensuring smooth transitions and avoiding abrupt level shifts. + + + + + The Attack knob sets the time that determines how fast the auto gain +will set in once the signal exceeds the threshold + + + + + The Release knob sets the time that determines how fast the auto gain will recover from the gain +adjustment once the signal falls under the threshold. Depending on the input signal, short release times +may introduce a 'pumping' effect and/or distortion. + + The Threshold knob adjusts the level above which the compressor starts attenuating the input signal @@ -12048,6 +12474,7 @@ A una proporción de 1:1, la compresión no tiene efecto, ya que la entrada es e Knee (dBFS) + Knee Knee @@ -12058,11 +12485,13 @@ A una proporción de 1:1, la compresión no tiene efecto, ya que la entrada es e La perilla de Knee es utilizada para lograr una curva de compresión redondeada. + Attack (ms) Ataque (ms) + Attack Ataque @@ -12075,11 +12504,13 @@ will set in once the signal exceeds the threshold la compresión una vez que la señal supere el Límite + Release (ms) Liberación (Release, ms) + Release Release @@ -12110,12 +12541,12 @@ pueden introducir un efecto de "bombeo" y/o distorsión. varios - + built-in nativo - + missing no encontrado @@ -12150,42 +12581,42 @@ pueden introducir un efecto de "bombeo" y/o distorsión. Stem #%1 - + Empty Vacío - + Simple Simple - + Filtered Filtrado - + HSV HSV - + VSyncTest VSyncTest - + RGB RGB - + Stacked Agrupado - + Unknown Desconocido @@ -12446,193 +12877,193 @@ pueden introducir un efecto de "bombeo" y/o distorsión. ShoutConnection - - + + Mixxx encountered a problem Mixxx encontró un problema - + Could not allocate shout_t No se pudo asignar shout_t - + Could not allocate shout_metadata_t No se pudo asignar shout_metadata_t - + Error setting non-blocking mode: Error al establecer el modo "sin bloqueo": - + Error setting tls mode: Error de configuracion del "Modo TLS" - + Error setting hostname! ¡Error al establecer el nombre de host! - + Error setting port! ¡Error al establecer el puerto! - + Error setting password! ¡Error al establecer la contraseña! - + Error setting mount! ¡Error al establecer el punto de montaje! - + Error setting username! ¡Error al establecer el nombre de usuario! - + Error setting stream name! ¡Error al establecer el nombre de la emisión! - + Error setting stream description! ¡Error al establecer la descripción de la emisión! - + Error setting stream genre! ¡Error al establecer el género de la emisión! - + Error setting stream url! ¡Error al establecer la URL de la emisión! - + Error setting stream IRC! ¡Error al configurar el flujo IRC! - + Error setting stream AIM! ¡Error al configurar el flujo AIM! - + Error setting stream ICQ! ¡Error al configurar el flujo ICQ! - + Error setting stream public! Error al iniciar la emisión pública! - + Unknown stream encoding format! ¡Formato de codificación de transmisión desconocido! - + Use a libshout version with %1 enabled Usar una versión de libshout con %1 activado - + Error setting stream encoding format! Error ajuste formato de codificación en emisión! - + Broadcasting at 96 kHz with Ogg Vorbis is not currently supported. Please try a different sample rate or switch to a different encoding. Transmitir a 96 kHz con Ogg Vorbis no está soportado actualmente. Por favor intente una frecuencia de muestreo diferente o cambie a una codificación diferente. - + See https://github.com/mixxxdj/mixxx/issues/5701 for more information. Consulta https://github.com/mixxxdj/mixxx/issues/5701 para más información. - + Unsupported sample rate Tasa de muestreo no soportada - + Error setting bitrate Error al establecer la tasa de bits - + Error: unknown server protocol! ¡Error: protocolo del servidor desconocido! - + Error: Shoutcast only supports MP3 and AAC encoders Error: Shoutcast solo soporta codificadores MP3 y AAC - + Error setting protocol! ¡Error al establecer el protocolo! - + Network cache overflow Caché de red excedido - + Connection error Error de connexión - + One of the Live Broadcasting connections raised this error:<br><b>Error with connection '%1':</b><br> Una de las fuentes de emisión en vivo ha lanzado este error:<br><b>Error con la fuente '%1':</b><br> - + Connection message Mensaje de conexión - + <b>Message from Live Broadcasting connection '%1':</b><br> <b>Mensaje de la fuente de emisión en vivo '%1':</b><br> - + Lost connection to streaming server and %1 attempts to reconnect have failed. Se ha perdido la conexión al servidor de emisión y han fallado %1 intentos de reconexión. - + Lost connection to streaming server. Se ha perdido la conexión al servidor de emisión - + Please check your connection to the Internet. Comprueba tu conexión a internet. - + Can't connect to streaming server No se puede conectar al servidor de emisión - + Please check your connection to the Internet and verify that your username and password are correct. Comprobe a súa conexión a internet e verifique que o seu nome de usuario e contrasinal son correctos. @@ -12640,7 +13071,7 @@ pueden introducir un efecto de "bombeo" y/o distorsión. SoftwareWaveformWidget - + Filtered Filtrada @@ -12648,23 +13079,23 @@ pueden introducir un efecto de "bombeo" y/o distorsión. SoundManager - - + + a device un dispositivo - + An unknown error occurred Ocurrió un error desconocido - + Two outputs cannot share channels on "%1" Dos salidas no pueden usar los mismos canales de %1 - + Error opening "%1" Error al abrir "%1" @@ -12849,7 +13280,7 @@ pueden introducir un efecto de "bombeo" y/o distorsión. - + Spinning Vinyl Vinilo virtual @@ -13031,7 +13462,7 @@ pueden introducir un efecto de "bombeo" y/o distorsión. - + Cover Art Carátula @@ -13221,243 +13652,243 @@ pueden introducir un efecto de "bombeo" y/o distorsión. Mantiene la ganancia del filtro de graves en cero, mientras está activo. - + Displays the tempo of the loaded track in BPM (beats per minute). Muestra el tempo de la pista cargada, en BPM (golpes por minuto). - + Tempo Tempo - + Key The musical key of a track Clave - + BPM Tap Golpeo de BPM - + When tapped repeatedly, adjusts the BPM to match the tapped BPM. Cuando se pulsa repetidamente, ajusta el BPM para que coincida con las pulsaciones realizadas. - + Adjust BPM Down Reduce el BPM - + When tapped, adjusts the average BPM down by a small amount. Cuando se pulsa, reduce el BPM promedio un poco. - + Adjust BPM Up Aumenta el BPM - + When tapped, adjusts the average BPM up by a small amount. Cuando se pulsa, aumenta el BPM promedio un poco. - + Adjust Beats Earlier Mueve la cuadrícula un poco antes - + When tapped, moves the beatgrid left by a small amount. En pulsarlo, mueve la cuadrícula de tempo un poco a la izquierda. - + Adjust Beats Later Mueve la cuadrícula un poco después - + When tapped, moves the beatgrid right by a small amount. En pulsarlo, mueve la cuadrícula de tempo un poco a la derecha. - + Tempo and BPM Tap Golpeo de Tempo y BPM - + Show/hide the spinning vinyl section. Mostrar/ocultar la sección de vinilo giratorio. - + Keylock Bloqueo tonal - + Toggling keylock during playback may result in a momentary audio glitch. Alternar el bloqueo tonal durante la reproducción puede producir una pequeña distorsión de audio. - + Toggle visibility of Loop Controls Cambia la visibilidad de los Controles de Bucles - + Toggle visibility of Beatjump Controls Cambia la visibilidad de los Controles de Salto de Ritmo - + Toggle visibility of Rate Control Alternar visibilidad del control de velocidad - + Toggle visibility of Key Controls Cambia la visibilidad de los Controles de Clave - + (while previewing) (mientras se previsualiza) - + Places a cue point at the current position on the waveform. Coloca un punto de Cue en la posición actual de la forma de onda. - + Stops track at cue point, OR go to cue point and play after release (CUP mode). Detiene la pista en el punto cue, O BIEN va al punto cue y reproduce en soltar (modo CUP). - + Set cue point (Pioneer/Mixxx/Numark mode), set cue point and play after release (CUP mode) OR preview from it (Denon mode). Establece el punto Cue (Modo Pioneer/Mixxx/Numark), establece el punto Cue y reproduce en soltar (modo CUP) O BIEN hace una preescuha del mismo (Modo Denon). - + Is latching the playing state. Está reteniendo el estado de reproducción. - + Seeks the track to the cue point and stops. Lleva la pista al punto de Cue y para. - + Play Reproducir - + Plays track from the cue point. Reproduce la pista desde el punto Cue. - + Sends the selected channel's audio to the headphone output, selected in Preferences -> Sound Hardware. Envía el audio del canal seleccionado a la salida de auriculares, seleccionada en Preferencias -> Hardware de Sonido - + (This skin should be updated to use Sync Lock!) (Esta carátula debería actualizarse para utilizar Bloqueo de Sincronización!) - + Enable Sync Lock Habilitar Sync Lock - + Tap to sync the tempo to other playing tracks or the sync leader. Pulse para sincronizar el tiempo con otras pistas en reproducción o líder de sincronización. - + Enable Sync Leader Habilitar Sync Lock - + When enabled, this device will serve as the sync leader for all other decks. Cuando está habilitado, este dispositivo servirá como líder de sicronización para todas las otros platos. - + This is relevant when a dynamic tempo track is loaded to a sync leader deck.In that case, other synced devices will adopt the changing tempo. Es relevante cuando una pista con tempo dinámico es cargada a un deck líder de sincronización. En ese caso, otros dispositivos sincronizados adoptarán el tempo cambiante. - + Changes the track playback speed (affects both the tempo and the pitch). If keylock is enabled, only the tempo is affected. Cambia la velocidad de reproducción de la pista (afecta tanto el tempo como el tono). Si está habilitado el bloqueo, únicamente afecta al tempo. - + Tempo Range Display Visualizador del rango de tempo - + Displays the current range of the tempo slider. Muestra el rango actual del deslizador de tempo. - + Un-ejects when no track is loaded, i.e. reloads the track that was ejected last (of any deck). Se recupera la pista expulsada cuando no hay ninguna pista cargada, es decir, vuelve a cargar la pista que se expulsó en último lugar (de cualquier deck). - + Delete selected hotcue. Elimina la hotcue seleccionada. - + Track Comment Comentario de la pista - + Displays the comment tag of the loaded track. Muestra la etiqueta de comentario de la pista cargada. - + Opens separate artwork viewer. Abre el visualizador separado de carátulas. - + Effect Chain Preset Settings Configuraciones de Preconfiguración de Cadena de Efectos - + Show the effect chain settings menu for this unit. Muestra el menú de las configuraciones de las cadenas de efectos para esta unidad. - + Select and configure a hardware device for this input Selecciona y configura un dispositivo de hardware para esta entrada - + Recording Duration Duración de la grabación @@ -13680,948 +14111,983 @@ pueden introducir un efecto de "bombeo" y/o distorsión. Mantiene la velocidad de reproducción baja (pequeña cantidad) cuando se activa. - + When tapped repeatedly, adjusts the tempo to match the tapped BPM. Cuando se pulsa repetidamente, ajusta el tempo para coincidir con la frecuencia de pulsaciones. + + + Click to open the tempo/BPM editor + + + + + It also shows a colored bar if Key colors are enabled in the Preferences. + + + The bar will be split vertically if the track's key is in between full keys. + + + + Tempo Tap Seguidor de Tempo (Tempo Tap) - + Rate Tap and BPM Tap Frecuencia de pulsaciones y de BPM - + + Set Tempo + + + + + Set the desired tempo in BPM. If the track currently has no BPM detected, set the desired tempo in percent. + + + + Adjust beatgrid by exactly one half beat. Usable only on tracks with constant tempo. Ajusta la cuadrícula de tiempo en exactamente medio beat. Solo se puede usar en pistas con tempo constante - + Revert last BPM/Beatgrid Change Revierte el último cambio de BPM/cuadrícula de tiempo - + Revert last BPM/Beatgrid Change of the loaded track. Revierte el último cambio de BPM/Cuadrícula de tiempo para la pista cargada. - - + + Toggle the BPM/beatgrid lock Cambia el bloqueo de BPM/cuadrícula de tiempo - + Tempo and Rate Tap Toques de Tempo y Frecuencia - + Tempo, Rate Tap and BPM Tap Toques de Tempo, Frecuencia y BPM - + Shift cues earlier Cambia marcas antes - - + + Shift cues imported from Serato or Rekordbox if they are slightly off time. Cambia marcas importadas desde Serato o Rekordbox si están ligeramente desfazadas. - + Left click: shift 10 milliseconds earlier Clic izquierdo: adelantar 10 milisegundos - + Right click: shift 1 millisecond earlier Clic derecho: adelantar 1 milisegundo - + Shift cues later Retrasar cues - + Left click: shift 10 milliseconds later Clic izquierdo: retrasar 10 milisegundos - + Right click: shift 1 millisecond later Clic derecho: retrasar 1 milisegundo - - - + + + Drag a Hotcue button here to continue playing after releasing the Hotcue. Arrastra un botón de Hotcue aquí para continuar reproduciendo después de soltar la hotcue. - + Hint: Change the default cue mode in Preferences -> Decks. Sugerencia: cambie el modo por defecto de las cues en Preferencias -> Platos. - + Mutes the selected channel's audio in the main output. Silencia el audio del canal seleccionado en la salida principal. - + Main mix enable Activador de mezcla principal - + Hold or short click for latching to mix this input into the main output. Clic sostenido o corto para enganchar, para mezclar esta entrada con la salida principal. - + + Reloads the last replaced track. If no track is loaded reloads the second-last ejected track. + + + + If hotcue is a loop cue, toggles the loop and jumps to if the loop is behind the play position. Si la hotcue es una cue de bucle, activa el bucle y salta hacia él si se encuentra detrás de la posición de reproducción. - + If the play position is inside an active loop, stores the loop as loop cue. Si la posición de reproducción se encuentra dentro de un bucle activo, almacena el bucle como una hotcue de bucle. - + Drag this button onto another Hotcue button to move it there (change its index). If the other hotcue is set, the two are swapped. Arrastrar este botón dentro de otro botón de hotcue para moverlo hacia este (cambiando su número). Si la otra hotcue ya se encuentra definida, las dos son intercambiadas. - + Expand/Collapse Samplers Expandir/contraer samplers - + Toggle expanded samplers view. Alternar la vista expandida de los samplers. - + Displays the duration of the running recording. Muestra la duración de la grabación en curso. - + Auto DJ is active Auto DJ se encuentra activo - + Red for when needle skip has been detected. Rojo cuando se detecta un salto de aguja. - + Hot Cue - Track will seek to nearest previous hotcue point. Acceso Directo - La pista buscará el punto anterior más cercano del acceso directo. - + Sets the track Loop-In Marker to the current play position. Establece la marca de inicio de bucle a la posición actual - + Press and hold to move Loop-In Marker. Mantener presionado para mover la marca de inicio de bucle. - + Jump to Loop-In Marker. Ir a la marca de inicio de bucle. - + Sets the track Loop-Out Marker to the current play position. Establece la marca de fin de bucle a la posición actual. - + Press and hold to move Loop-Out Marker. Mantener presionado para mover la marca de fin de bucle. - + Jump to Loop-Out Marker. Ir a la marca de fin de bucle. - + If the track has no beats the unit is seconds. Si la pista no tiene pulsaciones, la unidad es segundos. - + Beatloop Size Pulsaciones del bucle - + Select the size of the loop in beats to set with the Beatloop button. Define el tamaño del bucle en pulsaciones a usar cuando se pulse el botón de bucle de pulsaciones. - + Changing this resizes the loop if the loop already matches this size. Al cambiar este valor, cambiará el tamaño del bucle existente, si tenía el tamaño anterior. - + Halve the size of an existing beatloop, or halve the size of the next beatloop set with the Beatloop button. Reduce a la mitad el tamaño del bucle existente, o del próximo bucle definido con el botón de bucle de pulsaciones. - + Double the size of an existing beatloop, or double the size of the next beatloop set with the Beatloop button. Dobla el tamaño del bucle existente, o del próximo bucle definido con el botón de bucle de pulsaciones. - + Start a loop over the set number of beats. Activa un bucle con la cantidad definida de pulsaciones. - + Temporarily enable a rolling loop over the set number of beats. Activa temporalmente un bucle de continuación con la cantidad de pulsaciones definidas. - + Beatloop Anchor Ancla del bucle de pulsaciones - + Define whether the loop is created and adjusted from its staring point or ending point. Define si el bucle es creado y ajustado desde su punto de inicio o de final. - + Beatjump/Loop Move Size Tamaño del salto de pulsaciones/Desplazamiento del bucle - + Select the number of beats to jump or move the loop with the Beatjump Forward/Backward buttons. Selecciona la cantidad de pulsaciones a saltar o a mover el bucle con los botones de avance/retroceso. - + Beatjump Forward Avanzar en pulsaciones - + Jump forward by the set number of beats. Avanza la pista la cantidad definida de pulsaciones. - + Move the loop forward by the set number of beats. Avanza el bucle en la cantidad definida de pulsaciones. - + Jump forward by 1 beat. Avanza 1 pulsación. - + Move the loop forward by 1 beat. Avanza el bucle 1 pulsación. - + Beatjump Backward Retrocede en pulsaciones - + Jump backward by the set number of beats. Retrocede la cantidad de pulsaciones definida. - + Move the loop backward by the set number of beats. Retrocede el bucle la cantidad de pulsaciones definida. - + Jump backward by 1 beat. Retrocede 1 pulsación. - + Move the loop backward by 1 beat. Retrocede el bucle 1 pulsación. - + Reloop Repite el bucle - + If the loop is ahead of the current position, looping will start when the loop is reached. Si el bucle está por delante de la posición actual, este no se activará hasta que se llege a él. - + Works only if Loop-In and Loop-Out Marker are set. Solo funciona si las marcas de inicio y fin de bucle estan definidas. - + Enable loop, jump to Loop-In Marker, and stop playback. Activa el bucle, va a la posición de inicio de bucle y se detiene. - + Displays the elapsed and/or remaining time of the track loaded. Muestra el tiempo transcurrido y/o restante de la pista cargada. - + Click to toggle between time elapsed/remaining time/both. Pulsar para cambiar entre tiempo transcurrido/restante/ambos - + Hint: Change the time format in Preferences -> Decks. Sugerencia: cambie el formato de tiempo en Preferencias -> Platos. - + Show/hide intro & outro markers and associated buttons. Mostrar/ocultar marcadores de intro y outro, y sus botones asociados. - + + Ensure all waveforms to have the same height across all channels. By default, when displaying the stem controls, waveform for channel that have no stem may render with a shorter height in order to honor the waveform container size you have requested.. + + + + Intro Start Marker Marcador Inicial de Entrada - - - - + + + + If marker is set, jumps to the marker. Si el marcador se encuentra definido, salta al marcador. - - - - + + + + If marker is not set, sets the marker to the current play position. Si el marcador no se encuentra definido, lo configura a la posición de reproducción actual. - - - - + + + + If marker is set, clears the marker. Si el marcador se encuentra definido, lo elimina. - + Intro End Marker Marcador Final de Entrada - + Outro Start Marker Marcador Inicial de Salida - + Outro End Marker Marcador Final de Salida - + Mix Mix - + Adjust the mixing of the dry (input) signal with the wet (output) signal of the effect unit Ajuste la mezcla de la señal seca (entrada) con la señal húmeda (salida) de la unidad de efectos - + D/W mode: Crossfade between dry and wet Modo D/W: fundido cruzado entre seco y húmedo - + D+W mode: Add wet to dry Modo D+W: agregue húmedo a seco - + Mix Mode Modo Mix - + Adjust how the dry (input) signal is mixed with the wet (output) signal of the effect unit Ajuste cómo se mezcla la señal seca (entrada) con la señal húmeda (salida) de la unidad de efectos - + Dry/Wet mode (crossed lines): Mix knob crossfades between dry and wet Use this to change the sound of the track with EQ and filter effects. Modo seco / húmedo (líneas cruzadas): Mezcle los fundidos cruzados de la perilla entre seco y húmedo. Use esto para cambiar el sonido de la pista con EQ y efectos de filtro. - + Dry+Wet mode (flat dry line): Mix knob adds wet to dry Use this to change only the effected (wet) signal with EQ and filter effects. Modo seco + húmedo (línea seca plana): la perilla de mezcla agrega húmedo a seco. Use esto para cambiar solo la señal efectuada (húmeda) con EQ y efectos de filtro. - + Route the main mix through this effect unit. Enruta la mezcla principal a través de esta unidad de efectos. - + Route the left crossfader bus through this effect unit. Redirige el bus izquierdo del crossfader a través de esta unidad de efectos. - + Route the right crossfader bus through this effect unit. Redirige el bus derecho del crossfader a través de esta unidad de efectos. - + Right side active: parameter moves with right half of Meta Knob turn Derecha activo: el parámetro se mueve al mover la mitad derecha del control Meta. - + Stem Label Etiqueta de stem - + Name of the stem stored in the stem file Nombre del stem almacenado en el archivo de stem - + Text is displayed in the stem color stored in the stem file El texto es presentado con el color del stem almacenado en el archivo de stem - + this stem color is also used for the waveform of this stem este color de stem también es usado en la forma de onda de este stem - + Stem Mute Silenciar stem - + Toggle the stem mute/unmuted Alterna el silencio del stem - + Stem Volume Knob Perilla de volumen del stem - + Adjusts the volume of the stem Ajusta el volumen del stem - + Skin Settings Menu Menú de las opciones de la Apariencia - + Show/hide skin settings menu Muestra/esconde el menú de opciones de la Apariencia - + Save Sampler Bank Guardar banco de muestras - + Save the collection of samples loaded in the samplers. Guarda la colección de muestras cargadas en los reproductores de muestras. - + Load Sampler Bank Cargar banco de muestras - + Load a previously saved collection of samples into the samplers. Carga en los reproductores de muestras una colección de muestras guardada en anterioridad. - + Show Effect Parameters Mostrar parámetros de efectos - + Enable Effect Activar efecto - + Meta Knob Link Enlace de la rueda Meta - + Set how this parameter is linked to the effect's Meta Knob. Configura cómo le afecta a este parámetro la rueda Meta. - + Meta Knob Link Inversion Inversión del enlaze de la rueda Meta - + Inverts the direction this parameter moves when turning the effect's Meta Knob. Invierte la dirección en la que se mueve el parámetro al mover la rueda Meta. - + Super Knob Rueda Súper - + Next Chain Siguiente cadena - + Previous Chain Cadena anterior - + Next/Previous Chain Cadena siguiente/anterior - + Clear Borrar - + Clear the current effect. Borra el efecto actual. - + Toggle Conmutar - + Toggle the current effect. Conmuta el efecto actual. - + Next Siguente - + Clear Unit Limpiar unidad - + Clear effect unit. limpiar la unidad de efectos. - + Show/hide parameters for effects in this unit. Muestra/esconde los parámetros de los efectos de esta unidad. - + Toggle Unit Conmutar la unidad - + Enable or disable this whole effect unit. Activa o desactiva la unidad de efectos. - + Controls the Meta Knob of all effects in this unit together. Controla a la vez las ruedas Meta de todos los efectos asociados a esta unidad. - + Load next effect chain preset into this effect unit. Carga el siguiente preajuste de efectos en esta unidad de efectos. - + Load previous effect chain preset into this effect unit. Carga el anterior preajuste de efectos en esta unidad de efectos. - + Load next or previous effect chain preset into this effect unit. Carga el siguiente o anterior preajuste de efectos en esta unidad de efectos. - - - - - - - - - + + + + + + + + + Assign Effect Unit Asignar la unidad de efectos - + Assign this effect unit to the channel output. Asigna esta unidad de efectos a la salida del canal. - + Route the headphone channel through this effect unit. Redirige la salida de auriculares a través de la unidad de efectos. - + Route this deck through the indicated effect unit. Redirige este plato a través de la unidad de efectos indicada. - + Route this sampler through the indicated effect unit. Redirige este reproductor a través de la unidad de efectos indicada. - + Route this microphone through the indicated effect unit. Redirige este micrófono a través de la unidad de efectos indicada. - + Route this auxiliary input through the indicated effect unit. Redirige la entrada auxiliar a través de la unidad de efectos indicada. - + The effect unit must also be assigned to a deck or other sound source to hear the effect. La unidad de efectos debe estar asignada a un plato o otra fuente de sonido para oír el efecto. - + Switch to the next effect. Pasa al siguiente efecto. - + Previous Anterior - + Switch to the previous effect. Pasa al efecto anterior. - + Next or Previous Siguiente o Anterior - + Switch to either the next or previous effect. Pasa al siguiente o anterior efecto. - + Meta Knob Rueda Meta - + Controls linked parameters of this effect Controla los parámetros enlazados del efecto - + Effect Focus Button Botón de foco de efecto - + Focuses this effect. Pone el foco en el efecto. - + Unfocuses this effect. Quita el foco del efecto. - + Refer to the web page on the Mixxx wiki for your controller for more information. Consulta la página web de tu controlador en la wiki del Mixxx para más información - + Effect Parameter parámetro de efecto - + Adjusts a parameter of the effect. Ajusta un parámetro del efecto. - + Inactive: parameter not linked Inactivo: parámetro no enlazado - + Active: parameter moves with Meta Knob Activo: el parámetro se mueve con la rueda Meta - + Left side active: parameter moves with left half of Meta Knob turn Izquierda activo: el parámetro se mueve con la primera mitad de la rueda Meta - + Left and right side active: parameter moves across range with half of Meta Knob turn and back with the other half Izquierda y derecha activo: el parámetro recorre todo el rango con la primera mitad de la rueda Meta, y vueve atrás con la segunda mitad - - + + Equalizer Parameter Kill Parámetro de supresión del ecualizador - - + + Holds the gain of the EQ to zero while active. Mantiene la ganáncia de EQ a cero mientras está activo. - + Quick Effect Super Knob Rueda Súper de efecto rápido - + Quick Effect Super Knob (control linked effect parameters). Rueda Súper de efecto rápido (controla los parámetros de efecto asociados). - + Hint: Change the default Quick Effect mode in Preferences -> Equalizers. Nota: Puedes cambiar el efecto rápido por defecto en Preferéncias > Ecualizadores. - + Equalizer Parameter ecualizador paramétrico - + Adjusts the gain of the EQ filter. Ajusta la ganáncia del filtro de EQ. - + Hint: Change the default EQ mode in Preferences -> Equalizers. Nota: Se puede cambiar el modo de EQ por defecto en Preferencias > Ecualizadores. - - + + Adjust Beatgrid Ajustar cuadrícula de tempo - + Adjust beatgrid so the closest beat is aligned with the current play position. Ajusta la cuadrícula de tempo para que el golpe más cercano se alinee con la posición actual de reproducción. - - + + Adjust beatgrid to match another playing deck. Ajusta la cuadrícula de tempo para que coincida con otro plato en reproducción. - + If quantize is enabled, snaps to the nearest beat. Si la cuantización está activada, se acerca al compás más cercano. - + Quantize Cuantizar - + Toggles quantization. Conmutar la cuantización. - + Loops and cues snap to the nearest beat when quantization is enabled. Cuando está activada, los bucles y cue se alinean con el compás más cercano. - + Reverse Reversa - + Reverses track playback during regular playback. Reproduce en reversa, durante reproducción normal. - + Puts a track into reverse while being held (Censor). Pone la pista en reversa mientras se mantiene presionado. - + Playback continues where the track would have been if it had not been temporarily reversed. La reproducción se continuará en el punto al que habría llegado la pista si no hubiese puesto en reversa. - - - + + + Play/Pause Reproducir/Pausar - + Jumps to the beginning of the track. Salta al principio de la pista. - + Syncs the tempo (BPM) and phase to that of the other track, if BPM is detected on both. Sincroniza el tempo (BPM) y la fase de la pista con la de la otra pista, si se ha detectado el BPM en ambas. - + Syncs the tempo (BPM) to that of the other track, if BPM is detected on both. Sincroniza el tempo (BPM) de la pista con la de la otra pista, si se ha detectado el BPM en ambas. - + Sync and Reset Key Sincroniza y resetea la tonalidad - + Increases the pitch by one semitone. Incrementa el tono en una seminota. - + Decreases the pitch by one semitone. Decrementa el tono en una seminota. - + Enable Vinyl Control Activar vinilo de control - + When disabled, the track is controlled by Mixxx playback controls. Si está desactivado, los controles de reproducción del Mixxx controlan la pista. - + When enabled, the track responds to external vinyl control. Si está activado, el control de vinilo externo controla la pista. - + Enable Passthrough Activa el paso de audio - + Indicates that the audio buffer is too small to do all audio processing. Indica que el búfer de audio es demasiado pequeño para llevar a cabo todo el procesamiento de audio. - + Displays cover artwork of the loaded track. Muestra la carátula de la pista cargada. - + Displays options for editing cover artwork. Muestra las opciones de edición de carátula. - + Star Rating Puntuación - + Assign ratings to individual tracks by clicking the stars. Asigna la puntuación de cada pista pulsando en las estrellas. @@ -14756,33 +15222,33 @@ Use this to change only the effected (wet) signal with EQ and filter effects.Intensidad de atenuación al usar el Micrófono - + Prevents the pitch from changing when the rate changes. Evita que el tono cambie al cambiar la velocidad. - + Changes the number of hotcue buttons displayed in the deck Cambia el número de botones de acceso directo que se muestran en la cubierta - + Starts playing from the beginning of the track. Comienza la reproducción desde el principio de la pista. - + Jumps to the beginning of the track and stops. Salta al principio de la pista y se detiene. - - + + Plays or pauses the track. Reproduce o pausa la pista. - + (while playing) (estando en reproducción) @@ -14802,215 +15268,215 @@ Use this to change only the effected (wet) signal with EQ and filter effects.Medidor de volumen del canal principal R - + (while stopped) (mientras está parado) - + Cue Cue - + Headphone Auriculares - + Mute Silenciar - + Old Synchronize Sincronización antígua - + Syncs to the first deck (in numerical order) that is playing a track and has a BPM. Se sincroniza con la primera pista (en orden numérico) que está sonando y tiene BPM. - + If no deck is playing, syncs to the first deck that has a BPM. Si no hay pistas en reprodución, se sincroniza con la primera pista que tenga BPM. - + Decks can't sync to samplers and samplers can only sync to decks. Los platos no se pueden sincronizar con los reproductors de muestras, y los reproductors de mezclas sólo se pueden sincronizar con los platos. - + Hold for at least a second to enable sync lock for this deck. Mantener pulsado durante un segundo para activar la sincronización fija para este plato. - + Decks with sync locked will all play at the same tempo, and decks that also have quantize enabled will always have their beats lined up. Los platos con la sincronización bloqueada reproducirán todos al mismo tempo, y si además tienen la quantización activada, también se alinearán los compases. - + Resets the key to the original track key. Resetea la clave musical a la original de la pista. - + Speed Control Control de velocidad - - - + + + Changes the track pitch independent of the tempo. Cambia el tono de la pista independientemente del tempo. - + Increases the pitch by 10 cents. Aumenta el tono 10 centésimas. - + Decreases the pitch by 10 cents. Reduce el tono 10 centésimas. - + Pitch Adjust Ajuste de velocidad - + Adjust the pitch in addition to the speed slider pitch. Ajusta la velocidad añadiendo al cambio del deslizador de velocidad. - + Opens a menu to clear hotcues or edit their labels and colors. Abre un menú para limpiar los accesos directos o editar sus etiquetas y colores. - + Drag this button onto a Play button while previewing to continue playback after release. Arrastre este botón a un boton de Play durante la preescucha para continuar la reproducción tras soltarlo. - + Dragging with Shift key pressed will not start previewing the hotcue. Arrastrar mientras presiona la tecla Shift no iniciará la preescucha de la hotcue. - + Record Mix Grabar mezcla - + Toggle mix recording. Conmutar la grabación de la mezcla. - + Enable Live Broadcasting Activar la emisión en vivo - + Stream your mix over the Internet. Emite tus mezclas por internet. - + Provides visual feedback for Live Broadcasting status: Da una indicación acerca del estado de la emisión en vivo: - + disabled, connecting, connected, failure. desactivado, conectando, conectado, fallo. - + When enabled, the deck directly plays the audio arriving on the vinyl input. Cuando está activado, el plato reproduce directamente el audio que recibe por la entrada de vinilo. - + Playback will resume where the track would have been if it had not entered the loop. La reproducción se reanudará en el punto al que habría llegado la pista si no hubiese entrado en el bucle. - + Loop Exit Salida del bucle - + Turns the current loop off. Desactiva el bucle actual. - + Slip Mode Modo Slip - + When active, the playback continues muted in the background during a loop, reverse, scratch etc. Cuando está activado, la reproducción continúa en silencio mientras dura el bucle, la reproducción hacia atrás, scratch, etc. - + Once disabled, the audible playback will resume where the track would have been. Una vez desactivado, la reproducción (audible) seguirá donde la pista habría estado. - + Track Key The musical key of a track Tonalidad de la pista - + Displays the musical key of the loaded track. Muestra la clave musical de la pista cargada. - + Clock Reloj - + Displays the current time. Muestra la hora actual. - + Audio Latency Usage Meter Medidor de Latencia de Audio - + Displays the fraction of latency used for audio processing. Muestra la parte de latencia usada para el proceso de audio. - + A high value indicates that audible glitches are likely. Un valor alto indica que se pueden percibir ruidos. - + Do not enable keylock, effects or additional decks in this situation. No activar el bloqueo de tonalidad, los efectos o los platos adicionales en este caso. - + Audio Latency Overload Indicator Indicador de Sobrecarga de Latencia de Audio @@ -15050,259 +15516,259 @@ Use this to change only the effected (wet) signal with EQ and filter effects.Activa el control de vinilo desde el Menú -> Opciones. - + Displays the current musical key of the loaded track after pitch shifting. Muestra la clave musical actual para la pista cargada teniendo en cuenta el cambio de tonalidad. - + Fast Rewind Retroceso rápido - + Fast rewind through the track. Rebobinado rápido a través de la pista. - + Fast Forward Avance Rápido - + Fast forward through the track. Avance Rápido a través de la pista. - + Jumps to the end of the track. Salta al final de la pista. - + Sets the pitch to a key that allows a harmonic transition from the other track. Requires a detected key on both involved decks. Cambia la tonalidad a una clave musical que permite la transición harmónica de un plato a otro. Es necesario que se haya detectado la clave en ambos platos. - - - + + + Pitch Control Control del pitch - + Pitch Rate Ritmo de cambio de tonalidad - + Displays the current playback rate of the track. Muestra el ritmo de reproducción actual de la pista. - + Repeat Repetir - + When active the track will repeat if you go past the end or reverse before the start. Estando activo la pista se repetirá si se pasa del final o si retrocede antes del comienzo. - + Eject Expulsar - + Ejects track from the player. Expulsa la pista del reproductor. - + Hotcue Hotcue - + If hotcue is set, jumps to the hotcue. Si el hotcue está establecido, salta al hotcue. - + If hotcue is not set, sets the hotcue to the current play position. Si el hotcue no está establecido, establece el hotcue en la actual posición de reproducción. - + Vinyl Control Mode Modo de control de vinilo - + Absolute mode - track position equals needle position and speed. Modo Absoluto - la posicion dentro del tema corresponde a la posicion y velocidad de la aguja. - + Relative mode - track speed equals needle speed regardless of needle position. Modo Relativo - la velocidad del tema corresponde a la velocidad de la aguja independientemente de la posicion. - + Constant mode - track speed equals last known-steady speed regardless of needle input. Modo Constante - la velocidad del tema corresponde a la ultima velocidad conocida independientemente de lo que se recibe de la aguja. - + Vinyl Status Estado del vinilo - + Provides visual feedback for vinyl control status: Provee retroalimentación visual sobre el estado del control de vinilo: - + Green for control enabled. Verde para control activo. - + Blinking yellow for when the needle reaches the end of the record. Amarillo parpadeante cuando la aguja alcanza el final de la grabación. - + Loop-In Marker Marcador de inicio de bucle - + Loop-Out Marker Marcador de fin de bucle - + Loop Halve Reducir bucle a la mitad - + Halves the current loop's length by moving the end marker. Reduce a la mitad la longitud del bucle actual, moviendo la marca de fin. - + Deck immediately loops if past the new endpoint. El plato vuelve al inicio del bucle inmediatamente si se ha superado el nuevo punto final. - + Loop Double Aumentar bucle al doble - + Doubles the current loop's length by moving the end marker. Aumenta al doble la longitud del bucle actual, moviendo la marca de fin. - + Beatloop Bucle de pulsaciones - + Toggles the current loop on or off. Activa o desactiva el bucle actual. - + Works only if Loop-In and Loop-Out marker are set. Funciona sólo si se han definido las marcas de inicio y fin de bucle. - + Vinyl Cueing Mode Modo de Cue de Vinilo - + Determines how cue points are treated in vinyl control Relative mode: Determina cómo los puntos Cue son tratados en el modo de control Relativo de Vinilos: - + Off - Cue points ignored. Off - Los puntos CUE se ignoran. - + One Cue - If needle is dropped after the cue point, track will seek to that cue point. Un Cue - si se pone la aguja mas allá del punto cue, se irá al punto Cue de la pista. - + Track Time Tiempo de pista - + Track Duration Duración de la Pista - + Displays the duration of the loaded track. Muestra la duración de la pista cargada. - + Information is loaded from the track's metadata tags. Información cargada desde el tag de metadatos de las pistas. - + Track Artist Artista de la pista - + Displays the artist of the loaded track. Muestra el artista de la pista cargada. - + Track Title Título de la pista - + Displays the title of the loaded track. Muestra el título de la pista cargada. - + Track Album Álbum de la pista - + Displays the album name of the loaded track. Muestra el nombre del álbum de la pista cargada. - + Track Artist/Title Artista/Título de la pista - + Displays the artist and title of the loaded track. Muestra el artista y el título de la pista cargada. @@ -15533,47 +15999,75 @@ Carpeta: %2 WCueMenuPopup - + Cue number Número de cue - + Cue position Posición Marca - + Edit cue label Editar etiqueta de marca - + Label... Etiqueta... - + Delete this cue Borrar esta marca - - Toggle this cue type between normal cue and saved loop - Alterna el tipo de esta cue entre cue normal y bucle guardado + + Turn this cue into a regular hotcue + + + + + Turn this cue into a saved loop + + + + + Left-click: Use the old size if known or the current beatloop size as the loop size + + + + + Right-click: Use the current play position as new loop end if it is after the cue + + + + + Turn this cue into a saved forward jump. + + is a linebreak. Try to not to extend the translation beyond the length of the longest source line so the tooltip remains compact. + + + + + Turn this cue into a saved backward jump (one shot loop). + - - Left-click: Use the old size or the current beatloop size as the loop size - Clic izquierdo: usar el tamaño anterior o el del bucle actual como el tamaño de bucle + + Left-click: Use the old size if known or the current play position as jump start position +If this is already a jump cue, swap the jump position and the cue/target position. + - - Right-click: Use the current play position as loop end if it is after the cue - Clic derecho: usar la posición de reproducción actual como final del bucle si se encuentra después de la cue + + Right-click: use current play position as new jump start position + - + Hotcue #%1 Acceso DIrecto #%1 @@ -15875,171 +16369,181 @@ Carpeta: %2 + Show Auto DJ + + + + + Switch to the Auto DJ view. + + + + &Full Screen &Pantalla completa - + Display Mixxx using the full screen Mostrar Mixxx a pantalla completa - + &Options &Opciones - + &Vinyl Control Control de &vinilo - + Use timecoded vinyls on external turntables to control Mixxx Usar vinilos con codigo de tiempo en bandejas externas para controlar Mixxx - + Enable Vinyl Control &%1 Habilita el Control por Vinilo &%1 - + &Record Mix &Grabar Mezcla - + Record your mix to a file Grava a súa mestura a un ficheiro - + Ctrl+R Ctrl+R - + Enable Live &Broadcasting Activar transmisión en &vivo - + Stream your mixes to a shoutcast or icecast server Transmite tus mezclas a un servidor shoutcast o icecast - + Ctrl+L Ctrl+L - + Enable &Keyboard Shortcuts Activar Atajos de &Teclado - + Toggles keyboard shortcuts on or off Activa o desactiva los atajos de teclado - + Ctrl+` Ctrl+` - + &Preferences &Preferencias - + Change Mixxx settings (e.g. playback, MIDI, controls) Cambiar la configuración de Mixxx (p.ej.: reproducción, MIDI, controles) - + &Developer &Desarrollador - + &Reload Skin &Recargar apariencia - + Reload the skin Recargar la apariencia - + Ctrl+Shift+R Ctrl+Mayús+R - + Developer &Tools U&tilidades de desarrollador - + Opens the developer tools dialog Abre el cuadro de diálogo de herramientas de desarrollo - + Ctrl+Shift+T Ctrl+Mayús+T - + Stats: &Experiment Bucket Estadísticas: Contadores &Experiment - + Enables experiment mode. Collects stats in the EXPERIMENT tracking bucket. Activa el modo experimental. Recoje estadísticas en los contadores EXPERIMENT. - + Ctrl+Shift+E Ctrl+Mayús+E - + Stats: &Base Bucket Estadísticas: contadores &Base - + Enables base mode. Collects stats in the BASE tracking bucket. Activa el modo base. Recoje estadísticas en los contadores BASE. - + Ctrl+Shift+B Ctrl+Mayús+B - + Deb&ugger Enabled Dep&uración activada - + Enables the debugger during skin parsing Activa el depurador durante el análisis de la máscara - + Ctrl+Shift+D Ctrl+Mayús+D - + &Help Ay&uda @@ -16073,62 +16577,62 @@ Carpeta: %2 F12 - + &Community Support Soporte &comunitario - + Get help with Mixxx Obtener ayuda con Mixxx - + &User Manual Manual de &usuario - + Read the Mixxx user manual. Lea el manual de usuario de Mixxx. - + &Keyboard Shortcuts Atajos de &Teclado - + Speed up your workflow with keyboard shortcuts. Trabaja más rápidamente usando los atajos de teclado. - + &Settings directory &Directorio de configuración - + Open the Mixxx user settings directory. Abre el directorio de configuración de usuario de Mixxx. - + &Translate This Application &Traducir esta aplicación - + Help translate this application into your language. Ayude a traducir esta aplicación a su idioma. - + &About &Acerca de - + About the application Acerca de la aplicación @@ -16136,25 +16640,25 @@ Carpeta: %2 WOverview - + Passthrough Paso - + Ready to play, analyzing... Text on waveform overview when file is playable but no waveform is visible Listo para reproducir, analizando... - - + + Loading track... Text on waveform overview when file is cached from source Cargando pista... - + Finalizing... Text on waveform overview during finalizing of waveform analysis Finalizando... @@ -16344,625 +16848,640 @@ Carpeta: %2 WTrackMenu - + Load to Cargar en - + Deck Plato - + Sampler Reproductor de muestras - + Add to Playlist Añadir a la lista de reproducción - + Crates Cajas - + Metadata Metadatos - + Update external collections Actualizar colecciones externas - + Cover Art Carátula - + Adjust BPM Ajustar BPM - + Select Color Seleccionar color - - + + Analyze Analizar - - + + Delete Track Files Borrar Archivos de Pistas - + Add to Auto DJ Queue (bottom) Añadir a la cola de Auto DJ (al final) - + Add to Auto DJ Queue (top) Añadir a la cola de Auto DJ (al principio) - + Add to Auto DJ Queue (replace) Añadir a la cola de Auto DJ (reemplaza) - + Preview Deck Reproductor de preescucha - + Remove Quitar - + Remove from Playlist Quitar de la lista de reproducción - + Remove from Crate Eliminar de la caja - + Hide from Library Ocultar de la biblioteca - + Unhide from Library Volver a mostrar en la biblioteca - + Purge from Library Eliminar de la biblioteca - + Move Track File(s) to Trash Mover archivo(s) de seguimiento a la papelera - + Delete Files from Disk Borrar Archivos del Disco - + Properties Propiedades - + Open in File Browser Abrir en el explorador de archivos - + Select in Library Selecciona en Biblioteca - + Import From File Tags Importar de los metadatos del fichero - + Import From MusicBrainz Importar de MusicBrainz - + Export To File Tags Exportar a metadatos del fichero - + BPM and Beatgrid BPM y cuadrícula de tempo - + Play Count Reproducciones - + Rating Puntuación - + Cue Point Punto CUE - - + + Hotcues Hotcues - + Intro - + Intro - + Outro - + Outro - + Key Clave - + ReplayGain Ganancia de reproducción - + Waveform Forma de onda - + Comment Comentario - + All Todos - + Sort hotcues by position (remove offsets) Ordenar hotcues por posición (removiendo desfases) - + Sort hotcues by position Ordenar hotcues por posición - + Lock BPM Bloquear BPM - + Unlock BPM Desbloquear BPM - + Double BPM Duplicar BPM - + Halve BPM Reducir a la mitad los BPM - + 2/3 BPM 2/3 BPM - + 3/4 BPM 3/4 BPM - + 4/3 BPM 4/3 BPM - + 3/2 BPM 3/2 BPM - + Shift Beatgrid Half Beat Desplazar la cuadrícula de tiempo medio beat - + Reanalyze Reanalizar - + Reanalyze (constant BPM) Reanalizar (BPM constante) - + Reanalyze (variable BPM) Reanalizar (BPM variable) - + Update ReplayGain from Deck Gain Actualizar ReplayGain desde la Ganancia de Plato - + Deck %1 Plato %1 - + Importing metadata of %n track(s) from file tags Importación de metadatos de %n pista a partir de las etiquetas del archivoImportación de metadatos de %n pistas a partir de las etiquetas de los archivosImportación de metadatos de %n pista(s) a partir de las etiquetas del archivo - + Marking metadata of %n track(s) to be exported into file tags Haciendo metadatos de %n pista(s) a ser exportadas en las etiquetas de archivosHaciendo metadatos de %n pista(s) a ser exportadas en las etiquetas de archivosHaciendo metadatos de %n pista(s) a ser exportadas en las etiquetas de archivos - - + + Create New Playlist Crear nueva lista de reproducción - + Enter name for new playlist: Escriba un nombre para la nueva lista de reproducción: - + New Playlist Nueva lista de reproducción - - - + + + Playlist Creation Failed Ha fallado la creación de la lista de reproducción - + A playlist by that name already exists. Ya existe una lista de reproducción con ese nombre. - + A playlist cannot have a blank name. El nombre de la lista de reproducción no puede quedar en blanco. - + An unknown error occurred while creating playlist: Se ha producido un error desconocido al crear la lista de reproducción: - + Add to New Crate Añadir a nueva caja - + Scaling BPM of %n track(s) Escalando BPM de %n pista(s)Escalando BPM de %n pista(s)Escalando BPM de %n pista(s) - + Undo BPM/beats change of %n track(s) Deshacer cambios de BPM/pulsaciones de %n pista(s)Deshacer cambios de BPM/pulsaciones de %n pista(s)Deshacer cambios de BPM/pulsaciones de %n pista(s) - + Locking BPM of %n track(s) Bloqueando BPM de %n% pista(s)Bloqueando BPM de %n% pista(s)Bloqueando BPM de %n% pista(s) - + Unlocking BPM of %n track(s) Desbloqueando BPM de %n pista(s)Desbloqueando BPM de %n pista(s)Desbloqueando BPM de %n pista(s) - + Setting rating of %n track(s) Definiendo evaluación de %n pistaDefiniendo evaluación de %n pistasDefiniendo evaluación de %n pista(s) - + Setting color of %n track(s) configuración de color de %n pista(s)configuración de color de %n pista(s)configuración de color de %n pista(s) - + Resetting play count of %n track(s) Restablecimiento del conteo de reproducción de %n pista(s)Restablecimiento del conteo de reproducción de %n pista(s)Restablecimiento del conteo de reproducción de %n pista(s) - + Resetting beats of %n track(s) Restableciendo beats de %n pista(s)Restableciendo beats de %n pista(s)Restableciendo beats de %n pista(s) - + Clearing rating of %n track(s) Limpiando clasificación de %n pista(s)Limpiando clasificación de %n pista(s)Limpiando clasificación de %n pista(s) - + Clearing comment of %n track(s) Borrando comentarios de %n pistaBorrando comentarios de %n pistasBorrando comentarios de %n pista(s) - + Removing main cue from %n track(s) Eliminando la marca principal de %n pista(s)Eliminando la marca principal de %n pista(s)Eliminando la marca principal de %n pista(s) - + Removing outro cue from %n track(s) Eliminando la marca de salida de %n pista(s)Eliminando la marca de salida de %n pista(s)Eliminando la marca de salida de %n pista(s) - + Removing intro cue from %n track(s) Removiendo la marca de entrada de %n pista(s)Removiendo la marca de entrada de %n pista(s)Removiendo la marca de entrada de %n pista(s) - + Removing loop cues from %n track(s) Removiendo marcas de bucles de %n pista(s)Removiendo marcas de bucles de %n pista(s)Removiendo marcas de bucles de %n pista(s) - + Removing hot cues from %n track(s) Removiendo los hot cues de %n pista(s)Removiendo los hot cues de %n pista(s)Removiendo los accesos directos de %n pista(s) - + Sorting hotcues of %n track(s) by position (remove offsets) Ordenando hotcues de %n pista por posición (removiendo desfases)Ordenando hotcues de %n pistas por posición (removiendo desfases)Ordenando hotcues de %n pistas(s) por posición (removiendo desfases) - + Sorting hotcues of %n track(s) by position Ordenando hotcues de %n pista por posiciónOrdenando hotcues de %n pistas por posiciónOrdenando hotcues de %n pista(s) por posición - + Resetting keys of %n track(s) Restableciendo claves de %n pista(s)Restableciendo claves de %n pista(s)Restableciendo claves de %n pista(s) - + Resetting replay gain of %n track(s) Restablecimiento de la ganancia de reproducción de %n pista(s)Restablecimiento de la ganancia de reproducción de %n pista(s)Restablecimiento de la ganancia de reproducción de %n pista(s) - + Resetting waveform of %n track(s) Restableciendo forma de onda de %n pista(s)Restableciendo forma de onda de %n pista(s)Restableciendo forma de onda de %n pista(s) - + Resetting all performance metadata of %n track(s) Restableciendo meta datos de desempeño de %n pista(s)Restableciendo meta datos de desempeño de %n pista(s)Restableciendo meta datos de desempeño de %n pista(s) - + Move these files to the trash bin? ¿Mover estos archivos a la papelera? - + Permanently delete these files from disk? ¿Eliminar permanentemente estos archivos del disco? - - + + This can not be undone! ¡Esto no puede ser revertido! - + Cancel Cancelar - + Delete Files Eliminar archivos - + Okay Okey - + Move Track File(s) to Trash? ¿Mover los archivos de seguimiento a la papelera? - + Track Files Deleted Pistas eliminadas - + Track Files Moved To Trash Archivos de seguimiento movidos a la papelera - + %1 track files were moved to trash and purged from the Mixxx database. %1 archivos de pista fueron movidos a la papelera y purgados de la base de datos de Mixxx. - + %1 track files were deleted from disk and purged from the Mixxx database. %1 archivos de pistas han sido eliminados y se ha purgado de la base de datos de Mixxx. - + Track File Deleted Archivo de Pista Eliminado - + Track file was deleted from disk and purged from the Mixxx database. El archivo de pista ha sido eliminado del disco y purgado de la base de datos de Mixxx - + The following %1 file(s) could not be deleted from disk No se han podido eliminar del disco los siguientes %1 archivo(s) - + This track file could not be deleted from disk Este archivo de pista no se ha podido borrar del disco - + Remaining Track File(s) Renombrando archivo(s) de pista - + Close Cerrar - + Clear Reset metadata in right click track context menu in library Climpiar - + Loops Bucles - + Clear BPM and Beatgrid Limpia las BPM y la cuadrícula de tiempo - + Undo last BPM/beats change Revertir el último cambio de BPM/pulsaciones - + Move this track file to the trash bin? ¿Mover este archivo de pista a la papelera? - + Permanently delete this track file from disk? ¿Eliminar permanentemente este archivo de pista del disco? - + All decks where these tracks are loaded will be stopped and the tracks will be ejected. Todos los platos donde estas pistas hayan sido cargadas se detendrán, y las pistas serán expulsadas. - + All decks where this track is loaded will be stopped and the track will be ejected. Todos los platos donde esta pista haya sido cargada se detendrán, y la pista será expulsada. - + Removing %n track file(s) from disk... Removiendo %n archivo(s) de pista del disco... - + Note: if you are in the Computer or Recording view you need to click the current view again to see changes. Nota: si estás en la vista Ordenador o Grabación tienes que volver a hacer clic en la vista actual para ver los cambios. - + Track File Moved To Trash Archivo de seguimiento movido a la papelera - + Track file was moved to trash and purged from the Mixxx database. El archivo de seguimiento se ha movido a la papelera y se ha eliminado de la base de datos de Mixxx. - + Don't show again during this session No mostrar nuevamente durante esta sesión - + The following %1 file(s) could not be moved to trash El/los siguiente(s) %1 archivo(s) no pudieron ser movidos a la papelera - + This track file could not be moved to trash Este archivo de pista no se ha podido mover a la papelera + + + Replace current Auto DJ queue? + + + + + Do you want to replace the entire Auto DJ queue with the selected tracks? + + + + + Don't ask again during this session + + - + Setting cover art of %n track(s) Setting cover art of %n track(s)Setting cover art of %n track(s)Poniendo portadas de %n pista(s) - + Reloading cover art of %n track(s) Reloading cover art of %n track(s)Reloading cover art of %n track(s)Recarga de portadas de %n pista(s) @@ -17016,37 +17535,37 @@ Carpeta: %2 WTrackTableView - + Confirm track hide Confirmar ocultar pista - + Are you sure you want to hide the selected tracks? ¿Estas seguro de que quieres ocultar las pistas seleccionadas? - + Are you sure you want to remove the selected tracks from AutoDJ queue? ¿Esta seguro de que quiere eliminar las pistas seleccionadas de la cola del AutoDJ? - + Are you sure you want to remove the selected tracks from this crate? ¿Estás seguro de que quieres eliminar las pistas seleccionadas de esta caja? - + Are you sure you want to remove the selected tracks from this playlist? ¿Esta seguro de que desea eliminar las pistas seleccionadas de la lista de reproducción? - + Don't ask again during this session No volver a preguntar durante esta sesión - + Confirm track removal Confirmar eliminación del track @@ -17054,12 +17573,12 @@ Carpeta: %2 WTrackTableViewHeader - + Show or hide columns. Mostrar u ocultar columnas. - + Shuffle Tracks Mezclar pistas @@ -17067,52 +17586,52 @@ Carpeta: %2 mixxx::CoreServices - + fonts tipos de letra - + database base de datos - + effects efectos - + audio interface interface de sonido - + decks decks - + library Biblioteca - + Choose music library directory Elija el directorio de la biblioteca de la música - + controllers Controladores - + Cannot open database No se puede abrir la base de datos - + Unable to establish a database connection. Mixxx requires QT with SQLite support. Please read the Qt SQL driver documentation for information on how to build it. @@ -17270,6 +17789,24 @@ Pulse Aceptar para salir. La solicitud de la red no ha empezado + + mixxx::qml::QmlApplication + + + Existing user profile detected + + + + + Trying to run Mixxx 3.0 with an existing %0 user profile! <br><br>There is <b>serious risks</b> of data loss and corruption.<br>We recommend using a test profile folder with the '--settings-path' argument. <br><br>If you want to continue at your own risk, run Mixxx with the argument '--allow-dangerous-data-corruption-risk'. + + + + + Ok + + + mixxx::qml::QmlVisibleEffectsModel @@ -17278,4 +17815,27 @@ Pulse Aceptar para salir. Ningún efecto cargado. + + mixxx::qml::QmlWaveformRendererMark + + + Cannot find the marker pixmap + + + + + Cannot find the marker endPixmap + + + + + Cannot find the marker icon + + + + + Cannot find the marker endIcon + + + \ No newline at end of file diff --git a/res/translations/mixxx_es_419.qm b/res/translations/mixxx_es_419.qm index 6c6573084af0d6f66341a71d67b4b1ade633342d..7f9bcc800e938601c8ba8b714240484052868360 100644 GIT binary patch delta 25670 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 delta 27489 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 Qt?uPprLZK}tF-t30JdmH0RR91 diff --git a/res/translations/mixxx_es_419.ts b/res/translations/mixxx_es_419.ts index 30340cd07b0c..9d743630e9f7 100644 --- a/res/translations/mixxx_es_419.ts +++ b/res/translations/mixxx_es_419.ts @@ -8,6 +8,14 @@ + + AllTrackLibraryFeature + + + All... + + + AnalysisFeature @@ -19,52 +27,52 @@ AutoDJFeature - + Crates Cajas - + Enable Auto DJ Activar Auto DJ - + Disable Auto DJ Desactivar Auto DJ - + Clear Auto DJ Queue Limpiar la cola de Auto DJ - + Remove Crate as Track Source Remover Crate como Fuente de Archivos - + Auto DJ DJ Automatico - + Confirmation Clear Confirmación limpiada - + Do you really want to remove all tracks from the Auto DJ queue? Realmente quieres eliminar todas las pistas de la cola de Auto DJ? - + This can not be undone. ¡Esto no puede ser revertido! - + Add Crate as Track Source Añadir Crate como Fuente de Archivos @@ -223,7 +231,7 @@ - + Export Playlist Exportar lista de reproducción @@ -277,13 +285,13 @@ - + Playlist Creation Failed Fallo la creación de lista de Reproducción - + An unknown error occurred while creating playlist: Se ha producido un error desconocido al crear la lista de reproducción: @@ -298,12 +306,12 @@ ¿Desea realmente eliminar la lista de reproducción<b>%1</b>? - + M3U Playlist (*.m3u) Lista de reproducción M3U (*.m3u) - + M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Text CSV (*.csv);;Readable Text (*.txt) Lista de reproducción M3U (*.m3u);;Lista de reproducción M3U8 (*.m3u8);;Lista de reproducción PLS (*.pls);;Texto CSV (*.csv);;Texto legible (*.txt) @@ -311,12 +319,12 @@ BaseSqlTableModel - + # # - + Timestamp Marca de tiempo @@ -324,7 +332,7 @@ BaseTrackPlayerImpl - + Couldn't load track. No se ha podido cargar la pista. @@ -362,7 +370,7 @@ Canales - + Color Color @@ -377,7 +385,7 @@ Compositor - + Cover Art Portada @@ -387,7 +395,7 @@ Fecha de Agregado - + Last Played Última reproducción @@ -417,7 +425,7 @@ Clave - + Location Ubicación @@ -427,7 +435,7 @@ Resumen - + Preview Preescucha @@ -467,7 +475,7 @@ Año - + Fetching image ... Tooltip text on the cover art column shown when the cover is read from disk Recuperando imagen... @@ -489,22 +497,22 @@ BroadcastProfile - + Can't use secure password storage: keychain access failed. No se puede usar el almacen de contraseñas seguro: el acceso al almacen ha fallado. - + Secure password retrieval unsuccessful: keychain access failed. No se ha podido obtener la contraseña: El acceso al almacen de claves a fallado. - + Settings error Error de configuración - + <b>Error with settings for '%1':</b><br> <b>Error en ajuste en '%1':</b><br> @@ -592,7 +600,7 @@ - + Computer Equipo @@ -612,17 +620,17 @@ Escanear - + "Computer" lets you navigate, view, and load tracks from folders on your hard disk and external devices. "Computadora" le permite navegar, ver y cargar pistas desde carpetas en su disco duro y dispositivos externos. - + It shows the data from the file tags, not track data from your Mixxx library like other track views. - + If you load a track file from here, it will be added to your library. @@ -735,12 +743,12 @@ Fecha creación - + Mixxx Library Biblioteca de Mixxx - + Could not load the following file because it is in use by Mixxx or another application. No se puede cargar el siguiente archivo porque este es usado por Mixxx u otra aplicación @@ -771,87 +779,92 @@ CmdlineArgs - + Mixxx is an open source DJ software. For more information, see: Mixxx es un software de DJ de código abierto. Para más información, ver: - + Starts Mixxx in full-screen mode Iniciar Mixxx en modo pantalla completa - + Use a custom locale for loading translations. (e.g 'fr') Utiliza un locale personalizado para cargar traducciones. (ej. 'fr') - + Top-level directory where Mixxx should look for its resource files such as MIDI mappings, overriding the default installation location. Directorio de nivel superior donde Mixxx debería buscar sus archivos de recursos tales como mapeos MIDI, anulando la ubicación de instalación predeterminada. - + Path the debug statistics time line is written to Ruta a donde las estadísticas de depuración de la línea de tiempo son escritas. - + Causes Mixxx to display/log all of the controller data it receives and script functions it loads Causa que Mixxx muestre/registre todos los datos del controlador que recibe y las funciones en script que cargue - + The controller mapping will issue more aggressive warnings and errors when detecting misuse of controller APIs. New Controller Mappings should be developed with this option enabled! El mapeo del controlador generará advertencias y errores más agresivos cuando detecte un mal uso de las APIs del controlador. Los nuevos mapeos de controladores deben desarrollarse con esta opción activada. - + Enables developer-mode. Includes extra log info, stats on performance, and a Developer tools menu. Activa el modo Desarrollador. Incluye información adicional en el registros, estadísticas de rendimiento, y un menú de Herramientas para Desarrolladores. - + Top-level directory where Mixxx should look for settings. Default is: Directorio de nivel superior en donde Mixxx debería buscar por sus parámetros. Por defecto es : - + Starts Auto DJ when Mixxx is launched. Arranca Auto DJ cuando se inicia Mixxx - + Rescans the library when Mixxx is launched. Re escanea la librería cuando se inicia Mixxx - + Use legacy vu meter Utilizar el vúmetro antiguo - + Use legacy spinny Usar diseño de plato antiguo - - Loads experimental QML GUI instead of legacy QWidget skin - Carga la Interfaz de Usuario QML experimental, en lugar de la skin de legado QWidget + + Loads the highly unstable 3.0 Mixxx interface, based on QML. You need to use a new setting profile, or run with 'allow-dangerous-data-corruption-risk' to use with the current one. We highly recommend backing up your data if you do so. + - + + Force Mixxx to load an unstable version with an existing user profile from a stable version + + + + Enables safe-mode. Disables OpenGL waveforms, and spinning vinyl widgets. Try this option if Mixxx is crashing on startup. Activa el modo seguro. Desactiva las formas de onda OpenGL y los widgets giratorios de vinilos. Pruebe esta opción si Mixxx no inicia correctamente. - + [auto|always|never] Use colors on the console output. [auto|always|never] Utiliza colores en la salida de la consola. - + Sets the verbosity of command line logging. critical - Critical/Fatal only warning - Above + Warnings @@ -866,32 +879,32 @@ debug - Arriba + Mensajes de Depuración/Desarrollador trace - Arriba + Perfilar mensajes - + Sets the the logging level at which the log buffer is flushed to mixxx.log. <level> is one of the values defined at --log-level above. Establece el nivel del registro en el cual el búfer de registro es descargado el registro de mixxx. <level> es uno de los valores definidos en --nivel de bitácora de arriba. - + Sets the maximum file size of the mixxx.log file in bytes. Use -1 for unlimited. The default is 100 MB as 1e5 or 100000000. Configura el tamaño máximo del archivo mixxx.log en bytes. Usa -1 para ilimitado. Por defecto es 100 MB, como en 1e5 o 100000000. - + Breaks (SIGINT) Mixxx, if a DEBUG_ASSERT evaluates to false. Under a debugger you can continue afterwards. Interrumpe Mixxx (SIGINT), si un DEBUG_ASSERT evalúa como falso. En un depurador puedes continuar después. - + Overrides the default application GUI style. Possible values: %1 Anula el estilo por defecto de la interfaz de usuario de la aplicación. Valores posibles: %1 - + Load the specified music file(s) at start-up. Each file you specify will be loaded into the next virtual deck. Carga los archivos de música especificados al iniciar. Cada archivo que especifiques será cargado en el siguiente deck virtual. - + Preview rendered controller screens in the Setting windows. Previsualizar pantallas renderizadas del controlador en las ventanas de Ajustes @@ -984,2557 +997,2585 @@ trace - Arriba + Perfilar mensajes ControlPickerMenu - + Headphone Output Salida de auriculares - - - + + + + Deck %1 + %1 is the deck number 1 ... 4 Deck %1 - + Sampler %1 Sampler %1 - + Preview Deck %1 Vista previa Deck %1 - + Microphone %1 Micrófono %1 - + Auxiliary %1 Auxiliar %1 - + Reset to default Restaurar al valor predeterminado - + Effect Rack %1 Rack de Efecto %1 - + Parameter %1 Parámetro %1 - + Mixer Mezclador - - + + Crossfader Crossfader - + Headphone mix (pre/main) Mezcla en auriculares (pre/main) - + Toggle headphone split cueing Alternar preescucha dividida de auriculares - + Headphone delay Delay en auriculares - + Transport Transporte - + Strip-search through track Navegación por toda la pista - + Play button Botón de reproducción - - + + Set to full volume Ajustar volumen al máximo - - + + Set to zero volume Ajustar volumen al mínimo - + Stop button Botón de paro - + Jump to start of track and play Saltar al inicio y reproducir - + Jump to end of track Saltar al final - + Reverse roll (Censor) button Botón Reproduce hacia atrás (con censura) - + Headphone listen button Botón de escucha de auriculares - - + + Mute button Botón para silenciar MUTE - + Toggle repeat mode Conmutar modo repetición - - + + Mix orientation (e.g. left, right, center) Orientación de la mezcla (p. ej. izquierda, derecha, centro) - - + + Set mix orientation to left Establecer orientación de la mezcla hacia la izquierda - - + + Set mix orientation to center Establecer orientación de la mezcla al centro - - + + Set mix orientation to right Establecer orientación de la mezcla hacia la derecha - + Toggle slip mode Conmutar el modo deslizante - - + + BPM BPM - + Increase BPM by 1 Incrementar BPM en 1 - + Decrease BPM by 1 Disminuir BPM en 1 - + Increase BPM by 0.1 Incrementar BPM en 0,1 - + Decrease BPM by 0.1 Disminuir BPM en 0,1 - + BPM tap button Botón de BPM manual - + Toggle quantize mode Conmutar el modo de cuantización - + One-time beat sync (tempo only) Sincronizar por unica vez (sólo el tempo) - + One-time beat sync (phase only) Sincronizar por unica vez (sólo la fase) - + Toggle keylock mode Conmutar bloqueo tonal - + Equalizers Ecualizadores - + Vinyl Control Control de vinilo - + Toggle vinyl-control cueing mode (OFF/ONE/HOT) Conmutar el modo de puntos cue del control de vinilo (OFF/ONE/HOT) - + Toggle vinyl-control mode (ABS/REL/CONST) Conmutar el control de vinilo (Absoluto/Relativo/Constante) - + Pass through external audio into the internal mixer Pasar audio externo al mezclador interno - + Cues Puntos cue - + Cue button Botón de Cue - + Set cue point Establecer punto de Cue - + Go to cue point Ir al Cue - + Go to cue point and play Ir al Cue y reproducir - + Go to cue point and stop Ir al punto de Cue y parar - + Preview from cue point Preescuchar desde punto Cue - + Cue button (CDJ mode) Boton Cue (modo CDJ) - + Stutter cue Reproducir Cue (Stutter) - + Hotcues Hotcues - + Set, preview from or jump to hotcue %1 Establecer, preescuchar o saltar al hotcue %1 - + Clear hotcue %1 Borrar hotcue %1 - + Set hotcue %1 Establecer Hotcue %1 - + Jump to hotcue %1 Saltar al hotcue %1 - + Jump to hotcue %1 and stop Saltar al hotcue %1 y parar - + Jump to hotcue %1 and play Saltar al hotcue %1 y reproducir - + Preview from hotcue %1 Preescucha Hotcue %1 - - + + Hotcue %1 Hotcue %1 - + Looping Repetición - + Loop In button Botón de inicio del bucle - + Loop Out button Botón de fin de bucle - + Loop Exit button Botón de salida de bucle - + 1/2 1/2 - + 1 1 - + 2 2 - + 4 4 - + 8 8 - + 16 16 - + 32 32 - + 64 64 - + Move loop forward by %1 beats Mover el bucle hacia adelante en %1 pulsaciones - + Move loop backward by %1 beats Mover el bucle hacia atrás en %1 pulsaciones - + Create %1-beat loop Crear bucle de %1 pulsaciones - + Create temporary %1-beat loop roll Crear bucle temporal corredizo de %1 pulsaciones - + Library Biblioteca - + Slot %1 Ranura %1 - + Headphone Mix Mezcla de Auriculares - + Headphone Split Cue Salida partida por auriculares - + Headphone Delay Retardo de auriculares - + Play Reproducir - + Fast Rewind Retroceso rápido - + Fast Rewind button Botón de Retroceso Rápido - + Fast Forward Avance Rápido - + Fast Forward button Botón de Avance Rápido - + Strip Search Navegación de pista - + Play Reverse Reproducir hacia atrás - + Play Reverse button Botón de Reproducción hacia atrás - + Reverse Roll (Censor) Reproducción hacia atrás (Censura) - + Jump To Start Saltar al Inicio - + Jumps to start of track Saltar al inicio de la pista - + Play From Start Reproducir Desde el Comienzo - + Stop Detener - + Stop And Jump To Start Detener y Saltar al Principio - + Stop playback and jump to start of track Detener reproducción y saltar al inicio de la pista - + Jump To End Saltar al final - + Volume Volumen - - - + + + Volume Fader Deslizador de Volumen - - + + Full Volume Volumen máximo - - + + Zero Volume Volumen cero - + Track Gain Ganancia de pista - + Track Gain knob Rueda de ganancia de pista - - + + Mute Silenciar - + Eject Expulsar - - + + Headphone Listen Escuchar por auriculares - + Headphone listen (pfl) button Botón de escucha con auriculares (pfl) - + Repeat Mode Modo de repetición - + Slip Mode Modo Slip - - + + Orientation Orientación - - + + Orient Left Orientar a la izquierda - - + + Orient Center Orientar al centro - - + + Orient Right Orientar a la derecha - + BPM +1 BPM +1 - + BPM -1 BPM -1 - + BPM +0.1 BPM +0,1 - + BPM -0.1 BPM -0,1 - + BPM Tap Golpeo de BPM - + Adjust Beatgrid Faster +.01 Acelerar la cuadrícula de tempo en +,01 - + Increase track's average BPM by 0.01 Incrementa el BPM promedio de la pista en 0,01 - + Adjust Beatgrid Slower -.01 Ralentizar la cuadrícula de tempo en -,01 - + Decrease track's average BPM by 0.01 Disminuye el BPM promedio de la pista en 0,01 - + Move Beatgrid Earlier Mover la cuadrícula de tempo antes en el tiempo - + Adjust the beatgrid to the left Ajusta la cuadrícula de tempo hacia la izquierda - + Move Beatgrid Later Mover la cuadrícula de tempo después en el tiempo - + Adjust the beatgrid to the right Ajusta la cuadrícula de tempo hacia la derecha - + Adjust Beatgrid Ajustar cuadrícula de tempo - + Align beatgrid to current position Alinea la cuadrícula de tempo a la posición actual - + Adjust Beatgrid - Match Alignment Ajustar la cuadrícula de tempo - Concidir alineación - + Adjust beatgrid to match another playing deck. Ajusta la cuadrícula de tempo para que coincida con otro plato en reproducción. - + Quantize Mode Modo Cuantizado - + Sync Sincronizar - + Beat Sync One-Shot Sincronizar pulsaciones al momento - + Sync Tempo One-Shot Sincronizar tempo al momento - + Sync Phase One-Shot Sincronizar Fase al momento - + Pitch control (does not affect tempo), center is original pitch Control de velocidad (No afecta el tempo), al centro es la velocidad original - + Pitch Adjust Ajuste de velocidad - + Adjust pitch from speed slider pitch Ajuste la velocidad desde el deslizador de velocidad - + Match musical key Coincidir con clave musical - + Match Key Cuadrar tonalidad (clave) - + Reset Key Restablecer tonalidad - + Resets key to original Restablecer tonalidad a la original - + High EQ Ecualización de Agudos - + Mid EQ Ecualización de Medios - - + + Main Output Salida Principal - + Main Output Balance Balance Salida Principal - + Main Output Delay Retardo Salida Principal - + Main Output Gain Ganancia Salida Principal - + Low EQ Ecualización de Graves - + Toggle Vinyl Control Conmutar el control del vinilo - + Toggle Vinyl Control (ON/OFF) Conmutar el control de vinilo (ON/OFF) - + Vinyl Control Mode Modo de control de vinilo - + Vinyl Control Cueing Mode Modo de Cue en Control por Vinilo - + Vinyl Control Passthrough Passthrough en Control por Vinilo - + Vinyl Control Next Deck siguiente plato en Control por vinilo - + Single deck mode - Switch vinyl control to next deck Modo de plato único - Cambia el control de vinilo al siguiente plato - + Cue Cue - + Set Cue Establecer punto cue - + Go-To Cue Ir al Cue - + Go-To Cue And Play Ir a Cue y reproducir - + Go-To Cue And Stop Ir al Cue y detener - + Preview Cue Preescuchar Cue - + Cue (CDJ Mode) Cue (modo CDJ) - + Stutter Cue Reproducir Cue (Stutter) - + Go to cue point and play after release Ir al cue y reproducir en soltar - + Clear Hotcue %1 Borrar hotcue %1 - + Set Hotcue %1 Establecer Hotcue %1 - + Jump To Hotcue %1 Saltar al hotcue %1 - + Jump To Hotcue %1 And Stop Saltar al hotcue %1 y parar - + Jump To Hotcue %1 And Play Saltar al hotcue %1 y reproducir - + Preview Hotcue %1 Preescuchar Hotcue %1 - + Loop In Inicio de bucle - + Loop Out Fin del bucle - + Loop Exit Salida del bucle - + Reloop/Exit Loop Repetir/Salir del bucle - + Loop Halve Reducir bucle a la mitad - + Loop Double Aumentar bucle al doble - + 1/32 1/32 - + 1/16 1/16 - + 1/8 1/8 - + 1/4 1/4 - + Move Loop +%1 Beats Mover bucle en +%1 pulsaciones - + Move Loop -%1 Beats Mover bucle en -%1 pulsaciones - + Loop %1 Beats Bucle de %1 pulsaciones - + Loop Roll %1 Beats Bucle corredizo de %1 pulsaciones - + Add to Auto DJ Queue (bottom) Añadir a la cola de Auto DJ (al final) - + Append the selected track to the Auto DJ Queue Añade las pistas seleccionadas al final de la cola de Auto DJ - + Add to Auto DJ Queue (top) Añadir a la cola de Auto DJ (al principio) - + Prepend selected track to the Auto DJ Queue Añade las pistas seleccionadas al principio de la cola de Auto DJ - + Load Track Cargar Pista - + Load selected track Carga la pista seleccionada - + Load selected track and play Carga la pista seleccionada y la reproduce - - + + Record Mix Grabar mezcla - + Toggle mix recording Conmuta la grabación de la mezcla - + Effects Efectos - - Quick Effects - Efectos rápidos - - - + Deck %1 Quick Effect Super Knob Súper perilla de efecto rápido del plato %1 - + + Quick Effect Super Knob (control linked effect parameters) Súper perilla de efecto rápido (parámetros de efecto asociado al control) - - + + + + Quick Effect Efecto rápido - + Clear Unit Limpiar unidad - + Clear effect unit Limpia la unidad de efectos - + Toggle Unit Conmutar la unidad - + Dry/Wet Directo/Alterado - + Adjust the balance between the original (dry) and processed (wet) signal. Ajuste entre señal directa (dry) y alterada (wet). - + Super Knob Súper Perilla - + Next Chain Siguiente cadena - + Assign Asignar - + Clear Borrar - + Clear the current effect Borrar el efecto actual - + Toggle Conmutar - + Toggle the current effect Conmutar el efecto actual - + Next Siguente - + Switch to next effect Cambiar al siguiente efecto - + Previous Anterior - + Switch to the previous effect Cambiar al efecto previo - + Next or Previous Siguiente o Anterior - + Switch to either next or previous effect Cambiar a cualquier efecto siguiente o anterior - - + + Parameter Value Valor de Parámetro - - + + Microphone Ducking Strength Intensidad de Atenuación de Micrófono - + Microphone Ducking Mode Modo de Atenuación de Micrófono - + Gain Ganancia - + Gain knob Rueda de Ganancia - + Shuffle the content of the Auto DJ queue Mezcla el contenido de la cola de Auto DJ - + Skip the next track in the Auto DJ queue Salta la siguiente pista de la cola de Auto DJ - + Auto DJ Toggle Conmutar Auto DJ - + Toggle Auto DJ On/Off Conmutar Auto DJ Encendido/Apagado - + Show/hide the microphone & auxiliary section Muestra/oculta la sección del micrófono y el auxiliar - + 4 Effect Units Show/Hide Mostrar/ocultar las 4 Unidades de Efectos - + Switches between showing 2 and 4 effect units Cambia entre mostrar 2 y 4 unidades de efectos - + Mixer Show/Hide Mostrar/Ocultar Mezclador - + Show or hide the mixer. Mostrar u ocultar el mezclador. - + Cover Art Show/Hide (Library) Mostrar/Ocultar Parátulas (Biblioteca) - + Show/hide cover art in the library Mostrar/ocultar carátula en la biblioteca - + Library Maximize/Restore Maximizar/Restaurar Biblioteca - + Maximize the track library to take up all the available screen space. Maximizar la biblioteca para tomar todo el espacio disponible en pantalla. - + Effect Rack Show/Hide Mostrar/ocultar unidad de efectos - + Show/hide the effect rack Mostrar/ocultar unidad de efectos - + Waveform Zoom Out Alejar zoom de forma de onda - + Headphone Gain Ganancia del auricular - + Headphone gain Ganancia de auriculares - + Tap to sync tempo (and phase with quantize enabled), hold to enable permanent sync Toque sincronización el tempo (y la fase con la cuantización habilitada), mantenga presionado para habilitar la sincronización permanente. - + One-time beat sync tempo (and phase with quantize enabled) toque para sincronizar solo una vez (el tempo y fase) - + Playback Speed Velocidad de reproducción - + Playback speed control (Vinyl "Pitch" slider) Control de velocidad de reproducción (El "Pitch de vinilo) - + Pitch (Musical key) Pitch (tonalidad) - + Increase Speed Incrementar Velocidad - + Adjust speed faster (coarse) Incrementar la velocidad (grueso) - + Increase Speed (Fine) Incrementar velocidad (fino) - + Adjust speed faster (fine) Incrementar la velocidad (fino) - + Decrease Speed Reducir Velocidad - + Adjust speed slower (coarse) Reducir la velocidad (grueso) - + Adjust speed slower (fine) Reducir la velocidad (fino) - + Temporarily Increase Speed Incrementar temporalmente la velocidad - + Temporarily increase speed (coarse) Incremento temporal de velocidad (grueso) - + Temporarily Increase Speed (Fine) Incremento temporal de velocidad (fino) - + Temporarily increase speed (fine) Incremento temporal de velocidad (fino) - + Temporarily Decrease Speed Reducir temporalmente la velocidad - + Temporarily decrease speed (coarse) Reducción temporal de velocidad (grueso) - + Temporarily Decrease Speed (Fine) Reducción temporal de velocidad (fino) - + Temporarily decrease speed (fine) Reducción temporal de velocidad (fino) - - + + Adjust %1 Ajuste %1 - + + Deck %1 Stem %2 + + + + Effect Unit %1 Unidad de Efectos %1 - + Button Parameter %1 Parámetro %1 del botón. - + Skin Apariencia - + Controller Controlador - + Crossfader / Orientation Crossfader / Orientación - + Main Output gain Ganancia de la Salida principal - + Main Output balance Balance de la Salida Principal - + Main Output delay Retardo (delay) de la Salida principal - + Headphone Auriculares - - + + Kill %1 + %1 is "Low EQ" "Mid EQ" or "High EQ" Suprime %1 - + Eject or un-eject track, i.e. reload the last-ejected track (of any deck)<br>Double-press to reload the last replaced track. In empty decks it reloads the second-last ejected track. Expulsa o recupera la pista, es decir, carga la última pista expulsada (de cualquier deck).<br>Pulsa dos veces para cargar la última pista sustituida. En decks vacíos carga la penúltima pista expulsada. - + BPM / Beatgrid BPM / Grilla de tiempo - + Halve BPM Reducir a la mitad los BPM - + Multiply current BPM by 0.5 Multiplica los BPM por 0.5 - + 2/3 BPM 2/3 BPM - + Multiply current BPM by 0.666 Multiplica el BPM actual por 0.666 - + 3/4 BPM 3/4 BPM - + Multiply current BPM by 0.75 Multiplica el BPM actual por 0.75 - + 4/3 BPM 4/3 BPM - + Multiply current BPM by 1.333 Multiplica el BPM actual por 1.333 - + 3/2 BPM 3/2 BPM - + Multiply current BPM by 1.5 Multiplica el BPM actual por 1.5 - + Double BPM Dobla los BPM - + Multiply current BPM by 2 Multiplica el BPM actual por 2 - + Tempo Tap Seguidor de Tempo (Tempo Tap) - + Tempo tap button Botón del Tempo Tap - + Move Beatgrid Desplaza la grilla de tiempo - + Adjust the beatgrid to the left or right Ajusta la grilla de tiempo a la izquierda o a la derecha - + Move Beatgrid Half a Beat Desplaza la cuadricula de tiempo medio pulso - + Adjust the beatgrid by exactly one half beat. Usable only for tracks with constant tempo. Ajusta la cuadrícula de tiempo en exactamente medio beat. Solo se puede usar en pistas con tempo constante. - - + + Toggle the BPM/beatgrid lock Cambia el bloqueo de BPM/grilla de tiempo - + Revert last BPM/Beatgrid Change Revierte el último cambio de BPM/grilla de tiempo - + Revert last BPM/Beatgrid Change of the loaded track. Revierte el último cambio de BPM/grilla de tiempo para la pista cargada - + Sync / Sync Lock Sincronizar / Bloqueo Sincronización - + Internal Sync Leader Sincronización Líder Interno - + Toggle Internal Sync Leader Conmutar el modo Sincronización Líder Interno - - + + Internal Leader BPM BPM Líder Interno - + Internal Leader BPM +1 BPM Líder Interno +1 - + Increase internal Leader BPM by 1 Incrementar BPM líder interno en 1 - + Internal Leader BPM -1 BPM Líder Interno -1 - + Decrease internal Leader BPM by 1 Disminuir BPM líder interno en 1 - + Internal Leader BPM +0.1 BPM Líder Interno +0.1 - + Increase internal Leader BPM by 0.1 Incrementar BPM líder interno en 0.1 - + Internal Leader BPM -0.1 BPM Líder Interno -0.1 - + Decrease internal Leader BPM by 0.1 Disminuir BPM Líder Interno en 0.1 - + Sync Leader Líder de Sicronización - + Sync mode 3-state toggle / indicator (Off, Soft Leader, Explicit Leader) Modo de Sicronización 3-State Toggle / Indicador (Off, Soft Leader, Explicit Leader) - + Speed LFO - + Decrease Speed (Fine) Reducir velocidad (fino) - + Pitch (Musical Key) Tono (Clave Musical) - + Increase Pitch Incrementar Tono - + Increases the pitch by one semitone Incrementar el tono por un semitono - + Increase Pitch (Fine) Incrementar Tono (Fino) - + Increases the pitch by 10 cents Incrementa el tono por 10 céntimos - + Decrease Pitch Decrementar Tono - + Decreases the pitch by one semitone Decrementa el tono por un semitono - + Decrease Pitch (Fine) Decrementar Tono (Fino) - + Decreases the pitch by 10 cents Decrementa el tono por 10 céntimos - + Keylock Bloqueo tonal - + CUP (Cue + Play) CUP (Cue + Play) - + Shift cue points earlier Cambiar puntos cue antes - + Shift cue points 10 milliseconds earlier Cambiar puntos cue 10 milisegundos antes - + Shift cue points earlier (fine) Desplaza el punto cue hacia atrás (fino) - + Shift cue points 1 millisecond earlier Desplaza los puntos cue 1 milisegundo atrás - + Shift cue points later Cambiar puntos cue después - + Shift cue points 10 milliseconds later Cambiar puntos cue 10 milisegundos después - + Shift cue points later (fine) Cambiar puntos cue después (fino) - + Shift cue points 1 millisecond later Cambiar puntos cue 1 milisegundo después - - + + Sort hotcues by position Ordenar hotcues por posición - - + + Sort hotcues by position (remove offsets) Ordenar hotcues por posición (removiendo desfases) - + Hotcues %1-%2 Accesos Directos %1-%2 - + Intro / Outro Markers Marcadores de Entrada / Salida - + Intro Start Marker Marcador Inicial de Entrada - + Intro End Marker Marcador Final de Entrada - + Outro Start Marker Marcador Inicial de Salida - + Outro End Marker Marcador Final de Salida - + intro start marker marcador inicial de entrada - + intro end marker Marcador final de entrada - + outro start marker marcador inicial de salida - + outro end marker marcador final de salida - + Activate %1 [intro/outro marker Activa %1 - + Jump to or set the %1 [intro/outro marker Saltar a o poner el %1 - + Set %1 [intro/outro marker Poner %1 - + Set or jump to the %1 [intro/outro marker Establecer o saltar a %1 - + Clear %1 [intro/outro marker Limpiar %1 - + Clear the %1 [intro/outro marker Limpiar el %1 - + if the track has no beats the unit is seconds si la pista no tiene pulsaciones la unidad es segundos - + Loop Selected Beats Bucle de las pulsaciones seleccionadas - + Create a beat loop of selected beat size Crear bucle con el tamaño de pulsaciones seleccionado - + Loop Roll Selected Beats Bucle corredizo de las pulsaciones seleccionadas - + Create a rolling beat loop of selected beat size Crear bucle corredizo con el tamaño de pulsaciones seleccionado - + Loop %1 Beats set from its end point Bucle de %1 pulsaciones desde su punto final - + Loop Roll %1 Beats set from its end point Definir serie de bucles de %1 pulsaciones desde su punto final - + Create %1-beat loop with the current play position as loop end Crea un bucle de 1%-beat con la posición de reproducción actual como final del bucle - + Create temporary %1-beat loop roll with the current play position as loop end Crea un redoble de bucle temporal de %1-pulsos con la posición de reproducción actual como final del bucle - + Loop Beats Bucle de pulsos - + Loop Roll Beats Redoble de bucle de pulsos - + Go To Loop In Ir al Loop de entrada - + Go to Loop In button Ir al botón Loop de entrada - + Go To Loop Out Ir al Loop de salida - + Go to Loop Out button Ir al botón Loop de salida - + Toggle loop on/off and jump to Loop In point if loop is behind play position Activar / Desactivar bucle y saltar al inicio del bucle si está detrás de la posición de reproducción - + Reloop And Stop Reactivar bucle y detener - + Enable loop, jump to Loop In point, and stop Activar bucle, ir al inicio del bucle y detener - + Halve the loop length Reducir a la mitad la longitud del bucle - + Double the loop length Duplicar la longitud del bucle - + Beat Jump / Loop Move Salto de pulso / Movimiento del bucle - + Jump / Move Loop Forward %1 Beats Saltar / Mover bucle hacia delante en %1 pulsaciones - + Jump / Move Loop Backward %1 Beats Saltar / Mover bucle hacia atrás en %1 pulsaciones - + Jump forward by %1 beats, or if a loop is enabled, move the loop forward %1 beats Saltar hacia adelante en %1 pulsaciones, o si el bucle está activado, moverlo hacia adelante en %1 pulsaciones - + Jump backward by %1 beats, or if a loop is enabled, move the loop backward %1 beats Saltar hacia atrás en %1 pulsaciones, o si el bucle está activado, moverlo hacia atrás en %1 pulsaciones - + Beat Jump / Loop Move Forward Selected Beats Salto de pulso / Mover el bucle adelante en la cantidad seleccionada - + Jump forward by the selected number of beats, or if a loop is enabled, move the loop forward by the selected number of beats Salta hacia adelante la cantidad seleccionada de pulsaciones, o si el bucle está activado, lo mueve hacia adelante la cantidad seleccionada de pulsaciones - + Beat Jump / Loop Move Backward Selected Beats Salto de pulso / Mover el bucle atrás en la cantidad seleccionada - + Jump backward by the selected number of beats, or if a loop is enabled, move the loop backward by the selected number of beats Salta hacia atrás la cantidad seleccionada de pulsaciones, o si el bucle está activado, lo mueve hacia atrás la cantidad seleccionada de pulsaciones - + Beat Jump Salto de pulso - + Indicate which loop marker remain static when adjusting the size or is inherited from the current position Indica qué marcadores de bucle permanecen estáticos al ajustar el tamaño o es ajustado según la posición actual - + Beat Jump / Loop Move Forward Salto de pulso / Movimiento del bucle - + Beat Jump / Loop Move Backward Salto de pulso / Bucle hacia atrás - + Loop Move Forward Bucle hacia adelante - + Loop Move Backward Movimiento del Bucle Atrás - + Remove Temporary Loop Remueve el bucle temporal - + Remove the temporary loop Remueve el bucle temporal - + Navigation Navegación - + Move up Hacia arriba - + Equivalent to pressing the UP key on the keyboard Equivalente a pulsar la tecla flecha arriba en el teclado - + Move down Hacia abajo - + Equivalent to pressing the DOWN key on the keyboard Equivalente a pulsar la tecla abajo arriba en el teclado - + Move up/down Arriba/abajo - + Move vertically in either direction using a knob, as if pressing UP/DOWN keys Mover verticalmente en qualquier dirección usando una rueda, como si se pulsaran las teclas flecha arriba/abajo - + Scroll Up Retrocede página - + Equivalent to pressing the PAGE UP key on the keyboard Equivalente a pulsar la tecla retrocede página arriba en el teclado - + Scroll Down Avance página - + Equivalent to pressing the PAGE DOWN key on the keyboard Equivalente a pulsar la tecla avance página en el teclado - + Scroll up/down Arriba/abajo página - + Scroll vertically in either direction using a knob, as if pressing PGUP/PGDOWN keys Mover verticalmente en qualquier dirección usando una rueda, como si se pulsaran las teclas avance/retroceso página - + Move left Izquierda - + Equivalent to pressing the LEFT key on the keyboard Equivalente a pulsar la tecla flecha izquierda en el teclado - + Move right Derecha - + Equivalent to pressing the RIGHT key on the keyboard Equivalente a pulsar la tecla flecha derecha en el teclado - + Move left/right Izquierda/derecha - + Move horizontally in either direction using a knob, as if pressing LEFT/RIGHT keys Mover verticalmente en qualquier dirección usando una rueda, como si se pulsaran las teclas flecha izquierda/derecha - + Move focus to right pane Mover al panel derecho - + Equivalent to pressing the TAB key on the keyboard Equivalente a pulsar la tecla Tabulador del teclado - + Move focus to left pane Mover el foco al panel izquierdo - + Equivalent to pressing the SHIFT+TAB key on the keyboard Equivalente a pulsar las teclas Mayúsculas+Tabulación en el teclado. - + Move focus to right/left pane Mover el foco al panel izquierdo/derecho - + Move focus one pane to right or left using a knob, as if pressing TAB/SHIFT+TAB keys Mueve el foco al panel izquierdo o derecho usando una rueda, como si se pulsara tabulación/mayusculas+tabulación. - + Sort focused column Ordenar columna enfocada - + Sort the column of the cell that is currently focused, equivalent to clicking on its header Ordena la columna de la celda que está enfocada, equivale a hacer click en su encabezado - + Go to the currently selected item Ve al elemento actualmente seleccionado. - + Choose the currently selected item and advance forward one pane if appropriate Elige el elemento actualmente seleccionado y avanza un panel si aplica. - + Load Track and Play Cargar Pista y Reproducir - + Add to Auto DJ Queue (replace) Añadir a la lista de DJ Automático (reemplazar) - + Replace Auto DJ Queue with selected tracks Reemplaza la cola de Auto DJ con las pistas seleccionadas - + Select next search history Selecciona el siguiente historial de búsqueda - + Selects the next search history entry Selecciona la siguiente entrada del historial de búsqueda - + Select previous search history Selecciona el historial de búsqueda anterior - + Selects the previous search history entry Selecciona la entrada previa del historial de búsqueda - + Move selected search entry Mover entrada de búsqueda seleccionada - + Moves the selected search history item into given direction and steps Mueve el elemento de la búsqueda histórica seleccionado en la dirección dada y pasa - + Clear search Eliminar búsqueda - + Clears the search query Limpia la búsqueda - - + + Select Next Color Available Selecciona el próximo color disponible - + Select the next color in the color palette for the first selected track Selecciona el próximo color en la paleta de colores para la primera pista seleccionada - - + + Select Previous Color Available Selecciona el anterior color disponible - + Select the previous color in the color palette for the first selected track Selecciona el color anterior en la paleta de colores para la primera pista seleccionada - + + Quick Effects Deck %1 + + + + Deck %1 Quick Effect Enable Button Botón rápido de activación de efecto de cubierta %1 - + + Quick Effect Enable Button Botón de activación de efectos rápidos - + + Deck %1 Stem %2 Quick Effect Super Knob + + + + + Deck %1 Stem %2 Quick Effect Enable Button + + + + Enable or disable effect processing Activar o desactivar efectos - + Super Knob (control effects' Meta Knobs) Súper Perilla (controla las ruedas Meta del efecto) - + Mix Mode Toggle Alternar modo de mezcla - + Toggle effect unit between D/W and D+W modes Cambia la unidad de efectos entre los modos D / W y D + W - + Next chain preset Siguiente preajuste de cadena - + Previous Chain Cadena anterior - + Previous chain preset Anterior preajuste de cadena - + Next/Previous Chain Cadena siguiente/anterior - + Next or previous chain preset Siguiente o anterior preajuste de cadena - - + + Show Effect Parameters Mostrar parámetros de efectos - + Effect Unit Assignment Asignación de la Unidad de Efectos - + Meta Knob Rueda Meta - + Effect Meta Knob (control linked effect parameters) Rueda Meta del efecto (controla los parámetros del efecto asociados) - + Meta Knob Mode Modo de la rueda Meta - + Set how linked effect parameters change when turning the Meta Knob. Define como se comportan los parámetros del efecto enlazados al mover la rueda Meta. - + Meta Knob Mode Invert Modo rueda Meta Invertida - + Invert how linked effect parameters change when turning the Meta Knob. Invierte el sentido en el que se mueven los parámetros del efecto enlazados al girar la rueda Meta. - - + + Button Parameter Value Valor del Parámetro del Botón - + Microphone / Auxiliary Micrófono/Auxiliar - + Microphone On/Off Micrófono Encendido/Apagado - + Microphone on/off Micrófono encendido/apagado - + Toggle microphone ducking mode (OFF, AUTO, MANUAL) Conmutar modo de atenuación de micrófono (OFF, AUTO, MANUAL) - + Auxiliary On/Off Auxiliar Encendido/Apagado - + Auxiliary on/off Auxiliar encendido/apagado - + Auto DJ DJ Automatico - + Auto DJ Shuffle Auto DJ Aleatorio - + Auto DJ Skip Next Quitar la siguiente en Auto DJ - + Auto DJ Add Random Track Añade una pista aleatoria al Auto DJ - + Add a random track to the Auto DJ queue Añade una pista aleatoria a la fila del Auto DJ - + Auto DJ Fade To Next Autodesvanecer a la siguiente en Auto DJ - + Trigger the transition to the next track Desencadenar la transición a la pista siguiente - + User Interface Interfaz de usuario - + Samplers Show/Hide Mostrar/Ocultar reproductor de muestras - + Show/hide the sampler section Mostrar/Ocultar la sección de reproductor de muestras - + Microphone && Auxiliary Show/Hide keep double & to prevent creation of keyboard accelerator Mostrar/Ocultar Micrófono y Auxiliar - + Waveform Zoom Reset To Default Reestablece el zoom de la forma de onda - + Reset the waveform zoom level to the default value selected in Preferences -> Waveforms Restablece el nivel de zoom de la forma de onda al valor por defecto seleccionado en Preferencias > Formas de onda - + Select the next color in the color palette for the loaded track. Selecciona el próximo color en la paleta de colores para la pista cargada. - + Select previous color in the color palette for the loaded track. Selecciona el color anterior en la paleta de colores para la pista cargada. - + Navigate Through Track Colors Navegar a través de los colores de las pistas - + Select either next or previous color in the palette for the loaded track. Selecciona cualquiera de los colores siguientes o anteriores en la paleta de colores para la pista cargada. - + Start/Stop Live Broadcasting Inicia/Detiene Transmisión En Vivo - + Stream your mix over the Internet. Emite tus mezclas por internet. - + Start/stop recording your mix. Inicia/Detiene la grabación de tu mezcla. - - + + + Deck %1 Stems + + + + + Samplers Muestreadores / Samplers - + Vinyl Control Show/Hide Mostrar/Ocultar Control de Vinilo - + Show/hide the vinyl control section Mostrar/ocultar la sección del control del vinilo - + Preview Deck Show/Hide Ocultar/Mostrar reproductor de preescucha - + Show/hide the preview deck Oculta/Muestra el reproductor de pre-escucha - + Toggle 4 Decks Conmuta el modo de 4 platos - + Switches between showing 2 decks and 4 decks. Cambia entre mostrar 2 platos o 4 platos. - + Cover Art Show/Hide (Decks) Mostrar/ocultar carátulas (en Decks) - + Show/hide cover art in the main decks Mostrar/ocultar carátulas en los platos principales. - + Vinyl Spinner Show/Hide Mostrar/ocultar vinilo - + Show/hide spinning vinyl widget Mostrar/ocultar el widget de vinilo giratorio - + Vinyl Spinners Show/Hide (All Decks) Mostrar/ocultar los vinilos giratorios (todos los platos) - + Show/Hide all spinnies Mostrar/ocultar todos los giradores - + Toggle Waveforms Alternar formas de onda - + Show/hide the scrolling waveforms. Mostrar/ocultar las formas de onda deslizantes - + Waveform zoom Cambia el zoom de la forma de onda - + Waveform Zoom Zoom de forma de onda - + Zoom waveform in Incrementa el zoom de la forma de onda - + Waveform Zoom In Acercar zoom de forma de onda - + Zoom waveform out Reduce el zoom de la forma de onda - + Star Rating Up Agregar una estrella - + Increase the track rating by one star Incrementa la puntuación de la pista en una estrella - + Star Rating Down Quitar una estrella - + Decrease the track rating by one star Reduce la puntuación de la pista en una estrella @@ -3547,6 +3588,159 @@ trace - Arriba + Perfilar mensajes Desconocido + + ControllerHidReportTabsManager + + + Read + + + + + Send + + + + + Payload Size + + + + + bytes + + + + + Byte Position + + + + + Bit Position + + + + + Bit Size + + + + + Logical Min + + + + + Logical Max + + + + + Value + + + + + Physical Min + + + + + Physical Max + + + + + Unit Scaling + + + + + Unit + + + + + Abs/Rel + + + + + + Wrap + + + + + + Linear + + + + + + Preferred + + + + + + Null + + + + + + Volatile + + + + + Usage Page + + + + + Usage + + + + + Relative + + + + + Absolute + + + + + No Wrap + + + + + Non Linear + + + + + No Preferred + + + + + No Null + + + + + Non Volatile + + + ControllerInputMappingTableModel @@ -3682,27 +3876,27 @@ trace - Arriba + Perfilar mensajes ControllerScriptEngineLegacy - + Controller Mapping File Problem Problema del archivo del mapa de controlador - + The mapping for controller "%1" cannot be opened. El mapa del controlador "%1" no puede ser abierto. - + The functionality provided by this controller mapping will be disabled until the issue has been resolved. La funcionalidad provista por este mapa de controlador será desactivada hasta que el problema sea resuelto. - + File: Archivo: - + Error: Error: @@ -3735,7 +3929,7 @@ trace - Arriba + Perfilar mensajes - + Lock Bloquear @@ -3765,7 +3959,7 @@ trace - Arriba + Perfilar mensajes Fuente de pistas para Auto DJ - + Enter new name for crate: Escriba un nuevo nombre para el cajón: @@ -3782,22 +3976,22 @@ trace - Arriba + Perfilar mensajes Importar cajón - + Export Crate Exportar cajón - + Unlock Desbloquear - + An unknown error occurred while creating crate: Ocurrió un error desconocido al crear el cajón: - + Rename Crate Renombrar cajón @@ -3807,28 +4001,28 @@ trace - Arriba + Perfilar mensajes Haz una caja para tu próximo concierto, para tus temas electrohouse favoritos o para tus temas más solicitados. - + Confirm Deletion Confirmar Borrado - - + + Renaming Crate Failed No se pudo renombrar el cajón - + Crate Creation Failed Falló la creación del cajón - + M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Text CSV (*.csv);;Readable Text (*.txt) Lista de reproducción M3U (*.m3u);;Lista de reproducción M3U8 (*.m3u8);;Lista de reproducción PLS (*.pls);;Texto CSV (*.csv);;Texto legible (*.txt) - + M3U Playlist (*.m3u) Lista de reproducción M3U (*.m3u) @@ -3849,17 +4043,17 @@ trace - Arriba + Perfilar mensajes Los cajones permiten organizar tu música como tu quieras! - + Do you really want to delete crate <b>%1</b>? ¿Quieres eliminar la caja <b>%1</b>? - + A crate cannot have a blank name. Los cajones no pueden carecer de nombre. - + A crate by that name already exists. Ya existe un cajón con ese nombre. @@ -3954,12 +4148,12 @@ trace - Arriba + Perfilar mensajes Antiguos colaboradores - + Official Website Sitio web oficial - + Donate Donar @@ -4788,123 +4982,140 @@ Esto podría deberse a que estás usando una skin antigua y este control ya no e DlgPrefBroadcast - + Icecast 2 Icecast 2 - + Shoutcast 1 Shoutcast 1 - + Icecast 1 Icecast 1 - + MP3 MP3 - + Ogg Vorbis Ogg Vorbis - + Opus Opus - + AAC AAC - + HE-AAC HE-AAC - + HE-AACv2 HE-AACv2 - + Automatic Automático - + Mono Mono - + Stereo Estéreo - - - - + + Saving settings failed + + + + + The password for '%1' contains invalid characters. Please enter it again. + +Note: This can for example be invisible linebreaks when using copy/paste. + + + + + + Action failed Acción fallida - + You can't create more than %1 source connections. No se pueden crear más de %1 fuentes de emisión en vivo. - + Source connection %1 Fuente de emisión %1 - + + Settings for %1 + Settings for broadcast profile, %1 is the profile name placeholder + + + + At least one source connection is required. Se requiere almenos una fuente de emisión. - + Are you sure you want to disconnect every active source connection? ¿Seguro que deseas desconectar todas las fuentes de emisión activas? - - + + Confirmation required Se necesita confirmación - + '%1' has the same Icecast mountpoint as '%2'. Two source connections to the same server that have the same mountpoint can not be enabled simultaneously. '%1' tiene el mismo punto de montaje Icecast que '%2'. No se puede establecer dos conexiones simultáneas al mismo servidor, con el mismo punto de montaje. - + Are you sure you want to delete '%1'? ¿Deseas realmente borrar '%1'? - + Renaming '%1' Renombrando '%1' - + New name for '%1': Nuevo nombre para '%1': - + Can't rename '%1' to '%2': name already in use No se puede renombrar '%1' a '%2': el nombre está en uso @@ -4917,27 +5128,27 @@ No se puede establecer dos conexiones simultáneas al mismo servidor, con el mis Preferencias de Transmision en Vivo - + Mixxx Icecast Testing Prueba de «Icecast» de Mixxx - + Public stream Transmisión pública - + http://www.mixxx.org http://www.mixxx.org - + Stream name Nombre de la emisión - + Due to flaws in some streaming clients, updating Ogg Vorbis metadata dynamically can cause listener glitches and disconnections. Check this box to update the metadata anyway. Debido a errores en algunos clientes de transmisión, actualizar dinámicamente los metadatos Ogg Vorbis puede causar interferencias y desconexiones a los oyentes. Marque esta casilla para actualizar los metadatos de todos modos. @@ -4977,67 +5188,72 @@ No se puede establecer dos conexiones simultáneas al mismo servidor, con el mis Opciones para %1 - + + Available fields: $artist, $title, $year, $album, $genre, $bpm + + + + Dynamically update Ogg Vorbis metadata. Actualizar dinámicamente los metadatos Ogg Vorbis. - + ICQ ICQ - + AIM AIM - + Website Sitio web - + Live mix Mezcla en vivo - + IRC IRC - + Select a source connection above to edit its settings here Selecciona en la lista la fuente de emisión que desees editar - + Password storage Guardado de contraseñas - + Plain text Texto simple - + Secure storage (OS keychain) Almacen seguro (almacen de llaves del SO) - + Genre Genero - + Use UTF-8 encoding for metadata. Usar codificación UTF-8 para los metadatos. - + Description Descripción @@ -5063,42 +5279,42 @@ No se puede establecer dos conexiones simultáneas al mismo servidor, con el mis Canales - + Server connection Conexión al servidor - + Type Tipo - + Host Servidor - + Login Identificación - + Mount Montar - + Port Puerto - + Password Contraseña - + Stream info Información de la emisión @@ -5108,17 +5324,17 @@ No se puede establecer dos conexiones simultáneas al mismo servidor, con el mis Metadatos - + Use static artist and title. Usar texto de artista y título fijos - + Static title Titulo fijo - + Static artist Artista fijo @@ -5177,13 +5393,14 @@ No se puede establecer dos conexiones simultáneas al mismo servidor, con el mis DlgPrefColors - - + + + By hotcue number Por número de hotcue - + Color Color @@ -5228,17 +5445,22 @@ No se puede establecer dos conexiones simultáneas al mismo servidor, con el mis + Jump default color + + + + When key colors are enabled, Mixxx will display a color hint associated with each key. Cuando se han habilitado los colores de nota, Mixxx mostrará una pista de color asociada con cada nota. - + Enable Key Colors Activar colores de nota - + Key palette Paleta de notas @@ -5246,114 +5468,114 @@ associated with each key. DlgPrefController - + Apply device settings? ¿Aplicar la configuración del dispositivo? - + Your settings must be applied before starting the learning wizard. Apply settings and continue? La configuración debe ser aplicada antes de iniciar el asistente de aprendizaje. ¿Aplicar la configuración y continuar? - + None Ningún - + %1 by %2 %1 por %2 - + Mapping has been edited Se ha editado el mapeo - + Always overwrite during this session Siempre sobreescribir durante esta sesión - + Save As Guardar como - + Overwrite Sobreescribir - + Save user mapping Guardar mapeo del usuario - + Enter the name for saving the mapping to the user folder. Ingresar el nombre del archivo de mapeo para guardarlo en la carpeta de usuario. - + Saving mapping failed Ha fallado el guardado del mapeo - + A mapping cannot have a blank name and may not contain special characters. El nombre del mapeo no puede estar en blanco, ni contener caracteres especiales. - + A mapping file with that name already exists. Ya existe un archivo de mapeo con el mismo nombre. - + Do you want to save the changes? Quieres guardar los cambios? - + Troubleshooting Solución de problemas - + <font color='#BB0000'><b>If you use this mapping your controller may not work correctly. Please select another mapping or disable the controller.</b></font><br><br>This mapping was designed for a newer Mixxx Controller Engine and cannot be used on your current Mixxx installation.<br>Your Mixxx installation has Controller Engine version %1. This mapping requires a Controller Engine version >= %2.<br><br>For more information visit the wiki page on <a href='https://mixxx.org/wiki/doku.php/controller_engine_versions'>Controller Engine Versions</a>. <font color='#BB0000'><b>Si usas este mapeo, tu controlador podría no funcionar correctamente. Por favor selecciona otro mapeo o deshabilita el controlador. </b></font><br><br>Este mapeo fue diseñado para un nuevo Motor de Controladores de Mixxx, y no puede ser usado con tu instalación actual.<br>Tu instalación de Mixxx posee la version del Motor de Controladores %1. Este mapeo requiere una versión del Motor de controladores >=%2.<br><br>Para más información visita la wiki de <a href='https://mixxx.org/wiki/doku.php/controller_engine_versions'>Versiones del Motor de Controladores</a>. - + Mapping already exists. El mapeo ya existe. - + <b>%1</b> already exists in user mapping folder.<br>Overwrite or save with a new name? <b>%1</b> ya existe en la carpeta de mapeos de usuario. <br>¿Deseas sobreescribir o guardar con otro nombre? - + Clear Input Mappings Limpiar mapeos de Entrada - + Are you sure you want to clear all input mappings? Está seguro de querer eliminar todos los mapeos de entrada? - + Clear Output Mappings Limpiar mapeos de Salida - + Are you sure you want to clear all output mappings? Está seguro de querer eliminar todos los mapeos de salida? @@ -5371,100 +5593,105 @@ Apply settings and continue? Habilitado - + + Refresh mapping list + + + + Device Info Información del dispositivo - + Physical Interface: Interfase física: - + Vendor name: Nombre del fabricante: - + Product name: Nombre del producto: - + Vendor ID ID del proveedor - + VID: VID: - + Product ID ID del producto - + PID: PID: - + Serial number: Número de serie: - + USB interface number: Número de interfaz USB - + HID Usage-Page: Página de uso HID - + HID Usage: Uso de HID: - + Description: Descripción: - + Support: Soporte: - + Screens preview Previsualizar pantallas - + Input Mappings Mapeos de Entrada - - + + Search Buscar - - + + Add Añadir - - + + Remove Quitar @@ -5484,17 +5711,17 @@ Apply settings and continue? Cargar Mapeo: - + Mapping Info Información de mapeo - + Author: Autor: - + Name: Nombre: @@ -5504,28 +5731,28 @@ Apply settings and continue? Asistente de aprendizaje (sólo MIDI) - + Data protocol: Protocolo de datos: - + Mapping Files: Archivos de mapeo - + Mapping Settings Configuración de mapeo - - + + Clear All Limpiar todo - + Output Mappings Mapeos de Salida @@ -5540,21 +5767,21 @@ Apply settings and continue? - Mixxx uses "mappings" to connect messages from your controller to controls in Mixxx. If you do not see a mapping for your controller in the "Load Mapping" menu when you click on your controller on the left sidebar, you may be able to download one online from the %1. Place the XML (.xml) and Javascript (.js) file(s) in the "User Mapping Folder" then restart Mixxx. If you download a mapping in a ZIP file, extract the XML and Javascript file(s) from the ZIP file to your "User Mapping Folder" then restart Mixxx. - Mixxx utiliza "mapeos" para conectar mensajes desde tu controlador a los controles en Mixxx. Si no ves un mapeo de tu controlador en el menu "Cargar Mapeo" cuando hagas click en tu controlador en la barra deslizable izquierda, pudieras descargar uno en línea desde %1. Coloca los archivos XML (.xml) y Javascript (.js) en la "Carpeta de Mapeo del Usuario" luego reinicia Mixxx. Si descargaste un mapeo en un archivo ZIP, extrae los archivos XML y Javascript del archivo ZIP a tu "Carpeta de Mapeo del Usuario" y luego reinicia Mixxx. + Mixxx uses "mappings" to connect messages from your controller to controls in Mixxx. If you do not see a mapping for your controller in the "Load Mapping" menu when you click on your controller on the left sidebar, you may be able to download one online from the %1. Place the XML (.xml) and Javascript (.js) file(s) in the "User Mapping Folder" then click the Reload button next to the mapping selector to reload all available mappings. If you download a mapping in a ZIP file, extract the XML and Javascript file(s) from the ZIP file to your "User Mapping Folder" then click the Reload button. + - + Mixxx DJ Hardware Guide Guía de Hardware de DJ de Mixxx - + MIDI Mapping File Format Formato de archivo de mapeos MIDI - + MIDI Scripting with Javascript Programación de Scripts MIDI con Javascript @@ -5723,137 +5950,137 @@ Apply settings and continue? DlgPrefDeck - + Mixxx mode Modo Mixxx - + Mixxx mode (no blinking) Modo Mixxx (sin parpadeo) - + Pioneer mode Modo Pioneer - + Denon mode Modo Denon - + Numark mode Modo Numark - + CUP mode Modo CUP - + mm:ss%1zz - Traditional mm:ss%1zz - Tradicional - + mm:ss - Traditional (Coarse) mm:ss - Tradicional (grueso) - + s%1zz - Seconds s%1zz - Segundos - + sss%1zz - Seconds (Long) sss%1zz - Segundos (Duración) - + s%1sss%2zz - Kiloseconds s%1sss%2zz - Kilosegundos - + Intro start Inicio de la entrada - + Main cue Marcador principal - + First hotcue Primera hotcue - + First sound (skip silence) Primer sonido (saltar silencio) - + Beginning of track Principio de la pista - + Reject Rechazar - + Allow, but stop deck Permitir, pero detener deck - + Allow, play from load point Permitir, reproducir desde el punto de carga - + 4% 4% - + 6% (semitone) 6% (seminota) - + 8% (Technics SL-1210) 8% (Technics SL-1210) - + 10% 10% - + 16% 16% - + 24% 24% - + 50% 50% - + 90% 90% @@ -6313,57 +6540,57 @@ Siempre puedes arrastrar y tirar pistas en la pantalla para clonar una plataform El tamaño mínimo de la apariencia seleccionada es mas grande que la resolucion de su pantalla. - + Allow screensaver to run Permite el salvapantallas - + Prevent screensaver from running Evita que se active el salvapantallas - + Prevent screensaver while playing Evita el salvapantallas mientras reproduce - + Disabled Desactivado - + 2x MSAA 2x MSAA - + 4x MSAA 4x MSAA - + 8x MSAA 8x MSAA - + 16x MSAA 16x MSAA - + This skin does not support color schemes Este skin no soporta esquemas de color - + Information Información - + Mixxx must be restarted before the new locale, scaling or multi-sampling settings will take effect. Mixxx debe ser reiniciado para que el nuevo ajuste de locale, escalado o multi-muestreo tenga efecto. @@ -6591,67 +6818,97 @@ y te permite ajustar su pitch para lograr mezclas armónicas. Ver el manual para más detalles - + Music Directory Added Directorio de Musica Agregado - + You added one or more music directories. The tracks in these directories won't be available until you rescan your library. Would you like to rescan now? Has agregado uno o más directorios de música. Las pistas de estos directorios no estarán disponibles hasta que vuelva a escanear la biblioteca. Le gustaría escanearla ahora? - + Scan Escanear - + Item is not a directory or directory is missing El ítem no es un directorio, o el directorio no ha sido encontrado - + Choose a music directory Elija un directorio de música - + Confirm Directory Removal Confirme la eliminación del directorio - + Mixxx will no longer watch this directory for new tracks. What would you like to do with the tracks from this directory and subdirectories?<ul><li>Hide all tracks from this directory and subdirectories.</li><li>Delete all metadata for these tracks from Mixxx permanently.</li><li>Leave the tracks unchanged in your library.</li></ul>Hiding tracks saves their metadata in case you re-add them in the future. Mixxx no seguirá observando el directorio por nuevas pistas. Que quiere hacer con las pistas de esta carpeta y subcarpetas que están en la biblioteca?<ul><li>Esconder las pistas de la carpeta y subcarpetas.</li><li>Borrar los metadatos de estas pistas de forma permanente.</li><li>Mantener las pistas en la biblioteca.</li></ul>Esconder las pistas permite guardar los metadatos en caso que quiera volverlas a la bibloteca. - + Metadata means all track details (artist, title, playcount, etc.) as well as beatgrids, hotcues, and loops. This choice only affects the Mixxx library. No files on disk will be changed or deleted. Metadatos significa todos los detalles de la pista (artista, titulo, cantidad de reproducciones, etc) como cuadrículas de tempo, hotcues y bucles. Este cambio solo afecta a la biblioteca de Mixxx. Ningun archivo en el disco será cambiado o eliminado. - + Hide Tracks Ocultar Pistas - + Delete Track Metadata Eliminar Metadatos de la pista - + Leave Tracks Unchanged Dejar pistas sin cambios - + Relink music directory to new location Reenlazar el directorio de musica en una nueva ubicación - + + Black + + + + + ExtraBold + + + + + Bold + + + + + SemiBold + + + + + Medium + + + + + Light + + + + Select Library Font Seleccionar la Fuente para Biblioteca @@ -6700,262 +6957,267 @@ y te permite ajustar su pitch para lograr mezclas armónicas. Re-escanear directorios al inicio - + Audio File Formats Formatos de archivo de sonido - + Track Table View Vista Tabla de Pistas - + Track Double-Click Action: Acción doble-click de Pista: - + BPM display precision: Precisión al mostrar los BPM: - + Session History Historia de la sesión - + Track duplicate distance Duplicar Distancia de Pista - + When playing a track again log it to the session history only if more than N other tracks have been played in the meantime Cuando reproduces una pista de nuevo, anéxala al historial de la sesión sólo si más de N otras pistas han sido reproducidas mientras tanto. - + History playlist with less than N tracks will be deleted<br/><br/>Note: the cleanup will be performed during startup and shutdown of Mixxx. Historial de lista de reproducciones con menos de N pistas serán borradas<br/><br/>Nota: la limpieza será realizada durante el inicio y el cierre de Mixxx. - + Delete history playlist with less than N tracks Borrar historial de listado de pistas con menos de N pistas - + Library Font: Fuente para Biblioteca: - + + Show scan summary dialog + + + + Grey out played tracks Oscurecer pistas ya tocadas - + Track Search Buscar una pista - + Enable search completions Permitir completar búsquedas - + Enable search history keyboard shortcuts Activar los atajos de teclado del historial de búsqueda - + Percentage of pitch slider range for 'fuzzy' BPM search: Porcentaje del rango del deslizador de pitch para búsqueda de BPM "difuso-variable". - + This range will be used for the 'fuzzy' BPM search (~bpm:) via the search box, as well as for BPM search in Track context menu > Search related Tracks Este rango será utilizado para buscar BPM "difuso-variable" (~bpm:) en la caja de búsqueda, además de la búsqueda de BPM en el menú contextual Pista > Buscar pistas relacionadas - + Preferred Cover Art Fetcher Resolution Resolución preferida del buscador de carátulas - + Fetch cover art from coverartarchive.com by using Import Metadata From Musicbrainz. Obtén carátulas de coverartarchive.com mediante Import Metadata From Musicbrainz. - + Note: ">1200 px" can fetch up to very large cover arts. Nota: ">1200 px" puede referirse a carátulas muy grandes. - + >1200 px (if available) >1200 px (si está disponible) - + 1200 px (if available) 1200 px (si está disponible) - + 500 px 500 px - + 250 px 250 px - + Settings Directory Directorio de configuración - + The Mixxx settings directory contains the library database, various configuration files, log files, track analysis data, as well as custom controller mappings. El directorio de configuración de Mixxx contiene la base de datos de la biblioteca, varios archivos de configuración, archivos de bitácoras, datos de análisis de pistas, así como mapeos de controladores personalizados. - + Edit those files only if you know what you are doing and only while Mixxx is not running. Edita estos archivos solo si sabes lo que estás haciendo, y solo cuando Mixxx no esté siendo ejecutado. - + Open Mixxx Settings Folder Abrir carpeta de ajustes de Mixxx - + Library Row Height: Alto de la Fila en Biblioteca: - + Use relative paths for playlist export if possible Usar rutas relativas al exportar lista de reproducción cuando sea posible - + ... ... - + px px - + Synchronize library track metadata from/to file tags Sincroniza los metadatos de la librería de pistas desde/hacia las etiquetas de archivos - + Automatically write modified track metadata from the library into file tags and reimport metadata from updated file tags into the library Automáticamente escribe metadatos de las pistas modificadas desde la biblioteca a las etiquetas del archivo y reimporta metadatos desde las etiquetas actualizadas del archivo a la biblioteca - + Synchronize Serato track metadata from/to file tags (experimental) Sincroniza metadatos de la pista de Serato desde/hacia las etiquetas de archivo (experimental) - + Keeps track color, beat grid, bpm lock, cue points, and loops synchronized with SERATO_MARKERS/MARKERS2 file tags.<br/><br/>WARNING: Enabling this option also enables the reimport of Serato metadata after files have been modified outside of Mixxx. On reimport existing metadata in Mixxx is replaced with the metadata found in file tags. Custom metadata not included in file tags like loop colors is lost. Mantiene el color de la pista, la cuadrícula del ritmo, bloqueo de bpm, puntos de marcado, y bucles sincronizados con las etiquetas de archivo SERATO_MARKERS/MARKERS2.<br/><br/>ADVERTENCIA: Habilitando esta opción también habilita la reimportación de metadatos de Serato después de que los archivos han sido modificados afuera de Mixxx. Al reimportar metadatos existentes en Mixxx se reemplaza con los metadatos encontrados en las etiquetas de archivos. Los Metadatos personalizados no incluidos en las etiquetas de archivos como los colores de los bucles se perderán. - + Edit metadata after clicking selected track Editar metadatos al clicar en una pista seleccionada - + Search-as-you-type timeout: Tiempo de espera de búsqueda mientras escribe: - + ms ms - + Load track to next available deck Carga la pista en el siguiente plato disponible - + External Libraries Bibliotecas externas - + You will need to restart Mixxx for these settings to take effect. Usted tendrá que reiniciar Mixxx para que esta configuración surta efecto. - + Show Rhythmbox Library Mostrar la librería de Rhythmbox - + Track Metadata Synchronization / Playlists Metadatos de sincronización de pistas / Listas de reproducción - + Add track to Auto DJ queue (bottom) Añadir pista al final de la cola de Auto DJ - + Add track to Auto DJ queue (top) Añadir pista a la cola de Auto DJ (al comienzo) - + Ignore Ignorar - + Show Banshee Library Mostrar la bibiloteca de Banshee - + Show iTunes Library Mostrar la librería de ITunes - + Show Traktor Library Mostrar la librería de Traktor - + Show Rekordbox Library Mostrar la Librería de Rekordbox - + Show Serato Library Mostrar la Librería de Serato - + All external libraries shown are write protected. Todas las bibliotecas mostradas estan protegidas frente a escritura. @@ -7300,33 +7562,33 @@ y te permite ajustar su pitch para lograr mezclas armónicas. DlgPrefRecord - + Choose recordings directory Elegir la carpeta para las grabaciones - - + + Recordings directory invalid Directorio de grabaciones inválido - + Recordings directory must be set to an existing directory. El directorio de Grabaciones debe configurarse a un directorio existente. - + Recordings directory must be set to a directory. El directorio de Grabaciones debe configurarse a un directorio. - + Recordings directory not writable Directorio de Grabaciones no escribible - + You do not have write access to %1. Choose a recordings directory you have write access to. No tienes acceso de escritura en %1. Escoge un directorio de grabación en el que tengas acceso de escritura. @@ -7344,43 +7606,55 @@ y te permite ajustar su pitch para lograr mezclas armónicas. Examinar… - - + + This will include the filepath for each track in the CUE file. +This option makes the CUE file less portable and can reveal personal +information from filepaths (i.e. username) + + + + + Enable File Annotation in CUE file + + + + + Quality Calidad - + Tags Etiquetas - + Title Título - + Author Autor - + Album Album - + Output File Format Formato de fichero de salida - + Compression Compresión - + Lossy Con pérdidas @@ -7395,12 +7669,12 @@ y te permite ajustar su pitch para lograr mezclas armónicas. Directorio: - + Compression Level Nivel de compresión - + Lossless Sin pérdidas @@ -7533,172 +7807,177 @@ El objetivo de sonoridad es aproximado y asume que la preganancia de la pista y DlgPrefSound - + %1 Hz %1 Hz - + Default (long delay) Por Defecto (mas retardo) - + Experimental (no delay) Experimental (sin retardo) - + Disabled (short delay) Desactivado (poco retardo) - + Soundcard Clock Reloj de la tarjeta de sonido - + Network Clock Reloj de red - + Direct monitor (recording and broadcasting only) Monitorización directa (solo grabación y emisión en vivo) - + Disabled Desactivado - + Enabled Habilitado - + Stereo Estéreo - + Mono Mono - + To enable Realtime scheduling (currently disabled), see the %1. Para activar el Planificador en tiempo real (actualmente desactivado), mira %1. - + The %1 lists sound cards and controllers you may want to consider for using Mixxx. %1 muestra una lista de tarjetas de sonido y controladores que podrías considerar para utilizar con Mixxx - + Mixxx DJ Hardware Guide Guía de Hardware DJ de Mixxx - + + Find details in the Mixxx user manual + + + + Information Información - + Mixxx must be restarted before the multi-threaded RubberBand setting change will take effect. Mixxx debe ser reiniciado para que el cambio de ajuste de RubberBand multi-hilo tenga efecto. - + auto (<= 1024 frames/period) auto (<= 1024 fotogramas/período) - + 2048 frames/period 2048 fotogramas/período - + 4096 frames/period 4096 fotogramas/período - + Are you sure? ¿Estás seguro(a)? - + Distribute stereo channels into mono channels for parallel processing will result in a loss of mono compatibility and a diffuse stereo image. It is not recommended during broadcasting or recording. Distribuir los canales estéreo en canales mono para su procesamiento en paralelo podría resultar en la pérdida de la compatibilidad mono y una imagen estéreo difusa. No se recomienda al transmitir en vivo o al grabar. - + Are you sure you wish to proceed? ¿Realmente deseas continuar? - + No No - + Yes, I know what I am doing Sí, se lo que estoy haciendo - + Microphone inputs are out of time in the record & broadcast signal compared to what you hear. La entrada de micrófono está desincronizada respecto la grabación y emisión comparado con la señal que se oye. - + Measure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. Mide la latencia total e introducela en la Compensacion de latencia del micrófono para sincronizar el micrófono. - + Refer to the Mixxx User Manual for details. Para más detalles, lea el manual de usuario de Mixxx. - + Configured latency has changed. La latencia configurada ha cambiado. - + Remeasure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. Vuelve a medir la latencia total e introducela en la Compensacion de latencia del micrófono para sincronizar el micrófono. - + Realtime scheduling is enabled. La planificación en Tiempo Real está activada. - + Main output only Solo Salida principal - + Main and booth outputs Salidas principal y de cabina - + %1 ms %1 ms - + Configuration error Error de configuración @@ -7765,17 +8044,22 @@ El objetivo de sonoridad es aproximado y asume que la preganancia de la pista y ms - + + Deck and Bus outputs are for external mixers. They are post-fader and include effects and crossfader (for Auto DJ). For external mixing, make sure all Mixxx faders and EQ knobs are set to their default position (right- or double-click). + + + + 20 ms 20 ms - + Buffer Underflow Count Contador de vaciado del búfer - + 0 0 @@ -7800,12 +8084,12 @@ El objetivo de sonoridad es aproximado y asume que la preganancia de la pista y Entrada - + System Reported Latency Latencia reportada por el sistema - + Enlarge your audio buffer if the underflow counter is increasing or you hear pops during playback. Aumente su búfer de audio si el contador de desbordamiento está aumentando o escuchas chasquidos durante la reproducción. @@ -7835,7 +8119,7 @@ El objetivo de sonoridad es aproximado y asume que la preganancia de la pista y Diagnóstico y sugerencias - + Downsize your audio buffer to improve Mixxx's responsiveness. Disminuya su búfer de audio para mejorar la velocidad de respuesta de Mixxx. @@ -7882,7 +8166,7 @@ El objetivo de sonoridad es aproximado y asume que la preganancia de la pista y Configuración de Vinilo - + Show Signal Quality in Skin Mostrar Calidad de Señal en la apariencia @@ -7918,46 +8202,51 @@ El objetivo de sonoridad es aproximado y asume que la preganancia de la pista y + Pitch estimator + + + + Deck 1 Plato 1 - + Deck 2 Plato 2 - + Deck 3 Plato 3 - + Deck 4 Plato 4 - + Signal Quality Calidad de Señal - + http://www.xwax.co.uk http://www.xwax.co.uk - + Powered by xwax Con tecnología de xwax - + Hints Sugerencias - + Select sound devices for Vinyl Control in the Sound Hardware pane. Seleccione los dispositivos de sonico para el Control por Vinilo en el Panel de Hardware de Sonido. @@ -7965,58 +8254,58 @@ El objetivo de sonoridad es aproximado y asume que la preganancia de la pista y DlgPrefWaveform - + Filtered Filtrada - + HSV HSV - + RGB RGB - + Top Arriba - + Center Centrado - + Bottom Abajo - + 1/3 of waveform viewer options for "Text height limit" 1/3 de visualización de forma de onda - + Entire waveform viewer Visor de forma de onda completa - + OpenGL not available OpenGL no disponible - + dropped frames fotogramas perdidos - + Cached waveforms occupy %1 MiB on disk. Formas de onda almacenadas en caché ocupan %1 MiB en el disco. @@ -8034,22 +8323,17 @@ El objetivo de sonoridad es aproximado y asume que la preganancia de la pista y Tasa de fotograma - + OpenGL Status Estado de OpenGL - + Displays which OpenGL version is supported by the current platform. Muestra qué versión de OpenGL es soportada por la plataforma actual. - - Normalize waveform overview - Normalizar vista de forma de onda - - - + Average frame rate Refresco de pantalla promedio @@ -8065,7 +8349,7 @@ El objetivo de sonoridad es aproximado y asume que la preganancia de la pista y Nivel de zoom por defecto - + Displays the actual frame rate. Muestra la tasa de refresco actual. @@ -8100,7 +8384,7 @@ El objetivo de sonoridad es aproximado y asume que la preganancia de la pista y Graves - + Show minute markers on waveform overview Mostrar marcadores de minutos en la vista de forma de onda @@ -8145,7 +8429,7 @@ El objetivo de sonoridad es aproximado y asume que la preganancia de la pista y Ganancia visual global - + The waveform overview shows the waveform envelope of the entire track. Select from different types of displays for the waveform overview, which differ primarily in the level of detail shown in the waveform. La vista general de forma de onda muestra la forma de onda de la pista entera. @@ -8214,22 +8498,22 @@ Elija entre los distintos tipos de visualización para la forma de onda, que se pt - + Caching Almacenamiento en caché - + Mixxx caches the waveforms of your tracks on disk the first time you load a track. This reduces CPU usage when you are playing live but requires extra disk space. Mixxx almacena en caché las formas de onda de las pistas en el disco la primera vez que se carga una pista. Esto reduce el uso de la CPU cuando se está jugando en vivo, pero requiere espacio en disco adicional. - + Enable waveform caching Habilitar el almacenamiento en caché de forma de onda - + Generate waveforms when analyzing library Generar formas de onda cuando se analiza la biblioteca @@ -8245,7 +8529,7 @@ Elija entre los distintos tipos de visualización para la forma de onda, que se - + Type Tipo @@ -8275,12 +8559,58 @@ Elija entre los distintos tipos de visualización para la forma de onda, que se Mover the marcador de posición en la pista a la izquierda, derecha o centro (Defabrica). - - Overview Waveforms - Visualizar formas de onda + + Stem + + + + + Channel opacity + + + + + Channel opacity (outline) + + + + + Main stem opacity + + + + + Outline stem opacity + + + + + Move channel to foreground when volume is adjusted + + + + + Overview Waveforms + Visualizar formas de onda + + + + Gain + + + + + Normalize to peak + + + + + Use Waveform "Global" gain and ReplayGain (if enabled) + 'Global' refers to the 'Global' visual gain in the scrolling waveform settings + - + Clear Cached Waveforms Las formas de onda claras en caché @@ -8772,7 +9102,7 @@ Carpeta: %2 BPM: - + Location: Ubicación: @@ -8787,27 +9117,27 @@ Carpeta: %2 Comentarios - + BPM BPM - + Sets the BPM to 75% of the current value. Ajusta el BPM al 75% del valor actual. - + 3/4 BPM 3/4 BPM - + Sets the BPM to 50% of the current value. Ajusta el BPM al 50% del valor actual. - + Displays the BPM of the selected track. Mostrar los BPMs de la pista seleccionada. @@ -8862,49 +9192,49 @@ Carpeta: %2 Genero - + ReplayGain: Ganancia de repetición: - + Sets the BPM to 200% of the current value. Ajusta el BPM al 200% del valor actual. - + Double BPM Duplicar BPM - + Halve BPM Reducir a la mitad los BPM - + Clear BPM and Beatgrid Borrar el BPM y la cuadrícula de tempo - + Move to the previous item. "Previous" button Mover al elemento anterior. - + &Previous &Previo - + Move to the next item. "Next" button Mover al siguiente elemento. - + &Next &Siguiente @@ -8929,12 +9259,12 @@ Carpeta: %2 Color - + Date added: Fecha de adición: - + Open in File Browser Abrir en el explorador de archivos @@ -8944,12 +9274,17 @@ Carpeta: %2 Tasa de muestreo: - + + Filesize: + + + + Track BPM: BPM de la pista: - + Converts beats detected by the analyzer into a fixed-tempo beatgrid. Use this setting if your tracks have a constant tempo (e.g. most electronic music). Often results in higher quality beatgrids, but will not do well on tracks that have tempo shifts. @@ -8958,90 +9293,90 @@ Usa esta configuración si tus pistas tienen un tempo constante (p. ej., la mayo Generalmente produce cuadrículas de mayor calidad, pero no funciona bien en pistas con cambios de tempo. - + Assume constant tempo Asumir tempo constante - + Sets the BPM to 66% of the current value. Ajusta el BPM al 66% del valor actual. - + 2/3 BPM 2/3 BPM - + Sets the BPM to 150% of the current value. Incrementa el BPM al 150% del valor actual. - + 3/2 BPM 3/2 BPM - + Sets the BPM to 133% of the current value. Incrementa el BPM al 133% del valor actual. - + 4/3 BPM 4/3 BPM - + Tap with the beat to set the BPM to the speed you are tapping. Golpee siguiendo el ritmo para establecer el BPM. - + Tap to Beat Pulse siguiendo el ritmo - + Hint: Use the Library Analyze view to run BPM detection. Truco: Use la vista de análisis en la biblioteca para ejecutar la detección de BPM. - + Save changes and close the window. "OK" button Guardar cambios y cerrar la ventana. - + &OK &OK - + Discard changes and close the window. "Cancel" button Descartar cambios y cerrar. - + Save changes and keep the window open. "Apply" button Guardar cambios y mantener abierta la ventana. - + &Apply &Aplicar - + &Cancel &Cancelar - + (no color) (sin color) @@ -9198,7 +9533,7 @@ Generalmente produce cuadrículas de mayor calidad, pero no funciona bien en pis &OK - + (no color) (sin color) @@ -9400,27 +9735,27 @@ Generalmente produce cuadrículas de mayor calidad, pero no funciona bien en pis EngineBuffer - + Soundtouch (faster) Soundtouch (rápido) - + Rubberband (better) Rubberband (mejor) - + Rubberband R3 (near-hi-fi quality) Banda elástica R3 (calidad casi alta fidelidad) - + Unknown, using Rubberband (better) Desconocido, utilizando Banda elástica (mejor) - + Unknown, using Soundtouch Desconocido, usando Soundtouch @@ -9635,15 +9970,15 @@ Generalmente produce cuadrículas de mayor calidad, pero no funciona bien en pis LegacySkinParser - - + + Safe Mode Enabled Shown when Mixxx is running in safe mode. Modo Seguro Activado - - + + No OpenGL support. Shown when Spinny can not be displayed. Please keep @@ -9655,57 +9990,57 @@ Shown when VuMeter can not be displayed. Please keep de OpenGL. - + activate activar - + toggle conmutar - + right derecha - + left izquierda - + right small derecha pequeño - + left small izquierda pequeño - + up arriba - + down abajo - + up small arriba pequeño - + down small abajo pequeño - + Shortcut Atajo @@ -9713,37 +10048,37 @@ de OpenGL. Library - + This or a parent directory is already in your library. Este directorio o su superior ya se encuentra en tu biblioteca. - + This or a listed directory does not exist or is inaccessible. Aborting the operation to avoid library inconsistencies Este directorio o el indicado no existe o es inaccesible. Cancelando la operación para evitar inconsistencias de biblioteca. - - + + This directory can not be read. Este directorio no puede ser leído. - + An unknown error occurred. Aborting the operation to avoid library inconsistencies Ha ocurrido un error desconocido. Cancelando la operación para evitar inconsistencias de biblioteca - + Can't add Directory to Library No se pudo agregar el directorio a la biblioteca - + Could not add <b>%1</b> to your library. %2 @@ -9752,27 +10087,27 @@ Cancelando la operación para evitar inconsistencias de biblioteca %2 - + Can't remove Directory from Library No se pudo remover el directorio de la biblioteca. - + An unknown error occurred. Ha ocurrido un error desconocido. - + This directory does not exist or is inaccessible. Este directorio no existe o es inaccesible. - + Relink Directory Reenlazar directorio - + Could not relink <b>%1</b> to <b>%2</b>. %3 @@ -9937,12 +10272,12 @@ Do you really want to overwrite it? Pistas Ocultas - + Export to Engine DJ Exportar a Engine DJ - + Tracks Pistas @@ -9950,37 +10285,37 @@ Do you really want to overwrite it? MixxxMainWindow - + Sound Device Busy El dispositivo de sonido está ocupado - + <b>Retry</b> after closing the other application or reconnecting a sound device <b>Reintente</b> luego de cerrar las otras aplicaciones o reconectar un dispositivo de sonido - - - + + + <b>Reconfigure</b> Mixxx's sound device settings. <b>Reconfigure</b> las opciones del dispositivo de sonido de Mixxx. - - + + Get <b>Help</b> from the Mixxx Wiki. Obtenga <b>ayuda</b> del wiki de Mixxx. - - - + + + <b>Exit</b> Mixxx. <b>Salir</b> de Mixxx. - + Retry Reintentar @@ -9990,213 +10325,213 @@ Do you really want to overwrite it? apariencia - + Allow Mixxx to hide the menu bar? ¿Permitir a Mixxx ocultar la barra de menú? - + Hide Always show the menu bar? Ocultar - + Always show Mostrar siempre - + The Mixxx menu bar is hidden and can be toggled with a single press of the <b>Alt</b> key.<br><br>Click <b>%1</b> to agree.<br><br>Click <b>%2</b> to disable that, for example if you don't use Mixxx with a keyboard.<br><br>You can change this setting any time in Preferences -> Interface.<br> Keep formatting tags <b> (bold text) and <br> (linebreak). %1 is the placeholder for the 'Always show' button label La barra de menú de Mixxx ha sido ocultada y se puede alternar presionando la tecla <b>Alt</b>. <br><br>Haz clic en <b>%1</b> para aceptar. <br><br>Haz clic en <b>%2</b> para desactivarlo, por ejemplo si usas Mixxx sin un teclado. <br><br>Puedes cambiar este ajuste en cualquier momento en Preferencias -> Interfaz. <br> - + Ask me again Pregúntame de nuevo - - + + Reconfigure Reconfigurar - + Help Ayuda - - + + Exit Salir - - + + Mixxx was unable to open all the configured sound devices. Mixxx no ha podido activar todos los dispositivos de sonido configurados. - + Sound Device Error Error del dispositivo de sonido - + <b>Retry</b> after fixing an issue <b>Reintenta</b> una vez corregido el problema - + No Output Devices No hay dispositivos de salida - + Mixxx was configured without any output sound devices. Audio processing will be disabled without a configured output device. Mixxx fue configurado sin ningún dispositivo de salida de audio. El procesamiento de audio estará desactivado mientras no se configure un dispositivo de audio de salida. - + <b>Continue</b> without any outputs. <b>Continuar</b> sin ninguna salida. - + Continue Continuar - + Load track to Deck %1 Cargar pista al plato %1 - + Deck %1 is currently playing a track. El plato %1 está reproduciendo una pista. - + Are you sure you want to load a new track? ¿Está seguro de cargar una pista nueva? - + There is no input device selected for this vinyl control. Please select an input device in the sound hardware preferences first. No hay ningún dispositivo de entrada seleccionado para el control por vinilo. Por favor, seleccione un dispositivo de entrada en las preferencias de hardware de sonido. - + There is no input device selected for this passthrough control. Please select an input device in the sound hardware preferences first. No hay ningún dispositivo de entrada seleccionado para el control passthrough. Por favor, seleccione un dispositivo de entrada en las preferencias de hardware de sonido. - + There is no input device selected for this microphone. Do you want to select an input device? No se ha seleccionado un dispositivo de Entrada para este micrófono. ¿Deseas escoger uno ahora? - + There is no input device selected for this auxiliary. Do you want to select an input device? No se ha seleccionado un dispositivo de entrada para este Auxiliar. ¿Deseas escoger uno ahora? - + Scan took %1 El escaneo tomo %1 - + No changes detected. No se han detectado cambios - - + + %1 tracks in total %1 pistas en total - + %1 new tracks found Encontradas %1 pistas nuevas - + %1 moved tracks detected %1 pistas movidas detectadas - + %1 tracks are missing (%2 total) %1 pistas perdidas (%2 en total) - + %1 tracks have been rediscovered %1 pistas han sido reencontradas - + Library scan finished Escaneo de la biblioteca terminado - + Error in skin file Error en el archivo de la apariencia - + The selected skin cannot be loaded. No se ha podido cargar la apariencia seleccionada. - + OpenGL Direct Rendering Renderizado directo de OpenGL - + Direct rendering is not enabled on your machine.<br><br>This means that the waveform displays will be very<br><b>slow and may tax your CPU heavily</b>. Either update your<br>configuration to enable direct rendering, or disable<br>the waveform displays in the Mixxx preferences by selecting<br>"Empty" as the waveform display in the 'Interface' section. El renderizado directo no está habilitado en su máquina. <br><br>Esto significa que las visualizaciones de forma de onda serán muy <br><b>lentas y pueden exigir mucho a su CPU</b>. Actualice su <br>configuración para habilitar la representación directa o desactiv<br> las visualizaciones de forma de onda en las preferencias de Mixxx seleccionando <br>"Vacío" como la pantalla de forma de onda en la sección 'Interfaz'. - - - + + + Confirm Exit Confirmar salida - + A deck is currently playing. Exit Mixxx? Un plato está reproduciendo. ¿Salir de Mixxx? - + A sampler is currently playing. Exit Mixxx? Un reproductor de muestras está en reproducción. ¿Salir de Mixxx? - + The preferences window is still open. La ventana de preferencias todavía está abierta. - + Discard any changes and exit Mixxx? ¿Descartar cambios y salir de Mixxx? @@ -10212,13 +10547,13 @@ Do you want to select an input device? PlaylistFeature - + Lock Bloquear - - + + Playlists Listas de reproducción @@ -10228,58 +10563,63 @@ Do you want to select an input device? Aleatorizar lista de reproducción - + + Adopt current order + + + + Unlock all playlists - + Delete all unlocked playlists - + Unlock Desbloquear - - + + Confirm Deletion - + Do you really want to delete all unlocked playlists? - + Deleting %1 unlocked playlists.<br>This operation can not be undone! - + Playlists are ordered lists of tracks that allow you to plan your DJ sets. Las listas de reproducción son listar ordenadas de pistas que te permiten planificar tus sesiones de DJ. - + It may be necessary to skip some tracks in your prepared playlist or add some different tracks in order to maintain the energy of your audience. Podría ser necesario saltar algunas pistas en tu lista de reproducción planificada, o añadir algunas pistas diferentes, con el fin de mantener la energía de tu audiencia. - + Some DJs construct playlists before they perform live, but others prefer to build them on-the-fly. Algunos DJ preparan listas de reproducción antes de tocar en vivo, pero otros prefieren hacerlo en el momento. - + When using a playlist during a live DJ set, remember to always pay close attention to how your audience reacts to the music you've chosen to play. Cuando uses una lista de reproducción en una actuación en vivo, recuerda siempre prestar mucha atención a cómo reacciona la audiencia con la música que has elegido reproducir. - + Create New Playlist Crear nueva lista de reproducción @@ -10378,59 +10718,59 @@ Do you want to select an input device? QMessageBox - + Upgrading Mixxx Actualizando Mixxx - + Mixxx now supports displaying cover art. Do you want to scan your library for cover files now? Mixxx ha añadido soporte para mostrar carátulas. ¿Desea escanear la biblioteca ahora para encontrar las carátulas? - + Scan Escanear - + Later Después - + Upgrading Mixxx from v1.9.x/1.10.x. Actualizar Mixxx desde v1.9.x/1.10.x. - + Mixxx has a new and improved beat detector. Mixxx ahora tiene un nuevo y mejorado analizador de ritmo. - + When you load tracks, Mixxx can re-analyze them and generate new, more accurate beatgrids. This will make automatic beatsync and looping more reliable. Cuando cargas pistas, Mixxx puede reanalizarlas y generar cuadrículas de tempo nuevas y más precisas. Esto hará que la sincronización y los Loops sean más fiables. - + This does not affect saved cues, hotcues, playlists, or crates. Esto no afecta a los Cues, Hotcues, listas de reproducción o cajas guardados/as. - + If you do not want Mixxx to re-analyze your tracks, choose "Keep Current Beatgrids". You can change this setting at any time from the "Beat Detection" section of the Preferences. Si no quieres que Mixxx reanalize tus pistas, elige "Mantener las cuadrículas de tempo actuales". Puedes cambiar esta configuración en cualquier momento desde la sección "Detección de Beats" de la ventana Preferencias. - + Keep Current Beatgrids Mantener las cuadrículas de tempo actuales - + Generate New Beatgrids Generar nuevas cuadrículas de tempo @@ -10544,69 +10884,82 @@ Do you want to scan your library for cover files now? 14-bit (MSB) - + Main + Audio path indetifier Principal - + Booth + Audio path indetifier Cabina - + Headphones + Audio path indetifier Auriculares - + Left Bus + Audio path indetifier Bus izquierdo - + Center Bus + Audio path indetifier Bus central - + Right Bus + Audio path indetifier Bus derecho - + Invalid Bus + Audio path indetifier Bus inválido - + Deck + Audio path indetifier Plato - + Record/Broadcast + Audio path indetifier Grabación / Emisión en vivo - + Vinyl Control + Audio path indetifier Control de vinilo - + Microphone + Audio path indetifier Micrófono - + Auxiliary + Audio path indetifier Auxiliar - + Unknown path type %1 + Audio path Tipo de ruta %1 desconocida @@ -10949,47 +11302,49 @@ Si la amplitud es cero, este parámetro permite mover la posición manualmente p Ancho - + Metronome Metrónomo - + + The Mixxx Team Equipo de Mixxx - + Adds a metronome click sound to the stream Añade el sonido de tic tac de un metrónomo a la señal de salida - + BPM BPM - + Set the beats per minute value of the click sound Define las pulsaciones por minuto del tic tac - + Sync Sincronizar - + Synchronizes the BPM with the track if it can be retrieved Sincroniza el BPM con el de la pista, si se puede obtener - + + Gain Ganancia - + Set the gain of metronome click sound Configura la ganancia del sonido del metrónomo @@ -11793,14 +12148,14 @@ Todo a la derecha: final del período La grabación OGG no está soportada. La librería OGG/Vorbis podría no inicializarse. - - + + encoder failure falla del codificador - - + + Failed to apply the selected settings. Fallo al aplicar los ajustes seleccionados. @@ -12009,15 +12364,86 @@ para mantener la señal entrante y saliente tan sonoras como sea posible.Encendido + + Auto Gain Control + + + + + AGC + + + + + Auto Gain Control (AGC) automatically adjusts the gain of an audio signal to maintain a consistent output level. + + + + Threshold (dBFS) Límite (Threshold, dBFS) + Threshold Límite + + + The Threshold knob adjusts the level above which the effect starts enhancing the input signal + + + + + Target (dBFS) + + + + + Target + + + + + The Target knob adjusts the desired target level of the output signal + + + + + Gain (dB) + + + + + The Gain knob adjusts the maximum amount of gain that the effect will apply + + + + + Knee (dB) + + + + + The Knee knob defines the range around the Threshold where gain changes are applied gradually, +ensuring smooth transitions and avoiding abrupt level shifts. + + + + + The Attack knob sets the time that determines how fast the auto gain +will set in once the signal exceeds the threshold + + + + + The Release knob sets the time that determines how fast the auto gain will recover from the gain +adjustment once the signal falls under the threshold. Depending on the input signal, short release times +may introduce a 'pumping' effect and/or distortion. + + The Threshold knob adjusts the level above which the compressor starts attenuating the input signal @@ -12048,6 +12474,7 @@ A una proporción de 1:1, la compresión no tiene efecto, ya que la entrada es e Knee (dBFS) + Knee Knee @@ -12058,11 +12485,13 @@ A una proporción de 1:1, la compresión no tiene efecto, ya que la entrada es e La perilla de Knee es utilizada para lograr una curva de compresión redondeada. + Attack (ms) Ataque (ms) + Attack Ataque @@ -12075,11 +12504,13 @@ will set in once the signal exceeds the threshold la compresión una vez que la señal supere el Límite. + Release (ms) Liberación (Release, ms) + Release Release @@ -12110,12 +12541,12 @@ pueden introducir un efecto de "bombeo" y/o distorsión. varios - + built-in nativo - + missing no encontrado @@ -12150,42 +12581,42 @@ pueden introducir un efecto de "bombeo" y/o distorsión. Stem #%1 - + Empty Vacío - + Simple Simple - + Filtered Filtrado - + HSV HSV - + VSyncTest VSyncTest - + RGB RGB - + Stacked Agrupado - + Unknown Desconocido @@ -12446,193 +12877,193 @@ pueden introducir un efecto de "bombeo" y/o distorsión. ShoutConnection - - + + Mixxx encountered a problem Mixxx encontró un problema - + Could not allocate shout_t No se pudo asignar shout_t - + Could not allocate shout_metadata_t No se pudo asignar shout_metadata_t - + Error setting non-blocking mode: Error al establecer el modo "sin bloqueo": - + Error setting tls mode: Error de configuracion del "Modo TLS" - + Error setting hostname! ¡Error al establecer el nombre de host! - + Error setting port! ¡Error al establecer el puerto! - + Error setting password! ¡Error al establecer la contraseña! - + Error setting mount! ¡Error al establecer el punto de montaje! - + Error setting username! ¡Error al establecer el nombre de usuario! - + Error setting stream name! ¡Error al establecer el nombre de la emisión! - + Error setting stream description! ¡Error al establecer la descripción de la emisión! - + Error setting stream genre! ¡Error al establecer el género de la emisión! - + Error setting stream url! ¡Error al establecer la URL de la emisión! - + Error setting stream IRC! ¡Error al configurar el flujo IRC! - + Error setting stream AIM! ¡Error al configurar el flujo AIM! - + Error setting stream ICQ! ¡Error al configurar el flujo ICQ! - + Error setting stream public! Error al iniciar la emisión pública! - + Unknown stream encoding format! ¡Formato de codificación de transmisión desconocido! - + Use a libshout version with %1 enabled Usar una versión de libshout con %1 activado - + Error setting stream encoding format! Error ajuste formato de codificación en emisión! - + Broadcasting at 96 kHz with Ogg Vorbis is not currently supported. Please try a different sample rate or switch to a different encoding. Transmitir a 96 kHz con Ogg Vorbis no está soportado actualmente. Por favor intente una frecuencia de muestreo diferente o cambie a una codificación diferente. - + See https://github.com/mixxxdj/mixxx/issues/5701 for more information. Consulta https://github.com/mixxxdj/mixxx/issues/5701 para más información. - + Unsupported sample rate Tasa de muestreo no soportada - + Error setting bitrate Error al establecer la tasa de bits - + Error: unknown server protocol! ¡Error: protocolo del servidor desconocido! - + Error: Shoutcast only supports MP3 and AAC encoders Error: Shoutcast solo soporta codificadores MP3 y AAC - + Error setting protocol! ¡Error al establecer el protocolo! - + Network cache overflow Caché de red excedido - + Connection error Error de connexión - + One of the Live Broadcasting connections raised this error:<br><b>Error with connection '%1':</b><br> Una de las fuentes de emisión en vivo ha lanzado este error:<br><b>Error con la fuente '%1':</b><br> - + Connection message Mensaje de conexión - + <b>Message from Live Broadcasting connection '%1':</b><br> <b>Mensaje de la fuente de emisión en vivo '%1':</b><br> - + Lost connection to streaming server and %1 attempts to reconnect have failed. Se ha perdido la conexión al servidor de emisión y han fallado %1 intentos de reconexión. - + Lost connection to streaming server. Se ha perdido la conexión al servidor de emisión - + Please check your connection to the Internet. Comprueba tu conexión a internet. - + Can't connect to streaming server No se puede conectar al servidor de emisión - + Please check your connection to the Internet and verify that your username and password are correct. Comprobe a súa conexión a internet e verifique que o seu nome de usuario e contrasinal son correctos. @@ -12640,7 +13071,7 @@ pueden introducir un efecto de "bombeo" y/o distorsión. SoftwareWaveformWidget - + Filtered Filtrada @@ -12648,23 +13079,23 @@ pueden introducir un efecto de "bombeo" y/o distorsión. SoundManager - - + + a device un dispositivo - + An unknown error occurred Ocurrió un error desconocido - + Two outputs cannot share channels on "%1" Dos salidas no pueden usar los mismos canales de %1 - + Error opening "%1" Error al abrir "%1" @@ -12849,7 +13280,7 @@ pueden introducir un efecto de "bombeo" y/o distorsión. - + Spinning Vinyl Vinilo virtual @@ -13031,7 +13462,7 @@ pueden introducir un efecto de "bombeo" y/o distorsión. - + Cover Art Portada @@ -13221,243 +13652,243 @@ pueden introducir un efecto de "bombeo" y/o distorsión. Mantiene la ganancia del filtro de graves en cero, mientras está activo. - + Displays the tempo of the loaded track in BPM (beats per minute). Muestra el tempo de la pista cargada, en BPM (golpes por minuto). - + Tempo Tempo - + Key The musical key of a track Clave - + BPM Tap Golpeo de BPM - + When tapped repeatedly, adjusts the BPM to match the tapped BPM. Cuando se pulsa repetidamente, ajusta el BPM para que coincida con las pulsaciones realizadas. - + Adjust BPM Down Reduce el BPM - + When tapped, adjusts the average BPM down by a small amount. Cuando se pulsa, reduce el BPM promedio un poco. - + Adjust BPM Up Aumenta el BPM - + When tapped, adjusts the average BPM up by a small amount. Cuando se pulsa, aumenta el BPM promedio un poco. - + Adjust Beats Earlier Mueve la cuadrícula un poco antes - + When tapped, moves the beatgrid left by a small amount. En pulsarlo, mueve la cuadrícula de tempo un poco a la izquierda. - + Adjust Beats Later Mueve la cuadrícula un poco después - + When tapped, moves the beatgrid right by a small amount. En pulsarlo, mueve la cuadrícula de tempo un poco a la derecha. - + Tempo and BPM Tap Golpeo de Tempo y BPM - + Show/hide the spinning vinyl section. Mostrar/ocultar la sección de vinilo giratorio. - + Keylock Bloqueo tonal - + Toggling keylock during playback may result in a momentary audio glitch. Alternar el bloqueo tonal durante la reproducción puede producir una pequeña distorsión de audio. - + Toggle visibility of Loop Controls Cambia la visibilidad de los Controles de Bucles - + Toggle visibility of Beatjump Controls Cambia la visibilidad de los Controles de Salto de Ritmo - + Toggle visibility of Rate Control Alternar visibilidad del control de velocidad - + Toggle visibility of Key Controls Cambia la visibilidad de los Controles de Clave - + (while previewing) (mientras se previsualiza) - + Places a cue point at the current position on the waveform. Coloca un punto de Cue en la posición actual de la forma de onda. - + Stops track at cue point, OR go to cue point and play after release (CUP mode). Detiene la pista en el punto cue, O BIEN va al punto cue y reproduce en soltar (modo CUP). - + Set cue point (Pioneer/Mixxx/Numark mode), set cue point and play after release (CUP mode) OR preview from it (Denon mode). Establece el punto Cue (Modo Pioneer/Mixxx/Numark), establece el punto Cue y reproduce en soltar (modo CUP) O BIEN hace una preescuha del mismo (Modo Denon). - + Is latching the playing state. Está reteniendo el estado de reproducción. - + Seeks the track to the cue point and stops. Lleva la pista al punto de Cue y para. - + Play Reproducir - + Plays track from the cue point. Reproduce la pista desde el punto Cue. - + Sends the selected channel's audio to the headphone output, selected in Preferences -> Sound Hardware. Envía el audio del canal seleccionado a la salida de auriculares, seleccionada en Preferencias -> Hardware de Sonido - + (This skin should be updated to use Sync Lock!) (Esta carátula debería actualizarse para utilizar Bloqueo de Sincronización!) - + Enable Sync Lock Habilitar Sync Lock - + Tap to sync the tempo to other playing tracks or the sync leader. Pulse para sincronizar el tiempo con otras pistas en reproducción o líder de sincronización. - + Enable Sync Leader Habilitar Sync Lock - + When enabled, this device will serve as the sync leader for all other decks. Cuando está habilitado, este dispositivo servirá como líder de sicronización para todas las otros platos. - + This is relevant when a dynamic tempo track is loaded to a sync leader deck.In that case, other synced devices will adopt the changing tempo. Es relevante cuando una pista con tempo dinámico es cargada a un deck líder de sincronización. En ese caso, otros dispositivos sincronizados adoptarán el tempo cambiante. - + Changes the track playback speed (affects both the tempo and the pitch). If keylock is enabled, only the tempo is affected. Cambia la velocidad de reproducción de la pista (afecta tanto el tempo como el tono). Si está habilitado el bloqueo, únicamente afecta al tempo. - + Tempo Range Display Visualizador del rango de tempo - + Displays the current range of the tempo slider. Muestra el rango actual del deslizador de tempo. - + Un-ejects when no track is loaded, i.e. reloads the track that was ejected last (of any deck). Se recupera la pista expulsada cuando no hay ninguna pista cargada, es decir, vuelve a cargar la pista que se expulsó en último lugar (de cualquier deck). - + Delete selected hotcue. Elimina la hotcue seleccionada. - + Track Comment Comentario de la pista - + Displays the comment tag of the loaded track. Muestra la etiqueta de comentario de la pista cargada. - + Opens separate artwork viewer. Abre el visualizador separado de carátulas. - + Effect Chain Preset Settings Configuraciones de Preconfiguración de Cadena de Efectos - + Show the effect chain settings menu for this unit. Muestra el menú de las configuraciones de las cadenas de efectos para esta unidad. - + Select and configure a hardware device for this input Selecciona y configura un dispositivo de hardware para esta entrada - + Recording Duration Duración de la grabación @@ -13680,949 +14111,984 @@ pueden introducir un efecto de "bombeo" y/o distorsión. Mantiene la velocidad de reproducción baja (pequeña cantidad) cuando se activa. - + When tapped repeatedly, adjusts the tempo to match the tapped BPM. Cuando se pulsa repetidamente, ajusta el tempo para coincidir con la frecuencia de pulsaciones. + + + Click to open the tempo/BPM editor + + + + + It also shows a colored bar if Key colors are enabled in the Preferences. + + + The bar will be split vertically if the track's key is in between full keys. + + + + Tempo Tap Seguidor de Tempo (Tempo Tap) - + Rate Tap and BPM Tap Frecuencia de pulsaciones y de BPM - + + Set Tempo + + + + + Set the desired tempo in BPM. If the track currently has no BPM detected, set the desired tempo in percent. + + + + Adjust beatgrid by exactly one half beat. Usable only on tracks with constant tempo. Ajusta la cuadrícula de tiempo en exactamente medio beat. Solo se puede usar en pistas con tempo constante - + Revert last BPM/Beatgrid Change Revierte el último cambio de BPM/cuadrícula de tiempo - + Revert last BPM/Beatgrid Change of the loaded track. Revierte el último cambio de BPM/Cuadrícula de tiempo para la pista cargada. - - + + Toggle the BPM/beatgrid lock Cambia el bloqueo de BPM/cuadrícula de tiempo - + Tempo and Rate Tap Toques de Tempo y Frecuencia - + Tempo, Rate Tap and BPM Tap Toques de Tempo, Frecuencia y BPM - + Shift cues earlier Cambia marcas antes - - + + Shift cues imported from Serato or Rekordbox if they are slightly off time. Cambia marcas importadas desde Serato o Rekordbox si están ligeramente desfazadas. - + Left click: shift 10 milliseconds earlier Clic izquierdo: adelantar 10 milisegundos - + Right click: shift 1 millisecond earlier Clic derecho: adelantar 1 milisegundo - + Shift cues later Retrasar cues - + Left click: shift 10 milliseconds later Clic izquierdo: retrasar 10 milisegundos - + Right click: shift 1 millisecond later Clic derecho: retrasar 1 milisegundo - - - + + + Drag a Hotcue button here to continue playing after releasing the Hotcue. Arrastra un botón de Hotcue aquí para continuar reproduciendo después de soltar la hotcue. - + Hint: Change the default cue mode in Preferences -> Decks. Sugerencia: cambie el modo por defecto de las cues en Preferencias -> Platos. - + Mutes the selected channel's audio in the main output. Silencia el audio del canal seleccionado en la salida principal. - + Main mix enable Activador de mezcla principal - + Hold or short click for latching to mix this input into the main output. Clic sostenido o corto para enganchar, para mezclar esta entrada con la salida principal. - + + Reloads the last replaced track. If no track is loaded reloads the second-last ejected track. + + + + If hotcue is a loop cue, toggles the loop and jumps to if the loop is behind the play position. Si la hotcue es una cue de bucle, activa el bucle y salta hacia él si se encuentra detrás de la posición de reproducción. - + If the play position is inside an active loop, stores the loop as loop cue. Si la posición de reproducción se encuentra dentro de un bucle activo, almacena el bucle como una hotcue de bucle. - + Drag this button onto another Hotcue button to move it there (change its index). If the other hotcue is set, the two are swapped. Arrastrar este botón dentro de otro botón de hotcue para moverlo hacia este (cambiando su número). Si la otra hotcue ya se encuentra definida, las dos son intercambiadas. - + Expand/Collapse Samplers Expandir/contraer samplers - + Toggle expanded samplers view. Alternar la vista expandida de los samplers. - + Displays the duration of the running recording. Muestra la duración de la grabación en curso. - + Auto DJ is active Auto DJ se encuentra activo - + Red for when needle skip has been detected. Rojo cuando se detecta un salto de aguja. - + Hot Cue - Track will seek to nearest previous hotcue point. Acceso Directo - La pista buscará el punto anterior más cercano del acceso directo. - + Sets the track Loop-In Marker to the current play position. Establece la marca de inicio de bucle a la posición actual - + Press and hold to move Loop-In Marker. Mantener presionado para mover la marca de inicio de bucle. - + Jump to Loop-In Marker. Ir a la marca de inicio de bucle. - + Sets the track Loop-Out Marker to the current play position. Establece la marca de fin de bucle a la posición actual. - + Press and hold to move Loop-Out Marker. Mantener presionado para mover la marca de fin de bucle. - + Jump to Loop-Out Marker. Ir a la marca de fin de bucle. - + If the track has no beats the unit is seconds. Si la pista no tiene pulsaciones, la unidad es segundos. - + Beatloop Size Pulsaciones del bucle - + Select the size of the loop in beats to set with the Beatloop button. Define el tamaño del bucle en pulsaciones a usar cuando se pulse el botón de bucle de pulsaciones. - + Changing this resizes the loop if the loop already matches this size. Al cambiar este valor, cambiará el tamaño del bucle existente, si tenía el tamaño anterior. - + Halve the size of an existing beatloop, or halve the size of the next beatloop set with the Beatloop button. Reduce a la mitad el tamaño del bucle existente, o del próximo bucle definido con el botón de bucle de pulsaciones. - + Double the size of an existing beatloop, or double the size of the next beatloop set with the Beatloop button. Dobla el tamaño del bucle existente, o del próximo bucle definido con el botón de bucle de pulsaciones. - + Start a loop over the set number of beats. Activa un bucle con la cantidad definida de pulsaciones. - + Temporarily enable a rolling loop over the set number of beats. Activa temporalmente un bucle de continuación con la cantidad de pulsaciones definidas. - + Beatloop Anchor Ancla del bucle de pulsaciones - + Define whether the loop is created and adjusted from its staring point or ending point. Define si el bucle es creado y ajustado desde su punto de inicio o de final. - + Beatjump/Loop Move Size Tamaño del salto de pulsaciones/Desplazamiento del bucle - + Select the number of beats to jump or move the loop with the Beatjump Forward/Backward buttons. Selecciona la cantidad de pulsaciones a saltar o a mover el bucle con los botones de avance/retroceso. - + Beatjump Forward Avanzar en pulsaciones - + Jump forward by the set number of beats. Avanza la pista la cantidad definida de pulsaciones. - + Move the loop forward by the set number of beats. Avanza el bucle en la cantidad definida de pulsaciones. - + Jump forward by 1 beat. Avanza 1 pulsación. - + Move the loop forward by 1 beat. Avanza el bucle 1 pulsación. - + Beatjump Backward Retrocede en pulsaciones - + Jump backward by the set number of beats. Retrocede la cantidad de pulsaciones definida. - + Move the loop backward by the set number of beats. Retrocede el bucle la cantidad de pulsaciones definida. - + Jump backward by 1 beat. Retrocede 1 pulsación. - + Move the loop backward by 1 beat. Retrocede el bucle 1 pulsación. - + Reloop Repite el bucle - + If the loop is ahead of the current position, looping will start when the loop is reached. Si el bucle está por delante de la posición actual, este no se activará hasta que se llege a él. - + Works only if Loop-In and Loop-Out Marker are set. Solo funciona si las marcas de inicio y fin de bucle estan definidas. - + Enable loop, jump to Loop-In Marker, and stop playback. Activa el bucle, va a la posición de inicio de bucle y se detiene. - + Displays the elapsed and/or remaining time of the track loaded. Muestra el tiempo transcurrido y/o restante de la pista cargada. - + Click to toggle between time elapsed/remaining time/both. Pulsar para cambiar entre tiempo transcurrido/restante/ambos - + Hint: Change the time format in Preferences -> Decks. Sugerencia: cambie el formato de tiempo en Preferencias -> Platos. - + Show/hide intro & outro markers and associated buttons. Mostrar/ocultar marcadores de intro y outro, y sus botones asociados. - + + Ensure all waveforms to have the same height across all channels. By default, when displaying the stem controls, waveform for channel that have no stem may render with a shorter height in order to honor the waveform container size you have requested.. + + + + Intro Start Marker Marcador Inicial de Entrada - - - - + + + + If marker is set, jumps to the marker. Si el marcador se encuentra definido, salta al marcador. - - - - + + + + If marker is not set, sets the marker to the current play position. Si el marcador no se encuentra definido, lo configura a la posición de reproducción actual. - - - - + + + + If marker is set, clears the marker. Si el marcador se encuentra definido, lo elimina. - + Intro End Marker Marcador Final de Entrada - + Outro Start Marker Marcador Inicial de Salida - + Outro End Marker Marcador Final de Salida - + Mix Mix - + Adjust the mixing of the dry (input) signal with the wet (output) signal of the effect unit Ajuste la mezcla de la señal seca (entrada) con la señal húmeda (salida) de la unidad de efectos - + D/W mode: Crossfade between dry and wet Modo D/W: fundido cruzado entre seco y húmedo - + D+W mode: Add wet to dry Modo D+W: agregue húmedo a seco - + Mix Mode Modo mezcla - + Adjust how the dry (input) signal is mixed with the wet (output) signal of the effect unit Ajuste cómo se mezcla la señal seca (entrada) con la señal húmeda (salida) de la unidad de efectos - + Dry/Wet mode (crossed lines): Mix knob crossfades between dry and wet Use this to change the sound of the track with EQ and filter effects. Modo seco / húmedo (líneas cruzadas): Mezcle los fundidos cruzados de la perilla entre seco y húmedo. Use esto para cambiar el sonido de la pista con EQ y efectos de filtro. - + Dry+Wet mode (flat dry line): Mix knob adds wet to dry Use this to change only the effected (wet) signal with EQ and filter effects. Modo Seco+Húmedo (línea seca plana): La perilla de mezcla agrega mojado a seco Utiliza esto para cambiar únicamente la señal afectada (mojada) con EQ y efectos de filtrado. - + Route the main mix through this effect unit. Enruta la mezcla principal a través de esta unidad de efectos. - + Route the left crossfader bus through this effect unit. Redirige el bus izquierdo del crossfader a través de esta unidad de efectos. - + Route the right crossfader bus through this effect unit. Enruta el bus derecho del crossfader a través de la unidad de efectos - + Right side active: parameter moves with right half of Meta Knob turn Derecha activo: el parámetro se mueve al mover la mitad derecha del control Meta. - + Stem Label Etiqueta de stem - + Name of the stem stored in the stem file Nombre del stem almacenado en el archivo de stem - + Text is displayed in the stem color stored in the stem file El texto es presentado con el color del stem almacenado en el archivo de stem - + this stem color is also used for the waveform of this stem este color de stem también es usado en la forma de onda de este stem - + Stem Mute Silenciar stem - + Toggle the stem mute/unmuted Alterna el silencio del stem - + Stem Volume Knob Perilla de volumen del stem - + Adjusts the volume of the stem Ajusta el volumen del stem - + Skin Settings Menu Menú de las opciones de la Apariencia - + Show/hide skin settings menu Muestra/esconde el menú de opciones de la Apariencia - + Save Sampler Bank Guardar banco de muestras - + Save the collection of samples loaded in the samplers. Guarda la colección de muestras cargadas en los reproductores de muestras. - + Load Sampler Bank Cargar banco de muestras - + Load a previously saved collection of samples into the samplers. Carga en los reproductores de muestras una colección de muestras guardada en anterioridad. - + Show Effect Parameters Mostrar parámetros de efectos - + Enable Effect Activar efecto - + Meta Knob Link Enlace de la rueda Meta - + Set how this parameter is linked to the effect's Meta Knob. Configura cómo le afecta a este parámetro la rueda Meta. - + Meta Knob Link Inversion Inversión del enlaze de la rueda Meta - + Inverts the direction this parameter moves when turning the effect's Meta Knob. Invierte la dirección en la que se mueve el parámetro al mover la rueda Meta. - + Super Knob Súper Perilla - + Next Chain Siguiente cadena - + Previous Chain Cadena anterior - + Next/Previous Chain Cadena siguiente/anterior - + Clear Borrar - + Clear the current effect. Borra el efecto actual. - + Toggle Conmutar - + Toggle the current effect. Conmuta el efecto actual. - + Next Siguente - + Clear Unit Limpiar unidad - + Clear effect unit. limpiar la unidad de efectos. - + Show/hide parameters for effects in this unit. Muestra/esconde los parámetros de los efectos de esta unidad. - + Toggle Unit Conmutar la unidad - + Enable or disable this whole effect unit. Activa o desactiva la unidad de efectos. - + Controls the Meta Knob of all effects in this unit together. Controla a la vez las Perillas Meta de todos los efectos asociados a esta unidad. - + Load next effect chain preset into this effect unit. Carga el siguiente preajuste de efectos en esta unidad de efectos. - + Load previous effect chain preset into this effect unit. Carga el anterior preajuste de efectos en esta unidad de efectos. - + Load next or previous effect chain preset into this effect unit. Carga el siguiente o anterior preajuste de efectos en esta unidad de efectos. - - - - - - - - - + + + + + + + + + Assign Effect Unit Asignar la unidad de efectos - + Assign this effect unit to the channel output. Asigna esta unidad de efectos a la salida del canal. - + Route the headphone channel through this effect unit. Redirige la salida de auriculares a través de la unidad de efectos. - + Route this deck through the indicated effect unit. Redirige este plato a través de la unidad de efectos indicada. - + Route this sampler through the indicated effect unit. Redirige este reproductor a través de la unidad de efectos indicada. - + Route this microphone through the indicated effect unit. Redirige este micrófono a través de la unidad de efectos indicada. - + Route this auxiliary input through the indicated effect unit. Redirige la entrada auxiliar a través de la unidad de efectos indicada. - + The effect unit must also be assigned to a deck or other sound source to hear the effect. La unidad de efectos debe estar asignada a un plato o otra fuente de sonido para oír el efecto. - + Switch to the next effect. Pasa al siguiente efecto. - + Previous Anterior - + Switch to the previous effect. Pasa al efecto anterior. - + Next or Previous Siguiente o Anterior - + Switch to either the next or previous effect. Pasa al siguiente o anterior efecto. - + Meta Knob Rueda Meta - + Controls linked parameters of this effect Controla los parámetros enlazados del efecto - + Effect Focus Button Botón de foco de efecto - + Focuses this effect. Pone el foco en el efecto. - + Unfocuses this effect. Quita el foco del efecto. - + Refer to the web page on the Mixxx wiki for your controller for more information. Consulta la página web de tu controlador en la wiki del Mixxx para más información - + Effect Parameter parámetro de efecto - + Adjusts a parameter of the effect. Ajusta un parámetro del efecto. - + Inactive: parameter not linked Inactivo: parámetro no enlazado - + Active: parameter moves with Meta Knob Activo: el parámetro se mueve con la rueda Meta - + Left side active: parameter moves with left half of Meta Knob turn Izquierda activo: el parámetro se mueve con la primera mitad de la rueda Meta - + Left and right side active: parameter moves across range with half of Meta Knob turn and back with the other half Izquierda y derecha activo: el parámetro recorre todo el rango con la primera mitad de la rueda Meta, y vueve atrás con la segunda mitad - - + + Equalizer Parameter Kill Parámetro de supresión del ecualizador - - + + Holds the gain of the EQ to zero while active. Mantiene la ganáncia de EQ a cero mientras está activo. - + Quick Effect Super Knob Súper Perilla de Efecto Rápido - + Quick Effect Super Knob (control linked effect parameters). Súper perilla de efecto rápido (controla los parámetros de efecto asociados). - + Hint: Change the default Quick Effect mode in Preferences -> Equalizers. Nota: Puedes cambiar el efecto rápido por defecto en Preferéncias > Ecualizadores. - + Equalizer Parameter ecualizador paramétrico - + Adjusts the gain of the EQ filter. Ajusta la ganáncia del filtro de EQ. - + Hint: Change the default EQ mode in Preferences -> Equalizers. Nota: Se puede cambiar el modo de EQ por defecto en Preferencias > Ecualizadores. - - + + Adjust Beatgrid Ajustar cuadrícula de tempo - + Adjust beatgrid so the closest beat is aligned with the current play position. Ajusta la cuadrícula de tempo para que el golpe más cercano se alinee con la posición actual de reproducción. - - + + Adjust beatgrid to match another playing deck. Ajusta la cuadrícula de tempo para que coincida con otro plato en reproducción. - + If quantize is enabled, snaps to the nearest beat. Si la cuantización está activada, se acerca al compás más cercano. - + Quantize Cuantizar - + Toggles quantization. Conmutar la cuantización. - + Loops and cues snap to the nearest beat when quantization is enabled. Cuando está activada, los bucles y cue se alinean con el compás más cercano. - + Reverse Reversa - + Reverses track playback during regular playback. Reproduce en reversa, durante reproducción normal. - + Puts a track into reverse while being held (Censor). Pone la pista en reversa mientras se mantiene presionado. - + Playback continues where the track would have been if it had not been temporarily reversed. La reproducción se continuará en el punto al que habría llegado la pista si no hubiese puesto en reversa. - - - + + + Play/Pause Reproducir/Pausar - + Jumps to the beginning of the track. Salta al principio de la pista. - + Syncs the tempo (BPM) and phase to that of the other track, if BPM is detected on both. Sincroniza el tempo (BPM) y la fase de la pista con la de la otra pista, si se ha detectado el BPM en ambas. - + Syncs the tempo (BPM) to that of the other track, if BPM is detected on both. Sincroniza el tempo (BPM) de la pista con la de la otra pista, si se ha detectado el BPM en ambas. - + Sync and Reset Key Sincroniza y resetea la tonalidad - + Increases the pitch by one semitone. Incrementa el tono en una seminota. - + Decreases the pitch by one semitone. Decrementa el tono en una seminota. - + Enable Vinyl Control Activar vinilo de control - + When disabled, the track is controlled by Mixxx playback controls. Si está desactivado, los controles de reproducción del Mixxx controlan la pista. - + When enabled, the track responds to external vinyl control. Si está activado, el control de vinilo externo controla la pista. - + Enable Passthrough Activa el paso de audio - + Indicates that the audio buffer is too small to do all audio processing. Indica que el búfer de audio es demasiado pequeño para llevar a cabo todo el procesamiento de audio. - + Displays cover artwork of the loaded track. Muestra la carátula de la pista cargada. - + Displays options for editing cover artwork. Muestra las opciones de edición de carátula. - + Star Rating Puntuación - + Assign ratings to individual tracks by clicking the stars. Asigna la puntuación de cada pista pulsando en las estrellas. @@ -14757,33 +15223,33 @@ Utiliza esto para cambiar únicamente la señal afectada (mojada) con EQ y efect Intensidad de atenuación al usar el Micrófono - + Prevents the pitch from changing when the rate changes. Evita que el tono cambie al cambiar la velocidad. - + Changes the number of hotcue buttons displayed in the deck Cambia el número de botones de acceso directo mostrados en el deck - + Starts playing from the beginning of the track. Comienza la reproducción desde el principio de la pista. - + Jumps to the beginning of the track and stops. Salta al principio de la pista y se detiene. - - + + Plays or pauses the track. Reproduce o pausa la pista. - + (while playing) (estando en reproducción) @@ -14803,215 +15269,215 @@ Utiliza esto para cambiar únicamente la señal afectada (mojada) con EQ y efect Medidor de volumen del canal principal R - + (while stopped) (mientras está parado) - + Cue Cue - + Headphone Auriculares - + Mute Silenciar - + Old Synchronize Sincronización antígua - + Syncs to the first deck (in numerical order) that is playing a track and has a BPM. Se sincroniza con la primera pista (en orden numérico) que está sonando y tiene BPM. - + If no deck is playing, syncs to the first deck that has a BPM. Si no hay pistas en reprodución, se sincroniza con la primera pista que tenga BPM. - + Decks can't sync to samplers and samplers can only sync to decks. Los platos no se pueden sincronizar con los reproductors de muestras, y los reproductors de mezclas sólo se pueden sincronizar con los platos. - + Hold for at least a second to enable sync lock for this deck. Mantener pulsado durante un segundo para activar la sincronización fija para este plato. - + Decks with sync locked will all play at the same tempo, and decks that also have quantize enabled will always have their beats lined up. Los platos con la sincronización bloqueada reproducirán todos al mismo tempo, y si además tienen la quantización activada, también se alinearán los compases. - + Resets the key to the original track key. Resetea la clave musical a la original de la pista. - + Speed Control Control de velocidad - - - + + + Changes the track pitch independent of the tempo. Cambia el tono de la pista independientemente del tempo. - + Increases the pitch by 10 cents. Aumenta el tono 10 centésimas. - + Decreases the pitch by 10 cents. Reduce el tono 10 centésimas. - + Pitch Adjust Ajuste de velocidad - + Adjust the pitch in addition to the speed slider pitch. Ajusta la velocidad añadiendo al cambio del deslizador de velocidad. - + Opens a menu to clear hotcues or edit their labels and colors. Abre un menú para limpiar los accesos directos o editar sus etiquetas y colores. - + Drag this button onto a Play button while previewing to continue playback after release. Arrastre este botón a un boton de Play durante la preescucha para continuar la reproducción tras soltarlo. - + Dragging with Shift key pressed will not start previewing the hotcue. Arrastrar mientras presiona la tecla Shift no iniciará la preescucha de la hotcue. - + Record Mix Grabar mezcla - + Toggle mix recording. Conmutar la grabación de la mezcla. - + Enable Live Broadcasting Activar la emisión en vivo - + Stream your mix over the Internet. Emite tus mezclas por internet. - + Provides visual feedback for Live Broadcasting status: Da una indicación acerca del estado de la emisión en vivo: - + disabled, connecting, connected, failure. desactivado, conectando, conectado, fallo. - + When enabled, the deck directly plays the audio arriving on the vinyl input. Cuando está activado, el plato reproduce directamente el audio que recibe por la entrada de vinilo. - + Playback will resume where the track would have been if it had not entered the loop. La reproducción se reanudará en el punto al que habría llegado la pista si no hubiese entrado en el bucle. - + Loop Exit Salida del bucle - + Turns the current loop off. Desactiva el bucle actual. - + Slip Mode Modo Slip - + When active, the playback continues muted in the background during a loop, reverse, scratch etc. Cuando está activado, la reproducción continúa en silencio mientras dura el bucle, la reproducción hacia atrás, scratch, etc. - + Once disabled, the audible playback will resume where the track would have been. Una vez desactivado, la reproducción (audible) seguirá donde la pista habría estado. - + Track Key The musical key of a track Tonalidad de la pista - + Displays the musical key of the loaded track. Muestra la clave musical de la pista cargada. - + Clock Reloj - + Displays the current time. Muestra la hora actual. - + Audio Latency Usage Meter Medidor de Latencia de Audio - + Displays the fraction of latency used for audio processing. Muestra la parte de latencia usada para el proceso de audio. - + A high value indicates that audible glitches are likely. Un valor alto indica que se pueden percibir ruidos. - + Do not enable keylock, effects or additional decks in this situation. No activar el bloqueo de tonalidad, los efectos o los platos adicionales en este caso. - + Audio Latency Overload Indicator Indicador de Sobrecarga de Latencia de Audio @@ -15051,259 +15517,259 @@ Utiliza esto para cambiar únicamente la señal afectada (mojada) con EQ y efect Activa el control de vinilo desde el Menú -> Opciones. - + Displays the current musical key of the loaded track after pitch shifting. Muestra la clave musical actual para la pista cargada teniendo en cuenta el cambio de tonalidad. - + Fast Rewind Retroceso rápido - + Fast rewind through the track. Rebobinado rápido a través de la pista. - + Fast Forward Avance Rápido - + Fast forward through the track. Avance Rápido a través de la pista. - + Jumps to the end of the track. Salta al final de la pista. - + Sets the pitch to a key that allows a harmonic transition from the other track. Requires a detected key on both involved decks. Cambia la tonalidad a una clave musical que permite la transición harmónica de un plato a otro. Es necesario que se haya detectado la clave en ambos platos. - - - + + + Pitch Control Control del pitch - + Pitch Rate Ritmo de cambio de tonalidad - + Displays the current playback rate of the track. Muestra el ritmo de reproducción actual de la pista. - + Repeat Repetir - + When active the track will repeat if you go past the end or reverse before the start. Estando activo la pista se repetirá si se pasa del final o si retrocede antes del comienzo. - + Eject Expulsar - + Ejects track from the player. Expulsa la pista del reproductor. - + Hotcue Hotcue - + If hotcue is set, jumps to the hotcue. Si el hotcue está establecido, salta al hotcue. - + If hotcue is not set, sets the hotcue to the current play position. Si el hotcue no está establecido, establece el hotcue en la actual posición de reproducción. - + Vinyl Control Mode Modo de control de vinilo - + Absolute mode - track position equals needle position and speed. Modo Absoluto - la posicion dentro del tema corresponde a la posicion y velocidad de la aguja. - + Relative mode - track speed equals needle speed regardless of needle position. Modo Relativo - la velocidad del tema corresponde a la velocidad de la aguja independientemente de la posicion. - + Constant mode - track speed equals last known-steady speed regardless of needle input. Modo Constante - la velocidad del tema corresponde a la ultima velocidad conocida independientemente de lo que se recibe de la aguja. - + Vinyl Status Estado del vinilo - + Provides visual feedback for vinyl control status: Provee retroalimentación visual sobre el estado del control de vinilo: - + Green for control enabled. Verde para control activo. - + Blinking yellow for when the needle reaches the end of the record. Amarillo parpadeante cuando la aguja alcanza el final de la grabación. - + Loop-In Marker Marcador de inicio de bucle - + Loop-Out Marker Marcador de fin de bucle - + Loop Halve Reducir bucle a la mitad - + Halves the current loop's length by moving the end marker. Reduce a la mitad la longitud del bucle actual, moviendo la marca de fin. - + Deck immediately loops if past the new endpoint. El plato vuelve al inicio del bucle inmediatamente si se ha superado el nuevo punto final. - + Loop Double Aumentar bucle al doble - + Doubles the current loop's length by moving the end marker. Aumenta al doble la longitud del bucle actual, moviendo la marca de fin. - + Beatloop Bucle de pulsaciones - + Toggles the current loop on or off. Activa o desactiva el bucle actual. - + Works only if Loop-In and Loop-Out marker are set. Funciona sólo si se han definido las marcas de inicio y fin de bucle. - + Vinyl Cueing Mode Modo de Cue de Vinilo - + Determines how cue points are treated in vinyl control Relative mode: Determina cómo los puntos Cue son tratados en el modo de control Relativo de Vinilos: - + Off - Cue points ignored. Off - Los puntos CUE se ignoran. - + One Cue - If needle is dropped after the cue point, track will seek to that cue point. Un Cue - si se pone la aguja mas allá del punto cue, se irá al punto Cue de la pista. - + Track Time Tiempo de pista - + Track Duration Duración de la Pista - + Displays the duration of the loaded track. Muestra la duración de la pista cargada. - + Information is loaded from the track's metadata tags. Información cargada desde el tag de metadatos de las pistas. - + Track Artist Artista de la pista - + Displays the artist of the loaded track. Muestra el artista de la pista cargada. - + Track Title Título de la pista - + Displays the title of the loaded track. Muestra el título de la pista cargada. - + Track Album Álbum de la pista - + Displays the album name of the loaded track. Muestra el nombre del álbum de la pista cargada. - + Track Artist/Title Artista/Título de la pista - + Displays the artist and title of the loaded track. Muestra el artista y el título de la pista cargada. @@ -15534,47 +16000,75 @@ Carpeta: %2 WCueMenuPopup - + Cue number Número de cue - + Cue position Posición Marca - + Edit cue label Editar etiqueta de marca - + Label... Etiqueta... - + Delete this cue Borrar esta marca - - Toggle this cue type between normal cue and saved loop - Alterna el tipo de esta cue entre cue normal y bucle guardado + + Turn this cue into a regular hotcue + + + + + Turn this cue into a saved loop + + + + + Left-click: Use the old size if known or the current beatloop size as the loop size + + + + + Right-click: Use the current play position as new loop end if it is after the cue + + + + + Turn this cue into a saved forward jump. + + is a linebreak. Try to not to extend the translation beyond the length of the longest source line so the tooltip remains compact. + + + + + Turn this cue into a saved backward jump (one shot loop). + - - Left-click: Use the old size or the current beatloop size as the loop size - Clic izquierdo: usar el tamaño anterior o el del bucle actual como el tamaño de bucle + + Left-click: Use the old size if known or the current play position as jump start position +If this is already a jump cue, swap the jump position and the cue/target position. + - - Right-click: Use the current play position as loop end if it is after the cue - Clic derecho: usar la posición de reproducción actual como final del bucle si se encuentra después de la cue + + Right-click: use current play position as new jump start position + - + Hotcue #%1 Acceso DIrecto #%1 @@ -15876,171 +16370,181 @@ Carpeta: %2 + Show Auto DJ + + + + + Switch to the Auto DJ view. + + + + &Full Screen &Pantalla completa - + Display Mixxx using the full screen Mostrar Mixxx a pantalla completa - + &Options &Opciones - + &Vinyl Control Control de &vinilo - + Use timecoded vinyls on external turntables to control Mixxx Usar vinilos con codigo de tiempo en bandejas externas para controlar Mixxx - + Enable Vinyl Control &%1 Habilita el Control por Vinilo &%1 - + &Record Mix &Grabar Mezcla - + Record your mix to a file Grava a súa mestura a un ficheiro - + Ctrl+R Ctrl+R - + Enable Live &Broadcasting Activar transmisión en &vivo - + Stream your mixes to a shoutcast or icecast server Transmite tus mezclas a un servidor shoutcast o icecast - + Ctrl+L Ctrl+L - + Enable &Keyboard Shortcuts Activar Atajos de &Teclado - + Toggles keyboard shortcuts on or off Activa o desactiva los atajos de teclado - + Ctrl+` Ctrl+` - + &Preferences &Preferencias - + Change Mixxx settings (e.g. playback, MIDI, controls) Cambiar la configuración de Mixxx (p.ej.: reproducción, MIDI, controles) - + &Developer &Desarrollador - + &Reload Skin &Recargar apariencia - + Reload the skin Recargar la apariencia - + Ctrl+Shift+R Ctrl+Mayús+R - + Developer &Tools U&tilidades de desarrollador - + Opens the developer tools dialog Abre el cuadro de diálogo de herramientas de desarrollo - + Ctrl+Shift+T Ctrl+Mayús+T - + Stats: &Experiment Bucket Estadísticas: Contadores &Experiment - + Enables experiment mode. Collects stats in the EXPERIMENT tracking bucket. Activa el modo experimental. Recoje estadísticas en los contadores EXPERIMENT. - + Ctrl+Shift+E Ctrl+Mayús+E - + Stats: &Base Bucket Estadísticas: contadores &Base - + Enables base mode. Collects stats in the BASE tracking bucket. Activa el modo base. Recoje estadísticas en los contadores BASE. - + Ctrl+Shift+B Ctrl+Mayús+B - + Deb&ugger Enabled Dep&uración activada - + Enables the debugger during skin parsing Activa el depurador durante el análisis de la máscara - + Ctrl+Shift+D Ctrl+Mayús+D - + &Help Ay&uda @@ -16074,62 +16578,62 @@ Carpeta: %2 F12 - + &Community Support Soporte &comunitario - + Get help with Mixxx Obtener ayuda con Mixxx - + &User Manual Manual de &usuario - + Read the Mixxx user manual. Lea el manual de usuario de Mixxx. - + &Keyboard Shortcuts Atajos de &Teclado - + Speed up your workflow with keyboard shortcuts. Trabaja más rápidamente usando los atajos de teclado. - + &Settings directory &Directorio de configuración - + Open the Mixxx user settings directory. Abre el directorio de configuración de usuario de Mixxx. - + &Translate This Application &Traducir esta aplicación - + Help translate this application into your language. Ayude a traducir esta aplicación a su idioma. - + &About &Acerca de - + About the application Acerca de la aplicación @@ -16137,25 +16641,25 @@ Carpeta: %2 WOverview - + Passthrough Paso - + Ready to play, analyzing... Text on waveform overview when file is playable but no waveform is visible Listo para reproducir, analizando... - - + + Loading track... Text on waveform overview when file is cached from source Cargando pista... - + Finalizing... Text on waveform overview during finalizing of waveform analysis Finalizando... @@ -16345,625 +16849,640 @@ Carpeta: %2 WTrackMenu - + Load to Cargar en - + Deck Plato - + Sampler Reproductor de muestras - + Add to Playlist Añadir a la lista de reproducción - + Crates Cajas - + Metadata Metadatos - + Update external collections Actualizar colecciones externas - + Cover Art Portada - + Adjust BPM Ajustar BPM - + Select Color Seleccionar color - - + + Analyze Analizar - - + + Delete Track Files Borrar Archivos de Pistas - + Add to Auto DJ Queue (bottom) Añadir a la cola de Auto DJ (al final) - + Add to Auto DJ Queue (top) Añadir a la cola de Auto DJ (al principio) - + Add to Auto DJ Queue (replace) Añadir a la lista de DJ Automático (reemplazar) - + Preview Deck Reproductor de preescucha - + Remove Quitar - + Remove from Playlist Eliminar de la lista de reproducción - + Remove from Crate Eliminar de la caja - + Hide from Library Ocultar de la biblioteca - + Unhide from Library Volver a mostrar en la biblioteca - + Purge from Library Eliminar de la biblioteca - + Move Track File(s) to Trash Mover archivo(s) de seguimiento a la papelera - + Delete Files from Disk Borrar Archivos del Disco - + Properties Propiedades - + Open in File Browser Abrir en el explorador de archivos - + Select in Library Selecciona en Biblioteca - + Import From File Tags Importar de los metadatos del fichero - + Import From MusicBrainz Importar de MusicBrainz - + Export To File Tags Exportar a metadatos del fichero - + BPM and Beatgrid BPM y cuadrícula de tempo - + Play Count Reproducciones - + Rating Calificación - + Cue Point Punto CUE - - + + Hotcues Hotcues - + Intro - + Intro - + Outro - + Outro - + Key Clave - + ReplayGain Reproducir otra vez - + Waveform Forma de onda - + Comment Comentario - + All Todos - + Sort hotcues by position (remove offsets) Ordenar hotcues por posición (removiendo desfases) - + Sort hotcues by position Ordenar hotcues por posición - + Lock BPM Bloquear BPM - + Unlock BPM Desbloquear BPM - + Double BPM Duplicar BPM - + Halve BPM Reducir a la mitad los BPM - + 2/3 BPM 2/3 BPM - + 3/4 BPM 3/4 BPM - + 4/3 BPM 4/3 BPM - + 3/2 BPM 3/2 BPM - + Shift Beatgrid Half Beat Desplazar la cuadrícula de tiempo medio beat - + Reanalyze Reanalizar - + Reanalyze (constant BPM) Reanalizar (BPM constante) - + Reanalyze (variable BPM) Reanalizar (BPM variable) - + Update ReplayGain from Deck Gain Actualizar ReplayGain desde la Ganancia de Plato - + Deck %1 Deck %1 - + Importing metadata of %n track(s) from file tags Importación de metadatos de %n pista a partir de las etiquetas del archivoImportación de metadatos de %n pistas a partir de las etiquetas de los archivosImportación de metadatos de %n pista(s) a partir de las etiquetas del archivo - + Marking metadata of %n track(s) to be exported into file tags Haciendo metadatos de %n pista(s) a ser exportadas en las etiquetas de archivosHaciendo metadatos de %n pista(s) a ser exportadas en las etiquetas de archivosHaciendo metadatos de %n pista(s) a ser exportadas en las etiquetas de archivos - - + + Create New Playlist Crear nueva lista de reproducción - + Enter name for new playlist: Escriba un nombre para la nueva lista de reproducción: - + New Playlist Nueva lista de reproducción - - - + + + Playlist Creation Failed Fallo la creación de lista de Reproducción - + A playlist by that name already exists. Una lista de reproducción ya existe con el mismo nombre - + A playlist cannot have a blank name. El nombre de una lista de reproduccion no puede estar vacío - + An unknown error occurred while creating playlist: Se ha producido un error desconocido al crear la lista de reproducción: - + Add to New Crate Añadir a nueva caja - + Scaling BPM of %n track(s) Escalando BPM de %n pista(s)Escalando BPM de %n pista(s)Escalando BPM de %n pista(s) - + Undo BPM/beats change of %n track(s) Deshacer cambios de BPM/pulsaciones de %n pista(s)Deshacer cambios de BPM/pulsaciones de %n pista(s)Deshacer cambios de BPM/pulsaciones de %n pista(s) - + Locking BPM of %n track(s) Bloqueando BPM de %n% pista(s)Bloqueando BPM de %n% pista(s)Bloqueando BPM de %n% pista(s) - + Unlocking BPM of %n track(s) Desbloqueando BPM de %n pista(s)Desbloqueando BPM de %n pista(s)Desbloqueando BPM de %n pista(s) - + Setting rating of %n track(s) Definiendo evaluación de %n pistaDefiniendo evaluación de %n pistasDefiniendo evaluación de %n pista(s) - + Setting color of %n track(s) configuración de color de %n pista(s)configuración de color de %n pista(s)configuración de color de %n pista(s) - + Resetting play count of %n track(s) Restablecimiento del conteo de reproducción de %n pista(s)Restablecimiento del conteo de reproducción de %n pista(s)Restablecimiento del conteo de reproducción de %n pista(s) - + Resetting beats of %n track(s) Restableciendo beats de %n pista(s)Restableciendo beats de %n pista(s)Restableciendo beats de %n pista(s) - + Clearing rating of %n track(s) Limpiando clasificación de %n pista(s)Limpiando clasificación de %n pista(s)Limpiando clasificación de %n pista(s) - + Clearing comment of %n track(s) Borrando comentarios de %n pistaBorrando comentarios de %n pistasBorrando comentarios de %n pista(s) - + Removing main cue from %n track(s) Eliminando la marca principal de %n pista(s)Eliminando la marca principal de %n pista(s)Eliminando la marca principal de %n pista(s) - + Removing outro cue from %n track(s) Eliminando la marca de salida de %n pista(s)Eliminando la marca de salida de %n pista(s)Eliminando la marca de salida de %n pista(s) - + Removing intro cue from %n track(s) Removiendo la marca de entrada de %n pista(s)Removiendo la marca de entrada de %n pista(s)Removiendo la marca de entrada de %n pista(s) - + Removing loop cues from %n track(s) Removiendo marcas de bucles de %n pista(s)Removiendo marcas de bucles de %n pista(s)Removiendo marcas de bucles de %n pista(s) - + Removing hot cues from %n track(s) Removiendo los hot cues de %n pista(s)Removiendo los hot cues de %n pista(s)Removiendo los accesos directos de %n pista(s) - + Sorting hotcues of %n track(s) by position (remove offsets) Ordenando hotcues de %n pista por posición (removiendo desfases)Ordenando hotcues de %n pistas por posición (removiendo desfases)Ordenando hotcues de %n pistas(s) por posición (removiendo desfases) - + Sorting hotcues of %n track(s) by position Ordenando hotcues de %n pista por posiciónOrdenando hotcues de %n pistas por posiciónOrdenando hotcues de %n pista(s) por posición - + Resetting keys of %n track(s) Restableciendo claves de %n pista(s)Restableciendo claves de %n pista(s)Restableciendo claves de %n pista(s) - + Resetting replay gain of %n track(s) Restablecimiento de la ganancia de reproducción de %n pista(s)Restablecimiento de la ganancia de reproducción de %n pista(s)Restablecimiento de la ganancia de reproducción de %n pista(s) - + Resetting waveform of %n track(s) Restableciendo forma de onda de %n pista(s)Restableciendo forma de onda de %n pista(s)Restableciendo forma de onda de %n pista(s) - + Resetting all performance metadata of %n track(s) Restableciendo meta datos de desempeño de %n pista(s)Restableciendo meta datos de desempeño de %n pista(s)Restableciendo meta datos de desempeño de %n pista(s) - + Move these files to the trash bin? ¿Mover estos archivos a la papelera? - + Permanently delete these files from disk? ¿Eliminar permanentemente estos archivos del disco? - - + + This can not be undone! ¡Esto no puede ser revertido! - + Cancel Cancelar - + Delete Files Eliminar archivos - + Okay Okey - + Move Track File(s) to Trash? ¿Mover los archivos de seguimiento a la papelera? - + Track Files Deleted Pistas eliminadas - + Track Files Moved To Trash Archivos de seguimiento movidos a la papelera - + %1 track files were moved to trash and purged from the Mixxx database. %1 archivos de pista fueron movidos a la papelera y purgados de la base de datos de Mixxx. - + %1 track files were deleted from disk and purged from the Mixxx database. %1 archivos de pistas han sido eliminados y se ha purgado de la base de datos de Mixxx. - + Track File Deleted Archivo de Pista Eliminado - + Track file was deleted from disk and purged from the Mixxx database. El archivo de pista ha sido eliminado del disco y purgado de la base de datos de Mixxx - + The following %1 file(s) could not be deleted from disk No se han podido eliminar del disco los siguientes %1 archivo(s) - + This track file could not be deleted from disk Este archivo de pista no se ha podido borrar del disco - + Remaining Track File(s) Renombrando archivo(s) de pista - + Close Cerrar - + Clear Reset metadata in right click track context menu in library Climpiar - + Loops Bucles - + Clear BPM and Beatgrid Limpia las BPM y la cuadrícula de tiempo - + Undo last BPM/beats change Revertir el último cambio de BPM/pulsaciones - + Move this track file to the trash bin? ¿Mover este archivo de pista a la papelera? - + Permanently delete this track file from disk? ¿Eliminar permanentemente este archivo de pista del disco? - + All decks where these tracks are loaded will be stopped and the tracks will be ejected. Todos los platos donde estas pistas hayan sido cargadas se detendrán, y las pistas serán expulsadas. - + All decks where this track is loaded will be stopped and the track will be ejected. Todos los platos donde esta pista haya sido cargada se detendrán, y la pista será expulsada. - + Removing %n track file(s) from disk... Removiendo %n archivo(s) de pista del disco... - + Note: if you are in the Computer or Recording view you need to click the current view again to see changes. Nota: si estás en la vista Ordenador o Grabación tienes que volver a hacer clic en la vista actual para ver los cambios. - + Track File Moved To Trash Archivo de seguimiento movido a la papelera - + Track file was moved to trash and purged from the Mixxx database. El archivo de seguimiento se ha movido a la papelera y se ha eliminado de la base de datos de Mixxx. - + Don't show again during this session No mostrar nuevamente durante esta sesión - + The following %1 file(s) could not be moved to trash El/los siguiente(s) %1 archivo(s) no pudieron ser movidos a la papelera - + This track file could not be moved to trash Este archivo de pista no se ha podido mover a la papelera + + + Replace current Auto DJ queue? + + + + + Do you want to replace the entire Auto DJ queue with the selected tracks? + + + + + Don't ask again during this session + + - + Setting cover art of %n track(s) Setting cover art of %n track(s)Setting cover art of %n track(s)Poniendo carátulas de %n pista(s) - + Reloading cover art of %n track(s) Reloading cover art of %n track(s)Reloading cover art of %n track(s)Recarga de carátulas de %n pista(s) @@ -17017,37 +17536,37 @@ Carpeta: %2 WTrackTableView - + Confirm track hide Confirmar ocultar pista - + Are you sure you want to hide the selected tracks? ¿Estas seguro de que quieres ocultar las pistas seleccionadas? - + Are you sure you want to remove the selected tracks from AutoDJ queue? ¿Esta seguro de que quiere eliminar las pistas seleccionadas de la cola del AutoDJ? - + Are you sure you want to remove the selected tracks from this crate? Estás seguro que quieres eliminar las pistas seleccionada de este cajón? - + Are you sure you want to remove the selected tracks from this playlist? ¿Esta seguro de que desea eliminar las pistas seleccionadas de la lista de reproducción? - + Don't ask again during this session No volver a preguntar durante esta sesión - + Confirm track removal Confirmar eliminación del track @@ -17055,12 +17574,12 @@ Carpeta: %2 WTrackTableViewHeader - + Show or hide columns. Mostrar u ocultar columnas. - + Shuffle Tracks Mezclar pistas @@ -17068,52 +17587,52 @@ Carpeta: %2 mixxx::CoreServices - + fonts tipos de letra - + database base de datos - + effects efectos - + audio interface interface de sonido - + decks decks - + library Biblioteca - + Choose music library directory Elija el directorio de la biblioteca de la música - + controllers Controladores - + Cannot open database No se puede abrir la base de datos - + Unable to establish a database connection. Mixxx requires QT with SQLite support. Please read the Qt SQL driver documentation for information on how to build it. @@ -17271,6 +17790,24 @@ Pulse Aceptar para salir. La solicitud de la red no ha empezado + + mixxx::qml::QmlApplication + + + Existing user profile detected + + + + + Trying to run Mixxx 3.0 with an existing %0 user profile! <br><br>There is <b>serious risks</b> of data loss and corruption.<br>We recommend using a test profile folder with the '--settings-path' argument. <br><br>If you want to continue at your own risk, run Mixxx with the argument '--allow-dangerous-data-corruption-risk'. + + + + + Ok + + + mixxx::qml::QmlVisibleEffectsModel @@ -17279,4 +17816,27 @@ Pulse Aceptar para salir. Ningún efecto cargado. + + mixxx::qml::QmlWaveformRendererMark + + + Cannot find the marker pixmap + + + + + Cannot find the marker endPixmap + + + + + Cannot find the marker icon + + + + + Cannot find the marker endIcon + + + \ No newline at end of file diff --git a/res/translations/mixxx_es_AR.qm b/res/translations/mixxx_es_AR.qm index 8580654440d4fdcfc04d52db2fdd155a73514f26..560192f4feffb4222ad84e828e928aa73c4b8da0 100644 GIT binary patch delta 25660 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 + + AllTrackLibraryFeature + + + All... + + + AnalysisFeature @@ -19,52 +27,52 @@ AutoDJFeature - + Crates Cajas - + Enable Auto DJ Activar Auto DJ - + Disable Auto DJ Desactivar Auto DJ - + Clear Auto DJ Queue Limpiar la cola de Auto DJ - + Remove Crate as Track Source Remover Crate como Fuente de Archivos - + Auto DJ DJ Automatico - + Confirmation Clear Confirmación limpiada - + Do you really want to remove all tracks from the Auto DJ queue? Realmente quieres eliminar todas las pistas de la cola de Auto DJ? - + This can not be undone. ¡Esto no puede ser revertido! - + Add Crate as Track Source Añadir Crate como Fuente de Archivos @@ -223,7 +231,7 @@ - + Export Playlist Exportar lista de reproducción @@ -277,13 +285,13 @@ - + Playlist Creation Failed Fallo la creación de lista de Reproducción - + An unknown error occurred while creating playlist: Se ha producido un error desconocido al crear la lista de reproducción: @@ -298,12 +306,12 @@ ¿Desea realmente eliminar la lista de reproducción<b>%1</b>? - + M3U Playlist (*.m3u) Lista de reproducción M3U (*.m3u) - + M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Text CSV (*.csv);;Readable Text (*.txt) Lista de reproducción M3U (*.m3u);;Lista de reproducción M3U8 (*.m3u8);;Lista de reproducción PLS (*.pls);;Texto CSV (*.csv);;Texto legible (*.txt) @@ -311,12 +319,12 @@ BaseSqlTableModel - + # # - + Timestamp Marca de tiempo @@ -324,7 +332,7 @@ BaseTrackPlayerImpl - + Couldn't load track. No se ha podido cargar la pista. @@ -362,7 +370,7 @@ Canales - + Color Color @@ -377,7 +385,7 @@ Compositor - + Cover Art Portada @@ -387,7 +395,7 @@ Fecha de Agregado - + Last Played Última reproducción @@ -417,7 +425,7 @@ Clave - + Location Ubicación @@ -427,7 +435,7 @@ Resumen - + Preview Preescucha @@ -467,7 +475,7 @@ Año - + Fetching image ... Tooltip text on the cover art column shown when the cover is read from disk Recuperando imagen... @@ -489,22 +497,22 @@ BroadcastProfile - + Can't use secure password storage: keychain access failed. No se puede usar el almacen de contraseñas seguro: el acceso al almacen ha fallado. - + Secure password retrieval unsuccessful: keychain access failed. No se ha podido obtener la contraseña: El acceso al almacen de claves a fallado. - + Settings error Error de configuración - + <b>Error with settings for '%1':</b><br> <b>Error en ajuste en '%1':</b><br> @@ -592,7 +600,7 @@ - + Computer Equipo @@ -612,17 +620,17 @@ Escanear - + "Computer" lets you navigate, view, and load tracks from folders on your hard disk and external devices. "Computadora" le permite navegar, ver y cargar pistas desde carpetas en su disco duro y dispositivos externos. - + It shows the data from the file tags, not track data from your Mixxx library like other track views. - + If you load a track file from here, it will be added to your library. @@ -735,12 +743,12 @@ Fecha creación - + Mixxx Library Biblioteca de Mixxx - + Could not load the following file because it is in use by Mixxx or another application. No se puede cargar el siguiente archivo porque este es usado por Mixxx u otra aplicación @@ -771,87 +779,92 @@ CmdlineArgs - + Mixxx is an open source DJ software. For more information, see: Mixxx es un software de DJ de código abierto. Para más información, ver: - + Starts Mixxx in full-screen mode Iniciar Mixxx en modo pantalla completa - + Use a custom locale for loading translations. (e.g 'fr') Utiliza un locale personalizado para cargar traducciones. (ej. 'fr') - + Top-level directory where Mixxx should look for its resource files such as MIDI mappings, overriding the default installation location. Directorio de nivel superior donde Mixxx debería buscar sus archivos de recursos tales como mapeos MIDI, anulando la ubicación de instalación predeterminada. - + Path the debug statistics time line is written to Ruta a donde las estadísticas de depuración de la línea de tiempo son escritas. - + Causes Mixxx to display/log all of the controller data it receives and script functions it loads Causa que Mixxx muestre/registre todos los datos del controlador que recibe y las funciones en script que cargue - + The controller mapping will issue more aggressive warnings and errors when detecting misuse of controller APIs. New Controller Mappings should be developed with this option enabled! El mapeo del controlador generará advertencias y errores más agresivos cuando detecte un mal uso de las APIs del controlador. Los nuevos mapeos de controladores deben desarrollarse con esta opción activada. - + Enables developer-mode. Includes extra log info, stats on performance, and a Developer tools menu. Activa el modo Desarrollador. Incluye información adicional en el registros, estadísticas de rendimiento, y un menú de Herramientas para Desarrolladores. - + Top-level directory where Mixxx should look for settings. Default is: Directorio de nivel superior en donde Mixxx debería buscar por sus parámetros. Por defecto es : - + Starts Auto DJ when Mixxx is launched. Arranca Auto DJ cuando se inicia Mixxx - + Rescans the library when Mixxx is launched. Re escanea la librería cuando se inicia Mixxx - + Use legacy vu meter Utilizar el vúmetro antiguo - + Use legacy spinny Usar diseño de plato antiguo - - Loads experimental QML GUI instead of legacy QWidget skin - Carga la Interfaz de Usuario QML experimental, en lugar de la skin de legado QWidget + + Loads the highly unstable 3.0 Mixxx interface, based on QML. You need to use a new setting profile, or run with 'allow-dangerous-data-corruption-risk' to use with the current one. We highly recommend backing up your data if you do so. + - + + Force Mixxx to load an unstable version with an existing user profile from a stable version + + + + Enables safe-mode. Disables OpenGL waveforms, and spinning vinyl widgets. Try this option if Mixxx is crashing on startup. Activa el modo seguro. Desactiva las formas de onda OpenGL y los widgets giratorios de vinilos. Pruebe esta opción si Mixxx no inicia correctamente. - + [auto|always|never] Use colors on the console output. [auto|always|never] Utiliza colores en la salida de la consola. - + Sets the verbosity of command line logging. critical - Critical/Fatal only warning - Above + Warnings @@ -866,32 +879,32 @@ debug - Arriba + Mensajes de Depuración/Desarrollador trace - Arriba + Perfilar mensajes - + Sets the the logging level at which the log buffer is flushed to mixxx.log. <level> is one of the values defined at --log-level above. Establece el nivel del registro en el cual el búfer de registro es descargado el registro de mixxx. <level> es uno de los valores definidos en --nivel de bitácora de arriba. - + Sets the maximum file size of the mixxx.log file in bytes. Use -1 for unlimited. The default is 100 MB as 1e5 or 100000000. Configura el tamaño máximo del archivo mixxx.log en bytes. Usa -1 para ilimitado. Por defecto es 100 MB, como en 1e5 o 100000000. - + Breaks (SIGINT) Mixxx, if a DEBUG_ASSERT evaluates to false. Under a debugger you can continue afterwards. Interrumpe Mixxx (SIGINT), si un DEBUG_ASSERT evalúa como falso. En un depurador puedes continuar después. - + Overrides the default application GUI style. Possible values: %1 Anula el estilo por defecto de la interfaz de usuario de la aplicación. Valores posibles: %1 - + Load the specified music file(s) at start-up. Each file you specify will be loaded into the next virtual deck. Carga los archivos de música especificados al inicio. Cada archivo que especifiques se cargará en el siguiente deck virtual. - + Preview rendered controller screens in the Setting windows. Previsualizar pantallas renderizadas del controlador en las ventanas de Ajustes @@ -984,2557 +997,2585 @@ trace - Arriba + Perfilar mensajes ControlPickerMenu - + Headphone Output Salida de auriculares - - - + + + + Deck %1 + %1 is the deck number 1 ... 4 Deck %1 - + Sampler %1 Sampler %1 - + Preview Deck %1 Vista previa Deck %1 - + Microphone %1 Micrófono %1 - + Auxiliary %1 Auxiliar %1 - + Reset to default Restaurar al valor predeterminado - + Effect Rack %1 Rack de Efecto %1 - + Parameter %1 Parámetro %1 - + Mixer Mezclador - - + + Crossfader Crossfader - + Headphone mix (pre/main) Mezcla en auriculares (pre/main) - + Toggle headphone split cueing Alternar preescucha dividida de auriculares - + Headphone delay Delay en auriculares - + Transport Transporte - + Strip-search through track Navegación por toda la pista - + Play button Botón de reproducción - - + + Set to full volume Ajustar volumen al máximo - - + + Set to zero volume Ajustar volumen al mínimo - + Stop button Botón de paro - + Jump to start of track and play Saltar al inicio y reproducir - + Jump to end of track Saltar al final - + Reverse roll (Censor) button Botón Reproduce hacia atrás (con censura) - + Headphone listen button Botón de escucha de auriculares - - + + Mute button Botón para silenciar MUTE - + Toggle repeat mode Conmutar modo repetición - - + + Mix orientation (e.g. left, right, center) Orientación de la mezcla (p. ej. izquierda, derecha, centro) - - + + Set mix orientation to left Establecer orientación de la mezcla hacia la izquierda - - + + Set mix orientation to center Establecer orientación de la mezcla al centro - - + + Set mix orientation to right Establecer orientación de la mezcla hacia la derecha - + Toggle slip mode Conmutar el modo deslizante - - + + BPM BPM - + Increase BPM by 1 Incrementar BPM en 1 - + Decrease BPM by 1 Disminuir BPM en 1 - + Increase BPM by 0.1 Incrementar BPM en 0,1 - + Decrease BPM by 0.1 Disminuir BPM en 0,1 - + BPM tap button Botón de BPM manual - + Toggle quantize mode Conmutar el modo de cuantización - + One-time beat sync (tempo only) Sincronizar por unica vez (sólo el tempo) - + One-time beat sync (phase only) Sincronizar por unica vez (sólo la fase) - + Toggle keylock mode Conmutar bloqueo tonal - + Equalizers Ecualizadores - + Vinyl Control Control de vinilo - + Toggle vinyl-control cueing mode (OFF/ONE/HOT) Conmutar el modo de puntos cue del control de vinilo (OFF/ONE/HOT) - + Toggle vinyl-control mode (ABS/REL/CONST) Conmutar el control de vinilo (Absoluto/Relativo/Constante) - + Pass through external audio into the internal mixer Pasar audio externo al mezclador interno - + Cues Puntos cue - + Cue button Botón de Cue - + Set cue point Establecer punto de Cue - + Go to cue point Ir al Cue - + Go to cue point and play Ir al Cue y reproducir - + Go to cue point and stop Ir al punto de Cue y parar - + Preview from cue point Preescuchar desde punto Cue - + Cue button (CDJ mode) Boton Cue (modo CDJ) - + Stutter cue Reproducir Cue (Stutter) - + Hotcues Hotcues - + Set, preview from or jump to hotcue %1 Establecer, preescuchar o saltar al hotcue %1 - + Clear hotcue %1 Borrar hotcue %1 - + Set hotcue %1 Establecer Hotcue %1 - + Jump to hotcue %1 Saltar al hotcue %1 - + Jump to hotcue %1 and stop Saltar al hotcue %1 y parar - + Jump to hotcue %1 and play Saltar al hotcue %1 y reproducir - + Preview from hotcue %1 Preescucha Hotcue %1 - - + + Hotcue %1 Hotcue %1 - + Looping Repetición - + Loop In button Botón de inicio del bucle - + Loop Out button Botón de fin de bucle - + Loop Exit button Botón de salida de bucle - + 1/2 1/2 - + 1 1 - + 2 2 - + 4 4 - + 8 8 - + 16 16 - + 32 32 - + 64 64 - + Move loop forward by %1 beats Mover el bucle hacia adelante en %1 pulsaciones - + Move loop backward by %1 beats Mover el bucle hacia atrás en %1 pulsaciones - + Create %1-beat loop Crear bucle de %1 pulsaciones - + Create temporary %1-beat loop roll Crear bucle temporal corredizo de %1 pulsaciones - + Library Biblioteca - + Slot %1 Ranura %1 - + Headphone Mix Mezcla de Auriculares - + Headphone Split Cue Salida partida por auriculares - + Headphone Delay Retardo de auriculares - + Play Reproducir - + Fast Rewind Retroceso rápido - + Fast Rewind button Botón de Retroceso Rápido - + Fast Forward Avance Rápido - + Fast Forward button Botón de Avance Rápido - + Strip Search Navegación de pista - + Play Reverse Reproducir hacia atrás - + Play Reverse button Botón de Reproducción hacia atrás - + Reverse Roll (Censor) Reproducción hacia atrás (Censura) - + Jump To Start Saltar al Inicio - + Jumps to start of track Saltar al inicio de la pista - + Play From Start Reproducir Desde el Comienzo - + Stop Detener - + Stop And Jump To Start Detener y Saltar al Principio - + Stop playback and jump to start of track Detener reproducción y saltar al inicio de la pista - + Jump To End Saltar al final - + Volume Volumen - - - + + + Volume Fader Deslizador de Volumen - - + + Full Volume Volumen máximo - - + + Zero Volume Volumen cero - + Track Gain Ganancia de pista - + Track Gain knob Rueda de ganancia de pista - - + + Mute Silenciar - + Eject Expulsar - - + + Headphone Listen Escuchar por auriculares - + Headphone listen (pfl) button Botón de escucha con auriculares (pfl) - + Repeat Mode Modo de repetición - + Slip Mode Modo Slip - - + + Orientation Orientación - - + + Orient Left Orientar a la izquierda - - + + Orient Center Orientar al centro - - + + Orient Right Orientar a la derecha - + BPM +1 BPM +1 - + BPM -1 BPM -1 - + BPM +0.1 BPM +0,1 - + BPM -0.1 BPM -0,1 - + BPM Tap Golpeo de BPM - + Adjust Beatgrid Faster +.01 Acelerar la cuadrícula de tempo en +,01 - + Increase track's average BPM by 0.01 Incrementa el BPM promedio de la pista en 0,01 - + Adjust Beatgrid Slower -.01 Ralentizar la cuadrícula de tempo en -,01 - + Decrease track's average BPM by 0.01 Disminuye el BPM promedio de la pista en 0,01 - + Move Beatgrid Earlier Mover la cuadrícula de tempo antes en el tiempo - + Adjust the beatgrid to the left Ajusta la cuadrícula de tempo hacia la izquierda - + Move Beatgrid Later Mover la cuadrícula de tempo después en el tiempo - + Adjust the beatgrid to the right Ajusta la cuadrícula de tempo hacia la derecha - + Adjust Beatgrid Ajustar cuadrícula de tempo - + Align beatgrid to current position Alinea la cuadrícula de tempo a la posición actual - + Adjust Beatgrid - Match Alignment Ajustar la cuadrícula de tempo - Concidir alineación - + Adjust beatgrid to match another playing deck. Ajusta la cuadrícula de tempo para que coincida con otro plato en reproducción. - + Quantize Mode Modo Cuantizado - + Sync Sincronizar - + Beat Sync One-Shot Sincronizar pulsaciones al momento - + Sync Tempo One-Shot Sincronizar tempo al momento - + Sync Phase One-Shot Sincronizar Fase al momento - + Pitch control (does not affect tempo), center is original pitch Control de velocidad (No afecta el tempo), al centro es la velocidad original - + Pitch Adjust Ajuste de velocidad - + Adjust pitch from speed slider pitch Ajuste la velocidad desde el deslizador de velocidad - + Match musical key Coincidir con clave musical - + Match Key Cuadrar tonalidad (clave) - + Reset Key Restablecer tonalidad - + Resets key to original Restablecer tonalidad a la original - + High EQ Ecualización de Agudos - + Mid EQ Ecualización de Medios - - + + Main Output Salida Principal - + Main Output Balance Balance Salida Principal - + Main Output Delay Retardo Salida Principal - + Main Output Gain Ganancia de la Salida principal - + Low EQ Ecualización de Graves - + Toggle Vinyl Control Conmutar el control del vinilo - + Toggle Vinyl Control (ON/OFF) Conmutar el control de vinilo (ON/OFF) - + Vinyl Control Mode Modo de control de vinilo - + Vinyl Control Cueing Mode Modo de Cue en Control por Vinilo - + Vinyl Control Passthrough Passthrough en Control por Vinilo - + Vinyl Control Next Deck siguiente plato en Control por vinilo - + Single deck mode - Switch vinyl control to next deck Modo de plato único - Cambia el control de vinilo al siguiente plato - + Cue Cue - + Set Cue Establecer punto cue - + Go-To Cue Ir al Cue - + Go-To Cue And Play Ir a Cue y reproducir - + Go-To Cue And Stop Ir al Cue y detener - + Preview Cue Preescuchar Cue - + Cue (CDJ Mode) Cue (modo CDJ) - + Stutter Cue Reproducir Cue (Stutter) - + Go to cue point and play after release Ir al cue y reproducir en soltar - + Clear Hotcue %1 Borrar hotcue %1 - + Set Hotcue %1 Establecer Hotcue %1 - + Jump To Hotcue %1 Saltar al hotcue %1 - + Jump To Hotcue %1 And Stop Saltar al hotcue %1 y parar - + Jump To Hotcue %1 And Play Saltar al hotcue %1 y reproducir - + Preview Hotcue %1 Preescuchar Hotcue %1 - + Loop In Inicio de bucle - + Loop Out Fin del bucle - + Loop Exit Salida del bucle - + Reloop/Exit Loop Repetir/Salir del bucle - + Loop Halve Reducir bucle a la mitad - + Loop Double Aumentar bucle al doble - + 1/32 1/32 - + 1/16 1/16 - + 1/8 1/8 - + 1/4 1/4 - + Move Loop +%1 Beats Mover bucle en +%1 pulsaciones - + Move Loop -%1 Beats Mover bucle en -%1 pulsaciones - + Loop %1 Beats Bucle de %1 pulsaciones - + Loop Roll %1 Beats Bucle corredizo de %1 pulsaciones - + Add to Auto DJ Queue (bottom) Añadir a la cola de Auto DJ (al final) - + Append the selected track to the Auto DJ Queue Añade las pistas seleccionadas al final de la cola de Auto DJ - + Add to Auto DJ Queue (top) Añadir a la cola de Auto DJ (al principio) - + Prepend selected track to the Auto DJ Queue Añade las pistas seleccionadas al principio de la cola de Auto DJ - + Load Track Cargar Pista - + Load selected track Carga la pista seleccionada - + Load selected track and play Carga la pista seleccionada y la reproduce - - + + Record Mix Grabar mezcla - + Toggle mix recording Conmuta la grabación de la mezcla - + Effects Efectos - - Quick Effects - Efectos rápidos - - - + Deck %1 Quick Effect Super Knob Super rueda de efecto rápido del plato %1 - + + Quick Effect Super Knob (control linked effect parameters) Super rueda de efecto rápido (parámetros de efecto asociado al control) - - + + + + Quick Effect Efecto rápido - + Clear Unit Limpiar unidad - + Clear effect unit Limpia la unidad de efectos - + Toggle Unit Conmutar la unidad - + Dry/Wet Directo/Alterado - + Adjust the balance between the original (dry) and processed (wet) signal. Ajuste entre señal directa (dry) y alterada (wet). - + Super Knob Rueda Súper - + Next Chain Siguiente cadena - + Assign Asignar - + Clear Borrar - + Clear the current effect Borrar el efecto actual - + Toggle Conmutar - + Toggle the current effect Conmutar el efecto actual - + Next Siguente - + Switch to next effect Cambiar al siguiente efecto - + Previous Anterior - + Switch to the previous effect Cambiar al efecto previo - + Next or Previous Siguiente o Anterior - + Switch to either next or previous effect Cambiar a cualquier efecto siguiente o anterior - - + + Parameter Value Valor de Parámetro - - + + Microphone Ducking Strength Intensidad de Atenuación de Micrófono - + Microphone Ducking Mode Modo de Atenuación de Micrófono - + Gain Ganancia - + Gain knob Rueda de Ganancia - + Shuffle the content of the Auto DJ queue Mezcla el contenido de la cola de Auto DJ - + Skip the next track in the Auto DJ queue Salta la siguiente pista de la cola de Auto DJ - + Auto DJ Toggle Conmutar Auto DJ - + Toggle Auto DJ On/Off Conmutar Auto DJ Encendido/Apagado - + Show/hide the microphone & auxiliary section Muestra/oculta la sección del micrófono y el auxiliar - + 4 Effect Units Show/Hide Mostrar/ocultar las 4 Unidades de Efectos - + Switches between showing 2 and 4 effect units Cambia entre mostrar 2 y 4 unidades de efectos - + Mixer Show/Hide Mostrar/Ocultar Mezclador - + Show or hide the mixer. Mostrar u ocultar el mezclador. - + Cover Art Show/Hide (Library) Mostrar/Ocultar Portadas (Biblioteca) - + Show/hide cover art in the library Muestra/oculta las portadas en la biblioteca - + Library Maximize/Restore Maximizar/Restaurar Biblioteca - + Maximize the track library to take up all the available screen space. Maximizar la biblioteca para tomar todo el espacio disponible en pantalla. - + Effect Rack Show/Hide Mostrar/ocultar unidad de efectos - + Show/hide the effect rack Mostrar/ocultar unidad de efectos - + Waveform Zoom Out Alejar zoom de forma de onda - + Headphone Gain Ganancia del auricular - + Headphone gain Ganancia de auriculares - + Tap to sync tempo (and phase with quantize enabled), hold to enable permanent sync Toque sincronización el tempo (y la fase con la cuantización habilitada), mantenga presionado para habilitar la sincronización permanente. - + One-time beat sync tempo (and phase with quantize enabled) toque para sincronizar solo una vez (el tempo y fase) - + Playback Speed Velocidad de reproducción - + Playback speed control (Vinyl "Pitch" slider) Control de velocidad de reproducción (El "Pitch de vinilo) - + Pitch (Musical key) Pitch (tonalidad) - + Increase Speed Incrementar Velocidad - + Adjust speed faster (coarse) Incrementar la velocidad (grueso) - + Increase Speed (Fine) Incrementar velocidad (fino) - + Adjust speed faster (fine) Incrementar la velocidad (fino) - + Decrease Speed Reducir Velocidad - + Adjust speed slower (coarse) Reducir la velocidad (grueso) - + Adjust speed slower (fine) Reducir la velocidad (fino) - + Temporarily Increase Speed Incrementar temporalmente la velocidad - + Temporarily increase speed (coarse) Incremento temporal de velocidad (grueso) - + Temporarily Increase Speed (Fine) Incremento temporal de velocidad (fino) - + Temporarily increase speed (fine) Incremento temporal de velocidad (fino) - + Temporarily Decrease Speed Reducir temporalmente la velocidad - + Temporarily decrease speed (coarse) Reducción temporal de velocidad (grueso) - + Temporarily Decrease Speed (Fine) Reducción temporal de velocidad (fino) - + Temporarily decrease speed (fine) Reducción temporal de velocidad (fino) - - + + Adjust %1 Ajuste %1 - + + Deck %1 Stem %2 + + + + Effect Unit %1 Unidad de Efectos %1 - + Button Parameter %1 Parámetro %1 del botón. - + Skin Apariencia - + Controller Controlador - + Crossfader / Orientation Crossfader / Orientación - + Main Output gain Ganancia Salida Principal - + Main Output balance Balance Salida Principal - + Main Output delay Retardo (delay) de la Salida principal - + Headphone Auriculares - - + + Kill %1 + %1 is "Low EQ" "Mid EQ" or "High EQ" Suprime %1 - + Eject or un-eject track, i.e. reload the last-ejected track (of any deck)<br>Double-press to reload the last replaced track. In empty decks it reloads the second-last ejected track. Expulsa o recupera la pista, es decir, carga la última pista expulsada (de cualquier deck).<br>Pulsa dos veces para cargar la última pista sustituida. En decks vacíos carga la penúltima pista expulsada. - + BPM / Beatgrid BPM / Grilla de tiempo - + Halve BPM Reducir a la mitad los BPM - + Multiply current BPM by 0.5 Multiplica los BPM por 0.5 - + 2/3 BPM 2/3 BPM - + Multiply current BPM by 0.666 Multiplica el BPM actual por 0.666 - + 3/4 BPM 3/4 BPM - + Multiply current BPM by 0.75 Multiplica el BPM actual por 0.75 - + 4/3 BPM 4/3 BPM - + Multiply current BPM by 1.333 Multiplica el BPM actual por 1.333 - + 3/2 BPM 3/2 BPM - + Multiply current BPM by 1.5 Multiplica el BPM actual por 1.5 - + Double BPM Dobla los BPM - + Multiply current BPM by 2 Multiplica el BPM actual por 2 - + Tempo Tap Seguidor de Tempo (Tempo Tap) - + Tempo tap button Botón del Tempo Tap - + Move Beatgrid Desplaza la grilla de tiempo - + Adjust the beatgrid to the left or right Ajusta la grilla de tiempo a la izquierda o a la derecha - + Move Beatgrid Half a Beat Desplaza la cuadricula de tiempo medio pulso - + Adjust the beatgrid by exactly one half beat. Usable only for tracks with constant tempo. Ajusta la cuadrícula de tiempo en exactamente medio beat. Solo se puede usar en pistas con tempo constante. - - + + Toggle the BPM/beatgrid lock Cambia el bloqueo de BPM/grilla de tiempo - + Revert last BPM/Beatgrid Change Revierte el último cambio de BPM/grilla de tiempo - + Revert last BPM/Beatgrid Change of the loaded track. Revierte el último cambio de BPM/grilla de tiempo para la pista cargada - + Sync / Sync Lock Sincronizar / Bloqueo Sincronización - + Internal Sync Leader Sincronización Líder Interno - + Toggle Internal Sync Leader Conmutar el modo Sincronización Líder Interno - - + + Internal Leader BPM BPM Líder Interno - + Internal Leader BPM +1 BPM Líder Interno +1 - + Increase internal Leader BPM by 1 Incrementar BPM líder interno en 1 - + Internal Leader BPM -1 BPM Líder Interno -1 - + Decrease internal Leader BPM by 1 Disminuir BPM líder interno en 1 - + Internal Leader BPM +0.1 BPM Líder Interno +0.1 - + Increase internal Leader BPM by 0.1 Incrementar BPM líder interno en 0.1 - + Internal Leader BPM -0.1 BPM Líder Interno -0.1 - + Decrease internal Leader BPM by 0.1 Disminuir BPM Líder Interno en 0.1 - + Sync Leader Líder de Sicronización - + Sync mode 3-state toggle / indicator (Off, Soft Leader, Explicit Leader) Modo de Sicronización 3-State Toggle / Indicador (Off, Soft Leader, Explicit Leader) - + Speed LFO - + Decrease Speed (Fine) Reducir velocidad (fino) - + Pitch (Musical Key) Tono (Clave Musical) - + Increase Pitch Incrementar Tono - + Increases the pitch by one semitone Incrementar el tono por un semitono - + Increase Pitch (Fine) Incrementar Tono (Fino) - + Increases the pitch by 10 cents Incrementa el tono por 10 céntimos - + Decrease Pitch Decrementar Tono - + Decreases the pitch by one semitone Decrementa el tono por un semitono - + Decrease Pitch (Fine) Decrementar Tono (Fino) - + Decreases the pitch by 10 cents Decrementa el tono por 10 céntimos - + Keylock Bloqueo tonal - + CUP (Cue + Play) CUP (Cue + Play) - + Shift cue points earlier Cambiar puntos cue antes - + Shift cue points 10 milliseconds earlier Cambiar puntos marcado 10 milisegundos antes - + Shift cue points earlier (fine) Desplaza el punto cue hacia atrás (fino) - + Shift cue points 1 millisecond earlier Desplaza los puntos cue 1 milisegundo atrás - + Shift cue points later Cambiar puntos marcado después - + Shift cue points 10 milliseconds later Cambiar puntos marcado 10 milisegundos después - + Shift cue points later (fine) Cambiar puntos marcado después (fino) - + Shift cue points 1 millisecond later Cambiar puntos marcado 1 milisegundo después - - + + Sort hotcues by position Ordenar hotcues por posición - - + + Sort hotcues by position (remove offsets) Ordenar hotcues por posición (removiendo desfases) - + Hotcues %1-%2 Accesos Directos %1-%2 - + Intro / Outro Markers Marcadores de Entrada / Salida - + Intro Start Marker Marcador Inicial de Entrada - + Intro End Marker Marcador Final de Entrada - + Outro Start Marker Marcador Inicial de Salida - + Outro End Marker Marcador Final de Salida - + intro start marker marcador inicial de entrada - + intro end marker Marcador final de entrada - + outro start marker marcador inicial de salida - + outro end marker marcador final de salida - + Activate %1 [intro/outro marker Activa %1 - + Jump to or set the %1 [intro/outro marker Saltar a o poner el %1 - + Set %1 [intro/outro marker Poner %1 - + Set or jump to the %1 [intro/outro marker Establecer o saltar a %1 - + Clear %1 [intro/outro marker Limpiar %1 - + Clear the %1 [intro/outro marker Limpiar el %1 - + if the track has no beats the unit is seconds si la pista no tiene pulsaciones la unidad es segundos - + Loop Selected Beats Bucle de las pulsaciones seleccionadas - + Create a beat loop of selected beat size Crear bucle con el tamaño de pulsaciones seleccionado - + Loop Roll Selected Beats Bucle corredizo de las pulsaciones seleccionadas - + Create a rolling beat loop of selected beat size Crear bucle corredizo con el tamaño de pulsaciones seleccionado - + Loop %1 Beats set from its end point Bucle de %1 pulsaciones desde su punto final - + Loop Roll %1 Beats set from its end point Definir serie de bucles de %1 pulsaciones desde su punto final - + Create %1-beat loop with the current play position as loop end Crea un bucle de 1%-beat con la posición de reproducción actual como final del bucle - + Create temporary %1-beat loop roll with the current play position as loop end Crea un redoble de bucle temporal de %1-pulsos con la posición de reproducción actual como final del bucle - + Loop Beats Bucle de pulsos - + Loop Roll Beats Redoble de bucle de pulsos - + Go To Loop In Ir al Loop de entrada - + Go to Loop In button Ir al botón Loop de entrada - + Go To Loop Out Ir al Loop de salida - + Go to Loop Out button Ir al botón Loop de salida - + Toggle loop on/off and jump to Loop In point if loop is behind play position Activar / Desactivar bucle y saltar al inicio del bucle si está detrás de la posición de reproducción - + Reloop And Stop Reactivar bucle y detener - + Enable loop, jump to Loop In point, and stop Activar bucle, ir al inicio del bucle y detener - + Halve the loop length Reducir a la mitad la longitud del bucle - + Double the loop length Duplicar la longitud del bucle - + Beat Jump / Loop Move Salto de pulsaciones / Movimiento del bucle - + Jump / Move Loop Forward %1 Beats Saltar / Mover bucle hacia delante en %1 pulsaciones - + Jump / Move Loop Backward %1 Beats Saltar / Mover bucle hacia atrás en %1 pulsaciones - + Jump forward by %1 beats, or if a loop is enabled, move the loop forward %1 beats Saltar hacia adelante en %1 pulsaciones, o si el bucle está activado, moverlo hacia adelante en %1 pulsaciones - + Jump backward by %1 beats, or if a loop is enabled, move the loop backward %1 beats Saltar hacia atrás en %1 pulsaciones, o si el bucle está activado, moverlo hacia atrás en %1 pulsaciones - + Beat Jump / Loop Move Forward Selected Beats Saltar en pulsaciones / Mover el bucle adelante en la cantidad seleccionada - + Jump forward by the selected number of beats, or if a loop is enabled, move the loop forward by the selected number of beats Salta hacia adelante la cantidad seleccionada de pulsaciones, o si el bucle está activado, lo mueve hacia adelante la cantidad seleccionada de pulsaciones - + Beat Jump / Loop Move Backward Selected Beats Saltar en pulsaciones / Mover el bucle atrás en la cantidad seleccionada - + Jump backward by the selected number of beats, or if a loop is enabled, move the loop backward by the selected number of beats Salta hacia atrás la cantidad seleccionada de pulsaciones, o si el bucle está activado, lo mueve hacia atrás la cantidad seleccionada de pulsaciones - + Beat Jump Salto de pulso - + Indicate which loop marker remain static when adjusting the size or is inherited from the current position Indica qué marcadores de bucle permanecen estáticos al ajustar el tamaño o es ajustado según la posición actual - + Beat Jump / Loop Move Forward Salto de pulso / Bucle hacia adelante - + Beat Jump / Loop Move Backward Salto de pulso / Bucle hacia atrás - + Loop Move Forward Bucle hacia adelante - + Loop Move Backward Bucle en reversa - + Remove Temporary Loop Remueve el bucle temporal - + Remove the temporary loop Remueve el bucle temporal - + Navigation Navegación - + Move up Hacia arriba - + Equivalent to pressing the UP key on the keyboard Equivalente a pulsar la tecla flecha arriba en el teclado - + Move down Hacia abajo - + Equivalent to pressing the DOWN key on the keyboard Equivalente a pulsar la tecla abajo arriba en el teclado - + Move up/down Arriba/abajo - + Move vertically in either direction using a knob, as if pressing UP/DOWN keys Mover verticalmente en qualquier dirección usando una rueda, como si se pulsaran las teclas flecha arriba/abajo - + Scroll Up Retrocede página - + Equivalent to pressing the PAGE UP key on the keyboard Equivalente a pulsar la tecla retrocede página arriba en el teclado - + Scroll Down Avance página - + Equivalent to pressing the PAGE DOWN key on the keyboard Equivalente a pulsar la tecla avance página en el teclado - + Scroll up/down Arriba/abajo página - + Scroll vertically in either direction using a knob, as if pressing PGUP/PGDOWN keys Mover verticalmente en qualquier dirección usando una rueda, como si se pulsaran las teclas avance/retroceso página - + Move left Izquierda - + Equivalent to pressing the LEFT key on the keyboard Equivalente a pulsar la tecla flecha izquierda en el teclado - + Move right Derecha - + Equivalent to pressing the RIGHT key on the keyboard Equivalente a pulsar la tecla flecha derecha en el teclado - + Move left/right Izquierda/derecha - + Move horizontally in either direction using a knob, as if pressing LEFT/RIGHT keys Mover verticalmente en qualquier dirección usando una rueda, como si se pulsaran las teclas flecha izquierda/derecha - + Move focus to right pane Mover al panel derecho - + Equivalent to pressing the TAB key on the keyboard Equivalente a pulsar la tecla Tabulador del teclado - + Move focus to left pane Mover el foco al panel izquierdo - + Equivalent to pressing the SHIFT+TAB key on the keyboard Equivalente a pulsar las teclas Mayúsculas+Tabulación en el teclado. - + Move focus to right/left pane Mover el foco al panel izquierdo/derecho - + Move focus one pane to right or left using a knob, as if pressing TAB/SHIFT+TAB keys Mueve el foco al panel izquierdo o derecho usando una rueda, como si se pulsara tabulación/mayusculas+tabulación. - + Sort focused column Ordenar columna enfocada - + Sort the column of the cell that is currently focused, equivalent to clicking on its header Ordena la columna de la celda que está enfocada, equivale a hacer click en su encabezado - + Go to the currently selected item Ve al elemento actualmente seleccionado. - + Choose the currently selected item and advance forward one pane if appropriate Elige el elemento actualmente seleccionado y avanza un panel si aplica. - + Load Track and Play Cargar Pista y Reproducir - + Add to Auto DJ Queue (replace) Añadir a la lista de DJ Automático (reemplazar) - + Replace Auto DJ Queue with selected tracks Reemplaza la cola de Auto DJ con las pistas seleccionadas - + Select next search history Selecciona el siguiente historial de búsqueda - + Selects the next search history entry Selecciona la siguiente entrada del historial de búsqueda - + Select previous search history Selecciona el historial de búsqueda anterior - + Selects the previous search history entry Selecciona la entrada previa del historial de búsqueda - + Move selected search entry Mover entrada de búsqueda seleccionada - + Moves the selected search history item into given direction and steps Mueve el elemento de la búsqueda histórica seleccionado en la dirección dada y pasa - + Clear search Eliminar búsqueda - + Clears the search query Limpia la búsqueda - - + + Select Next Color Available Selecciona el próximo color disponible - + Select the next color in the color palette for the first selected track Selecciona el próximo color en la paleta de colores para la primera pista seleccionada - - + + Select Previous Color Available Selecciona el anterior color disponible - + Select the previous color in the color palette for the first selected track Selecciona el color anterior en la paleta de colores para la primera pista seleccionada - + + Quick Effects Deck %1 + + + + Deck %1 Quick Effect Enable Button Botón rápido de activación de efecto de cubierta %1 - + + Quick Effect Enable Button Botón de activación de efectos rápidos - + + Deck %1 Stem %2 Quick Effect Super Knob + + + + + Deck %1 Stem %2 Quick Effect Enable Button + + + + Enable or disable effect processing Activar o desactivar efectos - + Super Knob (control effects' Meta Knobs) Rueda Super (controla las ruedas Meta del efecto) - + Mix Mode Toggle Alternar modo de mezcla - + Toggle effect unit between D/W and D+W modes Cambia la unidad de efectos entre los modos D / W y D + W - + Next chain preset Siguiente preajuste de cadena - + Previous Chain Cadena anterior - + Previous chain preset Anterior preajuste de cadena - + Next/Previous Chain Cadena siguiente/anterior - + Next or previous chain preset Siguiente o anterior preajuste de cadena - - + + Show Effect Parameters Mostrar parámetros de efectos - + Effect Unit Assignment Asignación de la Unidad de Efectos - + Meta Knob Rueda Meta - + Effect Meta Knob (control linked effect parameters) Rueda Meta del efecto (controla los parámetros del efecto asociados) - + Meta Knob Mode Modo de la rueda Meta - + Set how linked effect parameters change when turning the Meta Knob. Define como se comportan los parámetros del efecto enlazados al mover la rueda Meta. - + Meta Knob Mode Invert Modo rueda Meta Invertida - + Invert how linked effect parameters change when turning the Meta Knob. Invierte el sentido en el que se mueven los parámetros del efecto enlazados al girar la rueda Meta. - - + + Button Parameter Value Valor del parámetro del botón - + Microphone / Auxiliary Micrófono/Auxiliar - + Microphone On/Off Micrófono Encendido/Apagado - + Microphone on/off Micrófono encendido/apagado - + Toggle microphone ducking mode (OFF, AUTO, MANUAL) Conmutar modo de atenuación de micrófono (OFF, AUTO, MANUAL) - + Auxiliary On/Off Auxiliar Encendido/Apagado - + Auxiliary on/off Auxiliar encendido/apagado - + Auto DJ DJ Automatico - + Auto DJ Shuffle Auto DJ Aleatorio - + Auto DJ Skip Next Quitar la siguiente en Auto DJ - + Auto DJ Add Random Track Añade una pista aleatoria al Auto DJ - + Add a random track to the Auto DJ queue Añade una pista aleatoria a la fila del Auto DJ - + Auto DJ Fade To Next Autodesvanecer a la siguiente en Auto DJ - + Trigger the transition to the next track Desencadenar la transición a la pista siguiente - + User Interface Interfaz de usuario - + Samplers Show/Hide Mostrar/Ocultar reproductor de muestras - + Show/hide the sampler section Mostrar/Ocultar la sección de reproductor de muestras - + Microphone && Auxiliary Show/Hide keep double & to prevent creation of keyboard accelerator Mostrar/Ocultar Micrófono y Auxiliar - + Waveform Zoom Reset To Default Reestablece el zoom de la forma de onda - + Reset the waveform zoom level to the default value selected in Preferences -> Waveforms Restablece el nivel de zoom de la forma de onda al valor por defecto seleccionado en Preferencias > Formas de onda - + Select the next color in the color palette for the loaded track. Selecciona el próximo color en la paleta de colores para la pista cargada. - + Select previous color in the color palette for the loaded track. Selecciona el color anterior en la paleta de colores para la pista cargada. - + Navigate Through Track Colors Navegar a través de los colores de las pistas - + Select either next or previous color in the palette for the loaded track. Selecciona cualquiera de los colores siguientes o anteriores en la paleta de colores para la pista cargada. - + Start/Stop Live Broadcasting Inicia/Detiene Transmisión En Vivo - + Stream your mix over the Internet. Emite tus mezclas por internet. - + Start/stop recording your mix. Inicia/Detiene la grabación de tu mezcla. - - + + + Deck %1 Stems + + + + + Samplers Muestreadores / Samplers - + Vinyl Control Show/Hide Mostrar/Ocultar Control de Vinilo - + Show/hide the vinyl control section Mostrar/ocultar la sección del control del vinilo - + Preview Deck Show/Hide Ocultar/Mostrar reproductor de preescucha - + Show/hide the preview deck Oculta/Muestra el reproductor de pre-escucha - + Toggle 4 Decks Conmuta el modo de 4 platos - + Switches between showing 2 decks and 4 decks. Cambia entre mostrar 2 platos o 4 platos. - + Cover Art Show/Hide (Decks) Mostrar/ocultar carátulas (en Decks) - + Show/hide cover art in the main decks Mostrar/ocultar carátulas en los platos principales. - + Vinyl Spinner Show/Hide Mostrar/ocultar vinilo - + Show/hide spinning vinyl widget Mostrar/ocultar el widget de vinilo giratorio - + Vinyl Spinners Show/Hide (All Decks) Mostrar/ocultar los vinilos giratorios (todos los platos) - + Show/Hide all spinnies Mostrar/ocultar todos los giradores - + Toggle Waveforms Alternar formas de onda - + Show/hide the scrolling waveforms. Mostrar/ocultar las formas de onda deslizantes - + Waveform zoom Cambia el zoom de la forma de onda - + Waveform Zoom Zoom de forma de onda - + Zoom waveform in Incrementa el zoom de la forma de onda - + Waveform Zoom In Acercar zoom de forma de onda - + Zoom waveform out Reduce el zoom de la forma de onda - + Star Rating Up Agregar una estrella - + Increase the track rating by one star Incrementa la puntuación de la pista en una estrella - + Star Rating Down Quitar una estrella - + Decrease the track rating by one star Reduce la puntuación de la pista en una estrella @@ -3547,6 +3588,159 @@ trace - Arriba + Perfilar mensajes Desconocido + + ControllerHidReportTabsManager + + + Read + + + + + Send + + + + + Payload Size + + + + + bytes + + + + + Byte Position + + + + + Bit Position + + + + + Bit Size + + + + + Logical Min + + + + + Logical Max + + + + + Value + + + + + Physical Min + + + + + Physical Max + + + + + Unit Scaling + + + + + Unit + + + + + Abs/Rel + + + + + + Wrap + + + + + + Linear + + + + + + Preferred + + + + + + Null + + + + + + Volatile + + + + + Usage Page + + + + + Usage + + + + + Relative + + + + + Absolute + + + + + No Wrap + + + + + Non Linear + + + + + No Preferred + + + + + No Null + + + + + Non Volatile + + + ControllerInputMappingTableModel @@ -3682,27 +3876,27 @@ trace - Arriba + Perfilar mensajes ControllerScriptEngineLegacy - + Controller Mapping File Problem Problema del archivo del mapa de controlador - + The mapping for controller "%1" cannot be opened. El mapa del controlador "%1" no puede ser abierto. - + The functionality provided by this controller mapping will be disabled until the issue has been resolved. La funcionalidad provista por este mapa de controlador será desactivada hasta que el problema sea resuelto. - + File: Archivo: - + Error: Error: @@ -3735,7 +3929,7 @@ trace - Arriba + Perfilar mensajes - + Lock Bloquear @@ -3765,7 +3959,7 @@ trace - Arriba + Perfilar mensajes Fuente de pistas para Auto DJ - + Enter new name for crate: Escriba un nuevo nombre para el cajón: @@ -3782,22 +3976,22 @@ trace - Arriba + Perfilar mensajes Importar cajón - + Export Crate Exportar cajón - + Unlock Desbloquear - + An unknown error occurred while creating crate: Ocurrió un error desconocido al crear el cajón: - + Rename Crate Renombrar cajón @@ -3807,28 +4001,28 @@ trace - Arriba + Perfilar mensajes Haz una caja para tu próximo concierto, para tus temas electrohouse favoritos o para tus temas más solicitados. - + Confirm Deletion Confirmar Borrado - - + + Renaming Crate Failed No se pudo renombrar el cajón - + Crate Creation Failed Falló la creación del cajón - + M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Text CSV (*.csv);;Readable Text (*.txt) Lista de reproducción M3U (*.m3u);;Lista de reproducción M3U8 (*.m3u8);;Lista de reproducción PLS (*.pls);;Texto CSV (*.csv);;Texto legible (*.txt) - + M3U Playlist (*.m3u) Lista de reproducción M3U (*.m3u) @@ -3849,17 +4043,17 @@ trace - Arriba + Perfilar mensajes Los cajones permiten organizar tu música como tu quieras! - + Do you really want to delete crate <b>%1</b>? ¿Quieres eliminar la caja <b>%1</b>? - + A crate cannot have a blank name. Los cajones no pueden carecer de nombre. - + A crate by that name already exists. Ya existe un cajón con ese nombre. @@ -3954,12 +4148,12 @@ trace - Arriba + Perfilar mensajes Antiguos colaboradores - + Official Website Sitio web oficial - + Donate Donar @@ -4788,123 +4982,140 @@ Esto podría deberse a que estás usando una skin antigua y este control ya no e DlgPrefBroadcast - + Icecast 2 Icecast 2 - + Shoutcast 1 Shoutcast 1 - + Icecast 1 Icecast 1 - + MP3 MP3 - + Ogg Vorbis Ogg Vorbis - + Opus Opus - + AAC AAC - + HE-AAC HE-AAC - + HE-AACv2 HE-AACv2 - + Automatic Automático - + Mono Mono - + Stereo Estéreo - - - - + + Saving settings failed + + + + + The password for '%1' contains invalid characters. Please enter it again. + +Note: This can for example be invisible linebreaks when using copy/paste. + + + + + + Action failed Acción fallida - + You can't create more than %1 source connections. No se pueden crear más de %1 fuentes de emisión en vivo. - + Source connection %1 Fuente de emisión %1 - + + Settings for %1 + Settings for broadcast profile, %1 is the profile name placeholder + + + + At least one source connection is required. Se requiere almenos una fuente de emisión. - + Are you sure you want to disconnect every active source connection? ¿Seguro que deseas desconectar todas las fuentes de emisión activas? - - + + Confirmation required Se necesita confirmación - + '%1' has the same Icecast mountpoint as '%2'. Two source connections to the same server that have the same mountpoint can not be enabled simultaneously. '%1' tiene el mismo punto de montaje Icecast que '%2'. No se puede establecer dos conexiones simultáneas al mismo servidor, con el mismo punto de montaje. - + Are you sure you want to delete '%1'? ¿Deseas realmente borrar '%1'? - + Renaming '%1' Renombrando '%1' - + New name for '%1': Nuevo nombre para '%1': - + Can't rename '%1' to '%2': name already in use No se puede renombrar '%1' a '%2': el nombre está en uso @@ -4917,27 +5128,27 @@ No se puede establecer dos conexiones simultáneas al mismo servidor, con el mis Preferencias de Transmision en Vivo - + Mixxx Icecast Testing Prueba de «Icecast» de Mixxx - + Public stream Transmisión pública - + http://www.mixxx.org http://www.mixxx.org - + Stream name Nombre de la emisión - + Due to flaws in some streaming clients, updating Ogg Vorbis metadata dynamically can cause listener glitches and disconnections. Check this box to update the metadata anyway. Debido a errores en algunos clientes de transmisión, actualizar dinámicamente los metadatos Ogg Vorbis puede causar interferencias y desconexiones a los oyentes. Marque esta casilla para actualizar los metadatos de todos modos. @@ -4977,67 +5188,72 @@ No se puede establecer dos conexiones simultáneas al mismo servidor, con el mis Opciones para %1 - + + Available fields: $artist, $title, $year, $album, $genre, $bpm + + + + Dynamically update Ogg Vorbis metadata. Actualizar dinámicamente los metadatos Ogg Vorbis. - + ICQ ICQ - + AIM AIM - + Website Sitio web - + Live mix Mezcla en vivo - + IRC IRC - + Select a source connection above to edit its settings here Selecciona en la lista la fuente de emisión que desees editar - + Password storage Guardado de contraseñas - + Plain text Texto simple - + Secure storage (OS keychain) Almacen seguro (almacen de llaves del SO) - + Genre Genero - + Use UTF-8 encoding for metadata. Usar codificación UTF-8 para los metadatos. - + Description Descripción @@ -5063,42 +5279,42 @@ No se puede establecer dos conexiones simultáneas al mismo servidor, con el mis Canales - + Server connection Conexión al servidor - + Type Tipo - + Host Servidor - + Login Identificación - + Mount Montar - + Port Puerto - + Password Contraseña - + Stream info Información de la emisión @@ -5108,17 +5324,17 @@ No se puede establecer dos conexiones simultáneas al mismo servidor, con el mis Metadatos - + Use static artist and title. Usar texto de artista y título fijos - + Static title Titulo fijo - + Static artist Artista fijo @@ -5177,13 +5393,14 @@ No se puede establecer dos conexiones simultáneas al mismo servidor, con el mis DlgPrefColors - - + + + By hotcue number Por número de hotcue - + Color Color @@ -5228,17 +5445,22 @@ No se puede establecer dos conexiones simultáneas al mismo servidor, con el mis + Jump default color + + + + When key colors are enabled, Mixxx will display a color hint associated with each key. Cuando se han habilitado los colores de nota, Mixxx mostrará una pista de color asociada con cada nota. - + Enable Key Colors Activar colores de nota - + Key palette Paleta de notas @@ -5246,114 +5468,114 @@ associated with each key. DlgPrefController - + Apply device settings? ¿Aplicar la configuración del dispositivo? - + Your settings must be applied before starting the learning wizard. Apply settings and continue? La configuración debe ser aplicada antes de iniciar el asistente de aprendizaje. ¿Aplicar la configuración y continuar? - + None Ningún - + %1 by %2 %1 por %2 - + Mapping has been edited Se ha editado el mapeo - + Always overwrite during this session Siempre sobreescribir durante esta sesión - + Save As Guardar como - + Overwrite Sobreescribir - + Save user mapping Guardar mapeo del usuario - + Enter the name for saving the mapping to the user folder. Ingresar el nombre del archivo de mapeo para guardarlo en la carpeta de usuario. - + Saving mapping failed Ha fallado el guardado del mapeo - + A mapping cannot have a blank name and may not contain special characters. El nombre del mapeo no puede estar en blanco, ni contener caracteres especiales. - + A mapping file with that name already exists. Ya existe un archivo de mapeo con el mismo nombre. - + Do you want to save the changes? Quieres guardar los cambios? - + Troubleshooting Solución de problemas - + <font color='#BB0000'><b>If you use this mapping your controller may not work correctly. Please select another mapping or disable the controller.</b></font><br><br>This mapping was designed for a newer Mixxx Controller Engine and cannot be used on your current Mixxx installation.<br>Your Mixxx installation has Controller Engine version %1. This mapping requires a Controller Engine version >= %2.<br><br>For more information visit the wiki page on <a href='https://mixxx.org/wiki/doku.php/controller_engine_versions'>Controller Engine Versions</a>. <font color='#BB0000'><b>Si usas este mapeo, tu controlador podría no funcionar correctamente. Por favor selecciona otro mapeo o deshabilita el controlador. </b></font><br><br>Este mapeo fue diseñado para un nuevo Motor de Controladores de Mixxx, y no puede ser usado con tu instalación actual.<br>Tu instalación de Mixxx posee la version del Motor de Controladores %1. Este mapeo requiere una versión del Motor de controladores >=%2.<br><br>Para más información visita la wiki de <a href='https://mixxx.org/wiki/doku.php/controller_engine_versions'>Versiones del Motor de Controladores</a>. - + Mapping already exists. El mapeo ya existe. - + <b>%1</b> already exists in user mapping folder.<br>Overwrite or save with a new name? <b>%1</b> ya existe en la carpeta de mapeos de usuario. <br>¿Deseas sobreescribir o guardar con otro nombre? - + Clear Input Mappings Limpiar mapeos de Entrada - + Are you sure you want to clear all input mappings? Está seguro de querer eliminar todos los mapeos de entrada? - + Clear Output Mappings Limpiar mapeos de Salida - + Are you sure you want to clear all output mappings? Está seguro de querer eliminar todos los mapeos de salida? @@ -5371,100 +5593,105 @@ Apply settings and continue? Habilitado - + + Refresh mapping list + + + + Device Info Información del dispositivo - + Physical Interface: Interfase física - + Vendor name: Nombre del fabricante: - + Product name: Nombre del producto: - + Vendor ID ID del proveedor - + VID: VID: - + Product ID ID del producto - + PID: PID: - + Serial number: Número de serie: - + USB interface number: Número de interfaz USB - + HID Usage-Page: Página de uso HID - + HID Usage: Uso de HID: - + Description: Descripción: - + Support: Soporte: - + Screens preview Previsualizar pantallas - + Input Mappings Mapeos de Entrada - - + + Search Buscar - - + + Add Añadir - - + + Remove Quitar @@ -5484,17 +5711,17 @@ Apply settings and continue? Cargar Mapeo: - + Mapping Info Información de mapeo - + Author: Autor: - + Name: Nombre: @@ -5504,28 +5731,28 @@ Apply settings and continue? Asistente de aprendizaje (sólo MIDI) - + Data protocol: Protocolo de datos: - + Mapping Files: Archivos de mapeo - + Mapping Settings Configuración de mapeo - - + + Clear All Limpiar todo - + Output Mappings Mapeos de Salida @@ -5540,21 +5767,21 @@ Apply settings and continue? - Mixxx uses "mappings" to connect messages from your controller to controls in Mixxx. If you do not see a mapping for your controller in the "Load Mapping" menu when you click on your controller on the left sidebar, you may be able to download one online from the %1. Place the XML (.xml) and Javascript (.js) file(s) in the "User Mapping Folder" then restart Mixxx. If you download a mapping in a ZIP file, extract the XML and Javascript file(s) from the ZIP file to your "User Mapping Folder" then restart Mixxx. - Mixxx utiliza "mapeos" para conectar mensajes desde tu controlador a los controles en Mixxx. Si no ves un mapeo de tu controlador en el menu "Cargar Mapeo" cuando hagas click en tu controlador en la barra deslizable izquierda, pudieras descargar uno en línea desde %1. Coloca los archivos XML (.xml) y Javascript (.js) en la "Carpeta de Mapeo del Usuario" luego reinicia Mixxx. Si descargaste un mapeo en un archivo ZIP, extrae los archivos XML y Javascript del archivo ZIP a tu "Carpeta de Mapeo del Usuario" y luego reinicia Mixxx. + Mixxx uses "mappings" to connect messages from your controller to controls in Mixxx. If you do not see a mapping for your controller in the "Load Mapping" menu when you click on your controller on the left sidebar, you may be able to download one online from the %1. Place the XML (.xml) and Javascript (.js) file(s) in the "User Mapping Folder" then click the Reload button next to the mapping selector to reload all available mappings. If you download a mapping in a ZIP file, extract the XML and Javascript file(s) from the ZIP file to your "User Mapping Folder" then click the Reload button. + - + Mixxx DJ Hardware Guide Guía de Hardware de DJ de Mixxx - + MIDI Mapping File Format Formato de archivo de mapeos MIDI - + MIDI Scripting with Javascript Programación de Scripts MIDI con Javascript @@ -5723,137 +5950,137 @@ Apply settings and continue? DlgPrefDeck - + Mixxx mode Modo Mixxx - + Mixxx mode (no blinking) Modo Mixxx (sin parpadeo) - + Pioneer mode Modo Pioneer - + Denon mode Modo Denon - + Numark mode Modo Numark - + CUP mode Modo CUP - + mm:ss%1zz - Traditional mm:ss%1zz - Tradicional - + mm:ss - Traditional (Coarse) mm:ss - Tradicional (grueso) - + s%1zz - Seconds s%1zz - Segundos - + sss%1zz - Seconds (Long) sss%1zz - Segundos (Duración) - + s%1sss%2zz - Kiloseconds s%1sss%2zz - Kilosegundos - + Intro start Inicio de la entrada - + Main cue Marcador principal - + First hotcue Primera hotcue - + First sound (skip silence) Primer sonido (saltar silencio) - + Beginning of track Principio de la pista - + Reject Rechazar - + Allow, but stop deck Permitir, pero detener deck - + Allow, play from load point Permitir, reproducir desde el punto de carga - + 4% 4% - + 6% (semitone) 6% (seminota) - + 8% (Technics SL-1210) 8% (Technics SL-1210) - + 10% 10% - + 16% 16% - + 24% 24% - + 50% 50% - + 90% 90% @@ -6313,57 +6540,57 @@ Siempre puedes arrastrar y tirar pistas en la pantalla para clonar una plataform El tamaño mínimo de la apariencia seleccionada es mas grande que la resolucion de su pantalla. - + Allow screensaver to run Permite el salvapantallas - + Prevent screensaver from running Evita que se active el salvapantallas - + Prevent screensaver while playing Evita el salvapantallas mientras reproduce - + Disabled Desactivado - + 2x MSAA 2x MSAA - + 4x MSAA 4x MSAA - + 8x MSAA 8x MSAA - + 16x MSAA 16x MSAA - + This skin does not support color schemes Este skin no soporta esquemas de color - + Information Información - + Mixxx must be restarted before the new locale, scaling or multi-sampling settings will take effect. Mixxx debe ser reiniciado para que el nuevo ajuste de locale, escalado o multi-muestreo tenga efecto. @@ -6591,67 +6818,97 @@ y te permite ajustar su pitch para lograr mezclas armónicas. Ver el manual para más detalles - + Music Directory Added Directorio de Musica Agregado - + You added one or more music directories. The tracks in these directories won't be available until you rescan your library. Would you like to rescan now? Has agregado uno o más directorios de música. Las pistas de estos directorios no estarán disponibles hasta que vuelva a escanear la biblioteca. Le gustaría escanearla ahora? - + Scan Escanear - + Item is not a directory or directory is missing El ítem no es un directorio, o el directorio no ha sido encontrado - + Choose a music directory Elija un directorio de música - + Confirm Directory Removal Confirme la eliminación del directorio - + Mixxx will no longer watch this directory for new tracks. What would you like to do with the tracks from this directory and subdirectories?<ul><li>Hide all tracks from this directory and subdirectories.</li><li>Delete all metadata for these tracks from Mixxx permanently.</li><li>Leave the tracks unchanged in your library.</li></ul>Hiding tracks saves their metadata in case you re-add them in the future. Mixxx no seguirá observando el directorio por nuevas pistas. Que quiere hacer con las pistas de esta carpeta y subcarpetas que están en la biblioteca?<ul><li>Esconder las pistas de la carpeta y subcarpetas.</li><li>Borrar los metadatos de estas pistas de forma permanente.</li><li>Mantener las pistas en la biblioteca.</li></ul>Esconder las pistas permite guardar los metadatos en caso que quiera volverlas a la bibloteca. - + Metadata means all track details (artist, title, playcount, etc.) as well as beatgrids, hotcues, and loops. This choice only affects the Mixxx library. No files on disk will be changed or deleted. Metadatos significa todos los detalles de la pista (artista, titulo, cantidad de reproducciones, etc) como cuadrículas de tempo, hotcues y bucles. Este cambio solo afecta a la biblioteca de Mixxx. Ningun archivo en el disco será cambiado o eliminado. - + Hide Tracks Ocultar Pistas - + Delete Track Metadata Eliminar Metadatos de la pista - + Leave Tracks Unchanged Dejar pistas sin cambios - + Relink music directory to new location Reenlazar el directorio de musica en una nueva ubicación - + + Black + + + + + ExtraBold + + + + + Bold + + + + + SemiBold + + + + + Medium + + + + + Light + + + + Select Library Font Seleccionar la Fuente para Biblioteca @@ -6700,262 +6957,267 @@ y te permite ajustar su pitch para lograr mezclas armónicas. Re-escanear directorios al inicio - + Audio File Formats Formatos de archivo de sonido - + Track Table View Vista Tabla de Pistas - + Track Double-Click Action: Acción doble-click de Pista: - + BPM display precision: Precisión al mostrar los BPM: - + Session History Historia de la sesión - + Track duplicate distance Duplicar Distancia de Pista - + When playing a track again log it to the session history only if more than N other tracks have been played in the meantime Cuando reproduces una pista de nuevo, anéxala al historial de la sesión sólo si más de N otras pistas han sido reproducidas mientras tanto. - + History playlist with less than N tracks will be deleted<br/><br/>Note: the cleanup will be performed during startup and shutdown of Mixxx. Historial de lista de reproducciones con menos de N pistas serán borradas<br/><br/>Nota: la limpieza será realizada durante el inicio y el cierre de Mixxx. - + Delete history playlist with less than N tracks Borrar historial de listado de pistas con menos de N pistas - + Library Font: Fuente para Biblioteca: - + + Show scan summary dialog + + + + Grey out played tracks Oscurecer pistas ya tocadas - + Track Search Buscar una pista - + Enable search completions Permitir completar búsquedas - + Enable search history keyboard shortcuts Activar los atajos de teclado del historial de búsqueda - + Percentage of pitch slider range for 'fuzzy' BPM search: Porcentaje del rango del deslizador de pitch para búsqueda de BPM "difuso-variable". - + This range will be used for the 'fuzzy' BPM search (~bpm:) via the search box, as well as for BPM search in Track context menu > Search related Tracks Este rango será utilizado para buscar BPM "difuso-variable" (~bpm:) en la caja de búsqueda, además de la búsqueda de BPM en el menú contextual Pista > Buscar pistas relacionadas - + Preferred Cover Art Fetcher Resolution Resolución preferida del buscador de carátulas - + Fetch cover art from coverartarchive.com by using Import Metadata From Musicbrainz. Obtén carátulas de coverartarchive.com mediante Import Metadata From Musicbrainz. - + Note: ">1200 px" can fetch up to very large cover arts. Nota: ">1200 px" puede referirse a carátulas muy grandes. - + >1200 px (if available) >1200 px (si está disponible) - + 1200 px (if available) 1200 px (si está disponible) - + 500 px 500 px - + 250 px 250 px - + Settings Directory Directorio de configuración - + The Mixxx settings directory contains the library database, various configuration files, log files, track analysis data, as well as custom controller mappings. El directorio de configuración de Mixxx contiene la base de datos de la biblioteca, varios archivos de configuración, archivos de bitácoras, datos de análisis de pistas, así como mapeos de controladores personalizados. - + Edit those files only if you know what you are doing and only while Mixxx is not running. Edita estos archivos solo si sabes lo que estás haciendo, y solo cuando Mixxx no esté siendo ejecutado. - + Open Mixxx Settings Folder Abrir carpeta de ajustes de Mixxx - + Library Row Height: Alto de la Fila en Biblioteca: - + Use relative paths for playlist export if possible Usar rutas relativas al exportar lista de reproducción cuando sea posible - + ... ... - + px px - + Synchronize library track metadata from/to file tags Sincroniza los metadatos de la librería de pistas desde/hacia las etiquetas de archivos - + Automatically write modified track metadata from the library into file tags and reimport metadata from updated file tags into the library Automáticamente escribe metadatos de las pistas modificadas desde la biblioteca a las etiquetas del archivo y reimporta metadatos desde las etiquetas actualizadas del archivo a la biblioteca - + Synchronize Serato track metadata from/to file tags (experimental) Sincroniza metadatos de la pista de Serato desde/hacia las etiquetas de archivo (experimental) - + Keeps track color, beat grid, bpm lock, cue points, and loops synchronized with SERATO_MARKERS/MARKERS2 file tags.<br/><br/>WARNING: Enabling this option also enables the reimport of Serato metadata after files have been modified outside of Mixxx. On reimport existing metadata in Mixxx is replaced with the metadata found in file tags. Custom metadata not included in file tags like loop colors is lost. Mantiene el color de la pista, la cuadrícula del ritmo, bloqueo de bpm, puntos de marcado, y bucles sincronizados con las etiquetas de archivo SERATO_MARKERS/MARKERS2.<br/><br/>ADVERTENCIA: Habilitando esta opción también habilita la reimportación de metadatos de Serato después de que los archivos han sido modificados afuera de Mixxx. Al reimportar metadatos existentes en Mixxx se remplaza con los metadatos encontrados en las etiquetas de archivos. Los Metadatos personalizados no incluidos en las etiquetas de archivos como los colores de los bucles se perderán. - + Edit metadata after clicking selected track Editar metadatos al clicar en una pista seleccionada - + Search-as-you-type timeout: Tiempo de espera de búsqueda mientras escribe: - + ms ms - + Load track to next available deck Carga la pista en el siguiente plato disponible - + External Libraries Bibliotecas externas - + You will need to restart Mixxx for these settings to take effect. Usted tendrá que reiniciar Mixxx para que esta configuración surta efecto. - + Show Rhythmbox Library Mostrar la librería de Rhythmbox - + Track Metadata Synchronization / Playlists Metadatos de sincronización de pistas / Listas de reproducción - + Add track to Auto DJ queue (bottom) Añadir pista al final de la cola de Auto DJ - + Add track to Auto DJ queue (top) Añadir pista a la cola de Auto DJ (al comienzo) - + Ignore Ignorar - + Show Banshee Library Mostrar la bibiloteca de Banshee - + Show iTunes Library Mostrar la librería de ITunes - + Show Traktor Library Mostrar la librería de Traktor - + Show Rekordbox Library Mostrar la Librería de Rekordbox - + Show Serato Library Mostrar la Librería de Serato - + All external libraries shown are write protected. Todas las bibliotecas mostradas estan protegidas frente a escritura. @@ -7300,33 +7562,33 @@ y te permite ajustar su pitch para lograr mezclas armónicas. DlgPrefRecord - + Choose recordings directory Elegir la carpeta para las grabaciones - - + + Recordings directory invalid Directorio de grabaciones inválido - + Recordings directory must be set to an existing directory. El directorio de Grabaciones debe configurarse a un directorio existente. - + Recordings directory must be set to a directory. El directorio de Grabaciones debe configurarse a un directorio. - + Recordings directory not writable Directorio de Grabaciones no escribible - + You do not have write access to %1. Choose a recordings directory you have write access to. No tienes acceso de escritura en %1. Escoge un directorio de grabación en el que tengas acceso de escritura. @@ -7344,43 +7606,55 @@ y te permite ajustar su pitch para lograr mezclas armónicas. Examinar… - - + + This will include the filepath for each track in the CUE file. +This option makes the CUE file less portable and can reveal personal +information from filepaths (i.e. username) + + + + + Enable File Annotation in CUE file + + + + + Quality Calidad - + Tags Etiquetas - + Title Título - + Author Autor - + Album Album - + Output File Format Formato de fichero de salida - + Compression Compresión - + Lossy Con pérdidas @@ -7395,12 +7669,12 @@ y te permite ajustar su pitch para lograr mezclas armónicas. Directorio: - + Compression Level Nivel de compresión - + Lossless Sin pérdidas @@ -7533,172 +7807,177 @@ El objetivo de sonoridad es aproximado y asume que la preganancia de la pista y DlgPrefSound - + %1 Hz %1 Hz - + Default (long delay) Por Defecto (mas retardo) - + Experimental (no delay) Experimental (sin retardo) - + Disabled (short delay) Desactivado (poco retardo) - + Soundcard Clock Reloj de la tarjeta de sonido - + Network Clock Reloj de red - + Direct monitor (recording and broadcasting only) Monitorización directa (solo grabación y emisión en vivo) - + Disabled Desactivado - + Enabled Habilitado - + Stereo Estéreo - + Mono Mono - + To enable Realtime scheduling (currently disabled), see the %1. Para activar el Planificador en tiempo real (actualmente desactivado), mira %1. - + The %1 lists sound cards and controllers you may want to consider for using Mixxx. %1 muestra una lista de tarjetas de sonido y controladores que podrías considerar para utilizar con Mixxx - + Mixxx DJ Hardware Guide Guía de Hardware DJ de Mixxx - + + Find details in the Mixxx user manual + + + + Information Información - + Mixxx must be restarted before the multi-threaded RubberBand setting change will take effect. Mixxx debe ser reiniciado para que el cambio de ajuste de RubberBand multi-hilo tenga efecto. - + auto (<= 1024 frames/period) auto (<= 1024 fotogramas/período) - + 2048 frames/period 2048 fotogramas/período - + 4096 frames/period 4096 fotogramas/período - + Are you sure? ¿Estás seguro(a)? - + Distribute stereo channels into mono channels for parallel processing will result in a loss of mono compatibility and a diffuse stereo image. It is not recommended during broadcasting or recording. Distribuir los canales estéreo en canales mono para su procesamiento en paralelo podría resultar en la pérdida de la compatibilidad mono y una imagen estéreo difusa. No se recomienda al transmitir en vivo o al grabar. - + Are you sure you wish to proceed? ¿Realmente deseas continuar? - + No No - + Yes, I know what I am doing Sí, se lo que estoy haciendo - + Microphone inputs are out of time in the record & broadcast signal compared to what you hear. La entrada de micrófono está desincronizada respecto la grabación y emisión comparado con la señal que se oye. - + Measure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. Mide la latencia total e introducela en la Compensacion de latencia del micrófono para sincronizar el micrófono. - + Refer to the Mixxx User Manual for details. Para más detalles, lea el manual de usuario de Mixxx. - + Configured latency has changed. La latencia configurada ha cambiado. - + Remeasure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. Vuelve a medir la latencia total e introducela en la Compensacion de latencia del micrófono para sincronizar el micrófono. - + Realtime scheduling is enabled. La planificación en Tiempo Real está activada. - + Main output only Solo Salida principal - + Main and booth outputs Salidas principal y de cabina - + %1 ms %1 ms - + Configuration error Error de configuración @@ -7765,17 +8044,22 @@ El objetivo de sonoridad es aproximado y asume que la preganancia de la pista y ms - + + Deck and Bus outputs are for external mixers. They are post-fader and include effects and crossfader (for Auto DJ). For external mixing, make sure all Mixxx faders and EQ knobs are set to their default position (right- or double-click). + + + + 20 ms 20 ms - + Buffer Underflow Count Contador de vaciado del búfer - + 0 0 @@ -7800,12 +8084,12 @@ El objetivo de sonoridad es aproximado y asume que la preganancia de la pista y Entrada - + System Reported Latency Latencia reportada por el sistema - + Enlarge your audio buffer if the underflow counter is increasing or you hear pops during playback. Aumente su búfer de audio si el contador de desbordamiento está aumentando o escuchas chasquidos durante la reproducción. @@ -7835,7 +8119,7 @@ El objetivo de sonoridad es aproximado y asume que la preganancia de la pista y Diagnóstico y sugerencias - + Downsize your audio buffer to improve Mixxx's responsiveness. Disminuya su búfer de audio para mejorar la velocidad de respuesta de Mixxx. @@ -7882,7 +8166,7 @@ El objetivo de sonoridad es aproximado y asume que la preganancia de la pista y Configuración de Vinilo - + Show Signal Quality in Skin Mostrar Calidad de Señal en la apariencia @@ -7918,46 +8202,51 @@ El objetivo de sonoridad es aproximado y asume que la preganancia de la pista y + Pitch estimator + + + + Deck 1 Plato 1 - + Deck 2 Plato 2 - + Deck 3 Plato 3 - + Deck 4 Plato 4 - + Signal Quality Calidad de Señal - + http://www.xwax.co.uk http://www.xwax.co.uk - + Powered by xwax Con tecnología de xwax - + Hints Sugerencias - + Select sound devices for Vinyl Control in the Sound Hardware pane. Seleccione los dispositivos de sonico para el Control por Vinilo en el Panel de Hardware de Sonido. @@ -7965,58 +8254,58 @@ El objetivo de sonoridad es aproximado y asume que la preganancia de la pista y DlgPrefWaveform - + Filtered Filtrada - + HSV HSV - + RGB RGB - + Top Arriba - + Center Centrado - + Bottom Abajo - + 1/3 of waveform viewer options for "Text height limit" 1/3 de visualización de forma de onda - + Entire waveform viewer Visor de forma de onda completa - + OpenGL not available OpenGL no disponible - + dropped frames fotogramas perdidos - + Cached waveforms occupy %1 MiB on disk. Formas de onda almacenadas en caché ocupan %1 MiB en el disco. @@ -8034,22 +8323,17 @@ El objetivo de sonoridad es aproximado y asume que la preganancia de la pista y Tasa de fotograma - + OpenGL Status Estado de OpenGL - + Displays which OpenGL version is supported by the current platform. Muestra qué versión de OpenGL es soportada por la plataforma actual. - - Normalize waveform overview - Normalizar vista de forma de onda - - - + Average frame rate Refresco de pantalla promedio @@ -8065,7 +8349,7 @@ El objetivo de sonoridad es aproximado y asume que la preganancia de la pista y Nivel de zoom por defecto - + Displays the actual frame rate. Muestra la tasa de refresco actual. @@ -8100,7 +8384,7 @@ El objetivo de sonoridad es aproximado y asume que la preganancia de la pista y Graves - + Show minute markers on waveform overview Mostrar marcadores de minutos en la vista de forma de onda @@ -8145,7 +8429,7 @@ El objetivo de sonoridad es aproximado y asume que la preganancia de la pista y Ganancia visual global - + The waveform overview shows the waveform envelope of the entire track. Select from different types of displays for the waveform overview, which differ primarily in the level of detail shown in the waveform. La vista general de forma de onda muestra la forma de onda de la pista entera. @@ -8214,22 +8498,22 @@ Elija entre los distintos tipos de visualización para la forma de onda, que se pt - + Caching Almacenamiento en caché - + Mixxx caches the waveforms of your tracks on disk the first time you load a track. This reduces CPU usage when you are playing live but requires extra disk space. Mixxx almacena en caché las formas de onda de las pistas en el disco la primera vez que se carga una pista. Esto reduce el uso de la CPU cuando se está jugando en vivo, pero requiere espacio en disco adicional. - + Enable waveform caching Habilitar el almacenamiento en caché de forma de onda - + Generate waveforms when analyzing library Generar formas de onda cuando se analiza la biblioteca @@ -8245,7 +8529,7 @@ Elija entre los distintos tipos de visualización para la forma de onda, que se - + Type Tipo @@ -8275,12 +8559,58 @@ Elija entre los distintos tipos de visualización para la forma de onda, que se Mover the marcador de posición en la pista a la izquierda, derecha o centro (Defabrica). - - Overview Waveforms - Visualizar formas de onda + + Stem + + + + + Channel opacity + + + + + Channel opacity (outline) + + + + + Main stem opacity + + + + + Outline stem opacity + + + + + Move channel to foreground when volume is adjusted + + + + + Overview Waveforms + Visualizar formas de onda + + + + Gain + + + + + Normalize to peak + + + + + Use Waveform "Global" gain and ReplayGain (if enabled) + 'Global' refers to the 'Global' visual gain in the scrolling waveform settings + - + Clear Cached Waveforms Las formas de onda claras en caché @@ -8772,7 +9102,7 @@ Carpeta: %2 BPM: - + Location: Ubicación: @@ -8787,27 +9117,27 @@ Carpeta: %2 Comentarios - + BPM BPM - + Sets the BPM to 75% of the current value. Ajusta el BPM al 75% del valor actual. - + 3/4 BPM 3/4 BPM - + Sets the BPM to 50% of the current value. Ajusta el BPM al 50% del valor actual. - + Displays the BPM of the selected track. Mostrar los BPMs de la pista seleccionada. @@ -8862,49 +9192,49 @@ Carpeta: %2 Genero - + ReplayGain: Ganancia de repetición: - + Sets the BPM to 200% of the current value. Ajusta el BPM al 200% del valor actual. - + Double BPM Duplicar BPM - + Halve BPM Reducir a la mitad los BPM - + Clear BPM and Beatgrid Borrar el BPM y la cuadrícula de tempo - + Move to the previous item. "Previous" button Mover al elemento anterior. - + &Previous &Previo - + Move to the next item. "Next" button Mover al siguiente elemento. - + &Next &Siguiente @@ -8929,12 +9259,12 @@ Carpeta: %2 Color - + Date added: Fecha de adición: - + Open in File Browser Abrir en el explorador de archivos @@ -8944,12 +9274,17 @@ Carpeta: %2 Tasa de muestreo: - + + Filesize: + + + + Track BPM: BPM de la pista: - + Converts beats detected by the analyzer into a fixed-tempo beatgrid. Use this setting if your tracks have a constant tempo (e.g. most electronic music). Often results in higher quality beatgrids, but will not do well on tracks that have tempo shifts. @@ -8958,90 +9293,90 @@ Utiliza este ajuste si tus pistas tienen un tempo constante (ej. la mayoría de A menudo resulta en una cuadrícula de mayor calidad, pero no lo hacemos bien en pistas que tienen cambios de tempo. - + Assume constant tempo Asumir tempo constante - + Sets the BPM to 66% of the current value. Ajusta el BPM al 66% del valor actual. - + 2/3 BPM 2/3 BPM - + Sets the BPM to 150% of the current value. Incrementa el BPM al 150% del valor actual. - + 3/2 BPM 3/2 BPM - + Sets the BPM to 133% of the current value. Incrementa el BPM al 133% del valor actual. - + 4/3 BPM 4/3 BPM - + Tap with the beat to set the BPM to the speed you are tapping. Golpee siguiendo el ritmo para establecer el BPM. - + Tap to Beat Pulse siguiendo el ritmo - + Hint: Use the Library Analyze view to run BPM detection. Truco: Use la vista de análisis en la biblioteca para ejecutar la detección de BPM. - + Save changes and close the window. "OK" button Guardar cambios y cerrar la ventana. - + &OK &OK - + Discard changes and close the window. "Cancel" button Descartar cambios y cerrar. - + Save changes and keep the window open. "Apply" button Guardar cambios y mantener abierta la ventana. - + &Apply &Aplicar - + &Cancel &Cancelar - + (no color) (sin color) @@ -9198,7 +9533,7 @@ A menudo resulta en una cuadrícula de mayor calidad, pero no lo hacemos bien en &OK - + (no color) (sin color) @@ -9400,27 +9735,27 @@ A menudo resulta en una cuadrícula de mayor calidad, pero no lo hacemos bien en EngineBuffer - + Soundtouch (faster) Soundtouch (rápido) - + Rubberband (better) Rubberband (mejor) - + Rubberband R3 (near-hi-fi quality) Banda elástica R3 (calidad casi alta fidelidad) - + Unknown, using Rubberband (better) Desconocido, utilizando Banda elástica (mejor) - + Unknown, using Soundtouch Desconocido, usando Soundtouch @@ -9635,15 +9970,15 @@ A menudo resulta en una cuadrícula de mayor calidad, pero no lo hacemos bien en LegacySkinParser - - + + Safe Mode Enabled Shown when Mixxx is running in safe mode. Modo Seguro Activado - - + + No OpenGL support. Shown when Spinny can not be displayed. Please keep @@ -9655,57 +9990,57 @@ Shown when VuMeter can not be displayed. Please keep de OpenGL. - + activate activar - + toggle conmutar - + right derecha - + left izquierda - + right small derecha pequeño - + left small izquierda pequeño - + up arriba - + down abajo - + up small arriba pequeño - + down small abajo pequeño - + Shortcut Atajo @@ -9713,37 +10048,37 @@ de OpenGL. Library - + This or a parent directory is already in your library. Este directorio o su superior ya se encuentra en tu biblioteca. - + This or a listed directory does not exist or is inaccessible. Aborting the operation to avoid library inconsistencies Este directorio o el indicado no existe o es inaccesible. Cancelando la operación para evitar inconsistencias de biblioteca. - - + + This directory can not be read. Este directorio no puede ser leído. - + An unknown error occurred. Aborting the operation to avoid library inconsistencies Ha ocurrido un error desconocido. Cancelando la operación para evitar inconsistencias de biblioteca - + Can't add Directory to Library No se pudo agregar el directorio a la biblioteca - + Could not add <b>%1</b> to your library. %2 @@ -9752,27 +10087,27 @@ Cancelando la operación para evitar inconsistencias de biblioteca %2 - + Can't remove Directory from Library No se pudo remover el directorio de la biblioteca. - + An unknown error occurred. Ha ocurrido un error desconocido. - + This directory does not exist or is inaccessible. Este directorio no existe o es inaccesible. - + Relink Directory Reenlazar directorio - + Could not relink <b>%1</b> to <b>%2</b>. %3 @@ -9937,12 +10272,12 @@ Do you really want to overwrite it? Pistas Ocultas - + Export to Engine DJ Exportar a Engine DJ - + Tracks Pistas @@ -9950,37 +10285,37 @@ Do you really want to overwrite it? MixxxMainWindow - + Sound Device Busy El dispositivo de sonido está ocupado - + <b>Retry</b> after closing the other application or reconnecting a sound device <b>Reintente</b> luego de cerrar las otras aplicaciones o reconectar un dispositivo de sonido - - - + + + <b>Reconfigure</b> Mixxx's sound device settings. <b>Reconfigure</b> las opciones del dispositivo de sonido de Mixxx. - - + + Get <b>Help</b> from the Mixxx Wiki. Obtenga <b>ayuda</b> del wiki de Mixxx. - - - + + + <b>Exit</b> Mixxx. <b>Salir</b> de Mixxx. - + Retry Reintentar @@ -9990,213 +10325,213 @@ Do you really want to overwrite it? apariencia - + Allow Mixxx to hide the menu bar? ¿Permitir a Mixxx ocultar la barra de menú? - + Hide Always show the menu bar? Ocultar - + Always show Mostrar siempre - + The Mixxx menu bar is hidden and can be toggled with a single press of the <b>Alt</b> key.<br><br>Click <b>%1</b> to agree.<br><br>Click <b>%2</b> to disable that, for example if you don't use Mixxx with a keyboard.<br><br>You can change this setting any time in Preferences -> Interface.<br> Keep formatting tags <b> (bold text) and <br> (linebreak). %1 is the placeholder for the 'Always show' button label La barra de menú de Mixxx ha sido ocultada y se puede alternar presionando la tecla <b>Alt</b>. <br><br>Haz clic en <b>%1</b> para aceptar. <br><br>Haz clic en <b>%2</b> para desactivarlo, por ejemplo si usas Mixxx sin un teclado. <br><br>Puedes cambiar este ajuste en cualquier momento en Preferencias -> Interfaz. <br> - + Ask me again Pregúntame de nuevo - - + + Reconfigure Reconfigurar - + Help Ayuda - - + + Exit Salir - - + + Mixxx was unable to open all the configured sound devices. Mixxx no ha podido activar todos los dispositivos de sonido configurados. - + Sound Device Error Error del dispositivo de sonido - + <b>Retry</b> after fixing an issue <b>Reintenta</b> una vez corregido el problema - + No Output Devices No hay dispositivos de salida - + Mixxx was configured without any output sound devices. Audio processing will be disabled without a configured output device. Mixxx fue configurado sin ningún dispositivo de salida de audio. El procesamiento de audio estará desactivado mientras no se configure un dispositivo de audio de salida. - + <b>Continue</b> without any outputs. <b>Continuar</b> sin ninguna salida. - + Continue Continuar - + Load track to Deck %1 Cargar pista al plato %1 - + Deck %1 is currently playing a track. El plato %1 está reproduciendo una pista. - + Are you sure you want to load a new track? ¿Está seguro de cargar una pista nueva? - + There is no input device selected for this vinyl control. Please select an input device in the sound hardware preferences first. No hay ningún dispositivo de entrada seleccionado para el control por vinilo. Por favor, seleccione un dispositivo de entrada en las preferencias de hardware de sonido. - + There is no input device selected for this passthrough control. Please select an input device in the sound hardware preferences first. No hay ningún dispositivo de entrada seleccionado para el control passthrough. Por favor, seleccione un dispositivo de entrada en las preferencias de hardware de sonido. - + There is no input device selected for this microphone. Do you want to select an input device? No se ha seleccionado un dispositivo de Entrada para este micrófono. ¿Deseas escoger uno ahora? - + There is no input device selected for this auxiliary. Do you want to select an input device? No se ha seleccionado un dispositivo de entrada para este Auxiliar. ¿Deseas escoger uno ahora? - + Scan took %1 El escaneo tomo %1 - + No changes detected. No se han detectado cambios - - + + %1 tracks in total %1 pistas en total - + %1 new tracks found Encontradas %1 pistas nuevas - + %1 moved tracks detected %1 pistas movidas detectadas - + %1 tracks are missing (%2 total) %1 pistas perdidas (%2 en total) - + %1 tracks have been rediscovered %1 pistas han sido reencontradas - + Library scan finished Escaneo de la biblioteca terminado - + Error in skin file Error en el archivo de la apariencia - + The selected skin cannot be loaded. No se ha podido cargar la apariencia seleccionada. - + OpenGL Direct Rendering Renderizado directo de OpenGL - + Direct rendering is not enabled on your machine.<br><br>This means that the waveform displays will be very<br><b>slow and may tax your CPU heavily</b>. Either update your<br>configuration to enable direct rendering, or disable<br>the waveform displays in the Mixxx preferences by selecting<br>"Empty" as the waveform display in the 'Interface' section. El renderizado directo no está habilitado en su máquina. <br><br>Esto significa que las visualizaciones de forma de onda serán muy <br><b>lentas y pueden exigir mucho a su CPU</b>. Actualice su <br>configuración para habilitar la representación directa o desactiv<br> las visualizaciones de forma de onda en las preferencias de Mixxx seleccionando <br>"Vacío" como la pantalla de forma de onda en la sección 'Interfaz'. - - - + + + Confirm Exit Confirmar salida - + A deck is currently playing. Exit Mixxx? Un plato está reproduciendo. ¿Salir de Mixxx? - + A sampler is currently playing. Exit Mixxx? Un reproductor de muestras está en reproducción. ¿Salir de Mixxx? - + The preferences window is still open. La ventana de preferencias todavía está abierta. - + Discard any changes and exit Mixxx? ¿Descartar cambios y salir de Mixxx? @@ -10212,13 +10547,13 @@ Do you want to select an input device? PlaylistFeature - + Lock Bloquear - - + + Playlists Listas de reproducción @@ -10228,58 +10563,63 @@ Do you want to select an input device? Aleatorizar lista de reproducción - + + Adopt current order + + + + Unlock all playlists - + Delete all unlocked playlists - + Unlock Desbloquear - - + + Confirm Deletion - + Do you really want to delete all unlocked playlists? - + Deleting %1 unlocked playlists.<br>This operation can not be undone! - + Playlists are ordered lists of tracks that allow you to plan your DJ sets. Las listas de reproducción son listar ordenadas de pistas que te permiten planificar tus sesiones de DJ. - + It may be necessary to skip some tracks in your prepared playlist or add some different tracks in order to maintain the energy of your audience. Podría ser necesario saltar algunas pistas en tu lista de reproducción planificada, o añadir algunas pistas diferentes, con el fin de mantener la energía de tu audiencia. - + Some DJs construct playlists before they perform live, but others prefer to build them on-the-fly. Algunos DJ preparan listas de reproducción antes de tocar en vivo, pero otros prefieren hacerlo en el momento. - + When using a playlist during a live DJ set, remember to always pay close attention to how your audience reacts to the music you've chosen to play. Cuando uses una lista de reproducción en una actuación en vivo, recuerda siempre prestar mucha atención a cómo reacciona la audiencia con la música que has elegido reproducir. - + Create New Playlist Crear nueva lista de reproducción @@ -10378,59 +10718,59 @@ Do you want to select an input device? QMessageBox - + Upgrading Mixxx Actualizando Mixxx - + Mixxx now supports displaying cover art. Do you want to scan your library for cover files now? Mixxx ha añadido soporte para mostrar carátulas. ¿Desea escanear la biblioteca ahora para encontrar las carátulas? - + Scan Escanear - + Later Después - + Upgrading Mixxx from v1.9.x/1.10.x. Actualizar Mixxx desde v1.9.x/1.10.x. - + Mixxx has a new and improved beat detector. Mixxx ahora tiene un nuevo y mejorado analizador de ritmo. - + When you load tracks, Mixxx can re-analyze them and generate new, more accurate beatgrids. This will make automatic beatsync and looping more reliable. Cuando cargas pistas, Mixxx puede reanalizarlas y generar cuadrículas de tempo nuevas y más precisas. Esto hará que la sincronización y los Loops sean más fiables. - + This does not affect saved cues, hotcues, playlists, or crates. Esto no afecta a los Cues, Hotcues, listas de reproducción o cajas guardados/as. - + If you do not want Mixxx to re-analyze your tracks, choose "Keep Current Beatgrids". You can change this setting at any time from the "Beat Detection" section of the Preferences. Si no quieres que Mixxx reanalize tus pistas, elige "Mantener las cuadrículas de tempo actuales". Puedes cambiar esta configuración en cualquier momento desde la sección "Detección de Beats" de la ventana Preferencias. - + Keep Current Beatgrids Mantener las cuadrículas de tempo actuales - + Generate New Beatgrids Generar nuevas cuadrículas de tempo @@ -10544,69 +10884,82 @@ Do you want to scan your library for cover files now? 14-bit (MSB) - + Main + Audio path indetifier Principal - + Booth + Audio path indetifier Cabina - + Headphones + Audio path indetifier Auriculares - + Left Bus + Audio path indetifier Bus izquierdo - + Center Bus + Audio path indetifier Bus central - + Right Bus + Audio path indetifier Bus derecho - + Invalid Bus + Audio path indetifier Bus inválido - + Deck + Audio path indetifier Plato - + Record/Broadcast + Audio path indetifier Grabación / Emisión en vivo - + Vinyl Control + Audio path indetifier Control de vinilo - + Microphone + Audio path indetifier Micrófono - + Auxiliary + Audio path indetifier Auxiliar - + Unknown path type %1 + Audio path Tipo de ruta %1 desconocida @@ -10949,47 +11302,49 @@ Si la amplitud es cero, este parámetro permite mover la posición manualmente p Ancho - + Metronome Metrónomo - + + The Mixxx Team Equipo de Mixxx - + Adds a metronome click sound to the stream Añade el sonido de tic tac de un metrónomo a la señal de salida - + BPM BPM - + Set the beats per minute value of the click sound Define las pulsaciones por minuto del tic tac - + Sync Sincronizar - + Synchronizes the BPM with the track if it can be retrieved Sincroniza el BPM con el de la pista, si se puede obtener - + + Gain Ganancia - + Set the gain of metronome click sound Configura la ganancia del sonido del metrónomo @@ -11793,14 +12148,14 @@ Todo a la derecha: final del período La grabación OGG no está soportada. La librería OGG/Vorbis podría no inicializarse. - - + + encoder failure falla del codificador - - + + Failed to apply the selected settings. Fallo al aplicar los ajustes seleccionados. @@ -12009,15 +12364,86 @@ para mantener la señal entrante y saliente tan sonoras como sea posible.Encendido + + Auto Gain Control + + + + + AGC + + + + + Auto Gain Control (AGC) automatically adjusts the gain of an audio signal to maintain a consistent output level. + + + + Threshold (dBFS) Límite (Threshold, dBFS) + Threshold Límite + + + The Threshold knob adjusts the level above which the effect starts enhancing the input signal + + + + + Target (dBFS) + + + + + Target + + + + + The Target knob adjusts the desired target level of the output signal + + + + + Gain (dB) + + + + + The Gain knob adjusts the maximum amount of gain that the effect will apply + + + + + Knee (dB) + + + + + The Knee knob defines the range around the Threshold where gain changes are applied gradually, +ensuring smooth transitions and avoiding abrupt level shifts. + + + + + The Attack knob sets the time that determines how fast the auto gain +will set in once the signal exceeds the threshold + + + + + The Release knob sets the time that determines how fast the auto gain will recover from the gain +adjustment once the signal falls under the threshold. Depending on the input signal, short release times +may introduce a 'pumping' effect and/or distortion. + + The Threshold knob adjusts the level above which the compressor starts attenuating the input signal @@ -12048,6 +12474,7 @@ A una proporción de 1:1, la compresión no tiene efecto, ya que la entrada es e Knee (dBFS) + Knee Knee @@ -12058,11 +12485,13 @@ A una proporción de 1:1, la compresión no tiene efecto, ya que la entrada es e La perilla de Knee es utilizada para lograr una curva de compresión redondeada. + Attack (ms) Ataque (ms) + Attack Ataque @@ -12075,11 +12504,13 @@ will set in once the signal exceeds the threshold la compresión una vez que la señal supere el Límite. + Release (ms) Liberación (Release, ms) + Release Release @@ -12110,12 +12541,12 @@ pueden introducir un efecto de "bombeo" y/o distorsión. varios - + built-in nativo - + missing no encontrado @@ -12150,42 +12581,42 @@ pueden introducir un efecto de "bombeo" y/o distorsión. Stem #%1 - + Empty Vacío - + Simple Simple - + Filtered Filtrado - + HSV HSV - + VSyncTest VSyncTest - + RGB RGB - + Stacked Agrupado - + Unknown Desconocido @@ -12446,193 +12877,193 @@ pueden introducir un efecto de "bombeo" y/o distorsión. ShoutConnection - - + + Mixxx encountered a problem Mixxx encontró un problema - + Could not allocate shout_t No se pudo asignar shout_t - + Could not allocate shout_metadata_t No se pudo asignar shout_metadata_t - + Error setting non-blocking mode: Error al establecer el modo "sin bloqueo": - + Error setting tls mode: Error de configuracion del "Modo TLS" - + Error setting hostname! ¡Error al establecer el nombre de host! - + Error setting port! ¡Error al establecer el puerto! - + Error setting password! ¡Error al establecer la contraseña! - + Error setting mount! ¡Error al establecer el punto de montaje! - + Error setting username! ¡Error al establecer el nombre de usuario! - + Error setting stream name! ¡Error al establecer el nombre de la emisión! - + Error setting stream description! ¡Error al establecer la descripción de la emisión! - + Error setting stream genre! ¡Error al establecer el género de la emisión! - + Error setting stream url! ¡Error al establecer la URL de la emisión! - + Error setting stream IRC! ¡Error al configurar el flujo IRC! - + Error setting stream AIM! ¡Error al configurar el flujo AIM! - + Error setting stream ICQ! ¡Error al configurar el flujo ICQ! - + Error setting stream public! Error al iniciar la emisión pública! - + Unknown stream encoding format! ¡Formato de codificación de transmisión desconocido! - + Use a libshout version with %1 enabled Usar una versión de libshout con %1 activado - + Error setting stream encoding format! Error ajuste formato de codificación en emisión! - + Broadcasting at 96 kHz with Ogg Vorbis is not currently supported. Please try a different sample rate or switch to a different encoding. Transmitir a 96 kHz con Ogg Vorbis no está soportado actualmente. Por favor intente una frecuencia de muestreo diferente o cambie a una codificación diferente. - + See https://github.com/mixxxdj/mixxx/issues/5701 for more information. Consulta https://github.com/mixxxdj/mixxx/issues/5701 para más información. - + Unsupported sample rate Tasa de muestreo no soportada - + Error setting bitrate Error al establecer la tasa de bits - + Error: unknown server protocol! ¡Error: protocolo del servidor desconocido! - + Error: Shoutcast only supports MP3 and AAC encoders Error: Shoutcast solo soporta codificadores MP3 y AAC - + Error setting protocol! ¡Error al establecer el protocolo! - + Network cache overflow Caché de red excedido - + Connection error Error de connexión - + One of the Live Broadcasting connections raised this error:<br><b>Error with connection '%1':</b><br> Una de las fuentes de emisión en vivo ha lanzado este error:<br><b>Error con la fuente '%1':</b><br> - + Connection message Mensaje de conexión - + <b>Message from Live Broadcasting connection '%1':</b><br> <b>Mensaje de la fuente de emisión en vivo '%1':</b><br> - + Lost connection to streaming server and %1 attempts to reconnect have failed. Se ha perdido la conexión al servidor de emisión y han fallado %1 intentos de reconexión. - + Lost connection to streaming server. Se ha perdido la conexión al servidor de emisión - + Please check your connection to the Internet. Comprueba tu conexión a internet. - + Can't connect to streaming server No se puede conectar al servidor de emisión - + Please check your connection to the Internet and verify that your username and password are correct. Comprobe a súa conexión a internet e verifique que o seu nome de usuario e contrasinal son correctos. @@ -12640,7 +13071,7 @@ pueden introducir un efecto de "bombeo" y/o distorsión. SoftwareWaveformWidget - + Filtered Filtrada @@ -12648,23 +13079,23 @@ pueden introducir un efecto de "bombeo" y/o distorsión. SoundManager - - + + a device un dispositivo - + An unknown error occurred Ocurrió un error desconocido - + Two outputs cannot share channels on "%1" Dos salidas no pueden usar los mismos canales de %1 - + Error opening "%1" Error al abrir "%1" @@ -12849,7 +13280,7 @@ pueden introducir un efecto de "bombeo" y/o distorsión. - + Spinning Vinyl Vinilo virtual @@ -13031,7 +13462,7 @@ pueden introducir un efecto de "bombeo" y/o distorsión. - + Cover Art Portada @@ -13221,243 +13652,243 @@ pueden introducir un efecto de "bombeo" y/o distorsión. Mantiene la ganancia del filtro de graves en cero, mientras está activo. - + Displays the tempo of the loaded track in BPM (beats per minute). Muestra el tempo de la pista cargada, en BPM (golpes por minuto). - + Tempo Tempo - + Key The musical key of a track Clave - + BPM Tap Golpeo de BPM - + When tapped repeatedly, adjusts the BPM to match the tapped BPM. Cuando se pulsa repetidamente, ajusta el BPM para que coincida con las pulsaciones realizadas. - + Adjust BPM Down Reduce el BPM - + When tapped, adjusts the average BPM down by a small amount. Cuando se pulsa, reduce el BPM promedio un poco. - + Adjust BPM Up Aumenta el BPM - + When tapped, adjusts the average BPM up by a small amount. Cuando se pulsa, aumenta el BPM promedio un poco. - + Adjust Beats Earlier Mueve la cuadrícula un poco antes - + When tapped, moves the beatgrid left by a small amount. En pulsarlo, mueve la cuadrícula de tempo un poco a la izquierda. - + Adjust Beats Later Mueve la cuadrícula un poco después - + When tapped, moves the beatgrid right by a small amount. En pulsarlo, mueve la cuadrícula de tempo un poco a la derecha. - + Tempo and BPM Tap Golpeo de Tempo y BPM - + Show/hide the spinning vinyl section. Mostrar/ocultar la sección de vinilo giratorio. - + Keylock Bloqueo tonal - + Toggling keylock during playback may result in a momentary audio glitch. Alternar el bloqueo tonal durante la reproducción puede producir una pequeña distorsión de audio. - + Toggle visibility of Loop Controls Cambia la visibilidad de los Controles de Bucles - + Toggle visibility of Beatjump Controls Cambia la visibilidad de los Controles de Salto de Ritmo - + Toggle visibility of Rate Control Alternar visibilidad del control de velocidad - + Toggle visibility of Key Controls Cambia la visibilidad de los Controles de Clave - + (while previewing) (mientras se previsualiza) - + Places a cue point at the current position on the waveform. Coloca un punto de Cue en la posición actual de la forma de onda. - + Stops track at cue point, OR go to cue point and play after release (CUP mode). Detiene la pista en el punto cue, O BIEN va al punto cue y reproduce en soltar (modo CUP). - + Set cue point (Pioneer/Mixxx/Numark mode), set cue point and play after release (CUP mode) OR preview from it (Denon mode). Establece el punto Cue (Modo Pioneer/Mixxx/Numark), establece el punto Cue y reproduce en soltar (modo CUP) O BIEN hace una preescuha del mismo (Modo Denon). - + Is latching the playing state. Está reteniendo el estado de reproducción. - + Seeks the track to the cue point and stops. Lleva la pista al punto de Cue y para. - + Play Reproducir - + Plays track from the cue point. Reproduce la pista desde el punto Cue. - + Sends the selected channel's audio to the headphone output, selected in Preferences -> Sound Hardware. Envía el audio del canal seleccionado a la salida de auriculares, seleccionada en Preferencias -> Hardware de Sonido - + (This skin should be updated to use Sync Lock!) (Esta carátula debería actualizarse para utilizar Bloqueo de Sincronización!) - + Enable Sync Lock Habilitar Sync Lock - + Tap to sync the tempo to other playing tracks or the sync leader. Pulse para sincronizar el tiempo con otras pistas en reproducción o líder de sincronización. - + Enable Sync Leader Habilitar Sync Lock - + When enabled, this device will serve as the sync leader for all other decks. Cuando está habilitado, este dispositivo servirá como líder de sicronización para todas las otros platos. - + This is relevant when a dynamic tempo track is loaded to a sync leader deck.In that case, other synced devices will adopt the changing tempo. Es relevante cuando una pista con tempo dinámico es cargada a un deck líder de sincronización. En ese caso, otros dispositivos sincronizados adoptarán el tempo cambiante. - + Changes the track playback speed (affects both the tempo and the pitch). If keylock is enabled, only the tempo is affected. Cambia la velocidad de reproducción de la pista (afecta tanto el tempo como el tono). Si está habilitado el bloqueo, únicamente afecta al tempo. - + Tempo Range Display Visualizador del rango de tempo - + Displays the current range of the tempo slider. Muestra el rango actual del deslizador de tempo. - + Un-ejects when no track is loaded, i.e. reloads the track that was ejected last (of any deck). Se recupera la pista expulsada cuando no hay ninguna pista cargada, es decir, vuelve a cargar la pista que se expulsó en último lugar (de cualquier deck). - + Delete selected hotcue. Elimina la hotcue seleccionada. - + Track Comment Comentario de la pista - + Displays the comment tag of the loaded track. Muestra la etiqueta de comentario de la pista cargada. - + Opens separate artwork viewer. Abre el visualizador separado de carátulas. - + Effect Chain Preset Settings Configuraciones de Preconfiguración de Cadena de Efectos - + Show the effect chain settings menu for this unit. Muestra el menú de las configuraciones de las cadenas de efectos para esta unidad. - + Select and configure a hardware device for this input Selecciona y configura un dispositivo de hardware para esta entrada - + Recording Duration Duración de la grabación @@ -13680,949 +14111,984 @@ pueden introducir un efecto de "bombeo" y/o distorsión. Mantiene la velocidad de reproducción baja (pequeña cantidad) cuando se activa. - + When tapped repeatedly, adjusts the tempo to match the tapped BPM. Cuando se pulsa repetidamente, ajusta el tempo para coincidir con la frecuencia de pulsaciones. + + + Click to open the tempo/BPM editor + + + + + It also shows a colored bar if Key colors are enabled in the Preferences. + + + The bar will be split vertically if the track's key is in between full keys. + + + + Tempo Tap Seguidor de Tempo (Tempo Tap) - + Rate Tap and BPM Tap Frecuencia de pulsaciones y de BPM - + + Set Tempo + + + + + Set the desired tempo in BPM. If the track currently has no BPM detected, set the desired tempo in percent. + + + + Adjust beatgrid by exactly one half beat. Usable only on tracks with constant tempo. Ajusta la cuadrícula de tiempo en exactamente medio beat. Solo se puede usar en pistas con tempo constante - + Revert last BPM/Beatgrid Change Revierte el último cambio de BPM/cuadrícula de tiempo - + Revert last BPM/Beatgrid Change of the loaded track. Revierte el último cambio de BPM/Cuadrícula de tiempo para la pista cargada. - - + + Toggle the BPM/beatgrid lock Cambia el bloqueo de BPM/cuadrícula de tiempo - + Tempo and Rate Tap Toques de Tempo y Frecuencia - + Tempo, Rate Tap and BPM Tap Toques de Tempo, Frecuencia y BPM - + Shift cues earlier Cambia marcas antes - - + + Shift cues imported from Serato or Rekordbox if they are slightly off time. Cambia marcas importadas desde Serato o Rekordbox si están ligeramente desfazadas. - + Left click: shift 10 milliseconds earlier Clic izquierdo: adelantar 10 milisegundos - + Right click: shift 1 millisecond earlier Clic derecho: adelantar 1 milisegundo - + Shift cues later Retrasar cues - + Left click: shift 10 milliseconds later Clic izquierdo: retrasar 10 milisegundos - + Right click: shift 1 millisecond later Clic derecho: retrasar 1 milisegundo - - - + + + Drag a Hotcue button here to continue playing after releasing the Hotcue. Arrastra un botón de Hotcue aquí para continuar reproduciendo después de soltar la hotcue. - + Hint: Change the default cue mode in Preferences -> Decks. Sugerencia: cambie el modo por defecto de las cues en Preferencias -> Platos. - + Mutes the selected channel's audio in the main output. Silencia el audio del canal seleccionado en la salida principal. - + Main mix enable Activador de mezcla principal - + Hold or short click for latching to mix this input into the main output. Clic sostenido o corto para enganchar, para mezclar esta entrada con la salida principal. - + + Reloads the last replaced track. If no track is loaded reloads the second-last ejected track. + + + + If hotcue is a loop cue, toggles the loop and jumps to if the loop is behind the play position. Si la hotcue es una cue de bucle, activa el bucle y salta hacia él si se encuentra detrás de la posición de reproducción. - + If the play position is inside an active loop, stores the loop as loop cue. Si la posición de reproducción se encuentra dentro de un bucle activo, almacena el bucle como una hotcue de bucle. - + Drag this button onto another Hotcue button to move it there (change its index). If the other hotcue is set, the two are swapped. Arrastrar este botón dentro de otro botón de hotcue para moverlo hacia este (cambiando su número). Si la otra hotcue ya se encuentra definida, las dos son intercambiadas. - + Expand/Collapse Samplers Expandir/contraer samplers - + Toggle expanded samplers view. Alternar la vista expandida de los samplers. - + Displays the duration of the running recording. Muestra la duración de la grabación en curso. - + Auto DJ is active Auto DJ se encuentra activo - + Red for when needle skip has been detected. Rojo cuando se detecta un salto de aguja. - + Hot Cue - Track will seek to nearest previous hotcue point. Acceso Directo - La pista buscará el punto anterior más cercano del acceso directo. - + Sets the track Loop-In Marker to the current play position. Establece la marca de inicio de bucle a la posición actual - + Press and hold to move Loop-In Marker. Mantener presionado para mover la marca de inicio de bucle. - + Jump to Loop-In Marker. Ir a la marca de inicio de bucle. - + Sets the track Loop-Out Marker to the current play position. Establece la marca de fin de bucle a la posición actual. - + Press and hold to move Loop-Out Marker. Mantener presionado para mover la marca de fin de bucle. - + Jump to Loop-Out Marker. Ir a la marca de fin de bucle. - + If the track has no beats the unit is seconds. Si la pista no tiene pulsaciones, la unidad es segundos. - + Beatloop Size Pulsaciones del bucle - + Select the size of the loop in beats to set with the Beatloop button. Define el tamaño del bucle en pulsaciones a usar cuando se pulse el botón de bucle de pulsaciones. - + Changing this resizes the loop if the loop already matches this size. Al cambiar este valor, cambiará el tamaño del bucle existente, si tenía el tamaño anterior. - + Halve the size of an existing beatloop, or halve the size of the next beatloop set with the Beatloop button. Reduce a la mitad el tamaño del bucle existente, o del próximo bucle definido con el botón de bucle de pulsaciones. - + Double the size of an existing beatloop, or double the size of the next beatloop set with the Beatloop button. Dobla el tamaño del bucle existente, o del próximo bucle definido con el botón de bucle de pulsaciones. - + Start a loop over the set number of beats. Activa un bucle con la cantidad definida de pulsaciones. - + Temporarily enable a rolling loop over the set number of beats. Activa temporalmente un bucle de continuación con la cantidad de pulsaciones definidas. - + Beatloop Anchor Ancla del bucle de pulsaciones - + Define whether the loop is created and adjusted from its staring point or ending point. Define si el bucle es creado y ajustado desde su punto de inicio o de final. - + Beatjump/Loop Move Size Tamaño del salto de pulsaciones/Desplazamiento del bucle - + Select the number of beats to jump or move the loop with the Beatjump Forward/Backward buttons. Selecciona la cantidad de pulsaciones a saltar o a mover el bucle con los botones de avance/retroceso. - + Beatjump Forward Avanzar en pulsaciones - + Jump forward by the set number of beats. Avanza la pista la cantidad definida de pulsaciones. - + Move the loop forward by the set number of beats. Avanza el bucle en la cantidad definida de pulsaciones. - + Jump forward by 1 beat. Avanza 1 pulsación. - + Move the loop forward by 1 beat. Avanza el bucle 1 pulsación. - + Beatjump Backward Retrocede en pulsaciones - + Jump backward by the set number of beats. Retrocede la cantidad de pulsaciones definida. - + Move the loop backward by the set number of beats. Retrocede el bucle la cantidad de pulsaciones definida. - + Jump backward by 1 beat. Retrocede 1 pulsación. - + Move the loop backward by 1 beat. Retrocede el bucle 1 pulsación. - + Reloop Repite el bucle - + If the loop is ahead of the current position, looping will start when the loop is reached. Si el bucle está por delante de la posición actual, este no se activará hasta que se llege a él. - + Works only if Loop-In and Loop-Out Marker are set. Solo funciona si las marcas de inicio y fin de bucle estan definidas. - + Enable loop, jump to Loop-In Marker, and stop playback. Activa el bucle, va a la posición de inicio de bucle y se detiene. - + Displays the elapsed and/or remaining time of the track loaded. Muestra el tiempo transcurrido y/o restante de la pista cargada. - + Click to toggle between time elapsed/remaining time/both. Pulsar para cambiar entre tiempo transcurrido/restante/ambos - + Hint: Change the time format in Preferences -> Decks. Sugerencia: cambie el formato de tiempo en Preferencias -> Platos. - + Show/hide intro & outro markers and associated buttons. Mostrar/ocultar marcadores de intro y outro, y sus botones asociados. - + + Ensure all waveforms to have the same height across all channels. By default, when displaying the stem controls, waveform for channel that have no stem may render with a shorter height in order to honor the waveform container size you have requested.. + + + + Intro Start Marker Marcador Inicial de Entrada - - - - + + + + If marker is set, jumps to the marker. Si el marcador se encuentra definido, salta al marcador. - - - - + + + + If marker is not set, sets the marker to the current play position. Si el marcador no se encuentra definido, lo configura a la posición de reproducción actual. - - - - + + + + If marker is set, clears the marker. Si el marcador se encuentra definido, lo elimina. - + Intro End Marker Marcador Final de Entrada - + Outro Start Marker Marcador Inicial de Salida - + Outro End Marker Marcador Final de Salida - + Mix Mix - + Adjust the mixing of the dry (input) signal with the wet (output) signal of the effect unit Ajuste la mezcla de la señal seca (entrada) con la señal húmeda (salida) de la unidad de efectos - + D/W mode: Crossfade between dry and wet Modo D/W: fundido cruzado entre seco y húmedo - + D+W mode: Add wet to dry Modo D+W: agregue húmedo a seco - + Mix Mode Modo mezcla - + Adjust how the dry (input) signal is mixed with the wet (output) signal of the effect unit Ajuste cómo se mezcla la señal seca (entrada) con la señal húmeda (salida) de la unidad de efectos - + Dry/Wet mode (crossed lines): Mix knob crossfades between dry and wet Use this to change the sound of the track with EQ and filter effects. Modo seco / húmedo (líneas cruzadas): Mezcle los fundidos cruzados de la perilla entre seco y húmedo. Use esto para cambiar el sonido de la pista con EQ y efectos de filtro. - + Dry+Wet mode (flat dry line): Mix knob adds wet to dry Use this to change only the effected (wet) signal with EQ and filter effects. Modo Seco+Húmedo (línea seca plana): La perilla de mezcla agrega mojado a seco Utiliza esto para cambiar únicamente la señal afectada (mojada) con EQ y efectos de filtrado. - + Route the main mix through this effect unit. Enruta la mezcla principal a través de esta unidad de efectos. - + Route the left crossfader bus through this effect unit. Redirige el bus izquierdo del crossfader a través de esta unidad de efectos. - + Route the right crossfader bus through this effect unit. Enruta el bus derecho del crossfader a través de la unidad de efectos - + Right side active: parameter moves with right half of Meta Knob turn Derecha activo: el parámetro se mueve al mover la mitad derecha del control Meta. - + Stem Label Etiqueta de stem - + Name of the stem stored in the stem file Nombre del stem almacenado en el archivo de stem - + Text is displayed in the stem color stored in the stem file El texto es presentado con el color del stem almacenado en el archivo de stem - + this stem color is also used for the waveform of this stem este color de stem también es usado en la forma de onda de este stem - + Stem Mute Silenciar stem - + Toggle the stem mute/unmuted Alterna el silencio del stem - + Stem Volume Knob Perilla de volumen del stem - + Adjusts the volume of the stem Ajusta el volumen del stem - + Skin Settings Menu Menú de las opciones de la Apariencia - + Show/hide skin settings menu Muestra/esconde el menú de opciones de la Apariencia - + Save Sampler Bank Guardar banco de muestras - + Save the collection of samples loaded in the samplers. Guarda la colección de muestras cargadas en los reproductores de muestras. - + Load Sampler Bank Cargar banco de muestras - + Load a previously saved collection of samples into the samplers. Carga en los reproductores de muestras una colección de muestras guardada en anterioridad. - + Show Effect Parameters Mostrar parámetros de efectos - + Enable Effect Activar efecto - + Meta Knob Link Enlace de la rueda Meta - + Set how this parameter is linked to the effect's Meta Knob. Configura cómo le afecta a este parámetro la rueda Meta. - + Meta Knob Link Inversion Inversión del enlaze de la rueda Meta - + Inverts the direction this parameter moves when turning the effect's Meta Knob. Invierte la dirección en la que se mueve el parámetro al mover la rueda Meta. - + Super Knob Rueda Súper - + Next Chain Siguiente cadena - + Previous Chain Cadena anterior - + Next/Previous Chain Cadena siguiente/anterior - + Clear Borrar - + Clear the current effect. Borra el efecto actual. - + Toggle Conmutar - + Toggle the current effect. Conmuta el efecto actual. - + Next Siguente - + Clear Unit Limpiar unidad - + Clear effect unit. limpiar la unidad de efectos. - + Show/hide parameters for effects in this unit. Muestra/esconde los parámetros de los efectos de esta unidad. - + Toggle Unit Conmutar la unidad - + Enable or disable this whole effect unit. Activa o desactiva la unidad de efectos. - + Controls the Meta Knob of all effects in this unit together. Controla a la vez las ruedas Meta de todos los efectos asociados a esta unidad. - + Load next effect chain preset into this effect unit. Carga el siguiente preajuste de efectos en esta unidad de efectos. - + Load previous effect chain preset into this effect unit. Carga el anterior preajuste de efectos en esta unidad de efectos. - + Load next or previous effect chain preset into this effect unit. Carga el siguiente o anterior preajuste de efectos en esta unidad de efectos. - - - - - - - - - + + + + + + + + + Assign Effect Unit Asignar la unidad de efectos - + Assign this effect unit to the channel output. Asigna esta unidad de efectos a la salida del canal. - + Route the headphone channel through this effect unit. Redirige la salida de auriculares a través de la unidad de efectos. - + Route this deck through the indicated effect unit. Redirige este plato a través de la unidad de efectos indicada. - + Route this sampler through the indicated effect unit. Redirige este reproductor a través de la unidad de efectos indicada. - + Route this microphone through the indicated effect unit. Redirige este micrófono a través de la unidad de efectos indicada. - + Route this auxiliary input through the indicated effect unit. Redirige la entrada auxiliar a través de la unidad de efectos indicada. - + The effect unit must also be assigned to a deck or other sound source to hear the effect. La unidad de efectos debe estar asignada a un plato o otra fuente de sonido para oír el efecto. - + Switch to the next effect. Pasa al siguiente efecto. - + Previous Anterior - + Switch to the previous effect. Pasa al efecto anterior. - + Next or Previous Siguiente o Anterior - + Switch to either the next or previous effect. Pasa al siguiente o anterior efecto. - + Meta Knob Rueda Meta - + Controls linked parameters of this effect Controla los parámetros enlazados del efecto - + Effect Focus Button Botón de foco de efecto - + Focuses this effect. Pone el foco en el efecto. - + Unfocuses this effect. Quita el foco del efecto. - + Refer to the web page on the Mixxx wiki for your controller for more information. Consulta la página web de tu controlador en la wiki del Mixxx para más información - + Effect Parameter parámetro de efecto - + Adjusts a parameter of the effect. Ajusta un parámetro del efecto. - + Inactive: parameter not linked Inactivo: parámetro no enlazado - + Active: parameter moves with Meta Knob Activo: el parámetro se mueve con la rueda Meta - + Left side active: parameter moves with left half of Meta Knob turn Izquierda activo: el parámetro se mueve con la primera mitad de la rueda Meta - + Left and right side active: parameter moves across range with half of Meta Knob turn and back with the other half Izquierda y derecha activo: el parámetro recorre todo el rango con la primera mitad de la rueda Meta, y vueve atrás con la segunda mitad - - + + Equalizer Parameter Kill Parámetro de supresión del ecualizador - - + + Holds the gain of the EQ to zero while active. Mantiene la ganáncia de EQ a cero mientras está activo. - + Quick Effect Super Knob Rueda Súper de efecto rápido - + Quick Effect Super Knob (control linked effect parameters). Rueda Súper de efecto rápido (controla los parámetros de efecto asociados). - + Hint: Change the default Quick Effect mode in Preferences -> Equalizers. Nota: Puedes cambiar el efecto rápido por defecto en Preferéncias > Ecualizadores. - + Equalizer Parameter ecualizador paramétrico - + Adjusts the gain of the EQ filter. Ajusta la ganáncia del filtro de EQ. - + Hint: Change the default EQ mode in Preferences -> Equalizers. Nota: Se puede cambiar el modo de EQ por defecto en Preferencias > Ecualizadores. - - + + Adjust Beatgrid Ajustar cuadrícula de tempo - + Adjust beatgrid so the closest beat is aligned with the current play position. Ajusta la cuadrícula de tempo para que el golpe más cercano se alinee con la posición actual de reproducción. - - + + Adjust beatgrid to match another playing deck. Ajusta la cuadrícula de tempo para que coincida con otro plato en reproducción. - + If quantize is enabled, snaps to the nearest beat. Si la cuantización está activada, se acerca al compás más cercano. - + Quantize Cuantizar - + Toggles quantization. Conmutar la cuantización. - + Loops and cues snap to the nearest beat when quantization is enabled. Cuando está activada, los bucles y cue se alinean con el compás más cercano. - + Reverse Reversa - + Reverses track playback during regular playback. Reproduce en reversa, durante reproducción normal. - + Puts a track into reverse while being held (Censor). Pone la pista en reversa mientras se mantiene presionado. - + Playback continues where the track would have been if it had not been temporarily reversed. La reproducción se continuará en el punto al que habría llegado la pista si no hubiese puesto en reversa. - - - + + + Play/Pause Reproducir/Pausar - + Jumps to the beginning of the track. Salta al principio de la pista. - + Syncs the tempo (BPM) and phase to that of the other track, if BPM is detected on both. Sincroniza el tempo (BPM) y la fase de la pista con la de la otra pista, si se ha detectado el BPM en ambas. - + Syncs the tempo (BPM) to that of the other track, if BPM is detected on both. Sincroniza el tempo (BPM) de la pista con la de la otra pista, si se ha detectado el BPM en ambas. - + Sync and Reset Key Sincroniza y resetea la tonalidad - + Increases the pitch by one semitone. Incrementa el tono en una seminota. - + Decreases the pitch by one semitone. Decrementa el tono en una seminota. - + Enable Vinyl Control Activar vinilo de control - + When disabled, the track is controlled by Mixxx playback controls. Si está desactivado, los controles de reproducción del Mixxx controlan la pista. - + When enabled, the track responds to external vinyl control. Si está activado, el control de vinilo externo controla la pista. - + Enable Passthrough Activa el paso de audio - + Indicates that the audio buffer is too small to do all audio processing. Indica que el búfer de audio es demasiado pequeño para llevar a cabo todo el procesamiento de audio. - + Displays cover artwork of the loaded track. Muestra la carátula de la pista cargada. - + Displays options for editing cover artwork. Muestra las opciones de edición de carátula. - + Star Rating Puntuación - + Assign ratings to individual tracks by clicking the stars. Asigna la puntuación de cada pista pulsando en las estrellas. @@ -14757,33 +15223,33 @@ Utiliza esto para cambiar únicamente la señal afectada (mojada) con EQ y efect Intensidad de atenuación al usar el Micrófono - + Prevents the pitch from changing when the rate changes. Evita que el tono cambie al cambiar la velocidad. - + Changes the number of hotcue buttons displayed in the deck Cambia el número de botones de acceso directo mostrados en el deck - + Starts playing from the beginning of the track. Comienza la reproducción desde el principio de la pista. - + Jumps to the beginning of the track and stops. Salta al principio de la pista y se detiene. - - + + Plays or pauses the track. Reproduce o pausa la pista. - + (while playing) (estando en reproducción) @@ -14803,215 +15269,215 @@ Utiliza esto para cambiar únicamente la señal afectada (mojada) con EQ y efect Medidor de volumen del canal principal R - + (while stopped) (mientras está parado) - + Cue Cue - + Headphone Auriculares - + Mute Silenciar - + Old Synchronize Sincronización antígua - + Syncs to the first deck (in numerical order) that is playing a track and has a BPM. Se sincroniza con la primera pista (en orden numérico) que está sonando y tiene BPM. - + If no deck is playing, syncs to the first deck that has a BPM. Si no hay pistas en reprodución, se sincroniza con la primera pista que tenga BPM. - + Decks can't sync to samplers and samplers can only sync to decks. Los platos no se pueden sincronizar con los reproductors de muestras, y los reproductors de mezclas sólo se pueden sincronizar con los platos. - + Hold for at least a second to enable sync lock for this deck. Mantener pulsado durante un segundo para activar la sincronización fija para este plato. - + Decks with sync locked will all play at the same tempo, and decks that also have quantize enabled will always have their beats lined up. Los platos con la sincronización bloqueada reproducirán todos al mismo tempo, y si además tienen la quantización activada, también se alinearán los compases. - + Resets the key to the original track key. Resetea la clave musical a la original de la pista. - + Speed Control Control de velocidad - - - + + + Changes the track pitch independent of the tempo. Cambia el tono de la pista independientemente del tempo. - + Increases the pitch by 10 cents. Aumenta el tono 10 centésimas. - + Decreases the pitch by 10 cents. Reduce el tono 10 centésimas. - + Pitch Adjust Ajuste de velocidad - + Adjust the pitch in addition to the speed slider pitch. Ajusta la velocidad añadiendo al cambio del deslizador de velocidad. - + Opens a menu to clear hotcues or edit their labels and colors. Abre un menú para limpiar los accesos directos o editar sus etiquetas y colores. - + Drag this button onto a Play button while previewing to continue playback after release. Arrastre este botón a un boton de Play durante la preescucha para continuar la reproducción tras soltarlo. - + Dragging with Shift key pressed will not start previewing the hotcue. Arrastrar mientras presiona la tecla Shift no iniciará la preescucha de la hotcue. - + Record Mix Grabar mezcla - + Toggle mix recording. Conmutar la grabación de la mezcla. - + Enable Live Broadcasting Activar la emisión en vivo - + Stream your mix over the Internet. Emite tus mezclas por internet. - + Provides visual feedback for Live Broadcasting status: Da una indicación acerca del estado de la emisión en vivo: - + disabled, connecting, connected, failure. desactivado, conectando, conectado, fallo. - + When enabled, the deck directly plays the audio arriving on the vinyl input. Cuando está activado, el plato reproduce directamente el audio que recibe por la entrada de vinilo. - + Playback will resume where the track would have been if it had not entered the loop. La reproducción se reanudará en el punto al que habría llegado la pista si no hubiese entrado en el bucle. - + Loop Exit Salida del bucle - + Turns the current loop off. Desactiva el bucle actual. - + Slip Mode Modo Slip - + When active, the playback continues muted in the background during a loop, reverse, scratch etc. Cuando está activado, la reproducción continúa en silencio mientras dura el bucle, la reproducción hacia atrás, scratch, etc. - + Once disabled, the audible playback will resume where the track would have been. Una vez desactivado, la reproducción (audible) seguirá donde la pista habría estado. - + Track Key The musical key of a track Tonalidad de la pista - + Displays the musical key of the loaded track. Muestra la clave musical de la pista cargada. - + Clock Reloj - + Displays the current time. Muestra la hora actual. - + Audio Latency Usage Meter Medidor de Latencia de Audio - + Displays the fraction of latency used for audio processing. Muestra la parte de latencia usada para el proceso de audio. - + A high value indicates that audible glitches are likely. Un valor alto indica que se pueden percibir ruidos. - + Do not enable keylock, effects or additional decks in this situation. No activar el bloqueo de tonalidad, los efectos o los platos adicionales en este caso. - + Audio Latency Overload Indicator Indicador de Sobrecarga de Latencia de Audio @@ -15051,259 +15517,259 @@ Utiliza esto para cambiar únicamente la señal afectada (mojada) con EQ y efect Activa el control de vinilo desde el Menú -> Opciones. - + Displays the current musical key of the loaded track after pitch shifting. Muestra la clave musical actual para la pista cargada teniendo en cuenta el cambio de tonalidad. - + Fast Rewind Retroceso rápido - + Fast rewind through the track. Rebobinado rápido a través de la pista. - + Fast Forward Avance Rápido - + Fast forward through the track. Avance Rápido a través de la pista. - + Jumps to the end of the track. Salta al final de la pista. - + Sets the pitch to a key that allows a harmonic transition from the other track. Requires a detected key on both involved decks. Cambia la tonalidad a una clave musical que permite la transición harmónica de un plato a otro. Es necesario que se haya detectado la clave en ambos platos. - - - + + + Pitch Control Control del pitch - + Pitch Rate Ritmo de cambio de tonalidad - + Displays the current playback rate of the track. Muestra el ritmo de reproducción actual de la pista. - + Repeat Repetir - + When active the track will repeat if you go past the end or reverse before the start. Estando activo la pista se repetirá si se pasa del final o si retrocede antes del comienzo. - + Eject Expulsar - + Ejects track from the player. Expulsa la pista del reproductor. - + Hotcue Hotcue - + If hotcue is set, jumps to the hotcue. Si el hotcue está establecido, salta al hotcue. - + If hotcue is not set, sets the hotcue to the current play position. Si el hotcue no está establecido, establece el hotcue en la actual posición de reproducción. - + Vinyl Control Mode Modo de control de vinilo - + Absolute mode - track position equals needle position and speed. Modo Absoluto - la posicion dentro del tema corresponde a la posicion y velocidad de la aguja. - + Relative mode - track speed equals needle speed regardless of needle position. Modo Relativo - la velocidad del tema corresponde a la velocidad de la aguja independientemente de la posicion. - + Constant mode - track speed equals last known-steady speed regardless of needle input. Modo Constante - la velocidad del tema corresponde a la ultima velocidad conocida independientemente de lo que se recibe de la aguja. - + Vinyl Status Estado del vinilo - + Provides visual feedback for vinyl control status: Provee retroalimentación visual sobre el estado del control de vinilo: - + Green for control enabled. Verde para control activo. - + Blinking yellow for when the needle reaches the end of the record. Amarillo parpadeante cuando la aguja alcanza el final de la grabación. - + Loop-In Marker Marcador de inicio de bucle - + Loop-Out Marker Marcador de fin de bucle - + Loop Halve Reducir bucle a la mitad - + Halves the current loop's length by moving the end marker. Reduce a la mitad la longitud del bucle actual, moviendo la marca de fin. - + Deck immediately loops if past the new endpoint. El plato vuelve al inicio del bucle inmediatamente si se ha superado el nuevo punto final. - + Loop Double Aumentar bucle al doble - + Doubles the current loop's length by moving the end marker. Aumenta al doble la longitud del bucle actual, moviendo la marca de fin. - + Beatloop Bucle de pulsaciones - + Toggles the current loop on or off. Activa o desactiva el bucle actual. - + Works only if Loop-In and Loop-Out marker are set. Funciona sólo si se han definido las marcas de inicio y fin de bucle. - + Vinyl Cueing Mode Modo de Cue de Vinilo - + Determines how cue points are treated in vinyl control Relative mode: Determina cómo los puntos Cue son tratados en el modo de control Relativo de Vinilos: - + Off - Cue points ignored. Off - Los puntos CUE se ignoran. - + One Cue - If needle is dropped after the cue point, track will seek to that cue point. Un Cue - si se pone la aguja mas allá del punto cue, se irá al punto Cue de la pista. - + Track Time Tiempo de pista - + Track Duration Duración de la Pista - + Displays the duration of the loaded track. Muestra la duración de la pista cargada. - + Information is loaded from the track's metadata tags. Información cargada desde el tag de metadatos de las pistas. - + Track Artist Artista de la pista - + Displays the artist of the loaded track. Muestra el artista de la pista cargada. - + Track Title Título de la pista - + Displays the title of the loaded track. Muestra el título de la pista cargada. - + Track Album Álbum de la pista - + Displays the album name of the loaded track. Muestra el nombre del álbum de la pista cargada. - + Track Artist/Title Artista/Título de la pista - + Displays the artist and title of the loaded track. Muestra el artista y el título de la pista cargada. @@ -15534,47 +16000,75 @@ Carpeta: %2 WCueMenuPopup - + Cue number Número de cue - + Cue position Posición Marca - + Edit cue label Editar etiqueta de marca - + Label... Etiqueta... - + Delete this cue Borrar esta marca - - Toggle this cue type between normal cue and saved loop - Alterna el tipo de esta cue entre cue normal y bucle guardado + + Turn this cue into a regular hotcue + + + + + Turn this cue into a saved loop + + + + + Left-click: Use the old size if known or the current beatloop size as the loop size + + + + + Right-click: Use the current play position as new loop end if it is after the cue + + + + + Turn this cue into a saved forward jump. + + is a linebreak. Try to not to extend the translation beyond the length of the longest source line so the tooltip remains compact. + + + + + Turn this cue into a saved backward jump (one shot loop). + - - Left-click: Use the old size or the current beatloop size as the loop size - Clic izquierdo: usar el tamaño anterior o el del bucle actual como el tamaño de bucle + + Left-click: Use the old size if known or the current play position as jump start position +If this is already a jump cue, swap the jump position and the cue/target position. + - - Right-click: Use the current play position as loop end if it is after the cue - Clic derecho: usar la posición de reproducción actual como final del bucle si se encuentra después de la cue + + Right-click: use current play position as new jump start position + - + Hotcue #%1 Acceso DIrecto #%1 @@ -15876,171 +16370,181 @@ Carpeta: %2 + Show Auto DJ + + + + + Switch to the Auto DJ view. + + + + &Full Screen &Pantalla completa - + Display Mixxx using the full screen Mostrar Mixxx a pantalla completa - + &Options &Opciones - + &Vinyl Control Control de &vinilo - + Use timecoded vinyls on external turntables to control Mixxx Usar vinilos con codigo de tiempo en bandejas externas para controlar Mixxx - + Enable Vinyl Control &%1 Habilita el Control por Vinilo &%1 - + &Record Mix &Grabar Mezcla - + Record your mix to a file Grava a súa mestura a un ficheiro - + Ctrl+R Ctrl+R - + Enable Live &Broadcasting Activar transmisión en &vivo - + Stream your mixes to a shoutcast or icecast server Transmite tus mezclas a un servidor shoutcast o icecast - + Ctrl+L Ctrl+L - + Enable &Keyboard Shortcuts Activar Atajos de &Teclado - + Toggles keyboard shortcuts on or off Activa o desactiva los atajos de teclado - + Ctrl+` Ctrl+` - + &Preferences &Preferencias - + Change Mixxx settings (e.g. playback, MIDI, controls) Cambiar la configuración de Mixxx (p.ej.: reproducción, MIDI, controles) - + &Developer &Desarrollador - + &Reload Skin &Recargar apariencia - + Reload the skin Recargar la apariencia - + Ctrl+Shift+R Ctrl+Mayús+R - + Developer &Tools U&tilidades de desarrollador - + Opens the developer tools dialog Abre el cuadro de diálogo de herramientas de desarrollo - + Ctrl+Shift+T Ctrl+Mayús+T - + Stats: &Experiment Bucket Estadísticas: Contadores &Experiment - + Enables experiment mode. Collects stats in the EXPERIMENT tracking bucket. Activa el modo experimental. Recoje estadísticas en los contadores EXPERIMENT. - + Ctrl+Shift+E Ctrl+Mayús+E - + Stats: &Base Bucket Estadísticas: contadores &Base - + Enables base mode. Collects stats in the BASE tracking bucket. Activa el modo base. Recoje estadísticas en los contadores BASE. - + Ctrl+Shift+B Ctrl+Mayús+B - + Deb&ugger Enabled Dep&uración activada - + Enables the debugger during skin parsing Activa el depurador durante el análisis de la máscara - + Ctrl+Shift+D Ctrl+Mayús+D - + &Help Ay&uda @@ -16074,62 +16578,62 @@ Carpeta: %2 F12 - + &Community Support Soporte &comunitario - + Get help with Mixxx Obtener ayuda con Mixxx - + &User Manual Manual de &usuario - + Read the Mixxx user manual. Lea el manual de usuario de Mixxx. - + &Keyboard Shortcuts Atajos de &Teclado - + Speed up your workflow with keyboard shortcuts. Trabaja más rápidamente usando los atajos de teclado. - + &Settings directory &Directorio de configuración - + Open the Mixxx user settings directory. Abre el directorio de configuración de usuario de Mixxx. - + &Translate This Application &Traducir esta aplicación - + Help translate this application into your language. Ayude a traducir esta aplicación a su idioma. - + &About &Acerca de - + About the application Acerca de la aplicación @@ -16137,25 +16641,25 @@ Carpeta: %2 WOverview - + Passthrough Paso - + Ready to play, analyzing... Text on waveform overview when file is playable but no waveform is visible Listo para reproducir, analizando... - - + + Loading track... Text on waveform overview when file is cached from source Cargando pista... - + Finalizing... Text on waveform overview during finalizing of waveform analysis Finalizando... @@ -16345,625 +16849,640 @@ Carpeta: %2 WTrackMenu - + Load to Cargar en - + Deck Plato - + Sampler Reproductor de muestras - + Add to Playlist Añadir a la lista de reproducción - + Crates Cajas - + Metadata Metadatos - + Update external collections Actualizar colecciones externas - + Cover Art Portada - + Adjust BPM Ajustar BPM - + Select Color Seleccionar color - - + + Analyze Analizar - - + + Delete Track Files Borrar Archivos de Pistas - + Add to Auto DJ Queue (bottom) Añadir a la cola de Auto DJ (al final) - + Add to Auto DJ Queue (top) Añadir a la cola de Auto DJ (al principio) - + Add to Auto DJ Queue (replace) Añadir a la lista de DJ Automático (reemplazar) - + Preview Deck Reproductor de preescucha - + Remove Quitar - + Remove from Playlist Eliminar de la lista de reproducción - + Remove from Crate Eliminar de la caja - + Hide from Library Ocultar de la biblioteca - + Unhide from Library Volver a mostrar en la biblioteca - + Purge from Library Eliminar de la biblioteca - + Move Track File(s) to Trash Mover archivo(s) de seguimiento a la papelera - + Delete Files from Disk Borrar Archivos del Disco - + Properties Propiedades - + Open in File Browser Abrir en el explorador de archivos - + Select in Library Selecciona en Biblioteca - + Import From File Tags Importar de los metadatos del fichero - + Import From MusicBrainz Importar de MusicBrainz - + Export To File Tags Exportar a metadatos del fichero - + BPM and Beatgrid BPM y cuadrícula de tempo - + Play Count Reproducciones - + Rating Calificación - + Cue Point Punto CUE - - + + Hotcues Hotcues - + Intro - + Intro - + Outro - + Outro - + Key Clave - + ReplayGain Reproducir otra vez - + Waveform Forma de onda - + Comment Comentario - + All Todos - + Sort hotcues by position (remove offsets) Ordenar hotcues por posición (removiendo desfases) - + Sort hotcues by position Ordenar hotcues por posición - + Lock BPM Bloquear BPM - + Unlock BPM Desbloquear BPM - + Double BPM Duplicar BPM - + Halve BPM Reducir a la mitad los BPM - + 2/3 BPM 2/3 BPM - + 3/4 BPM 3/4 BPM - + 4/3 BPM 4/3 BPM - + 3/2 BPM 3/2 BPM - + Shift Beatgrid Half Beat Desplazar la cuadrícula de tiempo medio beat - + Reanalyze Reanalizar - + Reanalyze (constant BPM) Reanalizar (BPM constante) - + Reanalyze (variable BPM) Reanalizar (BPM variable) - + Update ReplayGain from Deck Gain Actualizar ReplayGain desde la Ganancia de Plato - + Deck %1 Deck %1 - + Importing metadata of %n track(s) from file tags Importación de metadatos de %n pista a partir de las etiquetas del archivoImportación de metadatos de %n pistas a partir de las etiquetas de los archivosImportación de metadatos de %n pista(s) a partir de las etiquetas del archivo - + Marking metadata of %n track(s) to be exported into file tags Haciendo metadatos de %n pista(s) a ser exportadas en las etiquetas de archivosHaciendo metadatos de %n pista(s) a ser exportadas en las etiquetas de archivosHaciendo metadatos de %n pista(s) a ser exportadas en las etiquetas de archivos - - + + Create New Playlist Crear nueva lista de reproducción - + Enter name for new playlist: Escriba un nombre para la nueva lista de reproducción: - + New Playlist Nueva lista de reproducción - - - + + + Playlist Creation Failed Fallo la creación de lista de Reproducción - + A playlist by that name already exists. Una lista de reproducción ya existe con el mismo nombre - + A playlist cannot have a blank name. El nombre de una lista de reproduccion no puede estar vacío - + An unknown error occurred while creating playlist: Se ha producido un error desconocido al crear la lista de reproducción: - + Add to New Crate Añadir a nueva caja - + Scaling BPM of %n track(s) Escalando BPM de %n pista(s)Escalando BPM de %n pista(s)Escalando BPM de %n pista(s) - + Undo BPM/beats change of %n track(s) Deshacer cambios de BPM/pulsaciones de %n pista(s)Deshacer cambios de BPM/pulsaciones de %n pista(s)Deshacer cambios de BPM/pulsaciones de %n pista(s) - + Locking BPM of %n track(s) Bloqueando BPM de %n% pista(s)Bloqueando BPM de %n% pista(s)Bloqueando BPM de %n% pista(s) - + Unlocking BPM of %n track(s) Desbloqueando BPM de %n pista(s)Desbloqueando BPM de %n pista(s)Desbloqueando BPM de %n pista(s) - + Setting rating of %n track(s) Definiendo evaluación de %n pistaDefiniendo evaluación de %n pistasDefiniendo evaluación de %n pista(s) - + Setting color of %n track(s) configuración de color de %n pista(s)configuración de color de %n pista(s)configuración de color de %n pista(s) - + Resetting play count of %n track(s) Restablecimiento del conteo de reproducción de %n pista(s)Restablecimiento del conteo de reproducción de %n pista(s)Restablecimiento del conteo de reproducción de %n pista(s) - + Resetting beats of %n track(s) Restableciendo beats de %n pista(s)Restableciendo beats de %n pista(s)Restableciendo beats de %n pista(s) - + Clearing rating of %n track(s) Limpiando clasificación de %n pista(s)Limpiando clasificación de %n pista(s)Limpiando clasificación de %n pista(s) - + Clearing comment of %n track(s) Borrando comentarios de %n pistaBorrando comentarios de %n pistasBorrando comentarios de %n pista(s) - + Removing main cue from %n track(s) Eliminando la marca principal de %n pista(s)Eliminando la marca principal de %n pista(s)Eliminando la marca principal de %n pista(s) - + Removing outro cue from %n track(s) Eliminando la marca de salida de %n pista(s)Eliminando la marca de salida de %n pista(s)Eliminando la marca de salida de %n pista(s) - + Removing intro cue from %n track(s) Removiendo la marca de entrada de %n pista(s)Removiendo la marca de entrada de %n pista(s)Removiendo la marca de entrada de %n pista(s) - + Removing loop cues from %n track(s) Removiendo marcas de bucles de %n pista(s)Removiendo marcas de bucles de %n pista(s)Removiendo marcas de bucles de %n pista(s) - + Removing hot cues from %n track(s) Removiendo los hot cues de %n pista(s)Removiendo los hot cues de %n pista(s)Removiendo los accesos directos de %n pista(s) - + Sorting hotcues of %n track(s) by position (remove offsets) Ordenando hotcues de %n pista por posición (removiendo desfases)Ordenando hotcues de %n pistas por posición (removiendo desfases)Ordenando hotcues de %n pistas(s) por posición (removiendo desfases) - + Sorting hotcues of %n track(s) by position Ordenando hotcues de %n pista por posiciónOrdenando hotcues de %n pistas por posiciónOrdenando hotcues de %n pista(s) por posición - + Resetting keys of %n track(s) Restableciendo claves de %n pista(s)Restableciendo claves de %n pista(s)Restableciendo claves de %n pista(s) - + Resetting replay gain of %n track(s) Restablecimiento de la ganancia de reproducción de %n pista(s)Restablecimiento de la ganancia de reproducción de %n pista(s)Restablecimiento de la ganancia de reproducción de %n pista(s) - + Resetting waveform of %n track(s) Restableciendo forma de onda de %n pista(s)Restableciendo forma de onda de %n pista(s)Restableciendo forma de onda de %n pista(s) - + Resetting all performance metadata of %n track(s) Restableciendo meta datos de desempeño de %n pista(s)Restableciendo meta datos de desempeño de %n pista(s)Restableciendo meta datos de desempeño de %n pista(s) - + Move these files to the trash bin? ¿Mover estos archivos a la papelera? - + Permanently delete these files from disk? ¿Eliminar permanentemente estos archivos del disco? - - + + This can not be undone! ¡Esto no puede ser revertido! - + Cancel Cancelar - + Delete Files Eliminar archivos - + Okay Okey - + Move Track File(s) to Trash? ¿Mover los archivos de seguimiento a la papelera? - + Track Files Deleted Pistas eliminadas - + Track Files Moved To Trash Archivos de seguimiento movidos a la papelera - + %1 track files were moved to trash and purged from the Mixxx database. %1 archivos de pista fueron movidos a la papelera y purgados de la base de datos de Mixxx. - + %1 track files were deleted from disk and purged from the Mixxx database. %1 archivos de pistas han sido eliminados y se ha purgado de la base de datos de Mixxx. - + Track File Deleted Archivo de Pista Eliminado - + Track file was deleted from disk and purged from the Mixxx database. El archivo de pista ha sido eliminado del disco y purgado de la base de datos de Mixxx - + The following %1 file(s) could not be deleted from disk No se han podido eliminar del disco los siguientes %1 archivo(s) - + This track file could not be deleted from disk Este archivo de pista no se ha podido borrar del disco - + Remaining Track File(s) Renombrando archivo(s) de pista - + Close Cerrar - + Clear Reset metadata in right click track context menu in library Climpiar - + Loops Bucles - + Clear BPM and Beatgrid Limpia las BPM y la cuadrícula de tiempo - + Undo last BPM/beats change Revertir el último cambio de BPM/pulsaciones - + Move this track file to the trash bin? ¿Mover este archivo de pista a la papelera? - + Permanently delete this track file from disk? ¿Eliminar permanentemente este archivo de pista del disco? - + All decks where these tracks are loaded will be stopped and the tracks will be ejected. Todos los platos donde estas pistas hayan sido cargadas se detendrán, y las pistas serán expulsadas. - + All decks where this track is loaded will be stopped and the track will be ejected. Todos los platos donde esta pista haya sido cargada se detendrán, y la pista será expulsada. - + Removing %n track file(s) from disk... Removiendo %n archivo(s) de pista del disco... - + Note: if you are in the Computer or Recording view you need to click the current view again to see changes. Nota: si estás en la vista Ordenador o Grabación tienes que volver a hacer clic en la vista actual para ver los cambios. - + Track File Moved To Trash Archivo de seguimiento movido a la papelera - + Track file was moved to trash and purged from the Mixxx database. El archivo de seguimiento se ha movido a la papelera y se ha eliminado de la base de datos de Mixxx. - + Don't show again during this session No mostrar nuevamente durante esta sesión - + The following %1 file(s) could not be moved to trash El/los siguiente(s) %1 archivo(s) no pudieron ser movidos a la papelera - + This track file could not be moved to trash Este archivo de pista no se ha podido mover a la papelera + + + Replace current Auto DJ queue? + + + + + Do you want to replace the entire Auto DJ queue with the selected tracks? + + + + + Don't ask again during this session + + - + Setting cover art of %n track(s) Setting cover art of %n track(s)Setting cover art of %n track(s)Poniendo portadas de %n pista(s) - + Reloading cover art of %n track(s) Reloading cover art of %n track(s)Reloading cover art of %n track(s)Recarga de portadas de %n pista(s) @@ -17017,37 +17536,37 @@ Carpeta: %2 WTrackTableView - + Confirm track hide Confirmar ocultar pista - + Are you sure you want to hide the selected tracks? ¿Estas seguro de que quieres ocultar las pistas seleccionadas? - + Are you sure you want to remove the selected tracks from AutoDJ queue? ¿Esta seguro de que quiere eliminar las pistas seleccionadas de la cola del AutoDJ? - + Are you sure you want to remove the selected tracks from this crate? Estás seguro que quieres eliminar las pistas seleccionada de este cajón? - + Are you sure you want to remove the selected tracks from this playlist? ¿Esta seguro de que desea eliminar las pistas seleccionadas de la lista de reproducción? - + Don't ask again during this session No volver a preguntar durante esta sesión - + Confirm track removal Confirmar eliminación del track @@ -17055,12 +17574,12 @@ Carpeta: %2 WTrackTableViewHeader - + Show or hide columns. Mostrar u ocultar columnas. - + Shuffle Tracks Mezclar pistas @@ -17068,52 +17587,52 @@ Carpeta: %2 mixxx::CoreServices - + fonts tipos de letra - + database base de datos - + effects efectos - + audio interface interface de sonido - + decks decks - + library Biblioteca - + Choose music library directory Elija el directorio de la biblioteca de la música - + controllers Controladores - + Cannot open database No se puede abrir la base de datos - + Unable to establish a database connection. Mixxx requires QT with SQLite support. Please read the Qt SQL driver documentation for information on how to build it. @@ -17271,6 +17790,24 @@ Pulse Aceptar para salir. La solicitud de la red no ha empezado + + mixxx::qml::QmlApplication + + + Existing user profile detected + + + + + Trying to run Mixxx 3.0 with an existing %0 user profile! <br><br>There is <b>serious risks</b> of data loss and corruption.<br>We recommend using a test profile folder with the '--settings-path' argument. <br><br>If you want to continue at your own risk, run Mixxx with the argument '--allow-dangerous-data-corruption-risk'. + + + + + Ok + + + mixxx::qml::QmlVisibleEffectsModel @@ -17279,4 +17816,27 @@ Pulse Aceptar para salir. Ningún efecto cargado. + + mixxx::qml::QmlWaveformRendererMark + + + Cannot find the marker pixmap + + + + + Cannot find the marker endPixmap + + + + + Cannot find the marker icon + + + + + Cannot find the marker endIcon + + + \ No newline at end of file diff --git a/res/translations/mixxx_es_CO.qm b/res/translations/mixxx_es_CO.qm index 966ca9937c8a2ff8cc1047390129e216c76976c5..a1b6d9f0595026270da3633517cf0153514a5006 100644 GIT binary patch delta 25660 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

  • |I(5&8~V=S8eeOl;1|((UwkR*x51K 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 delta 24820 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 z zF$~|2q~A$|5A-EvR<(#2WCO3ai;?fu5DgzMMw(ZUHg%5}xiTLfk(+LaT&|k$U)(r$ zMvOX+;rL#EF{Tg`42=R7KTo9m3R!4dDN={pVf%FzRs|DH@qA(Jhke2Rzliz2p+Rw-grjH!Y1^)f zEU()n?aLI|&txPd`isRC7Lr%IBtG;*hx$De%XDC&M~PT5<1w7q(PE9fgp^U|M80!J z327Rhi*5!ov~ofv|c&f8*B_d`e&{9SC$#CScwU2OSqHz}5RqWBbg z{Gd&IUXT610~d*{^Rf_JP8B81aip1eOO)m!J`iwFY^w`J$9@oBR$34VZ56u%k-#wb znb`dZ<^Qu@IQP_rljcC0*n2sW^d>8La^3lJD^E(oV#%GEPMo?&?zqmXrfwVDJars^x(fux>J}ZEf zxaZ=E7lv&&u0m;+^Rl?s7Zb*=J>q&)Ja##ml81e+~iaYx;j5ZrZ(~yOv?Yu+$ycsO2J1%~);6sM(k>bHo#0j2!Djsg= z3$uHUX!$`;6tzP<-9C+|xJrexU;SC}Z1zy7!?VO6sSio}$7Io#3|(;RAT#MA=kDJ+ z^MGH@`o$luUo7F!;LzfbtJW`8UfWgm*k5N-TwMZnKCZQax<0OuK;0%E4;n`fvQZiZ zQVc!;farw#80WC11;)7k60GwM_#F`8?r zQlJAaAPbquPG+Do;o6LI_p>zIH{;syuM`O*wjoI#m|lP>tZ)HyoK?9kg?p9JZAd%i+3WCh+#vUe0z z)IO+1C7a9fvC@yZ8Qd}JI`u!7&9GqwUMr0gLJ9R9TbZ$+Q^C`?&kh4J>A9K z^mRXbLFYv(#Z%Gmbka)jfd6!?>Ei6&6T^ygKu!5*A#%?x&AXPER3 zbGpfz>CjtkDVgaRZcaOF24kvSzrbu-s5i`o94s{0l3w(E;0l_iHpT|5iNN?mn5?*G zLJJJIwgRRUHty{1OvK%EiojOuPzpoWLb2I;1O=(xa?87$WDYzZi!xRSh5`42@Lo3R za-X|PhT}K5gA?Iks@|GmvKbs!n_Zt~PBrNhGtwhML&JhYhl~i)8*C1<-4QX?YK<{4 zTaZ3D8&Vq)8Xi8l3gf77&P#piEf7AjV0L%c!%9il)7(+Fh&82|j1E(h-iYc=cGr^C zx;|Bx*6Jq8p6{up7N|5gK|-u9&!>u)k3Slyasym4P!b5@mIDj^{b`7+u~PC1wbFtP n4F1ts84x63@DF`K BasePlaylistFeature - + New Playlist Nov seznam predvajanja @@ -160,7 +160,7 @@ - + Create New Playlist Ustvari nov seznam predvajanja @@ -190,113 +190,120 @@ Podvoji - - + + Import Playlist Uvozi seznam predvajanja - + Export Track Files Izvozi datoteke skladb - + Analyze entire Playlist Analiziraj celoten seznam predvajanja - + Enter new name for playlist: Vnesi novo ime seznama predvajanja: - + Duplicate Playlist Podvoji seznam predvajanja - - + + Enter name for new playlist: Vnesi ime seznama predvajanja: - - + + Export Playlist Izvozi seznam predvajanja - + Add to Auto DJ Queue (replace) Dodaj v zaporedje samodejnega DJ-a (zamenjaj) - + + + Export to Engine DJ + "Engine DJ" is a product name and must not be translated. + + + + Rename Playlist Preimenuj seznam predvajanja - - + + Renaming Playlist Failed Napaka pri preimenovanju seznama predvajanja - - - + + + A playlist by that name already exists. Seznam predvajanja s tem imenom že obstaja. - - - + + + A playlist cannot have a blank name. Seznam predvajanja ne more biti brez imena. - + _copy //: Appendix to default name when duplicating a playlist _kopija - - - - - - + + + + + + Playlist Creation Failed Ustvarjanje seznama predvajanja je spodletelo - - + + An unknown error occurred while creating playlist: Neznana napaka pri ustvarjanju novega seznama predvajanja: - + Confirm Deletion Potrdite izbris - + Do you really want to delete playlist <b>%1</b>? Ali res želite izbrisati seznam predvajanja <b>%1</b>? - + M3U Playlist (*.m3u) M3U seznam predvajanja (*.m3u) - + M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Text CSV (*.csv);;Readable Text (*.txt) M3U seznam predvajanja (*.m3u);;M3U8 seznam predvajanja (*.m3u8);;PLS seznam predvajanja (*.pls);;z vejicami ločen tekst (*.csv);;berljiv tekst (*.txt) @@ -304,12 +311,12 @@ BaseSqlTableModel - + # št. - + Timestamp časovni žig @@ -317,7 +324,7 @@ BaseTrackPlayerImpl - + Couldn't load track. Ne morem naložiti skladbe. @@ -325,142 +332,142 @@ BaseTrackTableModel - + Album Album - + Album Artist Izvajalec albuma - + Artist Izvajalec - + Bitrate Bitna hitrost - + BPM BPM - + Channels Kanali - + Color Barva - + Comment Komentar - + Composer Skladatelj - + Cover Art Naslovnica - + Date Added Datum dodajanja - + Last Played Nazadnje predvajano - + Duration Trajanje - + Type Vrsta - + Genre Zvrst - + Grouping Grupiranje - + Key Tonaliteta - + Location Lokacija - + Overview - + Pregled - + Preview Predposlušanje - + Rating Ocena - + ReplayGain ReplayGain - + Samplerate Frekvenca vzorčenja - + Played Predvajano - + Title Naslov - + Track # Št. skladbe - + Year Leto - + Fetching image ... Tooltip text on the cover art column shown when the cover is read from disk Razčlenitev slike ... @@ -609,6 +616,16 @@ "Computer" lets you navigate, view, and load tracks from folders on your hard disk and external devices. "Računalnik" omogoča izbiranje, pregledovanje in nalaganje skladb iz map na vašem disku ali zunanjih naprav. + + + It shows the data from the file tags, not track data from your Mixxx library like other track views. + + + + + If you load a track file from here, it will be added to your library. + + BrowseTableModel @@ -3632,32 +3649,32 @@ trace - gornje + profilirna sporočila ControllerScriptEngineBase - + The functionality provided by this controller mapping will be disabled until the issue has been resolved. Funkcionalnost, ki jo ponuja to mapiranje kontrolerja, bo onemogočena, dokler težava ne bo razrešena. - + You can ignore this error for this session but you may experience erratic behavior. To napako lahko ignorirate za čas te seje, vendar lahko to povzroči nepričakovano obnašanje programa. - + Try to recover by resetting your controller. Poskusite odpraviti napako z restiranjem kontrolerja. - + Controller Mapping Error Napaka v mapiranju kontrolerja - + The mapping for your controller "%1" is not working properly. Mapiranje za kontroler "%1" ne deluje pravilno. - + The script code needs to be fixed. Kodo skripte je potrebno popraviti. @@ -3765,7 +3782,7 @@ trace - gornje + profilirna sporočila Uvozi zaboj - + Export Crate Izvozi zaboj @@ -3775,7 +3792,7 @@ trace - gornje + profilirna sporočila Odkleni - + An unknown error occurred while creating crate: Neznana napaka pri ustvarjanju zaboja: @@ -3801,17 +3818,17 @@ trace - gornje + profilirna sporočila Premineovanje zaboja ni uspelo - + Crate Creation Failed Ustvarjanje zaboja ni uspelo - + M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Text CSV (*.csv);;Readable Text (*.txt) M3U seznam predvajanja (*.m3u);;M3U8 seznam predvajanja (*.m3u8);;PLS seznam predvajanja (*.pls);;z vejicami ločen tekst (*.csv);;berljiv tekst (*.txt) - + M3U Playlist (*.m3u) M3U seznam predvajanja (*.m3u) @@ -3937,12 +3954,12 @@ trace - gornje + profilirna sporočila Bivši sodelujoči - + Official Website Uradna spletna stran - + Donate Doniraj @@ -3998,7 +4015,7 @@ trace - gornje + profilirna sporočila - + Analyze Analiziraj @@ -4043,17 +4060,17 @@ trace - gornje + profilirna sporočila Za izbrano skladbo izvede prepoznavanje ritmične mreže, tonalitete in ReplayGain ojačitve. Za izbrane skladbe ne ustvari valovnih oblik, da se ohrani prostor na disku. - + Stop Analysis Ustavi analizo - + Analyzing %1% %2/%3 Analiziram %1% %2/%3 - + Analyzing %1/%2 Analiziram %1/%2 @@ -4493,37 +4510,37 @@ Večinoma ustrvarja bolj kakovostno ritmično mrežo, vendar ne deluje dobro s s Če mapiranje ne deluje, poskusite vklopiti napredne možnosti in ponovno preizkusite kontrolo. ali kliknite na Ponovno, da bi ponovili prepoznavanje Midi kontrole. - + Didn't get any midi messages. Please try again. Nisem dobil midi sporočila. Prosim poskusite ponovno. - + Unable to detect a mapping -- please try again. Be sure to only touch one control at once. Ne najdem mapiranja - prosim poskusite znova. Uporabite le eno kontrolo naenkrat. - + Successfully mapped control: Uspešno mapirana kontrola: - + <i>Ready to learn %1</i> <i>Pripravljen za učenje %1</i> - + Learning: %1. Now move a control on your controller. Učenje: %1. Zdaj premaknite kontrolo na vašem kontrolerju. - + The selected control does not exist.<br>This likely a bug. Please report it on the Mixxx bug tracker.<br><a href='https://github.com/mixxxdj/mixxx/issues'>https://github.com/mixxxdj/mixxx/issues</a><br><br>You tried to learn: %1,%2 Izbrana kontrola ne obstaja. <br>To je verjetno hrošč. Prijavite ga na sledilnik Mixxx hroščev.<br><a href='https://github.com/mixxxdj/mixxx/issues'>https://github.com/mixxxdj/mixxx/issues</a><br><br>Poskusili ste z učenjem: %1,%2 - + The control you clicked in Mixxx is not learnable. This could be because you are either using an old skin and this control is no longer supported, or you clicked a control that provides visual feedback and can only be mapped to outputs like LEDs via scripts. @@ -5229,114 +5246,114 @@ associated with each key. DlgPrefController - + Apply device settings? Potrdim nastavitve za napravo? - + Your settings must be applied before starting the learning wizard. Apply settings and continue? Vaše nastavitve morajo biti potrjene pred zagonom čarovnika za učenje. Potrdim nastavitve in nadaljujem? - + None Brez - + %1 by %2 %1 z %2 - + Mapping has been edited Mapiranje je bilo spremenjeno - + Always overwrite during this session Vedno prepiši medsejo - + Save As Shrani kot - + Overwrite Prepiši - + Save user mapping Shrani mapiranje uporabnika - + Enter the name for saving the mapping to the user folder. Vnesite ime za shranjevanje mapiranja v uporabnikovo mapo. - + Saving mapping failed Shranjevanje mapiranja ni uspelo - + A mapping cannot have a blank name and may not contain special characters. Mapiranje ne more biti brez imena, ime pa ne sme vsebovati posebnih znakov. - + A mapping file with that name already exists. Mapiranje s tem imenom že obstaja. - + Do you want to save the changes? Ali bi radi shranili spremembe? - + Troubleshooting Odpravlajnje težav - + <font color='#BB0000'><b>If you use this mapping your controller may not work correctly. Please select another mapping or disable the controller.</b></font><br><br>This mapping was designed for a newer Mixxx Controller Engine and cannot be used on your current Mixxx installation.<br>Your Mixxx installation has Controller Engine version %1. This mapping requires a Controller Engine version >= %2.<br><br>For more information visit the wiki page on <a href='https://mixxx.org/wiki/doku.php/controller_engine_versions'>Controller Engine Versions</a>. <font color='#BB0000'><b>Če boste uporabili to mapiranje, kontroler morda ne bo deloval pravilno. Izberite drugo mapiranje ali onemogočite kontroler.</b></font><br><br>To mapiranje je bilo ustvarjeno za novejši Mixxx pogon za kontrolerje in ga ni mogoče uporabiti v trenutni Mixxx namestitvi.<br>Vaša Mixxx namestitev uporablja pogon različice %1. To mapiranje potrebuje pogon različice >=%2.<br><br>Več podatkov o tem se nahaja na wiki strani <a href='https://mixxx.org/wiki/doku.php/controller_engine_versions'>Različice pogonov za kontrolerje</a>. - + Mapping already exists. Mapiranje že obstaja. - + <b>%1</b> already exists in user mapping folder.<br>Overwrite or save with a new name? <b>%1</b> že obstaja v uporabnnikovi mapi z mapiranji. <br>Prepišem ali shranim pod novim imenom? - + Clear Input Mappings Počisti vhodno mapiranje - + Are you sure you want to clear all input mappings? Ste prepričani,d a želite počisititi vsa vhodna mapiranja? - + Clear Output Mappings Počisti izhodna mapiranja - + Are you sure you want to clear all output mappings? Ste prepričani, da želite počisititi vsa izhodna mapiranja? @@ -5667,6 +5684,16 @@ Potrdim nastavitve in nadaljujem? Multi-Sampling + + + Force 3D acceleration + + + + + If checked, Mixxx will always assume 3D acceleration is available. This may lead to pour performance if only CP-backed rendering is available.. + + Start in full-screen mode @@ -6281,62 +6308,62 @@ Vedno lahko skladbe tudi povlečete in sputite, da podvojite nek predvajalnik. DlgPrefInterface - + The minimum size of the selected skin is bigger than your screen resolution. Najmanjša velikost izbrane preobleke je večja od ločljivosti vašega zaslona. - + Allow screensaver to run Dovoli zagon ohranjevalniku zaslona - + Prevent screensaver from running Prepreči delovanje ohranjevalniku zaslona - + Prevent screensaver while playing Prepreči ohranjevalnik zaslona med predvajanjem - + Disabled - + 2x MSAA - + 4x MSAA - + 8x MSAA - + 16x MSAA - + This skin does not support color schemes Ta preobleka ne podpira barvnih shem - + Information Informacija - + Mixxx must be restarted before the new locale, scaling or multi-sampling settings will take effect. @@ -7506,173 +7533,172 @@ Ciljna glasnost je približna in predpostavlja, da ostaneta predojačitev in izh DlgPrefSound - + %1 Hz %1 Hz - + Default (long delay) Privzeto (dolg zamik) - + Experimental (no delay) Ekspermientalno (brez zamika) - + Disabled (short delay) Izklopljeno (kratek zamik) - + Soundcard Clock Ura zvočne kartice - + Network Clock Mrežna ura - + Direct monitor (recording and broadcasting only) Neposredni monitoring (samo pri snemanju in prenašanju) - + Disabled Izklopljeno - + Enabled Vklopljeno - + Stereo Stereo - + Mono Mono - + To enable Realtime scheduling (currently disabled), see the %1. Za vklop načrtovanja urnika v realnem času (trenutno izklopljeno) si oglejte %1. - + The %1 lists sound cards and controllers you may want to consider for using Mixxx. V %1 se nahaja seznam zvočnih kartic in kontrolerjev, ki so primerni za rabo z Mixxx. - + Mixxx DJ Hardware Guide Mixxx DJ vodnik po strojni opremi - + Information - + Mixxx must be restarted before the multi-threaded RubberBand setting change will take effect. - + auto (<= 1024 frames/period) samodejno (<= 1024 okvirjev/dobo) - + 2048 frames/period 2048 okvirjev/dobo - + 4096 frames/period 4096 okvirjev/dobo - + Are you sure? - + Distribute stereo channels into mono channels for parallel processing will result in a loss of mono compatibility and a diffuse stereo image. It is not recommended during broadcasting or recording. - + Are you sure you wish to proceed? - + No - + Yes, I know what I am doing - + Microphone inputs are out of time in the record & broadcast signal compared to what you hear. Mikrofonski vhodi so zamaknjeni v signalu za snemanje in prenašanje časovno zamaknjeni in ne ustrezajo temu kar slišite. - + Measure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. Izmerite latenco zvoka na krožni poti in jo vnesite zgoraj, za kompenzacijo latence mikrofona, da se poravna s časom mikrofona . - - + Refer to the Mixxx User Manual for details. Preverite Mixxx uporabniški priročnik za več podrobnosti. - + Configured latency has changed. Nastavljena latenca je bila spremenjena. - + Remeasure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. Ponovno izmerite latenco kroženja zvoka in jo vnesite zgoraj za kompenzacijo latence mikrofona in poravnavo časa mikrofona. - + Realtime scheduling is enabled. Načrtovanje urnika v realnem času je vklopljeno - + Main output only Zgolj glavni izhod - + Main and booth outputs Glavni in dodatni izhod - + %1 ms %1 ms - + Configuration error Napaka v konfiguraciji @@ -7690,131 +7716,131 @@ Ciljna glasnost je približna in predpostavlja, da ostaneta predojačitev in izh API knjižnica za zvok - + Sample Rate Frekvenca vzorčenja - + Audio Buffer Zvočni medpomnilnik - + Engine Clock Ura pogona - + Use soundcard clock for live audience setups and lowest latency.<br>Use network clock for broadcasting without a live audience. Za didžejanje pred živo publiko uporabite uro zvočne kartice in najnižjo možno latenco. <br>Za oddajanje preko spleta uporabite uro omrežja. - + Main Mix Glavni miks - + Main Output Mode Način glavnega izhoda - + Microphone Monitor Mode Način monitoringa mikrofona - + Microphone Latency Compensation Kompenzacija latence mikrofona - - - - + + + + ms milliseconds ms - + 20 ms 20 ms - + Buffer Underflow Count Števec premajhnega toka v medpomnilniku - + 0 0 - + Keylock/Pitch-Bending Engine Pogon za zaklepanja tonalitete/pregibanje višine - + Multi-Soundcard Synchronization Sinhronizacija več zvočnih kartic - + Output Izhod - + Input Vhod - + System Reported Latency Latenca, kot jo javlja sistem - + Enlarge your audio buffer if the underflow counter is increasing or you hear pops during playback. Povečajte medpomnilnik za zvok, če se števec za premajhen tok veča in je med predvajanjem slišati prasketanje. - + Main Output Delay Zamik glavnega izhoda - + Headphone Output Delay Zamik izhoda slušalk - + Booth Output Delay Zamik dodatnega izhoda - + Dual-threaded Stereo - + Hints and Diagnostics Namigi in diagnostika - + Downsize your audio buffer to improve Mixxx's responsiveness. Zmanjšajte medpomnilnik za zvok, da bi izboljšali odzivnost Mixxx. - + Query Devices Poizvej za napravami @@ -9374,27 +9400,27 @@ Večinoma ustrvarja bolj kakovostno ritmično mrežo, vendar ne deluje dobro s s EngineBuffer - + Soundtouch (faster) Soundtouch (hitreje) - + Rubberband (better) Rubberband (bolje) - + Rubberband R3 (near-hi-fi quality) Rubberband (skoraj hi-fi kakovost) - + Unknown, using Rubberband (better) Neznano, uporabljam rubberband (bolje) - + Unknown, using Soundtouch @@ -9609,15 +9635,15 @@ Večinoma ustrvarja bolj kakovostno ritmično mrežo, vendar ne deluje dobro s s LegacySkinParser - - + + Safe Mode Enabled Shown when Mixxx is running in safe mode. Vklopljen je varni način - - + + No OpenGL support. Shown when Spinny can not be displayed. Please keep @@ -9629,57 +9655,57 @@ Shown when VuMeter can not be displayed. Please keep OpenGL. - + activate aktiviraj - + toggle preklopi - + right desno - + left levo - + right small desno malo - + left small levo malo - + up gor - + down dol - + up small gor malo - + down small dol malo - + Shortcut Bližnjica @@ -9687,62 +9713,62 @@ OpenGL. Library - + This or a parent directory is already in your library. - + This or a listed directory does not exist or is inaccessible. Aborting the operation to avoid library inconsistencies - - + + This directory can not be read. - + An unknown error occurred. Aborting the operation to avoid library inconsistencies - + Can't add Directory to Library - + Could not add <b>%1</b> to your library. %2 - + Can't remove Directory from Library - + An unknown error occurred. - + This directory does not exist or is inaccessible. - + Relink Directory - + Could not relink <b>%1</b> to <b>%2</b>. %3 @@ -9752,22 +9778,22 @@ Aborting the operation to avoid library inconsistencies LibraryFeature - + Import Playlist Uvozi seznam predvajanja - + Playlist Files (*.m3u *.m3u8 *.pls *.csv) Datoteke seznama predvajanja (*.m3u *.m3u8 *.pls *.csv) - + Overwrite File? Prepišem datoteko? - + A playlist file with the name "%1" already exists. The default "m3u" extension was added because none was specified. @@ -9921,253 +9947,253 @@ Ali bi jo res radi prepisali? MixxxMainWindow - + Sound Device Busy Zvočna naprava je v rabi - + <b>Retry</b> after closing the other application or reconnecting a sound device <b>Ponovni poskus</b> po zaprtju drugih programov ali ponovne priključitve zvočne naprave - - - + + + <b>Reconfigure</b> Mixxx's sound device settings. <b>Rekonfiguriraj</b> nastavitve zvočne naprave v Mixxx. - - + + Get <b>Help</b> from the Mixxx Wiki. Poišči <b>pomoč</b> z Mixxx Wiki - - - + + + <b>Exit</b> Mixxx. <b>Zapusti</b> Mixxx - + Retry Poskusi znova - + skin preobleka - + Allow Mixxx to hide the menu bar? - + Hide Always show the menu bar? - + Always show - + The Mixxx menu bar is hidden and can be toggled with a single press of the <b>Alt</b> key.<br><br>Click <b>%1</b> to agree.<br><br>Click <b>%2</b> to disable that, for example if you don't use Mixxx with a keyboard.<br><br>You can change this setting any time in Preferences -> Interface.<br> Keep formatting tags <b> (bold text) and <br> (linebreak). %1 is the placeholder for the 'Always show' button label Mixxx meni je skrit in njegov prikaz se preklopi z enim pritiskom na <b>Alt</b> tipko.<br><br>Kliknite<b>%1</b> za potrditev.<br><br>Kliknite<b>%2</b>, če tega ne želite, ker denimo Mixxx ne uporabljate s tipkovnico.<br><br>Nastavitev lahko kadarkoli spremenite v Nastavitve -> Vmesnik<br> - + Ask me again - - + + Reconfigure Ponastavi - + Help Pomoč - - + + Exit Izhod - - + + Mixxx was unable to open all the configured sound devices. Mixxx ni mogel odpreti vseh zvočnih naprav - + Sound Device Error Napaka zvočne naprave - + <b>Retry</b> after fixing an issue <b>Ponoven poskus</b> po odpravi težave - + No Output Devices Ni izhodnih naprav - + Mixxx was configured without any output sound devices. Audio processing will be disabled without a configured output device. Mixxx je bil konfiguriran brez zvočne naprave. Procesiranje zvoka bo onemogočeno, če ni konfigurirane izhodne naprave. - + <b>Continue</b> without any outputs. <b>Nadaljuj</b> brez izhodnih naprav. - + Continue Nadaljuj - + Load track to Deck %1 Naloži skladbo v predvajalnik %1 - + Deck %1 is currently playing a track. Predvajalnik %1 trenutno predvaja skladbo - + Are you sure you want to load a new track? Ali ste prepričani, da želite naložiti novo skladbo? - + There is no input device selected for this vinyl control. Please select an input device in the sound hardware preferences first. Za izbrano gramofonsko upravljanje ni izbrane vhodne naprave. Izberite najprej vhodno napravo v nastavitvah strojne opreme za zvok. - + There is no input device selected for this passthrough control. Please select an input device in the sound hardware preferences first. Za ta prehod ni izbrana nobena vhodna naprava. Najprej izberite vhodno napravo v nastavitvah strojne opreme za zvok. - + There is no input device selected for this microphone. Do you want to select an input device? Za ta mikrofon ni izbrane vhodne naprave. Ali bi radi izbrali vhodno napravo? - + There is no input device selected for this auxiliary. Do you want to select an input device? Za to pomožnos vodilo ni izbrane vhodne naprave. Ali bi radi izbrali vhodno napravo? - + Scan took %1 - + No changes detected. - - + + %1 tracks in total - + %1 new tracks found - + %1 moved tracks detected - + %1 tracks are missing (%2 total) - + %1 tracks have been rediscovered - + Library scan finished - + Error in skin file Napaka v probleki - + The selected skin cannot be loaded. Izbrane preobleke ni mogoče naložiti. - + OpenGL Direct Rendering OpenGL neposredno renderiranje - + Direct rendering is not enabled on your machine.<br><br>This means that the waveform displays will be very<br><b>slow and may tax your CPU heavily</b>. Either update your<br>configuration to enable direct rendering, or disable<br>the waveform displays in the Mixxx preferences by selecting<br>"Empty" as the waveform display in the 'Interface' section. Na vašem računalniku ni vklopljeno strojno pospešeno neposredno upodabljanje oz. direct rendering<br><br>To pomeni, da bo prikazovanje valovnih oblik počasno<br><b>in da lahko močno obremenjuje procesor</b>. Posodobite konfiguracijo i<br>n vklopite neposredno upodabljanje ali pa izklopite <br>prikaz valovnih oblik v nastavitvah Mixxx-a, tako da izberete <br>Prazno kot valovno obliko v razdelku Vmesnik. - - - + + + Confirm Exit Zapustim? - + A deck is currently playing. Exit Mixxx? Eden od predvajalnikov trenutno predvaja. Zapustim Mixxx? - + A sampler is currently playing. Exit Mixxx? Eden od vzorčevalnikov trenutno predvaja. Zapustim Mixxx? - + The preferences window is still open. Okno z nastavitvami je še vedno odprto. - + Discard any changes and exit Mixxx? Zavržem vse spremembe in zapustim Mixxx? @@ -10183,13 +10209,13 @@ Ali bi radi izbrali vhodno napravo? PlaylistFeature - + Lock Zakleni - - + + Playlists Seznami predvajanja @@ -10199,32 +10225,58 @@ Ali bi radi izbrali vhodno napravo? - + + Unlock all playlists + + + + + Delete all unlocked playlists + + + + Unlock Odkleni - + + + Confirm Deletion + + + + + Do you really want to delete all unlocked playlists? + + + + + Deleting %1 unlocked playlists.<br>This operation can not be undone! + + + + Playlists are ordered lists of tracks that allow you to plan your DJ sets. Seznami predvajanja so urejeni seznami skladb, ki omogočajo načrtovanje DJ setov. - + It may be necessary to skip some tracks in your prepared playlist or add some different tracks in order to maintain the energy of your audience. Da bi obdržali energijo publike, bo morda potrebno preskočiti katero od vaših skladb ali dodati kakšno drugo. - + Some DJs construct playlists before they perform live, but others prefer to build them on-the-fly. Nekateri DJi ustvarijo sezname predvajanja še pred živim nastopom, spet drugi jih ustvarijo sproti. - + When using a playlist during a live DJ set, remember to always pay close attention to how your audience reacts to the music you've chosen to play. Če med DJanjem uporabljate seznam predvajanja, bodite pozorni na odziv publike na vaš izbor glasbe. - + Create New Playlist Ustvari nov seznam predvajanja @@ -11884,7 +11936,7 @@ Namig: kompenzira "veveričji" ali "renčeč" glasOjačenje, ki bo dodano zvočnemu signalu. Večja, kot je vrednost, bolj bo zvok popačen. - + Passthrough Prehod @@ -12048,12 +12100,12 @@ may introduce a 'pumping' effect and/or distortion. - + built-in - + missing @@ -12181,54 +12233,54 @@ may introduce a 'pumping' effect and/or distortion. RekordboxFeature - - - + + + Rekordbox Rekordbox - + Playlists Seznami predvajanja - + Folders Mape - + Reads databases exported for Pioneer CDJ / XDJ players using the Rekordbox Export mode.<br/>Rekordbox can only export to USB or SD devices with a FAT or HFS file system.<br/>Mixxx can read a database from any device that contains the database folders (<tt>PIONEER</tt> and <tt>Contents</tt>).<br/>Not supported are Rekordbox databases that have been moved to an external device via<br/><i>Preferences > Advanced > Database management</i>.<br/><br/>The following data is read: Bere podatkovne baze, ki so bile izvožene za Pioneer CDJ / XDJ predvajalnike z uporabo Rekordbox načina izvažanja. <br/> Rekrodbox lahko izvaža le na USB ali SD naprave s FAT ali HFS datotečnim sistemom. <br/>Mixxx zna brati podatkovne baze s poljubne naprave, ki vsebuje mapi s podatkovno bazo (<tt>PIONEER</tt> in <tt>Contents</tt>).<br/>Podatkovne baze, ki so bile na zunanji nosilec premaknjene preko <br/><i>Preferences > Advanced > Database management ne bodo delovale</i>.<br/><br/>Berejo se naslednji podatki: - + Hot cues Hotcue iztočnice - + Loops (only the first loop is currently usable in Mixxx) Zanke (Mixx lahko trenutno uporablja le prvo zanko) - + Check for attached Rekordbox USB / SD devices (refresh) Išči priključene Rekordbox USB/SD nosilce (osveži) - + Beatgrids Rimitčne mreže - + Memory cues Pomnilniške iztočnice - + (loading) Rekordbox (nalaganje) Rekordbox @@ -15473,47 +15525,47 @@ Tega ni mogoče razveljaviti! WCueMenuPopup - + Cue number Številka iztočnice - + Cue position Položaj iztočnice - + Edit cue label Uredi oznako cue iztočnice - + Label... Oznaka... - + Delete this cue Izbriši to iztočnico - + Toggle this cue type between normal cue and saved loop - + Left-click: Use the old size or the current beatloop size as the loop size Levi klik: Uporabi staro velikost trenutne ritmične zanke za velikost zanke - + Right-click: Use the current play position as loop end if it is after the cue - + Hotcue #%1 Hotcue iztočnica #%1 @@ -15638,323 +15690,353 @@ Tega ni mogoče razveljaviti! + Search in Current View... + + + + + Search for tracks in the current library view + + + + + Ctrl+f + + + + + Search in Tracks Library... + + + + + Search in the internal track collection under "Tracks" in the library + + + + + Ctrl+Shift+F + + + + Create &New Playlist Ustvari &nov seznam predvajanja - + Create a new playlist Ustvari nov seznam predvajanja - + Ctrl+n Ctrl+n - + Create New &Crate Ustvari nov &zaboj - + Create a new crate Ustvari nov zaboj - + Ctrl+Shift+N Ctrl+Shift+N - - + + &View &Prikaz - + Auto-hide menu bar - + Auto-hide the main menu bar when it's not used. - + May not be supported on all skins. Morda ni podprto v vseh preoblekah. - + Show Skin Settings Menu Prikaži nastavitve za preobleko - + Show the Skin Settings Menu of the currently selected Skin Prikaže menu z nastavitvami za trenutno preobleko. - + Ctrl+1 Menubar|View|Show Skin Settings Ctrl+1 - + Show Microphone Section Prikaži mikrofonski razdelek - + Show the microphone section of the Mixxx interface. V vmesniku Mixxx prikaži razdelek za upravlljanje mikrofonov. - + Ctrl+2 Menubar|View|Show Microphone Section Ctrl+2 - + Show Vinyl Control Section Prikaži razdelek za gramofonsko upravljanje - + Show the vinyl control section of the Mixxx interface. V vmesniku Mixxx prikaži razdelek za gramofonsko upravljanje. - + Ctrl+3 Menubar|View|Show Vinyl Control Section Ctrl+3 - + Show Preview Deck Prikaži predvajalnik za predposlušanje - + Show the preview deck in the Mixxx interface. V Mixxx vmesniku prikaže predvajalnik za predposlušanje. - + Ctrl+4 Menubar|View|Show Preview Deck Ctrl+4 - + Show Cover Art Prikaži naslovnico - + Show cover art in the Mixxx interface. V Mixxx vmesniku prikaže naslovnice. - + Ctrl+6 Menubar|View|Show Cover Art Ctrl+6 - + Maximize Library Povečaj zbirko - + Maximize the track library to take up all the available screen space. Poveča zbirko skladb preko celega zaslona - + Space Menubar|View|Maximize Library - + Prostor - + &Full Screen &Cel zaslon - + Display Mixxx using the full screen Prikaže Mixxx preko celega zaslona - + &Options &Možnosti - + &Vinyl Control &Gramofonsko upravljanje - + Use timecoded vinyls on external turntables to control Mixxx Upravljanje Mixxx z uporabo časovno kodiranih vinilnih plošče na zunanjih gramofonih. - + Enable Vinyl Control &%1 Vklopi gramofonsko upravljanje &%1 - + &Record Mix &Snemaj miks - + Record your mix to a file Snema miks v datoteko. - + Ctrl+R Ctrl+R - + Enable Live &Broadcasting Vklopi o&ddajanje v živo - + Stream your mixes to a shoutcast or icecast server Prenašaj svoje mikse na Shoutcast ali Icecast strežnik - + Ctrl+L Ctrl+L - + Enable &Keyboard Shortcuts Vklopi &bližnjice na tipkovnici - + Toggles keyboard shortcuts on or off Vklopi ali izklopi bližnjice na tipkovnici. - + Ctrl+` Ctrl+` - + &Preferences &Nastavitve - + Change Mixxx settings (e.g. playback, MIDI, controls) Spremeni Mixxx nastavitve (npr. predvajanje, MIDI, kontrole) - + &Developer &Razvijalec - + &Reload Skin &Naloži preobleko - + Reload the skin Ponovno naloži preobleko - + Ctrl+Shift+R Ctrl+Shift+R - + Developer &Tools Razvojna &orodja - + Opens the developer tools dialog Odpre dialog razvojnih orodji - + Ctrl+Shift+T Ctrl+Shift+T - + Stats: &Experiment Bucket Stat.: &Eksperimentalno vedro - + Enables experiment mode. Collects stats in the EXPERIMENT tracking bucket. Vklopi eksperimentalni način delovanja. Zbira statistiko v EXPERIMENT vedro za sledenje . - + Ctrl+Shift+E Ctrl+Shift+E - + Stats: &Base Bucket Stat.: &Osnovno vedro - + Enables base mode. Collects stats in the BASE tracking bucket. Vklopi bazični način delovanja. Statistiko zbira v osnovno vedro za sledenje. - + Ctrl+Shift+B Ctrl+Shift+B - + Deb&ugger Enabled Vklopi raz&hroščevalnik - + Enables the debugger during skin parsing Med preverjanjem preobleke vklopi razhroščevalnik. - + Ctrl+Shift+D Ctrl+Shift+D - + &Help &Pomoč - + Show Keywheel menu title Prikaži kvintni krog @@ -15971,74 +16053,74 @@ Tega ni mogoče razveljaviti! Izvozi knjižnico v Engine DJ format - + Show keywheel tooltip text Prikaže kvintni krog - + F12 Menubar|View|Show Keywheel F12 - + &Community Support Podpora &skupnosti - + Get help with Mixxx Poiščite pomoč za Mixxx - + &User Manual &Uporabniška navodila - + Read the Mixxx user manual. Preberite navodila za rabo Mixxx - + &Keyboard Shortcuts &Bližnjice na tipkovnici - + Speed up your workflow with keyboard shortcuts. Pohitrite delo z rabo bližnjic. - + &Settings directory Mapa za na&stavitve - + Open the Mixxx user settings directory. Odpre mapo z nastavitvami za Mixxx. - + &Translate This Application Prevedi &to aplikacijo - + Help translate this application into your language. Pomagajte prevesti ta program v svoj jezik. - + &About O progr&amu - + About the application O programu @@ -16073,25 +16155,13 @@ Tega ni mogoče razveljaviti! WSearchLineEdit - - Clear input - Clear the search bar input field - Počisti vhod - - - - Ctrl+F - Search|Focus - Ctrl+F - - - + Search noun Iskanje - + Clear input Počisti vhod @@ -16102,93 +16172,87 @@ Tega ni mogoče razveljaviti! Iskanje... - + Clear the search bar input field Počisti vnos iskalnika - - Enter a string to search for - Tukaj vnesite iskalni niz + + Return + Vrni se - - Use operators like bpm:115-128, artist:BooFar, -year:1990 - Uporabite operatorje, kot so bpm:115-128, atrist:BooFar,-year:1990 + + Enter a string to search for. + - - For more information see User Manual > Mixxx Library - Za več informaciji glej Uporabniška navodila>Mixxx zbirka + + Use operators like bpm:115-128, artist:BooFar, -year:1990. + - Shortcut - Bližnjica + See User Manual > Mixxx Library for more information. + - - Ctrl+F - Ctrl+F + + Focus/Select All (Search in current view) + Give search bar input focus + - - Focus - Give search bar input focus - Fokus + + Focus/Select All (Search in 'Tracks' library view) + - - - Ctrl+Backspace + + Additional Shortcuts When Focused: - Shortcuts - Bližnjice + Trigger search before search-as-you-type timeout or focus tracks view afterwards + - Return - Vrni se + Esc or Ctrl+Return + - Trigger search before search-as-you-type timeout orjump to tracks view afterwards - Sproži iskanje pre iztekom časa za išči-ko-tipkaš ali po tem skoži na prikaz skladbe + Immediately trigger search and focus tracks view + Exit search bar and leave focus + - + Ctrl+Space - + Toggle search history Shows/hides the search history entries Preklopi zgodovino iskanj - + Delete or Backspace - - Delete query from history - Izbris poizvedbe iz zgodovine - - - - Esc - Esc + + in search history + - - Exit search - Exit search bar and leave focus - Zapusti iskanje + + Delete query from history + Izbris poizvedbe iz zgodovine @@ -16944,37 +17008,37 @@ Tega ni mogoče razveljaviti! WTrackTableView - + Confirm track hide Potrditev skritja skladbe - + Are you sure you want to hide the selected tracks? Ali res želite skriti izbrane skladbe? - + Are you sure you want to remove the selected tracks from AutoDJ queue? Ali res želite odstraniti izbrane skladbe iz zaporedja Samodejnega DJ? - + Are you sure you want to remove the selected tracks from this crate? Ali res želite odstraniti izbrane skladbe iz tega zaboja? - + Are you sure you want to remove the selected tracks from this playlist? Ali res želite odstraniti izbrane skladbe s tega seznama? - + Don't ask again during this session Ne sprašuj med to sejo - + Confirm track removal Potrditev odstranitve skladb @@ -16995,52 +17059,52 @@ Tega ni mogoče razveljaviti! mixxx::CoreServices - + fonts pisave - + database podatkovna baza - + effects učinki - + audio interface zvočni vmesnik - + decks predvajalnikov - + library knjižnica - + Choose music library directory Izberi mapo glasbene zbirke - + controllers kontroler - + Cannot open database Ni možno odpreti baze podatkov. - + Unable to establish a database connection. Mixxx requires QT with SQLite support. Please read the Qt SQL driver documentation for information on how to build it. @@ -17053,68 +17117,78 @@ Pritisnite OK za izhod. mixxx::DlgLibraryExport - + Entire music library Celotna glasbena knjižnica - - Selected crates - Izbrani zabojniki + + Crates + + + + + Playlists + + + + + Selected crates/playlists + - + Browse Brskaj - + Export directory Izvozna mapa - + Database version Različica podatkovne baze - + Export Izvoz - + Cancel Prekliči - + Export Library to Engine DJ "Engine DJ" must not be translated &Izvozi knjižnico v Engine DJ - + Export Library To Izvoz knižnice v - + No Export Directory Chosen Za izvažanje ni izbrana mapa - + No export directory was chosen. Please choose a directory in order to export the music library. Nobena mapa ni bila izbrana za izvažanje. Izberite mapo, če želite izvoziti glasbeno knjižnico. - + A database already exists in the chosen directory. Exported tracks will be added into this database. Podatkovna baza že obstaja v izbrani mapi. Izvožene mape bodo dodane v to bazo podatkov. - + A database already exists in the chosen directory, but there was a problem loading it. Export is not guaranteed to succeed in this situation. Podatkovna baza že obstaja v izbrani mapi, vendar se je pojavila težava ob njenem nalaganju. V tem primeru ni mogoče zagotoviti uspešnega izvoza. @@ -17135,7 +17209,7 @@ Pritisnite OK za izhod. mixxx::EnginePrimeExportJob - + Failed to export track %1 - %2: %3 %1 is the artist %2 is the title and %3 is the original error message @@ -17145,22 +17219,22 @@ Pritisnite OK za izhod. mixxx::LibraryExporter - + Export Completed Izvoz je končan - - Exported %1 track(s) and %2 crate(s). - Izvoženo je bilo %1 skladb in %2 zabojnikov + + Exported %1 track(s), %2 crate(s), and %3 playlist(s). + - + Export Failed Izvoz ni uspel - + Exporting to Engine DJ... Izvažanje v Engine DJ... diff --git a/res/translations/mixxx_sq_AL.qm b/res/translations/mixxx_sq_AL.qm index bbe819290c6d0d3d8aba4205cce344fab07a01c1..d8bcf44004d31c4643c23c392110ae5aecacab8e 100644 GIT binary patch delta 13043 zcmbuF2UrwY*XPf@-PJjWIUu5d0xDv{F`<${P!uqLB2h&V6v3>mD5IicXcY`&#)ud& z>liUB<~U|BV9r_Ge^`K7p8b3nG~hQQOa84DKrfUm;(D{usv=<_q8`mKp|$(0y$1&kopHWKq2h`vL)R8rATh`6kJ7gc#FiZBZ&MUrA&#u-dQ4l58}E_L_rgXwr3D^iUoHN zb;07SUr21cS0w9sTw*^D&~%d66+!%h+qy_>{GO<5Q=j+WC=W zrn>3G8f1{n!*X^?5NFr6KgrWH#6nXf#>q&&;RumePm=HOCR$#ZcHJexr!&ze zK_s*NOoCr?=;L0Atx`p@f$b%p%_AW&m#9ZF2x;|fMncdiqGJj9XZIjsO);^`3nd1Xkgy?& zC>9fM#6%}+kZ>@bs22WiVbh@!_cs^GS|64;aHPbdFcQ9{QjQQaw^Gf+Z}hNXq3n`xOzS?HCH}?J2S0Fp&(WXZfCmgiDMyiR3mt zsN9%~Ft;44r2K`r?>4ILJ&xG@B&xOQ6EV}Q_GJ5846%u?$?lCGF{`gsw?Iy`&6ymV zeI-_76FIhkz1Fx(&X%+Owt}3`!%uv>O3s!uZ|f-Wdrzv5qhMWVA1!QItO|3$KT4=XV8UGJkB#NM0M(Dgd-%W2LM)63KKlc~h~+~}4KB+zL%-5WBFc)K%H zd=Wcqb%Y+bmJu5OGgWX$X-|{>a*_ZA9$lY1Za}4Y78G ztnGohkW?u1wy`6YlFT{}fdul3Sjg8qG>|v+W<55HBp$MY^$Nd1yiGY46;njqzXFTN zIz=?ao%Q#9M=a2dB}|1qPixHv^v4c9Y-fYy5V0*uT;GEY%J3leW(G_B9!acDDI4i@ ziMaX&8<~O6)AyQRsVbWsF0nCnLy7ZzHZJ}y8V+W+$c9*MKD*^)fF_(^#e1`ejd5fp72$p~OIc|u1Uag)#EH+@Yu7L$r$_8< z$r7UI8SI}4=x~;xWl#iD~N8k;`#_IWM@@q(>tOE z&3UDzZxK|_bKCNl;h2~6+8fh}lbPG?kH^IAxZUCAM3a4a{h+Qyi#AJqmdG3Et`Ku< z!<#fgrnmJoZ~C|yQNT^!{2<1C*pGYOHBBVm=qdL(2ctR^%Kg%>5U)6fcb$I;13uz? zg4M*Tb>z_8XOv-~qfhWD5m`hwjl1c zcuQh!3M6{>kr-SiF(#aw)@EZxd$#lSmRPjrgGlDRfN!_~qv~>)Z*=e`HscZB`o|5T zibjcJ!+60fq>``F`7WQ@h-t-q&$j)*2c zH_qS(cJ?H$|G|$r;HX=zG4W#uG4TXPe(Vxf-Xnyc$aP0h9K+9a%p}&mhs3^9_?ZuI z4;Qle*-YrhB?G^33&z!_}zBPtEycfybr^l!jRd?4y7N?!8biC9`o{(OQB@fK(K zmnm3qsGUgGArM5`+1*sazhvUZ?~nPHqww@oGx^uG)rbvU#>?`%6Z2Xnqo7H|qua^k z;=mp<;d~mg@_sVqk|bi+p2?KwA0SlSm1*8t?td!Nor2^%=Ew|7#t|zXAv4lTVx88> zj5Uz&G`Eu(Z=WQlH_K|&I0S!px|*zR(<8)!SIV3pLsXqTWv&e76h2JWY;8V7>LqL0 zWF0*AXIZNsH(?F)W$o^y!5`YmyaF?bon9jIz6&de3Y7&+S&CHink-;CBpS6t)~T>F z@m3>coh(W>rdZawo0+I^uEdisWZkT?knhA#lXdU+6OP7K)&m6)eaV$Yq+TPoDP7jP zUNd<5G+Cd(@~8@a%HrlBTDPk&8&ngeN1u1Hq4ie6(U!=D1|tD;J0eS?;l!GsmyMVR ze_5lWY|OriL_f#L#zvinE``g+myIOeYnE)HIL~d_#8ev-u~Zw`q_jvloFdu0eSL^F zxXZG?K-s=llC7>%L{!j3wze9Q=0I=R+QZ0s1CPr#3US0M9F^^Q1YM}tRd#IIP+~26 z%Z{thLWg7`c_S`6^`kw4cAD(WR*YZyhpcEeJn79(vMZMHzj({8W||HY?~o?D_cE4v zgEq1U#R42qj_lzYFGO)S*^}Wo;|D6))86^Sn%$JWq#|Oo+sfYdPa;armc6}dPZYdU z_W3cCGwr5a_bVLEl>)idj}T&`+sJD)4nc5M$ZO1i)Yf_ zOaqr-U^jWoPKSw&S}1R|2NHQ1DDUtRx-j^syj$!YVzqPRJ>#&0E?4Cdqw|T}uE_h2 zt3Xs7Ax|8RqN|6qJgMOgII>`Qs*V%gKPgY$f+GzIm8ZUAFwZ3UsLhe^7q=x2S|m4F zqkwBzTW*?Um^=-#D<4NG9N#QA)>cq`cLEq9j*`!7$z?` z*aOA+4f&3$6^TqIgXKH?@W8K&_HV$RgIFs{HL^ z?5O=)`8y@p!BzetJ(YO9X7bO|YGRxSiOE|f4$;ZWx?z0Pb%Ash;Av+Fa&ZG&1a06I z#Q$M$1*?+%NFnt?`H}C4);ft~(>4kYzGKn32@=V=b`{C(x(N>75JcJ*3JuQrA?0)x zny!KWFSOoS6^Yt@!9CnSbR^xhF(<=b^NGDMa}O;*1?cGLJ(NpNtTq3dRxrrWT@}!iE3pEcDIAktdc3 zeNC2&q=Q0VI1K7%D`$YBB@OmayBGkW1}TDeqjVuZ2ZZa$shH#N#Ex;whVmZLci+=7E8l^b(f&BIu+z3%OTX65T#4te*yZ zcX%tTKXHI)bD2n1XNR!<9KyLSN!TzK-GZP%VOtJbRi(+oj(5$S=3eifUHG*)|(mI-OS0r1TBXJMXf{rM>MpY9o zT{WZAV-~Ld(g{tFX(G9OUEyjQNOHg};YMC_Vz#4%+cEiw|3BUf_tGz+q--JFn+o&T ztrv=w@ZmRJ2@fkk621k(<7#qLdV7V(4s+47N*Bo{^bwxUMh3%92`^ehGBXzmFE#my zn(Ks*lb}nlj|gS8m%u8HDQH$4!mnPzBHt0zSs`0dN;E%JAzSwW`TuQig}!D*qAJZ4 z6)LEqrBfunkSi*B-N!)Dib@N9LEU3k*o)>kMI`Ggk=tb|?B_r-@^6Z|;@^*mWL@`* zM2@bgKMX1)!!736=dxn>yQ#zqLKUMGh!umn zC`PNW^B;8-V`lCq?p#AL{u`oX&1}UKQ-7pNwVNw4@4KV$_^6ov22n}#NHL?8Cv+f9 zF>|ITlF9_dJYVdufC&h^&7`Vqe#cA_PqKNB? zGgncix4x?=vILcG4vO>3G(^I5#l^td#P9EO6RNJph@ z*?uD9N{Pceie%fzD8&%cE<_~j`d%crd#iLR_YjWqn6mz_D4s*Dl?|pN;~Vxx*|6tD z6i(BWjV{F#S(TGG+FI$RDTJ}~AEa#IABiBQQ?_o@3kA>zWm`Es>Xk;ywxixc(leBv z9L7{5OBt+Cq1xV}>}oM;?A14A^cPrn zUoU0M#eu|bn3S=LAmA}ZW#7JAi6zce_Pu`+sp0MA%CY@V5_ey$9J{v}QTJQQ@z(E& z1>`9wpHUMt3{_4)-UhL#pK|&+yy~!F5}TweXMVzfRpu!d4@yO{yhXYEP(D%ZUdnYN z?w|p*LAh!4Phw9)lsoo)KwrjR`FjRb&(&IaWHJ_BmaQy2YPw8R=`}7cqoVp%d7NjX zRbEGVd>)SWw}#3yJJ%y4OIDtXZHi{$cI7qE7(A54^*Rw1O;bLVZzEEll{kEf@-Ai?D!I^Ht$N72ys_RDA}(|0Gvb#X2v6h`*`&JqSbF^o1&^ zAv|_R8`a>pGWe-5)o^wRlIfrtxg2T1R3FvYa2KK{Of~+y3yfu-Dt*!wVi)DAiHkkZ zjBIaGWhfjF#@nhgmf(!!4yw#^H&G;4me{w0YUTv&xF}CGXa7s$l@e5QK4XX5AFJkd z#)4%PRP%<&h}C_l%3dBzbYQP)!I+A~tOuwTX5z?Jq^TCQgGARfP%UYD0}EuT70qDn z8B0~UN3g-YrtPZL*PtwA4OMHh;D5T?sMe;I;)Y*T>x)a!_zhNVZ10Sn98hiC1LbsG zr`o(3Z<~HSquQzsLQu6)?Q+HamA5bupA|oSQ6Ou&pE1@@Emmy?Uy(QywBVm6zyJSK`*)YF)%uWbu2{ z6>IDvI#Hmu-fTdRy`9?jSrV~7j;rk|*&rCo)pl=wz`>pt$s1l)+oxkew;HMIeOW+k z=s7J{ zyZg068L&a^Iqn@ABu~};c#e0wq7Jwf59@fM4tyPsh1FCC^@BCEUMaD_tnO?D9SQEP z?(7&zJfO0=`_VhlsS*Hdx4yx`=0vJ@yx4=- zQdPYtt{91uPQ9n^5uzm>5i)lPoW_ap;TY#=SlQq zg!#un{N0z0^-a(dbRImpG_cUAi=%Sfk_W7t>ea zjoNJWt0s4d*YQ+;-2sn3Ynu97R!_nkSoOD^o53UMZ)el6u6F7ly|CUPFVtnp_*~dV z!}m5vopw$m-*kj{*P9yor_s>aIz2S1SXif16N&GSYmAS}h)o@?snu*ItnjF&UI)09 z+iFeyZqUtpk2MW_$Duvpp>f$&hODH#rjZ|1@BSD~qkIF3`X3rEH70EJR@0Fc6Ki@@ z6Wj=be4DHZ_dvGM@{J~V*YLUEboL!-hgZNINm^9xu@Cd zHwa# zWUYE6{K}kH+6w71;x6;Gm3y`$_Ux**s#OR?9;~f?4fh{S*EWc}L+s&Ht;?=+MCD?% zZIrjrqW9@-L&4zvrK3k*46q=9*U-XrZylRu_d6Qwqpba zym3JrR2}(9YbR|N2dr40q3!w^+GlO8jj9#~*R9bGd4!#IAnhcB4qX5T?d0DuPOaV& zo3<3mqWeo6FhM(|K6K?h*UqfT@nePZ+S&dl8)7@+wR74&BiaCkR%`F>L)br5sC{_sGG2aqYE933Lb+USXkTxJ-7d-2zCGzqY;t=Y|A7{BXBVB! zB8kLGx^kv6Voq0d<)-b&j}R{DDuj(gS(2u!G8NJINJCxiT5$3E47xf8(vjG>=^S#= z(mIf$tG5smY3!!+PEA28D@5mG?S$?@w$69XdldCeOwz?MCX&^fs|#4<1&ceT>)I`g zsBUA416NASY%7u_cGGp8gp_agWL=1*zzdryG483ZTMc;d%}QPOL5R{foOO{=ukiB= zABi77>!OYwMLsf1*I)J&FSt!RbOR>9lbIIilGCBJ+)kI~=z@C3NjEHH36!OkZaBw| zy9eurCnA+Qk)#`L+J?_&-N@fjZ2$2{H#!)i+#0EylJ^qj!BvT_dR^wtNW2>>Cz9O> z)y*>^9q9N`w~%3+hfcbMw|ApUczv1fw*&Eb#T2Vs(FO@ly(zji8)qZq(uw5Fp6Ir< z&|qQTb-%kEA?9h+9TIcO@47>0pvB)}b%h+Ftl=q=U7RhF*KeUadt(BA4OOhWJl&4i zSTEg`JvPL`7wfJzb|*3))Lk397(wLbTHW=UILo@jbvIHG#yxK8ZXZUT;F+kqa|fb5 zRYQ08=LZDAF1mYnp+w)C>WYy&a_@W)x+6QNdpNTb`mw`xrBw}R(sj_iy#{6Vp0E4r ziiy%TN=#p*` zO5erC3ngGpedtu|*i={FEf_m~G)&*K3|gPT^x>c2373(nhK&K+25smdzgR8)K*$4OU@x)?X~Y3ax6LUU|(6_I>Asxm~@=CVdC} zeOo)cXKke~ITA^9FGc_4CnPnmK>x1uA^43z{ZDmMoRqu7XGR0rM-s2W4V6D4c|Xbw zwiU|5UEDX=?p=qrtGB_S4_yA!afT+(B8jEHF}Rgj1k~2hHYkaB)%}LH7FGKZVQ7CI zztCb!>l(cJO+>RG*WgozKYaXY=vV?j^5UDJbNe)$#6Cmk-3W>vNrsS1?@%*G8A6^x z$x~+=!s_PZ#}Vrc-LpC&Ly9%@EV9PCyBI^yn>e}E=M53Hu0U4<4G|k*EUv+ZsA7Lq zn4X5%L|CuCpJCF-snEqYFAN#ME0Mr-mbmq!Ve0Avyuli6nEJL2D#8*&_Eju!RRcrL zZWzbOzJ?Xsqlq2#F|71WKx$gUu-UvEpU)Y#xNSquyx6d(L35Nf#fH5J?+{|18}^rM zLB$wvIPd`{b9ukvpwSa=z!MFJelZmh^WA7TIl&&v>1Md<0#VOW7;Y9|qH`w0ou=ba zvD!&AB#Y$rz8H!xA*b~!XLz{l5A=H$89p4viH=!r_<2kqUiY?97K4!CgMLGRr8TzJ zsM&D?#rI$A~I>VXp1%`mnz z;|QpwF?xVIF=l0qYf}v`ijErN<{=03sADuGY(i2syvR6U14P_8Pb6=&!Z>?cDKVP_ zlv?&aDsB$8?RS5g1&B5iDSkaZ`Q$4 zZm4OzRfFLz#ysP#&8Y|pR>s>;Ao(8dAC32-a6<)aj@rNH8!!?79W&L7cC4LFSW0z;=cjAr(_Vr&@!*9hrD1lNbg`)9qyb59` z1^!ohB&3?#``Z;%^iGl0_9j~jq%_>f)k@h#>bf(d)G8)^l~)k`E_@! zNL?wO22&#LA4$IWH-VD=dP37RelVW#jZQEh^0CQI3t*MA%Q9J&0$2a0M%(|_dQzfO zuq;A|P~*RLV)RUmk4~}epPU+-7H{q{!p2-W@L>JQ)Da_& zq#-m4W5;96XEc-&{(4H|nUXwoXy53#_!M*Fq#7=^IDs^bo{TvYFoWg)zprHI-=4Hg zGrmqYxBu)B4B<#Y7%~pRw z!-`VU0^f0@=Id?mb{m1lBNYKpmal2yUd;V$ZSj^qz(910&651q8wrY&TUM#Jzq z1)nAV@OQZxgHz&%CBzT6^@@)jXz>Nz-Ts3ylBl1k;r|s~ul(nTeN&PL{Zr)&&W;b{ zZS1KV7V@Xz{L^LqpQfV^iBJ98C>N&J>>xeO?)SB zW&<}64~HLv6^#@J~e=v>A^v;o}QF~&(WirE!U<9$2xfmbE??NzMJxt^~h-*Ez=n0|=--!C`Am*}FW`ZkG_(5XFF^Pyl_#6v*1u5P63S!}R>k&7Xr4nsz zMvD4Vh&dc0MHlR0`;#E{(8HO8(OP2NH_43fAYr!`(V|%-?0ZXWO2INCZ`@v6;(j*cCp@;{INQ}xN-r@*}LyC#k1(28w{pkHp zA}c*W;ut97*2yF;h9nvWo8^PoRVA|3)+DaNzRW2laa}nv!)2LXwMpDG2x1&X;${qV zq&JC2;)v|7%WU34=B`AEtogq(qj$(WK8M7Arx4ZA$!s1gk$IbM$p>NaGNb(@a@&=p zO1lEZ3L(|fNTPW&NVO7szBq?;-FriO!(=utl*l@`%klj%s>MBz9vc)mihEn0Z<{+5a6)Y@7=@y!R!hX+iZ11)@zcg3-DBJVUu7x@%yipJ+H?mKQ<`aObUd*Q@2Myr{-awlo$ie-KpZ$b`!8Y&C%QNpTU5A^ zuIzeG?4@}%-KcknX!r`5>C@@P=~QAJljx2eR_?c&?vI*Cyqy=7U&4yqe$vzS3Svn+ z>E$04#MPTHL5Qm-tZ!;IsFZM`cme&6pkZ5iMgsv ziOSltHqBEJXsnn=6NuQ{jCrhYM(puP=JC*uSnFS`!{HoAW;XM(b0C(mo&}G>%GY#b zAwSB9J1begP3dIjfn}_J_)X%iv)G{MQsP~MS@fJUMCP3=-sdB+u1PE*3wAtZI~y90 znZMf3MhKtaN;}A0S;|Iab|LmGi>3aIBv!K?OLw_UoSw7vOq^$YV&hgkCsKZwX$XzHej`<9-qi8ptvS*+5i`O|u7^RAvips~|Y-WGhAtB;I!CxQ#>_YpdL={)rMea!Kw~1Ye_JlQnF@1H{~C5k<&0!O4>&Yq`2w4>I^92d>rxrP$CIIs_o@`%EEv435mq>lC2&)wCD z-CxAn4Fs`6Ih>mxUPQLikn6UrBD$Eu4G~R=ZRyFa(moR1OypIUe?YQPi`!Se0vCOY z*WC=?{dF#PI24D0J939(t%xQb%9!W;l^a)8JF zhR9DY=JDaMmV_@nVeT|yO&0K>j}XPq-Q**qFJr)Ze8TQ)xSu!Ac>96aqaZ%@7$*F# zBhReBL{mKZJR^cyh^x$j&&)h$Z%<;K=E;0Bi7#hN~XsmnZ9jghGp~hxfpo+8@|yJe3lQB$UH9b z%}!p#GR<}Pj@vhhs+eS^{=*C3o`&7-=X<^DB6_XnMLQ1>SDxql{kFo+ck%uEP7t>m z$PdE=tL)Wmk`3in`PZ)9GJ3rxst#lv4PaMI3X?gs_WlT7D7C)8mNtFA6pY1+_ zSkOF~<^f0f+0SqUr!MewGqCq(wEU(QM1Mb+mxUtk4~*lFydgqkC;sS@3$fwJ{MBST z;?2GJ_vx5uV3I`EHWPdfYq00vXW+Vz<^20`xbVruf2_BGRovtiTlx}fe^)_)Q;A2E zDFoct%#7m{;)T&jJSHntd5OeIpDI)r9wG?cR%k!s2ObUz{h6bX#B+r)Zz8cpCU*8;MeG7I;;{P~MM{I!aHUa-lpaW}n*3CZrm>(#k(L3ESlLH0 z{y+xNmpzIJgZ@F0(MB<;BAs}jvx*GM0Pm|QGE(6mhV@lU9UTe(aYiw1mM8K4%M}X_ z41}ZEsmT2f9eW?7ShLiNxOEl9+UjuO8;2=2o5fh-+M|lSPq6oPGZiORq!4pms5q%P z2c_|l$X$vRXMS};7#^)SyCagg;k%-A9z5g4kBY078^4>VxQ2vQ@M{Ku;-wKBeYy~Py;i7yqJr4@ zZ9?;5dBhqe3GPA1h>f}|v@3#(f9xxCegj>IA1(BWDMJx@Q3#90LINtAg@|!mP&h6S z22Zpmx|JggANv;yi!nlClbi5RRzj+tLr1ufx*dD!^OunN5&of5Q{j(okwh^eGUKcS zb1jr+j^V;oV+O2cw~)0BN@uf9X5$KptixoP{ zwFwf|&p=+lR>(|BlgKu;lE~|)3Y+FUAog!l@F5rlmV-GUqUOIR!6)Dk@C%eM8vF_S z|Jg*?G?x?mIS5oB34I4vB33a5v;#MQNK7j32nCJviLN&h3N{TODlZmxjEo}ca#$$r ze3dBbl~8!3AIk8n!tNSX5Pq|S-M+YfqLomzxs15jLnujiBAWS4IK_7&8txNLRSkjt z=Z6WW6Re1N))dZLio;v|B=Wuug-hAV#CACdSNjJM3+*Xfn>2&yz*3pl>`t4&kH9!gs>wDXGNkH50zgtc@Gx$Q=AqX1teB(FX&Nl}LJPxZEsJkQVSl z)CE8yiSeShJvES;eHA?|?V6%3VkhwmDxb%qcVS1F`#keD5${4Co2ZS-MFK9?yu?doP+pOY0JK-XMlWP9#>_ zMhxGCCez6naloLKC`|IjL0$zYB43Due9)kZS}Kvb|B!hvRUA|}5$U^G9Q5KA(S#M^ z;C$?PY^uz`t;NCc9~8MzOi;jso{bXI8X#5-jSwfqmJkilo5iW-HpFa4h|_8!0qGtr zPRnjetnYGhdUq(GVagu5mIC*A|ye--`Pe1dD%n!HpVU6<7Em_$0)L`B&YEt}4ZiGhy#e&BTqT z4il|UmB?(~iW|=(o-5Xgn{otHIGN(kMQB3ZUoY?rHk(u(wiN`I?q4ZFRZ23i*+dae!-BD7F>Lp&jmW^JH zM!eQGh)6e6BCk_dyygK>M)wkL7PKN(y->Uxy@lAPcjEmimr*N@6z^xjDzYe=G-xA@dXKnb^BeCm_~`?sEAIUts{NPIExIk9gi#MkX1nm@0IZ?szwHXn*# zrb3CH{uC?f=AoHXSxJAzB3QjpvPhWK*LF(9Dij#AUnmtDJ`-J;s5I1u)l_e(w6@kj zIV)s7>Y%LB?E&tyL|JulTl5h$N=F~F#SVROU@^m^61iQb(s4etSol|2U$WB-iOlb- zL~gfF*=S4|vFmZlrVZg@=Qt=`>!M8;Fj3ipu;+WeDLwRm5wCt+*|EL}b-_1f*TDJ2 zs~k{vJqn2gXk|v^E4|G*^NGzJp!69LjZVlhnN5~TWC5LJMm&(nYuYM(N^xC-pGyDw z$IvlRDnna0C2HMR8NsR&%c`u5n2)Vmyh$0k<0W##0_DK1a6ln5WDfFCMlHg`-D8x| ziQtY?N^?y7G~zr&89TH&%&5IGVK(A&<)zBuZi|T?KT(c2zYnF^dF5EiEDg%BAG1(U z%vO$5B38tnRE|?a0-x-Z@V>0d<4Di@T~Vla#hZF;EB58gL2mU2gKP! z1 zto$eY4cfGh%Cpy2quA}IEVaaxKy#$>!U`=~lqq4jD| zK0f>hu?feOPqt1ZuK%fg7I_gt>7??x-5X-9>MEc6=OI5RlsV$D^7#muTh)5XmnFqW z*Y7D`*DOaZI8*th*Bqi2m6TtSAyKy$%3s@HE#@l^RhlIg$nA<$wHAaES?!X@oy%0U zu0mPfW~yp?qGY1=D!bT2#QVjn>?;ltnO4h8JSveD>{3ZV#nW0M^KT-N+r3t~RCL9??o^7P+@W%&Y#V1rciijq>`ns+Sqzd2NBJ_po$g_3Np6U&imV zkE_DIJtBI2R24O@kl2&2s;KWd@cl)q=u5+p99|fwidl*QQ!-V92k#&jb51q*0fNMp zzf}|BPa{3As+zDL!KkORYErFFXevEcO*^Y0CKjk>o%BF(ic!rvkB1etr^=&yxq?Muf^GLOI+;3tJf>pZ@nBg#dN2?BILK_=|s*2H$ zWuLQECC9H2RedLsyZu(3VIM8uU@Hb?FXSTIZ185{wdLeW@`KGL73o2b^Ru#Xu-@@*U!pAbLx`X zd2~&*>t3jvJPsw+t5EH_2{~o|u4>nJh!I{r)oyrTK`rm7TWi-~Ylo@bXM3U^xS%$B zDypLL*{$~N>_zw^bBe7*?yy7co4$*98(X#Csc!HGLF(?M7WpPw(10X$rqT&faEv-L4_hQSsb`$Og|azV=72xcb0=e^ z#~-WbA9@3`j8o75=76oRS1$CqbEk$VuUn}%7eP6j6{xpudyQf#%j=sERLpFnSzn>|Q<(g|_De31Ig7wlnCJ(<@&ssE{R20Kz9)ANPQtd$a3 z>*MNwE)PIO)I@#uHO$IStv;uK=Luif%kR`*zQe<5o@o>VveE5YFLT3ojqoypxaR_mK4J$l zBv(xp+ajXFuQau`8PVzZt+9WZNbFLv#-XYmvDqCo4)1?qs|1PMd4a}p3I@I$uW9go zF|mTQpL}o!tGumhd*}Eh7^w2~f7=&1G zLKE}yF+5+IW=I5nc&eUeNDL$Tt5`E+%y(GF2~B*tCt9*UC9>-2GGn7PLnp)BBI{^| z4_}A$JXNM^rbHI3(hN7_3l`Z~`heGbrb%@}yRA_xjoG4nJNIZZF2m*4h}2BG506;g zpqa79A5Siu%8cBi`MWQaH9K9i;$R-p!ylT}?XU$;hiLK}pn$nML$l*OCYE(Yv-@=s zVn|O-QEWLfr74=C!NqtK8>4A<6c2*vhp0K`H;w37H%)OY_DCR2$(ij)wL&ykhjbPpgiB(K#ncG}9~6nx0k=o3u?^r{!E&SB17gXSj8de^oPD;RW78|wiFSaX`pCNVN&?#ql@A(7W7ZQQm_1Uvb1USqLZ#i?x-z;f1I)t0n94X4u2OpWC<(1x+nb$aND?4_-)%e5FhP*-qQ`T35B~=>P9`m zO53{YrW*C||BH`~F5PwW{OpKr&eP5B z@RE1~Z{2+J0Tlg}+;odZC*tLRY~7;gkU;)9a24`1gKqU543ybb=HH8Dt|-#UPNPJ( zHXjY7UcNFTKTE_D1YJQf2AbMmw{;g*Y}~HfdK1n_KU258;S;3Xy>x{wk;K?u)S35K zyP%~$S|@RIL*2n0-|=j&s_t;@sd((sU3XH86}*bqo!L}IEOwRdY!SR(&-Ea5zpJ%G z*5;({lH*&{g|BqCavX_w&eq*p0&jQpp6=cOgzCM&bdOJ5AsV+&_bLp!)#Q%u-8R_d zLW5cN;j|~QiRpU&3k_qxp?ZZy5-~ygO6Ce;b&dK;GY{cynryvw=tQD6t@PEiVC6-F z^>ypOUl;o5>m8ngWF$%Nl#j;L?oIjzOCS;FB)wN^GO?Yr^xm~xh}F5E_nH3*ovb98 z2ir+x)y(Jg{!5W#|2U@a)n^WB_(Yj8HZms{N@Ou}^}VJdKbw9;A7ZJ~0*=Y-@1XBv z3wOM3g1+wvgxm`;`p7|V@w!BY%r|cOK_`wQiBRg}6)*50`mKKGWGMZZOZucKP+Bv0 z(2sU*imD}AKPDs(&BWIFu^cPzu}nX9IP$N<>-1yIJ8^zbpMDVLbGeRwTn~tH!xjDX zf;Ujk#WI^!($BaRiPrm7iR@|*{Q?tWd)H?AB@Fku6RlrzcOM>B-qinnI1bN&2I^ON z48ZvHGW6><&qJEzC6PCa((i1e#hXe$^#@xQ6Km(IKWa$?CnxKVo`n{F7^pAd5T&hB zB0GIXBCp?Ef9~dFyuGwqe`OYOgwzT8t3`H*fLHa`+&s}tY^}dO0dDW&8vTvh*h;6J z`kSfW&G3BH^mmUT=(o$)mz6=ZM|3`2Sh2M2B2#L6E>mGyt0d!}x#$Yut zfoQ(TQ0uz62eE$F4fcofVBhl%4f_|u<6SW{-CB-N+TGAC>;u}Z+2AMe2KbrSuiD^G zFdD1?*BQEnLo&Z!fzXi(H-qJ_FY)M^-y#7i;cdW+z_47Q8ad>r_UhuP2e$*=kra!4567MuvPxE26uBhV@sv zpwcZhZ2B2PJff|kU^0BX?G3}e71*-f^$kZdTA}1lF&tkD$u#e8xG)n|F=K_{Qsp(o z6>7uvZi&RMmKbiFdPsP!!ECrq_NZmv8}1pAb_g8|59}SVH`@%4iX+j%-eh?88={-- zV)z)0=(ac0@Efn)(7c^8ANm@}F_O4dg|XTfq~HhI8SSkrV?i~I_WL*BRh@}Or-6t8 z5B38#@Fh;=K-Yk+FkC`9AeEcDjHdvv8oX+mH-20UjE?EAaX2 ze~sNA!LdC0Y7Fi)8e8+(7`zWr(tVvV_cr+Jj47-J`%+nYn>Rg5L1{fnY!+M&97zdU6p{ek>qcLVU?AhzKacX)N9+^Kk zX7*T3RI{?ojm?Z%YoWEj#~QOfc;IPgZDZ~=OmOKc~k*T)#Gd|vX8~vL> z#?QyGw<))bzfXw7>)tRaqMH-zu*;e+{h}e=TCYQDdGE;h(n&lrw6Vct|>f%l;J;2l|6z5%xruKaf zp;Yc?YX9dPM9JAQ|9&8IrNY!P8zLunQ`AsTqHq4DSPvWY04q$f3y^VnM4A$|nvqH+ zsc_Jnc(u!>c{87*A+*Z0{5qas`S&rc$qYrRdc-7$+X_>DsT&@X-Y~7(jg|HsY1-0g z7E0~urb5I9diKGzs~vR0Fv3*S2Ip2Grb9UzV)hG6hnrd>L$op-Pq;_icev^J@I~+o zXHBQgwsVL@zcih;@ZG5Y@s!N>jV1EP;il6;8A!3LO;`Ivi$kB7u0HRL0y4#PJ#n_?zxNgT#AvF?rk{ zgbTHyru!qI6b(+9$_pX#+^(iq4KY)ABzdh+crh)8=f?Hom2wlNFkSZVahk$)<5si6+Y_5=3U5pg;DvW) zeiRDr<~amrOf1_ov5eiWvu9xi)A}{8MO`VCl4&?KqAnCgF*J-)Xry!$r^e2c690@{ zQ($o(zh8L&cZE{A!aLXAkK627;lmx7885m~9B!3J3Gh#eG?ZR~V{q$a z8iJ#dI8O#srO#t<)o}bv{O^-t()YtCiQ;je)c=O6<&~Hkmuw$ppOTuKkT}FXHOW3D zE-E=D-hOaWvI?^`^$o#!ZbLtAs-h$>tS9EbA1l04Vx&o$?5LYGq-APDC@QyoBW9!5 zd8H+!{_l3uWi_?rjTsE1(UkJvO+@dcn9(WH_iSo*QH4wHxzDU}?#G7QLBRAqb1zQk z*4bwU)M(MtJ1NYHBnEXF6Cqb-n zIE#WMmKONP~)DGzI?D^PjUoLs`$SXY25#`*&>Nl zY+;n7UQU>_Mg4~2`xHqYv670} BasePlaylistFeature - + New Playlist Luajlistë e Re @@ -160,7 +160,7 @@ - + Create New Playlist Krijo Luajlistë të Re @@ -190,113 +190,120 @@ Përsëdyte - - + + Import Playlist Importo Luajlistë - + Export Track Files Eksporto Kartela Pjesësh - + Analyze entire Playlist Analizo tërë Luajlistën - + Enter new name for playlist: Jepni emër të ri për luajlistën: - + Duplicate Playlist Përsëdyte Luajlistën - - + + Enter name for new playlist: Jepni emër për luajlistë të re: - - + + Export Playlist Eksporto Luajlistën - + Add to Auto DJ Queue (replace) Shtoje te Radhë Auto DJ-i (zëvendësoje) - + + + Export to Engine DJ + "Engine DJ" is a product name and must not be translated. + + + + Rename Playlist Riemërtoni Luajlistën - - + + Renaming Playlist Failed Riemërtimi i Luajlistës Dështoi - - - + + + A playlist by that name already exists. Ka tashmë një luajlistë me atë emër. - - - + + + A playlist cannot have a blank name. Një luajlistë s’mund të ketë emër të zbrazët. - + _copy //: Appendix to default name when duplicating a playlist _kopje - - - - - - + + + + + + Playlist Creation Failed Krijimi i Luajlistës Dështoi - - + + An unknown error occurred while creating playlist: Ndodhi një gabim i panjohur teksa krijohej luajlista: - + Confirm Deletion Ripohoni Fshirjen - + Do you really want to delete playlist <b>%1</b>? Doni vërtet të fshihet luajlista <b>%1</b>? - + M3U Playlist (*.m3u) Luajlistë M3U (*.m3u) - + M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Text CSV (*.csv);;Readable Text (*.txt) Luajlistë M3Ut (*.m3u);;Luajlistë M3U8 (*.m3u8);;Luajlistë PLS (*.pls);;Tekst CSV (*.csv);;Teskt i Lexueshëm (*.txt) @@ -304,12 +311,12 @@ BaseSqlTableModel - + # # - + Timestamp Vulë kohore @@ -317,7 +324,7 @@ BaseTrackPlayerImpl - + Couldn't load track. S’u ngarkua dot pjesë. @@ -325,137 +332,142 @@ BaseTrackTableModel - + Album Album - + Album Artist Artist Albumi - + Artist Artist - + Bitrate - + Bitrate - + BPM BPM - + Channels Kanale - + Color Ngjyrë - + Comment Koment - + Composer Kompozitor - + Cover Art Art Kopertine - + Date Added Datë Shtimi - + Last Played Luajtur Së Fundi Më - + Duration Kohëzgjatje - + Type Lloj - + Genre Zhanër - + Grouping Grupim - + Key Çelës - + Location Vendndodhje - + + Overview + + + + Preview Paraparje - + Rating Vlerësim - + ReplayGain - + ReplayGain - + Samplerate Shpejtësi kampionizimi - + Played - + E Luajtur - + Title Titull - + Track # Pjesa # - + Year Vit - + Fetching image ... Tooltip text on the cover art column shown when the cover is read from disk Po sillet figurë… @@ -543,67 +555,77 @@ BrowseFeature - + Add to Quick Links Shtoje te Lidhje të Shpejta - + Remove from Quick Links Hiqe nga Lidhje të Shpejta - + Add to Library Shtoje te Fonoteka - + Refresh directory tree Rifresko pemë drejtorish - + Quick Links Lidhje të Shpejta - - + + Devices Pajisje - + Removable Devices Pajisje të Heqshme - - + + Computer Kompjuter - + Music Directory Added U shtua Drejtori Muzike - + You added one or more music directories. The tracks in these directories won't be available until you rescan your library. Would you like to rescan now? Shtuat një ose më tepër drejtori muzike. Pjesët në këto drejtori s’do të jenë të përdorshme, deri sa të riskanoni fonotekën tuaj. Do të donit të riskanohet tani? - + Scan Skanoje - + "Computer" lets you navigate, view, and load tracks from folders on your hard disk and external devices. “Kompjuter” ju lejon të lëvizni nëpër, të shihni dhe të ngarkoni pjesë nga dosje prej hard diskut tuaj dhe pajisjesh të jashtme. + + + It shows the data from the file tags, not track data from your Mixxx library like other track views. + + + + + If you load a track file from here, it will be added to your library. + + BrowseTableModel @@ -680,12 +702,12 @@ Bitrate - + Bitrate ReplayGain - + ReplayGain @@ -966,7 +988,7 @@ trace - Above + Profiling messages Deck %1 - + Kuverta %1 @@ -976,7 +998,7 @@ trace - Above + Profiling messages Preview Deck %1 - + Inspekto Kuvertën %1 @@ -1012,7 +1034,7 @@ trace - Above + Profiling messages Crossfader - + Kryqzbehësi @@ -1175,7 +1197,7 @@ trace - Above + Profiling messages Equalizers - + Barazuesit @@ -1200,52 +1222,52 @@ trace - Above + Profiling messages Cues - + Shenjat Cue button - + Butoni i Shenjës Set cue point - + Vë Pikën e Shenjës Go to cue point - + Shko tek Pika e Shenjës Go to cue point and play - + Shko tek Pika e Shenjës edhe Luaje Go to cue point and stop - + Shko tek Pika e Shenjës edhe Ndalo Preview from cue point - + Inspekto nga Pika e Shenjës Cue button (CDJ mode) - + Butoni i Shenjës (Moda CDJ) Stutter cue - + Belbëzo Shenjën Hotcues - + Shenjat e Shpejta @@ -1255,27 +1277,27 @@ trace - Above + Profiling messages Clear hotcue %1 - + Zbraz Shenjën e Shpejte %1 Set hotcue %1 - + Vë Shenjën e Shpejte %1 Jump to hotcue %1 - + Kërce tek Shenja e Shpejtë %1 Jump to hotcue %1 and stop - + Kërce tek Shenja e Shpejte %1 edhe Ndalo Jump to hotcue %1 and play - + Kërce tek Shenja e Shpejtë %1 edhe Luaje @@ -3622,32 +3644,32 @@ trace - Above + Profiling messages ControllerScriptEngineBase - + The functionality provided by this controller mapping will be disabled until the issue has been resolved. Funksionet e dhëna nga ky përshoqërim kontrollori do të çaktivizohen, deri sa të jetë zgjidhur problemi. - + You can ignore this error for this session but you may experience erratic behavior. Mundeni ta shpërfillni këtë gabim për këtë sesion, por mund të hasni sjellje me gabime. - + Try to recover by resetting your controller. Provoni ta zgjidhni duke kthyer te parazgjedhjet kontrollorin tuaj. - + Controller Mapping Error Gabim Përshoqërimi Kontrollori - + The mapping for your controller "%1" is not working properly. Përshoqërimi për kontrollorin tuaj “%1” s’po funksionon si duhet. - + The script code needs to be fixed. Duhet ndrequr kodi i programthit. @@ -3755,7 +3777,7 @@ trace - Above + Profiling messages Importo Arkë - + Export Crate Eksporto Arkë @@ -3765,7 +3787,7 @@ trace - Above + Profiling messages Shkyçe - + An unknown error occurred while creating crate: Ndodhi një gabim i panjohur teksa krijohej arkë: @@ -3774,12 +3796,6 @@ trace - Above + Profiling messages Rename Crate Riemërtoni Arkën - - - - Export to Engine Prime - - Make a crate for your next gig, for your favorite electrohouse tracks, or for your most requested tracks. @@ -3797,17 +3813,17 @@ trace - Above + Profiling messages Riemërtimi i Arkës Dështoi - + Crate Creation Failed Krijimi i Arkës Dështoi - + M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Text CSV (*.csv);;Readable Text (*.txt) Luajlistë M3U (*.m3u);;Luajlistë M3U8 (*.m3u8);;Luajlistë PLS (*.pls);;Tekst CSV (*.csv);;Teskt i Lexueshëm (*.txt) - + M3U Playlist (*.m3u) Luajlistë M3U (*.m3u) @@ -3816,6 +3832,12 @@ trace - Above + Profiling messages Crates are a great way to help organize the music you want to DJ with. Arkat janë një mënyrë e goditur për t’ju ndihmuar të sistemoni muzikën me të cilën doni të bëni DJ-in. + + + + Export to Engine DJ + + Crates let you organize your music however you'd like! @@ -3927,12 +3949,12 @@ trace - Above + Profiling messages Kontribues të Dikurshëm - + Official Website Sajt Zyrtar - + Donate Dhuroni @@ -4454,37 +4476,37 @@ Often results in higher quality beatgrids, but will not do well on tracks that h - + Didn't get any midi messages. Please try again. - + Unable to detect a mapping -- please try again. Be sure to only touch one control at once. - + Successfully mapped control: - + <i>Ready to learn %1</i> - + Learning: %1. Now move a control on your controller. - + The selected control does not exist.<br>This likely a bug. Please report it on the Mixxx bug tracker.<br><a href='https://github.com/mixxxdj/mixxx/issues'>https://github.com/mixxxdj/mixxx/issues</a><br><br>You tried to learn: %1,%2 - + The control you clicked in Mixxx is not learnable. This could be because you are either using an old skin and this control is no longer supported, or you clicked a control that provides visual feedback and can only be mapped to outputs like LEDs via scripts. @@ -4523,17 +4545,17 @@ You tried to learn: %1,%2 - + Log Regjistër - + Search Kërko - + Stats Statistika @@ -4989,7 +5011,7 @@ Two source connections to the same server that have the same mountpoint can not Bitrate - + Bitrate @@ -5187,113 +5209,113 @@ ndihmëz rreth ngjyrës së përshoqëruar me secilin çelës. DlgPrefController - + Apply device settings? - + Your settings must be applied before starting the learning wizard. Apply settings and continue? - + None - + %1 by %2 - + Mapping has been edited - + Always overwrite during this session - + Save As - + Overwrite - + Save user mapping - + Enter the name for saving the mapping to the user folder. - + Saving mapping failed - + A mapping cannot have a blank name and may not contain special characters. - + A mapping file with that name already exists. - + Do you want to save the changes? - + Troubleshooting - + <font color='#BB0000'><b>If you use this mapping your controller may not work correctly. Please select another mapping or disable the controller.</b></font><br><br>This mapping was designed for a newer Mixxx Controller Engine and cannot be used on your current Mixxx installation.<br>Your Mixxx installation has Controller Engine version %1. This mapping requires a Controller Engine version >= %2.<br><br>For more information visit the wiki page on <a href='https://mixxx.org/wiki/doku.php/controller_engine_versions'>Controller Engine Versions</a>. - + Mapping already exists. - + <b>%1</b> already exists in user mapping folder.<br>Overwrite or save with a new name? - + Clear Input Mappings - + Are you sure you want to clear all input mappings? - + Clear Output Mappings - + Are you sure you want to clear all output mappings? @@ -5624,6 +5646,16 @@ Apply settings and continue? Multi-Sampling + + + Force 3D acceleration + + + + + If checked, Mixxx will always assume 3D acceleration is available. This may lead to pour performance if only CP-backed rendering is available.. + + Start in full-screen mode @@ -6215,62 +6247,62 @@ You can always drag-and-drop tracks on screen to clone a deck. DlgPrefInterface - + The minimum size of the selected skin is bigger than your screen resolution. - + Allow screensaver to run Lejoje ekrankursyesin të xhirojë - + Prevent screensaver from running Pengoje xhirimin e ekrankursyesit - + Prevent screensaver while playing Pengo ekrankursyesin, teksa luhet - + Disabled I çaktivizuar - + 2x MSAA 2x MSAA - + 4x MSAA 4x MSAA - + 8x MSAA 8x MSAA - + 16x MSAA 16x MSAA - + This skin does not support color schemes Kjo lëkrçe s’mbulon skema ngjyrash - + Information Hollësi - + Mixxx must be restarted before the new locale, scaling or multi-sampling settings will take effect. Mixxx-i duhet rinisuar, para se të hyjnë në fuqi rregullime për vendore të re, përshkallëzimi apo “multi-sampling”. @@ -7437,173 +7469,172 @@ The loudness target is approximate and assumes track pregain and main output lev DlgPrefSound - + %1 Hz %1 Hz - + Default (long delay) Parazgjedhje (vonesë e gjatë) - + Experimental (no delay) Eksperimentale (pa vonesë) - + Disabled (short delay) E çaktivizuar (vonesë e shkurtër) - + Soundcard Clock Sahat i Kartës së Zërit - + Network Clock Sahat i Rrjetit - + Direct monitor (recording and broadcasting only) - + Disabled E çaktivizuar - + Enabled E aktivizuar - + Stereo Stereo - + Mono Mono - + To enable Realtime scheduling (currently disabled), see the %1. - + The %1 lists sound cards and controllers you may want to consider for using Mixxx. %1 paraqet karta zëri dhe kontrollorë për të cilët mund të donit të shihnit mundësinë e përdorimit në Mixxx. - + Mixxx DJ Hardware Guide Udhërrëfyes Hardware-i DJ për Mixxx - + Information Hollësi - + Mixxx must be restarted before the multi-threaded RubberBand setting change will take effect. - + auto (<= 1024 frames/period) auto (<= 1024 kuadro/periudhë) - + 2048 frames/period 2048 kuadro/periudhë - + 4096 frames/period 4096 kuadro/periudhë - + Are you sure? Jeni i sigurt? - + Distribute stereo channels into mono channels for parallel processing will result in a loss of mono compatibility and a diffuse stereo image. It is not recommended during broadcasting or recording. - + Are you sure you wish to proceed? Jeni i sigurt se doni të vazhdohet? - + No Jo - + Yes, I know what I am doing Po, e di se ç’po bëj - + Microphone inputs are out of time in the record & broadcast signal compared to what you hear. - + Measure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. - - + Refer to the Mixxx User Manual for details. Për hollësi, shihni te Doracaku i Përdoruesit të Mixxx-it. - + Configured latency has changed. Vonesa e formësuar ka ndryshuar. - + Remeasure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. - + Realtime scheduling is enabled. - + Main output only - + Main and booth outputs - + %1 ms %1 ms - + Configuration error Gabim formësimi @@ -7621,131 +7652,131 @@ The loudness target is approximate and assumes track pregain and main output lev API Tingujsh - + Sample Rate Shpejtësi Kampionizimi - + Audio Buffer Buffer Audio - + Engine Clock - + Use soundcard clock for live audience setups and lowest latency.<br>Use network clock for broadcasting without a live audience. Për raste publiku drejtpërsëdrejti dhe vonesën më të ulët, përdorni sahat të kartës së zërit.<br>Për transmetim pa publik drejtpërsëdrejti, përdor sahat rrjeti. - + Main Mix - + Main Output Mode - + Microphone Monitor Mode - + Microphone Latency Compensation - - - - + + + + ms milliseconds ms - + 20 ms 20 ms - + Buffer Underflow Count - + 0 0 - + Keylock/Pitch-Bending Engine - + Multi-Soundcard Synchronization Njëkohësim i Disa Kartave Zanore Njëherësh - + Output - + Input - + System Reported Latency Vonesë e Raportuar për Sistemin - + Enlarge your audio buffer if the underflow counter is increasing or you hear pops during playback. - + Main Output Delay - + Headphone Output Delay - + Booth Output Delay - + Dual-threaded Stereo - + Hints and Diagnostics Ndihmëza dhe Diagnostikime - + Downsize your audio buffer to improve Mixxx's responsiveness. Që të përmirësoni shkallën e reagimit të Mixxx-it, zvogëloni buffer-in tuaj audio. - + Query Devices Kërko Për Pajisje @@ -8191,47 +8222,47 @@ Select from different types of displays for the waveform, which differ primarily DlgPreferences - + Sound Hardware Hardware Tingujsh - + Controllers Kontrollorë - + Library Fonotekë - + Interface Ndërfaqe - + Waveforms Valë - + Mixer Përzierës - + Auto DJ Auto DJ - + Decks - + Colors Ngjyra @@ -8266,47 +8297,47 @@ Select from different types of displays for the waveform, which differ primarily &Ok - + Effects Efekte - + Recording - + Beat Detection Pikasje Rrahjesh - + Key Detection Pikasje Çelësi - + Normalization Normalizim - + <font color='#BB0000'><b>Some preferences pages have errors. To apply the changes please first fix the issues.</b></font> <font color='#BB0000'><b>Disa faqe parapëlqimesh përmbajnë gabime. Që të aplikohen ndryshimet, së pari ndreqni problemet.</b></font> - + Vinyl Control Kontroll Vinili - + Live Broadcasting Transmetim i Drejtpërdrejtë - + Modplug Decoder @@ -9301,27 +9332,27 @@ Often results in higher quality beatgrids, but will not do well on tracks that h EngineBuffer - + Soundtouch (faster) - + Rubberband (better) - + Rubberband R3 (near-hi-fi quality) - + Unknown, using Rubberband (better) - + Unknown, using Soundtouch @@ -9536,15 +9567,15 @@ Often results in higher quality beatgrids, but will not do well on tracks that h LegacySkinParser - - + + Safe Mode Enabled Shown when Mixxx is running in safe mode. - - + + No OpenGL support. Shown when Spinny can not be displayed. Please keep @@ -9555,57 +9586,57 @@ Shown when VuMeter can not be displayed. Please keep - + activate - + toggle - + right - + left - + right small - + left small - + up - + down - + up small - + down small - + Shortcut Shkurtore @@ -9613,37 +9644,37 @@ Shown when VuMeter can not be displayed. Please keep Library - + This or a parent directory is already in your library. Kjo, ose një drejtori mëmë gjendet tashmë në fonotekën tuaj. - + This or a listed directory does not exist or is inaccessible. Aborting the operation to avoid library inconsistencies Kjo, ose një drejtori e paraqitur s’ekziston, ose s’kapet dot. Veprimi po ndërpritet, që të shmangen mospërputhje te fonoteka - - + + This directory can not be read. Kjo drejtori s’mund të lexohet. - + An unknown error occurred. Aborting the operation to avoid library inconsistencies Ndodhi një gabim i panjohur. Po ndërpritet veprimi, për të shmangur mospërputhje fonoteke - + Can't add Directory to Library S’shtohet dot Drejtori te Fonotekë - + Could not add <b>%1</b> to your library. %2 @@ -9652,27 +9683,27 @@ Po ndërpritet veprimi, për të shmangur mospërputhje fonoteke %2 - + Can't remove Directory from Library S’hiqet dot Drejtori nga Fonoteka - + An unknown error occurred. Ndodhi një gabim i panjohur. - + This directory does not exist or is inaccessible. Kjo drejtori s’ekziston, ose s’lejon hyrje. - + Relink Directory Rilidhe Drejtorinë - + Could not relink <b>%1</b> to <b>%2</b>. %3 @@ -9684,22 +9715,22 @@ Po ndërpritet veprimi, për të shmangur mospërputhje fonoteke LibraryFeature - + Import Playlist Importo Luajlistë - + Playlist Files (*.m3u *.m3u8 *.pls *.csv) Kartela Luajlistë (*.m3u *.m3u8 *.pls *.csv) - + Overwrite File? Të mbishkruhet Kartela? - + A playlist file with the name "%1" already exists. The default "m3u" extension was added because none was specified. @@ -9829,18 +9860,18 @@ Doni vërtet të mbishkruhet? MixxxLibraryFeature - + Missing Tracks Mungojnë Pjesë - + Hidden Tracks Pjesë të Fshehura - Export to Engine Prime + Export to Engine DJ @@ -9852,211 +9883,252 @@ Doni vërtet të mbishkruhet? MixxxMainWindow - + Sound Device Busy Pajisje Zanore e Zënë - + <b>Retry</b> after closing the other application or reconnecting a sound device <b>Riprovoni</b> pas mbylljes së veprimit tjetër, ose rilidhni një pajisje zanore - - - + + + <b>Reconfigure</b> Mixxx's sound device settings. <b>Riformësoni</b> rregullime Mixxx-i pajisjeje zanore. - - + + Get <b>Help</b> from the Mixxx Wiki. Merrni <b>Ndihmë</b> që nga Wiki e Mixxx-it. - - - + + + <b>Exit</b> Mixxx. <b>Mbylleni</b> Mixxx-in. - + Retry Riprovo - + skin lëkurçe - + Allow Mixxx to hide the menu bar? Të lejohet Mixxx-i të fshehtë shtyllën e menuve? - + Hide Always show the menu bar? Fshihe - + Always show Shfaqe përherë - + The Mixxx menu bar is hidden and can be toggled with a single press of the <b>Alt</b> key.<br><br>Click <b>%1</b> to agree.<br><br>Click <b>%2</b> to disable that, for example if you don't use Mixxx with a keyboard.<br><br>You can change this setting any time in Preferences -> Interface.<br> Keep formatting tags <b> (bold text) and <br> (linebreak). %1 is the placeholder for the 'Always show' button label Shtylla e menuve të Mixxx-it është e fshehur dhe mund të shfaqet/fshihet me një shtypje të vetme të tastit <b>Alt</b>.<br><br>Që të pajtoheni, klikoni mbi <b>%1</b>.<br><br>Që ta çaktivizoni, klikoni mbi <b>%2</b>, nëse, për shembull, s’e përdorni Mixxx-in me tastierë.<br><br>Këtë rregullim mund ta ndryshoni kurdo që nga Parapëlqime -> Ndërfaqe.<br> - + Ask me again Pyetmë sërish - - + + Reconfigure Riformësoje - + Help Ndihmë - - + + Exit Mbylle - - + + Mixxx was unable to open all the configured sound devices. Mixxx-i s’qe në gjendje të hapë krejt pajisjet zanore të formësuara. - + Sound Device Error Gabim Pajisjeje Zanore - + <b>Retry</b> after fixing an issue <b>Riprovoni</b> pas ndreqjes së një problemi - + No Output Devices S’ka Pajisje Në Dalje - + Mixxx was configured without any output sound devices. Audio processing will be disabled without a configured output device. Mixxx-i qe dormësuar pa ndonjë pajisje zanore në dalje. Pa një pajisje në dalje të formësuar, përpunimi audio do të çaktivizohet. - + <b>Continue</b> without any outputs. <b>Vazhdo</b> pa ndonjë dalje. - + Continue Vazhdo - + Load track to Deck %1 - + Deck %1 is currently playing a track. - + Are you sure you want to load a new track? Jeni i sigurt se doni të ngarkohet një pjesë e re? - + There is no input device selected for this vinyl control. Please select an input device in the sound hardware preferences first. Për këtë kontroll vinili s’ka të përzgjedhur pajisje në hyrje. Ju lutemi, së pari përzgjidhni një pajisje në hyrje, që nga parapëlqimet për “hardware” tingujsh. - + There is no input device selected for this passthrough control. Please select an input device in the sound hardware preferences first. - + There is no input device selected for this microphone. Do you want to select an input device? Për këtë mikrofon s’është përzgjedhur ndonjë pajisje në hyrje. Doni të përzgjidhni një pajisje në hyrje? - + There is no input device selected for this auxiliary. Do you want to select an input device? Për këtë portë ndihmëse s’është përzgjedhur ndonjë pajisje në hyrje. Doni të përzgjidhni një pajisje në hyrje? - + + Scan took %1 + + + + + No changes detected. + + + + + + %1 tracks in total + + + + + %1 new tracks found + + + + + %1 moved tracks detected + + + + + %1 tracks are missing (%2 total) + + + + + %1 tracks have been rediscovered + + + + + Library scan finished + + + + Error in skin file Gabim te kartelë lëkurçeje - + The selected skin cannot be loaded. Lëkurçja e përzgjedhur s’mund të ngarkohet. - + OpenGL Direct Rendering - + Direct rendering is not enabled on your machine.<br><br>This means that the waveform displays will be very<br><b>slow and may tax your CPU heavily</b>. Either update your<br>configuration to enable direct rendering, or disable<br>the waveform displays in the Mixxx preferences by selecting<br>"Empty" as the waveform display in the 'Interface' section. - - - + + + Confirm Exit Ripohoni Mbylljen - + A deck is currently playing. Exit Mixxx? - + A sampler is currently playing. Exit Mixxx? - + The preferences window is still open. Dritarja e parapëlqimeve është ende e hapur. - + Discard any changes and exit Mixxx? Të hidhen tej ndryshimet dhe të dilet nga Mixxx-i? @@ -10072,13 +10144,13 @@ Doni të përzgjidhni një pajisje në hyrje? PlaylistFeature - + Lock Kyçe - - + + Playlists Luajlista @@ -10088,32 +10160,58 @@ Doni të përzgjidhni një pajisje në hyrje? Shkartise Luajlistën - + + Unlock all playlists + + + + + Delete all unlocked playlists + + + + Unlock Shkyçe - + + + Confirm Deletion + + + + + Do you really want to delete all unlocked playlists? + + + + + Deleting %1 unlocked playlists.<br>This operation can not be undone! + + + + Playlists are ordered lists of tracks that allow you to plan your DJ sets. Luajlistat janë lista të renditura pjesësh, që ju lejojnë të planifikoni seancat tuaja DJ. - + It may be necessary to skip some tracks in your prepared playlist or add some different tracks in order to maintain the energy of your audience. Që të mund të ruani energjinë e publikut tuaj, mund të jetë e nevojshme të anashkalohen ca pjesë te luajlista juaj e përgatitur, ose të shotni ca pjesë të tjera. - + Some DJs construct playlists before they perform live, but others prefer to build them on-the-fly. Disa DJ ndërtojnë luajlista para se të luajnë drejtpërsëdrejti, të tjerë parapëlqejnë t’i hartojnë ato aty në vend. - + When using a playlist during a live DJ set, remember to always pay close attention to how your audience reacts to the music you've chosen to play. Kur përdoret një luajlistë gjatë një seance DJ drejpërsëdrejti, mos harroni t’i kushtoni përherë vëmendje mënyrës se si reagon publiku juaj ndaj muzikës që keni zgjedhur të luani. - + Create New Playlist Krijo Luajlistë të Re @@ -11604,7 +11702,7 @@ Fully right: end of the effect period - + Deck %1 Kuverta %1 @@ -11737,7 +11835,7 @@ Hint: compensates "chipmunk" or "growling" voices - + Passthrough @@ -11768,7 +11866,7 @@ Hint: compensates "chipmunk" or "growling" voices - + Sampler %1 @@ -11901,12 +11999,12 @@ may introduce a 'pumping' effect and/or distortion. - + built-in - + missing @@ -12034,54 +12132,54 @@ may introduce a 'pumping' effect and/or distortion. RekordboxFeature - - - + + + Rekordbox - + Playlists Luajlista - + Folders Dosje - + Reads databases exported for Pioneer CDJ / XDJ players using the Rekordbox Export mode.<br/>Rekordbox can only export to USB or SD devices with a FAT or HFS file system.<br/>Mixxx can read a database from any device that contains the database folders (<tt>PIONEER</tt> and <tt>Contents</tt>).<br/>Not supported are Rekordbox databases that have been moved to an external device via<br/><i>Preferences > Advanced > Database management</i>.<br/><br/>The following data is read: - + Hot cues - + Loops (only the first loop is currently usable in Mixxx) - + Check for attached Rekordbox USB / SD devices (refresh) - + Beatgrids - + Memory cues - + (loading) Rekordbox @@ -12737,7 +12835,7 @@ may introduce a 'pumping' effect and/or distortion. Crossfader - + Kryqzbehësi @@ -15100,12 +15198,12 @@ Use this to change only the effected (wet) signal with EQ and filter effects. TrackCollection - + Hiding tracks Po kalohen pjesë të fshehura - + The selected tracks are in the following playlists:%1Hiding them will remove them from these playlists. Continue? Pjesët e përzgjedhura gjenden te luajlistat vijuese:%1Fshehja e tyre do t’i heqë prej këtyre luajlistave. Të vazhdohet? @@ -15323,47 +15421,47 @@ Kjo s’mund të zhbëhet! WCueMenuPopup - + Cue number - + Cue position - + Edit cue label - + Label... - + Delete this cue - + Toggle this cue type between normal cue and saved loop - + Left-click: Use the old size or the current beatloop size as the loop size - + Right-click: Use the current play position as loop end if it is after the cue - + Hotcue #%1 @@ -15488,323 +15586,353 @@ Kjo s’mund të zhbëhet! + Search in Current View... + + + + + Search for tracks in the current library view + + + + + Ctrl+f + + + + + Search in Tracks Library... + + + + + Search in the internal track collection under "Tracks" in the library + + + + + Ctrl+Shift+F + + + + Create &New Playlist Krijoni Luajlistë të &Re - + Create a new playlist Krijoni një luajlistë të re - + Ctrl+n Ctrl+n - + Create New &Crate Krijo &Arkë të Re - + Create a new crate Krijoni një arkë të re - + Ctrl+Shift+N Ctrl+Shift+N - - + + &View &Shihni - + Auto-hide menu bar Vetëfshihe shtyllën e menuve - + Auto-hide the main menu bar when it's not used. Vetëfshih shtyllën e menusë kryesore, kur s’është në përdorim. - + May not be supported on all skins. Mund të mos e mbulojnë krejt lëkurçet. - + Show Skin Settings Menu Shfaq Menu Rregullimesh Lëkurçeje - + Show the Skin Settings Menu of the currently selected Skin Shfaqni Menunë e Rregullimeve për Lëkurçen të Lëkurçes së përzgjedhur aktualsisht - + Ctrl+1 Menubar|View|Show Skin Settings Ctrl+1 - + Show Microphone Section Shfaq Pjesën e Mikrofonit - + Show the microphone section of the Mixxx interface. Shfaq te ndërfaqja e Mixxx-it pjesën e mikrofonit. - + Ctrl+2 Menubar|View|Show Microphone Section Ctrl+2 - + Show Vinyl Control Section Shfaq Pjesën Kontroll Vinili - + Show the vinyl control section of the Mixxx interface. Shfaq te ndërfaqja e Mixxx-it pjesën “kontrolli vinili”. - + Ctrl+3 Menubar|View|Show Vinyl Control Section Ctrl+3 - + Show Preview Deck - + Show the preview deck in the Mixxx interface. - + Ctrl+4 Menubar|View|Show Preview Deck Ctrl+4 - + Show Cover Art Shfaq Kopertinë - + Show cover art in the Mixxx interface. Shfaq kopertinë te ndërfaqja e Mixxx-it. - + Ctrl+6 Menubar|View|Show Cover Art Ctrl+6 - + Maximize Library Maksimizo Fonotekën - + Maximize the track library to take up all the available screen space. Maksimizoni fonotekën që të zërë krejt hapësirën e mundshme në ekran. - + Space Menubar|View|Maximize Library Tasti Hapësirë - + &Full Screen Sa &Krejt Ekrani - + Display Mixxx using the full screen Shfaqeni Mixxx-in duke përdorur krejt ekranin - + &Options &Mundësi - + &Vinyl Control &Kontroll Vinili - + Use timecoded vinyls on external turntables to control Mixxx - + Enable Vinyl Control &%1 Aktivizo Kontroll Vinili &%1 - + &Record Mix &Incizoni Përzierjen - + Record your mix to a file Incizojeni në një kartelë përzierjen tuaj - + Ctrl+R Ctrl+R - + Enable Live &Broadcasting Aktivizo T&ransmetim të Drejtpërdrejtë - + Stream your mixes to a shoutcast or icecast server Transmetojini përzierjet tuaja te një shërbyes Shoutcast ose Icecast - + Ctrl+L Ctrl+L - + Enable &Keyboard Shortcuts Aktivizo Shkurtore &Tastiere - + Toggles keyboard shortcuts on or off Aktivizoni ose çaktivizoni shkurtore tastiere - + Ctrl+` Ctrl+` - + &Preferences &Parapëlqime - + Change Mixxx settings (e.g. playback, MIDI, controls) Ndryshoni rregullimet e Mixxx-it (p.sh., për luajtjen, MIDI, kontrolle) - + &Developer &Zhvillues - + &Reload Skin &Ringarko Lëkurçe - + Reload the skin Ringarkoni lëkurçen - + Ctrl+Shift+R Ctrl+Shift+R - + Developer &Tools &Mjete Zhvilluesi - + Opens the developer tools dialog Bën hapjen e dialogut të mjeteve të zhvilluesit - + Ctrl+Shift+T Ctrl+Shift+T - + Stats: &Experiment Bucket - + Enables experiment mode. Collects stats in the EXPERIMENT tracking bucket. - + Ctrl+Shift+E Ctrl+Shift+E - + Stats: &Base Bucket - + Enables base mode. Collects stats in the BASE tracking bucket. - + Ctrl+Shift+B Ctrl+Shift+B - + Deb&ugger Enabled &Diagnostikues i Aktivizuar - + Enables the debugger during skin parsing Aktivizon diagnostikuesin gjatë analizimit të lëkurçes - + Ctrl+Shift+D Ctrl+Shift+D - + &Help &Ndihmë - + Show Keywheel menu title @@ -15821,74 +15949,74 @@ Kjo s’mund të zhbëhet! Eksportojeni fonotekën në formatin Engine DJ - + Show keywheel tooltip text - + F12 Menubar|View|Show Keywheel F12 - + &Community Support &Asistencë Nga Bashkësia - + Get help with Mixxx Merrni ndihmë për Mixxx-in - + &User Manual &Doracak Përdoruesi - + Read the Mixxx user manual. Lexoni doracakun e përdoruesit të Mixxx-it. - + &Keyboard Shortcuts Sh&kurtore Tastiere - + Speed up your workflow with keyboard shortcuts. Shpejtoni rrjedhën tuaj të punës përmes shkurtoresh tastiere. - + &Settings directory Drejtori &rregullimesh - + Open the Mixxx user settings directory. Hapni drejtorinë e rregullimeve të përdoruesit të Mixxx-it. - + &Translate This Application &Përktheni Këtë Aplikacion - + Help translate this application into your language. Ndihmoni të përkthehet ky aplikacion në gjuhën tuaj. - + &About &Mbi - + About the application Mbi aplikacionin @@ -15896,25 +16024,25 @@ Kjo s’mund të zhbëhet! WOverview - + Passthrough - + Ready to play, analyzing... Text on waveform overview when file is playable but no waveform is visible Gati për luajtje, po analizohet… - - + + Loading track... Text on waveform overview when file is cached from source Po ngarkohet pjesë… - + Finalizing... Text on waveform overview during finalizing of waveform analysis Po përfundohet… @@ -15923,25 +16051,13 @@ Kjo s’mund të zhbëhet! WSearchLineEdit - - Clear input - Clear the search bar input field - - - - - Ctrl+F - Search|Focus - - - - + Search noun - + Clear input @@ -15952,169 +16068,163 @@ Kjo s’mund të zhbëhet! - + Clear the search bar input field - - Enter a string to search for - Jepni një varg për të cilin të kërkohet + + Return + - - Use operators like bpm:115-128, artist:BooFar, -year:1990 - Përdorni operatorë të tillë si bpm:115-128, artist:BooFar, -year:1990 + + Enter a string to search for. + - - For more information see User Manual > Mixxx Library - Për më tepër hollësi, shihni Doracak Përdoruesi > Fonotekë Mixxx-i + + Use operators like bpm:115-128, artist:BooFar, -year:1990. + - Shortcut - Shkurtore + See User Manual > Mixxx Library for more information. + - - Ctrl+F - Ctrl+F + + Focus/Select All (Search in current view) + Give search bar input focus + - - Focus - Give search bar input focus - Fokus + + Focus/Select All (Search in 'Tracks' library view) + - - - Ctrl+Backspace - Ctrl+Backspace + + Additional Shortcuts When Focused: + - Shortcuts - Shkurtore + Trigger search before search-as-you-type timeout or focus tracks view afterwards + - Return + Esc or Ctrl+Return - Trigger search before search-as-you-type timeout orjump to tracks view afterwards + Immediately trigger search and focus tracks view + Exit search bar and leave focus - + Ctrl+Space Ctrl+Space - + Toggle search history Shows/hides the search history entries Shfaq/fshih historik kërkimesh - + Delete or Backspace Tasti Delete ose Backspace - - Delete query from history - Fshije kërkesën nga historiku - - - - Esc - Esc + + in search history + - - Exit search - Exit search bar and leave focus - Dil nga kërkimi + + Delete query from history + Fshije kërkesën nga historiku WSearchRelatedTracksMenu - + Search related Tracks - + Key Çelës - + harmonic with %1 - + BPM BPM - + between %1 and %2 mes %1 dhe %2 - + Artist Artist - + Album Artist Artist Albumi - + Composer Kompozitor - + Title Titull - + Album Album - + Grouping Grupim - + Year Vit - + Genre Zhanër - + Directory Drejtori - + &Search selected &Kërko për përzgjedhjen @@ -16122,625 +16232,625 @@ Kjo s’mund të zhbëhet! WTrackMenu - + Load to Nagrkoje te - + Deck - + Sampler - + Add to Playlist Shtoje te Luajlistë - + Crates Arka - + Metadata Tejtëdhëna - + Update external collections Përditëso koleksione të jashtëm - + Cover Art Art Kopertine - + Adjust BPM Përimto BPM-në - + Select Color Përzgjidhni Ngjyrë - - + + Analyze Analizo - - + + Delete Track Files Fshi Kartela Pjesësh - + Add to Auto DJ Queue (bottom) Shtoje te Radhë Auto DJ-i (në fund) - + Add to Auto DJ Queue (top) Shtoje te Radhë Auto DJ-i (në krye) - + Add to Auto DJ Queue (replace) Shtoje te Radhë Auto DJ-i (zëvendësoje) - + Preview Deck - + Remove Hiqe - + Remove from Playlist Hiqe nga Luajlistë - + Remove from Crate Hiqe nga Arkë - + Hide from Library Hiqe nga Fonotekë - + Unhide from Library Hiqi Fshehjen në Fonotekë - + Purge from Library Spastroje nga Fonoteka - + Move Track File(s) to Trash Shpjer Kartelë(a) Pjese(ësh) te Hedhurina - + Delete Files from Disk Fshiji Kartelat nga Disku - + Properties Veti - + Open in File Browser Hape në Shfletues Kartelash - + Select in Library Përzgjidhni në Fonotekë - + Import From File Tags Importo Nga Etiketa Kartelash - + Import From MusicBrainz Importo Nga MusicBrainz - + Export To File Tags Eksporto Te Etiketa Kartelash - + BPM and Beatgrid - + Play Count Numër Luajtjesh - + Rating Vlerësim - + Cue Point - - + + Hotcues - + Shenjat e Shpejta - + Intro - + Outro - + Key Çelës - + ReplayGain - + ReplayGain - + Waveform Valë - + Comment Koment - + All Krejt - + Sort hotcues by position (remove offsets) - + Sort hotcues by position - + Lock BPM Kyçe BPM-në - + Unlock BPM Shkyçe BPM-në - + Double BPM Dyfishoje BPM-në - + Halve BPM Përgjysmoje BPM -në - + 2/3 BPM 2/3 BPM - + 3/4 BPM 3/4 BPM - + 4/3 BPM 4/3 BPM - + 3/2 BPM 3/2 BPM - + Shift Beatgrid Half Beat - + Reanalyze Rianalizoje - + Reanalyze (constant BPM) Rianalizoje (BPM konstante) - + Reanalyze (variable BPM) Rianalizoje (BPM e ndryshueshme) - + Update ReplayGain from Deck Gain - + Deck %1 - + Kuverta %1 - + Importing metadata of %n track(s) from file tags Po importohen tejtëdhëna të %n pjese nga etiketa kartelePo importohen tejtëdhëna të %n pjesëve nga etiketa kartele - + Marking metadata of %n track(s) to be exported into file tags Po u vihet shenjë tejtëdhënave të %n pjese, që të eksportohen në etiketa kartelePo u vihet shenjë tejtëdhënave të %n pjesëve, që të eksportohen në etiketa kartele - - + + Create New Playlist Krijo Luajlistë të Re - + Enter name for new playlist: Jepni emër për luajlistë të re: - + New Playlist Luajlistë e Re - - - + + + Playlist Creation Failed Krijimi i Luajlistës Dështoi - + A playlist by that name already exists. Ka tashmë një luajlistë me atë emër. - + A playlist cannot have a blank name. Një luajlistë s’mund të ketë emër të zbrazët. - + An unknown error occurred while creating playlist: Ndodhi një gabim i panjohur teksa krijohej luajlista: - + Add to New Crate Shtoje në Arkë të Re - + Scaling BPM of %n track(s) - + Undo BPM/beats change of %n track(s) - + Locking BPM of %n track(s) Po kyçet BPM-ja e %n pjesePo kyçen BPM-të e %n pjesëve - + Unlocking BPM of %n track(s) Po shkyçet BPM-ja e %n pjesePo shkyçen BPM-të e %n pjesëve - + Setting rating of %n track(s) Po vihet vlerësim i %n pjesePo vihen vlerësime të %n pjesëve - + Setting color of %n track(s) Po caktohet ngjyrë e %n pjesePo caktohet ngjyrë e %n pjesëve - + Resetting play count of %n track(s) Po zerohet numër luajtjesh e %n pjesePo zerohet numër luajtjesh e %n pjesëve - + Resetting beats of %n track(s) - + Clearing rating of %n track(s) Po hiqet vlerësim i %n pjesePo hiqen vlerësime të %n pjesëve - + Clearing comment of %n track(s) Po spastrohet koment i %n pjesePo spastrohen komente të %n pjesëve - + Removing main cue from %n track(s) - + Removing outro cue from %n track(s) - + Removing intro cue from %n track(s) - + Removing loop cues from %n track(s) - + Removing hot cues from %n track(s) - + Sorting hotcues of %n track(s) by position (remove offsets) - + Sorting hotcues of %n track(s) by position - + Resetting keys of %n track(s) - + Resetting replay gain of %n track(s) - + Resetting waveform of %n track(s) - + Resetting all performance metadata of %n track(s) - + Move these files to the trash bin? Të shpihen këto kartela te koshi i hedhurnave? - + Permanently delete these files from disk? Të fshihen përgjithnjë te disku këto kartela? - - + + This can not be undone! Kjo s’mund të zhbëhet! - + Cancel Anuloje - + Delete Files Fshiji Kartelat - + Okay OK - + Move Track File(s) to Trash? Të Shpihet te Hedhurina Kartela e Pjesës? - + Track Files Deleted U Fshinë Kartela Pjesësh - + Track Files Moved To Trash U Shpunë Te Hedhurina Kartela Pjesësh - + %1 track files were moved to trash and purged from the Mixxx database. U shpu te hedhurinat dhe u spastrua nga baza e të dhënave të Mixxx-it %1 kartelë pjese. - + %1 track files were deleted from disk and purged from the Mixxx database. U fshi nga disku dhe u spastrua nga baza e të dhënave të Mixxx-it %1 kartelë pjese. - + Track File Deleted U Fshi Kartelë Pjesësh - + Track file was deleted from disk and purged from the Mixxx database. U fshi nga disku dhe u spastrua nga baza e të dhënave të Mixxx-it kartelë pjese. - + The following %1 file(s) could not be deleted from disk S’u fshi dot nga disku %1 kartelë vijuese - + This track file could not be deleted from disk Kjo kartelë pjesësh s’u fshi dot nga disku - + Remaining Track File(s) Kartelë Pjese e Mbetur - + Close Mbylle - + Clear Reset metadata in right click track context menu in library Spastroji - + Loops - + Clear BPM and Beatgrid - + Undo last BPM/beats change - + Move this track file to the trash bin? Të shpihet kjo kartelë pjese te koshi i hedhurinave? - + Permanently delete this track file from disk? Të fshihet përgjithnjë te disku kjo kartelë pjese? - + All decks where these tracks are loaded will be stopped and the tracks will be ejected. - + All decks where this track is loaded will be stopped and the track will be ejected. - + Removing %n track file(s) from disk... Po hiqet nga disku %n kartelë pjese… - + Note: if you are in the Computer or Recording view you need to click the current view again to see changes. Shënim: nëse gjendeni nën pamjen Kompjuter, ose Incizim, duhet të klikoni sërish pamjen aktuale që të shihni ndryshimet. - + Track File Moved To Trash U Shpu Te Hedhurina Kartelë Pjese - + Track file was moved to trash and purged from the Mixxx database. U shpu te hedhurinat dhe u spastrua nga baza e të dhënave të Mixxx-it kartelë pjese. - + Don't show again during this session Mos e shfaq sërish gjatë këtij sesioni - + The following %1 file(s) could not be moved to trash S’u shpu dot te hedhurinat %1 kartelë vijuese - + This track file could not be moved to trash Kjo kartelë pjesësh s’u shou dot te hedhurinat - + Setting cover art of %n track(s) Po ujdiset kopertinë e %n pjesePo ujdisen kopertinat e %n pjesëve - + Reloading cover art of %n track(s) Po ringarkohet kopertinë e %n pjesePo ringarkohen kopertina të %n pjesëve @@ -16756,37 +16866,37 @@ Kjo s’mund të zhbëhet! WTrackStemMenu - + Load for stem mixing - + Load pre-mixed stereo track - + Load the "%1" stem - + Load multiple stem into a stereo deck - + Select stems to load - + Release "CTRL" to load the current selection - + Use "CTRL" to select multiple stems @@ -16794,37 +16904,37 @@ Kjo s’mund të zhbëhet! WTrackTableView - + Confirm track hide Ripohoni fshehje pjese - + Are you sure you want to hide the selected tracks? Jeni i sigurt se doni të kalohen të fshehura pjesët e përzgjedhura? - + Are you sure you want to remove the selected tracks from AutoDJ queue? Jeni i sigurt se doni të hiqen pjesët e përzgjedhura nga radha për AutoDJ? - + Are you sure you want to remove the selected tracks from this crate? Jeni i sigurt se doni të hiqen pjesët e përzgjedhura nga kjo arkë? - + Are you sure you want to remove the selected tracks from this playlist? Jeni i sigurt se doni të hiqen pjesët e përzgjedhura nga kjo luajlistë? - + Don't ask again during this session Mos pyet sërish gjatë këtij sesioni - + Confirm track removal Ripohoni heqje pjese @@ -16832,12 +16942,12 @@ Kjo s’mund të zhbëhet! WTrackTableViewHeader - + Show or hide columns. Shfaqni ose fshihni shtylla. - + Shuffle Tracks Shkartis Pjesët @@ -16845,52 +16955,52 @@ Kjo s’mund të zhbëhet! mixxx::CoreServices - + fonts shkronja - + database bazë të dhënash - + effects efekte - + audio interface ndërfaqe audio - + decks - + library fonotekë - + Choose music library directory Zgjidhni drejtori fonoteke - + controllers kontrollorë - + Cannot open database S’hapet dot bazë të dhënash - + Unable to establish a database connection. Mixxx requires QT with SQLite support. Please read the Qt SQL driver documentation for information on how to build it. @@ -16904,68 +17014,78 @@ Që të dilet, klikoni mbi OK. mixxx::DlgLibraryExport - + Entire music library Krejt fonotekën - - Selected crates - Arkat e përzgjedhura + + Crates + + + + + Playlists + + + + + Selected crates/playlists + - + Browse Shfletoni - + Export directory - + Database version Version baze të dhënash - + Export Eksportoje - + Cancel Anuloje - + Export Library to Engine DJ "Engine DJ" must not be translated Eksportoje Fonotekën si Engine DJ - + Export Library To Eksportoje Fonotekën Te - + No Export Directory Chosen S’u Përzgjodh Drejtori Eksportimi - + No export directory was chosen. Please choose a directory in order to export the music library. S’u zgjodh drejtori eksportimi. Që të eksportohet fonotekë, ju lutemi, përzgjidhni një drejtori. - + A database already exists in the chosen directory. Exported tracks will be added into this database. Ka tashmë një bazë të dhënash në drejtorinë e zgjedhur. Pjesët e eksportuara do të shtohen te kjo bazë të dhënash. - + A database already exists in the chosen directory, but there was a problem loading it. Export is not guaranteed to succeed in this situation. Ka tashmë një bazë të dhënash në drejtorinë e zgjedhur, por pati një problem në ngarkimin e saj. Në këtë situatë, s’është e garantuar se eksportimi do të dalë me sukses. @@ -16986,7 +17106,7 @@ Që të dilet, klikoni mbi OK. mixxx::EnginePrimeExportJob - + Failed to export track %1 - %2: %3 %1 is the artist %2 is the title and %3 is the original error message @@ -16997,23 +17117,23 @@ Që të dilet, klikoni mbi OK. mixxx::LibraryExporter - + Export Completed Eksportimi u Plotësua - - Exported %1 track(s) and %2 crate(s). - U eksportuan %1 pjesë dhe %2 arkë(a). + + Exported %1 track(s), %2 crate(s), and %3 playlist(s). + - + Export Failed Eksportimi Dështoi - - Exporting to Engine Prime... + + Exporting to Engine DJ... diff --git a/res/translations/mixxx_sr.qm b/res/translations/mixxx_sr.qm index 7f2937af05ccaaeb2eb52e5b6fcc3238b1a50cf4..6541cd9d94161c24dceae404ecdd4aab2bf2f6df 100644 GIT binary patch delta 499 zcmXBQPe_w-90u_B`}n%z^-bGqmASn(Ei+piBuogKEMDx-K?r4sSUU!Z?9`?GadYqf zxmpBY%mlNb9YS}BUno?}Ll6Z+j4X&or|42=qZ*?ZJ$-J^^YDE8r+odR-0vdkxuZ&m zedao8NIl^Oon;@~N_iu!WB7)*qD%8M~G~!TTT-3l*Nzu zxTsjViBwVBQv`>VVWsG!(6uiT@=-1;VI=)RZfge$gW}-6Z6I@=)%{ImlB`~7ybzf)?c=)DgY*Kcwq7x0Ya^sag?`{IA^(w8`w)S3dk}>tFWUV| z^l|H>3kh@gMgDHDB9Ry6Ltb+fZynyo>`Sg42_qk1cV`vGCjaWxP}~se(Fh^?M#Q_? z2{RA)u44>^GS?k95d9!@=PJRt!ws#8c!?X`W?6(Mj{QJ#orhgMxGQKhifvrax$A)wq6Y z1Jf>18PEu`BcgWNtVq2R4R?S#CRYqex*pmQnNK|7`H9jqBjC*kytEeZ;%RhV8zATW N@-l*J=T=a*{Rg$ps)Yam delta 624 zcmZWmT}YE*6n@{w*DXK%$>mSWZMq-HxwTP*T_nq_q`(5Hyof2}R-}l98kBDSeRJ~< z368P4&>$s9FGOC^BoTrU1kznWzYwf$3cN9+8q$}Sb>Q&aJkN8UbI!Y;%E#Zzog!Yc zU|Qn{t3^q|}_c%hgXe`%b7?9%LnN^1Iv*Lc+T@5p6J=X&@M5$bR`j+PXK$;BM z9Q{t|-t(MeXo)uSj_}Xq&acPtCyM0zl)cUqere94qi@32C)(3nP=X zxVI5Q4$3pG*&a?}~aDMi=C!v5h18NCu0vu>-fM z({v8QF-n-OqPt7F%}X4SHcDEy5xzmmVl71-RhE1~-$Qa(D-io2{ZgCH;FQ&W9nPQ))7FFUXa|y>T zrj_n*pXh9Fb=AZzvoJdUqhy}Ha=ATlEmU(oaI@nddQtqf83vJdsw1$Yjwc?YBfgS_ L(q-E$Rt$dtL0iij diff --git a/res/translations/mixxx_sr.ts b/res/translations/mixxx_sr.ts index 23a45d6ee46c..1c51570fc1f0 100644 --- a/res/translations/mixxx_sr.ts +++ b/res/translations/mixxx_sr.ts @@ -39,32 +39,32 @@ - + Remove Crate as Track Source Уклони гајбицу из извора - + Auto DJ Самостални Диџеј - + Confirmation Clear - + Do you really want to remove all tracks from the Auto DJ queue? - + This can not be undone. - + Add Crate as Track Source Додај сандук у изворе @@ -149,28 +149,28 @@ BasePlaylistFeature - + New Playlist Нови списак нумера - + Add to Auto DJ Queue (bottom) Додајте у ред самосталног диџеја (доле) - + Create New Playlist Састави листу песама - + Add to Auto DJ Queue (top) Додајте у ред самосталног диџеја (горе) - + Remove Уклони @@ -180,12 +180,12 @@ Преименуј - + Lock Закључај - + Duplicate Дуплирај @@ -206,24 +206,24 @@ Анализирај целу листу - + Enter new name for playlist: Ново име за листу песама: - + Duplicate Playlist Удвостручи списак нумера - - + + Enter name for new playlist: Ново име за листу песама: - + Export Playlist Извези списак нумера @@ -233,70 +233,77 @@ Додај на Ауто-Диџеј листу (рокада) - + + + Export to Engine DJ + "Engine DJ" is a product name and must not be translated. + + + + Rename Playlist Преименуј списак нумера - - + + Renaming Playlist Failed Преименовање списка нумера није успело - - - + + + A playlist by that name already exists. Већ постоји списак нумера са овим називом. - - - + + + A playlist cannot have a blank name. Назив списка нумера не може бити празан. - + _copy //: Appendix to default name when duplicating a playlist _умножи - - - - - - + + + + + + Playlist Creation Failed Стварање списка нумера није успело - - + + An unknown error occurred while creating playlist: Дошло је до непознате грешке приликом стварања списка нумера: - + Confirm Deletion - + Do you really want to delete playlist <b>%1</b>? - + M3U Playlist (*.m3u) М3У листа (*.м3у) - + M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Text CSV (*.csv);;Readable Text (*.txt) М3У списак нумера (*.m3u);;М3У8 списак нумера (*.m3u8);;ПЛС списак нумера (*.pls);;Текстуални ЦСВ (*.csv);;Читљив текст (*.txt) @@ -304,12 +311,12 @@ BaseSqlTableModel - + # # - + Timestamp Временска ознака @@ -317,7 +324,7 @@ BaseTrackPlayerImpl - + Couldn't load track. Не могу да учитам нумеру. @@ -325,137 +332,142 @@ BaseTrackTableModel - + Album Албум - + Album Artist Извођач - + Artist Извођач - + Bitrate Проток - + BPM ТУМ - + Channels Број канала - + Color - + Comment Примедба - + Composer Састављач - + Cover Art Омот - + Date Added Додата - + Last Played - + Duration Трајање - + Type Врста - + Genre Жанр - + Grouping Груписање - + Key Кључ - + Location Место - + + Overview + + + + Preview Преглед - + Rating Оцена - + ReplayGain Ауто-ниво - + Samplerate - + Played Пуштено - + Title Наслов - + Track # Нумера бр. - + Year Година - + Fetching image ... Tooltip text on the cover art column shown when the cover is read from disk @@ -546,67 +558,77 @@ BrowseFeature - + Add to Quick Links Додајте у брзе везе - + Remove from Quick Links Уклоните из брзих веза - + Add to Library Додај у Базу - + Refresh directory tree - + Quick Links Брзе везе - - + + Devices Уређаји - + Removable Devices Уклоњиви уређаји - - + + Computer Рачунар - + Music Directory Added Фолдер додат - + You added one or more music directories. The tracks in these directories won't be available until you rescan your library. Would you like to rescan now? Додали сте неке фолдере у Базу. Песме у овим фолдерима нису доступне док не извршите упит у Базу. Да ли желите то сада? - + Scan Скен - + "Computer" lets you navigate, view, and load tracks from folders on your hard disk and external devices. "Рачунар" је место одакле можете приступити фолдерима на тврдом диску и спољној меморији. + + + It shows the data from the file tags, not track data from your Mixxx library like other track views. + + + + + If you load a track file from here, it will be added to your library. + + BrowseTableModel @@ -752,87 +774,87 @@ CmdlineArgs - + Mixxx is an open source DJ software. For more information, see: - + Starts Mixxx in full-screen mode - + Use a custom locale for loading translations. (e.g 'fr') - + Top-level directory where Mixxx should look for its resource files such as MIDI mappings, overriding the default installation location. - + Path the debug statistics time line is written to - + Causes Mixxx to display/log all of the controller data it receives and script functions it loads - + The controller mapping will issue more aggressive warnings and errors when detecting misuse of controller APIs. New Controller Mappings should be developed with this option enabled! - + Enables developer-mode. Includes extra log info, stats on performance, and a Developer tools menu. - + Top-level directory where Mixxx should look for settings. Default is: - + Starts Auto DJ when Mixxx is launched. - + Rescans the library when Mixxx is launched. - + Use legacy vu meter - + Use legacy spinny - + Loads experimental QML GUI instead of legacy QWidget skin - + Enables safe-mode. Disables OpenGL waveforms, and spinning vinyl widgets. Try this option if Mixxx is crashing on startup. - + [auto|always|never] Use colors on the console output. - + Sets the verbosity of command line logging. critical - Critical/Fatal only warning - Above + Warnings @@ -842,27 +864,32 @@ trace - Above + Profiling messages - + Sets the the logging level at which the log buffer is flushed to mixxx.log. <level> is one of the values defined at --log-level above. - + Sets the maximum file size of the mixxx.log file in bytes. Use -1 for unlimited. The default is 100 MB as 1e5 or 100000000. - + Breaks (SIGINT) Mixxx, if a DEBUG_ASSERT evaluates to false. Under a debugger you can continue afterwards. - + + Overrides the default application GUI style. Possible values: %1 + + + + Load the specified music file(s) at start-up. Each file you specify will be loaded into the next virtual deck. - + Preview rendered controller screens in the Setting windows. @@ -1044,13 +1071,13 @@ trace - Above + Profiling messages - + Set to full volume Макс. ниво - + Set to zero volume Мин. ниво @@ -1075,13 +1102,13 @@ trace - Above + Profiling messages Цензура - + Headphone listen button Дугме за слушање слушалицама - + Mute button Пригуши @@ -1092,25 +1119,25 @@ trace - Above + Profiling messages - + Mix orientation (e.g. left, right, center) Усмерење мешача (тј. лево, десно, на средини) - + Set mix orientation to left Микс на лево - + Set mix orientation to center Микс пола-пола - + Set mix orientation to right Микс на десно @@ -1151,22 +1178,22 @@ trace - Above + Profiling messages Дугме лупкања ТУМ-а - + Toggle quantize mode Окини режим квантизације - + One-time beat sync (tempo only) Моментално укачи (само) темпо - + One-time beat sync (phase only) Моментално укачи (само) фазу - + Toggle keylock mode Промените режим закључавања тастера @@ -1176,193 +1203,193 @@ trace - Above + Profiling messages Уједначавачи - + Vinyl Control Управљање плочом - + Toggle vinyl-control cueing mode (OFF/ONE/HOT) Окини режим наговештаја управљања плочом (ИСКЉ./ЈЕДАН/БИТАН) - + Toggle vinyl-control mode (ABS/REL/CONST) Окини режим управљања плочом (АБС/РЕЛ/КОНСТ) - + Pass through external audio into the internal mixer Екстерни сигнал у миксер - + Cues Наговештаји - + Cue button Дугме наговештаја - + Set cue point Подеси тачку наговештаја - + Go to cue point Скочи на маркер - + Go to cue point and play Пусти од маркера - + Go to cue point and stop Иди до тачке наговештаја и стани - + Preview from cue point Преслушај од маркера - + Cue button (CDJ mode) Маркер-дугме (ЦДЈ) - + Stutter cue "Муцајући" маркер - + Hotcues Битни наговештаји - + Set, preview from or jump to hotcue %1 Забележи/преслушај/скочи на брзи маркер %1 - + Clear hotcue %1 Очисти битни наговештај %1 - + Set hotcue %1 Забележи брзи маркер %1 - + Jump to hotcue %1 Скочи до битног наговештаја %1 - + Jump to hotcue %1 and stop Скочи до битног наговештаја „%1“ и стани - + Jump to hotcue %1 and play Пусти од брзог маркера %1 - + Preview from hotcue %1 Преслушај од брзог маркера %1 - - + + Hotcue %1 Битни наговештај %1 - + Looping Упетљавање - + Loop In button Дугме за упетљавање - + Loop Out button Дугме за распетљавање - + Loop Exit button Дугме за напуштање петље - + 1/2 1/2 - + 1 1 - + 2 2 - + 4 4 - + 8 8 - + 16 16 - + 32 32 - + 64 64 - + Move loop forward by %1 beats Помакни сегмент унапред за %1 - + Move loop backward by %1 beats Помакни сегмент уназад за %1 - + Create %1-beat loop Направи %1-тактну петљу - + Create temporary %1-beat loop roll Направи привремено %1-тактно правило петље @@ -1478,20 +1505,20 @@ trace - Above + Profiling messages - - + + Volume Fader Клизач нивоа - + Full Volume Макс. ниво - + Zero Volume Мин. ниво @@ -1507,7 +1534,7 @@ trace - Above + Profiling messages - + Mute Пригуши @@ -1518,7 +1545,7 @@ trace - Above + Profiling messages - + Headphone Listen Усмери у слушалице @@ -1539,25 +1566,25 @@ trace - Above + Profiling messages - + Orientation Панорама - + Orient Left Баци на лево - + Orient Center Стави у центар - + Orient Right Баци на десно @@ -1627,83 +1654,83 @@ trace - Above + Profiling messages Намести Битгрид ка десно - + Adjust Beatgrid Дотерај тактну мрежу - + Align beatgrid to current position Уклопи Битгрид са тренутном позицијом - + Adjust Beatgrid - Match Alignment Намести Битгрид - усклади позицију - + Adjust beatgrid to match another playing deck. Намести Битгрид да прати други дек - + Quantize Mode Магнетни режим - + Sync Синхро - + Beat Sync One-Shot Синхро. ритма моментално - + Sync Tempo One-Shot Синхро. темпа моментално - + Sync Phase One-Shot Синхро. фазе моментално - + Pitch control (does not affect tempo), center is original pitch Контрола фреквенције (без темпа), центар = оригинал - + Pitch Adjust Подеси фреквенцију - + Adjust pitch from speed slider pitch Фреквенција по клизачу за брзину - + Match musical key Паметно усклади тоналитет - + Match Key Усклади тоналитет - + Reset Key Основни тоналитет - + Resets key to original = Оригинални тоналитет @@ -1744,459 +1771,459 @@ trace - Above + Profiling messages Уједначавач ниских - + Toggle Vinyl Control Активна аналогна контрола - + Toggle Vinyl Control (ON/OFF) Прекидач аналогне контроле (укљ.-искљ.) - + Vinyl Control Mode Режим управљања плочом - + Vinyl Control Cueing Mode Режим аналогне припреме - + Vinyl Control Passthrough Бајпас аналогне контроле - + Vinyl Control Next Deck Аналогна контрола сл. дек - + Single deck mode - Switch vinyl control to next deck Јединствени дек - пребаци аналогну контролу на сл. дек - + Cue Наговештај - + Set Cue Маркер припреме - + Go-To Cue Иди на маркер - + Go-To Cue And Play Иди на маркер и пусти - + Go-To Cue And Stop Иди на маркер и стани - + Preview Cue Провери маркер - + Cue (CDJ Mode) Припрема (CDJ режим) - + Stutter Cue - + Go to cue point and play after release Иди на маркер и пусти по отпуштању - + Clear Hotcue %1 Ослободи брзи маркер %1 - + Set Hotcue %1 Постави брзи маркер %1 - + Jump To Hotcue %1 Скочи на брзи маркер %1 - + Jump To Hotcue %1 And Stop Скочи на брзи маркер %1 и стани - + Jump To Hotcue %1 And Play Скочи на брзи маркер %1 и пусти - + Preview Hotcue %1 Провери брзи маркер %1 - + Loop In Почетак понављања - + Loop Out Крај понављања - + Loop Exit Напусти петљу - + Reloop/Exit Loop Понављај/Настави - + Loop Halve Преполовљавање петље - + Loop Double Удвостручавање петље - + 1/32 1/32 - + 1/16 1/16 - + 1/8 1/8 - + 1/4 1/4 - + Move Loop +%1 Beats Макни понављ. +%1 откуцај/а - + Move Loop -%1 Beats Макни понављ. -%1 откуцај/а - + Loop %1 Beats Понављај %1 откуцај/а - + Loop Roll %1 Beats Клизно понављ. %1 откуцај/а - + Add to Auto DJ Queue (bottom) Додајте у ред самосталног диџеја (доле) - + Append the selected track to the Auto DJ Queue Додај одабир на крај Ауто-Диџеј листе - + Add to Auto DJ Queue (top) Додајте у ред самосталног диџеја (горе) - + Prepend selected track to the Auto DJ Queue Додај одабир на почетак Ауто-Диџеј листе - + Load Track Учитај одабир - + Load selected track Учитајте изабрану нумеру - + Load selected track and play Учитајте изабрану нумеру и пустите је - - + + Record Mix Снимај микс - + Toggle mix recording Снимање микса активно - + Effects Дејства - + Quick Effects Једноставни ефекти - + Deck %1 Quick Effect Super Knob Дек %1 - гл. пот. за ефекте - + Quick Effect Super Knob (control linked effect parameters) Главни потенциометар за ефекте (контрола повезаних параметара) - - + + Quick Effect Једноставан ефекат - + Clear Unit Уклони процесор - + Clear effect unit Уклони процесор из модула - + Toggle Unit Процесор активан - + Dry/Wet Суво-Ефекат - + Adjust the balance between the original (dry) and processed (wet) signal. Постави однос јачине сувог (чистог) сигнала и обрађеног сигнала (ефекта) - + Super Knob Гл. потенциометар - + Next Chain Сл. ланац - + Assign Додели - + Clear Уклони - + Clear the current effect Уклони одабрани ефекат - + Toggle Активација - + Toggle the current effect Прекидач за одабрани ефекат - + Next Даље - + Switch to next effect Одабери сл. ефекат у низу - + Previous Претходно - + Switch to the previous effect Одабери претх. ефекат у низу - + Next or Previous Следећи/претходни - + Switch to either next or previous effect Одабери или сл или претходни ефекат у низу - - + + Parameter Value Вредност параметра - - + + Microphone Ducking Strength Јачина компресије микрофона - + Microphone Ducking Mode Режим компресије микрофона - + Gain Појачање - + Gain knob Дугменце појачања - + Shuffle the content of the Auto DJ queue Промешај листу Ауто-Диџеј-а - + Skip the next track in the Auto DJ queue Прескочи следећу нумеру у Ауто-Диџеј листи - + Auto DJ Toggle Ауто ДиЏеј активан - + Toggle Auto DJ On/Off Прекидач Ауто-Диџеј-а, укљ./искљ. - + Show/hide the microphone & auxiliary section - + 4 Effect Units Show/Hide - + Switches between showing 2 and 4 effect units - + Mixer Show/Hide - + Show or hide the mixer. - + Cover Art Show/Hide (Library) - + Show/hide cover art in the library - + Library Maximize/Restore Увећај/смањи бирач нумера - + Maximize the track library to take up all the available screen space. Користи цео екран за одабир нумера - + Effect Rack Show/Hide Приказ ланца ефеката - + Show/hide the effect rack Прикажи или сакриј модул за ефекте - + Waveform Zoom Out Рашири осцилоскоп @@ -2211,103 +2238,103 @@ trace - Above + Profiling messages Појачање слушалица - + Tap to sync tempo (and phase with quantize enabled), hold to enable permanent sync - + One-time beat sync tempo (and phase with quantize enabled) - + Playback Speed Брзина репродукције - + Playback speed control (Vinyl "Pitch" slider) Контрола брзине пуштања (аналогни "Pitch" клизач) - + Pitch (Musical key) Фрекв. (музикално) - + Increase Speed Увећај брзину - + Adjust speed faster (coarse) Подеси на брже (грубо) - + Increase Speed (Fine) Убрзај (фино) - + Adjust speed faster (fine) Подеси на брже (фино) - + Decrease Speed Смањи брзину - + Adjust speed slower (coarse) Подеси на спорије (грубо) - + Adjust speed slower (fine) Подеси на спорије (фино) - + Temporarily Increase Speed Моментално убрзање - + Temporarily increase speed (coarse) Моментално убрзање (грубо) - + Temporarily Increase Speed (Fine) Моментално убрзање (фино) - + Temporarily increase speed (fine) Моментално убрзање (фино) - + Temporarily Decrease Speed Моментално успорење - + Temporarily decrease speed (coarse) Моментално успорење (грубо) - + Temporarily Decrease Speed (Fine) Моментално успорење (фино) - + Temporarily decrease speed (fine) Моментално успорење (фино) @@ -2459,1059 +2486,1081 @@ trace - Above + Profiling messages - - + + Move Beatgrid Half a Beat + + + + + Adjust the beatgrid by exactly one half beat. Usable only for tracks with constant tempo. + + + + + Toggle the BPM/beatgrid lock - + Revert last BPM/Beatgrid Change - + Revert last BPM/Beatgrid Change of the loaded track. - + Sync / Sync Lock - + Internal Sync Leader - + Toggle Internal Sync Leader - - + + Internal Leader BPM - + Internal Leader BPM +1 - + Increase internal Leader BPM by 1 - + Internal Leader BPM -1 - + Decrease internal Leader BPM by 1 - + Internal Leader BPM +0.1 - + Increase internal Leader BPM by 0.1 - + Internal Leader BPM -0.1 - + Decrease internal Leader BPM by 0.1 - + Sync Leader - + Sync mode 3-state toggle / indicator (Off, Soft Leader, Explicit Leader) - + Speed - + Decrease Speed (Fine) - + Pitch (Musical Key) - + Increase Pitch - + Increases the pitch by one semitone - + Increase Pitch (Fine) - + Increases the pitch by 10 cents - + Decrease Pitch - + Decreases the pitch by one semitone - + Decrease Pitch (Fine) - + Decreases the pitch by 10 cents - + Keylock - + CUP (Cue + Play) CUP (Скочи и пусти) - + Shift cue points earlier - + Shift cue points 10 milliseconds earlier - + Shift cue points earlier (fine) - + Shift cue points 1 millisecond earlier - + Shift cue points later - + Shift cue points 10 milliseconds later - + Shift cue points later (fine) - + Shift cue points 1 millisecond later - + + + Sort hotcues by position + + + + + + Sort hotcues by position (remove offsets) + + + + Hotcues %1-%2 - + Intro / Outro Markers - + Intro Start Marker - + Intro End Marker - + Outro Start Marker - + Outro End Marker - + intro start marker - + intro end marker - + outro start marker - + outro end marker - + Activate %1 [intro/outro marker - + Jump to or set the %1 [intro/outro marker - + Set %1 [intro/outro marker - + Set or jump to the %1 [intro/outro marker - + Clear %1 [intro/outro marker - + Clear the %1 [intro/outro marker - + if the track has no beats the unit is seconds - + Loop Selected Beats Понављај одабране откуцаје - + Create a beat loop of selected beat size Активирај понављање са одређеним бројем откуцаја - + Loop Roll Selected Beats Клизно понављање одабраних откуцаја - + Create a rolling beat loop of selected beat size Активирај клизно понављање са одређеним бројем откуцаја - + Loop %1 Beats set from its end point - + Loop Roll %1 Beats set from its end point - + Create %1-beat loop with the current play position as loop end - + Create temporary %1-beat loop roll with the current play position as loop end - + Loop Beats - + Loop Roll Beats - + Go To Loop In - + Go to Loop In button - + Go To Loop Out - + Go to Loop Out button - + Toggle loop on/off and jump to Loop In point if loop is behind play position Укљ./искљ. понављање и врати на почетак понављања ако је прошао - + Reloop And Stop Понови па стани - + Enable loop, jump to Loop In point, and stop Активирај понављање, скочи на почетак понављања и заустави - + Halve the loop length Преполови дужину понављања - + Double the loop length Удвостручи дужину понављања - + Beat Jump / Loop Move Скок на откуцај / помак понављања - + Jump / Move Loop Forward %1 Beats Скочи / макни понављ. напред за %1 откуцај/а - + Jump / Move Loop Backward %1 Beats Скочи / макни понављ. назад за %1 откуцај/а - + Jump forward by %1 beats, or if a loop is enabled, move the loop forward %1 beats Скочи унапред %1 откуцај/а, или у случају понављања, помакни унапред %1 откуцај/а - + Jump backward by %1 beats, or if a loop is enabled, move the loop backward %1 beats Скочи уназад %1 откуцај/а, или у случају понављања, помакни уназад %1 откуцај/а - + Beat Jump / Loop Move Forward Selected Beats Прескочи откуцаје / помакни понављање одабиром - + Jump forward by the selected number of beats, or if a loop is enabled, move the loop forward by the selected number of beats Прескочи број откуцаја у одабиру, или у случају понављања, помакни унапред исти број откуцаја - + Beat Jump / Loop Move Backward Selected Beats Врати уназад / помакни понављање по одабиру - + Jump backward by the selected number of beats, or if a loop is enabled, move the loop backward by the selected number of beats Скочи на откуцај, или у случају понављања, помакни уназад, по дужини одабира - + Beat Jump - + Indicate which loop marker remain static when adjusting the size or is inherited from the current position - + Beat Jump / Loop Move Forward - + Beat Jump / Loop Move Backward - + Loop Move Forward - + Loop Move Backward - + Remove Temporary Loop - + Remove the temporary loop - + Navigation - + Move up Нагоре - + Equivalent to pressing the UP key on the keyboard Исто што и тастер стрелице на горе - + Move down Надоле - + Equivalent to pressing the DOWN key on the keyboard Исто што и тастер стрелице на доле - + Move up/down Горе/доле - + Move vertically in either direction using a knob, as if pressing UP/DOWN keys Вертикално померање потенциометра, као са тастерима стрелица - + Scroll Up Претходна страна - + Equivalent to pressing the PAGE UP key on the keyboard Исто што и тастер PAGE UP - + Scroll Down Следећа страна - + Equivalent to pressing the PAGE DOWN key on the keyboard Исто што и тастер PAGE DOWN - + Scroll up/down Навигација по странама - + Scroll vertically in either direction using a knob, as if pressing PGUP/PGDOWN keys Груба навигација горе/доле употребом пот-а, исто се постиже тастерима PG UP/PG DN - + Move left Налево - + Equivalent to pressing the LEFT key on the keyboard Исто што и тастер стрелице на лево - + Move right Надесно - + Equivalent to pressing the RIGHT key on the keyboard Исто што и тастер стрелице на десно - + Move left/right Лево/десно - + Move horizontally in either direction using a knob, as if pressing LEFT/RIGHT keys Померање лево/десно помоћу пот-а, исто се постиже тастерима стрелица лево/десно - + Move focus to right pane Пребаци се на десни сегмент - + Equivalent to pressing the TAB key on the keyboard Исто што и тастер TAB - + Move focus to left pane Пребаци се на леви сегмент - + Equivalent to pressing the SHIFT+TAB key on the keyboard Исто што и комбинација Shift+TAB - + Move focus to right/left pane Навигација кроз сегменте - + Move focus one pane to right or left using a knob, as if pressing TAB/SHIFT+TAB keys Померање лево/десно кроз сегменте прозора помоћу пот-а, исто се постиже тастерима ТАВ/Shift+TAB - + Sort focused column - + Sort the column of the cell that is currently focused, equivalent to clicking on its header - + Go to the currently selected item Скочи на одабрану ставку - + Choose the currently selected item and advance forward one pane if appropriate Маркирај одабрану ставку и пређи на одговарајући сегмент - + Load Track and Play - + Add to Auto DJ Queue (replace) Додај на Ауто-Диџеј листу (рокада) - + Replace Auto DJ Queue with selected tracks Нова Ауто-Диџеј листа од одабраних нумера - + Select next search history - + Selects the next search history entry - + Select previous search history - + Selects the previous search history entry - + Move selected search entry - + Moves the selected search history item into given direction and steps - + Clear search - + Clears the search query - - + + Select Next Color Available - + Select the next color in the color palette for the first selected track - - + + Select Previous Color Available - + Select the previous color in the color palette for the first selected track - + Deck %1 Quick Effect Enable Button - + Quick Effect Enable Button - + Enable or disable effect processing Укључи/искључи обраду сигнала - + Super Knob (control effects' Meta Knobs) Главни пот (контролише подесиве пот-е ефеката) - + Mix Mode Toggle - + Toggle effect unit between D/W and D+W modes - + Next chain preset Сл. меморисани ланац - + Previous Chain Претходни ланац - + Previous chain preset Претходни меморисани ланац - + Next/Previous Chain Сл./претх. меморисани ланац - + Next or previous chain preset Следећи или претходни меморисани ланац процесора - - + + Show Effect Parameters Приказ параметара ефекта - + Effect Unit Assignment - + Meta Knob Подесиви пот. - + Effect Meta Knob (control linked effect parameters) Подесиви пот. ефекта (за везивање параметара више ефеката) - + Meta Knob Mode Режим подесивог пот-а - + Set how linked effect parameters change when turning the Meta Knob. Подешавање реакције везаних пот-а - + Meta Knob Mode Invert Обрни ефекат подесивог пот-а - + Invert how linked effect parameters change when turning the Meta Knob. Наопако реаговање везаних пот-а - - + + Button Parameter Value - + Microphone / Auxiliary Микрофон / Екстерно - + Microphone On/Off Укљ/искљ микрофон - + Microphone on/off Микрофон укљ./искљ. - + Toggle microphone ducking mode (OFF, AUTO, MANUAL) Одабир режима компресије микрофона (искљ., аутоматски, ручно) - + Auxiliary On/Off Укљ. искљ. екстерно - + Auxiliary on/off Активација екстерног сигнала - + Auto DJ Самостални Диџеј - + Auto DJ Shuffle Ауто-Диџеј "шафл" - + Auto DJ Skip Next Ауто-Диџеј - прескочи следеће - + Auto DJ Add Random Track - + Add a random track to the Auto DJ queue - + Auto DJ Fade To Next Ауто-Диџеј - постепено пређи на сл. - + Trigger the transition to the next track Окините прелаз на следећу нумеру - + User Interface Корисничко сучеље - + Samplers Show/Hide Приказ семплера - + Show/hide the sampler section Прикажи/сакриј одељак узорчника - + Microphone && Auxiliary Show/Hide keep double & to prevent creation of keyboard accelerator - + Waveform Zoom Reset To Default - + Reset the waveform zoom level to the default value selected in Preferences -> Waveforms - + Select the next color in the color palette for the loaded track. - + Select previous color in the color palette for the loaded track. - + Navigate Through Track Colors - + Select either next or previous color in the palette for the loaded track. - + Start/Stop Live Broadcasting - + Stream your mix over the Internet. - + Start/stop recording your mix. - - + + Samplers - + Vinyl Control Show/Hide Приказ аналогне контроле - + Show/hide the vinyl control section Прикажи/сакриј одељак управљања плочом - + Preview Deck Show/Hide Приказ припремног дека - + Show/hide the preview deck Прикажи/сакриј дек прегледа - + Toggle 4 Decks - + Switches between showing 2 decks and 4 decks. - + Cover Art Show/Hide (Decks) - + Show/hide cover art in the main decks - + Vinyl Spinner Show/Hide Приказ индикатора аналогне контроле - + Show/hide spinning vinyl widget Прикажи/сакриј елемент окретања плоче - + Vinyl Spinners Show/Hide (All Decks) - + Show/Hide all spinnies - + Toggle Waveforms - + Show/hide the scrolling waveforms. - + Waveform zoom Ширина осцилоскопа - + Waveform Zoom Ширина приказа звука - + Zoom waveform in Сузи осцилоскоп - + Waveform Zoom In Фокусирај осцилоскоп на мањи сегмент - + Zoom waveform out Фокусирај осцилоскоп на шири сегмент - + Star Rating Up - + Increase the track rating by one star - + Star Rating Down - + Decrease the track rating by one star @@ -3626,33 +3675,33 @@ trace - Above + Profiling messages ControllerScriptEngineBase - + The functionality provided by this controller mapping will be disabled until the issue has been resolved. - + You can ignore this error for this session but you may experience erratic behavior. - + Try to recover by resetting your controller. Покушајте да средите проблем ресетовањем контролера - + Controller Mapping Error - + The mapping for your controller "%1" is not working properly. - + The script code needs to be fixed. Изворни код садржи грешке. @@ -3696,13 +3745,13 @@ trace - Above + Profiling messages CrateFeature - + Remove Уклони - + Create New Crate Нова гајбица @@ -3712,132 +3761,132 @@ trace - Above + Profiling messages Преименуј - - + + Lock Закључај - + Export Crate as Playlist - + Export Track Files Направи фајл - + Duplicate Дуплирај - + Analyze entire Crate Анализирај целу гајбицу - + Auto DJ Track Source Селекција за Ауто-Диџеј-а - + Enter new name for crate: Унесите назив нове гајбице: - - + + Crates Гајбице - - + + Import Crate Увези гајбицу - + Export Crate Извези гајбицу - + Unlock Откључај - + An unknown error occurred while creating crate: Дошло је до непознате грешке приликом стварања гајбице: - + Rename Crate Преименуј гајбицу - - - Export to Engine Prime - - - - + Make a crate for your next gig, for your favorite electrohouse tracks, or for your most requested tracks. - + Confirm Deletion - - + + Renaming Crate Failed Нисам успео да преименујем гајбицу - + Crate Creation Failed Креирање гајбице неуспешно - + M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Text CSV (*.csv);;Readable Text (*.txt) М3У списак нумера (*.m3u);;М3У8 списак нумера (*.m3u8);;ПЛС списак нумера (*.pls);;Текстуални ЦСВ (*.csv);;Читљив текст (*.txt) - + M3U Playlist (*.m3u) М3У листа (*.м3у) - + Crates are a great way to help organize the music you want to DJ with. Гајбице су одличан начин за испомоћ приликом организовања музике са којом желите да радите у диџеју. - + + + Export to Engine DJ + + + + Crates let you organize your music however you'd like! Гајбице вам омогућавају да организујете вашу музику онако како ви то хоћете! - + Do you really want to delete crate <b>%1</b>? - + A crate cannot have a blank name. Назив гајбице не може бити празан. - + A crate by that name already exists. Већ постоји гајбица са овим називом. @@ -3932,12 +3981,12 @@ trace - Above + Profiling messages Претходни доприносиоци - + Official Website - + Donate @@ -4059,72 +4108,72 @@ trace - Above + Profiling messages DlgAutoDJ - + Skip - + Random - + Fade - + Enable Auto DJ Shortcut: Shift+F12 - + Disable Auto DJ Shortcut: Shift+F12 - + Trigger the transition to the next track Shortcut: Shift+F11 - + Skip the next track in the Auto DJ queue Shortcut: Shift+F10 - + Shuffle the content of the Auto DJ queue Shortcut: Shift+F9 - + Repeat the playlist - + Determines the duration of the transition - + Seconds Секунде - + Auto DJ Fade Modes Full Intro + Outro: @@ -4155,82 +4204,82 @@ crossfader, so that the intro starts at full volume. - + Full Intro + Outro - + Fade At Outro Start - + Full Track - + Skip Silence - + Skip Silence Start Full Volume - + Decks not used for Auto DJ must be stopped to enable Auto DJ mode. Декови који се не користе за Ауто-Диџеј морају бити заустављени да би се омогућио рад Ауто-Диџеј-а. - + Repeat Понови - + Auto DJ requires two decks assigned to opposite sides of the crossfader. - + One deck must be stopped to enable Auto DJ mode. Један од декова мора бити заустављен да би се омогућио рад Ауто-Диџеј-а - + Enable - + Disable - + Displays the duration and number of selected tracks. Приказује укупну дужину и количину одабраних нумера. - - - + + + Auto DJ Самостални Диџеј - + Shuffle Измешај - + Adds a random track from track sources (crates) to the Auto DJ queue. If no track sources are configured, the track is added from the library instead. Додаје произвољну нумеру из @@ -4485,40 +4534,40 @@ Often results in higher quality beatgrids, but will not do well on tracks that h детекцију дугметом "Покушај опет" - + Didn't get any midi messages. Please try again. Нема порука на видику. Покушајте опет. - + Unable to detect a mapping -- please try again. Be sure to only touch one control at once. Не могу да препознам поруку - покушајте опет. Да ли можда дирате више контрола одједном? - + Successfully mapped control: Успешно научена контрола: - + <i>Ready to learn %1</i> <i>Позорност за %1</i> - + Learning: %1. Now move a control on your controller. Учим: %1. Сада померите елемент на хардверу. - + The selected control does not exist.<br>This likely a bug. Please report it on the Mixxx bug tracker.<br><a href='https://github.com/mixxxdj/mixxx/issues'>https://github.com/mixxxdj/mixxx/issues</a><br><br>You tried to learn: %1,%2 - + The control you clicked in Mixxx is not learnable. This could be because you are either using an old skin and this control is no longer supported, or you clicked a control that provides visual feedback and can only be mapped to outputs like LEDs via scripts. @@ -4559,17 +4608,17 @@ You tried to learn: %1,%2 Избаци у цсв - + Log Записник - + Search Нађи - + Stats Статистика @@ -5243,115 +5292,115 @@ associated with each key. DlgPrefController - + Apply device settings? Да применим подешавања уређаја? - + Your settings must be applied before starting the learning wizard. Apply settings and continue? Ваша подешавања морају бити примењена пре него што покренете чаробњака учења. Да применим подешавања и да наставим? - + None Ништа - + %1 by %2 %1 од %2 - + Mapping has been edited - + Always overwrite during this session - + Save As - + Overwrite - + Save user mapping - + Enter the name for saving the mapping to the user folder. - + Saving mapping failed - + A mapping cannot have a blank name and may not contain special characters. - + A mapping file with that name already exists. - + Do you want to save the changes? - + Troubleshooting Решавање проблема - + <font color='#BB0000'><b>If you use this mapping your controller may not work correctly. Please select another mapping or disable the controller.</b></font><br><br>This mapping was designed for a newer Mixxx Controller Engine and cannot be used on your current Mixxx installation.<br>Your Mixxx installation has Controller Engine version %1. This mapping requires a Controller Engine version >= %2.<br><br>For more information visit the wiki page on <a href='https://mixxx.org/wiki/doku.php/controller_engine_versions'>Controller Engine Versions</a>. - + Mapping already exists. - + <b>%1</b> already exists in user mapping folder.<br>Overwrite or save with a new name? - + Clear Input Mappings Уклони мапиране контроле - + Are you sure you want to clear all input mappings? Да ли заиста желите да уклоните све мапиране контроле? - + Clear Output Mappings Обриши мапиране контроле - + Are you sure you want to clear all output mappings? Да ли заисте желите да обришете све мапиране контроле? @@ -5365,105 +5414,105 @@ Apply settings and continue? Назив управљача - + Enabled Укључен - + Device Info - + Physical Interface: - + Vendor name: - + Product name: - + Vendor ID - + VID: - + Product ID - + PID: - + Serial number: - + USB interface number: - + HID Usage-Page: - + HID Usage: - + Description: Опис: - + Support: Подршка: - + Screens preview - + Input Mappings Мапирање улаза - - + + Search Нађи - - + + Add Додај - - + + Remove Уклони @@ -5478,22 +5527,22 @@ Apply settings and continue? Избори за контролере - + Load Mapping: - + Mapping Info - + Author: Аутор: - + Name: Назив: @@ -5503,28 +5552,28 @@ Apply settings and continue? Чаробњак учења (само МИДИ) - + Data protocol: - + Mapping Files: - + Mapping Settings - - + + Clear All Очисти све - + Output Mappings Мапирање излаза @@ -5700,6 +5749,16 @@ MIDI учење, за одабрани контролер. Multi-Sampling + + + Force 3D acceleration + + + + + If checked, Mixxx will always assume 3D acceleration is available. This may lead to pour performance if only CP-backed rendering is available.. + + Start in full-screen mode @@ -6314,64 +6373,64 @@ You can always drag-and-drop tracks on screen to clone a deck. DlgPrefInterface - + The minimum size of the selected skin is bigger than your screen resolution. Овај дизајн захтева резолуцију екрана која је већа од тренутне. - + Allow screensaver to run Дозволи штедњу екрана при раду - + Prevent screensaver from running Спречи штедњу екрана - + Prevent screensaver while playing Спречи гашење екрана при репродукцији - + Disabled - + 2x MSAA - + 4x MSAA - + 8x MSAA - + 16x MSAA - + This skin does not support color schemes Овај дизајн не подржава промену палете боја - + Information Обавештење - + Mixxx must be restarted before the new locale, scaling or multi-sampling settings will take effect. @@ -7588,155 +7647,154 @@ The loudness target is approximate and assumes track pregain and main output lev DlgPrefSound - + %1 Hz %1 Hz - + Default (long delay) Основно (дуги ехо) - + Experimental (no delay) Експериментално (без еха) - + Disabled (short delay) Угашено (кратак ехо) - + Soundcard Clock Клок звучног адаптера - + Network Clock Мрежни клок - + Direct monitor (recording and broadcasting only) Директни мониторинг (за снимање и емитовање) - + Disabled Неактивно - + Enabled Укључен - + Stereo Стерео - + Mono Моно - + To enable Realtime scheduling (currently disabled), see the %1. - + The %1 lists sound cards and controllers you may want to consider for using Mixxx. - + Mixxx DJ Hardware Guide - + Information - + Mixxx must be restarted before the multi-threaded RubberBand setting change will take effect. - + auto (<= 1024 frames/period) - + 2048 frames/period - + 4096 frames/period - + Are you sure? - + Distribute stereo channels into mono channels for parallel processing will result in a loss of mono compatibility and a diffuse stereo image. It is not recommended during broadcasting or recording. - + Are you sure you wish to proceed? - + No - + Yes, I know what I am doing - + Microphone inputs are out of time in the record & broadcast signal compared to what you hear. Микрофонски сигнал у емисији и снимку није усаглашен са оним што чујете. - + Measure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. Измери мрежно кашњење и унеси га заједно са Микрофонском компензацијом да би усагласили микрофон. - - + Refer to the Mixxx User Manual for details. Консултујте Миксиксикс приручник за више информација. - + Configured latency has changed. Поставка компензације кашњења захтева корекцију. - + Remeasure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. Поново измери мрежно кашњење и унеси га заједно са Микрофонском @@ -7744,27 +7802,27 @@ The loudness target is approximate and assumes track pregain and main output lev микрофонски сигнал. - + Realtime scheduling is enabled. Активно је мерење у реалном времену. - + Main output only - + Main and booth outputs - + %1 ms %1 ms - + Configuration error Грешка подешавања @@ -7782,135 +7840,135 @@ The loudness target is approximate and assumes track pregain and main output lev АПИ звука - + Sample Rate Фрекв. узорковања - + Audio Buffer Звучна међу-меморија - + Engine Clock Референтни клок - + Use soundcard clock for live audience setups and lowest latency.<br>Use network clock for broadcasting without a live audience. Користите клок звучног адаптера за живе ситуације и смањено кашњење.<br>Користите мрежни клок за емитовање без активне публике. - + Main Mix - + Main Output Mode - + Microphone Monitor Mode Мониторинг микрофона - + Microphone Latency Compensation Микрофонска компензација - - - - + + + + ms milliseconds ms - + 20 ms 20 ms - + Buffer Underflow Count Број пражњења међу-меморије - + 0 0 - + Keylock/Pitch-Bending Engine Систем променљиве фреквенције - + Multi-Soundcard Synchronization Мулти-адаптерска синхронизација - + Output Излаз - + Input Улаз - + System Reported Latency Системско кашњење - + Enlarge your audio buffer if the underflow counter is increasing or you hear pops during playback. Увећајте звучну међу-меморију ако се бројач пражњења стално увећава, или чујете "пуцкетање" у репродукцији. - + Main Output Delay - + Headphone Output Delay - + Booth Output Delay - + Dual-threaded Stereo - + Hints and Diagnostics Савети и дијагностика - + Downsize your audio buffer to improve Mixxx's responsiveness. Смањите звучну међу-меморију за бржи одзив Микс-ове апаратуре. - + Query Devices Пропитај уређаје @@ -8065,27 +8123,28 @@ The loudness target is approximate and assumes track pregain and main output lev - - 1/3rd of waveform viewer + + 1/3 of waveform viewer + options for "Text height limit" - - Full waveform viewer height + + Entire waveform viewer - + OpenGL not available ОпенГЛ није доступан - + dropped frames - + Cached waveforms occupy %1 MiB on disk. @@ -8098,250 +8157,256 @@ The loudness target is approximate and assumes track pregain and main output lev - + Frame rate Проток кадрова - - Displays which OpenGL version is supported by the current platform. - Прикажите које издање ОпенГЛ-а је подржано текућом платформом. + + OpenGL Status + - - Waveform - + + Displays which OpenGL version is supported by the current platform. + Прикажите које издање ОпенГЛ-а је подржано текућом платформом. - + Normalize waveform overview - + Average frame rate - + Visual gain Видно појачање - + Default zoom level Waveform zoom - + Displays the actual frame rate. Прикажите садашњи проток кадрова. - + Visual gain of the middle frequencies Видљиво појачање средњих учесталости - + End of track warning - - OpenGL status - - - - + This functionality requires waveform acceleration. - + Highlight the waveforms when the last seconds of a track remains. - + seconds сек. - + Low Низак - + Show minute markers on waveform overview - + Use acceleration - + High details - + Middle - + Global - + Visual gain of the high frequencies Видљиво појачање високих учесталости - + Visual gain of the low frequencies Видљиво појачање ниских учесталости - + High Висок - + Global visual gain Опште видно појачање - + The waveform overview shows the waveform envelope of the entire track. Select from different types of displays for the waveform overview, which differ primarily in the level of detail shown in the waveform. - + Enabled - + The waveform shows the waveform envelope of the track near the current playback position. Select from different types of displays for the waveform, which differ primarily in the level of detail shown in the waveform. - - Waveform overview type - - - - + fps - + Synchronize zoom level across all waveform displays. Ускладите ниво увећавања преко свих приказа таласних облика. - + Synchronize zoom level across all waveforms - + Play marker hints - + Beats until next marker - + Preferred font size - + Text height limit - + Time until next marker - + Placement - + pt - + Caching - + Mixxx caches the waveforms of your tracks on disk the first time you load a track. This reduces CPU usage when you are playing live but requires extra disk space. - + Enable waveform caching - + Generate waveforms when analyzing library - + Beat grid opacity - + + Scrolling Waveforms + + + + + + Type + + + + Stereo coloration - + Set amount of opacity on beat grid lines. - + % % - + Play marker position - + Moves the play marker position on the waveforms to the left, right or center (default). - + + Overview Waveforms + + + + Clear Cached Waveforms @@ -8349,47 +8414,47 @@ Select from different types of displays for the waveform, which differ primarily DlgPreferences - + Sound Hardware Звучне компоненте - + Controllers Управљачи - + Library Библиотека - + Interface Сучеље - + Waveforms - + Mixer Мешач - + Auto DJ Самостални Диџеј - + Decks - + Colors @@ -8424,47 +8489,47 @@ Select from different types of displays for the waveform, which differ primarily - + Effects Дејства - + Recording Снимање - + Beat Detection Откривање такта - + Key Detection - + Normalization Нормализација - + <font color='#BB0000'><b>Some preferences pages have errors. To apply the changes please first fix the issues.</b></font> - + Vinyl Control Управљање плочом - + Live Broadcasting Емитовање уживо - + Modplug Decoder @@ -8497,22 +8562,22 @@ Select from different types of displays for the waveform, which differ primarily - + Start Recording Започни снимање - + Recording to file: - + Stop Recording Заустави снимање - + %1 MiB written in %2 @@ -8820,284 +8885,284 @@ This can not be undone! Сажетак - + Filetype: Врста датотеке: - + BPM: ТУМ: - + Location: Место: - + Bitrate: Проток бита: - + Comments - + BPM ТУМ - + Sets the BPM to 75% of the current value. - + 3/4 BPM - + Sets the BPM to 50% of the current value. - + Displays the BPM of the selected track. - + Track # Нумера бр. - + Album Artist Извођач - + Composer Састављач - + Title Наслов - + Grouping Груписање - + Key Кључ - + Year Година - + Artist Извођач - + Album Албум - + Genre Жанр - + ReplayGain: - + Sets the BPM to 200% of the current value. - + Double BPM Удвостручи ТУМ - + Halve BPM Преполови ТУМ - + Clear BPM and Beatgrid Очисти ТУМ и тактну мрежу - + Move to the previous item. "Previous" button - + &Previous &Претходна - + Move to the next item. "Next" button - + &Next &Следећа - + Duration: Трајање: - + Import Metadata from MusicBrainz - + Re-Import Metadata from file - + Color - + Date added: - + Open in File Browser Отвори у прегледнику датотека - + Samplerate: - + Track BPM: Прати ТУМ: - + Converts beats detected by the analyzer into a fixed-tempo beatgrid. Use this setting if your tracks have a constant tempo (e.g. most electronic music). Often results in higher quality beatgrids, but will not do well on tracks that have tempo shifts. - + Assume constant tempo - + Sets the BPM to 66% of the current value. - + 2/3 BPM - + Sets the BPM to 150% of the current value. - + 3/2 BPM - + Sets the BPM to 133% of the current value. - + 4/3 BPM - + Tap with the beat to set the BPM to the speed you are tapping. - + Tap to Beat Лупни такт - + Hint: Use the Library Analyze view to run BPM detection. Савет: Користите преглед анализирања библиотеке да покренете откривање ТУМ-а. - + Save changes and close the window. "OK" button - + &OK - + Discard changes and close the window. "Cancel" button - + Save changes and keep the window open. "Apply" button - + &Apply &Примени - + &Cancel &Откажи - + (no color) @@ -9254,7 +9319,7 @@ Often results in higher quality beatgrids, but will not do well on tracks that h - + (no color) @@ -9456,27 +9521,27 @@ Often results in higher quality beatgrids, but will not do well on tracks that h EngineBuffer - + Soundtouch (faster) - + Rubberband (better) - + Rubberband R3 (near-hi-fi quality) - + Unknown, using Rubberband (better) - + Unknown, using Soundtouch @@ -9620,38 +9685,38 @@ Often results in higher quality beatgrids, but will not do well on tracks that h ITunesFeature - - + + iTunes ајТјунс - + Select your iTunes library Изаберите вашу ајТјунс библиотеку - + (loading) iTunes (учитавам) ајТјунс - + Use Default Library Користи основну библиотеку - + Choose Library... Изабери библиотеку... - + Error Loading iTunes Library Грешка учитавања ајТјунс библиотеке - + There was an error loading your iTunes library. Check the logs for details. @@ -9659,12 +9724,12 @@ Often results in higher quality beatgrids, but will not do well on tracks that h LegacyControllerColorSetting - + Change color - + Choose a new color @@ -9672,18 +9737,18 @@ Often results in higher quality beatgrids, but will not do well on tracks that h LegacyControllerFileSetting - + Browse... - - + + No file selected - + Select a file @@ -9691,15 +9756,15 @@ Often results in higher quality beatgrids, but will not do well on tracks that h LegacySkinParser - - + + Safe Mode Enabled Shown when Mixxx is running in safe mode. - - + + No OpenGL support. Shown when Spinny can not be displayed. Please keep @@ -9710,57 +9775,57 @@ Shown when VuMeter can not be displayed. Please keep - + activate покрени - + toggle окини - + right десно - + left лево - + right small мали десни - + left small мали леви - + up горе - + down доле - + up small мало горе - + down small мало доле - + Shortcut Пречица @@ -9768,62 +9833,62 @@ Shown when VuMeter can not be displayed. Please keep Library - + This or a parent directory is already in your library. - + This or a listed directory does not exist or is inaccessible. Aborting the operation to avoid library inconsistencies - - + + This directory can not be read. - + An unknown error occurred. Aborting the operation to avoid library inconsistencies - + Can't add Directory to Library - + Could not add <b>%1</b> to your library. %2 - + Can't remove Directory from Library - + An unknown error occurred. - + This directory does not exist or is inaccessible. - + Relink Directory - + Could not relink <b>%1</b> to <b>%2</b>. %3 @@ -9833,22 +9898,22 @@ Aborting the operation to avoid library inconsistencies LibraryFeature - + Import Playlist Увезите списак нумера - + Playlist Files (*.m3u *.m3u8 *.pls *.csv) Спискови нумера (*.m3u *.m3u8 *.pls *.csv) - + Overwrite File? - + A playlist file with the name "%1" already exists. The default "m3u" extension was added because none was specified. @@ -9895,27 +9960,27 @@ Do you really want to overwrite it? MidiController - + MixxxControl(s) not found - + One or more MixxxControls specified in the outputs section of the loaded mapping were invalid. - + * Make sure the MixxxControls in question actually exist. Visit the manual for a complete list: - + Some LEDs or other feedback may not work correctly. - + * Check to see that the MixxxControl names are spelled correctly in the mapping file (.xml) @@ -9975,18 +10040,18 @@ Do you really want to overwrite it? MixxxLibraryFeature - + Missing Tracks Недостајуће нумере - + Hidden Tracks Скривене нумере - Export to Engine Prime + Export to Engine DJ @@ -9998,208 +10063,249 @@ Do you really want to overwrite it? MixxxMainWindow - + Sound Device Busy Звучни уређај је заузет - + <b>Retry</b> after closing the other application or reconnecting a sound device <b>Покушајте поново</b> након што затворите други прог или поново прикључите звучни уређај - - - + + + <b>Reconfigure</b> Mixxx's sound device settings. <b>Поново подесите</b> подешавања звучног уређаја Миксикса. - - + + Get <b>Help</b> from the Mixxx Wiki. Нађите <b>Помоћ</b> на Викију Миксикса. - - - + + + <b>Exit</b> Mixxx. <b>Изађите</b> из Миксикса. - + Retry Покушај поново - + skin - + Allow Mixxx to hide the menu bar? - + Hide Always show the menu bar? - + Always show - + The Mixxx menu bar is hidden and can be toggled with a single press of the <b>Alt</b> key.<br><br>Click <b>%1</b> to agree.<br><br>Click <b>%2</b> to disable that, for example if you don't use Mixxx with a keyboard.<br><br>You can change this setting any time in Preferences -> Interface.<br> Keep formatting tags <b> (bold text) and <br> (linebreak). %1 is the placeholder for the 'Always show' button label - + Ask me again - - + + Reconfigure Поново подеси - + Help Помоћ - - + + Exit Изађи - - + + Mixxx was unable to open all the configured sound devices. - + Sound Device Error - + <b>Retry</b> after fixing an issue - + No Output Devices Нема излазних уређаја - + Mixxx was configured without any output sound devices. Audio processing will be disabled without a configured output device. Миксикс је подешен без иједног излазног звучног уређаја. Обрада звука ће бити онемогућена без подешеног излазног уређаја. - + <b>Continue</b> without any outputs. <b>Наствите</b> без икаквих излаза. - + Continue Настави - + Load track to Deck %1 Учитај нумеру на носач %1 - + Deck %1 is currently playing a track. Носач %1 тренутно пушта нумеру. - + Are you sure you want to load a new track? Да ли сигурно желите да учитате нову нумеру? - + There is no input device selected for this vinyl control. Please select an input device in the sound hardware preferences first. - + There is no input device selected for this passthrough control. Please select an input device in the sound hardware preferences first. - + There is no input device selected for this microphone. Do you want to select an input device? - + There is no input device selected for this auxiliary. Do you want to select an input device? - + + Scan took %1 + + + + + No changes detected. + + + + + + %1 tracks in total + + + + + %1 new tracks found + + + + + %1 moved tracks detected + + + + + %1 tracks are missing (%2 total) + + + + + %1 tracks have been rediscovered + + + + + Library scan finished + + + + Error in skin file Грешка у датотеци маске - + The selected skin cannot be loaded. Изабрана маска не може бити учитана. - + OpenGL Direct Rendering Посредно исцртавање ОпенГЛ-а - + Direct rendering is not enabled on your machine.<br><br>This means that the waveform displays will be very<br><b>slow and may tax your CPU heavily</b>. Either update your<br>configuration to enable direct rendering, or disable<br>the waveform displays in the Mixxx preferences by selecting<br>"Empty" as the waveform display in the 'Interface' section. - - - + + + Confirm Exit Потврди излаз - + A deck is currently playing. Exit Mixxx? Носач тренутно пушта. Да изађем из Миксикса? - + A sampler is currently playing. Exit Mixxx? Узорчник тренутно пушта. Да изађем из Миксикса? - + The preferences window is still open. Прозор поставки је још увек отворен. - + Discard any changes and exit Mixxx? Да одбацим могуће измене и да напустим Миксикс? @@ -10215,13 +10321,13 @@ Do you want to select an input device? PlaylistFeature - + Lock Закључај - - + + Playlists Списак нумера @@ -10231,32 +10337,58 @@ Do you want to select an input device? - + + Unlock all playlists + + + + + Delete all unlocked playlists + + + + Unlock Откључај - + + + Confirm Deletion + + + + + Do you really want to delete all unlocked playlists? + + + + + Deleting %1 unlocked playlists.<br>This operation can not be undone! + + + + Playlists are ordered lists of tracks that allow you to plan your DJ sets. - + It may be necessary to skip some tracks in your prepared playlist or add some different tracks in order to maintain the energy of your audience. - + Some DJs construct playlists before they perform live, but others prefer to build them on-the-fly. Неки диџеји изграде спискове нумера пре него ли обаве изведбу, а неки то раде у току саме представе. - + When using a playlist during a live DJ set, remember to always pay close attention to how your audience reacts to the music you've chosen to play. Када користите списак нумера током живог ДиЏеј скупа, сетите се да увек обратите пажњу на то како ваша публика реагује на музику коју сте изабрали за пуштање. - + Create New Playlist Састави листу песама @@ -11747,7 +11879,7 @@ Fully right: end of the effect period - + Deck %1 Палуба %1 @@ -11880,7 +12012,7 @@ Hint: compensates "chipmunk" or "growling" voices - + Passthrough Пропуштање @@ -11911,7 +12043,7 @@ Hint: compensates "chipmunk" or "growling" voices - + Sampler %1 @@ -12044,12 +12176,12 @@ may introduce a 'pumping' effect and/or distortion. - + built-in - + missing @@ -12084,42 +12216,42 @@ may introduce a 'pumping' effect and/or distortion. - + Empty - + Simple - + Filtered - + HSV - + VSyncTest - + RGB - + Stacked - + Unknown @@ -12177,54 +12309,54 @@ may introduce a 'pumping' effect and/or distortion. RekordboxFeature - - - + + + Rekordbox - + Playlists Списак нумера - + Folders - + Reads databases exported for Pioneer CDJ / XDJ players using the Rekordbox Export mode.<br/>Rekordbox can only export to USB or SD devices with a FAT or HFS file system.<br/>Mixxx can read a database from any device that contains the database folders (<tt>PIONEER</tt> and <tt>Contents</tt>).<br/>Not supported are Rekordbox databases that have been moved to an external device via<br/><i>Preferences > Advanced > Database management</i>.<br/><br/>The following data is read: - + Hot cues - + Loops (only the first loop is currently usable in Mixxx) - + Check for attached Rekordbox USB / SD devices (refresh) - + Beatgrids - + Memory cues - + (loading) Rekordbox @@ -12359,19 +12491,19 @@ may introduce a 'pumping' effect and/or distortion. Закључај - - + + Confirm Deletion - + Do you really want to delete all unlocked playlist from <b>%1</b>?<br><br> %1 is the year <b> + </b> are used to make the text in between bold in the popup <br> is a linebreak - + Deleting %1 playlists from <b>%2</b>.<br><br> %1 is the number of playlists to be deleted %2 is the year <b> + </b> are used to make the text in between bold in the popup <br> is a linebreak @@ -12783,7 +12915,7 @@ may introduce a 'pumping' effect and/or distortion. - + Spinning Vinyl Вртење плоче @@ -12965,7 +13097,7 @@ may introduce a 'pumping' effect and/or distortion. - + Cover Art Омот @@ -13201,197 +13333,197 @@ may introduce a 'pumping' effect and/or distortion. - + Adjust Beats Earlier - + When tapped, moves the beatgrid left by a small amount. - + Adjust Beats Later - + When tapped, moves the beatgrid right by a small amount. - + Tempo and BPM Tap Темпо и лупкање ТУМ-а - + Show/hide the spinning vinyl section. Прикажите/сакријте одељак окретања плоче. - + Keylock - + Toggling keylock during playback may result in a momentary audio glitch. - + Toggle visibility of Loop Controls - + Toggle visibility of Beatjump Controls - + Toggle visibility of Rate Control - + Toggle visibility of Key Controls - + (while previewing) - + Places a cue point at the current position on the waveform. - + Stops track at cue point, OR go to cue point and play after release (CUP mode). - + Set cue point (Pioneer/Mixxx/Numark mode), set cue point and play after release (CUP mode) OR preview from it (Denon mode). - + Is latching the playing state. - + Seeks the track to the cue point and stops. - + Play Пусти - + Plays track from the cue point. - + Sends the selected channel's audio to the headphone output, selected in Preferences -> Sound Hardware. - + (This skin should be updated to use Sync Lock!) - + Enable Sync Lock - + Tap to sync the tempo to other playing tracks or the sync leader. - + Enable Sync Leader - + When enabled, this device will serve as the sync leader for all other decks. - + This is relevant when a dynamic tempo track is loaded to a sync leader deck.In that case, other synced devices will adopt the changing tempo. - + Changes the track playback speed (affects both the tempo and the pitch). If keylock is enabled, only the tempo is affected. - + Tempo Range Display - + Displays the current range of the tempo slider. - + Un-ejects when no track is loaded, i.e. reloads the track that was ejected last (of any deck). - + Delete selected hotcue. - + Track Comment - + Displays the comment tag of the loaded track. - + Opens separate artwork viewer. - + Effect Chain Preset Settings - + Show the effect chain settings menu for this unit. - + Select and configure a hardware device for this input - + Recording Duration @@ -13629,924 +13761,932 @@ may introduce a 'pumping' effect and/or distortion. - + + Adjust beatgrid by exactly one half beat. Usable only on +tracks with constant tempo. + + + + Revert last BPM/Beatgrid Change - + Revert last BPM/Beatgrid Change of the loaded track. - - + + Toggle the BPM/beatgrid lock - + Tempo and Rate Tap - + Tempo, Rate Tap and BPM Tap - + Shift cues earlier - - + + Shift cues imported from Serato or Rekordbox if they are slightly off time. - + Left click: shift 10 milliseconds earlier - + Right click: shift 1 millisecond earlier - + Shift cues later - + Left click: shift 10 milliseconds later - + Right click: shift 1 millisecond later - + + + + Drag a Hotcue button here to continue playing after releasing the Hotcue. + + + + Hint: Change the default cue mode in Preferences -> Decks. - + Mutes the selected channel's audio in the main output. - + Main mix enable - + Hold or short click for latching to mix this input into the main output. - + If hotcue is a loop cue, toggles the loop and jumps to if the loop is behind the play position. - + If the play position is inside an active loop, stores the loop as loop cue. - + Drag this button onto another Hotcue button to move it there (change its index). If the other hotcue is set, the two are swapped. - - Dragging with Shift key pressed will not start previewing the hotcue - - - - + Expand/Collapse Samplers - + Toggle expanded samplers view. - + Displays the duration of the running recording. - + Auto DJ is active - + Red for when needle skip has been detected. - + Hot Cue - Track will seek to nearest previous hotcue point. - + Sets the track Loop-In Marker to the current play position. - + Press and hold to move Loop-In Marker. - + Jump to Loop-In Marker. - + Sets the track Loop-Out Marker to the current play position. - + Press and hold to move Loop-Out Marker. - + Jump to Loop-Out Marker. - + If the track has no beats the unit is seconds. - + Beatloop Size - + Select the size of the loop in beats to set with the Beatloop button. - + Changing this resizes the loop if the loop already matches this size. - + Halve the size of an existing beatloop, or halve the size of the next beatloop set with the Beatloop button. - + Double the size of an existing beatloop, or double the size of the next beatloop set with the Beatloop button. - + Start a loop over the set number of beats. - + Temporarily enable a rolling loop over the set number of beats. - + Beatloop Anchor - + Define whether the loop is created and adjusted from its staring point or ending point. - + Beatjump/Loop Move Size - + Select the number of beats to jump or move the loop with the Beatjump Forward/Backward buttons. - + Beatjump Forward - + Jump forward by the set number of beats. - + Move the loop forward by the set number of beats. - + Jump forward by 1 beat. - + Move the loop forward by 1 beat. - + Beatjump Backward - + Jump backward by the set number of beats. - + Move the loop backward by the set number of beats. - + Jump backward by 1 beat. - + Move the loop backward by 1 beat. - + Reloop - + If the loop is ahead of the current position, looping will start when the loop is reached. - + Works only if Loop-In and Loop-Out Marker are set. - + Enable loop, jump to Loop-In Marker, and stop playback. - + Displays the elapsed and/or remaining time of the track loaded. - + Click to toggle between time elapsed/remaining time/both. - + Hint: Change the time format in Preferences -> Decks. - + Show/hide intro & outro markers and associated buttons. - + Intro Start Marker - - - - + + + + If marker is set, jumps to the marker. - - - - + + + + If marker is not set, sets the marker to the current play position. - - - - + + + + If marker is set, clears the marker. - + Intro End Marker - + Outro Start Marker - + Outro End Marker - + Mix - + Adjust the mixing of the dry (input) signal with the wet (output) signal of the effect unit - + D/W mode: Crossfade between dry and wet - + D+W mode: Add wet to dry - + Mix Mode - + Adjust how the dry (input) signal is mixed with the wet (output) signal of the effect unit - + Dry/Wet mode (crossed lines): Mix knob crossfades between dry and wet Use this to change the sound of the track with EQ and filter effects. - + Dry+Wet mode (flat dry line): Mix knob adds wet to dry Use this to change only the effected (wet) signal with EQ and filter effects. - + Route the main mix through this effect unit. - + Route the left crossfader bus through this effect unit. - + Route the right crossfader bus through this effect unit. - + Right side active: parameter moves with right half of Meta Knob turn - + Stem Label - + Name of the stem stored in the stem file - + Text is displayed in the stem color stored in the stem file - + this stem color is also used for the waveform of this stem - + Stem Mute - + Toggle the stem mute/unmuted - + Stem Volume Knob - + Adjusts the volume of the stem - + Skin Settings Menu - + Show/hide skin settings menu - + Save Sampler Bank Сачувај групу узорака - + Save the collection of samples loaded in the samplers. - + Load Sampler Bank Учитај групу узорака - + Load a previously saved collection of samples into the samplers. - + Show Effect Parameters Приказ параметара ефекта - + Enable Effect - + Meta Knob Link - + Set how this parameter is linked to the effect's Meta Knob. - + Meta Knob Link Inversion - + Inverts the direction this parameter moves when turning the effect's Meta Knob. - + Super Knob Гл. потенциометар - + Next Chain Сл. ланац - + Previous Chain Претходни ланац - + Next/Previous Chain Сл./претх. меморисани ланац - + Clear Уклони - + Clear the current effect. - + Toggle Активација - + Toggle the current effect. - + Next Даље - + Clear Unit Уклони процесор - + Clear effect unit. - + Show/hide parameters for effects in this unit. - + Toggle Unit Процесор активан - + Enable or disable this whole effect unit. - + Controls the Meta Knob of all effects in this unit together. - + Load next effect chain preset into this effect unit. - + Load previous effect chain preset into this effect unit. - + Load next or previous effect chain preset into this effect unit. - - - - - - - - - + + + + + + + + + Assign Effect Unit - + Assign this effect unit to the channel output. - + Route the headphone channel through this effect unit. - + Route this deck through the indicated effect unit. - + Route this sampler through the indicated effect unit. - + Route this microphone through the indicated effect unit. - + Route this auxiliary input through the indicated effect unit. - + The effect unit must also be assigned to a deck or other sound source to hear the effect. - + Switch to the next effect. - + Previous Претходно - + Switch to the previous effect. - + Next or Previous Следећи/претходни - + Switch to either the next or previous effect. - + Meta Knob Подесиви пот. - + Controls linked parameters of this effect - + Effect Focus Button - + Focuses this effect. - + Unfocuses this effect. - + Refer to the web page on the Mixxx wiki for your controller for more information. - + Effect Parameter - + Adjusts a parameter of the effect. - + Inactive: parameter not linked - + Active: parameter moves with Meta Knob - + Left side active: parameter moves with left half of Meta Knob turn - + Left and right side active: parameter moves across range with half of Meta Knob turn and back with the other half - - + + Equalizer Parameter Kill - - + + Holds the gain of the EQ to zero while active. - + Quick Effect Super Knob - + Quick Effect Super Knob (control linked effect parameters). - + Hint: Change the default Quick Effect mode in Preferences -> Equalizers. - + Equalizer Parameter - + Adjusts the gain of the EQ filter. - + Hint: Change the default EQ mode in Preferences -> Equalizers. - - + + Adjust Beatgrid Дотерај тактну мрежу - + Adjust beatgrid so the closest beat is aligned with the current play position. Дотерајте тактну мрежу тако да је најближи такт поравнат са тренутним положајем пуштања. - - + + Adjust beatgrid to match another playing deck. Намести Битгрид да прати други дек - + If quantize is enabled, snaps to the nearest beat. Ако је омогућено куантизовање, пријања се на најближи такт. - + Quantize Квантизуј - + Toggles quantization. Окините квантизацију. - + Loops and cues snap to the nearest beat when quantization is enabled. Петље и наговештаји пријањају на најближи такт када је укључена квантизација. - + Reverse Уназад - + Reverses track playback during regular playback. Пустите траку уназад за време редовног пуштања. - + Puts a track into reverse while being held (Censor). - + Playback continues where the track would have been if it had not been temporarily reversed. - - - + + + Play/Pause Пусти/паузирај - + Jumps to the beginning of the track. Скочите на почетак нумере. - + Syncs the tempo (BPM) and phase to that of the other track, if BPM is detected on both. - + Syncs the tempo (BPM) to that of the other track, if BPM is detected on both. - + Sync and Reset Key - + Increases the pitch by one semitone. - + Decreases the pitch by one semitone. - + Enable Vinyl Control - + When disabled, the track is controlled by Mixxx playback controls. - + When enabled, the track responds to external vinyl control. - + Enable Passthrough - + Indicates that the audio buffer is too small to do all audio processing. - + Displays cover artwork of the loaded track. - + Displays options for editing cover artwork. - + Star Rating - + Assign ratings to individual tracks by clicking the stars. @@ -14681,33 +14821,33 @@ Use this to change only the effected (wet) signal with EQ and filter effects. - + Prevents the pitch from changing when the rate changes. - + Changes the number of hotcue buttons displayed in the deck - + Starts playing from the beginning of the track. - + Jumps to the beginning of the track and stops. - - + + Plays or pauses the track. Пустите или паузирајте нумеру. - + (while playing) (за време пуштања) @@ -14727,205 +14867,215 @@ Use this to change only the effected (wet) signal with EQ and filter effects. - + (while stopped) (док је заустављена) - + Cue Наговештај - + Headphone Слушалице - + Mute Пригуши - + Old Synchronize - + Syncs to the first deck (in numerical order) that is playing a track and has a BPM. Ускладите са првим носачем (према бројевима) који пушта нумеру и има ТПМ. - + If no deck is playing, syncs to the first deck that has a BPM. Ако ниједан носач не пушта, ускладите са првим носачем који има ТПМ. - + Decks can't sync to samplers and samplers can only sync to decks. Носачи могу да се усклађују са узорчницима а узорчници могу само да се усклађују са носачима. - + Hold for at least a second to enable sync lock for this deck. - + Decks with sync locked will all play at the same tempo, and decks that also have quantize enabled will always have their beats lined up. - + Resets the key to the original track key. - + Speed Control - - - + + + Changes the track pitch independent of the tempo. - + Increases the pitch by 10 cents. - + Decreases the pitch by 10 cents. - + Pitch Adjust Подеси фреквенцију - + Adjust the pitch in addition to the speed slider pitch. - + Opens a menu to clear hotcues or edit their labels and colors. - + + Drag this button onto a Play button while previewing to continue playback after release. + + + + + Dragging with Shift key pressed will not start previewing the hotcue. + + + + Record Mix Снимај микс - + Toggle mix recording. - + Enable Live Broadcasting - + Stream your mix over the Internet. - + Provides visual feedback for Live Broadcasting status: - + disabled, connecting, connected, failure. - + When enabled, the deck directly plays the audio arriving on the vinyl input. - + Playback will resume where the track would have been if it had not entered the loop. Пуштање ће се наставити са места на коме би нумера била да није ушла у петљу. - + Loop Exit Напусти петљу - + Turns the current loop off. Искључите тренутну петљу. - + Slip Mode Режим мировања - + When active, the playback continues muted in the background during a loop, reverse, scratch etc. Када је радан, пуштање се наставља пригушено у позадини током петље, уназад, гребања итд. - + Once disabled, the audible playback will resume where the track would have been. Када га искључите, чујно пуштање ће се наставити са места на коме била нумера. - + Track Key The musical key of a track - + Displays the musical key of the loaded track. - + Clock Сат - + Displays the current time. Прикажите тренутно време. - + Audio Latency Usage Meter - + Displays the fraction of latency used for audio processing. - + A high value indicates that audible glitches are likely. - + Do not enable keylock, effects or additional decks in this situation. - + Audio Latency Overload Indicator @@ -14970,254 +15120,254 @@ Use this to change only the effected (wet) signal with EQ and filter effects. - + Fast Rewind Брзо премотај уназад - + Fast rewind through the track. Брзо премотавајте уназад по нумери. - + Fast Forward Брзо премотај унапред - + Fast forward through the track. Брзо премотавајте унапред по нумери. - + Jumps to the end of the track. Скочите на крај нумере. - + Sets the pitch to a key that allows a harmonic transition from the other track. Requires a detected key on both involved decks. - - - + + + Pitch Control Управљање тоном - + Pitch Rate Проток тона - + Displays the current playback rate of the track. Прикажите текући проток пуштања нумере. - + Repeat Понови - + When active the track will repeat if you go past the end or reverse before the start. Када ће активна нумера бити поновљена ако прођете крај или вратите уназад пре почетка. - + Eject Избаци - + Ejects track from the player. Избаците нумеру из програма. - + Hotcue Битан наговештај - + If hotcue is set, jumps to the hotcue. Ако је постављен битан наговештај, скочите на битни наговештај. - + If hotcue is not set, sets the hotcue to the current play position. Ако битан наговештај није подешен, поставите битан наговештај на тренутни положај пуштања. - + Vinyl Control Mode Режим управљања плочом - + Absolute mode - track position equals needle position and speed. Режим апсолутности — положај нумере изједначава положај и брзину игле. - + Relative mode - track speed equals needle speed regardless of needle position. Режим релативности — брзина нумере изједначава брзину игле без обзира на њен положај. - + Constant mode - track speed equals last known-steady speed regardless of needle input. Режим сталности — брзина нумере изједначава последњу знану стабилну брзину без обзира на улаз игле. - + Vinyl Status Стање плоче - + Provides visual feedback for vinyl control status: Обезбедите видљиве повратне податке за стање управљања плочом: - + Green for control enabled. Зелено за укључено управљање. - + Blinking yellow for when the needle reaches the end of the record. Жуто трепћуће када игла стигне на крај снимка. - + Loop-In Marker Означавач упетљавања - + Loop-Out Marker Означавач отпетљавања - + Loop Halve Преполовљавање петље - + Halves the current loop's length by moving the end marker. Преполовите трајање тренутне петље померањем крајњег означавача. - + Deck immediately loops if past the new endpoint. Носач одмах прави петљу ако је прошао нову крајњу тачку. - + Loop Double Удвостручавање петље - + Doubles the current loop's length by moving the end marker. Удвостручите трајање тренутне петље померањем крајњег означавача. - + Beatloop Тактна петља - + Toggles the current loop on or off. Укључите или искључите тренутну петљу. - + Works only if Loop-In and Loop-Out marker are set. Ради само ако су постављени означавачи за упетљавање и отпетљавање. - + Vinyl Cueing Mode Режим наговештаја плоче - + Determines how cue points are treated in vinyl control Relative mode: Одредите како се поступа са тачкама наговештаја у релативном режиму управљања плочом: - + Off - Cue points ignored. Искљ. — Тачке наговештаја су занемарене. - + One Cue - If needle is dropped after the cue point, track will seek to that cue point. Један наговештај — Ако отпустите иглу након тачке наговештаја, нумера ће се премотати до тачке наговештаја. - + Track Time Време нумере - + Track Duration Трајање нумере - + Displays the duration of the loaded track. Прикажите трајање учитане нумере. - + Information is loaded from the track's metadata tags. Податак се учитава из ознака метаподатака нумере. - + Track Artist Извођач нумере - + Displays the artist of the loaded track. Прикажите извођача учитане нумере. - + Track Title Наслов нумере - + Displays the title of the loaded track. Прикажите наслов учитане нумере. - + Track Album Албум нумере - + Displays the album name of the loaded track. Прикажите назив албума учитане нумере. - + Track Artist/Title Извођач/Наслов нумере - + Displays the artist and title of the loaded track. Прикажите извођача и наслов учитане нумере. @@ -15225,12 +15375,12 @@ Use this to change only the effected (wet) signal with EQ and filter effects. TrackCollection - + Hiding tracks - + The selected tracks are in the following playlists:%1Hiding them will remove them from these playlists. Continue? @@ -15238,47 +15388,42 @@ Use this to change only the effected (wet) signal with EQ and filter effects. TrackExportDlg - + Export finished - + Exporting %1 - - - Overwrite Existing File? - - - "%1" already exists, overwrite? + Replace Existing File? - - &Overwrite + + "%1" already exists, replace? - - Over&write All + + &Replace - - &Skip + + Apply to all files - Skip &All + &Skip - + Export Error @@ -15450,47 +15595,47 @@ This can not be undone! WCueMenuPopup - + Cue number - + Cue position - + Edit cue label - + Label... - + Delete this cue - + Toggle this cue type between normal cue and saved loop - + Left-click: Use the old size or the current beatloop size as the loop size - + Right-click: Use the current play position as loop end if it is after the cue - + Hotcue #%1 @@ -15614,407 +15759,438 @@ This can not be undone! - - E&xport Library to Engine Prime + + Search in Current View... - - Export the library to the Engine Prime format + + Search for tracks in the current library view + + + + + Ctrl+f - + + Search in Tracks Library... + + + + + Search in the internal track collection under "Tracks" in the library + + + + + Ctrl+Shift+F + + + + Create &New Playlist - + Create a new playlist Направите нови списак нумера - + Ctrl+n - + Create New &Crate - + Create a new crate Направите нову гајбицу - + Ctrl+Shift+N Ктрл-Помак+Н - - + + &View Пре&глед - + Auto-hide menu bar - + Auto-hide the main menu bar when it's not used. - + May not be supported on all skins. Не може бити подржано на свим маскама. - + Show Skin Settings Menu - + Show the Skin Settings Menu of the currently selected Skin - + Ctrl+1 Menubar|View|Show Skin Settings Ктрл+1 - + Show Microphone Section Прикажи одељак микрофона - + Show the microphone section of the Mixxx interface. Прикажите одељак микрофона у сучељу Миксикса. - + Ctrl+2 Menubar|View|Show Microphone Section Ктрл+2 - + Show Vinyl Control Section Прикажи одељак управљања плочом - + Show the vinyl control section of the Mixxx interface. Прикажите одељак управљања плочом у сучељу Миксикса. - + Ctrl+3 Menubar|View|Show Vinyl Control Section Ктрл+3 - + Show Preview Deck Прикажи носач прегледа - + Show the preview deck in the Mixxx interface. Прикажите носач прегледа у сучељу Миксикса. - + Ctrl+4 Menubar|View|Show Preview Deck Ктрл+4 - + Show Cover Art - + Show cover art in the Mixxx interface. - + Ctrl+6 Menubar|View|Show Cover Art - + Maximize Library - + Maximize the track library to take up all the available screen space. Користи цео екран за одабир нумера - + Space Menubar|View|Maximize Library - + &Full Screen &Цео екран - + Display Mixxx using the full screen Прикажите Миксикс користећи цео екран - + &Options &Опције - + &Vinyl Control &Управљање плочом - + Use timecoded vinyls on external turntables to control Mixxx Користите плоче са временским кодирањем на спољним грамофонима да управљате Миксиксом - + Enable Vinyl Control &%1 - + &Record Mix &Сними микс - + Record your mix to a file Снимите ваш микс у датотеку - + Ctrl+R Ктрл+Р - + Enable Live &Broadcasting Укључи емитовање &уживо - + Stream your mixes to a shoutcast or icecast server Пошаљите ток ваших радова на сервер шоуткаста или ајскаста - + Ctrl+L Ктрл+Л - + Enable &Keyboard Shortcuts Укључи пречице на &тастатури - + Toggles keyboard shortcuts on or off Укључите или искључите пречице тастатуре - + Ctrl+` Ктрл+` - + &Preferences &Поставке - + Change Mixxx settings (e.g. playback, MIDI, controls) Измените подешавања Миксикса (нпр. пуштање, МИДИ, управљања) - + &Developer - + &Reload Skin &Поново учитај маску - + Reload the skin Поново учитајте маску - + Ctrl+Shift+R Ктрл+Помак+Р - + Developer &Tools - + Opens the developer tools dialog - + Ctrl+Shift+T - + Stats: &Experiment Bucket - + Enables experiment mode. Collects stats in the EXPERIMENT tracking bucket. - + Ctrl+Shift+E - + Stats: &Base Bucket - + Enables base mode. Collects stats in the BASE tracking bucket. - + Ctrl+Shift+B - + Deb&ugger Enabled - + Enables the debugger during skin parsing - + Ctrl+Shift+D - + &Help По&моћ - + Show Keywheel menu title - + + E&xport Library to Engine DJ + "Engine DJ" must not be translated + + + + + Export the library to the Engine DJ format + + + + Show keywheel tooltip text - + F12 Menubar|View|Show Keywheel - + &Community Support &Подршка заједнице - + Get help with Mixxx Потражите помоћ за Миксикс - + &User Manual &Корисничко упутство - + Read the Mixxx user manual. Прочитајте корисничко упутство Миксикса. - + &Keyboard Shortcuts - + Speed up your workflow with keyboard shortcuts. - + &Settings directory - + Open the Mixxx user settings directory. - + &Translate This Application &Преведи овај програм - + Help translate this application into your language. Помозите у превођењу овог програма на наш језик насушни. - + &About &О програму - + About the application О самом програму @@ -16022,25 +16198,25 @@ This can not be undone! WOverview - + Passthrough Пропуштање - + Ready to play, analyzing... Text on waveform overview when file is playable but no waveform is visible - - + + Loading track... Text on waveform overview when file is cached from source - + Finalizing... Text on waveform overview during finalizing of waveform analysis @@ -16049,25 +16225,13 @@ This can not be undone! WSearchLineEdit - - Clear input - Clear the search bar input field - - - - - Ctrl+F - Search|Focus - Ктрл+Ф - - - + Search noun Нађи - + Clear input @@ -16078,169 +16242,163 @@ This can not be undone! Потражи... - + Clear the search bar input field - - Enter a string to search for + + Return - - Use operators like bpm:115-128, artist:BooFar, -year:1990 + + Enter a string to search for. - - For more information see User Manual > Mixxx Library + + Use operators like bpm:115-128, artist:BooFar, -year:1990. - Shortcut - Пречица + See User Manual > Mixxx Library for more information. + - - Ctrl+F - Ктрл+Ф + + Focus/Select All (Search in current view) + Give search bar input focus + - - Focus - Give search bar input focus + + Focus/Select All (Search in 'Tracks' library view) - - - Ctrl+Backspace + + Additional Shortcuts When Focused: - Shortcuts + Trigger search before search-as-you-type timeout or focus tracks view afterwards - Return + Esc or Ctrl+Return - Trigger search before search-as-you-type timeout orjump to tracks view afterwards + Immediately trigger search and focus tracks view + Exit search bar and leave focus - + Ctrl+Space - + Toggle search history Shows/hides the search history entries - + Delete or Backspace - - Delete query from history + + in search history - - Esc - Изађи - - - - Exit search - Exit search bar and leave focus + + Delete query from history WSearchRelatedTracksMenu - + Search related Tracks - + Key Кључ - + harmonic with %1 - + BPM ТУМ - + between %1 and %2 - + Artist Извођач - + Album Artist Извођач - + Composer Састављач - + Title Наслов - + Album Албум - + Grouping Груписање - + Year Година - + Genre Жанр - + Directory - + &Search selected @@ -16248,599 +16406,625 @@ This can not be undone! WTrackMenu - + Load to - + Deck Носач - + Sampler Узорчник - + Add to Playlist Додај на списак нумера - + Crates Гајбице - + Metadata Мета-подаци - + Update external collections - + Cover Art Омот - + Adjust BPM - + Select Color - - + + Analyze Анализирај - - + + Delete Track Files - + Add to Auto DJ Queue (bottom) Додајте у ред самосталног диџеја (доле) - + Add to Auto DJ Queue (top) Додајте у ред самосталног диџеја (горе) - + Add to Auto DJ Queue (replace) Додај на Ауто-Диџеј листу (рокада) - + Preview Deck Носач прегледа - + Remove Уклони - + Remove from Playlist - + Remove from Crate - + Hide from Library Сакриј у библиотеци - + Unhide from Library Прикажи у библиотеци - + Purge from Library Избаци из библиотеке - + Move Track File(s) to Trash - + Delete Files from Disk - + Properties Својства - + Open in File Browser Отвори у прегледнику датотека - + Select in Library - + Import From File Tags - + Import From MusicBrainz - + Export To File Tags - + BPM and Beatgrid - + Play Count - + Rating Оцена - + Cue Point - + + Hotcues Битни наговештаји - + Intro - + Outro - + Key Кључ - + ReplayGain Ауто-ниво - + Waveform - + Comment Примедба - + All Све - + + Sort hotcues by position (remove offsets) + + + + + Sort hotcues by position + + + + Lock BPM Закључај ТУМ - + Unlock BPM Откључај ТУМ - + Double BPM Удвостручи ТУМ - + Halve BPM Преполови ТУМ - + 2/3 BPM - + 3/4 BPM - + 4/3 BPM - + 3/2 BPM - + + Shift Beatgrid Half Beat + + + + Reanalyze - + Reanalyze (constant BPM) - + Reanalyze (variable BPM) - + Update ReplayGain from Deck Gain - + Deck %1 Палуба %1 - + Importing metadata of %n track(s) from file tags - + Marking metadata of %n track(s) to be exported into file tags - - + + Create New Playlist Састави листу песама - + Enter name for new playlist: Ново име за листу песама: - + New Playlist Нови списак нумера - - - + + + Playlist Creation Failed Стварање списка нумера није успело - + A playlist by that name already exists. Већ постоји списак нумера са овим називом. - + A playlist cannot have a blank name. Назив списка нумера не може бити празан. - + An unknown error occurred while creating playlist: Дошло је до непознате грешке приликом стварања списка нумера: - + Add to New Crate - + Scaling BPM of %n track(s) - + Undo BPM/beats change of %n track(s) - + Locking BPM of %n track(s) - + Unlocking BPM of %n track(s) - + Setting rating of %n track(s) - + Setting color of %n track(s) - + Resetting play count of %n track(s) - + Resetting beats of %n track(s) - + Clearing rating of %n track(s) - + Clearing comment of %n track(s) - + Removing main cue from %n track(s) - + Removing outro cue from %n track(s) - + Removing intro cue from %n track(s) - + Removing loop cues from %n track(s) - + Removing hot cues from %n track(s) - + + Sorting hotcues of %n track(s) by position (remove offsets) + + + + + Sorting hotcues of %n track(s) by position + + + + Resetting keys of %n track(s) - + Resetting replay gain of %n track(s) - + Resetting waveform of %n track(s) - + Resetting all performance metadata of %n track(s) - + Move these files to the trash bin? - + Permanently delete these files from disk? - - + + This can not be undone! - + Cancel Откажи - + Delete Files - + Okay - + Move Track File(s) to Trash? - + Track Files Deleted - + Track Files Moved To Trash - + %1 track files were moved to trash and purged from the Mixxx database. - + %1 track files were deleted from disk and purged from the Mixxx database. - + Track File Deleted - + Track file was deleted from disk and purged from the Mixxx database. - + The following %1 file(s) could not be deleted from disk - + This track file could not be deleted from disk - + Remaining Track File(s) - + Close Затвори - + Clear Reset metadata in right click track context menu in library - + Loops - + Clear BPM and Beatgrid - + Undo last BPM/beats change - + Move this track file to the trash bin? - + Permanently delete this track file from disk? - + All decks where these tracks are loaded will be stopped and the tracks will be ejected. - + All decks where this track is loaded will be stopped and the track will be ejected. - + Removing %n track file(s) from disk... - + Note: if you are in the Computer or Recording view you need to click the current view again to see changes. - + Track File Moved To Trash - + Track file was moved to trash and purged from the Mixxx database. - + Don't show again during this session - + The following %1 file(s) could not be moved to trash - + This track file could not be moved to trash - + Setting cover art of %n track(s) - + Reloading cover art of %n track(s) @@ -16856,37 +17040,37 @@ This can not be undone! WTrackStemMenu - + Load for stem mixing - + Load pre-mixed stereo track - + Load the "%1" stem - + Load multiple stem into a stereo deck - + Select stems to load - + Release "CTRL" to load the current selection - + Use "CTRL" to select multiple stems @@ -16894,37 +17078,37 @@ This can not be undone! WTrackTableView - + Confirm track hide - + Are you sure you want to hide the selected tracks? - + Are you sure you want to remove the selected tracks from AutoDJ queue? - + Are you sure you want to remove the selected tracks from this crate? - + Are you sure you want to remove the selected tracks from this playlist? - + Don't ask again during this session - + Confirm track removal @@ -16932,60 +17116,65 @@ This can not be undone! WTrackTableViewHeader - + Show or hide columns. Прикажите или сакријте колоне. + + + Shuffle Tracks + + mixxx::CoreServices - + fonts - + database - + effects - + audio interface - + decks - + library - + Choose music library directory Изаберите директоријум музичке библиотеке - + controllers - + Cannot open database Не могу да отворим базу података - + Unable to establish a database connection. Mixxx requires QT with SQLite support. Please read the Qt SQL driver documentation for information on how to build it. @@ -16999,67 +17188,78 @@ Click OK to exit. mixxx::DlgLibraryExport - + Entire music library - - Selected crates + + Crates + + + + + Playlists + + + + + Selected crates/playlists - + Browse Разгледај - + Export directory - + Database version - + Export - + Cancel Откажи - - Export Library to Engine Prime + + Export Library to Engine DJ + "Engine DJ" must not be translated - + Export Library To - + No Export Directory Chosen - + No export directory was chosen. Please choose a directory in order to export the music library. - + A database already exists in the chosen directory. Exported tracks will be added into this database. - + A database already exists in the chosen directory, but there was a problem loading it. Export is not guaranteed to succeed in this situation. @@ -17080,7 +17280,7 @@ Click OK to exit. mixxx::EnginePrimeExportJob - + Failed to export track %1 - %2: %3 %1 is the artist %2 is the title and %3 is the original error message @@ -17090,23 +17290,23 @@ Click OK to exit. mixxx::LibraryExporter - + Export Completed - - Exported %1 track(s) and %2 crate(s). + + Exported %1 track(s), %2 crate(s), and %3 playlist(s). - + Export Failed - - Exporting to Engine Prime... + + Exporting to Engine DJ... diff --git a/res/translations/mixxx_sv.qm b/res/translations/mixxx_sv.qm index 77e7ddb9fd1f94703c4152cec0ef1cd0674dbdda..cd3b0cdd4d8ee800b355a6d6a78bfffea2501aa9 100644 GIT binary patch delta 8359 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 IQGnI|0WbjD3IG5A diff --git a/res/translations/mixxx_sv.ts b/res/translations/mixxx_sv.ts index 1d3e98d4d436..69b15a4b1bb4 100644 --- a/res/translations/mixxx_sv.ts +++ b/res/translations/mixxx_sv.ts @@ -39,32 +39,32 @@ - + Remove Crate as Track Source Avlägsna back som låtkälla - + Auto DJ Auto DJ - + Confirmation Clear - + Do you really want to remove all tracks from the Auto DJ queue? - + This can not be undone. - + Add Crate as Track Source Lägg till back som låtkälla @@ -149,7 +149,7 @@ BasePlaylistFeature - + New Playlist Ny spellista @@ -160,7 +160,7 @@ - + Create New Playlist Skapa ny spellista @@ -190,113 +190,120 @@ Duplicera - - + + Import Playlist Importera spellista - + Export Track Files Exportera spår-filer - + Analyze entire Playlist Analysera hela spellistan - + Enter new name for playlist: Mata in ett nytt namn för spellistan: - + Duplicate Playlist Duplicera spellista - - + + Enter name for new playlist: Mata in ett namn för ny spellista: - - + + Export Playlist Exportera spellista - + Add to Auto DJ Queue (replace) Lägg till i Auto-DJ-kön (ersätt) - + + + Export to Engine DJ + "Engine DJ" is a product name and must not be translated. + + + + Rename Playlist Byt namn på spellista - - + + Renaming Playlist Failed Namnbyte misslyckades - - - + + + A playlist by that name already exists. En spellista med det namnet finns redan. - - - + + + A playlist cannot have a blank name. En spellista kan inte vara utan namn. - + _copy //: Appendix to default name when duplicating a playlist _kopiera - - - - - - + + + + + + Playlist Creation Failed Spellistan gick inte att skapa - - + + An unknown error occurred while creating playlist: Ett okänt fel uppstod när spellistan skapades: - + Confirm Deletion - + Do you really want to delete playlist <b>%1</b>? - + M3U Playlist (*.m3u) M3U-spellista (*.m3u) - + M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Text CSV (*.csv);;Readable Text (*.txt) M3U spellista (*.m3u);;M3U8 spellista (*.m3u8);;PLS spellista (*.pls);;Text CSV (*.csv);;Läsbar text (*.txt) @@ -304,12 +311,12 @@ BaseSqlTableModel - + # # - + Timestamp Tidsstämpel @@ -317,7 +324,7 @@ BaseTrackPlayerImpl - + Couldn't load track. Kunde inte ladda in låt. @@ -325,137 +332,142 @@ BaseTrackTableModel - + Album Album - + Album Artist Album-artist - + Artist Artist - + Bitrate Bithastighet - + BPM BPM - + Channels Kanaler - + Color Färg - + Comment Kommentar - + Composer Kompositör - + Cover Art Album-konst - + Date Added Datum tillagd - + Last Played Senast spelad - + Duration Varaktighet - + Type Typ - + Genre Genre - + Grouping Gruppindelning - + Key Tonart - + Location Plats - + + Overview + + + + Preview Förhandsgranska - + Rating Betyg - + ReplayGain Förstärkning av uppspelning - + Samplerate - + Played Spelad - + Title Titel - + Track # Låt # - + Year År - + Fetching image ... Tooltip text on the cover art column shown when the cover is read from disk @@ -543,67 +555,77 @@ BrowseFeature - + Add to Quick Links Spara till Snabblänkar - + Remove from Quick Links Ta bort från Snabblänkar - + Add to Library Spara till bibliotek - + Refresh directory tree - + Quick Links Snabblänkar - - + + Devices Enheter - + Removable Devices Flyttbara enheter - - + + Computer Dator - + Music Directory Added Musik-mapp tillagd - + You added one or more music directories. The tracks in these directories won't be available until you rescan your library. Would you like to rescan now? - + Scan Skanna - + "Computer" lets you navigate, view, and load tracks from folders on your hard disk and external devices. + + + It shows the data from the file tags, not track data from your Mixxx library like other track views. + + + + + If you load a track file from here, it will be added to your library. + + BrowseTableModel @@ -1046,13 +1068,13 @@ trace - Above + Profiling messages - + Set to full volume Ställ in full ljudstyrka - + Set to zero volume Ställ ljudstyrkan till noll @@ -1077,13 +1099,13 @@ trace - Above + Profiling messages Knapp baklänges-slinga (förhandslyssning) - + Headphone listen button Lyssna-knapp hörlur - + Mute button Tysta-knapp @@ -1094,25 +1116,25 @@ trace - Above + Profiling messages - + Mix orientation (e.g. left, right, center) Mix-balans (t.ex. vänster, höger, i mitten) - + Set mix orientation to left Sätter mix-balansen åt vänster - + Set mix orientation to center Sätter mix-balansen i mitten - + Set mix orientation to right Sätter mix-balansen åt höger @@ -1153,22 +1175,22 @@ trace - Above + Profiling messages Knapp för att trumma BPM - + Toggle quantize mode Växla kvantiseringssätt - + One-time beat sync (tempo only) Engångs takt-sync (endast tempo) - + One-time beat sync (phase only) Engångs takt-sync (endast fas) - + Toggle keylock mode Växla sätt för tonhöjdslås @@ -1178,193 +1200,193 @@ trace - Above + Profiling messages Equalizers - + Vinyl Control Vinylstyrning - + Toggle vinyl-control cueing mode (OFF/ONE/HOT) Växla markeringssätt för vinylstyrning (OFF/ONE/HOT) - + Toggle vinyl-control mode (ABS/REL/CONST) Växla vinylstyrningssätt (ABS/REL/CONST) - + Pass through external audio into the internal mixer Passera genom externt ljud till den interna mixern - + Cues Markeringar - + Cue button Markeringsknapp - + Set cue point Ange markeringspunkt - + Go to cue point Hoppa till markeringspunkt - + Go to cue point and play Hoppa till markeringspunkt och spela - + Go to cue point and stop Hoppa till markeringspunkt och stoppa - + Preview from cue point Förhandslyssna från markeringspunkt - + Cue button (CDJ mode) Markeringsknapp (CDJ-metod) - + Stutter cue Ryckvis markering - + Hotcues Snabbmarkeringar - + Set, preview from or jump to hotcue %1 Sätt, förhandslyssna från eller hoppa till snabbmarkering %1 - + Clear hotcue %1 Ta bort snabbmarkering %1 - + Set hotcue %1 Sätt snabbmarkering %1 - + Jump to hotcue %1 Hoppa till snabbmarkering %1 - + Jump to hotcue %1 and stop Hoppa till snabbmarkering %1 och stoppa - + Jump to hotcue %1 and play Hoppa till snabbmarkering %1 och spela - + Preview from hotcue %1 Förhandslyssna från snabbmarkering %1 - - + + Hotcue %1 Snabbmarkering %1 - + Looping Slinga - + Loop In button Slinga in-knapp - + Loop Out button Slinga ut-knapp - + Loop Exit button Upprepa Avsluta-knappen - + 1/2 1/2 - + 1 1 - + 2 2 - + 4 4 - + 8 8 - + 16 16 - + 32 32 - + 64 64 - + Move loop forward by %1 beats Flytta slinga framåt med %1 taktslag - + Move loop backward by %1 beats Flytta slinga bakåt med %1 taktslag - + Create %1-beat loop Skapa en %1-taktslags-slinga - + Create temporary %1-beat loop roll Skapa en temporär %1-takts rullande slinga @@ -1480,20 +1502,20 @@ trace - Above + Profiling messages - - + + Volume Fader Volymfader - + Full Volume Full volym - + Zero Volume Noll volym @@ -1509,7 +1531,7 @@ trace - Above + Profiling messages - + Mute Tysta @@ -1520,7 +1542,7 @@ trace - Above + Profiling messages - + Headphone Listen Hörlurslyssning @@ -1541,25 +1563,25 @@ trace - Above + Profiling messages - + Orientation Balans - + Orient Left Balans till vänster - + Orient Center Balans i mitten - + Orient Right Balans till höger @@ -1629,82 +1651,82 @@ trace - Above + Profiling messages Justera taktmönstret åt höger - + Adjust Beatgrid Justera taktmönster - + Align beatgrid to current position Rikta in taktmönstret mot aktuell position - + Adjust Beatgrid - Match Alignment - + Adjust beatgrid to match another playing deck. - + Quantize Mode Kvantiseringssätt - + Sync Sync - + Beat Sync One-Shot One-Shot takt-synkning - + Sync Tempo One-Shot One-Shot hastighets-synkning - + Sync Phase One-Shot One-Shot fas-synkning - + Pitch control (does not affect tempo), center is original pitch - + Pitch Adjust Justera hastighet - + Adjust pitch from speed slider pitch - + Match musical key Matcha tonhöjden - + Match Key Matcha tonart - + Reset Key Återställ tonart - + Resets key to original Återställ tonart till original @@ -1745,451 +1767,451 @@ trace - Above + Profiling messages Bas-EQ - + Toggle Vinyl Control Växla vinylstyrning - + Toggle Vinyl Control (ON/OFF) Växla vinylstyrning (PÅ/AV) - + Vinyl Control Mode Vinylstyrningssätt - + Vinyl Control Cueing Mode Markeringssätt för vinylstyrning - + Vinyl Control Passthrough Vinylstyrning "släpp igenom" - + Vinyl Control Next Deck Vinylstyrning "nästa tallrik" - + Single deck mode - Switch vinyl control to next deck Entallriksmodus - växla vinylstyrning till nästa tallrik - + Cue Markering - + Set Cue Sätt markering - + Go-To Cue Gå till markering - + Go-To Cue And Play Gå till markering och spela - + Go-To Cue And Stop Gå till markering och stoppa - + Preview Cue Förhandslyssna markering - + Cue (CDJ Mode) Markering (CDJ-metod) - + Stutter Cue Ryckvis markering - + Go to cue point and play after release - + Clear Hotcue %1 Ta bort snabbmarkering %1 - + Set Hotcue %1 Sätt snabbmarkering %1 - + Jump To Hotcue %1 Hoppa till snabbmarkering %1 - + Jump To Hotcue %1 And Stop Hoppa till snabbmarkering %1 och stoppa - + Jump To Hotcue %1 And Play Hoppa till snabbmarkering %1 och spela - + Preview Hotcue %1 Förhandslyssna snabbmarkering %1 - + Loop In Slinga in - + Loop Out Slinga ut - + Loop Exit Avsluta slinga - + Reloop/Exit Loop Repetera/avsluta slinga - + Loop Halve Halv slinga - + Loop Double Dubbel slinga - + 1/32 1/32 - + 1/16 1/16 - + 1/8 1/8 - + 1/4 1/4 - + Move Loop +%1 Beats Förskjut slinga +%1 taktslag - + Move Loop -%1 Beats Förskjut slinga -%1 taktslag - + Loop %1 Beats Kretsa runt %1 taktslag - + Loop Roll %1 Beats Rullande slinga %1 taktslag - + Add to Auto DJ Queue (bottom) Spara till Auto DJ kö (sist) - + Append the selected track to the Auto DJ Queue - + Add to Auto DJ Queue (top) Spara till Auto DJ kö (först) - + Prepend selected track to the Auto DJ Queue - + Load Track Ladda låt - + Load selected track Ladda valda låtar - + Load selected track and play Ladda utvald låt och spela - - + + Record Mix Spela in mix - + Toggle mix recording Mix-inspelning på/av - + Effects Effekter - + Quick Effects Snabbeffekter - + Deck %1 Quick Effect Super Knob - + Quick Effect Super Knob (control linked effect parameters) - - + + Quick Effect Snabbeffekt - + Clear Unit Rensa enhet - + Clear effect unit Nollställ effektenheten - + Toggle Unit Växla enhet - + Dry/Wet Torrt/vått - + Adjust the balance between the original (dry) and processed (wet) signal. - + Super Knob Superknapp - + Next Chain Nästa kedja - + Assign Tilldela - + Clear Rensa - + Clear the current effect Nollställ aktuell effekt - + Toggle Växla - + Toggle the current effect Slå på/av aktuell effekt - + Next Nästa - + Switch to next effect Växla till nästa effekt - + Previous Bakåt - + Switch to the previous effect Växla till föregående effekt - + Next or Previous Nästa eller föregående - + Switch to either next or previous effect Växla till nästa eller föregående effekt - - + + Parameter Value Parameter-värde - - + + Microphone Ducking Strength Styrka mikrofonduckning - + Microphone Ducking Mode Mikrofonducknings-sätt - + Gain Förstärkning - + Gain knob Vred för ökning - + Shuffle the content of the Auto DJ queue - + Skip the next track in the Auto DJ queue - + Auto DJ Toggle Växla Auto DJ - + Toggle Auto DJ On/Off Växla Auto-DJ på/av - + Show/hide the microphone & auxiliary section - + 4 Effect Units Show/Hide - + Switches between showing 2 and 4 effect units - + Mixer Show/Hide Mixer visa/dölj - + Show or hide the mixer. Visa eller dölj mixern. - + Cover Art Show/Hide (Library) Omslagskonst visa/dölj (bibliotek) - + Show/hide cover art in the library Visa/dölj omslagskonst i biblioteket - + Library Maximize/Restore Bibliotek maximera/återställ - + Maximize the track library to take up all the available screen space. - + Effect Rack Show/Hide Effektrack visa/dölj - + Show/hide the effect rack Visa/dölj effektracket - + Waveform Zoom Out Vågform zooma ut @@ -2204,102 +2226,102 @@ trace - Above + Profiling messages Lyssningsnivå hörlur - + Tap to sync tempo (and phase with quantize enabled), hold to enable permanent sync - + One-time beat sync tempo (and phase with quantize enabled) - + Playback Speed Uppspelningshastighet - + Playback speed control (Vinyl "Pitch" slider) - + Pitch (Musical key) Tonhöjd - + Increase Speed Öka hastighet - + Adjust speed faster (coarse) - + Increase Speed (Fine) Öka hastigheten (fin) - + Adjust speed faster (fine) - + Decrease Speed Sänk hastighet - + Adjust speed slower (coarse) - + Adjust speed slower (fine) - + Temporarily Increase Speed Öka hastighet temporärt - + Temporarily increase speed (coarse) Öka hastigheten temporärt (grovt) - + Temporarily Increase Speed (Fine) Öka hastigheten temporärt (fint) - + Temporarily increase speed (fine) Öka hastigheten temporärt (fint) - + Temporarily Decrease Speed Minska hastighet temporärt - + Temporarily decrease speed (coarse) Sänk hastigheten temporärt (grovt) - + Temporarily Decrease Speed (Fine) Sänk hastigheten temporärt (fint) - + Temporarily decrease speed (fine) Sänk hastigheten temporärt (fint) @@ -2451,1053 +2473,1063 @@ trace - Above + Profiling messages - - + + Move Beatgrid Half a Beat + + + + + Adjust the beatgrid by exactly one half beat. Usable only for tracks with constant tempo. + + + + + Toggle the BPM/beatgrid lock - + Revert last BPM/Beatgrid Change - + Revert last BPM/Beatgrid Change of the loaded track. - + Sync / Sync Lock - + Internal Sync Leader - + Toggle Internal Sync Leader - - + + Internal Leader BPM - + Internal Leader BPM +1 - + Increase internal Leader BPM by 1 - + Internal Leader BPM -1 - + Decrease internal Leader BPM by 1 - + Internal Leader BPM +0.1 - + Increase internal Leader BPM by 0.1 - + Internal Leader BPM -0.1 - + Decrease internal Leader BPM by 0.1 - + Sync Leader - + Sync mode 3-state toggle / indicator (Off, Soft Leader, Explicit Leader) - + Speed Hastighet - + Decrease Speed (Fine) - + Pitch (Musical Key) Tonhöjd - + Increase Pitch Öka tonhöjd - + Increases the pitch by one semitone Ökar tonhöjden med en semiton - + Increase Pitch (Fine) Öka tonhöjd (fint) - + Increases the pitch by 10 cents - + Decrease Pitch Minska tonhöjd - + Decreases the pitch by one semitone Minskar tonhöjden med en semiton - + Decrease Pitch (Fine) Minska tonhöjd (fint) - + Decreases the pitch by 10 cents - + Keylock Tangentlås - + CUP (Cue + Play) CUP (Cue + Play) - + Shift cue points earlier - + Shift cue points 10 milliseconds earlier - + Shift cue points earlier (fine) - + Shift cue points 1 millisecond earlier - + Shift cue points later - + Shift cue points 10 milliseconds later - + Shift cue points later (fine) - + Shift cue points 1 millisecond later - - + + Sort hotcues by position - - + + Sort hotcues by position (remove offsets) - + Hotcues %1-%2 - + Intro / Outro Markers - + Intro Start Marker - + Intro End Marker - + Outro Start Marker - + Outro End Marker - + intro start marker - + intro end marker - + outro start marker - + outro end marker - + Activate %1 [intro/outro marker Aktivera %1 - + Jump to or set the %1 [intro/outro marker - + Set %1 [intro/outro marker - + Set or jump to the %1 [intro/outro marker - + Clear %1 [intro/outro marker Rensa %1 - + Clear the %1 [intro/outro marker Rensa %1 - + if the track has no beats the unit is seconds - + Loop Selected Beats - + Create a beat loop of selected beat size - + Loop Roll Selected Beats - + Create a rolling beat loop of selected beat size - + Loop %1 Beats set from its end point - + Loop Roll %1 Beats set from its end point - + Create %1-beat loop with the current play position as loop end - + Create temporary %1-beat loop roll with the current play position as loop end - + Loop Beats - + Loop Roll Beats - + Go To Loop In - + Go to Loop In button - + Go To Loop Out - + Go to Loop Out button - + Toggle loop on/off and jump to Loop In point if loop is behind play position - + Reloop And Stop - + Enable loop, jump to Loop In point, and stop - + Halve the loop length Halvera looplängden - + Double the loop length Dubbla looplängden - + Beat Jump / Loop Move - + Jump / Move Loop Forward %1 Beats - + Jump / Move Loop Backward %1 Beats - + Jump forward by %1 beats, or if a loop is enabled, move the loop forward %1 beats - + Jump backward by %1 beats, or if a loop is enabled, move the loop backward %1 beats - + Beat Jump / Loop Move Forward Selected Beats - + Jump forward by the selected number of beats, or if a loop is enabled, move the loop forward by the selected number of beats - + Beat Jump / Loop Move Backward Selected Beats - + Jump backward by the selected number of beats, or if a loop is enabled, move the loop backward by the selected number of beats - + Beat Jump - + Indicate which loop marker remain static when adjusting the size or is inherited from the current position - + Beat Jump / Loop Move Forward - + Beat Jump / Loop Move Backward - + Loop Move Forward Flytta loop framåt - + Loop Move Backward Flytta loop bakåt - + Remove Temporary Loop - + Remove the temporary loop - + Navigation Navigering - + Move up Flytta upp - + Equivalent to pressing the UP key on the keyboard Samma som att trycka UPP piltangenten på tangentbordet - + Move down Flytta ned - + Equivalent to pressing the DOWN key on the keyboard Samma som att trycka NER piltangenten på tangentbordet - + Move up/down Flytta upp/ner - + Move vertically in either direction using a knob, as if pressing UP/DOWN keys - + Scroll Up Scrolla upp - + Equivalent to pressing the PAGE UP key on the keyboard Samma som att trycka SIDA UPP tangenten på tangentbordet - + Scroll Down Scrolla ner - + Equivalent to pressing the PAGE DOWN key on the keyboard Samma som att trycka SIDA NER tangenten på tangentbordet - + Scroll up/down Scrolla upp/ner - + Scroll vertically in either direction using a knob, as if pressing PGUP/PGDOWN keys - + Move left Flytta vänster - + Equivalent to pressing the LEFT key on the keyboard Samma som att trycka VÄNSTER piltangent på tangentbordet - + Move right Flytta höger - + Equivalent to pressing the RIGHT key on the keyboard Samma som att trycka HÖGER piltangent på tangentbordet - + Move left/right Flytta vänster/höger - + Move horizontally in either direction using a knob, as if pressing LEFT/RIGHT keys - + Move focus to right pane - + Equivalent to pressing the TAB key on the keyboard Samma som att trycka TAB tangenten på tangentbordet - + Move focus to left pane - + Equivalent to pressing the SHIFT+TAB key on the keyboard Samma som att trycka SHIFT + TAB tangenten på tangentbordet - + Move focus to right/left pane - + Move focus one pane to right or left using a knob, as if pressing TAB/SHIFT+TAB keys - + Sort focused column - + Sort the column of the cell that is currently focused, equivalent to clicking on its header - + Go to the currently selected item - + Choose the currently selected item and advance forward one pane if appropriate - + Load Track and Play Ladda låt och spela - + Add to Auto DJ Queue (replace) Lägg till i Auto-DJ-kön (ersätt) - + Replace Auto DJ Queue with selected tracks Ersätt Auto DJ-kön med valda låtar - + Select next search history Välj nästa sökhistorik - + Selects the next search history entry - + Select previous search history Välj föregående sökhistorik - + Selects the previous search history entry - + Move selected search entry - + Moves the selected search history item into given direction and steps - + Clear search Rensa sökning - + Clears the search query Rensar sökningen - - + + Select Next Color Available - + Select the next color in the color palette for the first selected track - - + + Select Previous Color Available - + Select the previous color in the color palette for the first selected track - + Deck %1 Quick Effect Enable Button - + Quick Effect Enable Button - + Enable or disable effect processing Aktivera eller inaktivera effektbearbetning - + Super Knob (control effects' Meta Knobs) - + Mix Mode Toggle - + Toggle effect unit between D/W and D+W modes - + Next chain preset Nästa kedjeförinställning - + Previous Chain Föregående kedja - + Previous chain preset Föregående kedjeförinställning - + Next/Previous Chain Nästa/föregående kedja - + Next or previous chain preset Nästa eller föregående kedjeförinställning - - + + Show Effect Parameters Visa effektparametrar - + Effect Unit Assignment - + Meta Knob Meta-ratt - + Effect Meta Knob (control linked effect parameters) - + Meta Knob Mode Metaratts-läge - + Set how linked effect parameters change when turning the Meta Knob. - + Meta Knob Mode Invert - + Invert how linked effect parameters change when turning the Meta Knob. - - + + Button Parameter Value Knappparameter-värde - + Microphone / Auxiliary Mikrofon / Extraingång - + Microphone On/Off Mikrofon på/av - + Microphone on/off Mikrofon på/av - + Toggle microphone ducking mode (OFF, AUTO, MANUAL) Växla mikrofonducknings-sätt (AV, AUTO, MANUELL) - + Auxiliary On/Off Extraingång på/av - + Auxiliary on/off Extraingång på/av - + Auto DJ Auto DJ - + Auto DJ Shuffle Slumpvis Auto DJ - + Auto DJ Skip Next Auto DJ hoppa över nästa - + Auto DJ Add Random Track - + Add a random track to the Auto DJ queue - + Auto DJ Fade To Next Auto DJ tona till nästa - + Trigger the transition to the next track Utlös övergången till nästa låt - + User Interface Användargränssnitt - + Samplers Show/Hide Visa/dölj samplare - + Show/hide the sampler section Visa/dölj samplar-delen - + Microphone && Auxiliary Show/Hide keep double & to prevent creation of keyboard accelerator - + Waveform Zoom Reset To Default - + Reset the waveform zoom level to the default value selected in Preferences -> Waveforms - + Select the next color in the color palette for the loaded track. - + Select previous color in the color palette for the loaded track. - + Navigate Through Track Colors - + Select either next or previous color in the palette for the loaded track. - + Start/Stop Live Broadcasting Starta/stoppa livesändning - + Stream your mix over the Internet. Streama din mix över internet. - + Start/stop recording your mix. Starta/stoppa inspelning av din mix. - - + + Samplers Samplare - + Vinyl Control Show/Hide Vinylstyrning visa/dölj - + Show/hide the vinyl control section Visa/dölj vinylstyrningssektionen - + Preview Deck Show/Hide Visa/dölj förhandslyssnings-tallrikar - + Show/hide the preview deck Visa/dölj förhandsgranskningstallriken - + Toggle 4 Decks - + Switches between showing 2 decks and 4 decks. - + Cover Art Show/Hide (Decks) - + Show/hide cover art in the main decks - + Vinyl Spinner Show/Hide Visa/dölj vinyl-snurra - + Show/hide spinning vinyl widget Visa/dölj vinylsnurrorna - + Vinyl Spinners Show/Hide (All Decks) - + Show/Hide all spinnies Visa/dölj alla snurrisar - + Toggle Waveforms Växla vågformer - + Show/hide the scrolling waveforms. Visa/dölj de scrollande vågformerna. - + Waveform zoom Vågform zoom - + Waveform Zoom Vågform zoom - + Zoom waveform in Vågform zooma in - + Waveform Zoom In Vågform zooma in - + Zoom waveform out Vågform zooma ut - + Star Rating Up Stjärnbetyg upp - + Increase the track rating by one star Öka låtbetyget med en stjärna - + Star Rating Down Stjärnbetyg ner - + Decrease the track rating by one star Minska låtbetyget med en stjärna @@ -3612,32 +3644,32 @@ trace - Above + Profiling messages ControllerScriptEngineBase - + The functionality provided by this controller mapping will be disabled until the issue has been resolved. - + You can ignore this error for this session but you may experience erratic behavior. - + Try to recover by resetting your controller. Försök att rädda situationen genom att återställa din styrenhet. - + Controller Mapping Error - + The mapping for your controller "%1" is not working properly. - + The script code needs to be fixed. Skriptkoden måste fixas. @@ -3745,7 +3777,7 @@ trace - Above + Profiling messages Importera back - + Export Crate Exportera back @@ -3755,7 +3787,7 @@ trace - Above + Profiling messages Lås upp - + An unknown error occurred while creating crate: Ett okänt fel uppstod vid skapandet av backen @@ -3764,12 +3796,6 @@ trace - Above + Profiling messages Rename Crate Döp om back - - - - Export to Engine Prime - - Make a crate for your next gig, for your favorite electrohouse tracks, or for your most requested tracks. @@ -3787,17 +3813,17 @@ trace - Above + Profiling messages Omdöpning av back misslyckades - + Crate Creation Failed - + M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Text CSV (*.csv);;Readable Text (*.txt) M3U spellista (*.m3u);;M3U8 spellista (*.m3u8);;PLS spellista (*.pls);;Text CSV (*.csv);;Läsbar text (*.txt) - + M3U Playlist (*.m3u) M3U-spellista (*.m3u) @@ -3806,6 +3832,12 @@ trace - Above + Profiling messages Crates are a great way to help organize the music you want to DJ with. Backar är ett utmärkt sätt att hjälpa till att organisera den musik du vill mixa med. + + + + Export to Engine DJ + + Crates let you organize your music however you'd like! @@ -3917,12 +3949,12 @@ trace - Above + Profiling messages Tidigare bidragsgivare - + Official Website Officiell webbplats - + Donate Donera @@ -4438,37 +4470,37 @@ Often results in higher quality beatgrids, but will not do well on tracks that h Om länkningen inte fungerar, försök med att aktivera en av de avancerade optionerna nedan och försök använda styrenheten igen. Du kan också klicka på Försök igen för att låta Mixxx söka efter MIDI-styrenhet på nytt. - + Didn't get any midi messages. Please try again. Kunde inte ta emot några MIDI-meddelanden. Försök igen. - + Unable to detect a mapping -- please try again. Be sure to only touch one control at once. Kunde inte upptäcka någon länk -- försök igen. Tänk på att bara röra en styrfunktion åt gången. - + Successfully mapped control: Mappning av styrfunktion lyckades: - + <i>Ready to learn %1</i> <i>Redo att lära in %1</i> - + Learning: %1. Now move a control on your controller. Lära in: %1. Rör en knapp på din styrenhet. - + The selected control does not exist.<br>This likely a bug. Please report it on the Mixxx bug tracker.<br><a href='https://github.com/mixxxdj/mixxx/issues'>https://github.com/mixxxdj/mixxx/issues</a><br><br>You tried to learn: %1,%2 - + The control you clicked in Mixxx is not learnable. This could be because you are either using an old skin and this control is no longer supported, or you clicked a control that provides visual feedback and can only be mapped to outputs like LEDs via scripts. @@ -4507,17 +4539,17 @@ You tried to learn: %1,%2 Dumpa till csv - + Log Logg - + Search Sök - + Stats Statistik @@ -5170,114 +5202,114 @@ associated with each key. DlgPrefController - + Apply device settings? Verkställ enhetsinställningar? - + Your settings must be applied before starting the learning wizard. Apply settings and continue? Dina inställningar måste verkställas innan läriin-guiden kan startas. Spara inställningarna och fortsätt? - + None Ingen - + %1 by %2 %1 av %2 - + Mapping has been edited Mappning har redigerats - + Always overwrite during this session - + Save As Spara som - + Overwrite Skriv över - + Save user mapping Spara användarmappning - + Enter the name for saving the mapping to the user folder. - + Saving mapping failed Misslyckades med sparande av mappning - + A mapping cannot have a blank name and may not contain special characters. - + A mapping file with that name already exists. En mappningsfil med det namnet finns redan. - + Do you want to save the changes? Vill du spara ändringarna? - + Troubleshooting Felsökning - + <font color='#BB0000'><b>If you use this mapping your controller may not work correctly. Please select another mapping or disable the controller.</b></font><br><br>This mapping was designed for a newer Mixxx Controller Engine and cannot be used on your current Mixxx installation.<br>Your Mixxx installation has Controller Engine version %1. This mapping requires a Controller Engine version >= %2.<br><br>For more information visit the wiki page on <a href='https://mixxx.org/wiki/doku.php/controller_engine_versions'>Controller Engine Versions</a>. - + Mapping already exists. Mappning finns redan. - + <b>%1</b> already exists in user mapping folder.<br>Overwrite or save with a new name? - + Clear Input Mappings Rensa ingångs-länkningar - + Are you sure you want to clear all input mappings? Är du säker på att du vill rensa alla ingångs-länkningar? - + Clear Output Mappings Rensa utgångs-länkningar - + Are you sure you want to clear all output mappings? Är du säker på att du vill rensa alla utgångs-länkningar? @@ -5295,100 +5327,100 @@ Spara inställningarna och fortsätt? Aktiverad - + Device Info - + Physical Interface: - + Vendor name: - + Product name: - + Vendor ID - + VID: - + Product ID - + PID: - + Serial number: - + USB interface number: - + HID Usage-Page: - + HID Usage: - + Description: Beskrivning: - + Support: Hjälp: - + Screens preview - + Input Mappings Ingångs-länkningar - - + + Search Sök - - + + Add Lägg till - - + + Remove Ta bort @@ -5408,17 +5440,17 @@ Spara inställningarna och fortsätt? Ladda mappning: - + Mapping Info Mappningsinfo - + Author: Upphovsman: - + Name: Namn: @@ -5428,28 +5460,28 @@ Spara inställningarna och fortsätt? Lär in-guiden (endast MIDI) - + Data protocol: - + Mapping Files: Mappningsfiler: - + Mapping Settings - - + + Clear All Rensa allt - + Output Mappings Utgångs-länkningar @@ -5608,6 +5640,16 @@ Spara inställningarna och fortsätt? Multi-Sampling + + + Force 3D acceleration + + + + + If checked, Mixxx will always assume 3D acceleration is available. This may lead to pour performance if only CP-backed rendering is available.. + + Start in full-screen mode @@ -6199,62 +6241,62 @@ You can always drag-and-drop tracks on screen to clone a deck. DlgPrefInterface - + The minimum size of the selected skin is bigger than your screen resolution. Den minsta storleken för det valda skinnet är större än din skärmupplösning. - + Allow screensaver to run Tillåt skärmsläckare att starta - + Prevent screensaver from running Hindra skärmsläckare från att starta - + Prevent screensaver while playing Hindra skärmsläckare vid uppspelning - + Disabled - + 2x MSAA - + 4x MSAA - + 8x MSAA - + 16x MSAA - + This skin does not support color schemes Det här skinnet har inte stöd för färgscheman - + Information Information - + Mixxx must be restarted before the new locale, scaling or multi-sampling settings will take effect. @@ -7421,173 +7463,172 @@ The loudness target is approximate and assumes track pregain and main output lev DlgPrefSound - + %1 Hz %1 Hz - + Default (long delay) Standard (lång fördröjning) - + Experimental (no delay) Experimentell (ingen fördröjning) - + Disabled (short delay) Avstängd (kort fördröjning) - + Soundcard Clock Ljudkortsklocka - + Network Clock Nätverksklocka - + Direct monitor (recording and broadcasting only) - + Disabled Avstängd - + Enabled Aktiverad - + Stereo Stereo - + Mono Mono - + To enable Realtime scheduling (currently disabled), see the %1. - + The %1 lists sound cards and controllers you may want to consider for using Mixxx. - + Mixxx DJ Hardware Guide Mixxx DJ hårdvaruguide - + Information - + Mixxx must be restarted before the multi-threaded RubberBand setting change will take effect. - + auto (<= 1024 frames/period) - + 2048 frames/period - + 4096 frames/period - + Are you sure? - + Distribute stereo channels into mono channels for parallel processing will result in a loss of mono compatibility and a diffuse stereo image. It is not recommended during broadcasting or recording. - + Are you sure you wish to proceed? - + No - + Yes, I know what I am doing - + Microphone inputs are out of time in the record & broadcast signal compared to what you hear. - + Measure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. - - + Refer to the Mixxx User Manual for details. - + Configured latency has changed. - + Remeasure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. - + Realtime scheduling is enabled. - + Main output only - + Main and booth outputs - + %1 ms %1 ms - + Configuration error Konfigurationsfel @@ -7605,131 +7646,131 @@ The loudness target is approximate and assumes track pregain and main output lev Ljud-API - + Sample Rate Samplingsfrekvens - + Audio Buffer Ljudbuffert - + Engine Clock Motorklocka - + Use soundcard clock for live audience setups and lowest latency.<br>Use network clock for broadcasting without a live audience. - + Main Mix Huvudmix - + Main Output Mode Huvudutgångsläge - + Microphone Monitor Mode - + Microphone Latency Compensation - - - - + + + + ms milliseconds ms - + 20 ms 20 ms - + Buffer Underflow Count Sammanräkning Buffer Underflow - + 0 0 - + Keylock/Pitch-Bending Engine Tonhöjds/pitch-bend rutin - + Multi-Soundcard Synchronization Synkronisering av flera ljudkort. - + Output Utgång - + Input Ingång - + System Reported Latency Systemets rapporterade latency - + Enlarge your audio buffer if the underflow counter is increasing or you hear pops during playback. Utvidga din audio-buffert om underströms-räknaren ökar på, eller om du hör smällar under uppspelning. - + Main Output Delay Huvudutgångs-fördröjning - + Headphone Output Delay Hörlursutgångs-fördröjning - + Booth Output Delay - + Dual-threaded Stereo - + Hints and Diagnostics Tips och diagnostik - + Downsize your audio buffer to improve Mixxx's responsiveness. Minska din audio-buffert för Mixxx ska reagera snabbare. - + Query Devices Fråga enheter @@ -8175,47 +8216,47 @@ Select from different types of displays for the waveform, which differ primarily DlgPreferences - + Sound Hardware Ljudhårdvara - + Controllers Styrenheter - + Library Bibliotek - + Interface Gränssnitt - + Waveforms Vågformer - + Mixer Mixerbord - + Auto DJ Auto DJ - + Decks - + Colors Färger @@ -8250,47 +8291,47 @@ Select from different types of displays for the waveform, which differ primarily - + Effects Effekter - + Recording Inspelning - + Beat Detection Takthittare - + Key Detection Tonartsfinnare - + Normalization Normalisering - + <font color='#BB0000'><b>Some preferences pages have errors. To apply the changes please first fix the issues.</b></font> - + Vinyl Control Vinylstyrning - + Live Broadcasting Livesändning - + Modplug Decoder Modplug-avkodare @@ -8646,284 +8687,284 @@ This can not be undone! Sammanfattning - + Filetype: Filtyp: - + BPM: BPM: - + Location: Plats: - + Bitrate: Bithastighet: - + Comments Kommentarer - + BPM BPM - + Sets the BPM to 75% of the current value. Ställer BPM till 75% av det aktuella värdet. - + 3/4 BPM 3/4 BPM - + Sets the BPM to 50% of the current value. Ställer BPM till 50% av det aktuella värdet. - + Displays the BPM of the selected track. Visar BPM för den utvalda låten. - + Track # Låt # - + Album Artist Album-artist - + Composer Kompositör - + Title Titel - + Grouping Gruppindelning - + Key Tonart - + Year År - + Artist Artist - + Album Album - + Genre Genre - + ReplayGain: ReplayGain: - + Sets the BPM to 200% of the current value. Ställer BPM till 200% av det aktuella värdet. - + Double BPM Dubbel BPM - + Halve BPM Halva BPM - + Clear BPM and Beatgrid Rensa BPM och taktmönster - + Move to the previous item. "Previous" button Hoppa till föregående objekt. - + &Previous &Föregående - + Move to the next item. "Next" button Hoppa till nästa objekt. - + &Next &Nästa - + Duration: Speltid: - + Import Metadata from MusicBrainz - + Re-Import Metadata from file - + Color Färg - + Date added: Datum tillagd: - + Open in File Browser Öppna i filhanteraren - + Samplerate: - + Track BPM: Låt BPM: - + Converts beats detected by the analyzer into a fixed-tempo beatgrid. Use this setting if your tracks have a constant tempo (e.g. most electronic music). Often results in higher quality beatgrids, but will not do well on tracks that have tempo shifts. - + Assume constant tempo Anta konstant tempo - + Sets the BPM to 66% of the current value. Ställer BPM till 66% av det aktuella värdet. - + 2/3 BPM 2/3 BPM - + Sets the BPM to 150% of the current value. - + 3/2 BPM 3/2 BPM - + Sets the BPM to 133% of the current value. - + 4/3 BPM 4/3 BPM - + Tap with the beat to set the BPM to the speed you are tapping. Knacka i takt med musiken för att ställa in BPM till hastigheten du knackar med. - + Tap to Beat Trumma i takt - + Hint: Use the Library Analyze view to run BPM detection. Tips: använd Biblioteksanalysatorn för köra BPM-mätning. - + Save changes and close the window. "OK" button Spara ändringarna och stäng fönstret. - + &OK &OK - + Discard changes and close the window. "Cancel" button Ignorera ändringar och stäng fönstret. - + Save changes and keep the window open. "Apply" button Spara ändringar och hålla fönstret öppet. - + &Apply &Verkställ - + &Cancel &Avbryt - + (no color) @@ -9080,7 +9121,7 @@ Often results in higher quality beatgrids, but will not do well on tracks that h - + (no color) @@ -9282,27 +9323,27 @@ Often results in higher quality beatgrids, but will not do well on tracks that h EngineBuffer - + Soundtouch (faster) Soundtouch (snabbare) - + Rubberband (better) Gummiband (bättre) - + Rubberband R3 (near-hi-fi quality) - + Unknown, using Rubberband (better) - + Unknown, using Soundtouch @@ -9517,15 +9558,15 @@ Often results in higher quality beatgrids, but will not do well on tracks that h LegacySkinParser - - + + Safe Mode Enabled Shown when Mixxx is running in safe mode. Felsäker modus aktiverad - - + + No OpenGL support. Shown when Spinny can not be displayed. Please keep @@ -9537,57 +9578,57 @@ Shown when VuMeter can not be displayed. Please keep stöd. - + activate aktivera - + toggle växla - + right höger - + left vänster - + right small höger liten - + left small vänster liten - + up upp - + down ner - + up small upp liten - + down small ner liten - + Shortcut Genväg @@ -9595,62 +9636,62 @@ stöd. Library - + This or a parent directory is already in your library. - + This or a listed directory does not exist or is inaccessible. Aborting the operation to avoid library inconsistencies - - + + This directory can not be read. - + An unknown error occurred. Aborting the operation to avoid library inconsistencies - + Can't add Directory to Library - + Could not add <b>%1</b> to your library. %2 - + Can't remove Directory from Library - + An unknown error occurred. - + This directory does not exist or is inaccessible. - + Relink Directory - + Could not relink <b>%1</b> to <b>%2</b>. %3 @@ -9660,22 +9701,22 @@ Aborting the operation to avoid library inconsistencies LibraryFeature - + Import Playlist Importera spellista - + Playlist Files (*.m3u *.m3u8 *.pls *.csv) Spellistsfiler (*.m3u *.m3u8 *.pls *.csv) - + Overwrite File? Skriv över fil? - + A playlist file with the name "%1" already exists. The default "m3u" extension was added because none was specified. @@ -9722,27 +9763,27 @@ Do you really want to overwrite it? MidiController - + MixxxControl(s) not found MixxxControl(s) hittades inte - + One or more MixxxControls specified in the outputs section of the loaded mapping were invalid. - + * Make sure the MixxxControls in question actually exist. Visit the manual for a complete list: - + Some LEDs or other feedback may not work correctly. Vissa lysdioder eller andra indikatorer kanske inte fungerar korrekt. - + * Check to see that the MixxxControl names are spelled correctly in the mapping file (.xml) * Kontrollera att MixxxControl-namnen är rättstavade i länknings-filen (.xml) @@ -9803,18 +9844,18 @@ Do you really want to overwrite it? MixxxLibraryFeature - + Missing Tracks Saknade låtar - + Hidden Tracks Döljda låtar - Export to Engine Prime + Export to Engine DJ @@ -9826,210 +9867,251 @@ Do you really want to overwrite it? MixxxMainWindow - + Sound Device Busy Ljudenheten är upptagen - + <b>Retry</b> after closing the other application or reconnecting a sound device <b>Försök igen</b> efter det andra programmet har stängts eller efter att en ljudenhet åter anslutits - - - + + + <b>Reconfigure</b> Mixxx's sound device settings. <b>Konfigurera om</b> Mixxx ljudenhetsinställningar. - - + + Get <b>Help</b> from the Mixxx Wiki. Få <b>Hjälp</b> från Mixxx Wiki. - - - + + + <b>Exit</b> Mixxx. <b>Avsluta</b> Mixxx. - + Retry Försök igen - + skin skal - + Allow Mixxx to hide the menu bar? - + Hide Always show the menu bar? - + Always show - + The Mixxx menu bar is hidden and can be toggled with a single press of the <b>Alt</b> key.<br><br>Click <b>%1</b> to agree.<br><br>Click <b>%2</b> to disable that, for example if you don't use Mixxx with a keyboard.<br><br>You can change this setting any time in Preferences -> Interface.<br> Keep formatting tags <b> (bold text) and <br> (linebreak). %1 is the placeholder for the 'Always show' button label - + Ask me again - - + + Reconfigure Konfigurera om - + Help Hjälp - - + + Exit Avsluta - - + + Mixxx was unable to open all the configured sound devices. - + Sound Device Error Ljudenhetsfel - + <b>Retry</b> after fixing an issue - + No Output Devices Inga utenheter - + Mixxx was configured without any output sound devices. Audio processing will be disabled without a configured output device. Mixxx konfigurerades utan några enheter för ljudåtergivning. All ljudbehandling är deaktiverad när inga ljudutgångar är konfigurerade. - + <b>Continue</b> without any outputs. <b>Fortsätt</b> utan några utgångar. - + Continue Fortsätt - + Load track to Deck %1 Ladda låt till tallrik %1 - + Deck %1 is currently playing a track. Tallrik %1 spelar en låt just nu. - + Are you sure you want to load a new track? Är du säker på att du vill ladda en nytt låt? - + There is no input device selected for this vinyl control. Please select an input device in the sound hardware preferences first. Ingen enhet för ljudingång är utvald för den här vinylstyrningsenheten. Välj först en ingångsenhet i inställningarna för ljudhårdvara. - + There is no input device selected for this passthrough control. Please select an input device in the sound hardware preferences first. Ingen ingångsenhet utvald för den här genomgångsstyrenheten. Välj först ut en ingångsenhet i inställningarna för ljudhårdvara. - + There is no input device selected for this microphone. Do you want to select an input device? - + There is no input device selected for this auxiliary. Do you want to select an input device? - + + Scan took %1 + + + + + No changes detected. + + + + + + %1 tracks in total + + + + + %1 new tracks found + + + + + %1 moved tracks detected + + + + + %1 tracks are missing (%2 total) + + + + + %1 tracks have been rediscovered + + + + + Library scan finished + + + + Error in skin file Fel hittat i skinn-filen - + The selected skin cannot be loaded. Kunde inte ladda in det utvalda skinnet. - + OpenGL Direct Rendering OpenGL Direct Rendering - + Direct rendering is not enabled on your machine.<br><br>This means that the waveform displays will be very<br><b>slow and may tax your CPU heavily</b>. Either update your<br>configuration to enable direct rendering, or disable<br>the waveform displays in the Mixxx preferences by selecting<br>"Empty" as the waveform display in the 'Interface' section. - - - + + + Confirm Exit Bekräfta avsluta - + A deck is currently playing. Exit Mixxx? En tallrik spelar fortfarande. Vill du avsluta Mixxx? - + A sampler is currently playing. Exit Mixxx? En samplare spelar fortfarande. Vill du avsluta Mixxx? - + The preferences window is still open. Inställningsfönstret är fortfarande öppnat. - + Discard any changes and exit Mixxx? Kassera eventuella ändringar och avsluta Mixxx? @@ -10045,13 +10127,13 @@ Do you want to select an input device? PlaylistFeature - + Lock Lås - - + + Playlists Spellistor @@ -10061,32 +10143,58 @@ Do you want to select an input device? - + + Unlock all playlists + + + + + Delete all unlocked playlists + + + + Unlock Lås upp - + + + Confirm Deletion + + + + + Do you really want to delete all unlocked playlists? + + + + + Deleting %1 unlocked playlists.<br>This operation can not be undone! + + + + Playlists are ordered lists of tracks that allow you to plan your DJ sets. - + It may be necessary to skip some tracks in your prepared playlist or add some different tracks in order to maintain the energy of your audience. - + Some DJs construct playlists before they perform live, but others prefer to build them on-the-fly. En del DJs sätter ihop spellistor innan de uppträder live, medan andra föredrar att sätte ihop dem spontant. - + When using a playlist during a live DJ set, remember to always pay close attention to how your audience reacts to the music you've chosen to play. On du använder en spellista vid ett live-DJ uppträdande, tänk på att kolla hur publiken reagerar på musiken du valt ut. - + Create New Playlist Skapa ny spellista @@ -10307,12 +10415,12 @@ Do you want to scan your library for cover files now? Button - + Knapp Switch - + Switch @@ -10845,7 +10953,7 @@ With width at zero, this allows for manually sweeping over the entire delay rang Decay - + Decay @@ -10901,7 +11009,7 @@ Higher values result in less attenuation of high frequencies. Kill Low - + Kill Low @@ -10936,7 +11044,7 @@ Higher values result in less attenuation of high frequencies. Kill Mid - + Kill Mid @@ -10957,7 +11065,7 @@ Higher values result in less attenuation of high frequencies. Kill High - + Kill High @@ -11346,12 +11454,12 @@ It is designed as a complement to the steep mixing equalizers. Gain 1 - + Gain 1 Gain for Filter 1 - + Gain för Filter 1 @@ -11381,12 +11489,12 @@ a higher Q affects a narrower band of frequencies. Gain 2 - + Gain 2 Gain for Filter 2 - + Gain för Filter 2 @@ -11577,7 +11685,7 @@ Fully right: end of the effect period - + Deck %1 Tallrik %1 @@ -11710,7 +11818,7 @@ Hint: compensates "chipmunk" or "growling" voices - + Passthrough @@ -11741,7 +11849,7 @@ Hint: compensates "chipmunk" or "growling" voices - + Sampler %1 @@ -11874,12 +11982,12 @@ may introduce a 'pumping' effect and/or distortion. - + built-in - + missing @@ -11914,42 +12022,42 @@ may introduce a 'pumping' effect and/or distortion. - + Empty - + Simple - + Filtered - + HSV - + VSyncTest - + RGB - + Stacked - + Unknown @@ -12007,54 +12115,54 @@ may introduce a 'pumping' effect and/or distortion. RekordboxFeature - - - + + + Rekordbox Rekordbox - + Playlists Spellistor - + Folders Mappar - + Reads databases exported for Pioneer CDJ / XDJ players using the Rekordbox Export mode.<br/>Rekordbox can only export to USB or SD devices with a FAT or HFS file system.<br/>Mixxx can read a database from any device that contains the database folders (<tt>PIONEER</tt> and <tt>Contents</tt>).<br/>Not supported are Rekordbox databases that have been moved to an external device via<br/><i>Preferences > Advanced > Database management</i>.<br/><br/>The following data is read: - + Hot cues - + Loops (only the first loop is currently usable in Mixxx) - + Check for attached Rekordbox USB / SD devices (refresh) - + Beatgrids - + Memory cues - + (loading) Rekordbox (laddar) Rekordbox @@ -12613,7 +12721,7 @@ may introduce a 'pumping' effect and/or distortion. - + Spinning Vinyl Vinylsnurra @@ -12795,7 +12903,7 @@ may introduce a 'pumping' effect and/or distortion. - + Cover Art Album-konst @@ -13031,197 +13139,197 @@ may introduce a 'pumping' effect and/or distortion. När du trummar här, ändras BPM uppåt något. - + Adjust Beats Earlier Justera taktslag tidigare - + When tapped, moves the beatgrid left by a small amount. När du trummar här, flyttar sej taktmönstret åt vänster ett kort stycke. - + Adjust Beats Later Justera taktslag senare - + When tapped, moves the beatgrid right by a small amount. När du trummar här, flyttar sej taktmönstret åt höger ett kort stycke. - + Tempo and BPM Tap Trumma tempo och BPM - + Show/hide the spinning vinyl section. Visa/dölj sektionen med vinylsnurror. - + Keylock Tangentlås - + Toggling keylock during playback may result in a momentary audio glitch. - + Toggle visibility of Loop Controls - + Toggle visibility of Beatjump Controls - + Toggle visibility of Rate Control - + Toggle visibility of Key Controls - + (while previewing) - + Places a cue point at the current position on the waveform. - + Stops track at cue point, OR go to cue point and play after release (CUP mode). - + Set cue point (Pioneer/Mixxx/Numark mode), set cue point and play after release (CUP mode) OR preview from it (Denon mode). - + Is latching the playing state. - + Seeks the track to the cue point and stops. - + Play Spela - + Plays track from the cue point. - + Sends the selected channel's audio to the headphone output, selected in Preferences -> Sound Hardware. - + (This skin should be updated to use Sync Lock!) - + Enable Sync Lock - + Tap to sync the tempo to other playing tracks or the sync leader. - + Enable Sync Leader - + When enabled, this device will serve as the sync leader for all other decks. - + This is relevant when a dynamic tempo track is loaded to a sync leader deck.In that case, other synced devices will adopt the changing tempo. - + Changes the track playback speed (affects both the tempo and the pitch). If keylock is enabled, only the tempo is affected. - + Tempo Range Display - + Displays the current range of the tempo slider. - + Un-ejects when no track is loaded, i.e. reloads the track that was ejected last (of any deck). - + Delete selected hotcue. - + Track Comment - + Displays the comment tag of the loaded track. - + Opens separate artwork viewer. - + Effect Chain Preset Settings - + Show the effect chain settings menu for this unit. - + Select and configure a hardware device for this input - + Recording Duration Inspelningslängd @@ -13459,926 +13567,932 @@ may introduce a 'pumping' effect and/or distortion. - - Revert last BPM/Beatgrid Change + + Adjust beatgrid by exactly one half beat. Usable only on +tracks with constant tempo. - - Revert last BPM/Beatgrid Change of the loaded track. + + Revert last BPM/Beatgrid Change + + + + + Revert last BPM/Beatgrid Change of the loaded track. - - + + Toggle the BPM/beatgrid lock - + Tempo and Rate Tap - + Tempo, Rate Tap and BPM Tap - + Shift cues earlier - - + + Shift cues imported from Serato or Rekordbox if they are slightly off time. - + Left click: shift 10 milliseconds earlier - + Right click: shift 1 millisecond earlier - + Shift cues later - + Left click: shift 10 milliseconds later - + Right click: shift 1 millisecond later - - + + Drag a Hotcue button here to continue playing after releasing the Hotcue. - + Hint: Change the default cue mode in Preferences -> Decks. - + Mutes the selected channel's audio in the main output. - + Main mix enable Huvudmix aktivera - + Hold or short click for latching to mix this input into the main output. - + If hotcue is a loop cue, toggles the loop and jumps to if the loop is behind the play position. - + If the play position is inside an active loop, stores the loop as loop cue. - + Drag this button onto another Hotcue button to move it there (change its index). If the other hotcue is set, the two are swapped. - + Expand/Collapse Samplers - + Toggle expanded samplers view. - + Displays the duration of the running recording. - + Auto DJ is active Auto-DJ är aktivt - + Red for when needle skip has been detected. - + Hot Cue - Track will seek to nearest previous hotcue point. - + Sets the track Loop-In Marker to the current play position. - + Press and hold to move Loop-In Marker. - + Jump to Loop-In Marker. - + Sets the track Loop-Out Marker to the current play position. - + Press and hold to move Loop-Out Marker. - + Jump to Loop-Out Marker. - + If the track has no beats the unit is seconds. - + Beatloop Size - + Select the size of the loop in beats to set with the Beatloop button. - + Changing this resizes the loop if the loop already matches this size. - + Halve the size of an existing beatloop, or halve the size of the next beatloop set with the Beatloop button. - + Double the size of an existing beatloop, or double the size of the next beatloop set with the Beatloop button. - + Start a loop over the set number of beats. - + Temporarily enable a rolling loop over the set number of beats. - + Beatloop Anchor - + Define whether the loop is created and adjusted from its staring point or ending point. - + Beatjump/Loop Move Size - + Select the number of beats to jump or move the loop with the Beatjump Forward/Backward buttons. - + Beatjump Forward - + Jump forward by the set number of beats. - + Move the loop forward by the set number of beats. - + Jump forward by 1 beat. - + Move the loop forward by 1 beat. - + Beatjump Backward - + Jump backward by the set number of beats. - + Move the loop backward by the set number of beats. - + Jump backward by 1 beat. - + Move the loop backward by 1 beat. - + Reloop - + If the loop is ahead of the current position, looping will start when the loop is reached. - + Works only if Loop-In and Loop-Out Marker are set. - + Enable loop, jump to Loop-In Marker, and stop playback. - + Displays the elapsed and/or remaining time of the track loaded. - + Click to toggle between time elapsed/remaining time/both. Klicka för att växla mellan tid förflutet/återstående tid/både. - + Hint: Change the time format in Preferences -> Decks. - + Show/hide intro & outro markers and associated buttons. - + Intro Start Marker - - - - + + + + If marker is set, jumps to the marker. - - - - + + + + If marker is not set, sets the marker to the current play position. - - - - + + + + If marker is set, clears the marker. - + Intro End Marker - + Outro Start Marker - + Outro End Marker - + Mix Mix - + Adjust the mixing of the dry (input) signal with the wet (output) signal of the effect unit - + D/W mode: Crossfade between dry and wet - + D+W mode: Add wet to dry - + Mix Mode Mixläge - + Adjust how the dry (input) signal is mixed with the wet (output) signal of the effect unit - + Dry/Wet mode (crossed lines): Mix knob crossfades between dry and wet Use this to change the sound of the track with EQ and filter effects. - + Dry+Wet mode (flat dry line): Mix knob adds wet to dry Use this to change only the effected (wet) signal with EQ and filter effects. - + Route the main mix through this effect unit. - + Route the left crossfader bus through this effect unit. - + Route the right crossfader bus through this effect unit. - + Right side active: parameter moves with right half of Meta Knob turn - + Stem Label - + Name of the stem stored in the stem file - + Text is displayed in the stem color stored in the stem file - + this stem color is also used for the waveform of this stem - + Stem Mute - + Toggle the stem mute/unmuted - + Stem Volume Knob - + Adjusts the volume of the stem - + Skin Settings Menu Stilinställningar-meny - + Show/hide skin settings menu Visa/dölj stilinställningar-menyn - + Save Sampler Bank Spara samplar-uppsättning - + Save the collection of samples loaded in the samplers. - + Load Sampler Bank Ladda in samplar-uppsättning - + Load a previously saved collection of samples into the samplers. - + Show Effect Parameters Visa effektparametrar - + Enable Effect Aktivera effekt - + Meta Knob Link - + Set how this parameter is linked to the effect's Meta Knob. - + Meta Knob Link Inversion - + Inverts the direction this parameter moves when turning the effect's Meta Knob. - + Super Knob Superknapp - + Next Chain Nästa kedja - + Previous Chain Föregående kedja - + Next/Previous Chain Nästa/föregående kedja - + Clear Rensa - + Clear the current effect. Rensa nuvarande effekt. - + Toggle Växla - + Toggle the current effect. Växla nuvarande effekt. - + Next Nästa - + Clear Unit Rensa enhet - + Clear effect unit. Rensa effektenhet. - + Show/hide parameters for effects in this unit. Visa/dölj parametrar för effekter i denna enhet. - + Toggle Unit Växla enhet - + Enable or disable this whole effect unit. Aktivera eller inaktivera hela denna effektenhet. - + Controls the Meta Knob of all effects in this unit together. - + Load next effect chain preset into this effect unit. - + Load previous effect chain preset into this effect unit. - + Load next or previous effect chain preset into this effect unit. - - - - + + + + Assign Effect Unit Tilldela effektenhet - + Assign this effect unit to the channel output. - + Route the headphone channel through this effect unit. Skickar hörlursljudet genom den här effekten. - + Route this deck through the indicated effect unit. - + Route this sampler through the indicated effect unit. - + Route this microphone through the indicated effect unit. - + Route this auxiliary input through the indicated effect unit. - + The effect unit must also be assigned to a deck or other sound source to hear the effect. - + Switch to the next effect. Växla till nästa effekt. - + Previous Bakåt - + Switch to the previous effect. Växla till föregående effekt. - + Next or Previous Nästa eller föregående - + Switch to either the next or previous effect. Växla till antingen nästa eller föregående effekt. - + Meta Knob Meta-ratt - + Controls linked parameters of this effect Kontrollerar länkade parametrar på denna effekt - + Effect Focus Button Effektfokus-knapp - + Focuses this effect. Fokuserar denna effekt. - + Unfocuses this effect. Avfokuserar denna effekt. - + Refer to the web page on the Mixxx wiki for your controller for more information. - + Effect Parameter Effektparameter - + Adjusts a parameter of the effect. Justerar en parameter av effekten. - + Inactive: parameter not linked Inaktiv: parameter inte länkad - + Active: parameter moves with Meta Knob - + Left side active: parameter moves with left half of Meta Knob turn - + Left and right side active: parameter moves across range with half of Meta Knob turn and back with the other half - - + + Equalizer Parameter Kill - - + + Holds the gain of the EQ to zero while active. - + Quick Effect Super Knob - + Quick Effect Super Knob (control linked effect parameters). - + Hint: Change the default Quick Effect mode in Preferences -> Equalizers. - + Equalizer Parameter Equalizerparameter - + Adjusts the gain of the EQ filter. - + Hint: Change the default EQ mode in Preferences -> Equalizers. - - + + Adjust Beatgrid Justera taktmönster - + Adjust beatgrid so the closest beat is aligned with the current play position. Justerar taktmönstret så att det närmaste taktslaget stämmer överens med den aktuella uppspelningspositionen. - - + + Adjust beatgrid to match another playing deck. - + If quantize is enabled, snaps to the nearest beat. Hoppar till närmaste taktslag om kvantisering är aktiverad. - + Quantize Kvantisering - + Toggles quantization. Slår på/av kvantisering. - + Loops and cues snap to the nearest beat when quantization is enabled. Slingor och markeringar snäpper till närmaste taktslag när kvantisering är aktiverad. - + Reverse Baklänges - + Reverses track playback during regular playback. Spelar låten baklänges under vanlig uppspelning. - + Puts a track into reverse while being held (Censor). Spelar en låt baklänges så länge knappen trycks ned (censur) - + Playback continues where the track would have been if it had not been temporarily reversed. Uppspelningen fortsätter från den position den skulle varit om inte låten spelats baklänges tillfälligt. - - - + + + Play/Pause Spela/Paus - + Jumps to the beginning of the track. Hoppar till början av låten. - + Syncs the tempo (BPM) and phase to that of the other track, if BPM is detected on both. - + Syncs the tempo (BPM) to that of the other track, if BPM is detected on both. - + Sync and Reset Key - + Increases the pitch by one semitone. Ökar tonhöjden med en semiton. - + Decreases the pitch by one semitone. Minskar tonhöjden med en semiton. - + Enable Vinyl Control Aktivera vinylkontroll - + When disabled, the track is controlled by Mixxx playback controls. - + When enabled, the track responds to external vinyl control. - + Enable Passthrough - + Indicates that the audio buffer is too small to do all audio processing. Indikerar att ljudbufferten är för liten för att kunna bearbeta allt ljud korrekt. - + Displays cover artwork of the loaded track. - + Displays options for editing cover artwork. - + Star Rating Stjärnbetyg - + Assign ratings to individual tracks by clicking the stars. @@ -14513,33 +14627,33 @@ Use this to change only the effected (wet) signal with EQ and filter effects. - + Prevents the pitch from changing when the rate changes. - + Changes the number of hotcue buttons displayed in the deck - + Starts playing from the beginning of the track. Börjar spela från början av låten. - + Jumps to the beginning of the track and stops. Hoppa till början av låten och stoppa. - - + + Plays or pauses the track. Spelar eller pausar låten. - + (while playing) (vid uppspelning) @@ -14559,215 +14673,215 @@ Use this to change only the effected (wet) signal with EQ and filter effects. - + (while stopped) (medan stoppad) - + Cue Markering - + Headphone Hörlur - + Mute Tysta - + Old Synchronize Äldre synkning - + Syncs to the first deck (in numerical order) that is playing a track and has a BPM. Synkroniserar till den första tallriken (i nummerordning) som spelar en låt och har BPM-information. - + If no deck is playing, syncs to the first deck that has a BPM. Synkroniserar till tallriken som har en BPM, om någon tallrik spelar. - + Decks can't sync to samplers and samplers can only sync to decks. Tallrikar kan inte synkronisera till samplare och samplare kan endast synkronisera till tallrikar. - + Hold for at least a second to enable sync lock for this deck. Håll ner i minst en sekund för att aktivera Sync Lock för den här tallriken. - + Decks with sync locked will all play at the same tempo, and decks that also have quantize enabled will always have their beats lined up. Tallrikar med Sync Lock spelar i samma tempo, och tallrikar som också har aktiverad kvantisering spelas alltid med samtidiga taktslag. - + Resets the key to the original track key. - + Speed Control Hastighetsstyrning - - - + + + Changes the track pitch independent of the tempo. Ändrar låtens tonhöjd oberoende av tempot. - + Increases the pitch by 10 cents. Ökar pitchen med 10 cents. - + Decreases the pitch by 10 cents. Minskar pitchen med 10 cents. - + Pitch Adjust Justera hastighet - + Adjust the pitch in addition to the speed slider pitch. - + Opens a menu to clear hotcues or edit their labels and colors. - + Drag this button onto a Play button while previewing to continue playback after release. - + Dragging with Shift key pressed will not start previewing the hotcue. - + Record Mix Spela in mix - + Toggle mix recording. Växla mixinspelning. - + Enable Live Broadcasting Aktivera livesändning - + Stream your mix over the Internet. Streama din mix över internet. - + Provides visual feedback for Live Broadcasting status: - + disabled, connecting, connected, failure. inaktiverad, ansluter, ansluten, misslyckande. - + When enabled, the deck directly plays the audio arriving on the vinyl input. - + Playback will resume where the track would have been if it had not entered the loop. Uppspelningen fortsätter från den position den skulle ha varit om låten inte hade lagts in i slingan. - + Loop Exit Avsluta slinga - + Turns the current loop off. Stänger av aktuell slinga. - + Slip Mode Spela-vidare-sätt - + When active, the playback continues muted in the background during a loop, reverse, scratch etc. Uppspelningen fortsätter tyst samtidigt som du använder slingor, baklängesspelning, scratchning, o.s.v. när denna funktion är aktiverad. - + Once disabled, the audible playback will resume where the track would have been. Vid avstängning fortsätter uppspelningen från det ställe låten skulle ha varit. - + Track Key The musical key of a track Låtens tonart - + Displays the musical key of the loaded track. Visar den laddade låtens tonart. - + Clock Klocka - + Displays the current time. Visar aktuell tid. - + Audio Latency Usage Meter Ljudlatensanvändningsmätare - + Displays the fraction of latency used for audio processing. Visar hur stor del av latensen som används för ljudbehandlingen. - + A high value indicates that audible glitches are likely. Ett högt värde tyder på att hörbara störningar är troliga. - + Do not enable keylock, effects or additional decks in this situation. Aktivera inte tonhöjdslås, effekter eller ytterligare tallrikar i denna situation. - + Audio Latency Overload Indicator Indikator för ljudlatensöverbelastning @@ -14812,254 +14926,254 @@ Use this to change only the effected (wet) signal with EQ and filter effects.Visar låtens aktuella tonart efter tonhöjdsändring. - + Fast Rewind Snabbspolning bakåt - + Fast rewind through the track. Spolar låten snabbt bakåt. - + Fast Forward Snabbspolning framåt - + Fast forward through the track. Spolar låten snabbt framåt. - + Jumps to the end of the track. Hoppar till slutet av låten. - + Sets the pitch to a key that allows a harmonic transition from the other track. Requires a detected key on both involved decks. - - - + + + Pitch Control Tonhöjdsstyrning - + Pitch Rate Tonhöjdshastighet - + Displays the current playback rate of the track. Visar uppspelningshastigheten för spåret som spelas upp. - + Repeat Upprepa - + When active the track will repeat if you go past the end or reverse before the start. Om aktiverad repeteras låten om du fortsätter bortom slutet eller backar före början. - + Eject Mata ut - + Ejects track from the player. Matar ut låten från spelaren. - + Hotcue Snabbmarkering - + If hotcue is set, jumps to the hotcue. Hoppar till en snabbmarkering, om den existerar - + If hotcue is not set, sets the hotcue to the current play position. Sätter en snabbmarkering vid aktuell position, om ingen snabbmarkering existerar. - + Vinyl Control Mode Vinylstyrningssätt - + Absolute mode - track position equals needle position and speed. Absolut modus - låtpositionen är samma som nålpositionen och -hastigheten. - + Relative mode - track speed equals needle speed regardless of needle position. Relativ modus - låthastigheten är samma som nålhastigheten, oavsett av nålpositionen. - + Constant mode - track speed equals last known-steady speed regardless of needle input. Konstant modus - låthastigheten är samma som den sist använda, jämna hastigheten, oavsett nålinformationen. - + Vinyl Status Vinylstatus - + Provides visual feedback for vinyl control status: Tillhandahåller visuell feed-back av vinylstyrning: - + Green for control enabled. Grönt för aktiverad styrenhet. - + Blinking yellow for when the needle reaches the end of the record. Blinkande gult när nålen når slutet av skivan. - + Loop-In Marker Loop-in-markering - + Loop-Out Marker Loop-out-markering - + Loop Halve Halv slinga - + Halves the current loop's length by moving the end marker. Halverar längden av den aktuella slingan genom att flytta slutmarkeringen. - + Deck immediately loops if past the new endpoint. Om bortom den nya slutpunkten hoppar tallriken genast tillbaks i slingan. - + Loop Double Dubbel slinga - + Doubles the current loop's length by moving the end marker. Dubblar längden av den aktuella slingan genom att flytta slutmarkeringen. - + Beatloop Taktslinga - + Toggles the current loop on or off. Slår på/av aktuell slinga - + Works only if Loop-In and Loop-Out marker are set. Fungerar bara om både loop-in- och loop-out-markeringar har satts. - + Vinyl Cueing Mode Vinylmarkeringssätt - + Determines how cue points are treated in vinyl control Relative mode: Bestämmer hur markeringspunkter behandlas i relativ modus för vinylstyrning: - + Off - Cue points ignored. Av - Markeringspunkter ignoreras. - + One Cue - If needle is dropped after the cue point, track will seek to that cue point. Enkelmarkering - om du släpper ner nålen efter markeringen, kommer låten att hoppa till denna markering. - + Track Time Låtens tidsläge - + Track Duration Låtens speltid - + Displays the duration of the loaded track. Visar speltiden för den laddade låten. - + Information is loaded from the track's metadata tags. Informationen laddas från låtens metadatataggar. - + Track Artist Låtens artist - + Displays the artist of the loaded track. Visar artisten för den laddade låten. - + Track Title Låtens titel - + Displays the title of the loaded track. Visar titeln för den laddade låten. - + Track Album Låtens album - + Displays the album name of the loaded track. Visar albumnamnet för den laddade låten. - + Track Artist/Title Låtens artist/titel - + Displays the artist and title of the loaded track. Visar artisten och titeln för den laddade låten. @@ -15067,12 +15181,12 @@ Use this to change only the effected (wet) signal with EQ and filter effects. TrackCollection - + Hiding tracks Döljer spår - + The selected tracks are in the following playlists:%1Hiding them will remove them from these playlists. Continue? @@ -15287,47 +15401,47 @@ This can not be undone! WCueMenuPopup - + Cue number - + Cue position - + Edit cue label - + Label... Etikett... - + Delete this cue - + Toggle this cue type between normal cue and saved loop - + Left-click: Use the old size or the current beatloop size as the loop size - + Right-click: Use the current play position as loop end if it is after the cue - + Hotcue #%1 @@ -15452,323 +15566,353 @@ This can not be undone! + Search in Current View... + + + + + Search for tracks in the current library view + + + + + Ctrl+f + + + + + Search in Tracks Library... + + + + + Search in the internal track collection under "Tracks" in the library + + + + + Ctrl+Shift+F + + + + Create &New Playlist Skapa &ny spellista - + Create a new playlist Skapa en ny spellista. - + Ctrl+n Ctrl+n - + Create New &Crate Skapa ny &back - + Create a new crate Skapa en ny back - + Ctrl+Shift+N Ctrl+Shift+N - - + + &View &Vy - + Auto-hide menu bar - + Auto-hide the main menu bar when it's not used. - + May not be supported on all skins. Fungerar möjligen inte för alla skinn. - + Show Skin Settings Menu Visa stilinställningar-menyn - + Show the Skin Settings Menu of the currently selected Skin - + Ctrl+1 Menubar|View|Show Skin Settings Ctrl+1 - + Show Microphone Section Visa mikrofonsektionen - + Show the microphone section of the Mixxx interface. Visa Mixxx mikrofonsektion. - + Ctrl+2 Menubar|View|Show Microphone Section Ctrl+2 - + Show Vinyl Control Section Visa vinylstyrningssektionen - + Show the vinyl control section of the Mixxx interface. Visa Mixxx sektion med vinylstyrning. - + Ctrl+3 Menubar|View|Show Vinyl Control Section Ctrl+3 - + Show Preview Deck Visa förlyssnings-tallrik - + Show the preview deck in the Mixxx interface. Visa Mixxx sektion med förlyssnings-tallrikar. - + Ctrl+4 Menubar|View|Show Preview Deck Ctrl+4 - + Show Cover Art Visa omslagskonst - + Show cover art in the Mixxx interface. Visar omslagskonst i Mixxx-gränssnittet. - + Ctrl+6 Menubar|View|Show Cover Art Ctrl+6 - + Maximize Library Maximera bibliotek - + Maximize the track library to take up all the available screen space. - + Space Menubar|View|Maximize Library Mellanslag - + &Full Screen &Helskärm - + Display Mixxx using the full screen Visa Mixxx i helskärmsläge - + &Options &Optioner - + &Vinyl Control &Vinylstyrning - + Use timecoded vinyls on external turntables to control Mixxx Använd tidskodade skivor på externa skivspelare för att styra Mixxx. - + Enable Vinyl Control &%1 Aktivera vinylstyrning &%1 - + &Record Mix %Spela in Mix - + Record your mix to a file Spara din mix till en fil - + Ctrl+R Ctrl+R - + Enable Live &Broadcasting Aktivera livesä&ndning - + Stream your mixes to a shoutcast or icecast server Streama dina mixar till en shoutcast- eller icecast-server - + Ctrl+L Ctrl+L - + Enable &Keyboard Shortcuts Aktivera tangentbords&genvägar - + Toggles keyboard shortcuts on or off Slår på/av tangentbordsgenvägar - + Ctrl+` Ctrl+` - + &Preferences &Inställningar - + Change Mixxx settings (e.g. playback, MIDI, controls) Ändra Mixxx inställningar (t.ex. återgivning, MIDI, styrenheter) - + &Developer &Utvecklare - + &Reload Skin &Ladda om skinnet - + Reload the skin Ladda om skinnet - + Ctrl+Shift+R Ctrl+Shift+R - + Developer &Tools Utvecklarverktyg - + Opens the developer tools dialog Öppnar dialogrutan för utvecklingsverktyg - + Ctrl+Shift+T Ctrl+Shift+T - + Stats: &Experiment Bucket - + Enables experiment mode. Collects stats in the EXPERIMENT tracking bucket. - + Ctrl+Shift+E Ctrl+Shift+E - + Stats: &Base Bucket - + Enables base mode. Collects stats in the BASE tracking bucket. - + Ctrl+Shift+B Ctrl+Shift+B - + Deb&ugger Enabled - + Enables the debugger during skin parsing - + Ctrl+Shift+D Ctrl+Shift+D - + &Help &Hjälp - + Show Keywheel menu title @@ -15785,74 +15929,74 @@ This can not be undone! - + Show keywheel tooltip text - + F12 Menubar|View|Show Keywheel F12 - + &Community Support Hjälp från andra &användare - + Get help with Mixxx Få hjälp för Mixxx. - + &User Manual Br&uksanvisning - + Read the Mixxx user manual. Läs bruksanvisningen för Mixxx. - + &Keyboard Shortcuts & Tangentbordsgenvägar - + Speed up your workflow with keyboard shortcuts. - + &Settings directory - + Open the Mixxx user settings directory. - + &Translate This Application Översä&tt denna applikation - + Help translate this application into your language. Hjälp oss att översätta det här programmet till ditt språk. - + &About &Om... - + About the application Om programmet @@ -15860,25 +16004,25 @@ This can not be undone! WOverview - + Passthrough - + Ready to play, analyzing... Text on waveform overview when file is playable but no waveform is visible Redo att spela, analyserar... - - + + Loading track... Text on waveform overview when file is cached from source Laddar låt... - + Finalizing... Text on waveform overview during finalizing of waveform analysis @@ -15887,25 +16031,13 @@ This can not be undone! WSearchLineEdit - - Clear input - Clear the search bar input field - - - - - Ctrl+F - Search|Focus - Ctrl+F - - - + Search noun Sök - + Clear input @@ -15916,169 +16048,163 @@ This can not be undone! Sök... - + Clear the search bar input field - - Enter a string to search for - Ange en sträng att söka efter + + Return + - - Use operators like bpm:115-128, artist:BooFar, -year:1990 + + Enter a string to search for. - - For more information see User Manual > Mixxx Library + + Use operators like bpm:115-128, artist:BooFar, -year:1990. - Shortcut - Genväg + See User Manual > Mixxx Library for more information. + - - Ctrl+F - Ctrl+F + + Focus/Select All (Search in current view) + Give search bar input focus + - - Focus - Give search bar input focus - Fokus + + Focus/Select All (Search in 'Tracks' library view) + - - - Ctrl+Backspace + + Additional Shortcuts When Focused: - Shortcuts - Genvägar + Trigger search before search-as-you-type timeout or focus tracks view afterwards + - Return + Esc or Ctrl+Return - Trigger search before search-as-you-type timeout orjump to tracks view afterwards + Immediately trigger search and focus tracks view + Exit search bar and leave focus - + Ctrl+Space - + Toggle search history Shows/hides the search history entries Växla sökhistorik - + Delete or Backspace - - Delete query from history + + in search history - - Esc - Esc - - - - Exit search - Exit search bar and leave focus - Avsluta sök + + Delete query from history + WSearchRelatedTracksMenu - + Search related Tracks Sök relaterade låtar - + Key Nyckel - + harmonic with %1 - + BPM BPM - + between %1 and %2 mellan %1 och %2 - + Artist Artist - + Album Artist Album-artist - + Composer Kompositör - + Title Titel - + Album Album - + Grouping Gruppindelning - + Year År - + Genre Genre - + Directory - + &Search selected @@ -16086,620 +16212,625 @@ This can not be undone! WTrackMenu - + Load to Ladda till - + Deck Tallrik - + Sampler Samplare - + Add to Playlist Spara till spellistan. - + Crates Backar - + Metadata Metadata - + Update external collections Uppdatera externa samlingar - + Cover Art Album-konst - + Adjust BPM Justera BPM - + Select Color Välj färg - - + + Analyze Analysera - - + + Delete Track Files Ta bort låtfiler - + Add to Auto DJ Queue (bottom) Spara till Auto DJ kö (sist) - + Add to Auto DJ Queue (top) Spara till Auto DJ kö (först) - + Add to Auto DJ Queue (replace) Lägg till i Auto-DJ-kön (ersätt) - + Preview Deck Förlyssnings-tallrik - + Remove Ta bort - + Remove from Playlist Ta bort från spellista - + Remove from Crate - + Hide from Library Dölj från biblioteket - + Unhide from Library Ta fram från biblioteket - + Purge from Library Rensa från biblioteket - + Move Track File(s) to Trash - + Delete Files from Disk Ta bort filer från disk - + Properties Egenskaper - + Open in File Browser Öppna i filhanteraren - + Select in Library - + Import From File Tags Importera från filtaggar - + Import From MusicBrainz Importera från MusicBrainz - + Export To File Tags Exportera tlll filtaggar - + BPM and Beatgrid - + Play Count Antal spelningar - + Rating Betyg - + Cue Point - - + + Hotcues Snabbmarkeringar - + Intro Intro - + Outro Outro - + Key Nyckel - + ReplayGain Förstärkning av uppspelning - + Waveform Vågform - + Comment Kommentar - + All Alla - + Sort hotcues by position (remove offsets) - + Sort hotcues by position - + Lock BPM Lås BPM - + Unlock BPM Lås upp BPM - + Double BPM Dubbel BPM - + Halve BPM Halva BPM - + 2/3 BPM 2/3 BPM - + 3/4 BPM 3/4 BPM - + 4/3 BPM 4/3 BPM - + 3/2 BPM 3/2 BPM - + + Shift Beatgrid Half Beat + + + + Reanalyze - + Reanalyze (constant BPM) - + Reanalyze (variable BPM) - + Update ReplayGain from Deck Gain - + Deck %1 Tallrik %1 - + Importing metadata of %n track(s) from file tags - + Marking metadata of %n track(s) to be exported into file tags - - + + Create New Playlist Skapa ny spellista - + Enter name for new playlist: Mata in ett namn för ny spellista: - + New Playlist Ny spellista - - - + + + Playlist Creation Failed Spellistan gick inte att skapa - + A playlist by that name already exists. En spellista med det namnet finns redan. - + A playlist cannot have a blank name. En spellista kan inte vara utan namn. - + An unknown error occurred while creating playlist: Ett okänt fel uppstod när spellistan skapades: - + Add to New Crate - + Scaling BPM of %n track(s) - + Undo BPM/beats change of %n track(s) - + Locking BPM of %n track(s) - + Unlocking BPM of %n track(s) - + Setting rating of %n track(s) - + Setting color of %n track(s) - + Resetting play count of %n track(s) - + Resetting beats of %n track(s) - + Clearing rating of %n track(s) - + Clearing comment of %n track(s) - + Removing main cue from %n track(s) - + Removing outro cue from %n track(s) - + Removing intro cue from %n track(s) - + Removing loop cues from %n track(s) - + Removing hot cues from %n track(s) - + Sorting hotcues of %n track(s) by position (remove offsets) - + Sorting hotcues of %n track(s) by position - + Resetting keys of %n track(s) - + Resetting replay gain of %n track(s) - + Resetting waveform of %n track(s) - + Resetting all performance metadata of %n track(s) - + Move these files to the trash bin? - + Permanently delete these files from disk? Ta bort dessa filer från disk permanent? - - + + This can not be undone! Detta kan inte ångras! - + Cancel Avbryt - + Delete Files Ta bort filer - + Okay - + Move Track File(s) to Trash? - + Track Files Deleted Låtfiler borttagna - + Track Files Moved To Trash - + %1 track files were moved to trash and purged from the Mixxx database. - + %1 track files were deleted from disk and purged from the Mixxx database. - + Track File Deleted - + Track file was deleted from disk and purged from the Mixxx database. - + The following %1 file(s) could not be deleted from disk - + This track file could not be deleted from disk - + Remaining Track File(s) - + Close Stäng - + Clear Reset metadata in right click track context menu in library - + Loops - + Clear BPM and Beatgrid - + Undo last BPM/beats change - + Move this track file to the trash bin? - + Permanently delete this track file from disk? - + All decks where these tracks are loaded will be stopped and the tracks will be ejected. - + All decks where this track is loaded will be stopped and the track will be ejected. - + Removing %n track file(s) from disk... - + Note: if you are in the Computer or Recording view you need to click the current view again to see changes. - + Track File Moved To Trash - + Track file was moved to trash and purged from the Mixxx database. - + Don't show again during this session - + The following %1 file(s) could not be moved to trash - + This track file could not be moved to trash - + Setting cover art of %n track(s) - + Reloading cover art of %n track(s) @@ -16715,37 +16846,37 @@ This can not be undone! WTrackStemMenu - + Load for stem mixing - + Load pre-mixed stereo track - + Load the "%1" stem - + Load multiple stem into a stereo deck - + Select stems to load - + Release "CTRL" to load the current selection - + Use "CTRL" to select multiple stems @@ -16753,37 +16884,37 @@ This can not be undone! WTrackTableView - + Confirm track hide - + Are you sure you want to hide the selected tracks? - + Are you sure you want to remove the selected tracks from AutoDJ queue? - + Are you sure you want to remove the selected tracks from this crate? - + Are you sure you want to remove the selected tracks from this playlist? - + Don't ask again during this session - + Confirm track removal Bekräfta borttagning av låt @@ -16791,12 +16922,12 @@ This can not be undone! WTrackTableViewHeader - + Show or hide columns. Visa eller dölj kolumner. - + Shuffle Tracks @@ -16804,52 +16935,52 @@ This can not be undone! mixxx::CoreServices - + fonts fonter - + database databas - + effects effekter - + audio interface - + decks - + library bibliotek - + Choose music library directory Välj mapp för musikbibliotek - + controllers - + Cannot open database Kan inte öppna databasen - + Unable to establish a database connection. Mixxx requires QT with SQLite support. Please read the Qt SQL driver documentation for information on how to build it. @@ -16863,68 +16994,78 @@ Klicka på OK för att avsluta. mixxx::DlgLibraryExport - + Entire music library Hela musikbiblioteket - - Selected crates + + Crates + + + + + Playlists + + + + + Selected crates/playlists - + Browse Bläddra… - + Export directory - + Database version Databas-version - + Export Exportera - + Cancel Avbryt - + Export Library to Engine DJ "Engine DJ" must not be translated - + Export Library To Exportera bibliotek till - + No Export Directory Chosen - + No export directory was chosen. Please choose a directory in order to export the music library. - + A database already exists in the chosen directory. Exported tracks will be added into this database. - + A database already exists in the chosen directory, but there was a problem loading it. Export is not guaranteed to succeed in this situation. @@ -16945,7 +17086,7 @@ Klicka på OK för att avsluta. mixxx::EnginePrimeExportJob - + Failed to export track %1 - %2: %3 %1 is the artist %2 is the title and %3 is the original error message @@ -16955,23 +17096,23 @@ Klicka på OK för att avsluta. mixxx::LibraryExporter - + Export Completed Export slutförd - - Exported %1 track(s) and %2 crate(s). + + Exported %1 track(s), %2 crate(s), and %3 playlist(s). - + Export Failed Export misslyckades - - Exporting to Engine Prime... + + Exporting to Engine DJ... diff --git a/res/translations/mixxx_tr.qm b/res/translations/mixxx_tr.qm index cca8e4703fc04fa536b68d04c1fac7fb113da713..213bdd649b26c10acd197189543598d196f133eb 100644 GIT binary patch delta 7249 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 wHYx0&NCT0v43*GexXM&!*P$|pOQnIjrc5O% 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�TLhRlwzGwjfEfp?QJhFl`8US`?oDe8mYWR`c&Bj<$6tk!fTJ*R0Y>vl5`A2woK)?Lc8MKK1#|GV##ZTW~5|NKU_?fhq=I|F2K z=5VLkRkFC$5fH#sw)=bWM+{DLyXgI|s0 z6vJfK5~o5l>9X64KjEAq$R2iYiF#v(>>vI(k^F${Wgq<$oN^z^K7GeT+wRGm{}GCs zE=F#448PwumbdS66~$tOyyJovMB!8A-3=EBJ)g^M^V=c0Jdis`o54mh<%2q4K*w*4 zm5K5pgPf7oh;j8nBROH0e26d3ezQI0LyMeH+@{IB^zKdJhfU@Fosx*!PL|K^Qb(NX zh4+0hs(iI*0k^A@uTFvnr0((!O6+k%rhG#w{5?-A z-?GXRR=!f6u%Rcspb%#N#rR%Tn$acmB>>U zLc$}jVG?51o+hjol=M>C!pBQGf~fK9ZN zm%PZtDR>p*xsmcKQvCK?$ynD^FTb(^9sP0?(n(QB4i1cW-4&{JPf_t?Fm_qTxIIJB zDqV|WGg;B@&3D9$^G0&ACeP0}pJQ`;21r(%otbW+&O+lyPVISRM? zf!NBM3is*QN;`dX)`;z?aKGIZCzW3n6R(Cq13eU89#GM&bLnrL9tY zy|Mrkzfm;I0e8kIe%wLY-LX>fG;pzakug-x zxZr}3oY-3#h-(!J9l^Lzp`7vQBhhJ7#=AOY&~@@rj57WLk8H?;dNi6XH9p`J^~(4=vysP#DieMkiUWnIGN~LZ4?e8i z^9ARG1b1bM{Uf50+mxyHwnTF>m8Wi;N5v#Cmc22OlesBR4?$!UCNrv%82kGh$w}@i z^ZOLT7WONP^>JN^ex0B!`5X?_+9^v1oJH~}RKCxv!xj=p0pqR*kK5R;^8h5u4U9_L$6AAXn{lkAT2`Gu|4l z((k>G57s!TjNDqs7@exxpZpjS4l|NdB&bd{fsr+dV*I_4DkmJr^jjIKODUN6;w4o{ z4pi+ri}6&M>gmNYTu20~o=?OAyY^N$+L((A^N;Gm4b6yZeblbo-l6KAt7nbGK8(ks z)b7n3a8$}tj~Ry*Tl~(rdLZM)QEJ~QuW$kB$9RZW&!|GgI~J~<69&z2OVkTGV#1Qq z>P10#p43^rF7+ie6UNwWvU=nAGNjFGu5flTKK`oyVvPkZ>dB~IS*lU!(6M%h=BLRsaWh$hYy5EFlD3I4!|DM91pg#~a2YC2L&XBkkt6X@-u>M?G-UNIhLkG&VT#iDtxF7~P0Rnwc(rkyKV|W?5c^MjAAW zV;hL3tk$d_1urP%G@H&$L~=Q<**fqck;>FaPU5dQwF?3yC^fl`1?X?DIh(PS=w+Cu zq6oG`A2s*L4F9C4)>LZo-4`d#`-WEV|CbLnKNLN&^2Ln%CTm4iG9p}aZLcR?M3dWXWU+| zJ=W_uj`!`gxwwd;2}Rno?`?^y3N$nFrjeX{n{MA~Pt*q~y5y_fF`=0*r#Eb%k-M(ACB`kd z&G z3}S}<*IVVhcxI?sNNl1BXZnkrMp6J?&-(ARV4Tx1+?uHAe|LzTk2OS@3~doRwk2nJ L(z*rrrqTZatrx#t diff --git a/res/translations/mixxx_tr.ts b/res/translations/mixxx_tr.ts index af5b5cae04b4..6c87ee1e6c57 100644 --- a/res/translations/mixxx_tr.ts +++ b/res/translations/mixxx_tr.ts @@ -26,45 +26,45 @@ Enable Auto DJ - + Otomatik DJ'i Etkinleştir Disable Auto DJ - + Otomatik DJ'i Devre Dışı Bırak Clear Auto DJ Queue - + Otomatik DJ Listesini Sil - + Remove Crate as Track Source Kutuyu parça kaynağı olarak kaldır - + Auto DJ Otomatik DJ - + Confirmation Clear Onayı Kaldır - + Do you really want to remove all tracks from the Auto DJ queue? Gerçekten Otomatik DJ kuyruğundaki tüm parçaları kaldırmak istiyor musunuz? - + This can not be undone. Bu geri alınamaz. - + Add Crate as Track Source Kutuyu parça kaynağı olarak ekle @@ -149,28 +149,28 @@ BasePlaylistFeature - + New Playlist Yeni çalma listesi - + Add to Auto DJ Queue (bottom) Otomatik DJ kuyruğuna ekle (alta) - + Create New Playlist Yeni çalma listesi oluştur - + Add to Auto DJ Queue (top) Otomatik DJ kuyruğuna ekle (üste) - + Remove Kaldır @@ -180,12 +180,12 @@ Yeniden adlandır - + Lock Kilitle - + Duplicate Çoğalt @@ -206,24 +206,24 @@ Tüm çalma listesini analiz et - + Enter new name for playlist: Çalma listesini adlandır - + Duplicate Playlist Çalma Listesini Çoğalt - - + + Enter name for new playlist: Yeni çalma listesini adlandır - + Export Playlist Çalma listesini dışa aktar @@ -233,70 +233,77 @@ Otomatik DJ Kuyruğuna Ekle (değiştir) - + + + Export to Engine DJ + "Engine DJ" is a product name and must not be translated. + + + + Rename Playlist Çalma listesini yeniden adlandır - - + + Renaming Playlist Failed Çalma listesi yeniden adlandırılamadı - - - + + + A playlist by that name already exists. Bu isimde bir çalma listesi zaten var. - - - + + + A playlist cannot have a blank name. Liste ismi boş bırakılamaz - + _copy //: Appendix to default name when duplicating a playlist _kopyala - - - - - - + + + + + + Playlist Creation Failed Çalma Listesi Oluşturulamadı - - + + An unknown error occurred while creating playlist: Çalma listesi oluşturulurken bilinmeyen bir hata oluştu: - + Confirm Deletion Silmeyi Onayla - + Do you really want to delete playlist <b>%1</b>? <b>%1</b> çalma listesini gerçekten silmek istiyor musunuz? - + M3U Playlist (*.m3u) M3U Çalma Listesi (*.m3u) - + M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Text CSV (*.csv);;Readable Text (*.txt) M3U Çalma Listesi (*.m3u);;M3U8 Çalma Listesi (*.m3u8);;PLS Çalma Listesi (*.pls);;Metin CSV (*.csv);;Okunabilir Metin (*.txt) @@ -304,12 +311,12 @@ BaseSqlTableModel - + # # - + Timestamp Zaman Etiketi @@ -317,7 +324,7 @@ BaseTrackPlayerImpl - + Couldn't load track. Parça aktarılamadı. @@ -325,137 +332,142 @@ BaseTrackTableModel - + Album Albüm - + Album Artist Albüm Sanatçısı - + Artist Sanatçı - + Bitrate Akış Hızı - + BPM BPM(Dakikalık Vuruş Sayısı) - + Channels Kanallar - + Color Renk - + Comment Yorum - + Composer Besteci - + Cover Art Albüm kapak resim - + Date Added Eklendiği Tarih - + Last Played Son Çalınan - + Duration Süre - + Type Tür - + Genre Tür - + Grouping Grupla - + Key Anahtar - + Location Konum - + + Overview + Genel Bakış + + + Preview Önizleme - + Rating Derecelendirme - + ReplayGain Yeniden kazan - + Samplerate Aynı oran - + Played Oynatılma Sayısı - + Title Başlık - + Track # Parça # - + Year Yıl - + Fetching image ... Tooltip text on the cover art column shown when the cover is read from disk Resim getiriliyor... @@ -543,67 +555,77 @@ BrowseFeature - + Add to Quick Links Kısayollara Ekle - + Remove from Quick Links Kısayollardan Çıkar - + Add to Library Kitaplığa ekle - + Refresh directory tree Dizin ağacını yenile - + Quick Links Çabuk Ulaşım - - + + Devices Aygıtlar - + Removable Devices Çıkarılabilir Aygıtlar - - + + Computer Bilgisayar - + Music Directory Added Müzik dizini eklendi - + You added one or more music directories. The tracks in these directories won't be available until you rescan your library. Would you like to rescan now? Bir veya daha fazla müzik dizini eklediniz. Bu dizinlerdeki parçalar, müzik kitaplığınızı tekrar tarayana kadar çalmaya hazır olmayacaktır. Şimdi taramak istermisiniz ? - + Scan Tara - + "Computer" lets you navigate, view, and load tracks from folders on your hard disk and external devices. "Bilgisayar", sabit diskinizdeki ve harici aygıtlarınızdaki klasörlerdeki parçaları gezinmenizi, görüntülemenizi ve yüklemenizi sağlar. + + + It shows the data from the file tags, not track data from your Mixxx library like other track views. + + + + + If you load a track file from here, it will be added to your library. + + BrowseTableModel @@ -749,87 +771,87 @@ CmdlineArgs - + Mixxx is an open source DJ software. For more information, see: Mixxx açık kaynaklı bir DJ yazılımıdır. Daha fazla bilgi için bkz.: - + Starts Mixxx in full-screen mode Mixxx'i tam ekran modunda başlat - + Use a custom locale for loading translations. (e.g 'fr') - + Top-level directory where Mixxx should look for its resource files such as MIDI mappings, overriding the default installation location. - + Path the debug statistics time line is written to - + Causes Mixxx to display/log all of the controller data it receives and script functions it loads - + The controller mapping will issue more aggressive warnings and errors when detecting misuse of controller APIs. New Controller Mappings should be developed with this option enabled! - + Enables developer-mode. Includes extra log info, stats on performance, and a Developer tools menu. - + Top-level directory where Mixxx should look for settings. Default is: - + Starts Auto DJ when Mixxx is launched. - + Rescans the library when Mixxx is launched. - + Use legacy vu meter - + Use legacy spinny - + Loads experimental QML GUI instead of legacy QWidget skin - + Enables safe-mode. Disables OpenGL waveforms, and spinning vinyl widgets. Try this option if Mixxx is crashing on startup. - + [auto|always|never] Use colors on the console output. - + Sets the verbosity of command line logging. critical - Critical/Fatal only warning - Above + Warnings @@ -839,27 +861,32 @@ trace - Above + Profiling messages - + Sets the the logging level at which the log buffer is flushed to mixxx.log. <level> is one of the values defined at --log-level above. - + Sets the maximum file size of the mixxx.log file in bytes. Use -1 for unlimited. The default is 100 MB as 1e5 or 100000000. - + Breaks (SIGINT) Mixxx, if a DEBUG_ASSERT evaluates to false. Under a debugger you can continue afterwards. - + + Overrides the default application GUI style. Possible values: %1 + + + + Load the specified music file(s) at start-up. Each file you specify will be loaded into the next virtual deck. - + Preview rendered controller screens in the Setting windows. @@ -1043,13 +1070,13 @@ trace - Above + Profiling messages - + Set to full volume Sesi sonuna kadar aç - + Set to zero volume Sesi sonuna kadar kapT @@ -1074,13 +1101,13 @@ trace - Above + Profiling messages Ters çevirme (Sansür) düğmesi - + Headphone listen button Kulaklıktan dinle düğmesi - + Mute button Ses sıfırlama düğmesi @@ -1091,25 +1118,25 @@ trace - Above + Profiling messages - + Mix orientation (e.g. left, right, center) Karıştırma yönü (örn. sol, sağ, orta) - + Set mix orientation to left Mix yönünü sol olarak belirle - + Set mix orientation to center Mix yönünü mekez olarak belirle - + Set mix orientation to right Mix yönünü sağ olarak belirle @@ -1150,22 +1177,22 @@ trace - Above + Profiling messages BPM ayar düğmesi - + Toggle quantize mode Kuantize modunu değiştir - + One-time beat sync (tempo only) Bir defalık beat senkronizasyonu (sadece tempo) - + One-time beat sync (phase only) Bir defalık beat senkronizasyonu (sadece faz) - + Toggle keylock mode Tuş Kilitleme Moduna Geç @@ -1175,193 +1202,193 @@ trace - Above + Profiling messages Dengeleyiciler (Ekolayzerler) - + Vinyl Control Vinil Kontrolu - + Toggle vinyl-control cueing mode (OFF/ONE/HOT) - + Toggle vinyl-control mode (ABS/REL/CONST) - + Pass through external audio into the internal mixer - + Cues İşaretler - + Cue button İşaretleme düğmesi - + Set cue point İşaret noktası koy - + Go to cue point İşaretlenmiş noktaya git - + Go to cue point and play İşaretlenmiş noktaya git ve çal - + Go to cue point and stop İşaretlenmiş noktaya git ve durdur - + Preview from cue point İşaretlenmiş noktadan itibaren önizleme - + Cue button (CDJ mode) İşaretleme düğmesi (CDJ modu) - + Stutter cue Geçici başlama noktasını belirle - + Hotcues Önemli işaretler - + Set, preview from or jump to hotcue %1 - + Clear hotcue %1 %1 kısayolunu temizle - + Set hotcue %1 %1 kısayolunu ayarla - + Jump to hotcue %1 %1 kısayolu atla - + Jump to hotcue %1 and stop %1 hotcue git ve durdur - + Jump to hotcue %1 and play Kısayol %1'e atlayın ve oynayın - + Preview from hotcue %1 En düşük hotcue %1 önizleme - - + + Hotcue %1 Hotcue %1 - + Looping Döngü - + Loop In button Döngü giriş düğmesi - + Loop Out button Döngü çıkış düğmesi - + Loop Exit button Döngüden çıkıma düğmesi - + 1/2 1/2 - + 1 1 - + 2 2 - + 4 4 - + 8 8 - + 16 16 - + 32 32 - + 64 64 - + Move loop forward by %1 beats - + Move loop backward by %1 beats - + Create %1-beat loop %1 vuruşlu döngü oluştur - + Create temporary %1-beat loop roll @@ -1477,20 +1504,20 @@ trace - Above + Profiling messages - - + + Volume Fader Ses Düzeyi - + Full Volume Maksimum ses düzeyi - + Zero Volume Sıfır ses düzeyi @@ -1506,7 +1533,7 @@ trace - Above + Profiling messages - + Mute Ses kapatma @@ -1517,7 +1544,7 @@ trace - Above + Profiling messages - + Headphone Listen Kulaklık dinleme @@ -1538,25 +1565,25 @@ trace - Above + Profiling messages - + Orientation Yönelim - + Orient Left Sağ Yönlen - + Orient Center Merkeze Yönlen - + Orient Right Sağ Yönlen @@ -1626,82 +1653,82 @@ trace - Above + Profiling messages - + Adjust Beatgrid Beatgrid'i ayarlayın - + Align beatgrid to current position - + Adjust Beatgrid - Match Alignment - + Adjust beatgrid to match another playing deck. - + Quantize Mode Kuantize modu - + Sync Eşitleme - + Beat Sync One-Shot - + Sync Tempo One-Shot - + Sync Phase One-Shot - + Pitch control (does not affect tempo), center is original pitch - + Pitch Adjust - + Adjust pitch from speed slider pitch - + Match musical key Müzik anahtarını eşle - + Match Key Anahtarı eşle - + Reset Key Sıfırlama tuşu - + Resets key to original Anahtarı orijinale döndür @@ -1742,451 +1769,451 @@ trace - Above + Profiling messages Düşük EQ - + Toggle Vinyl Control - + Toggle Vinyl Control (ON/OFF) - + Vinyl Control Mode - + Vinyl Control Cueing Mode - + Vinyl Control Passthrough - + Vinyl Control Next Deck - + Single deck mode - Switch vinyl control to next deck - + Cue Başlangıç noktası - + Set Cue Başlangıç Noktası belirle - + Go-To Cue Başlangıç noktasına git - + Go-To Cue And Play - + Go-To Cue And Stop - + Preview Cue - + Cue (CDJ Mode) - + Stutter Cue - + Go to cue point and play after release - + Clear Hotcue %1 - + Set Hotcue %1 - + Jump To Hotcue %1 - + Jump To Hotcue %1 And Stop - + Jump To Hotcue %1 And Play - + Preview Hotcue %1 - + Loop In Döngüye Gir - + Loop Out Döngüden Çık - + Loop Exit Döngüden Çık - + Reloop/Exit Loop Tekrar Döngü/Döngüden Çık - + Loop Halve Yarı Döngü - + Loop Double Çift Döngü - + 1/32 1/32 - + 1/16 1/16 - + 1/8 1/8 - + 1/4 1/4 - + Move Loop +%1 Beats Döngüyü +%1 Vuruş Kaydır - + Move Loop -%1 Beats Döngüyü -%1 Vuruş Kaydır - + Loop %1 Beats - + Loop Roll %1 Beats - + Add to Auto DJ Queue (bottom) Otomatik DJ kuyruğuna ekle (alta) - + Append the selected track to the Auto DJ Queue - + Add to Auto DJ Queue (top) Otomatik DJ kuyruğuna ekle (üste) - + Prepend selected track to the Auto DJ Queue - + Load Track Parçayı yükle - + Load selected track Seçilmiş parçayı yükle - + Load selected track and play Seçilen parçayı yükle ve oynat - - + + Record Mix Mix kaydet - + Toggle mix recording - + Effects Efektler - + Quick Effects - + Deck %1 Quick Effect Super Knob - + Quick Effect Super Knob (control linked effect parameters) - - + + Quick Effect - + Clear Unit Birimi Temizle - + Clear effect unit Efekt birmini temizle - + Toggle Unit - + Dry/Wet Kuru/Islak - + Adjust the balance between the original (dry) and processed (wet) signal. - + Super Knob - + Next Chain Sonraki zincir - + Assign Ata - + Clear Temizle - + Clear the current effect - + Toggle - + Toggle the current effect - + Next Sonraki - + Switch to next effect - + Previous Önceki - + Switch to the previous effect - + Next or Previous - + Switch to either next or previous effect - - + + Parameter Value Parametre değeri - - + + Microphone Ducking Strength - + Microphone Ducking Mode - + Gain - + Gain knob - + Shuffle the content of the Auto DJ queue - + Skip the next track in the Auto DJ queue - + Auto DJ Toggle - + Toggle Auto DJ On/Off - + Show/hide the microphone & auxiliary section - + 4 Effect Units Show/Hide - + Switches between showing 2 and 4 effect units - + Mixer Show/Hide - + Show or hide the mixer. - + Cover Art Show/Hide (Library) - + Show/hide cover art in the library - + Library Maximize/Restore - + Maximize the track library to take up all the available screen space. - + Effect Rack Show/Hide - + Show/hide the effect rack - + Waveform Zoom Out @@ -2201,102 +2228,102 @@ trace - Above + Profiling messages - + Tap to sync tempo (and phase with quantize enabled), hold to enable permanent sync - + One-time beat sync tempo (and phase with quantize enabled) - + Playback Speed - + Playback speed control (Vinyl "Pitch" slider) - + Pitch (Musical key) - + Increase Speed - + Adjust speed faster (coarse) - + Increase Speed (Fine) - + Adjust speed faster (fine) - + Decrease Speed - + Adjust speed slower (coarse) - + Adjust speed slower (fine) - + Temporarily Increase Speed - + Temporarily increase speed (coarse) - + Temporarily Increase Speed (Fine) - + Temporarily increase speed (fine) - + Temporarily Decrease Speed - + Temporarily decrease speed (coarse) - + Temporarily Decrease Speed (Fine) - + Temporarily decrease speed (fine) @@ -2448,1041 +2475,1063 @@ trace - Above + Profiling messages - - + + Move Beatgrid Half a Beat + + + + + Adjust the beatgrid by exactly one half beat. Usable only for tracks with constant tempo. + + + + + Toggle the BPM/beatgrid lock - + Revert last BPM/Beatgrid Change - + Revert last BPM/Beatgrid Change of the loaded track. - + Sync / Sync Lock - + Internal Sync Leader - + Toggle Internal Sync Leader - - + + Internal Leader BPM - + Internal Leader BPM +1 - + Increase internal Leader BPM by 1 - + Internal Leader BPM -1 - + Decrease internal Leader BPM by 1 - + Internal Leader BPM +0.1 - + Increase internal Leader BPM by 0.1 - + Internal Leader BPM -0.1 - + Decrease internal Leader BPM by 0.1 - + Sync Leader - + Sync mode 3-state toggle / indicator (Off, Soft Leader, Explicit Leader) - + Speed - + Decrease Speed (Fine) - + Pitch (Musical Key) - + Increase Pitch - + Increases the pitch by one semitone - + Increase Pitch (Fine) - + Increases the pitch by 10 cents - + Decrease Pitch - + Decreases the pitch by one semitone - + Decrease Pitch (Fine) - + Decreases the pitch by 10 cents - + Keylock - + CUP (Cue + Play) - + Shift cue points earlier - + Shift cue points 10 milliseconds earlier - + Shift cue points earlier (fine) - + Shift cue points 1 millisecond earlier - + Shift cue points later - + Shift cue points 10 milliseconds later - + Shift cue points later (fine) - + Shift cue points 1 millisecond later - + + + Sort hotcues by position + + + + + + Sort hotcues by position (remove offsets) + + + + Hotcues %1-%2 - + Intro / Outro Markers - + Intro Start Marker - + Intro End Marker - + Outro Start Marker - + Outro End Marker - + intro start marker - + intro end marker - + outro start marker - + outro end marker - + Activate %1 [intro/outro marker - + Jump to or set the %1 [intro/outro marker - + Set %1 [intro/outro marker - + Set or jump to the %1 [intro/outro marker - + Clear %1 [intro/outro marker - + Clear the %1 [intro/outro marker - + if the track has no beats the unit is seconds - + Loop Selected Beats - + Create a beat loop of selected beat size - + Loop Roll Selected Beats - + Create a rolling beat loop of selected beat size - + Loop %1 Beats set from its end point - + Loop Roll %1 Beats set from its end point - + Create %1-beat loop with the current play position as loop end - + Create temporary %1-beat loop roll with the current play position as loop end - + Loop Beats - + Loop Roll Beats - + Go To Loop In - + Go to Loop In button - + Go To Loop Out - + Go to Loop Out button - + Toggle loop on/off and jump to Loop In point if loop is behind play position - + Reloop And Stop - + Enable loop, jump to Loop In point, and stop - + Halve the loop length - + Double the loop length - + Beat Jump / Loop Move - + Jump / Move Loop Forward %1 Beats - + Jump / Move Loop Backward %1 Beats - + Jump forward by %1 beats, or if a loop is enabled, move the loop forward %1 beats - + Jump backward by %1 beats, or if a loop is enabled, move the loop backward %1 beats - + Beat Jump / Loop Move Forward Selected Beats - + Jump forward by the selected number of beats, or if a loop is enabled, move the loop forward by the selected number of beats - + Beat Jump / Loop Move Backward Selected Beats - + Jump backward by the selected number of beats, or if a loop is enabled, move the loop backward by the selected number of beats - + Beat Jump - + Indicate which loop marker remain static when adjusting the size or is inherited from the current position - + Beat Jump / Loop Move Forward - + Beat Jump / Loop Move Backward - + Loop Move Forward - + Loop Move Backward - + Remove Temporary Loop - + Remove the temporary loop - + Navigation Navigasyon - + Move up - + Equivalent to pressing the UP key on the keyboard - + Move down - + Equivalent to pressing the DOWN key on the keyboard - + Move up/down - + Move vertically in either direction using a knob, as if pressing UP/DOWN keys - + Scroll Up - + Equivalent to pressing the PAGE UP key on the keyboard - + Scroll Down - + Equivalent to pressing the PAGE DOWN key on the keyboard - + Scroll up/down - + Scroll vertically in either direction using a knob, as if pressing PGUP/PGDOWN keys - + Move left - + Equivalent to pressing the LEFT key on the keyboard - + Move right - + Equivalent to pressing the RIGHT key on the keyboard - + Move left/right - + Move horizontally in either direction using a knob, as if pressing LEFT/RIGHT keys - + Move focus to right pane - + Equivalent to pressing the TAB key on the keyboard - + Move focus to left pane - + Equivalent to pressing the SHIFT+TAB key on the keyboard - + Move focus to right/left pane - + Move focus one pane to right or left using a knob, as if pressing TAB/SHIFT+TAB keys - + Sort focused column - + Sort the column of the cell that is currently focused, equivalent to clicking on its header - + Go to the currently selected item - + Choose the currently selected item and advance forward one pane if appropriate - + Load Track and Play - + Add to Auto DJ Queue (replace) Otomatik DJ Kuyruğuna Ekle (değiştir) - + Replace Auto DJ Queue with selected tracks - + Select next search history - + Selects the next search history entry - + Select previous search history - + Selects the previous search history entry - + Move selected search entry - + Moves the selected search history item into given direction and steps - + Clear search - + Clears the search query - - + + Select Next Color Available - + Select the next color in the color palette for the first selected track - - + + Select Previous Color Available - + Select the previous color in the color palette for the first selected track - + Deck %1 Quick Effect Enable Button - + Quick Effect Enable Button - + Enable or disable effect processing - + Super Knob (control effects' Meta Knobs) - + Mix Mode Toggle - + Toggle effect unit between D/W and D+W modes - + Next chain preset - + Previous Chain - + Previous chain preset - + Next/Previous Chain - + Next or previous chain preset - - + + Show Effect Parameters - + Effect Unit Assignment - + Meta Knob - + Effect Meta Knob (control linked effect parameters) - + Meta Knob Mode - + Set how linked effect parameters change when turning the Meta Knob. - + Meta Knob Mode Invert - + Invert how linked effect parameters change when turning the Meta Knob. - - + + Button Parameter Value - + Microphone / Auxiliary - + Microphone On/Off - + Microphone on/off Mikrofonu aç/kapa - + Toggle microphone ducking mode (OFF, AUTO, MANUAL) - + Auxiliary On/Off Auxiliary Aç/Kapa - + Auxiliary on/off Auxiliary aç/kapa - + Auto DJ Otomatik DJ - + Auto DJ Shuffle Oto DJ karıştır - + Auto DJ Skip Next Oto DJ sonrakini atla - + Auto DJ Add Random Track - + Add a random track to the Auto DJ queue - + Auto DJ Fade To Next Oto DJ sonrakine geçiş yap - + Trigger the transition to the next track - + User Interface Kullanıcı Arayüzü - + Samplers Show/Hide - + Show/hide the sampler section Oynatıcı Kısımlarını Görüntüle/Gizle - + Microphone && Auxiliary Show/Hide keep double & to prevent creation of keyboard accelerator - + Waveform Zoom Reset To Default - + Reset the waveform zoom level to the default value selected in Preferences -> Waveforms - + Select the next color in the color palette for the loaded track. - + Select previous color in the color palette for the loaded track. - + Navigate Through Track Colors - + Select either next or previous color in the palette for the loaded track. - + Start/Stop Live Broadcasting - + Stream your mix over the Internet. - + Start/stop recording your mix. - - + + Samplers - + Vinyl Control Show/Hide - + Show/hide the vinyl control section Vinyl kontrol seçeneklerini göster/gizle - + Preview Deck Show/Hide - + Show/hide the preview deck - + Toggle 4 Decks - + Switches between showing 2 decks and 4 decks. - + Cover Art Show/Hide (Decks) - + Show/hide cover art in the main decks - + Vinyl Spinner Show/Hide - + Show/hide spinning vinyl widget Dönen vinyl eklentisini göster/gizle - + Vinyl Spinners Show/Hide (All Decks) - + Show/Hide all spinnies - + Toggle Waveforms - + Show/hide the scrolling waveforms. - + Waveform zoom Dalga şekli büyüt - + Waveform Zoom Dalga Şekli Büyüt - + Zoom waveform in - + Waveform Zoom In - + Zoom waveform out - + Star Rating Up - + Increase the track rating by one star - + Star Rating Down - + Decrease the track rating by one star @@ -3599,32 +3648,32 @@ trace - Above + Profiling messages ControllerScriptEngineBase - + The functionality provided by this controller mapping will be disabled until the issue has been resolved. - + You can ignore this error for this session but you may experience erratic behavior. - + Try to recover by resetting your controller. - + Controller Mapping Error - + The mapping for your controller "%1" is not working properly. - + The script code needs to be fixed. @@ -3668,13 +3717,13 @@ trace - Above + Profiling messages CrateFeature - + Remove Kaldır - + Create New Crate Yeni kutu oluştur @@ -3684,132 +3733,132 @@ trace - Above + Profiling messages Yeniden adlandır - - + + Lock Kilitle - + Export Crate as Playlist - + Export Track Files Şarkı dosyalarını dışa aktar - + Duplicate Çoğalt - + Analyze entire Crate - + Auto DJ Track Source Oto DJ Parça Kaynağı - + Enter new name for crate: - - + + Crates Kutular - - + + Import Crate Dışardan Kutu Ekle - + Export Crate Kutuyu Dışarı Aktar - + Unlock Kilidi Kaldır - + An unknown error occurred while creating crate: Kutuyu oluştururken bilinmeyen bir hata oluştu: - + Rename Crate Kutuyu Yeniden İsimlendir - - - Export to Engine Prime - - - - + Make a crate for your next gig, for your favorite electrohouse tracks, or for your most requested tracks. - + Confirm Deletion - - + + Renaming Crate Failed Kutuyu Yeniden İsimlendirme Başarısız - + Crate Creation Failed - + M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Text CSV (*.csv);;Readable Text (*.txt) M3U Çalma Listesi (*.m3u);;M3U8 Çalma Listesi (*.m3u8);;PLS Çalma Listesi (*.pls);;Metin CSV (*.csv);;Okunabilir Metin (*.txt) - + M3U Playlist (*.m3u) M3U Çalma Listesi (*.m3u) - + Crates are a great way to help organize the music you want to DJ with. Kutular DJ'lik yapmak istediğiniz müzikleri organize etmek için iyi bir yoldur. - + + + Export to Engine DJ + + + + Crates let you organize your music however you'd like! Kutular müziklerinizi istediğiniz şekilde organize etmenizi sağlar - + Do you really want to delete crate <b>%1</b>? - + A crate cannot have a blank name. Bir kutu boş bir isime sahip olamaz - + A crate by that name already exists. Bu adla oluşturulmuş bir müzik kutusu var @@ -3904,12 +3953,12 @@ trace - Above + Profiling messages - + Official Website - + Donate @@ -4028,72 +4077,72 @@ trace - Above + Profiling messages DlgAutoDJ - + Skip Atla - + Random - + Fade - + Enable Auto DJ Shortcut: Shift+F12 - + Disable Auto DJ Shortcut: Shift+F12 - + Trigger the transition to the next track Shortcut: Shift+F11 - + Skip the next track in the Auto DJ queue Shortcut: Shift+F10 - + Shuffle the content of the Auto DJ queue Shortcut: Shift+F9 - + Repeat the playlist - + Determines the duration of the transition - + Seconds Saniye - + Auto DJ Fade Modes Full Intro + Outro: @@ -4124,80 +4173,80 @@ crossfader, so that the intro starts at full volume. - + Full Intro + Outro - + Fade At Outro Start - + Full Track - + Skip Silence - + Skip Silence Start Full Volume - + Decks not used for Auto DJ must be stopped to enable Auto DJ mode. - + Repeat Tekrarla - + Auto DJ requires two decks assigned to opposite sides of the crossfader. - + One deck must be stopped to enable Auto DJ mode. - + Enable - + Disable - + Displays the duration and number of selected tracks. - - - + + + Auto DJ Otomatik DJ - + Shuffle Karıştır - + Adds a random track from track sources (crates) to the Auto DJ queue. If no track sources are configured, the track is added from the library instead. @@ -4420,37 +4469,37 @@ Often results in higher quality beatgrids, but will not do well on tracks that h - + Didn't get any midi messages. Please try again. - + Unable to detect a mapping -- please try again. Be sure to only touch one control at once. - + Successfully mapped control: - + <i>Ready to learn %1</i> - + Learning: %1. Now move a control on your controller. - + The selected control does not exist.<br>This likely a bug. Please report it on the Mixxx bug tracker.<br><a href='https://github.com/mixxxdj/mixxx/issues'>https://github.com/mixxxdj/mixxx/issues</a><br><br>You tried to learn: %1,%2 - + The control you clicked in Mixxx is not learnable. This could be because you are either using an old skin and this control is no longer supported, or you clicked a control that provides visual feedback and can only be mapped to outputs like LEDs via scripts. @@ -4489,17 +4538,17 @@ You tried to learn: %1,%2 - + Log - + Search Arama - + Stats İstatistikler @@ -4991,7 +5040,7 @@ Two source connections to the same server that have the same mountpoint can not Mount - + Mount @@ -5152,113 +5201,113 @@ associated with each key. DlgPrefController - + Apply device settings? Ayarlar uygulansın mı? - + Your settings must be applied before starting the learning wizard. Apply settings and continue? - + None Hiçbiri - + %1 by %2 - + Mapping has been edited - + Always overwrite during this session - + Save As - + Overwrite - + Save user mapping - + Enter the name for saving the mapping to the user folder. - + Saving mapping failed - + A mapping cannot have a blank name and may not contain special characters. - + A mapping file with that name already exists. - + Do you want to save the changes? - + Troubleshooting Sorun giderme - + <font color='#BB0000'><b>If you use this mapping your controller may not work correctly. Please select another mapping or disable the controller.</b></font><br><br>This mapping was designed for a newer Mixxx Controller Engine and cannot be used on your current Mixxx installation.<br>Your Mixxx installation has Controller Engine version %1. This mapping requires a Controller Engine version >= %2.<br><br>For more information visit the wiki page on <a href='https://mixxx.org/wiki/doku.php/controller_engine_versions'>Controller Engine Versions</a>. - + Mapping already exists. - + <b>%1</b> already exists in user mapping folder.<br>Overwrite or save with a new name? - + Clear Input Mappings - + Are you sure you want to clear all input mappings? - + Clear Output Mappings - + Are you sure you want to clear all output mappings? @@ -5271,105 +5320,105 @@ Apply settings and continue? Kontrol Cihazı Adı - + Enabled Etkinleştirildi - + Device Info - + Physical Interface: - + Vendor name: - + Product name: - + Vendor ID - + VID: - + Product ID - + PID: - + Serial number: - + USB interface number: - + HID Usage-Page: - + HID Usage: - + Description: Açıklama: - + Support: Destek: - + Screens preview - + Input Mappings - - + + Search Ara - - + + Add Ekle - - + + Remove Kaldır @@ -5384,22 +5433,22 @@ Apply settings and continue? - + Load Mapping: - + Mapping Info - + Author: Yaratıcı: - + Name: Adı: @@ -5409,28 +5458,28 @@ Apply settings and continue? - + Data protocol: - + Mapping Files: - + Mapping Settings - - + + Clear All Hepsini temizle - + Output Mappings @@ -5590,6 +5639,16 @@ Apply settings and continue? Multi-Sampling + + + Force 3D acceleration + + + + + If checked, Mixxx will always assume 3D acceleration is available. This may lead to pour performance if only CP-backed rendering is available.. + + Start in full-screen mode @@ -6181,62 +6240,62 @@ You can always drag-and-drop tracks on screen to clone a deck. DlgPrefInterface - + The minimum size of the selected skin is bigger than your screen resolution. - + Allow screensaver to run - + Prevent screensaver from running - + Prevent screensaver while playing - + Disabled - + 2x MSAA - + 4x MSAA - + 8x MSAA - + 16x MSAA - + This skin does not support color schemes - + Information Bilgi - + Mixxx must be restarted before the new locale, scaling or multi-sampling settings will take effect. @@ -7403,173 +7462,172 @@ The loudness target is approximate and assumes track pregain and main output lev DlgPrefSound - + %1 Hz %1 Hz - + Default (long delay) - + Experimental (no delay) - + Disabled (short delay) - + Soundcard Clock - + Network Clock - + Direct monitor (recording and broadcasting only) - + Disabled Engellenmiş - + Enabled Etkinleştirildi - + Stereo Stereo - + Mono Mono - + To enable Realtime scheduling (currently disabled), see the %1. - + The %1 lists sound cards and controllers you may want to consider for using Mixxx. - + Mixxx DJ Hardware Guide - + Information - + Mixxx must be restarted before the multi-threaded RubberBand setting change will take effect. - + auto (<= 1024 frames/period) - + 2048 frames/period - + 4096 frames/period - + Are you sure? - + Distribute stereo channels into mono channels for parallel processing will result in a loss of mono compatibility and a diffuse stereo image. It is not recommended during broadcasting or recording. - + Are you sure you wish to proceed? - + No - + Yes, I know what I am doing - + Microphone inputs are out of time in the record & broadcast signal compared to what you hear. - + Measure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. - - + Refer to the Mixxx User Manual for details. - + Configured latency has changed. - + Remeasure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. - + Realtime scheduling is enabled. - + Main output only - + Main and booth outputs - + %1 ms %1 ms - + Configuration error @@ -7587,131 +7645,131 @@ The loudness target is approximate and assumes track pregain and main output lev - + Sample Rate - + Audio Buffer - + Engine Clock - + Use soundcard clock for live audience setups and lowest latency.<br>Use network clock for broadcasting without a live audience. - + Main Mix - + Main Output Mode - + Microphone Monitor Mode - + Microphone Latency Compensation - - - - + + + + ms milliseconds MS - + 20 ms 20 ms - + Buffer Underflow Count - + 0 0 - + Keylock/Pitch-Bending Engine - + Multi-Soundcard Synchronization - + Output Çıkış - + Input Giriş - + System Reported Latency - + Enlarge your audio buffer if the underflow counter is increasing or you hear pops during playback. - + Main Output Delay - + Headphone Output Delay - + Booth Output Delay - + Dual-threaded Stereo - + Hints and Diagnostics - + Downsize your audio buffer to improve Mixxx's responsiveness. - + Query Devices @@ -7866,27 +7924,28 @@ The loudness target is approximate and assumes track pregain and main output lev - - 1/3rd of waveform viewer + + 1/3 of waveform viewer + options for "Text height limit" - - Full waveform viewer height + + Entire waveform viewer - + OpenGL not available OpenGL mevcut değil - + dropped frames - + Cached waveforms occupy %1 MiB on disk. @@ -7899,250 +7958,256 @@ The loudness target is approximate and assumes track pregain and main output lev - + Frame rate - - Displays which OpenGL version is supported by the current platform. + + OpenGL Status - - Waveform + + Displays which OpenGL version is supported by the current platform. - + Normalize waveform overview - + Average frame rate - + Visual gain - + Default zoom level Waveform zoom - + Displays the actual frame rate. - + Visual gain of the middle frequencies - + End of track warning - - OpenGL status - - - - + This functionality requires waveform acceleration. - + Highlight the waveforms when the last seconds of a track remains. - + seconds - + Low Düşük - + Show minute markers on waveform overview - + Use acceleration - + High details - + Middle Orta - + Global Global - + Visual gain of the high frequencies - + Visual gain of the low frequencies - + High Yüksek - + Global visual gain - + The waveform overview shows the waveform envelope of the entire track. Select from different types of displays for the waveform overview, which differ primarily in the level of detail shown in the waveform. - + Enabled - + The waveform shows the waveform envelope of the track near the current playback position. Select from different types of displays for the waveform, which differ primarily in the level of detail shown in the waveform. - - Waveform overview type - - - - + fps - + Synchronize zoom level across all waveform displays. - + Synchronize zoom level across all waveforms - + Play marker hints - + Beats until next marker - + Preferred font size - + Text height limit - + Time until next marker - + Placement - + pt - + Caching - + Mixxx caches the waveforms of your tracks on disk the first time you load a track. This reduces CPU usage when you are playing live but requires extra disk space. - + Enable waveform caching - + Generate waveforms when analyzing library - + Beat grid opacity - + + Scrolling Waveforms + + + + + + Type + + + + Stereo coloration - + Set amount of opacity on beat grid lines. - + % % - + Play marker position - + Moves the play marker position on the waveforms to the left, right or center (default). - + + Overview Waveforms + + + + Clear Cached Waveforms @@ -8150,47 +8215,47 @@ Select from different types of displays for the waveform, which differ primarily DlgPreferences - + Sound Hardware - + Controllers Kontroller - + Library Kütüphane - + Interface - + Waveforms - + Mixer Karıştırıcı - + Auto DJ Otomatik DJ - + Decks - + Colors @@ -8225,47 +8290,47 @@ Select from different types of displays for the waveform, which differ primarily - + Effects Efektler - + Recording Kayıtlar - + Beat Detection - + Key Detection - + Normalization Normalleştirme - + <font color='#BB0000'><b>Some preferences pages have errors. To apply the changes please first fix the issues.</b></font> - + Vinyl Control Vinil Kontrolu - + Live Broadcasting Canlı yayın - + Modplug Decoder @@ -8298,22 +8363,22 @@ Select from different types of displays for the waveform, which differ primarily - + Start Recording Kayıda başla - + Recording to file: - + Stop Recording Kayıdı durdur - + %1 MiB written in %2 @@ -8621,284 +8686,284 @@ This can not be undone! Özet - + Filetype: Dosya türü: - + BPM: BPM: - + Location: Dizin: - + Bitrate: - + Comments Görüşler - + BPM BPM(Dakikalık Vuruş Sayısı) - + Sets the BPM to 75% of the current value. - + 3/4 BPM - + Sets the BPM to 50% of the current value. - + Displays the BPM of the selected track. - + Track # Parça # - + Album Artist Albüm Sanatçısı - + Composer Besteci - + Title Başlık - + Grouping Grupla - + Key Anahtar - + Year Yıl - + Artist Sanatçı - + Album Albüm - + Genre Tür - + ReplayGain: - + Sets the BPM to 200% of the current value. - + Double BPM BPM'i ikiye katla - + Halve BPM - + Clear BPM and Beatgrid BPM ve Beatgrid Temizle - + Move to the previous item. "Previous" button - + &Previous &önceki - + Move to the next item. "Next" button - + &Next &sonraki - + Duration: Süre: - + Import Metadata from MusicBrainz - + Re-Import Metadata from file - + Color Renk - + Date added: - + Open in File Browser Dosya Tarayıcıda Aç - + Samplerate: - + Track BPM: - + Converts beats detected by the analyzer into a fixed-tempo beatgrid. Use this setting if your tracks have a constant tempo (e.g. most electronic music). Often results in higher quality beatgrids, but will not do well on tracks that have tempo shifts. - + Assume constant tempo - + Sets the BPM to 66% of the current value. - + 2/3 BPM - + Sets the BPM to 150% of the current value. - + 3/2 BPM - + Sets the BPM to 133% of the current value. - + 4/3 BPM - + Tap with the beat to set the BPM to the speed you are tapping. - + Tap to Beat - + Hint: Use the Library Analyze view to run BPM detection. - + Save changes and close the window. "OK" button - + &OK - + Discard changes and close the window. "Cancel" button - + Save changes and keep the window open. "Apply" button - + &Apply &uygula - + &Cancel - + (no color) @@ -9055,7 +9120,7 @@ Often results in higher quality beatgrids, but will not do well on tracks that h - + (no color) @@ -9257,27 +9322,27 @@ Often results in higher quality beatgrids, but will not do well on tracks that h EngineBuffer - + Soundtouch (faster) - + Rubberband (better) - + Rubberband R3 (near-hi-fi quality) - + Unknown, using Rubberband (better) - + Unknown, using Soundtouch @@ -9421,38 +9486,38 @@ Often results in higher quality beatgrids, but will not do well on tracks that h ITunesFeature - - + + iTunes - + Select your iTunes library - + (loading) iTunes - + Use Default Library - + Choose Library... - + Error Loading iTunes Library - + There was an error loading your iTunes library. Check the logs for details. @@ -9460,12 +9525,12 @@ Often results in higher quality beatgrids, but will not do well on tracks that h LegacyControllerColorSetting - + Change color - + Choose a new color @@ -9473,18 +9538,18 @@ Often results in higher quality beatgrids, but will not do well on tracks that h LegacyControllerFileSetting - + Browse... - - + + No file selected - + Select a file @@ -9492,15 +9557,15 @@ Often results in higher quality beatgrids, but will not do well on tracks that h LegacySkinParser - - + + Safe Mode Enabled Shown when Mixxx is running in safe mode. - - + + No OpenGL support. Shown when Spinny can not be displayed. Please keep @@ -9511,57 +9576,57 @@ Shown when VuMeter can not be displayed. Please keep - + activate - + toggle - + right sağ - + left sol - + right small - + left small - + up yukarı - + down aşağı - + up small - + down small - + Shortcut Kısa yol @@ -9569,62 +9634,62 @@ Shown when VuMeter can not be displayed. Please keep Library - + This or a parent directory is already in your library. - + This or a listed directory does not exist or is inaccessible. Aborting the operation to avoid library inconsistencies - - + + This directory can not be read. - + An unknown error occurred. Aborting the operation to avoid library inconsistencies - + Can't add Directory to Library - + Could not add <b>%1</b> to your library. %2 - + Can't remove Directory from Library - + An unknown error occurred. - + This directory does not exist or is inaccessible. - + Relink Directory - + Could not relink <b>%1</b> to <b>%2</b>. %3 @@ -9634,22 +9699,22 @@ Aborting the operation to avoid library inconsistencies LibraryFeature - + Import Playlist Çalma listesini içe aktar - + Playlist Files (*.m3u *.m3u8 *.pls *.csv) Çalma Listesi Dosyaları (*.m3u *.m3u8 *.pls *.csv) - + Overwrite File? - + A playlist file with the name "%1" already exists. The default "m3u" extension was added because none was specified. @@ -9696,27 +9761,27 @@ Do you really want to overwrite it? MidiController - + MixxxControl(s) not found - + One or more MixxxControls specified in the outputs section of the loaded mapping were invalid. - + * Make sure the MixxxControls in question actually exist. Visit the manual for a complete list: - + Some LEDs or other feedback may not work correctly. - + * Check to see that the MixxxControl names are spelled correctly in the mapping file (.xml) @@ -9776,18 +9841,18 @@ Do you really want to overwrite it? MixxxLibraryFeature - + Missing Tracks Parça bulunamadı - + Hidden Tracks Saklı parçalar - Export to Engine Prime + Export to Engine DJ @@ -9799,208 +9864,249 @@ Do you really want to overwrite it? MixxxMainWindow - + Sound Device Busy - + <b>Retry</b> after closing the other application or reconnecting a sound device - - - + + + <b>Reconfigure</b> Mixxx's sound device settings. - - + + Get <b>Help</b> from the Mixxx Wiki. - - - + + + <b>Exit</b> Mixxx. - + Retry Tekrar dene - + skin - + Allow Mixxx to hide the menu bar? - + Hide Always show the menu bar? - + Always show - + The Mixxx menu bar is hidden and can be toggled with a single press of the <b>Alt</b> key.<br><br>Click <b>%1</b> to agree.<br><br>Click <b>%2</b> to disable that, for example if you don't use Mixxx with a keyboard.<br><br>You can change this setting any time in Preferences -> Interface.<br> Keep formatting tags <b> (bold text) and <br> (linebreak). %1 is the placeholder for the 'Always show' button label - + Ask me again - - + + Reconfigure - + Help Yardım - - + + Exit Çıkış - - + + Mixxx was unable to open all the configured sound devices. - + Sound Device Error - + <b>Retry</b> after fixing an issue - + No Output Devices - + Mixxx was configured without any output sound devices. Audio processing will be disabled without a configured output device. - + <b>Continue</b> without any outputs. - + Continue - + Load track to Deck %1 - + Deck %1 is currently playing a track. - + Are you sure you want to load a new track? Yeni bir parça yüklemek istediğinize eminmisiniz? - + There is no input device selected for this vinyl control. Please select an input device in the sound hardware preferences first. - + There is no input device selected for this passthrough control. Please select an input device in the sound hardware preferences first. - + There is no input device selected for this microphone. Do you want to select an input device? - + There is no input device selected for this auxiliary. Do you want to select an input device? - + + Scan took %1 + + + + + No changes detected. + + + + + + %1 tracks in total + + + + + %1 new tracks found + + + + + %1 moved tracks detected + + + + + %1 tracks are missing (%2 total) + + + + + %1 tracks have been rediscovered + + + + + Library scan finished + + + + Error in skin file - + The selected skin cannot be loaded. - + OpenGL Direct Rendering - + Direct rendering is not enabled on your machine.<br><br>This means that the waveform displays will be very<br><b>slow and may tax your CPU heavily</b>. Either update your<br>configuration to enable direct rendering, or disable<br>the waveform displays in the Mixxx preferences by selecting<br>"Empty" as the waveform display in the 'Interface' section. - - - + + + Confirm Exit - + A deck is currently playing. Exit Mixxx? - + A sampler is currently playing. Exit Mixxx? - + The preferences window is still open. - + Discard any changes and exit Mixxx? @@ -10016,13 +10122,13 @@ Do you want to select an input device? PlaylistFeature - + Lock Kilitle - - + + Playlists Çalma Listeleri @@ -10032,32 +10138,58 @@ Do you want to select an input device? - + + Unlock all playlists + + + + + Delete all unlocked playlists + + + + Unlock Kilidi Kaldır - + + + Confirm Deletion + + + + + Do you really want to delete all unlocked playlists? + + + + + Deleting %1 unlocked playlists.<br>This operation can not be undone! + + + + Playlists are ordered lists of tracks that allow you to plan your DJ sets. - + It may be necessary to skip some tracks in your prepared playlist or add some different tracks in order to maintain the energy of your audience. - + Some DJs construct playlists before they perform live, but others prefer to build them on-the-fly. - + When using a playlist during a live DJ set, remember to always pay close attention to how your audience reacts to the music you've chosen to play. - + Create New Playlist Yeni çalma listesi oluştur @@ -11548,7 +11680,7 @@ Fully right: end of the effect period - + Deck %1 Dek %1 @@ -11681,7 +11813,7 @@ Hint: compensates "chipmunk" or "growling" voices - + Passthrough @@ -11712,7 +11844,7 @@ Hint: compensates "chipmunk" or "growling" voices - + Sampler %1 @@ -11845,12 +11977,12 @@ may introduce a 'pumping' effect and/or distortion. - + built-in - + missing @@ -11885,42 +12017,42 @@ may introduce a 'pumping' effect and/or distortion. - + Empty - + Simple - + Filtered - + HSV - + VSyncTest - + RGB - + Stacked - + Unknown @@ -11978,54 +12110,54 @@ may introduce a 'pumping' effect and/or distortion. RekordboxFeature - - - + + + Rekordbox - + Playlists Çalma Listeleri - + Folders - + Reads databases exported for Pioneer CDJ / XDJ players using the Rekordbox Export mode.<br/>Rekordbox can only export to USB or SD devices with a FAT or HFS file system.<br/>Mixxx can read a database from any device that contains the database folders (<tt>PIONEER</tt> and <tt>Contents</tt>).<br/>Not supported are Rekordbox databases that have been moved to an external device via<br/><i>Preferences > Advanced > Database management</i>.<br/><br/>The following data is read: - + Hot cues - + Loops (only the first loop is currently usable in Mixxx) - + Check for attached Rekordbox USB / SD devices (refresh) - + Beatgrids - + Memory cues - + (loading) Rekordbox @@ -12160,19 +12292,19 @@ may introduce a 'pumping' effect and/or distortion. Kilitle - - + + Confirm Deletion - + Do you really want to delete all unlocked playlist from <b>%1</b>?<br><br> %1 is the year <b> + </b> are used to make the text in between bold in the popup <br> is a linebreak - + Deleting %1 playlists from <b>%2</b>.<br><br> %1 is the number of playlists to be deleted %2 is the year <b> + </b> are used to make the text in between bold in the popup <br> is a linebreak @@ -12584,7 +12716,7 @@ may introduce a 'pumping' effect and/or distortion. - + Spinning Vinyl @@ -12766,7 +12898,7 @@ may introduce a 'pumping' effect and/or distortion. - + Cover Art Albüm kapak resim @@ -13002,197 +13134,197 @@ may introduce a 'pumping' effect and/or distortion. - + Adjust Beats Earlier - + When tapped, moves the beatgrid left by a small amount. - + Adjust Beats Later - + When tapped, moves the beatgrid right by a small amount. - + Tempo and BPM Tap - + Show/hide the spinning vinyl section. - + Keylock - + Toggling keylock during playback may result in a momentary audio glitch. - + Toggle visibility of Loop Controls - + Toggle visibility of Beatjump Controls - + Toggle visibility of Rate Control - + Toggle visibility of Key Controls - + (while previewing) - + Places a cue point at the current position on the waveform. - + Stops track at cue point, OR go to cue point and play after release (CUP mode). - + Set cue point (Pioneer/Mixxx/Numark mode), set cue point and play after release (CUP mode) OR preview from it (Denon mode). - + Is latching the playing state. - + Seeks the track to the cue point and stops. - + Play Çal - + Plays track from the cue point. - + Sends the selected channel's audio to the headphone output, selected in Preferences -> Sound Hardware. - + (This skin should be updated to use Sync Lock!) - + Enable Sync Lock - + Tap to sync the tempo to other playing tracks or the sync leader. - + Enable Sync Leader - + When enabled, this device will serve as the sync leader for all other decks. - + This is relevant when a dynamic tempo track is loaded to a sync leader deck.In that case, other synced devices will adopt the changing tempo. - + Changes the track playback speed (affects both the tempo and the pitch). If keylock is enabled, only the tempo is affected. - + Tempo Range Display - + Displays the current range of the tempo slider. - + Un-ejects when no track is loaded, i.e. reloads the track that was ejected last (of any deck). - + Delete selected hotcue. - + Track Comment - + Displays the comment tag of the loaded track. - + Opens separate artwork viewer. - + Effect Chain Preset Settings - + Show the effect chain settings menu for this unit. - + Select and configure a hardware device for this input - + Recording Duration @@ -13430,924 +13562,932 @@ may introduce a 'pumping' effect and/or distortion. - + + Adjust beatgrid by exactly one half beat. Usable only on +tracks with constant tempo. + + + + Revert last BPM/Beatgrid Change - + Revert last BPM/Beatgrid Change of the loaded track. - - + + Toggle the BPM/beatgrid lock - + Tempo and Rate Tap - + Tempo, Rate Tap and BPM Tap - + Shift cues earlier - - + + Shift cues imported from Serato or Rekordbox if they are slightly off time. - + Left click: shift 10 milliseconds earlier - + Right click: shift 1 millisecond earlier - + Shift cues later - + Left click: shift 10 milliseconds later - + Right click: shift 1 millisecond later - + + + + Drag a Hotcue button here to continue playing after releasing the Hotcue. + + + + Hint: Change the default cue mode in Preferences -> Decks. - + Mutes the selected channel's audio in the main output. - + Main mix enable - + Hold or short click for latching to mix this input into the main output. - + If hotcue is a loop cue, toggles the loop and jumps to if the loop is behind the play position. - + If the play position is inside an active loop, stores the loop as loop cue. - + Drag this button onto another Hotcue button to move it there (change its index). If the other hotcue is set, the two are swapped. - - Dragging with Shift key pressed will not start previewing the hotcue - - - - + Expand/Collapse Samplers - + Toggle expanded samplers view. - + Displays the duration of the running recording. - + Auto DJ is active - + Red for when needle skip has been detected. - + Hot Cue - Track will seek to nearest previous hotcue point. - + Sets the track Loop-In Marker to the current play position. - + Press and hold to move Loop-In Marker. - + Jump to Loop-In Marker. - + Sets the track Loop-Out Marker to the current play position. - + Press and hold to move Loop-Out Marker. - + Jump to Loop-Out Marker. - + If the track has no beats the unit is seconds. - + Beatloop Size - + Select the size of the loop in beats to set with the Beatloop button. - + Changing this resizes the loop if the loop already matches this size. - + Halve the size of an existing beatloop, or halve the size of the next beatloop set with the Beatloop button. - + Double the size of an existing beatloop, or double the size of the next beatloop set with the Beatloop button. - + Start a loop over the set number of beats. - + Temporarily enable a rolling loop over the set number of beats. - + Beatloop Anchor - + Define whether the loop is created and adjusted from its staring point or ending point. - + Beatjump/Loop Move Size - + Select the number of beats to jump or move the loop with the Beatjump Forward/Backward buttons. - + Beatjump Forward - + Jump forward by the set number of beats. - + Move the loop forward by the set number of beats. - + Jump forward by 1 beat. - + Move the loop forward by 1 beat. - + Beatjump Backward - + Jump backward by the set number of beats. - + Move the loop backward by the set number of beats. - + Jump backward by 1 beat. - + Move the loop backward by 1 beat. - + Reloop - + If the loop is ahead of the current position, looping will start when the loop is reached. - + Works only if Loop-In and Loop-Out Marker are set. - + Enable loop, jump to Loop-In Marker, and stop playback. - + Displays the elapsed and/or remaining time of the track loaded. - + Click to toggle between time elapsed/remaining time/both. - + Hint: Change the time format in Preferences -> Decks. - + Show/hide intro & outro markers and associated buttons. - + Intro Start Marker - - - - + + + + If marker is set, jumps to the marker. - - - - + + + + If marker is not set, sets the marker to the current play position. - - - - + + + + If marker is set, clears the marker. - + Intro End Marker - + Outro Start Marker - + Outro End Marker - + Mix - + Adjust the mixing of the dry (input) signal with the wet (output) signal of the effect unit - + D/W mode: Crossfade between dry and wet - + D+W mode: Add wet to dry - + Mix Mode - + Adjust how the dry (input) signal is mixed with the wet (output) signal of the effect unit - + Dry/Wet mode (crossed lines): Mix knob crossfades between dry and wet Use this to change the sound of the track with EQ and filter effects. - + Dry+Wet mode (flat dry line): Mix knob adds wet to dry Use this to change only the effected (wet) signal with EQ and filter effects. - + Route the main mix through this effect unit. - + Route the left crossfader bus through this effect unit. - + Route the right crossfader bus through this effect unit. - + Right side active: parameter moves with right half of Meta Knob turn - + Stem Label - + Name of the stem stored in the stem file - + Text is displayed in the stem color stored in the stem file - + this stem color is also used for the waveform of this stem - + Stem Mute - + Toggle the stem mute/unmuted - + Stem Volume Knob - + Adjusts the volume of the stem - + Skin Settings Menu - + Show/hide skin settings menu - + Save Sampler Bank - + Save the collection of samples loaded in the samplers. - + Load Sampler Bank - + Load a previously saved collection of samples into the samplers. - + Show Effect Parameters - + Enable Effect - + Meta Knob Link - + Set how this parameter is linked to the effect's Meta Knob. - + Meta Knob Link Inversion - + Inverts the direction this parameter moves when turning the effect's Meta Knob. - + Super Knob - + Next Chain Sonraki zincir - + Previous Chain - + Next/Previous Chain - + Clear Temizle - + Clear the current effect. - + Toggle - + Toggle the current effect. - + Next Sonraki - + Clear Unit Birimi Temizle - + Clear effect unit. - + Show/hide parameters for effects in this unit. - + Toggle Unit - + Enable or disable this whole effect unit. - + Controls the Meta Knob of all effects in this unit together. - + Load next effect chain preset into this effect unit. - + Load previous effect chain preset into this effect unit. - + Load next or previous effect chain preset into this effect unit. - - - - - - - - - + + + + + + + + + Assign Effect Unit - + Assign this effect unit to the channel output. - + Route the headphone channel through this effect unit. - + Route this deck through the indicated effect unit. - + Route this sampler through the indicated effect unit. - + Route this microphone through the indicated effect unit. - + Route this auxiliary input through the indicated effect unit. - + The effect unit must also be assigned to a deck or other sound source to hear the effect. - + Switch to the next effect. - + Previous Önceki - + Switch to the previous effect. - + Next or Previous - + Switch to either the next or previous effect. - + Meta Knob - + Controls linked parameters of this effect - + Effect Focus Button - + Focuses this effect. - + Unfocuses this effect. - + Refer to the web page on the Mixxx wiki for your controller for more information. - + Effect Parameter - + Adjusts a parameter of the effect. - + Inactive: parameter not linked - + Active: parameter moves with Meta Knob - + Left side active: parameter moves with left half of Meta Knob turn - + Left and right side active: parameter moves across range with half of Meta Knob turn and back with the other half - - + + Equalizer Parameter Kill - - + + Holds the gain of the EQ to zero while active. - + Quick Effect Super Knob - + Quick Effect Super Knob (control linked effect parameters). - + Hint: Change the default Quick Effect mode in Preferences -> Equalizers. - + Equalizer Parameter - + Adjusts the gain of the EQ filter. - + Hint: Change the default EQ mode in Preferences -> Equalizers. - - + + Adjust Beatgrid Beatgrid'i ayarlayın - + Adjust beatgrid so the closest beat is aligned with the current play position. - - + + Adjust beatgrid to match another playing deck. - + If quantize is enabled, snaps to the nearest beat. - + Quantize - + Toggles quantization. - + Loops and cues snap to the nearest beat when quantization is enabled. - + Reverse Tersine çal - + Reverses track playback during regular playback. Normal çalma esnasında parçayı tersine çalar. - + Puts a track into reverse while being held (Censor). - + Playback continues where the track would have been if it had not been temporarily reversed. - - - + + + Play/Pause Çal/Duraklat - + Jumps to the beginning of the track. Parçanın başına atlar. - + Syncs the tempo (BPM) and phase to that of the other track, if BPM is detected on both. - + Syncs the tempo (BPM) to that of the other track, if BPM is detected on both. - + Sync and Reset Key - + Increases the pitch by one semitone. - + Decreases the pitch by one semitone. - + Enable Vinyl Control - + When disabled, the track is controlled by Mixxx playback controls. - + When enabled, the track responds to external vinyl control. - + Enable Passthrough - + Indicates that the audio buffer is too small to do all audio processing. - + Displays cover artwork of the loaded track. - + Displays options for editing cover artwork. - + Star Rating - + Assign ratings to individual tracks by clicking the stars. @@ -14482,33 +14622,33 @@ Use this to change only the effected (wet) signal with EQ and filter effects. - + Prevents the pitch from changing when the rate changes. - + Changes the number of hotcue buttons displayed in the deck - + Starts playing from the beginning of the track. Parçanın başından çalmayı başlatır. - + Jumps to the beginning of the track and stops. Parçanın başına atlar ve durdurur. - - + + Plays or pauses the track. Parçayı başlatır veya duraklatır. - + (while playing) (çalma anında) @@ -14528,205 +14668,215 @@ Use this to change only the effected (wet) signal with EQ and filter effects. - + (while stopped) (durma anında) - + Cue Başlangıç noktası - + Headphone Kulaklık - + Mute Ses kapatma - + Old Synchronize - + Syncs to the first deck (in numerical order) that is playing a track and has a BPM. - + If no deck is playing, syncs to the first deck that has a BPM. - + Decks can't sync to samplers and samplers can only sync to decks. - + Hold for at least a second to enable sync lock for this deck. - + Decks with sync locked will all play at the same tempo, and decks that also have quantize enabled will always have their beats lined up. - + Resets the key to the original track key. - + Speed Control Hız kontrolü - - - + + + Changes the track pitch independent of the tempo. - + Increases the pitch by 10 cents. - + Decreases the pitch by 10 cents. - + Pitch Adjust - + Adjust the pitch in addition to the speed slider pitch. - + Opens a menu to clear hotcues or edit their labels and colors. - + + Drag this button onto a Play button while previewing to continue playback after release. + + + + + Dragging with Shift key pressed will not start previewing the hotcue. + + + + Record Mix Mix kaydet - + Toggle mix recording. - + Enable Live Broadcasting - + Stream your mix over the Internet. - + Provides visual feedback for Live Broadcasting status: - + disabled, connecting, connected, failure. - + When enabled, the deck directly plays the audio arriving on the vinyl input. - + Playback will resume where the track would have been if it had not entered the loop. - + Loop Exit Döngüden Çık - + Turns the current loop off. - + Slip Mode Uyku Modu - + When active, the playback continues muted in the background during a loop, reverse, scratch etc. - + Once disabled, the audible playback will resume where the track would have been. - + Track Key The musical key of a track - + Displays the musical key of the loaded track. - + Clock Saat - + Displays the current time. - + Audio Latency Usage Meter - + Displays the fraction of latency used for audio processing. - + A high value indicates that audible glitches are likely. - + Do not enable keylock, effects or additional decks in this situation. - + Audio Latency Overload Indicator @@ -14771,254 +14921,254 @@ Use this to change only the effected (wet) signal with EQ and filter effects. - + Fast Rewind Hızlı geri al - + Fast rewind through the track. Parçayı hızlı geri sar - + Fast Forward Hızlı ileri al - + Fast forward through the track. Parçayı hızlı ileri sar - + Jumps to the end of the track. Parçanın sonuna atlar - + Sets the pitch to a key that allows a harmonic transition from the other track. Requires a detected key on both involved decks. - - - + + + Pitch Control - + Pitch Rate - + Displays the current playback rate of the track. - + Repeat Tekrarla - + When active the track will repeat if you go past the end or reverse before the start. - + Eject Çıkar - + Ejects track from the player. Parçayı oynatıcıdan çıkarın. - + Hotcue - + If hotcue is set, jumps to the hotcue. - + If hotcue is not set, sets the hotcue to the current play position. - + Vinyl Control Mode - + Absolute mode - track position equals needle position and speed. - + Relative mode - track speed equals needle speed regardless of needle position. - + Constant mode - track speed equals last known-steady speed regardless of needle input. - + Vinyl Status - + Provides visual feedback for vinyl control status: - + Green for control enabled. - + Blinking yellow for when the needle reaches the end of the record. - + Loop-In Marker - + Loop-Out Marker - + Loop Halve Yarı Döngü - + Halves the current loop's length by moving the end marker. - + Deck immediately loops if past the new endpoint. - + Loop Double Çift Döngü - + Doubles the current loop's length by moving the end marker. - + Beatloop - + Toggles the current loop on or off. - + Works only if Loop-In and Loop-Out marker are set. - + Vinyl Cueing Mode - + Determines how cue points are treated in vinyl control Relative mode: - + Off - Cue points ignored. - + One Cue - If needle is dropped after the cue point, track will seek to that cue point. - + Track Time - + Track Duration - + Displays the duration of the loaded track. - + Information is loaded from the track's metadata tags. - + Track Artist - + Displays the artist of the loaded track. - + Track Title - + Displays the title of the loaded track. - + Track Album Albüm - + Displays the album name of the loaded track. - + Track Artist/Title - + Displays the artist and title of the loaded track. @@ -15026,12 +15176,12 @@ Use this to change only the effected (wet) signal with EQ and filter effects. TrackCollection - + Hiding tracks - + The selected tracks are in the following playlists:%1Hiding them will remove them from these playlists. Continue? @@ -15039,47 +15189,42 @@ Use this to change only the effected (wet) signal with EQ and filter effects. TrackExportDlg - + Export finished - + Exporting %1 - - - Overwrite Existing File? - - - "%1" already exists, overwrite? + Replace Existing File? - - &Overwrite + + "%1" already exists, replace? - - Over&write All + + &Replace - - &Skip + + Apply to all files - Skip &All + &Skip - + Export Error @@ -15251,47 +15396,47 @@ This can not be undone! WCueMenuPopup - + Cue number - + Cue position - + Edit cue label - + Label... - + Delete this cue - + Toggle this cue type between normal cue and saved loop - + Left-click: Use the old size or the current beatloop size as the loop size - + Right-click: Use the current play position as loop end if it is after the cue - + Hotcue #%1 @@ -15415,407 +15560,438 @@ This can not be undone! - - E&xport Library to Engine Prime + + Search in Current View... + + + + + Search for tracks in the current library view - - Export the library to the Engine Prime format + + Ctrl+f - + + Search in Tracks Library... + + + + + Search in the internal track collection under "Tracks" in the library + + + + + Ctrl+Shift+F + + + + Create &New Playlist - + Create a new playlist - + Ctrl+n - + Create New &Crate - + Create a new crate - + Ctrl+Shift+N - - + + &View &Görünüm - + Auto-hide menu bar - + Auto-hide the main menu bar when it's not used. - + May not be supported on all skins. - + Show Skin Settings Menu - + Show the Skin Settings Menu of the currently selected Skin - + Ctrl+1 Menubar|View|Show Skin Settings Ctrl +1 - + Show Microphone Section - + Show the microphone section of the Mixxx interface. - + Ctrl+2 Menubar|View|Show Microphone Section Ctrl +2 - + Show Vinyl Control Section - + Show the vinyl control section of the Mixxx interface. - + Ctrl+3 Menubar|View|Show Vinyl Control Section Ctrl +3 - + Show Preview Deck - + Show the preview deck in the Mixxx interface. - + Ctrl+4 Menubar|View|Show Preview Deck Ctrl +4 - + Show Cover Art Kapak remini göster - + Show cover art in the Mixxx interface. - + Ctrl+6 Menubar|View|Show Cover Art - + Maximize Library - + Maximize the track library to take up all the available screen space. - + Space Menubar|View|Maximize Library - + &Full Screen &Tam ekran - + Display Mixxx using the full screen - + &Options &Seçenekler - + &Vinyl Control - + Use timecoded vinyls on external turntables to control Mixxx - + Enable Vinyl Control &%1 - + &Record Mix &Mix kaydet - + Record your mix to a file - + Ctrl+R Ctrl +R - + Enable Live &Broadcasting &Canlı Yayın'ı aç - + Stream your mixes to a shoutcast or icecast server - + Ctrl+L Ctrl+L - + Enable &Keyboard Shortcuts &Klavye kısayollarını aç - + Toggles keyboard shortcuts on or off - + Ctrl+` Ctrl+` - + &Preferences &Tercihler - + Change Mixxx settings (e.g. playback, MIDI, controls) - + &Developer &Geliştirici - + &Reload Skin &Kaplamayı yeniden yükle - + Reload the skin Kaplamayı yeniden yükle - + Ctrl+Shift+R Ctrl+Shift+R - + Developer &Tools - + Opens the developer tools dialog - + Ctrl+Shift+T Ctrl+Shift+T - + Stats: &Experiment Bucket - + Enables experiment mode. Collects stats in the EXPERIMENT tracking bucket. - + Ctrl+Shift+E Ctrl+Shift+E - + Stats: &Base Bucket - + Enables base mode. Collects stats in the BASE tracking bucket. - + Ctrl+Shift+B Ctrl+Shift+B - + Deb&ugger Enabled - + Enables the debugger during skin parsing - + Ctrl+Shift+D Ctrl+Shift+D - + &Help &Yardım - + Show Keywheel menu title - + + E&xport Library to Engine DJ + "Engine DJ" must not be translated + + + + + Export the library to the Engine DJ format + + + + Show keywheel tooltip text - + F12 Menubar|View|Show Keywheel - + &Community Support &Topluluk Desteği - + Get help with Mixxx Mixxx'ten yardım alın. - + &User Manual &Kullanım Kılavuzu - + Read the Mixxx user manual. Mixxx kullanım kılavuzunu okuyun. - + &Keyboard Shortcuts &Klavye kısayolları - + Speed up your workflow with keyboard shortcuts. - + &Settings directory - + Open the Mixxx user settings directory. - + &Translate This Application &Bu uygulamayı çevir - + Help translate this application into your language. Bu uygulamayı kendi dilinize çevirmeye yardımcı olun. - + &About &Hakkında - + About the application Uygulama Hakkında @@ -15823,25 +15999,25 @@ This can not be undone! WOverview - + Passthrough - + Ready to play, analyzing... Text on waveform overview when file is playable but no waveform is visible - - + + Loading track... Text on waveform overview when file is cached from source - + Finalizing... Text on waveform overview during finalizing of waveform analysis @@ -15850,25 +16026,13 @@ This can not be undone! WSearchLineEdit - - Clear input - Clear the search bar input field - Girişi temizle - - - - Ctrl+F - Search|Focus - Ctrl+F - - - + Search noun Arama - + Clear input Girişi temizle @@ -15879,169 +16043,163 @@ This can not be undone! Ara... - + Clear the search bar input field - - Enter a string to search for + + Return - - Use operators like bpm:115-128, artist:BooFar, -year:1990 + + Enter a string to search for. - - For more information see User Manual > Mixxx Library + + Use operators like bpm:115-128, artist:BooFar, -year:1990. - Shortcut - Kısa yol + See User Manual > Mixxx Library for more information. + - - Ctrl+F - Ctrl+F + + Focus/Select All (Search in current view) + Give search bar input focus + - - Focus - Give search bar input focus - Odak + + Focus/Select All (Search in 'Tracks' library view) + - - - Ctrl+Backspace - Ctrl+Backspace + + Additional Shortcuts When Focused: + - Shortcuts + Trigger search before search-as-you-type timeout or focus tracks view afterwards - Return + Esc or Ctrl+Return - Trigger search before search-as-you-type timeout orjump to tracks view afterwards + Immediately trigger search and focus tracks view + Exit search bar and leave focus - + Ctrl+Space - + Toggle search history Shows/hides the search history entries - + Delete or Backspace - - Delete query from history + + in search history - - Esc - Esc - - - - Exit search - Exit search bar and leave focus - Aramayı kapat + + Delete query from history + WSearchRelatedTracksMenu - + Search related Tracks - + Key Anahtar - + harmonic with %1 - + BPM BPM(Dakikalık Vuruş Sayısı) - + between %1 and %2 - + Artist Sanatçı - + Album Artist Albüm Sanatçısı - + Composer Besteci - + Title Başlık - + Album Albüm - + Grouping Grupla - + Year Yıl - + Genre Tür - + Directory - + &Search selected @@ -16049,599 +16207,625 @@ This can not be undone! WTrackMenu - + Load to - + Deck - + Sampler - + Add to Playlist Çalma Listesine Ekle - + Crates Kutular - + Metadata - + Update external collections - + Cover Art Albüm kapak resim - + Adjust BPM - + Select Color - - + + Analyze Analiz et - - + + Delete Track Files - + Add to Auto DJ Queue (bottom) Otomatik DJ kuyruğuna ekle (alta) - + Add to Auto DJ Queue (top) Otomatik DJ kuyruğuna ekle (üste) - + Add to Auto DJ Queue (replace) Otomatik DJ Kuyruğuna Ekle (değiştir) - + Preview Deck - + Remove Kaldır - + Remove from Playlist - + Remove from Crate - + Hide from Library Kütüphane'den gizle - + Unhide from Library Kütüphane'de göster - + Purge from Library Kütüphane'den kaldır - + Move Track File(s) to Trash - + Delete Files from Disk - + Properties Özellikler - + Open in File Browser Dosya Tarayıcıda Aç - + Select in Library - + Import From File Tags - + Import From MusicBrainz - + Export To File Tags - + BPM and Beatgrid - + Play Count - + Rating Derecelendirme - + Cue Point - + + Hotcues Önemli işaretler - + Intro - + Outro - + Key Anahtar - + ReplayGain Yeniden kazan - + Waveform - + Comment Yorum - + All Hepsi - + + Sort hotcues by position (remove offsets) + + + + + Sort hotcues by position + + + + Lock BPM BPM'yi Kilitle - + Unlock BPM BPM Kilidini Aç - + Double BPM BPM'i ikiye katla - + Halve BPM - + 2/3 BPM - + 3/4 BPM - + 4/3 BPM - + 3/2 BPM - + + Shift Beatgrid Half Beat + + + + Reanalyze - + Reanalyze (constant BPM) - + Reanalyze (variable BPM) - + Update ReplayGain from Deck Gain - + Deck %1 Dek %1 - + Importing metadata of %n track(s) from file tags - + Marking metadata of %n track(s) to be exported into file tags - - + + Create New Playlist Yeni çalma listesi oluştur - + Enter name for new playlist: Yeni çalma listesini adlandır - + New Playlist Yeni çalma listesi - - - + + + Playlist Creation Failed Çalma Listesi Oluşturulamadı - + A playlist by that name already exists. Bu isimde bir çalma listesi zaten var. - + A playlist cannot have a blank name. Liste ismi boş bırakılamaz - + An unknown error occurred while creating playlist: Çalma listesi oluşturulurken bilinmeyen bir hata oluştu: - + Add to New Crate - + Scaling BPM of %n track(s) - + Undo BPM/beats change of %n track(s) - + Locking BPM of %n track(s) - + Unlocking BPM of %n track(s) - + Setting rating of %n track(s) - + Setting color of %n track(s) - + Resetting play count of %n track(s) - + Resetting beats of %n track(s) - + Clearing rating of %n track(s) - + Clearing comment of %n track(s) - + Removing main cue from %n track(s) - + Removing outro cue from %n track(s) - + Removing intro cue from %n track(s) - + Removing loop cues from %n track(s) - + Removing hot cues from %n track(s) - + + Sorting hotcues of %n track(s) by position (remove offsets) + + + + + Sorting hotcues of %n track(s) by position + + + + Resetting keys of %n track(s) - + Resetting replay gain of %n track(s) - + Resetting waveform of %n track(s) - + Resetting all performance metadata of %n track(s) - + Move these files to the trash bin? - + Permanently delete these files from disk? - - + + This can not be undone! - + Cancel Vazgeç - + Delete Files - + Okay - + Move Track File(s) to Trash? - + Track Files Deleted - + Track Files Moved To Trash - + %1 track files were moved to trash and purged from the Mixxx database. - + %1 track files were deleted from disk and purged from the Mixxx database. - + Track File Deleted - + Track file was deleted from disk and purged from the Mixxx database. - + The following %1 file(s) could not be deleted from disk - + This track file could not be deleted from disk - + Remaining Track File(s) - + Close Kapat - + Clear Reset metadata in right click track context menu in library - + Loops - + Clear BPM and Beatgrid - + Undo last BPM/beats change - + Move this track file to the trash bin? - + Permanently delete this track file from disk? - + All decks where these tracks are loaded will be stopped and the tracks will be ejected. - + All decks where this track is loaded will be stopped and the track will be ejected. - + Removing %n track file(s) from disk... - + Note: if you are in the Computer or Recording view you need to click the current view again to see changes. - + Track File Moved To Trash - + Track file was moved to trash and purged from the Mixxx database. - + Don't show again during this session - + The following %1 file(s) could not be moved to trash - + This track file could not be moved to trash - + Setting cover art of %n track(s) - + Reloading cover art of %n track(s) @@ -16657,37 +16841,37 @@ This can not be undone! WTrackStemMenu - + Load for stem mixing - + Load pre-mixed stereo track - + Load the "%1" stem - + Load multiple stem into a stereo deck - + Select stems to load - + Release "CTRL" to load the current selection - + Use "CTRL" to select multiple stems @@ -16695,37 +16879,37 @@ This can not be undone! WTrackTableView - + Confirm track hide - + Are you sure you want to hide the selected tracks? - + Are you sure you want to remove the selected tracks from AutoDJ queue? - + Are you sure you want to remove the selected tracks from this crate? - + Are you sure you want to remove the selected tracks from this playlist? - + Don't ask again during this session - + Confirm track removal @@ -16733,60 +16917,65 @@ This can not be undone! WTrackTableViewHeader - + Show or hide columns. Sütunları göster/gizle + + + Shuffle Tracks + + mixxx::CoreServices - + fonts - + database - + effects - + audio interface - + decks - + library - + Choose music library directory - + controllers - + Cannot open database Veritabanı açılamadı - + Unable to establish a database connection. Mixxx requires QT with SQLite support. Please read the Qt SQL driver documentation for information on how to build it. @@ -16800,67 +16989,78 @@ Mixxx SQLite desteği ile QT gerektirir. Nasıl kurulacağını öğrenmek için mixxx::DlgLibraryExport - + Entire music library - - Selected crates + + Crates + + + + + Playlists + + + + + Selected crates/playlists - + Browse Gözat - + Export directory - + Database version - + Export - + Cancel Vazgeç - - Export Library to Engine Prime + + Export Library to Engine DJ + "Engine DJ" must not be translated - + Export Library To - + No Export Directory Chosen - + No export directory was chosen. Please choose a directory in order to export the music library. - + A database already exists in the chosen directory. Exported tracks will be added into this database. - + A database already exists in the chosen directory, but there was a problem loading it. Export is not guaranteed to succeed in this situation. @@ -16881,7 +17081,7 @@ Mixxx SQLite desteği ile QT gerektirir. Nasıl kurulacağını öğrenmek için mixxx::EnginePrimeExportJob - + Failed to export track %1 - %2: %3 %1 is the artist %2 is the title and %3 is the original error message @@ -16891,23 +17091,23 @@ Mixxx SQLite desteği ile QT gerektirir. Nasıl kurulacağını öğrenmek için mixxx::LibraryExporter - + Export Completed - - Exported %1 track(s) and %2 crate(s). + + Exported %1 track(s), %2 crate(s), and %3 playlist(s). - + Export Failed - - Exporting to Engine Prime... + + Exporting to Engine DJ... diff --git a/res/translations/mixxx_uk.qm b/res/translations/mixxx_uk.qm index 0dcb7dafbef65a12a832a7ce7dc797c79ce7f938..994346417e5fadf9f63075b1ae75e9233c8dc521 100644 GIT binary patch delta 376 zcmWN~JxCh?7zW_)-dw%>_F@PKnx;d`K`8_T|8U4;1&gF8B88R=MS`Vb7Z*_kQJf?s zzP2?G6+!4=AwPFHlQT_F=n%-5LhEdoE)E4pX{KjqxduXEeh)< z+cCVQ-y$4I71j+;+uKnxo~iQGU!NHK)IbJ`wr2 zue?566}d>8kq46ssv$1)q)<$=-D89*_v*n^U8HfR=9WKoEmPGD*k3uM#nBw+N*60b zOFKgCFX!9_oJU-DN8!ve-=(_4x_chwJ%&9glzd$GBybUC$CC`5Z)(r3FGY++?fFhj zq#ogfH;w8KcD!*^t{C>kP;kr%pP`_X;gUZEtB)Oj0`@SU22!Z4aW@c$dB}F4ftsJY z4;!#Qa9ZDh{fljV1ZF?gU=q$3E(AAF@$)9Q8u|RP+Z|}SGpdSc@AOt;OXQWj7in&r Qo4w5f|6GolM_0%Ce+{;WT>t<8 delta 669 zcma)&UuaTs6vxj!SG{_>rjsB-8AT?9VI}m3*d#QiLIyF}g2r0tL_rkPL5sCo4?z)@ zoCPi{7!86HoZh?Z-)%~R2@fi0 zOP7c9U7nv&=WbmGXkJz43UL6_+b+#_yS$lKKXxnqdXW~iLnzj0Qya$0Q3~k>_|_@S zqpu$22i8f_jhbrDxP$LH0JaEczwH26c9WIQVErRWybI+Iw81-Y@v>;$VPmi&lV1qq zQa?$;09G%NN*~6?JjL`blwMF#zk&@X#dfY>HA{yK(^&mMMZ}hB9y7L|llkQl@lMbE(hcxH8j=tLJNUGql;-#Gq?0kbk5jIO;lc4M z$za4EjgNan(KN#IFa5?xwY9JC9nIdOo=BtHN!7kXx1A5 diff --git a/res/translations/mixxx_uk.ts b/res/translations/mixxx_uk.ts index ada9c4306e00..5ba30009eb07 100644 --- a/res/translations/mixxx_uk.ts +++ b/res/translations/mixxx_uk.ts @@ -39,32 +39,32 @@ - + Remove Crate as Track Source - + Auto DJ Авто-DJ - + Confirmation Clear - + Do you really want to remove all tracks from the Auto DJ queue? - + This can not be undone. - + Add Crate as Track Source @@ -147,28 +147,28 @@ BasePlaylistFeature - + New Playlist Новий Плейлист - + Add to Auto DJ Queue (bottom) Додати до черги Авто-DJ (знизу) - + Create New Playlist Створити новий список відтворення - + Add to Auto DJ Queue (top) Додати до черги Авто-DJ (наверх) - + Remove Видалити @@ -178,12 +178,12 @@ Переіменувати - + Lock Заблокувати - + Duplicate Дублювати @@ -204,24 +204,24 @@ Аналізувати весь список відтворення - + Enter new name for playlist: Введіть нове ім'я для списку відтворення: - + Duplicate Playlist Дублювати список відтворення - - + + Enter name for new playlist: Введіть ім'я для нового списку відтворення: - + Export Playlist Експортувати плейлист @@ -231,70 +231,77 @@ - + + + Export to Engine DJ + "Engine DJ" is a product name and must not be translated. + + + + Rename Playlist Переіменування плейлиста - - + + Renaming Playlist Failed Перейменування плейлиста не вдалося - - - + + + A playlist by that name already exists. Плейлист з таким ім'ям вже існує. - - - + + + A playlist cannot have a blank name. Плейлист не може мати пусте ім'я - + _copy //: Appendix to default name when duplicating a playlist _копія - - - - - - + + + + + + Playlist Creation Failed Не вдалося створити плейлист - - + + An unknown error occurred while creating playlist: Виникла невідома помилка при створенні плейлиста: - + Confirm Deletion - + Do you really want to delete playlist <b>%1</b>? - + M3U Playlist (*.m3u) M3U список відтворення (*.m3u) - + M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Text CSV (*.csv);;Readable Text (*.txt) M3U Плейлист (*.m3u);;M3U8 Плейлист (*.m3u8);;PLS Плейлист (*.pls);;Text CSV (*.csv);;Звичайний текст (*.txt) @@ -302,12 +309,12 @@ BaseSqlTableModel - + # No - + Timestamp Відмітка часу @@ -315,7 +322,7 @@ BaseTrackPlayerImpl - + Couldn't load track. Неможливо завантажити трек @@ -323,137 +330,142 @@ BaseTrackTableModel - + Album Альбом - + Album Artist Виконавець альбому - + Artist Виконавець - + Bitrate Бітрейт - + BPM BPM - + Channels Канали - + Color - + Comment Примітка - + Composer Композитор - + Cover Art Обкладинки - + Date Added Дата додавання - + Last Played - + Duration Тривалість - + Type Тип - + Genre Стиль - + Grouping Групування - + Key Тональність - + Location Розташування: - + + Overview + + + + Preview Попередній перегляд - + Rating Рейтинг - + ReplayGain - + Samplerate - + Played Зіграно - + Title Назва - + Track # Композиція № - + Year Рік - + Fetching image ... Tooltip text on the cover art column shown when the cover is read from disk @@ -541,67 +553,77 @@ BrowseFeature - + Add to Quick Links - + Remove from Quick Links - + Add to Library Додати до бібліотеки - + Refresh directory tree - + Quick Links Швидкі посилання - - + + Devices Пристрої - + Removable Devices Змінні пристрої - - + + Computer - + Music Directory Added - + You added one or more music directories. The tracks in these directories won't be available until you rescan your library. Would you like to rescan now? - + Scan Сканування - + "Computer" lets you navigate, view, and load tracks from folders on your hard disk and external devices. + + + It shows the data from the file tags, not track data from your Mixxx library like other track views. + + + + + If you load a track file from here, it will be added to your library. + + BrowseTableModel @@ -747,87 +769,87 @@ CmdlineArgs - + Mixxx is an open source DJ software. For more information, see: - + Starts Mixxx in full-screen mode - + Use a custom locale for loading translations. (e.g 'fr') - + Top-level directory where Mixxx should look for its resource files such as MIDI mappings, overriding the default installation location. - + Path the debug statistics time line is written to - + Causes Mixxx to display/log all of the controller data it receives and script functions it loads - + The controller mapping will issue more aggressive warnings and errors when detecting misuse of controller APIs. New Controller Mappings should be developed with this option enabled! - + Enables developer-mode. Includes extra log info, stats on performance, and a Developer tools menu. - + Top-level directory where Mixxx should look for settings. Default is: Каталог верхнього рівня, в якому Mixxx має шукати параметри. Типово: - + Starts Auto DJ when Mixxx is launched. - + Rescans the library when Mixxx is launched. - + Use legacy vu meter - + Use legacy spinny - + Loads experimental QML GUI instead of legacy QWidget skin - + Enables safe-mode. Disables OpenGL waveforms, and spinning vinyl widgets. Try this option if Mixxx is crashing on startup. - + [auto|always|never] Use colors on the console output. - + Sets the verbosity of command line logging. critical - Critical/Fatal only warning - Above + Warnings @@ -837,27 +859,32 @@ trace - Above + Profiling messages - + Sets the the logging level at which the log buffer is flushed to mixxx.log. <level> is one of the values defined at --log-level above. - + Sets the maximum file size of the mixxx.log file in bytes. Use -1 for unlimited. The default is 100 MB as 1e5 or 100000000. - + Breaks (SIGINT) Mixxx, if a DEBUG_ASSERT evaluates to false. Under a debugger you can continue afterwards. - + + Overrides the default application GUI style. Possible values: %1 + + + + Load the specified music file(s) at start-up. Each file you specify will be loaded into the next virtual deck. - + Preview rendered controller screens in the Setting windows. @@ -1039,13 +1066,13 @@ trace - Above + Profiling messages - + Set to full volume - + Set to zero volume @@ -1070,13 +1097,13 @@ trace - Above + Profiling messages - + Headphone listen button - + Mute button @@ -1087,25 +1114,25 @@ trace - Above + Profiling messages - + Mix orientation (e.g. left, right, center) - + Set mix orientation to left - + Set mix orientation to center - + Set mix orientation to right @@ -1146,22 +1173,22 @@ trace - Above + Profiling messages - + Toggle quantize mode - + One-time beat sync (tempo only) - + One-time beat sync (phase only) - + Toggle keylock mode @@ -1171,193 +1198,193 @@ trace - Above + Profiling messages Еквалайзери - + Vinyl Control Контроль вінілу - + Toggle vinyl-control cueing mode (OFF/ONE/HOT) - + Toggle vinyl-control mode (ABS/REL/CONST) - + Pass through external audio into the internal mixer - + Cues - + Cue button - + Set cue point - + Go to cue point - + Go to cue point and play - + Go to cue point and stop - + Preview from cue point - + Cue button (CDJ mode) - + Stutter cue - + Hotcues - + Set, preview from or jump to hotcue %1 - + Clear hotcue %1 - + Set hotcue %1 - + Jump to hotcue %1 - + Jump to hotcue %1 and stop - + Jump to hotcue %1 and play - + Preview from hotcue %1 - - + + Hotcue %1 - + Looping - + Loop In button - + Loop Out button - + Loop Exit button - + 1/2 1/2 - + 1 1 - + 2 2 - + 4 4 - + 8 - + 16 - + 32 - + 64 - + Move loop forward by %1 beats - + Move loop backward by %1 beats - + Create %1-beat loop - + Create temporary %1-beat loop roll @@ -1473,20 +1500,20 @@ trace - Above + Profiling messages - - + + Volume Fader - + Full Volume - + Zero Volume @@ -1502,7 +1529,7 @@ trace - Above + Profiling messages - + Mute @@ -1513,7 +1540,7 @@ trace - Above + Profiling messages - + Headphone Listen @@ -1534,25 +1561,25 @@ trace - Above + Profiling messages - + Orientation - + Orient Left - + Orient Center - + Orient Right @@ -1622,82 +1649,82 @@ trace - Above + Profiling messages - + Adjust Beatgrid - + Align beatgrid to current position - + Adjust Beatgrid - Match Alignment - + Adjust beatgrid to match another playing deck. - + Quantize Mode - + Sync Синхр. - + Beat Sync One-Shot - + Sync Tempo One-Shot - + Sync Phase One-Shot - + Pitch control (does not affect tempo), center is original pitch - + Pitch Adjust - + Adjust pitch from speed slider pitch - + Match musical key - + Match Key - + Reset Key - + Resets key to original @@ -1738,451 +1765,451 @@ trace - Above + Profiling messages - + Toggle Vinyl Control - + Toggle Vinyl Control (ON/OFF) - + Vinyl Control Mode - + Vinyl Control Cueing Mode - + Vinyl Control Passthrough - + Vinyl Control Next Deck - + Single deck mode - Switch vinyl control to next deck - + Cue - + Set Cue - + Go-To Cue - + Go-To Cue And Play - + Go-To Cue And Stop - + Preview Cue - + Cue (CDJ Mode) - + Stutter Cue - + Go to cue point and play after release - + Clear Hotcue %1 - + Set Hotcue %1 - + Jump To Hotcue %1 - + Jump To Hotcue %1 And Stop - + Jump To Hotcue %1 And Play - + Preview Hotcue %1 - + Loop In - + Loop Out - + Loop Exit - + Reloop/Exit Loop - + Loop Halve - + Loop Double - + 1/32 - + 1/16 - + 1/8 - + 1/4 - + Move Loop +%1 Beats - + Move Loop -%1 Beats - + Loop %1 Beats - + Loop Roll %1 Beats - + Add to Auto DJ Queue (bottom) Додати до черги Авто-DJ (знизу) - + Append the selected track to the Auto DJ Queue - + Add to Auto DJ Queue (top) Додати до черги Авто-DJ (наверх) - + Prepend selected track to the Auto DJ Queue - + Load Track Завантажити трек - + Load selected track - + Load selected track and play - - + + Record Mix - + Toggle mix recording - + Effects Ефекти - + Quick Effects - + Deck %1 Quick Effect Super Knob - + Quick Effect Super Knob (control linked effect parameters) - - + + Quick Effect - + Clear Unit - + Clear effect unit - + Toggle Unit - + Dry/Wet - + Adjust the balance between the original (dry) and processed (wet) signal. - + Super Knob - + Next Chain - + Assign - + Clear - + Clear the current effect - + Toggle - + Toggle the current effect - + Next Далі - + Switch to next effect - + Previous Попередній - + Switch to the previous effect - + Next or Previous - + Switch to either next or previous effect - - + + Parameter Value - - + + Microphone Ducking Strength - + Microphone Ducking Mode - + Gain - + Gain knob - + Shuffle the content of the Auto DJ queue - + Skip the next track in the Auto DJ queue - + Auto DJ Toggle - + Toggle Auto DJ On/Off - + Show/hide the microphone & auxiliary section - + 4 Effect Units Show/Hide - + Switches between showing 2 and 4 effect units - + Mixer Show/Hide - + Show or hide the mixer. - + Cover Art Show/Hide (Library) - + Show/hide cover art in the library - + Library Maximize/Restore - + Maximize the track library to take up all the available screen space. - + Effect Rack Show/Hide - + Show/hide the effect rack - + Waveform Zoom Out @@ -2197,102 +2224,102 @@ trace - Above + Profiling messages - + Tap to sync tempo (and phase with quantize enabled), hold to enable permanent sync - + One-time beat sync tempo (and phase with quantize enabled) - + Playback Speed - + Playback speed control (Vinyl "Pitch" slider) - + Pitch (Musical key) - + Increase Speed - + Adjust speed faster (coarse) - + Increase Speed (Fine) - + Adjust speed faster (fine) - + Decrease Speed - + Adjust speed slower (coarse) - + Adjust speed slower (fine) - + Temporarily Increase Speed - + Temporarily increase speed (coarse) - + Temporarily Increase Speed (Fine) - + Temporarily increase speed (fine) - + Temporarily Decrease Speed - + Temporarily decrease speed (coarse) - + Temporarily Decrease Speed (Fine) - + Temporarily decrease speed (fine) @@ -2444,1041 +2471,1063 @@ trace - Above + Profiling messages - - + + Move Beatgrid Half a Beat + + + + + Adjust the beatgrid by exactly one half beat. Usable only for tracks with constant tempo. + + + + + Toggle the BPM/beatgrid lock - + Revert last BPM/Beatgrid Change - + Revert last BPM/Beatgrid Change of the loaded track. - + Sync / Sync Lock - + Internal Sync Leader - + Toggle Internal Sync Leader - - + + Internal Leader BPM - + Internal Leader BPM +1 - + Increase internal Leader BPM by 1 - + Internal Leader BPM -1 - + Decrease internal Leader BPM by 1 - + Internal Leader BPM +0.1 - + Increase internal Leader BPM by 0.1 - + Internal Leader BPM -0.1 - + Decrease internal Leader BPM by 0.1 - + Sync Leader - + Sync mode 3-state toggle / indicator (Off, Soft Leader, Explicit Leader) - + Speed - + Decrease Speed (Fine) - + Pitch (Musical Key) - + Increase Pitch - + Increases the pitch by one semitone - + Increase Pitch (Fine) - + Increases the pitch by 10 cents - + Decrease Pitch - + Decreases the pitch by one semitone - + Decrease Pitch (Fine) - + Decreases the pitch by 10 cents - + Keylock - + CUP (Cue + Play) - + Shift cue points earlier - + Shift cue points 10 milliseconds earlier - + Shift cue points earlier (fine) - + Shift cue points 1 millisecond earlier - + Shift cue points later - + Shift cue points 10 milliseconds later - + Shift cue points later (fine) - + Shift cue points 1 millisecond later - + + + Sort hotcues by position + + + + + + Sort hotcues by position (remove offsets) + + + + Hotcues %1-%2 - + Intro / Outro Markers - + Intro Start Marker - + Intro End Marker - + Outro Start Marker - + Outro End Marker - + intro start marker - + intro end marker - + outro start marker - + outro end marker - + Activate %1 [intro/outro marker - + Jump to or set the %1 [intro/outro marker - + Set %1 [intro/outro marker - + Set or jump to the %1 [intro/outro marker - + Clear %1 [intro/outro marker - + Clear the %1 [intro/outro marker - + if the track has no beats the unit is seconds - + Loop Selected Beats - + Create a beat loop of selected beat size - + Loop Roll Selected Beats - + Create a rolling beat loop of selected beat size - + Loop %1 Beats set from its end point - + Loop Roll %1 Beats set from its end point - + Create %1-beat loop with the current play position as loop end - + Create temporary %1-beat loop roll with the current play position as loop end - + Loop Beats - + Loop Roll Beats - + Go To Loop In - + Go to Loop In button - + Go To Loop Out - + Go to Loop Out button - + Toggle loop on/off and jump to Loop In point if loop is behind play position - + Reloop And Stop - + Enable loop, jump to Loop In point, and stop - + Halve the loop length - + Double the loop length - + Beat Jump / Loop Move - + Jump / Move Loop Forward %1 Beats - + Jump / Move Loop Backward %1 Beats - + Jump forward by %1 beats, or if a loop is enabled, move the loop forward %1 beats - + Jump backward by %1 beats, or if a loop is enabled, move the loop backward %1 beats - + Beat Jump / Loop Move Forward Selected Beats - + Jump forward by the selected number of beats, or if a loop is enabled, move the loop forward by the selected number of beats - + Beat Jump / Loop Move Backward Selected Beats - + Jump backward by the selected number of beats, or if a loop is enabled, move the loop backward by the selected number of beats - + Beat Jump - + Indicate which loop marker remain static when adjusting the size or is inherited from the current position - + Beat Jump / Loop Move Forward - + Beat Jump / Loop Move Backward - + Loop Move Forward - + Loop Move Backward - + Remove Temporary Loop - + Remove the temporary loop - + Navigation - + Move up - + Equivalent to pressing the UP key on the keyboard - + Move down - + Equivalent to pressing the DOWN key on the keyboard - + Move up/down - + Move vertically in either direction using a knob, as if pressing UP/DOWN keys - + Scroll Up - + Equivalent to pressing the PAGE UP key on the keyboard - + Scroll Down - + Equivalent to pressing the PAGE DOWN key on the keyboard - + Scroll up/down - + Scroll vertically in either direction using a knob, as if pressing PGUP/PGDOWN keys - + Move left - + Equivalent to pressing the LEFT key on the keyboard - + Move right - + Equivalent to pressing the RIGHT key on the keyboard - + Move left/right - + Move horizontally in either direction using a knob, as if pressing LEFT/RIGHT keys - + Move focus to right pane - + Equivalent to pressing the TAB key on the keyboard - + Move focus to left pane - + Equivalent to pressing the SHIFT+TAB key on the keyboard - + Move focus to right/left pane - + Move focus one pane to right or left using a knob, as if pressing TAB/SHIFT+TAB keys - + Sort focused column - + Sort the column of the cell that is currently focused, equivalent to clicking on its header - + Go to the currently selected item - + Choose the currently selected item and advance forward one pane if appropriate - + Load Track and Play - + Add to Auto DJ Queue (replace) - + Replace Auto DJ Queue with selected tracks - + Select next search history - + Selects the next search history entry - + Select previous search history - + Selects the previous search history entry - + Move selected search entry - + Moves the selected search history item into given direction and steps - + Clear search - + Clears the search query - - + + Select Next Color Available - + Select the next color in the color palette for the first selected track - - + + Select Previous Color Available - + Select the previous color in the color palette for the first selected track - + Deck %1 Quick Effect Enable Button - + Quick Effect Enable Button - + Enable or disable effect processing - + Super Knob (control effects' Meta Knobs) - + Mix Mode Toggle - + Toggle effect unit between D/W and D+W modes - + Next chain preset - + Previous Chain - + Previous chain preset - + Next/Previous Chain - + Next or previous chain preset - - + + Show Effect Parameters - + Effect Unit Assignment - + Meta Knob - + Effect Meta Knob (control linked effect parameters) - + Meta Knob Mode - + Set how linked effect parameters change when turning the Meta Knob. - + Meta Knob Mode Invert - + Invert how linked effect parameters change when turning the Meta Knob. - - + + Button Parameter Value - + Microphone / Auxiliary - + Microphone On/Off - + Microphone on/off Мікрофон вмк/вимк - + Toggle microphone ducking mode (OFF, AUTO, MANUAL) - + Auxiliary On/Off - + Auxiliary on/off - + Auto DJ Авто-DJ - + Auto DJ Shuffle - + Auto DJ Skip Next - + Auto DJ Add Random Track - + Add a random track to the Auto DJ queue - + Auto DJ Fade To Next - + Trigger the transition to the next track - + User Interface - + Samplers Show/Hide - + Show/hide the sampler section - + Microphone && Auxiliary Show/Hide keep double & to prevent creation of keyboard accelerator - + Waveform Zoom Reset To Default - + Reset the waveform zoom level to the default value selected in Preferences -> Waveforms - + Select the next color in the color palette for the loaded track. - + Select previous color in the color palette for the loaded track. - + Navigate Through Track Colors - + Select either next or previous color in the palette for the loaded track. - + Start/Stop Live Broadcasting - + Stream your mix over the Internet. - + Start/stop recording your mix. - - + + Samplers Семплери - + Vinyl Control Show/Hide - + Show/hide the vinyl control section - + Preview Deck Show/Hide - + Show/hide the preview deck - + Toggle 4 Decks - + Switches between showing 2 decks and 4 decks. - + Cover Art Show/Hide (Decks) - + Show/hide cover art in the main decks - + Vinyl Spinner Show/Hide - + Show/hide spinning vinyl widget - + Vinyl Spinners Show/Hide (All Decks) - + Show/Hide all spinnies - + Toggle Waveforms - + Show/hide the scrolling waveforms. - + Waveform zoom - + Waveform Zoom - + Zoom waveform in - + Waveform Zoom In - + Zoom waveform out - + Star Rating Up - + Increase the track rating by one star - + Star Rating Down - + Decrease the track rating by one star @@ -3593,32 +3642,32 @@ trace - Above + Profiling messages ControllerScriptEngineBase - + The functionality provided by this controller mapping will be disabled until the issue has been resolved. - + You can ignore this error for this session but you may experience erratic behavior. - + Try to recover by resetting your controller. - + Controller Mapping Error - + The mapping for your controller "%1" is not working properly. - + The script code needs to be fixed. @@ -3662,13 +3711,13 @@ trace - Above + Profiling messages CrateFeature - + Remove Видалити - + Create New Crate @@ -3678,132 +3727,132 @@ trace - Above + Profiling messages Переіменувати - - + + Lock Заблокувати - + Export Crate as Playlist - + Export Track Files - + Duplicate Дублювати - + Analyze entire Crate - + Auto DJ Track Source - + Enter new name for crate: - - + + Crates Збірки - - + + Import Crate Імпортувати збірку - + Export Crate Експортувати збірку - + Unlock Розблокувати - + An unknown error occurred while creating crate: Виникла невідома помилка під час створення збірки: - + Rename Crate Переіменувати збірку - - - Export to Engine Prime - - - - + Make a crate for your next gig, for your favorite electrohouse tracks, or for your most requested tracks. - + Confirm Deletion - - + + Renaming Crate Failed Перейменування збірки не вдалося - + Crate Creation Failed - + M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Text CSV (*.csv);;Readable Text (*.txt) M3U Плейлист (*.m3u);;M3U8 Плейлист (*.m3u8);;PLS Плейлист (*.pls);;Text CSV (*.csv);;Звичайний текст (*.txt) - + M3U Playlist (*.m3u) M3U список відтворення (*.m3u) - + Crates are a great way to help organize the music you want to DJ with. Збірки - чудовий допоміжний засіб для організування музики для ді-джеінгу. - + + + Export to Engine DJ + + + + Crates let you organize your music however you'd like! Збірки дають змогу організовувати Вашу музику так, як Ви бажаєте! - + Do you really want to delete crate <b>%1</b>? - + A crate cannot have a blank name. Збірка повинна мати назву. - + A crate by that name already exists. Збірка з такою назвою вже існує. @@ -3898,12 +3947,12 @@ trace - Above + Profiling messages Попередні автори - + Official Website - + Donate @@ -4022,72 +4071,72 @@ trace - Above + Profiling messages DlgAutoDJ - + Skip Пропустити - + Random - + Fade - + Enable Auto DJ Shortcut: Shift+F12 - + Disable Auto DJ Shortcut: Shift+F12 - + Trigger the transition to the next track Shortcut: Shift+F11 - + Skip the next track in the Auto DJ queue Shortcut: Shift+F10 - + Shuffle the content of the Auto DJ queue Shortcut: Shift+F9 - + Repeat the playlist - + Determines the duration of the transition - + Seconds Секунди - + Auto DJ Fade Modes Full Intro + Outro: @@ -4118,80 +4167,80 @@ crossfader, so that the intro starts at full volume. - + Full Intro + Outro - + Fade At Outro Start - + Full Track - + Skip Silence - + Skip Silence Start Full Volume - + Decks not used for Auto DJ must be stopped to enable Auto DJ mode. - + Repeat - + Auto DJ requires two decks assigned to opposite sides of the crossfader. - + One deck must be stopped to enable Auto DJ mode. - + Enable - + Disable - + Displays the duration and number of selected tracks. - - - + + + Auto DJ Авто-DJ - + Shuffle Перемішати - + Adds a random track from track sources (crates) to the Auto DJ queue. If no track sources are configured, the track is added from the library instead. @@ -4414,37 +4463,37 @@ Often results in higher quality beatgrids, but will not do well on tracks that h - + Didn't get any midi messages. Please try again. - + Unable to detect a mapping -- please try again. Be sure to only touch one control at once. - + Successfully mapped control: - + <i>Ready to learn %1</i> - + Learning: %1. Now move a control on your controller. - + The selected control does not exist.<br>This likely a bug. Please report it on the Mixxx bug tracker.<br><a href='https://github.com/mixxxdj/mixxx/issues'>https://github.com/mixxxdj/mixxx/issues</a><br><br>You tried to learn: %1,%2 - + The control you clicked in Mixxx is not learnable. This could be because you are either using an old skin and this control is no longer supported, or you clicked a control that provides visual feedback and can only be mapped to outputs like LEDs via scripts. @@ -4483,17 +4532,17 @@ You tried to learn: %1,%2 - + Log - + Search - + Stats @@ -5146,113 +5195,113 @@ associated with each key. DlgPrefController - + Apply device settings? - + Your settings must be applied before starting the learning wizard. Apply settings and continue? - + None Не призначено - + %1 by %2 - + Mapping has been edited - + Always overwrite during this session - + Save As - + Overwrite - + Save user mapping - + Enter the name for saving the mapping to the user folder. - + Saving mapping failed - + A mapping cannot have a blank name and may not contain special characters. - + A mapping file with that name already exists. - + Do you want to save the changes? - + Troubleshooting - + <font color='#BB0000'><b>If you use this mapping your controller may not work correctly. Please select another mapping or disable the controller.</b></font><br><br>This mapping was designed for a newer Mixxx Controller Engine and cannot be used on your current Mixxx installation.<br>Your Mixxx installation has Controller Engine version %1. This mapping requires a Controller Engine version >= %2.<br><br>For more information visit the wiki page on <a href='https://mixxx.org/wiki/doku.php/controller_engine_versions'>Controller Engine Versions</a>. - + Mapping already exists. - + <b>%1</b> already exists in user mapping folder.<br>Overwrite or save with a new name? - + Clear Input Mappings - + Are you sure you want to clear all input mappings? - + Clear Output Mappings - + Are you sure you want to clear all output mappings? @@ -5265,105 +5314,105 @@ Apply settings and continue? - + Enabled Активовано - + Device Info - + Physical Interface: - + Vendor name: - + Product name: - + Vendor ID - + VID: - + Product ID - + PID: - + Serial number: - + USB interface number: - + HID Usage-Page: - + HID Usage: - + Description: Опис: - + Support: Підтримка: - + Screens preview - + Input Mappings - - + + Search - - + + Add Додати - - + + Remove Видалити @@ -5378,22 +5427,22 @@ Apply settings and continue? - + Load Mapping: - + Mapping Info - + Author: - + Name: @@ -5403,28 +5452,28 @@ Apply settings and continue? - + Data protocol: - + Mapping Files: - + Mapping Settings - - + + Clear All Очистити все - + Output Mappings @@ -5583,6 +5632,16 @@ Apply settings and continue? Multi-Sampling + + + Force 3D acceleration + + + + + If checked, Mixxx will always assume 3D acceleration is available. This may lead to pour performance if only CP-backed rendering is available.. + + Start in full-screen mode @@ -6174,62 +6233,62 @@ You can always drag-and-drop tracks on screen to clone a deck. DlgPrefInterface - + The minimum size of the selected skin is bigger than your screen resolution. - + Allow screensaver to run - + Prevent screensaver from running - + Prevent screensaver while playing - + Disabled - + 2x MSAA - + 4x MSAA - + 8x MSAA - + 16x MSAA - + This skin does not support color schemes - + Information Інформація - + Mixxx must be restarted before the new locale, scaling or multi-sampling settings will take effect. @@ -7396,173 +7455,172 @@ The loudness target is approximate and assumes track pregain and main output lev DlgPrefSound - + %1 Hz %1 Гц - + Default (long delay) - + Experimental (no delay) - + Disabled (short delay) - + Soundcard Clock - + Network Clock - + Direct monitor (recording and broadcasting only) - + Disabled - + Enabled Активовано - + Stereo Стерео - + Mono Моно - + To enable Realtime scheduling (currently disabled), see the %1. - + The %1 lists sound cards and controllers you may want to consider for using Mixxx. - + Mixxx DJ Hardware Guide - + Information - + Mixxx must be restarted before the multi-threaded RubberBand setting change will take effect. - + auto (<= 1024 frames/period) - + 2048 frames/period - + 4096 frames/period - + Are you sure? - + Distribute stereo channels into mono channels for parallel processing will result in a loss of mono compatibility and a diffuse stereo image. It is not recommended during broadcasting or recording. - + Are you sure you wish to proceed? - + No - + Yes, I know what I am doing - + Microphone inputs are out of time in the record & broadcast signal compared to what you hear. - + Measure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. - - + Refer to the Mixxx User Manual for details. - + Configured latency has changed. - + Remeasure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. - + Realtime scheduling is enabled. - + Main output only - + Main and booth outputs - + %1 ms %1 мс - + Configuration error Помилка конфігурації @@ -7580,131 +7638,131 @@ The loudness target is approximate and assumes track pregain and main output lev Звукове API - + Sample Rate Частота дискретизації - + Audio Buffer - + Engine Clock - + Use soundcard clock for live audience setups and lowest latency.<br>Use network clock for broadcasting without a live audience. - + Main Mix - + Main Output Mode Режим основного виходу - + Microphone Monitor Mode - + Microphone Latency Compensation - - - - + + + + ms milliseconds - + 20 ms - + Buffer Underflow Count - + 0 - + Keylock/Pitch-Bending Engine - + Multi-Soundcard Synchronization - + Output Вихід - + Input Вхід - + System Reported Latency - + Enlarge your audio buffer if the underflow counter is increasing or you hear pops during playback. - + Main Output Delay - + Headphone Output Delay - + Booth Output Delay - + Dual-threaded Stereo - + Hints and Diagnostics - + Downsize your audio buffer to improve Mixxx's responsiveness. - + Query Devices Пристрої, що надсилають запити @@ -7859,27 +7917,28 @@ The loudness target is approximate and assumes track pregain and main output lev - - 1/3rd of waveform viewer + + 1/3 of waveform viewer + options for "Text height limit" - - Full waveform viewer height + + Entire waveform viewer - + OpenGL not available OpenGL не доступно - + dropped frames - + Cached waveforms occupy %1 MiB on disk. @@ -7892,250 +7951,256 @@ The loudness target is approximate and assumes track pregain and main output lev - + Frame rate - - Displays which OpenGL version is supported by the current platform. + + OpenGL Status - - Waveform + + Displays which OpenGL version is supported by the current platform. - + Normalize waveform overview - + Average frame rate - + Visual gain - + Default zoom level Waveform zoom - + Displays the actual frame rate. - + Visual gain of the middle frequencies - + End of track warning - - OpenGL status - - - - + This functionality requires waveform acceleration. - + Highlight the waveforms when the last seconds of a track remains. - + seconds - + Low Низька - + Show minute markers on waveform overview - + Use acceleration - + High details - + Middle - + Global - + Visual gain of the high frequencies - + Visual gain of the low frequencies - + High Висока - + Global visual gain - + The waveform overview shows the waveform envelope of the entire track. Select from different types of displays for the waveform overview, which differ primarily in the level of detail shown in the waveform. - + Enabled - + The waveform shows the waveform envelope of the track near the current playback position. Select from different types of displays for the waveform, which differ primarily in the level of detail shown in the waveform. - - Waveform overview type - - - - + fps - + Synchronize zoom level across all waveform displays. - + Synchronize zoom level across all waveforms - + Play marker hints - + Beats until next marker - + Preferred font size - + Text height limit - + Time until next marker - + Placement - + pt - + Caching - + Mixxx caches the waveforms of your tracks on disk the first time you load a track. This reduces CPU usage when you are playing live but requires extra disk space. - + Enable waveform caching - + Generate waveforms when analyzing library - + Beat grid opacity - + + Scrolling Waveforms + + + + + + Type + + + + Stereo coloration - + Set amount of opacity on beat grid lines. - + % % - + Play marker position - + Moves the play marker position on the waveforms to the left, right or center (default). - + + Overview Waveforms + + + + Clear Cached Waveforms @@ -8143,47 +8208,47 @@ Select from different types of displays for the waveform, which differ primarily DlgPreferences - + Sound Hardware Звукове обладнання - + Controllers Контролери - + Library Бібліотека - + Interface Інтерфейс - + Waveforms - + Mixer Мікшер - + Auto DJ Авто-DJ - + Decks - + Colors @@ -8218,47 +8283,47 @@ Select from different types of displays for the waveform, which differ primarily - + Effects Ефекти - + Recording Запис - + Beat Detection Виявлення тактів - + Key Detection Виявлення тональності - + Normalization Нормалізація - + <font color='#BB0000'><b>Some preferences pages have errors. To apply the changes please first fix the issues.</b></font> - + Vinyl Control Контроль вінілу - + Live Broadcasting Пряма трансляція - + Modplug Decoder @@ -8291,22 +8356,22 @@ Select from different types of displays for the waveform, which differ primarily - + Start Recording Почати запис - + Recording to file: - + Stop Recording Зупинити запис - + %1 MiB written in %2 @@ -8614,284 +8679,284 @@ This can not be undone! Підсумок - + Filetype: - + BPM: BPM - + Location: - + Bitrate: - + Comments - + BPM BPM - + Sets the BPM to 75% of the current value. - + 3/4 BPM - + Sets the BPM to 50% of the current value. - + Displays the BPM of the selected track. - + Track # Композиція № - + Album Artist Виконавець альбому - + Composer Композитор - + Title Назва - + Grouping Групування - + Key Тональність - + Year Рік - + Artist Виконавець - + Album Альбом - + Genre Стиль - + ReplayGain: - + Sets the BPM to 200% of the current value. - + Double BPM - + Halve BPM Навпіл BPM - + Clear BPM and Beatgrid - + Move to the previous item. "Previous" button - + &Previous - + Move to the next item. "Next" button - + &Next - + Duration: Тривалість: - + Import Metadata from MusicBrainz - + Re-Import Metadata from file - + Color - + Date added: - + Open in File Browser Відкрити в файловому менеджері - + Samplerate: - + Track BPM: Темп треку: - + Converts beats detected by the analyzer into a fixed-tempo beatgrid. Use this setting if your tracks have a constant tempo (e.g. most electronic music). Often results in higher quality beatgrids, but will not do well on tracks that have tempo shifts. - + Assume constant tempo - + Sets the BPM to 66% of the current value. - + 2/3 BPM - + Sets the BPM to 150% of the current value. - + 3/2 BPM - + Sets the BPM to 133% of the current value. - + 4/3 BPM - + Tap with the beat to set the BPM to the speed you are tapping. - + Tap to Beat Настукати ритм - + Hint: Use the Library Analyze view to run BPM detection. Порада: Використовуйте вигляд Аналіз Бібліотеки щоб запустити виявлення темпу. - + Save changes and close the window. "OK" button - + &OK - + Discard changes and close the window. "Cancel" button - + Save changes and keep the window open. "Apply" button - + &Apply &Застосувати - + &Cancel &Скасувати - + (no color) @@ -9048,7 +9113,7 @@ Often results in higher quality beatgrids, but will not do well on tracks that h - + (no color) @@ -9250,27 +9315,27 @@ Often results in higher quality beatgrids, but will not do well on tracks that h EngineBuffer - + Soundtouch (faster) - + Rubberband (better) - + Rubberband R3 (near-hi-fi quality) - + Unknown, using Rubberband (better) - + Unknown, using Soundtouch @@ -9414,38 +9479,38 @@ Often results in higher quality beatgrids, but will not do well on tracks that h ITunesFeature - - + + iTunes iTunes - + Select your iTunes library Виберіть свою бібліотеку ITunes - + (loading) iTunes (завантаження) iTunes - + Use Default Library Використовувати бібліотеку за замовчуванням - + Choose Library... Виберіть бібліотеку... - + Error Loading iTunes Library Помилка при завантаженні бібліотеки ITunes - + There was an error loading your iTunes library. Check the logs for details. @@ -9453,12 +9518,12 @@ Often results in higher quality beatgrids, but will not do well on tracks that h LegacyControllerColorSetting - + Change color - + Choose a new color @@ -9466,18 +9531,18 @@ Often results in higher quality beatgrids, but will not do well on tracks that h LegacyControllerFileSetting - + Browse... - - + + No file selected - + Select a file @@ -9485,15 +9550,15 @@ Often results in higher quality beatgrids, but will not do well on tracks that h LegacySkinParser - - + + Safe Mode Enabled Shown when Mixxx is running in safe mode. - - + + No OpenGL support. Shown when Spinny can not be displayed. Please keep @@ -9504,57 +9569,57 @@ Shown when VuMeter can not be displayed. Please keep - + activate - + toggle - + right - + left - + right small - + left small - + up - + down - + up small - + down small - + Shortcut Скорочення @@ -9562,62 +9627,62 @@ Shown when VuMeter can not be displayed. Please keep Library - + This or a parent directory is already in your library. - + This or a listed directory does not exist or is inaccessible. Aborting the operation to avoid library inconsistencies - - + + This directory can not be read. - + An unknown error occurred. Aborting the operation to avoid library inconsistencies - + Can't add Directory to Library - + Could not add <b>%1</b> to your library. %2 - + Can't remove Directory from Library - + An unknown error occurred. - + This directory does not exist or is inaccessible. - + Relink Directory - + Could not relink <b>%1</b> to <b>%2</b>. %3 @@ -9627,22 +9692,22 @@ Aborting the operation to avoid library inconsistencies LibraryFeature - + Import Playlist Імпортувати плейлист - + Playlist Files (*.m3u *.m3u8 *.pls *.csv) Файли Плейлистів (*.m3u *.m3u8 *.pls *.csv) - + Overwrite File? - + A playlist file with the name "%1" already exists. The default "m3u" extension was added because none was specified. @@ -9689,27 +9754,27 @@ Do you really want to overwrite it? MidiController - + MixxxControl(s) not found - + One or more MixxxControls specified in the outputs section of the loaded mapping were invalid. - + * Make sure the MixxxControls in question actually exist. Visit the manual for a complete list: - + Some LEDs or other feedback may not work correctly. - + * Check to see that the MixxxControl names are spelled correctly in the mapping file (.xml) @@ -9769,18 +9834,18 @@ Do you really want to overwrite it? MixxxLibraryFeature - + Missing Tracks - + Hidden Tracks - Export to Engine Prime + Export to Engine DJ @@ -9792,208 +9857,249 @@ Do you really want to overwrite it? MixxxMainWindow - + Sound Device Busy Звуковий пристрій зайнятий - + <b>Retry</b> after closing the other application or reconnecting a sound device <b>Спробувати ще</b> після закриття інших програм або повторного підключення звукового пристрою - - - + + + <b>Reconfigure</b> Mixxx's sound device settings. <b>Змінити</b> налаштування звукових пристроїв у Mixxx. - - + + Get <b>Help</b> from the Mixxx Wiki. Отримайте<b>Допомогу</b> від Mixxx Wiki. - - - + + + <b>Exit</b> Mixxx. <b>Вихід</b> з Mixxx. - + Retry Повторити - + skin - + Allow Mixxx to hide the menu bar? - + Hide Always show the menu bar? - + Always show - + The Mixxx menu bar is hidden and can be toggled with a single press of the <b>Alt</b> key.<br><br>Click <b>%1</b> to agree.<br><br>Click <b>%2</b> to disable that, for example if you don't use Mixxx with a keyboard.<br><br>You can change this setting any time in Preferences -> Interface.<br> Keep formatting tags <b> (bold text) and <br> (linebreak). %1 is the placeholder for the 'Always show' button label - + Ask me again - - + + Reconfigure Перенастроїти - + Help Допомога - - + + Exit Вихід - - + + Mixxx was unable to open all the configured sound devices. - + Sound Device Error - + <b>Retry</b> after fixing an issue - + No Output Devices - + Mixxx was configured without any output sound devices. Audio processing will be disabled without a configured output device. - + <b>Continue</b> without any outputs. - + Continue Продовжити - + Load track to Deck %1 - + Deck %1 is currently playing a track. - + Are you sure you want to load a new track? - + There is no input device selected for this vinyl control. Please select an input device in the sound hardware preferences first. - + There is no input device selected for this passthrough control. Please select an input device in the sound hardware preferences first. - + There is no input device selected for this microphone. Do you want to select an input device? - + There is no input device selected for this auxiliary. Do you want to select an input device? - + + Scan took %1 + + + + + No changes detected. + + + + + + %1 tracks in total + + + + + %1 new tracks found + + + + + %1 moved tracks detected + + + + + %1 tracks are missing (%2 total) + + + + + %1 tracks have been rediscovered + + + + + Library scan finished + + + + Error in skin file - + The selected skin cannot be loaded. - + OpenGL Direct Rendering - + Direct rendering is not enabled on your machine.<br><br>This means that the waveform displays will be very<br><b>slow and may tax your CPU heavily</b>. Either update your<br>configuration to enable direct rendering, or disable<br>the waveform displays in the Mixxx preferences by selecting<br>"Empty" as the waveform display in the 'Interface' section. - - - + + + Confirm Exit Підтвердити Вихід - + A deck is currently playing. Exit Mixxx? Дека в даний час грає. Вийти з Mixxx? - + A sampler is currently playing. Exit Mixxx? Семплер зараз грає. Вийти з Mixxx? - + The preferences window is still open. - + Discard any changes and exit Mixxx? @@ -10009,13 +10115,13 @@ Do you want to select an input device? PlaylistFeature - + Lock Заблокувати - - + + Playlists Плейлисти @@ -10025,32 +10131,58 @@ Do you want to select an input device? - + + Unlock all playlists + + + + + Delete all unlocked playlists + + + + Unlock Розблокувати - + + + Confirm Deletion + + + + + Do you really want to delete all unlocked playlists? + + + + + Deleting %1 unlocked playlists.<br>This operation can not be undone! + + + + Playlists are ordered lists of tracks that allow you to plan your DJ sets. - + It may be necessary to skip some tracks in your prepared playlist or add some different tracks in order to maintain the energy of your audience. - + Some DJs construct playlists before they perform live, but others prefer to build them on-the-fly. - + When using a playlist during a live DJ set, remember to always pay close attention to how your audience reacts to the music you've chosen to play. - + Create New Playlist Створити новий список відтворення @@ -11541,7 +11673,7 @@ Fully right: end of the effect period - + Deck %1 @@ -11674,7 +11806,7 @@ Hint: compensates "chipmunk" or "growling" voices - + Passthrough Пересилання @@ -11705,7 +11837,7 @@ Hint: compensates "chipmunk" or "growling" voices - + Sampler %1 @@ -11838,12 +11970,12 @@ may introduce a 'pumping' effect and/or distortion. - + built-in - + missing @@ -11878,42 +12010,42 @@ may introduce a 'pumping' effect and/or distortion. - + Empty - + Simple - + Filtered - + HSV - + VSyncTest - + RGB - + Stacked - + Unknown @@ -11971,54 +12103,54 @@ may introduce a 'pumping' effect and/or distortion. RekordboxFeature - - - + + + Rekordbox - + Playlists Плейлисти - + Folders - + Reads databases exported for Pioneer CDJ / XDJ players using the Rekordbox Export mode.<br/>Rekordbox can only export to USB or SD devices with a FAT or HFS file system.<br/>Mixxx can read a database from any device that contains the database folders (<tt>PIONEER</tt> and <tt>Contents</tt>).<br/>Not supported are Rekordbox databases that have been moved to an external device via<br/><i>Preferences > Advanced > Database management</i>.<br/><br/>The following data is read: - + Hot cues - + Loops (only the first loop is currently usable in Mixxx) - + Check for attached Rekordbox USB / SD devices (refresh) - + Beatgrids - + Memory cues - + (loading) Rekordbox @@ -12153,19 +12285,19 @@ may introduce a 'pumping' effect and/or distortion. Заблокувати - - + + Confirm Deletion - + Do you really want to delete all unlocked playlist from <b>%1</b>?<br><br> %1 is the year <b> + </b> are used to make the text in between bold in the popup <br> is a linebreak - + Deleting %1 playlists from <b>%2</b>.<br><br> %1 is the number of playlists to be deleted %2 is the year <b> + </b> are used to make the text in between bold in the popup <br> is a linebreak @@ -12577,7 +12709,7 @@ may introduce a 'pumping' effect and/or distortion. - + Spinning Vinyl @@ -12759,7 +12891,7 @@ may introduce a 'pumping' effect and/or distortion. - + Cover Art Обкладинки @@ -12995,197 +13127,197 @@ may introduce a 'pumping' effect and/or distortion. - + Adjust Beats Earlier - + When tapped, moves the beatgrid left by a small amount. - + Adjust Beats Later - + When tapped, moves the beatgrid right by a small amount. - + Tempo and BPM Tap - + Show/hide the spinning vinyl section. - + Keylock - + Toggling keylock during playback may result in a momentary audio glitch. - + Toggle visibility of Loop Controls - + Toggle visibility of Beatjump Controls - + Toggle visibility of Rate Control - + Toggle visibility of Key Controls - + (while previewing) - + Places a cue point at the current position on the waveform. - + Stops track at cue point, OR go to cue point and play after release (CUP mode). - + Set cue point (Pioneer/Mixxx/Numark mode), set cue point and play after release (CUP mode) OR preview from it (Denon mode). - + Is latching the playing state. - + Seeks the track to the cue point and stops. - + Play Грати - + Plays track from the cue point. - + Sends the selected channel's audio to the headphone output, selected in Preferences -> Sound Hardware. - + (This skin should be updated to use Sync Lock!) - + Enable Sync Lock Постійна синхронізація - + Tap to sync the tempo to other playing tracks or the sync leader. Щоб сихнронізувати темп з іншими активними доріжками чи лідером синхронізації, натисніть один раз. - + Enable Sync Leader Лідер синхронізації - + When enabled, this device will serve as the sync leader for all other decks. Коли увімкнено, цей пристрій служитиме лідером синхронізації для всіх дек. - + This is relevant when a dynamic tempo track is loaded to a sync leader deck.In that case, other synced devices will adopt the changing tempo. Тоді коли в деку лідера синхронізації завантажено доріжку зі змінним темпом, інші синхронізовані пристрої адаптуватимуться під зміни темпу. - + Changes the track playback speed (affects both the tempo and the pitch). If keylock is enabled, only the tempo is affected. - + Tempo Range Display - + Displays the current range of the tempo slider. - + Un-ejects when no track is loaded, i.e. reloads the track that was ejected last (of any deck). - + Delete selected hotcue. - + Track Comment - + Displays the comment tag of the loaded track. - + Opens separate artwork viewer. - + Effect Chain Preset Settings - + Show the effect chain settings menu for this unit. - + Select and configure a hardware device for this input - + Recording Duration @@ -13423,924 +13555,932 @@ may introduce a 'pumping' effect and/or distortion. - + + Adjust beatgrid by exactly one half beat. Usable only on +tracks with constant tempo. + + + + Revert last BPM/Beatgrid Change - + Revert last BPM/Beatgrid Change of the loaded track. - - + + Toggle the BPM/beatgrid lock - + Tempo and Rate Tap - + Tempo, Rate Tap and BPM Tap - + Shift cues earlier - - + + Shift cues imported from Serato or Rekordbox if they are slightly off time. - + Left click: shift 10 milliseconds earlier - + Right click: shift 1 millisecond earlier - + Shift cues later - + Left click: shift 10 milliseconds later - + Right click: shift 1 millisecond later - + + + + Drag a Hotcue button here to continue playing after releasing the Hotcue. + + + + Hint: Change the default cue mode in Preferences -> Decks. - + Mutes the selected channel's audio in the main output. - + Main mix enable - + Hold or short click for latching to mix this input into the main output. - + If hotcue is a loop cue, toggles the loop and jumps to if the loop is behind the play position. - + If the play position is inside an active loop, stores the loop as loop cue. - + Drag this button onto another Hotcue button to move it there (change its index). If the other hotcue is set, the two are swapped. - - Dragging with Shift key pressed will not start previewing the hotcue - - - - + Expand/Collapse Samplers - + Toggle expanded samplers view. - + Displays the duration of the running recording. - + Auto DJ is active - + Red for when needle skip has been detected. - + Hot Cue - Track will seek to nearest previous hotcue point. - + Sets the track Loop-In Marker to the current play position. - + Press and hold to move Loop-In Marker. - + Jump to Loop-In Marker. - + Sets the track Loop-Out Marker to the current play position. - + Press and hold to move Loop-Out Marker. - + Jump to Loop-Out Marker. - + If the track has no beats the unit is seconds. - + Beatloop Size - + Select the size of the loop in beats to set with the Beatloop button. - + Changing this resizes the loop if the loop already matches this size. - + Halve the size of an existing beatloop, or halve the size of the next beatloop set with the Beatloop button. - + Double the size of an existing beatloop, or double the size of the next beatloop set with the Beatloop button. - + Start a loop over the set number of beats. - + Temporarily enable a rolling loop over the set number of beats. - + Beatloop Anchor - + Define whether the loop is created and adjusted from its staring point or ending point. - + Beatjump/Loop Move Size - + Select the number of beats to jump or move the loop with the Beatjump Forward/Backward buttons. - + Beatjump Forward - + Jump forward by the set number of beats. - + Move the loop forward by the set number of beats. - + Jump forward by 1 beat. - + Move the loop forward by 1 beat. - + Beatjump Backward - + Jump backward by the set number of beats. - + Move the loop backward by the set number of beats. - + Jump backward by 1 beat. - + Move the loop backward by 1 beat. - + Reloop - + If the loop is ahead of the current position, looping will start when the loop is reached. - + Works only if Loop-In and Loop-Out Marker are set. - + Enable loop, jump to Loop-In Marker, and stop playback. - + Displays the elapsed and/or remaining time of the track loaded. - + Click to toggle between time elapsed/remaining time/both. - + Hint: Change the time format in Preferences -> Decks. - + Show/hide intro & outro markers and associated buttons. - + Intro Start Marker - - - - + + + + If marker is set, jumps to the marker. - - - - + + + + If marker is not set, sets the marker to the current play position. - - - - + + + + If marker is set, clears the marker. - + Intro End Marker - + Outro Start Marker - + Outro End Marker - + Mix - + Adjust the mixing of the dry (input) signal with the wet (output) signal of the effect unit - + D/W mode: Crossfade between dry and wet - + D+W mode: Add wet to dry - + Mix Mode - + Adjust how the dry (input) signal is mixed with the wet (output) signal of the effect unit - + Dry/Wet mode (crossed lines): Mix knob crossfades between dry and wet Use this to change the sound of the track with EQ and filter effects. - + Dry+Wet mode (flat dry line): Mix knob adds wet to dry Use this to change only the effected (wet) signal with EQ and filter effects. - + Route the main mix through this effect unit. - + Route the left crossfader bus through this effect unit. - + Route the right crossfader bus through this effect unit. - + Right side active: parameter moves with right half of Meta Knob turn - + Stem Label - + Name of the stem stored in the stem file - + Text is displayed in the stem color stored in the stem file - + this stem color is also used for the waveform of this stem - + Stem Mute - + Toggle the stem mute/unmuted - + Stem Volume Knob - + Adjusts the volume of the stem - + Skin Settings Menu - + Show/hide skin settings menu - + Save Sampler Bank Зберегти банк Семплера - + Save the collection of samples loaded in the samplers. - + Load Sampler Bank Завантажити банк Семплера - + Load a previously saved collection of samples into the samplers. - + Show Effect Parameters - + Enable Effect - + Meta Knob Link - + Set how this parameter is linked to the effect's Meta Knob. - + Meta Knob Link Inversion - + Inverts the direction this parameter moves when turning the effect's Meta Knob. - + Super Knob - + Next Chain - + Previous Chain - + Next/Previous Chain - + Clear - + Clear the current effect. - + Toggle - + Toggle the current effect. - + Next Далі - + Clear Unit - + Clear effect unit. - + Show/hide parameters for effects in this unit. - + Toggle Unit - + Enable or disable this whole effect unit. - + Controls the Meta Knob of all effects in this unit together. - + Load next effect chain preset into this effect unit. - + Load previous effect chain preset into this effect unit. - + Load next or previous effect chain preset into this effect unit. - - - - - - - - - + + + + + + + + + Assign Effect Unit - + Assign this effect unit to the channel output. - + Route the headphone channel through this effect unit. - + Route this deck through the indicated effect unit. - + Route this sampler through the indicated effect unit. - + Route this microphone through the indicated effect unit. - + Route this auxiliary input through the indicated effect unit. - + The effect unit must also be assigned to a deck or other sound source to hear the effect. - + Switch to the next effect. - + Previous Попередній - + Switch to the previous effect. - + Next or Previous - + Switch to either the next or previous effect. - + Meta Knob - + Controls linked parameters of this effect - + Effect Focus Button - + Focuses this effect. - + Unfocuses this effect. - + Refer to the web page on the Mixxx wiki for your controller for more information. - + Effect Parameter - + Adjusts a parameter of the effect. - + Inactive: parameter not linked - + Active: parameter moves with Meta Knob - + Left side active: parameter moves with left half of Meta Knob turn - + Left and right side active: parameter moves across range with half of Meta Knob turn and back with the other half - - + + Equalizer Parameter Kill - - + + Holds the gain of the EQ to zero while active. - + Quick Effect Super Knob - + Quick Effect Super Knob (control linked effect parameters). - + Hint: Change the default Quick Effect mode in Preferences -> Equalizers. - + Equalizer Parameter - + Adjusts the gain of the EQ filter. - + Hint: Change the default EQ mode in Preferences -> Equalizers. - - + + Adjust Beatgrid - + Adjust beatgrid so the closest beat is aligned with the current play position. - - + + Adjust beatgrid to match another playing deck. - + If quantize is enabled, snaps to the nearest beat. - + Quantize - + Toggles quantization. - + Loops and cues snap to the nearest beat when quantization is enabled. - + Reverse У зворотному напрямку - + Reverses track playback during regular playback. - + Puts a track into reverse while being held (Censor). - + Playback continues where the track would have been if it had not been temporarily reversed. - - - + + + Play/Pause - + Jumps to the beginning of the track. - + Syncs the tempo (BPM) and phase to that of the other track, if BPM is detected on both. - + Syncs the tempo (BPM) to that of the other track, if BPM is detected on both. - + Sync and Reset Key - + Increases the pitch by one semitone. - + Decreases the pitch by one semitone. - + Enable Vinyl Control - + When disabled, the track is controlled by Mixxx playback controls. - + When enabled, the track responds to external vinyl control. - + Enable Passthrough - + Indicates that the audio buffer is too small to do all audio processing. - + Displays cover artwork of the loaded track. - + Displays options for editing cover artwork. - + Star Rating - + Assign ratings to individual tracks by clicking the stars. @@ -14475,33 +14615,33 @@ Use this to change only the effected (wet) signal with EQ and filter effects. - + Prevents the pitch from changing when the rate changes. - + Changes the number of hotcue buttons displayed in the deck - + Starts playing from the beginning of the track. - + Jumps to the beginning of the track and stops. - - + + Plays or pauses the track. - + (while playing) @@ -14521,205 +14661,215 @@ Use this to change only the effected (wet) signal with EQ and filter effects. - + (while stopped) - + Cue - + Headphone Навушники - + Mute - + Old Synchronize - + Syncs to the first deck (in numerical order) that is playing a track and has a BPM. - + If no deck is playing, syncs to the first deck that has a BPM. - + Decks can't sync to samplers and samplers can only sync to decks. - + Hold for at least a second to enable sync lock for this deck. Щоб увімкнути постійну синхронізацію цієї деки, затисніть принаймні на секунду. - + Decks with sync locked will all play at the same tempo, and decks that also have quantize enabled will always have their beats lined up. Деки з постійною синхронізацією гратимуть з однаковим темпом, а деки, для яких також увімкнено квантування, матимуть вирівняні такти. - + Resets the key to the original track key. - + Speed Control - - - + + + Changes the track pitch independent of the tempo. - + Increases the pitch by 10 cents. - + Decreases the pitch by 10 cents. - + Pitch Adjust - + Adjust the pitch in addition to the speed slider pitch. - + Opens a menu to clear hotcues or edit their labels and colors. - + + Drag this button onto a Play button while previewing to continue playback after release. + + + + + Dragging with Shift key pressed will not start previewing the hotcue. + + + + Record Mix - + Toggle mix recording. - + Enable Live Broadcasting Жива трансляція - + Stream your mix over the Internet. - + Provides visual feedback for Live Broadcasting status: - + disabled, connecting, connected, failure. - + When enabled, the deck directly plays the audio arriving on the vinyl input. - + Playback will resume where the track would have been if it had not entered the loop. - + Loop Exit - + Turns the current loop off. Вимикає поточний цикл. - + Slip Mode - + When active, the playback continues muted in the background during a loop, reverse, scratch etc. - + Once disabled, the audible playback will resume where the track would have been. - + Track Key The musical key of a track - + Displays the musical key of the loaded track. - + Clock - + Displays the current time. - + Audio Latency Usage Meter - + Displays the fraction of latency used for audio processing. - + A high value indicates that audible glitches are likely. - + Do not enable keylock, effects or additional decks in this situation. - + Audio Latency Overload Indicator @@ -14764,254 +14914,254 @@ Use this to change only the effected (wet) signal with EQ and filter effects. - + Fast Rewind - + Fast rewind through the track. - + Fast Forward - + Fast forward through the track. - + Jumps to the end of the track. - + Sets the pitch to a key that allows a harmonic transition from the other track. Requires a detected key on both involved decks. - - - + + + Pitch Control - + Pitch Rate - + Displays the current playback rate of the track. - + Repeat - + When active the track will repeat if you go past the end or reverse before the start. - + Eject - + Ejects track from the player. - + Hotcue - + If hotcue is set, jumps to the hotcue. - + If hotcue is not set, sets the hotcue to the current play position. - + Vinyl Control Mode - + Absolute mode - track position equals needle position and speed. - + Relative mode - track speed equals needle speed regardless of needle position. - + Constant mode - track speed equals last known-steady speed regardless of needle input. - + Vinyl Status - + Provides visual feedback for vinyl control status: - + Green for control enabled. - + Blinking yellow for when the needle reaches the end of the record. - + Loop-In Marker - + Loop-Out Marker - + Loop Halve - + Halves the current loop's length by moving the end marker. - + Deck immediately loops if past the new endpoint. - + Loop Double - + Doubles the current loop's length by moving the end marker. - + Beatloop - + Toggles the current loop on or off. - + Works only if Loop-In and Loop-Out marker are set. - + Vinyl Cueing Mode - + Determines how cue points are treated in vinyl control Relative mode: - + Off - Cue points ignored. - + One Cue - If needle is dropped after the cue point, track will seek to that cue point. - + Track Time - + Track Duration Тривалість треку - + Displays the duration of the loaded track. Показує тривалість завантаженого треку. - + Information is loaded from the track's metadata tags. Інформація завантажена з мета-даних треку. - + Track Artist Виконавець треку. - + Displays the artist of the loaded track. Показує виконавеця завантаженого треку. - + Track Title Назва треку - + Displays the title of the loaded track. Показує назву завантаженого треку - + Track Album Альбом треку - + Displays the album name of the loaded track. Показує альбом завантаженого треку - + Track Artist/Title Виконавець/Заголовок треку - + Displays the artist and title of the loaded track. Показує виконавця/заголовок завантаженого треку @@ -15019,12 +15169,12 @@ Use this to change only the effected (wet) signal with EQ and filter effects. TrackCollection - + Hiding tracks - + The selected tracks are in the following playlists:%1Hiding them will remove them from these playlists. Continue? @@ -15032,47 +15182,42 @@ Use this to change only the effected (wet) signal with EQ and filter effects. TrackExportDlg - + Export finished - + Exporting %1 - - - Overwrite Existing File? - - - "%1" already exists, overwrite? + Replace Existing File? - - &Overwrite + + "%1" already exists, replace? - - Over&write All + + &Replace - - &Skip + + Apply to all files - Skip &All + &Skip - + Export Error @@ -15244,47 +15389,47 @@ This can not be undone! WCueMenuPopup - + Cue number - + Cue position - + Edit cue label - + Label... - + Delete this cue - + Toggle this cue type between normal cue and saved loop - + Left-click: Use the old size or the current beatloop size as the loop size - + Right-click: Use the current play position as loop end if it is after the cue - + Hotcue #%1 @@ -15408,407 +15553,438 @@ This can not be undone! - - E&xport Library to Engine Prime + + Search in Current View... + + + + + Search for tracks in the current library view - - Export the library to the Engine Prime format + + Ctrl+f - + + Search in Tracks Library... + + + + + Search in the internal track collection under "Tracks" in the library + + + + + Ctrl+Shift+F + + + + Create &New Playlist - + Create a new playlist Створює новий плейлист - + Ctrl+n - + Create New &Crate - + Create a new crate Створює нову збірку - + Ctrl+Shift+N - - + + &View &Вигляд - + Auto-hide menu bar - + Auto-hide the main menu bar when it's not used. - + May not be supported on all skins. - + Show Skin Settings Menu - + Show the Skin Settings Menu of the currently selected Skin - + Ctrl+1 Menubar|View|Show Skin Settings - + Show Microphone Section - + Show the microphone section of the Mixxx interface. - + Ctrl+2 Menubar|View|Show Microphone Section - + Show Vinyl Control Section - + Show the vinyl control section of the Mixxx interface. - + Ctrl+3 Menubar|View|Show Vinyl Control Section - + Show Preview Deck - + Show the preview deck in the Mixxx interface. - + Ctrl+4 Menubar|View|Show Preview Deck - + Show Cover Art - + Show cover art in the Mixxx interface. - + Ctrl+6 Menubar|View|Show Cover Art - + Maximize Library - + Maximize the track library to take up all the available screen space. - + Space Menubar|View|Maximize Library - + &Full Screen &На весь екран - + Display Mixxx using the full screen Відображення Mixxx у повноекранному режимі - + &Options &Опції - + &Vinyl Control &Контроль Вінілу - + Use timecoded vinyls on external turntables to control Mixxx Використання таймкод-платівок на зовнішньому програвачі для контролю Mixxx - + Enable Vinyl Control &%1 - + &Record Mix &Запис Міксу - + Record your mix to a file Записати Ваш мікс у файл - + Ctrl+R Ctrl+R - + Enable Live &Broadcasting Трансляція наж&иво - + Stream your mixes to a shoutcast or icecast server Трансляцыя ваших міксів на Shoutcast або Icecast сервер - + Ctrl+L Ctrl+L - + Enable &Keyboard Shortcuts К&лавіатурні скорочення - + Toggles keyboard shortcuts on or off Увімкнути чи вимкнути клавіатурні скорочення - + Ctrl+` - + &Preferences &Параметри - + Change Mixxx settings (e.g. playback, MIDI, controls) - + &Developer - + &Reload Skin - + Reload the skin - + Ctrl+Shift+R - + Developer &Tools - + Opens the developer tools dialog - + Ctrl+Shift+T - + Stats: &Experiment Bucket - + Enables experiment mode. Collects stats in the EXPERIMENT tracking bucket. - + Ctrl+Shift+E - + Stats: &Base Bucket - + Enables base mode. Collects stats in the BASE tracking bucket. - + Ctrl+Shift+B - + Deb&ugger Enabled - + Enables the debugger during skin parsing - + Ctrl+Shift+D - + &Help &Допомога - + Show Keywheel menu title Колесо тональностей - + + E&xport Library to Engine DJ + "Engine DJ" must not be translated + + + + + Export the library to the Engine DJ format + + + + Show keywheel tooltip text Показати колесо тональностей - + F12 Menubar|View|Show Keywheel - + &Community Support &Підтримка співтовариства - + Get help with Mixxx - + &User Manual &Керівництво користувача - + Read the Mixxx user manual. Читати інструкцію по Mixxx. - + &Keyboard Shortcuts К&лавіатурні скорочення - + Speed up your workflow with keyboard shortcuts. Працюйте ефективніше з клавіатурними скороченнями. - + &Settings directory Каталог параметр&ів - + Open the Mixxx user settings directory. Відкрити користувацький каталог параметрів Mixxx. - + &Translate This Application &Перекласти цю програму - + Help translate this application into your language. Домопогти перекладати цю програму на Вашу мову. - + &About &Про - + About the application Про цю програму @@ -15816,25 +15992,25 @@ This can not be undone! WOverview - + Passthrough Пересилання - + Ready to play, analyzing... Text on waveform overview when file is playable but no waveform is visible - - + + Loading track... Text on waveform overview when file is cached from source - + Finalizing... Text on waveform overview during finalizing of waveform analysis @@ -15843,25 +16019,13 @@ This can not be undone! WSearchLineEdit - - Clear input - Clear the search bar input field - - - - - Ctrl+F - Search|Focus - Ctrl+F - - - + Search noun - + Clear input @@ -15872,169 +16036,163 @@ This can not be undone! Пошук… - + Clear the search bar input field - - Enter a string to search for + + Return - - Use operators like bpm:115-128, artist:BooFar, -year:1990 + + Enter a string to search for. - - For more information see User Manual > Mixxx Library + + Use operators like bpm:115-128, artist:BooFar, -year:1990. - Shortcut - Скорочення + See User Manual > Mixxx Library for more information. + - - Ctrl+F - Ctrl+F + + Focus/Select All (Search in current view) + Give search bar input focus + - - Focus - Give search bar input focus + + Focus/Select All (Search in 'Tracks' library view) - - - Ctrl+Backspace + + Additional Shortcuts When Focused: - Shortcuts - Скорочення + Trigger search before search-as-you-type timeout or focus tracks view afterwards + - Return + Esc or Ctrl+Return - Trigger search before search-as-you-type timeout orjump to tracks view afterwards + Immediately trigger search and focus tracks view + Exit search bar and leave focus - + Ctrl+Space - + Toggle search history Shows/hides the search history entries - + Delete or Backspace - - Delete query from history + + in search history - - Esc - Esc - - - - Exit search - Exit search bar and leave focus + + Delete query from history WSearchRelatedTracksMenu - + Search related Tracks - + Key Тональність - + harmonic with %1 - + BPM BPM - + between %1 and %2 - + Artist Виконавець - + Album Artist Виконавець альбому - + Composer Композитор - + Title Назва - + Album Альбом - + Grouping Групування - + Year Рік - + Genre Стиль - + Directory - + &Search selected @@ -16042,599 +16200,625 @@ This can not be undone! WTrackMenu - + Load to - + Deck Програвач - + Sampler - + Add to Playlist Додати до Плейлиста - + Crates Збірки - + Metadata - + Update external collections - + Cover Art Обкладинки - + Adjust BPM - + Select Color - - + + Analyze Аналізувати - - + + Delete Track Files - + Add to Auto DJ Queue (bottom) Додати до черги Авто-DJ (знизу) - + Add to Auto DJ Queue (top) Додати до черги Авто-DJ (наверх) - + Add to Auto DJ Queue (replace) - + Preview Deck - + Remove Видалити - + Remove from Playlist - + Remove from Crate - + Hide from Library - + Unhide from Library - + Purge from Library - + Move Track File(s) to Trash - + Delete Files from Disk - + Properties - + Open in File Browser Відкрити в файловому менеджері - + Select in Library - + Import From File Tags - + Import From MusicBrainz - + Export To File Tags - + BPM and Beatgrid - + Play Count - + Rating Рейтинг - + Cue Point - + + Hotcues - + Intro - + Outro - + Key Тональність - + ReplayGain - + Waveform - + Comment Примітка - + All Все - + + Sort hotcues by position (remove offsets) + + + + + Sort hotcues by position + + + + Lock BPM Замкнути BPM - + Unlock BPM Розімкнути BPM - + Double BPM - + Halve BPM Навпіл BPM - + 2/3 BPM - + 3/4 BPM - + 4/3 BPM - + 3/2 BPM - + + Shift Beatgrid Half Beat + + + + Reanalyze - + Reanalyze (constant BPM) - + Reanalyze (variable BPM) - + Update ReplayGain from Deck Gain - + Deck %1 - + Importing metadata of %n track(s) from file tags - + Marking metadata of %n track(s) to be exported into file tags - - + + Create New Playlist Створити новий список відтворення - + Enter name for new playlist: Введіть ім'я для нового списку відтворення: - + New Playlist Новий Плейлист - - - + + + Playlist Creation Failed Не вдалося створити плейлист - + A playlist by that name already exists. Плейлист з таким ім'ям вже існує. - + A playlist cannot have a blank name. Плейлист не може мати пусте ім'я - + An unknown error occurred while creating playlist: Виникла невідома помилка при створенні плейлиста: - + Add to New Crate - + Scaling BPM of %n track(s) - + Undo BPM/beats change of %n track(s) - + Locking BPM of %n track(s) - + Unlocking BPM of %n track(s) - + Setting rating of %n track(s) - + Setting color of %n track(s) - + Resetting play count of %n track(s) - + Resetting beats of %n track(s) - + Clearing rating of %n track(s) - + Clearing comment of %n track(s) - + Removing main cue from %n track(s) - + Removing outro cue from %n track(s) - + Removing intro cue from %n track(s) - + Removing loop cues from %n track(s) - + Removing hot cues from %n track(s) - + + Sorting hotcues of %n track(s) by position (remove offsets) + + + + + Sorting hotcues of %n track(s) by position + + + + Resetting keys of %n track(s) - + Resetting replay gain of %n track(s) - + Resetting waveform of %n track(s) - + Resetting all performance metadata of %n track(s) - + Move these files to the trash bin? - + Permanently delete these files from disk? - - + + This can not be undone! - + Cancel Скасувати - + Delete Files - + Okay - + Move Track File(s) to Trash? - + Track Files Deleted - + Track Files Moved To Trash - + %1 track files were moved to trash and purged from the Mixxx database. - + %1 track files were deleted from disk and purged from the Mixxx database. - + Track File Deleted - + Track file was deleted from disk and purged from the Mixxx database. - + The following %1 file(s) could not be deleted from disk - + This track file could not be deleted from disk - + Remaining Track File(s) - + Close - + Clear Reset metadata in right click track context menu in library - + Loops - + Clear BPM and Beatgrid - + Undo last BPM/beats change - + Move this track file to the trash bin? - + Permanently delete this track file from disk? - + All decks where these tracks are loaded will be stopped and the tracks will be ejected. - + All decks where this track is loaded will be stopped and the track will be ejected. - + Removing %n track file(s) from disk... - + Note: if you are in the Computer or Recording view you need to click the current view again to see changes. - + Track File Moved To Trash - + Track file was moved to trash and purged from the Mixxx database. - + Don't show again during this session - + The following %1 file(s) could not be moved to trash - + This track file could not be moved to trash - + Setting cover art of %n track(s) - + Reloading cover art of %n track(s) @@ -16650,37 +16834,37 @@ This can not be undone! WTrackStemMenu - + Load for stem mixing - + Load pre-mixed stereo track - + Load the "%1" stem - + Load multiple stem into a stereo deck - + Select stems to load - + Release "CTRL" to load the current selection - + Use "CTRL" to select multiple stems @@ -16688,37 +16872,37 @@ This can not be undone! WTrackTableView - + Confirm track hide - + Are you sure you want to hide the selected tracks? - + Are you sure you want to remove the selected tracks from AutoDJ queue? - + Are you sure you want to remove the selected tracks from this crate? - + Are you sure you want to remove the selected tracks from this playlist? - + Don't ask again during this session - + Confirm track removal @@ -16726,60 +16910,65 @@ This can not be undone! WTrackTableViewHeader - + Show or hide columns. Показати або приховати стовпці. + + + Shuffle Tracks + + mixxx::CoreServices - + fonts - + database - + effects - + audio interface - + decks - + library - + Choose music library directory Виберіть каталог музичної бібліотеки - + controllers - + Cannot open database Не вдається відкрити базу даних - + Unable to establish a database connection. Mixxx requires QT with SQLite support. Please read the Qt SQL driver documentation for information on how to build it. @@ -16793,67 +16982,78 @@ Mixxx необхідно QT з підтримкою SQLite. Будь ласка, mixxx::DlgLibraryExport - + Entire music library - - Selected crates + + Crates + + + + + Playlists + + + + + Selected crates/playlists - + Browse Навігація - + Export directory - + Database version - + Export Експортувати - + Cancel Скасувати - - Export Library to Engine Prime + + Export Library to Engine DJ + "Engine DJ" must not be translated - + Export Library To - + No Export Directory Chosen - + No export directory was chosen. Please choose a directory in order to export the music library. - + A database already exists in the chosen directory. Exported tracks will be added into this database. - + A database already exists in the chosen directory, but there was a problem loading it. Export is not guaranteed to succeed in this situation. @@ -16874,7 +17074,7 @@ Mixxx необхідно QT з підтримкою SQLite. Будь ласка, mixxx::EnginePrimeExportJob - + Failed to export track %1 - %2: %3 %1 is the artist %2 is the title and %3 is the original error message @@ -16884,23 +17084,23 @@ Mixxx необхідно QT з підтримкою SQLite. Будь ласка, mixxx::LibraryExporter - + Export Completed - - Exported %1 track(s) and %2 crate(s). + + Exported %1 track(s), %2 crate(s), and %3 playlist(s). - + Export Failed - - Exporting to Engine Prime... + + Exporting to Engine DJ... diff --git a/res/translations/mixxx_vi.qm b/res/translations/mixxx_vi.qm index 6b74dd3bbb04ea02b52917e61ef73101d992069e..7eb72f8ef68434ab2f1f4b924db22e23e7084820 100644 GIT binary patch delta 18060 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 delta 14063 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 Hch&y|l#9o3 diff --git a/res/translations/mixxx_vi.ts b/res/translations/mixxx_vi.ts index c79104cd9626..2203c32114fb 100644 --- a/res/translations/mixxx_vi.ts +++ b/res/translations/mixxx_vi.ts @@ -21,52 +21,53 @@ Crates - Thùng + Crates + Enable Auto DJ - + DJ Tự động Disable Auto DJ - + Tắt Tự động DJ Clear Auto DJ Queue - + Dọn hàng đợi Tự động DJ - + Remove Crate as Track Source - Loại bỏ thùng như theo dõi nguồn + Xoá Crate làm Nguồn track nhạc - + Auto DJ Tự động DJ - + Confirmation Clear - + Xác nhận Xoá - + Do you really want to remove all tracks from the Auto DJ queue? - + Bạn có muốn xoá mọi track nhạc khỏi hàng đợi Tự động DJ không? - + This can not be undone. - + Hành động này không thể quay lại được. - + Add Crate as Track Source - Thêm thùng như theo dõi nguồn + Thêm Crate làm Nguồn track nhạc @@ -81,20 +82,20 @@ Error loading Banshee database - Lỗi tải Banshee cơ sở dữ liệu + Lỗi tải Cơ sở dữ liệu Banshee Banshee database file not found at - Banshee cơ sở dữ liệu tập tin không tìm thấy tại + Không tìm thấy tệp Cơ sở dữ liệu Banshee tại There was an error loading your Banshee database at - Đã có lỗi tải của bạn cơ sở dữ liệu Banshee tại + Lỗi tải Cơ sở dữ liệu Banshee của bạn tại @@ -103,76 +104,76 @@ Add to Auto DJ Queue (bottom) - Thêm vào hàng đợi DJ tự động (phía dưới) + Thêm vào hàng đợi DJ tự động (dưới) Add to Auto DJ Queue (top) - Thêm vào hàng đợi DJ tự động (top) + Thêm vào hàng đợi DJ Tự động (trên) Add to Auto DJ Queue (replace) - + Thêm vào hàng đợi DJ Tự động (thay thế) Import as Playlist - + Nhập thành Playlist Import as Crate - + Nhập thành Crate Crate Creation Failed - + Tạo Crate không thành cộng. Could not create crate, it most likely already exists: - + Không tạo được Crate, có thể đã có sẵn Crate đó. Playlist Creation Failed - Sáng tạo danh sách phát đã thất bại + Tạo Playlist không thành công. An unknown error occurred while creating playlist: - Lỗi không biết xảy ra trong khi tạo danh sách chơi: + Lỗi vô định khi tạo Playlist: BasePlaylistFeature - + New Playlist - Danh sách chơi mới + Playlist mới Add to Auto DJ Queue (bottom) - Thêm vào hàng đợi DJ tự động (phía dưới) + Thêm vào hàng đợi DJ Tự động (dưới) - + Create New Playlist - Tạo danh sách chơi mới + Tạo Playlist mới Add to Auto DJ Queue (top) - Thêm vào hàng đợi DJ tự động (top) + Thêm vào hàng đợi DJ Tự động (trên) Remove - Loại bỏ + Xoá @@ -187,129 +188,136 @@ Duplicate - Bản sao + Tạo bản sao - - + + Import Playlist - Chuyển nhập danh sách phát + Nhập Playlist - + Export Track Files - + Xuất file Track nhạc - + Analyze entire Playlist - Phân tích toàn bộ danh sách phát + Phân tích toàn bộ Playlist - + Enter new name for playlist: - Nhập tên mới cho danh sách chơi: + Nhập tên mới cho Playlist: - + Duplicate Playlist - Lặp lại danh sách chơi + Tạo bản sao cho Playlist - - + + Enter name for new playlist: - Nhập tên cho danh sách phát mới: + Nhập tên cho Playlist mới: - - + + Export Playlist - Xuất chuyển danh sách chơi + Xuất Playlist - + Add to Auto DJ Queue (replace) + Thêm vào hàng chờ DJ Tự động (thay thế) + + + + + Export to Engine DJ + "Engine DJ" is a product name and must not be translated. - + Rename Playlist - Đổi tên danh sách chơi + Đổi tên Playlist - - + + Renaming Playlist Failed - Đổi tên danh sách phát đã thất bại + Đổi tên Playlist thất bại - - - + + + A playlist by that name already exists. - Một danh sách tên đó đã tồn tại. + Đã có Playlist tồn tại có cùng tên. - - - + + + A playlist cannot have a blank name. - Một danh sách không thể có một tên trống. + Tên Playlist không được để trống. - + _copy //: Appendix to default name when duplicating a playlist _copy - - - - - - + + + + + + Playlist Creation Failed - Sáng tạo danh sách phát đã thất bại + Tạo Playlist thất bại. - - + + An unknown error occurred while creating playlist: - Lỗi không biết xảy ra trong khi tạo danh sách chơi: + Lỗi vô định khi tạo playlist: - + Confirm Deletion - + Xác nhận Xoá - + Do you really want to delete playlist <b>%1</b>? - + Bạn có muốn xoá Playlist <b>%1</b>? - + M3U Playlist (*.m3u) - + Playlist M3U (*.m3u) - + M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Text CSV (*.csv);;Readable Text (*.txt) - M3U danh sách bài hát (*.m3u); M3U8 danh sách bài hát (*.m3u8); PLS danh sách bài hát (* .pls); Văn bản CSV (*.csv); Có thể đọc được văn bản (*.txt) + Playlist M3U (*.m3u); playlist M3U8 (*.m3u8); playlist PLS (* .pls); Văn bản CSV (*.csv); Văn bản dạng đọc (*.txt) BaseSqlTableModel - + # # - + Timestamp Dấu thời gian @@ -317,148 +325,153 @@ BaseTrackPlayerImpl - + Couldn't load track. - Không thể nạp theo dõi. + Không thể load track nhạc. BaseTrackTableModel - + Album Album - + Album Artist - Album nghệ sĩ + Nghệ sĩ của Album - + Artist Nghệ sĩ - + Bitrate Bitrate - + BPM BPM - + Channels Kênh - + Color - + Màu - + Comment Bình luận - + Composer Nhà soạn nhạc - + Cover Art - Bìa + Ảnh bìa - + Date Added Ngày thêm vào - + Last Played - + Lần cuối phát - + Duration - Thời gian + Độ dài - + Type Loại - + Genre Thể loại - + Grouping Nhóm - + Key - Chìa khóa + Khoá - + Location Vị trí - + + Overview + Tổng quan + + + Preview Xem trước - + Rating Đánh giá - + ReplayGain - + ReplayGain (Âm lượng Phát lại) - + Samplerate - + Samplerate - + Played - Chơi + Đã phát - + Title Tiêu đề - + Track # - Theo dõi # + STT Track # - + Year Năm - + Fetching image ... Tooltip text on the cover art column shown when the cover is read from disk - + Đang tải hình ảnh ... @@ -466,12 +479,12 @@ Action failed - + Tác vụ thất bại Please enable at least one connection to use Live Broadcasting. - + Vui lòng bật ít nhất một kết nối để dùng Phát Trực tiếp. @@ -479,22 +492,22 @@ Can't use secure password storage: keychain access failed. - + Không thể dùng kho lưu trữ mật khẩu bảo mật: không truy cập được keychain. Secure password retrieval unsuccessful: keychain access failed. - + Không thể truy xuất mật khẩu bảo mật: không truy cập được keychain. Settings error - + Lỗi Cài đặt <b>Error with settings for '%1':</b><br> - + <b>Lỗi Cài đặt cho '%1':</b><br> @@ -502,7 +515,7 @@ Enabled - Kích hoạt + Bật @@ -512,96 +525,106 @@ Status - + Trạng thái Disconnected - + Đã ngắt kết nôi Connecting... - + Đang kết nối... Connected - + Đã kết nối Failed - + Thất bại Unknown - + Vô định BrowseFeature - + Add to Quick Links - Thêm vào liên kết nhanh + Thêm vào Liên kết Nhanh - + Remove from Quick Links - Loại bỏ từ liên kết nhanh + Xoá khỏi Liên kết Nhanh - + Add to Library - Thêm vào thư viện + Thêm vào Thư viện - + Refresh directory tree - + Làm mới Cây Thư mục - + Quick Links - Liên kết nhanh + Liên kết Nhanh - - + + Devices Thiết bị - + Removable Devices - Thiết bị di động + Thiết bị Di động - - + + Computer - + Máy tính - + Music Directory Added - Âm nhạc thư mục bổ sung + Đường dẫn nguồn Nhạc đã được thêm - + You added one or more music directories. The tracks in these directories won't be available until you rescan your library. Would you like to rescan now? - Bạn đã thêm vào một hoặc nhiều thư mục âm nhạc. Các bài hát trong những thư mục này sẽ không có sẵn cho đến khi bạn tại thư viện của bạn. Bạn có muốn tại bây giờ không? + Bạn đã thêm vào một hoặc nhiều thư mục nhạc. Các bài nhạc trong những thư mục này sẽ không hiện cho dến khi bạn quét lại thư viện của bạn. Bạn có muốn quét bây giờ không? - + Scan Quét - + "Computer" lets you navigate, view, and load tracks from folders on your hard disk and external devices. + Mục "Máy tính" giúp tìm kiếm, xem trước và tải track nhạc từ các thư mục trong ổ cứng và thiết bị lưu trữ ngoài. + + + + It shows the data from the file tags, not track data from your Mixxx library like other track views. + + + + + If you load a track file from here, it will be added to your library. @@ -635,7 +658,7 @@ Track # - Theo dõi # + STT Track # @@ -660,7 +683,7 @@ Duration - Thời gian + Độ dài @@ -1046,13 +1069,13 @@ trace - Above + Profiling messages - + Set to full volume Thiết lập để khối lượng đầy đủ - + Set to zero volume Thiết lập số không khối lượng @@ -1077,13 +1100,13 @@ trace - Above + Profiling messages Đảo ngược nút cuộn (kiểm duyệt) - + Headphone listen button Tai nghe nghe nút - + Mute button Nút tắt @@ -1094,25 +1117,25 @@ trace - Above + Profiling messages - + Mix orientation (e.g. left, right, center) Trộn định hướng (ví dụ: trái, phải, Trung tâm) - + Set mix orientation to left Thiết lập kết hợp định hướng bên trái - + Set mix orientation to center Thiết lập kết hợp định hướng đến Trung tâm - + Set mix orientation to right Thiết lập kết hợp định hướng sang phải @@ -1153,22 +1176,22 @@ trace - Above + Profiling messages BPM tap nút - + Toggle quantize mode Bật/tắt quantize chế độ - + One-time beat sync (tempo only) Một lần đánh bại đồng bộ (nhịp độ) - + One-time beat sync (phase only) Một lần đánh bại đồng bộ (chỉ giai đoạn) - + Toggle keylock mode Bật tắt chế độ khóa bàn phím @@ -1178,193 +1201,193 @@ trace - Above + Profiling messages Equalizers - + Vinyl Control Vinyl kiểm soát - + Toggle vinyl-control cueing mode (OFF/ONE/HOT) Bật tắt chế độ cueing vinyl kiểm soát (OFF/1/bể) - + Toggle vinyl-control mode (ABS/REL/CONST) Bật tắt chế độ kiểm soát vinyl (ABS/REL/XD) - + Pass through external audio into the internal mixer Đi qua âm thanh bên ngoài vào máy trộn nội bộ - + Cues Tín hiệu - + Cue button Cue nút - + Set cue point Thiết lập cue điểm - + Go to cue point Đi đến cue điểm - + Go to cue point and play Đi đến cue điểm và chơi - + Go to cue point and stop Đi để ghi chú vào điểm và ngừng - + Preview from cue point Xem trước từ cue điểm - + Cue button (CDJ mode) Cue nút (CDJ chế độ) - + Stutter cue Nói lắp cue - + Hotcues Hotcues - + Set, preview from or jump to hotcue %1 Thiết lập, xem trước từ hoặc nhảy để hotcue %1 - + Clear hotcue %1 Rõ ràng hotcue %1 - + Set hotcue %1 Thiết lập hotcue %1 - + Jump to hotcue %1 Chuyển đến hotcue %1 - + Jump to hotcue %1 and stop Chuyển đến hotcue %1 và dừng - + Jump to hotcue %1 and play Chuyển đến hotcue %1 và chơi - + Preview from hotcue %1 Xem trước từ hotcue %1 - - + + Hotcue %1 Hotcue %1 - + Looping Looping - + Loop In button Vòng lặp trong nút - + Loop Out button Vòng lặp trong nút - + Loop Exit button Vòng ra nút - + 1/2 1/2 - + 1 1 - + 2 2 - + 4 4 - + 8 8 - + 16 16 - + 32 32 - + 64 64 - + Move loop forward by %1 beats Di chuyển vòng về phía trước bởi %1 nhịp đập - + Move loop backward by %1 beats Di chuyển vòng quay trở lại bởi nhịp đập %1 - + Create %1-beat loop Tạo đánh bại %1 loop - + Create temporary %1-beat loop roll Tạo tạm thời đánh bại %1 vòng cuộn @@ -1480,20 +1503,20 @@ trace - Above + Profiling messages - - + + Volume Fader Khối lượng đổi - + Full Volume Khối lượng đầy đủ - + Zero Volume Khối lượng không @@ -1509,7 +1532,7 @@ trace - Above + Profiling messages - + Mute Tắt tiếng @@ -1520,7 +1543,7 @@ trace - Above + Profiling messages - + Headphone Listen Tai nghe nghe @@ -1541,25 +1564,25 @@ trace - Above + Profiling messages - + Orientation Định hướng - + Orient Left Định hướng trái - + Orient Center Trung tâm phương đông - + Orient Right Định hướng bên phải @@ -1629,82 +1652,82 @@ trace - Above + Profiling messages Điều chỉnh beatgrid ở bên phải - + Adjust Beatgrid Điều chỉnh Beatgrid - + Align beatgrid to current position Sắp xếp beatgrid đến vị trí hiện tại - + Adjust Beatgrid - Match Alignment Điều chỉnh Beatgrid - trận đấu liên kết - + Adjust beatgrid to match another playing deck. Điều chỉnh beatgrid để phù hợp với một sân chơi. - + Quantize Mode Quantize chế độ - + Sync Đồng bộ - + Beat Sync One-Shot Đánh bại đồng bộ một-shot - + Sync Tempo One-Shot Tiến độ đồng bộ một-shot - + Sync Phase One-Shot Giai đoạn đồng bộ một-shot - + Pitch control (does not affect tempo), center is original pitch Sân kiểm soát (không ảnh hưởng đến tiến độ), Trung tâm là ban đầu pitch - + Pitch Adjust Điều chỉnh pitch - + Adjust pitch from speed slider pitch Điều chỉnh pitch từ tốc độ trượt Sân - + Match musical key Phù hợp với âm nhạc khóa - + Match Key Phù hợp với phím - + Reset Key Thiết lập lại phím - + Resets key to original Đặt lại chìa khóa để ban đầu @@ -1745,451 +1768,451 @@ trace - Above + Profiling messages Thấp EQ - + Toggle Vinyl Control Bật tắt Vinyl kiểm soát - + Toggle Vinyl Control (ON/OFF) Bật tắt Vinyl kiểm soát (ON/OFF) - + Vinyl Control Mode Vinyl kiểm soát chế độ - + Vinyl Control Cueing Mode Vinyl kiểm soát Cueing chế độ - + Vinyl Control Passthrough Vinyl kiểm soát Passthrough - + Vinyl Control Next Deck Vinyl kiểm soát tiếp theo sàn - + Single deck mode - Switch vinyl control to next deck Chế độ tầng - chuyển đổi vinyl kiểm soát đến tầng tiếp theo - + Cue Cue - + Set Cue Thiết lập Cue - + Go-To Cue Go To Cue - + Go-To Cue And Play Go To Cue và chơi - + Go-To Cue And Stop Go To Cue và dừng - + Preview Cue Xem trước Cue - + Cue (CDJ Mode) Cue (CDJ chế độ) - + Stutter Cue Nói lắp Cue - + Go to cue point and play after release - + Clear Hotcue %1 Rõ ràng Hotcue %1 - + Set Hotcue %1 Thiết lập Hotcue %1 - + Jump To Hotcue %1 Chuyển đến Hotcue %1 - + Jump To Hotcue %1 And Stop Chuyển đến Hotcue %1 và dừng - + Jump To Hotcue %1 And Play Chuyển đến Hotcue %1 và chơi - + Preview Hotcue %1 Xem trước Hotcue %1 - + Loop In Vòng lặp trong - + Loop Out Vòng lặp trong - + Loop Exit Thoát khỏi vòng lặp - + Reloop/Exit Loop Reloop/thoát khỏi vòng lặp - + Loop Halve Loop giảm một nửa - + Loop Double Vòng lặp đôi - + 1/32 1/32 - + 1/16 1/16 - + 1/8 1/8 - + 1/4 1/4 - + Move Loop +%1 Beats Di chuyển vòng lặp + %1 nhịp đập - + Move Loop -%1 Beats Di chuyển vòng lặp-nhịp đập %1 - + Loop %1 Beats Nhịp đập vòng %1 - + Loop Roll %1 Beats Loop Roll %1 nhịp đập - + Add to Auto DJ Queue (bottom) Thêm vào hàng đợi DJ tự động (phía dưới) - + Append the selected track to the Auto DJ Queue Gắn tiếp theo dõi được chọn vào xếp hàng DJ tự động - + Add to Auto DJ Queue (top) Thêm vào hàng đợi DJ tự động (top) - + Prepend selected track to the Auto DJ Queue Thêm các ca khúc được chọn để xếp hàng DJ tự động - + Load Track Theo dõi tải - + Load selected track Tải được chọn theo dõi - + Load selected track and play Tải được chọn theo dõi và chơi - - + + Record Mix Ghi kết hợp - + Toggle mix recording Chuyển đổi kết hợp ghi âm - + Effects Hiệu ứng - + Quick Effects Tác dụng nhanh chóng - + Deck %1 Quick Effect Super Knob Sàn %1 có hiệu lực nhanh chóng siêu Knob - + Quick Effect Super Knob (control linked effect parameters) Nhanh chóng có hiệu lực Super Knob (điều khiển liên kết có hiệu lực tham số) - - + + Quick Effect Có hiệu lực nhanh chóng - + Clear Unit Rõ ràng đơn vị - + Clear effect unit Đơn vị có hiệu lực rõ ràng - + Toggle Unit Chuyển đổi đơn vị - + Dry/Wet Giặt/ướt - + Adjust the balance between the original (dry) and processed (wet) signal. Điều chỉnh sự cân bằng giữa bản gốc (khô) và xử lý tín hiệu (ướt). - + Super Knob Siêu Knob - + Next Chain Tiếp theo chuỗi - + Assign Chỉ định - + Clear Rõ ràng - + Clear the current effect Rõ ràng các hiệu ứng hiện tại - + Toggle Chuyển đổi - + Toggle the current effect Chuyển đổi có hiệu lực hiện tại - + Next Tiếp theo - + Switch to next effect Chuyển sang kế tiếp có hiệu lực - + Previous Trước đó - + Switch to the previous effect Chuyển đổi để có hiệu lực trước đó - + Next or Previous Kế tiếp hoặc trước đó - + Switch to either next or previous effect Chuyển sang kế tiếp hoặc trước đó có hiệu lực - - + + Parameter Value Giá trị tham số - - + + Microphone Ducking Strength Micro Ducking sức mạnh - + Microphone Ducking Mode Micro Ducking chế độ - + Gain Đạt được - + Gain knob Đạt được knob - + Shuffle the content of the Auto DJ queue - + Skip the next track in the Auto DJ queue - + Auto DJ Toggle Tự động bật/tắt DJ - + Toggle Auto DJ On/Off Chuyển đổi tự động DJ On/Off - + Show/hide the microphone & auxiliary section - + 4 Effect Units Show/Hide - + Switches between showing 2 and 4 effect units - + Mixer Show/Hide - + Show or hide the mixer. Hiện hoặc ẩn bộ trộn. - + Cover Art Show/Hide (Library) - + Show/hide cover art in the library - + Library Maximize/Restore Thư viện tối đa hóa/khôi phục lại - + Maximize the track library to take up all the available screen space. Tối đa hóa thư viện theo dõi để mất tất cả không gian màn hình có sẵn. - + Effect Rack Show/Hide Có hiệu lực Rack Hiển thị/ẩn - + Show/hide the effect rack Hiển thị/ẩn các rack có hiệu lực - + Waveform Zoom Out Dạng sóng thu nhỏ @@ -2204,102 +2227,102 @@ trace - Above + Profiling messages Tai nghe được - + Tap to sync tempo (and phase with quantize enabled), hold to enable permanent sync - + One-time beat sync tempo (and phase with quantize enabled) - + Playback Speed Tốc độ phát lại - + Playback speed control (Vinyl "Pitch" slider) Kiểm soát tốc độ phát lại (Vinyl "Cắm" trượt) - + Pitch (Musical key) Pitch (âm nhạc phím) - + Increase Speed Tăng tốc độ - + Adjust speed faster (coarse) Điều chỉnh tốc độ nhanh hơn (thô) - + Increase Speed (Fine) Tăng tốc độ (Mỹ) - + Adjust speed faster (fine) Điều chỉnh tốc độ nhanh hơn (Mỹ) - + Decrease Speed Giảm tốc độ - + Adjust speed slower (coarse) Điều chỉnh tốc độ chậm hơn (thô) - + Adjust speed slower (fine) Điều chỉnh tốc độ chậm hơn (Mỹ) - + Temporarily Increase Speed Tạm thời tăng tốc độ - + Temporarily increase speed (coarse) Tạm thời tăng tốc độ (thô) - + Temporarily Increase Speed (Fine) Tạm thời tăng tốc độ (Mỹ) - + Temporarily increase speed (fine) Tạm thời tăng tốc độ (Mỹ) - + Temporarily Decrease Speed Tạm thời giảm tốc độ - + Temporarily decrease speed (coarse) Tạm thời giảm tốc độ (thô) - + Temporarily Decrease Speed (Fine) Tạm thời giảm tốc độ (Mỹ) - + Temporarily decrease speed (fine) Tạm thời giảm tốc độ (Mỹ) @@ -2451,1053 +2474,1063 @@ trace - Above + Profiling messages - - + + Move Beatgrid Half a Beat + + + + + Adjust the beatgrid by exactly one half beat. Usable only for tracks with constant tempo. + + + + + Toggle the BPM/beatgrid lock - + Revert last BPM/Beatgrid Change - + Revert last BPM/Beatgrid Change of the loaded track. - + Sync / Sync Lock - + Internal Sync Leader - + Toggle Internal Sync Leader - - + + Internal Leader BPM - + Internal Leader BPM +1 - + Increase internal Leader BPM by 1 - + Internal Leader BPM -1 - + Decrease internal Leader BPM by 1 - + Internal Leader BPM +0.1 - + Increase internal Leader BPM by 0.1 - + Internal Leader BPM -0.1 - + Decrease internal Leader BPM by 0.1 - + Sync Leader - + Sync mode 3-state toggle / indicator (Off, Soft Leader, Explicit Leader) - + Speed - + Decrease Speed (Fine) - + Pitch (Musical Key) - + Increase Pitch - + Increases the pitch by one semitone - + Increase Pitch (Fine) - + Increases the pitch by 10 cents - + Decrease Pitch - + Decreases the pitch by one semitone - + Decrease Pitch (Fine) - + Decreases the pitch by 10 cents - + Keylock - + CUP (Cue + Play) - + Shift cue points earlier - + Shift cue points 10 milliseconds earlier - + Shift cue points earlier (fine) - + Shift cue points 1 millisecond earlier - + Shift cue points later - + Shift cue points 10 milliseconds later - + Shift cue points later (fine) - + Shift cue points 1 millisecond later - - + + Sort hotcues by position - - + + Sort hotcues by position (remove offsets) - + Hotcues %1-%2 - + Intro / Outro Markers - + Intro Start Marker - + Intro End Marker - + Outro Start Marker - + Outro End Marker - + intro start marker - + intro end marker - + outro start marker - + outro end marker - + Activate %1 [intro/outro marker - + Jump to or set the %1 [intro/outro marker - + Set %1 [intro/outro marker - + Set or jump to the %1 [intro/outro marker - + Clear %1 [intro/outro marker - + Clear the %1 [intro/outro marker - + if the track has no beats the unit is seconds - + Loop Selected Beats - + Create a beat loop of selected beat size - + Loop Roll Selected Beats - + Create a rolling beat loop of selected beat size - + Loop %1 Beats set from its end point - + Loop Roll %1 Beats set from its end point - + Create %1-beat loop with the current play position as loop end - + Create temporary %1-beat loop roll with the current play position as loop end - + Loop Beats - + Loop Roll Beats - + Go To Loop In - + Go to Loop In button - + Go To Loop Out - + Go to Loop Out button - + Toggle loop on/off and jump to Loop In point if loop is behind play position - + Reloop And Stop - + Enable loop, jump to Loop In point, and stop - + Halve the loop length - + Double the loop length - + Beat Jump / Loop Move - + Jump / Move Loop Forward %1 Beats - + Jump / Move Loop Backward %1 Beats - + Jump forward by %1 beats, or if a loop is enabled, move the loop forward %1 beats - + Jump backward by %1 beats, or if a loop is enabled, move the loop backward %1 beats - + Beat Jump / Loop Move Forward Selected Beats - + Jump forward by the selected number of beats, or if a loop is enabled, move the loop forward by the selected number of beats - + Beat Jump / Loop Move Backward Selected Beats - + Jump backward by the selected number of beats, or if a loop is enabled, move the loop backward by the selected number of beats - + Beat Jump - + Indicate which loop marker remain static when adjusting the size or is inherited from the current position - + Beat Jump / Loop Move Forward - + Beat Jump / Loop Move Backward - + Loop Move Forward - + Loop Move Backward - + Remove Temporary Loop - + Remove the temporary loop - + Navigation - + Move up - + Equivalent to pressing the UP key on the keyboard - + Move down - + Equivalent to pressing the DOWN key on the keyboard - + Move up/down - + Move vertically in either direction using a knob, as if pressing UP/DOWN keys - + Scroll Up - + Equivalent to pressing the PAGE UP key on the keyboard - + Scroll Down - + Equivalent to pressing the PAGE DOWN key on the keyboard - + Scroll up/down - + Scroll vertically in either direction using a knob, as if pressing PGUP/PGDOWN keys - + Move left - + Equivalent to pressing the LEFT key on the keyboard - + Move right - + Equivalent to pressing the RIGHT key on the keyboard - + Move left/right - + Move horizontally in either direction using a knob, as if pressing LEFT/RIGHT keys - + Move focus to right pane - + Equivalent to pressing the TAB key on the keyboard - + Move focus to left pane - + Equivalent to pressing the SHIFT+TAB key on the keyboard - + Move focus to right/left pane - + Move focus one pane to right or left using a knob, as if pressing TAB/SHIFT+TAB keys - + Sort focused column - + Sort the column of the cell that is currently focused, equivalent to clicking on its header - + Go to the currently selected item - + Choose the currently selected item and advance forward one pane if appropriate - + Load Track and Play - + Add to Auto DJ Queue (replace) - + Replace Auto DJ Queue with selected tracks - + Select next search history - + Selects the next search history entry - + Select previous search history - + Selects the previous search history entry - + Move selected search entry - + Moves the selected search history item into given direction and steps - + Clear search - + Clears the search query - - + + Select Next Color Available - + Select the next color in the color palette for the first selected track - - + + Select Previous Color Available - + Select the previous color in the color palette for the first selected track - + Deck %1 Quick Effect Enable Button - + Quick Effect Enable Button - + Enable or disable effect processing Kích hoạt hoặc vô hiệu hoá hiệu ứng xử lý - + Super Knob (control effects' Meta Knobs) - + Mix Mode Toggle - + Toggle effect unit between D/W and D+W modes - + Next chain preset Tiếp theo chuỗi cài sẵn - + Previous Chain Chuỗi trước - + Previous chain preset Trước chuỗi cài sẵn - + Next/Previous Chain Kế tiếp/trước Chuỗi - + Next or previous chain preset Kế tiếp hoặc trước đó chuỗi cài sẵn - - + + Show Effect Parameters - + Effect Unit Assignment - + Meta Knob - + Effect Meta Knob (control linked effect parameters) - + Meta Knob Mode - + Set how linked effect parameters change when turning the Meta Knob. - + Meta Knob Mode Invert - + Invert how linked effect parameters change when turning the Meta Knob. - - + + Button Parameter Value - + Microphone / Auxiliary Micro / phụ trợ - + Microphone On/Off Micro baät/taét - + Microphone on/off Micro baät/taét - + Toggle microphone ducking mode (OFF, AUTO, MANUAL) Bật/tắt Micro ducking chế độ (OFF, tự động, hướng dẫn sử dụng) - + Auxiliary On/Off Liên minh baät/taét - + Auxiliary on/off Liên minh baät/taét - + Auto DJ Tự động DJ - + Auto DJ Shuffle Tự động DJ Shuffle - + Auto DJ Skip Next Tự động DJ bỏ qua tiếp theo - + Auto DJ Add Random Track - + Add a random track to the Auto DJ queue - + Auto DJ Fade To Next Tự động DJ phai để tiếp theo - + Trigger the transition to the next track Kích hoạt sự chuyển đổi sang bài hát kế tiếp - + User Interface Giao diện người dùng - + Samplers Show/Hide Samplers Hiển thị/ẩn - + Show/hide the sampler section Hiển thị/ẩn phần sampler - + Microphone && Auxiliary Show/Hide keep double & to prevent creation of keyboard accelerator - + Waveform Zoom Reset To Default - + Reset the waveform zoom level to the default value selected in Preferences -> Waveforms - + Select the next color in the color palette for the loaded track. - + Select previous color in the color palette for the loaded track. - + Navigate Through Track Colors - + Select either next or previous color in the palette for the loaded track. - + Start/Stop Live Broadcasting - + Stream your mix over the Internet. Dòng hỗn hợp của bạn qua Internet. - + Start/stop recording your mix. - - + + Samplers - + Vinyl Control Show/Hide Vinyl kiểm soát Hiển thị/ẩn - + Show/hide the vinyl control section Hiển thị/ẩn phần kiểm soát vinyl - + Preview Deck Show/Hide Xem trước sàn Hiển thị/ẩn - + Show/hide the preview deck Hiển thị/ẩn tầng xem trước - + Toggle 4 Decks Bật tắt 4 sàn - + Switches between showing 2 decks and 4 decks. Thiết bị chuyển mạch giữa Hiển thị 2 sàn và 4 sàn. - + Cover Art Show/Hide (Decks) - + Show/hide cover art in the main decks - + Vinyl Spinner Show/Hide Vinyl Spinner Hiển thị/ẩn - + Show/hide spinning vinyl widget Hiển thị/ẩn quay vinyl Tiện ích - + Vinyl Spinners Show/Hide (All Decks) - + Show/Hide all spinnies - + Toggle Waveforms - + Show/hide the scrolling waveforms. - + Waveform zoom Thu phóng dạng sóng - + Waveform Zoom Thu phóng dạng sóng - + Zoom waveform in Phóng to dạng sóng - + Waveform Zoom In Dạng sóng phóng to - + Zoom waveform out Thu nhỏ dạng sóng - + Star Rating Up - + Increase the track rating by one star - + Star Rating Down - + Decrease the track rating by one star @@ -3612,32 +3645,32 @@ trace - Above + Profiling messages ControllerScriptEngineBase - + The functionality provided by this controller mapping will be disabled until the issue has been resolved. - + You can ignore this error for this session but you may experience erratic behavior. - + Try to recover by resetting your controller. Cố gắng phục hồi bằng cách đặt lại trình điều khiển. - + Controller Mapping Error - + The mapping for your controller "%1" is not working properly. - + The script code needs to be fixed. Mã kịch bản cần phải được cố định. @@ -3745,7 +3778,7 @@ trace - Above + Profiling messages Nhập khẩu thùng - + Export Crate Xuất khẩu thùng @@ -3755,7 +3788,7 @@ trace - Above + Profiling messages Mở khóa - + An unknown error occurred while creating crate: Lỗi không biết xảy ra trong khi tạo thùng: @@ -3764,12 +3797,6 @@ trace - Above + Profiling messages Rename Crate Đổi tên thùng - - - - Export to Engine Prime - - Make a crate for your next gig, for your favorite electrohouse tracks, or for your most requested tracks. @@ -3787,17 +3814,17 @@ trace - Above + Profiling messages Đổi tên thùng thất bại - + Crate Creation Failed - + M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Text CSV (*.csv);;Readable Text (*.txt) M3U danh sách bài hát (*.m3u); M3U8 danh sách bài hát (*.m3u8); PLS danh sách bài hát (* .pls); Văn bản CSV (*.csv); Có thể đọc được văn bản (*.txt) - + M3U Playlist (*.m3u) M3U danh sách bài hát (*.m3u) @@ -3806,6 +3833,12 @@ trace - Above + Profiling messages Crates are a great way to help organize the music you want to DJ with. Thùng là một cách tuyệt vời để giúp tổ chức nhạc bạn muốn DJ với. + + + + Export to Engine DJ + + Crates let you organize your music however you'd like! @@ -3917,12 +3950,12 @@ trace - Above + Profiling messages Trong quá khứ những người đóng góp - + Official Website - + Donate @@ -4434,37 +4467,37 @@ Often results in higher quality beatgrids, but will not do well on tracks that h Nếu ánh xạ không làm việc cố gắng bật một tùy chọn nâng cao dưới đây và sau đó cố gắng kiểm soát một lần nữa. Hoặc bấm thử lại để redetect kiểm soát midi. - + Didn't get any midi messages. Please try again. Đã không nhận được bất kỳ tin nhắn midi. Xin vui lòng thử lại. - + Unable to detect a mapping -- please try again. Be sure to only touch one control at once. Không thể phát hiện một bản đồ--xin vui lòng thử lại. Hãy chắc chắn để chỉ liên lạc một điều khiển cùng một lúc. - + Successfully mapped control: Thành công lập bản đồ kiểm soát: - + <i>Ready to learn %1</i> <i>Sẵn sàng để tìm hiểu %1</i> - + Learning: %1. Now move a control on your controller. Học tập: %1. Bây giờ di chuyển một điều khiển trên bộ điều khiển của bạn. - + The selected control does not exist.<br>This likely a bug. Please report it on the Mixxx bug tracker.<br><a href='https://github.com/mixxxdj/mixxx/issues'>https://github.com/mixxxdj/mixxx/issues</a><br><br>You tried to learn: %1,%2 - + The control you clicked in Mixxx is not learnable. This could be because you are either using an old skin and this control is no longer supported, or you clicked a control that provides visual feedback and can only be mapped to outputs like LEDs via scripts. @@ -4503,17 +4536,17 @@ You tried to learn: %1,%2 - + Log Đăng nhập - + Search Tìm - + Stats Số liệu thống kê @@ -5166,114 +5199,114 @@ associated with each key. DlgPrefController - + Apply device settings? Áp dụng thiết đặt? - + Your settings must be applied before starting the learning wizard. Apply settings and continue? Cài đặt của bạn phải được áp dụng trước khi bắt đầu thuật sĩ học tập. Áp dụng thiết đặt và tiếp tục? - + None Không có - + %1 by %2 %1 bởi %2 - + Mapping has been edited - + Always overwrite during this session - + Save As - + Overwrite - + Save user mapping - + Enter the name for saving the mapping to the user folder. - + Saving mapping failed - + A mapping cannot have a blank name and may not contain special characters. - + A mapping file with that name already exists. - + Do you want to save the changes? - + Troubleshooting Giải đáp thắc mắc - + <font color='#BB0000'><b>If you use this mapping your controller may not work correctly. Please select another mapping or disable the controller.</b></font><br><br>This mapping was designed for a newer Mixxx Controller Engine and cannot be used on your current Mixxx installation.<br>Your Mixxx installation has Controller Engine version %1. This mapping requires a Controller Engine version >= %2.<br><br>For more information visit the wiki page on <a href='https://mixxx.org/wiki/doku.php/controller_engine_versions'>Controller Engine Versions</a>. - + Mapping already exists. - + <b>%1</b> already exists in user mapping folder.<br>Overwrite or save with a new name? - + Clear Input Mappings Rõ ràng đầu vào ánh xạ - + Are you sure you want to clear all input mappings? Bạn có chắc bạn muốn xóa tất cả các ánh xạ đầu vào không? - + Clear Output Mappings Rõ ràng sản lượng ánh xạ - + Are you sure you want to clear all output mappings? Bạn có chắc bạn muốn xóa tất cả ra ánh xạ? @@ -5291,100 +5324,100 @@ Apply settings and continue? Kích hoạt - + Device Info - + Physical Interface: - + Vendor name: - + Product name: - + Vendor ID - + VID: - + Product ID - + PID: - + Serial number: - + USB interface number: - + HID Usage-Page: - + HID Usage: - + Description: Trò chơi mô tả: - + Support: Hỗ trợ: - + Screens preview - + Input Mappings Ánh xạ đầu vào - - + + Search Tìm - - + + Add Thêm - - + + Remove Loại bỏ @@ -5404,17 +5437,17 @@ Apply settings and continue? - + Mapping Info - + Author: Tác giả: - + Name: Tên: @@ -5424,28 +5457,28 @@ Apply settings and continue? Thuật sĩ học tập (MIDI chỉ) - + Data protocol: - + Mapping Files: - + Mapping Settings - - + + Clear All Xóa tất cả - + Output Mappings Ánh xạ đầu ra @@ -5604,6 +5637,16 @@ Apply settings and continue? Multi-Sampling + + + Force 3D acceleration + + + + + If checked, Mixxx will always assume 3D acceleration is available. This may lead to pour performance if only CP-backed rendering is available.. + + Start in full-screen mode @@ -6195,62 +6238,62 @@ You can always drag-and-drop tracks on screen to clone a deck. DlgPrefInterface - + The minimum size of the selected skin is bigger than your screen resolution. Kích thước tối thiểu của vẻ ngoài đã chọn là lớn hơn độ phân giải màn hình của bạn. - + Allow screensaver to run - + Prevent screensaver from running - + Prevent screensaver while playing - + Disabled - + 2x MSAA - + 4x MSAA - + 8x MSAA - + 16x MSAA - + This skin does not support color schemes Da này không hỗ trợ phối màu - + Information Thông tin - + Mixxx must be restarted before the new locale, scaling or multi-sampling settings will take effect. @@ -7417,173 +7460,172 @@ The loudness target is approximate and assumes track pregain and main output lev DlgPrefSound - + %1 Hz %1 Hz - + Default (long delay) Mặc định (dài sự chậm trễ) - + Experimental (no delay) Thử nghiệm (có sự chậm trễ) - + Disabled (short delay) Khuyết tật (sự chậm trễ ngắn) - + Soundcard Clock - + Network Clock - + Direct monitor (recording and broadcasting only) - + Disabled Khuyết tật - + Enabled Kích hoạt - + Stereo Âm thanh nổi - + Mono Mono - + To enable Realtime scheduling (currently disabled), see the %1. - + The %1 lists sound cards and controllers you may want to consider for using Mixxx. - + Mixxx DJ Hardware Guide - + Information - + Mixxx must be restarted before the multi-threaded RubberBand setting change will take effect. - + auto (<= 1024 frames/period) - + 2048 frames/period - + 4096 frames/period - + Are you sure? - + Distribute stereo channels into mono channels for parallel processing will result in a loss of mono compatibility and a diffuse stereo image. It is not recommended during broadcasting or recording. - + Are you sure you wish to proceed? - + No - + Yes, I know what I am doing - + Microphone inputs are out of time in the record & broadcast signal compared to what you hear. - + Measure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. - - + Refer to the Mixxx User Manual for details. - + Configured latency has changed. - + Remeasure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. - + Realtime scheduling is enabled. - + Main output only - + Main and booth outputs - + %1 ms %1 ms - + Configuration error Lỗi cấu hình @@ -7601,131 +7643,131 @@ The loudness target is approximate and assumes track pregain and main output lev Âm thanh API - + Sample Rate Tốc độ Lấy mẫu - + Audio Buffer Âm thanh bộ đệm - + Engine Clock - + Use soundcard clock for live audience setups and lowest latency.<br>Use network clock for broadcasting without a live audience. - + Main Mix - + Main Output Mode - + Microphone Monitor Mode - + Microphone Latency Compensation - - - - + + + + ms milliseconds MS - + 20 ms 20 ms - + Buffer Underflow Count Bộ đệm Underflow tính - + 0 0 - + Keylock/Pitch-Bending Engine Khóa bàn phím/Pitch-uốn động cơ - + Multi-Soundcard Synchronization Đồng bộ hóa đa-Soundcard - + Output Đầu ra - + Input Đầu vào - + System Reported Latency Hệ thống báo cáo trễ - + Enlarge your audio buffer if the underflow counter is increasing or you hear pops during playback. Phóng to đệm âm thanh của bạn nếu truy cập underflow đang gia tăng hoặc bạn nghe hiện ra trong khi phát lại. - + Main Output Delay - + Headphone Output Delay - + Booth Output Delay - + Dual-threaded Stereo - + Hints and Diagnostics Gợi ý và chẩn đoán - + Downsize your audio buffer to improve Mixxx's responsiveness. Giảm bớt đệm âm thanh của bạn để cải thiện để đáp ứng của Mixxx. - + Query Devices Thiết bị truy vấn @@ -8171,47 +8213,47 @@ Select from different types of displays for the waveform, which differ primarily DlgPreferences - + Sound Hardware Phần cứng âm thanh - + Controllers Bộ điều khiển - + Library Thư viện - + Interface Giao diện - + Waveforms - + Mixer Máy trộn - + Auto DJ Tự động DJ - + Decks - + Colors @@ -8246,47 +8288,47 @@ Select from different types of displays for the waveform, which differ primarily - + Effects Hiệu ứng - + Recording Ghi âm - + Beat Detection Đánh bại phát hiện - + Key Detection Phát hiện quan trọng - + Normalization Bình thường hóa - + <font color='#BB0000'><b>Some preferences pages have errors. To apply the changes please first fix the issues.</b></font> - + Vinyl Control Vinyl kiểm soát - + Live Broadcasting Sống phát thanh truyền - + Modplug Decoder Bộ giải mã Modplug @@ -8642,284 +8684,284 @@ This can not be undone! Tóm tắt - + Filetype: Loại tệp: - + BPM: BPM: - + Location: Địa điểm: - + Bitrate: Tần số: - + Comments Ý kiến - + BPM BPM - + Sets the BPM to 75% of the current value. Thiết lập BPM đến 75% của giá trị hiện tại. - + 3/4 BPM 3/4 BPM - + Sets the BPM to 50% of the current value. Thiết lập BPM 50% của giá trị hiện tại. - + Displays the BPM of the selected track. Hiển thị BPM đường đã chọn. - + Track # Theo dõi # - + Album Artist Album nghệ sĩ - + Composer Nhà soạn nhạc - + Title Tiêu đề - + Grouping Nhóm - + Key Chìa khóa - + Year Năm - + Artist Nghệ sĩ - + Album Album - + Genre Thể loại - + ReplayGain: - + Sets the BPM to 200% of the current value. Thiết lập BPM 200% giá trị hiện tại. - + Double BPM Đôi BPM - + Halve BPM Giảm một nửa BPM - + Clear BPM and Beatgrid Rõ ràng BPM và Beatgrid - + Move to the previous item. "Previous" button Di chuyển đến mục trước. - + &Previous & Trước - + Move to the next item. "Next" button Di chuyển đến mục kế tiếp. - + &Next & Tiếp theo - + Duration: Thời gian: - + Import Metadata from MusicBrainz - + Re-Import Metadata from file - + Color - + Date added: - + Open in File Browser Mở trong trình duyệt tập tin - + Samplerate: - + Track BPM: Theo dõi BPM: - + Converts beats detected by the analyzer into a fixed-tempo beatgrid. Use this setting if your tracks have a constant tempo (e.g. most electronic music). Often results in higher quality beatgrids, but will not do well on tracks that have tempo shifts. - + Assume constant tempo - + Sets the BPM to 66% of the current value. Thiết lập BPM 66% của giá trị hiện tại. - + 2/3 BPM 2/3 BPM - + Sets the BPM to 150% of the current value. - + 3/2 BPM - + Sets the BPM to 133% of the current value. - + 4/3 BPM - + Tap with the beat to set the BPM to the speed you are tapping. Khai thác với nhịp đập để thiết lập BPM để tốc độ bạn đang khai thác. - + Tap to Beat Bấm vào để đánh bại - + Hint: Use the Library Analyze view to run BPM detection. Gợi ý: Sử dụng xem thư viện phân tích để chạy việc phát hiện BPM. - + Save changes and close the window. "OK" button Lưu thay đổi và đóng cửa sổ. - + &OK & OK - + Discard changes and close the window. "Cancel" button Bỏ các thay đổi và đóng cửa sổ. - + Save changes and keep the window open. "Apply" button Lưu thay đổi và giữ cho cửa sổ mở. - + &Apply & Áp dụng - + &Cancel & Hủy bỏ - + (no color) @@ -9076,7 +9118,7 @@ Often results in higher quality beatgrids, but will not do well on tracks that h - + (no color) @@ -9278,27 +9320,27 @@ Often results in higher quality beatgrids, but will not do well on tracks that h EngineBuffer - + Soundtouch (faster) Soundtouch (nhanh hơn) - + Rubberband (better) Dây Chun (tốt hơn) - + Rubberband R3 (near-hi-fi quality) - + Unknown, using Rubberband (better) - + Unknown, using Soundtouch @@ -9513,15 +9555,15 @@ Often results in higher quality beatgrids, but will not do well on tracks that h LegacySkinParser - - + + Safe Mode Enabled Shown when Mixxx is running in safe mode. Chế độ an toàn được kích hoạt - - + + No OpenGL support. Shown when Spinny can not be displayed. Please keep @@ -9532,57 +9574,57 @@ Shown when VuMeter can not be displayed. Please keep Không có hỗ trợ OpenGL. - + activate kích hoạt - + toggle chuyển đổi - + right quyền - + left trái - + right small ngay nhỏ - + left small còn nhỏ - + up lên - + down xuống - + up small mặc nhỏ - + down small xuống nhỏ - + Shortcut Lối tắt @@ -9590,62 +9632,62 @@ Shown when VuMeter can not be displayed. Please keep Library - + This or a parent directory is already in your library. - + This or a listed directory does not exist or is inaccessible. Aborting the operation to avoid library inconsistencies - - + + This directory can not be read. - + An unknown error occurred. Aborting the operation to avoid library inconsistencies - + Can't add Directory to Library - + Could not add <b>%1</b> to your library. %2 - + Can't remove Directory from Library - + An unknown error occurred. - + This directory does not exist or is inaccessible. - + Relink Directory - + Could not relink <b>%1</b> to <b>%2</b>. %3 @@ -9655,22 +9697,22 @@ Aborting the operation to avoid library inconsistencies LibraryFeature - + Import Playlist Chuyển nhập danh sách phát - + Playlist Files (*.m3u *.m3u8 *.pls *.csv) Tệp danh sách chơi (*.m3u *.m3u8 *.pls *.csv) - + Overwrite File? - + A playlist file with the name "%1" already exists. The default "m3u" extension was added because none was specified. @@ -9717,27 +9759,27 @@ Do you really want to overwrite it? MidiController - + MixxxControl(s) not found MixxxControl(s) không tìm thấy - + One or more MixxxControls specified in the outputs section of the loaded mapping were invalid. - + * Make sure the MixxxControls in question actually exist. Visit the manual for a complete list: - + Some LEDs or other feedback may not work correctly. Một số đèn LED hoặc thông tin phản hồi có thể không làm việc một cách chính xác. - + * Check to see that the MixxxControl names are spelled correctly in the mapping file (.xml) * Kiểm tra xem các tên MixxxControl được viết đúng chính tả trong tập tin bản đồ (.xml) @@ -9798,18 +9840,18 @@ Do you really want to overwrite it? MixxxLibraryFeature - + Missing Tracks Thiếu bài nhạc - + Hidden Tracks Ẩn bài nhạc - Export to Engine Prime + Export to Engine DJ @@ -9821,210 +9863,251 @@ Do you really want to overwrite it? MixxxMainWindow - + Sound Device Busy Thiết bị âm thanh bận rộn - + <b>Retry</b> after closing the other application or reconnecting a sound device <b>Thử lại</b> sau khi đóng ứng dụng khác hoặc kết nối lại một thiết bị âm thanh - - - + + + <b>Reconfigure</b> Mixxx's sound device settings. <b>Cấu hình lại</b> Cài đặt thiết bị âm thanh của Mixxx. - - + + Get <b>Help</b> from the Mixxx Wiki. Nhận được <b>Trợ giúp</b> từ Mixxx Wiki. - - - + + + <b>Exit</b> Mixxx. <b>Lối ra</b> Mixxx. - + Retry Thử lại - + skin - + Allow Mixxx to hide the menu bar? - + Hide Always show the menu bar? - + Always show - + The Mixxx menu bar is hidden and can be toggled with a single press of the <b>Alt</b> key.<br><br>Click <b>%1</b> to agree.<br><br>Click <b>%2</b> to disable that, for example if you don't use Mixxx with a keyboard.<br><br>You can change this setting any time in Preferences -> Interface.<br> Keep formatting tags <b> (bold text) and <br> (linebreak). %1 is the placeholder for the 'Always show' button label - + Ask me again - - + + Reconfigure Cấu hình lại - + Help Trợ giúp - - + + Exit Lối ra - - + + Mixxx was unable to open all the configured sound devices. - + Sound Device Error - + <b>Retry</b> after fixing an issue - + No Output Devices Không có thiết bị đầu ra - + Mixxx was configured without any output sound devices. Audio processing will be disabled without a configured output device. Mixxx được cấu hình mà không có bất kỳ thiết bị âm thanh đầu ra. Âm thanh xử lý sẽ bị vô hiệu hóa mà không có một thiết bị được cấu hình đầu ra. - + <b>Continue</b> without any outputs. <b>Tiếp tục</b> mà không có bất kỳ kết quả đầu ra. - + Continue Tiếp tục - + Load track to Deck %1 Tải ca khúc để boong %1 - + Deck %1 is currently playing a track. Sàn %1 đang phát một ca khúc. - + Are you sure you want to load a new track? Bạn có chắc bạn muốn tải một ca khúc mới không? - + There is no input device selected for this vinyl control. Please select an input device in the sound hardware preferences first. Có là không có thiết bị đầu vào, chọn này kiểm soát vinyl. Xin vui lòng chọn một thiết bị đầu vào trong ưa thích của phần cứng âm thanh đầu tiên. - + There is no input device selected for this passthrough control. Please select an input device in the sound hardware preferences first. Có là không có thiết bị đầu vào, chọn này kiểm soát passthrough. Xin vui lòng chọn một thiết bị đầu vào trong ưa thích của phần cứng âm thanh đầu tiên. - + There is no input device selected for this microphone. Do you want to select an input device? - + There is no input device selected for this auxiliary. Do you want to select an input device? - + + Scan took %1 + + + + + No changes detected. + + + + + + %1 tracks in total + + + + + %1 new tracks found + + + + + %1 moved tracks detected + + + + + %1 tracks are missing (%2 total) + + + + + %1 tracks have been rediscovered + + + + + Library scan finished + + + + Error in skin file Lỗi trong tệp vẻ ngoài - + The selected skin cannot be loaded. Vẻ ngoài đã chọn không thể được nạp. - + OpenGL Direct Rendering Trực tiếp OpenGL Rendering - + Direct rendering is not enabled on your machine.<br><br>This means that the waveform displays will be very<br><b>slow and may tax your CPU heavily</b>. Either update your<br>configuration to enable direct rendering, or disable<br>the waveform displays in the Mixxx preferences by selecting<br>"Empty" as the waveform display in the 'Interface' section. - - - + + + Confirm Exit Xác nhận thoát - + A deck is currently playing. Exit Mixxx? Một sân hiện đang phát. Thoát khỏi Mixxx? - + A sampler is currently playing. Exit Mixxx? Một sampler hiện đang phát. Thoát khỏi Mixxx? - + The preferences window is still open. Cửa sổ tùy chọn là vẫn còn mở. - + Discard any changes and exit Mixxx? Loại bỏ bất kỳ thay đổi và thoát Mixxx? @@ -10040,13 +10123,13 @@ Do you want to select an input device? PlaylistFeature - + Lock Khóa - - + + Playlists Danh sách phát @@ -10056,32 +10139,58 @@ Do you want to select an input device? - + + Unlock all playlists + + + + + Delete all unlocked playlists + + + + Unlock Mở khóa - + + + Confirm Deletion + + + + + Do you really want to delete all unlocked playlists? + + + + + Deleting %1 unlocked playlists.<br>This operation can not be undone! + + + + Playlists are ordered lists of tracks that allow you to plan your DJ sets. - + It may be necessary to skip some tracks in your prepared playlist or add some different tracks in order to maintain the energy of your audience. - + Some DJs construct playlists before they perform live, but others prefer to build them on-the-fly. Một số DJ xây dựng danh sách phát trước khi họ thực hiện trực tiếp, nhưng những người khác muốn xây dựng họ on-the-fly. - + When using a playlist during a live DJ set, remember to always pay close attention to how your audience reacts to the music you've chosen to play. Khi sử dụng một danh sách trong bộ DJ sống, hãy nhớ luôn luôn chú ý chặt chẽ đến như thế nào đối tượng của bạn phản ứng với âm nhạc bạn đã chọn để chơi. - + Create New Playlist Tạo danh sách chơi mới @@ -11573,7 +11682,7 @@ Fully right: end of the effect period - + Deck %1 Sàn %1 @@ -11706,7 +11815,7 @@ Hint: compensates "chipmunk" or "growling" voices - + Passthrough @@ -11737,7 +11846,7 @@ Hint: compensates "chipmunk" or "growling" voices - + Sampler %1 @@ -11870,12 +11979,12 @@ may introduce a 'pumping' effect and/or distortion. - + built-in - + missing @@ -11910,42 +12019,42 @@ may introduce a 'pumping' effect and/or distortion. - + Empty - + Simple - + Filtered - + HSV - + VSyncTest - + RGB - + Stacked - + Unknown @@ -12003,54 +12112,54 @@ may introduce a 'pumping' effect and/or distortion. RekordboxFeature - - - + + + Rekordbox - + Playlists Danh sách phát - + Folders - + Reads databases exported for Pioneer CDJ / XDJ players using the Rekordbox Export mode.<br/>Rekordbox can only export to USB or SD devices with a FAT or HFS file system.<br/>Mixxx can read a database from any device that contains the database folders (<tt>PIONEER</tt> and <tt>Contents</tt>).<br/>Not supported are Rekordbox databases that have been moved to an external device via<br/><i>Preferences > Advanced > Database management</i>.<br/><br/>The following data is read: - + Hot cues - + Loops (only the first loop is currently usable in Mixxx) - + Check for attached Rekordbox USB / SD devices (refresh) - + Beatgrids - + Memory cues - + (loading) Rekordbox @@ -12609,7 +12718,7 @@ may introduce a 'pumping' effect and/or distortion. - + Spinning Vinyl Quay Vinyl @@ -12791,7 +12900,7 @@ may introduce a 'pumping' effect and/or distortion. - + Cover Art Bìa @@ -13027,197 +13136,197 @@ may introduce a 'pumping' effect and/or distortion. Khi khai thác, điều chỉnh BPM trung bình lên bởi một số lượng nhỏ. - + Adjust Beats Earlier Điều chỉnh nhịp đập trước đó - + When tapped, moves the beatgrid left by a small amount. Khi khai thác, di chuyển beatgrid rời bởi một số lượng nhỏ. - + Adjust Beats Later Điều chỉnh nhịp đập sau - + When tapped, moves the beatgrid right by a small amount. Khi khai thác, di chuyển beatgrid ngay bởi một số lượng nhỏ. - + Tempo and BPM Tap Tiến độ và BPM Tap - + Show/hide the spinning vinyl section. Hiển thị/ẩn phần vinyl quay. - + Keylock - + Toggling keylock during playback may result in a momentary audio glitch. - + Toggle visibility of Loop Controls - + Toggle visibility of Beatjump Controls - + Toggle visibility of Rate Control - + Toggle visibility of Key Controls - + (while previewing) - + Places a cue point at the current position on the waveform. - + Stops track at cue point, OR go to cue point and play after release (CUP mode). - + Set cue point (Pioneer/Mixxx/Numark mode), set cue point and play after release (CUP mode) OR preview from it (Denon mode). - + Is latching the playing state. - + Seeks the track to the cue point and stops. - + Play Chơi - + Plays track from the cue point. - + Sends the selected channel's audio to the headphone output, selected in Preferences -> Sound Hardware. - + (This skin should be updated to use Sync Lock!) - + Enable Sync Lock - + Tap to sync the tempo to other playing tracks or the sync leader. - + Enable Sync Leader - + When enabled, this device will serve as the sync leader for all other decks. - + This is relevant when a dynamic tempo track is loaded to a sync leader deck.In that case, other synced devices will adopt the changing tempo. - + Changes the track playback speed (affects both the tempo and the pitch). If keylock is enabled, only the tempo is affected. - + Tempo Range Display - + Displays the current range of the tempo slider. - + Un-ejects when no track is loaded, i.e. reloads the track that was ejected last (of any deck). - + Delete selected hotcue. - + Track Comment - + Displays the comment tag of the loaded track. - + Opens separate artwork viewer. - + Effect Chain Preset Settings - + Show the effect chain settings menu for this unit. - + Select and configure a hardware device for this input - + Recording Duration @@ -13455,926 +13564,932 @@ may introduce a 'pumping' effect and/or distortion. - + + Adjust beatgrid by exactly one half beat. Usable only on +tracks with constant tempo. + + + + Revert last BPM/Beatgrid Change - + Revert last BPM/Beatgrid Change of the loaded track. - - + + Toggle the BPM/beatgrid lock - + Tempo and Rate Tap - + Tempo, Rate Tap and BPM Tap - + Shift cues earlier - - + + Shift cues imported from Serato or Rekordbox if they are slightly off time. - + Left click: shift 10 milliseconds earlier - + Right click: shift 1 millisecond earlier - + Shift cues later - + Left click: shift 10 milliseconds later - + Right click: shift 1 millisecond later - - + + Drag a Hotcue button here to continue playing after releasing the Hotcue. - + Hint: Change the default cue mode in Preferences -> Decks. - + Mutes the selected channel's audio in the main output. - + Main mix enable - + Hold or short click for latching to mix this input into the main output. - + If hotcue is a loop cue, toggles the loop and jumps to if the loop is behind the play position. - + If the play position is inside an active loop, stores the loop as loop cue. - + Drag this button onto another Hotcue button to move it there (change its index). If the other hotcue is set, the two are swapped. - + Expand/Collapse Samplers - + Toggle expanded samplers view. - + Displays the duration of the running recording. - + Auto DJ is active - + Red for when needle skip has been detected. - + Hot Cue - Track will seek to nearest previous hotcue point. - + Sets the track Loop-In Marker to the current play position. - + Press and hold to move Loop-In Marker. - + Jump to Loop-In Marker. - + Sets the track Loop-Out Marker to the current play position. - + Press and hold to move Loop-Out Marker. - + Jump to Loop-Out Marker. - + If the track has no beats the unit is seconds. - + Beatloop Size - + Select the size of the loop in beats to set with the Beatloop button. - + Changing this resizes the loop if the loop already matches this size. - + Halve the size of an existing beatloop, or halve the size of the next beatloop set with the Beatloop button. - + Double the size of an existing beatloop, or double the size of the next beatloop set with the Beatloop button. - + Start a loop over the set number of beats. - + Temporarily enable a rolling loop over the set number of beats. - + Beatloop Anchor - + Define whether the loop is created and adjusted from its staring point or ending point. - + Beatjump/Loop Move Size - + Select the number of beats to jump or move the loop with the Beatjump Forward/Backward buttons. - + Beatjump Forward - + Jump forward by the set number of beats. - + Move the loop forward by the set number of beats. - + Jump forward by 1 beat. - + Move the loop forward by 1 beat. - + Beatjump Backward - + Jump backward by the set number of beats. - + Move the loop backward by the set number of beats. - + Jump backward by 1 beat. - + Move the loop backward by 1 beat. - + Reloop - + If the loop is ahead of the current position, looping will start when the loop is reached. - + Works only if Loop-In and Loop-Out Marker are set. - + Enable loop, jump to Loop-In Marker, and stop playback. - + Displays the elapsed and/or remaining time of the track loaded. - + Click to toggle between time elapsed/remaining time/both. - + Hint: Change the time format in Preferences -> Decks. - + Show/hide intro & outro markers and associated buttons. - + Intro Start Marker - - - - + + + + If marker is set, jumps to the marker. - - - - + + + + If marker is not set, sets the marker to the current play position. - - - - + + + + If marker is set, clears the marker. - + Intro End Marker - + Outro Start Marker - + Outro End Marker - + Mix - + Adjust the mixing of the dry (input) signal with the wet (output) signal of the effect unit - + D/W mode: Crossfade between dry and wet - + D+W mode: Add wet to dry - + Mix Mode - + Adjust how the dry (input) signal is mixed with the wet (output) signal of the effect unit - + Dry/Wet mode (crossed lines): Mix knob crossfades between dry and wet Use this to change the sound of the track with EQ and filter effects. - + Dry+Wet mode (flat dry line): Mix knob adds wet to dry Use this to change only the effected (wet) signal with EQ and filter effects. - + Route the main mix through this effect unit. - + Route the left crossfader bus through this effect unit. - + Route the right crossfader bus through this effect unit. - + Right side active: parameter moves with right half of Meta Knob turn - + Stem Label - + Name of the stem stored in the stem file - + Text is displayed in the stem color stored in the stem file - + this stem color is also used for the waveform of this stem - + Stem Mute - + Toggle the stem mute/unmuted - + Stem Volume Knob - + Adjusts the volume of the stem - + Skin Settings Menu - + Show/hide skin settings menu - + Save Sampler Bank Lưu Sampler ngân hàng - + Save the collection of samples loaded in the samplers. - + Load Sampler Bank Tải Sampler ngân hàng - + Load a previously saved collection of samples into the samplers. - + Show Effect Parameters - + Enable Effect - + Meta Knob Link - + Set how this parameter is linked to the effect's Meta Knob. - + Meta Knob Link Inversion - + Inverts the direction this parameter moves when turning the effect's Meta Knob. - + Super Knob Siêu Knob - + Next Chain Tiếp theo chuỗi - + Previous Chain Chuỗi trước - + Next/Previous Chain Kế tiếp/trước Chuỗi - + Clear Rõ ràng - + Clear the current effect. Rõ ràng các hiệu ứng hiện tại. - + Toggle Chuyển đổi - + Toggle the current effect. Chuyển đổi có hiệu lực hiện tại. - + Next Tiếp theo - + Clear Unit Rõ ràng đơn vị - + Clear effect unit. Đơn vị có hiệu lực rõ ràng. - + Show/hide parameters for effects in this unit. - + Toggle Unit Chuyển đổi đơn vị - + Enable or disable this whole effect unit. - + Controls the Meta Knob of all effects in this unit together. - + Load next effect chain preset into this effect unit. - + Load previous effect chain preset into this effect unit. - + Load next or previous effect chain preset into this effect unit. - - - - + + + + Assign Effect Unit - + Assign this effect unit to the channel output. - + Route the headphone channel through this effect unit. - + Route this deck through the indicated effect unit. - + Route this sampler through the indicated effect unit. - + Route this microphone through the indicated effect unit. - + Route this auxiliary input through the indicated effect unit. - + The effect unit must also be assigned to a deck or other sound source to hear the effect. - + Switch to the next effect. Chuyển sang kế tiếp có hiệu lực. - + Previous Trước đó - + Switch to the previous effect. Chuyển đổi để có hiệu lực trước đó. - + Next or Previous Kế tiếp hoặc trước đó - + Switch to either the next or previous effect. Chuyển sang một trong hai tác dụng kế tiếp hoặc trước đó. - + Meta Knob - + Controls linked parameters of this effect - + Effect Focus Button - + Focuses this effect. - + Unfocuses this effect. - + Refer to the web page on the Mixxx wiki for your controller for more information. - + Effect Parameter Có hiệu lực tham số - + Adjusts a parameter of the effect. Điều chỉnh các thông số của hiệu lực. - + Inactive: parameter not linked - + Active: parameter moves with Meta Knob - + Left side active: parameter moves with left half of Meta Knob turn - + Left and right side active: parameter moves across range with half of Meta Knob turn and back with the other half - - + + Equalizer Parameter Kill Bộ chỉnh âm tham số giết - - + + Holds the gain of the EQ to zero while active. Tổ chức đạt được của các EQ bằng không trong khi hoạt động. - + Quick Effect Super Knob Hiệu ứng nhanh siêu Knob - + Quick Effect Super Knob (control linked effect parameters). Nhanh chóng có hiệu lực Super Knob (kiểm soát tham số liên kết có hiệu lực). - + Hint: Change the default Quick Effect mode in Preferences -> Equalizers. Gợi ý: Các thay đổi chế độ có hiệu lực nhanh chóng mặc định trong tuỳ chọn-> Equalizers. - + Equalizer Parameter Bộ chỉnh âm tham số - + Adjusts the gain of the EQ filter. Điều chỉnh độ lợi của các bộ lọc EQ. - + Hint: Change the default EQ mode in Preferences -> Equalizers. Gợi ý: Các thay đổi chế độ EQ mặc định trong tuỳ chọn-> Equalizers. - - + + Adjust Beatgrid Điều chỉnh Beatgrid - + Adjust beatgrid so the closest beat is aligned with the current play position. Điều chỉnh beatgrid để đánh bại gần nhất liên kết với vị trí chơi hiện tại. - - + + Adjust beatgrid to match another playing deck. Điều chỉnh beatgrid để phù hợp với một sân chơi. - + If quantize is enabled, snaps to the nearest beat. Nếu quantize được kích hoạt, snaps để đánh bại gần nhất. - + Quantize Quantize - + Toggles quantization. Bật tắt sự lượng tử hóa. - + Loops and cues snap to the nearest beat when quantization is enabled. Vòng và tín hiệu snap để đánh bại gần nhất khi sự lượng tử hóa được kích hoạt. - + Reverse Đảo ngược - + Reverses track playback during regular playback. Ảnh theo dõi phát lại trong khi phát lại thường xuyên. - + Puts a track into reverse while being held (Censor). Đặt một ca khúc vào đảo ngược trong khi được tổ chức (kiểm duyệt). - + Playback continues where the track would have been if it had not been temporarily reversed. Phát lại tiếp tục nơi đường sẽ có là nếu nó đã không được tạm thời đảo ngược. - - - + + + Play/Pause Phát/tạm dừng - + Jumps to the beginning of the track. Nhảy tới bắt đầu theo dõi. - + Syncs the tempo (BPM) and phase to that of the other track, if BPM is detected on both. Đồng bộ tiến độ (BPM) và các giai đoạn của đường khác, nếu BPM được phát hiện trên cả hai. - + Syncs the tempo (BPM) to that of the other track, if BPM is detected on both. Đồng bộ tiến độ (BPM) của các ca khúc khác, nếu BPM được phát hiện trên cả hai. - + Sync and Reset Key Đồng bộ và thiết lập lại phím - + Increases the pitch by one semitone. Tăng sân một semitone. - + Decreases the pitch by one semitone. Giảm trong trận đấu bởi một semitone. - + Enable Vinyl Control Cho phép điều khiển Vinyl - + When disabled, the track is controlled by Mixxx playback controls. Khi tắt, theo dõi được điều khiển bởi Mixxx phát lại điều khiển. - + When enabled, the track responds to external vinyl control. Khi kích hoạt, theo dõi phản ứng để kiểm soát bên ngoài nhựa vinyl. - + Enable Passthrough Sử Passthrough - + Indicates that the audio buffer is too small to do all audio processing. Chỉ ra rằng các bộ đệm âm thanh quá nhỏ để làm tất cả âm thanh xử lý. - + Displays cover artwork of the loaded track. Hiển thị bao gồm các tác phẩm nghệ thuật của các ca khúc được nạp. - + Displays options for editing cover artwork. Hiển thị các tùy chọn để chỉnh sửa bìa. - + Star Rating Xếp hạng sao - + Assign ratings to individual tracks by clicking the stars. Gán xếp hạng cho bài hát riêng lẻ bằng cách nhấp vào các ngôi sao. @@ -14509,33 +14624,33 @@ Use this to change only the effected (wet) signal with EQ and filter effects. - + Prevents the pitch from changing when the rate changes. Ngăn chặn sân thay đổi khi tốc độ thay đổi. - + Changes the number of hotcue buttons displayed in the deck - + Starts playing from the beginning of the track. Bắt đầu phát từ sự khởi đầu của đường đua. - + Jumps to the beginning of the track and stops. Nhảy tới bắt đầu theo dõi và dừng lại. - - + + Plays or pauses the track. Phát hoặc tạm dừng theo dõi. - + (while playing) (trong khi chơi) @@ -14555,215 +14670,215 @@ Use this to change only the effected (wet) signal with EQ and filter effects. - + (while stopped) (trong khi dừng lại) - + Cue Cue - + Headphone Tai nghe - + Mute Tắt tiếng - + Old Synchronize Old đồng bộ hóa - + Syncs to the first deck (in numerical order) that is playing a track and has a BPM. Đồng bộ đến tầng đầu tiên (theo thứ tự số) mà đang phát một ca khúc và có một BPM. - + If no deck is playing, syncs to the first deck that has a BPM. Nếu không có Sân chơi, đồng bộ đến tầng đầu tiên có một BPM. - + Decks can't sync to samplers and samplers can only sync to decks. Sàn không thể đồng bộ để lấy mẫu và lấy mẫu có thể chỉ đồng bộ với sàn. - + Hold for at least a second to enable sync lock for this deck. Giữ cho một thứ hai để cho phép đồng bộ khóa cho boong này. - + Decks with sync locked will all play at the same tempo, and decks that also have quantize enabled will always have their beats lined up. Sàn với đồng bộ khóa sẽ chơi tất cả ở cùng một tiến độ, và sàn tàu cũng có quantize kích hoạt sẽ luôn luôn có nhịp đập của họ xếp hàng. - + Resets the key to the original track key. Đặt lại chìa khóa đến chính ca khúc ban đầu. - + Speed Control Kiểm soát tốc độ - - - + + + Changes the track pitch independent of the tempo. Thay đổi sân theo dõi độc lập tiến độ. - + Increases the pitch by 10 cents. Tăng sân 10 cent. - + Decreases the pitch by 10 cents. Làm giảm độ cao thấp của 10 cent. - + Pitch Adjust Điều chỉnh pitch - + Adjust the pitch in addition to the speed slider pitch. Điều chỉnh sân ngoài sân trượt tốc độ. - + Opens a menu to clear hotcues or edit their labels and colors. - + Drag this button onto a Play button while previewing to continue playback after release. - + Dragging with Shift key pressed will not start previewing the hotcue. - + Record Mix Ghi kết hợp - + Toggle mix recording. Chuyển đổi kết hợp ghi âm. - + Enable Live Broadcasting Kích hoạt tính năng sống phát sóng - + Stream your mix over the Internet. Dòng hỗn hợp của bạn qua Internet. - + Provides visual feedback for Live Broadcasting status: Cung cấp phản hồi thị giác cho Live phát thanh truyền tình trạng: - + disabled, connecting, connected, failure. vô hiệu hóa, kết nối, kết nối, thất bại. - + When enabled, the deck directly plays the audio arriving on the vinyl input. Khi kích hoạt, tầng trực tiếp phát âm thanh đến ngày vinyl đầu vào. - + Playback will resume where the track would have been if it had not entered the loop. Phát lại sẽ tiếp tục nơi đường sẽ có là nếu nó đã không nhập vào vòng lặp. - + Loop Exit Thoát khỏi vòng lặp - + Turns the current loop off. Tắt các vòng lặp hiện tại. - + Slip Mode Chế độ chống trượt - + When active, the playback continues muted in the background during a loop, reverse, scratch etc. Khi hoạt động, phát lại tiếp tục tắt trong nền trong một đầu đảo ngược, vòng lặp, vv. - + Once disabled, the audible playback will resume where the track would have been. Sau khi vô hiệu hóa, phát lại âm thanh sẽ tiếp tục nơi đường sẽ có. - + Track Key The musical key of a track Theo dõi các phím - + Displays the musical key of the loaded track. Hiển thị phím âm nhạc của ca khúc được nạp. - + Clock Đồng hồ - + Displays the current time. Hiển thị thời gian hiện tại. - + Audio Latency Usage Meter Độ trễ âm thanh sử dụng đồng hồ - + Displays the fraction of latency used for audio processing. Hiển thị các phần của độ trễ được sử dụng để xử lý âm thanh. - + A high value indicates that audible glitches are likely. Một giá trị cao cho thấy rằng âm thanh ổn định có khả năng. - + Do not enable keylock, effects or additional decks in this situation. Không cho phép khóa bàn phím, hiệu ứng hoặc bổ sung sàn trong tình huống này. - + Audio Latency Overload Indicator Âm thanh độ trễ quá tải chỉ số @@ -14808,254 +14923,254 @@ Use this to change only the effected (wet) signal with EQ and filter effects.Hiển thị phím âm nhạc hiện tại theo dõi tải sau Sân chuyển. - + Fast Rewind Tua nhanh - + Fast rewind through the track. Tua lại nhanh thông qua đường. - + Fast Forward Tua đi - + Fast forward through the track. Nhanh chóng chuyển tiếp thông qua theo dõi. - + Jumps to the end of the track. Nhảy đến cuối đường. - + Sets the pitch to a key that allows a harmonic transition from the other track. Requires a detected key on both involved decks. Sets sân cho một phím cho phép sự chuyển tiếp điều hòa từ các ca khúc khác. Yêu cầu một khoá được phát hiện trên cả hai sàn tham gia. - - - + + + Pitch Control Kiểm soát Sân - + Pitch Rate Tỷ lệ pitch - + Displays the current playback rate of the track. Hiển thị mức độ phát hiện tại theo dõi. - + Repeat Lặp lại - + When active the track will repeat if you go past the end or reverse before the start. Khi hoạt động theo dõi sẽ lặp lại nếu bạn đi qua cuối cùng hoặc ngược lại trước khi bắt đầu. - + Eject Đẩy ra - + Ejects track from the player. Đẩy ra theo dõi từ người chơi. - + Hotcue Hotcue - + If hotcue is set, jumps to the hotcue. Nếu hotcue được thiết lập, nhảy vào hotcue. - + If hotcue is not set, sets the hotcue to the current play position. Nếu hotcue không được thiết lập, đặt hotcue vị trí chơi hiện tại. - + Vinyl Control Mode Vinyl kiểm soát chế độ - + Absolute mode - track position equals needle position and speed. Chế độ tuyệt đối - theo dõi vị trí bằng kim vị trí và tốc độ. - + Relative mode - track speed equals needle speed regardless of needle position. Chế độ tương đối - theo dõi tốc độ bằng kim tốc độ bất kể vị trí kim. - + Constant mode - track speed equals last known-steady speed regardless of needle input. Chế độ liên tục - theo dõi tốc độ bằng cuối cùng được biết đến-tăng tốc độ bất kể kim đầu vào. - + Vinyl Status Tình trạng vinyl - + Provides visual feedback for vinyl control status: Cung cấp phản hồi thị giác cho vinyl kiểm soát tình trạng: - + Green for control enabled. Màu xanh lá cây để kiểm soát được kích hoạt. - + Blinking yellow for when the needle reaches the end of the record. Nhấp nháy màu vàng cho khi kim đạt đến sự kết thúc của kỷ lục. - + Loop-In Marker Vòng lặp trong điểm đánh dấu - + Loop-Out Marker - + Loop Halve Loop giảm một nửa - + Halves the current loop's length by moving the end marker. Halves vòng lặp hiện tại chiều dài bằng cách di chuyển các điểm đánh dấu kết thúc. - + Deck immediately loops if past the new endpoint. Boong ngay lập tức vòng nếu qua điểm cuối mới. - + Loop Double Vòng lặp đôi - + Doubles the current loop's length by moving the end marker. Tăng gấp đôi chiều dài của vòng lặp hiện tại bằng cách di chuyển các điểm đánh dấu kết thúc. - + Beatloop - + Toggles the current loop on or off. Bật tắt vòng lặp hiện tại hoặc tắt. - + Works only if Loop-In and Loop-Out marker are set. Chỉ khi vòng lặp trong các công trình và điểm đánh dấu Loop-Out được thiết lập. - + Vinyl Cueing Mode Vinyl Cueing chế độ - + Determines how cue points are treated in vinyl control Relative mode: Xác định cách cue điểm được điều trị trong vinyl kiểm soát tương đối chế độ: - + Off - Cue points ignored. Off - Cue điểm bỏ qua. - + One Cue - If needle is dropped after the cue point, track will seek to that cue point. Một Cue - nếu kim sẽ bị ngắt sau cue điểm, theo dõi sẽ tìm đến thời điểm cue. - + Track Time Theo dõi thời gian - + Track Duration Theo dõi thời gian - + Displays the duration of the loaded track. Hiển thị thời gian theo dõi được nạp. - + Information is loaded from the track's metadata tags. Thông tin được nạp từ thẻ siêu dữ liệu của con đường mòn. - + Track Artist Nghệ sĩ theo dõi - + Displays the artist of the loaded track. Hiển thị các nghệ sĩ theo dõi nạp. - + Track Title Theo dõi các tiêu đề - + Displays the title of the loaded track. Hiển thị tiêu đề của các ca khúc được nạp. - + Track Album Theo dõi Album - + Displays the album name of the loaded track. Hiển thị tên album theo dõi nạp. - + Track Artist/Title Theo dõi các nghệ sĩ/tiêu đề - + Displays the artist and title of the loaded track. Hiển thị các nghệ sĩ và tiêu đề của các ca khúc được nạp. @@ -15063,12 +15178,12 @@ Use this to change only the effected (wet) signal with EQ and filter effects. TrackCollection - + Hiding tracks - + The selected tracks are in the following playlists:%1Hiding them will remove them from these playlists. Continue? @@ -15283,47 +15398,47 @@ This can not be undone! WCueMenuPopup - + Cue number - + Cue position - + Edit cue label - + Label... - + Delete this cue - + Toggle this cue type between normal cue and saved loop - + Left-click: Use the old size or the current beatloop size as the loop size - + Right-click: Use the current play position as loop end if it is after the cue - + Hotcue #%1 @@ -15448,323 +15563,353 @@ This can not be undone! + Search in Current View... + + + + + Search for tracks in the current library view + + + + + Ctrl+f + + + + + Search in Tracks Library... + + + + + Search in the internal track collection under "Tracks" in the library + + + + + Ctrl+Shift+F + + + + Create &New Playlist Tạo & danh sách chơi mới - + Create a new playlist Tạo một danh sách mới - + Ctrl+n Ctrl + n - + Create New &Crate Tạo mới & thùng - + Create a new crate Tạo một thùng mới - + Ctrl+Shift+N Ctrl + Shift + N - - + + &View & Xem - + Auto-hide menu bar - + Auto-hide the main menu bar when it's not used. - + May not be supported on all skins. Có thể không được hỗ trợ trên tất cả da. - + Show Skin Settings Menu - + Show the Skin Settings Menu of the currently selected Skin - + Ctrl+1 Menubar|View|Show Skin Settings Ctrl + 1 - + Show Microphone Section Hiển thị Micro phần - + Show the microphone section of the Mixxx interface. Hiển thị phần micro của giao diện Mixxx. - + Ctrl+2 Menubar|View|Show Microphone Section Ctrl + 2 - + Show Vinyl Control Section Hiển thị Vinyl kiểm soát phần - + Show the vinyl control section of the Mixxx interface. Hiển thị phần vinyl kiểm soát của giao diện Mixxx. - + Ctrl+3 Menubar|View|Show Vinyl Control Section Ctrl + 3 - + Show Preview Deck Hiển thị xem trước sàn - + Show the preview deck in the Mixxx interface. Hiển thị xem trước sàn trong giao diện Mixxx. - + Ctrl+4 Menubar|View|Show Preview Deck Ctrl + 4 - + Show Cover Art Bìa đĩa Hiển thị - + Show cover art in the Mixxx interface. Hiển thị nghệ thuật bao gồm trong giao diện Mixxx. - + Ctrl+6 Menubar|View|Show Cover Art Ctrl + 6 - + Maximize Library Tối đa hóa thư viện - + Maximize the track library to take up all the available screen space. Tối đa hóa thư viện theo dõi để mất tất cả không gian màn hình có sẵn. - + Space Menubar|View|Maximize Library - + &Full Screen & Toàn màn hình - + Display Mixxx using the full screen Hiển thị Mixxx bằng cách sử dụng toàn màn hình - + &Options & Tùy chọn - + &Vinyl Control & Vinyl kiểm soát - + Use timecoded vinyls on external turntables to control Mixxx Sử dụng timecoded vinyls trên bên ngoài xoay để kiểm soát Mixxx - + Enable Vinyl Control &%1 Kích hoạt tính năng Vinyl kiểm soát & %1 - + &Record Mix & Ghi kết hợp - + Record your mix to a file Ghi lại hỗn hợp của bạn vào một tập tin - + Ctrl+R Ctrl + R - + Enable Live &Broadcasting Sử sống & phát thanh truyền - + Stream your mixes to a shoutcast or icecast server Dòng hỗn hợp của bạn đến một máy chủ shoutcast hoặc icecast - + Ctrl+L Ctrl + L - + Enable &Keyboard Shortcuts Kích hoạt tính năng & phím tắt - + Toggles keyboard shortcuts on or off Chuyển phím tắt Baät hoaëc taét - + Ctrl+` Ctrl +' - + &Preferences & Sở thích - + Change Mixxx settings (e.g. playback, MIDI, controls) Thay đổi cài đặt Mixxx (ví dụ như các điều khiển phát lại, MIDI) - + &Developer & Phát triển - + &Reload Skin & Tải lại da - + Reload the skin Tải lại da - + Ctrl+Shift+R Ctrl + Shift + R - + Developer &Tools Công cụ phát triển & - + Opens the developer tools dialog Mở hộp thoại công cụ phát triển - + Ctrl+Shift+T Ctrl + Shift + T - + Stats: &Experiment Bucket Thống kê: & thử nghiệm Xô - + Enables experiment mode. Collects stats in the EXPERIMENT tracking bucket. Cho phép thử nghiệm chế độ. Thu thập số liệu thống kê trong thử nghiệm theo dõi thùng. - + Ctrl+Shift+E Ctrl + Shift + E - + Stats: &Base Bucket Thống kê: & căn cứ Xô - + Enables base mode. Collects stats in the BASE tracking bucket. Cho phép cơ sở chế độ. Thu thập số liệu thống kê căn cứ theo dõi Xô. - + Ctrl+Shift+B Ctrl + Shift + B - + Deb&ugger Enabled Deb & ugger đã bật - + Enables the debugger during skin parsing Cho phép trình gỡ lỗi trong da phân tích - + Ctrl+Shift+D Ctrl + Shift + D - + &Help & Trợ giúp - + Show Keywheel menu title @@ -15781,74 +15926,74 @@ This can not be undone! - + Show keywheel tooltip text - + F12 Menubar|View|Show Keywheel - + &Community Support & Hỗ trợ cộng đồng - + Get help with Mixxx Nhận trợ giúp với Mixxx - + &User Manual & Hướng dẫn sử dụng - + Read the Mixxx user manual. Đọc hướng dẫn sử dụng Mixxx. - + &Keyboard Shortcuts & Phím tắt - + Speed up your workflow with keyboard shortcuts. Tăng tốc độ công việc của bạn với phím tắt. - + &Settings directory - + Open the Mixxx user settings directory. - + &Translate This Application & Dịch ứng dụng này - + Help translate this application into your language. Giúp chúng tôi dịch ứng dụng này sang ngôn ngữ của bạn. - + &About & Giới thiệu - + About the application Về ứng dụng @@ -15856,25 +16001,25 @@ This can not be undone! WOverview - + Passthrough - + Ready to play, analyzing... Text on waveform overview when file is playable but no waveform is visible - - + + Loading track... Text on waveform overview when file is cached from source - + Finalizing... Text on waveform overview during finalizing of waveform analysis @@ -15883,25 +16028,13 @@ This can not be undone! WSearchLineEdit - - Clear input - Clear the search bar input field - Rõ ràng đầu vào - - - - Ctrl+F - Search|Focus - Ctrl + F - - - + Search noun Tìm - + Clear input Rõ ràng đầu vào @@ -15912,169 +16045,163 @@ This can not be undone! Tìm... - + Clear the search bar input field - - Enter a string to search for - Nhập một chuỗi tìm kiếm + + Return + - - Use operators like bpm:115-128, artist:BooFar, -year:1990 + + Enter a string to search for. - - For more information see User Manual > Mixxx Library + + Use operators like bpm:115-128, artist:BooFar, -year:1990. - Shortcut - Lối tắt + See User Manual > Mixxx Library for more information. + - - Ctrl+F - Ctrl + F + + Focus/Select All (Search in current view) + Give search bar input focus + - - Focus - Give search bar input focus - Tập trung + + Focus/Select All (Search in 'Tracks' library view) + - - - Ctrl+Backspace + + Additional Shortcuts When Focused: - Shortcuts + Trigger search before search-as-you-type timeout or focus tracks view afterwards - Return + Esc or Ctrl+Return - Trigger search before search-as-you-type timeout orjump to tracks view afterwards + Immediately trigger search and focus tracks view + Exit search bar and leave focus - + Ctrl+Space - + Toggle search history Shows/hides the search history entries - + Delete or Backspace - - Delete query from history + + in search history - - Esc - Esc - - - - Exit search - Exit search bar and leave focus - Tìm lối ra + + Delete query from history + WSearchRelatedTracksMenu - + Search related Tracks - + Key Chìa khóa - + harmonic with %1 - + BPM BPM - + between %1 and %2 - + Artist Nghệ sĩ - + Album Artist Album nghệ sĩ - + Composer Nhà soạn nhạc - + Title Tiêu đề - + Album Album - + Grouping Nhóm - + Year Năm - + Genre Thể loại - + Directory - + &Search selected @@ -16082,620 +16209,625 @@ This can not be undone! WTrackMenu - + Load to - + Deck Sàn - + Sampler Sampler - + Add to Playlist Thêm vào danh sách chơi - + Crates Thùng - + Metadata - + Update external collections - + Cover Art Bìa - + Adjust BPM - + Select Color - - + + Analyze Phân tích - - + + Delete Track Files - + Add to Auto DJ Queue (bottom) Thêm vào hàng đợi DJ tự động (phía dưới) - + Add to Auto DJ Queue (top) Thêm vào hàng đợi DJ tự động (top) - + Add to Auto DJ Queue (replace) - + Preview Deck Xem trước sàn - + Remove Loại bỏ - + Remove from Playlist - + Remove from Crate - + Hide from Library Ẩn từ thư viện - + Unhide from Library Bỏ ẩn từ thư viện - + Purge from Library Xoá khỏi thư viện - + Move Track File(s) to Trash - + Delete Files from Disk - + Properties Thuộc tính - + Open in File Browser Mở trong trình duyệt tập tin - + Select in Library - + Import From File Tags - + Import From MusicBrainz - + Export To File Tags - + BPM and Beatgrid - + Play Count - + Rating Đánh giá - + Cue Point - - + + Hotcues Hotcues - + Intro - + Outro - + Key Chìa khóa - + ReplayGain - + Waveform - + Comment Bình luận - + All Tất cả - + Sort hotcues by position (remove offsets) - + Sort hotcues by position - + Lock BPM Khóa BPM - + Unlock BPM Mở khóa BPM - + Double BPM Đôi BPM - + Halve BPM Giảm một nửa BPM - + 2/3 BPM 2/3 BPM - + 3/4 BPM 3/4 BPM - + 4/3 BPM - + 3/2 BPM - + + Shift Beatgrid Half Beat + + + + Reanalyze - + Reanalyze (constant BPM) - + Reanalyze (variable BPM) - + Update ReplayGain from Deck Gain - + Deck %1 Sàn %1 - + Importing metadata of %n track(s) from file tags - + Marking metadata of %n track(s) to be exported into file tags - - + + Create New Playlist Tạo danh sách chơi mới - + Enter name for new playlist: Nhập tên cho danh sách phát mới: - + New Playlist Danh sách chơi mới - - - + + + Playlist Creation Failed Sáng tạo danh sách phát đã thất bại - + A playlist by that name already exists. Một danh sách tên đó đã tồn tại. - + A playlist cannot have a blank name. Một danh sách không thể có một tên trống. - + An unknown error occurred while creating playlist: Lỗi không biết xảy ra trong khi tạo danh sách chơi: - + Add to New Crate - + Scaling BPM of %n track(s) - + Undo BPM/beats change of %n track(s) - + Locking BPM of %n track(s) - + Unlocking BPM of %n track(s) - + Setting rating of %n track(s) - + Setting color of %n track(s) - + Resetting play count of %n track(s) - + Resetting beats of %n track(s) - + Clearing rating of %n track(s) - + Clearing comment of %n track(s) - + Removing main cue from %n track(s) - + Removing outro cue from %n track(s) - + Removing intro cue from %n track(s) - + Removing loop cues from %n track(s) - + Removing hot cues from %n track(s) - + Sorting hotcues of %n track(s) by position (remove offsets) - + Sorting hotcues of %n track(s) by position - + Resetting keys of %n track(s) - + Resetting replay gain of %n track(s) - + Resetting waveform of %n track(s) - + Resetting all performance metadata of %n track(s) - + Move these files to the trash bin? - + Permanently delete these files from disk? - - + + This can not be undone! - + Cancel Hủy bỏ - + Delete Files - + Okay - + Move Track File(s) to Trash? - + Track Files Deleted - + Track Files Moved To Trash - + %1 track files were moved to trash and purged from the Mixxx database. - + %1 track files were deleted from disk and purged from the Mixxx database. - + Track File Deleted - + Track file was deleted from disk and purged from the Mixxx database. - + The following %1 file(s) could not be deleted from disk - + This track file could not be deleted from disk - + Remaining Track File(s) - + Close Đóng - + Clear Reset metadata in right click track context menu in library - + Loops - + Clear BPM and Beatgrid - + Undo last BPM/beats change - + Move this track file to the trash bin? - + Permanently delete this track file from disk? - + All decks where these tracks are loaded will be stopped and the tracks will be ejected. - + All decks where this track is loaded will be stopped and the track will be ejected. - + Removing %n track file(s) from disk... - + Note: if you are in the Computer or Recording view you need to click the current view again to see changes. - + Track File Moved To Trash - + Track file was moved to trash and purged from the Mixxx database. - + Don't show again during this session - + The following %1 file(s) could not be moved to trash - + This track file could not be moved to trash - + Setting cover art of %n track(s) - + Reloading cover art of %n track(s) @@ -16711,37 +16843,37 @@ This can not be undone! WTrackStemMenu - + Load for stem mixing - + Load pre-mixed stereo track - + Load the "%1" stem - + Load multiple stem into a stereo deck - + Select stems to load - + Release "CTRL" to load the current selection - + Use "CTRL" to select multiple stems @@ -16749,37 +16881,37 @@ This can not be undone! WTrackTableView - + Confirm track hide - + Are you sure you want to hide the selected tracks? - + Are you sure you want to remove the selected tracks from AutoDJ queue? - + Are you sure you want to remove the selected tracks from this crate? - + Are you sure you want to remove the selected tracks from this playlist? - + Don't ask again during this session - + Confirm track removal @@ -16787,12 +16919,12 @@ This can not be undone! WTrackTableViewHeader - + Show or hide columns. Hiện hoặc ẩn cột. - + Shuffle Tracks @@ -16800,52 +16932,52 @@ This can not be undone! mixxx::CoreServices - + fonts - + database - + effects - + audio interface - + decks - + library - + Choose music library directory Chọn âm nhạc thư viện thư mục - + controllers - + Cannot open database Không thể mở cơ sở dữ liệu - + Unable to establish a database connection. Mixxx requires QT with SQLite support. Please read the Qt SQL driver documentation for information on how to build it. @@ -16859,68 +16991,78 @@ Nhấp vào OK để thoát. mixxx::DlgLibraryExport - + Entire music library - - Selected crates + + Crates + + + + + Playlists + + + + + Selected crates/playlists - + Browse Trình duyệt - + Export directory - + Database version - + Export - + Cancel Hủy bỏ - + Export Library to Engine DJ "Engine DJ" must not be translated - + Export Library To - + No Export Directory Chosen - + No export directory was chosen. Please choose a directory in order to export the music library. - + A database already exists in the chosen directory. Exported tracks will be added into this database. - + A database already exists in the chosen directory, but there was a problem loading it. Export is not guaranteed to succeed in this situation. @@ -16941,7 +17083,7 @@ Nhấp vào OK để thoát. mixxx::EnginePrimeExportJob - + Failed to export track %1 - %2: %3 %1 is the artist %2 is the title and %3 is the original error message @@ -16951,23 +17093,23 @@ Nhấp vào OK để thoát. mixxx::LibraryExporter - + Export Completed - - Exported %1 track(s) and %2 crate(s). + + Exported %1 track(s), %2 crate(s), and %3 playlist(s). - + Export Failed - - Exporting to Engine Prime... + + Exporting to Engine DJ... diff --git a/res/translations/mixxx_zh.qm b/res/translations/mixxx_zh.qm index 55e9463a73f2377bc129cd2d340ac3b694e7b800..231edd1d299d560350b41e4f6c5d3e8c62f8b41a 100644 GIT binary patch delta 24982 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 diff --git a/res/translations/mixxx_zh.ts b/res/translations/mixxx_zh.ts index 81cb9c7d4278..8fad9e39aa11 100644 --- a/res/translations/mixxx_zh.ts +++ b/res/translations/mixxx_zh.ts @@ -103,8 +103,7 @@ Add to Auto DJ Queue (bottom) - 將添加到自動 DJ 佇列 (底部) - + 添加到自自动 DJ 队列 (底部) @@ -151,7 +150,7 @@ BasePlaylistFeature - + New Playlist 新播放清單 @@ -162,7 +161,7 @@ - + Create New Playlist 創建新的播放清單 @@ -192,116 +191,123 @@ 複製 - - + + Import Playlist 輸入播放清單 - + Export Track Files 导出音轨文件 - + Analyze entire Playlist 分析整個播放清單 - + Enter new name for playlist: 为播放列表设置新的名称: - + Duplicate Playlist 重複播放清單 - - + + Enter name for new playlist: 輸入新播放清單名稱︰ - - + + Export Playlist 匯出播放清單 - + Add to Auto DJ Queue (replace) 加入自動 DJ 柱列 (取代) - + + + Export to Engine DJ + "Engine DJ" is a product name and must not be translated. + + + + Rename Playlist 重命名播放列表 - - + + Renaming Playlist Failed 重新命名播放清單失敗 - - - + + + A playlist by that name already exists. 使用该名称的播放列表已存在。 - - - + + + A playlist cannot have a blank name. 播放清單名稱不能為空白。 - + _copy //: Appendix to default name when duplicating a playlist _複製 - - - - - - + + + + + + Playlist Creation Failed 播放清單創建失敗 - - + + An unknown error occurred while creating playlist: 建立播放清單時發生未知的錯誤︰ - + Confirm Deletion 确认删除 - + Do you really want to delete playlist <b>%1</b>? 您真的要删除播放列表%1? - + M3U Playlist (*.m3u) M3U 播放清單 (*.m3u) - + M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Text CSV (*.csv);;Readable Text (*.txt) M3U 播放清單 (*.m3u);M3U8 播放清單 (*.m3u8);PLS播放清單 (*.pls);文字 CSV (*.csv);;可讀的文本 (*.txt) @@ -309,12 +315,12 @@ BaseSqlTableModel - + # # - + Timestamp 时间标记 @@ -322,7 +328,7 @@ BaseTrackPlayerImpl - + Couldn't load track. 無法載入音軌 @@ -330,142 +336,142 @@ BaseTrackTableModel - + Album 专辑 - + Album Artist 专辑艺术家 - + Artist 歌手 - + Bitrate 位元速率 - + BPM BPM - + Channels 電視頻道 - + Color 颜色 - + Comment 备注 - + Composer 作曲家 - + Cover Art 封面 - + Date Added 加入日期 - + Last Played 最后播放 - + Duration 持續時間 - + Type 类型 - + Genre 體裁 - + Grouping 分组 - + Key 關鍵 - + Location 地點 - + Overview - + Preview 預覽 - + Rating 评分 - + ReplayGain 播放音量增益 - + Samplerate 采样率 - + Played 已播放 - + Title 標題 - + Track # 軌道 # - + Year 年份 - + Fetching image ... Tooltip text on the cover art column shown when the cover is read from disk 獲取圖片中... @@ -614,6 +620,16 @@ "Computer" lets you navigate, view, and load tracks from folders on your hard disk and external devices. “我的电脑”可以让您从您的硬盘及外置设备中浏览、查看、载入音轨 + + + It shows the data from the file tags, not track data from your Mixxx library like other track views. + + + + + If you load a track file from here, it will be added to your library. + + BrowseTableModel @@ -2454,7 +2470,7 @@ trace - Above + Profiling messages Tempo tap button - + 节奏敲击按钮 @@ -3638,32 +3654,32 @@ trace - Above + Profiling messages ControllerScriptEngineBase - + The functionality provided by this controller mapping will be disabled until the issue has been resolved. 在問題解決之前,此控制器映射提供的功能將被禁用。 - + You can ignore this error for this session but you may experience erratic behavior. 您可以在此會話中忽略此錯誤,但可能會出現不穩定的行為。 - + Try to recover by resetting your controller. 嘗試恢復通過重置您的控制器。 - + Controller Mapping Error 控制器映射錯誤 - + The mapping for your controller "%1" is not working properly. 控制器“%1”的映射工作不正常。 - + The script code needs to be fixed. 脚本代码需要被修复。 @@ -3771,7 +3787,7 @@ trace - Above + Profiling messages 匯入箱 - + Export Crate 导出分类列表 @@ -3781,7 +3797,7 @@ trace - Above + Profiling messages 解鎖 - + An unknown error occurred while creating crate: 創建音樂箱時發生未知的錯誤︰ @@ -3807,17 +3823,17 @@ trace - Above + Profiling messages 重命名分类列表失败 - + Crate Creation Failed 建立音樂箱失敗 - + M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Text CSV (*.csv);;Readable Text (*.txt) M3U 播放清單 (*.m3u);M3U8 播放清單 (*.m3u8);PLS播放清單 (*.pls);文字 CSV (*.csv);;可讀的文本 (*.txt) - + M3U Playlist (*.m3u) M3U 播放清單 (*.m3u) @@ -3943,12 +3959,12 @@ trace - Above + Profiling messages 過去的貢獻者 - + Official Website 官方网站 - + Donate 捐献 @@ -4004,7 +4020,7 @@ trace - Above + Profiling messages - + Analyze 分析 @@ -4049,17 +4065,17 @@ trace - Above + Profiling messages 在選定的曲目上運行節拍、音調和增益檢測。選定的曲目不會生成波形,以節省磁碟空間。 - + Stop Analysis 停止分析 - + Analyzing %1% %2/%3 分析 %1% %2/%3 - + Analyzing %1/%2 分析 %1/%2 @@ -4476,37 +4492,37 @@ Often results in higher quality beatgrids, but will not do well on tracks that h 若映射不正确,请尝试启用下方的高级选项,然后重试。或者点击“重试”来重新检测 midi 控制器。 - + Didn't get any midi messages. Please try again. 未收到 midi 消息。请重试。 - + Unable to detect a mapping -- please try again. Be sure to only touch one control at once. 无法检测映射 - 请重试。请确保每次只操作一个控制器。 - + Successfully mapped control: 成功映射控制器: - + <i>Ready to learn %1</i> <i>现在可以学习 %1</i> - + Learning: %1. Now move a control on your controller. 正在学习:%1。现在请对控制器进行操作。 - + The selected control does not exist.<br>This likely a bug. Please report it on the Mixxx bug tracker.<br><a href='https://github.com/mixxxdj/mixxx/issues'>https://github.com/mixxxdj/mixxx/issues</a><br><br>You tried to learn: %1,%2 - + The control you clicked in Mixxx is not learnable. This could be because you are either using an old skin and this control is no longer supported, or you clicked a control that provides visual feedback and can only be mapped to outputs like LEDs via scripts. @@ -5209,114 +5225,114 @@ associated with each key. DlgPrefController - + Apply device settings? 應用設備設置嗎? - + Your settings must be applied before starting the learning wizard. Apply settings and continue? 開始學習嚮導前,必須應用您的設置。 應用設置並繼續? - + None - + %1 by %2 %2 %1 - + Mapping has been edited 映射已编辑 - + Always overwrite during this session 在此会话期间始终覆盖 - + Save As 另存为 - + Overwrite 覆盖 - + Save user mapping 保存用户映射 - + Enter the name for saving the mapping to the user folder. 输入用于将映射保存到用户文件夹的名称。 - + Saving mapping failed 保存映射失败 - + A mapping cannot have a blank name and may not contain special characters. 映射不能具有空白名称,并且不能包含特殊字符。 - + A mapping file with that name already exists. 具有该名称的映射文件已存在。 - + Do you want to save the changes? 是否要保存更改? - + Troubleshooting 疑難排解 - + <font color='#BB0000'><b>If you use this mapping your controller may not work correctly. Please select another mapping or disable the controller.</b></font><br><br>This mapping was designed for a newer Mixxx Controller Engine and cannot be used on your current Mixxx installation.<br>Your Mixxx installation has Controller Engine version %1. This mapping requires a Controller Engine version >= %2.<br><br>For more information visit the wiki page on <a href='https://mixxx.org/wiki/doku.php/controller_engine_versions'>Controller Engine Versions</a>. 如果使用此映射,则控制器可能无法正常工作。请选择其他映射或禁用控制器。此映射专为较新的 Mixxx 控制器引擎而设计,不能用于您当前的 Mixxx 安装。您的 Mixxx 安装的 Controller Engine 版本为 %1。此映射需要 Controller Engine 版本 >= %2。有关更多信息,请访问有关 Controller Engine 版本的 wiki 页面。 - + Mapping already exists. 映射已存在。 - + <b>%1</b> already exists in user mapping folder.<br>Overwrite or save with a new name? <b>%1</b>已存在于用户映射文件夹中.<br>覆盖还是用新名称保存? - + Clear Input Mappings 清除输入映射 - + Are you sure you want to clear all input mappings? 你確定你想要清除所有輸入的映射? - + Clear Output Mappings 清除輸出映射 - + Are you sure you want to clear all output mappings? 你確定你想要清除所有輸出映射? @@ -5647,6 +5663,16 @@ Apply settings and continue? Multi-Sampling 多重采样 + + + Force 3D acceleration + + + + + If checked, Mixxx will always assume 3D acceleration is available. This may lead to pour performance if only CP-backed rendering is available.. + + Start in full-screen mode @@ -6255,62 +6281,62 @@ You can always drag-and-drop tracks on screen to clone a deck. DlgPrefInterface - + The minimum size of the selected skin is bigger than your screen resolution. 所選的外觀的最小大小大於您的螢幕解析度。 - + Allow screensaver to run 允许屏幕保护程序运行 - + Prevent screensaver from running 防止屏幕保护程序运行 - + Prevent screensaver while playing 播放时防止屏幕保护程序运行 - + Disabled 禁用 - + 2x MSAA 2倍采样抗锯齿 - + 4x MSAA 4倍采样抗锯齿 - + 8x MSAA 8倍采样抗锯齿 - + 16x MSAA 16倍采样抗锯齿 - + This skin does not support color schemes 這種皮膚不支援色彩配置 - + Information 資訊 - + Mixxx must be restarted before the new locale, scaling or multi-sampling settings will take effect. 在新的区域设置、缩放或多重采样设置生效之前,必须重新启动Mixxx。 @@ -7247,7 +7273,7 @@ and allows you to pitch adjust them for harmonic mixing. All settings take effect on next track load. Currently loaded tracks are not affected. For an explanation of these settings, see the %1 - + 所有设置都会在下一次轨道加载时生效。当前加载的轨迹不受影响。有关这些设置的说明,请参阅 %1 @@ -7486,173 +7512,172 @@ The loudness target is approximate and assumes track pregain and main output lev DlgPrefSound - + %1 Hz %1 赫兹 - + Default (long delay) 默认(长延时) - + Experimental (no delay) 试验(无延时) - + Disabled (short delay) 禁用 (短延時) - + Soundcard Clock 声卡时钟 - + Network Clock 网络时钟 - + Direct monitor (recording and broadcasting only) 直接监视器(仅限录制和广播) - + Disabled 已禁用 - + Enabled 啟用 - + Stereo 立体声 - + Mono 單聲道 - + To enable Realtime scheduling (currently disabled), see the %1. 要启用实时计划(当前已禁用),请参阅 %1。 - + The %1 lists sound cards and controllers you may want to consider for using Mixxx. %1 列出了您可能需要考虑使用 Mixxx 的声卡和控制器。 - + Mixxx DJ Hardware Guide Mixxx DJ 硬件指南 - + Information - + Mixxx must be restarted before the multi-threaded RubberBand setting change will take effect. - + auto (<= 1024 frames/period) 自动(<= 1024 帧/周期) - + 2048 frames/period 2048 帧/周期 - + 4096 frames/period 4096 帧/周期 - + Are you sure? - + Distribute stereo channels into mono channels for parallel processing will result in a loss of mono compatibility and a diffuse stereo image. It is not recommended during broadcasting or recording. - + Are you sure you wish to proceed? - + No - + Yes, I know what I am doing - + Microphone inputs are out of time in the record & broadcast signal compared to what you hear. 与您听到的相比,麦克风输入在录音和广播信号中显得不合时宜。 - + Measure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. 测量往返延迟,并在上方输入麦克风延迟补偿以对齐麦克风计时。 - - + Refer to the Mixxx User Manual for details. 細節請參考Mixxx 使用者操作手冊 - + Configured latency has changed. 配置的延迟已更改。 - + Remeasure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. 重新测量往返延迟,并将其输入到麦克风延迟补偿上方,以调整麦克风定时。 - + Realtime scheduling is enabled. 已启用实时调度。 - + Main output only 仅主输出 - + Main and booth outputs 主输出和展位输出 - + %1 ms %1 ms - + Configuration error 配置錯誤 @@ -7670,131 +7695,131 @@ The loudness target is approximate and assumes track pregain and main output lev 聲音 API - + Sample Rate 采样率 - + Audio Buffer 音频缓冲 - + Engine Clock 引擎时钟 - + Use soundcard clock for live audience setups and lowest latency.<br>Use network clock for broadcasting without a live audience. 使用声卡时钟进行现场观众设置和最低延迟。1使用网络时钟进行没有现场观众的广播。 - + Main Mix 主混合 - + Main Output Mode 主输出模式 - + Microphone Monitor Mode 麦克风监听模式 - + Microphone Latency Compensation 麦克风延迟补偿 - - - - + + + + ms milliseconds 女士 - + 20 ms 為 20 毫秒 - + Buffer Underflow Count 緩衝區下溢計數 - + 0 0 - + Keylock/Pitch-Bending Engine 键盘锁 / 滑音引擎 - + Multi-Soundcard Synchronization 多音效卡同步 - + Output 輸出 - + Input 輸入 - + System Reported Latency 系統報告延遲 - + Enlarge your audio buffer if the underflow counter is increasing or you hear pops during playback. 若下溢计数持续增加,或者您听到“啪啪”声,请增大您的音频缓冲区。 - + Main Output Delay 主输出延迟 - + Headphone Output Delay 耳机输出延迟 - + Booth Output Delay Booth输出延迟 - + Dual-threaded Stereo - + Hints and Diagnostics 提示和診斷 - + Downsize your audio buffer to improve Mixxx's responsiveness. 若需提升 Mixxx 的响应速度,请降低您的音频缓冲区大小。 - + Query Devices 查詢設備 @@ -9354,27 +9379,27 @@ Often results in higher quality beatgrids, but will not do well on tracks that h EngineBuffer - + Soundtouch (faster) Soundtouch (更快) - + Rubberband (better) 橡皮條 (更好) - + Rubberband R3 (near-hi-fi quality) 接近高保真质量 - + Unknown, using Rubberband (better) 未知,使用更好 - + Unknown, using Soundtouch 未知,使用 Soundtouch @@ -9589,15 +9614,15 @@ Often results in higher quality beatgrids, but will not do well on tracks that h LegacySkinParser - - + + Safe Mode Enabled Shown when Mixxx is running in safe mode. 已启用安全模式 - - + + No OpenGL support. Shown when Spinny can not be displayed. Please keep @@ -9609,57 +9634,57 @@ Shown when VuMeter can not be displayed. Please keep 支持。 - + activate 启用 - + toggle 切換 - + right - + left - + right small 右小 - + left small 左小 - + up 向上 - + down - + up small 小了 - + down small 下小 - + Shortcut 快捷方式 @@ -9667,37 +9692,37 @@ Shown when VuMeter can not be displayed. Please keep Library - + This or a parent directory is already in your library. 此目录或父目录已位于您的库中。 - + This or a listed directory does not exist or is inaccessible. Aborting the operation to avoid library inconsistencies 此目录或列出的目录不存在或无法访问。 中止操作以避免库不一致 - - + + This directory can not be read. 无法读取此目录。 - + An unknown error occurred. Aborting the operation to avoid library inconsistencies 发生未知错误。 中止操作以避免库不一致 - + Can't add Directory to Library 无法将目录添加到库 - + Could not add <b>%1</b> to your library. %2 @@ -9706,27 +9731,27 @@ Aborting the operation to avoid library inconsistencies %2 - + Can't remove Directory from Library 无法从库中删除目录 - + An unknown error occurred. 发生未知错误。 - + This directory does not exist or is inaccessible. 此目录不存在或无法访问。 - + Relink Directory 重新链接目录 - + Could not relink <b>%1</b> to <b>%2</b>. %3 @@ -9738,23 +9763,23 @@ Aborting the operation to avoid library inconsistencies LibraryFeature - + Import Playlist 輸入播放清單 - + Playlist Files (*.m3u *.m3u8 *.pls *.csv) 播放清單檔 (*.m3u *.m3u8 *.pls *.csv) - + Overwrite File? 覆盖文件? - + A playlist file with the name "%1" already exists. The default "m3u" extension was added because none was specified. @@ -9905,251 +9930,251 @@ Do you really want to overwrite it? MixxxMainWindow - + Sound Device Busy 声音设备正忙 - + <b>Retry</b> after closing the other application or reconnecting a sound device 關閉其他應用程式或重新連接聲音設備後 <b>重試</b> - - - + + + <b>Reconfigure</b> Mixxx's sound device settings. <b>重新配置</b> Mixxx 声音设备。 - - + + Get <b>Help</b> from the Mixxx Wiki. 从 Mixxx Wiki 中获取<b>帮助</b>。 - - - + + + <b>Exit</b> Mixxx. <b>退出</b> Mixxx。 - + Retry 重试 - + skin 皮肤 - + Allow Mixxx to hide the menu bar? 允许 Mixxx 隐藏菜单栏? - + Hide Always show the menu bar? 隐藏 - + Always show 始终显示 - + The Mixxx menu bar is hidden and can be toggled with a single press of the <b>Alt</b> key.<br><br>Click <b>%1</b> to agree.<br><br>Click <b>%2</b> to disable that, for example if you don't use Mixxx with a keyboard.<br><br>You can change this setting any time in Preferences -> Interface.<br> Keep formatting tags <b> (bold text) and <br> (linebreak). %1 is the placeholder for the 'Always show' button label Mixxx 菜单栏是隐藏的,只需按一下<b>Alt 键</b>钥匙。<br><br>点击<b>%1</b>同意。<br><br>点击<b>%2</b>以禁用它,例如,如果您不将 Mixxx 与键盘一起使用。<br><br>您可以随时在 Preferences -> Interface 中更改此设置。<br> - + Ask me again 再问我一次 - - + + Reconfigure 重新配置 - + Help 帮助 - - + + Exit 退出 - - + + Mixxx was unable to open all the configured sound devices. Mixxx 无法打开所有要打开的音频设备 - + Sound Device Error 音频设备错误 - + <b>Retry</b> after fixing an issue 修正错误后 <b> 重试 </b> - + No Output Devices 没有输出设备 - + Mixxx was configured without any output sound devices. Audio processing will be disabled without a configured output device. Mixxx 的配置中没有任何输出设备,将会禁用音频处理操作。 - + <b>Continue</b> without any outputs. <b>繼續</b> 沒有任何產出。 - + Continue 继续 - + Load track to Deck %1 加载音轨到碟机 %1 - + Deck %1 is currently playing a track. 甲板 %1 當前播放的曲目。 - + Are you sure you want to load a new track? 你確定你想要載入一個新的軌道? - + There is no input device selected for this vinyl control. Please select an input device in the sound hardware preferences first. 尚未选择用于唱盘控制的输入设备。 请在声音硬件的首选项中选择一个输入设备。 - + There is no input device selected for this passthrough control. Please select an input device in the sound hardware preferences first. 有是沒有為此直通控制項選擇的輸入的設備。 請先在聲音硬體首選項中選擇一種輸入的設備。 - + There is no input device selected for this microphone. Do you want to select an input device? 没有为此麦克风选择输入设备。是否要选择输入设备? - + There is no input device selected for this auxiliary. Do you want to select an input device? 没有为此辅助设备选择输入设备。是否要选择输入设备? - + Scan took %1 - + No changes detected. - - + + %1 tracks in total - + %1 new tracks found - + %1 moved tracks detected - + %1 tracks are missing (%2 total) - + %1 tracks have been rediscovered - + Library scan finished - + Error in skin file 皮膚檔中的錯誤 - + The selected skin cannot be loaded. 無法載入所選的外觀。 - + OpenGL Direct Rendering OpenGL 直接繪製 - + Direct rendering is not enabled on your machine.<br><br>This means that the waveform displays will be very<br><b>slow and may tax your CPU heavily</b>. Either update your<br>configuration to enable direct rendering, or disable<br>the waveform displays in the Mixxx preferences by selecting<br>"Empty" as the waveform display in the 'Interface' section. 您的计算机上未启用直接渲染。<br><br>这意味着波形显示将非常<br><b>速度慢,并且可能会严重占用您的 CPU</b>.要么更新您的<br>配置以启用直接渲染或禁用<br>波形将通过选择 Mixxx 首选项显示在<br>“空”作为“界面”部分的波形显示。 - - - + + + Confirm Exit 确认退出 - + A deck is currently playing. Exit Mixxx? 有唱机正在播放。确定退出 Mixxx 吗? - + A sampler is currently playing. Exit Mixxx? 當前現正播放採樣器。退出 Mixxx 嗎? - + The preferences window is still open. 首選項視窗是仍處於打開狀態。 - + Discard any changes and exit Mixxx? 放棄所有更改並退出 Mixxx? @@ -10165,13 +10190,13 @@ Do you want to select an input device? PlaylistFeature - + Lock 锁定 - - + + Playlists 播放列表 @@ -10181,32 +10206,58 @@ Do you want to select an input device? 随机播放播放列表 - + + Unlock all playlists + + + + + Delete all unlocked playlists + + + + Unlock 解鎖 - + + + Confirm Deletion + + + + + Do you really want to delete all unlocked playlists? + + + + + Deleting %1 unlocked playlists.<br>This operation can not be undone! + + + + Playlists are ordered lists of tracks that allow you to plan your DJ sets. 播放列表是有序的曲目列表,允许您规划 DJ 集。 - + It may be necessary to skip some tracks in your prepared playlist or add some different tracks in order to maintain the energy of your audience. 可能需要跳过您准备好的播放列表中的一些曲目或添加一些不同的曲目,以保持观众的活力。 - + Some DJs construct playlists before they perform live, but others prefer to build them on-the-fly. 一些DJ在他们表演之前创建播放列表,但其他人更倾向于即兴表演。 - + When using a playlist during a live DJ set, remember to always pay close attention to how your audience reacts to the music you've chosen to play. 在在线 Dj 集中使用播放列表时,请时刻注意您的听众对所选音乐的反应。 - + Create New Playlist 創建新的播放清單 @@ -11865,7 +11916,7 @@ Hint: compensates "chipmunk" or "growling" voices 应用于音频信号的放大量。在更高的级别上,音频将更加分散。 - + Passthrough 直通 @@ -12035,12 +12086,12 @@ may introduce a 'pumping' effect and/or distortion. 各种 - + built-in - + missing @@ -12168,54 +12219,54 @@ may introduce a 'pumping' effect and/or distortion. RekordboxFeature - - - + + + Rekordbox Rekordbox - + Playlists 播放列表 - + Folders 文件夹 - + Reads databases exported for Pioneer CDJ / XDJ players using the Rekordbox Export mode.<br/>Rekordbox can only export to USB or SD devices with a FAT or HFS file system.<br/>Mixxx can read a database from any device that contains the database folders (<tt>PIONEER</tt> and <tt>Contents</tt>).<br/>Not supported are Rekordbox databases that have been moved to an external device via<br/><i>Preferences > Advanced > Database management</i>.<br/><br/>The following data is read: 读取使用 Rekordbox 导出模式为 Pioneer CDJ/XDJ 播放器导出的数据库。1Rekordbox 只能导出到具有 FAT 或 HFS 文件系统的 USB 或 SD 设备。2Mixxx 可以从包含数据库文件夹 (3先锋3和4内容4).5不支持已通过67高级>数据库管理>首选项7.89读取以下数据: - + Hot cues - + Hot cues - + Loops (only the first loop is currently usable in Mixxx) Loops(目前只有第一个 Loop 在 Mixxx 中可用) - + Check for attached Rekordbox USB / SD devices (refresh) 检查连接的 Rekordbox USB/SD 设备(刷新) - + Beatgrids 节拍网格 - + Memory cues 记忆线索 - + (loading) Rekordbox (加载中)Rekordbox @@ -15140,7 +15191,7 @@ Use this to change only the effected (wet) signal with EQ and filter effects. Beatloop - + 节拍循环 @@ -15459,47 +15510,47 @@ This can not be undone! WCueMenuPopup - + Cue number 提示编号 - + Cue position 提示位置 - + Edit cue label Edit cue label(编辑提示标签) - + Label... 标签 - + Delete this cue 删除此提示 - + Toggle this cue type between normal cue and saved loop 在正常提示点和保存的 Loop 之间切换此提示类型 - + Left-click: Use the old size or the current beatloop size as the loop size 左键单击:使用旧大小或当前 Beatloop 大小作为 Loop 大小 - + Right-click: Use the current play position as loop end if it is after the cue 右键点击:如果当前播放位置在 cue 之后,则将其用作 Loop 结束 - + Hotcue #%1 热提示 #%1 @@ -15624,323 +15675,353 @@ This can not be undone! + Search in Current View... + + + + + Search for tracks in the current library view + + + + + Ctrl+f + + + + + Search in Tracks Library... + + + + + Search in the internal track collection under "Tracks" in the library + + + + + Ctrl+Shift+F + + + + Create &New Playlist 創建與新的播放清單 - + Create a new playlist 新建播放列表 - + Ctrl+n Ctrl n + - + Create New &Crate 創建新 & 箱 - + Create a new crate 創建一個新的箱子 - + Ctrl+Shift+N Ctrl + Shift + N - - + + &View 查看(&V) - + Auto-hide menu bar 自动隐藏菜单栏 - + Auto-hide the main menu bar when it's not used. 不使用主菜单栏时自动隐藏主菜单栏。 - + May not be supported on all skins. 并非所有皮肤均支持。 - + Show Skin Settings Menu 皮肤设置菜单 - + Show the Skin Settings Menu of the currently selected Skin 显示当前选定皮肤的皮肤设置菜单 - + Ctrl+1 Menubar|View|Show Skin Settings Ctrl 1 + - + Show Microphone Section 顯示麥克風節 - + Show the microphone section of the Mixxx interface. 顯示 Mixxx 介面的麥克風部分。 - + Ctrl+2 Menubar|View|Show Microphone Section Ctrl+2 - + Show Vinyl Control Section 显示唱盘控制界面 - + Show the vinyl control section of the Mixxx interface. 顯示 Mixxx 介面的乙烯基控制部分。 - + Ctrl+3 Menubar|View|Show Vinyl Control Section Ctrl 3 + - + Show Preview Deck 顯示預覽甲板 - + Show the preview deck in the Mixxx interface. 在 Mixxx 内显示显示预览用碟机。 - + Ctrl+4 Menubar|View|Show Preview Deck Ctrl+4 - + Show Cover Art 显示封面 - + Show cover art in the Mixxx interface. 在 Mixxx 介面中顯示封面藝術。 - + Ctrl+6 Menubar|View|Show Cover Art Ctrl 6 + - + Maximize Library 最大化音乐库 - + Maximize the track library to take up all the available screen space. 最大化音樂庫以佔用所有可用的螢幕空間。 - + Space Menubar|View|Maximize Library 空間 - + &Full Screen 全屏(&F) - + Display Mixxx using the full screen 使用全螢幕的顯示 Mixxx - + &Options 选项(&O) - + &Vinyl Control 與乙烯基控制 - + Use timecoded vinyls on external turntables to control Mixxx 对外部转盘使用时间编码的唱盘控制,以便控制 Mixxx - + Enable Vinyl Control &%1 啟用乙烯控制 & %1 - + &Record Mix 與記錄組合 - + Record your mix to a file 記錄你組合到一個檔 - + Ctrl+R Ctrl+R - + Enable Live &Broadcasting 啟用即時 & 廣播 - + Stream your mixes to a shoutcast or icecast server 将混音通过流输出到 shoutcast 或 icecast 服务器 - + Ctrl+L 按 Ctrl + L - + Enable &Keyboard Shortcuts 启用键快捷键(&K) - + Toggles keyboard shortcuts on or off 键盘快捷键开关 - + Ctrl+` 按 Ctrl +' - + &Preferences 首选项(&P) - + Change Mixxx settings (e.g. playback, MIDI, controls) 改變 Mixxx 的設置 (例如播放 MIDI,控制項) - + &Developer 與開發人員 - + &Reload Skin 重载皮肤(&R) - + Reload the skin 重新載入皮膚 - + Ctrl+Shift+R Ctrl+Shift+R - + Developer &Tools 开发者工具(&T) - + Opens the developer tools dialog 打開開發人員工具對話方塊 - + Ctrl+Shift+T Ctrl + Shift + T - + Stats: &Experiment Bucket 統計: & 實驗鬥 - + Enables experiment mode. Collects stats in the EXPERIMENT tracking bucket. 使實驗模式。收集統計實驗跟蹤存儲桶中。 - + Ctrl+Shift+E Ctrl+Shift+E - + Stats: &Base Bucket 統計: & 基地鬥 - + Enables base mode. Collects stats in the BASE tracking bucket. 启用基础模式。统计数据将会收集到基础跟踪桶中。 - + Ctrl+Shift+B Ctrl+Shift+B - + Deb&ugger Enabled 调试器已启用(&U) - + Enables the debugger during skin parsing 在皮膚分析過程中啟用調試器 - + Ctrl+Shift+D 按 Ctrl + Shift + D - + &Help 與説明 - + Show Keywheel menu title 显示 Keywheel @@ -15957,74 +16038,74 @@ This can not be undone! 将库导出为 Engine DJ 格式 - + Show keywheel tooltip text 显示 Keywheel - + F12 Menubar|View|Show Keywheel F12 - + &Community Support 社区帮助(&C) - + Get help with Mixxx 獲得 Mixxx 的説明 - + &User Manual 與使用者手冊 - + Read the Mixxx user manual. 閱讀 Mixxx 使用者手冊。 - + &Keyboard Shortcuts 键盘快捷键(&K) - + Speed up your workflow with keyboard shortcuts. 加快您的工作流使用鍵盤快速鍵。 - + &Settings directory &设置目录 - + Open the Mixxx user settings directory. 打开 Mixxx 用户设置目录。 - + &Translate This Application 翻译这个程序(&T) - + Help translate this application into your language. 幫忙翻譯成您的語言此應用程式。 - + &About 关于(&A) - + About the application 有關應用程式 @@ -16059,25 +16140,13 @@ This can not be undone! WSearchLineEdit - - Clear input - Clear the search bar input field - 清除輸入 - - - - Ctrl+F - Search|Focus - Ctrl+F - - - + Search noun 搜索 - + Clear input 清除輸入 @@ -16088,93 +16157,87 @@ This can not be undone! 搜索... - + Clear the search bar input field 清除搜索栏输入字段 - - Enter a string to search for - 輸入要搜索的字串 + + Return + 返回 - - Use operators like bpm:115-128, artist:BooFar, -year:1990 - 使用运算符,如 bpm:115-128, artist:BooFar, -year:1990 + + Enter a string to search for. + - - For more information see User Manual > Mixxx Library - 有关更多信息,请参阅 Mixxx Library >用户手册 + + Use operators like bpm:115-128, artist:BooFar, -year:1990. + - Shortcut - 快捷方式 + See User Manual > Mixxx Library for more information. + - - Ctrl+F - Ctrl+F + + Focus/Select All (Search in current view) + Give search bar input focus + - - Focus - Give search bar input focus - 焦點 + + Focus/Select All (Search in 'Tracks' library view) + - - - Ctrl+Backspace - Ctrl + 倒退鍵 + + Additional Shortcuts When Focused: + - Shortcuts - 快捷方式 + Trigger search before search-as-you-type timeout or focus tracks view afterwards + - Return - 返回 + Esc or Ctrl+Return + - Trigger search before search-as-you-type timeout orjump to tracks view afterwards - 在键入时搜索超时之前触发搜索,或在之后跳转到轨道视图 + Immediately trigger search and focus tracks view + Exit search bar and leave focus + - + Ctrl+Space Ctrl + 空格键 - + Toggle search history Shows/hides the search history entries 切换搜索历史记录 - + Delete or Backspace 删除或退格 - - Delete query from history - 从历史记录中删除查询 - - - - Esc - 按 esc 鍵 + + in search history + - - Exit search - Exit search bar and leave focus - 退出搜索 + + Delete query from history + 从历史记录中删除查询 @@ -16932,37 +16995,37 @@ This can not be undone! WTrackTableView - + Confirm track hide 确认轨道隐藏 - + Are you sure you want to hide the selected tracks? 您确定要隐藏选定的轨道吗? - + Are you sure you want to remove the selected tracks from AutoDJ queue? 您确定要从 AutoDJ 队列中删除选定的曲目吗? - + Are you sure you want to remove the selected tracks from this crate? 您确定要隐藏选定的轨道吗? - + Are you sure you want to remove the selected tracks from this playlist? 您确定要从此播放列表中删除选定的曲目吗? - + Don't ask again during this session 在此会话期间不要再次询问 - + Confirm track removal 确认轨道移除 @@ -16983,52 +17046,52 @@ This can not be undone! mixxx::CoreServices - + fonts 字体 - + database 数据库 - + effects 效果 - + audio interface 音频接口 - + decks 甲板 - + library 媒体库 - + Choose music library directory 選擇音樂庫目錄 - + controllers 控制器 - + Cannot open database 無法打開資料庫 - + Unable to establish a database connection. Mixxx requires QT with SQLite support. Please read the Qt SQL driver documentation for information on how to build it. @@ -17042,68 +17105,78 @@ Mixxx 需要 qt 離散度與 SQLite 支援。請閱讀有關如何構建它的 mixxx::DlgLibraryExport - + Entire music library 整个音乐库 - - Selected crates - 选中的箱子 + + Crates + + + + + Playlists + - + + Selected crates/playlists + + + + Browse 流覽 - + Export directory 导出目录 - + Database version 数据库版本 - + Export 导出 - + Cancel 取消 - + Export Library to Engine DJ "Engine DJ" must not be translated 导出到 Engine DJ - + Export Library To 导出到 - + No Export Directory Chosen 未选择导出目录 - + No export directory was chosen. Please choose a directory in order to export the music library. 未选择导出目录。请选择一个目录以导出音乐库。 - + A database already exists in the chosen directory. Exported tracks will be added into this database. 所选目录中已存在数据库。导出的轨道将被添加到此数据库中。 - + A database already exists in the chosen directory, but there was a problem loading it. Export is not guaranteed to succeed in this situation. 所选目录中已存在数据库,但加载该数据库时出现问题。在这种情况下,不能保证导出成功。 @@ -17124,7 +17197,7 @@ Mixxx 需要 qt 離散度與 SQLite 支援。請閱讀有關如何構建它的 mixxx::EnginePrimeExportJob - + Failed to export track %1 - %2: %3 %1 is the artist %2 is the title and %3 is the original error message @@ -17135,22 +17208,22 @@ Mixxx 需要 qt 離散度與 SQLite 支援。請閱讀有關如何構建它的 mixxx::LibraryExporter - + Export Completed 导出已完成 - - Exported %1 track(s) and %2 crate(s). - 导出了 %1 个轨道和 %2 个板条箱。 + + Exported %1 track(s), %2 crate(s), and %3 playlist(s). + - + Export Failed 导出失败 - + Exporting to Engine DJ... 正在导出到 Engine DJ.. diff --git a/res/translations/mixxx_zh_CN.qm b/res/translations/mixxx_zh_CN.qm index e6e5dfaf03c0eb80f42c63f711646bafa6f85695..0731f04add53203a20c0a8d06b2c30bb3ce35996 100644 GIT binary patch delta 23619 zcmX7wcR-C_7{{M;&b#i)&Po|&gzQa56jAmnLfIofWMp)yY%;Drl98>DJyLcglsz)a zCM!GneY^Ls&wEGjd(Ly7^UQO5vZiSAvZ71NH4XSlM3sn&lmlIem8)mt;7&IF`~%h| z_QnCML)7HEmE4%SthbYSJ6^OQwx|#20T$e>EwLz1upM|3^dz>lD(D4X2D=hJy@H6( zB3>+#NZ`B83R}s}HwOcWn%jdzhy`>9@!jURMACR-3$KC`h%c)FP9|<%G#M8&@WEFw z90QmEM&Lm{;9|VK0d6F=_!GDV0~!VH11;b|@F{qj*b>ZIx`w}t0Ur}vR*FatAbt!F zR|WB+7=W5Y+$WBx3MRVYjg@Bh`ZF#yF!$du%St(qL5Ou`&muN&jp2T+y0B2EIRtpmJ z!32KvAo2|&R_g*Z0AGmzZn@6w&6T6@GKF{@ECeV5_uH6@>EN}*&k=R2N33dLqV9E| zISF805c2BYn^-BRWcOjjQqJ4>_p6osz&3Cm3AGlOOFZEwn2*=fF=mbUA;=Fji}8(d zaf#@2b)udZiTOjGAU`&as24Qk2UHH^?Y9#3IY&HsC6V80+~^;X|3G~HlPF>=u|kK5 z-GZ%Nq9lE z&YMWgE#NtlChCcoUu9!0FOv4GC%*QJmExZ(2AFOGSQ(OT;CmzQkaX9aPc)<$E+85Ycak2}Aa?l^Nv|WZgpnk@ zuZ=%AOVYB8-?U%VGwCAl07?Pt=(;W!7TqIdvoiGB)4yXkGGQC2@_dy*-8;o z2+So~iTi>gB$nh}m{_}KHm05@dC+{4l;0!|O(gN+BgwtEk~c$uC(2vN`n@1| z3k=+!_9XAff;zOel9%-*dCx$i)3Zt5-+=f73}`>>z}X{K@-*BpX$VnCVWaZ~D_P@V z1vC>6R#O+WBo~1if=BYY=?dLppa6a0iA+Kt$qtkCUs;w z7P>X5Q*IHBj3IS>08!ozQZar$?l@^r9Em?UYFVP#n~U!wL&qM(oi5wxcHc_z1-unP z!YP~z{r8!uQxhsYJsqB55*2xWmUvV=72P%ia_m9H4#C98m#Bo=n55#7WIwh8v4QDS zvcY`fNsX!GN+@nbIF)IKW#1G_PTPJE5A>k&8w1JAd#&f+o3)q}o z3lv%_WTm*hgQ`Puc=6&kmitE4x4?ag^FOKj^-Cn~b)g#d`VxyNMm5^LAi|!mnNpY7 z$u8v93xbW?M{a$*z**$BE{Mq7kZPR>Cb4^w<)d2CyqD@nVwfiuQ-cDZ@y3H1SU2_% zYBaRK668^n=W!&0U8(7G=-uiL)HHQ4EQ+(0Lf%77Ukjosov1}hB#B#5%X*FmxyJ zB`?UkdN|DX5i5nu3LEo2kaq(ZhCMR49_B2Yyc@10rf#%SouKG4Rm4%Eee3B1xq>XH;i;>dUE@@XwG z?~c@M0VXmfgt{GzB4&4*x}};=5#K+Fy7$i~R;M|2A3A{~v6i}z+(j(?DfO^B3vcn! zN^Y1;Js=TQw;lC}SU{}f2pebHQO^-F-rr5VuHwP!VCwaHCGnFTsQ2aD#7dX9(ZPxO zI8-2N)tvf7-i8gkM|}bo{KIA|L48gqf^VqLRgAQ-hn2icbsI-6r@q5h5I>toe#2Ih zct4r^MnscnHk15D9U?ka)k=OflKgf;LZza}@BCO2`x;ta=^f3tg2~_DLfpZ{#u^80 ztas1GcDHTx{BC3W%2tZpkK{iDvDC;aF#kEFsb7}_5}G&l z3*Sb3-#zLVfpDWqD)pOlo9IC}^{<)^ThU-I^?wExSXh(#|ADGJ^P~Z7b`fuLn+9Q( zMYp09)ByA8J(7X~2NMOpqapqmh~8z}X<>VktPe1+hvR{kQWe+;`WqG`T01yypX&@)yR$$B9B0=8-tQ zl|uKV6JPb7rrxTA*W+m#Bqf!~rfFqEh;DVEnc=B0&QUZosTy$)7n*tbDFnWjW_`Ah zNT^8RK3JGi5`_=O0#3a_vrEG(-9ACHr!*nH&Vv^En-gHo#?rzmWr)A+ON-wbN%SvH zQIq0`l__DPgBPuMm_wrOVOqTk)^pwo8}Gcb@mUJ3^D+>f@uv0TGlj3d1MQQW<9HKIAw6!F3f9OxzYQFAHVz{2RozoK;$5U*p7bM2_qwS7C z#Db2}_PLydGM0AEzD2Blf7-bPOERb%?S71iYE=~Nc?6Ls)TX!;Ut&deQ+(iX;vX_- zzyEQfc`IoDEi7G)my~d&z}@E4k@z^6oso1b3KK4Wj?C7JTA_HOV2$e0@j38o;f?6{ z-TK7ORG<^Xvxt|qr;~eeqs38_T+5wU@fUQyNeJ;Kujx|n#@M7^=+flI*rXC&%E9LR zHIyz-&m|fECKN^Jj-R+PH^Jn?4J>E6Y!wg;=vm^sd`3qSXiK-BbwlRS|l3su=M} zG4#G*<(BuO&j~OV(pma4&Y#$~T*?jcCCV*I-FuuJV$Jb5pk4vHiwuloc?-YK5ovG|0S4cR#Ws&+&ndzgBckl6gkv@sQk=U-;Jb&e!XjbVnv5;oELRs|O% zLZ33br*UI?!q#d8o5Ctx#{(+PW6tZth`;E~DxbjjCuOrL4v8f6b(rf{?1e$jpcxmV zyjk_+dn9revs%5Ak*PdpwI&y^9ILIRVbhFYb>1NMIlP?JdzV41{0-LdUL?_NKh~%& zcJpS{N|rd6HS)UxpP$5<*Tk;%AH$mOtVQC&1J?X#HDa4$So24j#O~B&&7Whbb@8l) zV;eUT-N&&OXAp$eFULIQMU!xS&)PY{1$Ho4%!QrIJz4kt=_KZtVtw|6lH?G_{CsOc zbIY=Re)mbzxw3%b(2(^j*nrLM2!-pjfq`ixmFUR^?r|g*T7eCEg3Rq~HVdp3MWRnC z3yiu#l(U2do$XHS+B-I6HQwL6i4FJqO1yL~8yL^5Htq@|zU>DK$qOL%sxJ$z zmO90VM$FpUhuq=^B*{ZU|iGTBA8-8F1uo<2#X3PMRD!yTxOJrmGgV^R>5X9U_wsjc< zSRst9AJHd`tM~Zwu6AXhNtIdv1%{OD6yRyV)(I~%cWQksQ(7FV6;XH!G z#53%2k*g#X3u7spuM^dn&r+^WB*}3!OZmKx*qGhyic1|tF!t=~QS1amEK7T{1m%F+ z?D}@3wm0vx>q$3|lfuv>vpDK&-N3W_84HJRP|8Gx!yd3MM35OMc-cIRLiw(J9Te}skDh+6D^ zL2}V{5PJ|^0uHkQdqmLm2{+iIYOn>PHn7J{`;uh5&oU2k;unXotf42NT3vRr?BWoa zTAaPUQ-UbHB6|}8SD)R?#&x(Nq2GI6 z=yY+SbAx!{-l4=cyYnJbz7mUA%1dlQO<>JrUg`r>am*rKW=RgQ>sz_g9?0Xh#>*GI zg=qX8udpwi#C@4pN*qF@T;!F`Hb64=p1bsIO*Gz@SB{TD!C_hsuYA1Vja**cryJ4V zR4duy_PqLa`0s@KyoM3ZB@lS1d zy;t>#g2wU&Nf_{)Fy3%zaT0O^-ncd7@~1m@Uxcl=Et|Wi4n|OHKZv*X#RHrixW|(S z7}e#x?HR17t|D(&WGk|pH11g&pATHl+lSvK@g|6O>={cm^SYH{L@@7oAA(N1&wZj0 zFqmKPF0N5T`D3l*6;gPY`8r~0!My8y3sIFk-fb1Wm(!Q`9BCHB4wd75)}#@adhkB$ zyFIs$zeJ+P zrTFmAi1|KP_=qKQiT%mpBeQ>ym{bPLCsF+aA5{`6*CCYu7nlKw?%-3+b>1UJyUS-B zxkIeE!p-&Yg~TmZik&`uR!hWg{p$0Gk6&Q5Yw$>p8&$5%BhO-OGs^PF>nKcR`taHL zSlbsP`Md@JB)Zn-^ZX$J`)W2i3o9i%&KJCQB&wXx7r7zpY=z83BCLtYSo0TJe~DyJ0oU^O*c%#KN!hZEJRu zRH+7!9fi#CQY7DA!UIwAKfc2S0$P8T?^tyn8KXbnIT^8{y3NL7d#!B7%SGAVsJVsj zT-^X(Cy(!psfJDIz;_p9bY&M=$%{SZd+x&xPV?aVT-w20XIfg8ENOno6F#O8TQQ9v zEqLq{H-2$u}5B9Pf6$|Uf_J6P|^5BQm*eMyYfY|OsKlk%|Bt0wZ~y3pv6jSKPQL%)d9 zCi06eTZkGr;1`ot61^GEFJ?foTw?g;Sa)Jd8c+G%ooHffekExl@oWF_R7b4qkX1aj z;{xK&SvJ=3zt#ggsu=C48chF5-^N-#8%O^6ZBDf zFWPQAM6^FZw0i=RexQf&9*6ily{_<{w+YGkBH_IVYIk6T@V>Jg>mMV0&v(ZAIl>p_ z!AvhhMdw}?Vja5J*fm`AT-kwW_7TymNEGqfTSc$x38-M!61|80Ls{XC=wodnTo(Qz zcM)Hkg#T{n>xhk_f0g8%Ozb(B_|Hf&v0z-0U#w&w zN{A^DX(T@Siz$(nh(9_crk{!+wyn09F%Ut-)IVazLMYUmF2cONAWWMg%t?tPlDZ4? zt7sBEqr^<o4STqk|)@4~Nib9xm$wx%pen{-?L$PARR=mH|O0oaDSb1sy zF_%VS^)L9y==x%9?Fb^vRk3z|G%=qIVqMEgcwI`YdpgCLc%gP8y7_BlI<8`K2b2yA zw-d4bf|1rY7u!pw5v!hH+2P=5ejO;{6==}q{bK*IE!e^L#i6oxXb-g#hwmU-_dFtw zy>x?TsUc1xe&&f2#F@i^#8bA43oW0Luv;!J>8=qC|7az53AR$A@8a^?e4m-RASKAPe3J~e{ zk`S%E6dAA25pB&Bw+>^+RSFchr^ACBY$I+L2xQ}Uai=PL`=z$x4hmIL;pgJsILy;c z5|6x*YL-eCj|%R$_=b3z6GY&dVQoBoP7 zPI&)DS@GthJBiip#M}OHP^rQqhtg2Y%@m*7U}a||iZ8>1i5?EH@kv$jOJ;d>hk)_`yh#?}`B>C5V4V&4`qPB}uO4hLmNRq;^O^kvC4V7OOKq zNV<+WBqHWXx_Qr#3YL-d6Qi-ob0tGLfoj14$%smk7&k~N@)toy=MPe`(T>R29He4z zAepggQpu{ru!Iw&GMg`uDECAvTcwC#6d3&%;V2NX}kukQ)7zD%VF@JY=y{c{(KasjO7_Vm^s^ zZKP@g?MNK!Be{;~KzwP2+Md}79@(&))ciI$a;f@|JK zI9b_JsJwldeQTug+8<)W%1R+dn4XAEQpf?=xYC6!Ez8@RTfLDcrT0ZC!Bv{PA78`Q zr;NW$e7>VJb$Z$s_5u8rl}TFHyQu+izCjkQWxY3A*U+urbOY@=5{E5%m_X;FM2v73FRC^R3% zrk>K$RVPU_dM>R%Y{mM_l2&@4=6`aPv}yy?Ve43F)ye+EzW0_^_j*Bmq`$PL!zsib z>#XEGlB^VY=dF|~e2~@#uQZcX;i$AO2W2ex&e8_Iv$(-`X~TeSsIv`|Hk`y(Uph_N zaB3pa_U=}SIU}V_MeT_84v=CFtswEGkF$^s=G6>oTPX5@MXjXR`H10$ zb&+EC!uYyfleRaspw#eM+PMHGf;9xqxX3bE-{7BetQ7ecX=g4Jb!%B^ckX1Agj-8{ zq8_0y@dSKE;$b%sVZg)LU>0}`%m&|qFG)Od1Q9(y>MHG7Ld4gYKscXAk)R+}>NHrG zMCKN0k9i5)$C_z)1FD{R8-y)bvkR;MZ=iuN(rfO5h-cQyAmXOA^`t!;>k#`=3q%{{ z%K#AJ!IvdqeejI5XCJn3qCwhQBbM0AP14>ySemF((!Qm+#HM$Z;sTHp&#xv~?p3sF z;wdGxhJ`rxO-e}WLn3Robfi6O>xc2uk@GnykA+IdjKi>^dg;WzOrkmatQ0Sd7N<(~ z=0!uTZ z7qB^TuSe4RTPqND?~^`kM|^a=zVs=^jo9Ol(r0r3d__a)^Hqc~8@EWGpGOhP_m#fX z#SHHJvy64NH~%grecyeUMCTsTkM?OKn%t0nE-Z)Vc-iPV(nhc4(oZ-`QNd37({m&V z^EWBK*KA_D(xvc4 zTr~76vZS|G@&G5f~_m(hgU-e7obwvO;AS zuNgS%(rie<1rCc`v{L+NE4%zbZA3p%t{gU)`0;UajqB}^INg?OcML~7RYI=29|hiC zhb(7YN}4Tlg9AvnHaW`;S8PV~*49dPdXkl50lSR$*|%GvJT75 zT2&#z2FcBimLguJm)v4-Ph>~iWOqM1V(r(;?kgP;y!gp28^N(fPLW#<#{Cy?E5*3` za?3p~#LW3lax3{3QHct2t8R#c|9dL8Li>WHR*_qM^1^T*%B>4uCq8J1-1;%TcW%4f zHV+Hw;4gd5b|qf9itKsLjYN+~*~=BtU4!LvhrMr!e|D5RX0*aIo5&rX;_pi5%ALA4 zKsB$P+<7`9_9<2FHZ>6oxc!**Ld>}+_e_H%dfk+JSuoS1<>kHsVF(l5WxtMaRUfis zzdbM*Jv+<&mPy2$x0U-3tdE9#f;_O@Ui5jx<$+!}?{s6Yl^n@T!E2tm!b)-MoIEfA z_oJHfz_$-zAsWa-mquWL!Yar^V_`Dx6|?cdWqBxq4NAT&Bh)3<`;9zuA~fpgczIMo zU|c&^9_mdES06EZ7e#CEW;l;hHewuS&>^&|hVNi{wSMJEF0{_QX&p?fMrp2k6z4?Hn zy!JOX^WaDFx+0nAb!hUsL2Zc!oR-%u4MDuvUtT|N4ZKu=d>1bT-!qk zP>0Hg)?6Ys|DAj|6Mp9MKr6-m>++F`|A@7nBp-P=0_`-jeB>)Wzx6^sHWkTRK>q@w z#QgcYe9V%DeZNCaJmdwdGE+WNC5Py9n4HuwjKtt8a#Am6NNAXqqD^}_IS0-0>8<4R zIRC@S(4K9SaWX9Fgxd_C-ZF z$x89FxO}HMR4v0zzF%QCssNSb`+H#*eA?QW9WUR%sUzw#NPcjuA`UQBmLIitCvm8{ z{MbD(j>KIqKMl`7+5fcsbbc}7xqsxRN3eFS$H>oz;z4JdSSfZrl(SS$tY3LKJ0THC z&VQD%)g8^`+3k8zzXrKknnhqMV%k2FXv1;X`Pj#WoDzZnyC~khJq`F+qlGEDc<%O256@g54;1_N>@s( zMWB=eK8PcJpA@HUQ79c7iz^l8;*Blql}g!=M8ju_GaMK-i?NbB=2UTKk1$1jTbf>uhS$R<#s#!B2tSb?s?70(sRiH{{P8m_QV0 z3R@|@&R4wB0?~Vr6z|Gsi5jj}yrZzmm()@^HBiy+`=@l;V~0Y{b1Owis^aqi+0DEA zmM1kG&7Zm{y}#q6>Z$vR-%C3s}ikJBF)l}Vji6GbmpCKs%a>pNxgS1918 zNF{V3&LW-*P^KvYezAu#P0KPgC)4-L?19jvU?hr(@Dx16bEZ*I6$+0y$h(aY*q^8SmJ zEr*e=9?MX6bXf&Q@2Tu8lTTt-l(N$qOm3{~%<78>Z<&p5|0%nxVa3zql|6@i3C=^= zn-WVxxvT6egIpPsGMmZ~JYdVz*yVdeN} zJKW%maA0Z--RK)CMhg_NYi*a%{+l2qg{(Z*-WIirmBRWHlx+D_){ z%H?sG<%;jhRZ9-hhQCT`8+TZ?*GlRg90bt*Drp6|hO>i`_6fekr>JtHF%+!HROLnt zj(UhaN_wXX#DA|;(&yx$GjmDF@To^Md75(PW;pTv>y^8|v8~cvl?Ow;iMKK+56-Sc zAGx=Zi8zP!u}zgM_p$H|u9lW{?7jVtD=*{2NW5LEybidDn#eZgb$$n&aOkPL!GQ{{ z#Vc>Tqmh))Q{Ie8gSuQ&-bEt*+P7YLcM9X!o~yjWd0F1Ev1L;od$ZkPCFeD!lJviu=2-*u*kbC2~Y#Q7a`HraG*GCplL|b-0aGC(TJM=l&a2lkTeH;6#!t-BioxCqk}s3Wx(0 z&lg+Y;9n}L6(eS%yf$8Sev1bzf2kH^9Mt@{mE38#mEy-!wOZj9=wJn@)gC0HCDY1E zexbVRT5x3bS!uQU9Q3uzakXaObP~79sqjqI$mw4H)Dk_c2FC2 z2tZO6tTtW`5soyf&1&@{w&J4NJUo>6>yBy*sUuDiEmK=e{elhPsY{;jh`ctci!L=sQd3M_bREAMC~+RNq}MNIUR+vTGN}o%3y$iN zADBYn73%WjUnuW4R99rV;#ABW)fz$H@mAM3BUHW`q^?Hid(<8AIXD#&qV7yeBXZlR?wXQ`3e_KVZ$E?^4d<(IG#fmt#@pkN zL*2@1{Iq}A27lH4<~PLN#Hj_LF!wR5M^1f1HGi6wqFs6QcqGih{HN-P`UTJFpq_l} zix5~TrJkM*xA1L(dM0=RvCqD0(zSXBq_(Q(=EBO~ovog~aEqu=Un?c~rh195MxZFE zmsUm-4=$@-UK>mzyr`P80CuU*HucJ*6qHUzs;NhJqZZduy&i=7)fuba*a(Rf`lY6G z+*kimy*0%gg%UuXdi&2koaS4m-nBZ;8R|VBXx;2kHM34x#M;l*tSY|5dU&g^=PgH3 zsHggRVO#D;>fqgJ2tSas=tdKf~QYZf5+ix8YPRU)|m9p z4fS7bXX3kVssDNhB7kzx2xsNk`z(#dVo3&d*VqYcuesTp7$8A=D{Jz;twd1?nttq5 zVq02jrl!!&nL{{;&57UzGh!1hnQATD~UWz zq=spw?jX%`tgDqRKM+dwOe^;}00!ijR(|IzRCC&D$8J#i_AVoh@49*7+o+r)o_WV_utmv?i;2 zpiePcYwA9jgzkpcjN`1`h<#c!Hw2PLqAg<^+v{CUXr7PkAilqrC5=m(Cu!|lwMq8nx9W`qU+Bz|C{){NV?Xq;Y6G^TCD|q z?}-e~>Ap5#B;wbHdM(Hm8Az#}+Taf}ktyx9v}|H;-d;x=GXQ=rqO~?=4<=cCkQQ7M zjpmZAwEtQloO3vE;w88P;5N)>NfW5C9^OvZJf3YJxoY^lD0fC2XW;W zZTSOtY~Whj@}HGZQ~j>3?0gsp)aGj|#|dl$CvElSAYx4qXlthzM?m7Kty_Q_+NW#l z8(E0e?yIeD=}SE1pte3~5Sm1x+WLYA&uyVax3~{U&e5XNeMuzl)i!@{L$QCewxzxq zk&K_47JDv@Sc6Dy`&bNQ;T~=K-ArOzM`_!?hQTK9)^?ulz7y~|6$fi^m*8bym(cd>^au#HY5VtoKq+gj zcF=&|g)yUc*nBY<$D{^ohhJe^v|Obfs|_2Q(N#NsrC^3kJN~>I@%SFv@poImlG=$X z`6PlTe~{co%q5H+SQEyD9&B5 zQYv*^OC5=UUUSn@Q!c=iW@xD&5{MV?V54JS?V3m+iZNL!%;mLfVHfZ^Rl8||=(|9rR@D|5A5cfxRZ)Ly$A6H0VAOMA2{AGu*0Ewl759F~dEp4M7qaz@J;gw6D=rS_tqKxQIPnl(-nz|BsS7XSF||-hUw>ZMLn|7^1QDr*#^N|oBF!4 z$FO7pS9A{h?T8x3>&lG@CO*?k=Qt#um{(I>`FFvvxz4&uB`~lN9=b}O|04W9XeD=^ zZly#GbrjbU*EB1+zJ#vE1tST6 zFJ0{kQ;FwK(A9ke?QXe1*Jw})*o98I#*Qm+UU-$Rv6GJY$Gy5HqcTwysmQ*h`d}$UFWI+B$fE2 z>(Uc$^uMLLt_|GLO8BGedI}7>qw9SklZ1UyU0*{@7>?O3b$!z&5IgOm^D`pyNExW} z>yd^Nu#I&A^D~G(che0l-vr&iLY9y2_I?Smx}bM2kXXFZ4fDr+N^R5)3t~iht#!jD z{X)=LL^nJOc5L1|D|uTl-N;T7ii1V06ek|&M$X!XD0iZ6)Ee}_S`N^S)`gK+RM;}0 zrM=muwQlt29r$%-oRuQCzHanAOz&uOU2t+fn$V?n<9mP&LUj{rY(U54o^HZ_IV9rG z=_ZUr1h~vc7g7f&`M9etB;B3(V?`JG3H6d+dAh0D_n;6tI&%!HSermla-=PS>5KmY}D(o>9#g?MAGm{ z7h45!-`tbBgP+}rzMFN2?4J`Ye5E_Q><`>ZCEbw^Cy=)l*ByOakSLz6raLh>i|BU` z-HD+va<0)f{=BS9u9QP;yQl7KhqdwE4Lhn-5U95&J zzO9SyVskVM`hM13?4X0~X{o#DjV&G*rn@pD7!h|F-IZI&PWJWFr9N^eQ9o99y-Jib zLhpaN8>JAE99gZqIW`Is7_PfHE}n$TjsW|-0fGS?n%@O;sfXEp6~lg zEH+P7DMy;-Mr0^L4L#-~jjC?l#`LrF;FK3(?#Oy4TaLLQlu) z-fW6P0AAnnueE*CutB=_!$zUra7Fh)?@QuLYu$%M+whCT7rKviGf8}p)qNIlyOaEM z-!pPhIo0caA3+=+IMvd*O-b`K-QRwY@}mUZ-(M(7#I@ArkDZ8ysGaWLeJ?EXU){eK zGJaSxMo&#);U~uGDFLgsVV<5D;ha~x==sS8L??Xp{1jfVaMepcrXifkMR=5rYG06* zY~2{WKBp6ohS=$iHR_|dctdZh9zfj8x!&#t4D`t#`a-YriT7)-FIqR2#0@*WLnv-A zD^Xvrkd7p~Jbk&(a5anG=$)HjK*v1wRazsA8CX?cy%$y|I!0g9D-5oyk>2fCKI#sS z^={XEk?M8R*J_WbB%+AER-7FUQyVvyk3ZYaC5|{#cJ7DKEuYl z78~!Euu|kV0TGrbAJY#x?f{L-uPO!c#CmSkk9Ey~?mT;|pR^yp9G`GeKk3|L;)h4+Lyw<*w(?X!q2lU~OOB0iF^pXFe zcDi=EK5{*D^>}UloLCH~-xmGCx;=><*YpebBdGpp(l1`q|1gZ7i+;)1LwLY0{nD&@ zC|zvRudxdxz9d4wrYS@`wy1thhYiHl`!+hn+E^~x#+tYEYcgQ0x_`7%R87~f?TgJ5 z^To2HoqbU)LcjKYFwx)*`nCB;go^yN9Bt=lKG;Yf(;5q0zL!2G3|qG-(v0H&(z-ju;gD)V`y{_N#yCktD5A?D9uz=NE^*j7v;``6m?;PPuyjU0gu2Cr{ zW9-oHaR|Zbf(-qh7SD)AU()YwflYO-l|KI26ynFrTNxxiuGjBRLu}uvuKs}kOya#m z^#}I%K%pjEpWq&j^HK5ogbbYixV~L~C>}w>#BKUx4O^4s{78R1J(;LyhLwDsy_Mo$ zSN#d`o`m03{fVmgkwl%f9QAZ;`t!Oz(GLoJZ>2u*+5|*z%k)XN5iBj+u21e#pbw+< z=jwS7ExD~f-#7)m(M$Tvs}ZN_w^|B$*_+2d)?aUVhNw}0{f)Nsi90;h-!yDO<{zR@ zp9&*$@ss`*jsc0K1N65R;Ps`Q`rDr%&Ph@F%=3h0v`xW7!vh~kaBOb5*TmRe{ zv0Ge2{qx;e+&<&ZP67A{DlV}=rSph&)Hh7vD7Ak+P1urCQi^K*lt zRFUpb+d+mhck|J}-ESG&-rjsH+fe=x1kq`#p~B`X#Ju+yTn;1>?S5^joV6S!=xK%; z0hu^;^u|zgGxQN&WC3~meD5rKU%xE;HWN@EE_y+=h+Q21$RES)5tlWAzK zK0*m~yurP96au6lhE~tr;esm}+T003ANPZmX5Rm~q21;vk}6g*c;<#7<`ahYbDhAl~eS zVcg3!XlRCE(!(&~Pa_PIIWnTIq zJPA_`YbHVihj|*-yxELO&r)y;c*C%+ep_VuiN6i&w__!0&NFQAiNvq*XJMr2pj##e5J6A}Js zkA5_qKKP5+!AwJ9!QU;m7|ztM2LFA@aOSqz1NHt!hU7F~^wka-&W7A4Hfp-zVyjWe z)UFsVF4Ty>N;X{5V`)-L87}3nL_fseaAi*>@wPJzsV5LmJ9Px%Q~C=lxqhPI`k-J` z$+HaU&Uj$=pN2b~ve1X=WVnMeh8QRt9;|RCsdxv&1M|8xV%>CxN7dlw|BN?0TE2{U zo`d1hUU-2&mkdwzIoJfJ4NnRhEBOwF7Z-2g=hCYU@1BGcB?K7W_jMzx(9rPl(?pd2 z3L8G{FOD{oZ20`U9`U=U4PR2+af+j~;aAW7M3bHxe(l8)PMTx*-3@!7{VHQi9@7pb zq0>hG7iZb2|R{u3B#kv#SUTZX%V5a@ZXj+0@)}xxSuo-6T<3r1n zPWI;5CB|Ys!_Yr;G}<5QfcXErvE+R0oqr{br7B`Yo0*JduR({+Ym5#BpAY|KbgDlB zr!=yR~j zPk+lMA4l`(Hpa$xZlfX8!`Qr*FHXq+HMT5w3s&xfu?^yAN~&n3*m=4=^!7vb zbIW+6_j>F(@vyM5)47`{ztlJSlz>L;XlL|wJqvT2ZtT_zaevu4HhyxplDAQe-6AD) zq)HjP$0wrEe%8j?ZH>LkA|a{fYV1AcAR4UgjedSu*rwx*eo33*W_`ge;8dgkE;r&w zuNeadejH5Xc(vdH4)2a};5?}ARM|N2;sv5V!N!4)SE48}!8oXRXTr~9je#oyNSt*r z2IhjvvBn{e`6L1!8i#aAL{G1WaaiO*RJI=(hd+IQvd;nI$XT#j-BwwgI@`Nm_cl(f zis$-GHBRatjZ?AxjFWjH8p}z>$&Rr^Gp-mXkH(*M@~{l(T++P782aKR3Z-+6Q&ZcJ z2rX`$)&&Lf8H))b_eInAc4~2{yh7Cj_>Sx?|W(bLismAD+Ly+2-jGHDy8t&1?7%dL@ zTm|En=KWE>=waNkZy6d82d$JOFXOHX?j-63829`_5H+cVG5)Vi^xV^U=w?2`jr!Y+ z$DYh5S}@soyk>!WerG)0@EpSE^TuRr3HPHhIhB*Rb<=n*%MFJ#`y0=5C|t2MR*I_I zY|IZbUK;ccnR``Zs^>Q-<_qJs`?H8zbTFnbi9%*~&zRwyg5J>vsF<@@%97MjAqEjJ9XTNevCEV>39`Yvi`=qGZ1esbu->Q@CDv!u<>5GFevINanMg=W+o&eP8*;6`v#{`#`yFJEL}{5F{^$BGzuGouw2~7nB6a$ zM0_#hizQ}X;{RPWzA0q~(HAqm^~ojv^RMy!dKmR{?~I=nRJleDu~M{~Vf?%$hr}#* z3`+K; zpUJd!EAbnBO{Sc^Xx${53daZIFvmnwkpZx6e`}daD1j(8Y%|#xgD$1~XDYcVAE_EM zmFTgr;a&a|LmLFQy`oO4cZE32y?kjpeXHBmC5|AhFG`YniG;DrVgFY6X~y5Y3AcATQ5X@ zlBvU>p$M$DnmT!4e0x5be2nXeUX(HUEI&@-Z=lKNsT1*`V@$r)A<%d8Oulp9AeCuq z>as8b?UlWzu8wVSAo01W`%3KoAyZ5}=0lZU`o_07O=4lG}l!@xqKvQ7fio`z4rog=!D8@fC1&xTt4_Q~5hK52VPW3en zTY(u)8D$z#=o!4(Zqtay#Ub!$(+JO|(A_lC$e5ydJ=8R+S{hMSGgI)ySHv#=X9`{k zRSt_Vjh~wdD>2hFWi`AdZ8&C{a@Byc-ZRs**qX@VRnznbQK+F0Hkr3!Upwo;fon&$K@f^Nhm)10FliO)G?n%|`);*kBO#lh*=d<#vB zPxU2XxN3^>NJ3w9oN0*>^}-!lrX^;7B%g&1re&?5<62EC#m`A5i#S8PfwO6~GX^lX zooS63_Ugh6(;6hLJSD@l_Tx>WzR{+2h_L9Z-n6a!aolIIDb^VSnHy%>c?*U*t%qsX zROrgUAk&__Ad;#SGwrSBh>)_8Y45B+R0aG@=Dq0)U^ZTx;$~Jy|3oq!SoV*Y$9U7h zadmMH#$Zag367p-IvxXi)nte1#HeT#Zpn1YJDbGKf2PDXa8Db;OlJ-*Ly&yil+?05 ziNax~q=*Kv5}u}HV>^=UKbX$1DM8e)hAE{eemK?oj_K+X=uVeYX4CcFw~@{kGTm4R zrTD>2=|#7Zc>dmWw{0+qb>B?)E~7L^zfJeo<)Gl!#PpEL6G6!`&&8p)_QUkV4r`fp z-Sn({CG74wre_=OBX+H9dbS89MtID9sswkbC|6x+U`>07=7elk|a^u0(u;%9G~{)~zsR?gq_Plw%} zmun?kRMw8114w)*B(}5y2ambe>MnxGSCACY+ z-d%R7AzNfRWD0u{&Z#+6)SQ{EQKLzz;gHLtoHOY%HON}_@ig_?stFt zy{vcLertWNS#P=hRB!5I0SnrYK|?P#3aKT5Y~4$-0~zFCZ9oa$BT@~*;hZ^uRMn+G z#}>7d<0^ddq8T}bA|lJ0MPrixBt%pLIa_rK<;btd`8eG6*eG)GA1H**$wcK4v{TXE z>u;iRY6Q9LN6lD^Cym`+C`9T^a<^_m_H+YzbcF~-;6s|&fwRnM1Qc2QB*^#@5k=f(uRw#WX((Zi60qx|u?kVIeOZXvOVMkqh^x@YqWTVdqg4 z!xDVEo1)_NgM@VTFvWIl5hA-kX|_ASDodm-#G&#Jqohb+T$gJowb%PA?V)uy8&O5( zN@-S@=-_dbF2U>5w$i4P*xDIJ+N{TbRRxrhx>d+$UecCH@NS!WXp28sGVr{KO5^mj z^&n8d>*=&r|9Gm9b|q0(ZY{21IzU;E5GT|vBtt6(I%%N1792WTAKFueet8M)%dUi? zvZs9=0OwMcQa-N5li^wPvWW2Ct651pHk5QfNRT6Qql83*}pRN1Bx(iuHfnZdd@KBi-?UJ$zulIjKFXG`Hl$OxTb{v85jr8g*IA*b&-W1)0QQT#sQq3(Bm1lR;+iF)CAJK3T?BA4PPYyo6hvPx#lX;^SA z8$y>2)jup@uK5VHKwTy(&zj3tYm7pAvxco*3xK}7Ve4Q-q#xJu;B5+&5W2F>OgG?3 zscbtO`gPHC9@hC*$X>5_#M*2)J#p-8gXhOOv-5dhp-6~kmr311JlxMNvteSFhqLS2 zYeEqe&u-nl_j?#~*}eFL5NnR}c$djgPo6wJ4va3!WRIUPPlx}o*CO;Uw&#h?K+cQT z^W-r&x&<=G;+sxhu zC=21vpKPoE{?qxCeacp&GR@AQ54O=?;IP#=f5js>VyZ3PW~<|fTv%pnKUSZF5?t|s zqYnpSm>ypJ&&`;&!bFu)1h0MoKCUR{7|%oma`~(^gXo`Evvwq4!Y`~j{voDy{VD7A z0iq~>!fTJE0@}F9sn3-{%z4f0Dl|Z)hOFc?2h202hV}FA3&obRoZiO>w=|nGmOci6 zyqvcyHwby_I?gUBL@0llcV=}$)NOf}BT`xe0(tjbH|&oe?;TPl#Ao%KpJo(t=`1d& z$3ZPv$ltW$#ZtQh-oGjZ`*)EGy90%^K9h^KED`}y*k(4tM1OVX;zqzgYvTCOQ4Mm0 zciA{@yO4IiW#c3K(4jIu+&CE$^n}ZrKN9kiv3vx6w=|=Z%Ml7oxsUnB54)lCjvF2< zx6xN{?bqgr#CLI>8&vJ{FbhB-3X|xZTNKbb)mG~$fslXAQRk= z>!(8;tF>Ie+85Wd`SZD9*#JPco2cA0{}1~AcAKfKbn)YJzR;N8KjRAn8)06zZsLn2 zAwv9l9sd%J{n(Yj&A}l;G1iisI|GHtpUAB#E<)b(n%f3Jzy=I?NAKL@%Z?E2l>OX3 zOhW8>kK4<1h)u2e>hA?Y%Q!>q&n zJk%3T>=}L?b6+TqnDN^vxNH|{qJ`3>I4>kbX@GHQcI6Mc;)mc^Q>CEX2%;pyT#7F7QP~8M9!)m0So_; zlcs)}O}SX@m%qry7x1c(}cX6BNeup6{8fD6{BR7b=Zjjp%sxrmp8nRJX{%|jnw5$ z?IYV&?ieG-IgGRtbI`5BYQja5P>aO(E9y4~^9WB;C+4O5$aY`)$VYvYioSV4zRJ(@ kqWzSY@+uZ64SB|e%1UL`BMim57!3XyZ`5 zjo%YNcVaKHKo6pZ->l?@xRrgJ%|mg~ideV<*cv2;;%heFo8or+;&ABBJWlto>;(w>%BxB4ioj9X{D&@P1F(ZkGMqC$wJ~| z2_m0%Wac{xUd$s_t2>AX`DP^QJOtPCVF~Ss$75x>r4SXv0~N4hZ7X>tm<6u6dz6)8 z5GDfG;@dYXB^fKzy$-P|X+%9dU{Yhi+TaSX53v&O!4YO+S7sHwAod3%2KoN};35+8 z2=EK>gNwm@Tpz;IsJMP>rI;`Qyo?!nMbzsOF+WT+$d6Vd>J8KRh6ez-mmg8z^Td;V zh5$k5~oR)j0g@dvW5~FrC_QBr3ypKZIJ+ zMG5l;5?-*d^Vdi$1TV}ZX^Nh>b7vcC{v&Dcdg4)gtdv+HcpgJrOHu-cw|*)~N7@oo zeZg$v8yb*w{5|o_OG&znQT*^EDP1ByEQ6#Qc;DzqlJ4Xa4J&G;Ft@}F9@HRqc^649 zLy7NbLeg7z;=^Z<^nN?I1H6mhXWIDthn0M1Lz2G1qH0wjS$`Uiq9e&Jhq1ukB-dR} zWQwuz`2;KZq$)Ok)<~|OPy9d<$&KfbS;!G2x9ftH{bOU!agy8DC31AKv4LVGZ+_oO zA^%5mCp=l?6)VLgFAxr6^+7Aeq=zK;#*?<)WaG72BoAIpk~W{@;YlQNF_01GiB&yH z@}$LPq78PO(<9bvLZ!(-)Aup$+j1 zt4NN;l%6POCF{SHz)-9)jbM%v4+ln=D}>hw3a+5M<$eQccU#ZGnQErghI!bLTW`$ozG39n*9&Y&ZtI2+nd?!l6M-alT_E?8$B51praDx? z@JKmQ42P)U(|8hN1E|p~7~&d6jZ%jagEKFn z5INN7r68K#iJGQhq#2jU%QF^E|2lcC!TxqVLG7zyOBT6kqw_;6S$d9@++4Jg?S)fs z8*2vG*m|9fZO+)(_K}t1YYp-qzKeLoM(W@SQ}j7vrKp%{HMseXdQJJ55>)*R;N1joMhroqyZtHi9~g?Fr}H0)#acD@`4iEFsGK zMjejBXrjWX!-SWkPG{DnJ(PTgQaJ)Zz5BZd_BSH7c$M-zK(@gTY z7>1~`tbmp=n!dE#N9&Jx#dI6p>su+lEwn7x9L$&hP!~Co*zE)xKklTieJ&7tQ`*Ll zS=7~UIZ1M5>Y5xu;;lURDNod*3H1%V1uwRO`Y!p0{dS%Do=zfuCYJhM!$1o& zD|yKr8%K4Zej_4@pFKprBUaZS@j8KgN5zn6c#M3CHr~c|*;b10)5&ibM8W7PA$9RQy|&PhfT2VIZ)lj`MWQ#cG_1g17Jg2{ zt_KqT(waup!UTQrq0z84sr*(NHw;m?f{w?(ilXU%;ZQo>q2Q%|NF4o-g7;<+U%icHWL3oV9-4`nk{rj;OvfOiEIXPT zl8X1Yqq)h|FyMzY_sU~Tcr?xX2yJ!1mqL87G7hIGWGGfJcoBt_LR`w4L}Ak#VpII4 zrG9M_iR-G+(&?p%zg$Vn-WW;vb)tx=@x)4H+E_-W$p7+4xWA*dYv4i`O}FvZCL15m zvm_WD%qx~qOhhEnv_`ba>j3dXS1I;w9#LsG+FAmpKFpoArZ*!oycKObkF>!!iMF?R zMq)xF?Qj}GY{(Sav5=FHcG9k}EMlIHv}+3%VBiwk^AHMZbvxSo026#LkK$806Du;3 z5&}jNe`}!qe#gm7iy~=%7FNpDi4w0C1lS{VBq5%J%N9Bof#-9cX``D5Sg;~v==cIC z`H=c_{EjC~{vMqenM1r(8l8;8eU@ILv$dKLE4Gy`Gz=o%U^89r(*S#N4_%(t0DJNr zUCzT^{NY4bW__`oHx=#Hh*H+zj;H!i>arEY_E)6T9T$i<@}!&du-WPvD9Z^mIj9q5 z9sWonC6n$%-y`<87~QRqMD%#0jjyulZVEoJcppm@J14VU19~#c4Jp(C${B{>8+n^@ zGO)5NnqD*(#C;@sIRYPZ=>ff*UWr&^PkPgRH__UI^kxQT@R>KgIaQSSl)m(K$5rAh zi_ynK_yS!=`ZUpx*q1o^64aUK^9}mC3IXAdLSJ)IiCGl--ntq2@l!eUtJGGKO8=oh zPO$k=@$~0h9x<&2{q@50)aXz7p8|>IHKKoqk-$x#$>>sT;<^7A3(O}TJ&3VK4@fk> z#zYX7()E{(wLe*$3ptqo;!f+FNSxTt42LD6^)0Lv(@QeD$95#93}(f9ohR0BDRW3j zAvW2Wl`OH2BxwLERdX_l@6}o9MR~+WIJ2^Av13+wF{i$;kfx1U`K{35ev?_nblksO zGILo!hj>mZt9%0QpR$2fDU(EwLLJ4be}-ibdTQesmARh1OXBTCOM0Oa<|@qN6|_s@ zRaWOsCb4o6tlr&FqFW_d{o2@wu{tYRQd?Hv_bTG^9M+^JHk@xI)?`;L5*O@Q6Ql!d zlRsTi6IjzT5R!HNW33m#{;IjKwoZsz-0Qq$ zU}0x-QPyLB2IPKM)^~3(NzV0|Z|7Q2&Y7&g?>&+XiOjzktYBRyHZZmsiAiJGpnx<; zsBAW9uM-yK5gYsnS;)Cu7EmjKL?4L-L|jFX^kGBJ^&pnIl?_{qpKrRuMtXfFUNVl2 z+>FOAyoHTgjOgwAVGkR1KZ1DOLu~ZO+9a+nWaFeSP?$rkWG?;KxJr1=pv7!l7?Qw? zFWJQCwj|Piu!&b0@vR9g=#M|K=S5g>wM-J(2`o6wpZI{&mOe$C%)bw^S(OpQ?@niP zhW#N*8O6-MD-$g~&F1zKY3hR0>Afh%GD!%GcSV13AP} z2C?Ox%HaqQr9sEajDEHQT`30(?1T+xn1i%;yRt4efl12_lFV@I()d3%i|HI6|J zTGo#xdEtZBO=K4@K+q-4W><<_BgsL>QexAIYAj|c=~GB5_m!o5Tt{r&NOrZ72T^ke zcI_zaUO#}Py;_bW-@?*&G$6XUnx!Y-Kt|!uZq&U-G`psiVz80jXzWI8*Hw0tyO4M| zncWOBBNP4+%`$YYNnClvvKaPn6JM4U08>&J%Ni0->{Bqy`r%KaO<#7q`XS;?N3h!m z=a86c&+d(~5F7c9-CGa;*Jd!gA5)yzl+Ww|IT4?J*wd)TNSNreJf_CZek zVp*1R5*F2EFv~R;!<6ZYv6r`tW8{z7s~|+_oS!znv1cFLdl8j=$Udx(A#pN=eaej? zI@+K87zUedxt{&p{v0Vm;@A|y7=*p+R((CK1C=Lhq`eS(Q?{=E-Z*X@1;!FJ|a@GB0PJMN$n9UVdK)i91bs#iU_G$|YX$96tEn z9$u+mOQK1gdF2EQd`4wn`FO$g7c+PDLGk175-Zsqqn9R2_MnGgxDtFK=69EAo_Z-p(Cw7}S-w z54lC+#d_Yc*LI@0=~jvnJ9x)?nELBQxKBhT@|S14YxM}C{F+wsa`SlC#Tv2em3gw<_7r40&-jKA#O0gr1&ub1L<~x?p zfBy*?-B2FNaU&Oh9(oRId$R`*O&^D>!N9}vv9`~u@~2w&F@CYD)-Z<<#WE1u6c z@7n`+*_Ut5FG?(A8Q)e=)~R%uZy$p+?@|-Kqj+m5+@pMFCCo?kFTQil1!Sxl7QSm5 zgr3shM*E>QmT6~W4PU-%ZCwbh6MWa^Y9!fh=X(m$FUJm6a{DO0_ug5enXUQ0N^Obz zui*!z)kGsJ^Mn80L#Zas#^=#I@qG%h$cFrA!9b=y=SL^T!=HU({8+p4$oro0V=0JC zHNNo^<)BpKC-M`Au!6Z=`AP2t=#b6)1jk$Li;7^134{A_L5bUiPmA3urG>hMdIwx9x9mtRUQNd8~B^GlhqEtkIh z%Jyc&lyIK%s|V4Pmi%h+6yn#O@l+?Q?2t5`+Hnc-itBBxmCsYZ9wgzY@#{-q+qKs7 zo52-{jdJHVA0Xmw8pE?fnh{kC<@efZa5F9Vz2V^`n)&nl1rB`eaDLz1HwGg+&$D}B zN<7-}?4kBV2mkP#MsOFQp**)HQt=~gd2Ty+`plC&_w-#90gOEN3uefBAAeq@4U&<^ z{LLym;^&_5xAUAxQdjc#+F_!0E%}G~P9(y9@*iH9$x#dWkB=De=s)~t8_dixCvN_^ zCcf9tL>BYD2mkpD=~wzY{wp}2grz?JwFPdb^=|%a zS1H7%Jv=|Y4{>9@AfHf@s`nAB|9N8nrUQDD-z=y&e68{xfc9swa%$GSLk;VY~_>>(XDC(&CACa1nMfb4YC7 zBMMO-^1?7t$PtAg<*z985Jq-jqp*+Z4AtLJl-M3fQq{u3(Gg;vrwhl}!Nh-a;ZnK| zs%O<2ipq7)qr|Qg)kX&rOXw%6zkqR#`7B&7O2lVNqDEW9xc!wa-%C09=G+hs-S1)? z6-2|@(9R12MZ;lm{FyyPqrdmz_*aUiqwPpM+9aA+f}g(fNHovJ1NS{5TIL-^fwa45 z&HT}>@B-%$5AhRiI>Cm8i)DOi2mOuLqQjz1B!*p%1uo-xebJ@2g_yUU zjon&^UaP%{!j6dEMIwmT@)NyX6H%nBCHjm&NmrgE`WEyLHZBl;L3bdqLxkTR81RT& zVn7v?Y)xN<|4|tF?qo5rlRb&?H^q>hSkAWZ#n9EO@%zJKxJx`)TpWw&BYulf`#G^D z4K2+boy@=9i77MPkRf}w(qQ= zTl2*1K@b-+ev8>lVKFZj3G?~_**0C6lVO@kONIGG42d3>#9ZkkvD3rF+>&t5K`CNx zelSTcpTvATl9_EhCFTb~EO<*Ibc#Pz$sZB+9D!umSFzwIyvM2#v2dgdOtY_87~Tw~ z_&|g&8bx&ZyaF0_cq4O_87ovjoJZesPRflx(X#oC{Um>WNdX!rR< zmTMwHgi+N+tak`;yT4-FdW6jP^~Lu7u%rsV z#Euea#9Sv@%w?R+&)10r1r~C7q}YFK3-<6zamdjQy^nlx_%`HxyC8Awxf`*!x#A@B zH9zet&KwRPex;PSfR;aByh>W|*$Tpos=F9U$ zTeC&hVQjJT>%^^D2s8&fpItFxRjQDrd3`HF%Npdwe61@{8op&ONxx*!EmHJ_Tq;<@LH%gYY zMNiO_$dL3?Vn{r$AsNaF;ul6qMihg@_-LufUr3M6+a>$yc(N+Pq@rV;P-3|+6@7&n z8lNVWs5$~m=^>Sly-1==3CYo;2TB&slB0PUOlQz}$!S9pG5s;g*<&b)s^=ujKFS+?xTR9{5M<^*s!26`5a~t^lxln{4DOUHg`H*dMh~g>7|hVmAgTUC zClWpLq=pRxiOE}~hMmvh!RktlgY$^jYauo5nMT6ntJE?N&hWoyQoBQc(e_D@Iyu8% zG+!xoF4T#{w&GIPFf>1kxJ%t$Vx{V3NWB&}Lm+G;^|qe_Q@bkl9+FKgccj$UQj|JU z$MI6Xq5dQ}wUh>YoC6~*B>BJliT;|MG`w{LG*fwL_#C+Z(2~;dxUa;%HIzmsxGR~Jg&}OV}b7^&J6#Gwfmey>5eZ=mR)|?zb>}w%u zZSQBqM-`Q#yiY->^tF=rm~N%`=VPVhGF6HWTy2KeY$2`7LrtrxPTJsm4mXIGHVo`e z{IIjM;Us*(@;cInQ&Wg`^srKdZjmPTwcryH_m+Ur1NTmYIp7B{m&E;w;B&Ay_zg}r7=-A)zgXJ4 zobdM-L5}NFpg{R}rnJ|*yfBFe_wfV7o3(X7nEXQ%2xqZ&FjyYfEkGAsF9)G;*5ZSg zLt3qUBkkSjfjaFA5Pg`BB|r#+-aHKoMlzUYCUmX5TC8-C|59l4N)YFd5i zm=T@jk>{in`?8@h_E{-%+DIq$hluKDN~fa@SfW?b>BOqUmrj?G=XXY+-6>t@6N9?x zb?HKIC8F<}%+kfpNhsL7l&*06Vd+=WmEst2<@-{~s3OFRt&&pK_#!VECtZa^5_P&s z*ODQ@Dx^y31&zx2FRhd+HIZ&Kf^&#XmohAq5b;|{xBBA)tM-s?4Ztp%yG*)07o~LX zel`|dTS8$I<}=b=9P;2>{Xj^ltzpuCv!4+g^FVr-*qKC;r_z&0xlpM~q#S(|@$Czw zoW8S&{SJ|G7q}BW>1yNajna!xu$j$&q&K_6h_`8HW80B7wu_YBW<^5AkCEQ(7)Es5 zQ~I#k4b8v@JEf0ie*~I9>EkuXpbfs#$EOj*{wmU^+IWInLDHueSeo{QrO&zoE|9*4 z1d;d?D}CE@n1oNb^u2u=i3Y0lV`*99t^e8Bwt|iAI!HeddWCa4>36TuB<9qV@_UCt zR;`fo5Bx-_xyw_Tj71@%i^$Y1hgki+vQ#j&p*>}JH~iv~09j7OwdsqMJnp$HKaw$} zWvvt=+RIAK7-GI5vL@Rh`Mn?;D%3ztE?PEpf-OBcBbx{_*=)UBBsU2;YO-t}{28g) zt^%5g_rD{TSc`3V=!cbJ?MT_Npr%xPfm{Z?SCPI?E?agIi6H@UxwgkiD#YbVUbBfB z53`b&onxi=d0npb8x&>|Dxr_M@yo_ZYMV#+KYH|nn7NN(}L3tKW;Zdo`Tz235N%ZFJg&g_ue{J}Dnw#e7Mxy&E*{eDf zVck`-cid~@?|aJ~Gg}bv`BCop7=Ksli`=POU3lYlI_Ha^s>6i0r`gA%b?|K7-hUf(Br`&k}tjYIe3;oIRd?%cHT z{sMXU-yXQp*(>rWfq>O#r#yNJ?Bz&xc}#(*c6%s~b%H*a6(o;!D_|pe>4MUa?yOP-N}3PxscE5)(B@~ndEtda8U zp^z!b7v%Y=fh5kZmlu}4MN-)l@A?e`)o{@qH+@JU`8HHY}K zC2~0Wt1O^{9PZu`xz`yvyxt%Z^PT1J77MU{y!y%E?Jg1(dS&CwyH>J}>upT2V?r^2eO8M3?d9-Oc%V;B<~Hp83f*kI`Z-Z zsI~Zp%NDgW_D_Ce+2WIr#JYoQ+4hCRo8@xk%=5(ZBzbjv+-TWKdG#0=ZilAwT00~m zpPl5jXAcqujj&Smzbi+D%trB9lcV-Rx)$$mV?}=}dBSZu`WH6x&?L_az&xV(_VR{B39#XOd1EVl zpd2G_@t%rT7;krUC_YjMJ zBHxRH+wkEw=8TZ<-PDM>4wmm{RX~`_mLIfiM&jTQ`C&jjiCc~2$03<$G<=mGFD?q! zkslwy(zUcWxE8YCRaDN=aU2-SmU9!6h^1Gx)OU62(0!8pBHD>W&2#cgLs8^Z{_^XU zuTV(-Air&aNKpNu{H`(VVNjHur;jHVGhP1R(+ep~Z~0p&M8Il$IbVe0EX7aDCRc|J z)9xv>VkjzJ`3mz#0NK`1;nyI`ItfK=c}4VVxFUALqYZLU+Z+1rY)pvQ50s-k@89K$jbQsa1Y^7*X)M%-Njmt|Z#o9bU2{2VD7Jx&MS5_#+ zqoI-V!29vU?@Upgw;@0qGL-TQaUI)3shEqWtXoQPv4*A1R`RlktQ5bP#azR|JYu?1 zsdOTAx`$F}^Lygc&MB3xZ~xCqUiP(>;#XazYUFn0eeO#20{>JfL~)&(O=A5E#jSb{ zB-cE}y}X`yg*J+ZZv^p0Ka~2R4PgNjlqSX%P{UP~CViYByYDDX`y)&x4p*8*Z6QBV za;wt3av`GJdP-}bRq!JhmDXpml;tYf=(a{_TL;^^+eoEd<-#XuA^N(S~@l5=sEhHc|*v0s`^#FL#t7BNrk)zNicxjqny9rVOi7 z3Ka(ZBxPi$BoYIDDWjJ8BTXe`bOfAEL}6w05gnY*du2>m4-)%7D`P#PiLLyjj6I7F zXnH{zmwp^2>;z@v-TgT8k*`ec)DrENWy-XIb*i>inf4i0mUl`CMz@`xb5Ld~g6OWj zGE+s8kQJfKT7Deq4z*RxW&hx;!#2gdloQoUSLXf>Aoi%WGH)H43E|(B`S*4aZRu_$ zDoe`3S@5!Vy_7{G(@6YSq$~=-`|YYKOP(}C6XTJxRK^UojaHUk>r8z86(#&5vXn=i zlx2-tV^cO(mM?FOvS&JI#)}*`#j?kVgu@Iaa$z=!&^pR$V;mPSGM$dP4w)Q zmArpjWy@h`?_-(D&aP{a&*dw-%%$^5?7XDxaskgwP>B#Qr2GJWdc?8r>z_RSD{Y7gbkFYK%9FO~blJHS%UTOPSPn4O*~InnUQ zk(HI4b>OP=%Cj>wi1(YQJWrTI;^j@{rT|Du4IK zlZcA7obhnb7rCQTR={`;ez!dGa4^5^pff^qv+Lt^rUn@OxCc7BW+(>P#p~=2*%7NT zNmuy&BUCy3boSgI+kL&R)R;Ets(R?ktVVukw6{{?A9Q8bAOxHps4H^|Nl9uSUD;;8 zP!%bna~hgNQe|IVxqQf5{Q?`GcC^x!fAG~+m_HYFHFurMYka`U7@ajqXmZ?2?o`f7 z@oSW2Q*DRQ=W}$`3l5+@iqN?(K%d)rsjg=o;7Rk6;n1YZ4Mn{CTpjsnn6g&=g(M8J|c<0T$;v z4(5zpo%g1EbP%rUy7(reZ`Z;~;n+^sRZ-Cu57c!pi^p^Asq1b=np(A*uIHFwVxI$a zJu~q%W2fqRUA~A~`eg7KQD}m$k3%j=Y@x32Rv1C~C|$oFxy06Y)%l|;DYie-4YC}> z^gYxKu8UJSHxg+jb>V{+5P5CXgQ$lCjC$cIkFc&qhV*xGt{08T8V{Qy4f`m*C(*RJ*b+Vdg&)=j!VA zn_m%oIb2sDM0uzBx+AB)qC7v-O3}Kn?szCR@1iK(3D1JhVY-tK3pBoTLw7n1&isq3 z?o8lhRD2X&^7T5z&JEU`UkKlP>$L8|#VjNt{j8K!U)^QCmiVV8y34C$U_hC=E75@@ z=62AfEP)s4(_eS>K?=$k6?CaMjK@m~UHTB*&!eX9#zxFYp`*GCj{9m=bXn7JU|J0I z)ZO}h7bow$b$6!!z;V(xx;xgeS66q}CmZR|0bRC-BNXpbT}~DF;-0GR<)T$6)GX7z zTw0q%#qPS7ckR*Ld#-!=-$8Wu+;y*|LqtlTjZZ^$ZaxhI0dCEfQG@ZBwC-H*TcpwcgOzw8eYTQy7fD<0pra7fqX7i2fL zBXs}VU5M`r*Zu1gK%ykR>3|b&?9FY^?Jm;)WvB4<94So2#g?%$nQl_F~KHSr`SoK+n>@^I4kv07pU z3Nu%as3mVB{VMxGbu2fC*qvy#>_>k*xrbVA*9+8BxLWQ&XDr!owbG7lDD)fD$~EkW zso`qnny{r38`a8-3+mN()XHxVKbCE3p;l=I<6Bi;tvaPNGVI!FjXSVrN>OVzz*L$% z)tb*xfT%oKt+feDaI?MYz87bpt8Y-WQrkVSBT=fZrFnxAW>2+!%eEx) zU#so?FB4rop|%e`jFO9^>RqG_60I!NJJ5~TFkD}OdtVu%c1%md@k=kY^MiOu@@{I^ z!5GB!J!;nj@x-4DR=e#Of_z7>cFT%Emu08w>r;#Z{T3w_DUT$@H0--w^YaN#Y0w$Rs(CI zRa`1XozPSel{u$Q68a??(o#xjZZ$WVi0QOtN> zUY&Ig4yR2abyhCIQsQ5AwlAJ<(L;6aAMnO>bzX=Ys(vlhka3x4{2iX7h7=q*UfRt{ z;W$+diO(RuEl{1mp%qcXAT>;>1nax5hQ(mx^EGPN@kUs?bLzs6XYo~=Ky}f9KoYGU zs!Q}qC;~*OOVZ(qDvq$R)|}3I7i)aCmX%hYU+;9s1scqsqTz`sw_WF-4*l-)i_smcRpHx zZ9UXIIS663J=M6W$kmfCsQX$}#}dp@_nq)0sxVZIzl;#`e2KbW(<9IasQdT7LrJ=i zdeDHcd;M#p9yVVJBzCW)diVvlMbk9(m^*xJhNd3BTJVI&)#FdQiOzE%n^7i`XEa)Jr%mE)|VYQ*J;&-BZ=8 z-%1nndSRovqI#_u&K}ZS)ogvyHo*3SFS%B7wT^nt6ArnY%E(uy)F`oHk+&zv-_&o=Rgc>PE~K3F!f!t z)eN`usP9Ga+2=giG zlOkA}O0(6x!Prb+i>i5vShDUN)%OlL5NA`=PZM_&?@~?uLiqcrQtFov>xm7FQ@{Ph z{hwDTOuMMRt+rtfR{sRq5gXB1{S${9{xqq74z(d(f28_15jJrvOXKxm)oyb& zF#v*mQV$zn`e~w|U4G`0CKU|4)GbYV<401l` z8DziO#&WS%GPA3y8U5h=zhBmhM1;bbJ=E-*Ksd|_(d=92lDJt!E71xvt;Ji-@feoO z|EgAIza385Bxq&F1rne0PjecUfad5At=yYH5-a;_6^mnFBYtZYKmNtJ(Sugu$b8t3S9ns*HNAfm0-o1^3h%IBUe;`Dl*IYQ7S1V6AH}gwen& zTDQ8*&|R&gbvp$H*lB$(W|Jt^LF;EQ!*PWE)%vAPCU%->zCF`Otec?uFU}c(}(VZmJd(*8H$L+Pz=6Ty7ZKr5sqR_Kyx>g&j%^|U*y*762PNHH- zHdbU-@`^ugbRTY|_;y+wdlyfBI7kaTn~%P7H*Hc+u+9N(a*Yin`WDtEPsk&&@3%I2 zB1Ga!A1%lOXZfT=EhwWIdRsF!bMOaLKzDE|Vauf+< zr9d0qFKSDD98qy-ZlzcTqY4koM8i5?i;zbVt+=4A*z%L8RUvJ~g=%P=q-yJ`p=5DD z(>4^{f+*{+ZR`WZ@%Oy8c_JFuTZ?L&PsgA=*izg41L^SenOf`|M86>)tQ0MJXt95C zA(g_kt&N;;xVWmey$ZzQ!eH&-$7V#|%uTgJ4o``ezR(V@{EgCtpLXQk31V>>+R=xB z=qXgwP7KXKrOsYEF&rMTdVd?g&(+RW%p&9zI_;19NS)h;zb3!v|A?UJ{KBL{!AOC8`3TE)-NuFejG$my{+1IRSD*Bs;(g%Z}L^S-PuNQC=5B5>tEcYw%y%G8r z*I?VteXJBF(zlA_MC0n~+ceWKl?^87y`qo-=^N_XOAU#l3hCQ>OhFwsO5c&?V3$AF zcSIdVc;)Il9zX;6{xf~oT23S`MOrqsc4&kWgva6A(5V|MyM z$lw|G(g(axLQ2|KKco*Py2^YTYuB*6Z(YLNO+T~=bnx9wDqq^E18dbL=*Qj^#Ci?Z zkFTCb{P95j)cyGC_~cOi)blv$aHyg_`1l!grCXiQ&xpr?!TWB>yNkB zM|p3+!QYiOIu5Y0Ot6hL!u3&^@MS&TTPdpO_0j#Xl{Qt^N1v0>02yXup=c{5gHa!S z53XqF27PosvaDhYEaTfcnGbx`Z*Gazbc)b#o`a26yqJD--XvU~*2mIE91HjXeu9p# zqmLa5jdo9`-}0*j%qmL1y??>-J=O2@MUe12t=~1OI=)G(>UWPxAv&~Ezqd>fv9T-l zdz(HX8hcqE*R(ECYQ8?<$#m%byH*Yn?=toK(~vlHc&$I+hlHlLhyK9+o^Tx-^oh+v zaEj`MJ~6XAiR;<=LkUnMLH+f|>b1o2u08tW8D~+f&9st7rCBMl`}z~&Erf>9pQw5d z;j^PzGrLR887uI{nN1t?kGNj>3eex|Ru@(OMvt0`eq`Llmoz_IlZ|N^INI{Fn ztiQ4rB3Sd&r$o6Cm8z*v{W%|gpq@UxJmza+aeaF8GdS=uK!2mnV#o!H{-$9QzU^N_ zpD_a-=u*5st5OtKz5P{t*pOd4lUcVmCg8*0#kA)LOgF=$`# z{$U3!kGvdw59~4&4G}o>)zVPh0~6z;7>YlCNBry@hwg?3(n)9x2SXFx1JqsJ4bA#Qz-!eq zw0PPK^*=vDtJ_0}mE3D3@4wE_Ha3DJmpDVaFLR(L8yng$gk8LQWbjUkC*HV=p~Emw ztlQw5hK_#uBo@su_>|7V;otuZowYA8kiCX3({Y3;u92ZzB|Bm}4TkPL+Y;Z^z|j3i zHdI$@Loc^@V*Se+dbwwlsNBaeAaW+rQG;Pnsa_=CJF*Sq%3%W6#~3D*io|(^jfRQO(_o=X4O9P{ zLp=M3VH!u8XF6_}))J9r<-(HCP^Zkj?%@4e`;Fh+k-INH`3edhKaQxYq#{x!Q*PWig}PPYnmE zKSzv6FdPg;hco=1Al#u|K%tk<0zVTC5LR-nrXhWBAXNH9C8aBHEW@EZ43SNrhdF<(;>oU~|P-;S3^8#g)biXV+rds~angO~ZF4 z?TnSS7opbtXGvq#;4j2RyBJ-03=S>4F}hyOC()^#(e;ZxMTIG&ZT#8RvWJ8k?8Rf=k= zJ6;=G=NBgt>}_n*I+H}BOUAavF&@iFW7{A+*Vi}3c4eyJT+nr+mtS94#W|7n8WX}>~_ufbf z92eO5{;8F`MUt_5s07h{!`LGs35~!RHoE;W_I5=&$xrc{1l_FZ#IbryN$ld zv52X-PTm66Hu~*$BYq^z=s)N^#I@74f*0u4L>dPzf?dv#je{;-M5ia!+Hx7x2tO<1nXuw62R9hjmRN(Kg&TBJ?0!TQTFv$M=b)jxvs( z2anXPvvGU~f&v?EoLC-G*877o2;ZC+*F%g`s+us8ezlELd&J-reWc}I=Mvt`IL&+r zA!vYc8Wx6@oiqlYeubjOAY<^e=P1H9H_k|HMPgbf!oWo|WIzc-Jlskbp>c?7;j zQrMV@e__LteT`Y+6;Z$|V!U<235k7<@z#A*pJtsm-u7sQDppP7?T*)w6ge92%!as( z7;e0C;1eRx2IJkb*zu01jQ4_28Y$*#e0WY^ptnFD+<3?lV|F&CgnczW`u7zPp|tVw zBRI0nEsZ&zpQowwWA?!gQ`w zHI>)|4fpT3$+0K0$~Ru7GIzS-yZXtdvi-3kQjeL+#@8f~7-Mpt*%>+9P*b@i%)_%6 zrt(TKTw=1R68_f^tz2rV(&=CgoaJ;jRrM+GA>U0^*L@~_a)zmT|3t{(T_(2#$mz|; zOm%d)(UMyhb9X1R&qY&{219T%V!Em6sYCEAUrcTKVd3t-2fvW`&lCI#27`aVBrqT6 zzzyI(GzC7J+W5lK9&`mIaJ8xJt~oe3QOeXV465&UqN&|iboaE+Ca+a!1DEJ!^6qj0 zDd$xyQ9sDGzL1!=$$Ri{e2vD>)TuSbx2LMf$GDCt_pZrj)p5-98oZ6s`UE0)Rbso{M>875GVK^^KntCD|7y4bM-d({h zF{XZnQFl#DGWE;f1{e1x$JD=_9f>=0O#UCT(O@ZQ3g}mX*!$C_fVfQJFM6AXjEW(8 z*uykD7$$M5glR-1o^a|`)2KpE5WJq6Ml~o#d`oZBsCG!Ed75eTW_w&anZ{I0!=C+V z3Y_u+UsS4U3S14#o!!_pX<;^r$;V97*P8RuKg5e`2An!BWtzFYCcc!cGtIgmf#Q1^ zlX)8kwm;r9*BM$O`I{-ks|NjrUkujINA*krtK~mz``b`U0LwH zso|#GGhieB>rH$A3?Zr76H{C@ClapXO>y%ANPN#R#bqoZQMR1P96#3;wXAcd11tZb zMdWTeI1%b-Olwo(O>lIg>G)=NrG~>yC&t8}(%ZmvszWYzTYXbfD@36Ub4+Irt|W2A zWJ+%CNy6@kDS3Wf9I2mUI%{l8QmLt?3sJ?<5vpNIu^)mSxSi?RBiKyWQ>OGjw-9B# z%%&SlVGQ5Sm@@3Qk$B=_y3;0*M08El-7BaL(l67!b$KYdO*H*S<%r~`rtI_a#GWRY z9@$|HpXy9c%2h;JvW@Aydp*4V3zoeu%up0!L8 zQwcA1lPrDrI|P=~)RpQXcvB&zA@x7OoaMywf8B&Rv@`J6PQg6?28wrHf%%u_k$Zj{ z7NwFK@3b01-M28wg?0!_@ncN38^Y*xtYmzs2>EYQVX*}TK5cfvl5#Q;!W|&Idn~0P z+92Y!xwIoOh@78E`lAFQ>nTiNX$dh``$8CRs)Cpv+VZ;mAZ`ZD?a@~teus=|$v%Qr zyLMBtlpa={_>rP$>mZ?(rl#T~B;265p?*f`#dtf1kWsLvoz%wTU`R?Nx}V;HSMMxk zd|OuOV7#5NBNftnwo$Hr45+tHA&ayLH02~YvJW709Yw3Y_ko-tORj1Va(`&0LmVlv z*@mdFy$^X@Ba^6iLjE_zx0mn1RwJRW-wOpfMT~Fug>3<3sa~mrZBfMUapy(IxzB;3 z12o~c>Y?aS2=Vvb7ooVUkzS~D1B!de!f&#H((81iuf7G-cO+T%X7GMJ^>Zb#dq*AR zB38ogZi=&I{{{BYyDxdiF8Jh_oE(WNC||5%Tvs(zd_rNeglACkG?q+jAE>k?)6(Yv z96I1c6>ObQQ%WY~A96VS(oxc{)lZ?WUCp@W*-&prJ9SGc9QW|2wRIR8{AfbCThO5D zBd0STPB@Ue-BKVzz9tb)epSsR+11e4P2rWoXVCQ6pWcEo4ZgyKw3d`2ws1g zgnl@kOZlwaCODf%>hIuaIG4A4I&C%n&_WWxIR(KL2eQH%BH*gk9mez>@SPW}slLC# z^&}GYasF_lmN+qfAKauWcTQl?VM~Fcatr8arY8=KFYQdQTQ=|-bme<7-qIer+PxTe zCK!IaFQar*1l+lLoYZXz+__KT*@Ss;caIBIYi@wMU*2S_F$Baz<);+T^GHSYF2_pe zt#&d-9)jOD(neoZ3C}uc!W9AV#{kWbMH&2A@dNE|?~0H+@sSAmPK$#>&tCJi`t4SD@9H{tlV zBuw&IH%?sS#UyDD4x_yzsn59iIO+ZXf2aj#?f;r0<0sMEEs(tB2k5P(8LlWq-!F-9CyUaH ziFU>hgE7ceM>Cd>!7CdXn=uuGRRv74Opn2D&{}+yE<(;hF$^7dVaPYFR8MG)^Ge%D za%bU!*N;+ZR5dQHNn_j>?HK+8Y5grLaTTR7*qj1P`o|8&EqV*(X(V_RotP40Pf6`8 zOerg(SKipRqw*WlZAk}F^?5AaxK4!pql=jK*;b-oB0?$uGp7AQbG!ByZt&BSTNZ~J zGg|y-_n>B41mm-p;>KTz;Lf9H*iF%dBZn~Scn*~=zKuCgrHn1<$K0c8#@p`3%~R+B zHvNXi@P|ewDR>?8%xP`0Ff3U8h+@C5;CAU2#uwJ&j>>X!%v155V)CmxFXOw;l)bXD z!d=U}DAiGjA55rcETS3rY_29NZ!_*~rYGLJ0{2}Xq{^ok@ZuGGeAIsRD zm+*SF8|^WE*ltUU&U(Tyy!$EMaHhqcm4G+rlWEpli5-(TCb=WWjv51#Ogx9T{<)Vb z)3@O5e;*|sau&N@ZDd^iaqQCiQ*E6A@6`5@b~iV}Zr?1%4fJC7wcAuJ)Qa~$B%N2R z#GlmkmbzNRo~8$s5iZ6DGl>JEe#eJp&Q!Dh03Tl#Xvz2DlLK*#rQH@Gzwjq~n&d~u zs}cJ*JS0EpBo3sK$#(uX6_a}O@Fe`w73QfWbo!eL;!N8UrC1x3wD?Tjsp;H}!NPJE zNnN=Me@jw#%9YnnDbz0E>$FRxl2KzutIc+$>@1B|jy4rXN~fEaMoNu>4O_?zOvloh zdkI?~Qsy;`mQce&gD&0O1?F*THv@LYKrnw95*{}DoBjaogwobLGBo;HYjz1T+kbIDs`%0&I6A&$*edirI?r=Joj#_-Lgu-tAop-$)Cg*fQKl=C4ayWDnXoJMrc3$KsdfEZrM~ BasePlaylistFeature - + New Playlist 新的播放列表 @@ -160,7 +160,7 @@ - + Create New Playlist 创建新的播放列表 @@ -190,113 +190,120 @@ 复制 - - + + Import Playlist 导入播放列表 - + Export Track Files 导出音轨文件 - + Analyze entire Playlist 分析一整个播放列表 - + Enter new name for playlist: 为播放列表输入键入新的名称: - + Duplicate Playlist 复制播放列表 - - + + Enter name for new playlist: 为新的播放列表键入新的名称: - - + + Export Playlist 导出播放列表 - + Add to Auto DJ Queue (replace) 添加至自动 DJ 队列(替换) - + + + Export to Engine DJ + "Engine DJ" is a product name and must not be translated. + + + + Rename Playlist 重命名播放列表 - - + + Renaming Playlist Failed 重命名播放列表失败 - - - + + + A playlist by that name already exists. 使用该名称的播放列表已经存在。 - - - + + + A playlist cannot have a blank name. 播放列表名称不能为空。 - + _copy //: Appendix to default name when duplicating a playlist _copy - - - - - - + + + + + + Playlist Creation Failed 播放列表创建失败 - - + + An unknown error occurred while creating playlist: 创建播放列表时发生了一个未知错误: - + Confirm Deletion 删除前的确认 - + Do you really want to delete playlist <b>%1</b>? 您真的要删除播放列表<b>%1</b>吗? - + M3U Playlist (*.m3u) M3U 播放列表(*.m3u) - + M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Text CSV (*.csv);;Readable Text (*.txt) M3U 播放列表(*.m3u);;M3U8 播放列表(*.m3u8);;PLS 播放列表(*.pls);;CSV 文本(*.csv);;可读文本(*.txt) @@ -304,12 +311,12 @@ BaseSqlTableModel - + # # - + Timestamp 时间戳 @@ -317,7 +324,7 @@ BaseTrackPlayerImpl - + Couldn't load track. 无法加载音轨。 @@ -325,142 +332,142 @@ BaseTrackTableModel - + Album 专辑 - + Album Artist 专辑艺人 - + Artist 艺人 - + Bitrate 比特率 - + BPM BPM - + Channels 通道 - + Color 颜色 - + Comment 备注 - + Composer 作曲家 - + Cover Art 封面图片 - + Date Added 加入日期 - + Last Played 最后播放 - + Duration 持续时间 - + Type 类型 - + Genre 流派 - + Grouping 分组 - + Key 调性 - + Location 位置 - + Overview - + Preview 预览 - + Rating 评分 - + ReplayGain 重放增益 - + Samplerate 采样率 - + Played 已播放 - + Title 标题 - + Track # 曲目 # - + Year 年份 - + Fetching image ... Tooltip text on the cover art column shown when the cover is read from disk 獲取圖片中... @@ -609,6 +616,16 @@ "Computer" lets you navigate, view, and load tracks from folders on your hard disk and external devices. “我的电脑”可以让您从您的硬盘及外置设备中浏览、查看与加载音轨。 + + + It shows the data from the file tags, not track data from your Mixxx library like other track views. + + + + + If you load a track file from here, it will be added to your library. + + BrowseTableModel @@ -2448,7 +2465,7 @@ trace - Above + Profiling messages Tempo tap button - + 节奏敲击按钮 @@ -3632,32 +3649,32 @@ trace - Above + Profiling messages ControllerScriptEngineBase - + The functionality provided by this controller mapping will be disabled until the issue has been resolved. 在問題解決之前,此控制器映射提供的功能將被禁用。 - + You can ignore this error for this session but you may experience erratic behavior. 您可以在此會話中忽略此錯誤,但可能會出現不穩定的行為。 - + Try to recover by resetting your controller. 请尝试重置控制器来恢复原先的状态。 - + Controller Mapping Error 控制器映射錯誤 - + The mapping for your controller "%1" is not working properly. 控制器“%1”的映射工作不正常。 - + The script code needs to be fixed. 脚本代码需要被修复。 @@ -3765,7 +3782,7 @@ trace - Above + Profiling messages 导入分类列表 - + Export Crate 导出分类列表 @@ -3775,7 +3792,7 @@ trace - Above + Profiling messages 解锁 - + An unknown error occurred while creating crate: 在创建分类列表时发生未知错误: @@ -3801,17 +3818,17 @@ trace - Above + Profiling messages 重命名分类列表失败 - + Crate Creation Failed 创建分类列表失败 - + M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Text CSV (*.csv);;Readable Text (*.txt) M3U 播放列表(*.m3u);;M3U8 播放列表(*.m3u8);;PLS 播放列表(*.pls);;文本 CSV (*.csv);;可读文本(*.txt) - + M3U Playlist (*.m3u) M3U播放列表 (*.m3u) @@ -3937,12 +3954,12 @@ trace - Above + Profiling messages 早期贡献者 - + Official Website 官方网站 - + Donate 捐献 @@ -3998,7 +4015,7 @@ trace - Above + Profiling messages - + Analyze 分析 @@ -4043,17 +4060,17 @@ trace - Above + Profiling messages 对所选音轨进行节拍、音调和播放增益检测。为了节约磁盘空间,不会生成相应的波形文件。 - + Stop Analysis 停止分析 - + Analyzing %1% %2/%3 分析 %1% %2/%3 - + Analyzing %1/%2 分析 %1/%2 @@ -4470,37 +4487,37 @@ Often results in higher quality beatgrids, but will not do well on tracks that h 若映射不正确,请尝试启用下方的高级选项,然后重试。或者点击“重试”来重新检测 midi 控制器。 - + Didn't get any midi messages. Please try again. 未收到 midi 消息。请重试。 - + Unable to detect a mapping -- please try again. Be sure to only touch one control at once. 无法检测映射 - 请重试。请确保每次只操作一个控制器。 - + Successfully mapped control: 成功映射控制器: - + <i>Ready to learn %1</i> <i>现在可以学习 %1</i> - + Learning: %1. Now move a control on your controller. 正在学习:%1。现在请对控制器进行操作。 - + The selected control does not exist.<br>This likely a bug. Please report it on the Mixxx bug tracker.<br><a href='https://github.com/mixxxdj/mixxx/issues'>https://github.com/mixxxdj/mixxx/issues</a><br><br>You tried to learn: %1,%2 - + The control you clicked in Mixxx is not learnable. This could be because you are either using an old skin and this control is no longer supported, or you clicked a control that provides visual feedback and can only be mapped to outputs like LEDs via scripts. @@ -5203,114 +5220,114 @@ associated with each key. DlgPrefController - + Apply device settings? 应用设备设置吗? - + Your settings must be applied before starting the learning wizard. Apply settings and continue? 在开始学习向导前,必须应用相关设置。 是否应用设置并继续? - + None - + %1 by %2 %1 / %2 - + Mapping has been edited 映射已编辑 - + Always overwrite during this session 在此会话期间始终覆盖 - + Save As 另存为 - + Overwrite 覆盖 - + Save user mapping 保存用户映射 - + Enter the name for saving the mapping to the user folder. 输入用于将映射保存到用户文件夹的名称。 - + Saving mapping failed 保存映射失败 - + A mapping cannot have a blank name and may not contain special characters. 映射不能具有空白名称,并且不能包含特殊字符。 - + A mapping file with that name already exists. 具有该名称的映射文件已存在。 - + Do you want to save the changes? 是否要保存更改? - + Troubleshooting 故障排除 - + <font color='#BB0000'><b>If you use this mapping your controller may not work correctly. Please select another mapping or disable the controller.</b></font><br><br>This mapping was designed for a newer Mixxx Controller Engine and cannot be used on your current Mixxx installation.<br>Your Mixxx installation has Controller Engine version %1. This mapping requires a Controller Engine version >= %2.<br><br>For more information visit the wiki page on <a href='https://mixxx.org/wiki/doku.php/controller_engine_versions'>Controller Engine Versions</a>. 如果使用此映射,则控制器可能无法正常工作。请选择其他映射或禁用控制器。此映射专为较新的 Mixxx 控制器引擎而设计,不能用于您当前的 Mixxx 安装。您的 Mixxx 安装的 Controller Engine 版本为 %1。此映射需要 Controller Engine 版本 >= %2。有关更多信息,请访问有关 Controller Engine 版本的 wiki 页面。 - + Mapping already exists. 映射已存在。 - + <b>%1</b> already exists in user mapping folder.<br>Overwrite or save with a new name? <b>%1</b>已存在于用户映射文件夹中.<br>覆盖还是用新名称保存? - + Clear Input Mappings 清除输入映射 - + Are you sure you want to clear all input mappings? 您确定要清除所有的输入映射吗? - + Clear Output Mappings 清除输出映射 - + Are you sure you want to clear all output mappings? 您确定要清除所有的输出映射吗? @@ -5641,6 +5658,16 @@ Apply settings and continue? Multi-Sampling 多重采样 + + + Force 3D acceleration + + + + + If checked, Mixxx will always assume 3D acceleration is available. This may lead to pour performance if only CP-backed rendering is available.. + + Start in full-screen mode @@ -6249,62 +6276,62 @@ You can always drag-and-drop tracks on screen to clone a deck. DlgPrefInterface - + The minimum size of the selected skin is bigger than your screen resolution. 您的屏幕分辨率太低,无法容纳所选皮肤的最小尺寸。 - + Allow screensaver to run 允许屏幕保护程序运行 - + Prevent screensaver from running 防止屏幕保护程序运行 - + Prevent screensaver while playing 播放时防止屏幕保护程序运行 - + Disabled 禁用 - + 2x MSAA 2倍采样抗锯齿 - + 4x MSAA 4倍采样抗锯齿 - + 8x MSAA 8倍采样抗锯齿 - + 16x MSAA 16倍采样抗锯齿 - + This skin does not support color schemes 该皮肤不支持色彩方案 - + Information 信息 - + Mixxx must be restarted before the new locale, scaling or multi-sampling settings will take effect. 在新的区域设置、缩放或多重采样设置生效之前,必须重新启动Mixxx。 @@ -7241,7 +7268,7 @@ and allows you to pitch adjust them for harmonic mixing. All settings take effect on next track load. Currently loaded tracks are not affected. For an explanation of these settings, see the %1 - + 所有设置都会在下一次轨道加载时生效。当前加载的轨迹不受影响。有关这些设置的说明,请参阅 %1 @@ -7480,173 +7507,172 @@ The loudness target is approximate and assumes track pregain and main output lev DlgPrefSound - + %1 Hz %1 赫兹 - + Default (long delay) 默认(长延迟) - + Experimental (no delay) 试验(无延迟) - + Disabled (short delay) 禁用(短延迟) - + Soundcard Clock 声卡时钟 - + Network Clock 网络时钟 - + Direct monitor (recording and broadcasting only) 直接监视器(仅限录制和广播) - + Disabled 禁用 - + Enabled 已启用 - + Stereo 立体声 - + Mono 启用 - + To enable Realtime scheduling (currently disabled), see the %1. 要启用实时计划(当前已禁用),请参阅 %1。 - + The %1 lists sound cards and controllers you may want to consider for using Mixxx. %1 列出了您可能需要考虑使用 Mixxx 的声卡和控制器。 - + Mixxx DJ Hardware Guide Mixxx DJ 硬件指南 - + Information - + Mixxx must be restarted before the multi-threaded RubberBand setting change will take effect. - + auto (<= 1024 frames/period) 自动(<= 1024 帧/周期) - + 2048 frames/period 2048 帧/周期 - + 4096 frames/period 4096 帧/周期 - + Are you sure? - + Distribute stereo channels into mono channels for parallel processing will result in a loss of mono compatibility and a diffuse stereo image. It is not recommended during broadcasting or recording. - + Are you sure you wish to proceed? - + No - + Yes, I know what I am doing - + Microphone inputs are out of time in the record & broadcast signal compared to what you hear. 与您听到的相比,麦克风输入在录音和广播信号中显得不合时宜。 - + Measure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. 测量往返延迟,并在上方输入麦克风延迟补偿以对齐麦克风计时。 - - + Refer to the Mixxx User Manual for details. 細節請參考Mixxx 使用者操作手冊 - + Configured latency has changed. 配置的延迟已更改。 - + Remeasure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. 重新测量往返延迟,并将其输入到麦克风延迟补偿上方,以调整麦克风定时。 - + Realtime scheduling is enabled. 已启用实时调度。 - + Main output only 仅主输出 - + Main and booth outputs 主输出和展位输出 - + %1 ms %1 ms - + Configuration error 配置错误 @@ -7664,131 +7690,131 @@ The loudness target is approximate and assumes track pregain and main output lev 声音API - + Sample Rate 采样率 - + Audio Buffer 音频缓冲 - + Engine Clock 引擎时钟 - + Use soundcard clock for live audience setups and lowest latency.<br>Use network clock for broadcasting without a live audience. 使用声卡时钟进行现场观众设置和最低延迟。1使用网络时钟进行没有现场观众的广播。 - + Main Mix 主混合 - + Main Output Mode 主输出模式 - + Microphone Monitor Mode 麦克风监听模式 - + Microphone Latency Compensation 麦克风延迟补偿 - - - - + + + + ms milliseconds ms - + 20 ms 20 ms - + Buffer Underflow Count 缓冲区下溢计数 - + 0 0 - + Keylock/Pitch-Bending Engine 键盘锁 / 滑音引擎 - + Multi-Soundcard Synchronization 多声卡同步 - + Output 输出 - + Input 输入 - + System Reported Latency 系统报告的延迟 - + Enlarge your audio buffer if the underflow counter is increasing or you hear pops during playback. 若下溢计数持续增加,或者您听到“啪啪”声,请增大您的音频缓冲区。 - + Main Output Delay 主输出延迟 - + Headphone Output Delay 耳机输出延迟 - + Booth Output Delay Booth输出延迟 - + Dual-threaded Stereo - + Hints and Diagnostics 提示与诊断 - + Downsize your audio buffer to improve Mixxx's responsiveness. 若需提升 Mixxx 的响应速度,请降低您的音频缓冲区大小。 - + Query Devices 查询设备 @@ -9347,27 +9373,27 @@ Often results in higher quality beatgrids, but will not do well on tracks that h EngineBuffer - + Soundtouch (faster) Soundtouch(更快) - + Rubberband (better) Rubberband(更好) - + Rubberband R3 (near-hi-fi quality) 接近高保真质量 - + Unknown, using Rubberband (better) 未知,使用更好 - + Unknown, using Soundtouch 未知,使用 Soundtouch @@ -9582,15 +9608,15 @@ Often results in higher quality beatgrids, but will not do well on tracks that h LegacySkinParser - - + + Safe Mode Enabled Shown when Mixxx is running in safe mode. 已启用安全模式 - - + + No OpenGL support. Shown when Spinny can not be displayed. Please keep @@ -9602,57 +9628,57 @@ Shown when VuMeter can not be displayed. Please keep 支持。 - + activate 启用 - + toggle 切换 - + right - + left - + right small 右小 - + left small 左小 - + up - + down - + up small 上小 - + down small 下小 - + Shortcut 快捷键 @@ -9660,37 +9686,37 @@ Shown when VuMeter can not be displayed. Please keep Library - + This or a parent directory is already in your library. 此目录或父目录已位于您的库中。 - + This or a listed directory does not exist or is inaccessible. Aborting the operation to avoid library inconsistencies 此目录或列出的目录不存在或无法访问。 中止操作以避免库不一致 - - + + This directory can not be read. 无法读取此目录。 - + An unknown error occurred. Aborting the operation to avoid library inconsistencies 发生未知错误。 中止操作以避免库不一致 - + Can't add Directory to Library 无法将目录添加到库 - + Could not add <b>%1</b> to your library. %2 @@ -9699,27 +9725,27 @@ Aborting the operation to avoid library inconsistencies %2 - + Can't remove Directory from Library 无法从库中删除目录 - + An unknown error occurred. 发生未知错误。 - + This directory does not exist or is inaccessible. 此目录不存在或无法访问。 - + Relink Directory 重新链接目录 - + Could not relink <b>%1</b> to <b>%2</b>. %3 @@ -9731,22 +9757,22 @@ Aborting the operation to avoid library inconsistencies LibraryFeature - + Import Playlist 导入播放列表 - + Playlist Files (*.m3u *.m3u8 *.pls *.csv) 播放列表文件(*.m3u *.m3u8 *.pls *.csv) - + Overwrite File? 覆盖文件? - + A playlist file with the name "%1" already exists. The default "m3u" extension was added because none was specified. @@ -9897,251 +9923,251 @@ Do you really want to overwrite it? MixxxMainWindow - + Sound Device Busy 声音设备正忙 - + <b>Retry</b> after closing the other application or reconnecting a sound device 请关闭其他应用程序,或重新连接设备后<b>重试</b> - - - + + + <b>Reconfigure</b> Mixxx's sound device settings. <b>重新配置</b> Mixxx 声音设备。 - - + + Get <b>Help</b> from the Mixxx Wiki. 从 Mixxx Wiki 中获取<b>帮助</b>。 - - - + + + <b>Exit</b> Mixxx. <b>退出</b> Mixxx。 - + Retry 重试 - + skin 皮肤 - + Allow Mixxx to hide the menu bar? 允许 Mixxx 隐藏菜单栏? - + Hide Always show the menu bar? 隐藏 - + Always show 始终显示 - + The Mixxx menu bar is hidden and can be toggled with a single press of the <b>Alt</b> key.<br><br>Click <b>%1</b> to agree.<br><br>Click <b>%2</b> to disable that, for example if you don't use Mixxx with a keyboard.<br><br>You can change this setting any time in Preferences -> Interface.<br> Keep formatting tags <b> (bold text) and <br> (linebreak). %1 is the placeholder for the 'Always show' button label Mixxx 菜单栏是隐藏的,只需按一下<b>Alt 键</b>钥匙。<br><br>点击<b>%1</b>同意。<br><br>点击<b>%2</b>以禁用它,例如,如果您不将 Mixxx 与键盘一起使用。<br><br>您可以随时在 Preferences -> Interface 中更改此设置。<br> - + Ask me again 再问我一次 - - + + Reconfigure 重新配置 - + Help 帮助 - - + + Exit 退出 - - + + Mixxx was unable to open all the configured sound devices. Mixxx 无法打开所有要打开的音频设备 - + Sound Device Error 音频设备错误 - + <b>Retry</b> after fixing an issue 修正错误后 <b> 重试 </b> - + No Output Devices 没有输出设备 - + Mixxx was configured without any output sound devices. Audio processing will be disabled without a configured output device. Mixxx 的配置中没有任何输出设备,将会禁用音频处理操作。 - + <b>Continue</b> without any outputs. 确定在没有任何输出的情况下<b>继续</b>。 - + Continue 继续 - + Load track to Deck %1 加载音轨到碟机 %1 - + Deck %1 is currently playing a track. 碟机 %1 当前正在播放。 - + Are you sure you want to load a new track? 您确定要加载新音轨吗? - + There is no input device selected for this vinyl control. Please select an input device in the sound hardware preferences first. 尚未选择用于唱盘控制的输入设备。 请在声音硬件的首选项中选择一个输入设备。 - + There is no input device selected for this passthrough control. Please select an input device in the sound hardware preferences first. 尚未选择用于唱盘控制的输入设备。 请在声音硬件的首选项中选择一个输入设备。 - + There is no input device selected for this microphone. Do you want to select an input device? 没有为此麦克风选择输入设备。是否要选择输入设备? - + There is no input device selected for this auxiliary. Do you want to select an input device? 没有为此辅助设备选择输入设备。是否要选择输入设备? - + Scan took %1 - + No changes detected. - - + + %1 tracks in total - + %1 new tracks found - + %1 moved tracks detected - + %1 tracks are missing (%2 total) - + %1 tracks have been rediscovered - + Library scan finished - + Error in skin file 皮肤文件错误 - + The selected skin cannot be loaded. 无法加载所选皮肤。 - + OpenGL Direct Rendering OpenGL 直接渲染 - + Direct rendering is not enabled on your machine.<br><br>This means that the waveform displays will be very<br><b>slow and may tax your CPU heavily</b>. Either update your<br>configuration to enable direct rendering, or disable<br>the waveform displays in the Mixxx preferences by selecting<br>"Empty" as the waveform display in the 'Interface' section. 您的计算机上未启用直接渲染。<br><br>这意味着波形显示将非常<br><b>速度慢,并且可能会严重占用您的 CPU</b>.要么更新您的<br>配置以启用直接渲染或禁用<br>波形将通过选择 Mixxx 首选项显示在<br>“空”作为“界面”部分的波形显示。 - - - + + + Confirm Exit 确认退出 - + A deck is currently playing. Exit Mixxx? 有唱机正在播放。确定退出 Mixxx 吗? - + A sampler is currently playing. Exit Mixxx? 有采样器正在播放。确定退出 Mixxx 吗? - + The preferences window is still open. 首选项窗口尚未关闭。 - + Discard any changes and exit Mixxx? 取消所作更改并退出 Mixxx 吗? @@ -10157,13 +10183,13 @@ Do you want to select an input device? PlaylistFeature - + Lock 锁定 - - + + Playlists 播放列表 @@ -10173,32 +10199,58 @@ Do you want to select an input device? 随机播放播放列表 - + + Unlock all playlists + + + + + Delete all unlocked playlists + + + + Unlock 解锁 - + + + Confirm Deletion + + + + + Do you really want to delete all unlocked playlists? + + + + + Deleting %1 unlocked playlists.<br>This operation can not be undone! + + + + Playlists are ordered lists of tracks that allow you to plan your DJ sets. 播放列表是有序的曲目列表,允许您规划 DJ 集。 - + It may be necessary to skip some tracks in your prepared playlist or add some different tracks in order to maintain the energy of your audience. 可能需要跳过您准备好的播放列表中的一些曲目或添加一些不同的曲目,以保持观众的活力。 - + Some DJs construct playlists before they perform live, but others prefer to build them on-the-fly. 一些DJ在他们表演之前创建播放列表,但其他人更倾向于即兴表演。 - + When using a playlist during a live DJ set, remember to always pay close attention to how your audience reacts to the music you've chosen to play. 在在线 Dj 集中使用播放列表时,请时刻注意您的听众对所选音乐的反应。 - + Create New Playlist 新建播放列表 @@ -11838,7 +11890,7 @@ Hint: compensates "chipmunk" or "growling" voices Soft Clipping - + Soft Clipping @@ -11857,7 +11909,7 @@ Hint: compensates "chipmunk" or "growling" voices 应用于音频信号的放大量。在更高的级别上,音频将更加分散。 - + Passthrough 直通 @@ -12027,12 +12079,12 @@ may introduce a 'pumping' effect and/or distortion. 各种 - + built-in - + missing @@ -12160,54 +12212,54 @@ may introduce a 'pumping' effect and/or distortion. RekordboxFeature - - - + + + Rekordbox Rekordbox - + Playlists 播放列表 - + Folders 文件夹 - + Reads databases exported for Pioneer CDJ / XDJ players using the Rekordbox Export mode.<br/>Rekordbox can only export to USB or SD devices with a FAT or HFS file system.<br/>Mixxx can read a database from any device that contains the database folders (<tt>PIONEER</tt> and <tt>Contents</tt>).<br/>Not supported are Rekordbox databases that have been moved to an external device via<br/><i>Preferences > Advanced > Database management</i>.<br/><br/>The following data is read: 读取使用 Rekordbox 导出模式为 Pioneer CDJ/XDJ 播放器导出的数据库。1Rekordbox 只能导出到具有 FAT 或 HFS 文件系统的 USB 或 SD 设备。2Mixxx 可以从包含数据库文件夹 (3先锋3和4内容4).5不支持已通过67高级>数据库管理>首选项7.89读取以下数据: - + Hot cues - + Hot cues - + Loops (only the first loop is currently usable in Mixxx) Loops(目前只有第一个 Loop 在 Mixxx 中可用) - + Check for attached Rekordbox USB / SD devices (refresh) 检查连接的 Rekordbox USB/SD 设备(刷新) - + Beatgrids 节拍网格 - + Memory cues 记忆线索 - + (loading) Rekordbox (加载中)Rekordbox @@ -15451,47 +15503,47 @@ This can not be undone! WCueMenuPopup - + Cue number 提示编号 - + Cue position 提示位置 - + Edit cue label Edit cue label(编辑提示标签) - + Label... 标签 - + Delete this cue 删除此提示 - + Toggle this cue type between normal cue and saved loop 在正常提示点和保存的 Loop 之间切换此提示类型 - + Left-click: Use the old size or the current beatloop size as the loop size 左键单击:使用旧大小或当前 Beatloop 大小作为 Loop 大小 - + Right-click: Use the current play position as loop end if it is after the cue 右键点击:如果当前播放位置在 cue 之后,则将其用作 Loop 结束 - + Hotcue #%1 热提示 #%1 @@ -15616,323 +15668,353 @@ This can not be undone! + Search in Current View... + + + + + Search for tracks in the current library view + + + + + Ctrl+f + + + + + Search in Tracks Library... + + + + + Search in the internal track collection under "Tracks" in the library + + + + + Ctrl+Shift+F + + + + Create &New Playlist 新建播放列表(&N) - + Create a new playlist 新建播放列表 - + Ctrl+n Ctrl+N - + Create New &Crate 新建分类列表(&N) - + Create a new crate 创建新分类列表 - + Ctrl+Shift+N Ctrl+Shift+N - - + + &View 查看(&V) - + Auto-hide menu bar 自动隐藏菜单栏 - + Auto-hide the main menu bar when it's not used. 不使用主菜单栏时自动隐藏主菜单栏。 - + May not be supported on all skins. 并非所有皮肤均支持。 - + Show Skin Settings Menu 皮肤设置菜单 - + Show the Skin Settings Menu of the currently selected Skin 显示当前选定皮肤的皮肤设置菜单 - + Ctrl+1 Menubar|View|Show Skin Settings Ctrl+1 - + Show Microphone Section 显示麦克风界面 - + Show the microphone section of the Mixxx interface. 在 Mixxx 内显示麦克风界面。 - + Ctrl+2 Menubar|View|Show Microphone Section Ctrl+2 - + Show Vinyl Control Section 显示唱盘控制界面 - + Show the vinyl control section of the Mixxx interface. 在 Mixxx 内显示唱盘控制界面。 - + Ctrl+3 Menubar|View|Show Vinyl Control Section Ctrl+3 - + Show Preview Deck 显示预览用碟机 - + Show the preview deck in the Mixxx interface. 在 Mixxx 内显示显示预览用碟机。 - + Ctrl+4 Menubar|View|Show Preview Deck Ctrl+4 - + Show Cover Art 显示封面 - + Show cover art in the Mixxx interface. 在 Mixxx 内显示封面。 - + Ctrl+6 Menubar|View|Show Cover Art Ctrl+6 - + Maximize Library 最大化音乐库 - + Maximize the track library to take up all the available screen space. 最大化音乐库以占用所有可用的屏幕空间。 - + Space Menubar|View|Maximize Library 空格键 - + &Full Screen 全屏(&F) - + Display Mixxx using the full screen 全屏模式显示 Mixxx - + &Options 选项(&O) - + &Vinyl Control 唱盘控制(&V) - + Use timecoded vinyls on external turntables to control Mixxx 对外部转盘使用时间编码的唱盘控制,以便控制 Mixxx - + Enable Vinyl Control &%1 启用Vinyl控制 &%1 - + &Record Mix 录制混音(&M) - + Record your mix to a file 将混音输出到文件 - + Ctrl+R Ctrl+R - + Enable Live &Broadcasting 启用在线广播(&B) - + Stream your mixes to a shoutcast or icecast server 将混音通过流输出到 shoutcast 或 icecast 服务器 - + Ctrl+L Ctrl+L - + Enable &Keyboard Shortcuts 启用键快捷键(&K) - + Toggles keyboard shortcuts on or off 键盘快捷键开关 - + Ctrl+` Ctrl+` - + &Preferences 首选项(&P) - + Change Mixxx settings (e.g. playback, MIDI, controls) 改变 Mixxx 设定(回放、MIDI、控制器等) - + &Developer 开发者(&D) - + &Reload Skin 重载皮肤(&R) - + Reload the skin 重新载入皮肤 - + Ctrl+Shift+R Ctrl+Shift+R - + Developer &Tools 开发者工具(&T) - + Opens the developer tools dialog 打开开发者工具对话框 - + Ctrl+Shift+T Ctrl+Shift+T - + Stats: &Experiment Bucket 统计:实验桶(&E) - + Enables experiment mode. Collects stats in the EXPERIMENT tracking bucket. 启用实验模式。统计数据将会收集到实验跟踪桶中。 - + Ctrl+Shift+E Ctrl+Shift+E - + Stats: &Base Bucket 统计:基础桶(&B) - + Enables base mode. Collects stats in the BASE tracking bucket. 启用基础模式。统计数据将会收集到基础跟踪桶中。 - + Ctrl+Shift+B Ctrl+Shift+B - + Deb&ugger Enabled 调试器已启用(&U) - + Enables the debugger during skin parsing 在解析皮肤时启用调试器 - + Ctrl+Shift+D Ctrl+Shift+D - + &Help 帮助(&H) - + Show Keywheel menu title 显示 Keywheel @@ -15949,74 +16031,74 @@ This can not be undone! 将库导出为 Engine DJ 格式 - + Show keywheel tooltip text 显示 Keywheel - + F12 Menubar|View|Show Keywheel F12 - + &Community Support 社区帮助(&C) - + Get help with Mixxx 获取 Mixxx 帮助 - + &User Manual 用户手册(&U) - + Read the Mixxx user manual. 阅读Mixxx用户手册。 - + &Keyboard Shortcuts 键盘快捷键(&K) - + Speed up your workflow with keyboard shortcuts. 使用键盘快捷键提高你的效率。 - + &Settings directory &设置目录 - + Open the Mixxx user settings directory. 打开 Mixxx 用户设置目录。 - + &Translate This Application 翻译这个程序(&T) - + Help translate this application into your language. 帮助翻译此程序。 - + &About 关于(&A) - + About the application 关于此应用程序 @@ -16051,25 +16133,13 @@ This can not be undone! WSearchLineEdit - - Clear input - Clear the search bar input field - 清除输入 - - - - Ctrl+F - Search|Focus - Ctrl+F - - - + Search noun 搜索 - + Clear input 清除输入 @@ -16080,93 +16150,87 @@ This can not be undone! 查找... - + Clear the search bar input field 清除搜索栏输入字段 - - Enter a string to search for - 输入要搜索的字符串 + + Return + 返回 - - Use operators like bpm:115-128, artist:BooFar, -year:1990 - 使用运算符,如 bpm:115-128, artist:BooFar, -year:1990 + + Enter a string to search for. + - - For more information see User Manual > Mixxx Library - 有关更多信息,请参阅 Mixxx Library >用户手册 + + Use operators like bpm:115-128, artist:BooFar, -year:1990. + - Shortcut - 快捷键 + See User Manual > Mixxx Library for more information. + - - Ctrl+F - Ctrl+F + + Focus/Select All (Search in current view) + Give search bar input focus + - - Focus - Give search bar input focus - 焦点 + + Focus/Select All (Search in 'Tracks' library view) + - - - Ctrl+Backspace - Ctrl+退格键 + + Additional Shortcuts When Focused: + - Shortcuts - 快捷方式 + Trigger search before search-as-you-type timeout or focus tracks view afterwards + - Return - 返回 + Esc or Ctrl+Return + - Trigger search before search-as-you-type timeout orjump to tracks view afterwards - 在键入时搜索超时之前触发搜索,或在之后跳转到轨道视图 + Immediately trigger search and focus tracks view + Exit search bar and leave focus + - + Ctrl+Space Ctrl + 空格键 - + Toggle search history Shows/hides the search history entries 切换搜索历史记录 - + Delete or Backspace 删除或退格 - - Delete query from history - 从历史记录中删除查询 - - - - Esc - Esc + + in search history + - - Exit search - Exit search bar and leave focus - 退出查找 + + Delete query from history + 从历史记录中删除查询 @@ -16922,37 +16986,37 @@ This can not be undone! WTrackTableView - + Confirm track hide 确认轨道隐藏 - + Are you sure you want to hide the selected tracks? 您确定要隐藏选定的轨道吗? - + Are you sure you want to remove the selected tracks from AutoDJ queue? 您确定要从 AutoDJ 队列中删除选定的曲目吗? - + Are you sure you want to remove the selected tracks from this crate? 您确定要隐藏选定的轨道吗? - + Are you sure you want to remove the selected tracks from this playlist? 您确定要从此播放列表中删除选定的曲目吗? - + Don't ask again during this session 在此会话期间不要再次询问 - + Confirm track removal 确认轨道移除 @@ -16973,52 +17037,52 @@ This can not be undone! mixxx::CoreServices - + fonts 字体 - + database 数据库 - + effects 效果 - + audio interface 音频接口 - + decks 甲板 - + library 媒体库 - + Choose music library directory 选择音乐库目录 - + controllers 控制器 - + Cannot open database 无法打开数据库 - + Unable to establish a database connection. Mixxx requires QT with SQLite support. Please read the Qt SQL driver documentation for information on how to build it. @@ -17032,68 +17096,78 @@ Mixxx 需要 QT 支持 SQLite。请阅读 Qt SQL 驱动文档以了解相关构 mixxx::DlgLibraryExport - + Entire music library 整个音乐库 - - Selected crates - 选中的箱子 + + Crates + + + + + Playlists + - + + Selected crates/playlists + + + + Browse 浏览 - + Export directory 导出目录 - + Database version 数据库版本 - + Export 导出 - + Cancel 取消 - + Export Library to Engine DJ "Engine DJ" must not be translated 导出到 Engine DJ - + Export Library To 导出到 - + No Export Directory Chosen 未选择导出目录 - + No export directory was chosen. Please choose a directory in order to export the music library. 未选择导出目录。请选择一个目录以导出音乐库。 - + A database already exists in the chosen directory. Exported tracks will be added into this database. 所选目录中已存在数据库。导出的轨道将被添加到此数据库中。 - + A database already exists in the chosen directory, but there was a problem loading it. Export is not guaranteed to succeed in this situation. 所选目录中已存在数据库,但加载该数据库时出现问题。在这种情况下,不能保证导出成功。 @@ -17114,7 +17188,7 @@ Mixxx 需要 QT 支持 SQLite。请阅读 Qt SQL 驱动文档以了解相关构 mixxx::EnginePrimeExportJob - + Failed to export track %1 - %2: %3 %1 is the artist %2 is the title and %3 is the original error message @@ -17125,22 +17199,22 @@ Mixxx 需要 QT 支持 SQLite。请阅读 Qt SQL 驱动文档以了解相关构 mixxx::LibraryExporter - + Export Completed 导出已完成 - - Exported %1 track(s) and %2 crate(s). - 导出了 %1 个轨道和 %2 个板条箱。 + + Exported %1 track(s), %2 crate(s), and %3 playlist(s). + - + Export Failed 导出失败 - + Exporting to Engine DJ... 正在导出到 Engine DJ.. diff --git a/res/translations/mixxx_zh_HK.qm b/res/translations/mixxx_zh_HK.qm index 3b59eb730932f76f2744405275cdc2a81e95aba4..028d3619dd3f41f1722d23d147eac9946bb7a729 100644 GIT binary patch delta 23683 zcmX7wbwCtN7{=e3+1=aSyTir?15^y`RxA`jQ9oNyRP4gSz~B^7u`td+R7`9!ume#r zPy_>8v9J}zPW&G3{`y^UJ3I5v8_zq(-&F-KEG@XCbfbVDL{y$A|3A=`SgF@`4tQnf zkG$tKh`ss))+A~;*hX&pw6uqlWkGK|Ye{UO1K0|T13igFN?>a+1Z+cW@e9z4*pdkF zKjNom5b>GB3xyGhHbjl^9ArtjiU=fXJO>;^tPe&dmJ>A@NFbih&sf@q(YgMB={li7Mho*Y3%q1@m$Z4}yvPz@1f`j5qEPRcTDziP>50Gw4rT zZH?)3AhymxRHq!~@eJsKJICWXnD;*6U?n`q!0OD#b6lWq-VEFV=MYQoLDT@B3vk73 zswZlckIYCf=9$f(JH=&(*$dyet>93tw9`vFDe`b6#U`N;D` zzHNwa!+3pXQb|@F1MtNSd$_19R~l z)74caeh_mFTEsY*U)KvnA8!(MJ5S6%#zua$4^ekm$oC^Q^0qL&o=L>dOegX?MMAAj zZ|iEB1o3-<#MezE>DUM28?TUb0R#I{illUj_~6GRUB%~y&mrlyC6{R6Y&^i!v>Hj$ zgQ~yMjvVIC?dV*w^ zLs;QiB-dR-WS(f}i=H;}@xFF`$syUPelGC?zesKzinWu+{uJ+l6j94#$O zB)6@Lw{Mf&9yhW)+(r>x8vH`EBFIJ&98Yq0+*s>HcBbO%`p+Xtc}Mc#1QO4Wkvt@c zSfyPgkDEud=8TPE$~}@NF2@R8CpiN5ned$C$XUcrq>;Qjlq}>FVtc@%Z`sI04wAgq zllVD&U?V2*Sf-7v_fnEK5z((VByW2Lb1>V;OEw{S7aYqeFOv7wC4Mg#Y(;dopN%{X z7fu{R~_{vDx3Xl74 zA1Qej(7qWNs$_uc$T0jm7CN2`lQW2h=O@FO0HQzR$bj+lu~t$aIT3$!%DPx_v=m-X z#&)n?=V&|KlWY{94v{eTg$}~S z$hWD8p#e#Sr;+1mZ({wzsA%1J#1qR<(G@V@KsLCdUFOhtZs-#~aar+ik zt=)^*`WsZ$^EpwufmAJ}7A!+2_wJb3xQ*oA(+iwH?$K~Gp--v$@gNdAyIVgP94$#h zsZKb?dEA@o<^_${<*BZ1XS-7U!FjIW6*YVsMJHJS#)Th)*nr4EEkaj;RykEqcr zK{V+pHHCi@8Sdm&XCv{2jJ#GZC#ljDYU_p#S74i+&WCJdS3lTj;e~^354iIfJKdMt z>6vI}>*scQ$u^2l7V;jvo%rHwKbu8 z@@NvfzgS=DPL_;DdU<Q!>iqxjRk8Oi9HuX==$}A~@n1 zVX651aGH_mM!c1v85bWDo%E-fIaU$}9#fbv7N+Po3LA(8oN|z67e`pSIfrIXZb&@3 zAuaH?#KWD9r3I5q5Pvg(7QHo*=;K0>6XS>#zh-C2zqI^*Hi=qKXw^!%&xnb3-r8^H zlUR!OLcW~vi`I<0L6lsD)^5FoBs-B}B9{|Qyh`i6_7gv>(8hP!L?sH-=Ay9uAu4UQ zq=GxtxTunYPc)AXdjf+c#lJ`uC%q4-a5w zLTT3nO!n~p}} zhRduVi|s-60eAsx^z1twn}fhM^Cca-T?e+W(ea_rh?nGaVmH2MQ4pO$KFSKOrsRgf z#2a3x3q2ZOlfIw}lNw-??xqXb*qlFm)5U3Dhz9+ll&-7c*B4UCI4rSqJxW=L?>||b zQWq^Dwy%0~O5K`FyzyYVHWRzC?sv*?!c+&Ap^QU0BrZ3j+pF&qd(wdJz+mX{TsvQ< z(VY|wz;UUynS+zX7)wv4xucTure}i?h*z5E*>x;E&!Lx%1@R7*>D3Ti=3+5=HQAL| zV;6ec85Pf}Kzcg`6Z+y2y**io_{30pm$!1ud?+U#&O$m!pT_zV`K2Bek zA%OgSLtmez60@rGy_E+xQ9>d5ReUpSa}@nSwnM{8(Vw%~#I&mP*9-UK-j;Gd1;Jq7 z(7!{d<0e}eokte_VmV_$xv<3;#vVN&(c%ab!C2X9Rqd?f!sJR0M8WkLvNxjIFPJ*2 zEb-h|OpA6RanhL?4@uZW(O>c&kO)a*4v!s3OmbyKx+M|oHGw(qO(8bk%!(C_CW$4p z;?>5J_%fZ9h{z^Bv>GeD3Y*M2ojLV{2{o$2}UiHKjU=Po4NrM5G_4%K10X4c#9E=igb3n&Z|Su>yY-RMCgxFzcsm_||& zU)FDz6ISdY>;DL~+}TJLSUr+N&o?YE5;a$L3pU_v7h+fTvO%lx`o^hjsMlxW#UHbw z8*sk`ce7#h!pNUKu4KdRMG~*~f(;*93#R>c7e*%cTY{){~Zjg9fmxas@ARdrpom9Zd^3%+wRX|2?_dE+7 z1Qj5q53~HPfO2Xoo6#kW#M)kLMvN;_WEnQoJ%QMp?`(Fz;v^N_#pad)MLia={~57M zLs{f$52AA>ws=KF7*GkeWb#iEDJ9ub{SqvBC0qIt>k_`1tt?rX_}3w9ElN`ho6gyW zQGH1&_knFJl7;aXWgB;3BIb@^o0nn&%hqDM+hr2_w~FoVhA-&7lIvC>^wf)_3nJ&B!5MwXZ`iCrvknWRD!S<1$AqN=S}O8NwnoW`+~oM>XB zy0c5JHHkcyu**lV6^xr%+Uvy-1QxOMtqq8-&1UI|SBZYNWLN86CYpBBMiKawU2W`6 zYg4&ScjOtw>z*W*H2dyy-%g5eSnq{AC#f;)s3T%QAihK(Fb< zZdE==++#Jnbs!Xb_9DAG%t~zNLv}Z>ylC~D-HRzgY{CcjfMDw5mDtA`-H1vbVISAT zkT}(heaeaM_fg!nR|}%C zw|IrUk&qmwKHwFO;e~P2copByM1O;9WQ&MbNk;&WU&X7M5KXerbN63a*b6Q;iv4AH z^>c_Oft`7c6YyEHLwK!P9f^Mo;I&`YL2C1a*GtsIN+79DT_r(3+$BghOajC-EOifY|?>jIlm-$d{>HSm7Fmb`7)O%ku` z@^;-~;r^%FD29ddc6Tw+X(8M<5*dTV$~#q#B+4ydBQLvycbcaWORL5In`b4ec${}$ ziO*#lc(>seK`j0*?-`XwTpGxGuIU03%jA7K;ScVP;C(m4l)@|U{_SpHSI6^#JCHf_ z{f`g)mq4OuKRzfGOE9$tAL^Gt^x!-nnuDb8{W?Bu@mylRv-t3=?<6Lc19M4K)%b{_ zFuArld`#dC%;+LM#ZvPfbi6}+`r%uMqzAdBHa?ILXrtI(kkS2fT+gve0Yhw7emB}P- z{N~#yAz3sWwX@Jp8yoY|mN(`{@-92M7(X&L&o$KNN86M|)a=iXrXU)*SK`OZ zAh+GSiyuFT^?Ux5pYYyGlC1F)$Ic_#I`UJ_SjTM#ctVxgBuYHz3AeD`6_)YSM|zPM z?PzD#DxUZUJH65jex?>IdU%6o{LI0hL}_*TdDl%u^<(+@#1%xZ%kc9zU|6o<{9>#J zF=aSU`PBsp$Q6DmaRTux!93Lo>pEx)Pi;4!xJ#0qHEZzHuLnq!7W~S5Sa!`7{8~tP zV#CT!S9xw+58@7FN-buviiV*W~ zJvCiOdE>pQ3;F5Gd?ld?NrOechcKZ1Yed1A4#cxd zi=weXB)PT~B}*ccmoAHv8~YRg^Gdjss7>sKx2RAX11()&xD5{~MQrZ?QTZh-XT%^; z<(x!3w56!p8o_FRpfz6!C;mLpTD^p$C1a>)^!FZI_#)ACxC4nN&Z3zsJnqFCqFE;H zujdBQBKrukKTpw$AsGpq3WgG&wODwzhds(=gy*`0MEe{?>qmo#_N&5YEE4c*--J)Z zdQ{_~!e=4OZoiN4xwQ=IA1FE`cf{+DMF+SC3%zg^9lKkJwf$!2f0aeI72ZU%hl}n7 zB8k^nB)V6Lho<>f^ceCFy24%2Gp~)XZlUlGzKsOCsPNwjdmXk%^r={fBx9fmI0C!g zaaQzgUy#JuZDPPSEO6_wV&IAuc)y$&>=Fl0eMk%*Qxw5$))_IR6DP4`qZqc26KmpT z?NQRn@~4`ZK$GAwqs4@71Bw6GA|~XGD}1Ys?A=c>c~%;U5B0_5@bbhT92e70&LXz? zqnO?gNyL<;V)_CY)N4OsS(BHh)f1M)1QMrz3(LzG65Y0l8Bz|hQv=0}VsOmC=fsTM z5M)=Q#Vp*Pg{?a)W(6ZD@Tn}qCj`K;g^JlP;6Mir5p#~fb6AgxxkFu05%Q8gt^R*H&ONU~%{*4z; z%7j@+H1!ovpFx4@ohzPi^Tcf@h*y)~6V~4qubuIF`XllBg9nLK<;9ymaWE-GWK$aC z+%4i`ORVh7?c&qWAfo$bJ2S6}Pq(nLL7Mo|(HX6^isH)wtkA%4@pV*JbOR=f+{zeG z;u`Vqhy|JQsBlSkb4SUtLNa*AL*|W|ZFAQi1N1WV{FmDqTWgi`^jWX&!} zul`CU7a^VMS66Zxyf%TDzD07bIgmuB!%|&wS=Ro3UL8v5_40kH3Ady>wr}Mp%aPjsZzs+LB!;lQo{~sF@ArkaY#1t`s1XgUDHU^el4}g zh6}uZQ)+YYFB&~LQhR6kgcj4K4*A-Xh&>{8nvMR4!#e4|S6Gk+lGJUU2Vz?zse8dt zSkxG)`+!Vh&zDF&t%cyMd|pbu1_qE+@_^JQCzP1yUn$`IPxROnX>hAZBtdS{;7~aI z@WRsI-CvH@_iGyxxo0q&L!}efYyY zJ*COxE)t)oOH=j*5Zy|)^Ny!9t>`tl;Yi6+DgtT9U@5HO7KFiHQn&-W*3D#T&XQTg zr@ynVFM|fhZE4;e*=FT{qYs zh(B>QN@YJwtApUZ%bt>=vmtDGG?do*oy8YCme%&|4CSqdwDtt{{*ocm+LIHAwwi4e zbJ|Pm3px<(E-r02xSYhNI?~3;aVXwrNE;IoMK4d1wuGQSSXfnxork1uaIO@)doBt9 z_es*$dRC|pucYns;WStsJD(o3k>}_(irf%s`xjX5rr*-eFO!I$b(3~QK0v1;9ehIK z-gOXp!F>&U1~vh+!13Sq`X}4t;)@IQiY0r``#HN|0xByhi5ig|!WBL>M_mtvW+(aVt!$xs* zuN0rylf<)z(&4snyYHQ(!^zo@&KgQbP3SWZyDA;ulSwpZh>aramUKc##!$bNbZRw3 z)!mz=Q}LCs1iPigSsjQ!Y#>>Zd&EFAjg^u^T#3HVmCkKQfB^GFy2$Z|C9X&pi(teR zGNhDY1<)Evl~Pvvq1Dktx`Yf#)NL(YPCQG(<*JmP*R`CLWusK?m~^!fyu{`L(sk=N zMD)ti&EB}6n?<_W2YY2kW9ilm27LG;AK&NoY?m!I-%WsCH7 z$86%QN7~sY(oV1A(z}f1NYO3+()+DQrjCA+K5lR)_Ap(_u>>Hne3Wu7Bj;HcCFMMg zB$nG<`cw;da9c>9USesyBBalTJmyMY!-7ftLfd)gArc*XO5fY2k!bis`mvxiF6?S& zo3?g(jgfvJ)QYmrrQh9#ldxExNx9u;BZ*oj`H_sW_p*&*SQ%NV7DLQ$jI7BHIM~8vW4Wp%dQFgx z?O{t#cFAVKOg5h@7syJ0-0J&6E*SC|Mb-uzd7syE(N)-n2anq*Ry)Wg^R%JLo^mOt z83;5*OM!Dh+8e7v{9eqyKkn1hq zh%#%d+@Mq<4o^7A4g9Bpo^rz>__IM3<;Kk`l3+9C#z%?~FVRwNISJHZ&3572b6u?+D>zy%zn7bT^unH8CAY|*PQ1UX+~Q#dbeGPu z=O3(7sYP;|*_DY`Fvx9^+(~qemc1$?^{dNe@7-^R=Xl8NZZyYDnB{hl@pr}V$?gBE z3padU?l_GR`*>9DJS72Ma-5A~&UU$5T3MXpXef8LPQ&yc$uIW`2t^KAPWEeuIQIU6 z?6(Wfqw9CM_fm;?6L+~!zdGpGPmuey-VH%VmHTtkw}VJc3(MY9`^VNKY5H7)??K~>)wh^7VmNL zaBjlCwOw#7)HcD)L;bJ4C0Z zazwj6L_bH#5&OJ|iafMY()!2?qEHRJbe0#Q`^o|<$qQ?=L+zC!FRa%OD$O-{Ve>gi z9NOSPn{!0@@J1eACELi_&9ZavUmGR;ySxx5IVc~V=kZmJjcj&ndEtm~3}A(gBK()U z@FZ?1r>DFy6?S{2t&RMwRbKcU8QsV8^5XqaP5gJtR<#3iR4Ol9eRGK?O_8lzzL0od zS6)6fiP(oa@`|?jqQ%YR6(eA{-iPE>4yZCdtMaNd2Z+XhwowGc$x&g`p(am}qjn)z zEz;7?^5tyg`wPmee_>x)M$Rw#4m!tc867{VvM=!AiBiC##uZf64JS%KxyQ4OW zoH_E^j^)tW`X#RooJkbN<+TxeVZ$%vbuDp0AH@KO+vG!;uBe*|+bH%ek`I^rhg`3meE9w_D07YF!=Lef z#tQl9l=6`0E86+VQ9f!-!Z*GAED zqTPGWIy<-5D#Hrl_lGi#B2_nL-i@KU~)Q4YtS zoa6^BJV?a9mLCSjk+`)`ejIiK9fODR<9UU^lJeujSh^P0HdXQ!+z~53GjL-5sd83) z0RF%JlBMVqjP|g+MBr4`u)2lf8ge+EQ$v~nB^A#3=0J5dA!Y?Bq^R1|e zO|NnC$VU-7;L-Z2ikys5oVl(T@|qQQWX14u9*VrWigxQciL>$6>Qx+0&FF_u`1(l@#YKh|tCarR-ch z-?Tz0pM|@uUqErmi%X63+sK{LY!u(STK86Uv<&N{xR!`VI^J4w-S7db;YX!{?c?oi z9A9d0XPHMf^0HIxtp3YJ@p+JSeKp5&i%Tl)>l)DOJEpYX<$zXC zjEy4rp5l8CWy{-B*4x#bEFayK9^WRRYrIDBd*J|WB%k8XiVz>*sQ53lLXGdL^nSS% zw>eV@m;#G0F<%Kd@Rn%$d8O}OEMBFacGl)f|ENqfc-|_3H9d(p^Hu_Jw2@}+R|13Z z`nS`{fT43qJZ-8B9FA}nw^$ieyEr5SQ;;%vZ*7P*rIn%W6G-&Estj8cfVy;xGCUH_ zX0fL-{ICH|r;0LSb{7%{LX?p;R})*BtBgE@3weA~Mx`G^A0k#6duJbsJ>km4_AQ8F z+9{Lr)~9m1GU+p{>*EF`WC2bhCbdzfDuU>aq)b(xxgfE6p-fwRjKtrqily`)9C^5? zSQc=idd-v>zXORq9%9W`-O&=ZPnkOn&h+jrC1NOi&DZ-%L>S(7D51=M;z8ndh_XP& z#I!D{EV$eOiK3z`%t00M_^Ps~Q7h~{H)ZkSRuChL*qL=&vF>ytQEZyBd~PO*+0T^~ zrfd|(jg=K%SOCYXN>o92qOLQPsP|Coq*4LOYCQyT$DqXIgF;ZZwX(iWI8oR*WxYS_ zquvx{Q;#=L{cqdI`*c$_9YSt>bg8nf(@Mngddl_^xg>V$i3i6V`a-6^r?tQnO(CHO!Rk+YONcelgWbXWEbfF4}tt8$>OJBbyi zm3Tu3Vl$GI_?OSoeNI-6jdZ{l{8mmBz!w#+rkwD$65roQInfW1Irg=Zm>)YqG*c1_ z93on`UP&^^Xk87oF0SFk+fTCYt>Nfb!=$9%Lf2o-QPT2Ch4O!tw2$!p?IV?|4Pa0W z2P#)L;9Q4Tqg-!a7CJ?|a(zxV=94Kmd~4%eS^?$OwJ_rQ7Av=ZVH;g}qud+p1H=4k zb*|}XasHz`TMdV6eX2Z*2A5fs=clI-_gkdA*c(dX&3NTiz%}AOla*Jw-Z;%5E3a{Q zf~)(L*FG^Qx7#bPN2S3!HY;z#2coyJSb2LA!`PawyiG<-Y*$cudq0h6Op@}x#51%7 zzbn~68Cd>!CHs{JMDw;qln=KtJHAD%r)xS^p8inz`4Uf$rzyY9=n0G|s{EdY;`B{* z<##CfYP9lqUmS_(*4BSD9rZ$`4ayQ&&A||>b1g^9`-uhvbI+p%aGcHwIxmQ|-)J zYpDKt5VV%nhI)E3(Yf!2`rZN9vy!2~8qCJFga@doepxg_>?GIaDygoJa{Mp3%Cp_8JLROq3hb7|aOrNV~J7L=it zTn$}Egb@3((9rb;?q*cDq1%OXM6)Y`&mlw)F!XSQl92n(&~r14plqa}*N-e>Yq}c( zpfZYWGY$Q$2hf6SZRlS≪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 delta 24180 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 diff --git a/res/translations/mixxx_zh_HK.ts b/res/translations/mixxx_zh_HK.ts index 4a7cafd49a05..3e6afe942954 100644 --- a/res/translations/mixxx_zh_HK.ts +++ b/res/translations/mixxx_zh_HK.ts @@ -153,7 +153,7 @@ BasePlaylistFeature - + New Playlist 新的播放清單 @@ -165,7 +165,7 @@ - + Create New Playlist 建立新的播放清單 @@ -197,117 +197,124 @@ 複製 - - + + Import Playlist 輸入播放清單 - + Export Track Files 輸出音檔 - + Analyze entire Playlist 分析整個播放清單 - + Enter new name for playlist: 为播放列表设置新的名称: - + Duplicate Playlist 重複播放清單 - - + + Enter name for new playlist: 輸入新播放清單名稱︰ - - + + Export Playlist 匯出播放清單 - + Add to Auto DJ Queue (replace) 加入自動 DJ 柱列 (取代) - + + + Export to Engine DJ + "Engine DJ" is a product name and must not be translated. + + + + Rename Playlist 重命名播放列表 - - + + Renaming Playlist Failed 重新命名播放清單失敗 - - - + + + A playlist by that name already exists. 使用该名称的播放列表已存在。 - - - + + + A playlist cannot have a blank name. 播放清單名稱不能為空白。 - + _copy //: Appendix to default name when duplicating a playlist _複製 - - - - - - + + + + + + Playlist Creation Failed 播放清單創建失敗 - - + + An unknown error occurred while creating playlist: 建立播放清單時發生未知的錯誤︰ - + Confirm Deletion 确认删除 - + Do you really want to delete playlist <b>%1</b>? 您真的要删除播放列表%1? - + M3U Playlist (*.m3u) M3U 播放清單 (*.m3u) - + M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Text CSV (*.csv);;Readable Text (*.txt) M3U 播放清單 (*.m3u);M3U8 播放清單 (*.m3u8);PLS播放清單 (*.pls);文字 CSV (*.csv);;可讀的文本 (*.txt) @@ -315,12 +322,12 @@ BaseSqlTableModel - + # # - + Timestamp 时间标记 @@ -328,7 +335,7 @@ BaseTrackPlayerImpl - + Couldn't load track. 無法載入音軌 @@ -336,142 +343,142 @@ BaseTrackTableModel - + Album 专辑 - + Album Artist 专辑艺术家 - + Artist 歌手 - + Bitrate 位元速率 - + BPM BPM - + Channels 電視頻道 - + Color 颜色 - + Comment 备注 - + Composer 作曲家 - + Cover Art 封面 - + Date Added 加入日期 - + Last Played 最后播放 - + Duration 持續時間 - + Type 类型 - + Genre 體裁 - + Grouping 分组 - + Key 關鍵 - + Location 地點 - + Overview - + Preview 預覽 - + Rating 评分 - + ReplayGain 播放音量增益 - + Samplerate 采样率 - + Played 已播放 - + Title 標題 - + Track # 軌道 # - + Year 年份 - + Fetching image ... Tooltip text on the cover art column shown when the cover is read from disk 獲取圖片中... @@ -620,6 +627,16 @@ "Computer" lets you navigate, view, and load tracks from folders on your hard disk and external devices. “我的电脑”可以让您从您的硬盘及外置设备中浏览、查看、载入音轨 + + + It shows the data from the file tags, not track data from your Mixxx library like other track views. + + + + + If you load a track file from here, it will be added to your library. + + BrowseTableModel @@ -2456,12 +2473,12 @@ trace - Above + Profiling messages Tempo Tap - + 节奏敲击 Tempo tap button - + 节奏敲击按钮 @@ -3645,32 +3662,32 @@ trace - Above + Profiling messages ControllerScriptEngineBase - + The functionality provided by this controller mapping will be disabled until the issue has been resolved. 在問題解決之前,此控制器映射提供的功能將被禁用。 - + You can ignore this error for this session but you may experience erratic behavior. 您可以在此會話中忽略此錯誤,但可能會出現不穩定的行為。 - + Try to recover by resetting your controller. 嘗試恢復通過重置您的控制器。 - + Controller Mapping Error 控制器映射錯誤 - + The mapping for your controller "%1" is not working properly. 控制器“%1”的映射工作不正常。 - + The script code needs to be fixed. 脚本代码需要被修复。 @@ -3781,7 +3798,7 @@ trace - Above + Profiling messages 匯入箱 - + Export Crate 导出分类列表 @@ -3791,7 +3808,7 @@ trace - Above + Profiling messages 解鎖 - + An unknown error occurred while creating crate: 創建音樂箱時發生未知的錯誤︰ @@ -3817,17 +3834,17 @@ trace - Above + Profiling messages 重命名分类列表失败 - + Crate Creation Failed 建立音樂箱失敗 - + M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Text CSV (*.csv);;Readable Text (*.txt) M3U 播放清單 (*.m3u);M3U8 播放清單 (*.m3u8);PLS播放清單 (*.pls);文字 CSV (*.csv);;可讀的文本 (*.txt) - + M3U Playlist (*.m3u) M3U 播放清單 (*.m3u) @@ -3953,12 +3970,12 @@ trace - Above + Profiling messages 過去的貢獻者 - + Official Website 官方网站 - + Donate 捐献 @@ -4014,7 +4031,7 @@ trace - Above + Profiling messages - + Analyze 分析 @@ -4059,17 +4076,17 @@ trace - Above + Profiling messages 在選定的曲目上運行節拍、音調和增益檢測。選定的曲目不會生成波形,以節省磁碟空間。 - + Stop Analysis 停止分析 - + Analyzing %1% %2/%3 分析 %1% %2/%3 - + Analyzing %1/%2 分析 %1/%2 @@ -4486,37 +4503,37 @@ Often results in higher quality beatgrids, but will not do well on tracks that h 若映射不正确,请尝试启用下方的高级选项,然后重试。或者点击“重试”来重新检测 midi 控制器。 - + Didn't get any midi messages. Please try again. 未收到 midi 消息。请重试。 - + Unable to detect a mapping -- please try again. Be sure to only touch one control at once. 无法检测映射 - 请重试。请确保每次只操作一个控制器。 - + Successfully mapped control: 成功映射控制器: - + <i>Ready to learn %1</i> <i>现在可以学习 %1</i> - + Learning: %1. Now move a control on your controller. 正在学习:%1。现在请对控制器进行操作。 - + The selected control does not exist.<br>This likely a bug. Please report it on the Mixxx bug tracker.<br><a href='https://github.com/mixxxdj/mixxx/issues'>https://github.com/mixxxdj/mixxx/issues</a><br><br>You tried to learn: %1,%2 - + The control you clicked in Mixxx is not learnable. This could be because you are either using an old skin and this control is no longer supported, or you clicked a control that provides visual feedback and can only be mapped to outputs like LEDs via scripts. @@ -5219,114 +5236,114 @@ associated with each key. DlgPrefController - + Apply device settings? 應用設備設置嗎? - + Your settings must be applied before starting the learning wizard. Apply settings and continue? 開始學習嚮導前,必須應用您的設置。 應用設置並繼續? - + None - + %1 by %2 %2 %1 - + Mapping has been edited 映射已编辑 - + Always overwrite during this session 在此会话期间始终覆盖 - + Save As 另存为 - + Overwrite 覆盖 - + Save user mapping 保存用户映射 - + Enter the name for saving the mapping to the user folder. 输入用于将映射保存到用户文件夹的名称。 - + Saving mapping failed 保存映射失败 - + A mapping cannot have a blank name and may not contain special characters. 映射不能具有空白名称,并且不能包含特殊字符。 - + A mapping file with that name already exists. 具有该名称的映射文件已存在。 - + Do you want to save the changes? 是否要保存更改? - + Troubleshooting 疑難排解 - + <font color='#BB0000'><b>If you use this mapping your controller may not work correctly. Please select another mapping or disable the controller.</b></font><br><br>This mapping was designed for a newer Mixxx Controller Engine and cannot be used on your current Mixxx installation.<br>Your Mixxx installation has Controller Engine version %1. This mapping requires a Controller Engine version >= %2.<br><br>For more information visit the wiki page on <a href='https://mixxx.org/wiki/doku.php/controller_engine_versions'>Controller Engine Versions</a>. 如果使用此映射,则控制器可能无法正常工作。请选择其他映射或禁用控制器。此映射专为较新的 Mixxx 控制器引擎而设计,不能用于您当前的 Mixxx 安装。您的 Mixxx 安装的 Controller Engine 版本为 %1。此映射需要 Controller Engine 版本 >= %2。有关更多信息,请访问有关 Controller Engine 版本的 wiki 页面。 - + Mapping already exists. 映射已存在。 - + <b>%1</b> already exists in user mapping folder.<br>Overwrite or save with a new name? <b>%1</b>已存在于用户映射文件夹中.<br>覆盖还是用新名称保存? - + Clear Input Mappings 清除输入映射 - + Are you sure you want to clear all input mappings? 你確定你想要清除所有輸入的映射? - + Clear Output Mappings 清除輸出映射 - + Are you sure you want to clear all output mappings? 你確定你想要清除所有輸出映射? @@ -5658,6 +5675,16 @@ Apply settings and continue? Multi-Sampling 多重采样 + + + Force 3D acceleration + + + + + If checked, Mixxx will always assume 3D acceleration is available. This may lead to pour performance if only CP-backed rendering is available.. + + Start in full-screen mode @@ -6266,62 +6293,62 @@ You can always drag-and-drop tracks on screen to clone a deck. DlgPrefInterface - + The minimum size of the selected skin is bigger than your screen resolution. 所選的外觀的最小大小大於您的螢幕解析度。 - + Allow screensaver to run 允许屏幕保护程序运行 - + Prevent screensaver from running 防止屏幕保护程序运行 - + Prevent screensaver while playing 播放时防止屏幕保护程序运行 - + Disabled 禁用 - + 2x MSAA 2倍采样抗锯齿 - + 4x MSAA 4倍采样抗锯齿 - + 8x MSAA 8倍采样抗锯齿 - + 16x MSAA 16倍采样抗锯齿 - + This skin does not support color schemes 這種皮膚不支援色彩配置 - + Information 資訊 - + Mixxx must be restarted before the new locale, scaling or multi-sampling settings will take effect. 在新的区域设置、缩放或多重采样设置生效之前,必须重新启动Mixxx。 @@ -7259,7 +7286,7 @@ and allows you to pitch adjust them for harmonic mixing. All settings take effect on next track load. Currently loaded tracks are not affected. For an explanation of these settings, see the %1 - + 所有设置都会在下一次轨道加载时生效。当前加载的轨迹不受影响。有关这些设置的说明,请参阅 %1 @@ -7498,173 +7525,172 @@ The loudness target is approximate and assumes track pregain and main output lev DlgPrefSound - + %1 Hz %1 赫兹 - + Default (long delay) 默认(长延时) - + Experimental (no delay) 试验(无延时) - + Disabled (short delay) 禁用 (短延時) - + Soundcard Clock 声卡时钟 - + Network Clock 网络时钟 - + Direct monitor (recording and broadcasting only) 直接监视器(仅限录制和广播) - + Disabled 已禁用 - + Enabled 啟用 - + Stereo 立体声 - + Mono 單聲道 - + To enable Realtime scheduling (currently disabled), see the %1. 要启用实时计划(当前已禁用),请参阅 %1。 - + The %1 lists sound cards and controllers you may want to consider for using Mixxx. %1 列出了您可能需要考虑使用 Mixxx 的声卡和控制器。 - + Mixxx DJ Hardware Guide Mixxx DJ 硬件指南 - + Information - + Mixxx must be restarted before the multi-threaded RubberBand setting change will take effect. - + auto (<= 1024 frames/period) 自动(<= 1024 帧/周期) - + 2048 frames/period 2048 帧/周期 - + 4096 frames/period 4096 帧/周期 - + Are you sure? - + Distribute stereo channels into mono channels for parallel processing will result in a loss of mono compatibility and a diffuse stereo image. It is not recommended during broadcasting or recording. - + Are you sure you wish to proceed? - + No - + Yes, I know what I am doing - + Microphone inputs are out of time in the record & broadcast signal compared to what you hear. 与您听到的相比,麦克风输入在录音和广播信号中显得不合时宜。 - + Measure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. 测量往返延迟,并在上方输入麦克风延迟补偿以对齐麦克风计时。 - - + Refer to the Mixxx User Manual for details. 細節請參考Mixxx 使用者操作手冊 - + Configured latency has changed. 配置的延迟已更改。 - + Remeasure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. 重新测量往返延迟,并将其输入到麦克风延迟补偿上方,以调整麦克风定时。 - + Realtime scheduling is enabled. 已启用实时调度。 - + Main output only 仅主输出 - + Main and booth outputs 主输出和展位输出 - + %1 ms %1 ms - + Configuration error 配置錯誤 @@ -7682,131 +7708,131 @@ The loudness target is approximate and assumes track pregain and main output lev 聲音 API - + Sample Rate 采样率 - + Audio Buffer 音频缓冲 - + Engine Clock 引擎时钟 - + Use soundcard clock for live audience setups and lowest latency.<br>Use network clock for broadcasting without a live audience. 使用声卡时钟进行现场观众设置和最低延迟。1使用网络时钟进行没有现场观众的广播。 - + Main Mix 主混合 - + Main Output Mode 主输出模式 - + Microphone Monitor Mode 麦克风监听模式 - + Microphone Latency Compensation 麦克风延迟补偿 - - - - + + + + ms milliseconds 女士 - + 20 ms 為 20 毫秒 - + Buffer Underflow Count 緩衝區下溢計數 - + 0 0 - + Keylock/Pitch-Bending Engine 键盘锁 / 滑音引擎 - + Multi-Soundcard Synchronization 多音效卡同步 - + Output 輸出 - + Input 輸入 - + System Reported Latency 系統報告延遲 - + Enlarge your audio buffer if the underflow counter is increasing or you hear pops during playback. 若下溢计数持续增加,或者您听到“啪啪”声,请增大您的音频缓冲区。 - + Main Output Delay 主输出延迟 - + Headphone Output Delay 耳机输出延迟 - + Booth Output Delay Booth输出延迟 - + Dual-threaded Stereo - + Hints and Diagnostics 提示和診斷 - + Downsize your audio buffer to improve Mixxx's responsiveness. 若需提升 Mixxx 的响应速度,请降低您的音频缓冲区大小。 - + Query Devices 查詢設備 @@ -9366,27 +9392,27 @@ Often results in higher quality beatgrids, but will not do well on tracks that h EngineBuffer - + Soundtouch (faster) Soundtouch (更快) - + Rubberband (better) 橡皮條 (更好) - + Rubberband R3 (near-hi-fi quality) 接近高保真质量 - + Unknown, using Rubberband (better) 未知,使用更好 - + Unknown, using Soundtouch 未知,使用 Soundtouch @@ -9601,15 +9627,15 @@ Often results in higher quality beatgrids, but will not do well on tracks that h LegacySkinParser - - + + Safe Mode Enabled Shown when Mixxx is running in safe mode. 已启用安全模式 - - + + No OpenGL support. Shown when Spinny can not be displayed. Please keep @@ -9621,57 +9647,57 @@ Shown when VuMeter can not be displayed. Please keep 支持。 - + activate 启用 - + toggle 切換 - + right - + left - + right small 右小 - + left small 左小 - + up 向上 - + down - + up small 小了 - + down small 下小 - + Shortcut 快捷方式 @@ -9679,37 +9705,37 @@ Shown when VuMeter can not be displayed. Please keep Library - + This or a parent directory is already in your library. 此目录或父目录已位于您的库中。 - + This or a listed directory does not exist or is inaccessible. Aborting the operation to avoid library inconsistencies 此目录或列出的目录不存在或无法访问。 中止操作以避免库不一致 - - + + This directory can not be read. 无法读取此目录。 - + An unknown error occurred. Aborting the operation to avoid library inconsistencies 发生未知错误。 中止操作以避免库不一致 - + Can't add Directory to Library 无法将目录添加到库 - + Could not add <b>%1</b> to your library. %2 @@ -9718,27 +9744,27 @@ Aborting the operation to avoid library inconsistencies %2 - + Can't remove Directory from Library 无法从库中删除目录 - + An unknown error occurred. 发生未知错误。 - + This directory does not exist or is inaccessible. 此目录不存在或无法访问。 - + Relink Directory 重新链接目录 - + Could not relink <b>%1</b> to <b>%2</b>. %3 @@ -9750,23 +9776,23 @@ Aborting the operation to avoid library inconsistencies LibraryFeature - + Import Playlist 輸入播放清單 - + Playlist Files (*.m3u *.m3u8 *.pls *.csv) 播放清單檔 (*.m3u *.m3u8 *.pls *.csv) - + Overwrite File? 覆盖文件? - + A playlist file with the name "%1" already exists. The default "m3u" extension was added because none was specified. @@ -9917,251 +9943,251 @@ Do you really want to overwrite it? MixxxMainWindow - + Sound Device Busy 声音设备正忙 - + <b>Retry</b> after closing the other application or reconnecting a sound device 關閉其他應用程式或重新連接聲音設備後 <b>重試</b> - - - + + + <b>Reconfigure</b> Mixxx's sound device settings. <b>重新配置</b> Mixxx 声音设备。 - - + + Get <b>Help</b> from the Mixxx Wiki. 从 Mixxx Wiki 中获取<b>帮助</b>。 - - - + + + <b>Exit</b> Mixxx. <b>退出</b> Mixxx。 - + Retry 重试 - + skin 皮肤 - + Allow Mixxx to hide the menu bar? 允许 Mixxx 隐藏菜单栏? - + Hide Always show the menu bar? 隐藏 - + Always show 始终显示 - + The Mixxx menu bar is hidden and can be toggled with a single press of the <b>Alt</b> key.<br><br>Click <b>%1</b> to agree.<br><br>Click <b>%2</b> to disable that, for example if you don't use Mixxx with a keyboard.<br><br>You can change this setting any time in Preferences -> Interface.<br> Keep formatting tags <b> (bold text) and <br> (linebreak). %1 is the placeholder for the 'Always show' button label Mixxx 菜单栏是隐藏的,只需按一下<b>Alt 键</b>钥匙。<br><br>点击<b>%1</b>同意。<br><br>点击<b>%2</b>以禁用它,例如,如果您不将 Mixxx 与键盘一起使用。<br><br>您可以随时在 Preferences -> Interface 中更改此设置。<br> - + Ask me again 再问我一次 - - + + Reconfigure 重新配置 - + Help 帮助 - - + + Exit 退出 - - + + Mixxx was unable to open all the configured sound devices. Mixxx 无法打开所有要打开的音频设备 - + Sound Device Error 音频设备错误 - + <b>Retry</b> after fixing an issue 修正错误后 <b> 重试 </b> - + No Output Devices 没有输出设备 - + Mixxx was configured without any output sound devices. Audio processing will be disabled without a configured output device. Mixxx 的配置中没有任何输出设备,将会禁用音频处理操作。 - + <b>Continue</b> without any outputs. <b>繼續</b> 沒有任何產出。 - + Continue 继续 - + Load track to Deck %1 加载音轨到碟机 %1 - + Deck %1 is currently playing a track. 甲板 %1 當前播放的曲目。 - + Are you sure you want to load a new track? 你確定你想要載入一個新的軌道? - + There is no input device selected for this vinyl control. Please select an input device in the sound hardware preferences first. 尚未选择用于唱盘控制的输入设备。 请在声音硬件的首选项中选择一个输入设备。 - + There is no input device selected for this passthrough control. Please select an input device in the sound hardware preferences first. 有是沒有為此直通控制項選擇的輸入的設備。 請先在聲音硬體首選項中選擇一種輸入的設備。 - + There is no input device selected for this microphone. Do you want to select an input device? 没有为此麦克风选择输入设备。是否要选择输入设备? - + There is no input device selected for this auxiliary. Do you want to select an input device? 没有为此辅助设备选择输入设备。是否要选择输入设备? - + Scan took %1 - + No changes detected. - - + + %1 tracks in total - + %1 new tracks found - + %1 moved tracks detected - + %1 tracks are missing (%2 total) - + %1 tracks have been rediscovered - + Library scan finished - + Error in skin file 皮膚檔中的錯誤 - + The selected skin cannot be loaded. 無法載入所選的外觀。 - + OpenGL Direct Rendering OpenGL 直接繪製 - + Direct rendering is not enabled on your machine.<br><br>This means that the waveform displays will be very<br><b>slow and may tax your CPU heavily</b>. Either update your<br>configuration to enable direct rendering, or disable<br>the waveform displays in the Mixxx preferences by selecting<br>"Empty" as the waveform display in the 'Interface' section. 您的计算机上未启用直接渲染。<br><br>这意味着波形显示将非常<br><b>速度慢,并且可能会严重占用您的 CPU</b>.要么更新您的<br>配置以启用直接渲染或禁用<br>波形将通过选择 Mixxx 首选项显示在<br>“空”作为“界面”部分的波形显示。 - - - + + + Confirm Exit 确认退出 - + A deck is currently playing. Exit Mixxx? 有唱机正在播放。确定退出 Mixxx 吗? - + A sampler is currently playing. Exit Mixxx? 當前現正播放採樣器。退出 Mixxx 嗎? - + The preferences window is still open. 首選項視窗是仍處於打開狀態。 - + Discard any changes and exit Mixxx? 放棄所有更改並退出 Mixxx? @@ -10177,14 +10203,14 @@ Do you want to select an input device? PlaylistFeature - + Lock - - + + Playlists 播放列表 @@ -10194,32 +10220,58 @@ Do you want to select an input device? 随机播放播放列表 - + + Unlock all playlists + + + + + Delete all unlocked playlists + + + + Unlock 解鎖 - + + + Confirm Deletion + + + + + Do you really want to delete all unlocked playlists? + + + + + Deleting %1 unlocked playlists.<br>This operation can not be undone! + + + + Playlists are ordered lists of tracks that allow you to plan your DJ sets. 播放列表是有序的曲目列表,允许您规划 DJ 集。 - + It may be necessary to skip some tracks in your prepared playlist or add some different tracks in order to maintain the energy of your audience. 可能需要跳过您准备好的播放列表中的一些曲目或添加一些不同的曲目,以保持观众的活力。 - + Some DJs construct playlists before they perform live, but others prefer to build them on-the-fly. 一些DJ在他们表演之前创建播放列表,但其他人更倾向于即兴表演。 - + When using a playlist during a live DJ set, remember to always pay close attention to how your audience reacts to the music you've chosen to play. 在在线 Dj 集中使用播放列表时,请时刻注意您的听众对所选音乐的反应。 - + Create New Playlist 建立新的播放清單 @@ -11859,7 +11911,7 @@ Hint: compensates "chipmunk" or "growling" voices Soft Clipping - + Soft Clipping @@ -11878,7 +11930,7 @@ Hint: compensates "chipmunk" or "growling" voices 应用于音频信号的放大量。在更高的级别上,音频将更加分散。 - + Passthrough 直通 @@ -12048,12 +12100,12 @@ may introduce a 'pumping' effect and/or distortion. 各种 - + built-in - + missing @@ -12181,54 +12233,54 @@ may introduce a 'pumping' effect and/or distortion. RekordboxFeature - - - + + + Rekordbox Rekordbox - + Playlists 播放列表 - + Folders 文件夹 - + Reads databases exported for Pioneer CDJ / XDJ players using the Rekordbox Export mode.<br/>Rekordbox can only export to USB or SD devices with a FAT or HFS file system.<br/>Mixxx can read a database from any device that contains the database folders (<tt>PIONEER</tt> and <tt>Contents</tt>).<br/>Not supported are Rekordbox databases that have been moved to an external device via<br/><i>Preferences > Advanced > Database management</i>.<br/><br/>The following data is read: 读取使用 Rekordbox 导出模式为 Pioneer CDJ/XDJ 播放器导出的数据库。1Rekordbox 只能导出到具有 FAT 或 HFS 文件系统的 USB 或 SD 设备。2Mixxx 可以从包含数据库文件夹 (3先锋3和4内容4).5不支持已通过67高级>数据库管理>首选项7.89读取以下数据: - + Hot cues - + Hot cues - + Loops (only the first loop is currently usable in Mixxx) Loops(目前只有第一个 Loop 在 Mixxx 中可用) - + Check for attached Rekordbox USB / SD devices (refresh) 检查连接的 Rekordbox USB/SD 设备(刷新) - + Beatgrids 节拍网格 - + Memory cues 记忆线索 - + (loading) Rekordbox (加载中)Rekordbox @@ -15155,7 +15207,7 @@ Use this to change only the effected (wet) signal with EQ and filter effects. Beatloop - + 节拍循环 @@ -15474,47 +15526,47 @@ This can not be undone! WCueMenuPopup - + Cue number 提示编号 - + Cue position 提示位置 - + Edit cue label Edit cue label(编辑提示标签) - + Label... 标签 - + Delete this cue 删除此提示 - + Toggle this cue type between normal cue and saved loop 在正常提示点和保存的 Loop 之间切换此提示类型 - + Left-click: Use the old size or the current beatloop size as the loop size 左键单击:使用旧大小或当前 Beatloop 大小作为 Loop 大小 - + Right-click: Use the current play position as loop end if it is after the cue 右键点击:如果当前播放位置在 cue 之后,则将其用作 Loop 结束 - + Hotcue #%1 热提示 #%1 @@ -15639,323 +15691,353 @@ This can not be undone! + Search in Current View... + + + + + Search for tracks in the current library view + + + + + Ctrl+f + + + + + Search in Tracks Library... + + + + + Search in the internal track collection under "Tracks" in the library + + + + + Ctrl+Shift+F + + + + Create &New Playlist 創建與新的播放清單 - + Create a new playlist 新建播放列表 - + Ctrl+n Ctrl n + - + Create New &Crate 創建新 & 箱 - + Create a new crate 創建一個新的箱子 - + Ctrl+Shift+N Ctrl + Shift + N - - + + &View 查看(&V) - + Auto-hide menu bar 自动隐藏菜单栏 - + Auto-hide the main menu bar when it's not used. 不使用主菜单栏时自动隐藏主菜单栏。 - + May not be supported on all skins. 并非所有皮肤均支持。 - + Show Skin Settings Menu 皮肤设置菜单 - + Show the Skin Settings Menu of the currently selected Skin 显示当前选定皮肤的皮肤设置菜单 - + Ctrl+1 Menubar|View|Show Skin Settings Ctrl 1 + - + Show Microphone Section 顯示麥克風節 - + Show the microphone section of the Mixxx interface. 顯示 Mixxx 介面的麥克風部分。 - + Ctrl+2 Menubar|View|Show Microphone Section Ctrl+2 - + Show Vinyl Control Section 显示唱盘控制界面 - + Show the vinyl control section of the Mixxx interface. 顯示 Mixxx 介面的乙烯基控制部分。 - + Ctrl+3 Menubar|View|Show Vinyl Control Section Ctrl 3 + - + Show Preview Deck 顯示預覽甲板 - + Show the preview deck in the Mixxx interface. 在 Mixxx 内显示显示预览用碟机。 - + Ctrl+4 Menubar|View|Show Preview Deck Ctrl+4 - + Show Cover Art 显示封面 - + Show cover art in the Mixxx interface. 在 Mixxx 介面中顯示封面藝術。 - + Ctrl+6 Menubar|View|Show Cover Art Ctrl 6 + - + Maximize Library 最大化音乐库 - + Maximize the track library to take up all the available screen space. 最大化音樂庫以佔用所有可用的螢幕空間。 - + Space Menubar|View|Maximize Library 空間 - + &Full Screen 全屏(&F) - + Display Mixxx using the full screen 使用全螢幕的顯示 Mixxx - + &Options 选项(&O) - + &Vinyl Control 與乙烯基控制 - + Use timecoded vinyls on external turntables to control Mixxx 对外部转盘使用时间编码的唱盘控制,以便控制 Mixxx - + Enable Vinyl Control &%1 啟用乙烯控制 & %1 - + &Record Mix 與記錄組合 - + Record your mix to a file 記錄你組合到一個檔 - + Ctrl+R Ctrl+R - + Enable Live &Broadcasting 啟用即時 & 廣播 - + Stream your mixes to a shoutcast or icecast server 将混音通过流输出到 shoutcast 或 icecast 服务器 - + Ctrl+L 按 Ctrl + L - + Enable &Keyboard Shortcuts 启用键快捷键(&K) - + Toggles keyboard shortcuts on or off 键盘快捷键开关 - + Ctrl+` 按 Ctrl +' - + &Preferences 首选项(&P) - + Change Mixxx settings (e.g. playback, MIDI, controls) 改變 Mixxx 的設置 (例如播放 MIDI,控制項) - + &Developer 與開發人員 - + &Reload Skin 重载皮肤(&R) - + Reload the skin 重新載入皮膚 - + Ctrl+Shift+R Ctrl+Shift+R - + Developer &Tools 开发者工具(&T) - + Opens the developer tools dialog 打開開發人員工具對話方塊 - + Ctrl+Shift+T Ctrl + Shift + T - + Stats: &Experiment Bucket 統計: & 實驗鬥 - + Enables experiment mode. Collects stats in the EXPERIMENT tracking bucket. 使實驗模式。收集統計實驗跟蹤存儲桶中。 - + Ctrl+Shift+E Ctrl+Shift+E - + Stats: &Base Bucket 統計: & 基地鬥 - + Enables base mode. Collects stats in the BASE tracking bucket. 启用基础模式。统计数据将会收集到基础跟踪桶中。 - + Ctrl+Shift+B Ctrl+Shift+B - + Deb&ugger Enabled 调试器已启用(&U) - + Enables the debugger during skin parsing 在皮膚分析過程中啟用調試器 - + Ctrl+Shift+D 按 Ctrl + Shift + D - + &Help 與説明 - + Show Keywheel menu title 显示 Keywheel @@ -15972,74 +16054,74 @@ This can not be undone! 将库导出为 Engine DJ 格式 - + Show keywheel tooltip text 显示 Keywheel - + F12 Menubar|View|Show Keywheel F12 - + &Community Support 社区帮助(&C) - + Get help with Mixxx 獲得 Mixxx 的説明 - + &User Manual 與使用者手冊 - + Read the Mixxx user manual. 閱讀 Mixxx 使用者手冊。 - + &Keyboard Shortcuts 键盘快捷键(&K) - + Speed up your workflow with keyboard shortcuts. 加快您的工作流使用鍵盤快速鍵。 - + &Settings directory &设置目录 - + Open the Mixxx user settings directory. 打开 Mixxx 用户设置目录。 - + &Translate This Application 翻译这个程序(&T) - + Help translate this application into your language. 幫忙翻譯成您的語言此應用程式。 - + &About 关于(&A) - + About the application 有關應用程式 @@ -16074,25 +16156,13 @@ This can not be undone! WSearchLineEdit - - Clear input - Clear the search bar input field - 清除輸入 - - - - Ctrl+F - Search|Focus - Ctrl+F - - - + Search noun 搜索 - + Clear input 清除輸入 @@ -16103,93 +16173,87 @@ This can not be undone! 搜索... - + Clear the search bar input field 清除搜索栏输入字段 - - Enter a string to search for - 輸入要搜索的字串 + + Return + 返回 - - Use operators like bpm:115-128, artist:BooFar, -year:1990 - 使用运算符,如 bpm:115-128, artist:BooFar, -year:1990 + + Enter a string to search for. + - - For more information see User Manual > Mixxx Library - 有关更多信息,请参阅 Mixxx Library >用户手册 + + Use operators like bpm:115-128, artist:BooFar, -year:1990. + - Shortcut - 快捷方式 + See User Manual > Mixxx Library for more information. + - - Ctrl+F - Ctrl+F + + Focus/Select All (Search in current view) + Give search bar input focus + - - Focus - Give search bar input focus - 焦點 + + Focus/Select All (Search in 'Tracks' library view) + - - - Ctrl+Backspace - Ctrl + 倒退鍵 + + Additional Shortcuts When Focused: + - Shortcuts - 快捷方式 + Trigger search before search-as-you-type timeout or focus tracks view afterwards + - Return - 返回 + Esc or Ctrl+Return + - Trigger search before search-as-you-type timeout orjump to tracks view afterwards - 在键入时搜索超时之前触发搜索,或在之后跳转到轨道视图 + Immediately trigger search and focus tracks view + Exit search bar and leave focus + - + Ctrl+Space Ctrl + 空格键 - + Toggle search history Shows/hides the search history entries 切换搜索历史记录 - + Delete or Backspace 删除或退格 - - Delete query from history - 从历史记录中删除查询 - - - - Esc - 按 esc 鍵 + + in search history + - - Exit search - Exit search bar and leave focus - 退出搜索 + + Delete query from history + 从历史记录中删除查询 @@ -16951,37 +17015,37 @@ This can not be undone! WTrackTableView - + Confirm track hide 确认轨道隐藏 - + Are you sure you want to hide the selected tracks? 您确定要隐藏选定的轨道吗? - + Are you sure you want to remove the selected tracks from AutoDJ queue? 您确定要从 AutoDJ 队列中删除选定的曲目吗? - + Are you sure you want to remove the selected tracks from this crate? 您确定要隐藏选定的轨道吗? - + Are you sure you want to remove the selected tracks from this playlist? 您确定要从此播放列表中删除选定的曲目吗? - + Don't ask again during this session 在此会话期间不要再次询问 - + Confirm track removal 确认轨道移除 @@ -17002,52 +17066,52 @@ This can not be undone! mixxx::CoreServices - + fonts 字体 - + database 数据库 - + effects 效果 - + audio interface 音频接口 - + decks 甲板 - + library 媒体库 - + Choose music library directory 選擇音樂庫目錄 - + controllers 控制器 - + Cannot open database 無法打開資料庫 - + Unable to establish a database connection. Mixxx requires QT with SQLite support. Please read the Qt SQL driver documentation for information on how to build it. @@ -17061,68 +17125,78 @@ Mixxx 需要 qt 離散度與 SQLite 支援。請閱讀有關如何構建它的 mixxx::DlgLibraryExport - + Entire music library 整个音乐库 - - Selected crates - 选中的箱子 + + Crates + + + + + Playlists + - + + Selected crates/playlists + + + + Browse 流覽 - + Export directory 导出目录 - + Database version 数据库版本 - + Export 导出 - + Cancel 取消 - + Export Library to Engine DJ "Engine DJ" must not be translated 导出到 Engine DJ - + Export Library To 导出到 - + No Export Directory Chosen 未选择导出目录 - + No export directory was chosen. Please choose a directory in order to export the music library. 未选择导出目录。请选择一个目录以导出音乐库。 - + A database already exists in the chosen directory. Exported tracks will be added into this database. 所选目录中已存在数据库。导出的轨道将被添加到此数据库中。 - + A database already exists in the chosen directory, but there was a problem loading it. Export is not guaranteed to succeed in this situation. 所选目录中已存在数据库,但加载该数据库时出现问题。在这种情况下,不能保证导出成功。 @@ -17143,7 +17217,7 @@ Mixxx 需要 qt 離散度與 SQLite 支援。請閱讀有關如何構建它的 mixxx::EnginePrimeExportJob - + Failed to export track %1 - %2: %3 %1 is the artist %2 is the title and %3 is the original error message @@ -17154,22 +17228,22 @@ Mixxx 需要 qt 離散度與 SQLite 支援。請閱讀有關如何構建它的 mixxx::LibraryExporter - + Export Completed 导出已完成 - - Exported %1 track(s) and %2 crate(s). - 导出了 %1 个轨道和 %2 个板条箱。 + + Exported %1 track(s), %2 crate(s), and %3 playlist(s). + - + Export Failed 导出失败 - + Exporting to Engine DJ... 正在导出到 Engine DJ.. diff --git a/res/translations/mixxx_zh_TW.qm b/res/translations/mixxx_zh_TW.qm index ca186820945bf0af8a7aa957ed3719e195a9f97e..a7c22a302364de197c5ec5ff23eebef3e9992164 100644 GIT binary patch delta 23443 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 P?a`}oi*BnmYgPXPfmnf? diff --git a/res/translations/mixxx_zh_TW.ts b/res/translations/mixxx_zh_TW.ts index 8a0a7659e3a3..1e26e430fae3 100644 --- a/res/translations/mixxx_zh_TW.ts +++ b/res/translations/mixxx_zh_TW.ts @@ -149,7 +149,7 @@ BasePlaylistFeature - + New Playlist 新增播放清單 @@ -160,7 +160,7 @@ - + Create New Playlist 建立新的播放清單 @@ -190,113 +190,120 @@ 複製 - - + + Import Playlist 匯入播放清單 - + Export Track Files 匯出曲目檔案 - + Analyze entire Playlist 分析整個播放清單 - + Enter new name for playlist: 輸入新播放清單名稱︰ - + Duplicate Playlist 重複播放清單 - - + + Enter name for new playlist: 輸入新播放清單名稱︰ - - + + Export Playlist 匯出播放清單 - + Add to Auto DJ Queue (replace) 加到自動 DJ 佇列(取代) - + + + Export to Engine DJ + "Engine DJ" is a product name and must not be translated. + + + + Rename Playlist 重新命名播放清單 - - + + Renaming Playlist Failed 重新命名播放清單失敗 - - - + + + A playlist by that name already exists. 該名稱的播放清單已存在。 - - - + + + A playlist cannot have a blank name. 播放清單不能為空白的名稱。 - + _copy //: Appendix to default name when duplicating a playlist _copy - - - - - - + + + + + + Playlist Creation Failed 播放清單建立失敗 - - + + An unknown error occurred while creating playlist: 建立播放清單時發生未知的錯誤︰ - + Confirm Deletion 確認删除 - + Do you really want to delete playlist <b>%1</b>? 您確定要刪除播放清單 <b>%1</b>嗎? - + M3U Playlist (*.m3u) M3U 播放清單 (*.m3u) - + M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Text CSV (*.csv);;Readable Text (*.txt) M3U 播放清單 (*.m3u);M3U8 播放清單 (*.m3u8);PLS播放清單 (*.pls);文字 CSV (*.csv);;可閱讀的文字 (*.txt) @@ -304,12 +311,12 @@ BaseSqlTableModel - + # # - + Timestamp 時間戳記 @@ -317,7 +324,7 @@ BaseTrackPlayerImpl - + Couldn't load track. 無法載入曲目。 @@ -325,142 +332,142 @@ BaseTrackTableModel - + Album 專輯 - + Album Artist 專輯演出者 - + Artist 演出者 - + Bitrate 位元速率 - + BPM BPM - + Channels 電視頻道 - + Color 顏色 - + Comment 評論 - + Composer 作曲者 - + Cover Art 封面 - + Date Added 加入日期 - + Last Played 最後播放 - + Duration 持續時間 - + Type 類型 - + Genre 曲風 - + Grouping 分組 - + Key 音調 - + Location 位置 - + Overview - + Preview 預覽 - + Rating 評分 - + ReplayGain 重播增益 - + Samplerate 取樣率 - + Played 已播放 - + Title 標題 - + Track # 曲目 # - + Year 年份 - + Fetching image ... Tooltip text on the cover art column shown when the cover is read from disk 獲取圖片中... @@ -609,6 +616,16 @@ "Computer" lets you navigate, view, and load tracks from folders on your hard disk and external devices. 「電腦」可讓您從硬碟和外部裝置上的資料夾中導覽、檢視和載入曲目。 + + + It shows the data from the file tags, not track data from your Mixxx library like other track views. + + + + + If you load a track file from here, it will be added to your library. + + BrowseTableModel @@ -2443,12 +2460,12 @@ trace - Above + Profiling messages Tempo Tap - + 节奏敲击 Tempo tap button - + 节奏敲击按钮 @@ -3632,32 +3649,32 @@ trace - Above + Profiling messages ControllerScriptEngineBase - + The functionality provided by this controller mapping will be disabled until the issue has been resolved. 在問題解決之前,此控制器映射提供的功能將被禁用。 - + You can ignore this error for this session but you may experience erratic behavior. 您可以在此會話中忽略此錯誤,但可能會出現不穩定的行為。 - + Try to recover by resetting your controller. 嘗試恢復通過重置您的控制器。 - + Controller Mapping Error 控制器映射錯誤 - + The mapping for your controller "%1" is not working properly. 控制器“%1”的映射工作不正常。 - + The script code needs to be fixed. 腳本代碼需要修理。 @@ -3765,7 +3782,7 @@ trace - Above + Profiling messages 匯入箱 - + Export Crate 匯出音樂箱 @@ -3775,7 +3792,7 @@ trace - Above + Profiling messages 解鎖 - + An unknown error occurred while creating crate: 創建音樂箱時發生未知的錯誤︰ @@ -3801,17 +3818,17 @@ trace - Above + Profiling messages 音樂箱重新命名失敗 - + Crate Creation Failed 建立音樂箱失敗 - + M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Text CSV (*.csv);;Readable Text (*.txt) M3U 播放清單 (*.m3u);M3U8 播放清單 (*.m3u8);PLS播放清單 (*.pls);文字 CSV (*.csv);;可讀的文本 (*.txt) - + M3U Playlist (*.m3u) M3U 播放清單 (*.m3u) @@ -3937,12 +3954,12 @@ trace - Above + Profiling messages 過去的貢獻者 - + Official Website 官方网站 - + Donate 捐献 @@ -3998,7 +4015,7 @@ trace - Above + Profiling messages - + Analyze 分析 @@ -4043,17 +4060,17 @@ trace - Above + Profiling messages 在選定的曲目上運行節拍、音調和增益檢測。選定的曲目不會生成波形,以節省磁碟空間。 - + Stop Analysis 停止分析 - + Analyzing %1% %2/%3 分析 %1% %2/%3 - + Analyzing %1/%2 分析 %1/%2 @@ -4470,37 +4487,37 @@ Often results in higher quality beatgrids, but will not do well on tracks that h 如果映射不是工作嘗試啟用高級的選項下面,然後試著控制再一次。或按一下重試重新檢測 midi 控制。 - + Didn't get any midi messages. Please try again. 沒有得到任何的 midi 消息。 請再試一次。 - + Unable to detect a mapping -- please try again. Be sure to only touch one control at once. 無法檢測到的映射 — — 請再試一次。要確保只有一次觸摸一個控制項。 - + Successfully mapped control: 成功映射的控制項︰ - + <i>Ready to learn %1</i> <i>準備好要學習 %1</i> - + Learning: %1. Now move a control on your controller. 學習: %1。現在移動您的控制器上的一個控制項。 - + The selected control does not exist.<br>This likely a bug. Please report it on the Mixxx bug tracker.<br><a href='https://github.com/mixxxdj/mixxx/issues'>https://github.com/mixxxdj/mixxx/issues</a><br><br>You tried to learn: %1,%2 - + The control you clicked in Mixxx is not learnable. This could be because you are either using an old skin and this control is no longer supported, or you clicked a control that provides visual feedback and can only be mapped to outputs like LEDs via scripts. @@ -5203,114 +5220,114 @@ associated with each key. DlgPrefController - + Apply device settings? 應用設備設置嗎? - + Your settings must be applied before starting the learning wizard. Apply settings and continue? 開始學習嚮導前,必須應用您的設置。 應用設置並繼續? - + None 沒有一個 - + %1 by %2 %2 %1 - + Mapping has been edited 映射已编辑 - + Always overwrite during this session 在此会话期间始终覆盖 - + Save As 另存为 - + Overwrite 覆盖 - + Save user mapping 保存用户映射 - + Enter the name for saving the mapping to the user folder. 输入用于将映射保存到用户文件夹的名称。 - + Saving mapping failed 保存映射失败 - + A mapping cannot have a blank name and may not contain special characters. 映射不能具有空白名称,并且不能包含特殊字符。 - + A mapping file with that name already exists. 具有该名称的映射文件已存在。 - + Do you want to save the changes? 是否要保存更改? - + Troubleshooting 疑難排解 - + <font color='#BB0000'><b>If you use this mapping your controller may not work correctly. Please select another mapping or disable the controller.</b></font><br><br>This mapping was designed for a newer Mixxx Controller Engine and cannot be used on your current Mixxx installation.<br>Your Mixxx installation has Controller Engine version %1. This mapping requires a Controller Engine version >= %2.<br><br>For more information visit the wiki page on <a href='https://mixxx.org/wiki/doku.php/controller_engine_versions'>Controller Engine Versions</a>. 如果使用此映射,则控制器可能无法正常工作。请选择其他映射或禁用控制器。此映射专为较新的 Mixxx 控制器引擎而设计,不能用于您当前的 Mixxx 安装。您的 Mixxx 安装的 Controller Engine 版本为 %1。此映射需要 Controller Engine 版本 >= %2。有关更多信息,请访问有关 Controller Engine 版本的 wiki 页面。 - + Mapping already exists. 映射已存在。 - + <b>%1</b> already exists in user mapping folder.<br>Overwrite or save with a new name? <b>%1</b>已存在于用户映射文件夹中.<br>覆盖还是用新名称保存? - + Clear Input Mappings 清除輸入的映射 - + Are you sure you want to clear all input mappings? 你確定你想要清除所有輸入的映射? - + Clear Output Mappings 清除輸出映射 - + Are you sure you want to clear all output mappings? 你確定你想要清除所有輸出映射? @@ -5641,6 +5658,16 @@ Apply settings and continue? Multi-Sampling 多重采样 + + + Force 3D acceleration + + + + + If checked, Mixxx will always assume 3D acceleration is available. This may lead to pour performance if only CP-backed rendering is available.. + + Start in full-screen mode @@ -6249,62 +6276,62 @@ You can always drag-and-drop tracks on screen to clone a deck. DlgPrefInterface - + The minimum size of the selected skin is bigger than your screen resolution. 所選的外觀的最小大小大於您的螢幕解析度。 - + Allow screensaver to run 允許螢幕保護程式執行 - + Prevent screensaver from running 在程式運行中防止螢幕保護程式 - + Prevent screensaver while playing 當播放歌曲時禁止螢幕保護程式 - + Disabled 禁用 - + 2x MSAA 2倍采样抗锯齿 - + 4x MSAA 4倍采样抗锯齿 - + 8x MSAA 8倍采样抗锯齿 - + 16x MSAA 16倍采样抗锯齿 - + This skin does not support color schemes 這種皮膚不支援色彩配置 - + Information 資訊 - + Mixxx must be restarted before the new locale, scaling or multi-sampling settings will take effect. 在新的区域设置、缩放或多重采样设置生效之前,必须重新启动Mixxx。 @@ -7234,7 +7261,7 @@ and allows you to pitch adjust them for harmonic mixing. All settings take effect on next track load. Currently loaded tracks are not affected. For an explanation of these settings, see the %1 - + 所有设置都会在下一次轨道加载时生效。当前加载的轨迹不受影响。有关这些设置的说明,请参阅 %1 @@ -7473,173 +7500,172 @@ The loudness target is approximate and assumes track pregain and main output lev DlgPrefSound - + %1 Hz %1 Hz - + Default (long delay) 預設 (長時間的延遲) - + Experimental (no delay) 實驗 (無延時) - + Disabled (short delay) 禁用 (短延時) - + Soundcard Clock 声卡时钟 - + Network Clock 网络时钟 - + Direct monitor (recording and broadcasting only) 直接监视器(仅限录制和广播) - + Disabled 已禁用 - + Enabled 啟用 - + Stereo 身歷聲 - + Mono 單聲道 - + To enable Realtime scheduling (currently disabled), see the %1. 要启用实时计划(当前已禁用),请参阅 %1。 - + The %1 lists sound cards and controllers you may want to consider for using Mixxx. %1 列出了您可能需要考虑使用 Mixxx 的声卡和控制器。 - + Mixxx DJ Hardware Guide Mixxx DJ 硬件指南 - + Information - + Mixxx must be restarted before the multi-threaded RubberBand setting change will take effect. - + auto (<= 1024 frames/period) 自动(<= 1024 帧/周期) - + 2048 frames/period 2048 帧/周期 - + 4096 frames/period 4096 帧/周期 - + Are you sure? - + Distribute stereo channels into mono channels for parallel processing will result in a loss of mono compatibility and a diffuse stereo image. It is not recommended during broadcasting or recording. - + Are you sure you wish to proceed? - + No - + Yes, I know what I am doing - + Microphone inputs are out of time in the record & broadcast signal compared to what you hear. 与您听到的相比,麦克风输入在录音和广播信号中显得不合时宜。 - + Measure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. 测量往返延迟,并在上方输入麦克风延迟补偿以对齐麦克风计时。 - - + Refer to the Mixxx User Manual for details. 細節請參考Mixxx 使用者操作手冊 - + Configured latency has changed. 配置的延迟已更改。 - + Remeasure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. 重新测量往返延迟,并将其输入到麦克风延迟补偿上方,以调整麦克风定时。 - + Realtime scheduling is enabled. 已启用实时调度。 - + Main output only 仅主输出 - + Main and booth outputs 主输出和展位输出 - + %1 ms %1 ms - + Configuration error 配置錯誤 @@ -7657,131 +7683,131 @@ The loudness target is approximate and assumes track pregain and main output lev 聲音 API - + Sample Rate 採樣速率 - + Audio Buffer 音訊緩衝區 - + Engine Clock 引擎时钟 - + Use soundcard clock for live audience setups and lowest latency.<br>Use network clock for broadcasting without a live audience. 使用声卡时钟进行现场观众设置和最低延迟。1使用网络时钟进行没有现场观众的广播。 - + Main Mix 主混合 - + Main Output Mode 主输出模式 - + Microphone Monitor Mode 麦克风监听模式 - + Microphone Latency Compensation 麦克风延迟补偿 - - - - + + + + ms milliseconds 女士 - + 20 ms 為 20 毫秒 - + Buffer Underflow Count 緩衝區下溢計數 - + 0 0 - + Keylock/Pitch-Bending Engine 鑰匙鎖/瀝青彎曲的引擎 - + Multi-Soundcard Synchronization 多音效卡同步 - + Output 輸出 - + Input 輸入 - + System Reported Latency 系統報告延遲 - + Enlarge your audio buffer if the underflow counter is increasing or you hear pops during playback. 如果增加下溢計數器或你聽到持久性有機污染物在播放過程中,放大你的音訊緩衝區。 - + Main Output Delay 主输出延迟 - + Headphone Output Delay 耳机输出延迟 - + Booth Output Delay Booth输出延迟 - + Dual-threaded Stereo - + Hints and Diagnostics 提示和診斷 - + Downsize your audio buffer to improve Mixxx's responsiveness. 縮減你的音訊緩衝區來提高 Mixxx 的回應能力。 - + Query Devices 查詢設備 @@ -9341,27 +9367,27 @@ Often results in higher quality beatgrids, but will not do well on tracks that h EngineBuffer - + Soundtouch (faster) Soundtouch (更快) - + Rubberband (better) 橡皮條 (更好) - + Rubberband R3 (near-hi-fi quality) 接近高保真质量 - + Unknown, using Rubberband (better) 未知,使用更好 - + Unknown, using Soundtouch 未知,使用 Soundtouch @@ -9576,15 +9602,15 @@ Often results in higher quality beatgrids, but will not do well on tracks that h LegacySkinParser - - + + Safe Mode Enabled Shown when Mixxx is running in safe mode. 啟用安全模式 - - + + No OpenGL support. Shown when Spinny can not be displayed. Please keep @@ -9595,57 +9621,57 @@ Shown when VuMeter can not be displayed. Please keep 沒有 OpenGL 支援。 - + activate 啟動 - + toggle 切換 - + right 權利 - + left - + right small 右小 - + left small 左小 - + up 向上 - + down 向下 - + up small 小了 - + down small 下小 - + Shortcut 快捷方式 @@ -9653,37 +9679,37 @@ Shown when VuMeter can not be displayed. Please keep Library - + This or a parent directory is already in your library. 此目录或父目录已位于您的库中。 - + This or a listed directory does not exist or is inaccessible. Aborting the operation to avoid library inconsistencies 此目录或列出的目录不存在或无法访问。 中止操作以避免库不一致 - - + + This directory can not be read. 无法读取此目录。 - + An unknown error occurred. Aborting the operation to avoid library inconsistencies 发生未知错误。 中止操作以避免库不一致 - + Can't add Directory to Library 无法将目录添加到库 - + Could not add <b>%1</b> to your library. %2 @@ -9692,27 +9718,27 @@ Aborting the operation to avoid library inconsistencies %2 - + Can't remove Directory from Library 无法从库中删除目录 - + An unknown error occurred. 发生未知错误。 - + This directory does not exist or is inaccessible. 此目录不存在或无法访问。 - + Relink Directory 重新链接目录 - + Could not relink <b>%1</b> to <b>%2</b>. %3 @@ -9724,22 +9750,22 @@ Aborting the operation to avoid library inconsistencies LibraryFeature - + Import Playlist 匯入播放清單 - + Playlist Files (*.m3u *.m3u8 *.pls *.csv) 播放清單檔 (*.m3u *.m3u8 *.pls *.csv) - + Overwrite File? 覆盖文件? - + A playlist file with the name "%1" already exists. The default "m3u" extension was added because none was specified. @@ -9889,251 +9915,251 @@ Do you really want to overwrite it? MixxxMainWindow - + Sound Device Busy 聲音設備忙 - + <b>Retry</b> after closing the other application or reconnecting a sound device 關閉其他應用程式或重新連接聲音設備後 <b>重試</b> - - - + + + <b>Reconfigure</b> Mixxx's sound device settings. <b>重新配置</b>Mixxx 的聲音設備設置。 - - + + Get <b>Help</b> from the Mixxx Wiki. 從 Mixxx Wiki 得到 <b>説明</b>。 - - - + + + <b>Exit</b> Mixxx. <b>退出</b>Mixxx。 - + Retry 重試 - + skin 皮肤 - + Allow Mixxx to hide the menu bar? 允许 Mixxx 隐藏菜单栏? - + Hide Always show the menu bar? 隐藏 - + Always show 始终显示 - + The Mixxx menu bar is hidden and can be toggled with a single press of the <b>Alt</b> key.<br><br>Click <b>%1</b> to agree.<br><br>Click <b>%2</b> to disable that, for example if you don't use Mixxx with a keyboard.<br><br>You can change this setting any time in Preferences -> Interface.<br> Keep formatting tags <b> (bold text) and <br> (linebreak). %1 is the placeholder for the 'Always show' button label Mixxx 菜单栏是隐藏的,只需按一下<b>Alt 键</b>钥匙。<br><br>点击<b>%1</b>同意。<br><br>点击<b>%2</b>以禁用它,例如,如果您不将 Mixxx 与键盘一起使用。<br><br>您可以随时在 Preferences -> Interface 中更改此设置。<br> - + Ask me again 再问我一次 - - + + Reconfigure 重新配置 - + Help 説明 - - + + Exit 退出 - - + + Mixxx was unable to open all the configured sound devices. Mixxx 無法打開所有設定好的聲音裝置。 - + Sound Device Error 聲音裝置錯誤 - + <b>Retry</b> after fixing an issue 修正错误后 <b> 重试 </b> - + No Output Devices 沒有輸出裝置 - + Mixxx was configured without any output sound devices. Audio processing will be disabled without a configured output device. Mixxx 是沒有任何輸出聲音設備配置的。沒有已配置的輸出裝置,將禁用音訊處理。 - + <b>Continue</b> without any outputs. <b>繼續</b> 沒有任何產出。 - + Continue 繼續 - + Load track to Deck %1 負荷跟蹤到甲板 %1 - + Deck %1 is currently playing a track. 甲板 %1 當前播放的曲目。 - + Are you sure you want to load a new track? 你確定你想要載入一個新的軌道? - + There is no input device selected for this vinyl control. Please select an input device in the sound hardware preferences first. 有是沒有為此乙烯基控制項選擇的輸入的設備。 請先在聲音硬體首選項中選擇一種輸入的設備。 - + There is no input device selected for this passthrough control. Please select an input device in the sound hardware preferences first. 有是沒有為此直通控制項選擇的輸入的設備。 請先在聲音硬體首選項中選擇一種輸入的設備。 - + There is no input device selected for this microphone. Do you want to select an input device? 没有为此麦克风选择输入设备。是否要选择输入设备? - + There is no input device selected for this auxiliary. Do you want to select an input device? 没有为此辅助设备选择输入设备。是否要选择输入设备? - + Scan took %1 - + No changes detected. - - + + %1 tracks in total - + %1 new tracks found - + %1 moved tracks detected - + %1 tracks are missing (%2 total) - + %1 tracks have been rediscovered - + Library scan finished - + Error in skin file 皮膚檔中的錯誤 - + The selected skin cannot be loaded. 無法載入所選的外觀。 - + OpenGL Direct Rendering OpenGL 直接繪製 - + Direct rendering is not enabled on your machine.<br><br>This means that the waveform displays will be very<br><b>slow and may tax your CPU heavily</b>. Either update your<br>configuration to enable direct rendering, or disable<br>the waveform displays in the Mixxx preferences by selecting<br>"Empty" as the waveform display in the 'Interface' section. 您的计算机上未启用直接渲染。<br><br>这意味着波形显示将非常<br><b>速度慢,并且可能会严重占用您的 CPU</b>.要么更新您的<br>配置以启用直接渲染或禁用<br>波形将通过选择 Mixxx 首选项显示在<br>“空”作为“界面”部分的波形显示。 - - - + + + Confirm Exit 確認退出 - + A deck is currently playing. Exit Mixxx? 當前現正播放的甲板。退出 Mixxx 嗎? - + A sampler is currently playing. Exit Mixxx? 當前現正播放採樣器。退出 Mixxx 嗎? - + The preferences window is still open. 首選項視窗是仍處於打開狀態。 - + Discard any changes and exit Mixxx? 放棄所有更改並退出 Mixxx? @@ -10149,13 +10175,13 @@ Do you want to select an input device? PlaylistFeature - + Lock - - + + Playlists 播放清單 @@ -10165,32 +10191,58 @@ Do you want to select an input device? 随机播放播放列表 - + + Unlock all playlists + + + + + Delete all unlocked playlists + + + + Unlock 解鎖 - + + + Confirm Deletion + + + + + Do you really want to delete all unlocked playlists? + + + + + Deleting %1 unlocked playlists.<br>This operation can not be undone! + + + + Playlists are ordered lists of tracks that allow you to plan your DJ sets. 播放列表是有序的曲目列表,允许您规划 DJ 集。 - + It may be necessary to skip some tracks in your prepared playlist or add some different tracks in order to maintain the energy of your audience. 可能需要跳过您准备好的播放列表中的一些曲目或添加一些不同的曲目,以保持观众的活力。 - + Some DJs construct playlists before they perform live, but others prefer to build them on-the-fly. 一些 Dj 構建播放清單之前他們表演,但其他人則傾向建立他們的蒼蠅。 - + When using a playlist during a live DJ set, remember to always pay close attention to how your audience reacts to the music you've chosen to play. 當在一個活的 DJ 集,使用播放清單記得總是密切關注你的聽眾對音樂的反應您已經選擇玩。 - + Create New Playlist 創建新的播放清單 @@ -11849,7 +11901,7 @@ Hint: compensates "chipmunk" or "growling" voices 应用于音频信号的放大量。在更高的级别上,音频将更加分散。 - + Passthrough 直通 @@ -12019,12 +12071,12 @@ may introduce a 'pumping' effect and/or distortion. 各种 - + built-in - + missing @@ -12152,54 +12204,54 @@ may introduce a 'pumping' effect and/or distortion. RekordboxFeature - - - + + + Rekordbox Rekordbox - + Playlists 播放清單 - + Folders 文件夹 - + Reads databases exported for Pioneer CDJ / XDJ players using the Rekordbox Export mode.<br/>Rekordbox can only export to USB or SD devices with a FAT or HFS file system.<br/>Mixxx can read a database from any device that contains the database folders (<tt>PIONEER</tt> and <tt>Contents</tt>).<br/>Not supported are Rekordbox databases that have been moved to an external device via<br/><i>Preferences > Advanced > Database management</i>.<br/><br/>The following data is read: 读取使用 Rekordbox 导出模式为 Pioneer CDJ/XDJ 播放器导出的数据库。1Rekordbox 只能导出到具有 FAT 或 HFS 文件系统的 USB 或 SD 设备。2Mixxx 可以从包含数据库文件夹 (3先锋3和4内容4).5不支持已通过67高级>数据库管理>首选项7.89读取以下数据: - + Hot cues - + Hot cues - + Loops (only the first loop is currently usable in Mixxx) Loops(目前只有第一个 Loop 在 Mixxx 中可用) - + Check for attached Rekordbox USB / SD devices (refresh) 检查连接的 Rekordbox USB/SD 设备(刷新) - + Beatgrids 节拍网格 - + Memory cues 记忆线索 - + (loading) Rekordbox (加载中)Rekordbox @@ -15124,7 +15176,7 @@ Use this to change only the effected (wet) signal with EQ and filter effects. Beatloop - + 节拍循环 @@ -15443,47 +15495,47 @@ This can not be undone! WCueMenuPopup - + Cue number 提示编号 - + Cue position 提示位置 - + Edit cue label Edit cue label(编辑提示标签) - + Label... 标签 - + Delete this cue 删除此提示 - + Toggle this cue type between normal cue and saved loop 在正常提示点和保存的 Loop 之间切换此提示类型 - + Left-click: Use the old size or the current beatloop size as the loop size 左键单击:使用旧大小或当前 Beatloop 大小作为 Loop 大小 - + Right-click: Use the current play position as loop end if it is after the cue 右键点击:如果当前播放位置在 cue 之后,则将其用作 Loop 结束 - + Hotcue #%1 热提示 #%1 @@ -15608,323 +15660,353 @@ This can not be undone! + Search in Current View... + + + + + Search for tracks in the current library view + + + + + Ctrl+f + + + + + Search in Tracks Library... + + + + + Search in the internal track collection under "Tracks" in the library + + + + + Ctrl+Shift+F + + + + Create &New Playlist 創建與新的播放清單 - + Create a new playlist 創建一個新的播放清單 - + Ctrl+n Ctrl n + - + Create New &Crate 創建新 & 箱 - + Create a new crate 創建一個新的箱子 - + Ctrl+Shift+N Ctrl + Shift + N - - + + &View 與視圖 - + Auto-hide menu bar 自动隐藏菜单栏 - + Auto-hide the main menu bar when it's not used. 不使用主菜单栏时自动隐藏主菜单栏。 - + May not be supported on all skins. 在所有的皮膚上可能不支援。 - + Show Skin Settings Menu 皮肤设置菜单 - + Show the Skin Settings Menu of the currently selected Skin 显示当前选定皮肤的皮肤设置菜单 - + Ctrl+1 Menubar|View|Show Skin Settings Ctrl 1 + - + Show Microphone Section 顯示麥克風節 - + Show the microphone section of the Mixxx interface. 顯示 Mixxx 介面的麥克風部分。 - + Ctrl+2 Menubar|View|Show Microphone Section Ctrl 2 + - + Show Vinyl Control Section 顯示乙烯控制節 - + Show the vinyl control section of the Mixxx interface. 顯示 Mixxx 介面的乙烯基控制部分。 - + Ctrl+3 Menubar|View|Show Vinyl Control Section Ctrl 3 + - + Show Preview Deck 顯示預覽甲板 - + Show the preview deck in the Mixxx interface. 在 Mixxx 介面中顯示預覽甲板。 - + Ctrl+4 Menubar|View|Show Preview Deck Ctrl 4 + - + Show Cover Art 顯示封面藝術 - + Show cover art in the Mixxx interface. 在 Mixxx 介面中顯示封面藝術。 - + Ctrl+6 Menubar|View|Show Cover Art Ctrl 6 + - + Maximize Library 最大限度地庫 - + Maximize the track library to take up all the available screen space. 最大化音樂庫以佔用所有可用的螢幕空間。 - + Space Menubar|View|Maximize Library 空間 - + &Full Screen 與全螢幕 - + Display Mixxx using the full screen 使用全螢幕的顯示 Mixxx - + &Options 與選項 - + &Vinyl Control 與乙烯基控制 - + Use timecoded vinyls on external turntables to control Mixxx 在外部轉盤控制 Mixxx 上使用時間乙烯基 - + Enable Vinyl Control &%1 啟用乙烯控制 & %1 - + &Record Mix 與記錄組合 - + Record your mix to a file 記錄你組合到一個檔 - + Ctrl+R Ctrl + R - + Enable Live &Broadcasting 啟用即時 & 廣播 - + Stream your mixes to a shoutcast or icecast server 流到 shoutcast 或 icecast 伺服器你混合 - + Ctrl+L 按 Ctrl + L - + Enable &Keyboard Shortcuts 啟用與鍵盤快速鍵 - + Toggles keyboard shortcuts on or off 切換鍵盤快速鍵打開或關閉 - + Ctrl+` 按 Ctrl +' - + &Preferences 與首選項 - + Change Mixxx settings (e.g. playback, MIDI, controls) 改變 Mixxx 的設置 (例如播放 MIDI,控制項) - + &Developer 與開發人員 - + &Reload Skin & 重新載入皮膚 - + Reload the skin 重新載入皮膚 - + Ctrl+Shift+R Ctrl + Shift + R - + Developer &Tools 開發人員與工具 - + Opens the developer tools dialog 打開開發人員工具對話方塊 - + Ctrl+Shift+T Ctrl + Shift + T - + Stats: &Experiment Bucket 統計: & 實驗鬥 - + Enables experiment mode. Collects stats in the EXPERIMENT tracking bucket. 使實驗模式。收集統計實驗跟蹤存儲桶中。 - + Ctrl+Shift+E Ctrl + Shift + E - + Stats: &Base Bucket 統計: & 基地鬥 - + Enables base mode. Collects stats in the BASE tracking bucket. 啟用的基礎模式。收集統計基礎跟蹤桶內。 - + Ctrl+Shift+B Ctrl + Shift + B - + Deb&ugger Enabled Deb & ugger 啟用 - + Enables the debugger during skin parsing 在皮膚分析過程中啟用調試器 - + Ctrl+Shift+D 按 Ctrl + Shift + D - + &Help 與説明 - + Show Keywheel menu title 显示 Keywheel @@ -15941,74 +16023,74 @@ This can not be undone! 将库导出为 Engine DJ 格式 - + Show keywheel tooltip text 显示 Keywheel - + F12 Menubar|View|Show Keywheel F12 - + &Community Support 與社區的支援 - + Get help with Mixxx 獲得 Mixxx 的説明 - + &User Manual 與使用者手冊 - + Read the Mixxx user manual. 閱讀 Mixxx 使用者手冊。 - + &Keyboard Shortcuts 與鍵盤快速鍵 - + Speed up your workflow with keyboard shortcuts. 加快您的工作流使用鍵盤快速鍵。 - + &Settings directory &设置目录 - + Open the Mixxx user settings directory. 打开 Mixxx 用户设置目录。 - + &Translate This Application & 翻譯此應用程式 - + Help translate this application into your language. 幫忙翻譯成您的語言此應用程式。 - + &About & 約 - + About the application 有關應用程式 @@ -16043,25 +16125,13 @@ This can not be undone! WSearchLineEdit - - Clear input - Clear the search bar input field - 清除輸入 - - - - Ctrl+F - Search|Focus - Ctrl + F - - - + Search noun 搜索 - + Clear input 清除輸入 @@ -16072,93 +16142,87 @@ This can not be undone! 搜索... - + Clear the search bar input field 清除搜索栏输入字段 - - Enter a string to search for - 輸入要搜索的字串 + + Return + 返回 - - Use operators like bpm:115-128, artist:BooFar, -year:1990 - 使用运算符,如 bpm:115-128, artist:BooFar, -year:1990 + + Enter a string to search for. + - - For more information see User Manual > Mixxx Library - 有关更多信息,请参阅 Mixxx Library >用户手册 + + Use operators like bpm:115-128, artist:BooFar, -year:1990. + - Shortcut - 快捷方式 + See User Manual > Mixxx Library for more information. + - - Ctrl+F - Ctrl + F + + Focus/Select All (Search in current view) + Give search bar input focus + - - Focus - Give search bar input focus - 焦點 + + Focus/Select All (Search in 'Tracks' library view) + - - - Ctrl+Backspace - Ctrl + 倒退鍵 + + Additional Shortcuts When Focused: + - Shortcuts - 快捷方式 + Trigger search before search-as-you-type timeout or focus tracks view afterwards + - Return - 返回 + Esc or Ctrl+Return + - Trigger search before search-as-you-type timeout orjump to tracks view afterwards - 在键入时搜索超时之前触发搜索,或在之后跳转到轨道视图 + Immediately trigger search and focus tracks view + Exit search bar and leave focus + - + Ctrl+Space Ctrl + 空格键 - + Toggle search history Shows/hides the search history entries 切换搜索历史记录 - + Delete or Backspace 删除或退格 - - Delete query from history - 从历史记录中删除查询 - - - - Esc - 按 esc 鍵 + + in search history + - - Exit search - Exit search bar and leave focus - 退出搜索 + + Delete query from history + 从历史记录中删除查询 @@ -16914,37 +16978,37 @@ This can not be undone! WTrackTableView - + Confirm track hide 确认轨道隐藏 - + Are you sure you want to hide the selected tracks? 您确定要隐藏选定的轨道吗? - + Are you sure you want to remove the selected tracks from AutoDJ queue? 您确定要从 AutoDJ 队列中删除选定的曲目吗? - + Are you sure you want to remove the selected tracks from this crate? 您确定要隐藏选定的轨道吗? - + Are you sure you want to remove the selected tracks from this playlist? 您确定要从此播放列表中删除选定的曲目吗? - + Don't ask again during this session 在此会话期间不要再次询问 - + Confirm track removal 确认轨道移除 @@ -16965,52 +17029,52 @@ This can not be undone! mixxx::CoreServices - + fonts 字体 - + database 数据库 - + effects 效果 - + audio interface 音频接口 - + decks 甲板 - + library 媒体库 - + Choose music library directory 選擇音樂庫目錄 - + controllers 控制器 - + Cannot open database 無法打開資料庫 - + Unable to establish a database connection. Mixxx requires QT with SQLite support. Please read the Qt SQL driver documentation for information on how to build it. @@ -17024,68 +17088,78 @@ Mixxx 需要 qt 離散度與 SQLite 支援。請閱讀有關如何構建它的 mixxx::DlgLibraryExport - + Entire music library 整个音乐库 - - Selected crates - 选中的箱子 + + Crates + + + + + Playlists + - + + Selected crates/playlists + + + + Browse 流覽 - + Export directory 导出目录 - + Database version 数据库版本 - + Export 导出 - + Cancel 取消 - + Export Library to Engine DJ "Engine DJ" must not be translated 导出到 Engine DJ - + Export Library To 导出到 - + No Export Directory Chosen 未选择导出目录 - + No export directory was chosen. Please choose a directory in order to export the music library. 未选择导出目录。请选择一个目录以导出音乐库。 - + A database already exists in the chosen directory. Exported tracks will be added into this database. 所选目录中已存在数据库。导出的轨道将被添加到此数据库中。 - + A database already exists in the chosen directory, but there was a problem loading it. Export is not guaranteed to succeed in this situation. 所选目录中已存在数据库,但加载该数据库时出现问题。在这种情况下,不能保证导出成功。 @@ -17106,7 +17180,7 @@ Mixxx 需要 qt 離散度與 SQLite 支援。請閱讀有關如何構建它的 mixxx::EnginePrimeExportJob - + Failed to export track %1 - %2: %3 %1 is the artist %2 is the title and %3 is the original error message @@ -17117,22 +17191,22 @@ Mixxx 需要 qt 離散度與 SQLite 支援。請閱讀有關如何構建它的 mixxx::LibraryExporter - + Export Completed 导出已完成 - - Exported %1 track(s) and %2 crate(s). - 导出了 %1 个轨道和 %2 个板条箱。 + + Exported %1 track(s), %2 crate(s), and %3 playlist(s). + - + Export Failed 导出失败 - + Exporting to Engine DJ... 正在导出到 Engine DJ.. diff --git a/res/translations/source_copy_allow_list.tsv b/res/translations/source_copy_allow_list.tsv index b6c80b41dafd..a8062b987ba5 100644 --- a/res/translations/source_copy_allow_list.tsv +++ b/res/translations/source_copy_allow_list.tsv @@ -170,7 +170,7 @@ ca,de,el,en_CA,en_GB,es*,fr_CA,fr_CI,hu,it,nl,pt*,sl,sv Res * FPS: %0/%1 * \u276f * \u276e -de,hu,bs,cs,da,fr,hr,id,it,lb,ms,nb,nl,nn,oc,pl,ro,sk,sl,sv,vi,sq_AL Album +de,hu,bs,cs,da,fr,hr,id,it,lb,ms,nb,nl,nn,oc,pl,ro,sk,sl,sv,vi,sq_AL,pt* Album de,da,fr,lb,ms,nl,oc,sv Genre de,it,pl Bitrate: es,es_419,es_AR,es_CO,es_MX,ca,es_ES Error: @@ -183,26 +183,26 @@ hu,ca,de,et,fr,nb,pl,ro,sv,tr Port hu,cs,de,et,fi,fr,nl,pl,pt_BR,ro,ru,sl,vi,zh* A hu,pt,pt_PT,et,fi,nl,pl,pt_BR,ro,zh* Bb hu,et,fi,fr,nl,pl,pt_BR,ro,ru,sl,vi,zh* B -hu,cs,de,et,fi,fr,nl,pl,pt_BR,ro,ru,sl,vi,zh* C -hu,fi,nl,pl,pt_BR,ro,sl,zh* Db +hu,cs,de,et,fi,fr,nl,pl,pt_BR,ro,ru,sl,vi,zh*,pt C +hu,fi,nl,pl,pt_BR,ro,sl,zh*,pt Db hu,pt,pt_PT,cs,de,et,fi,fr,nl,pl,pt_BR,ro,ru,sl,vi,zh* D hu,et,fi,nl,pl,pt_BR,ro,sl,zh* Eb -hu,cs,de,et,fi,fr,nl,pl,pt_BR,ro,ru,sl,vi,zh* E -hu,cs,de,et,fi,fr,nl,pl,pt_BR,ro,ru,sl,vi,zh* F +hu,cs,de,et,fi,fr,nl,pl,pt_BR,ro,ru,sl,vi,zh*,pt E +hu,cs,de,et,fi,fr,nl,pl,pt_BR,ro,ru,sl,vi,zh*,pt F hu,et,fi,nl,pl,pt_BR,ro,sl,zh_CN F# hu,cs,de,et,fi,fr,nl,pl,pt_BR,ro,ru,sl,vi,zh* G -hu,et,fi,nl,pl,pt_BR,ro,sl,zh* Ab +hu,et,fi,nl,pl,pt_BR,ro,sl,zh*,pt Ab hu,et,fi,nl,pl,pt_BR,ro,sl,zh,zh_CN,zh_HK Am -hu,et,fi,nl,pl,pt_BR,ro,zh* Bbm -hu,et,fi,nl,pl,pt_BR,ro,zh* Bm +hu,et,fi,nl,pl,pt_BR,ro,zh*,pt Bbm +hu,et,fi,nl,pl,pt_BR,ro,zh*,pt Bm hu,et,fi,nl,pl,pt_BR,ro,sl,vi,zh,zh_CN,zh_HK Cm -hu,et,fi,nl,pl,pt_BR,ro,sl,zh_CN C#m -hu,et,fi,nl,pl,pt_BR,ro,sl,zh* Dm -hu,et,fi,nl,pl,pt_BR,ro,sl,zh,zh_CN,zh_HK Ebm -hu,de,et,fi,nl,pl,pt_BR,ro,sl,vi,zh* Em +hu,et,fi,nl,pl,pt_BR,ro,sl,zh_CN,pt C#m +hu,et,fi,nl,pl,pt_BR,ro,sl,zh*,pt Dm +hu,et,fi,nl,pl,pt_BR,ro,sl,zh,zh_CN,zh_HK,pt Ebm +hu,de,et,fi,nl,pl,pt_BR,ro,sl,vi,zh*,pt Em hu,et,fi,nl,pl,pt_BR,ro,sl,zh_CN Fm -hu,et,fi,nl,pl,pt_BR,ro,sl,zh,zh_CN,zh_HK F#m -hu,et,fi,nl,pl,pt_BR,ro,sl,zh,zh_CN,zh_HK Gm +hu,et,fi,nl,pl,pt_BR,ro,sl,zh,zh_CN,zh_HK,pt F#m +hu,et,fi,nl,pl,pt_BR,ro,sl,zh,zh_CN,zh_HK,pt Gm hu,et,fi,nl,pl,pt_BR,ro,sl,zh,zh_CN,zh_HK G#m * 10Hz * 10ms @@ -213,8 +213,8 @@ hu,et,fi,nl,pl,pt_BR,ro,sl,zh,zh_CN,zh_HK G#m hu,bs,de,eo,eu,fr,hr,it,lb,lt,lv,nb,nl,pt_PT,ro,sk,sv,vi Min hu,bs,de,eu,fr,hr,it,lb,nl,ro,sk,sv,vi Max pt,pt_BR,ca,de,fr,it,nl,pl,pt_PT,sl,sv Tremolo -pt_BR,da,de,id,it,nl,pt,ro Mixer -pt_BR,de,it,nl,pt_PT Reloop +pt_BR,da,de,id,it,nl,pt*,ro Mixer +pt_BR,de,it,nl,pt* Reloop de,es*,nl,pt_BR,vi Hotcues de,es* Hotcues %1-%2 nl,pl Hotcue index @@ -275,12 +275,12 @@ nl Intro start nl Type: nl Equalizer Plugin nl,sv,vi Reverb -nl Encoder +nl,it Encoder it,nl,pl,ro,vi Downsampling it,nl 32 bits float -nl Queen Mary Key Detector +nl,it Queen Mary Key Detector it Pitch -it,nl Hot cues +it,nl,zh* Hot cues it &File it,nl database sn Key @@ -329,12 +329,12 @@ fr Question fr Microphone fr %1 minutes fr,it Bypass Fr. -fr Gain 1 -fr Gain 2 +fr,sv Gain 1 +fr,sv Gain 2 fr,it,ru,es* Queen Mary University London fr,nl Distortion -fr Ratio (:1) -fr Ratio +fr,de Ratio (:1) +fr,de Ratio fr Variance fr &Options fr,nl Focus @@ -351,16 +351,16 @@ it Fine it Deck Equalizers it,nl,es* Lead-In it Frame rate -it,nl,pt_BR Caching +it,nl,pt* Caching it,nl skin -it decks +it,es* decks de Timer (Fallback) de,fr,it,nl,pl,sv,es* Outro de,nl Loops el,pt_BR Tool tips el,es*,eu,id,it,lb,nb,pt*,tr Scratching es*,fr,it,nl,pt*,sq_AL &Ok -es*,pt_BR Switch +es*,pt_BR,sv Switch es*,pt* Manual et,hr,it,tr,vi BPM Tap fr,it,nl,zh* pt @@ -371,7 +371,7 @@ nl Audio Buffer nl,sv OpenGL Direct Rendering nl,zh* Hard Clip nl,zh* Hard -sv (status text) +sv,de (status text) da Input de,nl Moog Filter de,fr,it,nl,pt*,ro,sv Phaser @@ -431,25 +431,37 @@ it legacy nl Waveform type es*,it,nl,zh* Knee (dBFS) es*,it,nl,zh* Knee -es*,nl Release +es*,nl,de Release it,nl Auto Makeup Gain it,nl Makeup it controllers nl &Reset nl Compressor -nl Release (ms) +nl,de Release (ms) it Tempo Tap zh* Soft Clipping zh* Hard Clipping es,es_419,es_AR,es_CO,es_ES,es_MX No -nl,sq_AL VID: +nl,sq_AL,es,es_419,es_AR,es_CO,es_ES,es_MX VID: nl Product ID -nl,sq_AL PID: +nl,sq_AL,es,es_419,es_AR,es_CO,es_ES,es_MX PID: nl Lossy nl Lossless nl Top -nl OpenGL Status +nl,de OpenGL Status nl Stem Label nl Stem Mute sq_AL Artist + Album -sq_AL Off +sq_AL,it Off +de Attack (ms) +de Attack +fr,it Ctrl+f +fr Ctrl+Shift+F +it Mixxx %1.%2 Development Team +it Okay +sv Decay +sv Kill Low +sv Kill Mid +sv Kill High +tr Mount +vi Samplerate From de57716ef419e353c56a2b8317f5ae34583ed67d Mon Sep 17 00:00:00 2001 From: Swiftb0y <12380386+Swiftb0y@users.noreply.github.com> Date: Thu, 26 Jun 2025 20:04:08 +0200 Subject: [PATCH 065/181] fix: broken CI due to deprecated `QCheckBox::checkStateChanged` --- src/preferences/dialog/dlgprefrecord.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/preferences/dialog/dlgprefrecord.cpp b/src/preferences/dialog/dlgprefrecord.cpp index 00814839cc61..02885df84315 100644 --- a/src/preferences/dialog/dlgprefrecord.cpp +++ b/src/preferences/dialog/dlgprefrecord.cpp @@ -126,7 +126,11 @@ DlgPrefRecord::DlgPrefRecord(QWidget* parent, UserSettingsPointer pConfig) &DlgPrefRecord::slotSliderCompression); connect(CheckBoxRecordCueFile, +#if QT_VERSION >= QT_VERSION_CHECK(6, 7, 0) + &QCheckBox::checkStateChanged, +#else &QCheckBox::stateChanged, +#endif this, &DlgPrefRecord::slotToggleCueEnabled); } From d7db5dc621747d1fd5897da67c07626eae90aab3 Mon Sep 17 00:00:00 2001 From: "Antoine C." Date: Sun, 29 Jun 2025 19:17:47 +0000 Subject: [PATCH 066/181] fix(controller): correctly derigister player manager --- src/coreservices.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/coreservices.cpp b/src/coreservices.cpp index aa7b311ec6f9..045f900a4367 100644 --- a/src/coreservices.cpp +++ b/src/coreservices.cpp @@ -865,8 +865,8 @@ void CoreServices::finalize() { mixxx::qml::QmlLibraryProxy::registerLibrary(nullptr); ControllerScriptEngineBase::registerTrackCollectionManager(nullptr); - ControllerScriptEngineBase::registerPlayerManager(nullptr); #endif + ControllerScriptEngineBase::registerPlayerManager(nullptr); // Stop all pending library operations qDebug() << t.elapsed(false).debugMillisWithUnit() << "stopping pending Library tasks"; From 1991f3ba341d1d91105a2d5ccf0774cffb3318d3 Mon Sep 17 00:00:00 2001 From: Sergey <5637569+fonsargo@users.noreply.github.com> Date: Thu, 10 Jul 2025 21:36:00 +0200 Subject: [PATCH 067/181] Rename constants + use time literals --- .../builtin/autogaincontroleffect.cpp | 33 ++++++++++--------- 1 file changed, 17 insertions(+), 16 deletions(-) diff --git a/src/effects/backends/builtin/autogaincontroleffect.cpp b/src/effects/backends/builtin/autogaincontroleffect.cpp index d0f75621c21d..01d3ef72f2c2 100644 --- a/src/effects/backends/builtin/autogaincontroleffect.cpp +++ b/src/effects/backends/builtin/autogaincontroleffect.cpp @@ -3,12 +3,13 @@ #include "util/math.h" namespace { -constexpr double defaultAttackMs = 1; -constexpr double defaultReleaseMs = 500; -constexpr double defaultThresholdDB = -40; -constexpr double defaultTargetDB = -5; -constexpr double defaultGainDB = 20; -constexpr double defaultKneeDB = 10; +using namespace std::chrono_literals; +constexpr std::chrono::milliseconds kDefaultAttack = 1ms; +constexpr std::chrono::milliseconds kDefaultRelease = 500ms; +constexpr double kDefaultThresholdDB = -40; +constexpr double kDefaultTargetDB = -5; +constexpr double kDefaultGainDB = 20; +constexpr double kDefaultKneeDB = 10; double calculateBallistics(double paramMs, const mixxx::EngineParameters& engineParameters) { return exp(-1000.0 / (paramMs * engineParameters.sampleRate())); @@ -44,7 +45,7 @@ EffectManifestPointer AutoGainControlEffect::getManifest() { threshold->setValueScaler(EffectManifestParameter::ValueScaler::Linear); threshold->setUnitsHint(EffectManifestParameter::UnitsHint::Decibel); threshold->setNeutralPointOnScale(0); - threshold->setRange(-70, defaultThresholdDB, 0); + threshold->setRange(-70, kDefaultThresholdDB, 0); EffectManifestParameterPointer target = pManifest->addParameter(); target->setId("target"); @@ -55,7 +56,7 @@ EffectManifestPointer AutoGainControlEffect::getManifest() { target->setValueScaler(EffectManifestParameter::ValueScaler::Linear); target->setUnitsHint(EffectManifestParameter::UnitsHint::Decibel); target->setNeutralPointOnScale(0); - target->setRange(-20, defaultTargetDB, 10); + target->setRange(-20, kDefaultTargetDB, 10); EffectManifestParameterPointer gain = pManifest->addParameter(); gain->setId("gain"); @@ -66,7 +67,7 @@ EffectManifestPointer AutoGainControlEffect::getManifest() { "the effect will apply")); gain->setValueScaler(EffectManifestParameter::ValueScaler::Linear); gain->setUnitsHint(EffectManifestParameter::UnitsHint::Decibel); - gain->setRange(1, defaultGainDB, 40); + gain->setRange(1, kDefaultGainDB, 40); EffectManifestParameterPointer knee = pManifest->addParameter(); knee->setId("knee"); @@ -79,7 +80,7 @@ EffectManifestPointer AutoGainControlEffect::getManifest() { knee->setValueScaler(EffectManifestParameter::ValueScaler::Linear); knee->setUnitsHint(EffectManifestParameter::UnitsHint::Coefficient); knee->setNeutralPointOnScale(0); - knee->setRange(0.0, defaultKneeDB, 24); + knee->setRange(0.0, kDefaultKneeDB, 24); EffectManifestParameterPointer attack = pManifest->addParameter(); attack->setId("attack"); @@ -90,7 +91,7 @@ EffectManifestPointer AutoGainControlEffect::getManifest() { "auto gain \nwill set in once the signal exceeds the threshold")); attack->setValueScaler(EffectManifestParameter::ValueScaler::Logarithmic); attack->setUnitsHint(EffectManifestParameter::UnitsHint::Millisecond); - attack->setRange(0, defaultAttackMs, 250); + attack->setRange(0, kDefaultAttack.count(), 250); EffectManifestParameterPointer release = pManifest->addParameter(); release->setId("release"); @@ -104,18 +105,18 @@ EffectManifestPointer AutoGainControlEffect::getManifest() { "may introduce a 'pumping' effect and/or distortion.")); release->setValueScaler(EffectManifestParameter::ValueScaler::Integral); release->setUnitsHint(EffectManifestParameter::UnitsHint::Millisecond); - release->setRange(0, defaultReleaseMs, 1500); + release->setRange(0, kDefaultRelease.count(), 1500); return pManifest; } void AutoGainControlGroupState::clear(const mixxx::EngineParameters& engineParameters) { state = CSAMPLE_ONE; - attackCoeff = calculateBallistics(defaultAttackMs, engineParameters); - releaseCoeff = calculateBallistics(defaultReleaseMs, engineParameters); + attackCoeff = calculateBallistics(kDefaultAttack.count(), engineParameters); + releaseCoeff = calculateBallistics(kDefaultRelease.count(), engineParameters); - previousAttackParamMs = defaultAttackMs; - previousReleaseParamMs = defaultReleaseMs; + previousAttackParamMs = kDefaultAttack.count(); + previousReleaseParamMs = kDefaultRelease.count(); previousSampleRate = engineParameters.sampleRate(); } From a7f3bbb0e9cdf9027ba1da23d82930976c504a1a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Sch=C3=BCrmann?= Date: Fri, 18 Jul 2025 20:00:40 +0200 Subject: [PATCH 068/181] Update Translation template. Found 3235 source text(s) (10 new and 3225 already existing) --- res/translations/mixxx.ts | 435 +++++++++++++++++++++----------------- 1 file changed, 244 insertions(+), 191 deletions(-) diff --git a/res/translations/mixxx.ts b/res/translations/mixxx.ts index 56fd19245fe5..752dc57f3845 100644 --- a/res/translations/mixxx.ts +++ b/res/translations/mixxx.ts @@ -4740,122 +4740,128 @@ You tried to learn: %1,%2 DlgPrefBroadcast - + Icecast 2 - + Shoutcast 1 - + Icecast 1 - + MP3 - + Ogg Vorbis - + Opus - + AAC - + HE-AAC - + HE-AACv2 - + Automatic - + Mono - + Stereo - - - - + + + + Action failed - + You can't create more than %1 source connections. - + Source connection %1 - + + Settings for %1 + Settings for broadcast profile, %1 is the profile name placeholder + + + + At least one source connection is required. - + Are you sure you want to disconnect every active source connection? - - + + Confirmation required - + '%1' has the same Icecast mountpoint as '%2'. Two source connections to the same server that have the same mountpoint can not be enabled simultaneously. - + Are you sure you want to delete '%1'? - + Renaming '%1' - + New name for '%1': - + Can't rename '%1' to '%2': name already in use @@ -6537,47 +6543,47 @@ and allows you to pitch adjust them for harmonic mixing. - + Choose a music directory - + Confirm Directory Removal - + Mixxx will no longer watch this directory for new tracks. What would you like to do with the tracks from this directory and subdirectories?<ul><li>Hide all tracks from this directory and subdirectories.</li><li>Delete all metadata for these tracks from Mixxx permanently.</li><li>Leave the tracks unchanged in your library.</li></ul>Hiding tracks saves their metadata in case you re-add them in the future. - + Metadata means all track details (artist, title, playcount, etc.) as well as beatgrids, hotcues, and loops. This choice only affects the Mixxx library. No files on disk will be changed or deleted. - + Hide Tracks - + Delete Track Metadata - + Leave Tracks Unchanged - + Relink music directory to new location - + Select Library Font @@ -6626,262 +6632,267 @@ and allows you to pitch adjust them for harmonic mixing. - + Audio File Formats - + Track Table View - + Track Double-Click Action: - + BPM display precision: - + Session History - + Track duplicate distance - + When playing a track again log it to the session history only if more than N other tracks have been played in the meantime - + History playlist with less than N tracks will be deleted<br/><br/>Note: the cleanup will be performed during startup and shutdown of Mixxx. - + Delete history playlist with less than N tracks - + Library Font: - + + Show scan summary dialog + + + + Grey out played tracks - + Track Search - + Enable search completions - + Enable search history keyboard shortcuts - + Percentage of pitch slider range for 'fuzzy' BPM search: - + This range will be used for the 'fuzzy' BPM search (~bpm:) via the search box, as well as for BPM search in Track context menu > Search related Tracks - + Preferred Cover Art Fetcher Resolution - + Fetch cover art from coverartarchive.com by using Import Metadata From Musicbrainz. - + Note: ">1200 px" can fetch up to very large cover arts. - + >1200 px (if available) - + 1200 px (if available) - + 500 px - + 250 px - + Settings Directory - + The Mixxx settings directory contains the library database, various configuration files, log files, track analysis data, as well as custom controller mappings. - + Edit those files only if you know what you are doing and only while Mixxx is not running. - + Open Mixxx Settings Folder - + Library Row Height: - + Use relative paths for playlist export if possible - + ... - + px - + Synchronize library track metadata from/to file tags - + Automatically write modified track metadata from the library into file tags and reimport metadata from updated file tags into the library - + Synchronize Serato track metadata from/to file tags (experimental) - + Keeps track color, beat grid, bpm lock, cue points, and loops synchronized with SERATO_MARKERS/MARKERS2 file tags.<br/><br/>WARNING: Enabling this option also enables the reimport of Serato metadata after files have been modified outside of Mixxx. On reimport existing metadata in Mixxx is replaced with the metadata found in file tags. Custom metadata not included in file tags like loop colors is lost. - + Edit metadata after clicking selected track - + Search-as-you-type timeout: - + ms - + Load track to next available deck - + External Libraries - + You will need to restart Mixxx for these settings to take effect. - + Show Rhythmbox Library - + Track Metadata Synchronization / Playlists - + Add track to Auto DJ queue (bottom) - + Add track to Auto DJ queue (top) - + Ignore - + Show Banshee Library - + Show iTunes Library - + Show Traktor Library - + Show Rekordbox Library - + Show Serato Library - + All external libraries shown are write protected. @@ -7226,33 +7237,33 @@ and allows you to pitch adjust them for harmonic mixing. DlgPrefRecord - + Choose recordings directory - - + + Recordings directory invalid - + Recordings directory must be set to an existing directory. - + Recordings directory must be set to a directory. - + Recordings directory not writable - + You do not have write access to %1. Choose a recordings directory you have write access to. @@ -7270,43 +7281,55 @@ and allows you to pitch adjust them for harmonic mixing. - - + + This will include the filepath for each track in the CUE file. +This option makes the CUE file less portable and can reveal personal +information from filepaths (i.e. username) + + + + + Enable File Annotation in CUE file + + + + + Quality - + Tags - + Title - + Author - + Album - + Output File Format - + Compression - + Lossy @@ -7321,12 +7344,12 @@ and allows you to pitch adjust them for harmonic mixing. - + Compression Level - + Lossless @@ -7930,17 +7953,17 @@ The loudness target is approximate and assumes track pregain and main output lev - + OpenGL not available - + dropped frames - + Cached waveforms occupy %1 MiB on disk. @@ -7958,22 +7981,22 @@ The loudness target is approximate and assumes track pregain and main output lev - + OpenGL Status - + Displays which OpenGL version is supported by the current platform. - + Normalize waveform overview - + Average frame rate @@ -7989,7 +8012,7 @@ The loudness target is approximate and assumes track pregain and main output lev - + Displays the actual frame rate. @@ -8024,7 +8047,7 @@ The loudness target is approximate and assumes track pregain and main output lev - + Show minute markers on waveform overview @@ -8069,7 +8092,7 @@ The loudness target is approximate and assumes track pregain and main output lev - + The waveform overview shows the waveform envelope of the entire track. Select from different types of displays for the waveform overview, which differ primarily in the level of detail shown in the waveform. @@ -8136,22 +8159,22 @@ Select from different types of displays for the waveform, which differ primarily - + Caching - + Mixxx caches the waveforms of your tracks on disk the first time you load a track. This reduces CPU usage when you are playing live but requires extra disk space. - + Enable waveform caching - + Generate waveforms when analyzing library @@ -8167,7 +8190,7 @@ Select from different types of displays for the waveform, which differ primarily - + Type @@ -8197,12 +8220,42 @@ Select from different types of displays for the waveform, which differ primarily - + + Stem + + + + + Channel opacity + + + + + Channel opacity (outline) + + + + + Main stem opacity + + + + + Outline stem opacity + + + + + Move channel to foreground when volume is adjusted + + + + Overview Waveforms - + Clear Cached Waveforms @@ -9859,249 +9912,249 @@ Do you really want to overwrite it? MixxxMainWindow - + Sound Device Busy - + <b>Retry</b> after closing the other application or reconnecting a sound device - - - + + + <b>Reconfigure</b> Mixxx's sound device settings. - - + + Get <b>Help</b> from the Mixxx Wiki. - - - + + + <b>Exit</b> Mixxx. - + Retry - + skin - + Allow Mixxx to hide the menu bar? - + Hide Always show the menu bar? - + Always show - + The Mixxx menu bar is hidden and can be toggled with a single press of the <b>Alt</b> key.<br><br>Click <b>%1</b> to agree.<br><br>Click <b>%2</b> to disable that, for example if you don't use Mixxx with a keyboard.<br><br>You can change this setting any time in Preferences -> Interface.<br> Keep formatting tags <b> (bold text) and <br> (linebreak). %1 is the placeholder for the 'Always show' button label - + Ask me again - - + + Reconfigure - + Help - - + + Exit - - + + Mixxx was unable to open all the configured sound devices. - + Sound Device Error - + <b>Retry</b> after fixing an issue - + No Output Devices - + Mixxx was configured without any output sound devices. Audio processing will be disabled without a configured output device. - + <b>Continue</b> without any outputs. - + Continue - + Load track to Deck %1 - + Deck %1 is currently playing a track. - + Are you sure you want to load a new track? - + There is no input device selected for this vinyl control. Please select an input device in the sound hardware preferences first. - + There is no input device selected for this passthrough control. Please select an input device in the sound hardware preferences first. - + There is no input device selected for this microphone. Do you want to select an input device? - + There is no input device selected for this auxiliary. Do you want to select an input device? - + Scan took %1 - + No changes detected. - - + + %1 tracks in total - + %1 new tracks found - + %1 moved tracks detected - + %1 tracks are missing (%2 total) - + %1 tracks have been rediscovered - + Library scan finished - + Error in skin file - + The selected skin cannot be loaded. - + OpenGL Direct Rendering - + Direct rendering is not enabled on your machine.<br><br>This means that the waveform displays will be very<br><b>slow and may tax your CPU heavily</b>. Either update your<br>configuration to enable direct rendering, or disable<br>the waveform displays in the Mixxx preferences by selecting<br>"Empty" as the waveform display in the 'Interface' section. - - - + + + Confirm Exit - + A deck is currently playing. Exit Mixxx? - + A sampler is currently playing. Exit Mixxx? - + The preferences window is still open. - + Discard any changes and exit Mixxx? @@ -11663,13 +11716,13 @@ Fully right: end of the effect period - + encoder failure - + Failed to apply the selected settings. @@ -12012,42 +12065,42 @@ may introduce a 'pumping' effect and/or distortion. - + Empty - + Simple - + Filtered - + HSV - + VSyncTest - + RGB - + Stacked - + Unknown @@ -12502,7 +12555,7 @@ may introduce a 'pumping' effect and/or distortion. SoftwareWaveformWidget - + Filtered From 695bb89810476ad6c93bd419fd903f7658c3bf75 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Sch=C3=BCrmann?= Date: Fri, 18 Jul 2025 20:08:45 +0200 Subject: [PATCH 069/181] Pull latest translations from https://www.transifex.com/mixxx-dj-software/mixxxdj/mixxx2-7/. Compile QM files out of TS files that are used by the localized app --- res/translations/mixxx_ca.qm | Bin 398938 -> 402193 bytes res/translations/mixxx_ca.ts | 471 +++++++++++++++++++--------------- res/translations/mixxx_fr.qm | Bin 510872 -> 513919 bytes res/translations/mixxx_fr.ts | 477 +++++++++++++++++++---------------- res/translations/mixxx_nl.qm | Bin 479003 -> 478973 bytes res/translations/mixxx_nl.ts | 437 ++++++++++++++++++-------------- 6 files changed, 772 insertions(+), 613 deletions(-) diff --git a/res/translations/mixxx_ca.qm b/res/translations/mixxx_ca.qm index 830d10f2d34d0aef2b8a1e444ca5354ef17c4c29..a339cfd0690d01af0e70bd09f157b6fa48703fff 100644 GIT binary patch delta 19784 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 P5gj+_f6jdw)29AE#9AyO delta 17890 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 diff --git a/res/translations/mixxx_ca.ts b/res/translations/mixxx_ca.ts index 5b55a2184c88..827eb20f6cde 100644 --- a/res/translations/mixxx_ca.ts +++ b/res/translations/mixxx_ca.ts @@ -4791,123 +4791,129 @@ Heu intentat aprendre: %1,%2 DlgPrefBroadcast - + Icecast 2 Icecast 2 - + Shoutcast 1 Shoutcast 1 - + Icecast 1 Icecast 1 - + MP3 MP3 - + Ogg Vorbis Ogg Vorbis - + Opus Opus - + AAC AAC - + HE-AAC HE-AAC - + HE-AACv2 HE-AACv2 - + Automatic Automàtic - + Mono Mono - + Stereo Estèreo - - - - + + + + Action failed La acció ha fallat - + You can't create more than %1 source connections. No podeu crear més de %1 connexions font. - + Source connection %1 Connexió font %1 - + + Settings for %1 + Settings for broadcast profile, %1 is the profile name placeholder + + + + At least one source connection is required. Es requereix com a mínim 1 connexió font. - + Are you sure you want to disconnect every active source connection? Segur que voleu desconnectar totes les connexions font actives? - - + + Confirmation required Es necessita confirmació - + '%1' has the same Icecast mountpoint as '%2'. Two source connections to the same server that have the same mountpoint can not be enabled simultaneously. «%1» té el mateix punt de muntatge Icecast que «%2». No es poden activar simultàniament dues connexions font al mateix servidor que tinguin el mateix punt de muntatge. - + Are you sure you want to delete '%1'? Esteu segur de voler esborrar '%1'? - + Renaming '%1' Reanomenant '%1' - + New name for '%1': Nom nou per a '%1': - + Can't rename '%1' to '%2': name already in use No es pot canviar el nom de '%1' a '%2': Aquest nom ja existeix @@ -6608,47 +6614,47 @@ and allows you to pitch adjust them for harmonic mixing. - + Choose a music directory Selecciona una carpeta de música - + Confirm Directory Removal Confirma la supressió de la carpeta - + Mixxx will no longer watch this directory for new tracks. What would you like to do with the tracks from this directory and subdirectories?<ul><li>Hide all tracks from this directory and subdirectories.</li><li>Delete all metadata for these tracks from Mixxx permanently.</li><li>Leave the tracks unchanged in your library.</li></ul>Hiding tracks saves their metadata in case you re-add them in the future. El Mixxx no revisarà més la carpeta per trobar noves pistes. Que voleu fer amb les pistes d'aquesta carpeta i subcarpetes?<ul><li>Amaga totes les pistes d'aquesta carpeta i subcarpetes.</li><li>Esborra les metadades d'aquestes pistes del Mixxx de forma permanent.</li><li>Deixa les pistes sense canviar a la Biblioteca</li></ul>Si s'amaguen les pistes, les metadades seguiran disponibles en cas que les afegíssiu de nou. - + Metadata means all track details (artist, title, playcount, etc.) as well as beatgrids, hotcues, and loops. This choice only affects the Mixxx library. No files on disk will be changed or deleted. Metadades significa tots els detalls de la pista (artista, títol, comptador de reproducció, etc.) així com les graelles de rtime, les marques directes i els bucles. Aquesta acció només afecta a la biblioteca del Mixxx. Els fitxers del disc no es canviaran ni s'esborraran. - + Hide Tracks Amaga les pistes - + Delete Track Metadata Esborra les metadades de les pistes - + Leave Tracks Unchanged Deixa les pistes sense canviar - + Relink music directory to new location Corregeix la ubicació de la carpeta de música - + Select Library Font Selecciona el tipus de lletra de la Biblioteca @@ -6697,262 +6703,267 @@ and allows you to pitch adjust them for harmonic mixing. Torna a escanejar els directoris a l'inici - + Audio File Formats Formats de fitxer d'àudio - + Track Table View Vista de la taula de pistes - + Track Double-Click Action: Acció de doble clic en la pista: - + BPM display precision: Precisió visual del BPM - + Session History Historial de sessions - + Track duplicate distance Distància entre pistes duplicades - + When playing a track again log it to the session history only if more than N other tracks have been played in the meantime - + History playlist with less than N tracks will be deleted<br/><br/>Note: the cleanup will be performed during startup and shutdown of Mixxx. - + Delete history playlist with less than N tracks Esborra els històrics de reproducció amb menys de N pistes - + Library Font: Tipus de lletra de la Biblioteca: - + + Show scan summary dialog + + + + Grey out played tracks - + Track Search - + Enable search completions Habilita les suggerències de cerca - + Enable search history keyboard shortcuts Habilita les tecles ràpides a l'històric de cerca - + Percentage of pitch slider range for 'fuzzy' BPM search: - + This range will be used for the 'fuzzy' BPM search (~bpm:) via the search box, as well as for BPM search in Track context menu > Search related Tracks - + Preferred Cover Art Fetcher Resolution Resolució preferida per recuperar portades - + Fetch cover art from coverartarchive.com by using Import Metadata From Musicbrainz. Recupera les portades de coverartarchive.com a l'importar les metadades des de Musicbrainz. - + Note: ">1200 px" can fetch up to very large cover arts. Nota: ">1200 px" pot recuperar portades molt grans - + >1200 px (if available) >1200 px (si està disponible) - + 1200 px (if available) 1200 px (si està disponible) - + 500 px 500 px - + 250 px 250 px - + Settings Directory Directori de les preferències - + The Mixxx settings directory contains the library database, various configuration files, log files, track analysis data, as well as custom controller mappings. - + Edit those files only if you know what you are doing and only while Mixxx is not running. Editeu els fitxers només si sabeu el que feu i només quan el Mixxx no estigui en execució. - + Open Mixxx Settings Folder Obre la carpeta de preferencies d'usuari de Mixxx - + Library Row Height: Alçada entre línies de la Biblioteca: - + Use relative paths for playlist export if possible Utilitza rutes relatives a l'hora d'exportar la llista de reproducció si és possible - + ... ... - + px pix - + Synchronize library track metadata from/to file tags Sincronitza les metadades de les pistes de la biblioteca des de/cap a les etiquetes dels fitxers - + Automatically write modified track metadata from the library into file tags and reimport metadata from updated file tags into the library - + Synchronize Serato track metadata from/to file tags (experimental) Sincronitza les metadades de pistes de Serato des de/cap a les etiquets de fitxer (experimental) - + Keeps track color, beat grid, bpm lock, cue points, and loops synchronized with SERATO_MARKERS/MARKERS2 file tags.<br/><br/>WARNING: Enabling this option also enables the reimport of Serato metadata after files have been modified outside of Mixxx. On reimport existing metadata in Mixxx is replaced with the metadata found in file tags. Custom metadata not included in file tags like loop colors is lost. - + Edit metadata after clicking selected track Edita les metadades al fer clic en la pista seleccionada - + Search-as-you-type timeout: Temps d’espera a la cerca en escriure: - + ms ms - + Load track to next available deck Carrega la pista al proper plat disponible - + External Libraries Llibreries externes - + You will need to restart Mixxx for these settings to take effect. Cal que reinicieu el Mixxx per a activar els canvis realitzats. - + Show Rhythmbox Library Mostra la biblioteca del Rhythmbox - + Track Metadata Synchronization / Playlists - + Add track to Auto DJ queue (bottom) Afegeix la pista a la cua de DJ automàtic (final) - + Add track to Auto DJ queue (top) Afegeix la pista a la cua de DJ automàtic (inici) - + Ignore Ignora - + Show Banshee Library Mostra la biblioteca del Banshee - + Show iTunes Library Mostra la biblioteca de l'iTunes - + Show Traktor Library Mostra la biblioteca del Traktor - + Show Rekordbox Library Mostra la llibreria del Rekordbox - + Show Serato Library Mostra la llibreria de Serato - + All external libraries shown are write protected. Totes les llibreries externes estan protegides contra escriptura @@ -7298,33 +7309,33 @@ Per més informació sobre aquestes opcions, aneu a %1 DlgPrefRecord - + Choose recordings directory Seleccioneu la carpeta d'enregistraments - - + + Recordings directory invalid El directori de les gravacions és incorrecte. - + Recordings directory must be set to an existing directory. El directori de les gravacions ha de ser un directori existent. - + Recordings directory must be set to a directory. Cal informar el camp de directori de gravacions - + Recordings directory not writable No es pot escriure al directori de gravacions - + You do not have write access to %1. Choose a recordings directory you have write access to. No teniu permis d'escriptura a %1. Seleccioneu un directori de gravació on tingueu permís d'escriptura. @@ -7342,43 +7353,55 @@ Per més informació sobre aquestes opcions, aneu a %1 Navega… - - + + This will include the filepath for each track in the CUE file. +This option makes the CUE file less portable and can reveal personal +information from filepaths (i.e. username) + + + + + Enable File Annotation in CUE file + + + + + Quality Qualitat - + Tags Etiquetes - + Title Tí­tol - + Author Autor - + Album Àlbum - + Output File Format Format de fitxer de sortida - + Compression Compressió - + Lossy Amb pèrdues @@ -7393,12 +7416,12 @@ Per més informació sobre aquestes opcions, aneu a %1 Directori: - + Compression Level Nivell de compressió - + Lossless Sense pèrdues @@ -7616,12 +7639,12 @@ The loudness target is approximate and assumes track pregain and main output lev 2048 frames/period - + 2048 frames/periode 4096 frames/period - + 4096 frames/període @@ -8002,17 +8025,17 @@ The loudness target is approximate and assumes track pregain and main output lev - + OpenGL not available OpenGL no està disponible - + dropped frames fotogrames descartats - + Cached waveforms occupy %1 MiB on disk. La memòria cau dels gràfics d'ona ocupa %1 MiB en disc. @@ -8030,22 +8053,22 @@ The loudness target is approximate and assumes track pregain and main output lev Velocitat de fotogrames - + OpenGL Status - + Displays which OpenGL version is supported by the current platform. Mostra quina versió de OpenGL suporta la plataforma actual. - + Normalize waveform overview Anivella el gràfic d'ona en la vista de forma d'ona general - + Average frame rate Velocitat mitjana de fotogrames @@ -8061,7 +8084,7 @@ The loudness target is approximate and assumes track pregain and main output lev Nivell de zoom per defecte - + Displays the actual frame rate. Mostra la velocitat de fotogrames actual @@ -8096,7 +8119,7 @@ The loudness target is approximate and assumes track pregain and main output lev Greus - + Show minute markers on waveform overview @@ -8141,7 +8164,7 @@ The loudness target is approximate and assumes track pregain and main output lev Guany visual global - + The waveform overview shows the waveform envelope of the entire track. Select from different types of displays for the waveform overview, which differ primarily in the level of detail shown in the waveform. La forma d'ona general mostra la forma de l'ona de la pista sencera. @@ -8210,22 +8233,22 @@ Seleccioneu entre els diferents tipus de gràfics per a la forma d'ona loca - + Caching Memoria cau - + Mixxx caches the waveforms of your tracks on disk the first time you load a track. This reduces CPU usage when you are playing live but requires extra disk space. El Mixxx emmagatzema a la memòria cau els gràfics d'ona de les vostres pistes a disc el primer cop que carregueu la pista en un plat. Això redueix el consum de CPU les posteriors vegades, però requereix espai addicional de disc. - + Enable waveform caching Habliita la memòria cau per a gràfics d'ona - + Generate waveforms when analyzing library Genera els gràfics d'ona a l'analitzar la biblioteca @@ -8241,7 +8264,7 @@ Seleccioneu entre els diferents tipus de gràfics per a la forma d'ona loca - + Type @@ -8271,12 +8294,42 @@ Seleccioneu entre els diferents tipus de gràfics per a la forma d'ona loca Mou el marcador de posició de reproducció de l'ona a l'esquerra, dreta o centre (per defecte). - + + Stem + + + + + Channel opacity + + + + + Channel opacity (outline) + + + + + Main stem opacity + + + + + Outline stem opacity + + + + + Move channel to foreground when volume is adjusted + + + + Overview Waveforms - + Clear Cached Waveforms Esborra la memòria cau dels gràfics d'ona @@ -9943,253 +9996,253 @@ Voleu sobreescriure aquesta llista? MixxxMainWindow - + Sound Device Busy El dispositiu de so està ocupat - + <b>Retry</b> after closing the other application or reconnecting a sound device <b>Torna-ho a provar</b> després de tancar l'altra aplicació o reconnectar el dispositiu d'àudio - - - + + + <b>Reconfigure</b> Mixxx's sound device settings. <b>Reconfigura</b> les opcions del dispositiu d'àudio de Mixxx - - + + Get <b>Help</b> from the Mixxx Wiki. Obteniu <b>ajuda</b> a la Vikipèdia de Mixxx. - - - + + + <b>Exit</b> Mixxx. <b>Surt</b> del Mixxx. - + Retry Torna a provar - + skin Tema - + Allow Mixxx to hide the menu bar? - + Hide Always show the menu bar? - + Always show - + The Mixxx menu bar is hidden and can be toggled with a single press of the <b>Alt</b> key.<br><br>Click <b>%1</b> to agree.<br><br>Click <b>%2</b> to disable that, for example if you don't use Mixxx with a keyboard.<br><br>You can change this setting any time in Preferences -> Interface.<br> Keep formatting tags <b> (bold text) and <br> (linebreak). %1 is the placeholder for the 'Always show' button label - + Ask me again - - + + Reconfigure Reconfigura - + Help Ajuda - - + + Exit Surt - - + + Mixxx was unable to open all the configured sound devices. El Mixxx no ha pogut obrir tots els dispositius de so configurats. - + Sound Device Error Error del dispositiu de so - + <b>Retry</b> after fixing an issue <b>Reintenta</b> després de corregir el problema - + No Output Devices No hi ha cap dispositiu de sortida - + Mixxx was configured without any output sound devices. Audio processing will be disabled without a configured output device. S'ha configurat el Mixxx sense cap dispositiu de so de sortida, per la qual cosa s'inhabilitarà el processament d'àudio. - + <b>Continue</b> without any outputs. <b>Continua</b> sense cap sortida. - + Continue Continua - + Load track to Deck %1 Carrega la pista a la platina %1 - + Deck %1 is currently playing a track. La platina %1 està reproduint una pista. - + Are you sure you want to load a new track? Esteu segur de voler carregar una nova pista? - + There is no input device selected for this vinyl control. Please select an input device in the sound hardware preferences first. No hi ha cap dispositiu d'entrada seleccionat per a aquest control de vinil. Si us plau, seleccioneu primer un dispositiu d'entrada a les preferències de Maquinari de so. - + There is no input device selected for this passthrough control. Please select an input device in the sound hardware preferences first. No hi ha cap dispositiu d'entrada seleccionat per a aquest control de pas d'audio. Si us plau, seleccioneu primer un dispositiu d'entrada a les preferències de Maquinari de so. - + There is no input device selected for this microphone. Do you want to select an input device? No hi ha cap dispositiu d'entrada seleccionat per aquest micròfon. Volue seleccionar ara un dispositiu d'entrada? - + There is no input device selected for this auxiliary. Do you want to select an input device? No hi ha cap dispositiu d'entrada seleccionat per aquest auxiliar. Voleu seleccionar ara un dispositiu d'entrada? - + Scan took %1 - + No changes detected. - - + + %1 tracks in total - + %1 new tracks found - + %1 moved tracks detected - + %1 tracks are missing (%2 total) - + %1 tracks have been rediscovered - + Library scan finished - + Error in skin file Error en el fitxer d'aparença - + The selected skin cannot be loaded. No es pot carregar l'aparença seleccionada. - + OpenGL Direct Rendering OpenGL Renderització Directa - + Direct rendering is not enabled on your machine.<br><br>This means that the waveform displays will be very<br><b>slow and may tax your CPU heavily</b>. Either update your<br>configuration to enable direct rendering, or disable<br>the waveform displays in the Mixxx preferences by selecting<br>"Empty" as the waveform display in the 'Interface' section. La Renderizació Directa no està habilitada a la vostra màquina.<br><br> Això significa que els gràfics forma d'ona seran molt <br><b>lents i poden fer servir molta CPU</b>. Prove de canviar la<br> configuració per habilitar la renderització directa, o desactiveu<br>els gràfics de forma d'ona a les preferències del Mixxx seleccionant<br>"Buit" al tipus de forma d'ona, en la secció de "Gràfics d'ona". - - - + + + Confirm Exit Confirma la sortida - + A deck is currently playing. Exit Mixxx? Un plat està reproduint encara. Voleu sortir del Mixxx? - + A sampler is currently playing. Exit Mixxx? Hi ha un reproductor de mostres que està reproduint. Segur que voleu sortir del Mixxx? - + The preferences window is still open. La finestra de preferències està oberta encara. - + Discard any changes and exit Mixxx? Descartar els canvis i sortir del Mixxx? @@ -11778,13 +11831,13 @@ Configureu un format diferent a les preferències La gravació amb OGG no està suportada. No s'ha pogut inicialitzar la llibreria OGG/Vorbis. - + encoder failure errada en el compressor - + Failed to apply the selected settings. No s'han pogut activar les opcions seleccionades @@ -12128,42 +12181,42 @@ may introduce a 'pumping' effect and/or distortion. - + Empty - + Simple - + Filtered - + HSV - + VSyncTest - + RGB - + Stacked - + Unknown @@ -12618,7 +12671,7 @@ may introduce a 'pumping' effect and/or distortion. SoftwareWaveformWidget - + Filtered Filtrat @@ -13502,7 +13555,7 @@ may introduce a 'pumping' effect and/or distortion. Shows the current volume for the right channel of the main output. - + Mostra el volum actual pel canal dret de la sortida mestra. @@ -13514,27 +13567,27 @@ may introduce a 'pumping' effect and/or distortion. Adjusts the main output gain. - + Ajusta el guany de la sortida mestra Determines the main output by fading between the left and right channels. - + Defineix la sortida mestra oscil·lant entre els canals esquerra i dret. Adjusts the left/right channel balance on the main output. - + Ajusta el balanç entre els canals esquerra/dret de la sortida mestra. Crossfades the headphone output between the main mix and cueing (PFL or Pre-Fader Listening) signal. - + Gradua la sortida d'auriculars entre la mescla principal i la monitorització (PFL o Escolta prèvia) If activated, the main mix signal plays in the right channel, while the cueing signal plays in the left channel. - + Si s'activa, la mescla principal s'escolta en el canal dret, mentre la monitorització s'escolta en el canal esquerra. @@ -13569,7 +13622,7 @@ may introduce a 'pumping' effect and/or distortion. mix microphone input into the main output. - + mescla l'entrada de micròfon a la sortida mestra @@ -13595,47 +13648,47 @@ may introduce a 'pumping' effect and/or distortion. If keylock is disabled, pitch is also affected. - + Si el bloqueig de to està desactivat, també afecta al to Speed Up - + Accelera Raises the track playback speed (tempo). - + Incrementa la velocitat de la pista (tempo). Raises playback speed in small steps. - + Canvia la velocitat de reproducció en petits increments Slow Down - + Desaccelera Lowers the track playback speed (tempo). - + Redueix la velocitat de la pista (tempo). Lowers playback speed in small steps. - + Canvia la velocitat en petites reduccions Speed Up Temporarily (Nudge) - + Accelera temporalment (Nudge) Holds playback speed higher while active (tempo). - + Accelera la velocitat de reproducció mentre està actiu (tempo). diff --git a/res/translations/mixxx_fr.qm b/res/translations/mixxx_fr.qm index a5f5f92ba862333b0754bdf4db77d21b6699639a..99d8fc0a5386306a8897fc650a38548937fd9219 100644 GIT binary patch delta 27545 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Μ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 MR#zByQ5zuq4~oxu?f?J) delta 26153 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 It shows the data from the file tags, not track data from your Mixxx library like other track views. - + Il affiche les données des métadonnées de fichiers, et non les données de piste en provenance de votre bibliothèque Mixxx comme les autres vues de piste. If you load a track file from here, it will be added to your library. - + Si vous chargez un fichier de piste à partir d'ici, il sera ajouté à votre bibliothèque. @@ -3763,7 +3763,7 @@ trace : ci-dessus + messages de profilage Auto DJ Track Source - Auto DJ Source de piste + Auto DJ source de piste @@ -4107,7 +4107,7 @@ Raccourci : Maj + F12 Disable Auto DJ Shortcut: Shift+F12 - Désctiver Auto DJ + Désactiver Auto DJ Raccourci : Maj + F12 @@ -4200,13 +4200,13 @@ Joue le piste entièrement. Commence le fondu enchaîné à partir du nombre de secondes sélectionné avant la fin de la piste. Une durée de transition négative ajoute un silence entre les pistes. -Passe les silences : +Passer les silences : Joue la piste entièrement sauf les silences au début et à la fin. -Commencez le fondu enchaîné à partir du nombre de secondes sélectionné avant le +Commence le fondu enchaîné à partir du nombre de secondes sélectionné avant le dernier son. -Sauter silence démarrer volume maximum : -Identique à Passe les silences, mais en démarrant les transitions avec un +Passer les silences et démarrer au volume maximum : +Identique à Passer les silences, mais en démarrant les transitions avec un curseur de mixage centré, de sorte que l'intro démarre à plein volume. @@ -4227,12 +4227,12 @@ curseur de mixage centré, de sorte que l'intro démarre à plein volume. Skip Silence - Passe les silences + Passer les silences Skip Silence Start Full Volume - Sauter silence démarrer volume maximum + Passer les silences et démarrer au volume maximum @@ -4791,123 +4791,129 @@ Vous avez tenté d'assigner : %1,%2 DlgPrefBroadcast - + Icecast 2 Icecast 2 - + Shoutcast 1 Shoutcast 1 - + Icecast 1 Icecast 1 - + MP3 MP3 - + Ogg Vorbis Ogg Vorbis - + Opus Opus - + AAC AAC - + HE-AAC HE-AAC - + HE-AACv2 HE-AACv2 - + Automatic Automatique - + Mono Mono - + Stereo Stéréo - - - - + + + + Action failed Échec de l'action - + You can't create more than %1 source connections. Vous ne pouvez pas créer plus de %1 connexion de source. - + Source connection %1 Connexion source %1 - + + Settings for %1 + Settings for broadcast profile, %1 is the profile name placeholder + Réglages de %1 + + + At least one source connection is required. Au moins une connexion de source est requise. - + Are you sure you want to disconnect every active source connection? Êtes-vous sûr de vouloir déconnecter toutes les connections de source actives? - - + + Confirmation required Confirmation requise - + '%1' has the same Icecast mountpoint as '%2'. Two source connections to the same server that have the same mountpoint can not be enabled simultaneously. '%1' a le même point de montage Icecast que '%2'. Deux de source de connexions vers le même serveur, ayant le même point de montage, ne peuvent pas être activé simultanément. - + Are you sure you want to delete '%1'? Êtes-vous sûr de vouloir effacer '%1' ? - + Renaming '%1' Renommage '%1' - + New name for '%1': Nouveau nom pour '%1' : - + Can't rename '%1' to '%2': name already in use Impossible de renommer '%1' en '%2' : nom déjà utilisé @@ -5691,12 +5697,12 @@ Appliquer les paramètres et continuer ? Force 3D acceleration - + Forcer l'accélération 3D If checked, Mixxx will always assume 3D acceleration is available. This may lead to pour performance if only CP-backed rendering is available.. - + Si cochée, Mixxx supposera que l'accélération 3D est toujours disponible. Cela peut entraîner une baisse des performances si le rendu disponible est basé uniquement sur le CPU. @@ -6615,47 +6621,47 @@ vous permettant ainsi d'ajuster la tonalité afin de produire une mixage ha L'élément n'est pas un répertoire ou un répertoire est manquant - + Choose a music directory Choisissez un répertoire de musique - + Confirm Directory Removal Confirmez la suppression du répertoire - + Mixxx will no longer watch this directory for new tracks. What would you like to do with the tracks from this directory and subdirectories?<ul><li>Hide all tracks from this directory and subdirectories.</li><li>Delete all metadata for these tracks from Mixxx permanently.</li><li>Leave the tracks unchanged in your library.</li></ul>Hiding tracks saves their metadata in case you re-add them in the future. Mixxx ne cherchera plus de nouvelles pistes dans ce répertoire. Que voulez-vous faire des pistes de ce répertoire et ses sous-répertoires<&nbsp>?<ul><li>Masquer toutes les pistes de ce répertoire et ses sous-répertoires.</li><li>Supprimer définitivement de Mixxx toutes les métadonnées de ces pistes.</li><li>Laisser ces pistes inchangées dans votre bibliothèque.</li></ul>Masquer des pistes enregistre leurs métadonnées au cas où vous les ajouteriez à nouveau dans le futur. - + Metadata means all track details (artist, title, playcount, etc.) as well as beatgrids, hotcues, and loops. This choice only affects the Mixxx library. No files on disk will be changed or deleted. Les métadonnées regroupent tous les détails de la piste (artiste, titre, nombre de lectures, etc...) ainsi que les grilles rythmiques, les repères rapides et les boucles. Ce choix n'affecte que la bibliothèque de Mixxx. Aucun fichier sur le disque ne sera modifié ou supprimé. - + Hide Tracks Masquer les pistes - + Delete Track Metadata Supprimer les métadonnées de la piste - + Leave Tracks Unchanged Ne pas modifier les pistes - + Relink music directory to new location Rattacher le répertoire musical à un autre emplacement - + Select Library Font Sélectionner la police pour la bibliothèque @@ -6704,262 +6710,267 @@ vous permettant ainsi d'ajuster la tonalité afin de produire une mixage ha Relire les répertoires au démarrage - + Audio File Formats Formats de fichiers audio - + Track Table View Vue table des pistes - + Track Double-Click Action: Action double-clic sur une piste : - + BPM display precision: Précision de l'affichage BPM : - + Session History Historique des sessions - + Track duplicate distance Distance pour doublon de piste - + When playing a track again log it to the session history only if more than N other tracks have been played in the meantime Lors de la nouvelle lecture d'une piste, enregistrez-la dans l'historique de la session uniquement si plus de N autres pistes ont été lues entre-temps. - + History playlist with less than N tracks will be deleted<br/><br/>Note: the cleanup will be performed during startup and shutdown of Mixxx. La liste de lecture de l'historique avec moins de N pistes sera supprimée<br/><br/>Remarque : le nettoyage sera effectué au démarrage et à l'arrêt de Mixxx. - + Delete history playlist with less than N tracks Supprimer la liste de lecture de l'historique contenant moins de N pistes - + Library Font: Police pour la bibliothèque : - + + Show scan summary dialog + + + + Grey out played tracks Griser les pistes déjà jouées - + Track Search Recherche de piste - + Enable search completions Activer les complétions de recherche - + Enable search history keyboard shortcuts Activer les raccourcis clavier pour l'historique de recherche - + Percentage of pitch slider range for 'fuzzy' BPM search: Pourcentage de la plage du curseur de hauteur (pitch) pour la recherche « floue » de BPM : - + This range will be used for the 'fuzzy' BPM search (~bpm:) via the search box, as well as for BPM search in Track context menu > Search related Tracks Cette plage sera utilisée pour la recherche « floue » de BPM (~bpm:) via le champ de recherche, ainsi que pour la recherche de BPM dans le menu contextuel de la piste > Rechercher les pistes associées - + Preferred Cover Art Fetcher Resolution Résolution préférée du récupérateur de pochette d'album - + Fetch cover art from coverartarchive.com by using Import Metadata From Musicbrainz. Récupérer les pochettes d'album depuis coverartarchive.com en utilisant l'importation de métadonnées depuis Musicbrainz. - + Note: ">1200 px" can fetch up to very large cover arts. Note : ">1200 px" peut récupérer de très larges images de couverture - + >1200 px (if available) >1200 px (si disponible) - + 1200 px (if available) 1200 px (si disponible) - + 500 px 500 px - + 250 px 250 px - + Settings Directory Répertoire des paramètres - + The Mixxx settings directory contains the library database, various configuration files, log files, track analysis data, as well as custom controller mappings. Le répertoire des paramètres Mixxx contient la base de données de la bibliothèque, divers fichiers de configuration, fichiers de journalisation, données d'analyse de piste, ainsi que des mappages de contrôleurs personnalisés. - + Edit those files only if you know what you are doing and only while Mixxx is not running. Modifier ces fichiers uniquement si vous savez ce que vous faites et uniquement lorsque Mixxx n'est pas en cours d'exécution. - + Open Mixxx Settings Folder Ouvrir le répertoire de paramètres Mixxx - + Library Row Height: Hauteur des lignes pour la bibliothèque : - + Use relative paths for playlist export if possible Utiliser si possible des chemins relatifs pour l'exportation de listes de lecture - + ... ... - + px px - + Synchronize library track metadata from/to file tags Synchroniser les métadonnées des pistes de la bibliothèque depuis/vers les tags de fichier - + Automatically write modified track metadata from the library into file tags and reimport metadata from updated file tags into the library Écrire automatiquement les métadonnées des pistes modifiées de la bibliothèque dans les tags de fichier et réimportez les métadonnées des tags de fichier mises à jour dans la bibliothèque. - + Synchronize Serato track metadata from/to file tags (experimental) Synchroniser les métadonnées Serato des pistes depuis/vers les tags de fichier (expérimental) - + Keeps track color, beat grid, bpm lock, cue points, and loops synchronized with SERATO_MARKERS/MARKERS2 file tags.<br/><br/>WARNING: Enabling this option also enables the reimport of Serato metadata after files have been modified outside of Mixxx. On reimport existing metadata in Mixxx is replaced with the metadata found in file tags. Custom metadata not included in file tags like loop colors is lost. Conserve la couleur de la piste, la grille rythmique, le verrouillage du BPM, les points de repère et les boucles synchronisés avec les tags de fichier SERATO_MARKERS/MARKERS2.<br/><br/>AVERTISSEMENT : l'activation de cette option active également la réimportation des métadonnées Serato après que les fichiers aient été modifiés en dehors de Mixxx. Lors de la réimportation, les métadonnées existantes dans Mixxx sont remplacées par les métadonnées trouvées dans les tags de fichier. Les métadonnées personnalisées non incluses dans les tags de fichier, comme les couleurs des boucles, sont perdues. - + Edit metadata after clicking selected track Éditer les métadonnées après avoir cliquer sur la piste sélectionnée - + Search-as-you-type timeout: Temporisation de la recherche en cours de frappe : - + ms ms - + Load track to next available deck Charger la piste sur la prochaine platine disponible - + External Libraries Bibliothèques externes - + You will need to restart Mixxx for these settings to take effect. Vous devez redémarrer Mixxx pour que ces paramètres prennent effet. - + Show Rhythmbox Library Afficher la Bibliothèque Rhythmbox - + Track Metadata Synchronization / Playlists Synchronisation des métadonnées de piste / listes de lecture - + Add track to Auto DJ queue (bottom) Ajouter la piste à la file d'attente Auto DJ (fin) - + Add track to Auto DJ queue (top) Ajouter la piste à la file d'attente Auto DJ (début) - + Ignore Pas d'effet - + Show Banshee Library Afficher la bibliothèqie Banshee - + Show iTunes Library Afficher la Bibliothèque iTunes - + Show Traktor Library Afficher la Bibliothèque Tracktor - + Show Rekordbox Library Afficher la Bibliothèque Rekordbox - + Show Serato Library Afficher la Bibliothèque Serato - + All external libraries shown are write protected. Toutes les bibliothèques externes affichées sont protégées en écriture. @@ -7304,33 +7315,33 @@ vous permettant ainsi d'ajuster la tonalité afin de produire une mixage ha DlgPrefRecord - + Choose recordings directory Sélectionnez le répertoire des enregistrements - - + + Recordings directory invalid Répertoire des enregistrements non valide - + Recordings directory must be set to an existing directory. Le répertoire des enregistrements doit être défini sur un répertoire existant. - + Recordings directory must be set to a directory. Le répertoire des enregistrements doit être défini sur un répertoire. - + Recordings directory not writable Répertoire des enregistrements non accessible en écriture - + You do not have write access to %1. Choose a recordings directory you have write access to. Vous n'avez pas d'accès en écriture à %1. Choisissez un répertoire d'enregistrements auquel vous avez accès en écriture. @@ -7348,43 +7359,55 @@ vous permettant ainsi d'ajuster la tonalité afin de produire une mixage ha Parcourir... - - + + This will include the filepath for each track in the CUE file. +This option makes the CUE file less portable and can reveal personal +information from filepaths (i.e. username) + + + + + Enable File Annotation in CUE file + + + + + Quality Qualité - + Tags Métadonnées - + Title Titre - + Author Auteur - + Album Album - + Output File Format Format de fichier de sortie - + Compression Compression - + Lossy Avec perte @@ -7399,12 +7422,12 @@ vous permettant ainsi d'ajuster la tonalité afin de produire une mixage ha Répertoire : - + Compression Level Niveau de compression - + Lossless Sans perte @@ -8010,17 +8033,17 @@ L'intensité sonore visée est approximatif et suppose que les gains d&apos Visualiseur de forme d'onde entier - + OpenGL not available OpenGL non disponible - + dropped frames images sautées - + Cached waveforms occupy %1 MiB on disk. La forme d'onde en cache occupe %1 MiB sur le disque. @@ -8038,22 +8061,22 @@ L'intensité sonore visée est approximatif et suppose que les gains d&apos Nombre d'images par seconde - + OpenGL Status Statut OpenGL - + Displays which OpenGL version is supported by the current platform. Affiche quelle version d'OpenGL est prise en charge sur la plateforme actuelle. - + Normalize waveform overview Normaliser la visualisation de la forme d'onde - + Average frame rate Taux moyen de fréquence d'images @@ -8069,7 +8092,7 @@ L'intensité sonore visée est approximatif et suppose que les gains d&apos Niveau de zoom par défaut - + Displays the actual frame rate. Affiche la vitesse de rafraîchissement courante. @@ -8104,7 +8127,7 @@ L'intensité sonore visée est approximatif et suppose que les gains d&apos Basse - + Show minute markers on waveform overview Afficher les marqueurs de minutes sur l'aperçu de la forme d'onde @@ -8149,7 +8172,7 @@ L'intensité sonore visée est approximatif et suppose que les gains d&apos Gain visuel général - + The waveform overview shows the waveform envelope of the entire track. Select from different types of displays for the waveform overview, which differ primarily in the level of detail shown in the waveform. L’aperçu de la forme d'onde montre l'enveloppe de la forme d'onde de la piste entière. @@ -8218,22 +8241,22 @@ Sélectionner depuis les différents types d'affichage de la forme d'o pt - + Caching Mise en cache - + Mixxx caches the waveforms of your tracks on disk the first time you load a track. This reduces CPU usage when you are playing live but requires extra disk space. Mixxx met en cache les formes d'onde de vos pistes sur le disque la première fois que vous chargez une piste. Cela réduit l'utilisation du CPU lorsque vous êtes en cours de lecture en direct, mais requiert plus d'espace disque. - + Enable waveform caching Activer la mise en cache des formes d'onde. - + Generate waveforms when analyzing library Générer les formes d'onde lors de l'analyse de la bibliothèque @@ -8249,7 +8272,7 @@ Sélectionner depuis les différents types d'affichage de la forme d'o - + Type Type @@ -8279,12 +8302,42 @@ Sélectionner depuis les différents types d'affichage de la forme d'o Déplace la position du marqueur de lecture sur les formes d'onde vers la gauche, la droite ou le centre (par défaut). - + + Stem + + + + + Channel opacity + + + + + Channel opacity (outline) + + + + + Main stem opacity + + + + + Outline stem opacity + + + + + Move channel to foreground when volume is adjusted + + + + Overview Waveforms Aperçu des formes d'ondes - + Clear Cached Waveforms Effacer les formes d'onde en cache. @@ -9957,253 +10010,253 @@ Voulez-vous vraiment l'écraser ? MixxxMainWindow - + Sound Device Busy Carte son occupée - + <b>Retry</b> after closing the other application or reconnecting a sound device <b>Réessayer</b> après avoir fermé l'autre application ou avoir reconnecté le périphérique de son - - - + + + <b>Reconfigure</b> Mixxx's sound device settings. <b>Reconfigurer</b> les options audio de Mixxx. - - + + Get <b>Help</b> from the Mixxx Wiki. Trouver <b>de l'aide</b> sur le Wiki Mixxx. - - - + + + <b>Exit</b> Mixxx. <b>Quitter</b> Mixxx. - + Retry Réessayer - + skin thème - + Allow Mixxx to hide the menu bar? Autoriser Mixxx à masquer la barre de menu ? - + Hide Always show the menu bar? Masquer - + Always show Toujours montrer - + The Mixxx menu bar is hidden and can be toggled with a single press of the <b>Alt</b> key.<br><br>Click <b>%1</b> to agree.<br><br>Click <b>%2</b> to disable that, for example if you don't use Mixxx with a keyboard.<br><br>You can change this setting any time in Preferences -> Interface.<br> Keep formatting tags <b> (bold text) and <br> (linebreak). %1 is the placeholder for the 'Always show' button label La barre de menu Mixxx est masquée et peut être basculée d'une simple pression sur le bouton <b>Alt</b>.<br><br>Clic <b>%1</b> pour accepter.<br><br>Clic <b>%2</b> pour désactiver, par exemple si vous n'utilisez pas Mixxx avec un clavier.<br><br>Vous pouvez modifier ce paramètre à tout moment dans Préférences --> Interface.<br> - + Ask me again Demandez-le moi encore - - + + Reconfigure Reconfigurer - + Help Aide - - + + Exit Quitter - - + + Mixxx was unable to open all the configured sound devices. Mixxx n'est pas parvenu à ouvrir tous les périphériques de son configurés. - + Sound Device Error Erreur de périphérique de son - + <b>Retry</b> after fixing an issue <b>Réessayer</b> après avoir solutionné un problème - + No Output Devices Aucun périphérique de sortie - + Mixxx was configured without any output sound devices. Audio processing will be disabled without a configured output device. Mixxx a été configuré sans aucun périphérique de sortie audio. Sans périphérique de sortie configuré, le traitement du son sera désactivé . - + <b>Continue</b> without any outputs. <b>Continuer</b> sans aucune sortie. - + Continue Continuer - + Load track to Deck %1 Charger la piste sur la platine %1 - + Deck %1 is currently playing a track. La platine %1 est en cours de lecture d'une piste. - + Are you sure you want to load a new track? Êtes-vous certain de vouloir charger une nouvelle piste ? - + There is no input device selected for this vinyl control. Please select an input device in the sound hardware preferences first. Aucun périphérique d'entrée n'est sélectionné pour ce contrôle vinyle. Veuillez d'abord en sélectionner un dans les Préférences du matériel sonore. - + There is no input device selected for this passthrough control. Please select an input device in the sound hardware preferences first. Il n'y a aucun périphérique d'entrée sélectionné pour ce contrôle intermédiaire. Veuillez d'abord en sélectionner un dans les Préférences du matériel sonore. - + There is no input device selected for this microphone. Do you want to select an input device? Aucun périphérique d'entrée n'est sélectionné pour ce microphone. Voulez-vous sélectionner un périphérique d'entrée ? - + There is no input device selected for this auxiliary. Do you want to select an input device? Aucun périphérique d'entrée n'est sélectionné pour cet auxiliaire. Voulez-vous sélectionner un périphérique d'entrée ? - + Scan took %1 Le scan a pris %1 - + No changes detected. Aucun changement détecté. - - + + %1 tracks in total %1 pistes au total - + %1 new tracks found %1 nouvelles pistes trouvées - + %1 moved tracks detected %1 pistes déplacées détectées - + %1 tracks are missing (%2 total) %1 titres sont manquants (%2 au total) - + %1 tracks have been rediscovered %1 pistes ont été redécouvertes - + Library scan finished Analyse de la bibliothèque terminée - + Error in skin file Erreur dans le fichier du thème - + The selected skin cannot be loaded. Le thème sélectionné ne peut pas être chargé. - + OpenGL Direct Rendering Rendu Direct OpenGL - + Direct rendering is not enabled on your machine.<br><br>This means that the waveform displays will be very<br><b>slow and may tax your CPU heavily</b>. Either update your<br>configuration to enable direct rendering, or disable<br>the waveform displays in the Mixxx preferences by selecting<br>"Empty" as the waveform display in the 'Interface' section. Le rendu direct n'est pas activé sur votre machine.<br><br> Cela signifie que l'affichage de la forme d'onde sera très<br><b>lent et risque de surcharger votre processeur</b>. Mettez à jour votre<br>configuration pour activer le rendu direct ou désactivez<br>les affichages de forme d'onde dans les préférences de Mixxx en sélectionnant<br>"Vide" comme affichage de forme d'onde dans la section "Interface". - - - + + + Confirm Exit Confirmer la fermeture - + A deck is currently playing. Exit Mixxx? Une platine est en cours de lecture. Quitter Mixxx ? - + A sampler is currently playing. Exit Mixxx? Un échantillonneur est en cours de lecture. Quitter Mixxx ? - + The preferences window is still open. La fenêtre de Préférences est déjà ouverte. - + Discard any changes and exit Mixxx? Abandonner toutes les modifications et quitter Mixxx ? @@ -10237,12 +10290,12 @@ Voulez-vous sélectionner un périphérique d'entrée ? Unlock all playlists - + Déverrouiller toutes les listes de lecture Delete all unlocked playlists - + Supprimer toutes les listes de lecture déverrouillées @@ -10253,17 +10306,17 @@ Voulez-vous sélectionner un périphérique d'entrée ? Confirm Deletion - + Confirmer la suppression Do you really want to delete all unlocked playlists? - + Voulez-vous vraiment supprimer toutes les listes de lecture déverrouillées ? Deleting %1 unlocked playlists.<br>This operation can not be undone! - + Suppression de %1 listes de lecture déverrouillées.<br>Cette opération est irréversible ! @@ -11799,13 +11852,13 @@ Complètement à droite : fin de la période d'effet L'enregistrement OGG n'est pas pris en charge. La bibliothèque OGG/Vorbis n'a pas pu être initialisée. - + encoder failure défaillance de l'encodeur - + Failed to apply the selected settings. Échec de l'application des paramètres sélectionnés. @@ -12157,42 +12210,42 @@ du signal d'entrée, des temps de relâchement courts peuvent introduire un Stem #%1 - + Empty Vide - + Simple Simple - + Filtered Filtré - + HSV HSV - + VSyncTest VSyncTest - + RGB RVB - + Stacked Empilé - + Unknown Inconnu @@ -12647,7 +12700,7 @@ du signal d'entrée, des temps de relâchement courts peuvent introduire un SoftwareWaveformWidget - + Filtered Filtré @@ -17141,17 +17194,17 @@ Cliquez sur OK pour sortir. Crates - + Bacs Playlists - + Listes de lecture Selected crates/playlists - + Bacs / Listes de lecture sélectionnés @@ -17244,7 +17297,7 @@ Cliquez sur OK pour sortir. Exported %1 track(s), %2 crate(s), and %3 playlist(s). - + %1 piste(s), %2 bac(s) et %3 listes de lecture ont été exportés diff --git a/res/translations/mixxx_nl.qm b/res/translations/mixxx_nl.qm index ae2ce14d4fff4f977f74a755d8261b8fd8938764..5c6e526f49e9c8aca77e7fb7a2c813184fd61d43 100644 GIT binary patch delta 17622 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 delta 17657 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 DlgPrefBroadcast - + Icecast 2 Icecast 2 - + Shoutcast 1 Shoutcast 1 - + Icecast 1 Icecast 1 - + MP3 MP3 - + Ogg Vorbis Ogg Vorbis - + Opus Opus - + AAC AAC - + HE-AAC HE-AAC - + HE-AACv2 HE-AACv2 - + Automatic Automatisch - + Mono Mono - + Stereo Stereo - - - - + + + + Action failed Actie mislukt - + You can't create more than %1 source connections. U kunt niet meer dan %1 bronverbindingen maken. - + Source connection %1 Bronverbinding %1 - + + Settings for %1 + Settings for broadcast profile, %1 is the profile name placeholder + + + + At least one source connection is required. Er is ten minste één bronverbinding vereist. - + Are you sure you want to disconnect every active source connection? Weet u zeker dat u elke actieve bronverbinding wilt verbreken? - - + + Confirmation required Bevestiging benodigd - + '%1' has the same Icecast mountpoint as '%2'. Two source connections to the same server that have the same mountpoint can not be enabled simultaneously. '%1' heeft hetzelfde Icecast mountpoint als '%2'. Twee bronverbindingen met dezelfde server die hetzelfde mountpoint hebben, kunnen niet tegelijkertijd worden ingeschakeld. - + Are you sure you want to delete '%1'? Weet u zeker dat u '%1' wilt verwijderen? - + Renaming '%1' Hernoemen '%1' - + New name for '%1': Nieuwe naam voor '%1': - + Can't rename '%1' to '%2': name already in use Kan de naam van '%1' niet hernoemen naar '%2': naam is al in gebruik @@ -6615,47 +6621,47 @@ and allows you to pitch adjust them for harmonic mixing. Het item is geen map of ontbreekt. - + Choose a music directory Kies een muziek folder - + Confirm Directory Removal Bevestig het verwijderen van de map - + Mixxx will no longer watch this directory for new tracks. What would you like to do with the tracks from this directory and subdirectories?<ul><li>Hide all tracks from this directory and subdirectories.</li><li>Delete all metadata for these tracks from Mixxx permanently.</li><li>Leave the tracks unchanged in your library.</li></ul>Hiding tracks saves their metadata in case you re-add them in the future. Mixxx zal deze map niet langer observeren voor nieuwe Tracks. Wat wil je doen met de Tracks in deze map en submappen?<ul><li>Verberg alle Tracks uit deze map en submappen. </li><li>Verwijder permanent alle metadata van deze Tracks uit Mixxx.</li><li>Laat de Tracks ongemoeid in je Bibliotheek.</li></ul>Tracks verbergen zal wel de metadata blijven bewaren mocht je ze in de toekomst opnieuw willen toevoegen. - + Metadata means all track details (artist, title, playcount, etc.) as well as beatgrids, hotcues, and loops. This choice only affects the Mixxx library. No files on disk will be changed or deleted. Metadata betekent alle Trackdetails (Artiest, Titel, Afspeelteller, etc.) evenals Beatgrids, Hotcues en Loops. Deze keuze heeft alleen betrekking op de Mixxx-Bibliotheek. Er worden geen bestanden op schijf gewijzigd of verwijderd. - + Hide Tracks Verberg Tracks - + Delete Track Metadata Verwijder Metadata - + Leave Tracks Unchanged Laat Tracks ongewijzigd - + Relink music directory to new location Koppel de muziekmap opnieuw aan een nieuwe locatie - + Select Library Font Selecteer Bibliotheeklettertype @@ -6704,262 +6710,267 @@ and allows you to pitch adjust them for harmonic mixing. Herscan de bestandsmappen bij opstarten - + Audio File Formats Audiobestandsindelingen - + Track Table View Track tabel aanzicht - + Track Double-Click Action: Actie bij dubbel klik op Track - + BPM display precision: BPM detail weergave : - + Session History Sessie Geschiedenis - + Track duplicate distance Track komt dubbel voor - + When playing a track again log it to the session history only if more than N other tracks have been played in the meantime Wanneer een Track opnieuw wordt afgespeeld dan wordt deze enkel in de geschiedenis opgeslagen als er ondertussen meer dan N andere Tracks werden afgespeeld. - + History playlist with less than N tracks will be deleted<br/><br/>Note: the cleanup will be performed during startup and shutdown of Mixxx. Geschiedenis afspeellijsten met minder dan N Tracks worden verwijderd<br/><br/>Opmerking: het opkuisen gebeurd tijdens het opstarten en afsluiten van Mixxx. - + Delete history playlist with less than N tracks Verwijder Geschiedenis afspeellijst als die minder dan N Tracks bevat - + Library Font: Lettertype Bibliotheek: - + + Show scan summary dialog + + + + Grey out played tracks Verduister gespeelde tracks in grijs. - + Track Search Zoek track - + Enable search completions Zoekterm vervolledigen toestaan - + Enable search history keyboard shortcuts Zoekgeschiedenis via toetsenbord-snelkoppelingen toestaan - + Percentage of pitch slider range for 'fuzzy' BPM search: Percentage van het bereik van de pitch glijder voor wazige BPM zoekfunctie: - + This range will be used for the 'fuzzy' BPM search (~bpm:) via the search box, as well as for BPM search in Track context menu > Search related Tracks Dit bereik zal zowel gebruikt worden in de wazige BPM zoekfunctie (`bpm) via het zoekvenster als voor de BPM zoekfunctie in het Track omgevingsmenu > en het Zoeken van Overeenkomstige Tracks - + Preferred Cover Art Fetcher Resolution Voorkeur resolutie bij zoeken naar Cover Art - + Fetch cover art from coverartarchive.com by using Import Metadata From Musicbrainz. Zoek Cover Art bij CcoverArtArchive.com door Metadata van Musicbrainz te importeren. - + Note: ">1200 px" can fetch up to very large cover arts. Opmerking: ">1200 px" kan leiden tot zeer grote Cover Art bestanden. - + >1200 px (if available) >1200 px (indien beschikbaar) - + 1200 px (if available) 1200 px (indien beschikbaar) - + 500 px 500 px - + 250 px 250 px - + Settings Directory Instellingen Map - + The Mixxx settings directory contains the library database, various configuration files, log files, track analysis data, as well as custom controller mappings. De Mixxx instellingenmap bevat de Bibliotheek-database, verschillende configuratie-bestanden, log-bestanden, Track-analyses, als ook persoonlijke controller instellingen. - + Edit those files only if you know what you are doing and only while Mixxx is not running. Bewerk deze bestanden alleen als u weet wat u doet en alleen terwijl Mixxx niet actief is. - + Open Mixxx Settings Folder Open Mixxx-instellingenmap - + Library Row Height: Rijhoogte Bibliotheek: - + Use relative paths for playlist export if possible Gebruik indien mogelijk relatieve paden bij exporteren van afspeellijsten - + ... ... - + px px - + Synchronize library track metadata from/to file tags Synchroniseer Bibliotheek Track metadata van /naar tags in bestanden. - + Automatically write modified track metadata from the library into file tags and reimport metadata from updated file tags into the library Automatisch de aangepaste Track-metadata vanuit de Bibliotheek naar de bestand-tags wegschrijven en de metadata opnieuw importeren vanuit de aangepaste bestanden naar de Bibliotheek. - + Synchronize Serato track metadata from/to file tags (experimental) Synchroniseer Serato Track metadata van/naar bestands-tags (experimenteel) - + Keeps track color, beat grid, bpm lock, cue points, and loops synchronized with SERATO_MARKERS/MARKERS2 file tags.<br/><br/>WARNING: Enabling this option also enables the reimport of Serato metadata after files have been modified outside of Mixxx. On reimport existing metadata in Mixxx is replaced with the metadata found in file tags. Custom metadata not included in file tags like loop colors is lost. Houdt Track kleur, Beat Grid, BPM vergrendeling, Cue-Punten en Loops gesynchroniseerd met SERATO_MARKERS/MARKERS2 BestandsTags.<br/><br/>WAARSCHUWING: Activatie van deze optie activeert ook het her-importeren van de Serato metadata nadat bestanden nuiten Mixxx werden aangepast. Bij her-import wordt de bestaande metadata in Mixxx vervangen door de metadata die in de BestandsTags. Aangepaste metadata die niet in BestandsTags wordt opgeslagen, wordt verloren (bijv. Loop Kleuren) - + Edit metadata after clicking selected track Bewerk metadata nadat u op de geselecteerde Track hebt geklikt - + Search-as-you-type timeout: Zoeken-bij-typen timeout: - + ms ms - + Load track to next available deck Laad Track naar het volgende beschikbare Deck - + External Libraries Externe Bibliotheken - + You will need to restart Mixxx for these settings to take effect. U moet Mixxx opnieuw opstarten om deze instellingen te activeren. - + Show Rhythmbox Library Toon Rhythmbox Bibliotheek - + Track Metadata Synchronization / Playlists Track Metadata Synchronisatie / Afspeellijsten - + Add track to Auto DJ queue (bottom) Track toevoegen aan Auto-DJ wachtrij (onderaan) - + Add track to Auto DJ queue (top) Track toevoegen aan Auto-DJ wachtrij (bovenaan) - + Ignore Negeren - + Show Banshee Library Laat Banshee Bibliotheek zien - + Show iTunes Library Toon iTunes Bibliotheek - + Show Traktor Library Toon Traktor Bibliotheek - + Show Rekordbox Library Toon Rekordbox Bibliotheek - + Show Serato Library Toon Serato Bibliotheek - + All external libraries shown are write protected. Alle weergegeven externe bibliotheken zijn tegen schrijven beveiligd. @@ -7304,33 +7315,33 @@ and allows you to pitch adjust them for harmonic mixing. DlgPrefRecord - + Choose recordings directory Kies de Map voor Opnames - - + + Recordings directory invalid Map voor Opnames ongeldig - + Recordings directory must be set to an existing directory. De Map voor Opnames moet op een bestaande map worden ingesteld. - + Recordings directory must be set to a directory. De Map voor Opnames moet ingesteld zijn op een map. - + Recordings directory not writable Map voor Opnames is niet beschrijfbaar - + You do not have write access to %1. Choose a recordings directory you have write access to. U heeft geen schrijftoegang tot %1. Kies een Map voor Opnames waartoe u schrijftoegang hebt. @@ -7348,43 +7359,55 @@ and allows you to pitch adjust them for harmonic mixing. Zoeken... - - + + This will include the filepath for each track in the CUE file. +This option makes the CUE file less portable and can reveal personal +information from filepaths (i.e. username) + + + + + Enable File Annotation in CUE file + + + + + Quality Kwaliteit - + Tags Labels - + Title Titel - + Author Auteur - + Album Album - + Output File Format Bestandsindeling voor Uitvoer - + Compression Compressie - + Lossy @@ -7399,12 +7422,12 @@ and allows you to pitch adjust them for harmonic mixing. Map: - + Compression Level Compressie Niveau - + Lossless @@ -8010,17 +8033,17 @@ Het DoelVolume is bij benadering en veronderstelt dat Track PreGain en Hoofd Out volledige waveform weergave - + OpenGL not available OpenGL niet beschikbaar - + dropped frames verloren frames - + Cached waveforms occupy %1 MiB on disk. Waveforms in cache gebruiken %1 MiB op schijf @@ -8038,22 +8061,22 @@ Het DoelVolume is bij benadering en veronderstelt dat Track PreGain en Hoofd Out Framesnelheid - + OpenGL Status OpenGL Status - + Displays which OpenGL version is supported by the current platform. Geeft weer welke OpenGL-versie wordt ondersteund door het huidige platform. - + Normalize waveform overview Normaliseer Waveform-overzicht - + Average frame rate Gemiddelde framesnelheid @@ -8069,7 +8092,7 @@ Het DoelVolume is bij benadering en veronderstelt dat Track PreGain en Hoofd Out Standaard zoomniveau - + Displays the actual frame rate. Geeft de werkelijke framesnelheid weer. @@ -8104,7 +8127,7 @@ Het DoelVolume is bij benadering en veronderstelt dat Track PreGain en Hoofd Out Laag - + Show minute markers on waveform overview Toon minuut-aanduidingen in waveform overview @@ -8149,7 +8172,7 @@ Het DoelVolume is bij benadering en veronderstelt dat Track PreGain en Hoofd Out Globale visuele versterking - + The waveform overview shows the waveform envelope of the entire track. Select from different types of displays for the waveform overview, which differ primarily in the level of detail shown in the waveform. Het waveform overzicht toont de waveform omslag van de hele Track. @@ -8218,22 +8241,22 @@ Kies uit verschillende soorten weergaven voor de waveform, die voornamelijk vers pt - + Caching Caching - + Mixxx caches the waveforms of your tracks on disk the first time you load a track. This reduces CPU usage when you are playing live but requires extra disk space. Mixxx buffert de waveforms van je Tracks in de cache op schijf wanneer een Track voor de eerste keer laadt. Dit vermindert het CPU-gebruik tijdens het live spelen, maar vereist extra schijfruimte. - + Enable waveform caching Schakel waveform caching in - + Generate waveforms when analyzing library Genereer waveforms bij het analyseren van de Bibliotheek @@ -8249,7 +8272,7 @@ Kies uit verschillende soorten weergaven voor de waveform, die voornamelijk vers - + Type Type @@ -8279,12 +8302,42 @@ Kies uit verschillende soorten weergaven voor de waveform, die voornamelijk vers Verplaatst de speelmarkeringspositie op de waveforms naar links, rechts of midden (standaard). - + + Stem + + + + + Channel opacity + + + + + Channel opacity (outline) + + + + + Main stem opacity + + + + + Outline stem opacity + + + + + Move channel to foreground when volume is adjusted + + + + Overview Waveforms Overzicht Waveform - + Clear Cached Waveforms Wis gebufferde Waveforms @@ -9824,7 +9877,7 @@ Wil je het echt overschrijven? It's taking Mixxx a minute to scan your music library, please wait... - Mixxx heeft ongeveer een minuut nodig om je muziekBibliotheek te scannen, even geduld... + Mixxx heeft even nodig om je muziekbibliotheek te scannen, even geduld... @@ -9957,253 +10010,253 @@ Wil je het echt overschrijven? MixxxMainWindow - + Sound Device Busy Geluisapparaat bezig - + <b>Retry</b> after closing the other application or reconnecting a sound device <b>Probeer opnieuw</b> na het afsluiten van de andere applicatie of het opnieuw aansluiten van een geluidsapparaat - - - + + + <b>Reconfigure</b> Mixxx's sound device settings. <b>Configureer</b> opnieuw de Mixxx instellingen van het geluidsapparaat. - - + + Get <b>Help</b> from the Mixxx Wiki. <b>Hulp</b>zoeken in de Mixxx Wiki. - - - + + + <b>Exit</b> Mixxx. <b>Verlaat</b> Mixxx. - + Retry Probeer opnieuw - + skin skin - + Allow Mixxx to hide the menu bar? Mixxx toestaan om de menu balk te verbergen? - + Hide Always show the menu bar? Verberg - + Always show Altijd tonen - + The Mixxx menu bar is hidden and can be toggled with a single press of the <b>Alt</b> key.<br><br>Click <b>%1</b> to agree.<br><br>Click <b>%2</b> to disable that, for example if you don't use Mixxx with a keyboard.<br><br>You can change this setting any time in Preferences -> Interface.<br> Keep formatting tags <b> (bold text) and <br> (linebreak). %1 is the placeholder for the 'Always show' button label De Mixxx menu balk is verborgen en kan worden opgeroepen met een enkele druk op de <b>Alt</b> toets.<br><br>Click <b>%1</b> om akkoord te gaan.<br><br>Click <b>%2</b> om dit uit te schakelen, bijvoorbeeld wanneer u Mixxx niet met een toetsenbord gebruikt.<br><br>U kan deze instelling altijd wijzigen in de Voorkeuren -> Interface.<br> - + Ask me again Vraag mij opnieuw - - + + Reconfigure Opnieuw configureren - + Help Help - - + + Exit Afsluiten - - + + Mixxx was unable to open all the configured sound devices. Mixxx kon niet alle geconfigureerde geluidsapparaten openen. - + Sound Device Error Fout met geluidsapparaat - + <b>Retry</b> after fixing an issue <b>Probeer opnieuw</b> na het oplossen van een probleem - + No Output Devices Geen uitvoerapparaten - + Mixxx was configured without any output sound devices. Audio processing will be disabled without a configured output device. Mixxx is ingesteld zonder uitvoerapparaten voor geluid. Geluidsverwerking wordt uitgeschakeld zonder een geconfigureerd uitvoerapparaat. - + <b>Continue</b> without any outputs. <b>Ga door</b> zonder uitvoer. - + Continue Verdergaan - + Load track to Deck %1 Laad Track in deck %1 - + Deck %1 is currently playing a track. Deck %1 speelt momenteel een Track af. - + Are you sure you want to load a new track? Bent u zeker dat u een nieuwe Track wil laden? - + There is no input device selected for this vinyl control. Please select an input device in the sound hardware preferences first. Er is geen invoerapparaat geselecteerd voor deze vinylbesturing. Selecteer eerst een invoerapparaat in de voorkeuren voor geluidshardware. - + There is no input device selected for this passthrough control. Please select an input device in the sound hardware preferences first. Er is geen invoerapparaat geselecteerd voor dit Directe Doorvoerapparaat. Selecteer eerst een invoerapparaat in de voorkeuren voor geluidsapparatuur. - + There is no input device selected for this microphone. Do you want to select an input device? Er is geen invoerapparaat geselecteerd voor deze microfoon. Wilt u een invoerapparaat selecteren? - + There is no input device selected for this auxiliary. Do you want to select an input device? Er is geen invoerapparaat geselecteerd voor deze Auxiliary. Wilt u een invoerapparaat selecteren? - + Scan took %1 - + No changes detected. - - + + %1 tracks in total - + %1 new tracks found - + %1 moved tracks detected - + %1 tracks are missing (%2 total) - + %1 tracks have been rediscovered - + Library scan finished - + Error in skin file Fout in Skin-bestand - + The selected skin cannot be loaded. De geselecteerde Skin kan niet worden geladen. - + OpenGL Direct Rendering OpenGL Direct Rendering - + Direct rendering is not enabled on your machine.<br><br>This means that the waveform displays will be very<br><b>slow and may tax your CPU heavily</b>. Either update your<br>configuration to enable direct rendering, or disable<br>the waveform displays in the Mixxx preferences by selecting<br>"Empty" as the waveform display in the 'Interface' section. OpenGL Directe weergave-herberekening is niet ingeschakeld op uw computer.<br><br> Dit betekent dat de weergave van de golfvormen erg<br><b> traag zal zijn en uw CPU zwaar kan belasten</b>. Werk uw <br> configuratie bij om OpenGL Directe weergave-herberekening mogelijk te maken of schakel<br>de waveform weergaven uit in de Mixxx-voorkeuren door "Leeg" te selecteren<br> als de waveform weergave in het gedeelte "Interface". - - - + + + Confirm Exit Afsluiten bevestigen - + A deck is currently playing. Exit Mixxx? Er is momenteel een deck actief. Mixxx afsluiten? - + A sampler is currently playing. Exit Mixxx? Er is momenteel een sampler actief. Mixxx afsluiten? - + The preferences window is still open. Het scherm "Voorkeuren" staat nog open. - + Discard any changes and exit Mixxx? Wijzigingen negeren en Mixxx afsluiten? @@ -11800,13 +11853,13 @@ Volledig rechts: einde van de effectperiode OGG-opname wordt niet ondersteund. OGG/Vorbis-Bibliotheek kan niet worden geïnitialiseerd. - + encoder failure encoderfout - + Failed to apply the selected settings. Kan de geselecteerde instellingen niet toepassen. @@ -12157,42 +12210,42 @@ release tijd zorgen voor een pompend effect en/of een vervorming. Stem #%1 - + Empty Leeg - + Simple Eenvoudig - + Filtered Gefilterd - + HSV HSV - + VSyncTest VSyncTest - + RGB RGB - + Stacked Gestapeld - + Unknown Onbekend @@ -12647,7 +12700,7 @@ release tijd zorgen voor een pompend effect en/of een vervorming. SoftwareWaveformWidget - + Filtered Gefilterd From 43e8e6c69f9efa8187a997435b6d04fb27ad5068 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Sch=C3=BCrmann?= Date: Fri, 18 Jul 2025 20:44:11 +0200 Subject: [PATCH 070/181] remove no longer maintained fr_CA and fr_CI languages --- res/translations/mixxx_fr_CA.qm | Bin 386767 -> 0 bytes res/translations/mixxx_fr_CA.ts | 15817 ------------------------------ res/translations/mixxx_fr_CI.qm | Bin 386767 -> 0 bytes res/translations/mixxx_fr_CI.ts | 15817 ------------------------------ 4 files changed, 31634 deletions(-) delete mode 100644 res/translations/mixxx_fr_CA.qm delete mode 100644 res/translations/mixxx_fr_CA.ts delete mode 100644 res/translations/mixxx_fr_CI.qm delete mode 100644 res/translations/mixxx_fr_CI.ts diff --git a/res/translations/mixxx_fr_CA.qm b/res/translations/mixxx_fr_CA.qm deleted file mode 100644 index 4a5593abaaa33aa982868f42b73c53a4424d00f1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 386767 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 diff --git a/res/translations/mixxx_fr_CA.ts b/res/translations/mixxx_fr_CA.ts deleted file mode 100644 index 554ba3829e9b..000000000000 --- a/res/translations/mixxx_fr_CA.ts +++ /dev/null @@ -1,15817 +0,0 @@ - - - : - - - - The size of the file which has been stored during the current recording in megabytes (MB) - - - - - AnalysisFeature - - - Analyze - Analyse - - - - AutoDJFeature - - - Crates - Caisses - - - - Remove Crate as Track Source - Remove Crate as Track Source - - - - Auto DJ - Auto DJ - - - - Add Crate as Track Source - Add Crate as Track Source - - - - BansheeFeature - - - - Banshee - Banshee - - - - - Error loading Banshee database - Erreur lors du chargement de la base de données de Banshee - - - - Banshee database file not found at - - La base de données banshee n'est pas trouvée à - - - - There was an error loading your Banshee database at - - Une erreur s'est produite lors du chargement de votre base de données Banshee à partir de - - - - - BaseExternalLibraryFeature - - - Add to Auto DJ Queue (bottom) - Ajouter à la file d'attente de l'auto-dj (en dernier) - - - - Add to Auto DJ Queue (top) - Ajouter à la file d'attente de l'auto-dj (en premier) - - - - Add to Auto DJ Queue (replace) - Add to Auto DJ Queue (replace) - - - - Import as Playlist - - - - - Import as Crate - Importer comme bac - - - - Crate Creation Failed - Crate Creation Failed - - - - Could not create crate, it most likely already exists: - Création de bac impossible, il existe probablement déjà : - - - - Playlist Creation Failed - La création de la liste de lecture a échoué - - - - An unknown error occurred while creating playlist: - Une erreur inconnue s'est produite lors de la création de la playlist: - - - - BasePlaylistFeature - - - New Playlist - Nouvelle playlist - - - - Add to Auto DJ Queue (bottom) - Ajouter à la file d'attente de l'auto-dj (en dernier) - - - - - Create New Playlist - Créer une nouvelle playlist - - - - Add to Auto DJ Queue (top) - Ajouter à la file d'attente de l'auto-dj (en premier) - - - - Remove - Supprimer - - - - Rename - Renommer - - - - Lock - Verrouiller - - - - Duplicate - Dupliquer - - - - - Import Playlist - Importer une liste de lecture - - - - Export Track Files - Exporter les fichiers des pistes - - - - Analyze entire Playlist - Analyser l'entièreté de la playlist - - - - Enter new name for playlist: - Entrer le nouveau nom de la liste de lecture : - - - - Duplicate Playlist - Dupliquer la liste de lecture - - - - - Enter name for new playlist: - Entrez un nom pour la nouvelle playlist - - - - - Export Playlist - Exporter la liste de lecture - - - - Add to Auto DJ Queue (replace) - Add to Auto DJ Queue (replace) - - - - Rename Playlist - Renommer la liste de lecture - - - - - Renaming Playlist Failed - Echec pour renommer la playlist - - - - - - A playlist by that name already exists. - Une liste de lecture du même nom exise déjà - - - - - - A playlist cannot have a blank name. - Une liste de lecture ne peut pas être sans nom. - - - - _copy - //: - Appendix to default name when duplicating a playlist - _copie - - - - - - - - - Playlist Creation Failed - La création de la liste de lecture a échoué - - - - - An unknown error occurred while creating playlist: - Une erreur inconnue s'est produite lors de la création de la playlist: - - - - Confirm Deletion - Confirmer la suppression - - - - Do you really want to delete playlist <b>%1</b>? - Voulez-vous vraiment supprimer la liste de lecture %1? - - - - M3U Playlist (*.m3u) - M3U Playlist (*.m3u) - - - - M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Text CSV (*.csv);;Readable Text (*.txt) - M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Texte CSV (*.csv);;Texte lisible (*.txt) - - - - BaseSqlTableModel - - - # - # - - - - Timestamp - Horodatage - - - - BaseTrackPlayerImpl - - - Couldn't load track. - Impossible de charger la piste. - - - - BaseTrackTableModel - - - Album - Album - - - - Album Artist - Artiste de l'album - - - - Artist - Artiste - - - - Bitrate - Débit - - - - BPM - BPM - - - - Channels - Channels - - - - Color - Color - - - - Comment - Commentaire - - - - Composer - Compositeur - - - - Cover Art - Couverture - - - - Date Added - Ajouté au : - - - - Last Played - Last Played - - - - Duration - Durée - - - - Type - Type - - - - Genre - Genre - - - - Grouping - Regroupement - - - - Key - Clé - - - - Location - Emplacement - - - - Preview - Aperçu - - - - Rating - Note - - - - ReplayGain - ReplayGain - - - - Samplerate - Samplerate - - - - Played - Joué - - - - Title - Titre - - - - Track # - Piste n° - - - - Year - Année - - - - Fetching image ... - Tooltip text on the cover art column shown when the cover is read from disk - - - - - BroadcastManager - - - Action failed - Échec de l'action - - - - Please enable at least one connection to use Live Broadcasting. - Veuillez activer au moins une connexion pour utiliser la diffusion en direct. - - - - BroadcastProfile - - - Can't use secure password storage: keychain access failed. - Impossible d'utiliser le stockage de mot de passe sécurisé: échec d'accès au trousseau. - - - - Secure password retrieval unsuccessful: keychain access failed. - La récupération de mot de passe sécurisé a échoué: échec d'accès au trousseau. - - - - Settings error - Erreur de paramétrage - - - - <b>Error with settings for '%1':</b><br> - <b>Erreur avec les paramètres de'%1':</b><br> - - - - BroadcastSettingsModel - - - Enabled - Activé - - - - Name - Nom - - - - Status - État - - - - Disconnected - Déconnecté - - - - Connecting... - Connction... - - - - Connected - Connecté - - - - Failed - Echec - - - - Unknown - Inconnu(e) - - - - BrowseFeature - - - Add to Quick Links - Ajouter aux Raccourcis Rapides - - - - Remove from Quick Links - Enlever des liens rapides - - - - Add to Library - Ajouter à la bibliothèque - - - - Quick Links - Quick Links - - - - - Devices - Devices - - - - Removable Devices - Removable Devices - - - - - Computer - Computer - - - - Music Directory Added - Music Directory Added - - - - You added one or more music directories. The tracks in these directories won't be available until you rescan your library. Would you like to rescan now? - You added one or more music directories. The tracks in these directories won't be available until you rescan your library. Would you like to rescan now? - - - - Scan - Scan - - - - "Computer" lets you navigate, view, and load tracks from folders on your hard disk and external devices. - "Computer" lets you navigate, view, and load tracks from folders on your hard disk and external devices. - - - - BrowseTableModel - - - Preview - Aperçu - - - - Filename - Filename - - - - Artist - Artiste - - - - Title - Titre - - - - Album - Album - - - - Track # - Piste n° - - - - Year - Année - - - - Genre - Genre - - - - Composer - Compositeur - - - - Comment - Commentaire - - - - Duration - Durée - - - - BPM - BPM - - - - Key - Clé - - - - Type - Type - - - - Bitrate - Débit - - - - ReplayGain - ReplayGain - - - - Location - Emplacement - - - - Album Artist - Artiste de l'album - - - - Grouping - Regroupement - - - - File Modified - File Modified - - - - File Created - File Created - - - - Mixxx Library - Mixxx Library - - - - Could not load the following file because it is in use by Mixxx or another application. - Could not load the following file because it is in use by Mixxx or another application. - - - - BulkController - - - USB Controller - USB Controller - - - - CachingReaderWorker - - - The file '%1' could not be found. - The file '%1' could not be found. - - - - The file '%1' could not be loaded. - The file '%1' could not be loaded. - - - - The file '%1' is empty and could not be loaded. - The file '%1' is empty and could not be loaded. - - - - CmdlineArgs - - - Mixxx is an open source DJ software. For more information, see: - Mixxx is an open source DJ software. For more information, see: - - - - Starts Mixxx in full-screen mode - Starts Mixxx in full-screen mode - - - - Use a custom locale for loading translations. (e.g 'fr') - Use a custom locale for loading translations. (e.g 'fr') - - - - Top-level directory where Mixxx should look for its resource files such as MIDI mappings, overriding the default installation location. - Top-level directory where Mixxx should look for its resource files such as MIDI mappings, overriding the default installation location. - - - - Path the debug statistics time line is written to - Path the debug statistics time line is written to - - - - Causes Mixxx to display/log all of the controller data it receives and script functions it loads - Causes Mixxx to display/log all of the controller data it receives and script functions it loads - - - - The controller mapping will issue more aggressive warnings and errors when detecting misuse of controller APIs. New Controller Mappings should be developed with this option enabled! - Le mappage du contrôleur émettra des avertissements et des erreurs plus agressifs lors de la détection d'une utilisation abusive des API du contrôleur. Les nouveaux mappages de contrôleur devraient être développés avec cette option activée ! - - - - Enables developer-mode. Includes extra log info, stats on performance, and a Developer tools menu. - Enables developer-mode. Includes extra log info, stats on performance, and a Developer tools menu. - - - - Top-level directory where Mixxx should look for settings. Default is: - Répertoire racine où Mixxx doit chercher les paramètres. -La valeur par défaut est: - - - - Use legacy vu meter - Utiliser le vu-mètre historique - - - - Use legacy spinny - - - - - Loads experimental QML GUI instead of legacy QWidget skin - Loads experimental QML GUI instead of legacy QWidget skin - - - - Enables safe-mode. Disables OpenGL waveforms, and spinning vinyl widgets. Try this option if Mixxx is crashing on startup. - Enables safe-mode. Disables OpenGL waveforms, and spinning vinyl widgets. Try this option if Mixxx is crashing on startup. - - - - [auto|always|never] Use colors on the console output. - [auto|always|never] Use colors on the console output. - - - - Sets the verbosity of command line logging. -critical - Critical/Fatal only -warning - Above + Warnings -info - Above + Informational messages -debug - Above + Debug/Developer messages -trace - Above + Profiling messages - Sets the verbosity of command line logging. -critical - Critical/Fatal only -warning - Above + Warnings -info - Above + Informational messages -debug - Above + Debug/Developer messages -trace - Above + Profiling messages - - - - Sets the the logging level at which the log buffer is flushed to mixxx.log. <level> is one of the values defined at --log-level above. - Sets the the logging level at which the log buffer is flushed to mixxx.log. <level> is one of the values defined at --log-level above. - - - - Breaks (SIGINT) Mixxx, if a DEBUG_ASSERT evaluates to false. Under a debugger you can continue afterwards. - Breaks (SIGINT) Mixxx, if a DEBUG_ASSERT evaluates to false. Under a debugger you can continue afterwards. - - - - Load the specified music file(s) at start-up. Each file you specify will be loaded into the next virtual deck. - Load the specified music file(s) at start-up. Each file you specify will be loaded into the next virtual deck. - - - - ColorPaletteEditor - - - Remove Color - Remove Color - - - - Add Color - Add Color - - - - Name - Nom - - - - - Remove Palette - Remove Palette - - - - Color - Color - - - - Assign to Hotcue Number - Assign to Hotcue Number - - - - Edited - Edited - - - - Do you really want to remove the palette permanently? - Do you really want to remove the palette permanently? - - - - ControlDelegate - - - No control chosen. - No control chosen. - - - - ControlModel - - - Group - Group - - - - Item - Item - - - - Value - Value - - - - Parameter - Parameter - - - - Title - Titre - - - - Description - Description - - - - ControlPickerMenu - - - Headphone Output - Headphone Output - - - - - - Deck %1 - Deck %1 - - - - Sampler %1 - Sampler %1 - - - - Preview Deck %1 - Preview Deck %1 - - - - Microphone %1 - Microphone %1 - - - - Auxiliary %1 - Auxiliary %1 - - - - Reset to default - Reset to default - - - - Effect Rack %1 - Effect Rack %1 - - - - Parameter %1 - Parameter %1 - - - - Mixer - Mixer - - - - - Crossfader - Crossfader - - - - Headphone mix (pre/main) - Headphone mix (pre/main) - - - - Toggle headphone split cueing - Toggle headphone split cueing - - - - Headphone delay - Headphone delay - - - - Transport - Transport - - - - Strip-search through track - Strip-search through track - - - - Play button - Play button - - - - - Set to full volume - Set to full volume - - - - - Set to zero volume - Set to zero volume - - - - Stop button - Stop button - - - - Jump to start of track and play - Jump to start of track and play - - - - Jump to end of track - Jump to end of track - - - - Reverse roll (Censor) button - Reverse roll (Censor) button - - - - Headphone listen button - Headphone listen button - - - - - Mute button - Mute button - - - - Toggle repeat mode - Toggle repeat mode - - - - - Mix orientation (e.g. left, right, center) - Mix orientation (e.g. left, right, center) - - - - - Set mix orientation to left - Set mix orientation to left - - - - - Set mix orientation to center - Set mix orientation to center - - - - - Set mix orientation to right - Set mix orientation to right - - - - Toggle slip mode - Toggle slip mode - - - - BPM - BPM - - - - Increase BPM by 1 - Increase BPM by 1 - - - - Decrease BPM by 1 - Decrease BPM by 1 - - - - Increase BPM by 0.1 - Increase BPM by 0.1 - - - - Decrease BPM by 0.1 - Decrease BPM by 0.1 - - - - BPM tap button - BPM tap button - - - - Toggle quantize mode - Toggle quantize mode - - - - One-time beat sync (tempo only) - One-time beat sync (tempo only) - - - - One-time beat sync (phase only) - One-time beat sync (phase only) - - - - Toggle keylock mode - Toggle keylock mode - - - - Equalizers - Equalizers - - - - Vinyl Control - Vinyl Control - - - - Toggle vinyl-control cueing mode (OFF/ONE/HOT) - Toggle vinyl-control cueing mode (OFF/ONE/HOT) - - - - Toggle vinyl-control mode (ABS/REL/CONST) - Toggle vinyl-control mode (ABS/REL/CONST) - - - - Pass through external audio into the internal mixer - Pass through external audio into the internal mixer - - - - Cues - Cues - - - - Cue button - Cue button - - - - Set cue point - Set cue point - - - - Go to cue point - Go to cue point - - - - Go to cue point and play - Go to cue point and play - - - - Go to cue point and stop - Go to cue point and stop - - - - Preview from cue point - Preview from cue point - - - - Cue button (CDJ mode) - Cue button (CDJ mode) - - - - Stutter cue - Stutter cue - - - - Hotcues - Points de repère - - - - Set, preview from or jump to hotcue %1 - Set, preview from or jump to hotcue %1 - - - - Clear hotcue %1 - Clear hotcue %1 - - - - Set hotcue %1 - Set hotcue %1 - - - - Jump to hotcue %1 - Jump to hotcue %1 - - - - Jump to hotcue %1 and stop - Jump to hotcue %1 and stop - - - - Jump to hotcue %1 and play - Jump to hotcue %1 and play - - - - Preview from hotcue %1 - Preview from hotcue %1 - - - - - Hotcue %1 - Hotcue %1 - - - - Looping - Looping - - - - Loop In button - Loop In button - - - - Loop Out button - Loop Out button - - - - Loop Exit button - Loop Exit button - - - - 1/2 - 1/2 - - - - 1 - 1 - - - - 2 - 2 - - - - 4 - 4 - - - - 8 - 8 - - - - 16 - 16 - - - - 32 - 32 - - - - 64 - 64 - - - - Move loop forward by %1 beats - Move loop forward by %1 beats - - - - Move loop backward by %1 beats - Move loop backward by %1 beats - - - - Create %1-beat loop - Create %1-beat loop - - - - Create temporary %1-beat loop roll - Create temporary %1-beat loop roll - - - - Library - Library - - - - Slot %1 - Slot %1 - - - - Headphone Mix - Headphone Mix - - - - Headphone Split Cue - Headphone Split Cue - - - - Headphone Delay - Headphone Delay - - - - Play - Play - - - - Fast Rewind - Fast Rewind - - - - Fast Rewind button - Fast Rewind button - - - - Fast Forward - Fast Forward - - - - Fast Forward button - Fast Forward button - - - - Strip Search - Strip Search - - - - Play Reverse - Play Reverse - - - - Play Reverse button - Play Reverse button - - - - Reverse Roll (Censor) - Reverse Roll (Censor) - - - - Jump To Start - Jump To Start - - - - Jumps to start of track - Jumps to start of track - - - - Play From Start - Play From Start - - - - Stop - Stop - - - - Stop And Jump To Start - Stop And Jump To Start - - - - Stop playback and jump to start of track - Stop playback and jump to start of track - - - - Jump To End - Jump To End - - - - Volume - Volume - - - - - - Volume Fader - Volume Fader - - - - - Full Volume - Full Volume - - - - - Zero Volume - Zero Volume - - - - Track Gain - Track Gain - - - - Track Gain knob - Track Gain knob - - - - - Mute - Mute - - - - Eject - Eject - - - - - Headphone Listen - Headphone Listen - - - - Headphone listen (pfl) button - Headphone listen (pfl) button - - - - Repeat Mode - Repeat Mode - - - - Slip Mode - Slip Mode - - - - - Orientation - Orientation - - - - - Orient Left - Orient Left - - - - - Orient Center - Orient Center - - - - - Orient Right - Orient Right - - - - BPM +1 - BPM +1 - - - - BPM -1 - BPM -1 - - - - BPM +0.1 - BPM +0.1 - - - - BPM -0.1 - BPM -0.1 - - - - BPM Tap - BPM Tap - - - - Adjust Beatgrid Faster +.01 - Adjust Beatgrid Faster +.01 - - - - Increase track's average BPM by 0.01 - Increase track's average BPM by 0.01 - - - - Adjust Beatgrid Slower -.01 - Adjust Beatgrid Slower -.01 - - - - Decrease track's average BPM by 0.01 - Decrease track's average BPM by 0.01 - - - - Move Beatgrid Earlier - Move Beatgrid Earlier - - - - Adjust the beatgrid to the left - Adjust the beatgrid to the left - - - - Move Beatgrid Later - Move Beatgrid Later - - - - Adjust the beatgrid to the right - Adjust the beatgrid to the right - - - - Adjust Beatgrid - Adjust Beatgrid - - - - Align beatgrid to current position - Align beatgrid to current position - - - - Adjust Beatgrid - Match Alignment - Adjust Beatgrid - Match Alignment - - - - Adjust beatgrid to match another playing deck. - Adjust beatgrid to match another playing deck. - - - - Quantize Mode - Quantize Mode - - - - Sync - Sync - - - - Beat Sync One-Shot - Beat Sync One-Shot - - - - Sync Tempo One-Shot - Sync Tempo One-Shot - - - - Sync Phase One-Shot - Sync Phase One-Shot - - - - Pitch control (does not affect tempo), center is original pitch - Pitch control (does not affect tempo), center is original pitch - - - - Pitch Adjust - Pitch Adjust - - - - Adjust pitch from speed slider pitch - Adjust pitch from speed slider pitch - - - - Match musical key - Match musical key - - - - Match Key - Match Key - - - - Reset Key - Reset Key - - - - Resets key to original - Resets key to original - - - - High EQ - High EQ - - - - Mid EQ - Mid EQ - - - - - Main Output - Main Output - - - - Main Output Balance - Main Output Balance - - - - Main Output Delay - Main Output Delay - - - - Main Output Gain - Main Output Gain - - - - Low EQ - Low EQ - - - - Toggle Vinyl Control - Toggle Vinyl Control - - - - Toggle Vinyl Control (ON/OFF) - Toggle Vinyl Control (ON/OFF) - - - - Vinyl Control Mode - Vinyl Control Mode - - - - Vinyl Control Cueing Mode - Vinyl Control Cueing Mode - - - - Vinyl Control Passthrough - Vinyl Control Passthrough - - - - Vinyl Control Next Deck - Vinyl Control Next Deck - - - - Single deck mode - Switch vinyl control to next deck - Single deck mode - Switch vinyl control to next deck - - - - Cue - Cue - - - - Set Cue - Set Cue - - - - Go-To Cue - Go-To Cue - - - - Go-To Cue And Play - Go-To Cue And Play - - - - Go-To Cue And Stop - Go-To Cue And Stop - - - - Preview Cue - Preview Cue - - - - Cue (CDJ Mode) - Cue (CDJ Mode) - - - - Stutter Cue - Stutter Cue - - - - Go to cue point and play after release - Go to cue point and play after release - - - - Clear Hotcue %1 - Clear Hotcue %1 - - - - Set Hotcue %1 - Set Hotcue %1 - - - - Jump To Hotcue %1 - Jump To Hotcue %1 - - - - Jump To Hotcue %1 And Stop - Jump To Hotcue %1 And Stop - - - - Jump To Hotcue %1 And Play - Jump To Hotcue %1 And Play - - - - Preview Hotcue %1 - Preview Hotcue %1 - - - - Loop In - Loop In - - - - Loop Out - Loop Out - - - - Loop Exit - Loop Exit - - - - Reloop/Exit Loop - Reloop/Exit Loop - - - - Loop Halve - Loop Halve - - - - Loop Double - Loop Double - - - - 1/32 - 1/32 - - - - 1/16 - 1/16 - - - - 1/8 - 1/8 - - - - 1/4 - 1/4 - - - - Move Loop +%1 Beats - Move Loop +%1 Beats - - - - Move Loop -%1 Beats - Move Loop -%1 Beats - - - - Loop %1 Beats - Loop %1 Beats - - - - Loop Roll %1 Beats - Loop Roll %1 Beats - - - - Add to Auto DJ Queue (bottom) - Ajouter à la file d'attente de l'auto-dj (en dernier) - - - - Append the selected track to the Auto DJ Queue - Append the selected track to the Auto DJ Queue - - - - Add to Auto DJ Queue (top) - Ajouter à la file d'attente de l'auto-dj (en premier) - - - - Prepend selected track to the Auto DJ Queue - Prepend selected track to the Auto DJ Queue - - - - Load Track - Load Track - - - - Load selected track - Load selected track - - - - Load selected track and play - Load selected track and play - - - - - Record Mix - Record Mix - - - - Toggle mix recording - Toggle mix recording - - - - Effects - Effets - - - - Quick Effects - Quick Effects - - - - Deck %1 Quick Effect Super Knob - Deck %1 Quick Effect Super Knob - - - - Quick Effect Super Knob (control linked effect parameters) - Quick Effect Super Knob (control linked effect parameters) - - - - - Quick Effect - Quick Effect - - - - Clear Unit - Clear Unit - - - - Clear effect unit - Clear effect unit - - - - Toggle Unit - Toggle Unit - - - - Dry/Wet - Dry/Wet - - - - Adjust the balance between the original (dry) and processed (wet) signal. - Adjust the balance between the original (dry) and processed (wet) signal. - - - - Super Knob - Super Knob - - - - Next Chain - Next Chain - - - - Assign - Assign - - - - Clear - Clear - - - - Clear the current effect - Clear the current effect - - - - Toggle - Toggle - - - - Toggle the current effect - Toggle the current effect - - - - Next - Next - - - - Switch to next effect - Switch to next effect - - - - Previous - Previous - - - - Switch to the previous effect - Switch to the previous effect - - - - Next or Previous - Next or Previous - - - - Switch to either next or previous effect - Switch to either next or previous effect - - - - - Parameter Value - Parameter Value - - - - - Microphone Ducking Strength - Microphone Ducking Strength - - - - Microphone Ducking Mode - Microphone Ducking Mode - - - - Gain - Gain - - - - Gain knob - Gain knob - - - - Shuffle the content of the Auto DJ queue - Shuffle the content of the Auto DJ queue - - - - Skip the next track in the Auto DJ queue - Skip the next track in the Auto DJ queue - - - - Auto DJ Toggle - Auto DJ Toggle - - - - Toggle Auto DJ On/Off - Toggle Auto DJ On/Off - - - - Microphone & Auxiliary Show/Hide - Microphone & Auxiliary Show/Hide - - - - Show/hide the microphone & auxiliary section - Show/hide the microphone & auxiliary section - - - - 4 Effect Units Show/Hide - 4 Effect Units Show/Hide - - - - Switches between showing 2 and 4 effect units - Switches between showing 2 and 4 effect units - - - - Mixer Show/Hide - Mixer Show/Hide - - - - Show or hide the mixer. - Show or hide the mixer. - - - - Cover Art Show/Hide (Library) - Cover Art Show/Hide (Library) - - - - Show/hide cover art in the library - Show/hide cover art in the library - - - - Library Maximize/Restore - Library Maximize/Restore - - - - Maximize the track library to take up all the available screen space. - Maximize the track library to take up all the available screen space. - - - - Effect Rack Show/Hide - Effect Rack Show/Hide - - - - Show/hide the effect rack - Show/hide the effect rack - - - - Waveform Zoom Out - Waveform Zoom Out - - - - Headphone Gain - Headphone Gain - - - - Headphone gain - Headphone gain - - - - Tap to sync tempo (and phase with quantize enabled), hold to enable permanent sync - Tap to sync tempo (and phase with quantize enabled), hold to enable permanent sync - - - - One-time beat sync tempo (and phase with quantize enabled) - One-time beat sync tempo (and phase with quantize enabled) - - - - Playback Speed - Playback Speed - - - - Playback speed control (Vinyl "Pitch" slider) - Playback speed control (Vinyl "Pitch" slider) - - - - Pitch (Musical key) - Pitch (Musical key) - - - - Increase Speed - Increase Speed - - - - Adjust speed faster (coarse) - Adjust speed faster (coarse) - - - - Increase Speed (Fine) - Increase Speed (Fine) - - - - Adjust speed faster (fine) - Adjust speed faster (fine) - - - - Decrease Speed - Decrease Speed - - - - Adjust speed slower (coarse) - Adjust speed slower (coarse) - - - - Adjust speed slower (fine) - Adjust speed slower (fine) - - - - Temporarily Increase Speed - Temporarily Increase Speed - - - - Temporarily increase speed (coarse) - Temporarily increase speed (coarse) - - - - Temporarily Increase Speed (Fine) - Temporarily Increase Speed (Fine) - - - - Temporarily increase speed (fine) - Temporarily increase speed (fine) - - - - Temporarily Decrease Speed - Temporarily Decrease Speed - - - - Temporarily decrease speed (coarse) - Temporarily decrease speed (coarse) - - - - Temporarily Decrease Speed (Fine) - Temporarily Decrease Speed (Fine) - - - - Temporarily decrease speed (fine) - Temporarily decrease speed (fine) - - - - - Adjust %1 - Adjust %1 - - - - Effect Unit %1 - Effect Unit %1 - - - - Button Parameter %1 - Button Parameter %1 - - - - Skin - Skin - - - - Controller - Contrôleur - - - - Crossfader / Orientation - Crossfader / Orientation - - - - Main Output gain - Main Output gain - - - - Main Output balance - Main Output balance - - - - Main Output delay - Main Output delay - - - - Headphone - Headphone - - - - - Kill %1 - Kill %1 - - - - Eject or un-eject track, i.e. reload the last-ejected track (of any deck)<br>Double-press to reload the last replaced track. In empty decks it reloads the second-last ejected track. - - - - - BPM / Beatgrid - BPM / Beatgrid - - - - Move Beatgrid - - - - - Adjust the beatgrid to the left or right - - - - - Sync / Sync Lock - Sync / Sync Lock - - - - Internal Sync Leader - Internal Sync Leader - - - - Toggle Internal Sync Leader - Toggle Internal Sync Leader - - - - - Internal Leader BPM - Internal Leader BPM - - - - Internal Leader BPM +1 - Internal Leader BPM +1 - - - - Increase internal Leader BPM by 1 - Increase internal Leader BPM by 1 - - - - Internal Leader BPM -1 - Internal Leader BPM -1 - - - - Decrease internal Leader BPM by 1 - Decrease internal Leader BPM by 1 - - - - Internal Leader BPM +0.1 - Internal Leader BPM +0.1 - - - - Increase internal Leader BPM by 0.1 - Increase internal Leader BPM by 0.1 - - - - Internal Leader BPM -0.1 - Internal Leader BPM -0.1 - - - - Decrease internal Leader BPM by 0.1 - Decrease internal Leader BPM by 0.1 - - - - Sync Leader - Sync Leader - - - - Sync mode 3-state toggle / indicator (Off, Soft Leader, Explicit Leader) - Sync mode 3-state toggle / indicator (Off, Soft Leader, Explicit Leader) - - - - Speed - Speed - - - - Decrease Speed (Fine) - Diminuer la vitesse (Fin) - - - - Pitch (Musical Key) - Pitch (Musical Key) - - - - Increase Pitch - Increase Pitch - - - - Increases the pitch by one semitone - Increases the pitch by one semitone - - - - Increase Pitch (Fine) - Increase Pitch (Fine) - - - - Increases the pitch by 10 cents - Increases the pitch by 10 cents - - - - Decrease Pitch - Decrease Pitch - - - - Decreases the pitch by one semitone - Decreases the pitch by one semitone - - - - Decrease Pitch (Fine) - Decrease Pitch (Fine) - - - - Decreases the pitch by 10 cents - Decreases the pitch by 10 cents - - - - Keylock - Keylock - - - - CUP (Cue + Play) - CUP (Cue + Play) - - - - Shift cue points earlier - Shift cue points earlier - - - - Shift cue points 10 milliseconds earlier - Shift cue points 10 milliseconds earlier - - - - Shift cue points earlier (fine) - Shift cue points earlier (fine) - - - - Shift cue points 1 millisecond earlier - Shift cue points 1 millisecond earlier - - - - Shift cue points later - Shift cue points later - - - - Shift cue points 10 milliseconds later - Shift cue points 10 milliseconds later - - - - Shift cue points later (fine) - Shift cue points later (fine) - - - - Shift cue points 1 millisecond later - Shift cue points 1 millisecond later - - - - Hotcues %1-%2 - Hotcues %1-%2 - - - - Intro / Outro Markers - Intro / Outro Markers - - - - Intro Start Marker - Intro Start Marker - - - - Intro End Marker - Intro End Marker - - - - Outro Start Marker - Outro Start Marker - - - - Outro End Marker - Outro End Marker - - - - intro start marker - intro start marker - - - - intro end marker - intro end marker - - - - outro start marker - outro start marker - - - - outro end marker - outro end marker - - - - Activate %1 - [intro/outro marker - Activate %1 - - - - Jump to or set the %1 - [intro/outro marker - Jump to or set the %1 - - - - Set %1 - [intro/outro marker - Set %1 - - - - Set or jump to the %1 - [intro/outro marker - Set or jump to the %1 - - - - Clear %1 - [intro/outro marker - Clear %1 - - - - Clear the %1 - [intro/outro marker - Clear the %1 - - - - Loop Selected Beats - Loop Selected Beats - - - - Create a beat loop of selected beat size - Create a beat loop of selected beat size - - - - Loop Roll Selected Beats - Loop Roll Selected Beats - - - - Create a rolling beat loop of selected beat size - Create a rolling beat loop of selected beat size - - - - Loop Beats - Loop Beats - - - - Loop Roll Beats - Loop Roll Beats - - - - Go To Loop In - Aller à l'entrée de boucle - - - - Go to Loop In button - Aller au bouton Entrée de Boucle - - - - Go To Loop Out - Aller à la Fin de Boucle - - - - Go to Loop Out button - Aller au bouton Fin de Boucle - - - - Toggle loop on/off and jump to Loop In point if loop is behind play position - Toggle loop on/off and jump to Loop In point if loop is behind play position - - - - Reloop And Stop - Reloop And Stop - - - - Enable loop, jump to Loop In point, and stop - Enable loop, jump to Loop In point, and stop - - - - Halve the loop length - Halve the loop length - - - - Double the loop length - Double the loop length - - - - Beat Jump / Loop Move - Beat Jump / Loop Move - - - - Jump / Move Loop Forward %1 Beats - Jump / Move Loop Forward %1 Beats - - - - Jump / Move Loop Backward %1 Beats - Jump / Move Loop Backward %1 Beats - - - - Jump forward by %1 beats, or if a loop is enabled, move the loop forward %1 beats - Jump forward by %1 beats, or if a loop is enabled, move the loop forward %1 beats - - - - Jump backward by %1 beats, or if a loop is enabled, move the loop backward %1 beats - Jump backward by %1 beats, or if a loop is enabled, move the loop backward %1 beats - - - - Beat Jump / Loop Move Forward Selected Beats - Beat Jump / Loop Move Forward Selected Beats - - - - Jump forward by the selected number of beats, or if a loop is enabled, move the loop forward by the selected number of beats - Jump forward by the selected number of beats, or if a loop is enabled, move the loop forward by the selected number of beats - - - - Beat Jump / Loop Move Backward Selected Beats - Beat Jump / Loop Move Backward Selected Beats - - - - Jump backward by the selected number of beats, or if a loop is enabled, move the loop backward by the selected number of beats - Jump backward by the selected number of beats, or if a loop is enabled, move the loop backward by the selected number of beats - - - - Beat Jump / Loop Move Forward - Beat Jump / Loop Move Forward - - - - Beat Jump / Loop Move Backward - Beat Jump / Loop Move Backward - - - - Loop Move Forward - Loop Move Forward - - - - Loop Move Backward - Loop Move Backward - - - - Remove Temporary Loop - - - - - Remove the temporary loop - - - - - Navigation - Navigation - - - - Move up - Move up - - - - Equivalent to pressing the UP key on the keyboard - Equivalent to pressing the UP key on the keyboard - - - - Move down - Move down - - - - Equivalent to pressing the DOWN key on the keyboard - Equivalent to pressing the DOWN key on the keyboard - - - - Move up/down - Move up/down - - - - Move vertically in either direction using a knob, as if pressing UP/DOWN keys - Move vertically in either direction using a knob, as if pressing UP/DOWN keys - - - - Scroll Up - Scroll Up - - - - Equivalent to pressing the PAGE UP key on the keyboard - Equivalent to pressing the PAGE UP key on the keyboard - - - - Scroll Down - Scroll Down - - - - Equivalent to pressing the PAGE DOWN key on the keyboard - Equivalent to pressing the PAGE DOWN key on the keyboard - - - - Scroll up/down - Scroll up/down - - - - Scroll vertically in either direction using a knob, as if pressing PGUP/PGDOWN keys - Scroll vertically in either direction using a knob, as if pressing PGUP/PGDOWN keys - - - - Move left - Move left - - - - Equivalent to pressing the LEFT key on the keyboard - Equivalent to pressing the LEFT key on the keyboard - - - - Move right - Move right - - - - Equivalent to pressing the RIGHT key on the keyboard - Equivalent to pressing the RIGHT key on the keyboard - - - - Move left/right - Move left/right - - - - Move horizontally in either direction using a knob, as if pressing LEFT/RIGHT keys - Move horizontally in either direction using a knob, as if pressing LEFT/RIGHT keys - - - - Move focus to right pane - Move focus to right pane - - - - Equivalent to pressing the TAB key on the keyboard - Equivalent to pressing the TAB key on the keyboard - - - - Move focus to left pane - Move focus to left pane - - - - Equivalent to pressing the SHIFT+TAB key on the keyboard - Equivalent to pressing the SHIFT+TAB key on the keyboard - - - - Move focus to right/left pane - Move focus to right/left pane - - - - Move focus one pane to right or left using a knob, as if pressing TAB/SHIFT+TAB keys - Move focus one pane to right or left using a knob, as if pressing TAB/SHIFT+TAB keys - - - - Sort focused column - Trier la colonne sélectionnée - - - - Sort the column of the cell that is currently focused, equivalent to clicking on its header - Trier la colonne contenant la cellule sélectionnée, équivaut à cliquer sur l'en-tête - - - - Go to the currently selected item - Go to the currently selected item - - - - Choose the currently selected item and advance forward one pane if appropriate - Choose the currently selected item and advance forward one pane if appropriate - - - - Load Track and Play - Load Track and Play - - - - Add to Auto DJ Queue (replace) - Add to Auto DJ Queue (replace) - - - - Replace Auto DJ Queue with selected tracks - Replace Auto DJ Queue with selected tracks - - - - Select next search history - Select next search history - - - - Selects the next search history entry - Selects the next search history entry - - - - Select previous search history - Select previous search history - - - - Selects the previous search history entry - Selects the previous search history entry - - - - Move selected search entry - Move selected search entry - - - - Moves the selected search history item into given direction and steps - Moves the selected search history item into given direction and steps - - - - Clear search - Clear search - - - - Clears the search query - Clears the search query - - - - Deck %1 Quick Effect Enable Button - Deck %1 Quick Effect Enable Button - - - - Quick Effect Enable Button - Quick Effect Enable Button - - - - Enable or disable effect processing - Enable or disable effect processing - - - - Super Knob (control effects' Meta Knobs) - Super Knob (control effects' Meta Knobs) - - - - Mix Mode Toggle - Mix Mode Toggle - - - - Toggle effect unit between D/W and D+W modes - Toggle effect unit between D/W and D+W modes - - - - Next chain preset - Next chain preset - - - - Previous Chain - Previous Chain - - - - Previous chain preset - Previous chain preset - - - - Next/Previous Chain - Next/Previous Chain - - - - Next or previous chain preset - Next or previous chain preset - - - - - Show Effect Parameters - Show Effect Parameters - - - - Effect Unit Assignment - Effect Unit Assignment - - - - Meta Knob - Meta Knob - - - - Effect Meta Knob (control linked effect parameters) - Effect Meta Knob (control linked effect parameters) - - - - Meta Knob Mode - Meta Knob Mode - - - - Set how linked effect parameters change when turning the Meta Knob. - Set how linked effect parameters change when turning the Meta Knob. - - - - Meta Knob Mode Invert - Meta Knob Mode Invert - - - - Invert how linked effect parameters change when turning the Meta Knob. - Invert how linked effect parameters change when turning the Meta Knob. - - - - - Button Parameter Value - Button Parameter Value - - - - Microphone / Auxiliary - Microphone / Auxiliary - - - - Microphone On/Off - Microphone On/Off - - - - Microphone on/off - Microphone on/off - - - - Toggle microphone ducking mode (OFF, AUTO, MANUAL) - Toggle microphone ducking mode (OFF, AUTO, MANUAL) - - - - Auxiliary On/Off - Auxiliary On/Off - - - - Auxiliary on/off - Auxiliary on/off - - - - Auto DJ - Auto DJ - - - - Auto DJ Shuffle - Auto DJ Shuffle - - - - Auto DJ Skip Next - Auto DJ Skip Next - - - - Auto DJ Add Random Track - Auto DJ Add Random Track - - - - Add a random track to the Auto DJ queue - Add a random track to the Auto DJ queue - - - - Auto DJ Fade To Next - Auto DJ Fade To Next - - - - Trigger the transition to the next track - Trigger the transition to the next track - - - - User Interface - User Interface - - - - Samplers Show/Hide - Samplers Show/Hide - - - - Show/hide the sampler section - Show/hide the sampler section - - - - Waveform Zoom Reset To Default - - - - - Reset the waveform zoom level to the default value selected in Preferences -> Waveforms - - - - - Start/Stop Live Broadcasting - Start/Stop Live Broadcasting - - - - Stream your mix over the Internet. - Stream your mix over the Internet. - - - - Start/stop recording your mix. - Start/stop recording your mix. - - - - - Samplers - Samplers - - - - Vinyl Control Show/Hide - Vinyl Control Show/Hide - - - - Show/hide the vinyl control section - Show/hide the vinyl control section - - - - Preview Deck Show/Hide - Preview Deck Show/Hide - - - - Show/hide the preview deck - Show/hide the preview deck - - - - Toggle 4 Decks - Toggle 4 Decks - - - - Switches between showing 2 decks and 4 decks. - Switches between showing 2 decks and 4 decks. - - - - Cover Art Show/Hide (Decks) - Cover Art Show/Hide (Decks) - - - - Show/hide cover art in the main decks - Show/hide cover art in the main decks - - - - Vinyl Spinner Show/Hide - Vinyl Spinner Show/Hide - - - - Show/hide spinning vinyl widget - Show/hide spinning vinyl widget - - - - Vinyl Spinners Show/Hide (All Decks) - Vinyl Spinners Show/Hide (All Decks) - - - - Show/Hide all spinnies - Show/Hide all spinnies - - - - Toggle Waveforms - Toggle Waveforms - - - - Show/hide the scrolling waveforms. - Show/hide the scrolling waveforms. - - - - Waveform zoom - Waveform zoom - - - - Waveform Zoom - Waveform Zoom - - - - Zoom waveform in - Zoom waveform in - - - - Waveform Zoom In - Waveform Zoom In - - - - Zoom waveform out - Zoom waveform out - - - - Star Rating Up - Star Rating Up - - - - Increase the track rating by one star - Increase the track rating by one star - - - - Star Rating Down - Star Rating Down - - - - Decrease the track rating by one star - Decrease the track rating by one star - - - - ControllerInputMappingTableModel - - - Channel - Channel - - - - Opcode - Opcode - - - - Control - Control - - - - Options - Options - - - - Action - Action - - - - Comment - Commentaire - - - - ControllerOutputMappingTableModel - - - Channel - Channel - - - - Opcode - Opcode - - - - Control - Control - - - - On Value - On Value - - - - Off Value - Off Value - - - - Action - Action - - - - On Range Min - On Range Min - - - - On Range Max - On Range Max - - - - Comment - Commentaire - - - - ControllerScriptEngineBase - - - The functionality provided by this controller mapping will be disabled until the issue has been resolved. - The functionality provided by this controller mapping will be disabled until the issue has been resolved. - - - - You can ignore this error for this session but you may experience erratic behavior. - You can ignore this error for this session but you may experience erratic behavior. - - - - Try to recover by resetting your controller. - Try to recover by resetting your controller. - - - - Controller Mapping Error - Controller Mapping Error - - - - The mapping for your controller "%1" is not working properly. - The mapping for your controller "%1" is not working properly. - - - - The script code needs to be fixed. - The script code needs to be fixed. - - - - ControllerScriptEngineLegacy - - - Controller Mapping File Problem - Controller Mapping File Problem - - - - The mapping for controller "%1" cannot be opened. - The mapping for controller "%1" cannot be opened. - - - - The functionality provided by this controller mapping will be disabled until the issue has been resolved. - The functionality provided by this controller mapping will be disabled until the issue has been resolved. - - - - File: - File: - - - - Error: - Error: - - - - CoverArtCopyWorker - - - Error while copying the cover art to: %1 - Une erreur est survenue lors de la copie de la pochette d'album vers: %1 - - - - CrateFeature - - - Remove - Supprimer - - - - - Create New Crate - Create New Crate - - - - Rename - Renommer - - - - - Lock - Verrouiller - - - - Export Crate as Playlist - Export Crate as Playlist - - - - Export Track Files - Exporter les fichiers des pistes - - - - Duplicate - Dupliquer - - - - Analyze entire Crate - Analyze entire Crate - - - - Auto DJ Track Source - Auto DJ Track Source - - - - Enter new name for crate: - Enter new name for crate: - - - - - Crates - Caisses - - - - - Import Crate - Import Crate - - - - Export Crate - Export Crate - - - - Unlock - Unlock - - - - An unknown error occurred while creating crate: - An unknown error occurred while creating crate: - - - - Rename Crate - Rename Crate - - - - - Export to Engine Prime - Export to Engine Prime - - - - Make a crate for your next gig, for your favorite electrohouse tracks, or for your most requested tracks. - Make a crate for your next gig, for your favorite electrohouse tracks, or for your most requested tracks. - - - - Confirm Deletion - Confirmer la suppression - - - - - Renaming Crate Failed - Renaming Crate Failed - - - - Crate Creation Failed - Crate Creation Failed - - - - M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Text CSV (*.csv);;Readable Text (*.txt) - M3U Playlist (*.m3u);;M3U8 Playlist (*.m3u8);;PLS Playlist (*.pls);;Texte CSV (*.csv);;Texte lisible (*.txt) - - - - M3U Playlist (*.m3u) - M3U Playlist (*.m3u) - - - - Crates are a great way to help organize the music you want to DJ with. - Crates are a great way to help organize the music you want to DJ with. - - - - Crates let you organize your music however you'd like! - Crates let you organize your music however you'd like! - - - - Do you really want to delete crate <b>%1</b>? - Voulez-vous vraiment supprimer le bac %1? - - - - A crate cannot have a blank name. - A crate cannot have a blank name. - - - - A crate by that name already exists. - A crate by that name already exists. - - - - CrateFeatureHelper - - - New Crate - New Crate - - - - Create New Crate - Create New Crate - - - - - Enter name for new crate: - Enter name for new crate: - - - - - - Creating Crate Failed - Creating Crate Failed - - - - - A crate cannot have a blank name. - A crate cannot have a blank name. - - - - - A crate by that name already exists. - A crate by that name already exists. - - - - - An unknown error occurred while creating crate: - An unknown error occurred while creating crate: - - - - copy - //: - copy - - - - Duplicate Crate - Duplicate Crate - - - - - - Duplicating Crate Failed - Duplicating Crate Failed - - - - DlgAbout - - - Mixxx %1.%2 Development Team - Mixxx %1.%2 Development Team - - - - With contributions from: - Avec des contributions de : - - - - And special thanks to: - Et remerciements particuliers à: - - - - Past Developers - Anciens développeurs - - - - Past Contributors - Anciens contributeurs - - - - Official Website - Official Website - - - - Donate - Donate - - - - DlgAboutDlg - - - About Mixxx - à propos de Mixxx - - - - - - - Unknown - Inconnu(e) - - - - Date: - Date: - - - - Git Version: - Git Version: - - - - Qt Version: - - - - - Platform: - Platform: - - - - Credits - Crédits - - - - License - License - - - - DlgAnalysis - - - - - Analyze - Analyse - - - - Shows tracks added to the library within the last 7 days. - Shows tracks added to the library within the last 7 days. - - - - New - New - - - - Shows all tracks in the library. - Shows all tracks in the library. - - - - All - All - - - - Progress - Progress - - - - Selects all tracks in the table below. - Selects all tracks in the table below. - - - - Select All - Select All - - - - Runs beatgrid, key, and ReplayGain detection on the selected tracks. Does not generate waveforms for the selected tracks to save disk space. - Runs beatgrid, key, and ReplayGain detection on the selected tracks. Does not generate waveforms for the selected tracks to save disk space. - - - - Stop Analysis - Stop Analysis - - - - Analyzing %1% %2/%3 - Analyzing %1% %2/%3 - - - - Analyzing %1/%2 - Analyzing %1/%2 - - - - DlgAutoDJ - - - Skip - Skip - - - - Random - Random - - - - Fade - Fade - - - - Enable Auto DJ - -Shortcut: Shift+F12 - Enable Auto DJ - -Shortcut: Shift+F12 - - - - Disable Auto DJ - -Shortcut: Shift+F12 - Disable Auto DJ - -Shortcut: Shift+F12 - - - - Trigger the transition to the next track - -Shortcut: Shift+F11 - Trigger the transition to the next track - -Shortcut: Shift+F11 - - - - Skip the next track in the Auto DJ queue - -Shortcut: Shift+F10 - Skip the next track in the Auto DJ queue - -Shortcut: Shift+F10 - - - - Shuffle the content of the Auto DJ queue - -Shortcut: Shift+F9 - Shuffle the content of the Auto DJ queue - -Shortcut: Shift+F9 - - - - Repeat the playlist - Repeat the playlist - - - - Determines the duration of the transition - Determines the duration of the transition - - - - Seconds - Seconds - - - - Full Intro + Outro - Full Intro + Outro - - - - Fade At Outro Start - Fade At Outro Start - - - - Full Track - Full Track - - - - Skip Silence - Skip Silence - - - - Auto DJ Fade Modes - -Full Intro + Outro: -Play the full intro and outro. Use the intro or outro length as the -crossfade time, whichever is shorter. If no intro or outro are marked, -use the selected crossfade time. - -Fade At Outro Start: -Start crossfading at the outro start. If the outro is longer than the -intro, cut off the end of the outro. Use the intro or outro length as -the crossfade time, whichever is shorter. If no intro or outro are -marked, use the selected crossfade time. - -Full Track: -Play the whole track. Begin crossfading from the selected number of -seconds before the end of the track. A negative crossfade time adds -silence between tracks. - -Skip Silence: -Play the whole track except for silence at the beginning and end. -Begin crossfading from the selected number of seconds before the -last sound. - Auto DJ Fade Modes - -Full Intro + Outro: -Play the full intro and outro. Use the intro or outro length as the -crossfade time, whichever is shorter. If no intro or outro are marked, -use the selected crossfade time. - -Fade At Outro Start: -Start crossfading at the outro start. If the outro is longer than the -intro, cut off the end of the outro. Use the intro or outro length as -the crossfade time, whichever is shorter. If no intro or outro are -marked, use the selected crossfade time. - -Full Track: -Play the whole track. Begin crossfading from the selected number of -seconds before the end of the track. A negative crossfade time adds -silence between tracks. - -Skip Silence: -Play the whole track except for silence at the beginning and end. -Begin crossfading from the selected number of seconds before the -last sound. - - - - Repeat - Repeat - - - - Auto DJ requires two decks assigned to opposite sides of the crossfader. - Auto DJ nécessite deux platines affectées aux côtés opposés du curseur de mixage. - - - - One deck must be stopped to enable Auto DJ mode. - One deck must be stopped to enable Auto DJ mode. - - - - Decks 3 and 4 must be stopped to enable Auto DJ mode. - Decks 3 and 4 must be stopped to enable Auto DJ mode. - - - - Enable - Enable - - - - Disable - Disable - - - - Displays the duration and number of selected tracks. - Displays the duration and number of selected tracks. - - - - - - - Auto DJ - Auto DJ - - - - Shuffle - Shuffle - - - - Adds a random track from track sources (crates) to the Auto DJ queue. -If no track sources are configured, the track is added from the library instead. - Adds a random track from track sources (crates) to the Auto DJ queue. -If no track sources are configured, the track is added from the library instead. - - - - sec. - sec. - - - - DlgBeatsDlg - - - Enable BPM and Beat Detection - Enable BPM and Beat Detection - - - - Choose between different algorithms to detect beats. - Choose between different algorithms to detect beats. - - - - Beat Detection Preferences - Beat Detection Preferences - - - - When beat detection is enabled, Mixxx detects the beats per minute and beats of your tracks, -automatically shows a beat-grid for them, and allows you to synchronize tracks using their beat information. - When beat detection is enabled, Mixxx detects the beats per minute and beats of your tracks, -automatically shows a beat-grid for them, and allows you to synchronize tracks using their beat information. - - - - Enable fast beat detection. -If activated Mixxx only analyzes the first minute of a track for beat information. -This can speed up beat detection on slower computers but may result in lower quality beatgrids. - Enable fast beat detection. -If activated Mixxx only analyzes the first minute of a track for beat information. -This can speed up beat detection on slower computers but may result in lower quality beatgrids. - - - - Converts beats detected by the analyzer into a fixed-tempo beatgrid. -Use this setting if your tracks have a constant tempo (e.g. most electronic music). -Often results in higher quality beatgrids, but will not do well on tracks that have tempo shifts. - Converts beats detected by the analyzer into a fixed-tempo beatgrid. -Use this setting if your tracks have a constant tempo (e.g. most electronic music). -Often results in higher quality beatgrids, but will not do well on tracks that have tempo shifts. - - - - Re-analyze beatgrids imported from other DJ software - Re-analyze beatgrids imported from other DJ software - - - - Choose Analyzer - Choose Analyzer - - - - Analyzer Settings - Analyzer Settings - - - - Enable Fast Analysis (For slow computers, may be less accurate) - Enable Fast Analysis (For slow computers, may be less accurate) - - - - Assume constant tempo (Recommended) - Assume constant tempo (Recommended) - - - - e.g. from 3rd-party programs or Mixxx versions before 1.11. -(Not checked: Analyze only, if no beats exist.) - e.g. from 3rd-party programs or Mixxx versions before 1.11. -(Not checked: Analyze only, if no beats exist.) - - - - Re-analyze beats when settings change or beat detection data is outdated - Re-analyze beats when settings change or beat detection data is outdated - - - - DlgControllerLearning - - - Controller Learning Wizard - Controller Learning Wizard - - - - Learn - Learn - - - - Close - Close - - - - Choose Control... - Choose Control... - - - - Hints: If you're mapping a button or switch, only press or flip it once. For knobs and sliders, move the control in both directions for best results. Make sure to touch one control at a time. - Hints: If you're mapping a button or switch, only press or flip it once. For knobs and sliders, move the control in both directions for best results. Make sure to touch one control at a time. - - - - Cancel - Cancel - - - - Advanced MIDI Options - Advanced MIDI Options - - - - Switch mode interprets all messages for the control as button presses. - Switch mode interprets all messages for the control as button presses. - - - - Switch Mode - Switch Mode - - - - Ignores slider or knob movements until they are close to the internal value. This helps prevent unwanted extreme changes while mixing but can accidentally ignore intentional rapid movements. - Ignores slider or knob movements until they are close to the internal value. This helps prevent unwanted extreme changes while mixing but can accidentally ignore intentional rapid movements. - - - - Soft Takeover - Soft Takeover - - - - Reverses the direction of the control. - Reverses the direction of the control. - - - - Invert - Invert - - - - For jog wheels or infinite-scroll knobs. Interprets incoming messages in two's complement. - For jog wheels or infinite-scroll knobs. Interprets incoming messages in two's complement. - - - - Jog Wheel / Select Knob - Jog Wheel / Select Knob - - - - Retry - Retry - - - - Learn Another - Learn Another - - - - Done - Done - - - - Click anywhere in Mixxx or choose a control to learn - Click anywhere in Mixxx or choose a control to learn - - - - You can click on any button, slider, or knob in Mixxx to teach it that control. You can also type in the box to search for a control by name, or click the Choose Control button to select from a list. - You can click on any button, slider, or knob in Mixxx to teach it that control. You can also type in the box to search for a control by name, or click the Choose Control button to select from a list. - - - - Now test it out! - Now test it out! - - - - If you manipulate the control, you should see the Mixxx user interface respond the way you expect. - If you manipulate the control, you should see the Mixxx user interface respond the way you expect. - - - - Not quite right? - Not quite right? - - - - If the mapping is not working try enabling an advanced option below and then try the control again. Or click Retry to redetect the midi control. - If the mapping is not working try enabling an advanced option below and then try the control again. Or click Retry to redetect the midi control. - - - - Didn't get any midi messages. Please try again. - Didn't get any midi messages. Please try again. - - - - Unable to detect a mapping -- please try again. Be sure to only touch one control at once. - Unable to detect a mapping -- please try again. Be sure to only touch one control at once. - - - - Successfully mapped control: - Successfully mapped control: - - - - <i>Ready to learn %1</i> - <i>Ready to learn %1</i> - - - - Learning: %1. Now move a control on your controller. - Learning: %1. Now move a control on your controller. - - - - The control you clicked in Mixxx is not learnable. -This could be because you are either using an old skin and this control is no longer supported, or you clicked a control that provides visual feedback and can only be mapped to outputs like LEDs via scripts. - -You tried to learn: %1,%2 - The control you clicked in Mixxx is not learnable. -This could be because you are either using an old skin and this control is no longer supported, or you clicked a control that provides visual feedback and can only be mapped to outputs like LEDs via scripts. - -You tried to learn: %1,%2 - - - - DlgCoverArtFullSize - - - Fetched Cover Art - Récupéré la pochette d'album - - - - DlgDeveloperTools - - - Developer Tools - Developer Tools - - - - Controls - Controls - - - - Dumps all ControlObject values to a csv-file saved in the settings path (e.g. ~/.mixxx) - Dumps all ControlObject values to a csv-file saved in the settings path (e.g. ~/.mixxx) - - - - Dump to csv - Dump to csv - - - - Log - Log - - - - Search - Search - - - - Stats - Stats - - - - DlgHidden - - - Hidden Tracks - Hidden Tracks - - - - Selects all tracks in the table below. - Selects all tracks in the table below. - - - - Select All - Select All - - - - Purge selected tracks from the library. - Purge selected tracks from the library. - - - - Purge - Purge - - - - Unhide selected tracks from the library. - Unhide selected tracks from the library. - - - - Unhide - Unhide - - - - Ctrl+S - Ctrl+S - - - - Purge selected tracks from the library and delete files from disk. - Purge selected tracks from the library and delete files from disk. - - - - Purge And Delete Files - Purge And Delete Files - - - - DlgKeywheel - - - Keywheel - Keywheel - - - - &Close - &Close - - - - DlgMissing - - - Missing Tracks - Missing Tracks - - - - Selects all tracks in the table below. - Selects all tracks in the table below. - - - - Select All - Select All - - - - Purge selected tracks from the library. - Purge selected tracks from the library. - - - - Purge - Purge - - - - DlgPrefAutoDJDlg - - - Duration after which a track is eligible for selection by Auto DJ again - Duration after which a track is eligible for selection by Auto DJ again - - - - hh:mm - hh:mm - - - - Minimum available tracks in Track Source - Minimum available tracks in Track Source - - - - Auto DJ Preferences - Auto DJ Preferences - - - - Re-queue Tracks - Re-queue Tracks - - - - This percentage of tracks are always available for selecting, regardless of when they were last played. - This percentage of tracks are always available for selecting, regardless of when they were last played. - - - - % - % - - - - - Uncheck, to ignore all played tracks. - Uncheck, to ignore all played tracks. - - - - Suspend track in Track Source from re-queue - Suspend track in Track Source from re-queue - - - - Suspension period for track selection - Suspension period for track selection - - - - Add Random Tracks - Add Random Tracks - - - - Enable random track addition to queue - Enable random track addition to queue - - - - Add random tracks from Track Source if the specified minimum tracks remain - Add random tracks from Track Source if the specified minimum tracks remain - - - - Minimum allowed tracks before addition - Minimum allowed tracks before addition - - - - Minimum number of tracks after which random tracks may be added - Minimum number of tracks after which random tracks may be added - - - - DlgPrefBroadcast - - - Icecast 2 - Icecast 2 - - - - Shoutcast 1 - Shoutcast 1 - - - - Icecast 1 - Icecast 1 - - - - MP3 - MP3 - - - - Ogg Vorbis - Ogg Vorbis - - - - Opus - Opus - - - - AAC - AAC - - - - HE-AAC - HE-AAC - - - - HE-AACv2 - HE-AACv2 - - - - Automatic - Automatic - - - - Mono - Mono - - - - Stereo - Stereo - - - - - - - Action failed - Échec de l'action - - - - You can't create more than %1 source connections. - You can't create more than %1 source connections. - - - - Source connection %1 - Source connection %1 - - - - At least one source connection is required. - At least one source connection is required. - - - - Are you sure you want to disconnect every active source connection? - Are you sure you want to disconnect every active source connection? - - - - - Confirmation required - Confirmation required - - - - '%1' has the same Icecast mountpoint as '%2'. -Two source connections to the same server that have the same mountpoint can not be enabled simultaneously. - '%1' a le même point de montage Icecast que '%2'. -Deux de source de connexions vers le même serveur, ayant le même point de montage, ne peuvent pas être activé simultanément. - - - - Are you sure you want to delete '%1'? - Are you sure you want to delete '%1'? - - - - Renaming '%1' - Renaming '%1' - - - - New name for '%1': - New name for '%1': - - - - Can't rename '%1' to '%2': name already in use - Can't rename '%1' to '%2': name already in use - - - - DlgPrefBroadcastDlg - - - Live Broadcasting Preferences - Live Broadcasting Preferences - - - - Mixxx Icecast Testing - Mixxx Icecast Testing - - - - Public stream - Public stream - - - - http://www.mixxx.org - http://www.mixxx.org - - - - Stream name - Stream name - - - - Due to flaws in some streaming clients, updating Ogg Vorbis metadata dynamically can cause listener glitches and disconnections. Check this box to update the metadata anyway. - Due to flaws in some streaming clients, updating Ogg Vorbis metadata dynamically can cause listener glitches and disconnections. Check this box to update the metadata anyway. - - - - Live Broadcasting source connections - Live Broadcasting source connections - - - - Delete selected - Delete selected - - - - Create new connection - Create new connection - - - - Rename selected - Rename selected - - - - Disconnect all - Disconnect all - - - - Turn on Live Broadcasting when applying these settings - Turn on Live Broadcasting when applying these settings - - - - Settings for %1 - Settings for %1 - - - - Dynamically update Ogg Vorbis metadata. - Dynamically update Ogg Vorbis metadata. - - - - ICQ - ICQ - - - - AIM - AIM - - - - Website - Website - - - - Live mix - Live mix - - - - IRC - IRC - - - - Select a source connection above to edit its settings here - Select a source connection above to edit its settings here - - - - Password storage - Password storage - - - - Plain text - Plain text - - - - Secure storage (OS keychain) - Secure storage (OS keychain) - - - - Genre - Genre - - - - Use UTF-8 encoding for metadata. - Use UTF-8 encoding for metadata. - - - - Description - Description - - - - Encoding - Encoding - - - - Bitrate - Débit - - - - - Format - Format - - - - Channels - Channels - - - - Server connection - Server connection - - - - Type - Type - - - - Host - Host - - - - Login - Login - - - - Mount - Mount - - - - Port - Port - - - - Password - Password - - - - Stream info - Stream info - - - - Metadata - Metadata - - - - Use static artist and title. - Use static artist and title. - - - - Static title - Static title - - - - Static artist - Static artist - - - - Automatic reconnect - Automatic reconnect - - - - Time to wait before the first reconnection attempt is made. - Time to wait before the first reconnection attempt is made. - - - - - seconds - seconds - - - - Wait until first attempt - Wait until first attempt - - - - Reconnect period - Reconnect period - - - - Time to wait between two reconnection attempts. - Time to wait between two reconnection attempts. - - - - Limit number of reconnection attempts - Limit number of reconnection attempts - - - - Maximum retries - Maximum retries - - - - Reconnect if the connection to the streaming server is lost. - Reconnect if the connection to the streaming server is lost. - - - - Enable automatic reconnect - Enable automatic reconnect - - - - DlgPrefColors - - - - By hotcue number - By hotcue number - - - - Color - Color - - - - DlgPrefColorsDlg - - - Color Preferences - Color Preferences - - - - - Edit… - Edit… - - - - Track palette - Track palette - - - - Loop default color - Loop default color - - - - Hotcue palette - Hotcue palette - - - - Hotcue default color - Hotcue default color - - - - Replace… - Replace… - - - - DlgPrefController - - - Apply device settings? - Apply device settings? - - - - Your settings must be applied before starting the learning wizard. -Apply settings and continue? - Your settings must be applied before starting the learning wizard. -Apply settings and continue? - - - - None - None - - - - %1 by %2 - %1 by %2 - - - - No Name - No Name - - - - No Description - No Description - - - - No Author - No Author - - - - Mapping has been edited - Mapping has been edited - - - - Always overwrite during this session - Always overwrite during this session - - - - Save As - Save As - - - - Overwrite - Overwrite - - - - Save user mapping - Save user mapping - - - - Enter the name for saving the mapping to the user folder. - Enter the name for saving the mapping to the user folder. - - - - Saving mapping failed - Saving mapping failed - - - - A mapping cannot have a blank name and may not contain special characters. - A mapping cannot have a blank name and may not contain special characters. - - - - A mapping file with that name already exists. - A mapping file with that name already exists. - - - - missing - missing - - - - built-in - built-in - - - - Do you want to save the changes? - Do you want to save the changes? - - - - Troubleshooting - Troubleshooting - - - - <font color='#BB0000'><b>If you use this mapping your controller may not work correctly. Please select another mapping or disable the controller.</b></font><br><br>This mapping was designed for a newer Mixxx Controller Engine and cannot be used on your current Mixxx installation.<br>Your Mixxx installation has Controller Engine version %1. This mapping requires a Controller Engine version >= %2.<br><br>For more information visit the wiki page on <a href='https://mixxx.org/wiki/doku.php/controller_engine_versions'>Controller Engine Versions</a>. - <font color='#BB0000'><b>If you use this mapping your controller may not work correctly. Please select another mapping or disable the controller.</b></font><br><br>This mapping was designed for a newer Mixxx Controller Engine and cannot be used on your current Mixxx installation.<br>Your Mixxx installation has Controller Engine version %1. This mapping requires a Controller Engine version >= %2.<br><br>For more information visit the wiki page on <a href='https://mixxx.org/wiki/doku.php/controller_engine_versions'>Controller Engine Versions</a>. - - - - Mapping already exists. - Mapping already exists. - - - - <b>%1</b> already exists in user mapping folder.<br>Overwrite or save with a new name? - <b>%1</b> already exists in user mapping folder.<br>Overwrite or save with a new name? - - - - Clear Input Mappings - Clear Input Mappings - - - - Are you sure you want to clear all input mappings? - Are you sure you want to clear all input mappings? - - - - Clear Output Mappings - Clear Output Mappings - - - - Are you sure you want to clear all output mappings? - Are you sure you want to clear all output mappings? - - - - DlgPrefControllerDlg - - - (device category goes here) - (device category goes here) - - - - Controller Name - Controller Name - - - - Enabled - Activé - - - - Description: - Description: - - - - Support: - Support: - - - - Input Mappings - Input Mappings - - - - - Search - Search - - - - - Add - Add - - - - - Remove - Supprimer - - - - Click to start the Controller Learning wizard. - Click to start the Controller Learning wizard. - - - - Controller Preferences - Controller Preferences - - - - Controller Setup - Controller Setup - - - - Load Mapping: - Load Mapping: - - - - Mapping Info - Mapping Info - - - - Author: - Author: - - - - Name: - Name: - - - - Learning Wizard (MIDI Only) - Learning Wizard (MIDI Only) - - - - Mapping Files: - Mapping Files: - - - - - Clear All - Clear All - - - - Output Mappings - Output Mappings - - - - DlgPrefControllers - - - Mixxx uses "mappings" to connect messages from your controller to controls in Mixxx. If you do not see a mapping for your controller in the "Load Mapping" menu when you click on your controller on the left sidebar, you may be able to download one online from the %1. Place the XML (.xml) and Javascript (.js) file(s) in the "User Mapping Folder" then restart Mixxx. If you download a mapping in a ZIP file, extract the XML and Javascript file(s) from the ZIP file to your "User Mapping Folder" then restart Mixxx. - Mixxx uses "mappings" to connect messages from your controller to controls in Mixxx. If you do not see a mapping for your controller in the "Load Mapping" menu when you click on your controller on the left sidebar, you may be able to download one online from the %1. Place the XML (.xml) and Javascript (.js) file(s) in the "User Mapping Folder" then restart Mixxx. If you download a mapping in a ZIP file, extract the XML and Javascript file(s) from the ZIP file to your "User Mapping Folder" then restart Mixxx. - - - - Mixxx DJ Hardware Guide - Mixxx DJ Hardware Guide - - - - MIDI Mapping File Format - MIDI Mapping File Format - - - - MIDI Scripting with Javascript - MIDI Scripting with Javascript - - - - DlgPrefControllersDlg - - - Controller Preferences - Controller Preferences - - - - Controllers - Controllers - - - - Mixxx did not detect any controllers. If you connected the controller while Mixxx was running you must restart Mixxx first. - Mixxx did not detect any controllers. If you connected the controller while Mixxx was running you must restart Mixxx first. - - - - Mappings - Mappings - - - - Open User Mapping Folder - Open User Mapping Folder - - - - Resources - Resources - - - - Controllers are physical devices that send MIDI or HID signals to your computer over a USB connection. These allow you to control Mixxx in a more hands-on way than a keyboard and mouse. Attached controllers that Mixxx recognizes are shown in the "Controllers" section in the sidebar. - Controllers are physical devices that send MIDI or HID signals to your computer over a USB connection. These allow you to control Mixxx in a more hands-on way than a keyboard and mouse. Attached controllers that Mixxx recognizes are shown in the "Controllers" section in the sidebar. - - - - You can create your own mapping by using the MIDI Learning Wizard when you select your controller in the sidebar. You can edit mappings by selecting the "Input Mappings" and "Output Mappings" tabs in the preference page for your controller. See the Resources below for more details on making mappings. - You can create your own mapping by using the MIDI Learning Wizard when you select your controller in the sidebar. You can edit mappings by selecting the "Input Mappings" and "Output Mappings" tabs in the preference page for your controller. See the Resources below for more details on making mappings. - - - - DlgPrefControlsDlg - - - Skin - Skin - - - - Tool tips - Tool tips - - - - Select from different color schemes of a skin if available. - Select from different color schemes of a skin if available. - - - - Color scheme - Color scheme - - - - Locales determine country and language specific settings. - Locales determine country and language specific settings. - - - - Locale - Locale - - - - Interface Preferences - Interface Preferences - - - - Skin selector - - - - - Miscellaneous - Miscellaneous - - - - HiDPI / Retina scaling - HiDPI / Retina scaling - - - - Change the size of text, buttons, and other items. - Change the size of text, buttons, and other items. - - - - Screen saver - Screen saver - - - - Start in full-screen mode - Start in full-screen mode - - - - Full-screen mode - Full-screen mode - - - - Off - Off - - - - Library only - Library only - - - - Library and Skin - Library and Skin - - - - DlgPrefDeck - - - Mixxx mode - Mixxx mode - - - - Mixxx mode (no blinking) - Mixxx mode (no blinking) - - - - Pioneer mode - Pioneer mode - - - - Denon mode - Denon mode - - - - Numark mode - Numark mode - - - - CUP mode - CUP mode - - - - mm:ss%1zz - Traditional - mm:ss%1zz - Traditional - - - - mm:ss - Traditional (Coarse) - mm:ss - Traditional (Coarse) - - - - s%1zz - Seconds - s%1zz - Seconds - - - - sss%1zz - Seconds (Long) - sss%1zz - Seconds (Long) - - - - s%1sss%2zz - Kiloseconds - s%1sss%2zz - Kiloseconds - - - - Intro start - Intro start - - - - Main cue - Main cue - - - - First sound (skip silence) - First sound (skip silence) - - - - Beginning of track - Beginning of track - - - - Reject - Rejeter - - - - Allow, but stop deck - Autoriser, mais arrêter la platine - - - - Allow, play from load point - Autoriser, jouer depuis le point de chargement - - - - 4% - 4% - - - - 6% (semitone) - 6% (semitone) - - - - 8% (Technics SL-1210) - 8% (Technics SL-1210) - - - - 10% - 10% - - - - 16% - 16% - - - - 24% - 24% - - - - 50% - 50% - - - - 90% - 90% - - - - DlgPrefDeckDlg - - - Deck Preferences - Deck Preferences - - - - Deck options - Deck options - - - - Cue mode - Cue mode - - - - Mixxx mode: -- Cue button while pause at cue point = preview -- Cue button while pause not at cue point = set cue point -- Cue button while playing = pause at cue point -Mixxx mode (no blinking): -- Same as Mixxx mode but with no blinking indicators -Pioneer mode: -- Same as Mixxx mode with a flashing play button -Denon mode: -- Cue button at cue point = preview -- Cue button not at cue point = pause at cue point -- Play = set cue point -Numark mode: -- Same as Denon mode, but without a flashing play button -CUP mode: -- Cue button while pause at cue point = play after release -- Cue button while pause not at cue point = set cue point and play after release -- Cue button while playing = go to cue point and play after release - - Mixxx mode: -- Cue button while pause at cue point = preview -- Cue button while pause not at cue point = set cue point -- Cue button while playing = pause at cue point -Mixxx mode (no blinking): -- Same as Mixxx mode but with no blinking indicators -Pioneer mode: -- Same as Mixxx mode with a flashing play button -Denon mode: -- Cue button at cue point = preview -- Cue button not at cue point = pause at cue point -- Play = set cue point -Numark mode: -- Same as Denon mode, but without a flashing play button -CUP mode: -- Cue button while pause at cue point = play after release -- Cue button while pause not at cue point = set cue point and play after release -- Cue button while playing = go to cue point and play after release - - - - - Track time display - Track time display - - - - Elapsed - Elapsed - - - - Remaining - Remaining - - - - Elapsed and Remaining - Elapsed and Remaining - - - - Time Format - Time Format - - - - Intro start - Intro start - - - - When the analyzer places the intro start point automatically, -it will place it at the main cue point if the main cue point has been set previously. -This may be helpful for upgrading to Mixxx 2.3 from earlier versions. - -If this option is disabled, the intro start point is automatically placed at the first sound. - When the analyzer places the intro start point automatically, -it will place it at the main cue point if the main cue point has been set previously. -This may be helpful for upgrading to Mixxx 2.3 from earlier versions. - -If this option is disabled, the intro start point is automatically placed at the first sound. - - - - Set intro start to main cue when analyzing tracks - Set intro start to main cue when analyzing tracks - - - - Track load point - Track load point - - - - Clone deck - Clone deck - - - - Loading a track, when deck is playing - Charger une piste, lorsque une platine est en cours de lecture - - - - Create a playing clone of the first playing deck by double-tapping a Load button on a controller or keyboard. -You can always drag-and-drop tracks on screen to clone a deck. - Create a playing clone of the first playing deck by double-tapping a Load button on a controller or keyboard. -You can always drag-and-drop tracks on screen to clone a deck. - - - - Double-press Load button to clone playing track - Double-press Load button to clone playing track - - - - Speed (Tempo) and Key (Pitch) options - Speed (Tempo) and Key (Pitch) options - - - - Permanent rate change when left-clicking - Permanent rate change when left-clicking - - - - - - - % - % - - - - Permanent rate change when right-clicking - Permanent rate change when right-clicking - - - - Reset on track load - Reset on track load - - - - Current key - Current key - - - - Temporary rate change when right-clicking - Temporary rate change when right-clicking - - - - Permanent - Permanent - - - - Value in milliseconds - Value in milliseconds - - - - Temporary - Temporary - - - - Sync mode (Dynamic tempo tracks) - - - - - Keylock mode - Keylock mode - - - - Ramping sensitivity - Ramping sensitivity - - - - Pitch bend behavior - Pitch bend behavior - - - - Original key - Original key - - - - Temporary rate change when left-clicking - Temporary rate change when left-clicking - - - - Speed/Tempo - Speed/Tempo - - - - Key/Pitch - Key/Pitch - - - - Adjustment buttons: - Adjustment buttons: - - - - Apply tempo changes from a soft-leading track (usually the leaving track in a transition) to the follower tracks. After the transition, the follower track will continue with the previous leader's very last tempo. Changes from explicit selected leaders are always applied. - - - - - Follow soft leader's tempo - - - - - Coarse - Coarse - - - - Fine - Fine - - - - Make the speed sliders work like those on DJ turntables and CDJs where moving downward increases the speed - Make the speed sliders work like those on DJ turntables and CDJs where moving downward increases the speed - - - - Down increases speed - Down increases speed - - - - Slider range - Slider range - - - - Adjusts the range of the speed (Vinyl "Pitch") slider. - Adjusts the range of the speed (Vinyl "Pitch") slider. - - - - Abrupt jump - Abrupt jump - - - - Smoothly adjusts deck speed when temporary change buttons are held down - Smoothly adjusts deck speed when temporary change buttons are held down - - - - Smooth ramping - Smooth ramping - - - - Keyunlock mode - Keyunlock mode - - - - Reset key - Reset key - - - - Keep key - Keep key - - - - The tempo of a previous soft leader track at the beginning of the transition is kept steady. After the transition, the follower track will maintain this original tempo. This technique serves as a workaround to avoid dynamic tempo changes, as seen during the outro of rubato-style tracks. For instance, it prevents the follower track from continuing with a slowed-down tempo of the soft leader. This corresponds to the behavior before Mixxx 2.4. Changes from explicit selected leaders are always applied. - - - - - Use steady tempo - - - - - DlgPrefEffectsDlg - - - Effects Preferences - Effects Preferences - - - - - Effect Chain Presets - Effect Chain Presets - - - - Drag and drop to rearrange lists and copy chains between lists. Create and edit chain presets in the effect units in the main window. Please refer the manual for further details. - Drag and drop to rearrange lists and copy chains between lists. Create and edit chain presets in the effect units in the main window. Please refer the manual for further details. - - - - Chain presets from these lists will be selectable in the given order in the main window and from controllers (depending on the controller mapping). - Chain presets from these lists will be selectable in the given order in the main window and from controllers (depending on the controller mapping). - - - - Effects in this chain preset: - Effects in this chain preset: - - - - effect 1 name - effect 1 name - - - - effect 2 name - effect 2 name - - - - effect 3 name - effect 3 name - - - - Import - Import - - - - Rename - Renommer - - - - Export - Export - - - - Delete - Delete - - - - Quick Effect Chain Presets - Quick Effect Chain Presets - - - - - Visible Effects - Visible Effects - - - - Drag and drop to rearrange lists and show or hide effects. - Drag and drop to rearrange lists and show or hide effects. - - - - Hidden Effects - Hidden Effects - - - - Effect load behavior - Effect load behavior - - - - Keep metaknob position - Keep metaknob position - - - - Reset metaknob to effect default - Reset metaknob to effect default - - - - Effect Info - Effect Info - - - - Version: - Version: - - - - Description: - Description: - - - - Author: - Author: - - - - Name: - Name: - - - - Type: - Type: - - - - DlgPrefInterface - - - The minimum size of the selected skin is bigger than your screen resolution. - The minimum size of the selected skin is bigger than your screen resolution. - - - - Allow screensaver to run - Allow screensaver to run - - - - Prevent screensaver from running - Prevent screensaver from running - - - - Prevent screensaver while playing - Prevent screensaver while playing - - - - This skin does not support color schemes - This skin does not support color schemes - - - - Information - Information - - - - Mixxx must be restarted before the new locale or scaling settings will take effect. - Mixxx must be restarted before the new locale or scaling settings will take effect. - - - - DlgPrefKeyDlg - - - Key Notation Format Settings - Key Notation Format Settings - - - - When key detection is enabled, Mixxx detects the musical key of your tracks -and allows you to pitch adjust them for harmonic mixing. - When key detection is enabled, Mixxx detects the musical key of your tracks -and allows you to pitch adjust them for harmonic mixing. - - - - Enable Key Detection - Enable Key Detection - - - - Choose Analyzer - Choose Analyzer - - - - Choose between different algorithms to detect keys. - Choose between different algorithms to detect keys. - - - - Analyzer Settings - Analyzer Settings - - - - Enable Fast Analysis (For slow computers, may be less accurate) - Enable Fast Analysis (For slow computers, may be less accurate) - - - - Re-analyze keys when settings change or 3rd-party keys are present - Re-analyze keys when settings change or 3rd-party keys are present - - - - Key Notation - Key Notation - - - - Lancelot - Lancelot - - - - Lancelot/Traditional - Lancelot/Traditional - - - - OpenKey - OpenKey - - - - OpenKey/Traditional - OpenKey/Traditional - - - - Traditional - Traditional - - - - Custom - Custom - - - - A - A - - - - Bb - Bb - - - - B - B - - - - C - C - - - - Db - Db - - - - D - D - - - - Eb - Eb - - - - E - E - - - - F - F - - - - F# - F# - - - - G - G - - - - Ab - Ab - - - - Am - Am - - - - Bbm - Bbm - - - - Bm - Bm - - - - Cm - Cm - - - - C#m - C#m - - - - Dm - Dm - - - - Ebm - Ebm - - - - Em - Em - - - - Fm - Fm - - - - F#m - F#m - - - - Gm - Gm - - - - G#m - G#m - - - - DlgPrefLibrary - - - See the manual for details - See the manual for details - - - - Music Directory Added - Music Directory Added - - - - You added one or more music directories. The tracks in these directories won't be available until you rescan your library. Would you like to rescan now? - You added one or more music directories. The tracks in these directories won't be available until you rescan your library. Would you like to rescan now? - - - - Scan - Scan - - - - Choose a music directory - Choose a music directory - - - - Confirm Directory Removal - Confirm Directory Removal - - - - Mixxx will no longer watch this directory for new tracks. What would you like to do with the tracks from this directory and subdirectories?<ul><li>Hide all tracks from this directory and subdirectories.</li><li>Delete all metadata for these tracks from Mixxx permanently.</li><li>Leave the tracks unchanged in your library.</li></ul>Hiding tracks saves their metadata in case you re-add them in the future. - Mixxx will no longer watch this directory for new tracks. What would you like to do with the tracks from this directory and subdirectories?<ul><li>Hide all tracks from this directory and subdirectories.</li><li>Delete all metadata for these tracks from Mixxx permanently.</li><li>Leave the tracks unchanged in your library.</li></ul>Hiding tracks saves their metadata in case you re-add them in the future. - - - - Metadata means all track details (artist, title, playcount, etc.) as well as beatgrids, hotcues, and loops. This choice only affects the Mixxx library. No files on disk will be changed or deleted. - Metadata means all track details (artist, title, playcount, etc.) as well as beatgrids, hotcues, and loops. This choice only affects the Mixxx library. No files on disk will be changed or deleted. - - - - Hide Tracks - Hide Tracks - - - - Delete Track Metadata - Delete Track Metadata - - - - Leave Tracks Unchanged - Leave Tracks Unchanged - - - - Relink music directory to new location - Relink music directory to new location - - - - Select Library Font - Select Library Font - - - - DlgPrefLibraryDlg - - - If removed, Mixxx will no longer watch this directory and its subdirectories for new tracks. - If removed, Mixxx will no longer watch this directory and its subdirectories for new tracks. - - - - Remove - Supprimer - - - - Add a directory where your music is stored. Mixxx will watch this directory and its subdirectories for new tracks. - Add a directory where your music is stored. Mixxx will watch this directory and its subdirectories for new tracks. - - - - Music Directories - Répertoires de music - - - - Add - Add - - - - If an existing music directory is moved, Mixxx doesn't know where to find the audio files in it. Choose Relink to select the music directory in its new location. <br/> This will re-establish the links to the audio files in the Mixxx library. - If an existing music directory is moved, Mixxx doesn't know where to find the audio files in it. Choose Relink to select the music directory in its new location. <br/> This will re-establish the links to the audio files in the Mixxx library. - - - - Relink - This will re-establish the links to the audio files in the Mixxx database if you move an music directory to a new location. - Relink - - - - Rescan directories on start-up - Relire les répertoires au démarrage - - - - Audio File Formats - Audio File Formats - - - - Track Metadata Synchronization - Track Metadata Synchronization - - - - Track Table View - Track Table View - - - - Track Double-Click Action: - Track Double-Click Action: - - - - BPM display precision: - Précision de l'affichage BPM: - - - - Session History - Historique des sessions - - - - Track duplicate distance - Track duplicate distance - - - - When playing a track again log it to the session history only if more than N other tracks have been played in the meantime - When playing a track again log it to the session history only if more than N other tracks have been played in the meantime - - - - History playlist with less than N tracks will be deleted<br/><br/>Note: the cleanup will be performed during startup and shutdown of Mixxx. - History playlist with less than N tracks will be deleted<br/><br/>Note: the cleanup will be performed during startup and shutdown of Mixxx. - - - - Delete history playlist with less than N tracks - Delete history playlist with less than N tracks - - - - Miscellaneous - Miscellaneous - - - - Library Font: - Library Font: - - - - Enable search completions - Activer les complétions de recherche - - - - Enable search history keyboard shortcuts - Activer les raccourcis clavier pour l'historique de recherche - - - - Preferred Cover Art Fetcher Resolution - Résolution préférée du récupérateur de pochette d'album - - - - Fetch cover art from coverartarchive.com by using Import Metadata From Musicbrainz. - Récupérer les pochettes d'album depuis coverartarchive.com en utilisant l'importation de métadonnées depuis Musicbrainz. - - - - Note: ">1200 px" can fetch up to very large cover arts. - Note : ">1200 px" peut récupérer de très larges images de couverture - - - - >1200 px (if available) - >1200 px (si disponible) - - - - 1200 px (if available) - 1200 px (si disponible) - - - - 500 px - 500 px - - - - 250 px - 250 px - - - - Settings Directory - Répertoire des paramètres - - - - The Mixxx settings directory contains the library database, various configuration files, log files, track analysis data, as well as custom controller mappings. - The Mixxx settings directory contains the library database, various configuration files, log files, track analysis data, as well as custom controller mappings. - - - - Edit those files only if you know what you are doing and only while Mixxx is not running. - Edit those files only if you know what you are doing and only while Mixxx is not running. - - - - Open Mixxx Settings Folder - Open Mixxx Settings Folder - - - - Library Row Height: - Library Row Height: - - - - Use relative paths for playlist export if possible - Use relative paths for playlist export if possible - - - - ... - ... - - - - px - px - - - - Synchronize library track metadata from/to file tags - Synchronize library track metadata from/to file tags - - - - Automatically write modified track metadata from the library into file tags and reimport metadata from updated file tags into the library - Automatically write modified track metadata from the library into file tags and reimport metadata from updated file tags into the library - - - - Synchronize Serato track metadata from/to file tags (experimental) - Synchronize Serato track metadata from/to file tags (experimental) - - - - Keeps track color, beat grid, bpm lock, cue points, and loops synchronized with SERATO_MARKERS/MARKERS2 file tags.<br/><br/>WARNING: Enabling this option also enables the reimport of Serato metadata after files have been modified outside of Mixxx. On reimport existing metadata in Mixxx is replaced with the metadata found in file tags. Custom metadata not included in file tags like loop colors is lost. - Keeps track color, beat grid, bpm lock, cue points, and loops synchronized with SERATO_MARKERS/MARKERS2 file tags.<br/><br/>WARNING: Enabling this option also enables the reimport of Serato metadata after files have been modified outside of Mixxx. On reimport existing metadata in Mixxx is replaced with the metadata found in file tags. Custom metadata not included in file tags like loop colors is lost. - - - - Edit metadata after clicking selected track - Edit metadata after clicking selected track - - - - Search-as-you-type timeout: - Search-as-you-type timeout: - - - - ms - ms - - - - Load track to next available deck - Load track to next available deck - - - - External Libraries - External Libraries - - - - You will need to restart Mixxx for these settings to take effect. - You will need to restart Mixxx for these settings to take effect. - - - - Show Rhythmbox Library - Show Rhythmbox Library - - - - Add track to Auto DJ queue (bottom) - Add track to Auto DJ queue (bottom) - - - - Add track to Auto DJ queue (top) - Add track to Auto DJ queue (top) - - - - Ignore - Ignore - - - - Show Banshee Library - Show Banshee Library - - - - Show iTunes Library - Show iTunes Library - - - - Show Traktor Library - Show Traktor Library - - - - Show Rekordbox Library - Show Rekordbox Library - - - - Show Serato Library - Show Serato Library - - - - All external libraries shown are write protected. - All external libraries shown are write protected. - - - - DlgPrefMixerDlg - - - Crossfader Preferences - Crossfader Preferences - - - - Crossfader Curve - Crossfader Curve - - - - Slow fade/Fast cut (additive) - Slow fade/Fast cut (additive) - - - - Constant power - Constant power - - - - Mixing - Mixing - - - - Scratching - Scratching - - - - Linear - Linear - - - - Logarithmic - Logarithmic - - - - Reverse crossfader (Hamster Style) - Reverse crossfader (Hamster Style) - - - - Deck Equalizers - Deck Equalizers - - - - Only allow EQ knobs to control EQ-specific effects - Only allow EQ knobs to control EQ-specific effects - - - - Uncheck to allow any effect to be loaded into the EQ knobs. - Uncheck to allow any effect to be loaded into the EQ knobs. - - - - Use the same EQ filter for all decks - Use the same EQ filter for all decks - - - - Uncheck to allow different decks to use different EQ effects. - Uncheck to allow different decks to use different EQ effects. - - - - Equalizer Plugin - Equalizer Plugin - - - - Quick Effect - Quick Effect - - - - Bypass EQ effect processing - Bypass EQ effect processing - - - - When checked, EQs are not processed, improving performance on slower computers. - When checked, EQs are not processed, improving performance on slower computers. - - - - Resets the equalizers to their default values when loading a track. - Resets the equalizers to their default values when loading a track. - - - - Reset equalizers on track load - Reset equalizers on track load - - - - Resets the deck gain to unity when loading a track. - Resets the deck gain to unity when loading a track. - - - - Reset gain on track load - Reset gain on track load - - - - Equalizer frequency Shelves - Plages de fréquences de l'égaliseur - - - - High EQ - High EQ - - - - - 16 Hz - 16 Hz - - - - - 20.05 kHz - 20.05 kHz - - - - Low EQ - Low EQ - - - - Main EQ - Main EQ - - - - Reset Parameter - Reset Parameter - - - - DlgPrefModplug - - - Modplug Preferences - Modplug Preferences - - - - Maximum Number of Mixing Channels: - Maximum Number of Mixing Channels: - - - - Show Advanced Settings - Show Advanced Settings - - - - - - Low - Low - - - - Reverb Delay: - Reverb Delay: - - - - - - High - High - - - - None - None - - - - Bass Expansion - Bass Expansion - - - - Bass Range: - Bass Range: - - - - 16 - 16 - - - - Front/Rear Delay: - Front/Rear Delay: - - - - Pro-Logic Surround - Pro-Logic Surround - - - - Full - Full - - - - Reverb - Réverbération - - - - Stereo separation - Stereo separation - - - - 10Hz - 10Hz - - - - 10ms - 10ms - - - - 256 - 256 - - - - 5ms - 5ms - - - - 100Hz - 100Hz - - - - 250ms - 250ms - - - - 50ms - 50ms - - - - Noise reduction - Noise reduction - - - - Hints - Hints - - - - Module files are decoded at once and kept in RAM to allow for seeking and smooth operation in Mixxx. About 10MB of RAM are required for 1 minute of audio. - Module files are decoded at once and kept in RAM to allow for seeking and smooth operation in Mixxx. About 10MB of RAM are required for 1 minute of audio. - - - - Decoding options for libmodplug, a software library for loading and rendering module files (MOD music, tracker music). - Decoding options for libmodplug, a software library for loading and rendering module files (MOD music, tracker music). - - - - Decoding Options - Decoding Options - - - - Resampling mode (interpolation) - Resampling mode (interpolation) - - - - Enable oversampling - Enable oversampling - - - - Nearest (very fast, extremely bad quality) - Nearest (very fast, extremely bad quality) - - - - Linear (fast, good quality) - Linear (fast, good quality) - - - - Cubic Spline (high quality) - Cubic Spline (high quality) - - - - 8-tap FIR (extremely high quality) - 8-tap FIR (extremely high quality) - - - - Memory limit for single track (MB) - Memory limit for single track (MB) - - - - All settings take effect on next track load. Currently loaded tracks are not affected. For an explanation of these settings, see the %1 - All settings take effect on next track load. Currently loaded tracks are not affected. For an explanation of these settings, see the %1 - - - - DlgPrefRecord - - - Choose recordings directory - Choose recordings directory - - - - - Recordings directory invalid - Recordings directory invalid - - - - Recordings directory must be set to an existing directory. - Recordings directory must be set to an existing directory. - - - - Recordings directory must be set to a directory. - Recordings directory must be set to a directory. - - - - Recordings directory not writable - Recordings directory not writable - - - - You do not have write access to %1. Choose a recordings directory you have write access to. - You do not have write access to %1. Choose a recordings directory you have write access to. - - - - DlgPrefRecordDlg - - - Recording Preferences - Recording Preferences - - - - Browse... - Browse... - - - - - Quality - Quality - - - - Tags - Tags - - - - Title - Titre - - - - Author - Author - - - - Album - Album - - - - Output File Format - Output File Format - - - - Compression - Compression - - - - Lossy - Lossy - - - - Recording Files - Recording Files - - - - Directory: - Directory: - - - - Compression Level - Compression Level - - - - Lossless - Lossless - - - - Create a CUE file - Create a CUE file - - - - Split recordings at - Split recordings at - - - - DlgPrefReplayGain - - - %1 LUFS (adjust by %2 dB) - %1 LUFS (adjust by %2 dB) - - - - DlgPrefReplayGainDlg - - - Normalization Preferences - Normalization Preferences - - - - ReplayGain Loudness Normalization - ReplayGain Loudness Normalization - - - - Apply loudness normalization to loaded tracks. - Apply loudness normalization to loaded tracks. - - - - Apply ReplayGain - Apply ReplayGain - - - - -30 LUFS - -30 LUFS - - - - -6 LUFS - -6 LUFS - - - - When ReplayGain is enabled, adjust tracks lacking ReplayGain information by this amount. - When ReplayGain is enabled, adjust tracks lacking ReplayGain information by this amount. - - - - Initial boost without ReplayGain data - Initial boost without ReplayGain data - - - - ReplayGain targets a reference loudness of -18 LUFS (Loudness Units relative to Full Scale). You may increase it if you find Mixxx is too quiet or reduce it if you find that your tracks are clipping. You may also want to decrease the volume of unanalyzed tracks if you find they are often louder than ReplayGained tracks. For podcasting a loudness of -16 LUFS is recommended. - -The loudness target is approximate and assumes track pregain and main output level are unchanged. - - - - - For tracks with ReplayGain, adjust the target loudness to this LUFS value (Loudness Units relative to Full Scale). - For tracks with ReplayGain, adjust the target loudness to this LUFS value (Loudness Units relative to Full Scale). - - - - Target loudness - Target loudness - - - - -12 dB - -12 dB - - - - Analysis - Analysis - - - - ReplayGain 2.0 (ITU-R BS.1770) - ReplayGain 2.0 (ITU-R BS.1770) - - - - ReplayGain 1.0 - ReplayGain 1.0 - - - - Disabled - Disabled - - - - Re-analyze and override an existing value - Re-analyze and override an existing value - - - - When an unanalyzed track is playing, Mixxx will avoid an abrupt volume change by not applying a newly calculated ReplayGain value. - When an unanalyzed track is playing, Mixxx will avoid an abrupt volume change by not applying a newly calculated ReplayGain value. - - - - +12 dB - +12 dB - - - - Hints - Hints - - - - DlgPrefSound - - - %1 Hz - %1 Hz - - - - Default (long delay) - Default (long delay) - - - - Experimental (no delay) - Experimental (no delay) - - - - Disabled (short delay) - Disabled (short delay) - - - - Soundcard Clock - Soundcard Clock - - - - Network Clock - Network Clock - - - - Direct monitor (recording and broadcasting only) - Direct monitor (recording and broadcasting only) - - - - Disabled - Disabled - - - - Enabled - Activé - - - - Stereo - Stereo - - - - Mono - Mono - - - - To enable Realtime scheduling (currently disabled), see the %1. - To enable Realtime scheduling (currently disabled), see the %1. - - - - The %1 lists sound cards and controllers you may want to consider for using Mixxx. - The %1 lists sound cards and controllers you may want to consider for using Mixxx. - - - - Mixxx DJ Hardware Guide - Mixxx DJ Hardware Guide - - - - auto (<= 1024 frames/period) - - - - - 2048 frames/period - - - - - 4096 frames/period - - - - - Microphone inputs are out of time in the record & broadcast signal compared to what you hear. - Microphone inputs are out of time in the record & broadcast signal compared to what you hear. - - - - Measure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. - Measure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. - - - - - Refer to the Mixxx User Manual for details. - Refer to the Mixxx User Manual for details. - - - - Configured latency has changed. - Configured latency has changed. - - - - Remeasure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. - Remeasure round trip latency and enter it above for Microphone Latency Compensation to align microphone timing. - - - - Realtime scheduling is enabled. - Realtime scheduling is enabled. - - - - Main output only - Main output only - - - - Main and booth outputs - Main and booth outputs - - - - %1 ms - %1 ms - - - - Configuration error - Configuration error - - - - DlgPrefSoundDlg - - - Sound Hardware Preferences - Sound Hardware Preferences - - - - Sound API - Sound API - - - - Sample Rate - Sample Rate - - - - Audio Buffer - Audio Buffer - - - - Engine Clock - Engine Clock - - - - Use soundcard clock for live audience setups and lowest latency.<br>Use network clock for broadcasting without a live audience. - Use soundcard clock for live audience setups and lowest latency.<br>Use network clock for broadcasting without a live audience. - - - - Main Mix - Main Mix - - - - Main Output Mode - Main Output Mode - - - - Microphone Monitor Mode - Microphone Monitor Mode - - - - Microphone Latency Compensation - Microphone Latency Compensation - - - - - - - ms - milliseconds - ms - - - - 20 ms - 20 ms - - - - Buffer Underflow Count - Buffer Underflow Count - - - - 0 - 0 - - - - Keylock/Pitch-Bending Engine - Keylock/Pitch-Bending Engine - - - - Multi-Soundcard Synchronization - Multi-Soundcard Synchronization - - - - Output - Output - - - - Input - Input - - - - System Reported Latency - System Reported Latency - - - - Enlarge your audio buffer if the underflow counter is increasing or you hear pops during playback. - Enlarge your audio buffer if the underflow counter is increasing or you hear pops during playback. - - - - Main Output Delay - Main Output Delay - - - - Headphone Output Delay - Headphone Output Delay - - - - Booth Output Delay - Booth Output Delay - - - - Hints and Diagnostics - Hints and Diagnostics - - - - Downsize your audio buffer to improve Mixxx's responsiveness. - Downsize your audio buffer to improve Mixxx's responsiveness. - - - - Query Devices - Query Devices - - - - DlgPrefSoundItem - - - Channel %1 - Channel %1 - - - - Channels %1 - %2 - Channels %1 - %2 - - - - Sound Item Preferences - Constructs new sound items inside the Sound Hardware Preferences, representing an AudioPath and SoundDevice - Sound Item Preferences - - - - Type (#) - Type (#) - - - - DlgPrefVinylDlg - - - Input - Input - - - - Vinyl Configuration - Vinyl Configuration - - - - Show Signal Quality in Skin - Show Signal Quality in Skin - - - - Vinyl Control Preferences - Vinyl Control Preferences - - - - Turntable Input Signal Boost - Turntable Input Signal Boost - - - - 0 dB - 0 dB - - - - 44 dB - 44 dB - - - - Vinyl Type - Vinyl Type - - - - Lead-In - Lead-In - - - - Deck 1 - Deck 1 - - - - Deck 2 - Deck 2 - - - - Deck 3 - Deck 3 - - - - Deck 4 - Deck 4 - - - - Signal Quality - Signal Quality - - - - http://www.xwax.co.uk - http://www.xwax.co.uk - - - - Powered by xwax - Powered by xwax - - - - Hints - Hints - - - - Select sound devices for Vinyl Control in the Sound Hardware pane. - Select sound devices for Vinyl Control in the Sound Hardware pane. - - - - DlgPrefWaveform - - - Filtered - Filtered - - - - HSV - HSV - - - - RGB - RGB - - - - OpenGL not available - OpenGL not available - - - - dropped frames - dropped frames - - - - Cached waveforms occupy %1 MiB on disk. - Cached waveforms occupy %1 MiB on disk. - - - - DlgPrefWaveformDlg - - - Waveform Preferences - Waveform Preferences - - - - Frame rate - Frame rate - - - - Displays which OpenGL version is supported by the current platform. - Displays which OpenGL version is supported by the current platform. - - - - Normalize waveform overview - Normalize waveform overview - - - - Average frame rate - Average frame rate - - - - Visual gain - Visual gain - - - - Default zoom level - Waveform zoom - Default zoom level - - - - Displays the actual frame rate. - Displays the actual frame rate. - - - - Visual gain of the middle frequencies - Visual gain of the middle frequencies - - - - End of track warning - Avertissement de fin de piste - - - - OpenGL status - OpenGL status - - - - Highlight the waveforms when the last seconds of a track remains. - Highlight the waveforms when the last seconds of a track remains. - - - - seconds - seconds - - - - Low - Low - - - - Middle - Middle - - - - Global - Global - - - - Visual gain of the high frequencies - Visual gain of the high frequencies - - - - Visual gain of the low frequencies - Visual gain of the low frequencies - - - - High - High - - - - Waveform type - Waveform type - - - - Global visual gain - Global visual gain - - - - The waveform overview shows the waveform envelope of the entire track. -Select from different types of displays for the waveform overview, which differ primarily in the level of detail shown in the waveform. - The waveform overview shows the waveform envelope of the entire track. -Select from different types of displays for the waveform overview, which differ primarily in the level of detail shown in the waveform. - - - - The waveform shows the waveform envelope of the track near the current playback position. -Select from different types of displays for the waveform, which differ primarily in the level of detail shown in the waveform. - The waveform shows the waveform envelope of the track near the current playback position. -Select from different types of displays for the waveform, which differ primarily in the level of detail shown in the waveform. - - - - Waveform overview type - Waveform overview type - - - - fps - fps - - - - Synchronize zoom level across all waveform displays. - Synchronize zoom level across all waveform displays. - - - - Synchronize zoom level across all waveforms - Synchronize zoom level across all waveforms - - - - Caching - Caching - - - - Mixxx caches the waveforms of your tracks on disk the first time you load a track. This reduces CPU usage when you are playing live but requires extra disk space. - Mixxx caches the waveforms of your tracks on disk the first time you load a track. This reduces CPU usage when you are playing live but requires extra disk space. - - - - Enable waveform caching - Enable waveform caching - - - - Generate waveforms when analyzing library - Generate waveforms when analyzing library - - - - Beat grid opacity - Beat grid opacity - - - - Set amount of opacity on beat grid lines. - Set amount of opacity on beat grid lines. - - - - % - % - - - - Play marker position - Play marker position - - - - Moves the play marker position on the waveforms to the left, right or center (default). - Moves the play marker position on the waveforms to the left, right or center (default). - - - - Clear Cached Waveforms - Clear Cached Waveforms - - - - DlgPreferences - - - Sound Hardware - Sound Hardware - - - - Controllers - Controllers - - - - Library - Library - - - - Interface - Interface - - - - Waveforms - Waveforms - - - - Mixer - Mixer - - - - Auto DJ - Auto DJ - - - - Decks - Decks - - - - Colors - Colors - - - - &Help - Preferences standard buttons: consider the other buttons to choose a unique Alt hotkey (&) - &Help - - - - &Restore Defaults - Preferences standard buttons: consider the other buttons to choose a unique Alt hotkey (&) - - - - - &Apply - Preferences standard buttons: consider the other buttons to choose a unique Alt hotkey (&) - &Apply - - - - &Cancel - Preferences standard buttons: consider the other buttons to choose a unique Alt hotkey (&) - &Cancel - - - - &Ok - Preferences standard buttons: consider the other buttons to choose a unique Alt hotkey (&) - &Ok - - - - Effects - Effets - - - - Recording - Recording - - - - Beat Detection - Beat Detection - - - - Key Detection - Key Detection - - - - Normalization - Normalization - - - - <font color='#BB0000'><b>Some preferences pages have errors. To apply the changes please first fix the issues.</b></font> - <font color='#BB0000'><b>Some preferences pages have errors. To apply the changes please first fix the issues.</b></font> - - - - Vinyl Control - Vinyl Control - - - - Live Broadcasting - Diffusion en direct - - - - Modplug Decoder - Modplug Decoder - - - - DlgPreferencesDlg - - - Preferences - Preferences - - - - 1 - 1 - - - - - TextLabel - TextLabel - - - - DlgRecording - - - Recordings - Recordings - - - - - Start Recording - Start Recording - - - - Recording to file: - Recording to file: - - - - Stop Recording - Stop Recording - - - - %1 MiB written in %2 - %1 MiB written in %2 - - - - DlgReplaceCueColor - - - Replace Hotcue Color - Replace Hotcue Color - - - - Replace cue color if … - Replace cue color if … - - - - Hotcue index - Hotcue index - - - - - is - is - - - - - is not - is not - - - - Current cue color - Current cue color - - - - If you don't specify any conditions, the colors of all cues in the library will be replaced. - If you don't specify any conditions, the colors of all cues in the library will be replaced. - - - - … by: - … by: - - - - New cue color - New cue color - - - - Selecting database rows... - Selecting database rows... - - - - No colors changed! - No colors changed! - - - - No cues matched the specified criteria. - No cues matched the specified criteria. - - - - Confirm Color Replacement - Confirm Color Replacement - - - - The colors of %1 cues in %2 tracks will be replaced. This change cannot be undone! Are you sure? - The colors of %1 cues in %2 tracks will be replaced. This change cannot be undone! Are you sure? - - - - DlgTagFetcher - - - MusicBrainz - MusicBrainz - - - - Select best possible match - Select best possible match - - - - - Track - Track - - - - - Year - Année - - - - Title - Titre - - - - - Artist - Artiste - - - - - Album - Album - - - - Album Artist - Artiste de l'album - - - - Fetching track data from the MusicBrainz database - Fetching track data from the MusicBrainz database - - - - Get API-Key - To be able to submit audio fingerprints to the MusicBrainz database, a free application programming interface key (API key) is required. - Get API-Key - - - - Submit - Submits audio fingerprints to the MusicBrainz database. - Submit - - - - New Column - New Column - - - - New Item - New Item - - - - Current Cover Art - Image de Couverture Courante - - - - Found Cover Art - Pochette d'Album Trouvée - - - - Apply Cover - Appliquer la Pochette - - - - The results are ready to be applied. - Les résultats sont prêts à être appliqués. - - - - Retry - Retry - - - - &Previous - &Previous - - - - &Next - &Next - - - - &Apply - &Apply - - - - &Close - &Close - - - - Original tags - Original tags - - - - %1 - %1 - - - - Could not find this track in the MusicBrainz database. - Impossible de trouver cette piste dans la base de données MusicBrainz. - - - - Suggested tags - Suggested tags - - - - The results are ready to be applied - Les résultats sont prêts à être appliqués - - - - Can't connect to %1: %2 - Impossible de se connecter à %1 : %2 - - - - Looking for cover art - Recherche de pochette d'album - - - - Cover art found, receiving image. - Pochette d'album trouvée, réception de l'image. - - - - Cover Art is not available for selected metadata - La pochette d'image n'est pas disponible pour les métadonnées sélectionnées - - - - Metadata & Cover Art applied - Métadonnées & Pochette d'Album appliquées - - - - Selected cover art applied - Pochette d'album sélectionnée appliquée - - - - Cover Art File Already Exists - La Pochette d'Album Existe Déjà - - - - File: %1 -Folder: %2 -Override existing file? -This can not be undone! - Fichier : %1 -Dossier : %2 -Écraser le fichier existant ? -Cette opération est irréversible ! - - - - DlgTrackExport - - - Export Tracks - Export Tracks - - - - Exporting Tracks - Exporting Tracks - - - - (status text) - (status text) - - - - &Cancel - &Cancel - - - - DlgTrackInfo - - - Track Editor - Track Editor - - - - Summary - Summary - - - - Filetype: - Filetype: - - - - BPM: - BPM: - - - - Location: - Location: - - - - Bitrate: - Bitrate: - - - - Comments - Comments - - - - BPM - BPM - - - - Sets the BPM to 75% of the current value. - Sets the BPM to 75% of the current value. - - - - 3/4 BPM - 3/4 BPM - - - - Sets the BPM to 50% of the current value. - Sets the BPM to 50% of the current value. - - - - Displays the BPM of the selected track. - Displays the BPM of the selected track. - - - - Track # - Piste n° - - - - Album Artist - Artiste de l'album - - - - Composer - Compositeur - - - - Title - Titre - - - - Grouping - Regroupement - - - - Key - Clé - - - - Year - Année - - - - Artist - Artiste - - - - Album - Album - - - - Genre - Genre - - - - ReplayGain: - ReplayGain: - - - - Sets the BPM to 200% of the current value. - Sets the BPM to 200% of the current value. - - - - Double BPM - Double BPM - - - - Halve BPM - Halve BPM - - - - Clear BPM and Beatgrid - Clear BPM and Beatgrid - - - - Move to the previous item. - "Previous" button - Move to the previous item. - - - - &Previous - &Previous - - - - Move to the next item. - "Next" button - Move to the next item. - - - - &Next - &Next - - - - Duration: - Duration: - - - - Import Metadata from MusicBrainz - Import Metadata from MusicBrainz - - - - Re-Import Metadata from file - Re-Import Metadata from file - - - - Color - Couleur - - - - Date added: - Date added: - - - - Open in File Browser - Open in File Browser - - - - Samplerate: - - - - - Track BPM: - Track BPM: - - - - Converts beats detected by the analyzer into a fixed-tempo beatgrid. -Use this setting if your tracks have a constant tempo (e.g. most electronic music). -Often results in higher quality beatgrids, but will not do well on tracks that have tempo shifts. - Converts beats detected by the analyzer into a fixed-tempo beatgrid. -Use this setting if your tracks have a constant tempo (e.g. most electronic music). -Often results in higher quality beatgrids, but will not do well on tracks that have tempo shifts. - - - - Assume constant tempo - Assume constant tempo - - - - Sets the BPM to 66% of the current value. - Sets the BPM to 66% of the current value. - - - - 2/3 BPM - 2/3 BPM - - - - Sets the BPM to 150% of the current value. - Sets the BPM to 150% of the current value. - - - - 3/2 BPM - 3/2 BPM - - - - Sets the BPM to 133% of the current value. - Sets the BPM to 133% of the current value. - - - - 4/3 BPM - 4/3 BPM - - - - Tap with the beat to set the BPM to the speed you are tapping. - Tap with the beat to set the BPM to the speed you are tapping. - - - - Tap to Beat - Tap to Beat - - - - Hint: Use the Library Analyze view to run BPM detection. - Hint: Use the Library Analyze view to run BPM detection. - - - - Save changes and close the window. - "OK" button - Save changes and close the window. - - - - &OK - &OK - - - - Discard changes and close the window. - "Cancel" button - Discard changes and close the window. - - - - Save changes and keep the window open. - "Apply" button - Save changes and keep the window open. - - - - &Apply - &Apply - - - - &Cancel - &Cancel - - - - (no color) - (pas de couleur) - - - - EffectChainPresetManager - - - Import effect chain preset - Import effect chain preset - - - - - Mixxx Effect Chain Presets - Mixxx Effect Chain Presets - - - - Error importing effect chain preset - Error importing effect chain preset - - - - Error importing effect chain preset "%1" - Error importing effect chain preset "%1" - - - - - imported - Importé - - - - duplicate - duplicate - - - - The effect chain imported from "%1" contains an effect that is not available: - The effect chain imported from "%1" contains an effect that is not available: - - - - If you load this chain preset, the unsupported effect will not be loaded with it. - If you load this chain preset, the unsupported effect will not be loaded with it. - - - - Export effect chain preset - Export effect chain preset - - - - Error exporting effect chain preset - Error exporting effect chain preset - - - - Could not save effect chain preset "%1" to file "%2". - Could not save effect chain preset "%1" to file "%2". - - - - Effect chain preset can not be renamed - La présélection de chaine d'effet ne peut pas être renommée - - - - Effect chain preset "%1" is read-only and can not be renamed. - Le préréglage de chaîne d'effet "%1" est en lecture seule et ne peut être renommé. - - - - Rename effect chain preset - Rename effect chain preset - - - - New name for effect chain preset - New name for effect chain preset - - - - - Effect chain preset name must not be empty. - Effect chain preset name must not be empty. - - - - - Invalid name "%1" - Nom "%1" invalide - - - - - An effect chain preset named "%1" already exists. - An effect chain preset named "%1" already exists. - - - - Error removing old effect chain preset - Error removing old effect chain preset - - - - Could not remove old effect chain preset "%1" - Could not remove old effect chain preset "%1" - - - - Effect chain preset can not be deleted - Le préréglage de chaîne d'effet ne peut être supprimé - - - - Effect chain preset "%1" is read-only and can not be deleted. - Le préréglage de chaîne d'effet "%1" est en lecture seule et ne peut être supprimé. - - - - Remove effect chain preset - Remove effect chain preset - - - - Are you sure you want to delete the effect chain preset "%1"? - Are you sure you want to delete the effect chain preset "%1"? - - - - Error deleting effect chain preset - Error deleting effect chain preset - - - - Could not delete effect chain preset "%1" - Could not delete effect chain preset "%1" - - - - Save preset for effect chain - Save preset for effect chain - - - - Name for new effect chain preset: - Name for new effect chain preset: - - - - Error saving effect chain preset - Error saving effect chain preset - - - - Could not save effect chain preset "%1" - Could not save effect chain preset "%1" - - - - EffectManifestTableModel - - - Type - Type - - - - Name - Nom - - - - EffectParameterSlotBase - - - No effect loaded. - No effect loaded. - - - - EffectsBackend - - - Built-In - Backend type for effects that are built into Mixxx. - Prédéfini - - - - Unknown - Backend type for effects were the backend is unknown. - Inconnu(e) - - - - EmptyWaveformWidget - - - Empty - Empty - - - - EngineBuffer - - - Soundtouch (faster) - Soundtouch (faster) - - - - Rubberband (better) - Rubberband (better) - - - - Rubberband R3 (near-hi-fi quality) - Rubberband R3 (qualité quasi-hi-fi) - - - - Unknown, using Rubberband (better) - Inconnu, utilisation de Rubberband (meilleure) - - - - ErrorDialogHandler - - - Fatal error - Fatal error - - - - Critical error - Critical error - - - - Warning - Warning - - - - Information - Information - - - - Question - Question - - - - FindOnWebMenuDiscogs - - - Artist - Artiste - - - - Artist + Title - Artiste + Titre - - - - Title - Titre - - - - Artist + Album - Artiste + Album - - - - Album - Album - - - - FindOnWebMenuLastfm - - - Artist - Artiste - - - - Artist + Title - Artiste + Titre - - - - Title - Titre - - - - Artist + Album - Artiste + Album - - - - Album - Album - - - - FindOnWebMenuSoundcloud - - - Artist - Artiste - - - - Artist + Title - Artiste + Titre - - - - Title - Titre - - - - Artist + Album - Artiste + Album - - - - Album - Album - - - - GLRGBWaveformWidget - - - RGB - RGB - - - - GLSLFilteredWaveformWidget - - - Filtered - Filtered - - - - GLSLRGBStackedWaveformWidget - - - RGB Stacked - RGB Stacked - - - - GLSLRGBWaveformWidget - - - RGB - RGB - - - - GLSimpleWaveformWidget - - - Simple - Simple - - - - GLVSyncTestWidget - - - VSyncTest - VSyncTest - - - - GLWaveformWidget - - - Filtered - Filtered - - - - HSVWaveformWidget - - - HSV - HSV - - - - ITunesFeature - - - - iTunes - iTunes - - - - Select your iTunes library - Select your iTunes library - - - - (loading) iTunes - (loading) iTunes - - - - Use Default Library - Use Default Library - - - - Choose Library... - Choose Library... - - - - Error Loading iTunes Library - Error Loading iTunes Library - - - - There was an error loading your iTunes library. Some of your iTunes tracks or playlists may not have loaded. - There was an error loading your iTunes library. Some of your iTunes tracks or playlists may not have loaded. - - - - LegacySkinParser - - - - Safe Mode Enabled - Shown when Mixxx is running in safe mode. - Safe Mode Enabled - - - - - No OpenGL -support. - Shown when Spinny can not be displayed. Please keep - unchanged ----------- -Shown when VuMeter can not be displayed. Please keep - unchanged - No OpenGL -support. - - - - activate - activate - - - - toggle - toggle - - - - right - right - - - - left - left - - - - right small - right small - - - - left small - left small - - - - up - up - - - - down - down - - - - up small - up small - - - - down small - down small - - - - Shortcut - Shortcut - - - - Library - - - Add Directory to Library - Add Directory to Library - - - - Could not add the directory to your library. Either this directory is already in your library or you are currently rescanning your library. - Could not add the directory to your library. Either this directory is already in your library or you are currently rescanning your library. - - - - LibraryFeature - - - Import Playlist - Importer une liste de lecture - - - - Playlist Files (*.m3u *.m3u8 *.pls *.csv) - Playlist Files (*.m3u *.m3u8 *.pls *.csv) - - - - Overwrite File? - Overwrite File? - - - - A playlist file with the name "%1" already exists. -The default "m3u" extension was added because none was specified. - -Do you really want to overwrite it? - A playlist file with the name "%1" already exists. -The default "m3u" extension was added because none was specified. - -Do you really want to overwrite it? - - - - LibraryScannerDlg - - - Library Scanner - Library Scanner - - - - It's taking Mixxx a minute to scan your music library, please wait... - It's taking Mixxx a minute to scan your music library, please wait... - - - - Cancel - Cancel - - - - Scanning: - Scanning: - - - - Scanning cover art (safe to cancel) - Scanning cover art (safe to cancel) - - - - LibraryTableModel - - - Sort items randomly - Sort items randomly - - - - MidiController - - - MIDI Controller - MIDI Controller - - - - MixxxControl(s) not found - MixxxControl(s) not found - - - - One or more MixxxControls specified in the outputs section of the loaded mapping were invalid. - One or more MixxxControls specified in the outputs section of the loaded mapping were invalid. - - - - * Make sure the MixxxControls in question actually exist. Visit the manual for a complete list: - * Make sure the MixxxControls in question actually exist. Visit the manual for a complete list: - - - - Some LEDs or other feedback may not work correctly. - Some LEDs or other feedback may not work correctly. - - - - * Check to see that the MixxxControl names are spelled correctly in the mapping file (.xml) - - * Check to see that the MixxxControl names are spelled correctly in the mapping file (.xml) - - - - - MixxxDb - - - Click OK to exit. - Click OK to exit. - - - - Cannot upgrade database schema - Cannot upgrade database schema - - - - Unable to upgrade your database schema to version %1 - Unable to upgrade your database schema to version %1 - - - - For help with database issues consult: - For help with database issues consult: - - - - Your mixxxdb.sqlite file may be corrupt. - Your mixxxdb.sqlite file may be corrupt. - - - - Try renaming it and restarting Mixxx. - Try renaming it and restarting Mixxx. - - - - Your mixxxdb.sqlite file was created by a newer version of Mixxx and is incompatible. - Your mixxxdb.sqlite file was created by a newer version of Mixxx and is incompatible. - - - - The database schema file is invalid. - The database schema file is invalid. - - - - MixxxLibraryFeature - - - Missing Tracks - Missing Tracks - - - - Hidden Tracks - Hidden Tracks - - - - Export to Engine Prime - Export to Engine Prime - - - - Tracks - Tracks - - - - MixxxMainWindow - - - Sound Device Busy - Sound Device Busy - - - - <b>Retry</b> after closing the other application or reconnecting a sound device - <b>Retry</b> after closing the other application or reconnecting a sound device - - - - - - <b>Reconfigure</b> Mixxx's sound device settings. - <b>Reconfigure</b> Mixxx's sound device settings. - - - - - Get <b>Help</b> from the Mixxx Wiki. - Get <b>Help</b> from the Mixxx Wiki. - - - - - - <b>Exit</b> Mixxx. - <b>Exit</b> Mixxx. - - - - Retry - Retry - - - - skin - skin - - - - - Reconfigure - Reconfigure - - - - Help - Help - - - - - Exit - Exit - - - - - Mixxx was unable to open all the configured sound devices. - Mixxx was unable to open all the configured sound devices. - - - - Sound Device Error - Sound Device Error - - - - <b>Retry</b> after fixing an issue - <b>Retry</b> after fixing an issue - - - - No Output Devices - No Output Devices - - - - Mixxx was configured without any output sound devices. Audio processing will be disabled without a configured output device. - Mixxx was configured without any output sound devices. Audio processing will be disabled without a configured output device. - - - - <b>Continue</b> without any outputs. - <b>Continue</b> without any outputs. - - - - Continue - Continue - - - - Load track to Deck %1 - Load track to Deck %1 - - - - Deck %1 is currently playing a track. - Deck %1 is currently playing a track. - - - - Are you sure you want to load a new track? - Are you sure you want to load a new track? - - - - There is no input device selected for this vinyl control. -Please select an input device in the sound hardware preferences first. - There is no input device selected for this vinyl control. -Please select an input device in the sound hardware preferences first. - - - - There is no input device selected for this passthrough control. -Please select an input device in the sound hardware preferences first. - There is no input device selected for this passthrough control. -Please select an input device in the sound hardware preferences first. - - - - There is no input device selected for this microphone. -Do you want to select an input device? - There is no input device selected for this microphone. -Do you want to select an input device? - - - - There is no input device selected for this auxiliary. -Do you want to select an input device? - There is no input device selected for this auxiliary. -Do you want to select an input device? - - - - Error in skin file - Error in skin file - - - - The selected skin cannot be loaded. - The selected skin cannot be loaded. - - - - OpenGL Direct Rendering - OpenGL Direct Rendering - - - - Direct rendering is not enabled on your machine.<br><br>This means that the waveform displays will be very<br><b>slow and may tax your CPU heavily</b>. Either update your<br>configuration to enable direct rendering, or disable<br>the waveform displays in the Mixxx preferences by selecting<br>"Empty" as the waveform display in the 'Interface' section. - Direct rendering is not enabled on your machine.<br><br>This means that the waveform displays will be very<br><b>slow and may tax your CPU heavily</b>. Either update your<br>configuration to enable direct rendering, or disable<br>the waveform displays in the Mixxx preferences by selecting<br>"Empty" as the waveform display in the 'Interface' section. - - - - - - Confirm Exit - Confirm Exit - - - - A deck is currently playing. Exit Mixxx? - A deck is currently playing. Exit Mixxx? - - - - A sampler is currently playing. Exit Mixxx? - A sampler is currently playing. Exit Mixxx? - - - - The preferences window is still open. - The preferences window is still open. - - - - Discard any changes and exit Mixxx? - Discard any changes and exit Mixxx? - - - - MockNetworkReply - - - Operation canceled - Opération annulée - - - - PlaylistFeature - - - Lock - Verrouiller - - - - - Playlists - Playlists - - - - Unlock - Unlock - - - - Playlists are ordered lists of tracks that allow you to plan your DJ sets. - Playlists are ordered lists of tracks that allow you to plan your DJ sets. - - - - It may be necessary to skip some tracks in your prepared playlist or add some different tracks in order to maintain the energy of your audience. - It may be necessary to skip some tracks in your prepared playlist or add some different tracks in order to maintain the energy of your audience. - - - - Some DJs construct playlists before they perform live, but others prefer to build them on-the-fly. - Some DJs construct playlists before they perform live, but others prefer to build them on-the-fly. - - - - When using a playlist during a live DJ set, remember to always pay close attention to how your audience reacts to the music you've chosen to play. - When using a playlist during a live DJ set, remember to always pay close attention to how your audience reacts to the music you've chosen to play. - - - - Create New Playlist - Créer une nouvelle playlist - - - - QMessageBox - - - Upgrading Mixxx - Upgrading Mixxx - - - - Mixxx now supports displaying cover art. -Do you want to scan your library for cover files now? - Mixxx now supports displaying cover art. -Do you want to scan your library for cover files now? - - - - Scan - Scan - - - - Later - Later - - - - Upgrading Mixxx from v1.9.x/1.10.x. - Upgrading Mixxx from v1.9.x/1.10.x. - - - - Mixxx has a new and improved beat detector. - Mixxx has a new and improved beat detector. - - - - When you load tracks, Mixxx can re-analyze them and generate new, more accurate beatgrids. This will make automatic beatsync and looping more reliable. - When you load tracks, Mixxx can re-analyze them and generate new, more accurate beatgrids. This will make automatic beatsync and looping more reliable. - - - - This does not affect saved cues, hotcues, playlists, or crates. - This does not affect saved cues, hotcues, playlists, or crates. - - - - If you do not want Mixxx to re-analyze your tracks, choose "Keep Current Beatgrids". You can change this setting at any time from the "Beat Detection" section of the Preferences. - If you do not want Mixxx to re-analyze your tracks, choose "Keep Current Beatgrids". You can change this setting at any time from the "Beat Detection" section of the Preferences. - - - - Keep Current Beatgrids - Keep Current Beatgrids - - - - Generate New Beatgrids - Generate New Beatgrids - - - - QObject - - - Invalid - Invalid - - - - Note On - Note On - - - - Note Off - Note Off - - - - CC - CC - - - - Pitch Bend - Pitch Bend - - - - - Unknown (0x%1) - Unknown (0x%1) - - - - Normal - Normal - - - - Invert - Invert - - - - Rot64 - Rot64 - - - - Rot64Inv - Rot64Inv - - - - Rot64Fast - Rot64Fast - - - - Diff - Diff - - - - Button - Button - - - - Switch - Switch - - - - Spread64 - Spread64 - - - - HercJog - HercJog - - - - SelectKnob - SelectKnob - - - - SoftTakeover - SoftTakeover - - - - Script - Script - - - - 14-bit (LSB) - 14-bit (LSB) - - - - 14-bit (MSB) - 14-bit (MSB) - - - - Main - Main - - - - Booth - Booth - - - - Headphones - Headphones - - - - Left Bus - Left Bus - - - - Center Bus - Center Bus - - - - Right Bus - Right Bus - - - - Invalid Bus - Invalid Bus - - - - Deck - Deck - - - - Record/Broadcast - Record/Broadcast - - - - Vinyl Control - Vinyl Control - - - - Microphone - Microphone - - - - Auxiliary - Auxiliary - - - - - Unknown path type %1 - Unknown path type %1 - - - - Using Opus at samplerates other than 48 kHz is not supported by the Opus encoder. Please use 48000 Hz in "Sound Hardware" preferences or switch to a different encoding. - Using Opus at samplerates other than 48 kHz is not supported by the Opus encoder. Please use 48000 Hz in "Sound Hardware" preferences or switch to a different encoding. - - - - Encoder - Encoder - - - - Mixxx Needs Access to: %1 - Mixxx Needs Access to: %1 - - - - Your permission is required to access the following location: - -%1 - -After clicking OK, you will see a file picker. Please select '%2' to proceed or click Cancel if you don't want to grant Mixxx access and abort this action. - Your permission is required to access the following location: - -%1 - -After clicking OK, you will see a file picker. Please select '%2' to proceed or click Cancel if you don't want to grant Mixxx access and abort this action. - - - - You selected the wrong file. To grant Mixxx access, please select the file '%1'. If you do not want to continue, press Cancel. - You selected the wrong file. To grant Mixxx access, please select the file '%1'. If you do not want to continue, press Cancel. - - - - Upgrading old Mixxx settings - Upgrading old Mixxx settings - - - - Due to macOS sandboxing, Mixxx needs your permission to access your music library and settings from Mixxx versions before 2.3.0. After clicking OK, you will see a file selection dialog. - -To allow Mixxx to use your old library and settings, click the Open button in the file selection dialog. Mixxx will then move your old settings into the sandbox. This only needs to be done once. - -If you do not want to grant Mixxx access, click Cancel on the file picker. Mixxx will create a new music library and use default settings. - Due to macOS sandboxing, Mixxx needs your permission to access your music library and settings from Mixxx versions before 2.3.0. After clicking OK, you will see a file selection dialog. - -To allow Mixxx to use your old library and settings, click the Open button in the file selection dialog. Mixxx will then move your old settings into the sandbox. This only needs to be done once. - -If you do not want to grant Mixxx access, click Cancel on the file picker. Mixxx will create a new music library and use default settings. - - - - - Bit Depth - Bit Depth - - - - - Bitcrusher - Bitcrusher - - - - Adds noise by the reducing the bit depth and sample rate - Adds noise by the reducing the bit depth and sample rate - - - - The bit depth of the samples - The bit depth of the samples - - - - Downsampling - Downsampling - - - - Down - Down - - - - The sample rate to which the signal is downsampled - The sample rate to which the signal is downsampled - - - - - Echo - Echo - - - - - - - Time - Time - - - - - Ping Pong - Ping Pong - - - - - - - Send - Send - - - - How much of the signal to send into the delay buffer - How much of the signal to send into the delay buffer - - - - - - - Feedback - Feedback - - - - Stores the input signal in a temporary buffer and outputs it after a short time - Stores the input signal in a temporary buffer and outputs it after a short time - - - - - Delay time -1/8 - 2 beats if tempo is detected -1/8 - 2 seconds if no tempo is detected - Delay time -1/8 - 2 beats if tempo is detected -1/8 - 2 seconds if no tempo is detected - - - - Amount the echo fades each time it loops - Amount the echo fades each time it loops - - - - How much the echoed sound bounces between the left and right sides of the stereo field - How much the echoed sound bounces between the left and right sides of the stereo field - - - - - - - - - Quantize - Quantize - - - - Round the Time parameter to the nearest 1/4 beat. - Round the Time parameter to the nearest 1/4 beat. - - - - - - - - - - - - Triplets - Triplets - - - - When the Quantize parameter is enabled, divide rounded 1/4 beats of Time parameter by 3. - When the Quantize parameter is enabled, divide rounded 1/4 beats of Time parameter by 3. - - - - - Filter - Filter - - - - Allows only high or low frequencies to play. - Allows only high or low frequencies to play. - - - - Low Pass Filter Cutoff - Low Pass Filter Cutoff - - - - - LPF - LPF - - - - - Corner frequency ratio of the low pass filter - Corner frequency ratio of the low pass filter - - - - Q - Q - - - - Resonance of the filters -Default: flat top - Resonance of the filters -Default: flat top - - - - High Pass Filter Cutoff - High Pass Filter Cutoff - - - - - HPF - HPF - - - - - Corner frequency ratio of the high pass filter - Corner frequency ratio of the high pass filter - - - - - - - Depth - Depth - - - - - Flanger - Flanger - - - - - Speed - Speed - - - - - Manual - Manuel - - - - Mixes the input with a delayed, pitch modulated copy of itself to create comb filtering - Mixes the input with a delayed, pitch modulated copy of itself to create comb filtering - - - - Speed of the LFO (low frequency oscillator) -32 - 1/4 beats rounded to 1/2 beat per LFO cycle if tempo is detected -1/32 - 4 Hz if no tempo is detected - Speed of the LFO (low frequency oscillator) -32 - 1/4 beats rounded to 1/2 beat per LFO cycle if tempo is detected -1/32 - 4 Hz if no tempo is detected - - - - Delay amplitude of the LFO (low frequency oscillator) - Delay amplitude of the LFO (low frequency oscillator) - - - - Delay offset of the LFO (low frequency oscillator). -With width at zero, this allows for manually sweeping over the entire delay range. - Delay offset of the LFO (low frequency oscillator). -With width at zero, this allows for manually sweeping over the entire delay range. - - - - Regeneration - Regeneration - - - - Regen - Regen - - - - How much of the delay output is feed back into the input - How much of the delay output is feed back into the input - - - - - Intensity of the effect - Intensity of the effect - - - - - Divide rounded 1/2 beats of the Period parameter by 3. - Divide rounded 1/2 beats of the Period parameter by 3. - - - - - Mix - Mix - - - - - - - - - Width - Width - - - - Metronome - Metronome - - - - Adds a metronome click sound to the stream - Adds a metronome click sound to the stream - - - - BPM - BPM - - - - Set the beats per minute value of the click sound - Set the beats per minute value of the click sound - - - - Sync - Sync - - - - Synchronizes the BPM with the track if it can be retrieved - Synchronizes the BPM with the track if it can be retrieved - - - - - - - Period - Period - - - - - Autopan - Autopan - - - - Bounce the sound left and right across the stereo field - Bounce the sound left and right across the stereo field - - - - How fast the sound goes from one side to another -1/4 - 4 beats rounded to 1/2 beat if tempo is detected -1/4 - 4 seconds if no tempo is detected - How fast the sound goes from one side to another -1/4 - 4 beats rounded to 1/2 beat if tempo is detected -1/4 - 4 seconds if no tempo is detected - - - - Smoothing - Smoothing - - - - Smooth - Smooth - - - - How smoothly the signal goes from one side to the other - How smoothly the signal goes from one side to the other - - - - How far the signal goes to each side - How far the signal goes to each side - - - - Reverb - Réverbération - - - - Emulates the sound of the signal bouncing off the walls of a room - Emulates the sound of the signal bouncing off the walls of a room - - - - - Decay - Decay - - - - Lower decay values cause reverberations to fade out more quickly. - Lower decay values cause reverberations to fade out more quickly. - - - - Bandwidth of the low pass filter at the input. -Higher values result in less attenuation of high frequencies. - Bandwidth of the low pass filter at the input. -Higher values result in less attenuation of high frequencies. - - - - How much of the signal to send in to the effect - How much of the signal to send in to the effect - - - - Bandwidth - Bandwidth - - - - BW - BW - - - - - Damping - Damping - - - - Higher damping values cause high frequencies to decay more quickly than low frequencies. - Higher damping values cause high frequencies to decay more quickly than low frequencies. - - - - - - Low - Low - - - - - - Gain for Low Filter - Gain for Low Filter - - - - Kill Low - Kill Low - - - - Kill the Low Filter - Kill the Low Filter - - - - Mid - Mid - - - - Bessel4 LV-Mix Isolator - Bessel4 LV-Mix Isolator - - - - Bessel4 ISO - Bessel4 ISO - - - - A Bessel 4th-order filter isolator with Lipshitz and Vanderkooy mix (bit perfect unity, roll-off -24 dB/octave). - A Bessel 4th-order filter isolator with Lipshitz and Vanderkooy mix (bit perfect unity, roll-off -24 dB/octave). - - - - Gain for Mid Filter - Gain for Mid Filter - - - - Kill Mid - Kill Mid - - - - Kill the Mid Filter - Kill the Mid Filter - - - - High - High - - - - - Gain for High Filter - Gain for High Filter - - - - Kill High - Kill High - - - - Kill the High Filter - Kill the High Filter - - - - To adjust frequency shelves, go to Preferences -> Mixer. - - - - - Graphic Equalizer - Graphic Equalizer - - - - Graphic EQ - Graphic EQ - - - - An 8-band graphic equalizer based on biquad filters - An 8-band graphic equalizer based on biquad filters - - - - Gain for Band Filter %1 - Gain for Band Filter %1 - - - - Moog Ladder 4 Filter - Moog Ladder 4 Filter - - - - Moog Filter - Moog Filter - - - - A 4-pole Moog ladder filter, based on Antti Houvilainen's non linear digital implementation - A 4-pole Moog ladder filter, based on Antti Houvilainen's non linear digital implementation - - - - Res - Res - - - - - Resonance - Resonance - - - - Resonance of the filters. 4 = self oscillating - Resonance of the filters. 4 = self oscillating - - - - Gain for Low Filter (neutral at 1.0) - Gain for Low Filter (neutral at 1.0) - - - - Network stream - Network stream - - - - - Phaser - Phaser - - - - - Stereo - Stereo - - - - - Stages - Stages - - - - Mixes the input signal with a copy passed through a series of all-pass filters to create comb filtering - Mixes the input signal with a copy passed through a series of all-pass filters to create comb filtering - - - - Period of the LFO (low frequency oscillator) -1/4 - 4 beats rounded to 1/2 beat if tempo is detected -1/4 - 4 seconds if no tempo is detected - Period of the LFO (low frequency oscillator) -1/4 - 4 beats rounded to 1/2 beat if tempo is detected -1/4 - 4 seconds if no tempo is detected - - - - Controls how much of the output signal is looped - Controls how much of the output signal is looped - - - - - - - Range - Range - - - - Controls the frequency range across which the notches sweep. - Controls the frequency range across which the notches sweep. - - - - Number of stages - Number of stages - - - - Sets the LFOs (low frequency oscillators) for the left and right channels out of phase with each others - Sets the LFOs (low frequency oscillators) for the left and right channels out of phase with each others - - - - %1 minutes - %1 minutes - - - - %1:%2 - %1:%2 - - - - Ctrl+t - Ctrl+t - - - - Ctrl+y - Ctrl+y - - - - Ctrl+u - Ctrl+u - - - - Ctrl+i - Ctrl+i - - - - Ctrl+o - Ctrl+o - - - - Ctrl+Shift+O - Ctrl+Shift+O - - - - Ctrl+, - Ctrl+, - - - - Ctrl+P - Ctrl+P - - - - Bessel8 LV-Mix Isolator - Bessel8 LV-Mix Isolator - - - - Bessel8 ISO - Bessel8 ISO - - - - A Bessel 8th-order filter isolator with Lipshitz and Vanderkooy mix (bit perfect unity, roll-off -48 dB/octave). - A Bessel 8th-order filter isolator with Lipshitz and Vanderkooy mix (bit perfect unity, roll-off -48 dB/octave). - - - - LinkwitzRiley8 Isolator - LinkwitzRiley8 Isolator - - - - LR8 ISO - LR8 ISO - - - - A Linkwitz-Riley 8th-order filter isolator (optimized crossover, constant phase shift, roll-off -48 dB/octave). - A Linkwitz-Riley 8th-order filter isolator (optimized crossover, constant phase shift, roll-off -48 dB/octave). - - - - Biquad Equalizer - Biquad Equalizer - - - - BQ EQ - BQ EQ - - - - A 3-band Equalizer with two biquad bell filters, a shelving high pass and kill switches. - A 3-band Equalizer with two biquad bell filters, a shelving high pass and kill switches. - - - - Device not found - Device not found - - - - Biquad Full Kill Equalizer - Biquad Full Kill Equalizer - - - - BQ EQ/ISO - BQ EQ/ISO - - - - A 3-band Equalizer that combines an Equalizer and an Isolator circuit to offer gentle slopes and full kill. - A 3-band Equalizer that combines an Equalizer and an Isolator circuit to offer gentle slopes and full kill. - - - - Loudness Contour - Loudness Contour - - - - - - Loudness - Loudness - - - - Amplifies low and high frequencies at low volumes to compensate for reduced sensitivity of the human ear. - Amplifies low and high frequencies at low volumes to compensate for reduced sensitivity of the human ear. - - - - Set the gain of the applied loudness contour - Set the gain of the applied loudness contour - - - - - Use Gain - Use Gain - - - - Follow Gain Knob - Follow Gain Knob - - - - This stream is online for testing purposes! - This stream is online for testing purposes! - - - - Live Mix - Live Mix - - - - - 16 bits - 16 bits - - - - - 24 bits - 24 bits - - - - - Bit depth - Bit depth - - - - - Bitrate Mode - Bitrate Mode - - - - 32 bits float - 32 bits float - - - - - - Balance - Balance - - - - Adjust the left/right balance and stereo width - Adjust the left/right balance and stereo width - - - - Adjust balance between left and right channels - Adjust balance between left and right channels - - - - - Mid/Side - Mid/Side - - - - Bypass Fr. - Bypass Fr. - - - - Bypass Frequency - Bypass Frequency - - - - Stereo Balance - Stereo Balance - - - - Adjust stereo width by changing balance between middle and side of the signal. -Fully left: mono -Fully right: only side ambiance -Center: does not change the original signal. - Adjust stereo width by changing balance between middle and side of the signal. -Fully left: mono -Fully right: only side ambiance -Center: does not change the original signal. - - - - Frequencies below this cutoff are not adjusted in the stereo field - Frequencies below this cutoff are not adjusted in the stereo field - - - - Parametric Equalizer - Parametric Equalizer - - - - Param EQ - Param EQ - - - - An gentle 2-band parametric equalizer based on biquad filters. -It is designed as a complement to the steep mixing equalizers. - An gentle 2-band parametric equalizer based on biquad filters. -It is designed as a complement to the steep mixing equalizers. - - - - - Gain 1 - Gain 1 - - - - Gain for Filter 1 - Gain for Filter 1 - - - - - Q 1 - Q 1 - - - - Controls the bandwidth of Filter 1. -A lower Q affects a wider band of frequencies, -a higher Q affects a narrower band of frequencies. - Controls the bandwidth of Filter 1. -A lower Q affects a wider band of frequencies, -a higher Q affects a narrower band of frequencies. - - - - - Center 1 - Center 1 - - - - Center frequency for Filter 1, from 100 Hz to 14 kHz - Center frequency for Filter 1, from 100 Hz to 14 kHz - - - - - Gain 2 - Gain 2 - - - - Gain for Filter 2 - Gain for Filter 2 - - - - - Q 2 - Q 2 - - - - Controls the bandwidth of Filter 2. -A lower Q affects a wider band of frequencies, -a higher Q affects a narrower band of frequencies. - Controls the bandwidth of Filter 2. -A lower Q affects a wider band of frequencies, -a higher Q affects a narrower band of frequencies. - - - - - Center 2 - Center 2 - - - - Center frequency for Filter 2, from 100 Hz to 14 kHz - Center frequency for Filter 2, from 100 Hz to 14 kHz - - - - - Tremolo - Tremolo - - - - Cycles the volume up and down - Cycles the volume up and down - - - - How much the effect changes the volume - How much the effect changes the volume - - - - - Rate - Rate - - - - Rate of the volume changes -4 beats - 1/8 beat if tempo is detected -1/4 Hz - 8 Hz if no tempo is detected - Rate of the volume changes -4 beats - 1/8 beat if tempo is detected -1/4 Hz - 8 Hz if no tempo is detected - - - - Width of the volume peak -10% - 90% of the effect period - Width of the volume peak -10% - 90% of the effect period - - - - Shape of the volume modulation wave -Fully left: Square wave -Fully right: Sine wave - Shape of the volume modulation wave -Fully left: Square wave -Fully right: Sine wave - - - - When the Quantize parameter is enabled, divide the effect period by 3. - When the Quantize parameter is enabled, divide the effect period by 3. - - - - - Waveform - Waveform - - - - - Phase - Phase - - - - Shifts the position of the volume peak within the period -Fully left: beginning of the effect period -Fully right: end of the effect period - Shifts the position of the volume peak within the period -Fully left: beginning of the effect period -Fully right: end of the effect period - - - - Round the Rate parameter to the nearest whole division of a beat. - Round the Rate parameter to the nearest whole division of a beat. - - - - Triplet - Triplet - - - - - Queen Mary University London - Queen Mary University London - - - - Queen Mary Tempo and Beat Tracker - Queen Mary Tempo and Beat Tracker - - - - Queen Mary Key Detector - Queen Mary Key Detector - - - - SoundTouch BPM Detector (Legacy) - SoundTouch BPM Detector (Legacy) - - - - Constrained VBR - Constrained VBR - - - - CBR - CBR - - - - Full VBR (bitrate ignored) - Full VBR (bitrate ignored) - - - - White Noise - White Noise - - - - Mix white noise with the input signal - Mix white noise with the input signal - - - - Dry/Wet - Dry/Wet - - - - Crossfade the noise with the dry signal - Crossfade the noise with the dry signal - - - - <html>Mixxx cannot record or stream in AAC or HE-AAC without the FDK-AAC encoder. In order to record or stream in AAC or AAC+, you need to download <b>libfdk-aac</b> and install it on your system. - <html>Mixxx cannot record or stream in AAC or HE-AAC without the FDK-AAC encoder. In order to record or stream in AAC or AAC+, you need to download <b>libfdk-aac</b> and install it on your system. - - - - The installed AAC encoding library does not support HE-AAC, only plain AAC. Configure a different encoding format in the preferences. - The installed AAC encoding library does not support HE-AAC, only plain AAC. Configure a different encoding format in the preferences. - - - - MP3 encoding is not supported. Lame could not be initialized - MP3 encoding is not supported. Lame could not be initialized - - - - OGG recording is not supported. OGG/Vorbis library could not be initialized. - OGG recording is not supported. OGG/Vorbis library could not be initialized. - - - - - encoder failure - encoder failure - - - - - Failed to apply the selected settings. - Failed to apply the selected settings. - - - - Deck %1 - Deck %1 - - - - Location - Emplacement - - - - - - Playlist Export Failed - Échec de l'exportation de liste de lecture - - - - - - - Could not create file - Impossible de créer le fichier - - - - Readable text Export Failed - Readable text Export Failed - - - - Playlist Export Has Special Characters - Playlist Export Has Special Characters - - - - Some file paths in the playlist have special characters. These file paths will be encoded as absolute path URLs. Please select the m3u8 format for better and lossless exporting. - Some file paths in the playlist have special characters. These file paths will be encoded as absolute path URLs. Please select the m3u8 format for better and lossless exporting. - - - - - Pitch Shift - Pitch Shift - - - - Raises or lowers the original pitch of a sound. - Raises or lowers the original pitch of a sound. - - - - - Pitch - Pitch - - - - The pitch shift applied to the sound. - The pitch shift applied to the sound. - - - - The range of the Pitch knob (0 - 2 octaves). - - - - - - - Semitones - - - - - Change the pitch in semitone steps instead of continuously. - - - - - - Formant - - - - - Preserve the resonant frequencies (formants) of the human vocal tract and other instruments. -Hint: compensates "chipmunk" or "growling" voices - - - - - - Distortion - - - - - Hard Clip - - - - - Hard - - - - - Switches between soft saturation and hard clipping. - - - - - Soft Clipping - - - - - Hard Clipping - - - - - - Drive - - - - - The amount of amplification applied to the audio signal. At higher levels the audio will be more distored. - - - - - Passthrough - Passerelle - - - - - Glitch - Interférence - - - - Periodically samples and repeats a small portion of audio to create a glitchy metallic sound. - Échantillonne périodiquement et répète une petite portion de l'audio pour créer un son métallique défectueux. - - - - Round the Time parameter to the nearest 1/8 beat. - - - - - When the Quantize parameter is enabled, divide rounded 1/8 beats of Time parameter by 3. - - - - - (empty) - - - - - QtHSVWaveformWidget - - - HSV - HSV - - - - QtRGBWaveformWidget - - - RGB - RGB - - - - QtSimpleWaveformWidget - - - Simple - Simple - - - - QtVSyncTestWidget - - - VSyncTest - VSyncTest - - - - QtWaveformWidget - - - Filtered - Filtered - - - - RGBWaveformWidget - - - RGB - RGB - - - - RecordingFeature - - - Recordings - Recordings - - - - RecordingManager - - - Low Disk Space Warning - Low Disk Space Warning - - - - There is less than 1 GiB of usable space in the recording folder - Il reste moins d'un gigaoctet d'espace disponible dans le dossier d'enregistrement - - - - Recording - Recording - - - - Could not create audio file for recording! - Could not create audio file for recording! - - - - Ensure there is enough free disk space and you have write permission for the Recordings folder. - Ensure there is enough free disk space and you have write permission for the Recordings folder. - - - - You can change the location of the Recordings folder in Preferences -> Recording. - You can change the location of the Recordings folder in Preferences -> Recording. - - - - RecordingsView - - - - Message shown to user when recording an audio file. %1 is the file path and %2 is the current size of the recording in megabytes (MB) - - - - - RekordboxFeature - - - - - Rekordbox - Rekordbox - - - - Playlists - Playlists - - - - Folders - Folders - - - - Reads databases exported for Pioneer CDJ / XDJ players using the Rekordbox Export mode.<br/>Rekordbox can only export to USB or SD devices with a FAT or HFS file system.<br/>Mixxx can read a database from any device that contains the database folders (<tt>PIONEER</tt> and <tt>Contents</tt>).<br/>Not supported are Rekordbox databases that have been moved to an external device via<br/><i>Preferences > Advanced > Database management</i>.<br/><br/>The following data is read: - Reads databases exported for Pioneer CDJ / XDJ players using the Rekordbox Export mode.<br/>Rekordbox can only export to USB or SD devices with a FAT or HFS file system.<br/>Mixxx can read a database from any device that contains the database folders (<tt>PIONEER</tt> and <tt>Contents</tt>).<br/>Not supported are Rekordbox databases that have been moved to an external device via<br/><i>Preferences > Advanced > Database management</i>.<br/><br/>The following data is read: - - - - Hot cues - Hot cues - - - - Loops (only the first loop is currently usable in Mixxx) - Loops (only the first loop is currently usable in Mixxx) - - - - Check for attached Rekordbox USB / SD devices (refresh) - Check for attached Rekordbox USB / SD devices (refresh) - - - - Beatgrids - Beatgrids - - - - Memory cues - Memory cues - - - - (loading) Rekordbox - (loading) Rekordbox - - - - RhythmboxFeature - - - - Rhythmbox - Rhythmbox - - - - SamplerBank - - - Mixxx Sampler Banks (*.xml) - Banques d'échantillon Mixxx (*.xml) - - - - Save Sampler Bank - Save Sampler Bank - - - - Error Saving Sampler Bank - Error Saving Sampler Bank - - - - Could not write the sampler bank to '%1'. - Could not write the sampler bank to '%1'. - - - - Load Sampler Bank - Load Sampler Bank - - - - Error Reading Sampler Bank - Error Reading Sampler Bank - - - - Could not open the sampler bank file '%1'. - Could not open the sampler bank file '%1'. - - - - SeratoFeature - - - - - Serato - Serato - - - - Reads the following from the Serato Music directory and removable devices: - Reads the following from the Serato Music directory and removable devices: - - - - Tracks - Tracks - - - - Crates - Caisses - - - - Check for Serato databases (refresh) - Check for Serato databases (refresh) - - - - (loading) Serato - (loading) Serato - - - - SetlogFeature - - - Join with previous (below) - Join with previous (below) - - - - Mark all tracks played) - - - - - Finish current and start new - Finish current and start new - - - - Lock all child playlists - - - - - Unlock all child playlists - - - - - Delete all unlocked child playlists - - - - - History - History - - - - Unlock - Unlock - - - - Lock - Verrouiller - - - - - Confirm Deletion - Confirmer la suppression - - - - Do you really want to delete all unlocked playlist from <b>%1</b>?<br><br> - %1 is the year <b> + </b> are used to make the text in between bold in the popup <br> is a linebreak - - - - - Deleting %1 playlists from <b>%2</b>.<br><br> - %1 is the number of playlists to be deleted %2 is the year <b> + </b> are used to make the text in between bold in the popup <br> is a linebreak - - - - - ShoutConnection - - - - Mixxx encountered a problem - Mixxx encountered a problem - - - - Could not allocate shout_t - Could not allocate shout_t - - - - Could not allocate shout_metadata_t - Could not allocate shout_metadata_t - - - - Error setting non-blocking mode: - Error setting non-blocking mode: - - - - Error setting tls mode: - Error setting tls mode: - - - - Error setting hostname! - Error setting hostname! - - - - Error setting port! - Error setting port! - - - - Error setting password! - Error setting password! - - - - Error setting mount! - Error setting mount! - - - - Error setting username! - Error setting username! - - - - Error setting stream name! - Error setting stream name! - - - - Error setting stream description! - Error setting stream description! - - - - Error setting stream genre! - Error setting stream genre! - - - - Error setting stream url! - Error setting stream url! - - - - Error setting stream IRC! - Error setting stream IRC! - - - - Error setting stream AIM! - Error setting stream AIM! - - - - Error setting stream ICQ! - Error setting stream ICQ! - - - - Error setting stream public! - Error setting stream public! - - - - Unknown stream encoding format! - Unknown stream encoding format! - - - - Use a libshout version with %1 enabled - Use a libshout version with %1 enabled - - - - Error setting stream encoding format! - Error setting stream encoding format! - - - - Broadcasting at 96 kHz with Ogg Vorbis is not currently supported. Please try a different sample rate or switch to a different encoding. - Broadcasting at 96 kHz with Ogg Vorbis is not currently supported. Please try a different sample rate or switch to a different encoding. - - - - See https://github.com/mixxxdj/mixxx/issues/5701 for more information. - - - - - Unsupported sample rate - Unsupported sample rate - - - - Error setting bitrate - Error setting bitrate - - - - Error: unknown server protocol! - Error: unknown server protocol! - - - - Error: Shoutcast only supports MP3 and AAC encoders - Error: Shoutcast only supports MP3 and AAC encoders - - - - Error setting protocol! - Error setting protocol! - - - - Network cache overflow - Network cache overflow - - - - Connection error - Connection error - - - - One of the Live Broadcasting connections raised this error:<br><b>Error with connection '%1':</b><br> - One of the Live Broadcasting connections raised this error:<br><b>Error with connection '%1':</b><br> - - - - Connection message - Connection message - - - - <b>Message from Live Broadcasting connection '%1':</b><br> - <b>Message from Live Broadcasting connection '%1':</b><br> - - - - Lost connection to streaming server and %1 attempts to reconnect have failed. - Lost connection to streaming server and %1 attempts to reconnect have failed. - - - - Lost connection to streaming server. - Lost connection to streaming server. - - - - Please check your connection to the Internet. - Please check your connection to the Internet. - - - - Can't connect to streaming server - Can't connect to streaming server - - - - Please check your connection to the Internet and verify that your username and password are correct. - Please check your connection to the Internet and verify that your username and password are correct. - - - - SoftwareWaveformWidget - - - Filtered - Filtered - - - - SoundManager - - - - a device - a device - - - - An unknown error occurred - An unknown error occurred - - - - Two outputs cannot share channels on "%1" - Two outputs cannot share channels on "%1" - - - - Error opening "%1" - Error opening "%1" - - - - StatModel - - - Name - Nom - - - - Count - Count - - - - Type - Type - - - - Units - Units - - - - Sum - Sum - - - - Min - Min - - - - Max - Max - - - - Mean - Mean - - - - Variance - Variance - - - - Standard Deviation - Standard Deviation - - - - TagFetcher - - - Fingerprinting track - Fingerprinting track - - - - Identifying track through Acoustid - Identifying track through Acoustid - - - - Retrieving metadata from MusicBrainz - Retrieving metadata from MusicBrainz - - - - Tooltips - - - Reset to default value. - Reset to default value. - - - - Left-click - Left-click - - - - Right-click - Right-click - - - - Double-click - Double-click - - - - Scroll-wheel - Scroll-wheel - - - - Shift-key - Shift-key - - - - loop active - loop active - - - - loop inactive - loop inactive - - - - Effects within the chain must be enabled to hear them. - Effects within the chain must be enabled to hear them. - - - - Waveform Overview - Waveform Overview - - - - Use the mouse to scratch, spin-back or throw tracks. - Use the mouse to scratch, spin-back or throw tracks. - - - - Waveform Display - Waveform Display - - - - Shows the loaded track's waveform near the playback position. - Shows the loaded track's waveform near the playback position. - - - - Drag with mouse to make temporary pitch adjustments. - Drag with mouse to make temporary pitch adjustments. - - - - Scroll to change the waveform zoom level. - Scroll to change the waveform zoom level. - - - - Waveform Zoom Out - Waveform Zoom Out - - - - Waveform Zoom In - Waveform Zoom In - - - - Waveform Zoom - Waveform Zoom - - - - - Spinning Vinyl - Spinning Vinyl - - - - Rotates during playback and shows the position of a track. - Rotates during playback and shows the position of a track. - - - - Right click to show cover art of loaded track. - Right click to show cover art of loaded track. - - - - Gain - Gain - - - - Adjusts the pre-fader gain of the track (to avoid clipping). - Adjusts the pre-fader gain of the track (to avoid clipping). - - - - (too loud for the hardware and is being distorted). - (too loud for the hardware and is being distorted). - - - - Indicates when the signal on the channel is clipping, - Indicates when the signal on the channel is clipping, - - - - Channel Volume Meter - Channel Volume Meter - - - - Shows the current channel volume. - Shows the current channel volume. - - - - Microphone Volume Meter - Microphone Volume Meter - - - - Shows the current microphone volume. - Shows the current microphone volume. - - - - Auxiliary Volume Meter - Auxiliary Volume Meter - - - - Shows the current auxiliary volume. - Shows the current auxiliary volume. - - - - Auxiliary Peak Indicator - Auxiliary Peak Indicator - - - - Indicates when the signal on the auxiliary is clipping, - Indicates when the signal on the auxiliary is clipping, - - - - Volume Control - Volume Control - - - - Adjusts the volume of the selected channel. - Adjusts the volume of the selected channel. - - - - Booth Gain - Booth Gain - - - - Adjusts the booth output gain. - Adjusts the booth output gain. - - - - Crossfader - Crossfader - - - - Balance - Balance - - - - Headphone Volume - Headphone Volume - - - - Adjusts the headphone output volume. - Adjusts the headphone output volume. - - - - Headphone Gain - Headphone Gain - - - - Adjusts the headphone output gain. - Adjusts the headphone output gain. - - - - Headphone Mix - Headphone Mix - - - - Headphone Split Cue - Headphone Split Cue - - - - Adjust the Headphone Mix so in the left channel is not the pure cueing signal. - Adjust the Headphone Mix so in the left channel is not the pure cueing signal. - - - - Microphone - Microphone - - - - Show/hide the Microphone section. - Show/hide the Microphone section. - - - - Sampler - Sampler - - - - Show/hide the Sampler section. - Show/hide the Sampler section. - - - - Vinyl Control - Vinyl Control - - - - Show/hide the Vinyl Control section. - Show/hide the Vinyl Control section. - - - - Preview Deck - Platine de pré-écoute - - - - Show/hide the Preview deck. - Show/hide the Preview deck. - - - - - - Cover Art - Couverture - - - - Show/hide Cover Art. - Show/hide Cover Art. - - - - Toggle 4 Decks - Toggle 4 Decks - - - - Switches between showing 2 decks and 4 decks. - Switches between showing 2 decks and 4 decks. - - - - Show Library - Show Library - - - - Show or hide the track library. - Show or hide the track library. - - - - Show Effects - Show Effects - - - - Show or hide the effects. - Show or hide the effects. - - - - Toggle Mixer - Toggle Mixer - - - - Show or hide the mixer. - Show or hide the mixer. - - - - Show/hide volume meters for channels and main output. - - - - - Microphone Volume - Microphone Volume - - - - Adjusts the microphone volume. - Adjusts the microphone volume. - - - - Microphone Gain - Microphone Gain - - - - Adjusts the pre-fader microphone gain. - Adjusts the pre-fader microphone gain. - - - - Auxiliary Gain - Auxiliary Gain - - - - Adjusts the pre-fader auxiliary gain. - Adjusts the pre-fader auxiliary gain. - - - - Microphone Talk-Over - Microphone Talk-Over - - - - Hold-to-talk or short click for latching to - Hold-to-talk or short click for latching to - - - - Microphone Talkover Mode - Microphone Talkover Mode - - - - Off: Do not reduce music volume - Off: Do not reduce music volume - - - - Manual: Reduce music volume by a fixed amount set by the Strength knob. - Manual: Reduce music volume by a fixed amount set by the Strength knob. - - - - Behavior depends on Microphone Talkover Mode: - Behavior depends on Microphone Talkover Mode: - - - - Off: Does nothing - Off: Does nothing - - - - Change the step-size in the Preferences -> Decks menu. - - - - - Raise Pitch - Raise Pitch - - - - Sets the pitch higher. - Sets the pitch higher. - - - - Sets the pitch higher in small steps. - Sets the pitch higher in small steps. - - - - Lower Pitch - Lower Pitch - - - - Sets the pitch lower. - Sets the pitch lower. - - - - Sets the pitch lower in small steps. - Sets the pitch lower in small steps. - - - - Raise Pitch Temporary (Nudge) - Raise Pitch Temporary (Nudge) - - - - Holds the pitch higher while active. - Holds the pitch higher while active. - - - - Holds the pitch higher (small amount) while active. - Holds the pitch higher (small amount) while active. - - - - Lower Pitch Temporary (Nudge) - Lower Pitch Temporary (Nudge) - - - - Holds the pitch lower while active. - Holds the pitch lower while active. - - - - Holds the pitch lower (small amount) while active. - Holds the pitch lower (small amount) while active. - - - - Low EQ - Low EQ - - - - Adjusts the gain of the low EQ filter. - Adjusts the gain of the low EQ filter. - - - - Mid EQ - Mid EQ - - - - Adjusts the gain of the mid EQ filter. - Adjusts the gain of the mid EQ filter. - - - - High EQ - High EQ - - - - Adjusts the gain of the high EQ filter. - Adjusts the gain of the high EQ filter. - - - - Hold-to-kill or short click for latching. - Hold-to-kill or short click for latching. - - - - High EQ Kill - High EQ Kill - - - - Holds the gain of the high EQ to zero while active. - Holds the gain of the high EQ to zero while active. - - - - Mid EQ Kill - Mid EQ Kill - - - - Holds the gain of the mid EQ to zero while active. - Holds the gain of the mid EQ to zero while active. - - - - Low EQ Kill - Low EQ Kill - - - - Holds the gain of the low EQ to zero while active. - Holds the gain of the low EQ to zero while active. - - - - Displays the tempo of the loaded track in BPM (beats per minute). - Displays the tempo of the loaded track in BPM (beats per minute). - - - - Tempo - Tempo - - - - Key - The musical key of a track - Clé - - - - BPM Tap - BPM Tap - - - - - When tapped repeatedly, adjusts the BPM to match the tapped BPM. - When tapped repeatedly, adjusts the BPM to match the tapped BPM. - - - - Adjust BPM Down - Adjust BPM Down - - - - When tapped, adjusts the average BPM down by a small amount. - When tapped, adjusts the average BPM down by a small amount. - - - - Adjust BPM Up - Adjust BPM Up - - - - When tapped, adjusts the average BPM up by a small amount. - When tapped, adjusts the average BPM up by a small amount. - - - - Adjust Beats Earlier - Adjust Beats Earlier - - - - When tapped, moves the beatgrid left by a small amount. - When tapped, moves the beatgrid left by a small amount. - - - - Adjust Beats Later - Adjust Beats Later - - - - When tapped, moves the beatgrid right by a small amount. - When tapped, moves the beatgrid right by a small amount. - - - - Tempo and BPM Tap - Tempo and BPM Tap - - - - Show/hide the spinning vinyl section. - Show/hide the spinning vinyl section. - - - - Keylock - Keylock - - - - Toggling keylock during playback may result in a momentary audio glitch. - Toggling keylock during playback may result in a momentary audio glitch. - - - - Toggle visibility of Loop Controls - Toggle visibility of Loop Controls - - - - Toggle visibility of Beatjump Controls - Toggle visibility of Beatjump Controls - - - - Toggle visibility of Rate Control - Toggle visibility of Rate Control - - - - Toggle visibility of Key Controls - Toggle visibility of Key Controls - - - - (while previewing) - (while previewing) - - - - Places a cue point at the current position on the waveform. - Places a cue point at the current position on the waveform. - - - - Stops track at cue point, OR go to cue point and play after release (CUP mode). - Stops track at cue point, OR go to cue point and play after release (CUP mode). - - - - Set cue point (Pioneer/Mixxx/Numark mode), set cue point and play after release (CUP mode) OR preview from it (Denon mode). - Set cue point (Pioneer/Mixxx/Numark mode), set cue point and play after release (CUP mode) OR preview from it (Denon mode). - - - - Is latching the playing state. - Is latching the playing state. - - - - Seeks the track to the cue point and stops. - Seeks the track to the cue point and stops. - - - - Play - Play - - - - Plays track from the cue point. - Plays track from the cue point. - - - - Sends the selected channel's audio to the headphone output, selected in Preferences -> Sound Hardware. - Sends the selected channel's audio to the headphone output, selected in Preferences -> Sound Hardware. - - - - (This skin should be updated to use Sync Lock!) - (This skin should be updated to use Sync Lock!) - - - - Enable Sync Lock - Enable Sync Lock - - - - Tap to sync the tempo to other playing tracks or the sync leader. - Tap to sync the tempo to other playing tracks or the sync leader. - - - - Enable Sync Leader - Enable Sync Leader - - - - When enabled, this device will serve as the sync leader for all other decks. - When enabled, this device will serve as the sync leader for all other decks. - - - - This is relevant when a dynamic tempo track is loaded to a sync leader deck.In that case, other synced devices will adopt the changing tempo. - - - - - Changes the track playback speed (affects both the tempo and the pitch). If keylock is enabled, only the tempo is affected. - Changes the track playback speed (affects both the tempo and the pitch). If keylock is enabled, only the tempo is affected. - - - - Tempo Range Display - Tempo Range Display - - - - Displays the current range of the tempo slider. - Displays the current range of the tempo slider. - - - - Un-ejects when no track is loaded, i.e. reloads the track that was ejected last (of any deck). - - - - - Delete selected hotcue. - Delete selected hotcue. - - - - Track Comment - - - - - Displays the comment tag of the loaded track. - - - - - Opens separate artwork viewer. - Opens separate artwork viewer. - - - - Effect Chain Preset Settings - Effect Chain Preset Settings - - - - Show the effect chain settings menu for this unit. - Show the effect chain settings menu for this unit. - - - - Select and configure a hardware device for this input - Select and configure a hardware device for this input - - - - Recording Duration - Recording Duration - - - - Big Spinny/Cover Art - Big Spinny/Cover Art - - - - Show a big version of the Spinny or track cover art if enabled. - Show a big version of the Spinny or track cover art if enabled. - - - - Main Output Peak Indicator - Main Output Peak Indicator - - - - Indicates when the signal on the main output is clipping, - Indicates when the signal on the main output is clipping, - - - - Main Output L Peak Indicator - Main Output L Peak Indicator - - - - Indicates when the left signal on the main output is clipping, - Indicates when the left signal on the main output is clipping, - - - - Main Output R Peak Indicator - Main Output R Peak Indicator - - - - Indicates when the right signal on the main output is clipping, - Indicates when the right signal on the main output is clipping, - - - - Main Channel L Volume Meter - Main Channel L Volume Meter - - - - Shows the current volume for the left channel of the main output. - Shows the current volume for the left channel of the main output. - - - - Shows the current volume for the right channel of the main output. - Shows the current volume for the right channel of the main output. - - - - - Main Output Gain - Main Output Gain - - - - - Adjusts the main output gain. - Adjusts the main output gain. - - - - Determines the main output by fading between the left and right channels. - Determines the main output by fading between the left and right channels. - - - - Adjusts the left/right channel balance on the main output. - Adjusts the left/right channel balance on the main output. - - - - Crossfades the headphone output between the main mix and cueing (PFL or Pre-Fader Listening) signal. - Crossfades the headphone output between the main mix and cueing (PFL or Pre-Fader Listening) signal. - - - - If activated, the main mix signal plays in the right channel, while the cueing signal plays in the left channel. - If activated, the main mix signal plays in the right channel, while the cueing signal plays in the left channel. - - - - Show/hide Cover Art of the selected track in the library. - Show/hide Cover Art of the selected track in the library. - - - - Show/hide the scrolling waveforms - Show/hide the scrolling waveforms - - - - Show/hide the beatgrid controls section - Show/hide the beatgrid controls section - - - - Hide all skin sections except the decks to have more screen space for the track library. - Hide all skin sections except the decks to have more screen space for the track library. - - - - Volume Meters - Volume Meters - - - - mix microphone input into the main output. - mix microphone input into the main output. - - - - Auto: Automatically reduce music volume when microphone volume rises above threshold. - Auto: Automatically reduce music volume when microphone volume rises above threshold. - - - - - Adjust the amount the music volume is reduced with the Strength knob. - Adjust the amount the music volume is reduced with the Strength knob. - - - - Auto: Sets how much to reduce the music volume when the volume of active microphones rises above threshold. - Auto: Sets how much to reduce the music volume when the volume of active microphones rises above threshold. - - - - Manual: Sets how much to reduce the music volume, when talkover is activated regardless of volume of microphone inputs. - Manual: Sets how much to reduce the music volume, when talkover is activated regardless of volume of microphone inputs. - - - - Shift cues earlier - Shift cues earlier - - - - - Shift cues imported from Serato or Rekordbox if they are slightly off time. - Shift cues imported from Serato or Rekordbox if they are slightly off time. - - - - Left click: shift 10 milliseconds earlier - Left click: shift 10 milliseconds earlier - - - - Right click: shift 1 millisecond earlier - Right click: shift 1 millisecond earlier - - - - Shift cues later - Shift cues later - - - - Left click: shift 10 milliseconds later - Left click: shift 10 milliseconds later - - - - Right click: shift 1 millisecond later - Right click: shift 1 millisecond later - - - - Mutes the selected channel's audio in the main output. - Mutes the selected channel's audio in the main output. - - - - Main mix enable - Main mix enable - - - - Hold or short click for latching to mix this input into the main output. - Hold or short click for latching to mix this input into the main output. - - - - Displays the duration of the running recording. - Displays the duration of the running recording. - - - - Auto DJ is active - Auto DJ is active - - - - Hot Cue - Track will seek to nearest previous hotcue point. - Hot Cue - Track will seek to nearest previous hotcue point. - - - - Sets the track Loop-In Marker to the current play position. - Sets the track Loop-In Marker to the current play position. - - - - Press and hold to move Loop-In Marker. - Press and hold to move Loop-In Marker. - - - - Jump to Loop-In Marker. - Jump to Loop-In Marker. - - - - Sets the track Loop-Out Marker to the current play position. - Sets the track Loop-Out Marker to the current play position. - - - - Press and hold to move Loop-Out Marker. - Press and hold to move Loop-Out Marker. - - - - Jump to Loop-Out Marker. - Jump to Loop-Out Marker. - - - - Beatloop Size - Beatloop Size - - - - Select the size of the loop in beats to set with the Beatloop button. - Select the size of the loop in beats to set with the Beatloop button. - - - - Changing this resizes the loop if the loop already matches this size. - Changing this resizes the loop if the loop already matches this size. - - - - Halve the size of an existing beatloop, or halve the size of the next beatloop set with the Beatloop button. - Halve the size of an existing beatloop, or halve the size of the next beatloop set with the Beatloop button. - - - - Double the size of an existing beatloop, or double the size of the next beatloop set with the Beatloop button. - Double the size of an existing beatloop, or double the size of the next beatloop set with the Beatloop button. - - - - Start a loop over the set number of beats. - Start a loop over the set number of beats. - - - - Temporarily enable a rolling loop over the set number of beats. - Temporarily enable a rolling loop over the set number of beats. - - - - Beatjump/Loop Move Size - Beatjump/Loop Move Size - - - - Select the number of beats to jump or move the loop with the Beatjump Forward/Backward buttons. - Select the number of beats to jump or move the loop with the Beatjump Forward/Backward buttons. - - - - Beatjump Forward - Beatjump Forward - - - - Jump forward by the set number of beats. - Jump forward by the set number of beats. - - - - Move the loop forward by the set number of beats. - Move the loop forward by the set number of beats. - - - - Jump forward by 1 beat. - Jump forward by 1 beat. - - - - Move the loop forward by 1 beat. - Move the loop forward by 1 beat. - - - - Beatjump Backward - Beatjump Backward - - - - Jump backward by the set number of beats. - Jump backward by the set number of beats. - - - - Move the loop backward by the set number of beats. - Move the loop backward by the set number of beats. - - - - Jump backward by 1 beat. - Jump backward by 1 beat. - - - - Move the loop backward by 1 beat. - Move the loop backward by 1 beat. - - - - Reloop - Reloop - - - - If the loop is ahead of the current position, looping will start when the loop is reached. - If the loop is ahead of the current position, looping will start when the loop is reached. - - - - Works only if Loop-In and Loop-Out Marker are set. - Works only if Loop-In and Loop-Out Marker are set. - - - - Enable loop, jump to Loop-In Marker, and stop playback. - Enable loop, jump to Loop-In Marker, and stop playback. - - - - Displays the elapsed and/or remaining time of the track loaded. - Displays the elapsed and/or remaining time of the track loaded. - - - - Click to toggle between time elapsed/remaining time/both. - Click to toggle between time elapsed/remaining time/both. - - - - Hint: Change the time format in Preferences -> Decks. - Hint: Change the time format in Preferences -> Decks. - - - - Show/hide intro & outro markers and associated buttons. - Show/hide intro & outro markers and associated buttons. - - - - Intro Start Marker - Intro Start Marker - - - - - - - If marker is set, jumps to the marker. - If marker is set, jumps to the marker. - - - - - - - If marker is not set, sets the marker to the current play position. - If marker is not set, sets the marker to the current play position. - - - - - - - If marker is set, clears the marker. - If marker is set, clears the marker. - - - - Intro End Marker - Intro End Marker - - - - Outro Start Marker - Outro Start Marker - - - - Outro End Marker - Outro End Marker - - - - Mix - Mix - - - - Adjust the mixing of the dry (input) signal with the wet (output) signal of the effect unit - Adjust the mixing of the dry (input) signal with the wet (output) signal of the effect unit - - - - D/W mode: Crossfade between dry and wet - D/W mode: Crossfade between dry and wet - - - - D+W mode: Add wet to dry - D+W mode: Add wet to dry - - - - Mix Mode - Mix Mode - - - - Adjust how the dry (input) signal is mixed with the wet (output) signal of the effect unit - Adjust how the dry (input) signal is mixed with the wet (output) signal of the effect unit - - - - Dry/Wet mode (crossed lines): Mix knob crossfades between dry and wet -Use this to change the sound of the track with EQ and filter effects. - Dry/Wet mode (crossed lines): Mix knob crossfades between dry and wet -Use this to change the sound of the track with EQ and filter effects. - - - - Dry+Wet mode (flat dry line): Mix knob adds wet to dry -Use this to change only the effected (wet) signal with EQ and filter effects. - Dry+Wet mode (flat dry line): Mix knob adds wet to dry -Use this to change only the effected (wet) signal with EQ and filter effects. - - - - Route the main mix through this effect unit. - Route the main mix through this effect unit. - - - - Route the left crossfader bus through this effect unit. - Route the left crossfader bus through this effect unit. - - - - Route the right crossfader bus through this effect unit. - Route the right crossfader bus through this effect unit. - - - - Right side active: parameter moves with right half of Meta Knob turn - Right side active: parameter moves with right half of Meta Knob turn - - - - Skin Settings Menu - Skin Settings Menu - - - - Show/hide skin settings menu - Show/hide skin settings menu - - - - Save Sampler Bank - Save Sampler Bank - - - - Save the collection of samples loaded in the samplers. - Save the collection of samples loaded in the samplers. - - - - Load Sampler Bank - Load Sampler Bank - - - - Load a previously saved collection of samples into the samplers. - Load a previously saved collection of samples into the samplers. - - - - Show Effect Parameters - Show Effect Parameters - - - - Enable Effect - Enable Effect - - - - Meta Knob Link - Meta Knob Link - - - - Set how this parameter is linked to the effect's Meta Knob. - Set how this parameter is linked to the effect's Meta Knob. - - - - Meta Knob Link Inversion - Meta Knob Link Inversion - - - - Inverts the direction this parameter moves when turning the effect's Meta Knob. - Inverts the direction this parameter moves when turning the effect's Meta Knob. - - - - Super Knob - Super Knob - - - - Next Chain - Next Chain - - - - Previous Chain - Previous Chain - - - - Next/Previous Chain - Next/Previous Chain - - - - Clear - Clear - - - - Clear the current effect. - Clear the current effect. - - - - Toggle - Toggle - - - - Toggle the current effect. - Toggle the current effect. - - - - Next - Next - - - - Clear Unit - Clear Unit - - - - Clear effect unit. - Clear effect unit. - - - - Show/hide parameters for effects in this unit. - Show/hide parameters for effects in this unit. - - - - Toggle Unit - Toggle Unit - - - - Enable or disable this whole effect unit. - Enable or disable this whole effect unit. - - - - Controls the Meta Knob of all effects in this unit together. - Controls the Meta Knob of all effects in this unit together. - - - - Load next effect chain preset into this effect unit. - Load next effect chain preset into this effect unit. - - - - Load previous effect chain preset into this effect unit. - Load previous effect chain preset into this effect unit. - - - - Load next or previous effect chain preset into this effect unit. - Load next or previous effect chain preset into this effect unit. - - - - - - - - - - - - Assign Effect Unit - Assign Effect Unit - - - - Assign this effect unit to the channel output. - Assign this effect unit to the channel output. - - - - Route the headphone channel through this effect unit. - Route the headphone channel through this effect unit. - - - - Route this deck through the indicated effect unit. - Route this deck through the indicated effect unit. - - - - Route this sampler through the indicated effect unit. - Route this sampler through the indicated effect unit. - - - - Route this microphone through the indicated effect unit. - Route this microphone through the indicated effect unit. - - - - Route this auxiliary input through the indicated effect unit. - Route this auxiliary input through the indicated effect unit. - - - - The effect unit must also be assigned to a deck or other sound source to hear the effect. - The effect unit must also be assigned to a deck or other sound source to hear the effect. - - - - Switch to the next effect. - Switch to the next effect. - - - - Previous - Previous - - - - Switch to the previous effect. - Switch to the previous effect. - - - - Next or Previous - Next or Previous - - - - Switch to either the next or previous effect. - Switch to either the next or previous effect. - - - - Meta Knob - Meta Knob - - - - Controls linked parameters of this effect - Controls linked parameters of this effect - - - - Effect Focus Button - Effect Focus Button - - - - Focuses this effect. - Focuses this effect. - - - - Unfocuses this effect. - Unfocuses this effect. - - - - Refer to the web page on the Mixxx wiki for your controller for more information. - Refer to the web page on the Mixxx wiki for your controller for more information. - - - - Effect Parameter - Effect Parameter - - - - Adjusts a parameter of the effect. - Adjusts a parameter of the effect. - - - - Inactive: parameter not linked - Inactive: parameter not linked - - - - Active: parameter moves with Meta Knob - Active: parameter moves with Meta Knob - - - - Left side active: parameter moves with left half of Meta Knob turn - Left side active: parameter moves with left half of Meta Knob turn - - - - Left and right side active: parameter moves across range with half of Meta Knob turn and back with the other half - Left and right side active: parameter moves across range with half of Meta Knob turn and back with the other half - - - - - Equalizer Parameter Kill - Equalizer Parameter Kill - - - - - Holds the gain of the EQ to zero while active. - Holds the gain of the EQ to zero while active. - - - - Quick Effect Super Knob - Quick Effect Super Knob - - - - Quick Effect Super Knob (control linked effect parameters). - Quick Effect Super Knob (control linked effect parameters). - - - - Hint: Change the default Quick Effect mode in Preferences -> Equalizers. - Hint: Change the default Quick Effect mode in Preferences -> Equalizers. - - - - Equalizer Parameter - Equalizer Parameter - - - - Adjusts the gain of the EQ filter. - Adjusts the gain of the EQ filter. - - - - Hint: Change the default EQ mode in Preferences -> Equalizers. - Hint: Change the default EQ mode in Preferences -> Equalizers. - - - - - Adjust Beatgrid - Adjust Beatgrid - - - - Adjust beatgrid so the closest beat is aligned with the current play position. - Adjust beatgrid so the closest beat is aligned with the current play position. - - - - - Adjust beatgrid to match another playing deck. - Adjust beatgrid to match another playing deck. - - - - If quantize is enabled, snaps to the nearest beat. - If quantize is enabled, snaps to the nearest beat. - - - - Quantize - Quantize - - - - Toggles quantization. - Toggles quantization. - - - - Loops and cues snap to the nearest beat when quantization is enabled. - Loops and cues snap to the nearest beat when quantization is enabled. - - - - Reverse - Reverse - - - - Reverses track playback during regular playback. - Reverses track playback during regular playback. - - - - Puts a track into reverse while being held (Censor). - Puts a track into reverse while being held (Censor). - - - - Playback continues where the track would have been if it had not been temporarily reversed. - Playback continues where the track would have been if it had not been temporarily reversed. - - - - - - Play/Pause - Play/Pause - - - - Jumps to the beginning of the track. - Jumps to the beginning of the track. - - - - Syncs the tempo (BPM) and phase to that of the other track, if BPM is detected on both. - Syncs the tempo (BPM) and phase to that of the other track, if BPM is detected on both. - - - - Syncs the tempo (BPM) to that of the other track, if BPM is detected on both. - Syncs the tempo (BPM) to that of the other track, if BPM is detected on both. - - - - Sync and Reset Key - Sync and Reset Key - - - - Increases the pitch by one semitone. - Increases the pitch by one semitone. - - - - Decreases the pitch by one semitone. - Decreases the pitch by one semitone. - - - - Enable Vinyl Control - Enable Vinyl Control - - - - When disabled, the track is controlled by Mixxx playback controls. - When disabled, the track is controlled by Mixxx playback controls. - - - - When enabled, the track responds to external vinyl control. - When enabled, the track responds to external vinyl control. - - - - Enable Passthrough - Enable Passthrough - - - - Indicates that the audio buffer is too small to do all audio processing. - Indicates that the audio buffer is too small to do all audio processing. - - - - Displays cover artwork of the loaded track. - Displays cover artwork of the loaded track. - - - - Displays options for editing cover artwork. - Displays options for editing cover artwork. - - - - Star Rating - Star Rating - - - - Assign ratings to individual tracks by clicking the stars. - Assign ratings to individual tracks by clicking the stars. - - - - Channel Peak Indicator - Channel Peak Indicator - - - - Drag this item to other decks/samplers, to crates and playlist or to external file manager. - Drag this item to other decks/samplers, to crates and playlist or to external file manager. - - - - Shows information about the track currently loaded in this deck. - Shows information about the track currently loaded in this deck. - - - - Left click to jump around in the track. - Left click to jump around in the track. - - - - Right click hotcues to edit their labels and colors. - Right click hotcues to edit their labels and colors. - - - - Right click anywhere else to show the time at that point. - Right click anywhere else to show the time at that point. - - - - Channel L Peak Indicator - Channel L Peak Indicator - - - - Indicates when the left signal on the channel is clipping, - Indicates when the left signal on the channel is clipping, - - - - Channel R Peak Indicator - Channel R Peak Indicator - - - - Indicates when the right signal on the channel is clipping, - Indicates when the right signal on the channel is clipping, - - - - Channel L Volume Meter - Channel L Volume Meter - - - - Shows the current channel volume for the left channel. - Shows the current channel volume for the left channel. - - - - Channel R Volume Meter - Channel R Volume Meter - - - - Shows the current channel volume for the right channel. - Shows the current channel volume for the right channel. - - - - Microphone Peak Indicator - Microphone Peak Indicator - - - - Indicates when the signal on the microphone is clipping, - Indicates when the signal on the microphone is clipping, - - - - Sampler Volume Meter - Sampler Volume Meter - - - - Shows the current sampler volume. - Shows the current sampler volume. - - - - Sampler Peak Indicator - Sampler Peak Indicator - - - - Indicates when the signal on the sampler is clipping, - Indicates when the signal on the sampler is clipping, - - - - Preview Deck Volume Meter - Preview Deck Volume Meter - - - - Shows the current Preview Deck volume. - Shows the current Preview Deck volume. - - - - Preview Deck Peak Indicator - Preview Deck Peak Indicator - - - - Indicates when the signal on the Preview Deck is clipping, - Indicates when the signal on the Preview Deck is clipping, - - - - Maximize Library - Maximize Library - - - - Microphone Talkover Ducking Strength - Microphone Talkover Ducking Strength - - - - Prevents the pitch from changing when the rate changes. - Prevents the pitch from changing when the rate changes. - - - - Changes the number of hotcue buttons displayed in the deck - Changes the number of hotcue buttons displayed in the deck - - - - Starts playing from the beginning of the track. - Starts playing from the beginning of the track. - - - - Jumps to the beginning of the track and stops. - Jumps to the beginning of the track and stops. - - - - - Plays or pauses the track. - Plays or pauses the track. - - - - (while playing) - (while playing) - - - - Opens the track properties editor - Opens the track properties editor - - - - Opens the track context menu. - Opens the track context menu. - - - - Main Channel R Volume Meter - - - - - (while stopped) - (while stopped) - - - - Cue - Cue - - - - Headphone - Headphone - - - - Mute - Mute - - - - Old Synchronize - Old Synchronize - - - - Syncs to the first deck (in numerical order) that is playing a track and has a BPM. - Syncs to the first deck (in numerical order) that is playing a track and has a BPM. - - - - If no deck is playing, syncs to the first deck that has a BPM. - If no deck is playing, syncs to the first deck that has a BPM. - - - - Decks can't sync to samplers and samplers can only sync to decks. - Decks can't sync to samplers and samplers can only sync to decks. - - - - Hold for at least a second to enable sync lock for this deck. - Hold for at least a second to enable sync lock for this deck. - - - - Decks with sync locked will all play at the same tempo, and decks that also have quantize enabled will always have their beats lined up. - Decks with sync locked will all play at the same tempo, and decks that also have quantize enabled will always have their beats lined up. - - - - Resets the key to the original track key. - Resets the key to the original track key. - - - - Speed Control - Speed Control - - - - - - Changes the track pitch independent of the tempo. - Changes the track pitch independent of the tempo. - - - - Increases the pitch by 10 cents. - Increases the pitch by 10 cents. - - - - Decreases the pitch by 10 cents. - Decreases the pitch by 10 cents. - - - - Pitch Adjust - Pitch Adjust - - - - Adjust the pitch in addition to the speed slider pitch. - Adjust the pitch in addition to the speed slider pitch. - - - - Opens a menu to clear hotcues or edit their labels and colors. - Opens a menu to clear hotcues or edit their labels and colors. - - - - Record Mix - Record Mix - - - - Toggle mix recording. - Toggle mix recording. - - - - Enable Live Broadcasting - Enable Live Broadcasting - - - - Stream your mix over the Internet. - Stream your mix over the Internet. - - - - Provides visual feedback for Live Broadcasting status: - Provides visual feedback for Live Broadcasting status: - - - - disabled, connecting, connected, failure. - disabled, connecting, connected, failure. - - - - When enabled, the deck directly plays the audio arriving on the vinyl input. - When enabled, the deck directly plays the audio arriving on the vinyl input. - - - - Blue for passthrough enabled. - Blue for passthrough enabled. - - - - Playback will resume where the track would have been if it had not entered the loop. - Playback will resume where the track would have been if it had not entered the loop. - - - - Loop Exit - Loop Exit - - - - Turns the current loop off. - Turns the current loop off. - - - - Slip Mode - Slip Mode - - - - When active, the playback continues muted in the background during a loop, reverse, scratch etc. - When active, the playback continues muted in the background during a loop, reverse, scratch etc. - - - - Once disabled, the audible playback will resume where the track would have been. - Once disabled, the audible playback will resume where the track would have been. - - - - Track Key - The musical key of a track - Track Key - - - - Displays the musical key of the loaded track. - Displays the musical key of the loaded track. - - - - Clock - Clock - - - - Displays the current time. - Displays the current time. - - - - Audio Latency Usage Meter - Audio Latency Usage Meter - - - - Displays the fraction of latency used for audio processing. - Displays the fraction of latency used for audio processing. - - - - A high value indicates that audible glitches are likely. - A high value indicates that audible glitches are likely. - - - - Do not enable keylock, effects or additional decks in this situation. - Do not enable keylock, effects or additional decks in this situation. - - - - Audio Latency Overload Indicator - Audio Latency Overload Indicator - - - - If Vinyl control is enabled, displays time-coded vinyl signal quality (see Preferences -> Vinyl Control). - If Vinyl control is enabled, displays time-coded vinyl signal quality (see Preferences -> Vinyl Control). - - - - Drop tracks from library, external file manager, or other decks/samplers here. - Drop tracks from library, external file manager, or other decks/samplers here. - - - - Change the crossfader curve in Preferences -> Crossfader - Change the crossfader curve in Preferences -> Crossfader - - - - Crossfader Orientation - Crossfader Orientation - - - - Set the channel's crossfader orientation. - Set the channel's crossfader orientation. - - - - Either to the left side of crossfader, to the right side or to the center (unaffected by crossfader) - Either to the left side of crossfader, to the right side or to the center (unaffected by crossfader) - - - - Activate Vinyl Control from the Menu -> Options. - Activate Vinyl Control from the Menu -> Options. - - - - Displays the current musical key of the loaded track after pitch shifting. - Displays the current musical key of the loaded track after pitch shifting. - - - - Fast Rewind - Fast Rewind - - - - Fast rewind through the track. - Fast rewind through the track. - - - - Fast Forward - Fast Forward - - - - Fast forward through the track. - Fast forward through the track. - - - - Jumps to the end of the track. - Jumps to the end of the track. - - - - Sets the pitch to a key that allows a harmonic transition from the other track. Requires a detected key on both involved decks. - Sets the pitch to a key that allows a harmonic transition from the other track. Requires a detected key on both involved decks. - - - - - - Pitch Control - Pitch Control - - - - Pitch Rate - Pitch Rate - - - - Displays the current playback rate of the track. - Displays the current playback rate of the track. - - - - Repeat - Repeat - - - - When active the track will repeat if you go past the end or reverse before the start. - When active the track will repeat if you go past the end or reverse before the start. - - - - Eject - Eject - - - - Ejects track from the player. - Ejects track from the player. - - - - Hotcue - Hotcue - - - - If hotcue is set, jumps to the hotcue. - If hotcue is set, jumps to the hotcue. - - - - If hotcue is not set, sets the hotcue to the current play position. - If hotcue is not set, sets the hotcue to the current play position. - - - - Vinyl Control Mode - Vinyl Control Mode - - - - Absolute mode - track position equals needle position and speed. - Absolute mode - track position equals needle position and speed. - - - - Relative mode - track speed equals needle speed regardless of needle position. - Relative mode - track speed equals needle speed regardless of needle position. - - - - Constant mode - track speed equals last known-steady speed regardless of needle input. - Constant mode - track speed equals last known-steady speed regardless of needle input. - - - - Vinyl Status - Vinyl Status - - - - Provides visual feedback for vinyl control status: - Provides visual feedback for vinyl control status: - - - - Green for control enabled. - Green for control enabled. - - - - Blinking yellow for when the needle reaches the end of the record. - Blinking yellow for when the needle reaches the end of the record. - - - - Loop-In Marker - Loop-In Marker - - - - Loop-Out Marker - Loop-Out Marker - - - - Loop Halve - Loop Halve - - - - Halves the current loop's length by moving the end marker. - Halves the current loop's length by moving the end marker. - - - - Deck immediately loops if past the new endpoint. - Deck immediately loops if past the new endpoint. - - - - Loop Double - Loop Double - - - - Doubles the current loop's length by moving the end marker. - Doubles the current loop's length by moving the end marker. - - - - Beatloop - Beatloop - - - - Toggles the current loop on or off. - Toggles the current loop on or off. - - - - Works only if Loop-In and Loop-Out marker are set. - Works only if Loop-In and Loop-Out marker are set. - - - - Hint: Change the default cue mode in Preferences -> Interface. - Hint: Change the default cue mode in Preferences -> Interface. - - - - Vinyl Cueing Mode - Vinyl Cueing Mode - - - - Determines how cue points are treated in vinyl control Relative mode: - Determines how cue points are treated in vinyl control Relative mode: - - - - Off - Cue points ignored. - Off - Cue points ignored. - - - - One Cue - If needle is dropped after the cue point, track will seek to that cue point. - One Cue - If needle is dropped after the cue point, track will seek to that cue point. - - - - Track Time - Track Time - - - - Track Duration - Track Duration - - - - Displays the duration of the loaded track. - Displays the duration of the loaded track. - - - - Information is loaded from the track's metadata tags. - Information is loaded from the track's metadata tags. - - - - Track Artist - Track Artist - - - - Displays the artist of the loaded track. - Displays the artist of the loaded track. - - - - Track Title - Track Title - - - - Displays the title of the loaded track. - Displays the title of the loaded track. - - - - Track Album - Track Album - - - - Displays the album name of the loaded track. - Displays the album name of the loaded track. - - - - Track Artist/Title - Track Artist/Title - - - - Displays the artist and title of the loaded track. - Displays the artist and title of the loaded track. - - - - TrackCollection - - - Hiding tracks - Hiding tracks - - - - The selected tracks are in the following playlists:%1Hiding them will remove them from these playlists. Continue? - The selected tracks are in the following playlists:%1Hiding them will remove them from these playlists. Continue? - - - - TrackExportDlg - - - Export finished - Export finished - - - - Exporting %1 - Exporting %1 - - - - Overwrite Existing File? - Overwrite Existing File? - - - - "%1" already exists, overwrite? - "%1" already exists, overwrite? - - - - &Overwrite - &Overwrite - - - - Over&write All - Over&write All - - - - &Skip - &Skip - - - - Skip &All - Skip &All - - - - Export Error - Export Error - - - - TrackExportWizard - - - Export Track Files To - Export Track Files To - - - - TrackExportWorker - - - - Export process was canceled - Export process was canceled - - - - Error removing file %1: %2. Stopping. - Error removing file %1: %2. Stopping. - - - - Error exporting track %1 to %2: %3. Stopping. - Error exporting track %1 to %2: %3. Stopping. - - - - Error exporting tracks - Error exporting tracks - - - - TraktorFeature - - - - Traktor - Traktor - - - - (loading) Traktor - (loading) Traktor - - - - Error Loading Traktor Library - Error Loading Traktor Library - - - - There was an error loading your Traktor library. Some of your Traktor tracks or playlists may not have loaded. - There was an error loading your Traktor library. Some of your Traktor tracks or playlists may not have loaded. - - - - VSyncThread - - - Timer (Fallback) - Timer (Fallback) - - - - MESA vblank_mode = 1 - MESA vblank_mode = 1 - - - - Wait for Video sync - Wait for Video sync - - - - Sync Control - Sync Control - - - - Free + 1 ms (for benchmark only) - Free + 1 ms (for benchmark only) - - - - WBattery - - - Time until charged: %1 - Time until charged: %1 - - - - Time left: %1 - Time left: %1 - - - - Battery fully charged. - Battery fully charged. - - - - WColorPicker - - - No color - No color - - - - Custom color - Custom color - - - - WCoverArtMenu - - - Choose new cover - change cover art location - Choose new cover - - - - Clear cover - clears the set cover art -- does not touch files on disk - Clear cover - - - - Reload from file/folder - reload cover art from file metadata or folder - Reload from file/folder - - - - Image Files - Image Files - - - - Change Cover Art - Change Cover Art - - - - Cover Art File Already Exists - La Pochette d'Album Existe Déjà - - - - File: %1 -Folder: %2 -Override existing file? -This can not be undone! - Fichier : %1 -Dossier : %2 -Écraser le fichier existant ? -Cette opération est irréversible ! - - - - WCueMenuPopup - - - Cue number - Cue number - - - - Cue position - Cue position - - - - Edit cue label - Edit cue label - - - - Label... - Label... - - - - Delete this cue - Delete this cue - - - - Hotcue #%1 - Hotcue #%1 - - - - WEffectChainPresetButton - - - Update Preset - Update Preset - - - - Rename Preset - - - - - Save As New Preset... - Save As New Preset... - - - - Save snapshot - Save snapshot - - - - WEffectName - - - %1: %2 - %1 = effect name; %2 = effect description - %1: %2 - - - - No effect loaded. - Aucun effet chargé. - - - - WEffectParameterNameBase - - - No effect loaded. - Aucun effet chargé. - - - - WEffectSelector - - - No effect loaded. - No effect loaded. - - - - WFindOnWebMenu - - - Find on Web - Find on Web - - - - WMainMenuBar - - - &File - &File - - - - Load Track to Deck &%1 - Load Track to Deck &%1 - - - - Loads a track in deck %1 - Loads a track in deck %1 - - - - Open - Open - - - - &Exit - &Exit - - - - Quits Mixxx - Quits Mixxx - - - - Ctrl+q - Ctrl+q - - - - &Library - &Library - - - - &Rescan Library - &Rescan Library - - - - Rescans library folders for changes to tracks. - Rescans library folders for changes to tracks. - - - - Ctrl+Shift+L - Ctrl+Shift+L - - - - E&xport Library to Engine Prime - E&xport Library to Engine Prime - - - - Export the library to the Engine Prime format - Export the library to the Engine Prime format - - - - Create &New Playlist - Create &New Playlist - - - - Create a new playlist - Create a new playlist - - - - Ctrl+n - Ctrl+n - - - - Create New &Crate - Create New &Crate - - - - Create a new crate - Create a new crate - - - - Ctrl+Shift+N - Ctrl+Shift+N - - - - - &View - &View - - - - May not be supported on all skins. - May not be supported on all skins. - - - - Show Skin Settings Menu - Show Skin Settings Menu - - - - Show the Skin Settings Menu of the currently selected Skin - Show the Skin Settings Menu of the currently selected Skin - - - - Ctrl+1 - Menubar|View|Show Skin Settings - Ctrl+1 - - - - Show Microphone Section - Show Microphone Section - - - - Show the microphone section of the Mixxx interface. - Show the microphone section of the Mixxx interface. - - - - Ctrl+2 - Menubar|View|Show Microphone Section - Ctrl+2 - - - - Show Vinyl Control Section - Show Vinyl Control Section - - - - Show the vinyl control section of the Mixxx interface. - Show the vinyl control section of the Mixxx interface. - - - - Ctrl+3 - Menubar|View|Show Vinyl Control Section - Ctrl+3 - - - - Show Preview Deck - Show Preview Deck - - - - Show the preview deck in the Mixxx interface. - Show the preview deck in the Mixxx interface. - - - - Ctrl+4 - Menubar|View|Show Preview Deck - Ctrl+4 - - - - Show Cover Art - Show Cover Art - - - - Show cover art in the Mixxx interface. - Show cover art in the Mixxx interface. - - - - Ctrl+6 - Menubar|View|Show Cover Art - Ctrl+6 - - - - Maximize Library - Maximize Library - - - - Maximize the track library to take up all the available screen space. - Maximize the track library to take up all the available screen space. - - - - Space - Menubar|View|Maximize Library - Space - - - - &Full Screen - &Full Screen - - - - Display Mixxx using the full screen - Display Mixxx using the full screen - - - - &Options - &Options - - - - &Vinyl Control - &Vinyl Control - - - - Use timecoded vinyls on external turntables to control Mixxx - Use timecoded vinyls on external turntables to control Mixxx - - - - Enable Vinyl Control &%1 - Enable Vinyl Control &%1 - - - - &Record Mix - &Record Mix - - - - Record your mix to a file - Record your mix to a file - - - - Ctrl+R - Ctrl+R - - - - Enable Live &Broadcasting - Enable Live &Broadcasting - - - - Stream your mixes to a shoutcast or icecast server - Stream your mixes to a shoutcast or icecast server - - - - Ctrl+L - Ctrl+L - - - - Enable &Keyboard Shortcuts - Enable &Keyboard Shortcuts - - - - Toggles keyboard shortcuts on or off - Toggles keyboard shortcuts on or off - - - - Ctrl+` - Ctrl+` - - - - &Preferences - &Preferences - - - - Change Mixxx settings (e.g. playback, MIDI, controls) - Change Mixxx settings (e.g. playback, MIDI, controls) - - - - &Developer - &Developer - - - - &Reload Skin - &Reload Skin - - - - Reload the skin - Reload the skin - - - - Ctrl+Shift+R - Ctrl+Shift+R - - - - Developer &Tools - Developer &Tools - - - - Opens the developer tools dialog - Opens the developer tools dialog - - - - Ctrl+Shift+T - Ctrl+Shift+T - - - - Stats: &Experiment Bucket - Stats: &Experiment Bucket - - - - Enables experiment mode. Collects stats in the EXPERIMENT tracking bucket. - Enables experiment mode. Collects stats in the EXPERIMENT tracking bucket. - - - - Ctrl+Shift+E - Ctrl+Shift+E - - - - Stats: &Base Bucket - Stats: &Base Bucket - - - - Enables base mode. Collects stats in the BASE tracking bucket. - Enables base mode. Collects stats in the BASE tracking bucket. - - - - Ctrl+Shift+B - Ctrl+Shift+B - - - - Deb&ugger Enabled - Deb&ugger Enabled - - - - Enables the debugger during skin parsing - Enables the debugger during skin parsing - - - - Ctrl+Shift+D - Ctrl+Shift+D - - - - &Help - &Help - - - - Show Keywheel - menu title - Show Keywheel - - - - Show keywheel - tooltip text - Show keywheel - - - - F12 - Menubar|View|Show Keywheel - F12 - - - - &Community Support - &Community Support - - - - Get help with Mixxx - Get help with Mixxx - - - - &User Manual - &User Manual - - - - Read the Mixxx user manual. - Read the Mixxx user manual. - - - - &Keyboard Shortcuts - &Keyboard Shortcuts - - - - Speed up your workflow with keyboard shortcuts. - Speed up your workflow with keyboard shortcuts. - - - - &Settings directory - - - - - Open the Mixxx user settings directory. - - - - - &Translate This Application - &Translate This Application - - - - Help translate this application into your language. - Help translate this application into your language. - - - - &About - &About - - - - About the application - About the application - - - - WOverview - - - Passthrough - Passthrough - - - - Ready to play, analyzing... - Text on waveform overview when file is playable but no waveform is visible - Ready to play, analyzing... - - - - - Loading track... - Text on waveform overview when file is cached from source - Loading track... - - - - Finalizing... - Text on waveform overview during finalizing of waveform analysis - Finalizing... - - - - WSearchLineEdit - - - Clear input - Clear the search bar input field - Clear input - - - - Ctrl+F - Search|Focus - Ctrl+F - - - - Search - noun - Search - - - - Clear input - Clear input - - - - Search... - Shown in the library search bar when it is empty. - Search... - - - - Clear the search bar input field - Clear the search bar input field - - - - Enter a string to search for - Enter a string to search for - - - - Use operators like bpm:115-128, artist:BooFar, -year:1990 - Use operators like bpm:115-128, artist:BooFar, -year:1990 - - - - For more information see User Manual > Mixxx Library - For more information see User Manual > Mixxx Library - - - - Shortcut - Shortcut - - - - Ctrl+F - Ctrl+F - - - - Focus - Give search bar input focus - Focus - - - - - Ctrl+Backspace - Ctrl+Backspace - - - - Shortcuts - Shortcuts - - - - Return - Retour arrière - - - - Trigger search before search-as-you-type timeout orjump to tracks view afterwards - Trigger search before search-as-you-type timeout orjump to tracks view afterwards - - - - Ctrl+Space - Ctrl+Space - - - - Toggle search history - Shows/hides the search history entries - Toggle search history - - - - Delete or Backspace - Delete or Backspace - - - - Delete query from history - Delete query from history - - - - Esc - Esc - - - - Exit search - Exit search bar and leave focus - Exit search - - - - WSearchRelatedTracksMenu - - - Search related Tracks - Search related Tracks - - - - Key - Clé - - - - harmonic with %1 - harmonic with %1 - - - - BPM - BPM - - - - between %1 and %2 - between %1 and %2 - - - - Artist - Artiste - - - - Album Artist - Artiste de l'album - - - - Composer - Compositeur - - - - Title - Titre - - - - Album - Album - - - - Grouping - Regroupement - - - - Year - Année - - - - Genre - Genre - - - - Directory - Directory - - - - WTrackMenu - - - Load to - Load to - - - - Deck - Deck - - - - Sampler - Sampler - - - - Add to Playlist - Add to Playlist - - - - Crates - Caisses - - - - Metadata - Metadata - - - - Update external collections - Update external collections - - - - Cover Art - Couverture - - - - Adjust BPM - Adjust BPM - - - - Select Color - Select Color - - - - Reset - Reset metadata in right click track context menu in library - Reset - - - - - Analyze - Analyse - - - - - Delete Track Files - Delete Track Files - - - - Add to Auto DJ Queue (bottom) - Ajouter à la file d'attente de l'auto-dj (en dernier) - - - - Add to Auto DJ Queue (top) - Ajouter à la file d'attente de l'auto-dj (en premier) - - - - Add to Auto DJ Queue (replace) - Add to Auto DJ Queue (replace) - - - - Preview Deck - Platine de pré-écoute - - - - Remove - Supprimer - - - - Remove from Playlist - Remove from Playlist - - - - Remove from Crate - Remove from Crate - - - - Hide from Library - Hide from Library - - - - Unhide from Library - Unhide from Library - - - - Purge from Library - Purge from Library - - - - Move Track File(s) to Trash - - - - - Delete Files from Disk - Delete Files from Disk - - - - Properties - Properties - - - - Open in File Browser - Open in File Browser - - - - Select in Library - Select in Library - - - - Import From File Tags - Import From File Tags - - - - Import From MusicBrainz - Import From MusicBrainz - - - - Export To File Tags - Export To File Tags - - - - BPM and Beatgrid - BPM and Beatgrid - - - - Play Count - Play Count - - - - Rating - Note - - - - Cue Point - Cue Point - - - - Hotcues - Points de repère - - - - Intro - Intro - - - - Outro - Outro - - - - Key - Clé - - - - ReplayGain - ReplayGain - - - - Waveform - Waveform - - - - Comment - Commentaire - - - - All - All - - - - Lock BPM - Lock BPM - - - - Unlock BPM - Unlock BPM - - - - Double BPM - Double BPM - - - - Halve BPM - Halve BPM - - - - 2/3 BPM - 2/3 BPM - - - - 3/4 BPM - 3/4 BPM - - - - 4/3 BPM - 4/3 BPM - - - - 3/2 BPM - 3/2 BPM - - - - Reset BPM - Reset BPM - - - - Reanalyze - Reanalyze - - - - Reanalyze (constant BPM) - Réanalyser (BPM constant) - - - - Reanalyze (variable BPM) - Réanalyser (BPM variable) - - - - Update ReplayGain from Deck Gain - Update ReplayGain from Deck Gain - - - - Deck %1 - Deck %1 - - - - Sampler %1 - Sampler %1 - - - - Importing metadata of %n track(s) from file tags - - - - - Marking metadata of %n track(s) to be exported into file tags - - - - - - Create New Playlist - Créer une nouvelle playlist - - - - Enter name for new playlist: - Entrez un nom pour la nouvelle playlist - - - - New Playlist - Nouvelle playlist - - - - - - Playlist Creation Failed - La création de la liste de lecture a échoué - - - - A playlist by that name already exists. - Une playlist utilise déjà ce nom - - - - A playlist cannot have a blank name. - Une liste de lecture ne peut pas être sans nom. - - - - An unknown error occurred while creating playlist: - Une erreur inconnue s'est produite à la création de la liste de lecture : - - - - Add to New Crate - Add to New Crate - - - - Scaling BPM of %n track(s) - - - - - Locking BPM of %n track(s) - - - - - Unlocking BPM of %n track(s) - - - - - Setting color of %n track(s) - - - - - Resetting play count of %n track(s) - - - - - Resetting beats of %n track(s) - - - - - Clearing rating of %n track(s) - - - - - Clearing comment of %n track(s) - - - - - Removing main cue from %n track(s) - - - - - Removing outro cue from %n track(s) - - - - - Removing intro cue from %n track(s) - - - - - Removing loop cues from %n track(s) - - - - - Removing hot cues from %n track(s) - - - - - Resetting keys of %n track(s) - - - - - Resetting replay gain of %n track(s) - - - - - Resetting waveform of %n track(s) - - - - - Resetting all performance metadata of %n track(s) - - - - - Permanently delete these files from disk? - Permanently delete these files from disk? - - - - - This can not be undone! - This can not be undone! - - - - Stop the deck and move this track file to the trash bin? - - - - - Stop the deck and permanently delete this track file from disk? - Stop the deck and permanently delete this track file from disk? - - - - Cancel - Annuler - - - - Delete Files - Delete Files - - - - Okay - - - - - Move Track File(s) to Trash? - - - - - Track Files Deleted - Track Files Deleted - - - - Track Files Moved To Trash - - - - - %1 track files were moved to trash and purged from the Mixxx database. - - - - - %1 track files were deleted from disk and purged from the Mixxx database. - %1 track files were deleted from disk and purged from the Mixxx database. - - - - Track File Deleted - Fichier de la piste supprimée - - - - Track file was deleted from disk and purged from the Mixxx database. - Track file was deleted from disk and purged from the Mixxx database. - - - - The following %1 file(s) could not be deleted from disk - The following %1 file(s) could not be deleted from disk - - - - This track file could not be deleted from disk - This track file could not be deleted from disk - - - - Remaining Track File(s) - Remaining Track File(s) - - - - Close - Fermer - - - - Loops - Boucles - - - - Removing %n track file(s) from disk... - - - - - Note: if you are in the Computer or Recording view you need to click the current view again to see changes. - - - - - Track File Moved To Trash - - - - - Track file was moved to trash and purged from the Mixxx database. - - - - - The following %1 file(s) could not be moved to trash - - - - - This track file could not be moved to trash - - - - - Setting cover art of %n track(s) - - - - - Reloading cover art of %n track(s) - - - - - WTrackTableView - - - Confirm track hide - Confirm track hide - - - - Are you sure you want to hide the selected tracks? - Are you sure you want to hide the selected tracks? - - - - Are you sure you want to remove the selected tracks from AutoDJ queue? - Are you sure you want to remove the selected tracks from AutoDJ queue? - - - - Are you sure you want to remove the selected tracks from this crate? - Are you sure you want to remove the selected tracks from this crate? - - - - Are you sure you want to remove the selected tracks from this playlist? - Are you sure you want to remove the selected tracks from this playlist? - - - - Don't ask again during this session - - - - - Confirm track removal - Confirm track removal - - - - WTrackTableViewHeader - - - Show or hide columns. - Show or hide columns. - - - - WaveformWidgetFactory - - - legacy - - - - - allshader::FilteredWaveformWidget - - - Filtered - Filtered - - - - allshader::HSVWaveformWidget - - - HSV - HSV - - - - allshader::LRRGBWaveformWidget - - - RGB L/R - - - - - allshader::RGBWaveformWidget - - - RGB - RGB - - - - allshader::SimpleWaveformWidget - - - Simple - Simple - - - - mixxx::CoreServices - - - fonts - fonts - - - - database - database - - - - effects - effects - - - - audio interface - audio interface - - - - decks - decks - - - - library - library - - - - Choose music library directory - Choose music library directory - - - - controllers - controllers - - - - Cannot open database - Cannot open database - - - - Unable to establish a database connection. -Mixxx requires QT with SQLite support. Please read the Qt SQL driver documentation for information on how to build it. - -Click OK to exit. - Unable to establish a database connection. -Mixxx requires QT with SQLite support. Please read the Qt SQL driver documentation for information on how to build it. - -Click OK to exit. - - - - mixxx::DlgLibraryExport - - - Entire music library - Entire music library - - - - Selected crates - Selected crates - - - - Browse - Browse - - - - Export directory - Export directory - - - - Database version - Database version - - - - Export - Export - - - - Cancel - Cancel - - - - Export Library to Engine Prime - Export Library to Engine Prime - - - - Export Library To - Export Library To - - - - No Export Directory Chosen - No Export Directory Chosen - - - - No export directory was chosen. Please choose a directory in order to export the music library. - No export directory was chosen. Please choose a directory in order to export the music library. - - - - A database already exists in the chosen directory. Exported tracks will be added into this database. - A database already exists in the chosen directory. Exported tracks will be added into this database. - - - - A database already exists in the chosen directory, but there was a problem loading it. Export is not guaranteed to succeed in this situation. - A database already exists in the chosen directory, but there was a problem loading it. Export is not guaranteed to succeed in this situation. - - - - mixxx::DlgTrackMetadataExport - - - Export Modified Track Metadata - Export Modified Track Metadata - - - - Mixxx may wait to modify files until they are not loaded to any decks or samplers. If you do not see changed metadata in other programs immediately, eject the track from all decks and samplers or shutdown Mixxx. - Mixxx may wait to modify files until they are not loaded to any decks or samplers. If you do not see changed metadata in other programs immediately, eject the track from all decks and samplers or shutdown Mixxx. - - - - mixxx::LibraryExporter - - - Export Completed - Export Completed - - - - Exported %1 track(s) and %2 crate(s). - Exported %1 track(s) and %2 crate(s). - - - - Export Failed - Export Failed - - - - Export failed: %1 - Export failed: %1 - - - - Exporting to Engine Prime... - Exporting to Engine Prime... - - - - mixxx::TaskMonitor - - - Abort - Abort - - - - mixxx::hid::DeviceCategory - - - HID Interface %1: - HID Interface %1: - - - - Generic HID Pointer - Generic HID Pointer - - - - Generic HID Mouse - Generic HID Mouse - - - - Generic HID Joystick - Generic HID Joystick - - - - Generic HID Game Pad - Generic HID Game Pad - - - - Generic HID Keyboard - Generic HID Keyboard - - - - Generic HID Keypad - Generic HID Keypad - - - - Generic HID Multi-axis Controller - Generic HID Multi-axis Controller - - - - Unknown HID Desktop Device: - Unknown HID Desktop Device: - - - - Apple HID Infrared Control - Apple HID Infrared Control - - - - Unknown Apple HID Device: - Unknown Apple HID Device: - - - - Unknown HID Device: - Unknown HID Device: - - - - mixxx::network::WebTask - - - No network access - No network access - - - - The Network request has not been started - La demande de réseau n'a pas été lancée - - - - mixxx::qml::QmlVisibleEffectsModel - - - No effect loaded. - Aucun effet chargé. - - - \ No newline at end of file diff --git a/res/translations/mixxx_fr_CI.qm b/res/translations/mixxx_fr_CI.qm deleted file mode 100644 index bd528815c5d4dceccf529cdbc836f420027d5a73..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 386767 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

    nD% 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